JP2015529065A - スケーラブルビデオコーディングおよび3dビデオコーディングのための多重仮説動き補償 - Google Patents

スケーラブルビデオコーディングおよび3dビデオコーディングのための多重仮説動き補償 Download PDF

Info

Publication number
JP2015529065A
JP2015529065A JP2015526609A JP2015526609A JP2015529065A JP 2015529065 A JP2015529065 A JP 2015529065A JP 2015526609 A JP2015526609 A JP 2015526609A JP 2015526609 A JP2015526609 A JP 2015526609A JP 2015529065 A JP2015529065 A JP 2015529065A
Authority
JP
Japan
Prior art keywords
video
layer
video unit
prediction
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015526609A
Other languages
English (en)
Other versions
JP2015529065A5 (ja
Inventor
リ、シャン
チェン、ジャンレ
カークゼウィックズ、マルタ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2015529065A publication Critical patent/JP2015529065A/ja
Publication of JP2015529065A5 publication Critical patent/JP2015529065A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Abstract

いくつかの態様による、ビデオ情報をコーディングするための装置は、メモリユニットと、メモリユニットと通信しているプロセッサとを含む。メモリユニットは、参照レイヤおよびエンハンスメントレイヤのビデオ情報を記憶する。プロセッサは、明示的な仮説および参照レイヤからの動き情報から計算された暗黙的な仮説に少なくとも部分的に基づいて、エンハンスメントレイヤの現在のビデオユニットの値を決定する。

Description

[0001] 本開示は、ビデオコーディングに関する。
[0002] デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4,Part 10,Advanced Video Coding(AVC)、現在開発中の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法のような、ビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0003] ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス(たとえば、ビデオフレームまたはビデオフレームの一部分)が、ツリーブロック、コーディングユニット(CU)および/またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化(I)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス中のビデオブロックは、同じピクチャ中の隣接ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0004] 空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて残差変換係数をもたらすことができ、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初に2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査されてよく、なお一層の圧縮を達成するためにエントロピーコーディングが適用されてよい。
[0005] 一般に、本開示は、スケーラブルビデオコーディング(SVC)に関係する技法を記載する。いくつかの実施形態では、ビデオ圧縮による画像のひずみを減らすために、明示的に符号化された仮説と暗黙的に導出された仮説の両方を使用する多重仮説動き補償が使用される。たとえば、エンハンスメントレイヤでビデオユニットをコーディングしながら、ビデオコーダは、参照レイヤからの情報を使用して、さらなる仮説を識別するために使用され得るさらなる動き補償データを取得することができる。これらのさらなる仮説は、ビデオのビットストリーム内にすでに存在するデータから暗黙的に導出されるので、ビットストリームのサイズにおける追加コストがほとんどまたはまったくない状態で、ビデオコーディングにおけるさらなる性能が得られ得る。別の例では、さらなる仮説を見つけるために、空間的に隣接するビデオユニットからの動き情報が使用され得る。次いで、導出された仮説は、明示的に符号化された仮説と平均化されるか、または場合によっては組み合わされて、ビデオユニットの値のより良い予測を生成することができる。
[0006] 1つまたは複数の例の詳細が、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面から、および特許請求の範囲から明らかになろう。
[0007] 図面全体にわたって、参照される要素間の対応を示すために参照番号が再使用される場合がある。図面は、本明細書に記載される例示的な実施形態を図示するために提供され、本開示の範囲を限定するものではない。
[0008] 本開示に記載される態様に従って技法を利用することができる、例示的なビデオ符号化システムとビデオ復号システムとを示すブロック図。 [0009] 本開示に記載される態様に従って技法を実装することができる、ビデオエンコーダの一例を示すブロック図。 [0010] 本開示に記載される態様に従って技法を実装することができる、ビデオデコーダの一例を示すブロック図。 [0011] 本開示の態様による、例示的な候補動きベクトルを示すブロック図。 [0012] 本開示の態様による、空間候補の走査を示すブロック図。 [0013] 本開示の態様による、Bスライス用の空間MVP候補を導出する一例を示すブロック図。 [0014] 本開示の態様による、3つの異なる次元におけるスケーラビリティを示すブロック図。 [0015] 本開示の態様による、SVCビットストリームの例示的な構造を示すブロック図。 [0016] 本開示の態様による、ビットストリーム内の例示的なSVCアクセスユニットを示すブロック図。 [0017] 本開示の態様による、暗黙的な多重仮説動き補償(IMMC)のための例示的な方法を示すブロック図。 [0018] 本開示の態様による、符号化ルーチン用の方法の一実施形態を示すフローチャート。 [0019] 本開示の態様による、復号ルーチン用の方法の一実施形態を示すフローチャート。
[0020] 本開示に記載される技法は、一般に、スケーラブルビデオコーディング(SVC)および3Dビデオコーディングに関する。たとえば、本技法は、高効率ビデオコーディング(HEVC)のスケーラブルビデオコーディング(SVC)拡張に関係し、それとともに、またはその中で使用される場合がある。SVC拡張では、複数のレイヤのビデオ情報が存在する可能性がある。最下位レベルにあるレイヤは基本レイヤ(BL)として働くことができ、最上位にあるレイヤは強調レイヤ(EL)として働くことができる。「強調レイヤ」は時々「エンハンスメントレイヤ」と呼ばれ、これらの用語は互換的に使用される場合がある。中間にあるすべてのレイヤは、ELまたは参照レイヤ(RL)のどちらか、または両方として働くことができる。たとえば、中間にあるレイヤは、基本レイヤまたは任意の介在するエンハンスメントレイヤなどのその下のレイヤ用のELであり得るし、同時にその上のエンハンスメントレイヤ用のRLとして働くことができる。
[0021] 単に例示のために、本開示に記載される技法は、2つのみのレイヤ(たとえば、基本レイヤなどの下位レベルレイヤ、および強調レイヤなどの上位レベルレイヤ)を含む例を用いて記載される。本開示で記載される例は、複数の基本レイヤとエンハンスメントレイヤとを有する例にも拡張され得ることを理解されたい。加えて、説明を簡単にするために、以下の開示は「フレーム」または「ブロック」という用語を主に使用する。しかしながら、これらの用語は限定的ではあり得ない。たとえば、以下に記載される技法は、ブロック(たとえば、CU、PU、TU、マクロブロックなど)、スプライス、フレームなどの様々なビデオユニットとともに使用され得る。
ビデオコーディング規格
[0022] ビデオコーディング規格には、ITU−T H.261、ISO/IEC MPEG−1 Visual、ITU−T H.262またはISO/IEC MPEG−2 Visual、ITU−T H.263、ISO/IEC MPEG−4 Visual、および、そのスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)の拡張を含む(ISO/IEC MPEG−4 AVCとしても知られている)ITU−T H.264が含まれる。加えて、ITU−T Video Coding Experts Group(VCEG)とISO/IEC Motion Picture Experts Group(MPEG)とのJoint Collaboration Team on Video Coding(JCT−VC)によって開発されている新しいビデオコーディング規格、すなわち、高効率ビデオコーディング(HEVC)がある。HEVCの最新ドラフトは、2012年6月7日現在、http://wg11.sc29.org/jct/doc_end_user/current_document.php?id=5885/JCTVC−I1003−v2から入手可能である。
「HEVC作業ドラフト7」と呼ばれるHEVC規格の別の最新ドラフトは、2012年6月7日現在、http://phenix.it−sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC−I1003−v3.zipからダウンロード可能である。HEVC作業ドラフト7用の完全な引用は、文書HCTVC−I1003、Brossら、「High Efficiency Video Coding(HEVC) Text Specification Draft 7」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11とのJoint Collaborative Team on Video Coding(JCT−VC)、第9回会合、ジュネーブ、スイス、2012年4月27日〜2012年5月7日である。これらの参照文献の各々は、その全体が参照により組み込まれる。
[0023] スケーラブルビデオコーディング(SVC)は、(信号対雑音比(SNR)とも呼ばれる)品質スケーラビリティ、空間スケーラビリティ、および/または時間スケーラビリティを実現するために使用され得る。たとえば、一実施形態では、参照レイヤ(たとえば、基本レイヤ)は、第1の品質レベルでビデオを表示するのに十分なビデオ情報を含み、エンハンスメントレイヤは、参照レイヤと比べてさらなるビデオ情報を含み、その結果、参照レイヤおよびエンハンスメントレイヤは一緒に、第1の品質レベルよりも高い第2の品質レベル(たとえば、少ない雑音、大きい解像度、より良いフレームレートなど)でビデオを表示するのに十分なビデオ情報を含む。強調レイヤは、基本レイヤとは異なる空間解像度を有することができる。たとえば、ELとBLとの間の空間アスペクト比は、1.0、1.5、2.0、または他の異なる比であり得る。言い換えれば、ELの空間アスペクトは、BLの空間アスペクトの1.0倍、1.5倍、または2.0倍に等しい場合がある。いくつかの例では、ELの倍率は、BLの倍率よりも大きい場合がある。たとえば、EL内のピクチャのサイズは、BL内のピクチャのサイズよりも大きい場合がある。このようにして、限定ではないが、ELの空間解像度がBLの空間解像度よりも大きいことは可能であり得る。
[0024] H.264用のSVC拡張では、現在のブロックの予測は、SVC用に提供された様々なレイヤを使用して実施され得る。そのような予測は、レイヤ間予測と呼ばれる場合がある。レイヤ間予測方法は、レイヤ間の冗長性を低減するためにSVC内で利用され得る。レイヤ間予測のいくつかの例には、レイヤ間イントラ予測、レイヤ間動き予測、およびレイヤ間残差予測が含まれ得る。レイヤ間イントラ予測は、基本レイヤ内の同じ位置にあるブロックの復元を使用して、エンハンスメントレイヤ内の現在のブロックを予測する。レイヤ間動き予測は、基本レイヤの動きを使用して、エンハンスメントレイヤ内の動きを予測する。レイヤ間残差予測は、基本レイヤの残差を使用して、エンハンスメントレイヤの残差を予測する。
[0025] レイヤ間動き予測のいくつかの実施形態では、(たとえば、同じ位置にあるブロックについての)基本レイヤの動きデータは、エンハンスメントレイヤ内の現在のブロックを予測するために使用される場合がある。たとえば、エンハンスメントレイヤでビデオユニットをコーディングしながら、ビデオコーダは、参照レイヤからの情報を使用して、さらなる仮説を識別するために使用され得るさらなる動き補償データを取得することができる。これらのさらなる仮説は、ビデオビットストリーム内にすでに存在するデータから暗黙的に導出されるので、ビットストリームのサイズにおける追加コストがほとんどまたはまったくない状態で、ビデオコーディングにおけるさらなる性能が得られ得る。別の例では、さらなる仮説を見つけるために、空間的に隣接するビデオユニットからの動き情報が使用され得る。次いで、導出された仮説は、明示的に符号化された仮説と平均化されるか、または場合によっては組み合わされて、ビデオユニットの値のより良い予測を生成することができる。
[0026] 添付の図面を参照して、新規のシステム、装置、および方法の様々な態様が以下でより十分に記載される。しかしながら、本開示は、多くの異なる形態で具現化される場合があり、本開示全体にわたって提示される任意の特定の構造または機能に限定されるものと解釈されるべきではない。むしろ、これらの態様は、本開示が周到で完全になり、本開示の範囲を当業者に十分に伝えるように提供される。本明細書の教示に基づいて、本開示の範囲は、本発明の任意の他の態様とは無関係に実装されるにせよ、または本開示の任意の他の態様と組み合わせて実装されるにせよ、本明細書で開示される新規のシステム、装置、および方法のいかなる態様をもカバーするものであることを、当業者は諒解されたい。たとえば、本明細書に記載の任意の数の態様を使用して、装置が実現され得るか、または方法が実践され得る。加えて、本発明の範囲は、本明細書に記載の本発明の様々な態様に加えて、またはそれらの態様以外に、他の構造、機能、または構造および機能を使用して実践される、そのような装置または方法をカバーするものとする。本明細書で開示される任意の態様が請求項の1つまたは複数の要素によって具現化され得ることを理解されたい。
[0027] 本明細書では特定の態様が記載されるが、これらの態様の多くの変形および置換は本開示の範囲内に入る。好ましい態様のいくつかの利益および利点が言及されるが、本開示の範囲は特定の利益、使用、または目的に限定されるものではない。むしろ、本開示の態様は、様々なワイヤレス技術、システム構成、ネットワーク、および伝送プロトコルに広く適用可能であるものであり、そのうちのいくつかが、図および好ましい態様の以下の説明で例として示される。発明を実施するための形態および図面は、限定的なものではなく本開示を説明するものにすぎず、本開示の範囲は、添付の特許請求の範囲およびその均等物によって規定される。
[0028] 図1は、本開示に記載される態様に従って技法を利用することができる、例示的なビデオ符号化システムとビデオ復号システムとを示すブロック図である。図1に示されるように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを与えるソースデバイス12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介してビデオデータを宛先デバイス14に与える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信に対応し得る。
[0029] 宛先デバイス14は、コンピュータ可読媒体16を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動させることができる任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12が、符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、高周波(RF)スペクトルあるいは1つまたは複数の物理伝送線路のような、任意のワイヤレスまたは有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークのような、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0030] いくつかの例では、符号化データは、出力インターフェース22からストレージデバイスに出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは、符号化されたビデオデータを記憶するための任意の他の適切なデジタル記憶媒体のような、種々の分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス12によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して、ストレージデバイスから記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準的なデータ接続を通じて符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
[0031] 本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、dynamic adaptive streaming over HTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、種々のマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話などの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0032] 図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、複数の規格または規格拡張に準拠するビデオデータを含むビットストリームをコーディングするための技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他のコンポーネントまたは構成を含み得る。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
[0033] 図1の図示されたシステム10は一例にすぎない。現在のブロック用の動きベクトル予測子のための予測リスト用の候補を決定するための技法は、任意のデジタルビデオの符号化デバイスおよび/または復号デバイスによって実施され得る。一般に、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、通常「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。その上、本開示の技法はまた、ビデオプリプロセッサによって実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化コンポーネントとビデオ復号コンポーネントとを含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話のための、ビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートすることができる。
[0034] ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータにより生成されたビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ電話またはビデオ電話を形成し得る。しかしながら、上述のように、本開示で説明される技法は、全般にビデオコーディングに適用可能であってよく、ワイヤレスおよび/または有線の適用例に適用可能であってよい。各々の場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータで生成されたビデオは、ビデオエンコーダ20によって符号化され得る。符号化ビデオ情報は、次いで、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。
[0035] コンピュータ可読媒体16は、ワイヤレスブロードキャストまたは有線ネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、たとえば、ネットワーク送信、直接有線通信などを介して、ソースデバイス12から符号化されたビデオデータを受信し、宛先デバイス14に符号化ビデオデータを与え得る。同様に、ディスクスタンピング設備などの媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを製造することができる。したがって、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
[0036] 宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロックおよび他のコード化ユニット、たとえば、GOPの特性および/または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス32は、復号ビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスのような、様々なディスプレイデバイスのいずれかを備え得る。
[0037] ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオコーディング規格に従って動作することができ、HEVC Test Model(HM)に準拠することができる。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4、Part 10、Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格のような、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。しかしながら、本開示の技法は、限定はしないが、上記に列挙された規格のうちのいずれかを含む、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例には、MPEG−2およびITU−T H.263がある。いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は各々、オーディオエンコーダおよびオーディオデコーダと統合されてよく、適切なMUX−DEMUXユニット、または他のハードウェアとソフトウェアとを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理することができる。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0038] ビデオエンコーダ20およびビデオデコーダ30は各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアのような、種々の適切なエンコーダ回路のいずれか、またはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行することができる。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれてよく、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合されてよい。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/または携帯電話などのワイヤレス通信デバイスを備える場合がある。
[0039] JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVC Test Model(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
[0040] 一般に、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマとクロマの両方のサンプルを含む一連のツリーブロックまたは最大コーディングユニット(LCU)に分割され得ることを記載する。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるLCUのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコーディングユニット(CU)に分割され得る。一般に、4分木データ構造はCUごとに1つのノードを含み、ルートノードはツリーブロックに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。
[0041] 4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義されてよく、CUがサブCUに分割されるかどうかに依存し得る。CUがさらに分割されない場合、そのCUはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的分割が存在しない場合でも、リーフCUの4つのサブCUもリーフCUと呼ばれる。たとえば、16×16サイズのCUがこれ以上分割されない場合、この16×16CUがまったく分割されなくても、4つの8×8サブCUもリーフCUと呼ばれる。
[0042] CUは、CUがサイズ差異を有さないことを除いて、H.264規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割されてよく、各子ノードは、今度は親ノードとなり、別の4つの子ノードに分割されてよい。4分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大CU深さと呼ばれる、ツリーブロックが分割され得る最大回数を定義することができ、また、コーディングノードの最小サイズを定義することもできる。それに応じて、ビットストリームは最小コーディングユニット(SCU)も定義することができる。本開示では、HEVCの文脈におけるCU、PU、またはTU、あるいは他の規格の文脈における同様のデータ構造(たとえば、H.264/AVCにおけるマクロブロックおよびそれのサブブロック)のいずれかを指すために「ブロック」という用語を使用する。
[0043] CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU)および変換ユニット(TU)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルを有するツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連するシンタックスデータは、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかによって異なり得る。PUは、形状が非正方形になるように区分され得る。CUに関連するシンタックスデータは、たとえば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が正方形または非正方形(たとえば、矩形)であり得る。
[0044] HEVC規格は、CUごとに異なり得るTUに従った変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは通常、PUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT)として知られる4分木構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、量子化され得る変換係数を生成するために変換され得る。
[0045] リーフCUは、1つまたは複数の予測ユニット(PU)を含み得る。一般に、PUは、対応するCUのすべてまたは一部分に対応する空間的エリアを表し、そのPUの参照サンプルを取り出すためのデータを含み得る。その上、PUは、予測に関するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUのデータは、PUに対応するTUのイントラ予測モードを記述するデータを含み得る、残差4分木(RQT)中に含まれ得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための1つまたは複数の動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(たとえば、リスト0、リスト1、もしくはリストC)を記述し得る。
[0046] 1つまたは複数のPUを有するリーフCUはまた、1つまたは複数の変換ユニット(TU)を含み得る。変換ユニットは、上で論じられたように、(TU4分木構造とも呼ばれる)RQTを使用して指定され得る。たとえば、分割フラグは、リーフCUが4つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらに、さらなるサブTUに分割され得る。TUがさらに分割されないとき、そのTUはリーフTUと呼ばれ得る。一般に、イントラコーディングの場合、リーフCUに属するすべてのリーフTUは同じイントラ予測モードを共有する。すなわち、一般に、リーフCUのすべてのTUの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダは、イントラ予測モードを使用して各リーフTUの残差値を、TUに対応するCUの一部と元のブロックとの間の差分として計算し得る。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUはPUよりも大きくまたは小さくなり得る。イントラコーディングの場合、PUは、同じCUのための対応するリーフTUと同じ位置にあり得る。いくつかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズに対応し得る。
[0047] その上、リーフCUのTUはまた、残差4分木(RQT)と呼ばれる、それぞれの4分木データ構造と関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。TU4分木のルートノードは一般にリーフCUに対応し、CU4分木のルートノードは一般にツリーブロック(またはLCU)に対応する。分割されないRQTのTUはリーフTUと呼ばれる。全般に、本開示では、別段明記されない限り、リーフCUおよびリーフTUに言及するためにそれぞれCUおよびTUという用語を使用する。
[0048] ビデオシーケンスは通常、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、一般に、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は通常、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定のサイズまたは可変のサイズを有してよく、指定されるコーディング規格に応じてサイズが異なり得る。
[0049] 一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分をサポートする。非対称区分では、CUの一方向は区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUへと水平方向に区分された2N×2N CUを指す。
[0050] 本開示では、「N×N(NxN)」および「N×N(N by N)」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、16×16(16x16)ピクセルまたは16×16(16 by 16)ピクセルを指すために互換的に使用され得る。一般に、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、一般に、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ただし、Nは非負整数値を表す。ブロック内のピクセルは行と列で構成され得る。さらに、ブロックは、必ずしも、水平方向に垂直方向と同じ数のピクセルを有さなくてもよい。たとえば、ブロックはN×Mピクセルを備えてよく、ただし、Mは必ずしもNに等しいとは限らない。
[0051] CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備えてよく、TUは、変換、たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後の、変換領域における係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数を生成し得る。
[0052] 変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、その最も広い通常の意味を有するように意図された広義語である。一実施形態では、量子化は、係数を表すために使用されるデータの量をできるだけ低減し、さらなる圧縮を実現するために、変換係数が量子化されるプロセスを指す。量子化プロセスは、係数の一部またはすべてに関連するビット深度を低減することができる。たとえば、量子化中にnビット値がmビット値に切り捨てられてよく、nはmよりも大きい。
[0053] 量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む2次元行列から1次元ベクトルを生成し得る。走査は、より高いエネルギー(したがってより低い周波数)の係数をアレイの前方に配置し、より低いエネルギー(したがってより高い周波数)の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ20は、あらかじめ定義された走査順序を利用して、量子化された変換係数を走査し、エントロピー符号化され得る直列化されたベクトルを生成し得る。他の例では、ビデオエンコーダ20は適応走査を実行し得る。量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、たとえば、コンテキスト適応可変長コーディング(CAVLC)、コンテキスト適応バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディング、または別のエントロピー符号化方法に従って、1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化することができる。
[0054] CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルにコンテキストモデル内のコンテキストを割り当てることができる。コンテキストは、たとえば、シンボルの隣接値が0ではないかどうかに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択することができる。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCを使用すると、たとえば、送信されるべきシンボルごとに等長コードワードを使用するよりも、ビットの節約を実現することができる。確率の決定は、シンボルに割り当てられるコンテキストに基づき得る。
[0055] ビデオエンコーダ20はさらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびGOPベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはGOPヘッダ中でビデオデコーダ30に送り得る。GOPシンタックスデータは、それぞれのGOP中のいくつかのフレームを記述することができ、フレームシンタックスデータは、対応するフレームを符号化するために使用される符号化/予測モードを示すことができる。
[0056] 図2は、本開示に記載される態様に従って技法を実装することができる、ビデオエンコーダの一例を示すブロック図である。ビデオエンコーダ20は、本開示の技法のうちのいずれかまたはすべてを実施するように構成され得る。一例として、モード選択ユニット40は、本開示に記載された技法のうちのいずれかまたはすべてを実施するように構成され得る。しかしながら、本開示の態様はそのようには限定されない。いくつかの例では、本開示に記載された技法は、ビデオエンコーダ20の様々な構成要素の間で共有される場合がある。追加または代替のいくつかの例では、プロセッサ(図示せず)は、本開示に記載された技法のうちのいずれかまたはすべてを実施するように構成され得る。
[0057] ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングとインターコーディングとを実行し得る。イントラコーディングは、空間的予測を利用して、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去する。インターコーディングは、時間的予測を利用して、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去する。イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
[0058] 図2に示されるように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図1の例では、ビデオエンコーダ20は、モード選択ユニット40と、参照フレームメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。モード選択ユニット40は、今度は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、区分ユニット48とを含む。ビデオブロックの復元のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。復元されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングする、デブロッキングフィルタ(図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは一般に、加算器62の出力をフィルタリングすることになる。また、デブロッキングフィルタに加えて追加のフィルタ(ループ内またはループ後)が使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、(ループ内フィルタとして)加算器50の出力をフィルタリングし得る。
[0059] 符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間的な予測を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対する受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット46は代替的に、空間的な予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ20は、たとえば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
[0060] その上、区分ユニット48は、前のコーディングパスにおける前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、区分ユニット48は、初めにフレームまたはスライスをLCUに区分し、レートひずみ分析(たとえば、レートひずみ最適化)に基づいてLCUの各々をサブCUに区分し得る。モード選択ユニット40は、さらに、LCUをサブCUに区分することを示す4分木データ構造を生成し得る。4分木のリーフノードCUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。
[0061] モード選択ユニット40は、たとえば、誤差結果に基づいて、コーディングモード、すなわち、イントラまたはインターのうちの1つを選択することができ、残差ブロックデータを生成するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器50に与え、参照フレームとして使用するための符号化ブロックを復元するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器62に与える。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、区分情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット56に与える。
[0062] 動き推定ユニット42および動き補償ユニット44は高度に統合され得るが、概念的な目的のために別々に示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム(または他のコード化ユニット)内でコーディングされている現在のブロックに対する参照フレーム(または他のコード化ユニット)内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。予測ブロックは、絶対値差分和(SAD)、2乗差分和(SSD)、または他の差分尺度によって決定され得るピクセル差分に関して、コーディングされるブロックに精密に一致することがわかっているブロックである。いくつかの例では、ビデオエンコーダ20は、参照フレームメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
[0063] 動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライス中のビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択されてよく、それらの参照ピクチャリストの各々は、参照フレームメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0064] 動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット42と動き補償ユニット44とは機能的に統合され得る。現在のビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す予測ブロックの位置を特定し得る。加算器50は、以下で説明されるように、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット42はルーマ成分に対して動き推定を実行し、動き補償ユニット44は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0065] イントラ予測ユニット46は、上で説明されたように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在のブロックをイントラ予測または計算し得る。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット46は、たとえば、別々の符号化パスの間に、様々なイントラ予測モードを使用して、現在のブロックを符号化することができ、イントラ予測ユニット46(または、いくつかの例において、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択することができる。
[0066] たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、一般に、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判定するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
[0067] ブロック用のイントラ予測モードを選択した後、イントラ予測ユニット46は、ブロック用に選択されたイントラ予測モードを示す情報を、エントロピー符号化ユニット56に提供することができる。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化することができる。ビデオエンコーダ20は、(コードワードマッピングテーブルとも呼ばれる)複数のイントラ予測モードインデックステーブルおよび複数の修正されたイントラ予測モードインデックステーブルと、様々なブロック用の符号化コンテキストの定義と、最確イントラ予測モードの指示とを含み得る送信されるビットストリーム構成データの中に、コンテキストの各々について使用する、イントラ予測モードインデックステーブルと修正されたイントラ予測モードインデックステーブルとを含めることができる。
[0068] ビデオエンコーダ20は、コーディングされている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって、残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数のコンポーネントを表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTと概念的に同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部またはすべてに関連するビット深度を低減することができる。量子化の程度は、量子化パラメータを調整することによって修正され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
[0069] 量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースエントロピーコーディングの場合、コンテキストは隣接ブロックに基づき得る。エントロピー符号化ユニット56によるエントロピーコーディングの後、符号化ビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信されてよく、または後で送信するかもしくは取り出すために保管され得る。
[0070] 逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを復元する。動き補償ユニット44は、残差ブロックを参照フレームメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、復元された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、復元された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照フレームメモリ64に記憶するための復元されたビデオブロックを生成する。復元されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするための参照ブロックとして、動き推定ユニット42および動き補償ユニット44によって使用され得る。
[0071] 図3は、本開示に記載される態様に従って技法を実装することができる、ビデオデコーダの一例を示すブロック図である。ビデオデコーダ30は、本開示の技法のうちのいずれかまたはすべてを実施するように構成され得る。一例として、動き補償ユニット72および/またはイントラ予測ユニット74は、本開示に記載された技法のうちのいずれかまたはすべてを実施するように構成され得る。しかしながら、本開示の態様はそのようには限定されない。いくつかの例では、本開示に記載された技法は、ビデオデコーダ30の様々な構成要素の間で共有される場合がある。追加または代替のいくつかの例では、プロセッサ(図示せず)は、本開示に記載された技法のうちのいずれかまたはすべてを実施するように構成され得る。
[0072] 図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照フレームメモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図2)に関して説明された符号化パスとは全般に逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成することができ、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成することができる。
[0073] 復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化係数と、動きベクトルまたはイントラ予測モードインジケータと、他のシンタックス要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトルと他の予測シンタックス要素とを動き補償ユニット72に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0074] ビデオスライスがイントラコード化(I)スライスとしてコーディングされるとき、イントラ予測ユニット74は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(たとえば、B、P、またはGPB)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストの1つの中の参照ピクチャの1つから生成され得る。ビデオデコーダ30は、参照フレームメモリ92に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0とリスト1とを構築し得る。動き補償ユニット72は、動きベクトルと他のシンタックス要素とを解析することによって現在のビデオスライスのビデオブロックについての予測情報を決定し、予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)、スライスの参照ピクチャリストのうちの1つまたは複数に対する構成情報、スライスの各インター符号化ビデオブロックに対する動きベクトル、スライスの各インターコード化ビデオブロックに対するインター予測ステータス、および現在のビデオスライス中のビデオブロックを復号するための他の情報を決定するために、受信されたシンタックス要素のいくつかを使用する。
[0075] 動き補償ユニット72はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0076] 逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット80によって復号された量子化変換係数を逆量子化(inverse quantize)、たとえば、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を判定し、同様に、適用されるべき逆量子化の程度を決定するための、ビデオスライス中のビデオブロックごとにビデオエンコーダ30によって計算される量子化パラメータQPYの使用を含み得る。逆変換ユニット78は、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換処理を変換係数に適用して、ピクセル領域において残差ブロックを生成する。
[0077] 動き補償ユニット82が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット78からの残差ブロックを動き補償ユニット72によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数のコンポーネントを表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号されたブロックをフィルタリングするためのデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化し、または別様にビデオ品質を改善するために、(コーディングループ内またはコーディングループ後の)他のループフィルタも使用され得る。所与のフレームまたはピクチャの中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ92に記憶される。参照フレームメモリ82はまた、図1のディスプレイデバイス32のようなディスプレイデバイス上での後の表示のために、復号されたビデオを記憶する。
HEVCにおける動き補償
[0078] 上述されたように、HEVCは次世代のビデオコーディング規格である。概して、HEVCは以前のビデオコーディング規格の枠組に追従する。HEVCの動き補償ループは、H.264/AVCにおける動き補償ループと同じに保持される、すなわち現在のフレームの復元
Figure 2015529065
は、逆量子化係数γプラス時間予測Pに等しい。
Figure 2015529065
[0079] ここで、PはPフレームまたはPスライスについての単方向予測、またはBフレームまたはBスライスについての双方向予測を示す。
[0080] HEVCにおける動き補償の単位は、以前のビデオコーディング規格における単位とは異なる。実際、以前のビデオコーディング規格におけるマクロブロックの概念は、HEVCでは存在しない。代わりに、マクロブロックの概念は、一般的な4分木方式に基づく極めて柔軟な階層構造によって置き換えられる。この方式の中で、3タイプのブロック、すなわちコーディングユニット(CU)、予測ユニット(PU)、および変換ユニット(TU)が定義される。CUは領域分割の基本単位である。CUはマクロブロックの概念に類似するが、それは最大サイズを制限せず、それは4つの等しいサイズのCUへの再帰分割がコンテンツの適応性を向上させることを可能にする。PUはインター/イントラ予測の基本単位であり、それは単一のPU内に複数の任意の形状のパーティションを含んで、不規則な画像パターンを効果的にコーディングすることができる。TUは変換の基本単位である。それはPUとは無関係に定義され得るが、そのサイズはTUが属するCUに限定される。このようにブロック構造を3つの異なる概念に分割すると、各々がその役割に応じて最適化されることが可能になり、その結果、コーディング効率が改善される。
[0081] 一般に、多重仮説動き補償では、現在のフレームを予測するために、2つ以上の動き補償予測信号が同時に使用される。今日では、Bフレームが2仮説動き補償の最も一般的な例である。多重仮説動き補償に対して行われた調査により、仮説の数を増加させると、一般により高いコーディング効率がもたらされることが見出されている。さらなる調査は、さらなる仮説の動き情報のビットコストが考慮されるとき、2仮説動き補償がほぼ最適であることを示す。したがって、さらなる仮説(たとえば、第3または第4の仮説)の使用からのさらなる品質またはコーディング効率を得る利益よりも、さらなる仮説用のさらなる動き情報を符号化するビットコストが勝るので、2仮説動き補償が今日のビデオコーディング規格および実際のビデオコーデックで広く採用される。しかしながら、下記の開示は、いくつかの実施形態において、最小限の追加データのみがビットストリームの中に符号化されることを要求しながら、さらなる仮説が使用されることを可能にするシステムとデバイスとを記載する。むしろ、システムおよびデバイスは、既存のデータを使用してさらなる仮説を導出することができる。
HEVCにおける動き予測
[0082] HEVCでは、インター予測ユニット(PU)ごとに、それぞれの動きパラメータが送信される。改善されたコーディング効率を実現するために、ブロックマージングプロセスが利用されて、いわゆるマージモードで最良の動きベクトル予測子を選択する。
[0083] マージモードの実施形態の復号プロセスは、次のように記載される。
●予測ユニットにおいて指定された候補リストのインデックス:merge_idxの構文解析。
●図4によるマージ候補リストの構築。以下の特定の順序で、現在の予測ユニットに対して、空間的なネイバーA、B、C、Dおよび時間的に同じ位置にあるブロックからの候補動きベクトル。
〇availableFlagAが1に等しい場合、A
〇availableFlagBが1に等しい場合、B
〇availableFlagColが1に等しい場合、Col(時間的に同じ位置にあるブロック)
〇availableFlagCが1に等しい場合、C
〇availableFlagDが1に等しい場合、D
●いくつかのマージング候補が動きベクトルと同じ参照インデックスとを有する場合、マージ候補リスト内で最小の順序を有するマージング候補を除き、マージング候補はリストから除去される。
●マージ候補リスト内で構文解析されたmerge_idxを有する候補の選択。
場合によっては、時間的に同じ位置にある候補の参照インデックスおよび動きベクトルは、たとえば、ピクチャ順序カウント(POC)に基づいてスケーリングされる場合がある。さらに、HEVCのSVC拡張または3Dビデオコーディング拡張では、基本レイヤまたは基本ビュー内の同じ位置にあるブロックの動きは、マージリストに入れられる場合がある。
動きベクトル予測
[0084] 動きマージモード以外に、動きベクトル予測がHEVCでサポートされる。動きベクトル予測では、現在のPUについて、動きベクトル予測子(MVP)リストが構築される。予測子は、空間ネイバーまたは/および時間ネイバーからの動きベクトルであり得る。MVPリストは、3つまでの候補、空間左MVP Aと、空間上MVP Bと、時間MVP Colとを含んでいる。3つの候補のうちの1つまたは複数は、たとえば隣接ブロックがイントラであり、存在しないので、利用可能ではない。この場合、MVPリストはより少ない項目を有し、欠落した候補は利用可能ではないと考えられる。
[0100] 図5に示されたように、左MVPの検索の場合、2つの隣接PU、Am+1、Amが使用される。同様に、上MVPの検索の場合、3つまでの隣接PU、Bn+1、Bn、B−1が使用される。一般性を失わずに、上MVPの生成のみが記載される。
[0101] 各空間動きベクトル予測子(MVP)候補を導出することに、優先順位ベースの方式が適用される。優先順位ベースの方式は、同じカテゴリ(たとえば、AまたはB)に属するいくつかのブロックを確認する。動きベクトル(MV)は、次のようにある特定の順序で確認される。
1)MVを現在確認中のブロックの動きベクトルとする。現在確認中のブロック内のMVが、現在のPUと(同じ参照インデックスを有する)同じ参照ピクチャを指す場合、MVは同じカテゴリを表すために選択され、(4)に進む、そうでない場合(2)に進む。
2)前のブロックがすでにこのカテゴリの最後のブロックである場合、(3)に進み、そうでない場合、ブロックをそのカテゴリの次のブロックとし、(1)に進む。
3)距離、すなわち現在のピクチャとこのMVの参照ピクチャとの間のPOC距離、および現在のピクチャと現在のPUの参照ピクチャとの間のPOC距離に基づいてMVをスケーリングする。
4)終了する。
[0102] 図6は、リストごとに単一の参照ピクチャを有する(リスト0用のピクチャjおよびリスト1用のピクチャl)Bスライスの一例を示す。図6では、現在のPUにすでにシグナリングされたref_idxに基づいて、最終MVP用の参照ピクチャがピクチャjであると仮定される。現在のリストはリスト0であり、現在のPUの参照ピクチャはピクチャjである。破線の青い矢印は隣接ブロックのリスト0のMVを示し、破線の赤い矢印は隣接ブロックのリスト1のMVを示す。番号は2つのMVの優先順位を示す。リスト0のMVが利用可能であるとき、それは空間MVP候補として使用される。そうではなく、リスト1のMVが利用可能であるとき、それは、POC距離に基づいて実線の赤い矢印のように現在の参照ピクチャにスケーリングされる、次いで、空間MVP候補として使用される。
[0103] 1つの時間動きベクトル予測子(mvL0ColまたはmvL1Col)が、現在のリストおよび現在の参照ピクチャに応じて選択され、MVPリストに追加される。mvL0ColまたはmvL1Colは、時間的に同じ位置にあるブロックの動きベクトル、および現在のピクチャと現在の参照ピクチャとの間のPOC差分、および同じ位置にあるピクチャと同じ位置にある時間ブロックによって参照される参照ピクチャとの間のPOC差分に基づいて導出される。
[0104] MVPリスト内に複数の候補が存在するとき、どの候補が使用されるべきかを示すためにインデックスがシグナリングされる。マージリストと同様に、HEVCのSVCおよび3Dビデオコーディングでは、基本レイヤまたは基本ビュー内の同じ位置にあるブロックの動きは、MVPリストに入れられる場合がある。
スケーラブルビデオコーディング
[0105] 様々な次元におけるスケーラビリティの一例が図7に示される。本例では、スケーラビリティは3つの次元で可能にされる。時間の次元では、7.5Hz、15Hz、または30Hzを有するフレームレートが、時間スケーラビリティ(T)によってサポートされ得る。空間スケーラビリティ(S)がサポートされるとき、QCIF、CIF、および4CIFなどの様々な解像度が可能にされる。特定の空間解像度およびフレームレートごとに、ピクチャ品質を改善するためにSNR(Q)レイヤが追加され得る。ビデオコンテンツがそのようなスケーラブルな方法で符号化されると、たとえば、クライアントまたは伝送チャネルに依存するアプリケーション要件に従って、実際の配信されたコンテンツに適応するために抽出ツールが使用され得る。図7に示された例では、各立方体は、同じフレームレート(時間レベル)と、空間解像度と、SNRレイヤとを有するピクチャを含んでいる。それらの立方体(ピクチャ)を任意の次元で追加することによって、より良い表現が実現され得る。2つ、3つまたはさらに多くの可能にされたスケーラビリティが存在するとき、組み合わされたスケーラビリティがサポートされる。
[0106] SVCの仕様によれば、最も低い空間レイヤおよび品質レイヤを有するピクチャは、H.264/AVCと互換性があり、最低の時間レベルにあるピクチャは、より高い時間レベルにあるピクチャで強調され得る時間基本レイヤを形成する。H.264/AVC互換レイヤに加えて、空間スケーラビリティおよび/または品質スケーラビリティを実現するために、いくつかの空間エンハンスメントレイヤおよび/またはSNRエンハンスメントレイヤが追加され得る。SNRスケーラビリティは、品質スケーラビリティとも呼ばれる。各々の空間エンハンスメントレイヤまたはSNRエンハンスメントレイヤ自体は時間的にスケーラブルであり得るし、H.264/AVC互換レイヤと同じ時間スケーラビリティ構造を有する。1つの空間エンハンスメントレイヤまたはSNRエンハンスメントレイヤの場合、それが依存するより低いレイヤは、その特定の空間エンハンスメントレイヤまたはSNRエンハンスメントレイヤの基本レイヤとも呼ばれる。
[0107] SVCコーディング構造の一例が図8に示される。最も低い空間レイヤおよび品質レイヤを有するピクチャ(QCIF解像度を有するレイヤ0およびレイヤ1の中のピクチャ)は、H.264/AVCと互換性がある。それらの間で、最も低い時間レベルのそれらのピクチャは、図8のレイヤ0で示されたように、時間基本レイヤを形成する。この時間基本レイヤ(レイヤ0)は、より高い時間レベル(レイヤ1)のピクチャで強調され得る。H.264/AVC互換レイヤに加えて、空間スケーラビリティおよび/または品質スケーラビリティを実現するために、いくつかの空間エンハンスメントレイヤおよび/またはSNRエンハンスメントレイヤが追加され得る。たとえば、エンハンスメントレイヤは、レイヤ2と同じ解像度を有するCIF表現であり得る。本例では、レイヤ3はSNRエンハンスメントレイヤである。本例で示されたように、各々の空間エンハンスメントレイヤまたはSNRエンハンスメントレイヤ自体は時間的にスケーラブルであり得るし、H.264/AVC互換レイヤと同じ時間スケーラビリティ構造を有する。また、エンハンスメントレイヤは、空間解像度とフレームレートの両方を強調することができる。たとえば、レイヤ4は、フレームレートを15Hzから30Hzにさらに増大させる4CIFエンハンスメントレイヤを提供する。
[0108] 図9に示されたように、同じ時間インスタンスでコーディングされたスライスは、ビットストリーム順序で連続し、SVCのコンテキスト内の1つのアクセスユニットを形成する。次いで、それらのSVCアクセスユニットは復号順序に従い、復号順序は表示順序と異なる可能性があり、たとえば、時間予測関係によって決定される。
H.264/AVCのスケーラブルな拡張の特徴
[0109] SVCのいくつかの機能はH.264/AVCから引き継がれている。以前のスケーラブルな規格と比較して、最も重要な利点、すなわちレイヤ間予測および単一ループ復号が下記で概説される。
[0110] 低複雑度デコーダを保持するために、SVCでは単一ループ復号が必須である。単一ループ復号で、各々のサポートされるレイヤは、単一の動き補償ループで復号され得る。これを実現するために、レイヤ間イントラ予測の使用は、エンハンスメントレイヤのマクロブロックのみに可能にされ、そのために同じ位置にある参照レイヤ信号がイントラコーディングされる。より高いレイヤをレイヤ間予測するために使用されるすべてのレイヤが、制約付きイントラ予測を使用してコーディングされることがさらに必要である。
[0111] SVCは、テクスチャ、残差および動きに基づいて、空間スケーラビリティおよびSNRスケーラビリティのためのレイヤ間予測を導入する。SVCにおける空間スケーラビリティは、2つのレイヤ間の任意の解像度比に一般化されている。SNRスケーラビリティは、粗粒度スケーラビリティ(CGS)または中粒度スケーラビリティ(MGS)によって実現され得る。SVCでは、2つの空間レイヤまたはCGSレイヤは、(NALユニットヘッダ内でdependency_idによって示される)異なる依存性レイヤに属するが、2つのMGSレイヤは同じ依存性レイヤ内にあり得る。1つの依存性レイヤは、品質エンハンスメントレイヤに対応する、0からより高い値までのquality_idを有する品質レイヤを含む。SVCでは、レイヤ間の冗長性を低減するために、レイヤ間予測方法が利用される。それらは以下の段落で簡単に紹介される。
[0112] レイヤ間イントラ予測を使用するコーディングモードは、SVCでは「イントラBL」モードと呼ばれる。単一ループ復号を可能にするために、制約付きイントラモードとしてコーディングされる、基本レイヤ内で同じ位置にあるMBを有するMBのみが、レイヤ間イントラ予測モードを使用することができる。制約付きイントラモードのMBは、隣接するインターコーディングされたMBからのいかなるサンプルも参照せずにイントラコーディングされる。
[0113] MBが残差予測を使用するように指示された場合、レイヤ間予測用の基本レイヤ内で同じ位置にあるMBは、インターMBであるに違いなく、その残差は空間解像度比に従ってアップサンプリングされる場合がある。エンハンスメントレイヤの残差と基本レイヤの残差との間の差分がコーディングされる。すなわち、エンハンスメントレイヤの現在のフレームの復元
Figure 2015529065
は、エンハンスメントレイヤの逆量子化係数re、エンハンスメントレイヤからの時間予測Pe、および基本レイヤの量子化正規化残差係数rbの合計に等しい。
Figure 2015529065
[0114] 同じ位置にある基本レイヤの動きベクトルは、MBの動きベクトル用の予測子またはエンハンスメントレイヤ内のMBパーティションを生成するためにスケーリングされる場合がある。加えて、MBごとに1つのフラグを送る、基本モードと命名された1つのMBタイプが存在する。このフラグが真であり、対応する基本レイヤのMBがイントラでない場合、動きベクトル、区分化モード、および参照インデックスは、すべて基本レイヤから導出される。
多重仮説動き補償
[0115] 図10は、暗黙的な多重仮説動き補償(IMMC)を実装するコーダ(たとえば、エンコーダまたはデコーダ)によって実施される、本開示の態様による、IMMCのための例示的な方法を示すブロック図1100である。便宜上、その動き情報がビットストリーム内で明示的にコーディングされていない仮説は、本開示では暗黙的な仮説と呼ばれ、その動き情報がビットストリーム内でコーディングされている仮説は、明示的な仮説と呼ばれる。本開示に記載された技法は、暗黙的な多重仮説動き補償の枠組を提供し、それはデコーダおよび/またはエンコーダによって実装され得る。
[0116] 上記で説明されたように、多重仮説動き補償は、より高いコーディング効率を実現することができるが、ビットストリーム内にコーディングされるべきさらなる動き情報を必要とするコストがかかる。しかしながら、有利なことに、IMMCにより、いくつかのさらなる仮説がすでに存在する動き情報から導出されることが可能になる。SVCおよび3Dビデオコーディングの場合、基本レイヤまたは基本ビューの動き情報は、エンハンスメントレイヤまたは依存ビューをコーディングするとき利用可能である。いくつかの実施形態では、IMMCは、この基本レイヤ/ビュー情報を使用して、暗黙的な仮説用の動き情報を導出する。加えて、IMMCの実施形態は、現在のブロックの空間および時間の隣接ブロックの動き情報を使用して、暗黙的な仮説を見つけることができる。いくつかの実施形態では、IMMCエンコーダは、動き候補(たとえば、ビデオユニット)のためのビットストリーム内のフラグ、モードインデックス、または他のインジケータを設定することによって、そのような動き情報が暗黙的な仮説を導出するのに利用可能および/または有用であることをIMMCデコーダに示すことができる。次いで、IMMCデコーダは、ビットストリーム内にすでに存在するデータから暗黙的な仮説を導出することができる。したがって、いくつかの実施形態では、IMMCを使用するために、最小限の追加データ(たとえば、フラグまたは他のインジケータ)のみがビットストリームに追加される必要がある。通常、このインジケータデータは、さらなる明示的な仮説用の動き情報(たとえば、動きベクトル)よりも著しく少ない。
[0117] 図10は、エンハンスメントレイヤ520と基本レイヤ525とを有するビットストリーム用の3つの連続するピクチャ(1105、1110、1115)用のBフレームと、Pフレームと、Iフレームとを示す。いくつかの実施形態では、ビデオ内で、ピクチャ1105はピクチャ1110の直前にあり、ピクチャ1110はピクチャ1115の直前にある。エンハンスメントレイヤでは、Pフレーム1(PE1)1125、Bフレーム2(BE2)1130、およびIフレーム3(IE3)1135が、それぞれピクチャ1、ピクチャ2、およびピクチャ3に対応する。基本レイヤでは、Pフレーム1(PB1)1140、Bフレーム2(BB2)1145、およびIフレーム3(IB3)1150が、それぞれピクチャ1、ピクチャ2、およびピクチャ3に対応する。図10は、Pフレーム、それに続くBフレーム、それに続くIフレームであるように3つのピクチャを示すが、他の場合、IMMCは、様々な組合せのフレーム、様々な順序のフレーム、および/または様々な数のフレームに適用される場合がある。
[0118] 動作1で、コーダ(たとえば、エンコーダまたはデコーダ)は、基本レイヤ1125をすでに処理した後、エンハンスメントレイヤのBE2 1130の現在のビデオユニット1155を符号化または復号している。コーダは、ビットストリームからBE2用の明示的にコーディングされた動き情報(たとえば、動きベクトルまたは動き補償データ)を取得する。そのような動き情報は、コーダのメモリに記憶される場合がある。動き情報により、コーダが、現在のビデオユニット1155に一致または対応するフレーム間予測を使用して、時間的に前のフレーム(または別の時間的に隣接するフレーム)内で動き補償されたビデオユニットを識別することが可能になり得る。動き情報を使用して、コーダは、前のフレームPE1 1160内のビデオユニット1160を参照して、明示的な仮説1を、現在のビデオユニット1155用の候補一致として識別する。
[0119] 動作2で、コーダは、時間的に次のフレームIE3 1165(または別の時間的に隣接するフレーム)内のビデオユニット1165を参照して、明示的にコーディングされた動き情報を使用して明示的な仮説2を別の候補一致として識別する。
[0120] 動作3で、コーダは、BB2 1145の同じ位置にあるブロック1170についての、明示的にコーディングされた動き情報を基本レイヤ1125から取得する。上記で説明されたように、BE2 1130とBB2 1145は、同じピクチャ(ピクチャ2)のフレームであるが、異なるレイヤ上にある。たとえば、BB2はより低い解像度のフレームであり得るが、BE2は同じピクチャのより高い解像度のフレームである。同じ位置にあるビデオユニット1170は、現在のビデオユニット1155と対応するピクチャの位置にある。基本レイヤ1125からの明示的にコーディングされた動き情報は、基本レイヤ内で同じ位置にあるビデオユニット1170についての仮説(1175、1180)を識別する動きベクトルを含むことができる。
[0121] 動作4および動作5で、コーダは、基本レイヤの動き情報を使用して、暗黙的な仮説1185と1190とを導出する。たとえば、コーダは、同じ位置にある基本レイヤのビデオユニット1170についての明示的な仮説によって識別されたビデオユニット1175、1180を識別することができる。次いで、コーダは、それらの基本レイヤのビデオユニット1175、1180の同じ位置にあるエンハンスメントレイヤのビデオユニット1185、1190を決定することができる。いくつかの実施形態では、コーダは、基本レイヤの動き情報をスケーリングまたは場合によっては修正する。たとえば、コーダは、エンハンスメントレイヤ1120と基本レイヤ1125との間の解像度比に基づいて、基本レイヤの動き情報に倍率を適用することができる。
スケーリングされた基本レイヤの動きの使用
[0122] IMMCの一実施形態では、双予測ブロック/PU(たとえば、現在のビデオユニット1155)についての2つの従来の仮説に加えて、2つまでの暗黙的な仮説が可能にされる。この場合、同じ位置にある基本レイヤ/ビューのPUのスケーリングされた動きは、暗黙的な仮説の動きとして使用される。Ve0およびVe1が2つの従来の仮説の動きを表し、スケーリングされた基本レイヤの動きVsb0およびVsb1が2つの暗黙的な仮説の動きを示すとする。一実施形態では、スケーリングされた基本レイヤの動きが導出され得るので、暗黙的な仮説が使用されるどうかを示すフラグ(暗黙的な仮説フラグ)のみがビットストリーム内でコーディングされる必要がある。
[0123] Ve0、Ve1、Vsb0、およびVsb1によって指し示される仮説が、それぞれPe0、Pe1、Psb0、およびPsb1であると仮定する。一般性を失わずに、Pe0およびPsb0が参照リスト0から、Pe1およびPsb1が参照リスト1からであるとさらに仮定され得る。4つの仮説がすべて利用可能であるとき、最終予測Pは、4つの仮説を平均化すること、たとえば、
Figure 2015529065
によって取得され得るし、ここでoは0または2であり得る丸めオフセットを示す。
[0124] Pe0、Pe1、およびPsb0のみが利用可能であるように、すべての仮説が利用可能ではないとき、最終予測として予測の算術平均、たとえば、
Figure 2015529065
が使用され得るし、ここで丸めオフセットoは0、1、または2であり得る。
[0125] 3による除算はハードウェアで実装することが困難であり得るので、すべての仮説が利用可能ではないとき、2ステップの平均化が適用され得る。2ステップの平均化は、最初に同じ参照リストからの仮説を平均化することによって、次いで2つのリストの仮説を平均化することによって実施され得る。上記の例の場合、2ステップの平均化での最終予測は、
Figure 2015529065
であり、ここで丸めオフセットo1およびoは、0または1であり得る。
[0126] 一実施形態では、同じ位置にある基本レイヤの動きに対するスケーリングプロセスは、基本レイヤとエンハンスメントレイヤとの間の解像度比に基づく場合がある。たとえば、解像度比がrであるとき、スケーリングされた同じ位置にある基本レイヤの動きは、
Figure 2015529065
であり、ここで、VxbおよびVybは、それぞれ、同じ位置にある基本レイヤの動きベクトルのx成分とy成分とを示し、VxsbおよびVysbは、関係するスケーリングされたエンハンスメントレイヤの動きを表す。
[0127] その上、両方の動き成分に対する1による移動などの、さらなる既定の移動が動きスケーリングプロセスに適用される場合もある。たとえば、
Figure 2015529065
[0128] 場合によっては、Pe0およびPsb1のみが利用可能である。すなわち、PUが参照リスト0から単方向予測されることをエンハンスメントレイヤの動きが示し、PUが参照リスト1から単方向予測されることを基本レイヤの動きが示す(または逆の場合もあり得る)。一実施形態では、PUが単方向予測されることをPUのシンタックス要素inter_pred_idcが示す場合があっても、コーダは、単方向予測を使用する代わりに、符号化および/または復号の間双方向予測されるようにPUを扱う。
[0129] いくつかの実施形態では、単方向予測されるビデオユニットは、1)単方向予測されるビデオユニットに対して時間的に前の1つもしくは複数のビデオユニット、または2)単方向予測されるビデオユニットに対して時間的に次の1つもしくは複数のビデオユニットのいずれかから予測される。たとえば、第1のビデオユニットは第1のフレーム内にあり得るが、予測で使用されるビデオユニットは、第1のフレームに対して前または次の第2のフレーム内にある。いくつかの実施形態では、双方向予測されるビデオユニットは、双方向予測されるビデオユニットに対して、1)時間的に前の1つまたは複数のビデオユニットと、2)時間的に次の1つまたは複数のビデオユニットの両方から予測される。
[0130] たとえば、コーダは、現在のPUを予測するための多重仮説モードを使用するために、現在のPUに対して時間的に前のエンハンスメントレイヤのフレームからの予測情報と、現在のPUに対して時間的に次の基本レイヤのフレームからの予測情報とを使用することができる。必要な場合、コーダは予測情報(たとえば、動き情報)をスケーリングすることができる。たとえば、現在のPUがエンハンスメントレイヤ上にある場合、コーダは、次の基本レイヤのフレームからの(たとえば、対応する位置にある基本レイヤ上の第2のPUからの)予測情報をスケーリングし、次の基本レイヤのフレームからのスケーリングされた予測情報、および前のエンハンスメントレイヤのフレームからの予測情報から双方向予測されるようにPUを扱うことができる。
[0131] いくつかの実施形態では、コーダは、上述されたように、多重仮説モードをさらに使用して、双方向予測されるように扱われている現在のPUを予測する。さらに、上記は、エンハンスメントレイヤのフレームを時間的に前として、基本レイヤのフレームを時間的に次として記載するが、上記の技法は、エンハンスメントレイヤのフレームが時間的に次であり、基本レイヤのフレームが時間的に前である場合にも適用され得る。
[0132] Pe0およびPsb1のみが利用可能であるいくつかの場合では、予測子Pe0またはPsb1に対応する動きベクトルのうちの1つがスケーリングされ得るし、エンハンスメントレイヤまたは基本レイヤに関して同じ参照リストを利用可能にし、単方向多重仮説が使用されることを可能にする。上記の例では、Psb1に対応する基本レイヤリスト1の動きベクトルがリスト0からの動きベクトルにしてスケーリングされ得るし、多重仮説モードがリスト0用の単方向予測として適用され得る。
[0133] 明示的な仮説1160、1165と暗黙的な仮説1185、1190とを識別した後、次いでコーダは、明示的な仮説および暗黙的な仮説において識別されたビデオユニットの値に基づいて、現在のビデオユニット555用の値を決定することができる。たとえば、上記で説明されたように、コーダは、それらのビデオユニット(1160、1165、1186、1190)の値を平均化して、現在のビデオユニット1155用の予測値を決定することができる。IMMCプロセスの実施形態は、図11および図12でさらに詳細に記載される。
符号化プロセス
[0134] 図11は、本開示の態様による、符号化ルーチン用の方法の一実施形態を示すフローチャートである。プロセス1200は、エンコーダ(たとえば、図2に示されたようなエンコーダ)、デコーダ(たとえば、図3に示されたようなデコーダ)、または任意の他の構成要素によって実施される場合がある。プロセス1200のステップは、図2のビデオエンコーダ20に関して記載されるが、プロセス1200は、上述されたように、デコーダなどの他の構成要素によって実施される場合がある。
[0135] 上記で説明されたように、いくつかの実施形態では、4つまでの仮説(2つの暗黙的および2つの従来(明示的))がエンハンスメントレイヤ/ビュー内で可能にされる。2つの暗黙的な仮説は、エンハンスメントレイヤの既定の動き予測子によって示される。たとえば、PUのマージリストまたはMVPリスト内の動き候補が使用され得る。暗黙的な多重仮説モードを示すために、ビットストリーム内でフラグがコーディングされる。このフラグが真であるとき、2つの暗黙的な仮説が動き候補によって決定されるまで、動き候補はマージリストおよびMVPリスト内の動き候補と同じ順序で確認される。一般に、2つの暗黙的な仮説の動きは、2つの従来の仮説の動きと異なる。しかしながら、場合によっては、それらの仮説は部分的または全体的に重複する場合がある。
[0136] 別の実施形態では、マージリストまたはMVPリスト内の動き候補のインデックスは、暗黙的な仮説の動きを示すために、ビットストリーム内でコーディングされる。
[0137] ブロック1205で、エンコーダ20は、エンハンスメントレイヤの第1のフレームの第1のビデオブロック(または他のビデオユニット)用のビデオデータを符号化している。エンコーダは、第1のビデオブロック(たとえば、エンコーダによって処理されている現在のブロック)用の動き補償された仮説1(MCH1)を決定する。MCH1は、時間的に隣接するフレーム(たとえば、第1のビデオユニットの現在のフレームに対して前のフレームまたは次のフレーム)内のビデオブロックを識別することができる。
[0138] ブロック1210で、エンコーダ20は、第1のビデオブロック用の動き補償された仮説2(MCH2)を決定する。MCH2は、時間的に隣接するフレーム(たとえば、第1のビデオユニットの現在のフレームに対して前のフレームまたは次のフレーム)内のビデオブロックを識別することができる。通常、MCH2はMCH1とは異なるブロックを指す。たとえば、MCH1は現在のフレームに対して前のフレーム内の第2のビデオブロックを指す場合があり、MCH2は次のフレーム内の第3のビデオブロックを指す場合がある。
[0139] ブロック1215で、エンコーダ20は、MCH1およびMCH2(すなわち、明示的な仮説)または(たとえば、動きベクトルを使用する)MCH1およびMCH2についての動き情報を、デコーダへの送信用のビットストリーム内に符号化し、デコーダは、復号中にそのような情報を使用して第1のビデオブロック用の値を決定することができる。現在のルーチン1200はMCH1とMCH2とを識別することを記載するが、場合によっては、エンコーダ20は単一の仮説のみを決定する場合がある。
[0140] ブロック1220で、エンコーダ20は、現在のフレームに関連付けられた参照レイヤのフレーム(たとえば、基本レイヤ)から動き情報を取得する。たとえば、そのようなフレームは、エンハンスメントレイヤ内の現在のフレームと同じピクチャ用の基本レイヤ内の対応するフレームであり得る。一実施形態では、エンコーダ20は、エンハンスメントレイヤのフレーム上の第1のビデオブロックに対応する参照レイヤのフレーム上の同じ位置にあるビデオブロックについての動き情報を取得する。
[0141] ブロック1225で、エンコーダ20は、参照レイヤの動き情報をスケーリングする。上述されたように、エンコーダは、参照レイヤの動き情報をスケーリングまたは場合によっては修正することができる。たとえば、コーダは、エンハンスメントレイヤと参照レイヤとの間の解像度比に基づいて、参照レイヤの動き情報に倍率を適用することができる。
[0142] ブロック1230で、エンコーダ20は、スケーリングされた参照レイヤの動き情報からMCH3とMCH4とを決定する。図10で説明されたように、レイヤ情報は、同じ位置にある参照ビデオブロックについての参照レイヤ内の仮説に基づいて、MCH3とMCH4とを識別するために使用され得る。現在のルーチン1200はMCH3とMCH4とを識別することを記載するが、場合によっては、エンコーダ20は単一の仮説のみを決定する場合がある。
[0143] ブロック1235で、エンコーダ20は、第1のビデオブロックを復号する際にMCH3とMCH4と(すなわち、暗黙的な仮説)を使用するように、デコーダに指示するかどうかを判定する。場合によっては、エンコーダ20は、暗黙的な仮説を使用することによってさらなるコーディング効率は取得されないと判断する場合がある。たとえば、暗黙的な仮説を使用することは、ひずみを低減しないか、または(たとえば、MCH3およびMCH4がMCH1およびMCH2と同じ値を有する場合)より効率的な圧縮を可能にしない場合がある。
[0144] エンコーダ20は、フラグまたは他のインジケータを使用して、デコーダが暗黙的な仮説を計算すべきかどうかを示すことができる。暗黙的な仮説が有益であるとエンコーダが判断した場合、ルーチンはブロック1240に進む。暗黙的な仮説が有益ではないとエンコーダが判断した場合、ルーチン1200は終了することができる。いくつかの実施形態では、エンコーダ20は、(たとえば、デコーダがデフォルトで暗黙的な仮説を使用するように設定されている場合)ルーチンを終了する前に、IMMCを実施しないようにデコーダに指示するフラグを符号化する必要があり得る。
[0145] ブロック1240で、エンコーダ20は、暗黙的な多重仮説動き補償(IMMC)用のフラグをビットストリーム内に符号化する。デコーダがビットストリームを受信したとき、デコーダは、第1のビデオブロック用のIMMCフラグを確認して、暗黙的な仮説を計算すべきか、または明示的な仮説のみを使用すべきかを判定することができる。いくつかの実施形態では、エンコーダ20は、(たとえば、デコーダがデフォルトで暗黙的な仮説を使用するように設定されている場合)ルーチンを終了する前に、IMMCを実施するフラグを符号化する必要がない場合がある。
[0146] デコーダが暗黙的な仮説を計算すべきでないときをシグナリングすることによって、計算リソースはデコーダによって浪費されない。有利なことに、これにより、暗黙的な仮説を使用すべきときをデコーダに伝えるためにそのようなインジケータを使用しない実施形態と比較して、ビットストリームの復号速度の向上が可能になる。次いで、ルーチン1200は終了することができる。
多重仮説モードのシグナリングに関するさらなる詳細
[0147] 提案された多重仮説モードは、シーケンスレベルまたはフレームレベルで有効化/無効化され得る。たとえば、モードを示すために、シーケンスパラメータセット(SPS)またはピクチャパラメータセット(PPS)内のフラグが使用され得る。
[0148] 場合によっては、小さいビデオユニットに対して多重仮説動き補償を実施する際は、さらなるコーディング効率が少ししか得られない。したがって、いくつかの実施形態では、提案された多重仮説モードは、8×8よりも大きくないCU/PUなどの小さいサイズを有するCU/PUに対して無効化される場合がある。これを示すパラメータは、SPS、PPS、およびスライスヘッダなどの、スライスまたはより高いレベルでコーディングされる場合がある。
[0149] 代替として、提案された多重仮説モードは、ゼロでない重み係数を有するGRPモードでコーディングされたCU/PUなどの、特定のモードでコーディングされたCU/PU、または非スキップモードまたは非マージモードとしてコーディングされたインターCU/PUに対して無効化される場合がある。
[0150] 一実施形態では、暗黙的な仮説を示すために、スケーリングされた基本レイヤの動きのみが使用される場合がある。この場合、暗黙的な仮説が使用されるか否かを示すために、インターPUレベルでフラグがコーディングされる。このフラグは、単一のビットでコーディングされるか、またはCABACでコーディングされる場合がある。CABACを使用するとき、左のPUおよび上のPUの暗黙的な仮説モードフラグなどの、空間的および時間的に隣接するコーディングされたPUの情報は、現在のPUの暗黙的な仮説モードのコンテキストを決定するために使用され得る。その上、現在のPUのマージフラグなどの、現在のPUの以前にコーディングされた情報も、コンテキストとして使用され得る。
[0151] 別の実施形態では、マージリスト内の動き候補などの、暗黙的な仮説を見つけるいくつかの動き候補が存在する。この場合、動き候補のインデックスはビットストリーム内でコーディングされる必要がある。CABACを使用してインデックスをコーディングするとき、符号なし整数指数ゴロムコード、切頭符号なし整数指数ゴロムコード、単項コード、または切頭単項コード[8]が、インデックスを2値化するために使用され得る。空間的および/または時間的に隣接するCUまたはPUの情報は、CABACコーディング用のコンテキストとして使用され得る。その上、マージフラグ、PUパーティション、またはPUサイズなどの現在のPUの情報も、コンテキストとして使用され得る。
[0152] 上記の実施形態では、動き候補の数があるしきい値を上回るとき、候補を削るためにテンプレート照合が使用され得る。次いで、インデックスがシグナリングされる。候補の数が2つ未満に削減されたとき、ビットストリーム内のフラグまたはインデックスを明示的にシグナリングする必要はない。
[0153] 一実施形態では、多重仮説モードがいくつかの予測モードに適用され得る。この場合、フラグは、それらのいくつかのモードについてのみコーディングされ得る。多重仮説モードは、第1のセットの予測モードに適用されるが、第2のセットの予測モードに適用されない場合がある。たとえば、多重仮説は、マージモードのみに適用され、高度動きベクトル予測(AMVP)には適用されない可能性がある。この例では、多重仮説フラグは、マージモードを使用するときのみコーディングされ、AMVPを使用するときコーディングされない可能性がある。
[0154] 場合によっては、多重仮説フラグおよび多重仮説モードインデックスは、以前にコーディングされた情報に基づいて導出される場合がある。一実施形態では、マージおよびスキップとは異なりインターコーディングされたPUの場合、多重仮説フラグまたは多重仮説インデックスは常に0に設定され、ビットストリーム内でコーディングされる必要がない。
[0155] 別の実施形態では、多重仮説モードフラグは、ビット空間をさらに節約するために条件付きでコーディングされる場合もある。最初に、暗黙的な仮説の利用可能性は次のように定義される:基本レイヤ内の同じ位置にあるPUがイントラコーディングされ、したがって暗黙的な仮説を見つけるために基本の動きが使用され得ないなどの、既定のルールに従って暗黙的な仮説の動きが導出され得ないとき、または導出された動きが現在のPUの1つの従来の仮説の動きと同じであるときのいずれかで、暗黙的な仮説はPUのために利用可能ではない。そのような定義を使用して、エンコーダは、暗黙的な多重仮説モードフラグを条件付きでコーディングすることができる。たとえば、PUの1つまたは複数の多重仮説が利用可能であるときのみ、エンコーダはフラグをコーディングする。そうでない場合、フラグはコーディングされず、ゼロに設定される。暗黙的な仮説の利用可能性は次のようにも定義され得る:PUがBスライス内にあり、単方向予測される場合、PUの暗黙的な仮説は利用可能ではないとマークされる。暗黙的な仮説の利用可能性は次のようにも定義され得る:PUのマージフラグが真であり、そのマージインデックスがゼロでないとき、PUの暗黙的な仮説は利用可能であるとマークされる。そうでない場合、暗黙的な仮説は利用可能ではないとマークされる。
[0156] 図12は、本開示の態様による、復号ルーチン用の方法の一実施形態を示すフローチャートである。プロセス1300は、エンコーダ(たとえば、図2に示されたようなエンコーダ)、デコーダ(たとえば、図3に示されたようなデコーダ)、または任意の他の構成要素によって実施される場合がある。プロセス1300のステップは、図3のビデオデコーダ30に関して記載されるが、プロセス1300は、上述されたように、エンコーダなどの他の構成要素によって実施される場合がある。
[0157] ブロック1305で、デコーダ30は、エンハンスメントレイヤの第1のフレームの第1のビデオブロック(または他のビデオユニット)用のビデオデータを復号している。デコーダは、ビットストリームから(または情報を記憶した後メモリを介して)第1のビデオブロックについての明示的な動き情報を取得し、第1のビデオブロック(たとえば、エンコーダによって処理されている現在のブロック)用の動き補償された仮説1(MCH1)を決定する。MCH1は、時間的に隣接するフレーム(たとえば、第1のビデオユニットの現在のフレームに対して前または次のフレーム)内のビデオブロックを識別することができる。
[0158] いくつかの実施形態では、デコーダ30は、第1のビデオブロック用の動き補償された仮説2(MCH2)も決定する。MCH2は、時間的に隣接するフレーム(たとえば、第1のビデオユニットの現在のフレームに対して前または次のフレーム)内のビデオブロックを識別することができる。通常、MCH2はMCH1とは異なるブロックを指す。たとえば、MCH1は現在のフレームに対して前のフレーム内の第2のビデオブロックを指す場合があり、MCH2は次のフレーム内の第3のビデオブロックを指す場合がある。
[0159] ブロック1310で、デコーダ30は、たとえば、IMMCフラグに基づいて、第1のビデオブロックを復号する際に暗黙的な仮説を計算すべきかどうかを判定する。場合によっては、エンコーダ20は、暗黙的な仮説を使用することによってさらなるコーディング効率は取得されない(たとえば、画像のひずみを低減しないか、または圧縮を改善しない)と判断しており、したがってデコーダが暗黙的な仮説を使用するように指示されるようなフラグを設定している/設定していない場合がある。デコーダが暗黙的な仮説を使用するように指示された場合、ルーチンはブロック1315に進む。デコーダが暗黙的な仮説を使用しないように指示された場合、ルーチンはブロック1335に進む。
[0160] ブロック1315で、デコーダ30は、現在のフレームに関連付けられた参照レイヤのフレーム(たとえば、基本レイヤ)から動き情報を取得する。たとえば、そのようなフレームは、エンハンスメントレイヤ内の現在のフレームと同じピクチャ用の基本レイヤ内の対応するフレームであり得る。一実施形態では、デコーダは、エンハンスメントレイヤのフレーム上の第1のビデオブロックに対応する参照レイヤのフレーム上の同じ位置にあるビデオブロックについての動き情報を取得する。
[0161] ブロック1320で、デコーダ30は、参照レイヤの動き情報をスケーリングする。上述されたように、デコーダは、参照レイヤの動き情報をスケーリングまたは場合によっては修正することができる。たとえば、コーダは、エンハンスメントレイヤと参照レイヤとの間の解像度比に基づいて、参照レイヤの動き情報に倍率を適用することができる。
[0162] ブロック1325で、デコーダ30は、スケーリングされた参照レイヤの動き情報からMCH3とMCH4とを決定する。図10で説明されたように、レイヤ情報は、同じ位置にある参照ビデオブロック用の参照レイヤ内の仮説に基づいて、MCH3とMCH4とを識別するために使用され得る。現在のルーチン1200はMCH3とMCH4とを識別することを記載するが、場合によっては、エンコーダ20は単一の仮説のみを決定する場合がある。
[0163] ブロック1330で、デコーダ30は、第1のビデオブロック用の画像データまたは画像値を決定する。図10に関して上述されたように、デコーダは、MCH1、MCH2、MCH3、およびMCH4の値の平均(たとえば、仮説によって参照されたビデオブロックの値)を計算することができる。場合によっては、丸めオフセットが仮説に追加される。次いで、ルーチン1300は終了することができる。
[0164] ブロック1310に戻って、暗黙的な仮説が計算されるべきでないことをIMMCフラグが示した場合、ルーチン1300はブロック1335に進むことができる。ブロック1335で、デコーダ30は、暗黙的な仮説を計算せずに、明示的な仮説に基づいて、第1のビデオブロック用の画像データまたは画像値を決定する。たとえば、デコーダは、MCH1の値とMCH2の値の平均を計算することができる。次いで、ルーチン1300は終了することができる。
[0165] 上記の開示は特定の実施形態を記載しているが、多くの変形形態が可能である。たとえば、上述されたように、上記の技法は3Dビデオコーディングに適用され得る。3Dビデオのいくつかの実施形態では、参照レイヤ(たとえば、基本レイヤ)は、ビデオの第1のビューを表示するのに十分なビデオ情報を含み、エンハンスメントレイヤは、参照レイヤに比べてさらなるビデオ情報を含み、その結果、参照レイヤおよびエンハンスメントレイヤは一緒に、ビデオの第2のビューを表示するのに十分な情報を含む。これらの2つのビューは、立体的な画像を生成するために使用され得る。上記で説明されたように、本開示の態様に従って、エンハンスメントレイヤ内でビデオユニットを符号化または復号するとき、参照レイヤからの動き情報は、さらなる暗黙的な仮説を識別するために使用され得る。これにより、3Dビデオのビットストリームについてのより大きいコーディング効率が実現され得る。
[0166] 例によっては、本明細書で説明された技法のうちいずれかの、いくつかの行為またはイベントは、異なる順番で実行される可能性があり、追加され、統合され、または完全に除外され得る(たとえば、すべての説明された行為またはイベントが、本技法の実施のために必要であるとは限らない)ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、連続的にではなく、同時に、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて実行され得る。
[0167] 1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されてよく、あるいは、コンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を支援する、任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明された技法の実装のための命令、コードおよび/またはデータ構造を取り出すために、1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
[0168] 限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る、任意の他の媒体を備え得る。同様に、いかなる接続も適切にコンピュータ可読媒体と称される。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0169] 命令は、1つまたは複数のデジタル信号プロセッサ(DSP)などの1つまたは複数のプロセッサ、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路によって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明される技法の実装に好適な他の構造のいずれかを指す。加えて、いくつかの態様では、本明細書で説明された機能は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内で与えられてよく、あるいは複合コーデックに組み込まれてよい。また、本技法は、1つまたは複数の回路または論理要素中で完全に実装され得る。
[0170] 本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネント、モジュール、またはユニットが説明されたが、それらのコンポーネント、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上で説明されたように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上で説明された1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられてよく、または相互動作ハードウェアユニットの集合によって与えられてよい。
[0171] 様々な例が説明されてきた。これらおよび他の例は以下の特許請求の範囲内に入る。

Claims (43)

  1. ビデオ情報を復号する方法であって、
    第1のレイヤ内の第1のビデオユニットを識別することと、
    第2のレイヤ内の第2のビデオユニットを識別することと、
    前記第1のビデオユニット用の複数の候補動きベクトルを備える候補リストを決定することと、ここにおいて、前記候補リストは、前記第2のビデオユニットに関連付けられた既定の動きベクトルから決定された少なくとも1つの導出された候補を含む、
    前記候補リスト内の選択された候補の位置を識別するシグナリングされたインデックスに基づいて、前記候補動きベクトルの間で複数の候補を選択することと、
    前記第1のビデオユニットについての予測を決定することと、ここにおいて、前記予測は予測仮説の組合せに対応し、ここにおいて前記予測仮説は前記候補リスト内の前記選択された候補に対応する、
    を備える、方法。
  2. 前記第1のビデオユニットおよび前記第2のビデオユニットが、各々フレーム、スライス、コーディングユニット(CU)、予測ユニット(PU)、ブロック、またはピクセルの領域を備える、請求項1に記載の方法。
  3. 前記第1のレイヤがエンハンスメントレイヤであり、前記第2のレイヤが参照レイヤであるか、または前記第1のレイヤが3Dビデオの依存ビューであり、前記第2のレイヤが3Dビデオの基本ビューである、請求項1に記載の方法。
  4. 前記第2のレイヤ内の前記第2のビデオユニットが、前記第1のレイヤ内の前記第1のビデオユニットと空間的に同じ位置にある、請求項1に記載の方法。
  5. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに空間的に隣接する、前記第1のレイヤ内のビデオユニットに関連付けられた動きベクトルである、請求項1に記載の方法。
  6. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに時間的に隣接し、前記第1のビデオユニットと空間的に同じ位置にある、前記第1のレイヤ内のビデオユニットに関連付けられた動きベクトルである、請求項1に記載の方法。
  7. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに対して時間的に次の参照ビデオユニットに関して定義され、前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに対して時間的に前の参照ビデオユニットに関して定義される、請求項1に記載の方法。
  8. 前記導出された動きベクトルが、前記既定の動きベクトルをスケーリングすることによって決定され、前記スケーリングが、前記第1のレイヤと前記第2のレイヤとの間の、空間解像度における差分およびフレームレートにおける差分のうちの少なくとも1つに基づく、請求項1に記載の方法。
  9. 前記第1のビデオユニットについての前記予測が、前記選択された候補に対応する前記予測仮説を平均化し、0、1、または2のラウンディングオフセットを適用することによって少なくとも部分的に決定される、請求項1に記載の方法。
  10. 前記導出された動きベクトルが、前記第1のレイヤに関連付けられた、シグナリングされたインジケータに応答して決定される、請求項1に記載の方法。
  11. ビデオ情報を符号化する方法であって、
    第1のレイヤ内の第1のビデオユニットを識別することと、
    第2のレイヤ内の第2のビデオユニットを識別することと、
    前記第1のビデオユニット用の複数の候補動きベクトルを備える候補リストを決定することと、ここにおいて、前記候補リストは、前記第2のビデオユニットに関連付けられた既定の動きベクトルから決定された少なくとも1つの導出された候補を含む、
    前記候補動きベクトルの間で複数の候補を選択することと、
    前記第1のビデオユニットについての予測を決定することと、ここにおいて、前記予測は予測仮説の組合せに対応し、ここにおいて前記予測仮説は前記候補リスト内の前記選択された候補に対応する、
    前記候補リスト内の前記選択された候補の位置を識別するインデックスをシグナリングすることと
    を備える、方法。
  12. 前記第1のビデオユニットおよび前記第2のビデオユニットが、各々フレーム、スライス、コーディングユニット(CU)、予測ユニット(PU)、ブロック、またはピクセルの領域を備える、請求項11に記載の方法。
  13. 前記第1のレイヤがエンハンスメントレイヤであり、前記第2のレイヤが参照レイヤであるか、または前記第1のレイヤが3Dビデオの依存ビューであり、前記第2のレイヤが3Dビデオの基本ビューである、請求項11に記載の方法。
  14. 前記第2のレイヤ内の前記第2のビデオユニットが、前記第1のレイヤ内の前記第1のビデオユニットと空間的に同じ位置にある、請求項11に記載の方法。
  15. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに空間的に隣接する、前記第1のレイヤ内のビデオユニットに関連付けられた動きベクトルである、請求項11に記載の方法。
  16. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに時間的に隣接し、前記第1のビデオユニットと空間的に同じ位置にある、前記第1のレイヤ内のビデオユニットに関連付けられた動きベクトルである、請求項11に記載の方法。
  17. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに対して時間的に次の参照ビデオユニットに関して定義され、前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに対して時間的に前の参照ビデオユニットに関して定義される、請求項11に記載の方法。
  18. 前記導出された動きベクトルが、前記既定の動きベクトルをスケーリングすることによって決定され、前記スケーリングが、前記第1のレイヤと前記第2のレイヤとの間の、空間解像度における差分およびフレームレートにおける差分のうちの少なくとも1つに基づく、請求項11に記載の方法。
  19. 前記第1のビデオユニットについての前記予測が、前記選択された候補に対応する前記予測仮説を平均化し、0、1、または2のラウンディングオフセットを適用することによって少なくとも部分的に決定される、請求項11に記載の方法。
  20. 前記第2のレイヤから導出された動きベクトルが前記第1のレイヤ用の候補リストに含まれることを示すインジケータをシグナリングすることをさらに備える、請求項11に記載の方法。
  21. ビデオ情報をコーディングするための装置であって、
    第1のレイヤおよび対応する第2のレイヤに関連付けられたビデオ情報を記憶するように構成されたメモリユニットであって、前記ビデオ情報が、少なくとも前記第1のレイヤおよび第2のレイヤについての動き予測情報を含む、メモリユニットと、
    前記メモリユニットと通信しているプロセッサであって、
    前記第1のレイヤ内の第1のビデオユニットを識別することと、
    前記第2のレイヤ内の第2のビデオユニットを識別することと、
    少なくとも1つが前記第2のビデオユニットに関連付けられた既定の動きベクトルから導出された、前記第1のビデオユニット用の複数の候補動きベクトルを決定することと、
    前記候補動きベクトルの間で複数の候補を選択することと、ここにおいて、前記選択された候補は、前記第1のビデオユニットについての複数の予測仮説に対応する、
    前記第1のビデオユニットについての予測を決定することと、ここにおいて、前記予測は前記予測仮説の組合せに対応する、
    を行うように構成された、プロセッサと
    を備える、装置。
  22. 前記プロセッサが、候補リスト内の前記選択された候補の位置を識別するインデックスをシグナリングするようにさらに構成された、請求項21に記載の装置。
  23. 前記プロセッサが、候補リスト内の前記選択された候補の位置を識別するシグナリングされたインデックスに基づいて、前記候補動きベクトルの間で前記複数の選択された候補を選択するようにさらに構成された、請求項21に記載の装置。
  24. 前記第1のビデオユニットおよび前記第2のビデオユニットが、各々フレーム、スライス、コーディングユニット(CU)、予測ユニット(PU)、ブロック、またはピクセルの領域を備える、請求項21に記載の装置。
  25. 前記第1のレイヤがエンハンスメントレイヤであり、前記第2のレイヤが参照レイヤであるか、または前記第1のレイヤが3Dビデオの依存ビューであり、前記第2のレイヤが3Dビデオの基本ビューである、請求項21に記載の装置。
  26. 前記第2のレイヤ内の前記第2のビデオユニットが、前記第1のレイヤ内の前記第1のビデオユニットと空間的に同じ位置にある、請求項21に記載の装置。
  27. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに空間的に隣接する、前記第1のレイヤ内のビデオユニットに関連付けられた動きベクトルである、請求項21に記載の装置。
  28. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに時間的に隣接し、前記第1のビデオユニットと空間的に同じ位置にある、前記第1のレイヤ内のビデオユニットに関連付けられた動きベクトルである、請求項21に記載の装置。
  29. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに対して時間的に次の参照ビデオユニットに関して定義され、前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに対して時間的に前の参照ビデオユニットに関して定義される、請求項21に記載の装置。
  30. 前記既定の動きベクトルから導出された少なくとも1つの候補動きベクトルが、前記既定の動きベクトルをスケーリングすることによって決定され、前記スケーリングが、前記第1のレイヤと前記第2のレイヤとの間の、空間解像度における差分およびフレームレートにおける差分のうちの少なくとも1つに基づく、請求項21に記載の装置。
  31. 前記第1のビデオユニットについての前記予測が、前記選択された候補に対応する前記予測仮説を平均化し、0、1、または2のラウンディングオフセットを適用することによって少なくとも部分的に決定される、請求項21に記載の装置。
  32. 第1のレイヤ内の第1のビデオユニットを識別するための手段と、
    第2のレイヤ内の第2のビデオユニットを識別するための手段と、
    前記第1のビデオユニット用の複数の候補動きベクトルを決定するための手段と、ここにおいて前記候補動きベクトルのうちの少なくとも1つが、前記第2のビデオユニットに関連付けられた既定の動きベクトルから導出される、
    前記候補動きベクトルの間で複数の候補を選択するための手段と、
    前記第1のビデオユニットについての予測を決定するための手段と、ここにおいて前記予測が予測仮説の組合せに対応し、ここにおいて前記予測仮説が前記選択された候補に対応する、
    を備える、ビデオコーディングデバイス。
  33. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに空間的に隣接する、前記第1のレイヤ内のビデオユニットに関連付けられた動きベクトルである、請求項32に記載のビデオコーディングデバイス。
  34. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに時間的に隣接し、前記第1のビデオユニットと空間的に同じ位置にある、前記第1のレイヤ内のビデオユニットに関連付けられた動きベクトルである、請求項32に記載のビデオコーディングデバイス。
  35. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに対して時間的に次の参照ビデオユニットに関して定義され、前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに対して時間的に前の参照ビデオユニットに関して定義される、請求項32に記載のビデオコーディングデバイス。
  36. 前記既定の動きベクトルから導出された少なくとも1つの候補動きベクトルが、前記既定の動きベクトルをスケーリングすることによって決定され、前記スケーリングが、前記第1のレイヤと前記第2のレイヤとの間の、空間解像度における差分およびフレームレートにおける差分のうちの少なくとも1つに基づく、請求項32に記載のビデオコーディングデバイス。
  37. 前記第1のビデオユニットについての前記予測が、前記選択された候補に対応する前記予測仮説を平均化し、0、1、または2のラウンディングオフセットを適用することによって少なくとも部分的に決定される、請求項32に記載のビデオコーディングデバイス。
  38. コンピュータストレージを有するコンピュータシステムによって実行されたとき、
    第1のレイヤ内の第1のビデオユニットを識別することと、
    第2のレイヤ内の第2のビデオユニットを識別することと、
    前記第1のビデオユニット用の複数の候補動きベクトルを決定することと、ここにおいて、前記候補動きベクトルのうちの少なくとも1つは、前記第2のビデオユニットに関連付けられた既定の動きベクトルから導出される、
    前記候補動きベクトルの間で複数の候補を選択することと、
    前記第1のビデオユニットについての予測を決定することと、ここにおいて、前記予測は予測仮説の組合せに対応し、ここにおいて前記予測仮説は前記選択された候補に対応する、
    を前記コンピュータシステムに行わせる命令を記憶した、非一時的コンピュータストレージ。
  39. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに空間的に隣接する、前記第1のレイヤ内のビデオユニットに関連付けられた動きベクトルである、請求項38に記載の非一時的コンピュータストレージ。
  40. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに時間的に隣接し、前記第1のビデオユニットと空間的に同じ位置にある、前記第1のレイヤ内のビデオユニットに関連付けられた動きベクトルである、請求項38に記載の非一時的コンピュータストレージ。
  41. 前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに対して時間的に次の参照ビデオユニットに関して定義され、前記候補動きベクトルのうちの少なくとも1つが、前記第1のビデオユニットに対して時間的に前の参照ビデオユニットに関して定義される、請求項38に記載の非一時的コンピュータストレージ。
  42. 前記既定の動きベクトルから導出された少なくとも1つの候補動きベクトルが、前記既定の動きベクトルをスケーリングすることによって決定され、前記スケーリングが、前記第1のレイヤと前記第2のレイヤとの間の、空間解像度における差分およびフレームレートにおける差分のうちの少なくとも1つに基づく、請求項38に記載の非一時的コンピュータストレージ。
  43. 前記第1のビデオユニットについての前記予測が、前記選択された候補に対応する前記予測仮説を平均化し、0、1、または2のラウンディングオフセットを適用することによって少なくとも部分的に決定される、請求項38に記載の非一時的コンピュータストレージ。
JP2015526609A 2012-08-07 2013-08-05 スケーラブルビデオコーディングおよび3dビデオコーディングのための多重仮説動き補償 Pending JP2015529065A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261680507P 2012-08-07 2012-08-07
US61/680,507 2012-08-07
US201261706649P 2012-09-27 2012-09-27
US61/706,649 2012-09-27
US13/958,262 US9635356B2 (en) 2012-08-07 2013-08-02 Multi-hypothesis motion compensation for scalable video coding and 3D video coding
US13/958,262 2013-08-02
PCT/US2013/053627 WO2014025692A1 (en) 2012-08-07 2013-08-05 Multi-hypothesis motion compensation for scalable video coding and 3d video coding

Publications (2)

Publication Number Publication Date
JP2015529065A true JP2015529065A (ja) 2015-10-01
JP2015529065A5 JP2015529065A5 (ja) 2018-05-10

Family

ID=50066179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015526609A Pending JP2015529065A (ja) 2012-08-07 2013-08-05 スケーラブルビデオコーディングおよび3dビデオコーディングのための多重仮説動き補償

Country Status (4)

Country Link
US (1) US9635356B2 (ja)
JP (1) JP2015529065A (ja)
CN (1) CN104521237B (ja)
WO (1) WO2014025692A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103283237B (zh) * 2010-12-22 2017-03-22 Lg电子株式会社 帧内预测方法和使用该方法的设备
TWI617180B (zh) * 2012-03-20 2018-03-01 三星電子股份有限公司 基於樹狀結構之編碼單元的可調式視訊編碼的方法與裝置以及基於樹狀結構之編碼單元的可調式視訊解碼的方法與裝置
WO2014015807A1 (en) * 2012-07-27 2014-01-30 Mediatek Inc. Method of constrain disparity vector derivation in 3d video coding
WO2014050675A1 (ja) * 2012-09-28 2014-04-03 ソニー株式会社 画像処理装置および方法
CN109068136B (zh) 2012-12-18 2022-07-19 索尼公司 图像处理装置和图像处理方法、计算机可读存储介质
KR20140121315A (ko) 2013-04-04 2014-10-15 한국전자통신연구원 참조 픽처 리스트를 이용한 다 계층 기반의 영상 부호화/복호화 방법 및 그 장치
US9635371B2 (en) * 2013-05-31 2017-04-25 Qualcomm Incorporated Determining rounding offset using scaling factor in picture resampling
EP2838268B1 (en) * 2013-07-31 2019-02-20 Axis AB Method, device and system for producing a merged digital video sequence
CN111193930B (zh) * 2013-12-16 2021-11-30 浙江大学 一种前向双假设编码图像块的编解码方法和装置
US9813654B2 (en) * 2014-08-19 2017-11-07 Sony Corporation Method and system for transmitting data
WO2017003063A1 (ko) * 2015-06-28 2017-01-05 엘지전자(주) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR102390162B1 (ko) * 2015-10-16 2022-04-22 삼성전자주식회사 데이터 인코딩 장치 및 데이터 인코딩 방법
CN112236995A (zh) 2018-02-02 2021-01-15 苹果公司 多假设运动补偿技术
US11924440B2 (en) 2018-02-05 2024-03-05 Apple Inc. Techniques of multi-hypothesis motion compensation
WO2019229683A1 (en) * 2018-05-31 2019-12-05 Beijing Bytedance Network Technology Co., Ltd. Concept of interweaved prediction
US11477474B2 (en) * 2018-06-08 2022-10-18 Mediatek Inc. Methods and apparatus for multi-hypothesis mode reference and constraints
CN110620933B (zh) * 2018-06-19 2022-05-31 北京字节跳动网络技术有限公司 不同参考列表的不同精度
WO2020011775A1 (en) * 2018-07-10 2020-01-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Multi-hypothesis prediction
US11051010B2 (en) 2018-07-18 2021-06-29 Mediatek Inc. Merge candidates with multiple hypothesis
US11218721B2 (en) 2018-07-18 2022-01-04 Mediatek Inc. Method and apparatus of motion compensation bandwidth reduction for video coding system utilizing multi-hypothesis
TWI815967B (zh) 2018-09-19 2023-09-21 大陸商北京字節跳動網絡技術有限公司 仿射模式編解碼的模式相關自適應調整運動矢量分辨率
BR112021007509A2 (pt) * 2018-10-27 2021-07-27 Huawei Technologies Co., Ltd. lista de mesclagem separada para candidatos de mesclagem de sub-bloco e harmonização de técnicas intra-inter para codificação de vídeo
JP7358473B2 (ja) 2018-11-29 2023-10-10 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 多仮説予測を用いたブロックのための最確モードリスト構成のエンコーダ、デコーダ、および対応する方法
CN112806002A (zh) * 2018-12-13 2021-05-14 腾讯美国有限责任公司 用信号通知用于跳过和合并模式的多假设的方法和装置、以及用信号通知具有运动矢量差的合并中的距离偏移表的方法和装置
WO2020140948A1 (en) 2019-01-02 2020-07-09 Beijing Bytedance Network Technology Co., Ltd. Motion vector derivation between dividing patterns
EP3895429A4 (en) 2019-01-31 2022-08-10 Beijing Bytedance Network Technology Co., Ltd. CONTEXT FOR CODE AN ADAPTIVE MOTION VECTOR RESOLUTION IN AFFINE MODE
CN111698500B (zh) * 2019-03-11 2022-03-01 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US11509931B2 (en) * 2019-06-07 2022-11-22 Tencent America LLC Method and apparatus for video coding
WO2023200382A1 (en) * 2022-04-12 2023-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced multi-hypothesis prediction

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012045886A1 (en) * 2010-10-08 2012-04-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Picture coding supporting block partitioning and block merging

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US8442108B2 (en) * 2004-07-12 2013-05-14 Microsoft Corporation Adaptive updates in motion-compensated temporal filtering
US20060012719A1 (en) * 2004-07-12 2006-01-19 Nokia Corporation System and method for motion prediction in scalable video coding
CN101023672A (zh) * 2004-07-12 2007-08-22 诺基亚公司 在可调整视频编码中用于运动预测的系统和方法
WO2007042063A1 (en) 2005-10-12 2007-04-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Video codec supporting quality-scalability
US20080089411A1 (en) 2006-10-16 2008-04-17 Nokia Corporation Multiple-hypothesis cross-layer prediction
US20080095238A1 (en) * 2006-10-18 2008-04-24 Apple Inc. Scalable video coding with filtering of lower layers
ES2634162T3 (es) * 2007-10-25 2017-09-26 Nippon Telegraph And Telephone Corporation Método de codificación escalable de vídeo y métodos de decodificación que utilizan predicción ponderada, dispositivos para ello, programas para ello, y medio de grabación donde se graba el programa
KR101385884B1 (ko) * 2008-01-30 2014-04-16 고려대학교 산학협력단 다시점 동영상의 부호화 및 복호화 방법 및 장치
EP2269379B1 (en) * 2008-04-11 2019-02-27 InterDigital Madison Patent Holdings Methods and apparatus for template matching prediction (tmp) in video encoding and decoding
US20110176611A1 (en) * 2010-01-15 2011-07-21 Yu-Wen Huang Methods for decoder-side motion vector derivation
WO2011095259A1 (en) 2010-02-05 2011-08-11 Telefonaktiebolaget L M Ericsson (Publ) Selecting predicted motion vector candidates
CN103155568B (zh) 2010-07-08 2016-07-27 杜比实验室特许公司 用于使用参考处理信号进行多层图像和视频传输的系统和方法
EP2625854A1 (en) 2010-10-08 2013-08-14 Dolby Laboratories Licensing Corporation Scalable frame compatible multiview encoding and decoding methods
CN103155559B (zh) 2010-10-12 2016-01-06 杜比实验室特许公司 用于帧兼容视频传输的联合层优化
US9143795B2 (en) * 2011-04-11 2015-09-22 Texas Instruments Incorporated Parallel motion estimation in video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012045886A1 (en) * 2010-10-08 2012-04-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Picture coding supporting block partitioning and block merging

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DANNY HONG ET AL., SCALABILITY SUPPORT IN HEVC, JPN6013027194, 14 July 2011 (2011-07-14) *
JAEHYUN LIM ET AL., EXTENDED MERGING SCHEME USING MOTION-HYPOTHESIS INTER PREDICTION, JPN6017009746, 21 July 2010 (2010-07-21) *

Also Published As

Publication number Publication date
WO2014025692A1 (en) 2014-02-13
US9635356B2 (en) 2017-04-25
CN104521237A (zh) 2015-04-15
CN104521237B (zh) 2018-06-12
US20140044179A1 (en) 2014-02-13

Similar Documents

Publication Publication Date Title
US9635356B2 (en) Multi-hypothesis motion compensation for scalable video coding and 3D video coding
CN110741639B (zh) 视频译码中的运动信息传播
CN107409225B (zh) 视频译码中运动信息推导模式确定
US9998727B2 (en) Advanced inter-view residual prediction in multiview or 3-dimensional video coding
US9826244B2 (en) Device and method for scalable coding of video information based on high efficiency video coding
US9736489B2 (en) Motion vector determination for video coding
CN110089116B (zh) 通过光照补偿和整数运动向量限制进行编码优化
US9491458B2 (en) Scalable video coding prediction with non-causal information
US10097825B2 (en) Restricting inter-layer prediction based on a maximum number of motion-compensated layers in high efficiency video coding (HEVC) extensions
US20130188717A1 (en) Motion prediction in svc using partition mode without split flag
CN111213376A (zh) 使用基于编码结构的候选列表构建对视频数据的运动信息进行编码
US20140064359A1 (en) Intra prediction most probable mode order improvement for scalable video coding
TW201401884A (zh) 視訊寫碼之層間合併清單建立
WO2013106425A1 (en) Motion vector scaling in video coding
US9380307B2 (en) Method and system for intra base layer (BL) transform in video coding
US9648353B2 (en) Multiple base layer reference pictures for SHVC
US9338452B2 (en) Motion vector difference coding extension for enhancement layer
JP6526574B2 (ja) レイヤ間シンタックス予測制御
US20130336394A1 (en) Inferred base layer block for texture_bl mode in hevc based single loop scalable video coding
WO2013184810A1 (en) Bi-layer texture prediction for video coding
JP2016533119A (ja) サブpuレベル高度残差予測
US9479788B2 (en) Systems and methods for low complexity encoding and background detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180226

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20180326

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180717