KR101507032B1 - 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법 - Google Patents

스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법 Download PDF

Info

Publication number
KR101507032B1
KR101507032B1 KR20140111932A KR20140111932A KR101507032B1 KR 101507032 B1 KR101507032 B1 KR 101507032B1 KR 20140111932 A KR20140111932 A KR 20140111932A KR 20140111932 A KR20140111932 A KR 20140111932A KR 101507032 B1 KR101507032 B1 KR 101507032B1
Authority
KR
South Korea
Prior art keywords
streaming
time
client
playback
control packet
Prior art date
Application number
KR20140111932A
Other languages
English (en)
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 KR20140111932A priority Critical patent/KR101507032B1/ko
Application granted granted Critical
Publication of KR101507032B1 publication Critical patent/KR101507032B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play

Landscapes

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

Abstract

본 발명은 스트리밍 미디어의 실시간 동기화 재생 시스템에 관한 것으로서, 보다 구체적으로는 현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장하고, 상기 재생 위치가 포함된 동기화 제어 패킷을 클라이언트에 전송하는 스트리밍 서버; 및 상기 스트리밍 미디어를 스트리밍 방식으로 재생하되, 상기 스트리밍 서버로부터 수신한 동기화 제어 패킷을 이용해 재생 위치를 동기화하여 상기 스트리밍 미디어를 재생하는 적어도 하나 이상의 클라이언트를 포함하는 것을 그 구성상의 특징으로 한다.
또한, 본 발명은, 스트리밍 미디어의 실시간 동기화 재생 방법에 관한 것으로서, 보다 구체적으로는 (1) 스트리밍 서버가, 현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장하고, 상기 재생 위치가 포함된 동기화 제어 패킷을 적어도 하나 이상의 클라이언트에 전송하는 단계; 및 (2) 상기 동기화 제어 패킷을 수신한 클라이언트가, 상기 동기화 제어 패킷을 이용해 재생 위치를 동기화하여 상기 스트리밍 미디어를 스트리밍 방식으로 재생하는 단계를 포함하는 것을 또 다른 구성상의 특징으로 한다.
본 발명에서 제안하고 있는 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법에 따르면, 스트리밍 서버가 동기화 제어 패킷을 클라이언트에 전송하면, 클라이언트가 동기화 제어 패킷을 이용해 재생 위치를 동기화하여 스트리밍 미디어를 재생함으로써, 복수의 클라이언트가 동일한 스트리밍 미디어를 동시에 동일한 위치에서 재생할 수 있다.
또한, 본 발명에 따르면, 네트워크 연결시간(Socket connection time), 동기화 제어 패킷 송수신 시간(Packet send & receive time), 동기화 처리 시간(Application time) 및 스트리밍 데이터 수신시간(Pseudo-streaming time)을 고려한 지연 시간을 이용해 재생 위치를 동기화함으로써, 동기화 정확도를 향상시킬 수 있다.

Description

스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법{SYSTEM AND METHOD FOR REAL-TIME SYNCHRONIZED PLAYBACK OF STREAMING MEDIA}
본 발명은 재생 시스템 및 방법에 관한 것으로서, 보다 구체적으로는 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법에 관한 것이다.
소비자에게 콘텐츠를 전달하기 위한 방법 중 하나는 디지털 콘텐츠 파일들을 콘텐츠 서버로부터 통신 네트워크를 통해 콘텐츠 플레이어에 직접 전송하는 것이다. 전형적으로 콘텐츠 서버는 통신 네트워크를 통해 콘텐츠 플레이어에 다운로드 될 수 있는 디지털 콘텐츠 파일들을 저장하도록 구성된 컴퓨터 시스템이다. 주어진 디지털 콘텐츠 파일은 사용자에 의해 선택될 수 있고, 재생 전에 또는 재생 동안 콘텐츠 서버로부터 콘텐츠 플레이어로 다운로드 될 수 있다.
콘텐츠 플레이어는 범용 플랫폼상의 컴퓨터 애플리케이션, 또는 디지털 콘텐츠 파일을 재생하도록 구성된 전용 디바이스로 구현될 수 있다. 디지털 콘텐츠 파일들은 디지털 인코딩된 노래, 사운드 트랙, 영화, 텔레비전 프로그램 등을 포함할 수 있다. 콘텐츠 플레이어는 전형적으로 디지털 콘텐츠 파일의 적어도 일부를 다운로드하고 저장하여, 중단 없는(uninterrupted) 재생을 용이하게 할 수 있다.
한편, 둘 이상의 사용자가 동일한 콘텐츠를 동시에 보는 설정으로 재생될 수도 있다. 예를 들어, 복수의 사용자가 거실에서 대형 화면의 텔레비전으로 영화 또는 텔레비전 프로그램을 함께 보기를 원할 수 있다. 또한, 최근 급속히 확산되고 있는 스마트 디바이스를 이용하여, 복수의 사용자가 자신의 스마트 디바이스를 통해 동일한 콘텐츠를 동시에 보고 싶어할 수도 있다. 따라서 스트리밍 미디어의 재생 시, 동기화를 실행하여 동시에 복수의 디바이스에서 동일하게 미디어가 재생될 수 있도록 하는 방법의 개발이 필요하다.
이와 관련된 선행기술로서, 복수의 콘텐츠 플레이어가 서로 상이한 재생 옵션들을 갖고서 동기화하여 재생을 함으로써, 양호한 공유 보기 경험을 가질 수 있는, 스트리밍 디지털 콘텐츠의 동기화된 재생을 위한 시스템 및 방법이 개시된바 있다(공개특허 제10-2013-0061171호).
또한, 복수 개의 이동 통신 단말기가 이동 통신망으로부터 멀티미디어 데이터를 수신하여 출력할 때 복수 개의 이동 통신 단말기의 멀티미디어 출력을 서로 동기화시켜, 스테레오나 서라운드 시스템을 구현할 수 있는, 복수 개의 이동 통신 단말기 간의 스트리밍 데이터 동기화 방법도 개시된바 있다(등록특허 제10-0760154호).
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 스트리밍 서버가 동기화 제어 패킷을 클라이언트에 전송하면, 클라이언트가 동기화 제어 패킷을 이용해 재생 위치를 동기화하여 스트리밍 미디어를 재생함으로써, 복수의 클라이언트가 동일한 스트리밍 미디어를 동시에 동일한 위치에서 재생할 수 있는, 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법을 제공하는 것을 그 목적으로 한다.
또한, 본 발명은, 네트워크 연결시간(Socket connection time), 동기화 제어 패킷 송수신 시간(Packet send & receive time), 동기화 처리 시간(Application time) 및 스트리밍 데이터 수신시간(Pseudo-streaming time)을 고려한 지연 시간을 이용해 재생 위치를 동기화함으로써, 동기화 정확도를 향상시킬 수 있는, 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법을 제공하는 것을 또 다른 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템은,
현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장하고, 상기 재생 위치가 포함된 동기화 제어 패킷을 클라이언트에 전송하는 스트리밍 서버; 및
상기 스트리밍 미디어를 스트리밍 방식으로 재생하되, 상기 스트리밍 서버로부터 수신한 동기화 제어 패킷을 이용해 재생 위치를 동기화하여 상기 스트리밍 미디어를 재생하는 적어도 하나 이상의 클라이언트를 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 동기화 제어 패킷은,
재생 위치의 변경 여부를 구분하는 플레이 타임 무브먼트(Play time movement) 필드;
동기화 기준점으로서 상기 스트리밍 서버에 저장된 현재 표준시간이 입력되는 현재 표준시간(Current standard time) 필드; 및
상기 스트리밍 미디어의 재생 위치를 포함하는 현재 미디어 재생 위치(Current media play position) 필드를 포함할 수 있다.
바람직하게는, 상기 스트리밍 서버는,
현재 동기화 중인 클라이언트의 존재를 확인하는 확인 모듈; 및
동기화 중인 클라이언트의 존재가 확인되면, 상기 확인된 클라이언트에 상기 동기화 제어 패킷을 전송하는 패킷 전송 모듈을 포함할 수 있다.
바람직하게는, 상기 클라이언트는,
지연 시간을 고려하여 동기화된 재생 위치에서 재생을 시작할 수 있다.
더욱 바람직하게는, 상기 지연 시간은,
네트워크 연결시간(Socket connection time), 동기화 제어 패킷 송수신 시간(Packet send & receive time), 동기화 처리 시간(Application time) 및 스트리밍 데이터 수신시간(Pseudo-streaming time)의 총합일 수 있다.
더욱 바람직하게는, 상기 클라이언트가,
상기 스트리밍 서버로부터 동기화 제어 패킷을 최초로 수신한 경우, 상기 동기화 제어 패킷에 포함된 재생 위치에 상기 지연 시간을 더한 위치에서, 상기 지연 시간만큼 대기한 후에 재생을 시작할 수 있다.
더욱 바람직하게는, 상기 클라이언트는,
상기 스트리밍 서버로부터 수신한 동기화 제어 패킷에 포함된 재생 위치가 변경된 경우, 상기 변경된 재생 위치로 위치를 변경하고 지연 시간 동안 대기한 다음 재생을 시작할 수 있다.
바람직하게는, 상기 스트리밍 서버는,
미리 정해진 시간 간격으로 주기적으로 상기 클라이언트에 상기 동기화 제어 패킷을 전송하여, 동기화 상태를 확인할 수 있다.
더욱 바람직하게는, 상기 클라이언트는,
상기 스트리밍 서버로부터 수신한 동기화 제어 패킷에 포함된 재생 위치와 상기 스트리밍 미디어를 재생 중인 위치를 비교하여 동기화할 수 있다.
바람직하게는, 상기 스트리밍 서버 및 클라이언트는,
상기 스트리밍 미디어의 재생 위치 동기화 및 스트리밍 방식의 재생을 위한 애플리케이션을 이용하여 재생 위치를 동기화할 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명의 특징에 따른 스트리밍 미디어의 실시간 동기화 재생 방법은,
(1) 스트리밍 서버가, 현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장하고, 상기 재생 위치가 포함된 동기화 제어 패킷을 적어도 하나 이상의 클라이언트에 전송하는 단계; 및
(2) 상기 동기화 제어 패킷을 수신한 클라이언트가, 상기 동기화 제어 패킷을 이용해 재생 위치를 동기화하여 상기 스트리밍 미디어를 스트리밍 방식으로 재생하는 단계를 포함하는 것을 그 구성상의 특징으로 한다.
바람직하게는, 상기 동기화 제어 패킷은,
재생 위치의 변경 여부를 구분하는 플레이 타임 무브먼트(Play time movement) 필드;
동기화 기준점으로서 상기 스트리밍 서버에 저장된 현재 표준시간이 입력되는 현재 표준시간(Current standard time) 필드; 및
상기 스트리밍 미디어의 재생 위치를 포함하는 현재 미디어 재생 위치(Current media play position) 필드를 포함할 수 있다.
바람직하게는, 상기 단계 (1)은, 상기 스트리밍 서버가,
(1-1) 현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장하는 단계;
(1-2) 현재 동기화 중인 클라이언트의 존재를 확인하는 단계; 및
(1-3) 동기화 중인 클라이언트의 존재가 확인되면, 상기 확인된 클라이언트에 상기 동기화 제어 패킷을 전송하는 단계를 포함할 수 있다.
바람직하게는, 상기 단계 (2)에서는,
상기 클라이언트가 지연 시간을 고려하여 동기화된 재생 위치에서 재생을 시작할 수 있다.
더욱 바람직하게는, 상기 지연 시간은,
네트워크 연결시간(Socket connection time), 동기화 제어 패킷 송수신 시간(Packet send & receive time), 동기화 처리 시간(Application time) 및 스트리밍 데이터 수신시간(Pseudo-streaming time)의 총합일 수 있다.
더욱 바람직하게는, 상기 단계 (2)에서는,
상기 클라이언트가 스트리밍 서버로부터 동기화 제어 패킷을 최초로 수신한 경우, 상기 동기화 제어 패킷에 포함된 재생 위치에 상기 지연 시간을 더한 위치에서, 상기 지연 시간만큼 대기한 후에 재생을 시작할 수 있다.
더욱 바람직하게는, 상기 단계 (2)에서는,
상기 스트리밍 서버로부터 수신한 동기화 제어 패킷에 포함된 재생 위치가 변경된 경우, 상기 변경된 재생 위치로 위치를 변경하고 지연 시간 동안 대기한 다음 재생을 시작할 수 있다.
바람직하게는, 상기 단계 (1)에서는,
미리 정해진 시간 간격으로 주기적으로 상기 클라이언트에 상기 동기화 제어 패킷을 전송하여, 동기화 상태를 확인할 수 있다.
더욱 바람직하게는, 상기 단계 (2)에서는,
상기 스트리밍 서버로부터 수신한 동기화 제어 패킷에 포함된 재생 위치와 상기 스트리밍 미디어를 재생 중인 위치를 비교하여 동기화할 수 있다.
바람직하게는, 상기 스트리밍 서버 및 클라이언트는,
상기 스트리밍 미디어의 재생 위치 동기화 및 스트리밍 방식의 재생을 위한 애플리케이션을 이용하여 재생 위치를 동기화할 수 있다.
본 발명에서 제안하고 있는 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법에 따르면, 스트리밍 서버가 동기화 제어 패킷을 클라이언트에 전송하면, 클라이언트가 동기화 제어 패킷을 이용해 재생 위치를 동기화하여 스트리밍 미디어를 재생함으로써, 복수의 클라이언트가 동일한 스트리밍 미디어를 동시에 동일한 위치에서 재생할 수 있다.
또한, 본 발명에 따르면, 네트워크 연결시간(Socket connection time), 동기화 제어 패킷 송수신 시간(Packet send & receive time), 동기화 처리 시간(Application time) 및 스트리밍 데이터 수신시간(Pseudo-streaming time)을 고려한 지연 시간을 이용해 재생 위치를 동기화함으로써, 동기화 정확도를 향상시킬 수 있다.
도 1은 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템의 구성을 도시한 도면.
도 2는 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템에서 사용되는 동기화 제어 패킷의 형식을 도시한 도면.
도 3은 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템에서, 스트리밍 서버의 세부적인 구성을 도시한 도면.
도 4는 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템에서, 스트리밍 서버 측의 동기화 재생 과정을 도시한 도면.
도 5는 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템에서, 클라이언트의 세부적인 구성을 도시한 도면.
도 6은 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템에서, 클라이언트 측의 동기화 재생 과정을 도시한 도면.
도 7은 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 방법의 흐름을 도시한 도면.
도 8은 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 방법에서, 단계 S100의 세부적인 흐름을 도시한 도면.
도 9는 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법을 이용한 동기화 재생 실험 환경을 도시한 도면.
도 10은 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법이 구현된 애플리케이션의 동작 흐름을 도시한 도면.
이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 ‘연결’ 되어 있다고 할 때, 이는 ‘직접적으로 연결’ 되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 ‘간접적으로 연결’ 되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 ‘포함’ 한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.
도 1은 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템의 구성을 도시한 도면이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템은, 스트리밍 서버(100) 및 클라이언트(200)를 포함하여 구성될 수 있다.
즉, 본 발명은, 스트리밍 서버(100)가 동기화 제어 패킷(10)을 적어도 하나 이상의 클라이언트(200)에 전송하면, 클라이언트(200)가 동기화 제어 패킷(10)을 이용해 재생 위치를 동기화하여 스트리밍 미디어를 재생할 수 있다. 이를 통해, 복수의 클라이언트(200)가 동일한 스트리밍 미디어를 동시에 동일한 위치에서 재생할 수 있다. 이하에서는, 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템을 구성하는 각 구성요소에 대하여 상세히 설명하도록 한다.
스트리밍 서버(100)는, 현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장하고, 재생 위치가 포함된 동기화 제어 패킷(10)을 클라이언트(200)에 전송할 수 있다. 여기에서, 동기화 제어 패킷(10)은 동기화 제어 정보를 포함하는 패킷으로서, 스트리밍 서버(100)와 클라이언트(200) 간에 주고받는 패킷이다.
도 2는 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템에서 사용되는 동기화 제어 패킷(10)의 형식을 도시한 도면이다. 도 2에 도시된 바와 같이, 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템의 동기화 제어 패킷(10)은, 플레이 타임 무브먼트(Play time movement) 필드(11), 현재 표준시간(Current standard time) 필드(12) 및 현재 미디어 재생 위치(Current media play position) 필드(13)를 포함하여 구성될 수 있다.
플레이 타임 무브먼트 필드(11)는, 재생 위치의 변경 여부를 구분할 수 있다. 동기화 제어 패킷(10)은 스트리밍 서버(100) 측에서 재생 위치를 변경하거나 스트리밍 서버(100)와 클라이언트(200)들 간의 재생 위치를 주기적으로 확인하기 위해서 전송되어지는데, 플레이 타임 무브먼트 필드(11)는 해당 동기화 제어 패킷(10)이 스트리밍 서버(100) 측에서 재생 위치가 변경되어 보내어지는 패킷인지, 재생 위치의 확인을 위한 패킷인지를 구분하는 필드일 수 있다.
현재 표준시간 필드(12)는, 동기화 기준점으로서 스트리밍 서버(100)에 저장된 현재 표준시간이 입력될 수 있다. 즉, 동기화 제어 패킷(10)의 전송 및 수신에는 시간이 소요되므로, 동기화를 위한 재생 위치가 결정된 기준점이 되는 현재 시각을 현재 표준시간 필드(12)에 입력하여, 정확한 동기화가 이루어지도록 할 수 있다.
현재 미디어 재생 위치 필드(13)는, 스트리밍 미디어의 재생 위치를 포함할 수 있다. 즉, 현재 미디어 재생 위치 필드(13)는 현재 스트리밍 서버(100)가 재생하고 있는 스트리밍 미디어의 현재 재생 시간(위치)에 대한 정보를 포함하며, 실질적으로 동기화에 사용되는 정보일 수 있다.
한편, 스트리밍 서버(100)의 세부적인 구성에 대해서는 추후 도 3을 참조하여 상세히 설명하도록 한다.
클라이언트(200)는, 스트리밍 미디어를 스트리밍 방식으로 재생하되, 스트리밍 서버(100)로부터 수신한 동기화 제어 패킷(10)을 이용해 재생 위치를 동기화하여 스트리밍 미디어를 재생하며, 적어도 하나 이상일 수 있다. 즉, 복수의 클라이언트(200)에서, 동일한 동기화 제어 패킷(10)을 수신하고 재생 위치를 동기화하여 스트리밍 미디어를 재생할 수 있다. 클라이언트(200)의 세부적인 구성에 대해서는 추후 도 5를 참조하여 상세히 설명하도록 한다.
도 3은 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템에서, 스트리밍 서버(100)의 세부적인 구성을 도시한 도면이다. 도 3에 도시된 바와 같이, 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템의 스트리밍 서버(100)는, 확인 모듈(110) 및 패킷 전송 모듈(120)을 포함하여 구성될 수 있다.
확인 모듈(110)은, 현재 동기화 중인 클라이언트(200)의 존재를 확인할 수 있다. 즉, 스트리밍 서버(100)에 접속하는 클라이언트(200)가 있는지 여부를 확인할 수 있고, 새롭게 접속하는 클라이언트(200)는 스트리밍 서버(100)에 재생 위치를 요청할 수 있다.
패킷 전송 모듈(120)은, 동기화 중인 클라이언트(200)의 존재가 확인되면, 확인된 클라이언트(200)에 동기화 제어 패킷(10)을 전송할 수 있다. 즉, 패킷 전송 모듈(120)은, 클라이언트(200)가 요청한 재생 위치의 정보가 포함된 동기화 제어 패킷(10)을 클라이언트(200)에 전송할 수 있다.
도 4는 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템에서, 스트리밍 서버(100) 측의 동기화 재생 과정을 도시한 도면이다. 도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템의 스트리밍 서버(100)는, 현재 표준시간을 저장하고 미디어가 재생되고 있는 위치를 질의하여 저장할 수 있다. 이후에 스트리밍 서버(100)의 미디어 재생 위치가 변경되거나 동기화 상태를 확인하기 위해 주기적으로 모든 클라이언트(200)들에게 도 2에 도시된 바와 같은 형식의 동기화 제어 패킷(10)을 전송할 수 있다.
이때, 재생 위치가 변경되어 전송된 동기화 제어 패킷(10)이면, 플레이 타임 무브먼트 필드(11)에 표시하여 클라이언트(200)들에 스트리밍 서버(100)의 재생 위치가 변경되었음을 알릴 수 있다. 동기화 제어 패킷(10)을 전송받은 클라이언트(200)들은 스트리밍 서버(100)의 재생 위치로 자신의 재생 위치를 변경시킬 수 있다.
여기에서 클라이언트(200)는, 지연 시간을 고려하여 동기화된 재생 위치에서 재생을 시작할 수 있다. 예를 들어, 전술한 바와 같이 스트리밍 서버(100)로부터 수신한 동기화 제어 패킷(10)에 포함된 재생 위치가 변경된 경우, 클라이언트(200)는 변경된 재생 위치로 위치를 변경하고 지연 시간 동안 대기한 다음 재생을 시작할 수 있다. 즉, 스트리밍 서버(100)와 클라이언트(200)들 모두 재생을 일시 중지하고 지연 시간만큼 대기 후, 변경된 재생 위치에서 다시 재생을 시작할 수 있다.
이때, 지연 시간은, 네트워크 연결시간(Socket connection time), 동기화 제어 패킷(10) 송수신 시간(Packet send & receive time), 동기화 처리 시간(Application time) 및 스트리밍 데이터 수신시간(Pseudo-streaming time)의 총합일 수 있으며, 스트리밍 서버(100)와 클라이언트(200) 등 모든 디바이스에 동일한 값으로 적용될 수 있다. 스트리밍 서버(100)에서는 동기화 제어 패킷(10)을 통해 전달받은 표준시간과 각 클라이언트(200)들의 표준시간 차를 계산하고, 지연 시간을 이용하여 동시에 재생을 다시 재개해야할 시각을 계산할 수 있다.
한편, 스트리밍 서버(100)는, 미리 정해진 시간 간격으로 주기적으로 클라이언트(200)에 동기화 제어 패킷(10)을 전송하여, 동기화 상태를 확인할 수 있다. 보다 구체적으로 설명하면, 먼저 스트리밍 서버(100)의 확인 모듈(110)이 현재 동기화 중인 클라이언트(200)들이 존재하는지 확인한다. 만약 동기화 중인 클라이언트(200)가 존재하면, 패킷 전송 모듈(120)이 각 클라이언트(200)들에게 동기화 제어 패킷(10)을 전송할 수 있다.
클라이언트(200)는, 스트리밍 서버(100)의 현재 재생 위치에 지연 시간만큼 더한 위치로 재생 위치를 이동시키고 지연 시간만큼 일시 정지시킬 수 있다. 만약 지연 시간이 경과하면 재생을 재개한다. 이때, 스트리밍 서버(100)는 일시 정지 없이 계속 미디어를 재생할 수 있다. 이외에도, 클라이언트(200)가 스트리밍 서버(100)에게 동기화 정보를 요청할 경우에도 동기화 제어 패킷(10)을 전송할 수 있다.
도 5는 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템에서, 클라이언트(200)의 세부적인 구성을 도시한 도면이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템의 클라이언트(200)는, 판단 모듈(210), 동기화 모듈(220) 및 재생 모듈(230)을 포함하여 구성될 수 있다.
판단 모듈(210)은, 동기화 제어 패킷(10)을 처음 수신하였는지, 동기화 제어 패킷(10)에 포함된 플레이 타임 무브먼트 필드(11)를 이용해 재생 위치가 변경되었는지 등을 판단할 수 있다. 판단 모듈(210)의 판단 결과에 따라 이하에서 상세히 설명할 동기화 모듈(220) 및 재생 모듈(230)의 구체적인 처리가 상이해질 수 있다.
동기화 모듈(220)은, 수신한 동기화 제어 패킷(10)을 이용해 재생 위치를 동기화할 수 있다. 판단 모듈(210)의 결과에 따라 구체적인 동기화 프로세스는 서로 상이할 수 있으며, 동기화 시에는 지연 시간을 고려하여 동기화할 수 있다.
재생 모듈(230)은, 스트리밍 방식으로 스트리밍 미디어를 재생할 수 있으며, 동기화 모듈(220)에 의해 동기화된 재생 위치부터 재생을 할 수 있다.
도 6은 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템에서, 클라이언트(200) 측의 동기화 재생 과정을 도시한 도면이다. 도 6에 도시된 바와 같이, 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템의 클라이언트(200)는, 먼저 재생 정보를 처음 받았는지 여부를 판단할 수 있다. 클라이언트(200)가, 스트리밍 서버(100)로부터 동기화 제어 패킷(10)을 최초로 수신한 경우, 동기화 제어 패킷(10)에 포함된 재생 위치에 지연 시간을 더한 위치에서, 지연 시간만큼 대기한 후에 재생을 시작할 수 있다.
또한, 동기화 제어 패킷(10)을 최초로 수신한 경우가 아닐 때에는, 판단 모듈(210)이 재생 위치가 변경되었는지 여부를 판단할 수 있다. 재생 위치가 변경되지 않은 경우, 클라이언트(200)는 스트리밍 서버(100)로부터 수신한 동기화 제어 패킷(10)에 포함된 재생 위치와 스트리밍 미디어를 재생 중인 위치를 비교하여 동기화할 수 있다. 즉, 스트리밍 서버(100)가 동기화 상태를 확인하기 위해 주기적으로 전송하는 동기화 제어 패킷(10)인 경우에는, 스트리밍 서버(100)와 클라이언트(200)의 재생 위치를 비교하여 동기화를 맞추며, 구체적인 동기화 과정은 서버 측 알고리즘과 동일할 수 있다.
클라이언트(200)는 스트리밍 서버(100)로부터 수신한 동기화 제어 패킷(10)에 포함된 재생 위치가 변경된 경우에는, 변경된 재생 위치로 위치를 변경하고 지연 시간 동안 대기한 다음 재생을 시작할 수 있다. 이때, 동기화 제어 패킷(10)은 모든 클라이언트(200)에 전송되어, 모든 클라이언트(200)가 동일한 재생 위치로 변경하여 동시에 재생을 시작할 수 있다.
한편, 스트리밍 서버(100) 및 클라이언트(200)는, 스트리밍 미디어의 재생 위치 동기화 및 스트리밍 방식의 재생을 위한 애플리케이션을 이용하여 재생 위치를 동기화할 수 있다. 즉, 도 1에 도시된 바와 같이, 스트리밍 서버(100)와 클라이언트(200)는 동일한 형태의 디바이스일 수 있으며, 애플리케이션을 실행하여 서버로 선택된 디바이스가 스트리밍 서버(100)의 역할을 할 수 있다.
스트리밍 서버(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)에 설치되는 애플리케이션은, 통신망 등에서 운영되는 애플리케이션 서버에서 관리하는 설치 프로그램에 의하여 설치된 실행 프로그램일 수 있다.
도 7은 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 방법의 흐름을 도시한 도면이다. 도 7에 도시된 바와 같이, 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 방법은, 스트리밍 서버(100)가 현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장하고 동기화 제어 패킷(10)을 클라이언트(200)에 전송하는 단계(S100) 및 클라이언트(200)가 동기화 제어 패킷(10)을 이용해 재생 위치를 동기화하여 스트리밍 미디어를 재생하는 단계(S200)를 포함하여 구현될 수 있다.
단계 S100에서는, 스트리밍 서버(100)가 현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장하고, 재생 위치가 포함된 동기화 제어 패킷(10)을 적어도 하나 이상의 클라이언트(200)에 전송할 수 있다.
단계 S200에서는, 동기화 제어 패킷(10)을 수신한 클라이언트(200)가, 동기화 제어 패킷(10)을 이용해 재생 위치를 동기화하여 스트리밍 미디어를 스트리밍 방식으로 재생할 수 있다.
도 8은 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 방법에서, 단계 S100의 세부적인 흐름을 도시한 도면이다. 도 8에 도시된 바와 같이, 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 방법은, 현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장하는 단계(S110), 현재 동기화 중인 클라이언트(200)의 존재를 확인하는 단계(S120) 및 확인된 클라이언트(200)에 동기화 제어 패킷(10)을 전송하는 단계(S130)를 포함하여 구현될 수 있다.
단계 S110에서는, 스트리밍 서버(100)가 현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장할 수 있다. 저장된 현재 표준시간 및 재생 위치에 대한 정보는, 동기화 제어 패킷(10)에 포함되어 클라이언트(200)에 전송됨으로써, 재생 위치의 동기화에 활용될 수 있다.
단계 S120에서는, 스트리밍 서버(100)가 현재 동기화 중인 클라이언트(200)의 존재를 확인할 수 있다. 단계 S120은 스트리밍 서버(100)의 확인 모듈(110)에 의해 구현될 수 있다.
단계 S130에서는, 단계 S120에서 동기화 중인 클라이언트(200)의 존재가 확인되면, 스트리밍 서버(100)가 확인된 클라이언트(200)에 동기화 제어 패킷(10)을 전송할 수 있다. 단계 S130은 스트리밍 서버(100)의 패킷 전송 모듈(120)에 의해 구현될 수 있다.
도 9는 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법을 이용한 동기화 재생 실험 환경을 도시한 도면이다. 도 9에 도시된 바와 같이, 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법을 실험하기 위하여, 무선접속점(Wireless access point) 장치를 사용하여 IEEE 802.11 네트워크를 구성하고 스트리밍 서버(100)와 클라이언트(200)들을 무선접속점에 연결하여 네트워크를 구성하였다. 본 발명에서는, 동기화 제어 데이터와 미디어 스트리밍 데이터를 구분하는 outband 방식을 이용한다.
한편, 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법을 애플리케이션 형태로 구현하여 스트리밍 서버(100) 및 클라이언트(200)에 적용하였다. 애플리케이션은, 안드로이드(Android) 기반으로 구현되었으며, Eclipse(adt-bundle-windows 20140321)와 JDK(Java Platform 8u5)를 사용하였다. 실험 기기는 삼성전자 갤럭시 플레이어 5.8(Android OS 4.0.4, Icecream Sandwich) 3대를 사용하였고, 동기화를 위해 모든 기기의 시간을 표준시간으로 동기화하였다. 개발 관련 라이브러리로는 Android 기본 API와 오픈소스 라이선스를 가진 NanoHTTPD를 활용하였다.
스트리밍 방법으로는 미디어 재생 중에 재생 위치를 변경할 수 있는 HTTP Pseudo-streaming 방식을 사용하였다. NanoHTTPD에 Android 내부 API인 File, FileOutputStream, BufferedWriter를 추가하여 HTTP Pseudo-streaming을 구현하였다. 클라이언트(200)로 스트리밍 된 미디어 데이터는 Android 내부 API인 MediaPlayer를 통해서 재생된다.
스트리밍 서버(100)와 클라이언트(200) 간의 동기화 재생을 위한 동기화 제어 패킷(10)은 신뢰성 있는 전송을 위하여 TCP 소켓 통신을 이용하였다. 스트리밍 서버(100)는 언제든지 동기화 제어 패킷(10)을 전송할 수 있도록 대기하고, 클라이언트(200)들이 스트리밍 서버(100)에게 동기화 제어 정보를 요청하면 동기화 제어 패킷(10)을 송신한다.
도 10은 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법이 구현된 애플리케이션의 동작 흐름을 도시한 도면이다. 도 10에 도시된 바와 같이, 본 발명의 일실시예에 따른 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법을, 도 9에 도시된 바와 같은 실험 환경에서 애플리케이션을 통해 구현할 수 있다.
스트리밍 서버(100)와 클라이언트(200)를 포함하는 모든 기기들이 동일한 네트워크에 연결되어 있는 상태에서 애플리케이션이 실행되면, 서버 모드를 선택하여 스트리밍 서버(100)를 설정할 수 있다. 즉, 애플리케이션에서 서버 모드를 선택하면 스트리밍 미디어의 동기화 그룹이 생성되고, 서버 모드를 선택한 기기가 스트리밍 서버(100)가 된다. 서버를 선택하지 않은 경우에는 클라이언트 모드가 되어, 다른 스트리밍 서버(100)가 생성한 동기화 그룹에 참가하여 클라이언트(200) 역할을 할 수 있다. 스트리밍 서버(100)와 클라이언트(200)들은 자신이 접속하고 있는 그룹의 멤버들을 모두 확인할 수 있다.
스트리밍 서버(100)에서 스트리밍 및 동기화 재생을 하고 싶은 미디어를 선택하고 실행하면, 스트리밍 서버(100)에서 미디어를 재생하면서 클라이언트(200)들에 미디어를 스트리밍 할 수 있는 상태가 된다. 클라이언트(200)들은 스트리밍 서버(100)에서 스트리밍 중인 미디어를 동기화 재생할 수 있는 선택권이 주어진다. 스트리밍 서버(100)는 미디어 스트리밍 시 클라이언트(200)들에서 재생 중인 미디어의 재생 위치를 제어할 수 있다. 스트리밍 서버(100)가 미디어 스트리밍을 종료하면 클라이언트(200)들도 미디어 재생을 중지한다.
한편, 본 발명은 다양한 통신 단말기로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터에서 판독 가능한 매체를 포함할 수 있다. 예를 들어, 컴퓨터에서 판독 가능한 매체는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD_ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
이와 같은 컴퓨터에서 판독 가능한 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 이때, 컴퓨터에서 판독 가능한 매체에 기록되는 프로그램 명령은 본 발명을 구현하기 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예를 들어, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.
10: 동기화 제어 패킷 11: 플레이 타임 무브먼트 필드
12: 현재 표준시간 필드 13: 현재 미디어 재생 위치 필드
100: 스트리밍 서버 110: 확인 모듈
120: 패킷 전송 모듈 200: 클라이언트
210: 판단 모듈 220: 동기화 모듈
230: 재생 모듈
S100: 스트리밍 서버가 현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장하고 동기화 제어 패킷을 클라이언트에 전송하는 단계
S110: 현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장하는 단계
S120: 현재 동기화 중인 클라이언트의 존재를 확인하는 단계
S130: 확인된 클라이언트에 동기화 제어 패킷을 전송하는 단계
S200: 클라이언트가 동기화 제어 패킷을 이용해 재생 위치를 동기화하여 스트리밍 미디어를 재생하는 단계

Claims (20)

  1. 현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장하고, 상기 재생 위치가 포함된 동기화 제어 패킷(10)을 클라이언트(200)에 전송하는 스트리밍 서버(100); 및
    상기 스트리밍 미디어를 스트리밍 방식으로 재생하되, 상기 스트리밍 서버(100)로부터 수신한 동기화 제어 패킷(10)을 이용해 재생 위치를 동기화하여 상기 스트리밍 미디어를 재생하는 적어도 하나 이상의 클라이언트(200)를 포함하며,
    상기 스트리밍 서버(100) 및 클라이언트(200)는,
    상기 스트리밍 미디어의 재생 위치 동기화 및 스트리밍 방식의 재생을 위한 애플리케이션을 이용하여 재생 위치를 동기화하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 시스템.
  2. 제1항에 있어서, 상기 동기화 제어 패킷(10)은,
    재생 위치의 변경 여부를 구분하는 플레이 타임 무브먼트(Play time movement) 필드(11);
    동기화 기준점으로서 상기 스트리밍 서버(100)에 저장된 현재 표준시간이 입력되는 현재 표준시간(Current standard time) 필드(12); 및
    상기 스트리밍 미디어의 재생 위치를 포함하는 현재 미디어 재생 위치(Current media play position) 필드(13)를 포함하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 시스템.
  3. 제1항에 있어서, 상기 스트리밍 서버(100)는,
    현재 동기화 중인 클라이언트(200)의 존재를 확인하는 확인 모듈(110); 및
    동기화 중인 클라이언트(200)의 존재가 확인되면, 상기 확인된 클라이언트(200)에 상기 동기화 제어 패킷(10)을 전송하는 패킷 전송 모듈(120)을 포함하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 시스템.
  4. 제1항에 있어서, 상기 클라이언트(200)는,
    지연 시간을 고려하여 동기화된 재생 위치에서 재생을 시작하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 시스템.
  5. 제4항에 있어서, 상기 지연 시간은,
    네트워크 연결시간(Socket connection time), 동기화 제어 패킷(10) 송수신 시간(Packet send & receive time), 동기화 처리 시간(Application time) 및 스트리밍 데이터 수신시간(Pseudo-streaming time)의 총합인 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 시스템.
  6. 제4항에 있어서, 상기 클라이언트(200)가,
    상기 스트리밍 서버(100)로부터 동기화 제어 패킷(10)을 최초로 수신한 경우, 상기 동기화 제어 패킷(10)에 포함된 재생 위치에 상기 지연 시간을 더한 위치에서, 상기 지연 시간만큼 대기한 후에 재생을 시작하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 시스템.
  7. 제4항에 있어서, 상기 클라이언트(200)는,
    상기 스트리밍 서버(100)로부터 수신한 동기화 제어 패킷(10)에 포함된 재생 위치가 변경된 경우, 상기 변경된 재생 위치로 위치를 변경하고 지연 시간 동안 대기한 다음 재생을 시작하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 시스템.
  8. 제1항에 있어서, 상기 스트리밍 서버(100)는,
    미리 정해진 시간 간격으로 주기적으로 상기 클라이언트(200)에 상기 동기화 제어 패킷(10)을 전송하여, 동기화 상태를 확인하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 시스템.
  9. 제8항에 있어서, 상기 클라이언트(200)는,
    상기 스트리밍 서버(100)로부터 수신한 동기화 제어 패킷(10)에 포함된 재생 위치와 상기 스트리밍 미디어를 재생 중인 위치를 비교하여 동기화하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 시스템.
  10. 삭제
  11. 스트리밍 미디어의 재생 방법으로서,
    (1) 스트리밍 서버(100)가, 현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장하고, 상기 재생 위치가 포함된 동기화 제어 패킷(10)을 적어도 하나 이상의 클라이언트(200)에 전송하는 단계; 및
    (2) 상기 동기화 제어 패킷(10)을 수신한 클라이언트(200)가, 상기 동기화 제어 패킷(10)을 이용해 재생 위치를 동기화하여 상기 스트리밍 미디어를 스트리밍 방식으로 재생하는 단계를 포함하며,
    상기 스트리밍 서버(100) 및 클라이언트(200)는,
    상기 스트리밍 미디어의 재생 위치 동기화 및 스트리밍 방식의 재생을 위한 애플리케이션을 이용하여 재생 위치를 동기화하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 방법.
  12. 제11항에 있어서, 상기 동기화 제어 패킷(10)은,
    재생 위치의 변경 여부를 구분하는 플레이 타임 무브먼트(Play time movement) 필드(11);
    동기화 기준점으로서 상기 스트리밍 서버(100)에 저장된 현재 표준시간이 입력되는 현재 표준시간(Current standard time) 필드(12); 및
    상기 스트리밍 미디어의 재생 위치를 포함하는 현재 미디어 재생 위치(Current media play position) 필드(13)를 포함하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 방법.
  13. 제11항에 있어서, 상기 단계 (1)은, 상기 스트리밍 서버(100)가,
    (1-1) 현재 표준시간 및 스트리밍 미디어의 재생 위치를 저장하는 단계;
    (1-2) 현재 동기화 중인 클라이언트(200)의 존재를 확인하는 단계; 및
    (1-3) 동기화 중인 클라이언트(200)의 존재가 확인되면, 상기 확인된 클라이언트(200)에 상기 동기화 제어 패킷(10)을 전송하는 단계를 포함하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 방법.
  14. 제11항에 있어서, 상기 단계 (2)에서는,
    상기 클라이언트(200)가 지연 시간을 고려하여 동기화된 재생 위치에서 재생을 시작하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 방법.
  15. 제14항에 있어서, 상기 지연 시간은,
    네트워크 연결시간(Socket connection time), 동기화 제어 패킷(10) 송수신 시간(Packet send & receive time), 동기화 처리 시간(Application time) 및 스트리밍 데이터 수신시간(Pseudo-streaming time)의 총합인 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 방법.
  16. 제14항에 있어서, 상기 단계 (2)에서는,
    상기 클라이언트(200)가 스트리밍 서버(100)로부터 동기화 제어 패킷(10)을 최초로 수신한 경우, 상기 동기화 제어 패킷(10)에 포함된 재생 위치에 상기 지연 시간을 더한 위치에서, 상기 지연 시간만큼 대기한 후에 재생을 시작하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 방법.
  17. 제14항에 있어서, 상기 단계 (2)에서는,
    상기 스트리밍 서버(100)로부터 수신한 동기화 제어 패킷(10)에 포함된 재생 위치가 변경된 경우, 상기 변경된 재생 위치로 위치를 변경하고 지연 시간 동안 대기한 다음 재생을 시작하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 방법.
  18. 제11항에 있어서, 상기 단계 (1)에서는,
    미리 정해진 시간 간격으로 주기적으로 상기 클라이언트(200)에 상기 동기화 제어 패킷(10)을 전송하여, 동기화 상태를 확인하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 방법.
  19. 제18항에 있어서, 상기 단계 (2)에서는,
    상기 스트리밍 서버(100)로부터 수신한 동기화 제어 패킷(10)에 포함된 재생 위치와 상기 스트리밍 미디어를 재생 중인 위치를 비교하여 동기화하는 것을 특징으로 하는, 스트리밍 미디어의 실시간 동기화 재생 방법.
  20. 삭제
KR20140111932A 2014-08-26 2014-08-26 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법 KR101507032B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20140111932A KR101507032B1 (ko) 2014-08-26 2014-08-26 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20140111932A KR101507032B1 (ko) 2014-08-26 2014-08-26 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101507032B1 true KR101507032B1 (ko) 2015-04-01

Family

ID=53032119

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140111932A KR101507032B1 (ko) 2014-08-26 2014-08-26 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101507032B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101988613B1 (ko) * 2018-01-10 2019-06-12 계명대학교 산학협력단 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법
KR102169808B1 (ko) * 2019-12-17 2020-10-26 한국과학기술원 단말 간 영상 프레임 동기화 방법 및 시스템
KR20220163124A (ko) * 2021-06-02 2022-12-09 김진우 주문형비디오 재생 시스템 및 주문형비디오 재생 방법
KR102624659B1 (ko) * 2023-06-01 2024-01-15 주식회사 스크리나 개인방송 환경 정보를 참조로 하여 컨텐츠의 싱크를 조정하는 방법 및 이를 이용한 서버

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040034610A (ko) * 2001-06-29 2004-04-28 인터내셔널 비지네스 머신즈 코포레이션 디지털 정보의 효율적인 전송 및 재생
KR20050019880A (ko) * 2002-07-16 2005-03-03 노키아 코포레이션 멀티미디어 스트리밍에서 패킷 전달 지연 보상을 가능하게하기 위한 방법
KR20050114659A (ko) * 2003-03-28 2005-12-06 톰슨 라이센싱 미디어 기반 파일 송신 시스템 및 방법
KR20060135939A (ko) * 2004-05-07 2006-12-29 노키아 코포레이션 스트리밍 서비스의 개선된 품질 궤환

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040034610A (ko) * 2001-06-29 2004-04-28 인터내셔널 비지네스 머신즈 코포레이션 디지털 정보의 효율적인 전송 및 재생
KR20050019880A (ko) * 2002-07-16 2005-03-03 노키아 코포레이션 멀티미디어 스트리밍에서 패킷 전달 지연 보상을 가능하게하기 위한 방법
KR20050114659A (ko) * 2003-03-28 2005-12-06 톰슨 라이센싱 미디어 기반 파일 송신 시스템 및 방법
KR20060135939A (ko) * 2004-05-07 2006-12-29 노키아 코포레이션 스트리밍 서비스의 개선된 품질 궤환

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101988613B1 (ko) * 2018-01-10 2019-06-12 계명대학교 산학협력단 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법
WO2019139184A1 (ko) * 2018-01-10 2019-07-18 계명대학교 산학협력단 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법
KR102169808B1 (ko) * 2019-12-17 2020-10-26 한국과학기술원 단말 간 영상 프레임 동기화 방법 및 시스템
KR20220163124A (ko) * 2021-06-02 2022-12-09 김진우 주문형비디오 재생 시스템 및 주문형비디오 재생 방법
KR102506552B1 (ko) * 2021-06-02 2023-03-06 김진우 주문형비디오 재생 시스템 및 주문형비디오 재생 방법
KR102624659B1 (ko) * 2023-06-01 2024-01-15 주식회사 스크리나 개인방송 환경 정보를 참조로 하여 컨텐츠의 싱크를 조정하는 방법 및 이를 이용한 서버

Similar Documents

Publication Publication Date Title
KR101511881B1 (ko) 원격 장치 상에서의 적응성 미디어 콘텐츠 스크러빙
JP6490654B2 (ja) 生放送でタイムマシン機能を提供する方法およびシステム
CN108028787B (zh) 媒体回放的协调控制
JP6662784B2 (ja) 無線通信システムにおけるアプリケーションデータを表示するための方法及び装置
US20130124664A1 (en) Coordinating media presentations among peer devices
KR101507032B1 (ko) 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법
CN103957218A (zh) 共享媒体播放的方法和系统
WO2017096851A1 (zh) 一种推送视频文件的方法、系统和服务器
US20220210502A1 (en) Methods, systems, and media for providing dynamic media sessions
US11553254B2 (en) Methods, systems, and media for providing dynamic media sessions with audio stream expansion features
WO2020253452A1 (zh) 直播间状态消息的推送方法、交互内容的切换方法、装置及设备
EP3105930A1 (en) Synchronising playing of streaming content on plural streaming clients
US10104422B2 (en) Multimedia playing control method, apparatus for the same and system
EP4087261A1 (en) Device discovery for social playback
TW201220782A (en) Method and system for playing multimedia file and computer program product using the method
JP5811426B1 (ja) 音声データ送受信システム
KR101783723B1 (ko) 생중계에서 타임머신 기능을 제공하는 방법 및 시스템
US20210344973A1 (en) Method and apparatus for providing audio and video within an acceptable delay tolerance
KR101672253B1 (ko) 휴대용 단말기에서 스트리밍 서비스를 제공하기 위한 장치 및 방법
AU2015221545B2 (en) Adaptive media content scrubbing on a remote device
EE et al. Published

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180425

Year of fee payment: 4