WO2019139184A1 - System and method for synchronizing media streaming groups in hierarchical streaming network - Google Patents

System and method for synchronizing media streaming groups in hierarchical streaming network Download PDF

Info

Publication number
WO2019139184A1
WO2019139184A1 PCT/KR2018/000487 KR2018000487W WO2019139184A1 WO 2019139184 A1 WO2019139184 A1 WO 2019139184A1 KR 2018000487 W KR2018000487 W KR 2018000487W WO 2019139184 A1 WO2019139184 A1 WO 2019139184A1
Authority
WO
WIPO (PCT)
Prior art keywords
event
client device
synchronization
media
streaming
Prior art date
Application number
PCT/KR2018/000487
Other languages
French (fr)
Korean (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 계명대학교 산학협력단
Publication of WO2019139184A1 publication Critical patent/WO2019139184A1/en

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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-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/47217End-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

Definitions

  • the present invention relates to a synchronization system and method, and more particularly, to a system and method for synchronizing media streaming groups in a hierarchical streaming network.
  • a hierarchical streaming network in which a media source device acting as a media server performs media streaming to at least one or more other client devices, the method comprising: sharing a playback location of the media source device with client devices to reproduce the same media location, This is called group synchronization in a streaming network.
  • the present invention has been proposed in order to solve the above-mentioned problems of the previously proposed methods, and it is an object of the present invention to provide a method and apparatus for controlling a performance of a hardware and a process running in the background, A control section that calculates a difference between a reproduction position and an actual reproduction position locally expected at a current time and corrects the reproduction position with respect to a control error generated locally so as to minimize the transmission of the synchronization control packet while maintaining high synchronization accuracy, It is an object of the present invention to provide a system and method for synchronizing a media streaming group in a streaming network.
  • the present invention is not only to recalibrate the error occurring in the local reproduction position correction by performing synchronization in a rare but periodic manner even in a situation in which no reproduction event occurs, i.e., even in a situation in which event-based synchronization is not applied,
  • the present invention is directed to a system and method for synchronizing media streaming groups in a hierarchical streaming network capable of performing location correction against a loss event of a synchronization control packet for a moving event of a media streaming group.
  • a media streaming group synchronization system in a hierarchical streaming network there is provided a media streaming group synchronization system in a hierarchical streaming network
  • a synchronization control packet 10 including a type of an event, a time of occurrence of an event, and a playback position of a streaming media to the client device (200) );
  • At least one client device for reproducing the streaming media by synchronizing a reproduction state according to a type of an event using the synchronization control packet (10) received from the media source device (100) (200)
  • the at least one client device (200) is the at least one client device.
  • the type of the event includes:
  • said at least one client device (200) is a smartphone.
  • the reproduction control unit 10 refers to the reproduction position of the streaming media of the received synchronization control packet 10, It is necessary to wait until the buffering is completed. After completion of the buffering, the time elapsed from the time of occurrence of the event to correct the buffering time and the transmission time of the synchronization control packet (10) The time can be calculated to correct the playback position and start playback.
  • said at least one client device (200) is a smartphone.
  • the reproduction position can be corrected by the following equation.
  • P e is an event-based synchronization correction position
  • P s is a playback position of the media source device
  • T c is a buffering completion time
  • T s is an event generation time
  • T o is a NTP Respectively.
  • said at least one client device (200) is a smartphone.
  • the local reproduction position error correction can be performed by correcting the position by calculating the difference between the currently expected reproduction position and the actual reproduction position locally.
  • the at least one client device (200) More preferably, the at least one client device (200)
  • the local reproduction position error occurring after the last time of synchronizing the reproduction state according to the type of the event can be corrected using the synchronization control packet 10 received from the media source device 100.
  • said at least one client device (200) is a smartphone.
  • the local reproduction position error can be corrected by the following equation.
  • P l is the expected play position in the current time
  • P e is the last event-based synchronization correction
  • T l is the current time
  • T e represents the last event in each time based on the synchronization correction
  • the media source device (100) Preferably, the media source device (100)
  • the synchronization control packet (10) More preferably, the synchronization control packet (10)
  • the media source device 100 transmits to the client device 200 a synchronization control packet 10 including the type of event, the time of occurrence of the event, and the playback position of the streaming media, with respect to the generated event step;
  • the at least one client device 200 synchronizes the reproduction state according to the type of the event using the synchronization control packet 10 received from the media source device 100 in the step (1) , ≪ / RTI &
  • the at least one client device 200 further performs local playback position error correction at predetermined intervals.
  • the type of the event includes:
  • the at least one client device (200) can correct the reproduction position by the following equation.
  • P e is an event-based synchronization correction position
  • P s is a playback position of the media source device
  • T c is a buffering completion time
  • T s is an event generation time
  • T o is a NTP Respectively.
  • the at least one client device 200 may perform regional playback position error correction by correcting the position by calculating the difference between the currently expected playback position and the actual playback position.
  • step (3) More preferably, in the step (3)
  • the at least one client device 200 may use the synchronization control packet 10 received from the media source device 100 to generate a local playback position error that occurs after the last time of synchronizing the playback state, Lt; / RTI >
  • the at least one client device 200 may correct the local playback position error by the following equation.
  • P l is the expected play position in the current time
  • P e is the last event-based synchronization correction
  • T l is the current time
  • T e represents the last event in each time based on the synchronization correction
  • the media source device 100 transmits the synchronization control packet 10 to the client device 200 at a predetermined period in a situation in which no playback event occurs, thereby adding the playback position of the client device 200 And a step of correcting the correction value.
  • the synchronization control packet (10) More preferably, the synchronization control packet (10)
  • synchronization is performed rarely but periodically even in a situation in which no playback event occurs, i.e., even in a situation in which event-based synchronization is not applied, so as to not only recalibrate the error occurring in the local playback position correction, It is possible to perform the position correction for the movement event of the position against the loss of the synchronization control packet.
  • FIG. 1 illustrates a configuration of a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention
  • Figure 2 illustrates the format of a synchronization control packet (10) used in a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention.
  • FIG. 3 is a diagram for explaining an event-based synchronization process in a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention.
  • FIG. 4 is a diagram for explaining a process of local playback position error correction in a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention
  • FIG. 5 is a diagram for explaining a rare periodic synchronization process in a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention
  • FIG. 6 is a flow diagram illustrating a method for synchronizing media streaming groups in a hierarchical streaming network according to an embodiment of the present invention.
  • Figure 7 is a flow diagram further comprising a rare periodic synchronization step in a method of synchronizing media streaming groups in a hierarchical streaming network according to an embodiment of the present invention.
  • S100 transmitting, to the at least one client device, a synchronization control packet including a type of an event, an occurrence time of the event, and a playback position of the streaming media, with respect to the generated event
  • At least one client device synchronizes the reproduction state according to the kind of event using the synchronization control packet received from the media source device in step S100
  • At least one client device performs further local playback position error correction at predetermined intervals
  • the media source device transmits a synchronization control packet to the client device at a predetermined period in a situation where no playback event occurs, and further corrects the playback position of the client device
  • a media streaming group synchronization system in a hierarchical streaming network may include a media source device 100 and a client device 200.
  • the media source device 100 transmits the synchronization control packet 10 to at least one or more client devices 200
  • the client device 200 synchronizes the playback position using the synchronization control packet 10 To play streaming media.
  • a plurality of client devices 200 can reproduce the same streaming media at the same position at the same time.
  • the media source device 100 plays a role of a media server and transmits a synchronization control packet 10 including a type of an event, a time of occurrence of an event, and a playback position of a streaming media to the client device 200, Lt; / RTI >
  • the synchronization control packet 10 is a packet including synchronization control information, and is a packet exchanged between the media source device 100 and the client device 200.
  • a synchronization control packet 10 of a media streaming group synchronization system in a hierarchical streaming network includes a Play status field, a Device time field, ) Field, a Play position field, and an Extra field.
  • the playback status field indicates a playback status of the current server and a request status of a streaming client to participate in group synchronization. As shown in FIG. 2, the value of the playback status field includes "JOIN”, “JOIN_ACK”, “PLAY”, “SEEK”, “PAUSE”, “RESUME”, “STOP”, and “UPDATE” Is possible.
  • the Extra field includes a device ID, a media size, a media duration, a local playback adjustment interval, An interval (Periodic sync. Interval), and a current device height (MDT level) in the media distribution tree.
  • PLAY”, “SEEK”, “PAUSE”, “RESUME”, and “STOP” indicate the playback start, playback position shift, pause, restart, and stop event of the media source device, respectively.
  • UPDATE is used when the media source device updates the media buffering status to the client device connected to the media source device. The client device updates the buffer fragmented stream fragment state to inform that the stream fragment request is possible.
  • the device time field stores the time when the event occurred.
  • the Play Position field the playback position at the time when the event occurs is stored, and the unit is milliseconds (ms).
  • the client device 200 can reproduce the streaming media by reproducing the streaming media in a streaming manner and synchronize the reproduction state according to the type of the event using the synchronization control packet 10 received from the media source device 100 .
  • the client device 200 can perform local playback position error correction at predetermined intervals, thereby minimizing the transmission of the synchronization control packet 10 while maintaining high synchronization accuracy. Local playback position error correction will be described in detail later.
  • the client device 200 may be at least one.
  • the types of events may include 'start playback', 'pause', 'restart', 'stop', 'move playback position' as shown in FIG. no.
  • the client devices 200 refers to the reproduction position of the streaming media of the received synchronization control packet 10 If buffering is not completed, the streaming data is requested and waited until the buffering is completed. If buffering is completed, the buffering time and the transmission time of the synchronization control packet 10 In order to correct the time, the elapsed time from the event occurrence time may be calculated to correct the playback position and start playback.
  • the media source device 100 and the client device 200 first perform event-based synchronization.
  • the event-driven synchronization means that when an event such as "start playback”, “pause”, “restart”, “stop”, “move playback position” occurs in the media source device 100
  • the media source device 100 transmits the synchronization control packet 10 to the media client devices 200 by transmitting the time and event type of the event and the playback position to the media client devices 200,
  • the devices 200 means to synchronize the reproduction state according to the kind of the event.
  • FIG. 3 is a diagram for explaining an event-based synchronization process in a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention.
  • the reproduction position of the media player is searched for and moved by referring to the reproduction position of the synchronization control packet 10.
  • the playback position does not complete buffering, it requests stream data and waits until buffering is completed.
  • the elapsed time from the time when the event occurs to correct the time required for buffering and the transmission time of the synchronization control packet 10 is calculated to correct the playback position and start playback.
  • the following equation (1) represents a reproduction position correction formula for event-based synchronization.
  • P e is an event-based synchronization correction position
  • P s is a playback position of the media source device
  • T c is a buffering completion time
  • T s is an event occurrence time
  • T o is an NTP
  • the synchronization precision may be gradually lowered due to the reproduction delay occurring in the media reproduction process. In order to compensate for this, it is possible to request the media source device 100 for the current playback position. However, in a situation where a plurality of devices are simultaneously streaming, transmission of the frequent synchronization control packet 10 may increase network congestion.
  • the client device 200 performing the event-based synchronization performs local playback position error correction .
  • the client device 200 can perform local reproduction position error correction by correcting the position by calculating the difference between the currently expected reproduction position and the actual reproduction position locally.
  • the client device 200 uses the synchronization control packet 10 received from the media source device 100 to correct a local playback position error occurring after the last time of synchronizing the playback state according to the event type . That is, through the local reproduction position error correction, the reproduction position error occurring after the last event-based synchronization point is corrected.
  • a media streaming group synchronization system in a hierarchical streaming network may include a media streaming group synchronization system, The synchronization accuracy can be maintained by minimizing the transmission of the synchronization control packet 10 through the local reproduction position error correction.
  • the local playback position error correction is performed using the following equation (2).
  • Equation (2) P 1 represents the reproduction position expected at the current time, P e represents the last event-based synchronization correction position, T 1 represents the current time, and T e represents the last event-based synchronization correction time. Also, fps represents the number of frames per second of the streaming media.
  • the playback time per frame is set so that the calculated playback position indicates the playback position of the next frame And correct it. This process is not necessary for event-based synchronization because the media player automatically corrects the position of the next frame when the playback position is moved using the player search bar of the media source device 100.
  • the predetermined interval value may be stored in the Extra field of the synchronization control packet 10 as described above with reference to FIG.
  • the media source device 100 transmits the synchronization control packet 10 to the client device 200 at a predetermined period in a situation where no playback event occurs,
  • the playback position of the device 200 can be further corrected. This procedure is referred to as " rare periodic synchronization " in the present invention and is intended to supplement the local reproduction position error correction process.
  • a media streaming group synchronization system in a hierarchical streaming network according to an exemplary embodiment of the present invention includes a media streaming group synchronization system, It is rarely periodically checked and corrected whether the local reproduction position error correction of the recording medium 100 is operating precisely.
  • the synchronization control packet 10 for the movement event of the reproduction position is lost, the synchronization control packet 10 is supplemented.
  • Equation (1) for rare periodic synchronization correction is the same as Equation (1), which is a moving event correction mathematical expression of the reproduction position of the event-based synchronization.
  • the media source device 100 and the client device 200 may be implemented by any type of portable terminal or computer capable of installing an application.
  • the portable terminal is a wireless communication device that is guaranteed to be portable and mobility, and can be used as a personal communication system (PCS), a global system for mobile communications (GSM), a personal digital cellular (PDC), a personal handyphone system (PHS) Handheld devices such as a handheld device, an assistant, an IMT (International Mobile Telecommunication) -2000, a Code Division Multiple Access (CDMA) -2000, a W-CDMA ) Based wireless communication device, and the computer may include a desktop, a notebook, a laptop, or the like, on which a WEB Browser is mounted. It may also be a smart device such as a smart phone, a smart note, a tablet PC, a smart camera, a smart TV, or a wearable computer.
  • a smart device such as a smart phone, a smart note, a tablet PC, a smart camera, a smart TV, or a
  • the application installed in the media source device 100 and the client device 200 may be an executable program installed by an installation program managed by an application server operated in a communication network or the like.
  • a media streaming group synchronization method in a hierarchical streaming network includes a media source device 100 serving as a media server, at least one client device 200 A media streaming group synchronizing method in a hierarchical streaming network for performing media streaming on a media streaming network, wherein the media source device (100) (S100) to the at least one client device (200); And at least one client device (200) synchronizing the playback status according to the type of event (S200) using the synchronization control packet (10) received from the media source device (100) in step S100,
  • the at least one client device 200 may further include performing a local playback position error correction at a predetermined interval (S300).
  • the media source device 100 transmits a synchronization control packet 10 at a predetermined period in a situation where no playback event occurs (S400) further correcting the playback position of the client device (200) by transmitting it to the client device (200).
  • Figure 7 is a flow diagram further comprising a rare periodic synchronization step in a method of synchronizing media streaming groups in a hierarchical streaming network according to an embodiment of the present invention.
  • the present invention may include a computer-readable medium including program instructions for performing operations implemented in various communication terminals.
  • the computer-readable medium can be any suitable medium, such as magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD ROM, DVD, Magneto-optical media and hardware devices that are specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like.
  • Such computer-readable media may include program instructions, data files, data structures, etc., alone or in combination.
  • the program instructions recorded on the computer-readable medium may be those specially designed and configured to implement the present invention or may be those known to those skilled in the computer software.
  • it may include machine language code such as that produced by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.
  • the event-based synchronization application and the local playback position error correction in the client device And the control error generated by the process operating in the background, the reproduction position is corrected by calculating the difference between the reproduction position and the actual reproduction position which are expected locally at the current time, and thereby the transmission of the synchronization control packet Can be minimized.
  • synchronization is performed rarely but periodically even in a situation in which no playback event occurs, i.e., even in a situation in which event-based synchronization is not applied, so as to not only recalibrate the error occurring in the local playback position correction, It is possible to perform the position correction for the movement event of the position against the loss of the synchronization control packet.

Abstract

According to a system and method for synchronizing media streaming groups in a hierarchical streaming network, which is proposed by the present invention, a difference between an actual reproduction position and a local reproduction position expected at a current time can be calculated to correct a reproduction position by correcting a local reproduction position error in a client device while applying of event-based synchronization, with respect to a control error generated due to hardware performance and a process running in a background. Therefore, the present invention can minimize transmission of a synchronization control packet while maintaining high synchronization accuracy.

Description

계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법System and method for synchronizing media streaming groups in a hierarchical streaming network
본 발명은 동기화 시스템 및 방법에 관한 것으로서, 특히 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법에 관한 것이다.The present invention relates to a synchronization system and method, and more particularly, to a system and method for synchronizing media streaming groups in a hierarchical streaming network.
미디어 서버 역할을 하는 미디어 소스 기기가 적어도 하나 이상의 다른 클라이언트 기기에게 미디어 스트리밍을 수행하는 계층적 스트리밍 네트워크에 있어서, 미디어 소스 기기의 재생 위치를 클라이언트 기기들과 공유하여 동일한 미디어 위치를 재생하는 것을 계층적 스트리밍 네트워크에서의 그룹 동기화라고 한다.1. A hierarchical streaming network in which a media source device acting as a media server performs media streaming to at least one or more other client devices, the method comprising: sharing a playback location of the media source device with client devices to reproduce the same media location, This is called group synchronization in a streaming network.
밀리 초 단위의 정밀한 재생 동기를 유지하기 위해서는, 미디어 버퍼링 시간, 동기화 제어 패킷의 전송 시간, 동기화 처리 시간 등 다양한 지연 시간에 대한 재생 위치의 보정이 요구되는데, 이를 위해서는 초당 수 회에서 수십 회에 이르는 빈번한 동기화 제어 패킷의 전송이 필요하다. 그런데, 이와 같은 빈번한 동기화 제어 패킷의 전송은, 다수의 기기에 대해 미디어 스트리밍이 이루어지는 네트워크 사용량이 높은 상황에서는 오히려 네트워크 혼잡을 가중시키게 되고, 그 결과 동기화 성능을 저해시키게 되는 문제점이 있다.In order to maintain accurate reproduction synchronization in milliseconds, it is necessary to correct the reproduction position for various delay times such as a media buffering time, a synchronization control packet transmission time, and a synchronization processing time. Transmission of frequent synchronization control packets is required. However, such frequent transmission of synchronization control packets increases the network congestion in a situation where the network usage is high, in which media streaming is performed for a plurality of devices, and as a result, the synchronization performance is deteriorated.
따라서, 계층적 스트리밍 네트워크에 있어서, 동기화 정밀도를 유지하면서도 동기화 제어 패킷의 전송을 최소화할 수 있는 그룹 동기화 방법의 개발이 필요하다.Therefore, in a hierarchical streaming network, there is a need to develop a group synchronization method that can minimize the transmission of synchronization control packets while maintaining synchronization accuracy.
한편, 종래 기술로는 공개특허공보 제10-2017-0034368호(발명의 명칭: 다중 네트워크 환경 적응형 미디어 스트리밍 전송방법 및 그 장치), 등록특허공보 제10-1507032호(발명의 명칭: 스트리밍 미디어의 실시간 동기화 재생 시스템 및 방법) 등이 있다.[0004] On the other hand, as a related art, there is disclosed in Japanese Patent Application Laid-Open No. 10-2017-0034368 (entitled " Multiple Network Environment Adaptive Media Streaming Transmission Method and Apparatus "), Registered Patent Publication No. 10-1507032 Time synchronized playback system and method).
본 발명은 기존에 제안된 방법들의 상기와 같은 문제점들을 해결하기 위해 제안된 것으로서, 이벤트 기반 동기화 적용과 함께 클라이언트 기기에서의 지역적인 재생 위치 오차 보정을 통해, 하드웨어의 성능 및 백그라운드에서 동작 중인 프로세스에 의해 발생되는 제어 오차에 대하여, 지역적으로 현재 시각에 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 재생 위치를 보정함으로써, 높은 동기화 정밀도를 유지하면서도 동기화 제어 패킷의 전송을 최소화할 수 있는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법을 제공하는 것을 그 목적으로 한다.The present invention has been proposed in order to solve the above-mentioned problems of the previously proposed methods, and it is an object of the present invention to provide a method and apparatus for controlling a performance of a hardware and a process running in the background, A control section that calculates a difference between a reproduction position and an actual reproduction position locally expected at a current time and corrects the reproduction position with respect to a control error generated locally so as to minimize the transmission of the synchronization control packet while maintaining high synchronization accuracy, It is an object of the present invention to provide a system and method for synchronizing a media streaming group in a streaming network.
또한, 본 발명은, 재생 이벤트가 발생하지 않는 상황, 즉 이벤트 기반 동기화가 적용되지 않는 상황에서도, 드물지만 주기적으로 동기화를 수행함으로써, 지역적 재생 위치 보정에서 발생하는 오차를 재보정할 뿐만 아니라, 재생 위치의 이동 이벤트에 대하여 동기화 제어 패킷의 유실 시를 대비한 위치 보정을 수행할 수 있는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법을 제공하는 것을 그 목적으로 한다.The present invention is not only to recalibrate the error occurring in the local reproduction position correction by performing synchronization in a rare but periodic manner even in a situation in which no reproduction event occurs, i.e., even in a situation in which event-based synchronization is not applied, The present invention is directed to a system and method for synchronizing media streaming groups in a hierarchical streaming network capable of performing location correction against a loss event of a synchronization control packet for a moving event of a media streaming group.
상기한 목적을 달성하기 위한 본 발명의 특징에 따른, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템은,According to an aspect of the present invention, there is provided a media streaming group synchronization system in a hierarchical streaming network,
미디어 서버 역할을 수행하되, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하는 미디어 소스 기기(100); 및(100) for transmitting a synchronization control packet (10) including a type of an event, a time of occurrence of an event, and a playback position of a streaming media to the client device (200) ); And
상기 스트리밍 미디어를 스트리밍 방식으로 재생하되, 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하여 상기 스트리밍 미디어를 재생하는 적어도 하나 이상의 클라이언트 기기(200)를 포함하되,At least one client device for reproducing the streaming media by synchronizing a reproduction state according to a type of an event using the synchronization control packet (10) received from the media source device (100) (200)
상기 적어도 하나 이상의 클라이언트 기기(200)는,The at least one client device (200)
미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 수행함으로써, 높은 동기화 정밀도를 유지하면서도 동기화 제어 패킷(10)의 전송을 최소화하는 것을 그 구성상의 특징으로 한다.By performing local reproduction position error correction at predetermined intervals, it is a feature of the present invention that transmission of the synchronization control packet 10 is minimized while maintaining high synchronization accuracy.
바람직하게는, 상기 이벤트의 종류에는,Preferably, the type of the event includes:
‘재생 시작’, ‘일시 정지’, ‘재시작’, ‘멈춤’, ‘재생 위치의 이동’이 포함될 수 있다.May include 'start playback', 'pause', 'restart', 'stop', 'move playback position'.
바람직하게는, 상기 적어도 하나 이상의 클라이언트 기기(200)는,Advantageously, said at least one client device (200)
수신한 동기화 제어 패킷(10)의 이벤트의 종류가 ‘재생 위치의 이동’인 경우, 상기 수신한 동기화 제어 패킷(10)의 스트리밍 미디어의 재생 위치를 참조하여 이동하되, 해당 재생 위치가 버퍼링이 완료되지 않은 상태일 경우, 스트림 데이터를 요청하고 버퍼링이 완료될 때까지 대기한 후, 버퍼링이 완료되면 버퍼링에 소요된 시간과 동기화 제어 패킷(10)의 전송시간을 보정하기 위해 이벤트 발생 시각으로부터의 경과 시간을 계산하여 재생 위치를 보정하고 재생을 시작할 수 있다.When the type of the event of the received synchronization control packet 10 is 'movement of the reproduction position', the reproduction control unit 10 refers to the reproduction position of the streaming media of the received synchronization control packet 10, It is necessary to wait until the buffering is completed. After completion of the buffering, the time elapsed from the time of occurrence of the event to correct the buffering time and the transmission time of the synchronization control packet (10) The time can be calculated to correct the playback position and start playback.
바람직하게는, 상기 적어도 하나 이상의 클라이언트 기기(200)는,Advantageously, said at least one client device (200)
다음 수학식에 의해 재생 위치를 보정할 수 있다.The reproduction position can be corrected by the following equation.
Figure PCTKR2018000487-appb-I000001
Figure PCTKR2018000487-appb-I000001
상기 수학식에서, Pe는 이벤트 기반 동기화 보정 위치, Ps는 미디어 소스 기기의 재생 위치, Tc는 버퍼링 완료 시각, Ts는 이벤트 발생 시각, To는 NTP(Network Time Protocol) 서버를 기준으로 한 기기 간의 시각 차이를 각각 나타낸다.In the above equation, P e is an event-based synchronization correction position, P s is a playback position of the media source device, T c is a buffering completion time, T s is an event generation time, and T o is a NTP Respectively.
바람직하게는, 상기 적어도 하나 이상의 클라이언트 기기(200)는,Advantageously, said at least one client device (200)
지역적으로 현재 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 위치를 보정함으로써, 지역적인 재생 위치 오차 보정을 수행할 수 있다.The local reproduction position error correction can be performed by correcting the position by calculating the difference between the currently expected reproduction position and the actual reproduction position locally.
더욱 바람직하게는, 상기 적어도 하나 이상의 클라이언트 기기(200)는,More preferably, the at least one client device (200)
상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화한 마지막 시점 이후에 발생한 지역적인 재생 위치 오차를 보정할 수 있다.The local reproduction position error occurring after the last time of synchronizing the reproduction state according to the type of the event can be corrected using the synchronization control packet 10 received from the media source device 100. [
더욱더 바람직하게는, 상기 적어도 하나 이상의 클라이언트 기기(200)는,Even more preferably, the at least one client device (200)
다음 프레임의 재생 위치를 나타내도록 프레임 당 재생 시간을 구하여 추가로 보정할 수 있다.It is possible to obtain the reproduction time per frame so as to indicate the reproduction position of the next frame and further correct it.
바람직하게는, 상기 적어도 하나 이상의 클라이언트 기기(200)는,Advantageously, said at least one client device (200)
다음 수학식에 의해 지역적인 재생 위치 오차를 보정할 수 있다.The local reproduction position error can be corrected by the following equation.
Figure PCTKR2018000487-appb-I000002
Figure PCTKR2018000487-appb-I000002
상기 수학식에서, Pl은 현재 시각에 기대되는 재생 위치, Pe는 마지막 이벤트 기반 동기화 보정 위치, Tl은 현재 시각, Te는 마지막 이벤트 기반 동기화 보정 시각을 각각 나타낸다.In the equation, P l is the expected play position in the current time, P e is the last event-based synchronization correction where, T l is the current time, T e represents the last event in each time based on the synchronization correction.
바람직하게는, 상기 동기화 제어 패킷(10)은,Advantageously, said synchronization control packet (10)
지역적인 재생 위치 오차 보정을 수행하는 상기 미리 지정된 간격을 더 포함할 수 있다.And may further include the predetermined interval for performing local playback position error correction.
바람직하게는, 상기 미디어 소스 기기(100)는,Preferably, the media source device (100)
재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하여, 상기 클라이언트 기기(200)의 재생 위치를 추가로 보정할 수 있다.It is possible to further correct the playback position of the client device 200 by transmitting the synchronization control packet 10 to the client device 200 at a predetermined period in a situation where no playback event occurs.
더욱 바람직하게는, 상기 동기화 제어 패킷(10)은,More preferably, the synchronization control packet (10)
상기 미리 지정된 주기를 더 포함할 수 있다.And may further include the predetermined period.
상기한 목적을 달성하기 위한 본 발명의 다른 특징에 따른, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법은,According to another aspect of the present invention, there is provided a method of synchronizing media streaming groups in a hierarchical streaming network,
(1) 상기 미디어 소스 기기(100)가, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하는 단계; 및(1) The media source device 100 transmits to the client device 200 a synchronization control packet 10 including the type of event, the time of occurrence of the event, and the playback position of the streaming media, with respect to the generated event step; And
(2) 상기 적어도 하나 이상의 클라이언트 기기(200)가, 상기 단계 (1)에서 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하는 단계를 포함하되,(2) The at least one client device 200 synchronizes the reproduction state according to the type of the event using the synchronization control packet 10 received from the media source device 100 in the step (1) , ≪ / RTI &
(3) 상기 적어도 하나 이상의 클라이언트 기기(200)가, 미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 더 수행하는 단계를 더 포함하는 것을 그 구성상의 특징으로 한다.(3) The at least one client device 200 further performs local playback position error correction at predetermined intervals.
바람직하게는, 상기 이벤트의 종류에는,Preferably, the type of the event includes:
‘재생 시작’, ‘일시 정지’, ‘재시작’, ‘멈춤’, ‘재생 위치의 이동’이 포함될 수 있다.May include 'start playback', 'pause', 'restart', 'stop', 'move playback position'.
바람직하게는, 상기 단계 (2)에서,Preferably, in the step (2)
상기 적어도 하나 이상의 클라이언트 기기(200)는, 다음 수학식에 의해 재생 위치를 보정할 수 있다.The at least one client device (200) can correct the reproduction position by the following equation.
Figure PCTKR2018000487-appb-I000003
Figure PCTKR2018000487-appb-I000003
상기 수학식에서, Pe는 이벤트 기반 동기화 보정 위치, Ps는 미디어 소스 기기의 재생 위치, Tc는 버퍼링 완료 시각, Ts는 이벤트 발생 시각, To는 NTP(Network Time Protocol) 서버를 기준으로 한 기기 간의 시각 차이를 각각 나타낸다.In the above equation, P e is an event-based synchronization correction position, P s is a playback position of the media source device, T c is a buffering completion time, T s is an event generation time, and T o is a NTP Respectively.
바람직하게는, 상기 단계 (3)에서,Preferably, in said step (3)
상기 적어도 하나 이상의 클라이언트 기기(200)는, 지역적으로 현재 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 위치를 보정함으로써, 지역적인 재생 위치 오차 보정을 수행할 수 있다.The at least one client device 200 may perform regional playback position error correction by correcting the position by calculating the difference between the currently expected playback position and the actual playback position.
더욱 바람직하게는, 상기 단계 (3)에서,More preferably, in the step (3)
상기 적어도 하나 이상의 클라이언트 기기(200)는, 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화한 마지막 시점 이후에 발생한 지역적인 재생 위치 오차를 보정을 수행할 수 있다.The at least one client device 200 may use the synchronization control packet 10 received from the media source device 100 to generate a local playback position error that occurs after the last time of synchronizing the playback state, Lt; / RTI >
바람직하게는, 상기 단계 (3)에서,Preferably, in said step (3)
상기 적어도 하나 이상의 클라이언트 기기(200)는, 다음 수학식에 의해 지역적인 재생 위치 오차를 보정할 수 있다.The at least one client device 200 may correct the local playback position error by the following equation.
Figure PCTKR2018000487-appb-I000004
Figure PCTKR2018000487-appb-I000004
상기 수학식에서, Pl은 현재 시각에 기대되는 재생 위치, Pe는 마지막 이벤트 기반 동기화 보정 위치, Tl은 현재 시각, Te는 마지막 이벤트 기반 동기화 보정 시각을 각각 나타낸다.In the equation, P l is the expected play position in the current time, P e is the last event-based synchronization correction where, T l is the current time, T e represents the last event in each time based on the synchronization correction.
바람직하게는, 상기 동기화 제어 패킷(10)은,Advantageously, said synchronization control packet (10)
지역적인 재생 위치 오차 보정을 수행하는 상기 미리 지정된 간격을 더 포함할 수 있다.And may further include the predetermined interval for performing local playback position error correction.
바람직하게는,Preferably,
(4) 상기 미디어 소스 기기(100)는, 재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하여, 상기 클라이언트 기기(200)의 재생 위치를 추가로 보정하는 단계를 더 포함할 수 있다.(4) The media source device 100 transmits the synchronization control packet 10 to the client device 200 at a predetermined period in a situation in which no playback event occurs, thereby adding the playback position of the client device 200 And a step of correcting the correction value.
더욱 바람직하게는, 상기 동기화 제어 패킷(10)은,More preferably, the synchronization control packet (10)
상기 미리 지정된 주기를 더 포함할 수 있다.And may further include the predetermined period.
본 발명에서 제안하고 있는 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법에 따르면, 이벤트 기반 동기화 적용과 함께 클라이언트 기기에서의 지역적인 재생 위치 오차 보정을 통해, 하드웨어의 성능 및 백그라운드에서 동작 중인 프로세스에 의해 발생되는 제어 오차에 대하여, 지역적으로 현재 시각에 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 재생 위치를 보정함으로써, 높은 동기화 정밀도를 유지하면서도 동기화 제어 패킷의 전송을 최소화할 수 있다.According to the system and method for synchronizing media streaming groups in a hierarchical streaming network proposed in the present invention, it is possible to perform event-based synchronization and local playback position error correction in a client device, It is possible to minimize the transmission of the synchronization control packet while maintaining high synchronization precision by correcting the reproduction position by calculating the difference between the reproduction position expected from the current time and the actual reproduction position locally with respect to the control error generated by the process .
또한, 본 발명에 따르면, 재생 이벤트가 발생하지 않는 상황, 즉 이벤트 기반 동기화가 적용되지 않는 상황에서도, 드물지만 주기적으로 동기화를 수행함으로써, 지역적 재생 위치 보정에서 발생하는 오차를 재보정할 뿐만 아니라, 재생 위치의 이동 이벤트에 대하여 동기화 제어 패킷의 유실 시를 대비한 위치 보정을 수행할 수 있다.Further, according to the present invention, synchronization is performed rarely but periodically even in a situation in which no playback event occurs, i.e., even in a situation in which event-based synchronization is not applied, so as to not only recalibrate the error occurring in the local playback position correction, It is possible to perform the position correction for the movement event of the position against the loss of the synchronization control packet.
도 1은 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템의 구성을 도시한 도면.1 illustrates a configuration of a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention;
도 2는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서 사용되는 동기화 제어 패킷(10)의 형식을 도시한 도면.Figure 2 illustrates the format of a synchronization control packet (10) used in a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 이벤트 기반 동기화 과정을 설명하기 위한 도면.3 is a diagram for explaining an event-based synchronization process in a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention.
도 4는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 지역적인 재생 위치 오차 보정의 과정을 설명하기 위한 도면.4 is a diagram for explaining a process of local playback position error correction in a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention;
도 5는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 드문 주기적 동기화 과정을 설명하기 위한 도면.5 is a diagram for explaining a rare periodic synchronization process in a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention;
도 6은 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법의 흐름을 도시한 도면.6 is a flow diagram illustrating a method for synchronizing media streaming groups in a hierarchical streaming network according to an embodiment of the present invention.
도 7은, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법에서, 드문 주기적 동기화 단계를 더 포함하는 흐름을 도시한 도면.Figure 7 is a flow diagram further comprising a rare periodic synchronization step in a method of synchronizing media streaming groups in a hierarchical streaming network according to an embodiment of the present invention.
<부호의 설명><Explanation of Symbols>
10: 동기화 제어 패킷10: Synchronization control packet
100: 미디어 소스 기기100: Media source device
200: 클라이언트 기기200: Client device
S100: 미디어 소스 기기가, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷을 적어도 하나 이상의 클라이언트 기기에 전송하는 단계S100: transmitting, to the at least one client device, a synchronization control packet including a type of an event, an occurrence time of the event, and a playback position of the streaming media, with respect to the generated event
S200: 적어도 하나 이상의 클라이언트 기기가, 단계 S100에서 미디어 소스 기기로부터 수신한 동기화 제어 패킷을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하는 단계S200: At least one client device synchronizes the reproduction state according to the kind of event using the synchronization control packet received from the media source device in step S100
S300: 적어도 하나 이상의 클라이언트 기기가, 미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 더 수행하는 단계S300: At least one client device performs further local playback position error correction at predetermined intervals
S400: 미디어 소스 기기가, 재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷을 클라이언트 기기에 전송하여, 클라이언트 기기의 재생 위치를 추가로 보정하는 단계S400: The media source device transmits a synchronization control packet to the client device at a predetermined period in a situation where no playback event occurs, and further corrects the playback position of the client device
이하에서는 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일 또는 유사한 부호를 사용한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. In the following detailed description of the preferred embodiments of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The same or similar reference numerals are used throughout the drawings for portions having similar functions and functions.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 ‘연결’되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 ‘간접적으로 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 ‘포함’한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다.In addition, in the entire specification, when a part is referred to as being 'connected' to another part, it may be referred to as 'indirectly connected' not only with 'directly connected' . Also, to "include" an element means that it may include other elements, rather than excluding other elements, unless specifically stated otherwise.
도 1은 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템의 구성을 도시한 도면이다. 도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템은, 미디어 소스 기기(100) 및 클라이언트 기기(200)를 포함하여 구성될 수 있다.1 is a diagram illustrating a configuration of a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention. As shown in FIG. 1, a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention may include a media source device 100 and a client device 200.
즉, 본 발명은, 미디어 소스 기기(100)가 동기화 제어 패킷(10)을 적어도 하나 이상의 클라이언트 기기(200)에 전송하면, 클라이언트 기기(200)가 동기화 제어 패킷(10)을 이용해 재생 위치를 동기화하여 스트리밍 미디어를 재생할 수 있다. 이를 통해, 복수의 클라이언트 기기(200)가 동일한 스트리밍 미디어를 동시에 동일한 위치에서 재생할 수 있다. 이하에서는, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템을 구성하는 각 구성요소에 대하여 상세히 설명하도록 한다.That is, according to the present invention, when the media source device 100 transmits the synchronization control packet 10 to at least one or more client devices 200, the client device 200 synchronizes the playback position using the synchronization control packet 10 To play streaming media. Thereby, a plurality of client devices 200 can reproduce the same streaming media at the same position at the same time. Hereinafter, each component constituting the media streaming group synchronization system in the hierarchical streaming network according to an embodiment of the present invention will be described in detail.
미디어 소스 기기(100)는, 미디어 서버 역할을 수행하되, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송할 수 있다. 여기에서, 동기화 제어 패킷(10)은 동기화 제어 정보를 포함하는 패킷으로서, 미디어 소스 기기(100)와 클라이언트 기기(200) 간에 주고받는 패킷이다.The media source device 100 plays a role of a media server and transmits a synchronization control packet 10 including a type of an event, a time of occurrence of an event, and a playback position of a streaming media to the client device 200, Lt; / RTI &gt; Here, the synchronization control packet 10 is a packet including synchronization control information, and is a packet exchanged between the media source device 100 and the client device 200.
도 2는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서 사용되는 동기화 제어 패킷(10)의 형식을 도시한 도면이다. 도 2에 도시된 바와 같이, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템의 동기화 제어 패킷(10)은, 재생 상태(Play status) 필드, 장치 시간(Device time) 필드, 재생 위치(Play position) 필드, 및 Extra 필드를 포함하여 구성될 수 있다.2 is a diagram illustrating a format of a synchronization control packet 10 used in a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention. 2, a synchronization control packet 10 of a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention includes a Play status field, a Device time field, ) Field, a Play position field, and an Extra field.
재생 상태 필드는, 현재 서버의 재생 상태와 스트리밍 클라이언트의 그룹 동기화 참여 요청 상태를 나타낸다. 도 2에 도시된 바와 같이, 재생 상태 필드의 값(Value)으로는, “JOIN”, “JOIN_ACK”, “PLAY”, “SEEK”, “PAUSE”, “RESUME”, “STOP” 및 “UPDATE”가 가능하다.The playback status field indicates a playback status of the current server and a request status of a streaming client to participate in group synchronization. As shown in FIG. 2, the value of the playback status field includes "JOIN", "JOIN_ACK", "PLAY", "SEEK", "PAUSE", "RESUME", "STOP", and "UPDATE" Is possible.
“JOIN”은 스트리밍 클라이언트 기기가 미디어 소스 기기에게 재생 동기화 서비스를 요청할 때 사용된다. “JOIN_ACK”는 미디어 소스 기기가 클라이언트 기기의 JOIN 요청에 대한 응답으로서, Extra 필드의 내용을 채워 전송한다. Extra 필드는, 도 2에 도시된 바와 같이, 장치 ID(Device ID), 미디어 크기(Media size), 미디어 재생 길이(Media duration), 지역적인 재생 위치 오차 보정 간격(Local adjustment interval), 드문 주기적 동기화 간격(Periodic sync. interval), 및 미디어 배포 트리에서의 현재 기기 높이(MDT level)로 구성될 수 있다.&Quot; JOIN &quot; is used when a streaming client device requests a playback synchronization service from a media source device. &Quot; JOIN_ACK &quot; means that the media source device fills in the content of the Extra field in response to the JOIN request of the client device. As shown in FIG. 2, the Extra field includes a device ID, a media size, a media duration, a local playback adjustment interval, An interval (Periodic sync. Interval), and a current device height (MDT level) in the media distribution tree.
“PLAY”, “SEEK”, “PAUSE”, “RESUME”, “STOP”은 각각 미디어 소스 기기의 재생 시작, 재생 위치의 이동, 일시 정지, 재시작, 멈춤 이벤트를 나타낸다. “UPDATE”는 미디어 소스 기기가 자신에게 연결된 클라이언트 기기에게 미디어 버퍼링 상태를 갱신할 때 사용된다. 버퍼링이 완료된 스트림 조각 상태를 클라이언트 기기가 갱신하도록 하여 스트림 조각 요청이 가능함을 알린다."PLAY", "SEEK", "PAUSE", "RESUME", and "STOP" indicate the playback start, playback position shift, pause, restart, and stop event of the media source device, respectively. "UPDATE" is used when the media source device updates the media buffering status to the client device connected to the media source device. The client device updates the buffer fragmented stream fragment state to inform that the stream fragment request is possible.
그 밖에, 장치 시간(Device time) 필드에는 이벤트가 발생한 시각이 저장된다. 또한, 재생 위치(Play position) 필드에는 이벤트가 발생한 시점의 재생 위치가 저장되며, 단위는 밀리 초(ms)이다.In addition, the device time field stores the time when the event occurred. In the Play Position field, the playback position at the time when the event occurs is stored, and the unit is milliseconds (ms).
클라이언트 기기(200)는, 스트리밍 미디어를 스트리밍 방식으로 재생하되, 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하여 스트리밍 미디어를 재생할 수 있다. 특히, 클라이언트 기기(200)는, 미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 수행함으로써, 높은 동기화 정밀도를 유지하면서도 동기화 제어 패킷(10)의 전송을 최소화할 수 있다. 지역적인 재생 위치 오차 보정에 대해서는 추후 자세히 설명하도록 한다. 한편, 클라이언트 기기(200)는, 적어도 하나 이상일 수 있다.The client device 200 can reproduce the streaming media by reproducing the streaming media in a streaming manner and synchronize the reproduction state according to the type of the event using the synchronization control packet 10 received from the media source device 100 . In particular, the client device 200 can perform local playback position error correction at predetermined intervals, thereby minimizing the transmission of the synchronization control packet 10 while maintaining high synchronization accuracy. Local playback position error correction will be described in detail later. On the other hand, the client device 200 may be at least one.
여기서, 이벤트의 종류에는, 도 2에 도시된 바와 같이, ‘재생 시작’, ‘일시 정지’, ‘재시작’, ‘멈춤’, ‘재생 위치의 이동’이 포함될 수 있으나, 이것으로만 제한되는 것은 아니다. 특히, 수신한 동기화 제어 패킷(10)의 이벤트의 종류가 ‘재생 위치의 이동’인 경우, 적어도 하나 이상의 클라이언트 기기(200)는, 수신한 동기화 제어 패킷(10)의 스트리밍 미디어의 재생 위치를 참조하여 이동하되, 해당 재생 위치가 버퍼링이 완료되지 않은 상태일 경우, 스트림 데이터를 요청하고 버퍼링이 완료될 때까지 대기한 후, 버퍼링이 완료되면 버퍼링에 소요된 시간과 동기화 제어 패킷(10)의 전송시간을 보정하기 위해 이벤트 발생 시각으로부터의 경과 시간을 계산하여 재생 위치를 보정하고 재생을 시작할 수 있다.Here, the types of events may include 'start playback', 'pause', 'restart', 'stop', 'move playback position' as shown in FIG. no. In particular, when the type of the event of the received synchronization control packet 10 is 'movement of the reproduction position', at least one of the client devices 200 refers to the reproduction position of the streaming media of the received synchronization control packet 10 If buffering is not completed, the streaming data is requested and waited until the buffering is completed. If buffering is completed, the buffering time and the transmission time of the synchronization control packet 10 In order to correct the time, the elapsed time from the event occurrence time may be calculated to correct the playback position and start playback.
본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 미디어 소스 기기(100)와 클라이언트 기기(200)는 먼저 이벤트 기반 동기화를 수행한다. 여기서, 이벤트 기반 동기화(Event-driven synchronization)란, 미디어 소스 기기(100)에서 “재생 시작”, “일시 정지”, “재시작”, “멈춤”, “재생 위치의 이동”과 같은 이벤트가 발생하면, 미디어 소스 기기(100)가 이벤트가 발생한 시각과 이벤트의 종류, 재생 위치 등을 동기화 제어 패킷(10)에 담아 미디어 클라이언트 기기들(200)에게 전송하고, 동기화 제어 패킷(10)을 수신한 클라이언트 기기들(200)은 이벤트의 종류에 따라 재생 상태를 동기화하는 것을 의미한다.In a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention, the media source device 100 and the client device 200 first perform event-based synchronization. Here, the event-driven synchronization means that when an event such as "start playback", "pause", "restart", "stop", "move playback position" occurs in the media source device 100 The media source device 100 transmits the synchronization control packet 10 to the media client devices 200 by transmitting the time and event type of the event and the playback position to the media client devices 200, The devices 200 means to synchronize the reproduction state according to the kind of the event.
도 3은 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 이벤트 기반 동기화 과정을 설명하기 위한 도면이다. 도 3에 도시된 바와 같이, 만약 미디어 소스 기기(100)로부터 재생 위치의 이동 이벤트가 발생하면, 동기화 제어 패킷(10)의 재생 위치를 참고하여 미디어 재생기의 재생 위치를 탐색하여 이동한다. 이때, 해당 재생 위치가 버퍼링이 완료되지 않은 상태이면 스트림 데이터를 요청하고, 버퍼링이 완료될 때까지 대기한다. 버퍼링이 완료되면, 버퍼링에 소요된 시간과 동기화 제어 패킷(10)의 전송 시간을 보정하기 위해 이벤트가 발생한 시각으로부터의 경과 시간을 계산하여 재생 위치를 보정하고 재생을 시작한다.3 is a diagram for explaining an event-based synchronization process in a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention. As shown in FIG. 3, when a movement event of the reproduction position is generated from the media source device 100, the reproduction position of the media player is searched for and moved by referring to the reproduction position of the synchronization control packet 10. At this time, if the playback position does not complete buffering, it requests stream data and waits until buffering is completed. When the buffering is completed, the elapsed time from the time when the event occurs to correct the time required for buffering and the transmission time of the synchronization control packet 10 is calculated to correct the playback position and start playback.
다음 수학식 1은 이벤트 기반 동기화의 재생 위치 보정 수식을 나타낸다.The following equation (1) represents a reproduction position correction formula for event-based synchronization.
수학식 1
Figure PCTKR2018000487-appb-M000001
Equation 1
Figure PCTKR2018000487-appb-M000001
상기 수학식 1에서, Pe는 이벤트 기반 동기화 보정 위치, Ps는 미디어 소스 기기의 재생 위치, Tc는 버퍼링 완료 시각, Ts는 이벤트 발생 시각, To는 NTP(Network Time Protocol) 서버를 기준으로 한 기기 간의 시각 차이를 각각 나타낸다.In the above Equation 1, P e is an event-based synchronization correction position, P s is a playback position of the media source device, T c is a buffering completion time, T s is an event occurrence time, and T o is an NTP And the visual difference between the reference devices.
상기한 바와 같은 과정의 이벤트 기반 동기화를 통해 재생 위치를 동기화하였더라도 미디어 재생 과정에서 발생하는 재생 지연으로 인하여 동기화 정밀도가 점차 낮아질 수 있다. 이를 보정하기 위해 미디어 소스 기기(100)에게 현재의 재생 위치를 요청할 수 있지만, 다수의 기기들이 동시에 스트리밍을 진행하는 상황에서 빈번한 동기화 제어 패킷(10)의 전송은 오히려 네트워크 혼잡을 가중시킬 수 있다.Even if the reproduction position is synchronized through the event-based synchronization of the above-described process, the synchronization precision may be gradually lowered due to the reproduction delay occurring in the media reproduction process. In order to compensate for this, it is possible to request the media source device 100 for the current playback position. However, in a situation where a plurality of devices are simultaneously streaming, transmission of the frequent synchronization control packet 10 may increase network congestion.
이와 같은 문제를 해결하기 위하여, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서는, 이벤트 기반 동기화를 수행한 클라이언트 기기(200)는 지역적인 재생 위치 오차 보정을 수행하게 된다. 구체적으로는, 클라이언트 기기(200)는, 지역적으로 현재 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 위치를 보정함으로써, 지역적인 재생 위치 오차 보정을 수행할 수 있다. 이때, 클라이언트 기기(200)는, 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화한 마지막 시점 이후에 발생한 지역적인 재생 위치 오차를 보정할 수 있다. 즉, 지역적인 재생 위치 오차 보정을 통해, 마지막 이벤트 기반 동기화 시점 이후에 발생한 재생 위치 오차를 보정하게 된다.In order to solve such a problem, in the media streaming group synchronization system in the hierarchical streaming network according to an embodiment of the present invention, the client device 200 performing the event-based synchronization performs local playback position error correction . Specifically, the client device 200 can perform local reproduction position error correction by correcting the position by calculating the difference between the currently expected reproduction position and the actual reproduction position locally. At this time, the client device 200 uses the synchronization control packet 10 received from the media source device 100 to correct a local playback position error occurring after the last time of synchronizing the playback state according to the event type . That is, through the local reproduction position error correction, the reproduction position error occurring after the last event-based synchronization point is corrected.
도 4는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 지역적인 재생 위치 오차 보정의 과정을 설명하기 위한 도면이다. 도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템은, 미디어 소스 기기(100)로부터 이벤트가 발생하지 않더라도 각각의 클라이언트 기기(200)에서 지역적으로 재생 위치를 재조정하여 동기화 정밀도를 유지시키는 방법이며, 이와 같은 지역적인 재생 위치 오차 보정을 통해서 동기화 제어 패킷(10)의 전송을 최소화하면서도 높은 동기화 정밀도를 유지할 수 있게 된다.4 is a diagram for explaining a process of local playback position error correction in a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention. 4, a media streaming group synchronization system in a hierarchical streaming network according to an exemplary embodiment of the present invention may include a media streaming group synchronization system, The synchronization accuracy can be maintained by minimizing the transmission of the synchronization control packet 10 through the local reproduction position error correction.
지역적인 재생 위치 오차 보정은, 다음 수학식 2를 사용하여 수행된다.The local playback position error correction is performed using the following equation (2).
수학식 2
Figure PCTKR2018000487-appb-M000002
Equation 2
Figure PCTKR2018000487-appb-M000002
상기 수학식 2에서, Pl은 현재 시각에 기대되는 재생 위치, Pe는 마지막 이벤트 기반 동기화 보정 위치, Tl은 현재 시각, Te는 마지막 이벤트 기반 동기화 보정 시각을 각각 나타낸다. 또한, fps는 스트리밍 중인 미디어의 초당 프레임 수를 나타낸다.In Equation (2), P 1 represents the reproduction position expected at the current time, P e represents the last event-based synchronization correction position, T 1 represents the current time, and T e represents the last event-based synchronization correction time. Also, fps represents the number of frames per second of the streaming media.
상기 수학식 2에서 확인할 수 있는 바와 같이, 미디어 재생기가 영상 프레임의 위치가 아니라 밀리 초 단위로 탐색하는 점을 보완하기 위해서, 계산된 재생 위치가 다음 프레임의 재생 위치를 나타내도록 프레임 당 재생 시간을 구하여 보정한다. 이 과정은 이벤트 기반 동기화에는 필요하지 않은데, 그 이유는 미디어 소스 기기(100)의 재생기 탐색 막대를 이용하여 재생 위치를 이동하면 미디어 재생기가 자동으로 다음 프레임의 위치로 보정하기 때문이다.As can be seen from Equation (2), in order to compensate for the point that the media player searches in milliseconds instead of the position of the video frame, the playback time per frame is set so that the calculated playback position indicates the playback position of the next frame And correct it. This process is not necessary for event-based synchronization because the media player automatically corrects the position of the next frame when the playback position is moved using the player search bar of the media source device 100. [
한편, 지역적인 재생 위치 오차 보정은, 너무 짧은 간격으로 수행될 경우 그 자체가 클라이언트 기기(200)에게 부담이 될 수 있고, 반대로 너무 긴 간격으로 수행될 경우 지역적인 재생 위치 오차 보정을 수행하는 의미가 무색해질 수 있다. 따라서, 시스템의 상황에 맞게 적당한 간격으로 미리 지정되어 수행되는 것이 좋은데, 미리 지정된 간격 값은, 앞서 도 2에서 설명한 바와 같이, 동기화 제어 패킷(10)의 Extra 필드에 저장될 수 있다.On the other hand, local playback position error correction may be burdensome to the client device 200 itself when performed at too short intervals, and conversely, if the playback is performed at too long intervals, Can be colorless. Therefore, it is preferable to perform predetermined designation at appropriate intervals in accordance with the situation of the system. The predetermined interval value may be stored in the Extra field of the synchronization control packet 10 as described above with reference to FIG.
앞서 설명한 이벤트 기반 동기화, 지역적인 재생 위치 오차 보정 이외에, 미디어 소스 기기(100)는, 재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하여, 클라이언트 기기(200)의 재생 위치를 추가로 보정할 수 있다. 이러한 절차를 본 발명에서는 “드문 주기적 동기화”라고 하며, 지역적인 재생 위치 오차 보정 과정을 보완하기 위한 것이다.In addition to the above-described event-based synchronization and local playback position error correction, the media source device 100 transmits the synchronization control packet 10 to the client device 200 at a predetermined period in a situation where no playback event occurs, The playback position of the device 200 can be further corrected. This procedure is referred to as &quot; rare periodic synchronization &quot; in the present invention and is intended to supplement the local reproduction position error correction process.
도 5는 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템에서, 드문 주기적 동기화 과정을 설명하기 위한 도면이다. 도 5에 도시된 바와 같이, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템은, 미디어 소스 기기(100)로부터 재생 이벤트가 발생하지 않는 상황에서 각각의 클라이언트 기기들(100)의 지역적인 재생 위치 오차 보정이 정밀하게 동작하고 있는지 드물지만 주기적으로 확인하여 보정한다. 또한, 재생 위치의 이동 이벤트에 대한 동기화 제어 패킷(10)이 유실되었을 경우에 이를 보완하는 역할도 수행한다. 드문 주기적 동기화 보정을 위한 수학식은, 이벤트 기반 동기화의 재생 위치의 이동 이벤트 보정 수학식인 수학식 1과 동일하다.5 is a diagram for explaining a rare periodic synchronization process in a media streaming group synchronization system in a hierarchical streaming network according to an embodiment of the present invention. 5, a media streaming group synchronization system in a hierarchical streaming network according to an exemplary embodiment of the present invention includes a media streaming group synchronization system, It is rarely periodically checked and corrected whether the local reproduction position error correction of the recording medium 100 is operating precisely. In addition, when the synchronization control packet 10 for the movement event of the reproduction position is lost, the synchronization control packet 10 is supplemented. Equation (1) for rare periodic synchronization correction is the same as Equation (1), which is a moving event correction mathematical expression of the reproduction position of the event-based synchronization.
미디어 소스 기기(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) 컴퓨터 등의 스마트 디바이스일 수도 있다.The media source device 100 and the client device 200 may be implemented by any type of portable terminal or computer capable of installing an application. Here, the portable terminal is a wireless communication device that is guaranteed to be portable and mobility, and can be used as a personal communication system (PCS), a global system for mobile communications (GSM), a personal digital cellular (PDC), a personal handyphone system (PHS) Handheld devices such as a handheld device, an assistant, an IMT (International Mobile Telecommunication) -2000, a Code Division Multiple Access (CDMA) -2000, a W-CDMA ) Based wireless communication device, and the computer may include a desktop, a notebook, a laptop, or the like, on which a WEB Browser is mounted. It may also be a smart device such as a smart phone, a smart note, a tablet PC, a smart camera, a smart TV, or a wearable computer.
한편, 미디어 소스 기기(100) 및 클라이언트 기기(200)에 설치되는 애플리케이션은, 통신망 등에서 운영되는 애플리케이션 서버에서 관리하는 설치 프로그램에 의하여 설치된 실행 프로그램일 수 있다.On the other hand, the application installed in the media source device 100 and the client device 200 may be an executable program installed by an installation program managed by an application server operated in a communication network or the like.
도 6은 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법의 흐름을 도시한 도면이다. 도 6에 도시된 바와 같이, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법은, 미디어 서버 역할을 수행하는 미디어 소스 기기(100)가 적어도 하나 이상의 클라이언트 기기(200)에 미디어 스트리밍을 수행하는 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법으로서, 미디어 소스 기기(100)가, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 적어도 하나 이상의 클라이언트 기기(200)에 전송하는 단계(S100); 및 적어도 하나 이상의 클라이언트 기기(200)가, 단계 S100에서 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하는 단계(S200)를 포함하되, 적어도 하나 이상의 클라이언트 기기(200)가, 미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 더 수행하는 단계(S300)를 더 포함하여 구성될 수 있다.6 is a flowchart illustrating a method of synchronizing media streaming groups in a hierarchical streaming network according to an embodiment of the present invention. 6, a media streaming group synchronization method in a hierarchical streaming network according to an exemplary embodiment of the present invention includes a media source device 100 serving as a media server, at least one client device 200 A media streaming group synchronizing method in a hierarchical streaming network for performing media streaming on a media streaming network, wherein the media source device (100) (S100) to the at least one client device (200); And at least one client device (200) synchronizing the playback status according to the type of event (S200) using the synchronization control packet (10) received from the media source device (100) in step S100, The at least one client device 200 may further include performing a local playback position error correction at a predetermined interval (S300).
또한, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법에서는, 미디어 소스 기기(100)는, 재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하여, 클라이언트 기기(200)의 재생 위치를 추가로 보정하는 단계(S400)를 추가로 더 포함할 수 있다. 도 7은, 본 발명의 일실시예에 따른 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법에서, 드문 주기적 동기화 단계를 더 포함하는 흐름을 도시한 도면이다.In the method of synchronizing a media streaming group in a hierarchical streaming network according to an embodiment of the present invention, the media source device 100 transmits a synchronization control packet 10 at a predetermined period in a situation where no playback event occurs (S400) further correcting the playback position of the client device (200) by transmitting it to the client device (200). Figure 7 is a flow diagram further comprising a rare periodic synchronization step in a method of synchronizing media streaming groups in a hierarchical streaming network according to an embodiment of the present invention.
한편, 본 발명은 다양한 통신 단말기로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터에서 판독 가능한 매체를 포함할 수 있다. 예를 들어, 컴퓨터에서 판독 가능한 매체는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD_ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.Meanwhile, the present invention may include a computer-readable medium including program instructions for performing operations implemented in various communication terminals. For example, the computer-readable medium can be any suitable medium, such as magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD ROM, DVD, Magneto-optical media and hardware devices that are specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like.
이와 같은 컴퓨터에서 판독 가능한 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 이때, 컴퓨터에서 판독 가능한 매체에 기록되는 프로그램 명령은 본 발명을 구현하기 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예를 들어, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.Such computer-readable media may include program instructions, data files, data structures, etc., alone or in combination. The program instructions recorded on the computer-readable medium may be those specially designed and configured to implement the present invention or may be those known to those skilled in the computer software. For example, it may include machine language code such as that produced by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.
상술한 바와 같이, 본 발명에서 제안하고 있는 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템 및 방법에 따르면, 이벤트 기반 동기화 적용과 함께 클라이언트 기기에서의 지역적인 재생 위치 오차 보정을 통해, 하드웨어의 성능 및 백그라운드에서 동작 중인 프로세스에 의해 발생되는 제어 오차에 대하여, 지역적으로 현재 시각에 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 재생 위치를 보정함으로써, 높은 동기화 정밀도를 유지하면서도 동기화 제어 패킷의 전송을 최소화할 수 있다. 또한, 본 발명에 따르면, 재생 이벤트가 발생하지 않는 상황, 즉 이벤트 기반 동기화가 적용되지 않는 상황에서도, 드물지만 주기적으로 동기화를 수행함으로써, 지역적 재생 위치 보정에서 발생하는 오차를 재보정할 뿐만 아니라, 재생 위치의 이동 이벤트에 대하여 동기화 제어 패킷의 유실 시를 대비한 위치 보정을 수행할 수 있다.As described above, according to the media streaming group synchronization system and method in the hierarchical streaming network proposed in the present invention, the event-based synchronization application and the local playback position error correction in the client device, And the control error generated by the process operating in the background, the reproduction position is corrected by calculating the difference between the reproduction position and the actual reproduction position which are expected locally at the current time, and thereby the transmission of the synchronization control packet Can be minimized. Further, according to the present invention, synchronization is performed rarely but periodically even in a situation in which no playback event occurs, i.e., even in a situation in which event-based synchronization is not applied, so as to not only recalibrate the error occurring in the local playback position correction, It is possible to perform the position correction for the movement event of the position against the loss of the synchronization control packet.
이상 설명한 본 발명은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에 의하여 다양한 변형이나 응용이 가능하며, 본 발명에 따른 기술적 사상의 범위는 아래의 특허청구범위에 의하여 정해져야 할 것이다.The present invention may be embodied in many other specific forms without departing from the spirit or essential characteristics and scope of the invention.

Claims (20)

  1. 미디어 서버 역할을 수행하되, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하는 미디어 소스 기기(100); 및(100) for transmitting a synchronization control packet (10) including a type of an event, a time of occurrence of an event, and a playback position of a streaming media to the client device (200) ); And
    상기 스트리밍 미디어를 스트리밍 방식으로 재생하되, 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하여 상기 스트리밍 미디어를 재생하는 적어도 하나 이상의 클라이언트 기기(200)를 포함하되,At least one client device for reproducing the streaming media by synchronizing a reproduction state according to a type of an event using the synchronization control packet (10) received from the media source device (100) (200)
    상기 적어도 하나 이상의 클라이언트 기기(200)는,The at least one client device (200)
    미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 수행함으로써, 높은 동기화 정밀도를 유지하면서도 동기화 제어 패킷(10)의 전송을 최소화하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.And performs local playback position error correction at predetermined intervals to minimize transmission of synchronization control packet (10) while maintaining high synchronization accuracy. &Lt; Desc / Clms Page number 12 &gt;
  2. 제1항에 있어서, 상기 이벤트의 종류에는,The method according to claim 1,
    ‘재생 시작’, ‘일시 정지’, ‘재시작’, ‘멈춤’, ‘재생 위치의 이동’이 포함되는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.Wherein the media streaming group synchronization system includes a playback start time, a pause, a restart, a stop, and a movement of a playback position.
  3. 제1항에 있어서, 상기 적어도 하나 이상의 클라이언트 기기(200)는,The method of claim 1, wherein the at least one client device (200)
    수신한 동기화 제어 패킷(10)의 이벤트의 종류가 ‘재생 위치의 이동’인 경우, 상기 수신한 동기화 제어 패킷(10)의 스트리밍 미디어의 재생 위치를 참조하여 이동하되, 해당 재생 위치가 버퍼링이 완료되지 않은 상태일 경우, 스트림 데이터를 요청하고 버퍼링이 완료될 때까지 대기한 후, 버퍼링이 완료되면 버퍼링에 소요된 시간과 동기화 제어 패킷(10)의 전송시간을 보정하기 위해 이벤트 발생 시각으로부터의 경과 시간을 계산하여 재생 위치를 보정하고 재생을 시작하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.When the type of the event of the received synchronization control packet 10 is 'movement of the reproduction position', the reproduction control unit 10 refers to the reproduction position of the streaming media of the received synchronization control packet 10, It is necessary to wait until the buffering is completed. After completion of the buffering, the time elapsed from the time of occurrence of the event to correct the buffering time and the transmission time of the synchronization control packet (10) And the time is calculated to correct the playback position and start playback. &Lt; RTI ID = 0.0 &gt; &lt; / RTI &gt;
  4. 제1항에 있어서, 상기 적어도 하나 이상의 클라이언트 기기(200)는,The method of claim 1, wherein the at least one client device (200)
    다음 수학식에 의해 재생 위치를 보정하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.Wherein the playback position is corrected by the following formula: &lt; EMI ID = 17.0 &gt;
    Figure PCTKR2018000487-appb-I000005
    Figure PCTKR2018000487-appb-I000005
    상기 수학식에서, Pe는 이벤트 기반 동기화 보정 위치, Ps는 미디어 소스 기기의 재생 위치, Tc는 버퍼링 완료 시각, Ts는 이벤트 발생 시각, To는 NTP(Network Time Protocol) 서버를 기준으로 한 기기 간의 시각 차이를 각각 나타냄.In the above equation, P e is an event-based synchronization correction position, P s is a playback position of the media source device, T c is a buffering completion time, T s is an event generation time, and T o is a NTP Respectively.
  5. 제1항에 있어서, 상기 적어도 하나 이상의 클라이언트 기기(200)는,The method of claim 1, wherein the at least one client device (200)
    지역적으로 현재 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 위치를 보정함으로써, 지역적인 재생 위치 오차 보정을 수행하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.Wherein the local playback position error correction is performed by calculating a difference between a currently expected playback position and an actual playback position locally and thereby correcting the position of the media streaming group in the hierarchical streaming network.
  6. 제5항에 있어서, 상기 적어도 하나 이상의 클라이언트 기기(200)는,6. The method of claim 5, wherein the at least one client device (200)
    상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화한 마지막 시점 이후에 발생한 지역적인 재생 위치 오차를 보정하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.And a local reproduction position error generated after a last time point at which the reproduction state is synchronized according to the type of the event is corrected using the synchronization control packet (10) received from the media source device (100) A network streaming group synchronization system in a network.
  7. 제6항에 있어서, 상기 적어도 하나 이상의 클라이언트 기기(200)는,7. The method of claim 6, wherein the at least one client device (200)
    다음 프레임의 재생 위치를 나타내도록 프레임 당 재생 시간을 구하여 추가로 보정하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.And a playback time per frame is calculated and further corrected so as to indicate the playback position of the next frame in the hierarchical streaming network.
  8. 제1항에 있어서, 상기 적어도 하나 이상의 클라이언트 기기(200)는,The method of claim 1, wherein the at least one client device (200)
    다음 수학식에 의해 지역적인 재생 위치 오차를 보정하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.And corrects the local playback position error by the following equation: &lt; EMI ID = 14.0 &gt;
    Figure PCTKR2018000487-appb-I000006
    Figure PCTKR2018000487-appb-I000006
    상기 수학식에서, Pl은 현재 시각에 기대되는 재생 위치, Pe는 마지막 이벤트 기반 동기화 보정 위치, Tl은 현재 시각, Te는 마지막 이벤트 기반 동기화 보정 시각을 각각 나타냄.In the equation, P l is the expected play position in the current time, P e is the last event-based synchronization correction where, T l is the current time, T e represents the last event in each time based on the synchronization correction.
  9. 제1항에 있어서, 상기 동기화 제어 패킷(10)은,2. The method of claim 1, wherein the synchronization control packet (10)
    지역적인 재생 위치 오차 보정을 수행하는 상기 미리 지정된 간격을 더 포함하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.Further comprising the predetermined interval for performing local playback position error correction. &Lt; RTI ID = 0.0 &gt; &lt; / RTI &gt;
  10. 제1항에 있어서, 상기 미디어 소스 기기(100)는,The apparatus of claim 1, wherein the media source device (100)
    재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하여, 상기 클라이언트 기기(200)의 재생 위치를 추가로 보정하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.Characterized in that a synchronization control packet (10) is transmitted to the client device (200) at a predetermined period in a situation where no playback event occurs, thereby further correcting the playback position of the client device (200) In a media streaming group synchronization system.
  11. 제10항에 있어서, 상기 동기화 제어 패킷(10)은,11. The method of claim 10, wherein the synchronization control packet (10)
    상기 미리 지정된 주기를 더 포함하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 시스템.Further comprising the predetermined period. &Lt; Desc / Clms Page number 20 &gt;
  12. 미디어 서버 역할을 수행하는 미디어 소스 기기(100)가 적어도 하나 이상의 클라이언트 기기(200)에 미디어 스트리밍을 수행하는 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법으로서,A media streaming group synchronization method in a hierarchical streaming network in which a media source device (100) serving as a media server performs media streaming to at least one or more client devices (200)
    (1) 상기 미디어 소스 기기(100)가, 발생된 이벤트에 대하여, 이벤트의 종류, 이벤트의 발생 시각, 스트리밍 미디어의 재생 위치를 포함하는 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하는 단계; 및(1) The media source device 100 transmits to the client device 200 a synchronization control packet 10 including the type of event, the time of occurrence of the event, and the playback position of the streaming media, with respect to the generated event step; And
    (2) 상기 적어도 하나 이상의 클라이언트 기기(200)가, 상기 단계 (1)에서 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화하는 단계를 포함하되,(2) The at least one client device 200 synchronizes the reproduction state according to the type of the event using the synchronization control packet 10 received from the media source device 100 in the step (1) , &Lt; / RTI &
    (3) 상기 적어도 하나 이상의 클라이언트 기기(200)가, 미리 지정된 간격으로 지역적인 재생 위치 오차 보정을 더 수행하는 단계를 더 포함하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법.(3) the at least one client device (200) further performing a local playback position error correction at a predefined interval. &Lt; RTI ID = 0.0 &gt; .
  13. 제12항에 있어서, 상기 이벤트의 종류에는,13. The method according to claim 12,
    ‘재생 시작’, ‘일시 정지’, ‘재시작’, ‘멈춤’, ‘재생 위치의 이동’이 포함되는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법.The method of synchronizing a media streaming group in a hierarchical streaming network, the method comprising the steps of: starting playback, pausing, restarting, stopping, and moving a playback location.
  14. 제12항에 있어서, 상기 단계 (2)에서,13. The method of claim 12, wherein in step (2)
    상기 적어도 하나 이상의 클라이언트 기기(200)는, 다음 수학식에 의해 재생 위치를 보정하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법.Wherein the at least one client device (200) corrects the playback position using the following equation: &lt; EMI ID = 16.1 &gt;
    Figure PCTKR2018000487-appb-I000007
    Figure PCTKR2018000487-appb-I000007
    상기 수학식에서, Pe는 이벤트 기반 동기화 보정 위치, Ps는 미디어 소스 기기의 재생 위치, Tc는 버퍼링 완료 시각, Ts는 이벤트 발생 시각, To는 NTP(Network Time Protocol) 서버를 기준으로 한 기기 간의 시각 차이를 각각 나타냄.In the above equation, P e is an event-based synchronization correction position, P s is a playback position of the media source device, T c is a buffering completion time, T s is an event generation time, and T o is a NTP Respectively.
  15. 제12항에 있어서, 상기 단계 (3)에서,13. The method of claim 12, wherein, in step (3)
    상기 적어도 하나 이상의 클라이언트 기기(200)는, 지역적으로 현재 기대되는 재생 위치와 실제 재생 위치의 차이를 계산하여 위치를 보정함으로써, 지역적인 재생 위치 오차 보정을 수행하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법.Characterized in that the at least one client device (200) performs local playback position error correction by correcting the position by calculating the difference between the currently expected playback position and the actual playback position locally, In a media streaming group.
  16. 제15항에 있어서, 상기 단계 (3)에서,16. The method of claim 15, wherein in step (3)
    상기 적어도 하나 이상의 클라이언트 기기(200)는, 상기 미디어 소스 기기(100)로부터 수신한 동기화 제어 패킷(10)을 이용하여 이벤트의 종류에 따라 재생 상태를 동기화한 마지막 시점 이후에 발생한 지역적인 재생 위치 오차를 보정하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법.The at least one client device 200 may use the synchronization control packet 10 received from the media source device 100 to generate a local playback position error that occurs after the last time of synchronizing the playback state, In a hierarchical streaming network. &Lt; Desc / Clms Page number 19 &gt;
  17. 제12항에 있어서, 상기 단계 (3)에서,13. The method of claim 12, wherein, in step (3)
    상기 적어도 하나 이상의 클라이언트 기기(200)는, 다음 수학식에 의해 지역적인 재생 위치 오차를 보정하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법.Wherein the at least one client device (200) corrects local playback position errors using the following equation: &lt; RTI ID = 0.0 &gt;
    Figure PCTKR2018000487-appb-I000008
    Figure PCTKR2018000487-appb-I000008
    상기 수학식에서, Pl은 현재 시각에 기대되는 재생 위치, Pe는 마지막 이벤트 기반 동기화 보정 위치, Tl은 현재 시각, Te는 마지막 이벤트 기반 동기화 보정 시각을 각각 나타냄.In the equation, P l is the expected play position in the current time, P e is the last event-based synchronization correction where, T l is the current time, T e represents the last event in each time based on the synchronization correction.
  18. 제12항에 있어서, 상기 동기화 제어 패킷(10)은,13. The method of claim 12, wherein the synchronization control packet (10)
    지역적인 재생 위치 오차 보정을 수행하는 상기 미리 지정된 간격을 더 포함하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법.Further comprising the predetermined interval for performing local playback position error correction. &Lt; RTI ID = 0.0 &gt; 8. &lt; / RTI &gt;
  19. 제12항에 있어서,13. The method of claim 12,
    (4) 상기 미디어 소스 기기(100)는, 재생 이벤트가 발생하지 않는 상황에서 미리 지정된 주기로 동기화 제어 패킷(10)을 클라이언트 기기(200)에 전송하여, 상기 클라이언트 기기(200)의 재생 위치를 추가로 보정하는 단계를 더 포함하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법.(4) The media source device 100 transmits the synchronization control packet 10 to the client device 200 at a predetermined period in a situation in which no playback event occurs, thereby adding the playback position of the client device 200 &Lt; / RTI &gt; in a hierarchical streaming network. &Lt; Desc / Clms Page number 20 &gt;
  20. 제19항에 있어서, 상기 동기화 제어 패킷(10)은,21. The method of claim 19, wherein the synchronization control packet (10)
    상기 미리 지정된 주기를 더 포함하는 것을 특징으로 하는, 계층적 스트리밍 네트워크에서의, 미디어 스트리밍 그룹 동기화 방법.Further comprising the predetermined period. &Lt; RTI ID = 0.0 &gt; 31. &lt; / RTI &gt;
PCT/KR2018/000487 2018-01-10 2018-01-10 System and method for synchronizing media streaming groups in hierarchical streaming network WO2019139184A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0003236 2018-01-10
KR1020180003236A KR101988613B1 (en) 2018-01-10 2018-01-10 The system and method for media streaming group synchronization in hierarchical wireless network

Publications (1)

Publication Number Publication Date
WO2019139184A1 true WO2019139184A1 (en) 2019-07-18

Family

ID=66845840

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/000487 WO2019139184A1 (en) 2018-01-10 2018-01-10 System and method for synchronizing media streaming groups in hierarchical streaming network

Country Status (2)

Country Link
KR (1) KR101988613B1 (en)
WO (1) WO2019139184A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11277461B2 (en) * 2019-12-18 2022-03-15 The Nielsen Company (Us), Llc Methods and apparatus to monitor streaming media

Citations (5)

* Cited by examiner, † Cited by third party
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 (en) * 2010-12-07 2012-06-15 삼성전자주식회사 Transmitter and receiver for transmitting and receiving multimedia content, and reproducing method thereof
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 (en) * 2014-08-26 2015-04-01 계명대학교 산학협력단 System and method for real-time synchronized playback of streaming media
KR20170138647A (en) * 2016-06-08 2017-12-18 에스케이텔레콤 주식회사 Media playe program

Patent Citations (5)

* Cited by examiner, † Cited by third party
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 (en) * 2010-12-07 2012-06-15 삼성전자주식회사 Transmitter and receiver for transmitting and receiving multimedia content, and reproducing method thereof
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 (en) * 2014-08-26 2015-04-01 계명대학교 산학협력단 System and method for real-time synchronized playback of streaming media
KR20170138647A (en) * 2016-06-08 2017-12-18 에스케이텔레콤 주식회사 Media playe program

Also Published As

Publication number Publication date
KR101988613B1 (en) 2019-06-12

Similar Documents

Publication Publication Date Title
WO2016129963A1 (en) Multi-view streaming service supporting method, and device for supporting same
WO2013129832A1 (en) Method for reporting radio link failure information
EP2859754A1 (en) Method and apparatus for handover in mobile content centric network
WO2016101441A1 (en) File synchronization method and system
EP3304942A1 (en) Method and apparatus for sharing application
WO2014126365A1 (en) Terminal apparatus and method for time synchronization
WO2014148836A2 (en) Apparatus and method for acquiring synchronization in cooperative communication system
WO2016200018A1 (en) Method and apparatus for sharing application
WO2011129635A2 (en) Method and apparatus for providing application service in a mobile communication system
WO2014073902A1 (en) Method and apparatus for providing web service in wireless communication system
WO2021150060A1 (en) Method and apparatus for edge computing service
WO2014077458A1 (en) Method for distinguishing type of communication network and method for providing content using same
WO2020101133A1 (en) Method and apparatus for providing services in local area data network
WO2020253125A1 (en) Log management method, apparatus, and device, and storage medium
WO2020052247A1 (en) Network-resource batch loading method, smart tv, storage medium, and device
WO2020096148A1 (en) Method and device for switching media service channels
WO2019139184A1 (en) System and method for synchronizing media streaming groups in hierarchical streaming network
WO2019051892A1 (en) Schedule-based information pushing method and device, and computer-readable storage medium
WO2020004861A1 (en) Method and apparatus for wifi handoff via coordination in wireless communication system
WO2018058832A1 (en) Control method and device for accessing cell
WO2014171727A1 (en) Apparatus and method for generating key hierarchy in wireless network
WO2021012487A1 (en) Cross-system information synchronisation method, user device, storage medium, and apparatus
WO2013122362A1 (en) Method, system and recording medium for applying load reduction policy in wireless network
WO2018076446A1 (en) Method, device, and system for message synchronization
WO2017200319A1 (en) Method providing for adaptive streaming service, and device therefor

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18899539

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18899539

Country of ref document: EP

Kind code of ref document: A1