Transmission device, server device, method, and program
Patent Information
- Application Number
- JP2024203890
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-11-22
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2038-11-02
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The embodiment of the present invention relates to a transmission device, a server device, a transmission method, and a program. [Background technology]
[0002] Adaptive streaming such as HLS (HTTP Live Streaming) and MPEG-DASH (Moving Picture Experts Group-Dynamic Adaptive Streaming over HTTP) can be applied to systems (video distribution systems, video surveillance systems) that distribute and enable monitoring of video (moving image data) captured by a camera, for example. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6239472 [Non-patent literature]
[0004] [Non-Patent Document 1] R. Pantos et al., "RFC 8216, HTTP Live Streaming", [online], August 2017, retrieved from the Internet:<URL:http: / / www.ietf.org / rfc / rfc8216.txt> Summary of the Invention [Problem to be solved by the invention]
[0005] However, in the conventional technology, there was a risk of an increase in the load on the network lines that transmit data (such as video) and the processing load of the system. For example, as the number of connected cameras increases, there is a possibility that the load on the network lines for transmitting video from the cameras and the processing load on the server that records and distributes the video may increase. [Means for solving the problem]
[0006] A transmission device according to an embodiment includes a division unit, a transmission unit, a storage control unit, and a reception unit. The division unit divides a plurality of transmission data to be transmitted into first data and second data. The transmission unit transmits the first data to a server device that distributes the transmission data to the reception device. The storage control unit stores the second data in the storage unit. The reception unit receives a transmission request for the second data from the reception device or the server device. The transmission unit further transmits the second data to the server device in response to the transmission request. [Brief description of the drawings]
[0007] [Figure 1] FIG. 1 is a block diagram of a video distribution system according to an embodiment of the present invention. [Diagram 2] 1 is a diagram showing an overview of a distribution process performed by a video distribution system according to an embodiment of the present invention; [Diagram 3] FIG. 2 is a functional block diagram of each device in the video distribution system of the embodiment. [Figure 4] FIG. 4 is a diagram showing an example of the data structure of a distribution list. [Diagram 5] FIG. 4 is a diagram showing an example of a data structure of determination information. [Figure 6] 4 is a flowchart of a transmission process in the embodiment. [Figure 7] 13 is a flowchart of a process for transmitting stored data. [Figure 8] 5 is a flowchart of a list generation process in the present embodiment. [Figure 9] 5 is a flowchart of a determination information generating process in the present embodiment. [Figure 10]FIG. 4 is a sequence diagram of a content distribution process according to the embodiment. [Figure 11] FIG. 13 is a diagram for explaining an example of determining a distribution list using determination information. [Figure 12] FIG. 13 is a diagram showing an example of updated determination information. [Figure 13] FIG. 13 is a diagram for explaining an example of determining a distribution list using determination information. [Figure 14] FIG. 13 is a diagram showing an example of the configuration of a video distribution system according to a modified example. [Figure 15] FIG. 13 is a diagram showing an overview of a distribution process performed by a video distribution system according to a modified example. [Figure 16] FIG. 2 is a hardware configuration diagram of a transmission device according to the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of a transmitting device according to the present invention will be described in detail with reference to the accompanying drawings.
[0009] In conventional video distribution systems using adaptive streaming, in order to reliably record the high-quality video stream (an example of transmission data) required for distributing high-quality live video, it is necessary to prepare a network line with a high transmission rate.
[0010] On the other hand, in a large-scale video distribution system where many cameras are connected, a large amount of camera images are always transmitted. Therefore, in order to reduce the line load and costs, it is desirable to use a network line with a low transmission rate between the camera and the server device that records the images. However, a line with a low transmission rate may result in low quality live images, which may interfere with monitoring work.
[0011] Therefore, in this embodiment, a video distribution system is realized that can reduce the line load and processing load without degrading the quality.
[0012] Here, an example of transmission data to which this embodiment can be applied will be described. The transmission data includes time-series data in which a time sequence is determined, such as video data and sensor data.
[0013] The video data is data captured by an imaging device such as a camera or a frame capture device. The video data is acquired, for example, in real time from the imaging device and used as content to be distributed. After being captured, the video data may be temporarily stored in a storage medium and used as content to be distributed.
[0014] Sensor data is data indicating a value detected by a sensor (detection device), and includes, for example, information on the time when the data was detected (sampled). The sensor may be any device. For example, a microphone that captures sound, a GPS (Global Positioning System) device that captures location information, and a sensor that periodically or irregularly detects the temperature, speed, pressure, etc. of the surrounding environment or electronic devices to be detected and outputs the sensor data can be used.
[0015] In the following, an example will be described in which moving image data is mainly used as transmission data.
[0016] Fig. 1 is a block diagram showing an example of the configuration of a video distribution system according to this embodiment. As shown in Fig. 1, the video distribution system includes a transmitting device 100 (an example of a transmitting device), a distribution server 200 (an example of a server device), and a client 300 (an example of a receiving device). The transmitting device 100 and the distribution server 200 are connected by a network 401. The distribution server 200 and the client 300 are connected by a network 402.
[0017] The networks 401 and 402 may be any network, such as the Internet. For example, the networks 401 and 402 may be either a wired network or a wireless network. The networks 401 and 402 may also be configured as a single integrated network.
[0018] The configuration of the communication system shown in Fig. 1 is an example, and is not limited thereto. For example, a plurality of transmitting devices 100, a plurality of distribution servers 200, and a plurality of clients 300 may be provided. Also, each of the transmitting devices 100, the distribution servers 200, and the clients 300 may be physically configured by one device, or may be physically configured by a plurality of devices. For example, the distribution server 200 may be constructed on a cloud environment.
[0019] FIG. 2 is a diagram showing an overview of a distribution process by the video distribution system of this embodiment. The transmitting device 100 inputs video and encodes the input video. The transmitting device 100 compresses and encodes the video according to a standard such as H.264. The encoded video includes, for example, I-pictures and P-pictures. An I-picture is image data encoded by intra-frame prediction, and includes a full-screen range that can be played back independently. A P-picture is image data encoded by inter-frame prediction based on an I-picture. A P-picture cannot be played back independently, but can be played back in combination with an I-picture.
[0020] The transmitting device 100 divides (fragments) these encoded videos into pictures. The transmitting device 100 then transmits some of the divided pictures (e.g., I pictures) to the distribution server 200, and stores the rest (e.g., P pictures) in a storage unit. The transmitting device 100 may also store the pictures transmitted to the distribution server 200 in a storage unit for playback (local playback), backup, and the like.
[0021] The distribution server 200 normally distributes only the I-pictures transmitted from the transmission device 100 to the client 300. The client 300 displays the distributed video using, for example, a viewer application. The viewer application is an application included in, for example, a browser, for displaying and enabling viewing of the video. Since the I-pictures are transmitted at regular intervals (for example, several pictures per second, or one picture per several seconds), the client 300 displays video (flip book comics, frame-by-frame (intermittent) video) in which still images (I-pictures) are updated at regular intervals. The viewer application can be realized, for example, as an application using MSE (Media Source Extensions), which is an application programming interface for HTML (Hyper Text Markup Language) 5. This enables streaming playback using HTTP download.
[0022] When a user operating the client 300 requests the display of a P picture, the transmitting device 100 reads out the stored P picture and transmits it to the distribution server 200. The distribution server 200 distributes the transmitted P picture to the client 300. The distribution server 200 may distribute the transmitted P picture as is, or may distribute a P picture that has been subjected to only processing (such as changing the transmission packet format) other than conversion processing (such as recompression) on the image data. The viewer application of the client 300 synthesizes and displays an already received I picture and a later received P picture. This allows the client 300 to display a smoother image. If the transferred data (e.g., an I picture) is stored in a storage unit in the client 300, it can be used for synthesis with a later received P picture. In other words, the transferred data does not need to be transmitted again from the transmitting device 100 and the distribution server 200. Therefore, the amount of transmission data can be reduced compared to a method of retransmitting all video data including the P picture.
[0023] As described above, the distribution server 200 distributes the image data transmitted from the transmitting device 100 to the client 300 either directly or by processing only the transmission packet format, without applying conversion processing such as recompression to the image data. For example, the distribution server 200 does not need to execute processing to convert the image data into a video with reduced quality so that it can be distributed at a low transmission rate. This makes it possible to avoid an increase in the processing load of the distribution server 200 and a deterioration in image quality. Furthermore, since only I-pictures are distributed during normal times, the amount of communication can be suppressed. In this way, it is possible to reduce the line load and processing load without degrading the quality.
[0024] Note that an I-picture is a part of data constituting a video (moving image data), but can be treated as a still image. For example, a browser (viewer application) running on the client 300 may be able to display an I-picture included in moving image data as still image data. Therefore, it is possible to display an I-picture as still image data without performing compression processing into a still image, such as JPEG (Joint Photographic Experts Group). Since an I-picture has a smaller data size (higher compression efficiency) than a still image in JPEG format, it is possible to further reduce line load and processing load. Also, when the distributed video is used for image recognition, it is possible to use an I-picture as input data for image recognition without converting the video into a still image.
[0025] Next, a detailed configuration of each device in the video distribution system of this embodiment will be described below. Fig. 3 is a block diagram showing an example of the functional configuration of each device in the video distribution system of this embodiment.
[0026] As shown in FIG. 3, the transmission device 100 includes an imaging unit 101, a storage unit 121, an encoding unit 111, a division unit 112, a data transmission unit 113, a storage control unit 114, and a request receiving unit 115.
[0027] The imaging unit 101 captures and outputs video (moving image data). The imaging unit 101 can be realized by, for example, an imaging element such as a charge coupled device (CCD) or a CMOS image sensor (CIS), or a frame memory, a frame grabber, and a frame buffer capture such as a screen capture.
[0028] The storage unit 121 stores various data used in various processes performed by the transmission device 100. For example, the storage unit 121 stores video captured by the imaging unit 101.
[0029] The encoding unit 111 encodes the video input from the imaging unit 101. Any encoding method may be used by the encoding unit 111, but for example, an encoding method conforming to a standard such as H.264 may be applied. For example, the encoding unit 111 compresses and encodes the video, and outputs the video including I-pictures and P-pictures. Each picture of the encoded video corresponds to a plurality of pieces of transmission data to be transmitted.
[0030] Division unit 112 divides the encoded video into data (first data) to be transmitted to distribution server 200 and data (second data) to be stored in storage unit 121 without being transmitted. For example, division unit 112 divides the encoded video for each picture, such that an I picture is data to be transmitted to distribution server 200 (fragment data) and a P picture is data to be stored in storage unit 121 (fragment data). Division unit 112 may divide the video such that each divided picture becomes one file (fragment file). As for the data to be stored in storage unit 121, division unit 112 may divide the data such that multiple pictures are included in one file.
[0031] The method of dividing data by the division unit 112 is not limited to this, and any method may be used. For example, the division unit 112 may divide the encoded video into I pictures selected at regular intervals from a plurality of I pictures, and other pictures (the remaining I pictures and P pictures). For another example, the division unit 112 may divide the encoded video into I pictures and P pictures selected at regular intervals from a plurality of P pictures, and other pictures (the remaining P pictures). For another example, the division unit 112 may divide the encoded video into I pictures selected at regular intervals from a plurality of I pictures, P pictures selected at regular intervals from a plurality of P pictures, and other pictures (the remaining I pictures and P pictures).
[0032] The data to be transmitted to the distribution server 200 may be represented in a format that can be directly distributed by the distribution server 200. For example, the division unit 112 may convert the divided data so that the divided data has a format conforming to a standard such as Fragmented MP4 (fMP4).
[0033] The data to be transmitted to the distribution server 200 may be represented in a format to which data (metadata) that allows the data to be converted into a format for distribution by the distribution server 200 is added. For example, the division unit 112 may add metadata including information required for conversion to the divided data so that the data can be converted into a format conforming to a standard such as fMP4 on the distribution server 200 side. The information required for conversion includes, for example, information for identifying the transmitting device 100 (such as an IP address and a port number), time (such as the date, time, minute, and second when the image was captured), and the position of the image within that time (such as information indicating the number from the beginning).
[0034] The division unit 112 may change the size or the amount of code of data to be transmitted to the distribution server 200 according to the bandwidth of the network 401. For example, the division unit 112 may divide data corresponding to a size that can be transmitted within the allocated bandwidth of the network 401 without delay or the like, or data with an encoding bit rate within the bandwidth of the network 401, as data to be transmitted to the distribution server 200. For example, when the bandwidth of the network 401 is large, the division unit 112 may divide I pictures and a part of P pictures as data to be transmitted to the distribution server 200, and as the bandwidth becomes smaller, only I pictures and a part of the I pictures (e.g., I pictures thinned out at a certain number) may be divided as data to be transmitted to the distribution server 200. As an encoding method when partially distributing P pictures, for example, a method described in Patent Document 1 may be used.
[0035] The division unit 112 may change the size or code amount of the data to be transmitted to the distribution server 200 by dynamically switching the division method as described above depending on the bandwidth of the network 401 or in response to a request from the client 300 or the distribution server 200.
[0036] If the data encoded by the encoding unit 111 is simply divided, the sizes of the divided data may not match. For example, if the encoding unit 111 has a function of adjusting the code amount of each picture according to the bandwidth of the network 401, the sizes of each I-picture and each P-picture may differ from each other. Therefore, if, for example, an I-picture among the pictures encoded in this way is divided as data to be transmitted to the distribution server 200, the sizes of the divided I-pictures may also differ from each other.
[0037] Therefore, the encoding unit 111 may adjust the code amount according to the bandwidth of the network 401 so that the size or encoding bit rate of the divided data is a size or encoding bit rate that can be transmitted without causing delay within the allocated bandwidth of the network 401. For example, in the case where the division unit 112 divides the video so as to transmit only I-pictures to the distribution server 200, the encoding unit 111 may encode the video so that the size of the I-picture is a certain size that can be transmitted without causing delay within the bandwidth of the network 401, or so that the encoding bit rate is within the bandwidth of the network 401.
[0038] Data transmitting unit 113 transmits data to an external device such as distribution server 200. For example, data transmitting unit 113 transmits data (first data) to be transmitted to distribution server 200, among the data divided by division unit 112, to distribution server 200. Furthermore, when a transmission request for data stored in storage unit 121 is received by request receiving unit 115 (described later), data transmitting unit 113 transmits the requested data to distribution server 200.
[0039] The storage control unit 114 controls the storage process for the storage unit 121. For example, the storage control unit 114 stores in the storage unit 121 data that is not to be transmitted to the distribution server 200, among the data divided by the division unit 112. The storage control unit 114 may store in the storage unit 121 the data (first data) transmitted to the distribution server 200. At this time, the storage control unit 114 may manage the stored data using metadata indicating that the transmitted data (first data) has been transmitted or indicating that the second data has not been transmitted. The storage control unit 114 may delete data stored in the storage unit 121 according to a predetermined condition. For example, the storage control unit 114 may delete data that has been stored for a certain period of time.
[0040] The request receiving unit 115 receives a transmission request for the data stored in the storage unit 121 from the distribution server 200. In the case of a configuration in which a request is transmitted from the client 300 via a control server or the like other than the distribution server 200, the request receiving unit 115 may receive a transmission request for the data stored in the storage unit 121 from such a control server.
[0041] Each of the above units (encoding unit 111, division unit 112, data transmission unit 113, memory control unit 114, request receiving unit 115) is realized, for example, by one or more processors. For example, each of the above units may be realized by having a processor such as a CPU (Central Processing Unit) execute a program, i.e., by software. Each of the above units may be realized by a processor such as a dedicated IC (Integrated Circuit), i.e., by hardware. Each of the above units may be realized by using a combination of software and hardware. When multiple processors are used, each processor may realize one of the units, or two or more of the units.
[0042] The functions of the transmitting device 100 may be distributed among a plurality of physically or logically different devices. For example, they may be divided into a device including the imaging unit 101 and the encoding unit 111 (video input and encoder in FIG. 2) and a device including the remaining units (fragmentation and storage units in FIG. 2). In this case, the data encoded by the encoding unit 111 is input to the latter device via a communication path such as a network or a coaxial cable. The latter device may be configured to obtain the encoded data via the communication path.
[0043] Next, the configuration of distribution server 200 will be described. Distribution server 200 distributes a distribution list and determination information to client 300 via network 402. The distribution list is a list that describes information about data to be distributed (hereinafter, also referred to as content). Usually, a content distributor describes metadata such as the content acquisition destination and bit rate in the distribution list. A content acquirer can specify the content to acquire by acquiring and analyzing the distribution list.
[0044] The contents listed in the distribution list may include not only transmittable contents, but also non-transmittable contents, contents for which transmission is not permitted, etc. The determination information is information for the receiving device (client 300) to determine whether or not to request transmission of the contents included in the distribution list.
[0045] As shown in FIG. 3, the distribution server 200 includes a detection unit 201, a list generation unit 211, a judgment information generation unit 212, a list transmission unit 213, a judgment information transmission unit 214, a request transmission / reception unit 215, a distribution unit 216, a data receiving unit 217, a memory control unit 218, a temporary memory unit 221, and a memory unit 222.
[0046] The detection unit 201 detects that the content has become transmittable. For example, the detection unit 201 determines that the content has become transmittable when the content is provided from a content providing device (such as the transmission device 100) that provides the content. The detection unit 201 may monitor a storage area (such as the temporary storage unit 221) in which the content is stored, and determine that the content has become transmittable when the content is stored.
[0047] The list generation unit 211 generates a distribution list. The list generation unit 211 generates a distribution list, for example, when a request is received from the client 300 to generate and transmit a distribution list. The trigger for generating the distribution list is not limited to this, and any trigger may be used. For example, the list generation unit 211 may generate a distribution list of content to be transmitted in the next period every time a certain amount of time has elapsed. The list generation unit 211 may generate a distribution list when content is provided by a providing device, when an instruction to generate the distribution list is received, or the like.
[0048] Fig. 4 is a diagram showing an example of the data structure of a distribution list. As shown in Fig. 4, the distribution list includes identification information for identifying content. Fig. 3 shows an example in which a uniform resource locator (URL) of the content is used as the identification information. Information other than a URL may be used as the identification information as long as it can identify the content. The distribution list may include information other than the identification information. In this embodiment, a distribution list is created that includes, for example, a URL for each divided data (picture, etc.).
[0049] Returning to Fig. 3, the determination information generating unit 212 generates determination information. For example, when the content is transmittable, the determination information generating unit 212 generates determination information indicating that the content is transmittable, and when the content is not transmittable, the determination information generating unit 212 generates determination information indicating that the content is not transmittable. Furthermore, when the situation indicating whether the content is transmittable or not changes, the determination information generating unit 212 generates determination information updated to correspond to the changed situation.
[0050] The determination information generating unit 212 generates the determination information, for example, when requested by the client 300 to generate and transmit the determination information. When the distribution list is generated by the list generating unit 211, the determination information generating unit 212 may generate the determination information at that time. The trigger for generating the determination information is not limited to this, and any trigger may be used. For example, the determination information generating unit 212 may detect whether or not the content has become transmittable every time a certain period of time has elapsed, for example, using the detecting unit 201, and generate updated determination information according to the detection result.
[0051] Fig. 5 is a diagram showing an example of the data structure of the determination information. The determination information in Fig. 5 is an example of the determination information for determining whether the four contents listed in the distribution list in Fig. 4 can be transmitted. For example, "○" indicates that the content can be transmitted, and "×" indicates that the content cannot be transmitted. In the example of Fig. 5, four pieces of determination information ("○" or "×") corresponding to the four contents ("ContentA_1", "ContentA_2", "ContentA_3", "ContentA_4") corresponding to the four URLs in Fig. 4 are specified in the corresponding order.
[0052] As long as the method allows for specifying the judgment information for each content, judgment information having a data structure other than that shown in Fig. 5 may be used. For example, content identification information may be associated with the judgment information. Information for identifying a distribution list may be associated with the judgment information so as to make it possible to identify which distribution list the judgment information corresponds to.
[0053] The state where content can be transmitted means, for example, that the content to be distributed has been provided to distribution server 200 and can be transmitted to client 300. The state where content cannot be transmitted means, for example, that the content to be distributed has not yet been provided to distribution server 200 and cannot be transmitted to client 300. Note that distribution server 200 may transmit content in response to a request from client 300 (pull-type transmission), or may transmit content without a request from client 300 (push-type transmission).
[0054] Regardless of whether the content is provided or not, the distribution server 200 may specify whether the content is transmittable or not. For example, in order to reduce the communication load, it may be configured to generate determination information indicating that some or all of the multiple contents provided are not transmittable, and to make these contents not transmittable. In this way, there may be cases where a content that is transmittable becomes later not transmittable.
[0055] The judgment information may be one for each content, or may be multiple. For example, one or more metadata of the content may be used as the judgment information. The metadata may be, for example, range information indicating the range of the content, the data length of the content, and the type of the content. The range information is, for example, information specifying the range of data to be distributed as the content among certain data. If the range information is determined, the determined range information is set as the judgment information, and if the range information is undetermined, predetermined information indicating that the range information is undetermined (undetermined information) is set as the judgment information. If undetermined information is set as the range information as the judgment information, the client 300 can determine that the corresponding content is not transmittable. In this way, when the metadata is used as the judgment information, it is sufficient to define a data format that allows the metadata to determine whether the content is transmittable or not.
[0056] 3, the list sending unit 213 sends the distribution list generated by the list generation unit 211 to the client 300. For example, the list sending unit 213 sends the distribution list to the client 300 in advance before starting content transmission. The determination information sending unit 214 sends the determination information generated by the determination information generation unit 212 to the client 300.
[0057] The request transmission / reception unit 215 transmits and receives various requests. For example, the request transmission / reception unit 215 receives a request to transmit a distribution list, a request to transmit determination information, and a request to transmit content from the client 300. The request transmission / reception unit 215 also transmits a request to transmit content stored in the storage unit 121 to the transmission device 100.
[0058] The delivery unit 216 transmits the requested content to the client 300 that transmitted the transmission request. When push-type transmission is employed, the delivery unit 216 may transmit the content without a request from the client 300.
[0059] The data receiving unit 217 receives data transmitted from the transmitting device 100. For example, the data receiving unit 217 receives divided data to be transmitted to the distribution server 200. When a transmission request for data stored in the storage unit 121 is transmitted, the data receiving unit 217 receives the data transmitted by the transmitting device 100 in response to the transmission request.
[0060] The storage control unit 218 controls the storage process for the temporary storage unit 221 and the storage unit 222. If the data transmitted from the transmission device 100 and the data converted from the data transmitted from the transmission device 100 into a format for distribution by the distribution server 200 are stored in the storage unit 222 and then distributed, the process of storing data in the storage unit 222 may not keep up with the distribution speed, and the write process to the storage unit 222 may temporarily freeze, causing an abnormality in the write process, which may result in normal distribution. Therefore, the storage control unit 218 stores the data transmitted from the transmission device 100 in the temporary storage unit 221, which is a storage medium that does not cause the above-mentioned abnormality in the write process. When the data is stored in the temporary storage unit 221, the distribution unit 216 reads the data from the temporary storage unit 221 and distributes it to the client 300. At this time, the data transmitted from the transmission device 100 is ultimately stored in the storage unit 222. Therefore, the delivery unit 216 may operate in response to a request from the client 300 as if it were delivering data from the storage unit 222. In other words, in response to a request for data stored in the storage unit 222, the delivery unit 216 may return data stored in the temporary storage unit 221. This function can be realized by recording the association of these files on the delivery server 200 (database, file, symbolic link, etc.) and referring to the association during delivery.
[0061] Then, the storage control unit 218 performs a process (write process) of writing the data stored in the temporary storage unit 221 to the storage unit 222. In the write process, the storage control unit 218 may combine the multiple pieces of data stored in the temporary storage unit 221 into one piece of data and store it in the storage unit 222. For example, the storage control unit 218 may combine the multiple pieces of data captured within a certain period of time so that they are included in one file, and write the combined file (combined file) to the storage unit 222. This makes it possible to avoid a problem in which data cannot be stored due to the number of files stored in the storage unit 222 exceeding the capacity of the operating system, for example.
[0062] After multiple data are combined into one data and stored in storage unit 222, when a request to send data included in the combined data is received from client 300, a function for identifying the relevant data from the combined data is required. Therefore, for example, list creation unit 211 may update the distribution list so that it includes identification information for identifying the relevant data. For example, list creation unit 211 creates a distribution list in which identification information (such as a byte offset from the beginning) indicating the position of data in the combined file is associated with identification information (such as a URL) of the data, and sends the distribution list to client 300.
[0063] When requesting transmission of data by referring to an updated distribution list, client 300 specifies the corresponding specific information together with the identification information of the requested data. For example, client 300 requests data by information in which the specific information is added to a URL indicating the identification information of the data. Client 300 may request data by a transmission request including the specific information in a header (such as an HTTP extension header).
[0064] The requested file name at this time may be the original file name before division. This makes it easy to determine whether the data has already been received and cached on the client 300, and prevents re-acquisition of already acquired data. In this case, the distribution server 200 needs to identify the combined data (combined file) from the original divided files (fragment files). To achieve this, there are two methods: (1) sending information on the combined file for the fragment files as identification information to be sent to the client 300 in advance, and the client 300 writes this information in the HTTP extension header when making a request; and (2) the distribution server 200 identifies the combined file from the requested fragment file name when responding to the request. Regarding (2), (2-1) recording the association with the fragment file when creating the combined file (database, file, symbolic link, etc.), and (2-2) allowing the file to be resolved by itself using a naming rule (for example, in the example of FIG. 4, the combined file name of ContentsA_1 to ContentsA_4 may be ContentsA).
[0065] The distribution server 200 uses the identification information transmitted from the client 300 to identify the relevant data from the combined data, and distributes the identified data to the client 300 that made the request.
[0066] The storage control unit 218 may delete data stored in the storage unit 222 according to a predetermined condition. For example, the storage control unit 218 may delete data that has been stored for a certain period of time. The storage control unit 218 may delete data in stages every time a certain period of time passes. For example, the storage control unit 218 deletes all or part of P pictures from the storage unit 222 after a certain period (for example, one day) has passed, and thereafter, deletes P pictures or I pictures from the storage unit 222 so as to thin them out in stages every time a further certain period (which may be the same as the initial period or may be different) passes. By such processing, when it is desired to reduce the storage capacity for long-term recording, it is possible to obtain a video with increased intermittency over time without performing a process of converting the video into a video with reduced quality. For the gradual deletion of P pictures, for example, an encoding method described in Patent Document 1 can be used.
[0067] Also, for example, the storage control unit 218 may give priority to deleting data that has already been transmitted. At this time, the storage control unit 218 may determine whether data has already been transmitted by using metadata indicating whether data has already been transmitted. Furthermore, the storage control unit 218 may prepare other metadata in advance to be referred to in the deletion process. This metadata is, for example, data that can determine which data corresponds to which picture. More specifically, the metadata includes, for example, the time (such as the date, time, minute, and second when the image was captured), the position of the image within that time (such as information indicating the number from the beginning), the file name, and a byte offset from the beginning of the file.
[0068] The temporary storage unit 221 temporarily stores the received data. For example, the temporary storage unit 221 can be configured with a volatile memory such as a dynamic random access memory (DRAM).
[0069] The storage unit 222 stores various data used by the distribution server 200. For example, the storage unit 222 stores the content to be distributed, the generated distribution list, and the generated determination information. The storage unit 222 can be configured with any commonly used storage medium such as a memory card, a RAM (Random Access Memory), a HDD (Hard Disk Drive), or an optical disk.
[0070] If the above-mentioned abnormality in the write process does not occur, the temporary storage unit 221 may be omitted.
[0071] Each of the above units (detection unit 201, list generation unit 211, judgment information generation unit 212, list transmission unit 213, judgment information transmission unit 214, request transmission / reception unit 215, distribution unit 216, data reception unit 217, and memory control unit 218) is realized, for example, by one or more processors. For example, each of the above units may be realized by having a processor such as a CPU execute a program, that is, by software. Each of the above units may be realized by a processor such as a dedicated IC, that is, by hardware. Each of the above units may be realized by using a combination of software and hardware. When multiple processors are used, each processor may realize one of the units, or two or more of the units.
[0072] The functions of distribution server 200 may be distributed among multiple physically or logically different devices. For example, they may be separated into a server device that transmits a distribution list and a server device that transmits content. Also, for example, they may be separated into a server device that receives data from transmission device 100 and stores it in temporary storage unit 221 and storage unit 222, and a server device that reads data from temporary storage unit 221 and storage unit 222 and distributes it.
[0073] Next, a description will be given of the functions of the client 300. As shown in Fig. 3, the client 300 includes a list receiving unit 311, a determination information receiving unit 312, a determination unit 313, a request transmitting unit 314, a data receiving unit 315, a playback unit 316, and a storage unit 321.
[0074] The list receiving unit 311 receives the distribution list from the distribution server 200. The determination information receiving unit 312 receives the determination information from the distribution server 200.
[0075] The determination unit 313 determines the content to be requested to be transmitted based on the distribution list and the determination information. For example, the determination unit 313 determines the content for which "○" is set as the determination information as shown in FIG. 5, among the contents whose URLs are described in the distribution list shown in FIG. 4, as the content to be requested to be transmitted. When the above-mentioned range information is used as the determination information, the determination unit 313 determines, for example, the content for which unconfirmed information is not set in the range information as the content to be requested to be transmitted. When multiple pieces of determination information are used, the determination unit 313 may determine the content to be requested to be transmitted according to a combination of multiple pieces of determination information. For example, when all pieces of determination information indicate that the content can be transmitted, the determination unit 313 determines the corresponding content as the content to be requested to be transmitted.
[0076] The request sending unit 314 sends a transmission request for the content determined to be requested to be transmitted to the distribution server 200. The data receiving unit 315 receives the content transmitted in response to the transmission request transmitted by the request sending unit 314 from the distribution server 200. The playback unit 316 plays the received content.
[0077] The storage unit 321 stores various data used by the client 300. For example, the storage unit 321 stores a transmitted distribution list, transmitted determination information, and distributed content.
[0078] Each of the above units (list receiving unit 311, judgment information receiving unit 312, judgment unit 313, request transmitting unit 314, data receiving unit 315, and playback unit 316) is realized, for example, by one or more processors. For example, each of the above units may be realized by having a processor such as a CPU execute a program, that is, by software. Each of the above units may be realized by a processor such as a dedicated IC, that is, by hardware. Each of the above units may be realized by using a combination of software and hardware. When multiple processors are used, each processor may realize one of the units, or two or more of the units.
[0079] By using the distribution list and determination information as described above, the distribution server 200 does not need to create and transmit a distribution list every time an update occurs. Also, the client 300 can more easily analyze the updated parts by referring to the determination information. In other words, it becomes possible to efficiently acquire and analyze information equivalent to the latest distribution list without reacquiring and reanalyzing the distribution list.
[0080] Note that, for example, a configuration may be adopted in which a distribution list is created and transmitted each time data is updated without using the determination information. In this case, functions related to the determination information (such as the determination information generating unit 212, the determination information transmitting unit 214, and the determination information receiving unit 312) may not be provided. Also, for example, when push-type transmission or the like is adopted, the distribution server 200 may distribute video to the client 300 without using a distribution list.
[0081] Next, a description will be given of a data transmission process performed by the transmission device 100 according to this embodiment. Fig. 6 is a flowchart showing an example of the transmission process according to this embodiment.
[0082] The imaging unit 101 captures video to be distributed (step S101). The encoding unit 111 encodes the video input from the imaging unit 101 (step S102). The division unit 112 divides the data into data to be transmitted to the distribution server 200 and data to be stored in the storage unit 121. For example, the division unit 112 divides the input video into an I-picture fragment and a P-picture fragment (step S103). The data transmission unit 113 transmits the I-picture fragment to the distribution server 200 (step S104). The storage control unit 114 stores the P-picture fragment in the storage unit 121 (step S105).
[0083] Next, a description will be given of a transmission process of data stored in storage unit 121. Fig. 7 is a flowchart showing an example of a transmission process of data stored in storage unit 121.
[0084] The request receiving unit 115 receives a transmission request for data stored in the storage unit 121 from the distribution server 200 (or the control server) (step S201). If P pictures are stored in the storage unit 121, the request receiving unit 115 receives a transmission request for any of the stored P pictures. The data transmitting unit 113 reads the requested P picture from the storage unit 121 and transmits it to the distribution server 200 (step S202).
[0085] Next, a description will be given of the list generation process performed by the distribution server 200 according to this embodiment configured as described above. The list generation process is a process in which the distribution server 200 generates a distribution list. Fig. 8 is a flowchart showing an example of the list generation process according to this embodiment.
[0086] List generation unit 211 of distribution server 200 generates a distribution list in response to, for example, a request from client 300 (step S301). List generation unit 211 stores the generated distribution list in, for example, storage unit 222 (step S302).
[0087] As an example, assume that ContentA_1, ContentA_2, ContentA_3, and ContentA_4, which are consecutive contents in time, are scheduled to be distributed, and ContentA_1 and ContentA_3 are available for distribution. In this case, the list generation unit 211 generates a distribution list for distributing ContentA_1, ContentA_2, ContentA_3, and ContentA_4. The above-mentioned FIG. 4 shows an example of the distribution list generated at this time.
[0088] Next, a determination information generation process by the distribution server 200 according to the present embodiment will be described. The determination information generation process is a process in which the distribution server 200 generates determination information. The determination information generation process is executed, for example, when a transmission request for determination information is received from the client 300. Fig. 9 is a flowchart showing an example of the determination information generation process in the present embodiment.
[0089] The determination information generating unit 212 of the distribution server 200 determines whether or not the determination information has been generated for the content to be distributed (step S401). If the determination information has not been generated (step S401: No), the determination information generating unit 212 generates the determination information for the content (step S402). The above-mentioned FIG. 5 shows an example of the determination information generated for the example described in FIG. 8 (an example in which ContentA_1 and ContentA_3 are available for distribution).
[0090] After generating the determination information, or if the determination information has already been generated (step S401: Yes), the determination information generating unit 212 determines whether to update the generated determination information (step S403). For example, when the determination information generating unit 212 receives a detection result from the detecting unit 201 indicating that the content can be transmitted, the determination information generating unit 212 determines to update the determination information.
[0091] When it is determined that the determination information is to be updated (step S403: Yes), the determination information generating unit 212 updates the determination information (step S404). After updating the determination information, or when it is determined that the determination information is not to be updated (step S403: No), the determination information generating process ends.
[0092] The distribution server 200 makes the generated distribution list and determination information available for distribution via the network 402. The client 300 is then able to access the distribution server 200 and obtain the distribution list and the determination information.
[0093] Next, a content distribution process by the communication system according to the present embodiment will be described below. Fig. 10 is a sequence diagram showing an example of the content distribution process in the present embodiment.
[0094] The list generation unit 211 of the distribution server 200 generates a distribution list (step S501). This process corresponds to, for example, the list generation process described above. The list transmission unit 213 of the distribution server 200 transmits the distribution list to the client 300 in response to, for example, a request from the client 300 (step S502).
[0095] The determination information generating unit 212 of the distribution server 200 generates the determination information (step S503). This process corresponds to, for example, the determination information generating process described above. The determination information transmitting unit 214 of the distribution server 200 transmits the determination information to the client 300 in response to, for example, a request from the client 300 (step S504).
[0096] The list receiving unit 311 of the client 300 receives the distribution list, and the determination information receiving unit 312 receives the determination information. Thereafter, the determination unit 313 of the client 300 uses the received distribution list and the determination information to determine the content to be requested to be transmitted (step S505). For example, when the distribution list shown in FIG. 4 is received, the determination unit 313 analyzes the received distribution list to obtain URLs for acquiring each of ContentA_1 to ContentA_4. The determination unit 313 also analyzes the received determination information to determine which of the contents listed in the distribution list are transmittable.
[0097] Fig. 11 is a diagram for explaining an example of making a judgment using the judgment information shown in Fig. 5 for the distribution list shown in Fig. 4. As shown in Fig. 11, by combining the URL for acquiring ContentA_1 described in the distribution list with the judgment information corresponding to ContentA_1, the judgment unit 313 can judge that ContentA_1 is transmittable (accessible). Similarly, the judgment unit 313 can judge that ContentA_2 is not transmittable (not accessible).
[0098] 10, the request sending unit 314 sends a transmission request for the content determined to be requested to be transmitted to the distribution server 200 (step S506). The distribution unit 216 of the distribution server 200 sends the requested content to the client 300 (step S507). The data receiving unit 315 of the client 300 receives the content, and the playback unit 316 plays the received content (step S508).
[0099] When content represented in a format that can be directly distributed by the distribution server 200 is transmitted from the transmitting device 100, the distribution unit 216 transmits the content transmitted from the transmitting device 100 to the client 300 without converting it. When content is transmitted in a format to which metadata is added that allows conversion to a format for distribution by the distribution server 200, the distribution unit 216 converts the transmitted content into a format that can be directly distributed according to the metadata, and transmits the converted content to the client 300.
[0100] After that, it is assumed that ContentA_2 becomes available for distribution. At this time, the detection unit 201 of the distribution server 200 detects that ContentA_2 becomes available for distribution. The determination information generation unit 212 generates updated determination information according to the detection result (step S509).
[0101] Fig. 12 is a diagram showing an example of updated determination information. The determination information generating unit 212 updates the determination information corresponding to ContentA_2 from "X" to "O" as shown in Fig. 12. The updated determination information is made available for distribution via the network 402.
[0102] 10, the determination information transmission unit 214 of the distribution server 200 transmits the updated determination information to the client 300 in response to a request from the client 300, for example (step S510). The subsequent steps S511 to S514 are similar to steps S505 to S508.
[0103] Fig. 13 is a diagram for explaining an example of making a judgment using the judgment information shown in Fig. 12 for the distribution list shown in Fig. 4. As shown in Fig. 13, the judgment unit 313 can judge that ContentA_2 has become transmittable (accessible).
[0104] In this way, when ContentA_2 becomes available for distribution, client 300 can obtain the latest status of each content by simply applying the updated determination information to the distribution list that has already been received, without having to re-acquire the distribution list.
[0105] This embodiment can be applied to a system that monitors images captured by a drive recorder, for example. Applicable systems are not limited to this. For example, the present invention may be applied to a system that distributes and monitors sensor data obtained by a sensor, and a system that distributes and monitors video data obtained by an imaging device mounted on a moving body. The moving body may be, for example, a person, a robot, a vehicle (such as an automobile, a motorcycle, or a train), a dolly, a flying object (a manned airplane, an unmanned airplane (such as a UAV (Unmanned Aerial Vehicle), or a drone), or a personal mobility. In addition, the moving body may be, for example, a moving body that runs via a driving operation by a person, or a moving body that can run automatically (automatic driving) without a driving operation by a person.
[0106] This embodiment can also be applied to a monitoring system that monitors the operation history of a screen (HMI: Human Machine Interface) of a device monitoring and control system. The operation history of the screen can be obtained, for example, by a function of capturing and recording the screen displayed on the display device. The image data obtained in this manner can be used in place of the video captured by the transmission device 100.
[0107] In a device monitoring and control system, many monitoring screens are usually used, so a monitoring system for the screen operation history may need to monitor images from many monitoring screens side by side. Generally, the process of displaying many images in parallel in this way increases the processing load, but in this embodiment, only divided data (e.g., I-pictures) can be displayed, so the increase in the processing load can be suppressed.
[0108] (Variation 1) Network 401 may be configured to include multiple communication lines, with a portion of the data divided by division unit 112 (e.g., I-pictures) being transmitted to distribution server 200 via one of the multiple communication lines (communication line 401A), and the remaining data (e.g., P-pictures) being transmitted to distribution server 200 via another of the multiple communication lines (communication line 401B). Fig. 14 is a diagram showing an example of the configuration of a video distribution system of modification 1 configured in this manner. For example, data transmission unit 113 may live-distribute I-pictures via communication line 401A, and transmit P-pictures via communication line 401B at any timing.
[0109] (Variation 2) The divided data may be configured not to be transmitted to the distribution server 200, but to be stored separately in the storage unit 121 in the transmission device 100. This makes it possible, for example, to read out only the necessary pictures (e.g., I-pictures) from the storage unit 121 and display them. The method of displaying only I-pictures can reduce the processing load more than the method of displaying all pictures including P-pictures. Therefore, even in a client 300 or the like with limited processing power, it becomes possible to read out only I-pictures from the storage units 121 of a plurality of transmission devices 100 and display them in parallel. Furthermore, it becomes possible to read out the remaining P-pictures and the like in stages as necessary to display a dynamic image.
[0110] In this case, storage control unit 114 may delete data that has been stored for a certain period of time, or may delete data in stages each time a certain period of time passes, similar to storage control unit 218 of distribution server 200. For example, when storage capacity is insufficient, instead of deleting all data including I-pictures and P-pictures in order of oldest to newest, it becomes possible to delete only P-pictures and leave I-pictures as data that can be displayed intermittently, thereby achieving both long-term storage of data and low capacity.
[0111] (Variation 3) If video is divided into pictures and distributed, the size of the distribution list may increase. Therefore, the list generation unit 211 may create a distribution list using a plurality of files having a hierarchical structure. For example, the list generation unit 211 may configure the distribution list hierarchically in units of year, month, day, time, etc. For example, the lowest-level distribution list includes identification information for each of the fragment data divided into a certain range of time. The next higher-level distribution list includes information identifying one or more distribution lists corresponding to a time included in a certain day. The next higher-level distribution list includes information identifying one or more distribution lists corresponding to a day included in a certain month. The next higher-level distribution list includes information identifying one or more distribution lists corresponding to a month included in a certain year.
[0112] (Variation 4) 15 is a diagram showing an overview of a distribution process by a video distribution system of Modification 4. The video distribution system of this modification further includes a control server 510 and a Web server 520. In this modification, distribution server 200 is configured as a Web server that distributes video (images).
[0113] The control server 510 includes a control unit 511. The control unit 511 controls the transmission device 100 in accordance with a request transmitted from the client 300. For example, the client 300 transmits to the control server 510 a transmission request indicating whether to divide a picture and transmit only a part of it (for example, only an I-picture) or to transmit all of the pictures. In accordance with the transmission request, the control unit 511 of the control server 510 transmits to the transmission device 100 a control signal indicating whether to divide only a part of the picture and transmit (upload) it to the distribution server 200 or to transmit all of the pictures to the distribution server 200.
[0114] In accordance with a control signal transmitted from the control server 510, the transmitting device 100 switches between transmitting only a portion of the divided pictures to the distribution server 200 as in the above embodiment, or transmitting all of the pictures to the distribution server 200.
[0115] Capture stream transmission (upload transmission) indicates that the divided data is transmitted to the distribution server 200 as data (first data) to be transmitted to the distribution server 200. Capture file storage (file output) indicates that the divided data is stored as data (second data) to be stored in the storage unit 121 without being transmitted to the distribution server 200. As shown in Fig. 15, the stored data may be copied to the distribution server 200 offline.
[0116] If necessary, the distribution server 200 converts the data received by the data receiving unit 217 into a distributable format (stream conversion) and stores the data in the storage unit 222. Data copied offline may be converted all at once (batch conversion) and stored in the storage unit 222.
[0117] The storage unit 222 stores each picture (fragment file) in a distributable format, a distribution list, etc. The distribution server 200 functions as a video server that distributes the pictures stored in the storage unit 222. As described above, the data received by the data receiving unit 217 may be stored in the temporary storage unit 221, and the data stored in the temporary storage unit 221 may be distributed by the distribution unit 216.
[0118] The client 300 includes a web browser with a viewer. The web browser includes a video player for playing videos. The video player is realized as an application conforming to HTML5, for example.
[0119] The Web server 520 is a server device having functions other than the function of a video server. For example, the Web server 520 is a server device for providing a user interface (UI) for an external system different from the video distribution system.
[0120] In this way, the video distribution system of the above embodiment can be realized as a Web system used on the Internet, for example.
[0121] As described above, in the video distribution system according to the present embodiment, it is possible to reduce the line load and processing load without degrading the quality.
[0122] Next, a hardware configuration of the transmission device according to this embodiment will be described with reference to Fig. 16. Fig. 16 is an explanatory diagram showing an example of the hardware configuration of the transmission device according to this embodiment.
[0123] The transmitting device in this embodiment includes a control device such as a CPU 51, a storage device such as a ROM (Read Only Memory) 52 and a RAM 53, a communication I / F 54 that connects to a network and communicates, and a bus 61 that connects each part.
[0124] The program executed by the transmitting device according to this embodiment is provided in a state that it is pre-installed in the ROM 52 or the like.
[0125] The program executed by the transmitting device according to this embodiment may be configured to be provided as a computer program product by being recorded in an installable or executable format on a computer-readable recording medium such as a CD-ROM (Compact Disk Read Only Memory), a flexible disk (FD), a CD-R (Compact Disk Recordable), or a DVD (Digital Versatile Disk).
[0126] Furthermore, the program executed by the transmitting device according to the present embodiment may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Also, the program executed by the transmitting device according to the present embodiment may be provided or distributed via a network such as the Internet.
[0127] The program executed by the transmitting device according to the present embodiment can cause a computer to function as each unit of the transmitting device described above. In this computer, the CPU 51 can read the program from a computer-readable storage medium onto a main storage device and execute the program.
[0128] Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and spirit of the invention, and are included in the scope of the invention and its equivalents described in the claims. [Explanation of symbols]
[0129] 100 Transmitting device 101 Imaging unit 111 Encoding section 112 Division 113 Data transmission unit 114 Memory control unit 115 Request Reception Unit 121 Storage section 200 Distribution Server 201 Detection unit 211 List Generation Unit 212 Judgment information generation unit 213 List Transmission Unit 214 Judgment information transmission unit 215 Request Transmitter / Receiver 216 Distribution Department 217 Data Reception Unit 218 Memory control unit 221 Temporary storage 222 Storage section 300 clients 311 List Reception Unit 312 Judgment information receiving unit 313 Judgment section 314 Request Sending Unit 315 Data Reception Unit 316 Playback Department 321 Storage section 401, 402 Network 510 Control Server 511 Control Unit 520 Web Server
Claims
1. A splitting unit that splits a plurality of transmission data to be transmitted into first data and second data; A transmission unit that transmits the first data to a server device; A storage control unit that stores the second data in a storage unit; A reception unit that receives a transmission request for the second data from a reception device to which the transmission data is distributed or from the server device, and includes: When the bandwidth of the network for transmitting the transmission data is smaller than a first bandwidth, the splitting unit splits the plurality of transmission data into only the first data; The transmission unit further transmits the second data to the server device in response to the transmission request. Transmission device.
2. When the bandwidth of the network for transmitting the transmission data is smaller than the first bandwidth and smaller than a second bandwidth, the splitting unit splits a part of the plurality of transmission data into only the first data. The transmission device according to claim 1.
3. The transmission device according to claim 1 or 2, further comprising an encoding unit that encodes the first data so as to have a certain size. The transmission device according to claim 1 or 2.
4. The first data is image data that can be displayed as a still image. The transmission device according to any one of claims 1 to 3.
5. The transmission device according to any one of claims 1, 2, and 4, further comprising an encoding unit that encodes the first data so that the amount of code varies according to the bandwidth of the network for transmitting the transmission data. The transmission device according to any one of claims 1, 2, and 4.
6. The splitting unit changes the size of the first data according to the bandwidth of the network for transmitting the transmission data. The transmission device according to any one of claims 1 to 5.
7. The storage control unit deletes the second data stored in the storage unit according to a predetermined condition. The transmission device according to any one of claims 1 to 6.
8. The splitting unit converts the first data and the second data into a data format distributed by the server device. The transmission device according to any one of claims 1 to 7.
9. The splitting unit adds metadata for converting the first data and the second data into a data format distributed by the server device. The transmission device according to any one of claims 1 to 8.
10. The splitting unit adds metadata including at least a part of information for identifying the transmission device, time, and position of the image to the first data and the second data.
9. A transmitting device according to claim 1.
11. A method executed by a transmitting device, comprising: a dividing step of dividing a plurality of pieces of transmission data to be transmitted into first data and second data; a first transmission step of transmitting the first data to a server device; a storage control step of storing the second data in a storage unit; a receiving step of receiving a transmission request for the second data from a receiving device to which the transmission data is distributed or the server device; a second transmission step of transmitting the second data to the server device in response to the transmission request; the dividing step divides the plurality of pieces of transmission data into only the first data when a bandwidth of a network through which the transmission data is transmitted is smaller than a first bandwidth; method.
12. A computer comprising: a dividing step of dividing a plurality of pieces of transmission data to be transmitted into first data and second data; a first transmission step of transmitting the first data to a server device; a storage control step of storing the second data in a storage unit; a receiving step of receiving a transmission request for the second data from a receiving device to which the transmission data is distributed or the server device; a second transmission step of transmitting the second data to the server device in response to the transmission request; the dividing step divides the plurality of pieces of transmission data into only the first data when a bandwidth of a network through which the transmission data is transmitted is smaller than a first bandwidth; program.
13. a data receiving unit that receives first data that is a part of a plurality of transmission data from a transmission device, and receives the second data that is transmitted from the transmission device in response to a transmission request for second data other than the first data among the plurality of transmission data; a temporary storage unit that temporarily stores the received first data and second data; a storage control unit that reads out the first data and the second data stored in the temporary storage unit and writes the read out first data and the second data to a storage unit, the data receiving unit receives, from the transmitting device, the first data divided into only the first data from the plurality of pieces of transmission data when a bandwidth of a network that transmits the transmission data is smaller than a first bandwidth; Server device.
14. When the first data, which is part of a plurality of transmission data and is received from a transmission device, and the second data, which is data other than the first data among the plurality of transmission data and is received from the transmission device, are stored in a temporary storage unit that temporarily stores them, the first data stored in the temporary storage unit is distributed to a receiving device. When the first data is not stored in the temporary storage unit, the first data stored in the storage unit where the first data and the second data read from the temporary storage unit are written is distributed to the receiving device. It includes a distribution unit. When the bandwidth of the network for transmitting the transmission data is smaller than a first bandwidth, the temporary storage unit is divided into only the first data from the plurality of transmission data and stores the first data received from the transmission device. Server device.
15. The first data and the second data are stored in the temporary storage unit and the storage unit together with metadata including at least a part of time, image position, file name, and byte offset from the beginning of the file. The server device according to claim 13 or 14.
16. A method executed by a server device, comprising: A data reception step of receiving first data, which is part of a plurality of transmission data, from a transmission device, and receiving the second data transmitted from the transmission device in response to a transmission request for the second data other than the first data among the plurality of transmission data; A temporary storage step of temporarily storing the received first data and the second data in a temporary storage unit; A storage control step of reading the first data and the second data stored in the temporary storage unit and writing the read first data and the second data to a storage unit. In the data reception step, when the bandwidth of the network for transmitting the transmission data is smaller than a first bandwidth, the first data divided into only the first data from the plurality of transmission data is received from the transmission device. Method.
17. On a computer, A data reception step of receiving first data, which is part of a plurality of transmission data, from a transmission device, and receiving the second data transmitted from the transmission device in response to a transmission request for the second data other than the first data among the plurality of transmission data; A temporary storage step of temporarily storing the received first data and the second data in a temporary storage unit; a storage control step of reading out the first data and the second data stored in the temporary storage unit and writing out the read out first data and the second data to a storage unit; the data receiving step includes receiving, from the transmitting device, the first data divided into only the first data from the plurality of pieces of transmission data when a bandwidth of a network that transmits the transmission data is smaller than a first bandwidth; program.
18. A method executed on a server device, comprising: When the first data is stored in a temporary storage unit that temporarily stores first data, which is part of a plurality of transmission data and is received from a transmission device, and second data, which is data other than the first data among the plurality of transmission data and is received from the transmission device, the first data stored in the temporary storage unit is delivered to the reception device; When the first data is not stored in the temporary storage unit, the first data read from the temporary storage unit and the first data stored in the storage unit to which the second data has been written are delivered to the receiving device. including a delivery step, the temporary storage unit, when a bandwidth of a network through which the transmission data is transmitted is smaller than a first bandwidth, divides the plurality of transmission data into only the first data, and stores the first data received from the transmitting device; method.
19. On the computer, When the first data is stored in a temporary storage unit that temporarily stores first data, which is part of a plurality of transmission data and is received from a transmission device, and second data, which is data other than the first data among the plurality of transmission data and is received from the transmission device, the first data stored in the temporary storage unit is delivered to the reception device; When the first data is not stored in the temporary storage unit, the first data read from the temporary storage unit and the first data stored in the storage unit to which the second data has been written are delivered to the receiving device. Execute the delivery step, the temporary storage unit, when a bandwidth of a network through which the transmission data is transmitted is smaller than a first bandwidth, divides the plurality of transmission data into only the first data, and stores the first data received from the transmitting device; program.