KR20030077869A - 오디오/비디오 립싱크를 위한 실시간 pes 디코딩 방법 - Google Patents

오디오/비디오 립싱크를 위한 실시간 pes 디코딩 방법 Download PDF

Info

Publication number
KR20030077869A
KR20030077869A KR1020020016827A KR20020016827A KR20030077869A KR 20030077869 A KR20030077869 A KR 20030077869A KR 1020020016827 A KR1020020016827 A KR 1020020016827A KR 20020016827 A KR20020016827 A KR 20020016827A KR 20030077869 A KR20030077869 A KR 20030077869A
Authority
KR
South Korea
Prior art keywords
pes
data
audio
read
decoding
Prior art date
Application number
KR1020020016827A
Other languages
English (en)
Other versions
KR100848904B1 (ko
Inventor
이명훈
Original Assignee
주식회사 엘지이아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엘지이아이 filed Critical 주식회사 엘지이아이
Priority to KR1020020016827A priority Critical patent/KR100848904B1/ko
Publication of KR20030077869A publication Critical patent/KR20030077869A/ko
Application granted granted Critical
Publication of KR100848904B1 publication Critical patent/KR100848904B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Abstract

오디오 디코딩 시 버퍼의 개수를 줄이면서 PES를 효과적으로 디코딩하여 오디오 디코딩과 PES 디코딩의 시간차이의 발생에 따른 PTS값의 차이를 줄여 립싱크를 효과적으로 맞추기 위한 실시간 PES 디코딩 방법을 제공하기 위한 것으로서, PES 버퍼에 저장된 PES 데이터를 리드하면서, 상기 리드되는 PES 데이터에 결합된 PES 헤더를 검색하여 PES 패킷 길이를 검출하는 단계와, 상기 검출된 PES 패킷 길이를 레지스터값으로 세팅하는 단계와, 상기 세팅된 레지스터 값을 통해 PES 버퍼에 저장되어 있는 PES 데이터 중 ES 데이터를 리드하는 단계와, 상기 리드되는 ES 데이터의 패킷 길이가 상기 세팅된 레지스터값과 동일한지는 비교하는 비교단계와, 상기 비교결과, 동일하지 않으면 리드된 ES 데이터를 오디오 디코딩을 수행하는 단계와, 상기 비교결과, 동일하면 상기 PES 버퍼에 다른 PES 데이터가 존재하는지를 판단하는 단계와, 상기 판단결과, 다른 PES 데이터가 존재하면 해당 PES 데이터를 디코딩하고 상기 단계를 반복하는 단계를 포함하여 이루어지는데 있다.

Description

오디오/비디오 립싱크를 위한 실시간 PES 디코딩 방법{method of real-time PES decoding for audio/video lip sync}
본 발명은 MPEG 1,2에 따른 오디오 데이터 전송에 관한 것으로, 특히 오디오/비디오 립싱크를 위한 실시간 PES 디코딩 방법에 관한 것이다.
일반적으로 MPEG-1, MPEG-2의 규격에 따른 트랜스포트 스트림으로 전송되는 AC-3 또는 MPEG 오디오 데이터를 디코딩할 때, 비디오 신호와 동기를 맞추기 위하여 오디오 데이터의 패킷화 기본 비트열(Packetized Elementary Streams : PES)의헤더에 포함되어 있는 PTS(Presentation Time Stamp)와 STC(System Time Clock)의 동기를 일치시켜야 한다.
이때, 오디오 디지털 신호 처리(Digital Signal Processor : DSP)를 이용하여 패킷화 기본 비트열(Packetized Elementary Streams : PES)을 받아 오디오 데이터를 디코딩하는 방법으로는 다음 세 가지 방법이 있다.
첫 번째는 PES를 ES(Elementary Streams)으로 디코딩하기 위해서 별도의 하드웨어 블록을 두어 디코드하는 방법이고, 두 번째는 오디오 DSP를 이용하여 소프트웨어적으로 디코드하는 방법이고, 세 번째는 상기 두 가지 방법을 적절히 결합한 방법이다.
상기 첫 번째 방법인 별도의 하드웨어 블록을 두어 PES를 디코드 하는 경우는 실시간으로 PES를 디코드 할 수 있지만 별도의 하드웨어 블록과 또 그 블록에서 필요로 하는 메모리로 인해 오디오 DSP의 게이트 수가 늘어나게 된다.
그에 따라, 실시간으로 디코드되는 PES에 비해 오디오 알고리즘에서 ES를 디코딩하는 시점과의 시간차이 때문에 적절한 PTS(Presentation Time Stamps)를 찾는데 어려움이 있고, 이로 인해 립싱크를 맞추기 힘든 단점이 있다.
상기 두 번째 방법인 오디오 DSP의 내부 명령어를 이용하여 소프트웨어적으로 디코드하는 경우는 별도의 하드웨어 블록이 필요하지는 않지만 PES를 저장할 버퍼와 PES를 디코드하여 생기는 ES를 저장할 버퍼가 이중으로 필요하게 된다.
따라서, 이를 해결하기 위한 방법으로 상기 두 가지 방법을 적절히 조합하여 오디오 DSP의 내부 명령어를 이용하여 소프트웨어적으로 실시간 PES 디코딩 사용하는 세 번째 방법이 있다.
이 세 번째 방법은 하드웨어를 사용하는 경우의 별도 블록과 메모리를 줄여 게이트 카운트를 줄일 수 있고, 또한 소프트웨어를 이용하여 PES를 디코드하여 ES로 저장해 두고, 다시 이를 사용함으로써, 버퍼의 낭비를 막고 오디오 디코딩과 PES 디코딩의 시간차이의 발생에 따른 PTS값의 차이를 줄여 립싱크를 효과적으로 맞출 수 있다.
도 1 은 상기 세 번째 방법에 따른 PES 디코딩 방법을 나타낸 도면이다.
도 1을 보면, PES 버퍼(10)에 PES 헤더와 ES 데이터로 결합되어 저장된 PES 데이터를 PES 디코더(30)를 통해 PES 디코딩을 수행한다.
그리고 상기 PES 디코딩된 ES 데이터를 ES 버퍼(20)에 저장한다.
이어 상기 ES 버퍼(20)에 저장된 ES 데이터 중 해당 ES 데이터(40)를 리드하여 오디오 디코더(50)를 통해 오디오 디코딩을 수행한다.
그러나 이 세 번째 방법 역시, PES를 저장하기 위한 버퍼와 ES를 저장하기 위한 버퍼가 모두 필요로 하고 있으며, 이로 인해 PTS의 관리에 어려움이 있고, 또한 메모리를 이중으로 사용해야하는 문제점을 가지고 있다.
따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 오디오 디코딩 시 버퍼의 개수를 줄이면서 오디오/비디오 립싱크를 효과적으로 맞추기 위한 실시간 PES 디코딩 방법을 제공하는데 그 목적이 있다.
도 1 은 종래 기술에 따른 PES 디코딩 방법을 나타낸 도면
도 2 는 본 발명에 따른 실시간 PES 디코딩 방법을 나타낸 도면
도 3 은 본 발명에 따른 실시간 PES 디코딩 방법의 흐름도를 나타낸 도면
*도면의 주요부분에 대한 부호의 설명
100 : PES 버퍼200 : PES 길이 레지스터
300 : PES 디코더400 : ES 데이터
500 : 오디오 디코더
상기와 같은 목적을 달성하기 위한 본 발명에 따른 오디오/비디오 립싱크를 위한 실시간 PES 디코딩 방법의 특징은 PES 버퍼에 저장된 PES 데이터를 리드하면서, 상기 리드되는 PES 데이터에 결합된 PES 헤더를 검색하여 PES 패킷 길이를 검출하는 단계와, 상기 검출된 PES 패킷 길이를 레지스터값으로 세팅하는 단계와, 상기 세팅된 레지스터값을 통해 PES 버퍼에 저장되어 있는 PES 데이터 중 ES 데이터를 리드하는 단계와, 상기 리드되는 ES 데이터의 패킷 길이가 상기 세팅하다 레지스터값과 동일한지는 비교하는 비교단계와, 상기 비교결과, 동일하지 않으면 리드된 ES 데이터를 오디오 디코딩을 수행하는 단계와, 상기 비교결과, 동일하면 상기 PES 버퍼에 다른 PES 데이터가 존재하는지를 판단하는 단계와, 상기 판단결과, 다른 PES 데이터가 존재하면 해당 PES 데이터를 디코딩하고 상기 단계를 반복하는 단계를 포함하여 이루어지는데 있다.
본 발명의 다른 목적, 특성 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.
본 발명에 따른 오디오/비디오 립싱크를 위한 실시간 PES 디코딩 방법의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다.
도 2 는 본 발명에 따른 실시간 PES 디코딩 방법을 나타낸 도면이고, 도 3 은 본 발명에 따른 실시간 PES 디코딩 방법의 흐름도를 나타낸 도면이다.
도 2와 3을 참조하여 설명하면, 먼저 PES 버퍼(100)에 저장된 PES 데이터를 리드하면서(S10), 상기 리드되는 PES 데이터에 결합된 PES 헤더를 검색하여 PES 패킷 길이를 검출한다(S20).
그리고 상기 검출된 PES 패킷 길이를 PES 길이 레지스터(200)에 저장하여 레지스터값으로 세팅한다(S30).
이어 상기 세팅하다 레지스터값을 통해 PES 버퍼(100)에 리드되는 PES 데이터 중 ES 데이터를 리드한다(S40).
그리고 상기 리드되는 ES 데이터의 패킷 길이가 PES 길이 레지스터(200)에 세팅된 길이와 동일한지는 비교한다(S50).
상기 비교결과(S50), 리드된 ES 데이터(400)의 패킷 길이와 PES 길이 레지스터(200)에 세팅된 길이가 동일하지 않으면, 리드된 ES 데이터(400)를 오디오 디코더(500)를 통해 오디오 디코딩을 수행한다(S60).
그리고 상기 비교결과(S50), 리드된 ES 데이터(400)의 패킷 길이와 PES 길이 레지스터(200)에 세팅된 길이가 동일하면, 리드된 ES 데이터(400)가 모두 읽어진 것으로 판단하여, 상기 PES 버퍼(100)에 다른 PES 데이터가 존재하는지를 판단한다(S70).
상기 판단결과(S70), 다른 PES 데이터가 존재하면 해당 PES 데이터를 PES 디코더(300)를 이용하여 디코딩한 후(S80), 위에서 설명한 방법과 동일하게 상기 PES 헤더를 검색하고 PES 패킷 길이를 검출하여 레지스터값을 세팅한다(S20)(S30).
그리고 세팅된 레지스터값을 통해 ES 데이터를 리드하여 오디오 디코딩을 수행한다(S40)(S50)(S60).
이와 같은 방법으로 PES 버퍼(100)에 저장된 다수개의 PES 데이터가 모두 오디오 디코딩되도록 수행한다.
이와 같이 제안된 소프트웨어 실시간 PES 디코딩 방법은 PES 버퍼(100)와 PES 버퍼에서 스트림을 읽을 때 사용되는 알고리즘에 PES 디코딩을 위한 알고리즘을 추가하고 ES 디코딩 중에 PES 패킷 헤더가 있는지 알 수 있는 PES 패킷 길이를 저장하고 있는 PES 길이 레지스터(200)를 사용하고 있다.
그리고 오디오 디코딩을 시작하기 위해 PES 버퍼(100)로부터 스트림을 읽으면 PES 데이터를 디코딩하기 위해 PES 헤더를 찾게 되는데, 이 헤더 값 안에는 PES 패킷 길이를 나타내는 정보가 들어있고 이 값을 PES 패킷 길이를 나타내는 레지스터값으로 세팅한다.
이에 따라, 오디오 디코더(500)는 디코드하면서 계속 PES 디코드한 후의 ES값만을 읽을 수 있게 되고 그때마다 레지스터값을 감소시켜 레지스터값이 0이 되면 다음에 있는 PES 데이터에 따른 PES 헤더를 찾아 해당 PES 데이터를 오디오 디코딩한다.
따라서, 본 발명은 오디오 디코딩을 위해 PES에서 스트림을 일정량 읽어올 때마다 패킷의 길이를 저장하는 레지스터값을 자동으로 감소시켜 효과적으로 PES헤더를 찾아 디코딩하게 된다.
또한, PES를 실시간으로 디코딩하면서 동시에 오디오 디코딩을 실시하므로 PTS값을 저장할 필요 없이 바로 사용할 수 있게 되므로 효과적으로 립싱크를 맞출 수 있게 된다.
이상에서 설명한 바와 같은 본 발명에 따른 오디오/비디오 립싱크를 위한 실시간 PES 디코딩 방법은 다음과 같은 효과가 있다.
첫째, 소프트웨어를 사용하여 실시간으로 PES를 디코딩하는 경우 하드웨어 블록이 필요하지 않으므로 게이트수와 칩의 가격을 줄일 수 있다.
둘째, PES 버퍼만을 사용하므로 해서 메모리를 효율적으로 사용할 수 있다.
셋째, 오디오의 디코딩 시점에서 실시간으로 PES를 디코딩하여 거기서 나온 PTS를 바로 사용할 수 있게 되므로, PTS값을 효과적으로 디지털 TV의 오디오/비디오의 립싱크를 맞추는데 사용할 수 있는 장점이 있다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 이탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다.

Claims (3)

  1. PES 버퍼에 저장된 PES 데이터를 리드하면서, 상기 리드되는 PES 데이터에 결합된 PES 헤더를 검색하여 PES 패킷 길이를 검출하는 단계와,
    상기 검출된 PES 패킷 길이를 레지스터값으로 세팅하는 단계와,
    상기 세팅된 레지스터값을 통해 PES 버퍼에 저장되어 있는 PES 데이터 중 ES 데이터를 리드하는 단계와,
    상기 리드되는 ES 데이터의 패킷 길이가 상기 세팅된 레지스터값과 동일한지는 비교하는 비교단계와,
    상기 비교결과, 동일하지 않으면 리드된 ES 데이터를 오디오 디코딩을 수행하는 단계와,
    상기 비교결과, 동일하면 상기 PES 버퍼에 다른 PES 데이터가 존재하는지를 판단하는 단계와,
    상기 판단결과, 다른 PES 데이터가 존재하면 해당 PES 데이터를 디코딩하고 상기 단계를 반복하는 단계를 포함하여 이루어지는 것을 특징으로 하는 오디오/비디오 립싱크를 위한 실시간 PES 디코딩 방법.
  2. 제 1 항에 있어서,
    상기 PES 데이터는 PES 헤더와 ES 데이터가 결합되어 있는 것을 특징으로 하는 오디오/비디오 립싱크를 위한 실시간 PES 디코딩 방법.
  3. 제 2 항에 있어서,
    상기 PES 헤더는 PES 패킷 길이 정보를 포함하고 있는 것을 특징으로 하는 오디오/비디오 립싱크를 위한 실시간 PES 디코딩 방법.
KR1020020016827A 2002-03-27 2002-03-27 오디오 및 비디오 립싱크를 위한 실시간 pes 디코딩 방법 KR100848904B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020016827A KR100848904B1 (ko) 2002-03-27 2002-03-27 오디오 및 비디오 립싱크를 위한 실시간 pes 디코딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020016827A KR100848904B1 (ko) 2002-03-27 2002-03-27 오디오 및 비디오 립싱크를 위한 실시간 pes 디코딩 방법

Publications (2)

Publication Number Publication Date
KR20030077869A true KR20030077869A (ko) 2003-10-04
KR100848904B1 KR100848904B1 (ko) 2008-07-29

Family

ID=32376882

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020016827A KR100848904B1 (ko) 2002-03-27 2002-03-27 오디오 및 비디오 립싱크를 위한 실시간 pes 디코딩 방법

Country Status (1)

Country Link
KR (1) KR100848904B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100831186B1 (ko) * 2005-10-31 2008-05-22 엔이씨 일렉트로닉스 가부시키가이샤 스트림 데이터 프로세서

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100240331B1 (ko) * 1996-11-15 2000-01-15 전주범 디코더 시스템의 비디오/오디오 동기화 장치
KR100294663B1 (ko) * 1997-12-29 2001-09-17 구자홍 엠펙디코더및디코딩제어방법
KR100617221B1 (ko) * 1999-02-10 2006-08-31 엘지전자 주식회사 디지털 방송 수신기의 오디오/비디오 신호 동기화 방법
GB9930788D0 (en) * 1999-12-30 2000-02-16 Koninkl Philips Electronics Nv Method and apparatus for converting data streams

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100831186B1 (ko) * 2005-10-31 2008-05-22 엔이씨 일렉트로닉스 가부시키가이샤 스트림 데이터 프로세서

Also Published As

Publication number Publication date
KR100848904B1 (ko) 2008-07-29

Similar Documents

Publication Publication Date Title
EP1329108B1 (en) System and method of processing mpeg streams for file index insertion
US7760770B2 (en) Stream data processing apparatus and stream data processing method
US20090240357A1 (en) Method for finding out the frame of a multimedia sequence
US20030185238A1 (en) System for maintaining original delivery times in transport packets and method thereof
US20070097978A1 (en) Stream data processor
TWI345174B (en) Method and apparatus for storage or relocation of defined positions in a data stream
US7697537B2 (en) System and method for using generic comparators with firmware interface to assist video/audio decoders in achieving frame sync
JP4860140B2 (ja) 圧縮されたオーディオビットストリームでシンクワードを探す方法及び回路、並びに前記方法を記録した記録媒体
JP2008245050A (ja) Pcr補正回路
KR100848904B1 (ko) 오디오 및 비디오 립싱크를 위한 실시간 pes 디코딩 방법
US8264960B2 (en) Method and system for sharing AV/record resources in a programmable transport demultiplexer and PVR engine
US6556626B1 (en) MPEG decoder, MPEG system decoder and MPEG video decoder
US20040017821A1 (en) Transport packet parser
JP2009055462A (ja) データ取得方法、コンテンツ配信装置、並びにプログラム
WO2018076899A1 (zh) 一种数据切换方法、装置、终端及计算机可读存储介质
JP2007124639A (ja) データパケットを記憶するための方法及びシステム
US8213778B2 (en) Recording device, reproducing device, recording medium, recording method, and LSI
US7039849B2 (en) Data decoder and method of decoding data
US20090074376A1 (en) Apparatus and method for efficient av synchronization
US9578139B2 (en) Method and system for architecture of a fast programmable transport demultiplexer using a double buffered approach
US20060257108A1 (en) Multimedia reproduction apparatus
JP2005217486A (ja) ストリーム復号装置
KR100510675B1 (ko) Pvr의 프레임 인덱싱 방법
JP5775006B2 (ja) 情報処理装置、情報処理方法及び半導体装置
JP3945190B2 (ja) タイムスタンプ生成回路

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: 20130624

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140624

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150624

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee