KR101988613B1 - 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법 - Google Patents
계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법 Download PDFInfo
- Publication number
- KR101988613B1 KR101988613B1 KR1020180003236A KR20180003236A KR101988613B1 KR 101988613 B1 KR101988613 B1 KR 101988613B1 KR 1020180003236 A KR1020180003236 A KR 1020180003236A KR 20180003236 A KR20180003236 A KR 20180003236A KR 101988613 B1 KR101988613 B1 KR 101988613B1
- Authority
- KR
- South Korea
- Prior art keywords
- event
- synchronization
- client device
- media
- playback
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/43615—Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47217—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
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)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
본 발명은 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에 관한 것으로서, 보다 구체적으로는 미디어 서버 역할을 수행하되, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하는 미디어 소스 기기(100); 및 상기 스트리밍 미디어를 스트리밍 방식으로 재생하되, 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하여 상기 스트리밍 미디어를 재생하는 적어도 하나 이상의 클라이언트 기기(200)를 포함하되, 상기 적어도 하나 이상의 클라이언트 기기(200)는, 미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 수행함으로써, 높은 동기화 정밀도를 유지하면서도 동기화 제어 패킷(10)의 전송을 최소화하는 것을 그 구성상의 특징으로 한다.
또한, 본 발명은 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법에 관한 것으로서, 보다 구체적으로는 (1) 상기 미디어 소스 기기(100)가, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하는 단계; 및 (2) 상기 적어도 하나 이상의 클라이언트 기기(200)가, 상기 단계 (1)에서 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하는 단계를 포함하되, (3) 상기 적어도 하나 이상의 클라이언트 기기(200)가, 미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 더 수행하는 단계를 더 포함하는 것을 그 구성상의 특징으로 한다.
본 발명에서 제안하고 있는 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법에 따르면, 이벤트 기반 동기화 적용과 함께 클라이언트 기기에서의 지역적인 재생 위치 오차 보정을 통해, 하드웨어의 성능 및 백그라운드에서 동작 중인 프로세스에 의해 발생되는 제어 오차에 대하여, 지역적으로 현재 시각에 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 재생 위치를 보정함으로써, 높은 동기화 정밀도를 유지하면서도 동기화 제어 패킷의 전송을 최소화할 수 있다.
또한, 본 발명에 따르면, 재생 이벤트가 발생하지 않는 상황, 즉 이벤트 기반 동기화가 적용되지 않는 상황에서도, 드물지만 주기적으로 동기화를 수행함으로써, 지역적 재생 위치 보정에서 발생하는 오차를 재보정할 뿐만 아니라, 재생 위치의 이동 이벤트에 대하여 동기화 제어 패킷의 유실 시를 대비한 위치 보정을 수행할 수 있다.
또한, 본 발명은 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법에 관한 것으로서, 보다 구체적으로는 (1) 상기 미디어 소스 기기(100)가, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하는 단계; 및 (2) 상기 적어도 하나 이상의 클라이언트 기기(200)가, 상기 단계 (1)에서 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하는 단계를 포함하되, (3) 상기 적어도 하나 이상의 클라이언트 기기(200)가, 미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 더 수행하는 단계를 더 포함하는 것을 그 구성상의 특징으로 한다.
본 발명에서 제안하고 있는 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법에 따르면, 이벤트 기반 동기화 적용과 함께 클라이언트 기기에서의 지역적인 재생 위치 오차 보정을 통해, 하드웨어의 성능 및 백그라운드에서 동작 중인 프로세스에 의해 발생되는 제어 오차에 대하여, 지역적으로 현재 시각에 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 재생 위치를 보정함으로써, 높은 동기화 정밀도를 유지하면서도 동기화 제어 패킷의 전송을 최소화할 수 있다.
또한, 본 발명에 따르면, 재생 이벤트가 발생하지 않는 상황, 즉 이벤트 기반 동기화가 적용되지 않는 상황에서도, 드물지만 주기적으로 동기화를 수행함으로써, 지역적 재생 위치 보정에서 발생하는 오차를 재보정할 뿐만 아니라, 재생 위치의 이동 이벤트에 대하여 동기화 제어 패킷의 유실 시를 대비한 위치 보정을 수행할 수 있다.
Description
본 발명은 동기화 시스템 및 방법에 관한 것으로서, 특히 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법에 관한 것이다.
미디어 서버 역할을 하는 미디어 소스 기기가 적어도 하나 이상의 다른 클라이언트 기기에게 미디어 스트리밍을 수행하는 계층적 스트리밍 네트워크에 있어서, 미디어 소스 기기의 재생 위치를 클라이언트 기기들과 공유하여 동일한 미디어 위치를 재생하는 것을 계층적 스트리밍 네트워크에서의 그룹 동기화라고 한다.
밀리 초 단위의 정밀한 재생 동기를 유지하기 위해서는, 미디어 버퍼링 시간, 동기화 제어 패킷의 전송 시간, 동기화 처리 시간 등 다양한 지연 시간에 대한 재생 위치의 보정이 요구되는데, 이를 위해서는 초당 수 회에서 수십 회에 이르는 빈번한 동기화 제어 패킷의 전송이 필요하다. 그런데, 이와 같은 빈번한 동기화 제어 패킷의 전송은, 다수의 기기에 대해 미디어 스트리밍이 이루어지는 네트워크 사용량이 높은 상황에서는 오히려 네트워크 혼잡을 가중시키게 되고, 그 결과 동기화 성능을 저해시키게 되는 문제점이 있다.
따라서, 계층적 스트리밍 네트워크에 있어서, 동기화 정밀도를 유지하면서도 동기화 제어 패킷의 전송을 최소화할 수 있는 그룹 동기화 방법의 개발이 필요하다.
한편, 종래 기술로는 공개특허공보 제10-2017-0034368호(발명의 명칭: 다중 네트워크 환경 적응형 미디어 스트리밍 전송방법 및 그 장치), 등록특허공보 제10-1507032호(발명의 명칭: 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법) 등이 있다.
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 이벤트 기반 동기화 적용과 함께 클라이언트 기기에서의 지역적인 재생 위치 오차 보정을 통해, 하드웨어의 성능 및 백그라운드에서 동작 중인 프로세스에 의해 발생되는 제어 오차에 대하여, 지역적으로 현재 시각에 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 재생 위치를 보정함으로써, 높은 동기화 정밀도를 유지하면서도 동기화 제어 패킷의 전송을 최소화할 수 있는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법을 제공하는 것을 그 목적으로 한다.
또한, 본 발명은, 재생 이벤트가 발생하지 않는 상황, 즉 이벤트 기반 동기화가 적용되지 않는 상황에서도, 드물지만 주기적으로 동기화를 수행함으로써, 지역적 재생 위치 보정에서 발생하는 오차를 재보정할 뿐만 아니라, 재생 위치의 이동 이벤트에 대하여 동기화 제어 패킷의 유실 시를 대비한 위치 보정을 수행할 수 있는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법을 제공하는 것을 그 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템은,
미디어 서버 역할을 수행하되, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하는 미디어 소스 기기(100); 및
상기 스트리밍 미디어를 스트리밍 방식으로 재생하되, 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하여 상기 스트리밍 미디어를 재생하는 적어도 하나 이상의 클라이언트 기기(200)를 포함하되,
상기 적어도 하나 이상의 클라이언트 기기(200)는,
미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 수행함으로써, 높은 동기화 정밀도를 유지하면서도 동기화 제어 패킷(10)의 전송을 최소화하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 이벤트의 종류에는,
‘재생 시작’, ‘일시 정지’, ‘재시작’, ‘멈춤’, ‘재생 위치의 이동’이 포함될 수 있다.
바람직하게는, 상기 적어도 하나 이상의 클라이언트 기기(200)는,
수신한 동기화 제어 패킷(10)의 이벤트의 종류가 ‘재생 위치의 이동’인 경우, 상기 수신한 동기화 제어 패킷(10)의 스트리밍 미디어의 재생 위치를 참조하여 이동하되, 해당 재생 위치가 버퍼링이 완료되지 않은 상태일 경우, 스트림 데이터를 요청하고 버퍼링이 완료될 때까지 대기한 후, 버퍼링이 완료되면 버퍼링에 소요된 시간과 동기화 제어 패킷(10)의 전송시간을 보정하기 위해 이벤트 발생 시각으로부터의 경과 시간을 계산하여 재생 위치를 보정하고 재생을 시작할 수 있다.
바람직하게는, 상기 적어도 하나 이상의 클라이언트 기기(200)는,
다음 수학식에 의해 재생 위치를 보정할 수 있다.
상기 수학식에서, Pe는 이벤트 기반 동기화 보정 위치, Ps는 미디어 소스 기기의 재생 위치, Tc는 버퍼링 완료 시각, Ts는 이벤트 발생 시각, To는 NTP(Network Time Protocol) 서버를 기준으로 한 기기 간의 시각 차이를 각각 나타낸다.
바람직하게는, 상기 적어도 하나 이상의 클라이언트 기기(200)는,
지역적으로 현재 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 위치를 보정함으로써, 지역적인 재생 위치 오차 보정을 수행할 수 있다.
더욱 바람직하게는, 상기 적어도 하나 이상의 클라이언트 기기(200)는,
상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화한 마지막 시점 이후에 발생한 지역적인 재생 위치 오차를 보정할 수 있다.
더욱더 바람직하게는, 상기 적어도 하나 이상의 클라이언트 기기(200)는,
다음 프레임의 재생 위치를 나타내도록 프레임 당 재생 시간을 구하여 추가로 보정할 수 있다.
바람직하게는, 상기 적어도 하나 이상의 클라이언트 기기(200)는,
다음 수학식에 의해 지역적인 재생 위치 오차를 보정할 수 있다.
상기 수학식에서, Pl은 현재 시각에 기대되는 재생 위치, Pe는 마지막 이벤트 기반 동기화 보정 위치, Tl은 현재 시각, Te는 마지막 이벤트 기반 동기화 보정 시각을 각각 나타낸다.
바람직하게는, 상기 동기화 제어 패킷(10)은,
지역적인 재생 위치 오차 보정을 수행하는 상기 미리 지정된 간격을 더 포함할 수 있다.
바람직하게는, 상기 미디어 소스 기기(100)는,
재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하여, 상기 클라이언트 기기(200)의 재생 위치를 추가로 보정할 수 있다.
더욱 바람직하게는, 상기 동기화 제어 패킷(10)은,
상기 미리 지정된 주기를 더 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 다른 특징에 따른, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법은,
(1) 상기 미디어 소스 기기(100)가, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하는 단계; 및
(2) 상기 적어도 하나 이상의 클라이언트 기기(200)가, 상기 단계 (1)에서 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하는 단계를 포함하되,
(3) 상기 적어도 하나 이상의 클라이언트 기기(200)가, 미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 더 수행하는 단계를 더 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 이벤트의 종류에는,
‘재생 시작’, ‘일시 정지’, ‘재시작’, ‘멈춤’, ‘재생 위치의 이동’이 포함될 수 있다.
바람직하게는, 상기 단계 (2)에서,
상기 적어도 하나 이상의 클라이언트 기기(200)는, 다음 수학식에 의해 재생 위치를 보정할 수 있다.
상기 수학식에서, Pe는 이벤트 기반 동기화 보정 위치, Ps는 미디어 소스 기기의 재생 위치, Tc는 버퍼링 완료 시각, Ts는 이벤트 발생 시각, To는 NTP(Network Time Protocol) 서버를 기준으로 한 기기 간의 시각 차이를 각각 나타낸다.
바람직하게는, 상기 단계 (3)에서,
상기 적어도 하나 이상의 클라이언트 기기(200)는, 지역적으로 현재 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 위치를 보정함으로써, 지역적인 재생 위치 오차 보정을 수행할 수 있다.
더욱 바람직하게는, 상기 단계 (3)에서,
상기 적어도 하나 이상의 클라이언트 기기(200)는, 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화한 마지막 시점 이후에 발생한 지역적인 재생 위치 오차를 보정을 수행할 수 있다.
바람직하게는, 상기 단계 (3)에서,
상기 적어도 하나 이상의 클라이언트 기기(200)는, 다음 수학식에 의해 지역적인 재생 위치 오차를 보정할 수 있다.
상기 수학식에서, Pl은 현재 시각에 기대되는 재생 위치, Pe는 마지막 이벤트 기반 동기화 보정 위치, Tl은 현재 시각, Te는 마지막 이벤트 기반 동기화 보정 시각을 각각 나타낸다.
바람직하게는, 상기 동기화 제어 패킷(10)은,
지역적인 재생 위치 오차 보정을 수행하는 상기 미리 지정된 간격을 더 포함할 수 있다.
바람직하게는,
(4) 상기 미디어 소스 기기(100)는, 재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하여, 상기 클라이언트 기기(200)의 재생 위치를 추가로 보정하는 단계를 더 포함할 수 있다.
더욱 바람직하게는, 상기 동기화 제어 패킷(10)은,
상기 미리 지정된 주기를 더 포함할 수 있다.
본 발명에서 제안하고 있는 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법에 따르면, 이벤트 기반 동기화 적용과 함께 클라이언트 기기에서의 지역적인 재생 위치 오차 보정을 통해, 하드웨어의 성능 및 백그라운드에서 동작 중인 프로세스에 의해 발생되는 제어 오차에 대하여, 지역적으로 현재 시각에 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 재생 위치를 보정함으로써, 높은 동기화 정밀도를 유지하면서도 동기화 제어 패킷의 전송을 최소화할 수 있다.
또한, 본 발명에 따르면, 재생 이벤트가 발생하지 않는 상황, 즉 이벤트 기반 동기화가 적용되지 않는 상황에서도, 드물지만 주기적으로 동기화를 수행함으로써, 지역적 재생 위치 보정에서 발생하는 오차를 재보정할 뿐만 아니라, 재생 위치의 이동 이벤트에 대하여 동기화 제어 패킷의 유실 시를 대비한 위치 보정을 수행할 수 있다.
도 1은 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템의 구성을 도시한 도면.
도 2는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서 사용되는 동기화 제어 패킷(10)의 형식을 도시한 도면.
도 3은 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 이벤트 기반 동기화 과정을 설명하기 위한 도면.
도 4는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 지역적인 재생 위치 오차 보정의 과정을 설명하기 위한 도면.
도 5는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 드문 주기적 동기화 과정을 설명하기 위한 도면.
도 6은 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법의 흐름을 도시한 도면.
도 7은, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법에서, 드문 주기적 동기화 단계를 더 포함하는 흐름을 도시한 도면.
도 2는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서 사용되는 동기화 제어 패킷(10)의 형식을 도시한 도면.
도 3은 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 이벤트 기반 동기화 과정을 설명하기 위한 도면.
도 4는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 지역적인 재생 위치 오차 보정의 과정을 설명하기 위한 도면.
도 5는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 드문 주기적 동기화 과정을 설명하기 위한 도면.
도 6은 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법의 흐름을 도시한 도면.
도 7은, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법에서, 드문 주기적 동기화 단계를 더 포함하는 흐름을 도시한 도면.
이하에서는 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일 또는 유사한 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 ‘연결’되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 ‘간접적으로 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 ‘포함’한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
도 1은 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템의 구성을 도시한 도면이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템은, 미디어 소스 기기(100) 및 클라이언트 기기(200)를 포함하여 구성될 수 있다.
즉, 본 발명은, 미디어 소스 기기(100)가 동기화 제어 패킷(10)을 적어도 하나 이상의 클라이언트 기기(200)에 전송하면, 클라이언트 기기(200)가 동기화 제어 패킷(10)을 이용해 재생 위치를 동기화하여 스트리밍 미디어를 재생할 수 있다. 이를 통해, 복수의 클라이언트 기기(200)가 동일한 스트리밍 미디어를 동시에 동일한 위치에서 재생할 수 있다. 이하에서는, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템을 구성하는 각 구성요소에 대하여 상세히 설명하도록 한다.
미디어 소스 기기(100)는, 미디어 서버 역할을 수행하되, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송할 수 있다. 여기에서, 동기화 제어 패킷(10)은 동기화 제어 정보를 포함하는 패킷으로서, 미디어 소스 기기(100)와 클라이언트 기기(200) 간에 주고받는 패킷이다.
도 2는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서 사용되는 동기화 제어 패킷(10)의 형식을 도시한 도면이다. 도 2에 도시된 바와 같이, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템의 동기화 제어 패킷(10)은, 재생 상태(Play status) 필드, 장치 시간(Device time) 필드, 재생 위치(Play position) 필드, 및 Extra 필드를 포함하여 구성될 수 있다.
재생 상태 필드는, 현재 서버의 재생 상태와 스트리밍 클라이언트의 그룹 동기화 참여 요청 상태를 나타낸다. 도 2에 도시된 바와 같이, 재생 상태 필드의 값(Value)으로는, “JOIN”, “JOIN_ACK”, “PLAY”, “SEEK”, “PAUSE”, “RESUME”, “STOP” 및 “UPDATE”가 가능하다.
“JOIN”은 스트리밍 클라이언트 기기가 미디어 소스 기기에게 재생 동기화 서비스를 요청할 때 사용된다. “JOIN_ACK”는 미디어 소스 기기가 클라이언트 기기의 JOIN 요청에 대한 응답으로서, Extra 필드의 내용을 채워 전송한다. Extra 필드는, 도 2에 도시된 바와 같이, 장치 ID(Device ID), 미디어 크기(Media size), 미디어 재생 길이(Media duration), 지역적인 재생 위치 오차 보정 간격(Local adjustment interval), 드문 주기적 동기화 간격(Periodic sync. interval), 및 미디어 배포 트리에서의 현재 기기 높이(MDT level)로 구성될 수 있다.
“PLAY”, “SEEK”, “PAUSE”, “RESUME”, “STOP”은 각각 미디어 소스 기기의 재생 시작, 재생 위치의 이동, 일시 정지, 재시작, 멈춤 이벤트를 나타낸다. “UPDATE”는 미디어 소스 기기가 자신에게 연결된 클라이언트 기기에게 미디어 버퍼링 상태를 갱신할 때 사용된다. 버퍼링이 완료된 스트림 조각 상태를 클라이언트 기기가 갱신하도록 하여 스트림 조각 요청이 가능함을 알린다.
그 밖에, 장치 시간(Device time) 필드에는 이벤트가 발생한 시각이 저장된다. 또한, 재생 위치(Play position) 필드에는 이벤트가 발생한 시점의 재생 위치가 저장되며, 단위는 밀리 초(ms)이다.
클라이언트 기기(200)는, 스트리밍 미디어를 스트리밍 방식으로 재생하되, 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하여 스트리밍 미디어를 재생할 수 있다. 특히, 클라이언트 기기(200)는, 미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 수행함으로써, 높은 동기화 정밀도를 유지하면서도 동기화 제어 패킷(10)의 전송을 최소화할 수 있다. 지역적인 재생 위치 오차 보정에 대해서는 추후 자세히 설명하도록 한다. 한편, 클라이언트 기기(200)는, 적어도 하나 이상일 수 있다.
여기서, 이벤트의 종류에는, 도 2에 도시된 바와 같이, ‘재생 시작’, ‘일시 정지’, ‘재시작’, ‘멈춤’, ‘재생 위치의 이동’이 포함될 수 있으나, 이것으로만 제한되는 것은 아니다. 특히, 수신한 동기화 제어 패킷(10)의 이벤트의 종류가 ‘재생 위치의 이동’인 경우, 적어도 하나 이상의 클라이언트 기기(200)는, 수신한 동기화 제어 패킷(10)의 스트리밍 미디어의 재생 위치를 참조하여 이동하되, 해당 재생 위치가 버퍼링이 완료되지 않은 상태일 경우, 스트림 데이터를 요청하고 버퍼링이 완료될 때까지 대기한 후, 버퍼링이 완료되면 버퍼링에 소요된 시간과 동기화 제어 패킷(10)의 전송시간을 보정하기 위해 이벤트 발생 시각으로부터의 경과 시간을 계산하여 재생 위치를 보정하고 재생을 시작할 수 있다.
본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 미디어 소스 기기(100)와 클라이언트 기기(200)는 먼저 이벤트 기반 동기화를 수행한다. 여기서, 이벤트 기반 동기화(Event-driven synchronization)란, 미디어 소스 기기(100)에서 “재생 시작”, “일시 정지”, “재시작”, “멈춤”, “재생 위치의 이동”과 같은 이벤트가 발생하면, 미디어 소스 기기(100)가 이벤트가 발생한 시각과 이벤트의 종류, 재생 위치 등을 동기화 제어 패킷(10)에 담아 미디어 클라이언트 기기들(200)에게 전송하고, 동기화 제어 패킷(10)을 수신한 클라이언트 기기들(200)은 이벤트의 종류에 따라 재생 상태를 동기화하는 것을 의미한다.
도 3은 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 이벤트 기반 동기화 과정을 설명하기 위한 도면이다. 도 3에 도시된 바와 같이, 만약 미디어 소스 기기(100)로부터 재생 위치의 이동 이벤트가 발생하면, 동기화 제어 패킷(10)의 재생 위치를 참고하여 미디어 재생기의 재생 위치를 탐색하여 이동한다. 이때, 해당 재생 위치가 버퍼링이 완료되지 않은 상태이면 스트림 데이터를 요청하고, 버퍼링이 완료될 때까지 대기한다. 버퍼링이 완료되면, 버퍼링에 소요된 시간과 동기화 제어 패킷(10)의 전송 시간을 보정하기 위해 이벤트가 발생한 시각으로부터의 경과 시간을 계산하여 재생 위치를 보정하고 재생을 시작한다.
다음 수학식 1은 이벤트 기반 동기화의 재생 위치 보정 수식을 나타낸다.
상기 수학식 1에서, Pe는 이벤트 기반 동기화 보정 위치, Ps는 미디어 소스 기기의 재생 위치, Tc는 버퍼링 완료 시각, Ts는 이벤트 발생 시각, To는 NTP(Network Time Protocol) 서버를 기준으로 한 기기 간의 시각 차이를 각각 나타낸다.
상기한 바와 같은 과정의 이벤트 기반 동기화를 통해 재생 위치를 동기화하였더라도 미디어 재생 과정에서 발생하는 재생 지연으로 인하여 동기화 정밀도가 점차 낮아질 수 있다. 이를 보정하기 위해 미디어 소스 기기(100)에게 현재의 재생 위치를 요청할 수 있지만, 다수의 기기들이 동시에 스트리밍을 진행하는 상황에서 빈번한 동기화 제어 패킷(10)의 전송은 오히려 네트워크 혼잡을 가중시킬 수 있다.
이와 같은 문제를 해결하기 위하여, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서는, 이벤트 기반 동기화를 수행한 클라이언트 기기(200)는 지역적인 재생 위치 오차 보정을 수행하게 된다. 구체적으로는, 클라이언트 기기(200)는, 지역적으로 현재 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 위치를 보정함으로써, 지역적인 재생 위치 오차 보정을 수행할 수 있다. 이때, 클라이언트 기기(200)는, 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화한 마지막 시점 이후에 발생한 지역적인 재생 위치 오차를 보정할 수 있다. 즉, 지역적인 재생 위치 오차 보정을 통해, 마지막 이벤트 기반 동기화 시점 이후에 발생한 재생 위치 오차를 보정하게 된다.
도 4는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 지역적인 재생 위치 오차 보정의 과정을 설명하기 위한 도면이다. 도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템은, 미디어 소스 기기(100)로부터 이벤트가 발생하지 않더라도 각각의 클라이언트 기기(200)에서 지역적으로 재생 위치를 재조정하여 동기화 정밀도를 유지시키는 방법이며, 이와 같은 지역적인 재생 위치 오차 보정을 통해서 동기화 제어 패킷(10)의 전송을 최소화하면서도 높은 동기화 정밀도를 유지할 수 있게 된다.
지역적인 재생 위치 오차 보정은, 다음 수학식 2를 사용하여 수행된다.
상기 수학식 2에서, Pl은 현재 시각에 기대되는 재생 위치, Pe는 마지막 이벤트 기반 동기화 보정 위치, Tl은 현재 시각, Te는 마지막 이벤트 기반 동기화 보정 시각을 각각 나타낸다. 또한, fps는 스트리밍 중인 미디어의 초당 프레임 수를 나타낸다.
상기 수학식 2에서 확인할 수 있는 바와 같이, 미디어 재생기가 영상 프레임의 위치가 아니라 밀리 초 단위로 탐색하는 점을 보완하기 위해서, 계산된 재생 위치가 다음 프레임의 재생 위치를 나타내도록 프레임 당 재생 시간을 구하여 보정한다. 이 과정은 이벤트 기반 동기화에는 필요하지 않은데, 그 이유는 미디어 소스 기기(100)의 재생기 탐색 막대를 이용하여 재생 위치를 이동하면 미디어 재생기가 자동으로 다음 프레임의 위치로 보정하기 때문이다.
한편, 지역적인 재생 위치 오차 보정은, 너무 짧은 간격으로 수행될 경우 그 자체가 클라이언트 기기(200)에게 부담이 될 수 있고, 반대로 너무 긴 간격으로 수행될 경우 지역적인 재생 위치 오차 보정을 수행하는 의미가 무색해질 수 있다. 따라서, 시스템의 상황에 맞게 적당한 간격으로 미리 지정되어 수행되는 것이 좋은데, 미리 지정된 간격 값은, 앞서 도 2에서 설명한 바와 같이, 동기화 제어 패킷(10)의 Extra 필드에 저장될 수 있다.
앞서 설명한 이벤트 기반 동기화, 지역적인 재생 위치 오차 보정 이외에, 미디어 소스 기기(100)는, 재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하여, 클라이언트 기기(200)의 재생 위치를 추가로 보정할 수 있다. 이러한 절차를 본 발명에서는 “드문 주기적 동기화”라고 하며, 지역적인 재생 위치 오차 보정 과정을 보완하기 위한 것이다.
도 5는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 드문 주기적 동기화 과정을 설명하기 위한 도면이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템은, 미디어 소스 기기(100)로부터 재생 이벤트가 발생하지 않는 상황에서 각각의 클라이언트 기기들(100)의 지역적인 재생 위치 오차 보정이 정밀하게 동작하고 있는지 드물지만 주기적으로 확인하여 보정한다. 또한, 재생 위치의 이동 이벤트에 대한 동기화 제어 패킷(10)이 유실되었을 경우에 이를 보완하는 역할도 수행한다. 드문 주기적 동기화 보정을 위한 수학식은, 이벤트 기반 동기화의 재생 위치의 이동 이벤트 보정 수학식인 수학식 1과 동일하다.
미디어 소스 기기(100) 및 클라이언트 기기(200)는 애플리케이션의 설치가 가능한 모든 종류의 휴대용 단말기나 컴퓨터로 구현될 수 있다. 여기서, 휴대용 단말기는 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있고, 컴퓨터는 웹 브라우저(WEB Browser)가 탑재된 데스크톱(desktop), 노트북, 랩톱(laptop) 등을 포함할 수 있다. 또한, 스마트폰, 스마트 노트, 태블릿 PC, 스마트 카메라, 스마트 TV, 웨어러블(wearable) 컴퓨터 등의 스마트 디바이스일 수도 있다.
한편, 미디어 소스 기기(100) 및 클라이언트 기기(200)에 설치되는 애플리케이션은, 통신망 등에서 운영되는 애플리케이션 서버에서 관리하는 설치 프로그램에 의하여 설치된 실행 프로그램일 수 있다.
도 6은 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법의 흐름을 도시한 도면이다. 도 6에 도시된 바와 같이, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법은, 미디어 서버 역할을 수행하는 미디어 소스 기기(100)가 적어도 하나 이상의 클라이언트 기기(200)에 미디어 스트리밍을 수행하는 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법으로서, 미디어 소스 기기(100)가, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 적어도 하나 이상의 클라이언트 기기(200)에 전송하는 단계(S100); 및 적어도 하나 이상의 클라이언트 기기(200)가, 단계 S100에서 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하는 단계(S200)를 포함하되, 적어도 하나 이상의 클라이언트 기기(200)가, 미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 더 수행하는 단계(S300)를 더 포함하여 구성될 수 있다.
또한, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법에서는, 미디어 소스 기기(100)는, 재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하여, 클라이언트 기기(200)의 재생 위치를 추가로 보정하는 단계(S400)를 추가로 더 포함할 수 있다. 도 7은, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법에서, 드문 주기적 동기화 단계를 더 포함하는 흐름을 도시한 도면이다.
한편, 본 발명은 다양한 통신 단말기로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터에서 판독 가능한 매체를 포함할 수 있다. 예를 들어, 컴퓨터에서 판독 가능한 매체는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD_ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
이와 같은 컴퓨터에서 판독 가능한 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 이때, 컴퓨터에서 판독 가능한 매체에 기록되는 프로그램 명령은 본 발명을 구현하기 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예를 들어, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
상술한 바와 같이, 본 발명에서 제안하고 있는 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법에 따르면, 이벤트 기반 동기화 적용과 함께 클라이언트 기기에서의 지역적인 재생 위치 오차 보정을 통해, 하드웨어의 성능 및 백그라운드에서 동작 중인 프로세스에 의해 발생되는 제어 오차에 대하여, 지역적으로 현재 시각에 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 재생 위치를 보정함으로써, 높은 동기화 정밀도를 유지하면서도 동기화 제어 패킷의 전송을 최소화할 수 있다. 또한, 본 발명에 따르면, 재생 이벤트가 발생하지 않는 상황, 즉 이벤트 기반 동기화가 적용되지 않는 상황에서도, 드물지만 주기적으로 동기화를 수행함으로써, 지역적 재생 위치 보정에서 발생하는 오차를 재보정할 뿐만 아니라, 재생 위치의 이동 이벤트에 대하여 동기화 제어 패킷의 유실 시를 대비한 위치 보정을 수행할 수 있다.
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.
10: 동기화 제어 패킷
100: 미디어 소스 기기
200: 클라이언트 기기
S100: 미디어 소스 기기가, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷을 적어도 하나 이상의 클라이언트 기기에 전송하는 단계
S200: 적어도 하나 이상의 클라이언트 기기가, 단계 S100에서 미디어 소스 기기로부터 수신한 동기화 제어 패킷을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하는 단계
S300: 적어도 하나 이상의 클라이언트 기기가, 미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 더 수행하는 단계
S400: 미디어 소스 기기가, 재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷을 클라이언트 기기에 전송하여, 클라이언트 기기의 재생 위치를 추가로 보정하는 단계
100: 미디어 소스 기기
200: 클라이언트 기기
S100: 미디어 소스 기기가, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷을 적어도 하나 이상의 클라이언트 기기에 전송하는 단계
S200: 적어도 하나 이상의 클라이언트 기기가, 단계 S100에서 미디어 소스 기기로부터 수신한 동기화 제어 패킷을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하는 단계
S300: 적어도 하나 이상의 클라이언트 기기가, 미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 더 수행하는 단계
S400: 미디어 소스 기기가, 재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷을 클라이언트 기기에 전송하여, 클라이언트 기기의 재생 위치를 추가로 보정하는 단계
Claims (20)
- 미디어 서버 역할을 수행하되, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하는 미디어 소스 기기(100); 및
상기 스트리밍 미디어를 스트리밍 방식으로 재생하되, 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하는 이벤트 기반 동기화를 수행하여 상기 스트리밍 미디어를 재생하는 적어도 하나 이상의 클라이언트 기기(200)를 포함하되,
상기 이벤트 기반 동기화를 수행한 상기 적어도 하나 이상의 클라이언트 기기(200)는,
미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 수행하되, 지역적으로 현재 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 위치를 보정함으로써, 지역적인 재생 위치 오차 보정을 수행하고, 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화한 마지막 시점 이후에 발생한 지역적인 재생 위치 오차를 보정하여, 상기 이벤트 기반 동기화 시점 이후에 발생한 재생 위치 오차를 보정하며,
상기 미디어 소스 기기(100)로부터 이벤트가 발생하지 않더라도 상기 적어도 하나 이상의 클라이언트 기기(20)에서 지역적으로 재생 위치를 재조정하여 동기화 정밀도를 유지하면서도 동기화 제어 패킷(10)의 전송을 최소화하며,
상기 적어도 하나 이상의 클라이언트 기기(200)는,
상기 지역적인 재생 위치 오차 보정을 수행할 때에, 다음 프레임의 재생 위치를 나타내도록 프레임 당 재생 시간을 구하여 추가로 보정는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.
- 제1항에 있어서, 상기 이벤트의 종류에는,
‘재생 시작’, ‘일시 정지’, ‘재시작’, ‘멈춤’, ‘재생 위치의 이동’이 포함되는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.
- 제1항에 있어서, 상기 적어도 하나 이상의 클라이언트 기기(200)는,
수신한 동기화 제어 패킷(10)의 이벤트의 종류가 ‘재생 위치의 이동’인 경우, 상기 수신한 동기화 제어 패킷(10)의 스트리밍 미디어의 재생 위치를 참조하여 이동하되, 해당 재생 위치가 버퍼링이 완료되지 않은 상태일 경우, 스트림 데이터를 요청하고 버퍼링이 완료될 때까지 대기한 후, 버퍼링이 완료되면 버퍼링에 소요된 시간과 동기화 제어 패킷(10)의 전송시간을 보정하기 위해 이벤트 발생 시각으로부터의 경과 시간을 계산하여 재생 위치를 보정하고 재생을 시작하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.
- 삭제
- 삭제
- 삭제
- 제1항에 있어서, 상기 동기화 제어 패킷(10)은,
지역적인 재생 위치 오차 보정을 수행하는 상기 미리 지정된 간격을 더 포함하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.
- 제1항에 있어서, 상기 미디어 소스 기기(100)는,
재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하여, 상기 클라이언트 기기(200)의 재생 위치를 추가로 보정하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.
- 제10항에 있어서, 상기 동기화 제어 패킷(10)은,
상기 미리 지정된 주기를 더 포함하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.
- 미디어 서버 역할을 수행하는 미디어 소스 기기(100)가 적어도 하나 이상의 클라이언트 기기(200)에 미디어 스트리밍을 수행하는 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법으로서,
(1) 상기 미디어 소스 기기(100)가, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하는 단계; 및
(2) 상기 적어도 하나 이상의 클라이언트 기기(200)가, 상기 단계 (1)에서 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하는 이벤트 기반 동기화를 수행하는 단계를 포함하되,
(3) 상기 단계 (2)에서 이벤트 기반 동기화를 수행한 상기 적어도 하나 이상의 클라이언트 기기(200)가, 미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 더 수행하는 단계를 더 포함하며,
상기 단계 (3)에서,
상기 적어도 하나 이상의 클라이언트 기기(200)는, 지역적으로 현재 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 위치를 보정함으로써, 지역적인 재생 위치 오차 보정을 수행하고, 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화한 마지막 시점 이후에 발생한 지역적인 재생 위치 오차를 보정하여, 상기 이벤트 기반 동기화 시점 이후에 발생한 재생 위치 오차를 보정하며,
상기 미디어 소스 기기(100)로부터 이벤트가 발생하지 않더라도 상기 적어도 하나 이상의 클라이언트 기기(20)에서 지역적으로 재생 위치를 재조정하여 동기화 정밀도를 유지하면서도 동기화 제어 패킷(10)의 전송을 최소화하며,
상기 단계 (3)에서,
상기 적어도 하나 이상의 클라이언트 기기(200)는, 상기 지역적인 재생 위치 오차 보정을 수행할 때에, 다음 프레임의 재생 위치를 나타내도록 프레임 당 재생 시간을 구하여 추가로 보정하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법.
- 제12항에 있어서, 상기 이벤트의 종류에는,
‘재생 시작’, ‘일시 정지’, ‘재시작’, ‘멈춤’, ‘재생 위치의 이동’이 포함되는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법.
- 삭제
- 삭제
- 제12항에 있어서, 상기 동기화 제어 패킷(10)은,
지역적인 재생 위치 오차 보정을 수행하는 상기 미리 지정된 간격을 더 포함하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법.
- 제12항에 있어서,
(4) 상기 미디어 소스 기기(100)는, 재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하여, 상기 클라이언트 기기(200)의 재생 위치를 추가로 보정하는 단계를 더 포함하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법.
- 제19항에 있어서, 상기 동기화 제어 패킷(10)은,
상기 미리 지정된 주기를 더 포함하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2018/000487 WO2019139184A1 (ko) | 2018-01-10 | 2018-01-10 | 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법 |
KR1020180003236A KR101988613B1 (ko) | 2018-01-10 | 2018-01-10 | 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180003236A KR101988613B1 (ko) | 2018-01-10 | 2018-01-10 | 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101988613B1 true KR101988613B1 (ko) | 2019-06-12 |
Family
ID=66845840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180003236A KR101988613B1 (ko) | 2018-01-10 | 2018-01-10 | 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101988613B1 (ko) |
WO (1) | WO2019139184A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021127062A1 (en) * | 2019-12-18 | 2021-06-24 | The Nielsen Company (Us), Llc | Methods and apparatus to monitor streaming media |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100124404A1 (en) * | 2008-11-14 | 2010-05-20 | Sang Wook Park | Multimedia playing system and method for playing multimedia using the same |
KR20120063431A (ko) * | 2010-12-07 | 2012-06-15 | 삼성전자주식회사 | 멀티미디어 컨텐츠를 송수신하는 송신 장치 및 수신 장치와, 그 재생 방법 |
EP2592842A1 (en) * | 2011-11-14 | 2013-05-15 | Accenture Global Services Limited | Computer-implemented method, computer system, and computer program product for synchronizing output of media data across a plurality of devices |
KR101507032B1 (ko) * | 2014-08-26 | 2015-04-01 | 계명대학교 산학협력단 | 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법 |
KR20170138647A (ko) * | 2016-06-08 | 2017-12-18 | 에스케이텔레콤 주식회사 | 미디어 재생 프로그램 |
-
2018
- 2018-01-10 WO PCT/KR2018/000487 patent/WO2019139184A1/ko active Application Filing
- 2018-01-10 KR KR1020180003236A patent/KR101988613B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100124404A1 (en) * | 2008-11-14 | 2010-05-20 | Sang Wook Park | Multimedia playing system and method for playing multimedia using the same |
KR20120063431A (ko) * | 2010-12-07 | 2012-06-15 | 삼성전자주식회사 | 멀티미디어 컨텐츠를 송수신하는 송신 장치 및 수신 장치와, 그 재생 방법 |
EP2592842A1 (en) * | 2011-11-14 | 2013-05-15 | Accenture Global Services Limited | Computer-implemented method, computer system, and computer program product for synchronizing output of media data across a plurality of devices |
KR101507032B1 (ko) * | 2014-08-26 | 2015-04-01 | 계명대학교 산학협력단 | 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법 |
KR20170138647A (ko) * | 2016-06-08 | 2017-12-18 | 에스케이텔레콤 주식회사 | 미디어 재생 프로그램 |
Non-Patent Citations (1)
Title |
---|
권동우 외 3명, 한국정보통신학회(2015.03.11. 공개). 1부.* * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021127062A1 (en) * | 2019-12-18 | 2021-06-24 | The Nielsen Company (Us), Llc | Methods and apparatus to monitor streaming media |
US12041111B2 (en) | 2019-12-18 | 2024-07-16 | The Nielsen Company (Us), Llc | Methods and apparatus to monitor streaming media |
Also Published As
Publication number | Publication date |
---|---|
WO2019139184A1 (ko) | 2019-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10862601B1 (en) | Bridges including physical layer devices for indicating transmission times of synchronization frames by modifying previously generated corresponding follow up frames | |
CN111586480B (zh) | 低延迟流媒体 | |
US11019309B2 (en) | Real-time or near real-time streaming | |
JP7547573B2 (ja) | 置換コンテンツの最後を被置換コンテンツの最後と揃えるのに役立つ置換コンテンツ再生における動的短縮 | |
KR101528991B1 (ko) | 실시간 또는 준 실시간 스트리밍 | |
US9749804B2 (en) | Data services using location patterns and intelligent caching | |
KR102000084B1 (ko) | 적응형 스트리밍 서비스 제공 방법 및 이를 위한 장치 | |
US8560642B2 (en) | Real-time or near real-time streaming | |
US8694670B2 (en) | Time synchronization of multiple time-based data streams with independent clocks | |
US7870281B2 (en) | Content playback device, content playback method, computer-readable storage medium, and content playback system | |
JP2006135974A (ja) | 適応的バッファ遅延を有する音声受信機 | |
TW201225608A (en) | Method and apparatus for updating http content descriptions | |
US9998386B2 (en) | Facilitation of adaptive dejitter buffer | |
TWI623216B (zh) | 用於控制語音品質的方法和裝置 | |
EP4013060A1 (en) | Multiple protocol prediction and in-session adaptation in video streaming | |
EP2942952A1 (en) | Method, device and system for evaluating user experience value of video quality<0} | |
JP6156145B2 (ja) | コンテンツ同期システム、コンテンツ同期制御装置およびコンテンツ再生装置 | |
KR101988613B1 (ko) | 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법 | |
US20170019870A1 (en) | Method and apparatus for synchronization in a network | |
JP4346557B2 (ja) | タイミングの検出装置、表示装置、タイミングの検出プログラム、タイミングの検出プログラムを記録したコンピュータ読取可能な記録媒体 | |
KR20080027044A (ko) | 네트워크에서 단말들간의 애플리케이션을 동기화하는 방법및 장치 | |
JP2019062425A (ja) | 基地局装置、送信方法、プログラム | |
CN116599944A (zh) | 多路媒体流同步的方法、装置、介质和设备 | |
KR20080035872A (ko) | 매체접근제어 계층에서 애플리케이션 계층에 동기화 정보를제공하는 방법 및 이를 위한 장치 | |
JP2005151000A (ja) | メディア通信制御方法、メディア通信制御装置、および、メディア提供システム、ならびに、メディア通信制御プログラム、メディア提供プログラム、および、その記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |