JP2015136059A - 通信装置、通信データ生成方法、および通信データ処理方法 - Google Patents
通信装置、通信データ生成方法、および通信データ処理方法 Download PDFInfo
- Publication number
- JP2015136059A JP2015136059A JP2014006881A JP2014006881A JP2015136059A JP 2015136059 A JP2015136059 A JP 2015136059A JP 2014006881 A JP2014006881 A JP 2014006881A JP 2014006881 A JP2014006881 A JP 2014006881A JP 2015136059 A JP2015136059 A JP 2015136059A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- data
- unit
- nal unit
- communication
- 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.)
- Pending
Links
- 230000006854 communication Effects 0.000 title claims abstract description 180
- 238000004891 communication Methods 0.000 title claims abstract description 179
- 238000000034 method Methods 0.000 title claims description 77
- 238000003672 processing method Methods 0.000 title claims description 11
- 239000012634 fragment Substances 0.000 claims abstract description 180
- 238000003860 storage Methods 0.000 claims abstract description 58
- 238000012545 processing Methods 0.000 claims description 197
- 230000005540 biological transmission Effects 0.000 claims description 107
- 230000008569 process Effects 0.000 claims description 64
- 238000013500 data storage Methods 0.000 claims description 30
- 238000012546 transfer Methods 0.000 claims description 21
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 85
- 238000009826 distribution Methods 0.000 description 25
- 230000003044 adaptive effect Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- KNMAVSAGTYIFJF-UHFFFAOYSA-N 1-[2-[(2-hydroxy-3-phenoxypropyl)amino]ethylamino]-3-phenoxypropan-2-ol;dihydrochloride Chemical compound Cl.Cl.C=1C=CC=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC=C1 KNMAVSAGTYIFJF-UHFFFAOYSA-N 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23605—Creation or processing of packetized elementary streams [PES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8543—Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】通信パケットの格納符号化データが、ランダムアクセス可能な符号化データに基づくデータであるか否かをパケット単位で判別可能とした構成を提供する。【解決手段】送信装置が、符号化データの構成要素であるNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、付加情報として、パケット格納データの元データであるNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報を設定して送信する。受信装置はパケット付加情報を参照してパケット格納データが、ランダムアクセス可能な符号化データに基づいて生成されたデータであるか否かを判別する。【選択図】図13
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規格に従った処理が行われる。
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(Content Delivery Network)のサポートが必要となる。
しかし、CDNを適用したポイントトゥーポイントのHTTPストリーミングを構築するにはコスト的な制約があり、放送配信に匹敵する程のスケーラビリティを実現することは困難である。上述したようにDASHはHTTPをベースのストリーミングプロトコルを利用しており、放送配信のように多数のクライアントが同時に視聴するコンテンツ配信には不向きであるという問題がある。
本開示は、HTTPをベースとするストリーミングプロトコルを利用したコンテンツ配信において、同時に多数のクライアントにコンテンツを提供し、各クライアントにおいて遅延の少ないリアルタイム再生を実現する通信装置、通信データ生成方法、および通信データ処理方法を提供することを目的とする。
本開示の第1の側面は、
符号化データを格納したパケットを生成するデータ処理部と、
前記データ処理部の生成したパケットを送信する通信部を有し、
前記データ処理部は、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報を設定したパケットを生成して前記通信部を介して送信する通信装置にある。
符号化データを格納したパケットを生成するデータ処理部と、
前記データ処理部の生成したパケットを送信する通信部を有し、
前記データ処理部は、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報を設定したパケットを生成して前記通信部を介して送信する通信装置にある。
さらに、本開示の通信装置の一実施態様において、前記アクセスポイント情報は、パケット格納データが、SAP(Streeming Access Point)によって指定される符号化データを含むNALユニットに基づいて生成されたデータであるか否かを示す情報である。
さらに、本開示の通信装置の一実施態様において、前記データ処理部は、GOPの構成データであるNALユニットを1つ以上含むメディアデータと、該メディアデータ対応のメタデータを格納したサブGOPメディアセグメントをパケット格納データとして生成する。
さらに、本開示の通信装置の一実施態様において、前記データ処理部は、GOPを構成するNALユニットをさらに分割したNALユニットフラグメントを生成して、NALユニットフラグメントを格納した複数のパケットと、前記NALユニットに対応するメタデータを格納したパケットを生成する。
さらに、本開示の通信装置の一実施態様において、前記データ処理部は、送信対象の符号化データを、通信経路上で規定される最大データ転送単位(MTU:Maximum Transfer Unit)以下のデータに分割して生成した分割データを格納したパケットを生成する。
さらに、本開示の通信装置の一実施態様において、前記データ処理部は、HTTPパケットを生成し、前記付加情報を生成パケット内のHTTPヘッダに記録する。
さらに、本開示の通信装置の一実施態様において、前記データ処理部は、前記付加情報を生成パケット内の拡張ヘッダに記録する。
さらに、本開示の通信装置の一実施態様において、前記データ処理部は、前記付加情報を生成パケット内のLCTヘッダに記録する。
さらに、本開示の通信装置の一実施態様において、前記通信部は、前記データ処理部の生成したパケットを、放送波を介してブロードキャスト配信、またはマルチキャスト配信する。
さらに、本開示の第2の側面は、
送信装置が送信した符号化データ格納パケットを受信する通信部と、
前記通信部の受信したパケットを入力して処理を実行するデータ処理部を有し、
前記通信部の受信する前記符号化データ格納パケットの各々は、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報が設定されたパケットである通信装置にある。
送信装置が送信した符号化データ格納パケットを受信する通信部と、
前記通信部の受信したパケットを入力して処理を実行するデータ処理部を有し、
前記通信部の受信する前記符号化データ格納パケットの各々は、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報が設定されたパケットである通信装置にある。
さらに、本開示の通信装置の一実施態様において、前記データ処理部は、受信パケットに記録された付加情報である前記アクセスポイント情報を参照して、受信パケットに格納されたデータが、SAP(Streeming Access Point)によって指定される符号化データを含むNALユニットに基づいて生成されたデータであるか否かを判定する処理を実行する。
さらに、本開示の通信装置の一実施態様において、前記データ処理部は、受信パケットに記録された付加情報である前記アクセスポイント情報を参照して、アクセスポイントを含むデータを選択取得して、復号、再生処理を実行する。
さらに、本開示の通信装置の一実施態様において、前記通信部は、前記付加情報をHTTPヘッダに記録したHTTPパケットを受信し、前記データ処理部は、受信パケットのHTTPヘッダから前記付加情報を取得する。
さらに、本開示の通信装置の一実施態様において、前記通信部は、前記付加情報を拡張ヘッダに記録したパケットを受信し、前記データ処理部は、受信パケットの拡張ヘッダから前記付加情報を取得する。
さらに、本開示の通信装置の一実施態様において、前記通信部は、前記付加情報をLCTヘッダに記録したパケットを受信し、前記データ処理部は、受信パケットのLCTヘッダから前記付加情報を取得する。
さらに、本開示の通信装置の一実施態様において、前記通信部は、前記パケットを、放送波を介して受信する。
さらに、本開示の第3の側面は、
データ送信装置において実行する通信データ生成方法であり、
データ処理部が、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報を設定したパケットを生成して通信部を介して送信する通信データ生成方法にある。
データ送信装置において実行する通信データ生成方法であり、
データ処理部が、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報を設定したパケットを生成して通信部を介して送信する通信データ生成方法にある。
さらに、本開示の第4の側面は、
データ受信装置において実行する通信データ処理方法であり、
通信部が、送信装置が送信した符号化データ格納パケットを受信するステップと、
データ処理部が、前記通信部の受信したパケットを入力して処理を実行するデータ処理ステップを実行し、
前記通信部の受信する前記符号化データ格納パケットの各々は、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報が設定されたパケットであり、
前記データ処理ステップは、前記通信部の受信したアクセスポイント情報が設定されたパケットを入力して処理を実行するステップである通信データ処理方法にある。
データ受信装置において実行する通信データ処理方法であり、
通信部が、送信装置が送信した符号化データ格納パケットを受信するステップと、
データ処理部が、前記通信部の受信したパケットを入力して処理を実行するデータ処理ステップを実行し、
前記通信部の受信する前記符号化データ格納パケットの各々は、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報が設定されたパケットであり、
前記データ処理ステップは、前記通信部の受信したアクセスポイント情報が設定されたパケットを入力して処理を実行するステップである通信データ処理方法にある。
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本開示の一実施例の構成によれば、通信パケットの格納符号化データが、ランダムアクセス可能な符号化データに基づくデータであるか否かをパケット単位で判別可能とした構成が実現される。
具体的には、送信装置が、符号化データの構成要素であるNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、付加情報として、パケット格納データの元データであるNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報を設定して送信する。受信装置はパケット付加情報を参照してパケット格納データが、ランダムアクセス可能な符号化データに基づいて生成されたデータであるか否かを判別する。
本構成により、通信パケットの格納符号化データが、ランダムアクセス可能な符号化データに基づくデータであるか否かをパケット単位で判別可能とした構成が実現される。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
具体的には、送信装置が、符号化データの構成要素であるNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、付加情報として、パケット格納データの元データであるNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報を設定して送信する。受信装置はパケット付加情報を参照してパケット格納データが、ランダムアクセス可能な符号化データに基づいて生成されたデータであるか否かを判別する。
本構成により、通信パケットの格納符号化データが、ランダムアクセス可能な符号化データに基づくデータであるか否かをパケット単位で判別可能とした構成が実現される。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
以下、図面を参照しながら本開示の通信装置、通信データ生成方法、および通信データ処理方法の詳細について説明する。なお、説明は以下の項目に従って行なう。
1.通信システムの構成例について
2.一斉同時配信型のコンテンツ配信における問題点について
3.送信データの細分化処理構成について
4.HTTPヘッダに付加情報を記録した実施例について
5.パケットの構成について
6.送信装置と受信装置の構成と処理について
7.パケットに格納したNALユニットがSAP(ストリームアクセスポイント)を含むか否かを識別可能としたアクセスポイント情報を付加した構成について
8.NALユニットをさらに分割したNALユニットフラグメント格納パケットを利用した通信処理構成について
9.送信装置と受信装置の処理シーケンスについて
10.拡張ヘッダに付加情報を記録した実施例について
11.LCTヘッダに付加情報を記録した実施例について
12.HEVC符号化データに対する適用例について
13.各装置のハードウェア構成例について
14.本開示の構成のまとめ
1.通信システムの構成例について
2.一斉同時配信型のコンテンツ配信における問題点について
3.送信データの細分化処理構成について
4.HTTPヘッダに付加情報を記録した実施例について
5.パケットの構成について
6.送信装置と受信装置の構成と処理について
7.パケットに格納したNALユニットがSAP(ストリームアクセスポイント)を含むか否かを識別可能としたアクセスポイント情報を付加した構成について
8.NALユニットをさらに分割したNALユニットフラグメント格納パケットを利用した通信処理構成について
9.送信装置と受信装置の処理シーケンスについて
10.拡張ヘッダに付加情報を記録した実施例について
11.LCTヘッダに付加情報を記録した実施例について
12.HEVC符号化データに対する適用例について
13.各装置のハードウェア構成例について
14.本開示の構成のまとめ
[1.通信システムの構成例について]
まず、図1を参照して本開示の処理を実行する通信システムの一構成例について説明する。
図1に示すように、通信システム10は、画像データや音声データ等のコンテンツを送信する通信装置である送信装置20と、送信装置20の送信コンテンツを受信する通信装置である受信装置30を有する。
まず、図1を参照して本開示の処理を実行する通信システムの一構成例について説明する。
図1に示すように、通信システム10は、画像データや音声データ等のコンテンツを送信する通信装置である送信装置20と、送信装置20の送信コンテンツを受信する通信装置である受信装置30を有する。
送信装置20は、具体的には、例えば放送局21やコンテンツサーバ22等、コンテンツを提供する側の装置である。
一方、受信装置30は、一般ユーザのクライアント装置であり、具体的には、例えばテレビ31、PC32、携帯端末33等によって構成される。
一方、受信装置30は、一般ユーザのクライアント装置であり、具体的には、例えばテレビ31、PC32、携帯端末33等によって構成される。
送信装置20と受信装置30間のデータ通信は、インターネット等のネットワークを介した双方向通信、あるいは、放送波等による一方向通信の少なくともいずれか、あるいは両者を利用した通信として行われる。
送信装置20から受信装置30に対するコンテンツ送信は、アダプティブ(適応型)ストリーミング技術の規格であるMPEG−DASH規格に従って実行する。
先に説明したように、MPEG−DASH規格には、以下の2つの規格が含まれる。
(a)動画や音声ファイルの管理情報であるメタデータを記述するためのマニフェスト・ファイル(MPD:Media Presentation Description)に関する規格、
(b)動画コンテンツ伝送用のファイル・フォーマット(セグメント・フォーマット)に関する規格、
送信装置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セグメントと呼ばれる。
MPEG−DASH規格に従ってデータ送信を実行する送信装置20は、図2に示すように、初期化セグメント(Initialization Segment)50と、メディアセグメント(Media Segment)60を、それぞれパケットに格納して受信装置30に送信する。これらの各セグメントはDASHセグメントと呼ばれる。
メディアセグメント60各々はMPEG符号化されたコンテンツデータを分割して格納したセグメントである。
初期化セグメント50はメディアセグメント60の格納コンテンツを受信装置30側で再生する場合に必要となる初期設定情報、例えばコーデックの設定情報などを格納したセグメントである。
なお、送信装置20は、例えば1つの映画や番組等のコンテンツを、多数のメディアセグメント60に分割格納して順次送信する。
初期化セグメント50はメディアセグメント60の格納コンテンツを受信装置30側で再生する場合に必要となる初期設定情報、例えばコーデックの設定情報などを格納したセグメントである。
なお、送信装置20は、例えば1つの映画や番組等のコンテンツを、多数のメディアセグメント60に分割格納して順次送信する。
送信装置20は、図2に示す初期化セグメント50、メディアセグメント60をHTTPパケットに格納し、さらに、HTTPパケットを格納したIPパケットを生成して送信する。送信パケットの構成の詳細については後段で説明する。
図2に示す受信装置30は、まず、1つの初期化セグメント50を受信し、初期化セグメントに格納された設定情報に従ってコーデック等の設定処理等を実行する。続いて、メディアセグメント60を順次、受信し、再生順に従ってデコードを行なって再生処理を行なう。
[2.一斉同時配信型のコンテンツ配信における問題点について]
前述したように、アダプティブ(適応型)ストリーミング技術の標準規格であるDASHはポイントトゥーポイントのHTTPストリーミングをベースとしており、多数のクライアントが同時に視聴する一斉同時配信型コンテンツの配信には向かないという問題がある。
しかし、マルチキャストやブロードキャスト(MC/BC)を併用することで、コンテンツを同時に多数のクライアント(受信装置)に遅延なく提供することが可能であると考えられる。
前述したように、アダプティブ(適応型)ストリーミング技術の標準規格である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)、
(b)メディアセグメント(Media Segment)、
これらの2種類に分けられる。
(a)初期化セグメント(Initialization Segment)は、受信装置30におけるデコーダの設定等、コンテンツ再生を実行するために必要となる設定情報等の初期化データを格納したセグメントである。
(b)メディアセグメント(Media Segment)は、再生対象となる符号化コンテンツを格納したセグメントである。
(b)メディアセグメント(Media Segment)は、再生対象となる符号化コンテンツを格納したセグメントである。
図3に示すように(a)初期化セグメントは、以下の各情報を含む。
(a1)セグメントのファイルタイプ情報等からなるヘッダ情報(dash)、
(a2)メディアセグメントによって送信する符号化コンテンツであるメディアデータ(mdat)のコーデック(符号化態様)情報等の初期化情報を含むメタデータ(moov)、
(a1)セグメントのファイルタイプ情報等からなるヘッダ情報(dash)、
(a2)メディアセグメントによって送信する符号化コンテンツであるメディアデータ(mdat)のコーデック(符号化態様)情報等の初期化情報を含むメタデータ(moov)、
一方、(b)メディアセグメントは、図3に示すように以下の各情報を含む。
(b1)セグメントのファイルタイプ情報等からなるヘッダ情報(msdh)、
(b2)メディアセグメントに格納された複数のサブセグメント(Sub−Segment)の境界情報や、メディアセグメントに格納された符号化コンテンツであるメディアデータ(mdat)のランダムアクセスポイント等を示すアクセス情報(sidx)、
(b3)複数のサブセグメント(Sub−Segment)70、
(b1)セグメントのファイルタイプ情報等からなるヘッダ情報(msdh)、
(b2)メディアセグメントに格納された複数のサブセグメント(Sub−Segment)の境界情報や、メディアセグメントに格納された符号化コンテンツであるメディアデータ(mdat)のランダムアクセスポイント等を示すアクセス情報(sidx)、
(b3)複数のサブセグメント(Sub−Segment)70、
また、複数のサブセグメント(Sub−Segment)70は1つまたは複数のフラグメント(Fragment)80で構成される。
フラグメント(Fragment)80は、以下の各データを含む。
再生対象となる符号化コンテンツであるメディアデータ(mdat)、
メディアデータ(mdat)に対応するメタデータ(moof)。
フラグメント(Fragment)80は、以下の各データを含む。
再生対象となる符号化コンテンツであるメディアデータ(mdat)、
メディアデータ(mdat)に対応するメタデータ(moof)。
なお、(b)メディアセグメントのアクセス情報(sidx)に記録されるランダムアクセスポイントは、DASHではSAP(Stream Access Point)と呼ばれる。
SAPは、例えばストリームを復号するために必要なすべての状態をリセットすることができる画像シーケンスの先頭ピクチャの先頭バイト位置を示す。具体的には、例えばMPEGデータのIピクチャの位置等を示す情報である。
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秒程度のデータに設定して運用している場合が多い。
なお、GOPは再生時間が約0.5〜2秒程度のデータに設定して運用している場合が多い。
しかし、1つのフラグメント80に格納するメディアデータ(mdat)を1つのGOP単位のデータとすると、データ配信や再生処理における遅延が発生し、リアルタイム再生に支障が発生する可能性がある。
例えば、ライブ中継画像を配信する場合、送信装置20は、カメラから入力するライブ画像データの符号化処理を実行してメディアセグメント60を順次生成する。メディアセグメント60の各フラグメント80に格納するメディアデータ(mdat)がGOP単位の符号化データである場合、送信装置30は、GOP単位の符号化データであるメディアデータ(mdat)を生成し、その後、生成したメディアデータ(mdat)のプレゼンテーションタイム等の属性情報を記述したメタデータ(moof)を生成することになる。
例えば、ライブ中継画像を配信する場合、送信装置20は、カメラから入力するライブ画像データの符号化処理を実行してメディアセグメント60を順次生成する。メディアセグメント60の各フラグメント80に格納するメディアデータ(mdat)がGOP単位の符号化データである場合、送信装置30は、GOP単位の符号化データであるメディアデータ(mdat)を生成し、その後、生成したメディアデータ(mdat)のプレゼンテーションタイム等の属性情報を記述したメタデータ(moof)を生成することになる。
従って、このシーケンスで各データの生成を行うと、各GOP単位の符号化データのデータ範囲が決定された後でないと、そのGOPのメタデータ(moof)の生成ができない。
従って、メタデータ(moof)の生成は、メディアデータ(mdat)のデータ範囲が決定後に行うことになり、各メタデータ(moof)の生成処理は、1つのGOP単位の時間(0.5〜2秒)に相当する時間を待って行わざる得ないことになる。
従って、メタデータ(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ユニットによって構成される。
MP4ファイルフォーマットのデータ部は、基本格納単位としてのサンプル(sample)に区分される。さらに各サンプル(sample)は、1以上のNALユニットによって構成される。NALユニットは、MPEG符号化データの例えばスライス単位の細分化データである。
図4(a)に示すように複数の1つのGOPに対応する符号化データは複数のNALユニットによって構成される。
図4には、
上段に(a)GOPを構成するNALユニット
下段に(b)フラグメント生成処理シーケンス
これらを示している。
(b)フラグメント生成処理シーケンスの最下段には時間軸を示している。左から右に時間が経過し、送信装置20は、この時間軸に従って、各処理を実行してフラグメントを生成する。
なお、送信装置は、生成したフラグメントを格納したメディアセグメントを生成し、その後、メディアセグメントを格納したHTTPパケットを生成し、さらにHTTPパケットを格納したIPパケットを生成した後、IPパケットの送信を行う。
上段に(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)として設定されることになる。
送信装置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)を組み合わせたフラグメントを生成する。
時間t8〜t9:サンプル1〜3(sample1〜3)によって構成されるメディアデータ(mdat)と、サンプル1〜3(sample1〜3)のメタデータ(moof)を組み合わせたフラグメントを生成する。
送信装置20は、その後、上述した処理に従って生成したフラグメントを含むメディアセグメントを生成し、メディアセグメントをペイロードとして含むパケットを生成して受信装置30に送信することになる。
送信装置20は、フラグメントを生成する場合、フラグメントに格納するGOP単位のメディアデータ(mdat)の再生時間等を確認し、その再生時間に応じたプレゼンテータションタイム等、GOPデータ単位の属性情報を生成して、メタデータ(moof)に記録する必要がある。
送信装置20は、フラグメントを生成する場合、フラグメントに格納するGOP単位のメディアデータ(mdat)の再生時間等を確認し、その再生時間に応じたプレゼンテータションタイム等、GOPデータ単位の属性情報を生成して、メタデータ(moof)に記録する必要がある。
現在、データ配信される画像データは主にハイビジョン対応の画像データであるが、今後、さらに高画質化が進み、例えば4K画像等、データ量の多いデータ配信が増加すると予想される。このような大容量のデータ配信に対応するためストリームのビットレートが大きくなる可能性がある。
高画質化によるデータ量の増大に従って各GOP単位のデータ量も増大する。従って、図4を参照して説明したように1つのGOP単位のフラグメントを順次、生成して送信する構成とすると、送信側での処理間隔が長くなる。また、送信データの単位当たりデータ量も大きくなる。従って、十分な通信帯域が確保できない場合、ネットワーク送信における送信遅延の発生可能性が増加する。
また、受信装置側でのパケット受信間隔が長くなり、1パケットあたりのデータ受信量が増加し、受信装置側に要求されるデータバッファ量も増加する。また、パケットの受信エラーが発生した場合の再送処理を行なうと、遅延量が急激に大きくなり、リアルタイム再生が破たんする可能性が高くなる。
[3.送信データの細分化処理構成について]
上記の問題を解決するため、送信装置20から受信装置30に対する送信データを細分化し、1つの送信パケット、すなわち一単位あたりの送信データ量を削減した構成例について、以下説明する。
上記の問題を解決するため、送信装置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(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ユニットのみの設定としてもよい。
また、図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におけるエラーのないリアルタイム再生が実現される。
このような設定とすることで、ネットワークや放送波を介して送信される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には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が設定される。
パケット格納メディアデータ(mdat)にアクセスポイントとなるデータを含まない場合、アクセスポイントを示すデータも不要となる。従って図6(b)に示すHTTPパケットにはsidxが設定されていない。
一方、アクセスポイントとなるデータを含むメディアデータ(mdat)を格納したサブGOPメディアセグメントを有するパケットには、図6(a)に示すようにsidxが設定される。
図5〜図6を参照して説明したように、本実施例では、1つのGOP構成データを複数のパケットに分割して送信する。
受信装置30は、これらの複数のパケットを順次、受信し、各パケットに分割して格納されたGOP構成データを取得する。GOP単位の復号処理を行なう場合は、複数のパケットに格納されたGOP構成データを全て集めて、GOPの構成データ(NALユニット)を正しい順序に並べてGOPデータを再構成することが必要となる。
以下、GOP再構成処理に適用する情報等、受信装置側における処理をスムーズに実行させるための付加情報の設定例について説明する。
受信装置30は、これらの複数のパケットを順次、受信し、各パケットに分割して格納されたGOP構成データを取得する。GOP単位の復号処理を行なう場合は、複数のパケットに格納されたGOP構成データを全て集めて、GOPの構成データ(NALユニット)を正しい順序に並べてGOPデータを再構成することが必要となる。
以下、GOP再構成処理に適用する情報等、受信装置側における処理をスムーズに実行させるための付加情報の設定例について説明する。
[4.HTTPヘッダに付加情報を記録した実施例について]
まず、GOP再構成処理に適用する情報等、受信装置側における処理をスムーズに実行させるための付加情報をHTTPパケットのHTTPヘッダに記録した実施例について説明する。
まず、GOP再構成処理に適用する情報等、受信装置側における処理をスムーズに実行させるための付加情報をHTTPパケットのHTTPヘッダに記録した実施例について説明する。
図7、図8を参照してHTTPヘッダの記録情報について説明する。
図7には、先に図5を参照して説明したと同様、1つのGOPデータを3つのサブGOPメディアセグメントに分割格納したHTTPパケットの構成例を示している。
図7には、先に図5を参照して説明したと同様、1つのGOPデータを3つのサブGOPメディアセグメントに分割格納したHTTPパケットの構成例を示している。
これら3つのHTTPパケットのHTTPヘッダに、図7に示すように、
(1)セグメント識別子(Content−Location)
(2)GOP内位識別情報(X−(Start/Middle/End)ofGOP)
これらの2つの識別情報を記録する。
(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)として格納したパケットである。
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パケットの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
・・・」
図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パケットであると判定することができる。
セグメント識別子は、
「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内位識別情報として記録される。
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パケットが初期化セグメントを格納したパケットであることを示すセグメント識別情報を記録する。
初期化セグメントを格納する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
・・・」
図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等のアクセス情報を記録すればよい。
セグメント識別子は、
「Content−Location:http://a.com/x−init.mp4」
である。
このセグメント識別子は、初期化セグメントのURL等のアクセス情報を記録すればよい。
上記のHTTPヘッダ情報中、
セグメント識別情報は、
「X−InitializationSegment」
である。
このセグメント識別情報は、HTTPパケットに格納されたセグメントが、初期化セグメントであることを示す情報である。
初期化セグメントを格納したHTTPヘッダにはこのセグメント識別情報が記録される。
セグメント識別情報は、
「X−InitializationSegment」
である。
このセグメント識別情報は、HTTPパケットに格納されたセグメントが、初期化セグメントであることを示す情報である。
初期化セグメントを格納したHTTPヘッダにはこのセグメント識別情報が記録される。
[5.パケットの構成について]
次に、送信装置から受信装置に向けて送信されるパケットの構成例について説明する。
図10には以下の2つのIPパケットの構成例を示している。
(1)初期化セグメント格納IPパケット
(2)メディアセグメント格納IPパケット
次に、送信装置から受信装置に向けて送信されるパケットの構成例について説明する。
図10には以下の2つのIPパケットの構成例を示している。
(1)初期化セグメント格納IPパケット
(2)メディアセグメント格納IPパケット
(1)初期化セグメント格納IPパケットは、以下の構成を有する。
IPヘッダ
UDPヘッダ
LCTヘッダ
HTTPヘッダ
初期化セグメント構成データ[dash]
初期化セグメント構成データ[moov]
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ヘッダ
メディアセグメント構成データ[msdh]
メディアセグメント構成データ[sidx]
メディアセグメント構成データ[moof]
メディアセグメント構成データ[mdat]
IPヘッダ、UDPヘッダ、LCTヘッダ、HTTPヘッダは、それぞれIPプロトコル、UDPプロトコル、FLUTEプロトコル、HTTPプロトコルの各通信プロトコルに従って設定されるヘッダ情報である。
なお、前述したようにメディアセグメント構成データ[sidx]は、ランダムアクセスに適用可能なメディアデータ(mdat)を有するパケットには設定されるが、それ以外のパケットには設定不要である。
なお、前述したようにメディアセグメント構成データ[sidx]は、ランダムアクセスに適用可能なメディアデータ(mdat)を有するパケットには設定されるが、それ以外のパケットには設定不要である。
送信装置20は、図10に示すIPパケットを生成して受信装置30に向けて送信する。
受信装置30は、受信装置20から受信する図10に示す各パケットを受信し、各ヘッダ情報を解析して、セグメントを取り出し、セグメント格納データに従って、初期設定やコンテンツ再生を実行する。
受信装置30は、受信装置20から受信する図10に示す各パケットを受信し、各ヘッダ情報を解析して、セグメントを取り出し、セグメント格納データに従って、初期設定やコンテンツ再生を実行する。
[6.送信装置と受信装置の構成と処理について]
次に、図11以下を参照して送信装置と受信装置の構成と処理について説明する。
まず、図11を参照して、送信装置20と受信装置30の構成とプロトコルスタックについて説明する。
次に、図11以下を参照して送信装置と受信装置の構成と処理について説明する。
まず、図11を参照して、送信装置20と受信装置30の構成とプロトコルスタックについて説明する。
図10を参照して説明したIPパケットを生成して送信する送信装置20は、図11に示すようにデータ処理部21と通信部22を有する。
データ処理部21は、送信パケットの生成処理を実行する。
具体的には、例えば前述したように符号化データの処理単位であるGOP(Group of Pictures)の構成データの一部のみを含むメディアデータ(mdat)と、メディアデータ対応のメタデータ(moof)を格納したサブGOPメディアセグメントをパケット格納データとして生成する。さらに、サブGOPメディアセグメントの格納データであるメディアデータのGOP内位置を示すGOP内位置識別子等のパケット付加情報を生成してHTTPヘッダに記録したパケットを生成する。
データ処理部21は、送信パケットの生成処理を実行する。
具体的には、例えば前述したように符号化データの処理単位であるGOP(Group of Pictures)の構成データの一部のみを含むメディアデータ(mdat)と、メディアデータ対応のメタデータ(moof)を格納したサブGOPメディアセグメントをパケット格納データとして生成する。さらに、サブGOPメディアセグメントの格納データであるメディアデータのGOP内位置を示すGOP内位置識別子等のパケット付加情報を生成してHTTPヘッダに記録したパケットを生成する。
通信部22は、データ処理部21の生成したパケットを送信する。
通信部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フレームを生成して送信する通信部等から構成される物理レイヤ
(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の受信したパケットを入力して、データ処理を行なう。
通信部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フレームを受信する通信部等から構成される物理レイヤ
(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レイヤに置き換えて行なうことが可能である。
インターネット等のネットワークを介した送受信パケットの生成および解析は、図11に示すFLUTE/ALC(LCT)レイヤとUDPレイヤを、TCPレイヤに置き換えて行なうことが可能である。
放送波を介して受信するIPパケットと、インターネット等のネットワークを介して受信するIPパケットを適宜、切り替えて処理を行なう受信装置30のプロトコルスタックの例について、図12を参照して説明する。
図12に示す受信装置30のプロトコルスタックは、以下の2つの通信系に対応したプロトコルスタックのレイヤ構成を示している。
(1)放送系
(2)ネットワーク通信系
(1)放送系
(2)ネットワーク通信系
(1)放送系は、図11を参照して説明したレイヤ構成となっている。
(2)ネットワーク通信系は、放送系レイヤのFLUTE/ALC(LCT)レイヤと、UDPレイヤをTCPレイヤに置き換えた構成である。
TCPレイヤは、TCPヘッダを有するTCPパケットの解析を実行する。
シグナリング(Signaling)レイヤは、各通信系の切り替え制御を行うためのレイヤである。
(2)ネットワーク通信系は、放送系レイヤのFLUTE/ALC(LCT)レイヤと、UDPレイヤをTCPレイヤに置き換えた構成である。
TCPレイヤは、TCPヘッダを有するTCPパケットの解析を実行する。
シグナリング(Signaling)レイヤは、各通信系の切り替え制御を行うためのレイヤである。
受信装置30は、放送系とネットワーク通信系の各レイヤを、適宜切り替えて利用することで、放送波を介して受信するパケットと、インターネット等のネットワークを介して受信するパケットを選択的に利用してパケット格納コンテンツを取得して再生処理を実行することができる。
例えば、ネットワークからのパケット受信に遅延が発生した場合、放送系に切り替えて同一コンテンツに対応するパケットを、放送波を介して受信し、コンテンツ再生を継続することができる。
ネットワーク通信系、放送系のいずれの通信系を介した配信パケットにも、前述したセグメント識別子やGOP内位置識別子が記録されており、これらの識別情報を参照して、GOPデータの再構築が可能となり、エラーのない復号処理と、コンテンツ再生が実現される。
ネットワーク通信系、放送系のいずれの通信系を介した配信パケットにも、前述したセグメント識別子やGOP内位置識別子が記録されており、これらの識別情報を参照して、GOPデータの再構築が可能となり、エラーのない復号処理と、コンテンツ再生が実現される。
[7.パケットに格納したNALユニットがSAP(ストリームアクセスポイント)を含むか否かを識別可能としたアクセスポイント情報を付加した構成について]
次に、受信装置の処理効率化を実現する構成例として、パケットに格納したNALユニットフラグメントの分割元であるNALユニットにSAP(アクセスポイントデータ)を含むか否かを識別可能とした識別情報を付加した構成について説明する。
次に、受信装置の処理効率化を実現する構成例として、パケットに格納したNALユニットフラグメントの分割元であるNALユニットにSAP(アクセスポイントデータ)を含むか否かを識別可能とした識別情報を付加した構成について説明する。
先に、図3他を参照して説明したようにSAP(Stream Access Point)は、ランダムアクセスポイントとなるデータの格納位置情報である。DASHではランダムアクセスポイントをSAP(Stream Access Point)と呼ぶ。SAPは、例えばストリームを復号するために必要なすべての状態をリセットすることができる画像シーケンスの先頭ピクチャの先頭バイト位置を示す。具体的には、例えばMPEGデータのIピクチャ位置等を示す情報である。
なお、先に図3(b)を参照して説明したように、SAPはメディアセグメントのメタ情報である[sidx]に格納されている。
なお、先に図3(b)を参照して説明したように、SAPはメディアセグメントのメタ情報である[sidx]に格納されている。
受信装置側では、SAPの示すデータ位置の符号化データを取得して、その取得データから復号処理を実行して再生を行なうことが可能となる。
従って、コンテンツの途中から再生するなどの特殊再生処理を行う場合、SAPは重要な必須データとなる。例えば、GOPデータの全てを揃えることなく、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パケットに格納されたNALユニットにランダムアクセスポイント対応のデータが含まれればSAPを記録した[sidx]が設定される。
しかし、[sidx]は、メディアデータのランダムアクセスポイント情報であるSAPのみならず、その他のデータの境界情報等も含むメタデータであり、[sidx]の有無のみによってパケット格納データにアクセスポイントとなるデータが含まれるか否かを判定することはできない。
従って、上述したサブGOPメディアセグメントHTTPパケットを利用した符号化データ配信構成では、受信装置側は、受信パケット単位でパケットにアクセスポイントデータが含まれるか否かを判定することが困難になる。
以下、このような問題を解決し、受信装置側で、受信パケット単位で、パケットにアクセスポイントデータが含まれるか否かを判定可能とした構成について説明する。
以下、このような問題を解決し、受信装置側で、受信パケット単位で、パケットにアクセスポイントデータが含まれるか否かを判定可能とした構成について説明する。
図13以下を参照して、上述したサブGOPメディアセグメントHTTPパケットを利用した符号化データ配信構成において、パケット単位で各パケットにアクセスポイントデータが含まれるか否かを判定可能とした構成について説明する。
図13は、先に説明した図5、図7と同様、1つのGOPデータを3つのサブ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)セグメント識別子(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)として格納したパケットである。
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パケットの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ユニット)にアクセスポイントが含まれることを示すパケットのみを選択して処理を行なうことが可能となる。
受信装置は、このアクセスポイント情報(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)に含まれる符号化データにランダムアクセスポイントとなるデータが含まれるか否かを判定する。
このような構成の他、例えば、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
・・・」
図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内位識別情報として記録される。
セグメント識別子「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」は、そのHTTPパケットに格納されたメディアデータ(mdat)に含まれる符号化データ(NAL)にランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
受信装置は、アクセスポイント情報(X−SAP)を参照することで、受信パケット単位でパケット格納メディアデータ内のNALユニットにアクセスポイントが含まれるか否かを即座に判別することができる。
受信装置は、アクセスポイントが含まれるパケットのみを選択して、これらのパケットの格納データを優先して復号し、再生することが可能となる。例えば配信遅延などによってGOP単位の全符号化データのパケット受信が間に合わない場合などに、ランダムアクセスポイントデータを優先して復号、再生することで、表示部の画像表示を継続させるといった処理が可能となる。
[8.NALユニットをさらに分割したNALユニットフラグメント格納パケットを利用した通信処理構成について]
上述したように、GOPの分割データである1つのNALユニット、または複数のNALユニットを含むパケットを利用したデータ送受信を行うことで、ネットワーク上の1つの転送パケットのデータ量の削減が実現される。
上述したように、GOPの分割データである1つのNALユニット、または複数のNALユニットを含むパケットを利用したデータ送受信を行うことで、ネットワーク上の1つの転送パケットのデータ量の削減が実現される。
しかし、例えば高画質の画像データである4Kコンテンツや8Kコンテンツなど、データ量が多い画像データについては、これらの大容量画像データの符号化処理によって生成するNALユニットのデータ量が増大する。すなわち、1つのNALユニットそのもののデータ量が非常に大きくなる場合が想定される。
IPレイヤにおけるデータ転送処理において、例えばイーサネット(登録商標)を介したデータ転送を行う場合、IPパケットをイーサネット(登録商標)で規定される最大データ転送単位(MTU:Maximum Transfer Unit)以下のMACフレームを生成して転送することが必要となる。
すなわち最大データ転送単位(MTU)の規定されたネットワークを介してパケットを転送する場合には、MTU以上のデータ量を持つIPパケットについて、MTUで規定するデータ量以下に分割するフラグメント処理を実行し、各分割データを格納した複数のMACフレームを生成して転送する処理が必須となる。
すなわち最大データ転送単位(MTU)の規定されたネットワークを介してパケットを転送する場合には、MTU以上のデータ量を持つIPパケットについて、MTUで規定するデータ量以下に分割するフラグメント処理を実行し、各分割データを格納した複数のMACフレームを生成して転送する処理が必須となる。
例えばイーサネット(登録商標)の規定するMACフレームのフレーム単位の最大データ転送量(MTU)は約1500バイトである。
MACフレームは、例えば図15に示す構成を有し、先に図10を参照して説明したIPパケットの先頭にMACヘッダを設定した構成である。例えば図15に示すMACフレームでは、MACフレームのペイロードとなるIPヘッダ〜mdatまでのデータ量を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におけるコンテンツ入力から受信装置30におけるコンテンツ再生までの時間に遅延が発生し、受信装置30におけるコンテンツの再生遅延が発生する可能性が高まることになる。
以下では、このような事態を防止する構成について説明する。
以下に説明する実施例において、送信装置20は、パケット生成処理段階におけるHTTPレイヤにおいて、パケットのデータサイズを所定サイズ以下に設定する。具体的には、通信路において想定される最大データ転送単位(MTU:Maximum Transfer Unit)以下の小さなデータサイズとする。具体的には、例えば1つのNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成して送信する。
以下に説明する実施例において、送信装置20は、パケット生成処理段階におけるHTTPレイヤにおいて、パケットのデータサイズを所定サイズ以下に設定する。具体的には、通信路において想定される最大データ転送単位(MTU:Maximum Transfer Unit)以下の小さなデータサイズとする。具体的には、例えば1つのNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成して送信する。
前述したように、例えばイーサネット(登録商標)の規定するMACフレームのフレーム単位の一般的な最大データ転送量(MTU)は約1500バイトである。
送信装置20のデータ処理部はHTTPパケットの生成段階で、このMTUを考慮したパケット生成を行う。例えば、HTTPパケットを格納したMACフレームのフレームサイズが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パケットに格納して配信する。
なお、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)は、先に図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パケットと呼ぶ。
また、サブGOPメディアセグメントの構成データを分割して生成したHTTPパケットをNALユニットフラグメント対応HTTPパケットと呼ぶ。
図16に示す例では、図16(a)に示すサブGOPメディアセグメントの構成データを4つのHTTPパケット(b1)〜(b4)に分割した例を示している。
(b1)〜(b4)に示す4つのNALユニットフラグメント対応HTTPパケットの各々は、このHTTPパケットを図15に示すMACフレーム構成とした場合、MACヘッダ以外のデータ部のデータ量が1500バイト以下になるようなデータ量に設定する。
(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ヘッダに記録する。
このために必要となる情報を付加情報としてHTTPヘッダに記録する。
図16(b1)に示すメタデータ格納型NALユニットフラグメント対応HTTPパケットのHTTPヘッダには、以下の付加情報を記録する。
*NALユニットフラグメントヘッダ[X−NALUFragmentSubSegmentHeader]
*ムービーフラグメントシーケンス番号[X−MovieFragmentSequenceNumber]
*アクセスポイント情報[X−SAP]
*NALユニットフラグメントヘッダ[X−NALUFragmentSubSegmentHeader]
*ムービーフラグメントシーケンス番号[X−MovieFragmentSequenceNumber]
*アクセスポイント情報[X−SAP]
NALユニットフラグメントヘッダは、そのHTTPパケットが、
メタデータ格納型NALユニットフラグメント対応HTTPパケットであるか、
メディアデータ格納型NALユニットフラグメント対応HTTPパケットであるか、
を識別するための識別情報である。
メタデータ格納型NALユニットフラグメント対応HTTPパケットであるか、
メディアデータ格納型NALユニットフラグメント対応HTTPパケットであるか、
を識別するための識別情報である。
ムービーフラグメントシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号であり、サブGOPメディアセグメントに格納されたNALユニットの配列情報である。このシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号をそのままコピーして記録する。
アクセスポイント情報は、このHTTPパケットの生成元となったサブGOPセグメント(図16(a)のサブGOPメディアセグメント)に格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
受信装置は、このアクセスポイント情報(X−SAP)を参照することで、そのHTTPパケットが、ランダムアクセスポイントとなるNALユニットを含むサブGOPセグメントの構成データに基づいて生成されたデータであるか否かを即座に判別することができる。
受信装置は、このアクセスポイント情報(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]
*ムービーフラグメントシーケンス番号[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)として格納したパケットである。
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パケットのLCTヘッダに記録されるパケットシーケンス番号を参照することで判別可能である。なお、具体的な送信パケットの構成、およびLCTヘッダ構成については、後述する。
従って、例えばHTTPパケットをLCTパケットに格納して送信する構成では、HTTPヘッダに設定するNALユニット内位置識別情報は、位置が先頭領域のデータを格納したパケットのみを識別する設定としてもよい。すなわち、NALユニット内位置識別情報=X−StartNALUFragmentSubSegmentのみを記録し、この後に続くデータは、LCTヘッダのシーケンス番号を参照して配列する構成としてもよい。
アクセスポイント情報は、このHTTPパケットの生成元となったサブGOPセグメント(図16(a)のサブGOPメディアセグメント)に格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
受信装置は、このアクセスポイント情報(X−SAP)を参照することで、そのHTTPパケットが、ランダムアクセスポイントとなるNALユニットを含むサブGOPセグメントの構成データに基づいて生成されたデータであるか否かを即座に判別することができる。
受信装置は、このアクセスポイント情報(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
・・・」
図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パケットであることを示す情報として記録される。
NALユニットフラグメントヘッダは、
「X−NALUFragmentSubSegmentHeader」
である。
このNALユニットフラグメントヘッダは、このHTTPパケットが、メタデータ格納型NALユニットフラグメント対応HTTPパケットであることを示す情報として記録される。
また、上記のHTTPヘッダ情報中、
ムービーフラグメントシーケンス番号は、
「X−MovieFragmentSequenceNumber」
である。
このムービーフラグメントシーケンス番号は、上述したように、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号であり、サブGOPメディアセグメントに格納されたNALユニットの配列情報である。このシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号をそのままコピーして記録する。
ムービーフラグメントシーケンス番号は、
「X−MovieFragmentSequenceNumber」
である。
このムービーフラグメントシーケンス番号は、上述したように、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号であり、サブGOPメディアセグメントに格納されたNALユニットの配列情報である。このシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号をそのままコピーして記録する。
また、上記のHTTPヘッダ情報中、
アクセスポイント情報は、
「X−SAP」
である。
このアクセスポイント情報は、このHTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
アクセスポイント情報は、
「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
・・・」
図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内位識別情報として記録される。
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)に記録されたシーケンス番号をそのままコピーして記録する。
ムービーフラグメントシーケンス番号は、
「X−MovieFragmentSequenceNumber」
である。
このムービーフラグメントシーケンス番号は、上述したように、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号であり、サブGOPメディアセグメントに格納されたNALユニットの配列情報である。このシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号をそのままコピーして記録する。
また、上記のHTTPヘッダ情報中、
NALユニット内位置識別情報は、
「X−StartNALUFragmentSubSegment」
である。
このNALユニット内位置識別情報は、パケットに格納したNALユニットフラグメント(NALf)が、分割前のNALユニットのどの位置に対応するフラグメントであるかを示す情報である。
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)として格納したパケットである。
NALユニット内位置識別情報=X−MiddleNALUFragmentSubSegmentであるパケットは、分割前のNALユニットの中間領域のNALユニットフラグメント(NALf)をメディアデータ(mdat)として格納したパケットである。
NALユニット内位置識別情報=X−EndNALUFragmentSubSegmentであるパケットは、分割前のNALユニットの末尾領域のNALユニットフラグメント(NALf)をメディアデータ(mdat)として格納したパケットである。
また、上記のHTTPヘッダ情報中、
アクセスポイント情報は、
「X−SAP」
である。
このアクセスポイント情報は、このHTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
アクセスポイント情報は、
「X−SAP」
である。
このアクセスポイント情報は、このHTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
[9.送信装置と受信装置の処理シーケンスについて]
次に、図19、図20に示すフローチャートを参照して送信装置と受信装置の実行する処理シーケンスについて説明する。
次に、図19、図20に示すフローチャートを参照して送信装置と受信装置の実行する処理シーケンスについて説明する。
まず、図19に示すフローチャートを参照して送信装置20の実行する処理シーケンスについて説明する。
図19に示すフローは、図16を参照して説明した例えば図16(a)に示すサブGOPメディアセグメントに基づいて生成するメタデータ格納型NALユニットフラグメント対応HTTPパケット、あるいはメディアデータ格納型NALユニットフラグメント対応HTTPパケットの生成と送信処理のシーケンスを説明するフローである。
この処理は、送信装置20のデータ処理部において実行する。データ処理部は、プログラム実行機能を有するCPUを備え、例えば記憶部に格納されたプログラムに従って、図19に示すフローに従った処理を実行する。
以下、各ステップの処理について、順次、説明する。
図19に示すフローは、図16を参照して説明した例えば図16(a)に示すサブGOPメディアセグメントに基づいて生成するメタデータ格納型NALユニットフラグメント対応HTTPパケット、あるいはメディアデータ格納型NALユニットフラグメント対応HTTPパケットの生成と送信処理のシーケンスを説明するフローである。
この処理は、送信装置20のデータ処理部において実行する。データ処理部は、プログラム実行機能を有するCPUを備え、例えば記憶部に格納されたプログラムに従って、図19に示すフローに従った処理を実行する。
以下、各ステップの処理について、順次、説明する。
(ステップS101)
まず、送信装置のデータ処理部は、送信対象となるコンテンツの符号化処理を実行する。例えばMP4ファイルフォーマットに従った符号化処理を実行する。
まず、送信装置のデータ処理部は、送信対象となるコンテンツの符号化処理を実行する。例えばMP4ファイルフォーマットに従った符号化処理を実行する。
(ステップS102)
次に、送信装置は、サブGOPメディアセグメント対応のメディアデータ(mdat)を生成する。この処理は、先に図5他を参照して説明したサブGOPメディアセグメントに格納するメディアデータ(mdat)を生成する処理である。MP4符号化データであるGOPデータの一部、すなわちGOPを構成する1つ以上のNALユニットを構成データとするメディアデータ(mdat)を生成する。
次に、送信装置は、サブGOPメディアセグメント対応のメディアデータ(mdat)を生成する。この処理は、先に図5他を参照して説明したサブGOPメディアセグメントに格納するメディアデータ(mdat)を生成する処理である。MP4符号化データであるGOPデータの一部、すなわちGOPを構成する1つ以上のNALユニットを構成データとするメディアデータ(mdat)を生成する。
(ステップS103)
次に、送信装置は、ステップS102で生成したメディアデータ(mdat)に対応する属性情報であるメタデータ(moof)を生成する。
次に、送信装置は、ステップS102で生成したメディアデータ(mdat)に対応する属性情報であるメタデータ(moof)を生成する。
(ステップS104)
次に、送信装置は、サブGOPメディアセグメントに対応するメタデータであるmsdh、sidxを生成する。先に図5他を参照して説明したサブGOPメディアセグメントに格納するメタデータである。
次に、送信装置は、サブGOPメディアセグメントに対応するメタデータであるmsdh、sidxを生成する。先に図5他を参照して説明したサブGOPメディアセグメントに格納するメタデータである。
(ステップS105)
次に、送信装置は、サブGOPメディアセグメント格納用のメタデータ(mdat)を分割してNALユニットフラグメント(Nalf)を生成する。なお、分割処理は、例えばMACフレームの一般的なMTUに従い、MACフレームとした場合のペイロードが約1500バイト以下となるように分割処理を実行する。
次に、送信装置は、サブGOPメディアセグメント格納用のメタデータ(mdat)を分割してNALユニットフラグメント(Nalf)を生成する。なお、分割処理は、例えばMACフレームの一般的なMTUに従い、MACフレームとした場合のペイロードが約1500バイト以下となるように分割処理を実行する。
(ステップS106)
次に、送信装置は、メタデータ格納型NALユニットフラグメント対応HTTPパケットと、NALユニットフラグメントを格納したメディアデータ格納型NALユニットフラグメント対応HTTPパケットのパケットヘッダを生成する。
これは、先に図16、図17、図18を参照して説明したHTTPヘッダ情報の生成処理である。
次に、送信装置は、メタデータ格納型NALユニットフラグメント対応HTTPパケットと、NALユニットフラグメントを格納したメディアデータ格納型NALユニットフラグメント対応HTTPパケットのパケットヘッダを生成する。
これは、先に図16、図17、図18を参照して説明したHTTPヘッダ情報の生成処理である。
メタデータ格納型NALユニットフラグメント対応HTTPパケットのHTTPヘッダには、以下の情報を記録する。
まず、このHTTPパケットがメタデータ格納型NALユニットフラグメント対応HTTPパケットであることを示すNALユニットフラグメントヘッダを記録する。
さらに、サブGOPメディアセグメントに格納されたNALユニットの配列情報に相当するムービーフラグメントシーケンス番号を記録する。このシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号をそのままコピーして記録する。
さらに、アクセスポイント情報「X−SAP」を記録する。
このアクセスポイント情報は、このHTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
まず、このHTTPパケットがメタデータ格納型NALユニットフラグメント対応HTTPパケットであることを示すNALユニットフラグメントヘッダを記録する。
さらに、サブGOPメディアセグメントに格納されたNALユニットの配列情報に相当するムービーフラグメントシーケンス番号を記録する。このシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号をそのままコピーして記録する。
さらに、アクセスポイント情報「X−SAP」を記録する。
このアクセスポイント情報は、このHTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
一方、メディアデータ格納型NALユニットフラグメント対応HTTPパケットのパケットヘッダには以下の情報を記録する。
GOP内位識別情報:HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPのどの位置にあるかを示すデータであり、
先頭領域の場合は、「X−StartOfGOP」、
中間領域の場合は、「X−MiddleOfGOP」、
末尾領域の場合は、「X−EndOfGOP」、
これらのいずれかのデータを記録する。
GOP内位識別情報:HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPのどの位置にあるかを示すデータであり、
先頭領域の場合は、「X−StartOfGOP」、
中間領域の場合は、「X−MiddleOfGOP」、
末尾領域の場合は、「X−EndOfGOP」、
これらのいずれかのデータを記録する。
ムービーフラグメントシーケンス番号:上述したように、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号であり、サブGOPメディアセグメントに格納されたNALユニットの配列情報である。このシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号をそのままコピーして記録する。
NALユニット内位置識別情報:パケットに格納したNALユニットフラグメント(NALf)が、分割前のNALユニットのどの位置に対応するフラグメントであるかを示す情報である。
アクセスポイント情報「X−SAP」:アクセスポイント情報は、このHTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
送信装置は、ステップS106において、上記のように、メタデータ格納型NALユニットフラグメント対応HTTPパケットと、NALユニットフラグメントを格納したメディアデータ格納型NALユニットフラグメント対応HTTPパケットのパケットヘッダを生成する。
(ステップS107)
次に、送信装置は、ステップS107においてステップS106で生成したHTTPヘッダを設定した以下のHTTTPパケットを生成する。
メタデータ格納型NALユニットフラグメント対応HTTPパケット
メディアデータ格納型NALユニットフラグメント対応HTTPパケット
これらの各HTTPパケットを生成する。
次に、送信装置は、ステップS107においてステップS106で生成したHTTPヘッダを設定した以下のHTTTPパケットを生成する。
メタデータ格納型NALユニットフラグメント対応HTTPパケット
メディアデータ格納型NALユニットフラグメント対応HTTPパケット
これらの各HTTPパケットを生成する。
(ステップS108〜S109)
次に、送信装置は、生成したHTTPパケットに対して、LCTヘッダ、UDPヘッダ、IPヘッダを設定してIPパケットを生成して送信する。送信処理は、インターネット等の通信ネットワークまたは放送波のいずれか、または両通信路を介して実行する。
次に、送信装置は、生成したHTTPパケットに対して、LCTヘッダ、UDPヘッダ、IPヘッダを設定してIPパケットを生成して送信する。送信処理は、インターネット等の通信ネットワークまたは放送波のいずれか、または両通信路を介して実行する。
なお、図19に示すフローは、メディアセグメントに基づいて生成するパケットの生成と送信処理シーケンスを説明するフローである。初期化セグメントに基づくパケット生成に際しては、初期化セグメントの構成データの生成の後、HTTPヘッダに初期化セグメントであることを示すセグメント識別子を記録する処理などを行なうことになる。
次に、図20、図21に示すフローチャートを参照して受信装置において実行するパケット受信からコンテンツ再生に至るまでの処理シーケンスについて説明する。
この処理は、受信装置30のデータ処理部において実行する。データ処理部は、プログラム実行機能を有するCPUを備え、例えば記憶部に格納されたプログラムに従って、図20〜図21に示すフローに従った処理を実行する。
以下、各ステップの処理について、順次、説明する。
この処理は、受信装置30のデータ処理部において実行する。データ処理部は、プログラム実行機能を有するCPUを備え、例えば記憶部に格納されたプログラムに従って、図20〜図21に示すフローに従った処理を実行する。
以下、各ステップの処理について、順次、説明する。
(ステップS201)
まず、ステップS201において、受信装置は、ユーザによる再生コンテンツの指定情報を入力する。例えば予め送信装置から受信している番組表等のコンテンツ一覧リストを表示部に表示し、この表示情報に対するユーザ入力情報に基づいて再生コンテンツを決定する。
まず、ステップS201において、受信装置は、ユーザによる再生コンテンツの指定情報を入力する。例えば予め送信装置から受信している番組表等のコンテンツ一覧リストを表示部に表示し、この表示情報に対するユーザ入力情報に基づいて再生コンテンツを決定する。
(ステップS202)
次に受信装置は、再生対象として選択された選択コンテンツに対応する初期化セグメントを含むパケットを受信して初期化セグメントを取得する。
なお、先に図9を参照して説明したように初期化セグメントを格納したHTTPパケットのHTTPヘッダには、セグメント識別情報が記録されており、この識別情報を参照することで初期化セグメントを格納したHTTPパケットであることが確認できる。
次に受信装置は、再生対象として選択された選択コンテンツに対応する初期化セグメントを含むパケットを受信して初期化セグメントを取得する。
なお、先に図9を参照して説明したように初期化セグメントを格納したHTTPパケットのHTTPヘッダには、セグメント識別情報が記録されており、この識別情報を参照することで初期化セグメントを格納したHTTPパケットであることが確認できる。
(ステップS203)
受信装置は、受信した初期化セグメントの格納データに従って受信装置の初期化処理を実行する。具体的には初期化セグメントに格納されたコーデック設定パラメータ等を取得し、取得パラメータに従ってコーデックの設定等を行う。
受信装置は、受信した初期化セグメントの格納データに従って受信装置の初期化処理を実行する。具体的には初期化セグメントに格納されたコーデック設定パラメータ等を取得し、取得パラメータに従ってコーデックの設定等を行う。
(ステップS204)
次に、受信装置は、ステップS201で選択した選択コンテンツに対応するサブGOPメディアセグメントの分割パケットである以下のパケットを受信する。
メタデータ格納型NALユニットフラグメント対応HTTPパケットを格納したIPパケット、
メディアデータ格納型NALユニットフラグメント対応HTTPパケットを格納したIPパケット、
これらの各パケットを受信する。
次に、受信装置は、ステップS201で選択した選択コンテンツに対応するサブGOPメディアセグメントの分割パケットである以下のパケットを受信する。
メタデータ格納型NALユニットフラグメント対応HTTPパケットを格納したIPパケット、
メディアデータ格納型NALユニットフラグメント対応HTTPパケットを格納したIPパケット、
これらの各パケットを受信する。
(ステップS205)
次に、受信装置は、受信パケットのHTTPヘッダからパケットに格納されたデータの以下の属性情報を取得する。
*NALユニットフラグメントヘッダ
*GOP内位置識別情報
*ムービーフラグメントシーケンス番号
*NALユニット内位置識別情報
*アクセスポイント情報
次に、受信装置は、受信パケットのHTTPヘッダからパケットに格納されたデータの以下の属性情報を取得する。
*NALユニットフラグメントヘッダ
*GOP内位置識別情報
*ムービーフラグメントシーケンス番号
*NALユニット内位置識別情報
*アクセスポイント情報
上述したように、NALユニットフラグメントヘッダは、HTTPパケットがメタデータ格納型NALユニットフラグメント対応HTTPパケットであることを示す情報である。
GOP内位識別情報は、HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPのどの位置にあるかを示すデータである。
ムービーフラグメントシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号であり、サブGOPメディアセグメントに格納されたNALユニットの配列情報である。
NALユニット内位置識別情報は、パケットに格納したNALユニットフラグメント(NALf)が、分割前のNALユニットのどの位置に対応するフラグメントであるかを示す情報である。
アクセスポイント情報「X−SAP」は、このHTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
GOP内位識別情報は、HTTPパケットに格納されたメディアデータ(mdat)が1つのGOPのどの位置にあるかを示すデータである。
ムービーフラグメントシーケンス番号は、分割前のサブGOPメディアセグメントのメタデータ(moof)に記録されたシーケンス番号であり、サブGOPメディアセグメントに格納されたNALユニットの配列情報である。
NALユニット内位置識別情報は、パケットに格納したNALユニットフラグメント(NALf)が、分割前のNALユニットのどの位置に対応するフラグメントであるかを示す情報である。
アクセスポイント情報「X−SAP」は、このHTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれるか否かを示す情報である。
(ステップS206)
次に、受信装置は、ステップS206において、アクセスポイントデータを優先して復号、再生を行なう特殊再生を実行するか否かを判定する。
例えば、ランダムアクセス再生処理などのコンテンツ途中からの再生処理などの特殊再生処理を実行するか否かを判定する。この判定処理はユーザの入力情報等に基づいて決定する。
特殊再生処理を実行する場合は、ステップS207に進む。通常再生処理を実行する場合はステップS208に進む。
次に、受信装置は、ステップS206において、アクセスポイントデータを優先して復号、再生を行なう特殊再生を実行するか否かを判定する。
例えば、ランダムアクセス再生処理などのコンテンツ途中からの再生処理などの特殊再生処理を実行するか否かを判定する。この判定処理はユーザの入力情報等に基づいて決定する。
特殊再生処理を実行する場合は、ステップS207に進む。通常再生処理を実行する場合はステップS208に進む。
(ステップS207)
ステップS206において、ランダムアクセス再生処理などの特殊再生処理を実行すると判定した場合ステップS207に進む。ステップS207では、パケットのHTTPヘッダに記録されたアクセスポイント情報[X−SAP]が、アクセスポイントありのデータを示すパケットを選択する。すなわち、HTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれることを示すパケットを復号対象として選択して、復号処理を実行して再生処理を行なう。
この場合、GOP全体を揃えることなく復号再生することが可能となる。
ステップS207の処理の後、ステップS211に進む。
ステップS206において、ランダムアクセス再生処理などの特殊再生処理を実行すると判定した場合ステップS207に進む。ステップS207では、パケットのHTTPヘッダに記録されたアクセスポイント情報[X−SAP]が、アクセスポイントありのデータを示すパケットを選択する。すなわち、HTTPパケットの生成元となったサブGOPセグメントに格納されたNALユニットにランダムアクセスポイントとなるデータが含まれることを示すパケットを復号対象として選択して、復号処理を実行して再生処理を行なう。
この場合、GOP全体を揃えることなく復号再生することが可能となる。
ステップS207の処理の後、ステップS211に進む。
(ステップS208)
一方、ステップS206において、ランダムアクセス再生処理などの特殊再生処理を実行せず、通常再生処理を実行すると判定した場合ステップS208に進む。ステップS208では、受信装置は、HTTPヘッダから取得した識別情報に従って、受信した複数のメディアデータ格納型NALユニットフラグメント対応HTTPパケットに格納されたNALユニットフラグメントを再配列し、GOP単位データ再構築する。
一方、ステップS206において、ランダムアクセス再生処理などの特殊再生処理を実行せず、通常再生処理を実行すると判定した場合ステップS208に進む。ステップS208では、受信装置は、HTTPヘッダから取得した識別情報に従って、受信した複数のメディアデータ格納型NALユニットフラグメント対応HTTPパケットに格納されたNALユニットフラグメントを再配列し、GOP単位データ再構築する。
(ステップS209〜S210)
次に、受信装置は、再構築したGOPデータに対する復号処理を実行し、復号データの再生処理を行なう。
次に、受信装置は、再構築したGOPデータに対する復号処理を実行し、復号データの再生処理を行なう。
(ステップS211)
次に、受信装置は、データ再生処理が終了したか否かを判定し、終了していない場合は、ステップS204に戻り、ステップS204以下の処理を繰り返し実行する。
ステップS211において再生処理終了と判定した場合は処理を終了する。
次に、受信装置は、データ再生処理が終了したか否かを判定し、終了していない場合は、ステップS204に戻り、ステップS204以下の処理を繰り返し実行する。
ステップS211において再生処理終了と判定した場合は処理を終了する。
なお、例えばランダムアクセス再生等、特定の再生位置の画像のみを再生する場合には、メタデータ格納型NALユニットフラグメント対応HTTPパケットにランダムアクセスポイント情報であるsidxデータを参照し、sidxデータから算出される1以上のNALユニットフラグメント(NALf)のみを処理対象として処理を行なうことができる。すなわち例えばIピクチャに相当する符号化画像データのみを選択して、これを復号して再生する処理を実行する。
この場合、GOP全体データを再配列する処理を行なうことなくランダムアクセスポイントのデータのみを選択して再生することが可能である。
この場合、GOP全体データを再配列する処理を行なうことなくランダムアクセスポイントのデータのみを選択して再生することが可能である。
[10.拡張ヘッダに付加情報を記録した実施例について]
上述した実施例では、NALユニットフラグメント(NALf)の配列やGOP再構成処理に適用する情報、さらにアクセスポイント情報等、受信装置側における処理をスムーズに実行させるための付加情報をHTTPパケットに設定した実施例について説明した。
しかし、付加情報の記録先はHTTPヘッダに限らず、様々な記録先とすることが可能である。
以下、拡張ヘッダに付加情報を記録した実施例について説明する。
上述した実施例では、NALユニットフラグメント(NALf)の配列やGOP再構成処理に適用する情報、さらにアクセスポイント情報等、受信装置側における処理をスムーズに実行させるための付加情報をHTTPパケットに設定した実施例について説明した。
しかし、付加情報の記録先はHTTPヘッダに限らず、様々な記録先とすることが可能である。
以下、拡張ヘッダに付加情報を記録した実施例について説明する。
図22、図23を参照して、拡張ヘッダに付加情報を記録した実施例について説明する。
図22、図23に示す例は、HTTPヘッダに後続するパケット領域に新たな拡張ヘッダを挿入し、この拡張ヘッダに付加情報を記録した例である。
図22、図23に示す例は、HTTPヘッダに後続するパケット領域に新たな拡張ヘッダを挿入し、この拡張ヘッダに付加情報を記録した例である。
図22には、
拡張ヘッダに記録する付加情報のリストを示しており、図23には、拡張ヘッダを有する3種類のHTTPパケットの例を示している。
図23には、
(1)初期化セグメントHTTPパケット、
(2)メディアセグメントベースのメタデータ格納型NALユニットフラグメント対応HTTPパケット、
(3)メディアセグメントベースのメディアデータ格納型NALユニットフラグメント対応HTTPパケット、
これらの3種類のHTTPパケットの例を示している。
各パケットのHTTPヘッダの次に拡張ヘッダを設定している。
拡張ヘッダに記録する付加情報のリストを示しており、図23には、拡張ヘッダを有する3種類のHTTPパケットの例を示している。
図23には、
(1)初期化セグメントHTTPパケット、
(2)メディアセグメントベースのメタデータ格納型NALユニットフラグメント対応HTTPパケット、
(3)メディアセグメントベースのメディアデータ格納型NALユニットフラグメント対応HTTPパケット、
これらの3種類のHTTPパケットの例を示している。
各パケットのHTTPヘッダの次に拡張ヘッダを設定している。
この拡張ヘッダに、図22に示すリストに従った付加情報を記録する。記録する付加情報の例について、図22を参照して説明する。図22に示すように付加情報は以下の情報から構成される。
(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)
(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)
例えば(a)セグメント識別情報は、8ビットデータとし、初期化セグメントの場合は1を設定し、その他のセグメントの場合は0を設定する。
なお、メディアセグメントの場合、HTTPヘッダに記録されるコンテンツ位置情報(ContentLocation)をGOP単位データの位置情報に設定すれば、このコンテンツ位置情報を参照することで各GOPデータの区別が可能となる。
なお、メディアセグメントの場合、HTTPヘッダに記録されるコンテンツ位置情報(ContentLocation)をGOP単位データの位置情報に設定すれば、このコンテンツ位置情報を参照することで各GOPデータの区別が可能となる。
(b)GOP内位置識別情報は、8ビットデータとして、例えば、ビット値を以下の設定とする。
GOPの先頭位置のデータ(StartofGOP)=1
GOPの中間位置のデータ(MiddleofGOP)=2
GOPの末尾位置のデータ(EndofGOP)=3
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、
この設定で各ビット値を記録する。
分割前のNALユニットの先頭位置(StarNALUnitFragmentSubSegment)=1、
分割前のNALユニットの中間位置(MiddleNALUnitFragmentSubSegment)=2、
分割前のNALユニットの末尾位置(EndNALUnitFragmentSubSegment)=3、
この設定で各ビット値を記録する。
(f)アクセスポイント情報(SAPIndicator)は、HTTPヘッダの記録情報として説明した[X−SAP]と同様のデータであり、8ビットデータとする。パケットが、アクセスポイントを含むNALユニット格納セグメントから生成したパケットである場合は[1]、その他のパケットである場合は[0]を記録する。
図23には、
(1)初期化セグメントHTTPパケット、
(2)メディアセグメントベースのメタデータ格納型NALユニットフラグメント対応HTTPパケット、
(3)メディアセグメントベースのメディアデータ格納型NALユニットフラグメント対応HTTPパケット、
これらの3種類のHTTPパケットの拡張ヘッダに、図22に示す(a)〜(f)の各付加情報を設定した例を示している。
(1)初期化セグメントHTTPパケット、
(2)メディアセグメントベースのメタデータ格納型NALユニットフラグメント対応HTTPパケット、
(3)メディアセグメントベースのメディアデータ格納型NALユニットフラグメント対応HTTPパケット、
これらの3種類のHTTPパケットの拡張ヘッダに、図22に示す(a)〜(f)の各付加情報を設定した例を示している。
送信装置は、このような拡張ヘッダを設定して受信装置に送信する。一方、受信装置は、この拡張ヘッダのセグメント識別情報を参照して、パケットに格納されたセグメントが初期化セグメントを格納したHTTPパケットであるか、メタデータ格納型NALユニットフラグメント対応HTTPパケットであるか、メディアデータ格納型NALユニットフラグメント対応HTTPパケットであるかを判別する。
さらに、受信装置は、パケットがメディアデータ格納型NALユニットフラグメント対応HTTPパケットであると識別した場合、拡張ヘッダのGOP内位置識別情報や、NALユニット内位置識別情報を参照することで、各NALユニットフラグメント(NALf)の再配列、さらにGOPの再構築を行うことが可能となる。
さらに、アクセスポイント情報(SAPIndicator)を参照することで、パケットが、アクセスポイントを含むNALユニット格納セグメントから生成したパケットであるか否かを判定することができる。
[11.LCTヘッダに付加情報を記録した実施例について]
前述したように、マルチキャストやブロードキャスト(MC/BC)型のストリーミングに適用可能なトランスポートプロトコルには、例えばRTP(Real−time Transport Protocol)やFLUTE(File Delivery over Uni−directional Transport)がある。
前述したように、マルチキャストやブロードキャスト(MC/BC)型のストリーミングに適用可能なトランスポートプロトコルには、例えばRTP(Real−time Transport Protocol)やFLUTE(File Delivery over Uni−directional Transport)がある。
FLUTEプロトコルに従って設定されるパケットには、FLUTEプロトコルに従ったヘッダ情報であるLCTヘッダが設定される。
すなわち、先に図10を参照して説明したIPパケット内のLCTヘッダである。
以下、このLCTヘッダに、NALユニットフラグメント(NALf)の再配列や、GOP再構成処理に適用する情報等、受信装置側における処理をスムーズに実行させるための付加情報を記録した実施例について説明する。
すなわち、先に図10を参照して説明したIPパケット内のLCTヘッダである。
以下、このLCTヘッダに、NALユニットフラグメント(NALf)の再配列や、GOP再構成処理に適用する情報等、受信装置側における処理をスムーズに実行させるための付加情報を記録した実施例について説明する。
FLUTEプロトコルに従って設定されるLCTヘッダの構成例を図24に示す。
LCTヘッダに設定される主なデータフィールドには、例えば以下のフィールドがある。
CCI(Congestion Control Information):各フィールドの長さや輻輳制御情報等を記録するフィールドである。
TSI(Transport Session Identifier):パケット転送のセッション情報を記録するフィールドである。
TOI(Transport Object Identifier):パケット転送のシーケンス等を記録するフィールドである。
ヘッダ拡張部(Header Extensions):様々な拡張データを記録することができるフィールドである。
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ユニットを正しい順に配列する構成としてもよい。
前述したように、例えばHTTPヘッダ等に記録する付加情報であるGOP内位置情報について、先頭位置を示すX−StartofGOPのみを記録し、その他のGOP内データの配列順は、LCTヘッダ内のTOIを参照してパケットシーケンスを取得し、パケットシーケンスに従ってGOP内のNALユニットを正しい順に配列する構成としてもよい。
同様に、NALユニットフラグメント(NALf)の配列情報についても上記のTOIを参照して、データ送信順を確認して再配列を行うことが可能である。例えばHTTPヘッダ等に記録する付加情報であるNALユニット内位置識別情報を、先頭位置のNALユニットフラグメントを格納したパケットのみ、HTTPヘッダに記録する。後続のNALユニットフラグメント配列は、LCTヘッダのTOIからパケットシーケンスを解析して配列することが可能である。
図24に示すように、LCTヘッダ内には様々なデータを記録できるヘッダ拡張部(Header Extensions)が設定される。このヘッダ拡張部にNALユニットフラグメントの再配列や、GOP再構成処理に適用する情報等、受信装置側における処理をスムーズに実行させるための付加情報を記録することが可能である。
LCTヘッダのヘッダ拡張部に対するデータ記録構成について、図25を参照して説明する。
LCTヘッダのヘッダ拡張部に、データを記録する場合のフォーマットには2つの種類がある。
図25(1)は、記録情報の長さが自由に設定可能なフォーマットである。
図25(2)は、記録情報の長さが固定されたフォーマットである。
LCTヘッダのヘッダ拡張部に、データを記録する場合のフォーマットには2つの種類がある。
図25(1)は、記録情報の長さが自由に設定可能なフォーマットである。
図25(2)は、記録情報の長さが固定されたフォーマットである。
HET(Header Extension Type)には、拡張ヘッダの種類を示す拡張ヘッダ識別情報(数値)を記録する。図25(1)のフォーマットは127までの値が利用可能であり、図25(2)のフォーマットは128以上に設定することが規定されている。
HET(Header Extension Length)には、拡張ヘッダの長さを記録する。
HEC(Neader Extension Content)は、拡張ヘッダコンテンツを記録するフィールドであり、任意の拡張情報を記録可能なフィールドである。
HET(Header Extension Length)には、拡張ヘッダの長さを記録する。
HEC(Neader Extension Content)は、拡張ヘッダコンテンツを記録するフィールドであり、任意の拡張情報を記録可能なフィールドである。
図25(2)に示す記録情報の長さが固定されたフォーマットを利用して、NALユニットフラグメントの再配列や、GOP再構成処理に適用する情報等、受信装置側における処理をスムーズに実行させるための付加情報を記録する場合の記録データの構成例を図26に示す。
図26に示すように、
(a)拡張ヘッダ識別情報(HET)は、8ビットデータとして、新たな情報の識別値として、例えば[200]を記録する。
さらに、拡張情報記録部(HEC)に、
(b)セグメント識別情報、
(c)GOP内位置識別情報、
(d)ムービーフラグメントシーケンス番号、
(e)NALユニットフラグメントヘッダ、
(f)NALユニット内位置識別情報、
(g)アクセスポイント情報
これらの各識別情報を記録する。
(a)拡張ヘッダ識別情報(HET)は、8ビットデータとして、新たな情報の識別値として、例えば[200]を記録する。
さらに、拡張情報記録部(HEC)に、
(b)セグメント識別情報、
(c)GOP内位置識別情報、
(d)ムービーフラグメントシーケンス番号、
(e)NALユニットフラグメントヘッダ、
(f)NALユニット内位置識別情報、
(g)アクセスポイント情報
これらの各識別情報を記録する。
例えば(b)セグメント識別情報は、8ビットデータとし、初期化セグメントの場合は1を設定し、その他のセグメントの場合は0を設定する。
なお、メディアセグメントの場合、HTTPヘッダに記録されるコンテンツ位置情報(ContentLocation)をGOP単位データの位置情報に設定すれば、このコンテンツ位置情報を参照することで各GOPデータの区別が可能となる。
なお、メディアセグメントの場合、HTTPヘッダに記録されるコンテンツ位置情報(ContentLocation)をGOP単位データの位置情報に設定すれば、このコンテンツ位置情報を参照することで各GOPデータの区別が可能となる。
(c)GOP内位置識別情報は、8ビットデータとして、例えば、ビット値を以下の設定とする。
GOPの先頭位置のデータ(StartofGOP)=1
GOPの中間位置のデータ(MiddleofGOP)=2
GOPの末尾位置のデータ(EndofGOP)=3
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、
この設定で各ビット値を記録する。
分割前のNALユニットの先頭位置(StarNALUnitFragmentSubSegment)=1、
分割前のNALユニットの中間位置(MiddleNALUnitFragmentSubSegment)=2、
分割前のNALユニットの末尾位置(EndNALUnitFragmentSubSegment)=3、
この設定で各ビット値を記録する。
(g)アクセスポイント情報(SAPIndicator)は、HTTPヘッダの記録情報として説明した[X−SAP]と同様のデータであり、8ビットデータとする。パケットが、アクセスポイントを含むNALユニット格納セグメントから生成したパケットである場合は[1]、その他のパケットである場合は[0]を記録する。
送信装置は、このような拡張ヘッダ情報を含むLCTヘッダを設定して受信装置に送信する。一方、受信装置は、このLCTヘッダ内の拡張ヘッダ情報のセグメント識別情報を参照して、初期化セグメント格納パケットであるか、メタデータ格納型NALユニットフラグメント対応パケットであるか、メディアデータ格納型NALユニットフラグメント対応パケットであるかを判別する。さらに、受信装置は、パケットがメディアデータ格納型NALユニットフラグメント対応パケットであると識別した場合、LCTヘッダの拡張ヘッダ情報に記録されたNALユニット内位置識別情報や、GOP内位置識別情報を参照することで、各パケットに格納されたメディアデータ(mdat)であるNALユニットフラグメント(NALf)を正しい配列とする再配列を行い、さらにGOPの再構成を行うことが可能となる。
さらに、アクセスポイント情報(SAPIndicator)を参照することで、パケットが、アクセスポイントを含むNALユニット格納セグメントから生成したパケットであるか否かを判定することができる。
[12.HEVC符号化データに対する適用例について]
上述した実施例では、MPEG符号化方式に従ったMP4符号化データに対する処理例について説明したが、本開示の処理は、その他の符号化データに足しても適用可能である。例えばHEVC(High Efficiency Video Coding)に従った符号化データに適用することが可能である。
上述した実施例では、MPEG符号化方式に従ったMP4符号化データに対する処理例について説明したが、本開示の処理は、その他の符号化データに足しても適用可能である。例えばHEVC(High Efficiency Video Coding)に従った符号化データに適用することが可能である。
HEVC符号化データの構成について、図27を参照して説明する。
図27に示すように、HEVC符号化処理によって生成される1つのHEVCストリームは、複数のシーケンス(CVS:Coded Video Sequence)と、End of sequence NAL unit(EoB)を有する。
図27に示すように、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)アクセスユニットを有する。
1つのGOPは、ランダムアクセスポイントとなるIRAP(Intra Random Access Point)アクセスユニットを先頭データとし、複数のLP(Leading Picture)アクセスユニットと、TP(Trailing Picture)アクセスユニットを有する。
LPアクセスユニットと、TPアクセスユニットは、何らかの参照ピクチャを参照して復号可能なアクセスユニットである。
ただし、IRAPアクセスユニットから復号を開始した場合には、TPAUについても正常な復号、再生が可能である。
ただし、IRAPアクセスユニットから復号を開始した場合には、TPAUについても正常な復号、再生が可能である。
アクセスユニット(AU)は、複数のNALユニット(Network Abstraction Layer Unit)から構成され、アクセスユニット(AU)は、必ず1つ以上のスライスセグメントNALユニットを含む。
図27に示すように、HEVC符号化処理によって生成される符号化データにも符号化処理単位としてのGOPが設定され、このGOPは、さらに複数のNALユニットに分割される。
先に図5を参照して説明したサブGOPメディアセグメントに、HEVC符号化データにおいて設定されるGOP構成データであるNALユニットを1つ、または複数、格納する構成とする。
先に図5を参照して説明したサブGOPメディアセグメントに、HEVC符号化データにおいて設定されるGOP構成データであるNALユニットを1つ、または複数、格納する構成とする。
さらに、先に図16他を参照して説明したようにNALユニットをさらに分割したNALユニットフラグメント(NALf)を生成して、HTTPパケットに分割格納することが可能である。
このように、HEVC符号化データについても、GOPデータの分割データであるNALユニットをさらに分割したNALユニットフラグメント(NALf)が生成可能である。従って、図16他を参照して説明した処理が可能であり、本開示の処理を適用することができる。
なお、MP4、HEVCに限らず、GOP相当の符号化処理単位を持ち、GOPデータを分割したユニット(NAL)が設定される符号化構成であれば、本開示の処理を適用することが可能である。
なお、MP4、HEVCに限らず、GOP相当の符号化処理単位を持ち、GOPデータを分割したユニット(NAL)が設定される符号化構成であれば、本開示の処理を適用することが可能である。
[13.各装置のハードウェア構成例について]
最後に、図28を参照して、上述した処理を実行する各装置のハードウェア構成例について説明する。
図28は、送信装置20、受信装置30として適用可能な通信装置のハードウェア構成例を示している。
最後に、図28を参照して、上述した処理を実行する各装置のハードウェア構成例について説明する。
図28は、送信装置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の処理として実行可能であるが、符号化処理あるいは復号処理を実行するための専用ハードウェアとしてのコーデックを備えた構成としてもよい。
[14.本開示の構成のまとめ]
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、本明細書において開示した技術は、以下のような構成をとることができる。
(1) 符号化データを格納したパケットを生成するデータ処理部と、
前記データ処理部の生成したパケットを送信する通信部を有し、
前記データ処理部は、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報を設定したパケットを生成して前記通信部を介して送信する通信装置。
(1) 符号化データを格納したパケットを生成するデータ処理部と、
前記データ処理部の生成したパケットを送信する通信部を有し、
前記データ処理部は、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報を設定したパケットを生成して前記通信部を介して送信する通信装置。
(2)前記アクセスポイント情報は、パケット格納データが、SAP(Streeming Access Point)によって指定される符号化データを含むNALユニットに基づいて生成されたデータであるか否かを示す情報である前記(1)に記載の通信装置。
(3)前記データ処理部は、GOPの構成データであるNALユニットを1つ以上含むメディアデータと、該メディアデータ対応のメタデータを格納したサブGOPメディアセグメントをパケット格納データとして生成する前記(1)または(2)に記載の通信装置。
(4)前記データ処理部は、GOPを構成するNALユニットをさらに分割したNALユニットフラグメントを生成して、NALユニットフラグメントを格納した複数のパケットと、前記NALユニットに対応するメタデータを格納したパケットを生成する前記(1)または(2)に記載の通信装置。
(5)前記データ処理部は、送信対象の符号化データを、通信経路上で規定される最大データ転送単位(MTU:Maximum Transfer Unit)以下のデータに分割して生成した分割データを格納したパケットを生成する前記(1)〜(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ユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報が設定されたパケットである通信装置。
前記通信部の受信したパケットを入力して処理を実行するデータ処理部を有し、
前記通信部の受信する前記符号化データ格納パケットの各々は、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報が設定されたパケットである通信装置。
(11)前記データ処理部は、
受信パケットに記録された付加情報である前記アクセスポイント情報を参照して、受信パケットに格納されたデータが、SAP(Streeming Access Point)によって指定される符号化データを含むNALユニットに基づいて生成されたデータであるか否かを判定する処理を実行する前記(10)に記載の通信装置。
受信パケットに記録された付加情報である前記アクセスポイント情報を参照して、受信パケットに格納されたデータが、SAP(Streeming Access Point)によって指定される符号化データを含むNALユニットに基づいて生成されたデータであるか否かを判定する処理を実行する前記(10)に記載の通信装置。
(12)前記データ処理部は、受信パケットに記録された付加情報である前記アクセスポイント情報を参照して、アクセスポイントを含むデータを選択取得して、復号、再生処理を実行する前記(10)または(11)に記載の通信装置。
(13)前記通信部は、前記付加情報をHTTPヘッダに記録したHTTPパケットを受信し、前記データ処理部は、受信パケットのHTTPヘッダから前記付加情報を取得する前記(10)〜(12)いずれかに記載の通信装置。
(14)前記通信部は、前記付加情報を拡張ヘッダに記録したパケットを受信し、
前記データ処理部は、受信パケットの拡張ヘッダから前記付加情報を取得する前記(10)〜(12)いずれかに記載の通信装置。
前記データ処理部は、受信パケットの拡張ヘッダから前記付加情報を取得する前記(10)〜(12)いずれかに記載の通信装置。
(15)前記通信部は、前記付加情報をLCTヘッダに記録したパケットを受信し、前記データ処理部は、受信パケットのLCTヘッダから前記付加情報を取得する前記(10)〜(12)いずれかに記載の通信装置。
(16)前記通信部は、前記パケットを、放送波を介して受信する前記(10)〜(15)いずれかに記載の通信装置。
(17)データ送信装置において実行する通信データ生成方法であり、
データ処理部が、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報を設定したパケットを生成して通信部を介して送信する通信データ生成方法。
データ処理部が、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報を設定したパケットを生成して通信部を介して送信する通信データ生成方法。
(18)データ受信装置において実行する通信データ処理方法であり、
通信部が、送信装置が送信した符号化データ格納パケットを受信するステップと、
データ処理部が、前記通信部の受信したパケットを入力して処理を実行するデータ処理ステップを実行し、
前記通信部の受信する前記符号化データ格納パケットの各々は、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報が設定されたパケットであり、
前記データ処理ステップは、前記通信部の受信したアクセスポイント情報が設定されたパケットを入力して処理を実行するステップである通信データ処理方法。
通信部が、送信装置が送信した符号化データ格納パケットを受信するステップと、
データ処理部が、前記通信部の受信したパケットを入力して処理を実行するデータ処理ステップを実行し、
前記通信部の受信する前記符号化データ格納パケットの各々は、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報が設定されたパケットであり、
前記データ処理ステップは、前記通信部の受信したアクセスポイント情報が設定されたパケットを入力して処理を実行するステップである通信データ処理方法。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本開示の一実施例の構成によれば、通信パケットの格納符号化データが、ランダムアクセス可能な符号化データに基づくデータであるか否かをパケット単位で判別可能とした構成が実現される。
具体的には、送信装置が、符号化データの構成要素であるNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、付加情報として、パケット格納データの元データであるNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報を設定して送信する。受信装置はパケット付加情報を参照してパケット格納データが、ランダムアクセス可能な符号化データに基づいて生成されたデータであるか否かを判別する。
本構成により、通信パケットの格納符号化データが、ランダムアクセス可能な符号化データに基づくデータであるか否かをパケット単位で判別可能とした構成が実現される。
具体的には、送信装置が、符号化データの構成要素であるNALユニット、または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 リムーバブルメディア
20 送信装置
21 データ処理部
22 通信部
30 受信装置
31 データ処理部
32 通信部
50 初期化セグメント
60 メディアセグメント
201 CPU
202 ROM
203 RAM
204 バス
205 入出力インタフェース
206 入力部
207 出力部
208 記憶部
209 通信部
210 ドライブ
211 リムーバブルメディア
Claims (18)
- 符号化データを格納したパケットを生成するデータ処理部と、
前記データ処理部の生成したパケットを送信する通信部を有し、
前記データ処理部は、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報を設定したパケットを生成して前記通信部を介して送信する通信装置。 - 前記アクセスポイント情報は、パケット格納データが、SAP(Streeming Access Point)によって指定される符号化データを含むNALユニットに基づいて生成されたデータであるか否かを示す情報である請求項1に記載の通信装置。
- 前記データ処理部は、
GOPの構成データであるNALユニットを1つ以上含むメディアデータと、該メディアデータ対応のメタデータを格納したサブGOPメディアセグメントをパケット格納データとして生成する請求項1に記載の通信装置。 - 前記データ処理部は、
GOPを構成するNALユニットをさらに分割したNALユニットフラグメントを生成して、NALユニットフラグメントを格納した複数のパケットと、前記NALユニットに対応するメタデータを格納したパケットを生成する請求項1に記載の通信装置。 - 前記データ処理部は、
送信対象の符号化データを、通信経路上で規定される最大データ転送単位(MTU:Maximum Transfer Unit)以下のデータに分割して生成した分割データを格納したパケットを生成する請求項1に記載の通信装置。 - 前記データ処理部は、
HTTPパケットを生成し、前記付加情報を生成パケット内のHTTPヘッダに記録する請求項1に記載の通信装置。 - 前記データ処理部は、
前記付加情報を生成パケット内の拡張ヘッダに記録する請求項1に記載の通信装置。 - 前記データ処理部は、
前記付加情報を生成パケット内のLCTヘッダに記録する請求項1に記載の通信装置。 - 前記通信部は、
前記データ処理部の生成したパケットを、放送波を介してブロードキャスト配信、またはマルチキャスト配信する請求項1に記載の通信装置。 - 送信装置が送信した符号化データ格納パケットを受信する通信部と、
前記通信部の受信したパケットを入力して処理を実行するデータ処理部を有し、
前記通信部の受信する前記符号化データ格納パケットの各々は、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報が設定されたパケットである通信装置。 - 前記データ処理部は、
受信パケットに記録された付加情報である前記アクセスポイント情報を参照して、受信パケットに格納されたデータが、SAP(Streeming Access Point)によって指定される符号化データを含むNALユニットに基づいて生成されたデータであるか否かを判定する処理を実行する請求項10に記載の通信装置。 - 前記データ処理部は、
受信パケットに記録された付加情報である前記アクセスポイント情報を参照して、アクセスポイントを含むデータを選択取得して、復号、再生処理を実行する請求項10に記載の通信装置。 - 前記通信部は、
前記付加情報をHTTPヘッダに記録したHTTPパケットを受信し、
前記データ処理部は、
受信パケットのHTTPヘッダから前記付加情報を取得する請求項10に記載の通信装置。 - 前記通信部は、
前記付加情報を拡張ヘッダに記録したパケットを受信し、
前記データ処理部は、
受信パケットの拡張ヘッダから前記付加情報を取得する請求項10に記載の通信装置。 - 前記通信部は、
前記付加情報をLCTヘッダに記録したパケットを受信し、
前記データ処理部は、
受信パケットのLCTヘッダから前記付加情報を取得する請求項10に記載の通信装置。 - 前記通信部は、
前記パケットを、放送波を介して受信する請求項10に記載の通信装置。 - データ送信装置において実行する通信データ生成方法であり、
データ処理部が、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットを生成し、
パケットに対する付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報を設定したパケットを生成して通信部を介して送信する通信データ生成方法。 - データ受信装置において実行する通信データ処理方法であり、
通信部が、送信装置が送信した符号化データ格納パケットを受信するステップと、
データ処理部が、前記通信部の受信したパケットを入力して処理を実行するデータ処理ステップを実行し、
前記通信部の受信する前記符号化データ格納パケットの各々は、
符号化データの処理単位であるGOP(Group of Pictures)を構成するNALユニット、またはNALユニットをさらに分割したNALユニットフラグメントを格納したパケットであり、付加情報として、パケットに格納したNALユニット、またはNALユニットフラグメントの分割元のNALユニットがランダムアクセスポイントとなるデータを含むか否かを示すアクセスポイント情報が設定されたパケットであり、
前記データ処理ステップは、前記通信部の受信したアクセスポイント情報が設定されたパケットを入力して処理を実行するステップである通信データ処理方法。
Priority Applications (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014006881A JP2015136059A (ja) | 2014-01-17 | 2014-01-17 | 通信装置、通信データ生成方法、および通信データ処理方法 |
KR1020167018108A KR102103054B1 (ko) | 2014-01-17 | 2014-12-01 | 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법 |
MX2016008985A MX384785B (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. |
CN201480072676.XA CN105900446B (zh) | 2014-01-17 | 2014-12-01 | 通信装置、通信数据生成方法和通信数据处理方法 |
US15/110,197 US10178417B2 (en) | 2014-01-17 | 2014-12-01 | Communication apparatus, communication data generation method, and communication data processing method |
PCT/JP2014/081715 WO2015107786A1 (ja) | 2014-01-17 | 2014-12-01 | 通信装置、通信データ生成方法、および通信データ処理方法 |
CA2936164A CA2936164C (en) | 2014-01-17 | 2014-12-01 | Communication apparatus, communication data generation method, and communication data processing method |
EP14878795.5A EP3096533B1 (en) | 2014-01-17 | 2014-12-01 | Communication apparatus, communication data generation method, and communication data processing method |
MX2019009888A MX2019009888A (es) | 2014-01-17 | 2016-07-08 | Aparato de comunicacion, metodo de generacion de datos de comunicacion, y metodo de procesamiento de datos de comunicacion. |
US16/179,444 US10820024B2 (en) | 2014-01-17 | 2018-11-02 | Communication apparatus, communication data generation method, and communication data processing method |
US17/034,591 US11284135B2 (en) | 2014-01-17 | 2020-09-28 | Communication apparatus, communication data generation method, and communication data processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014006881A JP2015136059A (ja) | 2014-01-17 | 2014-01-17 | 通信装置、通信データ生成方法、および通信データ処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015136059A true JP2015136059A (ja) | 2015-07-27 |
Family
ID=53542690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014006881A Pending JP2015136059A (ja) | 2014-01-17 | 2014-01-17 | 通信装置、通信データ生成方法、および通信データ処理方法 |
Country Status (8)
Country | Link |
---|---|
US (3) | US10178417B2 (ja) |
EP (1) | EP3096533B1 (ja) |
JP (1) | JP2015136059A (ja) |
KR (1) | KR102103054B1 (ja) |
CN (1) | CN105900446B (ja) |
CA (1) | CA2936164C (ja) |
MX (2) | MX384785B (ja) |
WO (1) | WO2015107786A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015126223A1 (en) | 2014-02-24 | 2015-08-27 | Lg Electronics Inc. | Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals |
EP3288025A4 (en) | 2015-04-24 | 2018-11-07 | Sony Corporation | Transmission device, transmission method, reception device, and reception method |
US10079919B2 (en) * | 2016-05-27 | 2018-09-18 | Solarflare Communications, Inc. | Method, apparatus and computer program product for processing data |
US10116970B1 (en) * | 2017-04-28 | 2018-10-30 | Empire Technology Development Llc | Video distribution, storage, and streaming over time-varying channels |
US10862940B1 (en) * | 2018-07-31 | 2020-12-08 | Glance Networks, Inc. | Low latency live video on a communication session |
CN111641565B (zh) * | 2019-03-01 | 2022-05-13 | 华为技术有限公司 | 一种以太网报文的传输方法、装置及系统 |
CN113365140B (zh) * | 2021-06-21 | 2022-12-23 | 北京百度网讯科技有限公司 | Mp4在线播放方法、装置、设备、存储介质及程序产品 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5963202A (en) * | 1997-04-14 | 1999-10-05 | Instant Video Technologies, Inc. | System and method for distributing and managing digital video information in a video distribution network |
US6882637B1 (en) | 1999-10-14 | 2005-04-19 | Nokia Networks Oy | Method and system for transmitting and receiving packets |
US6792449B2 (en) * | 2001-06-28 | 2004-09-14 | Microsoft Corporation | Startup methods and apparatuses for use in streaming content |
US20030048808A1 (en) | 2001-09-12 | 2003-03-13 | Stahl Thomas Anthony | Method and apparatus for changing received streaming content channels |
EP1349285A1 (en) | 2002-03-28 | 2003-10-01 | Matsushita Electric Industrial Co., Ltd. | Method for making efficient use of the bits allocated to the sequence number when transmitting compressed header data |
US8683535B2 (en) | 2004-03-26 | 2014-03-25 | Broadcom Corporation | Fast channel change |
US8670437B2 (en) * | 2005-09-27 | 2014-03-11 | Qualcomm Incorporated | Methods and apparatus for service acquisition |
US9077964B2 (en) * | 2005-12-08 | 2015-07-07 | Layered Media | Systems and methods for error resilience and random access in video communication systems |
US9432433B2 (en) * | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
EP2304955B1 (en) * | 2008-07-26 | 2017-03-29 | Thomson Licensing | A real-time transport protocol (rtp) packetization method for fast channel change applications using scalable video coding (svc) |
JP2010245970A (ja) * | 2009-04-08 | 2010-10-28 | Sony Corp | 再生装置、再生方法、およびプログラム |
US20110031771A1 (en) | 2009-08-10 | 2011-02-10 | Yi Ding | Storage trunk in the front of a vehicle |
JP2011087103A (ja) | 2009-10-15 | 2011-04-28 | Sony Corp | コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供 |
US9485546B2 (en) * | 2010-06-29 | 2016-11-01 | Qualcomm Incorporated | Signaling video samples for trick mode video representations |
EP2666296A4 (en) | 2011-01-19 | 2013-12-25 | Ericsson Telefon Ab L M | INDICATION OF BITS FLOW SUBASSEMBLIES |
US9215473B2 (en) | 2011-01-26 | 2015-12-15 | Qualcomm Incorporated | Sub-slices in video coding |
KR101803970B1 (ko) * | 2011-03-16 | 2017-12-28 | 삼성전자주식회사 | 컨텐트를 구성하는 장치 및 방법 |
US9357275B2 (en) * | 2011-09-06 | 2016-05-31 | Qualcomm Incorporated | Network streaming of coded video data |
US9843844B2 (en) * | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
WO2013077670A1 (ko) * | 2011-11-23 | 2013-05-30 | 한국전자통신연구원 | 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치 |
CN102625125A (zh) * | 2012-03-15 | 2012-08-01 | 天津大学 | 一种实时传输高分辨率多视点立体视频的方法 |
WO2013162292A1 (ko) * | 2012-04-24 | 2013-10-31 | 한국전자통신연구원 | 네트워크 적응적인 계층적 비디오 전송을 위한 mmt 패킷의 전송 방법 및 장치 |
CN107071493B (zh) * | 2012-06-12 | 2020-04-14 | Lg 电子株式会社 | 图像解码方法及使用其的装置 |
JP5885604B2 (ja) * | 2012-07-06 | 2016-03-15 | 株式会社Nttドコモ | 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム |
US9161039B2 (en) * | 2012-09-24 | 2015-10-13 | Qualcomm Incorporated | Bitstream properties in video coding |
US20140092995A1 (en) * | 2012-09-28 | 2014-04-03 | Sharp Laboratories Of America, Inc. | Electronic devices for signaling a random access point picture message |
US9525883B2 (en) * | 2013-07-15 | 2016-12-20 | Qualcomm Incorporated | Cross-layer alignment of intra random access point pictures |
JP6652320B2 (ja) * | 2013-12-16 | 2020-02-19 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 送信方法、受信方法、送信装置及び受信装置 |
US9699229B2 (en) * | 2014-01-16 | 2017-07-04 | Qualcomm Incorporated | Robust live operation of dash |
JP2015136060A (ja) * | 2014-01-17 | 2015-07-27 | ソニー株式会社 | 通信装置、通信データ生成方法、および通信データ処理方法 |
US9936233B2 (en) * | 2014-07-31 | 2018-04-03 | Lg Electronics Inc. | Apparatus and method for transmitting/receiving processes of a broadcast signal |
-
2014
- 2014-01-17 JP JP2014006881A patent/JP2015136059A/ja active Pending
- 2014-12-01 WO PCT/JP2014/081715 patent/WO2015107786A1/ja active Application Filing
- 2014-12-01 US US15/110,197 patent/US10178417B2/en active Active
- 2014-12-01 CA CA2936164A patent/CA2936164C/en active Active
- 2014-12-01 EP EP14878795.5A patent/EP3096533B1/en active Active
- 2014-12-01 KR KR1020167018108A patent/KR102103054B1/ko active Active
- 2014-12-01 MX MX2016008985A patent/MX384785B/es unknown
- 2014-12-01 CN CN201480072676.XA patent/CN105900446B/zh active Active
-
2016
- 2016-07-08 MX MX2019009888A patent/MX2019009888A/es unknown
-
2018
- 2018-11-02 US US16/179,444 patent/US10820024B2/en active Active
-
2020
- 2020-09-28 US US17/034,591 patent/US11284135B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
MX2016008985A (es) | 2016-10-04 |
EP3096533B1 (en) | 2020-11-04 |
US20190075334A1 (en) | 2019-03-07 |
EP3096533A1 (en) | 2016-11-23 |
US10178417B2 (en) | 2019-01-08 |
US11284135B2 (en) | 2022-03-22 |
US20160330491A1 (en) | 2016-11-10 |
KR102103054B1 (ko) | 2020-04-21 |
EP3096533A4 (en) | 2017-07-05 |
CA2936164A1 (en) | 2015-07-23 |
WO2015107786A1 (ja) | 2015-07-23 |
MX2019009888A (es) | 2019-10-22 |
CA2936164C (en) | 2021-06-01 |
KR20160111021A (ko) | 2016-09-23 |
CN105900446B (zh) | 2019-11-05 |
CN105900446A (zh) | 2016-08-24 |
US20210029388A1 (en) | 2021-01-28 |
US10820024B2 (en) | 2020-10-27 |
MX384785B (es) | 2025-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102120525B1 (ko) | 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법 | |
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 | |
JPWO2012096372A1 (ja) | コンテンツ再生装置、コンテンツ再生方法、配信システム、コンテンツ再生プログラム、記録媒体、およびデータ構造 | |
KR102176404B1 (ko) | 통신 장치, 통신 데이터 생성 방법, 및 통신 데이터 처리 방법 | |
KR102137858B1 (ko) | 송신 장치, 송신 방법, 수신 장치, 수신 방법 및 프로그램 |