KR101290346B1 - System and method for contents multiplexing and streaming - Google Patents
System and method for contents multiplexing and streaming Download PDFInfo
- Publication number
- KR101290346B1 KR101290346B1 KR1020100025640A KR20100025640A KR101290346B1 KR 101290346 B1 KR101290346 B1 KR 101290346B1 KR 1020100025640 A KR1020100025640 A KR 1020100025640A KR 20100025640 A KR20100025640 A KR 20100025640A KR 101290346 B1 KR101290346 B1 KR 101290346B1
- Authority
- KR
- South Korea
- Prior art keywords
- pes
- information
- streams
- program
- packet
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/2368—Multiplexing of audio and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/23611—Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/2362—Generation or processing of Service Information [SI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Time-Division Multiplex Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 콘텐츠를 효율적으로 다중화하고 스트리밍 하기 위한 시스템 및 방법이 개시된다. 콘텐츠 다중화/스트리밍 시스템은 비디오 부호화기에서 부호화된 ES 데이터를 비디오 PES 패킷으로 변환하는 복수의 비디오 PES 패킷화기; 오디오 부호화기에서 부호화된 ES 데이터를 오디오 PES 패킷으로 변환하는 복수의 오디오 PES 패킷화기; TS 신호를 복호화하는 과정에서 각각의 복호화된 스트림들의 동기를 맞추어 재생하기 위한 동기 정보를 생성하여 상기 비디오 PES 패킷화기, 상기 오디오 PES 패킷화기 및 TS 패킷화기에 제공하는 동기 정보 생성기 및, 상기 오디오 PES 패킷과 상기 비디오 PES 패킷 및 상기 동기 정보를 사용하여 복수의 프로그램 스트림들을 생성하고, 상기 프로그램 스트림들의 구성에 대한 정보인 PSI 정보를 생성하며, 일정 주기로 상기 프로그램 스트림들의 사이에 상기 PSI 정보를 삽입하여 상기 TS 신호를 생성하는 TS 패킷화기를 포함한다.The present invention discloses a system and method for efficiently multiplexing and streaming content. The content multiplexing / streaming system includes a plurality of video PES packetizers for converting the ES data encoded by the video encoder into video PES packets; A plurality of audio PES packetizers for converting the ES data encoded by the audio encoder into audio PES packets; A synchronization information generator for generating synchronization information for synchronizing playback of each decoded stream in the process of decoding a TS signal and providing the same to the video PES packetizer, the audio PES packetizer and the TS packetizer, and the audio PES Generate a plurality of program streams using the packet, the video PES packet, and the synchronization information, generate PSI information which is information on the configuration of the program streams, and insert the PSI information between the program streams at regular intervals. And a TS packetizer for generating the TS signal.
Description
본 발명은 콘텐츠를 다중화하고 스트리밍 하기 위한 시스템 및 방법에 관한 것이다.The present invention relates to a system and method for multiplexing and streaming content.
프로그램을 방송하는 방송국의 증가에 따라 다양한 프로그램을 하나의 신호로 전송하는 방법이 부각되었다.With the increase of broadcasting stations that broadcast programs, a method of transmitting various programs as one signal has emerged.
다양한 프로그램을 하나의 신호로 전송하는 방법 중에 하나인 MPEG-2 TS(Transport Stream) 스트림은 기존의 ATM(Asynchronous Transfer Mode) 망과의 호환성을 보장하고 패킷 분실과 같은 전송 오차 시 손실을 줄이기 위하여 패킷의 길이가 동일하면서 짧도록 설계되었다. MPEG-2 Transport Stream (TS) stream, which is a method of transmitting various programs as a single signal, is designed to ensure compatibility with existing Asynchronous Transfer Mode (ATM) networks and to reduce loss in transmission errors such as packet loss. It is designed to be short while the same length.
즉, 모든 MPEG-2 TS 패킷은 PES(Packetized elementary stream) 스트림에 관계없이 188 bytes의 길이로 구성되어 있으며 4 bytes의 헤더를 갖는다.That is, all MPEG-2 TS packets have a length of 188 bytes regardless of the packetized elementary stream (PES) stream and have a header of 4 bytes.
그러나 MPEG-2 TS 스트림의 구조로부터 예상할 수 있듯이, 초고해상도의 UHD(Ultra High Definition) 비디오와 같은 대용량의 PES 스트림의 경우에는 SD(Standard Definition) 비디오 또는 HD(High Definition) 비디오에 비해 더 많은 MPEG-2 TS 패킷으로 분할되므로 상대적으로 4 bytes의 TS 헤더에 대한 오버헤드가 증가하게 되는 실정이다.However, as can be expected from the structure of MPEG-2 TS streams, large PES streams, such as ultra high definition Ultra High Definition (UHD) video, are more expensive than standard definition (SD) video or high definition (HD) video. Since it is divided into MPEG-2 TS packets, the overhead of a TS header of 4 bytes is relatively increased.
또한, 저 용량을 갖는 오디오 PES 스트림의 경우에는 비디오 PES 스트림에 비해 다수의 MPEG-2 TS 패킷이 의미 없는 바이트(stuff byte)로 채워지므로 상대적으로 불필요한 대역폭을 차지할 가능성이 있었다.In addition, in the case of an audio PES stream having a low capacity, since a large number of MPEG-2 TS packets are filled with stuff bytes in comparison with the video PES stream, there is a possibility of occupying a relatively unnecessary bandwidth.
그리고, MPEG-2 TS 스트림에서 각각의 PES 스트림은 TS 헤더 내에 있는 PID(Packet IDentifier)에 의해 구분된다. 따라서, 188 bytes마다 13 bits의 PID가 사용되어야 하므로 대역폭 측면에서의 오버헤드와 사용자가 선택한 프로그램에 상관없이 매 TS 패킷마다 PID를 필터링 해야 하는 프로세싱 측면에서의 오버헤드가 발생하였다.In the MPEG-2 TS stream, each PES stream is identified by a PID (Packet IDentifier) in the TS header. Therefore, since 13 bits of PID should be used for every 188 bytes, there is overhead in terms of bandwidth and processing in that the PID must be filtered for every TS packet regardless of a user-selected program.
따라서, 불필요한 대역폭을 절감하고, 오버헤드를 감소시키기 위한 새로운 방법이 요구된다.Therefore, new methods are needed to reduce unnecessary bandwidth and reduce overhead.
본 발명의 일실시예는 대역폭을 절감하고 프로세싱 부담도 감소할 수 있는 콘텐츠 다중화/스트리밍 방법 및 시스템을 제공한다.One embodiment of the present invention provides a method and system for content multiplexing / streaming that can save bandwidth and reduce processing burden.
본 발명의 일실시예에 따른 콘텐츠 다중화/스트리밍 시스템은 비디오 부호화기에서 부호화된 ES(Elementary Stream) 데이터를 비디오 PES(Packetized ES) 패킷으로 변환하는 복수의 비디오 PES 패킷화기(Packetizer); 오디오 부호화기에서 부호화된 ES 데이터를 오디오 PES 패킷으로 변환하는 복수의 오디오 PES 패킷화기; TS 신호를 복호화하는 과정에서 각각의 복호화된 스트림들의 동기를 맞추어 재생하기 위한 동기 정보를 생성하여 상기 비디오 PES 패킷화기, 상기 오디오 PES 패킷화기 및 TS 패킷화기에 제공하는 동기 정보 생성기 및, 상기 오디오 PES 패킷과 상기 비디오 PES 패킷 및 상기 동기 정보를 사용하여 복수의 프로그램 스트림들을 생성하고, 상기 프로그램 스트림들의 구성에 대한 정보인 PSI(Program Specific Information) 정보를 생성하며, 일정 주기로 상기 프로그램 스트림들의 사이에 상기 PSI 정보를 삽입하여 상기 TS 신호를 생성하는 TS 패킷화기를 포함한다.Content multiplexing / streaming system according to an embodiment of the present invention comprises a plurality of video PES packetizer (Packetizer) for converting the ES (Elementary Stream) data encoded in the video encoder into a video packetized ES (PES) packet; A plurality of audio PES packetizers for converting the ES data encoded by the audio encoder into audio PES packets; A synchronization information generator for generating synchronization information for synchronizing playback of each decoded stream in the process of decoding a TS signal and providing the same to the video PES packetizer, the audio PES packetizer and the TS packetizer, and the audio PES Generate a plurality of program streams using the packet, the video PES packet, and the synchronization information, and generate program specific information (PSI) information, which is information on the configuration of the program streams, between the program streams at regular intervals. And a TS packetizer that inserts PSI information to generate the TS signal.
본 발명의 일실시예에 따른 TS 패킷화기는, 프로그램 스트림들을 PES 스트림의 평균 전송률에 따라 서로 다른 일정 길이를 갖는 TS 패킷으로 분리하고, 프로그램 스트림들을 분리된 상기 TS 패킷 내에서 정형화된 형태로 서로 다중화할 수 있다.The TS packetizer according to an embodiment of the present invention separates program streams into TS packets having different predetermined lengths according to the average transmission rates of the PES streams, and separates the program streams into a normalized form within the separated TS packets. Can be multiplexed
본 발명의 일실시예에 따른 TS 패킷화기는, 특정 바이트 열로 구성된 동기 코드(sync code)를 PSI 정보 앞에 삽입하여 TS 신호를 생성할 수 있다.The TS packetizer according to an embodiment of the present invention may generate a TS signal by inserting a sync code composed of a specific byte string before PSI information.
본 발명의 일실시예에 따른 콘텐츠를 다중화하고 스트리밍 하는 방법은 오디오 PES 패킷과 상기 비디오 PES 패킷 및 TS 신호를 복호화하는 과정에서 각각의 복호화된 스트림들의 동기를 맞추어 재생하기 위한 동기 정보를 사용하여 복수의 프로그램 스트림들을 생성하는 단계; 상기 프로그램 스트림들의 구성에 대한 정보인 PSI(Program Specific Information) 정보를 생성하는 단계; 및 일정 주기로 상기 프로그램 스트림들의 사이에 상기 PSI 정보를 삽입하여 TS 신호를 생성하는 단계를 포함한다.A method of multiplexing and streaming content according to an embodiment of the present invention uses a plurality of pieces of synchronization information for synchronizing and playing respective decoded streams in a process of decoding an audio PES packet and the video PES packet and a TS signal. Generating program streams of a; Generating program specific information (PSI) information that is information on a configuration of the program streams; And generating the TS signal by inserting the PSI information between the program streams at regular intervals.
본 발명의 일실시예에 따르면, 고정된 PSI 주기와 특정 패턴의 동기 코드를 이용하여 PSI 정보를 분리하고, PSI 정보에 저장된 정보를 이용하여 각각의 PES 스트림을 구분함으로써 매 TS 패킷마다 13 bits의 PID를 사용하지 않아도 되므로 대역폭이 절감되고 프로세싱 부담도 줄어드는 효과가 있다.According to an embodiment of the present invention, PSI information is separated using a fixed PSI period and a specific pattern of synchronization code, and each PES stream is classified using information stored in the PSI information. Eliminating the need for PIDs saves bandwidth and reduces processing overhead.
도 1은 본 발명에 따른 콘텐츠 다중화/스트리밍 시스템의 일실시예 구성도다.
도 2는 본 발명에 따른 TS 신호의 일례를 도시한 도면이다.
도 3은 도 2에 도시된 프로그램 스트림의 일례를 나타내는 도면이다.
도 4는 도 2에 도시된 프로그램 스트림의 다른 일례를 나타내는 도면이다.
도 5는 본 발명에 따라 콘텐츠를 다중화하고 스트리밍 하는 방법에 대한 일실시예 순서도이다.1 is a block diagram of an embodiment of a content multiplexing / streaming system according to the present invention.
2 is a diagram illustrating an example of a TS signal according to the present invention.
FIG. 3 is a diagram illustrating an example of the program stream shown in FIG. 2.
4 is a diagram illustrating another example of the program stream illustrated in FIG. 2.
5 is a flowchart of an embodiment of a method of multiplexing and streaming content according to the present invention.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따른 콘텐츠 다중화/스트리밍 시스템의 일실시예 구성도다. 1 is a block diagram of an embodiment of a content multiplexing / streaming system according to the present invention.
도 1을 참고하면, 콘텐츠를 다중화하고 스트리밍 하는 시스템(100)은 제1 비디오 PES 패킷화기(110), 제1 오디오 PES 패킷화기(120), 동기 정보 생성기(130), 제2 비디오 PES 패킷화기(140), 제2 오디오 PES 패킷화기(150), 및 TS 패킷화기(160)를 포함할 수 있다.Referring to FIG. 1, a
일례로, 콘텐츠를 다중화하고 스트리밍 하는 시스템(100)은 복수 개의 프로그램으로 구성된 TS(Transport Stream) 스트림을 구성하기 위한 부호화기일 수 있다.For example, the
제1 비디오 PES 패킷화기(110)는 제1 비디오 부호화기(111)에서 부호화된 비디오 ES(Elementary Stream) 데이터를 비디오 PES(Packetized ES) 패킷으로 변환하는 PES 패킷화기(Packetizer)이고, 제1 오디오 PES 패킷화기(120)는 제1 오디오 부호화기(121)에서 부호화된 오디오 ES 데이터를 오디오 PES 패킷으로 변환하는 PES 패킷화기이다.The first
동기 정보 생성기(130)는 TS 신호를 복호화하는 과정에서 각각의 복호화된 스트림들의 동기를 맞추어 재생하기 위한 동기 정보를 생성하여 제1 비디오 PES 패킷화기(110), 제1 오디오 PES 패킷화기(120), 제2 비디오 PES 패킷화기(140), 제2 오디오 PES 패킷화기(150), 및 TS 패킷화기(160)에 제공한다.In the process of decoding the TS signal, the
이때, 동기 정보 생성기(130)가 생성하는 동기 정보는 ESCR(Elementary Stream Clock Reference), DTS(Decoding Time Stamp), PTS(Presentation Time Stamp), 및 PCR(Program Clock Reference)을 포함할 수 있다.In this case, the synchronization information generated by the
구체적으로 동기 정보 생성기(130)는 ESCR, DTS, PTS를 제1 비디오 PES 패킷화기(110), 제1 오디오 PES 패킷화기(120), 제2 비디오 PES 패킷화기(140), 및 제2 오디오 PES 패킷화기(150)에 전송하여 PES 패킷화 과정에서 PES 패킷 헤더에 추가하도록 할 수 있다.Specifically, the
또한, 동기 정보 생성기(130)는 PCR를 TS 패킷화기(160)에 전송하여 TS 패킷으로 구성된 TS 신호를 생성하는 다중화 과정에서 TS 패킷 헤더에 추가되도록 할 수 있다.In addition, the
제2 비디오 PES 패킷화기(140)는 제2 비디오 부호화기(141)에서 부호화된 비디오 ES 데이터를 비디오 PES 패킷으로 변환하고, 제2 오디오 PES 패킷화기(150)는 제2 오디오 부호화기(151)에서 부호화된 오디오 ES 데이터를 오디오 PES 패킷으로 변환할 수 있다.The second
구체적으로 제2 비디오 PES 패킷화기(140)와 제2 오디오 PES 패킷화기(150)는 각각 제1 비디오 PES 패킷화기(110), 제1 오디오 PES 패킷화기(120)에 대응하는 구성이며, TS 신호에 포함되는 복수의 프로그램 중에 각각 1개씩을 패킷화하는 구성이다.In detail, the second
TS 패킷화기(TS Packetizer 또는 TS MUX)(160)는 제1 비디오 PES 패킷화기(110), 제1 오디오 PES 패킷화기(120), 제2 비디오 PES 패킷화기(140), 및 제2 오디오 PES 패킷화기(150)로부터 전송된 오디오 PES 패킷, 비디오 PES 패킷과 동기 정보 생성기(130)로부터 전송된 동기 정보를 사용하여 TS(transport stream) 신호를 생성한다.The TS packetizer (TS Packetizer or TS MUX) 160 includes a first
구체적으로, TS 패킷화기(160)는, 오디오 PES 패킷과 비디오 PES 패킷 및 상기 동기 정보를 사용하여 복수의 프로그램 스트림들을 생성하고, 프로그램 스트림들의 구성에 대한 정보인 PSI(Program Specific Information) 정보를 생성하며, 프로그램 스트림들의 사이에 일정 주기로 PSI 정보를 삽입하여 TS 신호를 생성할 수 있다.In detail, the
이때, TS 패킷화기(160)는 상기 프로그램 스트림들을 PES 스트림의 평균 전송률에 따라 서로 다른 일정 길이를 갖는 TS 패킷으로 분리하고, 상기 프로그램 스트림들을 분리된 상기 TS 패킷 내에서 정형화된 형태로 서로 다중화할 수 있다.In this case, the
이때, TS 패킷화기(160)는 상기 프로그램 스트림들을 PES 스트림의 평균 전송률에 따라 서로 다른 일정 길이를 갖는 TS 패킷으로 분리함으로써, PES 스트림이 대용량의 PES 스트림인 경우 TS 헤더에 의한 오버헤드를 줄일 수 있고, PES 스트림이 저 용량의 PES 스트림의 경우에는 바이트 스터핑에 의한 대역폭 낭비를 감소시킬 수 있다.In this case, the
일례로, TS 패킷화기(160)는 대용량을 갖는 비디오 PES 스트림을 길이가 길고 일정한 TS 패킷으로 분리하고, 저 용량을 갖는 오디오 PES 스트림을 길이가 짧고 일정한 TS 패킷으로 분리할 수 있다. 이때, 분리되는 각각의 TS 패킷의 길이는 해당 PES 스트림의 평균 전송률을 고려하여 결정될 수 있다.For example, the
또한, TS 패킷화기(160)가 일정 주기로 TS 신호에 삽입하는 PSI 정보는, 프로그램 스트림 단위의 정보가 포함된 PAT(Program Association Table); 및 각각의 프로그램에 대한 PES 스트림 단위의 정보가 포함된 적어도 하나의 PMT(Program Map Table)를 포함할 수 있으며, TS 패킷화기(160)는 PSI 정보 앞에 특정 바이트 열로 구성된 동기 코드(sync code)를 더 삽입할 수 있다.The PSI information inserted into the TS signal by the
PSI 정보가 삽입되는 일정 주기인 PSI 주기와 PSI 정보 앞에 삽입되는 동기 코드는 본 발명에 따른 TS 신호에 임의로 접근하는 경우에 PSI 주기에 동기를 맞추고 PSI 정보를 파싱하는 것에 사용될 수 있다.The PSI period, which is a certain period in which the PSI information is inserted, and the synchronization code inserted before the PSI information, can be used to synchronize the PSI period and parse the PSI information when the TS signal according to the present invention is arbitrarily accessed.
이때, PAT는, PSI 정보와 PSI 정보 사이에 결합된 프로그램 스트림들의 수; 각각의 프로그램 스트림들의 평균 전송률; 프로그램 스트림 간의 패킷화 순서; 프로그램 스트림들에 포함된 각각의 TS 패킷의 길이; 및 다중화 주기 중에 적어도 하나를 포함할 수 있다.In this case, the PAT may include the number of program streams coupled between the PSI information and the PSI information; Average bit rate of each program stream; Packetization order between program streams; The length of each TS packet included in the program streams; And at least one of multiplexing cycles.
또한, PMT는, PSI 정보와 다른 PSI 정보 사이에 결합된 각각의 프로그램 스트림들에 포함된 PES 스트림/데이터 개수; 각각의 PES 스트림/데이터의 평균 전송률; 각각의 PES 스트림/데이터의 TS 신호 간 패킷화 순서; 각각의 PES 스트림/데이터의 TS 패킷 길이; 및 다중화 주기 중에 적어도 하나를 포함할 수 있다.In addition, the PMT may include: the number of PES streams / data included in respective program streams coupled between PSI information and other PSI information; Average transmission rate of each PES stream / data; Packetization order between TS signals of each PES stream / data; TS packet length of each PES stream / data; And at least one of multiplexing cycles.
이때, PAT의 길이와, PMT의 길이는 변경이 가능하도록 설정될 수 있다.In this case, the length of the PAT and the length of the PMT may be set to be changeable.
도 2는 본 발명에 따른 TS 신호의 일례를 도시한 도면이다.2 is a diagram illustrating an example of a TS signal according to the present invention.
본 발명에 따른 TS 신호는 도 2에 도시된 바와 같이 PSI 정보가 삽입되는 일정 주기인 PSI 주기(period)(200)마다 1개의 PSI 정보를 포함할 수 있다.As shown in FIG. 2, the TS signal according to the present invention may include one piece of PSI information for each
이때, PSI 정보는 TS 신호에 포함된 프로그램의 종류에 따라 적어도 하나의 PMT(230,240)와 하나의 PAT(220)로 구성될 수 있다. In this case, the PSI information may include at least one
일례로, 도 2의 실시예에서는 program1과 program2라는 2 종류의 프로그램이 TS 신호에 포함되므로 PMT 1(230)과 PMT 2(240)가 PAT(220)와 결합하여 PSI 정보를 구성할 수 있다. For example, in the embodiment of FIG. 2, since two types of programs, program1 and program2, are included in the TS signal, the
이때, PMT 1(230)은 program1(250) 내지 program1(270)과 같은 첫 번째 프로그램 스트림들에 포함된 PES 스트림/데이터 개수와 평균 전송률; 패킷화 순서; 및 TS 패킷 길이와 다중화 주기를 포함할 수 있다.At this time,
또한, PMT 2(240)은 program2(260) 내지 program2(280)와 같은 두 번째 프로그램 스트림들에 포함된 PES 스트림/데이터 개수와 평균 전송률; 패킷화 순서; 및 TS 패킷 길이와 다중화 주기를 포함할 수 있다.In addition,
그리고, PSI 정보의 앞에는 특정 바이트 열로 구성된 동기 코드(sync code)(210)이 결합될 수 있다.In addition, a
도 3은 도 2에 도시된 프로그램 스트림의 일례를 나타내는 도면이다.FIG. 3 is a diagram illustrating an example of the program stream shown in FIG. 2.
본 발명에 따른 프로그램 스트림은 도 3에 도시된 바와 같이 TS헤더(header)(310)과 다양한 종류의 스트림인 TS 페이로드(payload)(320)로 구성될 수 있다. As illustrated in FIG. 3, the program stream according to the present invention may be composed of a
이때, TS헤더(header)(310는 에러 비트의 유무를 확인하기 위한 정보와, 우선 순위에 대한 정보를 포함할 수 있다. In this case, the
또한, TS 페이로드(payload)(320)는 비디오 PES 패킷으로 구성된 비디오 PES 스트림인 V1이나, 오디오 PES 패킷으로 구성된 오디오 PES 스트림인 A11, A12, 또는 자막 또는 부가 정보로 구성된 데이터 스트림인 D1일 수 있다. The
일례로, 도 2의 program1(250)은 하나의 비디오 PES 스트림인 V1, 두 개의 오디오 PES 스트림인 A11, A12 및 하나의 데이터 스트림인 D1으로 구성될 수 있다.For example, program1 250 of FIG. 2 may be configured of one video PES stream V1, two audio PES streams A11 and A12, and one data stream D1.
도 4는 도 2에 도시된 프로그램 스트림의 다른 일례를 나타내는 도면이다.4 is a diagram illustrating another example of the program stream illustrated in FIG. 2.
본 발명에 따른 프로그램 스트림에 포함된 각각의 스트림은 PES 스트림의 평균 전송률에 따라 서로 다른 일정 길이를 갖는 TS 패킷으로 분리되고 TS헤더 (410)에 의하여 구분될 수 있다.Each stream included in the program stream according to the present invention may be divided into TS packets having different predetermined lengths according to the average transmission rate of the PES stream, and separated by the
일례로, 도 4에 도시된 바와 같이 비디오 PES 스트림인 V21, V22(420)의 길이는 오디오 PES 스트림인 A2(430)이나 데이터 스트림인 D2(440)와 다른 길이로 형성될 수 있다.For example, as illustrated in FIG. 4, the lengths of the video PES streams V21 and
또한, 도 2의 program2(280)은 program1(250)과 달리 두 개의 비디오 PES 스트림인 V21, V22, 하나의 오디오 PES 스트림인 A2 및 하나의 데이터 스트림인 D2로 구성될 수 있다.Also, unlike
도 5는 본 발명에 따라 콘텐츠를 다중화하고 스트리밍 하는 방법에 대한 일실시예 순서도이다.5 is a flowchart of an embodiment of a method of multiplexing and streaming content according to the present invention.
단계(S510)에서, TS 패킷화기(160)는 오디오 PES 패킷과 비디오 PES 패킷 및 동기 정보를 사용하여 복수의 프로그램 스트림들을 생성 할 수 있다.In operation S510, the TS packetizer 160 may generate a plurality of program streams using the audio PES packet, the video PES packet, and the synchronization information.
구체적으로 TS 패킷화기(160)는 제1 비디오 PES 패킷화기(110), 제1 오디오 PES 패킷화기(120), 제2 비디오 PES 패킷화기(140), 및 제2 오디오 PES 패킷화기(150)로부터 전송된 오디오 PES 패킷, 비디오 PES 패킷과 동기 정보 생성기(130)으로부터 전송된 동기 정보를 사용하여 각각의 프로그램 별로 프로그램 스트림들을 생성할 수 있다.Specifically, the TS packetizer 160 is configured from the first
단계(S520)에서, TS 패킷화기(160)는 단계(S510)에서 생성된 프로그램 스트림들의 구성에 대한 정보인 PSI 정보를 생성한다.In step S520, the TS packetizer 160 generates PSI information, which is information about the configuration of the program streams generated in step S510.
단계(S530)에서, TS 패킷화기(160)는 PSI 정보를 삽입한 다음에 일정 주기가 경과하였는지 여부를 확인할 수 있다.In operation S530, the TS packetizer 160 may check whether a predetermined period has elapsed after inserting the PSI information.
이때, TS 패킷화기(160)는 PSI 정보를 한 번도 삽입하지 않은 경우에도, PSI 정보를 삽입한 다음에 일정 주기가 경과한 것으로 판단할 수 있다.In this case, even if the PSI information is not inserted at all, the TS packetizer 160 may determine that a predetermined period has elapsed after inserting the PSI information.
단계(S540)에서, TS 패킷화기(160)는 단계(S510)에서 생성된 프로그램 스트림들을 결합할 수 있다.In step S540, the TS packetizer 160 may combine the program streams generated in step S510.
단계(S550)에서, TS 패킷화기(160)는 동기 코드와 단계(S520)에서 생성된 PSI 정보를 삽입할 수 있다.In operation S550, the TS packetizer 160 may insert a synchronization code and the PSI information generated in operation S520.
구체적으로, TS 신호의 최초 부분이나 최초 부분에서 일정 기간 이상 경과된 지점에 동기 코드와 단계(S520)에서 생성된 PSI 정보를 삽입할 수 있다. 이때, 삽입되는 PSI 정보들 간에는 단계(S540)에서 결합된 프로그램 스트림들이 위치할 수 있다.In detail, the synchronization code and the PSI information generated in step S520 may be inserted into the first part or the first part of the TS signal after a predetermined period. In this case, the combined program streams may be located in step S540 between the inserted PSI information.
또한, TS 패킷화기(160)은 TS 신호가 모두 생성되지 않은 경우에는 단계(S530)을 실행할 수도 있다.In addition, the TS packetizer 160 may execute step S530 when all the TS signals are not generated.
본 발명은 종래에 사용하던 MPEG-2 TS 패킷 주기(= 188 bytes)보다 상대적으로 길고 고정된 PSI 주기와 특정 패턴의 동기 코드를 이용하여 PSI 정보를 분리하고, PAT와 PMT에 기술된 프로그램 스트림들에 대한 다중화 및 스트림 형상 정보와 각 프로그램 스트림 내에서 PES 스트림들에 대한 다중화 및 스트림 형상 정보를 이용하여 각각의 PES 스트림을 구분할 수 있다. The present invention separates PSI information using a fixed PSI period and a specific pattern of synchronization code, which is relatively longer than the conventional MPEG-2 TS packet period (= 188 bytes), and program streams described in PAT and PMT. Each PES stream may be distinguished by using the multiplexing and stream shape information on the PES streams and the multiplexing and stream shape information on the PES streams in each program stream.
따라서 매 TS 패킷마다 13 bits의 PID를 사용하지 않아도 되므로 대역폭(전송률/저장용량)이 절감되고 PID를 필터링 하지 않아도 되므로 프로세싱 부담도 줄어드는 효과가 있다.Therefore, 13 bits of PID do not need to be used for every TS packet, thereby reducing bandwidth (transmission rate / storage capacity) and processing overhead since the PID does not need to be filtered.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. The methods according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.
160: TS 패킷화기
210: 동기 코드(sync code)
220: PAT
230: PMT160: TS packetizer
210: sync code
220: PAT
230: PMT
Claims (15)
오디오 부호화기에서 부호화된 ES 데이터를 오디오 PES 패킷으로 변환하는 복수의 오디오 PES 패킷화기;
TS 신호를 복호화하는 과정에서 각각의 복호화된 스트림들의 동기를 맞추어 재생하기 위한 동기 정보를 생성하여 상기 비디오 PES 패킷화기, 상기 오디오 PES 패킷화기 및 TS 패킷화기에 제공하는 동기 정보 생성기 및,
상기 오디오 PES 패킷과 상기 비디오 PES 패킷 및 상기 동기 정보를 사용하여 복수의 프로그램 스트림들을 생성하고, 상기 프로그램 스트림들의 구성에 대한 정보인 PSI(Program Specific Information) 정보를 생성하며, 일정 주기로 상기 프로그램 스트림들의 사이에 상기 PSI 정보를 삽입하여 상기 TS 신호를 생성하는 TS 패킷화기
를 포함하고,
상기 TS 패킷화기는,
상기 프로그램 스트림들을 PES 스트림의 평균 전송률에 따라 서로 다른 일정 길이를 갖는 TS 패킷으로 분리하고, 상기 프로그램 스트림들을 분리된 상기 TS 패킷 내에서 정형화된 형태로 서로 다중화하는 콘텐츠 다중화/스트리밍 시스템A plurality of video PES packetizers for converting ES (Elementary Stream) data encoded by a video encoder into video Packetized ES (PES) packets;
A plurality of audio PES packetizers for converting the ES data encoded by the audio encoder into audio PES packets;
A synchronization information generator which generates synchronization information for synchronizing and reproducing each of the decoded streams in the process of decoding a TS signal and provides the synchronization information to the video PES packetizer, the audio PES packetizer and the TS packetizer;
The plurality of program streams are generated using the audio PES packet, the video PES packet, and the synchronization information, and program specific information (PSI) information, which is information about a configuration of the program streams, is generated at regular intervals. A TS packetizer that generates the TS signal by inserting the PSI information in between
Lt; / RTI >
The TS packetizer,
A content multiplexing / streaming system for dividing the program streams into TS packets having different predetermined lengths according to the average transmission rate of the PES streams, and multiplexing the program streams in a standardized form in the separated TS packets.
상기 TS 패킷화기는 상기 비디오 PES 패킷을 상기 오디오 PES 패킷보다 길이가 긴 TS 패킷으로 분리하는 것을 특징으로 하는 콘텐츠 다중화/스트리밍 시스템.The method of claim 1,
And the TS packetizer divides the video PES packet into TS packets having a length longer than that of the audio PES packet.
상기 PSI 정보는,
상기 프로그램 스트림 단위의 정보가 포함된 PAT(Program Association Table); 및
각각의 프로그램에 대한 PES 스트림 단위의 정보가 포함된 적어도 하나의 PMT(Program Map Table)
를 포함하고,
특정 바이트 열로 구성된 동기 코드(sync code)를 상기 PSI 정보 앞에 삽입하여 상기 TS 신호를 생성하는 것을 특징으로 하는 콘텐츠 다중화/스트리밍 시스템.The method of claim 1,
The PSI information is
A program association table (PAT) including information of the program stream unit; And
At least one Program Map Table (PMT) including information in units of PES streams for each program.
Lt; / RTI >
And generating a TS signal by inserting a sync code composed of a specific byte string before the PSI information.
상기 PAT는,
상기 PSI 정보와 다른 PSI 정보 사이에 결합된 상기 프로그램 스트림들의 수; 각각의 상기 프로그램 스트림들의 평균 전송률; 상기 프로그램 스트림 간의 패킷화 순서; 상기 프로그램 스트림들에 포함된 각각의 상기 TS 패킷의 길이; 및 다중화 주기 중에 적어도 하나를 포함하는 것을 특징으로 하는 콘텐츠 다중화/스트리밍 시스템.5. The method of claim 4,
The PAT is,
The number of program streams coupled between the PSI information and other PSI information; An average rate of each of said program streams; Packetization order between the program streams; A length of each said TS packet included in said program streams; And at least one of multiplexing cycles.
상기 PMT는,
상기 PSI 정보와 다른 PSI 정보 사이에 결합된 각각의 상기 프로그램 스트림들에 포함된 PES 스트림/데이터 개수; 각각의 상기 PES 스트림/데이터의 평균 전송률; 각각의 상기 PES 스트림/데이터의 TS 신호 간 패킷화 순서; 각각의 상기 PES 스트림/데이터의 TS 패킷 길이; 및 다중화 주기 중에 적어도 하나를 포함하는 것을 특징으로 하는 콘텐츠 다중화/스트리밍 시스템.5. The method of claim 4,
The PMT,
A number of PES streams / data included in each of the program streams coupled between the PSI information and other PSI information; Average rate of each of the PES streams / data; Packetization order between TS signals of each of said PES streams / data; TS packet length of each said PES stream / data; And at least one of multiplexing cycles.
상기 PAT의 길이와, 상기 PMT의 길이의 값은 변경이 가능한 것을 특징으로 하는 콘텐츠 다중화/스트리밍 시스템.5. The method of claim 4,
The length of the PAT and the value of the length of the PMT can be changed, the content multiplexing / streaming system.
상기 프로그램 스트림들을 PES 스트림의 평균 전송률에 따라 서로 다른 일정 길이를 갖는 TS 패킷으로 분리하는 단계;
상기 프로그램 스트림들을 분리된 상기 TS 패킷 내에서 정형화된 형태로 서로 다중화하는 단계;
상기 프로그램 스트림들의 구성에 대한 정보인 PSI(Program Specific Information) 정보를 생성하는 단계; 및
일정 주기로 상기 프로그램 스트림들의 사이에 상기 PSI 정보를 삽입하여 TS 신호를 생성하는 단계
를 포함하는 콘텐츠를 다중화하고 스트리밍 하는 방법.Generating a plurality of program streams using synchronization information for synchronizing and reproducing respective decoded streams in the process of decoding the audio PES packet, the video PES packet, and the TS signal;
Dividing the program streams into TS packets having different predetermined lengths according to average transmission rates of PES streams;
Multiplexing the program streams together in a standardized form in the separated TS packets;
Generating program specific information (PSI) information that is information on a configuration of the program streams; And
Generating a TS signal by inserting the PSI information between the program streams at regular intervals;
How to multiplex and stream the content containing.
상기 TS 패킷으로 분리하는 단계는 상기 비디오 PES 패킷을 상기 오디오 PES 패킷보다 길이가 긴 TS 패킷으로 분리하는 것을 특징으로 하는 콘텐츠를 다중화하고 스트리밍 하는 방법.9. The method of claim 8,
The separating of the TS packet may include splitting the video PES packet into TS packets having a length longer than that of the audio PES packet.
상기 PSI 정보는,
상기 프로그램 스트림 단위의 정보가 포함된 PAT(Program Association Table); 및
각각의 프로그램에 대한 PES 스트림 단위의 정보가 포함된 적어도 하나의 PMT(Program Map Table)
를 포함하고,
상기 TS 신호를 생성하는 단계는 특정 바이트 열로 구성된 동기 코드(sync code)를 상기 PSI 정보 앞에 삽입하여 상기 TS 신호를 생성하는 것을 특징으로 하는 콘텐츠를 다중화하고 스트리밍 하는 방법.9. The method of claim 8,
The PSI information is
A program association table (PAT) including information of the program stream unit; And
At least one Program Map Table (PMT) including information in units of PES streams for each program.
Lt; / RTI >
The generating of the TS signal may include inserting a sync code composed of a specific byte string before the PSI information to generate the TS signal.
상기 PAT는,
상기 PSI 정보와 다른 PSI 정보 사이에 결합된 상기 프로그램 스트림들의 수; 각각의 상기 프로그램 스트림들의 평균 전송률; 상기 프로그램 스트림 간의 패킷화 순서; 상기 프로그램 스트림들에 포함된 각각의 상기 TS 패킷의 길이; 및 다중화 주기 중에 적어도 하나를 포함하는 것을 특징으로 하는 콘텐츠를 다중화하고 스트리밍 하는 방법.12. The method of claim 11,
The PAT is,
The number of program streams coupled between the PSI information and other PSI information; An average rate of each of said program streams; Packetization order between the program streams; A length of each said TS packet included in said program streams; And at least one of multiplexing cycles.
상기 PMT는,
상기 PSI 정보와 다른 PSI 정보 사이에 결합된 각각의 상기 프로그램 스트림들에 포함된 PES 스트림/데이터 개수; 각각의 상기 PES 스트림/데이터의 평균 전송률; 각각의 상기 PES 스트림/데이터의 TS 신호 간 패킷화 순서; 각각의 상기 PES 스트림/데이터의 TS 패킷 길이; 및 다중화 주기 중에 적어도 하나를 포함하는 것을 특징으로 하는 콘텐츠를 다중화하고 스트리밍 하는 방법.12. The method of claim 11,
The PMT,
A number of PES streams / data included in each of the program streams coupled between the PSI information and other PSI information; Average rate of each of the PES streams / data; Packetization order between TS signals of each of said PES streams / data; TS packet length of each said PES stream / data; And at least one of multiplexing cycles.
상기 PAT의 길이와, 상기 PMT의 길이의 값은 변경이 가능하게 설정되는 것을 특징으로 하는 콘텐츠를 다중화하고 스트리밍 하는 방법.12. The method of claim 11,
And a value of the length of the PAT and the length of the PMT is set to be changeable.
상기 TS 패킷화기는,
상기 오디오 PES 패킷과 상기 비디오 PES 패킷 및 상기 동기 정보를 사용하여 복수의 프로그램 스트림들을 생성하고,
상기 프로그램 스트림들을 PES 스트림의 평균 전송률에 따라 서로 다른 일정 길이를 갖는 TS 패킷으로 분리하며,
상기 프로그램 스트림들을 분리된 상기 TS 패킷 내에서 정형화된 형태로 서로 다중화하고,
상기 프로그램 스트림들의 구성에 대한 정보인 PSI(Program Specific Information) 정보를 생성하며,
일정 주기로 상기 프로그램 스트림들의 사이에 상기 PSI 정보를 삽입하여 상기 TS 신호를 생성하는 것을 특징으로 하는 TS 패킷화기.In the TS packetizer for generating a transport stream (TS) signal by combining an audio packetized elementary stream (PES) packet, a video PES packet, and synchronization information,
The TS packetizer,
Generate a plurality of program streams using the audio PES packet and the video PES packet and the synchronization information,
The program streams are divided into TS packets having different predetermined lengths according to the average data rates of the PES streams.
Multiplexing the program streams with each other in a standardized form in the separated TS packet,
Generates program specific information (PSI) information, which is information on configuration of the program streams,
And generating the TS signal by inserting the PSI information between the program streams at regular intervals.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/875,453 US20110096775A1 (en) | 2009-10-22 | 2010-09-03 | System and method for multiplexing and streaming contents |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090100650 | 2009-10-22 | ||
KR20090100650 | 2009-10-22 | ||
KR1020090107384 | 2009-11-09 | ||
KR20090107384 | 2009-11-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110044124A KR20110044124A (en) | 2011-04-28 |
KR101290346B1 true KR101290346B1 (en) | 2013-07-26 |
Family
ID=44049042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100025640A KR101290346B1 (en) | 2009-10-22 | 2010-03-23 | System and method for contents multiplexing and streaming |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101290346B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102437726B1 (en) * | 2020-10-12 | 2022-08-26 | 세종대학교 산학협력단 | Apparatus and method for storing snack culture contents |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050019630A (en) * | 2003-08-20 | 2005-03-03 | 한국전자통신연구원 | System & Method for Digital Multimedia Broadcasting |
-
2010
- 2010-03-23 KR KR1020100025640A patent/KR101290346B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050019630A (en) * | 2003-08-20 | 2005-03-03 | 한국전자통신연구원 | System & Method for Digital Multimedia Broadcasting |
Also Published As
Publication number | Publication date |
---|---|
KR20110044124A (en) | 2011-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107925781B (en) | Transmission method, reception method, transmission device, and reception device | |
JP6868838B2 (en) | Transmitter, receiver, transmitter and receiver | |
CN107113462B (en) | Transmission method, reception method, transmission device, and reception device | |
CN107431845B (en) | Transmission method, reception method, transmission device, and reception device | |
US8483053B2 (en) | Information processing device, information processing method, program, and data structure | |
JP6667128B2 (en) | Transmission method, reception method, transmission device, and reception device | |
JP7564309B2 (en) | Transmission method, reception method, transmission device, and reception device | |
JP7200329B2 (en) | Transmission method, reception method, transmission device and reception device | |
JP7361287B2 (en) | Transmission method and transmission device | |
JP7538294B2 (en) | Receiving method, transmitting method, receiving device, and transmitting device | |
US20110096775A1 (en) | System and method for multiplexing and streaming contents | |
JP2024069460A (en) | Transmission method, reception method, transmitter and receiver | |
KR101290346B1 (en) | System and method for contents multiplexing and streaming | |
JP2021122110A (en) | Transmission device, reception device, transmission method and reception method | |
JP2020205633A (en) | Transmission method, reception method, transmission device and reception device | |
JP7257646B2 (en) | Transmission method, reception method, transmission device and reception device | |
JP2023138586A (en) | Transmission method, reception method, transmission device and reception device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160628 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |