KR20180032917A - 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법 - Google Patents
클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1059—End-user terminal functionalities specially adapted for real-time communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0095—Arrangements for synchronising receiver with transmitter with mechanical means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/0055—Synchronisation arrangements determining timing error of reception due to propagation delay
- H04W56/0065—Synchronisation arrangements determining timing error of reception due to propagation delay using measurement of signal travel time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock 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
본 발명은 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법에 관한 것이다.
원격 화상 회의, 가상 현실 등, 원격 사용자 간 다양한 미디어 공유(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를 이용한 시간 동기화 관리 시스템을 개시한다.
해결하고자 하는 기술적 과제는, 미디어 데이터 간의 동기화 허용 오차를 이용하여 시간 동기화 주기가 적응적으로 변경될 수 있어, 시간 동기화의 정확성과 시스템 자원 사용의 효율성을 동시에 달성할 수 있는 클라이언트 장치 및 그 로컬 클럭 스큐 보정 방법을 제공하는 데 있다.
본 발명의 한 실시예에 따른 클라이언트 장치는, 상대 클라이언트 장치와 동기화되어 시간 기반 서비스(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)를 도시한 도면이다.
도 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))에 가중치()를 곱한 값과 스큐 임계값(Sv,a)을 비교할 수 있다. 가중치()는 오차에 대한 정확성 및 자원 활용의 효율성 중 미디어 특성에 맞게 설정될 수 있는데, 이에 대해서는 도 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)와 대응되도록 가중치()를 설정하는 경우, 예를 들어, 가중치()가 0과 1 사이의 값을 갖도록 설정할 수 있다. 스큐량 비교부(152)는 선(801)과 대응되도록 가중치()를 설정하는 경우, 예를 들어, 가중치()가 0에 근사한 값을 갖도록 설정할 수 있다. 스큐량 비교부(152)는 선(803)과 대응되도록 가중치()를 설정하는 경우, 예를 들어, 가중치()가 1에 근사한 값을 갖도록 설정할 수 있다.
도 9는 본 발명의 한 실시예에 따른 글로벌 시간 데이터를 요청하는 의사 코드(Pseudo Code)를 도시한 도면이다.
가중치()는, 예를 들어, 0 초과 1 이하의 값으로 1에 가까울수록 정확성에 초점을 두고 시간 동기화 주기를 결정하게 되며, 조건을 만족 시에 클라이언트 장치(10)는 글로벌 시간 서버(9)로 시간 동기화를 요청하게 된다.
지금까지 참조한 도면과 기재된 발명의 상세한 설명은 단지 본 발명의 예시적인 것으로서, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
9: 글로벌 시간 서버
10: 클라이언트 장치
11: 상대 클라이언트 장치
10: 클라이언트 장치
11: 상대 클라이언트 장치
Claims (13)
- 상대 클라이언트 장치와 동기화되어 시간 기반 서비스(Time-aware service)를 제공하는 클라이언트 장치로서,
로컬 클럭에 따라 제1 로컬 시간 데이터 및 제2 로컬 시간 데이터를 제공하는 로컬 시간 제공부;
상기 상대 클라이언트 장치로부터 제1 미디어 데이터 및 제2 미디어 데이터를 수신하고, 상기 제1 로컬 시간 데이터를 이용하여 상기 제1 미디어 데이터의 제1 재생 시점을 스케쥴링하고, 상기 제2 로컬 시간 데이터를 이용하여 상기 제2 미디어 데이터의 제2 재생 시점을 스케쥴링하는, 미디어 스케쥴링부;
상기 제1 재생 시점 및 상기 제2 재생 시점의 차이에 대응하는 스큐량이 스큐 임계값을 초과하는 경우, 글로벌 시간 서버에 글로벌 시간 데이터를 요청하는 스큐 모니터링부를 포함하고,
상기 제1 미디어 데이터와 상기 제2 미디어 데이터는 서로 다른 유형의 미디어 데이터인,
클라이언트 장치. - 제1 항에 있어서,
상기 제1 미디어 데이터 및 상기 제2 미디어 데이터 각각의 유형에 따른 상기 스큐 임계값이 저장된 데이터베이스를 더 포함하는
클라이언트 장치. - 제2 항에 있어서,
상기 스큐 모니터링부는
상기 제1 재생 시점 및 상기 제2 재생 시점을 이용하여 상기 제1 미디어 데이터 및 상기 제2 미디어 데이터 간의 상기 스큐량을 산출하는 스큐량 산출부;
상기 스큐 임계값과 상기 스큐량을 비교하는 스큐량 비교부; 및
상기 스큐량이 상기 스큐 임계값을 초과하는 경우, 상기 글로벌 시간 서버에 상기 글로벌 시간 데이터를 요청하는 글로벌 시간 요청부를 포함하는,
클라이언트 장치. - 제3 항에 있어서,
상기 스큐량 비교부는
상기 스큐량에 가중치를 곱한 값과 상기 스큐 임계값을 비교하는,
클라이언트 장치. - 제1 항에 있어서,
상기 글로벌 시간 데이터를 수신하여 상기 로컬 클럭을 보정하는 로컬 클럭 보정부를 더 포함하는
클라이언트 장치. - 제1 항에 있어서,
상기 제1 미디어 데이터 및 상기 제2 미디어 데이터를 상기 제1 재생 시점 및 상기 제2 재생 시점에 따라 재생하는 렌더링부를 더 포함하는
클라이언트 장치. - 제2 항에 있어서,
상기 스큐 임계값은 상기 제1 재생 시점 및 상기 제2 재생 시점의 차이가 사용자에게 상기 제1 미디어 데이터와 상기 제2 미디어 데이터의 비동기 재생을 인식시키는 값인,
클라이언트 장치. - 제1 항에 있어서,
상기 제1 및 제2 미디어 데이터의 유형은 비디오 및 오디오 유형, 햅틱 및 비디오 유형, 햅틱 및 오디오 유형 중 하나인,
클라이언트 장치. - 제1 항에 있어서,
상기 제1 미디어 데이터 및 상기 제2 미디어 데이터는 각각 상기 상대 클라이언트 장치의 대응하는 센서로부터 캡쳐링(capturing)된 미디어 데이터인,
클라이언트 장치. - 상대 클라이언트 장치와 동기화되어 시간 기반 서비스를 제공하는 클라이언트 장치에서 수행되는 로컬 클럭 스큐 보정 방법으로서,
상기 상대 클라이언트 장치의 센서에서 캡쳐링된 제1 미디어 데이터 및 제2 미디어 데이터를 수신하는 단계;
제1 로컬 시간 데이터를 이용하여 상기 제1 미디어 데이터의 제1 재생 시점을 스케쥴링하고, 제2 로컬 시간 데이터를 이용하여 상기 제2 미디어 데이터의 제2 재생 시점을 스케쥴링하는 단계;
상기 제1 재생 시점 및 상기 제2 재생 시점의 차이에 대응하는 스큐량이 스큐 임계값을 초과하는 경우, 상기 글로벌 시간 서버에 글로벌 시간 데이터를 요청하여 로컬 클럭을 보정하는 단계를 포함하고,
상기 제1 미디어 데이터와 상기 제2 미디어 데이터는 서로 다른 유형의 미디어 데이터인,
로컬 클럭 스큐 보정 방법. - 제10 항에 있어서,
상기 시간 기반 서비스의 개시 시에 글로벌 시간 서버에 글로벌 시간 데이터를 요청하여 상기 클라이언트 장치의 로컬 클럭을 보정하는 단계를 더 포함하는
로컬 클럭 스큐 보정 방법. - 제10 항에 있어서,
상기 스큐 임계값은 상기 제1 재생 시점 및 상기 제2 재생 시점의 차이가 사용자에게 상기 제1 미디어 데이터와 상기 제2 미디어 데이터의 비동기 재생을 인식시키는 값인,
로컬 클럭 스큐 보정 방법. - 제10 항에 있어서,
상기 제1 및 제2 미디어 데이터의 유형은 비디오 및 오디오 유형, 햅틱 및 비디오 유형, 햅틱 및 오디오 유형 중 하나인,
로컬 클럭 스큐 보정 방법.
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)
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)
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 |
-
2016
- 2016-09-23 KR KR1020160122221A patent/KR101853441B1/ko active IP Right Grant
-
2017
- 2017-09-25 CN CN201780055610.3A patent/CN109716706A/zh active Pending
- 2017-09-25 WO PCT/KR2017/010568 patent/WO2018056781A1/ko active Application Filing
- 2017-09-25 US US16/335,507 patent/US11022999B2/en active Active
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 |