KR20180032917A - 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법 - Google Patents

클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법 Download PDF

Info

Publication number
KR20180032917A
KR20180032917A KR1020160122221A KR20160122221A KR20180032917A KR 20180032917 A KR20180032917 A KR 20180032917A KR 1020160122221 A KR1020160122221 A KR 1020160122221A KR 20160122221 A KR20160122221 A KR 20160122221A KR 20180032917 A KR20180032917 A KR 20180032917A
Authority
KR
South Korea
Prior art keywords
media data
time
data
skew
client device
Prior art date
Application number
KR1020160122221A
Other languages
English (en)
Other versions
KR101853441B1 (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 KR1020160122221A priority Critical patent/KR101853441B1/ko
Priority to PCT/KR2017/010568 priority patent/WO2018056781A1/ko
Priority to US16/335,507 priority patent/US11022999B2/en
Priority to CN201780055610.3A priority patent/CN109716706A/zh
Publication of KR20180032917A publication Critical patent/KR20180032917A/ko
Application granted granted Critical
Publication of KR101853441B1 publication Critical patent/KR101853441B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • 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/10Distribution of clock signals, e.g. skew
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1059End-user terminal functionalities specially adapted for real-time communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0095Arrangements for synchronising receiver with transmitter with mechanical means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/0055Synchronisation arrangements determining timing error of reception due to propagation delay
    • H04W56/0065Synchronisation arrangements determining timing error of reception due to propagation delay using measurement of signal travel time
    • 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/08Clock generators with changeable or programmable clock frequency

Abstract

본 발명의 로컬 시계 스큐 보정 장치는 상대 클라이언트 장치와 동기화되어 시간 기반 서비스(Time-aware service)를 제공하는 클라이언트 장치로서, 로컬 클럭에 따라 제1 로컬 시간 데이터 및 제2 로컬 시간 데이터를 제공하는 로컬 시간 제공부; 상기 상대 클라이언트 장치로부터 제1 미디어 데이터 및 제2 미디어 데이터를 수신하고, 상기 제1 로컬 시간 데이터를 이용하여 상기 제1 미디어 데이터의 제1 재생 시점을 스케쥴링하고, 상기 제2 로컬 시간 데이터를 이용하여 상기 제2 미디어 데이터의 제2 재생 시점을 스케쥴링하는, 미디어 스케쥴링부; 상기 제1 재생 시점 및 상기 제2 재생 시점의 차이가 스큐 임계값을 초과하는 경우, 글로벌 시간 서버에 글로벌 시간 데이터를 요청하는 스큐 모니터링부를 포함하고, 상기 제1 미디어 데이터와 상기 제2 미디어 데이터는 서로 다른 유형의 미디어 데이터이다.

Description

클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법{CLIENT DEVICE AND LOCAL CLOCK SKEW COMPENSATION METHOD THEREOF}
본 발명은 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법에 관한 것이다.
원격 화상 회의, 가상 현실 등, 원격 사용자 간 다양한 미디어 공유(Share)와 콘텐츠(Contents) 교류를 통해 실감을 느끼도록 하기 위해서는, 원격 사용자 간의 시간(clock)은 반드시 동기화(Synchronization)되어야 한다. 일반적인 시간 동기화 방법은 하나의 기준 시계(Reference clock)를 이용하는 것이다.
대표적인 시간 동기화 방법으로는 NTP, PTP 프로토콜 등이 있으며, 일반적으로 일정한 주기로 클럭 스큐(clock skew)을 보정한다. 예를 들어, 윈도우즈 환경에서 시스템 시간 동기화는 NTP 프로토콜을 이용하여 7 일 주기로 자기 시간(local clock) 동기화를 수행한다.
일정 주기로 시간을 동기화하는 방법은 시스템 환경(CPU, 주변 온도 등)에 따라 다음 동기화 시점까지 기준 시간보다 수 초(seconds per day) 이상의 차이가 발생할 수 있다. 일반적인 윈도우즈 운영체제 환경에서는 비교적 시간 동기화에 필요한 시스템 자원을 적게 사용하면서, 즉, 시스템 효율성(Efficiency)을 고려하여 시간 동기화를 수행한다. 하지만 금융, 방송 등과 같이 시간 정확도에 큰 영향을 받는 서비스(Time-aware service) 에서는 리눅스(Linux) 계열의 운영체제를 사용하고, 지속적인 클럭 스큐를 모니터링하면서 시간 동기화를 수행한다. 이는 시스템 부하가 늘어나는 단점을 감수하면서도 자가 시간의 정확성(Accuracy)에 초점을 맞추는 방법이다.
효율성과 정확성은 사용자 환경의 자원(Resource: 네트워크 부하, 시스템 부하 등) 활용에 직접적으로 연관된다. 즉, 기준 시간과 사용자의 시간 오차가 작게 시간을 동기화 하는 것은, 시간의 정확성은 보장할 수 있지만 시스템 자원 사용 효율성을 낮추게 되는 것이다. 예를 들어, 단지 인터넷 서핑만 즐기는 사용자는 수백 밀리 초(milli-seconds)의 오차는 무시할 수 있지만, 주식 거래와 같이 시간 의존성이 높은 서비스의 경우 수백 밀리 초 차이는 금전적 손해 이상의 불이익이 발생 할 수 있다. 이러한 점에서 원격 사용자 간 실감 교류를 위해 다양한 미디어 데이터를 전송하는 경우, 고정된 시간 동기화 방법 대신에 시간 동기화의 정확도와 시스템 자원 사용 효율성을 적응적으로 조절할 수 있는 방법이 요구된다.
특허문헌 1은 NTP를 이용한 시간 동기화 관리 시스템을 개시한다.
한국 공개특허공보 제10-2015-0011685호(2015.02.02.)
해결하고자 하는 기술적 과제는, 미디어 데이터 간의 동기화 허용 오차를 이용하여 시간 동기화 주기가 적응적으로 변경될 수 있어, 시간 동기화의 정확성과 시스템 자원 사용의 효율성을 동시에 달성할 수 있는 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법을 제공하는 데 있다.
본 발명의 한 실시예에 따른 클라이언트 장치는, 상대 클라이언트 장치와 동기화되어 시간 기반 서비스(Time-aware service)를 제공하는 클라이언트 장치로서, 로컬 클럭에 따라 제1 로컬 시간 데이터 및 제2 로컬 시간 데이터를 제공하는 로컬 시간 제공부; 상기 상대 클라이언트 장치로부터 제1 미디어 데이터 및 제2 미디어 데이터를 수신하고, 상기 제1 로컬 시간 데이터를 이용하여 상기 제1 미디어 데이터의 제1 재생 시점을 스케쥴링하고, 상기 제2 로컬 시간 데이터를 이용하여 상기 제2 미디어 데이터의 제2 재생 시점을 스케쥴링하는, 미디어 스케쥴링부; 상기 제1 재생 시점 및 상기 제2 재생 시점의 차이에 대응하는 스큐량이 스큐 임계값을 초과하는 경우, 글로벌 시간 서버에 글로벌 시간 데이터를 요청하는 스큐 모니터링부를 포함하고, 상기 제1 미디어 데이터와 상기 제2 미디어 데이터는 서로 다른 유형의 미디어 데이터이다.
상기 클라이언트 장치는, 상기 제1 미디어 데이터 및 상기 제2 미디어 데이터 각각의 유형에 따른 상기 스큐 임계값이 저장된 데이터베이스를 더 포함할 수 있다.
상기 스큐 모니터링부는 상기 제1 재생 시점 및 상기 제2 재생 시점을 이용하여 상기 제1 미디어 데이터 및 상기 제2 미디어 데이터 간의 상기 스큐량을 산출하는 스큐량 산출부; 상기 스큐 임계값과 상기 스큐량을 비교하는 스큐량 비교부; 및 상기 스큐량이 상기 스큐 임계값을 초과하는 경우, 상기 글로벌 시간 서버에 상기 글로벌 시간 데이터를 요청하는 글로벌 시간 요청부를 포함할 수 있다.
상기 스큐량 비교부는 상기 스큐량에 가중치를 곱한 값과 상기 스큐 임계값을 비교할 수 있다.
상기 클라이언트 장치는, 상기 글로벌 시간 데이터를 수신하여 상기 로컬 클럭을 보정하는 로컬 클럭 보정부를 더 포함할 수 있다.
상기 클라이언트 장치는, 상기 제1 미디어 데이터 및 상기 제2 미디어 데이터를 상기 제1 재생 시점 및 상기 제2 재생 시점에 따라 재생하는 렌더링부를 더 포함할 수 있다.
상기 스큐 임계값은 상기 제1 재생 시점 및 상기 제2 재생 시점의 차이가 사용자에게 상기 제1 미디어 데이터와 상기 제2 미디어 데이터의 비동기 재생을 인식시키는 값일 수 있다.
상기 제1 및 제2 미디어 데이터의 유형은 비디오 및 오디오 유형, 햅틱 및 비디오 유형, 햅틱 및 오디오 유형 중 하나일 수 있다.
상기 제1 미디어 데이터 및 상기 제2 미디어 데이터는 각각 상기 상대 클라이언트 장치의 대응하는 센서로부터 캡쳐링(capturing)된 미디어 데이터일 수 있다.
본 발명의 한 실시예에 따른 로컬 클럭 스큐 보정 방법은, 상대 클라이언트 장치와 동기화되어 시간 기반 서비스를 제공하는 클라이언트 장치에서 수행되는 로컬 클럭 스큐 보정 방법으로서, 상기 상대 클라이언트 장치의 센서에서 캡쳐링된 제1 미디어 데이터 및 제2 미디어 데이터를 수신하는 단계; 제1 로컬 시간 데이터를 이용하여 상기 제1 미디어 데이터의 제1 재생 시점을 스케쥴링하고, 제2 로컬 시간 데이터를 이용하여 상기 제2 미디어 데이터의 제2 재생 시점을 스케쥴링하는 단계; 상기 제1 재생 시점 및 상기 제2 재생 시점의 차이에 대응하는 스큐량이 스큐 임계값을 초과하는 경우, 상기 글로벌 시간 서버에 글로벌 시간 데이터를 요청하여 로컬 클럭을 보정하는 단계를 포함하고, 상기 제1 미디어 데이터와 상기 제2 미디어 데이터는 서로 다른 유형의 미디어 데이터이다.
상기 로컬 클럭 스큐 보정 방법은, 상기 시간 기반 서비스의 개시 시에 글로벌 시간 서버에 글로벌 시간 데이터를 요청하여 상기 클라이언트 장치의 로컬 클럭을 보정하는 단계를 더 포함할 수 있다.
상기 스큐 임계값은 상기 제1 재생 시점 및 상기 제2 재생 시점의 차이가 사용자에게 상기 제1 미디어 데이터와 상기 제2 미디어 데이터의 비동기 재생을 인식시키는 값일 수 있다.
상기 제1 및 제2 미디어 데이터의 유형은 비디오 및 오디오 유형, 햅틱 및 비디오 유형, 햅틱 및 오디오 유형 중 하나일 수 있다.
본 발명에 따른 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법은, 미디어 데이터 간의 동기화 허용 오차를 이용하여 시간 동기화 주기가 적응적으로 변경될 수 있어, 시간 동기화의 정확성과 시스템 자원 사용의 효율성을 동시에 달성할 수 있다.
도 1은 본 발명의 한 실시예에 따른 클라이언트 장치를 설명하기 위한 도면이다.
도 2는 본 발명의 한 실시예에 따른 미디어 스케쥴링부의 기능을 설명하기 위한 도면이다.
도 3은 미디어 데이터 간의 클럭 스큐가 발생하는 지연 요소를 설명하기 위한 도면이다.
도 4는 글로벌 시간과 로컬 시간의 차이를 설명하기 위한 도면이다.
도 5는 실제 미디어 데이터 스트림에서 발생가능한 총 지연 시간의 차이를 설명하기 위한 도면이다.
도 6은 미디어 간 클럭 스큐를 설명하기 위한 도면이다.
도 7은 본 발명의 한 실시예에 따른 데이터베이스에 저장된 스큐 임계값의 예시를 설명하기 위한 도면이다.
도 8은 시간 동기화 주기에 따른 효율성과 정확성에 대한 측면을 설명하기 위한 도면이다.
도 9는 본 발명의 한 실시예에 따른 글로벌 시간 데이터를 요청하는 의사 코드(Pseudo Code)를 도시한 도면이다.
이하, 첨부한 도면을 참고로 하여 본 발명의 여러 실시 예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예들에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 따라서 앞서 설명한 참조 부호는 다른 도면에서도 사용할 수 있다.
또한, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다. 도면에서 여러 층 및 영역을 명확하게 표현하기 위하여 크기 및 두께를 과장되게 나타낼 수 있다.
도 1은 본 발명의 한 실시예에 따른 클라이언트 장치를 설명하기 위한 도면이다.
도 1을 참조하면 본 발명의 한 실시예에 따른 클라이언트 장치(10)는 로컬 시간 제공부(110), 미디어 스케쥴링부(120), 및 스큐 모니터링부(150)를 포함한다. 클라이언트 장치(10)는, 실시예에 따라, 데이터베이스(140), 로컬 클럭 보정부(160), 및 렌더링부(130)를 더 포함할 수 있다.
클라이언트 장치(10)는 상대 클라이언트 장치(11)와 동기화되어 시간 기반 서비스(Time-aware service)를 제공할 수 있다. 이때 클라이언트 장치(10)와 상대 클라이언트 장치(11)는 동기화 기준 시간으로 글로벌 시간 서버(9)의 글로벌 시간 데이터를 이용할 수 있다.
클라이언트 장치(10)는 적어도 하나의 프로세서와 메모리를 포함하는 컴퓨팅 장치일 수 있다. 후술하는 클라이언트 장치(10)의 로컬 시간 제공부(110), 미디어 스케쥴링부(120), 스큐 모니터링부(150), 데이터베이스(140), 로컬 클럭 보정부(160), 및 렌더링부(130)는 컴퓨팅 장치를 하드웨어적으로 구분할 수 있는 단위가 될 수도 있지만, 소프트웨어적으로 구분할 수 있는 단위일 수도 있다.
시간 기반 서비스(Time-aware service)란, 예를 들어, 시간의 동기화가 매우 중요한 실시간 서비스로서, 원격 화상 회의 서비스, 가상 현실 서비스, 게임 서비스 등을 포함할 수 있다.
글로벌 시간 서버(9)는, 예를 들어, NTP 서버(Network Time Protocol server)일 수 있다. 글로벌 시간 데이터는 예를 들어, NTP 패킷일 수 있다.
이하에서는, 클라이언트 장치(10)가 상대 클라이언트 장치(11)로부터 비디오 데이터와 오디오 데이터를 수신하여, 클라이언트 장치(10)를 이용하는 사용자에게 재생하는 상황을 가정하여 설명한다. 아래의 프로세스는 상대 클라이언트 장치(11)가 클라이언트 장치(10)로부터 비디오 데이터와 오디오 데이터를 수신하는 경우에도 동일하게 적용될 수 있다.
본 실시예에서는 제1 미디어 데이터가 비디오 데이터이고, 제2 미디어 데이터가 오디오 데이터인 경우를 가정한다. 다른 실시예에서는, 제1 미디어 데이터가 햅틱 데이터이고, 제2 미디어 데이터가 비디오 데이터일 수 있다. 또 다른 실시예에서는, 제1 미디어 데이터가 햅틱 데이터이고, 제2 미디어 데이터가 오디오 데이터일 수 있다. 풀 HD 비디오 기준으로 비디오 데이터는 약 6MB 크기로 30fps로 캡쳐링되고, 오디오 데이터는 약 2KB 크기로 43fps로 캡쳐링될 수 있다.
여기서 캡쳐링(capturing)이란, 상대 클라이언트 장치(11)의 대응하는 센서에 의해 미디어 데이터를 획득하는 처리를 의미한다. 예를 들어, 비디오 데이터의 경우는 카메라 센서를 이용하여 획득될 수 있을 것이고, 오디오 데이터의 경우는 마이크 센서를 이용하여 획득될 수 있을 것이다. 본 실시예에서는 상대 클라이언트 장치(11)에서 클라이언트 장치(10)로 미디어 데이터를 전송하는 경우를 예시로 들고 있으므로, 캡쳐링을 상대 클라이언트 장치(11)를 기준으로 설명하나, 원격 화상 회의 같은 양방향 서비스에서는 클라이언트 장치(10) 또한 대응하는 센서의 구비가 필요할 것이다.
로컬 시간 제공부(110)는 제1 로컬 시간 데이터(tc 1(i)) 및 제2 로컬 시간 데이터(tc 1(j))를 제공한다. 즉, 로컬 시간 제공부(110)는 클라이언트 장치(10)의 로컬 클록에 기초하여 시스템 시간(이하 로컬 시간 데이터)을 제공할 수 있다.
제1 로컬 시간 데이터(tc 1(i)) 및 제2 로컬 시간 데이터(tc 1(j))란 미디어 스케쥴링부(120)나 다른 기능부에서 데이터 처리에 있어서 로컬 시간이 필요한 경우, 요청 시각에 대응하는 로컬 시간 데이터를 의미한다. 즉, 요청 시각이 다른 경우 제1 로컬 시간 데이터 및 제2 로컬 시간 데이터는 서로 다를 수 있다. 예를 들어, 제1 로컬 시간 데이터(tc 1(i))는 i 번째 요청 시각에서의 로컬 시간 데이터이며, 제2 로컬 시간 데이터(tc 1(j))는 j 번째 요청 시각에서의 로컬 시간 데이터일 수 있다.
미디어 스케쥴링부(120)는 상대 클라이언트 장치(11)로부터 제1 미디어 데이터 및 제2 미디어 데이터를 수신하고, 제1 로컬 시간 데이터(tc 1(i))를 이용하여 제1 미디어 데이터의 제1 재생 시점(ptv 2(i))을 스케쥴링하고, 제2 로컬 시간 데이터(tc 1(j))를 이용하여 제2 미디어 데이터의 제2 재생 시점(pta 2(j))을 스케쥴링한다. 이에 대해서는 도 2를 참조하여, 더 상세히 후술한다.
도 1에 도시된, 시각(tv 2(i))은 i 번째 제1 미디어 데이터를 수신한 시각이며, 시각(ta 2(j))은 j 번째 제2 미디어 데이터를 수신한 시각을 의미한다.
렌더링부(130)는 제1 미디어 데이터(dv 2(i)) 및 제2 미디어 데이터(da 2(j))를 제1 재생 시점(ptv 2(i)) 및 제2 재생 시점(pta 2(j))에 따라 재생할 수 있다. 제1 미디어 데이터(dv 2(i)) 및 제2 미디어 데이터(da 2(j))는 각각 제1 재생 시점(ptv 2(i)) 및 제2 재생 시점(pta 2(j))에 재생될 예정인, 미디어 스케쥴링부(120)에 의해 스케쥴링 처리를 거친 데이터일 수 있다.
미디어 스케쥴링부(120)가 수신한 제1 미디어 데이터 및 제2 미디어 데이터와, 렌더링부(130)에서 재생 대상인 제1 미디어 데이터(dv 2(i)) 및 제2 미디어 데이터(da 2(j))는, 소프트웨어 처리 단계 상 구체적인 데이터 포맷이 서로 다를 수 있다. 다만, 제1 미디어 데이터는 제1 유형의 i 번째 미디어 데이터(예를 들어, i 번째 비디오 데이터)이고, 제2 미디어 데이터는 제2 유형의 j 번째 미디어 데이터(예를 들어, j 번째 오디오 데이터)인 점에서 공통이므로, 본 명세서에서는 미디어 스케쥴링부(120) 및 렌더링부(130) 각 단계에서의 제1 미디어 데이터 및 제2 미디어 데이터에 서로 동일한 명칭을 사용한다.
렌더링부(130)는, 예를 들어, 디스플레이 장치를 통해서 비디오 데이터인 제1 미디어 데이터(dv 2(i))를 제1 재생 시점(ptv 2(i))에서 재생하고, 스피커 장치를 통해서 오디오 데이터인 제2 미디어 데이터(da 2(j))를 제2 재생 시점(pta 2(j))에서 재생할 수 있다.
데이터베이스(140)는 제1 미디어 데이터(dv 2(i)) 및 제2 미디어 데이터(da 2(j)) 각각의 유형에 따른 스큐 임계값(Sv,a)을 저장할 수 있다.
스큐 임계값(Sv,a)은 제1 재생 시점(ptv 2(i)) 및 제2 재생 시점(pta 2(j))의 차이가 사용자에게 제1 미디어 데이터(dv 2(i))와 제2 미디어 데이터(da 2(j))의 비동기 재생을 인식시키는 값일 수 있다.
예를 들어, 사용자가 디스플레이 장치를 통해서 표시되는 인물의 입술이 움직이는 비디오와, 스피커 장치를 통해서 들리는 인물의 오디오가 서로 매칭되지 않는다고 느끼는 경우, 사용자는 비동기 재생을 인식하였다고 볼 수 있다. 다른 예를 들어, 제1 미디어 데이터가 햅틱 데이터이고 제2 미디어 데이터가 비디오 데이터인 경우, 가상 현실 상의 사용자가 특정 물체에 부딪힌 것으로 표시될 때, 그 타이밍에 맞춰 진동 등의 햅틱 자극이 제공되지 않음을 사용자가 느끼는 경우, 사용자는 비동기 재생을 인식하였다고 볼 수 있다.
사용자는 제1 미디어 데이터와 제2 미디어 데이터의 유형에 따라, 비동기 재생을 인식하지 못하는 허용 오차 범위를 갖는 데, 이러한 허용 오차 범위의 경계값을 스큐 임계값(Sv,a)으로 결정할 수 있다.
이러한 스큐 임계값은 사용자 연구(user study)를 통해서 실측 자료(ground truth)로 획득될 수 있는데, 이에 대해서는 도 7을 참조하여 더 상세히 후술한다.
스큐 모니터링부(150)는 제1 재생 시점(ptv 2(i)) 및 제2 재생 시점(pta 2(j))의 차이에 대응하는 스큐량(Sv,a 2(k))이 스큐 임계값(Sv,a)을 초과하는 경우, 글로벌 시간 서버(9)에 글로벌 시간 데이터를 요청한다.
스큐 모니터링부(150)는 제1 재생 시점(ptv 2(i)) 및 제2 재생 시점(pta 2(j))을 이용하여 제1 미디어 데이터(dv 2(i)) 및 제2 미디어 데이터(da 2(j)) 간의 스큐량(Sv,a 2(k))을 산출하는 스큐량 산출부(151), 스큐 임계값(Sv,a)과 스큐량(Sv,a 2(k))을 비교하는 스큐량 비교부(152), 및 스큐량(Sv,a 2(k))이 스큐 임계값(Sv,a)을 초과하는 경우, 글로벌 시간 서버(9)에 글로벌 시간 데이터(NTP packet)를 요청하는 글로벌 시간 요청부(153)를 포함할 수 있다.
예를 들어, 제1 재생 시점(ptv 2(i))을 기준으로 5ms가 지난 이후에 제2 재생 시점(pta 2(j))이 구현되어야 하는데, 제1 재생 시점(ptv 2(i))을 기준으로 7ms가 지난 이후에 제2 재생 시점(pta 2(j))이 구현되면, 스큐량 산출부(151)는 (+)2ms의 스큐량(Sv,a 2(k))을 산출할 수 있다.
스큐량 비교부(152)는 스큐량(Sv,a 2(k))에 가중치(
Figure pat00001
)를 곱한 값과 스큐 임계값(Sv,a)을 비교할 수 있다. 가중치(
Figure pat00002
)는 오차에 대한 정확성 및 자원 활용의 효율성 중 미디어 특성에 맞게 설정될 수 있는데, 이에 대해서는 도 7을 참조하여 상세히 후술한다.
로컬 클럭 보정부(160)는 글로벌 시간 데이터를 수신하여 로컬 클럭을 보정할 수 있다. 글로벌 시간에 로컬 시간이 동기화되는 경우, 미디어 데이터에 대해 누적되는 지연 시간 오차를 해소할 수 있으므로, 제1 미디어 데이터와 제2 미디어 데이터가 동기화되어, 사용자에게 고품질의 서비스를 제공할 수 있게 된다. 이에 대해서는 도 5를 참조하여 더 상세히 후술한다.
도 2는 본 발명의 한 실시예에 따른 미디어 스케쥴링부의 기능을 설명하기 위한 도면이다.
도 2를 참조하면, 타임스탬프 기반의 미디어 데이터 스케쥴링에 대해 도시되어 있다.
미디어 스케쥴링부(120)는 네트워크 망을 통해 수신 및 버퍼링된 제1 미디어 데이터 및 제2 미디어 데이터에 대한 재생 시점을 스케쥴링할 수 있다. 미디어 스케쥴링은 각각의 미디어 데이터가 포함하는 순서 번호(index) 및 타임스탬프(time stamp)를 이용하여 수행될 수 있다(도 1 참조). 미디어 데이터의 수신 시간은 계속 변화하므로, 캡쳐링된 순서와 캡쳐링 시간 간격에 맞춰 재생할 수 있는 모듈이 필요한데, 이를 미디어 스케쥴링부(120)에서 담당하게 된다.
미디어의 수신 시간이 계속 변화하는 이유는 센서(sensor)와 시스템(system)의 영향이 크다. 이에 대해서는 도 3을 참조하여 후술한다.
도 3은 미디어 데이터 간의 클럭 스큐가 발생하는 지연 요소를 설명하기 위한 도면이다.
도 3을 참조하면, 제1 클라이언트 장치(client 1) 및 제2 클라이언트 장치(client 2)에서 제공하는 미디어 데이터의 스트림에 대한 총 지연 시간이 도시되어 있다. 각각의 미디어 데이터는 캡쳐링(capturing), 인코딩(encoding), 패킷화(packetizing), 네트워크(network), 디패킷화(de-packetizing), 디코딩(decoding), 버퍼링(buffering), 및 렌더링(rendering)의 과정을 거치게 된다.
예를 들어, 제1 클라이언트 장치(client 1)의 카메라 센서에 의해 캡쳐링된 비디오 데이터는 상술한 중간 과정을 거쳐, 최종적으로 제2 클라이언트 장치(client 2)의 디스플레이 장치에 의해 렌더링되게 된다.
지연 요소는 크게 다음의 4 가지, 미디어 캡쳐링 시간 변화, 인코딩 시간 지연, 네트워크 전송 시간 지연, 디코딩 시간 지연으로 구분할 수 있다. 도 3을 참조하면, 각 지연 요소의 크기가 예시적으로 도시되어 있다.
이러한 지연 요소를 고려하지 않고, 즉 미디어 스케쥴링 과정없이 미디어 데이터를 재생하는 경우, 미디어 재생 품질을 보장할 수 없으며, 서비스의 이용 자체가 불가능해지는 경우도 있다.
다만, 지연 요소 4 가지 중 미디어 캡쳐링 시간 변화를 제외한 인코딩 시간 지연, 네트워크 전송 시간 지연, 디코딩 시간 지연 요소는 소프트웨어보다는 하드웨어를 이용하여 지연 요소를 감소시키는 것이 일반적이며, 기준 시간에 영향을 비교적 적게 받을 수 있다.
도 4는 글로벌 시간과 로컬 시간의 차이를 설명하기 위한 도면이다.
도 4를 참조하면, 글로벌 시간과 로컬 시간의 차이를 분 단위로 24 시간 이상 측정한 그래프가 도시되어 있다.
도 4의 그래프를 참조하면, 클라이언트의 시간은 글로벌 시간보다 최대 (-)28ms의 오차를 보이기도 한다. 이를 통해서, 로컬 시간을 이용하여 미디어 캡쳐링 시간을 결정하는 데 있어서, 시간 오차가 지속적으로 발생하고 누적됨을 알 수 있다.
도 5는 실제 미디어 데이터 스트림에서 발생가능한 총 지연 시간의 차이를 설명하기 위한 도면이다.
도 5를 참조하면, 이상적인 미디어 데이터의 스트림(ideal stream)과 비교했을 때, 실제 미디어 데이터 스트림(real stream)에서 발생가능한 최대 총 시간 지연(maximum real playout delay)과 최소 총 시간 지연(minimum real playout delay)이 도시되어 있다.
미디어 동기화에서 이상적인 경우는 각 모듈(캡쳐링, 인코딩, 네트워크, 디코딩, 렌더링 모듈 등) 별로 정확한 지연시간을 계산하여 미디어 동기화 지연오차에 반영할 수 있지만, 실제 미디어 동기화에선 각각의 클라이언트마다 환경(CPU, 주변온도, 시스템 우선순위)이 지속적으로 변화하므로 기준시간에 영향을 주고 이에 클라이언트 간의 큰 시간차이를 발생 시키므로 미디어 동기화 오차에 큰 영향을 미친다.
도 6은 미디어 간 클럭 스큐를 설명하기 위한 도면이다.
도 6을 참조하면, 글로벌 시간을 이용하여 미디어 데이터를 캡쳐링한 이상적인 경우(ideal captured time)와 로컬 시간을 이용하여 미디어 데이터를 캡쳐링한 실제 경우(real captured time)가 비교되어 도시되어 있다.
미디어 간 클럭 스큐는 미디어 획득 과정에서 센서와 시스템 환경에 영향을 받는다. 예를 들어, 시스템의 쓰레드 우선순위 변화로 인해 데이터 캡쳐링 처리의 순위가 낮아지는 경우는 캡쳐링 주기에 영향을 줄 수 있다. 미디어 간 클럭 스큐는, 특히, 글로벌 시간과 로컬 시간의 오차가 시간에 따라 증가하는 점으로부터 기인한다. 즉, 로컬 시간이 흔들리게 되면, 이상과 실제 미디어 데이터 캡쳐링 시간의 차이가 발생하며, 지속적으로 누적될 수 있다.
이상적인 경우 제1 미디어 데이터인 비디오 데이터는 30fps로 일정하게 캡쳐링되는데, 실제 경우 로컬 시간이 흔들려 비디오 데이터는 30fps의 일정한 캡쳐링 간격을 유지하지 못하게 된다. 도시된 바와 같이, 이상적인 경우와 실제의 경우는 불규칙적인 오차 간격(15ms, 8ms, 11ms)을 갖는다.
유사하게, 제2 미디어 데이터인 오디오 데이터 또한 이상적인 경우 대비 불규칙적인 오차 간격을 갖게 된다.
제1 미디어 데이터와 제2 미디어 데이터 각각에 발생한 오차 간격은 제1 미디어 데이터와 제2 미디어 데이터 상호 간의 클럭 스큐 현상으로 나타나게 된다.
도 7은 본 발명의 한 실시예에 따른 데이터베이스에 저장된 스큐 임계값의 예시를 설명하기 위한 도면이다.
전술한 바와 같이, 스큐 임계값은 사용자 연구를 통해서 실측 자료로 획득될 수 있는데, 도 7의 표에서는 3 가지 미디어 유형 쌍에 대한 예시적인 스큐 임계값이 도시되어 있다.
예를 들어, 제1 미디어 데이터가 비디오 데이터이고 제2 미디어 데이터가 오디오 데이터인 경우, 비디오 데이터를 기준으로한 오디오 데이터의 스큐 임계값은 (-)41ms 및 (+)45ms일 수 있다. 즉, 사용자는 표시되는 특정한 비디오 데이터 기준으로, 매칭되는 오디오 데이터가 스피커를 통해서 (-)41ms 이상 먼저 출력되거나, (+)45ms 이상 지연되어 출력되는 경우, 미디어 간 비동기를 인지할 수 있다.
제1 미디어 데이터가 햅틱 데이터이고 제2 미디어 데이터가 비디오 데이터인 경우, 햅틱 데이터를 기준으로한 비디오 데이터의 스큐 임계값은 (-)45ms 및 (+)45ms일 수 있다. 즉, 사용자는 촉감 제공되는 특정한 햅틱 데이터 기준으로, 매칭되는 비디오 데이터가 표시장치를 통해서 (-)45ms 이상 먼저 표시되거나, (+)45ms 이상 지연되어 표시되는 경우, 미디어 간 비동기를 인지할 수 있다.
제1 미디어 데이터가 햅틱 데이터이고 제2 미디어 데이터가 오디오 데이터인 경우, 햅틱 데이터를 기준으로한 오디오 데이터의 스큐 임계값은 (-)25ms 및 (+)42ms일 수 있다. 즉, 사용자는 촉감 제공되는 특정한 햅틱 데이터 기준으로, 매칭되는 오디오 데이터가 스피커를 통해서 (-)25ms 이상 먼저 출력되거나, (+)42ms 이상 지연되어 출력되는 경우, 미디어 간 비동기를 인지할 수 있다.
도 8은 시간 동기화 주기에 따른 효율성과 정확성에 대한 측면을 설명하기 위한 도면이다.
시간 동기화 주기를 결정함에 있어서, 도 8의 선(801)과 같이 효율성 측면이 강조되어 최대한의 오차 범위를 활용하거나, 선(803)과 같이 정확성 측면이 강조되어 최소한의 오차 범위만을 허용할 수도 있다. 또는 선(802)과 같이 그 중간값을 취할 수도 있다.
즉, 원격 사용자 간 시스템 자원의 활용 측면인 효율성 측면과 공유 미디어 재생의 정확성 측면으로 나뉘어질 수 있다. 시간 동기화 주기는 미디어 특성에 맞게 허용 오차 범위를 결정하고 이를 시간 동기화 주기에 반영해야할 필요가 있다. 예를 들어, 미디어 간 시간 틀어짐(클럭 스큐)이 적거나 데이터 캡쳐링 주기가 낮은 경우, 효율성의 측면을 고려하여 보정 주기를 길게 할 수 있다. 반면에 미디어 간 시간 틀어짐이 빈번하고 데이터 캡쳐링 주기가 높은 경우 정확성 측면을 고려하여 보정 주기를 짧게 할 필요가 있으므로, 환경에 적응적으로 조절해야 한다.
스큐량 비교부(152)는 선(802)와 대응되도록 가중치(
Figure pat00003
)를 설정하는 경우, 예를 들어, 가중치(
Figure pat00004
)가 0과 1 사이의 값을 갖도록 설정할 수 있다. 스큐량 비교부(152)는 선(801)과 대응되도록 가중치(
Figure pat00005
)를 설정하는 경우, 예를 들어, 가중치(
Figure pat00006
)가 0에 근사한 값을 갖도록 설정할 수 있다. 스큐량 비교부(152)는 선(803)과 대응되도록 가중치(
Figure pat00007
)를 설정하는 경우, 예를 들어, 가중치(
Figure pat00008
)가 1에 근사한 값을 갖도록 설정할 수 있다.
이러한 가중치(
Figure pat00009
)는, 실시예에 따라, 시간 기반 서비스의 종류에 따라 미리 설정되어 있을 수도 있고, 사용자가 설정하는 값일 수도 있다.
도 9는 본 발명의 한 실시예에 따른 글로벌 시간 데이터를 요청하는 의사 코드(Pseudo Code)를 도시한 도면이다.
도 9를 참조하면, 클라이언트 장치(10)는 시간 동기화 주기를 결정함에 있어서 도 7의 표를 이용하고, 현재 상태의 스큐량과 가중치(
Figure pat00010
)를 이용해 시간 동기화 주기를 결정한다.
가중치(
Figure pat00011
)는, 예를 들어, 0 초과 1 이하의 값으로 1에 가까울수록 정확성에 초점을 두고 시간 동기화 주기를 결정하게 되며, 조건을 만족 시에 클라이언트 장치(10)는 글로벌 시간 서버(9)로 시간 동기화를 요청하게 된다.
지금까지 참조한 도면과 기재된 발명의 상세한 설명은 단지 본 발명의 예시적인 것으로서, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
9: 글로벌 시간 서버
10: 클라이언트 장치
11: 상대 클라이언트 장치

Claims (13)

  1. 상대 클라이언트 장치와 동기화되어 시간 기반 서비스(Time-aware service)를 제공하는 클라이언트 장치로서,
    로컬 클럭에 따라 제1 로컬 시간 데이터 및 제2 로컬 시간 데이터를 제공하는 로컬 시간 제공부;
    상기 상대 클라이언트 장치로부터 제1 미디어 데이터 및 제2 미디어 데이터를 수신하고, 상기 제1 로컬 시간 데이터를 이용하여 상기 제1 미디어 데이터의 제1 재생 시점을 스케쥴링하고, 상기 제2 로컬 시간 데이터를 이용하여 상기 제2 미디어 데이터의 제2 재생 시점을 스케쥴링하는, 미디어 스케쥴링부;
    상기 제1 재생 시점 및 상기 제2 재생 시점의 차이에 대응하는 스큐량이 스큐 임계값을 초과하는 경우, 글로벌 시간 서버에 글로벌 시간 데이터를 요청하는 스큐 모니터링부를 포함하고,
    상기 제1 미디어 데이터와 상기 제2 미디어 데이터는 서로 다른 유형의 미디어 데이터인,
    클라이언트 장치.
  2. 제1 항에 있어서,
    상기 제1 미디어 데이터 및 상기 제2 미디어 데이터 각각의 유형에 따른 상기 스큐 임계값이 저장된 데이터베이스를 더 포함하는
    클라이언트 장치.
  3. 제2 항에 있어서,
    상기 스큐 모니터링부는
    상기 제1 재생 시점 및 상기 제2 재생 시점을 이용하여 상기 제1 미디어 데이터 및 상기 제2 미디어 데이터 간의 상기 스큐량을 산출하는 스큐량 산출부;
    상기 스큐 임계값과 상기 스큐량을 비교하는 스큐량 비교부; 및
    상기 스큐량이 상기 스큐 임계값을 초과하는 경우, 상기 글로벌 시간 서버에 상기 글로벌 시간 데이터를 요청하는 글로벌 시간 요청부를 포함하는,
    클라이언트 장치.
  4. 제3 항에 있어서,
    상기 스큐량 비교부는
    상기 스큐량에 가중치를 곱한 값과 상기 스큐 임계값을 비교하는,
    클라이언트 장치.
  5. 제1 항에 있어서,
    상기 글로벌 시간 데이터를 수신하여 상기 로컬 클럭을 보정하는 로컬 클럭 보정부를 더 포함하는
    클라이언트 장치.
  6. 제1 항에 있어서,
    상기 제1 미디어 데이터 및 상기 제2 미디어 데이터를 상기 제1 재생 시점 및 상기 제2 재생 시점에 따라 재생하는 렌더링부를 더 포함하는
    클라이언트 장치.
  7. 제2 항에 있어서,
    상기 스큐 임계값은 상기 제1 재생 시점 및 상기 제2 재생 시점의 차이가 사용자에게 상기 제1 미디어 데이터와 상기 제2 미디어 데이터의 비동기 재생을 인식시키는 값인,
    클라이언트 장치.
  8. 제1 항에 있어서,
    상기 제1 및 제2 미디어 데이터의 유형은 비디오 및 오디오 유형, 햅틱 및 비디오 유형, 햅틱 및 오디오 유형 중 하나인,
    클라이언트 장치.
  9. 제1 항에 있어서,
    상기 제1 미디어 데이터 및 상기 제2 미디어 데이터는 각각 상기 상대 클라이언트 장치의 대응하는 센서로부터 캡쳐링(capturing)된 미디어 데이터인,
    클라이언트 장치.
  10. 상대 클라이언트 장치와 동기화되어 시간 기반 서비스를 제공하는 클라이언트 장치에서 수행되는 로컬 클럭 스큐 보정 방법으로서,
    상기 상대 클라이언트 장치의 센서에서 캡쳐링된 제1 미디어 데이터 및 제2 미디어 데이터를 수신하는 단계;
    제1 로컬 시간 데이터를 이용하여 상기 제1 미디어 데이터의 제1 재생 시점을 스케쥴링하고, 제2 로컬 시간 데이터를 이용하여 상기 제2 미디어 데이터의 제2 재생 시점을 스케쥴링하는 단계;
    상기 제1 재생 시점 및 상기 제2 재생 시점의 차이에 대응하는 스큐량이 스큐 임계값을 초과하는 경우, 상기 글로벌 시간 서버에 글로벌 시간 데이터를 요청하여 로컬 클럭을 보정하는 단계를 포함하고,
    상기 제1 미디어 데이터와 상기 제2 미디어 데이터는 서로 다른 유형의 미디어 데이터인,
    로컬 클럭 스큐 보정 방법.
  11. 제10 항에 있어서,
    상기 시간 기반 서비스의 개시 시에 글로벌 시간 서버에 글로벌 시간 데이터를 요청하여 상기 클라이언트 장치의 로컬 클럭을 보정하는 단계를 더 포함하는
    로컬 클럭 스큐 보정 방법.
  12. 제10 항에 있어서,
    상기 스큐 임계값은 상기 제1 재생 시점 및 상기 제2 재생 시점의 차이가 사용자에게 상기 제1 미디어 데이터와 상기 제2 미디어 데이터의 비동기 재생을 인식시키는 값인,
    로컬 클럭 스큐 보정 방법.
  13. 제10 항에 있어서,
    상기 제1 및 제2 미디어 데이터의 유형은 비디오 및 오디오 유형, 햅틱 및 비디오 유형, 햅틱 및 오디오 유형 중 하나인,
    로컬 클럭 스큐 보정 방법.
KR1020160122221A 2016-09-23 2016-09-23 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법 KR101853441B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160122221A KR101853441B1 (ko) 2016-09-23 2016-09-23 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법
PCT/KR2017/010568 WO2018056781A1 (ko) 2016-09-23 2017-09-25 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법
US16/335,507 US11022999B2 (en) 2016-09-23 2017-09-25 Client device and local clock skew compensation method thereof
CN201780055610.3A CN109716706A (zh) 2016-09-23 2017-09-25 客户端装置及其本地时钟偏移校正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160122221A KR101853441B1 (ko) 2016-09-23 2016-09-23 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법

Publications (2)

Publication Number Publication Date
KR20180032917A true KR20180032917A (ko) 2018-04-02
KR101853441B1 KR101853441B1 (ko) 2018-05-02

Family

ID=61689619

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160122221A KR101853441B1 (ko) 2016-09-23 2016-09-23 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법

Country Status (4)

Country Link
US (1) US11022999B2 (ko)
KR (1) KR101853441B1 (ko)
CN (1) CN109716706A (ko)
WO (1) WO2018056781A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110100473B (zh) * 2016-12-26 2023-02-17 瑞典爱立信有限公司 在nr中快速接入相邻小区同步信号
US10346226B2 (en) * 2017-08-07 2019-07-09 Time Warner Cable Enterprises Llc Methods and apparatus for transmitting time sensitive data over a tunneled bus interface
US10838450B2 (en) 2018-09-28 2020-11-17 Apple Inc. Methods and apparatus for synchronization of time between independently operable processors
US20220210294A1 (en) * 2020-12-30 2022-06-30 Ati Technologies Ulc Software-implemented genlock and framelock

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100604792B1 (ko) 1999-09-21 2006-07-26 삼성전자주식회사 송신장치와 수신장치를 구비하는 광 전송 시스템
US7283568B2 (en) * 2001-09-11 2007-10-16 Netiq Corporation Methods, systems and computer program products for synchronizing clocks of nodes on a computer network
KR100422068B1 (ko) 2001-09-28 2004-03-11 한국전자통신연구원 멀티미디어 스트리밍 서비스를 위한 파일 동기화 방법 및 그 장치
JP2004333474A (ja) * 2003-04-18 2004-11-25 Toshiba Elevator Co Ltd エレベータのロープゲージ
CN100367791C (zh) * 2003-07-08 2008-02-06 松下电器产业株式会社 内容存储系统及方法、家用服务器装置、信息供应装置、集成电路
US20050254440A1 (en) * 2004-05-05 2005-11-17 Sorrell John D Private multimedia network
US7631119B2 (en) * 2004-06-25 2009-12-08 Apple Inc. Techniques for providing audio for synchronized playback by multiple devices
US8233540B2 (en) 2005-03-10 2012-07-31 Qualcomm Incorporated Method of time base reconstruction for discrete time labeled video
US7500175B2 (en) * 2005-07-01 2009-03-03 Microsoft Corporation Aspects of media content rendering
US8020084B2 (en) * 2005-07-01 2011-09-13 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
JP2007274019A (ja) * 2006-03-30 2007-10-18 Matsushita Electric Ind Co Ltd デジタル方式情報配信システムおよびその方法
CN101212690B (zh) * 2006-12-26 2011-04-20 中兴通讯股份有限公司 多媒体视音频流唇音同步的调测方法
US8576922B2 (en) * 2007-06-10 2013-11-05 Apple Inc. Capturing media in synchronized fashion
CN101790886B (zh) 2007-07-02 2012-12-05 弗劳恩霍夫应用研究促进协会 存储和读取具有媒体数据容器和元数据容器的文件的设备和方法
US7936790B2 (en) * 2007-08-30 2011-05-03 Silicon Image, Inc. Synchronizing related data streams in interconnection networks
US8412806B2 (en) * 2007-11-14 2013-04-02 Red Hat, Inc. Setting a preliminary time on a network appliance using a message received from a server
JP2009133776A (ja) * 2007-11-30 2009-06-18 Sony Corp 撮像装置と時刻修正方法
CN101778269B (zh) * 2009-01-14 2012-10-24 扬智电子科技(上海)有限公司 机顶盒的音视频帧的同步方法
US8554951B2 (en) * 2011-03-08 2013-10-08 Rackspace Us, Inc. Synchronization and ordering of multiple accessess in a distributed system
US8571471B2 (en) * 2011-04-22 2013-10-29 Adam Kuenzi Batteryless lock with trusted time
US9525501B2 (en) * 2011-06-03 2016-12-20 Adobe Systems Incorporated Automatic render generation of an audio source
US9386062B2 (en) * 2012-12-28 2016-07-05 Qualcomm Incorporated Elastic response time to hypertext transfer protocol (HTTP) requests
US9307508B2 (en) * 2013-04-29 2016-04-05 Google Technology Holdings LLC Systems and methods for syncronizing multiple electronic devices
KR20150011685A (ko) 2013-07-23 2015-02-02 한국전자통신연구원 독립형 ntp 관리 서버를 이용한 장비 시간 동기화 관리 시스템
US9739888B2 (en) * 2013-09-12 2017-08-22 Marvell World Trade Ltd. Method, system and device for position determination with predicted ephemeris
CN104581202B (zh) * 2013-10-25 2018-04-27 腾讯科技(北京)有限公司 音视频同步方法与系统及编码装置和解码装置
CN103905742A (zh) * 2014-04-10 2014-07-02 北京数码视讯科技股份有限公司 视频文件的切分方法及装置
US9911433B2 (en) * 2015-09-08 2018-03-06 Bose Corporation Wireless audio synchronization
BR112018009903A8 (pt) * 2015-11-17 2019-02-26 Net Insight Intellectual Property Ab sincronização de distribuição de vídeo
US11381863B2 (en) * 2016-03-17 2022-07-05 Disney Enterprises, Inc. Systems and methods for creating custom media channels
US10444788B2 (en) * 2017-08-22 2019-10-15 Wind River Systems, Inc. Device, system, and method for synchronizing time partition windows

Also Published As

Publication number Publication date
US20200019208A1 (en) 2020-01-16
US11022999B2 (en) 2021-06-01
CN109716706A (zh) 2019-05-03
WO2018056781A1 (ko) 2018-03-29
KR101853441B1 (ko) 2018-05-02

Similar Documents

Publication Publication Date Title
DK2941892T3 (en) LIVE TIMING FOR DYNAMIC ADAPTIVE STREAMING OVER HTTP (DASH)
US9432426B2 (en) Determining available media data for network streaming
KR101853441B1 (ko) 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법
US9621682B2 (en) Reduced latency media distribution system
US10855763B2 (en) Method and apparatus for synchronizing applications' consumption of remote data
US10652625B1 (en) Synchronization of multiple encoders for streaming content
US10862944B1 (en) Real-time video streaming with latency control
WO2016068760A1 (en) Video stream synchronization
WO2017079735A1 (en) Method and device for capturing synchronized video and sound across multiple mobile devices
CA2783279C (en) System and method of implementing synchronized audio and video streaming
Jung et al. A client-driven media synchronization mechanism for RTP packet-based video streaming
US10812558B1 (en) Controller to synchronize encoding of streaming content
US11076197B1 (en) Synchronization of multiple video-on-demand streams and methods of broadcasting and displaying multiple concurrent live streams
CN117615166A (zh) 一种网络码流恢复方法、系统、介质及fpga芯片
WEIWEI An experimental study of video uploading from mobile devices with HTTP streaming

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