USPatent applicationPatented

Recording apparatus, recording method, and program

Granted 18 Aug 2020 · 3 office actions

Current assignee: Sony Corporation · originally Sony Group Corporation

Law firm: Law firm · Log in to unlock

Attorney: Attorney · Log in to unlock

Inventors: Noriaki Ooishi, Michito Ishii, Kazuhiro Ishigaya, Takehito Watanabe +2 · Examiner: Thai Q Tran · AU 2484 · TC 2400

Life of the application

14 dated events
⤢ drag to zoom20162018202020222024202620282030203220342036ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

The present technology relates to a recording apparatus, a recording method, and a program capable of avoiding a buffer overflow at the time of reproduction. Each packet is separated from a packet string, and information indicating an arrival timing of each packet is output. The packet is divided into divided packets having a size which does not cause a buffer overflow, and a packet arrival time of each divided packet is embedded in a header of the divided packet. The present technology is applied to the recording apparatus.

Description

13 parts
›TECHNICAL FIELD

The present technology relates to a recording apparatus, a recording method, and a program, and particularly, to a recording apparatus, a recording method, and a program capable of avoiding a buffer overflow when packet data is reproduced.

›BACKGROUND ART

A moving picture experts group (MPEG)-2 transport stream (TS) prescribed in ISO 13818-1 is used as a packet data structure for satellite digital broadcasting, digital terrestrial broadcasting, and the like.

In a MPEG-2 TS packet data string, data including audio and video of at least one or more programs is multiplexed in time division.

A packet of the MPEG-2 TS has a fixed length of 188 bytes.

In a case where the received packet data string is recorded, even when the recorded packet data string is read and reproduced, it is desirable that the data can be reproduced by an apparatus similar to that for receiving, decoding, viewing, and listening.

Therefore, a technology for applying a packet reception time to each packet and recording the time is used (refer to Patent Document 1).

With such a technology, when the recorded packet data string is read, by starting to read the packet at the timing of the reception time, reading of the packet head can be started at a timing similar to the timing in a case where the packet is received, viewed, and listened.

›CITATION LIST

Patent Document

Patent Document 1: Japanese Patent No. 4973773 (Japanese Patent Application Laid-Open No. 2011-028841)

›SUMMARY OF THE INVENTION

Problems to Be Solved By the Invention

Generally, data reading at the time of reproduction is performed at a speed faster than a data input rate at the time of receiving, viewing, and listening to the data. Therefore, there has been a risk that a buffer overflow occurs when a buffer data size is same as that at the time of receiving, viewing, and listening to the data.

Since the MPEG-2 TS packet has a relatively small fixed length of 188 bytes, the overflow can be avoided by a small additional buffer of 188 bytes.

However, in a case of a packet data structure having a relatively large or variable packet size, the overflow cannot be avoided unless an additional buffer for the maximum packet size is provided.

The present technology has been made in view of such a situation, and in particular, the present technology can avoid a buffer overflow at the time of reproduction.

Solutions to Problems

A recording apparatus according to one aspect of the present technology includes: a multiplexing/separating unit which separates each packet from a packet string; a packet dividing unit which divides the packet into divided packets having a predetermined size; a packet arrival time generating unit which generates a packet arrival time of each divided packet; and a packet arrival time applying unit which embeds the packet arrival time generated by the time generating unit in a header of the divided packet.

A recording unit which records the divided packet in which the packet arrival time is embedded in the header to a recording medium can be further included. The predetermined size can correspond to a size of an additional buffer which is added to be a data buffer size same as that at the time of receiving, viewing, and listening by a reproducing apparatus, for reproducing the divided packet recorded to the recording medium, to avoid the buffer overflow.

When a reading maximum rate at the time when the reproducing apparatus reproduces the divided packet is Rp and a reading maximum rate at the time when the divided packet is recorded is Rr, the predetermined size can be ((Rp/Rp−Rr)×(size of buffer)).

The multiplexing/separating unit can separate each packet from the packet string and output information indicating an arrival timing of each packet, the packet arrival time generating unit can generate the packet arrival time for each packet before the divided packet is divided on the basis of the information indicating the arrival timing of each packet. Relative to a divided packet which is a head packet of the divided packets, the packet arrival time of the packet before the divided packet is divided can be embedded in the header as it is, and relative to a second and subsequent divided packets of the divided packets, a packet arrival time corresponding time sequentially calculated from the packet arrival time of the packet before the divided packet is divided on the basis of the sizes of the divided packets and an input rate at the time of recording can be embedded in the header as the packet arrival time.

The packet arrival time applying unit can set an extra header for each divided packet and embed an arrival time stamp (ATS) in the extra header as the packet arrival time generated by the time generating unit.

In a case of MPEG Media Transport (MMT), the packet arrival time applying unit can embed the packet arrival time generated by the time generating unit in a header including a MMTP packet header of each divided packet in a network time protocol (NTP) format.

A simulating unit can be further included which simulates an operation of a reproducing apparatus which includes a buffer for sequentially buffering the divided packets recorded to the recording medium as necessary and a decoding unit for sequentially decoding a divided packet string buffered by the buffer and instructs the buffer dividing unit to divide the packet into the divided packets in a case where a buffer overflow occurs in the simulation. The buffer dividing unit can divide the packet into the divided packets only in a case where the simulating unit instructs the buffer dividing unit to divide the packet into the divided packets.

The simulating unit can instruct to divide the packet into the divided packets having the maximum packet length which does not cause the buffer overflow from the simulation result in a case where the buffer overflow occurs in the simulation, and the buffer dividing unit can divide the packet into the divided packets having the maximum packet length which does not cause the buffer overflow.

A recording method according to one aspect of the present technology is a recording method including: separating each packet from a packet string; dividing the packet into divided packets having a predetermined size; generating a packet arrival time for each divided packet; and embedding the generated packet arrival time in a header of the divided packet.

A program according to one aspect of the present technology causes a computer to function as: a multiplexing/separating unit which separates each packet from a packet string; a packet dividing unit which divides the packet into divided packets having a predetermined size; a packet arrival time generating unit which generates a packet arrival time of each divided packet; and a packet arrival time applying unit which embeds the packet arrival time generated by the time generating unit in a header of the divided packet.

In one aspect of the present technology, each packet is separated from a packet string, the packet is divided into divided packets having a predetermined size, a packet arrival time is generated for each divided packet, and the generated packet arrival time is embedded in a header of the divided packet.

The recording apparatus according to one aspect of the present technology may be an independent apparatus and may be a block functioning as the recording apparatus.

Effects of the Invention

According to one aspect of the present technology, it is possible to avoid a buffer overflow at the time of reproduction.

›BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a diagram describing an exemplary configuration of a conventional recording apparatus.

FIG. 2 is a flowchart describing recording processing by the recording apparatus in FIG. 1 .

FIG. 3 is a time chart describing the recording processing by the recording apparatus in FIG. 1 .

FIG. 4 is a diagram describing an exemplary configuration of a general reproducing apparatus.

FIG. 5 is a flowchart describing reproducing processing by the reproducing apparatus in FIG. 4 .

FIG. 6 is a time chart describing packet read timings in the recording processing by the recording apparatus in FIG. 1 and in the reproducing processing by the reproducing apparatus in FIG. 4 .

FIG. 7 is a diagram describing an exemplary configuration of a first embodiment of a recording apparatus to which the present technology has been applied.

FIG. 8 is a flowchart describing recording processing by the recording apparatus in FIG. 7 .

FIG. 9 is a time chart describing packet read timings in the recording processing by the recording apparatus in FIG. 7 and in the reproducing processing by the reproducing apparatus in FIG. 4 .

FIG. 10 is a diagram describing an exemplary configuration of a second embodiment of a recording apparatus to which the present technology has been applied.

FIG. 11 is a flowchart describing recording processing by the recording apparatus in FIG. 10 .

FIG. 12 is a diagram describing an exemplary configuration of a general-purpose personal computer.

›MODE FOR CARRYING OUT THE INVENTION · 1 of 7

First Embodiment

<Exemplary Configuration of Conventional Recording Apparatus>

A configuration of a conventional recording apparatus is described first when starting to describe a recording apparatus to which the present technology has been applied.

A conventional recording apparatus 11 includes a multiplexing/separating unit 31 , a packet arrival time applying unit 32 , a PLL unit 33 , a recording unit 34 , and a recording medium 35 .

The multiplexing/separating unit 31 sequentially separates each packet from a packet string, as an input packet string, including moving picture experts group (MPEG)-2 transport stream (TS) packets and the like transmitted, for example, as digital broadcasting signals and supplies the separated packets to the packet arrival time applying unit 32 . Furthermore, the multiplexing/separating unit 31 supplies clock reference information to restore clock signals of the transmission side to the PLL unit 33 .

In a case of the MPEG-2 TS packet, a program clock reference (PCR) is used as the clock reference information. Furthermore, in a case of ARIB-STD-B60 which is a standard using MPEG media transport (MMT) prescribed in Part 1 of the MPEG-H standard, the network time protocol (NTP) is used as the clock reference information.

The phase locked loop (PLL) unit 33 restores a transmission-side clock by using the clock reference information, generates a packet arrival time to be updated while being counted in synchronization with the restored clock, and supplies the generated packet arrival time to the packet arrival time applying unit 32 .

The packet arrival time applying unit 32 applies the packet arrival time to a packet, which has been multiplexed and separated, to be recorded and supplies the packet to the recording unit 34 .

The recording unit 34 records and stores the packet to which the packet arrival time has been applied to the recording medium 35 .

<Recording Processing by Conventional Recording Apparatus>

Next, recording processing by the conventional recording apparatus 11 in FIG. 1 is described with reference to the flowchart in FIG. 2 .

In step S 11 , the multiplexing/separating unit 31 supplies the packet string including the MPEG-2 TS packets and the like transmitted, for example, as digital broadcasting signals, as an input packet string to the packet arrival time applying unit 32 by sequentially separating each packet from the packet string. Furthermore, the multiplexing/separating unit 31 supplies the clock reference information to restore the transmission-side clock signals to the PLL unit 33 .

In step S 12 , the phase locked loop (PLL) unit 33 restores the transmission-side clock by using the clock reference information, generates a packet arrival time to be updated while being counted in synchronization with the restored clock, and supplies the generated packet arrival time to the packet arrival time applying unit 32 .

In step S 13 , the packet arrival time applying unit 32 applies the packet arrival time to the packet, which is multiplexed and separated, to be recorded by embedding the arrival time in a header and supplies the packet to the recording unit 34 .

In step S 14 , the recording unit 34 records and stores the packet, to which the header having the packet arrival time embedded therein is applied, to the recording medium 35 .

In step S 15 , the multiplexing/separating unit 31 determines whether the next packet is supplied. In a case where the next packet is supplied, the procedure returns to step S 11 , and subsequent processing is repeated. Then, in a case where it has been determined in step S 15 that no packet is supplied, the procedure is terminated.

That is, according to the above processing, in a case of the MPEG-2 TS packet, for example, when a packet 51 - 1 is supplied at a packet arrival time ATS [n] as illustrated in the upper part of FIG. 3 , an extra header (Extra_Header) 52 - 1 including a packet arrival time ATS [n] 53 - 1 is applied to the head of the packet 51 - 1 as illustrated in the lower part of FIG. 3 .

Then, similarly to the above, in the following processing, for example, when a packet 51 - 2 is supplied at a packet arrival time ATS [n+1] as illustrated in the upper part of FIG. 3 , an extra header (Extra_Header) 52 - 2 including a packet arrival time ATS [n+1] 53 - 2 is applied to the head of the packet 51 - 2 as illustrated in the lower part of FIG. 3 .

In this way, the extra header 52 including the packet arrival time 53 is sequentially applied to the head of each packet 51 in the packet string, and the extra header 52 is sequentially recorded to the recording medium 35 .

Note that, in FIG. 3 , an example is illustrated in a case of an MPEG-2 TS packet including a syntax which does not include packet arrival time information in a packet header. That is, in a case of the MPEG-2 TS packet, it is necessary to separately provide an additional header to embed the packet arrival time therein. Therefore, in a case of the MPEG-2 TS packet, an extra header (Extra_Header) is especially provided at the head of the packet, and the packet arrival time is embedded in the extra header.

On the other hand, as a MPEG media transport (MMT) packet or the like, in a case where time information corresponding to the packet arrival time has been previously included as the syntax of each packet header (header having the name of MMTP packet header has been previously provided), the packet arrival time may be embedded in the header which has been previously provided.

<Exemplary Configuration of Reproducing Apparatus>

Next, an exemplary configuration of a general reproducing apparatus is described with reference to FIG. 4 .

A reproducing apparatus 61 in FIG. 4 includes a recording medium 71 , a packet reading unit 72 , an ATC counter 73 , a multiplexing/separating unit 74 , buffers 75 - 1 to 75 - n, decoders 76 - 1 to 76 - n, and a display 77 . Note that, in the following description, the buffers 75 - 1 to 75 - n and the decoders 76 - 1 to 76 - n are simply referred to as a buffer 75 and a decoder 76 unless it is necessary to distinguish them separately, and other components are similarly referred.

›MODE FOR CARRYING OUT THE INVENTION · 2 of 7

The recording medium 71 corresponds to the recording medium 35 in FIG. 1 and stores the packets to which the header (extra header in a case of MPEG-2 TS packet) where the packet arrival time is embedded is applied. The packets are sequentially read by the packet reading unit 72 .

The packet reading unit 72 sequentially reads the packets to which the headers recorded in the recording medium 71 have been applied and outputs the packet to the multiplexing/separating unit 74 at the timing corresponding to the packet arrival time embedded in the header on the basis of the arrival time information supplied from the arrival time clock (ATC) counter 73 . That is, the packets are sequentially supplied to the multiplexing/separating unit 74 on the basis of the information of the ATC counter 73 and the information on the packet arrival time. Therefore, the packets are supplied to the multiplexing/separating unit 74 so that the timing between the packets coincides with a time interval between the packets in the packet string supplied at the time of recording.

The multiplexing/separating unit 74 separates information in packet units which is supplied from the packet reading unit 72 in channel units, and makes any one of the buffers 75 - 1 to 75 - n buffer the separated information.

The decoders 76 - 1 to 76 - n read and decode the packet string buffered by each of the buffers 75 - 1 to 75 - n in channel units by a predetermined data strength, and display the decoded result on the display 77 , for example, including a liquid crystal display (LCD) and the like. Furthermore, the data to be reproduced includes image data and audio data. Here, to display the data on the display 77 means to display an image and output audio from a speaker (not shown) or the like.

<Reproducing Processing by Reproducing Apparatus in FIG. 4 >

Next, reading buffering processing which is processing from reading the packet by the reproducing apparatus in FIG. 4 to buffering is described with reference to the flowchart in FIG. 5 .

In step S 31 , the ATC counter 73 sequentially starts to count a clock counter corresponding to the time and sequentially outputs the counted value to the packet reading unit 72 .

In step S 32 , the packet reading unit 72 sequentially reads a packet including a header from the recording medium 71 .

In step S 33 , the packet reading unit 72 reads information on the packet arrival time embedded in the header of the read packet.

In step S 34 , the packet reading unit 72 determines whether it is the timing corresponding to the packet arrival time on the basis of the value of the clock counter supplied from the ATC counter 73 , and the packet reading unit 72 repeats similar processing until the timing is assumed to correspond to the packet arrival time. Then, in a case where it has been determined in step S 34 that the value of the counter supplied from the ATC counter 73 is the timing corresponding to the packet arrival time, the procedure proceeds to step S 35 .

In step S 35 , the packet reading unit 72 outputs the read packet to the multiplexing/separating unit 74 .

In step S 36 , the multiplexing/separating unit 74 separates the supplied packet in channel units.

In step S 37 , the multiplexing/separating unit 74 makes the buffer 75 of the corresponding channel store (buffer) the separated packet.

In step S 38 , the packet reading unit 72 determines whether the next packet exists. In a case where the next packet exists, the procedure returns to step S 32 , and subsequent processing is repeated.

Then, in a case where it has been determined in step S 38 that no next packet exists, the procedure is terminated. At this time, the ATC counter 73 stops counting.

Through the series of processing described above, the reproducing apparatus 61 sequentially reproduces the packet string recorded by the recording apparatus 11 by the predetermined data length.

Note that, it is not necessary to read the entire packet in step S 32 , and it is preferable that the arrival time be read. Therefore, in a case where only the arrival time is read in step S 32 , the packet reading unit 72 reads the entire packet from the recording medium 71 and outputs the read packet to the multiplexing/separating unit 74 in step S 35 .

<Buffer Occupancy at the time of Reproduction>

Here, a transition of the buffer occupancy in the buffer 75 at the time of the reproduction is described with reference to FIG. 6 .

Generally, data reading at the time of reproduction is performed at a speed faster than a data input rate at the time of receiving, viewing, and listening. Therefore, a buffer overflow may occur if the buffer size is same as that at the time of receiving, viewing, and listening.

That is, the reading rate at the time of reproduction is higher than the input rate at the time of recording. Therefore, if the timing to read the head of the packet 51 - 1 is adjusted to a time t 11 corresponding to the packet arrival time ATS [n], the packet 51 - 1 is read at the similar speed to the time of recording as illustrated in the upper part of FIG. 6 . If it is assumed that the reading be completed at a time t 13 , normally, a time required to read the packet at the time of reproduction is shorter. For example, as indicated by a packet 91 - 1 illustrated in the middle part of FIG. 6 , the reading is completed at a time t 12 . Therefore, as illustrated in the lower part of FIG. 6 , the buffer occupancy in the buffer 75 is more rapidly increased as indicated by a dotted line than that at the time of recording which is indicated by a solid line.

In addition, if the next packet 51 - 2 is read at a time t 14 corresponding to the packet arrival time ATS [n+1] and reading is completed at a time t 17 as illustrated in the upper part of FIG. 6 , normally, a time required to read the packet at the time of reproduction is shorter. For example, as indicated by a packet 91 - 2 illustrated in the middle part of FIG. 6 , the reading is completed at a time t 15 . Therefore, as illustrated in the lower part of FIG. 6 , the buffer occupancy in the buffer 75 is more rapidly increased as indicated by the dotted line than that at the time of recording which is indicated by the solid line.

›MODE FOR CARRYING OUT THE INVENTION · 3 of 7

Here, in a case where it is assumed that the data be extracted from the buffer 75 by the decoder 76 and be decoded at a time t 16 , the buffer occupancy in the buffer 75 at the timing from the time t 15 to the time t 16 is extremely increased, and the buffer overflow may occur.

However, since the MPEG-2 TS packet has a relatively small fixed length of 188 bytes, it is possible to avoid the overflow by adding a small additional buffer of 188 bytes to the buffer 75 in FIG. 4 . Here, the additional buffer has a buffer size for avoiding the overflow which is added to be the data buffer size same as that at the time of receiving, viewing, and listening by the reproducing apparatus 61 and is added to the buffer 75 .

However, in a case of a packet data structure having a relatively large or a variable packet size, there is a risk that the overflow cannot be avoided unless the large additional buffer for the maximum packet size is provided.

In the reproducing apparatus, the buffer 75 is physically and individually provided for each data type such as video and audio, and it is necessary to provide the large additional buffer having the maximum packet size relative to each buffer 75 for each data type (capacity of buffer 75 needs to be larger). Therefore, the cost may increase.

<Exemplary Configuration of Recording Apparatus to Which Present Technology Has Been Applied>

Therefore, in the recording apparatus to which the present technology has been applied, the buffer overflow is avoided by dividing the size of the packet into a predetermined size of the packet and recording the packets.

Note that, in FIG. 7 , an exemplary configuration of a first embodiment of the recording apparatus to which the present technology has been applied is illustrated. Components of the recording apparatus 11 in FIG. 7 having same functions as those in the recording apparatus 11 in FIG. 1 are denoted with the same reference numerals and have the same names, and the description regarding them is appropriately omitted.

That is, the recording apparatus 11 in FIG. 7 is different from that in FIG. 1 in that a packet arrival time applying unit 102 is provided instead of the packet arrival time applying unit 32 , and in addition, a packet dividing unit 101 is newly provided.

The packet dividing unit 101 divides the separated packet supplied from the multiplexing/separating unit 31 into predetermined sizes capable of avoiding the buffer overflow. Then, the packet dividing unit 101 supplies the packet to the packet arrival time applying unit 32 as the divided packet.

Here, the predetermined size capable of avoiding the buffer overflow can be regarded as the maximum packet length necessary for avoiding the buffer overflow. Therefore, for example, the predetermined size may be the size of the additional buffer of the buffer 75 included in the reproducing apparatus 61 .

Furthermore, the predetermined size of the packet to be divided, which corresponds to the size of the additional buffer of the buffer 75 included in the reproducing apparatus 61 , capable of avoiding the buffer overflow may be a value calculated by the following formula (1) by using a rate corresponding to an inclination of a graph indicating the change in the buffer occupancy in FIG. 6 .

The predetermined size of the packet to be divided

(packet maximum length)=( Rp/ ( Rp−Rr ))×(size of buffer 75)   (1)

Here, Rp represents a reading maximum rate at the time of reproduction (inclination of dotted line portion in lower part of FIG. 6 ) as indicated by the dotted line in the lower part of FIG. 6 , and Rr represents an input rate at the time of recording (inclination of solid line portion in lower part of FIG. 6 ) as indicated by the solid line in the lower part of FIG. 6 .

With this setting, it is possible to prevent occurrence of the buffer overflow by dividing the packet into the packets having an appropriate size.

In addition, the packet arrival time applying unit 102 applies a header in which the packet arrival time is embedded or a header in which the packet arrival time corresponding time corresponding to the packet arrival time is embedded as the packet arrival time to the divided packet.

<Recording Processing by Recording Apparatus in FIG. 7 >

Next, recording processing by the recording apparatus in FIG. 7 is described with reference to the flowchart in FIG. 8 . Note that, since the processing in steps S 51 , S 55 , and S 56 in the flowchart in FIG. 8 is similar to the processing in steps S 11 , S 14 , and S 15 in the flowchart in FIG. 2 , the description thereof is omitted.

That is, in step S 51 , if the packet string is separated by the multiplexing/separating unit 31 in packet units, the packet dividing unit 101 divides the packet into predetermined lengths in size in step S 52 , and supplies the divided packet to the packet arrival time applying unit 102 .

In step S 53 , the PLL unit 33 generates the packet arrival time on the basis of the clock reference information and supplies the packet arrival time to the packet arrival time applying unit 102 .

In step S 54 , the packet arrival time applying unit 102 embeds and applies the packet arrival time supplied from the PLL unit 33 in the header relative to the divided packet which is at the head of the divided packets with respect to the packet, which is not divided yet, and outputs the packet to the recording unit 34 . In addition, the packet arrival time applying unit 102 calculates the packet arrival time corresponding time corresponding to the packet arrival time and embeds the calculated time in the header of the packet as the packet arrival time relative to the second and subsequent divided packets of the packet, which is not divided yet, of the divided packets and outputs the packets to the recording unit 34 .

More specifically, in a case of the MPEG-2 TS packet, since the header in which the packet arrival time is embedded does not exist in the original syntax, the packet arrival time applying unit 102 sets the packet arrival time as an arrival time stamp (ATS) with an arrival time clock (ATC) as the reference of the packet arrival time and applies the extra header in which the information on the packet arrival time including the ATS is embedded to a head of a payload of each packet, and outputs the packet to the recording unit 34 .

›MODE FOR CARRYING OUT THE INVENTION · 4 of 7

Therefore, regarding the packets divided to avoid the buffer overflow, relative to the head packet, a time of actual arrival before the division is applied as the packet arrival time, and the extra header in which the packet arrival time corresponding time corresponding to the packet arrival time calculated according to the packet length is embedded is applied to the subsequent divided packets.

On the other hand, in a case of the MPEG media transport (MMT) packet, since the reference of the packet arrival time is a universal time clock (UTC), the packet arrival time is received in a state where the packet arrival time is previously included in the header (MMTP packet header) 52 in a network time protocol (NTP) format as illustrated in the uppermost row of FIG. 9 .

In such a case, when a packet which exceeds the packet maximum length necessary to avoid the buffer overflow relative to the size of the buffer 75 of the reproducing apparatus 61 is input, the packet dividing unit 101 divides the input packet. A case is illustrated in the second row from the top in FIG. 9 where the packet 51 is divided into three packets, i.e., packets 51 a to 51 c. Note that, a header 52 a which is the same as the header 52 in which the packet arrival time is embedded is applied to the divided packet 51 a. In addition, a header 53 a in which a packet arrival time corresponding time calculated from the packet arrival time of the header 52 is embedded as the packet arrival time is applied to the divided packet 51 b, and similarly, a header 53 b in which a packet arrival time corresponding time calculated from the packet arrival time of the header 52 is embedded as the packet arrival time is applied to the packet 51 c.

In a case where the packet 51 is divided into three, the packet arrival time applying unit 102 applies the header (MMTP packet header) 52 to the head packet 51 a as the header 52 a in which the original packet arrival time is embedded. Furthermore, the packet arrival time applying unit 102 applies the headers (MMTP packet header) 53 a and 53 b including the packet arrival time corresponding time NTP [n]′ corresponding to the packet arrival time to the second and subsequent packets 51 b and 51 c and generates the divided packets (MMTP packet).

At this time, the packet arrival time applying unit 102 may receive the packet arrival times of the divided packets other than the head packet as the packet arrival time corresponding time of the head byte of the divided packet from the PLL unit 33 and embed the received time in the header and may calculate the packet arrival time corresponding time according to the packet length of the divided packet and embed the calculated time in the header.

In a case where the packet arrival time corresponding time is calculated according to the packet length of the divided packet, the packet arrival time applying unit 102 may calculate the time, for example, by using the following formula (2) on the basis of the input rate at the time of recording.

NTP [n]′=NTP [n ]+(size of packet [ n ])/(input rate at the time of recording)   (2)

Here, NTP [n]′ is a packet arrival time corresponding time of the packet [n]′, and NTP [n] is a packet arrival time or a packet arrival time corresponding time of the packet [n] immediately before the packet [n]′.

Furthermore, in a case where the header is added by the division as illustrated in FIG. 9 , and in a case where the header is input to the buffer at the time of reproduction, the packet dividing unit 101 calculates the packet maximum length by subtracting the total size of the header which may be stored in the buffer 75 from the size of the buffer 75 .

In a case where the packet 51 is not divided, a payload 91 and a header 92 , illustrated in the third row in FIG. 9 , corresponding to the packet 51 are read. When the packet is buffered from a time t 31 , the buffer occupancy increases at a time t 33 as indicated by a dotted line in a fifth row in FIG. 9 . That is, if the buffer occupancy rapidly increases in this way, the buffer overflow may occur with high possibility.

However, as illustrated in the second row in FIG. 9 , the packet 51 is divided into the three packets, i.e., the packets 51 a to 51 c so that processing is performed in three divided periods as indicated by the headers 52 a, 53 a, and 53 b in the fourth row in FIG. 9 .

As a result, regarding the processing on the head packet including a payload 91 a and a header 92 a corresponding to the packet 51 a, as indicated by a dashed-dotted line in the fifth row in FIG. 9 , when the buffering is started at the time t 31 , the buffer occupancy before the buffer overflow is maintained at and after a time t 32 , and the buffer occupancy is decreased when the decoding is started at a time t 34 .

After that, when the buffering of the second packet including a payload 91 b and a header 93 a corresponding to the packet 51 b is started at a time t 35 and ends at a time t 36 as indicated in the fourth row in FIG. 9 , as indicated by the dashed-dotted line in the fifth row in FIG. 9 , the buffer occupancy is maintained from the time t 36 to a time t 37 in a state where the buffer overflow does not occur.

In addition, when the buffering of the third packet including a payload 91 c and a header 93 b corresponding to the packet 51 c is started at a time t 37 and ends at a time t 38 as indicated in the fourth row in FIG. 9 , as indicated by the dashed-dotted line in the fifth row in FIG. 9 , the buffer occupancy is maintained from the time t 38 to a time t 39 in a state where the buffer overflow does not occur.

That is, by dividing the packet length in this way and delaying the transmission of the packets in stages, as indicated by the solid line in the fifth row in FIG. 9 , a state close to a change in the buffer occupancy at the time of recording can be reproduced, and as a result, the buffer overflow can be avoided.

Second Embodiment

In the above, an example in which the packet is divided with the fixed packet maximum length has been described. However, only in a case where operations of the buffer 75 and the decoder 76 are simulated for each packet and a buffer overflow occurs, the packet may be divided.

›MODE FOR CARRYING OUT THE INVENTION · 5 of 7

In FIG. 10 , an exemplary configuration of a recording apparatus 11 in which packets are divided only in a case where the buffer overflow occurs is illustrated. Note that, components having the same functions as those in the recording apparatus 11 in FIG. 7 are denoted with the same reference numerals and have the same names, and the description regarding them is appropriately omitted.

That is, the recording apparatus 11 in FIG. 10 is different from the recording apparatus 11 in FIG. 7 in that a reading buffer simulating unit 121 is newly provided, and in addition, a packet dividing unit 122 is provided instead of the packet dividing unit 101 .

The reading buffer simulating unit 121 reproduces decoding processing in the buffer 75 and the decoder 76 by simulating the processing when a separated packet string is sequentially processed, and determines whether the buffer overflow occurs. Then, in a case where the buffer overflow occurs, the reading buffer simulating unit 121 calculates the maximum packet length which does not cause the buffer overflow and instructs the packet dividing unit 122 to divide the packet with the maximum packet length.

When the reading buffer simulating unit 121 does not instruct the packet dividing unit 122 to divide the packet, the packet dividing unit 122 outputs the separated packet, which has been supplied, to the packet arrival time applying unit 102 as it is. In a case where the reading buffer simulating unit 121 instructs the packet dividing unit 122 to divide the packet, the packet dividing unit 122 divides the separated packet with the maximum packet length supplied together with the instruction and outputs the divided packets to the packet arrival time applying unit 102 .

<Recording Processing by Recording Apparatus in FIG. 10 >

Next, recording processing by the recording apparatus in FIG. 10 is described with reference to the flowchart in FIG. 11 .

Note that, since processing in steps S 71 , S 76 to S 79 in FIG. 11 is similar to the processing in steps S 51 , S 53 to S 56 in FIG. 8 , the description thereof is omitted.

That is, in step S 72 , the reading buffer simulating unit 121 sequentially performs processing of the decoder 76 by the packet string in packet units and simulates the buffer occupancy in the buffer 75 at that time.

In step S 73 , the reading buffer simulating unit 121 determines whether the buffer overflow occurs. In a case where the buffer overflow occurs, the procedure proceeds to step S 74 .

In step S 74 , the reading buffer simulating unit 121 reads the maximum packet length, corresponding to the maximum value of the buffer occupancy when the buffer overflow does not occur, from the simulation result and supplies the read maximum packet length to the packet dividing unit 122 , and instructs the division of the packet.

In step S 75 , the packet dividing unit 122 divides the packet with the maximum packet length on the basis of the instruction from the reading buffer simulating unit 121 and supplies the divided packets to the packet arrival time applying unit 102 .

On the other hand, in a case where the buffer overflow does not occur in step S 73 , the processing in steps S 74 and S 75 is skipped.

That is, when the packet string is sequentially decoded, the buffer occupancy at the time when the buffer 75 is actually used is simulated, and the packet which is anticipated to cause the buffer overflow is divided. In a case where the occurrence of the buffer overflow is not anticipated, the packet is not divided.

As a result, depending on whether the buffer overflow is anticipated, it is dynamically determined whether to divide the packet, and the packet is divided only when the buffer overflow occurs. Therefore, a load on unnecessary dividing processing can be reduced, and the buffer overflow can be surely avoided.

Furthermore, in a case where it is anticipated that buffer overflow occurs, the packet is divided with the maximum packet length corresponding to the maximum buffer occupancy at the time when the buffer overflow does not occur. Therefore, the dividing processing can be minimized, and the buffer overflow can be surely and efficiently avoided while reducing a processing load regarding the division.

Furthermore, in the above, an example of the recording apparatus and the reproducing apparatus has been described. However, for example, a configuration including a transmitting apparatus and a receiving apparatus may be used in which the transmitting apparatus performs processing of the recording apparatus and the receiving apparatus performs processing of the reproducing apparatus when a broadcast signal is transmitted.

<Example in Which Software Performs Processing>

The above-mentioned series of processing can be performed by hardware and software. In a case where the software performs the series of processing, a program included in the software is installed from a recording medium to a computer incorporated in a dedicated hardware or, for example, a general-purpose personal computer which can perform various functions by installing various programs.

FIG. 12 is an exemplary configuration of a general-purpose personal computer. The personal computer has a central processing unit (CPU) 1001 built therein. The CPU 1001 is connected to an input/output interface 1005 via a bus 1004 . The bus 1004 is connected to a read only memory (ROM) 1002 and a random access memory (RAM) 1003 .

The input/output interface 1005 is connected to an input unit 1006 including an input device such as a keyboard and a mouse by which a user inputs an operation command, an output unit 1007 for outputting images of a processing operation screen and a processing result to a display device, a storage unit 1008 including a hard disk drive or the like which stores a program and various data, and a communication unit 1009 including a local area network (LAN) adapter and the like and for performing communication processing through a network represented by the internet. Furthermore, the input/output interface 1005 is connected to a drive 1010 for reading/writing the data relative to a removable medium 1011 such as a magnetic disk (including a flexible disk), an optical disk (including a compact disc-read only memory (CD-ROM) and a digital versatile disc (DVD)), an optical magnetic disk (including a mini disc (MD)), or a semiconductor memory.

›MODE FOR CARRYING OUT THE INVENTION · 6 of 7

The CPU 1001 performs various processing according to programs. The program includes a program stored in the ROM 1002 or a program read from the removable medium 1011 such as the magnetic disk, the optical disk, the optical magnetic disk, or the semiconductor memory, installed to the storage unit 1008 , and loaded from the storage unit 1008 to the RAM 1003 . The RAM 1003 also appropriately stores data or the like necessary for the CPU 1001 to perform various processing.

In the computer configured as above, the CPU 1001 loads, for example, the program stored in the storage unit 1008 to the RAM 1003 via the input/output interface 1005 and the bus 1004 and executes the program so that the above-mentioned series of processing is performed.

The program performed by the computer (CPU 1001 ) can be recorded in the removable medium 1011 , for example, as a package media and provided. Furthermore, the program can be provided via a wired or wireless transmission media such as a local area network, the internet, and digital satellite broadcasting.

In the computer, the program can be installed to the storage unit 1008 via the input/output interface 1005 by mounting the removable medium 1011 in the drive 1010 . Furthermore, the program can be received by the communication unit 1009 via the wired or wireless transmission media and installed to the storage unit 1008 . In addition, the program can be previously installed to the ROM 1002 and the storage unit 1008 .

Note that, the program performed by the computer may be a program in which processing is performed along the order described herein in a time series manner and a program in which the processing is performed in parallel or at a necessary timing, for example, when a call has been performed.

Furthermore, a system means herein an assembly of a plurality of components (devices, modules (parts), and the like), and it is not considered whether all the components are in the same housing. Therefore, both of a plurality of devices respectively housed in different housings from each other and connected via the network and a single device having a plurality of modules housed in one housing are systems.

Furthermore, the embodiment of the present technology is not limited to the above-mentioned embodiments, and various changes can be made without departing from the scope of the present technology.

For example, the present technology may have a configuration of cloud computing in which a single function is separately performed by a plurality of devices via a network in cooperation.

Furthermore, each step described with reference to the above-mentioned flowchart can be performed by the single device and can be divided and performed by the plurality of devices.

In addition, in a case where a plurality of processing is included in one step, the plurality of processing included in one step can be performed by the single device and can be divided and performed by the plurality of devices.

Note that, the present technology may have a configuration below.

<1> A recording apparatus including:

a multiplexing/separating unit configured to separate each packet from a packet string;

a packet dividing unit configured to divide the packet into divided packets having a predetermined size;

a packet arrival time generating unit configured to generate a packet arrival time of each divided packet; and

a packet arrival time applying unit configured to embed the packet arrival time generated by the time generating unit in a header of the divided packet.

<2> The recording apparatus according to <1>, further including:

a recording unit configured to record the divided packet in which the packet arrival time is embedded in the header to a recording medium, in which

the predetermined size corresponds to a size of an additional buffer which is added to be a data buffer size same as that at the time of receiving, viewing, and listening by a reproducing apparatus, for reproducing the divided packet recorded to the recording medium, to avoid a buffer overflow.

<3> The recording apparatus according to <2>, in which

when a reading maximum rate at the time when the reproducing apparatus reproduces the divided packet is Rp and a reading maximum rate at the time when the divided packet is recorded is Rr, the predetermined size is ((Rp/Rp−Rr)×(size of the buffer)).

<4> The recording apparatus according to any one of <1> to <3>, in which

the multiplexing/separating unit separates each packet from the packet string and outputs information indicating an arrival timing of each packet,

the packet arrival time generating unit generates the packet arrival time for each packet before the divided packet is divided on the basis of the information indicating the arrival timing of each packet,

relative to a divided packet which is a head packet of the divided packets, the packet arrival time of the packet before the divided packet is divided is embedded in the header as it is, and

relative to a second and subsequent divided packets from the head of the divided packets, a packet arrival time corresponding time sequentially calculated on the basis of the size of the divided packet and an input rate at the time of recording from the packet arrival time of the packet before the divided packet is divided is embedded in the header as the packet arrival time.

<5> The recording apparatus according to any one of <1> to <4>, in which

the packet arrival time applying unit sets an extra header for each divided packet and embeds an arrival time stamp (ATS) in the extra header as the packet arrival time generated by the time generating unit.

<6> The recording apparatus according to any one of <1> to <5>, in which

in a case of MPEG Media Transport (MMT), the packet arrival time applying unit embeds the packet arrival time generated by the time generating unit in a header including a MMTP packet header of each divided packet in a network time protocol (NTP) format.

<7> The recording apparatus according to any one of <1> to <6>, further including:

a simulating unit configured to simulate an operation of a reproducing apparatus which includes a buffer for sequentially buffering the divided packets recorded to the recording medium as necessary and a decoding unit for sequentially decoding a divided packet string buffered by the buffer and to instruct the buffer dividing unit to divide the packet into the divided packets in a case where a buffer overflow occurs in the simulation, in which

›MODE FOR CARRYING OUT THE INVENTION · 7 of 7

the buffer dividing unit divides the packet into the divided packets only in a case where the simulating unit instructs to divide the packet into the divided packets.

<8> The recording apparatus according to <7>, in which

the simulating unit instructs to divide the packet into the divided packets having the maximum packet length which does not cause the buffer overflow from the simulation result in a case where the buffer overflow occurs in the simulation, and

the buffer dividing unit divides the packet into the divided packets having the maximum packet length which does not cause the buffer overflow.

<9> A recording method including:

separating each packet from a packet string;

dividing the packet into divided packets having a predetermined size;

generating a packet arrival time of each divided packet; and

embedding the generated packet arrival time in a header of the divided packet.

<10> A program for causing a computer to function as:

a multiplexing/separating unit configured to separate each packet from a packet string;

a packet dividing unit configured to divide the packet into divided packets having a predetermined size;

a packet arrival time generating unit configured to generate a packet arrival time of each divided packet; and

a packet arrival time applying unit configured to embed the packet arrival time generated by the time generating unit in a header of the divided packet.

›REFERENCE SIGNS LIST

11 recording apparatus

31 multiplexing/separating unit

32 packet arrival time applying unit

33 PLL unit

34 recording unit

35 recording medium

61 reproducing apparatus

71 recording medium

72 packet reading unit

73 ATC counter

74 multiplexing/separating unit

75 , 75 - 1 to 75 - n buffer

76 , 76 - 1 to 76 - n decoder

77 display

101 packet dividing unit

102 packet arrival time applying unit

121 reading buffer simulating unit

122 packet dividing unit

Claims as granted

14 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

8 codes
IPC · International Patent Classification
Section G — Physics
  • G11B20/10
  • G11B20/12
Section H — Electricity
  • H04N5/91
  • H04N21/433
  • H04N21/236
  • H04N5/76
  • H04N9/877
  • H04N21/435

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJul 2016Jan 2017Jul 2017Jan 2018Jul 2018Jan 2019Jul 2019Jan 2020Jul 2020USPTOApplicantNon-final rejectionNon-final rejectionFinal rejection
USPTOApplicanthover for detail · click to open
Pendency
4.0 y
1,467 days filing → grant
Office actions
3
non-final + final
Responses
3
no RCE
Examiner
Thai Q Tran
art unit 2484 · TC 2400
Citations: 18 back · 0 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom2018202020222024202620282030203220342036Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock