Video content reproduction system, reproduction control method thereof, client terminal, synchronous server, and program thereof
Abstract
Problem to be solved.To provide a technology that can allow a plurality of clients in a particular group to view and listen to the same video content synchronously.
Solution.The plurality of clients 20 receive and buffer the same video content from a video distribution server 141 and detect the end of buffering of a prescribed data amount to inform a video synchronous server 10 of it. When the video synchronous server 10 receives the notice indicating the end of buffering from all the client terminals 20 in the group, instructs each client terminal 20 to start reproduction of the video contents, and each client terminal 20 reproduces the buffered video contents on the basis of the instruction of reproduction start. Further, a current time adjustment section 110 of the client terminal 20 and a current time adjustment section 136 of the video synchronous server 10 mutually match the current time, a communication time management section 134 measures a communication delay time between each client and the server and corrects the reproduction start time by using the measured time.
Copyright (C)2006,JPO&NCIPI
Term
No projected expiry on record.
- Priority and filed
- Published
- Today
13 claims: 7 independent, 6 dependent
- 1A video content playback system in which a plurality of client terminals receive the same video content from a video distribution server, and each client terminal reproduces the same video content in synchronization with each other under the control of a synchronization server. A client management means for managing a group consisting of the plurality of client terminals, and a playback instructing each client terminal to start playback of the video content when a buffering completion notification is received from all the client terminals in the group. A buffering monitoring means that receives and buffers the same video content from the synchronization server provided with a control means and the video distribution server, detects the completion of buffering a predetermined amount of data, and notifies the synchronization server. A video content playback system including the plurality of client terminals provided with a video playback means for playing back the buffered video content in response to a playback start instruction from the synchronization server. 映像配信サーバから複数のクライアント端末が同じ映像コンテンツを受信し、同期サーバの制御に基づいて各クライアント端末が前記同じ映像コンテンツを互いに同期して再生する映像コンテンツ再生システムであって、 前記同じ映像コンテンツを再生する前記複数のクライアント端末からなるグループを管理するクライアント管理手段と、前記グループ内のすべてのクライアント端末からバッファリング完了通知があったとき各クライアント端末に前記映像コンテンツの再生開始を指示する再生制御手段とを備えた前記同期サーバと、 前記映像配信サーバから前記同じ映像コンテンツを受信してバッファリングし、所定のデータ量のバッファリング完了を検出して前記同期サーバに通知するバッファリング監視手段と、前記同期サーバからの再生開始の指示に応じて前記バッファリングした映像コンテンツを再生する映像再生手段とをそれぞれ備えた前記複数のクライアント端末とから構成される映像コンテンツ再生システム。
- 4The first, second, or third claim, wherein the synchronization server includes a video content list associated with a group managed by the client management means, and transmits the video content list to client terminals in the group. Video content playback system. 前記同期サーバは、前記クライアント管理手段で管理されるグループに関連付けた映像コンテンツリストを備え、グループ内のクライアント端末に前記映像コンテンツリストを送信することを特徴とする請求項1,2又は3記載の映像コンテンツ再生システム。
- 9The client terminal used in a video content playback system in which a plurality of client terminals synchronize and play the same video content. The video content is received from a video distribution server and buffered, and a predetermined amount of data is buffered. A client including a buffering monitoring means for detecting completion and notifying a synchronization server, and a video reproduction means for reproducing the buffered video content in response to a playback start instruction from the synchronization server. Terminal. 複数のクライアント端末が同じ映像コンテンツを同期して再生する映像コンテンツ再生システムで用いられる前記クライアント端末であって、 映像配信サーバから前記映像コンテンツを受信してバッファリングし、所定のデータ量のバッファリング完了を検出して同期サーバに通知するバッファリング監視手段と、 前記同期サーバからの再生開始の指示に応じて前記バッファリングした映像コンテンツを再生する映像再生手段とを備えたことを特徴とするクライアント端末。
- 10A synchronization server used in a video content playback system in which a plurality of client terminals synchronize and play the same video content, and is specified as a client management means that manages a group consisting of a plurality of client terminals that play the same video content. When all the client terminals in the group are notified of the completion of buffering the predetermined amount of data of the video content, each client terminal is provided with a playback control means for instructing the start of playback of the video content. Synchronous server to do. 複数のクライアント端末が同じ映像コンテンツを同期して再生する映像コンテンツ再生システムで用いられる同期サーバであって、 前記同じ映像コンテンツを再生する複数のクライアント端末からなるグループを管理するクライアント管理手段と、 特定のグループ内のすべてのクライアント端末から前記映像コンテンツの所定のデータ量のバッファリング完了通知があったとき各クライアント端末に前記映像コンテンツの再生開始を指示する再生制御手段とを備えたことを特徴とする同期サーバ。
- 11A playback control method for a video content playback system in which a plurality of client terminals synchronize and play back the same video content. Each client terminal receives and buffers the same video content, and buffers a predetermined amount of data. The synchronization server detects the completion of the ring and notifies the synchronization server, and the synchronization server manages a group consisting of the plurality of client terminals for playing the same video content, and the buffering completion is completed from all the client terminals in the group. When notified, each client terminal is instructed to start playing the video content, and each client terminal plays the buffered video content in response to the instruction to start playing the video content. Playback control method of the playback system. 複数のクライアント端末が同じ映像コンテンツを同期して再生する映像コンテンツ再生システムの再生制御方法であって、 前記各クライアント端末は、前記同じ映像コンテンツを受信してバッファリングし、所定のデータ量のバッファリング完了を検出して同期サーバに通知し、 前記同期サーバは、前記同じ映像コンテンツを再生する前記複数のクライアント端末からなるグループを管理すると共に、前記グループ内のすべてのクライアント端末から前記バッファリング完了通知があったとき、各クライアント端末に前記映像コンテンツの再生開始を指示し、 前記各クライアント端末は、前記再生開始の指示に応じて前記バッファリングした映像コンテンツを再生することを特徴とする映像コンテンツ再生システムの再生制御方法。
- 12The buffering process of receiving and buffering the video content, the buffering monitoring process of detecting the completion of buffering a predetermined amount of data and notifying the synchronization server, and the above-mentioned in response to the instruction to start playback from the synchronization server. A program that causes a computer to perform video playback processing that plays back buffered video content. 映像コンテンツを受信してバッファリングするバッファリング処理と、 所定のデータ量のバッファリング完了を検出して同期サーバに通知するバッファリング監視処理と、 前記同期サーバからの再生開始の指示に応じて前記バッファリングした映像コンテンツを再生する映像再生処理とをコンピュータに実行させるプログラム。
- 13A client management process that manages a group consisting of a plurality of client terminals that play the same video content, and when all the client terminals in the group notify the completion of buffering the video content, each client terminal is notified of the video content. A program that causes a computer to execute a playback control process that instructs the start of playback. 同じ映像コンテンツを再生する複数のクライアント端末からなるグループを管理するクライアント管理処理と、 前記グループ内のすべてのクライアント端末から前記映像コンテンツのバッファリング完了通知があったとき各クライアント端末に前記映像コンテンツの再生開始を指示する再生制御処理とをコンピュータに実行させるプログラム。
Independent claims7
59 paragraphs, as filed
The present invention relates to a video content playback system that reproduces the same video content buffered by a plurality of client terminals in synchronization with each other, a playback control method thereof, client terminals constituting this system, a synchronization server, and a program used therein. Is.
Conventionally, in order for a plurality of users in a specific group to watch the same video content, a method has been adopted in which all users gather in the same place and watch together. In recent years, high-bandwidth networks such as ADSL (Asymmetric Digital Subscriber Line) and FTTH (Fiber To The Home) have become widespread, and even general users can view video media via high-bandwidth networks such as ADSL. It's coming. In addition, there are unicast, broadcast, and multicast as distribution methods using an IP network.
(1) The unicast distribution method using an IP network is often used for distribution of web contents. Video distribution using this technology is generally widespread, and in recent years, telecommunications carriers and the like have provided services such as viewing video media, audio media, and the like to a specific group using unicast. (2) Broad band distribution is also known as a broadcast-type streaming video distribution method using an IP network. By using this technology, a user who has accessed the video media can view the video media at the same time as another user. Distribution using this technology is generally widespread, and is used for live distribution of concerts and fixed-point cameras. (3) In addition, if the multicast distribution method is used, users who access the video media can view the video media at the same time as other users in the same way as broadband distribution, and compared to broadband distribution, for a specific group. There is a merit that it can be delivered. (4) Further, as a means for simultaneously viewing video media in a specific group, there is a share casting technique shown in Non-Patent Document 1. Using this technology, a specific terminal becomes a video distribution server, forming a one-to-two tree-structured network, and the same video media can be viewed simultaneously within that network.
(5) Further, there is a system and a method for transmitting and synchronizing real-time media contents in a packet network capable of synchronizing the contents viewed by a client using the multicast network shown in Patent Document 1.<patcit num="1"><text>Japanese Unexamined Patent Publication No. 2001-251360</text></patcit><nplcit num="1"><text>Bitmedia Co., Ltd., "Sharecast", [online], "Searched March 15, 2004", Internet <URL: http://www.scast.tv/scast/></text></nplcit>
<p> However, the above-mentioned prior art has the following problems. The method (1) has no problem when each person views it independently, but it is difficult to see the same playback location of the same video content via the network. Method (2) cannot identify the group. In addition, the playback time between clients may differ depending on the specifications of the client (client terminal used by the user) and the network status. In method (3), the group can be specified, but the playback time between clients may differ depending on the client specifications and network conditions. In the method (4), the playback time between the clients is different as in the methods (2) and (3). With this method, a specific client has the right to select content and can change the video to be viewed between groups, but there is only one between groups.</p><p>Method (5) is a method that takes into account the deviation of (3), but has the following three problems. The first is that all routers need to have special features. The second problem is that certain clients cannot cope with unexpected network delays. The third problem is that in the case of stream video, it is not taken into consideration that the actual playback start time largely depends on the specifications of the client.</p><p> An object of the present invention is to solve the above problems and enable a plurality of client terminals to synchronously reproduce buffered video contents.</p>
<p> The present invention is a video content reproduction system in which a plurality of client terminals receive the same video content from a video distribution server, and each client terminal reproduces the same video content in synchronization with each other under the control of a synchronization server. The client management means for managing a group consisting of the plurality of client terminals for reproducing the same video content, and the reproduction of the video content to each client terminal when the buffering completion notification is received from all the client terminals in the group. The same video content is received from the synchronization server provided with the playback control means for instructing the start and the video distribution server and buffered, and the completion of buffering of a predetermined amount of data is detected and notified to the synchronization server. A video content playback system composed of a plurality of client terminals each including a buffering monitoring means for reproducing the buffered video content and a video playback means for reproducing the buffered video content in response to a playback start instruction from the synchronization server. Is.</p><p> In the above invention, in the above invention, the synchronization server and the client terminal are provided with time adjusting means for synchronizing each other's time, and the synchronization server is provided with communication delay management means for measuring the communication delay time with the client terminal. When instructing the start of reproduction of the video content, the reproduction control means notifies the reproduction start time corrected by the communication delay time measured by the communication delay management means.</p><p> In the above invention, the buffering monitoring means continues to monitor the buffering state even during playback of the video content, and notifies the synchronization server to that effect when a new buffering is started. In response to this notification, the synchronization server instructs each client terminal to suspend the playback of video content, and when the client terminal that has notified the start of buffering notifies the completion of buffering, the synchronization server temporarily notifies each client. It is characterized by notifying the release of the stopped state.</p><p> The present invention is characterized in that, in the above invention, the synchronization server includes a video content list associated with a group managed by the client management means, and transmits the video content list to client terminals in the group. ..</p><p> The present invention is characterized in that, in the above invention, the synchronization server includes content structure data obtained by analyzing the structure of the video content, and transmits the content structure data to the client terminal.</p><p> The present invention is characterized in that, in the above invention, the synchronization server transmits at least a representative video of the video content in the content structure data.</p><p> The present invention is characterized in that, in the above invention, the representative image is a thumbnail image.</p><p> The present invention is characterized in that, in the above invention, the client management means includes group information describing a list of client terminals in the group, and transmits the group information to the client terminals in the group.</p><p> The present invention is the client terminal used in a video content playback system in which a plurality of client terminals synchronize and play the same video content, and receives the video content from a video distribution server, buffers it, and determines predetermined data. It is provided with a buffering monitoring means for detecting the completion of buffering of the amount and notifying the synchronization server, and a video reproduction means for reproducing the buffered video content in response to a playback start instruction from the synchronization server. It is a characteristic client terminal.</p><p> The present invention is a synchronization server used in a video content playback system in which a plurality of client terminals synchronize and play the same video content, and client management that manages a group composed of a plurality of client terminals that play the same video content. The means and a playback control means for instructing each client terminal to start playing the video content when a notification of the completion of buffering a predetermined amount of data of the video content is received from all the client terminals in a specific group. It is a synchronization server characterized by this.</p><p> The present invention is a playback control method of a video content playback system in which a plurality of client terminals synchronously play back the same video content, and each client terminal receives and buffers the same video content, and a predetermined value is provided. Detecting the completion of buffering the amount of data and notifying the synchronization server, the synchronization server manages a group consisting of the plurality of client terminals that reproduce the same video content, and from all the client terminals in the group. When the buffering completion notification is received, each client terminal is instructed to start playing the video content, and each client terminal plays the buffered video content in response to the instruction to start playback. This is a playback control method for a video content playback system.</p><p> The present invention includes a buffering process for receiving and buffering video content, a buffering monitoring process for detecting the completion of buffering a predetermined amount of data and notifying the synchronization server, and an instruction for starting playback from the synchronization server. This is a program that causes a computer to execute a video reproduction process for reproducing the buffered video content according to the above.</p><p> The present invention provides a client management process for managing a group consisting of a plurality of client terminals that play the same video content, and when all the client terminals in the group notify each client terminal of the completion of buffering the video content. This is a program that causes a computer to execute a playback control process for instructing the start of playback of the video content.</p>
<p> According to the present invention, since the video playback is started when the buffering completion notification is received from all the client terminals in the specific group, it is possible to realize the synchronous viewing of the same video content by a plurality of client terminals.</p><p> According to the present invention, the synchronization server and the client terminal adjust the time to each other, and start playback at a time corrected by the communication delay time measured between the synchronization server and the client terminal. Therefore, the specifications and network of the client terminal. It is possible to reduce the time lag due to the state of the above and to realize more accurate synchronized viewing.</p><p> According to the present invention, the buffering state is monitored during the playback of the video content, the synchronization server is notified when a new buffering is started, the synchronization server instructs each client terminal to pause the playback of the video content, and the buffer is used. When the client terminal that notified the start of the ring completes buffering, the pause of each client terminal is released, so even if the synchronization is disturbed due to the specifications of the client terminal or the network status, the video will be synchronized again. Playback can be resumed.</p><p> According to the present invention, since the synchronization server transmits the video content list associated with the group to the client terminals in the group, the desired video content can be selected on the client terminal side.</p><p> According to the present invention, since the synchronization server transmits at least a representative image such as a thumbnail image in the structural data of the image content to the client terminal, the image content including the desired image scene can be easily selected on the client terminal side. Can be done.</p><p> According to the present invention, since the synchronization server transmits group information consisting of a list of a plurality of client terminals in the group to the client terminal, the client terminal side knows other members in the group to which it belongs. Can be done.</p>
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. (About the overall configuration diagram) FIG. 1 is a block diagram of a video content reproduction system according to an embodiment of the present invention. As shown in FIG. 1, this system includes a video synchronization server 10 (hereinafter referred to as server 10), a client terminal 20 used by a user (hereinafter referred to as client 20), a video distribution server 141, a time server 142, and a web server 143. And the network 30 that connects them. The devices involved in the synchronization control of this video content playback system are the client 20 and the video synchronization server 10 shown in the frame of the thick line in FIG. The client 20 includes a communication unit 101, a protocol generation unit 102, a protocol analysis unit 103, a login unit 104, a content selection unit 105, a scene selection unit 106, a playback monitoring unit 107, a buffering monitoring unit 108, a video playback unit 109, and a current time. It is composed of an adjusting unit 110.
The server 10 includes a communication unit 121, a protocol generation unit 122, a protocol analysis unit 123, an authentication unit 124, an authentication DB 125, a login management unit 126, a login DB (database) 127, a content management unit 128, a content DB 129, and a content scene management unit 130. , Content structure data DB 131, client buffering management unit 132, buffering management table 133, communication time management unit 134, communication time management table 135, current time adjustment unit 136, content structure input unit 137. The content structure input unit 137 has a scene cutpoint detection application 144.
(Outline of the present embodiment) Next, an outline of the use of this system will be described with reference to FIG. It is assumed that user A, user B, and user C who operate the client 20 connected to the network 30 are using this system. User A, User B, and User C are registered as one group for synchronous viewing of the same video content together. When any one of user A, user B, and user selects video content in the content selection unit 105, the video content played by each client 20 of user A, user B, and user C connected via the network changes. Will be done. Further, when the scene of the video content is selected in the scene selection unit 106, the scene of the video content being played by each client 20 is changed. At this time, similarly to the change of the viewing content and the change of the viewing scene, each client 20 is synchronized with the calculation of the buffering time generated for reproducing the video content in the video reproduction unit 109 of each client 20. In addition, each client 20 can also synchronize by calculating the communication time from the video synchronization server 10 to each client 20. In this way, it is possible to perform video content synchronization in which the buffering time and the communication time between the server and the client are calculated within a specific group. In addition, the same video scene can be synchronized by selecting the video scene being viewed.
Next, a specific configuration and operation of the present embodiment will be described. (Adjustment of current time) First, after the system is started, if the current time adjustment unit 110 of the client 20 and the current time adjustment unit 136 of the server 10 both access the time server 142 and there is a difference in the time between the server 10 and the client 20. Correct to the current time. This makes it possible to synchronize the time between the client 20 and the server 10. When accessing the time server 142, a commonly used protocol such as NTP (Net Time Protocol) is used.
Next, the flow of processing from login to display of the content list will be described with reference to FIG. In the figure, the parts corresponding to the parts of FIG. 1 are designated by the same reference numerals, and the description thereof will be omitted. (Login request from client) First, the client 20 logs in to the video synchronization server 10. To log in, enter the user ID and password registered in advance in the server authentication DB 125 in the login section 104 of the client 20. It is transmitted from the login unit 104 to the protocol generation unit 102. It is converted into a message by the protocol generation unit 102, and the message is transmitted from the communication unit 101 to the video synchronization server 10. The message generated by the protocol generator 102 includes a user ID and password, and if this message states that it is a login request, the format is not specified. For example, if you use the XML (eXtensible Markup Language) format, A message is generated like <mes> <command> login </ command> <userID> <userName> </ userID> <passwd> UserPassword </ passwd> </ mes>. In this example, the command tag describes this message as a login request, the userlD tag describes the user ID, and the passwd tag describes the password.
(Reception of login request) The login message from the client 20 received by the communication unit 121 on the server side is transmitted to the protocol analysis unit 123, and which module is to be transmitted is determined. In this case, a message is sent to the authentication unit 124. The user ID received by the authentication unit 124 is detected from the user ID registered in the password authentication DB 125, and if the password described in the detected user ID record matches the received password, the authentication is completed. After authenticating the user, the authentication unit 124 sends a user ID to the login management unit 126 to notify that the user has logged in. Figure 3 shows an example of authentication DB125. As shown in Fig. 3, the authentication DB125 has three columns, which are the user ID, password, and affiliation group, respectively. The password is a password for accessing the video synchronization server 10, and the belonging group is a group to which each user belongs.
(Sending user list) The login management unit 126 searches for the received user ID from the login ID 127, and changes the state of the record (row) of the searched user ID to login. Figure 4 shows an example of login DB127. The login DB 127 shown in Fig. 4 has three columns, which are the user ID, status, and affiliation group, respectively. Change the status column to "Login" according to the received user ID. After changing the state, the login management unit 126 searches for a user ID belonging to the same group as the received user ID, creates a list of the user IDs, and sends the list to the protocol generation unit 122. A user list message is created in the protocol generator 122. An example of the message generated here is shown. <mes> <command> userlist </ command> <name> <taura> </ name> <name> tanaka </ name / mes> Here, the command tag describes this message as a user list. The user ID that belongs to the same group as the received user ID and is currently logged in is described in the Name tag. The user IDs in this case are taura and tanaka. The generated message is transmitted to the communication unit 121, and the communication unit 121 transmits the message to the client 20 of the received user ID.
(Reception / display of user list) The message received by the communication unit 101 of the client 20 is transmitted to the protocol analysis unit 103. Since this received message is a user list, the received user ID is displayed. The displayed example is shown in Fig. 5.
(The server sends the content list) After sending the user list message to the client 20, the server 10 creates a list of video contents that can be viewed by the group to which this user ID belongs. Which video content is permitted to be viewed for which group is described in the content DB 129. Figure 6 shows an example of the content DB129. There are four columns in Figure 6. The content name, viewing permission group, thumbnail image path, and video content path are set in this order. The substance of the video content for synchronous viewing described in the video content path has been uploaded to the video distribution server 141 in advance. This video distribution server is not special 141, and may be a generally popular video distribution server.
Further, at the same time as the content is registered, the structural analysis of the video content using the scene cut point detection application 144, new data is added based on the analyzed data, and the data is input to the content structure data DB 131. Figure 14 shows an outline of this process. First, the video content is processed using the scene cutpoint detection application 144. This scene cut detection application 144 is generally an application that can detect a representative image (thumbnail image) of a scene cut and the start time of the scene. After the video analysis is completed, the thumbnail image and the scene start time are passed to the content structure input unit 137. The content structure input unit 137 adds a content ID to the received information (thumbnail image and scene start time). For the content ID, an ID that is not registered in the content structure data DB131 is added. After that, sort in ascending order using the scene start time, and add scene IDs such as 1, 2 ... in order from the one with the smallest scene start time (earlier time). After that, upload the thumbnail image to the web server 143 and store the URL. The content ID, scene ID, thumbnail image URL, and scene start time are input to the content structure data DB131.
A list of "content name" and "thumbnail image path" of the video content permitted to the group to which the logged-in user belongs in the content described in the content DB 129 is created and transmitted to the protocol generation unit 122. A content list message is created in the protocol generator 122. Figure 7 shows an example of the message generated here. In the example shown in Fig. 7, the command tag describes this message as a content list. Information on the content that can be viewed is described in the content tag. The content name is described in the name tag one level below the content tag, and the path of the thumbnail image is described in the thumbnail tag. The generated message is transmitted to the communication unit 121, and the communication unit 121 transmits the message to the client 20 of the received user ID.
(The client receives the content list and selects the content) When the communication unit 101 of the client 20 receives the message of the content list from the server 10, it sends it to the protocol analysis unit 103. The protocol analysis unit 103 analyzes the received message and sends it to the content selection unit 105. The content selection unit 105 acquires thumbnail images of each content from the web server 143 and the like, and displays them as a list. The displayed example is shown in Fig. 8.
Next, the flow of processing from the user's content selection to playback will be described with reference to FIGS. 16 and 17. Also in the figure, the same reference numerals are given to the parts corresponding to the respective parts in FIG. 1, and the description thereof will be omitted. When the thumbnail image of the content displayed in the content selection unit 105 is selected by the user after the viewable thumbnail list of the video that can be viewed is displayed in the content selection unit 105 (for example, it is assumed that the content A is selected). ), The content name selected by the content selection unit 105 is transmitted to the protocol generation unit 102. The protocol generation unit 102 generates a message and sends it to the communication unit 101. The communication unit 101 sends a message to the server 10. An example of the generated message is shown below. <mes> <command> ContentChange </ command> <userID> taura </ userID> <ContentName> contentA </ ContentName> </ mes> Here, the command tag describes this message as a content change. The user ID of the selected user taura is described in the userID tag, and the content name selected by the content selection unit 105 is described in the ContentName.
(Server side, content change request reception) The message received by the communication unit 121 of the server 10 is transmitted to the protocol analysis unit 123, and which module is to be transmitted is determined. In this case, the content ID is transmitted to the content management unit 128. When the content management unit 128 receives the content ID, it searches the content DB 129 using the content ID as a key and acquires the video file path of the record with the matching content ID. The video file path is selected by the protocol generation unit 122. The protocol generation unit 122 generates a message of a client video content change instruction based on the received video file path. An example of the generated message is shown below. <mes> <command> PreparePlay </ command> <contentPath> mms: //www.test-jp/conten tA.wmv </ contentPath> </ mes> Here, this message indicates content playback preparation in the command tag. Is done. The path to the video content to be played in the contentPath (URI: Uniform) Resource Identifiers) are described.
Next, the login management unit 126 is inquired for a list of clients belonging to the same group as the user ID (taura). The login management unit 126 refers to the login DB 127 based on the received user ID, and acquires a list of clients belonging to the same group as the received user ID. The client list information is transmitted to the protocol generation unit 122. The video change message created by the protocol generation unit 122 is transmitted to the communication unit 121 as a message generated according to the number of client lists. The communication unit 121 transmits the message received from the protocol generation unit 122 to each client. In addition, a command is issued to the content scene management unit 130 to transmit the content scene to the client 20.
(Server side, content scene image display request) When a transmission command for the content scene to the client is received from the content management unit 128, the structure information of the video content is acquired from the content structure data DB131. The structural information of the video content is composed of four pieces of information, a content ID, a scene ID, a thumbnail image path, and a start time. The means to store this structural data is RDB (Relational Data) It may be in Base) format or XML format. An example of this is shown in FIG. Search from the content structure data DB131 based on the content ID received from the content management unit 128. When a specific content ID is searched, the searched records (or tags) are sorted in ascending order using the scene ID as a key. This record list is transmitted to the protocol generator 122. The protocol generator 122 generates a message to be sent to the client. Figure 10 shows an example of the generated message. In the example shown in FIG. 10, the command tag describes that this message represents a scene list. The scene information of the content to be viewed is described in the scene tag. The scene ID is described in the sceneID tag one level below the scene tag, and the path of the thumbnail image of the scene is described in the thumbnail tag. A message is generated only for the user who sent the content change message, and is sent to the communication unit 121. The communication unit 121 sends a message to the client 20.
(Client side, receiving content change command) The content change message received by the communication unit 101 of the client 20 is transmitted to the protocol analysis unit 103, and it is determined which module to issue the command to. In this case, a command is issued to the video reproduction unit 109, the reproduction monitoring unit 107, and the buffering monitoring unit 108. (Client side, reception of scene list display command) The scene list message received by the communication unit 101 of the client 20 is transmitted to the protocol analysis unit 103, and it is determined to which module the command is to be issued. In this case, it is transmitted to the scene selection unit 106. The scene selection unit 106 acquires an image from the web server based on the received scene thumbnail image URL, and displays the scene images in a list on the scene selection unit 106. FIG. 11 shows an example in which the scene images are displayed in a list.
(Video playback unit) The video playback unit 109 is instructed to access the URL of the streaming video content described in the received character string. The video playback unit 109 accesses the video distribution server 141 based on the URL, and starts preparing for video playback. When the connection to the video distribution server 141 is established, the video playback unit 109 enters the streaming video buffering state. The buffering described here means that when streaming playback is performed, the data is not played immediately when it is started, and a certain amount of data is stored in the viewer's PC (client 20) in advance. It is a method to start playback. (Buffering monitoring unit) The buffering monitoring unit 108 receives a buffering monitoring command from the protocol analysis unit 103. The buffering monitoring unit 108 monitors the buffering state of the video reproduction unit 109, stops the buffering monitoring when the buffering of the video reproduction unit 109 is completed, and notifies the protocol generation unit 102 of the completion of the buffering.
(Reproduction monitoring unit) The reproduction monitoring unit 107 receives a reproduction monitoring command from the protocol analysis unit 103. The playback monitoring unit 107 monitors the playback state of the video playback unit 109, and when the video playback starts, issues a video playback pause command to the video playback unit 109. Upon receiving the video pause command, the video playback unit 109 pauses the video.
(Notification of buffering completion to the server) Upon receiving the buffering completion from the buffering monitoring unit 108, the protocol generation unit 102 generates a message indicating the buffering completion and sends it to the communication unit 101. The communication unit 101 sends a buffering completion message to the server 10. An example of the generated message is shown below. <mes> <command> BufOK </ command> <contentID> contentA </ contentID> / <mes> Here, the command tag describes that this message indicates that the content has been buffered. The video content ID for which buffering has been completed is described in the content ID.
(Reception of buffering completion notification on the server side) The character string received by the communication unit 121 of the server 10 is transmitted to the protocol analysis unit 123, and which module is to be transmitted is determined. In this case, it is transmitted to the client buffering management unit 132.
(Client buffering management unit) The client buffering management unit 132 searches for a user ID from the buffering management table 133 based on the received user ID, and sets the buffering state of the searched user ID to the buffering completed state. .. After changing the table, all the groups of received user IDs start the operation to check whether buffering is completed. First, the user ID for which buffering has been completed is transmitted to the login management unit 126. An example of the buffering management table 133 is shown in FIG.
(Login management unit) The login management unit 126 searches for a user ID from the login DB 127 using the received user ID as a key, acquires the group to which the searched user ID belongs, and of the user ID belonging to the acquired group. Generate a list. The list thus created click transmitted to the compliant buffer management unit 132. (Client buffering management unit) Checks whether all of the list of user IDs received from the login management unit 126 have been buffered in the buffering management table 133. If the buffering of all users has not been completed, the system enters a standby state and waits for the reception of the buffering completion notification from the next user from the protocol analysis unit 123. If the buffering of all users is completed, the buffering management table 133 notifies the communication time management unit 134 of the completion of buffering and its group ID.
Further, the buffering monitoring unit 108 of the client 20 continues to monitor the buffering state even during playback of the video content. Then, when the client 20 newly starts buffering, the server 10 is notified to that effect. The server 10 instructs each client 20 to suspend the playback of the video content in response to this notification. Then, when the buffering completion notification is received from the client 20 that has notified the start of the buffering, the server 10 notifies the cancellation of the paused state of each client. Therefore, if a problem such as a delay in buffering occurs due to the specifications of the client 20 or the network status, when the client 20 starts the next buffering, the other clients 20 once play the video content. When it is stopped and the buffering of a predetermined amount of data is completed, the playback stop is released and the playback is restarted.
Next, the process for measuring the communication time will be described with reference to FIG. In the figure, the parts corresponding to the parts of FIG. 1 are designated by the same reference numerals, and the description thereof will be omitted. (Communication time management department) The communication time management unit 134 measures the packet communication time for the client 20 in which a session is set up at regular intervals. This packet measurement time is the time from which the server 10 sends a message to the client 20, the client 20 that receives the message sends a message to the server 10, and the server 10 receives the message. This conceptual diagram is shown in FIG. As shown in FIG. 13, in packet communication, a packet delay time generally occurs depending on the network through which the packet communication passes. In FIG. 13, the time from sending a message from the server 10 to receiving it again is defined as the packet communication time. Inquire the current login user to the login management unit 126 every α for a certain period of time. After making the time, enter the current status in the communication time management table 135. At the same time, a message is sent to the client 20 to measure the packet communication time at regular time α intervals. When the response message from the client 20 is received, it is described in the communication time management table 135.
When the buffering completion notifications of all the clients 20 are received from the client buffering management unit 132, the time when the video playback is actually started is determined. First, the record of the user ID of the group that starts the playback of the streaming video is acquired from the communication time management table 135. The method of calculating the packet communication time from the acquired record will be described below. First, the packet communication time for the last n times of the user ID (a) is calculated. The table below shows the packet communication time of user ID (a).
<tables num="1"><img file="JP2005294941A_D0001.tif" /></tables>
As shown in the table above, let Ta (1) be the packet communication / time between the previous server and the client with user ID (a). The packet communication time n times before is Ta (n). At this time, the average Ta (ave) of packet communication time for n times is
<maths num="1"><img file="JP2005294941A_D0002.tif" /></maths>
Will be. If the list of groups belonging to the same group as the user ID (a) is Group (A) and the user belonging to Group (A) is (a, b, c ..., n), it becomes Group (A). The average packet communication time of the client to which it belongs is Tgroup (A) (ave).
<maths num="2"><img file="JP2005294941A_D0003.tif" /></maths>
Will be. This Tgroup (A) (ave) divided by 2 is defined as the average value of the communication time required to send a packet from the server 10 to the client 20, and if T (delay) is defined, T (delay) is
<maths num="3"><img file="JP2005294941A_D0004.tif" /></maths>
Will be. If T (delay) is added to the current time T (now) and the value obtained by adding the arbitrary time T (offset) is set as the streaming video playback time T (play), T (play) is
<maths num="4"><img file="JP2005294941A_D0005.tif" /></maths>
Will be. After receiving the buffering completion message from the client buffering management unit 132, the value of T (play) derived by each of the above equations is transmitted to the protocol generation unit 122. In this example, the average value of n communications for each user is further averaged by group and used as group (A) (ave) to obtain T (play), but not only the average value but also the maximum value. , Minimum value, mode value, etc. may be used as appropriate.
(Protocol generation unit) Generates a message to be sent to the client 20 based on the T (play) value received from the communication time management unit 134. An example of the generated message is shown below. <mes> <command> Play </ command> <contentID> coutentA </ contentID> <playtime> 2003/10/08/18: 10: 23: 50 <Playtime> </ mes> Here, this message is in the command tag. A description indicating a content playback command is made. The video content ID to be played is described in the content ID. The playback time of the video content is described in Playtime. In this case, it is 18:10:23:50 on October 8, 2003.
(Client side, content reproduction command) The message received by the communication unit 101 on the client side is transmitted to the protocol analysis unit 103, and it is determined to which module the command is issued. In this case, a video reproduction command is issued to the image reproduction unit 109. (Video playback unit) The video playback unit 109 receives a playback command from the protocol analysis unit 103. It enters the standby state until the received playback start time, and starts playing the video when the playback time is reached. If the playback time has already passed when the message is received, playback is started.
(Changing the scene during playback) When the thumbnail image of the scene is selected by someone in the user group during synchronous viewing of the video content in the scene selection unit 106, the scene of the video content being viewed is changed. The content ID and scene ID selected by the user are transmitted to the protocol generation unit 102. The protocol generation unit 102 generates a message and sends it to the communication unit 101. The communication unit 101 sends a message to the server 10. An example of the generated message is shown below. <mes> <command> SceneChange </ command> userID> taura </ userID> <contentID> contentA </ contentID> <SceneID> 2 </ SceneID> </ mes> Here, this message in the command tag changes the scene. The description is given. The content ID of the selected scene image is described in the contentID tag, and the scene ID is described in the sceneID.
The message received by the communication unit 121 on the server side is transmitted to the protocol analysis unit 123, and which module is to be transmitted is determined. In this case, the content ID and the scene ID are transmitted to the content scene management unit 130. When the content scene management unit 130 receives the content ID and the scene ID, it searches the content structure data DB131) using the content ID and the scene ID as keys, and acquires the scene start time video of the matching record. The scene start time is transmitted to the protocol generation unit 122. The protocol generation unit 122 generates a scene change command message for the client video content based on the received scene start time. An example of the generated message is shown below. <mes> <command> SceneChange </ command> <content> contentA </ content> sceneTime> 3.9 </ sceneTime> </ mes> Here, the command tag describes this message as a scene change. The content ID is described in content, and the start time of the scene to be played is described in sceneTime.
Next, the login management unit 126 is inquired for a list of clients 20 belonging to the same group as the user ID (taura). The login management unit 126 refers to the login DB 127 based on the received user ID, and acquires a list of clients 20 belonging to the same group as the received user ID. The client list information is transmitted to the protocol generation unit 122. The video change message created by the protocol generation unit 122 is transmitted to the communication unit 121 as the generated message for the number of client lists. The communication unit 121 transmits the message received from the protocol generation unit 122 to each client 20.
The scene change message received by the communication unit 101 of the client 20 is transmitted to the protocol analysis unit 103, and it is determined to which module the command is to be issued. In this case, a command is issued to the video reproduction unit 109, the reproduction monitoring unit 107, and the buffering monitoring unit 108. The video reproduction unit 109 is instructed to access the reproduction time described in the received character string. The video playback unit 109 accesses the video distribution server 141 based on the playback time, and starts preparing for video playback. The processing from this point onward is the same as the processing when the content is changed for both the buffering monitoring unit 108 and the playback monitoring unit 107.
FIG. 19 shows a flow summarizing the procedure for performing video control for the above-mentioned group, and FIG. 20 shows a flow summarizing the procedure after the occurrence of buffering. The video control messages transmitted and received in FIG. 19 include content change, playback time change (scene change), stop, playback, fast forward, and rewind. Figure 20 shows the processing of content changes and playback time changes that cause buffering. The processes (1) to (4) in FIG. 19 will be described. (1) The client 20 that wants to perform video control sends a control message to the server 10. (2) Send (multicast) a video control message to a specific group. (3) The video playback unit 107 of each client 20 transmits (unicasts) a video control message to the video distribution server 141. (4) Execute processing (video distribution, etc.) according to the video control message.
The processes (5) to (8) in FIG. 20 will be described. (5) Monitor the buffering status of streaming video. (6) When the buffering is completed, the video is stopped and the server 10 is notified of the completion of the buffering. At this time, the connection of each client 20 remains established. (7) When the buffering of the client group is completed, a playback message is sent to each client 20. (8) The video playback unit 107 of each client 20 starts playback (issues a request to the video distribution server 141).
According to the present embodiment described above, the following effects can be obtained. With the above configuration, synchronous viewing of video content can be controlled by a specific user group. In addition, content changes can be synchronized, scene changes can be synchronized, and streaming video content can be synchronized in consideration of the buffering time on the client side at the time of synchronization. In addition, it is possible to synchronize the streaming video content in consideration of the packet communication time between the server and the client. In addition, it has a system for sending and receiving video control messages to a specific group, and by controlling video content change, playback time change, scene change, etc., video synchronous viewing between groups is possible. In addition, by managing the buffering state of the clients and starting playback when the buffering of all the clients is completed, it is possible to synchronize the video considering the different buffering times between the clients. In addition, by calculating the communication time of the server / client listening and determining the video playback time based on the value, it is possible to synchronize the video in consideration of the communication time.
For example, when a user belonging to a specific user group selects content to be viewed, the content can be changed for all users of the specific user group. Further, when a user belonging to a specific user group selects a content scene to be viewed, the content scene can be changed for all users of the specific user group. In addition, in order to accurately synchronize viewing of streaming video, the accuracy of synchronized viewing of video content is improved by managing the buffering time that occurs on the client side and correcting the difference in buffering time that occurs on each client. Can be done. Further, by calculating the communication time of the packet generated when data is transmitted from the server to the client and correcting the playback time of the streaming video content, the accuracy of synchronized viewing of the video content can be improved.
Next, the program according to the embodiment of the present invention will be described. The program for the CPU of each computer system in the client 20 and the server 10 to execute the processing based on the above-mentioned operation constitutes the program according to the present invention. Further, the recording medium for recording this program constitutes a computer-readable recording medium according to the present invention. As the recording medium, a magneto-optical disk, an optical disk, a semiconductor memory, a magnetic recording medium, or the like can be used, and these may be configured as a ROM, RAM, CD-ROM, flexible disk, memory card, or the like.
In addition, this recording medium is used for a certain period of time like a volatile memory such as RAM inside a computer system that serves as a server or a client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line. It also includes what you hold. Further, the program may be transmitted from a computer system in which the program is stored in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. The transmission medium means a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line. Further, the above-mentioned program may be for realizing a part of the above-mentioned functions. Further, it may be a so-called difference file (difference program) that can realize the above-mentioned function in combination with a program already recorded in the computer system.
Therefore, even if the program and the recording medium are used in a system different from the system of FIG. 1 and the computer of the system executes the program, the functions and effects equivalent to the functions and effects described in the above-described embodiment can be obtained. It can be obtained and the problem of the present invention can be solved.
<figref num="1">It is a block diagram which shows the video content reproduction system by embodiment of this invention.</figref><figref num="2">It is a block diagram for demonstrating the outline at the time of using a system.</figref><figref num="3">It is a block diagram which shows the description example of the authentication DB of FIG.</figref><figref num="4">It is a block diagram which shows the description example of the login DB of FIG.</figref><figref num="5">It is a block diagram of the application image which displayed the user list.</figref><figref num="6">It is a block diagram which shows the description example of the content DB of FIG.</figref><figref num="7">It is a block diagram which shows the description example of the message generated based on the content DB of FIG.</figref><figref num="8">It is a block diagram of the application image which displayed the content list.</figref><figref num="9">It is a block diagram which shows the description example of the content structure DB of FIG.</figref><figref num="10">It is a block diagram which shows the description example of the message generated based on the content structure DB of FIG.</figref><figref num="11">It is a block diagram of the application image which displayed the scene list.</figref><figref num="12">It is a block diagram which shows the description example of the buffering management DB of FIG.</figref><figref num="13">It is a block diagram which shows the image of the transfer delay of a packet.</figref><figref num="14">It is a block diagram which shows the outline of content structure input.</figref><figref num="15">It is a sequence diagram from login to content list display.</figref><figref num="16">It is a sequence diagram from content selection to content reproduction.</figref><figref num="17">It is a sequence diagram which shows the continuation of the sequence from content selection to content reproduction.</figref><figref num="18">It is a sequence diagram of communication time measurement to a client.</figref><figref num="19">It is a flow chart which summarized the procedure in the case of performing video control for a group.</figref><figref num="20">It is a flow chart which summarized the procedure after the occurrence of buffering.</figref>
Code description
10 Video synchronization server 20 Client terminal 30 Network 101 Communication section 105 Content selection section 106 Scene selection section 107 Playback monitoring section 108 Buffering monitoring section 109 Video playback section 110 Current time adjustment section 121 Communication section 128 Content management section 129 Content DB 130 Content Scene Management Department 131 Content Structure Data DB 132 Client Buffering Management Department 133 Buffering Management Table 134 Communication Time Management Department 135 Communication Time Management Department 136 Current Time Adjustment Department 137 Content Structure Input Department 141 Video Distribution Server 142 Time Server 143 Web Server 144 Scene cut point detection application
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US9300709B2 | Cited by | United States of America | Applicant |
| CN111837399A | Cited by | China | Search report |
| US9270715B2 | Cited by | United States of America | Applicant |
| WO2009155840A1 | Cited by | World Intellectual Property Organization (WIPO) | Search report |
| WO2009011087A1 | Cited by | World Intellectual Property Organization (WIPO) | Search report |
| CN111819858A | Cited by | China | Search report |
| US11303947B2 | Cited by | United States of America | Applicant |
| JP2008160581A | Cited by | Japan | Search report |
| JP2013542633A | Cited by | Japan | Search report |
| CN101729855A | Cited by | China | Search report |
| US8788589B2 | Cited by | United States of America | Applicant |
| WO2019209269A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| KR20100047135A | Cited by | Republic of Korea | Search report |
| JP2015039050A | Cited by | Japan | Examiner |
| JP2009071546A | Cited by | Japan | Examiner |
| WO2019209271A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| JP2016192743A | Cited by | Japan | Search report |
| JP2009049456A | Cited by | Japan | Examiner |
| KR102169808B1 | Cited by | Republic of Korea | Search report |
| EP2999260A4 | Cited by | European Patent Office (EPO) | Search report |
| US8316154B2 | Cited by | United States of America | Applicant |
| JP2011023992A | Cited by | Japan | Search report |
| JP2008187368A | Cited by | Japan | Examiner |
| JP2009284055A | Cited by | Japan | Examiner |
| JP2010103995A | Cited by | Japan | Examiner |
| JP2011035503A | Cited by | Japan | Examiner |
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 2004103319 | Japan | A | |
| JP20040103319 | – | – | – |
Numbers
- Publication
- 2005294941
- Publication, DOCDB
- 2005294941
- Publication, EPODOC
- JP2005294941
- Application
- 103319
- Application, DOCDB
- 2004103319
- Application, EPODOC
- JP20040103319
Titles3
- English
- VIDEO CONTENT REPRODUCTION SYSTEM, REPRODUCTION CONTROL METHOD THEREOF, CLIENT TERMINAL, SYNCHRONOUS SERVER, AND PROGRAM THEREOF
- Japanese
- 映像コンテンツ再生システム、その再生制御方法、クライアント端末、同期サーバ及びそのプログラム
- English
- Video content playback system, its playback control method, client terminal, synchronization server and its program
Classification
- IPC, 7
- H04N7 16
- H04N7 173
- H04N21 24
- H04N21 258
- H04N21 438
- H04N21 44
- H04N21 6437