KR20070114308A - 스트리밍 배달의 버퍼링 - Google Patents

스트리밍 배달의 버퍼링 Download PDF

Info

Publication number
KR20070114308A
KR20070114308A KR1020077022599A KR20077022599A KR20070114308A KR 20070114308 A KR20070114308 A KR 20070114308A KR 1020077022599 A KR1020077022599 A KR 1020077022599A KR 20077022599 A KR20077022599 A KR 20077022599A KR 20070114308 A KR20070114308 A KR 20070114308A
Authority
KR
South Korea
Prior art keywords
packet
buffer
hypothetical
media
transmission
Prior art date
Application number
KR1020077022599A
Other languages
English (en)
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 KR20070114308A publication Critical patent/KR20070114308A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • H04L49/9089Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
    • H04L49/9094Arrangements for simultaneous transmit and receive, e.g. simultaneous reading/writing from/to the storage element
    • 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/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/70Media network packetisation
    • 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/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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64315DVB-H
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/02Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information
    • H04H60/06Arrangements for scheduling broadcast services or broadcast-related services

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

송신 장치로부터 수신 장치로 전송되기 위한 미디어 스트림의 패킷을 버퍼링하기 위한 방법이 개시된다. 미디어 패킷들은 스트림 생성기 내에서 적어도 한 종류의 미디어 정보로부터 형성된다; 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임이 생성된다; 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들이 형성된다; 그리고 송신될 패킷에 대한 송신 스케쥴이 생성된다. 또한, 가정적 디코딩(hypothetical decoding)의 제1 및 제2 단계가 역시 수행된다. 가정적 디코딩의 제1 단계는 상기 송신 스케쥴에 따라서 수행되며, 송신될 패킷을 송신 스케쥴에 따라서 제1 가정적 디코딩 버퍼로 버퍼링하는 단계; 및 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하는 단계를 포함한다. 가정적 디코딩의 제2 단계는 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을: 상기 스트림 생성기의 동작; 적어도 하나의 송신 프레임의 생성; 및 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하는 단계를 포함한다.

Description

스트리밍 배달의 버퍼링{Buffering in streaming delivery}
본 발명은 송신 장치로부터 수신 장치로의 송신을 위한 미디어 스트림의 패킷의 버퍼링에 관련된다. 또한, 본 발명은 시스템, 송신 장치, 수신 장치, 서버, 무선 통신 장치, 신호, 게이트웨이 장치, 및 컴퓨터 프로그램 생성물에 관련된다.
오디오 신호, 비디오 신호, 정지 화상 등과 같은 미디어 정보의 송신은 전형적으로 패킷화(packetization)에 기반하는데, 즉, 송신될 정보는 패킷 내로 프레이밍된다. 그러면, 패킷은 하나 또는 그 이상의 패킷 스트림으로서 송신된다. 패킷 스트림은 예컨대 RTP(Real Time Protocol) 패킷으로서 송신되거나 또는 반드시 RTP 패킷은 아닌 다른 프로토콜의 패킷으로서 송신된다. 송신이 이루어지는 동안에, 패킷의 일부가 어떠한 이유로 손실되는 현상이 발생할 수 있다. 예를 들면, 송신 채널은 패킷 스트림을 운반하는 신호를 약하게 하고 패킷 스트림에 손실을 야기할 수 있는 외란에 의하여 영향 받을 수 있다. 송신단에서, 수신단에서 손실된 패킷들을 복구하는데 이용될 수 있는 어떠한 에러 복구 정보를 패킷 스트림 내에 추가하는 것이 가능하다. 공지된 한 가지 방법은 순방향 에러 정정(FEC, forward error correction)에 기반하는데, 이 방법에 따르면 에러 복구 정보를 운반하는 추가적 패킷들은 패킷 스트림에 삽입된다. 이러한 여분의 패킷은 본 명세서에서는 보수 패킷(repair packet)이라고 불리는데, 즉, 이 보수 패킷들은 에러 복구 정보를 운반한다. 보수 패킷들은 보수 패킷에 의하여 보호되어야 하는 패킷에 기반하여 형성된다. 예를 들면, 비트단위의 XOR 연산은 이러한 패킷에 대하여 수행되고, 연산된 FEC 값은 패킷화되어 이러한 보수 패킷을 형성한다. 이러한 보수 패킷들 및 이러한 보수 패킷을 형성하는데 이용되는 패킷들은 FEC 블록을 형성한다. 그러므로, FEC 블록에 포함되는 어떤 패킷이라도 손실될 경우 동일한 FEC 블록의 보수 패킷의 정보를 사용함으로써 복구 가능할 수 있다.
또한, 패킷화 기술은 소위 프로토콜 스택의 상이한 계층에도 적용될 수 있다. 잘 알려진 바와 같은 OSI 모델은 7-계층 구조를 기술하는데, 여기서 물리 계층이 최하단에 존재하고 어플리케이션 계층이 프로토콜 스택의 최상위에 있다. OSI 모델의 다른 계층들은 물리 계층 상의 데이터 링크 계층, 네트워크 계층, 전송(transport) 계층, 세션 계층, 및 어플리케이션 계층 하단의 프리젠테이션 계층이다. RTP 패킷은 어플리케이션 계층의 패킷들인 것으로 간주될 수 있다(따라서, 이 계층은 이러한 경우 "RTP 계층"이라고 불릴 수 있다).
많은 비디오 통신 시스템은 데이터 송신율 및 버퍼링을 위한 제어 수단을 제공한다. 1대 1의 시스템에서, 수신자는 발신자(originator)에게 자신의 버퍼 점유율 상태(buffer occupancy status)를 전송할 수 있으며, 그러면 발신자는 이에 따라서 송신율을 조절할 수 있다(예를 들면, 3GPP 패킷 교환 스트리밍의 속도 적응(rate adaptation) 기술이 있다). 단방향 시스템에서, 송신된 스트림은 전형적으로 수신기의 공지된 버퍼링 모델을 준수해야만 한다. 특정된 수신자 버퍼링 모 델을 포함하는 버퍼링 시스템의 예를 들면, MPEG-2 시스템, 3GPP 패킷 교환 스트리밍(3GPP 기술 규정 26.234)의 부록 G, 및 3GPP 멀티미디어의 브로드캐스트/멀티캐스트 시스템(MBMS, 3GPP 기술 규정 26.346)을 포함한다. 송신자는 송신된 스트림들이 버퍼링 모델에 따른다는 것을 보장하여야 하는데, 즉, 버퍼에 언더플로우 또는 오버플로우가 발생하지 않도록 보장하여야 한다. 수신자는 유효한 스트림을 수신할 수 있어야 하고, 실제 버퍼를 할당하기 위하여 가정적 버퍼 모델(hypothetical buffer model)의 버퍼 크기를 이용할 수 있다.
DVB-H 상의 IP 데이터캐스팅(datacasting)을 위한 간략화된 시스템이 도 2에서 블록도로서 기술된다. 컨텐츠 서버는 IP 네트워크 상에서 IP 캡슐화기(encapsulators)로 멀티미디어 컨텐츠를 제공한다. IP 캡슐화기는 MPEG-2 송신 스트림의 상위에서 IP 스트림을 캡슐화하고, 이것은 DVB-H 네트워크 상에서 수신 단말기에 전달된다.
도 7에는, DVB 네트워크(701)의 미디어 송신의 일 예가 도시된다. DVB 시스템에서, 멀티플렉스(multiplex, 702)는 상호 다중화되고 단일 전송 스트림 상에서 운반되는 일 군의 DVB 서비스(703)이다. 상이한 멀티플렉스(702)들의 송신 스트림은 DVB 네트워크(701)에서 송신될 수 있다. DVB 서비스의 성분(예컨대, 비디오 성분, 음성 성분, 텍스트 성분)들은, DVB 서비스(703) 중의 성분들 중 하나의 데이터를 각각 운반하는 기본적 스트림(elementary stream, 704)으로서 포함된다. DVB 서비스의 성분들은 IP 데이터그램을 포함하는 IP(인터넷 프로토콜) 스트림(705)으로서 캡슐화될 수 있다.
DVB 시스템에 대하여, 소위 멀티프로토콜 캡슐화(MPE, multiprotocol encapsulation) 기술이 소개된다. MPE는 네트워크 계층(OSI-모델 계층 3) 데이터그램(IP 패킷)을 전송 스트림으로 인코딩하도록 의도된다. 각 IP 데이터그램은 전형적으로 단일 MPE 섹션으로 인코딩된다. 단일 기본적 스트림은 다중 MPE 섹션 스트림을 포함할 수도 있다. 또한, MPE 섹션을 운반하는 기본적 스트림은 에러 정정 데이터도 운반할 수 있고, 즉, MPE 섹션 페이로드 상의 데이터 패킷들의 에러 정정을 지원하기 위한 MPE FEC section을 운반할 수도 있다. MPE 섹션은 OSI 프로토콜 스택의 데이터 링크 계층의 패킷인 것으로 간주될 수 있다.
일부 비디오 코딩 표준의 가정적 참조 디코더(HRD, hypothetical reference decoder)는 생성된 비트 스트림이 표준에 따르는 것이며 디코더들이 표준에 따르는 출력을 생성한다는 것을 증명하기 위하여 이용된다. 표준에 따르는 디코더들은 HRD에 따르는 스트림을 입력할 수 있도록 요구된다. HRD는 "역(adverse)" 비트 스트림을 즉 방지하기 위해 이용되는데, 즉, 이것은 디코더 내의 자원 소비를 메모리 사용량 및 연산의 복잡성 모두의 관점에서 제한한다. HRD로의 입력은 일정한 비트율이거나 0 및 일정한 비트율의 피스단위의 함수(piecewise function)이다. 또한, HRD는 비디오 비트율 파동(video bitrate fluctuation)을 허용하도록 이용되는데, 이에 따라서 거의 일정한 영상 속도(picture rate) 및 품질을 획득할 수 있도록 한다.
미디어 스트림이 다중화된 상태로 전송되면, 가정적 역다중화기의 출력은 가정적 미디어 디코더의 입력 요구 사항과 호환될 수 있어야 한다. 그렇지 않으면, 미디어 디코더 버퍼 모델과의 호환성은 보증될 수 없다.
MPE FEC 프레임의 FEC 디코딩은 수신 단말기 내에서 초기 버퍼링(MPE FEC 프레임을 위한 제1 패킷의 수신으로부터 미디어 디코딩의 개시까지)이 수행되도록 요구하는데, 그 이유는 수신기가 첫 번째 패킷이 수신되자마자 즉시 소스 RTP 패킷(즉 미디어 RTP 패킷)을 디코딩하기 시작할 경우, 소스 RTP 패킷 중 어느 것이라도 손실되면 해당 MPE FEC 프레임의 보수 칼럼(repair column)이 수신될 때까지 디코딩 동작에 지연이 발생할 수 있기 때문이다. 그 결과로서, 재생 동작 중에 중단되는 현상이 발생할 것이다.
더 나아가, 전술된 바와 같이, 더 적은 재생 동작에 중단 현상이 발생하려고 하면 제1 MPE FEC 프레임의 수신을 넘어 부가적인 초기 버퍼링이 필요할지도 모른다. tai(n)이 송신 순서 중 인덱스 n을 가지는 MPE FEC 프레임의 제1 비트의 수신 시간을 나타내며, taf(n)가 MPE FEC 프레임의 마지막 비트의 수신 시간이라고 한다. 더 나아가, b(n)이 MPE FEC 프레임 n 내의 미디어 스트림의 RTP 페이로드 내의 비트수를 나타내고, r(n)이 미디어 스트림의 비트율이라고 한다(이것은 HRD 순응성(HRD compliancy)의 검증을 위해 사용된다). 만일, 모든 n 값에 대하여, b(n)/r(n)= taf(n+1)에-taf(n)의 관계가 만족되면, 초기 버퍼링 시간은 언제나 0일 것이다. 그러나, 다음 이유들 중 몇 가지 때문에 이러한 경우는 발생하지 않을 것이다.
우선, 펑쳐링(puncturing, 한 MPE FEC 프레임 당 "미디어" 칼럼의 개수), FEC 코드율(한 MPE FEC 프레임 당 FEC 칼럼의 개수), 및 패딩(padding) 양은 변경될 수 있다.
두 번째로, 시간 분할 버스트(time-slicing bursts)의 스케쥴링은 전술된 수식에서 요구되는 바와 같이 정밀하지 않고, 오히려 스트림의 평균 비트율 및 상기 평균 비트율에 의하여 유도되는 시간 분할 버스트 인터벌에 따를 수 있다.
세 번째로, 기본적 스트림과 시간 구획은 다중 IP 스트림으로부터의 패킷을 포함할 수도 있다. 한 시간 구획(time slice) 내의 각 IP 스트림을 위한 정확한 비트 버짓(bit budget)을 만족시키는 것은 비디오와 같은 가변 비트율을 가지는 미디어에 대하여는 매우 곤란한 작업일 수 있다.
요약하면, 단일 MPE FEC 프레임의 초기 버퍼링은 중지가 발생하지 않는 디코딩 및 재생을 보장하기 위한 충분조건이 될 수 없다. 그러므로, 송신자들은 충분하지만 낭비적이지는 않은 초기 버퍼링을 허용하는 정보를 수신기 측에 제공하여야 한다.
ETSI EN 301 192 v1.4.1의 제13 절은 DVB 데이터 브로드캐스트의 디코더 모델을 한정한다. 이 모델은 전송 버퍼(transport buffer)와 선택적인 메인 버퍼로 구성된다. 전송 버퍼는 MPEG-2 TS 패킷의 복사본을 제거하기 위한 작은 크기의(512 바이트) 버퍼이다. 메인 버퍼는 비트율을 평탄화하여 미디어 디코더에 적합하도록 하기 위하여 이용된다. 메인 버퍼의 동작은 MPEG-2 시스템의 smoothing_buffer_descriptor 문법 구조 내의 출력 바이트율을 한정함으로써 제어될 수 있다. 그러나, 초기 버퍼링 지연을 시그널링하고 메인 버퍼에 적용하기 위 한 메커니즘은 존재하지 않으며, 따라서 메인 버퍼는 MPE FEC와 조합되어 사용되기에는 적합하지 않다.
DVB-H IP 데이터캐스팅 서비스는 멀티캐스트/브로드캐스트이므로, 신규한 수신기가 스트림의 중간에 "조절하여 들어오기(tune in)"를 시도할 수 있는데, 즉, 신규한 수신기가 스트림의 제1 패킷이 송신된 이후에 스트림을 수신하기 시작할 것이다. 최적의(최소의) 초기 버퍼링 지연은 보통 스트림 전체에 대하여 일정하지 않다.
FEC 디코딩 버퍼의 크기
전술된 바와 같이, MPE FEC 프레임을 위하여 수신된 패킷은 FEC 패킷의 복호화가 시작될 수 있기 이전에 버퍼링 되어야 한다. 이러한 버퍼는 본 명세서에서는 FEC 디코딩 버퍼로서 불린다. FEC 디코딩 버퍼의 버퍼 점유율 레벨은 무엇보다도 1) 기본적 스트림의 송신 스케쥴, 2) 버퍼의 비움 동작이 개시되기 이전의 초기 버퍼링량, 3) FEC 디코딩 버퍼 내부의 FEC 행렬의 설립 방법, 및 4) FEC 디코딩 버퍼로부터의 데이터의 출력률 등에 의존한다. 최대 버퍼 점유율 레벨은 해당 스트림에 대하여 요구되는 버퍼 크기를 결정한다. 상이한 수신 장치에서는, FEC 디코딩 및 이와 관련된 버퍼링 동작이 상호 비교할 때 상이하도록 실장될 수 있다는 점은 명백하다. 예를 들면, 재생기는 출력률 핸들링을 위하여 상이한 접근법을 가지고 있을 수 있다, 즉, 한 장치는 해당 버퍼인 "다운스트림"(즉, 디코더 입력 버퍼들)이 허용하자마자 FEC 디코딩 버퍼로부터의 데이터를 출력할 수 있으며, 다른 장치는 디코딩을 위하여 데이터의 후속 부분(piece)이 필요한 바로 그 시점에 해당 FEC 디코딩 버퍼로부터 데이터를 끄집어낼 수 있다. 그러므로, 최대 버퍼 점유율 레벨은 상이한 장치에서는 변경될 수 있으며, 그 결과 가정적 버퍼 모델이 없는 특정 스트림의 요구되는 FEC 디코딩 버퍼 크기를 결정하는 것은 난해한 작업일 수 있다.
또한, 인코더 및 송신기는 FEC 인코딩 및 송신 스케쥴링을 수행할 때, 모든 수신기의 지원되는 FEC 디코딩 버퍼 크기에 대해 알고 있어야 한다.
본 발명은 미디어 스트리밍에 가정적 디코더 버퍼링을 구현한다. 본 발명에 따른 모델은 수신기/디코더가 가정적 모델이 처리할 수 있는 적어도 모든 스트림을 처리할 수 있도록 하기 위하여 요구되는 최소한의 요구 조건을 결정하는데 이용될 수 있다. 인코더 및 송신기들은 송신된 스트림이 가정적 디코딩 버퍼 내에 오버플로우 또는 언더플로우를 야기하지 않는다는 것을 증명하기 위하여 가정적 디코더 버퍼 모델을 이용한다.
이러한 어플리케이션에서 제공되는 버퍼링 모델은 두 개의 버퍼를 포함하는데, 하나는 MPE-FEC 프레임의 역캡슐화 및 가상 FEC 디코딩을 위한 것이며, 다른 하나는 FEC 디코딩의 버스트한(bursty) 출력에 의하여 야기되는 데이터율의 변화를 평탄화하기 위한 것이다.
본 발명의 제1 측면에 따르면, 미디어 스트림의 패킷을 버퍼링하기 위한 방법이 제공되는데, 이 방법은,
- 스트림 생성기 내에서 적어도 한 종류의 미디어 정보로부터 미디어 패킷을 형성하는 단계;
- 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임을 생성하는 단계;
- 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들을 형성하는 단계;
- 송신될 패킷에 대한 송신 스케쥴을 생성하는 단계;
- 상기 송신 스케쥴에 따라서 가정적 디코딩(hypothetical decoding)의 제1 단계를 수행하는 단계로서:
- 상기 송신 스케쥴에 따라서 송신될 패킷을 제1 가정적 디코딩 버퍼로 버퍼링하는 단계; 및
- 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하는 단계를 포함하는 단계;
- 가정적 디코딩의 제2 단계를 수행하는 단계로서:
- 상기 제1 가정적 디코딩 버퍼로부터의 출력에 기반하여 형성된 패킷을 버퍼링하는 단계를 포함하는 단계; 및
- 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을:
- 상기 스트림 생성기의 동작;
- 적어도 하나의 송신 프레임의 생성; 및
- 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 제2 측면에 따르면, 송신 장치로부터 수신 장치로 송신하기 위한 미디어 스트림을 버퍼링하기 위한 시스템이 제공되는데, 이러한 송신 장치는:
- 스트림 생성기(stream generator)로서,
- 상기 미디어 스트림의 적어도 한 종류의 미디어 정보로부터 미디어 패킷을 형성하기 위한 제1 패킷화기(packetizer);
- 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임을 생성하기 위한 프레임 생성기;
- 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들을 형성하기 위한 제2 패킷화기; 및
- 송신될 패킷에 대한 송신 스케쥴을 생성하기 위한 스케쥴러를 포함하는 스트림 생성기; 및
- 상기 송신 스케쥴에 따른 송신이 이루어지는 동안에 가정적 디코딩을 수행하기 위한 가정적 디코더로서:
- 상기 송신 스케쥴에 따라서 송신될 패킷을 버퍼링하기 위한 제1 가정적 디코딩 버퍼;
- 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하기 위한 출력기(output);
- 상기 제1 가정적 디코딩 버퍼로부터의 출력에 기반하여 형성된 패킷을 버퍼링하기 위한 제2 가정적 버퍼; 및
- 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을:
- 상기 스트림 생성기의 동작;
- 적어도 하나의 송신 프레임의 생성; 및
- 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하기 위한 제어기를 포함하는 가정적 디코더를 포함하는 것을 특징으로 한다.
본 발명의 제3 측면에 따르면, 송신 장치로부터 수신 장치로 송신하기 위한 미디어 스트림을 버퍼링하기 위한 버퍼를 포함하는 송신 장치가 제공되는데, 이러한 송신 장치는:
- 스트림 생성기로서,
- 상기 미디어 스트림의 적어도 한 종류의 미디어 정보로부터 미디어 패킷을 형성하기 위한 제1 패킷화기;
- 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임을 생성하기 위한 프레임 생성기;
- 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들을 형성하기 위한 제2 패킷화기; 및
- 송신될 패킷에 대한 송신 스케쥴을 생성하기 위한 스케쥴러를 포함하는 스트림 생성기; 및
- 상기 송신 스케쥴에 따른 송신이 이루어지는 동안에 가정적 디코딩을 수행하기 위한 가정적 디코더로서:
- 상기 송신 스케쥴에 따라서 송신될 패킷을 버퍼링하기 위한 제1 가정적 디코딩 버퍼;
- 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하기 위한 출력기;
- 상기 제1 가정적 디코딩 버퍼로부터의 출력에 기반하여 형성된 패킷을 버퍼링하기 위한 제2 가정적 버퍼; 및
- 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을:
- 상기 스트림 생성기의 동작;
- 적어도 하나의 송신 프레임의 생성; 및
- 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하기 위한 제어기를 포함하는 가정적 디코더를 더 포함하는 것을 특징으로 한다.
본 발명의 제4 측면에 따르면, 송신 장치로부터 수신 장치로 송신하기 위한 미디어 스트림을 버퍼링하기 위한 버퍼를 포함하는 무선 통신 장치가 제공되는데, 이러한 무선 통신 장치는:
- 스트림 생성기로서,
- 상기 미디어 스트림의 적어도 한 종류의 미디어 정보로부터 미디어 패킷을 형성하기 위한 제1 패킷화기;
- 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임을 생성하기 위한 프레임 생성기;
- 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들을 형성하기 위한 제2 패킷화기; 및
- 송신될 패킷에 대한 송신 스케쥴을 생성하기 위한 스케쥴러를 포함하는 스트림 생성기; 및
- 상기 송신 스케쥴에 따른 송신이 이루어지는 동안에 가정적 디코딩을 수행하기 위한 가정적 디코더로서:
- 상기 송신 스케쥴에 따라서 송신될 패킷을 버퍼링하기 위한 제1 가정적 디코딩 버퍼;
- 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하기 위한 출력기;
- 상기 제1 가정적 디코딩 버퍼로부터의 출력에 기반하여 형성된 패킷을 버퍼링하기 위한 제2 가정적 버퍼; 및
- 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을:
- 상기 스트림 생성기의 동작;
- 적어도 하나의 송신 프레임의 생성; 및
- 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하기 위한 제어기를 포함하는 가정적 디코더를 더 포함하는 것을 특징으로 한다.
본 발명의 제5 측면에 따르면, 송신 장치로부터 수신 장치로 송신하기 위한 미디어 스트림을 버퍼링하기 위한 버퍼를 포함하는 서버가 제공되는데, 이러한 서버는:
- 스트림 생성기로서,
- 상기 미디어 스트림의 적어도 한 종류의 미디어 정보로부터 미디어 패킷을 형성하기 위한 제1 패킷화기;
- 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임을 생성하기 위한 프레임 생성기;
- 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들을 형성하기 위한 제2 패킷화기; 및
- 송신될 패킷에 대한 송신 스케쥴을 생성하기 위한 스케쥴러를 포함하는 스트림 생성기;
- 상기 송신 스케쥴에 따른 송신이 이루어지는 동안에 가정적 디코딩을 수행하기 위한 가정적 디코더로서:
- 상기 송신 스케쥴에 따라서 송신될 패킷을 버퍼링하기 위한 제1 가정적 디코딩 버퍼;
- 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하기 위한 출력기;
- 상기 제1 가정적 디코딩 버퍼로부터의 출력에 기반하여 형성된 패킷을 버퍼링하기 위한 제2 가정적 버퍼; 및
- 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을:
- 상기 스트림 생성기의 동작;
- 적어도 하나의 송신 프레임의 생성; 및
- 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하기 위한 제어기를 포함하는 가정적 디코더; 및
- 상기 패킷을 상기 수신 장치로 송신하기 위한 송신기를 더 포함하는 것을 특징으로 한다.
본 발명의 제6 측면에 따르면, 멀티미디어 브로드캐스트/멀티캐스트 서비스 서버로서, 상기 서버로부터 수신 장치로 송신하기 위한 미디어 스트림을 버퍼링하기 위한 버퍼를 포함하는 서버가 제공되는데, 이러한 서버는:
- 스트림 생성기로서,
- 상기 미디어 스트림의 적어도 한 종류의 미디어 정보로부터 미디어 패킷을 형성하기 위한 제1 패킷화기;
- 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임을 생성하기 위한 프레임 생성기;
- 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들을 형성하기 위한 제2 패킷화기; 및
- 송신될 패킷에 대한 송신 스케쥴을 생성하기 위한 스케쥴러를 포함하는 스트림 생성기;
- 상기 송신 스케쥴에 따른 송신이 이루어지는 동안에 가정적 디코딩을 수행하기 위한 가정적 디코더로서:
- 상기 송신 스케쥴에 따라서 송신될 패킷을 버퍼링하기 위한 제1 가정적 디코딩 버퍼;
- 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하기 위한 출력기;
- 상기 제1 가정적 디코딩 버퍼로부터의 출력에 기반하여 형성된 패킷을 버퍼링하기 위한 제2 가정적 버퍼; 및
- 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을:
- 상기 스트림 생성기의 동작;
- 적어도 하나의 송신 프레임의 생성; 및
- 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하기 위한 제어기를 포함하는 가정적 디코더; 및
- 상기 패킷을 멀티미디어 브로드캐스트/멀티캐스트 서비스로서 송신하기 위한 송신기를 더 포함하는 것을 특징으로 한다.
본 발명의 제7 측면에 따르면, 송신 스케쥴을 가지며 적어도 하나의 송신 프레임을 포함하는 패킷을 수신하기 위한 수신 장치로서, 상기 적어도 하나의 송신 프레임으로부터 송신된 패킷들이 형성되고, 상기 적어도 하나의 송신 프레임은 미디어 스트림의 적어도 하나의 미디어 정보에 기반하여 형성되는 미디어 패킷들을 포함하는 수신 장치가 제공되는데, 이러한 수신 장치는,
- 상기 패킷의 수신의 개시 시점에서 상기 패킷의 디코딩을 지연하기 위한 초기 버퍼링 지연에 대한 정보를 포함하는 상기 송신된 패킷을 수신하기 위한 수신기;
- 수신된 패킷들로부터 상기 미디어 패킷을 재구성하기 위한 제1 역패킷화기(de-packetizer);
- 상기 미디어 패킷의 정보를 버퍼링하기 위한 버퍼;
- 상기 미디어 패킷의 미디어 정보를 디코딩하기 위한 디코더; 및
- 상기 초기 버퍼링량의 정보에 따라서 상기 디코딩을 지연시키기 위한 제어기를 포함하는 것을 특징으로 한다.
본 발명의 제8 측면에 따르면, 미디어 스트림의 적어도 하나의 미디어 정보에 기반하여 형성되는 미디어 패킷을 포함하는 상기 미디어 스트림에 관련된 신호로서, 상기 미디어 패킷들은 적어도 하나의 송신 프레임 내에 포함되고 송신 스케쥴을 가지며, 송신될 패킷들은 상기 송신 프레임으로부터 형성되고, 상기 신호는, 패킷의 디코딩을 지연시키기 위한 초기 버퍼링량과 같은 정보를 포함함으로써, 모든 송신 프레임 내의 미디어 스트림의 각 미디어 패킷이 자신의 디코딩 시점에 또는 그 이전에 이용 가능하도록 하는 것을 특징으로 하는 신호가 제공된다.
본 발명의 제9 측면에 따르면, 컴퓨터에 의하여 독출될 수 있는 매체 상에 저장된 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 생성물이 제공되는데, 상기 컴퓨터 프로그램은 미디어 스트림의 패킷을 버퍼링하기 위하여 기계 상에서 실행될 때, 기계에 의하여 실행될 수 있는 단계들로서:
- 스트림 생성기 내에서 적어도 한 종류의 미디어 정보로부터 미디어 패킷을 형성하는 단계;
- 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임을 생성하는 단계;
- 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들을 형성하는 단계;
- 송신될 패킷에 대한 송신 스케쥴을 생성하는 단계;
- 상기 송신 스케쥴에 따라서 가정적 디코딩의 제1 단계를 수행하는 단계로서:
- 상기 송신 스케쥴에 따라서 송신될 패킷을 제1 가정적 디코딩 버퍼로 버퍼링하는 단계; 및
- 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하는 기계에 의하여 실행될 수 있는 단계를 포함하는 단계;
- 가정적 디코딩의 제2 단계를 수행하는 단계로서:
- 상기 제1 가정적 디코딩 버퍼로부터의 출력에 기반하여 형성된 패킷을 버퍼링하는 단계를 포함하는 단계; 및
- 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을:
- 상기 스트림 생성기의 동작;
- 적어도 하나의 송신 프레임의 생성; 및
- 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하는 단계를 포함하는 것을 특징으로 한다.
이하, 본 발명은 첨부 도면을 참조하여 더욱 상세하게 설명될 것이다.
도 1은 본 발명의 일 실시예에 따른 시스템을 도시한다.
도 2는 DVB-H 상의 IP 데이터캐스팅을 위한 간략화된 시스템을 도시한다,
도 3은 MPE-FEC 프레임의 구조를 도시한다.
도 4는 본 발명의 일 실시예에 따른 송신 장치를 간략화된 블록도로써 도시한다.
도 5는 RSDT를 연산하기 위한 단계를 예시한다.
도 6은 본 발명의 일 실시예에 따르는 시스템 내의 버퍼링 모델을 도시한다.
그리고, 도 7은 DVB 네트워크에서의 미디어 송신의 일 예를 도시한다.
이하, 본 발명의 예시적인 실시예에 따르는 시스템이 도 1 내지 도 6을 참조하여 설명된다. 도 1에 도시된 시스템은 송신 장치(1), 송신 채널(2), 및 수신 장치(3)를 포함한다. 송신 장치(1)는 예컨대 서버, 무선 통신 장치, 개인용 컴퓨터 등일 수 있다. 수신 장치(3)는 예컨대 무선 통신 장치, 개인용 컴퓨터, TV 등일 수 있다.
송신 장치(1)는 송신 스트림(702)을 하나 또는 그 이상의 DVB 서비스(703)(미디어 성분 또는 다른 IP 스트림을 포함)로부터 형성하기 위한 스트림 생성기(1.0)를 포함한다. 도시된 실시예에서, 스트림 발생기(1.0)는 필요할 경우 미디어 정보를 인코딩하기 위한 인코더(1.1), RTP/UDP/IP 패킷화기(1.2), 멀티프로토콜 캡슐화기(1.3), FEC 인코딩 버퍼(1.4), FEC 인코더 블록(1.6), 및 송신 스케쥴링 블록(1.8)을 포함한다. 인코더(1.1)는 인코딩된 비트 스트림을 포함하는 데이터 플로우(D1)를 생성한다. 데이터 플로우(D1)는 패킷화기(1.2)로 전달되고, 여기에서 데이터 플로우(D1)는 해당 포맷의 페이로드 규정(payload specification)에 따라 IP 데이터그램 페이로드(R2)로 캡슐 화된다. 그러면, 이러한 소스 IP 데이터그램(도 1의 데이터 플로우 D2)은 멀티프로토콜 캡슐화기 블록(1.3)에서 더 처리되는데, 여기서 소스 IP 데이터그램(D2)은 프레이밍된(framed) MPE 섹션 구조로 캡슐화됨으로써 MPE 섹션을 형성한다. MPE 섹션(데이터 플로우 D3)은 FEC 인코딩 버퍼(1.4)에 저장된다.
손실된 전송 패킷의 에러 복구를 가능하게 하기 위하여 필요한 에러 복구 정보가 형성되어야만 한다. 도시된 실시예에서 보수 패킷은 다음과 같이 형성된다. FEC 인코더 블록(1.6)은 이러한 MPE 섹션 상의 에러 정정 코드를 연산하고, 소스 IP 데이터그램(D2)에 대한 에러 정정 코드를 포함하는 보수 패킷들에 대한 MPE-FEC 섹션을 형성한다. MPE-FEC 섹션(데이터 플로우 D6)은 FEC 인코딩 버퍼(1.4)에도 역시 저장된다.
송신 스케쥴링 블록(1.8)은 MPE 섹션 패킷을 송신하기 위한 속도를 결정한다. DVB-H 상의 IP 데이터캐스팅은 전형적으로는 시간 분할(time slicing) 기법을 적용하는데, 이에 따르면 기본적 스트림은 버스트(burst) 단위로 수신기로 송신됨으로써, 수신기가 제어 신호를 이용하여 어떠한 버스트도 수신되지 않아야 할 경우 비활성화된 상태를 유지하도록 한다. 데이터가 미디어 디코딩 비트율과 동일한 비트율로 송신된다면, 버스트는 요청되는 비트율과 비교할 때 훨씬 높은 비트율로 전송된다. 수신기에서 무선 수신기가 지속적으로 활성화 상태를 유지하는 경우에 비 교할 때, 큰 전력 소비가 시간 분할에 의하여 달성될 수 있다.
패킷 스케쥴러(1.8)는 MPE 섹션 패킷의 출력을 제어함으로써, 각 MPE 섹션 패킷이 사용 중인 스케쥴링 프로세스에 따라서 적절한 시점에 송신되도록 한다. MPE 섹션 패킷의 가능한 순서는, 예를 들면 단일 FEC 블록의 모든 소스 MPE 섹션 패킷이 보수 패킷(들)이 송신되기 이전에 송신되도록 하는 순서일 수 있다. 그러나, 이와는 상이한 순서도 역시 적용될 수 있다는 점은 명백하다. 예를 들어, 소스 MPE 섹션 패킷과 보수 패킷은 인터리빙될 수 있다.
패킷 스케쥴러(1.8)는 MPE 섹션 패킷들을 MPEG-2 전송 스트림(Transport Stream, TS)의 패킷으로서 송신한다. 바꾸어 말하면, MPE 섹션 패킷은 MPEG-2 송신 스트림 패킷으로 세그먼트화된다. 필요한 전송 프로토콜 변환이 수행될 때, 패킷들은 공지된 바와 같은 장치(1)의 송신기(1.13)에 의하여 송신 채널(2)로 송신될 수 있다. 송신은 무선이거나 유선 송신일 수 있으며, 또는 송신 경로의 상이한 링크에 유선 및 무선 송신 모두가 적용될 수도 있다. 송신 채널은 하나 또는 그 이상의 노드들, 기지국들 등을 포함할 수 있으며, 이들을 통하여 패킷 스트림이 송신될 수 있다. 송신 채널의 세부 사항 및 송신 방법의 세부 사항은 공지된 바와 같으며, 따라서 본 명세서에서 더 상세히 설명할 필요가 없다.
패킷은 반드시 스케쥴링 프로세스가 수행되고 난 후에 송신되는 것은 아니며, 패킷들이 메모리에 예를 들어 파일의 형태로 저장되는 것도 가능하다. 이러한 파일은 또한 추가적 정보와 함께 포함될 수 있다.
본 발명에 따르는 시스템에서 MPEG-2 송신 스트림 패킷은 또한 가정적 디코 더(1.9)로 송신된다(데이터 플로우 D9a). 가정적 디코더(1.9)의 동작은 해당 부분에서 더 상세히 후술된다. 가정적 FEC 디코더는 송신 스케쥴링의 속도(pace), 생성되는 보수 패킷(각 FEC 블록에 대한)의 개수, 및 각 FEC 내의 소스 MPE 섹션 패킷(IP 데이터그램)의 개수를 제어할 수 있다. 이러한 제어 동작은 도 1의 점선을 이용하여 표시된다.
이하, 수신 장치(3)의 동작이 좀더 상세하게 기술된다. 수신기(3.1)는 송신된 패킷 스트림을 운반하는 신호를 수신하고, 필요한 복조 동작을 수행하는데, 이 과정에서 수신기(3.1)는 복조된 정보를 수신 스케쥴링 블록(3.2)에 출력한다. 수신 스케쥴링 블록(3.2)은 언제 수신기가 켜져서 원하는 시간 분할 버스트(time slicing burst)를 수신할지 결정한다. 수신 스케쥴링 블록(3.2)에서, 복조된 정보는 MPE 섹션 패킷 스트림으로 변환된다. 수신 스케쥴링 블록(3.2)은 필요할 경우 몇 가지 프로토콜 변환 동작 및 역암호화(decryption) 동작을 수행함으로써, MPE 섹션 패킷 플로우(데이터 플로우 D13)를 재구성할 수 있다. 수신 스케쥴링 블록은 MPE 섹션들을 FEC 디코딩 버퍼(3.4)로 전달한다.
만일 한 FEC 블록에 적어도 하나의 손실된 소스 패킷이 존재한다면, 수신 장치(3)는 다음과 같이 이러한 손실을 정정하려고 노력한다: FEC 디코더(3.6)는 적합한 FEC 디코딩 알고리즘을 이용하여 손실된 소스 MPE 섹션을 재생성하고 이들을 다시 FEC 디코딩 버퍼(3.4)에 저장한다.
멀티프로토콜 역캡슐화 블록(3.7)은 FEC 디코딩 버퍼(3.4)로부터 MPE 섹션 패킷을 패치한다. 멀티프로토콜 역캡슐화기(3.7)에서, RTP/UDP/IP 패킷은 MPE 섹 션의 페이로드를 채택하고, 또한 필요할 경우 수 개의 MPE 섹션으로부터 RTP/UDP/IP 패킷을 재조립(reassembling)함으로써 형성된다. 이러한 동작 이후에 RTP/UDP/IP 데이터그램 패킷 플로우(데이터 플로우 D19)는 미디어 포맷의 페이로드 규정을 준수하게 되고, 역패킷화기(3.8)로 전달될 수 있다.
역패킷화기(3.8)는 RTP/UDP/IP 데이터그램 패킷 플로우(D19)를 역패킷화하고, 해당 미디어 포맷의 미디어 페이로드 사양(specification)에 따라 소스 RTP/UDP/IP으로부터 페이로드를 분리한다. 그 결과, 비트 스트림 또는 어플리케이션 데이터 유닛들(Application Data Units, ADU, 데이터 플로우 D20)의 스트림이 얻어진다. 어플리케이션 데이터 유닛은 미디어 코딩 포맷의 기본적 유닛이며, 즉, H.264/AVC의 네트워크 추상화 계층(Network Abstraction Layer, NAL)이거나 코딩된 오디오 프레임과 같은 것이다. 그러면, ADU의 미디어 비트스트림 또는 스트림은 후속 처리를 위해 디코딩될 수 있다.
가정적 디코더(Hypothetical Decoder)
이하, 가정적 FEC 디코더(1.9)의 동작이 좀더 상세하게 기술될 것이다. 가정적 수신기는 도 6에 도시된 버퍼를 포함한다. 여기서, 가정적 FEC 디코더는 전송 버퍼(611), 멀티프로토콜 역캡슐화 버퍼(612), 및 RTP 역캡슐화 버퍼(613)를 포함하는 것으로 가정된다. 가정적 미디어 디코더는 코딩된 데이터 버퍼(614) 및 디코딩된 데이터 버퍼(615)를 포함하는 것으로 간주된다.
전송 버퍼(611)(도 6)는 MPEG-2 TS 패킷을 수신하고, 모든 중복된 패킷을 제거한다. 이러한 동작은 ETSI EN 301 192에 기술된 바 및 MPEG-2 시스템과 유사하 다. 멀티프로토콜 역캡슐화 버퍼(612)는 가상 FEC 디코딩 및 MPE 섹션의 IP 데이터그램으로의 역캡슐화를 위하여 이용된다. RTP 역캡슐화 버퍼(613)는 RTP 및 RTP 페이로드 헤더의 역캡슐화 및 시간 분할(time slice)의 버스티(bursty)한 속성을 미디어 디코더를 위한 일정한 비트율 입력으로 평활화하기 위하여 이용된다. 코딩된 데이터 버퍼(614) 및 디코딩된 데이터 버퍼(615)는 미디어 디코더 사양에서 정의된다.
각 MPEG-2 TS 멀티플렉스(702)에는 하나의 전송 버퍼(611)가 존재하고, 각 기본적 스트림(704)에는 하나의 멀티프로토콜 역캡슐화 버퍼(612)가 존재하며, 각 IP 스트림(705)에는 하나의 RTP 역캡슐화 버퍼(613)가 존재하고, 해당 IP 스트림에서 운반되는 하나의 각 기본적 미디어 스트림에는 하나의 코딩된 데이터 버퍼(614)가 존재하며, 전형적으로는, 해당 IP 스트림 내에서 운반되는 각 기본적 미디어 스트림에는 하나의 디코딩된 데이터 버퍼(615)가 존재한다.
멀티프로토콜 역캡슐화 버퍼(612) 및 RTP 역캡슐화 버퍼(613)가 이하 후술된다.
멀티프로토콜 역캡슐화(multiprotocol decapsulation, MPD) 버퍼 모델은 IP 스트림(705)을 운반하는 시간 분할된(time-sliced) 기본적 스트림(704)에 적용된다. 시간 분할의 시간 분할 요소(time-slicing element)의 값 및 FEC 식별자 기술자(FEC indentifier descriptor)는 시간 분할된 기본 스트림에 대하여는 1과 동일할 수 있다.
MPD 버퍼 모델은 다음과 같이 특정된다. MPD 버퍼(612)는 최초에는 비어 있 다. 데이터 송신은 시간 분할의 송신 순서에 따라 제1 MPEG-2 TS 패킷으로부터 개시된다. 전송 버퍼(611)로부터의 각 MPEG-2 TS 패킷 출력은 MPD 버퍼(TS 패킷 헤더 없이)에 삽입된다. 시간 분할 및 FEC 식별자 기술자(FEC indentifier descriptor)의 mpe_fec 요소의 값이 00b와 같으면, MPEG-2 TS 패킷은 MPE 섹션을 완료하고, 완료된 MPE 섹션은 데이터그램을 완료한다(즉, 마지막 섹션 변호의 값이 MPE 섹션 헤더 내의 섹션 번호의 값과 동일하다). MPE 섹션은 MPD 버퍼(612)로부터 제거되고 MPE 섹션 내에서 운반되는 데이터그램이 출력된다. 시간 분할 및 FEC 식별자 기술자(FEC indentifier descriptor)의 mpe_fec 요소의 값이 01b와 같고 MPEG-2 TS 패킷이 한 시간 분할(time slice) 내의 첫 번째라면, MPE-FEC 프레임은 ETSI EN 301 192 v1.4.1의 절 9.3.1에서 정의되는 바와 같이 MPD 버퍼에서 형성된다. 시간 분할 및 FEC 식별자 기술자(FEC indentifier descriptor)의 mpe_fec 요소의 값이 01b와 같으면, 각 MPEG-2 TS 패킷은 ETSI EN 301 192 v1.4.1의 절 9.3.1에서 정의되는 바와 같이 MPD 버퍼 내에 삽입된다. 시간 분할 및 FEC 식별자 기술자(FEC indentifier descriptor)의 mpe_fec 요소의 값이 01b와 같고 MPEG-2 TS 패킷이 MPD 버퍼(612) 내의 MPE-DEC 프레임을 위한 데이터를 포함하는 최후의 것이라면, MPE-FEC 프레임의 MPE 섹션에서 운반되는 데이터그램은 출력되고, 해당 MPE-FEC 프레임은 MPD 버퍼(612)로부터 제거된다.
RTP 역캡슐화 버퍼(RTP Decapsulation Buffer)
RTP 역캡슐화 버퍼 모델은 멀티프로토콜 역캡슐화 버퍼(612)로부터 출력되고, RTP 패킷을 포함하는 데이터그램에 적용된다. RTP 역캡슐화 버퍼 모델은 IP 스트림에 특유하다.
RTP 역캡슐화 버퍼(613)는 처음에 비어 있다. 각 RTP 패킷은 RTP 역캡슐화 버퍼(613)에 UDP와 IP 헤더 없이 삽입되지만 RTP 헤더가 MPD 버퍼(612)로부터 출력되면 즉시 RTP 헤더를 포함한다. RTP 패킷은 시그널링된 초기 버퍼링 지연(제1 RTP 패킷의 삽입 이후에)이 만료되기 전에는 RTP 역캡슐화 버퍼(613)로부터 제거되지 않는다. 초기 버퍼링 지연을 위한 시그널링 수단은 본 명세서의 해당 부분에서 설명된다. 어플리케이션 데이터 유닛(ADU)은 디코딩 순서에 따라 RTP 역캡슐화 버퍼(613)로부터 출력된다. H.264/AVC 스트림에 대하여, ADU는 NAL 유닛으로서 정의되고 그들의 디코딩 순서는 RFC 3984에 규정된다. AAC 스트림에 대하여, ADU는 액세스 유닛(access unit)과 동일하며 RFC 3640에 규정되고, ADU의 디코딩 순서도 RFC 3640에 규정된다. 디코딩 순서에 따른 제1 ADU는 초기 버퍼 지연이 만료되면 즉시 출력된다. 디코딩 순서에 따른 연속되는 각 ADU는 그것이 RTP 역캡슐화 버퍼(613) 내에 이용가능해지고, 후속 시간(초 단위)이 이전 ADU의 제거가 일어난 시점으로부터 지나면 출력된다: 8*(이전 ADU의 바이트 단위의 크기)/(1000*(해당 스트림을 위한 "b=AS" SDP 속성의 값)). RTP 패킷은 그것이 포함하는 모든 ADU들이 출력되면 RTP 역캡슐화 버퍼로부터 제거된다.
초기 버퍼링 지연의 시그널링(Signaling of Initial Buffering Delay)
초기 버퍼링 지연은 RTP 패킷이 RTP 역캡슐화 버퍼(613)로 삽입된 시점부터 디코딩 순서에 따른 제1 ADU가 해당 RTP 역캡슐화 버퍼(613)로부터의 출력될 수 있을 때까지의 시점까지의 지연을 월 클록 시간(wall clock time)에 따른 밀리초 단 위로 시그널링한다. 시그널링된 지연은 중단없는 디코딩 및 재생을 보장한다. 이 값은 네트워크 바이트 순서의 무부호 16-비트 정수이다.
이하, 초기 버퍼링 시그널링을 위한 문법 및 의미론의 일 예에 대한 몇 가지 세부적인 사항이 제공될 것이다.
RTCP 확장 보고(Extended Report, XR)는 RFC 3611에 규정되는데, 이것은 RTCP 상에서 운반되는 정보를 전송자 및 수신자 보고(Sender and Receiver Reports)의 콘텐츠로까지 확대하기 위한 매커니즘이다. RTCP XR 보고의 7개의 보고 블록 타입들은 RFC 3611에 규정되어 있으며, 추가적인 보고 블록 타입을 포함하기 위하여 확장 메커니즘이 제공된다. 신규한 RTCP XR 보고 블록 타입이 신규 버퍼링 지연을 전달하기 위하여 규정될 수 있다.
RTCP 전송자 보고는 해당 MPE FEC 프레임으로부터의 수신을 개시하는 수신기 내에서 오디오-비디오 동기화가 정확히 이루어지도록 하기 위하여 모든 MPE FEC 프레임 내에서 전달되어야 한다. 그러므로, 제안된 초기 버퍼링 지연 확장 보고는 전송자 보고(Sender Report)로서 동일한 RTCP 패킷에 통합될 수 있다. 결과적으로, 초기 버퍼링 정보를 운반하기 위하여 요구되는 UDP/IP/MPE 섹션 오버헤드는 존재하지 않는다.
이 대신에, 초기 버퍼링 지연 요소는 하기와 같이 규정되는 바와 같이 RTP 패킷 내에 존재할 수 있다. 초기 버퍼링 지연 요소가 RTP 패킷에 존재하지 않으면, 때, 초기 버퍼링 지연의 이전 값이 해당 RTP 패킷에 적용될 수 있다. 만일 이용 가능한 초기 버퍼링 지연의 이전 값이 존재하지 않으면, 초기 버퍼링 지연은 0 인 것으로 추정된다. RTP 헤더의 패딩 비트가 1과 같고, 해당 패딩의 최후 옥텟의 값이 2보다 크며, 해당 패딩의 최후 옥텟에 선행하는 옥셋의 값이 0x80과 같으면, 초기 버퍼링 지연 요소가 존재한다. 초기 버퍼링 지연의 값은 RTP 패딩의 최후 두 개의 옥텟에 선행한다.
이 대신에, 추가적인 초기 버퍼링 지연 필드가 MPEG-2 송신 스트림에 다중화되는 기술자 내에 규정된다.
이 대신에, 신규한 MPE 섹션 구조가 규정되거나 현존하는 MPE 섹션 또는 MPE-FEC 섹션 구조가 첨부되어 초기 버퍼링 지연 요소를 포함하게 된다.
FEC 블록의 생성(Generation of an FEC Block)
한 MPE-FEC 프레임은 255개의 열 및 변동 가능한 개수의 행을 가지는 행렬로서 구현된다. 현재 256, 512, 768, 1024바이트의 행 크기가 정의된다. 도 3은 MPE-FEC 프레임의 구조를 도시한다. 행렬의 각 위치는 정보 바이트를 포함한다. 첫 번째 191개의 열들은 IP 데이터그램 및 가능하게는 패딩을 운반하는 MPE 섹션에 전용된다. MPE-FEC 프레임의 이 부분은 어플리케이션 자료 표(application data table, ADT)라고 불린다. MPE-FEC 프레임의 다음 64개의 칼럼은 리드-솔로몬(Reed-Solomon) FEC 코딩된 패리티 정보를 위하여 예약되며, RS 데이터 표(RS data table, RSDT)라고 불린다.
ADT는 완전히 또는 부분적으로 데이터그램을 이용하여 채워질 수 있다. ADT가 부분적으로 채워지는 경우, 잔존하는 열들은 0 바이트를 이용하여 패딩되고 패딩 열이라고 불린다. 패딩은 또한 후속의 완전한 데이터그램을 채워넣을 공간이 MPE-FEC 프레임에 존재하지 않을 경우에도 수행된다. RSDT는 RS (255, 191) FEC 코드의 각 행을 가로질러 연산된다. 도 5는 RSDT를 계산하기 위한 프로시저를 예시한다.
RSDT의 전체 64개의 열을 연산할 필요는 없으며, 이것의 가장 우측에 위치한 열들 중 몇 개는 완전히 폐기될 수 있으며, 이러한 과정은 펑처링(puncturing)이라고 불린다. 패딩되거나 펑처링된 열들은 송신 채널 상에서 전송되지 않는다.
적합성 요구 사항(Conformance Requirements)
IP 캡슐화기와 같은 송신 장치(1)는, 가정적 FEC 디코더(1.9)의 버퍼 점유율 레벨이 요구된 버퍼 크기를 초과하지 않도록 증명할 것이다. 필요할 경우, 가정적 FEC 디코더(1.9)는 스트림 생성기(1.0)를 제어하여 버퍼 점유율 레벨에 영향을 미칠 수 있는 몇 개의 파라미터들을 변경할 수 있다. 예를 들면, 가정적 FEC 디코더(1.9)는 형성된 미디어 패킷들의 빈도 및/또는 송신 스케쥴, 형성된 보수 패킷의 빈도 및/또는 개수, 및/또는 미디어 및 보수 패킷들의 송신 스케쥴을 제어할 수 있다. 더 나아가, 송신 장치(1)는 가정적 FEC 디코더(1.9)의 출력이 해당 미디어 포맷의 미디어 페이로드 및 디코딩 규정에 순응하도록 구현되어야 한다.
몇 가지 구현예에서, 디코딩 버퍼의 크기는 일정하지 않고, 오히려 필요에 따라서 변경될 수도 있다. 가정적 FEC 디코더(1.9)는 FEC 디코딩 버퍼의 필요한 버퍼링 크기를 결정할 수 있다. 그러면, 결정된 크기는 수신 장치(3)로 표시될 수 있고, 수신 장치는 해당 버퍼링을 위한 충분한 메모리를 예약할 수 있다.
가정적 디코더(1.9)는 전술된 바와 같은 동작을 수행하기 위한 제어기(미도 시)를 포함할 수 있고, 또는 송신 장치의 제어기(1.14)는 가정적 디코더(1.9)의 제어기로서 사용될 수 있다.
멀티프로토콜 역캡슐화 버퍼 및 RTP 역캡슐화 버퍼를 포함하고 있는 제공된 버퍼링 모델이 적용되면, 송신 장치는 IP 스트림을 운반하는 모든 시간 분할된(time-sliced) 기본 스트림들이 버퍼링 제안 모델에 따르고 다음의 요구 조건들을 만족시키도록 보장할 수 있다:
- 모든 기본적 스트림에 대하여, 멀티프로토콜 역캡슐화 버퍼(612)의 버퍼 점유율 레벨은 제1 바이트 수를 나타내는 제1 파라미터(A)의 값을 초과하지 않을 것.
- 해당 기본적 스트림 내에서 운반되는 모든 IP 스트림에 대하여, RTP 역캡슐화 버퍼의 출력이 해당 미디어 포맷의 디코딩 규정에 순응할 것.
- 해당 기본적 스트림 내에서 운반되는 모든 IP 스트림에 대하여, RTP 역캡슐화 버퍼(613)의 버퍼 점유율 레벨은 제2 바이트 수를 나타내는 제2 파라미터(B)의 값을 초과하지 않을 것.
제1 파라미터(A) 및 제2 파라미터(B)의 값들은 최대 MPE-FEC 프레임 크기에 비례한다. 제2 파라미터(B)의 값을 결정하는데 있어서, 비트율 및 시간 분할 인터벌(time-slice interval)의 경계적 평탄화 변이(marginal to smooth out variation)가 고려되어야 한다.
수신 장치(3), 예를 들어 이를테면 DVB-H 클라이언트와 같은 장치는 가정적 FEC 디코더(1.9)에 따르는 MPEG-2 송신 스트림을 수신할 수 있을 것이다. 더 나아 가, 수신 장치(3)가 MPEG-2 송신 패킷 스트림의 미디어 디코딩을 위한 요구 조건에 따르면, MPEG-2 송신 패킷 스트림을 역패킷화 및 디코딩하고 디코딩된 데이터를 정확한 속도로 출력할 수 있을 것이다.
비록 본 발명의 기본적인 신규한 특징들이 본 발명의 바람직한 실시예에 적용된 상태로서 도시, 설명, 및 지적된 바 있지만, 본 발명의 기술적 사상을 벗어나지 않는 범위에서 당업자에 의하여 본 발명에 따른 장치 및 방법의 형태 및 세부 사항에 대하여 다양한 생략, 치환, 및 변화를 구현하는 것이 가능하다는 점이 이해될 것이다. 예를 들어, 본 발명과 동일한 결과를 획득하기 위하여 실질적으로 동일한 방법으로 실질적으로 동일한 기능을 구현하는 구성 요소들 및/또는 방법의 단계들의 모든 조합이 본 발명의 기술적 사상에 포함되는 점은 명백하다. 더 나아가, 본 발명의 개시된 모든 형태 또는 실시예와 관련된 구성 및/또는 구성 요소 및/또는 방법의 단계들 및/또는 이와 관련하여 설명된 모든 요소들이 단순한 설계 변경의 일반적인 대상으로서 모든 개시되거나 설명되거나 제안된 형태 또는 실시예와 함께 관련되거나 관련될 수 있다는 점도 인식되어야 한다. 그러므로, 본 발명의 기술적 사상은 첨부된 도면에 의하여만 한정되는 것으로 이해되어야 한다.
본 발명은 송신 장치로부터 수신 장치로의 송신을 위한 미디어 스트림의 패킷의 버퍼링을 위하여 적용될 수 있다.

Claims (21)

  1. 미디어 스트림의 패킷을 버퍼링하기 위한 방법에 있어서,
    - 스트림 생성기 내에서 적어도 한 종류의 미디어 정보로부터 미디어 패킷을 형성하는 단계;
    - 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임을 생성하는 단계;
    - 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들을 형성하는 단계;
    - 송신될 패킷에 대한 송신 스케쥴을 생성하는 단계;
    - 상기 송신 스케쥴에 따라서 가정적 디코딩(hypothetical decoding)의 제1 단계를 수행하는 단계로서:
    - 상기 송신 스케쥴에 따라서 송신될 패킷을 제1 가정적 디코딩 버퍼로 버퍼링하는 단계; 및
    - 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하는 단계를 포함하는 단계;
    - 가정적 디코딩의 제2 단계를 수행하는 단계로서:
    - 상기 제1 가정적 디코딩 버퍼로부터의 출력에 기반하여 형성된 패킷을 버퍼링하는 단계를 포함하는 단계; 및
    - 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을:
    - 상기 스트림 생성기의 동작;
    - 적어도 하나의 송신 프레임의 생성; 및
    - 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    - 상기 미디어 패킷에 기반하여 순방향 에러 정정 데이터를 형성하는 단계;
    - 상기 순방향 에러 정정 데이터에 기반하여 하나 또는 그 이상의 보수 패킷(repair packet)을 형성하는 단계; 및
    - 상기 보수 패킷들 중 적어도 하나를 송신될 패킷에 포함시키는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    - 제1 패킷이 상기 제2 가정적 디코딩 버퍼에 입력된 후, 가정적 디코딩의 상기 제2 단계를 지연시키기 위한 초기 버퍼링량을 정의하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제3항에 있어서, 가정적 디코딩의 상기 제2 단계는:
    - 가정적 디코딩의 상기 제2 단계를 지연시키기 위한 상기 초기 버퍼링량이 만료되면, 상기 제2 가정적 디코딩 버퍼로부터 하나의 기본적 미디어 유 닛(elementary media unit)을 제거하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    버퍼 점유율이 결정된 크기를 초과하지 않도록, 상기 제1 가정적 디코딩 버퍼 및 제2 가정적 디코딩 버퍼 중 적어도 하나의 크기를 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제2항에 있어서,
    상기 가정적 디코딩 버퍼의 크기는 선결정되며, 상기 방법은,
    상기 버퍼 점유율 레벨을:
    - 형성된 미디어 패킷들의 빈도,
    - 형성된 보수 패킷의 개수, 및
    - 상기 미디어 및 보수 패킷들의 송신 스케쥴 중 적어도 하나를 제어함으로써 결정된 크기를 초과하지 않도록 제어하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 송신 장치로부터 수신 장치로 송신하기 위한 미디어 스트림을 버퍼링하기 위한 시스템에 있어서, 상기 송신 장치는:
    - 스트림 생성기(stream generator)로서,
    - 상기 미디어 스트림의 적어도 한 종류의 미디어 정보로부터 미디어 패킷을 형성하기 위한 제1 패킷화기(packetizer);
    - 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임을 생성하기 위한 프레임 생성기;
    - 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들을 형성하기 위한 제2 패킷화기; 및
    - 송신될 패킷에 대한 송신 스케쥴을 생성하기 위한 스케쥴러를 포함하는 스트림 생성기; 및
    - 상기 송신 스케쥴에 따른 송신이 이루어지는 동안에 가정적 디코딩을 수행하기 위한 가정적 디코더로서:
    - 상기 송신 스케쥴에 따라서 송신될 패킷을 버퍼링하기 위한 제1 가정적 디코딩 버퍼;
    - 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하기 위한 출력기(output);
    - 상기 제1 가정적 디코딩 버퍼로부터의 출력에 기반하여 형성된 패킷을 버퍼링하기 위한 제2 가정적 버퍼; 및
    - 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을:
    - 상기 스트림 생성기의 동작;
    - 적어도 하나의 송신 프레임의 생성; 및
    - 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하기 위한 제어기를 포함하는 가정적 디코더를 포함하는 것을 특징으로 하는 시스템.
  8. 제7항에 있어서,
    - 상기 미디어 패킷에 기반하여 순방향 에러 정정 데이터를 형성하기 위한 에러 정정 코드 정의기(error correction code definer); 및
    - 상기 순방향 에러 정정 데이터에 기반하여 하나 또는 그 이상의 보수 패킷을 형성하기 위한 제2 패킷화기를 포함하며,
    상기 시스템은 상기 보수 패킷들 중 적어도 하나를 송신될 패킷에 포함시키도록 구성되는 것을 특징으로 하는 시스템.
  9. 제7항에 있어서,
    - 제1 패킷이 상기 제2 가정적 디코딩 버퍼에 입력된 후, 가정적 디코딩의 상기 제2 단계를 지연시키기 위한 초기 버퍼링량을 정의하기 위한 정의기(definition)를 포함하는 것을 특징으로 하는 시스템.
  10. 제9항에 있어서, 상기 가정적 디코더는:
    - 가정적 디코딩의 상기 제2 단계를 지연시키기 위한 상기 초기 버퍼링량이 만료되면, 상기 제2 가정적 디코딩 버퍼로부터 하나의 기본적 미디어 유닛을 제거하도록 적응되는 것을 특징으로 하는 시스템.
  11. 제7항에 있어서,
    버퍼 점유율이 결정된 크기를 초과하지 않도록, 상기 제1 가정적 디코딩 버퍼 및 제2 가정적 디코딩 버퍼 중 적어도 하나의 크기를 결정하도록 적응되는 것을 특징으로 하는 시스템.
  12. 제8항에 있어서,
    상기 가정적 디코딩 버퍼의 크기는 선결정되며, 상기 가정적 디코더는,
    상기 버퍼 점유율 레벨을:
    - 형성된 미디어 패킷들의 빈도,
    - 형성된 보수 패킷의 개수, 및
    - 상기 미디어 및 보수 패킷들의 송신 스케쥴 중 적어도 하나를 제어함으로써 결정된 크기를 초과하지 않도록 제어하도록 적응되는 것을 특징으로 하는 시스템.
  13. 송신 장치로부터 수신 장치로 송신하기 위한 미디어 스트림을 버퍼링하기 위한 버퍼를 포함하는 송신 장치에 있어서, 상기 송신 장치는:
    - 스트림 생성기로서,
    - 상기 미디어 스트림의 적어도 한 종류의 미디어 정보로부터 미디어 패킷을 형성하기 위한 제1 패킷화기;
    - 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임을 생성하기 위한 프레임 생성기;
    - 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들을 형성하기 위한 제2 패킷화기; 및
    - 송신될 패킷에 대한 송신 스케쥴을 생성하기 위한 스케쥴러를 포함하는 스트림 생성기; 및
    - 상기 송신 스케쥴에 따른 송신이 이루어지는 동안에 가정적 디코딩을 수행하기 위한 가정적 디코더로서:
    - 상기 송신 스케쥴에 따라서 송신될 패킷을 버퍼링하기 위한 제1 가정적 디코딩 버퍼;
    - 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하기 위한 출력기;
    - 상기 제1 가정적 디코딩 버퍼로부터의 출력에 기반하여 형성된 패킷을 버퍼링하기 위한 제2 가정적 버퍼; 및
    - 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을:
    - 상기 스트림 생성기의 동작;
    - 적어도 하나의 송신 프레임의 생성; 및
    - 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하기 위한 제어기를 포함하는 가정적 디코더를 더 포함하는 것을 특징으로 하는 송신 장 치.
  14. 무선 통신 장치로부터 수신 장치로 송신하기 위한 미디어 스트림을 버퍼링하기 위한 버퍼를 포함하는 무선 통신 장치에 있어서, 상기 무선 통신 장치는:
    - 스트림 생성기로서,
    - 상기 미디어 스트림의 적어도 한 종류의 미디어 정보로부터 미디어 패킷을 형성하기 위한 제1 패킷화기;
    - 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임을 생성하기 위한 프레임 생성기;
    - 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들을 형성하기 위한 제2 패킷화기; 및
    - 송신될 패킷에 대한 송신 스케쥴을 생성하기 위한 스케쥴러를 포함하는 스트림 생성기; 및
    - 상기 송신 스케쥴에 따른 송신이 이루어지는 동안에 가정적 디코딩을 수행하기 위한 가정적 디코더로서:
    - 상기 송신 스케쥴에 따라서 송신될 패킷을 버퍼링하기 위한 제1 가정적 디코딩 버퍼;
    - 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하기 위한 출력기;
    - 상기 제1 가정적 디코딩 버퍼로부터의 출력에 기반하여 형성된 패킷 을 버퍼링하기 위한 제2 가정적 버퍼; 및
    - 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을:
    - 상기 스트림 생성기의 동작;
    - 적어도 하나의 송신 프레임의 생성; 및
    - 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하기 위한 제어기를 포함하는 가정적 디코더를 더 포함하는 것을 특징으로 하는 무선 통신 장치.
  15. 서버로부터 수신 장치로 송신하기 위한 미디어 스트림을 버퍼링하기 위한 버퍼를 포함하는 서버에 있어서, 상기 서버는:
    - 스트림 생성기로서,
    - 상기 미디어 스트림의 적어도 한 종류의 미디어 정보로부터 미디어 패킷을 형성하기 위한 제1 패킷화기;
    - 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임을 생성하기 위한 프레임 생성기;
    - 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들을 형성하기 위한 제2 패킷화기; 및
    - 송신될 패킷에 대한 송신 스케쥴을 생성하기 위한 스케쥴러를 포함하는 스트림 생성기;
    - 상기 송신 스케쥴에 따른 송신이 이루어지는 동안에 가정적 디코딩을 수행하기 위한 가정적 디코더로서:
    - 상기 송신 스케쥴에 따라서 송신될 패킷을 버퍼링하기 위한 제1 가정적 디코딩 버퍼;
    - 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하기 위한 출력기;
    - 상기 제1 가정적 디코딩 버퍼로부터의 출력에 기반하여 형성된 패킷을 버퍼링하기 위한 제2 가정적 버퍼; 및
    - 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을:
    - 상기 스트림 생성기의 동작;
    - 적어도 하나의 송신 프레임의 생성; 및
    - 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하기 위한 제어기를 포함하는 가정적 디코더; 및
    - 상기 패킷을 상기 수신 장치로 송신하기 위한 송신기를 더 포함하는 것을 특징으로 하는 서버.
  16. 멀티미디어 브로드캐스트/멀티캐스트 서비스 서버로서, 상기 서버로부터 수신 장치로 송신하기 위한 미디어 스트림을 버퍼링하기 위한 버퍼를 포함하는 서버에 있어서, 상기 서버는:
    - 스트림 생성기로서,
    - 상기 미디어 스트림의 적어도 한 종류의 미디어 정보로부터 미디어 패킷을 형성하기 위한 제1 패킷화기;
    - 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임을 생성하기 위한 프레임 생성기;
    - 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들을 형성하기 위한 제2 패킷화기; 및
    - 송신될 패킷에 대한 송신 스케쥴을 생성하기 위한 스케쥴러를 포함하는 스트림 생성기;
    - 상기 송신 스케쥴에 따른 송신이 이루어지는 동안에 가정적 디코딩을 수행하기 위한 가정적 디코더로서:
    - 상기 송신 스케쥴에 따라서 송신될 패킷을 버퍼링하기 위한 제1 가정적 디코딩 버퍼;
    - 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하기 위한 출력기;
    - 상기 제1 가정적 디코딩 버퍼로부터의 출력에 기반하여 형성된 패킷을 버퍼링하기 위한 제2 가정적 버퍼; 및
    - 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을:
    - 상기 스트림 생성기의 동작;
    - 적어도 하나의 송신 프레임의 생성; 및
    - 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하기 위한 제어기를 포함하는 가정적 디코더; 및
    - 상기 패킷을 멀티미디어 브로드캐스트/멀티캐스트 서비스로서 송신하기 위한 송신기를 더 포함하는 것을 특징으로 하는 멀티미디어 브로드캐스트/멀티캐스트 서비스 서버.
  17. 송신 스케쥴을 가지며 적어도 하나의 송신 프레임을 포함하는 패킷을 수신하기 위한 수신 장치로서, 상기 적어도 하나의 송신 프레임으로부터 송신된 패킷들이 형성된 바 있고, 상기 적어도 하나의 송신 프레임은 미디어 스트림의 적어도 한 종류의 미디어 정보에 기반하여 형성되는 미디어 패킷들을 포함하는 수신 장치에 있어서:
    - 상기 패킷의 수신의 개시 시점에서 상기 패킷의 디코딩을 지연하기 위한 초기 버퍼링 지연에 대한 정보를 포함하는 상기 송신된 패킷을 수신하기 위한 수신기;
    - 수신된 패킷들로부터 상기 미디어 패킷을 재구성하기 위한 제1 역패킷화기(de-packetizer);
    - 상기 미디어 패킷의 정보를 버퍼링하기 위한 버퍼;
    - 상기 미디어 패킷의 미디어 정보를 디코딩하기 위한 디코더; 및
    - 상기 초기 버퍼링량의 정보에 따라서 상기 디코딩을 지연시키기 위한 제어 기를 포함하는 것을 특징으로 하는 수신 장치.
  18. 미디어 스트림의 적어도 한 종류의 미디어 정보에 기반하여 형성되는 미디어 패킷을 포함하는 상기 미디어 스트림에 관련된 신호로서,
    상기 미디어 패킷들은 적어도 하나의 송신 프레임 내에 포함되고 송신 스케쥴을 가지며, 송신될 패킷들은 상기 송신 프레임으로부터 형성되고, 상기 신호는,
    패킷의 디코딩을 지연시키기 위한 초기 버퍼링량과 같은 정보를 포함함으로써, 모든 송신 프레임 내의 미디어 스트림의 각 미디어 패킷이 자신의 디코딩 시점에 또는 그 이전에 이용 가능하도록 하는 것을 특징으로 하는 신호.
  19. 제18항에 있어서,
    적어도 하나의 보수 패킷이 하나의 송신 프레임에 관련되며,
    상기 적어도 하나의 보수 패킷은 상기 송신 프레임 내의 모든 미디어 패킷의 디코딩 시점 이전에 디코딩 되도록 이용 가능한 것을 특징으로 하는 신호.
  20. 컴퓨터에 의하여 독출될 수 있는 매체 상에 저장된 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 생성물로서, 상기 컴퓨터 프로그램은 미디어 스트림의 패킷을 버퍼링하기 위하여 기계 상에서 실행될 때, 기계에 의하여 실행될 수 있는 단계들로서:
    - 송신 장치의 스트림 생성기 내에서 적어도 한 종류의 미디어 정보로부터 미디어 패킷을 형성하는 단계;
    - 송신될 미디어 패킷에 기반하여 적어도 하나의 송신 프레임을 생성하는 단계;
    - 상기 적어도 하나의 송신 프레임으로부터 송신될 패킷들을 형성하는 단계;
    - 송신될 패킷에 대한 송신 스케쥴을 생성하는 단계;
    - 상기 송신 스케쥴에 따라서 가정적 디코딩의 제1 단계를 수행하는 단계로서:
    - 상기 송신 스케쥴에 따라서 송신될 패킷을 제1 가정적 디코딩 버퍼로 버퍼링하는 단계; 및
    - 송신 프레임 기반으로 상기 제1 가정적 디코딩 버퍼로부터 패킷을 출력하는 기계에 의하여 실행될 수 있는 단계를 포함하는 단계;
    - 가정적 디코딩의 제2 단계를 수행하는 단계로서:
    - 상기 제1 가정적 디코딩 버퍼로부터의 출력에 기반하여 형성된 패킷을 버퍼링하는 단계를 포함하는 단계; 및
    - 상기 제1 가정적 디코딩 버퍼 및 상기 제2 가정적 디코딩 버퍼의 버퍼 점유율 레벨을:
    - 상기 스트림 생성기의 동작;
    - 적어도 하나의 송신 프레임의 생성; 및
    - 상기 송신 스케쥴 중 적어도 하나를 제어함으로써 제어하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
  21. 제20항에 있어서, 상기 제어 단계는,
    - 상기 미디어 패킷에 기반하여 순방향 에러 정정 데이터를 형성하고;
    - 상기 순방향 에러 정정 데이터에 기반하여 하나 또는 그 이상의 보수 패킷을 형성하며;
    - 상기 보수 패킷들 중 적어도 하나를 송신될 패킷에 포함시키기 위한 기계에 의하여 실행될 수 있는 단계들을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 생성물.
KR1020077022599A 2005-04-07 2006-04-05 스트리밍 배달의 버퍼링 KR20070114308A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US66958005P 2005-04-07 2005-04-07
US60/669,580 2005-04-07

Publications (1)

Publication Number Publication Date
KR20070114308A true KR20070114308A (ko) 2007-11-30

Family

ID=37073117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077022599A KR20070114308A (ko) 2005-04-07 2006-04-05 스트리밍 배달의 버퍼링

Country Status (12)

Country Link
US (1) US7864805B2 (ko)
EP (1) EP1867079A4 (ko)
KR (1) KR20070114308A (ko)
CN (1) CN101151829A (ko)
AU (1) AU2006231216A1 (ko)
BR (1) BRPI0610404A2 (ko)
CA (1) CA2603883A1 (ko)
MX (1) MX2007012338A (ko)
RU (1) RU2369040C2 (ko)
TW (1) TW200706003A (ko)
WO (1) WO2006106185A1 (ko)
ZA (1) ZA200708516B (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447978B2 (en) * 2004-11-16 2008-11-04 Nokia Corporation Buffering packets of a media stream
US8260945B2 (en) * 2005-11-16 2012-09-04 ABSi Corporation System and method for wirelessly broadcasting content from a core for receipt by a mobile client
KR101419287B1 (ko) 2006-07-07 2014-07-14 삼성전자주식회사 Ipdc 서비스를 제공하는 장치 및 방법 및 ipdc서비스를 처리하는 장치 및 방법
CN101512989B (zh) * 2006-07-25 2013-08-14 汤姆森特许公司 利用交错播放和交叉分组前向纠错在基于因特网协议的无线网络中恢复突发分组丢失
KR101221913B1 (ko) 2006-12-20 2013-01-15 엘지전자 주식회사 디지털 방송 시스템 및 데이터 처리 방법
US7724780B2 (en) * 2007-04-19 2010-05-25 Cisco Technology, Ink. Synchronization of one or more source RTP streams at multiple receiver destinations
US20090007207A1 (en) * 2007-06-29 2009-01-01 Broadcom Corporation Hardware-implemented handling of back-to-back and parallel time slices in a video broadcasting receiver
CN100544447C (zh) * 2007-07-11 2009-09-23 中兴通讯股份有限公司 一种移动多媒体广播业务数据流的传输方法
US8190750B2 (en) * 2007-08-24 2012-05-29 Alcatel Lucent Content rate selection for media servers with proxy-feedback-controlled frame transmission
US8358687B2 (en) * 2007-09-07 2013-01-22 Qualcomm Incorporated Method and apparatus for receiving multiple simultaneous stream bursts with limited DVB receiver memory
KR20100085070A (ko) * 2007-09-24 2010-07-28 노키아 코포레이션 패킷화 방법 및 장치, 컴퓨터 판독 가능한 기록 매체, 패킷화 해제 방법 및 장치
US8819749B2 (en) 2008-06-11 2014-08-26 Koninklijke Philips B.V. Synchronization of media stream components
US20100011274A1 (en) * 2008-06-12 2010-01-14 Qualcomm Incorporated Hypothetical fec decoder and signalling for decoding control
US8453191B2 (en) * 2008-09-19 2013-05-28 Texas Instruments Incorporated Method of broadcasting audio and video data over a time-slicing network, an audio and video data processor and a DVB-H system
FR2937820B1 (fr) * 2008-10-29 2011-01-07 Enensys Technologies Procede d'adaptation de debit dans un appareil de generation d'un flux de donnees video et appareil correspondant
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US20100312905A1 (en) * 2009-06-08 2010-12-09 Dov Sandmann Sustaining Live Interactive Streaming
US20120114049A1 (en) * 2009-07-15 2012-05-10 Nokia Corporation Apparatus
KR101995221B1 (ko) 2011-11-24 2019-07-16 삼성전자주식회사 통신 시스템에서 패킷 송수신 장치 및 방법
US9137168B2 (en) * 2012-03-06 2015-09-15 Appear Tv As Method, device and system for packet transmission over IP networks
US10356143B2 (en) 2012-10-10 2019-07-16 Samsung Electronics Co., Ltd. Method and apparatus for media data delivery control
US9794135B2 (en) 2013-11-11 2017-10-17 Amazon Technologies, Inc. Managed service for acquisition, storage and consumption of large-scale data streams
US9471585B1 (en) * 2013-12-20 2016-10-18 Amazon Technologies, Inc. Decentralized de-duplication techniques for largescale data streams
US9785510B1 (en) 2014-05-09 2017-10-10 Amazon Technologies, Inc. Variable data replication for storage implementing data backup
US9734021B1 (en) 2014-08-18 2017-08-15 Amazon Technologies, Inc. Visualizing restoration operation granularity for a database
JP6706784B2 (ja) * 2014-09-12 2020-06-10 パナソニックIpマネジメント株式会社 送信装置、受信装置、送信方法及び受信方法
US20170063495A1 (en) * 2015-08-28 2017-03-02 Red Sunrise Co., Ltd. Audio signal transmission system and data processing method for enhancing data accuracy of the same
US10567500B1 (en) 2015-12-21 2020-02-18 Amazon Technologies, Inc. Continuous backup of data in a distributed data store
US10853182B1 (en) 2015-12-21 2020-12-01 Amazon Technologies, Inc. Scalable log-based secondary indexes for non-relational databases
US10423493B1 (en) 2015-12-21 2019-09-24 Amazon Technologies, Inc. Scalable log-based continuous data protection for distributed databases
US10754844B1 (en) 2017-09-27 2020-08-25 Amazon Technologies, Inc. Efficient database snapshot generation
US10990581B1 (en) 2017-09-27 2021-04-27 Amazon Technologies, Inc. Tracking a size of a database change log
US11182372B1 (en) 2017-11-08 2021-11-23 Amazon Technologies, Inc. Tracking database partition change log dependencies
US11042503B1 (en) 2017-11-22 2021-06-22 Amazon Technologies, Inc. Continuous data protection and restoration
US11269731B1 (en) 2017-11-22 2022-03-08 Amazon Technologies, Inc. Continuous data protection
US10621049B1 (en) 2018-03-12 2020-04-14 Amazon Technologies, Inc. Consistent backups based on local node clock
US11126505B1 (en) 2018-08-10 2021-09-21 Amazon Technologies, Inc. Past-state backup generator and interface for database systems
US11042454B1 (en) 2018-11-20 2021-06-22 Amazon Technologies, Inc. Restoration of a data source
US11917206B2 (en) * 2021-12-17 2024-02-27 Lenovo (Singapore) Pte. Ltd. Video codec aware radio access network configuration and unequal error protection coding
US11947682B2 (en) 2022-07-07 2024-04-02 Netskope, Inc. ML-based encrypted file classification for identifying encrypted data movement

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5461420A (en) * 1992-09-18 1995-10-24 Sony Corporation Apparatus for coding and decoding a digital video signal derived from a motion picture film source
US5619337A (en) * 1995-01-27 1997-04-08 Matsushita Electric Corporation Of America MPEG transport encoding/decoding system for recording transport streams
US5751336A (en) 1995-10-12 1998-05-12 International Business Machines Corporation Permutation based pyramid block transmission scheme for broadcasting in video-on-demand storage systems
US6700893B1 (en) 1999-11-15 2004-03-02 Koninklijke Philips Electronics N.V. System and method for controlling the delay budget of a decoder buffer in a streaming data receiver
GB9930787D0 (en) * 1999-12-30 2000-02-16 Koninkl Philips Electronics Nv Method and apparatus for convrerting data streams
FI118830B (fi) 2001-02-08 2008-03-31 Nokia Corp Tietovirran toisto
GB2372657B (en) 2001-02-21 2005-09-21 Sony Uk Ltd Signal processing
US7532670B2 (en) * 2002-07-02 2009-05-12 Conexant Systems, Inc. Hypothetical reference decoder with low start-up delays for compressed image and video
MY134659A (en) 2002-11-06 2007-12-31 Nokia Corp Picture buffering for prediction references and display
JP5068947B2 (ja) 2003-02-18 2012-11-07 ノキア コーポレイション ピクチャの符号化方法
EP1595404B1 (en) * 2003-02-18 2014-10-22 Nokia Corporation Picture decoding method
SE0300832D0 (sv) * 2003-03-25 2003-03-25 Teracom Ab Data Transmisson system
US7266147B2 (en) 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
US7403660B2 (en) * 2003-04-30 2008-07-22 Nokia Corporation Encoding picture arrangement parameter in picture bitstream
US20040218669A1 (en) 2003-04-30 2004-11-04 Nokia Corporation Picture coding method
US20050201471A1 (en) 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
US20050254575A1 (en) 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
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

Also Published As

Publication number Publication date
US7864805B2 (en) 2011-01-04
CA2603883A1 (en) 2006-10-12
MX2007012338A (es) 2007-11-23
WO2006106185A1 (en) 2006-10-12
RU2007140542A (ru) 2009-05-20
RU2369040C2 (ru) 2009-09-27
ZA200708516B (en) 2009-07-29
EP1867079A1 (en) 2007-12-19
CN101151829A (zh) 2008-03-26
TW200706003A (en) 2007-02-01
BRPI0610404A2 (pt) 2012-01-10
EP1867079A4 (en) 2009-12-09
AU2006231216A1 (en) 2006-10-12
US20060253600A1 (en) 2006-11-09

Similar Documents

Publication Publication Date Title
US7864805B2 (en) Buffering in streaming delivery
EP1813115B1 (en) Buffering packets of a media stream
US8819714B2 (en) Ratings and quality measurements for digital broadcast viewers
RU2521466C2 (ru) Способ и устройство для предоставления возможности быстрого переключения каналов при ограниченной памяти приемника dvb
US20070002871A1 (en) Padding time-slice frames with useful data
US20070002870A1 (en) Padding time-slice slots using variable delta-T
US8010863B2 (en) Method and apparatus for synchronizing multiple multimedia streams
KR20130040090A (ko) 복합 네트워크에서 멀티미디어 데이터를 전송하기 위한 장치 및 그 방법
KR20120042833A (ko) 역방향의 강력한 헤더 압축 수신기
CN101232623A (zh) 基于传输流的立体音视频数字编码传输方法和系统
CN106416154B (zh) 用于在广播和通信系统中发送和接收分组的方法和装置
US20070002852A1 (en) Fixed interleaving length for MPE-FEC
US20150006991A1 (en) Graceful degradation-forward error correction method and apparatus for performing same
EP2842253B1 (en) Apparatus and method for transmitting a packet in a communication system
KR101723416B1 (ko) 디지털 방송 신호 송수신 장치 및 방법
EP2611153A1 (en) System and method for multiplexed streaming of multimedia content
EP1998510B1 (en) Encoded stream sending device
Kondrad et al. Optimizing the dvb-t2 system for mobile broadcast
CN104041061A (zh) 媒体流处置
GB2480819A (en) Error resilience for multimedia transmission
JP2010245838A (ja) 映像伝送システム、送信装置、受信装置及び保持時間制御方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application