KR102634845B1 - 콘텐츠 출력 장치 및 콘텐츠 출력 방법 - Google Patents

콘텐츠 출력 장치 및 콘텐츠 출력 방법 Download PDF

Info

Publication number
KR102634845B1
KR102634845B1 KR1020210023362A KR20210023362A KR102634845B1 KR 102634845 B1 KR102634845 B1 KR 102634845B1 KR 1020210023362 A KR1020210023362 A KR 1020210023362A KR 20210023362 A KR20210023362 A KR 20210023362A KR 102634845 B1 KR102634845 B1 KR 102634845B1
Authority
KR
South Korea
Prior art keywords
margin range
video data
time
audio data
output
Prior art date
Application number
KR1020210023362A
Other languages
English (en)
Other versions
KR20220119912A (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 KR1020210023362A priority Critical patent/KR102634845B1/ko
Publication of KR20220119912A publication Critical patent/KR20220119912A/ko
Application granted granted Critical
Publication of KR102634845B1 publication Critical patent/KR102634845B1/ko

Links

Images

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/4307Synchronising 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
    • H04N21/43072Synchronising 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 of multiple content streams on the same device
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • 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/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4852End-user interface for client configuration for modifying audio parameters, e.g. switching between mono and stereo
    • 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/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

콘텐츠 출력 장치가 개시된다. 본 발명에 따른 콘텐츠 출력 장치는, 콘텐츠 스트림을 수신하는 통신부, 출력부, 및, 상기 콘텐츠 스트림을 디코딩하여 비디오 데이터 및 오디오 데이터를 생성하고, 상기 비디오 데이터의 비디오 PTS 및 상기 오디오 데이터의 오디오 PTS에 기반하여 상기 비디오 데이터 및 상기 오디오 데이터의 시간 갭을 획득하고, 상기 시간 갭이 마진 범위를 벗어나면 싱크 동작을 수행하여 상기 비디오 데이터 및 상기 오디오 데이터를 상기 출력부를 통하여 출력하는 제어부를 포함하고, 상기 제어부는, 상기 마진 범위를 동적으로 변경한다.

Description

콘텐츠 출력 장치 및 콘텐츠 출력 방법{DEVICE AND METHOD FOR OUTPUTTING CONTENT}
본 발명은, 마진 범위를 동적으로 변경하여 싱크 동작을 수행함으로써 정교한 비디오/오디오 싱크를 지원할 수 있는 콘텐츠 출력 장치 및 콘텐츠 출력 방법에 관한 것이다.
최근 TV는 대형화되고 4K, 8K 및 HDR 등의 고화질을 지원하는 추세이고, 이에 맞추어 각종 OTT(Over The Top) 서비스에서도 고화질 콘텐츠를 제공하고 있다.
한편, 보다 선명하고 큰 화면으로 TV를 시청하는 사용자는, 비디오와 오디오 간의 싱크가 어긋난 것을 기존에 비해 쉽게 발견할 수 있다. 따라서 유료 텔레비젼 방송(Pay TV)이나 프리미엄 OTT 서비스 등에서는 보다 강화된 비디오와 오디오 싱크 기준을 요구하고 있으며, 이에 따라 콘텐츠 출력 장치에서는 최대한 싱크 기준을 만족시켜야 하는 실정이다.
통상적으로 비디오와 오디오 간의 싱크는, 오디오 재생을 기준으로 비디오가 느리면 비디오 프레임을 버리고(버리기(discard)), 오디오 재생을 기준으로 비디오가 빠르면 비디오 프레임을 반복하는 방식(반복(repeat))으로 싱크를 맞추고 있다. 만약 시청 도중 비디오 화면이 부자연스러운 현상이 발생된다면, 이런 현상은 콘텐츠 출력 장치에서 발생하였을 가능성이 높다.
따라서 정교하게 비디오와 오디오간 싱크를 맞추면서도, 재생 도중에 버리기(discard)나 반복(repeat)이 수행되는 것을 최대한 줄여서 콘텐츠를 자연스럽게 출력하는 방안이 요구된다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 본 발명의 목적은 마진 범위를 동적으로 변경하여 싱크 동작을 수행함으로써 정교한 비디오/오디오 싱크를 지원할 수 있는 콘텐츠 출력 장치 및 콘텐츠 출력 방법을 제공하기 위함이다.
본 발명에 따른 콘텐츠 출력 장치는, 콘텐츠 스트림을 수신하는 통신부, 출력부, 및, 상기 콘텐츠 스트림을 디코딩하여 비디오 데이터 및 오디오 데이터를 생성하고, 상기 비디오 데이터의 비디오 PTS 및 상기 오디오 데이터의 오디오 PTS에 기반하여 상기 비디오 데이터 및 상기 오디오 데이터의 시간 갭을 획득하고, 상기 시간 갭이 마진 범위를 벗어나면 싱크 동작을 수행하여 상기 비디오 데이터 및 상기 오디오 데이터를 상기 출력부를 통하여 출력하는 제어부를 포함하고, 상기 제어부는, 상기 마진 범위를 동적으로 변경한다.
이 경우 상기 제어부는, 이벤트가 발생하면 상기 마진 범위를 제1 마진 범위로 설정하고, 상기 이벤트가 발생한 후 제1 시간이 경과하면, 상기 마진 범위를 상기 제1 마진 범위로부터 상기 제1 마진 범위보다 큰 제2 마진 범위로 변경할 수 있다.
이 경우 상기 제어부는, 상기 이벤트가 발생하고 상기 시간 갭이 상기 제1 마진 범위를 벗어나면, 버퍼 내 상기 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행함으로써 상기 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭을 상기 제1 마진 범위 이내로 조절하고, 상기 이벤트가 발생한 후 상기 제1 시간이 경과하고 상기 시간 갭이 상기 제2 마진 범위를 벗어나면, 상기 버퍼 내 상기 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행함으로써 상기 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭을 상기 제2 마진 범위 이내로 조절할 수 있다.
한편 상기 제1 시간은, 상기 이벤트가 발생한 후 상기 시간 갭이 상기 제1 마진 범위 이내가 되는 시간보다 클 수 있다.
한편 상기 이벤트는, 채널 튜닝, 재생 시작, 자막 설정 및 오디오의 변경 중 어느 하나일 수 있다.
한편 상기 제어부는, 상기 마진 범위가 상기 제1 마진 범위로부터 상기 제2 마진 범위로 변경되면, 새로운 이벤트가 발생되기 전까지 상기 제2 마진 범위를 유지할 수 있다.
한편 상기 제어부는, 상기 이벤트가 발생한 후 상기 제1 시간이 경과함에 따라 상기 마진 범위가 상기 제2 마진 범위로 변경되면, 상기 제2 마진 범위로 변경된 시점 이후의 제2 시간 동안 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭의 평균 값을 산출할 수 있다.
이 경우 상기 제어부는, 상기 평균 값이 0에 접근하도록, 상기 버퍼 내 상기 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행할 수 있다.
한편 본 발명에 따른 콘텐츠 출력 방법은, 콘텐츠 스트림을 수신하는 단계, 상기 콘텐츠 스트림을 디코딩하여 비디오 데이터 및 오디오 데이터를 생성하는 단계, 상기 비디오 데이터의 비디오 PTS 및 상기 오디오 데이터의 오디오 PTS에 기반하여 상기 비디오 데이터 및 상기 오디오 데이터의 시간 갭을 획득하는 단계, 및, 상기 시간 갭이 마진 범위를 벗어나면 싱크 동작을 수행하여 상기 비디오 데이터 및 상기 오디오 데이터를 출력하는 단계를 포함하고, 상기 마진 범위는, 동적으로 변경될 수 있다.
이 경우 상기 싱크 동작을 수행하는 단계는, 이벤트가 발생하면 상기 마진 범위를 제1 마진 범위로 설정하는 단계, 및, 상기 이벤트가 발생한 후 제1 시간이 경과하면, 상기 마진 범위를 상기 제1 마진 범위로부터 상기 제1 마진 범위보다 큰 제2 마진 범위로 변경하는 단계를 포함할 수 있다.
이 경우 상기 제1 마진 범위로 설정하는 단계는, 상기 이벤트가 발생하고 상기 시간 갭이 상기 제1 마진 범위를 벗어나면, 버퍼 내 상기 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행함으로써 상기 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭을 상기 제1 마진 범위 이내로 조절하는 단계를 포함하고, 상기 제2 마진 범위로 변경하는 단계는, 상기 이벤트가 발생한 후 상기 제1 시간이 경과하고 상기 시간 갭이 상기 제2 마진 범위를 벗어나면, 상기 버퍼 내 상기 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행함으로써 상기 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭을 상기 제2 마진 범위 이내로 조절하는 단계를 포함할 수 있다.
한편 상기 제1 시간은, 상기 이벤트가 발생한 후 상기 시간 갭이 상기 제1 마진 범위 이내가 되는 시간보다 클 수 있다.
한편 상기 이벤트는, 채널 튜닝, 재생 시작, 자막 설정 및 오디오의 변경 중 어느 하나일 수 있다.
한편 상기 제2 마진 범위로 변경하는 단계는, 상기 마진 범위가 상기 제1 마진 범위로부터 상기 제2 마진 범위로 변경되면, 새로운 이벤트가 발생되기 전까지 상기 제2 마진 범위를 유지하는 단계를 포함할 수 있다.
한편 상기 이벤트가 발생한 후 상기 제1 시간이 경과함에 따라 상기 마진 범위가 상기 제2 마진 범위로 변경되면, 상기 제2 마진 범위로 변경된 시점 이후의 제2 시간 동안 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭의 평균 값을 산출하는 단계를 더 포함할 수 있다.
이 경우 상기 평균 값이 0에 접근하도록, 상기 버퍼 내 상기 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행하는 단계를 더 포함할 수 있다.
본 발명에 따르면, 마진 범위를 동적으로 변경하여 비디오와 오디오 간 싱크를 정교하게 맞추면서도 사용자에게 자연스러운 영상을 제공할 수 있는 장점이 있다.
본 발명에서는 이벤트 발생 시 마진 범위를 제1 마진 범위로 설정함으로써 비디오 데이터와 오디오 데이터 간의 시간 갭이 최대한 0에 근접하도록 한다. 그리고 마진 범위가 제1 마진 범위로 설정된 동안에는 싱크 동작에 의하여 부자연스러운 영상이 출력될 수 있지만, 제1 시간이 경과하면 마진 범위를 제2 마진 범위로 변경함으로써 부자연스러운 영상이 계속 출력되는 것을 방지할 수 있다.
그리고 마진 범위가 제1 마진 범위로 설정된 동안 비디오 데이터와 오디오 데이터 간의 시간 갭이 0에 근접하였기 때문에, 정교하게 싱크가 맞춰진 상태에서 콘텐츠를 제공할 수 있다.
또한 마진 범위가 제1 마진 범위로 설정된 동안 비디오 데이터와 오디오 데이터 간의 시간 갭이 0에 근접하였기 때문에, PTS 갭의 변화 폭이 심한 콘텐츠인 경우에도 시간 갭이 제2 마진 범위를 잘 벗어나지 않게 된다. 따라서 싱크 동작(반복(repeat) 또는 버리기(discard))이 수행되는 것을 최소화할 수 있다.
또한 본 발명에 따르면, 기존 칩셋(멀티미디어 프로세서)을 하드웨어적으로 변경하는 것 없이, 칩셋(멀티미디어 프로세서)에 제1 마진 범위와 제2 마진 범위를 설정하는 간단한 행위(소프트웨어적인 수정) 만으로도 동적인 마진 범위의 운용이 가능하다. 따라서 본 발명은 이미 사용되고 있는 콘텐츠 출력 장치나 외부 업체로부터 납품 받은 칩셋(멀티미디어 프로세서)에 손쉽게 적용될 수 있는 장점이 있다.
본 발명에 따르면, PTS 갭이 일정하지 않고 급격히 변화하는 콘텐츠에서도 비디오 데이터와 오디오 데이터 간의 시간 갭의 평균 값을 0에 접근시킴으로써, 싱크를 정교하게 맞추고 싱크 동작(반복(repeat) 또는 버리기(discard))이 수행되는 것을 최소화할 수 있는 장점이 있다.
도 1은 채널 변경 시의 싱크 동작을 설명하기 위한 도면이다.
도 2는 본 발명에 따른 콘텐츠 출력 장치를 설명하기 위한 블록도이다.
도 3은 본 발명에 따른, 제어부의 세부 구성을 설명하기 위한 도면이다.
도 4는 본 발명에 따른, 비디오 디코더 출력 버퍼(VDEC Output Buffer)(148) 및 오디오 디코더 출력 버퍼(ADEC Output Buffer)(149)를 도시한 도면이다.
도 5는 본 발명에 따른, AV 출력 컨트롤러(AV Output Controller)(150)의 싱크 동작을 설명하기 위한 도면이다.
도 6은 본 발명에 따른 콘텐츠 출력 방법을 설명하기 위한 도면이다.
도 7은 마진 범위를 동적으로 변경하는 방법을 설명하기 위한 도면이다.
도 8은 본 발명에 따른, 마진 범위를 조절하는 방법을 설명하기 위한 도면이다.
도 9는 PTS 갭이 일정하지 않고 급격히 변화하는 콘텐츠의 PTS 갭을 도시한 도면이다.
도 10은 본 발명에 따른, 시간 갭의 평균을 0에 근접하도록 하는 방법을 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
도 1은 채널 변경 시의 싱크 동작을 설명하기 위한 도면이다.
디지털 방송 또는 온라인 스트리밍 서비스가 대중화 되면서 콘텐츠 출력 장치의 칩셋(멀티미디어 프로세서)에는 이미 비디오와 오디오간 싱크를 맞추는 기능이 내장되어 있다.
한편 전송 스트림(Transport Stream) 또는 프로그램 스트림(Program Stream) 내부에는, 디지털 방송 및 스트리밍 서비스에서는 비디오를 출력하는 시간(Video Presentation Time Stamp, 이하 비디오 PTS라 함)과 오디오를 출력하는 시간(Audio Presentation Time Stamp, 이하 오디오 PTS라 함)이 포함되게 된다.
한편 비디오 PTS 와 오디오 PTS의 차이(비디오 PTS ? 오디오 PTS, 이하 PTS 갭이라 함)은 항상 일정한 것이 아니라, 동영상 인코딩을 하는 방식에 따라서 PTS 갭이 변화하는 콘텐츠가 존재할 수 있다.
예를 들어 현재 프레임 기준으로는 PTS 갭이 45ms이나, 다음 프레임 기준으로는 PTS 갭이 -10ms일 수 있다. 그리고 이렇게 PTS 갭의 변화 폭이 심한 콘텐츠에서 싱크 동작(반복(repeat) 또는 버리기(discard))을 계속적으로 수행하는 경우 영상이 부자연스럽게 출력되기 때문에, 칩셋에서는 PTS 갭이 마진 범위에 있는 경우 싱크 동작을 하지 않는다.
싱크에 대한 규격을 참고하면, 비디오 PTS와 오디오 PTS 간의 PTS 갭을 ATSC Doc. IS-191 에서는 -45ms ~ +15ms으로 권장하고 있으며, ITU-R BT.1359-1 에서는 -45ms~+125ms으로 권고하고 사람이 실제 시청하고 수용 가능한 기준을 -90ms~+185ms로 규정하고 있다.
한편 ATSC 및 ITU-R의 권고사항에 맞추어, 콘텐츠 출력 장치의 칩셋들은 PTS 갭이 일정 범위 내에 있으면, 비디오와 오디오간 싱크 동작을 수행하지 않는다. 본 명세서는 비디오와 오디오간 싱크 동작을 수행하지 않는 범위를 마진 범위라고 명칭하도록 한다.
즉 마진 범위를 -100ms 내지 100ms로 가정하는 경우, 칩셋은 PTS 갭이 마진 범위 내에 있으면 싱크 동작을 수행하지 않고 PTS 갭이 마진 범위를 벗어나면 싱크 동작을 하게 된다.
현재 셋탑 박스나 TV 등의 콘텐츠 출력 장치에서 사용하는 칩셋(멀티미디오 프로세서)는, PTS 갭이 마진 범위 밖에 있는 경우 PTS 갭이 마진 범위 이내로 오도록 싱크 동작을 수행하도록 설계되어 있다.
도 1을 참고하면, 마진 범위가 -100ms 내지 100ms인 경우의 칩셋(멀티미디오 프로세서)의 동작 결과가 도시되어 있다.
채널 0으로 튜닝한 경우의 예를 들면, 채널 0으로 튜닝한 경우 최초의 PTS 갭은 120ms로써, 마진 범위를 벗어난 상태이다. 따라서 칩셋(멀티미디오 프로세서)은 싱크 동작을 수행하였으며, 이에 따라 PTS 갭은 0ms에 가깝게 조절되었다.
한편 채널 2로 튜닝한 경우의 최초 PTS 갭은 역시 마진 범위를 벗어난 상태이며, 따라서 칩셋(멀티미디오 프로세서)은 싱크 동작을 수행하여 PTS 갭을 0ms에 가깝게 조절하였다.
채널 1, 채널 3, 채널 4로 튜닝한 경우도, 그래프 상에는 도시되어있지 않지만 미세한 시간 동안 최초 PTS 갭은 역시 마진 범위를 벗어났다. 따라서 칩셋(멀티미디오 프로세서)은 싱크 동작을 수행하여 PTS 갭을 0ms에 가깝게 조절하였다.
한편 채널 5로 튜닝한 경우를 살피면, 채널 5로 튜닝한 경우 최초의 PTS 갭은 약 83ms으로써, 마진 범위 이내이다. 즉 PTS 갭이 마진 범위 이내이기 때문에 칩셋(멀티미디오 프로세서)은 싱크 동작을 수행하지 않으며, 이에 따라 PTS 갭은 계속적으로 약 83ms 정도로 유지되게 된다. 이 경우 비디오 데이터와 오디오 데이터 사이의 시간 갭이 0 ms가 아니라 약 83ms 정도로 계속 유지되기 때문에, 싱크의 정교함이 떨어지는 문제가 발행할 수 있다. 또한 PTS 갭의 변화 폭이 심한 콘텐츠인 경우에는 PTS 갭이 다시 마진 범위 밖으로 나갈 수 있기 때문에, 싱크 동작(반복(repeat) 또는 버리기(discard))이 또다시 수행되어 부자연스러운 영상이 출력될 수 있다.
또 다른 문제로써, 현재 셋탑 박스나 TV 등의 콘텐츠 출력 장치에서 사용하는 칩셋(멀티미디오 프로세서)은, PTS 갭이 마진 범위 밖에 있는 경우 PTS 갭이 마진 범위 이내로 오도록 싱크 동작을 수행하고, PTS 갭이 마진 범위 이내로 들어오면 싱크 동작을 중단하도록 설계되어 있다. 예를 들어, PTS 갭이 마진 범위 이내로 오기만 하면 싱크 동작이 중단되기 때문에, PTS 갭이 120ms로부터 90ms 까지만 변경되어도 싱크 동작이 중단될 수 있다. 이 경우 비디오 데이터와 오디오 데이터 사이의 시간 갭이 0 ms가 아니라 약 90ms 정도로 계속 유지되기 때문에, 싱크의 정교함이 떨어지는 문제가 발행할 수 있다. 또한 PTS 갭의 변화 폭이 심한 콘텐츠인 경우에는 PTS 갭이 다시 마진 범위 밖으로 나갈 수 있기 때문에, 싱크 동작(반복(repeat) 또는 버리기(discard))이 또다시 수행되어 부자연스러운 영상이 출력될 수 있다.
이러한 문제점을 해결하기 위하여, 본 발명에서는 마진 범위를 동적으로 변경하는 방안을 제안한다.
도 2는 본 발명에 따른 콘텐츠 출력 장치를 설명하기 위한 블록도이다.
콘텐츠 출력 장치(100)는 방송 스트림을 수신하여 디코딩하고, 디코딩된 비디오 데이터 및 오디오 데이터를 다른 장치에 전송하거나 직접 출력할 수 있는 장치들을 의미할 수 있다.
예를 들어 콘텐츠 출력 장치(100)는 셋탑 박스와 같은 영상 처리 장치일 수 있다. 이 경우 영상 처리 장치는 선국된 방송 채널에 대한 콘텐츠 스트림을 수신하고, 수신된 콘텐츠 스트림을 디코딩하여 비디오 데이터 및 오디오 데이터를 출력할 수 있다. 이 경우 출력된 비디오 데이터 및 오디오 데이터는 TV와 같은 디스플레이 장치에 전송되어, 디스플레이 장치에 의해 디스플레이 또는 출력될 수 있다.
또한 콘텐츠 출력 장치(100)는 TV와 같은 디스플레이 장치일 수 있다. 이 경우 디스플레이 장치는 선국된 방송 채널에 대한 콘텐츠 스트림을 수신하고, 수신된 콘텐츠 스트림을 디코딩하여 비디오 데이터 및 오디오 데이터를 디스플레이 또는 출력할 수 있다.
콘텐츠 출력 장치(100)는 통신부(110), 출력부(120), 메모리(130) 및 제어부(140)를 포함할 수 있다.
통신부(110)는 콘텐츠 출력 장치(100)와 외부 장치 사이의 유선 또는 무선 통신을 지원할 수 있다.
구체적으로 통신부(110)는 콘텐츠 출력 장치(100)를 인터넷망을 포함하는 유/무선 네트워크와 연결하기 위한 인터페이스를 제공할 수 있다. 통신부(110)는 접속된 네트워크 또는 접속된 네트워크에 링크된 다른 네트워크를 통해, 서버(100)와 데이터를 송신 또는 수신할 수 있다.
한편 통신부(110)는 콘텐츠 스트림을 수신할 수 있다. 여기서 콘텐츠 스트림이란 전송 스트림(Transport Stream)과 프로그램 스트림(Program Stream) 등을 포함할 수 있으며, 콘텐츠 스트림을 통하여 방송 콘텐츠, VOD, 스트리밍 콘텐츠 등이 전송될 수 있다.
출력부(120)는 디스플레이 장치에 비디오 데이터 및 오디오 데이터를 전송하기 위한 인터페이스를 포함하거나, 비디오 데이터 및 오디오 데이터를 직접 출력하기 위한 디스플레이 및 스피커를 포함할 수 있다.
구체적으로 콘텐츠 출력 장치(100)가 셋탑 박스와 같은 영상 처리 장치인 경우, 출력부(120)는 디스플레이 장치와 연결되기 위한 인터페이스를 포함하고, 비디오 데이터 및 오디오 데이터를 디스플레이 장치에 전송할 수 있다. 이 경우 출력부(120)는 HDMI 포트일 수 있다.
또한 콘텐츠 출력 장치(100)가 TV 등의 디스플레이 장치인 경우, 출력부(120)는 디스플레이를 통하여 비디오 데이터를 디스플레이 하고 스피커를 통하여 오디오 데이터를 출력할 수 있다.
한편 메모리(130)는 제어부(140)의 각종 신호 처리 및 제어를 위한 프로그램, 컨텐츠, 디코딩된 콘텐츠, 기타 데이터 등을 저장할 수 있다.
또한 메모리(230)는 콘텐츠 출력 장치(100)의 동작을 위한 응용 프로그램 또는 데이터를 저장할 수 있다.
한편 제어부(140)는 콘텐츠 출력 장치(100)의 전반적인 동작을 제어할 수 있다.
또한 제어부(140)는 콘텐츠 스트림을 디코딩하여 비디오 데이터 및 오디오 데이터를 생성하고, 비디오 데이터의 비디오 PTS 및 오디오 데이터의 오디오 PTS에 기반하여 비디오 데이터 및 오디오 데이터의 시간 갭을 획득하고, 시간 갭이 마진 범위를 벗어나면 싱크 동작을 수행할 수 있다.
도 3은 본 발명에 따른, 제어부의 세부 구성을 설명하기 위한 도면이다.
제어부의 세부 구성은, MPEG의 다양한 표준 셋트 중 MPEG2 System 규격을 예시로 설명하기로 한다. 하지만, 본 발명의 기본적인 동작은 다른 동영상의 국내외 표준 또는 De-facto 표준으로 충분한 변형이 가능하므로 본 발명의 범위는 MPEG2 System에 국한하지 않는다.
디먹스(Demux)(141)는 콘텐츠 스트림을 통하여 수신된 콘텐츠(방송 콘텐츠, VOD, 스트리밍 콘텐츠 등)을 분석하여 비디오 콘텐츠, 오디오 콘텐츠 및 데이터를 구분할 수 있다.
디스크램버(Descrambler)(142)는 방송 수신제한시스템(CAS)나 디지털 저작권 관리(DRM)에 의해 제한되는 콘텐츠를 구분할 수 있다.
비디오 디코더 인풋 버퍼(VDEC Input Buffer)(143)와 오디오 디코더 인풋 버퍼(ADEC Input Buffer)는 디코더의 앞단에 존재하는 버퍼일 수 있다. 그리고 비디오 디코더 인풋 버퍼(VDEC Input Buffer)(143)는 콘텐츠 스트림 상에 포함되어 있는 디코딩 타임 스탬프(Decoding Time Stamp, DTS)에 맞추어 비디오 디코더(VDEC)(146)에 비디오 콘텐츠를 전송할 수 있다. 또한 오디오 디코더 인풋 버퍼(ADEC Input Buffer)(144)는 콘텐츠 스트림 상에 포함되어 있는 디코딩 타임 스탬프(Decoding Time Stamp, DTS)에 맞추어 오디오 디코더(ADEC)(147)에 오디오 콘텐츠를 전송할 수 있다.
시스템 타임 클럭(System Time Clock)(145)은 콘텐츠 스트림으로부터 PCR(Program Clock Reference) 파싱을 수행하여 기준 클럭을 생성하고, 콘텐츠 출력 장치(100)의 각 구성 요소에 기준 클럭을 제공할 수 있다. 특히 기준 클럭은 디코딩 타임 스탬프(Decoding Time Stamp, DTS) 및 표현 시간 지정 정보(Presentation Time Stamp, PTS)에 대하여 시간 기준 값을 제공할 수 있다.
비디오 디코더(VDEC)(146)는 비디오 콘텐츠를 디코딩하여 비디오 데이터를 생성하고, 생성된 비디오 데이터를 비디오 디코더 출력 버퍼(VDEC Output Buffer)(148)에 전송할 수 있다.
또한 오디오 디코더(ADEC)(147)는 오디오 콘텐츠를 디코딩하여 오디오 데이터를 생성하고, 생성된 오디오 데이터를 오디오 디코더 출력 버퍼(ADEC Output Buffer)(149)에 전송할 수 있다.
비디오 디코더 출력 버퍼(VDEC Output Buffer)(148)는, AV 출력 컨트롤러(AV Output Controller)(150)의 제어 하에, 비디오 데이터를 출력부(120)로 전송할 수 있다.
또한 오디오 디코더 출력 버퍼(ADEC Output Buffer)(149)는, AV 출력 컨트롤러(AV Output Controller)(150)의 제어 하에, 비디오 데이터를 출력부(120)로 전송할 수 있다.
AV 출력 컨트롤러(AV Output Controller)(150)는 비디오 데이터의 비디오 PTS 및 오디오 데이터의 오디오 PTS에 기반하여 비디오 데이터 및 오디오 데이터의 시간 갭을 획득하고, 시간 갭이 마진 범위를 벗어나면 싱크 동작을 수행할 수 있다.
또한 AV 출력 컨트롤러(AV Output Controller)(150)는 마진 범위를 동적으로 변경할 수 있다.
한편 본 명세서에서, 용어 PTS 갭은 용어 시간 갭과 혼용되어 사용될 수 있다.
도 4는 본 발명에 따른, 비디오 디코더 출력 버퍼(VDEC Output Buffer)(148) 및 오디오 디코더 출력 버퍼(ADEC Output Buffer)(149)를 도시한 도면이다.
비디오 디코더 출력 버퍼(VDEC Output Buffer)(148)는 비디오 데이터의 복수의 프레임을 저장할 수 있다.
예를 들어 도 3a를 참고하면, 비디오 디코더 출력 버퍼(VDEC Output Buffer)(148)는 첫번째 프레임으로부터 N번째 프레임까지의 복수의 프레임을 저장할 수 있으며, 복수의 프레임은 첫번째 프레임부터 순차적으로 출력부(120)에 출력될 수 있다.
또한 복수의 프레임은, 각각 상응하는 비디오 PTS를 가질 수 있다.
한편 오디오 디코더 출력 버퍼(ADEC Output Buffer)(149)는 오디오 데이터의 복수의 부분 오디오 데이터를 저장할 수 있다.
예를 들어 도 3b를 참고하면, 오디오 디코더 출력 버퍼(ADEC Output Buffer)(149)는 첫번째 부분 오디오 데이터로부터 N번째 부분 오디오 데이터까지의 복수의 부분 오디오 데이터를 저장할 수 있으며, 복수의 부분 오디오 데이터는 첫번째 부분 오디오 데이터부터 순차적으로 출력부(120)에 출력될 수 있다.
또한 복수의 부분 오디오 데이터는, 각각 상응하는 오디오 PTS를 가질 수 있다.
한편 AV 출력 컨트롤러(AV Output Controller)(150)는 비디오 디코더 출력 버퍼(VDEC Output Buffer)(148) 내 복수의 프레임에 각각 할당된 복수의 비디오 PTS와, 오디오 디코더 출력 버퍼(ADEC Output Buffer)(149) 내 복수의 부분 오디오 데이터에 각각 할당된 복수의 오디오 PTS를 실시간 모니터링 할 수 있다.
한편 AV 출력 컨트롤러(AV Output Controller)(150)는 비디오 데이터 및 오디오 데이터의 시간 갭을 획득할 수 있다.
구체적으로 AV 출력 컨트롤러(AV Output Controller)(150)는 서로 상응하는 비디오 데이터 및 오디오 데이터의 시간 갭을 획득할 수 있다. 예를 들어 AV 출력 컨트롤러(AV Output Controller)(150)는, 비디오 데이터의 제1 프레임과 오디오 데이터의 제1 부분 오디오 데이터를 비교하여 시간 갭을 획득하고, 비디오 데이터의 제2 프레임과 오디오 데이터의 제2 부분 오디오 데이터를 비교하여 시간 갭을 획득할 수 있다.
이 경우 AV 출력 컨트롤러(AV Output Controller)(150)는 비디오 데이터의 비디오 PTS 및 오디오 데이터의 오디오 PTS에 기반하여 비디오 데이터 및 오디오 데이터의 시간 갭을 획득할 수 있다.
예를 들어 AV 출력 컨트롤러(AV Output Controller)(150)는, 비디오 데이터의 제1 프레임의 비디오 PTS와 제1 부분 오디오 데이터의 오디오 PTS를 이용하여 비디오 데이터 및 오디오 데이터의 시간 갭(비디오 PTS ? 오디오 PTS)을 획득할 수 있다.
도 5는 본 발명에 따른, AV 출력 컨트롤러(AV Output Controller)(150)의 싱크 동작을 설명하기 위한 도면이다.
마진 범위가 -100ms 내지 100ms인 것으로 가정하여 설명한다.
비디오 데이터 및 오디오 데이터 간의 시간 갭이 마진 범위를 벗어나면, AV 출력 컨트롤러(AV Output Controller)(150)는 싱크 동작을 수행할 수 있다.
여기서 싱크 동작은, 버리기(discard) 및 반복(repeat)을 포함할 수 있다.
구체적으로 시간 갭이 -100ms보다 작은 경우(510), 시간 갭은 마진 범위를 벗어나 있으며 오디오 데이터의 출력을 기준으로 비디오 데이터가 느린 상태이다. 이 경우 AV 출력 컨트롤러(AV Output Controller)(150)는 버리기(discard) 동작을 수행할 수 있다. 즉 AV 출력 컨트롤러(AV Output Controller)(150)는, 오디오 데이터는 그대로 출력하고, 비디오 데이터에 대해서는 현재의 프레임을 버리고 다음 프레임을 출력할 수 있다.
반면에 시간 갭이 100ms보다 큰 경우(520), 시간 갭은 마진 범위를 벗어나 있으며 오디오 데이터의 출력을 기준으로 비디오 데이터가 빠른 상태이다. 이 경우 AV 출력 컨트롤러(AV Output Controller)(150)는 반복(repeat) 동작을 수행할 수 있다. 즉 AV 출력 컨트롤러(AV Output Controller)(150)는, 오디오 데이터는 그대로 출력하고, 비디오 데이터에 대해서는 현재의 프레임을 출력하되, 출력된 프레임을 버퍼에서 삭제하지 않고 그대로 보관한 후 다시 출력할 수 있다.
한편 비디오 데이터 및 오디오 데이터 간의 시간 갭이 마진 범위 이내가 되면, AV 출력 컨트롤러(AV Output Controller)(150)는 싱크 동작을 중단할 수 있다. 즉 비디오 데이터 및 오디오 데이터 간의 시간 갭이 마진 범위 이내가 되는 경우, AV 출력 컨트롤러(AV Output Controller)(150)는 버리기(discard) 및 반복(repeat)을 수행하지 않을 수 있다.
도 6은 본 발명에 따른 콘텐츠 출력 방법을 설명하기 위한 도면이다.
본 발명에 따른 콘텐츠 출력 방법은, 콘텐츠 스트림을 수신하는 단계(S610), 콘텐츠 스트림을 디코딩하여 비디오 데이터 및 오디오 데이터를 생성하는 단계(S630), 비디오 데이터의 비디오 PTS 및 오디오 데이터의 오디오 PTS에 기반하여 비디오 데이터 및 오디오 데이터의 시간 갭을 획득하는 단계(S650) 및 및 시간 갭이 마진 범위를 벗어나면 싱크 동작을 수행하는 단계(S670)를 포함할 수 있다.
본 발명에 따른 콘텐츠 출력 방법은, 콘텐츠 스트림을 수신하는 단계(S610), 콘텐츠 스트림을 디코딩하여 비디오 데이터 및 오디오 데이터를 생성하는 단계(S630), 비디오 데이터의 비디오 PTS 및 오디오 데이터의 오디오 PTS에 기반하여 비디오 데이터 및 오디오 데이터의 시간 갭을 획득하는 단계(S650)에 대해서는 도 1 내지 5에서 설명한 바 있다.
따라서 아래에서는 시간 갭이 마진 범위를 벗어나면 싱크 동작을 수행하는 단계(S670)에 대하여 자세히 설명한다.
본 발명에서 마진 범위는 동적으로 변경될 수 있다. 여기서 마진 범위가 동적으로 변경된다는 것은, 이벤트의 발생에 따라 또는 시간의 흐름에 따라 마진 범위가 변경되는 것을 의미할 수 있다.
도 7은 마진 범위를 동적으로 변경하는 방법을 설명하기 위한 도면이다.
AV 출력 컨트롤러(AV Output Controller)(150)에서 설정 가능한 마진 범위는 제1 마진 범위(A) 및 제2 마진 범위(B)를 포함할 수 있다.
여기서 제1 마진 범위(A)는 제2 마진 범위(B)보다 작을 수 있다. 예를 들어 제1 마진 범위(A)는 -10ms 내지 10ms일 수 있으며, 제2 마진 범위(B)는 -100ms 내지 100ms일 수 있다.
또한 제1 마진 범위(A)의 중심과 제2 마진 범위(B)의 중심은 동일할 수 있다. 예를 들어 제1 마진 범위(A)는 -10ms 내지 10ms로써 제1 마진 범위(A)의 중심은 0ms일 수 있으며, 제2 마진 범위(B)는 -100ms 내지 100ms로써 제2 마진 범위(B)의 중심은 0ms일 수 있다.
한편, 이벤트가 발생하면, AV 출력 컨트롤러(AV Output Controller)(150)는 마진 범위를 제1 마진 범위로 설정할 수 있다.
여기서 이벤트는, 채널 튜닝, 재생 시작, 자막 설정 및 오디오의 변경 중 어느 하나일 수 있다.
채널 튜닝이란 특정 채널의 방송 콘텐츠의 출력을 시작하는 것을 의미할 수 있다. 구체적으로, 채널 튜닝은 콘텐츠 출력 장치(100)의 전원을 켜서 최초로 특정 채널의 방송 콘텐츠의 출력을 시작하거나, 채널을 변경하여 특정 채널의 방송 콘텐츠의 출력을 시작하는 것을 의미할 수 있다.
재생 시작이란, 일반적인 재생 속도로 콘텐츠의 재생이 시작되는 것을 의미할 수 있다. 예를 들어 재생 시작이란 VOD를 구성하는 비디오 데이터 및 오디오 데이터의 출력이 시작되는 것을 의미할 수 있다. 한편 재생 시작은 VOD에 한정되어 적용되는 것은 아니다. 예를 들어 방송 콘텐츠도 PVR(personal video recorder)을 통하여 녹화될 수 있으며, 이 경우 방송 콘텐츠에서도 재생 시작 이벤트가 발생할 수 있다.
한편 재생 시작은, 최초 재생 시작, 일시 정지 후 재생 시작, 빨리 감기 후 재생 시작, 되감기 후 재생 시작, 건너뛰기 후 재생 시작을 포함할 수 있다.
최초 재생 시작이란, 콘텐츠가 최초로 재생을 시작하는 것을 의미할 수 있다. 예를 들어 최초 재생 시작은, 특정 VOD가 사용자에 의해 선택되어 특정 VOD의 출력이 최초로 시작되는 것을 의미할 수 있다.
그리고 일시 정지 후 재생 시작이란, 일시 정지(pause) 입력에 의하여 콘텐츠의 재생이 일시 정지 되었다가 다시 재생이 재개하는 것을 의미할 수 있다.
또한 빨리 감기 후 재생 시작은, 빨리 감기 입력에 의하여 콘텐츠가 뒤의 시간으로 빠르게 이동하다가 다시 일반적인 재생 속도로 재생을 시작하는 것을 의미할 수 있다.
또한 되감기 후 재생 시작은, 되감기 입력에 의하여 콘텐츠가 앞의 시간으로 빠르게 이동하다가 다시 일반적인 재생 속도로 재생을 시작하는 것을 의미할 수 있다.
또한 건너뛰기 후 재생 시작이란, 임의의 시간 구간을 건너뛴 후 콘텐츠의 재생이 재개되는 것을 의미할 수 있다.
이와 같이 채널 튜닝 이벤트나 재생 시작 이벤트에서 마진 범위를 제1 마진 범위로 설정하는 것은, 이벤트가 발생하는 경우 버퍼(148, 149) 내 비디오 데이터 또는 오디오데이터가 리셋되고 새로운 비디오 데이터 또는 오디오데이터가 버퍼(148, 149)에 채워지기 때문이다. 즉 새로운 비디오 데이터 또는 오디오데이터가 버퍼(148, 149)에 새롭게 채워지는 경우, PTS 갭은 최적화 과정을 거치지 않은 상태이기 때문에, 마진 범위를 제1 마진 범위로 설정하여 PTS 갭을 최적화 시키게 된다.
한편 자막 설정이란, 자막이 나오도록 설정하거나, 자막의 언어가 변경되도록 설정하는 것을 의미할 수 있다. 구체적으로 자막 설정 시 콘텐츠의 출력이 정지되었다가 다시 재개되기 때문에, 자막 설정 역시 마진 범위를 제1 마진 범위로 설정하여야 하는 이벤트가 될 수 있다.
한편 오디오의 변경이란, 콘텐츠 스트림을 통하여 복수의 오디오가 수신되는 경우, 어느 하나의 오디오로부터 다른 오디오로 변경하는 것을 의미할 수 있다. 오디오가 변경되는 경우, 오디오 디코더 출력 버퍼(ADEC Output Buffer)(149)에 새로운 오디오데이터가 채워지기 때문에, 오디오의 변경 역시 마진 범위를 제1 마진 범위로 설정하여야 하는 이벤트가 될 수 있다.
한편 이벤트가 발생하고 시간 갭이 제1 마진 범위(A)를 벗어나면, AV 출력 컨트롤러(AV Output Controller)(150)는 버퍼 내 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행함으로써 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭을 제1 마진 범위(A) 이내로 조절할 수 있다.
구체적으로 도 7을 참고하면, 비디오 데이터 및 오디오 데이터의 시간 갭(710)이 제1 마진 범위(A) 밖이다. 따라서 AV 출력 컨트롤러(AV Output Controller)(150)는 싱크 동작을 수행하여야 한다.
또한 비디오 데이터 및 오디오 데이터의 시간 갭(710)은 마진 범위의 최소값(-10ms)보다 작다. 즉 오디오 데이터의 출력을 기준으로 비디오 데이터가 느린 상태이다.
이 경우 AV 출력 컨트롤러(AV Output Controller)(150)는 버리기(discard) 동작을 수행할 수 있다. 즉 AV 출력 컨트롤러(AV Output Controller)(150)는 오디오 데이터는 그대로 출력하고, 비디오 데이터에 대해서는 현재의 프레임을 버리고 다음 프레임을 출력하는 동작을 1회 이상 수행할 수 있다.
또한 도 7을 참고하면, 비디오 데이터 및 오디오 데이터의 시간 갭(720)이 제1 마진 범위(A) 밖이다. 따라서 AV 출력 컨트롤러(AV Output Controller)(150)는 싱크 동작을 수행하여야 한다.
또한 비디오 데이터 및 오디오 데이터의 시간 갭(720)은 마진 범위의 최대값(10ms)보다 크다. 즉 오디오 데이터의 출력을 기준으로 비디오 데이터가 빠른 상태이다.
이 경우 AV 출력 컨트롤러(AV Output Controller)(150)는 반복(repeat) 동작을 수행할 수 있다. 즉 AV 출력 컨트롤러(AV Output Controller)(150)는 오디오 데이터는 그대로 출력하고, 비디오 데이터에 대해서는 현재의 프레임을 출력하되 출력된 프레임을 버퍼에서 삭제하지 않고 그대로 보관한 후 다시 출력하는 동작을 1회 이상 수행할 수 있다.
한편 AV 출력 컨트롤러(AV Output Controller)(150)는, 비디오 데이터와 오디오 데이터의 시간 갭이 제1 마진 범위(A) 이내가 될 때까지, 싱크 동작(반복(repeat) 또는 버리기(discard))을 수행할 수 있다. 그리고 비디오 데이터와 오디오 데이터의 시간 갭이 제1 마진 범위(A) 이내가 되면, AV 출력 컨트롤러(AV Output Controller)(150)는, 싱크 동작을 중단할 수 있다.
한편 이벤트가 발생하였으나 비디오 데이터와 오디오 데이터의 시간 갭이 이미 제1 마진 범위(A) 이내인 경우에는, AV 출력 컨트롤러(AV Output Controller)(150)는 싱크 동작(반복(repeat) 또는 버리기(discard))을 수행하지 않을 수 있다.
한편 이벤트가 발생한 후 제1 시간이 경과하면, AV 출력 컨트롤러(AV Output Controller)(150)는 마진 범위를 제1 마진 범위(A)로부터 제1 마진 범위보다 큰 제2 마진 범위(B)로 변경할 수 있다.
한편 제1 시간(t)은, 이벤트가 발생하고 AV 출력 컨트롤러(AV Output Controller)(150)의 싱크 동작에 의해 시간 갭이 제1 마진 범위 이내가 되는 시간보다 더 클 수 있다.
다시 말해서, AV 출력 컨트롤러(AV Output Controller)(150)는 비디오 데이터와 오디오 데이터의 시간 갭이 제1 마진 범위(A) 이내가 되면 싱크 동작을 중단하며, 제1 시간(t)은, 싱크 동작이 중단된 후에 제1 시간(t)이 도과하도록 설정될 수 있다.
다양한 칩셋(멀티미디어 프로세서)마다 싱크 동작에 소요되는 시간이 상이할 수 있기 때문에, 제1 시간(t)은 다양한 칩셋(멀티미디어 프로세서)에서 싱크 동작에 소요되는 시간을 고려하여 산출될 수 있다. 이 경우 제1 시간(t)은 다양한 칩셋(멀티미디어 프로세서)에 범용적으로 적용될 수 있는 시간이 될 수 있다.
또한 제1 시간(t)이란, 앞서 설명한 제어부(140)를 구현하는 칩셋(멀티미디어 프로세서)에서 싱크 동작에 소요되는 시간을 고려하여 산출되는 시간일 수 있다. 이 경우 제1 시간(t)은 제어부(140)를 구현하는 칩셋(멀티미디어 프로세서)에 적용될 수 있는 시간이 될 수 있다.
한편 제1 시간(t)을 매우 크게 설정하게 되면 사용자에게 부자연스러운 영상이 오래 제공되게 된다. 이는 제1 마진 범위(A)가 일반적인 마진 범위보다 좁게 설정되기 때문에, 싱크 동작(반복(repeat) 또는 버리기(discard))이 빈번하게 수행되기 때문이다. 따라서 제1 시간(t)은, 이벤트 발생 후 시간 갭이 제1 마진 범위 이내가 되는 시간보다는 큰 조건을 만족시키는 한 최대한 짧게 설정되는 것이 바람직하다.
한편 이벤트가 발생하고 제1 시간(t)이 경과하면, 마진 범위는 제2 마진 범위(B)로 설정된 상태이다.
그리고 제2 마진 범위(B)는 제1 마진 범위(A)보다 크기 때문에, 이미 시간 갭이 제1 마진 범위(A) 이내로 조절된 상태에서는 당연히 시간 갭이 제2 마진 범위(B) 이내에 있게 된다.
한편 콘텐츠의 출력 중 시간 갭이 제2 마진 범위(B)를 벗어나는 상황이 발생할 수 있다.
예를 들어 PTS 갭의 변화 폭이 심한 콘텐츠인 경우, 비디오 데이터와 오디오 데이터의 시간 갭이 제2 마진 범위(B)를 벗어나는 상황이 발생할 수 있다.
따라서 이벤트가 발생한 후 제1 시간이 경과한 이후에는, 시간 갭이 제2 마진 범위(B)를 벗어나면, AV 출력 컨트롤러(AV Output Controller)(150)는 버퍼 내 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행함으로써 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭을 제2 마진 범위(B) 이내로 조절할 수 있다.
구체적으로 도 7을 참고하면, 비디오 데이터 및 오디오 데이터의 시간 갭(730)이 제2 마진 범위(B) 밖이다. 따라서 AV 출력 컨트롤러(AV Output Controller)(150)는 싱크 동작을 수행하여야 한다.
또한 비디오 데이터 및 오디오 데이터의 시간 갭(710)은 마진 범위의 최소값(-100ms)보다 작다. 이 경우 AV 출력 컨트롤러(AV Output Controller)(150)는 버리기(discard) 동작을 수행할 수 있다.
또한 도 7을 참고하면, 비디오 데이터 및 오디오 데이터의 시간 갭(730)이 제2 마진 범위(B) 밖이다. 따라서 AV 출력 컨트롤러(AV Output Controller)(150)는 싱크 동작을 수행하여야 한다.
또한 비디오 데이터 및 오디오 데이터의 시간 갭(730)은 마진 범위의 최대값(100ms)보다 크다. 이 경우 AV 출력 컨트롤러(AV Output Controller)(150)는 반복(repeat) 동작을 수행할 수 있다.
그리고 AV 출력 컨트롤러(AV Output Controller)(150)는, 비디오 데이터와 오디오 데이터의 시간 갭이 제2 마진 범위(B) 이내가 될 때까지, 싱크 동작(반복(repeat) 또는 버리기(discard))을 수행할 수 있다. 그리고 비디오 데이터와 오디오 데이터의 시간 갭이 제2 마진 범위(A) 이내가 되면, AV 출력 컨트롤러(AV Output Controller)(150)는, 싱크 동작을 중단할 수 있다.
한편 제2 마진 범위(B)는, 사용자가 콘텐츠를 시청할 때 적용되는 일반적인 범위일 수 있다.
즉 제1 마진 범위(A)는 이벤트 발생 시 비디오 데이터와 오디오 데이터의 시간 갭이 최대한 0에 근접하도록 임시로 설정되는 마진 범위라면, 제2 마진 범위(B)는 사용자에게 비디오와 오디오 간 싱크가 맞는 콘텐츠를 제공하기 위하여 설정되는 일반적인 마진 범위일 수 있다.
따라서 마진 범위가 제1 마진 범위로부터 제2 마진 범위로 변경되면, AV 출력 컨트롤러(AV Output Controller)(150)는 새로운 이벤트가 발생되기 전까지 제2 마진 범위를 유지할 수 있다.
한편 제2 마진 범위로 설정된 상태에서 콘텐츠(비디오 데이터 및 오디오 데이터)가 출력되는 중 새로운 이벤트가 발생할 수 있다.
이와 관련해서는 도 8을 참고하여 설명한다.
도 8은 본 발명에 따른, 마진 범위를 조절하는 방법을 설명하기 위한 도면이다.
제어부(140)는 최초 시작 이벤트의 발생을 감지할 수 있다(S810). 여기서 최초 시작 이벤트란, 콘텐츠의 출력을 시작하기 전에 발생한 이벤트로, 콘텐츠 출력 장치(100)의 전원을 켜서 최초로 특정 채널의 방송 콘텐츠의 출력을 시작하거나, 특정 VOD가 선택되어 특정 VOD의 출력이 최초로 시작되는 것을 의미할 수 있다.
한편 최초 시작 이벤트의 발생이 감지되면, 제어부(140)는 마진 범위를 제1 마진 범위로 설정할 수 있다(S830). 그리고 제어부(140)는 비디오 데이터와 오디오 데이터의 시간 갭이 제1 마진 범위 이내가 되도록 싱크 동작을 수행할 수 있다.
한편 이벤트가 발생하고 제1 시간이 경과하면, 제어부(140)는 마진 범위를 제2 마진 범위로 설정할 수 있다(S850). 그리고 비디오 데이터와 오디오 데이터의 시간 갭이 제2 마진 범위를 벗어나면, 제어부(140)는 비디오 데이터와 오디오 데이터의 시간 갭이 제2 마진 범위 이내가 되도록 싱크 동작을 수행할 수 있다.
또한 비디오 데이터와 오디오 데이터의 시간 갭이 제2 마진 범위 이내인를 경우에는, 제어부(140)는 싱크 동작을 수행하는 것 없이 콘텐츠를 출력할 수 있다.
한편 제어부(140)는 제2 마진 범위를 유지하면서 콘텐츠를 출력하는 중 새로운 이벤트(중간 변경 이벤트)의 발생을 감지할 수 있다(S850). 여기서 중간 변경 이벤트란, 콘텐츠가 출력되는 중 발생한 이벤트로, 채널 변경에 따른 새로운 채널 튜닝, 일시 정지 후 재생 시작, 빨리 감기 후 재생 시작, 되감기 후 재생 시작, 건너뛰기 후 재생 시작, 자막 설정, 오디오 변경 등의 이벤트를 포함할 수 있다.
이 경우 제어부(140)는 S830, S850, S870을 반복할 수 있다.
즉 새로운 이벤트(중간 변경 이벤트)가 발생하면, 제어부(140)는 마진 범위를 제1 마진 범위로 설정하고(S830), 비디오 데이터와 오디오 데이터의 시간 갭이 제1 마진 범위 이내가 되도록 싱크 동작을 수행할 수 있다.
또한 새로운 이벤트(중간 변경 이벤트)가 발생하고 제1 시간이 경과하면, 제어부(140)는 마진 범위를 제2 마진 범위로 설정하고(S850), 비디오 데이터와 오디오 데이터의 시간 갭이 제2 마진 범위 이내가 되도록 싱크 동작을 수행할 수 있다.
또한 제어부(140)는 제2 마진 범위를 유지하면서 콘텐츠를 출력하는 중 새로운 이벤트(중간 변경 이벤트)의 발생을 감지할 수 있다(S850).
본 발명에 따르면, 마진 범위를 동적으로 변경하여 비디오와 오디오 간 싱크를 정교하게 맞추면서도 사용자에게 자연스러운 영상을 제공할 수 있는 장점이 있다.
예를 들어 제2 마진 범위(사용자에게 비디오와 오디오 간 싱크가 맞는 콘텐츠를 제공하기 위하여 설정되는 일반적인 마진 범위)만을 사용하는 경우에는, 도 1에서 설명한 바와 같이 시간 갭이 발생하여 싱크의 정교함이 떨어지는 문제가 발생하며, 또한 PTS 갭의 변화 폭이 심한 콘텐츠인 경우에는 싱크 동작(반복(repeat) 또는 버리기(discard))이 또다시 수행되어 부자연스러운 영상이 출력되는 문제가 발생한다.
또 다른 예를 들어 제1 마진 범위(비디오 데이터와 오디오 데이터의 시간 갭이 최대한 0에 근접하도록 임시로 설정되는 마진 범위)만 사용하는 경우에는, 싱크 동작이 매우 빈번하게 수행되기 때문에, 화면이 멈칫하거나 스킵되는 현상이 빈번하게 발생할 수 있다.
다만 본 발명에서는 이벤트 발생 시 마진 범위를 제1 마진 범위로 설정함으로써 비디오 데이터와 오디오 데이터 간의 시간 갭이 최대한 0에 근접하도록 한다. 그리고 마진 범위가 제1 마진 범위로 설정된 동안에는 싱크 동작에 의하여 부자연스러운 영상이 출력될 수 있지만, 제1 시간이 경과하면 마진 범위를 제2 마진 범위로 변경함으로써 부자연스러운 영상이 계속 출력되는 것을 방지할 수 있다.
그리고 마진 범위가 제1 마진 범위로 설정된 동안 비디오 데이터와 오디오 데이터 간의 시간 갭이 0에 근접하였기 때문에, 정교하게 싱크가 맞춰진 상태에서 콘텐츠를 제공할 수 있다.
또한 마진 범위가 제1 마진 범위로 설정된 동안 비디오 데이터와 오디오 데이터 간의 시간 갭이 0에 근접하였기 때문에, PTS 갭의 변화 폭이 심한 콘텐츠인 경우에도 시간 갭이 제2 마진 범위를 잘 벗어나지 않게 된다. 따라서 싱크 동작(반복(repeat) 또는 버리기(discard))이 수행되는 것을 최소화할 수 있다.
또한 본 발명에 따르면, 기존 칩셋(멀티미디어 프로세서)을 하드웨어적으로 변경하는 것 없이, 칩셋(멀티미디어 프로세서)에 제1 마진 범위와 제2 마진 범위를 설정하는 간단한 행위(소프트웨어적인 수정) 만으로도 동적인 마진 범위의 운용이 가능하다. 따라서 본 발명은 이미 사용되고 있는 콘텐츠 출력 장치나 외부 업체로부터 납품 받은 칩셋(멀티미디어 프로세서)에 손쉽게 적용될 수 있는 장점이 있다.
한편 마진 범위가 1 마진 범위로 설정된 동안에는 부자연스러운 영상이 출력될 수 있기 때문에, 제어부(140)는 제1 시간 동안 대체 영상을 출력할 수 있다.
이 경우 대체 영상은, 제1 시간 동안 출력되는 비디오 데이터의 어느 하나의 프레임일 수 있다. 예를 들어 제어부(140)는 이벤트 발생 후 버퍼(148) 내 첫번째 프레임을 제1 시간 동안 출력할 수 있다.
또한 대체 영상은 제1 시간 동안 출력되는 비디오 데이터가 아닌, 별도의 영상일 수도 있다.
도 9는 PTS 갭이 일정하지 않고 급격히 변화하는 콘텐츠의 PTS 갭을 도시한 도면이다.
도 9를 참고하면, PTS 갭(Gap)은 -15ms ~ 45ms로 분포되어 있고 이것은 콘텐츠를 인코딩할 때 이미 결정되어 있는 값들이다.
그리고 이벤트 발생 시 PTS 갭이 45ms로 감지되어 제1 마진 범위(예를 들어, -10ms 내지 +10ms)에 맞추기 위해 싱크 동작을 수행한다면, 전체적인 PTS 갭의 분포가 마이너스(-) 방향으로 치우치게 될 가능성이 높아진다.
따라서 본 발명에서는, 비디오 데이터 및 오디오 데이터의 시간 갭의 평균을 산출하여, 시간 갭의 평균을 0에 근접하도록 하는 동작을 수행한다.
도 10은 본 발명에 따른, 시간 갭의 평균을 0에 근접하도록 하는 방법을 설명하기 위한 도면이다.
AV 출력 컨트롤러(AV Output Controller)(150)는 비디오 데이터 및 오디오 데이터의 시간 갭의 평균을 산출할 수 있다.
구체적으로 AV 출력 컨트롤러(AV Output Controller)(150)는 제2 시간 동안 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭을 획득할 수 있다. 이 경우 AV 출력 컨트롤러(AV Output Controller)(150)는 서로 상응하는 비디오 데이터 및 오디오 데이터의 시간 갭을 획득하고, 이와 같은 방식으로 획득된 복수의 시간 갭을 평균할 수 있다.
예를 들어 AV 출력 컨트롤러(AV Output Controller)(150)는 비디오 데이터의 제1 프레임과 오디오 데이터의 제1 부분 오디오 데이터가 함께 출력되는 경우, 제1 프레임과 제1 부분 오디오 데이터 간의 시간 갭을 획득할 수 있다. 또한 AV 출력 컨트롤러(AV Output Controller)(150)는 비디오 데이터의 제2 프레임과 오디오 데이터의 제2 부분 오디오 데이터가 함께 출력되는 경우, 제2 프레임과 제2 부분 오디오 데이터 간의 시간 갭을 획득할 수 있다. 그리고 AV 출력 컨트롤러(AV Output Controller)(150)는 제2 시간 동안 획득된 시간 갭 들을 평균하여, 제2 시간 동안 버퍼(148, 149)에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭의 평균 값을 산출할 수 있다.
또한 이벤트가 발생(0초)한 후 제1 시간(t)이 경과함에 따라 마진 범위가 제2 마진 범위로 변경되면, AV 출력 컨트롤러(AV Output Controller)(150)는 제2 마진 범위로 변경된 시점(1041) 이후의 제2 시간(d) 동안 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭의 평균 값을 산출할 수 있다.
구체적으로 도 10의 PTS 갭 평균 그래프(1010)를 참고하면, 제1 시간(t)은 비디오 데이터 및 오디오 데이터의 시간 갭이 0에 근접하도록 설정되는 구간이다. 즉 비디오 데이터 및 오디오 데이터의 시간 갭이 불안정하게 변화하는 구간이기 때문에, 이 구간에서 시간 갭의 평균 값을 산출하더라도 안정된 상태에서의 상황을 반영하지는 못한다.
따라서 AV 출력 컨트롤러(AV Output Controller)(150)는 제2 마진 범위로 변경된 시점 이후(1041)의 제2 시간(d) 동안 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭의 평균 값을 산출할 수 있다.
여기서 제2 시간(d)의 시작 점은 마진 범위가 제2 마진 범위로 변경된 시점(1041)과 반드시 일치할 필요는 없으며, 제2 시간(d)의 시작 점은 마진 범위가 제2 마진 범위로 변경된 시점(1041)보다 이후이면 족하다.
다만 사용자에게 정교한 싱크를 더욱 빨리 제공하기 위하여, 제2 시간(d)의 시작 점을 마진 범위가 제2 마진 범위로 변경된 시점(1041)과 동일하게 설정하는 것이 바람직하다.
한편 제2 시간 동안 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭의 평균 값이 산출되면, AV 출력 컨트롤러(AV Output Controller)(150)는 평균 값이 0에 접근하도록, 버퍼 내 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행할 수 있다.
구체적으로 도 10을 참고하면, 제2 시간(d) 동안 시간 갭의 평균 값은 약 -10ms이다. 즉 제2 시간(d) 동안에는 PTS 평균 그래프(1010)가 ? 방향으로 치우쳐있는 상태이며, 이 상태를 계속 유지하는 것은 영상 품질이 안 좋아 지는 원인이 될 수 있다.
따라서 제2 시간(d) 동안 시간 갭의 평균 값이 0보다 작은 경우, AV 출력 컨트롤러(AV Output Controller)(150)는 시간 갭의 평균 값이 0에 접근하도록, 버퍼 내 비디오 데이터의 프레임에 대한 버리기(discard)를 수행할 수 있다.
이에 따라 도 10에서 도시하는 바와 같이, 제2 시간(d)이 경과한 이후에는, 시간 갭(1030)이 0에 근접한 상태에서 비디오 데이터 및 오디오 데이터가 출력될 수 있다.
반대로 제2 시간(d) 동안 시간 갭의 평균 값이 0보다 큰 경우, AV 출력 컨트롤러(AV Output Controller)(150)는 시간 갭의 평균 값이 0에 접근하도록, 버퍼 내 비디오 데이터의 프레임에 대한 반복(repeat)을 수행할 수 있다.
이와 같이 본 발명에 따르면, PTS 갭이 일정하지 않고 급격히 변화하는 콘텐츠에서도 비디오 데이터와 오디오 데이터 간의 시간 갭의 평균 값을 0에 접근시킴으로써, 싱크를 정교하게 맞추고 싱크 동작(반복(repeat) 또는 버리기(discard))이 수행되는 것을 최소화할 수 있는 장점이 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 상기 컴퓨터는 제어부를 포함할 수도 있다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
100: 콘텐츠 출력 장치 110: 통신부
120: 출력부 130: 메모리
140: 제어부

Claims (16)

  1. 콘텐츠 스트림을 수신하는 통신부;
    출력부; 및
    상기 콘텐츠 스트림을 디코딩하여 비디오 데이터 및 오디오 데이터를 생성하고, 상기 비디오 데이터의 비디오 PTS 및 상기 오디오 데이터의 오디오 PTS에 기반하여 상기 비디오 데이터 및 상기 오디오 데이터의 시간 갭을 획득하고, 상기 시간 갭이 마진 범위를 벗어나면 싱크 동작을 수행하여 상기 비디오 데이터 및 상기 오디오 데이터를 상기 출력부를 통하여 출력하는 제어부;를 포함하고,
    상기 제어부는,
    상기 마진 범위의 크기를 동적으로 변경하는
    콘텐츠 출력 장치.
  2. 제 1항에 있어서,
    상기 제어부는,
    이벤트가 발생하면 상기 마진 범위를 제1 마진 범위로 설정하고,
    상기 이벤트가 발생한 후 제1 시간이 경과하면, 상기 마진 범위를 상기 제1 마진 범위로부터 상기 제1 마진 범위보다 큰 제2 마진 범위로 변경하는
    콘텐츠 출력 장치.
  3. 제 2항에 있어서,
    상기 제어부는,
    상기 이벤트가 발생하고 상기 시간 갭이 상기 제1 마진 범위를 벗어나면, 버퍼 내 상기 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행함으로써 상기 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭을 상기 제1 마진 범위 이내로 조절하고,
    상기 이벤트가 발생한 후 상기 제1 시간이 경과하고 상기 시간 갭이 상기 제2 마진 범위를 벗어나면, 상기 버퍼 내 상기 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행함으로써 상기 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭을 상기 제2 마진 범위 이내로 조절하는
    콘텐츠 출력 장치.
  4. 제 2항에 있어서,
    상기 제1 시간은,
    상기 이벤트가 발생한 후 상기 시간 갭이 상기 제1 마진 범위 이내가 되는 시간보다 큰
    콘텐츠 출력 장치.
  5. 제 2항에 있어서,
    상기 이벤트는,
    채널 튜닝, 재생 시작, 자막 설정 및 오디오의 변경 중 어느 하나인
    콘텐츠 출력 장치.
  6. 제 2항에 있어서,
    상기 제어부는,
    상기 마진 범위가 상기 제1 마진 범위로부터 상기 제2 마진 범위로 변경되면, 새로운 이벤트가 발생되기 전까지 상기 제2 마진 범위를 유지하는
    콘텐츠 출력 장치.
  7. 제 2항에 있어서,
    상기 제어부는,
    상기 이벤트가 발생한 후 상기 제1 시간이 경과함에 따라 상기 마진 범위가 상기 제2 마진 범위로 변경되면, 상기 제2 마진 범위로 변경된 시점 이후의 제2 시간 동안 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭의 평균 값을 산출하는
    콘텐츠 출력 장치.
  8. 제 7항에 있어서,
    상기 제어부는,
    상기 평균 값이 0에 접근하도록, 상기 버퍼 내 상기 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행하는
    콘텐츠 출력 장치.
  9. 콘텐츠 스트림을 수신하는 단계;
    상기 콘텐츠 스트림을 디코딩하여 비디오 데이터 및 오디오 데이터를 생성하는 단계;
    상기 비디오 데이터의 비디오 PTS 및 상기 오디오 데이터의 오디오 PTS에 기반하여 상기 비디오 데이터 및 상기 오디오 데이터의 시간 갭을 획득하는 단계; 및
    상기 시간 갭이 마진 범위를 벗어나면 싱크 동작을 수행하여 상기 비디오 데이터 및 상기 오디오 데이터를 출력하는 단계;를 포함하고,
    상기 마진 범위의 크기는, 동적으로 변경되는
    콘텐츠 출력 방법.
  10. 제 9항에 있어서,
    상기 싱크 동작을 수행하는 단계는,
    이벤트가 발생하면 상기 마진 범위를 제1 마진 범위로 설정하는 단계; 및
    상기 이벤트가 발생한 후 제1 시간이 경과하면, 상기 마진 범위를 상기 제1 마진 범위로부터 상기 제1 마진 범위보다 큰 제2 마진 범위로 변경하는 단계;를 포함하는
    콘텐츠 출력 방법.
  11. 제 10항에 있어서,
    상기 제1 마진 범위로 설정하는 단계는,
    상기 이벤트가 발생하고 상기 시간 갭이 상기 제1 마진 범위를 벗어나면, 버퍼 내 상기 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행함으로써 상기 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭을 상기 제1 마진 범위 이내로 조절하는 단계;를 포함하고,
    상기 제2 마진 범위로 변경하는 단계는,
    상기 이벤트가 발생한 후 상기 제1 시간이 경과하고 상기 시간 갭이 상기 제2 마진 범위를 벗어나면, 상기 버퍼 내 상기 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행함으로써 상기 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭을 상기 제2 마진 범위 이내로 조절하는 단계;를 포함하는
    콘텐츠 출력 방법.
  12. 제 10항에 있어서,
    상기 제1 시간은,
    상기 이벤트가 발생한 후 상기 시간 갭이 상기 제1 마진 범위 이내가 되는 시간보다 큰
    콘텐츠 출력 방법.
  13. 제 10항에 있어서,
    상기 이벤트는,
    채널 튜닝, 재생 시작, 자막 설정 및 오디오의 변경 중 어느 하나인
    콘텐츠 출력 방법.
  14. 제 10항에 있어서,
    상기 제2 마진 범위로 변경하는 단계는,
    상기 마진 범위가 상기 제1 마진 범위로부터 상기 제2 마진 범위로 변경되면, 새로운 이벤트가 발생되기 전까지 상기 제2 마진 범위를 유지하는 단계;를 포함하는
    콘텐츠 출력 방법.
  15. 제 10항에 있어서,
    상기 이벤트가 발생한 후 상기 제1 시간이 경과함에 따라 상기 마진 범위가 상기 제2 마진 범위로 변경되면, 상기 제2 마진 범위로 변경된 시점 이후의 제2 시간 동안 버퍼에서 출력되는 비디오 데이터 및 오디오 데이터의 시간 갭의 평균 값을 산출하는 단계;를 더 포함하는
    콘텐츠 출력 방법.
  16. 제 15항에 있어서,
    상기 평균 값이 0에 접근하도록, 상기 버퍼 내 상기 비디오 데이터의 프레임에 대한 반복(repeat) 또는 버리기(discard)를 수행하는 단계;를 더 포함하는
    콘텐츠 출력 방법.
KR1020210023362A 2021-02-22 2021-02-22 콘텐츠 출력 장치 및 콘텐츠 출력 방법 KR102634845B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210023362A KR102634845B1 (ko) 2021-02-22 2021-02-22 콘텐츠 출력 장치 및 콘텐츠 출력 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210023362A KR102634845B1 (ko) 2021-02-22 2021-02-22 콘텐츠 출력 장치 및 콘텐츠 출력 방법

Publications (2)

Publication Number Publication Date
KR20220119912A KR20220119912A (ko) 2022-08-30
KR102634845B1 true KR102634845B1 (ko) 2024-02-06

Family

ID=83114095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210023362A KR102634845B1 (ko) 2021-02-22 2021-02-22 콘텐츠 출력 장치 및 콘텐츠 출력 방법

Country Status (1)

Country Link
KR (1) KR102634845B1 (ko)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100311464B1 (ko) * 1994-12-08 2001-12-15 구자홍 디지탈티브이의오디오/비디오동기장치
JP3698376B2 (ja) * 1996-08-19 2005-09-21 松下電器産業株式会社 同期再生装置
KR20030082117A (ko) * 2002-04-16 2003-10-22 엘지전자 주식회사 디지털 방송 수신기에서의 오디오/비디오 립 싱크 제어 방법
KR100499519B1 (ko) * 2003-02-05 2005-07-07 엘지전자 주식회사 오디오 립 싱크 제어방법
KR100619007B1 (ko) * 2003-06-24 2006-08-31 삼성전자주식회사 비디오 트랜스포트 스트림 동기화 제어 장치 및 방법
KR20060103686A (ko) * 2005-03-28 2006-10-04 엘지전자 주식회사 오디오/비디오의 립 싱크 방법
KR101246916B1 (ko) * 2006-04-21 2013-03-25 삼성전자주식회사 오디오/비디오 동기 보정 방법 및 장치

Also Published As

Publication number Publication date
KR20220119912A (ko) 2022-08-30

Similar Documents

Publication Publication Date Title
JP7410107B2 (ja) 受信方法、及び、受信装置
US7471337B2 (en) Method of audio-video synchronization
US20170006331A1 (en) Synchronized rendering of split multimedia content on network clients
US8111971B2 (en) Systems and methods of reducing media stream delay through independent decoder clocks
US8112783B2 (en) Method of controlling ouput time and output priority of caption information and apparatus thereof
JP4735697B2 (ja) 電子機器、コンテンツ再生方法及びプログラム
US8774600B2 (en) Splicing system
KR100981378B1 (ko) 비디오 데이터 및 보조 데이터의 판독-동기화를 위한 디바이스 및 방법, 및 이와 연관된 제품
US8731000B2 (en) Decoding earlier frames with DTS/PTS backward extrapolation
US8229270B2 (en) Method and apparatus for compensating audio/video synchronization
KR102634845B1 (ko) 콘텐츠 출력 장치 및 콘텐츠 출력 방법
US20150043885A1 (en) Video display apparatus and video display method
US20100166382A1 (en) Video and audio reproduction system, distribution device, and synchronization adjustment method
KR102618617B1 (ko) 콘텐츠 출력 장치 및 콘텐츠 출력 장치의 지연 보상 방법
KR100677162B1 (ko) A/v 동기를 자동 조정하는 av 시스템
US20230388606A1 (en) Display device, display control method, and non-transitory recording medium
US20050265369A1 (en) Network receiving apparatus and network transmitting apparatus
JP5016335B2 (ja) 再生装置、および、再生方法
KR100499519B1 (ko) 오디오 립 싱크 제어방법
JP2019186732A (ja) レコーダおよび録画情報の再生方法
JP2005276246A (ja) 情報再生方法および情報再生装置
JP2017050677A (ja) コンテンツ処理装置、コンテンツ処理方法、及び、プログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant