JP2021129127A - 受信装置、送信装置、受信方法、送信方法、およびプログラム - Google Patents

受信装置、送信装置、受信方法、送信方法、およびプログラム Download PDF

Info

Publication number
JP2021129127A
JP2021129127A JP2018089795A JP2018089795A JP2021129127A JP 2021129127 A JP2021129127 A JP 2021129127A JP 2018089795 A JP2018089795 A JP 2018089795A JP 2018089795 A JP2018089795 A JP 2018089795A JP 2021129127 A JP2021129127 A JP 2021129127A
Authority
JP
Japan
Prior art keywords
stream data
audio
data
metadata
voice
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
Application number
JP2018089795A
Other languages
English (en)
Inventor
義行 小林
Yoshiyuki Kobayashi
義行 小林
充 勝股
Mitsuru Katsumata
充 勝股
俊也 浜田
Toshiya Hamada
俊也 浜田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Group Corp
Original Assignee
Sony Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Group Corp filed Critical Sony Group Corp
Priority to JP2018089795A priority Critical patent/JP2021129127A/ja
Priority to PCT/JP2019/007451 priority patent/WO2019216001A1/ja
Priority to US17/049,697 priority patent/US20210243485A1/en
Publication of JP2021129127A publication Critical patent/JP2021129127A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23412Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/233Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling 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/2362Generation or processing of Service Information [SI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Abstract

【課題】複数のストリームデータの切り替えをより柔軟に実現することが可能になる受信装置、送信装置、受信方法、送信方法およびプログラムを提供する。【解決手段】情報処理システムは、サーバ装置と、ネットワークで接続されたクライアント装置を備える。クライアント装置(受信装置)は、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信する受信部を備え、複数のストリームデータの切り替えをより柔軟に実現する。【選択図】図62

Description

本開示は、受信装置、送信装置、受信方法、送信方法、およびプログラムに関する。
近年、インターネット上のストリーミングサービスの主流がOTT-V(Over The Top Video)となっている。この基盤技術として普及し始めているのがMPEG-DASH(Moving Picture Experts Group phase
− Dynamic Adaptive Streaming over HTTP)である(例えば、非特許文献1参照)。
MPEG-DASHなどを用いて行われるコンテンツの配信においては、サーバ装置がセグメントという単位で映像ストリームデータおよび音声ストリームデータを配信し、クライアント装置が所望のセグメントを選択することで映像コンテンツおよび音声コンテンツを再生する。MPEG-DASHなどによってストリームデータの配信が行われることによって、クライアント装置は、映像表現として連続性の無い映像ストリームデータ(例えば、解像度やビットレートの異なる映像ストリームデータなど)を互いに切り替えることができる。また、クライアント装置は、音声として相関の無い音声ストリームデータ(例えば、言語(日本語や英語など)やビットレートの異なる音声ストリームデータなど)を互いに切り替えることもできる。
MPEG-DASH(Dynamic Adaptive Streaming over HTTP)(URL: http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html) INTERNATIONAL STANDARD ISO/IEC 23008-3First edition 2015-10-15 Information technology High efficiency coding andmedia delivery in heterogeneous environments Part 3: 3D audio Virtual Sound Source Positioning UsingVector Base Amplitude Panning, AES Volume 45 Issue 6 pp.456-466, June 1997
しかしながら、映像ストリームデータと音声ストリームデータそれぞれの切り替わりのタイミングを合せることは困難であった。より具体的には、映像ストリームデータと音声ストリームデータは互いにアラインしておらず(換言すると、映像ストリームデータと音声ストリームデータとは別々に存在するストリームデータであり)、基本的にセグメント長も互いに異なるため、映像ストリームデータと音声ストリームデータそれぞれの切り替わりのタイミングを合せることは困難であった。映像ストリームデータと音声ストリームデータそれぞれの切り替わりのタイミングがずれることによって、視聴者が受ける興趣感や臨場感が損なわれてしまうため問題である。
そこで、本開示は上記に鑑みてなされたものであり、本開示は、複数のストリームデータの切り替えをより柔軟に実現することが可能な、新規かつ改良された受信装置、送信装置、受信方法、送信方法、およびプログラムを提供する。
本開示によれば、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信する受信部を備える、受信装置が提供される。
また、本開示によれば、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信することを有する、コンピュータにより実行される受信方法が提供される。
また、本開示によれば、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信すること、をコンピュータに実現させるためのプログラムが提供される。
また、本開示によれば、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信する送信部を備える、送信装置が提供される。
また、本開示によれば、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信することを有する、コンピュータにより実行される送信方法が提供される。
また、本開示によれば、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信することをコンピュータに実現させるためのプログラムが提供される。
以上説明したように本開示によれば、複数のストリームデータの切り替えをより柔軟に実現することが可能になる。
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の課題について説明するための図である。 本開示の課題について説明するための図である。 本開示の課題について説明するための図である。 本開示の課題について説明するための図である。 オブジェクトベースオーディオのビットストリームの構成例を示す図である。 オブジェクトベースオーディオのビットストリームの構成例を示す図である。 object_metadatum()ブロックの構成例を示す図である。 object_metadatum()ブロックの構成例を示す図である。 object_metadatum()ブロックにて示される位置情報について説明するための図である。 object_metadatum()ブロックにて示される位置情報(差分値と直接値)について説明するための図である。 audio_frame()ブロックの構成例を示す図である。 オブジェクトベースオーディオを用いたMPEG-DASHの配信の例について説明するための図である。 Initialization SegmentとMedia Segmentが同一のMP4コンテナに格納される場合のMP4コンテナの構成例を示す図である。 Initialization SegmentとMedia Segmentが互いに異なるMP4コンテナに格納される場合の各MP4コンテナの構成例を示す図である。 Movie box(moov)の構成を示す図である。 object_based_audio_SampleEntryの構成例、およびobject_based_audio_SampleEntryがSample Description box(stsd)に格納される旨を示す図である。 Movie Fragment box(moof)の構成、およびMedia Data box(mdat)を示す図である。 Media Data box(mdat)の構成を示す図である。 クライアント装置200が、TrackFragment Run box(trun)に格納されたランダムアクセス情報に基づいてobject_based_audio_sampleの再生処理を行う旨を示す図である。 音声レプリゼンテーションの伝送パターン(ケース1)におけるobject_based_audio_SampleEntryの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース1)におけるobject_based_audio_sampleの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース1)におけるMPDファイルの具体例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース1)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース1)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_SampleEntryの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_sampleの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_SampleEntryの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_sampleの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるMPDファイルの具体例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるMPDファイルの具体例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース2)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_SampleEntryの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_sampleの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_SampleEntryの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_sampleの構成概要を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるMPDファイルの具体例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_sampleの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_SampleEntryの構成例を示す図である。 音声レプリゼンテーションの伝送パターン(ケース3)におけるobject_based_audio_sampleの構成例を示す図である。 メタデータの切り替えについて説明するための図である。 Representation要素がSegmentList形式で記述される場合のMPDファイルの具体例を示す図である。 Representation要素がSegmentTemplate形式で記述される場合のMPDファイルの具体例を示す図である。 Representation要素がSegmentBase形式で記述される場合のMPDファイルの具体例を示す図である。 Segment Index boxの具体例を示す図である。 メタデータを圧縮する際の制約について説明するための図である。 本開示の一実施形態に係る情報処理システムの構成例を示すブロック図である。 サーバ装置100の機能構成例を示すブロック図である。 クライアント装置200の機能構成例を示すブロック図である。 切り替わりが発生しない場合における音声ストリームデータの再生処理フローの具体例を示すフローチャートである。 切り替わりが発生しない場合における、音声セグメントを取得する処理フローの具体例を示すフローチャートである。 切り替わりが発生しない場合における、音声セグメントを再生する処理フローの具体例を示すフローチャートである。 切り替わりが発生する場合における、音声セグメントを取得する処理フローの具体例を示すフローチャートである。 切り替わりが発生する場合における、音声セグメントを取得する処理フローの具体例を示すフローチャートである。 切り替わりが発生する場合における、音声セグメントを再生する処理フローの具体例を示すフローチャートである。 切り替わりが発生する場合における、音声セグメントを再生する処理フローの具体例を示すフローチャートである。 切り替わりが発生する場合における、メタデータの選択処理フローの具体例を示すフローチャートである。 サーバ装置100、またはクライアント装置200を具現する情報処理装置900のハードウェア構成例を示すブロック図である。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.本開示の概要
2.本開示の詳細
3.本開示の実施形態
4.まとめ
<1.本開示の概要>
まず、本開示の概要について説明する。
上記のとおり、MPEG-DASHなどによってストリームデータの配信が行われることによって、クライアント装置は、映像表現として連続性の無い映像ストリームデータ(例えば、解像度やビットレートの異なる映像ストリームデータなど)を互いに切り替えることができる。また、クライアント装置は、音声として相関の無い音声ストリームデータ(例えば、言語(日本語や英語など)やビットレートの異なる音声ストリームデータなど)を互いに切り替えることもできる。
しかしながら、映像ストリームデータと音声ストリームデータそれぞれの切り替わりのタイミングを合せることは困難であった。より具体的には、映像ストリームデータと音声ストリームデータは互いにアラインしておらず、基本的にセグメント長も互いに異なるため、映像ストリームデータと音声ストリームデータそれぞれの切り替わりのタイミングを合せることは困難であった。映像ストリームデータと音声ストリームデータそれぞれの切り替わりのタイミングがずれることによって、視聴者が受ける興趣感や臨場感が損なわれてしまうため問題である。
この課題を解決する方法として「セグメントの重複取得」や「プリロールデータ伝送」などの方法が提案されている。
「セグメントの重複取得」について説明すると、例えば、図1に示すように、映像セグメントの切り替わりタイミングよりも音声セグメントの切り替わりタイミングの方が先になる場合(図1では、映像Representation1から映像Representation2への切り替わりタイミングよりも、音声Representation1から音声Representation2への切り替わりタイミングの方が先になっている)、切り替わりのずれが生じている。
このとき、図2に示すように、クライアント装置が、映像セグメントの切り替わりが行われる際に、切り替わり後の音声レプリゼンテーション(音声Representation2)の音声セグメントだけでなく切り替わり前の音声レプリゼンテーション(音声Representation1)の音声セグメントも重複して取得する。これによって、クライアント装置は、映像セグメントの切り替わりタイミングまでは切り替わり前の音声セグメントを用いて再生処理を行い、映像セグメントの切り替わりタイミング以降は切り替わり後の音声セグメントを用いて再生処理を行うことができるため、切り替わりのずれを解消(または、切り替わりのずれをより小さく)することができる。なお、切り替わりの際に、映像についてはディゾルブなど、音声についてはクロスフェードなどの技法が併せて用いられることで、ユーザが受ける違和感が軽減されていた。
「プリロールデータ伝送」について説明すると、例えば、図3に示すように、音声セグメントの切り替わりタイミングよりも映像セグメントの切り替わりタイミングの方が先になる場合(図3では、音声Representation1から音声Representation2への切り替わりタイミングよりも、映像Representation1から映像Representation2への切り替わりタイミングの方が先になっている)、切り替わりのずれが生じている。
このとき、MPEG-H 3D Audio(ISO/IEC 23008-3)には、図4に示すように、各音声セグメントにプリロールデータを付す方法が規定されている。これによって、クライアント装置は、映像セグメントの切り替わりタイミング以降は、切り替わり後の音声セグメントを用いて再生処理を行うことができるため、切り替わりのずれを解消(または、切り替わりのずれをより小さく)することができる。映像についてのディゾルブ、音声についてのクロスフェードなどの技法が併せて用いられることに関しては上記と同様である。
しかし、「セグメントの重複取得」については、重複データの取得(ダウンロードなど)に余分な時間を要するため、例えば、切り替えが実行されるタイミングが所望のタイミングよりも遅れる場合がある(例えば、切り替えが実行されるタイミングより前に重複データの取得が完了しなかった場合など)。また、「セグメントの重複取得」と「プリロールデータ伝送」の両方について、再生に使用されないデータが取得(ダウンロードなど)されることになるため、取得に使用される帯域に無駄が生じる。特に、「プリロールデータ伝送」については、基本的に全セグメントにプリロールデータが付されることになるため無駄がより多いと言える。
本件の開示者は上記事情に鑑みて本開示を創作するに至った。本開示に係るサーバ装置100(送信装置)は、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを生成し、第2のストリームデータをクライアント装置200(受信装置)へ送信する。さらに、サーバ装置100は、第1のストリームデータの切り替わりのタイミングに関する情報(以降、「タイミング情報」と呼称する)を第2のストリームデータの再生に用いられるMPD(Media Presentation Description)ファイルなどに含める。
これによって、クライアント装置200は、第2のストリームデータを受信し、当該データに対応するメタデータに基づいて第2のストリームデータの再生処理を行うところ、MPDファイルなどに含まれるタイミング情報に基づいて、第1のストリームデータが切り替わるタイミングに、第2のストリームデータ(厳密には、第2のストリームデータの再生に用いられるメタデータ)を切り替えることができる。
ここで、上記の第1のストリームデータおよび第2のストリームデータは、それぞれ映像ストリームデータでもよいし音声ストリームデータでもよい。より具体的には、第1のストリームデータが映像ストリームデータであり、第2のストリームデータが音声ストリームデータでもよいし、第1のストリームデータが音声ストリームデータであり、第2のストリームデータが映像ストリームデータでもよい。また、第1のストリームデータが映像ストリームデータであり、第2のストリームデータが第1のストリームデータとは異なる映像ストリームデータであってもよい。また、第1のストリームデータが音声ストリームデータであり、第2のストリームデータが第1のストリームデータとは異なる音声ストリームデータであってもよい。以降では、一例として、第1のストリームデータが映像ストリームデータであり、第2のストリームデータが音声ストリームデータである場合について説明する(換言すると、音声ストリームデータはオブジェクトベースオーディオデータである)。
<2.本開示の詳細>
上記では、本開示の概要について説明した。続いて、本開示の詳細について説明していくところ、まず、MPEG-DASHやオブジェクトベースオーディオについて説明する。
MPEG-DASH(上記の非特許文献1参照)について概説すると、MPEG-DASHは、映像データや音声データを、インターネットを介してストリーミング配信するために開発された技術である。MPEG-DASHによる配信では、クライアント装置200が、伝送帯域の変動などに応じてビットレートの異なるコンテンツを選択し取得することでコンテンツの再生を行う。したがって、例えば、サーバ装置100が、用いられる言語のみが互いに異なる同一内容の音声ストリームデータを複数用意しておき、クライアント装置200がユーザによる操作入力などに応じてダウンロードの対象となる音声ストリームデータを切り替えることによってコンテンツにおける言語を変更することが可変となる。
オブジェクトベースオーディオについて概説すると、例えば、上記の非特許文献2に記載のMPEG-H 3D Audio(ISO/IEC 23008-3)が用いられることによって、従来の2チャンネルステレオ方式や、5.1チャンネルなどのマルチチャンネルステレオ方式による再生が可能になるだけでなく、移動する音源などを独立した音声オブジェクトとして扱い、音声オブジェクトの音声データとともに音声オブジェクトの位置情報をメタデータとして符号化することも可能になる。これによって、再生時に様々な加工を行うこと(例えば、音量を調節することや、エフェクトを追加することなど)が容易に実現可能になった。
また、上記の非特許文献3には、音声オブジェクトのレンダリング方式が記載されており、例えば、VBAP(Vector Base Amplitude Panning)というレンダリング方式によって、再生環境に存在するスピーカの出力設定が行われ得る。VBAPは、個々の音声オブジェクトの空間位置に最も近い3台以上のスピーカの出力を調節することで、音声オブジェクトの空間位置に音を定位させる技術であり、音声オブジェクトの空間位置を変更すること(換言すると、音声オブジェクトを移動させること)もできる。
加えて、オブジェクトベースオーディオは、オーディオフレームを複数に時分割したり、伝送効率を向上させるためにデータの圧縮処理(差分伝送など)をしたりすることができるという特長を有する。
ここで、本書で使用する用語の定義を以下に記載する。ISO/IEC 23008-3(MPEG-H 3D Audio)で用いられる用語は、ISO/IEC
14496-3(MPEG-4 Audio)に準ずるため、MPEG-4 Audioとの対比も併せて示す。
まず、「音声オブジェクト」とは、音場を生成するための構成要素となる素材音を指す。例えば、再生されるコンテンツが音楽に関するものである場合、音声オブジェクトは、楽器(例えば、ギターやドラムなど)音や歌手の歌声などを指す。なお、音声オブジェクトとして用いられる素材音の内容は特に限定されず、コンテンツ製作者によって決定されることとなる。音声オブジェクトは、MPEG-4 Audioでは「object」や「the component objects」などと呼称される。
「オブジェクトベースオーディオ」とは、音声オブジェクトと共に、音声オブジェクトの位置情報をメタデータとして符号化することで生成されたデジタルオーディオデータを指す。オブジェクトベースオーディオを再生する再生機器は、個々の音声オブジェクトの復号結果をそのままスピーカに出力するのではなく、スピーカの台数や位置に応じて動的にスピーカそれぞれの出力を算出する。MPEG-4 Audioで規定されたオーディオ符号化方式は、当該規格の中で「MPEG-4
Audio is an object-based coding standard with multiple tools.」と説明されている。
「マルチチャンネルオーディオ(チャンネルベースオーディオ)」とは、2チャンネルステレオ方式や、5.1チャンネルなどのマルチチャンネルステレオ方式の総称である。各チャンネルには、固定の音声信号が割り当てられる。再生機器は、チャンネルごとに割り当てられた音声信号を予め決められたスピーカに出力する(例えば、チャンネル1に割り当てられた音声信号は左スピーカへ出力し、チャンネル2に割り当てられた音声信号は右スピーカへ出力するなど)。また、これらの音声信号は、上述の音声オブジェクトをコンテンツ製作者が配信前にミックスダウンすることで得られるデジタル音声であるとも言える。なお、MPEG-4 Audioは、マルチチャンネルオーディオのデータと、音声オブジェクトのデータの双方を一つのビットストリーム中に格納することが可能である。
(2.1.オブジェクトベースオーディオのビットストリーム)
続いて、図5を参照して、オブジェクトベースオーディオのビットストリームの構成例について説明する。図5に示すように、オブジェクトベースオーディオのビットストリームは、header()ブロックと、object_metadata()ブロックと、audio_frames()ブロックと、を有し、header()ブロックが伝送された後に、object_metadata()ブロックとaudio_frames()ブロックが交互にビットストリームの最後に至るまで伝送される。また、図5に示すように、object_metadata()ブロックにはメタデータ(object_metadatum()ブロック)が含まれ、audio_frames()ブロックには音声オブジェクト(audio_frame()ブロック)が含まれている。
ビットストリームの構成例の詳細を、図6を参照して説明する。図6の行番号2〜8にheader()ブロックが示されており、行番号10〜14にobject_metadata()ブロックが示されており、行番号15〜19にaudio_frames()ブロックが示されている。
header()ブロックにおいて、行番号3に記載されたnum_metadataは、ビットストリームに含まれるメタデータの数(object_metadatum()ブロックの数)を示す。また、行番号4に記載されたnum_objectsは、ビットストリームに含まれる音声オブジェクトの数(audio_frame()ブロックの数)を示す。また、行番号6に記載されたrepresentation_indexは、映像ストリームデータ(第1のストリームデータ)における映像レプリゼンテーションのインデックスを示す。映像ストリームデータと音声ストリームデータの再生に用いられるMPDファイルのRepresentation要素のid属性は任意の文字列で指定され得るため、representation_indexには、MPDファイル内での記載順に0から始まる整数値が割り当てられることとする。なお、representation_indexの値はこれに限定されない。
続いて、object_metadata()ブロックにおいて、行番号12に記載のobject_metadatum()ブロックの構成例を、図7および図8を参照して説明する。
図7の行番号2に記載のmetadata_indexは、object_metadata()ブロックのインデックスを示しており、metadata_indexがmetadata_index=iという関係を満たす場合、当該object_metadatum()ブロックには、representation_index[i]の映像レプリゼンテーションに対応する音場を生成するためのメタデータが格納されている。
また、当該object_metadatum()ブロックに格納されたメタデータが適用されるaudio_frames()ブロックは時分割され得るところ、行番号6などに記載のnum_pointsは、その分割数を示す。audio_frames()ブロックの再生時間において、num_points個のメタデータの分割点が均等に生成される(換言すると、audio_frames()ブロックの再生時間が「num_points+1」に分割されることになる)。
また、行番号9に記載のazimuth、行番号16に記載のelevation、行番号23に記載のradiusそれぞれは各音声オブジェクトの位置情報を示しており、図9に示すように、azimuthは球面座標系における方位角を示し、elevationは球面座標系における仰角を示し、radiusは球面座標系における半径を示す。また、行番号30に記載のgainは各音声オブジェクトのゲインを示す。
行番号3に記載のis_rawは、azimuth、elevation、radius、およびgainの値が差分値であるか否かを示す情報である。例えば、is_rawがis_raw=0という関係を満たす場合、これらの値は差分値であり、is_rawがis_raw=1という関係を満たす場合、これらの値は差分値ではない(真の値(直接値)である)。
差分値は音声オブジェクトごとに導出される。また、差分値の導出にあたり、起点となる値は、is_rawがis_raw=1という関係を満たす直前のobject_metadatum()ブロックの最後のメタデータの値である。ここで、図10を用いてより具体的に説明する。図10の、m[i](i=1,2,…,9)は、各メタデータ(azimuth、elevation、radius、およびgain)を総称しており、m[1]からm[4]の値は直接値(換言すると、is_rawがis_raw=1という関係を満たす)であり、m[5]からm[9]の値は差分値(換言すると、is_rawがis_raw=0という関係を満たす)であるとする。
このとき、m[5]からm[9]の差分値の導出の起点となる値は、is_rawがis_raw=1という関係を満たす直前のobject_metadatum()ブロックの最後のメタデータであるm[4]の値である。したがって、m[5]はm[4]からの差分値であり、同様に、m[6]はm[5]からの差分値であり、m[9]はm[8]からの差分値である。
クライアント装置200は、object_metadatum()ブロックを処理する度に最後に導出したメタデータの値を記憶しておくことで、上記のように、差分値で示される各メタデータの値を導出することができる。
続いて、audio_frames()ブロックにおいて、図6の行番号17に記載のaudio_frame()ブロックの構成例を、図11を参照して説明する。
行番号2に記載のlengthは、以降に続く音声オブジェクトのデータ長を示す。また、行番号4に記載のdata_bytesは音声オブジェクトのデータを格納するものである。例えば、MPEG4-AAC方式によって符号化されたオーディオフレーム(1024個のオーディオサンプル)がdata_bytesに格納され得る。リニアPCM方式のように特定のオーディオフレームが規定されていない場合には、ある再生時間を単位として、その再生時間に必要となるデータがdata_bytesに格納される。
(2.2.オブジェクトベースオーディオを用いたMPEG-DASHの配信の例)
続いて、図12を参照して、上記で説明してきたオブジェクトベースオーディオのビットストリームを用いてMPEG-DASHの配信が行われる場合の例について説明する。
例えば、ある対象物に対して左アングル、正面アングル、および右アングルの3種類の映像音声が提供されるコンテンツについて考える。映像中に複数の音源が存在する場合、各アングルによってユーザから各音源までの距離などが異なるため、アングルに応じてユーザに提供される音声も異なることが好ましい。
映像レプリゼンテーションには、例えばH.265 (ISO/IEC 23008-2 HEVC)で符号化された3つのビットストリームが用意される。対する音声レプリゼンテーションには、1つのオブジェクトベースオーディオのビットストリームが用意される。また、オブジェクトベースオーディオのビットストリームは、3つのメタデータ(すなわち、num_metadataがnum_metadata=3という関係を満たす)、および4つの音声オブジェクト(すなわち、num_objectsがnum_objects=4という関係を満たす)を含んでいるとする。また、図12の例では、各メタデータが適用されるオーディオフレームは8つに時分割されている(すなわち、num_pointsがnum_points=7という関係を満たす)。
このとき、クライアント装置200は、共通の音声オブジェクトに対して異なるメタデータを適用することで異なる音場を生成することができるため、映像アングルの切り替えに追随した音場を表現することができる。より具体的に説明すると、クライアント装置200はメタデータの切り替えを任意のタイミングで行うことができるため、例えばユーザの操作入力によって映像アングルが切り替えられた場合、クライアント装置200は、映像アングルが切り替えられたタイミングに、メタデータを切り替えることができる。これによって、クライアント装置200は、映像アングルの切り替えに追随した音場を表現することができる
(2.3.セグメント化方式)
続いて、オブジェクトベースオーディオのビットストリームのセグメント化方式について説明する。以降では、MP4(ISO/IEC 14496 Part 12 ISO Base Media
File Format)コンテナを使用してセグメント化を実現する場合を一例として説明するが、セグメント化方式はこれに限定されない。
図13には、Initialization SegmentとMedia Segmentが同一のMP4コンテナに格納される場合のMP4コンテナの構成例が示されている。
図14には、Initialization SegmentとMedia Segmentが互いに異なるMP4コンテナに格納される場合の各MP4コンテナの構成例が示されている。
図15には、Movie box(moov)の構成が示されている。図13および図14のいずれの場合においても、Movie box(moov)配下のSample
Description box(stsd)にオブジェクトベースオーディオのビットストリームのheader()ブロックが格納されるとする。より具体的には、図16に示すように、header()ブロック全体のデータ長を示すlengthフィールドがheader()ブロックに追加されることによって生成されたobject_based_audio_SampleEntryがSample
Description box(stsd)に格納される(なお、1つのSample Description box(stsd)には、1つのobject_based_audio_SampleEntryが格納されることを想定している)。
図17には、Movie Fragment box(moof)の構成、およびMedia Data box(mdat)が示されている。Media SegmentにおけるMedia Data box(mdat)にはオブジェクトベースオーディオのビットストリームのheader()ブロック以外の部分が格納され、Movie Fragment box(moof)にはMedia Data box(mdat)へのランダムアクセスのための情報(以降、「ランダムアクセス情報」と呼称する)が格納される。
図18には、Media Data box(mdat)の構成が示されている。Media Data
box(mdat)にはobject_metadata()ブロックおよびaudio_frame()ブロックに対して全体のデータ長を示すsizeフィールドが追加されて生成されたobject_based_audio_sampleが格納される。
図17に示したMovie Fragment box(moof)におけるTrack Fragment Run box(trun)には、ランダムアクセス情報として、Media Data box(mdat)に格納されている各object_based_audio_sampleのデータ開始位置およびデータ長が格納されている。また、音声オブジェクトが出力される時刻をCTS(Composition Time Stamp)と呼称するところ、Track Fragment Run box(trun)には、ランダムアクセス情報として、CTSも格納される。
上記のランダムアクセス情報がMovie Fragment box(moof)に格納されることによって、クライアント装置200は、再生処理時に、これらのランダムアクセス情報を参照し、効率的にオブジェクトベースオーディオデータにアクセスすることができる。例えば、図19に示すように、クライアント装置200は、Movie Fragment box(moof)におけるTrack Fragment Run box(trun)に格納されたランダムアクセス情報を確認した上で、Track Fragment Run box(trun)に対応するobject_based_audio_sampleの再生処理を行う。なお、例えば、48000HzのMPEG4-AAC方式で符号化された音声データでは1つのaudio_frame()の再生時間は約21ミリ秒になる。
(2.4.音声レプリゼンテーションの伝送パターン)
続いて、音声レプリゼンテーションの伝送パターンについて説明する。本開示に係るサーバ装置100は、様々なパターンで音声レプリゼンテーションを伝送することができるところ、以下ではケース1〜ケース3の伝送パターンについて説明する。
(ケース1)
まず、ケース1として、1つの音声レプリゼンテーション中に切り替え可能な、映像レプリゼンテーションに対応する全てのメタデータが記録されて伝送される場合について説明する。
図20、および図21には、音声レプリゼンテーションについてのobject_based_audio_SampleEntry、およびobject_based_audio_sampleの構成概要が示されている。
また、クライアント装置200は、再生処理に先立って制御情報であるMPDファイルを取得し、当該MPDファイルに基づいてオブジェクトベースオーディオのビットストリームの再生処理を行う。図22には、1つの音声レプリゼンテーション中に切り替え可能な、映像レプリゼンテーションに対応する全てのメタデータが記録されて伝送される場合におけるMPDファイルの具体例が示されている。図22の例では、行番号2〜行番号5に音声レプリゼンテーションが定義されている(Representation id=“a1”、num_objects=4、num_metadata=3(metadata_index=0,1,2))。図23および図24には、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
(ケース2)
続いて、ケース2として、1つの音声レプリゼンテーション中に音声オブジェクトと、再生開始時に必要となるデフォルトのメタデータが伝送され、それ以外のメタデータは他の音声レプリゼンテーションにて伝送される場合について説明する(なお、ケース1とケース2によって、音声ストリームデータ(第2のストリームデータ)の再生処理に用いられる少なくとも1つのメタデータと、音声オブジェクト(オブジェクトデータ)と、が同一セグメントに格納され得ると言える点に留意されたい)。
図25、および図26には、音声オブジェクトとデフォルトのメタデータが記録された音声レプリゼンテーションについてのobject_based_audio_SampleEntry、およびobject_based_audio_sampleの構成概要が示されている。
図27および図28には、メタデータだけが記録された音声レプリゼンテーションについてのobject_based_audio_SampleEntry、およびobject_based_audio_sampleの構成概要がそれぞれ示されている。なお、複数のobject_metadatum()ブロックが1つのMP4コンテナに格納されてもよいし、1つのobject_metadatum()ブロックが1つのMP4コンテナに格納されてもよい。
図29には、この場合に用いられるMPDファイルの具体例が示されている。図29の例では、行番号2〜行番号5に、音声オブジェクトとデフォルトのメタデータが記録された音声レプリゼンテーションが定義されている(Representation id=“a2”、num_objects=4、num_metadata=1(metadata_index=0))。また、行番号8〜行番号12に、メタデータだけが記録された音声レプリゼンテーションが定義されている(Representation id=“ameta”、num_objects=0、num_metadata=2(metadata_index=1,2))。
ここで、ケース2と、後段で説明するケース3については、音声オブジェクトと少なくとも一部のメタデータとが互いに異なる音声レプリゼンテーションによって伝送されるため、音声オブジェクトとメタデータとを対応付ける仕組みが必要である。そこで、サーバ装置100は、MPDファイルにおけるassociationId属性、およびassociationType属性を用いて音声オブジェクトとメタデータとを対応付ける。より具体的には、サーバ装置100は、図29の行番号9に記載のassociationType属性に“a3aM”を記述することによって、当該音声レプリゼンテーションが音声オブジェクトとメタデータとの対応付けに関するものであることを示す。さらに、サーバ装置100は、行番号9のassociationId属性に“a2”を記述することによって、当該音声レプリゼンテーションが、Representation id属性“a2”を有する音声レプリゼンテーションにおける音声オブジェクトと対応付けられていることを示す。これによって、クライアント装置200は、ケース2およびケース3においても、音声オブジェクトとメタデータとの対応関係を適切に認識することができる。なお、上記はあくまで一例であり、サーバ装置100は、associationId属性、またはassociationType属性以外の属性を用いて音声オブジェクトとメタデータとを対応付けてもよい。
図30および図31には、音声オブジェクトとデフォルトのメタデータが記録された音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
図32および図33には、メタデータだけが記録された音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
図29〜図33では、2種類の音声レプリゼンテーションが伝送される場合について説明したところ、伝送される音声レプリゼンテーションの種類の数は特に限定されない。例えば、伝送される音声レプリゼンテーションは3種類であってもよい。
図34には、3種類の音声レプリゼンテーションが伝送される場合に用いられるMPDファイルの具体例が示されている。図34の例では、行番号2〜行番号5に、音声オブジェクトとデフォルトのメタデータが記録された音声レプリゼンテーションが定義されている(Representation id=“a2”、num_objects=4、num_metadata=1(metadata_index=0))。また、行番号8〜行番号12に、メタデータだけが記録された1種類目の音声レプリゼンテーションが定義されている(Representation id=“ameta1”、num_objects=0、num_metadata=1(metadata_index=1))。さらに、行番号13〜行番号17に、メタデータだけが記録された2種類目の音声レプリゼンテーションが定義されている(Representation id=“ameta2”、num_objects=0、num_metadata=1(metadata_index=2))。
図35および図36には、音声オブジェクトとデフォルトのメタデータが記録された音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
図37および図38には、メタデータだけが記録された1種類目の音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
図39および図40には、メタデータだけが記録された2種類目の音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
(ケース3)
続いて、ケース3として、音声オブジェクトだけが記録された音声レプリゼンテーションと、メタデータだけが記録された音声レプリゼンテーションが別々に伝送される場合について説明する(なお、ケース3によって、音声ストリームデータ(第2のストリームデータ)の再生処理に用いられるメタデータと、音声オブジェクト(オブジェクトデータ)と、が互いに異なるセグメントに格納され得ると言える点に留意されたい)。
図41、および図42には、音声オブジェクトだけが記録された音声レプリゼンテーションについてのobject_based_audio_SampleEntry、およびobject_based_audio_sampleの構成概要が示されている。
図43、および図44には、メタデータだけが記録された音声レプリゼンテーションについてのobject_based_audio_SampleEntry、およびobject_based_audio_sampleの構成概要が示されている。
図45には、この場合に用いられるMPDファイルの具体例が示されている。図45の例では、行番号2〜行番号4に、音声オブジェクトだけが記録された音声レプリゼンテーションが定義されている(Representation id=“a3”、num_objects=4、num_metadata=0)。また、行番号7〜行番号11に、メタデータだけが記録された1種類目の音声レプリゼンテーションが定義されている(Representation id=“ameta0”、num_objects=0、num_metadata=1(metadata_index=0))。また、行番号12〜行番号16に、メタデータだけが記録された2種類目の音声レプリゼンテーションが定義されている(Representation id=“ameta1”、num_objects=0、num_metadata=1(metadata_index=1))。さらに、行番号17〜行番号21に、メタデータだけが記録された3種類目の音声レプリゼンテーションが定義されている(Representation id=“ameta2”、num_objects=0、num_metadata=1(metadata_index=2))。
図46および図47には、音声オブジェクトだけが記録された音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
図48および図49には、メタデータだけが記録された1種類目の音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
図50および図51には、メタデータだけが記録された2種類目の音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
図52および図53には、メタデータだけが記録された3種類目の音声レプリゼンテーションについての、object_based_audio_SampleEntry、およびobject_based_audio_sampleの構成が示されている。
以上で、ケース1〜ケース3についてそれぞれ説明してきた。伝送効率の観点から評価すると、音声オブジェクトだけが記録される音声レプリゼンテーションと、メタデータだけが記録される音声レプリゼンテーションとが別々に伝送されるケース3が最も好ましく、1つの音声レプリゼンテーション中に全てのメタデータが記録されるケース1が最も好ましくない。一方で、クライアント装置200がメタデータの取得に失敗する可能性という観点から評価すると、逆に、ケース1が最も好ましく、ケース3が最も好ましくない。また、ケース2については、同一のMedia Segment内に全ての音声オブジェクト、およびデフォルトのメタデータが記録されているため、クライアント装置200は、伝送効率を高く維持しつつレンダリングに失敗することがない(クライアント装置200は、他のメタデータの取得に失敗した場合であっても、デフォルトのメタデータを用いてレンダリングを行うことが可能)という特長がある。
(2.5.メタデータの切り替えタイミングのシグナリング方式)
続いて、メタデータの切り替えタイミングのシグナリング方式について説明する。上記のとおり、音声レプリゼンテーションごとに映像セグメントが切り替わる可能性があるタイミングのことをConnectionPoint と呼称する。なお、ConnectionPoint は、個々の映像セグメントの最初のフレームが表示される時刻であるところ、「映像セグメントの最初のフレーム」とは、プレゼンテーションオーダーでの映像セグメントの最初のフレームである点に留意されたい。
ここで、以降では、図54に示すように、音声セグメント長が映像セグメント長よりも短く設定された場合を一例として説明する。この場合、1つの音声セグメント中でのメタデータの切り替え回数は、最大で1回となる。なお、音声セグメント長が映像セグメント長よりも長く設定された場合であっても本開示の適用は可能である(1つの音声セグメント中でのメタデータの切り替え回数が複数回になるだけである)。
本書では、映像ストリームデータ(第1のストリームデータ)の切り替わりのタイミングのことをConnectionPointと呼称するところ、サーバ装置100は、ConnectionPointに関するタイミング情報を、音声ストリームデータ(第2のストリームデータ)の再生に用いられるメタデータに含める。より具体的には、サーバ装置100は、タイミング情報として、connectionPointTimescale、connectionPointOffset、およびconnectionPointCTSを、音声ストリームデータの再生に用いられるMPDファイルに含める。connectionPointTimescaleとは、タイムスケール値(例えば、単位時間を示す値など)である。connectionPointOffsetとは、elst boxに設定されたmedia offsetの値、またはMPDファイルに記述されたpresentationTimeOffsetの値である。connectionPointCTSは、切り替わりタイミングのCTS(映像セグメントの最初のフレームが表示される時刻)を示す値である。
そして、MPDファイルを受信したクライアント装置200は、connectionPointTimescale、connectionPointOffset、およびconnectionPointCTSを以下の式1へ入力することによってConnectionPointを導出する。これによって、クライアント装置200は、映像ストリームデータの切り替わりタイミング(ConnectionPoint)を高精度(例えば、ミリ秒単位)で導出することができる。
Figure 2021129127
ここで、サーバ装置100は、様々な方法でタイミング情報をMPDファイルに記述することができる。例えば、Representation要素がSegmentList形式で記述される場合、サーバ装置100は、図55に示すようなMPDファイルを生成することができる。より具体的には、サーバ装置100は、行番号7にconnectionPointTimescaleを記述し、行番号8にconnectionPointOffsetを記述し、行番号9〜行番号12に各音声オブジェクトそれぞれのsegment URLの属性としてconnectionPointCTSを記述することができる。
また、Representation要素がSegmentTemplate形式で記述される場合、サーバ装置100は、図56に示すようなMPDファイルを生成することができる。より具体的には、サーバ装置100は、行番号6〜行番号10にSegmentTimelineを設け、その中にconnectionPointTimescale、connectionPointOffset、およびconnectionPointCTSを記述することができる。
また、Representation要素がSegmentBase形式で記述される場合、サーバ装置100は、図57に示すようなMPDファイルを生成することができる。より具体的には、サーバ装置100は、行番号5に、Segment
Index box(sidx)のデータ位置に関する情報としてindexRangeを記述する。MP4コンテナの先頭を起点としてindexRangeによって示されるデータ位置にSegment Index boxが記録されており、サーバ装置100は、Segment
Index box中にconnectionPointTimescale、connectionPointOffset、およびconnectionPointCTSを記述する。
図58は、Segment Index boxの具体例である。サーバ装置100は、行番号4にconnectionPointTimescaleを記述し、行番号5にconnectionPointOffsetを記述し、行番号9にconnectionPointCTSを記述することができる。該当の音声セグメントにConnectionPointが存在しない場合、サーバ装置100は、connectionPointCTSとして所定のデータ列(例えば、“0xFFFFFFFFFFFFFFFF”など)を設定することでその旨を示すことができる。
なお、サーバ装置100は、図59に示すように、音声セグメントの先頭に該当するobject_metadatum()ブロック、およびConnectionPointが示すCTSを含む時刻に該当するobject_metadatum()ブロックでは、metadata_indexが切り替わる可能性があるため、メタデータを直接値とする(is_raw=1)。
<3.本開示の実施形態>
上記では、本開示の詳細について説明した。続いて、本開示の一実施形態について説明する。
(3.1.システム構成例)
まず、図60を参照して、本開示の一実施形態に係る情報処理システムの構成例について説明する。
図60に示すように、本実施形態に係る情報処理システムは、サーバ装置100と、クライアント装置200と、を備える。そして、サーバ装置100とクライアント装置200は、インターネット300によって互いに接続されている。
サーバ装置100は、MPEG-DASHに基づいて各種コンテンツをクライアント装置200に配信する情報処理装置(送信装置)である。より具体的には、サーバ装置100は、クライアント装置200からの要求に応じて、MPDファイル、映像ストリームデータ(第1のストリームデータ)および音声ストリームデータ(第2のストリームデータ)などをクライアント装置200へ送信する。
クライアント装置200は、MPEG-DASHに基づいて各種コンテンツを再生する情報処理装置(受信装置)である。より具体的には、クライアント装置200は、サーバ装置100からMPDファイルを取得し、当該MPDファイルに基づいてサーバ装置100から映像ストリームデータおよび音声ストリームデータなどを取得し、復号処理を行うことで映像コンテンツおよび音声コンテンツを再生する。
以上、本実施形態に係る情報処理システムの構成例について説明した。なお、図60を参照して説明した上記の構成はあくまで一例であり、本実施形態に係る情報処理システムの構成は係る例に限定されない。例えば、サーバ装置100の機能の全部または一部は、クライアント装置200またはその他の外部装置に備えられてもよい。例えば、サーバ装置100の機能の全部または一部を提供するソフトウェア(例えば、所定のAPI(Application Programming Interface)が使用されたWEBアプリケーション等)がクライアント装置200上で実行されてもよい。また、逆に、クライアント装置200の機能の全部または一部は、サーバ装置100またはその他の外部装置に備えられてもよい。本実施形態に係る情報処理システムの構成は、仕様や運用に応じて柔軟に変形可能である。
ここで、本実施形態のポイントは、特に第2のストリームデータである音声ストリームデータに関する処理にあるため、以降では、音声ストリームデータに関する処理について重点的に説明していく。
(3.2.サーバ装置100の機能構成例)
上記では、本実施形態に係る情報処理システムのシステム構成例について説明した。続いて、図61を参照して、サーバ装置100の機能構成例について説明する。
図61に示すように、サーバ装置100は、生成部110と、制御部120と、通信部130と、記憶部140と、を備える。
生成部110は、音声ストリームデータ(第2のストリームデータ)を生成する機能構成である。図61に示すように、生成部110は、データ取得部111と、符号化処理部112と、セグメントファイル生成部113と、MPDファイル生成部114と、を備え、これらの機能構成を制御することによって音声ストリームデータの生成を実現する。
データ取得部111は、第2のストリームデータの生成に用いられる音声オブジェクト(素材音)を取得する機能構成である。データ取得部111は、サーバ装置100内から音声オブジェクトを取得してもよいし、サーバ装置100に接続している外部装置から音声オブジェクトを取得してもよい。データ取得部111は、取得した音声オブジェクトを符号化処理部112に供給する。
符号化処理部112は、データ取得部111から供給された音声オブジェクト、および外部から入力された各音声オブジェクトの位置情報などを含むメタデータを符号化することで音声ストリームデータを生成する機能構成である。符号化処理部112は、音声ストリームデータをセグメントファイル生成部113に供給する。
セグメントファイル生成部113は、音声コンテンツとして配信可能な単位のデータである音声セグメント(Initialization SegmentやMedia Segmentなど)を生成する機能構成である。より具体的には、セグメントファイル生成部113は、符号化処理部112から供給される音声ストリームデータをセグメント単位でファイル化することで音声セグメントを生成する。また、セグメントファイル生成部113は、映像ストリームデータ(第1のストリームデータ)の切り替わりのタイミングに関するタイミング情報などを、音声ストリームデータ(第2のストリームデータ)のSegment Index box(sidx)に含める。
MPDファイル生成部114は、MPDファイルを生成する機能構成である。本実施形態において、MPDファイル生成部114は、映像ストリームデータ(第1のストリームデータ)の切り替わりのタイミングに関するタイミング情報などを、音声ストリームデータ(第2のストリームデータ)の再生に用いられるMPDファイル(メタデータの一種である)に含める。
制御部120は、サーバ装置100が行う処理全般を統括的に制御する機能構成である。例えば、制御部120は、通信部130を介して受信されるクライアント装置200からの要求情報等に基づいて各構成の起動や停止を制御することができる。なお、制御部120の制御内容は特に限定されない。例えば、制御部120は、汎用コンピュータ、PC、タブレットPCなどにおいて一般的に行われる処理を制御してもよい。
通信部130は、クライアント装置200との各種通信を行う機能構成である(送信部としても機能する)。例えば、通信部130は、クライアント装置200からの要求情報を受信したり、当該要求情報への応答としてMPDファイル、音声ストリームデータ、または映像ストリームデータなどをクライアント装置200へ送信したりする。なお、通信部130の通信内容はこれらに限定されない。
記憶部140は、各種情報を記憶する機能構成である。例えば、記憶部140は、MPDファイル、音声オブジェクト、メタデータ、音声ストリームデータ、または映像ストリームデータなどを記憶したり、サーバ装置100の各機能構成によって使用されるプログラムやパラメータなどを記憶したりする。なお、記憶部140が記憶する情報はこれらに限定されない。
以上、サーバ装置100の機能構成例について説明した。なお、図61を用いて説明した上記の機能構成はあくまで一例であり、サーバ装置100の機能構成は係る例に限定されない。例えば、サーバ装置100は、図61に示す機能構成の全てを必ずしも備えなくてもよい。また、サーバ装置100の機能構成は、仕様や運用に応じて柔軟に変形可能である。
(3.3.クライアント装置200の機能構成例)
上記では、サーバ装置100の機能構成例について説明した。続いて、図62を参照して、クライアント装置200の機能構成例について説明する。
図62に示すように、クライアント装置200は、再生処理部210と、制御部220と、通信部230と、記憶部240と、を備える。
再生処理部210は、音声ストリームデータ(第2のストリームデータ)に対応するメタデータに基づいて音声ストリームデータの再生処理を行う機能構成である。図62に示すように、再生処理部210は、音声セグメント解析部211と、音声オブジェクト復号部212と、メタデータ復号部213と、メタデータ選択部214と、出力ゲイン計算部215と、音声データ生成部216と、を備え、これらの機能構成を制御することによって音声ストリームデータの再生処理を実現する。
音声セグメント解析部211は、音声セグメントを解析する機能構成である。音声セグメントには、上記のとおり、Initialization SegmentおよびMedia Segmentが存在するのでそれぞれについて説明する。
Initialization
Segmentの解析処理について説明すると、音声セグメント解析部211は、Movie box(moov)配下のSample Description box(stsd)からheader()ブロックを解析することで、num_objects、num_metadata、およびrepresentation_indexのリストを読み出す。また、音声セグメント解析部211は、representation_indexとmetadata_indexのペアリングを行う。さらに、MPDファイルにてRepresentation要素がSegmentBase形式で記述されている場合、音声セグメント解析部211は、Segment Index box(sidx)からConnectionPointに関する値(タイミング情報)を読み出す。
Media
Segmentの解析処理について説明すると、音声セグメント解析部211は、audio_frames()ブロックの中の1つのaudio_frame()ブロックを読み出して音声オブジェクト復号部212へ供給する処理を、音声オブジェクトの数(すなわち、num_objectsの値)だけ繰り返す。
また、音声セグメント解析部211は、object_metadata()ブロックの中のobject_metadatum()ブロックを読み出してメタデータ復号部213に供給する処理を、メタデータの数(すなわち、num_metadataの値)だけ繰り返す。このとき、音声セグメント解析部211は、例えば、クライアント装置200のユーザによって選択されている映像レプリゼンテーションのインデックスに基づいてheader()ブロックにてrepresentation_indexを検索することで、これに対応するmetadata_indexを求め、そのmetadata_indexを有するobject_metadata()ブロックを選択的に読み出す。
音声オブジェクト復号部212は、音声オブジェクトを復号する機能構成である。例えば、音声オブジェクト復号部212は、MPEG4-AAC方式で符号化された音声信号を復号してPCMデータを出力し、音声データ生成部216へ供給する処理を、音声オブジェクトの数(すなわち、num_objectsの値)だけ繰り返す。なお、音声オブジェクト復号部212の復号方式は、サーバ装置100の符号化方式に対応し、特に限定されるものではない。
メタデータ復号部213は、メタデータを復号する機能構成である。より具体的には、
メタデータ復号部213は、object_metadatum()ブロックを解析して、位置情報(例えば、azimuth、elevation、radius、およびgain)を読み出す。
このとき、is_rawがis_raw=1という関係を満たす場合、これらの値は差分値ではない(真の値(直接値)である)ため、メタデータ復号部213は、読み出したazimuth、elevation、radius、およびgainをそのまま出力ゲイン計算部215へ供給する。一方、is_rawがis_raw=0という関係を満たす場合、これらの値は差分値であるため、メタデータ復号部213は、読み出したazimuth、elevation、radius、およびgainを、前回読み出した値に合算することで得られた値を出力ゲイン計算部215へ供給する。
メタデータ選択部214は、映像ストリームデータ(第1のストリームデータ)が切り替わるタイミングに、音声ストリームデータ(第2のストリームデータ)の再生に用いられるメタデータを、切り替わった後の映像ストリームデータに対応するメタデータに切り替える機能構成である。より具体的には、メタデータ選択部214は、再生が行われる時刻(再生時刻)がConnectionPoint以前であるか否かを確認し、再生時刻がConnectionPoint以前である場合には、再生に用いられるメタデータとして、切り替え前のメタデータを選択する。一方、再生時刻がConnectionPointよりも後である場合には、再生に用いられるメタデータとして、切り替え後のメタデータを選択する。メタデータ選択部214は、選択したメタデータ(位置情報など)を出力ゲイン計算部215に供給する。
出力ゲイン計算部215は、メタデータ復号部213から供給されたメタデータ(位置情報など)に基づいて音声オブジェクトごとにスピーカ出力ゲインを算出する機能構成である。出力ゲイン計算部215は、算出したスピーカ出力ゲインに関する情報を音声データ生成部216へ供給する。
音声データ生成部216は、各スピーカから出力される音声データを生成する機能構成である。より具体的には、音声データ生成部216は、音声オブジェクト復号部212から供給された音声オブジェクトごとのPCMデータに対して、出力ゲイン計算部215によって算出されたスピーカ出力ゲインを適用することで、各スピーカから出力される音声データを生成する。
制御部220は、クライアント装置200が行う処理全般を統括的に制御する機能構成である。例えば、制御部220は、通信部230を介してサーバ装置100からMPDファイルを取得する。そして、制御部220は、MPDファイルを解析し、解析結果を再生処理部210に供給する。特に、MPDファイルのRepresentation要素がSegmentTemplate形式、またはSegmentList形式で記述される場合、制御部220は、ConnectionPointに関する値(タイミング情報)を取得し、再生処理部210に供給する。また、制御部220は、通信部230を介してサーバ装置100から音声ストリームデータ(第2のストリームデータ)、および映像ストリームデータ(第1のストリームデータ)を取得し、representation_indexなどを再生処理部210に供給する。
さらに、制御部220は、ユーザによってマウスやキーボードなどの入力部(図示なし)を用いて行われる入力に基づいて音声ストリームデータおよび映像ストリームデータの切り替え指示を取得する。特に、映像ストリームデータが切り替えられるときに、制御部220はrepresentation_indexを取得し、再生処理部210に供給する。
なお、制御部220の制御内容は特に限定されない。例えば、制御部220は、汎用コンピュータ、PC、タブレットPCなどにおいて一般的に行われる処理を制御してもよい。
通信部230は、サーバ装置100との各種通信を行う機能構成である(受信部としても機能する)。例えば、通信部230は、ユーザ入力などに基づいてサーバ装置100へ要求情報を送信したり、当該要求情報への応答としてMPDファイル、音声ストリームデータ、および映像ストリームデータなどをサーバ装置100から受信したりする。なお、通信部230の通信内容はこれらに限定されない。
記憶部240は、各種情報を記憶する機能構成である。例えば、記憶部240は、サーバ装置100から提供されたMPDファイル、音声ストリームデータ、および映像ストリームデータなどを記憶したり、クライアント装置200の各機能構成によって使用されるプログラムやパラメータなどを記憶したりする。なお、記憶部240が記憶する情報はこれらに限定されない。
以上、クライアント装置200の機能構成例について説明した。なお、図62を用いて説明した上記の機能構成はあくまで一例であり、クライアント装置200の機能構成は係る例に限定されない。例えば、クライアント装置200は、図62に示す機能構成の全てを必ずしも備えなくてもよい。また、クライアント装置200の機能構成は、仕様や運用に応じて柔軟に変形可能である。
(3.4.クライアント装置200の処理フロー例)
上記では、クライアント装置200の機能構成例について説明した。続いて、クライアント装置200の処理フロー例について説明する。
(切り替わりが発生しない場合の処理フロー例)
まず、図63を参照して、映像ストリームデータ、および音声ストリームデータの切り替わりが発生しない場合のクライアント装置200による音声ストリームデータの再生処理フローの具体例について説明する。
ステップS1000では、クライアント装置200の制御部220が通信部230を介してサーバ装置100からMPDファイルを取得する。ステップS1004では、制御部220が、取得したMPDファイルを解析する。
そして、クライアント装置200の各機能構成は、ステップS1008〜ステップS1012の処理を音声セグメントごとに繰り返し行うことで一連の処理が終了する。より具体的には、クライアント装置200の各機能構成は、ステップS1008では、音声セグメントを取得する処理を行い、ステップS1012では、取得した音声セグメントを再生する処理を行うことで一連の処理が終了する。
続いて、図63のステップS1008にて行われる、音声セグメントを取得する処理フローの具体例を、図64を参照して説明する。
ステップS1100では、クライアント装置200の制御部220が映像レプリゼンテーションに対応するrepresentation_indexを取得する。ステップS1104では、制御部220が、取得したrepresentation_indexに基づいてobject_metadatum()ブロックに含まれるmetadata_indexを検索する。ステップS1108では、制御部220が、検索によって取得したmetadata_indexを再生処理部210に供給する。
ステップS1112では、制御部220が、audio_frames()ブロックを伝送する音声セグメントを取得し再生処理部210に供給する。そして、metadata_indexがMPDファイルのSupplementalPropertyにリストされている場合(ステップS1116/Yes)、ステップS1120にて、metadata_indexが示すobject_metadata()ブロックを伝送する音声セグメントを制御部220が取得し、再生処理部210に供給することで、音声セグメントの取得処理が終了する。metadata_indexがMPDファイルのSupplementalPropertyにリストされていない場合(ステップS1116/No)には、ステップS1120に記載の音声セグメントの取得処理が行われることなく一連の処理が終了する。
続いて、図63のステップS1012にて行われる、音声セグメントを再生する処理フローの具体例を、図65を参照して説明する。
ステップS1200では、クライアント装置200の音声セグメント解析部211が制御部220によって取得された音声セグメントの種別を確認する。制御部220によって取得された音声セグメントの種別がInitialization Segmentである場合、ステップS1204にて、音声セグメント解析部211は、Movie box(moov)配下のSample
Description box(stsd)からheader()ブロックを読出し、解析することで、num_objects、num_metadata、およびrepresentation_indexのリストを読み出す。また、音声セグメント解析部211は、representation_indexとmetadata_indexのペアリングを行う。
制御部220によって取得された音声セグメントの種別がMedia Segmentである場合、ステップS1208にて、音声セグメント解析部211は、Media SegmentにおけるMedia Data box(mdat)からデータの分離を行う。ステップS1212では、音声セグメント解析部211が分離されたデータの種別を確認する。分離されたデータの種別がaudio_frames()ブロックである場合、ステップS1216にて、音声セグメント解析部211がaudio_frames()ブロックの中のaudio_frame()ブロックを読み出して音声オブジェクト復号部212に供給することで、音声オブジェクト復号部212が音声オブジェクトを復号する。
ステップS1212にて、分離されたデータの種別がobject_metadata()ブロックである場合、ステップS1220にて、音声セグメント解析部211がobject_metadata()ブロックの中のobject_metadatum()ブロックを読み出してメタデータ復号部213に供給することで、メタデータ復号部213がメタデータを復号する。ステップS1224では、出力ゲイン計算部215がメタデータ復号部213から供給された位置情報に基づいて音声オブジェクトごとにスピーカ出力ゲインを算出する。
そして、ステップS1228では、音声データ生成部216が、音声オブジェクト復号部212から供給された音声オブジェクトごとのPCMデータに対して、出力ゲイン計算部215によって算出されたスピーカ出力ゲインを適用することで、各スピーカから出力される音声データを生成することで、音声セグメントの再生処理が終了する。
(切り替わりが発生する場合の処理フロー例)
続いて、映像ストリームデータ、および音声ストリームデータの切り替わりが発生する場合の処理フローについて説明する。映像ストリームデータ、および音声ストリームデータの切り替わりが発生する場合であっても、クライアント装置200による音声ストリームデータの再生処理フローは、図63に示した具体例と同様であり得るため説明を省略する。
図63のステップS1008にて行われる、音声セグメントを取得する処理フローの具体例を、図66を参照して説明する。
ステップS1300では、クライアント装置200の制御部220が映像レプリゼンテーションに対応するrepresentation_indexを取得する。ステップS1304では、制御部220が、取得したrepresentation_indexに基づいてmetadata_indexおよびConnectionPointを導出する。ステップS1308では、制御部220が、導出したmetadata_indexおよびConnectionPointを再生処理部210に供給する。
ステップS1312では、制御部220が、audio_frames()ブロックを伝送する音声セグメントを取得し再生処理部210に供給する。そして、切り替え前のmetadata_indexがMPDファイルのSupplementalPropertyにリストされている場合(ステップS1316/Yes)、ステップS1320にて、切り替え前のmetadata_indexが示すobject_metadata()ブロックを伝送する音声セグメントを制御部220が取得し、再生処理部210に供給する。切り替え前のmetadata_indexがMPDファイルのSupplementalPropertyにリストされていない場合(ステップS1316/No)には、ステップS1320の処理は省略される。
そして、切り替え後のmetadata_indexがMPDファイルのSupplementalPropertyにリストされている場合(ステップS1324/Yes)、ステップS1328にて、切り替え後のmetadata_indexが示すobject_metadata()ブロックを伝送する音声セグメントを制御部220が取得し、再生処理部210に供給することで、音声セグメントの取得処理が終了する。切り替え後のmetadata_indexがMPDファイルのSupplementalPropertyにリストされていない場合(ステップS1324/No)には、ステップS1328の処理は省略されて一連の処理が終了する。
続いて、図63のステップS1012にて行われる、音声セグメントを再生する処理フローの具体例を、図68を参照して説明する。
ステップS1400では、クライアント装置200の音声セグメント解析部211が制御部220によって取得された音声セグメントの種別を確認する。制御部220によって取得された音声セグメントの種別がInitialization Segmentである場合、ステップS1404にて、Movie
box(moov)配下のSample Description
box(stsd)からheader()ブロックを読出し、解析することで、num_objects、num_metadata、およびrepresentation_indexのリストを読み出す。また、音声セグメント解析部211は、representation_indexとmetadata_indexのペアリングを行う。
制御部220によって取得された音声セグメントの種別がMedia Segmentである場合、ステップS1408にて、音声セグメント解析部211は、Media SegmentにおけるMedia Data box(mdat)からデータの分離を行う。ステップS1412では、音声セグメント解析部211が分離されたデータの種別を確認する。分離されたデータの種別がaudio_frames()ブロックである場合、ステップS1416にて、音声セグメント解析部211がaudio_frames()ブロックの中のaudio_frame()ブロックを読み出して音声オブジェクト復号部212に供給することで、音声オブジェクト復号部212が音声オブジェクトを復号する。
ステップS1412にて、分離されたデータの種別がobject_metadata()ブロックである場合、ステップS1420にて、音声セグメント解析部211が切り替え前のobject_metadatum()ブロックを読み出してメタデータ復号部213に供給することで、メタデータ復号部213がメタデータを復号する。
切り替え後のメタデータが同一の音声セグメント内に存在しない場合(ステップS1424/No)、ステップS1428にて、音声セグメント解析部211は、制御部220によって取得された、切り替え後のメタデータを含む音声セグメントの読み出しを行う。
ステップS1432にて、音声セグメント解析部211は、Media SegmentにおけるMedia Data box(mdat)からデータの分離を行う。ステップS1436では、音声セグメント解析部211がobject_metadata()ブロックの中のobject_metadatum()ブロックを読み出してメタデータ復号部213に供給することで、メタデータ復号部213が切り替え後のメタデータを復号する。
ステップS1440では、メタデータ選択部214が所定の方法でメタデータの選択を行う(当該方法の具体例については後述する)。ステップS1444では、出力ゲイン計算部215がメタデータ復号部213から供給された位置情報に基づいて音声オブジェクトごとにスピーカ出力ゲインを算出する。
そして、ステップS1448では、音声データ生成部216が、音声オブジェクト復号部212から供給された音声オブジェクトごとのPCMデータに対して、出力ゲイン計算部215によって算出されたスピーカ出力ゲインを適用することで、各スピーカから出力される音声データを生成することで、音声セグメントの再生処理が終了する。
続いて、図69のステップS1440にて行われる、メタデータの選択処理フローの具体例を、図70を参照して説明する。
ステップS1500では、クライアント装置200のメタデータ選択部214が、再生が行われる時刻(再生時刻)がConnectionPoint以前であるか否かを確認する。再生時刻がConnectionPoint以前である場合(ステップS1500/Yes)、ステップS1504にて、メタデータ選択部214は、再生処理に用いられるメタデータとして、切り替え前のメタデータを選択することでメタデータの選択処理フローが終了する。再生時刻がConnectionPointよりも後である場合(ステップS1500/No)、ステップS1508にて、メタデータ選択部214は、再生処理に用いられるメタデータとして、切り替え後のメタデータを選択することでメタデータの選択処理フローが終了する。
なお、上記で説明した図63〜図70のフローチャートにおける各ステップは、必ずしも記載された順序に沿って時系列に処理される必要はない。すなわち、フローチャートにおける各ステップは、記載された順序と異なる順序で処理されても、並列的に処理されてもよい。
(3.5.各装置のハードウェア構成例)
上記では、クライアント装置200の処理フロー例について説明した。続いて、図71を参照して、サーバ装置100、またはクライアント装置200のハードウェア構成例について説明する。
図71は、サーバ装置100、またはクライアント装置200を具現する情報処理装置900のハードウェア構成例を示すブロック図である。情報処理装置900は、CPU(Central Processing Unit)901と、ROM(Read Only
Memory)902と、RAM(Random Access Memory)903と、ホストバス904と、ブリッジ905と、外部バス906と、インタフェース907と、入力装置908と、出力装置909と、ストレージ装置(HDD)910と、ドライブ911と、通信装置912とを備える。
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバス904により相互に接続されている。当該CPU901、ROM902およびRAM903の協働により、サーバ装置100の生成部110もしく制御部120、またはクライアント装置200の再生処理部210もしくは制御部220の各機能が実現される。
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905および外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。情報処理装置900を使用するユーザは、該入力装置908を操作することにより、各装置に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置およびランプなどの表示装置を含む。さらに、出力装置909は、スピーカおよびヘッドホンなどの音声出力装置を含む。出力装置909は、例えば、再生されたコンテンツを出力する。具体的には、表示装置は再生された映像データ等の各種情報をテキストまたはイメージで表示する。一方、音声出力装置は、再生された音声データ等を音声に変換して出力する。
ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。当該ストレージ装置910によって、サーバ装置100の記憶部140、またはクライアント装置200の記憶部240の機能が実現される。
ドライブ911は、記憶媒体用リーダライタであり、情報処理装置900に内蔵、あるいは外付けされる。ドライブ911は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体913に記録されている情報を読み出して、RAM903に出力する。また、ドライブ911は、リムーバブル記憶媒体913に情報を書き込むこともできる。
通信装置912は、例えば、通信網914に接続するための通信デバイス等で構成された通信インタフェースである。通信装置912によって、サーバ装置100の通信部130、またはクライアント装置200の通信部230の機能が実現される。
<4.まとめ>
以上で説明してきたように、本開示に係るサーバ装置100(送信装置)は、ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを生成し、第2のストリームデータをクライアント装置200(受信装置)へ送信する。さらに、サーバ装置100は、第1のストリームデータの切り替わりのタイミング情報を第2のストリームデータの再生に用いられるMPDファイルなどに含める。
これによって、クライアント装置200は、第2のストリームデータを受信し、当該データに対応するメタデータに基づいて第2のストリームデータの再生処理を行うところ、MPDファイルなどに含まれるタイミング情報に基づいて、第1のストリームデータが切り替わるタイミングに、第2のストリームデータ(厳密には、第2のストリームデータの再生に用いられるメタデータ)を切り替えることができる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信する受信部を備える、
受信装置。
(2)
前記第2のストリームデータに対応するメタデータに基づいて前記第2のストリームデータの再生処理を行う再生処理部をさらに備える、
前記(1)に記載の受信装置。
(3)
前記再生処理部は、前記第1のストリームデータの切り替わりに応じて、前記第2のストリームデータの再生に用いられる前記メタデータを切り替える、
前記(2)に記載の受信装置。
(4)
前記再生処理部は、前記第1のストリームデータが切り替わるタイミングに、前記第2のストリームデータの再生に用いられる前記メタデータを切り替える、
前記(3)に記載の受信装置。
(5)
前記再生処理部は、前記第2のストリームデータの再生に用いられる前記メタデータを、切り替わった後の前記第1のストリームデータに対応する前記メタデータに切り替える、
前記(3)または(4)に記載の受信装置。
(6)
前記第1のストリームデータは映像ストリームデータであり、前記第2のストリームデータは音声ストリームデータである、
前記(1)から(5)のいずれか1項に記載の受信装置。
(7)
前記第2のストリームデータは、MPEG-DASH(Dynamic
Adaptive Streaming over Http)によって規定されたデータである、
前記(1)から(6)のいずれか1項に記載の受信装置。
(8)
ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信することを有する、
コンピュータにより実行される受信方法。
(9)
ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信すること、
をコンピュータに実現させるためのプログラム。
(10)
ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信する送信部を備える、
送信装置。
(11)
前記第2のストリームデータを生成する生成部をさらに備え、
前記生成部は、前記第1のストリームデータの切り替わりのタイミングに関する情報を、前記第2のストリームデータの再生に用いられるメタデータに含める、
前記(10)に記載の送信装置。
(12)
前記生成部は、前記第2のストリームデータの再生処理に用いられる少なくとも1つのメタデータと、オブジェクトデータと、を同一セグメントに格納する、
前記(11)に記載の送信装置。
(13)
前記生成部は、前記第2のストリームデータの再生処理に用いられるメタデータと、オブジェクトデータと、を互いに異なるセグメントに格納する、
前記(11)に記載の送信装置。
(14)
前記第1のストリームデータは映像ストリームデータであり、前記第2のストリームデータは音声ストリームデータである、
前記(10)から(13)のいずれか1項に記載の送信装置。
(15)
前記第2のストリームデータは、MPEG-DASH(Dynamic
Adaptive Streaming over Http)によって規定されたデータである、
前記(10)から(14)のいずれか1項に記載の送信装置。
(16)
ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信することを有する、
コンピュータにより実行される送信方法。
(17)
ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信すること
をコンピュータに実現させるためのプログラム。
100 サーバ装置
110 生成部
111 データ取得部
112 符号化処理部
113 セグメントファイル生成部
114 MPDファイル生成部
120 制御部
130 通信部
140 記憶部
200 クライアント装置
210 再生処理部
211 音声セグメント解析部
212 音声オブジェクト復号部
213 メタデータ復号部
214 メタデータ選択部
215 出力ゲイン計算部
216 音声データ生成部
220 制御部
230 通信部
240 記憶部
300 インターネット

Claims (17)

  1. ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信する受信部を備える、
    受信装置。
  2. 前記第2のストリームデータに対応するメタデータに基づいて前記第2のストリームデータの再生処理を行う再生処理部をさらに備える、
    請求項1に記載の受信装置。
  3. 前記再生処理部は、前記第1のストリームデータの切り替わりに応じて、前記第2のストリームデータの再生に用いられる前記メタデータを切り替える、
    請求項2に記載の受信装置。
  4. 前記再生処理部は、前記第1のストリームデータが切り替わるタイミングに、前記第2のストリームデータの再生に用いられる前記メタデータを切り替える、
    請求項3に記載の受信装置。
  5. 前記再生処理部は、前記第2のストリームデータの再生に用いられる前記メタデータを、切り替わった後の前記第1のストリームデータに対応する前記メタデータに切り替える、
    請求項3に記載の受信装置。
  6. 前記第1のストリームデータは映像ストリームデータであり、前記第2のストリームデータは音声ストリームデータである、
    請求項1に記載の受信装置。
  7. 前記第2のストリームデータは、MPEG-DASH(Dynamic
    Adaptive Streaming over Http)によって規定されたデータである、
    請求項1に記載の受信装置。
  8. ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信することを有する、
    コンピュータにより実行される受信方法。
  9. ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを受信すること、
    をコンピュータに実現させるためのプログラム。
  10. ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信する送信部を備える、
    送信装置。
  11. 前記第2のストリームデータを生成する生成部をさらに備え、
    前記生成部は、前記第1のストリームデータの切り替わりのタイミングに関する情報を、前記第2のストリームデータの再生に用いられるメタデータに含める、
    請求項10に記載の送信装置。
  12. 前記生成部は、前記第2のストリームデータの再生処理に用いられる少なくとも1つのメタデータと、オブジェクトデータと、を同一セグメントに格納する、
    請求項11に記載の送信装置。
  13. 前記生成部は、前記第2のストリームデータの再生処理に用いられるメタデータと、オブジェクトデータと、を互いに異なるセグメントに格納する、
    請求項11に記載の送信装置。
  14. 前記第1のストリームデータは映像ストリームデータであり、前記第2のストリームデータは音声ストリームデータである、
    請求項10に記載の送信装置。
  15. 前記第2のストリームデータは、MPEG-DASH(Dynamic
    Adaptive Streaming over Http)によって規定されたデータである、
    請求項10に記載の送信装置。
  16. ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信することを有する、
    コンピュータにより実行される送信方法。
  17. ビットストリームデータである第1のストリームデータに対応し、オブジェクトデータである第2のストリームデータを外部装置に対して送信すること
    をコンピュータに実現させるためのプログラム。
JP2018089795A 2018-05-08 2018-05-08 受信装置、送信装置、受信方法、送信方法、およびプログラム Pending JP2021129127A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018089795A JP2021129127A (ja) 2018-05-08 2018-05-08 受信装置、送信装置、受信方法、送信方法、およびプログラム
PCT/JP2019/007451 WO2019216001A1 (ja) 2018-05-08 2019-02-27 受信装置、送信装置、受信方法、送信方法、およびプログラム
US17/049,697 US20210243485A1 (en) 2018-05-08 2019-02-27 Receiving apparatus, transmission apparatus, receiving method, transmission method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018089795A JP2021129127A (ja) 2018-05-08 2018-05-08 受信装置、送信装置、受信方法、送信方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2021129127A true JP2021129127A (ja) 2021-09-02

Family

ID=68467914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018089795A Pending JP2021129127A (ja) 2018-05-08 2018-05-08 受信装置、送信装置、受信方法、送信方法、およびプログラム

Country Status (3)

Country Link
US (1) US20210243485A1 (ja)
JP (1) JP2021129127A (ja)
WO (1) WO2019216001A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6309639B2 (ja) * 2014-01-13 2018-04-11 エルジー エレクトロニクス インコーポレイティド 1つ以上のネットワークを介して放送コンテンツを送信又は受信するための方法及び装置
US20230224557A1 (en) * 2022-01-12 2023-07-13 Tencent America LLC Auxiliary mpds for mpeg dash to support prerolls, midrolls and endrolls with stacking properties

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9502073B2 (en) * 2010-03-08 2016-11-22 Magisto Ltd. System and method for semi-automatic video editing
US9185439B2 (en) * 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9854375B2 (en) * 2015-12-01 2017-12-26 Qualcomm Incorporated Selection of coded next generation audio data for transport
JP6609468B2 (ja) * 2015-12-07 2019-11-20 日本放送協会 受信装置、再生時刻制御方法、及びプログラム

Also Published As

Publication number Publication date
WO2019216001A1 (ja) 2019-11-14
US20210243485A1 (en) 2021-08-05

Similar Documents

Publication Publication Date Title
US9135953B2 (en) Method for creating, editing, and reproducing multi-object audio contents files for object-based audio service, and method for creating audio presets
US20210326378A1 (en) Information processing apparatus and information processing method
WO2021065277A1 (ja) 情報処理装置、再生処理装置及び情報処理方法
JPWO2016171002A1 (ja) 送信装置、送信方法、受信装置および受信方法
JP2023053131A (ja) 情報処理装置および情報処理方法
WO2019216001A1 (ja) 受信装置、送信装置、受信方法、送信方法、およびプログラム
CN109076250A (zh) 交互式音频元数据处置
WO2021065605A1 (ja) 情報処理装置および情報処理方法
KR101114431B1 (ko) 실시간 스트리밍을 위한 오디오 생성장치, 오디오 재생장치 및 그 방법
CN114026875A (zh) 信息处理装置、信息处理方法、再现处理装置和再现处理方法
KR101040086B1 (ko) 오디오 생성방법, 오디오 생성장치, 오디오 재생방법 및 오디오 재생장치
VRT et al. First Version of Playout Clients
JP2019121037A (ja) 情報処理装置、情報処理方法およびプログラム
Zoia et al. Mixing Natural and Structured Audio Coding in Multimedia Frameworks
Battista et al. Hybrid natural and structured audio coding for 3D scenes
Van Winkle Considerations on Audio for Flash: Getting to the Vector Soundstage
KR20240065194A (ko) 정보 처리 장치 및 정보 처리 방법