KR20040038184A - A/v 동기화를 위한 오디오 패킷 디코딩 방법 - Google Patents

A/v 동기화를 위한 오디오 패킷 디코딩 방법 Download PDF

Info

Publication number
KR20040038184A
KR20040038184A KR1020020067067A KR20020067067A KR20040038184A KR 20040038184 A KR20040038184 A KR 20040038184A KR 1020020067067 A KR1020020067067 A KR 1020020067067A KR 20020067067 A KR20020067067 A KR 20020067067A KR 20040038184 A KR20040038184 A KR 20040038184A
Authority
KR
South Korea
Prior art keywords
pts
frame
packet
information
pts information
Prior art date
Application number
KR1020020067067A
Other languages
English (en)
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 KR1020020067067A priority Critical patent/KR20040038184A/ko
Publication of KR20040038184A publication Critical patent/KR20040038184A/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/4341Demultiplexing of audio and video streams
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

본 발명은 디지털 티브이에 관한 것으로, 특히 A/V 디코더에서 트랜스포트 패킷 방식에 대한 오디오의 효율적인 디코딩 방법에 관한 것이다. 본 발명에 따른 A/V 동기화를 위한 오디오 패킷 디코딩 방법은 데이터 방송을 위한 디지털 티브이의 패킷 데이터를 디코딩하는 과정에서 PTS 메이킹(PTS_Making) 모듈을 두어 PTS 정보를 삽입하는 단계와, 상기 PTS 정보를 삽입하여 새로운 포맷의 NEW_ES(Elementary Stream)을 만들어 PTS 정보를 디코딩하는 단계로 이루어진다.

Description

A/V 동기화를 위한 오디오 패킷 디코딩 방법{Method for decoding packet audio with synchronous A/V}
본 발명은 디지털 티브이에 관한 것으로, 특히 A/V 디코더에서 트랜스포트 패킷 방식에 대한 오디오의 효율적인 디코딩 방법에 관한 것이다.
A/V 동기 방식은 타임 스탬프(Time Stamp)에 의해서 이루어진다. 특히 오디오의 경우는 비디오와 달리 복호 시간인 DTS(Decoding Time Stamp)가 없기 때문에 패킷 헤더에 부가되어 있는 재생출력 시간인 PTS(Presentation Time Stamp)에 의해 동기화가 이루어진다.
이들 타임 스탬프는 패킷에 액세스 단위인 프레임의 헤더가 포함되어 있는 경우에는 패킷 헤더에 부가되나, 헤더가 포함되어 있지 않을 경우에는 패킷 헤더에 부가되지 않는다. 또 패킷에 프레임의 헤더가 두 개 이상 있어도, 첫 프레임에 대응하는 타임 스탬프만이 패킷 헤더에 부가된다.
이와 같은 패킷 디코딩 방식은 타임 스탬프에 대한 고려 없이 단순히 패킷에 부가되어 있는 패킷의 길이에 따라 패킷 헤더를 벗겨내는 수준이었고, 직접적인 타임 스탬프를 관리하지 못하고 별도로 관리하는 방식들을 취하고 있는 실정이다.
도 1은 일반적인 A/V 동기화를 위한 오디오 패킷 디코딩 방법을 나타낸 순서도로 디지털 티브이나 아날로그 티브이에서 전송되는 패킷 데이터를 패킷 헤더에 부가되어 있는 재생 출력시간인 PTS(Presentation Time Stamp)에 의해 디코딩하여(S1) ES(Elementary Stream)을 얻는다.(S2)
이와 같은 PTS를 간접적으로 관리하면 하나의 패킷에 2개 이상의 오디오 프레임 헤더가 존재하는 경우 PTS를 1:1로 관리하는 것이 불가능하므로, 각 프레임 은 패킷내에 맨 앞에 존재하는 프레임에 대한 PTS 정보만을 가지고 있기 때문에 이를 기준으로 하여 시간 정보를 예측하여 사용하게 된다. 이러한 경우 기준 PTS를 관리하는 것이 어려울 뿐만 아니라 기준 PTS를 잘못 선정한 경우에는 엉뚱한 A/V 동기화를 취하게 되는 경우가 발생할 수 있는 문제가 있다.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 각 프레임에 대한 PTS를 직접 관리하여 보다 정확한 A/V 동기 방식을 얻는 A/V 동기화를 위한 오디오 패킷 디코딩 방법을 제공하기 위한 것이다.
도 1은 일반적인 A/V 동기화를 위한 오디오 패킷 디코딩 방법을 나타낸 순서도
도 2는 본 발명에 따른 A/V 동기화를 위한 오디오 패킷 디코딩 방법을 나타낸 순서도
도 3은 도 2에 따른 NEW_ES의 포맷 구성을 나타낸 도면
도 4a 내지 도 4c는 도 2에 따른 PTS를 3가지의 패턴으로 나타내는 도면
상기와 같은 목적을 달성하기 위한 본 발명에 따른 A/V 동기화를 위한 오디오 패킷 디코딩 방법은 데이터 방송을 위한 디지털 티브이의 패킷 데이터를 디코딩하는 과정에서 PTS 메이킹(PTS_Making) 모듈을 두어 PTS 정보를 삽입하는 단계와, 상기 PTS 정보를 삽입하여 새로운 포맷의 NEW_ES(Elementary Stream)을 만들어 PTS 정보를 디코딩하는 단계로 이루어진다.
바람직하게 상기 PTS_Making 모듈은 새로운 포맷의 NEW_ES 포맷에서 사용되는 PTS를 오디오 각 프레임의 싱크워드(sync word) 앞에 삽입된다.
그리고, 상기 PTS 정보 패턴은 프레임의 첫 부분이 패킷마다 포함되어 있거나, 프레임의 첫 부분이 패킷 내에 존재하지 않거나, 프레임의 첫 부분이 패킷에 2개 이상 존재하며, 상기 PTS 정보 패턴의 프레임의 첫 부분이 패킷마다 포함되어 있는 경우는 패킷 헤더 다음에 바로 ES 싱크워드가 오고, 상기 PTS 정보 프레임의 첫 부분이 패킷 내에 존재하지 않을 경우, 패킷 헤더 다음에 바로 ES 싱크워드가 오지 않으며, 상기 PTS 정보 프레임의 첫 부분이 패킷에 2개 이상 존재할 경우, 패킷 정보에 포함된 PTS 정보는 패킷 내부의 처음에 위치하고 있는 프레임의 PTS 정보만을 가지고 있게 되는 것이므로 그 다음에 위치하고 있는 프레임에 대한 PTS 정보는 이전 프레임의 PTS 정보에다가 1 프레임에 해당하는 단위 PTS 값(△PTS)을 증가시킨다.
본 발명의 다른 목적, 특성 및 잇점들은 첨부한 도면을 참조한 실시예들의상세한 설명을 통해 명백해질 것이다.
본 발명에 따른 A/V 동기화를 위한 오디오 패킷 디코딩 방법의 바람직한 실시예에 대하여 첨부한 도면을 참조하면 다음과 같다.
본 발명에서는 PTS를 직접적으로 관리하기 위해 패킷 디코딩 과정에서 PTS_Making 모듈을 두었고, 이를 통해 ES의 앞부분에 PTS 정보를 삽입하였다.
또한, 삽입된 PTS 정보를 디코딩하기 위한 NEW-ES 디코딩 방식을 제안하는 것이다.
도 2는 본 발명에 따른 A/V 동기화를 위한 오디오 패킷 디코딩 방법을 설명하기 위한 순서도로, 앞에서 설명한 바와 같이 디지털 티브이의 패킷 데이터가 전송되면 수신측에서 패킷 데이터를 디코딩하고(S10), 재생 출력시간인 PTS 모듈을 만들어 낸다(S11).
그런 다음, 패킷 데이터가 디코딩 되어 ES가 만들어지기 전에 PTS 모듈에 의해 만들어진 PTS 정보를 디코딩 한 새로운 ES(NEW_ES)를 만들어 낸다(S12).
도 3은 도 2에 따른 NEW_ES의 포맷 구성으로 PTS_Making 모듈에 의해 만들어지는 것으로, PTS_Making 모듈은 NEW_ES 포맷에서 사용되는 PTS를 오디오 각 프레임의 싱크워드(Syncword) 앞에 삽입하는 역할을 한다.
이렇게 삽입된 PTS는 A/V 동기화를 시키는데 있어서 ES 디코딩 전에 먼저 디코딩 되어 현재 프레임에서 직접 사용하게 된다.
PTS_Making 모듈은 패킷에 포함된 PTS 정보를 가지고 이루어진다.
도 4a 내지 도 4c는 도 2에 따른 PTS를 3가지의 패턴으로 나타내는 도면이다.
도 4a 내지 도 4c를 참조하면, 도 4a는 프레임의 첫 부분이 패킷마다 포함되어 있는 경우이고, 도 4b는 프레임의 첫 부분이 패킷 내에 존재하지 않는 경우이며, 도 4c는 프레임의 첫 부분이 패킷에 2개 이상 존재하는 경우이다.
각각의 패턴에 맞는 PTS_Making 모듈을 구현하기 위해서는 먼저 ES 싱크워드를 찾는 것이 중요하다. 각각의 디지털 오디오 알고리즘은 서로 다른 싱크워드를 가지고 있지만 본 발명에서는 간단히 돌비 디지털 오디오(Dolby digital Audio, AC-3)의 ES 싱크워드(0x0b77)를 이용하여 설명하기로 한다.
도 4a의 경우 패킷 헤더 다음에 바로 ES 싱크워드가 오기 때문에 특별히 싱크워드를 찾을 필요는 없고, 또한 각 패킷 헤더의 PTS 정보가 각 프레임의 PTS로 구성되므로 어려움은 없다.
문제되는 것은 한 패킷이 한 프레임으로 구성되지 않는 경우이다.
다음이 이러한 경우를 나타낸다.
도 4b의 경우는 ES 싱크워드가 존재하지 않는 패킷이 있으나 이 경우에는 패킷 헤더에 PTS 정보가 존재하지 않기 때문에 큰 문제는 없다. 그러나 패킷 헤더 다음에 바로 ES 싱크워드가 오지 않는 경우가 많기 때문에 ES 싱크워드를 정확하게 찾는 것이 중요하다.
실제로 AC-3 경우에 있어서는 정확한 싱크워드를 찾기 위해서 싱크워드 다음에 오는 fscod, frmsizecod, bsid, bsmod, acmod 등의 ES 헤더정보를 분석하여 싱크워드를 결정짓는다. 그런 후에는 frmsizecod를 통해 계산된 프레임의 크기만큼내부 카운터를 감소시키면서 정확한 ES의 데이터 영역을 얻게 된다.
이와 같은 방법으로 AC-3의 경우처럼 ES 데이터 영역에 존재하는 가짜의 싱크워드에 의한 오류를 피할 수 있다. 이런 방법으로 각 프레임을 정확히 판별할 수 있기 때문에 패킷에서 얻는 PTS 정보를 각 프레임에 맞출 수 있다.
도 4c는 한 패킷 안에 여러 개의 프레임이 포함된 경우로, 도 4b와 같은 방식으로 각 프레임을 결정한다. 그러나 이 경우 패킷 정보에 포함된 PTS 정보는 패킷 내부의 처음에 위치하고 있는 프레임의 PTS 정보만을 가지고 있게 되는 것이므로 그 다음에 위치하고 있는 프레임에 대한 PTS 정보는 이전 프레임의 PTS 정보에다가 1 프레임에 해당하는 PTS 값(△PTS)을 증가시킴으로써 구하게 된다.
상기 △PTS는 다음과 같이 구할 수 있다.
△PTS = (1 프레임 디코딩 시간)*기준클럭
ATSC의 경우는 1 프레임 디코딩 시간이 32msec이고, 기준 클럭이 90khz 이기 때문에 1 프레임에 해당하는 △PTS는 0xB40 에 해당한다.
앞에서 설명한 PTS의 세 가지 패턴은 PTS_Making 과정을 통해서 구한 각 프레임에 대한 PTS 정보는 도 3의 ES 싱크워드 앞에 삽입되는 것으로 삽입된 PTS를 구별하기 위해서 패킷 헤더의 싱크워드에 해당되는 0x000001bd(AC3의 경우)를 PTS정보 앞에 삽입한다.
이상의 설명에서와 같이 본 발명은 A/V 동기화를 정확하게 수행하는데 있어서 효율적인 PTS 값의 관리는 오디오에 있어서 중요한데 현재 디코딩 중인 프레임에 대한 직접적인 PTS의 관리는 디코딩과 동시에 이루어지는 것이 가장 정확하며 본 발명에서처럼 패킷 디코딩을 수행할 때 PTS_Making 모듈을 삽입함으로써 각 프레임의 앞에 PTS 정보를 삽입하여 PTS와 ES가 분리된 간접적 방식이 아닌 디코딩을 할 때마다 정확한 PTS 값을 얻을 수 있는 직접적인 방식을 통해서 A/V 동기화의 정확성을 높일 수 있을 뿐만 아니라 PTS 관리를 하기 위해 사용되는 복잡한 과정을 피할 수 있는 효과가 있다.
그리고, PTS 값을 직접 관리하기 때문에 이전 프레임과 현재 프레임의 PTS 값 차이를 통해서 에러상황에 대처하기가 휠씬 간단하다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정하는 것이 아니라 특허 청구 범위에 의해서 정해져야 한다.

Claims (6)

  1. 데이터 방송을 위한 디지털 티브이의 패킷 데이터를 디코딩하는 과정에서 PTS 메이킹(PTS_Making) 모듈을 두어 PTS 정보를 삽입하는 단계와;
    상기 PTS 정보를 삽입하여 새로운 포맷의 NEW_ES(Slementary Stream)을 만들어 PTS 정보를 디코딩하는 단계로 이루어지는 것을 특징으로 하는 A/V 동기화를 위한 오디오 패킷 디코딩 방법.
  2. 제 1 항에 있어서,
    상기 PTS_Making 모듈은 새로운 포맷의 NEW_ES 포맷에서 사용되는 PTS를 오디오 각 프레임의 싱크워드 앞에 삽입하는 것을 특징으로 하는 A/V 동기화를 위한 오디오 패킷 디코딩 방법.
  3. 제 1항에 있어서,
    상기 PTS 정보는 프레임의 첫 부분이 패킷마다 포함되어 있거나, 프레임의 첫 부분이 패킷 내에 존재하지 않거나, 프레임의 첫 부분이 패킷에 2개 이상 존재하는 세 가지 패턴으로 구분되는 것을 특징으로 하는 A/V 동기화를 위한 오디오 패킷 디코딩 방법
  4. 제 3항에 있어서,
    상기 PTS 정보 패턴의 프레임의 첫 부분이 패킷마다 포함되어 있는 경우는 패킷 헤더 다음에 바로 ES 싱크워드가 오는 것을 특징으로 하는 A/V 동기화를 위한 오디오 패킷 디코딩 방법.
  5. 제 3항에 있어서,
    상기 PTS 정보 프레임의 첫 부분이 패킷 내에 존재하지 않을 경우, 패킷 헤더 다음에 바로 ES 싱크워드가 오지 않는 것을 특징으로 하는 A/V 동기화를 위한 오디오 패킷 디코딩 방법.
  6. 제 3항에 있어서,
    상기 PTS 정보 프레임의 첫 부분이 패킷에 2개 이상 존재할 경우, 패킷 정보에 포함된 PTS 정보는 패킷 내부의 처음에 위치하고 있는 프레임의 PTS 정보만을 가지고 있게 되는 것이므로 그 다음에 위치하고 있는 프레임에 대한 PTS 정보는 이전 프레임의 PTS 정보에다가 1 프레임에 해당하는 단위 PTS 값을 증가시키는 것을 특징으로 하는 A/V 동기화를 위한 오디오 패킷 디코딩 방법.
KR1020020067067A 2002-10-31 2002-10-31 A/v 동기화를 위한 오디오 패킷 디코딩 방법 KR20040038184A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020067067A KR20040038184A (ko) 2002-10-31 2002-10-31 A/v 동기화를 위한 오디오 패킷 디코딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020067067A KR20040038184A (ko) 2002-10-31 2002-10-31 A/v 동기화를 위한 오디오 패킷 디코딩 방법

Publications (1)

Publication Number Publication Date
KR20040038184A true KR20040038184A (ko) 2004-05-08

Family

ID=37336424

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020067067A KR20040038184A (ko) 2002-10-31 2002-10-31 A/v 동기화를 위한 오디오 패킷 디코딩 방법

Country Status (1)

Country Link
KR (1) KR20040038184A (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0730886A (ja) * 1993-07-09 1995-01-31 Sony Corp 画像および音声信号処理方法とその装置
KR980007722A (ko) * 1996-06-11 1998-03-30 김광호 픽춰단위 동기화를 위한 비디오디코더의 인터페이스장치
KR20010071912A (ko) * 1999-05-14 2001-07-31 요트.게.아. 롤페즈 정보 신호들의 패킷화된 스트림을 타임 스탬프들을 갖는정보 신호의 스트림으로 또는 그 역으로 변환하는 방법
KR20020004689A (ko) * 2000-07-07 2002-01-16 박종섭 엠펙 다중화에서의 타임 스탬프 발생장치 및 그 제어방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0730886A (ja) * 1993-07-09 1995-01-31 Sony Corp 画像および音声信号処理方法とその装置
KR980007722A (ko) * 1996-06-11 1998-03-30 김광호 픽춰단위 동기화를 위한 비디오디코더의 인터페이스장치
KR20010071912A (ko) * 1999-05-14 2001-07-31 요트.게.아. 롤페즈 정보 신호들의 패킷화된 스트림을 타임 스탬프들을 갖는정보 신호의 스트림으로 또는 그 역으로 변환하는 방법
KR20020004689A (ko) * 2000-07-07 2002-01-16 박종섭 엠펙 다중화에서의 타임 스탬프 발생장치 및 그 제어방법

Similar Documents

Publication Publication Date Title
US8285106B2 (en) Information processing apparatus
EP0626770A2 (en) Data multiplexers and demultiplexers
US20050036763A1 (en) Method of processing multiplexed program data using entry points and time units
US20090201998A1 (en) Time-stamp addition apparatus, time-stamp addition method and time-stamp addition program
KR19990035797A (ko) 텔레비젼 시스템의 자동 시간 설정
JP2008283577A (ja) ストリーム解析装置とストリーム解析表示方法
JP2011187156A (ja) Avデータに同期されたテキストサブタイトルデータを記録した情報記録媒体、再生方法及び装置
US20060029139A1 (en) Data transmission synchronization scheme
KR960020477A (ko) 데이터 재생 장치
US20050060420A1 (en) System for decoding multimedia data and method thereof
CN105898556A (zh) 一种外挂字幕的自动同步方法及装置
JPH11275519A (ja) データ記録方法およびデータ記録装置
US20030018662A1 (en) Synchronizing multimedia data
US7480296B2 (en) Method and device for generating a multiplexed MPEG signal
JPH11275524A (ja) データ記録方法、データ再生方法、データ記録装置およびデータ再生装置
JP2008245050A (ja) Pcr補正回路
KR20040038184A (ko) A/v 동기화를 위한 오디오 패킷 디코딩 방법
JP4534168B2 (ja) 情報処理装置および方法、記録媒体、並びにプログラム
US6556626B1 (en) MPEG decoder, MPEG system decoder and MPEG video decoder
US20090116816A1 (en) Chaptering method and apparatus for movie data
US20060257108A1 (en) Multimedia reproduction apparatus
JPH11177943A (ja) 映像データ多重化装置
JP2003348543A (ja) データ復号器およびデータ復号化方法
JP2004342289A (ja) データストリームシーケンスのエントリポイントに絶対時間値を割り当てる方法およびコンピュータプログラム製品ならびに電子機器
TWI762980B (zh) 數位串流錯誤檢查方法與電路系統

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application