WO2015107787A1 - 通信装置、通信データ生成方法、および通信データ処理方法 - Google Patents

通信装置、通信データ生成方法、および通信データ処理方法 Download PDF

Info

Publication number
WO2015107787A1
WO2015107787A1 PCT/JP2014/081716 JP2014081716W WO2015107787A1 WO 2015107787 A1 WO2015107787 A1 WO 2015107787A1 JP 2014081716 W JP2014081716 W JP 2014081716W WO 2015107787 A1 WO2015107787 A1 WO 2015107787A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
data
information
unit
http
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.)
Ceased
Application number
PCT/JP2014/081716
Other languages
English (en)
French (fr)
Inventor
山岸 靖明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to EP14879006.6A priority Critical patent/EP3096526B1/en
Priority to KR1020167018107A priority patent/KR102120525B1/ko
Priority to CA2933465A priority patent/CA2933465C/en
Priority to US15/110,241 priority patent/US10326811B2/en
Priority to MX2016008988A priority patent/MX370046B/es
Priority to CN201480072673.6A priority patent/CN105900436B/zh
Publication of WO2015107787A1 publication Critical patent/WO2015107787A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Definitions

  • the present disclosure relates to a communication device, a communication data generation method, and a communication data processing method. More specifically, the present invention relates to, for example, a communication apparatus that performs transmission or reception of data via broadcast waves or a network, a communication data generation method, and a communication data processing method.
  • OTT Over The Top
  • OTT content a delivery service of image (video) data using OTT
  • OTT video OTT-V (Over The Top Video).
  • DASH Dynamic Adaptive Streaming over HTTP
  • HTTP HyperText Transfer Protocol
  • the content distribution server enables playback of distributed content by various clients, so fragmented files of moving image content of multiple bit rates and a manifest file that describes their attribute information and URLs Create and hold
  • the client acquires the manifest file from the server, selects the optimum bit rate content according to the size of the display unit of the own device and the available communication bandwidth, receives the selected content, and reproduces the selected content. Dynamic change of bit rate is also possible according to fluctuation of network bandwidth, and on the client side, it becomes possible to switch and receive the optimal content according to the situation at any time, and video content with reduced occurrence of video interruption Regeneration is realized.
  • adaptive (adaptive) streaming is described, for example, in Patent Document 1 (Japanese Patent Laid-Open No. 2011-87103).
  • the MPEG-DASH standard is a standard that defines the specification for streaming moving picture and audio data encoded by MPEG (Moving Picture Expert Group) according to the above-mentioned DASH.
  • the MPEG-DASH standard includes the following two standards.
  • A A standard relating to a manifest file (MPD: Media Presentation Description) for describing metadata that is management information of moving pictures and audio files.
  • B A standard on file format (segment format) for moving image content transmission.
  • DASH which is a standard of adaptive (adaptive) streaming technology
  • HTTP point-to-point
  • CDN Content Delivery Network
  • DASH uses an HTTP-based streaming protocol, and there is a problem that it is unsuitable for content distribution in which a large number of clients view and listen simultaneously, such as broadcast distribution.
  • the present disclosure provides a communication device, communication data generation method, and communication data that provide content to a large number of clients simultaneously and realize low-delay real-time reproduction in each client in content distribution using an HTTP-based streaming protocol.
  • the purpose is to provide a treatment method.
  • the first aspect of the present disclosure is A data processing unit that generates a packet storing encoded data; A communication unit for transmitting the packet generated by the data processing unit;
  • the data processing unit NAL units constituting a GOP (Group of Pictures) which is a processing unit of encoded data, or a packet storing NAL unit fragments obtained by further dividing the NAL units is generated,
  • the communication apparatus generates a packet in which additional information to be applied to the NAL unit stored in the packet or the determination of the processing order of the NAL unit fragment is set as the additional information to the packet, and transmits the packet via the communication unit.
  • the additional information is number-of-dependent-file information that indicates the number of subsequent packets that refer to packet storage data at the time of decoding.
  • the additional information is priority information indicating processing priority of packet storage data.
  • the packet transmitted by the communication apparatus includes a packet in which access point information (SAP) indicating whether to become a random access point is set, and the additional information is It is priority information indicating the processing priority between packets in which the access point information (SAP) is set.
  • SAP access point information
  • the packet transmitted by the communication device is a multiviewpoint image captured from a different viewpoint
  • the data processing unit stores captured images with different viewpoints. Set different priority information in the packet.
  • the data processing unit generates an HTTP packet, and records the additional information in an HTTP header in the generated packet.
  • the data processing unit records the additional information in an extension header in a generation packet.
  • the data processing unit records the additional information in an LCT header in a generation packet.
  • the communication unit broadcasts or multicasts the packet generated by the data processing unit via a broadcast wave.
  • a second aspect of the present disclosure is: A communication unit that receives the encoded data storage packet transmitted by the transmission device; It has a data processing unit that inputs a packet received by the communication unit and executes processing;
  • Each of the encoded data storage packets received by the communication unit is A NAL unit constituting a GOP (Group of Pictures), which is a processing unit of encoded data, or a packet storing NAL unit fragments obtained by further dividing the NAL unit, NAL unit stored in the packet as additional information, or NAL
  • the communication apparatus is a communication apparatus that is a packet in which additional information to be applied to the determination of the unit fragment processing order is set.
  • the data processing unit refers to the additional information applied to the determination of the processing order recorded in the received packet to decode the data stored in the received packet. Determine the order.
  • the additional information is number-of-dependent-file information that indicates the number of subsequent packets that refer to packet storage data at the time of decoding.
  • the packet transmitted by the communication apparatus includes a packet in which access point information (SAP) indicating whether to become a random access point is set, and the additional information is It is priority information indicating the processing priority between packets in which the access point information (SAP) is set.
  • SAP access point information
  • the packet transmitted by the communication device is a multi-viewpoint image captured from a different viewpoint
  • the data processing unit determines the processing determined based on the additional information. According to the order, processing of sequentially decoding captured images of the same viewpoint is executed.
  • the communication unit receives an HTTP packet in which the additional information is recorded in an HTTP header, and the data processing unit acquires the additional information from the HTTP header of the received packet. Do.
  • the communication unit receives a packet in which the additional information is recorded in an extension header, and the data processing unit acquires the additional information from the extension header of the received packet.
  • the communication unit receives a packet in which the additional information is recorded in the LCT header, and the data processing unit acquires the additional information from the LCT header of the received packet. .
  • the communication unit receives the packet via a broadcast wave.
  • the third aspect of the present disclosure is: A communication data generation method to be executed in the data transmission apparatus;
  • GOP Group of Pictures
  • a fourth aspect of the present disclosure is: A communication data processing method to be executed in the data receiving apparatus;
  • the communication unit receiving the encoded data storage packet transmitted by the transmission device;
  • the data processing unit executes a data processing step of inputting a packet received by the communication unit and executing processing;
  • Each of the encoded data storage packets received by the communication unit is A NAL unit constituting a GOP (Group of Pictures), which is a processing unit of encoded data, or a packet storing NAL unit fragments obtained by further dividing the NAL unit, NAL unit stored in the packet as additional information, or NAL A packet in which additional information to be applied to determine the processing order of unit fragments is set
  • the data processing step is a communication data processing method in which a packet in which additional information to be applied to the determination of the processing order received by the communication unit is set is input and executed.
  • a system is a logical set composition of a plurality of devices, and the device of each composition is not limited to what exists in the same case.
  • a configuration is realized in which a packet in which additional information to be applied to processing order determination of storage data of communication packets is set is transmitted and received, and the processing order can be determined in packet units.
  • the transmitting device generates a packet storing an NAL unit constituting a GOP (Group of Pictures), which is a processing unit of encoded data, or a NAL unit fragment obtained by dividing the NAL unit, as packet additional information,
  • the additional information to be applied to the determination of the processing order of the packet storage data is set and transmitted via the communication unit.
  • the receiving apparatus determines the processing priority of the packet storage data with reference to the packet additional information to determine the processing order, and executes the decoding processing of the packet storage data in accordance with the determined order.
  • the communication system 10 has a transmitting device 20 which is a communication device for transmitting content such as image data and audio data, and a receiving device 30 which is a communication device for receiving the transmission content of the transmitting device 20. .
  • the transmission device 20 is a device that provides content, such as the broadcast station 21 and the content server 22, for example.
  • the receiving device 30 is a client device of a general user, and specifically, is configured by, for example, a television 31, a PC 32, a portable terminal 33, and the like.
  • Data communication between the transmission device 20 and the reception device 30 is performed as communication using at least one of bidirectional communication via a network such as the Internet or one-way communication using broadcast waves or the like.
  • the MPEG-DASH standard which is a standard of adaptive (adaptive) streaming technology.
  • the MPEG-DASH standard includes the following two standards.
  • a standard relating to a manifest file (MPD: Media Presentation Description) for describing metadata that is management information of video and audio files
  • the transmission device 20 encodes content data and generates a data file including encoded data and metadata of the encoded data.
  • the encoding process is performed, for example, in accordance with the MP4 file format defined in the MPEG.
  • the file of encoded data when the transmission device 20 generates a data file of MP4 format is called “mdat”, and the metadata is called “moov” or “moof”. The details of these encoded data will be described later.
  • the content provided by the transmission device 20 to the reception device 30 is, for example, various data such as music data, movies, television programs, videos, picture data such as pictures, documents, pictures and diagrams, and games and software.
  • the transmitting device 20 that executes data transmission according to the MPEG-DASH standard stores the initialization segment 50 and the media segment 60 in packets, respectively, and receives them as the receiving device 30. Send to Each of these segments is called a DASH segment.
  • Each media segment 60 is a segment obtained by dividing and storing MPEG-encoded content data.
  • the initialization segment 50 is a segment storing initial setting information required when the storage content of the media segment 60 is reproduced on the receiving device 30 side, for example, setting information of a codec. Note that the transmission device 20 divides and stores content such as one movie or program in a large number of media segments 60 and sequentially transmits the content.
  • the transmitting device 20 stores the initialization segment 50 and the media segment 60 shown in FIG. 2 in an HTTP packet, and further generates and transmits an IP packet storing the HTTP packet. Details of the configuration of the transmission packet will be described later.
  • the receiving device 30 illustrated in FIG. 2 receives one initialization segment 50, and executes setting processing and the like of a codec or the like according to the setting information stored in the initialization segment. Subsequently, the media segments 60 are sequentially received, decoded in the reproduction order, and reproduced.
  • DASH which is a standard of adaptive (adaptive) streaming technology
  • MC / BC multicast and broadcast
  • Transport protocols applicable to multicast and broadcast (MC / BC) type streaming include, for example, Real-time Transport Protocol (RTP) and File Delivery over Uni-directional Transport (FLUTE).
  • RTP Real-time Transport Protocol
  • FLUTE File Delivery over Uni-directional Transport
  • Initialization segment is a segment storing initialization data such as setting information required to execute content reproduction, such as setting of a decoder in the receiving device 30.
  • Media segment is a segment storing encoded content to be reproduced.
  • the initialization segment includes the following information.
  • the media segment includes the following information as shown in FIG. (B1) header information (msdh) including file type information of segments, etc. (B2) access information (sidx) indicating boundary information of a plurality of sub-segments (Sub-Segment) stored in the media segment or a random access point of media data (mdat) which is encoded content stored in the media segment ), (B3) a plurality of sub-segments (Sub-Segment) 70,
  • a plurality of sub-segments (Sub-Segment) 70 is configured of one or more fragments (Fragment) 80.
  • the fragment (Fragment) 80 includes the following data.
  • Media data (mdat) which is encoded content to be reproduced Metadata (moof) corresponding to media data (mdat).
  • SAP Stream Access Point
  • SAP indicates, for example, the first byte position of the first picture of the image sequence which can reset all the states required to decode the stream. Specifically, it is information indicating, for example, the position of an I picture of MPEG data.
  • the metadata (moof) corresponding to media data (mdat) stored in the fragment (Fragment) 80 for example, a presentation time or the like as reproduction time information of the fragment storage media data (mdat) is recorded.
  • media data (mdat) stored in one fragment 80 is usually set as a processing unit (chunk) of a content stream to be controlled by the DASH.
  • the processing unit (chunk) is, for example, a GOP (Group of Pictures) which is a processing unit of MPEG (Moving Picture Expert Group) coding.
  • the GOP is operated with data set to a reproduction time of about 0.5 to 2 seconds.
  • media data (mdat) stored in one fragment 80 is data of one GOP unit
  • a delay occurs in data distribution and reproduction processing, which may cause trouble in real time reproduction.
  • the transmission device 20 executes encoding processing of live image data input from a camera to sequentially generate media segments 60. If the media data (mdat) stored in each fragment 80 of the media segment 60 is encoded data in units of GOPs, the transmitting device 30 generates media data (mdat) that is encoded data in units of GOPs, and then, Metadata (moof) describing attribute information such as presentation time of the generated media data (mdat) is generated.
  • Metadata (moof) of that GOP can not be generated until the data range of the encoded data of each GOP is determined. Therefore, generation of metadata (moof) is performed after the data range of media data (mdat) is determined, and generation processing of each metadata (moof) is performed for one GOP unit time (0.5 to 2). It will be inevitable to wait for the equivalent of seconds).
  • the example shown in FIG. 4 is a sequence example in the case where media data (mdat) stored in the media segment 60 is stored according to the MP4 file format (coding format) defined in MPEG.
  • the data part of the MP4 file format is divided into samples as basic storage units. Furthermore, each sample (sample) is configured by one or more NAL units.
  • the NAL unit is subdivided data of, for example, a slice unit of MPEG encoded data.
  • encoded data corresponding to a plurality of one GOPs is configured by a plurality of NAL units.
  • Figure 4 shows The upper part shows (a) NAL units constituting the GOP, and the lower part shows (b) Fragment generation processing sequence.
  • B The bottom of the fragment generation processing sequence shows a time axis. As time passes from left to right, the transmitting device 20 executes each process to generate fragments according to this time axis.
  • the transmitting apparatus generates a media segment storing the generated fragment, and then generates an HTTP packet storing the media segment, and further generates an IP packet storing the HTTP packet, and then transmits the IP packet. .
  • the transmitting device 20 generates a fragment storing encoded data according to the MP4 file format in the following sequence.
  • Time t0 to t1 Sample 1 (sample 1) storing a plurality of NAL units constituting a GOP is generated
  • Time t2 to t3 Sample 2 (sample 2) storing a plurality of NAL units constituting a GOP is generated
  • Time t4 to t5 Generate sample 3 (sample 3) storing a plurality of NAL units constituting a GOP, Up to this point, generation of samples storing all NAL units constituting one GOP is completed.
  • These samples 1 to 3 (sample 1 to 3) will be set as media data (mdat) in the fragment of the media segment.
  • Time t6 to t7 Metadata (moof) which is attribute information of GOP encoded data stored in samples 1 to 3 (sample 1 to 3) is generated.
  • Time t8 to t9 A fragment is generated by combining media data (mdat) constituted by samples 1 to 3 (sample 1 to 3) and metadata (moof) of samples 1 to 3 (sample 1 to 3).
  • the transmitting device 20 then generates a media segment including fragments generated according to the above-described process, generates a packet including the media segment as a payload, and transmits the packet to the receiving device 30.
  • the transmitting device 20 checks the reproduction time and the like of media data (mdat) in GOP units stored in the fragment, and generates attribute information in GOP data units, such as a presentation time and the like according to the reproduction time. Need to be recorded in metadata (moof).
  • image data to be delivered is mainly image data compatible with high vision, but in the future, image quality will be further improved, and it is expected that data delivery with a large amount of data such as 4K images will increase. There is a possibility that the bit rate of the stream may be increased to cope with such large-capacity data delivery.
  • the amount of data in each GOP unit also increases as the amount of data increases due to high image quality. Therefore, if it is configured to sequentially generate and transmit fragments in units of one GOP as described with reference to FIG. 4, the processing interval on the transmission side becomes long. In addition, the amount of data per unit of transmission data also increases. Therefore, when a sufficient communication band can not be secured, the possibility of transmission delay in network transmission increases.
  • the packet reception interval on the receiving device side becomes long, the data receiving amount per packet increases, and the data buffer amount required on the receiving device side also increases.
  • the delay amount rapidly increases and the possibility of breaking real-time reproduction increases.
  • media data (mdat) to be set as a fragment is data of 1 GOP unit, and metadata (moof) corresponding to the media data (mdat) of 1 GOP unit is generated. . That is, each metadata (moof) is metadata corresponding to media data (mdat) in units of 1 GOP.
  • the generation timing of the metadata (moof) is determined according to the data amount of one GOP. Therefore, when the amount of data included in one GOP increases, the generation timing of metadata (moof) also delays, and as a result, a delay occurs in the fragment generation process, the media segment generation process, and the transmission packet generation process. In addition, as a result, the amount of data per packet increases, which increases the possibility of delivery delay.
  • media data (mdat) to be stored in a fragment is not one GOP data, but data obtained by segmenting one GOP data, specifically one NAL unit or a plurality of configuration data of one GOP.
  • FIG. 5A shows NAL units that constitute a GOP, as in FIG. 4A.
  • FIGS. 5 (b1) to 5 (b3) are a plurality of media segments in which NAL units, which are constituent data of one GOP, are distributed and stored as media data (mdat).
  • a media segment storing media data (mdat) composed of one or more NAL units which are segmented data as shown in (b1) to (b3) of FIG. 5 will be called a sub GOP media segment. .
  • FIG. 5 shows an example in which one GOP data is stored in three sub GOP media segments
  • the number of sub GOP media segments for storing one GOP data is set to an arbitrary number of two or more. It is possible.
  • the sub GOP media segments in (b1) to (b3) in FIG. 5 are each an example in which media data (mdat) is set to a plurality of NAL units, media data (mdat) is only one NAL unit. It may be set.
  • the transmitting device 20 generates sub GOP media segments shown in (b1) to (b3) of FIG. 5 and sets each of the generated sub GOP media segments in the payload of an individual HTTP packet to set a network or a broadcast wave. Send via.
  • Metadata (moof) stored in the sub GOP media segment in (b1) to (b3) in FIG. 5 is metadata composed of attribute information corresponding to media data (mdat) stored in each sub GOP media segment.
  • FIG. 6 shows an example of two HTTP packet configurations.
  • the difference between the packets shown in (a) and (b) of FIG. 6 is whether or not [sidx] storing random access information etc. is stored.
  • sidx is media data that is boundary information of a plurality of sub-segments stored in the media segment and encoded content stored in the media segment ( mdat) access information indicating a random access point or the like.
  • access information is called SAP (Stream Access Point).
  • SAP indicates, for example, the first byte position of the first picture of the image sequence which can reset all the states required to decode the stream. Specifically, it corresponds to, for example, an I picture position of MPEG data.
  • the HTTP packet illustrated in FIG. 6B is a packet that does not include sidx.
  • the HTTP packet shown in FIG. 6B does not include picture data to be an access point in the media data (mdat) stored in the packet.
  • the packet storage media data (mdat) does not include data serving as an access point, data indicating the access point is also unnecessary. Therefore, sidx is not set in the HTTP packet shown in FIG.
  • sidx is set to a packet having a sub GOP media segment storing media data (mdat) including data to be an access point.
  • one GOP configuration data is divided into a plurality of packets and transmitted.
  • the receiving device 30 sequentially receives the plurality of packets, and obtains GOP configuration data stored by being divided into each packet.
  • NAL units rearrange GOP configuration data
  • FIG. 7 shows a configuration example of an HTTP packet in which one GOP data is divided and stored in three sub GOP media segments, as described above with reference to FIG.
  • Segment identifier Content-Location
  • GOP inner rank identification information X- (Start / Middle / End) of GOP
  • the segment identifier is data including the content position information of the segment stored in the HTTP packet, and the type of the segment and identification information of the GOP to which the media data (mdat) stored in the packet belongs. Specifically, position information (access information such as a URL) of GOP data may be recorded.
  • the receiving device 30 that receives the packet can determine that the HTTP packet in which the same segment identifier (Content-Location) is recorded is an HTTP packet storing media data (mdat) belonging to the same GOP.
  • Intra-GOP Identification Information is data indicating in which position of one GOP media data (mdat) stored in the HTTP packet is located.
  • the arrangement in GOP data of media data (mdat) stored in these packets can be determined by packet header information other than the HTTP header. For example, it can be determined by referring to the packet sequence number recorded in the LCT header of the LCT packet storing the HTTP packet. The specific configuration of the transmission packet and the LCT header configuration will be described later.
  • FIG. 8 shows a data configuration example of the HTTP header of the HTTP packet storing the media segment.
  • the following HTTP header information is recorded in the HTTP header. "... HTTP / 1.1 206 Partial Content Date: Fri, 04 Oct 2013 11:14:20 GMT
  • the segment identifier is "Content-Location: http://a.com/x.mp4" It is.
  • the segment identifier includes identification information of the GOP to which the media data (mdat) stored in the HTTP packet belongs. Specifically, it is position information (access information) of the GOP data. It can be determined that the HTTP packet in which the same segment identifier (Content-Location) is recorded is an HTTP packet storing media data (mdat) belonging to the same GOP.
  • the GOP inner rank identification information is "X-StartOfGOP" It is.
  • the intra-GOP identification information is data indicating in which position of one GOP media data (mdat) stored in the HTTP packet is located.
  • Media data (mdat) stored in the HTTP packet is one GOP, For the start area, “X-StartOfGOP", In the case of the middle area, “X-MiddleOfGOP", For the end region, “X-EndOfGOP", In the HTTP header, any one of these data is recorded as intra-GOP identification information.
  • the recording information of the HTTP header of the HTTP packet storing the initialization segment will be described with reference to FIG.
  • segment identification information indicating that the HTTP packet is a packet storing the initialization segment is recorded.
  • FIG. 9 shows an example of the data configuration of the HTTP header of the HTTP packet storing the initialization segment.
  • the following HTTP header information is recorded in the HTTP header.
  • the segment identifier is "Content-Location: http://a.com/x-init.mp4" It is.
  • the segment identifier may record access information such as the URL of the initialization segment.
  • Segment identification information is "X-InitializationSegment" It is.
  • the segment identification information is information indicating that the segment stored in the HTTP packet is an initialization segment. This segment identification information is recorded in the HTTP header storing the initialization segment.
  • FIG. 10 shows a configuration example of the following two IP packets.
  • Initialization segment storage IP packet (2) Media segment storage IP packet
  • Initialization segment storage IP packet has the following configuration.
  • IP header UDP header LCT header
  • HTTP header Initialization segment configuration data [dash]
  • the IP header, the UDP header, the LCT header, and the HTTP header are header information set according to each communication protocol of the IP protocol, the UDP protocol, the FLUTE protocol, and the HTTP protocol.
  • (2) Media segment storage IP packet has the following configuration.
  • IP header UDP header LCT header HTTP header Media segment configuration data [msdh]
  • Media segment configuration data [moof] Media segment configuration data [mdat]
  • the IP header, the UDP header, the LCT header, and the HTTP header are header information set according to each communication protocol of the IP protocol, the UDP protocol, the FLUTE protocol, and the HTTP protocol.
  • the media segment configuration data [sidx] is set to a packet having media data (mdat) applicable to random access, but is not required to set to other packets.
  • the transmitting device 20 generates an IP packet shown in FIG. 10 and transmits it to the receiving device 30.
  • the receiving device 30 receives each packet shown in FIG. 10 received from the receiving device 20, analyzes each header information, takes out a segment, and executes initialization and content reproduction according to the segment storage data.
  • the transmitting device 20 for generating and transmitting the IP packet described with reference to FIG. 10 has a data processing unit 21 and a communication unit 22 as shown in FIG.
  • the data processing unit 21 executes transmission packet generation processing. Specifically, for example, as described above, media data (mdat) including only a part of constituent data of a GOP (Group of Pictures) which is a processing unit of encoded data, and metadata (moof) corresponding to the media data
  • the stored sub GOP media segment is generated as packet storage data.
  • packet additional information such as an intra-GOP position identifier indicating the intra-GOP position of media data, which is stored data of a sub-GOP media segment, is generated to generate a packet recorded in an HTTP header.
  • the communication unit 22 transmits the packet generated by the data processing unit 21.
  • the communication unit 22 broadcasts or multicasts the packet generated by the data processing unit 21 via a broadcast wave or a network such as the Internet.
  • the data processing unit 21 and the communication unit 22 execute packet generation processing according to a protocol stack consisting of the following layers, and transmit the generated packet.
  • the layer configuration of the protocol stack of the transmitting device 20 will be described below.
  • the protocol stack of the transmitting device 20 has the following layer configuration from the upper layer to the lower layer.
  • DASH Server Application layer that executes processing such as segment generation according to the DASH standard
  • Video / Audio / Subtitle etc Application layer that executes generation and acquisition of transmission target content
  • Fragmented MP4 MP4 file
  • HTTP Layer that generates an HTTP packet with an HTTP header according to the HTTP protocol
  • FLUTE / ALC (LCT) LCT header according to the FLUTE protocol Layer for generating FLUTE packets having (6)
  • UDP Layer for generating UDP packets having a UDP header according to the UDP protocol (7)
  • IP Layer that generates an IP packet having an IP header in accordance with the IP protocol (8)
  • PHY IP packets or physical layer a communication unit or the like for generating and transmitting the MAC frame storing an IP packet
  • the receiving device 30 for receiving the IP packet described with reference to FIG. 10 has a data processing unit 31 and a communication unit 32 as shown in FIG.
  • the communication unit 32 receives a packet transmitted by the transmission device 20, and the data processing unit 31 inputs the packet received by the communication unit 31 to perform data processing.
  • the data processing unit 31 and the communication unit 32 execute packet reception and analysis in accordance with a protocol stack including the following layers.
  • the protocol stack of the receiving device 30 has the following layer configuration from the upper layer to the lower layer.
  • DASH Client Application layer that executes processing such as segment analysis according to the DASH standard
  • Video / Audio / Subtitle etc Application layer that executes acquisition processing of received content, etc.
  • Fragmented MP4 Application layer that executes decoding processing of encoded data according to the MP4 file format (4)
  • HTTP A layer that analyzes HTTP packets having an HTTP header according to the HTTP protocol (5)
  • UDP Layer for analyzing UDP packets having a UDP header according to the UDP protocol (7)
  • IP Layer (8) PHY for analyzing the IP packet having the IP header according to the P protocol: IP packets or physical layer a communication unit or the like for receiving a MAC frame storing an IP packet,
  • the receiving device 30 performs packet reception processing via a broadcast wave and any communication path of the network such as the Internet, or both communication paths.
  • Generation and analysis of transmission and reception packets through a network such as the Internet can be performed by replacing the FLUTE / ALC (LCT) layer and the UDP layer shown in FIG. 11 with a TCP layer.
  • LCT FLUTE / ALC
  • the protocol stack of the receiving device 30 shown in FIG. 12 shows the layer configuration of the protocol stack corresponding to the following two communication systems.
  • Broadcast system (2) Network communication system
  • the broadcasting system has the layer configuration described with reference to FIG. (2)
  • the network communication system has a configuration in which the FLUTE / ALC (LCT) layer of the broadcast system layer and the UDP layer are replaced by the TCP layer.
  • the TCP layer performs analysis of TCP packets with TCP headers.
  • the signaling (Signaling) layer is a layer for performing switching control of each communication system.
  • the receiving device 30 selectively uses packets received via broadcast waves and packets received via a network such as the Internet by appropriately switching and using each layer of the broadcast system and the network communication system. Thus, the packet storage content can be acquired and the reproduction process can be executed.
  • SAP Stream Access Point
  • SAP is storage location information of data serving as a random access point.
  • a random access point is called SAP (Stream Access Point).
  • SAP indicates, for example, the first byte position of the first picture of the image sequence which can reset all the states required to decode the stream. Specifically, it is information indicating, for example, an I picture position of MPEG data.
  • the SAP is stored in [sidx] which is the meta information of the media segment.
  • encoded data at a data position indicated by SAP can be acquired, and decoding processing can be executed from the acquired data to perform reproduction. Therefore, when performing special reproduction processing such as reproduction from the middle of content, SAP becomes important essential data. For example, the image of the random access point can be reproduced by acquiring and decoding the encoded data specified by the SAP without aligning all the GOP data.
  • the receiving apparatus can perform processing with priority given to random access point data specified by SAP, for example, when packet reception of all encoded data in GOP units can not be made in time due to, for example, distribution delay.
  • SAP is also important data when determining processing priority.
  • Random access points surely exist in one GOP unit data.
  • the packet in which the stored data of one packet is not the data of one GOP unit but one GOP is subdivided and one or more NAL units are stored is a packet
  • the NAL unit stored in may or may not include a random access point.
  • packets including and not including metadata “sidx” are set in the sub GOP media segment HTTP packet. If data corresponding to a random access point is included in the NAL unit stored in the sub GOP media segment HTTP packet, [sidx] recording SAP is set.
  • [sidx] is metadata that includes not only SAP, which is random access point information of media data, but also boundary information of other data, etc., and becomes an access point to packet storage data only by the presence or absence of [sidx]. It can not be determined whether the data is included.
  • FIG. 13 shows a configuration example of an HTTP packet in which one GOP data is divided and stored in three sub GOP media segments, as in FIGS. 5 and 7 described above.
  • Segment identifier Content-Location
  • GOP inner rank identification information X- (Start / Middle / End) of GOP
  • X-SAP Access point information
  • the segment identification information is data including the content position information of the segment stored in the HTTP packet, and the identification information of the type of the segment and the GOP to which the media data (mdat) stored in the packet belongs. Specifically, position information (access information such as a URL) of GOP data may be recorded.
  • the receiving device 30 that receives the packet can determine that the HTTP packet in which the same segment identifier (Content-Location) is recorded is an HTTP packet storing media data (mdat) belonging to the same GOP.
  • Intra-GOP Identification Information is data indicating in which position of one GOP media data (mdat) stored in the HTTP packet is located.
  • the arrangement in GOP data of media data (mdat) stored in these packets can be determined by packet header information other than the HTTP header. For example, it can be determined by referring to the packet sequence number recorded in the LCT header of the LCT packet storing the HTTP packet. The specific configuration of the transmission packet and the LCT header configuration will be described later.
  • the access point information (X-SAP) is information indicating whether encoded data included in media data (mdat) stored in the HTTP packet includes data serving as a random access point.
  • the receiving apparatus can immediately determine whether the NAL unit in the media data stored in the HTTP packet includes access point data by referring to the access point information (X-SAP). Therefore, for example, in the case where priority is given to access point data only to perform decoding and reproduction, the packet to be processed can be selected with reference to the access point information (X-SAP) recorded in the HTTP header. That is, it is possible to select and process only packets in which the access point information (X-SAP) recorded in the HTTP header indicates that the packet storage data (NAL unit) includes the access point.
  • the access point information (X-SAP) is set in all the HTTP packets in FIG. 13 (b1) to (b3), and the access point information (X-SAP) is in each HTTP packet. It is configured to indicate whether the encoded data included in the stored media data (mdat) includes data serving as a random access point.
  • access point information is stored in the HTTP header of the HTTP packet only when encoded data included in media data (mdat) stored in the HTTP packet includes data serving as a random access point. (X-SAP) may be recorded.
  • the access point information (X-SAP) is not recorded in the HTTP header.
  • the HTTP packet shown in FIG. 13 (b2) and (b3) does not contain data to be a random access point
  • the access point information (X-SAP) is not recorded in the HTTP header.
  • the receiving device randomly selects encoded data included in media data (mdat) stored in the HTTP packet depending on whether or not the access point information (X-SAP) is recorded in the HTTP header. It is determined whether data to be an access point is included.
  • the access point information (X-SAP) is information that enables identification of the presence or absence of randomly accessible data in packet units. On the receiving device side, it is possible to sort out packets in which randomly accessible data is stored, with reference to the access point information (X-SAP) of each packet.
  • the receiving device can perform, for example, data reproduction processing from a random access point quickly by prioritizing packets in which randomly accessible data is stored.
  • FIG. 14 shows an example of the data configuration of the HTTP header of the HTTP packet storing the media segment.
  • the following HTTP header information is recorded in the HTTP header.
  • Segment identifier "Content-Location: http //: a.com/x.mp4", GOP inner rank identification information “X-StartOfGOP”, These are the same information as described above with reference to FIG. That is, the segment identifier is position information (access information) of GOP data that functions as identification information of a GOP to which media data (mdat) stored in the HTTP packet belongs.
  • the intra-GOP identification information is data indicating in which position of one GOP media data (mdat) stored in the HTTP packet is located.
  • any one of these data is recorded as intra-GOP identification information.
  • the access point information “X-SAP” is information indicating whether encoded data (NAL) included in media data (mdat) stored in the HTTP packet includes data serving as a random access point.
  • the receiving apparatus can immediately determine whether the NAL unit in the packet storage media data includes the access point in units of received packets by referring to the access point information (X-SAP).
  • the receiving apparatus can select only the packets including the access point, and preferentially decode and reproduce stored data of these packets. For example, in the case where packet reception of all encoded data in GOP units is not in time due to distribution delay, etc., random access point data can be prioritized to be decoded and reproduced, thereby enabling processing of continuing image display on the display unit Become.
  • MTU maximum data transfer unit
  • a typical maximum data transfer amount (MTU) in frame units of MAC frames defined by Ethernet (registered trademark) is about 1500 bytes.
  • the MAC frame has, for example, the configuration shown in FIG. 15, and is configured such that the MAC header is set at the head of the IP packet described above with reference to FIG.
  • MTU 1500 bytes or less.
  • the transmitting device 20 sets the data size of the packet to a predetermined size or less in the HTTP layer in the packet generation processing stage. Specifically, the data size is set smaller than the maximum data transfer unit (MTU: Maximum Transfer Unit) assumed in the communication path. Specifically, for example, a packet storing NAL unit fragments obtained by further dividing one NAL unit is generated and transmitted.
  • MTU Maximum Transfer Unit
  • a typical maximum data transfer rate (MTU) per frame of a MAC frame defined by Ethernet is about 1500 bytes.
  • the data processing unit of the transmission device 20 generates a packet in consideration of the MTU at the generation stage of the HTTP packet. For example, packet generation is performed such that the frame size of the MAC frame storing the HTTP packet is 1500 bytes or less.
  • the data processing unit of the transmission device 20 executes packet generation processing in consideration of the maximum data transfer amount (MTU) in the communication path, whereby a packet according to the MTU in the IP layer of the transmission device, the relay device, or the reception device The fragmentation, which is a division process, becomes unnecessary, and data transfer can be smoothly performed.
  • MTU maximum data transfer amount
  • the data processing unit of the transmission device 20 executes processing for setting packet storage data to a small fragment smaller than the MTU defined in the communication path.
  • this processing for example, overhead due to fragmentation processing in the IP layer of the communication path is reduced.
  • one or more NAL units are used as media data (mdat), and further combined with metadata (moof) that is attribute data to generate one fragment, An HTTP packet storing a sub GOP media segment having this fragment was generated.
  • an HTTP packet is generated in which NAL unit fragments (NALf) obtained by dividing one NAL unit are stored as media data (mdat).
  • NALf NAL unit fragments
  • the attribute data (moof) corresponding to the NAL unit is stored and delivered in another independent HTTP packet different from the media data (mdat) storage packet.
  • FIG. 16A shows the sub GOP media segment described above with reference to FIGS. 5 to 7 and the like. That is, it is a segment in which one or more NAL units, which are data obtained by dividing a GOP, are stored as media data (mdat).
  • the sub GOP media segment shown in FIG. 16A is an example in which only one NAL unit is stored as media data (mdat).
  • the NAL unit is not limited to 1 but may be a plurality of NAL units.
  • the sub GOP media segment as shown in FIG. 16A is further divided to generate a plurality of HTTP packets.
  • the division process is performed in consideration of the maximum data transfer amount (MTU) in the communication path. For example, when a MAC frame storing an HTTP packet after division is generated, it is performed so as to be equal to or less than the maximum data transfer unit (MTU: Maximum Transfer Unit) allowed for the MAC frame.
  • MTU Maximum Transfer Unit
  • NAL unit division processing is performed to divide one or more NAL units.
  • data after division of the NAL unit will be described as a NAL unit fragment (NAL f).
  • NAL unit fragment an HTTP packet generated by dividing configuration data of a sub GOP media segment.
  • FIG. 16 shows an example in which the constituent data of the sub GOP media segment shown in FIG. 16A is divided into four HTTP packets (b1) to (b4).
  • the data amount of the data part other than the MAC header is less than 1500 bytes.
  • the NAL unit fragment corresponding HTTP packet shown in (b1) of FIG. 16 is the metadata area of the sub GOP media segment shown in (a), that is, the msdh (stype), sidx, moof, an HTTP packet storing these metadata. It is. That is, it is a metadata storage type NAL unit fragment corresponding HTTP packet.
  • the NAL unit fragment corresponding HTTP packet shown in (b2) to (b4) of FIG. 16 is a NAL fragment (NAL f) generated by dividing the NAL unit of the media data (mdat) area of the sub GOP media segment shown in (a). It is an HTTP packet which stored). That is, it is a media data storage type NAL unit fragment corresponding HTTP packet.
  • the NAL unit stored in the sub GOP media segment is one NAL unit as shown in FIG. 16 (a). It may be a unit and may be two or more multiple NAL units.
  • the configuration data of the NAL unit fragment is not limited to only one NAL unit, and may be data across multiple NAL units. For example, a configuration is possible in which one NAL unit fragment is set by combining the second half portion of the preceding NAL unit and the leading portion of the subsequent NAL unit.
  • the transmitting device 20 divides one sub GOP media segment in this way to generate a plurality of HTTP packets, further generates IP packets from these HTTP packets, and sequentially transmits them.
  • the NAL unit fragment header has its HTTP packet Is it a metadata storage type NAL unit fragment corresponding HTTP packet, Is it a media data storage type NAL unit fragment corresponding HTTP packet, Identification information for identifying the
  • the movie fragment sequence number is a sequence number recorded in metadata (moof) of the sub GOP media segment before division, and is arrangement information of NAL units stored in the sub GOP media segment. As this sequence number, the sequence number recorded in the metadata (moof) of the sub GOP media segment before division is copied and recorded as it is.
  • the access point information indicates whether the NAL unit stored in the sub GOP segment (sub GOP media segment in FIG. 16A) from which the HTTP packet is generated includes data serving as a random access point. It is information.
  • the receiving device refers to the access point information (X-SAP) to determine whether the HTTP packet is data generated based on configuration data of a sub GOP segment including a NAL unit serving as a random access point. Can be determined immediately.
  • the access point information (X-SAP) recorded in the HTTP header of the metadata storage type NAL unit fragment corresponding HTTP packet in FIG. 16 (b1) includes access point data in the sub GOP segment of the packet generation source.
  • X-SAP access point information
  • the access point information (X-SAP) recorded in the HTTP header of the metadata storage type NAL unit fragment corresponding HTTP packet in FIG. 16 (b1) includes access point data in the sub GOP segment of the packet generation source.
  • the movie fragment sequence number is the sequence number recorded in the metadata (moof) of the sub GOP media segment before division, as described above, and is the arrangement information of the NAL unit stored in the sub GOP media segment. As this sequence number, the sequence number recorded in the metadata (moof) of the sub GOP media segment before division is copied and recorded as it is.
  • the intra-NAL unit position identification information is information indicating whether the NAL unit fragment (NALf) stored in the packet is a fragment corresponding to which position of the NAL unit before division.
  • the packet in which the intra-NAL unit position identification information X-StartNALUFragmentSubSegment is a packet in which a NAL unit fragment (NALf) of the head region of the NAL unit before division is stored as media data (mdat).
  • NAL unit stored in one sub GOP media segment is divided into four or more media data storage type NAL unit fragment corresponding HTTP packets
  • multiple NAL unit location identification information X-MiddleNALUFragmentSubSegment is set
  • Packets will be generated.
  • the arrangement of NAL unit fragments (NALf) of media data (mdat) stored in these packets can be determined by packet header information other than the HTTP header. For example, it can be determined by referring to the packet sequence number recorded in the LCT header of the LCT packet storing the HTTP packet. The specific configuration of the transmission packet and the LCT header configuration will be described later.
  • the access point information indicates whether the NAL unit stored in the sub GOP segment (sub GOP media segment in FIG. 16A) from which the HTTP packet is generated includes data serving as a random access point. It is information.
  • the receiving device refers to the access point information (X-SAP) to determine whether the HTTP packet is data generated based on configuration data of a sub GOP segment including a NAL unit serving as a random access point. Can be determined immediately.
  • FIG. 17 shows the configuration of the metadata storage type NAL unit fragment-supporting HTTP packet and an example of the data configuration of the HTTP header.
  • the following HTTP header information is recorded in the HTTP header. "... HTTP / 1.1 206 Partial Content Date: Fri, 04 Oct 2013 11:14:20 GMT
  • Content-type application / mp4 X-NALUFragmentSubSegmentHeader
  • X-MovieFragmentSequenceNumber 234567 X-SAP ...
  • the NAL unit fragment header is "X-NALUFragmentSubSegmentHeader" It is.
  • the NAL unit fragment header is recorded as information indicating that the HTTP packet is a metadata storage type NAL unit fragment corresponding HTTP packet.
  • the movie fragment sequence number is "X-MovieFragmentSequenceNumber" It is.
  • this movie fragment sequence number is the sequence number recorded in the metadata (moof) of the sub GOP media segment before division, and is the arrangement information of the NAL unit stored in the sub GOP media segment.
  • the sequence number recorded in the metadata (moof) of the sub GOP media segment before division is copied and recorded as it is.
  • Access point information is "X-SAP" It is.
  • the access point information is information indicating whether or not data serving as a random access point is included in the NAL unit stored in the sub GOP segment from which the HTTP packet is generated.
  • HTTP header information is recorded in the HTTP header.
  • Content-type application / mp4 X-StartOfGOP
  • X-MovieFragmentSequenceNumber 234567 X-StartNALUFragmentSubSegment X-SAP ...
  • the GOP inner rank identification information is "X-StartOfGOP" It is.
  • the intra-GOP identification information is data indicating in which position of one GOP media data (mdat) stored in the HTTP packet is located. For the start area, “X-StartOfGOP”, In the case of the middle area, “X-MiddleOfGOP”, For the end region, “X-EndOfGOP”, In the HTTP header, any one of these data is recorded as intra-GOP identification information.
  • the movie fragment sequence number is "X-MovieFragmentSequenceNumber" It is.
  • this movie fragment sequence number is the sequence number recorded in the metadata (moof) of the sub GOP media segment before division, and is the arrangement information of the NAL unit stored in the sub GOP media segment.
  • the sequence number recorded in the metadata (moof) of the sub GOP media segment before division is copied and recorded as it is.
  • the NAL unit position identification information is "X-StartNALUFragmentSubSegment" It is.
  • the intra-NAL unit position identification information is information indicating whether the NAL unit fragment (NALf) stored in the packet is a fragment corresponding to which position of the NAL unit before division.
  • the packet in which the intra-NAL unit position identification information X-StartNALUFragmentSubSegment is a packet in which a NAL unit fragment (NALf) of the head region of the NAL unit before division is stored as media data (mdat).
  • the packet in which the intra-NAL unit position identification information X-MiddleNALUFragmentSubSegment is a packet in which the NAL unit fragment (NALf) of the intermediate region of the NAL unit before division is stored as media data (mdat).
  • Access point information is "X-SAP" It is.
  • the access point information is information indicating whether or not data serving as a random access point is included in the NAL unit stored in the sub GOP segment from which the HTTP packet is generated.
  • the access point information (X-SAP) described above is information that enables identification of the presence or absence of randomly accessible data in packet units. On the receiving device side, it is possible to sort out packets in which randomly accessible data is stored, with reference to the access point information (X-SAP) of each packet. The receiving apparatus can perform the data reproduction process from the random access point quickly by, for example, prioritizing the packet in which the randomly accessible data is stored.
  • FIG. 19 shows the data storage configuration of the sub GOP media segment HTTP packet similar to that described with reference to FIG. 5 to FIG.
  • the access point information (X-SAP) is recorded in the HTTP header only when the encoded data stored in the HTTP packet includes data to be a random access point. It is. If the encoded data stored in the HTTP packet does not include data serving as a random access point, the access point information (X-SAP) is not recorded in the HTTP header.
  • the packet shown in FIG. 19 (b1) is a packet including data to be a random access point, and the access point information (X-SAP) is recorded in the HTTP header.
  • the packets shown in (b2) to (b6) of FIG. 19 are packets that do not include data serving as random access points, and do not record access point information (X-SAP) in the HTTP header.
  • the example shown in FIG. 19 is an example in which the number of dependent files (X-DependencyCounter) is recorded in the HTTP header of each packet as further different processing priority information in addition to the access point information (X-SAP).
  • X-DependencyCounter the number of dependent files
  • X-SAP access point information
  • the number of dependent files (X-DependencyCounter) is set in each communication packet as priority information that can be used for the efficiency of decoding and reproduction processing of encoded data on the receiving device side. As shown in (b1) to (b6) of FIG. 19, the number of dependent files (X-DependencyCounter) is recorded in the HTTP header of each HTTP packet.
  • the number of dependent files is information indicating the number of NAL units of the subsequent packet that needs to be decoded with reference to the NAL units stored in the packet. For example, in the NAL unit generated as MP4 encoded data, there is a unit that needs to refer to data of another NAL unit when the decoding process of the NAL unit is performed.
  • the number of NAL units that need to be referenced at the time of decoding is not uniform, but may be various values such as 0, 1, 2, 3,.
  • the “number of dependent files” recorded in the HTTP header of a certain packet corresponds to the number of other NAL units that can not be decoded unless decoding of the NAL unit stored in the packet is completed.
  • NAL unit In MPEG coding, there are I pictures that can be decoded without reference to other pictures, and P pictures and B pictures that require reference to other pictures. Similarly, for NAL units, there are NAL units that require reference to other NAL units and NAL units that are not needed in decoding of each NAL unit.
  • the NAL unit to be referred to has various settings such as a preceding NAL unit, a subsequent NAL unit, or both the preceding NAL unit and the following NAL unit.
  • the number of dependent files (X-DependencyCounter) recorded in the HTTP header of the HTTP packet shown in (b1) to (b6) in FIG. 19 is a subsequent packet that needs to be decoded with reference to the NAL unit stored in that packet Is information indicating the number of NAL units.
  • FIG. 19 shows the data storage configuration of the sub GOP media segment HTTP packet similar to that described with reference to FIG. 5 to FIG. However, only one NAL unit is stored in each HTTP packet shown in FIG. FIG. 19 shows six sub GOP media segment HTTP packets of (b1) to (b6). In each of these HTTP packets, one NAL unit is stored.
  • the six NAL units stored in the six sub GOP media segment HTTP packets of (b1) to (b6) are NAL units that constitute one GOP data as shown in FIG. 19 (a).
  • the number of dependent files (X-DependencyCounter) is added to the "Access point information [X-SAP]" described above in the HTTP header of the sub GOP media segment HTTP packet in which one NAL unit constituting the GOP is stored in this way. Record.
  • the NAL unit of the packet of (b1) indicates that it is the reference target of the NAL unit of the packet of (b2).
  • the NAL unit of the packet of (b2) is a NAL unit referred to in the decoding process of the two NAL units stored in (b3) and (b5).
  • the NAL unit of the packet of (b3) is the NAL unit to be referred to in the decoding process of the NAL unit stored in (b4).
  • the NAL unit of the packet of (b5) is the NAL unit referred to in the decoding process of the NAL unit stored in (b6).
  • the receiving apparatus that has received the HTTP packet having the HTTP header recording the number of dependent files (X-DependencyCounter) refers to the number of dependent files of the HTTP header of the received packet, thereby making the HTTP packet
  • the number of subsequent NAL units that requires reference to the stored NAL unit can be determined.
  • the receiving apparatus can determine the processing order of each packet according to the number of dependent files recorded in the packet unit. For example, decoding processing of each packet can be smoothly performed by preferentially processing packets having a large setting value of the number of dependent files.
  • the right end of FIG. 19 shows setting examples of processing orders (1) to (5) when packets (b2) to (b6) are received after the packet processing of (b1).
  • FIG. 19 shows an example in which only one NAL unit is stored in each HTTP packet
  • a plurality of NAL units may be set in the HTTP packet.
  • the number of dependent files for each of the NAL units stored in the packet is set to be recorded in the HTTP header.
  • the same number of dependent files may be recorded in the HTTP header.
  • FIG. 20 shows an example of the configuration of the sub GOP media segment HTTP packet and the data configuration of the HTTP header.
  • the following additional information is recorded in the HTTP header.
  • Content-Location: http://a.com/x.mp4 is It is a segment identifier and includes identification information of a GOP to which media data (mdat) stored in the HTTP packet belongs. Specifically, it is position information (access information) of the GOP data.
  • "X-StartOfGOP” is It is intra-GOP identification information, and is data indicating in which position of one GOP media data (mdat) stored in the HTTP packet is located.
  • Media data (mdat) stored in the HTTP packet is one GOP, For the start area, “X-StartOfGOP", In the case of the middle area, “X-MiddleOfGOP”, For the end region, “X-EndOfGOP", In the HTTP header, any one of these data is recorded as intra-GOP identification information.
  • X-SAP is The access point information is information indicating whether or not data serving as a random access point is included in the NAL unit stored in the sub GOP segment from which the HTTP packet is generated.
  • X-DependencyCounter is It is the number of dependent files, and is information indicating the number of NAL units of the subsequent packet that needs to be decoded with reference to the NAL unit stored in the HTTP packet.
  • the receiving device that has received the HTTP packet in which such an HTTP header is set refers to the number of dependent files of the HTTP header of the received packet, so that the subsequent NAL unit requires reference to the NAL unit stored in the HTTP packet.
  • the number can be determined.
  • the receiving apparatus can determine the processing order of each packet according to the number of dependent files recorded in the packet unit. For example, decoding processing of each packet can be smoothly performed by preferentially processing packets having a large setting value of the number of dependent files.
  • priority information is added as packet additional information as processing priority information.
  • priority information indicating processing priority information of each access point information is packet addition information.
  • packet additional information is set as information indicating processing priority among a plurality of packets in which access point information (X-SAP) indicating a packet in which randomly accessible data is stored is set.
  • X-SAP access point information
  • the receiving apparatus can perform processing such as giving priority to and reproducing only images from a specific viewpoint.
  • the specific viewpoint is, for example, the main viewpoint image of the main viewpoint.
  • the image data stored in the packet includes not only the main viewpoint image but also a sub viewpoint image which is an image from another sub viewpoint.
  • Packet A contains image data of the main viewpoint
  • Packet B contains the image data of the first sub-viewpoint
  • Packet C contains the image data of the second sub-viewpoint
  • image data of different viewpoints are stored respectively.
  • the receiving apparatus can select and reproduce only the packet in which the image of a specific viewpoint is stored from the packets in which the image of each of these viewpoints is stored.
  • the priority is set as follows.
  • priority information indicating processing priority among a plurality of packets in which access point information (X-SAP) is set is set as packet additional information.
  • FIG. 21 shows a configuration example of an HTTP packet transmitted and received in this embodiment.
  • FIG. 21 is a diagram showing a data storage configuration of a sub GOP media segment HTTP packet similar to that described with reference to FIG. 5 to FIG.
  • Each HTTP packet shown in FIGS. 21 (b1) to 21 (b6) is a sub GOP media segment HTTP in which one or more NAL units which are GOP configuration data are stored as described with reference to FIGS. 5 to 8. It is a packet.
  • all the HTTP packets shown in (b1) to (b6) in FIG. 21 include data serving as random access points in the encoded data stored in the HTTP packet.
  • Each of these packets stores, for example, image data corresponding to the multi-viewpoint described above, and NAL units corresponding to captured images from specific viewpoints are stored in each of the packets.
  • access point information indicating that the stored NAL unit includes a random access point is recorded.
  • the packets in which the access point information (X-SAP) is set are Priority information (X-Priority) indicating processing priority information is recorded as packet additional information.
  • Priority information is information indicating processing priorities among a plurality of packets. Specifically, as described above, for example, in the case of transmitting a packet storing images (multiview images) from various viewpoints, the following priority information (X-Priority) is recorded.
  • the priority information (X-Priority) 1 for packets storing image data (NAL) of the main viewpoint
  • priority information (X-Priority) 2
  • priority information (X-Priority) 3
  • priority information (X-Priority) is recorded in the HTTP header of each HTTP packet.
  • the receiving apparatus can check the processing priority of each packet only by referring to the priority information (X-Priority) recorded in the HTTP header of the received packet. For example, it is possible to decode and reproduce image data of the main viewpoint by selecting and processing only the packet of the highest (1) processing priority.
  • FIG. 21 shows setting examples of processing orders (1) to (6) when packets (b1) to (b6) are received.
  • (1) Packet of (b1) (2) Packet of (b2) (3) Packet of (b5) (4) Packet of (b3) (5) Packet of (b4) (6) (b6)
  • Processing is performed in the order of (1) to (6).
  • the packet storage data is one NAL unit, or a NAL unit fragment obtained by further dividing the NAL unit described above It may be For these various forms of packets, priority information can be recorded in an HTTP header and used.
  • FIG. 22 shows an example of the configuration of the sub GOP media segment HTTP packet and the data configuration of the HTTP header.
  • the following additional information is recorded in the HTTP header, for example. "... HTTP / 1.1 206 Partial Content Date: Fri, 04 Oct 2013 11:14:20 GMT
  • "... HTTP / 1.1 206 Partial Content Date: Fri, 04 Oct 2013 11:14:20 GMT
  • Content-type application / mp4 Content-Location: http: // a. com / x. mp4 X-StartOfGOP X-SAP X-Priority: 2 ...
  • Content-Location: http://a.com/x.mp4 is It is a segment identifier and includes identification information of a GOP to which media data (mdat) stored in the HTTP packet belongs. Specifically, it is position information (access information) of the GOP data.
  • "X-StartOfGOP” is It is intra-GOP identification information, and is data indicating in which position of one GOP media data (mdat) stored in the HTTP packet is located.
  • Media data (mdat) stored in the HTTP packet is one GOP, For the start area, “X-StartOfGOP", In the case of the middle area, “X-MiddleOfGOP”, For the end region, “X-EndOfGOP", In the HTTP header, any one of these data is recorded as intra-GOP identification information.
  • X-SAP is The access point information is information indicating whether or not data serving as a random access point is included in the NAL unit stored in the sub GOP segment from which the HTTP packet is generated.
  • X-Priority is It is priority information indicating the processing priority information of each packet in which access point information (X-SAP) is set.
  • the receiving apparatus that has received the HTTP packet in which such an HTTP header is set can determine the processing priority of each packet by referring to the priority information (X-Priority) of the HTTP header of the received packet.
  • the receiving apparatus can determine the processing order of each packet according to the priority information (X-Priority) recorded in units of packets.
  • the flow shown in FIG. 23 is an HTTP packet in which the number-of-dependent-files information (X-DependencyCounter) described with reference to FIGS. 19 to 20 is set, or priority information (X) described with reference to FIGS. It is a flow explaining a sequence of generation and transmission processing of an HTTP packet in which -Priority) is set.
  • This process is executed by the data processing unit of the transmission device 20.
  • the data processing unit includes a CPU having a program execution function, and executes processing according to the flow shown in FIG. 23, for example, in accordance with a program stored in the storage unit.
  • the processing of each step will be sequentially described.
  • Step S101 the data processing unit of the transmission apparatus executes encoding processing of content to be transmitted. For example, encoding processing according to the MP4 file format is performed.
  • Step S102 the transmission device generates media data (mdat) corresponding to the sub GOP media segment.
  • This process is a process of generating media data (mdat) to be stored in the sub GOP media segment described above with reference to FIG.
  • Media data (mdat) including a part of GOP data which is MP4 encoded data, that is, one or more NAL units constituting the GOP as configuration data is generated.
  • Step S103 the transmission apparatus generates metadata (moof) which is attribute information corresponding to the media data (mdat) generated in step S102.
  • Step S104 the transmitting apparatus generates msdh and sidx, which are metadata corresponding to the sub GOP media segment. It is metadata stored in the sub GOP media segment described above with reference to FIG. 5 and others.
  • Step S105 the transmitting apparatus generates an HTTP header in which additional information of at least one of dependent file number information (X-DependencyCounter) and / or priority information (X-Priority) is recorded in the sub GOP media segment HTTP packet.
  • the HTTP header recording the dependent file number information (X-DependencyCounter) described with reference to FIGS. 19 and 20, or the priority information (X-Priority) described with reference to FIGS. 21 and 22.
  • HTTP header the dependent file number information (X-DependencyCounter) described with reference to FIGS. 19 and 20, or the priority information (X-Priority) described with reference to FIGS. 21 and 22.
  • Segment identification information Content-type: application / mp4
  • GOP inner rank identification information such as X-StartOfGOP
  • Access point information X-SAP
  • the segment identification information includes identification information of the GOP to which the media data (mdat) stored in the HTTP packet belongs, and specifically, is position information (access information) of the GOP data.
  • the intra-GOP identification information (X-StartOfGOP or the like) is data indicating in which position of one GOP media data (mdat) stored in the HTTP packet is located.
  • Media data (mdat) stored in the HTTP packet is one GOP, For the start area, "X-StartOfGOP", In the case of the middle area, "X-MiddleOfGOP", For the end region, "X-EndOfGOP", In the HTTP header, any one of these data is recorded as intra-GOP identification information.
  • the access point information is information indicating whether or not data to be a random access point is included in the NAL unit stored in the sub GOP segment from which the HTTP packet is generated.
  • additional information may be recorded, for example, depending on the form of the transmission packet.
  • the packet storage data is a NAL unit fragment, NAL unit fragment header, NAL unit position identification information, Record these additional information.
  • step S106 the transmission apparatus generates an HTTTP packet in which the HTTP header generated in step S105 is set. That is, an HTTP packet having an HTTP header recording additional information of at least one of dependent file number information (X-DependencyCounter) and priority information (X-Priority) is generated.
  • X-DependencyCounter dependent file number information
  • X-Priority priority information
  • Steps S107 to S108 the transmitting apparatus sets an LCT header, a UDP header, and an IP header for the generated HTTP packet, and generates and transmits an IP packet.
  • the transmission process is performed via either a communication network such as the Internet or a broadcast wave, or both communication paths.
  • the flow shown in FIG. 23 is a flow for describing generation of a packet generated based on a media segment and a transmission processing sequence.
  • processing such as recording a segment identifier indicating the initialization segment in the HTTP header is performed.
  • the data processing unit includes a CPU having a program execution function, and executes processing according to the flow shown in FIG. 24 according to a program stored in the storage unit, for example.
  • the processing of each step will be sequentially described.
  • Step S201 First, in step S201, the receiving apparatus inputs designation information of reproduction content by the user. For example, a content list list such as a program guide received from the transmission apparatus in advance is displayed on the display unit, and reproduction content is determined based on user input information for the display information.
  • a content list list such as a program guide received from the transmission apparatus in advance is displayed on the display unit, and reproduction content is determined based on user input information for the display information.
  • Step S202 the receiving device receives a packet including an initialization segment corresponding to the selected content selected to be reproduced, and acquires the initialization segment.
  • segment identification information is recorded in the HTTP header of the HTTP packet storing the initialization segment as described above with reference to FIG. 9, and the initialization segment is stored by referring to this identification information. It can be confirmed that the packet is an HTTP packet.
  • Step S203 The receiving device performs initialization processing of the receiving device in accordance with the stored data of the received initialization segment. Specifically, codec setting parameters and the like stored in the initialization segment are acquired, and codec setting and the like are performed in accordance with the acquired parameters.
  • Step S204 the receiving device receives the sub GOP media segment corresponding to the selected content selected in step S201.
  • Step S205 the receiving apparatus acquires the following attribute information of the data stored in the packet from the HTTP header of the received packet.
  • Position identification information in GOP * Access point information * Dependent file number information * Priority information
  • the above additional information may or may not be set in the header, and is acquired only when it is added Do.
  • the intra-GOP identification information is data indicating in which position of one GOP media data (mdat) stored in the HTTP packet is located.
  • the access point information “X-SAP” is information indicating whether or not data to be a random access point is included in the NAL unit stored in the sub GOP segment from which the HTTP packet is generated.
  • the number of dependent files is information indicating the number of NAL units of the subsequent packet that needs to be decoded with reference to the NAL unit stored in the HTTP packet.
  • Priority information is mutual processing priority information of packets.
  • additional information may be recorded, for example, depending on the form of the received packet. For example, if the packet storage data is a NAL unit fragment, NAL unit fragment header, NAL unit position identification information, These additional information are recorded.
  • the NAL unit fragment header is information indicating that the HTTP packet is a metadata storage type NAL unit fragment corresponding HTTP packet.
  • the movie fragment sequence number is a sequence number recorded in metadata (moof) of the sub GOP media segment before division, and is arrangement information of NAL units stored in the sub GOP media segment.
  • the intra-NAL unit position identification information is information indicating whether the NAL unit fragment (NALf) stored in the packet is a fragment corresponding to which position of the NAL unit before division.
  • step S206 the receiving apparatus determines whether to perform decoding and reproduction to which the access point information (X-SAP) is applied. For example, it is determined whether special reproduction processing such as reproduction processing from the middle of content such as random access reproduction processing is to be executed. This determination process is determined based on the user's input information and the like.
  • the reproduction process to which the access point information (X-SAP) is applied is to be performed, the process proceeds to step S207.
  • the reproduction process to which the access point information (X-SAP) is not applied is performed, the process proceeds to step S210.
  • Step S207 If it is determined in step S206 that special reproduction processing such as random access reproduction processing is to be performed, the process proceeds to step S207. In step S207, it is further determined whether or not reproduction by packet selection using dependent file number information or priority information is to be performed. In the case of Yes, the process proceeds to step S209, and in the case of No, the process proceeds to step S208.
  • Step S208 is a process performed when the reproduction process to which the access point information (X-SAP) is applied is performed.
  • the access point information [X-SAP] recorded in the HTTP header of the packet selects a packet indicating data with an access point. That is, a packet indicating that data to be a random access point is included in the NAL unit stored in the sub GOP segment from which the HTTP packet is generated is selected as the decoding target, and the decoding process is executed to perform the reproduction process. Do. In this case, decoding and reproduction can be performed without aligning the entire GOP.
  • the process proceeds to step S215.
  • Step S209 is a step executed when performing reproduction processing to which the dependent file number information or the priority information is applied in addition to the access point information (X-SAP).
  • the NAL unit including the access point is preferentially selected in accordance with the access point information (X-SAP) acquired from the HTTP header, and further, the number of dependent file information acquired from the HTTP header or the processing packet is Decide the order and execute the decoding and reproduction processing.
  • Step S210 In step S206, when the reproduction process to which the access point information (X-SAP) is not applied is performed, the process proceeds to step S210. In step S210, it is further determined whether or not reproduction by packet selection using dependent file number information or priority information is to be performed. In the case of Yes, the process proceeds to step S211, and in the case of No, the process proceeds to step S212.
  • Step S211 is a step executed when performing reproduction processing to which the dependent file number information or the priority information is applied.
  • the order of the processing packet is determined according to the number-of-dependent-files information acquired from the HTTP header or the priority information, and the decryption and reproduction processing is executed.
  • Step S212 On the other hand, if it is determined that the normal reproduction process in which neither the access point information (X-SAP), the dependent file number information nor the priority information is used is to be executed, the process proceeds to step S212. .
  • the reception apparatus reorders NAL unit fragments stored in the received plurality of media data storage type NAL unit fragment corresponding HTTP packets according to the identification information acquired from the HTTP header, and reconstructs GOP unit data.
  • Steps S213 to S214 the receiving apparatus performs a decoding process on the reconstructed GOP data, and performs a reproduction process of the decoded data.
  • Step S215) the receiving apparatus determines whether or not the data reproduction process has ended, and if it has not ended, the process returns to step S204, and repeatedly executes the process from step S204. If it is determined in step S211 that the reproduction processing has ended, the processing ends.
  • sidx data which is random access point information in the metadata storage type NAL unit fragment corresponding HTTP packet.
  • the processing can be performed on only one or more NAL unit fragments (NAL f). That is, for example, only encoded image data corresponding to an I picture is selected, and a process of decoding and reproducing this is executed. In this case, it is possible to select and reproduce only the data of the random access point without performing the process of rearranging the whole GOP data.
  • FIG. 27 and 28 An embodiment in which additional information is recorded in the extension header will be described with reference to FIGS. 27 and 28.
  • FIG. The example shown in FIGS. 27 and 28 is an example in which a new extension header is inserted in the packet area following the HTTP header and the additional information is recorded in the extension header.
  • FIG. 28 shows a list of additional information recorded in the extension header
  • FIG. 28 shows an example of three types of HTTP packets having the extension header.
  • FIG. (1) Initialization segment HTTP packet, (2) Media segment based metadata storage type NAL unit fragment corresponding HTTP packet, (3) Media segment based media data storage type NAL unit fragment corresponding HTTP packet, An example of these three types of HTTP packets is shown.
  • the extension header is set next to the HTTP header of each packet.
  • additional information is recorded.
  • An example of the additional information to be recorded will be described with reference to FIG. As shown in FIG. 27, the additional information is composed of the following information.
  • SAPIndicator Access point information (SAPIndicator)
  • G Dependent file count information (DependencyCounter)
  • Priority information Priority information (Priority)
  • segment identification information is 8-bit data, 1 is set for an initialization segment, and 0 is set for other segments.
  • content location information Content Location
  • the content location information (Content Location) recorded in the HTTP header is set as the location information of the GOP unit data, it is possible to distinguish each GOP data by referring to the content location information.
  • the position identification information in a GOP has, for example, a bit value set as follows as 8-bit data.
  • Data at start position of GOP (Start of GOP) 1
  • Data of middle position of GOP (Middle of GOP) 2
  • End position data of GOP (EndofGOP) 3
  • the movie fragment sequence number is 32-bit data, and the sequence number recorded in the metadata (moof) of the sub GOP media segment before division is recorded. It is arrangement
  • the intra-NAL unit position identification information records, as 8-bit data, information indicating which position of the NAL unit before division the NAL unit fragment (NALf) stored in the packet corresponds to.
  • the access point information (SAPIndicator) is data similar to [X-SAP] described as the recording information of the HTTP header, and is 8-bit data. [1] is recorded if the packet is a packet generated from an NAL unit storage segment including the access point, and [0] if it is any other packet.
  • (G) Dependent file number information (Dependency Counter) is information indicating the number of NAL units (the number of dependent files) of the subsequent packet that needs to be decoded with reference to the NAL unit stored in the HTTP packet. In 8-bit data, set a numerical value indicating the number of NAL units (the number of dependent files).
  • (H) Priority information (Priority) is priority information indicating mutual processing priority information of packets in which access point information (X-SAP) is set. The priority is indicated by 0 to 255 of 8-bit data. For example, the smaller value is set as the high priority.
  • the transmitting device sets such an extension header and transmits it to the receiving device.
  • the segment stored in the packet is the HTTP packet storing the initialization segment or the metadata storage type NAL unit fragment corresponding HTTP packet with reference to the segment identification information of the extension header It is determined whether the media data storage type NAL unit fragment corresponding HTTP packet.
  • each NAL unit is referred to by referring to the in-GOP position identification information of the extension header or the in-NAL unit position identification information. It becomes possible to rearrange fragments (NALf) and further to reconstruct a GOP.
  • the access point information (SAPIndicator) it can be determined whether the packet is a packet generated from a NAL unit storage segment including the access point.
  • (g) dependent file number information (DependencyCounter) or (h) priority information (priority information) Priority) is set.
  • transport protocols applicable to multicast and broadcast (MC / BC) type streaming include, for example, Real-time Transport Protocol (RTP) and File Delivery over Uni-Directional Transport (FLUTE).
  • RTP Real-time Transport Protocol
  • FLUTE File Delivery over Uni-Directional Transport
  • an LCT header which is header information according to the FLUTE protocol is set. That is, the LCT header in the IP packet described above with reference to FIG.
  • additional information for smoothly performing processing on the receiving device side such as rearrangement of NAL unit fragments (NALf) and information applied to GOP reconstruction processing, is recorded in the LCT header.
  • the main data fields set in the LCT header include, for example, the following fields.
  • CCI Congestion Control Information
  • TSI Transmission Session Identifier
  • TOI Transport Object Identifier
  • Header Extensions A field that can record various extension data.
  • the data transmission order by referring to the above-mentioned TOI as a substitute for the in-GOP position information.
  • the position information in the GOP which is additional information recorded in the HTTP header
  • only the X-Start of GOP indicating the start position is recorded, and the arrangement order of the data in other GOPs is the TOI in the LCT header.
  • the packet sequence may be acquired by reference, and NAL units in the GOP may be arranged in the correct order according to the packet sequence.
  • NALf NAL unit fragment
  • a header extension capable of recording various data is set. It is possible to record, in the header expansion unit, additional information for smoothly performing processing on the receiving device side, such as rearrangement of NAL unit fragments and information applied to GOP reconstruction processing.
  • FIG. 30 (1) shows a format in which the length of recording information can be freely set.
  • FIG. 30 (2) shows a format in which the length of recording information is fixed.
  • HET Header Extension Type
  • extension header identification information (numerical value) indicating the type of extension header is recorded.
  • values up to 127 are available, and it is defined that the format in FIG. 30 (2) is set to 128 or more.
  • HET Header Extension Length
  • the length of the extension header is recorded.
  • HEC Neader Extension Content
  • processing on the receiving apparatus side is smoothly executed, such as rearrangement of NAL unit fragments and information to be applied to GOP reconstruction processing.
  • An example of the configuration of recording data in the case of recording additional information for the purpose is shown in FIG.
  • the extended header identification information records, for example, [200] as an identification value of new information as 8-bit data. Furthermore, in the extended information recording unit (HEC), (B) Segment identification information, (C) GOP position identification information, (D) Movie fragment sequence number, (E) NAL unit fragment header, (F) NAL unit position identification information, (G) Access point information, (H) Dependent file count information (DependencyCounter) (I) Priority information (Priority) These pieces of identification information are recorded.
  • segment identification information is 8-bit data, 1 is set in the case of the initialization segment, and 0 is set in the other segments.
  • content location information (Content Location) recorded in the HTTP header is set as the location information of the GOP unit data, it is possible to distinguish each GOP data by referring to the content location information.
  • the movie fragment sequence number is 32-bit data, and the sequence number recorded in the metadata (moof) of the sub GOP media segment before division is recorded. It is arrangement
  • the intra-NAL unit position identification information records, as 8-bit data, information indicating which position of the NAL unit before division the NAL unit fragment (NALf) stored in the packet corresponds to.
  • the access point information (SAPIndicator) is data similar to [X-SAP] described as the recording information of the HTTP header, and is 8-bit data. [1] is recorded if the packet is a packet generated from an NAL unit storage segment including the access point, and [0] if it is any other packet.
  • the dependent file number information (dependency counter) is information indicating the number of NAL units (the number of dependent files) of the subsequent packet that needs to be decoded with reference to the NAL unit stored in the HTTP packet. In 8-bit data, set a numerical value indicating the number of NAL units (the number of dependent files).
  • Priority information (Priority) is priority information indicating mutual processing priority information of packets. The priority is indicated by 0 to 255 of 8-bit data. For example, the smaller value is set as the high priority.
  • the transmitting device sets an LCT header including such extended header information and transmits it to the receiving device.
  • the receiving apparatus refers to the segment identification information of the extension header information in the LCT header, and is the initialization segment storage packet, the metadata storage type NAL unit fragment correspondence packet, or the media data storage type NAL It is determined whether it is a unit fragment corresponding packet.
  • the receiving device identifies that the packet is a media data storage type NAL unit fragment correspondence packet, it refers to the in-NAL unit position identification information or the in-GOP position identification information recorded in the extended header information of the LCT header. This makes it possible to reorder the NAL unit fragments (NALf), which are media data (mdat) stored in each packet, into the correct arrangement, and further to restructure the GOP.
  • NALf NAL unit fragments
  • the access point information (SAPIndicator) it can be determined whether the packet is a packet generated from a NAL unit storage segment including the access point.
  • one HEVC stream generated by the HEVC encoding process has a plurality of sequences (CVS: Coded Video Sequence) and an End of sequence NAL unit (EoB).
  • CVS Coded Video Sequence
  • EoB End of sequence NAL unit
  • CVS which is a component of the HEVC stream, is composed of a plurality of GOPs and an end of sequence NAL unit (EoS).
  • One GOP has, as head data, an Intra Random Access Point (IRAP) access unit serving as a random access point, and has a plurality of Leading Picture (LP) access units and a TP (Trailing Picture) access unit.
  • IRAP Intra Random Access Point
  • LP Leading Picture
  • TP Trailing Picture
  • the LP access unit and the TP access unit are access units that can be decoded with reference to some reference picture. However, when decoding is started from the IRAP access unit, normal decoding and reproduction are also possible for TPAU.
  • An access unit (AU) is composed of a plurality of NAL units (Network Abstraction Layer Units), and the access unit (AU) necessarily includes one or more slice segment NAL units.
  • a GOP as an encoding processing unit is also set in encoded data generated by HEVC encoding processing, and this GOP is further divided into a plurality of NAL units.
  • One or a plurality of NAL units, which are GOP configuration data set in HEVC encoded data, are stored in the sub GOP media segment described above with reference to FIG.
  • NALf NAL unit fragment
  • the dependent file count information (Dependency Counter) and the priority information (Priority) can be set even for a packet storing HEVC encoded data, and the processing of the present disclosure can be applied.
  • the processing of the present disclosure can be applied as long as the encoding configuration is not limited to MP4 and HEVC, and has an encoding processing unit equivalent to GOP and a unit (NAL) obtained by dividing GOP data is set. is there.
  • FIG. 33 shows an example of the hardware configuration of a communication apparatus applicable as the transmission apparatus 20 and the reception apparatus 30.
  • a central processing unit (CPU) 201 functions as a data processing unit that executes various processes in accordance with a program stored in a read only memory (ROM) 202 or a storage unit 208. For example, processing according to the sequence described in the above-described embodiment is performed.
  • the RAM (Random Access Memory) 203 stores programs executed by the CPU 201, data, and the like.
  • the CPU 201, the ROM 202 and the RAM 203 are mutually connected by a bus 204.
  • the CPU 201 is connected to the input / output interface 205 via the bus 204.
  • the input / output interface 205 is connected to an input unit 206 including various switches, a keyboard, a mouse, a microphone and the like, and an output unit 207 including a display and a speaker. There is.
  • the CPU 201 executes various types of processing in response to an instruction input from the input unit 206, and outputs the processing result to, for example, the output unit 207.
  • a storage unit 208 connected to the input / output interface 205 includes, for example, a hard disk, and stores programs executed by the CPU 201 and various data.
  • the communication unit 209 functions as a transmission / reception unit for data communication via a network such as the Internet or a local area network, and further as a transmission / reception unit for broadcast waves, and communicates with an external device.
  • a drive 210 connected to the input / output interface 205 drives removable media 211 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory such as a memory card, and executes data recording or reading.
  • data encoding or decoding can be executed as processing of the CPU 201 as a data processing unit, but may be configured to include a codec as dedicated hardware for executing encoding processing or decoding processing.
  • the technology disclosed in the present specification can have the following configurations. (1) a data processing unit that generates a packet storing encoded data; A communication unit for transmitting the packet generated by the data processing unit; The data processing unit NAL units constituting a GOP (Group of Pictures) which is a processing unit of encoded data, or a packet storing NAL unit fragments obtained by further dividing the NAL units is generated, A communication apparatus that generates, as additional information for a packet, a packet in which additional information to be applied to the NAL unit stored in the packet or the determination of the processing order of the NAL unit fragment is generated, and transmits the packet via the communication unit.
  • a data processing unit that generates a packet storing encoded data
  • a communication unit for transmitting the packet generated by the data processing unit
  • the data processing unit NAL units constituting a GOP (Group of Pictures) which is a processing unit of encoded data, or a packet storing NAL unit fragments obtained by further dividing the NAL units is generated
  • a communication apparatus that generates, as
  • the packet transmitted by the communication device includes a packet in which access point information (SAP) indicating whether to become a random access point is set,
  • SAP access point information
  • the additional information is priority information indicating processing priority between packets in which the access point information (SAP) is set.
  • the packets transmitted by the communication device are multi-viewpoint images captured from different viewpoints, and the data processing unit sets different priority information to packets storing captured images with different viewpoints.
  • the communication device according to (3) or (4).
  • a communication unit that receives the encoded data storage packet transmitted by the transmitting device; It has a data processing unit that inputs a packet received by the communication unit and executes processing;
  • Each of the encoded data storage packets received by the communication unit is A NAL unit constituting a GOP (Group of Pictures), which is a processing unit of encoded data, or a packet storing NAL unit fragments obtained by further dividing the NAL unit, NAL unit stored in the packet as additional information, or NAL A communication apparatus which is a packet in which additional information to be applied to the determination of the unit fragment processing order is set.
  • GOP Group of Pictures
  • the data processing unit determines the order of the decoding process of the data stored in the received packet by referring to the additional information applied to the determination of the process order recorded in the received packet.
  • the packet transmitted by the communication device includes a packet in which access point information (SAP) indicating whether or not to become a random access point is set, and the additional information sets the access point information (SAP)
  • SAP access point information
  • the communication apparatus according to any one of (10) to (12), which is priority information indicating processing priority between packets.
  • the packets transmitted by the communication device are multi-viewpoint images captured from different viewpoints, and the data processing unit is configured to capture images of the same viewpoint according to the processing order determined based on the additional information.
  • the communication device according to any one of (10) to (13), which sequentially executes a process of decoding
  • the communication unit receives an HTTP packet in which the additional information is recorded in the HTTP header, and the data processing unit acquires the additional information from the HTTP header of the received packet (10) to (14) Communication device described in.
  • the communication unit receives a packet in which the additional information is recorded in the extension header, and the data processing unit acquires the additional information from the extension header of the received packet.
  • the communication device according to.
  • the communication unit receives a packet in which the additional information is recorded in the LCT header,
  • the communication apparatus according to any one of (10) to (14), wherein the data processing unit acquires the additional information from an LCT header of a received packet.
  • a communication data generation method to be executed in a data transmission device The data processing unit NAL units constituting a GOP (Group of Pictures) which is a processing unit of encoded data, or a packet storing NAL unit fragments obtained by further dividing the NAL units is generated, A communication data generation method for generating a packet in which additional information to be applied to determination of processing order of NAL unit or NAL unit fragment stored in the packet is set as additional information to the packet and transmitting it via the communication unit.
  • GOP Group of Pictures
  • a communication data processing method executed by a data receiving apparatus The communication unit receiving the encoded data storage packet transmitted by the transmission device;
  • the data processing unit executes a data processing step of inputting a packet received by the communication unit and executing processing;
  • Each of the encoded data storage packets received by the communication unit is A NAL unit constituting a GOP (Group of Pictures), which is a processing unit of encoded data, or a packet storing NAL unit fragments obtained by further dividing the NAL unit, NAL unit stored in the packet as additional information, or NAL A packet in which additional information to be applied to determine the processing order of unit fragments is set
  • the data processing step is a step of inputting a packet in which additional information to be applied to the determination of the processing order received by the communication unit is set and executing the processing.
  • the series of processes described in the specification can be performed by hardware, software, or a combined configuration of both.
  • the program recording the processing sequence is installed in memory in a computer built into dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It is possible to install and run.
  • the program can be recorded in advance on a recording medium.
  • the program can be installed from a recording medium to a computer, or can be installed in a recording medium such as a built-in hard disk by receiving a program via a network such as a LAN (Local Area Network) or the Internet.
  • LAN Local Area Network
  • a system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to those in the same housing.
  • the transmitting device generates a packet storing an NAL unit constituting a GOP (Group of Pictures), which is a processing unit of encoded data, or a NAL unit fragment obtained by dividing the NAL unit, as packet additional information,
  • the additional information to be applied to the determination of the processing order of the packet storage data is set and transmitted via the communication unit.
  • the receiving apparatus determines the processing priority of the packet storage data with reference to the packet additional information to determine the processing order, and executes the decoding processing of the packet storage data in accordance with the determined order.
  • DESCRIPTION OF SYMBOLS 10 communication system 20 transmitter 21 data processor 22 communication part 30 receiver 31 data processor 32 communication part 50 initialization segment 60 media segment 201 CPU 202 ROM 203 RAM 204 bus 205 input / output interface 206 input unit 207 output unit 208 storage unit 209 communication unit 210 drive 211 removable medium

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

通信パケットの格納データの処理順決定に適用する付加情報を設定したパケットを送受信し、パケット単位で処理順を判別可能とする。送信装置が符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットを分割したNALユニットフラグメントを格納したパケットを生成し、パケット付加情報として、パケット格納データの処理順決定に適用する付加情報を設定して通信部を介して送信する。受信装置はパケット付加情報を参照してパケット格納データの処理優先度を判定して処理順を決定し、決定した順番に従ってパケット格納データの復号処理を実行する。

Description

通信装置、通信データ生成方法、および通信データ処理方法
 本開示は、通信装置、通信データ生成方法、および通信データ処理方法に関する。さらに詳細には例えば放送波やネットワークを介したデータの送信または受信を実行する通信装置、通信データ生成方法、および通信データ処理方法に関する。
 画像データや音声データ等のコンテンツを各通信事業者のサービス形態に関わらず配信可能としたデータ配信方式としてOTT(Over The Top)が知られている。OTTによる配信コンテンツはOTTコンテンツと呼ばれ、また、OTTを利用した画像(ビデオ)データの配信サービスはOTTビデオやOTT-V(Over The Top Video)と呼ばれる。
 例えばOTT-Vに従ったデータストリーミング配信の基盤技術としてDASH(Dynamic Adaptive Streaming overHTTP)が利用される。DASHは、HTTP(HyperText Transfer Protocol)プロトコルを使用したアダプティブ(適応型)ストリーミング技術の標準規格である。
 アダプティブ(適応型)ストリーミングでは、コンテンツ配信サーバは様々なクライアントで配信コンテンツの再生を可能とするため、複数のビットレートの動画コンテンツの細分化ファイルとこれらの属性情報やURLを記述したマニフェスト・ファイルを作成し保持する。
 クライアントは、マニフェスト・ファイルをサーバから取得して、自装置の表示部のサイズや利用可能な通信帯域に応じた最適なビットレートコンテンツを選択し、選択コンテンツを受信して再生する。ネットワーク帯域の変動に応じてビットレートの動的な変更も可能であり、クライアント側では、状況に応じた最適なコンテンツを随時切り替えて受信することが可能となり、映像途切れの発生を低減した動画コンテンツ再生が実現される。なお、アダプティブ(適応型)ストリーミングについては、例えば特許文献1(特開2011-87103号公報)に記載がある。
 MPEG(Moving Picture Expert Group)符号化された動画や音声データを上記のDASHに従ってストリーミング配信するための仕様を定めた規格としてMPEG-DASH規格がある。
 MPEG-DASH規格には、以下の2つの規格が含まれる。
 (a)動画や音声ファイルの管理情報であるメタデータを記述するためのマニフェスト・ファイル(MPD:Media Presentation Description)に関する規格。
 (b)動画コンテンツ伝送用のファイル・フォーマット(セグメント・フォーマット)に関する規格。
 MPEGデータをDASHに従ってストリーミング配信する場合は、このMPEG-DAH規格に従った処理が行われる。
 しかし、アダプティブ(適応型)ストリーミング技術の標準規格であるDASHは1対1の通信処理であるポイントトゥーポイント(Point-to-point)型のHTTPストリーミング技術をベースとしている。
 このため、例えばスポーツ中継等、多数のクライアントが同時に視聴する可能性のあるコンテンツ(番組)のストリーミング配信に適用する場合にはCDN(Content Delivery Network)のサポートが必要となる。
 しかし、CDNを適用したポイントトゥーポイントのHTTPストリーミングを構築するにはコスト的な制約があり、放送配信に匹敵する程のスケーラビリティを実現することは困難である。上述したようにDASHはHTTPをベースのストリーミングプロトコルを利用しており、放送配信のように多数のクライアントが同時に視聴するコンテンツ配信には不向きであるという問題がある。
特開2011-87103号公報
 本開示は、HTTPをベースとするストリーミングプロトコルを利用したコンテンツ配信において、同時に多数のクライアントにコンテンツを提供し、各クライアントにおいて遅延の少ないリアルタイム再生を実現する通信装置、通信データ生成方法、および通信データ処理方法を提供することを目的とする。
 本開示の第1の側面は、
 符号化データを格納したパケットを生成するデータ処理部と、
 前記データ処理部の生成したパケットを送信する通信部を有し、
 前記データ処理部は、
 符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
 パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの処理順番の決定に適用する付加情報を設定したパケットを生成して前記通信部を介して送信する通信装置にある。
 さらに、本開示の通信装置の一実施態様において、前記付加情報は、パケット格納データを復号時に参照する後続パケットのデータ数を示す従属ファイル数情報である。
 さらに、本開示の通信装置の一実施態様において、前記付加情報は、パケット格納データの処理優先度を示す優先度情報である。
 さらに、本開示の通信装置の一実施態様において、前記通信装置の送信するパケットは、ランダムアクセスポイントとなるか否かを示すアクセスポイント情報(SAP)を設定したパケットを含み、前記付加情報は、前記アクセスポイント情報(SAP)を設定したパケット間の処理優先度を示す優先度情報である。
 さらに、本開示の通信装置の一実施態様において、前記通信装置の送信するパケットは、異なる視点から撮影されたマルチビューポイント画像であり、前記データ処理部は、ビューポイントの異なる撮影画像を格納したパケットに異なる優先度情報を設定する。
 さらに、本開示の通信装置の一実施態様において、前記データ処理部は、HTTPパケットを生成し、前記付加情報を生成パケット内のHTTPヘッダに記録する。
 さらに、本開示の通信装置の一実施態様において、前記データ処理部は、前記付加情報を生成パケット内の拡張ヘッダに記録する。
 さらに、本開示の通信装置の一実施態様において、前記データ処理部は、前記付加情報を生成パケット内のLCTヘッダに記録する。
 さらに、本開示の通信装置の一実施態様において、前記通信部は、前記データ処理部の生成したパケットを、放送波を介してブロードキャスト配信、またはマルチキャスト配信する。
 さらに、本開示の第2の側面は、
 送信装置が送信した符号化データ格納パケットを受信する通信部と、
 前記通信部の受信したパケットを入力して処理を実行するデータ処理部を有し、
 前記通信部の受信する前記符号化データ格納パケットの各々は、
 符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの処理順番の決定に適用する付加情報を設定したパケットである通信装置にある。
 さらに、本開示の通信装置の一実施態様において、前記データ処理部は、受信パケットに記録された処理順番の決定に適用する付加情報を参照して、受信パケットに格納されたデータの復号処理の順番を決定する。
 さらに、本開示の通信装置の一実施態様において、前記付加情報は、パケット格納データを復号時に参照する後続パケットのデータ数を示す従属ファイル数情報である。
 さらに、本開示の通信装置の一実施態様において、前記通信装置の送信するパケットは、ランダムアクセスポイントとなるか否かを示すアクセスポイント情報(SAP)を設定したパケットを含み、前記付加情報は、前記アクセスポイント情報(SAP)を設定したパケット間の処理優先度を示す優先度情報である。
 さらに、本開示の通信装置の一実施態様において、前記通信装置の送信するパケットは、異なる視点から撮影されたマルチビューポイント画像であり、前記データ処理部は、前記付加情報に基づいて決定した処理順に従って、同一のビューポイントの撮影画像を順次、復号する処理を実行する。
 さらに、本開示の通信装置の一実施態様において、前記通信部は、前記付加情報をHTTPヘッダに記録したHTTPパケットを受信し、前記データ処理部は、受信パケットのHTTPヘッダから前記付加情報を取得する。
 さらに、本開示の通信装置の一実施態様において、前記通信部は、前記付加情報を拡張ヘッダに記録したパケットを受信し、前記データ処理部は、受信パケットの拡張ヘッダから前記付加情報を取得する。
 さらに、本開示の通信装置の一実施態様において、前記通信部は、前記付加情報をLCTヘッダに記録したパケットを受信し、前記データ処理部は、受信パケットのLCTヘッダから前記付加情報を取得する。
 さらに、本開示の通信装置の一実施態様において、前記通信部は、前記パケットを、放送波を介して受信する。
 さらに、本開示の第3の側面は、
 データ送信装置において実行する通信データ生成方法であり、
 データ処理部が、
 符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
 パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの処理順番の決定に適用する付加情報を設定したパケットを生成して通信部を介して送信する通信データ生成方法にある。
 さらに、本開示の第4の側面は、
 データ受信装置において実行する通信データ処理方法であり、
 通信部が、送信装置が送信した符号化データ格納パケットを受信するステップと、
 データ処理部が、前記通信部の受信したパケットを入力して処理を実行するデータ処理ステップを実行し、
 前記通信部の受信する前記符号化データ格納パケットの各々は、
 符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの処理順番の決定に適用する付加情報を設定したパケットであり、
 前記データ処理ステップは、前記通信部の受信した処理順番の決定に適用する付加情報が設定されたパケットを入力して処理を実行するステップである通信データ処理方法にある。
 本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 本開示の一実施例の構成によれば、通信パケットの格納データの処理順決定に適用する付加情報を設定したパケットを送受信し、パケット単位で処理順を判別可能とした構成が実現される。
 具体的には、送信装置が符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットを分割したNALユニットフラグメントを格納したパケットを生成し、パケット付加情報として、パケット格納データの処理順決定に適用する付加情報を設定して通信部を介して送信する。受信装置はパケット付加情報を参照してパケット格納データの処理優先度を判定して処理順を決定し、決定した順番に従ってパケット格納データの復号処理を実行する。
 本構成により、通信パケットの格納データの処理順決定に適用する付加情報を設定したパケットを送受信し、パケット単位で処理順を判別可能とした構成が実現される。
 なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
本開示の処理を実行する通信システムの一構成例について説明する図である。 送信装置の送信データについて説明する図である。 DASHセグメントの構成例について説明する図である。 フラグメント生成シーケンスについて説明する図である。 フラグメント内のメディアデータ(mdat)を1GOP単位のデータではなく、1GOPを細分化したデータに設定した構成例について説明する図である。 サブGOPメディアセグメントにHTTPヘッダを設定したHTTPパケットの構成例について説明する図である。 メディアセグメントHTTPパケットのHTTPヘッダの記録情報について説明する図である。 メディアセグメントHTTPパケットのHTTPヘッダの記録情報について説明する図である。 初期化セグメントHTTPパケットのHTTPヘッダの記録情報について説明する図である。 IPパケットの構成例について説明する図である。 送信装置と受信装置のプロトコルスタックについて説明する図である。 受信装置のプロトコルスタックについて説明する図である。 メディアセグメントHTTPパケットのHTTPヘッダの記録情報について説明する図である。 メディアセグメントHTTPパケットのHTTPヘッダの記録情報について説明する図である。 MACフレームの構成について説明する図である。 NALユニットフラグメント対応HTTPパケットについて説明する図である。 メタデータ格納型NALユニットフラグメント対応HTTPパケットのHTTPヘッダに記録する付加情報について説明する図である。 メディアデータ格納型NALユニットフラグメント対応HTTPパケットのHTTPヘッダに記録する付加情報について説明する図である。 HTTPヘッダに従属ファイル数を付加情報として記録する実施例について説明する図である。 HTTPヘッダに従属ファイル数を付加情報として記録する実施例について説明する図である。 HTTPヘッダに優先度情報を付加情報として記録する実施例について説明する図である。 HTTPヘッダに優先度情報を付加情報として記録する実施例について説明する図である。 送信装置の実行する処理シーケンスについて説明するフローチャートを示す図である。 受信装置の実行する処理シーケンスについて説明するフローチャートを示す図である。 受信装置の実行する処理シーケンスについて説明するフローチャートを示す図である。 受信装置の実行する処理シーケンスについて説明するフローチャートを示す図である。 拡張ヘッダに記録する付加情報の例について説明する図である。 拡張ヘッダに付加情報を記録した実施例について説明する図である。 FLUTEプロトコルに従って設定されるLCTヘッダの構成例について説明する図である。 LCTヘッダのヘッダ拡張部に対するデータ記録構成について説明する図である。 LCTヘッダのヘッダ拡張部に記録するデータについて説明する図である。 HEVC符号化データの構成について説明する図である。 通信装置のハードウェア構成例について説明する図である。
 以下、図面を参照しながら本開示の通信装置、通信データ生成方法、および通信データ処理方法の詳細について説明する。なお、説明は以下の項目に従って行なう。
 1.通信システムの構成例について
 2.一斉同時配信型のコンテンツ配信における問題点について
 3.送信データの細分化処理構成について
 4.HTTPヘッダに付加情報を記録した実施例について
 5.パケットの構成について
 6.送信装置と受信装置の構成と処理について
 7.パケットに格納したNALユニットがSAP(ストリームアクセスポイント)を含むか否かを識別可能としたアクセスポイント情報を付加した構成について
 8.NALユニットをさらに分割したNALユニットフラグメント格納パケットを利用した通信処理構成について
 9.処理優先度情報として従属データ数をパケット付加情報とした構成例について
 10.処理優先度情報として優先度情報をパケット付加情報とした構成例について
 11.送信装置と受信装置の処理シーケンスについて
 12.拡張ヘッダに付加情報を記録した実施例について
 13.LCTヘッダに付加情報を記録した実施例について
 14.HEVC符号化データに対する適用例について
 15.各装置のハードウェア構成例について
 16.本開示の構成のまとめ
  [1.通信システムの構成例について]
 まず、図1を参照して本開示の処理を実行する通信システムの一構成例について説明する。
 図1に示すように、通信システム10は、画像データや音声データ等のコンテンツを送信する通信装置である送信装置20と、送信装置20の送信コンテンツを受信する通信装置である受信装置30を有する。
 送信装置20は、具体的には、例えば放送局21やコンテンツサーバ22等、コンテンツを提供する側の装置である。
 一方、受信装置30は、一般ユーザのクライアント装置であり、具体的には、例えばテレビ31、PC32、携帯端末33等によって構成される。
 送信装置20と受信装置30間のデータ通信は、インターネット等のネットワークを介した双方向通信、あるいは、放送波等による一方向通信の少なくともいずれか、あるいは両者を利用した通信として行われる。
 送信装置20から受信装置30に対するコンテンツ送信は、アダプティブ(適応型)ストリーミング技術の規格であるMPEG-DASH規格に従って実行する。
 先に説明したように、MPEG-DASH規格には、以下の2つの規格が含まれる。
 (a)動画や音声ファイルの管理情報であるメタデータを記述するためのマニフェスト・ファイル(MPD:Media Presentation Description)に関する規格、
 (b)動画コンテンツ伝送用のファイル・フォーマット(セグメント・フォーマット)に関する規格、
 送信装置20から、受信装置30に対するコンテンツ配信は、上記のMPEG-DASH規格に従って実行する。
 送信装置20は、コンテンツデータを符号化し、符号化データおよび符号化データのメタデータを含むデータファイルを生成する。符号化処理は、例えばMPEGにおいて規定されるMP4ファイルフォーマットに従って行われる。なお、送信装置20がMP4形式のデータファイルを生成する場合の符号化データのファイルは「mdat」、メタデータは「moov」や「moof」等と呼ばれる。
 これらの符号化データの詳細については後段で説明する。
 送信装置20が受信装置30に提供するコンテンツは、例えば音楽データや、映画、テレビ番組、ビデオ、写真、文書、絵画および図表などの映像データや、ゲームおよびソフトウェアなど、様々なデータである。
 送信装置20の送信データについて図2を参照して説明する。
 MPEG-DASH規格に従ってデータ送信を実行する送信装置20は、図2に示すように、初期化セグメント(Initialization Segment)50と、メディアセグメント(Media Segment)60を、それぞれパケットに格納して受信装置30に送信する。これらの各セグメントはDASHセグメントと呼ばれる。
 メディアセグメント60各々はMPEG符号化されたコンテンツデータを分割して格納したセグメントである。
 初期化セグメント50はメディアセグメント60の格納コンテンツを受信装置30側で再生する場合に必要となる初期設定情報、例えばコーデックの設定情報などを格納したセグメントである。
 なお、送信装置20は、例えば1つの映画や番組等のコンテンツを、多数のメディアセグメント60に分割格納して順次送信する。
 送信装置20は、図2に示す初期化セグメント50、メディアセグメント60をHTTPパケットに格納し、さらに、HTTPパケットを格納したIPパケットを生成して送信する。送信パケットの構成の詳細については後段で説明する。
 図2に示す受信装置30は、まず、1つの初期化セグメント50を受信し、初期化セグメントに格納された設定情報に従ってコーデック等の設定処理等を実行する。続いて、メディアセグメント60を順次、受信し、再生順に従ってデコードを行なって再生処理を行なう。
  [2.一斉同時配信型のコンテンツ配信における問題点について]
 前述したように、アダプティブ(適応型)ストリーミング技術の標準規格であるDASHはポイントトゥーポイントのHTTPストリーミングをベースとしており、多数のクライアントが同時に視聴する一斉同時配信型コンテンツの配信には向かないという問題がある。
 しかし、マルチキャストやブロードキャスト(MC/BC)を併用することで、コンテンツを同時に多数のクライアント(受信装置)に遅延なく提供することが可能であると考えられる。
 マルチキャストやブロードキャスト(MC/BC)型のストリーミングに適用可能なトランスポートプロトコルには、例えばRTP(Real-time Transport Protocol)やFLUTE(File Delivery over Uni-directional Transport)がある。
 図3を参照して、FLUTEプロトコルを利用してHTTPストリーミングベースのDASH規格に従ってコンテンツストリーム配信を行う場合に利用可能なDASHセグメントの構成例について説明する。
 先に図2を参照して説明したように、DASHセグメントは、
 (a)初期化セグメント(Initialization Segment)、
 (b)メディアセグメント(Media Segment)、
 これらの2種類に分けられる。
 (a)初期化セグメント(Initialization Segment)は、受信装置30におけるデコーダの設定等、コンテンツ再生を実行するために必要となる設定情報等の初期化データを格納したセグメントである。
 (b)メディアセグメント(Media Segment)は、再生対象となる符号化コンテンツを格納したセグメントである。
 図3に示すように(a)初期化セグメントは、以下の各情報を含む。
 (a1)セグメントのファイルタイプ情報等からなるヘッダ情報(dash)、
 (a2)メディアセグメントによって送信する符号化コンテンツであるメディアデータ(mdat)のコーデック(符号化態様)情報等の初期化情報を含むメタデータ(moov)、
 一方、(b)メディアセグメントは、図3に示すように以下の各情報を含む。
 (b1)セグメントのファイルタイプ情報等からなるヘッダ情報(msdh)、
 (b2)メディアセグメントに格納された複数のサブセグメント(Sub-Segment)の境界情報や、メディアセグメントに格納された符号化コンテンツであるメディアデータ(mdat)のランダムアクセスポイント等を示すアクセス情報(sidx)、
 (b3)複数のサブセグメント(Sub-Segment)70、
 また、複数のサブセグメント(Sub-Segment)70は1つまたは複数のフラグメント(Fragment)80で構成される。
 フラグメント(Fragment)80は、以下の各データを含む。
 再生対象となる符号化コンテンツであるメディアデータ(mdat)、
 メディアデータ(mdat)に対応するメタデータ(moof)。
 なお、(b)メディアセグメントのアクセス情報(sidx)に記録されるランダムアクセスポイントは、DASHではSAP(Stream Access Point)と呼ばれる。
 SAPは、例えばストリームを復号するために必要なすべての状態をリセットすることができる画像シーケンスの先頭ピクチャの先頭バイト位置を示す。具体的には、例えばMPEGデータのIピクチャの位置等を示す情報である。
 フラグメント(Fragment)80に格納するメディアデータ(mdat)対応のメタデータ(moof)には、例えばフラグメント格納メディアデータ(mdat)の再生時間情報としてのプレゼンテーションタイム等が記録される。
 1つのフラグメント80に格納するメディアデータ(mdat)は、現行では、通常、DASHの制御対象となるコンテンツストリームの処理単位(チャンク)に設定される。処理単位(チャンク)とは、例えばMPEG(Moving Picture Expert Group)符号化の処理単位であるGOP(Group of Pictures)である。
 なお、GOPは再生時間が約0.5~2秒程度のデータに設定して運用している場合が多い。
 しかし、1つのフラグメント80に格納するメディアデータ(mdat)を1つのGOP単位のデータとすると、データ配信や再生処理における遅延が発生し、リアルタイム再生に支障が発生する可能性がある。
 例えば、ライブ中継画像を配信する場合、送信装置20は、カメラから入力するライブ画像データの符号化処理を実行してメディアセグメント60を順次生成する。メディアセグメント60の各フラグメント80に格納するメディアデータ(mdat)がGOP単位の符号化データである場合、送信装置30は、GOP単位の符号化データであるメディアデータ(mdat)を生成し、その後、生成したメディアデータ(mdat)のプレゼンテーションタイム等の属性情報を記述したメタデータ(moof)を生成することになる。
 従って、このシーケンスで各データの生成を行うと、各GOP単位の符号化データのデータ範囲が決定された後でないと、そのGOPのメタデータ(moof)の生成ができない。
 従って、メタデータ(moof)の生成は、メディアデータ(mdat)のデータ範囲が決定後に行うことになり、各メタデータ(moof)の生成処理は、1つのGOP単位の時間(0.5~2秒)に相当する時間を待って行わざる得ないことになる。
 メディアセグメント60を構成するフラグメント80に格納するメディアデータ(mdat)をGOP単位の符号化データとした場合のフラグメント生成シーケンスについて図4を参照して説明する。
 なお、図4に示す例は、メディアセグメント60に格納するメディアデータ(mdat)をMPEGにおいて規定されるMP4ファイルフォーマット(符号化形式)に従って格納する場合のシーケンス例である。
 MP4ファイルフォーマットのデータ部は、基本格納単位としてのサンプル(sample)に区分される。さらに各サンプル(sample)は、1以上のNALユニットによって構成される。NALユニットは、MPEG符号化データの例えばスライス単位の細分化データである。
 図4(a)に示すように複数の1つのGOPに対応する符号化データは複数のNALユニットによって構成される。
 図4には、
 上段に(a)GOPを構成するNALユニット
 下段に(b)フラグメント生成処理シーケンス
 これらを示している。
 (b)フラグメント生成処理シーケンスの最下段には時間軸を示している。左から右に時間が経過し、送信装置20は、この時間軸に従って、各処理を実行してフラグメントを生成する。
 なお、送信装置は、生成したフラグメントを格納したメディアセグメントを生成し、その後、メディアセグメントを格納したHTTPパケットを生成し、さらにHTTPパケットを格納したIPパケットを生成した後、IPパケットの送信を行う。
 図4(b)に示すフラグメント生成処理シーケンスについて説明する。
 送信装置20は、以下のシーケンスでMP4ファイルフォーマットに従った符号化データを格納したフラグメントを生成する。
 時間t0~t1:GOPを構成する複数のNALユニットを格納したサンプル1(sample1)を生成、
 時間t2~t3:GOPを構成する複数のNALユニットを格納したサンプル2(sample2)を生成、
 時間t4~t5:GOPを構成する複数のNALユニットを格納したサンプル3(sample3)を生成、
 ここまでで、1GOPを構成する全てのNALユニットを格納したサンプルの生成が完了する。
 これらのサンプル1~3(sample1~3)がメディアセグメントのフラグメント内のメディアデータ(mdat)として設定されることになる。
 時間t6~t7:サンプル1~3(sample1~3)に格納したGOP符号化データの属性情報であるメタデータ(moof)を生成する。
 時間t8~t9:サンプル1~3(sample1~3)によって構成されるメディアデータ(mdat)と、サンプル1~3(sample1~3)のメタデータ(moof)を組み合わせたフラグメントを生成する。
 送信装置20は、その後、上述した処理に従って生成したフラグメントを含むメディアセグメントを生成し、メディアセグメントをペイロードとして含むパケットを生成して受信装置30に送信することになる。
 送信装置20は、フラグメントを生成する場合、フラグメントに格納するGOP単位のメディアデータ(mdat)の再生時間等を確認し、その再生時間に応じたプレゼンテータションタイム等、GOPデータ単位の属性情報を生成して、メタデータ(moof)に記録する必要がある。
 現在、データ配信される画像データは主にハイビジョン対応の画像データであるが、今後、さらに高画質化が進み、例えば4K画像等、データ量の多いデータ配信が増加すると予想される。このような大容量のデータ配信に対応するためストリームのビットレートが大きくなる可能性がある。
 高画質化によるデータ量の増大に従って各GOP単位のデータ量も増大する。従って、図4を参照して説明したように1つのGOP単位のフラグメントを順次、生成して送信する構成とすると、送信側での処理間隔が長くなる。また、送信データの単位当たりデータ量も大きくなる。従って、十分な通信帯域が確保できない場合、ネットワーク送信における送信遅延の発生可能性が増加する。
 また、受信装置側でのパケット受信間隔が長くなり、1パケットあたりのデータ受信量が増加し、受信装置側に要求されるデータバッファ量も増加する。また、パケットの受信エラーが発生した場合の再送処理を行なうと、遅延量が急激に大きくなり、リアルタイム再生が破たんする可能性が高くなる。
  [3.送信データの細分化処理構成について]
 上記の問題を解決するため、送信装置20から受信装置30に対する送信データを細分化し、1つの送信パケット、すなわち一単位あたりの送信データ量を削減した構成例について、以下説明する。
 図4を参照したフラグメント生成シーケンスにおいては、フラグメントに設定するメディアデータ(mdat)を1GOP単位のデータとし、この1GOP単位のメディアデータ(mdat)に対応するメタデータ(moof)を生成する構成としていた。すなわち、各メタデータ(moof)を、1GOP単位のメディアデータ(mdat)に対応したメタデータとしていた。
 図4に示すシーケンスでは、メタデータ(moof)の生成タイミングは、1つのGOPのデータ量に応じて決定されてしまう。従って1GOPに含まれるデータ量が多くなると、メタデータ(moof)の生成タイミングも遅れ、その結果、フラグメントの生成処理、メディアセグメントの生成処理、送信パケットの生成処理にも遅れが発生する。また、この結果1パケット当たりのデータ量が増加し、配信遅延の可能性を高めてしまうことになる。
 このような事態を防止する構成として、フラグメント内のメディアデータ(mdat)を1GOP単位のデータではなく、1GOPを細分化したデータに設定した構成例について、図5を参照して説明する
 図5には、フラグメントに格納するメディアデータ(mdat)を1つのGOPデータではなく、1つのGOPデータを細分化したデータ、具体的には1つのGOPの構成データである1つのNALユニットまたは複数のNALユニットとした例を示している。
 図5(a)は、図4(a)と同様、GOPを構成するNALユニットを示している。
 図5(b1)~(b3)は、この1つのGOPの構成データであるNALユニットをメディアデータ(mdat)として分散させて格納した複数のメディアセグメントである。
 図5(b1)~(b3)に示すようにGOPデータを細分化データである1以上のNALユニットから構成されるメディアデータ(mdat)を格納したメディアセグメントを、以下、サブGOPメディアセグメントと呼ぶ。
 図5には、1つのGOPデータを3つのサブGOPメディアセグメントに格納した例を示しているが、1つのGOPデータを格納するためのサブGOPメディアセグメントの数は、2以上の任意数に設定可能である。
 また、図5(b1)~(b3)のサブGOPメディアセグメントは、いずれもメディアデータ(mdat)を複数のNALユニットに設定した例としているが、メディアデータ(mdat)を1つのNALユニットのみの設定としてもよい。
 送信装置20は、図5(b1)~(b3)に示すサブGOPメディアセグメントを生成し、生成したサブGOPメディアセグメントの各々を、それぞれ個別のHTTPパケットのペイロードに設定してネットワークや放送波を介して送信する。
 図5(b1)~(b3)のサブGOPメディアセグメントに格納するメタデータ(moof)は、個々のサブGOPメディアセグメントに格納するメディアデータ(mdat)に対応した属性情報からなるメタデータとする。
 このような設定とすることで、ネットワークや放送波を介して送信される1つのパケットのデータ量が小さくなり、送信装置側の1つのパケット生成処理に要する時間が短縮される。またパケット遅延の可能性も低減し、パケットロス等の際の再送処理遅延も小さくなる。結果として、受信装置30におけるエラーのないリアルタイム再生が実現される。
 サブGOPメディアセグメントにHTTPヘッダを設定したHTTPパケットの構成例について、図6を参照して説明する。
 図6には2つのHTTPパケット構成例を示している。
 図6の(a)と(b)に示すパケットの差異は、ランダムアクセス情報等を格納する[sidx]を有するか否かである。
 sidxは、先に図3を参照して説明したように、メディアセグメントに格納された複数のサブセグメント(Sub-Segment)の境界情報や、メディアセグメントに格納された符号化コンテンツであるメディアデータ(mdat)のランダムアクセスポイント等を示すアクセス情報である。DASHではアクセス情報はSAP(Stream Access Point)と呼ばれる。SAPは、例えばストリームを復号するために必要なすべての状態をリセットすることができる画像シーケンスの先頭ピクチャの先頭バイト位置を示す。具体的には、例えばMPEGデータのIピクチャ位置に相当する。
 図6(b)に示すHTTPパケットは、sidxを含まないパケットである。図6(b)に示すHTTPパケットは、このパケットに格納されたメディアデータ(mdat)にアクセスポイントとなるピクチャデータを含まない。
 パケット格納メディアデータ(mdat)にアクセスポイントとなるデータを含まない場合、アクセスポイントを示すデータも不要となる。従って図6(b)に示すHTTPパケットにはsidxが設定されていない。
 一方、アクセスポイントとなるデータを含むメディアデータ(mdat)を格納したサブGOPメディアセグメントを有するパケットには、図6(a)に示すようにsidxが設定される。
 図5~図6を参照して説明したように、本実施例では、1つのGOP構成データを複数のパケットに分割して送信する。
 受信装置30は、これらの複数のパケットを順次、受信し、各パケットに分割して格納されたGOP構成データを取得する。GOP単位の復号処理を行なう場合は、複数のパケットに格納されたGOP構成データを全て集めて、GOPの構成データ(NALユニット)を正しい順序に並べてGOPデータを再構成することが必要となる。
 以下、GOP再構成処理に適用する情報等、受信装置側における処理をスムーズに実行させるための付加情報の設定例について説明する。
  [4.HTTPヘッダに付加情報を記録した実施例について]
 まず、GOP再構成処理に適用する情報等、受信装置側における処理をスムーズに実行させるための付加情報をHTTPパケットのHTTPヘッダに記録した実施例について説明する。
 図7、図8を参照してHTTPヘッダの記録情報について説明する。
 図7には、先に図5を参照して説明したと同様、1つのGOPデータを3つのサブGOPメディアセグメントに分割格納したHTTPパケットの構成例を示している。
 これら3つのHTTPパケットのHTTPヘッダに、図7に示すように、
 (1)セグメント識別子(Content-Location)
 (2)GOP内位識別情報(X-(Start/Middle/End)ofGOP)
 これらの2つの識別情報を記録する。
 (1)セグメント識別子は、そのHTTPパケットに格納されたセグメントのコンテンツ位置情報と、セグメントの種類とパケットに格納されたメディアデータ(mdat)の属するGOPの識別情報を含むデータである。なお、具体的にはGOPデータの位置情報(URL等のアクセス情報)を記録すればよい。
 パケットを受信する受信装置30は、同一のセグメント識別子(Content-Location)が記録されたHTTPパケットは同じGOPに属するメディアデータ(mdat)を格納したHTTPパケットであると判定することができる。
 (2)GOP内位識別情報は、HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPのどの位置にあるかを示すデータである。
 GOP内位識別情報=X-StartofGOPであるパケットは、GOPデータの先頭領域のNALユニットをメディアデータ(mdat)として格納したパケットである。
 GOP内位識別情報=X-MiddleofGOPであるパケットは、GOPデータの中間領域のNALユニットをメディアデータ(mdat)として格納したパケットである。
 GOP内位識別情報=X-EndofGOPであるパケットは、GOPデータの末尾領域のNALユニットをメディアデータ(mdat)として格納したパケットである。
 なお、1つのGOPデータが、4つ以上のサブGOPメディアセグメントに分割された場合、GOP内位識別情報=X-MiddleofGOPを設定した複数のパケットが生成されることになる。これらのパケットに格納されるメディアデータ(mdat)のGOPデータ内配列は、HTTPヘッダ以外のパケットヘッダ情報によって判別できる。
 例えばHTTPパケットを格納するLCTパケットのLCTヘッダに記録されるパケットシーケンス番号を参照することで判別可能である。なお、具体的な送信パケットの構成、およびLCTヘッダ構成については、後述する。
 従って、例えばHTTPパケットをLCTパケットに格納して送信する構成では、HTTPヘッダに設定するGOP内位置識別情報は、GOP位置が先頭領域のデータを格納したパケットのみを識別する設定としてもよい。すなわち、GOP内位識別情報=X-StartofGOPのみを記録し、この後に続くGOPデータは、LCTヘッダのシーケンス番号を参照して配列する構成としてもよい。
 図8に、メディアセグメントを格納したHTTPパケットのHTTPヘッダのデータ構成例を示す。
 図8に示すようにHTTPヘッダには、例えば以下のHTTPヘッダ情報が記録される。
 「・・・
 HTTP/1.1 206 Partial Content
 Date: Fri, 04 Oct 2013 11:14:20 GMT
 Content-type: application/mp4
 Content-Location: http://a.com/x.mp4
 X-StartOfGOP
  ・・・」
 上記のHTTPヘッダ情報中、
 セグメント識別子は、
 「Content-Location: http://a.com/x.mp4」
 である。
 このセグメント識別子は、HTTPパケットに格納されたメディアデータ(mdat)の属するGOPの識別情報を含むものとなる。具体的にはそのGOPデータの位置情報(アクセス情報)である。
 同一のセグメント識別子(Content-Location)が記録されたHTTPパケットは同じGOPに属するメディアデータ(mdat)を格納したHTTPパケットであると判定することができる。
 また、上記HTTPヘッダ情報中、
 GOP内位識別情報は、
 「X-StartOfGOP」
 である。このGOP内位識別情報は、HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPのどの位置にあるかを示すデータである。
 HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPの、
 先頭領域の場合は、「X-StartOfGOP」、
 中間領域の場合は、「X-MiddleOfGOP」、
 末尾領域の場合は、「X-EndOfGOP」、
 HTTPヘッダにはこれらのいずれかのデータがGOP内位識別情報として記録される。
 次に、初期化セグメントを格納するHTTPパケットのHTTPヘッダの記録情報について図9を参照して説明する。
 初期化セグメントを格納するHTTPパケットのHTTPヘッダには、HTTPパケットが初期化セグメントを格納したパケットであることを示すセグメント識別情報を記録する。
 図9に、初期化セグメントを格納したHTTPパケットのHTTPヘッダのデータ構成例を示す。
 図9に示すようにHTTPヘッダには、例えば以下のHTTPヘッダ情報が記録される。
 「・・・
 HTTP/1.1 206 Partial Content
 Date: Fri, 04 Oct 2013 11:14:20 GMT
 Content-type: application/mp4
 Content-Location:http://a.com/x-init.mp4」
 X-InitializationSegment
  ・・・」
 上記のHTTPヘッダ情報中、
 セグメント識別子は、
 「Content-Location:http://a.com/x-init.mp4」
 である。
 このセグメント識別子は、初期化セグメントのURL等のアクセス情報を記録すればよい。
 上記のHTTPヘッダ情報中、
 セグメント識別情報は、
 「X-InitializationSegment」
 である。
 このセグメント識別情報は、HTTPパケットに格納されたセグメントが、初期化セグメントであることを示す情報である。
 初期化セグメントを格納したHTTPヘッダにはこのセグメント識別情報が記録される。
  [5.パケットの構成について]
 次に、送信装置から受信装置に向けて送信されるパケットの構成例について説明する。
 図10には以下の2つのIPパケットの構成例を示している。
 (1)初期化セグメント格納IPパケット
 (2)メディアセグメント格納IPパケット
 (1)初期化セグメント格納IPパケットは、以下の構成を有する。
 IPヘッダ
 UDPヘッダ
 LCTヘッダ
 HTTPヘッダ
 初期化セグメント構成データ[dash]
 初期化セグメント構成データ[moov]
 IPヘッダ、UDPヘッダ、LCTヘッダ、HTTPヘッダは、それぞれIPプロトコル、UDPプロトコル、FLUTEプロトコル、HTTPプロトコルの各通信プロトコルに従って設定されるヘッダ情報である。
 一方、(2)メディアセグメント格納IPパケットは、以下の構成を有する。
 IPヘッダ
 UDPヘッダ
 LCTヘッダ
 HTTPヘッダ
 メディアセグメント構成データ[msdh]
 メディアセグメント構成データ[sidx]
 メディアセグメント構成データ[moof]
 メディアセグメント構成データ[mdat]
 IPヘッダ、UDPヘッダ、LCTヘッダ、HTTPヘッダは、それぞれIPプロトコル、UDPプロトコル、FLUTEプロトコル、HTTPプロトコルの各通信プロトコルに従って設定されるヘッダ情報である。
 なお、前述したようにメディアセグメント構成データ[sidx]は、ランダムアクセスに適用可能なメディアデータ(mdat)を有するパケットには設定されるが、それ以外のパケットには設定不要である。
 送信装置20は、図10に示すIPパケットを生成して受信装置30に向けて送信する。
 受信装置30は、受信装置20から受信する図10に示す各パケットを受信し、各ヘッダ情報を解析して、セグメントを取り出し、セグメント格納データに従って、初期設定やコンテンツ再生を実行する。
  [6.送信装置と受信装置の構成と処理について]
 次に、図11以下を参照して送信装置と受信装置の構成と処理について説明する。
 まず、図11を参照して、送信装置20と受信装置30の構成とプロトコルスタックについて説明する。
 図10を参照して説明したIPパケットを生成して送信する送信装置20は、図11に示すようにデータ処理部21と通信部22を有する。
 データ処理部21は、送信パケットの生成処理を実行する。
 具体的には、例えば前述したように符号化データの処理単位であるGOP(Group of Pictures)の構成データの一部のみを含むメディアデータ(mdat)と、メディアデータ対応のメタデータ(moof)を格納したサブGOPメディアセグメントをパケット格納データとして生成する。さらに、サブGOPメディアセグメントの格納データであるメディアデータのGOP内位置を示すGOP内位置識別子等のパケット付加情報を生成してHTTPヘッダに記録したパケットを生成する。
 通信部22は、データ処理部21の生成したパケットを送信する。
 通信部22は、データ処理部21の生成したパケットを、放送波、あるいはインターネット等のネットワークを介してブロードキャスト配信、またはマルチキャスト配信する。
 データ処理部21と通信部22は、以下のレイヤからなるプロトコルスタックに従ってパケット生成処理を実行し、生成したパケットを送信する。以下、送信装置20のプロトコルスタックのレイヤ構成について説明する。送信装置20のプロトコルスタックは、上位レイヤから下位レイヤまで、以下に示すレイヤ構成を有する。
 (1)DASH Server:DASH規格に従ったセグメント生成等の処理を実行するアプリケーションレイヤ
 (2)Video/Audio/Subtitle etc:送信対象コンテンツの生成、取得を実行するアプリケーションレイヤ
 (3)FragmentedMP4:MP4ファイルフォーマットに従った符号化データを生成しセグメントを生成するアプリケーションレイヤ
 (4)HTTP:HTTPプロトコルに従ってHTTPヘッダを有するHTTPパケットを生成するレイヤ
 (5)FLUTE/ALC(LCT):FLUTEプロトコルに従ってLCTヘッダを有するFLUTEパケットを生成するレイヤ
 (6)UDP:UDPプロトコルに従ってUDPヘッダを有するUDPパケットを生成するレイヤ
 (7)IP:IPプロトコルに従ってIPヘッダを有するIPパケットを生成するレイヤ
 (8)PHY:IPパケット、またはIPパケットを格納したMACフレームを生成して送信する通信部等から構成される物理レイヤ
 また、図10を参照して説明したIPパケットを受信する受信装置30は、図11に示すようにデータ処理部31と通信部32を有する。
 通信部32は、送信装置20の送信するパケットを受信し、データ処理部31は通信部31の受信したパケットを入力して、データ処理を行なう。
 データ処理部31と通信部32は、以下のレイヤからなるプロトコルスタックに従ってパケットの受信、解析を実行する。受信装置30のプロトコルスタックは、上位レイヤから下位レイヤまで、以下に示すレイヤ構成を有する。
 (1)DASH Client:DASH規格に従ったセグメントの解析等の処理を実行するアプリケーションレイヤ
 (2)Video/Audio/Subtitle etc:受信コンテンツの取得、再生処理等を実行するアプリケーションレイヤ
 (3)FragmentedMP4:MP4ファイルフォーマットに従った符号化データの復号処理等を実行するアプリケーションレイヤ
 (4)HTTP:HTTPプロトコルに従ってHTTPヘッダを有するHTTPパケットを解析するレイヤ
 (5)FLUTE/ALC(LCT):FLUTEプロトコルに従ってLCTヘッダを有するFLUTEパケットを解析するレイヤ
 (6)UDP:UDPプロトコルに従ってUDPヘッダを有するUDPパケットを解析するレイヤ
 (7)IP:IPプロトコルに従ってIPヘッダを有するIPパケットを解析するレイヤ
 (8)PHY:IPパケット、またはIPパケットを格納したMACフレームを受信する通信部等から構成される物理レイヤ
 なお、送信装置20は、前述したようにIPパケットをブロードキャスト、あるいはマルチキャスト送信する際、ネットワークを介した送信、あるいは放送波を介した送信のいずれか、または、これらの双方の通信経路を利用して並列送信する処理を行なう。
 受信装置30は、放送波と、インターネット等のネットワークのいずれかの通信経路、または両通信経路を介したパケット受信処理を行なう。
 インターネット等のネットワークを介した送受信パケットの生成および解析は、図11に示すFLUTE/ALC(LCT)レイヤとUDPレイヤを、TCPレイヤに置き換えて行なうことが可能である。
 放送波を介して受信するIPパケットと、インターネット等のネットワークを介して受信するIPパケットを適宜、切り替えて処理を行なう受信装置30のプロトコルスタックの例について、図12を参照して説明する。
 図12に示す受信装置30のプロトコルスタックは、以下の2つの通信系に対応したプロトコルスタックのレイヤ構成を示している。
 (1)放送系
 (2)ネットワーク通信系
 (1)放送系は、図11を参照して説明したレイヤ構成となっている。
 (2)ネットワーク通信系は、放送系レイヤのFLUTE/ALC(LCT)レイヤと、UDPレイヤをTCPレイヤに置き換えた構成である。
 TCPレイヤは、TCPヘッダを有するTCPパケットの解析を実行する。
 シグナリング(Signaling)レイヤは、各通信系の切り替え制御を行うためのレイヤである。
 受信装置30は、放送系とネットワーク通信系の各レイヤを、適宜切り替えて利用することで、放送波を介して受信するパケットと、インターネット等のネットワークを介して受信するパケットを選択的に利用してパケット格納コンテンツを取得して再生処理を実行することができる。
 例えば、ネットワークからのパケット受信に遅延が発生した場合、放送系に切り替えて同一コンテンツに対応するパケットを、放送波を介して受信し、コンテンツ再生を継続することができる。
 ネットワーク通信系、放送系のいずれの通信系を介した配信パケットにも、前述したセグメント識別子やGOP内位置識別子が記録されており、これらの識別情報を参照して、GOPデータの再構築が可能となり、エラーのない復号処理と、コンテンツ再生が実現される。
  [7.パケットに格納したNALユニットがSAP(ストリームアクセスポイント)を含むか否かを識別可能としたアクセスポイント情報を付加した構成について]
 次に、受信装置の処理効率化を実現する構成例として、パケットに格納したNALユニットフラグメントの分割元であるNALユニットにSAP(アクセスポイントデータ)を含むか否かを識別可能とした識別情報を付加した構成について説明する。
 先に、図3他を参照して説明したようにSAP(Stream Access Point)は、ランダムアクセスポイントとなるデータの格納位置情報である。DASHではランダムアクセスポイントをSAP(Stream Access Point)と呼ぶ。SAPは、例えばストリームを復号するために必要なすべての状態をリセットすることができる画像シーケンスの先頭ピクチャの先頭バイト位置を示す。具体的には、例えばMPEGデータのIピクチャ位置等を示す情報である。
 なお、先に図3(b)を参照して説明したように、SAPはメディアセグメントのメタ情報である[sidx]に格納されている。
 受信装置側では、SAPの示すデータ位置の符号化データを取得して、その取得データから復号処理を実行して再生を行なうことが可能となる。
 従って、コンテンツの途中から再生するなどの特殊再生処理を行う場合、SAPは重要な必須データとなる。例えば、GOPデータの全てを揃えることなく、SAPにによって指定される符号化データを取得し復号することでランダムアクセスポイントの画像を再生可能となる。
 また、受信装置は、例えば配信遅延などによってGOP単位の全符号化データのパケット受信が間に合わない場合などに、SAPによって指定されるランダムアクセスポイントデータを優先して処理を行なうことも可能である。ランダムアクセスポイントデータを選択して復号、再生することで、表示部の画像表示を継続可能となる。このように、処理優先度を判定する場合にもSAPは重要なデータとなる。
 1つのGOP単位データの中には、確実にランダムアクセスポイントが存在する。しかし、図5~図10を参照して説明したように、1つのパケットの格納データを1GOP単位のデータではなく、1GOPを細分化して、1つまたは複数のNALユニットを格納したパケットは、パケットに格納したNALユニットにランダムアクセスポイントが含まれる場合と含まれない場合がある。
 図5~図10を参照して説明した構成では、例えば図7に示すように、サブGOPメディアセグメントHTTPパケットにメタデータである「sidx」を含むパケットと含まないパケットを設定している。
 サブGOPメディアセグメントHTTPパケットに格納されたNALユニットにランダムアクセスポイント対応のデータが含まれればSAPを記録した[sidx]が設定される。
 しかし、[sidx]は、メディアデータのランダムアクセスポイント情報であるSAPのみならず、その他のデータの境界情報等も含むメタデータであり、[sidx]の有無のみによってパケット格納データにアクセスポイントとなるデータが含まれるか否かを判定することはできない。
 従って、上述したサブGOPメディアセグメントHTTPパケットを利用した符号化データ配信構成では、受信装置側は、受信パケット単位でパケットにアクセスポイントデータが含まれるか否かを判定することが困難になる。
 以下、このような問題を解決し、受信装置側で、受信パケット単位で、パケットにアクセスポイントデータが含まれるか否かを判定可能とした構成について説明する。
 図13以下を参照して、上述したサブGOPメディアセグメントHTTPパケットを利用した符号化データ配信構成において、パケット単位で各パケットにアクセスポイントデータが含まれるか否かを判定可能とした構成について説明する。
 図13は、先に説明した図5、図7と同様、1つのGOPデータを3つのサブGOPメディアセグメントに分割格納したHTTPパケットの構成例を示している。
 これら3つのHTTPパケットのHTTPヘッダには、先に図7を参照して説明した以下の付加情報が記録される。
 (1)セグメント識別子(Content-Location)
 (2)GOP内位識別情報(X-(Start/Middle/End)ofGOP)
 さらに、図13に示す例では、HTTPヘッダに以下の付加情報を追加記録する。
 (3)アクセスポイント情報(X-SAP)
 これらの3つの情報を記録する。
 (1)セグメント識別情報は、そのHTTPパケットに格納されたセグメントのコンテンツ位置情報と、セグメントの種類とパケットに格納されたメディアデータ(mdat)の属するGOPの識別情報を含むデータである。なお、具体的にはGOPデータの位置情報(URL等のアクセス情報)を記録すればよい。
 パケットを受信する受信装置30は、同一のセグメント識別子(Content-Location)が記録されたHTTPパケットは同じGOPに属するメディアデータ(mdat)を格納したHTTPパケットであると判定することができる。
 (2)GOP内位識別情報は、HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPのどの位置にあるかを示すデータである。
 GOP内位識別情報=X-StartofGOPであるパケットは、GOPデータの先頭領域のNALユニットをメディアデータ(mdat)として格納したパケットである。
 GOP内位識別情報=X-MiddleofGOPであるパケットは、GOPデータの中間領域のNALユニットをメディアデータ(mdat)として格納したパケットである。
 GOP内位識別情報=X-EndofGOPであるパケットは、GOPデータの末尾領域のNALユニットをメディアデータ(mdat)として格納したパケットである。
 なお、1つのGOPデータが、4つ以上のサブGOPメディアセグメントに分割された場合、GOP内位識別情報=X-MiddleofGOPを設定した複数のパケットが生成されることになる。これらのパケットに格納されるメディアデータ(mdat)のGOPデータ内配列は、HTTPヘッダ以外のパケットヘッダ情報によって判別できる。
 例えばHTTPパケットを格納するLCTパケットのLCTヘッダに記録されるパケットシーケンス番号を参照することで判別可能である。なお、具体的な送信パケットの構成、およびLCTヘッダ構成については、後述する。
 従って、例えばHTTPパケットをLCTパケットに格納して送信する構成では、HTTPヘッダに設定するGOP内位置識別情報は、GOP位置が先頭領域のデータを格納したパケットのみを識別する設定としてもよい。すなわち、GOP内位識別情報=X-StartofGOPのみを記録し、この後に続くGOPデータは、LCTヘッダのシーケンス番号を参照して配列する構成としてもよい。
 (3)アクセスポイント情報(X-SAP)は、HTTPパケットに格納されたメディアデータ(mdat)に含まれる符号化データにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
 受信装置は、このアクセスポイント情報(X-SAP)を参照することで、そのHTTPパケットに格納されたメディアデータ内のNALユニットがアクセスポイントデータを含むか否かを即座に判別することができる。
 従って、例えばアクセスポイントデータのみを優先して復号、再生を行なう場合には、HTTPヘッダに記録されたアクセスポイント情報(X-SAP)を参照して、処理対象パケットを選択することができる。すなわち、HTTPヘッダに記録されたアクセスポイント情報(X-SAP)が、パケット格納データ(NALユニット)にアクセスポイントが含まれることを示すパケットのみを選択して処理を行なうことが可能となる。
 なお、図13に示す例では、図13(b1)~(b3)のすべてのHTTPパケットにアクセスポイント情報(X-SAP)を設定し、アクセスポイント情報(X-SAP)が、各HTTPパケットに格納されたメディアデータ(mdat)に含まれる符号化データにランダムアクセスポイントとなるデータが含まれるか否かを示す構成としている。
 このような構成の他、例えば、HTTPパケットに格納されたメディアデータ(mdat)に含まれる符号化データにランダムアクセスポイントとなるデータが含まれる場合にのみ、そのHTTPパケットのHTTPヘッダにアクセスポイント情報(X-SAP)を記録する構成としてもよい。すなわち、HTTPパケットに格納されたメディアデータ(mdat)に含まれる符号化データにランダムアクセスポイントとなるデータが含まれない場合は、HTTPヘッダにアクセスポイント情報(X-SAP)を記録しない。例えば、図13(b2),(b3)に示すHTTPパケットにランダムアクセスポイントとなるデータが含まれない場合は、HTTPヘッダにアクセスポイント情報(X-SAP)を記録しない。
 この設定の場合、受信装置は、HTTPヘッダにアクセスポイント情報(X-SAP)が記録されているか否かに応じて、HTTPパケットに格納されたメディアデータ(mdat)に含まれる符号化データにランダムアクセスポイントとなるデータが含まれるか否かを判定する。
 このアクセスポイント情報(X-SAP)は、ランダムアクセス可能なデータの有無をパケット単位で識別可能とする情報である。受信装置側では、各パケットのアクセスポイント情報(X-SAP)を参照して、ランダムアクセス可能なデータの格納されたパケットを選別することが可能となる。受信装置は、例えばランダムアクセス可能なデータの格納されたパケットをを優先処理することで、ランダムアクセスポイントからのデータ再生処理等を迅速に行うことが可能となる。
 図14に、メディアセグメントを格納したHTTPパケットのHTTPヘッダのデータ構成例を示す。
 図14に示すようにHTTPヘッダには、例えば以下のHTTPヘッダ情報が記録される。
 「・・・
 HTTP/1.1 206 Partial Content
 Date: Fri, 04 Oct 2013 11:14:20 GMT
 Content-type: application/mp4
 Content-Location: http://a.com/x.mp4
 X-StartOfGOP
 X-SAP
  ・・・」
 上記のHTTPヘッダ情報中、
 セグメント識別子「Content-Location: http//:a.com/x.mp4」、
 GOP内位識別情報「X-StartOfGOP」、
 これらについては、先に図8を参照して説明したと同様の情報である。
 すなわち、セグメント識別子は、HTTPパケットに格納されたメディアデータ(mdat)の属するGOPの識別情報として機能するGOPデータの位置情報(アクセス情報)である。
 GOP内位識別情報は、HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPのどの位置にあるかを示すデータである。
 先頭領域の場合は、「X-StartOfGOP」、
 中間領域の場合は、「X-MiddleOfGOP」、
 末尾領域の場合は、「X-EndOfGOP」、
 HTTPヘッダにはこれらのいずれかのデータがGOP内位識別情報として記録される。
 また、図14に示すHTTPヘッダ情報中、
 アクセスポイント情報「X-SAP」は、そのHTTPパケットに格納されたメディアデータ(mdat)に含まれる符号化データ(NAL)にランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
 受信装置は、アクセスポイント情報(X-SAP)を参照することで、受信パケット単位でパケット格納メディアデータ内のNALユニットにアクセスポイントが含まれるか否かを即座に判別することができる。
 受信装置は、アクセスポイントが含まれるパケットのみを選択して、これらのパケットの格納データを優先して復号し、再生することが可能となる。例えば配信遅延などによってGOP単位の全符号化データのパケット受信が間に合わない場合などに、ランダムアクセスポイントデータを優先して復号、再生することで、表示部の画像表示を継続させるといった処理が可能となる。
  [8.NALユニットをさらに分割したNALユニットフラグメント格納パケットを利用した通信処理構成について]
 上述したように、GOPの分割データである1つのNALユニット、または複数のNALユニットを含むパケットを利用したデータ送受信を行うことで、ネットワーク上の1つの転送パケットのデータ量の削減が実現される。
 しかし、例えば高画質の画像データである4Kコンテンツや8Kコンテンツなど、データ量が多い画像データについては、これらの大容量画像データの符号化処理によって生成するNALユニットのデータ量が増大する。すなわち、1つのNALユニットそのもののデータ量が非常に大きくなる場合が想定される。
 IPレイヤにおけるデータ転送処理において、例えばイーサネット(登録商標)を介したデータ転送を行う場合、IPパケットをイーサネット(登録商標)で規定される最大データ転送単位(MTU:Maximum Transfer Unit)以下のMACフレームを生成して転送することが必要となる。
 すなわち最大データ転送単位(MTU)の規定されたネットワークを介してパケットを転送する場合には、MTU以上のデータ量を持つIPパケットについて、MTUで規定するデータ量以下に分割するフラグメント処理を実行し、各分割データを格納した複数のMACフレームを生成して転送する処理が必須となる。
 例えばイーサネット(登録商標)の規定するMACフレームのフレーム単位の一般的な最大データ転送量(MTU)は約1500バイトである。
 MACフレームは、例えば図15に示す構成を有し、先に図10を参照して説明したIPパケットの先頭にMACヘッダを設定した構成である。例えば図15に示すMACフレームでは、MACフレームのペイロードとなるIPヘッダ~mdatまでのデータ量をMTU=1500バイト以下に設定することが必要となる。
 送信装置20から受信装置30にパケット送信を行う場合、送信装置20や受信装置30側の各デバイス間通信や、送信装置20と受信装置30間の中継装置等において、このMTUに応じたフラグメンテーション、すなわちパケット分割処理と、分割データの再構成処理が繰り返し実行される可能性がある。
 このような事態が発生すると、送信装置20におけるコンテンツ入力から受信装置30におけるコンテンツ再生までの時間に遅延が発生し、受信装置30におけるコンテンツの再生遅延が発生する可能性が高まることになる。
 以下では、このような事態を防止する構成について説明する。
 以下に説明する実施例において、送信装置20は、パケット生成処理段階におけるHTTPレイヤにおいて、パケットのデータサイズを所定サイズ以下に設定する。具体的には、通信路において想定される最大データ転送単位(MTU:Maximum Transfer Unit)以下の小さなデータサイズとする。具体的には、例えば1つのNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成して送信する。
 前述したように、例えばイーサネット(登録商標)の規定するMACフレームのフレーム単位の一般的な最大データ転送量(MTU)は約1500バイトである。
 送信装置20のデータ処理部はHTTPパケットの生成段階で、このMTUを考慮したパケット生成を行う。例えば、HTTPパケットを格納したMACフレームのフレームサイズが1500バイト以下になるようにパケット生成を実行する。
 送信装置20のデータ処理部において、通信経路における最大データ転送量(MTU)を考慮したパケット生成処理を実行することで、送信装置や、中継装置、あるいは受信装置のIPレイヤにおいてMTUに従ったパケット分割処理であるフラグメンテーションが不要となり、データ転送をスムーズに実行することが可能になる。
 このように、送信装置20のデータ処理部はHTTPパケットの生成段階で、パケット格納データを通信経路において規定されるMTU以下の小さなフラグメントに設定する処理を実行する。この処理により、例えば、通信路のIPレイヤにおけるフラグメンテーション処理よるオーバーヘッドが低減される。
 先に図5他を参照して説明した例では、1つまたは複数のNALユニットをメディアデータ(mdat)とし、さらにその属性データであるメタデータ(moof)と組み合わせて1つのフラグメントを生成し、このフラグメントを持つサブGOPメディアセグメントを格納したHTTPパケットを生成していた。
 以下に説明する実施例では、1つのNALユニットを分割したNALユニットフラグメント(NALf)をメディアデータ(mdat)として格納したHTTPパケットを生成する。
 なお、NALユニット対応の属性データである(moof)は、メディアデータ(mdat)格納パケットと異なる別の独立したHTTPパケットに格納して配信する。
 図16を参照して、本実施例におけるHTTPパケットの構成例について説明する。
 図16(a)は、先に図5~図7等を参照して説明したサブGOPメディアセグメントである。すなわちGOPを分割したデータである1つ以上のNALユニットをメディアデータ(mdat)として格納したセグメントである。
 ただし、図16(a)に示すサブGOPメディアセグメントはメディアデータ(mdat)として1つのNALユニットのみを格納した例である。NALユニットは1に限らず複数のNALユニットとしてもよい。
 本実施例では、この図16(a)に示すようなサブGOPメディアセグメントをさらに分割して複数のHTTPパケットを生成する。分割処理は、通信経路における最大データ転送量(MTU)を考慮して実行する。例えば、分割後のHTTPパケットを格納したMACフレームを生成した場合に、MACフレームに許容される最大データ転送単位(MTU:Maximum Transfer Unit)以下となるように行う。
 なお、分割処理に際しては1つまたは複数のNALユニットを分割するNALユニット分割処理を行なうことになる。以下では、NALユニットの分割後のデータをNALユニットフラグメント(NALf)として説明する。
 また、サブGOPメディアセグメントの構成データを分割して生成したHTTPパケットをNALユニットフラグメント対応HTTPパケットと呼ぶ。
 図16に示す例では、図16(a)に示すサブGOPメディアセグメントの構成データを4つのHTTPパケット(b1)~(b4)に分割した例を示している。
 (b1)~(b4)に示す4つのNALユニットフラグメント対応HTTPパケットの各々は、このHTTPパケットを図15に示すMACフレーム構成とした場合、MACヘッダ以外のデータ部のデータ量が1500バイト以下になるようなデータ量に設定する。
 図16の(b1)に示すNALユニットフラグメント対応HTTPパケットは、(a)に示すサブGOPメディアセグメントのメタデータ領域、すなわち、msdh(stype)、sidx、moof、これらのメタデータを格納したHTTPパケットである。すなわちメタデータ格納型NALユニットフラグメント対応HTTPパケットである。
 また、図16(b2)~(b4)に示すNALユニットフラグメント対応HTTPパケットは、(a)に示すサブGOPメディアセグメントのメディアデータ(mdat)領域のNALユニットを分割して生成したNALフラグメント(NALf)を格納したHTTPパケットである。すなわちメディアデータ格納型NALユニットフラグメント対応HTTPパケットである。
 なお、図16(a)に示すサブGOPメディアセグメントに格納されたNALユニットは1つのみであるが、サブGOPメディアセグメントに格納されたNALユニットは図16(a)に示すように1つのNALユニットである場合と、2つ以上の複数のNALユニットである場合がある。NALユニットフラグメントの構成データは、1つのNALユニットのみに限らず、複数のNALユニットに跨ったデータとしてもよい。例えば先行するNALユニットの後半部分と、後続のNALユニットの先頭部分をあわせて1つのNALユニットフラグメントを設定するといった構成も可能である。
 送信装置20は、このように1つのサブGOPメディアセグメントを分割して複数のHTTPパケットを生成して、これらのHTTPパケットからさらにIPパケットを生成し、順次送信する。
 しかし、このように本来の1つのNALユニットやその属性情報が分割されて配信されると、受信装置30側で復号、再生処理を行うためには、NALユニットとその属性情報を再構築する必要がある。
 このために必要となる情報を付加情報としてHTTPヘッダに記録する。
 図16(b1)に示すメタデータ格納型NALユニットフラグメント対応HTTPパケットのHTTPヘッダには、以下の付加情報を記録する。
 *NALユニットフラグメントヘッダ[X-NALUFragmentSubSegmentHeader]
 *ムービーフラグメントシーケンス番号[X-MovieFragmentSequenceNumber]
 *アクセスポイント情報[X-SAP]
 NALユニットフラグメントヘッダは、そのHTTPパケットが、
 メタデータ格納型NALユニットフラグメント対応HTTPパケットであるか、
 メディアデータ格納型NALユニットフラグメント対応HTTPパケットであるか、
 を識別するための識別情報である。
 ムービーフラグメントシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号であり、サブGOPメディアセグメントに格納されたNALユニットの配列情報である。このシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号をそのままコピーして記録する。
 アクセスポイント情報は、このHTTPパケットの生成元となったサブGOPセグメント(図16(a)のサブGOPメディアセグメント)に格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
 受信装置は、このアクセスポイント情報(X-SAP)を参照することで、そのHTTPパケットが、ランダムアクセスポイントとなるNALユニットを含むサブGOPセグメントの構成データに基づいて生成されたデータであるか否かを即座に判別することができる。
 なお、この図16(b1)のメタデータ格納型NALユニットフラグメント対応HTTPパケットのHTTPヘッダに記録されたアクセスポイント情報(X-SAP)が、パケット生成元のサブGOPセグメントにアクセスポイントデータを含むことを示す場合、メタデータである[sidx]を参照することで、SAP、すなわちランダムアクセスポイントの符号化データの位置を取得することが可能となる。
 一方、図16(b2)~(b4)に示すメディアデータ格納型NALユニットフラグメント対応HTTPパケットのHTTPヘッダには、以下の付加情報を記録する。
 *ムービーフラグメントシーケンス番号[X-MovieFragmentSequenceNumber]
 *NALユニット内位置識別情報[X-NALUFragmentIndicator]
 *アクセスポイント情報[X-SAP]
 ムービーフラグメントシーケンス番号は、上述したように、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号であり、サブGOPメディアセグメントに格納されたNALユニットの配列情報である。このシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号をそのままコピーして記録する。
 NALユニット内位置識別情報は、パケットに格納したNALユニットフラグメント(NALf)が、分割前のNALユニットのどの位置に対応するフラグメントであるかを示す情報である。
 NALユニット内位置識別情報=X-StartNALUFragmentSubSegmentであるパケットは、分割前のNALユニットの先頭領域のNALユニットフラグメント(NALf)をメディアデータ(mdat)として格納したパケットである。
 NALユニット内位置識別情報=X-MiddleNALUFragmentSubSegmentであるパケットは、分割前のNALユニットの中間領域のNALユニットフラグメント(NALf)をメディアデータ(mdat)として格納したパケットである。
 NALユニット内位置識別情報=X-EndNALUFragmentSubSegmentであるパケットは、分割前のNALユニットの末尾領域のNALユニットフラグメント(NALf)をメディアデータ(mdat)として格納したパケットである。
 なお、1つのサブGOPメディアセグメントに格納されたNALユニットが、4つ以上のメディアデータ格納型NALユニットフラグメント対応HTTPパケットに分割された場合、NALユニット内位置識別情報=X-MiddleNALUFragmentSubSegmentを設定した複数のパケットが生成されることになる。これらのパケットに格納されるメディアデータ(mdat)のNALユニットフラグメント(NALf)の配列は、HTTPヘッダ以外のパケットヘッダ情報によって判別できる。
 例えばHTTPパケットを格納するLCTパケットのLCTヘッダに記録されるパケットシーケンス番号を参照することで判別可能である。なお、具体的な送信パケットの構成、およびLCTヘッダ構成については、後述する。
 従って、例えばHTTPパケットをLCTパケットに格納して送信する構成では、HTTPヘッダに設定するNALユニット内位置識別情報は、位置が先頭領域のデータを格納したパケットのみを識別する設定としてもよい。すなわち、NALユニット内位置識別情報=X-StartNALUFragmentSubSegmentのみを記録し、この後に続くデータは、LCTヘッダのシーケンス番号を参照して配列する構成としてもよい。
 アクセスポイント情報は、このHTTPパケットの生成元となったサブGOPセグメント(図16(a)のサブGOPメディアセグメント)に格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
 受信装置は、このアクセスポイント情報(X-SAP)を参照することで、そのHTTPパケットが、ランダムアクセスポイントとなるNALユニットを含むサブGOPセグメントの構成データに基づいて生成されたデータであるか否かを即座に判別することができる。
 図17に、メタデータ格納型NALユニットフラグメント対応HTTPパケットの構成とHTTPヘッダのデータ構成例を示す。
 図17に示すようにHTTPヘッダには、例えば以下のHTTPヘッダ情報が記録される。
 「・・・
 HTTP/1.1 206 Partial Content
 Date: Fri, 04 Oct 2013 11:14:20 GMT
 Content-type: application/mp4
 X-NALUFragmentSubSegmentHeader
 X-MovieFragmentSequenceNumber:234567
 X-SAP
  ・・・」
 上記のHTTPヘッダ情報中、
 NALユニットフラグメントヘッダは、
 「X-NALUFragmentSubSegmentHeader」
 である。
 このNALユニットフラグメントヘッダは、このHTTPパケットが、メタデータ格納型NALユニットフラグメント対応HTTPパケットであることを示す情報として記録される。
 また、上記のHTTPヘッダ情報中、
 ムービーフラグメントシーケンス番号は、
 「X-MovieFragmentSequenceNumber」
 である。
 このムービーフラグメントシーケンス番号は、上述したように、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号であり、サブGOPメディアセグメントに格納されたNALユニットの配列情報である。このシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号をそのままコピーして記録する。
 また、上記のHTTPヘッダ情報中、
 アクセスポイント情報は、
 「X-SAP」
 である。
 このアクセスポイント情報は、このHTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
 次に、図18を参照して、メディアデータを格納するメディアデータ格納型NALユニットフラグメント対応HTTPパケットの構成とHTTPヘッダのデータ構成例について説明する。
 図18に示すようにHTTPヘッダには、例えば以下のHTTPヘッダ情報が記録される。
 「・・・
 HTTP/1.1 206 Partial Content
 Date: Fri, 04 Oct 2013 11:14:20 GMT
 Content-type: application/mp4
 X-StartOfGOP
 X-MovieFragmentSequenceNumber:234567
 X-StartNALUFragmentSubSegment
 X-SAP
  ・・・」
 上記のHTTPヘッダ情報中、
 GOP内位識別情報は、
 「X-StartOfGOP」
 である。このGOP内位識別情報は、HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPのどの位置にあるかを示すデータである。
 先頭領域の場合は、「X-StartOfGOP」、
 中間領域の場合は、「X-MiddleOfGOP」、
 末尾領域の場合は、「X-EndOfGOP」、
 HTTPヘッダにはこれらのいずれかのデータがGOP内位識別情報として記録される。
 また、上記のHTTPヘッダ情報中、
 ムービーフラグメントシーケンス番号は、
 「X-MovieFragmentSequenceNumber」
 である。
 このムービーフラグメントシーケンス番号は、上述したように、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号であり、サブGOPメディアセグメントに格納されたNALユニットの配列情報である。このシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号をそのままコピーして記録する。
 また、上記のHTTPヘッダ情報中、
 NALユニット内位置識別情報は、
 「X-StartNALUFragmentSubSegment」
 である。
 このNALユニット内位置識別情報は、パケットに格納したNALユニットフラグメント(NALf)が、分割前のNALユニットのどの位置に対応するフラグメントであるかを示す情報である。
 NALユニット内位置識別情報=X-StartNALUFragmentSubSegmentであるパケットは、分割前のNALユニットの先頭領域のNALユニットフラグメント(NALf)をメディアデータ(mdat)として格納したパケットである。
 NALユニット内位置識別情報=X-MiddleNALUFragmentSubSegmentであるパケットは、分割前のNALユニットの中間領域のNALユニットフラグメント(NALf)をメディアデータ(mdat)として格納したパケットである。
 NALユニット内位置識別情報=X-EndNALUFragmentSubSegmentであるパケットは、分割前のNALユニットの末尾領域のNALユニットフラグメント(NALf)をメディアデータ(mdat)として格納したパケットである。
 また、上記のHTTPヘッダ情報中、
 アクセスポイント情報は、
 「X-SAP」
 である。
 このアクセスポイント情報は、このHTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
  [9.処理優先度情報として従属データ数をパケット付加情報とした構成例について]
 上述したアクセスポイント情報(X-SAP)は、ランダムアクセス可能なデータの有無をパケット単位で識別可能とする情報である。受信装置側では、各パケットのアクセスポイント情報(X-SAP)を参照して、ランダムアクセス可能なデータの格納されたパケットを選別することが可能となる。受信装置は、例えばランダムアクセス可能なデータの格納されたパケットをを優先処理することで、ランダムアクセスポイントからのデータ再生処理を迅速に行うことが可能となる。
 以下に説明する実施例は、上記のアクセスポイント情報(X-SAP)に加えて、さらに異なる処理優先度情報である従属ファイル数(X-DependencyCounter)を各パケットに設定して通信を行う実施例である。
 以下、図19、図20を参照して従属ファイル数(X-DependencyCounter)を各通信パケットに設定した実施例について説明する。
 図19には、図5~図8を参照して説明したと同様のサブGOPメディアセグメントHTTPパケットのデータ格納構成を示している。
 なお、図19に示す例は、アクセスポイント情報(X-SAP)は、HTTPパケットに格納された符号化データにランダムアクセスポイントとなるデータが含まれる場合にのみHTTPヘッダに記録する構成とした例である。HTTPパケットに格納された符号化データにランダムアクセスポイントとなるデータが含まれない場合は、HTTPヘッダにアクセスポイント情報(X-SAP)を記録しない。
 図19(b1)に示すパケットのみが、ランダムアクセスポイントとなるデータが含まれるパケットであり、HTTPヘッダにアクセスポイント情報(X-SAP)を記録する。
 図19(b2)~(b6)に示すパケットは、ランダムアクセスポイントとなるデータが含まれないパケットであり、HTTPヘッダにアクセスポイント情報(X-SAP)を記録しない。
 図19に示す例は、このアクセスポイント情報(X-SAP)に加えて、さらに異なる処理優先度情報として、従属ファイル数(X-DependencyCounter)を各パケットのHTTPヘッダに記録した例である。
 受信装置側での符号化データの復号、再生処理の効率化のために利用可能な優先度情報として、従属ファイル数(X-DependencyCounter)を各通信パケットに設定する。
 図19(b1)~(b6)に示すように、各HTTPパケットのHTTPヘッダに従属ファイル数(X-DependencyCounter)を記録する。
 従属ファイル数とは、そのパケットに格納したNALユニットを参照して復号処理を行なう必要のある後続パケットのNALユニットの数を示す情報である。
 例えばMP4符号化データとして生成するNALユニットには、NALユニットの復号処理を行なう場合、他のNALユニットのデータを参照する必要が発生するユニットが存在する。
 復号時に参照が必要となるNALユニットの数は一律ではなく、0,1,2、3、・・・等、様々な値となる。
 なお、あるNALユニットの復号時に参照が必要となるNALユニットが存在する場合、その参照対象となるNALユニットを先行して復号を行う必要がある。
 あるパケットのHTTPヘッダに記録される「従属ファイル数」は、そのパケットに格納されたNALユニットの復号が終了しないと、復号できない他のNALユニットをの数に相当する。
 MPEG符号化では、他のピクチャの参照を行うことなく復号可能なIピクチャや、他のピクチャの参照が必要となるPピクチャ、Bピクチャが存在する。これと同様、NALユニットについても、各NALユニットの復号において、他のNALユニットの参照が必要となるNALユニットと、必要でないNALユニットが存在する。
 なお、参照対象となるNALユニットは、先行するNALユニットの場合や、後続のNALユニットである場合、あるいは、先行NALユニットと後続NALユニットの両者である場合など、様々な設定がある。
 図19(b1)~(b6)に示すHTTPパケットのHTTPヘッダに記録される従属ファイル数(X-DependencyCounter)は、そのパケットに格納したNALユニットを参照して復号処理を行なう必要のある後続パケットのNALユニットの数を示す情報である。
 図19には、図5~図8を参照して説明したと同様のサブGOPメディアセグメントHTTPパケットのデータ格納構成を示している。
 ただし、図19に示す各HTTPパケットには、1つのNALユニットのみが格納される。
 図19には(b1)~(b6)の6つのサブGOPメディアセグメントHTTPパケットを示している。これらのHTTPパケットには、いずれも1つのNALユニットが格納される。
 これら(b1)~(b6)の6つのサブGOPメディアセグメントHTTPパケットに格納された6つのNALユニットは、図19(a)に示すように1つのGOPデータを構成するNALユニットである。
 このようにGOPを構成するNALユニットを1つずつ格納したサブGOPメディアセグメントHTTPパケットのHTTPヘッダに上述した「アクセスポイント情報[X-SAP]」に加えて、従属ファイル数(X-DependencyCounter)を記録する。
 例えば図19(b1)に示すサブGOPメディアセグメントHTTPパケットのHTTPヘッダには、従属ファイル数(X-DependencyCounter)として[5]が記録されている。
 これは、この(b1)のHTTPパケットに格納されたNALユニットが、後続のHTTPパケットに格納された5つのNALユニットの参照対象であることを示している。
 すなわち、後続のパケット(b2)~(b6)に含まれる5つのNALユニットの復号処理に際して、このパケット(b1)に格納されたNALユニットの参照が必要となることを意味する。
 図に示すNALユニット間を接続する曲線矢印は、NALユニットの復号時の参照関係を示している。(b1)のパケットのNALユニットは、(b2)のパケットのNALユニットの参照対象であることを示している。
 (b2)のパケットのNALユニットは、(b3)と(b5)に格納された2つのNALユニットの復号処理に際して参照されるNALユニットである。
 また、(b3)のパケットのNALユニットは、(b4)に格納されたNALユニットの復号処理に際して参照されるNALユニットである。
 さらに、(b5)のパケットのNALユニットは、(b6)に格納されたNALユニットの復号処理に際して参照されるNALユニットである。
 これらの参照関係が、各NALユニットの復号処理時の従属関係を示す。
 (b2)~(b6)のパケットに格納された5つのNALユニットは、(b1)のパケットのNALユニットの復号が完了しないと、復号することができない。
 従って、(b1)のパケットのNALユニットの従属ファイル数(X-DependencyCounter)は[5]であり、(b1)のパケットのHTTPヘッダには、
 従属ファイル数(X-DependencyCounter)=5が記録される。
 また、(b3)~(b6)のパケットに格納された4つのNALユニットは、(b2)のパケットのNALユニットの復号が完了しないと、復号することができない。
 従って、(b2)のパケットのNALユニットの従属ファイル数(X-DependencyCounter)は[4]であり、(b2)のパケットのHTTPヘッダには、
 従属ファイル数(X-DependencyCounter)=4が記録される。
 また、(b4)のパケットに格納された1つのNALユニットは、(b3)のパケットのNALユニットの復号が完了しないと、復号することができない。
 従って、(b3)のパケットのNALユニットの従属ファイル数(X-DependencyCounter)は[1]であり、(b3)のパケットのHTTPヘッダには、
 従属ファイル数(X-DependencyCounter)=1が記録される。
 また、(b4)のパケットに格納されたNALユニットは、後続のNALユニットの復号時に参照対象とされていない。すなわち、(b4)のパケットのNALユニットの復号が完了しないと、復号することができない後続のNALユニットはない。
 従って、(b4)のパケットのNALユニットの従属ファイル数(X-DependencyCounter)は[0]であり、(b4)のパケットのHTTPヘッダには、
 従属ファイル数(X-DependencyCounter)=0が記録される。なお、従属ファイル=0の場合は、従属ファイル数(X-DependencyCounter)自体をHTTPヘッダに記録しない設定としてもよい。
 また、(b6)のパケットに格納された1つのNALユニットは、(b5)のパケットのNALユニットの復号が完了しないと、復号することができない。
 従って、(b5)のパケットのNALユニットの従属ファイル数(X-DependencyCounter)は[1]であり、(b5)のパケットのHTTPヘッダには、
 従属ファイル数(X-DependencyCounter)=1が記録される。
 また、(b6)のパケットに格納されたNALユニットは、後続のNALユニットの復号時に参照対象とされていない。すなわち、(b6)のパケットのNALユニットの復号が完了しないと、復号することができない後続のNALユニットはない。
 従って、(b6)のパケットのNALユニットの従属ファイル数(X-DependencyCounter)は[0]であり、(b6)のパケットのHTTPヘッダには、
 従属ファイル数(X-DependencyCounter)=0が記録される。なお、従属ファイル=0の場合は、従属ファイル数(X-DependencyCounter)自体をHTTPヘッダに記録しない設定としてもよい。
 図19に示すように、従属ファイル数(X-DependencyCounter)を記録したHTTPヘッダを有するHTTPパケットを受信した受信装置は、受信パケットのHTTPヘッダの従属ファイル数を参照することで、そのHTTPパケットに格納されたNALユニットの参照が必要となる後続NALユニット数を判別することができる。
 受信装置は、このパケット単位で記録された従属ファイル数に応じて、各パケットの処理順序を決定することが可能となる。
 例えば、従属ファイル数の設定値が大きいパケットを優先して処理することで、各パケットの復号処理をスムーズに実行することができる。
 図19の右端には、(b1)のパケットの処理の後に、パケット(b2)~(b6)を受信した場合の処理順番(1)~(5)の設定例を示している。
 (1)(b2)のパケット
 (2)(b3)のパケット
 (3)(b5)のパケット
 (4)(b4)のパケット
 (5)(b6)のパケット
 例えば、このように、従属ファイル数の設定値が大きいパケットを優先して処理することで、各パケットの復号処理をスムーズに実行することができる。
 なお、図19に示す例では、各HTTPパケットにNALユニットを1つのみ格納した例を示しているが、HTTPパケットに格納するNALユニットは複数に設定してもよい。ただし、この場合は、パケットに格納したNALユニットの各々に対する従属ファイル数をHTTPヘッダに記録する設定とする。
 また、前述したNALユニットをさらに細分化したNALユニットフラグメントを格納したパケットについても、同様の従属ファイル数をHTTPヘッダに記録する設定としてもよい。
 図20に、サブGOPメディアセグメントHTTPパケットの構成とHTTPヘッダのデータ構成例を示す。
 図20に示すようにHTTPヘッダには、例えば以下の付加情報が記録される。
 「・・・
 HTTP/1.1 206 Partial Content
 Date: Fri, 04 Oct 2013 11:14:20 GMT
 Content-type: application/mp4
 Content-Location: http://a.com/x.mp4
 X-StartOfGOP
 X-SAP
 X-DependencyCounter:5
  ・・・」
 上記のHTTPヘッダ情報中、
 「Content-Location: http://a.com/x.mp4」は、
 セグメント識別子であり、HTTPパケットに格納されたメディアデータ(mdat)の属するGOPの識別情報を含むものとなる。具体的にはそのGOPデータの位置情報(アクセス情報)である。
 上記のHTTPヘッダ情報中、
 「X-StartOfGOP」は、
 GOP内位識別情報であり、HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPのどの位置にあるかを示すデータである。
 HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPの、
 先頭領域の場合は、「X-StartOfGOP」、
 中間領域の場合は、「X-MiddleOfGOP」、
 末尾領域の場合は、「X-EndOfGOP」、
 HTTPヘッダにはこれらのいずれかのデータがGOP内位識別情報として記録される。
 上記のHTTPヘッダ情報中、
 「X-SAP」は、
 アクセスポイント情報であり、このHTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
 上記のHTTPヘッダ情報中、
 「X-DependencyCounter」は、
 従属ファイル数であり、そのHTTPパケットに格納したNALユニットを参照して復号処理を行なう必要のある後続パケットのNALユニットの数を示す情報である。
 このようなHTTPヘッダを設定したHTTPパケットを受信した受信装置は、受信パケットのHTTPヘッダの従属ファイル数を参照することで、そのHTTPパケットに格納されたNALユニットの参照が必要となる後続NALユニット数を判別することができる。受信装置は、このパケット単位で記録された従属ファイル数に応じて、各パケットの処理順序を決定することが可能となる。
 例えば、従属ファイル数の設定値が大きいパケットを優先して処理することで、各パケットの復号処理をスムーズに実行することができる。
  [10.処理優先度情報として優先度情報をパケット付加情報とした構成例について]
 次に、上述したアクセスポイント情報(X-SAP)に加え、各アクセスポイント情報(X-SAP)相互の処理優先度情報を示す優先度情報をパケット付加情報とした構成例について説明する。
 以下に説明する実施例は、ランダムアクセス可能なデータの格納されたパケットを示すアクセスポイント情報(X-SAP)が設定された複数のパケット間の処理優先度を示す情報をパケット付加情報とした設定した実施例である。
 例えば様々な視点からの画像(マルチビュー画像)を格納したパケットを送信して再生する場合、受信装置は、特定視点からの画像のみを優先して再生するといった処理が可能となる。
 特定視点とは、例えばメインとなるビューポイントのメインビューポイント画像である。パケットに格納される画像データは、このメインビューポイント画像のみならず、その他のサブ視点からの画像であるサブビューポイント画像も含まれる。
 このような複数視点画像(マルチビュー画像)を送信する場合、例えば、
 パケットAには、メインビューポイントの画像データ、
 パケットBには、第1サブビューポイントの画像データ
 パケットCには、第2サブビューポイントの画像データ、
 このように異なるビューポイントの画像データがそれぞれ格納される。
 受信装置は、これらの各ビューポイントの画像を格納したパケットから、特定のビューポイントの画像を格納したパケットのみを選択して再生することが可能となる。
 例えばメインビューポイントの画像データを格納したパケットに優先順位情報(priority)=1を設定する。
 第1サブビューポイントの画像データを格納したパケットに優先順位情報(priority)=2を設定する。
 第2サブビューポイントの画像データを格納したパケットに優先順位情報(priority)=3を設定する。
 このような設定を行うことで、受信装置は、同一の優先順位情報(priority)が設定されたパケットを選択して処理を行なうことで、特定のビューポイントの画像のみを選択して復号、再生することが可能となる。
 例えばメインビューポイントの画像データを格納したパケットに優先順位情報(priority)=1を設定する。
 第1サブビューポイントの画像データを格納したパケットに優先順位情報(priority)=2を設定する。
 第2サブビューポイントの画像データを格納したパケットに優先順位情報(priority)=3を設定する。
 このような設定を行うことで、受信装置は、同一の優先順位情報(priority)が設定されたパケットを選択して処理を行なうことで、特定のビューポイントの画像のみを選択して復号、再生することが可能となる。
 あるいは、異なる符号化画像データを格納したパケットを送信する場合、例えば、
 (a)ベースレイヤ符号化画像格納パケット、
 (b)エンハンスメントレイヤ符号化画像格納パケット、
 これらの各符号化画像データを個別のパケットに格納して送信する。
 なお、ベースレイヤ符号化画像のみを復号して再生すれば低画質の画像再生が可能であるが、エンハンスメントレイヤ符号化画像を併せて利用することで高画質の画像データ再生が可能となる。
 このような設定の符号化画像データを個別のパケットに格納して送信する場合、以下のように優先度を設定する。
 ベースレイヤ符号化画像格納パケットの優先度=1、
 エンハンスメントレイヤ符号化画像の優先度=2、
 とする。
 受信装置は、例えば優先度=1の設定されたベースレイヤ符号化画像格納パケットのデータを優先して処理する。このような処理によって、パケット遅延等により全てのパケットが所定時間内に受信できない場合でも、低画質の画像の再生が可能となる場合があり、再生エラーを低減できる。
 以下に説明する実施例は、先に説明したアクセスポイント情報(X-SAP)に加えて、アクセスポイント情報(X-SAP)が設定された複数のパケット間の処理優先度を示す優先度情報(X-Priority)をパケット付加情報として設定した実施例である。
 本実施例について、図21、図22を参照して説明する。
 図21は、本実施例において送受信されるHTTPパケットの構成例を示している。
 図21は、図5~図8を参照して説明したと同様のサブGOPメディアセグメントHTTPパケットのデータ格納構成を示す図である。
 なお、図21(b1)~(b6)に示す各HTTPパケットは、図5~図8を参照して説明したと同様、GOP構成データであるNALユニットを1つ以上格納したサブGOPメディアセグメントHTTPパケットである。
 なお、図21に示す例では、図21(b1)~(b6)に示すHTTPパケットの全てが、HTTPパケットに格納された符号化データにランダムアクセスポイントとなるデータが含まれる。
 これらの各パケットは、例えば、先に説明したマルチビューポイント対応の画像データを格納し、パケットの各々には特定のビューポイントからの撮影画像に対応するNALユニットが格納される。
 図21(b1)~(b6)に示す各HTTPパケットのHTTPヘッダには、格納したNALユニットにランダムアクセスポイントを含むことを示すアクセスポイント情報(X-SAP)が記録されている。
 図21(b1)~(b6)に示す各HTTPパケットのHTTPヘッダには、このアクセスポイント情報(X-SAP)に加えて、さらに、アクセスポイント情報(X-SAP)の設定されたパケット相互の処理優先度情報を示す優先度情報(X-Priority)がパケット付加情報とした記録されている。
 優先度情報(X-Priority)は、複数のパケット間の処理優先度を示す情報である。
 具体的には、前述したように、例えば、様々な視点からの画像(マルチビュー画像)を格納したパケットを送信する場合、以下のような優先度情報(X-Priority)が記録される。
 メインビューポイントの画像データ(NAL)を格納したパケットについては、優先度情報(X-Priority)=1
 第1サブビューポイントの画像データ(NAL)を格納したパケットについては、優先度情報(X-Priority)=2
 第2サブビューポイントの画像データ(NAL)を格納したパケットについては、優先度情報(X-Priority)=3
 例えば、このような優先度情報(X-Priority)が、各HTTPパケットのHTTPヘッダに記録される。
 受信装置は、受信パケットのHTTPヘッダに記録された優先度情報(X-Priority)を参照するのみで、各パケットの処理優先度を確認することが可能となる。例えば処理優先度の最高位(1)のパケットのみを選択して処理を行なうことで、メインビューポイントの画像データの復号、再生を行なうことが可能となる。
 図21の右端には、パケット(b1)~(b6)を受信した場合の処理順番(1)~(6)の設定例を示している。
 (1)(b1)のパケット
 (2)(b2)のパケット
 (3)(b5)のパケット
 (4)(b3)のパケット
 (5)(b4)のパケット
 (6)(b6)のパケット
 例えば、この(1)~(6)の順番で処理を行なう。
 処理順(1)~(3)のパケット、すなわち、(b1)、(b2)、(b5)のパケットは優先度情報(X-Priority)=1の設定されたパケットであり、例えばメインビューポイントの撮影画像を格納したパケットである。
 一方、処理順(4)~(6)のパケット、すなわち、(b3)、(b4)、(b6)のパケットは優先度情報(X-Priority)=2の設定されたパケットであり、例えばサブビューポイントの撮影画像を格納したパケットである。
 このように、まず、メインビューポイントの画像を復号、再生し、その後、サブビューポイントの画像を復号、再生するといった処理が可能になる。
 なお、図21に示す例では、各HTTPパケットにNALユニットを複数格納した例のみを示しているが、パケット格納データは1つのNALユニット、あるいは、前述したNALユニットをさらに細分化したNALユニットフラグメントとしてもよい。これらの様々な態様のパケットに対して、優先度情報をHTTPヘッダに記録して利用することが可能である。
 図22に、サブGOPメディアセグメントHTTPパケットの構成とHTTPヘッダのデータ構成例を示す。
 図22に示すようにHTTPヘッダには、例えば以下の付加情報が記録される。
 「・・・
 HTTP/1.1 206 Partial Content
 Date: Fri, 04 Oct 2013 11:14:20 GMT
 Content-type: application/mp4
 Content-Location: http://a.com/x.mp4
 X-StartOfGOP
 X-SAP
 X-Priority:2
  ・・・」
 上記のHTTPヘッダ情報中、
 「Content-Location: http://a.com/x.mp4」は、
 セグメント識別子であり、HTTPパケットに格納されたメディアデータ(mdat)の属するGOPの識別情報を含むものとなる。具体的にはそのGOPデータの位置情報(アクセス情報)である。
 上記のHTTPヘッダ情報中、
 「X-StartOfGOP」は、
 GOP内位識別情報であり、HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPのどの位置にあるかを示すデータである。
 HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPの、
 先頭領域の場合は、「X-StartOfGOP」、
 中間領域の場合は、「X-MiddleOfGOP」、
 末尾領域の場合は、「X-EndOfGOP」、
 HTTPヘッダにはこれらのいずれかのデータがGOP内位識別情報として記録される。
 上記のHTTPヘッダ情報中、
 「X-SAP」は、
 アクセスポイント情報であり、このHTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
 上記のHTTPヘッダ情報中、
 「X-Priority」は、
 アクセスポイント情報(X-SAP)の設定されたパケット相互の処理優先度情報を示す優先度情報である。
 このようなHTTPヘッダを設定したHTTPパケットを受信した受信装置は、受信パケットのHTTPヘッダの優先度情報(X-Priority)を参照することで、パケット相互の処理優先度を判別することができる。
 受信装置は、このパケット単位で記録された優先度情報(X-Priority)に応じて、各パケットの処理順序を決定することが可能となる。
  [11.送信装置と受信装置の処理シーケンスについて]
 次に、図23~図25に示すフローチャートを参照して送信装置と受信装置の実行する処理シーケンスについて説明する。
 まず、図23に示すフローチャートを参照して送信装置20の実行する処理シーケンスについて説明する。
 図23に示すフローは、図19~図20を参照して説明した従属ファイル数情報(X-DependencyCounter)を設定したHTTPパケット、または図21~図22を参照して説明した優先度情報(X-Priority)を設定したHTTPパケットの生成と送信処理のシーケンスを説明するフローである。
 この処理は、送信装置20のデータ処理部において実行する。データ処理部は、プログラム実行機能を有するCPUを備え、例えば記憶部に格納されたプログラムに従って、図23に示すフローに従った処理を実行する。
 以下、各ステップの処理について、順次、説明する。
  (ステップS101)
 まず、送信装置のデータ処理部は、送信対象となるコンテンツの符号化処理を実行する。例えばMP4ファイルフォーマットに従った符号化処理を実行する。
  (ステップS102)
 次に、送信装置は、サブGOPメディアセグメント対応のメディアデータ(mdat)を生成する。この処理は、先に図5他を参照して説明したサブGOPメディアセグメントに格納するメディアデータ(mdat)を生成する処理である。MP4符号化データであるGOPデータの一部、すなわちGOPを構成する1つ以上のNALユニットを構成データとするメディアデータ(mdat)を生成する。
  (ステップS103)
 次に、送信装置は、ステップS102で生成したメディアデータ(mdat)に対応する属性情報であるメタデータ(moof)を生成する。
  (ステップS104)
 次に、送信装置は、サブGOPメディアセグメントに対応するメタデータであるmsdh、sidxを生成する。先に図5他を参照して説明したサブGOPメディアセグメントに格納するメタデータである。
  (ステップS105)
 次に、送信装置は、サブGOPメディアセグメントHTTPパケットに従属ファイル数情報(X-DependencyCounter)、または、優先度情報(X-Priority)、の少なくともいずれかの付加情報を記録したHTTPヘッダを生成する。
 例えば図19、図20を参照して説明した従属ファイル数情報(X-DependencyCounter)を記録したHTTPヘッダ、あるいは、図21、図22を参照して説明した優先度情報(X-Priority)を記録したHTTPヘッダである。
 なお、HTTPヘッダには、これらの付加情報の他、
 セグメント識別情報(Content-type: application/mp4)、
 GOP内位識別情報(X-StartOfGOP等)、
 アクセスポイント情報(X-SAP)
 これらの付加情報も記録する。
 セグメント識別情報は、HTTPパケットに格納されたメディアデータ(mdat)の属するGOPの識別情報を含み、具体的にはそのGOPデータの位置情報(アクセス情報)である。
 GOP内位識別情報(X-StartOfGOP等)は、HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPのどの位置にあるかを示すデータである。
 HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPの、
 先頭領域の場合は、「X-StartOfGOP」、
 中間領域の場合は、「X-MiddleOfGOP」、
 末尾領域の場合は、「X-EndOfGOP」、
 HTTPヘッダにはこれらのいずれかのデータがGOP内位識別情報として記録される。
 アクセスポイント情報(X-SAP)は、このHTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
 なお、これらの付加情報の他、送信パケットの形態によっては、例えばその他の付加情報が記録されている場合がある。
 例えば、パケット格納データが、NALユニットフラグメントである場合には、
 NALユニットフラグメントヘッダ、
  NALユニット内位置識別情報、
 これらの付加情報を記録する。
  (ステップS106)
 次に、送信装置は、ステップS106においてステップS105で生成したHTTPヘッダを設定したHTTTPパケットを生成する。
 すなわち、従属ファイル数情報(X-DependencyCounter)、または、優先度情報(X-Priority)の少なくともいずれかの付加情報を記録したHTTPヘッダを有するHTTPパケットを生成する。
  (ステップS107~S108)
 次に、送信装置は、生成したHTTPパケットに対して、LCTヘッダ、UDPヘッダ、IPヘッダを設定してIPパケットを生成して送信する。送信処理は、インターネット等の通信ネットワークまたは放送波のいずれか、または両通信路を介して実行する。
 なお、図23に示すフローは、メディアセグメントに基づいて生成するパケットの生成と送信処理シーケンスを説明するフローである。初期化セグメントに基づくパケット生成に際しては、初期化セグメントの構成データの生成の後、HTTPヘッダに初期化セグメントであることを示すセグメント識別子を記録する処理などを行なうことになる。
 次に、図24、図25に示すフローチャートを参照して受信装置において実行するパケット受信からコンテンツ再生に至るまでの処理シーケンスについて説明する。
 この処理は、受信装置30のデータ処理部において実行する。データ処理部は、プログラム実行機能を有するCPUを備え、例えば記憶部に格納されたプログラムに従って、図24~図25に示すフローに従った処理を実行する。
 以下、各ステップの処理について、順次、説明する。
  (ステップS201)
 まず、ステップS201において、受信装置は、ユーザによる再生コンテンツの指定情報を入力する。例えば予め送信装置から受信している番組表等のコンテンツ一覧リストを表示部に表示し、この表示情報に対するユーザ入力情報に基づいて再生コンテンツを決定する。
  (ステップS202)
 次に受信装置は、再生対象として選択された選択コンテンツに対応する初期化セグメントを含むパケットを受信して初期化セグメントを取得する。
 なお、先に図9を参照して説明したように初期化セグメントを格納したHTTPパケットのHTTPヘッダには、セグメント識別情報が記録されており、この識別情報を参照することで初期化セグメントを格納したHTTPパケットであることが確認できる。
  (ステップS203)
 受信装置は、受信した初期化セグメントの格納データに従って受信装置の初期化処理を実行する。具体的には初期化セグメントに格納されたコーデック設定パラメータ等を取得し、取得パラメータに従ってコーデックの設定等を行う。
  (ステップS204)
 次に、受信装置は、ステップS201で選択した選択コンテンツに対応するサブGOPメディアセグメントを受信する。
  (ステップS205)
 次に、受信装置は、受信パケットのHTTPヘッダからパケットに格納されたデータの以下の属性情報を取得する。
 *GOP内位置識別情報
 *アクセスポイント情報
 *従属ファイル数情報
 *優先度情報
 なお、上記の付加情報は、ヘッダに設定されている場合とされていない場合があり、付加されている場合にのみ取得する。
 GOP内位識別情報は、HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPのどの位置にあるかを示すデータである。
 アクセスポイント情報「X-SAP」は、このHTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
 従属ファイル数(X-DependencyCounter)は、そのHTTPパケットに格納したNALユニットを参照して復号処理を行なう必要のある後続パケットのNALユニットの数を示す情報である。
 優先度情報(X-Priority)は、パケット相互の処理優先度情報である。
 なお、これらの付加情報の他、受信パケットの形態によっては、例えばその他の付加情報が記録されている場合がある。
 例えば、パケット格納データが、NALユニットフラグメントである場合には、
 NALユニットフラグメントヘッダ、
 NALユニット内位置識別情報、
 これらの付加情報が記録される。
 NALユニットフラグメントヘッダは、HTTPパケットがメタデータ格納型NALユニットフラグメント対応HTTPパケットであることを示す情報である。
 ムービーフラグメントシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号であり、サブGOPメディアセグメントに格納されたNALユニットの配列情報である。
 NALユニット内位置識別情報は、パケットに格納したNALユニットフラグメント(NALf)が、分割前のNALユニットのどの位置に対応するフラグメントであるかを示す情報である。
  (ステップS206)
 次に、受信装置は、ステップS206において、アクセスポイント情報(X-SAP)を適用した復号、再生を行なうか否かを判定する。
 例えば、ランダムアクセス再生処理などのコンテンツ途中からの再生処理などの特殊再生処理を実行するか否かを判定する。この判定処理はユーザの入力情報等に基づいて決定する。
 アクセスポイント情報(X-SAP)を適用した再生処理を実行する場合は、ステップS207に進む。アクセスポイント情報(X-SAP)を適用しない再生処理を実行する場合はステップS210に進む。
  (ステップS207)
 ステップS206において、ランダムアクセス再生処理などの特殊再生処理を実行すると判定した場合ステップS207に進む。ステップS207では、さらに、従属ファイル数情報、または優先度情報を利用したパケット選択による再生を実行するか否かを判定する。
 Yesの場合、ステップS209に進み、Noの場合ステップS208に進む。
  (ステップS208)
 ステップS208は、アクセスポイント情報(X-SAP)を適用した再生処理を実行する場合に行う処理である。
 パケットのHTTPヘッダに記録されたアクセスポイント情報[X-SAP]が、アクセスポイントありのデータを示すパケットを選択する。すなわち、HTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれることを示すパケットを復号対象として選択して、復号処理を実行して再生処理を行なう。
 この場合、GOP全体を揃えることなく復号再生することが可能となる。
 ステップS208の処理の後、ステップS215に進む。
  (ステップS209)
 ステップS209は、アクセスポイント情報(X-SAP)に加え、従属ファイル数情報、または優先度情報を適用した再生処理を行なう場合に実行するステップである。
 ステップS209では、HTTPヘッダから取得したアクセスポイント情報(X-SAP)に従ってアクセスポイントの含まれるNALユニットを優先選択し、さらに、HTTPヘッダから取得した従属ファイル数情報、または優先度情報に従って処理パケットの順番を決定して復号、再生処理を実行する。
  (ステップS210)
 ステップS206において、アクセスポイント情報(X-SAP)を適用しない再生処理を実行する場合はステップS210に進む。
 ステップS210では、さらに、従属ファイル数情報、または優先度情報を利用したパケット選択による再生を実行するか否かを判定する。
 Yesの場合、ステップS211に進み、Noの場合ステップS212に進む。
  (ステップS211)
 ステップS211は、従属ファイル数情報、または優先度情報を適用した再生処理を行なう場合に実行するステップである。
 ステップS211では、HTTPヘッダから取得した従属ファイル数情報、または優先度情報に従って処理パケットの順番を決定して復号、再生処理を実行する。
  (ステップS212)
 一方、ステップS206とステップS210における判定処理がNo、すなわち、アクセスポイント情報(X-SAP)、従属ファイル数情報、優先度情報のいずれも利用しない通常再生処理を実行すると判定した場合ステップS212に進む。ステップS212では、受信装置は、HTTPヘッダから取得した識別情報に従って、受信した複数のメディアデータ格納型NALユニットフラグメント対応HTTPパケットに格納されたNALユニットフラグメントを再配列し、GOP単位データ再構築する。
  (ステップS213~S214)
 次に、受信装置は、再構築したGOPデータに対する復号処理を実行し、復号データの再生処理を行なう。
  (ステップS215)
 次に、受信装置は、データ再生処理が終了したか否かを判定し、終了していない場合は、ステップS204に戻り、ステップS204以下の処理を繰り返し実行する。
 ステップS211において再生処理終了と判定した場合は処理を終了する。
 なお、例えばランダムアクセス再生等、特定の再生位置の画像のみを再生する場合には、メタデータ格納型NALユニットフラグメント対応HTTPパケットにランダムアクセスポイント情報であるsidxデータを参照し、sidxデータから算出される1以上のNALユニットフラグメント(NALf)のみを処理対象として処理を行なうことができる。すなわち例えばIピクチャに相当する符号化画像データのみを選択して、これを復号して再生する処理を実行する。
 この場合、GOP全体データを再配列する処理を行なうことなくランダムアクセスポイントのデータのみを選択して再生することが可能である。
  [12.拡張ヘッダに付加情報を記録した実施例について]
 上述した実施例では、
 従属ファイル数情報(X-DependencyCounter)、
 優先度情報(X-Priority)、
 これらの付加情報をHTTPパケットに設定した実施例について説明した。
 しかし、付加情報の記録先はHTTPヘッダに限らず、様々な記録先とすることが可能である。
 以下、拡張ヘッダに付加情報を記録した実施例について説明する。
 図27、図28を参照して、拡張ヘッダに付加情報を記録した実施例について説明する。
 図27、図28に示す例は、HTTPヘッダに後続するパケット領域に新たな拡張ヘッダを挿入し、この拡張ヘッダに付加情報を記録した例である。
 図27には、
 拡張ヘッダに記録する付加情報のリストを示しており、図28には、拡張ヘッダを有する3種類のHTTPパケットの例を示している。
 図28には、
 (1)初期化セグメントHTTPパケット、
 (2)メディアセグメントベースのメタデータ格納型NALユニットフラグメント対応HTTPパケット、
 (3)メディアセグメントベースのメディアデータ格納型NALユニットフラグメント対応HTTPパケット、
 これらの3種類のHTTPパケットの例を示している。
 各パケットのHTTPヘッダの次に拡張ヘッダを設定している。
 この拡張ヘッダに、図27に示すリストに従った付加情報を記録する。記録する付加情報の例について、図27を参照して説明する。図27に示すように付加情報は以下の情報から構成される。
 (a)セグメント識別情報(Initialization Segment Identifier)、
 (b)GOP内位置識別情報(Sub GOP Indicator)、
 (c)ムービーフラグメントシーケンス番号(Movie Fragment Sequence Number)、
 (d)NALユニットフラグメントヘッダ(NALU Fragment Sub Segment Header)、
 (e)NALユニット内位置識別情報(NALU Fragment Identifier)
 (f)アクセスポイント情報(SAPIndicator)
 (g)従属ファイル数情報(DependencyCounter)
 (h)優先度情報(Priority)
 例えば(a)セグメント識別情報は、8ビットデータとし、初期化セグメントの場合は1を設定し、その他のセグメントの場合は0を設定する。
 なお、メディアセグメントの場合、HTTPヘッダに記録されるコンテンツ位置情報(ContentLocation)をGOP単位データの位置情報に設定すれば、このコンテンツ位置情報を参照することで各GOPデータの区別が可能となる。
 (b)GOP内位置識別情報は、8ビットデータとして、例えば、ビット値を以下の設定とする。
 GOPの先頭位置のデータ(StartofGOP)=1
 GOPの中間位置のデータ(MiddleofGOP)=2
 GOPの末尾位置のデータ(EndofGOP)=3
 (c)ムービーフラグメントシーケンス番号は、32ビットデータとし、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号を記録する。サブGOPメディアセグメントに格納されたNALユニットの配列情報である。
 (d)NALユニットフラグメントヘッダは、8ビットデータとしテ、メタデータ格納型NALユニットフラグメント対応パケット=1、その他のパケット=0として記録する。
 (e)NALユニット内位置識別情報は、8ビットデータとして、パケットに格納したNALユニットフラグメント(NALf)が、分割前のNALユニットのどの位置に対応するフラグメントであるかを示す情報を記録する。
 分割前のNALユニットの先頭位置(StarNALUnitFragmentSubSegment)=1、
 分割前のNALユニットの中間位置(MiddleNALUnitFragmentSubSegment)=2、
 分割前のNALユニットの末尾位置(EndNALUnitFragmentSubSegment)=3、
 この設定で各ビット値を記録する。
 (f)アクセスポイント情報(SAPIndicator)は、HTTPヘッダの記録情報として説明した[X-SAP]と同様のデータであり、8ビットデータとする。パケットが、アクセスポイントを含むNALユニット格納セグメントから生成したパケットである場合は[1]、その他のパケットである場合は[0]を記録する。
 (g)従属ファイル数情報(DependencyCounter)は、そのHTTPパケットに格納したNALユニットを参照して復号処理を行なう必要のある後続パケットのNALユニットの数(従属ファイル数)を示す情報である。8ビットデータで、NALユニットの数(従属ファイル数)を示す数値を設定する。
 (h)優先度情報(Priority)は、アクセスポイント情報(X-SAP)の設定されたパケット相互の処理優先度情報を示す優先度情報である。8ビットデータの0~255により優先度を示す。例えば、値の小さい方を高優先度とする。
 図28には、
 (1)初期化セグメントHTTPパケット、
 (2)メディアセグメントベースのメタデータ格納型NALユニットフラグメント対応HTTPパケット、
 (3)メディアセグメントベースのメディアデータ格納型NALユニットフラグメント対応HTTPパケット、
 これらの3種類のHTTPパケットの拡張ヘッダに、図27に示す(a)~(f)の各付加情報を設定した例を示している。
 送信装置は、このような拡張ヘッダを設定して受信装置に送信する。一方、受信装置は、この拡張ヘッダのセグメント識別情報を参照して、パケットに格納されたセグメントが初期化セグメントを格納したHTTPパケットであるか、メタデータ格納型NALユニットフラグメント対応HTTPパケットであるか、メディアデータ格納型NALユニットフラグメント対応HTTPパケットであるかを判別する。
 さらに、受信装置は、パケットがメディアデータ格納型NALユニットフラグメント対応HTTPパケットであると識別した場合、拡張ヘッダのGOP内位置識別情報や、NALユニット内位置識別情報を参照することで、各NALユニットフラグメント(NALf)の再配列、さらにGOPの再構築を行うことが可能となる。
 さらに、アクセスポイント情報(SAPIndicator)を参照することで、パケットが、アクセスポイントを含むNALユニット格納セグメントから生成したパケットであるか否かを判定することができる。
 さらに、図28(3)に示すメディアセグメントベースのメディアデータ格納型NALユニットフラグメント対応HTTPパケットである場合には、(g))従属ファイル数情報(DependencyCounter)、または、(h)優先度情報(Priority)が設定される。
 (g)従属ファイル数情報(DependencyCounter)を参照することで、各パケットに格納したNALユニットを参照して復号処理を行なう必要のある後続パケットのNALユニットの数を判定することができる。
 また、(h)優先度情報(Priority)を参照することで、パケット相互の処理優先度情報を判定することができる。
  [13.LCTヘッダに付加情報を記録した実施例について]
 前述したように、マルチキャストやブロードキャスト(MC/BC)型のストリーミングに適用可能なトランスポートプロトコルには、例えばRTP(Real-time Transport Protocol)やFLUTE(File Delivery over Uni-directional Transport)がある。
 FLUTEプロトコルに従って設定されるパケットには、FLUTEプロトコルに従ったヘッダ情報であるLCTヘッダが設定される。
 すなわち、先に図10を参照して説明したIPパケット内のLCTヘッダである。
 以下、このLCTヘッダに、NALユニットフラグメント(NALf)の再配列や、GOP再構成処理に適用する情報等、受信装置側における処理をスムーズに実行させるための付加情報を記録した実施例について説明する。
 FLUTEプロトコルに従って設定されるLCTヘッダの構成例を図29に示す。
 LCTヘッダに設定される主なデータフィールドには、例えば以下のフィールドがある。
 CCI(Congestion Control Information):各フィールドの長さや輻輳制御情報等を記録するフィールドである。
 TSI(Transport Session Identifier):パケット転送のセッション情報を記録するフィールドである。
 TOI(Transport Object Identifier):パケット転送のシーケンス等を記録するフィールドである。
 ヘッダ拡張部(Header Extensions):様々な拡張データを記録することができるフィールドである。
 先に、図7を参照して説明したように、GOP内位置情報の代用として、上記のTOIを参照して、データ送信順を確認することが可能である。
 前述したように、例えばHTTPヘッダ等に記録する付加情報であるGOP内位置情報について、先頭位置を示すX-StartofGOPのみを記録し、その他のGOP内データの配列順は、LCTヘッダ内のTOIを参照してパケットシーケンスを取得し、パケットシーケンスに従ってGOP内のNALユニットを正しい順に配列する構成としてもよい。
 同様に、NALユニットフラグメント(NALf)の配列情報についても上記のTOIを参照して、データ送信順を確認して再配列を行うことが可能である。例えばHTTPヘッダ等に記録する付加情報であるNALユニット内位置識別情報を、先頭位置のNALユニットフラグメントを格納したパケットのみ、HTTPヘッダに記録する。後続のNALユニットフラグメント配列は、LCTヘッダのTOIからパケットシーケンスを解析して配列することが可能である。
 図29に示すように、LCTヘッダ内には様々なデータを記録できるヘッダ拡張部(Header Extensions)が設定される。このヘッダ拡張部にNALユニットフラグメントの再配列や、GOP再構成処理に適用する情報等、受信装置側における処理をスムーズに実行させるための付加情報を記録することが可能である。
 LCTヘッダのヘッダ拡張部に対するデータ記録構成について、図30を参照して説明する。
 LCTヘッダのヘッダ拡張部に、データを記録する場合のフォーマットには2つの種類がある。
 図30(1)は、記録情報の長さが自由に設定可能なフォーマットである。
 図30(2)は、記録情報の長さが固定されたフォーマットである。
 HET(Header Extension Type)には、拡張ヘッダの種類を示す拡張ヘッダ識別情報(数値)を記録する。図30(1)のフォーマットは127までの値が利用可能であり、図30(2)のフォーマットは128以上に設定することが規定されている。
 HET(Header Extension Length)には、拡張ヘッダの長さを記録する。
 HEC(Neader Extension Content)は、拡張ヘッダコンテンツを記録するフィールドであり、任意の拡張情報を記録可能なフィールドである。
 図30(2)に示す記録情報の長さが固定されたフォーマットを利用して、NALユニットフラグメントの再配列や、GOP再構成処理に適用する情報等、受信装置側における処理をスムーズに実行させるための付加情報を記録する場合の記録データの構成例を図31に示す。
 図31に示すように、
 (a)拡張ヘッダ識別情報(HET)は、8ビットデータとして、新たな情報の識別値として、例えば[200]を記録する。
 さらに、拡張情報記録部(HEC)に、
 (b)セグメント識別情報、
 (c)GOP内位置識別情報、
 (d)ムービーフラグメントシーケンス番号、
 (e)NALユニットフラグメントヘッダ、
 (f)NALユニット内位置識別情報、
 (g)アクセスポイント情報、
 (h)従属ファイル数情報(DependencyCounter)
 (i)優先度情報(Priority)
 これらの各識別情報を記録する。
 例えば(b)セグメント識別情報は、8ビットデータとし、初期化セグメントの場合は1を設定し、その他のセグメントの場合は0を設定する。
 なお、メディアセグメントの場合、HTTPヘッダに記録されるコンテンツ位置情報(ContentLocation)をGOP単位データの位置情報に設定すれば、このコンテンツ位置情報を参照することで各GOPデータの区別が可能となる。
 (c)GOP内位置識別情報は、8ビットデータとして、例えば、ビット値を以下の設定とする。
 GOPの先頭位置のデータ(StartofGOP)=1
 GOPの中間位置のデータ(MiddleofGOP)=2
 GOPの末尾位置のデータ(EndofGOP)=3
 (d)ムービーフラグメントシーケンス番号は、32ビットデータとし、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号を記録する。サブGOPメディアセグメントに格納されたNALユニットの配列情報である。
 (e)NALユニットフラグメントヘッダは、8ビットデータとしテ、メタデータ格納型NALユニットフラグメント対応パケット=1、その他のパケット=0として記録する。
 (f)NALユニット内位置識別情報は、8ビットデータとして、パケットに格納したNALユニットフラグメント(NALf)が、分割前のNALユニットのどの位置に対応するフラグメントであるかを示す情報を記録する。
 分割前のNALユニットの先頭位置(StarNALUnitFragmentSubSegment)=1、
 分割前のNALユニットの中間位置(MiddleNALUnitFragmentSubSegment)=2、
 分割前のNALユニットの末尾位置(EndNALUnitFragmentSubSegment)=3、
 この設定で各ビット値を記録する。
 (g)アクセスポイント情報(SAPIndicator)は、HTTPヘッダの記録情報として説明した[X-SAP]と同様のデータであり、8ビットデータとする。パケットが、アクセスポイントを含むNALユニット格納セグメントから生成したパケットである場合は[1]、その他のパケットである場合は[0]を記録する。
 (h)従属ファイル数情報(DependencyCounter)は、そのHTTPパケットに格納したNALユニットを参照して復号処理を行なう必要のある後続パケットのNALユニットの数(従属ファイル数)を示す情報である。8ビットデータで、NALユニットの数(従属ファイル数)を示す数値を設定する。
 (i)優先度情報(Priority)は、パケット相互の処理優先度情報を示す優先度情報である。8ビットデータの0~255により優先度を示す。例えば、値の小さい方を高優先度とする。
 送信装置は、このような拡張ヘッダ情報を含むLCTヘッダを設定して受信装置に送信する。一方、受信装置は、このLCTヘッダ内の拡張ヘッダ情報のセグメント識別情報を参照して、初期化セグメント格納パケットであるか、メタデータ格納型NALユニットフラグメント対応パケットであるか、メディアデータ格納型NALユニットフラグメント対応パケットであるかを判別する。さらに、受信装置は、パケットがメディアデータ格納型NALユニットフラグメント対応パケットであると識別した場合、LCTヘッダの拡張ヘッダ情報に記録されたNALユニット内位置識別情報や、GOP内位置識別情報を参照することで、各パケットに格納されたメディアデータ(mdat)であるNALユニットフラグメント(NALf)を正しい配列とする再配列を行い、さらにGOPの再構成を行うことが可能となる。
 さらに、アクセスポイント情報(SAPIndicator)を参照することで、パケットが、アクセスポイントを含むNALユニット格納セグメントから生成したパケットであるか否かを判定することができる。
 さらに、(h)従属ファイル数情報(DependencyCounter)を参照することで、各パケットに格納したNALユニットを参照して復号処理を行なう必要のある後続パケットのNALユニットの数を判定することができる。
 また、(i)優先度情報(Priority)を参照することで、アクセスポイント情報(X-SAP)の設定されたパケット相互の処理優先度情報を判定することができる。
  [14.HEVC符号化データに対する適用例について]
 上述した実施例では、MPEG符号化方式に従ったMP4符号化データに対する処理例について説明したが、本開示の処理は、その他の符号化データに足しても適用可能である。例えばHEVC(High Efficiency Video Coding)に従った符号化データに適用することが可能である。
 HEVC符号化データの構成について、図32を参照して説明する。
 図32に示すように、HEVC符号化処理によって生成される1つのHEVCストリームは、複数のシーケンス(CVS:Coded Video Sequence)と、End of sequence NAL unit(EoB)を有する。
 HEVCストリームの構成要素であるCVSは、複数のGOPと、End of sequence NAL unit(EoS)から構成される。
 1つのGOPは、ランダムアクセスポイントとなるIRAP(Intra Random Access Point)アクセスユニットを先頭データとし、複数のLP(Leading Picture)アクセスユニットと、TP(Trailing Picture)アクセスユニットを有する。
 LPアクセスユニットと、TPアクセスユニットは、何らかの参照ピクチャを参照して復号可能なアクセスユニットである。
 ただし、IRAPアクセスユニットから復号を開始した場合には、TPAUについても正常な復号、再生が可能である。
 アクセスユニット(AU)は、複数のNALユニット(Network Abstraction Layer Unit)から構成され、アクセスユニット(AU)は、必ず1つ以上のスライスセグメントNALユニットを含む。
 図32に示すように、HEVC符号化処理によって生成される符号化データにも符号化処理単位としてのGOPが設定され、このGOPは、さらに複数のNALユニットに分割される。
 先に図5を参照して説明したサブGOPメディアセグメントに、HEVC符号化データにおいて設定されるGOP構成データであるNALユニットを1つ、または複数、格納する構成とする。
 さらに、先に図16他を参照して説明したようにNALユニットをさらに分割したNALユニットフラグメント(NALf)を生成して、HTTPパケットに分割格納することが可能である。
 HEVC符号化データを格納したパケットについても、従属ファイル数情報(DependencyCounter)や、優先度情報(Priority)を設定可能であり、本開示の処理を適用することができる。
 なお、MP4、HEVCに限らず、GOP相当の符号化処理単位を持ち、GOPデータを分割したユニット(NAL)が設定される符号化構成であれば、本開示の処理を適用することが可能である。
  [15.各装置のハードウェア構成例について]
 最後に、図33を参照して、上述した処理を実行する各装置のハードウェア構成例について説明する。
 図33は、送信装置20、受信装置30として適用可能な通信装置のハードウェア構成例を示している。
 CPU(Central Processing Unit)201は、ROM(Read Only Memory)202、または記憶部208に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。RAM(Random Access Memory)203には、CPU201が実行するプログラムやデータなどが記憶される。これらのCPU201、ROM202、およびRAM203は、バス204により相互に接続されている。
 CPU201はバス204を介して入出力インタフェース205に接続され、入出力インタフェース205には、各種スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続されている。CPU201は、入力部206から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部207に出力する。
 入出力インタフェース205に接続されている記憶部208は、例えばハードディスク等からなり、CPU201が実行するプログラムや各種のデータを記憶する。通信部209は、インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部、さらに放送波の送受信部として機能し、外部の装置と通信する。
 入出力インタフェース205に接続されているドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア211を駆動し、データの記録あるいは読み取りを実行する。
 なお、データの符号化あるいは復号は、データ処理部としてのCPU201の処理として実行可能であるが、符号化処理あるいは復号処理を実行するための専用ハードウェアとしてのコーデックを備えた構成としてもよい。
  [16.本開示の構成のまとめ]
 以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
 なお、本明細書において開示した技術は、以下のような構成をとることができる。
 (1) 符号化データを格納したパケットを生成するデータ処理部と、
 前記データ処理部の生成したパケットを送信する通信部を有し、
 前記データ処理部は、
 符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
 パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの処理順番の決定に適用する付加情報を設定したパケットを生成して前記通信部を介して送信する通信装置。
 (2)前記付加情報は、パケット格納データを復号時に参照する後続パケットのデータ数を示す従属ファイル数情報である前記(1)に記載の通信装置。
 (3)前記付加情報は、パケット格納データの処理優先度を示す優先度情報である前記(1)に記載の通信装置。
 (4)前記通信装置の送信するパケットは、ランダムアクセスポイントとなるか否かを示すアクセスポイント情報(SAP)を設定したパケットを含み、
 前記付加情報は、前記アクセスポイント情報(SAP)を設定したパケット間の処理優先度を示す優先度情報である請前記(3)に記載の通信装置。
 (5)前記通信装置の送信するパケットは、異なる視点から撮影されたマルチビューポイント画像であり、前記データ処理部は、ビューポイントの異なる撮影画像を格納したパケットに異なる優先度情報を設定する前記(3)または(4)に記載の通信装置。
 (6)前記データ処理部は、HTTPパケットを生成し、前記付加情報を生成パケット内のHTTPヘッダに記録する前記(1)~(5)いずれかに記載の通信装置。
 (7)前記データ処理部は、前記付加情報を生成パケット内の拡張ヘッダに記録する前記(1)~(5)いずれかに記載の通信装置。
 (8)前記データ処理部は、前記付加情報を生成パケット内のLCTヘッダに記録する前記(1)~(5)いずれかに記載の通信装置。
 (9)前記通信部は、前記データ処理部の生成したパケットを、放送波を介してブロードキャスト配信、またはマルチキャスト配信する前記(1)~(8)いずれかに記載の通信装置。
 (10)送信装置が送信した符号化データ格納パケットを受信する通信部と、
 前記通信部の受信したパケットを入力して処理を実行するデータ処理部を有し、
 前記通信部の受信する前記符号化データ格納パケットの各々は、
 符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの処理順番の決定に適用する付加情報を設定したパケットである通信装置。
 (11)前記データ処理部は、受信パケットに記録された処理順番の決定に適用する付加情報を参照して、受信パケットに格納されたデータの復号処理の順番を決定する前記(10)に記載の通信装置。
 (12)前記付加情報は、パケット格納データを復号時に参照する後続パケットのデータ数を示す従属ファイル数情報である前記(10)または(11)に記載の通信装置。
 (13)前記通信装置の送信するパケットは、ランダムアクセスポイントとなるか否かを示すアクセスポイント情報(SAP)を設定したパケットを含み、前記付加情報は、前記アクセスポイント情報(SAP)を設定したパケット間の処理優先度を示す優先度情報である前記(10)~(12)いずれかに記載の通信装置。
 (14)前記通信装置の送信するパケットは、異なる視点から撮影されたマルチビューポイント画像であり、前記データ処理部は、前記付加情報に基づいて決定した処理順に従って、同一のビューポイントの撮影画像を順次、復号する処理を実行する前記(10)~(13)いずれかに記載の通信装置。
 (15)前記通信部は、前記付加情報をHTTPヘッダに記録したHTTPパケットを受信し、前記データ処理部は、受信パケットのHTTPヘッダから前記付加情報を取得する前記(10)~(14)いずれかに記載の通信装置。
 (16)前記通信部は、前記付加情報を拡張ヘッダに記録したパケットを受信し、前記データ処理部は、受信パケットの拡張ヘッダから前記付加情報を取得する前記(10)~(14)いずれかに記載の通信装置。
 (17)前記通信部は、前記付加情報をLCTヘッダに記録したパケットを受信し、
 前記データ処理部は、受信パケットのLCTヘッダから前記付加情報を取得する前記(10)~(14)いずれかに記載の通信装置。
 (18)前記通信部は、前記パケットを、放送波を介して受信する前記(10)~(17)いずれかに記載の通信装置。
 (19)データ送信装置において実行する通信データ生成方法であり、
 データ処理部が、
 符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
 パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの処理順番の決定に適用する付加情報を設定したパケットを生成して通信部を介して送信する通信データ生成方法。
 (20)データ受信装置において実行する通信データ処理方法であり、
 通信部が、送信装置が送信した符号化データ格納パケットを受信するステップと、
 データ処理部が、前記通信部の受信したパケットを入力して処理を実行するデータ処理ステップを実行し、
 前記通信部の受信する前記符号化データ格納パケットの各々は、
 符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの処理順番の決定に適用する付加情報を設定したパケットであり、
 前記データ処理ステップは、前記通信部の受信した処理順番の決定に適用する付加情報が設定されたパケットを入力して処理を実行するステップである通信データ処理方法。
 また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
 なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
 以上、説明したように、本開示の一実施例の構成によれば、通信パケットの格納データの処理順決定に適用する付加情報を設定したパケットを送受信し、パケット単位で処理順を判別可能とした構成が実現される。
 具体的には、送信装置が符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットを分割したNALユニットフラグメントを格納したパケットを生成し、パケット付加情報として、パケット格納データの処理順決定に適用する付加情報を設定して通信部を介して送信する。受信装置はパケット付加情報を参照してパケット格納データの処理優先度を判定して処理順を決定し、決定した順番に従ってパケット格納データの復号処理を実行する。
 本構成により、通信パケットの格納データの処理順決定に適用する付加情報を設定したパケットを送受信し、パケット単位で処理順を判別可能とした構成が実現される。
  10 通信システム
  20 送信装置
  21 データ処理部
  22 通信部
  30 受信装置
  31 データ処理部
  32 通信部
  50 初期化セグメント
  60 メディアセグメント
 201 CPU
 202 ROM
 203 RAM
 204 バス
 205 入出力インタフェース
 206 入力部
 207 出力部
 208 記憶部
 209 通信部
 210 ドライブ
 211 リムーバブルメディア

Claims (20)

  1.  符号化データを格納したパケットを生成するデータ処理部と、
     前記データ処理部の生成したパケットを送信する通信部を有し、
     前記データ処理部は、
     符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
     パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの処理順番の決定に適用する付加情報を設定したパケットを生成して前記通信部を介して送信する通信装置。
  2.  前記付加情報は、パケット格納データを復号時に参照する後続パケットのデータ数を示す従属ファイル数情報である請求項1に記載の通信装置。
  3.  前記付加情報は、パケット格納データの処理優先度を示す優先度情報である請求項1に記載の通信装置。
  4.  前記通信装置の送信するパケットは、ランダムアクセスポイントとなるか否かを示すアクセスポイント情報(SAP)を設定したパケットを含み、
     前記付加情報は、前記アクセスポイント情報(SAP)を設定したパケット間の処理優先度を示す優先度情報である請求項3に記載の通信装置。
  5.  前記通信装置の送信するパケットは、異なる視点から撮影されたマルチビューポイント画像であり、
     前記データ処理部は、ビューポイントの異なる撮影画像を格納したパケットに異なる優先度情報を設定する請求項3に記載の通信装置。
  6.  前記データ処理部は、
     HTTPパケットを生成し、前記付加情報を生成パケット内のHTTPヘッダに記録する請求項1に記載の通信装置。
  7.  前記データ処理部は、
     前記付加情報を生成パケット内の拡張ヘッダに記録する請求項1に記載の通信装置。
  8.  前記データ処理部は、
     前記付加情報を生成パケット内のLCTヘッダに記録する請求項1に記載の通信装置。
  9.  前記通信部は、
     前記データ処理部の生成したパケットを、放送波を介してブロードキャスト配信、またはマルチキャスト配信する請求項1に記載の通信装置。
  10.  送信装置が送信した符号化データ格納パケットを受信する通信部と、
     前記通信部の受信したパケットを入力して処理を実行するデータ処理部を有し、
     前記通信部の受信する前記符号化データ格納パケットの各々は、
     符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの処理順番の決定に適用する付加情報を設定したパケットである通信装置。
  11.  前記データ処理部は、
     受信パケットに記録された処理順番の決定に適用する付加情報を参照して、受信パケットに格納されたデータの復号処理の順番を決定する請求項10に記載の通信装置。
  12.  前記付加情報は、パケット格納データを復号時に参照する後続パケットのデータ数を示す従属ファイル数情報である請求項10に記載の通信装置。
  13.  前記通信装置の送信するパケットは、ランダムアクセスポイントとなるか否かを示すアクセスポイント情報(SAP)を設定したパケットを含み、
     前記付加情報は、前記アクセスポイント情報(SAP)を設定したパケット間の処理優先度を示す優先度情報である請求項10に記載の通信装置。
  14.  前記通信装置の送信するパケットは、異なる視点から撮影されたマルチビューポイント画像であり、
     前記データ処理部は、前記付加情報に基づいて決定した処理順に従って、同一のビューポイントの撮影画像を順次、復号する処理を実行する請求項10に記載の通信装置。
  15.  前記通信部は、
     前記付加情報をHTTPヘッダに記録したHTTPパケットを受信し、
     前記データ処理部は、
     受信パケットのHTTPヘッダから前記付加情報を取得する請求項10に記載の通信装置。
  16.  前記通信部は、
     前記付加情報を拡張ヘッダに記録したパケットを受信し、
     前記データ処理部は、
     受信パケットの拡張ヘッダから前記付加情報を取得する請求項10に記載の通信装置。
  17.  前記通信部は、
     前記付加情報をLCTヘッダに記録したパケットを受信し、
     前記データ処理部は、
     受信パケットのLCTヘッダから前記付加情報を取得する請求項10に記載の通信装置。
  18.  前記通信部は、
     前記パケットを、放送波を介して受信する請求項10に記載の通信装置。
  19.  データ送信装置において実行する通信データ生成方法であり、
     データ処理部が、
     符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
     パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの処理順番の決定に適用する付加情報を設定したパケットを生成して通信部を介して送信する通信データ生成方法。
  20.  データ受信装置において実行する通信データ処理方法であり、
     通信部が、送信装置が送信した符号化データ格納パケットを受信するステップと、
     データ処理部が、前記通信部の受信したパケットを入力して処理を実行するデータ処理ステップを実行し、
     前記通信部の受信する前記符号化データ格納パケットの各々は、
     符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの処理順番の決定に適用する付加情報を設定したパケットであり、
     前記データ処理ステップは、前記通信部の受信した処理順番の決定に適用する付加情報が設定されたパケットを入力して処理を実行するステップである通信データ処理方法。
PCT/JP2014/081716 2014-01-17 2014-12-01 通信装置、通信データ生成方法、および通信データ処理方法 Ceased WO2015107787A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP14879006.6A EP3096526B1 (en) 2014-01-17 2014-12-01 Communication apparatus, communication data generation method, and communication data processing method
KR1020167018107A KR102120525B1 (ko) 2014-01-17 2014-12-01 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법
CA2933465A CA2933465C (en) 2014-01-17 2014-12-01 Communication apparatus, communication data generation method, and communication data processing method
US15/110,241 US10326811B2 (en) 2014-01-17 2014-12-01 Communication apparatus, communication data generation method, and communication data processing method
MX2016008988A MX370046B (es) 2014-01-17 2014-12-01 Aparato de comunicacion, metodo de generacion de datos de comunicacion, y metodo de procesamiento de datos de comunicacion.
CN201480072673.6A CN105900436B (zh) 2014-01-17 2014-12-01 通信设备、通信数据生成方法、以及通信数据处理方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014006882A JP2015136060A (ja) 2014-01-17 2014-01-17 通信装置、通信データ生成方法、および通信データ処理方法
JP2014-006882 2014-01-17

Publications (1)

Publication Number Publication Date
WO2015107787A1 true WO2015107787A1 (ja) 2015-07-23

Family

ID=53542691

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/081716 Ceased WO2015107787A1 (ja) 2014-01-17 2014-12-01 通信装置、通信データ生成方法、および通信データ処理方法

Country Status (8)

Country Link
US (1) US10326811B2 (ja)
EP (1) EP3096526B1 (ja)
JP (1) JP2015136060A (ja)
KR (1) KR102120525B1 (ja)
CN (1) CN105900436B (ja)
CA (1) CA2933465C (ja)
MX (1) MX370046B (ja)
WO (1) WO2015107787A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015136059A (ja) 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
WO2016105090A1 (ko) * 2014-12-22 2016-06-30 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US10749930B2 (en) 2015-03-02 2020-08-18 Qualcomm Incorporated Indication for partial segment
US10659507B2 (en) 2015-03-02 2020-05-19 Qualcomm Incorporated Indication for partial segment
US10380070B2 (en) * 2015-11-12 2019-08-13 International Business Machines Corporation Reading and writing a header and record on tape
US10367874B2 (en) * 2016-11-04 2019-07-30 Verizon Patent And Licensing Inc. MPEG-DASH delivery over multicast
JP6359074B2 (ja) * 2016-12-01 2018-07-18 株式会社インフォシティ コンテンツ配信システム
WO2018105771A1 (ko) * 2016-12-07 2018-06-14 주식회사 이에스엠연구소 실시간 동영상 재생파일 전송장치 및 방법
WO2018182591A1 (en) * 2017-03-29 2018-10-04 Intel IP Corporation Message splitting for multi-rat transmission
JP6490284B2 (ja) * 2018-06-01 2019-03-27 株式会社インフォシティ コンテンツ配信システム
JP7271099B2 (ja) * 2018-07-19 2023-05-11 キヤノン株式会社 ファイルの生成装置およびファイルに基づく映像の生成装置
CN112199082B (zh) * 2020-10-14 2023-04-14 杭州安恒信息技术股份有限公司 一种http响应处理方法、装置、电子设备及存储介质
CN112822488B (zh) * 2020-12-30 2023-04-07 北京大学 基于块重组的视频编解码系统、方法、装置、终端及介质
CN112788344B (zh) * 2020-12-30 2023-03-21 北京大数据研究院 基于编码单元重组的视频解码方法、装置、系统、介质及终端
CN112822549B (zh) * 2020-12-30 2022-08-05 北京大学 基于分片重组的视频流解码方法、系统、终端及介质
CN112788339B (zh) * 2020-12-30 2023-01-10 北京大数据研究院 视频编码优化方法、装置、系统、介质及终端
CN112788336B (zh) * 2020-12-30 2023-04-14 北京大数据研究院 数据元素的排序还原方法、系统、终端及标记方法
CN112822516B (zh) * 2020-12-30 2022-07-26 北京大学 基于数据块重组的图像组传输方法、装置、设备和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011038013A2 (en) * 2009-09-22 2011-03-31 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
JP2011087103A (ja) 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
JP2011130468A (ja) * 2009-07-10 2011-06-30 Panasonic Corp 記録媒体、再生装置、及び集積回路
JP2012049640A (ja) * 2010-08-24 2012-03-08 Osaka Univ 符号化装置、符号化方法、動画像伝送システム

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE245326T1 (de) * 2001-11-30 2003-08-15 Cit Alcatel Ip plattform für verbesserte mehrpunkt- zugriffsysteme
CN101668215A (zh) * 2003-02-18 2010-03-10 诺基亚有限公司 图像解码方法
US7724818B2 (en) * 2003-04-30 2010-05-25 Nokia Corporation Method for coding sequences of pictures
FR2888424A1 (fr) * 2005-07-07 2007-01-12 Thomson Licensing Sas Dispositif et procede de codage et de decodage de donnees video et train de donnees
US20070230564A1 (en) * 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
US8245264B2 (en) * 2006-05-26 2012-08-14 John Toebes Methods and systems to reduce channel selection transition delay in a digital network
US8582663B2 (en) * 2006-08-08 2013-11-12 Core Wireless Licensing S.A.R.L. Method, device, and system for multiplexing of video streams
US20100150232A1 (en) 2006-10-31 2010-06-17 Gottfried Wilhelm Leibniz Universitat Hannover Method for concealing a packet loss
JP4227643B2 (ja) * 2006-12-20 2009-02-18 パナソニック株式会社 動画像符号化装置およびその方法
US8526489B2 (en) * 2007-09-14 2013-09-03 General Instrument Corporation Personal video recorder
FR2932036B1 (fr) * 2008-06-03 2011-01-07 Thales Sa Procede et systeme permettant de proteger un flux video compresse contre les erreurs survenant lors d'une transmission
KR101220175B1 (ko) * 2008-12-08 2013-01-11 연세대학교 원주산학협력단 Svc 비디오 기반의 디지털 위성 방송을 위한 계층 분리형 pes 패킷 생성 및 처리 방법
EP2194717A2 (en) * 2008-12-08 2010-06-09 Electronics and Telecommunications Research Institute Method for generating and processing hierarchical PES packet for digital satellite broadcasting based on SVC video
EP2285122B1 (en) * 2009-07-17 2013-11-13 Canon Kabushiki Kaisha A method and device for reconstructing a sequence of video data after transmission over a network
US8976871B2 (en) * 2009-09-16 2015-03-10 Qualcomm Incorporated Media extractor tracks for file format track selection
JP4837772B2 (ja) * 2009-12-15 2011-12-14 パナソニック株式会社 多視点動画像復号装置、多視点動画像復号方法、プログラム及び集積回路
KR20110115087A (ko) * 2010-04-14 2011-10-20 삼성전자주식회사 3차원 영상 데이터를 부호화하는 방법 및 장치와 복호화 방법 및 장치
CN102316315B (zh) * 2010-06-29 2013-01-23 中国科学院软件研究所 一种实时视频传输方法
KR20120010089A (ko) * 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
US9716920B2 (en) * 2010-08-05 2017-07-25 Qualcomm Incorporated Signaling attributes for network-streamed video data
KR20120138604A (ko) * 2011-06-14 2012-12-26 삼성전자주식회사 멀티미디어 시스템에서 복합 미디어 컨텐츠를 송수신하는 방법 및 장치
US8914834B2 (en) * 2011-07-18 2014-12-16 Motorola Solutions, Inc. Source rate and channel rate matching for scalable video transmission
US10237565B2 (en) * 2011-08-01 2019-03-19 Qualcomm Incorporated Coding parameter sets for various dimensions in video coding
KR101649207B1 (ko) * 2011-08-31 2016-08-19 노키아 테크놀로지스 오와이 멀티뷰 비디오 코딩 및 디코딩을 위한 방법, 장치 및 컴퓨터 프로그램
KR101311410B1 (ko) * 2011-10-21 2013-09-25 성균관대학교산학협력단 픽쳐 그룹의 구조를 변화시키는 분산 비디오 부호화/복호화 방법 및 이러한 방법을 수행하는 장치
US10009591B2 (en) * 2011-12-04 2018-06-26 Lg Electronics Inc. Digital broadcasting reception method and apparatus capable of displaying stereoscopic images
US9288506B2 (en) * 2012-01-05 2016-03-15 Qualcomm Incorporated Signaling view synthesis prediction support in 3D video coding
EP2810443B1 (en) * 2012-02-01 2021-03-31 Nokia Technologies Oy Method and apparatus for video coding
WO2013119325A1 (en) * 2012-02-08 2013-08-15 Thomson Licensing Method and apparatus for using an ultra-low delay mode of a hypothetical reference decoder
WO2014003379A1 (ko) * 2012-06-24 2014-01-03 엘지전자 주식회사 영상 디코딩 방법 및 이를 이용하는 장치
US9648322B2 (en) * 2012-07-10 2017-05-09 Qualcomm Incorporated Coding random access pictures for video coding
CN104541508A (zh) * 2012-08-10 2015-04-22 Lg电子株式会社 收发用于3d图像的图像分量的方法和装置
CN104904202A (zh) * 2012-09-28 2015-09-09 三星电子株式会社 用于使用参考画面信息进行并行视频编码的方法和设备以及用于使用参考画面信息进行并行视频解码的方法和设备
KR101812615B1 (ko) * 2012-09-28 2017-12-27 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩을 위한 장치, 방법 및 컴퓨터 프로그램
US9479779B2 (en) * 2012-10-01 2016-10-25 Qualcomm Incorporated Sub-bitstream extraction for multiview, three-dimensional (3D) and scalable media bitstreams
KR101825575B1 (ko) * 2013-01-07 2018-02-05 노키아 테크놀로지스 오와이 비디오 코딩 및 디코딩 방법 및 장치
CN105409215B (zh) * 2013-01-11 2018-10-09 华为技术有限公司 深度预测模式选择方法及装置
US9723305B2 (en) * 2013-03-29 2017-08-01 Qualcomm Incorporated RTP payload format designs
US20150078433A1 (en) * 2013-09-18 2015-03-19 Broadcom Corporation Reducing bandwidth and/or storage of video bitstreams
US9537779B2 (en) * 2013-10-11 2017-01-03 Huawei Technologies Co., Ltd. System and method for real-time traffic delivery
US10097294B2 (en) * 2014-01-03 2018-10-09 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US9787986B2 (en) * 2014-06-30 2017-10-10 Intel Corporation Techniques for parallel video transcoding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011130468A (ja) * 2009-07-10 2011-06-30 Panasonic Corp 記録媒体、再生装置、及び集積回路
WO2011038013A2 (en) * 2009-09-22 2011-03-31 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
JP2011087103A (ja) 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
JP2012049640A (ja) * 2010-08-24 2012-03-08 Osaka Univ 符号化装置、符号化方法、動画像伝送システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3096526A4

Also Published As

Publication number Publication date
CA2933465C (en) 2022-11-15
CN105900436A (zh) 2016-08-24
CN105900436B (zh) 2019-08-16
US20170142174A1 (en) 2017-05-18
KR20160110373A (ko) 2016-09-21
EP3096526A1 (en) 2016-11-23
EP3096526B1 (en) 2020-02-05
KR102120525B1 (ko) 2020-06-08
EP3096526A4 (en) 2017-07-19
CA2933465A1 (en) 2015-07-23
MX2016008988A (es) 2016-10-04
US10326811B2 (en) 2019-06-18
JP2015136060A (ja) 2015-07-27
MX370046B (es) 2019-11-29

Similar Documents

Publication Publication Date Title
CA2933465C (en) Communication apparatus, communication data generation method, and communication data processing method
US11284135B2 (en) Communication apparatus, communication data generation method, and communication data processing method
US10924524B2 (en) Communication devices, communication data generation method, and communication data processing method
US10298975B2 (en) Communication apparatus, communication data generation method, and communication data processing method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14879006

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2933465

Country of ref document: CA

ENP Entry into the national phase

Ref document number: 20167018107

Country of ref document: KR

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2014879006

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014879006

Country of ref document: EP

Ref document number: MX/A/2016/008988

Country of ref document: MX

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15110241

Country of ref document: US