WO2012077855A1 - 비디오 스트림의 패킷화 방법 및 장치 - Google Patents

비디오 스트림의 패킷화 방법 및 장치 Download PDF

Info

Publication number
WO2012077855A1
WO2012077855A1 PCT/KR2011/000466 KR2011000466W WO2012077855A1 WO 2012077855 A1 WO2012077855 A1 WO 2012077855A1 KR 2011000466 W KR2011000466 W KR 2011000466W WO 2012077855 A1 WO2012077855 A1 WO 2012077855A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
packet header
field indicating
video
packetizing
Prior art date
Application number
PCT/KR2011/000466
Other languages
English (en)
French (fr)
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 한국전자통신연구원
Priority to US13/990,903 priority Critical patent/US20130250975A1/en
Publication of WO2012077855A1 publication Critical patent/WO2012077855A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8453Structuring of content, e.g. decomposing content into time segments by locking or enabling a set of features, e.g. optional functionalities in an executable program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Definitions

  • the present invention relates to digital broadcasting, and more particularly, to an efficient packetization method and apparatus for supporting random access of a digital broadcasting stream.
  • MPEG Moving Picture Experts Group
  • RTP Real Time Protocol
  • 3D video technology can also use packetization technology based on the MPEG-2 standard as a transport protocol, like general digital broadcasting technology.
  • MPEG-2 standard is standardized for broadcasting environment and aims at stability rather than efficiency. Therefore, there is a limit in transmitting various media.
  • 3D broadcasting which requires a large amount of data transmission, has recently emerged, and this is not applicable to Ultra High Definition TV (UHDTV) technology. Accordingly, a movement for introducing a new transport protocol called MPEG Media Transport (MMT) has been actively performed to replace the existing transport protocol.
  • MMT MPEG Media Transport
  • An object of the present invention is to provide a method and apparatus for packetizing a video stream.
  • an apparatus for packetizing a video stream in a digital broadcasting system includes a video frame check block for classifying an encoded video stream according to a type of a frame, a header setting block for setting a packet header including a field indicating a type of the frame for each classified frame, and the set And a packetization block for packetizing a video frame based on the packet header.
  • the type of the frame may be any one of an intra-coded (I) frame, a predicted (P) frame, and a bi-predictive (B) frame.
  • I intra-coded
  • P predicted
  • B bi-predictive
  • the packet header may include a field indicating whether random access is possible.
  • the packet header may include a field indicating whether to share a packet header with a specific frame.
  • the packet header may further include a field indicating a frame number of the specific frame.
  • the specific frame may be a frame corresponding to the left image of the 3D image.
  • the packet header may include a field indicating a decoding time or an output time.
  • the packetization apparatus may further include a transmission multiplexing block for transmitting and multiplexing the packetized video frame to a receiver.
  • a method of packetizing a video stream in a digital broadcast system may include classifying an encoded video stream according to a type of a frame, setting a packet header including a field indicating a type of the frame for each classified frame, and based on the set packet header. Packetizing the video frame.
  • the type of the frame may be any one of an I frame, a P frame, and a B frame.
  • the packet header may include a field indicating whether random access is possible.
  • the packet header may include a field indicating whether to share a packet header with a specific frame.
  • the packet header may further include a field indicating a frame number of the specific frame.
  • the specific frame may be a frame corresponding to the left image of the 3D image.
  • the packet header may include a field indicating a decoding time or an output time.
  • the packetization method may further include transmitting multiplexing the packetized video frame to a receiver.
  • the overhead caused by the existing synchronous packetization can be reduced, and thus bandwidth can be efficiently used.
  • FIG. 1 is a block diagram illustrating a packetization process in a general transport protocol.
  • FIG. 2 illustrates a general packetization process of a video or audio stream in digital broadcasting.
  • FIG. 3 is a block diagram illustrating an example of an apparatus for packetizing a video stream according to the proposed invention.
  • 5 is another example of packetization according to the proposed packetization method.
  • FIG. 6 is a block diagram illustrating an embodiment of a method of packetizing a video stream according to the proposed invention.
  • FIG. 1 is a block diagram illustrating a packetization process in a general transport protocol.
  • the video encoder 10 encodes an input video signal to generate a video stream
  • the audio encoder 20 encodes the input audio signal to generate an audio stream.
  • the sync packetizer 30 sync packetizes the video stream and the audio stream.
  • the synchronization packetization process is performed to support synchronization by inserting timing information into the video stream and the audio stream.
  • the transmission multiplexer 40 transmits a multiplexed synchronous packetized packet by transmission transmission.
  • a packetized elementary stream (PES) packet may be used for the synchronization packetization process.
  • the PES packet can be used to synchronize the video stream and the audio stream.
  • a TS may be used in the transport multiplexing process. By the TS stream, synchronization support and transmission multiplexing between the server and the terminal may be performed.
  • the PES packet does not support different packetization for each of an intra-coded (I) frame, a predicted (P) frame, and a bi-predictive (B) frame, which is a video frame. Overhead may occur.
  • I intra-coded
  • P predicted
  • B bi-predictive
  • FIG. 2 illustrates a general packetization process of a video or audio stream in digital broadcasting.
  • the original image When the original image is encoded, encoding is alternately performed for each frame. This is because the original image includes I frames, P frames, and B frames.
  • An I frame is a frame that contains all of the information in the frame.
  • the P frame is a unidirectional predictive frame and includes only information on a part different from the previous frame. P-frames have a smaller capacity than I-frames, but their image quality is proportional to them.
  • the B frame is a bidirectional predictive frame and includes only information on portions different from both the previous frame and the next frame. The B frame has a smaller capacity than the P frame, but the image quality is also lower. Since the P frame and the B frame use at least one of the previous frame or the next frame, encoding should be performed in the order of the I frame, the P frame, and the B frame.
  • the receiver may decode I2 frames and P5 frames necessary for decoding the B3 and B4 frames before decoding the B3 and B4 frames.
  • Synchronous packetization is sequentially performed on an ES (Essential Stream) including encoded I, P, and B frames.
  • ES Essential Stream
  • the PES packet of the MPEG-2 standard may be used.
  • the receiver does not always approach from the beginning of the stream, and may start from any point of the stream due to an operation such as changing a channel. That is, the receiver can start accessing any frame of I, P and B frames in the stream. In this case, when accessing from an I frame like the random access starting point A, all frames can be restored without a problem. However, when accessing from a B frame or a P frame, such as the mouth start point B or the random access start point C, the frame becomes meaningless data until the next I frame is received. That is, all data received before the I frame at the receiver are processed as unusable data. Accordingly, the packet header H generated during the synchronous packetization process also wastes bandwidth.
  • the following proposes an efficient packetization method and apparatus for supporting random access of a video stream.
  • FIG. 3 is a block diagram illustrating an example of an apparatus for packetizing a video stream according to the proposed invention.
  • the packetization apparatus of FIG. 3 includes a video frame check block 301, a header setting block 302, and a packetization block 303.
  • the video frame check block 301 classifies the encoded video stream for each frame. This is to set the most efficient header for each frame according to the type of frame.
  • the header setting block 302 sets a packet header for each frame according to the classified frame. Header setup block 302 also supports time synchronization by setting time information. This may be the same as the PTS, DTS of the MPEG-2 standard and the CTS, DTS setting of the MPEG-4 standard.
  • the packetization block 303 packetizes the video frame based on the set packet header.
  • Table 1 is an example of a packet header set in the header configuration block 302 of FIG. 3.
  • Start_indicator Indicates the start point of a packet.
  • the length of the Start_indicator field may be 16 bits and the value of the Start_indicator field may be 0x1047.
  • Packet_length represents a length from the Payload_stream_type field to the Packet_data_byte field described below.
  • the length of the Packet_length field may be 16 bits.
  • Payload_stream_type This indicates the type of payload data.
  • the length of the Payload_stream_type field may be 8 bits.
  • Table 2 is an example of a correspondence relationship between a value of the Payload_stream_type field and a payload type.
  • Packet_dependency If the payload is different but the packet header is the same, it indicates sharing of the packet header.
  • the length of the Packet_dependency field may be 1 bit. In general, the Packet_dependency field has a value of 0, but has a value of 1 when a 3D video has the same packet header, such as a left video and a right video.
  • Random_access_indicator Indicates whether random access to a video stream is possible.
  • the length of the Random_access_indicator field may be 1 bit. In the case of video, it corresponds to an I frame. If the type of payload data is AVC (Advanced Video Coding), it corresponds to an IDR frame.
  • AVC Advanced Video Coding
  • Payload_frame_type This indicates a type of payload data including frame types such as I, P, and B frames or decoding information.
  • the length of the Payload_frame_type field may be 3 bits.
  • the decoding information is the same as initialization information such as a sequence parameter set (SPS) or picture parameter set (PPS) in AVC.
  • SPS sequence parameter set
  • PPS picture parameter set
  • Table 3 is an example of a correspondence relationship between a value of the Payload_frame_type field and a frame type.
  • Frame_sequence_number represents a frame number in a video stream.
  • the length of the Frame_sequence_number field may be 8 bits and has a value of 0 to 254 and operates in a modulo counter method.
  • the frame number is set to 0x00 in the I frame and may be increased by 0x01 until the next I frame appears.
  • 0xFF may be set when decoding information is used instead of I, P, and B frames.
  • Last_frame_sequence_number In the case of an I frame, this indicates a frame number immediately before the next I frame appears.
  • the length of the Last_frame_sequence_number field may be 8 bits.
  • the number of P or B frames between the I frames can be known by the Last_frame_sequence_number field, and the receiver can calculate the corrected time values of the P and B frames.
  • Decoding_time_stamp This indicates the decoding time of a frame included in the payload.
  • the length of the Decoding_time_stamp field may be 33 bits.
  • Presentation_time_stamp represents the output time of a frame included in the payload.
  • the length of the Presentation_time_stamp field may be 33 bits.
  • Dependent_frame_sequence_number When the value of the Packet_dependency field is 1, this indicates a frame number sharing the header value.
  • Packet_data_byte This field is to send actual data.
  • the length of the Packet_data_byte field may be 8 bits.
  • FIG. 4 is an example of packetization according to the proposed packetization method. Referring to FIG. 4, although the bandwidth of the packet header of the I frame does not change significantly, the size of the bandwidth used by the packet header of the P or B frame may be reduced by the proposed invention. As a result, bandwidth is saved as much as NULL.
  • 5 is another example of packetization according to the proposed packetization method.
  • 5 illustrates a case where the proposed packetization method is applied to a 3D image including a left image and a right image.
  • the left and right images are synchronized for each frame, and since the synchronized left and right images have the same packet header when the existing synchronous packetization process is performed, the overhead of the packet header is more than that of a single image. It becomes bigger.
  • the proposed packetization method is applied to the left and right images, different packet headers are generated for each frame, thereby reducing the bandwidth occupied by the packet header of the P or B frame, and also the packet header and the right image of the left image. Since the packet headers are the same, the bandwidth occupied by the packet header of the right image can be further reduced.
  • FIG. 6 is a block diagram illustrating an embodiment of a method of packetizing a video stream according to the proposed invention.
  • the packetizer classifies the encoded video stream for each frame.
  • the packetizer sets a packet header for each frame according to the classified frames.
  • the packetizer packetizes the video frame based on the set packet header.
  • the invention can be implemented in hardware, software or a combination thereof.
  • an application specific integrated circuit ASIC
  • DSP digital signal processing
  • PLD programmable logic device
  • FPGA field programmable gate array
  • the module may be implemented as a module that performs the above-described function.
  • the software may be stored in a memory unit and executed by a processor.
  • the memory unit or processor may employ various means well known to those skilled in the art.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

디지털 방송 시스템에서 비디오 스트림의 패킷화 방법 및 장치가 제공된다. 상기 패킷화 장치는 부호화된 비디오 스트림을 프레임의 종류에 따라 분류하는 비디오 프레임 체크 블록, 상기 분류된 각 프레임 별로 패킷 헤더를 설정하는 헤더 설정 블록, 및 상기 설정된 패킷 헤더를 기반으로 비디오 프레임을 패킷화하는 패킷화 블록을 포함한다. 상기 프레임의 종류는 I(Intra-coded) 프레임, P(Predicted) 프레임 및 B(Bi-predictive) 프레임 중 어느 하나일 수 있다. 본 발명에 의해 디지털 방송 스트림을 효율적으로 패킷화함으로써 기존의 동기 패킷화로 인한 오버헤드(overhead)를 줄일 수 있으며, 이에 따라 대역폭을 효율적으로 사용할 수 있다.

Description

비디오 스트림의 패킷화 방법 및 장치
본 발명은 디지털 방송에 관한 것으로, 보다 상세하게는 디지털 방송 스트림의 임의 접근(random access)을 지원하는 효율적인 패킷화 방법 및 장치에 관한 것이다.
최근 지상파, 위성, 케이블, IPTV(Internet Protocol TV), DMB(Digital Multimedia Broadcasting) 방송 등을 포함하는 디지털 방송 기술이 지속적으로 발전하고 있다. 디지털 방송 시스템에서 오디오, 비디오 및 데이터 스트림을 전송하기 위하여 다양한 종류의 전송 프로토콜(protocol)이 사용될 수 있다. 예를 들어 MPEG(Moving Picture Experts Group)-2 표준에서 정의하는 PES(Packetized Elementary Stream), TS(Transport Stream)가 전송 프로토콜로 널리 사용될 수 있다. 또한, MPEG-4 SL(Sync Layer)나 RTP(Real Time Protocol)는 인터넷을 통한 전송을 위한 전송 프로토콜로 사용될 수 있고, 필요에 따라 MPEG-2 표준과 유기적으로 결합하여 다양한 미디어를 패킷화하여 전송하는데 사용될 수 있다.
한편, 최근 3D 영상에 대한 관심이 영화, 방송 등의 분야에서 폭발적으로 증가하고 있으며, 이에 따라 3D 영상에 관한 새로운 기술들이 빠르게 개발되고 있다. 3D 영상에 대한 관심은 특히 방송 분야에서 두드러지고 있으며, 위성, 케이블, 지상파, DMB 방송을 포함한 모든 방송 분야에서 3D 영상 기술이 도입될 예정이다. 3D 영상 기술도 일반적인 디지털 방송 기술과 마찬가지로 전송 프로토콜로 MPEG-2 표준을 기반으로 한 패킷화 기술을 사용할 수 있다. 그러나 MPEG-2 표준은 방송 환경을 목적으로 표준화된 규격으로 효율성보다는 안정성을 목표로 하고 있으며, 이에 따라 다양한 미디어를 전송하는 데에는 한계가 있다. 특히 대용량의 데이터 전송이 필요한 3D 방송이나 최근 대두되고 이는 UHDTV(Ultra High Definition TV) 기술에 적용되기에는 한계가 있다. 이에 따라 기존의 전송 프로토콜을 대치하기 위하여 MMT(MPEG Media Transport)라는 새로운 전송 프로토콜을 도입하기 위한 움직임이 활발해지고 있다.
이에 따라 디지털 방송 스트림을 효율적으로 패킷화하기 위한 방법 및 장치가 요구된다.
본 발명의 기술적 과제는 비디오 스트림의 패킷화 방법 및 장치를 제공하는 데에 있다.
일 양태에 있어서, 디지털 방송 시스템에서 비디오 스트림의 패킷화 장치가 제공된다. 상기 패킷화 장치는 부호화된 비디오 스트림을 프레임의 종류에 따라 분류하는 비디오 프레임 체크 블록, 상기 분류된 각 프레임 별로 상기 프레임의 종류를 나타내는 필드를 포함하는 패킷 헤더를 설정하는 헤더 설정 블록, 및 상기 설정된 패킷 헤더를 기반으로 비디오 프레임을 패킷화하는 패킷화 블록을 포함하는 것을 특징으로 한다.
상기 프레임의 종류는 I(Intra-coded) 프레임, P(Predicted) 프레임 및 B(Bi-predictive) 프레임 중 어느 하나일 수 있다.
상기 패킷 헤더는 임의 접근(random access) 가능 여부를 지시하는 필드를 포함할 수 있다.
상기 패킷 헤더는 특정 프레임과의 패킷 헤더 공유 여부를 지시하는 필드를 포함할 수 있다. 상기 패킷 헤더 공유 여부를 지시하는 필드의 값이 1인 경우, 상기 패킷 헤더는 상기 특정 프레임의 프레임 번호를 지시하는 필드를 더 포함할 수 있다. 또한, 상기 패킷 헤더 공유 여부를 지시하는 필드의 값이 1인 경우, 상기 특정 프레임은 3D 영상의 좌영상에 해당하는 프레임일 수 있다.
상기 패킷 헤더는 복호화 시간 또는 출력 시간을 지시하는 필드를 포함할 수 있다.
상기 패킷화 장치는 상기 패킷화된 비디오 프레임을 전송 다중화하여 수신기로 전송하는 전송 다중화 블록을 더 포함할 수 있다.
다른 양태에 있어서, 디지털 방송 시스템에서 비디오 스트림의 패킷화 방법이 제공된다. 상기 패킷화 방법은 부호화된 비디오 스트림을 프레임의 종류에 따라 분류하는 단계, 상기 분류된 각 프레임 별로 상기 프레임의 종류를 나타내는 필드를 포함하는 패킷 헤더를 설정하는 단계, 및 상기 설정된 패킷 헤더를 기반으로 비디오 프레임을 패킷화하는 단계를 포함하는 것을 특징으로 한다.
상기 프레임의 종류는 I 프레임, P 프레임 및 B 프레임 중 어느 하나일 수 있다.
상기 패킷 헤더는 임의 접근 가능 여부를 지시하는 필드를 포함할 수 있다.
상기 패킷 헤더는 특정 프레임과의 패킷 헤더 공유 여부를 지시하는 필드를 포함할 수 있다. 상기 패킷 헤더 공유 여부를 지시하는 필드의 값이 1인 경우, 상기 패킷 헤더는 상기 특정 프레임의 프레임 번호를 지시하는 필드를 더 포함할 수 있다. 또한, 상기 패킷 헤더 공유 여부를 지시하는 필드의 값이 1인 경우, 상기 특정 프레임은 3D 영상의 좌영상에 해당하는 프레임일 수 있다.
상기 패킷 헤더는 복호화 시간 또는 출력 시간을 지시하는 필드를 포함할 수 있다.
상기 패킷화 방법은 상기 패킷화된 비디오 프레임을 전송 다중화하여 수신기로 전송하는 단계를 더 포함할 수 있다.
디지털 방송 스트림을 효율적으로 패킷화함으로써 기존의 동기 패킷화로 인한 오버헤드(overhead)를 줄일 수 있으며, 이에 따라 대역폭을 효율적으로 사용할 수 있다.
도 1은 일반적인 전송 프로토콜에서의 패킷화 과정을 나타내는 블록도이다.
도 2는 디지털 방송에서 비디오 또는 오디오 스트림의 일반적인 패킷화 과정을 나타낸다.
도 3은 제안된 발명에 의한 비디오 스트림의 패킷화 장치의 일 예를 나타내는 블록도이다.
도 4는 제안된 패킷화 방법에 따른 패킷화의 일 예이다.
도 5는 제안된 패킷화 방법에 따른 패킷화의 또 다른 예이다.
도 6은 제안된 발명에 의한 비디오 스트림의 패킷화 방법의 일 실시예를 나타내는 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 또한 상세한 설명을 생략하여도 본 기술분야의 당업자가 쉽게 이해할 수 있는 부분의 설명은 생략하였다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
도 1은 일반적인 전송 프로토콜에서의 패킷화 과정을 나타내는 블록도이다.
도 1을 참조하면, 비디오 부호화부(10)는 입력된 비디오 신호를 부호화하여 비디오 스트림을 생성하며, 오디오 부호화부(20)는 입력된 오디오 신호를 부호화하여 오디오 스트림을 생성한다. 동기 패킷화부(30)는 상기 비디오 스트림 및 오디오 스트림을 동기 패킷화한다. 동기 패킷화 과정은 상기 비디오 스트림 및 오디오 스트림에 대하여 타이밍 정보를 삽입하여 동기화를 지원하기 위하여 수행된다. 전송 다중화부(40)는 동기 패킷화된 패킷을 전송 다중화하여 전송한다.
MPEG-2 표준에서는 상기 동기 패킷화 과정에 PES(Packetized Elementary Stream) 패킷을 사용할 수 있다. PES 패킷을 이용하여 비디오 스트림 및 오디오 스트림을 동기화할 수 있다. 또한, 상기 전송 다중화 과정에 TS(Transport Stream) 패킷이 사용될 수 있다. TS 스트림에 의해서 서버, 단말 간의 동기화 지원 및 전송 다중화가 수행될 수 있다. 한편, PES 패킷은 비디오 프레임인 I(Intra-coded) 프레임, P(Predicted) 프레임 및 B(Bi-predictive) 프레임 각각 서로 다른 패킷화를 지원하지 않고, 일괄적으로 동일한 방식으로 패킷화를 수행함으로써 오버헤드(overhead)가 발생할 수 있다.
도 2는 디지털 방송에서 비디오 또는 오디오 스트림의 일반적인 패킷화 과정을 나타낸다.
원영상이 부호화될 때, 각 프레임에 대하여 교차적으로 부호화가 수행된다. 이는 원영상이 I 프레임, P 프레임 및 B 프레임을 포함하기 때문이다. I 프레임은 프레임 내의 정보를 온전히 담고 있는 프레임으로 화질이 가장 좋지만 용량도 그만큼 크다. P 프레임은 단방향 예측 프레임으로 이전 프레임과 다른 부분에 대한 정보만을 포함한다. P 프레임은 I 프레임에 비해 용량이 작으나 화질도 그에 비례해서 떨어진다. B 프레임은 양방향 예측 프레임으로 이전 프레임과 다음 프레임 양쪽과 다른 부분에 대한 정보만을 포함한다. B 프레임은 P 프레임에 비해서도 용량이 작으나 화질도 그만큼 떨어진다. P 프레임과 B 프레임이 이전 프레임 또는 다음 프레임 중 적어도 하나의 프레임을 이용하므로, I 프레임, P 프레임 및 B 프레임의 순서대로 부호화가 수행되어야 한다.
도 2를 참조하면, 원영상의 프레임 B0, B1, I2, B3, B4, P5, B6…은 부호화 과정에서 교차되어 I2, B0, B1, P5, B3, B4, P8, B6…의 순서로 부호화된다. 이에 따라 수신기는 B3, B4 프레임을 복호화하기에 앞서 B3, B4 프레임의 복호화에 필요한 I2 프레임과 P5 프레임을 복호화할 수 있다. 부호화된 I, P 및 B 프레임들은 포함하는 ES(Essential Stream)에 대하여 순차적으로 동기 패킷화가 수행된다. 이때 MPEG-2 표준의 PES 패킷이 사용될 수 있다. 동기 패킷화 수행 후, 전송 패킷화를 통하여 전송된 스트림은 수신기에서 원영상으로 복원된다.
한편, 수신기는 항상 스트림의 처음부터 접근하는 것은 아니며, 채널을 바꾸는 등의 동작으로 인해 스트림의 임의의 지점부터 접근을 시작할 수 있다. 즉, 수신기는 스트림 내의 I, P 및 B 프레임의 어느 프레임에서도 접근을 시작할 수 있다. 이때 임의 접근 시작점 A와 같이 I 프레임부터 접근하는 경우에는 모든 프레임을 문제 없이 복원할 수 있다. 그러나 입의 접근 시작점 B 또는 임의 접근 시작점 C와 같이 B 프레임 또는 P 프레임부터 접근하는 경우에는 다음 I 프레임이 수신될 때까지 프레임은 무의미한 데이터가 된다. 즉, 수신기에서 I 프레임 이전에 수신된 모든 데이터는 사용 불가능한 데이터로 처리되며, 이에 따라 동기 패킷화 과정에서 생성된 패킷 헤더(H) 역시 대역폭의 낭비를 발생시킨다.
따라서, 이하에서는 비디오 스트림의 임의 접근을 지원하는 효율적인 패킷화방법 및 장치를 제안한다.
도 3은 제안된 발명에 의한 비디오 스트림의 패킷화 장치의 일 예를 나타내는 블록도이다.
도 3의 패킷화 장치는 비디오 프레임 체크 블록(301), 헤더 설정 블록(302) 및 패킷화 블록(303)을 포함한다. 비디오 프레임 체크 블록(301)은 부호화된 비디오 스트림을 프레임 별로 분류한다. 이는 프레임의 종류에 따라 각 프레임 별로 가장 효율적인 헤더를 설정하기 위함이다. 헤더 설정 블록(302)은 상기 분류된 프레임에 따라 각 프레임 별로 패킷 헤더를 설정한다. 헤더 설정 블록(302)은 또한 시간 정보를 설정하여 동기화를 지원한다. 이는 MPEG-2 표준의 PTS, DTS 및 MPEG-4 표준의 CTS, DTS 설정과 같을 수 있다. 패킷화 블록(303)은 상기 설정된 패킷 헤더를 기반으로 비디오 프레임을 패킷화한다.
표 1은 도 3의 헤더 설정 블록(302)에서 설정되는 패킷 헤더의 일 예이다.
필 드 비트 수
Start_indicator 16
Packet_length 16
Payload_stream_type 8
Packet_dependency 1
If(Packet_depencency == ‘0’) {
Random_access_indicator 1
Payload_frame_type 3
Frame_sequence_number 8
reserved 3
If(Payload_frame_type == ‘001’) {
Last_frame_sequence_number 8
Decoding_time_stamp 33
reserved 3
Presentation_time_stamp 33
reserved 3
}
} else {
Dependent_frame_sequence_number
}
For(i=0;i<N;i++) {
Packet_data_byte 8
}
각 필드의 의미는 다음과 같다.
- Start_indicator: 패킷의 시작 지점을 나타낸다. Start_indicator 필드의 길이는 16비트일 수 있으며, Start_indicator 필드의 값은 0x1047일 수 있다.
- Packet_length: 이하에서 설명하는 Payload_stream_type 필드부터 Packet_data_byte 필드까지의 길이를 나타낸다. Packet_length 필드의 길이는 16비트일 수 있다.
- Payload_stream_type: 페이로드 데이터의 종류를 나타낸다. Payload_stream_type 필드의 길이는 8비트일 수 있다. 표 2는 Payload_stream_type 필드의 값과 페이로드 종류의 대응 관계의 일 예이다.
내 용
0x01 Video (ISO/IEC 11172-2 or ISO/IEC 13818-2 or ISO/IEC 14496-2)
0x02 Audio (ISO/IEC 11172-3 or ISO/IEC 13818-3 or ISO/IEC 14496-3)
0x03 Video (H.264 or ISO/IEC 14496-10)
0x04 ~ 0xFF Reserved
- Packet_dependency: 페이로드는 다르지만 패킷 헤더가 동일한 경우 패킷 헤더의 공유를 지시한다. Packet_dependency 필드의 길이는 1비트일 수 있다. 일반적으로 Packet_dependency 필드의 값은 0이나, 예를 들어 3D 영상에서 좌영상과 우영상과 같이 동일한 패킷 헤더를 가지는 경우에는 1의 값을 가진다.
- Random_access_indicator: 비디오 스트림에 대한 임의 접근 가능 여부를 지시한다. Random_access_indicator 필드의 길이는 1비트일 수 있다. 비디오의 경우에는 I 프레임에 해당한다. 페이로드 데이터의 종류가 AVC(Advanced Video Coding)인 경우에는 IDR 프레임에 해당한다.
- Payload_frame_type: I, P 및 B 프레임 등의 프레임 종류 또는 복호화 정보 등을 포함한 페이로드 데이터의 종류를 나타낸다. Payload_frame_type 필드의 길이는 3비트일 수 있다. 복호화 정보는 AVC에서 SPS(Sequence parameter Set) 또는 PPS(Picture Parameter Set) 등의 초기화 정보와 같다. 표 3은 Payload_frame_type 필드의 값과 프레임 종류의 대응 관계의 일 예이다.
내 용
‘000’ Reserved
‘001’ I frame (or IDR frame)
‘010’ P frame
‘011’ B frame
‘100’ Decoding Information
‘101’ ~ ‘111’ Reserved
- Frame_sequence_number: 비디오 스트림 내의 프레임 번호를 나타낸다. Frame_sequence_number 필드의 길이는 8비트일 수 있으며, 0~254의 값을 가지면서 모듈로(modulo) 카운터의 방식으로 동작한다. 프레임 번호는 I 프레임은 0x00으로 설정되며, 다음I 프레임이 나타날 때까지 0x01만큼 증가할 수 있다. 단, I, P 및 B 프레임이 아닌 복호화 정보일 때에는 0xFF로 설정될 수 있다.
- Last_frame_sequence_number: I 프레임인 경우 다음 I 프레임이 나타나기 직전 프레임 번호를 나타낸다. Last_frame_sequence_number 필드의 길이는 8비트일 수 있다. Last_frame_sequence_number 필드에 의하여 I 프레임 간의 P 또는 B 프레임의 개수를 알 수 있으며, 수신단에서 P 및 B 프레임의 시간 값을 보정하여 계산할 수 있다.
- Decoding_time_stamp: 페이로드에 포함된 프레임의 복호화 시간을 나타낸다. Decoding_time_stamp 필드의 길이는 33비트일 수 있다.
- Presentation_time_stamp: 페이로드에 포함된 프레임의 출력 시간을 나타낸다. Presentation_time_stamp 필드의 길이는 33비트일 수 있다.
- Dependent_frame_sequence_number: Packet_dependency 필드의 값이 1인 경우 헤더 값을 공유하는 프레임 번호를 나타낸다.
- Packet_data_byte: 실제 데이터를 실어 보내기 위한 필드이다. Packet_data_byte 필드의 길이는 8비트일 수 있다.
도 4는 제안된 패킷화 방법에 따른 패킷화의 일 예이다. 도 4를 참조하면, I 프레임의 패킷 헤더의 대역폭에는 큰 변화가 없으나, P 또는 B 프레임의 패킷 헤더가 사용하는 대역폭의 크기는 제안된 발명에 의하여 줄어드는 것을 알 수 있다. 이에 따라 NULL에 해당하는 부분만큼 대역폭의 절약된다.
도 5는 제안된 패킷화 방법에 따른 패킷화의 또 다른 예이다. 도 5는 좌영상과 우영상을 포함하는 3D 영상에 대해서 제안된 패킷화 방법이 적용되는 경우이다. 일반적으로 좌영상과 우영상은 각 프레임 별로 동기화되며, 동기화된 좌영상과 우영상은 기존의 동기 패킷화 과정을 거칠 경우 동일한 패킷 헤더를 가지게 되므로, 패킷 헤더의 오버헤드가 단일 영상일 때보다 더욱 커지게 된다. 좌영상 및 우영상에 제안된 패킷화 방법이 적용되는 경우, 각 프레임 별로 서로 다른 패킷 헤더가 생성되어 P 또는 B 프레임의 패킷 헤더가 차지하는 대역폭을 줄일 수 있으며, 또한 좌영상의 패킷 헤더와 우영상의 패킷 헤더가 동일하므로 우영상의 패킷 헤더가 차지하는 대역폭을 더 줄일 수 있다.
도 6은 제안된 발명에 의한 비디오 스트림의 패킷화 방법의 일 실시예를 나타내는 블록도이다. 단계 S400에서 패킷화 장치는 부호화된 비디오 스트림을 프레임 별로 분류한다. 단계 S410에서 패킷화 장치는 상기 분류된 프레임에 따라 각 프레임 별로 패킷 헤더를 설정한다. 단계 S420에서 패킷화 장치는 상기 설정된 패킷 헤더를 기반으로 비디오 프레임을 패킷화한다.
본 발명은 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 하드웨어 구현에 있어, 상술한 기능을 수행하기 위해 디자인된 ASIC(application specific integrated circuit), DSP(digital signal processing), PLD(programmable logic device), FPGA(field programmable gate array), 프로세서, 제어기, 마이크로 프로세서, 다른 전자 유닛 또는 이들의 조합으로 구현될 수 있다. 소프트웨어 구현에 있어, 상술한 기능을 수행하는 모듈로 구현될 수 있다. 소프트웨어는 메모리 유닛에 저장될 수 있고, 프로세서에 의해 실행된다. 메모리 유닛이나 프로세서는 당업자에게 잘 알려진 다양한 수단을 채용할 수 있다.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당업자라면 순서도에 나타낸 단계들이 배타적이지 않고, 다른 단계가 포함되거나 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예들은 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.

Claims (16)

  1. 부호화된 비디오 스트림을 프레임의 종류에 따라 분류하는 비디오 프레임 체크 블록;
    상기 분류된 각 프레임 별로 상기 프레임의 종류를 나타내는 필드를 포함하는 패킷 헤더를 설정하는 헤더 설정 블록; 및
    상기 설정된 패킷 헤더를 기반으로 비디오 프레임을 패킷화하는 패킷화 블록을 포함하는 비디오 스트림의 패킷화 장치.
  2. 제 1 항에 있어서,
    상기 프레임의 종류는 I(Intra-coded) 프레임, P(Predicted) 프레임 및 B(Bi-predictive) 프레임 중 어느 하나인 것을 특징으로 하는 비디오 스트림의 패킷화 장치.
  3. 제 1 항에 있어서,
    상기 패킷 헤더는 임의 접근(random access) 가능 여부를 지시하는 필드를 포함하는 것을 특징으로 하는 비디오 스트림의 패킷화 장치.
  4. 제 1 항에 있어서,
    상기 패킷 헤더는 특정 프레임과의 패킷 헤더 공유 여부를 지시하는 필드를 포함하는 것을 특징으로 하는 비디오 스트림의 패킷화 장치.
  5. 제 4 항에 있어서,
    상기 패킷 헤더 공유 여부를 지시하는 필드의 값이 1인 경우,
    상기 패킷 헤더는 상기 특정 프레임의 프레임 번호를 지시하는 필드를 더 포함하는 것을 특징으로 하는 비디오 스트림의 패킷화 장치.
  6. 제 4 항에 있어서,
    상기 패킷 헤더 공유 여부를 지시하는 필드의 값이 1인 경우,
    상기 특정 프레임은 3D 영상의 좌영상에 해당하는 프레임인 것을 특징으로 하는 비디오 스트림의 패킷화 장치.
  7. 제 1 항에 있어서,
    상기 패킷 헤더는 복호화 시간 또는 출력 시간을 지시하는 필드를 포함하는 것을 특징으로 하는 비디오 스트림의 패킷화 장치.
  8. 제 1 항에 있어서,
    상기 패킷화된 비디오 프레임을 전송 다중화하여 수신기로 전송하는 전송 다중화 블록을 더 포함하는 것을 특징으로 하는 비디오 스트림의 패킷화 장치.
  9. 디지털 방송 시스템에서 비디오 스트림의 패킷화 방법에 있어서,
    부호화된 비디오 스트림을 프레임의 종류에 따라 분류하는 단계;
    상기 분류된 각 프레임 별로 상기 프레임의 종류를 나타내는 필드를 포함하는 패킷 헤더를 설정하는 단계; 및
    상기 설정된 패킷 헤더를 기반으로 비디오 프레임을 패킷화하는 단계를 포함하는 비디오 스트림의 패킷화 방법.
  10. 제 9 항에 있어서,
    상기 프레임의 종류는 I(Intra-coded) 프레임, P(Predicted) 프레임 및 B(Bi-predictive) 프레임 중 어느 하나인 것을 특징으로 하는 비디오 스트림의 패킷화 방법.
  11. 제 9 항에 있어서,
    상기 패킷 헤더는 임의 접근(random access) 가능 여부를 지시하는 필드를 포함하는 것을 특징으로 하는 비디오 스트림의 패킷화 방법.
  12. 제 9 항에 있어서,
    상기 패킷 헤더는 특정 프레임과의 패킷 헤더 공유 여부를 지시하는 필드를 포함하는 것을 특징으로 하는 비디오 스트림의 패킷화 방법.
  13. 제 12 항에 있어서,
    상기 패킷 헤더 공유 여부를 지시하는 필드의 값이 1인 경우,
    상기 패킷 헤더는 상기 특정 프레임의 프레임 번호를 지시하는 필드를 더 포함하는 것을 특징으로 하는 비디오 스트림의 패킷화 방법.
  14. 제 12 항에 있어서,
    상기 패킷 헤더 공유 여부를 지시하는 필드의 값이 1인 경우,
    상기 특정 프레임은 3D 영상의 좌영상에 해당하는 프레임인 것을 특징으로 하는 비디오 스트림의 패킷화 방법.
  15. 제 9 항에 있어서,
    상기 패킷 헤더는 복호화 시간 또는 출력 시간을 지시하는 필드를 포함하는 것을 특징으로 하는 비디오 스트림의 패킷화 방법.
  16. 제 9 항에 있어서,
    상기 패킷화된 비디오 프레임을 전송 다중화하여 수신기로 전송하는 단계를 더 포함하는 것을 특징으로 하는 비디오 스트림의 패킷화 방법.
PCT/KR2011/000466 2010-12-06 2011-01-24 비디오 스트림의 패킷화 방법 및 장치 WO2012077855A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/990,903 US20130250975A1 (en) 2010-12-06 2011-01-24 Method and device for packetizing a video stream

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100123847A KR20120062545A (ko) 2010-12-06 2010-12-06 비디오 스트림의 패킷화 방법 및 장치
KR10-2010-0123847 2010-12-06

Publications (1)

Publication Number Publication Date
WO2012077855A1 true WO2012077855A1 (ko) 2012-06-14

Family

ID=46207327

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/000466 WO2012077855A1 (ko) 2010-12-06 2011-01-24 비디오 스트림의 패킷화 방법 및 장치

Country Status (3)

Country Link
US (1) US20130250975A1 (ko)
KR (1) KR20120062545A (ko)
WO (1) WO2012077855A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130090824A (ko) * 2012-02-06 2013-08-14 한국전자통신연구원 이종망 네트워크에서 부호화된 미디어 데이터를 전송하는 시스템에 랜덤 액세스를 지원하는 엠엠티 애셋의 구조, 생성 방법 및 생성 장치
US9521655B2 (en) * 2013-07-30 2016-12-13 Qualcomm Incorporated Method and apparatus for avoiding power scaling in uplink data transmission
US9900362B2 (en) 2014-02-11 2018-02-20 Kiswe Mobile Inc. Methods and apparatus for reducing latency shift in switching between distinct content streams
KR101710993B1 (ko) 2014-04-03 2017-02-28 한국전자통신연구원 비디오 프레임의 시공간 적응적 패킷화 장치
KR102209782B1 (ko) * 2015-11-02 2021-01-28 에스케이텔레콤 주식회사 스트리밍 서비스 제공 방법 및 이를 위한 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020015232A (ko) * 2000-08-21 2002-02-27 임명식 전송 스트림 저장 장치 및 이를 채용하는 방송 신호 수신장치
KR20090079941A (ko) * 2006-10-20 2009-07-22 노키아 코포레이션 비디오 코딩에서 픽쳐 출력 표시들을 제공하기 위한 시스템 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4296604B2 (ja) * 1997-10-03 2009-07-15 ソニー株式会社 符号化ストリームスプライシング装置及び方法、並びに符号化ストリーム生成装置及び方法
FR2932637B1 (fr) * 2008-06-17 2010-08-20 Canon Kk Procede et dispositif de codage d'une sequence d'images
US8270425B2 (en) * 2009-12-29 2012-09-18 Symbol Technologies, Inc. Method and system for multicast video streaming over a wireless local area network (WLAN)

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020015232A (ko) * 2000-08-21 2002-02-27 임명식 전송 스트림 저장 장치 및 이를 채용하는 방송 신호 수신장치
KR20090079941A (ko) * 2006-10-20 2009-07-22 노키아 코포레이션 비디오 코딩에서 픽쳐 출력 표시들을 제공하기 위한 시스템 및 방법

Also Published As

Publication number Publication date
KR20120062545A (ko) 2012-06-14
US20130250975A1 (en) 2013-09-26

Similar Documents

Publication Publication Date Title
US9900363B2 (en) Network streaming of coded video data
JP6961778B2 (ja) 送信方法、受信方法、送信装置及び受信装置
US10965949B2 (en) Carriage systems encoding or decoding JPEG 2000 video
JP6302274B2 (ja) 送信装置及び受信装置
US8009742B2 (en) Method and system for retransmitting internet protocol packet for terrestrial digital multimedia broadcasting service
US11770582B2 (en) Frame conversion for adaptive streaming alignment
Park et al. Delivery of ATSC 3.0 services with MPEG media transport standard considering redistribution in MPEG-2 TS format
JP7200329B2 (ja) 送信方法、受信方法、送信装置及び受信装置
US8850590B2 (en) Systems and methods for using transport stream splicing for programming information security
WO2012077855A1 (ko) 비디오 스트림의 패킷화 방법 및 장치
US20240163502A1 (en) Transmission apparatus, transmission method, encoding apparatus, encoding method, reception apparatus, and reception method
CN107787585B (zh) 用于处理立体视频数据的mmt装置和mmt方法
US10349118B2 (en) Transmission arrangement for wirelessly transmitting an MPEG2-TS-compatible data stream
US10700799B2 (en) Method and apparatus for broadcast signal transmission
CN108702533B (zh) 发送装置、发送方法、接收装置和接收方法
Siddaraju et al. Multiplexing the elementary streams of H. 264 video and MPEG4 HE AAC v2 audio, de-multiplexing and achieving lip synchronization
KR102211539B1 (ko) 버퍼모델을 따르는 스트리밍을 위한 부가 정보 생성 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11846490

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13990903

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11846490

Country of ref document: EP

Kind code of ref document: A1