KR0181081B1 - Escr generator for system decoder - Google Patents
Escr generator for system decoder Download PDFInfo
- Publication number
- KR0181081B1 KR0181081B1 KR1019960025096A KR19960025096A KR0181081B1 KR 0181081 B1 KR0181081 B1 KR 0181081B1 KR 1019960025096 A KR1019960025096 A KR 1019960025096A KR 19960025096 A KR19960025096 A KR 19960025096A KR 0181081 B1 KR0181081 B1 KR 0181081B1
- Authority
- KR
- South Korea
- Prior art keywords
- escr
- stream
- decoder
- pes
- clock
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/68—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving the insertion of resynchronisation markers into the bitstream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
- H04N19/865—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness with detection of the former encoding block subdivision in decompressed video
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 시스템 복호화시, 수신되는 PES 스트림에서 클럭정보(ESCR)를 정확하게 추출하고, 이를 근거로 하여 데이터를 복원하는 장치에 관한 것으로, 이를 해결하기 위하여 부호화되어 수신되는 전송 스트림을 PES스트림의 패킷 헤더와 패킷 패이로드로 각각 분리하는 PES 스트림 디패킷타이저, PES 스트림 디패킷타이저로부터의 PES에서 PTS와 ESCR을 추출하고, 이 추출된 PTS와 ESCR간의 비교에 의거하여 디스플레이를 위한 재생펄스신호를 발생하는 재생신호 발생수단, PES 스트림 디패킷타이저의 출력인 PES 스트림의 패킷 패이로드를 복호화하여 저장하며, 재생신호 발생수단의 재생펄스신호에 의거하여 저장되어 있던 영상신호를 모니터로 출력하는 스트림 디코더를 구비함으로써 시스템 복호화시, 수신되는 PES 스트림으로부터 영상데이터를 정확하게 복원할 수 있는 효과가 있다.The present invention relates to an apparatus for accurately extracting clock information (ESCR) from a received PES stream and restoring data on the basis of the decoding. In order to solve the problem, the present invention relates to a packet of a PES stream. A PES stream depacketizer and a PES stream depacketizer, each of which is separated into a header and a packet payload, PTS and ESCR are extracted from the PES stream depacketizer. A stream for decoding and storing the packet payload of the PES stream, which is the output of the PES stream depacketizer, and outputting the video signal stored on the basis of the playback pulse signal of the PES stream depacketizer. A decoder is provided to accurately restore video data from a received PES stream during system decoding. There is an effect that it is possible.
Description
제1도는 MPEG-2(ISO/IEC 13818) 시스템에서 전송스트림의 인코더를 개략적으로 도시한 블럭 구성도.1 is a block diagram schematically illustrating an encoder of a transport stream in an MPEG-2 (ISO / IEC 13818) system.
제2도는 엘리멘트리 스트림, 패킷타이저 및 PES 패킷의 관계를 설명한 도면.2 is a diagram illustrating a relationship between an elementary stream, a packetizer, and a PES packet.
제3도 및 제4도는 패킷 구성 및 전송스트림의 구성을 도시한 도면.3 and 4 are diagrams illustrating a packet configuration and a configuration of a transport stream.
제5도는 본 발명에 따른 시스템 복호화기의 ESCR 재생장치의 블록 구성도.5 is a block diagram of an ESCR playback apparatus of a system decoder according to the present invention.
제6도는 본 발명의 ESCR 재생부를 상세히 도시한 블록 구성도.6 is a block diagram showing in detail the ESCR playback unit of the present invention.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
500 : PES 스트림 디패킷타이저 600 : 재생신호 발생수단500: PES stream depacketizer 600: playback signal generating means
610 : 디코더 클럭 및 디바이더 620 : ESCR 재생부610: decoder clock and divider 620: ESCR playback unit
630 : RTS 추출부 640 : 비교기630: RTS extractor 640: comparator
700 : 스트림 디코더 710 :엘리멘트리 스트림 버퍼 및 디코더700: stream decoder 710: elementary stream buffer and decoder
720 : 메모리 730 : D/A 변환 및 혼합처리부720: Memory 730: D / A conversion and mixing processing unit
본 발명은 시스템 복호화기에 관한 것으로, 특히 시스템 복호화시, 수신되는 PES스트림에서 클럭정보(ESCR)를 정확하게 추출하고, 이를 근거로 하여 데이터를 복원하는 시스템 복호화기의 ESCR 재생 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a system decoder, and more particularly, to an apparatus for reproducing an ESCR of a system decoder, which accurately extracts clock information (ESCR) from a received PES stream and restores data based on the same.
우선, 반복되는 용어를 설명하고 기존의 기술을 설명한다.First, repeated terms will be described and existing techniques will be described.
ESCR은 시스템 디코더에서 PES 스트림을 디코딩하는 시간의 기준을 맞추기 위하여 시스템 인코더에서 시스템 클럭값을 포맷팅한 후 전송되는 비트열을 의미한다.ESCR refers to a bit string transmitted after formatting a system clock value in a system encoder in order to meet a time base for decoding a PES stream in the system decoder.
PCR(Program Clock Reference)는 디코더에서 시간의 기준을 맞추기 위하여 시스템 인코더에서 전송되는 시스템 클럭의 값이다.Program Clock Reference (PCR) is a value of the system clock transmitted from the system encoder to meet the time standard at the decoder.
PTS(Presention Time Stamp): 디코더에서 수신되는 스트림의 재생하는 시간을 알려주는 값이다. DTS(Decoding Time Stamp): 디코더에서 수신되는 스트림을 디코딩하는 시간을 지시하는 값이다.PTS (Presention Time Stamp): A value indicating the playing time of a stream received from a decoder. Decoding Time Stamp (DTS): A value indicating a time for decoding a stream received from a decoder.
MPEG 전송 스트림이라 함은, 전송 스트림은 일련의 전송패킷으로 구성되는데, 전송 패킷들은 각각의 길이가 188 바이트로 일정하다. 이는 MPEG-1, MPEG-2 및 기타의 방법으로 압축된 엘리멘트리 스트림 등을 전송에러가 존재하는 채널로 전송하기 위하여 일정한 포맷을 정해놓은 것이다.An MPEG transport stream is a transport stream that consists of a series of transport packets, each of which is constant at 188 bytes in length. This is a predetermined format for transmitting an elementary stream compressed by MPEG-1, MPEG-2 and other methods to a channel in which a transmission error exists.
전송 스트림은 여러 가지의 방법으로 만들 수 있으나 그 포맷은 ISO/IEC 13818-1(MPEG-2)에서 규정한 시스템 스트림에 맞아야 하며 디코더/리-멀티플렉서가 스트림의 디코딩, 리-멀티플렉서 등의 응용시에 효율적으로 동작할 수 있도록 구성되어야 한다. 이와 같은 전송 스트림의 구조는 후술하기로 한다.Transport streams can be created in a number of ways, but their formats must conform to the system streams specified in ISO / IEC 13818-1 (MPEG-2), and the decoder / re-multiplexer is used for decoding streams, re-multiplexers, etc. It must be configured to operate efficiently. The structure of such a transport stream will be described later.
상기 MPEG-2 전송 스트림은 MPEG 시스템에 대한 종개의 기술로는 현재 국제 표준으로 정해진 MPEG-2 IS(Internation Standand)에서 알려진 바 있고, MPEG-2의 공식명칭은 ITU-T Rec.H.222.0 | ISO/IEC 13818이다.The MPEG-2 transport stream is known from MPEG-2 Internation Standand (IS), which is currently defined as an international standard, as the final technology for the MPEG system. The official name of MPEG-2 is ITU-T Rec.H.222.0 | ISO / IEC 13818.
MPEG-2에는 크게 세 부분으로 구성되는데, 제 1 파트인 시스템과 제 2 파트인 비디오 및 제 3 파트인 오디오로 구분되어 있다.There are three major parts of MPEG-2, which are divided into a first part system, a second part video, and a third part audio.
ITU-T Rec.H.222.0 | ISO/IEC 13818의 시스템 파트는 시스템 레이어 코딩(System Layer Coding)에 관한 전반적인 분야에 대한 권고안이다.ITU-T Rec.H.222.0 | The system part of ISO / IEC 13818 is a recommendation for the overall field of system layer coding.
여기서, 시스템 레이어 코딩(이하, 시스템 코딩)이란 MPEG-1이나 MPEG-2의 데이터 압축방법으로 압축된 오디오/비디오 스트림 뿐만 아니라 필요에 따라 사용자 데이타(user data) 등을 멀티플렉싱하여 전송 또는 저장에 적합하도록 포맷팅하는 기술에 관한 것이다.Here, system layer coding (hereinafter referred to as system coding) is suitable for transmission or storage by multiplexing not only an audio / video stream compressed by a data compression method of MPEG-1 or MPEG-2, but also user data, etc. as necessary. It relates to a technique for formatting.
이와 같이 여러개의 비트 스트림을 입력받아 일련의 스트림으로 포맷팅하는 과정을 시스템 인코딩(System Encoder)이라 하고, 포맷팅한 것을 원래의 입력된 스트림의 형태로 풀어내는 과정을 시스템 디코팅(system decoder)이라 한다.The process of receiving multiple bit streams and formatting them into a series of streams is called a system encoder, and the process of unpacking the formatted stream into the original input stream is called a system decoder. .
그리고 포맷팅하는 규칙을 신택스(syntax)라 하며, 이 신택스를 만드는 과정에서 각 부분의 의미를 규정해 둔 것이 시맨틱스(semantics)라 한다.The formatting rule is called syntax, and the semantics that define the meaning of each part in the process of creating this syntax are called semantics.
MPEG 시스템 IS에서는 포맷팅하는 규칙인 신택스, 시맨틱스를 규정하고 있으므로, 시스템 인코더에서의 인코딩시, 이와 같은 규칙에 따라 비트 스트림을 만들어야 하며, 시스템 디코더는 이 규칙으로 만들어진 스트림을 디코더할 수 있도록 구성되어야 한다.Since MPEG system IS prescribes syntax and semantics, which are formatting rules, bit streams should be created according to these rules when encoding at the system encoder, and the system decoder should be configured to decode streams created by these rules. do.
상기 시스템 인코딩은 단순히 각각의 오디오/비디오 스트림을 묶어 결합시키는 기능 뿐만 아니라 스트림을 디코딩하는 과정에서 시스템 디코더 내부의 버퍼제어 및 각 디코딩된 스트림들의 동기를 맞추어 재생하기 위한 몇 가지의 파라메타가 삽입된다.The system encoding is not only a function of combining and combining respective audio / video streams, but also some parameters are inserted in order to reproduce the buffer control and synchronization of each decoded stream in the system decoder in decoding the stream.
시스템 인코딩 방법에 있어서, 전송 스트림 인코딩과 프로그램 스트림 인코딩의 두가지 형태가 있다. 프로그램 스트림은 주로 저장을 위해 사용된다.In the system encoding method, there are two types of transport stream encoding and program stream encoding. Program streams are primarily used for storage.
참고적으로 제 1 도는 MPEG-2 시스템에서 전송스트림의 인코더를 개략적으로 도시한 도면으로, 오디오/비디오 스트림으로부터 패킷타이저를 거쳐 전송 스트림을 만드는 과정이다.For reference, FIG. 1 is a diagram schematically illustrating an encoder of a transport stream in an MPEG-2 system, and a process of creating a transport stream from an audio / video stream through a packetizer.
동도면에 도시된 바와 같이, 오디오 및 비디오 인코더 (11)(12)는 MPEG-1 또는 MPEG-2로 가정할 수도 있지만, MPEG-2 시스템 인코딩은 MPEG 계열이 아닌 다른 인코더로 인코딩된 스트림을 배제하지 않으므로 H.261 비디오 인코더나 CCITT G.721 오디오 인코더, 혹은 특정하게 제한된 사용자들만을 위해 사용하는 독특한 오디오/비디오 인코더가 될 수도 있다.As shown in the figure, audio and video encoders 11, 12 may assume MPEG-1 or MPEG-2, but MPEG-2 system encoding excludes streams encoded with encoders other than the MPEG family. Hence, it could be a H.261 video encoder, a CCITT G.721 audio encoder, or a unique audio / video encoder used only for specific limited users.
상기 비디오 및오디오 인코더 (11)(12)에서 인코딩된 데이터를 엘리멘트리 스트림이라 하는데, 이 엘리멘트리 스트림들은 일차적으로 각각의 오디오 및 비디오 패킷타이저(13)(14)를 통하여 패킷타이징된다.The data encoded by the video and audio encoders 11 and 12 are called elementary streams, which are primarily packetized through respective audio and video packetizers 13 and 14.
이 과정을 거친 데이터를 패킷화된 엘리멘트리 스트림(PES)이라 하며, 이 PES 패킷을 만드는 패킷타이저를 PES 패킷타이저라 한다.The data that has undergone this process is called packetized elementary stream (PES), and the packetizer which makes this PES packet is called PES packetizer.
즉, 오디오 패킷타이저(13)와 비디오 패킷타이저(14)를 통해 만들어진 각각의 오디오 PES 패킷과, 비디오 PES 패킷은 전송스트림(또는 프로그램 스트림)은 TS 멀티플렉서(15)에 입력되고, 이 멀티플렉서(15)에서는 프로그램 스트림, 전송스트림을 만들어 출력하게 된다.That is, each audio PES packet made through the audio packetizer 13 and the video packetizer 14 and the video PES packet are input to the TS multiplexer 15 with the transport stream (or program stream). In (15), a program stream and a transport stream are generated and output.
시스템 인코딩이란 결국, 엘리멘트리 스트림을 입력받아 PES 패킷타이징, 전송스트림을 만드는 과정에 해당된다. 즉, 크게 나누어 시스템 코딩과정은 두가지의 기능을 수행한다고 볼 수 있는데, PES 패킷과 TS/PS 멀티플렉싱이다.In the end, system encoding is a process of receiving an elementary stream and generating a PES packetizing and transport stream. In other words, the system coding process can be divided into two functions, namely, PES packet and TS / PS multiplexing.
PES 패킷 타이저는 엘리멘트리 스트림들을 PES 패킷으로 만들고, TS/PS 멀티플렉싱 과정은 PES 패킷으로부터 TS/PS 패킷을 만드는 과정에 해당된다.The PES packetizer creates elementary streams into PES packets, and the TS / PS multiplexing process corresponds to a process of generating TS / PS packets from PES packets.
이와 같은 MPEG-2 시스템 권고안에서는 디코딩을 위한 데이터 포맷인 스펙(spec)은 특별히 인코딩하는 과정을 따로 규정하지 않고 있으며, 때에 따라 발생할 수 있는 응용시스템에 대한 별도의 규정이 없는 것이다.In this MPEG-2 system recommendation, the spec, which is a data format for decoding, does not specify a special encoding process, and there is no separate provision for an application system that may occur from time to time.
따라서, 인코딩 시스템에서는 출력되는 스트림이 MPEG-2 스트림 IS에서 규정한 디코더 스팩에 맞는 정확한 스트림을 제공해 주면 되는 것인데, 이러한 인코딩 과정에서 인코더를 구성하는 방법과 효율적인 디코더를 만드는 기술 등은 표준화되어 있지 않다.Therefore, in the encoding system, the output stream needs to provide an accurate stream that meets the decoder specification specified by the MPEG-2 stream IS. In this encoding process, the method of constructing the encoder and the technique for making an efficient decoder are not standardized. .
또한, 인코딩 디코더의 구성방법이나 MPEG 시스템 스트림 포맷의 효율적인 복호화방법은 사용자의 재량에 맞기고 있으므로 이에 관한 기술 등은 현재 세계적으로 활발히 연구되고 있는 분야이다.In addition, since a method of configuring an encoding decoder or an efficient decoding method of an MPEG system stream format is at the discretion of the user, a technology related thereto is currently being actively studied in the world.
제2도를 참조하여 패킷의 구성 및 패킷 타이저를 설명하면 다음과 같다.Referring to Figure 2, the configuration of the packet and the packetizer will be described.
시스템 인코더에서 부호화된 모든 정보는 패킷단위로 포맷팅되어 전송되는데 기본적인 패킷의 구성형태는 제 3도와 같이 패킷구성은 헤더(Header)와 패이로드(Payload)로 이루어진다.All information encoded in the system encoder is transmitted in a packet unit format. As shown in FIG. 3, the basic packet structure includes a header and a payload.
이 패이로드(32)부분은 스트림을 일정한 길이로 잘라서 삽입하고, 헤더(31)부분에 기타의 유용한 정보(예:시간정보, 주소, 꼬리표 등)가 삽입된다.The payload 32 section cuts and inserts the stream into a constant length, and other useful information (eg, time information, address, tag, etc.) is inserted into the header 31 section.
여기서, 패킷을 만드는 장치를 패킷타이저라 하고, 엘리멘트리 스트림을 입력받아 패킷을 만드는 장치를 PES 패킷타이저(제 2 도의 참조번호 22)라 한다.Here, a device for making a packet is called a packetizer, and a device for making a packet by receiving an elementary stream is called a PES packetizer (reference numeral 22 in FIG. 2).
본 시스템 인코더에서의 엘리멘트리 스트림이란 패킷타이징(패킷을 만드는 과정)을 수행하기 위한 입력 스트림을 의미하고, 좀더 광범위한 의미로는 어떤 형태로든 부호화된 스트림이 시스템 인코더로 입력되는 경우의 스트림을 의미한다.The elementary stream in the system encoder refers to an input stream for performing packetizing (packet making process), and more broadly, a stream in which an encoded stream in any form is input to the system encoder. do.
이 엘리멘트리 스트림이 패킷화된 것을 PES라 하고, 이 패킷을 PES 패킷이라 한다. 이 과정을 도시한 것은 제 2 도와 같다.The packetization of this elementary stream is called PES, and this packet is called a PES packet. This process is illustrated in Figure 2.
시스템 인코더 과정은 엘리멘트리 스트림을 입력받아 PES 패킷을 만들고, 다시 PES 패킷을 입력받아 전송 스트림 패킷이나 프로그램 스트림 패킷을 만드는 과정으로 이해할 수 있게 된다.The system encoder process may be understood as a process of generating an PES packet by receiving an elementary stream, and then generating a transport stream packet or a program stream packet by receiving the PES packet.
전송 스트림의 구성은 제 4도에 도시된 바와 같이 전송패킷으로 이루어지며, 이 전송패킷의 길이는 항상 188 바이트로 동일하게 구성된다.The configuration of the transport stream is made up of transport packets as shown in FIG. 4. The length of the transport packet is always configured equally to 188 bytes.
패킷의 길이가 동일하면서 짧으면 멀티플렉싱, 리-멀티플렉싱, 디멀티플렉싱, 수신기 제작 등에 있어서 용이하고 셀 로스(cell loss)와 같은 전송오차시의 손실이 적다는 장점이 있다.If the packet length is the same and short, it is easy in multiplexing, re-multiplexing, demultiplexing, receiver fabrication, etc., and has the advantage of low loss in transmission error such as cell loss.
종합적으로 볼 때 전송 패킷으로 구성되는 전송 스트림은 전송오차가 많은 채널을 이용하여 프로그램을 전송하는 방송용으로 적합하다.Overall, a transport stream composed of transport packets is suitable for broadcasting using a channel having a large transmission error.
이와 같은 전송스트림은 고정된 길이의 짧은 패킷들로 구성되기 때문에 다른 스트림으로의 변환이 용이하고 셀로스와 같은 손실의 영향을 최소화할 수 있다.Since the transport stream is composed of short packets of fixed length, it is easy to convert to another stream and minimize the effect of loss such as cellulose.
제 4 도를 참조하면, 전송 스트림은 오디오 PES 스트림과 비디오 PES 스트림이 전송 스트림으로 구성된 예를 보여 주는데, 전송 패킷 페이로드 부분에 각각의 PES 패킷이 기록되어 있는 형태이다.Referring to FIG. 4, a transport stream shows an example in which an audio PES stream and a video PES stream are configured as transport streams, in which each PES packet is recorded in a transport packet payload portion.
한편, 전송에러가 존재하는 물리적 채널을 통하여 프로그램을 전송하려는 경우, 고정된 길이를 갖는 패킷 단위로 에러보정코드를 추가함으로써 지상방송/위성방송 등의 경우에 좋은 성능을 낼 수 있도록 응용할 수 있다.On the other hand, if a program is to be transmitted through a physical channel in which a transmission error exists, an error correction code may be added in units of packets having a fixed length so that a good performance can be applied in the case of terrestrial broadcasting / satellite broadcasting.
현재 고속 통신망에 응용되는 ATM망에 유기적으로 접속될 수 있는 구조를 갖고 있으며, 동일한 헤더 및 짧은 패킷의 특성은 수신 시스템을 구현하는데 용이하다.The present invention has a structure that can be organically connected to an ATM network applied to a high speed communication network, and the same header and short packet characteristics are easy to implement a receiving system.
시스템 클럭(System Clock)이라 함은 PCR(Program Clock Reference)은 시스템 인코딩시, 수반되는 시간 정보를 나타내는 값인데, 이러한 PCR값은 시스템 인코더에서 시스템 클럭을 기준으로 하여 만든다.The system clock (PCR) is a program clock reference (PCR) value representing the time information accompanying the system encoding. The PCR value is generated based on the system clock in the system encoder.
이와 관련하여 종래의 기술로서 MPEG 시스템에서 규정하고 있는 시스템 클럭의 제한 조건과 MPEG 시스템에서의 ESCR 정보를 기술하는 규정을 하기에서 알아 보기로 한다.In this regard, the following describes the constraints of the system clock defined in the MPEG system as a conventional technology and the regulation describing the ESCR information in the MPEG system.
시스템 클럭은 시스템 인코더를 구성하는 모든 기능블럭에 제공되는 시스템클럭 주파수로서 (a1,a2)식과 같은 제한 조건을 만족해야 한다.The system clock is a system clock frequency provided to all of the functional blocks constituting the system encoder and must satisfy a constraint such as the expression (a1, a2).
27 MHz-810 Hz ≤ 시스템_클럭_주파수 ≤ 27MHz + 810 Hz ---- (a1)27 MHz-810 Hz ≤ system_clock_frequency ≤ 27 MHz + 810 Hz ---- (a1)
시스템_클럭_주파수의 시간변화율 ≤ 75 0-3Hz/sec ---- (a2)Rate of change in system clock frequency ≤ 75 0 -3 Hz / sec ---- (a2)
상기 식(a1)의 의미로 보면, 시스템 클럭 주파수는 27MHz에서 +,- 810 Hz의 오차를 허용하는데, 이는 27 MHz를 기준으로 +,- 0.003% 의 범위에 해당된다.In the sense of the formula (a1), the system clock frequency allows an error of +,-810 Hz at 27 MHz, which corresponds to a range of +,-0.003% based on 27 MHz.
또한, 이 오차의 범위에서 동작을 한다할 지라도 클럭의 변화가 급격하게 생기면 안되는데 이를 식(a2)에서 규정하고 있다.In addition, even when operating in the range of this error, the clock change should not occur suddenly, which is defined in equation (a2).
즉, 1 초에 0.075Hz의 변화까지를 허용하는 것으로서 1초에 27 MHz의 클럭 주파수로 동작한다면, 360M 클럭에 한 클럭이 어긋남을 의미한다.In other words, if a clock frequency of 27 MHz is allowed in one second, allowing a change of 0.075 Hz in one second, it means that one clock shifts from the 360 M clock.
종합적으로 정리하면 식(a1)(a2)의 규정은 시스템 클럭의 동작 주파수범위와 동작 주파수의 변화율을 규정한 것이다.In summary, the formulas (a1) and (a2) define the operating frequency range of the system clock and the rate of change of the operating frequency.
ESCR 신호는 MPEG 시스템에서 규정하는 ESCR 값은 다음과 같다. ESCR은 전송스트림에서 하나의 엘리멘트리 스트림만으로 구성되는 프로그램 (동일한 기준시간을 갖는 프로그램 엘리멘트(Elementary Stream)들의 집합으로서 일반적으로 오디오 스트림, 비디오 스트림들이 멀티플렉싱되어 디코더에서 상호간의 동기가 맞도록 디코딩할 수 있는 스트림을 의미한다.)에 대한 시간 기준값을 나타내며, 이 기준값은 하기의 식(2)와 같이 계산된다.ESCR signal is defined in the MPEG system ESCR value is as follows. ESCR is a set of programs (elementary streams having the same reference time) consisting of only one elementary stream in a transport stream. Generally, an audio stream and a video stream are multiplexed so that the decoder can decode each other in synchronization. The reference value is calculated as shown in Equation (2) below.
이와 같은 하나의 스트림만으로 구성되는 프로그램은 PES 스트림이라 하고, 이와 같은 PES 스트림을 디코더에서 디코딩하는 과정에서 PES-STD(Packetized Elementary Stream- System Target Decoder)의 약어로서 가상적인 디코더 모델인데 PES 시스템을 대상으로 디코딩하기 위한 모델)에 입력되는 시간을 나타내 주는 값이 ESCR이다.A program consisting of only one such stream is called a PES stream. In the process of decoding such a PES stream by a decoder, a virtual decoder model is an abbreviation of PES-STD (Packetized Elementary Stream-System Target Decoder). ESCR is a value representing the time input to the model for decoding.
식 (2)에서 i는 i 번째 바이트를 의미하고 t(i)는 i 번째 바이트가 PES-STD(MPEG 시스템에서 가상적인 디코더 모델을 의미하며, 이는 시스템 규격을 정하는 과정에서 개념적인 모델을 기준으로 기술함)에 입력되는 시간으로서 이 시간값을 식(a1,a2)의 제한 조건을 만족하는 시스템_클럭_주파수로 샘플링하여 만든다.In Equation (2), i means the i th byte and t (i) means that the i th byte is a virtual decoder model in PES-STD (MPEG system). This time value is created by sampling the system_clock_frequency that satisfies the constraints of equations (a1, a2).
이 과정에서 ESCR은 90 KHz단위(시스템_클럭_주파수/300)로 표현되는 33 비트 길이의 ESCR_base와 29 MHz 단위(시스템_클럭_주파수)로 표현되는 9비트의 ESCR_ext로 구성된다.In this process, the ESCR consists of a 33-bit ESCR_base expressed in 90 KHz units (system clock frequency / 300) and 9-bit ESCR_ext expressed in 29 MHz units (system clock frequency).
상기 ESCR(i)에서의 i는 ESCR_base의 데이터중 마지막 바이트를 가리킨다. 결국 ESCR(i) 는 ESCR_base 데이터의 마지막 바이트가 PES-STD에 입력되는 시간을 시스템_클럭_주파수로 나타낸 것이다.I in ESCR (i) indicates the last byte of data of ESCR_base. As a result, ESCR (i) represents the time when the last byte of ESCR_base data is input to the PES-STD as a system_clock_frequency.
ESCR_base(i) = ((시스템_클럭_주파수 × t(i) DIV300)% 233 ESCR_base (i) = ((System_Clock_Frequency × t (i) DIV300)% 2 33
ESCR_ext(i) = ((시스템_클럭_주파수 × t(i) DIV1)% 300ESCR_ext (i) = ((System_Clock_Frequency × t (i) DIV1)% 300
ESCR(i) = ESCR_base(i) × 300 + ESCR_ext(i) ---- (2)ESCR (i) = ESCR_base (i) × 300 + ESCR_ext (i) ---- (2)
(DIV는 정수 나누기의 연산으로 나머지를 0으로 만드는 트랭케이션(Truncation)연산이고, % 는 모듈(Modulo) 연산으로 나머지를 취하는 연산이다.)(DIV is a truncation operation that makes the remainder zero by an integer division operation, and% is an operation that takes the remainder by a Modulo operation.)
ESCR 데이터 포맷이라 함은, MPEG에서 규정하는 ESCR 데이터 포맷 48 비트는 다음과 같은 필드로 구성된다.The ESCR data format, 48 bits of the ESCR data format defined in MPEG, is composed of the following fields.
reserved 2 비트 ESCR_base[32..30] 3 비트reserved 2 bits ESCR_base [32..30] 3 bits
marker_비트 1 비트 ESCR_base[29..15] 15비트marker_bit 1 bit ESCR_base [29..15] 15 bits
marker_비트 1 비트 ESCR_base[14..0] 15 비트marker_bit 1 bit ESCR_base [14..0] 15 bits
marker_비트 1 비트 ESCR_extension[29..15] 9 비트marker_bit 1 bit ESCR_extension [29..15] 9 bits
marker_비트 1 비트marker_bit 1 bit
상기에서와 같이 전체의 ESCR 데이터는 6바이트로 구성되고, 2 비트의 reserved 데이터와 4개의 marker_비트는 의미없는 값으로서 실제의 정보를 갖는 ESCR 데이터의 길이는 42 비트이다.As described above, the entire ESCR data is composed of 6 bytes, and 2 bits of reserved data and 4 marker_bits are meaningless values and the length of ESCR data having actual information is 42 bits.
상술된 바를 근거로 하여 ESCR 데이터의 전송시기를 설명한다. 먼저 MPEG에서 권고한 바에 따르면 종래기술 부분에서 기술한 ESCR 데이터는 0.7초 이내에 재전송해야 한다. 그러나, 재전송하는 시점은 0.7초이내의 임의의 시점에서 설정하면, 전체적인 스트림의 구성에 있어서, 복호화 시간이 길어지게 된다.On the basis of the above, the transmission timing of the ESCR data will be described. First, as recommended by MPEG, the ESCR data described in the prior art portion should be retransmitted within 0.7 seconds. However, if the time point for retransmission is set at any time within 0.7 seconds, the decoding time becomes long in the overall stream configuration.
이는 복호화기에서 복호화 동작을 시작하는 과정에 있어서, 디코더 시스템 클럭의 세팅을 수신하는 PCR 값을 이용하게 되며, 디코더 시스템의 모든 클럭을 안정화한 후 비로서 PES 스트림을 디코딩하는 것이다.In the process of starting the decoding operation in the decoder, the PCR value that receives the setting of the decoder system clock is used, and after stabilizing all clocks of the decoder system, the PES stream is decoded.
그런데, PES 시스템 디코더에서는 비록 스트림이 버퍼에 있다고 하더라도 ESCR 데이터가 수신되지 않으면, PES 스트림을 디코딩될 수 없게 된다.However, in the PES system decoder, even if the stream is in the buffer, the PES stream cannot be decoded unless ESCR data is received.
즉, 복호화기에서 PES 스트림이 복호화되기 위해서는 ESCR 데이터를 먼저 수신하여 PES스트림 디코더의 클럭을 세팅한 후 안정된 시점에서 (PES 스트림내의 모든 클럭값이 안정된 이후) PES 스트림을 디코딩해야 한다.That is, in order for the PES stream to be decoded by the decoder, ESCR data must first be received to set the clock of the PES stream decoder, and then the PES stream must be decoded at a stable time point (after all clock values in the PES stream are stabilized).
따라서, 본 발명의 목적은 시스템 복호화시, 수신되는 PES 스트림으로부터 영상데이터를 복원할 수 있도록 클럭정보(ESCR)를 정확하게 복호화하는 시스템 복호화기의 ESCR 재생장치를 제공하는데 있다.Accordingly, an object of the present invention is to provide an apparatus for reproducing an ESCR of a system decoder which correctly decodes clock information (ESCR) so that video data can be restored from a received PES stream during system decoding.
상기의 목적을 달성하기 위한 본 발명에 따르면, 시스템 복호화시, 수신되는 스트림으로부터 ESCR 데이터를 재생하는 장치에 있어서, 부호화되어 수신되는 전송 스트림을 PES 스트림의 패킷 헤더와 패킷 패이로드로 각각 분리하는 PES 스트림 디패킷타이저(500)와; 상기 PES 스트림 디패킷타이저(500)로부터의 PES에서 PTS와 ECSR을 추출하고, 이 추출된 PTS와 ESCR간의 비교에 의거하여 디스플레이를 위한 재생펄스신호를 발생하는 재생신호 발생수단(600)과; 상기 PES 스트림 디패킷타이저(500)의 출력인 PES 스트림의 패킷 패이로드를 복호화하여 저장하며, 상기 재생신호 발생수단(600)의 재생펄스신호에 의거하여 상기 저장되어 있던 영상신호를 모니터로 디스플레이되도록 출력하는 스트림 디코더(700)를 구비함을 특징으로 한다.According to the present invention for achieving the above object, in the apparatus for reproducing the ESCR data from the received stream during system decoding, PES for separating the encoded and received transport stream into a packet header and a packet payload of the PES stream, respectively A stream depacketizer 500; Reproduction signal generating means (600) for extracting a PTS and an ECSR from the PES from the PES stream depacketizer (500) and generating a reproduction pulse signal for display based on a comparison between the extracted PTS and the ESCR; Decodes and stores the packet payload of the PES stream, which is the output of the PES stream depacketizer 500, and displays the stored video signal based on the playback pulse signal of the playback signal generating means 600 on a monitor. It characterized in that it comprises a stream decoder 700 for outputting.
이하, 예시된 도면을 참조하여 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the illustrated drawings.
제5도는 본 발명에 따른 시스템 복호화기의 ESCR 재생장치도이고, 제 6 도는 본 발명의 ESCR 재생부를 상세히 도시한 블록 구성도이다.5 is an ESCR playback apparatus diagram of a system decoder according to the present invention, and FIG. 6 is a block diagram illustrating the ESCR playback unit in detail.
제5도는 본 발명의 ESCR 재생장치는 PES 스트림 디패킷타이저(500)와, 재생신호 발생수단(600), 스트림 디코더(700)로 구성된다.5, the ESCR playback apparatus of the present invention comprises a PES stream depacketizer 500, a playback signal generating means 600, and a stream decoder 700.
PES 스트림 디패킷타이저(500)는 시스템 부호화기(미도시됨)에 의해서 부호화되어 수신되는 전송 스트림을 PES 스트림의 패킷 헤더와 패킷 패이로드로 각각 분리하고, 이를 분리된 상기 PES 스트림의 패킷헤더는 후술하는 재생신호 발생수단(600)으로 제공하고, 상기 PES 스트림의 패킷 패이로드는 후술하는 스트림 디코더(700)로 제공하도록 구성된다.The PES stream depacketizer 500 separates a transport stream encoded and received by a system encoder (not shown) into a packet header and a packet payload of the PES stream, and the packet header of the separated PES stream is It is provided to the reproduction signal generating means 600 to be described later, and the packet payload of the PES stream is provided to the stream decoder 700 to be described later.
재생신호 발생수단(600)는 디코더 클럭 및 디바이더 (610)와, ESCR 재생부(620), PTS 추출부(630) 및 비교기 (640)로 구성된다.The reproduction signal generating means 600 includes a decoder clock and divider 610, an ESCR reproduction unit 620, a PTS extraction unit 630 and a comparator 640.
디코더 클럭 및 디바이더(610)는 디코더에 필요한 클럭을 발생시켜 본 장치에 공급하도록 구성된다.The decoder clock and divider 610 is configured to generate a clock required for the decoder and supply it to the apparatus.
ESCR 재생부(620)는 PES 스트림 디패킷타이저(500)의 출력인 PES 스트림(특히, 패킷 헤더)에서 제공는 초기 ESCR와 상기 디코더 클럭 및 디바이더 (610)로부터 제공되는 디코더에 필요한 클럭에 의거하여 복호화에 필요한 시스템 클럭인 ESCR를 후술하는 비교기 (640)로 제공되도록 구성된다.The ESCR playback unit 620 is based on the initial ESCR provided by the PES stream depacketizer 500 (particularly, the packet header) and the clock required for the decoder clock and the decoder provided from the divider 610. The ESCR, which is a system clock necessary for decoding, is provided to a comparator 640 to be described later.
PTS 추출부 (630)는 PES 스트림 디패킷타이저(500)의 출력인 PES 스트림의 패킷 헤더에서 PTS(재생시간을 나타내주는 정보)을 추출하여 후술하는 비교기(640)로 제공하도록 구성된다.The PTS extractor 630 is configured to extract a PTS (information indicating the reproduction time) from the packet header of the PES stream which is the output of the PES stream depacketizer 500 and provide the same to the comparator 640 which will be described later.
비교기(640)는 ESCR재생부(620)로부터 제공되는 ESCR과 PTS추출부(630)로부터 제공되는 PTS간을 비교하여 일치되는 시점에 디스플레이를 위한 재생펄스신호를 발생하여 후술하는 시스템 디코더(700)로 제공하도록 구성된다.The comparator 640 compares the ESCR provided from the ESCR reproducing unit 620 and the PTS provided from the PTS extracting unit 630 to generate a reproduction pulse signal for display at a matched time, thereby generating a system decoder 700 to be described later. It is configured to provide.
보다 상세하게 설명하면, ESCR 재생부(620)는 디코더 시스템 클럭(621)과, 모듈러 300 9 비트 카운터(622), 제 1 비교기(623), 33 비트 카운터(624), 조합처리부(625) 및 PES 스트림 디코더(626)로 구성된다.In more detail, the ESCR reproducing unit 620 includes a decoder system clock 621, a modular 300 9-bit counter 622, a first comparator 623, a 33-bit counter 624, a combination processing unit 625, and the like. PES stream decoder 626.
디코더 시스템 클럭(621)은 디코더에 필요한 27MHz을 본 발명의 장치 및 후술하는 모듈러 300 9 비트 카운터(622)로 제공하도록 구성된다.The decoder system clock 621 is configured to provide the 27 MHz needed for the decoder to the apparatus of the present invention and the modular 300 9 bit counter 622 described below.
모듈러 300 9 비트 카운터 (622)는 디코더 시스템 클럭 (621)로부터의 클럭(27MHz)을 근거로 하여 PES 스트림 디패킷타이저(500)로부터 제공되는 초기 ESCR을 카운터하며, 이로부터 카운터되는 값을 후술하는 제 1 비교기(623)로 제공하도록 구성된다.The modular 300 9-bit counter 622 counters the initial ESCR provided from the PES stream depacketizer 500 based on the clock (27 MHz) from the decoder system clock 621, the value being countered below. Configured to provide to the first comparator 623.
또한, 모듈러 300 9 비트 카운터(622)는 0에서 시작하여 299의 값이 되면, 다음 클럭에서 다시 0으로 세팅하는 것으로 주기가 300인 것을 의미한다.In addition, when the modular 300 9-bit counter 622 starts at 0 and reaches a value of 299, the modular 300 9-bit counter 622 sets the value to 0 again at the next clock.
제 1 비교기(623)는 모듈러 300 9 비트 카운터(622)로부터 카운터된 값과 기준값(299)을 비교한 결과, 일치되는 시점에서 캐리어를 후술하는 33 비트 카운터(624)로 제공하며, 상기 모듈러 300 9 비트 카운터(622)로부터 카운터된 값을 후술하는 조합 처리부(625)로 제공하도록 구성된다.The first comparator 623 compares the value counted from the modular 300 9-bit counter 622 with the reference value 299, and provides the carrier to the 33-bit counter 624 to be described later at the matching time point. It is configured to provide a value counted from the 9-bit counter 622 to the combination processing unit 625 described later.
또한, 제 1 비교기(623)는 100101011과 (299의 9비트 이전 값) 9 비트 카운터의 출력과 비교하여 같아지는 시점에서 캐리어를 발생하면서 1씩 증가하게 되는 것이다.In addition, the first comparator 623 is incremented by 1 while generating a carrier at the same time as compared with the output of the 100101011 and the 9-bit counter (9-bit previous value of 299).
이와 같이 구성하는 이유는 ESCR의 값이 인코더 시스템과 클럭과 동기를 맞추어 계산하기 위함이다.The reason for this configuration is to calculate the ESCR value in synchronization with the encoder system and the clock.
33 비트 카운터(624)는 제 1 비교기(623)로부터 제공되는 캐리어를 1 씩 증가시키면서 카운터하고, 이 카운터된 값은 후술하는 조합 처리부(625)로 제공하도록 구성된다.The 33-bit counter 624 is configured to counter by incrementing the carrier provided from the first comparator 623 by one, and the counter value is provided to the combination processing unit 625 described later.
조합 처리부(625)에서는 제 1 비교기(623)로부터 카운터되는 값과 33 비트 카운터(624)로부터 카운터되는 값을 논리 조합하여 얻어지는 42 비트(33비트_base + 9 비트_exe ESCR 데이터를 PES 스트림 디코더(626)를 통해 비교기(640)로 제공하게 된다.The combination processing unit 625 performs a PES stream decoder on 42 bits (33 bits _base + 9 bits exe ESCR data) obtained by performing a logical combination of the value counted from the first comparator 623 and the value counted from the 33 bit counter 624. 626 is provided to the comparator 640.
스트림 디코더(700)는 엘리멘트리 스트림 버퍼 및 디코더(710)와, 메모리(720), D/A 변환 및 혼합처리부(730)로 구성된다.The stream decoder 700 includes an elementary stream buffer and decoder 710, a memory 720, a D / A conversion and mixing processor 730.
엘리멘트리 스트림 버퍼 및 디코더(710)는 PES 스트림 디패킷타이저(500)의 출력인 PES스트림의 패킷 패이로드를 복호화하고, 이 복호화된 영상 데이터를 후술하는 메모리(720)로 제공하도록 구성된다.The elementary stream buffer and decoder 710 is configured to decode the packet payload of the PES stream, which is the output of the PES stream depacketizer 500, and provide the decoded image data to the memory 720 which will be described later.
메모리 (720)는 엘리멘트리 스트림 버퍼 및 디코더(710)로부터 제공되는 복호화된 영상 데이터를 저장하며, 이로부터 저장된 영상 데이터를 복원하여 후술하는 D/A 변환 및 혼합처리부(730)로 제공하도록 구성된다.The memory 720 stores the decoded image data provided from the elementary stream buffer and the decoder 710 and is configured to restore the stored image data to the D / A conversion and mixing processor 730 to be described later. .
D/A변환 및 혼합처리부(730)는 메모리(720)로부터 복원되는 디지탈신호인 영상 데이터를 아날로그신호로 변환하며, 이 변환된 영상신호는 상기 재생신호 발생수단(600)으로부터 재생펄스신호가 인가되는 시점에 상기 영상신호를 모니터로 디스플레이하도록 구성된다.The D / A conversion and mixing processing unit 730 converts the image data, which is a digital signal restored from the memory 720, into an analog signal, and the reproduced pulse signal is applied from the reproduced signal generating means 600 to the converted image signal. And display the video signal on a monitor at the time point.
이와 같이 구성된 본 발명은 바람직한 실시예를 들어 상세히 설명한다.The present invention configured as described above will be described in detail with reference to preferred embodiments.
우선, ESCR 데이터 구성을 보면, ESCR_base 부분의 33 비트와 ESCR_exe의 9 비트로 42 비트의 길이를 갖는데, 중간의 6 비트는 의미없는 보류(reserved)비트를 추가하여 48 비트(6 바이트)로 이루어진다.First, in the ESCR data configuration, 33 bits of the ESCR_base part and 9 bits of ESCR_exe have a length of 42 bits. The middle 6 bits have 48 bits (6 bytes) by adding a meaningless reserved bit.
ESCR을 만드는 과정에서 시간은 시스템_클럭_주파수로 샘플링되므로, 샘플링간의 시간은 샘플링_주파수의 역수에 해당한다.In the process of creating an ESCR, time is sampled at system_clock_frequency, so the time between samplings is the inverse of sampling_frequency.
이 샘플링된 시간은 42 비트로 표현되므로 42 비트로 표현된 한 단위의 정수값을 의미한다. 이는 샘플링 간격에 해당하고, 42 비트는 동작범위를 결정함으로, ESCR 로서 표현할 수 있는 시간의 범위는 0 초에서 시간간격 × 최대값(42 비트로 표현된 ESCR에서 취할 수 있는 최대 정수)이다.Since this sampled time is represented by 42 bits, it means an integer value of one unit represented by 42 bits. This corresponds to the sampling interval and 42 bits determines the operating range, so the range of time that can be expressed as an ESCR is from 0 seconds to the time interval x maximum value (the maximum integer that can be taken by the ESCR represented by 42 bits).
하지만, ESCR의 값에서 최대값에 도달한 경우, 다시 0 으로 되는 모듈러 연산이 되므로, 이 시간의 최대값은 크게 의식하지 않아도 된다.However, when the maximum value is reached from the value of the ESCR, a modular operation is made to be zero again, so the maximum value of this time does not need to be greatly conscious.
즉, ESCR 값은 주파수 × 시간으로 계산되므로 결과의 값은 단위가 없는 상수인데, 주파수는 시스템_클럭_주파수이며, 시간은 i 번째 바이트에 해당하는 시간 t(i)를 말하며, 시스템_클럭_주파수라는 용어는 상술된 바와 같이 클럭 주파수를 의미한다.That is, the ESCR value is calculated as frequency × time, so the value of the result is a unitless constant, where frequency is system_clock_frequency, and time is the time t (i) corresponding to the i th byte, and system_clock_ The term frequency means clock frequency as described above.
식(2)에서 t(i) 즉, i 번째 바이트에 해당하는 시간이란 0 번째 바이트의 시간이 0 일 때 (즉 t(i) = 0), i 번째 바이트에 해당하는 시간을 나타낸다.In Equation (2), t (i), that is, the time corresponding to the i-th byte, indicates the time corresponding to the i-th byte when the time of the 0th byte is 0 (that is, t (i) = 0).
전송률(전송 스트림의 전송률)은 바이트/초 단위로 표현된 값이라면, (i/전송-율)초에 해당한다. 식(2)에서 ESCR 값은 ESCR_base와 ESCR_ext로 각각 따로 계산되는데, ESCR_ext는 ESCR_base로 표시하고 남은 시간값을 시스템_클럭_주파수(27MHz)의 단위로 표현되는 값이다.The transmission rate (transmission rate of the transport stream) corresponds to (i / transmission-rate) seconds if it is a value expressed in bytes / second. In Equation (2), the ESCR value is calculated separately by ESCR_base and ESCR_ext, where ESCR_ext is expressed as ESCR_base and the remaining time value is expressed in units of system_clock_frequency (27MHz).
따라서, ESCR 값을 시스템_클럭_주파수의 단위로 계산하면 ESCR_base×300+ ESCR_ext이다.Therefore, if the ESCR value is calculated in units of system clock frequency, it is ESCR_base × 300 + ESCR_ext.
이와 같이 ESCR을 나누어서 계산하는 것은 MPEG-1(ISO/IEC 11172)시스템에서 MPEG-2의 ESCR과 같은 기능을 하는 SCR(System_Clock_Frequency)이 MPEG-2 시스템_클럭_주파수의 1/300에 행하는 90KHz로 계산되므로, 이 MPEG-1 시스템과의 호환성을 주기 위함이다.In this way, the ESCR is calculated by dividing the SCR (System_Clock_Frequency), which performs the same function as the MPEG-2 ESCR in the MPEG-1 (ISO / IEC 11172) system, at 90 KHz performed at 1/300 of the MPEG-2 system_clock_frequency. It is calculated to provide compatibility with this MPEG-1 system.
즉, MPEG-2의 전송 스트림으로 MPEG-2 비디오 엘리멘트리 스트림과 MPEG-2 오디오 엘리멘트리 스트림을 전송하고 수신기(디코더)에서 MPEG-1 시스템 디코더, MPEG-1 비디오/오디오 디코더를 이용하여 프로그램을 디코딩할 때, MPEG-1 시스템 디코더는 MPEG-2 전송 스트림에서 ESCR 부분의 ESCR_base 부분만을 보고 마치 MPEG-1의 SCR로 간주하는 것이다.In other words, the MPEG-2 video elementary stream and the MPEG-2 audio elementary stream are transmitted through the MPEG-2 transport stream, and the receiver (decoder) uses the MPEG-1 system decoder and the MPEG-1 video / audio decoder. When decoding, the MPEG-1 system decoder sees only the ESCR_base portion of the ESCR portion of the MPEG-2 transport stream and regards it as SCR of MPEG-1.
또한, MPEG-2 비디오/오디오 엘리멘트리 스트림은 각각의 MPEG-1 오디오/비디오 스트림과 호환성이 있으므로 MPEG-2 스트림을 MPEG-1 디코더로 디코딩할 수 있다.In addition, since the MPEG-2 video / audio elementary stream is compatible with each MPEG-1 audio / video stream, the MPEG-2 stream can be decoded by the MPEG-1 decoder.
그러나, PES 스트림에 대한 PES-STD에 입력되는 시간을 나타내는 ESCR의 값은 한 개의 엘리멘트리 스트림으로만 구성되는 PES 패킷을 대상으로 함으로 PES 스트림은 MPEG-1 시스템 디코더로 간단히 디코딩할 수 있다.However, since the ESCR value representing the time input to the PES-STD for the PES stream is targeted to a PES packet consisting of only one elementary stream, the PES stream can be simply decoded by the MPEG-1 system decoder.
식(2)에서 스트림_클럭_주파수 × t(i)를 300 으로 나누어 정수값만을 취한 후(DIV300 연산) 이를 233의 모듈러 연산을 수행하여 이진 33 비트로 표현한 것이 ESCR_base이고, ESCR_ext는 시스템_클럭_주파수 × t(i)의 값을 취한 후(DIV 1 연산) 모듈러 300의 연산을 수행하여 이를 9 비트로 표현한 것이다. 결국 ESCR은 이들을 합한 ESCR_base × 300 + ESCR_ext의 값으로 계산된다.In equation (2), the stream_clock_frequency × t (i) is divided by 300 to take only integer values (DIV300 operation), and this is expressed as binary 33 bits by performing modular operation of 2 33. ESCR_ext is system_clock. After taking the value of frequency × t (i) (DIV 1 operation), the operation of modular 300 is performed and expressed as 9 bits. Eventually, the ESCR is calculated by the sum of these values, ESCR_base × 300 + ESCR_ext.
도면 5를 참조하면, PES 스트림 디패킷타이저(500)에서는 시스템 부호화기에 의해서 부호화되어 수신되는 전송 스트림을 PES 스트림의 패킷 헤더와 패킷 패이로드로 각각 분리하여 상기 PES 스트림의 패킷 헤더는 ESCR 재생부(620)와 PTS 추출부(630)로 각각 제공하며, 상기 PES 스트림의 패킷 타이로드는 엘리멘트리 스트림 버퍼 및 디코더(710)로 제공하게 된다.Referring to FIG. 5, the PES stream depacketizer 500 separates a transport stream encoded and received by a system encoder into a packet header and a packet payload of a PES stream, and the packet header of the PES stream is an ESCR playback unit. 620 and the PTS extractor 630, respectively, and provide a packet tieload of the PES stream to the elementary stream buffer and the decoder 710.
이때, PES 스트림의 패킷 헤더에는 초기의 ESCR 과 RTS가 존재하고 있다.At this time, the initial ESCR and the RTS exist in the packet header of the PES stream.
엘리멘트리 스트림 버퍼 및 디코더(710)에서는 PES 스트림 디패킷타이저(500)로부터 출력되는 PES 스트림의 패킷 패이로드를 제공받아 이를 부호화하기 전 엘리멘트리 스트림으로 디코딩하며, 이 디코딩된 엘리멘트리 스트림을 비교기(640)로부터 재생펄스신호가 인가되기 전까지 메모리(720)로 저장하게 된다.The elementary stream buffer and decoder 710 receives the packet payload of the PES stream output from the PES stream depacketizer 500 and decodes the elementary stream into an elementary stream before encoding it, and decodes the decoded elementary stream. Until the reproduction pulse signal is applied from the (640) is stored in the memory (720).
이와 동시에, ESCR 재생부 (620)에서는 PES 스트림 디패킷 타이저(500)에서 제공되는 PES 스트림의 패킷 헤더에 존재하는 초기 ESCR의 값과 디코더 클럭 및 디바이더(610)의 클럭동기신호에 의거하여 시스템 복호화기의 동작에 필요한 ESCR을 재생하여 비교기(640)로 제공하게 된다.At the same time, the ESCR playback unit 620 uses the initial ESCR value present in the packet header of the PES stream provided by the PES stream depacketizer 500 and the decoder clock and the clock synchronization signal of the divider 610. The ESCR required for the operation of the decoder is reproduced and provided to the comparator 640.
도면 6을 참조하면, 초기 동작시, 모듈러 300 9 비트 카운터(622)와 33 비트 카운터(624)에는 PES 스트림 디패킷타이저 (500)로부터 제공되는 초기 ESCR(PES 스트림의 패킷 헤더에 존재하는 값)의 값으로 로딩된 후 이후의 동작은 디코더 시스템 클럭(621)의 한 클럭마다 9 비트 카운터가 1 씩 증가하게 된다.Referring to FIG. 6, in an initial operation, the modular 300 9-bit counter 622 and the 33-bit counter 624 have a value present in the packet header of the initial ESCR (PES stream) provided from the PES stream depacketizer 500. Subsequent operations after loading with a value of) will increase the 9-bit counter by one for each clock of the decoder system clock 621.
즉, 모듈러 300 9 비트 카운터(622)에서는 로딩된 초기의 ESCR의 값과 디코더 시스템 클럭(621)의 클럭(27MHz)을 근거로 하여 카운터되는 값은 제 1 비교기(623)로 제공하게 된다. 여기서, 모듈러 300 9 비트 카운터(622)는 0에서 시작하여 299의 값이 되면, 다음 클럭에서 다시 0 으로 세팅하는 것으로서 주기가 300이다.That is, in the modular 300 9-bit counter 622, the counter value is provided to the first comparator 623 based on the value of the loaded initial ESCR and the clock (27 MHz) of the decoder system clock 621. Here, the modular 300 9-bit counter 622 starts at 0 and becomes a value of 299, and the period is 300 as setting to 0 again at the next clock.
따라서, 제 1 비교기(623)에서는 모듈러 300 9 비트 카운터(622)로부터 카운터된 값과 기준값(299)을 비교한 결과, 일치되는 시점에 캐리어를 발생하여 33 비트 카운터(624)로 제공한다.Accordingly, the first comparator 623 compares the value counted from the modular 300 9-bit counter 622 with the reference value 299, and generates a carrier at the matching time point to provide the 33-bit counter 624.
또한, 모듈러 300 9 비트 카운터(622)로부터 카운터된 값은 조합 처리부(625)로 제공하는데, 이 경우, ESCR의 값은 인코더 시스템과 클럭과 동기를 맞추어 계산하게 된다.In addition, the value counted from the modular 300 9-bit counter 622 is provided to the combination processing unit 625. In this case, the value of the ESCR is calculated in synchronization with the encoder system and the clock.
여기서, 33 비트 카운터(624)에서는 제 1 비교기(623)로부터 제공되는 캐리어들을 카운터한 후 이 값을 조합 처리부(625)로 제공하게 된다. 예로서, 제 1 비교기(623)는 100101011과 (299의 9비트 이진 값) 9 비트 카운터의 출력을 비교하여 같아지는 시점에서 캐리어를 발생하면서 1씩 증가하게 되는 것이다.Here, the 33-bit counter 624 counters the carriers provided from the first comparator 623 and provides this value to the combination processor 625. For example, the first comparator 623 compares 100101011 and the output of a 9-bit counter (a 9-bit binary value of 299) and increments by 1 while generating a carrier at the same point in time.
따라서, 조합 처리부(625)에서는 제 1 비교기(623)로부터 카운터되는 값과 33 비트 카운터(624)로부터 카운터되는 값이 논리조합(42비트 (33비트_base + 9 비트_exe)되어 제공되면, 이전의 값은 버리고, 이후의 매 시스템 클럭과 동기를 맞추어 출력되는 새로운 값으로 로딩하여 저장한다.Therefore, in the combination processing unit 625, if the value countered by the first comparator 623 and the value countered by the 33-bit counter 624 are provided in a logical combination (42 bits (33 bits_base + 9 bits_exe)), Discard the previous value and load and save the new value in synchronization with every subsequent system clock.
이러한 동작을 수행하고 있다가 ESCR 요구신호(수신되는 정보로부터 검출됨)가 입력되면, 상기조합 처리부(625)의 논리조합된 값은 PES 스트림 리코더(626)를 거쳐 비교기(640)로 제공하게 된다.If the ESCR request signal (detected from the received information) is input while performing this operation, the logically combined value of the combination processing unit 625 is provided to the comparator 640 via the PES stream recorder 626. .
도면 5를 참조하면, 한편, PTS 추출부(630)에서는 PES 스트림 디패킷타이저(500)의 출력인 PES 스트림의 패킷 헤더에서 PTS(재생시간을 나타내주는 정보)을 추출하고, 이 추출된 PTS를 비교기(640)로 제공하게 된다.Referring to FIG. 5, on the other hand, the PTS extractor 630 extracts a PTS (information indicating a playback time) from a packet header of a PES stream that is an output of the PES stream depacketizer 500, and extracts the PTS. To be provided to the comparator 640.
따라서, 비교기(640)에서는 ESCR 재생부(620)로부터 제공되는 ESCR과 PTS 추출부(630)로부터 제공되는 PTS가 일치되는 시점에 디스플레이를 위한 재생펄스신호를 발생시켜서 D/A 변환 및 혼합처리부(730)로 제공하게 된다.Accordingly, the comparator 640 generates a reproduction pulse signal for display at the time when the ESCR provided from the ESCR reproducing unit 620 and the PTS provided from the PTS extracting unit 630 coincide with each other. 730).
상기 엘리멘트리 스트림 버퍼 및 디코더(710)로부터 제공되는 복호화된 영상 데이터를 복원하여 D/A 변환 및 혼합 처리부(730)로 제공하게 된다.The decoded image data provided from the elementary stream buffer and the decoder 710 may be restored and provided to the D / A conversion and mixing processor 730.
여기서, 복호화된 영상데이터는 재생펄스신호에 따라 재생되는데, 이때의 재생펄스신호는 영상신호의 한 프레임 데이터를 재생하라는 의미이다.Here, the decoded image data is reproduced according to the reproduction pulse signal, and the reproduction pulse signal at this time means to reproduce one frame data of the image signal.
따라서, D/A 변환 및 혼합처리부(730)에서는 메모리(720)로부터 복원되는 디지탈신호인 영상 데이터를 아날로그신호로 변환하며, 이 변환된 영상신호를 모니터를 통해 디스플레이하게 되는 것이다.Therefore, the D / A conversion and mixing processor 730 converts the image data, which is a digital signal restored from the memory 720, into an analog signal, and displays the converted image signal on a monitor.
이상에서 설명한 바와 같이 본 발명은 시스템 복호화시, 수신되는 PES 스트림에서 클럭정보(ESCR)를 근거로 하여 영상데이터를 정확하게 복원할 수 있는 효과가 있다.As described above, the present invention has an effect of accurately reconstructing image data based on clock information (ESCR) in a received PES stream during system decoding.
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960025096A KR0181081B1 (en) | 1996-06-28 | 1996-06-28 | Escr generator for system decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960025096A KR0181081B1 (en) | 1996-06-28 | 1996-06-28 | Escr generator for system decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
KR980006954A KR980006954A (en) | 1998-03-30 |
KR0181081B1 true KR0181081B1 (en) | 1999-04-01 |
Family
ID=19464281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960025096A KR0181081B1 (en) | 1996-06-28 | 1996-06-28 | Escr generator for system decoder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0181081B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101042850B1 (en) * | 2005-01-12 | 2011-06-17 | 삼성전자주식회사 | Method for searching the broadcasting channel of a selected program in dmb-receiving terminal equipment |
-
1996
- 1996-06-28 KR KR1019960025096A patent/KR0181081B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101042850B1 (en) * | 2005-01-12 | 2011-06-17 | 삼성전자주식회사 | Method for searching the broadcasting channel of a selected program in dmb-receiving terminal equipment |
Also Published As
Publication number | Publication date |
---|---|
KR980006954A (en) | 1998-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5598415A (en) | Transmission of high rate isochronous data in MPEG-2 data streams | |
CN1976448B (en) | Method and system for audio and video transport | |
US5801781A (en) | Apparatus for converting moving picture stream of MPEG1 to transport stream of MPEG2 | |
US5703877A (en) | Acquisition and error recovery of audio data carried in a packetized data stream | |
JP3666625B2 (en) | Data recording method and data recording apparatus | |
US20080253466A1 (en) | Method and system for converting a dss stream to an encrypted mpeg stream | |
KR980010748A (en) | Multiplexed data generating device, encoded data reproducing device, clock converting device, encoded data recording medium, encoded data transmission medium, multiplexed data generating method, encoded data reproducing method and clock converting method | |
JP2000174819A (en) | Signal format, encoder, decoder and signal transmission device | |
JP3045715B2 (en) | Transmission system, transmitting device, recording / reproducing device, and recording device | |
US7346054B2 (en) | Method and system for co-relating transport packets on different channels using a cyclic redundancy check (CRC) | |
US7415014B2 (en) | Method and system for co-relating transport packets on different channels using a packet prioritization scheme | |
EP0944268A2 (en) | Data recording method and data recording apparatus | |
CN100416689C (en) | Reproducing apparatus and method, and recording medium | |
JPH0730886A (en) | Method and device for processing picture and audio signal | |
JP3804099B2 (en) | Video material supply apparatus and method, video material insertion apparatus and method | |
JP3990813B2 (en) | Encoding apparatus, encoding method, digital transmission apparatus, and digital transmission system | |
JPH09135424A (en) | Device for recording/reproducing transmission bit stream in digital video tape recorder and control method therefor | |
EP0753954B1 (en) | Transmission of high rate isochronous data in MPEG-2 data streams | |
JPH11205789A (en) | Transmission rate converter of mpeg2 transport stream | |
KR0181081B1 (en) | Escr generator for system decoder | |
KR0181082B1 (en) | Pts coder of mpeg system | |
MXPA05000116A (en) | Reproducing apparatus and method, and recording medium. | |
KR100202019B1 (en) | Pcr signal generator of system coder | |
JP3536493B2 (en) | Authoring system, encoder and multiplexer used in the system, and method for generating multiple bit streams | |
US20080123732A1 (en) | Method and system for configuring decoding based on detecting transport stream input rate |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121203 Year of fee payment: 15 |
|
LAPS | Lapse due to unpaid annual fee |