(57)【要約】  ビデオ情報を記録および処理するように構成された装置は、メモリと、ディスプレイと、メモリおよびディスプレイと通信しているプロセッサとを含む。メモリは、ビデオデータを記憶するように構成される。ディスプレイは、ビデオデータのプレビューを表示するように構成される。プロセッサは、第１のフレームレートでビデオデータを記録することと、記録されたビデオデータから１つまたは複数のフレームを削除することによって、記録されたビデオデータを処理することであって、処理されたビデオデータが第１のフレームレートよりも低い第２のフレームレートを有する、処理することと、処理されたビデオデータに少なくとも部分的に基づいて、ディスプレイによって表示されるべきプレビューを生成することとを行うように構成される。
2018514985.tif 000002
【特許請求の範囲】
【請求項１】
ビデオ情報を記録および処理するための装置であって、
ビデオデータを記憶するように構成されたメモリと、
前記ビデオデータのプレビューを表示するように構成されたディスプレイと、
前記メモリおよび前記ディスプレイと通信しているプロセッサと
を備え、前記プロセッサは、
第１のフレームレートで前記ビデオデータを記録することと、
前記記録されたビデオデータから１つまたは複数のフレームを削除することによって、前記記録されたビデオデータを処理することと、ここで、前記処理されたビデオデータが、前記第１のフレームレートよりも低い第２のフレームレートを有する、
前記処理されたビデオデータに少なくとも部分的に基づいて、前記ディスプレイによって表示されるべき前記プレビューを生成することと
を行うように構成された、装置。
【請求項２】
前記プロセッサが、前記ビデオデータの前記記録と同時並行して、前記生成されたプレビューを表示するよう、前記ディスプレイに命令するようにさらに構成された、請求項１に記載の装置。
【請求項３】
前記プロセッサが、前記記録されたビデオデータからＮ番目のフレームを反復的に削除することによって、前記記録されたビデオデータを処理するようにさらに構成され、ここにおいて、Ｎが１よりも大きい整数である、請求項１に記載の装置。
【請求項４】
前記プロセッサが、前記記録されたビデオデータからＮ番目ごとのフレームを削除することによって、前記記録されたビデオデータを処理するようにさらに構成された、請求項３に記載の装置。
【請求項５】
前記プロセッサが、
前記記録されたビデオデータに少なくとも部分的に基づいてコーディング統計値を生成することと、
前記生成されたコーディング統計値に少なくとも部分的に基づいて、前記記録されたビデオデータから削除されるべき前記１つまたは複数のフレームを決定することと
を行うようにさらに構成された、請求項１に記載の装置。
【請求項６】
前記装置がエンコーダを備え、前記プロセッサが、前記ビデオ情報を符号化するようにさらに構成された、請求項１に記載の装置。
【請求項７】
前記装置がデコーダを備え、前記プロセッサが、前記ビデオ情報を復号するようにさらに構成された、請求項１に記載の装置。
【請求項８】
前記プロセッサが、
前記記録されたビデオデータに少なくとも部分的に基づいて生成されたコーディング統計値を受信することと、
前記受信されたコーディング統計値に少なくとも部分的に基づいて、前記記録されたビデオデータから削除されるべき前記１つまたは複数のフレームを決定することと
を行うようにさらに構成された、請求項１に記載の装置。
【請求項９】
前記プロセッサが、
前記記録されたビデオデータから削除されるべき前記１つまたは複数のフレームの指示を受信することと、
前記記録されたビデオデータから、前記受信された指示中で削除されるべきであると示された前記１つまたは複数のフレームを削除することと
を行うようにさらに構成された、請求項１に記載の装置。
【請求項１０】
ビデオ情報を記録および処理する方法であって、前記方法は、
第１のフレームレートでビデオデータを記録することと、
前記記録されたビデオデータから１つまたは複数のフレームを削除することによって、前記記録されたビデオデータを処理することと、ここで、前記処理されたビデオデータが、前記第１のフレームレートよりも低い第２のフレームレートを有する、
前記処理されたビデオデータに少なくとも部分的に基づいて、前記記録されたビデオデータのプレビューを生成することと、
前記記録されたビデオデータの前記生成されたプレビューを表示することと
を備える、方法。
【請求項１１】
前記ビデオデータの前記記録と同時並行して、前記生成されたプレビューを表示することをさらに備える、請求項１０に記載の方法。
【請求項１２】
前記記録されたビデオデータからＮ番目のフレームを反復的に削除することによって、前記記録されたビデオデータを処理することをさらに備え、ここにおいて、Ｎが１よりも大きい整数である、請求項１０に記載の方法。
【請求項１３】
前記記録されたビデオデータからＮ番目ごとのフレームを削除することによって、前記記録されたビデオデータを処理することをさらに備える、請求項１２に記載の方法。
【請求項１４】
前記記録されたビデオデータに少なくとも部分的に基づいてコーディング統計値を生成することと、
前記生成されたコーディング統計値に少なくとも部分的に基づいて、前記記録されたビデオデータから削除されるべき前記１つまたは複数のフレームを決定することと
をさらに備える、請求項１０に記載の方法。
【請求項１５】
ビットストリーム中で前記ビデオ情報を符号化することをさらに備える、請求項１０に記載の方法。
【請求項１６】
ビットストリーム中で前記ビデオ情報を復号することをさらに備える、請求項１０に記載の方法。
【請求項１７】
前記記録されたビデオデータに少なくとも部分的に基づいて生成されたコーディング統計値を受信することと、
前記受信されたコーディング統計値に少なくとも部分的に基づいて、前記記録されたビデオデータから削除されるべき前記１つまたは複数のフレームを決定することと
をさらに備える、請求項１０に記載の方法。
【請求項１８】
前記記録されたビデオデータから削除されるべき前記１つまたは複数のフレームの指示を受信することと、
前記記録されたビデオデータから、前記受信された指示中で削除されるべきであると示された前記１つまたは複数のフレームを削除することと
をさらに備える、請求項１０に記載の方法。
【請求項１９】
非一時的コンピュータ可読媒体であって、
実行されたときに、装置に、
第１のフレームレートでビデオデータを記録することと、
前記記録されたビデオデータから１つまたは複数のフレームを削除することによって、前記記録されたビデオデータを処理することと、ここで、前記処理されたビデオデータが、前記第１のフレームレートよりも低い第２のフレームレートを有する、
前記処理されたビデオデータに少なくとも部分的に基づいて、前記記録されたビデオデータのプレビューを生成することと、
前記記録されたビデオデータの前記生成されたプレビューを表示することと
を行わせるコードを備える、
非一時的コンピュータ可読媒体。
【請求項２０】
前記コードが、前記装置に、前記記録されたビデオデータからＮ番目のフレームを反復的に削除することによって、前記記録されたビデオデータを処理することをさらに行わせ、ここにおいて、Ｎが１よりも大きい整数である、請求項１９に記載のコンピュータ可読媒体。
【請求項２１】
前記コードが、前記装置に、前記記録されたビデオデータからＮ番目ごとのフレームを削除することによって、前記記録されたビデオデータを処理することをさらに行わせる、請求項２０に記載のコンピュータ可読媒体。
【請求項２２】
前記コードが、前記装置に、
前記記録されたビデオデータに少なくとも部分的に基づいてコーディング統計値を生成することと、
前記生成されたコーディング統計値に少なくとも部分的に基づいて、前記記録されたビデオデータから削除されるべき前記１つまたは複数のフレームを決定することと
をさらに行わせる、請求項１９に記載のコンピュータ可読媒体。
【請求項２３】
ビデオ情報を記録および処理するように構成されたビデオデバイスであって、前記ビデオデバイスは、
第１のフレームレートでビデオデータを記録するための手段と、
前記記録されたビデオデータから１つまたは複数のフレームを削除することによって、前記記録されたビデオデータを処理するための手段と、ここで、前記処理されたビデオデータが、前記第１のフレームレートよりも低い第２のフレームレートを有する、
前記処理されたビデオデータに少なくとも部分的に基づいて、前記記録されたビデオデータのプレビューを生成するための手段と、
前記記録されたビデオデータの前記生成されたプレビューを表示するための手段と
を備える、ビデオデバイス。
【請求項２４】
前記処理が、前記記録されたビデオデータからＮ番目のフレームを反復的に削除することによって、前記記録されたビデオデータを処理するための手段をさらに備え、ここにおいて、Ｎが１よりも大きい整数である、請求項２３に記載のビデオデバイス。
【請求項２５】
前記処理が、前記記録されたビデオデータからＮ番目ごとのフレームを削除することによって、前記記録されたビデオデータを処理するための手段をさらに備える、請求項２４に記載のビデオデバイス。
【請求項２６】
前記記録されたビデオデータに少なくとも部分的に基づいてコーディング統計値を生成するための手段と、
前記生成されたコーディング統計値に少なくとも部分的に基づいて、前記記録されたビデオデータから削除されるべき前記１つまたは複数のフレームを決定するための手段と
をさらに備える、請求項２３に記載のビデオデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、ビデオ記録、コーディング、および圧縮の分野に関し、詳細には、ビデオ記録デバイスにおいてビデオデータを処理することに関する。
【背景技術】
【０００２】
[0002]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末（ＰＤＡ）、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、ＭＰＥＧ−２、ＭＰＥＧ−４、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＴＵ−Ｔ  Ｈ．２６４／ＭＰＥＧ−４，Ｐａｒｔ１０，アドバンストビデオコーディング（ＡＶＣ：Advanced Video Coding）、高効率ビデオコーディング（ＨＥＶＣ：High Efficiency Video Coding）規格によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法などのビデオ圧縮技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および／または記憶し得る。
【０００３】
[0003]ビデオ記録能力を有するビデオデバイスは、記録されたビデオデータが後で閲覧され得るように、ビデオデータを記録するために使用され得る。そのようなビデオデバイスがビデオデータを記録しているとき、ビデオデバイスは、一般に、現在記録されているビデオデータのプレビューを表示する。たとえば、ユーザがユーザのビデオデバイス上のビデオ記録機能をアクティブにしたとき、ビデオデバイス上に設けられたディスプレイスクリーン／ユニットは、ユーザが、所望の記録オブジェクトがカメラの視野内に正しく配置されることを確実にすることができるように、ビデオデバイス上に設けられたカメラが現在記録しているもののプレビューを表示し得る。したがって、ビデオデバイスは、プレビューを生成および表示するためにビデオデバイスが利用可能な、利用可能帯域幅および電力の一部を消費し得、帯域幅および電力消費は、記録されたビデオデータの品質および／またはサイズに比例し得る。
【発明の概要】
【０００４】
[0004]本開示のシステム、方法およびデバイスは、それぞれいくつかの発明的態様を有し、それらのうちの単一の態様が、本明細書で開示する望ましい属性を単独で担当するとは限らない。
【０００５】
[0005]一態様では、ビデオ情報を記録および処理するように構成された装置は、メモリと、ディスプレイと、メモリおよびディスプレイと通信しているプロセッサとを含む。メモリは、ビデオデータを記憶するように構成される。ディスプレイは、ビデオデータのプレビューを表示するように構成される。プロセッサは、第１のフレームレートでビデオデータを記録することと、記録されたビデオデータから１つまたは複数のフレームを削除（removing）することによって、記録されたビデオデータを処理することであって、処理されたビデオデータが、第１のフレームレートよりも低い第２のフレームレートを有する、処理することと、処理されたビデオデータに少なくとも部分的に基づいて、ディスプレイによって表示されるべきプレビューを生成することとを行うように構成される。
【０００６】
[0006]別の態様では、ビデオ情報を記録および処理する方法は、第１のフレームレートでビデオデータを記録することと、記録されたビデオデータから１つまたは複数のフレームを削除することによって、記録されたビデオデータを処理することであって、処理されたビデオデータが、第１のフレームレートよりも低い第２のフレームレートを有する、処理することと、処理されたビデオデータに少なくとも部分的に基づいて、記録されたビデオデータのプレビューを生成することと、記録されたビデオデータの生成されたプレビューを表示することとを含む。
【０００７】
[0007]別の態様では、非一時的コンピュータ可読媒体は、実行されたとき、装置に、第１のフレームレートでビデオデータを記録することと、記録されたビデオデータから１つまたは複数のフレームを削除することによって、記録されたビデオデータを処理することであって、処理されたビデオデータが、第１のフレームレートよりも低い第２のフレームレートを有する、処理することと、処理されたビデオデータに少なくとも部分的に基づいて、記録されたビデオデータのプレビューを生成することと、記録されたビデオデータの生成されたプレビューを表示することとを行わせるコードを含んでいる。
【０００８】
[0008]別の態様では、ビデオ情報を記録および処理するように構成されたビデオデバイスは、第１のフレームレートでビデオデータを記録するための手段と、記録されたビデオデータから１つまたは複数のフレームを削除することによって、記録されたビデオデータを処理するための手段であって、処理されたビデオデータが、第１のフレームレートよりも低い第２のフレームレートを有する、処理するための手段と、処理されたビデオデータに少なくとも部分的に基づいて、記録されたビデオデータのプレビューを生成するための手段と、記録されたビデオデータの生成されたプレビューを表示するための手段とを含む。
【図面の簡単な説明】
【０００９】
【図１Ａ】[0009]本開示における態様による技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。
【図１Ｂ】[0010]本開示における態様による技法を実施し得る別の例示的なビデオ符号化および復号システムを示すブロック図。
【図２Ａ】[0011]本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図２Ｂ】[0012]本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図。
【図３Ａ】[0013]本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図。
【図３Ｂ】[0014]本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図。
【図４】[0015]本開示で説明する態様による、例示的なビデオデバイスを示すブロック図。
【図５】[0016]本開示で説明する態様による、例示的なビデオデバイスを示すブロック図。
【図６】[0017]本開示の一実施形態による、ビデオデータを処理する例示的な方法を示すフローチャート。
【図７】[0018]本開示の一実施形態による、ビデオデータを処理する例示的な方法を示すフローチャート。
【発明を実施するための形態】
【００１０】
[0019]概して、本開示は、ビデオ記録デバイスのコンテキストにおけるビデオデータ処理に関する。より詳細には、本開示は、ビデオデータを記録することと、ビデオデータを処理することと、処理されたビデオデータに基づいて、ビデオ記録デバイスによって表示されるプレビューを生成することとを行うためのシステムおよび方法に関する。
【００１１】
[0020]ビデオ記録能力を有するビデオデバイス（たとえば、スマートフォン、デジタルカムコーダなど）では、ビデオデバイスのカメラによってビデオデータが記録された後、記録されたビデオデータは、一般に、（ｉ）記録されたビデオデータが（たとえば、記憶および／または送信の前の圧縮のために）コード化ビットストリームに変換され得るように、エンコーダに、および（ｉｉ）記録されたビデオデータのプレビューがユーザに表示され得るように、ディスプレイに、与えられる。ユーザは、カメラを所望の記録オブジェクトに向け、所望の記録オブジェクトがカメラの視野内に正しく配置されることを確実にするために、ディスプレイ上に表示されたプレビューを使用し得る。
【００１２】
[0021]しかしながら、ビデオデバイスによって記録されるビデオデータの品質が改善するにつれて、記録されたデータのサイズも増加し、記録されたビデオデータのプレビューを生成および表示するためにビデオデバイスによって実施される処理が、より多くの帯域幅および電力を消費することを引き起こし得る。たとえば、高精細度（ＨＤ）および超高精細度（ＵＨＤ）ビデオデータのプレビューを生成および表示することは、大量の帯域幅および電力が消費されることを必要とし得る。
【００１３】
[0022]したがって、ビデオ記録デバイスにおける帯域幅および電力消費を低減することができる、ビデオデータを処理するための改善された方法が望まれる。
【００１４】
[0023]本開示では、ビデオデバイスのプレビュー経路（preview path）においてビデオデータを処理するための帯域幅および電力消費要件を低減するための様々な技法について説明する。本開示のいくつかの実施形態では、ビデオデバイスは、プレビュー経路において処理されるべきビデオデータの量を低減するために、（たとえば、ビデオデータ中の１つまたは複数のフレームを廃棄（discarding）することによって）ビデオデータの一部分を削除（removes）する。たとえば、ビデオデータが３０フレーム毎秒（ｆｐｓ）で記録された場合、６番目ごとのフレームがビデオデータから削除され得、その結果、プレビュー経路において処理される必要がある得られたビデオデータは２５ｆｐｓになる。
【００１５】
[0024]さらに、本開示は、ビットストリーム中でビデオデータをコーディングするための様々な技法について説明する。ビデオデータをコーディングする間に生成された情報が、プレビュー経路においてビデオデータを処理する際に利用され得る。たとえば、コーディング（たとえば、符号化または復号）プロセス中に生成されたエンコーダ統計値が、ビデオデータのどの（１つまたは複数の）部分が削除されるべきであるかを選択するために使用され得る。ビデオデバイスは、ビデオデータを符号化するプロセス中に取得された情報に基づいて、記録されたビデオデータ中のいくつかのフレームが冗長であり、したがって、プレビュー品質に著しく影響を及ぼすことなしに、プレビュー経路においてビデオデータから削除されることが可能であると決定し得る。
【００１６】
ビデオ圧縮技法
[0025]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために空間（イントラピクチャ）予測および／または時間（インターピクチャ）予測を実施する。ブロックベースのビデオコーディングの場合、ビデオスライス（たとえば、ビデオフレーム、ビデオフレームの一部分など）が、ツリーブロック、コーディングユニット（ＣＵ：coding unit）および／またはコーディングノードと呼ばれることもあるビデオブロックに区分（partitioned）され得る。ピクチャのイントラコード化（Ｉ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測を使用して符号化される。ピクチャのインターコード化（ＰまたはＢ）スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間予測、または他の参照ピクチャ中の参照サンプルに対する時間予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
【００１７】
[0026]空間予測または時間予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域（pixel domain）から変換領域（transform domain）に変換され、残差変換係数が生じ得、その残差変換係数は、次いで量子化され得る。最初は２次元アレイで構成される量子化変換係数は、変換係数の１次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピー符号化が適用され得る。
【００１８】
[0027]以下の説明では、いくつかの実施形態に関係するＨ．２６４／ＡＶＣ技法について説明し、ＨＥＶＣ規格および関係する技法についても説明する。いくつかの実施形態について、ＨＥＶＣおよび／またはＨ．２６４規格のコンテキストにおいて本明細書で説明するが、本明細書で開示するシステムおよび方法が任意の好適なビデオコーディング規格に適用可能であり得ることを、当業者は諒解されよう。たとえば、本明細書で開示する実施形態は、（たとえば、国際電気通信連合電気通信標準化部門［ＩＴＵ−Ｔ］ビデオコーディングエキスパートグループ［ＶＣＥＧ］または国際標準化機構／国際電気標準会議［ＩＳＯ／ＩＥＣ］ムービングピクチャエキスパートグループ［ＭＰＥＧ］によって開発された規格を含む）以下の規格、すなわち、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびそれのスケーラブルビデオコーディング（ＳＶＣ：Scalable Video Coding）拡張とマルチビュービデオコーディング（ＭＶＣ：Multiview Video Coding）拡張とを含む（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４のうちの１つまたは複数に適用可能であり得る。
【００１９】
[0028]ＨＥＶＣは、概して、多くの点で、前（previous）のビデオコーディング規格のフレームワークに従う。ＨＥＶＣにおける予測のユニットは、いくつかの前のビデオコーディング規格における予測のユニット（たとえば、マクロブロック）とは異なる。事実上、マクロブロックの概念は、いくつかの前のビデオコーディング規格において理解されているように、ＨＥＶＣ中に存在しない。マクロブロックは、考えられる利益の中でも、高いフレキシビリティを与え得る、４分木方式に基づく階層構造と置き換えられる。たとえば、ＨＥＶＣ方式内で、３つのタイプのブロック、コーディングユニット（ＣＵ）、予測ユニット（ＰＵ：Prediction Unit）、および変換ユニット（ＴＵ：Transform Unit）が定義される。ＣＵは領域分割の基本ユニットを指すことがある。ＣＵはマクロブロックの概念に類似すると見なされ得るが、ＨＥＶＣは、ＣＵの最大サイズを制限せず、コンテンツ適応性を改善するために４つの等しいサイズのＣＵへの再帰的分割を可能にし得る。ＰＵはインター／イントラ予測の基本ユニットと見なされ得、単一のＰＵは、不規則な画像パターンを効果的にコーディングするために、複数の任意の形状パーティションを含んでいることがある。ＴＵは変換の基本ユニットと見なされ得る。ＴＵは、ＰＵとは無関係に定義され得るが、ＴＵのサイズは、ＴＵが属するＣＵのサイズに制限され得る。３つの異なる概念へのブロック構造のこの分離は、各ユニットがユニットのそれぞれの役割に従って最適化されることを可能にし得、それによりコーディング効率が改善され得る。
【００２０】
[0029]単に説明の目的で、本明細書で開示するいくつかの実施形態について、ビデオデータのただ２つのレイヤ（たとえば、ＢＬなどの下位レイヤ、およびＥＬなどの上位レイヤ）を含む例を用いて説明する。ビデオデータの「レイヤ」は、概して、ビュー、フレームレート、解像度などの少なくとも１つの共通の特性を有するピクチャのシーケンスを指すことがある。たとえば、レイヤは、マルチビュービデオデータの特定のビュー（たとえば、パースペクティブ）に関連付けられたビデオデータを含み得る。別の例として、レイヤは、スケーラブルビデオデータの特定のレイヤに関連付けられたビデオデータを含み得る。したがって、本開示は、ビデオデータのレイヤおよびビューを互換的に指すことがある。たとえば、ビデオデータのビューはビデオデータのレイヤと呼ばれることがあり、ビデオデータのレイヤはビデオデータのビューと呼ばれることがある。さらに、（マルチレイヤビデオコーダまたはマルチレイヤエンコーダデコーダとも呼ばれる）マルチレイヤコーデックは、マルチビューコーデックまたはスケーラブルコーデック（たとえば、ＭＶ−ＨＥＶＣ、３Ｄ−ＨＥＶＣ、ＳＨＶＣ、または別のマルチレイヤコーディング技法を使用するビデオデータを符号化および／または復号するように構成されたコーデック）を共同で指すことがある。ビデオ符号化およびビデオ復号は両方とも、概して、ビデオコーディングと呼ばれることがある。そのような例は、複数のＢＬ、ＲＬ、および／またはＥＬを含む構成に適用可能であり得ることを理解されたい。さらに、説明を簡単にするために、以下の開示は、いくつかの実施形態に関して「フレーム」または「ブロック」という用語を含む。ただし、これらの用語は限定的なものではない。たとえば、以下で説明する技法は、ブロック（たとえば、ＣＵ、ＰＵ、ＴＵ、マクロブロックなど）、スライス、フレームなど、任意の好適なビデオユニットとともに使用され得る。
【００２１】
ビデオコーディング規格
[0030]ビデオ画像、ＴＶ画像、静止画像、あるいはビデオレコーダまたはコンピュータによって生成された画像など、デジタル画像は、水平ラインおよび垂直ラインで構成されたピクセルまたはサンプルからなり得る。単一の画像中のピクセルの数は一般に数万個である。各ピクセルは、一般に、ルミナンス情報とクロミナンス情報とを含んでいる。圧縮がなければ、画像エンコーダから画像デコーダに搬送されるべき情報の甚だしい量は、リアルタイム画像送信を不可能にするであろう。送信されるべき情報の量を低減するために、ＪＰＥＧ、ＭＰＥＧおよびＨ．２６３規格など、いくつかの異なる圧縮方法が開発された。
【００２２】
[0031]ビデオコーディング規格は、ＩＴＵ−Ｔ  Ｈ．２６１、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−１  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６２またはＩＳＯ／ＩＥＣ  ＭＰＥＧ−２  Ｖｉｓｕａｌ、ＩＴＵ−Ｔ  Ｈ．２６３、ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  Ｖｉｓｕａｌ、およびそれのスケーラブルビデオコーディング（ＳＶＣ）拡張とマルチビュービデオコーディング（ＭＶＣ）拡張とを含む、（ＩＳＯ／ＩＥＣ  ＭＰＥＧ−４  ＡＶＣとしても知られる）ＩＴＵ−Ｔ  Ｈ．２６４を含む。
【００２３】
[0032]さらに、ビデオコーディング規格、すなわち、ＨＥＶＣが、ＩＴＵ−Ｔ  ＶＣＥＧとＩＳＯ／ＩＥＣ  ＭＰＥＧとのジョイントコラボレーションチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaboration Team on Video Coding）によって開発されている。ＨＥＶＣドラフト１０についての完全引用は、文書ＪＣＴＶＣ−Ｌ１００３、Ｂｒｏｓｓら、「High Efficiency Video Coding (HEVC) Text Specification Draft 10」、ＩＴＵ−Ｔ  ＳＧ１６  ＷＰ３およびＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１のジョイントコラボレーティブチームオンビデオコーディング（ＪＣＴ−ＶＣ：Joint Collaborative Team on Video Coding）、第１２回会合：ジュネーブ、スイス、２０１３年１月１４日〜２０１３年１月２３日である。ＨＥＶＣのマルチビュー拡張すなわちＭＶ−ＨＥＶＣ、およびＳＨＶＣと称されるＨＥＶＣのスケーラブル拡張も、それぞれＪＣＴ−３Ｖ（ＩＴＵ−Ｔ／ＩＳＯ／ＩＥＣジョイントコラボレーティブチームオン３Ｄビデオコーディング拡張開発）およびＪＣＴ−ＶＣによって開発されている。
【００２４】
ビデオコーディングシステム
[0033]添付の図面を参照しながら新規のシステム、装置、および方法の様々な態様について以下でより十分に説明する。ただし、本開示は、多くの異なる形態で実施され得、本開示全体にわたって提示する任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるために与えるものである。本明細書の教示に基づいて、本開示の範囲は、本開示の他の態様とは無関係に実装されるにせよ、本開示の他の態様と組み合わせて実装されるにせよ、本明細書で開示する新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者なら諒解されたい。たとえば、本明細書に記載される態様をいくつ使用しても、装置は実装され得、または方法は実施され得る。さらに、本開示の範囲は、本明細書に記載する本開示の様々な態様に加えてまたはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実施されるそのような装置または方法をカバーするものとする。本明細書で開示するどの態様も請求項の１つまたは複数の要素によって実施され得ることを理解されたい。
【００２５】
[0034]本明細書では特定の態様について説明するが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好適な態様のいくつかの利益および利点について説明するが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに広く適用可能であるものとし、それらのいくつかを例として、図および好適な態様についての以下の説明において示す。発明を実施するための形態および図面は、本開示を限定するものではなく説明するものにすぎず、本開示の範囲は添付の特許請求の範囲およびそれの均等物によって定義される。
【００２６】
[0035]添付の図面は例を示している。添付の図面中の参照番号によって示される要素は、以下の説明における同様の参照番号によって示される要素に対応する。本開示では、序数語（たとえば、「第１の」、「第２の」、「第３の」など）で始まる名前を有する要素は、必ずしもそれらの要素が特定の順序を有することを暗示するとは限らない。むしろ、そのような序数語は、同じまたは同様のタイプの異なる要素を指すために使用されるにすぎない。
【００２７】
[0036]図１Ａは、本開示で説明する態様による技法を利用し得る例示的なビデオ符号化および復号１０を示すブロック図である。本明細書で使用し説明する「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化とビデオ復号とを総称的に指すことがある。ビデオエンコーダおよびビデオデコーダに加えて、本出願で説明する態様は、トランスコーダ（たとえば、ビットストリームを復号し、別のビットストリームを再符号化することができるデバイス）およびミドルボックス（たとえば、ビットストリームを変更、変換、および／または場合によっては操作することができるデバイス）など、他の関係するデバイスに拡張され得る。
【００２８】
[0037]図１Ａに示されているように、ビデオ符号化および復号１０は、宛先デバイス１４によって後で復号されるべき符号化ビデオデータを生成するソースデバイス１２を含む。図１Ａの例では、ソースデバイス１２と宛先デバイス１４とは別々のデバイス上にあり、詳細には、ソースデバイス１２はソースデバイスの一部であり、宛先デバイス１４は宛先デバイスの一部である。ただし、ソースデバイス１２および宛先デバイス１４は、図１Ｂの例に示されているように、同じデバイス上にあるかまたはそれの一部であり得ることに留意されたい。
【００２９】
[0038]もう一度図１Ａを参照すると、ソースデバイス１２および宛先デバイス１４は、それぞれ、デスクトップコンピュータ、ノートブック（たとえば、ラップトップ）コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。様々な実施形態では、ソースデバイス１２および宛先デバイス１４は、ワイヤレス通信のために備えられ得る。
【００３０】
[0039]宛先デバイス１４は、復号されるべき符号化ビデオデータをリンク１６を介して受信し得る。リンク１６は、ソースデバイス１２から宛先デバイス１４に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。図１Ａの例では、リンク１６は、ソースデバイス１２が符号化ビデオデータをリアルタイムで宛先デバイス１４に直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス１４に送信され得る。通信媒体は、無線周波数（ＲＦ）スペクトルあるいは１つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス１２から宛先デバイス１４への通信を可能にするために有用であり得る任意の他の機器を含み得る。
【００３１】
[0040]代替的に、符号化データは出力インターフェース２２からオプションのストレージデバイス３１に出力され得る。同様に、符号化データは、たとえば、宛先デバイス１４の入力インターフェース２８によってストレージデバイス３１からアクセスされ得る。ストレージデバイス３１は、ハードドライブ、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイス３１は、ソースデバイス１２によって生成された符号化ビデオを保持し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス１４は、ストリーミングまたはダウンロードを介してストレージデバイス３１から記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、その符号化ビデオデータを宛先デバイス１４に送信することとが可能な任意のタイプのサーバであり得る。例示的なファイルサーバとしては、（たとえば、ウェブサイトのための）ウェブサーバ、ファイル転送プロトコル（ＦＴＰ）サーバ、ネットワーク接続ストレージ（ＮＡＳ）デバイス、またはローカルディスクドライブがある。宛先デバイス１４は、インターネット接続を含む、任意の標準のデータ接続を通して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル（たとえば、ワイヤレスローカルエリアネットワーク［ＷＬＡＮ］接続）、ワイヤード接続（たとえば、デジタル加入者線（ＤＳＬ）、ケーブルモデムなど）、またはその両方の組合せを含み得る。ストレージデバイス３１からの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
【００３２】
[0041]本開示の技法はワイヤレス適用例または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介したストリーミングビデオ送信（たとえば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）上での動的適応ストリーミングなど）、データ記憶媒体に記憶するためのデジタルビデオの符号化、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオ符号化および復号１０は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および／またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
【００３３】
[0042]図１Ａの例では、ソースデバイス１２は、ビデオソース１８と、ビデオエンコーダ２０と、出力インターフェース２２とを含む。場合によっては、出力インターフェース２２は、変調器／復調器（モデム）および／または送信機を含み得る。ソースデバイス１２において、ビデオソース１８は、ビデオキャプチャデバイス、たとえばビデオカメラ、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、ビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェース、および／またはソースビデオとしてコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステムなどのソース、あるいはそのようなソースの組合せを含み得る。一例として、ビデオソース１８がビデオカメラである場合、ソースデバイス１２および宛先デバイス１４は、図１Ｂの例に示されているように、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび／またはワイヤード適用例に適用され得る。
【００３４】
[0043]キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成されたビデオは、ビデオエンコーダ２０によって符号化され得る。符号化ビデオデータは、ソースデバイス１２の出力インターフェース２２を介して宛先デバイス１４に直接送信され得る。符号化ビデオデータは、さらに（または代替として）、復号および／または再生のための宛先デバイス１４または他のデバイスによる後のアクセスのためにストレージデバイス３１上に記憶され得る。図１Ａおよび図１Ｂに示されているビデオエンコーダ２０は、図２Ａ示されているビデオエンコーダ２０、図２Ｂに示されているビデオエンコーダ２３、または本明細書で説明する他のビデオエンコーダを備え得る。
【００３５】
[0044]図１Ａの例では、宛先デバイス１４は、入力インターフェース２８と、ビデオデコーダ３０と、ディスプレイデバイス３２とを含む。場合によっては、入力インターフェース２８は、受信機および／またはモデムを含み得る。宛先デバイス１４の入力インターフェース２８は、リンク１６を介しておよび／またはストレージデバイス３１から符号化ビデオデータを受信し得る。リンク１６を介して通信され、またはストレージデバイス３１上に与えられた符号化ビデオデータは、ビデオデータを復号する際に、ビデオデコーダ３０などのビデオデコーダが使用するためのビデオエンコーダ２０によって生成される様々なシンタックス要素を含み得る。そのようなシンタックス要素は、通信媒体上で送信された、記憶媒体上に記憶された、またはファイルサーバ上に記憶された符号化ビデオデータに含まれ得る。図１Ａおよび図１Ｂに示されているビデオデコーダ３０は、図３Ａ示されているビデオデコーダ３０、図３Ｂに示されているビデオデコーダ３３、または本明細書で説明する他のビデオデコーダを備え得る。
【００３６】
[0045]ディスプレイデバイス３２は、宛先デバイス１４と一体化されるかまたはその外部にあり得る。いくつかの例では、宛先デバイス１４は、一体型ディスプレイデバイスを含み、また、外部ディスプレイデバイスとインターフェースするように構成され得る。他の例では、宛先デバイス１４はディスプレイデバイスであり得る。概して、ディスプレイデバイス３２は、復号ビデオデータをユーザに対して表示し、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイ、有機発光ダイオード（ＯＬＥＤ）ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
【００３７】
[0046]関係する態様では、図１Ｂは例示的なビデオ符号化および復号システム１０’を示し、ここにおいて、ソースデバイス１２および宛先デバイス１４はデバイス１１上にあるかまたはそれの一部である。デバイス１１は、「スマート」フォンなどの電話ハンドセットであり得る。デバイス１１は、ソースデバイス１２および宛先デバイス１４と動作可能に通信しているオプションのプロセッサ／コントローラデバイス１３を含み得る。図１Ｂのシステム１０’は、ビデオエンコーダ２０と出力インターフェース２２との間のビデオ処理ユニット２１をさらに含み得る。いくつかの実装形態では、図１Ｂに示されているように、ビデオ処理ユニット２１は別個のユニットであるが、他の実装形態では、ビデオ処理ユニット２１は、ビデオエンコーダ２０および／またはプロセッサ／コントローラデバイス１３の一部分として実装され得る。システム１０’はまた、ビデオシーケンス中の当該のオブジェクトを追跡することができるオプションのトラッカー２９を含み得る。追跡されるべき当該のオブジェクトは、本開示の１つまたは複数の態様に関して説明する技法によってセグメント化され得る。関係する態様では、追跡することは、単独でまたはトラッカー２９とともに、ディスプレイデバイス３２によって実施され得る。図１Ｂのシステム１０’およびそれのコンポーネントは、場合によっては図１Ａのシステム１０およびそれのコンポーネントと同様である。
【００３８】
[0047]ビデオエンコーダ２０およびビデオデコーダ３０は、ＨＥＶＣ規格などのビデオ圧縮規格に従って動作し得、ＨＥＶＣテストモデル（ＨＭ：HEVC Test Model）に準拠し得る。代替的に、ビデオエンコーダ２０およびビデオデコーダ３０は、代替的にＭＰＥＧ−４，Ｐａｒｔ１０，ＡＶＣと呼ばれるＩＴＵ−Ｔ  Ｈ．２６４規格など、他のプロプライエタリ規格または業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオ圧縮規格の他の例としてはＭＰＥＧ−２およびＩＴＵ−Ｔ  Ｈ．２６３がある。
【００３９】
[0048]図１Ａおよび図１Ｂの例には示されていないが、ビデオエンコーダ２０およびビデオデコーダ３０は、それぞれオーディオエンコーダおよびデコーダと統合され得、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理するために、適切なＭＵＸ−ＤＥＭＵＸユニット、または他のハードウェアおよびソフトウェアを含み得る。適用可能な場合、いくつかの例では、ＭＵＸ−ＤＥＭＵＸユニットは、ＩＴＵ  Ｈ．２２３マルチプレクサプロトコル、またはユーザデータグラムプロトコル（ＵＤＰ）などの他のプロトコルに準拠し得る。
【００４０】
[0049]ビデオエンコーダ２０およびビデオデコーダ３０はそれぞれ、１つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、ソフトウェアのための命令を好適な非一時的コンピュータ可読媒体に記憶し、本開示の技法を実施するために１つまたは複数のプロセッサを使用してハードウェアでその命令を実行し得る。ビデオエンコーダ２０およびビデオデコーダ３０の各々は１つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ／デコーダ（コーデック）の一部として統合され得る。
【００４１】
ビデオコーディングプロセス
[0050]上記で手短に述べたように、ビデオエンコーダ２０はビデオデータを符号化する。ビデオデータは１つまたは複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。いくつかの事例では、ピクチャはビデオ「フレーム」と呼ばれることがある。ビデオエンコーダ２０がビデオデータを符号化するとき、ビデオエンコーダ２０はビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成するビットのシーケンスを含み得る。ビットストリームは、コード化ピクチャと関連データとを含み得る。コード化ピクチャはピクチャのコード化表現である。
【００４２】
[0051]ビットストリームを生成するために、ビデオエンコーダ２０は、ビデオデータ中の各ピクチャに対して符号化演算を実施し得る。ビデオエンコーダ２０がピクチャに対して符号化演算を実施するとき、ビデオエンコーダ２０は、一連のコード化ピクチャと関連データとを生成し得る。関連データは、ビデオパラメータセット（ＶＰＳ）と、シーケンスパラメータセット（ＳＰＳ：sequence parameter set）と、ピクチャパラメータセット（ＰＰＳ：picture parameter set）と、適応パラメータセット（ＡＰＳ：adaptation parameter set）と、他のシンタックス構造とを含み得る。ＳＰＳは、ピクチャの０個以上のシーケンスに適用可能なパラメータを含んでいることがある。ＰＰＳは、０個以上のピクチャに適用可能なパラメータを含んでいることがある。ＡＰＳは、０個以上のピクチャに適用可能なパラメータを含んでいることがある。ＡＰＳ中のパラメータは、ＰＰＳ中のパラメータよりも変化する可能性が高いパラメータであり得る。
【００４３】
[0052]コード化ピクチャを生成するために、ビデオエンコーダ２０は、ピクチャを等しいサイズのビデオブロックに区分し得る。ビデオブロックはサンプルの２次元アレイであり得る。ビデオブロックの各々はツリーブロックに関連付けられる。いくつかの事例では、ツリーブロックは、最大コーディングユニット（ＬＣＵ：largest coding unit）と呼ばれることがある。ＨＥＶＣのツリーブロックは、Ｈ．２６４／ＡＶＣなど、以前の規格のマクロブロックに広い意味で類似し得る。しかしながら、ツリーブロックは、必ずしも特定のサイズに限定されるとは限らず、１つまたは複数のコーディングユニット（ＣＵ）を含み得る。ビデオエンコーダ２０は、ツリーブロックのビデオブロックを、ＣＵに関連付けられたビデオブロックに区分するために４分木区分（quadtree partitioning）を使用し得、したがって「ツリーブロック」という名称がある。
【００４４】
[0053]いくつかの例では、ビデオエンコーダ２０はピクチャを複数のスライスに区分し得る。スライスの各々は整数個のＣＵを含み得る。いくつかの事例では、スライスは整数個のツリーブロックを備える。他の事例では、スライスの境界はツリーブロック内にあり得る。
【００４５】
[0054]ピクチャに対して符号化演算を実施することの一部として、ビデオエンコーダ２０は、ピクチャの各スライスに対して符号化演算を実施し得る。ビデオエンコーダ２０がスライスに対して符号化演算を実施するとき、ビデオエンコーダ２０は、スライスに関連付けられた符号化データを生成し得る。スライスに関連付けられた符号化データは「コード化スライス」と呼ばれることがある。
【００４６】
[0055]コード化スライスを生成するために、ビデオエンコーダ２０は、スライス中の各ツリーブロックに対して符号化演算を実施し得る。ビデオエンコーダ２０がツリーブロックに対して符号化演算を実施するとき、ビデオエンコーダ２０はコード化ツリーブロックを生成し得る。コード化ツリーブロックは、ツリーブロックの符号化バージョンを表すデータを備え得る。
【００４７】
[0056]ビデオエンコーダ２０がコード化スライスを生成するとき、ビデオエンコーダ２０は、ラスタ走査順序に従って、スライス中のツリーブロックに対して符号化演算を実施し得る（たとえば、そのツリーブロックを符号化し得る）。たとえば、ビデオエンコーダ２０は、スライス中のツリーブロックの一番上の行にわたって左から右に進み、次いでツリーブロックの次の下の行にわたって左から右に進み、以下同様に進む順序で、ビデオエンコーダ２０がスライス中のツリーブロックの各々を符号化するまで、スライスのツリーブロックを符号化し得る。
【００４８】
[0057]ラスタ走査順序に従ってツリーブロックを符号化した結果として、所与のツリーブロックの上および左のツリーブロックは符号化されていることがあるが、所与のツリーブロックの下および右のツリーブロックはまだ符号化されていない。したがって、ビデオエンコーダ２０は、所与のツリーブロックを符号化するとき、所与のツリーブロックの上および左のツリーブロックを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ２０は、所与のツリーブロックを符号化するとき、所与のツリーブロックの下および右のツリーブロックを符号化することによって生成された情報にアクセスすることができないことがある。
【００４９】
[0058]コード化ツリーブロックを生成するために、ビデオエンコーダ２０は、ビデオブロックを徐々により小さいビデオブロックに分割するためにツリーブロックのビデオブロックに対して４分木区分を再帰的に実施し得る。より小さいビデオブロックの各々は、異なるＣＵに関連付けられ得る。たとえば、ビデオエンコーダ２０は、ツリーブロックのビデオブロックを４つの等しいサイズのサブブロックに区分し、サブブロックのうちの１つまたは複数を、４つの等しいサイズのサブサブブロックに区分し得、以下同様である。区分されたＣＵは、それのビデオブロックが、他のＣＵに関連付けられたビデオブロックに区分された、ＣＵであり得る。区分されていないＣＵは、それのビデオブロックが、他のＣＵに関連付けられたビデオブロックに区分されていない、ＣＵであり得る。
【００５０】
[0059]ビットストリーム中の１つまたは複数のシンタックス要素は、ビデオエンコーダ２０がツリーブロックのビデオブロックを区分し得る最大の回数を示し得る。ＣＵのビデオブロックは形状が正方形であり得る。ＣＵのビデオブロックのサイズ（たとえば、ＣＵのサイズ）は、８×８ピクセルから、最大６４×６４以上のピクセルをもつツリーブロックのビデオブロックのサイズ（たとえば、ツリーブロックのサイズ）までに及び得る。
【００５１】
[0060]ビデオエンコーダ２０は、ｚ走査順序に従って、ツリーブロックの各ＣＵに対して符号化演算を実施し得る（たとえば、各ＣＵを符号化し得る）。言い換えれば、ビデオエンコーダ２０は、左上のＣＵと、右上のＣＵと、左下のＣＵと、次いで右下のＣＵとを、その順序で符号化し得る。ビデオエンコーダ２０が、区分されたＣＵに対して符号化演算を実施するとき、ビデオエンコーダ２０は、ｚ走査順序に従って、区分されたＣＵのビデオブロックのサブブロックに関連付けられたＣＵを符号化し得る。言い換えれば、ビデオエンコーダ２０は、左上のサブブロックに関連付けられたＣＵと、右上のサブブロックに関連付けられたＣＵと、左下のサブブロックに関連付けられたＣＵと、次いで右下のサブブロックに関連付けられたＣＵとを、その順序で符号化し得る。
【００５２】
[0061]ｚ走査順序に従ってツリーブロックのＣＵを符号化した結果として、所与のＣＵの上、左上、右上、左、および左下のＣＵは符号化されていることがある。所与のＣＵの下および右のＣＵはまだ符号化されていない。したがって、ビデオエンコーダ２０は、所与のＣＵを符号化するとき、所与のＣＵに隣接するいくつかのＣＵを符号化することによって生成された情報にアクセスすることが可能であり得る。しかしながら、ビデオエンコーダ２０は、所与のＣＵを符号化するとき、所与のＣＵに隣接する他のＣＵを符号化することによって生成された情報にアクセスすることができないことがある。
【００５３】
[0062]ビデオエンコーダ２０が、区分されていないＣＵを符号化するとき、ビデオエンコーダ２０は、ＣＵのために１つまたは複数の予測ユニット（ＰＵ）を生成し得る。ＣＵのＰＵの各々は、ＣＵのビデオブロック内の異なるビデオブロックに関連付けられ得る。ビデオエンコーダ２０は、ＣＵの各ＰＵについて予測ビデオブロックを生成し得る。ＰＵの予測ビデオブロックはサンプルのブロックであり得る。ビデオエンコーダ２０は、ＰＵのための予測ビデオブロックを生成するために、イントラ予測またはインター予測を使用し得る。
【００５４】
[0063]ビデオエンコーダ２０がイントラ予測を使用してＰＵの予測ビデオブロックを生成するとき、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャの復号サンプルに基づいて、ＰＵの予測ビデオブロックを生成し得る。ビデオエンコーダ２０が、ＣＵのＰＵの予測ビデオブロックを生成するためにイントラ予測を使用する場合、ＣＵはイントラ予測されたＣＵである。ビデオエンコーダ２０が、ＰＵの予測ビデオブロックを生成するためにインター予測を使用するとき、ビデオエンコーダ２０は、ＰＵに関連付けられたピクチャ以外の１つまたは複数のピクチャの復号サンプルに基づいて、ＰＵの予測ビデオブロックを生成し得る。ビデオエンコーダ２０が、ＣＵのＰＵの予測ビデオブロックを生成するためにインター予測を使用する場合、ＣＵはインター予測されたＣＵである。
【００５５】
[0064]さらに、ビデオエンコーダ２０が、ＰＵのための予測ビデオブロックを生成するためにインター予測を使用するとき、ビデオエンコーダ２０はＰＵの動き情報を生成し得る。ＰＵの動き情報は、ＰＵの１つまたは複数の参照ブロックを示し得る。ＰＵの各参照ブロックは参照ピクチャ内のビデオブロックであり得る。参照ピクチャはＰＵに関連付けられたピクチャ以外のピクチャであり得る。いくつかの事例では、ＰＵの参照ブロックはＰＵの「参照サンプル」と呼ばれることもある。ビデオエンコーダ２０は、ＰＵの参照ブロックに基づいて、ＰＵのための予測ビデオブロックを生成し得る。
【００５６】
[0065]ビデオエンコーダ２０がＣＵの１つまたは複数のＰＵのための予測ビデオブロックを生成した後、ビデオエンコーダ２０は、ＣＵのＰＵのための予測ビデオブロックに基づいて、ＣＵの残差データを生成し得る。ＣＵの残差データは、ＣＵのＰＵのための予測ビデオブロック中のサンプルと、ＣＵの元のビデオブロック中のサンプルとの間の差を示し得る。
【００５７】
[0066]さらに、区分されていないＣＵに対して符号化演算を実施することの一部として、ビデオエンコーダ２０は、ＣＵの残差データを、ＣＵの変換ユニット（ＴＵ）に関連付けられた残差データの１つまたは複数のブロック（たとえば、残差ビデオブロック）に区分するために、ＣＵの残差データに対して再帰的な４分木区分を実施し得る。ＣＵの各ＴＵは異なる残差ビデオブロックに関連付けられ得る。
【００５８】
[0067]ビデオエンコーダ２０は、ＴＵに関連付けられた変換係数ブロック（たとえば、変換係数のブロック）を生成するために、ＴＵに関連付けられた残差ビデオブロックに１つまたは複数の変換を適用し得る。概念的に、変換係数ブロックは変換係数の２次元（２Ｄ）行列であり得る。
【００５９】
[0068]変換係数ブロックを生成した後、ビデオエンコーダ２０は、変換係数ブロックに対して量子化プロセスを実施し得る。量子化は、概して、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を行うプロセスを指す。量子化プロセスは、変換係数の一部または全部に関連付けられたビット深度を低減し得る。たとえば、量子化中にｎビットの変換係数がｍビットの変換係数に切り捨てられることがあり、ここで、ｎはｍよりも大きい。
【００６０】
[0069]ビデオエンコーダ２０は、各ＣＵを量子化パラメータ（ＱＰ：quantization parameter）値に関連付け得る。ＣＵに関連付けられたＱＰ値は、ビデオエンコーダ２０が、ＣＵに関連付けられた変換係数ブロックをどのように量子化するかを決定し得る。ビデオエンコーダ２０は、ＣＵに関連付けられたＱＰ値を調整することによって、ＣＵに関連付けられた変換係数ブロックに適用される量子化の程度を調整し得る。
【００６１】
[0070]ビデオエンコーダ２０が変換係数ブロックを量子化した後、ビデオエンコーダ２０は、量子化された変換係数ブロック中で変換係数を表すシンタックス要素のセットを生成し得る。ビデオエンコーダ２０は、これらのシンタックス要素のうちのいくつかに、コンテキスト適応型バイナリ算術コーディング（ＣＡＢＡＣ：Context Adaptive Binary Arithmetic Coding）演算などのエントロピー符号化演算を適用し得る。コンテキスト適応型可変長コーディング（ＣＡＶＬＣ：context adaptive variable length coding）、確率間隔区分エントロピー（ＰＩＰＥ：probability interval partitioning entropy）コーディング、または他のバイナリ算術コーディングなど、他のエントロピーコーディング技法も使用され得る。
【００６２】
[0071]ビデオエンコーダ２０によって生成されるビットストリームは、一連のネットワークアブストラクションレイヤ（ＮＡＬ：Network Abstraction Layer）ユニットを含み得る。ＮＡＬユニットの各々は、ＮＡＬユニット中のデータのタイプの指示と、データを含んでいるバイトとを含んでいるシンタックス構造であり得る。たとえば、ＮＡＬユニットは、ビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセット、コード化スライス、補足エンハンスメント情報（ＳＥＩ：supplemental enhancement information）、アクセスユニット区切り文字、フィラーデータ、または別のタイプのデータを表すデータを含み得る。ＮＡＬユニット中のデータは様々なシンタックス構造を含み得る。
【００６３】
[0072]ビデオデコーダ３０は、ビデオエンコーダ２０によって生成されたビットストリームを受信し得る。ビットストリームは、ビデオエンコーダ２０によって符号化されたビデオデータのコード化表現を含み得る。ビデオデコーダ３０がビットストリームを受信するとき、ビデオデコーダ３０は、ビットストリームに対してパース演算を実施し得る。ビデオデコーダ３０がパース演算を実施するとき、ビデオデコーダ３０は、ビットストリームからシンタックス要素を抽出し得る。ビデオデコーダ３０は、ビットストリームから抽出されたシンタックス要素に基づいて、ビデオデータのピクチャを再構成し得る。シンタックス要素に基づいてビデオデータを再構成するためのプロセスは、一般に、シンタックス要素を生成するためにビデオエンコーダ２０によって実施されるプロセスとは逆であり得る。
【００６４】
[0073]ビデオデコーダ３０がＣＵに関連付けられたシンタックス要素を抽出した後、ビデオデコーダ３０は、シンタックス要素に基づいて、ＣＵのＰＵのための予測ビデオブロックを生成し得る。さらに、ビデオデコーダ３０は、ＣＵのＴＵに関連付けられた変換係数ブロックを逆量子化し得る。ビデオデコーダ３０は、ＣＵのＴＵに関連付けられた残差ビデオブロックを再構成するために、変換係数ブロックに対して逆変換を実施し得る。予測ビデオブロックを生成し、残差ビデオブロックを再構成した後、ビデオデコーダ３０は、予測ビデオブロックと残差ビデオブロックとに基づいて、ＣＵのビデオブロックを再構成し得る。このようにして、ビデオデコーダ３０は、ビットストリーム中のシンタックス要素に基づいて、ＣＵのビデオブロックを再構成し得る。
【００６５】
ビデオエンコーダ
[0074]図２Ａは、本開示で説明する態様による技法を実装し得るビデオエンコーダの一例を示すブロック図である。ビデオエンコーダ２０は、ＨＥＶＣの場合など、ビデオフレームの単一のレイヤを処理するように構成され得る。さらに、ビデオエンコーダ２０は、本開示の技法のいずれかまたはすべてを実施するように構成され得る。一例として、予測処理ユニット１００は、本開示で説明する技法のいずれかまたはすべてを実施するように構成され得る。別の実施形態では、ビデオエンコーダ２０は、本開示で説明する技法のいずれかまたはすべてを実施するように構成されたオプションのレイヤ間予測ユニット１２８を含む。他の実施形態では、レイヤ間予測は予測処理ユニット１００（たとえば、インター予測ユニット１２１および／またはイントラ予測ユニット１２６）によって実施され得、その場合、レイヤ間予測ユニット１２８は省略され得る。ただし、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明する技法は、ビデオエンコーダ２０の様々なコンポーネント間で共有され得る。いくつかの例では、追加または代替として、プロセッサ（図示せず）が、本開示で説明する技法のいずれかまたはすべてを実施するように構成され得る。
【００６６】
[0075]説明の目的で、本開示は、ＨＥＶＣコーディングのコンテキストにおいてビデオエンコーダ２０について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。図２Ａに示された例はシングルレイヤコーデックのためのものである。しかしながら、図２Ｂに関してさらに説明するように、ビデオエンコーダ２０の一部または全部はマルチレイヤコーデックの処理のために複製され得る。
【００６７】
[0076]ビデオエンコーダ２０は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実施し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間冗長性を低減または除去するために、空間予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間冗長性を低減または除去するために、時間予測に依拠する。イントラモード（Ｉモード）は、いくつかの空間ベースコーディングモードのいずれかを指すことがある。単方向予測（Ｐモード）または双方向予測（Ｂモード）などのインターモードは、いくつかの時間ベースコーディングモードのいずれかを指すことがある。
【００６８】
[0077]図２Ａの例では、ビデオエンコーダ２０は複数の機能コンポーネントを含む。ビデオエンコーダ２０の機能コンポーネントは、予測処理ユニット１００と、残差生成ユニット１０２と、変換処理ユニット１０４と、量子化ユニット１０６と、逆量子化ユニット１０８と、逆変換ユニット１１０と、再構成ユニット１１２と、フィルタユニット１１３と、復号ピクチャバッファ１１４と、エントロピー符号化ユニット１１６とを含む。予測処理ユニット１００は、インター予測ユニット１２１と、動き推定ユニット１２２と、動き補償ユニット１２４と、イントラ予測ユニット１２６と、レイヤ間予測ユニット１２８とを含む。他の例では、ビデオエンコーダ２０は、より多数の、より少数の、または異なる機能コンポーネントを含み得る。さらに、動き推定ユニット１２２と動き補償ユニット１２４とは、高度に統合され得るが、図２Ａの例では、説明の目的で別々に表されている。
【００６９】
[0078]ビデオエンコーダ２０はビデオデータを受信し得る。ビデオエンコーダ２０は、様々なソースからビデオデータを受信し得る。たとえば、ビデオエンコーダ２０は、（たとえば、図１Ａまたは図１Ｂに示されている）ビデオソース１８、または別のソースからビデオデータを受信し得る。ビデオデータは一連のピクチャを表し得る。ビデオデータを符号化するために、ビデオエンコーダ２０は、ピクチャの各々に対して符号化演算を実施し得る。ピクチャに対して符号化演算を実施することの一部として、ビデオエンコーダ２０は、ピクチャの各スライスに対して符号化演算を実施し得る。スライスに対して符号化演算を実施することの一部として、ビデオエンコーダ２０は、スライス中のツリーブロックに対して符号化演算を実施し得る。
【００７０】
[0079]ツリーブロックに対して符号化演算を実施することの一部として、予測処理ユニット１００は、ツリーブロックのビデオブロックに対して４分木区分を実施して、ビデオブロックを徐々により小さいビデオブロックに分割し得る。より小さいビデオブロックの各々は、異なるＣＵに関連付けられ得る。たとえば、予測処理ユニット１００は、ツリーブロックのビデオブロックを４つの等しいサイズのサブブロックに区分し、サブブロックの１つまたは複数を、４つの等しいサイズのサブサブブロックに区分し得、以下同様である。
【００７１】
[0080]ＣＵに関連付けられたビデオブロックのサイズは、８×８サンプルから、最大６４×６４以上のサンプルをもつツリーブロックのサイズまでに及び得る。本開示では、「Ｎ×Ｎ（NxN）」および「Ｎ×Ｎ（N by N）」は、垂直寸法および水平寸法に関するビデオブロックのサンプル寸法、たとえば、１６×１６（16x16）サンプルまたは１６×１６（16 by 16）サンプルを指すために互換的に使用され得る。概して、１６×１６ビデオブロックは、垂直方向に１６個のサンプルを有し（ｙ＝１６）、水平方向に１６個のサンプルを有する（ｘ＝１６）。同様に、Ｎ×Ｎブロックは、概して、垂直方向にＮ個のサンプルを有し、水平方向にＮ個のサンプルを有し、ここで、Ｎは非負整数値を表す。
【００７２】
[0081]さらに、ツリーブロックに対して符号化演算を実施することの一部として、予測処理ユニット１００は、ツリーブロック用の階層的な４分木データ構造を生成し得る。たとえば、ツリーブロックは、４分木データ構造のルートノードに対応し得る。予測処理ユニット１００が、ツリーブロックのビデオブロックを４つのサブブロックに区分する場合、ルートノードは、４分木データ構造中に４つの子ノードを有する。子ノードの各々は、サブブロックのうちの１つに関連付けられたＣＵに対応する。予測処理ユニット１００が、サブブロックのうちの１つを４つのサブサブブロックに区分する場合、サブブロックに関連付けられたＣＵに対応するノードは、サブサブブロックのうちの１つに関連付けられたＣＵに各々が対応する、４つの子ノードを有し得る。
【００７３】
[0082]４分木データ構造の各ノードは、対応するツリーブロックまたはＣＵのシンタックスデータ（たとえば、シンタックス要素）を含み得る。たとえば、４分木の中のノードは、そのノードに対応するＣＵのビデオブロックが４つのサブブロックに区分される（たとえば、分割される）かどうかを示すスプリットフラグを含み得る。ＣＵのためのシンタックス要素は、再帰的に定義され得、ＣＵのビデオブロックがサブブロックに分割されるかどうかに依存し得る。それのビデオブロックが区分されていないＣＵは、４分木データ構造におけるリーフノードに対応し得る。コード化ツリーブロックは、対応するツリーブロック用の４分木データ構造に基づくデータを含み得る。
【００７４】
[0083]ビデオエンコーダ２０は、ツリーブロックの区分されていない各ＣＵに対して符号化演算を実施し得る。ビデオエンコーダ２０が、区分されていないＣＵに対して符号化演算を実施するとき、ビデオエンコーダ２０は、区分されていないＣＵの符号化表現を表すデータを生成する。
【００７５】
[0084]ＣＵに対して符号化演算を実施することの一部として、予測処理ユニット１００は、ＣＵの１つまたは複数のＰＵの中で、ＣＵのビデオブロックを区分し得る。ビデオエンコーダ２０およびビデオデコーダ３０は、様々なＰＵサイズをサポートし得る。特定のＣＵのサイズが２Ｎ×２Ｎであると仮定すると、ビデオエンコーダ２０およびビデオデコーダ３０は、２Ｎ×２ＮまたはＮ×ＮのＰＵサイズと、２Ｎ×２Ｎ、２Ｎ×Ｎ、Ｎ×２Ｎ、Ｎ×Ｎ、２Ｎ×ｎＵ、ｎＬ×２Ｎ、ｎＲ×２Ｎ、または同様の対称ＰＵサイズでのインター予測とをサポートし得る。ビデオエンコーダ２０およびビデオデコーダ３０は、２Ｎ×ｎＵ、２Ｎ×ｎＤ、ｎＬ×２Ｎ、およびｎＲ×２ＮのＰＵサイズに対する非対称区分をもサポートし得る。いくつかの例では、予測処理ユニット１００は、ＣＵのビデオブロックの辺に直角に接触しない境界に沿って、ＣＵのＰＵの間でＣＵのビデオブロックを区分するように、幾何学的な区分（geometric partitioning）を実施し得る。
【００７６】
[0085]インター予測ユニット１２１はＣＵの各ＰＵに対してインター予測を実施し得る。インター予測は時間圧縮を実現し得る。ＰＵに対してインター予測を実施するために、動き推定ユニット１２２はＰＵの動き情報を生成し得る。動き補償ユニット１２４は、動き情報と、ＣＵに関連付けられたピクチャ以外のピクチャ（たとえば、参照ピクチャ）の復号サンプルと基づくＰＵのための予測ビデオブロックを生成し得る。本開示では、動き補償ユニット１２４によって生成された予測ビデオブロックは、インター予測ビデオブロックと呼ばれることがある。
【００７７】
[0086]スライスは、Ｉスライス、Ｐスライス、またはＢスライスであり得る。動き推定ユニット１２２および動き補償ユニット１２４は、ＰＵがＩスライス中にあるか、Ｐスライス中にあるか、Ｂスライス中にあるかに応じて、ＣＵのＰＵに対して異なる演算を実施し得る。Ｉスライス中では、すべてのＰＵがイントラ予測される。したがって、ＰＵがＩスライス中にある場合、動き推定ユニット１２２および動き補償ユニット１２４は、ＰＵに対してインター予測を実施しない。
【００７８】
[0087]ＰＵがＰスライス中にある場合、ＰＵを含んでいるピクチャは、「リスト０」と呼ばれる参照ピクチャのリストに関連付けられる。リスト０中の参照ピクチャの各々は、他のピクチャのインター予測に使用され得るサンプルを含んでいる。動き推定ユニット１２２が、Ｐスライス中のＰＵに関して動き推定演算を実施するとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０中の参照ピクチャを探索し得る。ＰＵの参照ブロックは、ＰＵのビデオブロック中のサンプルに最も密接に対応するサンプルのセット、たとえば、サンプルのブロックであり得る。動き推定ユニット１２２は、様々なメトリクスを使用して、参照ピクチャ中のサンプルのセットがどの程度密接にＰＵのビデオブロック中のサンプルに対応するかを決定し得る。たとえば、動き推定ユニット１２２は、絶対差分和（ＳＡＤ：sum of absolute difference）、２乗差分和（ＳＳＤ：sum of square difference）、または他の差分メトリックによって、参照ピクチャ中のサンプルのセットがどの程度密接にＰＵのビデオブロック中のサンプルに対応するかを決定し得る。
【００７９】
[0088]Ｐスライス中のＰＵの参照ブロックを識別した後、動き推定ユニット１２２は、参照ブロックを含んでいる、リスト０中の参照ピクチャを示す参照インデックスと、ＰＵと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。様々な例において、動き推定ユニット１２２は動きベクトルを異なる精度に生成し得る。たとえば、動き推定ユニット１２２は、１／４サンプル精度、１／８サンプル精度、または他の分数のサンプル精度で動きベクトルを生成し得る。分数のサンプル精度の場合、参照ブロック値は、参照ピクチャ中の整数位置のサンプル値から補間され得る。動き推定ユニット１２２は、ＰＵの動き情報として、参照インデックスと動きベクトルとを出力し得る。動き補償ユニット１２４は、ＰＵの動き情報によって識別された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００８０】
[0089]ＰＵがＢスライス中にある場合、ＰＵを含んでいるピクチャは、「リスト０」および「リスト１」と呼ばれる参照ピクチャの２つのリストに関連付けられ得る。いくつかの例では、Ｂスライスを含んでいるピクチャは、リスト０とリスト１の組合せである、リストの組合せに関連付けられ得る。
【００８１】
[0090]さらに、ＰＵがＢスライス中にある場合、動き推定ユニット１２２は、ＰＵについての単方向予測または双方向予測を実施し得る。動き推定ユニット１２２が、ＰＵについての単方向予測を実施するとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０またはリスト１の参照ピクチャを探索し得る。動き推定ユニット１２２は、次いで、参照ブロックを含んでいる、リスト０またはリスト１中の参照ピクチャを示す参照インデックスと、ＰＵと参照ブロックとの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット１２２は、ＰＵの動き情報として、参照インデックスと、予測方向インジケータと、動きベクトルとを出力し得る。予測方向インジケータは、参照インデックスが、リスト０中の参照ピクチャを示すか、リスト１中の参照ピクチャを示すかを示し得る。動き補償ユニット１２４は、ＰＵの動き情報によって示された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００８２】
[0091]動き推定ユニット１２２が、ＰＵについての双方向予測を実施するとき、動き推定ユニット１２２は、ＰＵのための参照ブロックについて、リスト０中の参照ピクチャを探索し得、また、ＰＵのための別の参照ブロックについて、リスト１中の参照ピクチャを探索し得る。動き推定ユニット１２２は、次いで、参照ブロックを含んでいる、リスト０およびリスト１中の参照ピクチャを示す参照インデックスと、参照ブロックとＰＵの間の空間変位を示す動きベクトルとを生成し得る。動き推定ユニット１２２は、ＰＵの動き情報としてＰＵの参照インデックスと動きベクトルとを出力し得る。動き補償ユニット１２４は、ＰＵの動き情報によって示された参照ブロックに基づいて、ＰＵの予測ビデオブロックを生成し得る。
【００８３】
[0092]いくつかの事例では、動き推定ユニット１２２は、ＰＵの動き情報のフルセットをエントロピー符号化ユニット１１６に出力しない。そうではなく、動き推定ユニット１２２は、別のＰＵの動き情報を参照して、ＰＵの動き情報をシグナリングし得る。たとえば、動き推定ユニット１２２は、ＰＵの動き情報が、隣接ＰＵの動き情報と十分に類似していると決定し得る。この例では、動き推定ユニット１２２は、ＰＵに関連付けられたシンタックス構造において、ＰＵが隣接ＰＵと同じ動き情報を有することをビデオデコーダ３０に示す値を示し得る。別の例では、動き推定ユニット１２２は、ＰＵに関連付けられたシンタックス構造において、隣接ＰＵと動きベクトル差分（ＭＶＤ：motion vector difference）とを識別し得る。動きベクトル差分は、ＰＵの動きベクトルと、示される隣接ＰＵの動きベクトルとの間の差分を示す。ビデオデコーダ３０は、ＰＵの動きベクトルを決定するために、示される隣接ＰＵの動きベクトルと、動きベクトル差分とを使用し得る。第２のＰＵの動き情報をシグナリングするときに第１のＰＵの動き情報を参照することによって、ビデオエンコーダ２０は、より少数のビットを使用して、第２のＰＵの動き情報をシグナリングすることが可能であり得る。
【００８４】
[0093]ＣＵに対して符号化演算を実施することの一部として、イントラ予測ユニット１２６は、ＣＵのＰＵに対してイントラ予測を実施し得る。イントラ予測は空間圧縮を実現し得る。イントラ予測ユニット１２６がＰＵに対してイントラ予測を実施するとき、イントラ予測ユニット１２６は、同じピクチャ中の他のＰＵの復号サンプルに基づいて、ＰＵの予測データを生成し得る。ＰＵの予測データは、予測ビデオブロックと様々なシンタックス要素とを含み得る。イントラ予測ユニット１２６は、Ｉスライス、Ｐスライス、およびＢスライス中のＰＵに対してイントラ予測を実施し得る。
【００８５】
[0094]ＰＵに対してイントラ予測を実施するために、イントラ予測ユニット１２６は、複数のイントラ予測モードを使用して、ＰＵの予測データの複数のセットを生成し得る。イントラ予測ユニット１２６が、イントラ予測モードを使用してＰＵの予測データのセットを生成するとき、イントラ予測ユニット１２６は、イントラ予測モードに関連付けられた方向および／または勾配で、隣接ＰＵのビデオブロックからＰＵのビデオブロックにわたって、サンプルを延ばし（extend）得る。隣接ＰＵは、ＰＵ、ＣＵ、およびツリーブロックについて左から右、上から下の符号化順序を仮定すると、ＰＵの上、右上、左上、または左にあり得る。イントラ予測ユニット１２６は、ＰＵのサイズに応じて、様々な数のイントラ予測モード、たとえば、３３個の方向性イントラ予測モードを使用し得る。
【００８６】
[0095]予測処理ユニット１００は、ＰＵについての、動き補償ユニット１２４によって生成された予測データ、またはＰＵについての、イントラ予測ユニット１２６によって生成された予測データの中から、ＰＵの予測データを選択し得る。いくつかの例では、予測処理ユニット１００は、予測データのセットのレート／ひずみメトリックに基づいて、ＰＵのための予測データを選択する。
【００８７】
[0096]予測処理ユニット１００が、イントラ予測ユニット１２６によって生成された予測データを選択する場合、予測処理ユニット１００は、ＰＵの予測データを生成するために使用されたイントラ予測モード、たとえば、選択されたイントラ予測モードをシグナリングし得る。予測処理ユニット１００は、選択されたイントラ予測モードを様々な方法でシグナリングし得る。たとえば、選択されたイントラ予測モードは、隣接ＰＵのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接ＰＵのイントラ予測モードは現在ＰＵに対して最確モードであり得る。したがって、予測処理ユニット１００は、選択されたイントラ予測モードが隣接ＰＵのイントラ予測モードと同じであることを示すための、シンタックス要素を生成し得る。
【００８８】
[0097]上記で説明したように、ビデオエンコーダ２０はレイヤ間予測ユニット１２８を含み得る。レイヤ間予測ユニット１２８は、スケーラブルビデオコーディングにおいて利用可能である１つまたは複数の異なるレイヤ（たとえば、ＢＬまたはＲＬ）を使用して、現在ブロック（たとえば、ＥＬ中の現在ブロック）を予測するように構成される。そのような予測はレイヤ間予測と呼ばれることがある。レイヤ間予測ユニット１２８は、レイヤ間冗長性を低減するために予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測がある。レイヤ間イントラ予測は、ＥＬ中の現在ブロックを予測するために、ＢＬ中のコロケートブロックの再構成を使用する。レイヤ間動き予測は、ＥＬ中の動作を予測するために、ＢＬの動き情報を使用する。レイヤ間残差予測は、ＥＬの残差を予測するために、ＢＬの残差を使用する。レイヤ間予測方式の各々について、より詳細に以下で説明する。
【００８９】
[0098]予測処理ユニット１００がＣＵのＰＵの予測データを選択した後、残差生成ユニット１０２は、ＣＵのビデオブロックからＣＵのＰＵの予測ビデオブロックを差し引くこと（たとえば、マイナス符号によって示される）によって、ＣＵの残差データを生成し得る。ＣＵの残差データは、ＣＵのビデオブロック中のサンプルの異なるサンプル成分に対応する、２Ｄ残差ビデオブロックを含み得る。たとえば、残差データは、ＣＵのＰＵの予測ビデオブロック中のサンプルのルミナンス成分と、ＣＵの元のビデオブロック中のサンプルのルミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。さらに、ＣＵの残差データは、ＣＵのＰＵの予測ビデオブロック中のサンプルのクロミナンス成分と、ＣＵの元のビデオブロック中のサンプルのクロミナンス成分との間の差分に対応する、残差ビデオブロックを含み得る。
【００９０】
[0099]予測処理ユニット１００は、４分木区分を実施して、ＣＵの残差ビデオブロックをサブブロックに区分し得る。各分割されていない残差ビデオブロックは、ＣＵの異なるＴＵに関連付けられ得る。ＣＵのＴＵに関連付けられた残差ビデオブロックのサイズおよび位置は、ＣＵのＰＵに関連付けられたビデオブロックのサイズおよび位置に基づくことも基づかないこともある。「残差４分木」（ＲＱＴ：residual quad tree）として知られる４分木構造は、残差ビデオブロックの各々に関連付けられたノードを含み得る。ＣＵのＴＵはＲＱＴのリーフノードに対応し得る。
【００９１】
[0100]変換処理ユニット１０４は、ＴＵに関連付けられた残差ビデオブロックに１つまたは複数の変換を適用することによって、ＣＵの各ＴＵのための１つまたは複数の変換係数ブロックを生成し得る。変換係数ブロックの各々は、変換係数の２Ｄ行列であり得る。変換処理ユニット１０４は、ＴＵに関連付けられた残差ビデオブロックに様々な変換を適用し得る。たとえば、変換処理ユニット１０４は、離散コサイン変換（ＤＣＴ）、方向性変換、または概念的に同様の変換を、ＴＵに関連付けられた残差ビデオブロックに適用し得る。
【００９２】
[0101]変換処理ユニット１０４が、ＴＵに関連付けられた変換係数ブロックを生成した後、量子化ユニット１０６は、変換係数ブロック中の変換係数を量子化し得る。量子化ユニット１０６は、ＣＵに関連付けられたＱＰ値に基づいて、ＣＵのＴＵに関連付けられた変換係数ブロックを量子化し得る。
【００９３】
[0102]ビデオエンコーダ２０は、様々な方法でＱＰ値をＣＵに関連付け得る。たとえば、ビデオエンコーダ２０は、ＣＵに関連付けられたツリーブロックに対してレートひずみ分析を実施し得る。レートひずみ分析では、ビデオエンコーダ２０は、ツリーブロックに対して符号化演算を複数回実施することによって、ツリーブロックの複数のコード化表現を生成し得る。ビデオエンコーダ２０がツリーブロックの異なる符号化表現を生成するとき、ビデオエンコーダ２０は、異なるＱＰ値をＣＵに関連付け得る。ビデオエンコーダ２０は、最小のビットレートおよびひずみメトリックを有するツリーブロックのコード化表現で所与のＱＰ値がＣＵに関連付けられるとき、所与のＱＰ値がＣＵに関連付けられることをシグナリングし得る。
【００９４】
[0103]逆量子化ユニット１０８および逆変換ユニット１１０は、変換係数ブロックから残差ビデオブロックを再構成するために、それぞれ、変換係数ブロックに逆量子化と逆変換とを適用し得る。再構成ユニット１１２は、ＴＵに関連付けられた再構成されたビデオブロックを生成するために、再構成された残差ビデオブロックを、予測処理ユニット１００によって生成された１つまたは複数の予測ビデオブロックからの対応するサンプルに追加し得る。このようにＣＵの各ＴＵのためのビデオブロックを再構成することによって、ビデオエンコーダ２０は、ＣＵのビデオブロックを再構成し得る。
【００９５】
[0104]再構成ユニット１１２がＣＵのビデオブロックを再構成した後、フィルタユニット１１３は、ＣＵに関連付けられたビデオブロックにおけるブロッキングアーティファクトを低減するためにデブロッキング演算を実施し得る。１つまたは複数のデブロッキング演算を実施した後、フィルタユニット１１３は、復号ピクチャバッファ１１４にＣＵの再構成されたビデオブロックを記憶し得る。動き推定ユニット１２２および動き補償ユニット１２４は、再構成されたビデオブロックを含んでいる参照ピクチャを使用して、後続ピクチャのＰＵに対してインター予測を実施し得る。さらに、イントラ予測ユニット１２６は、復号ピクチャバッファ１１４中の再構成されたビデオブロックを使用して、ＣＵと同じピクチャの中の他のＰＵに対してイントラ予測を実施し得る。
【００９６】
[0105]エントロピー符号化ユニット１１６は、ビデオエンコーダ２０の他の機能コンポーネントからデータを受信し得る。たとえば、エントロピー符号化ユニット１１６は、量子化ユニット１０６から変換係数ブロックを受信し得、予測処理ユニット１００からシンタックス要素を受信し得る。エントロピー符号化ユニット１１６がデータを受信するとき、エントロピー符号化ユニット１１６は、エントロピー符号化されたデータを生成するために、１つまたは複数のエントロピー符号化演算を実施し得る。たとえば、ビデオエンコーダ２０は、ＣＡＶＬＣ演算、ＣＡＢＡＣ演算、変数間（Ｖ２Ｖ：variable-to-variable）レングスコーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング（ＳＢＡＣ：syntax-based context-adaptive binary arithmetic coding）演算、確率間隔区分エントロピー（ＰＩＰＥ）コーディング演算、または別のタイプのエントロピー符号化演算をデータに対して実施し得る。エントロピー符号化ユニット１１６は、エントロピー符号化されたデータを含むビットストリームを出力し得る。
【００９７】
[0106]データに対してエントロピー符号化演算を実施することの一部として、エントロピー符号化ユニット１１６は、コンテキストモデルを選択し得る。エントロピー符号化ユニット１１６がＣＡＢＡＣ演算を実施している場合、コンテキストモデルは、特定の値を有する特定のビンの確率の推定値を示し得る。ＣＡＢＡＣのコンテキストでは、「ビン」という用語は、シンタックス要素の２値化されたバージョンのビットを指すために使用される。
【００９８】
マルチレイヤビデオエンコーダ
[0107]図２Ｂは、本開示で説明する態様による技法を実装し得る（単にビデオエンコーダ２３とも呼ばれる）マルチレイヤビデオエンコーダ２３の一例を示すブロック図である。ビデオエンコーダ２３は、ＳＨＶＣおよびマルチビューコーディングの場合など、マルチレイヤビデオフレームを処理するように構成され得る。さらに、ビデオエンコーダ２３は、本開示の技法のいずれかまたはすべてを実施するように構成され得る。
【００９９】
[0108]ビデオエンコーダ２３はビデオエンコーダ２０Ａとビデオエンコーダ２０Ｂとを含み、それらの各々はビデオエンコーダ２０として構成され得、ビデオエンコーダ２０に関して上記で説明した機能を実施し得る。さらに、参照番号の再利用によって示されるように、ビデオエンコーダ２０Ａおよび２０Ｂは、ビデオエンコーダ２０としてシステムとサブシステムとのうちの少なくともいくつかを含み得る。ビデオエンコーダ２３は、２つのビデオエンコーダ２０Ａおよび２０Ｂを含むものとして示されているが、ビデオエンコーダ２３は、そのようなものとして限定されず、任意の数のビデオエンコーダ２０レイヤを含み得る。いくつかの実施形態では、ビデオエンコーダ２３はアクセスユニット中の各ピクチャまたはフレームについてビデオエンコーダ２０を含み得る。たとえば、５つのピクチャを含むアクセスユニットは、５つのエンコーダレイヤを含むビデオエンコーダによって処理または符号化され得る。いくつかの実施形態では、ビデオエンコーダ２３は、アクセスユニット中のフレームよりも多くのエンコーダレイヤを含み得る。いくつかのそのような場合では、ビデオエンコーダレイヤのうちのいくつかは、いくつかのアクセスユニットを処理するときに非アクティブであり得る。
【０１００】
[0109]ビデオエンコーダ２０Ａおよび２０Ｂに加えて、ビデオエンコーダ２３はリサンプリングユニット９０を含み得る。リサンプリングユニット９０は、場合によっては、たとえば、ＥＬを作成するために、受信されたビデオフレームのＢＬをアップサンプリングし得る。リサンプリングユニット９０は、フレームの受信されたＢＬに関連付けられた特定の情報をアップサンプリングするが、他の情報をアップサンプリングしないことがある。たとえば、リサンプリングユニット９０は、ＢＬの空間サイズまたはピクセルの数をアップサンプリングし得るが、スライスの数またはピクチャ順序カウントは定数のままであり得る。場合によっては、リサンプリングユニット９０は、受信されたビデオを処理しないことがあるか、および／またはオプションであり得る。たとえば、場合によっては、予測処理ユニット１００はアップサンプリングを実施し得る。いくつかの実施形態では、リサンプリングユニット９０は、レイヤをアップサンプリングすることと、スライス境界ルールおよび／またはラスタ走査ルールのセットに準拠するために１つまたは複数のスライスを再編成、再定義、変更、または調整することとを行うように構成される。アクセスユニット中のＢＬまたは下位レイヤをアップサンプリングするものとして主に説明したが、場合によっては、リサンプリングユニット９０はレイヤをダウンサンプリングし得る。たとえば、ビデオのストリーミング中に帯域幅が減少した場合、フレームは、アップサンプリングされるのではなく、ダウンサンプリングされ得る。
【０１０１】
[0110]リサンプリングユニット９０は、下位レイヤエンコーダ（たとえば、ビデオエンコーダ２０Ａ）の復号ピクチャバッファ１１４からピクチャまたはフレーム（またはピクチャに関連付けられたピクチャ情報）を受信し、ピクチャ（または受信されたピクチャ情報）をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは、次いで、下位レイヤエンコーダと同じアクセスユニット中のピクチャを符号化するように構成された上位レイヤエンコーダ（たとえば、ビデオエンコーダ２０Ｂ）の予測処理ユニット１００に与えられ得る。場合によっては、上位レイヤエンコーダは、下位レイヤエンコーダから取り除かれた１つのレイヤである。他の場合には、図２Ｂのレイヤ０ビデオエンコーダとレイヤ１エンコーダとの間に１つまたは複数の上位レイヤエンコーダがあり得る。
【０１０２】
[0111]場合によっては、リサンプリングユニット９０は省略またはバイパスされ得る。そのような場合、ビデオエンコーダ２０Ａの復号ピクチャバッファ１１４からのピクチャは、直接、または少なくともリサンプリングユニット９０に与えられることなしに、ビデオエンコーダ２０Ｂの予測処理ユニット１００に与えられ得る。たとえば、ビデオエンコーダ２０Ｂに与えられたビデオデータと、ビデオエンコーダ２０Ａの復号ピクチャバッファ１１４からの参照ピクチャとが同じサイズまたは解像度である場合、参照ピクチャは、リサンプリングなしにビデオエンコーダ２０Ｂに与えられ得る。
【０１０３】
[0112]いくつかの実施形態では、ビデオエンコーダ２３は、ビデオエンコーダ２０Ａにビデオデータを与える前に、ダウンサンプリングユニット９４を使用して下位レイヤエンコーダに与えられるべきビデオデータをダウンサンプリングする。代替的に、ダウンサンプリングユニット９４は、ビデオデータをアップサンプリングまたはダウンサンプリングすることが可能なリサンプリングユニット９０であり得る。また他の実施形態では、ダウンサンプリングユニット９４は省略され得る。
【０１０４】
[0113]図２Ｂに示されているように、ビデオエンコーダ２３は、マルチプレクサ９８、またはｍｕｘをさらに含み得る。ｍｕｘ９８は、ビデオエンコーダ２３から合成ビットストリームを出力することができる。合成ビットストリームは、ビデオエンコーダ２０Ａおよび２０Ｂの各々からビットストリームを取り（taking）、所与の時間において出力されるビットストリームを交替する（alternating）ことによって作成され得る。場合によっては、２つの（または、３つ以上のビデオエンコーダレイヤの場合には、より多くの）ビットストリームからのビットが一度に１ビットずつ交替（alternated）され得るが、多くの場合、ビットストリームは別様に合成され得る。たとえば、出力ビットストリームは、選択されたビットストリームを一度に１ブロックずつ交替することによって作成され得る。別の例では、出力ビットストリームは、ビデオエンコーダ２０Ａおよび２０Ｂの各々からブロックの非１：１比を出力することによって作成され得る。たとえば、ビデオエンコーダ２０Ａから出力された各ブロックについて、２つのブロックがビデオエンコーダ２０Ｂから出力され得る。いくつかの実施形態では、ｍｕｘ９８からの出力ストリームはプリプログラムされ得る。他の実施形態では、ｍｕｘ９８は、ソースデバイス１２を含むソースデバイス上のプロセッサからなど、ビデオエンコーダ２３の外部のシステムから受信された制御信号に基づいて、ビデオエンコーダ２０Ａ、２０Ｂからのビットストリームを合成し得る。制御信号は、ビデオソース１８からのビデオの解像度またはビットレートに基づいて、リンク１６の帯域幅に基づいて、ユーザに関連付けられたサブスクリプション（たとえば、有料サブスクリプション対無料サブスクリプション）に基づいて、またはビデオエンコーダ２３から望まれる解像度出力を決定するための他のファクタに基づいて生成され得る。
【０１０５】
ビデオデコーダ
[0114]図３Ａは、本開示で説明する態様による技法を実装し得るビデオデコーダの一例を示すブロック図である。ビデオデコーダ３０は、ＨＥＶＣの場合など、ビデオフレームの単一のレイヤを処理するように構成され得る。さらに、ビデオデコーダ３０は、本開示の技法のいずれかまたはすべてを実施するように構成され得る。一例として、動き補償ユニット１６２および／またはイントラ予測ユニット１６４は、本開示で説明する技法のいずれかまたはすべてを実施するように構成され得る。一実施形態では、ビデオデコーダ３０は、場合によっては、本開示で説明する技法のいずれかまたはすべてを実施するように構成されたレイヤ間予測ユニット１６６を含み得る。他の実施形態では、レイヤ間予測は予測処理ユニット１５２（たとえば、動き補償ユニット１６２および／またはイントラ予測ユニット１６４）によって実施され得、その場合、レイヤ間予測ユニット１６６は省略され得る。ただし、本開示の態様はそのように限定されない。いくつかの例では、本開示で説明する技法は、ビデオデコーダ３０の様々なコンポーネント間で共有され得る。いくつかの例では、追加または代替として、プロセッサ（図示せず）が、本開示で説明する技法のいずれかまたはすべてを実施するように構成され得る。
【０１０６】
[0115]説明の目的で、本開示では、ＨＥＶＣコーディングのコンテキストにおいてビデオデコーダ３０について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法にも適用可能であり得る。図３Ａに示された例はシングルレイヤコーデックのためのものである。しかしながら、図３Ｂに関してさらに説明するように、ビデオデコーダ３０の一部または全部はマルチレイヤコーデックの処理のために複製され得る。
【０１０７】
[0116]図３Ａの例では、ビデオデコーダ３０は複数の機能コンポーネントを含む。ビデオデコーダ３０の機能コンポーネントは、エントロピー復号ユニット１５０と、予測処理ユニット１５２と、逆量子化ユニット１５４と、逆変換ユニット１５６と、再構成ユニット１５８と、フィルタユニット１５９と、復号ピクチャバッファ１６０とを含む。予測処理ユニット１５２は、動き補償ユニット１６２と、イントラ予測ユニット１６４と、レイヤ間予測ユニット１６６とを含む。いくつかの例では、ビデオデコーダ３０は、図２Ａのビデオエンコーダ２０に関して説明した符号化経路とは全般に逆の復号経路を実施し得る。他の例では、ビデオデコーダ３０は、より多数の、より少数の、または異なる機能コンポーネントを含み得る。
【０１０８】
[0117]ビデオデコーダ３０は、符号化ビデオデータを備えるビットストリームを受信し得る。ビットストリームは複数のシンタックス要素を含み得る。ビデオデコーダ３０がビットストリームを受信したとき、エントロピー復号ユニット１５０は、ビットストリームに対してパース演算を実施し得る。ビットストリームに対してパース演算を実施した結果として、エントロピー復号ユニット１５０は、ビットストリームからシンタックス要素を抽出し得る。パース演算を実施することの一部として、エントロピー復号ユニット１５０は、ビットストリーム中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット１５２、逆量子化ユニット１５４、逆変換ユニット１５６、再構成ユニット１５８、およびフィルタユニット１５９は、ビットストリームから抽出されたシンタックス要素に基づいて、復号ビデオデータを生成する再構成演算を実施し得る。
【０１０９】
[0118]上記で説明したように、ビットストリームは、一連のＮＡＬユニットを備え得る。ビットストリームのＮＡＬユニットは、ビデオパラメータセットＮＡＬユニット、シーケンスパラメータセットＮＡＬユニット、ピクチャパラメータセットＮＡＬユニット、ＳＥＩ  ＮＡＬユニットなどを含み得る。ビットストリームに対してパース演算を実施することの一部として、エントロピー復号ユニット１５０は、シーケンスパラメータセットＮＡＬユニットからのシーケンスパラメータセット、ピクチャパラメータセットＮＡＬユニットからのピクチャパラメータセット、ＳＥＩ  ＮＡＬユニットからのＳＥＩデータなどを抽出しエントロピー復号する、パース演算を実施し得る。
【０１１０】
[0119]さらに、ビットストリームのＮＡＬユニットはコード化スライスＮＡＬユニットを含み得る。ビットストリームに対してパース演算を実施することの一部として、エントロピー復号ユニット１５０は、コード化スライスＮＡＬユニットからコード化スライスを抽出しエントロピー復号する、パース演算を実施し得る。コーディングされたスライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含んでいることがある。スライスヘッダ中のシンタックス要素は、スライスを含んでいるピクチャに関連付けられたピクチャパラメータセットを識別するシンタックス要素を含み得る。エントロピー復号ユニット１５０は、コード化されたスライスヘッダ中のシンタックス要素に対して、ＣＡＢＡＣ復号演算などのエントロピー復号演算を実施して、スライスヘッダを再構成し得る。
【０１１１】
[0120]コード化スライスのＮＡＬユニットからスライスデータを抽出することの一部として、エントロピー復号ユニット１５０は、スライスデータ中のコード化ＣＵからシンタックス要素を抽出するパース演算を実施し得る。抽出されたシンタックス要素は、変換係数ブロックに関連付けられたシンタックス要素を含み得る。エントロピー復号ユニット１５０は、次いで、シンタックス要素のうちのいくつかに対してＣＡＢＡＣ復号演算を実施し得る。
【０１１２】
[0121]エントロピー復号ユニット１５０が区分されていないＣＵに対してパース演算を実施した後、ビデオデコーダ３０は、区分されていないＣＵに対して再構成演算を実施し得る。区分されていないＣＵに対して再構成演算を実施するために、ビデオデコーダ３０はＣＵの各ＴＵに対して再構成演算を実施し得る。ＣＵの各ＴＵについて再構成演算を実施することによって、ビデオデコーダ３０は、ＣＵに関連付けられた残差ビデオブロックを再構成し得る。
【０１１３】
[0122]ＴＵに対して再構成演算を実施することの一部として、逆量子化ユニット１５４は、ＴＵに関連付けられた変換係数ブロックを逆量子化（inverse quantize）、たとえば、逆量子化（de-quantize）し得る。逆量子化ユニット１５４は、ＨＥＶＣ用に提案された、またはＨ．２６４復号規格によって定義された逆量子化プロセスと同様の方式で、変換係数ブロックを逆量子化し得る。逆量子化ユニット１５４は、量子化の程度を決定し、同様に、逆量子化ユニット１５４が適用すべき逆量子化の程度を決定するために、変換係数ブロックのＣＵのためにビデオエンコーダ２０によって計算される量子化パラメータＱＰを使用し得る。
【０１１４】
[0123]逆量子化ユニット１５４が変換係数ブロックを逆量子化した後、逆変換ユニット１５６は、変換係数ブロックに関連付けられたＴＵのための残差ビデオブロックを生成し得る。逆変換ユニット１５６は、ＴＵのための残差ビデオブロックを生成するために、変換係数ブロックに逆変換を適用し得る。たとえば、逆変換ユニット１５６は、変換係数ブロックに、逆ＤＣＴ、逆整数変換、逆カルーネンレーベ変換（ＫＬＴ：Karhunen-Loeve transform）、逆回転変換、逆方向変換、または別の逆変換を適用し得る。いくつかの例では、逆変換ユニット１５６は、ビデオエンコーダ２０からのシグナリングに基づいて、変換係数ブロックに適用すべき逆変換を決定し得る。そのような例では、逆変換ユニット１５６は、変換係数ブロックに関連付けられたツリーブロックの４分木のルートノードにおいてシグナリングされた変換に基づいて、逆変換を決定し得る。他の例では、逆変換ユニット１５６は、ブロックサイズ、コーディングモードなど、１つまたは複数のコーディング特性から逆変換を推論し得る。いくつかの例では、逆変換ユニット１５６はカスケード逆変換を適用し得る。
【０１１５】
[0124]いくつかの例では、動き補償ユニット１６２は、補間フィルタに基づく補間を実施することによって、ＰＵの予測ビデオブロックを改良し得る。サブサンプル精度をもつ動き補償のために使用されるべき補間フィルタのための識別子が、シンタックス要素中に含まれ得る。動き補償ユニット１６２は、参照ブロックのサブ整数サンプルについての補間値を計算するために、ＰＵの予測ビデオブロックの生成中にビデオエンコーダ２０によって使用された同じ補間フィルタを使用し得る。動き補償ユニット１６２は、受信されたシンタックス情報に従って、ビデオエンコーダ２０によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ビデオブロックを生成し得る。
【０１１６】
[0125]ＰＵが、イントラ予測を使用して符号化される場合、イントラ予測ユニット１６４は、ＰＵのための予測ビデオブロックを生成するためにイントラ予測を実施し得る。たとえば、イントラ予測ユニット１６４は、ビットストリーム中のシンタックス要素に基づいて、ＰＵのためのイントラ予測モードを決定し得る。ビットストリームは、ＰＵのイントラ予測モードを決定するためにイントラ予測ユニット１６４が使用し得るシンタックス要素を含み得る。
【０１１７】
[0126]いくつかの事例では、シンタックス要素は、イントラ予測ユニット１６４が別のＰＵのイントラ予測モードを使用して現在ＰＵのイントラ予測モードを決定すべきであることを示し得る。たとえば、現在ＰＵのイントラ予測モードは隣接ＰＵのイントラ予測モードと同じであることがあり得る。言い換えれば、隣接ＰＵのイントラ予測モードは、現在ＰＵに対して最確モードであり得る。したがって、この例では、ビットストリームは、ＰＵのイントラ予測モードが隣接ＰＵのイントラ予測モードと同じであることを示す、小さいシンタックス要素を含み得る。イントラ予測ユニット１６４は、次いで、イントラ予測モードを使用して、空間的に隣接するＰＵのビデオブロックに基づいて、ＰＵの予測データ（たとえば、予測サンプル）を生成し得る。
【０１１８】
[0127]上記で説明したように、ビデオデコーダ３０もレイヤ間予測ユニット１６６を含み得る。レイヤ間予測ユニット１６６は、スケーラブルビデオコーディングにおいて利用可能である１つまたは複数の異なるレイヤ（たとえば、ＢＬまたはＲＬ）を使用して、現在ブロック（たとえば、ＥＬ中の現在ブロック）を予測するように構成される。そのような予測はレイヤ間予測と呼ばれることがある。レイヤ間予測ユニット１６６は、レイヤ間冗長性を低減するために予測方法を利用し、それによって、コーディング効率を改善し、計算リソース要件を低減する。レイヤ間予測のいくつかの例としては、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測がある。レイヤ間イントラ予測は、ＥＬ中の現在ブロックを予測するために、ＢＬ中のコロケートブロックの再構成を使用する。レイヤ間動き予測は、ＥＬ中の動作を予測するために、ＢＬの動き情報を使用する。レイヤ間残差予測は、ＥＬの残差を予測するために、ＢＬの残差を使用する。レイヤ間予測方式の各々について、より詳細に以下で説明する。
【０１１９】
[0128]再構成ユニット１５８は、ＣＵのビデオブロックを再構成するために、適用可能なとき、ＣＵのＴＵに関連付けられた残差ビデオブロックとＣＵのＰＵの予測ビデオブロック、たとえば、イントラ予測データまたはインター予測データのいずれかを使用し得る。したがって、ビデオデコーダ３０は、ビットストリーム中のシンタックス要素に基づいて、予測ビデオブロックと残差ビデオブロックとを生成し得、予測ビデオブロックと残差ビデオブロックとに基づいて、ビデオブロックを生成し得る。
【０１２０】
[0129]再構成ユニット１５８がＣＵのビデオブロックを再構成した後、フィルタユニット１５９は、ＣＵに関連付けられたブロッキングアーティファクトを低減するために、デブロッキング演算を実施し得る。フィルタユニット１５９が、ＣＵに関連付けられたブロッキングアーティファクトを低減するためにデブロッキング演算を実施した後、ビデオデコーダ３０はＣＵのビデオブロックを復号ピクチャバッファ１６０に記憶し得る。復号ピクチャバッファ１６０は、後続の動き補償、イントラ予測、および図１Ａまたは図１Ｂのディスプレイデバイス３２などのディスプレイデバイス上での提示のために、参照ピクチャを与え得る。たとえば、ビデオデコーダ３０は、復号ピクチャバッファ１６０中のビデオブロックに基づいて、他のＣＵのＰＵに対してイントラ予測演算またはインター予測演算を実施し得る。
【０１２１】
マルチレイヤデコーダ
[0130]図３Ｂは、本開示で説明する態様による技法を実装し得る（単にビデオデコーダ３３とも呼ばれる）マルチレイヤビデオデコーダ３３の一例を示すブロック図である。ビデオデコーダ３３は、ＳＨＶＣおよびマルチビューコーディングの場合など、マルチレイヤビデオフレームを処理するように構成され得る。さらに、ビデオデコーダ３３は、本開示の技法のいずれかまたはすべてを実施するように構成され得る。
【０１２２】
[0131]ビデオデコーダ３３はビデオデコーダ３０Ａとビデオデコーダ３０Ｂとを含み、それらの各々はビデオデコーダ３０として構成され得、ビデオデコーダ３０に関して上記で説明した機能を実施し得る。さらに、参照番号の再利用によって示されるように、ビデオデコーダ３０Ａおよび３０Ｂは、ビデオデコーダ３０としてシステムとサブシステムとのうちの少なくともいくつかを含み得る。ビデオデコーダ３３は、２つのビデオデコーダ３０Ａおよび３０Ｂを含むものとして示されているが、ビデオデコーダ３３は、そのようなものとして限定されず、任意の数のビデオデコーダ３０レイヤを含み得る。いくつかの実施形態では、ビデオデコーダ３３はアクセスユニット中の各ピクチャまたはフレームについてビデオデコーダ３０を含み得る。たとえば、５つのピクチャを含むアクセスユニットは、５つのデコーダレイヤを含むビデオデコーダによって処理または復号され得る。いくつかの実施形態では、ビデオデコーダ３３は、アクセスユニット中のフレームよりも多くのデコーダレイヤを含み得る。いくつかのそのような場合では、ビデオデコーダレイヤのうちのいくつかは、いくつかのアクセスユニットを処理するときに非アクティブであり得る。
【０１２３】
[0132]ビデオデコーダ３０Ａおよび３０Ｂに加えて、ビデオデコーダ３３はアップサンプリングユニット９２を含み得る。いくつかの実施形態では、アップサンプリングユニット９２は、フレームまたはアクセスユニットのための参照ピクチャリストに追加されるべきエンハンストレイヤを作成するために、受信されたビデオフレームのＢＬをアップサンプリングし得る。このエンハンストレイヤは復号ピクチャバッファ１６０に記憶され得る。いくつかの実施形態では、アップサンプリングユニット９２は、図２Ａのリサンプリングユニット９０に関して説明した実施形態の一部または全部を含むことができる。いくつかの実施形態では、アップサンプリングユニット９２は、レイヤをアップサンプリングすることと、スライス境界ルールおよび／またはラスタ走査ルールのセットに準拠するために１つまたは複数のスライスを再編成、再定義、変更、または調整することとを行うように構成される。場合によっては、アップサンプリングユニット９２は、受信されたビデオフレームのレイヤをアップサンプリングおよび／またはダウンサンプリングするように構成されたリサンプリングユニットであり得る。
【０１２４】
[0133]アップサンプリングユニット９２は、下位レイヤデコーダ（たとえば、ビデオデコーダ３０Ａ）の復号ピクチャバッファ１６０からピクチャまたはフレーム（またはピクチャに関連付けられたピクチャ情報）を受信し、ピクチャ（または受信されたピクチャ情報）をアップサンプリングするように構成され得る。このアップサンプリングされたピクチャは、次いで、下位レイヤデコーダと同じアクセスユニット中のピクチャを復号するように構成された上位レイヤデコーダ（たとえば、ビデオデコーダ３０Ｂ）の予測処理ユニット１５２に与えられ得る。場合によっては、上位レイヤデコーダは、下位レイヤデコーダから取り除かれた１つのレイヤである。他の場合には、図３Ｂのレイヤ０デコーダとレイヤ１デコーダとの間に１つまたは複数の上位レイヤデコーダがあり得る。
【０１２５】
[0134]場合によっては、アップサンプリングユニット９２は省略またはバイパスされ得る。そのような場合、ビデオデコーダ３０Ａの復号ピクチャバッファ１６０からのピクチャは、直接、または少なくともアップサンプリングユニット９２に与えられることなしに、ビデオデコーダ３０Ｂの予測処理ユニット１５２に与えられ得る。たとえば、ビデオデコーダ３０Ｂに与えられたビデオデータと、ビデオデコーダ３０Ａの復号ピクチャバッファ１６０からの参照ピクチャとが同じサイズまたは解像度である場合、参照ピクチャは、アップサンプリングなしにビデオデコーダ３０Ｂに与えられ得る。さらに、いくつかの実施形態では、アップサンプリングユニット９２は、ビデオデコーダ３０Ａの復号ピクチャバッファ１６０から受信された参照ピクチャをアップサンプリングまたはダウンサンプリングするように構成されたリサンプリングユニット９０であり得る。
【０１２６】
[0135]図３Ｂに示されているように、ビデオデコーダ３３は、デマルチプレクサ９９、またはｄｅｍｕｘをさらに含み得る。ｄｅｍｕｘ９９は符号化ビデオビットストリームを複数のビットストリームにスプリットすることができ、ｄｅｍｕｘ９９によって出力された各ビットストリームは異なるビデオデコーダ３０Ａおよび３０Ｂに与えられる。複数のビットストリームは、ビットストリームを受信することによって作成され得、ビデオデコーダ３０Ａおよび３０Ｂの各々は、所与の時間においてビットストリームの一部分を受信する。場合によっては、ｄｅｍｕｘ９９において受信されるビットストリームからのビットは、ビデオデコーダの各々（たとえば、図３Ｂの例ではビデオデコーダ３０Ａおよび３０Ｂ）の間で一度に１ビットずつ交替され得るが、多くの場合、ビットストリームは別様に分割される。たとえば、ビットストリームは、一度に１ブロックずつビットストリームを受信するビデオデコーダを交替することによって分割され得る。別の例では、ビットストリームは、ブロックの非１：１比によって、ビデオデコーダ３０Ａおよび３０Ｂの各々に分割され得る。たとえば、２つのブロックは、ビデオデコーダ３０Ａに与えられる各ブロックについてビデオデコーダ３０Ｂに与えられ得る。いくつかの実施形態では、ｄｅｍｕｘ９９によるビットストリームの分割はプリプログラムされ得る。他の実施形態では、ｄｅｍｕｘ９９は、宛先モジュール１４を含む宛先デバイス上のプロセッサからなど、ビデオデコーダ３３の外部のシステムから受信された制御信号に基づいてビットストリームを分割し得る。制御信号は、入力インターフェース２８からのビデオの解像度またはビットレートに基づいて、リンク１６の帯域幅に基づいて、ユーザに関連付けられたサブスクリプション（たとえば、有料サブスクリプション対無料サブスクリプション）に基づいて、またはビデオデコーダ３３によって取得可能な解像度を決定するための他のファクタに基づいて生成され得る。
【０１２７】
ビデオ記録デバイスにおける帯域幅および電力消費
[0136]上記で説明したように、ビデオ記録能力を有するビデオデバイス（たとえば、スマートフォン、デジタルカムコーダなど）では、ビデオデバイスのカメラによってビデオデータが記録された後、記録されたビデオデータは、一般に、（ｉ）記録されたビデオデータが（たとえば、記憶および／または送信の前の圧縮のために）コード化ビットストリームに変換され得るように、エンコーダに、および（ｉｉ）記録されたビデオデータのプレビューがユーザに表示され得るように、ディスプレイに、与えられる。ユーザは、カメラを所望の記録オブジェクトに向け、所望の記録オブジェクトがカメラの視野内に正しく配置されることを確実にするために、ディスプレイ上に表示されたプレビューを使用し得る。
【０１２８】
[0137]しかしながら、ビデオデバイスによって記録されるビデオデータの品質が改善するにつれて、記録されたデータのサイズも増加し、記録されたビデオデータのプレビューを生成および表示するためにビデオデバイスによって実施される処理が、より多くの帯域幅および電力を消費することを引き起こし得る。たとえば、高精細度（ＨＤ）および超高精細度（ＵＨＤ）ビデオデータのプレビューを生成および表示することは、大量の帯域幅および電力が消費されることを必要とし得る。たとえば、任意のビデオシステム（たとえば、カムコーダシステム、エンコーダシステム、デコーダシステムなど）において、メモリおよびグラフィカルプロセッサがあり得る。メモリがグラフィカルプロセッサと通信するとき、メモリとグラフィカルプロセッサとの間のバス（たとえば、アドバンストエクステンシブルインターフェース（ＡＸＩ：Advanced eXtensible Interface）バス）の帯域幅の一部分が消費される。さらに、ビデオデータがメモリから読み取られ、および／またはメモリに書き込まれるとき、ある量の電力が消費される。１０８０ｐ、４Ｋ、などのビデオデータを伴うビデオ使用事例では、大量の帯域幅および電力が消費される。
【０１２９】
[0138]したがって、ビデオ記録デバイスにおける帯域幅および電力消費を低減することができる、ビデオデータを処理するための改善された方法が望まれる。
【０１３０】
ビデオデバイスの例
[0139]ビデオデバイスは、ビデオデータを記録すること、オーディオデートを記録すること、記録されたビデオおよびオーディオデータに基づいてビデオ統計値を生成すること、ビデオ統計値に基づいてプレビューを生成することなどを行うために、互いに通信する様々なコンポーネントを含み得る。いくつかの実施形態では、エンコーダおよびプレビュープロセッサは別個のコンポーネントであり得る。他の実施形態では、エンコーダおよびプレビュープロセッサは、記録されたビデオおよびオーディオデータを符号化し、また、処理されたビデオデータが記録されたビデオデータよりも低いフレームレートを有するように、記録されたビデオデータを処理し得る単一のコンポーネントとして実装され得る。処理されたビデオデータは、プレビューが生成され、ビデオデバイスのディスプレイ上に表示され得るように、カメラポストプロセッサ（ＣＰＰ：camera post-processor）、グラフィカル処理ユニット（ＧＰＵ：graphical processing unit）、および／またはマルチメディアディスプレイプロセッサ（ＭＤＰ：multimedia display processor）によってさらに処理され得る。いくつかの実施形態では、ビデオデバイスは、コンピュータ、ノートブック、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、スマートフォン、スマートパッド、テレビジョン、カメラ、ディスプレイデバイス、ビデオ記録デバイス、カムコーダ、ビデオテレフォニーデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、および車内コンピュータのうちのいずれか１つであり得る。
【０１３１】
[0140]図４は、本開示で説明する態様による技法を利用し得る例示的なビデオデバイス４００を示すブロック図である。いくつかの実施形態では、ビデオデバイス４００は、コンピュータ、ノートブック、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、スマートフォン、スマートパッド、テレビジョン、カメラ、ディスプレイデバイス、ビデオ記録デバイス、カムコーダ、ビデオテレフォニーデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、および車内コンピュータのうちのいずれか１つであり得る。図４に示されているように、ビデオデバイス４００は、カメラ４１０と、デコーダ４３０を含むエンコーダ４２０と、ＣＰＰ４４０と、ＧＰＵ／ＭＤＰ４５０と、ディスプレイ４６０とを含む。カメラ４１０は、（たとえば、３０ｆｐｓで）ビデオデータを記録し、記録されたビデオデータをエンコーダ４２０とＣＰＰ４４０とに与え得る。カメラ４１０からエンコーダ４２０への経路は、エンコーダ経路（encoder path）と呼ばれることがあり、カメラ４１０からＣＰＰ４４０、ＧＰＵ／ＭＤＰ４５０、およびディスプレイ４６０への経路は、プレビュー経路と呼ばれることがある。エンコーダ４２０とＣＰＰ４４０とに与えられたビデオデータは、カメラ４１０がそれでビデオデータを記録するように構成されたフレームレート（たとえば、図４の例では３０ｆｐｓ）と同じフレームレートを有し得る。図４に示されているように、エンコーダ４２０は、カメラ４１０から受信されたビデオデータに基づいて符号化ビットストリームを生成し、デコーダ４３０は、（たとえば、符号化ビットストリームを復号することによって）再構成された出力を生成する。
【０１３２】
[0141]ＣＰＰ４４０は、処理されたビデオデータをＧＰＵ／ＭＤＰ４５０に送る前に、カメラ４１０から受信されたビデオデータに対してある処理を実施し得る。ＧＰＵ／ＭＤＰ４５０は、ＧＰＵ、ＭＤＰ、またはその両方を備え得る。たとえば、ＣＰＰ４４０は、ビデオデータから１つまたは複数のフレームを削除し得る。一実施形態では、ＣＰＰ４４０は、ビデオデータから６番目ごとのフレームを削除する。そのような実施形態では、ビデオデータが３０ｆｐｓで記録された場合、ＣＰＰ５４０からＧＰＵ／ＭＤＰ４５０に与えられた処理されたビデオデータは、２５ｆｐｓのフレームレートを有する。処理されたビデオデータのフレームレートは、低減されたフレームレートと呼ばれることがある。別の実施形態では、ＣＰＰ４４０は、ビデオデータからＮ番目ごとのフレームを削除し、ここで、Ｎは１よりも大きい整数（たとえば、２、３、４、５、６、７、８、９、１０など）である。したがって、ＣＰＰ４４０への入力は、第１のフレームレートを有し得るが、ＣＰＰ４４０の出力は、第１のフレームレートよりも低い第２のフレームレートを有し得る。プレビューを生成するために使用されるべきビデオデータのフレームレートを低減することは、ＡＸＩ帯域幅、ならびにプレビュー経路における後続のコンポーネント（たとえば、ＧＰＵ／ＭＤＰ４５０、ディスプレイ４６０、および／または図４に示されていない他のコンポーネント）によって実施される処理を低減し得る。その結果、プレビュー経路における電力消費も低減され得る。ビデオデータのフレームレートを低減するプロセスについて、図６に関して以下でより詳細に説明する。
【０１３３】
[0142]ＧＰＵ／ＭＤＰ４５０は、処理されたビデオデータに基づいて表示される必要がある異なるレイヤを構成し得る。たとえば、モバイルデバイス上のカムコーダ適用例では、記録を開始および休止するために、フラッシュを使用可能にするために、バッテリー寿命を示すためになど、様々なボタンがスクリーン上に表示される。ＧＰＵ／ＭＤＰ４５０は、情報の異なるレイヤを構成し、単一のスクリーンにそれらをマージし、ディスプレイ４６０上に、構成されたビデオデータをレンダリングし得る。
【０１３４】
[0143]ディスプレイ４６０は、同期ディスプレイ（または「ダムディスプレイ（dumb display）」）あるいは非同期ディスプレイ（または「スマートディスプレイ」）であり得る。ダムディスプレイは、システムに、連続ビデオデータ（たとえば、すべてのフレームについてフルフレームを構成するすべてのピクセル）を送るように要求し得る。一方、スマートディスプレイは、システムに、ビデオデータの変化した部分（たとえば、ビデオデータ中のフレームのサブセットおよび／または各フレームの部分）のみを送るように要求し得る。ダムディスプレイは、単に、指定されたディスプレイフレームレート（たとえば、図４の例では６０ｆｐｓ）までの、低減されたフレームレートを有する処理されたビデオデータを読み取ることになる。スマートディスプレイは、同じフレームレートで処理されたビデオデータを読み取り、指定されたフレームレート（たとえば、６０ｆｐｓ）でビデオデータを表示するために、追加の処理を実施することになる。
【０１３５】
[0144]図５は、本開示で説明する態様による技法を利用し得る例示的なビデオデバイス５００を示すブロック図である。いくつかの実施形態では、ビデオデバイス５００は、コンピュータ、ノートブック、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、スマートフォン、スマートパッド、テレビジョン、カメラ、ディスプレイデバイス、ビデオ記録デバイス、カムコーダ、ビデオテレフォニーデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、および車内コンピュータのうちのいずれか１つであり得る。図５に示されているように、ビデオデバイス５００は、カメラ５１０と、デコーダ５３０を含むエンコーダ５２０と、ＣＰＰ５４０と、ＧＰＵ／ＭＤＰ５５０と、ディスプレイ５６０と、プレビュープロセッサ５７０とを含む。図５の例では、プレビュープロセッサ５７０は、図４中のＣＰＰ４４０によって実施される処理のうちのいくつかを実施し得る。図５の例では、エンコーダ５２０およびプレビュープロセッサ５７０は、別個のコンポーネントとして示されている。別の実施形態では、エンコーダ５２０およびプレビュープロセッサ５７０は、記録されたビデオデータを符号化し、また、処理されたビデオデータが、ビデオデータがそれで記録される元のフレームレートよりも低いフレームレートを有するように、記録されたビデオデータを処理し得る単一のコンポーネントとして実装され得る。プレビュープロセッサ５７０は、ハードウェアまたはソフトウェアコンポーネントとして実装され得る。
【０１３６】
[0145]カメラ５１０は、（たとえば、３０ｆｐｓで）ビデオデータを記録し、記録されたビデオデータをエンコーダ５２０とプレビュープロセッサ５７０とに与え得る。カメラ５１０からエンコーダ５２０への経路は、エンコーダ経路と呼ばれることがあり、カメラ５１０からプレビュープロセッサ５７０、ＣＰＰ５４０、ＧＰＵ／ＭＤＰ５５０、およびディスプレイ５６０への経路は、プレビュー経路と呼ばれることがある。エンコーダ５２０とプレビュープロセッサ５７０とに与えられたビデオデータは、カメラ５１０がそれでビデオデータを記録するように構成されたフレームレート（たとえば、図５の例では３０ｆｐｓ）と同じフレームレートを有し得る。図５に示されているように、エンコーダ５２０は、カメラ５１０から受信されたビデオデータに基づいて符号化ビットストリームを生成し、デコーダ５３０は、（たとえば、符号化ビットストリームを復号することによって）再構成された出力を生成する。エンコーダ５２０はさらに、プレビュープロセッサ５７０にコーディング統計値を与える。コーディング統計値は、ビットストリーム中で記録されたビデオデータを符号化するプロセスおよび／または符号化ビットストリームを復号するプロセス中に生成された情報を含み得る。たとえば、コーディング統計値は、各フレーム内のイントラコード化、インターコード化、および／またはスキップブロック、マクロブロック、スライス、タイル、または他のコーディングユニットの数を備え得る。たとえば、ブロックは、４×４、１６×１６、８×８、８×１６、１６×８のサイズ、および／または他のサイズであり得る。コーディング統計値はまた、もしあれば、各フレーム中の関心領域（region of interest）の指示を備え得る。コーディング統計値はまた、記録されたビデオデータ中の各フレームの色情報を備え得る。色情報は、ＹＵＶデータ、ＲＧＢデータ、ルーマデータ、および／またはクロマデータを備え得る。コーディング統計値はまた、ボイスアクティビティ検出（ＶＡＤ：voice activity detection）情報を備え得る。ＶＡＤ情報は、人間の音声が各フレーム中に存在するかどうかを示し得る。ビデオデバイスによって生成され得るコーディング統計値は、本明細書で説明するものに限定されず、記録されたビデオデータを処理するために使用され得る他の情報を含み得る。
【０１３７】
[0146]プレビュープロセッサ５７０は、処理されたビデオデータをＣＰＰ５４０に送る前に、カメラ５１０から受信されたビデオデータに対してある処理を実施し得る。たとえば、プレビュープロセッサ５７０は、ビデオデータから１つまたは複数のフレームを削除し得る。一実施形態では、プレビュープロセッサ５７０は、エンコーダ５２０から受信されたコーディング統計値に基づいて、ビデオデータから１つまたは複数のフレームを削除する。図示されていないが、コーディング統計値の代わりに、プレビュープロセッサ５７０は、どのフレームがビデオデータからドロップされるべきであるかの指示を、エンコーダ５２０から受信（または場合によってはその指示にアクセス）し得る。そのような場合、プレビュープロセッサ５７０は、ビデオデータから削除されるべきであると示されたフレームを削除し得る。したがって、プレビュープロセッサ５７０への入力は、第１のフレームレートを有し得るが、プレビュープロセッサ５７０の出力は、第１のフレームレートよりも低い第２のフレームレートを有し得る。プレビューを生成するために使用されるべきビデオデータのフレームレートを低減することは、ＡＸＩ帯域幅、ならびにプレビュー経路における後続のコンポーネント（たとえば、ＣＰＰ５４０、ＧＰＵ／ＭＤＰ５５０、ディスプレイ５６０、および／または図５に示されていない他のコンポーネント）によって実施される処理を低減し得る。その結果、プレビュー経路における電力消費も低減され得る。ビデオデータのフレームレートを低減するプロセスについて、図７に関して以下でより詳細に説明する。
【０１３８】
[0147]ＧＰＵ／ＭＤＰ５５０は、処理されたビデオデータに基づいて表示される必要がある異なるレイヤを構成し得る。たとえば、モバイルデバイス上のカムコーダ適用例では、記録を開始および休止するために、フラッシュを使用可能にするために、バッテリー寿命を示すためになど、様々なボタンがスクリーン上に表示される。ＧＰＵ／ＭＤＰ５５０は、情報の異なるレイヤを構成し、単一のスクリーンにそれらをマージし、ディスプレイ５６０上に、構成されたビデオデータをレンダリングし得る。ＧＰＵ／ＭＤＰ５５０は、ＧＰＵ、ＭＤＰ、またはその両方を備え得る。
【０１３９】
[0148]ディスプレイ５６０は、同期ディスプレイ（または「ダムディスプレイ」）あるいは非同期ディスプレイ（または「スマートディスプレイ」）であり得る。ダムディスプレイは、システムに、連続ビデオデータ（たとえば、すべてのフレームについてフルフレームを構成するすべてのピクセル）を送るように要求し得る。一方、スマートディスプレイは、システムに、ビデオデータの変化した部分（たとえば、ビデオデータ中のフレームのサブセットおよび／または各フレームの部分）のみを送るように要求し得る。ダムディスプレイは、単に、指定されたディスプレイフレームレート（たとえば、図５の例では６０ｆｐｓ）までの、低減されたフレームレートを有する処理されたビデオデータを読み取ることになる。スマートディスプレイは、同じフレームレートで処理されたビデオデータを読み取り、指定されたフレームレート（たとえば、６０ｆｐｓ）でビデオデータを表示するために、追加の処理を実施することになる。
【０１４０】
ビデオデータ処理の例
[0149]図６は、本開示の一実施形態による、ビデオ情報をコーディングするための方法６００を示すフローチャートである。図６に示されているステップの一部または全部は、図１〜図５に示されているデバイスのいずれか、あるいはそれの１つまたは複数のコンポーネント（たとえば、図５のプレビュープロセッサ）によって実施され得る。便宜上、方法６００について、エンコーダ、デコーダ、および／または別の他のコンポーネントを備え得る、ビデオデバイスによって実施されるものとして説明する。
【０１４１】
[0150]方法６００はブロック６０１において開始する。ブロック６０５において、ビデオデバイスは、第１のフレームレートでビデオデータを記録する。一実施形態では、第１のフレームレートは３０ｆｐｓである。いくつかの実施形態では、ビデオデバイスのコンポーネントが方法６００を実施している場合（たとえば、ビデオデバイス中のプロセッサ）、そのようなコンポーネントは、たとえば、ビデオデータを記録するようにビデオデバイスのカメラに命令することによって、ビデオデータを第１のフレームレートで記録させ得る。記録されたビデオデータは、ビデオバッファに記憶され、ビデオデバイスの様々なコンポーネントによって処理され得る。たとえば、記録されたビデオデータは、コーダ（たとえば、エンコーダまたはデコーダ）によって処理され、記憶および／または送信のためにビデオビットストリームに圧縮され得る。記録されたビデオデータは、記録されたビデオデータに基づいて生成されたプレビューがビデオデバイスのディスプレイ上に表示され得るように、ＣＰＰ、ＧＰＵおよび／またはＭＤＰによって処理され得る。
【０１４２】
[0151]ブロック６１０において、ビデオデバイスは、処理されたビデオデータが、第１のフレームレートよりも低い第２のフレームレートを有するように、記録されたビデオデータから１つまたは複数のフレームを削除することによって、記録されたビデオデータを処理する。たとえば、第２のフレームレートは２５ｆｐｓであり得る。別の例では、第２のフレームレートは、ビデオデータがそれで記録されるフレームレート（たとえば、３０ｆｐｓ）よりも低い任意のフレームレートであり得る。一実施形態では、記録されたビデオデータから削除された１つまたは複数のフレームは、記録されたビデオデータ中の６番目ごとのフレームを備える。たとえば、ビデオデータが３０ｆｐｓで記録され、ビデオデバイスが、記録されたビデオデータ中の６番目ごとのフレームがドロップされるように、記録されたビデオデータを処理した場合、処理されたビデオデータは２５ｆｐｓのフレームレートを有し得る。別の実施形態では、記録されたビデオデータから削除された１つまたは複数のフレームは、記録されたビデオデータ中の５番目ごとのフレーム、７番目ごとのフレーム、またはＮ番目ごとのフレーム（ここで、Ｎは０よりも大きい整数である）を備える。
【０１４３】
[0152]ブロック６１５において、ビデオデバイスは、処理されたビデオデータに基づいて、記録されたビデオデータのプレビューを生成する。たとえば、ビデオデータが３０ｆｐｓで記録された場合でも、処理されたビデオデバイスが２５ｆｐｓのフレームレートを有する場合、ビデオデバイスは、２５ｆｐｓのフレームレートを有する処理されたビデオデータに基づいて、プレビューを生成し得る。ブロック６２０において、ビデオデバイスは、たとえば、ビデオデバイスのディスプレイを介して、記録されたビデオデータの生成されたプレビューを表示する。方法６００は６２５において終了する。
【０１４４】
[0153]上記で説明したように、図１〜図５に示されているビデオデバイスの１つまたは複数のコンポーネントは、ビデオデータを第１のフレームレートで記録させること、記録されたビデオデータから１つまたは複数のフレームを削除することによって、記録されたビデオデータを処理すること、および処理されたビデオデータに基づいてプレビューを生成することなど、本開示で説明する技法のいずれかを実装するために使用され得る。
【０１４５】
[0154]方法６００では、図６に示されているブロックのうちの１つまたは複数は削除される（たとえば、実施されない）かまたは変更されることがあり、方法が実施される順序は入れ替えられることがあり、および／あるいは１つまたは複数の追加のブロックが追加されることがある。たとえば、ブロック６０５においてビデオデータを記録させる代わりに、ビデオデバイスは、すでに記録されたビデオデータを受信するかまたは場合によってはそれにアクセスし、ブロック６１０において説明したように、そのようなビデオデータを処理し得る。したがって、本開示の実施形態は、図６に示されている例にまたはそれによって限定されず、他の変形形態が、本開示の趣旨から逸脱することなく実装され得る。
【０１４６】
[0155]図７は、本開示の一実施形態による、ビデオ情報をコーディングするための方法７００を示すフローチャートである。図７に示されているステップは、図１〜図５に示されているデバイスのいずれか、あるいはそれの１つまたは複数のコンポーネント（たとえば、図５のプレビュープロセッサ）によって実施され得る。便宜上、方法７００について、エンコーダ、デコーダ、および／または別の他のコンポーネントを備え得る、ビデオデバイスによって実施されるものとして説明する。
【０１４７】
[0156]方法７００はブロック７０１において開始する。ブロック７０５において、ビデオデバイスは、第１のフレームレートでビデオデータを記録する。一実施形態では、第１のフレームレートは３０ｆｐｓである。いくつかの実施形態では、ビデオデバイスのコンポーネントが方法６００を実施している場合（たとえば、ビデオデバイス中のプロセッサ）、そのようなコンポーネントは、たとえば、ビデオデータを記録するようにビデオデバイスのカメラに命令することによって、ビデオデータを第１のフレームレートで記録させ得る。記録されたビデオデータは、ビデオバッファに記憶され、ビデオデバイスの様々なコンポーネントによって処理され得る。たとえば、記録されたビデオデータは、コーダ（たとえば、エンコーダまたはデコーダ）によって処理され、記憶および／または送信のためにビデオビットストリームに圧縮され得る。記録されたビデオデータは、記録されたビデオデータに基づいて生成されたプレビューがビデオデバイスのディスプレイ上に表示され得るように、カメラポストプロセッサ（ＣＰＰ）、グラフィカル処理ユニット（ＧＰＵ）および／またはマルチメディアディスプレイプロセッサ（ＭＤＰ）によって処理され得る。
【０１４８】
[0157]ブロック７１０において、ビデオデバイスは、記録されたビデオデータに基づいてコーディング統計値を生成する。コーディング統計値は、ビットストリーム中で記録されたビデオデータを符号化するプロセスおよび／または符号化ビットストリームを復号するプロセス中に生成された情報を含み得る。たとえば、コーディング統計値は、各フレーム内のイントラコード化、インターコード化、および／またはスキップブロック、マクロブロック、スライス、タイル、または他のコーディングユニットの数を備え得る。たとえば、ブロックは、４×４、１６×１６、８×８、８×１６、１６×８のサイズ、および／または他のサイズであり得る。コーディング統計値はまた、もしあれば、各フレーム中の関心領域の指示を備え得る。コーディング統計値はまた、記録されたビデオデータ中の各フレームの色情報を備え得る。色情報は、ＹＵＶデータ、ＲＧＢデータ、ルーマデータ、および／またはクロマデータを備え得る。コーディング統計値はまた、ボイスアクティビティ検出（ＶＡＤ）情報を備え得る。ＶＡＤ情報は、人間の音声が各フレーム中に存在するかどうかを示し得る。ビデオデバイスによって生成され得るコーディング統計値は、本明細書で説明するものに限定されず、記録されたビデオデータを処理するために使用され得る他の情報を含み得る。
【０１４９】
[0158]ブロック７１５において、ビデオデバイスは、処理されたビデオデータが、第１のフレームレートよりも低い第２のフレームレートを有するように、記録されたビデオデータから１つまたは複数のフレームを削除することによって、記録されたビデオデータを処理する。たとえば、第２のフレームレートは２５ｆｐｓであり得る。別の例では、第２のフレームレートは、ビデオデータがそれで記録されるフレームレート（たとえば、３０ｆｐｓ）よりも低い任意のフレームレートであり得る。一実施形態では、記録されたビデオデータから削除された１つまたは複数のフレームは、記録されたビデオデータ中の６番目ごとのフレームを備える。たとえば、ビデオデータが３０ｆｐｓで記録され、ビデオデバイスが、記録されたビデオデータ中の６番目ごとのフレームがドロップされるように、記録されたビデオデータを処理した場合、処理されたビデオデータは２５ｆｐｓのフレームレートを有し得る。別の実施形態では、記録されたビデオデータから削除された１つまたは複数のフレームは、記録されたビデオデータ中の５番目ごとのフレーム、７番目ごとのフレーム、またはＮ番目ごとのフレーム（ここで、Ｎは０よりも大きい整数である）を備える。
【０１５０】
[0159]ブロック７２０において、ビデオデバイスは、処理されたビデオデータに基づいてプレビューを生成する。たとえば、ビデオデータが３０ｆｐｓで記録された場合でも、処理されたビデオデバイスが２５ｆｐｓのフレームレートを有する場合、ビデオデバイスは、２５ｆｐｓのフレームレートを有する処理されたビデオデータに基づいて、プレビューを生成し得る。ブロック７２５において、ビデオデバイスは、たとえば、ビデオデバイスのディスプレイを介して、記録されたビデオデータの生成されたプレビューを表示する。方法７００は７３０において終了する。
【０１５１】
[0160]上記で説明したように、図１〜図５に示されているビデオデバイスの１つまたは複数のコンポーネントは、ビデオデータを第１のフレームレートで記録させること、記録されたビデオデータに基づいてコーディング統計値を生成すること、コーディング統計値に基づいて、記録されたビデオデータから１つまたは複数のフレームを削除することによって、記録されたビデオデータを処理すること、および処理されたビデオデータに基づいてプレビューを生成することなど、本開示で説明する技法のいずれかを実装するために使用され得る。
【０１５２】
[0161]方法７００では、図７に示されているブロックのうちの１つまたは複数は削除される（たとえば、実施されない）かまたは変更されることがあり、方法が実施される順序は入れ替えられることがあり、および／あるいは１つまたは複数の追加のブロックが追加されることがある。たとえば、ブロック７０５においてビデオデータを記録させる代わりに、ビデオデバイスは、すでに記録されたビデオデータを受信するかまたは場合によってはそれにアクセスし得る。別の例では、ブロック７１０においてコーディング統計値を生成する代わりに、ビデオデバイス（たとえば、図５に示されているプレビュープロセッサ）は、別のコンポーネント（たとえば、エンコーダ）によって生成されたコーディング統計値を受信するかまたは場合によってはそれにアクセスし、ブロック７１５において、記録されたビデオデータを処理するためにコーディング統計値を使用し得る。
【０１５３】
[0162]また別の実施形態では、ブロック７１５においてコーディング統計値に基づいて、記録されたビデオデータを処理する代わりに、ビデオデバイス（たとえば、図５に示されているプレビュープロセッサ）は、記録されたビデオデータからどのフレームを削除すべきかの指示を受信するかまたは場合によってはそれにアクセスし、ブロック７１５において、記録されたビデオデータから、示されたフレームを削除することによって、記録されたビデオデータを処理し得る。たとえば、コーダ（たとえば、エンコーダまたはデコーダ）は、ビデオデータ中の異なるマクロブロックタイプのためのマクロブロック（ＭＢ）重み値を指定し得る。一実施形態では、重み値は、あまり重要でない（たとえば、プレビュー品質に著しく影響を及ぼすことなしに削除され得る）ＭＢタイプの場合により大きい。たとえば、１６の重み値がスキップＭＢに、１４がＰ１６×１６ＭＢのために、１３がＰ８×８ＭＢ、Ｐ８×１６ＭＢ、およびＰ１６×８ＭＢのために、１０がＰ４×４ＭＢのために、８がＩ１６×１６ＭＢのために、ならびに７がＩ４×４ＭＢのために割り当てられ得る。説明の目的で特定の数値がＭＢに割り当てられるが、他の値が、ＭＢまたは本明細書で説明しない他のコーディングユニットのうちの１つまたは複数に割り当てられ得る。次いで、各フレームについて、フレーム中のすべてのＭＢのすべてのＭＢ重み値を合計することによって、フレーム重み値が（たとえば、コーダまたはプレビュープロセッサによって）計算される。たとえば、所与のフレームが２０個のスキップＭＢ、６０個のＰ１６×１６ＭＢ、１００個のＩ１６×１６ＭＢ、および１２０個のＩ４×４ＭＢを有する場合、所与のフレームについて計算される総重みは、２０＊１６＋６０＊１４＋１００＊８＋１２０＊７＝３２０＋８４０＋８００＋８４０＝２８００になる。いくつかの実施形態では、プレビュープロセッサは、コーダによって与えられたコーディング統計値に基づいてこの計算を実施する。他の実施形態では、コーダは、生成されたコーディング統計値に基づいてこの計算を実施し、計算の結果をプレビュープロセッサに与える。いくつかの実施形態では、フレームの計算された重みは、フレームをドロップすべきなのか保持すべきなのかを決定するために、しきい値と比較され得る。他の実施形態では、いくつかの連続フレーム（たとえば、５つのフレーム）のフレーム重みの移動平均がしきい値と比較され得、プレビュープロセッサは、移動平均がしきい値を上回る（または、重み値がどのように計算されるかに応じて、下回る）場合、現在フレームを削除し得る。いくつかの実施形態では、ある数以下の連続フレーム（たとえば、２つのフレーム、３つのフレームなど）はビデオデータから削除され得るという制約が追加され得る。
【０１５４】
[0163]したがって、本開示の実施形態は、図７に示されている例にまたはそれによって限定されず、他の変形形態が、本開示の趣旨から逸脱することなく実装され得る。
【０１５５】
帯域幅および電力消費の低減
[0164]表１および表２は、本明細書で説明する技法を使用して図１〜図５に示されているビデオデバイスにおいて達成され得る、帯域幅および電力消費の予測される低減を示す。
【表１】
2018514985.tif 000003
【０１５６】
[0165]表１に示されている例では、ＡＸＩ帯域幅の低減は約３００ＭＢｐｓである。
【表２】
2018514985.tif 000004
【０１５７】
[0166]表２に示されている例では、電力消費の低減は、プレビューフレームレートが３０ｆｐｓから２４ｆｐｓまでドロップされた場合、約４０ｍＡである。プレビューフレームレートの追加のドロップが、電力消費をさらに低減することになる。
【０１５８】
他の考慮事項
[0167]本明細書で開示される情報および信号は、多種多様な技術および技法のいずれかを使用して表され得る。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【０１５９】
[0168]本明細書で開示した実施形態に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【０１６０】
[0169]本明細書で説明した技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。そのような技法は、汎用コンピュータ、ワイヤレス通信デバイスハンドセット、またはワイヤレス通信デバイスハンドセットおよび他のデバイスにおける適用例を含む複数の用途を有する集積回路デバイスなど、様々なデバイスのいずれかにおいて実装され得る。モジュールまたはコンポーネントとして説明した特徴は、集積論理デバイスに一緒に、または個別であるが相互運用可能な論理デバイスとして別々に実装され得る。ソフトウェアで実装した場合、本技法は、実行されたとき、上記で説明した方法のうちの１つまたは複数を実施する命令を含むプログラムコードを備えるコンピュータ可読データ記憶媒体によって、少なくとも部分的に実現され得る。コンピュータ可読データ記憶媒体は、パッケージング材料を含むことがあるコンピュータプログラム製品の一部を形成し得る。コンピュータ可読媒体は、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）などのランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、電気消去可能プログラマブル読取り専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュメモリ、磁気または光学データ記憶媒体などの、メモリまたはデータ記憶媒体を備え得る。本技法は、追加または代替として、伝搬信号または電波など、命令またはデータ構造の形態でプログラムコードを搬送または伝達し、コンピュータによってアクセスされ、読み取られ、および／または実行され得るコンピュータ可読通信媒体によって、少なくとも部分的に実現され得る。
【０１６１】
[0170]プログラムコードは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、汎用マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルロジックアレイ（ＦＰＧＡ）、または他の等価の集積回路またはディスクリート論理回路など、１つまたは複数のプロセッサを含み得るプロセッサによって実行され得る。そのようなプロセッサは、本開示で説明する技法のいずれかを実施するように構成され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。したがって、本明細書で使用する「プロセッサ」という用語は、上記の構造、上記の構造の任意の組合せ、または本明細書で説明する技法の実装に好適な他の構造または装置のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のソフトウェアモジュールもしくはハードウェアモジュール内に与えられ得、または複合ビデオエンコーダ／デコーダ（コーデック）に組み込まれ得る。また、本技法は、１つまたは複数の回路または論理要素中に十分に実装され得る。
【０１６２】
[0171]本開示の技法は、ワイヤレスハンドセット、集積回路（ＩＣ）またはＩＣのセット（たとえば、チップセット）を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示する技法を実施するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネント、モジュール、またはユニットについて説明したが、それらのコンポーネント、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび／またはファームウェアとともに、上記で説明した１つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作可能なハードウェアユニットの集合によって与えられ得る。
【０１６３】
[0172]本発明の様々な実施形態について説明した。これらおよび他の実施形態は以下の特許請求の範囲内に入る。
【図１Ａ】
2018514985.tif 000005
【図１Ｂ】
2018514985.tif 000006
【図２Ａ】
2018514985.tif 000007
【図２Ｂ】
2018514985.tif 000008
【図３Ａ】
2018514985.tif 000009
【図３Ｂ】
2018514985.tif 000010
【図４】
2018514985.tif 000011
【図５】
2018514985.tif 000012
【図６】
2018514985.tif 000013
【図７】
2018514985.tif 000014
【国際調査報告】
2018514985.tif 000015
2018514985.tif 000016
2018514985.tif 000017