KR100206937B1 - Data Synchronization Device and Method - Google Patents
Data Synchronization Device and Method Download PDFInfo
- Publication number
- KR100206937B1 KR100206937B1 KR1019960040330A KR19960040330A KR100206937B1 KR 100206937 B1 KR100206937 B1 KR 100206937B1 KR 1019960040330 A KR1019960040330 A KR 1019960040330A KR 19960040330 A KR19960040330 A KR 19960040330A KR 100206937 B1 KR100206937 B1 KR 100206937B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- audio
- video
- information
- value
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
본 발명은 데이타 동기화 장치 및 방법에 관한 것으로, 종래 데이타 동기화장치 및 방법에 있어서 비디오 디코더는 저장된 영상 데이타를 인출할 때 마다 선입선출부에 저장된 바이트 카운팅값과 비교하여야 하므로 비교의 횟수가 증가되고, 호스트 프로세서 및 비디오 디코더에 영상 데이타를 바이트 카운팅하기 위한 카운터가 구비되어야 하므로 바이트 카운팅시 장치에 로드(load)가 걸림과 아울러 이에 따른 게이트 카운트, 칩 싸이즈, 커런트, 파워의 양과 같은 장치의 용량이 증가하는 문제점이 있었다.The present invention relates to an apparatus and method for data synchronization. In the conventional apparatus and method for data synchronization, the video decoder must compare the byte count value stored in the first-in, first-out unit every time the image data is stored. The host processor and the video decoder must be equipped with a counter for byte counting the image data, which causes the device to be loaded during byte counting, thereby increasing the capacity of the device such as gate count, chip size, current and amount of power. There was a problem.
본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창안된 것으로, 호스트 프로세서로부터 들어오는 모든 영상 데이타 및 음성 데이타의 뒤에 헤더를 붙여 저장하여 디코딩시 상기 헤더의 정보를 이용할 수 있게 함으로써, 디코딩시 영상 데이타의 디스플레이 시점 및 음성 데이타의 송출 시점을 나타내는 정보값을 정확히 알 수 있도록 하여 보다 단순한 장치로 영상 데이타와 음성 데이타를 동기화시키고자 한 것으로, 호스트 프로세서 내에 바이트를 카운트 할 카운터가 필요없게 되며 이로 인해 호스트 프로세서의 로드가 적게 되어 성능 향사을 이룰 수 있을 뿐 아니라 게이트 카운트 감소로 파워 및 사이즈의 감소를 이룰 수 있는 효과가 있다.The present invention was devised to solve the above-mentioned conventional problems. The present invention provides a header after all image data and audio data coming from a host processor and stores the header information so that the header information can be used to decode the image data. It is a simple device to synchronize the video data and audio data so that the display value and the information value indicating the transmission time of the audio data can be accurately known. This eliminates the need for a counter to count bytes in the host processor. In addition to lowering the processor load, performance gains can be achieved, as well as reduced gate count, resulting in reduced power and size.
또한, 비디오 디코더 및 오디오 디코더에서도 호스트 프로세서와 마찬가지로 바이트 카운트 할 카운터 및 PTS를 저장할 써큘러 버퍼 등을 없앨 수 있고 비교기가 필요없게 되어 파워의 소모를 줄일 수 있으며 집적도를 높이면서 영상과 음성의 동기화를 이룰 수 있는 효과가 있다.In addition, like the host processor, the video decoder and the audio decoder can eliminate the counter for byte counting and the circular buffer to store the PTS, and also eliminate the need for a comparator to reduce power consumption and to synchronize video and audio while increasing the density. There is an effect that can be achieved.
Description
본 발명은 데이타 동기화장치 및 방법에 관한 것으로, 특히 호스트 프로세서로 부터 들어오는 모든 영상 데이타 및 음성 데이타의 뒤에 헤더를 붙여 저장하여 디코딩시 상기 헤더의 정보를 이용할 수 있게 함으로써, 디코딩시 영상 데이타의 디스플레이 시점 및 음성 데이타의 송출 시점을 나타내는 정보값을 정확히 알 수 있도록 하여 보다 단순한 장치로 영상 데이타와 음성 데이타를 동기화시키는 데에 적당하도록 한 데이타 동기화 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and a method for synchronizing data, and in particular, by storing a header after all image data and audio data coming from a host processor so that the information of the header can be used for decoding, the display time of the image data during decoding. And a data synchronizing apparatus and method for precisely knowing an information value indicating a transmission point of audio data so as to be suitable for synchronizing video data and audio data with a simpler apparatus.
종래의 데이타 동기화장치는 제1도에 도시한 바와 같이, 인코더(도면에 미도시)를 거쳐 인코딩되어 입력되는 비트스트림(BS)에서 영상데이타, 영상 데이타의 디스플레이 시점을 나타내는 정보(PTS)값 및 시스템 클럭신호(SCR)값을 각각 추출한 후, 그 추출된 영상 데이타(VD)의 바이트 카운팅값(BC1)을 구하고, 그 추출된 영상 데이타(VD)를 제1데이타 저장부(10)에 저장시키는 호스트 프로세서(20)와, 상기 제1데이타 저장부(10)에 저장된 영상 데이타(VD)를 인출하여 제2데이타 저장부(30)에 저장시키고, 그 저장된 영상 데이타를 인출하여 디코딩 및 바이트 카운팅 값(BC2)을 구한 후, 그 바이팅 카운트값(BC2)과 상기 호스트 프로세서(20)에서 추출된 영상 데이타의 디스플레이 시점을 나타내는 정보(PTS)값, 시스템 클럭신호(SCR)값 및 바이트 카운팅값(BC1)에 의해 상기 제2데이타 저장부(30)에서 인출된 영상데이타의 디코딩속도를 제어하고, 그 제어된 디코딩속도에 따라 디코딩된 영상 데이타(DVD)를 출력하는 비디오 디코더(40)로 구성된다.In the conventional data synchronizing apparatus, as shown in FIG. 1, an image data, an information PTS value indicating a display time of image data, and a bit stream BS are encoded and input through an encoder (not shown). After extracting the system clock signal SCR value, the byte counting value BC1 of the extracted video data VD is obtained, and the extracted video data VD is stored in the first data storage unit 10. The host processor 20 and the image data VD stored in the first data storage unit 10 are retrieved and stored in the second data storage unit 30, and the stored image data is retrieved and decoded and byte counted. After the BC2 is obtained, the information counting value (PTS), the system clock signal (SCR) value, and the byte counting value indicating the display count value BC2 and the display time of the image data extracted by the host processor 20 ( The second by BC1) And a video decoder 40 for controlling the decoding speed of the video data drawn out from the data storage unit 30 and outputting the decoded video data (DVD) according to the controlled decoding speed.
상기 호스트 프로세서(20)는 인코딩되어 입력되는 비트스트림(BS)에서 추출된 영상데이타를 바이트 카운팅하여 그 바이트 카운팅값(BC1)을 구하는 카운터(2)를 포함하여 구성된다.The host processor 20 includes a counter 2 that counts the video data extracted from the encoded bitstream BS and obtains the byte counting value BC1.
상기 비디오 디코더(40)는 호스트 프로세서(20)에서의 카운터(2)에서 구해진 바이트 카운팅값(BC1)과 영상 데이타의 디스플레이 시점을 나타내는 정보(PTS)값을 선입선출하는 선입선출부(4)와, 상기 제2데이타 저장부(30)로부터 인출된 영상 데이타를 바이트 카운팅하여 그 바이트 카운팅값(BC2)을 구하는 카운터(14)로 구성된다.The video decoder 40 includes a first-in, first-out unit 4 that first-in-first-outs the byte counting value BC1 obtained from the counter 2 of the host processor 20 and the information PTS value indicating the display time of the image data. And a counter 14 for byte counting the image data drawn out from the second data storage unit 30 to obtain the byte counting value BC2.
제4도에 도시된 바와 같이, 종래 데이타 동기화방법은 입력(S1)되는 비트 스트림(BS)에서 영상 데이타의 디스플레이 시점을 나타내는 정보(PTS)값 , 시스템 클럭신호(SCR)값 및 영상데이타를 각각 추출(S2)한 후, 그 추출(S2)된 영상 데이타의 바이트 카운팅값(BC1)을 구하고(S3), 그 추출(S2)된 영상 데이타를 제1데이타 저장부(10)에 저장시키는(S3) 제1과정과, 상기 제1과정에서 추출(S2)된 PTS값, BC1을 선입선출부(40)에 저장(S4)시키고, SCR값을 비디오 디코더(40)의 메모리(도면에 미도시)에 저장(S4)시킨 후, 상기 제1과정에서 저장(S3)된 영상 데이타를 인출하여 제2데이타 저장부(30)에 저장(S5)시키는 제2과정과, 상기 제2과정에서 저장(S5)된 영상 데이타를 인출하여 디코딩함과 아울러 바이트 카운팅값(BC2)을 구하고(S6), 그 구해진 바이트 카운팅값(BC2)과 상기 제2과정에서 저장(S4)된 바이트 카운팅값(BC1)이 같은가를 비교(S7)하는 제3과정과, 상기 제3과정에서의 비교(S7)결과 BC1=BC2가 아니면 상기 제3과정을 반복수행하고, BC1=BC2이면 상기 제2과정에서 저장(S4)된 PTS값과 SCR값이 같은가를 비교(S8)하는 제4과정과, 상기 제4과정에서의 비교(S8)결과 PTS값=SCR값이면 그 PTS값을 갖는 디코딩된 영상 데이타를 출력하고(S9), PTS값=SCR값가 아니면 PTS값이 SCR값보다 작은가 또는 큰가를 비교(S10), (S12)하는 제5과정과, 상기 제5과정에서의 비교(S10)(S12)결과 PTS값이 SCR값보다 작으면 디코딩할 영상 데이타를 디코딩하지 않고 스킵하고(S11), PTS값이 SCR값보다 크면 디스플레이된 영상 데이타를 재디스플레이하는(S13) 제6과정으로 이루어진다.As shown in FIG. 4, in the conventional data synchronization method, an information PTS value, a system clock signal SCR value, and image data indicating a display time of image data in a bit stream BS input S1 are respectively. After extraction (S2), the byte counting value BC1 of the extracted image data (S2) is obtained (S3), and the extracted image data (S2) is stored in the first data storage unit 10 (S3). The first step, the PTS value extracted in the first step (S2), BC1 is stored in the first-in first-out part 40 (S4), and the SCR value is stored in the memory of the video decoder 40 (not shown). After the storage (S4) in the second process, the second process of retrieving the image data stored in the first process (S3) to be stored in the second data storage unit (S5), and stored in the second process (S5) ) Extracts and decodes the image data, obtains a byte counting value BC2 (S6), and calculates the obtained byte counting value BC2 and the second process. A third step of comparing the length S4 of the byte counting value BC1 is the same (S7), and if the result of the comparison (S7) in the third step is BC1 = BC2, the third step is repeated, and BC1 = BC2, the fourth step of comparing (S8) whether the PTS value stored in the second step (S4) and the SCR value is the same; and the result of the comparison (S8) of the fourth step (P8), if the PTS value = SCR value, the PTS. Outputting decoded video data having a value (S9), and comparing the PTS value to a value less than or equal to an SCR value (S10) and (S12) if the PTS value is not an SCR value; If the PTS value is smaller than the SCR value as a result of comparison (S10) (S12), the video data to be decoded is skipped without decoding (S11). If the PTS value is larger than the SCR value, the displayed image data is redisplayed (S13). The process takes place.
이와같이 구성된 종래 데이타 동기화장치의 동작을 제2도 내지 제4도를 참조하여 상세히 설명하면 다음과 같다.The operation of the conventional data synchronization device configured as described above will be described in detail with reference to FIGS. 2 to 4 as follows.
먼저, 인코더(도면에 미도시)를 거쳐 인코딩된 비트 스트림(BS)이 호스트 프로세서(20)에 입력된다(S1).First, a bit stream BS encoded through an encoder (not shown) is input to the host processor 20 (S1).
여기서, 일반적인 비트 스트림에는 영상 데이타, 음성 데이타, 영상 데이타의 디스플레이 시점을 나타내는 정보(Presentation Time Stamps : 이하, PTS라고 약칭함) 값, 음성 데이타의 송출시점을 나타내는 정보값 및 시스템 클럭신호(System Clock Reference siginal : 이하, SCR이라 약칭함)값 등이 포함된다.Here, the general bit stream includes image data, audio data, information indicating the display time of the video data (hereinafter, abbreviated as PTS), information values indicating the time of transmission of the audio data, and a system clock signal (System Clock). Reference siginal: hereinafter referred to as SCR) value and the like.
그런데, 제2도에 도시된 비트 스트림(BS)에는 설명을 용이하게 하기 위해 PTS 및 영상 데이타만을 표시하였다.By the way, in the bit stream BS shown in FIG. 2, only the PTS and the image data are displayed for ease of explanation.
이와같이 제2도에 도시된 비트 스트림(BS)이 호스트 프로세서(20)에 입력(S1)되면, 호스트 프로세서(20)는 그 입력(S1)된 비트 스트림(BS)에서 PTS값, SCR값 및 영상 데이타(VD)를 각각 추출한다(S2).As such, when the bit stream BS illustrated in FIG. 2 is input to the host processor 20 (S1), the host processor 20 generates a PTS value, an SCR value, and an image from the input bit stream BS. Data VD is extracted respectively (S2).
예컨대, 제2도에 도시된 비트 스트림(BS)에 포함된 PTS값(PTS1), 영상 데이타(VD1) 및 SCR값(도면에 미도시)이 호스트 프로세서(20)에 입력(S1)되면, 호스트 프로세서(20)는 기 설명한 바와 같이 입력된 비트 스트림(BS)에서 PTS값(PTS1), 영상 데이타(VD1) 및 SCR값을 각각 추출한다(S2).For example, when the PTS value PTS1, the image data VD1, and the SCR value (not shown) included in the bit stream BS shown in FIG. 2 are input to the host processor 20 (S1), the host As described above, the processor 20 extracts the PTS value PTS1, the image data VD1, and the SCR value from the input bit stream BS (S2).
이후, 호스트 프로세서(20)에서의 카운터(2)는 상기 추출(S2)된 영상데이타(VD1)를 바이트 카운팅하여 그 바이트 카운팅값(BC1) 즉, 제2도에 도시된 k1 바이트를 구한다(S3). 아울러 호스트 프로세서(20)는 상기 추출된 영상 데이타(VD1)를 제1데이타 저장부(10)에 저장시킨다(S3).Thereafter, the counter 2 of the host processor 20 performs byte counting on the extracted image data VD1 to obtain its byte counting value BC1, that is, k1 bytes shown in FIG. 2 (S3). ). In addition, the host processor 20 stores the extracted image data VD1 in the first data storage unit 10 (S3).
그러면, 비디오 디코더(40)는 상기 호스트 프로세서(20)에 의해 추출(S2)된 PTS값(PTS1)과 바이트 카운팅값(BC1)인 k1 바이트를 제3도에 도시된 바와같이 선입선출부(4)에 저장시키고(S4), 아울러 비디오 디코더(40)는 상기 호스트 프로세서(20)에 의해 추출된(S2) 시스템 클럭신호(SCR)값을 내부 메모리(도면에 미도시)에 저장시킨다(S4).Then, the video decoder 40 selects the PTS value PTS1 and the byte counting value BC1, which are extracted (S2) by the host processor 20, as shown in FIG. ) And the video decoder 40 also stores the system clock signal (SCR) value extracted by the host processor 20 (S2) in an internal memory (not shown) (S4). .
그리고, 비디오 디코더(40)는 상기 제1데이타 저장부(10)에 저장된 영상 데이타(VD1)를 인출하여 제2데이타 저장부(30)에 저장시킨다(S5).The video decoder 40 extracts the image data VD1 stored in the first data storage unit 10 and stores the image data VD1 in the second data storage unit 30 (S5).
여기서, 제3도에 도시된 바와같이 선입선출부(3)는 32비트(bit)메모리이고, PTS값은 33비트에 저장되므로 바이트 카운팅값 k1과 PTS값의 최상위비트 1비트가 한 워드(32bit)에 저장되고, 다음워드(32bit)에는 PTS값이 저장된다.Here, as shown in FIG. 3, the first-in, first-out part 3 is a 32-bit memory, and the PTS value is stored in 33 bits, so that the byte counting value k1 and the most significant bit of the PTS value are one word (32 bits). ), And the PTS value is stored in the next word (32 bits).
그리고, 상기 비디오 디코더(40)의 메모리에 저장된 SCR값은 비디오 디코더(40)에 의해 매 90KHz마다 1씩 증가된다.The SCR value stored in the memory of the video decoder 40 is increased by 1 every 90 KHz by the video decoder 40.
이후, 비디오 디코더(40)는 상기 제2데이타 저장부(30)에 저장된 영상 데이타(VD1)를 인출하여 디코딩하고, 아울러 비디오 디코더(40)에서의 카운터(14)는 상기 인출된 영상 데이타(VD1)를 바이트 카운팅하고 그 바이트 카운팅값(BC2), k1 바이트를 구한다(S6).Thereafter, the video decoder 40 extracts and decodes the image data VD1 stored in the second data storage 30, and the counter 14 of the video decoder 40 decodes the extracted image data VD1. ) Is counted by byte, and the byte counting value BC2 and k1 bytes are obtained (S6).
그리고, 비디오 디코더(30)에서의 비교기(24)는 상기 선입선출부(30)에 저장된 바이트 카운팅값(BC1), k1 바이트와 상기 단계(S6)에서 구해진 바이트 카운팅값(BC2), k1바이트가 같은가를 비교하게 된다(S7).The comparator 24 of the video decoder 30 stores the byte counting value BC1, k1 byte, and the byte counting value BC2 and k1 byte obtained in the step S6. The comparison is the same (S7).
여기서, 상기 비교(S7)결과 BC1=BC2가 아니면 비디오 디코더(40)는 상기 단계(S6),(S7)를 반복 수행하게 된다.If the result of the comparison (S7) is not BC1 = BC2, the video decoder 40 repeats the steps S6 and S7.
그러나, 상기 경우는 BC1=BC2 즉, k1=k1이므로 비디오 디코더(40)에 의해 디코딩되는 영상 데이타(VD1)는 상기 선입선출부(4)에 저장된 PTS값(PTS1)을 갖게된다.However, in this case, since BC1 = BC2, that is, k1 = k1, the image data VD1 decoded by the video decoder 40 has the PTS value PTS1 stored in the first-in, first-out part 4.
이때, 비디오 디코더(40)에서의 비교기는 상기 비교(S7)결과가 일치할 때의 PTS값과 상기 단계(S4)에서 비디오 디코더(40)의 메모리에 저장된 SCR값이 같은가를 비교한다(S8).At this time, the comparator in the video decoder 40 compares the PTS value when the result of the comparison (S7) coincides with the SCR value stored in the memory of the video decoder 40 in the step S4 (S8). .
상기 비교(S8)결과, PTS값=SCR값이면 그 PTS값을 갖는 디코딩된 영상 데이타(DVD)가 출력되어 디스 플레이장치(도면에 미도시)에 디스 플레이된다.As a result of the comparison (S8), if the PTS value = SCR value, decoded video data (DVD) having the PTS value is output and displayed on the display device (not shown).
한편, 그 비교(S8)결과 PTS값=SCR값이 아니면 비교기는 PTS값이 SCR값보다 작거나 또는 큰가를 비교하게 된다(S10),(S12).On the other hand, if the result of the comparison (S8) is not a PTS value = SCR value, the comparator compares whether the PTS value is smaller or larger than the SCR value (S10) (S12).
상기 비교(S10),(S12)결과 PTS값이 SCR값보다 작으면, 그 PTS값을 갖는 영상 데이타는 현재 디스플레이 될 영상 데이타가 아니고, 과거에 디스플레이된 영상 데이타이므로 비디오 디코더(40)는 그 PTS값을 갖는 영상 데이타를 디코딩하지 않고 스킵(skip)한 후 (S11), PTS값=SCR값일 때까지 상기 단계(S10),(S11)를 반복 수행하게 된다.If the PTS value is smaller than the SCR value as a result of the comparison (S10) or (S12), the video decoder 40 is not the image data to be displayed at present, but the image data displayed in the past, so that the video decoder 40 determines the PTS. After skipping without decoding the image data having a value (S11), the step (S10), (S11) is repeated until the PTS value = SCR value.
한편, 상기 비교(S10), (S12)결과 PTS값이 SCR값보다 크면, 그 PTS값을 갖는 영상 데이타는 아직 디스플레이될 영상 데이타가 아니므로 비디오 디코더(40)는 PTS값과 SCR값이 일치될 때까지 디코딩을 멈추고(S13) 제2데이타 저장부(300)에 저장되어 있던 영상 데이타(VDO)를 출력한다.On the other hand, if the comparison (S10) and (S12) result in the PTS value larger than the SCR value, the video decoder 40 does not match the PTS value and the SCR value since the image data having the PTS value is not yet to be displayed. Decoding is stopped until (S13) and the video data VDO stored in the second data storage unit 300 is output.
이와같이 비디오 디코더(40)로 부터 출력된 영상 데이타는 디스 플레이 장치(도면에 미도시)에 디스 플레이한다.In this way, the image data output from the video decoder 40 is displayed on a display device (not shown).
여기서, 상기 단계(S12), (S13)는 PTS값=SCR값일 때까지 반복 수행된다.Here, the steps S12 and S13 are repeatedly performed until the PTS value = SCR value.
그리고, 비트 스트림에 포함된 음성 데이타도 호스트 프로세서(20) 및 오디오 디코더(도면에 미도시)에 의해 기 설명한 바와 같은 방법으로 음성 데이타의 송출 시점을 나타내는 정보값이 SCR값에 비교되어 그 비교결과에 따라 음성 데이타의 디코딩 속도가 제어되므로 비트 스트림에서의 영상 데이타와 음성 데이타는 동기되어 디스플레이장치(도면에 미도시) 및 스피커(도면에 미도시) 등으로 각각 출력되게 된다.The voice data included in the bit stream is also compared with the SCR value by comparing the information value indicating the time point at which the voice data is transmitted by the host processor 20 and the audio decoder (not shown). The decoding speed of the audio data is controlled accordingly, so that the video data and the audio data in the bit stream are synchronized with each other and output to the display device (not shown), the speaker (not shown), or the like.
한편, 기 설명한 바와같이 영상 데이타(VD1)가 디스플레이된 후, 인코딩되어 호스트 프로세서(20)에 입력되는 영상 데이타(VD2)도 기 설명한 바와 같은 방법으로 디스플레이장치에 디스플레이되므로 상세한 설명은 생략하기로 한다.Meanwhile, as described above, since the image data VD1 is displayed and then encoded and input to the host processor 20, the image data VD2 is also displayed on the display apparatus in the same manner as described above, and thus a detailed description thereof will be omitted. .
그러나, 이와같은 종래 데이타 동기화장치 및 방법에 있어서 비디오 디코더는 제2데이타 저장부에 저장된 영상 데이타를 인출할 때 마다 선입선출부에 저장된 바이트 카운팅값과 비교하여야 하므로 비교의 횟수가 증가되는 문제점이 있었다.However, in the conventional data synchronizing apparatus and method, the video decoder has to compare with the byte count value stored in the first-in, first-out unit every time the image data stored in the second data storage unit is fetched. .
또한, 호스트 프로세서 및 비디오 디코더에 영상 데이타를 바이트 카운팅하기 위한 카운터가 구비되어야 하므로 바이트 카운팅시 장치에 로드(load)가 걸림과 아울러 이에 따른 게이트 카운트, 칩 싸이즈, 커런트, 파워의 양과 같은 장치의 용량이 증가하는 문제점이 있었다.In addition, since the host processor and the video decoder must have a counter for byte counting the image data, the device loads when the byte counts and the device capacity such as gate count, chip size, current, and power amount accordingly. There was an increasing problem.
본 발명은 상기와 같은 종래의 문제를 해결하기 위하여 창안된 것으로, 호스트 프로세서로 부터 들어오는 모든 영상 데이타 및 음성 데이타의 뒤에 헤더를 붙여 저장하여 디코딩시 상기 헤더의 정보를 이용할 수 있게 함으로써, 디코딩시 영상 데이타의 디스 플레이 시점 및 음성 데이타의 송출 시점을 나타내는 정보값을 정확히 알 수 있도록한 데이타 동기화 장치 및 방법을 제공함에 그 목적이 있다.The present invention was devised to solve the above-mentioned conventional problem, and the header information is stored after all the video data and audio data coming from the host processor, so that the information of the header can be used to decode the video. It is an object of the present invention to provide an apparatus and method for synchronizing data so that an information value indicating a data display time and a voice data transmission time can be accurately known.
제1도는 종래 데이타 동기화 장치의 블럭구성도.1 is a block diagram of a conventional data synchronization device.
제2도는 일반적인 비트 스트림을 개략적으로 나타낸 도.2 is a schematic representation of a general bit stream.
제3도는 제1도에 있어서, 선입선출부의 상세구성도.3 is a detailed configuration diagram of the first-in first-out part in FIG.
제4도는 종래 데이타 동기화 방법에 의한 제어흐름도.4 is a control flowchart of a conventional data synchronization method.
제5도는 본 발명 데이타 동기화 장치의 블럭구성도.5 is a block diagram of a data synchronization device of the present invention.
제6도는 제5도에 있어서, 메모리 맵의 구성도.6 is a block diagram of a memory map of FIG.
제7도는 본 발명 데이타 동기화 방법에 의한 제어흐름도.7 is a control flowchart of the data synchronization method of the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
100 : 호스트 프로세서 200 : 제1데이타 저장부100: host processor 200: first data storage
300 : 비디오 디코더 310 : 제1레지스터300: video decoder 310: first register
400 : 제2데이타 저장부 410~430 : 헤더400: second data storage unit 410 ~ 430: header
상기와 같은 목적을 달성하기 위한 본 발명 데이타 동기화 방법은, 인코딩되어 입력(S1)되는 비트스트림에서 영상 데이타, 음성 데이타, 영상 데이타의 디스플레이 시점 및 음성 데이타의 송출 시점을 나타내는 정보값 및 시스템 클럭신호값을 각각 추출(S2)하여 그 추출된 영상 데이타 및 음성 데이타를 제1, 제2데이타 저장부에 각각 저장(S2)시키는 제1과정과, 상기 제1과정에서 추출된(S2) 영상 데이타의 디스플레이 시점 및 음성 데이타의 송출 시점을 나타내는 정보값을 제1, 제2레지스터에 저장(S3)시키는 제2과정과, 상기 제1과정에서 제1, 제2데이타 저장부에 각각 저장된 영상 정보 및 음성 정보를 인출하여 제3, 제4데이타 저장부에 저장(S4)시키는 제3과정과, 상기 제3과정에서 제3, 제4데이타 저장부에 각각 저장된 영상 데이타 및 음성 데이타를 인출하여 디코딩(S5)하고, 디코딩 되는 영상 데이타에 헤드의 정보가 있는 지를 비교(S6)하고, 디코딩되는 음성 데이타에 헤드의 정보가 있는 지를 비교(S6)하는 제4과정과, 상기 제4과정에서의 비교 결과 디코딩되는 데이타에 헤드의 정보가 있지 않으면 상기 제4과정을 반복 수행(S5)(S6)하고, 그 비교 결과 디코딩 되는 데이타에 헤드의 정보가 있으면 상기 제4과정에서 영상 데이타 및 음성 데이타의 디코딩 속도를 제어(S7)하는 제5과정으로 이루어진다.The data synchronization method of the present invention for achieving the above object, the system clock signal and the information value indicating the video data, audio data, the display time of the video data and the transmission time of the audio data in the encoded (S1) bitstream A first step of extracting values (S2) and storing the extracted image data and audio data in the first and second data storage units (S2), respectively; and the image data extracted in the first process (S2). A second process of storing (S3) information values indicating a display time point and a time point of transmission of the audio data in the first and second registers; and image information and audio stored in the first and second data storage units in the first process, respectively. A third process of extracting the information and storing it in the third and fourth data storage units (S4); and extracting the video data and the audio data stored in the third and fourth data storage units in the third process, respectively. The fourth step of decoding (S5), comparing the head information in the decoded video data (S6), and comparing the head information in the decoded audio data (S6); If the data to be decoded as a result of the comparison does not contain information of the head, the fourth process is repeated (S5) (S6). A fifth process of controlling the decoding speed (S7) is performed.
상기와 같은 방법을 구현하기 위한 본 발명 데이타 동기화 장치는, 인코딩되어 입력되는 비트스트림에서 영상 데이타, 음성 데이타, 영상 데이타의 디스플레이 시점 및 음성 데이타의 송출 시점을 나타내는 정보값 및 시스템 클럭신호를 각각 추출하여 그 추출된 영상 데이타를 제1, 제2데이타 저장부에 각각 저장시키는 호스트 프로세서와, 상기 추출된 영상 데이타가 저장될 영역을 가르키는 제3데이터 저장부의 영상 데이타값과 삽입된 헤더의 정보에 의해 인출된 영상 데이터의 디코딩 속도를 제어하는 비디오 디코더와, 상기 추출된 음성 데이타가 저장될 영역을 가르키는 제4데이터 저장부의 음성 데이타값과 삽입된 헤더의 정보에 의해 인출된 음성 데이터의 디코딩 속도를 제어하는 오디오 디코더로 구성된다.The data synchronization apparatus according to the present invention for implementing the above method extracts the video data, the audio data, the information value indicating the display time of the video data and the transmission time of the audio data and the system clock signal from the encoded bitstream. A host processor for storing the extracted image data in the first and second data storage units, and a video data value of the third data storage unit indicating an area in which the extracted image data is to be stored and information of the inserted header. A video decoder for controlling the decoding speed of the extracted video data, and a decoding speed of the extracted audio data by the voice data value of the fourth data storage unit indicating an area in which the extracted audio data is to be stored and the information of the inserted header. It consists of an audio decoder to control it.
상기 비디오 디코더 및 오디오 디코더는 영상 데이타의 디스플레이 시점 및 음성 데이타의 송출 시점을 나타내는 정보값을 저장하는 제1, 제2레지스터를 포함한다.The video decoder and the audio decoder include first and second registers for storing information values indicating the display time point of the image data and the transmission point point of the audio data.
이와같은 본 발명의 동작에 대하여 제6도를 참조하여 좀 더 상세히 설명하면 다음과 같다.This operation of the present invention will be described in more detail with reference to FIG. 6 as follows.
먼저, 인코딩되어 입력(S1)되는 비트스트림(BS)이 호스트 프로세서(100)에 입력되면, 호스트 프로세서(100)는 그 입력된 비트스트림(BS)에서 PTS값, SCR값 및 영상 데이타를 각각 추출(S2)하고, 그 추출된 영상 데이타를 제1데이타 저장부(200)에 저장(S2)시킨다.First, when the encoded bitstream BS is input to the host processor 100, the host processor 100 extracts a PTS value, an SCR value, and image data from the input bitstream BS, respectively. In operation S2, the extracted image data is stored in the first data storage unit 200 (S2).
그러면, 비디오 디코더(300)는 상기 호스트 프로세서(100)에서 추출된(S2) PTS1값을 제1레지스터(310)에 저장(S3)시키고 SCR값을 내부 메모리(도면 미도시)에 저장(S3)시킨다.Then, the video decoder 300 stores the PTS1 value extracted from the host processor 100 (S2) in the first register 310 (S3) and stores the SCR value in an internal memory (not shown) (S3). Let's do it.
이후, 비디오 디코더(300)는 상기 제1데이타 저장부(200)에 저장(S2)된 영상 데이타를 인출하여 제2데이타 저장부(400)에 저장(S4)시키는데, 이때 영상 데이타를 제1데이타 저장부(200)에 저장(S4)시킨 다음 그 뒤에 헤더를 붙여 저장(S4)시킨다.Thereafter, the video decoder 300 extracts the image data stored in the first data storage unit 200 (S2) and stores the image data in the second data storage unit 400 (S4), wherein the image data is stored in the first data. The storage unit 200 stores the data (S4) and then attaches the header to the storage (S4).
즉, 영상 데이타(k0 바이트)를 제2데이타 저장부(400)에 저장(S4)한 후 특정 헤더(410)를 영상 데이타(k0 바이트)의 뒤에 저장(S4)시키고, 다음에 오는 PTS값을 제1레지스터(310)에 저장(S4)시키고 영상 데이타(k1 바이트)를 제2데이타 저장부(400)에 저장(S4)시킨 다음 그 영상 데이타(k1 바이트)의 뒤에 헤더(420)를 붙여 저장(S4)시킨다.That is, after storing the image data (k0 byte) in the second data storage unit 400 (S4), the specific header 410 is stored after the image data (k0 byte) (S4), and the next PTS value is stored. The first register 310 is stored (S4) and the image data (k1 byte) is stored in the second data storage unit 400 (S4), and the header 420 is stored after the image data (k1 byte). (S4)
이후, 상기 비디오 디코더(300)가 제2데이타 저장부(400)에 저장(S4)된 데이타를 인출하여 디코딩(S5)을 하는데, 영상 데이타(k0 바이트)를 인출하여 디코딩 한 후 리드 포인트가 증가하여 헤더를 만나 디코딩 하게 되면(S6) 이 헤더(410)가 지시하는 제1레지스터(310)의 PTS값을 복원된 영상 데이타(k0 바이트)에 부여하게 된다.Thereafter, the video decoder 300 extracts the data stored in the second data storage 400 (S4) and decodes the data (S5). After reading and decoding the image data (k0 bytes), the lead point increases. When the header is met and decoded (S6), the PTS value of the first register 310 indicated by the header 410 is assigned to the restored image data (k0 bytes).
이때, 상기 헤더(410)의 디코딩은 마이크로 프로그램 형식이나 하드웨어로 구현할 수 있다.At this time, the decoding of the header 410 may be implemented in a micro program format or hardware.
마찬가지로, 영상 데이타(k1, k2)에 대해서도 헤더(420, 430)를 이용하여 각각에 맞는 PTS값을 부여받을 수 있다.Similarly, the PTS values corresponding to the image data k1 and k2 may be provided using the headers 420 and 430.
이와 같이, 디코딩되는 영상 데이타에 PTS값을 부여한 다음, 이 PTS값을 SCR값과 종래와 동일한 방법으로 비교하여 디코딩 속도를 제어(S7)한다.In this way, the PTS value is assigned to the decoded video data, and then the decoding rate is controlled by comparing the PTS value with the SCR value in the same manner as in the prior art (S7).
그리고, 비트스트림(BS)에 포함된 음성 데이타도 호스트 프로세서(100) 및 오디오 디코더(도면 미도시)에 의해 기 설명한 바와 같이 음성 데이타의 송출 시점을 나타내는 정보값(PTS)이 SCR값과 비교외어 그 비교결과에 따라 디코딩 속도가 제어되므로, 비트 스트림(BS)에 포함된 영상 데이타 및 음성 데이타는 서로 동기되어 디스플레이 장치(도면 미도시) 및 스피커(도면 미도시) 등으로 각각 출력되게 된다.In addition, as described above by the host processor 100 and the audio decoder (not shown), the information value PTS indicating the time point at which the voice data is transmitted is compared with the SCR value. Since the decoding speed is controlled according to the comparison result, the video data and the audio data included in the bit stream BS are synchronized with each other and output to the display device (not shown), the speaker (not shown), or the like.
한편, 본 발명의 다른 실시예에 대해 설명하면 다음과 같다.Meanwhile, another embodiment of the present invention will be described.
PTS값을 저장하는 제1, 제2레지스터를 써큘러 버퍼(Circular buffer)로 구성하여 영상 데이타 및 음성 데이타의 PTS값을 저장할 수 있는데, 이때 써큘러 버퍼는 바이트 카운트값을 저장할 필요가 없다.The first and second registers storing the PTS values may be configured as circular buffers to store PTS values of video data and audio data. The circular buffer does not need to store byte count values.
또한, 상기 제1레지스터나 써큘러 버퍼의 어드레스로써 사용되는 헤더의 형식은 reserved되지 않는 헤더 코드를 이용할 수 있는데, 영상 데이타 및 음성 데이타의 뒤에 붙이는 헤더의 디코딩은 마이크로 프로그램 형식이나 하드웨어로 구현할 수 있다.In addition, a header code that is not reserved may be used as a format of the header used as the address of the first register or the circular buffer. The decoding of the header attached to the video data and the audio data may be implemented in a micro program format or hardware. .
또한, 인코딩된 영상 데이타 및 음성 데이타의 뒤에 특정 헤더를 삽입하는 방식을 그 데이타 전단의 reserved 헤더 사이에 특정 헤더를 삽입하여 같은 효과를 볼 수 있다.In addition, a method of inserting a specific header after the encoded video data and audio data may have the same effect by inserting a specific header between reserved headers in front of the data.
상술한 바와 같이, 본 발명은 호스트 프로세서 내에 바이트를 카운트 할 카운터가 필요 없게 되며 이로 인해 호스트 프로세서의 로드가 적게 되어 성능 향상을 이룰 수 있을 뿐 아니라 게이트 카운트 감소로 파워 및 사이즈의 감소를 이룰 수 있는 효과가 있다.As described above, the present invention eliminates the need for a counter to count bytes in the host processor, thereby reducing the load on the host processor, thereby improving performance, and reducing power and size by reducing the gate count. It works.
또한, 비디오 디코더 및 오디오 디코더에서도 호스트 프로세서와 마찬가지로 바이트카운트 할 카운터 및 PTS를 저장할 써큘러 버퍼 등을 없앨 수 있고 비교기가 필요없게 되어 파워의 소모를 줄일 수 있으며 집적도를 높이면서 영상과 음성의 동기화를 이룰 수 있는 효과가 있다.In addition, like the host processor, the video decoder and the audio decoder can eliminate the byte count counter and the circular buffer to store the PTS, and also eliminate the need for the comparator to reduce power consumption and to synchronize the video and audio while increasing the density. There is an effect that can be achieved.
Claims (5)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1019960040330A KR100206937B1 (en) | 1996-09-17 | 1996-09-17 | Data Synchronization Device and Method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1019960040330A KR100206937B1 (en) | 1996-09-17 | 1996-09-17 | Data Synchronization Device and Method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR19980021469A KR19980021469A (en) | 1998-06-25 |
| KR100206937B1 true KR100206937B1 (en) | 1999-07-01 |
Family
ID=19474018
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1019960040330A Expired - Fee Related KR100206937B1 (en) | 1996-09-17 | 1996-09-17 | Data Synchronization Device and Method |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR100206937B1 (en) |
-
1996
- 1996-09-17 KR KR1019960040330A patent/KR100206937B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| KR19980021469A (en) | 1998-06-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR0152916B1 (en) | Data Synchronizer and Method | |
| US20150363161A1 (en) | Method and apparatus for audio synchronization | |
| US6262775B1 (en) | Caption data processing circuit and method therefor | |
| US5987214A (en) | Apparatus and method for decoding an information page having header information and page data | |
| CN100428798C (en) | A digital TV decoding method and system | |
| US6278838B1 (en) | Peak-ahead FIFO for DVD system stream parsing | |
| US20060153290A1 (en) | Code conversion method and device thereof | |
| US5818547A (en) | Timing detection device and method | |
| EP0781042A2 (en) | Software teletext decoder architecture | |
| US6687305B1 (en) | Receiver, CPU and decoder for digital broadcast | |
| JP3025447B2 (en) | Video data decoder and decoding method | |
| JP3573396B2 (en) | Moving image decoding method and apparatus | |
| US20070177595A1 (en) | DTV decoding system and de-multiplexing method thereof | |
| US6243032B1 (en) | Decode apparatus that can accommodate dynamic change in sample data attribute during decoding process | |
| US20060093331A1 (en) | Audio decoding system with a ring buffer and its audio decoding method | |
| US6035096A (en) | Video/audio decoding and reproducing apparatus and method | |
| KR100206937B1 (en) | Data Synchronization Device and Method | |
| US7602801B2 (en) | Packet processing device and method | |
| JP3298478B2 (en) | MPEG decoding device | |
| US20050117888A1 (en) | Video and audio reproduction apparatus | |
| US6341198B1 (en) | System for byte packing multiple data channels in an MPEG/DVD system | |
| US6839500B2 (en) | Apparatus for implementing still function of DVD and method thereof | |
| CN100461747C (en) | A code rate adjustment method for multimedia code stream | |
| JP4510288B2 (en) | Timing data processing method and execution apparatus thereof | |
| US7577204B2 (en) | Hits stream rewind |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A201 | Request for examination | ||
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 6 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R14-asn-PN2301 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R14-asn-PN2301 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 7 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 8 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 9 |
|
| FPAY | Annual fee payment |
Payment date: 20080317 Year of fee payment: 10 |
|
| PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 10 |
|
| LAPS | Lapse due to unpaid annual fee | ||
| PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20090411 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
| PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20090411 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |