(57)【特許請求の範囲】
【請求項１】
未符号化ビデオフレームのシーケンスを表す符号化されたビットストリーム内に、デコード命令を含む付属メッセージを挿入するビデオ符号器装置実装方法であって、前記方法は、
前記未符号化ビデオフレームのシーケンスの未符号化ビデオフレームを取得するステップと、
前記未符号化ビデオフレームを符号化して、ビデオデータペイロードを生成するステップと、
前記付属メッセージを取得できるか否かを判定し、取得可の判定結果または取得不可の判定結果を求めるステップと、
前記取得可の判定結果の場合、前記付属メッセージを含むフレームヘッダにメッセージ有効フラグを設定するステップと、
前記フレームヘッダにメッセージ個数フラグを設定するステップと、
前記フレームヘッダにメッセージサイズフラグを設定するステップと、
前記フレームヘッダ内の前記付属メッセージを符号化するステップと、
前記ビデオデータペイロードと、前記取得不可の判定結果または前記符号化された付属メッセージと、に基づき、前記ビデオデータペイロードの前記フレームヘッダを符号化するステップと、
前記フレームヘッダおよび前記ビデオデータペイロードを、前記符号化されたビットストリームの一部として提供するステップと、
を含む、ビデオ符号器装置実装方法。
【請求項２】
前記メッセージサイズフラグは、前記付属メッセージの４つの取り得るメッセージサイズのうちの１つを示す、請求項１に記載のビデオ符号器装置実装方法。
【請求項３】
前記４つの取り得るメッセージサイズは、２バイト、４バイト、１６バイト、および３２バイトである、請求項２に記載のビデオ符号器装置実装方法。
【請求項４】
前記メッセージ個数フラグは、前記フレームヘッダに含まれている最大で４つまでの付属メッセージを示す、請求項１に記載のビデオ符号器装置実装方法。
【請求項５】
前記付属メッセージは、前記未符号化ビデオフレームに関連する情報を表すデータを含む、請求項１に記載のビデオ符号器装置実装方法。
【請求項６】
前記未符号化ビデオフレームのシーケンスは、オーディオビジュアル作品を構成し、前記付属メッセージは、前記オーディオビジュアル作品の作者を識別するデータを含む、請求項５に記載のビデオ符号器装置実装方法。
【請求項７】
前記未符号化ビデオフレームのシーケンスは、オーディオビジュアル作品を構成し、前記付属メッセージは、前記オーディオビジュアル作品のタイトルを識別するデータを含む、請求項５に記載のビデオ符号器装置実装方法。
【請求項８】
前記未符号化ビデオフレームのシーケンスは、オーディオビジュアル作品を構成し、前記付属メッセージは、前記オーディオビジュアル作品の著作権に関連するデータを含む、請求項５に記載のビデオ符号器装置実装方法。
【請求項９】
前記未符号化ビデオフレームのシーケンスは、オーディオビジュアル作品を構成し、前記付属メッセージは、符号化されたビットストリームから再構築された前記オーディオビジュアル作品に関する情報を表示させるためのデータを含む、請求項５に記載のビデオ符号器装置実装方法。
【請求項１０】
前記未符号化ビデオフレームのシーケンスは、オーディオビジュアル作品を構築し、前記付属メッセージは、非一時的な記憶媒体に前記オーディオビジュアル作品のコピーを記憶するための許可に関連するデータを含む、請求項５に記載のビデオ符号器装置実装方法。
【請求項１１】
ビデオフレームのシーケンスを表す符号化されたビットストリームから、デコード命令を含む付属メッセージを抽出するビデオ復号器装置実装方法であって、前記方法は、
前記符号化されたビットストリームからビデオデータペイロードを取得するステップと、
前記符号化されたビットストリームからフレームヘッダを取得するステップと、
前記フレームヘッダを復号するステップと、
前記フレームヘッダ内にメッセージ有効フラグが設定されているか否かを判定し、フラグ設定有りの判定結果またはフラグ設定無しの判定結果を求めるステップと、
前記フラグ設定有りの判定結果の場合、前記フレームヘッダ内のメッセージ個数フラグを読み取るステップと、
前記フレームヘッダ内のメッセージサイズフラグを読み取るステップと、
前記フレームヘッダから前記付属メッセージを抽出するステップと、
前記付属メッセージを提供するステップと、
前記フレームヘッダが復号された後、前記ビデオデータペイロードを復号して、前記ビデオフレームのシーケンスの前記ビデオフレームの表現を生成するステップと、
前記生成されたビデオフレームの表現と、前記提供された付属メッセージまたは前記フラグ設定無しの判定結果と、に基づき、復号された前記ビデオフレームを提供するステップと、
を含む、ビデオ復号器装置実装方法。
【請求項１２】
前記メッセージサイズフラグは、前記付属メッセージの４つの取り得るメッセージサイズのうちの１つを示す、請求項１１に記載のビデオ復号器装置実装方法。
【請求項１３】
前記４つの取り得るメッセージサイズは、２バイト、４バイト、１６バイト、および３２バイトである、請求項１２に記載のビデオ復号器装置実装方法。
【請求項１４】
前記メッセージ個数フラグは、前記フレームヘッダに含まれている最大で４つまでの付属メッセージを示す、請求項１１に記載のビデオ復号器装置実装方法。
【請求項１５】
前記付属メッセージは、前記ビデオフレームに関連する情報を表すデータを含む、請求項１１に記載のビデオ復号器装置実装方法。
【請求項１６】
前記ビデオフレームのシーケンスは、オーディオビジュアル作品を構成し、前記付属メッセージは、前記オーディオビジュアル作品の作者を識別するデータを含む、請求項１５に記載のビデオ復号器装置実装方法。
【請求項１７】
前記ビデオフレームのシーケンスは、オーディオビジュアル作品を構成し、前記付属メッセージは、前記オーディオビジュアル作品のタイトルを識別するデータを含む、請求項１５に記載のビデオ復号器装置実装方法。
【請求項１８】
前記ビデオフレームのシーケンスは、オーディオビジュアル作品を構成し、前記付属メッセージは、前記オーディオビジュアル作品の著作権に関連するデータを含む、請求項１５に記載のビデオ復号器装置実装方法。
【請求項１９】
前記ビデオフレームのシーケンスは、オーディオビジュアル作品を構成し、前記付属メッセージは、前記符号化されたビットストリームから再構築された前記オーディオビジュアル作品に関する情報を表示させるためのデータを含む、請求項１５に記載のビデオ復号器装置実装方法。
【請求項２０】
前記ビデオフレームのシーケンスは、オーディオビジュアル作品を構成し、前記付属メッセージは、非一時的な記憶媒体に前記オーディオビジュアル作品のコピーを記憶するための許可に関連するデータを含む、請求項１５に記載のビデオ復号器装置実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ビデオ信号の符号化および復号に関し、より詳細には、圧縮ビデオビットストリーム内への付属メッセージデータの挿入、および圧縮ビデオビットストリームからの付属メッセージデータの抽出に関する。
【背景技術】
【０００２】
デジタルマルチメディア、例えば、デジタル画像、音声／オーディオ、グラフィックス、およびビデオなどの出現は、様々な用途を著しく改善すると共に、デジタルマルチメディアが確実な記憶、通信、送信、ならびに、コンテンツの検索およびアクセスを比較的簡単に行うことを可能にしたことが理由で、新しい用途も開拓した。概して、デジタルマルチメディアの用途は、エンターテインメント、情報、医薬、およびセキュリティを含む広範囲を包含して、多数存在しており、数多くの面で社会に利益をもたらしてきた。カメラおよびマイクロフォンなどのセンサによってキャプチャされるようなマルチメディアは、アナログであることが多く、パルス符号変調（ＰＣＭ：Ｐｕｌｓｅ  Ｃｏｄｅｄ  Ｍｏｄｕｌａｔｉｏｎ）の形式でのデジタル化のプロセスが、そのマルチメディアをデジタル化する。しかしながら、デジタル化の直後には、結果として生じたデータの量が、スピーカおよび／またはＴＶディスプレイによって必要とされるアナログ表現を再現するのに必要なため、極めて大きくなることがある。したがって、大量のデジタルマルチメディアコンテンツの効率的な通信、記憶、および／または送信は、生のＰＣＭ形式から圧縮表現への、デジタルマルチメディアコンテンツの圧縮を必要とする。したがって、マルチメディアの圧縮のための多くの技術が発明されてきた。この数年にわたって、ビデオ圧縮技法は、圧縮されていないデジタルビデオと同様であることが多い、高い心理視覚品質を保持しながら、１０から１００までの間の高い圧縮係数を大抵は達成することができる程度にまで、非常に洗練されたものへと成長してきた。
【０００３】
大幅な進歩が、ビデオ圧縮の技術および科学において、今日まで遂げられてきた（多くの標準化団体主導のビデオコーディング標準、例えば、ＭＰＥＧ−１、ＭＰＥＧ−２、Ｈ．２６３、ＭＰＥＧ−４  ｐａｒｔ２、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４、ＭＰＥＧ−４  ＳＶＣおよびＭＶＣなど、ならびに、産業界主導のプロプライエタリ標準、例えば、Ｗｉｎｄｏｗｓメディアビデオ、ＲｅａｌＶｉｄｅｏ、Ｏｎ２  ＶＰなどによって示される通りである）。しかしながら、いつでもどこでもアクセスが可能な、さらに高い品質、より高い解像度、および今や３Ｄ（ステレオ）ビデオに対する消費者の高まり続ける欲求は、様々な手段、例えば、ＤＶＤ／ＢＤ、無線ブロードキャスト、ケーブル／衛星、有線およびモバイルネットワークなどを介した、幅広いクライアント装置、例えば、ＰＣ／ラップトップコンピュータ、ＴＶ、セットトップボックス、ゲーム機、携帯メディアプレーヤ／装置、スマートフォン、およびウェアラブルコンピューティング装置などへの配信を余儀なくしており、さらに高いレベルのビデオ圧縮に対する要求を刺激している。標準化団体主導の標準において、これは、高効率ビデオコーディングにおいてＩＳＯ  ＭＰＥＧによって最近開始された取り組みによって裏付けられ、高効率ビデオコーディングは、新たな技術貢献と、ＩＴＵ−Ｔ標準委員会によるＨ．２６５ビデオ圧縮に対する長年の調査作業からの技術とを組み合わせるものと期待されている。
【０００４】
前述した標準はすべて、まず、フレームをサブユニットに、すなわち、コーディングブロック、予測ブロック、および変換ブロックに分割することによって、ビデオのフレーム間の動きを補償することにより、時間的冗長性を低減することを伴う、一般的なフレーム間予測コーディングフレームワークを採用する。動きベクトルは、過去に復号されたフレーム（これは表示順序において過去のフレームまたは将来のフレームとなり得る）に関して、符号化されるべきフレームの各予測ブロックに対して割り当てられる。これらの動きベクトルは、次いで、復号器へ送信され、過去に復号されたフレームと異なっており、大抵は変換コーディングによってブロックごとに符号化される、動き補償予測フレームを生成するために使用される。過去の標準において、これらのブロックは、一般に１６×１６画素であった。
【０００５】
しかしながら、フレームサイズは、かなり大きく成長してきており、多くのモバイル装置が、２０４８×１５３０画素などの、「高解像度」（または「ＨＤ」）よりも大きいフレームサイズを表示する能力を有する。したがって、これらのフレームサイズについての動きベクトルを効率的に符号化するためには、より大きなサイズのブロックが必要である。しかしながら、比較的小さいスケール、例えば、４×４画素で、予測および変換を実行することができることも望ましいことがある。
【０００６】
最新のビデオ圧縮技法において、動き補償は、コーデック設計における必須部分である。基本概念は、ブロックマッチング方法を使用することによって、近隣のピクチャ間の時間依存性を除去することである。コーディングブロックが、参照ピクチャにおいて別の同様のブロックを見つけることができる場合、「残差」または「残差信号」と呼ばれる、これらの２つのコーディングブロック間の差異のみが、符号化される。さらに、この２つのマッチングするブロック間の空間的距離を示す動きベクトル（ＭＶ：ｍｏｔｉｏｎ  ｖｅｃｔｏｒ）も、符号化される。したがって、残差およびＭＶのみが、コーディングブロックにおける全サンプルの代わりに符号化される。この種の時間的冗長性を除去することによって、ビデオサンプルが圧縮され得る。
【０００７】
ビデオデータをさらに圧縮するために、フレーム間予測技法またはフレーム内予測技法が適用された後、残差信号の係数は、（例えば、離散コサイン変換（「ＤＣＴ（ｄｉｓｃｒｅｔｅ  ｃｏｓｉｎｅ  ｔｒａｎｓｆｏｒｍ）」）または離散サイン変換（「ＤＳＴ（ｄｉｓｃｒｅｔｅ  ｓｉｎｅ  ｔｒａｎｓｆｏｒｍ）」）を使用して）空間領域から周波数領域へ変換されることが多い。自然発生の画像、例えば、典型的には人間が知覚可能なビデオシーケンスを構成する種類の画像などについては、低周波エネルギーが、高周波エネルギーよりも常に強い。したがって、周波数領域内の残差信号は、それらが空間領域において得るよりも、良好なエネルギー圧縮を得る。順変換の後、係数は、任意の動きベクトルおよび関連するシンタックス情報と共に、量子化され、エントロピー符号化される。未符号化ビデオデータの各フレームについては、対応する符号化された係数および動きベクトルが、ビデオデータペイロードを構成し、関連するシンタックス情報が、そのビデオデータペイロードに関連付けられたフレームヘッダを構成する。
【０００８】
復号器側では、逆量子化および逆変換が、係数に対して適用されて、空間残差信号が回復される。次いで、元の未符号化ビデオシーケンスの再現されたバージョンを生成するために、逆予測プロセスが実行され得る。これらは、全部ではないが大部分のビデオ圧縮標準に共通する典型的な予測／変換／量子化プロセスである。
【０００９】
従来のビデオ符号化／復号システムでは、ビットストリームのフレームヘッダレベルにおける要素はすべて、コーディング関連のシンタックス情報を下流の復号器へ送信するように設計されている。しかしながら、符号器の操作者は、付加的情報、例えば、送信されている資料の著作権、タイトル、著者名、デジタル著作権管理（「ＤＲＭ（ｄｉｇｉｔａｌ  ｒｉｇｈｔｓ  ｍａｎａｇｅｍｅｎｔ）」）などに関連する情報を下流の復号システムに提供したいと望むことがある。
【図面の簡単な説明】
【００１０】
【図１】少なくとも１つの実施形態に係る例示的なビデオ符号化／復号システムを示す図である。
【図２】少なくとも１つの実施形態に係る、例示的な符号化装置のいくつかの構成要素を示す図である。
【図３】少なくとも１つの実施形態に係る、例示的な復号装置のいくつかの構成要素を示す図である。
【図４】少なくとも１つの実施形態に係る例示的なソフトウェア実装ビデオ符号器の機能ブロック図である。
【図５】少なくとも１つの実施形態に係る例示的なソフトウェア実装ビデオ復号器のブロック図である。
【図６】少なくとも１つの実施形態に係るメッセージ挿入ルーチンのフローチャートである。
【図７】少なくとも１つの実施形態に係るメッセージ抽出ルーチンのフローチャートである。
【発明を実施するための形態】
【００１１】
以下に続く詳細な説明は、プロセッサ、プロセッサ用のメモリ記憶装置、接続されたディスプレイ装置および入力装置を含む、従来のコンピュータ構成要素によるプロセスおよび動作の象徴的な表現の観点から、主に表現されている。さらに、これらのプロセスおよび動作は、リモートファイルサーバ、コンピュータサーバおよびメモリ記憶装置を含む、異種の分散コンピューティング環境における従来のコンピュータ構成要素を利用し得る。これらの従来の分散コンピューティング構成要素の各々は、通信ネットワークを介してプロセッサによってアクセス可能である。
【００１２】
「１つの実施形態において」、「様々な実施形態において」、「いくつかの実施形態において」などの句は、繰り返し使用される。そのような句は、必ずしも同じ実施形態を指すとは限らない。「備える」、「有する」、および「含む」という用語は、文脈上他の意味を示さない限り、同意語である。
【００１３】
様々な実施形態は、典型的な「ハイブリッド」ビデオコーディングアプローチの文脈において、それがピクチャ間／ピクチャ内予測および変換コーディングを使用するという点で説明される。符号器は、まず、ビデオシーケンス内の第１のピクチャについて、ピクチャ（またはフレーム）をコーディングブロックと呼ばれるブロック形の領域に分割し、ピクチャ内予測を使用してピクチャを符号化する。ピクチャ内予測とは、ピクチャ内のコーディングブロックの予測値がそのピクチャ内の情報のみに基づく場合である。後続のピクチャについては、予測情報が他のピクチャから生成されるピクチャ間予測が使用され得る。定期的に、後続のピクチャは、例えば、符号化されたビデオの復号をビデオシーケンスの第１のピクチャ以外の点において始めることを可能にするために、イントラ符号化予測のみを使用して符号化されてもよい。予測方法が完了した後、ピクチャを表現するデータは、他のピクチャの予測において使用するために、復号ピクチャバッファ内に記憶され得る。
【００１４】
当業者は、様々な実施形態において、以下に説明されるメッセージ挿入／抽出技法が、多くのその他の従来のビデオ符号化／復号プロセスへ、例えば、Ｉ、Ｐ、Ｂピクチャコーディングから構成される伝統的なピクチャ構造を使用する符号化／復号プロセスへ統合され得ることを認識するであろう。他の実施形態において、以下に説明される技法は、ＩピクチャおよびＰピクチャに加えて、他の構造、例えば、階層的なＢピクチャ、単方向Ｂピクチャ、および／またはＢピクチャの代替物などを使用するビデオコーディングに統合されてもよい。
【００１５】
ここで、図面に示されるような実施形態の説明への言及が詳細に行われる。実施形態は、図面および関連する説明に関して説明されるが、本明細書において開示される実施形態に範囲を限定する意図はない。それどころか、意図は、あらゆる代替案、変形例および均等物を含めることにある。代替的な実施形態において、付加的な装置または図示される装置の組み合わせは、本明細書において開示される実施形態に範囲を限定せずに、追加されても、または組み合わされてもよい。
【００１６】
図１は、少なくとも１つの実施形態に係る例示的なビデオ符号化／復号システム１００を示す。符号化装置２００（図２に示され、以下に説明される）および復号装置３００（図３に示され、以下に説明される）は、ネットワーク１０４とデータ通信する。符号化装置２００は、直接的なデータ接続、例えば、ストレージエリアネットワーク（「ＳＡＮ（ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）」）、高速シリアルバスなどを通じて、および／または他の適切な通信技術を介して、または（図１内の破線によって示されるように）ネットワーク１０４を介して、未符号化ビデオ源１０８とデータ通信し得る。同様に、復号装置３００は、直接的なデータ接続、例えば、ストレージエリアネットワーク（「ＳＡＮ」）、高速シリアルバスなどを通じて、および／または他の適切な通信技術を介して、または（図１内の破線によって示されるように）ネットワーク１０４を介して、随意的な符号化されたビデオ源１１２とデータ通信し得る。いくつかの実施形態では、符号化装置２００、復号装置３００、符号化されたビデオ源１１２、および／または未符号化ビデオ源１０８は、１つまたは複数の複製されたおよび／または分散された、物理的な装置または論理的な装置を備えてもよい。多くの実施形態では、図示されているよりも多くの符号化装置２００、復号装置３００、未符号化ビデオ源１０８、および／また符号化されたビデオ源１１２が存在し得る。
【００１７】
様々な実施形態において、符号化装置２００は、例えば、復号装置３００から、ネットワーク１０４上で要求を受け付け、それに応じて応答を提供することが一般に可能である、ネットワーク接続されたコンピューティング装置とし得る。様々な実施形態において、復号装置３００は、フォームファクタ、例えば、携帯電話、腕時計、眼鏡、もしくは他のウェアラブルコンピューティング装置、専用メディアプレーヤ、コンピューティングタブレット、自動車ヘッドユニット、オーディオ・ビデオ・オンデマンド（ＡＶＯＤ：ａｕｄｉｏ−ｖｉｄｅｏ  ｏｎ  ｄｅｍａｎｄ）・システム、専用メディアコンソール、ゲーム装置、「セットトップボックス」、デジタルビデオレコーダ、テレビ受像機、または汎用コンピュータなどを有する、ネットワーク接続されたコンピューティング装置とし得る。様々な実施形態において、ネットワーク１０４は、インターネット、１つもしくは複数のローカルエリアネットワーク（「ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）」）、１つもしくは複数の広域ネットワーク（「ＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）」）、セルラデータネットワーク、および／または他のデータネットワークを含んでもよい。ネットワーク１０４は、様々な地点において、有線ネットワークおよび／または無線ネットワークであってもよい。
【００１８】
図２を参照すると、例示的な符号化装置２００のいくつかの構成要素が示されている。いくつかの実施形態では、符号化装置は、図２に示されている構成要素よりもさらに多くの構成要素を含んでもよい。しかしながら、例示的な実施形態を開示するために、これらの一般的な従来の構成要素のすべてが図示される必要はない。図２に示されるように、例示的な符号化装置２００は、ネットワーク１０４などのネットワークに接続するためのネットワークインターフェース２０４を含む。例示的な符号化装置２００は、処理ユニット２０８、メモリ２１２、随意的なユーザ入力２１４（例えば、英数字キーボード、キーパッド、マウスもしくは他のポインティング装置、タッチスクリーン、および／またはマイクロフォン）、ならびに随意的なディスプレイ２１６も含んでおり、すべてが、バス２２０を介して、ネットワークインターフェース２０４と共に相互接続される。メモリ２１２は、一般に、ＲＡＭ、ＲＯＭ、および永久大容量記憶装置、例えば、ディスクドライブ、フラッシュメモリなどを備える。
【００１９】
例示的な符号化装置２００のメモリ２１２は、オペレーティングシステム２２４、および複数のソフトウェアサービスのためのプログラムコード、例えば、付属メッセージ挿入ルーチン６００（図６を参照して以下に説明される）を実行するための命令を備えた、ソフトウェア実装フレーム間ビデオ符号器４００（図４を参照して以下に説明される）などを記憶する。メモリ２１２は、ビデオデータファイル（図示せず）も記憶してもよく、このビデオデータファイルは、オーディオ／ビジュアルメディア作品の未符号化コピー、例えば、非限定的な例として、映画および／またはテレビ番組のエピソードなどを表現し得る。これらおよび他のソフトウェア構成要素は、非一時的なコンピュータ読取可能な媒体２３２、例えば、フロッピーディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどに関連付けられた駆動機構（図示せず）を使用して、符号化装置２００のメモリ２１２にロードされ得る。例示的な符号化装置２００が説明されてきたが、符号化装置は、ネットワーク１０４と通信し、ビデオ符号化ソフトウェア、例えば、例示的なソフトウェア実装フレーム間ビデオ符号器４００、および付属メッセージ挿入ルーチン６００などを実装するための命令を実行することができる、非常に多くのネットワーク接続されたコンピューティング装置のうちの任意のものであってもよい。
【００２０】
動作中に、オペレーティングシステム２２４は、符号化装置２００のハードウェアおよび他のソフトウェア資源を管理し、ソフトウェア実装フレーム間ビデオ符号器４００などのソフトウェアアプリケーションに対して一般的なサービスを提供する。ハードウェア機能、例えば、ネットワークインターフェース２０４を介したネットワーク通信、ユーザ入力２１４を介したデータの受け取り、ディスプレイ２１６を介したデータの出力、および、様々なソフトウェアアプリケーション、例えば、ソフトウェア実装フレーム間ビデオ符号器４００などのためのメモリ２１２の割り当てについて、オペレーティングシステム２２４は、符号化装置上で実行されるソフトウェアとハードウェアとの間の仲介としての役割を果たす。
【００２１】
いくつかの実施形態では、符号化装置２００は、未符号化ビデオ源１０８と通信するための専用の未符号化ビデオインターフェース２３６、例えば、高速シリアルバスなどをさらに備えてもよい。いくつかの実施形態では、符号化装置２００は、ネットワークインターフェース２０４を介して、未符号化ビデオ源１０８と通信し得る。他の実施形態では、未符号化ビデオ源１０８は、メモリ２１２またはコンピュータ読取可能な媒体２３２に存在してもよい。
【００２２】
従来の汎用コンピューティング装置に概ね準拠した、例示的な符号化装置２００が説明されてきたが、符号化装置２００は、ビデオを符号化することができる非常に多くの装置、例えば、ビデオ記録装置、ビデオコプロセッサおよび／もしくはアクセラレータ、パーソナルコンピュータ、ゲーム機、セットトップボックス、携帯型もしくはウェアラブルコンピューティング装置、スマートフォン、または任意の他の適切な装置のうちの任意のものであってよい。
【００２３】
符号化装置２００は、非限定的な例として、オン・デマンド・メディア・サービス（図示せず）を促進するために動作させられてもよい。少なくとも１つの非限定的で例示的な実施形態では、オン・デマンド・メディア・サービスは、ビデオコンテンツなどのメディア作品のデジタルコピーを、作品ごとにおよび／またはサブスクリプションベースで、ユーザに提供するオンライン・オン・デマンド・メディア・ストアを促進するために、符号化装置２００を動作させていてもよい。オン・デマンド・メディア・サービスは、未符号化ビデオ源１０８から、そのようなメディア作品のデジタルコピーを取得し得る。
【００２４】
図３を参照すると、例示的な復号装置３００のいくつかの構成要素が示されている。いくつかの実施形態では、復号装置は、図３に示される構成要素よりもさらに多くの構成要素を含んでもよい。しかしながら、例示的な実施形態を開示するために、これらの一般的な従来の構成要素のすべてが図示される必要はない。図３に示されるように、例示的な復号装置３００は、ネットワーク１０４などのネットワークに接続するためのネットワークインターフェース３０４を含む。例示的な復号装置３００は、処理ユニット３０８、メモリ３１２、随意的なユーザ入力３１４（例えば、英数字キーボード、キーパッド、マウスもしくは他のポインティング装置、タッチスクリーン、および／またはマイクロフォン）、随意的なディスプレイ３１６、ならびに随意的なスピーカ３１８も含んでおり、すべてが、バス３２０を介して、ネットワークインターフェース３０４と共に相互接続される。メモリ３１２は、一般に、ＲＡＭ、ＲＯＭ、および永久大容量記憶装置、例えば、ディスクドライブ、フラッシュメモリなどを備える。
【００２５】
例示的な復号装置３００のメモリ３１２は、オペレーティングシステム３２４、および複数のソフトウェアサービスのためのプログラムコード、例えば、付属メッセージ抽出ルーチン７００（図７を参照して以下に説明される）を実行するための命令を備えた、ソフトウェア実装フレーム間ビデオ復号器５００（図５を参照して以下に説明される）などを記憶し得る。メモリ３１２は、ビデオデータファイル（図示せず）も記憶してもよく、このビデオデータファイルは、オーディオ／ビジュアルメディア作品の符号化されたコピー、例えば、非限定的な例として、映画および／またはテレビ番組のエピソードなどを表現し得る。これらおよび他のソフトウェア構成要素は、非一時的なコンピュータ読取可能な媒体３３２、例えば、フロッピーディスク、テープ、ＤＶＤ／ＣＤ−ＲＯＭドライブ、メモリカードなどに関連付けられた駆動機構（図示せず）を使用して、復号装置３００のメモリ３１２にロードされ得る。例示的な復号装置３００が説明されてきたが、復号装置は、ネットワーク１０４などのネットワークと通信し、ビデオ復号ソフトウェア、例えば、例示的なソフトウェア実装フレーム間ビデオ復号器５００、および付属メッセージ抽出ルーチン７００などを実施するための命令を実行することができる、非常に多くのネットワーク接続されたコンピューティング装置のうちの任意のものであってもよい。
【００２６】
動作中に、オペレーティングシステム３２４は、復号装置３００のハードウェアおよび他のソフトウェア資源を管理し、ソフトウェア実装フレーム間ビデオ復号器５００などのソフトウェアアプリケーションに対して一般的なサービスを提供する。ハードウェア機能、例えば、ネットワークインターフェース３０４を介したネットワーク通信、入力３１４を介したデータの受け取り、ディスプレイ３１６および／または随意的なスピーカ３１８を介したデータの出力、ならびにメモリ３１２の割り当てについて、オペレーティングシステム３２４は、符号化装置上で実行されるソフトウェアとハードウェアとの間の仲介としての役割を果たす。
【００２７】
いくつかの実施形態では、復号装置３００は、例えば、符号化されたビデオ源１１２と通信するための随意的な符号化されたビデオインターフェース３３６、例えば、高速シリアルバスなどをさらに備えてもよい。いくつかの実施形態では、復号装置３００は、ネットワークインターフェース３０４を介して、符号化されたビデオ源１１２などの符号化されたビデオ源と通信し得る。他の実施形態では、符号化されたビデオ源１１２は、メモリ３１２またはコンピュータ読取可能な媒体３３２に存在してもよい。
【００２８】
従来の汎用コンピューティング装置に概ね準拠した、例示的な復号装置３００が説明されてきたが、復号装置３００は、ビデオを復号することができる非常に多くの装置、例えば、ビデオ記録装置、ビデオコプロセッサおよび／もしくはアクセラレータ、パーソナルコンピュータ、ゲーム機、セットトップボックス、携帯型もしくはウェアラブルコンピューティング装置、スマートフォン、または任意の他の適切な装置のうちの任意のものであってよい。
【００２９】
復号装置３００は、非限定的な例として、オン・デマンド・メディア・サービスを促進するために動作させられてもよい。少なくとも１つの非限定的で例示的な実施形態では、オン・デマンド・メディア・サービスは、ビデオコンテンツなどのメディア作品のデジタルコピーを、作品ごとにおよび／またはサブスクリプションベースで、ユーザが操作する復号装置３００に提供し得る。復号装置は、未符号化ビデオ源１０８から、例えば、符号化装置２００を経由してネットワーク１０４を介して、そのようなメディア作品のデジタルコピーを取得し得る。
【００３０】
図４は、少なくとも１つの実施形態に係る、動き補償予測技法および付属メッセージ挿入能力を採用した、ソフトウェア実装フレーム間ビデオ符号器４００（以下、「符号器４００」）の一般的な機能ブロック図を示す。ビデオシーケンスの１つまたは複数の未符号化ビデオフレーム（ｖｉｄｆｒｍｓ）は、シーケンサ４０４に対して表示順序で提供され得る。
【００３１】
シーケンサ４０４は、各未符号化ビデオフレームに予測コーディングピクチャタイプ（例えば、Ｉ、Ｐ、またはＢ）を割り当て、フレームのシーケンスをコーディング順へ並べ替え得る。次いで、シーケンス化された未符号化ビデオフレーム（ｓｅｑｆｒｍｓ）は、ブロックインデクサ４０８およびメッセージ挿入器４１０へコーディング順に入力され得る。
【００３２】
シーケンス化された未符号化ビデオフレーム（ｓｅｑｆｒｍｓ）の各々について、ブロックインデクサ４０８は、現在のフレームの最大コーディングブロック（「ＬＣＢ（ｌａｒｇｅｓｔ  ｃｏｄｉｎｇ  ｂｌｏｃｋ）」）サイズ（例えば、６４×６４画素）を決定することができ、未符号化フレームをコーディングブロック（ｃｂｌｋｓ）のアレイに分割する。所与のフレーム内の個々のコーディングブロックは、例えば、現在のフレームについて８×８画素から最大でＬＣＢサイズまで、サイズにおいて異なってもよい。
【００３３】
次いで、各コーディングブロックは、一度に１つずつ差分器４１２に入力され、過去に符号化されたコーディングブロックから生成された、対応する予測信号ブロック（ｐｒｅｄ）との差分が求められ得る。コーディングブロック（ｃｂｌｋｓ）は、動き推定器４１６（以下で論じられる）にも提供され得る。差分器４１２において差分を求めた後に、結果として生じる残差信号（ｒｅｓ）は、変換器４２０によって周波数領域表現へ順変換されて、変換係数（ｔｃｏｆ）のブロックとなり得る。次いで、変換係数（ｔｃｏｆ）のブロックは、量子化器４２４へ送られて、量子化された係数のブロック（ｑｃｆ）となり、次いで、この量子化された係数のブロック（ｑｃｆ）は、エントロピー符号器４２８とローカル復号ループ４３０との両方へ送られ得る。
【００３４】
ローカル復号ループ４３０の始まりにおいて、逆量子化器４３２は、変換係数のブロックを逆量子化し（ｔｃｏｆ’）、それらを逆変換器４３６へ渡して、逆量子化された残差ブロック（ｒｅｓ’）を生成し得る。加算器４４０においては、動き補償予測器４４２からの予測ブロック（ｐｒｅｄ）が、逆量子化された残差ブロック（ｒｅｓ’）に加えられて、ローカルに復号されたブロック（ｒｅｃ）が生成され得る。次いで、ローカルに復号されたブロック（ｒｅｃ）は、フレームアセンブラおよび非ブロック化フィルタプロセッサ４４４へ送られ、フレームアセンブラおよび非ブロック化フィルタプロセッサ４４４は、ブロックノイズを低減し、回復されたフレーム（ｒｅｃｄ）を組み立て、回復されたフレーム（ｒｅｃｄ）は、動き推定器４１６および動き補償予測器４４２のための参照フレームとして使用され得る。
【００３５】
エントロピー符号器４２８は、量子化された変換係数（ｑｃｆ）、差分動きベクトル（ｄｍｖ）、および他のデータを符号化して、符号化されたビデオビットストリーム４４８を生成する。未符号化ビデオシーケンスの各フレームについて、符号化されたビデオビットストリーム４４８は、符号化されたピクチャデータ（例えば、符号化され量子化された変換係数（ｑｃｆ）および差分動きベクトル（ｄｍｖ））と、符号化されたフレームヘッダ（例えば、現在のフレームのＬＣＢサイズなどのシンタックス情報）とを含み得る。
【００３６】
少なくとも１つの実施形態によれば、および、図６を参照して以下でより詳細に説明されるように、１つまたは複数のメッセージ（ｍｓｇｓ）は、符号化されたビデオビットストリーム４４８に含めるためのビデオシーケンスと並行して取得され得る。メッセージデータ（ｍｓｇｓ）は、メッセージ挿入器４１０によって受け取られ、ビットストリーム４４８のフレームヘッダ内への挿入のために付属メッセージデータパケット（ｍｓｇ−ｄａｔａ）へ形成され得る。１つまたは複数のメッセージは、ビデオシーケンスの特定のフレーム（ｖｉｄｆｒｍｓ）に関連付けられ得、したがって、それらのフレームの１つまたは複数のフレームヘッダ内に組み込まれ得る。メッセージ挿入器４１０によって取得されたメッセージは、ビデオシーケンスの１つまたは複数のフレームに関連付けられ、符号化されたビデオビットストリーム内への挿入のためにエントロピー符号器４２８へ提供される。
【００３７】
図５は、少なくとも１つの実施形態に係る、動き補償予測技法および付属メッセージ抽出能力を採用しており、復号装置３００などの復号装置との使用に適している、対応するソフトウェア実装フレーム間ビデオ復号器５００（以下、「復号器５００」）の一般的な機能ブロック図を示す。復号器５００は、符号器４００におけるローカル復号ループ４３０と同様に作用し得る。
【００３８】
具体的には、復号されるべき符号化されたビデオビットストリーム５０４は、エントロピー復号器５０８へ提供され得、エントロピー復号器５０８は、量子化された係数（ｑｃｆ）のブロック、差分動きベクトル（ｄｍｖ）、付属メッセージデータパケット（ｍｓｇ−ｄａｔａ）および他のデータを復号し得る。
【００３９】
次いで、量子化された係数ブロック（ｑｃｆ）は、逆量子化器５１２によって逆量子化されて、逆量子化された係数（ｃｆ’）となり得る。次いで、逆量子化された係数（ｃｆ’）は、逆変換器５１６によって周波数領域から逆変換されて、復号された残差ブロック（ｒｅｓ’）となり得る。
【００４０】
加算器５２０は、対応する動きベクトル（ｍｖ）を使用することによって取得された、動き補償された予測ブロック（ｐｓｂ）を加え得る。結果として生じる復号されたビデオ（ｄｖ）は、フレームアセンブラおよび非ブロック化フィルタリングプロセッサ５２４において非ブロック化フィルタリングされ得る。
【００４１】
フレームアセンブラおよび非ブロック化フィルタリングプロセッサ５２４の出力におけるブロック（ｒｅｃｄ）は、ビデオシーケンスの再構築されたフレームを形成し、この再構築されたフレームは、復号器５００から出力され得、後続のコーディングブロックを復号するために、動き補償予測器５３６のための参照フレームとしても使用され得る。動き補償予測器５３６は、符号器４００の動き補償予測器４４２と同様の様式で作用する。
【００４２】
上述した復号プロセスと並行して、および、図７を参照して以下でより詳細に説明されるように、符号化されたビデオビットストリーム５０４と共に受け取られた任意の付属メッセージデータ（ｍｓｇ−ｄａｔａ）は、メッセージ抽出器５４０へ提供される。メッセージ抽出器５４０は、図４を参照して上述され、図６を参照して以下に説明される様式などで、付属メッセージデータ（ｍｓｇ−ｄａｔａ）を処理して、符号化されたビデオビットストリームに含まれていた、１つまたは複数の付属メッセージ（ｍｓｇｓ）を再現する。符号化されたビデオビットストリームから抽出されると、付属メッセージは、復号装置３００の他の構成要素、例えば、オペレーティングシステム３２４などへ提供され得る。付属メッセージは、付属メッセージの他の部分がどのように処理されるべきかに関する、復号装置への命令を含むことができ、例えば、復号装置３００に、復号されているビデオシーケンスに関する情報を表示させること、または、例えば、復号装置３００が非一時的な記憶媒体にビデオシーケンスのコピーを記憶するための許可を与えることもしくは拒否することなどによって、復号されているビデオシーケンスに関して特定のデジタル著作権管理システムを採用させることなどができる。
【００４３】
図６は、符号器４００などのビデオ符号器との使用に適している、付属メッセージ挿入能力６００（以下、「付属メッセージ挿入ルーチン６００」）を有するビデオコーディングルーチンの一実施形態を示す。当業者によって認識されるように、ビデオ符号化プロセスにおけるすべてのイベントが、図６に示されているとは限らない。むしろ、明瞭さのために、付属メッセージ挿入ルーチン６００の付属メッセージ挿入態様の説明に合理的に関連するステップのみが、図示されている。当業者は、本実施形態が１つの例示的な実施形態にすぎないこと、および、以下の特許請求の範囲によって定義されるような、より広い発明概念の範囲から逸脱せずに、本実施形態のバリエーションが作られ得ることも、認識するであろう。
【００４４】
実行ブロック６０４において、付属メッセージ挿入ルーチン６００は、未符号化ビデオシーケンスを取得する。開始ループブロック６０８において始まって、未符号化ビデオシーケンスの各フレームは、順番に処理される。実行ブロック６１２において、現在のフレームが符号化される。
【００４５】
実行ブロック６１２と並行して、判定ブロック６２０において、現在のフレームで付属メッセージが取得されない場合、付属メッセージ挿入ルーチン６００は、以下に説明される実行ブロック６４４へ進む。
【００４６】
判定ブロック６２０に戻ると、１つまたは複数の付属メッセージが現在のフレームで取得される場合、付属メッセージ挿入ルーチン６００は、実行ブロック６２４において、フレームヘッダにおいてカスタムメッセージ有効フラグを設定する。例えば、少なくとも１つの実施形態では、カスタムメッセージ有効フラグは、２つの取り得る値を有する、１ビットの長さとすることができ、１つの取り得る値は、現在のフレームのフレームヘッダ内の付属メッセージの存在を示し、第２の取り得る値は、現在のフレームのフレームヘッダ内に付属メッセージが存在しないことを示す。
【００４７】
実行ブロック６２８において、付属メッセージ挿入ルーチン６００は、フレームヘッダにおいてメッセージ個数フラグを設定する。例えば、少なくとも１つの実施形態では、メッセージ個数フラグは、４つの取り得る値を有する、２ビットの長さとすることができ、各取り得る値は、現在のフレームのフレームヘッダに含まれている付属メッセージの個数を示す（例えば、「００」は、１つの付属メッセージを示してもよく、「０１」は、２つの付属メッセージを示してもよい、など）。
【００４８】
実行ブロック６３６において、付属メッセージ挿入ルーチン６００は、現在のフレームのフレームヘッダに含まれている各付属メッセージについてフレームヘッダにおいてメッセージサイズフラグ（カスタムメッセージ長フラグ）を設定する。例えば、カスタムメッセージ長フラグは、４つの取り得る値を有する、２ビットの長さのフラグとすることができ、各取り得る値は、現在の付属メッセージの長さを示す（例えば、「００」は、２バイトのメッセージ長を示してもよく、「０１」は、４バイトのメッセージ長を示してもよく、「１０」は、１６バイトのメッセージ長を示してもよく、「１１」は、３２バイトのメッセージ長を示してもよい）。
【００４９】
実行ブロック６４０において、付属メッセージ挿入ルーチン６００は、次いで、現在のフレームのフレームヘッダ内の付属メッセージを符号化し得る。
【００５０】
実行ブロック６４４において、付属メッセージ挿入ルーチン６００は、現在のフレームのフレームヘッダ内のフレームシンタックス要素を符号化し得る。
【００５１】
実行ブロック６４８において、付属メッセージ挿入ルーチン６００は、符号化されたビットストリームに含まれるべき、符号化されたフレームヘッダおよび符号化されたフレームを提供し得る。
【００５２】
終了ループブロック６５２において、付属メッセージ挿入ルーチン６００は、開始ループブロック６０８へ戻って、未符号化ビデオシーケンス内の残りのフレームを、たった今説明されたように処理する。
【００５３】
付属メッセージ挿入ルーチン６００は、終端ブロック６９９において終了する。
【００５４】
図７は、復号器５００などの、少なくとも１つの実施形態との使用に適している、付属メッセージ抽出能力７００（以下、「付属メッセージ抽出ルーチン７００」）を有するビデオ復号ルーチンを示す。当業者によって認識されるように、ビデオ復号プロセスのすべてのイベントが、図７に示されているとは限らない。むしろ、明瞭さのために、ルーチン７００の付属メッセージ抽出態様の説明に合理的に関連するステップのみが図示され、説明されている。当業者は、本実施形態が１つの例示的な実施形態にすぎないこと、および、以下の特許請求の範囲によって定義されるような、より広い発明概念の範囲から逸脱せずに、本実施形態のバリエーションが作られ得ることも、認識するであろう。
【００５５】
実行ブロック７０４において、付属メッセージ抽出ルーチン７００は、符号化されたビデオデータのビットストリームを取得する。
【００５６】
実行ブロック７０６において、付属メッセージ抽出ルーチン７００は、例えば、フレームヘッダに対応するビットストリームの部分を解釈することによって、未符号化ビデオシーケンスの個々のフレームを表現する、ビットストリームの部分を識別する。
【００５７】
開始ループブロック７０８において始まって、符号化されたビデオデータにおける識別された各フレームは、順番に処理される。実行ブロック７１２において、現在のフレームのフレームヘッダが復号される。実行ブロック７１４において、現在のフレームのビデオデータペイロードが復号される。
【００５８】
実行ブロック７１４と並行して、判定ブロック７１５において、現在のフレームのフレームヘッダにおいてメッセージ有効フラグが設定されていない場合、付属メッセージ抽出ルーチンは、以下に説明される実行ブロック７４８へ進み得る。
【００５９】
判定ブロック７１５へ戻って、現在のフレームのフレームヘッダにおいてメッセージ有効フラグが設定されている場合、実行ブロック７２０において、付属メッセージ抽出ルーチン７００は、現在のフレームのフレームヘッダにおけるメッセージ個数フラグを読み取って、いくつの付属メッセージがフレームヘッダに含まれているかを決定する。上述したように、メッセージ個数フラグは、長さが２ビットであり、４つの取り得る値を有し、受け取られた値が、現在のフレームのフレームヘッダ内に存在する付属メッセージの数に対応し得る。
【００６０】
実行ブロック７２８において、付属メッセージ抽出ルーチン７００は、現在のフレームのフレームヘッダに含まれる付属メッセージについてのメッセージサイズフラグを読み取る。上述したように、メッセージサイズフラグは、長さが２ビットであり、４つの取り得る値を有することができ、取り得る各値は、現在の付属メッセージの長さを示す（例えば、「００」は、２バイトのメッセージ長を示してもよく、「０１」は、４バイトのメッセージ長を示してもよく、「１０」は、１６バイトのメッセージ長を示してもよく、「１１」は、３２バイトのメッセージ長を示してもよい）。
【００６１】
実行ブロック７３２において、付属メッセージ抽出ルーチン７００は、例えば、付属メッセージに関連付けられたメッセージサイズフラグによって示された適当な数のビットをフレームヘッダからコピーすることによって、現在のフレームのフレームヘッダから付属メッセージを抽出する。
【００６２】
実行ブロック７３６において、付属メッセージ抽出ルーチン７００は、次いで、例えば、復号装置３００などの復号装置のオペレーティングシステムに対して、付属メッセージを提供し得る。
【００６３】
実行ブロック７４８において、付属メッセージ抽出ルーチン７００は、次いで、例えば、復号装置３００などの復号装置のディスプレイに対して、復号されたフレームを提供し得る。
【００６４】
終了ループブロック７５２において、付属メッセージ抽出ルーチン７００は、開始ループブロック７０８へ戻って、未符号化ビデオシーケンス内の残りのフレームを、たった今説明されたように処理する。
【００６５】
付属メッセージ抽出ルーチン７００は、終端ブロック７９９において終了する。
【００６６】
特定の実施形態が、本明細書において図示され、説明されてきたが、本開示の範囲から逸脱せずに、図示され、説明された特定の実施形態の代わりに、代替的な実装形態および／または均等な実装形態が用いられてもよいことが、当業者によって認識されるであろう。本出願は、本明細書において論じられた実施形態のいかなる適応例またはバリエーションも含むことを意図されている。
【図１】
0006748657.tif 000002
【図２】
0006748657.tif 000003
【図３】
0006748657.tif 000004
【図４】
0006748657.tif 000005
【図５】
0006748657.tif 000006
【図６】
0006748657.tif 000007
【図７】
0006748657.tif 000008