Control device, control method, program, content distribution system, and content distribution method

The control device synchronizes multiple contents by adjusting for delay times in the content distribution process, addressing synchronization errors and ensuring consistent playback across user terminals.

JP2026043187AActive Publication Date: 2026-03-12OKI ELECTRIC INDUSTRY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-28
Publication Date
2026-03-12

AI Technical Summary

Technical Problem

Existing technologies fail to adequately synchronize multiple pieces of content output by a user terminal, leading to synchronization errors and user discomfort due to time discrepancies and network congestion.

Method used

A control device synchronizes multiple contents by delaying each piece according to the difference in delay times, including encoding and transmission times, and transmits the synchronized contents to the terminal device.

Benefits of technology

This approach ensures synchronized output of multiple contents, minimizing synchronization errors and enhancing user experience by maintaining consistent playback across multiple streams.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026043187000001_ABST
    Figure 2026043187000001_ABST
Patent Text Reader

Abstract

To provide a mechanism that enables more appropriate synchronization of a plurality of contents. [Solution] A control device comprising a delay control unit that synchronizes multiple contents to be output on a terminal device, among multiple contents delivered in real time by multiple content distribution devices, and transmits the synchronized contents to the terminal device, wherein the delay control unit delays each of the multiple contents to be output according to the difference in delay time between the multiple contents to be output and transmits the delayed contents to the terminal device, and the delay time of the contents includes the time required for the content transmission process in the content distribution device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a control device, a control method, a program, a content distribution system, and a content distribution method. [Background technology]

[0002] In recent years, various contents have been provided in various formats. One example is an environment in which a user terminal downloads and outputs video data provided from a server. Regarding such an environment, Patent Document 1 below discloses a technology for synchronizing content among multiple user terminals. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent application No. 2023-222576 Summary of the Invention [Problem to be solved by the invention]

[0004] However, the technology disclosed in Patent Document 1 has only recently been developed, and there is still room for improvement in various respects. For example, no consideration has been given to synchronization between multiple pieces of content output by one user terminal.

[0005] Therefore, the present invention has been made in consideration of the above problems, and an object of the present invention is to provide a mechanism that enables more appropriate synchronization of multiple pieces of content. [Means for solving the problem]

[0006] In order to solve the above problem, according to one aspect of the present invention, a control device is provided that includes a delay control unit that synchronizes multiple contents to be output at a terminal device, among multiple contents delivered in real time by multiple content distribution devices, and transmits the synchronized contents to the terminal device, wherein the delay control unit delays each of the multiple contents to be output according to the difference in delay time between the multiple contents to be output and transmits the delayed contents to the terminal device, and the delay time of the contents includes the time required for the content transmission process in the content distribution device.

[0007] The delay time of the content may include the time taken to encode the content.

[0008] The delay time of the content may include a time during which transmission of the content is suspended in order to smooth out communication traffic.

[0009] The delay time of the content may be acquired by the content distribution device.

[0010] The delay control unit may delay each of the plurality of contents to be output according to the difference between the delay time of the content and the longest delay time among the delay times of the plurality of contents to be output, and transmit the delayed content to the terminal device.

[0011] The delay control unit may simultaneously transmit the data unit that is to be transmitted latest among one or more data units that constitute each of the plurality of contents to be output that were acquired at corresponding times.

[0012] The delay control unit may variably control the time for delaying the content for each data unit.

[0013] In addition, in order to solve the above problem, according to another aspect of the present invention, there is provided a control method executed by a computer, which includes synchronizing a plurality of contents to be output on a terminal device, from among a plurality of contents delivered in real time by a plurality of content distribution devices, and transmitting the plurality of contents to the terminal device, wherein transmitting each of the plurality of contents to be output includes transmitting each of the plurality of contents to the terminal device with a delay according to a difference in delay time among the plurality of contents to be output, and the delay time of the content includes the time required for the content transmission process in the content distribution device.

[0014] In addition, in order to solve the above problem, according to another aspect of the present invention, a program is provided that causes a computer to function as a delay control unit that synchronizes multiple contents to be output at a terminal device, among multiple contents delivered in real time by multiple content delivery devices, and transmits the synchronized contents to the terminal device, wherein the delay control unit delays each of the multiple contents to be output according to the difference in delay time between the multiple contents to be output and transmits the delayed contents to the terminal device, and the delay time of the contents includes the time required for the content delivery device to transmit the content.

[0015] In addition, in order to solve the above problem, according to another aspect of the present invention, a content distribution system is provided, comprising: a plurality of content distribution devices that distribute content in real time; a control device that synchronizes a plurality of the contents to be output at a terminal device from among the plurality of contents distributed in real time by the plurality of content distribution devices and transmits them to the terminal device; and the terminal device that outputs the plurality of contents received from the control device, wherein the control device transmits each of the plurality of contents to be output to the terminal device with a delay according to a difference in delay time among the plurality of contents to be output, and the delay time of the content includes the time required for the content transmission process in the content distribution device.

[0016] The content distribution device may transmit identification information of the content and the delay time of the content in association with each other.

[0017] The content distribution device may transmit the content by storing it in one data unit or by dividing it into two or more data units and storing the data in the one data unit.

[0018] The content distribution device may transmit the two or more data units, which are obtained by dividing the content and storing them, at different timings in order to smooth out the traffic volume.

[0019] The content distribution system may further include a synchronization information generating device that generates synchronization information including information indicating the length of time to delay when the control device transmits the plurality of contents to be output to the terminal device.

[0020] In addition, in order to solve the above-mentioned problem, according to another aspect of the present invention, there is provided a content distribution method executed by a content distribution system having a plurality of content distribution devices, a control device, and a terminal device, the content distribution device delivering content in real time, the control device synchronizing and transmitting to the terminal device a plurality of the contents to be output at the terminal device from the plurality of contents delivered in real time by the plurality of content distribution devices, and the terminal device outputting the plurality of contents received from the control device, wherein the control device transmitting the plurality of contents includes transmitting each of the plurality of contents to be output to the terminal device with a delay according to a difference in delay time among the plurality of contents to be output, and the delay time of the content includes a time required for the content transmission process in the content distribution device. [Effects of the Invention]

[0021] As described above, according to the present invention, a mechanism is provided that allows a plurality of pieces of content to be synchronized more appropriately. [Brief explanation of the drawings]

[0022] [Figure 1] 1 is a block diagram showing an example of a configuration of a content distribution system 1 according to a first embodiment of the present invention. [Figure 2] FIG. 10 is a diagram showing an example of processing related to video data V1 according to a first comparative example. [Figure 3] FIG. 10 is a diagram showing an example of processing relating to video data V2 according to the comparative example. [Figure 4] FIG. 10 is a diagram showing a display example of video data V1 and V2 according to the comparative example. [Figure 5] FIG. 10 is a diagram showing an example of processing related to video data V2 according to a second comparative example. [Figure 6] FIG. 10 is a diagram showing a display example of video data V1 and V2 according to the comparative example. [Figure 7] FIG. 10 is a diagram showing an example of processing related to video data V2 according to a third comparative example. [Figure 8] FIG. 10 is a diagram showing a display example of video data V1 and V2 according to the comparative example. [Figure 9] 4 is a diagram showing a specific example of processing related to delay control by the delay control server 40 according to the present embodiment. FIG. [Figure 10] FIG. 10 is a diagram showing a display example of video data V1 and V2 according to the same specific example. [Figure 11] 3 is a sequence diagram showing an example of the flow of processing executed by the content distribution system 1 according to the present embodiment. FIG. [Figure 12] FIG. 10 is a block diagram showing an example of the configuration of a content distribution system 1 according to a second embodiment of the present invention. [Figure 13] FIG. 2 is a block diagram illustrating an example of a hardware configuration of an information processing device according to each embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0023] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In this specification and drawings, components having substantially the same functional configurations are designated by the same reference numerals, and redundant explanations will be omitted.

[0024] In addition, in this specification and drawings, elements having substantially the same functional configuration may be distinguished by adding an index containing different letters or numbers after the same reference numeral. However, when there is no particular need to distinguish between multiple elements having substantially the same functional configuration, only the same reference numeral will be used.

[0025] <1. Overview> In recent years, various types of content have been provided in various formats. One example is an environment in which a user terminal downloads and outputs video data provided from a server. In particular, there is an environment in which one user terminal simultaneously outputs multiple pieces of content. In such an environment, it is desirable for the multiple pieces of content to be output synchronously and viewed by users synchronously. However, there have been cases in which it has been difficult to synchronize multiple pieces of content.

[0026] For example, in the field of video distribution, if the bit rate of the video output from an encoder suddenly increases, synchronized viewing of the video between user terminals is possible, but the video may become distorted due to buffer overflow caused by network bandwidth congestion. Smoothing is used to prevent such video distortion. However, the delay caused by smoothing can sometimes disrupt synchronization between content.

[0027] As an example, if the above-mentioned synchronization error occurs when two videos of the same clock taken with two cameras are played back on a user terminal, a difference will occur in the time displayed on the clocks in the two videos.

[0028] As another example, if a synchronization error occurs in a remote tour service that provides multiple videos of remote locations taken by multiple cameras and played back on a user terminal, a time difference will occur between the two videos that should be played back in sync. As a result, the user may feel uncomfortable and lose the sense of immersion, potentially degrading the tour experience.

[0029] Furthermore, when information indicating a synchronization error, such as the difference in clock time, is clearly displayed, the user can recognize that a synchronization error has occurred and can retry at a time when there is ample network bandwidth, etc. On the other hand, when information indicating a synchronization error is not clearly displayed, such as in a remote tour service, it is difficult for the user to recognize that a synchronization error has occurred, and it is also difficult to retry at a time when there is ample network bandwidth, etc.

[0030] Therefore, in one embodiment of the present invention, a mechanism is proposed in which a plurality of pieces of content to be output from a user terminal are synchronized and transmitted to the user terminal, thereby enabling the synchronized output of a plurality of pieces of content from the user terminal.

[0031] 2. First Embodiment <2.1.Configuration example> Fig. 1 is a block diagram showing an example of the configuration of a content distribution system 1 according to a first embodiment of the present invention. As shown in Fig. 1, the content distribution system 1 includes a plurality of autonomous mobile robots 10 (10-1, 10-2, etc.), a video data relay server 20, a synchronization information generation server 30, a delay control server 40, and a plurality of user terminals 50 (50-1, 50-2, etc.). These devices are connected by any wired or wireless network.

[0032] (Autonomous Mobile Robot 10) The autonomous mobile robot 10 is a content distribution device that distributes content in real time. The autonomous mobile robot 10 acquires content while moving autonomously, and distributes the acquired content while temporarily storing it. The content may be, for example, video data related to a remote tour service.

[0033] As shown in FIG. 1, the autonomous mobile robot 10 includes a camera 11, a signal processing unit 12, a video data transmission unit 13, a delay time calculation unit 14, and a delay information transmission unit 15.

[0034] The camera 11 acquires video data as content. The video data may be moving image data and may include still images (i.e., frames) per unit time.

[0035] The signal processing unit 12 applies various signal processing to the video data acquired by the camera 11 .

[0036] An example of the signal processing that is applied is encoding, in which video data is compressed according to a predetermined codec and stored in packets. Note that a frame that constitutes video data may be stored in a single packet, or may be divided into two or more packets and stored. Packet division may be performed depending on the frame size, encoding method, network constraints, etc. A packet is an example of one or more data units that constitute video data.

[0037] Another example of the signal processing to be applied is processing for smoothing communication traffic, and for example, transmission of video data (more precisely, output of packets from signal processing unit 12 to video data transmission unit 13) may be suspended as necessary. Signal processing unit 12 does not perform smoothing when there is sufficient network bandwidth, but performs smoothing when the network bandwidth is constrained.

[0038] The video data transmission unit 13 transmits the video data (more accurately, packets) that have been signal processed by the signal processing unit 12 to the video data relay server 20.

[0039] Here, in order to smooth the communication volume, the signal processing unit 12 may output two or more packets, which are obtained by dividing and storing frames that make up the video data, to the video data transmission unit 13 at different timings. Based on this output, the signal processing unit 12 may transmit two or more packets, which are obtained by dividing and storing frames that make up the video data, at different timings. For example, the signal processing unit 12 / video data transmission unit 13 continuously outputs / transmits two or more packets, which are obtained by dividing and storing one frame, with the timing shifted by one unit time. With this configuration, it is possible to smooth the communication volume required to send one frame and prevent packet loss.

[0040] The delay time calculation unit 14 calculates (i.e., obtains) the delay time of the video data. The delay time of the video data includes the time required for the autonomous mobile robot 10 to process the video data for transmission. In particular, the delay time includes the time required for encoding the video data. The delay time required for encoding may be set in advance as a predetermined value. The delay time also includes the time during which the transmission of the video data is suspended in order to smooth out the communication volume.

[0041] Here, the delay time calculation unit 14 may determine whether smoothing was performed and the time required for smoothing based on the output time of a packet from the signal processing unit 12 and the acquisition time (i.e., the image capture time) of the video data stored in the packet. For example, the delay time calculation unit 14 may determine that smoothing was not performed if the difference between the output times of packets consecutively output from the signal processing unit 12 and the difference between the acquisition times of the video data stored in the packet match. On the other hand, the delay time calculation unit 14 may determine that smoothing was performed if these differences do not match, and may determine the difference between these differences as the time required for smoothing. This is because when smoothing is performed, the output of the packet from the signal processing unit 12 is delayed by the time required for smoothing (i.e., the time transmission is suspended) compared to when smoothing is not performed. The acquisition time of the video data may be attached to the video data as metadata.

[0042] The delay information transmitting unit 15 transmits to the synchronization information generating server 30 delay information in which the identification information of the video data is associated with the delay time of the video data.

[0043] As an example, the delay information transmitted by the autonomous mobile robot 10-1 and the autonomous mobile robot 10-2 is shown in Tables 1 and 2 below.

[0044] [Table 1]

[0045] [Table 2]

[0046] Video ID (identifier) ​​in Table 1 is identification information for video data. V1 is identification information for video data acquired by autonomous mobile robot 10-1. V2 is identification information for video data acquired by autonomous mobile robot 10-2.

[0047] The video ID may be identification information of the autonomous mobile robot 10. Alternatively, the IP (Internet Protocol) address of the video data stream may be used as the video ID.

[0048] (Video data relay server 20) The video data relay server 20 is an information processing device that collects and relays video data acquired by the plurality of autonomous mobile robots 10 included in the content distribution system 1.

[0049] As shown in FIG. 1, the video data relay server 20 includes a video data relay unit 21.

[0050] The video data relay unit 21 receives video data from the autonomous mobile robot 10 and transmits the received video data to the delay control server 40 .

[0051] (Synchronization information generation server 30) The synchronization information generation server 30 is a synchronization information generation device that generates synchronization information that enables the user terminal 50 to output a plurality of pieces of video data in synchronization.

[0052] As shown in FIG. 1, the synchronization information generation server 30 includes a synchronization information generation unit 31.

[0053] The synchronization information generator 31 generates synchronization information for the user terminal 50 based on delay information for the plurality of video data delivered in real time by the plurality of autonomous mobile robots 10 and information indicating the plurality of video data to be output at the user terminal 50. The synchronization information includes information indicating the length of time by which each of the plurality of video data to be output is delayed when the delay control server 40 transmits the plurality of video data to the user terminal 50 (additional delay time, described later).

[0054] An example of the delay information collected by the synchronization information generating unit 31 is shown in Table 3 below.

[0055] [Table 3]

[0056] An example of information indicating a plurality of pieces of video data to be output at the user terminal 50, collected by the synchronization information generating unit 31, is shown in Table 4 below.

[0057] [Table 4]

[0058] A terminal group in Table 4 is a group that includes one or more user terminals 50. Here, it is assumed that the same video data is output by all user terminals 50 that belong to the same terminal group. A terminal ID is identification information for a user terminal 50 that belongs to a terminal group. A video ID is identification information for video data that is to be output by all user terminals 50 that belong to a terminal group.

[0059] It should be noted that T1 is the identification information of the user terminal 50-1, and T2 is the identification information of the user terminal 50-2.

[0060] An example of the synchronization information generated by the synchronization information generating unit 31 is shown in Table 5 below.

[0061] [Table 5]

[0062] In Table 5, the terminal ID is identification information of the user terminal 50. The video ID is identification information of the video data. The additional delay time is a delay time to be added to the video data indicated by the video ID when transmitting the video data to the user terminal 50 indicated by the terminal ID.

[0063] Here, the additional delay time is the difference between the delay time of the target video data and the longest delay time among the multiple video data to be output in the user terminal 50. As an example, an example of generating synchronization information for the user terminal 50-1 in the examples shown in Tables 3 to 5 will be described below.

[0064] As shown in Table 4, the video data to be output at user terminal 50-1 are video data V1 acquired by autonomous mobile robot 10-1 and video data V2 acquired by autonomous mobile robot 10-2. As shown in Table 3, the delay time of video data V1 is "1" and the delay time of video data V2 is "2," so the longest delay time among these video data is "2." Therefore, as shown in Table 5, the additional delay time set for video data V1 transmitted to user terminal 50-1 is "1," which is the difference between the delay time "1" of video data V1 and the longest delay time "2." On the other hand, as shown in Table 5, the additional delay time set for video data V2 transmitted to user terminal 50-1 is "0," which is the difference between the delay time "2" of video data V2 and the longest delay time "2."

[0065] (Delay control server 40) The delay control server 40 is a control device that performs delay control based on synchronization information to synchronize a plurality of pieces of video data and transmits the synchronized data to the user terminal 50 .

[0066] As shown in FIG. 1, the delay control server 40 includes a delay control unit 41.

[0067] The delay control unit 41 synchronizes a plurality of pieces of video data to be output at the user terminal 50, out of a plurality of pieces of video data delivered in real time by a plurality of autonomous mobile robots 10, and transmits the synchronized pieces of video data to the user terminal 50. Specifically, the delay control unit 41 delays each piece of video data to be output according to the difference in delay time between the pieces of video data to be output, and transmits the delayed pieces of video data to the user terminal 50. With this configuration, the user terminal 50 can receive a plurality of pieces of video data that have already been synchronized, making it possible to easily synchronize and output a plurality of pieces of video data.

[0068] Specifically, the delay control unit 41 delays each of the multiple video data to be output according to the difference between the delay time of the video data and the longest delay time among the delay times of the multiple video data to be output, and transmits the delayed data to the user terminal 50. That is, the delay control unit 41 delays the video data indicated by the video ID included in the synchronization information according to the additional delay time included in the synchronization information and transmits the delayed video data to the user terminal 50 indicated by the terminal ID included in the synchronization information. With this configuration, the multiple video data to be output at the user terminal 50 are delayed to match the video data with the longest delay time among them, and are synchronized. This makes it possible to minimize the delay due to synchronization.

[0069] The specific operation of the delay control unit 41 will be explained in detail later.

[0070] (User terminal 50) The user terminal 50 is a terminal device that outputs video data. In particular, the user terminal 50 outputs a plurality of video data received from the delay control server 40.

[0071] As shown in FIG. 1, the user terminal 50 includes a display unit 51.

[0072] The display unit 51 outputs the plurality of pieces of video data received from the delay control server 40. The display unit 51 may be, for example, a display or a projector. The display unit 51 outputs the plurality of pieces of video data to be output simultaneously (for example, on one screen).

[0073] The user terminal 50 may also include an input unit for selecting video data to be output.

[0074] <2.2. Operational processing example> The following describes an example of an operational process related to the operation of the content distribution system 1. First, first to third comparative examples in which the delay control by the delay control server 40 is disabled will be described, and then a specific example in which the delay control by the delay control server 40 is enabled will be described.

[0075] The settings in the comparative example and specific example are described below.

[0076] A user terminal 50 outputs video data V1 acquired by autonomous mobile robot 10-1 and video data V2 acquired by autonomous mobile robot 10-2.

[0077] The video data V1 is not divided into frames, and is not smoothed regardless of whether the network bandwidth is sufficient or tight.

[0078] The video data V2 is divided into frames, and may be smoothed.

[0079] In the following explanation, in order to explain the key points of the present invention, it is assumed that there is no network delay. Also, in the following explanation, in order to explain the key points of the present invention, it is assumed that there is no processing delay related to transmission by the autonomous mobile robot 10, reception by the user terminal 50, display by the user terminal 50, reception by the delay control server 40, and transmission by the delay control server 40.

[0080] (1) First Comparative Example The first comparative example is an operation example in which delay control by the delay control server 40 is disabled, there is a surplus in the bandwidth, and smoothing of the video data V2 is not performed. This comparative example will be described below with reference to FIGS. 2 to 4.

[0081] (Processing of video data V1) FIG. 2 is a diagram showing an example of processing related to video data V1 according to this comparative example. The time charts shown in FIG. 2 are diagrams showing, in chronological order, how video data is processed in each device included in the content distribution system 1. In each time chart, time flows from left to right. t0 and the like are time indexes, and the numbers are incremented each time a unit of time passes. Furthermore, processing is performed in the order shown in the time charts from top to bottom. Rectangles on the time charts indicate frames or packets of video data. The numbers inside the rectangles are the frame or packet numbers.

[0082] First, as shown in the first row of FIG. 2, autonomous mobile robot 10-1 acquires frames "1" to "5" of video data V1 at times t0, t3, t6, t9, and t12.

[0083] Next, as shown in the second row of Figure 2, autonomous mobile robot 10-1 encodes frames "1" to "5" of video data V1, and obtains packets "1" to "5" at times t1, t4, t7, t10, and t13. Comparing the first row with the second row, it can be seen that the delay time required for encoding is one unit time.

[0084] Next, as shown in the third row of FIG. 2, autonomous mobile robot 10-1 transmits packets "1" to "5" of video data V1 at times t1, t4, t7, t10, and t13.

[0085] Next, as shown in the fourth row of FIG. 2, the user terminal 50 receives packets "1" to "5" of the video data V1 at times t1, t4, t7, t10, and t13.

[0086] 2, the user terminal 50 starts displaying frame "1" stored in packet "1" of video data V1 at time t1. After that, the user terminal 50 starts displaying frames "2," "3," "4," and "5" stored in packets "2," "3," "4," and "5" at times t4, t7, t10, and t13, respectively.

[0087] (Processing of video data V2) 3 is a diagram showing an example of processing relating to video data V2 according to this comparative example. The time chart and symbols shown in FIG. 3 have the same meanings as those in FIG.

[0088] First, as shown in the first row of FIG. 3, autonomous mobile robot 10-2 acquires frames "1" to "5" of video data V2 at times t0, t3, t6, t9, and t12.

[0089] Next, as shown in the second row of FIG. 3, autonomous mobile robot 10-2 encodes frames "1" through "5" of video data V2, obtaining packets "1" through "5-2" at times t1, t4, t7, t10, and t13. Here, frame "2" is divided into packets "2-1" and "2-2." The same is true for frame "4" and packet "5." Comparing the first row with the second row, it can be seen that the delay time required for encoding is one unit time.

[0090] Next, as shown in the third row of Figure 3, autonomous mobile robot 10-2 transmits packets "1" to "5-2" of video data V2 at times t1, t4, t7, t10, and t13. Note that multiple packets that are divided from the same source, such as packets "2-1" and "2-2," are transmitted simultaneously because no smoothing is performed.

[0091] Next, as shown in the fourth row of FIG. 3, the user terminal 50 receives packets "1" to "5-2" of the video data V2 at times t1, t4, t7, t10, and t13.

[0092] If the data volume of one packet is a predetermined value, then frames "2," "4," and "5" can be said to have twice the data volume of frames "1" and "3." This means that simultaneously transmitting packets of frames "2," "4," and "5" requires more network bandwidth than transmitting packets of frames "1" and "3." In this comparative example, because there is ample network bandwidth, even if packets of frames "2," "4," and "5" are transmitted simultaneously, they are received by user terminal 50 without being lost.

[0093] Then, as shown in the fifth row of Figure 3, the user terminal 50 starts displaying frame "1" stored in packet "1" of video data V2 from time t1. Next, the user terminal 50 starts displaying frame "2" stored in packets "2-1" and "2-2" from time t4. After that, the user terminal 50 starts displaying frames "3," "4," and "5" stored in packets "3," "4-1," "4-2," "5-1," and "5-2" from times t7, t10, and t13, respectively.

[0094] (comparison) The processing for the video data V1 and the processing for the video data V2 will be compared below.

[0095] For both video data V1 and V2, a delay of one unit of time occurs during encoding. Therefore, for both video data V1 and V2, a delay of one unit of time occurs from when they are acquired until they are displayed.

[0096] A frame constituting video data V1 and a frame constituting video data V2 corresponding to the frame (i.e., acquired at the same time) start displaying at the same time. That is, video data V1 and V2 are output synchronously.

[0097] (Display example) 4 is a diagram showing an example of display of video data V1 and V2 according to this comparative example. As shown in FIG. 4, display unit 51 of user terminal 50 displays video data V1 and V2 obtained by capturing an image of clock C.

[0098] The display time of the clock C displayed by the video data V1 and V2 is delayed from the actual display time of the clock C. This is due to the effect of a delay time that occurs during encoding.

[0099] The display times of the clocks C displayed by the video data V1 and V2 are approximately the same. This is because the video data V1 and V2 are output synchronously. Note that slight discrepancies in the display times of the clocks C displayed by the video data V1 and V2 can be caused by discrepancies in the operating cycles of the autonomous mobile robots 10-1 and 10-2, etc.

[0100] (2) Second Comparative Example The second comparative example is an operation example in which delay control by the delay control server 40 is disabled, the bandwidth is constrained, and smoothing of the video data V2 is not performed. This comparative example will be described below with reference to Fig. 2 again, and further with reference to Figs. 5 and 6.

[0101] (Processing of video data V1) The processing for the video data V1 is as described above with reference to FIG.

[0102] (Processing of video data V2) 5 is a diagram showing an example of processing relating to video data V2 according to this comparative example. The time chart and symbols shown in FIG. 5 have the same meanings as those in FIG.

[0103] First, as shown in the first row of FIG. 5, autonomous mobile robot 10-2 acquires frames "1" to "5" of video data V2 at times t0, t3, t6, t9, and t12.

[0104] Next, as shown in the second row of Figure 5, autonomous mobile robot 10-2 encodes frames "1" to "5" of video data V2, obtaining packets "1" to "5-2" at times t1, t4, t7, t10, and t13. Comparing the first row with the second row, it can be seen that the delay time required for encoding is one unit time.

[0105] Next, as shown in the third row of FIG. 5, autonomous mobile robot 10-2 transmits packets "1" to "5-2" of video data V2 at times t1, t4, t7, t10, and t13.

[0106] Next, as shown in the fourth row of Figure 5, the user terminal 50 receives packets "1," "2-1," "3," "4-1," and "5-1" of video data V2 at times t1, t4, t7, t10, and t13. However, the user terminal 50 fails to receive packets "2-2," "4-2," and "5-2" of video data V2. This is because these packets were lost due to network congestion.

[0107] Then, as shown in the fifth row of Figure 5, the user terminal 50 starts displaying frame "1" stored in packet "1" of video data V2 from time t1. Next, the user terminal 50 starts displaying part of frame "2" stored in packet "2-1" from time t4. After that, the user terminal 50 starts displaying part of frame "3" stored in packet "3" and frames "4" and "5" stored in packets "4-1" and "5-1" from times t7, t10, and t13, respectively.

[0108] (comparison) The processing for the video data V1 and the processing for the video data V2 will be compared below.

[0109] For both video data V1 and V2, a delay of one unit of time occurs during encoding. Therefore, for both video data V1 and V2, a delay of one unit of time occurs from when they are acquired until they are displayed.

[0110] A frame constituting video data V1 and a frame constituting video data V2 corresponding to the frame (i.e., acquired at the same time) start displaying at the same time. That is, video data V1 and V2 are output synchronously.

[0111] The frames that make up video data V1 are displayed in their entirety. On the other hand, the frames that make up video data V2 are displayed in a partially missing state. As a result, block noise and the like may occur in frames "2," "4," and "5" in video data V2.

[0112] (Display example) 6 is a diagram showing an example of display of video data V1 and V2 according to this comparative example. As shown in Fig. 6, display unit 51 of user terminal 50 displays video data V1 and V2 obtained by capturing an image of clock C.

[0113] The display time of the clock C displayed by the video data V1 and V2 is delayed from the actual display time of the clock C. This is due to the effect of a delay time that occurs during encoding.

[0114] The display times of the clocks C displayed by the video data V1 and V2 are approximately the same because the video data V1 and V2 are output in synchronization.

[0115] Video data V1 is displayed in its entirety, while video data V2 is displayed with some parts missing. This is due to packet loss caused by network congestion.

[0116] (3) Third Comparative Example The third comparative example is an example of operation when delay control by the delay control server 40 is disabled, the bandwidth is constrained, and smoothing of the video data V2 is performed. This comparative example will be described below with reference to Fig. 2 again, and further with reference to Figs. 7 and 8.

[0117] (Processing of video data V1) The processing for the video data V1 is as described above with reference to FIG.

[0118] (Processing of video data V2) 7 is a diagram showing an example of processing relating to video data V2 according to this comparative example. The time chart and symbols shown in FIG. 7 have the same meanings as those in FIG.

[0119] First, as shown in the first row of FIG. 7, autonomous mobile robot 10-2 acquires frames "1" to "5" of video data V2 at times t0, t3, t6, t9, and t12.

[0120] Next, as shown in the second row of Figure 7, autonomous mobile robot 10-2 encodes frames "1" to "5" of video data V2, obtaining packets "1" to "5-2" at times t1, t4, t7, t10, and t13. Comparing the first row with the second row, it can be seen that the delay time required for encoding is one unit time.

[0121] Next, as shown in the third row of Figure 5, autonomous mobile robot 10-2 transmits packets "1" to "5-2" of video data V1 at times t1, t4, t5, t7, t10, t11, t13, and t14. Here, autonomous mobile robot 10-2 smoothes the divided packets, i.e., it does not transmit them simultaneously, but waits one unit of time before transmitting them one by one. Comparing the second row with the third row, it can be seen that the delay time required for smoothing is one unit of time.

[0122] As a result, the total delay time of packets "1", "2-1", "3", "4-1", and "5-1" that are not smoothed (i.e., not delayed) is 1 unit time. On the other hand, the total delay time of packets "2-2", "4-2", and "5-2" that are smoothed is 2 units time.

[0123] Next, as shown in the fourth row of FIG. 5, the user terminal 50 receives packets "1" to "5-2" of the video data V2 at times t1, t4, t5, t7, t10, t11, t13, and t14.

[0124] Then, as shown in the fifth row of Figure 5, the user terminal 50 starts displaying frame "1" stored in packet "1" of video data V2 from time t1. Next, the user terminal 50 starts displaying frame "2" stored in packets "2-1" and "2-2" from time t5 when reception of these packets is complete. After that, the user terminal 50 starts displaying frames "3," "4," and "5" stored in packets "3," "4-1," "4-2," "5-1," and "5-2" from times t7, t11, and t14, respectively.

[0125] The divided packets may include information indicating the division positions, and the user terminal 50 may determine whether to wait for the arrival of the divided packets based on such information. For example, packet "2-1" may include information indicating that it is the first packet, and packet "2-2" may include information indicating that it is the last packet. The user terminal 50 may then wait for the arrival of "2-2," which includes information indicating that it is the last packet, before restoring the original frame.

[0126] (comparison) The processing for the video data V1 and the processing for the video data V2 will be compared below.

[0127] In video data V1, a delay of one unit of time occurs during encoding. Therefore, in video data V1, a delay of one unit of time occurs from when it is acquired until it is displayed. On the other hand, in video data V2, a delay of one unit of time occurs during encoding, and a further delay of one unit of time occurs in the smoothed packets. Therefore, in video data V2, a delay of one or two unit of time occurs from when it is acquired until it is displayed.

[0128] A frame constituting video data V1 and a frame constituting video data V2 corresponding to that frame (i.e., acquired at the same time) may start displaying at the same time, or may start displaying at different times. For example, frames "1" of video data V1 and V2 start displaying at the same time. On the other hand, frame "2" of video data V2 starts displaying one unit time later than frame "2" of video data V1. In other words, video data V1 and V2 are not output synchronously.

[0129] (Display example) 8 is a diagram showing an example of display of video data V1 and V2 according to this comparative example. As shown in Fig. 8, display unit 51 of user terminal 50 displays video data V1 and V2 obtained by capturing an image of clock C.

[0130] The display time of the clock C displayed by the video data V1 and V2 is delayed from the actual display time of the clock C. This is due to the effect of delay time that occurs during encoding or smoothing.

[0131] The display times of the clock C displayed by the video data V1 and V2 are different. This is because the video data V1 and V2 are not output in sync. In particular, the display time of the clock C displayed by the video data V2 is earlier (in other words, older) than the display time of the clock C displayed by the video data V1. This is because the video data V2 is displayed later than the video data V1 due to the effects of smoothing.

[0132] (4) Specific examples of delay control The following describes a specific example of processing when delay control is performed by the delay control server 40. Here, it is assumed that delay control by the delay control server 40 is enabled, the bandwidth is constrained, and smoothing of the video data V2 is performed. This specific example will be described below with reference to FIGS. 2 and 7 again, and also with reference to FIGS. 9 and 10.

[0133] 9 is a diagram showing a specific example of processing related to delay control by the delay control server 40 according to this embodiment. The time chart and symbols shown in FIG. 9 have the same meanings as those in FIG.

[0134] As explained above with reference to the first to third rows of Figure 2, autonomous mobile robot 10-1 acquires video data V1, encodes it, and transmits packets "1" to "5" of video data V1 at times t1, t4, t7, t10, and t13.

[0135] As a result, as shown in the first row of FIG. 9, the delay control server 40 receives packets "1" to "5" of the video data V1 at times t1, t4, t7, t10, and t13.

[0136] 9, the delay control server 40 transmits packets "1" to "5" of the video data V1 at times t1, t5, t7, t11, and t14. The user terminal 50 receives these packets at these times.

[0137] Here, the delay control server 40 delays packet "2" received at time t4 by one unit of time and transmits it at time t5. This is because packet "2-2," which corresponds to frame "2" of video data V2 and corresponds to packet "2" of video data V1, is transmitted from autonomous mobile robot 10-2 with a one unit of time delay from video data V1 for smoothing purposes. For the same reason, the delay control server 40 delays packets "4" and "5" by one unit of time from the time of reception and transmits them.

[0138] 9, the user terminal 50 starts displaying frame "1" stored in packet "1" of video data V1 from time t1. After that, the user terminal 50 starts displaying frames "2," "3," "4," and "5" stored in packets "2," "3," "4," and "5" from times t5, t7, t11, and t14, respectively.

[0139] On the other hand, as explained above with reference to the first to third rows of Figure 7, autonomous mobile robot 10-2 acquires video data V2, encodes and smooths it, and transmits packets "1" to "5-2" of video data V2 at times t1, t4, t5, t7, t10, t11, t13, and t14.

[0140] As a result, as shown in the fourth row of Figure 9, the delay control server 40 receives packets "1" to "5-2" of video data V2 at times t1, t4, t5, t7, t10, t11, t13, and t14. The delay control server 40 transmits these packets at these times. The user terminal 50 receives these packets at these times.

[0141] 9, the user terminal 50 starts displaying frame "1" stored in packet "1" of video data V2 from time t1. Next, the user terminal 50 starts displaying frame "2" stored in packets "2-1" and "2-2" from time t5 when reception of these packets is complete. After that, the user terminal 50 starts displaying frames "3," "4," and "5" stored in packets "3," "4-1," "4-2," "5-1," and "5-2" from times t7, t11, and t14, respectively.

[0142] (detail) The details of the delay control performed on the video data V1 and V2 will be described below.

[0143] In the video data V1, a delay of one unit of time occurs during encoding. Therefore, in the video data V1, a delay of one unit of time occurs from when the data is acquired until it is received by the delay control server 40. On the other hand, in the video data V2, a delay of one unit of time occurs during encoding, and a further delay of one unit of time occurs in the smoothed packets. Therefore, in the video data V2, a delay of one or two unit of time occurs from when the data is acquired until it is received by the delay control server 40.

[0144] The delay control server 40 (more specifically, the delay control unit 41) simultaneously transmits the latest-transmitted packets among one or more packets constituting each of multiple pieces of video data to be output that were acquired at corresponding times. Here, "corresponding times" refers to the same time, or, if there is a difference in the operation cycles of the autonomous mobile robots 10 acquiring the video data, refers to approximately the same time. For example, the delay control server 40 simultaneously transmits packet "2," which is the latest-transmitted packet among packets "2" constituting frame "2" of video data V1, and packet "2-2," which is the latest-transmitted packet among packets "2-1" and "2-2" constituting frame "2" of video data V2. The same applies to packets "4" and "5" of video data V1. This configuration enables the user terminal 50 to synchronously output video data V1 and video data V2, even if there is a difference in delay time between the video data V1 and video data V2.

[0145] Here, the delay control server 40 variably controls the delay time of the video data for each packet. In other words, the synchronization information generation server 30 variably sets the additional delay time included in the synchronization information. For example, the delay control server 40 transmits packets "1" and "3" of the video data V1 without delay, while transmitting packets "2," "4," and "5" of the video data V1 with a delay of one unit time. This is because whether or not packets of the video data V2 are smoothed changes dynamically. With this configuration, even if whether or not smoothing is performed changes dynamically, the video data V1 and the video data V2 can be synchronously output from the user terminal 50.

[0146] The amount by which the delay control server 40 delays the transmission of the packets of the video data V1 is set by the additional delay time included in the synchronization information generated by the synchronization information generating server 30 (more specifically, the synchronization information generating unit 31).

[0147] As an example, the synchronization information generation server 30 sets "0", which is the difference between the delay time "1" of packet "1" of video data V1 and the delay time "1" of packet "1" of video data V2, as the additional delay time for packet "1" of video data V1. As a result, the delay control server 40 transmits packet "1" of video data V1 without delay.

[0148] As another example, the synchronization information generation server 30 sets "1", which is the difference between the delay time "1" of packet "2" of video data V1 and the delay time "2" of packet "2-2" of video data V2, as the additional delay time for packet "2" of video data V1. As a result, the delay control server 40 delays packet "2" of video data V1 by one unit time before transmitting it.

[0149] On the other hand, since all packets of video data V2 were acquired at the same time as or later than the corresponding packets of video data V1, the synchronization information generation server 30 sets the additional delay time to "0." As a result, the delay control server 40 transmits all packets of video data V2 without delay.

[0150] By the delay control described above, the frames constituting the video data V1 and the frames constituting the video data V2 corresponding to the frames (i.e., acquired at the same time) start to be displayed at the same time. That is, the video data V1 and V2 are output synchronously.

[0151] (Display example) 10 is a diagram showing a display example of video data V1 and V2 according to this specific example. As shown in Fig. 10, display unit 51 of user terminal 50 displays video data V1 and V2 obtained by capturing an image of clock C.

[0152] The display time of the clock C displayed by the video data V1 and V2 is delayed from the actual display time of the clock C. This is due to the effect of delay time caused by encoding, smoothing, or delay control.

[0153] Unlike the second comparative example described above, the video data V1 and V2 are displayed in their entirety because packet loss is prevented by smoothing.

[0154] Unlike the third comparative example described above, the display times of the clock C displayed by the video data V1 and V2 are approximately the same because the video data V1 and V2 are output in synchronization.

[0155] As described above, the delay control according to this embodiment allows a user to synchronously view multiple pieces of video data delivered by different autonomous mobile robots 10 on a single user terminal 50. As a result, it is possible to reduce the sense of discomfort felt by the user in the video, improve the sense of immersion, and improve the quality of the user experience.

[0156] <2.3. Processing flow> 11 is a sequence diagram showing an example of the flow of processing executed by the content distribution system 1 according to this embodiment. This sequence involves autonomous mobile robot 10-1, autonomous mobile robot 10-2, video data relay server 20, synchronization information generation server 30, delay control server 40, and user terminal 50.

[0157] 11, first, the user terminal 50 selects the video data V1 and V2 as the output target and transmits the selection to the delay control server 40 (step S102). The delay control server 40 transfers the received selection to the synchronization information generation server 30. The selection of the video data to be output is performed based on, for example, a user operation.

[0158] Next, autonomous mobile robot 10-1 acquires and processes video data V1 (step S104-1). That is, autonomous mobile robot 10-1 encodes frames of video data V1, stores them in one or more packets, and smooths them as necessary.

[0159] Next, autonomous mobile robot 10-1 transmits video data V1 to video data relay server 20 (step S106-1). Video data relay server 20 transmits the received video data V1 to delay control server 40.

[0160] Next, autonomous mobile robot 10-1 transmits the delay information to synchronization information generation server 30 (step S108-1). For example, autonomous mobile robot 10-1 transmits delay information including identification information for video data V1 and the delay time required for encoding and smoothing.

[0161] Similarly, the autonomous mobile robot 10-2 acquires and processes the video data V2, transmits the video data V2 to the video data relay server 20, and transmits delay information to the synchronization information generation server 30 (steps S104-2, S106-2, S108-2). The video data relay server 20 transmits the received video data V2 to the delay control server 40.

[0162] The synchronization information generation server 30 generates synchronization information for the video data V1 and V2 selected in step S102 as the output target for the user terminal 50, based on the delay information received in steps S108-1 and S108-2 (step S110). With respect to the specific example described with reference to FIGS. 9 and 10, as one example, the synchronization information generation server 30 generates synchronization information that includes an additional delay time of "0" for packet "1" of the video data V1 and an additional delay time of "0" for packet "2" of the video data V2. As another example, the synchronization information generation server 30 generates synchronization information that includes an additional delay time of "1" for packet "2" of the video data V1 and an additional delay time of "0" for packets "2-1" and "2-2" of the video data V2.

[0163] Next, the synchronization information generating server 30 transmits the generated synchronization information to the delay control server 40 (step S112).

[0164] Then, based on the synchronization information received in step S112, the delay control server 40 adds a delay to the video data V1 and V2 as necessary to synchronize the video data V1 and V2, and transmits the synchronized video data V1 and V2 to the user terminal 50 (steps S114 and S116). For example, in the specific example described with reference to Figures 9 and 10, the delay control server 40 transmits packet "1" of video data V1 without delay, and transmits packet "2" of video data V1 with a delay of one unit time.

[0165] Thereafter, the user terminal 50 displays the synchronized video data V1 and V2 received in step S116 (step S118).

[0166] The above-described processing relating to steps S104-1 to S118 is repeated until the output of the video data at the user terminal 50 is completed or until the video data to be output is changed.

[0167] 3. Second embodiment Fig. 12 is a block diagram showing an example of the configuration of a content distribution system 1 according to the second embodiment of the present invention. As shown in Fig. 12, the content distribution system 1 includes a plurality of autonomous mobile robots 10 (10-1, 10-2, etc.), a delay control server 40, and a plurality of user terminals 50 (50-1, 50-2, etc.). These devices are connected by any wired or wireless network.

[0168] This embodiment differs from the first embodiment in that the video data relay server 20 and the synchronization information generation server 30 are omitted from the content distribution system 1, and the delay control server 40 includes a synchronization information generation unit 31.

[0169] The information processing in the present embodiment differs from the information processing in the first embodiment due to the difference in the configuration described above. As an example, in the present embodiment, video data is directly transmitted from the autonomous mobile robot 10 to the delay control server 40. As another example, synchronization information is generated within the delay control server 40 and transmitted and received within the delay control server 40.

[0170] Except for the difference in information processing due to such a difference in configuration, the information processing in this embodiment is the same as the information processing in the first embodiment.

[0171] In this embodiment, the number of devices can be reduced compared to the first embodiment, which makes it possible to reduce costs and simplify network design to suppress network delays.

[0172] <4. Hardware configuration example> Next, the hardware configuration of an information processing device according to each embodiment will be described with reference to Fig. 13. Fig. 13 is a block diagram showing an example of the hardware configuration of an information processing device according to each embodiment. Note that the information processing device 900 shown in Fig. 13 may realize, for example, the autonomous mobile robot 10, the video data relay server 20, the synchronization information generation server 30, the delay control server 40, or the user terminal 50 shown in Fig. 1 or 12. Information processing by the autonomous mobile robot 10, the video data relay server 20, the synchronization information generation server 30, the delay control server 40, or the user terminal 50 according to each embodiment is realized by cooperation between software and hardware described below.

[0173] As shown in FIG. 13, the information processing device 900 includes a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, a RAM (Random Access Memory) 903, a host bus 904, a bridge 905, an external bus 906, an interface 907, an input device 908, an output device 909, a storage device 910, and a communication device 911.

[0174] The CPU 901 functions as an arithmetic processing unit and control unit, and controls the overall operation of the information processing device 900 in accordance with various programs. The CPU 901 may also be a microprocessor. The ROM 902 stores programs used by the CPU 901, calculation parameters, etc. The RAM 903 temporarily stores programs used in the execution of the CPU 901, and parameters that change as appropriate during the execution. These are interconnected by a host bus 904 that is composed of a CPU bus, etc. The CPU 901 may form, for example, the signal processing unit 12, delay time calculation unit 14, video data relay unit 21, synchronization information generation unit 31, or delay control unit 41 shown in FIG. 1 or 12.

[0175] The host bus 904 is connected to an external bus 906, such as a PCI (Peripheral Component Interconnect / Interface) bus, via a bridge 905. It is not necessary to configure the host bus 904, bridge 905, and external bus 906 separately, and these functions may be implemented on a single bus.

[0176] The input device 908 is composed of input means for the user to input information, such as a mouse, keyboard, touch panel, buttons, microphone, switches, and levers, and an input control circuit that generates an input signal based on the user's input and outputs it to the CPU 901. A user who operates the information processing device 900 can input various data and instruct processing operations to the information processing device 900 by operating this input device 908. The input device 908 can accept a user operation to select video data to be output on the user terminal 50 shown in FIG. 1 or 12, for example.

[0177] The output device 909 may include, for example, a display device that outputs visual information, such as a liquid crystal display (LCD) device, an OLED (Organic Light Emitting Diode) device, or a lamp. The output device 909 may include an audio output device that outputs auditory information, such as a speaker. The output device 909 may include a tactile presentation device that outputs tactile information, such as an eccentric motor. The output device 909 may form, for example, the display unit 51 shown in FIG. 1 or FIG. 12.

[0178] The storage device 910 is a device for storing data. The storage device 910 may include a storage medium, a recording device for recording data on the storage medium, a reading device for reading data from the storage medium, and a deleting device for deleting data recorded on the storage medium. The storage device 910 is configured, for example, with an HDD (Hard Disk Drive). This storage device 910 drives a hard disk and stores programs executed by the CPU 901 and various data. The storage device 910 may buffer video data, store delay information, store synchronization information, and store information indicating video data to be output to the user terminal 50 in, for example, the autonomous mobile robot 10, the video data relay server 20, or the delay control server 40 shown in FIG. 1 or 12.

[0179] The communication device 911 is, for example, a communication interface configured with a communication device for connecting to a network. The communication device 911 may support either wireless communication or wired communication. The communication device 911 may communicate with other devices, for example, the autonomous mobile robot 10, the video data relay server 20, the synchronization information generation server 30, the delay control server 40, or the user terminal 50 shown in FIG. 1 or 12.

[0180] The above describes an example of a hardware configuration capable of realizing the functions of the information processing device 900 according to each embodiment. Each of the above components may be realized using general-purpose components, or may be realized by hardware specialized for the function of each component. Therefore, the hardware configuration used can be changed as appropriate depending on the technical level at the time of implementing each embodiment.

[0181] <5. Supplementary Information> Although the preferred embodiments of the present invention have been described in detail above with reference to the accompanying drawings, the present invention is not limited to these examples. It is clear that a person skilled in the art to which the present invention pertains can conceive of various modifications and alterations within the scope of the technical ideas set forth in the claims, and it is understood that these also naturally fall within the technical scope of the present invention.

[0182] For example, although the above describes an example in which a frame of video data is divided into two packets and stored, the present invention is not limited to such an example. A frame of video data may be divided into three or more packets and stored.

[0183] For example, although the above description cites a remote tour service using the autonomous mobile robot 10 as an example of an application of the present invention, the application of the present invention is not limited to this example. As one example, the present invention may be applied to a remote tour service in which video data acquired by a camera other than the autonomous mobile robot 10, such as a fixed camera and a smartphone camera, is viewed synchronously. As another example, the present invention may be applied to a use case in which video data captured from multiple angles at the same time is displayed simultaneously on a remotely installed display to check the status of a factory production line. In this case, because the video data captured from multiple angles can be viewed synchronously, the user can correctly adjust the production line even from a remote location, just as if they were on-site.

[0184] For example, while video data has been cited above as an example of content, the present invention is not limited to such an example. Audio data may also be used as content. Furthermore, content is not limited to content that is viewed, and may be, for example, sensor data such as time-series data of acceleration.

[0185] For example, in the above description, it is assumed that there is no network delay, but the present invention can also be applied when there is a network delay. In that case, the delay control described above can be further performed based on the network delay. Note that the technology described in Patent Document 1 can be used for delay control based on the network delay.

[0186] For example, although the above describes an example in which one user terminal 50 synchronously outputs video data, the present invention is not limited to such an example. Video data may be synchronously output from multiple user terminals 50. In this case, synchronization information may be generated for each terminal group in the delay control described above. However, if there is a difference in delay time between multiple user terminals 50 included in the same terminal group, delay control based on the difference in delay time between the user terminals 50 may be further executed. Note that the technology described in Patent Document 1 above can be used for delay control based on the difference in delay time between the user terminals 50.

[0187] At least a part of the processing described in this specification as being performed by a specific device may be performed by any other device. As an example, the delay control unit 41 may be included in the user terminal 50. As another example, the synchronization information generation unit 31 and the delay control unit 41 may be included in the user terminal 50.

[0188] The series of processes performed by each device described herein may be implemented using software, hardware, or a combination of software and hardware. The software programs may be stored in advance, for example, on a recording medium (more specifically, a non-transitory computer-readable storage medium) internal or external to each device. Each program is loaded into a random access memory (RAM) and executed by a processing circuit such as a central processing unit (CPU). The recording medium may be, for example, a magnetic disk, an optical disk, a magneto-optical disk, or a flash memory. The computer program may be distributed, for example, via a network without using a recording medium. The computer may be an application-specific integrated circuit (ASIC), a general-purpose processor that executes functions by loading a software program, or a computer on a server used in cloud computing. The series of processes performed by each device described herein may be centrally processed by a single computer or distributed across multiple computers. Furthermore, in each of the above embodiments, two or more communication means present in one device may be physically implemented on a single medium.

[0189] Furthermore, the processes described herein using flowcharts or sequence diagrams do not necessarily have to be performed in the order shown. Some process steps may be performed in parallel. Furthermore, additional process steps may be employed, and some process steps may be omitted. [Explanation of symbols]

[0190] 1 Content distribution system 10 Autonomous Mobile Robot 11 Camera 12 Signal Processing Section 13 Video data transmission unit 14 Delay time calculation section 15 Delay information transmission unit 20 Video data relay server 21 Video data relay unit 30 Synchronization information generation server 31 Synchronization information generation section 40 Delay Control Server 41 Delay control section 50 User Terminals 51 Display section

Claims

1. a delay control unit that synchronizes a plurality of contents to be output to a terminal device among a plurality of contents delivered in real time by a plurality of content delivery devices and transmits the plurality of contents to the terminal device; the delay control unit delays each of the plurality of contents to be output according to a difference in delay time between the plurality of contents to be output, and transmits the delayed content to the terminal device; the delay time of the content includes a time required for a transmission process of the content in the content distribution device; Control device.

2. the delay time of the content includes a time required to encode the content; The control device according to claim 1 .

3. the delay time of the content includes a time during which transmission of the content is suspended in order to smooth out communication traffic; The control device according to claim 1 .

4. the delay time of the content is acquired by the content distribution device; The control device according to claim 1 .

5. the delay control unit delays each of the plurality of contents to be output according to a difference between a delay time of the content and the longest delay time among the delay times of the plurality of contents to be output, and transmits the delayed content to the terminal device. The control device according to claim 1 .

6. the delay control unit simultaneously transmits the latest data unit among one or more data units constituting each of the plurality of contents to be output that were acquired at corresponding times; The control device according to claim 5 .

7. the delay control unit variably controls a time for delaying the content for each data unit. The control device according to claim 6.

8. 1. A computer-implemented control method comprising: Among a plurality of contents distributed in real time by a plurality of content distribution devices, a plurality of contents to be outputted at a terminal device are synchronized and transmitted to the terminal device; transmitting the plurality of contents includes transmitting each of the plurality of contents to be output to the terminal device with a delay corresponding to a difference in delay time between the plurality of contents to be output; the delay time of the content includes a time required for a transmission process of the content in the content distribution device; Control method.

9. Computer, a delay control unit that synchronizes a plurality of contents to be output to a terminal device among a plurality of contents delivered in real time by a plurality of content delivery devices and transmits the plurality of contents to the terminal device; It functions as the delay control unit delays each of the plurality of contents to be output according to a difference in delay time between the plurality of contents to be output, and transmits the delayed content to the terminal device; the delay time of the content includes a time required for a transmission process of the content in the content distribution device; program.

10. a plurality of content distribution devices that distribute content in real time; a control device that synchronizes a plurality of the contents to be output at a terminal device among the plurality of the contents delivered in real time by the plurality of the content delivery devices and transmits the synchronized contents to the terminal device; the terminal device that outputs the plurality of contents received from the control device; Equipped with the control device delays each of the plurality of contents to be output according to a difference in delay time between the plurality of contents to be output, and transmits the delayed content to the terminal device; the delay time of the content includes a time required for a transmission process of the content in the content distribution device; Content distribution system.

11. the content distribution device transmits identification information of the content and the delay time of the content in association with each other; The content distribution system according to claim 10.

12. The content distribution device stores the content in one data unit or divides the content into two or more data units, stores the data, and transmits the data. The content distribution system according to claim 10.

13. the content distribution device transmits the two or more data units obtained by dividing the content and storing them at different timings in order to smooth out communication traffic; The content distribution system according to claim 12.

14. The content distribution system further includes a synchronization information generation device that generates synchronization information including information indicating a length of a delay when the control device transmits the plurality of content items to be output to the terminal device. The content distribution system according to claim 10.

15. A content distribution method executed by a content distribution system having a plurality of content distribution devices, a control device, and a terminal device, comprising: a plurality of the content distribution devices distributing content in real time; the control device synchronizes and transmits to the terminal device a plurality of the contents to be output at the terminal device, among the plurality of contents delivered in real time by the plurality of the content delivery devices; The terminal device outputs the plurality of contents received from the control device; Including, transmitting the plurality of contents by the control device includes transmitting each of the plurality of contents to be output to the terminal device with a delay corresponding to a difference in delay time between the plurality of contents to be output; the delay time of the content includes a time required for a transmission process of the content in the content distribution device; Content delivery methods.

Citation Information

Patent Citations

  • Processing device, program, and processing method

    JP2025104636A