KR20130121058A - 3dtv를 위한 영상 재생 장치 및 상기 장치가 수행하는 방법 - Google Patents
3dtv를 위한 영상 재생 장치 및 상기 장치가 수행하는 방법 Download PDFInfo
- Publication number
- KR20130121058A KR20130121058A KR1020130046782A KR20130046782A KR20130121058A KR 20130121058 A KR20130121058 A KR 20130121058A KR 1020130046782 A KR1020130046782 A KR 1020130046782A KR 20130046782 A KR20130046782 A KR 20130046782A KR 20130121058 A KR20130121058 A KR 20130121058A
- Authority
- KR
- South Korea
- Prior art keywords
- video stream
- buffer
- timestamp
- stream
- image
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/167—Synchronising or controlling image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/189—Recording image signals; Reproducing recorded image signals
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
3DTV를 위한 영상 재생 장치 및 상기 장치가 수행하는 방법이 개시된다. 영상 재생 장치는 3D 영상을 위한 좌영상 스트림과 우영상 스트림을 저장하는 버퍼의 출력 시점을 결정할 수 있다. 그리고, 영상 재생 장치는 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 버퍼 사이즈 또는 버퍼 지연시간을 결정할 수 있다. 또한, 영상 재생 장치는 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 기준 클럭을 보정하거나 또는 타임스탬프를 보정할 수 있다.
Description
본 발명은 3DTV를 위한 영상 재생 장치 및 영상 재생 장치가 수행하는 방법에 관한 것으로, 보다 구체적으로는 서로 다른 전송 경로를 통해 전달되는 기준 영상의 스트림과 부가 영상의 스트림의 동기화를 위해 버퍼를 효율적으로 처리하는 것에 관한 것이다.
종래의 융합형 3DTV에서의 3D 영상을 표현하기 위해서는 기준영상과 부가 영상이 필요하다. 이 때, 일반적으로 기준 영상은 고화질의 2D HD 고정방송을 위한 것으로 MPEG-2 방식으로 부호화되어 고정방송망을 통해 전송되었다. 그리고, 부가영상은 2D 모바일 방송을 위한 것으로 AVC(Advanced Video Coding) 방식으로 부호화되어 IP망을 통해 전송되었다. 즉, 기준 영상과 부가 영상은 서로 다른 종류의 전송 프로토콜을 기반으로 전송되었다. 그러면, 3DTV는 수신된 기준 영상과 부가 영상을 이용하여 3D 영상을 생성한 후 이를 재생하였다. 여기서, 기준 영상은 3D 영상을 생성하기 위한 좌영상으로 설정되고, 부가 영상은 3D 영상을 생성하기 위한 우영상으로 설정되었다.
3D 영상을 위한 기준 영상과 부가 영상은 서로 다른 전송 프로토콜을 통해 전송되기 때문에 서로 다른 타이밍 모델을 가진다. 구체적으로, 좌영상에 대응하는 기준 영상은 MPEG-2 시스템에 기초한 PTS(Presentation) 기반의 타이밍 모델이 사용되었고, 우영상에 대응하는 RTP(Realtime Transport Protocol) 기반의 타이밍 모델이 사용되었다. 즉, 기준 영상과 부가 영상의 타이밍 모델이 서로 다르기 때문에, 3DTV를 표현하기 위한 영상 재생 장치는 임의의 특정 시점에 동시에 출력되어야 하는 기준 영상의 타임스탬프(PTS)와 부가 영상의 타임스탬프(RTP) 간의 오프셋을 동기정보로 설정하고, 동기 정보를 활용하여 기준 영상과 부가 영상의 출력 시점을 결정하였다.
이 때, 영상 재생 장치는 별도의 버퍼 관리 및 버퍼 제어 모델을 제공하지 않았기 때문에 버퍼 사용의 효율성 및 동기지연 시간의 최소화하는데 문제가 있었다. 한편, 영상 재생 장치에 포함된 렌더러 버퍼는 미리 설정된 시간동안 스트림을 저장하기 위해 ES(Elementary Stream)버퍼에 비해 압도적으로 큰 버퍼 용량이 필요한 문제가 있었다.
따라서, 좌영상과 우영상이 동시에 수신되지 못하고 서로 간에 수신 지연이 존재하는 경우 영상 재생 장치에 포함된 버퍼를 효율적으로 운용하기 위한 방안이 요구되었다.
본 발명은 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 좌영상 스트림과 우영상 스트림을 저장하기 위한 버퍼 사이즈를 결정하는 장치 및 방법을 제공한다.
본 발명은 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 좌영상 스트림과 우영상 스트림을 출력 시간을 위한 버퍼 지연 시간을 결정하는 장치 및 방법을 제공한다.
본 발명은 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 기준 클럭을 보정하거나 또는 타임스탬프를 보정하는 장치 및 방법을 제공한다.
본 발명은 타임스탬프를 기준 클럭에 따라 변환함으로써 좌영상 스트림과 우영상 스트림을 동기화하는 장치 및 방법을 제공한다.
본 발명의 일실시예에 따른 영상 재생 장치의 버퍼 제어 방법은 좌영상 스트림과 우영상 스트림 간의 동기 정보를 획득하는 단계; 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출하는 단계; 상기 제1 타임스탬프, 제2 타임스탬프 및 동기 정보를 이용하여 상기 좌영상 스트림과 우영상 스트림 간 수신 시간 차이를 계산하는 단계; 및 상기 수신 시간 차이를 이용하여 버퍼 사이즈를 결정하는 단계를 포함할 수 있다.
상기 동기 정보를 획득하는 단계는, 임의의 특정 시점에서 동시에 출력되어야 하는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 포함하는 타임스탬프 페어 정보를 포함하는 동기 정보를 획득할 수 있다.
상기 동기 정보를 획득하는 단계는, 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프 간의 오프셋 정보를 포함하는 동기 정보를 획득할 수 있다.
상기 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출하는 단계는, 동일 시점에 수신한 좌영상 스트림의 액세스 유닛 및 우영상 스트림의 액세스 유닛 중 가장 최근에 저장된 액세스 유닛에 기초하여 제1 타임 스탬프 및 제2 타임스탬프를 추출할 수 있다.
상기 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출하는 단계는, 역다중화를 통해 근접한 시점에 추출한 좌영상 스트림의 제1 타임스탬프와 우영상 스트림의 제2 타임스탬프를 추출할 수 있다.
상기 수신 시간 차이를 계산하는 단계는, 만약 좌영상 스트림과 우영상 스트림이 동일한 기준 클럭을 사용하는 경우, 제1 타임스탬프와 제2 타임스탬프 간의 타임스탬프 차이를 이용하여 수신 시간 차이를 계산하고, 만약, 좌영상 스트림과 우영상 스트림이 다른 기준 클럭을 사용하거나 또는 랜덤 오프셋이 적용되는 경우, 동기 정보를 이용하여 제1 타임스탬프 또는 제2 타임스탬프 중 어느 하나를 변환하고 제1 타임스탬프와 제2 타임스탬프 간의 타임스탬프 차이를 이용하여 수신 시간 차이를 계산할 수 있다.
상기 버퍼 사이즈를 결정하는 단계는, 버퍼에 저장된 액세스 유닛의 개수, 수신 시간 차이 및 영상 스트림의 프레임 레이트를 이용하여 좌영상 스트림과 우영상 스트림 간의 지연되는 프레임 개수를 계산하고, 계산된 프레임 개수에 따라 동적으로 설정되는 버퍼 사이즈를 결정할 수 있다.
상기 버퍼 사이즈를 결정하는 단계는, 상기 좌영상 스트림 또는 우영상 스트림의 고정 비트레이트와 수신 시간 차이를 이용하여 버퍼 사이즈를 결정할 수 있다.
상기 버퍼 사이즈를 결정하는 단계는, 상기 좌영상 스트림 또는 우영상 스트림의 데이터 레이트와 수신 시간 차이를 이용하여 버퍼 사이즈를 결정할 수 있다.
본 발명의 다른 실시예에 따른 영상 재생 장치의 버퍼 제어 방법은 좌영상 스트림과 우영상 스트림 간의 동기 정보를 획득하는 단계; 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출하는 단계; 상기 제1 타임스탬프, 제2 타임스탬프 및 동기 정보를 이용하여 상기 좌영상 스트림과 우영상 스트림 간 수신 시간 차이를 계산하는 단계; 및 상기 수신 시간 차이를 이용하여 버퍼 지연 시간을 결정하는 단계를 포함할 수 있다.
상기 버퍼 지연 시간을 결정하는 단계는, 우영상 스트림이 좌영상 스트림보다 먼저 수신된 경우, 수신 시간 차이만큼 우영상 스트림의 버퍼 지연 시간을 증가시키고, 좌영상 스트림이 우영상 스트림보다 먼저 수신된 경우, 수신 시간 차이만큼 좌영상 스트림의 버퍼 지연 시간을 증가시킬 수 있다.
본 발명의 일실시예에 따른 영상 재생 장치의 클럭 보정 방법은 좌영상 스트림의 액세스 유닛과 우영상 스트림의 액세스 유닛 간의 수신 시간 차이를 계산하는 단계; 및 상기 수신 시간 차이를 이용하여 좌영상 스트림과 우영상 스트림 중 먼저 수신된 영상 스트림에 시그널링된 기준 클럭을 보정할 수 있다.
상기 기준 클럭을 보정하는 단계는, 상기 기준 클럭의 클럭 레이트에 수신 시간 차이를 적용한 결과를 이용하여 기준 클럭을 보정할 수 있다.
본 발명의 일실시예에 따른 영상 재생 장치의 타임스탬프 보정 방법은 좌영상 스트림의 액세스 유닛과 우영상 스트림의 액세스 유닛 간의 수신 시간 차이를 계산하는 단계; 및 상기 수신 시간 차이를 이용하여 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 보정하는 단계를 포함할 수 있다.
상기 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 보정하는 단계는, 기준 클럭의 클럭 레이트에 수신 시간 차이를 적용한 결과를 이용하여 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 보정할 수 있다.
본 발명의 일실시예에 따른 영상 재생 장치의 동기화 방법은 좌영상 스트림과 우영상 스트림 간의 동기 정보를 획득하는 단계; 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출하는 단계; 동기 정보를 이용하여 상기 제1 타임스탬프 및 제2 타임스탬프 중 적어도 하나를 기준 클럭에 대응되도록 변환하는 단계; 및 상기 기준 클럭에 따라 좌영상 스트림과 우영상 스트림을 매칭시켜 동기화하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 영상 재생 장치는 좌영상 스트림을 수신하여 저장하는 제1 버퍼부; 우영상 스트림을 수신하여 저장하는 제2 버퍼부; 및 상기 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 상기 제1 버퍼부와 제2 버퍼부의 버퍼 사이즈를 결정하는 버퍼 제어부를 포함하고, 상기 수신 시간 차이는, 상기 좌영상 스트림의 제1 타임스탬프, 우영상 스트림의 제2 타임 스탬프 및 좌영상 스트림과 우영상 스트림 간의 동기 정보에 따라 결정될 수 있다.
본 발명의 다른 실시예에 따른 영상 재생 장치는 좌영상 스트림을 수신하여 저장하는 제1 버퍼부; 우영상 스트림을 수신하여 저장하는 제2 버퍼부; 및 상기 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 제1 버퍼부 또는 제2 버퍼부의 버퍼 지연 시간을 결정하는 버퍼 제어부를 포함하고, 상기 수신 시간 차이는, 상기 좌영상 스트림의 제1 타임스탬프, 우영상 스트림의 제2 타임 스탬프 및 좌영상 스트림과 우영상 스트림 간의 동기 정보에 따라 결정될 수 있다.
본 발명의 또 다른 실시예에 따른 영상 재생 장치는 좌영상 스트림을 수신하여 저장하는 제1 버퍼부; 우영상 스트림을 수신하여 저장하는 제2 버퍼부; 및 좌영상 스트림의 액세스 유닛과 우영상 스트림의 액세스 유닛 간의 수신 시간 차이를 이용하여 (i) 좌영상 스트림과 우영상 스트림 중 먼저 수신된 영상 스트림에 시그널링된 기준 클럭을 보정하거나 또는 (ii) 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 보정하는 버퍼 제어부를 포함할 수 있다.
본 발명의 또 다른 실시예에 따른 영상 재생 장치는 좌영상 스트림을 수신하여 저장하는 제1 버퍼부; 및 우영상 스트림을 수신하여 저장하는 제2 버퍼부; 좌영상 스트림과 우영상 스트림 간의 동기 정보를 이용하여 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프 중 적어도 하나를 기준 클럭에 따라 변환하고, 기준 클럭에 따라 좌영상 스트림과 우영상 스트림을 매칭시켜 동기화하는 영상 동기화부를 포함할 수 있다.
본 발명의 일실시예에 따르면, 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 좌영상 스트림과 우영상 스트림을 저장하기 위한 버퍼 사이즈를 결정함으로써 버퍼를 효율적으로 관리할 수 있다.
본 발명의 일실시예에 따르면, 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 좌영상 스트림과 우영상 스트림을 출력 시간을 위한 버퍼 지연 시간을 결정함으로써 동기 지연 시간을 최소화할 수 있다.
본 발명의 일실시예에 따르면, 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 기준 클럭을 보정하거나 또는 타임스탬프를 보정함으로써 수신 시간 차이가 발생하더라도 영상 스트림의 복호화가 정상적으로 동작할 수 있다.
본 발명의 일실시예에 따르면, 타임스탬프를 기준 클럭에 따라 변환함으로써 좌영상 스트림과 우영상 스트림을 동기화함으로써, 높은 품질의 3D 영상을 제공화할 수 있다.
도 1은 본 발명의 일실시예에 따른 영상 전송 장치와 영상 재생 장치를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 영상 재생 장치의 구성 요소를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 영상 재생 장치의 일례를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따라 동기 정보, 제1 타임스탬프 및 제2 타임스탬프를 추출하는 과정을 설명하는 도면이다.
도 5는 본 발명의 일실시예에 따라 버퍼 사이즈를 제어하는 과정을 설명하는 도면이다.
도 6은 본 발명의 일실시예에 따라 기준 클럭을 보정하거나 또는 타임스탬프를 보정하는 과정을 설명하는 도면이다.
도 7은 본 발명의 일실시예에 따라 버퍼 사이즈를 제어하는 과정을 도시한 플로우차트이다.
도 8은 본 발명의 일실시예에 따라 버퍼 지연 시간을 결정하는 과정을 도시한 플로우차트이다.
도 9는 본 발명의 일실시예에 따라 기준 클럭을 보정하는 과정을 도시한 플로우차트이다.
도 10은 본 발명의 일실시예에 따라 타임스탬프를 보정하는 과정을 도시한 도면이다.
도 11은 본 발명의 일실시예에 따라 좌영상 스트림과 우영상 스트림을 동기화하는 과정을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 영상 재생 장치의 구성 요소를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 영상 재생 장치의 일례를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따라 동기 정보, 제1 타임스탬프 및 제2 타임스탬프를 추출하는 과정을 설명하는 도면이다.
도 5는 본 발명의 일실시예에 따라 버퍼 사이즈를 제어하는 과정을 설명하는 도면이다.
도 6은 본 발명의 일실시예에 따라 기준 클럭을 보정하거나 또는 타임스탬프를 보정하는 과정을 설명하는 도면이다.
도 7은 본 발명의 일실시예에 따라 버퍼 사이즈를 제어하는 과정을 도시한 플로우차트이다.
도 8은 본 발명의 일실시예에 따라 버퍼 지연 시간을 결정하는 과정을 도시한 플로우차트이다.
도 9는 본 발명의 일실시예에 따라 기준 클럭을 보정하는 과정을 도시한 플로우차트이다.
도 10은 본 발명의 일실시예에 따라 타임스탬프를 보정하는 과정을 도시한 도면이다.
도 11은 본 발명의 일실시예에 따라 좌영상 스트림과 우영상 스트림을 동기화하는 과정을 도시한 도면이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 영상 전송 장치와 영상 재생 장치를 도시한 도면이다.
도 1을 참고하면, 영상 전송 장치(101)는 3D 영상을 위한 기준 영상(main image)과 부가 영상(additional image)를 영상 재생 장치(102)에 전송할 수 있다. 일례로, 기준 영상은 고화질 2D HD(High Definition)을 위한 고정 방송(stationary broadcast)을 위한 것으로, MPEG-2 방식에 따라 영상 재생 장치(102)에 전송될 수 있다. 그리고, 부가 영상은 2D 모바일 방송(mobile broadcast)을 위한 것으로, AVC 방식에 따라 영상 재생 장치(102)에 전송될 수 있다. 영상 재생 장치(102)는 기준 영상과 부가 영상을 스트림 형태로 수신하고, 3D 렌더링을 통해 시청자에게 3D 영상을 제공할 수 있다.
이러한 기준 영상과 부가 영상은 6MHz의 1채널을 통해 전송되어 3DTV가 고화질 2DTV, 모바일 2DTV 및 고화질 3DTV를 모두 방송할 수 있으므로, 주파수 효율이 극대화될 수 있다. 여기서, 기준 영상은 3D 영상을 위한 좌영상에 대응하고, 부가 영상은 3D 영상을 위한 좌영상에 대응할 수 있다. 또는, 기준 영상은 우영상에 대응하고, 부가 영상은 좌영상에 대응할 수 있다. 이하에서, 기준 영상은 좌영상 스트림으로 전송되고, 부가 영상은 우영상 스트림으로 전송되는 것을 전제로 설명하기로 한다.
3D 영상을 위해서, 동시에 촬영된 좌영상인 기준 영상과 우영상인 부가 영상은 시청자에게 동시에 제공될 필요가 있다. 하지만, 3DTV 방송 서비스를 위해서, 기준 영상과 부가 영상이 서로 다른 인코딩, 다중화, 변조, 송출, 복조, 역다중화, 디코딩으로 인해 처리 시간이 달라질 수 있다. 그래서, 영상 전송 장치(101)는 좌영상인 기준 영상과 우영상인 부가 영상 간의 동기화를 위해서, 영상 재생 장치(102)가 동시에 출력해야 하는 좌영상과 우영상을 식별할 수 있는 동기 정보를 방송 스트림을 통해 시그널링할 수 있다.
이 때, 영상 전송 장치(101)는 영상 재생 장치(102)가 서로 다른 타이밍 모델을 가지는 기준 영상과 부가 영상을 동기화할 수 있도록 영상 재생 장치(102)에 동기 정보를 전송할 수 있다. 여기서, 동기 정보는 3D 영상에서 임의의 특정 시점에 동시에 출력되어야 하는 기준 영상과 부가 영상 각각의 타임스탬프 차이인 오프셋(기준 영상과 부가 영상의 차이의 절대값 및 부호)이다. 또는, 동기 정보는 기준 영상과 부가 영상 각각의 타임스탬프의 페어 정보일 수 있다. 그러면, 영상 재생 장치(102)는 동기 정보에 기초하여 기준 영상과 부가 영상의 출력 시점을 결정할 수 있다.
본 발명은 3DTV 영상을 위해 필요한 서로 다른 타이밍 모델을 가지는 기준 영상과 부가 영상이 3DTV 장치에 동시에 수신되지 않는 경우를 가정한다. 즉, 기준 영상과 부가 영상은 서로 다른 방송망을 통해 전송되기 때문에 영상 재생 장치(102)에 동시에 전송되지 않을 수 있다. 그래서, 영상 재생 장치(102)는 기준 영상과 부가 영상을 동기화하기 전에 먼저 수신한 영상 스트림을 버퍼에 저장하고, 아직 수신하지 않은 영상 스트림이 도착할 때까지 기다릴 필요가 있다.
그래서, 본 발명은 기준 영상과 부가 영상을 위한 버퍼를 어떻게 관리할 것인지를 제안한다. 구체적으로, 본 발명은 기준 영상과 부가 영상의 수신 시간의 차이에 기초하여 버퍼의 사이즈를 어떻게 결정할 것인지를 제안한다. 한편, 본 발명은 기준 영상과 부가 영상을 위한 버퍼에서 각각 복호화부에 언제 출력할 것인지를 결정할 수 있다. 뿐만 아니라, 본 발명은 기준 영상과 부가 영상의 매칭 과정에 대해서도 제안한다. 특히, 본 발명은 영상 스트림의 수신 지연에 따른 버퍼 운용의 비효율성을 줄이기 위해, 좌영상의 스트림과 우영상의 스트림을 복호화 이전의 버퍼에 저장하되, 영상 스트림 간의 동기화 지연 시간을 최소화하는 방안을 제공할 수 있다.
일례로, 본 발명에서 기준 영상은 MPEG-2 system을 기반의 타이밍 모델을 가지고, 부가 영상은 RTP 기반의 타이밍 모델을 가질 수 있다. 하지만, 본 발명은 상기 타이밍 모델에 한정되지 않고, 기준 영상과 부가 영상이 서로 다른 타이밍 모델을 가지면 모두 적용될 수 있다.
도 2는 본 발명의 일실시예에 따른 영상 재생 장치의 구성 요소를 도시한 도면이다.
도 2를 참고하면, 영상 재생 장치(102)는 제1 버퍼부(201), 제2 버퍼부(202), 버퍼 제어부(203), 제1 복호화부(204), 제2 복호화부(205), 제3 버퍼부(206) 및 영상 동기화부(207)를 포함할 수 있다.
제1 버퍼부(201)는 제1 방송망을 통해 전달된 기준 영상인 좌영상 스트림을 저장할 수 있다. 그리고, 제2 버퍼부(202)는 제2 방송망을 통해 전달된 부가영상인 우영상 스트림을 저장할 수 있다. 제1 버퍼부(201)는 좌영상 스트림을 복호화하기 전에 임시로 좌영상 스트림을 저장하고, 제2 버퍼부(202)는 우영상 스트림을 복호화하기 전에 임시로 우영상 스트림을 저장할 수 있다.
<버퍼 사이즈 결정>
버퍼 제어부(203)는 제1 버퍼부(201)와 제2 버퍼부(202)의 버퍼 사이즈를 결정할 수 있다. 이 때, 버퍼 제어부(203)는 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 제1 버퍼부(201)와 제2 버퍼부(202)의 버퍼 사이즈를 결정할 수 있다. 여기서, 수신 시간 차이는 영상 전송 장치(101)로부터 전송된 좌영상 스트림과 우영상 스트림이 영상 재생 장치(102)에 동시에 수신되지 않아서 발생될 수 있다.
버퍼 제어부(203)는 좌영상 스트림과 우영상 스트림 간의 동기 정보를 획득할 수 있다. 이 때, 동기 정보는 비트스트림을 역다중화함으로써 추출될 수 있다. 일례로, 동기 정보는 임의의 특정 시점에서 동시에 출력되어야 하는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 포함하는 타임스탬프 페어 정보를 포함할 수 있다. 또는, 동기 정보는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프 간의 오프셋 정보를 포함할 수 있다.
일례로, 좌영상 스트림이 고정 방송 규격인 ATSC 메인 방송 규격을 통해 전송되고, 우영상 스트림이 이동 방송 규격인 MDTV 방송 규격을 통해 전송되는 경우, 제1 타임스탬프는 PTS(presentation timestamp)이고 제2 타임스탬프는 RTP(realtime protocol) 타임스탬프일 수 있다. 여기서, 오프셋 정보는 제1 타임스탬프와 제2 타임스탬프 간의 차이의 절대값과 부호를 포함할 수 있다. 동기 정보는 좌영상 스트림 또는 우영상 스트림 중 적어도 하나를 통해 시그널링될 수 있다.
그리고, 버퍼 제어부(203)는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출할 수 있다. 일례로, 제1 타임스탬프는 좌영상 스트림의 디코딩 타임스탬프(DTS: Decoding Timestamp)이고, 제2 타임스탬프는 우영상 스트림의 디코딩 타임스탬프일 수 있다. 만약, 디코딩 타임스탬프가 존재하지 않는 RTP 스트림인 경우, 출력 타임스탬프(PTS, RTP Timestamp)가 추출될 수 있다. 또한, 타임스탬프가 존재하지 않는 경우, 프레임 식별 번호 또는 SMTPE(Society of Motion Picture and Television Engineers) Timecode가 이용될 수 있다.
타임스탬프가 추출되는 대상은 동일 시점에 수신한 액세스 유닛으로 가장 최근에 제1 버퍼부(201) 및 제2 버퍼부(202)에 저장된 액세스 유닛일 수 있다. 또는, 비트스트림의 역다중화 과정을 통해 근접한 시점에 추출한 좌영상 스트림으로부터 및 우영상 스트림으로부터 각각 제1 타임스탬프와 제2 타임스탬프가 추출될 수 있다.
일례로, 버퍼 제어부(203)는 제1 버퍼부(201)에 가장 최근에 저장된 좌영상 프레임의 제1 타임스탬프를 추출할 수 있다. 그리고, 버퍼 제어부(203)는 제2 버퍼부(202)에 가장 최근에 저장된 우영상 프레임의 제2 타임스탬프를 추출할 수 있다.
이 때, 버퍼 제어부(203)는 제1 버퍼부(201)에 가장 최근에 저장된 좌영상 스트림의 GOP(Group of picture) 중 첫번째 프레임의 PTS를 추출할 수 있다. 또는 버퍼 제어부(203)는 제1 버퍼부(201)에 가장 최근에 저장된 좌영상 스트림의 GOP(Group of picture) 중 마지막 프레임 또는 기준 프레임의 PTS를 추출할 수 있다.
그리고, 버퍼 제어부(203)는 제2 버퍼부(202)에 가장 최근에 저장된 우영상 스트림의 GOP 중 첫번째 프레임의 RTP 타임스탬프를 추출할 수 있다. 또는 버퍼 제어부(203)는 제2 버퍼부(202)에 가장 최근에 저장된 우영상 스트림의 GOP(Group of picture) 중 마지막 프레임 또는 기준 프레임의 RTP 타임스탬프를 추출할 수 있다. 한편, 버퍼 제어부(203)는 보다 빠르게 버퍼 사이즈를 계산하기 위해 GOP 대신 가장 최근에 저장된 엑세스 유닛의 타임스탬프를 추출할 수도 있다.
동기 정보, 제1 타임스탬프 및 제2 타임스탬프를 추출하는 과정에 대해서는 도 5에서 구체적으로 설명하기로 한다.
그리고, 버퍼 제어부(203)는 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 계산할 수 있다. 일례로, 버퍼 제어부(203)는 동기 정보, 좌영상 스트림의 타임스탬프 및 우영상 스트림의 타임스탬프를 이용하여 수신 시간 차이를 계산할 수 있다.
만약 좌영상 스트림과 우영상 스트림이 동일한 기준 클럭을 사용하는 경우, 버퍼 제어부(203)는 제1 타임스탬프와 제2 타임스탬프 간의 타임스탬프 차이를 이용하여 수신 시간 차이를 계산할 수 있다. 그리고, 만약, 좌영상 스트림과 우영상 스트림이 서로 다른 기준 클럭을 사용하는 경우, 버퍼 제어부(203)는 동기 정보를 이용하여 제1 타임스탬프 또는 제2 타임스탬프 중 어느 하나를 변환함으로써 제1 타임스탬프와 제2 타임스탬프 간의 수신 시간 차이를 계산할 수 있다. 한편, 제1 타임스탬프 또는 제2 타임스탬프가 RTP 타임스탬프와 같이 랜덤 오프셋이 적용된 경우, 동기 정보를 이용하여 제1 타임스탬프 또는 제2 타임스탬프 중 어느 하나를 변환함으로써 제1 타임스탬프와 제2 타임스탬프 간의 수신 시간 차이를 계산할 수 있다. 구체적으로, 버퍼 제어부(203)는 동기 정보를 이용하여 제1 타임스탬프를 제2 타임스탬프와 동일한 형태로 변환하거나 또는 제2 타임스탬프를 제1 타임스탬프와 동일한 형태로 변환할 수 있다.
좀더 확장하면, 버퍼 제어부(203)는 동기 정보를 이용하여 어느 한 쪽의 영상 스트림의 출력 시간 정보(타임스탬프, 프레임 식별번호, SMTPE timecode 등)를 다른 쪽의 영상 스트림의 출력 시간 정보로 변환함으로써 수신 시간 차이를 계산할 수 있다.
좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 계산할 때, 디코딩 타임스탬프(DTS)가 아닌 출력 타임스탬프(PTS, RTP Timestamp)를 이용하는 경우 디코딩 순서와 버퍼 출력 순서가 일치하지 않을 수 있다. 이 경우, 버퍼 제어부(203)는 영상 스트림에서 연속된 B 프레임의 개수를 고려하여 버퍼 사이즈 및 출력 시간을 제어할 수 있다. 예를 들어, 영상 스트림에서 연속된 B 프레임의 개수가 3일 경우, 출력 타임스탬프에 따라 계산된 수신 시간 차이와 실제 좌영상 스트림 및 우영상 스트림의 프레임이 제1 버퍼부(201)와 제2 버퍼부(202)에 각각 입력되는 시간 차이는 최대 4까지 달라질 수 있다. 이 경우, 버퍼 제어부(203)는 앞서 계산된 수신 시간 차이에 4 프레임 전송 시간을 추가하여 오차에 대응할 수 있다. 또는 버퍼 제어부(203)는 GOP 사이즈를 고려하여 버퍼 사이즈 및 버퍼 출력 시간을 제어할 수 있다. 예를 들어, 버퍼의 출력 단위가 GOP 단위일 경우, 버퍼 제어부(203)는 앞서 계산된 수신 시간 차이에 GOP를 이루는 프레임 수만큼의 프레임 전송 시간을 추가하여 오차에 대응할 수 있다.
버퍼 제어부(203)는 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 버퍼 사이즈를 결정할 수 있다. 일례로, 버퍼 제어부(203)는 버퍼에 저장된 액세스 유닛의 개수, 수신 시간 차이 및 영상 스트림의 프레임 레이트를 이용하여 좌영상 스트림과 우영상 스트림 간의 지연되는 프레임 개수를 계산하고, 계산된 프레임 개수에 따라 동적으로 설정되는 버퍼 사이즈를 결정할 수 있다.
그리고, 버퍼 제어부(203)는 좌영상 스트림 또는 우영상 스트림의 고정 비트레이트와 수신 시간 차이를 이용하여 버퍼 사이즈를 결정할 수 있다. 또는 버퍼 제어부(203)는 좌영상 스트림 또는 우영상 스트림의 데이터 레이트와 수신 시간 차이를 이용하여 버퍼 사이즈를 결정할 수 있다.
앞서 설명한 버퍼 사이즈를 제어하는 과정은 도 5에서 보다 구체적으로 설명하기로 한다.
<버퍼 지연 시간 결정>
버퍼 제어부(203)는 좌영상 스트림의 제1 타임스탬프, 우영상 스트림의 제2 타임스탬프 및 동기 정보를 이용하여 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 계산할 수 있다. 수신 시간 차이를 계산하는 과정은 앞서 설명한 바와 동일하다.
그리고, 버퍼 제어부(203)는 수신 시간 차이를 이용하여 버퍼 지연 시간을 결정할 수 있다. 이 때, 우영상 스트림이 좌영상 스트림보다 먼저 수신된 경우, 버퍼 제어부(203)는 수신 시간 차이만큼 우영상 스트림의 버퍼 지연 시간을 증가시킬 수 있다. 즉, 우영상 스트림이 좌영상 스트림보다 먼저 수신되었기 때문에 버퍼 제어부(203)는 제2 버퍼부(202)의 출력 시간을 제1 버퍼부(201)의 출력 시간보다 수신 시간 차이만큼 지연시킬 수 있다.
반대로, 좌영상 스트림이 우영상 스트림보다 먼저 수신된 경우, 버퍼 제어부(203)는 수신 시간 차이만큼 좌영상 스트림의 버퍼 지연 시간을 증가시킬 수 있다. 즉, 좌영상 스트림이 우영상 스트림보다 먼저 수신되었기 때문에 버퍼 제어부(203)는 제1 버퍼부(201)의 출력 시간을 제2 버퍼부(202)의 출력 시간보다 수신 시간 차이만큼 지연시킬 수 있다.
<기준 클럭 보정 및 타임스탬프 보정>
앞서 설명한 바와 같이, 3DTV 서비스의 경우 영상 재생 장치(102)에서의 좌영상 스트림과 우영상 스트림의 수신 시간은 서로 다를 수 있다. 그러나, 좌영상 스트림과 우영상 스트림을 영상 재생 장치(102)로 송출하는 시점에서 좌영상 스트림과 우영상 스트림 간의 수신 지연 시간을 예측하기 어려울 수 있다. 특히, 좌영상 스트림과 우영상 스트림이 독립적인 형태로 고유의 서비스(예: 지상파 2D 방송 서비스, 모바일 2D 방송 서비스, IPTV 방송 서비스, VOD 방송 서비스 등)를 제공하는 경우, 영상 스트림의 레퍼런스 클럭(예: PCR) 및 액세스 유닛의 타임스탬프(예: PTS, DTS) 등은 기존 2D 서비스와의 호환성 확보를 위해 3D 서비스의 수신 지연 시간을 고려하지 않을 수 있다.
특히 기준 클럭 및 타임스탬프와 같은 시간 정보가 2D 서비스 뿐만 아니라 3D 서비스에도 활용되는 경우, 3D 서비스가 동작할 때 다른 쪽의 영상 스트림이 동작할 때까지의 수신 지연 시간이 고려되어야 한다.
본 발명은 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이가 발생하더라도 기준 클럭 또는 타임스탬프를 보정함으로써, 수신 시간 차이가 존재하는 사항에서도 좌영상 스트림을 처리하는 제1 복호화부(204)와 우영상 스트림을 처리하는 제2 복호화부(205)가 정상적으로 동작할 수 있도록 한다.
기준 클럭을 보정하기 위해, 버퍼 제어부(203)는 좌영상 스트림의 액세스 유닛과 우영상 스트림의 액세스 유닛 간의 수신 시간 차이를 계산할 수 있다. 그리고, 버퍼 제어부(203)는 수신 시간 차이를 이용하여 좌영상 스트림과 우영상 스트림 중 먼저 수신된 영상 스트림에 시그널링된 기준 클럭을 보정할 수 있다. 이 때, 버퍼 제어부(203)는 기준 클럭의 클럭 레이트에 수신 시간 차이를 적용한 결과를 이용하여 기준 클럭을 보정할 수 있다.
타임스탬프를 보정하기 위해 버퍼 제어부(203)는 좌영상 스트림의 액세스 유닛과 우영상 스트림의 액세스 유닛 간의 수신 시간 차이를 계산할 수 있다. 그리고, 버퍼 제어부(203)는 수신 시간 차이를 이용하여 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 보정할 수 있다. 이 때, 버퍼 제어부(203)는 기준 클럭의 클럭 레이트에 수신 시간 차이를 적용한 결과를 이용하여 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 보정할 수 있다. 기준 클럭과 타임스탬프를 보정하는 과정에 대해서는 도 6에서 보다 구체적으로 설명하기로 한다.
제1 복호화부(204)는 제1 버퍼부(201)로부터 전달된 좌영상 스트림을 복호화한 후, 제3 버퍼부(206)에 저장할 수 있다. 그리고, 제2 복호화부(205)는 제2 버퍼부(202)로부터 전달된 우영상 스트림을 복호화한 후, 제3 버퍼부(206)에 저장할 수 있다.
영상 동기화부(207)는 제3 버퍼부(206)에 저장된 좌영상 스트림과 우영상 스트림을 동기화하여 3D 렌더러에 전달할 수 있다. 일례로, 영상 동기화부(207)는 비트스트림을 역다중화함으로써 도출된 동기 정보를 획득할 수 있다. 영상 동기화부(207)는 제3 버퍼부(206)에 저장된 좌영상 스트림의 제1 타임스탬프와 우영상 스트림의 제2 타임스탬프를 획득할 수 있다.
영상 동기화부(207)는 동기 정보를 이용하여 제1 타임스탬프 및 제2 타임스탬프 중 적어도 하나를 기준 클럭에 대응되도록 변환할 수 있다. 일례로, 영상 동기화부(207)는 우영상 스트림의 RTP 타임스탬프를 기준 클럭인 PCR(program clock reference)에 대응되도록 좌영상 스트림의 타임스탬프와 동일한 형태로 변환할 수 있다. 좌영상 스트림은 PCR에 대응하는 타임스탬프인 PTS를 가진다. 영상 동기화부(207)는 PCR에 기초하여 제3 버퍼부(206)로부터 추출된 좌영상 스트림과 우영상 스트림을 타임스탬프를 통해 매칭하여 3D 영상을 생성하는 3D 렌더러에 전달할 수 있다.
즉, 좌영상 스트림과 우영상 스트림은 서로 다른 타이밍 모델을 가지지만, 영상 동기화부(207)는 우영상 스트림의 제1 타임스탬프 또는 좌영상 스트림의 제2 타임스탬프를 기준 클럭에 따라 변환하여 동일한 형태의 타임스탬프로 변환할 수 있다. 그리고, 영상 동기화부(207)는 제1 타임스탬프와 제2 타임스탬프를 매칭시켜 좌영상 스트림과 우영상 스트림을 매칭할 수 있다.
도 3은 본 발명의 일실시예에 따른 영상 재생 장치의 일례를 도시한 도면이다.
도 3을 참고하면, 영상 재생 장치는 demultiplexer(301), PES decapsulator(302), RTP decapsulator(303), ES buffer(304), ES buffer(305), ES buffer controller(306), MPEG-2 Decodoer(307), AVC decoder(308), Renderer Buffer(309), L/R Synchronizer(310)을 포함할 수 있다. 여기서, ES buffer(304)는 제1 버퍼부(201)에 대응하고, ES buffer(305)는 제2 버퍼부(202)에 대응하며, ES buffer controller(306)는 버퍼 제어부(203)에 대응한다. 그리고, MPEG-2 Decodoer(307)는 제1 복호화부(204)에 대응하고, AVC decoder(308)는 제2 복호화부(205)에 대응한다. 또한, Renderer Buffer(309)는 제3 버퍼부(206)에 대응하고, L/R Synchronizer(310)는 영상 동기화부(207)에 대응한다.
demultiplexer(301)는 비트스트림으로부터 역다중화하여 좌영상 스트림, 우영상 스트림 및 동기 정보를 추출할 수 있다. 여기서, 좌영상 스트림은 3D영상의 기준 영상에 대응하여, 고화질 2D HD 고정방송에 사용될 수 있다. 좌영상 스트림은 MPEG-2 방식에 따라 처리되어 ATSC 메인 스트림을 통해 전송될 수 있다. 한편, 우영상 스트림은 3D 영상의 부가영상에 대응하며, 2D 모바일방송에 사용될 수 있다. 우영상 스트림은 AVC(Advanced Video Coding)에 따라 처리되어 ATSC M/H 스트림을 통해 전송될 수 있다. 이 때 추출된 동기 정보는 ES buffer controller(306)에 전송될 수 있다.
PES decapsulator(302)는 좌영상 스트림의 PES(packetized elementary stream)을 디캡슐화할 수 있다. 이 과정에서 추출된 좌영상 스트림의 제1 타임스탬프인 PTS(presentation timestamp)는 ES buffer controller(306)와 L/R Synchronizer(310)에 전송될 수 있다. 한편, RTP decapsulator(303)는 캡슐화된 우영상 스트림의 RTP(real-time transportation protocol) 패킷을 디캡슐화할 수 있다. 이 과정에서 추출된 우영상 스트림의 제2 타임스탬프인 RTP 타임스탬프는 ES buffer controller(306)와 L/R Synchronizer(310)에 전송될 수 있다.
PES decapsulator(302)에서 도출된 좌영상 스트림은 ES buffer(304)에 저장되고, RTP decapsulator(303)에서 도출된 우영상 스트림은 ES buffer(305)에 저장될 수 있다. 여기서, ES buffer(304)와 ES buffer(305)는 좌영상 스트림과 우영상 스트림 간에 수신 지연이 발생하는 상황에서 디코딩 전에 좌영상 스트림과 우영상 스트림을 임시로 저장할 수 있다. ES buffer(304)와 ES buffer(305)는 TS buffer(304)와 TS buffer(305)로 설정될 수도 있다.
ES buffer controller(306)는 ES buffer(304)와 ES buffer(305)를 제어하고 관리할 수 있다.
(1) 일례로, ES buffer controller(306)는 ES buffer(304)와 ES buffer(305)의 버퍼 사이즈를 결정할 수 있다. 이 때, ES buffer controller(306)는 좌영상 스트림과 우영상 스트림의 수신 시간 차이를 이용하여 ES buffer(304)와 ES buffer(305)의 버퍼 사이즈를 결정할 수 있다. 여기서, 수신 시간 차이는 영상 전송 장치(101)로부터 전송된 좌영상 스트림과 우영상 스트림이 영상 재생 장치(102)에 동시에 수신되지 않아서 발생될 수 있다.
ES buffer controller(306)는 좌영상 스트림과 우영상 스트림 간의 동기 정보를 획득할 수 있다. 그리고, ES buffer controller(306)는 좌영상 스트림의 제1 타임스탬프와 우영상 스트림의 제2 타임스탬프를 추출할 수 있다. ES buffer controller(306)는 제1 타임스탬프, 제2 타임스탬프 및 동기 정보를 이용하여 좌영상 스트림과 우영상 스트림 간 수신 시간 차이를 계산하고, 수신 시간 차이를 이용하여 버퍼 사이즈를 결정할 수 있다.
(2) 그리고, ES buffer controller(306)는 수신 시간 차이를 이용하여 버퍼 지연 시간을 결정할 수 있다. 이 때, 우영상 스트림이 좌영상 스트림보다 먼저 수신된 경우, ES buffer controller(306)는 수신 시간 차이만큼 우영상 스트림의 버퍼 지연 시간을 증가시킬 수 있다. 즉, 우영상 스트림이 좌영상 스트림보다 먼저 수신되었기 때문에 ES buffer controller(306)는 ES buffer(305)의 출력 시간을 ES buffer(304)의 출력 시간보다 수신 시간 차이만큼 지연시킬 수 있다.
반대로, 좌영상 스트림이 우영상 스트림보다 먼저 수신된 경우, ES buffer controller(306)는 수신 시간 차이만큼 좌영상 스트림의 버퍼 지연 시간을 증가시킬 수 있다. 즉, 좌영상 스트림이 우영상 스트림보다 먼저 수신되었기 때문에 ES buffer controller(306)는 ES buffer(304) 의 출력 시간을 ES buffer(305)의 출력 시간보다 수신 시간 차이만큼 지연시킬 수 있다.
결국, ES buffer controller(306)는 ES buffer(304)가 MPEG-2 decoder(307)에 좌영상 스트림을 전달하는 출력 시점과 ES buffer(305)가 AVC decoder(308)에 우영상 스트림을 전달하는 출력 시점을 결정할 수 있다.
(3) ES buffer controller(306)는 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이가 발생하더라도 기준 클럭 또는 타임스탬프를 보정함으로써, 수신 시간 차이가 존재하는 사항에서도 좌영상 스트림을 처리하는 MPEG-2 Decoder(307)와 우영상 스트림을 처리하는 AVC Decoder(308)가 정상적으로 동작할 수 있도록 한다.
기준 클럭을 보정하기 위해, ES buffer controller(306)는 좌영상 스트림의 액세스 유닛과 우영상 스트림의 액세스 유닛 간의 수신 시간 차이를 계산할 수 있다. 그리고, ES buffer controller(306)는 수신 시간 차이를 이용하여 좌영상 스트림과 우영상 스트림 중 먼저 수신된 영상 스트림에 시그널링된 기준 클럭을 보정할 수 있다. 이 때, ES buffer controller(306)는 기준 클럭의 클럭 레이트에 수신 시간 차이를 적용한 결과를 이용하여 기준 클럭을 보정할 수 있다.
타임스탬프를 보정하기 위해 ES buffer controller(306)는 좌영상 스트림의 액세스 유닛과 우영상 스트림의 액세스 유닛 간의 수신 시간 차이를 계산할 수 있다. 그리고, ES buffer controller(306)는 수신 시간 차이를 이용하여 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 보정할 수 있다. 이 때, ES buffer controller(306)는 기준 클럭의 클럭 레이트에 수신 시간 차이를 적용한 결과를 이용하여 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 보정할 수 있다.
MPEG-2 decoder(307)는 ES buffer(304)로부터 전달된 좌영상 스트림을 복호화한 후, Renderer Buffer(309)에 저장할 수 있다. 그리고, AVC decoder(308)는 ES buffer(305)로부터 전달된 우영상 스트림을 복호화한 후, Renderer Buffer(309)에 저장할 수 있다.
L/R synchronizer(310)는 Renderer Buffer(309)에 저장된 좌영상 스트림과 우영상 스트림을 동기화할 수 있다. 일례로, L/R synchronizer(310)는 비트스트림으로부터 동기 정보를 획득할 수 있다. L/R synchronizer(310)는 Renderer Buffer(309)에 저장된 좌영상 스트림과 우영상 스트림 각각의 타임스탬프를 획득할 수 있다. L/R synchronizer(310)는 동기 정보를 이용하여 우영상 스트림의 타임스탬프를 좌영상 스트림의 타임스탬프에 기초하여 변환할 수 있다. 일례로, L/R synchronizer(310)는 우영상 스트림의 RTP 타임스탬프를 PCR 기반의 타임스탬프로 변환할 수 있다. 좌영상 스트림은 PCR에 대응하는 PTS를 가진다. L/R synchronizer(310)는 PCR에 기초하여 Renderer Buffer(309)로부터 추출된 좌영상 스트림과 우영상 스트림을 매칭하여 3D 영상을 생성하는 3D 렌더러에 전달할 수 있다.
즉, 좌영상 스트림과 우영상 스트림은 서로 다른 타이밍 모델을 가지지만, L/R synchronizer(310)는 우영상 스트림의 타임스탬프를 좌영상 스트림의 타임스탬프의 기준 클럭에 따라 변환한 후, 기준 클럭에 따라 좌영상 스트림의 타임스탬프와 변환된 우영상 스트림의 타임스탬프를 동기시켜서 좌영상 스트림과 우영상 스트림을 매칭할 수 있다. 앞서 설명한 실시예는 우영상 스트림의 타임스탬프를 좌영상 스트림의 타임스탬프와 관련된 기준 클럭에 따라 변환하는 과정을 설명하고 있지만, 좌영상 스트림의 타임스탬프를 우영상 스트림의 타임스탬프와 관련된 기준 클럭에 따라 변환하는 것도 본 발명의 실시예에 포함될 수 있다.
결국, 본 발명에 의하면, 3D 영상의 좌영상에 대응하는 좌영상 스트림을 ES buffer(304)에서 MPEG-2 Decoder(307)로 전달하는 출력 시간과 3D 영상의 우영상에 대응하는 우영상 스트림을 ES buffer(305)에서 AVC Decoder(308)로 전달하는 출력 시간이 결정될 수 있다.
그리고, 본 발명은 좌영상 스트림과 우영상 스트림의 수신 시간 차이를 이용하여 ES buffer(304)와 ES buffer(305)의 버퍼 사이즈를 결정할 수 있다.
그리고, 본 발명은 좌영상 스트림과 우영상 스트림의 수신 시간 차이를 이용하여 기준 클럭과 타임스탬프를 보정할 수 있다.
또한, 본 발명은 3D 영상을 생성하는 3D 렌더러에 전달되는 좌영상 스트림과 우영상 스트림을 매칭할 수 있다.
도 4는 본 발명의 일실시예에 따라 동기 정보, 제1 타임스탬프 및 제2 타임스탬프를 추출하는 과정을 설명하는 도면이다.
도 4를 참고하면, 제1 방송망을 통해 동기 정보가 비트스트림에 시그널링되어 전달될 수 있다. 경우에 따라 동기 정보는 제2 방송망을 통해 전달될 수도 있다. 영상 전송 장치(101)는 좌영상 스트림과 우영상 스트림 간의 동기화를 수행하기 위해, 프로그램 내 임의의 특정 시점에 동시에 출력되어야 하는 좌영상 스트림과 우영상 스트림 각각의 타임스탬프(PTS, RTP timestamp 등) 페어 정보를 동기정보로 생성할 수 있다. 또는, 영상 전송 장치(101)는 좌영상 스트림과 우영상 스트림 각각의 타임스탬프 간의 오프셋 정보(타임스탬프 간 차이의 절대값 및 부호)을 동기 정보로 생성할 수 있다. 그러면, 영상 재생 장치(102)는 방송망을 통해 전달된 비트스트림의 시그널링 채널에서 동기 정보를 추출할 수 있다.
버퍼 제어부(203)는 좌영상 스트림과 우영상 스트림 간의 동기 정보를 획득할 수 있다. 이 때, 동기 정보는 비트스트림을 역다중화함으로써 추출될 수 있다. 일례로, 동기 정보는 임의의 특정 시점에서 동시에 출력되어야 하는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 포함하는 타임스탬프 페어 정보를 포함할 수 있다. 또는, 동기 정보는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프 간의 오프셋 정보를 포함할 수 있다.
일례로, 좌영상 스트림이 고정 방송 규격인 ATSC 메인 방송 규격을 통해 전송되고, 우영상 스트림이 이동 방송 규격인 MDTV 방송 규격을 통해 전송되는 경우, 제1 타임스탬프는 PTS(presentation timestamp)이고 제2 타임스탬프는 RTP(realtime protocol) 타임스탬프일 수 있다. 여기서, 오프셋 정보는 제1 타임스탬프와 제2 타임스탬프 간의 차이의 절대값과 부호를 포함할 수 있다. 동기 정보는 좌영상 스트림 또는 우영상 스트림 중 적어도 하나를 통해 시그널링될 수 있다.
그리고, 버퍼 제어부(203)는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출할 수 있다. 일례로, 제1 타임스탬프는 좌영상 스트림의 디코딩 타임스탬프(DTS: Decoding Timestamp)이고, 제2 타임스탬프는 우영상 스트림의 디코딩 타임스탬프일 수 있다. 만약, 디코딩 타임스탬프가 존재하지 않는 RTP 스트림인 경우, 출력 타임스탬프(PTS, RTP Timestamp)가 추출될 수 있다. 또한, 타임스탬프가 존재하지 않는 경우, 프레임 식별 번호 또는 SMTPE(Society of Motion Picture and Television Engineers) Timecode가 이용될 수 있다.
타임스탬프가 추출되는 대상은 동일 시점에 수신한 액세스 유닛으로 가장 최근에 제1 버퍼부(201) 및 제2 버퍼부(202)에 저장된 액세스 유닛일 수 있다. 또는, 비트스트림의 역다중화 과정을 통해 근접한 시점에 추출한 좌영상 및 우영상 스트림으로부터 각각 제1 타임스탬프와 제2 타임스탬프가 추출될 수 있다.
일례로, 버퍼 제어부(203)는 제1 버퍼부(201)에 가장 최근에 저장된 좌영상 프레임의 제1 타임스탬프를 추출할 수 있다. 그리고, 버퍼 제어부(203)는 제2 버퍼부(202)에 가장 최근에 저장된 우영상 프레임 의 제2 타임스탬프를 추출할 수 있다. 이 때, 버퍼 제어부(203)는 제1 버퍼부(201)에 가장 최근에 저장된 좌영상 스트림의 GOP(Group of picture) 중 첫번째 프레임의 PTS를 추출할 수 있다. 또는 버퍼 제어부(203)는 제1 버퍼부(201)에 가장 최근에 저장된 좌영상 스트림의 GOP(Group of picture) 중 마지막 프레임 또는 기준 프레임의 PTS를 추출할 수 있다.
그리고, 버퍼 제어부(203)는 제2 버퍼부(202)에 가장 최근에 저장된 우영상 스트림의 GOP 중 첫번째 프레임의 RTP 타임스탬프를 추출할 수 있다. 또는 버퍼 제어부(203)는 제2 버퍼부(202)에 가장 최근에 저장된 우영상 스트림의 GOP(Group of picture) 중 마지막 프레임 또는 기준 프레임의 RTP 타임스탬프를 추출할 수 있다. 한편, 버퍼 제어부(203)는 보다 빠르게 버퍼 사이즈를 계산하기 위해 GOP 대신 가장 최근에 저장된 엑세스 유닛의 타임스탬프를 추출할 수도 있다.
한편, 버퍼 제어부(203)는 디코더 버퍼에 최근에 저장된 좌영상 스트림의 액세스 유닛에서 제1 타임스탬프를 추출할 수 있다. 그리고, 영상 재생 장치(102)는 디코더 버퍼에 최근에 저장된 우영상 스트림의 액세스 유닛에서 제2 타임스탬프를 추출할 수 있다. 도 4에서 액세스 유닛이 왼쪽에 위치할수록 최근에 저장된 것을 의미하고, 액세스 유닛이 오른쪽에 위치할수록 예전에 저장된 것을 의미한다. 이 때, 기준이 되는 제1 타임스탬프를 추출하는 좌영상 스트림의 액세스 유닛과 제2 타임스탬프를 추출하는 우영상 스트림의 액세스 유닛은 동일 시점(same time)에서 수신한 것을 의미한다. 여기서, 디코더 버퍼는 ES buffer 또는 Ts buffer로 표현될 수 있다.
여기서, 제1 타임스탬프와 제2 타임스탬프는 DTS(decoding timestamp), PTS(presentation timestamp), RTP Timestamp, SMTPE timecode, 프레임 번호 중 어느 하나일 수 있다. 이 때, 버퍼 제어부(203)가 추출하는 타임스탬프는 디코딩 타임스탬프(DTS)일 수 있다. 하지만, 디코딩 타임스탬프가 존재하지 않는 경우, 출력 타임스탬프인 PTS, RTP Timestamp가 추출될 수 있다. 또한, 타임스탬프가 존재하지 않는 경우, 프레임 식별 번호, SMTPE timecode 등이 추출될 수 있다.
도 5는 본 발명의 일실시예에 따라 버퍼 사이즈를 제어하는 과정을 설명하는 도면이다.
버퍼 제어부(203)는 동기 정보, 좌영상 스트림의 제1 타임스탬프, 및 우영상 스트림의 제2 타임스탬프를 이용하여 제1 버퍼부(201) 및 제2 버퍼부(202)의 버퍼 사이즈를 제어할 수 있다.
버퍼 제어부(203)는 제1 버퍼부(201)와 제2 버퍼부(202)의 버퍼 사이즈를 결정할 수 있다. 이 때, 버퍼 제어부(203)는 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 제1 버퍼부(201)와 제2 버퍼부(202)의 버퍼 사이즈를 결정할 수 있다. 여기서, 수신 시간 차이는 영상 전송 장치(101)로부터 전송된 좌영상 스트림과 우영상 스트림이 영상 재생 장치(102)에 동시에 수신되지 않아서 발생될 수 있다.
버퍼 제어부(203)는 동기 정보, 좌영상 스트림의 제1 타임스탬프, 및 우영상 스트림의 제2 타임스탬프를 이용하여 제1 버퍼부(201) 및 제2 버퍼부(202)의 버퍼 지연시간을 결정할 수 있다.
버퍼 제어부(203)는 제1 버퍼부(201)와 제2 버퍼부(202)의 버퍼 지연시간을 결정할 수 있다. 이 때, 버퍼 제어부(203)는 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 제1 버퍼부(201)와 제2 버퍼부(202)의 버퍼 지연시간을 결정할 수 있다. 여기서, 수신 시간 차이는 영상 전송 장치(101)로부터 전송된 좌영상 스트림과 우영상 스트림이 영상 재생 장치(102)에 동시에 수신되지 않아서 발생될 수 있다.
그리고, 버퍼 제어부(203)는 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 계산할 수 있다. 일례로, 버퍼 제어부(203)는 동기 정보, 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 이용하여 수신 시간 차이를 계산할 수 있다. 동기 정보, 제1 타임스탬프 및 제2 타임스탬프의 추출 과정은 도 4에서 이미 설명한 바 있다.
만약 좌영상 스트림과 우영상 스트림이 동일한 기준 클럭을 사용하는 경우, 버퍼 제어부(203)는 제1 타임스탬프와 제2 타임스탬프 간의 타임스탬프 차이를 이용하여 수신 시간 차이를 계산할 수 있다.
그리고, 만약, 좌영상 스트림과 우영상 스트림이 서로 다른 기준 클럭을 사용하는 경우, 버퍼 제어부(203)는 동기 정보를 이용하여 제1 타임스탬프 또는 제2 타임스탬프 중 어느 하나를 변환함으로써 제1 타임스탬프와 제2 타임스탬프 간의 수신 시간 차이를 계산할 수 있다. 한편, 제1 타임스탬프 또는 제2 타임스탬프가 RTP 타임스탬프와 같이 랜덤 오프셋이 적용된 경우, 동기 정보를 이용하여 제1 타임스탬프 또는 제2 타임스탬프 중 어느 하나를 변환함으로써 제1 타임스탬프와 제2 타임스탬프 간의 수신 시간 차이를 계산할 수 있다. 구체적으로, 버퍼 제어부(203)는 동기 정보를 이용하여 제1 타임스탬프를 제2 타임스탬프와 동일한 형태로 변환하거나 또는 제2 타임스탬프를 제1 타임스탬프와 동일한 형태로 변환할 수 있다.
만약, 동기 정보가 타임스탬프의 페어 정보인 경우, 다음과 같이 변환될 수 있다.
일례로, 버퍼 제어부(203)는 부가 영상의 스트림에 포함됨 액세스 유닛(M-AUn)의 RTP_Timestamp(RTP_Vn)와 동기 정보인 액세스 유닛의 RTP_Timestamp(RTP_Sync_V)간의 타임 스탬프 차이(RTD_V)를 계산한다. 그런 다음, 버퍼 제어부(203)는 계산된 타임 스탬프 차이(RTD_V)를 동기 기준이 되는 액세스 유닛의 PTS(PTS_Sync)와 더하고, 더한 결과에 2^32으로 모듈러(Modulo) 연산을 수행할 수 있다. 이러한 과정을 통해 버퍼 제어부(203)는 부가 영상의 스트림에 포함된 각 액세스 유닛의 RTP 타임 스탬프를 PCR 기준의 출력시점 계산이 가능한 형태의 타임 스탬프(PTS of M-AUn)로 변환할 수 있다.
만약 RTP_Vn이 RTP_Sync_V보다 작을 경우, 버퍼 제어부(203)는 타임 스탬프의 롤오버(Rollover) 현상을 방지하기 위해 RTD_V를 계산할 때 (RTP_Vn-RTP_Sync_V) + 2^32을 이용한다. 만약 RTP_Vn이 RTP_Sync_V보다 크거나 같은 경우, 버퍼 제어부(203)는 RTD_V를 계산할 때 (RTP_Vn-RTP_Sync_V) % 2^32를 이용한다.
그리고, 동기 정보가 타임스탬프의 오프셋 정보인 경우, 다음과 같이 변환될 수 있다.
3DTV 방송 서비스를 위한 좌영상 스트림과 우영상 스트림의 프레임 레이트과 타임 스탬프의 클럭 레이트가 서로 동일한 경우, 좌영상 스트림 및 우영상 스트림의 타임 스탬프 오프셋을 동기 정보로 이용할 수 있다. 예를 들어 고정 및 이동 융합형 3DTV 시스템에서 좌영상 스트림과 우영상 스트림의 프레임 레이트가 같고, MPEG-2 시스템 PTS와 MDTV 시스템 RTP 타임 스탬프의 클럭 레이트가 같다. 이에 따라, 타임 스탬프 오프셋 방식을 이용할 수 있으며, 타임 스탬프 오프셋 방식은 3DTV 서비스를 위해 임의의 동일 시점에 출력해야 하는 좌영상 스트림 및 우영상 스트림의 액세스 유닛에 대응하는 타임 스탬프 오프셋을 동기 정보로 이용한다.
오프셋 사인 비트가 0인 경우, 버퍼 제어부(203)는 우영상 스트림의 액세스 유닛(M-AUn)의 RTP_Timestamp(RTP_Vn)와 동기 기준이 되는 액세스 유닛의 타임 스탬프 오프셋을 더한 결과에 2^32으로 모듈러(Modulo) 연산을 수행할 수 있다. 그러면, 버퍼 제어부(203)는 우영상 스트림에 포함된 각 액세스 유닛의 PCR 기준의 출력시점 계산이 가능한 형태의 타임 스탬프(PTS of M-AUn)를 계산할 수 있다. 여기서, 오프셋 사인 비트가 0이라는 것은 타임 스탬프 오프셋이 양수임을 의미하고, 1이라는 것은 타임 스탬프 오프셋이 음수임을 의미한다.
만약 오프셋 사인 비트가 1이고, RTP_Vn이 타임 스탬프 오프셋보다 크거나 같은 경우, 버퍼 제어부(203)는 우영상 스트림에 포함된 액세스 유닛의 PTS를 계산할 때 RTP_Vn-timestamp_offset 을 이용한다. 만약 오프셋 사인 비트가 1이고, RTP_Vn이 타임 스탬프 오프셋보다 작은 경우, 버퍼 제어부(203)는 우영상 스트림에 포함된 액세스 유닛의 PTS를 계산할 때 RTP_Vn-timestamp_offset + 2^32를 이용한다.
그리고, 버퍼 제어부(203)는 동기 정보를 이용하여 어느 한 쪽의 영상 스트림의 출력 시간 정보(타임스탬프, 프레임 식별번호, SMTPE timecode 등)를 다른 쪽의 영상 스트림의 출력 시간 정보로 변환함으로써 수신 시간 차이를 계산할 수 있다.
아래는 수신 시간 차이를 계산하는 과정을 나타낸다. 방법 1은 동기 정보가 타임스탬프 페어인 경우를 나타내고, 방법 2는 동기 정보가 오프셋 정보인 경우를 나타낸다.
(방법 1)
(i) 동기 정보: 좌영상 스트림의 타임스탬프와 우영상 스트림의 타임스탬프 페어 (좌: 100, 우: 200)
(ii) 제1 버퍼부(201)와 제2 버퍼부(202)에 최근에 저장된 좌영상 스트림의 액세스 유닛 및 우영상 스트림의 액세스 유닛 각각의 타임스탬프: (좌: 500, 우: 800)
(iii) 우영상 스트림의 타임스탬프가 좌영상 스트림의 타임스탬프 형태로 변환된 결과: 800-(200-100) = 700
(iv) 좌영상 스트림 타임스탬프와 및 변환된 우영상 스트림 타임스탬프 간의 수신 시간 차이: 500(좌)-700(우) = -200
(v) 좌영상 스트림의 타임스탬프의 클럭 레이트가 100Hz라고 가정할 경우, -200/100 = -2 이므로, 좌영상 스트림이 우영상 스트림보다 2초 먼저 도착
(방법 2)
(i) 동기 정보: 좌영상 스트림과 우영상 스트림 간의 타임스탬프 오프셋: -100
(ii) 제1 버퍼부(201)와 제2 버퍼부(202)에 최근에 저장된 좌영상 스트림의 액세스 유닛 및 우영상 스트림의 액세스 유닛 각각의 타임스탬프: (좌: 500, 우: 800)
(iii) 우영상 스트림의 타임스탬프가 좌영상 스트림의 타임스탬프 형태로 변환된 결과: 800 + (-100) = 700
(iv) 좌영상 스트림 타임스탬프와 및 변환된 우영상 스트림 타임스탬프 간의 수신 시간 차이: 500(좌)-700(우) = -200
(v) 좌영상 스트림의 타임스탬프의 클럭 레이트가 100Hz라고 가정할 경우, -200/100 = -2 이므로, 좌영상 스트림이 우영상 스트림보다 2초 먼저 도착
좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 계산할 때, 디코딩 타임스탬프(DTS)가 아닌 출력 타임스탬프(PTS, RTP Timestamp)를 이용하는 경우 디코딩 순서와 버퍼 출력 순서가 일치하지 않을 수 있다. 이 경우, 버퍼 제어부(203)는 영상 스트림에서 연속된 B 프레임의 개수를 고려하여 버퍼 사이즈 및 출력 시간을 제어할 수 있다. 예를 들어, 영상 스트림에서 연속된 B 프레임의 개수가 3일 경우, 출력 타임스탬프에 따라 계산된 수신 시간 차이와 실제 좌영상 스트림 및 우영상 스트림의 프레임이 제1 버퍼부(201)와 제2 버퍼부(202)에 각각 입력되는 시간 차이는 최대 4까지 달라질 수 있다. 이 경우, 버퍼 제어부(203)는 앞서 계산된 수신 시간 차이에 4 프레임 전송 시간을 추가하여 오차에 대응할 수 있다.
또는 버퍼제어부(203)은 GOP 사이즈를 고려하여 버퍼 사이즈 및 출력 시간을 제어할 수 있다. 예를 들어, 버퍼의 출력 단위가 GOP 단위일 경우, 버퍼 제어부(203)는 앞서 계산된 수신 시간 차이에 GOP를 이루는 프레임 수만큼의 프레임 전송 시간을 추가하여 오차에 대응할 수 있다.
버퍼 제어부(203)는 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 버퍼 사이즈를 결정할 수 있다. 일례로, 버퍼 제어부(203)는 버퍼에 저장된 액세스 유닛의 개수, 수신 시간 차이 및 영상 스트림의 프레임 레이트를 이용하여 좌영상 스트림과 우영상 스트림 간의 지연되는 프레임 개수를 계산하고, 계산된 프레임 개수에 따라 동적으로 설정되는 버퍼 사이즈를 결정할 수 있다.
그리고, 버퍼 제어부(203)는 좌영상 스트림 또는 우영상 스트림의 고정 비트레이트와 수신 시간 차이를 이용하여 버퍼 사이즈를 결정할 수 있다. 또는 버퍼 제어부(203)는 좌영상 스트림 또는 우영상 스트림의 데이터 레이트와 수신 시간 차이를 이용하여 버퍼 사이즈를 결정할 수 있다.
이 때, 수신 시간 차이를 Δt라고 가정한다. 이하에서, 수신 시간 차이를 이용하여 버퍼 사이즈를 계산하는 과정을 설명한다.
(방법 1) 제1 버퍼부(201)에 저장된 좌영상 스트림의 액세스 유닛의 개수와 제2 버퍼부(202)에 저장된 우영상 스트림의 액세스 유닛의 개수를 알 수 있는 경우
이 때, 영상 스트림의 프레임 레이트가 fr인 경우, 좌영상 스트림과 우영상 스트림 간에 지연되는 프레임의 개수는 Δt * fr이다. 즉, 버퍼 제어부(203)는 먼저 수신한 영상 스트림의 Δt * fr의 프레임을 버퍼에 저장하여 유지할 수 있다. 다시 말해서, 먼저 수신한 영상 스트림을 저장하는 버퍼의 사이즈는 나중에 수신하는 영상 스트림을 저장하는 버퍼의 사이즈보다 Δt * fr만큼 더 클 수 있다. 버퍼 사이즈는 동적으로 변할 수 있다.
(방법 2) 제1 버퍼부(201)와 제2 버퍼부(202)가 ES 버퍼로서 고정 비트레이트를 사용하는 경우
이 때, 고정 비트레이트가 br이면 버퍼 제어부(203)는 먼저 수신한 영상 스트림의 버퍼의 최대 사이즈를 Δt * br + VBV buffer로 유지할 수 있다.
(방법 3): 제1 버퍼부(201)와 제2 버퍼부(202)가 TS 버퍼로서 가변 비트레이트를 사용하는 경우
이 때, 가변 비트레이트가 tbr이면, 버퍼 제어부(203)는 먼저 수신한 영상 스트림의 버퍼의 최대 사이즈를 Δt * tbr + VBV buffer로 유지할 수 있다.
일례로, 버퍼 제어부(203)는 제2 타임스탬프인 RTP 타임스탬프를 PCR(Program Clock Reference) 기반의 타임스탬프로 변환할 수 있다. 버퍼 제어부(203)는 PCR에 따라 변환된 RTP 타임스탬프와 PTS%2^32의 차이를 추출하고, 추출된 차이를 이용하여 버퍼 사이즈를 결정할 수 있다. 일례로, 버퍼 제어부(203)는 하기 수학식 1에 따라 버퍼 사이즈를 계산할 수 있다.
여기서, timestamp_difference는 좌영상 스트림 또는 우영상 스트림의 타임스탬프 차이에 기초한 수신 시간 차이를 의미한다. 만약, PCR에 따라 변환된 RTP 타임스탬프가 PTS%2^32보다 큰 경우, 제2 버퍼부(202)의 버퍼 사이즈는 상기 수학식 1에 의해 결정되고, 제1 버퍼부(201)의 버퍼 사이즈는 VBV buffer 사이즈가 된다. 예를 들어, PCR에 따라 변환된 RTP 타임스탬프가 PTS%2^32보다 180,000만큼 큰 경우, 제2 버퍼부(202)의 버퍼 사이즈는 Buffer_size = (180,000 / 90,000) * 19.39Mbps + VBV buffer size = 38.78Mb + VBV buffer size로 결정될 수 있다.
유사한 방식으로, 버퍼 제어부(203)는 수신 시간 차이를 이용하여 제1 버퍼부(201)와 제2 버퍼부(202)의 출력 시점을 결정할 수 있다. 여기서, 출력 시점은 버퍼 지연 시간에 대응할 수 있다. 이 때, 출력 시점을 결정하는 방식은 버퍼 사이즈를 동적으로 결정하는 방식과 달리 고정 사이즈의 버퍼를 사용하는 경우에도 활용될 수 있다.
이 때, 버퍼 제어부(203)는 제1 버퍼부(201)가 제1 복호화부(204)에 기준 영상을 전달하는 출력 시점과 제2 버퍼부(202)가 제2 복호화부(205)에 부가 영상을 전달하는 출력 시점을 결정할 수 있다. 일례로, 버퍼 제어부(203)는 제1 버퍼부(201)에 가장 최근에 저장된 기준 영상의 프레임의 타임스탬프를 추출할 수 있다. 그리고, 버퍼 제어부(203)는 제2 버퍼부(202)에 가장 최근에 저장된 부가 영상의 프레임의 타임스탬프를 추출할 수 있다.
이 때, 버퍼 제어부(203)는 제1 버퍼부(201)에 가장 최근에 저장된 기준 영상의 ATSC 메인 스트림의 GOP(Group of picture) 중 가장 첫번째 프레임의 PTS를 추출할 수 있다. 그리고, 버퍼 제어부(203)는 제2 버퍼부(202)에 가장 최근에 저장된 부가 영상의 M/H 스트림의 GOP 중 가장 첫번째 프레임의 RTP 타임스탬프를 추출할 수 있다.
여기서, PTS(Presentation Timestamp: 프리젠테이션 타임 스탬프)는 ATSC 메인 방송망에서 오디오/비디오 액세스 유닛(AU)의 프리젠테이션(Presentation) 시간에 대한 동기를 수행하기 위해 PES 헤더에 실어 전송하는 33-bit 타임 스탬프를 의미한다. 이 때, PES(Packetized Elementary Stream: 패킷화된 기본 스트림)는 ATSC 메인 방송망에서 오디오/비디오 ES(Elementary Stream)의 전송을 위해 각 ES를 특정 길이로 분할한 패킷을 의미한다. 이때, PES의 헤더는 PTS를 포함한다. 한편, RTP(Realtime Transport Protocol: 실시간 전송 프로토콜)은 IP망을 통해 오디오/비디오 데이터를 전송하기 위한 규격을 의미한다.
버퍼 제어부(203)는 가장 최근에 제1 버퍼부(201) 및 제2 버퍼부(202)에 입력된 액세스 유닛에서 추출한 타임스탬프(RTP Timestamp 및 PTS) 정보를 기반으로, PCR에 따라 변환된 RTP 타임스탬프와 PTS%2^32를 비교하여, 제1 버퍼부(201) 및 제2 버퍼부(202)의 버퍼 지연 시간을 결정할 수 있다. 일례로, PCR에 따라 변환된 RTP 타임스탬프가 PTS%2^32보다 180,000이 작은 경우, RTP 타임스탬프 기반의 우영상 스트림이 PTS 기반의 좌영상 스트림보다 180,000(차이)/90,000(clock rate) 시간만큼 빨리 수신되고 있음을 의미한다. 그래서, 버퍼 제어부(203)는 우영상 스트림을 2초 동안 제2 버퍼부(202)에 저장한 이후에 제2 복호화부(205)로 출력함으로써 좌영상 스트림 및 우영상 스트림의 ES를 동시에 제1 복호화부(204)와 제2 복호화부(205)에 전달할 수 있다.
도 6은 본 발명의 일실시예에 따라 기준 클럭을 보정하거나 또는 타임스탬프를 보정하는 과정을 설명하는 도면이다.
도 6을 참고하면, T1은 좌영상 스트림의 액세스 유닛(AU1)을 수신하는 시간을 나타내고, T2는 우영상 스트림의 액세스 유닛(AU1)을 수신하는 시간을 나타낸다. 그리고, Δt는 T2-T1을 나타낸다. 도 6에서 T2가 T1보다 크며, 이는 좌영상 스트림이 우영상 스트림보다 먼저 영상 재생 장치(102)에 수신되었음을 나타낸다. 한편, 기준 클럭(reference clock)은 좌영상 스트림의 전송망을 통해 시그널링되었다고 가정한다.
그러면, 기준 클럭은 하기 수학식 2에 따라 보정될 수 있다.
여기서, 기준 클럭 Y는 보정된 기준 클럭을 의미하고, 기준 클럭 X는 원래 기준 클럭을 의미한다. 수학식 2에 의하면, 3DTV 서비스를 제공하는 영상 재생 장치(102)는 기준 클럭 X에 수신 시간 차이 및 클럭 레이트가 조합된 결과를 뺀 기준 클럭 Y를 이용할 수 있다. 예를 들어, 기준 클럭 X가 127,000,000이고 수신 시간 차이가 1초이며 기준 클럭의 클럭 레이트가 27,000,000Hz 이라고 가정할 경우, 기준 클럭 X인 PCR을 1초 이전으로 보정한 기준 클럭 Y=127,000,000-27,000,000 = 100,000,000를 이용할 수 있다.
수학식 2에 따라 T2를 나타내는 기준 클럭을 보정한 기준 클럭은 T1이다. 즉, 기준 클럭을 보정하면, 어느 한쪽의 영상 스트림이 수신된 이후에 나머지 한쪽의 영상 스트림이 수신될때까지의 시간만큼 기준 클럭을 지연시키는 효과가 발생한다.
우영상 스트림의 출력 시간을 나타내는 PTS, DTS, RTP timestamp 등은 시그널링된 동기 정보를 이용하여 좌영상 스트림의 기준 클럭을 이용할 수 있는 형태로 변경될 수 있다. 그리고, 변경된 우영상 스트림의 시간 정보와 보정된 기준 클럭은 우영상 스트림의 디코딩과 버퍼 출력에 이용될 수 있다. 예를 들어, 우영상 스트림의 액세스 유닛 1(AU1)의 타임스탬프를 변환한 결과가 T1이므로, 우영상 스트림의 액세스 유닛 1(AU1)은 좌영상 스트림의 액세스 유닛 1(AU1)과 동일한 시점에 출력될 수 있다. 한편, T1이 T2보다 큰 경우, 좌영상 스트림의 수신 시점에 이미 우영상 스트림이 버퍼에 저장되어 있으므로, 기준 클럭의 보정은 불필요할 수 있다.
한편, 기준클럭의 보정 방식 대신 타임스탬프의 보정을 통해 수신 지연에 대응하는 경우, 좌우영상의 타임스탬프는 하기 수학식 3에 따라 보정될 수 있다.
여기서, 프레임 시간 정보 Y는 보정된 타임스탬프를 의미하고, 프레임 시간 정보 X는 원래 타임스탬프를 의미한다. 기준 클럭을 보정하는 대신, 타임스탬프를 보정하면 전송된 기준 클럭을 그대로 활용할 수 있다. 구체적으로, 좌영상 스트림과 우영상 스트림의 액세스 유닛에 관련된 모든 타임스탬프(예: PTS, DTS, RTP Timestamp)등은 수신 시간 차이만큼 추가되어 보정될 필요가 있다. 예를 들어, 수신 시간 차이가 1초이고, 비디오 스트림의 PTS, DTS, RTP 타임스탬프의 클럭 레이트가 모두 90,000 Hz인 경우, 영상 재생 장치(102)는 원래 타임스탬프에 90,000을 더함으로써 도출된 보정된 타임스탬프를 이용할 수 있다.
도 6에서 타임스탬프를 보정하는 경우, T1을 나타내는 프레임 시간 정보를 보정한 결과는 T2를 나타낸다. 즉, 프레임 시간 정보의 보정은 어느 한쪽의 영상 스트림이 수신된 이후에 나머지 한쪽의 영상 스트림이 수신될 때까지의 시간만큼 프레임 시간 정보가 지연되는 효과가 있다. 앞서 설명한 예에서, 우영상 스트림의 프레임 시간 정보인 PTS, DTS, RTP Timestamp 등은 시그널링된 동기 정보를 이용하여 좌영상 스트림의 기준 클럭을 이용할 수 있는 형태로 변경되고, 변경된 타임스탬프와 원본 기준 클럭(좌영상 기준 클럭)은 우영상 스트림의 디코딩과 버퍼 출력시에 활용될 수 있다. 여기서, 원본 기준 클럭은 좌영상 스트림의 기준 클럭을 의미한다. 그리고, T1이 T2보다 큰 경우, 좌영상 스트림의 수신 시점에 우영상 스트림이 이미 버퍼에 저장되어 있으므로, 프레임 시간 정보의 보정은 불필요할 수 있다.
도 7은 본 발명의 일실시예에 따라 버퍼 사이즈를 제어하는 과정을 도시한 플로우차트이다.
단계(701)에서, 영상 재생 장치(102)는 좌영상 스트림과 우영상 스트림 간의 동기 정보를 획득할 수 있다. 일례로, 영상 재생 장치(102)는 임의의 특정 시점에서 동시에 출력되어야 하는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 포함하는 타임스탬프 페어 정보를 포함하는 동기 정보를 획득할 수 있다. 그리고, 영상 재생 장치(102)는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프 간의 오프셋 정보를 포함하는 동기 정보를 획득할 수 있다.
단계(702)에서, 영상 재생 장치(102)는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출할 수 있다. 일례로, 영상 재생 장치(102)는 동일 시점에 수신한 좌영상 스트림의 액세스 유닛 및 우영상 스트림의 액세스에 기초하여 제1 타임 스탬프 및 제2 타임스탬프를 추출할 수 있다. 또는, 영상 재생 장치(102)는 역다중화를 통해 근접한 시점에 추출한 좌영상 스트림의 제1 타임스탬프와 우영상 스트림의 제2 타임스탬프를 추출할 수 있다.
단계(703)에서, 영상 재생 장치(102)는 제1 타임스탬프, 제2 타임스탬프 및 동기 정보를 이용하여 상기 좌영상 스트림과 우영상 스트림 간 수신 시간 차이를 계산할 수 있다. 일례로, 만약 좌영상 스트림과 우영상 스트림이 동일한 기준 클럭을 사용하는 경우, 영상 재생 장치(102)는 제1 타임스탬프와 제2 타임스탬프 간의 타임스탬프 차이를 이용하여 수신 시간 차이를 계산할 수 있다. 그리고, 만약, 좌영상 스트림과 우영상 스트림이 다른 기준 클럭을 사용하거나 또는 랜덤 오프셋이 적용되는 경우, 영상 재생 장치(102)는 동기 정보를 이용하여 제1 타임스탬프 또는 제2 타임스탬프 중 어느 하나를 변환하고 제1 타임스탬프와 제2 타임스탬프 간의 타임스탬프 차이를 이용하여 수신 시간 차이를 계산할 수 있다.
단계(704)에서, 영상 재생 장치(102)는 수신 시간 차이를 이용하여 버퍼 사이즈를 결정할 수 있다. 일례로, 영상 재생 장치(102)는 버퍼에 저장된 액세스 유닛의 개수, 수신 시간 차이 및 영상 스트림의 프레임 레이트를 이용하여 좌영상 스트림과 우영상 스트림 간의 지연되는 프레임 개수를 계산하고, 계산된 프레임 개수에 따라 동적으로 설정되는 버퍼 사이즈를 결정할 수 있다. 다른 일례로, 영상 재생 장치(102)는 좌영상 스트림 또는 우영상 스트림의 고정 비트레이트와 수신 시간 차이를 이용하여 버퍼 사이즈를 결정할 수 있다. 또 다른 일례로, 영상 재생 장치(102)는 좌영상 스트림 또는 우영상 스트림의 데이터 레이트와 수신 시간 차이를 이용하여 버퍼 사이즈를 결정할 수 있다.
도 8은 본 발명의 일실시예에 따라 버퍼 지연 시간을 결정하는 과정을 도시한 플로우차트이다.
단계(801)에서, 영상 재생 장치(102)는 좌영상 스트림과 우영상 스트림 간의 동기 정보를 획득할 수 있다. 일례로, 영상 재생 장치(102)는 임의의 특정 시점에서 동시에 출력되어야 하는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 포함하는 타임스탬프 페어 정보를 포함하는 동기 정보를 획득할 수 있다. 그리고, 영상 재생 장치(102)는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프 간의 오프셋 정보를 포함하는 동기 정보를 획득할 수 있다.
단계(802)에서, 영상 재생 장치(102)는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출할 수 있다. 일례로, 영상 재생 장치(102)는 동일 시점에 수신한 좌영상 스트림의 액세스 유닛 및 우영상 스트림의 액세스 유닛에 기초하여 제1 타임 스탬프 및 제2 타임스탬프를 추출할 수 있다. 또는, 영상 재생 장치(102)는 역다중화를 통해 근접한 시점에 추출한 좌영상 스트림의 제1 타임스탬프와 우영상 스트림의 제2 타임스탬프를 추출할 수 있다.
단계(803)에서, 영상 재생 장치(102)는 제1 타임스탬프, 제2 타임스탬프 및 동기 정보를 이용하여 상기 좌영상 스트림과 우영상 스트림 간 수신 시간 차이를 계산할 수 있다. 일례로, 만약 좌영상 스트림과 우영상 스트림이 동일한 기준 클럭을 사용하는 경우, 영상 재생 장치(102)는 제1 타임스탬프와 제2 타임스탬프 간의 타임스탬프 차이를 이용하여 수신 시간 차이를 계산할 수 있다. 그리고, 만약, 좌영상 스트림과 우영상 스트림이 다른 기준 클럭을 사용하거나 또는 랜덤 오프셋이 적용되는 경우, 영상 재생 장치(102)는 동기 정보를 이용하여 제1 타임스탬프 또는 제2 타임스탬프 중 어느 하나를 변환하고 제1 타임스탬프와 제2 타임스탬프 간의 타임스탬프 차이를 이용하여 수신 시간 차이를 계산할 수 있다.
단계(804)에서, 영상 재생 장치(102)는 수신 시간 차이를 이용하여 버퍼 지연 시간을 결정할 수 있다. 일례로, 영상 재생 장치(102)는 좌영상 스트림이 우영상 스트림보다 먼저 수신된 경우, 수신 시간 차이만큼 우영상 스트림의 버퍼 지연 시간을 증가시킬 수 있다. 그리고, 영상 재생 장치(102)는 우영상 스트림이 좌영상 스트림보다 먼저 수신된 경우, 수신 시간 차이만큼 좌영상 스트림의 버퍼 지연 시간을 증가시킬 수 있다.
도 9는 본 발명의 일실시예에 따라 기준 클럭을 보정하는 과정을 도시한 플로우차트이다.
단계(901)에서, 영상 재생 장치(102)는 좌영상 스트림의 액세스 유닛과 우영상 스트림의 액세스 유닛 간의 수신 시간 차이를 계산할 수 있다.
단계(902)에서, 영상 재생 장치(102)는 수신 시간 차이를 이용하여 좌영상 스트림과 우영상 스트림 중 먼저 수신된 영상 스트림에 시그널링된 기준 클럭을 보정할 수 있다. 일례로, 영상 재생 장치(102)는 기준 클럭의 클럭 레이트에 수신 시간 차이를 적용한 결과를 이용하여 기준 클럭을 보정할 수 있다.
도 10은 본 발명의 일실시예에 따라 타임스탬프를 보정하는 과정을 도시한 도면이다.
단계(1001)에서, 영상 재생 장치(102)는 좌영상 스트림의 액세스 유닛과 우영상 스트림의 액세스 유닛 간의 수신 시간 차이를 계산할 수 있다.
단계(1002)에서, 영상 재생 장치(102)는 수신 시간 차이를 이용하여 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 보정할 수 있다. 일례로, 영상 재생 장치(102)는 기준 클럭의 클럭 레이트에 수신 시간 차이를 적용한 결과를 이용하여 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 보정할 수 있다.
도 11은 본 발명의 일실시예에 따라 좌영상 스트림과 우영상 스트림을 동기화하는 과정을 도시한 도면이다.
단계(1101)에서, 영상 재생 장치(102)는 좌영상 스트림과 우영상 스트림 간의 동기 정보를 획득할 수 있다.
단계(1102)에서, 영상 재생 장치(102)는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출할 수 있다.
단계(1103)에서, 영상 재생 장치(102)는 동기 정보를 이용하여 제1 타임스탬프 및 제2 타임스탬프 중 적어도 하나를 기준 클럭에 대응되도록 변환할 수 있다.
단계(1104)에서, 영상 재생 장치(102)는 기준 클럭에 따라 좌영상 스트림과 우영상 스트림을 매칭시켜 동기화할 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
101: 영상 전송 장치
102: 영상 재생 장치
102: 영상 재생 장치
Claims (20)
- 좌영상 스트림과 우영상 스트림 간의 동기 정보를 획득하는 단계;
좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출하는 단계;
상기 제1 타임스탬프, 제2 타임스탬프 및 동기 정보를 이용하여 상기 좌영상 스트림과 우영상 스트림 간 수신 시간 차이를 계산하는 단계; 및
상기 수신 시간 차이를 이용하여 버퍼 사이즈를 결정하는 단계
를 포함하는 영상 재생 장치의 버퍼 제어 방법. - 제1항에 있어서,
상기 동기 정보를 획득하는 단계는,
임의의 특정 시점에서 동시에 출력되어야 하는 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 포함하는 타임스탬프 페어 정보를 포함하는 동기 정보를 획득하는 영상 재생 장치의 버퍼 제어 방법. - 제1항에 있어서,
상기 동기 정보를 획득하는 단계는,
좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프 간의 오프셋 정보를 포함하는 동기 정보를 획득하는 영상 재생 장치의 버퍼 제어 방법. - 제1항에 있어서,
상기 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출하는 단계는,
동일 시점에 수신한 좌영상 스트림의 액세스 유닛 및 우영상 스트림의 액세스 유닛 중 가장 최근에 저장된 액세스 유닛에 기초하여 제1 타임 스탬프 및 제2 타임스탬프를 추출하는 영상 재생 장치의 버퍼 제어 방법. - 제1항에 있어서,
상기 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출하는 단계는,
역다중화를 통해 근접한 시점에 추출한 좌영상 스트림의 제1 타임스탬프와 우영상 스트림의 제2 타임스탬프를 추출하는 영상 재생 장치의 버퍼 제어 방법. - 제1항에 있어서,
상기 수신 시간 차이를 계산하는 단계는,
만약 좌영상 스트림과 우영상 스트림이 동일한 기준 클럭을 사용하는 경우, 제1 타임스탬프와 제2 타임스탬프 간의 타임스탬프 차이를 이용하여 수신 시간 차이를 계산하고,
만약, 좌영상 스트림과 우영상 스트림이 다른 기준 클럭을 사용하거나 또는 랜덤 오프셋이 적용되는 경우, 동기 정보를 이용하여 제1 타임스탬프 또는 제2 타임스탬프 중 어느 하나를 변환하고 제1 타임스탬프와 제2 타임스탬프 간의 타임스탬프 차이를 이용하여 수신 시간 차이를 계산하는 영상 재생 장치의 버퍼 제어 방법. - 제1항에 있어서,
상기 버퍼 사이즈를 결정하는 단계는,
버퍼에 저장된 액세스 유닛의 개수, 수신 시간 차이 및 영상 스트림의 프레임 레이트를 이용하여 좌영상 스트림과 우영상 스트림 간의 지연되는 프레임 개수를 계산하고, 계산된 프레임 개수에 따라 동적으로 설정되는 버퍼 사이즈를 결정하는 영상 재생 장치의 버퍼 제어 방법. - 제1항에 있어서,
상기 버퍼 사이즈를 결정하는 단계는,
상기 좌영상 스트림 또는 우영상 스트림의 고정 비트레이트와 수신 시간 차이를 이용하여 버퍼 사이즈를 결정하는 영상 재생 장치의 버퍼 제어 방법. - 제1항에 있어서,
상기 버퍼 사이즈를 결정하는 단계는,
상기 좌영상 스트림 또는 우영상 스트림의 데이터 레이트와 수신 시간 차이를 이용하여 버퍼 사이즈를 결정하는 영상 재생 장치의 버퍼 제어 방법. - 좌영상 스트림과 우영상 스트림 간의 동기 정보를 획득하는 단계;
좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출하는 단계;
상기 제1 타임스탬프, 제2 타임스탬프 및 동기 정보를 이용하여 상기 좌영상 스트림과 우영상 스트림 간 수신 시간 차이를 계산하는 단계; 및
상기 수신 시간 차이를 이용하여 버퍼 지연 시간을 결정하는 단계
를 포함하는 영상 재생 장치의 버퍼 제어 방법. - 제10항에 있어서,
상기 버퍼 지연 시간을 결정하는 단계는,
우영상이 좌영상보다 먼저 수신된 경우, 수신 시간 차이만큼 우영상 스트림의 버퍼 지연 시간을 증가시키고,
좌영상 스트림이 우영상 스트림보다 먼저 수신된 경우, 수신 시간 차이만큼 좌영상 스트림의 버퍼 지연 시간을 증가시키는 영상 재생 장치의 버퍼 제어 방법. - 좌영상 스트림의 액세스 유닛과 우영상 스트림의 액세스 유닛 간의 수신 시간 차이를 계산하는 단계; 및
상기 수신 시간 차이를 이용하여 좌영상 스트림과 우영상 스트림 중 먼저 수신된 영상 스트림에 시그널링된 기준 클럭을 보정하는 단계
를 포함하는 영상 재생 장치의 클럭 보정 방법. - 제12항에 있어서,
상기 기준 클럭을 보정하는 단계는,
상기 기준 클럭의 클럭 레이트에 수신 시간 차이를 적용한 결과를 이용하여 기준 클럭을 보정하는 영상 재생 장치의 클럭 보정 방법. - 좌영상 스트림의 액세스 유닛과 우영상 스트림의 액세스 유닛 간의 수신 시간 차이를 계산하는 단계; 및
상기 수신 시간 차이를 이용하여 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 보정하는 단계
를 포함하는 영상 재생 장치의 타임스탬프 보정 방법. - 제14항에 있어서,
상기 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 보정하는 단계는,
기준 클럭의 클럭 레이트에 수신 시간 차이를 적용한 결과를 이용하여 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 보정하는 영상 재생 장치의 타임스탬프 보정 방법. - 좌영상 스트림과 우영상 스트림 간의 동기 정보를 획득하는 단계;
좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프를 추출하는 단계;
동기 정보를 이용하여 상기 제1 타임스탬프 및 제2 타임스탬프 중 적어도 하나를 기준 클럭에 대응되도록 변환하는 단계; 및
상기 기준 클럭에 따라 좌영상 스트림과 우영상 스트림을 매칭시켜 동기화하는 단계
를 포함하는 영상 재생 장치의 동기화 방법. - 좌영상 스트림을 수신하여 저장하는 제1 버퍼부;
우영상 스트림을 수신하여 저장하는 제2 버퍼부; 및
상기 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 상기 제1 버퍼부와 제2 버퍼부의 버퍼 사이즈를 결정하는 버퍼 제어부
를 포함하고,
상기 수신 시간 차이는,
상기 좌영상 스트림의 제1 타임스탬프, 우영상 스트림의 제2 타임 스탬프 및 좌영상 스트림과 우영상 스트림 간의 동기 정보에 따라 결정되는 영상 재생 장치. - 좌영상 스트림을 수신하여 저장하는 제1 버퍼부;
우영상 스트림을 수신하여 저장하는 제2 버퍼부; 및
상기 좌영상 스트림과 우영상 스트림 간의 수신 시간 차이를 이용하여 제1 버퍼부 또는 제2 버퍼부의 버퍼 지연 시간을 결정하는 버퍼 제어부
를 포함하고,
상기 수신 시간 차이는,
상기 좌영상 스트림의 제1 타임스탬프, 우영상 스트림의 제2 타임 스탬프 및 좌영상 스트림과 우영상 스트림 간의 동기 정보에 따라 결정되는 영상 재생 장치. - 좌영상 스트림을 수신하여 저장하는 제1 버퍼부;
우영상 스트림을 수신하여 저장하는 제2 버퍼부; 및
좌영상 스트림의 액세스 유닛과 우영상 스트림의 액세스 유닛 간의 수신 시간 차이를 이용하여 (i) 좌영상 스트림과 우영상 스트림 중 먼저 수신된 영상 스트림에 시그널링된 기준 클럭을 보정하거나 또는 (ii) 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임스탬프를 보정하는 버퍼 제어부
를 포함하는 영상 재생 장치. - 좌영상 스트림을 수신하여 저장하는 제1 버퍼부; 및
우영상 스트림을 수신하여 저장하는 제2 버퍼부;
좌영상 스트림과 우영상 스트림 간의 동기 정보를 이용하여 좌영상 스트림의 제1 타임스탬프 및 우영상 스트림의 제2 타임 스탬프 중 적어도 하나를 기준 클럭에 따라 변환하고, 기준 클럭에 따라 좌영상 스트림과 우영상 스트림을 매칭시켜 동기화하는 영상 동기화부
를 포함하는 영상 재생 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2013/003653 WO2013162335A1 (ko) | 2012-04-26 | 2013-04-26 | 3dtv를 위한 영상 재생 장치 및 상기 장치가 수행하는 방법 |
US14/397,125 US20150109411A1 (en) | 2012-04-26 | 2013-04-26 | Image playback apparatus for 3dtv and method performed by the apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20120044061 | 2012-04-26 | ||
KR1020120044061 | 2012-04-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20130121058A true KR20130121058A (ko) | 2013-11-05 |
Family
ID=49851461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130046782A KR20130121058A (ko) | 2012-04-26 | 2013-04-26 | 3dtv를 위한 영상 재생 장치 및 상기 장치가 수행하는 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20150109411A1 (ko) |
KR (1) | KR20130121058A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243964A (zh) * | 2014-09-12 | 2014-12-24 | 西安诺瓦电子科技有限公司 | 立体led显示控制系统及方法、显示控制卡 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150109413A1 (en) * | 2013-10-21 | 2015-04-23 | Electronics And Telecommunications Research Institute | Video reception apparatus to provide hybrid service based on transport stream system target decoder model |
US9246852B2 (en) * | 2013-11-05 | 2016-01-26 | National Instruments Corporation | Lossless time based data acquisition and control in a distributed system |
WO2017082078A1 (ja) * | 2015-11-11 | 2017-05-18 | ソニー株式会社 | 画像処理装置および画像処理方法 |
US10764473B2 (en) * | 2016-01-14 | 2020-09-01 | Disney Enterprises, Inc. | Automatically synchronizing multiple real-time video sources |
KR20170093637A (ko) * | 2016-02-05 | 2017-08-16 | 한국전자통신연구원 | 이종 네트워크 환경에서 미디어 전송 스트림 버퍼링 방법 및 이를 이용한 영상 수신 장치 |
FR3055175B1 (fr) * | 2016-08-19 | 2018-08-10 | Tdf | Synchronisation de flux dans un recepteur |
US11675195B2 (en) * | 2021-05-21 | 2023-06-13 | Microsoft Technology Licensing, Llc | Alignment of 3D representations for hologram/avatar control |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004010670A1 (en) * | 2002-07-19 | 2004-01-29 | Koninklijke Philips Electronics N.V. | Jitter compensation method for systems having wall clocks |
WO2004030356A1 (ja) * | 2002-09-25 | 2004-04-08 | Matsushita Electric Industrial Co., Ltd. | 再生装置、光ディスク、記録媒体、プログラム、再生方法 |
JP4438059B2 (ja) * | 2004-08-24 | 2010-03-24 | キヤノン株式会社 | 画像再生装置及びその制御方法 |
JP4182437B2 (ja) * | 2004-10-04 | 2008-11-19 | ソニー株式会社 | オーディオビデオ同期システム及びモニター装置 |
EP2141689A1 (en) * | 2008-07-04 | 2010-01-06 | Koninklijke KPN N.V. | Generating a stream comprising interactive content |
KR101539935B1 (ko) * | 2008-06-24 | 2015-07-28 | 삼성전자주식회사 | 3차원 비디오 영상 처리 방법 및 장치 |
KR101831775B1 (ko) * | 2010-12-07 | 2018-02-26 | 삼성전자주식회사 | 멀티미디어 컨텐츠를 송수신하는 송신 장치 및 수신 장치와, 그 재생 방법 |
-
2013
- 2013-04-26 US US14/397,125 patent/US20150109411A1/en not_active Abandoned
- 2013-04-26 KR KR1020130046782A patent/KR20130121058A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243964A (zh) * | 2014-09-12 | 2014-12-24 | 西安诺瓦电子科技有限公司 | 立体led显示控制系统及方法、显示控制卡 |
Also Published As
Publication number | Publication date |
---|---|
US20150109411A1 (en) | 2015-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20130121058A (ko) | 3dtv를 위한 영상 재생 장치 및 상기 장치가 수행하는 방법 | |
US8917314B2 (en) | Apparatus and method for synchronizing stereoscopic image, and apparatus and method for providing stereoscopic image based on the same | |
KR101927145B1 (ko) | 다른 네트워크들을 통해 수신된 콘텐츠의 렌더링을 동기화하기 위한 디코더 및 이러한 디코더에서의 방법 | |
EP2728858B1 (en) | Receiving apparatus and receiving method thereof | |
US8351514B2 (en) | Method, protocol, and apparatus for transporting advanced video coding content | |
US9210354B2 (en) | Method and apparatus for reception and transmission | |
EP2574064A1 (en) | Image data transmitting device, image data transmitting method and image data receiving device | |
KR101405276B1 (ko) | 고정 및 이동 융합형 3dtv에서 좌/우 스트림을 동기화하는 컨텐츠 제공 장치 및 방법, 그리고, 컨텐츠 재생 장치 및 방법 | |
KR20120084252A (ko) | 복수의 실시간 전송 스트림을 수신하는 수신 장치와 그 송신 장치 및 멀티미디어 컨텐츠 재생 방법 | |
US10334293B2 (en) | Multiplexing apparatus, receiving apparatus, multiplexing method, and delay adjustment method | |
US20130276046A1 (en) | Receiving apparatus for receiving a plurality of signals through different paths and method for processing signals thereof | |
KR102137349B1 (ko) | 디코딩 장치, 수신기기, 송신기기, 송수신 시스템, 디코딩 방법, 및 디코딩 프로그램이 저장된 저장매체 | |
JP2023029415A (ja) | 送信方法、受信方法、送信装置及び受信装置 | |
US20140125762A1 (en) | Transmission device, transmission method, reception apparatus, and reception method | |
US9270972B2 (en) | Method for 3DTV multiplexing and apparatus thereof | |
US20140112395A1 (en) | Method and apparatus for decoder buffering in hybrid coded video system | |
KR102137350B1 (ko) | 디코딩 장치, 수신기기, 송신기기, 송수신 시스템, 디코딩 방법, 및 디코딩 프로그램이 저장된 저장매체 | |
KR20110129559A (ko) | 디지털 광고 삽입기를 위한 비동기 직렬 인터페이스 스위쳐 | |
JP5092493B2 (ja) | 受信プログラム、受信装置、通信システム、及び、通信方法 | |
US20150138317A1 (en) | System and method for providing three-dimensional (3d) broadcast service based on retransmission networks | |
KR20140053777A (ko) | 이종 비디오 코덱을 사용하는 영상 시스템에서의 디코더 버퍼링 방법 및 그 장치 | |
KR20170093637A (ko) | 이종 네트워크 환경에서 미디어 전송 스트림 버퍼링 방법 및 이를 이용한 영상 수신 장치 | |
US10531136B2 (en) | Data processing device, data processing method, and program | |
KR20150045869A (ko) | 전송 스트림 시스템 타겟 디코더 모델에 기초한 하이브리드 서비스를 제공하는 영상 수신 장치 | |
KR20140053938A (ko) | 신호 송신 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |