JP7171772B2 - 適応的なストリーミング整列のためのフレーム変換 - Google Patents

適応的なストリーミング整列のためのフレーム変換 Download PDF

Info

Publication number
JP7171772B2
JP7171772B2 JP2020572962A JP2020572962A JP7171772B2 JP 7171772 B2 JP7171772 B2 JP 7171772B2 JP 2020572962 A JP2020572962 A JP 2020572962A JP 2020572962 A JP2020572962 A JP 2020572962A JP 7171772 B2 JP7171772 B2 JP 7171772B2
Authority
JP
Japan
Prior art keywords
frame
audio
frames
bitstream
video
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.)
Active
Application number
JP2020572962A
Other languages
English (en)
Other versions
JP2021529478A (ja
Inventor
ドナルド ホフマン,マイケル
フェルシュ,クリストフ
プリバディ,マーヴィン
ホエリッヒ,ホルガー
Original Assignee
ドルビー ラボラトリーズ ライセンシング コーポレイション
ドルビー・インターナショナル・アーベー
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 ドルビー ラボラトリーズ ライセンシング コーポレイション, ドルビー・インターナショナル・アーベー filed Critical ドルビー ラボラトリーズ ライセンシング コーポレイション
Publication of JP2021529478A publication Critical patent/JP2021529478A/ja
Application granted granted Critical
Publication of JP7171772B2 publication Critical patent/JP7171772B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/615Signal processing at physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/6473Monitoring network processes errors

Description

関連出願への相互参照
本願は、いずれも2018年6月28日に出願された米国仮特許出願第62/690,998号および欧州特許出願第18180389.1号の優先権の利益を主張する。両出願は参照により本明細書に組み込まれる。
技術分野
本稿は、オーディオおよびビデオ信号処理に関し、より詳細には、ビデオ・フレーム(エンコードされたビデオ・データおよび任意的にメタデータも含む)およびオーディオ・フレーム(エンコードされたオーディオ・データおよび任意的にメタデータも含む)を含むビットストリーム(たとえば、適応ストリーミング・フォーマットまたは方法/プロトコルにおいて使用されるビットストリームまたはビットストリーム・セグメントまたはトランスポート・ストリーム)の生成および適応に関する。本発明のいくつかの実施形態は、エンコードされたオーディオ・データ(たとえば、AC-4、またはMPEG-D USAC、MPEG-Hオーディオ標準に準拠するか互換性のあるフォーマットのエンコードされたオーディオ・データ)を含むビットストリーム・セグメント(たとえば、MPEG-2トランスポート・ストリーム・フォーマット、またはMMT、もしくはMPEG-DASH、もしくは別のストリーミング方法/プロトコルに従うフォーマット、または別の適応ストリーミング・フォーマット、または別の標準互換フォーマットを有する)を生成するまたは適応させる(たとえば整列させる)。
適応ストリーミングでは、適応ストリーミング・フォーマットを有する(または、適応ストリーミング・フォーマットにおいて使用される)データは、それぞれのビデオ表現およびオーディオ表現のための別個のビットストリーム(または、ビットストリーム・セグメント)を含んでいてもよい。よって、データは、単一のビットストリーム(たとえば、単一のトランスポート・ストリーム)からなるのではなく、代わりに、2つ以上の別々のビットストリームを含んでいてもよい。ここで、表現「AVビットストリーム」(下記で定義される)は、ビットストリーム、またはビットストリーム・セグメント、または2つ以上のビットストリーム・セグメント(たとえば、トランスポート・ストリーム、または適応ストリーミング・フォーマットで使用されるビットストリーム・セグメント)を示す信号(単数または複数)を示すために使用され、前記ビットストリーム(またはビットストリーム・セグメント(単数または複数))は、ビデオ・データおよび/またはエンコードされたオーディオ・データを含み、典型的にはメタデータをも含む。
AVビットストリーム(たとえば、トランスポート・ストリーム、または、適応ストリーミング・フォーマットもしくはストリーミング方法もしくはプロトコルで使用されるビットストリーム・セグメント)は、少なくとも1つのオーディオ/ビデオ(オーディオおよび/またはビデオ)プログラム(「プログラム」)を示すことができ、(それによって示される各プログラムについて)ビデオ・データのフレーム(これが少なくとも1つのビデオ・エレメンタリー・ストリームを決定する)および該ビデオ・データに対応するエンコードされたオーディオ・データのフレーム(これが少なくとも1つのオーディオ・エレメンタリー・ストリームを決定する)を含みうる。ビデオ・データのフレームは、ビデオ・データのIフレーム(ビデオIフレーム)およびビデオ・データのPフレーム(ビデオPフレーム)を含んでいてもよく、またはそれらからなっていてもよく、エンコードされたオーディオ・データのフレームは、エンコードされたオーディオ・データのIフレーム(オーディオIフレーム)およびエンコードされたオーディオ・データのPフレーム(オーディオPフレーム)を含んでいてもよく、またはそれらからなっていてもよい。
ここで、特許請求の範囲内も含め、「Iフレーム」は、それ自身内からの情報のみを用いてデコードできる、独立デコード可能なフレームを表わす。ここで、特許請求の範囲内も含め、Iフレームではないフレーム(たとえば、予測的にエンコードされるフレーム)は、「Pフレーム」と呼ばれる。AVビットストリームでは、Pフレームは、典型的には、デコードされるために、前のIフレームからの情報を必要とする。Iフレーム(またはPフレーム)は、ビデオ・データ(および典型的にはメタデータ)を含んでいてもよく、そのようなフレームは、本明細書では時に、ビデオ・フレームまたはビデオ・データのフレームと呼ばれる。Iフレーム(またはPフレーム)は、エンコードされたオーディオ・データを(典型的にはメタデータも)含んでいてもよく、そのようなフレームは、本明細書では時に、オーディオ・フレームまたはオーディオ・データのフレームと呼ばれる。
多くの現代のオーディオ・コーデック(たとえば、AC-4オーディオ、MPEG-Hオーディオ、およびMPEG-D USACオーディオ・コーデック)およびビデオ・コーデックは、独立デコード可能なフレーム(上記で定義された「Iフレーム」)および他のフレーム(たとえば、上記で定義された「Pフレーム」である独立デコード可能でないフレーム)の概念を利用し、その結果、かかるコーデックによってエンコードされるオーディオおよび/またはビデオ・コンテンツを含むビットストリームは、典型的には、IフレームおよびPフレームを含む。多くのパッケージ化されたメディア送達フォーマットまたはプロトコル(たとえば、MPEG-DASH(Dynamic Adaptive Streaming over HTTP、ISO/IEC23009-1:2012で公表)、HLS(アップルHTTP Live Streaming)、MMT(MPEG Media Transport)、およびMPEG-2トランスポート・ストリーム・フォーマット)は、セグメント境界におけるシームレスなスプライシングまたはスイッチング)を可能にするために、オーディオ(またはビデオ)・コンテンツのセグメントがIフレームで始まることを必要とし、オーディオおよびビデオ・セグメント整列から恩恵を得ることができる。
オーディオ・エンコーダとビデオ・エンコーダは、典型的には独立して稼働し、両方とも、他方のことを知らずに、いつIフレームを生成するかについての決定を行なうことを許容されているため、オーディオIフレームとビデオIフレームとの間の整列を得ることは、典型的には非常に困難である。
本発明のいくつかの実施形態は、AVビットストリームのエレメンタリー・ストリーム(たとえば、ビデオ・エレメンタリー・ストリーム、および一つまたは複数の対応するオーディオ・エレメンタリー・ストリーム)のセグメント間の整列の問題を解決するために、エンコードされたオーディオ・データのIフレームと同期したビデオ・データのIフレーム(ビデオIフレーム)を含むAVビットストリームを生成する。典型的な実施形態では、AVビットストリームは、少なくとも1つのオーディオ/ビデオ・プログラム(「プログラム」)を示し、(それにより示される各プログラムについて)ビデオ・データのフレーム(これが少なくとも1つのビデオ・エレメンタリー・ストリームを決定する)および対応するエンコードされたオーディオ・データのフレーム(これが少なくとも1つのオーディオ・エレメンタリー・ストリームを決定する)を含み、ビデオ・データのフレームは、ビデオ・データのIフレーム(ビデオIフレーム)およびビデオ・データのPフレーム(ビデオPフレーム)を含み、エンコードされたオーディオ・データのフレームは、エンコードされたオーディオ・データのIフレーム(オーディオIフレーム)およびエンコードされたオーディオ・データのPフレーム(オーディオPフレーム)を含む。AVビットストリームの少なくとも1つのフレーム(前記少なくとも1つのビデオ・フレームおよび/または前記少なくとも1つのオーディオ・フレームの少なくとも1つ)は、(再オーサリングされたIフレームまたは再オーサリングされたPフレームとして)再オーサリングされており、それにより、再オーサリングされたフレームを含むストリームのコンテンツのセグメントはIフレームで始まり、少なくとも1つの後続のPフレームを含むようにされ、また典型的には、コンテンツの該セグメントのIフレームがストリームの対応するコンテンツのセグメントのIフレーム(ここで、対応するコンテンツとは、コンテンツがビデオ・コンテンツである場合はオーディオ・コンテンツであり、コンテンツがオーディオ・コンテンツである場合はビデオ・コンテンツである)と整列される(たとえば同じタイムスタンプ値をもつという意味で、時間整列される)ようにされる。いくつかの実施態様では、AVビットストリームの少なくとも1つのオーディオ・フレームが、再オーサリングされたフレームを含むストリームのオーディオ・コンテンツのセグメントがオーディオIフレーム(ビデオ・コンテンツの対応するセグメントのビデオIフレームと整列されている)で始まり、少なくとも1つの後続のオーディオPフレームを含むように、(再オーサリングされたオーディオIフレームまたは再オーサリングされたオーディオPフレームとして)再オーサリングされている(だが再オーサリングされているビデオ・フレームはない)。典型的な実施形態では、AVビットストリームは、AVビットストリームのコンテンツ(オーディオ・コンテンツまたはビデオ・コンテンツ)の各セグメントが、セグメント境界において(たとえば、少なくとも1つのオーディオ・エレメンタリー・ストリームの各ストリームの対応するオーディオ・コンテンツのセグメントの先頭と整列した、ビデオ・エレメンタリー・ストリームのビデオ・コンテンツのセグメントの先頭において)シームレスな適応(たとえば、スプライシングまたはスイッチング)を可能にするために、Iフレームで始まることを要求するパッケージ化メディア送達フォーマットを有する。いくつかの(全部ではないが)実施形態では、パッケージ化されたメディア送達フォーマットは、MPEG-DASH、HLS、またはMMT方法/プロトコルに従うか、またはMPEG-2トランスポート・ストリーム・フォーマットであるか、または一般にISOベース・メディア・フォーマット(MPEG-4 14496-12)に基づく。
ここで、コンテンツ(オーディオまたはビデオ・コンテンツ)を示すフレームを「再オーサリングする(re-author)」(またはフレームの「再オーサリング(re-authoring)」)とは、フレームのコンテンツを修正することなく(たとえば、そのようなコンテンツをデコードし、デコードされたコンテンツを再エンコードすることによってコンテンツを修正することなく)、フレームのメタデータを異なるメタデータで置き換えること、または該フレームのメタデータを異なるメタデータで置き換える(そして、そのようなコンテンツをデコードし、デコードされたコンテンツを再エンコードすることなく、フレームのコンテンツを修正する)ことを表わす。たとえば、本発明のいくつかの実施形態では、オーディオPフレームは、該Pフレームのエンコードされたオーディオ・コンテンツを修正することなく(たとえば、そのようなコンテンツをデコードし、その後デコードされたコンテンツを再エンコードすることによって、エンコードされたオーディオ・コンテンツを修正することなく)、オーディオPフレームのメタデータ(これはオーディオPフレームのヘッダ内にあってもよい)の全部または一部を、異なるメタデータのセット(たとえば、先行するオーディオIフレームからコピーされた、または先行するオーディオIフレームから取得されたメタデータを修正することによって生成された、メタデータからなる、またはかかるメタデータを含む異なるメタデータのセット)で置き換えることによって、再オーサリングされたオーディオIフレームとして再オーサリングされる。別の例として、オーディオPフレームが再オーサリングされたオーディオIフレームとして再オーサリングされることは、Pフレームのもとのオーディオ・コンテンツをデコードすることなく、Pフレームのエンコードされたオーディオ・コンテンツ(デルタ時間(delta-time)(インターフレーム)符号化を使用してエンコードされたオーディオ・コンテンツ)を、イントラフレーム符号化(すなわち、同じオーディオ・コンテンツを、デルタ周波数(delta-frequency)または絶対符号化(absolute coding)を使用してエンコードしたもの)を使用してエンコードされた、エンコードされたオーディオ・コンテンツで置き換えることによることを含む。別の例として、本発明のいくつかの実施形態では、オーディオPフレームが再オーサリングされたオーディオIフレームとして再オーサリングされることは、(それぞれの前のPフレームのエンコードされたオーディオ・コンテンツを含む)少なくとも1つの前のオーディオPフレームを当該Pフレームにコピーすることによる。その結果、再オーサリングされたIフレームは、当該Pフレームとは異なるメタデータのセットを含み(すなわち、当該Pフレームのもとのメタデータと、それぞれの前のPフレームのメタデータを含む)、追加のエンコードされたオーディオ・コンテンツ(それぞれの前のPフレームのエンコードされたオーディオ・コンテンツ)をも含む。別の例として、本発明のいくつかの実施形態では、オーディオ(またはビデオ)Iフレームは、Iフレームのコンテンツ(ビデオまたはオーディオ・コンテンツ)を修正することなく(たとえば、そのようなコンテンツをデコードし、次いでデコードされたコンテンツを再エンコードすることによってIフレームのエンコードされたコンテンツを修正することなく)、Iフレームのメタデータ(これはIフレームのヘッダ内にあってもよい)の全部または一部を、異なるメタデータのセット(たとえば、前のフレームからコピーされた、または前のフレームから得られたメタデータを修正することによって生成された、メタデータからなる、またはかかるメタデータを含む、異なるメタデータのセット)で置き換えることによって、再オーサリングされたオーディオ(ビデオ)Pフレームとして再オーサリングされる。
ここで、AVビットストリームの、またはAVビットストリームに含まれることができるフレーム(明確のために「第1の」フレームとして言及されているが、任意のビデオまたはオーディオ・フレームでありうる)が「第1のデコード型」を有するという表現は、そのフレームがIフレーム(自分自身内からの情報のみを使用してエンコードされた、独立してデコード可能なフレームであり、そのデコード型はIフレームのものである)またはPフレーム(そのデコード型がPフレームのものである)であることを示し、AVビットストリームの、またはAVビットストリームに含まれることができる別のフレーム(「第2のフレーム」)が「第2のデコード型」(第1のデコード型とは異なる)を有するという表現は、第2のフレームがPフレーム(第1のフレームがIフレームである場合)またはIフレーム(第1のフレームがPフレームである場合)であることを示す。
本発明の方法のいくつかの実施形態は、以下のステップを含む:
(a)第1のデコード型のフレームを含む、オーディオおよびビデオ・コンテンツを示すフレームを含む入力AVビットストリームを提供し(たとえば、それらのフレーム、またはそれらのフレームを含む入力トランスポート・ストリームもしくは他の入力AVビットストリームを、エンコーダまたはNBMPエンティティに送信、送達、または他の仕方で提供する)、任意的に、各フレームに関連付けられたメタデータを提供する。ここで、第1のデコード型の各フレームは、PフレームまたはIフレームを含み、オーディオ・コンテンツ(たとえば、エンコードされたオーディオ・コンテンツ)またはビデオ・コンテンツ(たとえば、エンコードビデオ・コンテンツ)を示す;
(b)第1のデコード型のフレームの少なくとも1つに関連付けられたメタデータの一部を異なるメタデータに修正し、第1のデコード型とは異なる第2のデコード型の少なくとも1つの再オーサリングされたフレームを生成する;
(c)入力AVビットストリームに応答して出力AVビットストリームを生成する。これは、第1のデコード型のフレームの少なくとも一つを第1のデコード型とは異なる第2のデコード型の再オーサリングされたフレームとして再オーサリングすること(たとえば、第1のデコード型のフレームのうちの前記一つがPフレームである場合は再オーサリングされたフレームは再オーサリングされたIフレームであり、あるいは、第1のデコード型のフレームのうちの前記一つがIフレームである場合は再オーサリングされたフレームは再オーサリングされたPフレームである)を含み、それにより、AVビットストリームは再オーサリングされたフレームを含むコンテンツのセグメントを含み、該コンテンツの該セグメントはIフレームで始まり、ビデオ・コンテンツのIフレームとオーディオ・コンテンツのIフレームを整列させるためにIフレームの後に少なくとも一つのPフレームを含む。たとえば、ステップ(b)は、再オーサリングされたフレームがオーディオIフレームであるように、少なくとも1つのオーディオPフレームを再オーサリングする、または、再オーサリングされたフレームがオーディオPフレームであるように、少なくとも1つのオーディオIフレームを再オーサリングする、または、再オーサリングされたフレームがビデオIフレームであるように、少なくとも1つのビデオPフレームを再オーサリングする、または、再オーサリングされたフレームがビデオPフレームであるように、少なくとも1つのビデオIフレームを再オーサリングするステップを含みうる。
いくつかのそのような実施形態では、ステップ(a)は、第1のシステム(たとえば、プロダクション・ユニットまたはエンコーダ)において、コンテンツを示す前記フレームを含む入力AVビットストリーム(たとえば、入力トランスポート・ストリーム)を生成し;該入力AVビットストリームを第2のシステム(たとえば、NBMPエンティティ)に送達する(たとえば、送信する)ステップを含み、ステップ(b)および(c)は、第2のシステムにおいて実行される。
そのようないくつかの実施形態では、少なくとも1つのオーディオPフレーム(メタデータおよびエンコードされたオーディオ・データ、たとえばAC-4エンコードされたオーディオ・データを含む)は、オーディオIフレーム(同じエンコードされたオーディオ・データおよび異なるメタデータを含む)として再オーサリングされる。実施形態のいくつかの他のものでは、少なくとも1つのオーディオIフレーム(メタデータおよびエンコードされたオーディオ・データ、たとえばAC-4エンコードされたオーディオ・データを含む)は、オーディオPフレーム(同じエンコードされたオーディオ・データおよび異なるメタデータを含む)として再オーサリングされる。いくつかの実施形態では、少なくとも1つのオーディオPフレーム(デルタ時間(インターフレーム)符号化を使用してエンコードされたエンコードされたオーディオ・コンテンツおよびメタデータを含む)が再オーサリングされたオーディオIフレームとして再オーサリングされることは、Pフレームのもとのオーディオ・コンテンツをデコードすることなく、Pフレームのもとのエンコードされたオーディオ・コンテンツを、イントラフレーム符号化を使用してエンコードされた、エンコードされたオーディオ・コンテンツ(すなわち、同じオーディオ・コンテンツだが、デルタ周波数または絶対符号化を使用してエンコードされたもの)で置き換えることによることを含む。
ある実施形態では、前記異なるメタデータは、再オーサリングされるフレームに先立つ、第1のデコード型または第2のデコード型のフレームに関連するメタデータであってもよい。
いくつかの実施形態では、再オーサリングされているフレームは、オーディオPフレームである。再オーサリングされたフレームはオーディオIフレームである。オーディオPフレームのメタデータは、そのようなオーディオPフレームのメタデータの一部を、以前のオーディオIフレームからコピーされた異なるメタデータで置き換えることによって修正される。これにより、再オーサリングされたフレームは、該異なるメタデータを含むことになる。
いくつかの他の実施形態では、再オーサリングされているフレームは、オーディオPフレームである。再オーサリングされたフレームはオーディオIフレームである。オーディオPフレームのメタデータは、以前のオーディオIフレームからのメタデータを修正し、オーディオPフレームのメタデータの少なくとも一部を修正されたメタデータで置き換えることによって修正される。これにより、再オーサリングされたフレーム(Iフレーム)は、該修正されたメタデータを含むことになる。
いくつかの他の実施形態では、再オーサリングされているフレームは、オーディオPフレームである。再オーサリングされたフレームはオーディオIフレームである。オーディオPフレームのメタデータは、少なくとも1つの以前のPフレームをオーディオPフレームにコピーすることによって修正され、その結果、再オーサリングされたIフレームは、該Pフレームとは異なるメタデータのセットを含み(すなわち、Pフレームのもとのメタデータと、それぞれの前のPフレームのメタデータとを含む)、追加のエンコードされたオーディオ・コンテンツ(それぞれの前のPフレームのエンコードされたオーディオ・コンテンツ)をも含む。
いくつかの実施形態では、出力AVビットストリームを生成することは、出力AVビットストリームのオーディオおよびビデオ・コンテンツのセグメントを、Iフレームで始まるビデオ・コンテンツ(たとえば、入力AVビットストリームの入力ビデオ・コンテンツ)のセグメントとして決定することを含む。言い換えると、オーディオおよびビデオ・コンテンツのセグメントは、(たとえば、入力)ビデオ・コンテンツによって定義される。オーディオおよびビデオ・コンテンツのセグメントは、(たとえば、入力)ビデオ・コンテンツのIフレームから始まる。オーディオ・フレームは、オーディオ・コンテンツのIフレームがビデオ・コンテンツのIフレームと整列されるように、再オーサリングされる。オーディオおよびビデオ・コンテンツのセグメントは、オーディオ・コンテンツについてもIフレームから始まる。
いくつかの実施形態では、出力AVビットストリームを生成することは、出力AVビットストリームに、修正されていない入力AVビットストリームのコンテンツのセグメントのオーディオおよびビデオ・コンテンツおよびメタデータを渡すことを含む。たとえば、入力AVビットストリームのコンテンツの諸セグメントをバッファリング(たとえば、記憶)するためにバッファが使用されてもよい。サブシステムが、コンテンツのそのようなバッファリングされたセグメントのフレームの一つを再オーサリングし、再オーサリングによって修正されていないフレームを通過させるように構成されてもよい。該サブシステムによって修正されていないメディア・コンテンツおよびメタデータは、入力AVビットストリームから出力AVビットストリームに渡される。生成された出力AVビットストリームは、入力AVビットストリームの修正されていないフレームおよび再オーサリングされたフレームを含む。
実施形態の第1のクラス(本明細書では、「方法1」を実装する実施形態として参照されることもある)において、本発明の方法は:(a)コンテンツを示すオーディオIフレームおよびオーディオPフレームを(たとえば、従来の仕方で)を生成すること;および(b)オーディオPフレームのうちの少なくとも1つを再オーサリングされたオーディオIフレームとして再オーサリングすることによることを含め、AVビットストリームを生成することを含み、それにより、AVビットストリームは、再オーサリングされたオーディオIフレームを含むコンテンツのセグメントを含み、コンテンツのセグメントは、再オーサリングされたオーディオIフレームで始まる。典型的には、コンテンツのセグメントは、再オーサリングされたオーディオIフレームに続く前記オーディオPフレームの少なくとも1つをも含む。ステップ(a)および(b)は、ステップ(a)を実行するためにオーディオ・エンコーダを動作させることによることを含め、オーディオ・エンコーダ(たとえば、オーディオ・エンコーダを含む、または、オーディオ・エンコーダを実装するプロダクション・ユニット)において実行されてもよい。
方法1を実装するいくつかの実施形態では、ステップ(a)は、オーディオIフレームおよびオーディオPフレームを生成するオーディオ・エンコーダ(たとえば、AC-4エンコーダ)において実行され、ステップ(b)は、前記オーディオPフレームのうちの少なくとも1つ(オーディオIフレームが必要とされる時刻に対応するもの)を再オーサリングされたオーディオIフレームとして再オーサリングすることを含み、ステップ(b)は、前記オーディオPフレームのうちの前記1つの代わりに、再オーサリングされたオーディオIフレームをAVビットストリームに含めるステップをも含む。
方法1を実装するいくつかの実施形態は:第1のシステム(たとえば、プロダクション・ユニットまたはエンコーダ)において、ステップ(a)で生成されたオーディオIフレームおよびオーディオPフレームを含むAVビットストリーム(たとえば、入力トランスポート・ストリーム)を生成し、該入力AVビットストリームを第2のシステム(たとえば、NBMPエンティティ)に配信し(たとえば、送信し);第2のシステムにおいてステップ(b)を実行することを含む。
実施形態の第2のクラス(本明細書では、「方法2」を実装する実施形態として参照されることもある)において、本発明の方法は:(a)コンテンツを示すオーディオIフレームを(たとえば、従来の仕方で)生成し;(b)オーディオIフレームのうちの少なくとも1つを再オーサリングされたオーディオPフレームとして再オーサリングすることによることを含め、AVビットストリームを生成することを含み、それにより、AVビットストリームは、再オーサリングされたオーディオPフレームを含む前記コンテンツのセグメントを含み、前記コンテンツの該セグメントは、ステップ(a)で生成されたオーディオIフレームのうちの1つで始まる。ステップ(a)および(b)は、ステップ(a)を実行するためにオーディオ・エンコーダを動作させることによることを含め、オーディオ・エンコーダ(たとえば、オーディオ・エンコーダを含む、または、オーディオ・エンコーダを実装するプロダクション・ユニット)内で実行されてもよい。
方法2を実装するいくつかの実施形態において、ステップ(a)は、オーディオIフレームを生成するオーディオ・エンコーダ(たとえば、AC-4エンコーダ)において実行され、ステップ(b)は、セグメント境界以外の時刻に対応する(よって、セグメント境界に現われない)オーディオIフレームのそれぞれを再オーサリングすることを含み、それにより、少なくとも1つの再オーサリングされたオーディオPフレームを決定し、AVビットストリームを生成するステップは、少なくとも1つの再オーサリングされたオーディオPフレームをAVビットストリームに含めるステップを含む。
方法2を実装するいくつかの実施形態は:第1のシステム(たとえば、プロダクション・ユニットまたはエンコーダ)において、ステップ(a)で生成されたオーディオIフレームを含むAVビットストリーム(たとえば、入力トランスポート・ストリーム)を生成し;入力AVビットストリームを第2のシステム(たとえば、NBMPエンティティ)に送達(たとえば、送信)し;第2のシステムにおいてステップ(b)を実行することを含む。
AVビットストリームを生成する(たとえば、入力AVビットストリームの少なくとも1つのフレームの再オーサリングによることを含む)本発明の方法のいくつかの実施形態は、AVビットストリームが少なくとも1つの現在根底にあるネットワーク制約条件または他の制約条件を満たすように実装される(たとえば、AVビットストリームの生成が、入力ビットストリームの少なくとも1つのフレームの再オーサリングを含み、AVビットストリームが入力ビットストリームに対する少なくとも1つの現在根底にあるネットワーク制約条件を満たすように、実行される)。たとえば、AVビットストリームがNBMPエンティティ(たとえば、CDNサーバーである、またはCDNサーバーに含まれているMPEG NBMPエンティティ)によって生成されるとき、NBMPエンティティは、ネットワークおよび他の制約条件に依存する仕方でAVビットストリームにIフレームを挿入するか、またはAVビットストリームからIフレームを除去するように実装されてもよい。そのような制約条件の例は、利用可能なビットレート、プログラムへの必要とされるチューンイン(tune-in)時間、および/または根底にあるMPEG-DASHまたはMMT AVビットストリームのセグメント継続時間を含むが、これらに限定されない。
いくつかの実施形態では、AVビットストリームを生成する方法は、下記を含む:
フレームを提供する。ここで、それらのフレームの少なくとも1つはPフレームおよびIフレームを含むハイブリッド・フレームであり、Iフレームはコンテンツのエンコードされたバージョンを示し、Pフレームはコンテンツの異なる仕方でエンコードされたバージョンを示し、フレームのそれぞれがオーディオ・コンテンツまたはビデオ・コンテンツを示す;
AVビットストリームを生成する。これは、少なくとも1つの前記ハイブリッド・フレームのPフレームを選択し、各選択されたPフレームをAVビットストリームに含めることによることを含む。それにより、AVビットストリームは、Iフレームで始まり、該Iフレームに続く、少なくとも前記選択されたPフレームを含むセグメントを含むようにされる。
いくつかの実施形態では、本発明の方法は、少なくとも1つのオーディオ/ビデオ・プログラム(「プログラム」)を示し、AVビットストリームを生成するための本発明の方法の任意の実施形態に従って生成されたAVビットストリーム(たとえば、MPEG-2フォーマット、またはMPEG-DASHまたはMMTフォーマットを有する)を適応させる(たとえば、スイッチングまたはスプライシングする)ステップを含み、それにより、適応された(たとえば、スプライシングされた)AVビットストリームを生成する。典型的な実施形態では、適応されたAVビットストリームは、AVビットストリームのどのエンコードされたオーディオ・エレメンタリー・ストリームも修正することなく、生成される。
いくつかの実施形態では、AVビットストリームを適応させるステップ(たとえば、スイッチングまたはスプライシング)を含み、ここで、適応は、ビデオIフレーム(たとえば、再オーサリングされたビデオIフレーム)およびAVビットストリームの少なくとも1つの対応する再オーサリングされたオーディオIフレームに対応する、AVビットストリームの適応点(たとえば、AVビットストリームによって示されるプログラム内の時間)で実行される。AVビットストリームが(それによって示される各プログラムについて)ビデオ・データのフレーム(これが少なくとも1つのビデオ・エレメンタリー・ストリームを決定する)と、対応するエンコードされたオーディオ・データのフレーム(これが少なくとも1つのオーディオ・エレメンタリー・ストリームを決定する)とを含む典型的な実施形態では、適応(たとえば、スプライシング)は、AVビットストリームのどのエンコードされたオーディオ・エレメンタリー・ストリームの、アダプター(たとえばスプライサー)による修正も必要とせずにオーディオ/ビデオ同期(「A/V」同期)が維持されることを保証するように、実行される。
本発明の方法の典型的な実施形態のいずれかに従って生成されるAVビットストリームは、Iフレーム同期の特性をもつ(すなわち、満たす)。(すなわち、ビデオおよびオーディオ・エンコードが同期され、AVビットストリームによって示される各プログラムについて、そのプログラムのビデオ・エレメンタリー・ストリーム内の各ビデオIフレームについて、プログラムのオーディオ・エレメンタリー・ストリーム内に少なくとも1つのマッチするオーディオIフレーム(すなわち、ビデオIフレームと同期した少なくとも1つのオーディオIフレーム)が存在する。)これは、AVビットストリームによって示される各プログラムについて、そのプログラムを示すAVビットストリームのデータがIフレーム同期の特性を有するという意味である。
本発明の別の実施形態の別の側面は、本発明の方法のいずれかの実施形態(たとえば、AVビットストリームの生成および/または適応のため)を実行するように構成されたオーディオ/ビデオ処理ユニット(audio/video processing unit、AVPU)である。たとえば、AVPUは、本発明の方法の任意の実施形態を実行するようにプログラムされた、または他の仕方で構成されたNBMPエンティティ(たとえば、CDNサーバーであってもよく、またはCDNサーバーに含まれていてもよいMPEG NBMPエンティティ)であってもよい。別の例として、AVPUは、本発明のAVビットストリーム適応(たとえば、スプライシング)方法の任意の実施形態を実行するように構成されたアダプター(たとえば、スプライサー)であってもよい。本発明の別のクラスの実施形態では、AVPUは、本発明の方法の任意の実施形態によって生成されたAVビットストリームの少なくとも1つのセグメントを(たとえば、非一時的な仕方で)記憶するバッファ・メモリ(バッファ)を含む。
AVPUの例は、エンコーダ(たとえば、トランスコーダ)、NBMPエンティティ(たとえば、AVビットストリームを生成するおよび/またはAVビットストリームに対して適応を実行するように構成されたNBMPエンティティ)、デコーダ(たとえば、AVビットストリームのコンテンツをデコードする、および/またはAVビットストリームに対して適応(たとえば、スプライシング)を実行して、適応された(たとえばスプライシングされた)AVビットストリームを生成し、該適応されたAVビットストリームのコンテンツをデコードするように構成されたデコーダ)、コーデック、AVビットストリーム・アダプター(たとえば、スプライサー)、前処理システム(プリプロセッサ)、後処理システム(ポストプロセッサ)、AVビットストリーム処理システム、およびこれらの要素の組み合わせを含むが、これらに限定されない。
本発明のいくつかの実施形態は、本発明の方法のいずれかの実施形態を実装するように構成された(たとえば、プログラムされた)システムまたは装置と、本発明の方法またはそのステップのいずれかの実施形態を実装するためのコードを(たとえば、非一時的な仕方で)を記憶するコンピュータ読み取り可能な媒体(たとえば、ディスク)とを含む。たとえば、本発明のシステムは、本発明の方法の実施形態またはそのステップを含む、データに対する多様な動作のいずれかを実行するように、ソフトウェアまたはファームウェアでプログラムされた、および/または、他の仕方で構成された、プログラマブル汎用プロセッサ、デジタル信号プロセッサ、またはマイクロプロセッサであってもよく、それを含んでいてもよい。そのような汎用プロセッサは、入力デ装置と、メモリと、それに呈されるデータに応答して本発明の方法の実施形態(またはそのステップ)を実行するようにプログラムされた(および/または他の仕方で構成された)処理回路とを含むコンピュータ・システムであってもよく、または、それを含んでいてもよい。
コンテンツ配信ネットワークのブロック図であり、NBMPエンティティ12は(任意的には少なくとも1つの他の要素も)本発明の実施形態に従って構成される。 MPEG-2トランスポート・ストリームの一例の図である。 システムのある実施形態のブロック図であり、該システムの要素の一つまたは複数は、本発明の実施形態に従って構成されてもよい。 本発明の実施形態に従って構成された、図3のプロダクション・ユニット3のある実装と、図3の捕捉ユニット1とを含むシステムのブロック図である。 MPEG-DASHフォーマットを有するAVビットストリームのセグメントの図である。 本発明のある実施形態に従って生成されたハイブリッド・フレームの図である。 本発明のある実施形態に従って生成されたハイブリッド・フレームの図である。 本発明のある実施形態による、MPEG-DASHフォーマットを有するAVビットストリームを生成するためのシステムのブロック図である。
記法と命名法
特許請求の範囲内を含め本開示を通じて、信号またはデータ「に対して」動作を実行する(たとえば、信号またはデータをフィルタリングする、スケーリングする、変換する、またはそれに利得を適用する)という表現は、広い意味で使用され、信号またはデータに対して直接、または信号またはデータの処理されたバージョンに対して(たとえば、それに対する該動作の実行前に、予備的なフィルタリングまたは前処理を受けた信号のバージョンに対して)該動作を実行することを表わす。
特許請求の範囲内を含め本開示を通じて、「システム」という表現は、広い意味で装置、システム、またはサブシステムを表わすために使用される。たとえば、エンコードを実装するサブシステムがエンコーダ・システムと称されることがあり、そのようなサブシステムを含むシステム(たとえば、複数の入力に応答してX個の出力信号を生成するシステムであって、前記サブシステムが入力のうちのM個を生成し、他のX-M個の入力は外部源から受領されるシステム)がエンコーダ・システムと称されることもある。
特許請求の範囲内を含め本開示を通じて、表現「AVビットストリーム」は、ビットストリーム、またはビットストリーム・セグメント、または2つ以上のビットストリーム・セグメント(たとえば、トランスポート・ストリーム、または適応ストリーミング・フォーマットにおいて使用されるビットストリーム・セグメント)を示す信号(単数または複数)を表わし、前記ビットストリーム(またはビットストリーム・セグメント(単数または複数))は、ビデオ・データおよび/またはエンコードされたオーディオ・データを、典型的にはメタデータをも含む。「AVデータ」という表現は本明細書では時に、そのようなビデオ・データおよび/またはそのようなオーディオ・データを表わすために使用される。典型的には、トランスポート・ストリームは、エンコードされたオーディオ・データのセグメント(たとえば、パケット)のシーケンス、ビデオ・データのセグメント(たとえば、パケット)、および(たとえば、スプライシングをサポートするメタデータを含む)メタデータのセグメント(たとえば、ヘッダまたは他のセグメント)を含むシリアル・ビットストリームを示す信号である。AVビットストリーム(たとえば、トランスポート・ストリーム)は、複数のプログラムを示してもよく、各プログラムは、複数のエレメンタリー・ストリーム(たとえば、ビデオ・エレメンタリー・ストリームおよび2つ以上のオーディオ・エレメンタリー・ストリーム)を含んでいてもよい。典型的には、トランスポート・ストリームの各エレメンタリー・ストリームは、そのエレメンタリー・ストリームに関連する情報を含む関連する記述子を有する。
特許請求の範囲内を含め本開示を通じて、用語「プロセッサ」は、データ(たとえば、オーディオおよび/またはビデオもしくは他の画像データ)に対して動作を実行するようプログラム可能または他の仕方で(たとえば、ソフトウェアまたはファームウェアで)構成可能なシステムまたは装置を示すために、広義で使用される。プロセッサの例は、フィールドプログラマブルゲートアレイ(または他の構成可能な集積回路またはチップセット)、オーディオまたは他のオーディオ・データに対してパイプライン処理を実行するようにプログラムされたおよび/または他の仕方で構成されたデジタル信号プロセッサ、プログラマブル汎用プロセッサまたはコンピュータ、およびプログラマブルなマイクロプロセッサチップまたはチップセットを含む。
特許請求の範囲内を含め本開示を通して、「オーディオ/ビデオ処理ユニット」(または「AV処理ユニット」または「AVPU」)および「AVプロセッサ」という表現は、AVビットストリーム(またはAVビットストリームのビデオ・データおよび/またはエンコードされたオーディオ・データ)を処理するように構成されたシステムを示すために、交換可能に、広い意味で使用される。AV処理ユニットの例は、エンコーダ(たとえば、トランスコーダ)、デコーダ、コーデック、NBMPエンティティ、スプライサー、前処理システム、後処理システム、およびビットストリーム処理システム(時にビットストリーム処理ツールと称される)を含むが、これらに限定されない。一例では、AV処理ユニットは、第1のトランスポート・ストリームの出口点(out point)(すなわち、時刻)と第2のトランスポート・ストリーム(これは、第1のトランスポート・ストリーム、または第1のトランスポート・ストリームではない別のトランスポート・ストリームであることができる)の入口点(in point)(すなわち、別の時刻)とを決定し、スプライスされたトランスポート・ストリーム(たとえば、出口点の前に生じる第1のビットストリームのデータと、入口点の後に生じる第2のビットストリームのデータとを含むスプライスされたトランスポート・ストリーム)を生成するように構成されたスプライサーである。
特許請求の範囲内を含め本開示を通じて、「メタデータ」という表現は、対応するオーディオ・データおよび/またはビデオ・データ(メタデータも含むビットストリームのオーディオおよび/またはビデオ・コンテンツ)とは別個の異なるデータを指す。メタデータは、オーディオおよび/またはビデオ・データ(「AV」データ)に関連付けられ、該AVデータの少なくとも1つの特徴または特性(たとえば、どんな型(単数または複数)の処理がAVデータに対してすでに実行されているか、または実行されるべきか、あるいはAVデータのオーディオ・データによって示されるオブジェクトの軌跡)を示す。メタデータとAVデータの関連付けは、時間同期的である。このように、現在の(直近に受領または更新された)メタデータは、対応するAVデータが同時点において、示された特徴を有すること、および/または示された型のオーディオおよび/またはビデオ・データ処理の結果を含むことを示しうる。
特許請求の範囲内を含め本開示を通じて、用語「結合する」または「結合された」は、直接的または間接的な接続を意味するために使用される。このように、第1の装置が第2の装置に結合する場合、その接続は、直接接続を通じてであってもよく、または他の装置および接続を介した間接接続を通じてであってもよい。
例示的実施形態の詳細な説明
本発明のいくつかの実施形態は、エンコードされたオーディオ・データのIフレーム(オーディオIフレーム)と同期したビデオ・データのIフレーム(ビデオIフレーム)を含むAVビットストリームを生成するための方法およびシステムであり、AVビットストリームは、AVビットストリームのエレメンタリー・ストリームのセグメント(たとえば、ビデオ・エレメンタリー・ストリーム、および一つまたは複数の対応するオーディオ・エレメンタリー・ストリーム)間の整列の問題に対する解決策を提供する。たとえば、図1のコンテンツ送達ネットワークのNBMPエンティティ12、図7のシステム、および図4のプロダクション・ユニット3のそれぞれは、本発明の実施形態に従って構成され、そのようなAVビットストリームを生成するシステムである。
いくつかのビデオおよびオーディオ・コーデック・フォーマットに従って生成される、上記で定義されたIフレームである独立してデコード可能なフレームは、(関連するコーデック・フォーマットの正式な仕様において)公式に定義されていなくてもよく、あるいは一般に「Iフレーム」と呼ばれてもよい(その代わりに、他の名前、たとえば、IDRフレーム、IPFフレームまたはIFフレームで呼ばれてもよい)。
場合によっては、オーディオPフレーム(たとえば、オーディオ・コンテンツがAC-4エンコードされたオーディオ・データであるオーディオPフレーム)のエンコードされたオーディオ・データは、Pフレーム内からの情報のみを使用してデコードできるが、再生時には、デコードされたオーディオは、場合によっては、もとのエンコードの時点で当初意図された通りには聞こえない。場合によっては、Pフレームのオーディオ・コンテンツのデコードされたバージョンが再生時に当初意図されたように聞こえるためには、以前のIフレームからのメタデータ(たとえば、ダイナミックレンジ制御メタデータ、ダウンミックス・メタデータ、ラウドネス・メタデータ、スペクトル拡張メタデータまたは結合メタデータ)が、典型的には、デコード中、使用のために利用可能である必要がある(そして典型的には使用される必要がある)。
場合によっては、Pフレームは、正しいデコードのために、以前のフレームにおいて送信されたデータを参照することがある。ビデオPフレームは、送信されるデータと一緒に前のデータを使用して、そのビデオ・フレームのピクチャーの予測バージョンを生成し、そのピクチャーへの差分を送信するだけである。オーディオPフレームは、前のフレームから予測できるパラメータの差分符号化を使用することができる。たとえば、AC-4のASPXまたはACPLのパンデータで使用されるスペクトル・エンベロープの差分符号化を使用することができる。
ここで、(AVビットストリーム、たとえば、トランスポート・ストリーム、または他のビットストリームを)「適応させる」および(ビットストリームに対して)「適応」を実行するという用語のそれぞれは、ビットストリームによって示されるコンテンツ(たとえば、ビットストリームによって示されるプログラムの一つまたは複数のエレメンタリー・ストリームのコンテンツ)にアクセスすることを含む、ビットストリームに対して何らかの動作を実行することを示すために、広義で使用される。ここで、前記コンテンツは、特定の時刻(たとえば、本発明の実施形態に従ってビットストリームに含められるIフレームの時刻)に生起する(対応する)。ビットストリームの適応の例は(これに限られないが):適応ビットレート・スイッチング(たとえば、ビットストリーム中の特定の時点での、ビットストリームによって示されるコンテンツの異なるビットレート・バージョン間での切り換え);ビットストリームの(によって示される)プログラムのエレメンタリー・ストリーム(オーディオ・エレメンタリー・ストリーム、またはビデオおよびオーディオ・エレメンタリー・ストリーム)の整列;特定の時点で、ビットストリームによって示されるプログラムを別のプログラム(たとえば、別のビットストリームによって示されるプログラム)とスプライシングすること;特定の時点で、ビットストリーム(またはそのセグメント)によって示されるプログラムを別のプログラムと連結すること;または特定の時点での、ビットストリーム(またはそのセグメント)によって示されるプログラムの再生を開始することを含む。(AVビットストリーム、たとえば、トランスポート・ストリーム、または別のビットストリームの)「適応点」という表現は、Iフレームが生起する(または、ビデオIフレームおよび少なくとも1つの対応するオーディオIフレームが生起する)ビットストリーム中の(たとえばタイムスタンプ値によって示される)時間を示すために、広い意味で使用される。よって、該適応点において、ビットストリームに対して適応(たとえば、スイッチングまたはスプライシング)が実行されうる。
AVビットストリーム(たとえば、トランスポート・ストリーム)は、複数のプログラムを示すことができる。各プログラムは、複数のエレメンタリー・ストリーム(たとえば、ビデオ・エレメンタリー・ストリーム、および一つまたは複数のエンコードされたオーディオ・エレメンタリー・ストリーム)を含んでいてもよい。エレメンタリー・ストリームは、ビデオ・エレメンタリー・ストリーム(ビデオ・データを含む)、またはエンコードされたオーディオ・データ(たとえば、オーディオ・エンコーダから出力されるエンコードされたオーディオ・データ)を含むオーディオ・エレメンタリー・ストリーム(たとえば、ビデオ・エレメンタリー・ストリームに対応する)でありうる。
本発明の実施形態による方法およびシステムは、MPEG-2トランスポート・ストリーム・フォーマットをもつ、または何らかの特定のフォーマットのエンコードされたオーディオ・データを含むトランスポート・ストリーム(またはMPEG-DASHもしくはMMTに従うフォーマットまたは任意の他の特定のフォーマットをもつAVビットストリーム)の生成および/またはスプライシング(または他の適応)に限定されないが、いくつかの実施形態は、AC-4として知られるフォーマット(またはMPEG-D USACもしくはMPEG-Hオーディオ・フォーマット)のエンコードされたオーディオ・データをオーディオ・フレームに含むMPEG-2トランスポート・ストリーム(またはMPEG-DASHもしくはMMTに従うフォーマットをもつAVビットストリーム)を生成するおよび/または適応させる(たとえば、スプライシングする)ための方法およびシステムである。他のフォーマットを有するトランスポート・ストリーム(またはトランスポート・ストリームではないAVビットストリーム、たとえば、適応ストリーミング・フォーマットを有する、またはストリーミング方法もしくはプロトコルにおいて使用されるビットストリーム・セグメント)は、それぞれのそのようなAVビットストリーム(たとえば、ビットストリーム・セグメント)が、ビデオ・データのPフレームおよびIフレーム、および/またはエンコードされたオーディオ・データのPフレームおよびIフレームを含む場合、本発明の他の実施形態に従って生成および/または適応(たとえば、スイッイングまたはスプライシング)されうる。本発明のあるクラスの典型的な実施形態に従って生成および/または適応された(たとえば、スプライスされた)AVビットストリーム(たとえばトランスポート・ストリーム)のフレーム(たとえば、オーディオ・フレーム)は、典型的には、メタデータも含む。
MPEG-DASHとして知られる適応ストリーミング・プロトコルは、HTTPウェブ・サーバーを使用してインターネット上でメディア・コンテンツのストリーミングを許容する。MPEG-DASHによれば、(メタデータも含む)メディア・プレゼンテーションのメディア・コンテンツは、一連のセグメントに分解される。セグメントは、表現(representation)(各表現は、セグメントのシーケンス、たとえば、図5に示される2つの「MPEG-DASHセグメント」を含むシーケンスを含む)、適応(adaptation)(各適応は、表現のシーケンスを含む)、および期間(period)(各期間は、適応のシーケンスを含む)として編成される。メディア・プレゼンテーションは、多くの期間を含むことができる。
メディア・プレゼンテーションのセグメント(またはaは、任意のメディア・データを含むことができるものの、MPEG-DASH仕様は、2種類のメディア・データ・コンテナ、すなわち、ISOベース・メディア・ファイル・フォーマット(たとえば、MPEG-4ファイル・フォーマット)またはMPEG-2トランスポート・ストリーム・フォーマットとともに使用するためのガイダンスおよびフォーマットを提供する。よって、場合によっては、MPEG-DASHフォーマットを有するメディア・コンテンツ(およびメタデータ)は、単一のビットストリームとしてではなく、MPEG-4ファイルのシーケンスとして送達されうる。
MPEG-DASHは、オーディオ/ビデオ・コーデックに関知しない。よって、MPEG-DASHメディア・プレゼンテーションのメディア・コンテンツは、一つのオーディオ・エンコード・フォーマットに従ってエンコードされた、エンコードされたオーディオ・コンテンツ(たとえば、AC-4エンコードされたオーディオ・コンテンツ)と、別のオーディオ・エンコード・フォーマットに従ってエンコードされた追加的なエンコードされたオーディオ・コンテンツと、一つのビデオ・エンコード・フォーマットに従ってエンコードされたビデオ・コンテンツと、別のビデオ・エンコード・フォーマットに従ってエンコードされた追加的なビデオ・コンテンツとを含むことができる。
MPEG-DASHフォーマットを有するデータは、マルチメディア・ファイルの一つまたは複数の表現(たとえば、異なる解像度またはビットレートを有するバージョン)を含むことができる。そのような表現のうちからの選択は、ネットワーク条件、装置能力、およびユーザー選好に基づいて実装でき、よって、適応ビットレートでのストリーミングを可能にする。
図5は、MPEG-DASH適応ストリーミング・フォーマットを有する(本明細書で定義されるような)AVビットストリームの1つのセグメントの例の図である。該AVビットストリーム(または図5に示されるそのセグメント)は、単一のビットストリーム(たとえば、単一のビットレートを有する)として送達されなくてもよいが、該AVビットストリーム(および図5に示されるそのセグメント)は、本明細書で定義される「AVビットストリーム」の例である。図5に示されるセグメントのメディア・コンテンツは、AC-4のオーディオ・フレームのシーケンスとしてAC-4のエンコード標準に従ってエンコードされるエンコードされたオーディオ・データと、ビデオ・フレームのシーケンスとしてエンコードされる対応するビデオ・コンテンツとを含む。AC-4オーディオ・フレームは、オーディオIフレーム(たとえばAC-4フレーム1およびAC-4フレーム7)およびオーディオPフレーム(たとえばAC-4フレーム2)を含む。ビデオ・フレームは、ビデオIフレーム(たとえばビデオ・フレーム1およびビデオ・フレーム5)およびビデオPフレームを含む。図5では、「P」(「予測的に(predictively)」エンコードされることを示す)または「B」(「双方向予測的に(bidirectionally predictively)」エンコードされることを示す)でラベル付けされた各ビデオ・フレームは、本明細書で定義されるビデオ「Pフレーム」である。図5のビデオPフレームは、ビデオ・フレーム2およびビデオ・フレーム3を含む。
図5の各ビデオIフレームは、対応するオーディオIフレームと整列している(たとえば、オーディオIフレームであるAC-4フレーム7は、ビデオIフレームであるビデオ・フレーム5と整列している)。このように、GOP1(ここで、GOPは「group of pictures(ピクチャーのグループ)」を表わす)、GOP2、GOP3、およびGOP4とラベル付けされた(図5のAVビットストリームの)各セグメントは、AVビットストリームの「適応点(adaptation point)」(本明細書中で定義される)である時刻に始まる。よって、適応(たとえば、切り換え)は、AVビットストリーム上でこれらの適応点のうちの任意のものにおいてシームレスに実行されうる。セグメントGOP1およびGOP2は一緒になって、AVビットストリームのより長いセグメント(「MPEG-DASHセグメント1」とラベル付けされている)に対応し、セグメントGOP3およびGOP4は一緒になって、AVビットストリームのより長いセグメント(「MPEG-DASHセグメント2」とラベル付けされる)に対応し、これらの、より長いセグメントのそれぞれは、適応点で始まる。
MPEG-2トランスポート・ストリーム・フォーマットは、ビデオ・データ、エンコードされたオーディオ・データ、および関連するデータの伝送および記憶のための標準的なフォーマットである。MPEG-2トランスポート・ストリーム・フォーマットは、MPEG-2 Part 1, Systems(ISO/IEC規格13818-1またはITU-T Rec. H.222.0)として知られている規格において規定されている。MPEG-2トランスポート・ストリームは、パケット化されたエレメンタリー・ストリームをカプセル化する指定されたコンテナ・フォーマットをもつ。
MPEG-2トランスポート・ストリームは、たとえば、DVB(デジタル・ビデオ・ブロードキャスティング)またはATSC(アドバンスト・テレビジョン・システムズ委員会)テレビジョン放送の形で、オーディオおよびビデオ・コンテンツを放送するために一般的に使用される。2つのMPEG-2トランスポート・ストリーム間のスプライスを実装することが望ましいことがしばしばある。
MPEG-2トランスポート・ストリームは、パケットにおいて、エレメンタリー・ストリーム(たとえば、ビデオ・エンコーダから出力されたビデオ・データのエレメンタリー・ストリーム、およびオーディオ・エンコーダから出力されたエンコードされたオーディオ・データの少なくとも1つの対応するエレメンタリー・ストリーム)を担持する(すなわち、エレメンタリー・ストリームを示すデータを含む)。各エレメンタリー・ストリームは、該エレメンタリー・ストリームからの逐次的なデータ・バイトを、PESパケット・ヘッダを有するパケット化エレメンタリー・ストリーム(packetized elementary stream、「PES」)パケット中にカプセル化することによって、パケット化される。典型的には、エレメンタリー・ストリーム・データ(ビデオ・エンコーダおよびオーディオ・エンコーダから出力される)は、PESパケットとしてパケット化され、次いで、該PESパケットは、トランスポート・ストリーム(TS)パケット内部にカプセル化され、次いで、TSパケットは多重化されて、トランスポート・ストリームを形成する。典型的には、各PESパケットは、TSパケットのシーケンスにカプセル化される。PESパケットは、オーディオまたはビデオ・フレーム(たとえば、メタデータおよびエンコードされたオーディオ・データを含むオーディオ・フレーム、またはメタデータおよびビデオ・データを含むビデオ・フレーム)を示しうる。
オーディオ・フレームを示す(トランスポート・ストリームの)TSパケット・シーケンスのTSパケットのうちの少なくとも1つ(一つまたは複数)は、そのフレームのオーディオ・コンテンツをデコードするために必要とされるメタデータを含んでいてもよい。オーディオIフレームを示すTSパケットの少なくとも1つ(一つまたは複数)は、そのフレームのオーディオ・コンテンツの独立したデコードを可能にするのに十分なメタデータを含む。オーディオPフレームを示すTSパケットの少なくとも1つ(一つまたは複数)は、そのフレームのオーディオ・コンテンツをデコードするために必要とされるメタデータを含むが、そのフレームのオーディオ・コンテンツをデコードするためには、典型的には、(以前のIフレームの)追加的なメタデータも必要とされる。
MPEG-2トランスポート・ストリームは、一つまたは複数のオーディオ/ビデオ・プログラムを示しうる。各単一プログラムは、一意的な識別値(PID)を有するプログラム・マップ・テーブル(PMT)によって記述され、そのプログラムに関連するエレメンタリー・ストリーム(単数または複数)は、PMTにリストされたPIDを有する。たとえば、トランスポート・ストリームは、それぞれが異なるテレビジョン・チャネルに対応する3つのテレビジョン・プログラムを示しうる。この例では、各プログラム(チャネル)は、1つのビデオ・エレメンタリー・ストリームと、いくつかの(たとえば、1つまたは2つの)エンコードされたオーディオ・エレメンタリー・ストリームと、もしあれば必要なメタデータとから構成されてもよい。特定のプログラム(チャネル)をデコードしたい受信者は、そのプログラムに関連付けられているPIDをもつ各エレメンタリー・ストリームのペイロードをデコードする。
MPEG-2トランスポート・ストリームは、プログラム固有情報(Program Specific Information、PSI)を含み、該PSIは典型的には、4つのPSIテーブル、すなわち、プログラム関連付けテーブル(program association table、PAT)、各プログラムについてのプログラム・マップ・テーブル(program map table、PMT)、条件付きアクセス・テーブル(conditional access table、CAT)、およびネットワーク情報テーブル(network information table、NIT)を示すデータを含む。プログラム関連付けテーブルは、トランスポート・ストリームによって示される(トランスポート・ストリームに含まれる)すべてのプログラムをリストし、各プログラムは、そのプログラム・マップ・テーブル(PMT)について、PIDの関連付けられた値をもつ。プログラムのPMTは、そのプログラムの各エレメンタリー・ストリームをリストし、そのプログラムに関する他の情報を示すデータを含む。
MPEG-2トランスポート・ストリームは、そのトランスポート・ストリームのプログラムの別個のエレメンタリー・ストリーム(たとえば、ビデオおよびエンコードされたオーディオ・ストリーム)の同期を達成するために使用されるプレゼンテーション・タイムスタンプ(presentation time stamp、PTS)値を含む。PTS値は、やはりトランスポート・ストリームにおいて伝送される、プログラムの全体的なクロック基準に関係する単位で与えられる。オーディオまたはビデオ・フレーム(PESパケットによって示される)を構成するすべてのTSパケットは、同じPTS(タイムスタンプ)値をもつ。
AVビットストリーム(たとえば、MPEG-2トランスポート・ストリームまたはMPEG-DASHフォーマットを有するAVビットストリーム)は、エンコードされたオーディオ・データ(典型的には、オーディオ・コンテンツの一つまたは複数のチャネルを示す圧縮されたオーディオ・データ)、ビデオ・データ、およびエンコードされたオーディオ(またはエンコードされたオーディオおよびビデオ)・コンテンツの少なくとも1つの特徴を示すメタデータを含みうる。本発明の実施形態は、オーディオ・コンテンツがAC-4フォーマットに従ってエンコードされたオーディオ・データ(「AC-4エンコードされたオーディオ・データ」)であるAVビットストリーム(たとえば、トランスポート・ストリーム)の生成に限定されないが、典型的な実施形態は、AC-4エンコードされたオーディオ・データを含むAVビットストリーム(たとえば、適応ストリーミング・フォーマットにおいて使用されるビットストリーム・セグメント)を生成および/または適応するための方法およびシステムである。
オーディオ・データをエンコードするためのAC-4フォーマットはよく知られており、2014年4月に「ETSI TS 103 190 V1.1.1(2014-04)、Digital Audio Compression (AC-4) Standard」と題する文書で公表された。
MPEG-2トランスポート・ストリームは、たとえば、DVB(デジタル・ビデオ・ブロードキャスティング)またはATSC(アドバンスト・テレビジョン・システムズ委員会)テレビジョン放送の形で、オーディオおよびビデオ・コンテンツを放送するために一般的に使用される。時には、2つのMPEG-2(または他の)トランスポート・ストリーム間のスプライスを実装することが望ましい。たとえば、送信機が第1のトランスポート・ストリームの2つのセグメントの間に広告(たとえば、別のストリームのセグメント)を挿入するために、第1のトランスポート・ストリームにおいてスプライスを実装することが望ましいことがありうる。トランスポート・ストリーム・スプライサーとして知られる従来のシステムが、そのようなスプライシングを実行するために利用可能である。従来のスプライサーの洗練度はさまざまであり、従来のトランスポート・ストリームは通例、スプライサーがスプライスを実行するために、含まれるすべてのコーデックを認識し、それらを理解することができる(すなわち、ビデオおよびエンコードされたオーディオ・コンテンツ、およびメタデータをパースすることができる)という想定で生成される。これは、スプライスの実装に誤りの余地を多く残し、マルチプレクサ(これは、トランスポート・ストリームまたは他のAVビットストリームを生成するために多重化を実行する)とスプライサーの間の相互運用性に多くの問題を生じさせる。
本発明の典型的な実施形態は、エンドユーザーにメディア(オーディオおよびビデオを含む)コンテンツを送達するように構成されたネットワーク(たとえば、コンテンツ送達ネットワーク(content delivery network)または「CDN」)の要素に含まれることができる。ネットワーク・ベースのメディア処理(Network-Based Media Processing、NBMP)は、サービスプロバイダーおよびエンドユーザーが、そのようなネットワークによって実行されるべきメディア処理操作を記述することを許容するフレームワークである。NBMPの例は、開発中のMPEG-I Part 8のネットワーク・ベースのメディア処理(Network Based Media Processing)フレームワークである。本発明の装置のいくつかの実施形態は、(たとえば、任意的にはネットワークおよび/または他の制約条件に依存する仕方で、AVビットストリームにIフレームを挿入する、またはAVビットストリームからIフレームを除去するために)本発明の実施形態に従ってプログラムされたまたは他の仕方で構成されたNBMPエンティティ(たとえば、CDNサーバーであってもよい、またはCDNサーバーに含まれていてもよいMPEG NBMPエンティティ)として実装されることが考えられている。NBMPは、ネットワーク・ベースのメディア処理機能の集合のうちからのネットワーク・ベースのメディア処理サービスの組成を記述し、これらのネットワーク・ベースのメディア処理サービスをアプリケーションプログラミングインターフェース(API)を通じてアクセス可能にする。NBMPメディア処理エンティティ(NBMPエンティティ)は、それに入力されたメディア・データ(および関係するメタデータ)に対してメディア処理タスクを実行する。NBMPはまた、メディア処理を作成し、構成するために使用される制御機能も提供する。
図1は、コンテンツ送達ネットワークのブロック図であり、NBMPエンティティ12は、少なくとも1つの再オーサリングされたフレームを含むAVビットストリームを生成する(そして再生装置16に送達する)ために、本発明のある実施形態に従って構成される。典型的な実施形態では、AVビットストリームは、少なくとも1つのオーディオ/ビデオ・プログラム(「プログラム」)を示し、(それによって示される各プログラムについて)ビデオ・データのフレーム(これらが少なくとも1つのビデオ・エレメンタリー・ストリームを決定する)および対応するエンコードされたオーディオ・データのフレーム(これらが少なくとも1つのオーディオ・エレメンタリー・ストリームを決定する)を含む。ビデオ・データのフレームは、ビデオ・データのIフレーム(ビデオIフレーム)およびビデオ・データのPフレーム(ビデオPフレーム)を含み、エンコードされたオーディオ・データのフレームは、エンコードされたオーディオ・データのIフレーム(オーディオIフレーム)およびエンコードされたオーディオ・データのPフレーム(オーディオPフレーム)を含む。AVビットストリームの少なくとも1つのフレーム(ビデオ・フレームの少なくとも1つおよび/またはオーディオ・フレームの少なくとも1つ)は、エンティティ12によって(再オーサリングされたIフレームまたは再オーサリングされたPフレームとして)再オーサリングされている。再オーサリングは、再オーサリングされたフレームを含むコンテンツのセグメントがIフレームで始まり、少なくとも1つの後続のPフレームを含むように、行なわれている。いくつかの実施形態では、AVビットストリームの少なくとも1つのオーディオ・フレームは、再オーサリングされたフレームを含むオーディオ・コンテンツのセグメントがオーディオIフレーム(ビデオ・コンテンツの対応するセグメントのビデオIフレームと整列させられる)で始まり、少なくとも1つの後続のオーディオPフレームを含むように、エンティティ12によって(再オーサリングされたオーディオIフレームまたは再オーサリングされたオーディオPフレームとして)再オーサリングされている(だが、ビデオ・フレームは再オーサリングされていない)。
図1において、ビットストリーム源10は、(ビデオ・データおよび対応するメタデータの)ビデオ・フレームおよび(たとえばAC-4フォーマットのようなオーディオ・フォーマットと互換な、エンコードされたオーディオ・データ、およびメタデータの)オーディオ・フレームを含む入力AVビットストリーム(たとえば、標準互換トランスポート・ストリーム、たとえば、MPEG規格のあるバージョン、たとえばMPEG-2規格と互換性があるトランスポート・ストリーム、または別のトランスポート・ストリーム、またはトランスポート・ストリームではない入力AVビットストリーム)を生成するように構成される。源10のいくつかの実装では、入力AVビットストリームは従来の仕方で生成される。他の実装では、源10は、本発明のAVビットストリーム生成方法の実施形態(少なくとも1つのフレームを再オーサリングすることによるものを含む)に従って入力AVビットストリームを生成する。
図1のシステムの多くの実装(およびその変形)が考えられることを理解しておくべきである。たとえば、いくつかの実装では、要素10、12、14、および16は、ネットワークに(異なる位置で)結合された異なる装置またはシステムで実装される。1つのそのような実装では:源10(またはそれに結合された装置またはサブシステム)は、コンテンツ(たとえば、エンコードされたオーディオ・データ、またはビデオ・データおよびエンコードされたオーディオ・データの両方)と、前記源10によって生成されるメタデータとを、ネットワークを通じた(たとえばNBMPエンティティ12への)送達のために、(たとえば、MPEG-DASH、またはHLS、またはMMT、または別の適応ストリーミング・フォーマットもしくは方法/プロトコルに従ったフォーマットを有するAVビットストリームとして)パッケージ化するよう構成され;NBMPエンティティ12(またはそれに結合された装置またはサブシステム)は、(少なくとも1つの再オーサリングされたフレームを含む、)コンテンツ(たとえば、エンコードされたオーディオ・データ、またはビデオ・データおよびエンコードされたオーディオ・データの両方)と、前記エンティティ12によって生成されるメタデータとを、ネットワークを通じた(たとえば再生装置16への)送達のために、(たとえば、MPEG-DASH、またはHLS、またはMMT、または別の適応ストリーミング・フォーマットもしくは方法/プロトコルに従ったフォーマットを有するAVビットストリームとして)パッケージ化するよう構成される。
別の例として、いくつかの実装では、要素10および12は、また任意的には14も、ネットワークに結合された単一の装置またはシステム(たとえば、図3のプロダクション・ユニット3の機能を実行するプロダクション・ユニット)として実装される。そのような1つの実装では、源10は、コンテンツ(たとえば、エンコードされたオーディオ・データ、またはビデオ・データおよびエンコードされたオーディオ・データの両方)とメタデータとを含むフレームをNBMPエンティティ12に提供するように構成され;NBMPエンティティ12は、(本発明の実施形態に従って)フレームの少なくとも1つを再オーサリングし、それによりフレームの修正された集合を生成するように構成され;NBMPエンティティ12(またはそれに結合されたサブシステム)は、フレームの該修正された集合を、ネットワークを通じた(たとえば再生装置16への)送達のために、(たとえば、MPEG-DASH、またはHLS、またはMMT、または別の適応ストリーミング・フォーマットもしくは方法/プロトコルに従ったフォーマットを有するAVビットストリームとして)パッケージ化するように構成される。
別の例として、要素10、12、および14は、本発明の実施形態に従って、エンコードされたオーディオ・データを含む少なくとも1つのフレームを(要素12において)再オーサリングすることによるものを含め、オーディオ・コンテンツ(および対応するメタデータ)のみを生成および処理するように構成される。たとえば、本発明の実施形態に従ってビデオ・データを含む少なくとも1つのフレームを再オーサリングすることによるものも含め、ビデオ・コンテンツ(および対応するメタデータ)のみを生成および処理するために、ビデオ処理サブシステム(図1には示されていない)が任意的に用いられる。装置またはサブシステムが、要素12(およびビデオ処理サブシステム)に結合され、たとえばネットワークを通じた(たとえば再生装置16への)送達のために、要素10、12および14(ならびにビデオ処理要素)によって生成されたフレーム(それぞれの再オーサリングされたフレームを含む)を(たとえば、MPEG-DASH、またはHLS、またはMMT、または別の適応ストリーミング・フォーマットもしくは方法/プロトコルに従ったフォーマットを有するAVビットストリームとして)パッケージ化するように構成されてもよい。
いくつかの実装では、NBMPエンティティ14は省略される(そして、エンティティ14によって実装される記載された機能は、代わりにNBMPエンティティ12によって実行される)。
第1の例示的実施形態では、NBMPエンティティ12は、オーディオ処理(オーディオ・フレームの再オーサリングを含む)とビデオ処理(ビデオ・フレームの再オーサリングを含む)の両方を実行するように構成された単一の装置として実装されてもよく、この装置に結合された第2のNBMPエンティティが、エンティティ12のオーディオ出力(たとえば、生のAC-4ビットストリームまたは他のデータストリーム)とエンティティ12のビデオ出力の両方を、AVビットストリーム(たとえば、MPEG-DASH、またはHLS、またはMMT、または他の適応ストリーミング・フォーマットもしくは方法/プロトコルに従ったフォーマットを有するAVビットストリーム)としてパッケージ化することができる。第2の例示的実施形態では、NBMPエンティティ12は、第1の例示的実施形態におけるエンティティ12および第2のNBMPエンティティの両方の機能を実行するように構成された単一の装置として実装されてもよい。第3の例示的実施形態では、NBMPエンティティ12は、オーディオ処理(オーディオ・フレームの再オーサリングを含む)を実行するように構成された第1の装置として実装され、他のNBMPエンティティが、ビデオ処理(ビデオ・フレームの再オーサリングを含む)を実行するように構成された第2の装置として実装され、そのような両装置に結合された第3のNBMPエンティティが、第1の装置のオーディオ出力(たとえば、生のAC-4ビットストリームまたは他のデータストリーム)および第2の装置のビデオ出力を、AVビットストリーム(たとえば、MPEG-DASH、またはHLS、またはMMT、または他の適応ストリーミング・フォーマットもしくは方法/プロトコルに従ったフォーマットを有するAVビットストリーム)としてパッケージ化することができる。
いくつかの実装では、源10およびNBMPエンティティ12(または源10、NBMPエンティティ12、および、エンティティ12の出力をAVビットストリームとしてパッケージ化するように構成されたパッケージング・システム)は、エンコード/パッケージング施設において実装され、エンティティ12(またはそれに結合されたパッケージング・システム)は、AVビットストリームを出力するように構成され、再生装置16は、この施設からリモートに位置される。いくつかの他の実装では、源10(および源10の出力をAVビットストリームとしてパッケージ化するように結合され構成されたパッケージング・システム)は、エンコード/パッケージング施設において実装され、NBMPエンティティ12および再生装置16は、リモートの再生位置において一緒に位置される(それにより、NBMP 12は、エンコード/パッケージング施設から再生位置に送達されるAVビットストリームに応答して、少なくとも1つの再オーサリングされたフレームを含むAVビットストリームを生成するように結合され構成される)。これらの実装のいずれにおいても、NBMPエンティティ14は、NBMPエンティティ12からリモートの位置、またはNBMPエンティティ12と同じ位置において実装されてもよく、またはエンティティ14は省略されてもよい(そしてエンティティ12が、エンティティ14の記載される機能を実行するように実装されてもよい)。図1のシステムに対する他の変形は、本発明の他の実施形態を実装してもよい。
次に、図1のシステムの例示的実装をより詳細に記述する。
典型的には、源10によって生成される入力AVビットストリームは、少なくとも1つのオーディオ/ビデオ・プログラム(「プログラム」)を示し、(それによって示される各プログラムについて)、ビデオ・データのフレーム(それらが少なくとも1つのビデオ・エレメンタリー・ストリームを決定する)および該ビデオ・データに対応するエンコードされたオーディオ・データのフレーム(それらが少なくとも1つのオーディオ・エレメンタリー・ストリームを決定する)を含む。
入力AVビットストリームは、ビデオ・データを含むIフレーム(ビデオIフレーム)、エンコードされたオーディオ・データを含むIフレーム(オーディオIフレーム)、ビデオ・データを含むPフレーム(ビデオPフレーム)、およびエンコードされたオーディオ・データを含むIフレーム(オーディオPフレーム)のシーケンスを含んでいてもよく、またはビデオIフレームおよびビデオPフレームのシーケンスと、オーディオIフレームのシーケンスとを含んでいてもよい。入力AVビットストリームのオーディオIフレームは、第1のレートで(たとえば、図1に示されるように、各時間区間X毎に1回)生起してもよい。
入力AVビットストリームは、AVストリームのコンテンツ(オーディオ・コンテンツまたはビデオ・コンテンツ)の各セグメントがIフレームで始まることを要求する、パッケージ化されたメディア送達フォーマット(たとえば、MPEG-DASH、HLS、またはMMT方法/プロトコル、またはMPEG-2トランスポート・ストリーム・フォーマットに従うものなどだがそれらに限定されない標準化されたフォーマット)を有していてもよい。かかる要求は、セグメント境界(たとえば、ビデオIフレームによって示される、ビデオ・エレメンタリー・ストリームのビデオ・コンテンツのセグメントの先頭は、オーディオIフレームによって示される、少なくとも1つのオーディオ・エレメンタリー・ストリームの各ストリームの対応するオーディオ・コンテンツのセグメントの先頭と時間整列される)におけるシームレスな適応(たとえばスプライシングまたは切り換え)を可能にするためである。いくつかの場合には、入力AVビットストリームのオーディオ・コンテンツは、入力AVビットストリームの対応するビデオ・コンテンツと時間整列される。いくつかの他の場合には、(たとえば、あるタイムスタンプ値によって示される)ストリーム内のある時点にビデオIフレームが生起するが、ストリーム内で同時点にオーディオIフレームは生起しない、または(たとえば、あるタイムスタンプ値によって示される)ストリーム内のある時点にオーディオIフレームが生起するが、ストリーム内で同時点にビデオIフレームは生起しないという意味において、入力AVビットストリームのオーディオ・コンテンツは、入力AVビットストリームの対応するビデオ・コンテンツと時間整列されなくてもよい。たとえば、ストリームのオーディオ・コンテンツは、オーディオIフレームのみから構成されてもよい(たとえば、NBMPエンティティ12が入力AVビットストリームに応答して、トランスポート・ストリームまたは他のAVビットストリームを生成するように構成されている場合、本発明のAVビットストリーム生成方法の後述する実施形態の第2のクラスのある実施形態に従って)。
源10から出力される入力AVビットストリームは、図1のネットワークを通じて、CDNサーバーとして実装されてもよい(またはCDNサーバーに含まれていてもよい)ネットワーク・ベースのメディア処理(NBMP)エンティティ12に送達される。いくつかの実施形態では、NBMPエンティティ12は、標準化されたフォーマットに従って実装されることが考えられている。一例では、そのような規格はMPEG互換規格であってよく、NMBPエンティティ12は、たとえば、MPEG-I Part 8のネットワーク・ベースのメディア処理フレームワーク、またはこのフレームワークの他の任意の将来のバージョンに従って、MPEG NBMPエンティティとして実装されてもよい。NBMPエンティティ12は、入力AVビットストリームを受領するように結合された入力12Aと、入力12Aに結合されたバッファ12Bと、バッファ12Bに結合された処理サブシステム12Cと、サブシステム12Cに結合されたパッケージング・サブシステム12Dとを有する。入力12Aに送達されるAVビットストリームのセグメントは、バッファ12Bにバッファリングされる(非一時的な仕方で記憶される)。バッファリングされたセグメントは、バッファ12Bから処理サブシステム12C(プロセッサ)に呈される。サブシステム12Cは、ネットワークおよび/または他の制約条件に依存する仕方で、入力AVビットストリームの少なくとも1つのフレームに対して再オーサリングを実行し(それにより、少なくとも1つの再オーサリングされたフレームを生成する)、自分が修正しない入力AVビットストリームのメディア・コンテンツおよびメタデータをサブシステム12Dにそのまま渡すように、本発明の実施形態に従ってプログラムされる(または他の仕方で構成される)。サブシステム12Cから出力されたメディア・コンテンツおよびメタデータ(たとえば、入力AVビットストリームのもとのフレームおよびサブシステム12Cにおいて生成された各再オーサリングされたフレーム)は、AVビットストリームとしてパッケージ化するために、パッケージ化サブシステム12Dに提供される。サブシステム12Dは、前記各再オーサリングされたフレームを含むように(再生装置16に送達される)AVビットストリームを生成し(たとえば、AVビットストリーム内に少なくとも1つの再オーサリングされたIフレームを挿入すること、および/または入力AVビットストリームの少なくとも1つのIフレームを再オーサリングされたPフレームで置き換えることによることを含む)、要求されるフォーマット(たとえば、MPEG-DASHフォーマット)を有するようにAVビットストリームを生成するために必要とされる任意の他のパッケージ化(要求されるメタデータ生成があればそれを含む)を実行するようにプログラムされる(または他の仕方で構成される)。ネットワーク制約条件(および/または他の制約条件)は、別のNBMPエンティティ(たとえば、図1のNBMPエンティティ14)から図1のネットワークを通じてNBMPエンティティ12に送達される制御ビットによって示される。そのような制約条件の例(たとえば、ネットワークを通じたビットストリーム送達のための利用可能なビットレートを示す制約条件)は後述する。NBMPエンティティ12は、エンティティ14から送達された制御ビットによって制約された仕方で、本発明の方法の実装される実施形態を実行するために必要とされるメディア処理操作(フレーム再オーサリングを含む)を組み立て、構成するための制御機能を実行するように構成される。
図1の源10、NBMPエンティティ12、NBMPエンティティ14、および再生装置16のそれぞれは、本明細書で定義されるオーディオ/ビデオ処理ユニット(「AVPU」)である。源10、NBMPエンティティ12、および再生装置16のそれぞれは、それによって生成された、またはそれに提供されたAVビットストリームに対して適応(たとえば、切り換えまたはスプライシング)を実行し、そのようにして、適応されたAVビットストリームを生成するように構成されてもよい。源10、NBMPエンティティ12、NBMPエンティティ14、および再生装置16のそれぞれの実施形態は、バッファ・メモリと、該バッファ・メモリに結合された少なくとも1つのオーディオ/ビデオ処理サブシステムとを含み、該バッファ・メモリは、AVビットストリームを生成するための本発明の方法の実施形態によって生成されたAVビットストリームの少なくとも1つのセグメントを非一時的に記憶する。
NBMPエンティティ12は、本発明のAVビットストリーム生成方法の実施形態に従って、(源10から送達される入力AVビットストリームに応答して)AVビットストリームを生成し、生成されたAVビットストリームを再生装置16に送達する(たとえば、ネットワークを通じた送達のためにネットワークに呈する)ように結合され、構成される。再生装置16は、AVビットストリームのオーディオおよび/またはビデオ・コンテンツの再生を実行するように構成される。再生装置16は、入力16Aと、入力16Aに結合されたバッファ16Bと、バッファ16Bに結合された処理サブシステム16Cとを含む。入力16Aに送達されたAVビットストリームのセグメントは、バッファ16Bにおいてバッファリングされる(非一時的な仕方で記憶される)。バッファリングされたセグメントは、バッファ16Bから処理サブシステム16C(プロセッサ)に呈される。サブシステム16Cは、AVビットストリームをパースし、AVビットストリームのエンコードされたオーディオ・コンテンツおよび/またはエンコードされたビデオ・コンテンツに対して任意の必要なデコードを実行するように構成され、再生装置16は、AVビットストリームのパースされた(またはパースされてデコードされた)ビデオ・コンテンツを表示するためのディスプレイを含んでいてもよい。再生装置16(たとえば、サブシステム16C、または図1に具体的に示されていない装置16の別のサブシステム)は、少なくとも1つのスピーカーフィードを生成するためにAVビットストリームのパース(およびデコード)されたオーディオ・コンテンツをレンダリングするように構成されてもよく、任意的には、そのような各スピーカーフィードに応答して音を発するための少なくとも1つのスピーカーを含む。
上述のように、再生装置16のいくつかの実装は、本発明の実施形態に従って生成されたAVビットストリームのオーディオおよび/またはビデオ・コンテンツをデコードするように構成される。よって、装置16のこれらの実装は、本発明の実施形態に従って生成されたAVビットストリームのオーディオおよび/またはビデオ・コンテンツをデコードするように構成されたデコーダの例である。
典型的には、NBMPエンティティ12から出力されるAVビットストリームは、パッケージ化されたメディア送達フォーマット(たとえば、MPEG-DASH、HLS、またはMMT方法/プロトコルに従うフォーマット、またはMPEG-2トランスポート・ストリーム・フォーマット)を有し、これは、AVビットストリームのコンテンツ(オーディオ・コンテンツまたはビデオ・コンテンツ)の各セグメントがIフレームで始まることを要求する。典型的には、AVビットストリームのビデオ・エレメンタリー・ストリームのビデオ・コンテンツの各セグメントは、(AVビットストリームの少なくとも1つのオーディオ・エレメンタリー・ストリームの各ストリームの)対応するオーディオ・コンテンツの少なくとも1つのセグメントの先頭(本発明の実施形態に従って生成された再オーサリングされたオーディオIフレームであってもよいオーディオIフレームによって示される)と時間整列されたビデオIフレーム(これは、本発明の実施形態に従って生成された再オーサリングされたビデオIフレームであってもよい)で始まる。
たとえば、いくつかの実施形態において、エンティティ12は、必要に応じて、入力AVビットストリームのオーディオPフレームをオーディオIフレームとして再オーサリングするように構成される。たとえば、エンティティ12は、入力AVビットストリーム内のビデオIフレームを識別し、該ビデオIフレームと時間整列されたオーディオIフレームが必要とされることを判別することができる。この場合、エンティティ12は、入力AVビットストリームの(ビデオIフレームと時間整列された)オーディオPフレームをオーディオIフレームとして再オーサリングし、再オーサリングされたオーディオIフレームを、オーディオPフレームの代わりに、再生装置16に送達されるAVビットストリームに挿入することができる。
別の例として、エンティティ12は、入力AVビットストリームのオーディオIフレーム(またはオーディオIフレームおよびビデオIフレーム)が、第1のレートで(たとえば、図1に示されるように、各時間区間Xにつき1回)生起するが、再生装置16に送達されるAVビットストリームにおける適応点(たとえば、スプライス点)は、より大きなレートで(たとえば、図1に示されるように、YがXより大きいとして、各時間区間Yにつき1回)必要とされることを識別するように構成されてもよい。この場合、エンティティ12は、入力AVビットストリームのオーディオPフレーム(またはオーディオPフレーム、およびそれらのオーディオPフレームと時間整列されたビデオPフレーム)をオーディオIフレーム(またはオーディオIフレーム、およびそれらのオーディオIフレームと時間整列されたビデオIフレーム)として再オーサリングし、再オーサリングされたオーディオIフレーム(または時間整列された再オーサリングされたオーディオIフレームおよび再オーサリングされたビデオIフレームの各集合)をもとのPフレームの代わりに、再生装置16に送達されるAVビットストリームに挿入して、それにより必要とされるレート(Y)でAVビットストリーム内の適応点を提供することができる。
本発明の方法の他の実施形態(NBMPエンティティ12はそれを実行するように構成されうる)は、後述される。
図2は、MPEG-2トランスポート・ストリームの一例の図である。図1のNBMPエンティティ12のいくつかの実施形態(および後述する図3のプロダクション・ユニット3のいくつかの実施形態)は、少なくとも1つのビデオまたはオーディオ・フレームを再オーサリングすることによることを含め、MPEG-2トランスポート・ストリームを生成するように構成される。
上述のように、本発明の実施形態に従って(たとえば、図1のNBMPエンティティ12または図3のプロダクション・ユニット3によって)生成されたAVビットストリーム(たとえば、トランスポート・ストリーム)は、少なくとも1つのオーディオ/ビデオ・プログラム(「プログラム」)を示してもよく、(それによって示される各プログラムについて)ビデオ・データのフレーム(それらが少なくとも1つのビデオ・エレメンタリー・ストリームを決定する)と、対応するエンコードされたオーディオ・データのフレーム(それらが少なくとも1つのオーディオ・エレメンタリー・ストリームを決定する)とを含むことができる。ビデオ・データのフレーム(たとえば、図2のビデオ・フレーム#1、#2、#3、#4、#5、#6)は、ビデオ・データのIフレーム(たとえば、図2のビデオIフレーム#1および#5)を含んでいてもよく、エンコードされたオーディオ・データのフレーム(たとえば、図2のAC-4フレーム#1、AC-4フレーム#2、AC-4フレーム#3、AC-4フレーム#4、AC-4フレーム#5、およびAC-4フレーム#6として同定されるオーディオ・フレーム)は、エンコードされたオーディオ・データのIフレーム(たとえば、図2のオーディオIフレームAC-4フレーム#1、AC-4フレーム#3、およびAC-4フレーム#5)を含んでいてもよい。
図2のMPEG-2トランスポート・ストリームを生成するために、オーディオ・フレームはPESパケット(図2の上段において拡大バージョンで示される)にパッケージ化され、ビデオ・フレームはPESパケット(図2の下段に拡大バージョンで示される)にパッケージ化される。オーディオ・フレームを示すPESパケットのそれぞれは、PTS値0、3600、7200、10800、14400、および18000の異なる1つを有し、ビデオ・フレームを示すPESパケットのそれぞれは、PTS値0、3600、7200、10800、14400、および18000の異なる1つを有する。
各PESパケットは、トランスポート・ストリーム(TS)パケットの集合としてパッケージ化され、MPEG-2トランスポート・ストリームは、TSパケットの示されたシーケンス(図2の中段に示されている)を含む。トランスポート・ストリームを処理するトランスポート・ストリーム・スプライサーは、バーS1およびS2でマークされた位置において潜在的にスプライスすることができ、それぞれの位置はビデオIフレームの直前に生起し、よってオーディオを乱さない。例を簡略化するために、図2に示されているすべてのフレームは、PESパケット整列されている(それが要求されないIフレームどうしの間であっても)。
図2のトランスポート・ストリームは、トランスポート・ストリームによって示される各プログラムについて、そのプログラムを示すトランスポート・ストリームのデータがIフレーム同期の特性を有するという意味で、Iフレーム同期の特性をもつ(すなわち、満たす)(すなわち、トランスポート・ストリームによって示される各プログラムについて、そのプログラムのビデオ・エレメンタリー・ストリーム内の各ビデオIフレームについて、プログラムのオーディオ・エレメンタリー・ストリーム内に少なくとも1つのマッチするオーディオIフレーム(すなわち、ビデオIフレームと同期した少なくとも1つのオーディオIフレーム)が存在するように、ビデオおよびオーディオ・エンコードが同期される)。この特性を有するトランスポート・ストリーム(たとえば、本発明の実施形態に従って生成されたトランスポート・ストリーム)は、トランスポート・ストリームのどのプログラムのどのオーディオ・エレメンタリー・ストリームも修正することなく、(たとえば、図3のスプライサー7によって)シームレスにスプライスされるか、または、他の仕方で適応されうる。
図3は、オーディオ処理チェーン(オーディオ・データ処理システム)の一例のブロック図であり、システムの一つまたは複数の要素は、本発明の実施形態に従って構成されてもよい。システムは、図のように結合された次の要素:捕捉ユニット1、プロダクション・ユニット3(エンコード・サブシステムを含む)、送達サブシステム5、およびスプライス・ユニット(スプライサー)7を、任意には、捕捉ユニット1'、プロダクション・ユニット3'(エンコード・サブシステムを含む)、および送達サブシステム5'をも含む。図示されたシステムの変形では、これらの要素のうちの一つまたは複数が省略されるか、または追加的な処理ユニットが含められる(たとえば、サブシステム5'が省略され、ユニット3'の出力がサブシステム5によってユニット7に送達される)。
捕捉ユニット1は、典型的には、オーディオ・コンテンツを含むPCM(時間領域)サンプル、およびビデオ・データ・サンプルを生成し、PCMオーディオ・サンプルおよびビデオ・データ・サンプルを出力するように構成される。たとえば、PCMサンプルは、マイクロフォンによって取り込まれたオーディオの複数のストリームを示してもよい。プロダクション・ユニット3は、典型的には放送事業者によって操作され、PCMオーディオ・サンプルおよびビデオ・サンプルを入力として受け入れ、オーディオおよびビデオ・コンテンツを示すAVビットストリームを生成および出力するように構成される。図3システムのいくつかの実装形態では、プロダクション・ユニット3は、MPEG-2トランスポート・ストリーム(たとえば、MPEG-2トランスポート・ストリームであって、そのオーディオ・コンテンツがAC-4規格に従ってエンコードされ、その結果、該MPEG-2トランスポート・ストリームの各オーディオ・エレメンタリー・ストリームがAC-4フォーマットを有する圧縮されたオーディオ・データを含むもの)を出力するように構成されている。
本発明のさまざまな実施形態のいずれかに従って生成されたAVビットストリーム(たとえば、MPEG-2トランスポート・ストリーム)のオーディオ・コンテンツに対して実行されるエンコードは、AC-4エンコードであってもよく、または、ビデオとフレーム整列された任意の他のオーディオ・エンコードであってもよい(すなわち、ビデオの各フレームがエンコードされたオーディオの整数個(すなわち、端数でない)のフレーム数に対応する)(AC-4エンコードは、この特性を有するように実行できる)。
ユニット3から出力されるAVビットストリームは、オーディオ・コンテンツの少なくとも一部を示すエンコード(たとえば、圧縮)されたオーディオ・ビットストリーム(本明細書では「メインミックス」と称されることがある)と、ビデオ・コンテンツの少なくとも一部を示すビデオ・ビットストリームとを含み、任意的には、オーディオ・コンテンツの少なくとも一部を示す少なくとも1つの追加的なビットストリームまたはファイル(本明細書では「サイドミックス」と称されることがある)をも含んでいてもよい。
AVビットストリームのオーディオ・データ(たとえば、そのメイン・ミックス)は、スピーカー・チャネルの一つまたは複数の集合、および/またはオブジェクト・チャネルを示すオーディオ・サンプルのストリームを示しうる。
図4に示されるように、図3のプロダクション・ユニット3の実装は、ユニット1からビデオおよびオーディオ・データを受領するように結合されたエンコード・サブシステム3Bを含む。サブシステム3Bは、エンコードされたオーディオ・データのフレームを、任意的にはエンコードされたビデオ・データのフレームをも生成するために、オーディオ・データ(および任意にビデオ・データも)に対して、必要なエンコードを実行するように構成される。サブシステム3Bから出力されたデータのフレーム(たとえば、オーディオ・フレーム、またはオーディオ・フレームとビデオ・フレーム)を受領するように結合された入力3Dと、本発明の実施形態を実装するための必要に応じてサブシステム3Bから出力されたフレームのうちの一つまたは複数を再オーサリングし、本発明の実施形態に従って、サブシステム3Bの出力(またはサブシステム3Bの出力のフレーム、およびサブシステム3Bから出力されたフレームのうちの1つを置き換えるためにそれが生成する各再オーサリングされたフレーム)を、AVビットストリームとしてパッケージ化する(パケット化および多重化することによることを含む)ように構成されたサブシステム(プロセッサ)とを有する。たとえば、AVビットストリームは、そのオーディオ・コンテンツがAC-4規格に従ってエンコードされうるMPEG-2トランスポート・ストリームであってもよく、そのため該MPEG-2トランスポート・ストリームの各オーディオ・エレメンタリー・ストリームがAC-4フォーマットを有する圧縮されたオーディオ・データを含む。バッファ3Aは、サブシステム3Cの出力に結合される。サブシステム3C内で生成されたAVビットストリームのセグメントは、バッファ3A内でバッファリングされる(非一時的に記憶される)。ユニット3のサブシステム3Cの出力は、ユニット3で生成されたエンコードされたオーディオ・コンテンツを(典型的にはそれと一緒にパッケージ化されるビデオ・コンテンツも)含むAVビットストリームであるので、ユニット3は、オーディオ・エンコーダの例である。ユニット3によって生成されたAVビットストリームは、典型的には、(バッファ3Aにおいてバッファリングした後に)送達システム(たとえば、図3の送達サブシステム5)に呈される。
図3の送達サブシステム5は、ユニット3によって生成されたトランスポート・ビットストリーム(たとえば、サイドミックスが生成される場合は、その各サイドミックスを含む)を記憶および/または送信(たとえば、ネットワークを通じてブロードキャストまたは送達)するように構成される。
捕捉ユニット1'、プロダクション・ユニット3'(バッファ3A'を含む)、および送達サブシステム5'は、それぞれ、捕捉ユニット1、プロダクション・ユニット3、および送達サブシステム5'の機能を実行する(典型的にはそれらのユニットと同一である)。それらは、プロダクション・ユニット3において(たとえば、本発明の実施形態に従って)生成され、スプライサー7の入力8Aに送達される第1のAVビットストリーム(たとえば、第1のトランスポート・ストリームまたは他のAVビットストリーム)とスプライサー7によってスプライスされるべき第2のAVビットストリーム(たとえば、本発明の実施形態に従って生成されるトランスポート・ストリームまたは他のAVビットストリーム)を生成する(そしてスプライサー7の入力8Bに送達する)ように動作することができる。
図3のスプライサー7は、入力8Aおよび8Bを含む。入力8Aは、送達サブシステム5によってスプライサー7に送達された少なくとも1つのAVビットストリームを受領する(たとえば、読む)ように結合され、入力8Bは、送達サブシステム5'によってスプライサー7に送達された少なくとも1つのAVビットストリームを受領する(たとえば、読む)ように結合される。スプライサー7は、図3に示されるように結合されたバッファ・メモリ(バッファ)7A、バッファ・メモリ(バッファ)7D、パース・サブシステム7E、パース・サブシステム7B、およびスプライシング・サブシステム7Cをも含む。任意的に、スプライサー7は、スプライスされるべきAVビットストリームを格納するよう、(図のように)結合され、構成されたメモリ9を含む。スプライサー7の典型的な動作中に、入力8Aおよび/または8Bで受領された少なくとも1つの選択されたAVビットストリームのセグメント(たとえば、入力8Aおよび8Bで受領されたAVビットストリームの選択されたシーケンスのセグメントのシーケンス)は、バッファ7Aおよび/またはバッファ7D内でバッファリングされる(非一時的に記憶される)。バッファリングされたセグメントは、パースのためにバッファ7Aからパース・サブシステム7Bに呈され、バッファされたセグメントは、バッファ7Dからパース・サブシステム7Eに呈される。あるいはまた、メモリ9に記憶された少なくとも1つのAVビットストリームのセグメントが、パースのためにパース・サブシステム7Bに呈される(または、メモリ9に記憶されたおよび/または入力8Aで受領されたAVビットストリームの選択されたシーケンスのセグメントが、パースのためにバッファ7Aおよび/またはメモリ9からサブシステム7Bに呈される)。典型的には、(サブシステム7Bまたは7Eにおいて)パースされ、(スプライシング・サブシステム7C)スプライスされるべき各AVビットストリームは、本発明の実施形態に従って生成されている。
スプライサー7(たとえば、そのサブシステム7Bおよび7Eおよび/またはサブシステム7C)は、スプライスされるべき各AVビットストリーム(たとえば、送達サブシステム5によってスプライサー7に配信される第1の輸送ストリーム、および/または送達サブシステム5'によって送達サブシステム7に配信される第2の輸送ストリーム、または、メモリ9に記憶される第1の輸送ストリーム、および/または送達サブシステム5または5'によって送達サブシステム7に配信される第2の輸送ストリーム)内のスプライス点を決定するようにも結合および構成され、サブシステム7Cは、該ストリーム(単数または複数)をスプライスして、少なくとも1つのスプライスされたAVビットストリーム(図3の「スプライスされた出力」)を生成するように構成される。いくつかの場合には、スプライスは単一のAVビットストリームのセグメントを省略し、スプライサー7は、AVビットストリームの出口点(すなわち、時刻)とAVビットストリームの入口点(より遅い時刻)とを決定し、出口点の前に生じるストリーム・セグメントと入口点の後に生じるストリーム・セグメントとを連結することによって、スプライスされたAVビットストリームを生成するように構成される。他の場合には、スプライスは、第1のAVビットストリームのセグメント間(または第1のAVビットストリームのセグメントと第3のAVビットストリームのセグメントとの間)に第2のAVビットストリームを挿入し、スプライサー7は、第1のAVビットストリームの出口点(すなわち、時刻)、第1の(または第3の)AVビットストリームの入口点(すなわち、後の時刻)、第2のAVビットストリームの入口点(すなわち、時刻)、および第2のAVビットストリームの出口点(後の時刻)を決定し、スプライスされたAVビットストリームを生成するように構成される。該スプライスされたAVビットストリームは、第1のAVビットストリームの、該ストリームの出口点の前に発生するデータと、第2のAVビットストリームの、該そのストリームの入口点と出口点の間に発生するデータと、および第1の(または第3の)AVビットストリームの、該第1の(または第3の)AVビットストリームの入口点の後に発生するデータとを含む。
いくつかの実装では、スプライサー7は、少なくとも1つが本発明の実施形態に従って生成されたAVビットストリーム(単数または複数)を、本発明のスプライシング方法の実施形態に従ってスプライスして、少なくとも1つのスプライスされたAVビットストリーム(図3の「スプライスされた出力」)を生成するように構成される。本発明のスプライシング方法のそのような実施形態では、各スプライス点(たとえば、入口点または出口点)は、ビデオ・コンテンツの対応するセグメントのビデオIフレーム(本発明の実施形態に従って生成された再オーサリングされたフレームであってもよい)と整列された、オーディオ・コンテンツのセグメントのオーディオIフレーム(本発明の実施形態に従って生成された再オーサリングされたフレームであってもよい)で発生する。典型的には、オーディオ・コンテンツのそのような各セグメントは、オーディオIフレームの後に少なくとも1つのオーディオPフレームを含み、ビデオ・コンテンツのそのような各セグメントは、ビデオIフレームの後に少なくとも1つのビデオPフレームを含む。
本発明のいくつかの実施形態は、AVビットストリームを生成するための本発明の方法のいずれかの実施形態に従って生成されたAVビットストリーム(たとえば、MPEG-2トランスポート・ストリーム)を適応させ(たとえばスプライシングまたはスイッチングし)、それにより、適応された(たとえば、スプライスされた)AVビットストリーム(たとえば、そのようなスプライシング方法を実行するように構成された図3のスプライサー7の実装の出力)を生成するための方法に関する。典型的な実施形態では、適応は、AVビットストリームのどのエンコードされたオーディオ・エレメンタリー・ストリームも修正することなく実行される(ただし、場合によっては、適応器は、AVビットストリームのエンコードされたオーディオ・エレメンタリー・ストリームのデータの修正を含まない仕方で、AVビットストリームの再多重化または他の修正を実行する必要があることがありうる)。
典型的には、再生システムは、スプライサー7から出力されたスプライスされたAVビットストリームをデコードし、レンダリングする。再生システムは、典型的には、AVビットストリームのオーディオ・コンテンツおよびビデオ・コンテンツをパースするためのサブシステム、オーディオ・コンテンツをデコードおよびレンダリングするように構成されたサブシステム、およびビデオ・コンテンツをデコードおよびレンダリングするように構成された別のサブシステムを含む。
図7は、本発明の実施形態によるMPEG-DASHフォーマットを有するAVビットストリームを生成するためのシステムのブロック図である。図7のシステムでは、オーディオ・エンコーダ20は、オーディオ・データを(たとえば、図4のユニット1の実施形態または別の捕捉ユニットから)受領するように結合され、ビデオ・エンコーダ21は、ビデオ・データを(たとえば、図4のユニット1の実施形態または別の捕捉ユニットから)受領するように結合される。エンコーダ20は、オーディオ・データに対してオーディオ・エンコード(たとえば、AC-4エンコード)を実行して、エンコードされたオーディオ・データのフレームを生成し、それらのフレームをDASHパッケージャ22に対して呈するように結合され、構成される。エンコーダ21は、ビデオ・データに対してビデオ・エンコード(たとえば、H265ビデオ・エンコード)を実行して、エンコードされたビデオオーディオ・データのフレームを生成し、それらのフレームをDASHパッケージャ22に対して呈するように結合され、構成される。
パッケージャ22は、図のように結合された、Iフレーム変換サブシステム24、セグメント分割器28、オーディオ・アナライザー26、MPEG-4マルチプレクサ30、およびMPD生成サブシステム32を含むオーディオ/ビデオ処理ユニットである。
セグメント分割器28は、エンコーダ21からセグメント分割器28に提供されるビデオ・コンテンツのセグメント(ビデオ・フレーム)を決定し、それらのセグメントをMPEG-4マルチプレクサ30に提供するようにプログラムされた(または他の仕方で構成された)ビデオ処理サブシステム(プロセッサ)である。典型的には、各セグメントは、ビデオIフレームで始まる。
Iフレーム変換サブシステム24は、エンコーダ20からサブシステム24に提供された少なくとも1つのオーディオ・フレームに対して再オーサリングを実行し(それにより、少なくとも1つの再オーサリングされたフレームを生成し)、(エンコーダ20から出力された)フレームのうち自分が修正しないフレームをオーディオ・アナライザー26に通過させるよう、本発明の実施形態に従ってプログラムされた(または他の仕方で構成された)オーディオ処理サブシステム(プロセッサ)である。典型的には、サブシステム24は、セグメント分割器28によって同定される各ビデオIフレームと整列されたオーディオIフレーム(たとえば、再オーサリングされたIフレーム)が存在することを保証するように、再オーサリングを実行する。サブシステム24から出力されたオーディオ・コンテンツおよびメタデータ(すなわち、エンコーダ20から出力されたもとのオーディオ・フレームおよびサブシステム24において生成されたそれぞれの再オーサリングされたオーディオ・フレーム)は、オーディオ・アナライザー26に提供される。
サブシステム24から出力されたオーディオ・フレーム(たとえば、エンコーダ20からのもとのオーディオ・フレーム、およびサブシステム24において生成されたそれぞれの再オーサリングされたオーディオ・フレーム)は、オーディオ・アナライザー26に供給される。典型的には、オーディオ・フレームは、AC-4エンコードされたオーディオ・データを含む。アナライザー26は、それらのフレームのメタデータ(たとえば、AC-4メタデータ)を解析し、解析の結果を使用して、オーディオ・フレームと一緒に(MPEG-4マルチプレクサ30において)パッケージ化するために必要であるとそれが判断する任意の新しいメタデータを生成するように構成される。サブシステム24から出力されるオーディオ・フレームおよびアナライザー26において生成される任意の新しいメタデータは、MPEG-4マルチプレクサ30に提供される。
MPEG-4マルチプレクサ30は、アナライザー26から出力されたオーディオ・フレーム(およびアナライザー26において生成された任意の新しいメタデータ)およびセグメント分割器28から出力されたビデオ・フレームを多重化して、MPEG-DASHフォーマットを有するAVビットストリームに含めるために、MPEG-4ファイル・フォーマットの多重化されたオーディオおよびビデオ・コンテンツ(およびメタデータ)を生成するように構成される。
MPD生成サブシステム32は、マルチプレクサ30から出力された多重化されたコンテンツを受領するように結合されており、該多重化されたコンテンツおよびメタデータを含むMPEG-DASHフォーマットを有する(そしてMPEG-DASHメディア・プレゼンテーションを示す)AVビットストリームを生成するように構成される。
AVビットストリーム(たとえば、MPEG-HフォーマットまたはMPEG-D USACフォーマットを有するAVビットストリーム)を生成するためのいくつかの実施形態では、オーディオPフレームを再オーサリングされたオーディオIフレームとして再オーサリングするステップは、以下のように実行される。少なくとも1つの前のオーディオPフレームが当該Pフレームにコピーされる(たとえば、当該Pフレームの拡張ペイロードにおいて)。よって、結果として得られる再オーサリングされたIフレームは、それぞれの前のPフレームのエンコードされたオーディオ・コンテンツを含み、結果として得られる再オーサリングされたIフレームは、当該Pフレームとは異なるメタデータセットを含む(すなわち、当該Pフレームのもとのメタデータのほかに、それぞれの前のPフレームのメタデータを含む)。一例では、Pフレームへの少なくとも一つの前のPフレームのそのようなコピーは、MPEG-H規格のセクション5.5.6(「Audio Pre-Roll」)に記述されているAudioPreRoll()シンタックス要素を使用して実行されてもよい。図7のサブシステム24のいくつかの実装は、このようにして、Pフレームの(再オーサリングされたIフレームとしての)再オーサリングを実行することが考えられる。
いくつかの実施形態では、本発明の方法は:(a)フレームを提供し(たとえば、それらのフレームまたは該フレームを含む入力トランスポート・ストリームまたは他の入力AVビットストリームをエンコーダ(たとえば、図4のプロダクション・ユニット3のサブシステム3Cの実施形態)またはNBMPエンティティ(たとえば、図1のNBMPエンティティ12の実施形態)に伝送する、送達するまたは他の仕方で提供する、または該フレームを生成する)、(b)(たとえば、図4のユニット3の実施形態の、それによって生成されたフレームに対する操作によって、または図1のNBMPエンティティ12の、それに提供された入力AVビットストリームのフレームに対する操作によって)AVビットストリームを生成する。これは、第1のデコード型のフレームの少なくとも1つを第1のデコード型とは異なる第2のデコード型の再オーサリングされたフレームとして再オーサリングすることによることを含む(たとえば、第1のデコード型のフレームのうちの前記1つがPフレームである場合、再オーサリングされたフレームはIフレームである、または、第1のデコード型のフレームのうちの前記1つがIフレームである場合、再オーサリングされたフレームはPフレームである)。それにより、AVビットストリームは、再オーサリングされたフレームを含むコンテンツのセグメントを含み、コンテンツの該セグメントはIフレームで始まり、該Iフレームに続く少なくとも1つのPフレームを含む。たとえば、ステップ(b)は、少なくとも1つのオーディオPフレームを再オーサリングして、再オーサリングされたフレームはオーディオIフレームであること、または少なくとも1つのオーディオIフレームを再オーサリングして、再オーサリングされたフレームはオーディオPフレームであること、または少なくとも1つのビデオPフレームを再オーサリングして、再オーサリングされたフレームはビデオIフレームであること、または少なくとも1つのビデオIフレームを再オーサリングして、再オーサリングされたフレームはビデオPフレームであることを含みうる。いくつかのそのような実施形態では、ステップ(a)は、第1のシステム(たとえば、図4のプロダクション・ユニット3または図1の源10の実施形態)において、コンテンツを示すフレームを含む入力AVビットストリームを生成し、該入力AVビットストリームを第2のシステム(たとえば、図1のNBMPエンティティ12の実施形態)に送達(たとえば、送信)するステップを含み、ステップ(b)は、第2のシステムにおいて実行される。
そのようないくつかの実施形態では、少なくとも1つのオーディオPフレーム(メタデータおよびエンコードされたオーディオ・データを含む)は、オーディオIフレーム(同じエンコードされたオーディオ・データおよび異なるメタデータを含む)として再オーサリングされる。エンコードされたオーディオ・データは、AC-4エンコードされたオーディオ・データであってもよい。たとえば、本発明のいくつかの実施形態では、オーディオPフレームは、そのフレームのエンコードされたオーディオ・コンテンツを修正することなく(たとえば、そのようなコンテンツをデコードし、次いでデコードされたコンテンツを再エンコードすることによって該エンコードされたオーディオ・コンテンツを修正することなく)、オーディオPフレームのメタデータの全部または一部(これはオーディオPフレームのヘッダにあってもよい)を、異なるメタデータセット(たとえば、先行するオーディオIフレームからコピーされたメタデータ、または先行するオーディオIフレームから得られたメタデータを修正することによって生成されたメタデータから構成される、またはかかるメタデータを含む、異なるメタデータセット)で置き換えることによって、再オーサリングされたオーディオIフレームとして再オーサリングされる。実施形態のいくつかの他のものでは、少なくとも1つのオーディオIフレーム(メタデータおよびエンコードされたオーディオ・データを含む)が、オーディオPフレーム(同じエンコードされたオーディオ・データおよび異なるメタデータを含む)として再オーサリングされる。このエンコードされたオーディオ・データはAC-4エンコードされたオーディオ・データであってもよい。
オーディオPフレームのAC-4エンコードされたオーディオ・データ(そのオーディオ・コンテンツがAC-4エンコードされたオーディオ・データである)は、Pフレーム内からの情報のみを使用してデコードできるが、場合によっては(すなわち、エンコードが、エンコードされたオーディオ・データをデコードするために、前のIフレームからのスペクトル拡張メタデータおよび/または結合メタデータが利用可能であることを想定していた場合)、再生時に、デコードされたオーディオは、もとのエンコードの時点で当初意図されていた通りには正確には聞こえない。これらの場合、Pフレームのエンコードされたオーディオ・コンテンツのデコードされたバージョンが再生時に当初意図されていたように聞こえるためには、前のIフレームからのスペクトル拡張メタデータ(および/または結合メタデータ)が、典型的には、デコードの間に使用するために利用可能である必要があり(そして、典型的には使用される必要がある)。そのようなスペクトル拡張メタデータの例はASPXメタデータであり、そのような結合メタデータの例はACPLメタデータである。
したがって、本発明のいくつかの実施形態では、(Pフレームのオーディオ・コンテンツを修正することなく)オーディオPフレーム(たとえば、オーディオ・コンテンツがAC-4エンコードされたオーディオ・データであるオーディオPフレーム)を再オーサリングして、再オーサリングされたオーディオIフレームを生成することは、以前のオーディオIフレームからメタデータをコピーし、コピーされたメタデータをPフレームのもとのメタデータの全部または一部の代わりに挿入することによって実行される。このタイプの再オーサリングは、典型的には、Pフレームのもとのエンコードが、以前のIフレームからの特定のメタデータ(たとえば、スペクトル拡張メタデータおよび/または結合メタデータ)および当該Pフレーム自身からの対応するメタデータの両方が、(デコードされたオーディオの再生時に当初意図された音の受け入れられない変更を生じないように)当該Pフレームの(よって、再オーサリングされたIフレームの)エンコードされたオーディオ・データをデコードするために利用可能であることを必要としない場合に実行される。しかしながら、Pフレーム(たとえば、オーディオ・コンテンツがAC-4エンコードされたオーディオ・データであるオーディオPフレーム)のもとのエンコードが、前のIフレームからの特定のメタデータ(たとえば、スペクトル拡張メタデータおよび/または結合メタデータ)および当該Pフレーム自体からの対応するメタデータの両方が、(デコードされたオーディオの再生時に当初意図された音の受け入れられない変更を生じないように)当該Pフレームのエンコードされたオーディオ・データをデコードするために利用可能であることを要求する場合には、本発明のいくつかの実施形態に従ってPフレームを(再オーサリングされたIフレームとして)再オーサリングすることは、前のオーディオIフレームから前記特定のメタデータ(たとえば、スペクトル拡張メタデータおよび/または結合メタデータ)を保存し、典型的にはPフレームのもとのメタデータの少なくとも一部を使って、保存されたメタデータを修正し(それにより、再オーサリングされたIフレームに含められたときにPフレームの(よってIフレームの)エンコードされたオーディオ・データのデコードを、再オーサリングされたIフレーム内のみからの情報を使って可能にするために十分な修正されたメタデータを生成する)、Pフレームのもとのメタデータの全部または一部の代わりに修正されたメタデータを挿入するステップを含む。同様に、本発明のいくつかの実施形態に従ってビデオPフレームを(再オーサリングされたビデオIフレームとして)再オーサリングすることは、前のビデオIフレームから特定のメタデータを保存し、たとえば当該Pフレームのもとのメタデータの少なくとも一部を使って、保存されたメタデータを修正し(それにより、再オーサリングされたIフレームに含まれるときに、再オーサリングされたIフレーム内のみからの情報を使用してPフレームの(よって、Iフレームの)ビデオ・コンテンツのデコードを可能にするために十分な修正されたメタデータを生成し)、Pフレームのもとのメタデータの全部または一部の代わりに修正されたメタデータを挿入するステップを含むことが考えられる。
あるいはまた、(本発明の実施形態に従って再オーサリングされうる)各Pフレームのエンコードは、別のフレーム(たとえば、以前のIフレーム)からのメタデータが単に該別のフレームから当該Pフレームにコピーされて(コピーされるメタデータを修正することなく)、当該Pフレームのもとのメタデータを置き換えて(それにより、当該PフレームをIフレームとして再オーサリングする)、Pフレームの(よって、再オーサリングされたIフレームの)コンテンツのデコードを、デコードされたコンテンツの再生時に(エンコードの時点で意図されていたものからの)受け入れられない知覚される差異を生じるような仕方で可能にするように実行される。たとえば、(本発明の実施形態に従って再オーサリングされうるフレームの)オーディオ・データのAC-4エンコードは、スペクトル拡張メタデータおよび/または結合メタデータを、結果として得られるオーディオ・フレームに含めることなく実行されうる。これは、以前のオーディオのIフレームからメタデータをコピーし、コピーされたメタデータをPフレームのもとのメタデータの全部または一部の代わりに挿入することによって、オーディオPフレーム(前記の例のように生成されたもの)を再オーサリングし、それにより、再オーサリングされたオーディオIフレームを生成することを許容する。この例では、(Pフレームを再オーサリングするために)以前のIフレームからのメタデータを修正(再エンコード)する必要性は、若干高いビットレートを代償としてチャネル間依存性を利用しないことによって、エンコーダ内で回避される。
実施形態の第1のクラス(本明細書では時に、「方法1」を実装する実施形態として言及される)では、本発明の方法は:(a)コンテンツを示すオーディオIフレームおよびオーディオPフレームを(たとえば、図4のプロダクション・ユニット3の実施形態のサブシステム3Bにおいて)生成するステップと、(b)AVビットストリームを(たとえば、図4のプロダクション・ユニット3の実施形態のサブシステム3Cにおいて)生成するステップであって、オーディオPフレームのうちの少なくとも1つを再オーサリングされたオーディオIフレームとして再オーサリングすることによることを含む、ステップとを含む。それにより、AVビットストリームは、再オーサリングされたオーディオIフレームを含むコンテンツのセグメントを含み、コンテンツの該セグメントは、再オーサリングされたオーディオIフレームで始まる。典型的には、コンテンツのセグメントは、再オーサリングされたオーディオIフレームに続く前記オーディオPフレームの少なくとも1つをも含む。ステップ(a)および(b)は、ステップ(a)を実行するためにオーディオ・エンコーダを動作させることによることを含め、オーディオ・エンコーダ(たとえば、オーディオ・エンコーダを含む、または、オーディオ・エンコーダを実装するプロダクション・ユニット)において実行されてもよい。
方法1を実装するいくつかの実施形態では、ステップ(a)は、オーディオIフレームおよびオーディオPフレームを生成するオーディオ・エンコーダにおいて(たとえば、図4のプロダクション・ユニット3の、AC-4エンコーダとして実装されるサブシステム3Bにおいて)実行され、ステップ(b)は、オーディオPフレームのうちの少なくとも1つ(オーディオIフレームが必要とされる時間に対応するもの)を再オーサリングされたオーディオIフレームとして再オーサリングすることを含み、ステップ(b)は、オーディオPフレームのうちの前記1つの代わりに、再オーサリングされたオーディオIフレームをAVビットストリームに含めるステップをも含む。
方法1を実装するいくつかの実施形態は、第1のシステム(たとえば、プロダクション・ユニットまたはエンコーダ、たとえば図4のプロダクション・ユニット3または図7のシステムの実施形態)において、ステップ(a)で生成されたオーディオIフレームおよびオーディオPフレームを含む入力AVビットストリームを生成し;入力AVビットストリームを第2のシステム(たとえば、図1のNBMPエンティティ12の実施形態)に送達し(たとえば、送信し);第2のシステムにおいてステップ(b)を実行することを含む。典型的には、入力AVビットストリームを生成するステップは、エンコードされたオーディオ・コンテンツ(ステップ(a)で生成されたオーディオIフレームおよびオーディオPフレームによって示される)およびビデオ・コンテンツを一緒にパッケージングして、入力AVビットストリームを生成することを含み、ステップ(b)で生成されたAVビットストリームは、前記ビデオ・コンテンツと一緒にパッケージされた前記エンコードされたオーディオ・コンテンツを含む。方法1を実装するいくつかの実施形態では、AVビットストリームの少なくとも1つのオーディオ・フレームは、再オーサリングされたオーディオIフレームであり(しかし、AVビットストリームのどのビデオ・フレームも再オーサリングされたフレームではない)、AVビットストリームのオーディオ・コンテンツのセグメントは、再オーサリングされたオーディオIフレーム(AVビットストリームのビデオ・コンテンツの対応するセグメントのビデオIフレームと整列される)で始まり、少なくとも1つの後続のオーディオPフレームを含む。
実施形態の第2のクラス(本明細書では時に、「方法2」を実装する実施形態として言及される)では、本発明の方法は:(a)コンテンツを示すオーディオIフレームを(たとえば、図4のプロダクション・ユニット3の実施形態のサブシステム3Bにおいて)(たとえば従来の仕方で)生成するステップと;(b)オーディオIフレームのうちの少なくとも1つを再オーサリングされたオーディオPフレームとして再オーサリングすることによることを含め、AVビットストリームを(たとえば、図4のプロダクション・ユニット3の実施形態のサブシステム3Cにおいて)生成するステップであって、前記AVビットストリームは、再オーサリングされたオーディオPフレームを含むコンテンツのセグメントを含み、コンテンツのセグメントは、ステップ(a)で生成されたオーディオIフレームのうちの1つから始まる、ステップとを含む。ステップ(a)および(b)は、ステップ(a)を実行するためにオーディオ・エンコーダを動作させることを含め、オーディオ・エンコーダ(たとえば、オーディオ・エンコーダを含む、または、オーディオ・エンコーダを実装するプロダクション・ユニット)において実行されてもよい。
方法2を実装するいくつかの実施形態では、ステップ(a)は、オーディオIフレームを生成するオーディオ・エンコーダにおいて(たとえば、図4のプロダクション・ユニット3の、AC-4エンコーダとして実装されるサブシステム3Bにおいて)で実行され、ステップ(b)は、セグメント境界以外の時刻に対応する(よって、セグメント境界に生じるのではない)オーディオIフレームのそれぞれを再オーサリングし、それにより、少なくとも1つの再オーサリングされたオーディオPフレームを決定することを含み、AVビットストリームを生成するステップは、少なくとも1つの再オーサリングされたオーディオPフレームをAVビットストリームに含めるステップを含む。
方法2を実装するいくつかの実施形態は、第1のシステム(たとえば、プロダクション・ユニットまたはエンコーダ、たとえば図4のプロダクション・ユニットまたは図7のシステムの実施形態)において、ステップ(a)で生成されたオーディオIフレームを含む入力AVビットストリームを生成するステップと;該入力AVビットストリームを第2のシステム(たとえば、図1のNBMPエンティティ12の実施形態)に送達する(たとえば、送信する)ステップと;第2のシステムにおいてステップ(b)を実行するステップとを含む。典型的には、入力AVビットストリームを生成するステップは、エンコードされたオーディオ・コンテンツ(ステップ(a)で生成されたオーディオIフレームによって示される)とビデオ・コンテンツとを一緒にパッケージ化して入力AVビットストリームを生成することを含み、ステップ(b)で生成されたAVビットストリームは、前記ビデオ・コンテンツと一緒にパッケージ化された前記エンコードされたオーディオ・コンテンツを含む。いくつかの実施形態において、AVビットストリームの少なくとも1つのオーディオ・フレームは、再オーサリングされたオーディオPフレームを含むオーディオ・コンテンツのセグメントが、オーディオIフレーム(ビデオ・コンテンツの対応するセグメントのビデオIフレームと整列されている)で始まり、該オーディオIフレームの後に少なくとも1つの再オーサリングされたオーディオPフレームを含むように(再オーサリングされたオーディオPフレームとして)再オーサリングされている(だが、どのビデオ・フレームも再オーサリングされていない)。
実施形態の第3のクラス(本明細書では時に、「方法3」を実装する実施形態として言及される)では、本発明のAVビットストリーム生成方法は、データ「チャンク」を選択する(または他の仕方で使用する)ことによることを含め、PフレームをAVビットストリームに含めることを許容するハイブリッド・フレームの生成(または提供)を含む。本明細書で使用されるところでは、データ「チャンク」は、ハイブリッド・フレームのうちの1つのフレームのデータ、またはハイブリッド・フレームを示すフレームの少なくとも1つのシーケンス(たとえば、2つのサブストリーム)のデータ、または前記少なくとも1つのシーケンスのあらかじめ定義された部分であってもよく、またはかかるデータを含んでいてもよい(たとえば、AC-4エンコードされたオーディオ・データを含むフレームの場合、サブストリーム全体がデータチャンク全体をなしていてもよい)。一例では、方法3は、AVビットストリームの隣り合うフレームがマッチすることを保証するようにハイブリッド・フレームを生成することを含む。典型的な実施形態では、エンコーダは、処理の多くが一度だけ必要とされるので、二重処理なしにハイブリッド・フレーム(たとえば、ハイブリッド・フレームを示すストリーム)を生成する。いくつかの実施形態では、ハイブリッド・フレームは、PフレームおよびIフレームについての共通のデータの1つのインスタンスを含む。いくつかの実施形態において、パッケージャは、ハイブリッド・フレーム(または、該ハイブリッド・フレームを含む諸ハイブリッド・フレームを示すフレームのシーケンス)のデータの少なくとも1つのチャンクから、IフレームまたはPフレームを合成してもよい。ここで、たとえば、該チャンクはIフレームまたはPフレーム全体を含まない。
たとえば、図6は、10個のハイブリッド・フレームの集合の図であり、図6Aは、10個のそのようなハイブリッド・フレームの別の集合の図である。方法3の典型的な実施形態では、ハイブリッド・フレーム(たとえば、図6のもの、または図6Aのもの)は、エンコーダ(たとえば、図7のオーディオ・エンコーダ20)の実装によって生成され、パッケージャ(たとえば、図7のパッケージャ22の実装)が、少なくとも1つのハイブリッド・フレームの少なくとも1つのPフレームを選択することによることを含め、AVビットストリームを生成する。
図6および図6Aを参照すると、いくつかの実施形態において、各ハイブリッド・フレームは、下記を含んでいてもよい:
Iフレームの2つのコピー。たとえば、図6のハイブリッド・フレームH1、H5、およびH9のそれぞれは、Iフレームの2つのコピー(両方とも「I」とラベル付けされている)を含む;または
1つのIフレーム。たとえば、図6Aのハイブリッド・フレームH'1、H'5、およびH'9のそれぞれは、1つのIフレーム(「I」とラベル付けされている)からなる;
1つのIフレーム(エンコードされたオーディオ・データとメタデータを含む)と1つのPフレーム(同じエンコードされたオーディオ・データと異なるメタデータを含む)。たとえば、図6の、フレームH1、H5、またはH9以外の各ハイブリッド・フレーム、および図6Aの、フレームH'1、H'5、およびH'9以外の各ハイブリッド・フレームは、そのようなIフレーム(「I」とラベル付けされている)およびそのようなPフレーム(「P」とラベル付けされている)を含む。
(たとえば、図6の例、または図6Aの例に示されたタイプの)ハイブリッド・フレームがあれば、パッケージャ(または他のシステムのサブシステムであってもよい他のAVビットストリーム生成システム)は、(生成されているAVビットストリーム中の)ある時点においてIフレームが含められるべきであると判断するとき、関連する時刻に対応する1つのハイブリッド・フレーム(これはエンコーダによって以前に生成されたものであり、選択のために利用可能である)からIフレームを選択することができる。システムは、(生成されているAVビットストリーム中の)ある時点においてPフレームが含まれるべきであると判断するとき、システムは:関連する時刻に対応する一つのハイブリッド・フレームから(もし該ハイブリッド・フレームがPフレームを含んでいるなら)Pフレームを選択すること;あるいは、そのようなハイブリッド・フレームのIフレームを、再オーサリングされたPフレームとして再オーサリングすることのいずれかをしてもよい。いくつかの実施形態では、再オーサリングは、他のハイブリッド・フレームからメタデータをコピーすること、または先行フレームから得られたメタデータを修正することを含んでいてもよい。
方法3に従ってAC-4エンコードされたオーディオ(たとえば、AC-4エンコードされたオーディオ・サブストリームのハイブリッド・フレーム)を含むハイブリッド・フレームを生成するエンコーダ(または他のシステムまたは装置)のいくつかの実装では、エンコーダ(または他のシステムまたは装置)は、各ハイブリッド・フレーム(または少なくともいくつかのハイブリッド・フレーム)に以下のタイプのメタデータを含めてもよい:
ASF(audio spectral frontend[オーディオ・スペクトル・フロントエンド])メタデータ。一定のビットレートが要求されない場合、sf_infoおよびsf_dataセクション全体はハイブリッド・フレームのIフレームおよびPフレームの両方において同じである。一定のビットレートが要求される場合、Iフレームのsf_dataセクションは、Iフレーム・サイズのオーバヘッドを補償し、Iフレーム全体が対応するPフレームと同じサイズをもつよう、より小さくてもよい。どちらの場合も、sf_infoセクションは、ウィンドウ形状が完全にマッチすることを確実にするために同一である;
ASPX(spectral extension[スペクトル拡張])メタデータ。ハイブリッド・フレームのIフレームは、ハイブリッド・フレームのPフレームのaspx_configにマッチするaspx_configを含む。Iフレームのaspx_dataは、イントラフレーム符号化のみを使用し、一方、Pフレームのaspx_dataは、イントラフレーム符号化またはインターフレーム符号化のいずれかを使用することができる。エンコーダは、最もビットレート効率のよいものを選択するために、典型的には両方の方法を実行するので、これは、典型的には、エンコーダに対して追加的なオーバヘッドを課さない;
ACPL(coupling[結合])メタデータ。ハイブリッド・フレームのIフレームは、ハイブリッド・フレームのPフレームのacpl_configにマッチするacpl_configを含む。acpl_framing_dataは、PフレームおよびIフレームにおいて同一である。Iフレームのacpl_ec_dataのインスタンスはすべてdiff_type=DIFF_FREQ(イントラフレーム符号化のみ)に制約される。
いくつかの実施形態では、方法3に従ってAC-4エンコードされたオーディオを含むハイブリッド・フレーム(たとえば、AC-4エンコードされたオーディオ・サブストリームのハイブリッド・フレーム)を生成するエンコーダ(または他のシステムもしくは装置)は、単一のプロセスにおいて両方のフレーム型(たとえば、Iフレームのストリームおよび対応するPフレームのストリーム)を生成することができる。ASPXまたはACPLのようなパラメトリック符号化ツールについては、インターフレーム符号化とイントラフレーム符号化の両方が同じデータセットから生成される。いくつかの構成要素(たとえば、従来の構成要素)は、2つのデータセット(Iフレームのセットと対応するPフレームのセット)を生成し、後で、どちらがより少ないビットを使うかを決定するように構成される。イントラフレーム符号化されたオーディオは常に、Iフレームを含むハイブリッド・フレームに含まれる。
方法3に従ってハイブリッド・フレームを生成するエンコーダ(または他のシステムもしくは装置)においては、他の解析ツール(たとえば、ASPXにおけるフレーム生成器、またはASFにおけるブロック切り換え決定器)は、1回だけ実行することができる。完璧なマッチために、結果および決定は、Iフレームと対応するPフレームの両方において使用される。
ビットレートとバッファ制御は、1回だけ(インターフレーム符号化を許容するPフレームのストリームを生成するときに)実行してもよい。結果は、やはり生成される、すべてIフレームのストリームについても使用されうる。オーディオ品質低下を防止するために、Iフレームのオーバヘッドは、PフレームのASF符号化のためのターゲットビットを決定する際に考慮されてもよい。
方法3を実装するために生成されたハイブリッド・フレームのシーケンス(たとえば、Iフレームのシーケンスおよび対応するPフレームのシーケンスによって決定される)は、AC-4メタデータTOC(table of contents[目次])フォーマット、またはIフレームと対応するPフレームを単一のストリームにおいて組み合わせる何らかの他のラッパー(wrapper)を有することができる。
本発明の別の実施形態では、ハイブリッド・フレームのシーケンス中の各フレームは、ヘッダを含み、該ヘッダは、根底にあるメディア・フォーマットから独立していてもよく、そのようなハイブリッド・フレームにおいて提供されるデータからどのようにしてIフレームまたはPフレームを生成するかの記述を含む。該記述は、データの諸範囲をコピーすることにより、またはハイブリッド・フレームからデータの諸範囲を削除することにより、Iフレームを合成するための一つまたは複数のコマンドを含んでいてもよい。該記述はまた、データの諸範囲をコピーすることによって、またはハイブリッド・フレームからデータの諸範囲を削除することによって、Pフレームを合成するための一つまたは複数のコマンドをも含んでいてもよい。すると、パッケージャは、そのようなハイブリッド・フレームのヘッダ内の命令に従うことによって、根底にあるメディア・フォーマットの知識なしに、IフレームまたはPフレームを合成することができる。たとえば、ISOBMFFのHint-Trackを使用することができる。
あるフレーム選択実装では、エンコーダは、Pフレームのストリームおよび対応するIフレームのストリームを同時に生成する(よって、両方のストリームが一緒にハイブリッド・フレームのシーケンスを決定する)。バッファ・モデル要件を満たす必要がある場合、対応するフレームの各ペアのフレーム(各Iフレームとそれに対応するPフレーム)は、等しいフレーム・サイズをもつ。マルチプレクサは、Iフレームが要求されるときはいつでも、(エンコーダから出力される)すべてIフレームのストリームからフレームを選ぶ。多重化のためにIフレームが要求されない場合は、マルチプレクサは(たとえば、エンコーダからの全Pストリームから)Pフレームを選んでもよい。フレーム置き換えの実装の恩恵は、マルチプレクサが最も低い複雑性をもつことである。欠点は、エンコーダからマルチプレクサへのリンク上の2倍の帯域幅である。
別のフレーム選択(チャンク置換)実装では、マルチプレクサにとって利用可能なハイブリッド・フレームは、Iフレーム、対応するPフレーム(データの「Iフレーム置換」チャンク)、およびIフレーム置換(対応するIフレーム(単数または複数)の代わりに一つまたは複数のPフレームの選択)のための命令を含む。この方法は、バイト整列されていないデータのIフレーム置換チャンクの選択を要求し、置換プロセスにおいて、既存のPフレーム・データの大きな諸部分のビットシフトを要求することがある。
いくつかの実施形態では、(方法3を実装する)AVビットストリームを生成する方法は、以下のステップを含む:
(a)フレームを生成するステップであって、それらのフレームのうちの少なくとも1つがPフレームおよびIフレームを含むハイブリッド・フレームであり、Iフレームはコンテンツのエンコードされたバージョンを示し、Pフレームはコンテンツの異なる仕方でエンコードされたバージョンを示し、それらのフレームのそれぞれがオーディオ・コンテンツまたはビデオ・コンテンツを示す、ステップと;
(b)少なくとも1つの前記ハイブリッド・フレームのPフレームを選択し、選択された各PフレームをAVビットストリームに含めることによることを含め、AVビットストリームが、Iフレームで始まり、該Iフレームに続く少なくとも前記選択されたPフレームを含むセグメントを含むように、AVビットストリームを生成するステップ。
ステップ(a)は、コンテンツのエンコードされたバージョンを示すIフレームの第1のシーケンス(たとえば、すべてIフレームのストリーム)と、コンテンツの異なる仕方でエンコードされたバージョンを示すPフレームの第2のシーケンス(たとえば、すべてのPフレームのストリーム)とを(たとえば、図7のエンコーダ20の実装において)生成することを含んでいてもよく、少なくとも1つの前記ハイブリッド・フレームは、第1のシーケンスのIフレームのうちの1つと、第2のシーケンスのPフレームのうちの1つとを含む。
いくつかの実施形態では、(方法3を実装する)AVビットストリームを生成する方法は、以下のステップを含む:
(a)フレームを提供するステップであって、それらのフレームの少なくとも1つは、PフレームおよびIフレームを決定するために有用なデータの少なくとも1つのチャンクを含むハイブリッド・フレームであり、Iフレームは、コンテンツのエンコードされたバージョンを示し、Pフレームは、コンテンツの異なる仕方でエンコードされたバージョンを示し、それらのフレームのそれぞれは、オーディオ・コンテンツまたはビデオ・コンテンツを示す、ステップと;
(b)少なくとも1つの前記ハイブリッド・フレームのデータの少なくとも1つの前記チャンク(データの前記少なくとも1つのチャンクは、IフレームまたはPフレーム全体を含んでいてもいなくてもよい)を用いて少なくとも1つのIフレームまたはPフレームを合成することによることを含め、AVビットストリームを生成し、それにより、少なくとも1つの合成されたフレームを生成し、それぞれの前記合成されたフレームをAVビットストリームに含めるステップであって、AVビットストリームは、Iフレームで始まり、該Iフレームに続く少なくとも1つの合成されたPフレームを含むセグメントを含むか、または合成されたIフレームで始まり、該合成されたIフレームに続く少なくとも1つのPフレームを含むセグメントを含む、ステップ。ステップ(b)の例は、少なくとも1つのPフレーム(またはIフレーム)を、1つのハイブリッド・フレームのデータの少なくとも1つのチャンクから、または少なくとも2つのハイブリッド・フレームを示すフレームのシーケンスのデータの少なくとも1つのチャンクから合成することを含む。いくつかの実施形態では、少なくとも1つの前記ハイブリッド・フレームは、(PフレームおよびIフレームについての)共通データのチャンクの少なくとも1つのインスタンスを含む。
AVビットストリームを生成する本発明の方法のいくつかの実施形態(たとえば、入力AVビットストリームの少なくとも1つのフレームの再オーサリングによることを含む)は、AVビットストリームが少なくとも1つの現在根底にあるネットワーク制約条件または他の制約条件を満たすように実装される(たとえば、AVビットストリームの生成は、入力ビットストリームの少なくとも1つのフレームの再オーサリングを含み、AVビットストリームが入力ビットストリームに対する少なくとも1つの現在根底にあるネットワーク制約条件を満たすように実行される)。たとえば、AVビットストリームがNBMPエンティティ(たとえば、MPEG NBMPエンティティとして実装される、図1のNBMPエンティティ12、たとえば、CDNサーバーであるまたはCDNサーバーに含まれるもの)によって生成される場合、NBMPエンティティは、ネットワークおよび/または他の制約条件に依存する仕方で、IフレームをAVビットストリームに挿入するか、またはIフレームをAVビットストリームから除去するように実装されてもよい。たとえば、ネットワーク制約条件(および/または他の制約条件)は、他のNBMPエンティティ(たとえば、図1のNBMPエンティティ14)からNBMPエンティティ(たとえば、図1のNBMPエンティティ12)に(たとえば、図1のネットワークを通じて)送達される制御ビットによって示されてもよい。そのような制約条件の例は、利用可能なビットレート、プログラムへの必要とされるチューンイン時間(tune-in time)、および/または根底にあるMPEG-DASHまたはMMT AVビットストリームのセグメント継続時間を含むが、これらに限定されない。
このタイプのある例示的実施形態では、入力AVビットストリーム(たとえば、図1の源10によって生成された入力トランスポート・ストリーム)は、ビットレートR(たとえば、R=96kbit/秒)を有し、適応点(たとえば、スプライス点)を含む。たとえば、適応スプライス点は、入力AVビットストリームのビデオIフレームおよび対応するオーディオIフレームの、2秒に1回または他のレートでの生起によって決定される。本発明の方法の実施形態は、入力AVビットストリームに応答してAVビットストリームを生成するために(たとえば、図1のNBMPエンティティ12の動作によって)実行される。生成されたAVビットストリームの送達のための利用可能なビットレートがビットレートRである場合(たとえば、図1のNBMPエンティティ14からNBMPエンティティ12に送達されるビットによって示されるように)、AVビットストリームの生成が、生成されたAVビットストリームに新しい適応点を挿入するために入力AVビットストリームのPフレーム(単数または複数)を再オーサリングし(たとえば、入力ストリームのPフレームを、該Pフレームよりも多くのメタデータ・ビットを有するIフレームとして再オーサリングすることによって)、該Iフレームを当該Pフレームの代わりに、生成されるストリームに含めることを含む場合、新しい適応点のそのような挿入は、補償措置が取られない限り、生成されるAVビットストリームの送達のために要求されるビットレートを望ましくないほど増加させる可能性がある。よって、この例示的実施形態では、AVビットストリームの生成(たとえば、図1のNBMPエンティティ12の動作による)は、入力AVビットストリームの少なくとも1つのIフレームを(該Iフレームよりも少ないメタデータ・ビットを有する)Pフレームとして再オーサリングし、各Iフレームの代わりに、それぞれの再オーサリングされたPフレームを、生成されるAVビットストリーム内に含め、こうして、生成されるAVビットストリームを送達するために要求されるビットレートを、利用可能なビットレートRを超えないように低減するステップをも含む。
別の例示的な実施形態では、入力AVビットストリーム(たとえば、図1の源10によって生成された入力AVビットストリーム)は、オーディオ/ビデオ・プログラムを示し、第1レートで生起する適応点を含む(たとえば、適応点は、入力AVビットストリームのビデオIフレームおよび対応するオーディオIフレームの100ミリ秒毎に発生によって決定される)。適応点は、プログラムの再生が開始できる利用可能な時刻であるので、それらは、消費者が、プログラムの再生を開始するために(たとえば、図1の再生装置16を操作することによって)選択しうる「チューンイン」(tune-in)時間(巻き戻し/早送り点)に対応する。AVビットストリームの生成が、第1のレートより大きな所定のレート(たとえば50ミリ秒に1回)で生起する(すなわち、生成されるAVビットストリームが入力AVビットストリームよりも多くの適応点を有する)または第1のレートより小さな所定のレート(たとえば、200ミリ秒毎に1回)で生起する(すなわち、生成されるAVビットストリームが入力AVビットストリームよりも少ない適応点を有する)適応点(チューンイン時間)を含むという制約条件(たとえば、図1のNBMP 14または再生装置16から図1のNBMPエンティティ12に送達されるビットによって示される)を受ける場合、本発明の方法の実施形態は、そのような制約条件を受ける入力AVビットストリームに応答してAVビットストリームを生成するために(たとえば、図1のNBMPエンティティ12の動作によって)実行される。たとえば、入力AVビットストリームにおいて適応点が100ミリ秒毎に1回発生する場合(すなわち、入力AVビットストリームのビデオIフレームおよび対応するオーディオIフレームが100ミリ秒毎に1回発生する場合)、生成されるAVビットストリームにおいて適応点が発生するレートを増すために、入力AVビットストリームのビデオPフレームおよびオーディオPフレームが、ビデオIフレームおよびオーディオIフレームとして再オーサリングされ、再オーサリングされたIフレームが、Pフレームの代わりに、生成されるAVビットストリームに含められ、その結果、生成されたAVビットストリームでは適応点は100ミリ秒毎に1回よりも多く発生する(すなわち、再オーサリングされたビデオIフレームおよび対応する再オーサリングされたオーディオIフレームに対応する時刻において少なくとも1つのそのような適応点が発生する)。
図3のユニット3および7、図4のユニット3、ならびに図1のNBMPエンティティ12および再生装置16のそれぞれは、本発明の方法の実施形態を実行するように構成されたハードウェア・システムとして、またはソフトウェアもしくはファームウェアを用いてそのようにプログラムされた(または他の仕方で構成された)プロセッサとして実装されてもよい。
典型的には、図3のユニット3は、少なくとも1つのバッファ3Aを含み、図3のユニット3'は、少なくとも1つのバッファ3A'を含み、図3のスプライサー7は、少なくとも1つのバッファ(7Aおよび/または7D)を含み、図1のNBMPエンティティ12および再生装置16のそれぞれは、少なくとも1つのバッファを含む。典型的には、そのようなバッファ(たとえば、バッファ3A、3A'、7A、7D、およびエンティティ12および装置16のバッファ)のそれぞれはバッファ・メモリであり、該バッファ・メモリを含む装置によって生成(または提供)されたAVビットストリームのパケットのシーケンスを受領するように結合され、動作においては、該バッファ・メモリは(たとえば、非一時的な仕方で)AVビットストリームの少なくとも1つのセグメントを記憶する。ユニット3(または3')の典型的な動作において、AVビットストリームのセグメントのシーケンスは、バッファ3Aから送達サブシステム5に(またはバッファ3A'から送達サブシステム5'に)に呈される。スプライサー7の典型的な動作において、スプライスされるべきAVビットストリームのセグメントのシーケンスは、バッファ7Aからスプライサー7のパース・サブシステム7Bに、およびバッファ7Dからスプライサー7のパース・サブシステム7Eに呈される。
図3(図4)のユニット3、および/または図3のスプライサー7、および/または図1のNBMPエンティティ12および/または装置16(またはその任意の構成要素もしくは要素)は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの組み合わせにおいて、一つまたは複数のプロセスおよび/または一つまたは複数の回路(たとえば、ASIC、FPGA、または他の集積回路)として実装されてもよい。
本発明のいくつかの実施形態は、AVビットストリームの生成または適応(たとえば、スプライシングまたはスイッチング)のための本発明の方法の任意の実施形態を実行するように構成された処理ユニット(AVPU)に関する。たとえば、AVPUは、NBMPエンティティ(たとえば、図1のNBMPエンティティ12)またはプロダクション・ユニットもしくはオーディオ・エンコーダ(たとえば、図3または図4のユニット3)でありうる。別の例として、AVPU(たとえば、NBMPエンティティ)は、本発明のAVビットストリーム適応方法の任意の実施形態を実行するように構成された適応器(たとえば、スプライサー)であってもよい(たとえば、図3のスプライサー7の適切に構成された実施形態)。本発明の実施形態の別のクラスでは、AVPU(たとえば、図3のユニット3またはスプライサー7)は、本発明の方法のいずれかの実施形態によって生成されたAVビットストリームの少なくとも1つのセグメントを(たとえば、非一時的に)記憶する少なくとも1つのバッファ・メモリ(たとえば、図3のユニット3のバッファ3A、または図3のスプライサー7のバッファ7Aまたは7D、または図1の源10もしくはNBMPエンティティ12もしくは装置16のバッファ・メモリ)を含む。AVPUの例は、エンコーダ(たとえば、トランスコーダ)、NBMPエンティティ(たとえば、AVビットストリームを生成するおよび/またはAVビットストリームに対して適応を実行するように構成されたNBMPエンティティ)、デコーダ(たとえば、AVビットストリームのコンテンツをデコードするように構成された、および/またはAVビットストリームに対して適応(たとえば、スプライシング)を実行して適応された(たとえばスプライスされた)AVビットストリームを生成し、適応されたAVビットストリームのコンテンツをデコードするように構成されたデコーダ)、コーデック、AVビットストリーム適応器(たとえば、スプライサー)、前処理システム(プリプロセッサ)、後処理システム(ポストプロセッサ)、AVビットストリーム処理システム、およびそのような要素の組み合わせを含むが、これらに限定されない。
本発明のある実施形態は、本発明の方法のいずれかの実施形態を実行するように構成された(たとえば、プログラムされた)システムまたは装置、および本発明の方法のいずれかの実施形態またはそのステップを実装するためのコードを(たとえば、非一時的に)を記憶するコンピュータ読み取り可能媒体(たとえば、ディスク)に関する。たとえば、本発明のシステムは、本発明の方法の実施形態またはそのステップを含む、データに対する多様な操作のいずれかを実行するようソフトウェアまたはファームウェアでプログラミングされた、および/または他の仕方で構成された、プログラマブル汎用プロセッサ、デジタル信号プロセッサ、またはマイクロプロセッサであってもよく、またはそれを含むことができる。そのような汎用プロセッサは、入力装置、メモリ、および、それに対して呈されるデータに応答して本発明の方法の実施形態(またはそのステップ)を実行するようにプログラムされた(および/または他の仕方で構成された)処理回路を含むコンピュータ・システムであってもよく、または、それを含んでいてもよい。
いくつかの実施形態では、本発明の装置は、本発明の方法の実施形態を実行するように構成されたオーディオ・エンコーダ(たとえば、AC-4エンコーダ)である。いくつかの実施形態では、本発明の装置は、本発明の方法の実施形態を実行する(たとえば、任意的にはネットワークおよび/または他の制約条件に依存する仕方で、Iフレームをトランスポート・ストリームに挿入する、またはトランスポート・ストリームからIフレームを除去する)ようにプログラムされたまたは他の仕方で構成されたNBMPエンティティ(たとえば、CDNサーバーであってもよく、またはCDNサーバーに含まれていてもよいMPEG NBMPエンティティ)である。
本発明の実施形態は、ハードウェア、ファームウェア、またはソフトウェア、またはそれらの組み合わせ(たとえば、プログラマブル論理アレイとして)において実装されうる。たとえば、図3のユニット3および/またはスプライサー7、または図1のビットストリーム源10および/またはNBMPエンティティ12は、適切にプログラムされた(または他の仕方で構成された)ハードウェアまたはファームウェアにおいて、たとえばプログラムされた汎用プロセッサ、デジタル信号プロセッサ、またはマイクロプロセッサとして実装されてもよい。特に指定しない限り、本発明の実施形態の一部として含まれるアルゴリズムまたはプロセスは、いかなる特定のコンピュータまたは他の装置にも本来的に関連しない。特に、さまざまな汎用マシンが、本明細書の教示に従って書かれたプログラムとともに使用されてもよく、または、要求される方法ステップを実行するために、より特化した装置(たとえば、集積回路)を構築することがより便利であることがある。このように、本発明の実施形態は、少なくとも1つのプロセッサと、少なくとも1つのデータ記憶システム(揮発性および不揮発性メモリおよび/または記憶要素を含む)と、少なくとも1つの入力装置またはポートと、少なくとも1つの出力装置またはポートとをそれぞれ含む、一つまたは複数のプログラマブル・コンピュータ・システム(たとえば、図3のユニット3および/またはスプライサー7、または図1の源10および/またはNBMPエンティティ12の要素の全部または一部の実装)上で実行される一つまたは複数のコンピュータ・プログラムにおいて実装されてもよい。本明細書に記載の機能を実行し、出力情報を生成するためにプログラムコードが入力データに適用される。出力情報は、公知の仕方で、一つまたは複数の出力装置に加えられる。
そのような各プログラムは、コンピュータ・システムと通信するために、任意の所望のコンピュータ言語(機械、アセンブリ、または高レベルの手続き的、論理的、またはオブジェクト指向のプログラミング言語を含む)で実装されうる。いずれの場合においても、言語は、コンパイルされる言語またはインタープリットされる言語でありうる。
たとえば、コンピュータソフトウェア命令シーケンスによって実装される場合、本発明の実施形態のさまざまな機能およびステップは、好適なデジタル信号処理ハードウェアで実行されるマルチスレッドのソフトウェア命令シーケンスによって実装されてもよく、その場合、実施形態のさまざまな装置、ステップおよび機能は、ソフトウェア命令の一部に対応しうる。
そのようなコンピュータ・プログラムのそれぞれは、汎用または特殊目的のプログラム可能なコンピュータによって読み出し可能な記憶媒体またはデバイス(たとえば、固体メモリまたは媒体、または磁気または光学媒体)に記憶される、またはダウンロードされ、該記憶媒体またはデバイスがコンピュータ・システムによって読まれるときに、本明細書に記載される手順を実行するようコンピュータを構成し、動作させる。本発明のシステムは、コンピュータ・プログラムをもって構成された(すなわち、コンピュータ・プログラムを記憶している)コンピュータ読み取り可能な記憶媒体として実装されてもよく、そのように構成された記憶媒体は、コンピュータ・システムに、本明細書に記載の機能を実行するよう、特定のあらかじめ定義された仕方で動作させる。
本発明の例示的な実施形態は、以下を含む。
E1. 以下のステップを含む、AVビットストリームを生成する方法:
第1のデコード型のフレームを含むコンテンツを示すフレームを提供するステップであって、各フレームがオーディオ・コンテンツまたはビデオ・コンテンツを示す、ステップと;
第1のデコード型のフレームの少なくとも1つを、第1のデコード型とは異なる第2のデコード型の再オーサリングされたフレームとして再オーサリングすることによることを含め、AVビットストリームを生成するステップであって、前記AVビットストリームは、再オーサリングされたフレームを含むコンテンツのセグメントを含み、コンテンツの該セグメントは、Iフレームで始まり、該Iフレームに続く少なくとも1つのPフレームを含む、ステップ、
ここで、第1のデコード型のフレームの前記1つがPフレームである場合には再オーサリングされたフレームは再オーサリングされたIフレームであり、第1のデコード型のフレームの前記1つがIフレームである場合には再オーサリングされたフレームは再オーサリングされたPフレームである。
E2. フレームを提供する前記ステップが、以下のステップを含む、E1に記載の方法:
第1のシステムにおいて、前記フレームを含む入力AVビットストリームを生成し;
入力AVビットストリームを第2のシステムに送達する、
ここで、AVビットストリームを生成する前記ステップは、前記第2のシステムにおいて実行される。
E3. 前記第2のシステムが、ネットワーク・ベースのメディア処理(NBMP)エンティティである、E2に記載の方法。
E4. 前記再オーサリングされたフレームがオーディオIフレームであり、前記第1のデコード型の前記フレームの前記1つがメタデータを含むオーディオPフレームであり、再オーサリングする前記ステップが、前記オーディオPフレームの前記メタデータの少なくとも一部を、前のオーディオIフレームからコピーされた異なるメタデータで置き換えるステップを含み、その結果、前記再オーサリングされたフレームが前記異なるメタデータを含む、E1~E3のいずれかの方法。
E5. 前記再オーサリングされたフレームがオーディオIフレームであり、前記第1のデコード型の前記フレームの前記1つがメタデータを含むオーディオPフレームであり、再オーサリングする前記ステップが以下のステップを含む、E1~E3のいずれかの方法:
前のオーディオIフレームからのメタデータを修正することによって、修正されたメタデータを生成し;
前記オーディオPフレームの前記メタデータの少なくとも一部を修正されたメタデータで置き換えて、再オーサリングされたフレームが該修正されたメタデータを含むようにする。
E6. 前記再オーサリングされたフレームがオーディオIフレームであり、前記第1のデコード型の前記フレームの前記1つがオーディオPフレームであり、再オーサリングする前記ステップが、少なくとも1つの前のPフレームを前記オーディオPフレームにコピーすることを含む、E1~E3のいずれかの方法。
E7. フレームを提供する前記ステップが、エンコードされたオーディオ・コンテンツを示すオーディオIフレームおよびオーディオPフレームを生成するステップを含み、再オーサリングする前記ステップが、前記オーディオPフレームの少なくとも1つを、再オーサリングされたオーディオIフレームとして再オーサリングするステップを含み、前記AVビットストリームの前記コンテンツの前記セグメントは、前記再オーサリングされたオーディオIフレームで始まる前記エンコードされたオーディオ・コンテンツのセグメントである、E1~E6のいずれかの方法。
E8. 前記オーディオIフレームおよび前記オーディオPフレームを生成する前記ステップおよび前記AVビットストリームを生成する前記ステップが、オーディオ・エンコーダにおいて実行される、E7に記載の方法。
E9. フレームを提供する前記ステップが以下のステップを含む、E7またはE8に記載の方法:
第1のシステムにおいて、前記オーディオIフレームと前記オーディオPフレームを含む入力AVビットストリームを生成し;
前記入力AVビットストリームを第2のシステムに送達する、
ここで、前記AVビットストリームを生成する前記ステップは、前記第2のシステムにおいて実行される。
E10. 前記第2のシステムが、ネットワーク・ベースのメディア処理(NBMP)エンティティである、E9に記載の方法。
E11. フレームを提供する前記ステップが、エンコードされたオーディオ・コンテンツを示すオーディオIフレームを生成するステップを含み、再オーサリングする前記ステップが、前記オーディオIフレームの少なくとも1つを、再オーサリングされたオーディオPフレームとして再オーサリングするステップを含み、前記AVビットストリームの前記コンテンツの前記セグメントが、前記オーディオIフレームのうちの1つで始まり、前記再オーサリングされたオーディオPフレームを含む前記エンコードされたオーディオ・コンテンツのセグメントである、E1~E10のいずれかの方法。
E12. 前記オーディオIフレームを生成する前記ステップおよび前記AVビットストリームを生成する前記ステップは、オーディオ・エンコーダにおいて実行される、E11に記載の方法。
E13. フレームを提供する前記ステップが、以下のステップを含む、E11またはE12に記載の方法:
第1のシステムにおいて、前記オーディオIフレームを含む入力AVビットストリームを生成し;
前記入力AVビットストリームを第2のシステムに送達する、
ここで、前記AVビットストリームを生成する前記ステップは、前記第2のシステムにおいて実行される。
E14. 前記第2のシステムがネットワーク・ベースのメディア処理(NBMP)エンティティである、E13に記載の方法。
E15. 前記AVビットストリームを生成する前記ステップが、前記AVビットストリームが少なくとも1つのネットワーク制約条件を満たすように実行される、E1~E14のいずれかの方法。
E16. 前記ネットワーク制約条件が、前記AVビットストリームの利用可能なビットレート、またはプログラムにチューンインする(tune in)ための最大時間、または前記AVビットストリームの最大の許容されるセグメント継続時間である、E15に記載の方法。
E17. 前記AVビットストリームを生成する前記ステップが、前記AVビットストリームが少なくとも1つの制約条件を満たすように実行される、E1~E16のいずれかに記載の方法。ここで、
前記制約条件は、前記AVビットストリームが、所定のレートで生起する適応点を含み、各適応点が、前記AVビットストリームのビデオIフレームおよび前記AVビットストリームの少なくとも1つの対応するオーディオIフレームの両方の生起時刻である。
E18. 前記AVビットストリームがMPEG-2トランスポート・ストリームであるか、またはISOベース・」メディア・フォーマットに基づく、E1~E17のいずれかの方法。
E19. オーディオ・コンテンツを示すフレームのそれぞれが、AC-4フォーマットを有するエンコードされたオーディオ・データを含む、E18記載の方法。
E20. AVビットストリームを適応させて(たとえば、スプライシングまたはスイッチングして)、それにより、適応された(たとえば、スプライシングされた)AVビットストリームを生成する方法。ここで、前記AVビットストリームは、E1の方法によって生成されたものである。
E21. 前記AVビットストリームが、コンテンツの前記セグメントの前記Iフレームが、前記AVビットストリームの対応するコンテンツのセグメントのIフレームと整列される適応点を有し、前記AVビットストリームが、前記適応点において適応される(たとえばスプライシングされる)、E20に記載の方法。
E22. AVビットストリームを生成するためのシステムであって、前記システムは以下を含む:
第1のデコード型のフレームを含む、コンテンツを示すフレームを受領するように結合された少なくとも1つの入力であって、各フレームがオーディオ・コンテンツまたはビデオ・コンテンツを示す、入力と;
第1のデコード型のフレームの少なくとも1つを、第1のデコード型とは異なる第2のデコード型の再オーサリングされたフレームとして再オーサリングすることによることを含め、前記AVビットストリームを生成するように結合され、構成されたサブシステムであって、前記AVビットストリームは、再オーサリングされたフレームを含むコンテンツのセグメントを含み、コンテンツの該セグメントはIフレームで始まり、該Iフレームに続く少なくとも1つのPフレームを含む、サブシステム、
ここで、第1のデコード型のフレームの前記1つがPフレームである場合、再オーサリングされたフレームは再オーサリングされたIフレームである、または第1のデコード型のフレームの前記1つがIフレームである場合、再オーサリングされたフレームは再オーサリングされたPフレームである。
E23. コンテンツを示す前記フレームが、当該システムに送達された入力AVビットストリームに含まれる、E22に記載のシステム。
E24. 当該システムが、ネットワーク・ベースのメディア処理(NBMP)エンティティである、E22またはE23に記載のシステム。
E25. 前記再オーサリングされたフレームはオーディオIフレームであり、前記第1のデコード型の前記フレームの前記1つはメタデータを含むオーディオPフレームであり、前記サブシステムは、前記オーディオPフレームの前記メタデータの少なくとも一部を、前のオーディオIフレームからコピーされた異なるメタデータで置き換えて、前記再オーサリングされたフレームが前記異なるメタデータを含むようにすることによることを含め、前記再オーサリングを実行するように構成される、E22~E24のいずれかのシステム。
E26. 前記再オーサリングされたフレームはオーディオIフレームであり、前記第1のデコード型の前記フレームの前記1つはメタデータを含むオーディオPフレームであり、前記サブシステムは、下記によることを含め前記再オーサリングを実行するように構成される、E22-E24のいずれかのシステム:
前のオーディオIフレームからのメタデータを修正することによって、修正されたメタデータを生成し;
前記オーディオPフレームの前記メタデータの少なくとも一部を、修正されたメタデータで置き換えて、前記再オーサリングされたフレームが該修正されたメタデータを含むようにする。
E27. 前記再オーサリングされたフレームはオーディオIフレームであり、前記第1のデコード型の前記フレームの前記1つはオーディオPフレームであり、前記サブシステムは、前記オーディオPフレームの中に少なくとも1つの前のPフレームをコピーすることによることを含め、前記再オーサリングを実行するように構成される、E22~E24のいずれかのシステム。
E28. 前記サブシステムが、前記AVビットストリームが少なくとも1つのネットワーク制約条件を満たすように、前記AVビットストリームを生成するように構成される、E22~E27のいずれかに記載のシステム。
E29. 前記ネットワーク制約条件は、前記AVビットストリームの利用可能なビットレート、またはプログラムにチューンインするための最大時間、または前記AVビットストリームの最大の許容されるセグメント継続時間である、E28に記載のシステム。
E30. 前記サブシステムが、前記AVビットストリームが少なくとも1つの制約条件を満たすように、前記AVビットストリームを生成するように構成される、E22~E27のいずれかに記載のシステム。ここで、
前記制約条件は、前記AVビットストリームが、所定のレートで生起する適応点を含み、各適応点が、前記AVビットストリームのビデオIフレームおよび前記AVビットストリームの少なくとも1つの対応するオーディオIフレームの両方の生起の時刻である、ことである。
E31. 以下のステップを含む、AVビットストリームを生成する方法:
(a)フレームを提供するステップであって、前記フレームの少なくとも1つがPフレームおよびIフレームを含むハイブリッド・フレームであり、前記Iフレームはコンテンツのエンコードされたバージョンを示し、前記Pフレームはコンテンツの異なる仕方でエンコードされたバージョンを示し、前記フレームのそれぞれがオーディオ・コンテンツまたはビデオ・コンテンツを示す、ステップと;
(b)少なくとも1つの前記ハイブリッド・フレームのPフレームを選択することによることを含め、AVビットストリームを生成するステップであって、前記AVビットストリームは、Iフレームで始まり、該Iフレームに続く少なくとも前記選択されたPフレームを含むセグメントを含む、ステップ。
E32. ステップ(a)が、コンテンツのエンコードされたバージョンを示すIフレームの第1のシーケンスと、コンテンツの異なる仕方でエンコードされたバージョンを示すPフレームの第2のシーケンスとの生成を含み、少なくとも1つの前記ハイブリッド・フレームが、第1のシーケンスのIフレームの1つと、第2のシーケンスのPフレームの1つとを含む、E31に記載の方法。
E33. AVビットストリーム適応(たとえば、スプライシングまたはスイッチング)のためのシステムであって:
AVビットストリームを受領するように結合された少なくとも1つの入力であって、前記AVビットストリームはE1~E21、E31またはE32の方法によって生成されたものである、入力と;
前記AVビットストリームを適応し(たとえば、スプライシングまたはスイッチングする)、それにより、適応されたAVビットストリームを生成するように結合され構成されたサブシステムとを含む、
システム。
E34.
バッファ・メモリと;
前記バッファ・メモリに結合された少なくとも1つのオーディオ/ビデオ処理サブシステムとを含むオーディオ/ビデオ処理ユニット。ここで、前記バッファ・メモリは、AVビットストリームの少なくとも1つのセグメントを非一時的に記憶し、前記AVビットストリームは、E1~E21、E31またはE32のいずれかの方法によって生成されたものである。
E35. 前記オーディオ/ビデオ処理サブシステムは、前記AVビットストリームを生成するように構成される、E34に記載のユニット。
E36. 処理装置またはシステムによって実行されるときに、前記処理装置またはシステムにE1~E21、E31またはE32のいずれかの方法を実行させる命令を有するコンピュータ・プログラム・プロダクト。
本発明のいくつかの実施形態が記載された。さまざまな修正が考えられうることが理解されるべきである。本発明の本実施形態の多数の修正および変形が、上記の教示に照らして可能である。添付の請求項の範囲内で、本発明のいずれの実施形態も、他の仕方で実施されうることが理解されるべきである。
いくつかの態様を記載しておく。
〔態様1〕
出力オーディオ/ビデオ・ビットストリームを生成する方法であって:
第1のデコード型のフレームを含む、オーディオおよびビデオ・コンテンツを示すフレームと、各フレームに関連付けられたメタデータとを含む入力オーディオ/ビデオ・ビットストリームを提供するステップであって、前記第1のデコード型の各フレームはPフレームまたはIフレームを含み、各フレームは、オーディオ・コンテンツまたはビデオ・コンテンツを示す、ステップと;
前記第1のデコード型のフレームの少なくとも1つに関連付けられたメタデータの一部を異なるメタデータに修正して、前記第1のデコード型とは異なる第2のデコード型の少なくとも1つの再オーサリングされたフレームを生成するステップと;
前記入力オーディオ/ビデオ・ビットストリームに応答して前記出力オーディオ/ビデオ・ビットストリームを生成するステップであって、前記出力オーディオ/ビデオ・ビットストリームは、前記再オーサリングされたフレームを含む前記オーディオおよびビデオ・コンテンツのセグメントを含み、前記オーディオおよびビデオ・コンテンツの該セグメントは、Iフレームで始まり、該Iフレームに続く少なくとも1つのPフレームを、前記ビデオ・コンテンツのIフレームを前記オーディオ・コンテンツのIフレームと整列させるために含む、ステップとを含む、
方法。
〔態様2〕
前記異なるメタデータは、前記第1のデコード型の前記少なくとも1つのフレームの前のフレームに関連付けられたメタデータを含む、態様1に記載の方法。
〔態様3〕
前記出力オーディオ/ビデオ・ビットストリームを生成することは、前記出力オーディオ/ビデオ・ビットストリームの前記オーディオおよびビデオ・コンテンツの前記セグメントを、Iフレームで始まる前記ビデオ・コンテンツのセグメントとして決定することを含む、態様1または2に記載の方法。
〔態様4〕
フレームを提供する前記ステップは:
第1のシステムにおいて、前記フレームを含む前記入力オーディオ/ビデオ・ビットストリームを生成するステップと;
前記入力オーディオ/ビデオ・ビットストリームを第2のシステムに送達するステップとを含み、
前記出力オーディオ/ビデオ・ビットストリームを生成する前記ステップは、前記第2のシステムにおいて実行される、
態様1ないし3のうちいずれか一項に記載の方法。
〔態様5〕
前記再オーサリングされたフレームはオーディオIフレームであり、前記第1のデコード型のフレームの前記少なくとも1つはオーディオPフレームである、態様1ないし4のうちいずれか一項に記載の方法。
〔態様6〕
前記メタデータの一部を修正する前記ステップは、前記オーディオPフレームの前記メタデータの少なくとも一部を、前のオーディオIフレームからコピーされた異なるメタデータで置き換えて、前記再オーサリングされたフレームが該異なるメタデータを含むようにすることを含む、態様5に記載の方法。
〔態様7〕
前記メタデータの一部を修正する前記ステップは:
前のオーディオIフレームからのメタデータを修正することによって、修正されたメタデータを生成するステップと;
前記オーディオPフレームの前記メタデータの少なくとも一部を、前記修正されたメタデータで置き換えて、前記再オーサリングされたフレームが該修正されたメタデータを含むようにするステップとを含む、
態様5に記載の方法。
〔態様8〕
前記メタデータの一部を修正する前記ステップは、少なくとも1つの前のPフレームを前記オーディオPフレームにコピーすることを含む、態様5に記載の方法。
〔態様9〕
前記出力/ビデオ・ビットストリームを生成することは、修正されていない、前記入力オーディオ/ビデオ・ビットストリームの前記コンテンツのセグメントの前記オーディオおよびビデオ・コンテンツと前記メタデータとを、前記出力オーディオ/ビデオ・ビットストリームに渡すことを含む、態様1ないし8のうちいずれか一項に記載の方法。
〔態様10〕
前記出力オーディオ/ビデオ・ビットストリームを生成する前記ステップは、前記出力オーディオ/ビデオ・ビットストリームが少なくとも1つのネットワーク制約条件を満たすように実行される、態様1ないし9のうちいずれか一項に記載の方法。
〔態様11〕
前記ネットワーク制約条件は、前記出力オーディオ/ビデオ・ビットストリームの利用可能なビットレート、またはプログラムにチューンインするための最大時間、または前記出力オーディオ/ビデオ・ビットストリームの最大の許容されるセグメント継続時間である、態様10に記載の方法。
〔態様12〕
前記出力オーディオ/ビデオ・ビットストリームを生成する前記ステップは、前記出力オーディオ/ビデオ・ビットストリームが少なくとも1つの制約条件を満たすように実行され、前記制約条件は、前記出力オーディオ/ビデオ・ビットストリームが所定のレートで生起する適応点を含むというものであり、前記適応点のそれぞれは、前記出力オーディオ/ビデオ・ビットストリームのビデオIフレームと、前記出力オーディオ/ビデオ・ビットストリームの少なくとも1つの対応するオーディオIフレームの両方が生起する時刻である、態様1ないし11のうちいずれか一項に記載の方法。
〔態様13〕
出力オーディオ/ビデオ・ビットストリームを生成する方法であって:
(a)フレームを提供するステップであって、前記フレームの少なくとも1つがPフレームおよびIフレームを含むハイブリッド・フレームであり、前記Iフレームはコンテンツのエンコードされたバージョンを示し、前記Pフレームは前記コンテンツの異なる仕方でエンコードされたバージョンを示し、前記フレームのそれぞれはオーディオ・コンテンツまたはビデオ・コンテンツを示す、ステップと;
(b)少なくとも1つの前記ハイブリッド・フレームの前記Pフレームを選択し、各選択されたPフレームを前記出力オーディオ/ビデオ・ビットストリーム内に含めることによることを含め、前記出力オーディオ/ビデオ・ビットストリームが、Iフレームで始まり、該Iフレームに続く少なくとも前記選択されたPフレームを含むセグメントを含むように、前記出力オーディオ/ビデオ・ビットストリームを生成するステップとを含む、
方法。
〔態様14〕
出力オーディオ/ビデオ・ビットストリームを生成する方法であって:
(a)フレームを提供するステップであって、前記フレームの少なくとも1つは、PフレームおよびIフレームを決定するために有用なデータの少なくとも1つのチャンクを含むハイブリッド・フレームであり、前記Iフレームは、コンテンツのエンコードされたバージョンを示し、前記Pフレームは、前記コンテンツの異なる仕方でエンコードされたバージョンを示し、前記フレームのそれぞれは、オーディオ・コンテンツまたはビデオ・コンテンツを示す、ステップと;
(b)少なくとも1つの前記ハイブリッド・フレームのデータの少なくとも1つの前記チャンクを使って少なくとも1つのIフレームまたはPフレームを合成し、それにより少なくとも1つの合成されたフレームを生成し、それぞれの前記合成されたフレームを前記出力オーディオ/ビデオ・ビットストリームに含めることによることを含め、前記出力オーディオ/ビデオ・ビットストリームが、Iフレームで始まり、該Iフレームに続く少なくとも1つの合成されたPフレームを含むセグメントを含むか、または合成されたIフレームで始まり、該合成されたIフレームに続く少なくとも1つのPフレームを含むセグメントを含むように、前記出力オーディオ/ビデオ・ビットストリームを生成するステップとを含む、
方法。
〔態様15〕
出力オーディオ/ビデオ・ビットストリームを適応させ、それにより、適応された出力オーディオ/ビデオ・ビットストリームを生成する方法であって、該適応された出力オーディオ/ビデオ・ビットストリームは、態様1ないし14のうちいずれか一項に記載の方法によって生成されたものである、方法。
〔態様16〕
出力オーディオ/ビデオ・ビットストリームを生成するためのシステムであって、当該システムは:
第1のデコード型のフレームを含む、オーディオおよびビデオ・コンテンツを示すフレームと、各フレームに関連付けられたメタデータとを含む入力オーディオ/ビデオ・ビットストリームを受領するように結合された少なくとも1つの入力部であって、前記第1のデコード型の各フレームはPフレームまたはIフレームを含み、各フレームは、オーディオ・コンテンツまたはビデオ・コンテンツを示す、入力部と;
前記第1のデコード型のフレームの少なくとも1つに関連付けられたメタデータの一部を異なるメタデータに修正して、前記第1のデコード型とは異なる第2のデコード型の少なくとも1つの再オーサリングされたフレームを生成するように構成された第1のサブシステムと;
前記入力オーディオ/ビデオ・ビットストリームに応答して前記出力オーディオ/ビデオ・ビットストリームを生成するように結合され、構成された第2のサブシステムであって、前記出力オーディオ/ビデオ・ビットストリームは、前記再オーサリングされたフレームを含む前記オーディオおよびビデオ・コンテンツのセグメントを含み、前記コンテンツの該セグメントは、Iフレームで始まり、該Iフレームに続く少なくとも1つのPフレームを、前記ビデオ・コンテンツのIフレームを前記オーディオ・コンテンツのIフレームと整列させるために含む、第2のサブシステムとを含む、
システム。
〔態様17〕
当該システムが、ネットワーク・ベースのメディア処理(NBMP)エンティティである、態様16に記載のシステム。
〔態様18〕
出力オーディオ/ビデオ・ビットストリーム適応のためのシステムであって:
入力オーディオ/ビデオ・ビットストリームを受領するように結合された少なくとも1つの入力部であって、前記出力オーディオ/ビデオ・ビットストリームが、態様1ないし14のうちいずれか一項に記載の方法によって生成されたものである、入力部と;
前記出力オーディオ/ビデオ・ビットストリームを適応させ、それにより、適応された出力オーディオ/ビデオ・ビットストリームを生成するように結合され、構成されたサブシステムとを含む、
システム。
〔態様19〕
バッファ・メモリと;
前記バッファ・メモリに結合された少なくとも1つのオーディオ/ビデオ処理サブシステムとを含むオーディオ/ビデオ処理ユニットであって、前記バッファ・メモリは、入力オーディオ/ビデオ・ビットストリームの少なくとも1つのセグメントを非一時的に記憶し、前記出力オーディオ/ビデオ・ビットストリームは、態様1ないし14のうちいずれか一項に記載の方法によって生成されたものである、
オーディオ/ビデオ処理ユニット。
〔態様20〕
処理装置またはシステムによって実行されるときに、前記処理装置またはシステムに態様1ないし15のうちいずれか一項に記載の方法を実行させる命令を有するコンピュータ・プログラム・プロダクト。

Claims (17)

  1. 出力オーディオ/ビデオ・ビットストリームを生成する方法であって:
    第1のデコード型のフレームを含む、オーディオおよびビデオ・コンテンツを示すフレームと、各フレームに関連付けられたメタデータとを含む入力オーディオ/ビデオ・ビットストリームを提供するステップであって、前記第1のデコード型の各フレームはPフレームまたはIフレームを含み、各フレームは、オーディオ・コンテンツまたはビデオ・コンテンツを示す、ステップと;
    前記第1のデコード型のフレームの少なくとも1つに関連付けられたメタデータの一部を異なるメタデータに修正して、前記第1のデコード型とは異なる第2のデコード型の少なくとも1つの再オーサリングされたフレームを生成するステップと;
    前記入力オーディオ/ビデオ・ビットストリームに応答して前記出力オーディオ/ビデオ・ビットストリームを生成するステップであって、前記出力オーディオ/ビデオ・ビットストリームは、前記再オーサリングされたフレームを含む前記オーディオおよびビデオ・コンテンツのセグメントを含み、前記オーディオおよびビデオ・コンテンツの該セグメントは、Iフレームで始まり、該Iフレームに続く少なくとも1つのPフレームを、前記ビデオ・コンテンツのIフレームを前記オーディオ・コンテンツのIフレームと整列させるために含む、ステップとを含む、
    方法。
  2. 前記異なるメタデータは、前記第1のデコード型の前記少なくとも1つのフレームの前のフレームに関連付けられたメタデータを含む、請求項1に記載の方法。
  3. 前記出力オーディオ/ビデオ・ビットストリームを生成することは、前記出力オーディオ/ビデオ・ビットストリームの前記オーディオおよびビデオ・コンテンツの前記セグメントを、Iフレームで始まる前記ビデオ・コンテンツのセグメントとして決定することを含む、請求項1または2に記載の方法。
  4. フレームを提供する前記ステップは:
    第1のシステムにおいて、前記フレームを含む前記入力オーディオ/ビデオ・ビットストリームを生成するステップと;
    前記入力オーディオ/ビデオ・ビットストリームを第2のシステムに送達するステップとを含み、
    前記出力オーディオ/ビデオ・ビットストリームを生成する前記ステップは、前記第2のシステムにおいて実行される、
    請求項1ないし3のうちいずれか一項に記載の方法。
  5. 前記再オーサリングされたフレームはオーディオIフレームであり、前記第1のデコード型のフレームの前記少なくとも1つはオーディオPフレームである、請求項1ないし4のうちいずれか一項に記載の方法。
  6. 前記メタデータの一部を修正する前記ステップは、前記オーディオPフレームの前記メタデータの少なくとも一部を、前のオーディオIフレームからコピーされた異なるメタデータで置き換えて、前記再オーサリングされたフレームが該異なるメタデータを含むようにすることを含む、請求項5に記載の方法。
  7. 前記メタデータの一部を修正する前記ステップは:
    前のオーディオIフレームからのメタデータを修正することによって、修正されたメタデータを生成するステップと;
    前記オーディオPフレームの前記メタデータの少なくとも一部を、前記修正されたメタデータで置き換えて、前記再オーサリングされたフレームが該修正されたメタデータを含むようにするステップとを含む、
    請求項5に記載の方法。
  8. 前記メタデータの一部を修正する前記ステップは、少なくとも1つの前のPフレームを前記オーディオPフレームにコピーすることを含む、請求項5に記載の方法。
  9. 前記出力オーディオ/ビデオ・ビットストリームを生成することは、修正されていない、前記入力オーディオ/ビデオ・ビットストリームのセグメントの前記オーディオおよびビデオ・コンテンツと前記メタデータとを、前記出力オーディオ/ビデオ・ビットストリームに渡すことを含む、請求項1ないし8のうちいずれか一項に記載の方法。
  10. 前記出力オーディオ/ビデオ・ビットストリームを生成する前記ステップは、前記出力オーディオ/ビデオ・ビットストリームが少なくとも1つのネットワーク制約条件を満たすように実行される、請求項1ないし9のうちいずれか一項に記載の方法。
  11. 前記ネットワーク制約条件は、前記出力オーディオ/ビデオ・ビットストリームの利用可能なビットレート、またはプログラムにチューンインするための最大時間、または前記出力オーディオ/ビデオ・ビットストリームの最大の許容されるセグメント継続時間である、請求項10に記載の方法。
  12. 前記出力オーディオ/ビデオ・ビットストリームを生成する前記ステップは、前記出力オーディオ/ビデオ・ビットストリームが少なくとも1つの制約条件を満たすように実行され、前記制約条件は、前記出力オーディオ/ビデオ・ビットストリームが所定のレートで生起する適応点を含むというものであり、前記適応点のそれぞれは、前記出力オーディオ/ビデオ・ビットストリームのビデオIフレームと、前記出力オーディオ/ビデオ・ビットストリームの少なくとも1つの対応するオーディオIフレームの両方が生起する時刻である、請求項1ないし11のうちいずれか一項に記載の方法。
  13. 出力オーディオ/ビデオ・ビットストリームを生成する方法であって:
    (a)フレームを提供するステップであって、前記フレームの少なくとも1つがPフレームおよびIフレームを含むハイブリッド・フレームであり、前記Iフレームはコンテンツのエンコードされたバージョンを示し、前記Pフレームは前記コンテンツの異なる仕方でエンコードされたバージョンを示し、前記フレームのそれぞれはオーディオ・コンテンツまたはビデオ・コンテンツを示す、ステップと;
    (b)少なくとも1つの前記ハイブリッド・フレームの前記Pフレームを選択し、各選択されたPフレームを前記出力オーディオ/ビデオ・ビットストリーム内に含めることによることを含め、前記出力オーディオ/ビデオ・ビットストリームが、Iフレームで始まり、該Iフレームに続く少なくとも前記選択されたPフレームを含むセグメントを含むように、前記出力オーディオ/ビデオ・ビットストリームを生成するステップとを含む、
    方法。
  14. 出力オーディオ/ビデオ・ビットストリームを生成する方法であって:
    (a)フレームを提供するステップであって、前記フレームの少なくとも1つは、PフレームおよびIフレームを決定するために有用なデータの少なくとも1つのチャンクを含むハイブリッド・フレームであり、前記Iフレームは、コンテンツのエンコードされたバージョンを示し、前記Pフレームは、前記コンテンツの異なる仕方でエンコードされたバージョンを示し、前記フレームのそれぞれは、オーディオ・コンテンツまたはビデオ・コンテンツを示す、ステップと;
    (b)少なくとも1つの前記ハイブリッド・フレームのデータの少なくとも1つの前記チャンクを使って少なくとも1つのIフレームまたはPフレームを合成し、それにより少なくとも1つの合成されたフレームを生成し、それぞれの前記合成されたフレームを前記出力オーディオ/ビデオ・ビットストリームに含めることによることを含め、前記出力オーディオ/ビデオ・ビットストリームが、Iフレームで始まり、該Iフレームに続く少なくとも1つの合成されたPフレームを含むセグメントを含むか、または合成されたIフレームで始まり、該合成されたIフレームに続く少なくとも1つのPフレームを含むセグメントを含むように、前記出力オーディオ/ビデオ・ビットストリームを生成するステップとを含む、
    方法。
  15. 出力オーディオ/ビデオ・ビットストリームを生成するためのシステムであって、当該システムは:
    第1のデコード型のフレームを含む、オーディオおよびビデオ・コンテンツを示すフレームと、各フレームに関連付けられたメタデータとを含む入力オーディオ/ビデオ・ビットストリームを受領するように結合された少なくとも1つの入力部であって、前記第1のデコード型の各フレームはPフレームまたはIフレームを含み、各フレームは、オーディオ・コンテンツまたはビデオ・コンテンツを示す、入力部と;
    前記第1のデコード型のフレームの少なくとも1つに関連付けられたメタデータの一部を異なるメタデータに修正して、前記第1のデコード型とは異なる第2のデコード型の少なくとも1つの再オーサリングされたフレームを生成するように構成された第1のサブシステムと;
    前記入力オーディオ/ビデオ・ビットストリームに応答して前記出力オーディオ/ビデオ・ビットストリームを生成するように結合され、構成された第2のサブシステムであって、前記出力オーディオ/ビデオ・ビットストリームは、前記再オーサリングされたフレームを含む前記オーディオおよびビデオ・コンテンツのセグメントを含み、前記コンテンツの該セグメントは、Iフレームで始まり、該Iフレームに続く少なくとも1つのPフレームを、前記ビデオ・コンテンツのIフレームを前記オーディオ・コンテンツのIフレームと整列させるために含む、第2のサブシステムとを含む、
    システム。
  16. 当該システムが、ネットワーク・ベースのメディア処理(NBMP)エンティティである、請求項15に記載のシステム。
  17. 処理装置またはシステムによって実行されるときに、前記処理装置またはシステムに請求項1ないし14のうちいずれか一項に記載の方法を実行させる命令を有するコンピュータ・プログラム・プロダクト。
JP2020572962A 2018-06-28 2019-06-27 適応的なストリーミング整列のためのフレーム変換 Active JP7171772B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862690998P 2018-06-28 2018-06-28
EP18180389 2018-06-28
US62/690,998 2018-06-28
EP18180389.1 2018-06-28
PCT/US2019/039535 WO2020006250A1 (en) 2018-06-28 2019-06-27 Frame conversion for adaptive streaming alignment

Publications (2)

Publication Number Publication Date
JP2021529478A JP2021529478A (ja) 2021-10-28
JP7171772B2 true JP7171772B2 (ja) 2022-11-15

Family

ID=67403003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020572962A Active JP7171772B2 (ja) 2018-06-28 2019-06-27 適応的なストリーミング整列のためのフレーム変換

Country Status (6)

Country Link
US (2) US11368747B2 (ja)
EP (1) EP3815387A1 (ja)
JP (1) JP7171772B2 (ja)
KR (1) KR102406318B1 (ja)
CN (2) CN115802046A (ja)
WO (1) WO2020006250A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11431817B2 (en) * 2018-12-04 2022-08-30 Samsung Electronics Co., Ltd. Method and apparatus for management of network based media processing functions
CN111831842A (zh) * 2019-04-23 2020-10-27 腾讯美国有限责任公司 Nbmp中处理媒体内容的方法、装置和存储介质
US11356534B2 (en) * 2019-04-23 2022-06-07 Tencent America LLC Function repository selection mode and signaling for cloud based processing
CN113316001B (zh) * 2021-05-25 2023-04-11 上海哔哩哔哩科技有限公司 视频对齐方法及装置
US11930189B2 (en) * 2021-09-30 2024-03-12 Samsung Electronics Co., Ltd. Parallel metadata generation based on a window of overlapped frames
CN114363791A (zh) * 2021-11-26 2022-04-15 赛因芯微(北京)电子科技有限公司 串行音频元数据生成方法、装置、设备及存储介质
US20240015369A1 (en) * 2022-07-08 2024-01-11 Disney Enterprises, Inc. Surgical Micro-Encoding of Content

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004007648A (ja) 2002-05-06 2004-01-08 Sony Corp 映像音声データ記録装置、映像音声データ記録方法、映像音声データ再生装置、並びに、映像音声データ再生方法
JP2005051307A (ja) 2003-07-29 2005-02-24 Kyocera Corp データ編集装置およびデータ編集方法
JP2006521064A (ja) 2003-03-17 2006-09-14 クゥアルコム・インコーポレイテッド ワイヤレスマルチメディア通信用の部分フレームエンコーディングシステムおよび方法
JP2007184913A (ja) 2005-12-30 2007-07-19 Sharp Corp 無線ビデオ送信システム
US20130208811A1 (en) 2007-06-29 2013-08-15 Cisco Technology, Inc. Expedited splicing of video streams
JP2016136256A (ja) 2010-12-03 2016-07-28 ドルビー ラボラトリーズ ライセンシング コーポレイション 複数のメディア処理ノードによる適応処理
JP2017508375A (ja) 2014-02-10 2017-03-23 ドルビー・インターナショナル・アーベー 完璧な接合のためのトランスポート・ストリームへのエンコードされたオーディオの埋め込み
JP2017520954A (ja) 2014-05-09 2017-07-27 ティーキューティーブイディー ソフトウェア エルティーディーエーTqtvd Software Ltda Mpeg−2プライベートセクションで視聴覚コンテンツストリームをカプセル化するための方法、mpeg−2トランスポートストリームで多重送信されるようにmpeg−2プライベートセクションで視聴覚コンテンツをカプセル化するためのデバイス、デジタルtv用対話型アプリケーション、ユーザデバイス、視聴覚コンテンツおよび/またはデータを伝送するための方法、ならびにデータネットワーク用通信プロトコル
WO2017138387A1 (ja) 2016-02-12 2017-08-17 ソニー株式会社 情報処理装置および情報処理方法
JP2017195755A (ja) 2016-04-14 2017-10-26 株式会社ユピテル 装置、車載機器およびシステム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1774925A (zh) * 2003-03-17 2006-05-17 高通股份有限公司 用于无线多媒体传输的局部帧内编码系统和方法
US8403757B2 (en) * 2006-04-13 2013-03-26 Yosef Mizrachi Method and apparatus for providing gaming services and for handling video content
US7738676B1 (en) * 2006-11-02 2010-06-15 Qurio Holdings, Inc. Client-side watermarking using hybrid I-frames
US7983440B1 (en) * 2006-11-02 2011-07-19 Qurio Holdings, Inc. Selection of I-frames for client-side watermarking
US8781003B2 (en) * 2008-07-17 2014-07-15 Cisco Technology, Inc. Splicing of encrypted video/audio content
US8621044B2 (en) 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
CN102172028A (zh) * 2009-07-31 2011-08-31 松下电器产业株式会社 影像数据处理装置及影像数据处理系统
US20150249829A1 (en) * 2011-09-15 2015-09-03 Libre Communications Inc. Method, Apparatus and Computer Program Product for Video Compression
WO2014204366A1 (en) 2013-06-19 2014-12-24 Telefonaktiebolaget L M Ericsson (Publ) Arrangements and method thereof for a channel change during streaming
EP2843963A1 (en) * 2013-08-30 2015-03-04 Thomson Licensing Method for watermarking a content
US20150358622A1 (en) 2014-06-10 2015-12-10 Empire Technology Development Llc Video Encoding for Real-Time Streaming Based on Audio Analysis
US20150373075A1 (en) 2014-06-23 2015-12-24 Radia Perlman Multiple network transport sessions to provide context adaptive video streaming
US10349057B2 (en) * 2015-04-01 2019-07-09 Cox Communications, Inc. Systems and methods for optimizing video coding efficiency based on characteristics of video content
US9819480B2 (en) * 2015-08-04 2017-11-14 Ibiquity Digital Corporation System and method for synchronous processing of analog and digital pathways in a digital radio receiver
US10951914B2 (en) * 2015-08-27 2021-03-16 Intel Corporation Reliable large group of pictures (GOP) file streaming to wireless displays

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004007648A (ja) 2002-05-06 2004-01-08 Sony Corp 映像音声データ記録装置、映像音声データ記録方法、映像音声データ再生装置、並びに、映像音声データ再生方法
JP2006521064A (ja) 2003-03-17 2006-09-14 クゥアルコム・インコーポレイテッド ワイヤレスマルチメディア通信用の部分フレームエンコーディングシステムおよび方法
JP2005051307A (ja) 2003-07-29 2005-02-24 Kyocera Corp データ編集装置およびデータ編集方法
JP2007184913A (ja) 2005-12-30 2007-07-19 Sharp Corp 無線ビデオ送信システム
US20130208811A1 (en) 2007-06-29 2013-08-15 Cisco Technology, Inc. Expedited splicing of video streams
JP2016136256A (ja) 2010-12-03 2016-07-28 ドルビー ラボラトリーズ ライセンシング コーポレイション 複数のメディア処理ノードによる適応処理
JP2017508375A (ja) 2014-02-10 2017-03-23 ドルビー・インターナショナル・アーベー 完璧な接合のためのトランスポート・ストリームへのエンコードされたオーディオの埋め込み
JP2017520954A (ja) 2014-05-09 2017-07-27 ティーキューティーブイディー ソフトウェア エルティーディーエーTqtvd Software Ltda Mpeg−2プライベートセクションで視聴覚コンテンツストリームをカプセル化するための方法、mpeg−2トランスポートストリームで多重送信されるようにmpeg−2プライベートセクションで視聴覚コンテンツをカプセル化するためのデバイス、デジタルtv用対話型アプリケーション、ユーザデバイス、視聴覚コンテンツおよび/またはデータを伝送するための方法、ならびにデータネットワーク用通信プロトコル
WO2017138387A1 (ja) 2016-02-12 2017-08-17 ソニー株式会社 情報処理装置および情報処理方法
JP2017195755A (ja) 2016-04-14 2017-10-26 株式会社ユピテル 装置、車載機器およびシステム

Also Published As

Publication number Publication date
KR102406318B1 (ko) 2022-06-10
KR20210024131A (ko) 2021-03-04
WO2020006250A1 (en) 2020-01-02
US11368747B2 (en) 2022-06-21
EP3815387A1 (en) 2021-05-05
US11770582B2 (en) 2023-09-26
US20210258632A1 (en) 2021-08-19
CN115802046A (zh) 2023-03-14
CN112369042B (zh) 2022-12-09
CN112369042A (zh) 2021-02-12
JP2021529478A (ja) 2021-10-28
US20220286730A1 (en) 2022-09-08

Similar Documents

Publication Publication Date Title
JP7171772B2 (ja) 適応的なストリーミング整列のためのフレーム変換
US11381886B2 (en) Data processor and transport of user control data to audio decoders and renderers
US9883213B2 (en) Embedding encoded audio into transport stream for perfect splicing
CA2839553A1 (en) Media content transceiving method and transceiving apparatus using same
JP2019220974A (ja) 復号装置
CN112740325B (zh) 即时播放帧(ipf)的生成、传输及处理的方法、设备及系统
JP2021197584A (ja) 多重信号変換装置及びそのプログラム、並びに、受信機
US11972769B2 (en) Methods, apparatus and systems for generation, transportation and processing of immediate playout frames (IPFs)

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220602

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221102

R150 Certificate of patent or registration of utility model

Ref document number: 7171772

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150