US20120317304A1 - Communication apparatus, communication system, communication method, and program - Google Patents
Communication apparatus, communication system, communication method, and program Download PDFInfo
- Publication number
- US20120317304A1 US20120317304A1 US13/474,039 US201213474039A US2012317304A1 US 20120317304 A1 US20120317304 A1 US 20120317304A1 US 201213474039 A US201213474039 A US 201213474039A US 2012317304 A1 US2012317304 A1 US 2012317304A1
- Authority
- US
- United States
- Prior art keywords
- data
- buffer
- data blocks
- discarded
- dummy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims description 10
- 230000005540 biological transmission Effects 0.000 claims abstract description 47
- 230000004044 response Effects 0.000 claims description 4
- 230000003044 adaptive effect Effects 0.000 description 7
- 230000003139 buffering effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
Definitions
- the present disclosure relates to a communication apparatus, a communication system, a communication method, and a program.
- HTTP adaptive streaming is known as a method in which a receiver successively acquires fragmented video data based on HTTP.
- HTTP adaptive streaming operates based on a variety of specifications, such as IETF HTTP Live Streaming, Adobe HTTP Dynamic Streaming, and Microsoft Smooth Streaming.
- a distribution server encodes content at a plurality of rates, fragments each of the encoded data, and provides them as fragmented files.
- a client can follow any change in throughput during content distribution by downloading fragmented files encoded at a bit rate suitable for the throughput between the distribution server and the client.
- JP-A-2010-045760 To avoid errors caused by packet loss and jitter, in the technology described in JP-A-2010-045760, a receiver performs buffering to eliminate jitter. The technology does not, however, offer any measures against jitter that has not been eliminated by the buffering. JP-A-2010-246146 is exemplified as another related art document.
- a communication apparatus including a buffer that accumulates a plurality of data blocks, a buffer controller that reads the data blocks from the buffer to transmit the data blocks, and a transmission unit that transmits, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data in place of an untransmitted portion of the data block having been discarded.
- the communication apparatus may further include a dummy data generator that generates, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data corresponding to the untransmitted portion of the data block having been discarded, and the transmission unit may transmit not only the data blocks read from the buffer but also the dummy data in place of the untransmitted portion of the data block having been discarded when the dummy data is generated.
- a dummy data generator that generates, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data corresponding to the untransmitted portion of the data block having been discarded
- the data may be expressed in an MPEG2-TS format, and a predetermined number of TS packets may form each of the data blocks.
- the dummy data generator may generate, when any of the data blocks is discarded during the transmission of the data blocks, the dummy data including data corresponding to an untransmitted portion of a TS packet that has been cut halfway and a TS packet that is yet to be transmitted.
- the data may be expressed in an MP4 format, and a MOOF may form each of the data blocks.
- the dummy data generator may generate, when any of the data blocks is discarded during the transmission of the data blocks, data corresponding to an untransmitted portion of the MOOF as the dummy data.
- a communication system including a communication apparatus including a buffer that accumulates a plurality of data blocks, a buffer controller that reads the data blocks from the buffer to transmit the data blocks in response to a transmission request, and a transmission unit that transmits, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data in place of an untransmitted portion of the data block having been discarded, and a reception apparatus that transmits the transmission request to the communication apparatus and receives the data blocks and the dummy data transmitted from the transmission unit.
- a transmission method including accumulating a plurality of data blocks in a buffer and reading the data blocks to transmit the data blocks, and transmitting, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data in place of an untransmitted portion of the data block having been discarded.
- a program that allows a computer to function as means for accumulating a plurality of data blocks in a buffer and reading the data blocks to transmit the data blocks, and means for transmitting, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data in place of an untransmitted portion of the data block having been discarded.
- communication can be maintained even when data being transmitted is discarded in a buffer in a transmitter.
- FIG. 1 is a schematic view showing a system according to an embodiment that encodes a live video in real time and distributes the live video in adaptive streaming;
- FIG. 2 is a diagrammatic view showing a sequence in which encoded data is accumulated in a buffer in a transmitter
- FIG. 3 is a diagrammatic view showing a sequence in which a receiver acquires data
- FIG. 4 is a diagrammatic view showing examples of a play list file, a data block acquisition request, and a data block acknowledgment;
- FIG. 5 is a diagrammatic view showing a sequence carried out when the amount of data reaches the upper limit of the capacity of the buffer in the sequence in which encoded data is accumulated in the buffer in the transmitter;
- FIG. 6 is a diagrammatic view showing that data blocks A to D have been written to the buffer and a TS packet in a data block E is being written to the buffer in accordance with the sequence shown in FIG. 2 ;
- FIG. 7 is a diagrammatic view showing a case where the data blocks A to E have been written to the buffer and the amount of data reaches the upper limit of the capacity of the buffer;
- FIG. 8 is a diagrammatic view showing a state in which after writing operation performed by a buffer controller causes an error, the buffer controller discards the oldest block data A in the buffer;
- FIG. 9 is a diagrammatic view showing that after discarding the oldest block data A in the buffer, the buffer controller is writing a TS packet in a data block F to the free data area;
- FIG. 10 is a diagrammatic view showing a data acquisition sequence carried out when a data block being acquired is unexpectedly deleted from the buffer during the data block acquisition;
- FIG. 11 is a diagrammatic view showing a sequence in which dummy data is generated to maintain the downloading in the present embodiment
- FIG. 12 is a diagrammatic view showing that the buffer controller is reading a TS packet in the data block A in the buffer;
- FIG. 13 is a diagrammatic view showing a state in which the data block A is discarded after the state shown in FIG. 12 ;
- FIG. 14 is a diagrammatic view showing a state in which after an error occurs in FIG. 13 , the buffer controller sends a dummy data generation request to a dummy data generator;
- FIG. 15 is a diagrammatic view showing a summary of dummy data in IETF HTTP Live Streaming
- FIG. 16 is a diagrammatic view showing an example of contents of a TS packet to be transmitted as dummy data.
- FIG. 17 is a diagrammatic view showing a simplified MP4 file format.
- FIG. 1 is a schematic view showing a system according to the present embodiment that encodes a live video in real time and distributes the live video in adaptive streaming.
- a transmitter 100 and a receiver 200 are connected to each other via an IP network 250 .
- the transmitter 100 and the receiver 200 may alternatively be connected to each other via a wireless communication network.
- the transmitter 100 includes an encoder multiplexer 102 , a buffer controller 104 , a communication unit 106 , a buffer 108 , and a dummy data generator 110 .
- the encoder multiplexer 102 in the transmitter 100 encodes video inputs sent from a video camcorder or any other external apparatus and multiplexes the encoded videos in an MPEG2-TS or MP4 format.
- the data outputted from the encoder multiplexer 102 passes through the buffer controller 104 and is accumulated in the buffer 108 .
- the communication unit 106 waits for a data acquisition request in an HTTP format from the receiver 200 . Upon reception of a data acquisition request, the communication unit 106 acquires data according to the request from the buffer 108 via the buffer controller 104 and send the data to the receiver 200 .
- the receiver 200 includes a communication unit 202 and a decoder demultiplexer 204 .
- the receiver 200 which has transmitted the data acquisition request to the transmitter 100 via the communication unit 202 and acquired data blocks according to the request, sends the acquired data to the decoder demultiplexer 204 .
- the decoder demultiplexer 204 separates a multiplexed stream into individual streams, decodes the data in the streams, and outputs the decoded data to a monitor or any other similar device.
- the configuration shown in FIG. 1 can be formed of hardware (circuit) or a combination of a CPU (central processing unit) and software (program) that makes the CPU function.
- the program can be stored in a memory or any other storage device provided in the transmitter 100 or the receiver 200 or in an optical disk or any other storage medium loaded in a storage medium drive externally connected to the transmitter 100 or the receiver 200 .
- FIG. 2 is a diagrammatic view showing a sequence in which encoded data is accumulated in the buffer 108 in the transmitter 100 .
- the buffer controller 104 requests the encoder multiplexer 102 to send data in step S 10 and acquires the data in step S 12 , as shown in FIG. 2 .
- the buffer controller 104 then writes the acquired data to the buffer 108 in step S 14 .
- the processes are repeated afterward.
- FIG. 3 is a diagrammatic view showing a sequence in which the receiver 200 acquires data.
- the communication unit 202 in the receiver 200 first sends a play list request to the communication unit 106 in the transmitter 100 in step S 20 and acquires a play list file from the communication unit 106 in step S 22 .
- the play list file has a URL list of fragmented files written therein.
- the communication unit 202 transmits a request to acquire a data block A in the play list file (URL of data block A) in step S 24 .
- the communication unit 106 which has received the data acquisition request, requests the buffer controller 104 to send a relevant range of data (step S 26 ).
- the buffer controller 104 requests the buffer 108 to send relevant data (step S 28 ), reads the relevant data from the buffer 108 (step S 30 ), and sends the data to the communication unit 106 (step S 32 ).
- the communication unit 106 adds an HTTP response header to the data sent from the buffer controller 104 and sends the resultant data to the communication unit 202 in the receiver 200 (step S 34 ).
- the communication unit 202 sends the data to the decoder demultiplexer 204 (step S 36 ), which reproduces a video.
- the receiver 200 when it finishes downloading the data block A, acquires the following data block B in the play list file (step S 40 and the following steps).
- the play list file is updated when reread.
- data is fragmented into divided data blocks, each of which is transmitted from the transmitter 100 whenever the receiver 200 specifies an URL in the play list and issues a request for the data block.
- the receiver 200 can request a data block of an appropriate bit rate by requesting the transmitter 100 to send fragmented data blocks instead of sending data of a relatively long length at once, as described above.
- Data can therefore be stably received, for example, even when the band becomes unstable, whereby the configuration described above is particularly suitable, for example, for a case where live video data is received.
- FIG. 4 is a diagrammatic view showing examples of the play list file, the data block acquisition request, and a data block acknowledgment.
- FIG. 4 shows a case where IETF HTTP Live Streaming is used.
- IETF HTTP Live Streaming a play list file is expressed in an m3u8 format and a data file is expressed in an MPEG2-TS format.
- the play list shown in FIG. 4 has three data blocks fragmented every 8 seconds written therein.
- a single data block is handled as a single file containing a TS packet corresponding to a period of 8 seconds.
- Data acquisition is performed based on an HTTP GET command.
- FIG. 5 is a diagrammatic view showing a sequence carried out when the amount of data reaches the upper limit of the capacity of the buffer 108 in the sequence in which encoded data is accumulated in the buffer 108 in the transmitter 100 .
- the sequence carried out before the amount of data reaches the upper limit of the capacity of the buffer 108 is the same as that shown in FIG. 2 .
- writing operation performed by the buffer controller 104 causes an error (step S 16 ).
- the buffer controller 104 deletes the oldest data block (step S 18 ) and writes data in the free area (step S 20 ).
- FIGS. 6 to 9 are diagrammatic views showing the operation in FIG. 5 .
- FIG. 6 shows that the data blocks A to D have been written to the buffer 108 and a TS packet in a data block E is being written to the buffer 108 in accordance with the sequence shown in FIG. 2 .
- FIG. 7 shows a case where the data blocks A to E have been written to the buffer 108 and the amount of data reaches the upper limit of the capacity of the buffer 108 . In this case, since no more TS packet can be written to the buffer 108 , writing operation performed by the buffer controller 104 causes an error.
- FIG. 8 shows a state in which after writing operation performed by the buffer controller 104 causes an error, the buffer controller 104 discards the oldest block data A in the buffer 108 .
- FIG. 9 shows that after discarding the oldest block data A in the buffer 108 , the buffer controller 104 is writing a TS packet in a data block F to the free data area. Discarding the data block A allows the following data block F to be written, as shown in FIG. 9 .
- FIG. 10 is a diagrammatic view showing a data acquisition sequence carried out when a data block being acquired is unexpectedly deleted from the buffer 108 during the data block acquisition. As shown in FIG. 10 , all data in the data block A are successfully sent to the receiver 200 . The data block B is, however, discarded from the buffer 108 during the acquisition of second data in the data block B from the buffer 108 as shown in FIG. 5 , and the buffer controller 104 is incapable of acquiring the data block B and data thereafter from the buffer 108 (step S 42 ).
- the example in FIG. 10 shows a situation in which the transmitter 100 is incapable of sending the data block B and data thereafter to the receiver 200 .
- the receiver 200 recognizes the data length of the content (content-length) of the data block B in preparation for reception of a data block acknowledgment shown in FIG. 4 from the transmitter 100 .
- the receiver 200 will therefore not acquire the following data block until the receiver 200 downloads the full content-length of data block B. In other words, no more video data will not be downloaded, resulting in termination of the download.
- FIG. 11 is a diagrammatic view showing a sequence in which dummy data is generated to maintain the downloading.
- the processes in step S 42 and the preceding steps are the same as those in FIG. 10 .
- the buffer controller 104 When the buffer controller 104 tries to acquire the discarded data but fails to read the data (step S 42 ), the buffer controller 104 requests the dummy data generator 110 to generate the missing amount of dummy data in the following step S 44 . Upon reception of the request, the dummy data generator 110 generates the dummy data (step S 46 ). The generated dummy data is sent to the buffer controller 104 (step S 48 ), which sends the data via the communication unit 106 to the communication unit 202 in the receiver 200 (steps S 50 and S 52 ).
- the receiver 200 can thus receive data of the content-length shown in FIG. 4 .
- the receiver 200 Upon reception of the data of the content-length, the receiver 200 starts downloading the following data block C (step S 54 ). In this way, even when data in a data block is unexpectedly discarded during data acquisition from the buffer 108 , the downloading will not be terminated but the following data can be downloaded.
- FIGS. 12 to 14 are diagrammatic views showing operation of generating dummy data.
- FIG. 12 shows that the buffer controller 104 is reading a TS packet in the data block A in the buffer 108 .
- FIG. 13 shows a state in which the data block A is discarded after the state shown in FIG. 12 .
- an error occurs because the buffer controller 104 can read no PS packet in the data block A having been discarded.
- FIG. 14 shows a state in which after the error occurs in FIG. 13 , the buffer controller 104 sends a dummy data generation request to the dummy data generator 110 .
- the dummy data generator 110 Upon reception the request, the dummy data generator 110 generates dummy data, which is sent to the buffer controller 104 and further sent to the receiver 200 via the buffer controller 104 and the communication unit 106 .
- FIG. 15 is a diagrammatic view showing a summary of dummy data in IETF HTTP Live Streaming.
- the data block A in the buffer 108 is discarded in step S 42 during the transmission of TS packets 300 , 302 , and 304 .
- the first and second TS packets 300 , 302 have reached the receiver 200 , but the third TS packet 304 is cut halfway and only part of the TS packet 304 has reached the receiver 200 .
- Dummy data 400 is formed of data 402 that complements the untransmitted portion of the TS packet 304 that has been cut and a NULL packet 404 corresponding to a TS packet that is yet to be transmitted (corresponding to fourth TS packet), and the thus configured dummy data 400 is transmitted through the communication unit 106 to the communication unit 202 in the receiver 200 .
- the size of dummy data generated in IETF HTTP Live Streaming is determined by the following expressions.
- a data block is formed of a certain number of TS packets, and a single TS packet has a size of 188 bytes (192 bytes in the case of TS packet with time stamp).
- the size of a data block is therefore 188 bytes (192 bytes in the case of TS packet with time stamp) ⁇ number of packets.
- the number of NULL packets 404 to be sent as dummy data is (data block size ⁇ transmitted data size)/TS packet size, and the size of the data 402 that complements a fragmented TS packet is the remainder of the division.
- FIG. 16 is a diagrammatic view showing an example of contents of a TS packet (NULL packet 404 ) transmitted as dummy data.
- Each data in the NULL packet 404 is, for example, set to be invalid data.
- TS time stamp
- a sync word is set at (0x47).
- a transport error indicator A (1 bit) shown in FIG. 16 is set at 1, which represents an error
- a payload unit start indicator B (1 bit) and a transport priority C (1 bit) shown in FIG. 16 are set at zero.
- a packet identifier (13 bits) is set at (0x1ff), which represents a NULL packet.
- a transport scramble control D (2 bits), an adaptation field control E (2 bits), and a cyclic counter F (4 bits) are also set at zero.
- a payload (184 bytes) is set to be dummy data (0x00 or 0xFF, for example). The dummy data 402 that complements a fragmented TS packet is generated from part of the NULL packet 404 .
- the communication unit 106 which can detects the amount of data having been read from the buffer 108 , can detect the amount of data having been transmitted in each data block. The communication unit 106 can therefore detect that all data in the third TS block 304 have not been successfully transmitted and how many bits in the third TS packet 304 have been successfully transmitted. Since each TS packet is so transmitted that the TS (time stamp), the sync word, the transport error indicator A, the payload unit start indicator B, and the following data are transmitted in this order, the communication unit 106 can detect which portions of the third TS packet 304 have been transmitted.
- the dummy data generator 110 generates dummy data 402 corresponding to the amount of untransmitted data in the TS packet 304 and generates the NULL packet 404 based on the information described above along with the calculation expressions described above.
- dummy data can be generated in the same manner as described above although the play list file formats differ from each other.
- FIG. 17 is a diagrammatic view showing a simplified MP4 file format.
- a single MP4 file is primarily formed of MOOV (movie metadata) and MOOFs (movie fragments).
- MOOV moving metadata
- MOOF moving fragments
- a single data block is handled as a single file, but in a method using MP4, a single data block corresponds to a single MOOF (movie fragment).
- a MOOF has a variable length
- the dummy data generator 110 can generate dummy data of a data size calculated by (data block length ⁇ transmitted data length). The dummy data can then be transmitted through the communication unit 106 .
- a communication apparatus including
- a buffer controller that reads the data blocks from the buffer to transmit the data blocks
- a transmission unit that transmits, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data in place of an untransmitted portion of the data block having been discarded.
- a dummy data generator that generates, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data corresponding to the untransmitted portion of the data block having been discarded,
- the transmission unit transmits not only the data blocks read from the buffer but also the dummy data in place of the untransmitted portion of the data block having been discarded when the dummy data is generated.
- the data is expressed in an MPEG2-TS format and a predetermined number of TS packets form each of the data blocks, and
- the dummy data generator generates, when any of the data blocks is discarded during the transmission of the data blocks, the dummy data including data corresponding to an untransmitted portion of a TS packet that has been cut halfway and a TS packet that is yet to be transmitted.
- the dummy data generator generates, when any of the data blocks is discarded during the transmission of the data blocks, data corresponding to an untransmitted portion of the MOOF as the dummy data.
- a communication system including
- a communication apparatus including
- a buffer controller that reads the data blocks from the buffer to transmit the data blocks in response to a transmission request
- a transmission unit that transmits, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data in place of an untransmitted portion of the data block having been discarded, and
- a reception apparatus that transmits the transmission request to the communication apparatus and receives the data blocks and the dummy data transmitted from the transmission unit.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
- The present disclosure relates to a communication apparatus, a communication system, a communication method, and a program.
- In recent years, HTTP adaptive streaming is known as a method in which a receiver successively acquires fragmented video data based on HTTP. HTTP adaptive streaming operates based on a variety of specifications, such as IETF HTTP Live Streaming, Adobe HTTP Dynamic Streaming, and Microsoft Smooth Streaming.
- IETF HTTP Live Streaming
- (http://tools.ietf.org/html/draft-pantos-http-live-streaming-05)
- Adobe HTTP Dynamic Streaming
- (http://www.adobe.com/products/httpdynamicstreaming/)
- Microsoft HTTP Smooth Streaming
- (http://technet.microsoft.com/ja-jp/library/dd775200.aspx)
- In a system based on the adaptive streaming described above, a distribution server encodes content at a plurality of rates, fragments each of the encoded data, and provides them as fragmented files. A client can follow any change in throughput during content distribution by downloading fragmented files encoded at a bit rate suitable for the throughput between the distribution server and the client.
- The technology of the related art, which assumes that a large-scale server having a sufficient buffer capacity is used for transmission, however, does not expect that a transmitter discards data when the capacity of the buffer is reached.
- On the other hand, when a built-in apparatus, which typically has a small capacity buffer, uses adaptive streaming distribution to transmit live videos, it is conceivable that fragmented data being transmitted can disadvantageously be discarded when the amount of data accumulated in the buffer reaches the capacity thereof. In this case, a transmitter can terminate an HTTP session, resulting in communication breakdown.
- To avoid errors caused by packet loss and jitter, in the technology described in JP-A-2010-045760, a receiver performs buffering to eliminate jitter. The technology does not, however, offer any measures against jitter that has not been eliminated by the buffering. JP-A-2010-246146 is exemplified as another related art document.
- It is therefore desirable to provide a mechanism that allows communication to be maintained even when data being transmitted is discarded in a buffer in a transmitter.
- According to an embodiment of the present disclosure, there is provided a communication apparatus including a buffer that accumulates a plurality of data blocks, a buffer controller that reads the data blocks from the buffer to transmit the data blocks, and a transmission unit that transmits, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data in place of an untransmitted portion of the data block having been discarded.
- The communication apparatus may further include a dummy data generator that generates, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data corresponding to the untransmitted portion of the data block having been discarded, and the transmission unit may transmit not only the data blocks read from the buffer but also the dummy data in place of the untransmitted portion of the data block having been discarded when the dummy data is generated.
- The data may be expressed in an MPEG2-TS format, and a predetermined number of TS packets may form each of the data blocks. The dummy data generator may generate, when any of the data blocks is discarded during the transmission of the data blocks, the dummy data including data corresponding to an untransmitted portion of a TS packet that has been cut halfway and a TS packet that is yet to be transmitted.
- The data may be expressed in an MP4 format, and a MOOF may form each of the data blocks. The dummy data generator may generate, when any of the data blocks is discarded during the transmission of the data blocks, data corresponding to an untransmitted portion of the MOOF as the dummy data.
- According to another embodiment of the present disclosure, there is provided a communication system including a communication apparatus including a buffer that accumulates a plurality of data blocks, a buffer controller that reads the data blocks from the buffer to transmit the data blocks in response to a transmission request, and a transmission unit that transmits, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data in place of an untransmitted portion of the data block having been discarded, and a reception apparatus that transmits the transmission request to the communication apparatus and receives the data blocks and the dummy data transmitted from the transmission unit.
- According to still another embodiment of the present disclosure, there is provided a transmission method including accumulating a plurality of data blocks in a buffer and reading the data blocks to transmit the data blocks, and transmitting, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data in place of an untransmitted portion of the data block having been discarded.
- According to yet another embodiment of the present disclosure, there is provided a program that allows a computer to function as means for accumulating a plurality of data blocks in a buffer and reading the data blocks to transmit the data blocks, and means for transmitting, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data in place of an untransmitted portion of the data block having been discarded.
- According to the embodiments of the present disclosure, communication can be maintained even when data being transmitted is discarded in a buffer in a transmitter.
-
FIG. 1 is a schematic view showing a system according to an embodiment that encodes a live video in real time and distributes the live video in adaptive streaming; -
FIG. 2 is a diagrammatic view showing a sequence in which encoded data is accumulated in a buffer in a transmitter; -
FIG. 3 is a diagrammatic view showing a sequence in which a receiver acquires data; -
FIG. 4 is a diagrammatic view showing examples of a play list file, a data block acquisition request, and a data block acknowledgment; -
FIG. 5 is a diagrammatic view showing a sequence carried out when the amount of data reaches the upper limit of the capacity of the buffer in the sequence in which encoded data is accumulated in the buffer in the transmitter; -
FIG. 6 is a diagrammatic view showing that data blocks A to D have been written to the buffer and a TS packet in a data block E is being written to the buffer in accordance with the sequence shown inFIG. 2 ; -
FIG. 7 is a diagrammatic view showing a case where the data blocks A to E have been written to the buffer and the amount of data reaches the upper limit of the capacity of the buffer; -
FIG. 8 is a diagrammatic view showing a state in which after writing operation performed by a buffer controller causes an error, the buffer controller discards the oldest block data A in the buffer; -
FIG. 9 is a diagrammatic view showing that after discarding the oldest block data A in the buffer, the buffer controller is writing a TS packet in a data block F to the free data area; -
FIG. 10 is a diagrammatic view showing a data acquisition sequence carried out when a data block being acquired is unexpectedly deleted from the buffer during the data block acquisition; -
FIG. 11 is a diagrammatic view showing a sequence in which dummy data is generated to maintain the downloading in the present embodiment; -
FIG. 12 is a diagrammatic view showing that the buffer controller is reading a TS packet in the data block A in the buffer; -
FIG. 13 is a diagrammatic view showing a state in which the data block A is discarded after the state shown inFIG. 12 ; -
FIG. 14 is a diagrammatic view showing a state in which after an error occurs inFIG. 13 , the buffer controller sends a dummy data generation request to a dummy data generator; -
FIG. 15 is a diagrammatic view showing a summary of dummy data in IETF HTTP Live Streaming; -
FIG. 16 is a diagrammatic view showing an example of contents of a TS packet to be transmitted as dummy data; and -
FIG. 17 is a diagrammatic view showing a simplified MP4 file format. - Preferred embodiments of the present disclosure will be described below in detail with reference to the accompanying drawings. In the present specification and drawings, components having substantially the same functional configurations have the same reference characters, and no redundant description of these components will be made.
- The description will be made in the following order.
- 1. Example of configuration of system
- 2. Example of sequence in which encoded data is accumulated in buffer
- 3. Example of sequence in which receiver acquires data
- 4. Examples of play list file, data block acquisition request, data block acknowledgment
- 5. Example of sequence carried out when amount of data reaches upper limit of buffer capacity
- 6. Example of data acquisition sequence carried out when data block being acquired is unexpectedly deleted from buffer during data block acquisition
- 7. Example of sequence in which dummy data is generated to maintain downloading
- 8. Operation of generating dummy data
- 9. Example of contents of TS packet transmitted as dummy data
- 10. Example of MP4 file format
- A schematic configuration of a system according to a first embodiment of the present disclosure will first be described with reference to
FIG. 1 .FIG. 1 is a schematic view showing a system according to the present embodiment that encodes a live video in real time and distributes the live video in adaptive streaming. Atransmitter 100 and areceiver 200 are connected to each other via anIP network 250. Thetransmitter 100 and thereceiver 200 may alternatively be connected to each other via a wireless communication network. - The
transmitter 100 includes anencoder multiplexer 102, abuffer controller 104, acommunication unit 106, abuffer 108, and adummy data generator 110. Theencoder multiplexer 102 in thetransmitter 100 encodes video inputs sent from a video camcorder or any other external apparatus and multiplexes the encoded videos in an MPEG2-TS or MP4 format. The data outputted from theencoder multiplexer 102 passes through thebuffer controller 104 and is accumulated in thebuffer 108. Thecommunication unit 106 waits for a data acquisition request in an HTTP format from thereceiver 200. Upon reception of a data acquisition request, thecommunication unit 106 acquires data according to the request from thebuffer 108 via thebuffer controller 104 and send the data to thereceiver 200. - The
receiver 200 includes acommunication unit 202 and adecoder demultiplexer 204. Thereceiver 200, which has transmitted the data acquisition request to thetransmitter 100 via thecommunication unit 202 and acquired data blocks according to the request, sends the acquired data to thedecoder demultiplexer 204. Thedecoder demultiplexer 204 separates a multiplexed stream into individual streams, decodes the data in the streams, and outputs the decoded data to a monitor or any other similar device. - The configuration shown in
FIG. 1 can be formed of hardware (circuit) or a combination of a CPU (central processing unit) and software (program) that makes the CPU function. In the latter case, the program can be stored in a memory or any other storage device provided in thetransmitter 100 or thereceiver 200 or in an optical disk or any other storage medium loaded in a storage medium drive externally connected to thetransmitter 100 or thereceiver 200. - 2. Example of Sequence in which Encoded Data is Accumulated in Buffer
-
FIG. 2 is a diagrammatic view showing a sequence in which encoded data is accumulated in thebuffer 108 in thetransmitter 100. Thebuffer controller 104 requests theencoder multiplexer 102 to send data in step S10 and acquires the data in step S12, as shown inFIG. 2 . Thebuffer controller 104 then writes the acquired data to thebuffer 108 in step S14. The processes are repeated afterward. - 3. Example of Sequence in which Receiver Acquires Data
-
FIG. 3 is a diagrammatic view showing a sequence in which thereceiver 200 acquires data. Thecommunication unit 202 in thereceiver 200 first sends a play list request to thecommunication unit 106 in thetransmitter 100 in step S20 and acquires a play list file from thecommunication unit 106 in step S22. The play list file has a URL list of fragmented files written therein. Thecommunication unit 202 transmits a request to acquire a data block A in the play list file (URL of data block A) in step S24. - The
communication unit 106, which has received the data acquisition request, requests thebuffer controller 104 to send a relevant range of data (step S26). Thebuffer controller 104 requests thebuffer 108 to send relevant data (step S28), reads the relevant data from the buffer 108 (step S30), and sends the data to the communication unit 106 (step S32). Thecommunication unit 106 adds an HTTP response header to the data sent from thebuffer controller 104 and sends the resultant data to thecommunication unit 202 in the receiver 200 (step S34). Thecommunication unit 202 sends the data to the decoder demultiplexer 204 (step S36), which reproduces a video. Thereceiver 200, when it finishes downloading the data block A, acquires the following data block B in the play list file (step S40 and the following steps). The play list file is updated when reread. - As described above, in the adaptive streaming, data is fragmented into divided data blocks, each of which is transmitted from the
transmitter 100 whenever thereceiver 200 specifies an URL in the play list and issues a request for the data block. Even when the communication band bit rate changes during data transmission, for example, thereceiver 200 can request a data block of an appropriate bit rate by requesting thetransmitter 100 to send fragmented data blocks instead of sending data of a relatively long length at once, as described above. Data can therefore be stably received, for example, even when the band becomes unstable, whereby the configuration described above is particularly suitable, for example, for a case where live video data is received. -
FIG. 4 is a diagrammatic view showing examples of the play list file, the data block acquisition request, and a data block acknowledgment.FIG. 4 shows a case where IETF HTTP Live Streaming is used. In IETF HTTP Live Streaming, a play list file is expressed in an m3u8 format and a data file is expressed in an MPEG2-TS format. The play list shown inFIG. 4 has three data blocks fragmented every 8 seconds written therein. A single data block is handled as a single file containing a TS packet corresponding to a period of 8 seconds. Data acquisition is performed based on an HTTP GET command. - 5. Example of Sequence Carried Out when Amount of Data Reaches Upper Limit of Buffer Capacity
-
FIG. 5 is a diagrammatic view showing a sequence carried out when the amount of data reaches the upper limit of the capacity of thebuffer 108 in the sequence in which encoded data is accumulated in thebuffer 108 in thetransmitter 100. The sequence carried out before the amount of data reaches the upper limit of the capacity of thebuffer 108 is the same as that shown inFIG. 2 . When the amount of data reaches the upper limit of the capacity of thebuffer 108, writing operation performed by thebuffer controller 104 causes an error (step S16). At this point, thebuffer controller 104 deletes the oldest data block (step S18) and writes data in the free area (step S20). -
FIGS. 6 to 9 are diagrammatic views showing the operation inFIG. 5 .FIG. 6 shows that the data blocks A to D have been written to thebuffer 108 and a TS packet in a data block E is being written to thebuffer 108 in accordance with the sequence shown inFIG. 2 . -
FIG. 7 shows a case where the data blocks A to E have been written to thebuffer 108 and the amount of data reaches the upper limit of the capacity of thebuffer 108. In this case, since no more TS packet can be written to thebuffer 108, writing operation performed by thebuffer controller 104 causes an error. -
FIG. 8 shows a state in which after writing operation performed by thebuffer controller 104 causes an error, thebuffer controller 104 discards the oldest block data A in thebuffer 108. -
FIG. 9 shows that after discarding the oldest block data A in thebuffer 108, thebuffer controller 104 is writing a TS packet in a data block F to the free data area. Discarding the data block A allows the following data block F to be written, as shown inFIG. 9 . - 6. Example of Data Acquisition Sequence Carried Out when Data Block being Acquired is Unexpectedly Deleted from Buffer During Data Block Acquisition
-
FIG. 10 is a diagrammatic view showing a data acquisition sequence carried out when a data block being acquired is unexpectedly deleted from thebuffer 108 during the data block acquisition. As shown inFIG. 10 , all data in the data block A are successfully sent to thereceiver 200. The data block B is, however, discarded from thebuffer 108 during the acquisition of second data in the data block B from thebuffer 108 as shown inFIG. 5 , and thebuffer controller 104 is incapable of acquiring the data block B and data thereafter from the buffer 108 (step S42). - As described above, the example in
FIG. 10 , in which the data block B is discarded during the acquisition of data in the data block B as described with reference toFIGS. 6 to 8 , shows a situation in which thetransmitter 100 is incapable of sending the data block B and data thereafter to thereceiver 200. Immediately after transmitting a request to acquire the data block B, thereceiver 200 recognizes the data length of the content (content-length) of the data block B in preparation for reception of a data block acknowledgment shown inFIG. 4 from thetransmitter 100. Thereceiver 200 will therefore not acquire the following data block until thereceiver 200 downloads the full content-length of data block B. In other words, no more video data will not be downloaded, resulting in termination of the download. - In the present embodiment, when the situation shown in
FIG. 10 occurs, dummy data is generated to maintain the downloading. - 7. Example of Sequence in which Dummy Data is Generated to Maintain Downloading
-
FIG. 11 is a diagrammatic view showing a sequence in which dummy data is generated to maintain the downloading. InFIG. 11 , the processes in step S42 and the preceding steps are the same as those inFIG. 10 . - When the
buffer controller 104 tries to acquire the discarded data but fails to read the data (step S42), thebuffer controller 104 requests thedummy data generator 110 to generate the missing amount of dummy data in the following step S44. Upon reception of the request, thedummy data generator 110 generates the dummy data (step S46). The generated dummy data is sent to the buffer controller 104 (step S48), which sends the data via thecommunication unit 106 to thecommunication unit 202 in the receiver 200 (steps S50 and S52). - The
receiver 200 can thus receive data of the content-length shown inFIG. 4 . Upon reception of the data of the content-length, thereceiver 200 starts downloading the following data block C (step S54). In this way, even when data in a data block is unexpectedly discarded during data acquisition from thebuffer 108, the downloading will not be terminated but the following data can be downloaded. -
FIGS. 12 to 14 are diagrammatic views showing operation of generating dummy data.FIG. 12 shows that thebuffer controller 104 is reading a TS packet in the data block A in thebuffer 108. -
FIG. 13 shows a state in which the data block A is discarded after the state shown inFIG. 12 . In this case, an error occurs because thebuffer controller 104 can read no PS packet in the data block A having been discarded. -
FIG. 14 shows a state in which after the error occurs inFIG. 13 , thebuffer controller 104 sends a dummy data generation request to thedummy data generator 110. Upon reception the request, thedummy data generator 110 generates dummy data, which is sent to thebuffer controller 104 and further sent to thereceiver 200 via thebuffer controller 104 and thecommunication unit 106. -
FIG. 15 is a diagrammatic view showing a summary of dummy data in IETF HTTP Live Streaming. InFIG. 15 , the data block A in thebuffer 108 is discarded in step S42 during the transmission of 300, 302, and 304. The first andTS packets 300, 302 have reached thesecond TS packets receiver 200, but thethird TS packet 304 is cut halfway and only part of theTS packet 304 has reached thereceiver 200.Dummy data 400 is formed ofdata 402 that complements the untransmitted portion of theTS packet 304 that has been cut and aNULL packet 404 corresponding to a TS packet that is yet to be transmitted (corresponding to fourth TS packet), and the thus configureddummy data 400 is transmitted through thecommunication unit 106 to thecommunication unit 202 in thereceiver 200. - The size of dummy data generated in IETF HTTP Live Streaming is determined by the following expressions.
-
data block size=TS packet size×number of packets -
number of NULL packets transmitted as dummy data=(data block size−transmitted data size)/TS packet size -
(size of dummy data that complements fragmented TS packet=(data block size−transmitted data size) % TS packet size) - A data block is formed of a certain number of TS packets, and a single TS packet has a size of 188 bytes (192 bytes in the case of TS packet with time stamp).
- The size of a data block is therefore 188 bytes (192 bytes in the case of TS packet with time stamp)×number of packets.
- The number of
NULL packets 404 to be sent as dummy data is (data block size−transmitted data size)/TS packet size, and the size of thedata 402 that complements a fragmented TS packet is the remainder of the division. -
FIG. 16 is a diagrammatic view showing an example of contents of a TS packet (NULL packet 404) transmitted as dummy data. Each data in theNULL packet 404 is, for example, set to be invalid data. In the case of TS packet with a time stamp, TS (time stamp) is set at zero, and a sync word is set at (0x47). - Further, a transport error indicator A (1 bit) shown in
FIG. 16 is set at 1, which represents an error, and a payload unit start indicator B (1 bit) and a transport priority C (1 bit) shown inFIG. 16 are set at zero. Further, a packet identifier (13 bits) is set at (0x1ff), which represents a NULL packet. A transport scramble control D (2 bits), an adaptation field control E (2 bits), and a cyclic counter F (4 bits) are also set at zero. A payload (184 bytes) is set to be dummy data (0x00 or 0xFF, for example). Thedummy data 402 that complements a fragmented TS packet is generated from part of theNULL packet 404. Thecommunication unit 106, which can detects the amount of data having been read from thebuffer 108, can detect the amount of data having been transmitted in each data block. Thecommunication unit 106 can therefore detect that all data in thethird TS block 304 have not been successfully transmitted and how many bits in thethird TS packet 304 have been successfully transmitted. Since each TS packet is so transmitted that the TS (time stamp), the sync word, the transport error indicator A, the payload unit start indicator B, and the following data are transmitted in this order, thecommunication unit 106 can detect which portions of thethird TS packet 304 have been transmitted. Thedummy data generator 110 generatesdummy data 402 corresponding to the amount of untransmitted data in theTS packet 304 and generates theNULL packet 404 based on the information described above along with the calculation expressions described above. - In Adobe HTTP Dynamic Streaming and Microsoft HTTP Smooth Streaming, dummy data can be generated in the same manner as described above although the play list file formats differ from each other.
- In the two streaming methods described above, in which the data file format is not MPEG2-TS but is MP4, the amount of data that has not been transmitted can be calculated based on the data length that should be transmitted and the amount of data that has been transmitted, as in the case of MPEG2-TS. Dummy data can therefore be generated based on the amount of data that has not been transmitted.
FIG. 17 is a diagrammatic view showing a simplified MP4 file format. A single MP4 file is primarily formed of MOOV (movie metadata) and MOOFs (movie fragments). In IETF HTTP Live Streaming described above, a single data block is handled as a single file, but in a method using MP4, a single data block corresponds to a single MOOF (movie fragment). Although a MOOF has a variable length, thedummy data generator 110 can generate dummy data of a data size calculated by (data block length−transmitted data length). The dummy data can then be transmitted through thecommunication unit 106. - According to the present embodiment described above, even when buffering or any other measures performed by the
transmitter 100 is not effective enough but an error occurs, communication will not be terminated but can be maintained. - Preferred embodiments of the present disclosure have been described in detail with reference to the accompanying drawings, but the technical scope of the present disclosure is not limited to the embodiments. Those skilled in the technical field of the present disclosure will obviously come up with a variety of changes or modifications within the category of technical spirit set forth in the appended claims, and these changes or modifications, of course, fall within the technical scope of the present disclosure.
- The following configurations also belong to the technical scope of the present disclosure.
- (1) A communication apparatus including
- a buffer that accumulates a plurality of data blocks,
- a buffer controller that reads the data blocks from the buffer to transmit the data blocks, and
- a transmission unit that transmits, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data in place of an untransmitted portion of the data block having been discarded.
- (2) The communication apparatus described in (1),
- further including a dummy data generator that generates, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data corresponding to the untransmitted portion of the data block having been discarded,
- wherein the transmission unit transmits not only the data blocks read from the buffer but also the dummy data in place of the untransmitted portion of the data block having been discarded when the dummy data is generated.
- (3) The communication apparatus described in (2),
- wherein the data is expressed in an MPEG2-TS format and a predetermined number of TS packets form each of the data blocks, and
- the dummy data generator generates, when any of the data blocks is discarded during the transmission of the data blocks, the dummy data including data corresponding to an untransmitted portion of a TS packet that has been cut halfway and a TS packet that is yet to be transmitted.
- (4) The communication apparatus described in (2),
- wherein the data is expressed in an MP4 format and a MOOF forms each of the data blocks, and
- the dummy data generator generates, when any of the data blocks is discarded during the transmission of the data blocks, data corresponding to an untransmitted portion of the MOOF as the dummy data.
- (5) A communication system including
- a communication apparatus including
- a buffer that accumulates a plurality of data blocks,
- a buffer controller that reads the data blocks from the buffer to transmit the data blocks in response to a transmission request, and
- a transmission unit that transmits, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data in place of an untransmitted portion of the data block having been discarded, and
- a reception apparatus that transmits the transmission request to the communication apparatus and receives the data blocks and the dummy data transmitted from the transmission unit.
- (6) A transmission method including
- accumulating a plurality of data blocks in a buffer and reading the data blocks to transmit the data blocks, and
- transmitting, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data in place of an untransmitted portion of the data block having been discarded.
- (7) A program that allows a computer to function as
- means for accumulating a plurality of data blocks in a buffer and reading the data blocks to transmit the data blocks, and
- means for transmitting, when any of the data blocks is discarded from the buffer during the transmission of the data blocks, dummy data in place of an untransmitted portion of the data block having been discarded.
- The present disclosure contains subject matter related to that disclosed in Japanese Priority Patent Application JP 2011-128358 filed in the Japan Patent Office on Jun. 8, 2011, the entire contents of which are hereby incorporated by reference.
Claims (7)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011128358A JP2012257041A (en) | 2011-06-08 | 2011-06-08 | Communication apparatus, communication system, communication method, and program |
| JP2011-128358 | 2011-06-08 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20120317304A1 true US20120317304A1 (en) | 2012-12-13 |
| US9313253B2 US9313253B2 (en) | 2016-04-12 |
Family
ID=47294120
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US13/474,039 Expired - Fee Related US9313253B2 (en) | 2011-06-08 | 2012-05-17 | Communication apparatus, communication system, communication method, and program |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US9313253B2 (en) |
| JP (1) | JP2012257041A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140025836A1 (en) * | 2012-07-23 | 2014-01-23 | Adobe Systems Inc. | Method and apparatus for performing server-side splicing for live streaming media |
Citations (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4422171A (en) * | 1980-12-29 | 1983-12-20 | Allied Corporation, Law Department | Method and system for data communication |
| US5892980A (en) * | 1997-02-28 | 1999-04-06 | Comsys Communication And Signal Processing Ltd. | System for dynamically changing the length of transmit and receive sample buffers utilizing previous responding to an interrupt in a communications system |
| US6091709A (en) * | 1997-11-25 | 2000-07-18 | International Business Machines Corporation | Quality of service management for packet switched networks |
| US20010029446A1 (en) * | 1997-02-04 | 2001-10-11 | Lg Electronics Inc. | Method and apparatus for compensating reproduced audio signals of an optical disc |
| US20050147033A1 (en) * | 2003-10-31 | 2005-07-07 | Yi-Lon Chin | Method of controlling data flow for a media player system |
| US20050163141A1 (en) * | 2003-01-20 | 2005-07-28 | Fujitsu Limited | Network switching device and method using shared buffer |
| US6985936B2 (en) * | 2001-09-27 | 2006-01-10 | International Business Machines Corporation | Addressing the name space mismatch between content servers and content caching systems |
| US7058941B1 (en) * | 2000-11-14 | 2006-06-06 | Microsoft Corporation | Minimum delta generator for program binaries |
| US20070104007A1 (en) * | 2005-09-09 | 2007-05-10 | Canon Kabushiki Kaisha | Data distribution processing system, data distribution processing method, and program |
| US20070143807A1 (en) * | 2005-12-19 | 2007-06-21 | Canon Kabushiki Kaisha | Data distribution apparatus, data provision apparatus and data distribution system comprised thereof |
| US20080049846A1 (en) * | 2006-08-23 | 2008-02-28 | Nec Corporation | IP stream tramsmitting/receiving system, IP stream receiving device and receiving process timing synchronization method used for the same |
| US20090003384A1 (en) * | 2005-06-22 | 2009-01-01 | Texas Instruments Incorporated | Data transmission scheme with scheduling optimization for physical channel group |
| US7512767B2 (en) * | 2006-01-04 | 2009-03-31 | Sony Ericsson Mobile Communications Ab | Data compression method for supporting virtual memory management in a demand paging system |
| US7697517B2 (en) * | 2006-01-30 | 2010-04-13 | Alaxala Networks Corporation | Packet forwarding apparatus with transmission control function |
| US7751427B2 (en) * | 2000-09-06 | 2010-07-06 | Juniper Networks, Inc. | Packet switching equipment and switching control method |
| US20100172357A1 (en) * | 2009-01-06 | 2010-07-08 | Alcatel Lucent | Minimizing effects of packet delay variation in time-division multiplexing pseudowire services |
| US8014452B2 (en) * | 2002-11-26 | 2011-09-06 | International Business Machines Corporation | Format conversion circuit |
| US8112520B2 (en) * | 2008-12-17 | 2012-02-07 | Canon Kabushiki Kaisha | Method of assigning service and information processing apparatus for implementing the method |
| US20120050453A1 (en) * | 2010-08-31 | 2012-03-01 | Brother Kogyo Kabushiki Kaisha | Communication Device and Computer Program Product |
| US8184649B2 (en) * | 2004-10-29 | 2012-05-22 | Siemens Enterprise Communications Gmbh & Co. Kg | Method for transmitting data available in the form of data packets |
| US8271683B2 (en) * | 2008-03-21 | 2012-09-18 | International Business Machines Corporation | Content push service |
| US8345680B2 (en) * | 2009-05-07 | 2013-01-01 | Alcatel Lucent | Handling out-of-sequence packets in a circuit emulation service |
| US20130028078A1 (en) * | 2011-02-16 | 2013-01-31 | Sony Corporation | Transmission terminal and transmission method |
| US8736627B2 (en) * | 2006-12-19 | 2014-05-27 | Via Technologies, Inc. | Systems and methods for providing a shared buffer in a multiple FIFO environment |
| US20140233420A1 (en) * | 2012-01-16 | 2014-08-21 | Mitsubishi Electric Corporation | Video receiving terminal, home gateway device, quality management system, and quality deterioration isolation system |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1553774B1 (en) | 2002-07-16 | 2019-03-13 | Panasonic Corporation | Content receiving apparatus and content transmitting apparatus |
| JP5187249B2 (en) | 2008-07-17 | 2013-04-24 | 富士通株式会社 | Redundant system connection recovery device, method and processing program |
-
2011
- 2011-06-08 JP JP2011128358A patent/JP2012257041A/en not_active Withdrawn
-
2012
- 2012-05-17 US US13/474,039 patent/US9313253B2/en not_active Expired - Fee Related
Patent Citations (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4422171A (en) * | 1980-12-29 | 1983-12-20 | Allied Corporation, Law Department | Method and system for data communication |
| US20010029446A1 (en) * | 1997-02-04 | 2001-10-11 | Lg Electronics Inc. | Method and apparatus for compensating reproduced audio signals of an optical disc |
| US5892980A (en) * | 1997-02-28 | 1999-04-06 | Comsys Communication And Signal Processing Ltd. | System for dynamically changing the length of transmit and receive sample buffers utilizing previous responding to an interrupt in a communications system |
| US6091709A (en) * | 1997-11-25 | 2000-07-18 | International Business Machines Corporation | Quality of service management for packet switched networks |
| US7916724B2 (en) * | 2000-09-06 | 2011-03-29 | Juniper Networks, Inc. | Packet switching equipment and switching control method |
| US7751427B2 (en) * | 2000-09-06 | 2010-07-06 | Juniper Networks, Inc. | Packet switching equipment and switching control method |
| US7058941B1 (en) * | 2000-11-14 | 2006-06-06 | Microsoft Corporation | Minimum delta generator for program binaries |
| US6985936B2 (en) * | 2001-09-27 | 2006-01-10 | International Business Machines Corporation | Addressing the name space mismatch between content servers and content caching systems |
| US8014452B2 (en) * | 2002-11-26 | 2011-09-06 | International Business Machines Corporation | Format conversion circuit |
| US20050163141A1 (en) * | 2003-01-20 | 2005-07-28 | Fujitsu Limited | Network switching device and method using shared buffer |
| US20050147033A1 (en) * | 2003-10-31 | 2005-07-07 | Yi-Lon Chin | Method of controlling data flow for a media player system |
| US8184649B2 (en) * | 2004-10-29 | 2012-05-22 | Siemens Enterprise Communications Gmbh & Co. Kg | Method for transmitting data available in the form of data packets |
| US20090003384A1 (en) * | 2005-06-22 | 2009-01-01 | Texas Instruments Incorporated | Data transmission scheme with scheduling optimization for physical channel group |
| US7969873B2 (en) * | 2005-06-22 | 2011-06-28 | Intel Corporation | Data transmission scheme with scheduling optimization for physical channel group |
| US20070104007A1 (en) * | 2005-09-09 | 2007-05-10 | Canon Kabushiki Kaisha | Data distribution processing system, data distribution processing method, and program |
| US20070143807A1 (en) * | 2005-12-19 | 2007-06-21 | Canon Kabushiki Kaisha | Data distribution apparatus, data provision apparatus and data distribution system comprised thereof |
| US7512767B2 (en) * | 2006-01-04 | 2009-03-31 | Sony Ericsson Mobile Communications Ab | Data compression method for supporting virtual memory management in a demand paging system |
| US7697517B2 (en) * | 2006-01-30 | 2010-04-13 | Alaxala Networks Corporation | Packet forwarding apparatus with transmission control function |
| US20080049846A1 (en) * | 2006-08-23 | 2008-02-28 | Nec Corporation | IP stream tramsmitting/receiving system, IP stream receiving device and receiving process timing synchronization method used for the same |
| US8736627B2 (en) * | 2006-12-19 | 2014-05-27 | Via Technologies, Inc. | Systems and methods for providing a shared buffer in a multiple FIFO environment |
| US8271683B2 (en) * | 2008-03-21 | 2012-09-18 | International Business Machines Corporation | Content push service |
| US8112520B2 (en) * | 2008-12-17 | 2012-02-07 | Canon Kabushiki Kaisha | Method of assigning service and information processing apparatus for implementing the method |
| US7953004B2 (en) * | 2009-01-06 | 2011-05-31 | Alcatel Lucent | Minimizing effects of packet delay variation in time-division multiplexing pseudowire services |
| US20100172357A1 (en) * | 2009-01-06 | 2010-07-08 | Alcatel Lucent | Minimizing effects of packet delay variation in time-division multiplexing pseudowire services |
| US8345680B2 (en) * | 2009-05-07 | 2013-01-01 | Alcatel Lucent | Handling out-of-sequence packets in a circuit emulation service |
| US20130064248A1 (en) * | 2009-05-07 | 2013-03-14 | Alcaltel-Lucent | Handling out-of-sequence packets in a circuit emulation service |
| US20120050453A1 (en) * | 2010-08-31 | 2012-03-01 | Brother Kogyo Kabushiki Kaisha | Communication Device and Computer Program Product |
| US8953469B2 (en) * | 2010-08-31 | 2015-02-10 | Brother Kogyo Kabushiki Kaisha | Communication device and computer program product |
| US20130028078A1 (en) * | 2011-02-16 | 2013-01-31 | Sony Corporation | Transmission terminal and transmission method |
| US20140233420A1 (en) * | 2012-01-16 | 2014-08-21 | Mitsubishi Electric Corporation | Video receiving terminal, home gateway device, quality management system, and quality deterioration isolation system |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140025836A1 (en) * | 2012-07-23 | 2014-01-23 | Adobe Systems Inc. | Method and apparatus for performing server-side splicing for live streaming media |
| US8959241B2 (en) * | 2012-07-23 | 2015-02-17 | Adobe Systems Incorporated | Method and apparatus for performing server-side splicing for live streaming media |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2012257041A (en) | 2012-12-27 |
| US9313253B2 (en) | 2016-04-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109996097B (en) | Screen projection method, system and storage device | |
| US9794311B2 (en) | Transport accelerator implementing extended transmission control functionality | |
| US10263875B2 (en) | Real-time processing capability based quality adaptation | |
| US10264044B2 (en) | Apparatus and method for sending content as chunks of data to a user device via a network | |
| US11310302B2 (en) | Method and apparatus for streaming dash content over broadcast channels | |
| EP2875642B1 (en) | Carriage of iso-bmff event boxes in an mpeg-2 transport stream | |
| US20130212231A1 (en) | Method, apparatus and system for dynamic media content insertion based on http streaming | |
| US20110302618A1 (en) | Fragmented file structure for live media stream delivery | |
| CN102868680B (en) | Broadcast transport stream distribution system, broadcast transport stream distribution apparatus and distribution method for use in the system | |
| JP6903172B2 (en) | Equipment and methods for live uplink adaptive streaming | |
| US20100064054A1 (en) | Remote fast forward and rewind functionality for client devices | |
| US20110299586A1 (en) | Quality adjustment using a fragmented media stream | |
| JP6338709B2 (en) | Streaming apparatus and method thereof, streaming service system using the same, and computer-readable recording medium (streaming apparatus and method thereof, streaming service system using the streaming medium and computer readable) | |
| US20160366617A1 (en) | HTTP-Based Buffer Status Updating Method and Device, and Buffer Status Processor | |
| EP2667625A2 (en) | Apparatus and method for transmitting multimedia data in a broadcast system | |
| Lei et al. | Design and implementation of streaming media processing software based on RTMP | |
| WO2009093292A1 (en) | Dynamic image transmission/reception system | |
| CN105228001A (en) | The method and system that a kind of FLV format video is play online | |
| US7587507B2 (en) | Media recording functions in a streaming media server | |
| KR20110090596A (en) | Jitter Correction Method and Device | |
| JP2009296164A (en) | Data transmitting device, control method therefor, and program | |
| US10277957B2 (en) | Method for delivering an audio-video live content in multicast form | |
| US9313253B2 (en) | Communication apparatus, communication system, communication method, and program | |
| EP2640082A1 (en) | A processing module for injecting a digital media transport stream into a host device | |
| US12279001B2 (en) | Method for transmitting real time based digital video signals in networks |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: SONY CORPORATION, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MASUDA, YASUTO;REEL/FRAME:028227/0769 Effective date: 20120514 |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
| FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
| FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20240412 |