KR100735228B1 - 멀티미디어 플레이어를 위한 시스템 동기화 장치 및 방법 - Google Patents
멀티미디어 플레이어를 위한 시스템 동기화 장치 및 방법 Download PDFInfo
- Publication number
- KR100735228B1 KR100735228B1 KR1020050040179A KR20050040179A KR100735228B1 KR 100735228 B1 KR100735228 B1 KR 100735228B1 KR 1020050040179 A KR1020050040179 A KR 1020050040179A KR 20050040179 A KR20050040179 A KR 20050040179A KR 100735228 B1 KR100735228 B1 KR 100735228B1
- Authority
- KR
- South Korea
- Prior art keywords
- pts
- frame
- system clock
- video
- stream data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- 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/434—Disassembling 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/4348—Demultiplexing of additional data and video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H2201/00—Aspects of broadcast communication
- H04H2201/10—Aspects of broadcast communication characterised by the type of broadcast system
- H04H2201/11—Aspects of broadcast communication characterised by the type of broadcast system digital multimedia broadcasting [DMB]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
멀티미디어 플레이어를 위한 시스템 동기화 장치 및 방법에 관한 것이다. 상기 방법은 수신되는 스트림 데이터를 분석하여 PTS(Presentation Time Stamp)를 찾는 과정과, 상기 PTS를 시스템 클럭으로 세팅하는 과정과, 상기 PTS를 시스템 클럭으로 세팅한 후, 수신되는 스트림 데이터를 분석하여 PTS를 찾는 과정과, 상기 찾은 PTS에서 현재 시스템 클럭을 뺀 값을 계산하는 과정과, 상기 계산한 값이 양수이면 해당하는 시간만큼 경과한 후에 디코딩을 실시하는 과정을 포함함을 특징으로 한다.
멀티미디어 플레이어, 인코더, 디코더, 시스템 클럭, 동기화, 디지털 멀티미디어 방송
Description
도 1은 본 발명의 실시예에 따른 멀티미디어 플레이어의 구성을 나타낸 도면
도 2는 본 발명의 실시예에 따른 디지털 멀티미디어 방송 수신 단말기의 구성을 나타낸 도면
도 3은 본 발명의 바람직한 실시예에 따른, 동기화 정보가 부가된, 프레임의 구조를 나타내는 도면
도 4는 본 발명의 실시예에 따른 멀티미디어 플레이어를 위한 시스템 동기화 방법을 나타낸 흐름도
도 5는 본 발명의 다른 실시예에 따른 멀티미디어 플레이어를 위한 시스템 동기화 방법을 나타낸 흐름도
본 발명은 멀티미디어 플레이어를 위한 시스템 동기화 장치 및 방법에 관한 것이다.
디지털 멀티미디어 방송(Digital Multimedia Broadcasting: 이하 DMB라 함.) 수신기와 같은 멀티미디어 플레이어의 인코더에서는 인코더 시스템 클럭을 이용하여 비디오 혹은 오디오 타임 스탬프(Presentation Time Stamp: 이하 PTS라 함)를 만들고, 각 PTS를 이용하여 비디오 혹은 오디오 데이터를 보내거나 저장한다.
디코더에서 비디오 혹은 오디오 PTS를 활용하기 위해서는, 디코더 시스템 클럭이 인코더 시스템 클럭과 동기가 맞아야 한다. 그렇지 않으면, 디코딩할 때 오류가 발생한다. MPEG-2 표준에 따르면, 인코더에서 시스템 클럭 정보를 프로그램 클럭 레퍼런스(Program Clock Reference: 이하 PCR이라 함)에 채우고, 디코더에서는 이를 활용하여 시스템 클럭 동기를 맞추도록 규정되어 있다. 그러므로 인코더와 디코더의 시스템 클럭을 일치시키기 위해서는 디코더가 PCR이라는 부가적인 정보를 받아야 한다. 그런데 PCR이 깨지거나 받지 못할 경우 비디오 혹은 오디오 프레임을 디코딩할 때 문제가 발생한다.
따라서 본 발명은 MPEG(Moving Picture Experts Group)-2 표준에서 제시한 PCR을 사용하지 않고, 인코더와 디코더의 시스템 클럭을 동기화하는 방법을 제공함에 있다.
이를 위해 본 제1발명은, 코덱을 구비하는 멀티미디어 플레이어를 위한 시스템 동기화 장치가, 수신된 비디오 스트림 데이터를 이용하여 프레임 데이터를 생성하고, 상기 생성한 프레임 데이터로부터 검출한 PTS를 포함하는 프레임 헤더를 생성하여 프레임을 만드는 역다중화부와, 상기 역다중화부로부터 상기 생성한 프레임 데이터와 프레임 헤더가 포함된 프레임을 전달받고, 시스템 클럭 세팅이 필요하면 상기 PTS를 시스템 클럭으로 세팅한 다음 상기 프레임을 상기 코덱에 전달하며, 시스템 클럭 세팅이 필요하지 않으면 현재 수신한 스트림 데이터로부터 검출한 PTS에서 현재 시스템 클럭을 뺀 값이 양수일 경우 그 값에 해당하는 시간이 경과한 후에 상기 프레임을 상기 코덱에 전달하는 코덱 인터페이스부를 포함함을 특징으로 한다.
이를 위해 본 제2발명은, 멀티미디어 플레이어를 위한 시스템 동기화 방법이, 수신되는 스트림 데이터를 분석하여 PTS를 찾는 과정과, 상기 PTS를 시스템 클럭으로 세팅하는 과정과, 상기 PTS를 시스템 클럭으로 세팅한 후, 수신되는 스트림 데이터를 분석하여 PTS를 찾는 과정과, 상기 찾은 PTS에서 현재 시스템 클럭을 뺀 값을 계산하는 과정과, 상기 계산한 값이 양수이면 해당하는 시간만큼 경과한 후에 디코딩을 실시하는 과정을 포함함을 특징으로 한다.
이를 위해 본 제3발명은, 역다중화부, 코덱 인터페이스부, 및 코덱을 구비한 멀티미디어 플레이어를 위한 시스템 동기화 방법이, 상기 역다중화부가 수신된 스트림 데이터를 이용하여 프레임 데이터를 생성하는 과정과, 상기 역다중화부가 상기 수신된 스트림 데이터로부터 검출한 PTS를 포함하는 프레임 헤더를 생성하는 과정과, 상기 역다중화부가 상기 생성한 프레임 데이터와 프레임 헤더를 포함하는 프레임을 상기 코덱 인터페이스부에 전달하는 과정과, 상기 코덱 인터페이스부가 상기 프레임을 수신하고, 시스템 클럭 세팅이 필요하면 상기 PTS를 시스템 클럭으로 세팅한 다음, 상기 프레임을 상기 코덱에 전달하는 과정과, 상기 코덱 인터페이스부가 상기 프레임을 수신하고, 시스템 클럭 세팅이 필요하지 않으면 현재 수신한 스트림 데이터로부터 검출한 PTS에서 현재 시스템 클럭을 뺀 값이 양수일 경우 그 값에 해당하는 시간이 경과한 후에 상기 프레임을 상기 코덱에 전달하는 과정을 포함함을 특징으로 한다.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 하기 설명에서는 구체적인 회로의 구성 소자 등과 같은 특정(特定) 사항들이 나타나고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들 없이도 본 발명이 실시될 수 있음은 이 기술 분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명의 실시예에 따른 멀티미디어 플레이어의 구성을 나타낸 도면이다.
본 발명의 실시예에 따른 멀티미디어 플레이어는 비디오 혹은 오디오 스트림 데이터를 비디오 혹은 오디오 프레임으로 만드는 역다중화부 110, 각각 비디오 혹은 오디오 프레임을 임시로 저장하는 비디오 링버퍼 120과 오디오 링 버퍼 130, 각각 비디오 혹은 오디오 프레임을 처리(예: 압축 복원을 위한 디코딩)하는 비디오 코덱 140과 오디오 코덱 170, 비디오 링버퍼 120의 비디오 프레임을 비디오 코덱 140으로 전달하고 비디오 코덱 140에서 출력되는 비디오 데이터를 표시부 160에 전달하여 표시되도록 제어하는 비디오 코덱 인터페이스부 150, 그리고 오디오 링버퍼 130의 오디오 프레임을 오디오 코덱 170으로 전달하고 오디오 코덱 170에서 출력되는 오디오 데이터를 스피커 190에 전달하여 소리 형태로 출력되도록 제어하는 오디오 코덱 인터페이스부 180으로 구성된다.
여기서 표시부 160은 액정표시장치(Liquid Crystal Display: LCD)로 구현할 수 있을 것이다.
이와 같은 구성을 갖는 멀티미디어 플레이어가 예를 들어, DMB 수신 단말기라고 가정하면, 비디오 혹은 오디오 스트림 데이터는 전송 스트림(Transport Stream: 이하 TS라 함) 패킷이 될 것이다. 또한 역다중화부는 TS 패킷을 이용하여 비디오 혹은 오디오 프레임을 만드는 TS 역다중화부가 될 것이다.
도 2는 본 발명의 실시예에 따른 DMB 수신 단말기의 구성을 나타낸 도면이다.
본 발명의 실시예에 따른 DMB 수신 단말기는 안테나를 통해 수신된 DMB신호 를 처리하여 TS 패킷을 출력하는 DMB 복조부 200, TS 패킷을 임시로 저장하는 TS 패킷 링버퍼 205, TS 패킷의 헤더 정보를 참조하여 상기 TS 패킷에 포함된 데이터의 종류를 파악하고 비디오 혹은 오디오 프레임을 만드는 TS 역다중화부 215, 비디오 혹은 오디오 프레임을 임시로 저장하는 비디오 링버퍼 225와 오디오 링 버퍼 235, 비디오 혹은 오디오 프레임을 처리(예: 압축 복원을 위한 디코딩)하는 비디오 코덱 245와 오디오 코덱 275, 비디오 링버퍼 225의 비디오 프레임을 비디오 코덱 245로 전달하고 비디오 코덱 245에서 출력되는 비디오 데이터를 표시부 265에 전달하여 표시되도록 제어하는 비디오 코덱 인터페이스부 255, 그리고 오디오 링버퍼 235의 오디오 프레임을 오디오 코덱 275로 전달하고 오디오 코덱 275에서 출력되는 오디오 데이터를 스피커 295에 전달하여 소리 형태로 출력되도록 제어하는 오디오 코덱 인터페이스부 285로 구성된다.
방송국이 인코더에 해당한다고 할 때, TS 역다중화부 215, 비디오 링버퍼 225, 오디오 링 버퍼 235, 비디오 코덱 245, 오디오 코덱 255, 비디오 코덱 인터페이스부 265, 오디오 코덱 인터페이스부 285를 디코더에 해당한다고 할 수 있을 것이다.
도 3은 본 발명의 바람직한 실시예에 따른, 동기화 정보가 부가된, 프레임의 구조를 나타내는 도면이다.
프레임은 크게 헤더 부분과 프로파일 부분으로 구분될 수 있다. 헤더 부분에는 프레임 ID 영역 310, PTS 영역 320, 그리고 프레임 길이 영역 330이 포함된다. 프로파일 부분은 프레임 데이터 영역 340을 말한다.
헤더 부분에 대하여 구체적으로 설명하면, 프레임 ID 영역 310은 4바이트(byte)로서, 프레임 데이터의 종류와 프레임의 오류 발생 여부를 나타낸다. 여기서 프레임 데이터의 종류란 프레임 데이터 구분자로서, 비디오 인트라 프레임, 비디오 인터 프레임, 혹은 오디오 프레임을 말한다. PTS 영역 320은 프레임 ID 영역 310 뒤에 위치하며, 4바이트로서, 비디오 혹은 오디오의 PTS가 저장되는 부분이다. 프레임 길이 영역 330은 PTS 영역 320 뒤에 위치하며, 4바이트로서, 프레임 데이터의 길이를 나타낸다. 프레임 데이터 영역 340은 프레임 길이 영역 330 뒤에 위치하며, 실제 프레임 데이터가 저장되는 부분이다.
도 1 혹은 도 2의 비디오 · 오디오 코덱 인터페이스부 150, 180, 255, 혹은 285는 위와 같은 구조로 새롭게 정의된 헤더 부분을 참조하여 비디오 · 오디오 코덱 140, 170, 245, 혹은 275를 제어한다.
도 4는 본 발명의 실시예에 따른 멀티미디어 플레이어를 위한 시스템 동기화 방법을 나타낸 흐름도이다.
도시된 방법은 디코더(DMB 수신 단말기와 같은 멀티미디어 플레이어)가 자신의 시스템 클럭을 인코더(방송국)의 시스템 클럭에 동기화하기 위해 실시하는 일련의 동작들로서, 도 1의 멀티미디어 플레이어가 비디오 스트림 데이터를 수신하는 경우를 가정하여 구체적으로 설명하기로 한다.
첫째, 초기에 시스템 클럭의 세팅이 필요한 경우의 동작들은 다음과 같다.
411단계에서 비디오 스트림 데이터가 역다중화부 110에 입력되면, 역다중화부 110은 프레임 데이터를 생성한다. 이는 비디오 스트림 데이터의 분석을 통해 이루어진다. 여기서 비디오 스트림 데이터란 DMB의 경우 188바이트의 TS 패킷들을 말하는데, TS 패킷은 비디오의 경우 TS 헤더, 비디오 PES 헤더, 비디오 데이터로 이루어져 있다. 그러므로 프레임 데이터를 생성한다는 것은 TS 패킷이 수신될 때마다 해당 패킷의 종류를 확인하여 비디오 패킷이면 해당 비디오 데이터를 취하는 작업을 반복하여 도 3의 340에 해당하는 프레임 데이터를 만드는 것이다.
프레임 데이터를 생성한 후, 413단계에서 역다중화부 110은 시스템 클럭의 세팅이 필요한지 여부를 체크한다. 초기 동작을 할 때에는 시스템 클럭의 세팅이 필요하다. 예를 들어, 특정 플래그 필드를 마련해놓고, 그 플래그의 상태가 참(true) 혹은 거짓(false)인지를 체크함으로써 시스템 클럭 세팅이 필요한지 여부를 확인할 수 있도록 구현하면 된다.
시스템 클럭의 세팅이 필요한 경우에는 415단계로 진행하여 역다중화부 110은 411단계에서 생성된 프레임 데이터가 비디오 인트라 프레임 데이터인지 여부를 체크한다. 만일 정상적인 비디오 인트라 프레임 데이터가 아니면, 역다중화부 110은 그 프레임 데이터를 버리고 새로운 프레임 데이터를 만들기 위해 411단계로 되돌아간다.
411단계에서 생성된 프레임 데이터가 비디오 인트라 프레임 데이터라고 판단된 경우에는 417단계에서 역다중화부 110은 프레임 헤더(도 3의 310, 320, 330에 해당함)를 만든다. 헤더에는 동기화 정보로서 사용되는 PTS를 포함하고 있는데, 이 PTS는 전술한 411단계에서 수신된 비디오 스트림 데이터를 분석할 때 검출한 것이 다.
419단계에서 전술한 411단계와 417단계에서 각각 생성한 프레임 데이터와 프레임 헤더로 도 3과 같은 포맷을 가지는 새로운 프레임을 만들어 비디오 코덱 인터페이스부 150에 전달한다.
비디오 코덱 인터페이스부 150에서는, 역다중화부 110으로부터 프레임을 전달받으면, 421단계에서 시스템 클럭의 세팅이 필요한 경우인지 아닌지를 체크한다. 만일 시스템 클럭의 세팅이 필요한 경우(여기서는 초기 동작을 의미함.)이면, 423단계에서 PTS를 시스템 클럭으로 세팅한 다음, 431단계에서 비디오 코덱 140에 프레임을 전달한다. 이렇게 전달된 프레임은 비디오 코덱 140에서 디코딩된다.
둘째, 시스템 클럭의 세팅이 필요 없는 경우, 즉 이미 시스템 클럭이 세팅되어 있는 경우의 동작들은 다음과 같다.
411단계에서 비디오 스트림 데이터가 역다중화부 110에 입력되면, 역다중화부 110은 전술한 바와 마찬가지로 프레임 데이터를 생성한다.
프레임 데이터를 생성한 후, 413단계에서 역다중화부 110은 시스템 클럭의 세팅이 필요한지 여부를 체크한다. 이때 시스템 클럭의 세팅이 필요 없다고 판단된 경우에는 바로 417단계로 진행하여 프레임 헤더(도 3의 310, 320, 330에 해당함)를 만든다. 그리고 419단계에서 전술한 411단계와 417단계에서 각각 생성한 프레임 데이터와 프레임 헤더로 도 3과 같은 포맷을 가지는 새로운 프레임을 만들어 비디오 코덱 인터페이스부 150에 전달한다.
비디오 코덱 인터페이스부 150에서는, 역다중화부 110으로부터 프레임을 전달받으면, 421단계에서 시스템 클럭의 세팅이 필요한 경우인지 아닌지를 체크한다. 만일 시스템 클럭의 세팅이 필요하지 않은 경우(여기서는 초기 동작 이후의 동작임을 의미함.)이면 425단계에서 "PTS - 시스템 클럭"값이 "0"보다 큰지 여부를 체크한다. 예를 들어, 시스템 타임을 TS(PTS를 이용하여 새로 설정된 클럭을 이용함)라 하고, 비디오 프레임 혹은 오디오 프레임의 PTS를 TV라 가정하면 비디오 혹은 오디오 프레임은 다음과 같이 처리된다.
(TV - TS)가 양수일 경우 비디오 프레임을 디코딩해야 할 시간이 아니므로 429단계에서 비디오 코덱 인터페이스부 150은 (TV - TS) 시간동안 대기하고 있다가 431단계에서 비디오 코덱 140에 프레임을 전달한다. (TV - TS)가 0인 경우는 동기가 맞는 경우이므로 대기할 필요가 없기 때문에 바로 비디오 코덱 140에 프레임을 전달한다.
429단계에서 TV는 새로 들어온(초기 동작 이후) PTS를 의미하고, TS는 423단계에서 세팅된 시스템 클럭을 의미한다. 그러나 만일 (TV - TS)가 음수이면 427단계에서 비디오 프레임을 드롭시킨다. 이 경우 무조건 프레임을 드롭하지 않고 그 절대값이 임계치(시스템 클럭이 어긋난 정도를 의미하는 값) 보다 크면 드롭시키도록 구성할 수도 있다(후술하는 도 5 참조).
429단계에서 TV는 새로 들어온(초기 동작 이후) PTS를 의미하고, TS는 423단계에서 세팅된 시스템 클럭을 의미한다. 그러나 만일 (TV - TS)가 음수이면 427단계에서 비디오 프레임을 드롭시킨다. 이 경우 무조건 프레임을 드롭하지 않고 그 절대값이 임계치(시스템 클럭이 어긋난 정도를 의미하는 값) 보다 크면 드롭시키도록 구성할 수도 있다(후술하는 도 5 참조).
정리하면, 비디오 코덱 인터페이스부 150에서는 프레임 헤더를 참조하여 비디오 코덱 140을 제어한다. 그런데 비디오 인트라 프레임의 PTS와 디코더의 시스템 클럭은 아직 동기화되지 않았다. 즉, 비디오 인트라 프레임의 PTS는 인코더의 시스템 클럭에 맞춰진 것이다. 그러므로 비디오 코덱 인터페이스부 150에서 이 비디오 인트라 프레임의 PTS를 이용하여 디코더의 클럭을 새로 세팅하는 것이다. 오퍼레이 션 시스템(Operation System: OS)에서 제공하는 API(Application Program Interface) 함수를 이용하면 클럭을 새로 설정하는 것이 가능하므로 하드웨어에 독립적으로 구현할 수 있다.
이와 같이 일단 PTS를 이용하여 인코더와 디코더의 시스템 클럭이 동기화되면, 이후의 비디오 혹은 오디오 프레임 동기화는 상기 동기화가 이루어진 시스템 클럭을 이용하여 개별적으로 이루어질 수 있다.
도시하지 않았으나, 오디오 프레임도 비디오 프레임과 마찬가지 방법으로 처리할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 인코더와 디코더의 시스템 클럭 동기화 방법을 나타낸 흐름도이다.
전술한 도 4와 비교하면, 시스템 클럭의 세팅이 필요한 경우가 초기 동작을 할 때만 있는 것이 아니라, 인코더와 디코더의 시스템 클럭이 심하게 어긋나 있을 때도 있으므로, 그 경우에 디코더의 시스템 클럭을 새로 세팅하기 위한 동작들이 더 추가된 방법을 나타내고 있다.
즉, 초기 동작을 할 때 423단계 수행 후, 433단계에서 플래그를 "1" 세팅해놓는다. 이는 시스템 클럭 세팅을 했다는 것을 의미한다. 그러므로 이후에 이루어지는 413 혹은 421단계에서의 시스템 클럭 세팅 필요 여부 체크 결과는 시스템 클럭 세팅이 필요 없다고 인식되어지게 된다.
그러나 초기 동작 후 시간이 경과함에 따라 인코더와 디코더의 시스템 클럭 이 심하게 어긋나게 될 때를 대비하여 상기 플래그의 상태를 바꿀 수 있도록 할 필요가 있다. 구체적으로, 도시된 바와 같이, 421단계 다음에 425단계 대신에 425-1단계, 425-2단계, 및 435단계를 추가한다.
421단계에서 시스템 클럭 세팅이 필요 없다고 인식된 경우에도 425-1단계에서 "PTS - 시스템 클럭" 값이 "0"보다 큰 값인지 여부를 체크한다. 만일 "PTS - 시스템 클럭"값이 "0"보다 큰 값이면 429단계로 진행하지만, 그렇지 않으면 425-2단계에서 "PTS - 시스템 클럭"값의 절대값이 "N"보다 큰 값인지 여부를 체크한다. 여기서 "N"은 시스템 클럭이 어긋난 정도를 의미하는, 미리 정한 임계치{예: 인트라 프레임 수신 간격에 대응하는 값(1초에 1번씩 인트라 프레임이 수신된다고 가정하면 임계치가 1이 될 수 있음)}이다. "PTS - 시스템 클럭"값의 절대값이 "N"보다 크면 435단계에서 플래그를 강제로 "0"으로 만들고 프레임을 드롭한다. 이렇게 되면, 이후에 역다중화부 110에 수신되는 비디오 스트림 데이터가 있을 때 413단계에서 시스템 클럭 세팅이 필요한 것으로 인식될 수 있다. "PTS - 시스템 클럭"값의 절대값이 "N"보다 크지 않으면 431단계로 진행하여 바로 비디오 코덱 140에 프레임을 전달한다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안 되며 후술하는 특허청구의 범위뿐 만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명은 인코더와 디코더의 시스템 클럭을 동기화할 때 부가적인 정보(MPEG-2일 경우 PCR)가 필요 없다. 또한 비디오 인트라 프레임의 PTS 를 이용하여 시스템 클럭을 바로 동기화하고 디코딩할 수 있으므로 다른 정보를 이용하여 동기화하는 것보다 비디오 프레임의 디코딩 시작 시간을 앞당길 수 있는 장점이 있다.
Claims (17)
- 코덱을 구비하는 멀티미디어 플레이어를 위한 시스템 동기화 장치에 있어서,수신된 비디오 스트림 데이터를 분석하여 PTS를 검출하고 프레임 데이터를 생성하며, 상기 생성한 프레임 데이터로부터 상기 PTS를 포함하는 프레임 헤더를 생성하여 프레임을 만드는 역다중화부와,상기 역다중화부로부터 상기 프레임을 전달받고, 시스템 클럭 세팅이 필요하면 상기 프레임에 포함된 PTS를 시스템 클럭으로 세팅한 다음 상기 프레임을 상기 코덱에 전달하며, 시스템 클럭 세팅이 필요하지 않으면 상기 PTS에서 현재 세팅된 시스템 클럭을 뺀 값이 양수일 경우 그 값에 해당하는 시간이 경과한 후에 상기 프레임을 상기 코덱에 전달하는 코덱 인터페이스부를 포함함을 특징으로 하는 장치.
- 제1항에 있어서,상기 수신되는 스트림 데이터가 비디오 스트림 데이터이면, 상기 PTS가 비디오 인트라 프레임의 헤더에 포함된 PTS임을 특징으로 하는 장치.
- 제2항에 있어서,상기 PTS를 시스템 클럭으로 세팅한 후에는, 상기 PTS가 비디오 인트라 프레임 혹은 비디오 인터 프레임의 헤더에 포함된 PTS임을 특징으로 하는 장치.
- 제1항에 있어서,상기 코덱 인터페이스부는 상기 PTS에서 현재 세팅된 시스템 클럭을 뺀 값이 음수이면 상기 PTS를 드롭시킴을 특징으로 하는 장치.
- 제1항에 있어서,상기 프레임은 프레임 데이터 구분자 필드, PTS 필드, 프레임 데이터의 길이를 나타내는 프레임 길이 필드, 및 프레임 데이터 필드를 포함함을 특징으로 하는 장치.
- 제1항에 있어서,상기 멀티미디어 플레이어가 디지털 멀티미디어 방송 수신 단말기임을 특징으로 하는 장치.
- 멀티미디어 플레이어를 위한 시스템 동기화 방법에 있어서,수신되는 스트림 데이터를 분석하여 PTS(Presentation Time Stamp)를 찾는 과정과,상기 PTS를 시스템 클럭으로 세팅하는 과정과,상기 PTS를 시스템 클럭으로 세팅한 후, 수신되는 스트림 데이터를 분석하여 PTS를 찾는 과정과,상기 찾은 PTS에서 현재 시스템 클럭을 뺀 값을 계산하는 과정과,상기 계산한 값이 양수이면 상기 계산한 값에 해당하는 시간만큼 경과한 후에 디코딩을 실시하는 과정을 포함함을 특징으로 하는 방법.
- 제7항에 있어서,상기 수신되는 스트림 데이터가 비디오 스트림 데이터이면, 상기 수신되는 스트림 데이터를 분석하여 PTS를 찾는 과정은 비디오 인트라 프레임의 PTS를 찾는 것임을 특징으로 하는 방법.
- 제8항에 있어서,상기 PTS를 시스템 클럭으로 세팅한 후, 수신되는 스트림 데이터를 분석하여 PTS를 찾는 과정은 비디오 인트라 프레임 혹은 비디오 인터 프레임의 PTS를 찾는 것임을 특징으로 하는 방법.
- 제7항에 있어서,상기 계산한 값이 음수이면 상기 PTS를 드롭하는 과정을 더 포함함을 특징으로 하는 방법.
- 역다중화부, 코덱 인터페이스부, 및 코덱을 구비한 멀티미디어 플레이어를 위한 시스템 동기화 방법에 있어서,상기 역다중화부가 수신된 스트림 데이터를 이용하여 프레임 데이터를 생성하는 과정과,상기 역다중화부가 상기 수신된 스트림 데이터로부터 검출한 PTS를 포함하는 프레임 헤더를 생성하는 과정과,상기 역다중화부가 상기 생성한 프레임 데이터와 프레임 헤더를 포함하는 프레임을 상기 코덱 인터페이스부에 전달하는 과정과,상기 코덱 인터페이스부가 상기 프레임을 수신하고, 시스템 클럭 세팅이 필요하면 상기 PTS를 시스템 클럭으로 세팅한 다음, 상기 프레임을 상기 코덱에 전달하는 과정과,상기 코덱 인터페이스부가 상기 프레임을 수신하고, 시스템 클럭 세팅이 필요하지 않으면 현재 수신한 스트림 데이터로부터 검출한 PTS에서 현재 세팅된 시스템 클럭을 뺀 값이 양수일 경우 그 값에 해당하는 시간이 경과한 후에 상기 프레임을 상기 코덱에 전달하는 과정을 포함함을 특징으로 하는 방법.
- 제11항에 있어서,상기 수신되는 스트림 데이터가 비디오 스트림 데이터이면, 상기 수신되는 스트림 데이터를 분석하여 PTS를 찾는 과정은 비디오 인트라 프레임의 PTS를 찾는 것임을 특징으로 하는 방법.
- 제12항에 있어서,상기 PTS를 시스템 클럭으로 세팅한 후, 수신되는 스트림 데이터를 분석하여 PTS를 찾는 과정은 비디오 인트라 프레임 혹은 비디오 인터 프레임의 PTS를 찾는 것임을 특징으로 하는 방법.
- 제13항에 있어서,상기 PTS에서 현재 세팅된 시스템 클럭을 뺀 값이 음수이면 상기 PTS를 드롭하는 과정을 더 포함함을 특징으로 하는 방법.
- 제13항에 있어서,상기 PTS를 시스템 클럭으로 세팅한 다음, 시스템 클럭 세팅 여부를 나타내는 플래그를 세트하는 과정과,상기 PTS에서 현재 세팅된 시스템 클럭을 뺀 값이 음수이고 그 절대값이 시스템 클럭이 어긋난 정도를 의미하는 소정 임계치보다 크면 상기 플래그를 강제로 리셋하고 해당 프레임을 드롭하는 과정을 더 포함함을 특징으로 하는 방법.
- 제4항에 있어서,상기 코덱 인터페이스부가 상기 PTS에서 현재 세팅된 시스템 클럭을 뺀 값이 음수이고 그 절대값이 시스템 클럭이 어긋난 정도를 의미하는 소정 임계치보다 크면 해당 프레임을 드롭시키도록 구성함을 특징으로 하는 장치.
- 제7항에 있어서,상기 PTS에서 현재 세팅된 시스템 클럭을 뺀 값이 음수이면 그 절대값이 시스템 클럭이 어긋난 정도를 의미하는 소정 임계치보다 큰지 여부를 체크하는 과정과, 상기 절대값이 상기 임계치보다 더 크면 해당 프레임을 드롭시키는 과정을 더 포함함을 특징으로 하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050040179A KR100735228B1 (ko) | 2005-05-13 | 2005-05-13 | 멀티미디어 플레이어를 위한 시스템 동기화 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050040179A KR100735228B1 (ko) | 2005-05-13 | 2005-05-13 | 멀티미디어 플레이어를 위한 시스템 동기화 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060117700A KR20060117700A (ko) | 2006-11-17 |
KR100735228B1 true KR100735228B1 (ko) | 2007-07-03 |
Family
ID=37705139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050040179A KR100735228B1 (ko) | 2005-05-13 | 2005-05-13 | 멀티미디어 플레이어를 위한 시스템 동기화 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100735228B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050000596A (ko) * | 2003-06-24 | 2005-01-06 | 삼성전자주식회사 | 비디오 트랜스포트 스트림 동기화 제어 장치 및 방법 |
-
2005
- 2005-05-13 KR KR1020050040179A patent/KR100735228B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050000596A (ko) * | 2003-06-24 | 2005-01-06 | 삼성전자주식회사 | 비디오 트랜스포트 스트림 동기화 제어 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20060117700A (ko) | 2006-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080259962A1 (en) | Contents reproducing apparatus | |
KR101168612B1 (ko) | 디지털 방송수신기의 동기장치 및 방법 | |
US10491944B2 (en) | Decoding device, reception device, transmission device, transmission/reception system, decoding method, and storage medium having decoding program stored therein | |
US20060034337A1 (en) | Data synchronization method and apparatus for digital multimedia data receiver | |
CN101710997A (zh) | 基于mpeg-2系统实现视、音频同步的方法及系统 | |
JP2008283472A (ja) | ストリーム再生装置 | |
KR20120090831A (ko) | 대역폭 최적화를 갖는 빠른 채널 변경 동반 스트림 솔루션 | |
US11128911B2 (en) | Decoding device, reception device, transmission device, transmission/reception system, decoding method, and storage medium having decoding program stored therein | |
CN106470291A (zh) | 从音频/视频解码器中的时间同步中的中断中恢复 | |
JP2006270463A (ja) | パケットストリーム受信装置 | |
KR20060105890A (ko) | 디지털 방송 수신 장치 및 그 장치에서의 동기화 처리 방법 | |
WO2007034634A1 (ja) | デジタル放送受信機 | |
US20120039396A1 (en) | Data transmitting device and data transmitting and receiving system | |
KR100735228B1 (ko) | 멀티미디어 플레이어를 위한 시스템 동기화 장치 및 방법 | |
US20130003867A1 (en) | Video display device | |
JPH1093841A (ja) | 映像同期信号補正装置 | |
TWI762980B (zh) | 數位串流錯誤檢查方法與電路系統 | |
US8171166B1 (en) | Method and a computer program product for modifying or generating a multiple program transport stream | |
KR20230086585A (ko) | 디지털 방송 수신기의 채널 선택시 최초 화면 출력 지연 최소화 방법 및 그 장치 | |
KR101114749B1 (ko) | 수신된 트랜스포트 스트림에 포함된 영상 데이터를 화면끊김 현상이 없도록 처리하는 방법과 그에 따른 디지털멀티미디어 방송 수신 장치 | |
JP2006332821A (ja) | デジタル放送受信装置、およびデジタル放送受信方法 | |
JP3744514B2 (ja) | データ伝送装置 | |
KR100753981B1 (ko) | 디지털 멀티미디어 방송 수신기의 디코딩 장치 및 방법 | |
US20170171598A1 (en) | Broadcast receiving apparatus and controlling method thereof | |
JP2010124199A (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: 20130530 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140529 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150528 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160530 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |