KR20100054508A - 임베디드 멀티미디어 시스템에서의 시간 동기화 장치와 방법, 및 그 동기화 장치를 포함한 멀티미디어 재생기 - Google Patents

임베디드 멀티미디어 시스템에서의 시간 동기화 장치와 방법, 및 그 동기화 장치를 포함한 멀티미디어 재생기 Download PDF

Info

Publication number
KR20100054508A
KR20100054508A KR1020080113463A KR20080113463A KR20100054508A KR 20100054508 A KR20100054508 A KR 20100054508A KR 1020080113463 A KR1020080113463 A KR 1020080113463A KR 20080113463 A KR20080113463 A KR 20080113463A KR 20100054508 A KR20100054508 A KR 20100054508A
Authority
KR
South Korea
Prior art keywords
time
timer
tick
audio
current
Prior art date
Application number
KR1020080113463A
Other languages
English (en)
Other versions
KR101048302B1 (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 KR1020080113463A priority Critical patent/KR101048302B1/ko
Publication of KR20100054508A publication Critical patent/KR20100054508A/ko
Application granted granted Critical
Publication of KR101048302B1 publication Critical patent/KR101048302B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/04Synchronising
    • H04N5/06Generation of synchronising signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

본 발명은 임베디드 멀티미디어 시스템에서 비디오 화면이 부드럽게 재생이 되면서도 오디오와 비디오 간의 동기가 잘 맞도록 하는 시간 동기화 장치와 방법, 및 그 동기화 장치를 포함한 멀티미디어 재생기를 제공한다. 그 시간 동기화 장치는 CPU의 타이머에 기초하여 시간을 생성하는 시간 생성부; 오디오 타이머에 기초하여 상기 시간 생성부의 시간을 보정하는 시간 보정부; 상기 시간 보정부에서 보정된 시간을 받아 재생기로 출력하는 시간 출력부; 및 상기 시간 생성부 및 시간 보정부를 제어하는 제어부;를 포함한다.

Description

임베디드 멀티미디어 시스템에서의 시간 동기화 장치와 방법, 및 그 동기화 장치를 포함한 멀티미디어 재생기{Time synchronizing apparatus and method in embedded multi-media system, and multimedia player comprising the same apparatus}
본 발명은 임베디드 시스템에 관한 것으로, 특히 임베디드 시스템에서의 오디오와 비디오 간에 동기를 맞추는 시간 동기화 장치 및 동기화 방법에 관한 것이다.
멀티미디어 시스템에서 소프트웨어를 통한 시간 동기화는 주로 오디오와 비디오 미디어 간의 동기화에서 필요하다. 즉, 현재 여러 멀티미디어 시스템에서 오디오와 비디오는 따로 재생이 되거나 생성되는 경우가 많기 때문에, 이들 간의 동기가 이루어져야 오디오 음성에 일치하는 부드러운 비디오 화면을 제공할 수 있기 때문이다.
종래 기술에서 주로 사용이 되는 동기화 방법은 CPU의 클럭을 사용하여 오디오와 비디오 간의 동기를 맞추는 방법이다. 그러나, 임베디드(embedded) 시스템에서의 CPU 클럭이 정확하지 않은 경우가 많아서 동기가 어긋나는 경우가 빈번히 발 생한다. 이러한 문제를 해결하기 위해서 오디오의 시간에 비디오의 시간을 맞추어서 동기를 맞추는 방법이 도입되고 있는데, 이와 같이 오디오 시간에 비디오 시간을 맞추는 경우에는, 오디오의 시간 간격이 넓어 지게 되면, 비디오의 화면이 부드럽지 않게 재생이 되는 문제가 여전히 남아 있다.
본 발명이 해결하고자 하는 과제는 임베디드 멀티미디어 시스템에서 비디오 화면이 부드럽게 재생이 되면서도 오디오와 비디오 간의 동기가 잘 맞도록 하는 시간 동기화 장치와 방법, 및 그 동기화 장치를 포함한 멀티미디어 재생기를 제공하는 데에 있다.
상기 과제를 달성하기 위하여, 본 발명은 CPU의 타이머에 기초하여 시간을 생성하는 시간 생성부; 오디오 타이머에 기초하여 상기 시간 생성부의 시간을 보정하는 시간 보정부; 상기 시간 보정부에서 보정된 시간을 받아 재생기로 출력하는 시간 출력부; 및 상기 시간 생성부 및 시간 보정부를 제어하는 제어부;를 포함하는 임베디드 멀티미디어 시스템에서의 시간 동기화 장치를 제공한다.
본 발명에 있어서, 상기 시간 생성부는 기준 시간과 화면 속도 비율(ratio) 설정하고, 시스템의 CPU 타이머의 틱(tick)을 기준 틱(tick)으로 설정한 후, 상기 CPU 타이머의 현재시간의 틱에서 상기 기준 틱을 뺀 값에 상기 화면 속도 비율을 곱한 값을 상기 기준 시간에 더하여 현재시간을 생성할 수 있다. 또한, 상기 시간 보정부에서 시간 보정은, 상기 현재시간과 상기 오디오 타이머에서 입력된 시간을 비교하여, 소정 시간 이상의 차이가 있는 경우에, 상기 오디오 타이머에서 입력된 시간을 상기 기준 시간으로 재설정하고, 상기 현재시간의 틱을 상기 기준 틱으로서 재설정함으로써, 이루어질 수 있다. 한편, 상기 제어부를 통해 시간이 정지가 된 경우에, 생성된 상기 현재시간을 상기 기준 시간으로서 재설정하고, 상기 현재시간의 생성은 재설정된 상기 기준시간을 그대로 입력하여 생성할 수 있다.
본 발명은 또한 상기 과제를 달성하기 위하여, 음성을 출력하는 오디오 디바이스; 상기 오디오 디바이스로 출력할 음성에 대한 데이터를 전송하는 오디오 출력부; 영상을 출력하는 비디오 디바이스; 상기 비디오 디바이스로 출력할 영상에 대한 데이터를 전송하는 비디오 출력부; 및 영상 재생을 위한 시간을 생성하고 상기 오디오 출력부에 등록된 콜백(Callback)에 기초하여 시간을 보정하여 상기 비디오 출력부로 전송하는 시간 동기화 장치;를 포함하는 멀티미디어 재생기를 제공한다.
본 발명에 있어서, 상기 오디오 디바이스는 상기 오디오 출력부로부터 상기 음성 데이터에 대한 PCM(Pulse Code Modulation) 전송이 완료되면, 상기 콜백을 호출하며, 상기 시간 동기화 장치는 CPU의 타이머에 기초하여 시간을 생성하고, 상기 콜백의 PCM 전송 완료 시간을 기초로 시간을 보정할 수 있다.
더 나아가 본 발명은 상기 과제를 달성하기 위하여, 비디오 타이머의 시간을 초기화하는 단계; 비디오 타이머의 시간을 시작하는 단계; 비디오 타이머의 현재시간을 계산하는 단계; 및 오디오 타이머를 기초로 상기 현재시간을 보정하는 단계;를 포함하는 임베디드 멀티미디어 시스템에서의 시간 동기화 방법을 제공한다.
본 발명에 있어서, 상기 시간 초기화 단계에서는 기준 시간과 속도 화면 속도 비율(ratio) 설정하고, 상기 시간 시작 단계에서는 CPU 타이머의 틱(tick)을 기준 틱(tick)으로 설정하며, 상기 현재시간 계산 단계에서는 상기 CPU 타이머의 현재시간의 틱에서 상기 기준 틱을 뺀 값에 상기 화면 속도 비율을 곱한 값을 상기 기준 시간에 더하여 상기 현재시간을 계산하며, 상기 현재시간 보정 단계에서는 상기 현재시간과 상기 오디오 타이머로부터 입력된 시간이 소정 시간 이상의 차이가 있는 경우에, 상기 오디오 타이머에서 입력된 시간을 상기 기준 시간으로 재설정하고, 상기 현재시간의 틱을 상기 기준 틱으로 재설정할 수 있다.
본 발명에 있어서, 상기 시간 보정 단계 이후에, 시간 정지 유무를 판단하는 단계를 더 포함하고, 상기 시간 정지가 있는 경우에는 정지에 따른 현재시간을 다시 계산하며, 상기 시간 정지가 없는 경우에는 상기 현재시간 계산 단계로 돌아갈 수 있다. 또한, 정지에 따른 상기 현재시간 계산은 계산된 상기 현재시간을 상기 기준 시간으로서 재설정하고, 상기 현재시간의 생성은 재설정된 상기 기준시간을 그대로 입력하여 생성할 수 있다. 한편, 정지에 따른 상기 현재시간 계산 이후에는 시간 동기화를 종료 여부에 따라 상기 시간 보정 단계로 돌아가거나 시간 동기화를 종료할 수 있다.
본 발명에 따른 임베디드 멀티미디어 시스템에서의 시간 동기화 장치와 방법, 및 그 동기화 장치를 포함한 멀티미디어 재생기는 비디오 시간을 시스템의 CPU의 타이머에 의해 동기화시키되, 오디오 타이머를 기준으로 계속 보정함으로써, 오디오와 비디오 간의 동기를 정확히 맞추면서도 비디오 화면 역시 부드럽게 재생되도록 할 수 있다. 그에 따라, 본 발명의 시간 동기화 장치와 방법은 멀티미디어 재생기(player)나 녹화기(recorder) 등의 여러 임베디드 멀티미디어 시스템에서 소프트웨어적으로 완성도가 높은 오디오/비디오 동기화를 구현할 수 있다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 이하의 설명에서 어떤 구성 요소가 다른 구성 요소에 연결된다고 기술될 때, 이는 다른 구성 요소와 바로 연결될 수도 있지만, 그 사이에 제3의 구성 요소가 개재될 수도 있다. 또한, 도면에서 각 구성 요소의 구조나 크기는 설명의 편의 및 명확성을 위하여 과장되었고, 설명과 관계없는 부분은 생략되었다. 도면상에서 동일 부호는 동일한 요소를 지칭한다. 한편, 사용되는 용어들은 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다.
도 1은 본 발명의 일 실시예에 따른 임베디드 멀티미디어 시스템에서의 시간 동기화 장치에 대한 구조도이다.
도 1을 참조하면, 본 실시예의 임베디드 멀티미디어 시스템에서의 시간 동기화 장치(100)는 시간 생성부(120), 시간 보정부(140), 시간 출력부(150) 및 제어부(130)를 포함한다.
시간 생성부(120)는 CPU의 타이머(200)에 기초하여 시간을 생성하고, 시간 보정부(140)는 오디오 타이머(300)에 기초하여 시간 생성부(120)에서 생성된 시간을 보정한다. 시간 출력부(150)는 시간 보정부(140)에서 보정된 시간을 비디오 출력부로 전송한다. 비디오 출력부는 도 2 부분에서 설명하겠지만, 일종의 비디오 재생을 위한 소프트웨어로서, 화면 재생을 위한 데이터를 비디오 재생기(player)로 전송한다. 화면 재생을 위한 데이터 전송 중에 비디오 재생을 위한 시간도 함께 포 함되어 전송된다.
한편, 제어부(130)는 시간 생성부(120)나 시간 보정부(140)를 제어하는데, 시간 생성부(120)에 대한 경우, 화면의 일시 정지 등이 발생하는 경우에 제어부(130)는 시간 생성부(120)를 제어하여 시간 생성부(120)가 적절한 시간을 다시 생성하도록 한다. 예컨대, 시간 생성부(120)에 대한 제어 모드로는 일시 정지, 다시 시작, 및 시작시간 재설정 등을 들 수 있다. 시간 보정부(140)에 대한 제어의 경우, 제어부(130)는 시간 생성부(300)에서 생성된 시간과 오디오 타이머(300)에 입력된 시간을 주기적으로 비교하여 소정 시간의 차이가 발생한 경우에 시간 보정부(140)가 오디오 타이머(300)에서 입력된 시간에 맞춰 시간 생성부(300)에서 생성된 시간을 보정하도록 한다.
이러한 시간 생성부(120) 및 시간 보정부(140)의 구조 및 시간 생성 방법 및 보정 방법은 도 2, 도 3 및 도 6 ~ 7의 설명부분에서 좀더 상세히 설명한다.
종래 기술에서 언급한 바와 같이 일반적으로 CPU 타이머(200)의 클럭이 정확하지 않은 경우가 종종 발생하고, 그에 따라 오디오 타이머와 동기가 어긋나는 경우가 자주 발생한다. 또한, 오디오 타이머를 기초로 비디오 타이머를 진행하게 되면, 일반적으로 틱(tick) 간격이 큰 오디오 타이머에 기인하여 비디오 화면이 멈추는 문제가 있다. 따라서, 본 실시예에서는 CPU의 타이머의 클럭, 즉 틱(tick)을 기준으로 비디오의 화면을 재생하되, 주기적으로 오디오의 타이머를 체크하여 동기가 어긋나는 경우에 오디오의 타이머의 시간으로 시간을 보정한 후, 다시 CPU 타이머의 틱으로 화면을 재생하게 된다. 즉, 화면 속도는 기본적으로 CPU의 타이머에 따 라 진행하되, 오디오 타이머에 기초하여 주기적 시간을 보정한다는 개념이다. 그에 따라, 오디오 타이머와의 동기와 유지하면서도 화면을 부드럽게 재생할 수 있다.
도 2는 도 1의 시간 생성부를 좀더 상세하게 보여주는 구조도이다.
도 2를 참조하면, 시간 생성부(120)는 기준 시간 및 화면속도 비율 설정부(122), 비디오 타이머 기준 틱 설정부(124), 및 현재시간 생성부(126)를 포함한다.
기준 시간 및 화면속도 비율 설정부(122)는 기준 시간(Reference Time)과 화면 속도 비율(ratio)을 설정한다. 여기서 화면 속도 비율(ratio)은 보통 재생 속도 1을 기준으로, 2는 2배속, 3은 3배속이 된다.
비디오 타이머 기준 틱 설정부(124)는 CPU 타이머의 초기 틱(tick)을 비디오 타이머의 기준 틱으로 설정한다. 한편, 비디오 타이머는 CPU 타이머의 시간 속도로 시간을 진행시킨다.
현재시간 생성부(126)는 다음의 식(1)과 같은 연산을 하여 비디오 타이머의 현재시간을 생성한다.
현재시간(Current Time) = 기준 시간(Ref. Time) +((현재의 CPU tick - 기준 틱) * ratio) ........식(1)
즉, 현재시간은 CPU 타이머의 현재시간의 틱에서 상기 기준 틱을 뺀 값에 상기 화면 속도 비율을 곱한 값을 상기 기준 시간에 더함으로써 구할 수 있다. 식(1) 의 이해를 돕기 위해, 예를 들어 설명하면, 기준 시간을 0으로 잡고 시작할 때, 초기 CPU의 틱이 23초, 즉 기준 틱이 23초이고, 현재의 CPU의 틱이 2분 23초인 경우, 그리고 화면 비율 속도가 보통, 즉 1인 경우에, 현재시간은 2분이 되게 된다. 여기서, 틱은 일반적으로 초보다는 매우 작은 시간 단위이지만 설명의 편의를 위해 초 단위로 설명하였다.
도 3은 도 1의 시간 보정부를 좀더 상세하게 보여주는 구조도이다.
도 3을 참조하면, 시간 보정부(140)는 시간 비교부(142), 기준시간 재설정부(144) 및 기준 틱 재설정부(146)를 포함한다.
시간 비교부(142)는 앞서 도 2에서 생성된 비디오 타이머의 현재시간과 오디오 타이머의 시간을 비교한다. 비교 결과, 시간차이가 소정 범위, 예컨대, , 50ms 미만이면, 보정을 하지 않아도 되지만 , 50ms 이상이 되면 보정을 수행하여야 한다.
기준시간 재설정부(144) 및 기준 틱 재설정부(146)는 위의 비교결과에 의해 시간차가 소정범위를 벗어나면, 기준시간과 기준 틱을 재설정하게 된다. 즉, 기준시간은 오디오로부터 입력된 시간을 기초로 재설정하고, 기준 틱은 그때의 CPU 틱을 기초로 설정한다. 이와 같이 재설정된 기준시간 및 기준 틱을 기초로 시간 생성부(120)는 비디오 타이머의 시간을 다시 생성하게 된다.
본 실시예의 시간 동기화 장치는 위와 같은 과정을 통해서, 화면 속도는 기본적으로 CPU의 타이머에 따라 진행하도록 하되, 오디오 타이머에 기초하여 주기적 시간을 보정함으로써, 오디오 타이머와의 동기를 유지하면서도 화면을 부드럽게 재 생할 수 있도록 한다.
도 4는 본 발명의 다른 실시예에 따른 도 1의 시간 동기화 장치를 포함하는 멀티미디어 재생기에 대한 구조도이다.
도 4를 참조하면, 멀티미디어 재생기는 오디오 출력부(310), 오디오 디바이스(320), 비디오 출력부(410), 비디오 디바이스(420) 및 시간 동기화 장치(100)를 포함한다.
오디오 출력부(310)는 소프트웨어적인 장치로서, 앰프 등의 출력장치인 오디오 디바이스(320)에 음성 출력을 위한 데이터를 전송한다. 한편, 오디오 출력부에는 등록된 콜백(Callback, 312)이 존재하고, 콜백(312)은 음성 데이터 전송이 종료된 시점인 PCM 타임을 시간 동기화 장치(100)로 전송한다.
시간 동기화 장치(100)는 앞서 도 1에서 언급한 바와 같이 시간 생성부를 통해 CPU의 타이머에 기초하여 시간을 생성하고, 이렇게 생성된 시간은 CPU의 클럭 속도로 진행하게 된다. 또한, 제어부의 제어에 따라 일시 정시 등이 된 경우에는 시간 생성부가 시간을 재설정한다. 한편, 시간 보정부를 통해 오디오 타이머에서 입력된 시간, 즉 콜백(320)으로부터의 전송된 PCM 타임에 기초하여, 시간을 보정한다. 이러한 시간 보정은 제어부가 CPU 타이머를 기초로 계산된 현재시간을 PCM 타임과 비교하여 소정 시간 어긋한 경우, 예컨대, 50ms 이상이 어긋난 경우에 PCM 타임을 기초로 시간을 보정함으로써, 이루어진다.
비디오 출력부(410) 역시 소프트웨어 장치로서, 비디오 재생기나 녹음기(recorder) 등의 출력 장치인 비디오 디바이스(420)에 비디오 재생이나 녹음을 위한 데이터를 전송한다. 이러한 비디오 재생이나 녹음을 위한 데이터는 시간 동기화 장치(100)로부터 전송받은 CPU 타이머 및 오디오 타이머를 기초로 생성하거나 보정된 비디오 재생 시간을 포함하여, 비디오 디바이스(420)가 그 재생 시간을 통해 비디오 데이터를 재생하도록 한다.
도 5는 도 4의 시간 동기화 장치에서 시간 동기화 과정을 보여주는 스테이트 다이어그램이다.
도 5를 참조하면, 먼저 스테이트 1(S1)에서 오디오 출력을 위한 데이터들이 입력되고, 다음 그러한 오디오 출력을 위한 데이터들이 스테이트 2(S2)로 전송된다. 음성 데이터의 전송은 일반적으로 PCM(Pulse Code Modulation) 전송 방식으로 이루어진다. PCM 전송을 통해, 음성에 대한 데이터가 모두 전송된 경우에 스테이트 1의 콜백을 호출하며(A), 이러한 호출은 통해 콜백은 종료된 시점인 PCM 타임을 스테이트 3(S3)로 전송한다(B). 스테이트 3은 PCM 타임을 기초로 비디오 타이머의 시간을 보정하여 스테이트 4(S4)로 전송한다(C). 만약 비디오 타이머의 시간이 앞서 PCM 타임과 차이가 없는 경우에는 보정을 수행하지 않음은 물론이다. 스테이트 4(S4)는 비디오 데이터를 YUV 방식으로 스테이트 5(S5)로 전송하는데, 비디오 재생을 위한 시간에 대한 데이터도 함께 전송됨은 물론이다. 또한, 스테이트 4(S4)는 스테이트 3(S3)과 주기적으로 정보를 교환하여 보정된 시간을 스테이트 5(S5)로 전송한다.
도 6은 본 발명의 또 다른 실시예에 따른 임베디드 멀티미디어 시스템에서의 시간 동기화 방법을 보여주는 흐름도이다.
도 6을 참조하면, 먼저 비디오 타이머 시간을 초기화 한다(S100). 시간 초기화는 기준 시간(Reference Time)과 화면 속도 비율(ratio)을 설정하는 것을 의미한다. 화면 속도 비율(ratio)은 전술한 바와 같이 재생속도를 말하며, 보통 재생 속도 1을 기준으로, 2는 2배속, 3은 3배속이 된다. 시간 초기화 후, 비디오 타이머의 시간의 진행을 시작한다(S200). 시간의 진행은 초기 CPU의 틱을 기준 틱으로 하여 진행되도록 한다.
시간 시작 단계를 통해 시간이 진행하게 되면, 현재시간을 계산한다(S300). 현재시간은 앞서 식(1)을 통해 계산할 수 있다.
현재시간 계산 단계 이후, 오디오의 타이머에 기초하여 시간을 보정한다(S400). 오디오 타이머를 기초로 한 시간 보정에 대해서는 도 7에 대한 설명부분에서 좀더 상세히 설명한다.
다음 시간 정지가 있는지를 판단한다(S500). 시간 정지가 없는 경우에는 현재 시간 계산 단계(S300)로 돌아가 앞서 설명한 바와 같이 현재시간을 계산하고, 다시 시간 보정 단계로 진행하는 식으로 진행된다. 한편, 사용자 등에 의한 시간 정지가 있는 경우에는 정지에 따른 현재시간을 다시 계산해야 한다(S500). 정지에 따른 현재시간에 대해서는 도 8에 대한 설명부분에서 좀더 상세히 설명한다.
이후, 비디오 타이머 종료 여부, 즉 비디오 재생 종료가 끝났는지를 판단한다(S600). 타이머가 끝난 경우에는 동기화 과정을 종료하고, 끝나지 않은 경우에는 시간 보정 단계(S400)로 진행하여 계속적인 동기화 과정을 수행한다.
이와 같이 본 실시예의 시간 동기화 방법은 비디오 재생을 위한 비디오 타이 머의 시간을 CPU의 타이머 맞춰서 진행하되, 주기적으로 오디오 타이머의 시간을 기초로 보정함으로써, 오디오 타이머와 동기를 유지하면서도 화면을 부드럽게 재생할 수 있도록 한다.
도 7은 도 6의 시간 보정 단계를 좀더 상세하게 보여주는 흐름도이다.
도 7을 참조하면, 시간 보정 단계는 먼저 비디오 타이머의 현재시간과 오디오 타이머의 시간을 비교한다(S420). 시간 차이가 소정 범위(Δt)이상인 경우에는 보정을 수행한다. 예컨대 50ms 미만의 차이를 갖는 경우에는 보정을 수행하지 않고, 50ms 이상의 차이가 발생한 경우에만 보정을 수행한다.
시간 차이가 소정 범위 이상인 경우에는 기준 시간을 재설정한다(S440). 즉, 오디오 타이머를 통해 입력된 시간을 기준시간으로 재설정한다. 기준 시간 재설정 후에 기준 틱도 재설정 한다(S460). 기준 틱의 재설정은 오디오 타이머 재설정시의 CPU 타이머의 틱을 기준 틱으로서 설정함으로써 이루어진다.
도 8은 도 6의 시간 정지에 따른 현재시간 계산 단계를 좀더 상세하게 보여주는 흐름도이다.
도 8을 참조하면, 먼저 비디오 타이머의 시간의 정지가 있는지를 판단한다(S300). 시간 정지가 없는 경우, 현재시간 계산 단계로 진행하고, 시간 정지가 있는 경우에는 기준 시간 재설정 단계(S520)로 진행한다.
기준 시간 재설정 단계(S520)에서는, 현재시간 계산을 통해 얻은 현재시간이 기준 시간으로 재설정된다. 즉, 다음 식(2)와 같이 계산된다.
기준 시간 2(Ref. Time 2) = 기준 시간(Ref. Time) +((현재의 CPU tick - 기준 틱) * ratio) ........식(2)
기준 시간이 재설정되면 현재시간 생성하는 단계로 진행되는데(S540), 현재 시간은 앞서 생성된 기준시간이 그대로 현재시간이 된다. 즉, 다음 식(3)이 성립한다.
현재 시간(Current Time) = 기준 시간 2(Ref. Time 2) ........식(3)
식(2) 및 식 (3)에서, 기준 시간 2는 시간 정지에 따른 기준 시간을 의미한다.
시간 정지에 따른 현재시간 계산 후, 전술한 바와 같이 타이머, 즉 시간 동기화 장치의 종료 여부를 판단하고, 종료되는 경우에는 시간 동기화 장치를 종료하고, 종료하지 않은 경우에는 시간 보정(S400) 단계를 거쳐 계속적으로 시간 동기화 장치가 동작한다.
지금까지, 본 발명을 도면에 표시된 실시예를 참고로 설명하였으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 임베디드 멀티미디어 시스템에서의 시간 동기화 장치에 대한 구조도이다.
도 2는 도 1의 시간 생성부를 좀더 상세하게 보여주는 구조도이다.
도 3은 도 1의 시간 보정부를 좀더 상세하게 보여주는 구조도이다.
도 4는 본 발명의 일 실시예에 따른 도 1의 시간 동기화 장치를 포함하는 멀티미디어 재생기에 대한 구조도이다.
도 5는 도 4의 시간 동기화 장치에서 시간 동기화 과정을 보여주는 스테이트 다이어그램이다.
도 6은 본 발명의 또 다른 실시예에 따른 임베디드 멀티미디어 시스템에서의 시간 동기화 방법을 보여주는 흐름도이다.
도 7은 도 6의 시간 보정 단계를 좀더 상세하게 보여주는 흐름도이다.
도 8은 도 6의 시간 정지에 따른 현재시간 계산 단계를 좀더 상세하게 보여주는 흐름도이다.

Claims (17)

  1. CPU의 타이머에 기초하여 시간을 생성하는 시간 생성부;
    오디오 타이머에 기초하여 상기 시간 생성부의 시간을 보정하는 시간 보정부;
    상기 시간 보정부에서 보정된 시간을 받아 재생기로 출력하는 시간 출력부; 및
    상기 시간 생성부 및 시간 보정부를 제어하는 제어부;를 포함하는 임베디드 멀티미디어 시스템에서의 시간 동기화 장치.
  2. 제1 항에 있어서,
    상기 시간 생성부는
    기준 시간 설정 및 시스템의 CPU 타이머의 틱(tick)을 기준 틱(tick)으로 설정한 후,
    상기 CPU 타이머의 현재시간의 틱에서 상기 기준 틱을 뺀 값을 상기 기준 시간에 더하여 현재시간을 생성하는 것을 특징으로 하는 시간 동기화 장치.
  3. 제2 항에 있어서,
    상기 기준 시간 설정 시에 화면 속도 비율(ratio)도 함께 설정하고,
    상기 현재시간의 생성은, 상기 CPU 타이머의 현재시간의 틱에서 상기 기준 틱을 뺀 값에 상기 화면 속도 비율을 곱한 값을 상기 기준 시간에 더하여 현재시간을 생성하는 것을 특징으로 하는 시간 동기화 장치.
  4. 제3 항에 있어서,
    상기 시간 보정부에서 시간 보정은,
    상기 현재시간과 상기 오디오 타이머에서 입력된 시간을 비교하여, 소정 시간 이상의 차이가 있는 경우에, 상기 오디오 타이머에서 입력된 시간을 상기 기준 시간으로 재설정하고, 상기 현재시간의 틱을 상기 기준 틱으로서 재설정함으로써, 이루어지는 것을 특징으로 하는 시간 동기화 장치.
  5. 제3 항에 있어서,
    상기 제어부를 통해 시간이 정지가 된 경우에,
    생성된 상기 현재시간을 상기 기준 시간으로서 재설정하고, 상기 현재시간의 생성은 재설정된 상기 기준시간을 그대로 입력하여 생성하는 것을 특징으로 하는 시간 동기화 장치.
  6. 음성을 출력하는 오디오 디바이스;
    상기 오디오 디바이스로 출력할 음성에 대한 데이터를 전송하는 오디오 출력부;
    영상을 출력하는 비디오 디바이스;
    상기 비디오 디바이스로 출력할 영상에 대한 데이터를 전송하는 비디오 출력부; 및
    영상 재생을 위한 시간을 생성하고 상기 오디오 출력부에 등록된 콜백(Callback)에 기초하여 시간을 보정하여 상기 비디오 출력부로 전송하는 시간 동기화 장치;를 포함하는 멀티미디어 재생기(multimedia player).
  7. 제6 항에 있어서,
    상기 오디오 디바이스는 상기 오디오 출력부로부터 상기 음성 데이터에 대한 PCM(Pulse Code Modulation) 전송이 완료되면, 상기 콜백을 호출하며,
    상기 시간 동기화 장치는 CPU의 타이머에 기초하여 시간을 생성하고, 상기 콜백의 PCM 전송 완료 시간을 기초로 시간을 보정하는 것을 특징으로 하는 멀티미디어 재생기.
  8. 제6 항에 있어서,
    상기 시간 동기화 장치는
    CPU의 타이머에 기초하여 시간을 생성하는 시간 생성부, 오디오 타이머에 기초하여 상기 시간 생성부의 시간을 보정하는 시간 보정부, 상기 시간 보정부에서 보정된 시간을 받아 재생기로 출력하는 시간 출력부, 및 상기 시간 생성부 및 시간 보정부를 제어하는 제어부;를 포함하는 것을 특징으로 하는 멀티미디어 재생기.
  9. 제8 항에 있어서,
    상기 시간 보정부는,
    상기 시간 생성부에서 생성된 현재시간과 상기 오디오 타이머에서 입력된 시간을 비교하여, 소정 시간 이상의 차이가 있는 경우에, 상기 오디오 타이머에서 입력된 시간을 기준 시간으로 재설정하고, 상기 현재시간의 틱을 기준 틱으로서 재설정하여 시간을 보정하는 것을 특징으로 하는 멀티미디어 재생기.
  10. 비디오 타이머의 시간을 초기화하는 단계;
    상기 비디오 타이머의 시간을 시작하는 단계;
    상기 비디오 타이머의 현재시간을 계산하는 단계; 및
    오디오 타이머를 기초로 상기 현재시간을 보정하는 단계;를 포함하는 임베디드 멀티미디어 시스템에서의 시간 동기화 방법.
  11. 제10 항에 있어서,
    상기 시간 초기화 단계에서는 기준 시간을 설정하고,
    상기 시간 시작 단계에서는 초기 CPU 타이머의 틱(tick)을 기준 틱(tick)으로 설정하는 것을 특징으로 하는 시간 동기화 방법.
  12. 제11 항에 있어서,
    상기 현재시간 계산 단계에서는 상기 CPU 타이머의 현재시간의 틱에서 상기 기준 틱을 뺀 값에 상기 기준 시간에 더하여 상기 현재시간을 계산하는 것을 특징으로 하는 시간 동기화 방법.
  13. 제11 항에 있어서,
    상기 시간 초기화 단계에서는 기준 시간 시간과 속도 화면 속도 비율(ratio)을 설정하고
    상기 현재시간 계산 단계에서는 상기 CPU 타이머의 현재시간의 틱에서 상기 기준 틱을 뺀 값에 상기 화면 속도 비율을 곱한 값을 상기 기준 시간에 더하여 상기 현재시간을 계산 계산하는 것을 특징으로 하는 시간 동기화 방법.
  14. 제11 항에 있어서,
    상기 현재시간 보정 단계에서는 상기 현재시간과 상기 오디오 타이머로부터 입력된 시간이 소정 시간 이상의 차이가 있는 경우에, 상기 오디오 타이머에서 입력된 시간을 상기 기준 시간으로 재설정하고, 상기 CPU 타이머의 현재시간의 틱을 상기 기준 틱으로 재설정하는 것을 특징으로 하는 시간 동기화 방법.
  15. 제11 항에 있어서,
    상기 시간 보정 단계 이후에,
    시간 정지 유무를 판단하는 단계를 더 포함하고,
    상기 시간 정지가 있는 경우에는 정지에 따른 현재시간을 다시 계산하며,
    상기 시간 정지가 없는 경우에는 상기 현재시간 계산 단계로 돌아가는 것을 특징으로 하는 시간 동기화 방법.
  16. 제15 항에 있어서,
    정지에 따른 상기 현재시간 계산은
    계산된 상기 현재시간을 상기 기준 시간으로서 재설정하고, 상기 현재시간의 생성은 재설정된 상기 기준시간을 그대로 입력하여 생성하는 것을 특징으로 하는 시간 동기화 방법.
  17. 제16 항에 있어서,
    정지에 따른 상기 현재시간 계산 이후에,
    시간 동기화 장치에서의 시간 동기화를 종료할 것인지 판단하는 단계를 더 포함하고,
    상기 시간 동기화를 종료하지 않은 경우에는 상기 시간 보정 단계로 돌아가고, 종료하는 경우에는 시간 동기화를 종료하는 것을 특징으로 시간 동기화 방법.
KR1020080113463A 2008-11-14 2008-11-14 임베디드 멀티미디어 시스템에서의 시간 동기화 장치와 방법, 및 그 동기화 장치를 포함한 멀티미디어 재생기 KR101048302B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080113463A KR101048302B1 (ko) 2008-11-14 2008-11-14 임베디드 멀티미디어 시스템에서의 시간 동기화 장치와 방법, 및 그 동기화 장치를 포함한 멀티미디어 재생기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080113463A KR101048302B1 (ko) 2008-11-14 2008-11-14 임베디드 멀티미디어 시스템에서의 시간 동기화 장치와 방법, 및 그 동기화 장치를 포함한 멀티미디어 재생기

Publications (2)

Publication Number Publication Date
KR20100054508A true KR20100054508A (ko) 2010-05-25
KR101048302B1 KR101048302B1 (ko) 2011-07-13

Family

ID=42279230

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080113463A KR101048302B1 (ko) 2008-11-14 2008-11-14 임베디드 멀티미디어 시스템에서의 시간 동기화 장치와 방법, 및 그 동기화 장치를 포함한 멀티미디어 재생기

Country Status (1)

Country Link
KR (1) KR101048302B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220027502A (ko) * 2020-08-27 2022-03-08 주식회사 싱랩 미디 음악 기반의 안무 영상 콘텐츠 서비스 장치 및 방법과, 이를 기록한 컴퓨팅 장치에 의해 판독 가능한 기록매체

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100622225B1 (ko) * 2004-10-22 2006-09-19 엘지전자 주식회사 휴대 전화기에서의 비디오 및 오디오 데이터 동기화 장치및 방법
KR100864009B1 (ko) * 2007-04-02 2008-10-16 주식회사 대우일렉트로닉스 오디오/비디오 동기화 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220027502A (ko) * 2020-08-27 2022-03-08 주식회사 싱랩 미디 음악 기반의 안무 영상 콘텐츠 서비스 장치 및 방법과, 이를 기록한 컴퓨팅 장치에 의해 판독 가능한 기록매체

Also Published As

Publication number Publication date
KR101048302B1 (ko) 2011-07-13

Similar Documents

Publication Publication Date Title
JP5068744B2 (ja) ネットワーク機器用の同期的音声/映像復号化方法及び装置
JP4516156B2 (ja) 映像音声データ同期方法、映像出力機器、音声出力機器及び映像音声出力システム
KR20140066641A (ko) 서버, 멀티미디어 기기 및 그들의 제어방법
US8111327B2 (en) Method and apparatus for audio/video synchronization
KR101658316B1 (ko) 동기 오디오 재생 방법 및 장치
US9549027B2 (en) Network-synchronized media playback
JP2004007140A (ja) 音声再生装置および同装置で用いられる音声再生制御方法
CN104284200B (zh) 多屏同步播放方法、系统及相关装置
JP2007324829A (ja) 振動体感再生装置及び振動体感再生方法
US20150081068A1 (en) Method for synchronizing audio playback of plural playing devices and audio playback system
JP2015130662A (ja) Av機器及びその制御方法
KR20220053542A (ko) 복수의 커넥티드 장치 간 디지털 콘텐츠의 재생 동기화를 맞추는 방법 및 이를 이용한 장치
JP2004282667A (ja) 再生同期ずれ補正機能を備えた送信機及び受信機、並びにそれらを有する伝送装置
JP5024000B2 (ja) 記録再生装置及びタイムコード復元方法
KR101048302B1 (ko) 임베디드 멀티미디어 시스템에서의 시간 동기화 장치와 방법, 및 그 동기화 장치를 포함한 멀티미디어 재생기
KR101600891B1 (ko) 복수의 단말기에 출력되는 비디오 및 오디오를 동기화시키는 동기화시스템 및 방법
US20220013131A1 (en) Method, a system, and a program for playing back audio/video signals with automatic adjustment of latency
WO2018173312A1 (ja) 仮想現実視聴システム、再生同期方法および仮想現実視聴用プログラム
JP2011229112A (ja) コンテンツ再生装置およびそのプログラム
JP4168269B2 (ja) 携帯電話端末および携帯電話端末の同期制御方法
WO2011055490A1 (ja) 配信システム
KR101682978B1 (ko) Precision Time Protocol를 이용한 영상 재생 동기화 시스템 및 방법
JP2007150787A (ja) 映像・音声機器に対する再生コンテンツ切替システム
JP2007049466A (ja) 同期再生方法、および同期再生ソフトウェア
JP2014127213A (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: 20140703

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150716

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160701

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 7