[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20030071815A - 스트리밍된 데이터를 버퍼링하기 위한 방법 및 시스템 - Google Patents

스트리밍된 데이터를 버퍼링하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20030071815A
KR20030071815A KR10-2003-7009374A KR20037009374A KR20030071815A KR 20030071815 A KR20030071815 A KR 20030071815A KR 20037009374 A KR20037009374 A KR 20037009374A KR 20030071815 A KR20030071815 A KR 20030071815A
Authority
KR
South Korea
Prior art keywords
client device
decoder
decoder buffer
source server
data
Prior art date
Application number
KR10-2003-7009374A
Other languages
English (en)
Other versions
KR100629158B1 (ko
Inventor
한누크셀라미스카
아크수엠레바리스
Original Assignee
노키아 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20030071815A publication Critical patent/KR20030071815A/ko
Application granted granted Critical
Publication of KR100629158B1 publication Critical patent/KR100629158B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9005Buffering arrangements using dynamic buffer space allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9023Buffering arrangements for implementing a jitter-buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • H04L65/4038Arrangements for multi-party communication, e.g. for conferences with floor control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Constituent Portions Of Griding Lathes, Driving, Sensing And Control (AREA)
  • Finish Polishing, Edge Sharpening, And Grinding By Specific Grinding Devices (AREA)

Abstract

본 발명은 네트워크와 전송 프로토콜 동작 및 부호화/서버 특정 지연들에서의 변동에 기인하는 패킷들의 전송 지연의 변동에 의해 야기되는 문제들을 극복함으로써 클라이언트 장치상에서 스트리밍된 미디어의 재생을 개선하는 방법을 개시한다. 본 발명의 일 실시예에서, 클라이언트 장치는 복호기(120) 및 패킷 네트워크를 통해 소스 서버로부터 스트리밍된 패킷들을 수신하는 전치-복호기 버퍼(110)를 구비한다. 상기 전치-복호기 버퍼는 크기가 가변적이며 상기 복호기에서의 복호화 이전에 상기 소스 서버로부터 전송된 패킷들을 수신하기 위하여 가변 초기 버퍼링 시간을 갖는다. 상기 초기 버퍼링 시간 및 전치-복호기 버퍼 크기는 상기 소스 서버에 의한 개선된 재생 성능을 위해 동적으로 적응될 수 있다. 본 발명의 추가 태양에 있어서, 후치-복호기 버퍼는 복호화-관련 지연 변동을 감소시키기 위하여 상기 전치-복호기 버퍼와 함께 동작한다.

Description

스트리밍된 데이터를 버퍼링하기 위한 방법 및 시스템{Method and system for buffering streamed data}
대화형 패킷-교환 멀티미디어 시스템들, 예를 들어, IP-기반 비디오 회의 시스템들에 있어서, 상이한 유형의 미디어는 보통 개별 패킷들로 운반된다. 더욱이, 패킷들은 전형적으로 일정한 전송 지연을 보장할 수 없는 베스트-에포트(best-effort) 네트워크 프로콜의 상단에서 수행되지만, 오히려 상기 지연은 패킷마다 변할 수 있다. 따라서, 동일한 표시(재생) 타임-스탬프를 갖는 패킷들은 동시에 수신될 수 없고, 두 패킷들의 수신 간격은 그들의 표시 간격(시간에 관하여)과 동일한 것일 수 없다. 따라서, 상이한 미디어 유형들간의 재생 동기를 유지하기 위하여 그리고 정확한 재생 속도를 유지하기 위하여, 멀티미디어 단말기는 전형적으로 지연 변동을 평탄하게 하도록 짧은 기간(예를 들어, 0.5초 미만)동안 수신된 데이터를 버퍼링한다. 여기에서, 이러한 유형의 버퍼는 지연 지터 버퍼로 지칭된다. 대화형 패킷-교환 멀티미디어 시스템들에서 버퍼링은 미디어 데이터 복호화 이전 및/또는이후에 발생할 수 있다.
또한 지연 지터 버퍼링은 스트리밍 시스템들에 적용된다. 스트리밍이 비-대화형 애플리케이션이라는 사실에 기인하여, 요구되는 상기 지연 지터 버퍼는 대화형 애플리케이션들에서보다 훨씬 더 클 수 있다. 스트리밍 재생기가 서버에 접속을 설정하고 다운로드될 멀티미디어 스트림을 요청한 경우, 상기 서버는 요망되는 스트림을 전송하기 시작한다. 전형적으로 상기 재생기는 상기 스트림을 즉시 재생하는 것을 시작하지는 않고, 오히려 어떤 기간, 전형적으로 몇초동안 들어오는 데이터를 버퍼링한다. 여기에서, 이러한 유형의 버퍼링은 초기 버퍼링으로 지칭된다. 초기 버퍼링은 대화형 애플리케이션들에서 지연 지터 버퍼링에 의해 제공되는 것과 유사한 방식으로 전송 지연 변동을 평탄화하는 능력을 제공한다. 더욱이, 그것은 링크, 전송 및/또는 분실된 프로토콜 데이터 유닛들(PDUs)의 애플리케이션 계층 재전송의 사용을 가능하게 할 수 있다. 버퍼링은 분실된 PDU들이 재전송될 가능성을 허용하면서 상기 재생기가 상기 버퍼로부터의 데이터를 복호화하고 재생하도록 허용한다. 상기 버퍼링 기간이 충분히 긴 경우 재전송된 PDU들은 복호화되도록 제시간에 수신되고 계획된 순간에 재생된다.
스트리밍 클라이언트들에서의 초기 버퍼링은 대화형 시스템들에서 달성될 수 없는 추가 이점을 제공한다: 그것은 상기 서버로부터 전송된 미디어의 데이터 전송 속도가 변하도록 허용한다. 즉, 미디어 패킷들은 수신기 버퍼가 오버플로되거나 언더플로되지 않는 한, 임시로 그들의 재생 속도보다 더 빠르게 또는 더 느리게 전송될 수 있다. 상기 데이터 전송 속도에서의 변동은 2개의 소스들에서 비롯될 수 있다. 제1 변동 소스는 비디오와 같은 어떤 미디어 유형들에서 달성될 수 있는 압축 효율이 상기 소스 데이터의 내용에 의존한다는 사실에 기인한다. 따라서, 안정된 품질이 요망되는 경우, 결과로서 생성되는 압축된 비트-스트림의 비트 속도는 변한다. 전형적으로, 안정된 오디오-비주얼 품질은 변하는 품질보다 주관적으로 더 만족스럽다. 따라서, 초기 버퍼링은 비디오 회의 시스템과 같은, 초기 버퍼링이 없는 시스템과 비교하여 더 만족스러운 오디오-비주얼 품질이 달성될 수 있도록 한다.
비디오 데이터의 예를 더 상세히 고려하면, 비디오 시퀀스의 상이한 프레임들은 매우 상이한 양의 데이터로 표현될 수 있다. 이것은 예측 부호화 기술들의 사용에 기인한다. 전형적으로, 비디오 부호화 표준들은 적어도 두가지 유형의 프레임을 정의한다. 근본 프레임 유형들은 인트라(INTRA) 또는 I-프레임들 및 인터(INTER) 또는 P-프레임들이다. 인트라 프레임은 이미지 자체내에 포함된 정보에 기초하여 부호화되고, 반면에 P-프레임은 적어도 하나의 다른 프레임, 보통 비디오 시퀀스내의 초기에 발생하는 프레임을 참조하여 부호화된다. 디지털 비디오 시퀀스의 연속적인 프레임들간의 상당한 시간 중복성에 기인하여, 인트라 프레임을 표현하는데 필요한 것보다 훨씬 더 적은양의 데이터를 가지고 인터 프레임을 부호화하는 것이 가능하다. 따라서, 인트라 프레임들은 부호화된 비디오 시퀀스에서 비교적 덜 자주 사용된다.
전형적으로, 부호화된 시퀀스는 인트라 프레임에서 시작한다(인터 프레임의 구성에 참조로서 사용되도록 이용가능한 아무런 이전 프레임도 존재하지 않기 때문에). 인트라 프레임들은 일련의 예측된(인터) 프레임들을 통해 누적 및 전파될 수있는 에러들을 보상하기 위하여, 주기적으로 예를 들어, 규칙적인 간격으로 상기 시퀀스에 삽입될 수 있다. 인트라 프레임들은 또한 연속적인 프레임들의 이미지 내용이 너무 많이 변하여 예측 부호화가 효과적인 데이터 감축을 제공하지 않는 장면 컷들에서 일반적으로 사용된다. 따라서, 전형적인 부호화된 비디오 스트림은 일반적으로 인트라 부호화된 프레임에서 시작하고 우발적인 인트라 프레임들이 산재된 일련의 인터 프레임들을 포함하며, 인트라 프레임을 표현하는데 필요한 데이터의 양은 인터 부호화된 프레임을 표현하는데 필요한 것보다 몇배(예를 들어 5-10배) 더 크다. 각 인터 프레임을 표현하는데 필요한 데이터의 양은 또한 그것의 참조 프레임과의 유사성/차이의 레벨 및 상기 이미지내의 상세한 부분의 양에 따라 변한다.
이것은 예측 부호화된 비디오 시퀀스를 구성하는데 필요한 정보가 전송된 데이터 패킷들 사이에 동일하게 분포되지 않는다는 것을 의미한다. 즉, 인터 프레임에 대한 데이터를 운반하는데 필요한 것보다 인트라 프레임과 관련된 데이터를 운반하는데 더 많은 수의 데이터 패킷들이 필요하다. 더욱이, 연속적인 인터 프레임들을 표현하는데 필요한 데이터의 양은 이미지 내용에 따라 변하기 때문에, 인터 프레임을 운반하는데 필요한 데이터 패킷들의 수는 또한 변한다.
제2 변동 소스는 고정 IP 네트워크에서의 패킷 손실이 버스트에서 발생할 때 발생한다. 버스티한 에러들 및 높은 피크 비트 속도 및 패킷 속도를 회피하기 위하여, 잘 설계된 스트리밍 서버들은 패킷들의 전송을 주의깊게 계획하고 패킷들은 그들이 수신단에서 재생되는 속도로 정밀하게 송신될 수 없다. 전형적으로, 네트워크서버들은 그들이 일정한 패킷 전송 속도를 달성하는 것을 시도하는 방식으로 구현된다. 서버는 또한 우세한 네트워크 상태에 따라 패킷 전송 속도를 조정할 수 있는데, 이것은 상기 네트워크가 정체될 때 패킷 전송 속도를 감소시키고 예를 들어 네트워크 상태가 허용되는 경우 상기 패킷 전송 속도를 증가시킨다. 이것은 전형적으로 전송 제어 프로토콜(TCP: Transmission Control Protocol)에서 송신된 확인 응답 메시지의 통지된 윈도를 조정함으로써 발생한다.
네트워크 서버들의 이 내장된 특성을 고려하고 이전에 설명된 비디오 부호화 시스템과 관련하여, 전송된 데이터 패킷들간에 동등하지 않게 분포된 예측 부호화된 비디오 시퀀스를 재구성하는데 필요한 정보 뿐만 아니라, 상기 데이터 패킷들 자체는 또한 변하는 속도로 상기 서버로부터 전송될 수 있다. 이것은, 상기 네트워크를 통한 전송 지연이 일정할지라도 비디오 시퀀스에서 연속적인 프레임들을 구성하는 것이 필요한 정보를 수신하는데 있어서 가변 지연을 예를 들어 수신하는 클라이언트 단말기내의 복호기가 경험한다는 것을 의미한다. 상기 클라이언트 단말기라는 용어는 데스크톱 컴퓨터와 랩톱 컴퓨터들 및 셋톱 박스들 뿐만 아니라, 핸드헬드 장치들(PDA들)과 무선 단말기들과 같은 어떤 최종-사용자 전자 장치를 지칭한다는 것을 주목해야 한다. 서버로부터의 부호화, 패킷화 및 패킷 전송에 기인하여 발생하는 상기 지연의 변동은 "부호화" 또는 "서버-특정" 변동 지연이라고 지칭될 수 있다. 그것은 상기 네트워크내의 전송 시간의 변동에 기인하여 발생하는 지연 지터와 관계없거나, 상기 지연 지터에 부가적이다.
따라서, 초기 버퍼링은 상기한 단점들, 즉 부호화 또는 서버-특정 지연 변동및 네트워크 전송 관련 지연 변동으로부터 전송된 데이터 전송 속도에서의 변동의 조정을 가능하게 한다. 초기 버퍼링은 더 안정적인 오디오-비주얼 품질을 제공하는데 도움을 주고 네트워크 정체 및 패킷 손실을 회피하는데 도움을 준다.
초기 버퍼링은 또한 수신된 미디어 데이터의 복호화 이후에 수행될 수 있다. 이것은 상기 버퍼링이 복호화된 데이터에 대해 수행되기 때문에, 상기 버퍼의 크기가 비교적 커야 한다는 단점을 갖는다. 부호화, 서버-특정 및 네트워크 전송 지연 변동들의 결합된 영향은 또한 상기 초기 버퍼링 요건을 증가시키는 경향이 있다.
더욱이, 상기 미디어 데이터의 부호화 및 부호화된 데이터가 패킷들로 캡슐화되고 서버로부터 전송되는 방법은, 상기 네트워크를 통한 전송 지연이 일정할지라도, 상기 미디어 데이터를 재구성하는데 요구되는 정보를 수신하는데 있어서 수신하는 클라이언트 단말기 장치내의 복호기가 가변 지연을 경험하도록 야기한다. 따라서, 후치-복호기 버퍼(post-decoder buffer)는 복호화 이전에 이러한 형태의 지연 변동을 흡수하는 수단을 제공한다.
본 발명은 일반적으로 패킷-기반 네트워크상에서 미디어의 스트리밍에 관한 것이다. 특히, 본 발명은 부호화 및 패킷화에 기인하는 패킷 지연 변동으로부터 스트리밍된 미디어의 재생을 개선하기 위한 버퍼링 메커니즘에 관한 것이다.
도 1은 본 발명의 일 실시예에 따라, 장치 단말기 구조내의 전치-복호기 버퍼 블록의 단순화된 블록도를 도시한 것이다.
도 2는 전치-복호기 버퍼링의 효과를 설명하는 전형적인 스트리밍 시스템에서의 데이터 흐름의 예를 도시한 것이다.
본 발명의 일 태양에 의하면, 네트워크를 통해 소스 서버로부터 클라이언트 장치로 복수의 데이터 패킷들을 전송함으로써 미디어 데이터를 스트리밍하는 방법이 제공되는데, 상기 클라이언트 장치는 부호화된 패킷들을 복호화하기 위한 복호기를 포함한다. 상기 방법은, 상기 클라이언트 장치가 상기 복호기에서의 복호화 이전에 상기 소스 서버로부터 전송된 데이터를 수신하기 위하여 설정되는 가변 초기 버퍼링 시간 및 가변 버퍼 크기를 갖는 전치-복호기 버퍼를 더 포함하고, 상기전치-복호기 버퍼의 상기 가변 초기 버퍼링 시간과 상기 가변 버퍼 크기는 상기 클라이언트 장치에 의한 개선된 재생 성능을 위하여 동적으로 적응되는 것을 특징으로 한다.
본 발명의 제2 태양에 의하면, 복수의 데이터 패킷들을 전송함으로써 미디어 데이터를 스트리밍하기 위한 시스템이 제공되는데, 상기 시스템은 상기 미디어 데이터를 호스팅하는 소스 서버, 상기 데이터 패킷들에 대한 전송 매체로서 서빙하는 네트워크 및 상기 미디어 데이터를 재생할 수 있는 클라이언트 장치를 포함하며, 상기 클라이언트 장치는 상기 네트워크를 통해 상기 소스 서버로부터 상기 전송된 패킷들을 수신하기 위한 전치-복호기 버퍼로서 가변 초기 버퍼링 시간 및 가변 버퍼 크기를 갖는 전치-복호기 버퍼와, 상기 전치-복호기 버퍼로부터의 데이터 패킷들을 복호화하기 위한 복호기 및 상기 클라이언트 장치에 의한 개선된 재생 성능을 위하여 상기 전치-복호기 버퍼의 상기 가변 초기 버퍼링 시간과 상기 가변 버퍼 크기를 동적으로 적응시키기 위한 수단을 포함한다.
본 발명의 제3 태양에 의하면, 소스 서버로부터 네트워크를 통해 전송된 복수의 데이터 패킷들을 수신하기 위한 클라이언트 장치가 제공되는데, 상기 클라이언트 장치는 상기 네트워크를 통해 상기 소스 서버로부터 상기 전송된 데이터 패킷들을 수신하기 위한 전치-복호기 버퍼로서, 가변 초기 버퍼링 시간 및 가변 버퍼 크기를 갖는 전치-복호기 버퍼와, 상기 전치-복호기 버퍼로부터의 데이터 패킷들을 복호화하기 위한 복호기 및 상기 클라이언트 장치에 의한 개선된 재생 성능을 위하여 상기 전치-복호기 버퍼의 상기 가변 초기 버퍼링 시간과 상기 가변 버퍼 크기를동적으로 적응시키기 위한 수단을 포함한다.
본 발명의 추가 목적들 및 이점들과 함께 본 발명은 첨부된 도면들과 함께 다음 설명을 참조함으로써 최선으로 이해될 수 있다.
구조 개요
본 발명에 의하면, 개선된 수신기-측 버퍼링을 제공하기 위하여 단말기 구조에 새로운 버퍼링 블록이 제공된다. 상기 버퍼링 블록은 여기에서 전치-복호기 버퍼로서 지칭된다.
도 1은 본 발명의 실시예에 따라, 장치 단말기 구조내의 전치-복호기 버퍼 블록의 단순화된 블록도를 도시한 것이다. "전송 복호기"(100)는 수신된 데이터 패킷들(예를 들어 RTP 데이터 패킷들)로부터 코드-스트림을 디캡슐레이트(decapsulate)한다. "소스 복호기"(120)는 상기 코드-스트림을 재생될 수 있는 압축되지 않은 데이터 포맷으로 복호화한다. "전치-복호기 버퍼"(110)는 전송 복호화 및 소스 복호화간의 임시 저장소로서 동작한다. 하나보다 많은 유형의 데이터를 포함하는 멀티미디어 데이터 스트림의 경우, 공통 전치-복호기 버퍼는 유리하게는 전송되는 모든 실시간 미디어 유형들간에 공유된다. 하지만, 본 발명의 대안적인 실시예에서, 개별 전치-복호기 버퍼가 각 미디어 유형에 대해 제공되고, 각 미디어 유형에 대한 상기 전치-복호기 버퍼는 전송 복호기 및 당해 미디어 유형에 대한 각 소스 복호기 사이에 위치한다. 바람직하기로는 상기 복호화 동작들은 상기 클라이언트 장치의 메모리에 저장되고, 상기 클라이언트 장치의 동작을 제어하는 마스터 제어 유닛(MCU: Master Control Unit)의 제어에 의해 그리고 상기 마스터 제어 유닛의 제어하에서 실행되는, 소프트웨어로서 구현되는데, 도 1은 상기 마스터 제어 유닛의 부분을 도시한다. 상기 MCU은 소스 서버로부터 제어 신호들을 수신하고 상기 소스 서버로부터 수신된 신호들에 따라 초기 버퍼링 시간과 버퍼 크기의 적응을 제어한다. 상기 MCU에 의한 다른 블록들의 제어는 상기 MCU으로부터 각 블록으로의 제어 화살표들로 도 1에 도시된다.
본 발명의 바람직한 실시예에서, 상기 전치-복호기 버퍼는 스트리밍 클라이언트내의 복호기 다음에 위치한 후치-복호기 버퍼(post-decoder buffer)에 부가하여 제공된다. 유리하게는, 상기 후치-복호기 버퍼는 네트워크 전송 지연 변동을 흡수하기 위하여 제공된다. 부가적으로, 상기 후치-복호기 버퍼는 또한 복호화-관련 지연 변동을 흡수할 수 있다. 이것은 하나보다 많은 유형의 미디어 데이터가 동시에 스트리밍되는 경우 특히 유리하다. 이 경우 후치-복호기 버퍼의 사용은 다른 미디어 복호기들에 의해 야기된 복호화 지연 변동들이 평탄화될 수 있도록 한다. 본 발명의 대안적인 실시예에 있어서, 개별 복호기 버퍼가 또한 상기 수신하는 클라이언트에 제공된다. 상기 복호기 버퍼는 상기 복호기와 상기 후치-복호기 버퍼 사이에 위치하고 미디어 데이터가 복호화될 때 상기 미디어 데이터에 대한 임시 저장소로서 제공된다. 유리하게는, 하나보다 많은 유형의 미디어 데이터가 동시에 스트리밍되는 경우, 각 미디어 유형에 대한 각 소스 복호기에 대해 개별 복호기 버퍼가 제공된다.
버퍼링 알고리즘
스트리밍 클라이언트에서 수신된 데이터를 버퍼링하고 네트워크-기반 스트리밍 서버로부터 스트림들의 복호화 및 서빙을 제어하기 위하여 실시예에 따라 동작하는 버퍼링 알고리즘이 제공된다. 상기 알고리즘은 본 발명에 의한 전치-복호기 버퍼가 상기 스트리밍 클라이언트에 제공된다고 가정한다.
상기 버퍼링 알고리즘의 동작에 영향을 미치는 두개의 주된 요인들, 즉 상기 초기 버퍼링 시간 및 최소 전치-복호기 버퍼 크기가 존재한다. 상기 초기 버퍼링 시간은 전형적으로 첫번째 미디어 데이터 패킷이 수신되는 시간과 첫번째 미디어 샘플이 재생되는 시간 사이에 경과되는 시간을 지칭한다. 상기 최소 전치-복호기 버퍼 크기는 전형적으로 상기 스트리밍 클라이언트가 상기 전송 지연 변동에 대처하기 위하여 발생하는 상기 버퍼링에 부가하여 저장할 수 있는 데이터의 양(예를 들어 데이터의 바이트 수)에 대응한다. 즉, 최소 전치-복호기 버퍼 크기는 제로-지연의 신뢰성있는 전송 네트워크에 대해 정의된다.
상기 버퍼링 알고리즘은 H.263 부록 B(가상 참조 복호기) 및 MPEG-4 비주얼 부록 D(비디오 버퍼링 검증기)에 설명된 알고리즘들과 유사하다. 이들 알고리즘들은 비디오 코덱들의 버퍼링 동작을 정의한다. 상기 알고리즘들은 비디오에만 적용될 수 있기 때문에, 상기 알고리즘들이 제안된 전치-복호기 버퍼링 알고리즘들을 대체하는데 사용될 수 없다는 것은 주목되어야 한다. 더욱이, 상기 H.263 가상 참조 복호기는 다수의 (B가 아닌) 프레임들을 상기 버퍼에 초기 버퍼링하거나 저장하는 것을 지원하지 않는다. 또한 상기 제안된 전치-복호기 버퍼링 알고리즘이 이전에 언급된 비디오 버퍼링 알고리즘들과 완전히 호환된다는 것은 주목되어야 한다. 실제 구현에 있어서, 상기 전치-복호기 버퍼 및 상기 비디오 복호기 버퍼는 결합될 수 있다.
본 발명의 바람직한 실시예에 의하면, 상기 버퍼링 알고리즘은 전송된 데이터 패킷 스트림이 다음과 같이 정의되는 상기 전치-복호기 버퍼의 요건들을 따를 것을 강요한다:
1. 상기 전치-복호기 버퍼는 초기에 비어있다.
2. 각 수신된 데이터 패킷은 실질적으로 그것이 수신되는 즉시 상기 전치-복호기 버퍼에 추가된다. 전송 프로토콜 레벨(예를 들어 RTP 계층) 또는 어떤 하위 계층에서의 모든 프로토콜 헤더들은 제거된다.
3. 상기 첫번째 데이터 패킷이 상기 버퍼에 추가될 때 시작되는 초기 버퍼링 시간이라고 불리우는 기간동안 데이터는 상기 전치-복호기 버퍼로부터 제거된다.
4. 상기 초기 버퍼링 시간이 만료되는 경우, 재생 타이머가 시작된다.
5. 데이터 덩어리(chunk)는 실질적으로 상기 재생 타이머가 당해 데이터 덩어리에 대한 계획된 재생 시간에 도달하는 즉시 상기 전치-복호기 버퍼에서 제거된다.
6. 상기 데이터가 제로-지연의 신뢰성있는 전송 네트워크를 통해 운반되는 경우, 상기 전치-복호기 버퍼의 점유 레벨은 상기 전치-복호기 버퍼 크기라 불리우는 어떤 레벨을 초과하도록 허용되지 않는다.
상기한 요건들이 중간 휴지 요청없는 동작을 설명한다는 것은 주목되어야 한다. 각 신규 재생 요청(예를 들어, 휴지 이후)은 동일한 요건들을 따를 것이다.
더욱이, 상기 요건들은 제로-지연의 신뢰성있는 전송 네트워크를 갖는다는 가정에 기초한다. 따라서, 실제 구현에 있어서, 클라이언트-측 전치-복호기 버퍼링은 네트워크 지연 지터 버퍼링과 결합될 것 같다. 따라서, 스트리밍 클라이언트에서의 실제 전치-복호기 버퍼 크기는 상기에 논의된 최소 전치-복호기 버퍼 크기보다 더 클 것 같고, 상기 실제 초기 버퍼링 시간은 또한 상기에 논의된 초기 버퍼링 시간보다 더 길 것 같다.
전치-복호기 버퍼링
도 2는 전치-복호기 버퍼링의 효과를 설명하는 전형적인 스트리밍 시스템에서의 데이터 흐름의 예를 도시한 것이다. 막대들은 미디어 프레임들 또는 패킷들을 나타내는데, 예를 들어 짙은 막대들은 (예를 들어 ITU-T 권고 H.263에 따라 부호화된) 비디오 데이터 패킷들이고 밝은 막대들은 (예를 들어 적응 다중-속도(AMR) 음성 코덱을 사용하여 부호화된) 오디오 데이터 패킷들이다. 상기 막대들의 높이는 바이트로 나타낸 프레임(또는 패킷)의 크기를 나타낸다. 상기 처리 흐름은 상단에서 하단으로 진행되고, 시간은 좌측에서 우측으로 지나간다.
이제 도 2를 더 상세히 참조하면, 우선 입력 데이터가 부호화된다. 그 결과,비디오 스트림은 가변 프레임률 및 프레임 크기를 갖고, 오디오 스트림은 일정한 프레임률 및 가변 프레임 크기를 갖는다. 다음 압축된 미디어 스트림들은 패킷들로 캡슐화되고 상기 네트워크로 전송된다. 캡슐화동안, 상기 서버는 큰 비디오 프레임들을 다수의 패킷들로 분할하고, 다수의 작은 오디오 프레임들을 한 패킷에 결합한다. 상기 서버는 규칙적인 간격으로 패킷들을 전송한다. 상기 패킷 크기 또는 어떤 다른 요인들에 상관없이, 일정한 네트워크 전송 지연이 가정된다. 따라서, 수신된 패킷들의 관련 타이밍은 그들이 송신되었을 때와 동일하다. 상기 수신된 패킷들은 전치-복호기 버퍼에 저장된다. 어떤 초기 버퍼링 시간 이후에, 프레임들은 버퍼로부터 회복되고, 상기 프레임 제거 속도는 프레임 재생 속도와 동일하다. 최대 버퍼 점유 레벨은 최소 전치-복호기 버퍼 크기를 결정한다.
전치-복호기 버퍼 특성들의 시그널링
스트리밍 클라이언트들에서 어떤 최소 버퍼링 능력을 보장하기 위하여, 어떤 디폴트 버퍼 특성들이 정의된다. 일찍이 설명된 바와 같이, 상기 버퍼 특성들은 주로 두가지 요인들, 즉 초기 버퍼링 시간 및 최소 전치-복호기 버퍼 크기에 의해 정의될 수 있다. 상기 초기 버퍼링 시간에 대한 디폴트 값의 예는 대략 1초이고 상기 디폴트 최소 전치-복호기 버퍼 크기는 약 30720 바이트이다. 이들 값들은 단지 예시적인 것이고 그들이 그 때 네트워크에서 경험된 특정 유형의 지연들에 대해 적합한 성능을 달성하도록 변경될 수 있다는 것은 주목되어야 한다. 제안된 디폴트 값들은 결코 특정적인 것이 아니라 가장 일반적으로 발생하는 패킷 전송 시나리오를 고려하는 일반화된 환경에서의 실제 실험들에 기초한다. 또한, 주어진 스트리밍 시스템에서 상기 디폴트 전치-복호기 초기 버퍼링 시간 및 상기 디폴트 전치-복호기 버퍼 크기가 암시적으로 정의될 수 있다는 것은 주목되어야 한다. 즉, 상기 네트워크내의 상기 소스 서버 및 스트리밍 클라이언트들은 어떤 디폴트 전치-복호기 버퍼 매개 변수들(예를 들어 전치-복호기 초기 버퍼링 시간 및/또는 전치-복호기 버퍼 크기)이 가정되는 방식으로 동작한다. 대안적인 실시예들에서, 상기 전치-복호기 버퍼 매개 변수들의 명시적인 시그널링이 사용된다.
스트리밍 클라이언트가 소스 서버로 그것의 디폴트 전치-복호기 버퍼링 능력을 신호하도록 허용하기 위하여 그리고 상기 스트리밍 클라이언트가 상기 디폴트 능력보다 더 요구가 지나친 버퍼링 능력을 요구하는 미디어 스트림들을 수신할 수 있도록 하기 위하여, 실시간 스트리밍 프로토콜(RTSP: Real Time Streaming Protocol)의 설정_매개 변수(SET_PARAMETER) 방법에 기초한 시그널링이 본 발명에서 사용된다.
예로서, 상기 클라이언트 단말기 장치는 상기 서버에게 다음 매개 변수들 중 하나 또는 양자를 설정할 것을 요청할 수 있다:
1. initialBufferingTimeInMSec(밀리초로 나타낸 초기 버퍼링 시간)
2. preDecoderBufferSizeBytes(바이트로 나타낸 최소 전치-복호기 버퍼 크기)
상기 클라이언트 단말기 장치는 상기 스트리밍 시스템에서 정의되거나 암시적으로 가정된 상기 디폴트 값들보다 더 작은 매개 변수 값들을 신호하도록 허용되지 않는다. 상기 디폴트 값들 중 하나보다 더 작은 값을 나타내는 요청을 수신하는서버는 "불량 요청"을 신호할 수 있다. 상기 전송된 값들이 상기 정의되거나 암시적인 디폴트 값들 이상인 경우, 신호된 값들은 실질적으로 상기 요청이 수신되는 즉시 사용하려고 취해지고 상기 소스 서버는 이전에 설명된 버퍼링 알고리즘에 따라 신호된 값들을 사용하여 상기 전송된 패킷 스트림을 검증한다. 즉, 하기에 더 상세히 설명되는 바와 같이, 상기 서버는 수신하는 클라이언트에서 실질적으로 정확한 방법으로 재생될 수 있는 방식으로 상기 패킷 스트림을 전송한다. 특히, 상기 소스 서버는 상기 수신하는 클라이언트내의 상기 전치-복호기 버퍼의 오버플로가 발생하지 않는다는 것과 상기 미디어 데이터의 모든 데이터 덩어리들(예를 들어 프레임들)이 그들의 계획된 재생 시간에 상기 수신하는 클라이언트에서 재생에 이용가능하다는 것을 보장하도록 상기 패킷 스트림을 전송한다.
본 발명의 유리한 실시예에 의하면, 클라이언트 단말기 장치가 우선 네트워크 서버와 통신을 설정하고 스트리밍될 어떤 미디어 내용을 요청함으로써 상기 서버와 스트리밍 세션을 설정하기 시작하는 경우, 상기 클라이언트 단말기 장치는 상기 서버에 그것의 디폴트 전치-복호기 버퍼링 매개 변수들을 신호한다. 상기에 설명된 바와 같이, 본 발명에 의하면, 상기 클라이언트 단말기 장치는 그것의 디폴트 전치-복호기 버퍼링 시간 또는 그것의 최소 전치-복호기 버퍼 크기 또는 상기한 매개 변수들 양자를 나타낼 수 있다. 상기 클라이언트 단말기 장치에 또한 후치-복호기 버퍼가 제공되는, 대안적인 실시예에 있어서, 상기 후치-복호기 버퍼 크기는 상기 소스 서버에 표시될 수 있다. 상기 전치-복호기 버퍼 매개 변수들이 상기 스트리밍 시스템에서 암시적으로 정의되는 본 발명의 실시예들에 있어서, 상기 클라이언트 장치에 의한 전치-복호기 버퍼 매개 변수들의 초기 시그널링은 엄밀히 불필요하다. 하지만, 특정 클라이언트 장치가 상기 스트리밍 시스템에서 가정된 상기 암시적으로 정의된 디폴트 값들보다 뛰어난 전치-복호기 버퍼링 능력을 갖는 경우, 상기 클라이언트 장치는 그들을 상기 서버에 신호할 수 있다. 다른 대안적인 구성에 있어서, 상기 소스 서버는 상기 스트리밍 서버와 관련하여 자격 서버로부터 주어진 클라이언트 장치에 대한 전치-복호기 버퍼 매개 변수들을 검색한다.
그다음 상기 서버는 그것이 제공할 수 있는 미디어 스트림들의 특성들을 상기 클라이언트 단말기 장치에 나타낸다. 당업자에게 잘 알려진 바와 같이, 많은 실제 스트리밍 시스템들에 있어서, 스트리밍 서버에는 동일한 미디어 내용을 나타내는 복수의 사전-부호화된 미디어 스트림들이 제공된다. 상기 사전-부호화된 스트림들 각각은 상이한 부호화 매개 변수들을 가지고 부호화된다. 이러한 구성은 상기 미디어 내용이 상이한 특성들 및/또는 능력을 갖는 복수의 상이한 클라이언트 단말기 장치들로 그리고/또는 상이한 특성들(예를 들어 최대 이용가능한 전송 비트-속도)을 갖는 네트워크들을 통해 스트리밍될 수 있도록 한다.
본 발명의 유리한 실시예에 의하면, 일단 상기 서버가 상기 클라이언트 단말기의 디폴트 전치-복호기 초기 버퍼링 시간 및/또는 그것의 최소 전치-복호기 버퍼 크기의 표시를 수신하면, 상기 서버는 네트워크를 통한 시그널링에 의해, 상기 클라이언트 단말기에 상기 서버가 제공할 수 있는 상이한 사전-부호화된 미디어 스트림들에 대해 통지한다. 예를 들어, 상기 서버가 요청된 미디어 내용과 관련한 4개의 상이하게 부호화된 미디어 스트림들을 가지고 상기 클라이언트가 그것의 디폴트전치-복호기 초기 버퍼링 시간 및 그것의 디폴트 전치-복호기 버퍼 크기 양자를 나타낸 경우, 상기 서버는 4개의 상이한 미디어 스트림들의 정확한 (예를 들어 휴지없는) 재생을 보장하는데 요구되는 전치-복호기 초기 버퍼링 시간과 전치-복호기 버퍼 크기를 신호한다. 그다음 상기 클라이언트 단말기는 재생을 위해 상기 4개의 사전-부호화된 미디어 스트림들 중 하나를 선택하고 상기 선택된 미디어 스트림의 대응하는 요건들에 따라 그것의 전치-복호기 초기 버퍼링 시간과 전치-복호기 버퍼 크기를 조정한다. 상기 클라이언트 단말기내의 조정은 바람직하기로는 상기 클라이언트 단말기의 MCU에 의해 제어된다. 상기 서버가 상기 다양한 부호화된 미디어 스트림들에 의해 요구되는 상기 요구되는 전치-복호기 초기 버퍼링 시간 또는 상기 요구되는 전치-복호기 버퍼 크기만을 나타내는 경우, 상기 클라이언트 단말기는 그것에 기초하여 상기 미디어 스트림을 선택하고 그에 따라 그것의 전치-복호기 초기 버퍼링 시간 또는 전치-복호기 버퍼 크기를 조정한다. 이 경우, 표시되지 않은 어떤 매개 변수도 디폴트 값이 할당된다.
그다음 상기 클라이언트 단말기는 상기 미디어 내용의 스트리밍 다운로드가 시작될 수 있도록 상기 서버에 그것의 미디어 스트림의 선택을 신호한다. 또한 이 단계는 상기 서버에 암시적으로 이제 상기 클라이언트 단말기에서 유효한 상기 전치-복호기 초기 버퍼링 시간 및/또는 전치-복호기 버퍼 크기를 통지하고 상기 서버가 이전에 설명된 버퍼링 알고리즘에 따라 전송된 미디어 스트림을 정확하게 검증할 수 있게 하여서, 상기 전치-복호기 버퍼의 오버플로는 발생하지 않고 상기 미디어 데이터의 모든 데이터 덩어리들은 그들의 계획된 재생 시간에 상기 수신하는 클라이언트에서의 재생에 이용가능하다.
상기 클라이언트 단말기가 그것의 전치-복호기 초기 버퍼링 시간 및/또는 전치-복호기 버퍼 크기를 조정할 수 있도록 함으로써, 본 발명에 의한 방법은 미디어 스트림들이 상기 디폴트 전치-복호기 버퍼 매개 변수들을 사용한 정확한 재생을 할 수 없는 방식으로 부호화된 미디어 스트림들을 상기 단말기가 수신하고 정확하게 재생할 수 있도록 한다.
본 발명의 바람직한 실시예에 의하면, 상기 클라이언트에서의 상기 전치-복호기 초기 버퍼링 시간 및/또는 전치-복호기 버퍼 크기는 신규 미디어 스트림의 스트리밍이 개시될때마다 이전에 설명된 프로세스에 따라 적응된다. 상기 프로세스동안 상기 신규 미디어 스트림이 현재 유효한 전치-복호기 버퍼링 매개 변수들을 사용하여 상기 클라이언트에서 정확하게 재생될 수 있다고 결정되는 경우, 아무런 조정도 필요하지 않다. 부가적으로, 상기 클라이언트는 상기 서버가 기존의 스트리밍 세션동안 요구되는 전치-복호기 버퍼 매개 변수들에서의 변경을 신호하는 상황에서 상기 클라이언트의 전치-복호기 초기 버퍼링 시간 및/또는 전치-복호기 버퍼 크기를 조정할 수 있다. 이러한 상황은 예를 들어 스트리밍될 미디어 내용의 상이한 연속적인 부분들이 상이하게 부호화된 경우 발생할 수 있는데, 이것은 상기 스트림의 정확한 재생을 보장하기 위하여 상기 클라이언트에서 상이한 전치-복호기 버퍼링에 대한 필요를 발생시킨다.
요약하자면, 본 발명은 전치-복호기 버퍼를 스트리밍 클라이언트의 일부분으로서 고려한다. 상기 스트리밍 클라이언트는, 전송된 데이터 스트림이 정의된 버퍼링 알고리즘을 따른다는 것을 스트리밍 서버가 검증하는 버퍼링 알고리즘을 따름으로써 동작한다. 부가적으로, 본 발명은 스트리밍 서버에 스트리밍 클라이언트의 버퍼 능력을 정의하고 신호하기 위한 메커니즘들을 제안한다. 이러한 방법으로 스트리밍 서버는 주어진 스트리밍 클라이언트의 버퍼링 능력에 대한 정보를 획득할 수 있고, 부호화된 데이터/미디어 전송 속도는 수신기-측 전치-복호기 버퍼의 한계내에서 변하도록 허용될 수 있다. 서버내의 버퍼링 검증기가, 전송된 패킷 스트림이 상기 수신기 버퍼링 능력에 따른다는 것을 보장하는데 사용될 수 있다. 이것은 예를 들어, 상기 클라이언트의 전치-복호기 버퍼의 버퍼링 능력이 초과되지 않도록 상기 서버로부터 패킷들의 전송 시간들을 조정함으로써 행해질 수 있다. 대안적으로, 상기 서버는 미디어 데이터가 부호화되고 패킷화되는 방식을 조정할 수 있다. 실제로, 상기 버퍼링 검증기는 전송 부호기 다음의 상기 서버내에서 동작하는 버퍼일 수 있다.
본 발명이 어느 점에서 본 발명의 특정 실시예를 참조하여 설명되었을지라도, 변형들 및 변경들은 당업자에게 자명할 것이다. 그러므로, 다음 청구항들은 제한적인 해석으로 주어지지 않고 개시된 창의적인 주제로부터 유도되는 변형들 및 변경들을 포함하는 것으로 간주되어야 한다.

Claims (23)

  1. 네트워크를 통해 소스 서버로부터 클라이언트 장치로 복수의 데이터 패킷들을 전송함으로써 미디어 데이터를 스트리밍하는 방법으로서, 상기 클라이언트 장치는 부호화된 패킷들을 복호화하기 위한 복호기를 포함하는 미디어 데이터 스트리밍 방법에 있어서,
    상기 클라이언트 장치는 가변 초기 버퍼링 시간 및 가변 버퍼 크기를 갖는 전치-복호기 버퍼를 더 포함하고, 상기 전치-복호기 버퍼는 상기 복호기에서의 복호화 이전에 상기 소스 서버로부터 전송된 데이터 패킷들을 수신하며, 상기 전치-복호기 버퍼의 상기 가변 초기 버퍼링 시간과 상기 가변 버퍼 크기는 상기 클라이언트 장치에 의한 개선된 재생 성능을 위해 동적으로 적응되는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  2. 제1항에 있어서, 상기 클라이언트 장치는 상기 초기 버퍼링 시간과 상기 전치-복호기 버퍼 크기중 하나 또는 양자를 설정하기 위하여 상기 소스 서버로 요청을 제출하는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  3. 제1항에 있어서, 디폴트 초기 버퍼링 시간 및 디폴트 버퍼 크기가 상기 전치-복호기 버퍼에 대해 정의되는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  4. 제3항에 있어서, 상기 클라이언트 장치는 상기 전치-복호기 버퍼에 대한 상기 디폴트 초기 버퍼링 시간과 상기 디폴트 버퍼 크기중 하나 또는 양자를 상기 소스 서버에 신호하는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 전치-복호기 버퍼의 상기 가변 초기 버퍼링 시간은 상기 소스 서버로부터 수신된 요구되는 전치-복호기 초기 버퍼링 시간의 표시에 응답하여 상기 클라이언트 장치에 의해 조정되는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 전치-복호기 버퍼의 상기 가변 버퍼 크기는 상기 소스 서버로부터 수신된 요구되는 전치-복호기 버퍼 크기의 표시에 응답하여 상기 클라이언트 장치에 의해 조정되는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 미디어 데이터의 복수의 복사본들은 상기 소스 서버에 이용가능하고, 상기 미디어 데이터의 복수의 복사본들 각각은 상기 클라이언트 장치내의 상기 전치-복호기 버퍼의 요구되는 특성을 나타내는 적어도 하나의 매개 변수에 의해 특징지워지는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 전치-복호기 버퍼의 요구되는 특성을 나타내는 적어도 하나의 매개 변수는 상기 소스 서버로부터 상기 클라이언트 장치로 전송되는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  9. 제8항에 있어서, 상기 전치-복호기 버퍼의 요구되는 특성을 나타내는 적어도 하나의 매개 변수는 상기 미디어 데이터의 스트리밍된 다운로드를 위하여 상기 소스 서버와 상기 클라이언트 장치간의 스트리밍 데이터 접속 설정동안 상기 소스 서버로부터 상기 클라이언트 장치로 전송되는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  10. 제8항 또는 제9항에 있어서, 상기 전치-복호기 버퍼의 요구되는 특성을 나타내는 적어도 하나의 매개 변수는, 요구되는 전치-복호기 초기 버퍼링 시간, 요구되는 전치-복호기 버퍼 크기 또는 요구되는 전치-복호기 초기 버퍼링 시간 및 요구되는 전치-복호기 버퍼 크기 양자를 포함하는 그룹으로부터 선택되는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  11. 제5항 또는 제6항에 있어서, 상기 동적 적응은 상기 소스 서버로부터의 신호에 응답하여 상기 클라이언트 장치에 의해 수행되는 적응인 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 데이터 패킷들의 전송을 제어하기 위하여 상기 소스 서버에서 버퍼링 알고리즘이 사용되는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  13. 제12항에 있어서, 상기 버퍼링 알고리즘은 상기 소스 서버로 하여금 상기 소스 서버로부터 상기 클라이언트 장치로의 데이터 패킷들의 전송 시간들을 조정하게 하는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  14. 제12항에 있어서, 상기 버퍼링 알고리즘은 상기 소스 서버로부터의 상기 데이터 패킷들의 전송이 상기 클라이언트 장치내의 상기 전치-복호기 버퍼의 상기 가변 초기 버퍼링 시간과 가변 버퍼 크기에 따른다는 것을 검증하는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서, 후치-복호기 버퍼(post-decoder buffer)가 복호화-관련 지연 변동을 감소시키기 위하여 상기 클라이언트 장치에서 구현되는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서, 상기 미디어 데이터는 일반 패킷 무선 서비스(GPRS: General Packet Radio Service) 또는 범용 이동 통신시스템(UMTS: Universal Mobile Telecommunications System)과 같은 무선 데이터 네트워크를 통해 무선 클라이언트 장치로 전송되는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 미디어 데이터는 무선 클라이언트 장치로 전송되며, 상기 네트워크는 무선 네트워크를 포함하고, 상기 무선 네트워크는 일반 패킷 무선 서비스(GPRS: General Packet Radio Service) 무선 네트워크와 범용 이동 통신 시스템(UMTS: Universal Mobile Telecommunications System)을 포함하는 그룹으로부터 선택되는 것을 특징으로 하는 미디어 데이터 스트리밍 방법.
  18. 복수의 데이터 패킷들을 전송함으로써 미디어 데이터를 스트리밍하기 위한 시스템으로서,
    상기 미디어 데이터를 호스팅하는 소스 서버;
    상기 데이터 패킷들에 대한 전송 매체 역할을 하는 네트워크; 및
    상기 미디어 데이터를 재생할 수 있는 클라이언트 장치를 포함하는 미디어 데이터 스트리밍 시스템에 있어서,
    상기 클라이언트 장치는,
    상기 네트워크를 통해 상기 소스 서버로부터 전송된 데이터 패킷들을 수신하기 위한 전치-복호기 버퍼로서, 가변 초기 버퍼링 시간 및 가변 버퍼 크기를 갖는전치-복호기 버퍼;
    상기 전치-복호기 버퍼로부터의 데이터 패킷들을 복호화하기 위한 복호기; 및
    상기 클라이언트 장치에 의한 개선된 재생 성능을 위하여 상기 전치-복호기 버퍼의 상기 가변 초기 버퍼링 시간과 상기 가변 버퍼 크기를 동적으로 적응시키기 위한 수단을 포함하는 것을 특징으로 하는 미디어 데이터 스트리밍 시스템.
  19. 제18항에 있어서, 상기 네트워크는 일반 패킷 무선 서비스(GPRS: General Packet Radio Service) 무선 네트워크와 범용 이동 통신 시스템(UMTS: Universal Mobile Telecommunications System)을 포함하는 그룹으로부터 선택된 무선 네트워크를 포함하는 것을 특징으로 하는 미디어 데이터 스트리밍 시스템.
  20. 제19항에 있어서, 상기 클라이언트 장치는 상기 무선 시스템에 의한 데이터 패킷 사용에 대해 호환가능한 무선 단말기인 것을 특징으로 하는 미디어 데이터 스트리밍 시스템.
  21. 제18항 또는 제19항에 있어서, 상기 데이터 패킷들이 상기 클라이언트 장치의 버퍼링 능력에 따르는 속도로 전송된다는 것을 보장하기 위하여 상기 소스 서버에서 버퍼링 알고리즘이 구현되는 것을 특징으로 하는 미디어 데이터 스트리밍 시스템.
  22. 소스 서버로부터 네트워크를 통해 전송되는 복수의 데이터 패킷들을 수신하기 위한 클라이언트 장치에 있어서,
    상기 네트워크를 통해 상기 소스 서버로부터 전송된 데이터 패킷들을 수신하기 위한 전치-복호기 버퍼로서, 가변 초기 버퍼링 시간 및 가변 버퍼 크기를 갖는 전치-복호기 버퍼;
    상기 전치-복호기 버퍼로부터의 데이터 패킷들을 복호화하기 위한 복호기; 및
    상기 클라이언트 장치에 의한 개선된 재생 성능을 위하여 상기 전치-복호기 버퍼의 상기 가변 초기 버퍼링 시간과 상기 가변 버퍼 크기를 동적으로 적응시키기 위한 수단을 포함하는 것을 특징으로 하는 클라이언트 장치.
  23. 제22항에 있어서, 상기 클라이언트 장치는 무선 단말기, 데스크톱 컴퓨터, 랩톱 컴퓨터를 포함하는 그룹으로부터 선택되는 것을 특징으로 하는 클라이언트 장치.
KR1020037009374A 2001-02-08 2002-02-08 스트리밍된 데이터를 버퍼링하기 위한 방법 및 시스템 KR100629158B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FI20010239A FI118830B (fi) 2001-02-08 2001-02-08 Tietovirran toisto
FI20010239 2001-02-08
PCT/FI2002/000093 WO2002063461A1 (en) 2001-02-08 2002-02-08 Method and system for buffering streamed data

Publications (2)

Publication Number Publication Date
KR20030071815A true KR20030071815A (ko) 2003-09-06
KR100629158B1 KR100629158B1 (ko) 2006-09-27

Family

ID=8560281

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037009374A KR100629158B1 (ko) 2001-02-08 2002-02-08 스트리밍된 데이터를 버퍼링하기 위한 방법 및 시스템

Country Status (18)

Country Link
US (1) US7421508B2 (ko)
EP (3) EP1358542B1 (ko)
JP (2) JP2004525556A (ko)
KR (1) KR100629158B1 (ko)
CN (1) CN100504757C (ko)
AT (2) ATE310275T1 (ko)
AU (1) AU2002231829B2 (ko)
BR (1) BRPI0206630B1 (ko)
CA (1) CA2435936C (ko)
DE (2) DE60233177D1 (ko)
EE (1) EE04862B1 (ko)
FI (1) FI118830B (ko)
HU (1) HUP0302621A3 (ko)
MX (1) MXPA03007096A (ko)
RU (1) RU2302032C2 (ko)
SG (1) SG148844A1 (ko)
WO (1) WO2002063461A1 (ko)
ZA (1) ZA200306100B (ko)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101292851B1 (ko) * 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
US8887020B2 (en) 2003-10-06 2014-11-11 Digital Fountain, Inc. Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9136878B2 (en) 2004-05-07 2015-09-15 Digital Fountain, Inc. File download and streaming system
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9191151B2 (en) 2006-06-09 2015-11-17 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9236976B2 (en) 2001-12-21 2016-01-12 Digital Fountain, Inc. Multi stage code generator and decoder for communication systems
US9236885B2 (en) 2002-10-05 2016-01-12 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US9246633B2 (en) 1998-09-23 2016-01-26 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9264069B2 (en) 2006-05-10 2016-02-16 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7355530B2 (en) * 2001-11-21 2008-04-08 Canon Kabushiki Kaisha Method and device for determining at least one multimedia data encoding parameter
JP2004015114A (ja) * 2002-06-03 2004-01-15 Funai Electric Co Ltd デジタル放送記録装置及びそれを備えたデジタル放送システム
AU2003249115A1 (en) * 2002-07-16 2004-02-02 Nokia Corporation Method for enabling packet transfer delay compensation in multimedia streaming
AU2003252347A1 (en) * 2002-07-31 2004-03-11 Sharp Kabushiki Kaisha Data communication device, its intermittent communication method, program describing its method, and recording medium on which program is recorded
MY134659A (en) * 2002-11-06 2007-12-31 Nokia Corp Picture buffering for prediction references and display
KR100926711B1 (ko) 2003-02-07 2009-11-17 엘지전자 주식회사 멀티미디어 데이터 송수신 방법
JP2006518948A (ja) * 2003-02-13 2006-08-17 ノキア コーポレイション マルチメディア・ストリーミングにおけるストリーミング品質適合と制御機構のシグナリング方法
BRPI0407527B1 (pt) * 2003-02-18 2019-04-02 Nokia Technologies Oy Método para armazenar dados de mídia em buffer, método para decodificar o fluxo de imagem codificado em um decodificador, sistema, dispositivo de transmissão, dispositivo de recepção, sinal, módulo para recepção de fluxo de imagem codificado, processador, codificador e decodificador.
MY136056A (en) * 2003-02-18 2008-08-29 Nokia Corp Picture decoding method
US7353284B2 (en) * 2003-06-13 2008-04-01 Apple Inc. Synchronized transmission of audio and video data from a computer to a client via an interface
KR100651566B1 (ko) * 2003-08-26 2006-11-28 삼성전자주식회사 이동통신 단말기에서 출력 버퍼링을 이용한 멀티미디어재생 장치 및 그 제어 방법
CN100412832C (zh) * 2003-09-02 2008-08-20 竺红卫 一种基于优先级调度的非均匀多媒体流传输调度方法
US8345754B2 (en) * 2003-09-07 2013-01-01 Microsoft Corporation Signaling buffer fullness
US8582659B2 (en) * 2003-09-07 2013-11-12 Microsoft Corporation Determining a decoding time stamp from buffer fullness
KR101014233B1 (ko) * 2003-10-22 2011-02-14 엘지전자 주식회사 대화형 광디스크의 부가 오디오 파일 관리 및 재생방법
US20050201471A1 (en) * 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
US7296205B2 (en) * 2004-02-18 2007-11-13 Nokia Corporation Data repair
KR101145261B1 (ko) * 2004-02-27 2012-05-24 삼성전자주식회사 멀티미디어 데이터를 기록한 정보저장매체, 그 재생방법및 재생장치
US9219729B2 (en) * 2004-05-19 2015-12-22 Philip Drope Multimedia network system with content importation, content exportation, and integrated content management
US9124907B2 (en) * 2004-10-04 2015-09-01 Nokia Technologies Oy Picture buffering method
US7447978B2 (en) * 2004-11-16 2008-11-04 Nokia Corporation Buffering packets of a media stream
US8218439B2 (en) * 2004-11-24 2012-07-10 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive buffering
US7543073B2 (en) * 2004-12-10 2009-06-02 Microsoft Corporation System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate
US7536469B2 (en) * 2004-12-10 2009-05-19 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates
US20060143678A1 (en) * 2004-12-10 2006-06-29 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model
TWI401918B (zh) * 2005-02-03 2013-07-11 Nokia Corp 傳送指示接收器緩衝架構之緩衝參數信號的通訊方法
CA2603883A1 (en) * 2005-04-07 2006-10-12 Nokia Corporation Buffering in streaming delivery
US7613112B2 (en) * 2005-06-28 2009-11-03 Nokia Corporation Optimizing playback startup time of bursty real-time streams
JP4673411B2 (ja) * 2005-11-07 2011-04-20 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 移動通信ネットワークにおける方法および装置
US8788933B2 (en) * 2005-12-01 2014-07-22 Nokia Corporation Time-shifted presentation of media streams
TWI633769B (zh) * 2006-05-11 2018-08-21 Cfph股份有限公司 使用及管理電子檔案的方法和設備
FR2907990B1 (fr) * 2006-10-27 2009-04-17 Envivio France Entpr Uniperson Encodeur temps-reel contraint en debit et en delai,procede, produit programme d'ordinateur et moyen de stockage correspondants.
US7962637B2 (en) 2006-11-03 2011-06-14 Apple Computer, Inc. Dynamic adjustments of video streams
US8069260B2 (en) * 2007-01-12 2011-11-29 Microsoft Corporation Dynamic buffer settings for media playback
US8914529B2 (en) * 2007-01-22 2014-12-16 Microsoft Corporation Dynamically adapting media content streaming and playback parameters for existing streaming and playback conditions
GB0705329D0 (en) 2007-03-20 2007-04-25 Skype Ltd Method of transmitting data in a communication system
CN101647241A (zh) * 2007-03-27 2010-02-10 日本电气株式会社 移动通信系统、网络装置和分组顺序控制方法
US9148628B2 (en) * 2007-08-16 2015-09-29 Yahoo! Inc. Intelligent media buffering based on input focus proximity
ATE550718T1 (de) * 2007-10-11 2012-04-15 Nxp Bv Verfahren und system zur steuerung der zulassung eines speichermediums für einen peripheren bus eines datenreproduktionssystems
RU2447489C1 (ru) * 2008-02-20 2012-04-10 ЭлДжи ЭЛЕКТРОНИКС ИНК. Устройство и способ конструирования единицы данных, которая включает в себя информацию состояния буфера
US8126048B2 (en) * 2008-03-18 2012-02-28 Seiko Epson Corporation Recording streaming delta-encoded data
US8139923B2 (en) * 2008-03-19 2012-03-20 Seiko Epson Corporation Playback of recorded streaming delta-encoded data
EP2129130A1 (fr) * 2008-05-26 2009-12-02 THOMSON Licensing Procédé de transmission simplifié d'un flux de signaux entre un émetteur et un appareil électronique
US8379083B1 (en) * 2008-07-17 2013-02-19 Sprint Communications Company L.P. Simultaneous viewing and reliable recording of multimedia content over a network
JP5135147B2 (ja) 2008-09-29 2013-01-30 富士フイルム株式会社 動画ファイル送信サーバおよびその動作制御方法
JP5077181B2 (ja) * 2008-10-14 2012-11-21 ソニー株式会社 情報受信装置、情報送信装置および情報通信システム
KR101019594B1 (ko) 2008-11-10 2011-03-07 주식회사 케이티 스트리밍 서비스의 버퍼링 시간을 조정하기 위한 시스템 및그 방법
JP5278059B2 (ja) * 2009-03-13 2013-09-04 ソニー株式会社 情報処理装置及び方法、プログラム、並びに情報処理システム
US9357568B2 (en) * 2009-06-16 2016-05-31 Futurewei Technologies, Inc. System and method for adapting an application source rate to a load condition
US20100329355A1 (en) * 2009-06-30 2010-12-30 Nxp B.V System and method for configurable packet streaming
JP5482178B2 (ja) * 2009-12-16 2014-04-23 ソニー株式会社 送信装置および方法、並びに、受信装置および方法
CN102724705B (zh) * 2009-12-25 2015-04-29 华为技术有限公司 一种报告缓存数据量的方法及装置
TWI400949B (zh) * 2010-04-06 2013-07-01 Hon Hai Prec Ind Co Ltd 媒體資料播放裝置及其重播方法
US8301794B2 (en) * 2010-04-16 2012-10-30 Microsoft Corporation Media content improved playback quality
US8532804B2 (en) * 2010-06-18 2013-09-10 Microsoft Corporation Predictive resampler scheduler algorithm
KR20120034550A (ko) * 2010-07-20 2012-04-12 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
US9467493B2 (en) 2010-09-06 2016-10-11 Electronics And Telecommunication Research Institute Apparatus and method for providing streaming content
KR101739272B1 (ko) 2011-01-18 2017-05-24 삼성전자주식회사 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법
KR20120108564A (ko) * 2011-03-24 2012-10-05 삼성전자주식회사 데이터 처리 시스템 및 그 동작 방법
GB2495929B (en) 2011-10-25 2014-09-03 Skype Jitter buffer
GB2520867B (en) * 2011-10-25 2016-05-18 Skype Ltd Jitter buffer
GB2495928B (en) 2011-10-25 2016-06-15 Skype Jitter buffer
WO2013158787A1 (en) 2012-04-17 2013-10-24 Sirius Xm Radio Inc. Server side crossfade for progressive download media
US9406303B2 (en) 2011-11-18 2016-08-02 Sirius Xm Radio Inc. Systems and methods for implementing cross-fading, interstitials and other effects downstream
EP2608558A1 (en) * 2011-12-22 2013-06-26 Thomson Licensing System and method for adaptive streaming in a multipath environment
US20150309844A1 (en) 2012-03-06 2015-10-29 Sirius Xm Radio Inc. Systems and Methods for Audio Attribute Mapping
CN103476062B (zh) * 2012-06-06 2015-05-27 华为技术有限公司 一种数据流调度的方法、设备和系统
US9246970B2 (en) * 2014-02-14 2016-01-26 GM Global Technology Operations LLC System and method for compensating for delay and jitter
US10283091B2 (en) 2014-10-13 2019-05-07 Microsoft Technology Licensing, Llc Buffer optimization
KR102350504B1 (ko) * 2015-04-27 2022-01-14 삼성전자주식회사 통신 시스템에서 하향링크 전송률 제어를 위한 장치 및 방법
WO2020048617A1 (en) 2018-09-07 2020-03-12 Telefonaktiebolaget Lm Ericsson (Publ) Latency efficient streaming of video frames for machine vision over an ip network
CN114586371A (zh) 2019-10-14 2022-06-03 谷歌有限责任公司 使用自适应缓冲区流式传送视频内容的方法、系统和介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014265A (en) 1989-11-30 1991-05-07 At&T Bell Laboratories Method and apparatus for congestion control in a data network
DE69222754T2 (de) * 1992-03-27 1998-02-26 Alsthom Cge Alcatel Videodekoder
JPH0652666A (ja) * 1992-07-31 1994-02-25 Matsushita Electric Ind Co Ltd マルチメディア再生装置
US5363097A (en) * 1992-09-14 1994-11-08 Industrial Technology Research Institute Direct sequential-bit variable length decoder
DE69536032D1 (de) * 1994-10-21 2010-02-04 At & T Corp Verfahren zur Synchronisation von Pufferspeichern für Videosignale
US5913031A (en) * 1994-12-02 1999-06-15 U.S. Philips Corporation Encoder system level buffer management
US5606369A (en) * 1994-12-28 1997-02-25 U.S. Philips Corporation Buffering for digital video signal encoders using joint bit-rate control
JP3060877B2 (ja) * 1995-02-20 2000-07-10 日本ビクター株式会社 マルチメディアシナリオ再生装置
US5808607A (en) * 1995-04-07 1998-09-15 International Business Machines Corporation Multi-node media server that provides video to a plurality of terminals from a single buffer when video requests are close in time
JPH09186966A (ja) * 1995-12-25 1997-07-15 Texas Instr Inc <Ti> ビデオ再生方法及び再生システム
US5790792A (en) * 1996-09-04 1998-08-04 Radiant Systems, Inc. Method and apparatus for transmitting multimedia data from and application logic server to interactive multimedia workstations
US6011590A (en) * 1997-01-03 2000-01-04 Ncr Corporation Method of transmitting compressed information to minimize buffer space
US5892980A (en) * 1997-02-28 1999-04-06 Comsys Communication And Signal Processing Ltd. System for dynamically changing the length of transmit and receive sample buffers utilizing previous responding to an interrupt in a communications system
JPH10285591A (ja) 1997-04-02 1998-10-23 Hitachi Denshi Ltd 映像信号伝送方法およびその装置
US6175871B1 (en) * 1997-10-01 2001-01-16 3Com Corporation Method and apparatus for real time communication over packet networks
US6301258B1 (en) * 1997-12-04 2001-10-09 At&T Corp. Low-latency buffering for packet telephony
JP2000228669A (ja) * 1999-02-08 2000-08-15 Hitachi Ltd ストリーム配送システムにおけるストリームデータ配送方法
US6792615B1 (en) * 1999-05-19 2004-09-14 New Horizons Telecasting, Inc. Encapsulated, streaming media automation and distribution system
ATE349113T1 (de) 2000-04-14 2007-01-15 Cit Alcatel Selbstanpassender zitterspufferspeicher
CA2312333A1 (en) * 2000-06-21 2001-12-21 Kimihiko E. Sato Multimedia compression, coding and transmission method and apparatus
JP4596693B2 (ja) * 2000-07-06 2010-12-08 パナソニック株式会社 ストリーミング方法およびそれを実行するシステム
US7310678B2 (en) * 2000-07-28 2007-12-18 Kasenna, Inc. System, server, and method for variable bit rate multimedia streaming
US6768499B2 (en) * 2000-12-06 2004-07-27 Microsoft Corporation Methods and systems for processing media content
US6823394B2 (en) * 2000-12-12 2004-11-23 Washington University Method of resource-efficient and scalable streaming media distribution for asynchronous receivers
US6842433B2 (en) * 2001-04-24 2005-01-11 Wideray Corporation System and method for communicating information from a computerized distributor to portable computing devices

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9246633B2 (en) 1998-09-23 2016-01-26 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9236976B2 (en) 2001-12-21 2016-01-12 Digital Fountain, Inc. Multi stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US9236885B2 (en) 2002-10-05 2016-01-12 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
US8887020B2 (en) 2003-10-06 2014-11-11 Digital Fountain, Inc. Error-correcting multi-stage code generator and decoder for communication systems having single transmitters or multiple transmitters
US9136878B2 (en) 2004-05-07 2015-09-15 Digital Fountain, Inc. File download and streaming system
US9236887B2 (en) 2004-05-07 2016-01-12 Digital Fountain, Inc. File download and streaming system
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
KR101292851B1 (ko) * 2006-02-13 2013-08-02 디지털 파운튼, 인크. 가변적 fec 오버헤드 및 보호 구간을 이용하는 스트리밍및 버퍼링
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
US9264069B2 (en) 2006-05-10 2016-02-16 Digital Fountain, Inc. Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient uses of the communications systems
US9191151B2 (en) 2006-06-09 2015-11-17 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9628536B2 (en) 2006-06-09 2017-04-18 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US11477253B2 (en) 2006-06-09 2022-10-18 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9237101B2 (en) 2007-09-12 2016-01-12 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9876607B2 (en) 2009-08-19 2018-01-23 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9660763B2 (en) 2009-08-19 2017-05-23 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US11770432B2 (en) 2009-09-22 2023-09-26 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US11743317B2 (en) 2009-09-22 2023-08-29 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US10855736B2 (en) 2009-09-22 2020-12-01 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9992555B2 (en) 2010-06-29 2018-06-05 Qualcomm Incorporated Signaling random access points for streaming video data
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9602802B2 (en) 2010-07-21 2017-03-21 Qualcomm Incorporated Providing frame packing type information for video coding
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery

Also Published As

Publication number Publication date
EP2159684A2 (en) 2010-03-03
JP2004525556A (ja) 2004-08-19
HUP0302621A3 (en) 2005-08-29
US20020105951A1 (en) 2002-08-08
CN1491381A (zh) 2004-04-21
RU2302032C2 (ru) 2007-06-27
CA2435936C (en) 2013-04-16
ATE310275T1 (de) 2005-12-15
EP2159684B1 (en) 2013-05-22
CA2435936A1 (en) 2002-08-15
RU2003127066A (ru) 2005-01-10
FI118830B (fi) 2008-03-31
DE60207381T2 (de) 2006-08-24
MXPA03007096A (es) 2003-11-18
ZA200306100B (en) 2004-09-06
EP1358542B1 (en) 2005-11-16
KR100629158B1 (ko) 2006-09-27
BRPI0206630B1 (pt) 2016-11-29
CN100504757C (zh) 2009-06-24
US7421508B2 (en) 2008-09-02
EP1358542A1 (en) 2003-11-05
EP1605347A1 (en) 2005-12-14
WO2002063461A1 (en) 2002-08-15
ATE438136T1 (de) 2009-08-15
SG148844A1 (en) 2009-01-29
FI20010239A (fi) 2002-08-09
AU2002231829B2 (en) 2008-06-26
EP2159684A3 (en) 2010-03-10
HUP0302621A2 (hu) 2003-11-28
DE60233177D1 (de) 2009-09-10
BR0206630A (pt) 2004-02-17
DE60207381D1 (de) 2005-12-22
JP4690280B2 (ja) 2011-06-01
EP1605347B1 (en) 2009-07-29
JP2006345582A (ja) 2006-12-21
EE200300316A (et) 2003-10-15
EE04862B1 (et) 2007-06-15
FI20010239A0 (fi) 2001-02-08

Similar Documents

Publication Publication Date Title
KR100629158B1 (ko) 스트리밍된 데이터를 버퍼링하기 위한 방법 및 시스템
AU2002231829A1 (en) Method and system for buffering streamed data
US8218439B2 (en) Method and apparatus for adaptive buffering
KR100903457B1 (ko) 실시간 데이터 송수신 방법 및 장치
JP4347883B2 (ja) プロアクティブなレート適合シグナリング方法及び装置
US7881335B2 (en) Client-side bandwidth allocation for continuous and discrete media
US20040057446A1 (en) Method for enabling packet transfer delay compensation in multimedia streaming
US20130046902A1 (en) Procedure and device for transmission of multimedia digital data
KR20030014709A (ko) 비디오 오류 회복
EP2710778B1 (en) Method for dynamic adaptation of the reception bitrate and associated receiver
WO2008076537A1 (en) Method and system for providing adaptive trick play control of streaming digital video
US20020157102A1 (en) Moving picture streaming method in VOD system
KR20050019880A (ko) 멀티미디어 스트리밍에서 패킷 전달 지연 보상을 가능하게하기 위한 방법
KR20100068780A (ko) 스트리밍 서비스에서 프리 디코더 버퍼의 오버플로우 방지 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120907

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130906

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140901

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 13