JP6215295B2 - Hevcおよびその拡張における動きベクトルのコーディングおよび双予測 - Google Patents

Hevcおよびその拡張における動きベクトルのコーディングおよび双予測 Download PDF

Info

Publication number
JP6215295B2
JP6215295B2 JP2015500627A JP2015500627A JP6215295B2 JP 6215295 B2 JP6215295 B2 JP 6215295B2 JP 2015500627 A JP2015500627 A JP 2015500627A JP 2015500627 A JP2015500627 A JP 2015500627A JP 6215295 B2 JP6215295 B2 JP 6215295B2
Authority
JP
Japan
Prior art keywords
motion vector
current
type
video
reference picture
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.)
Expired - Fee Related
Application number
JP2015500627A
Other languages
English (en)
Other versions
JP2015514342A5 (ja
JP2015514342A (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 JP2015514342A publication Critical patent/JP2015514342A/ja
Publication of JP2015514342A5 publication Critical patent/JP2015514342A5/ja
Application granted granted Critical
Publication of JP6215295B2 publication Critical patent/JP6215295B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction

Description

[0001]本出願は、その各々の内容全体が参照により本明細書に組み込まれる、以下の米国仮特許出願の利益を主張する。
2012年3月16日に出願された米国仮特許出願第61/611,959号、
2012年4月16日に出願された米国仮特許出願第61/624,990号、
2012年6月11日に出願された米国仮出願第61/658,344号、および
2012年6月22日に出願された米国仮出願第61/663,484号。
[0002]本開示は、ビデオコーディングに関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(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)規格によって定義された規格、およびScalable Video Coding(SVC)およびMultiview Video Coding(MVC)など、そのような規格の拡張に記載されているビデオコーディング技法など、ビデオコーディング技法を実装する。HEVCのワーキングドラフト(WD:Working Draft)のバージョン6は、http://phenix.int−evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC−H1003−v21.zipから入手可能である。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶し得る。
[0004]ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するための空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を含む。ブロックベースのビデオコーディングの場合、ビデオスライス(たとえば、ビデオフレームまたはビデオフレームの一部分)が、ツリーブロック、コーディングユニット(CU)および/またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコーディングされた(I)スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス中のビデオブロックは、同じピクチャ中の近隣ブロック中の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0005]空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックを生じる。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差分を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されて、残差変換係数が得られ得、その残差変換係数は、次いで量子化され得る。量子化変換係数は、最初は2次元アレイで構成され、変換係数の1次元ベクトルを生成するために走査され得、なお一層の圧縮を達成するために、エントロピーコーディングが適用され得る。
[0006]概して、本開示は、動きベクトルをコーディングするための、および高効率ビデオコーディング(HEVC)と、マルチビューまたは3次元ビデオ(3DV:three-dimensional video)拡張などのHEVCの拡張とにおいて双予測を実行するための技法について説明する。本開示の技法は、ベースコーデック設計におけるマルチビュービデオコーデックおよび/または3Dビデオコーディングへのより良い前方互換性をサポートし得る。
[0007]一例では、ビデオデータを復号するための方法は、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、第1のタイプが第2のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを復号することとを含む。
[0008]別の例では、ビデオデータを符号化するための方法は、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、第1のタイプが第2のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを符号化することとを含む。
[0009]別の例では、ビデオデータを復号するためのデバイスは、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、第1のタイプが第2のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを復号することとを行うように構成されたビデオデコーダを含む。
[0010]別の例では、ビデオデータを符号化するためのデバイスは、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、第1のタイプが第2のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを符号化することとを行うように構成されたビデオエンコーダを含む。
[0011]別の例では、ビデオデータを復号するためのデバイスは、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断するための手段と、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断するための手段と、第1のタイプが第2のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定するための手段と、変数の値に少なくとも部分的に基づいて現在の動きベクトルを復号するための手段とを含む。
[0012]別の例では、ビデオデータを符号化するためのデバイスは、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断するための手段と、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断するための手段と、第1のタイプが第2のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定するための手段と、変数の値に少なくとも部分的に基づいて現在の動きベクトルを符号化するための手段とを含む。
[0013]別の例では、コンピュータ可読記憶媒体(たとえば、非一時的コンピュータ可読記憶媒体)は、実行されたとき、プロセッサに、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、第1のタイプが第2のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを復号することとを行わせる命令を記憶する。
[0014]別の例では、コンピュータ可読記憶媒体(たとえば、非一時的コンピュータ可読記憶媒体)は、実行されたとき、プロセッサに、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、第1のタイプが第2のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを符号化することとを行わせる命令を記憶する。
[0015]1つまたは複数の例の詳細は、添付の図面および以下の説明に記載されている。他の特徴、目的、および利点は、その説明および図面から、ならびに特許請求の範囲から明らかになろう。
[0016]動きベクトルをコーディングするための、および高効率ビデオコーディング(HEVC)と、マルチビューまたは3次元ビデオ(3DV)拡張などのHEVCの拡張とにおいて双予測を実行するための技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 [0017]動きベクトルをコーディングするための、およびHEVCと、マルチビューまたは3DV拡張などのHEVCの拡張とにおいて双予測を実行するための技法を実装し得るビデオエンコーダの一例を示すブロック図。 [0018]動きベクトルをコーディングするための、およびHEVCと、マルチビューまたは3DV拡張などのHEVCの拡張とにおいて双予測を実行するための技法を実装し得るビデオデコーダ30の一例を示すブロック図。 [0019]例示的なMVCの予測パターンを示す概念図。 [0020]本開示の技法による、現在のブロックを符号化するための例示的な方法を示すフローチャート。 [0021]本開示の技法による、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャート。
[0022]概して、本開示では、マルチビュービデオコーディング(MVC)データをコーディングするための技法について説明する。現在、Motion Pictures Experts Group(MPEG)は、次回の高効率ビデオコーディング(HEVC)規格に基づいて3次元ビデオ(3DV)規格を開発している。規格化の取り組みの一部はまた、HEVCに基づいたマルチビュービデオコーデックの規格化を含む。2次元ビデオコーディングでは、ビデオデータ(すなわち、ピクチャのシーケンス)は、必ずしも表示順序とは限らずにピクチャごとにコーディングされる。ビデオコーディングデバイスは、各ピクチャをブロックに分割し、各ブロックを個々にコーディングする。ブロックベースの予測モードは、イントラ予測とも呼ばれる空間予測とインター予測とも呼ばれる時間的予測とを含む。
[0023]HEVCベースの3DVなどの3次元ビデオデータでは、ブロックはまた、ビュー間予測され得る。すなわち、ブロックは、別のビューのピクチャから予測され得、各ビューは、概して、それぞれのカメラロケーションに対応する。このようにして、HEVCベースの3DVでは、異なるビューからの再構成されたビューコンポーネントに基づいたビュー間予測が可能であり得る。本開示では、特定のビューの符号化ピクチャを指すために「ビューコンポーネント」という用語を使用する。すなわち、ビューコンポーネントは、(表示順序または出力順序に関して)特定の時間の特定のビューのための符号化ピクチャを備え得る。ビューコンポーネント(またはビューコンポーネントのスライス)は、ビュー構成要素の表示順序(または出力順序)を概して示すピクチャ順序カウント(POC:picture order count)値を有し得る。
[0024]時間的インター予測またはビュー間予測では、ビデオコーディングデバイスは、1つもしくは複数の動きベクトル(時間的インター予測)および/または1つもしくは複数の変位ベクトル(ビュー間予測)を示すデータをコーディングし得る。いくつかの例では、1つの動きベクトルまたは1つの変位ベクトルでコーディングされたブロックはPブロックと呼ばれ、一方、2つの動きベクトルまたは2つの変位ベクトルでコーディングされたブロックは双予測ブロックまたはBブロックと呼ばれる。動きベクトルに適用可能である技法は、概して、変位ベクトルにも適用可能であり、したがって、本開示では、主に、動きベクトルコーディング技法について説明する。ただし、そのような技法は変位ベクトルにも適用可能であり、同様に、別段に規定されていない限り、変位ベクトルに関して説明する技法は動きベクトルにも適用可能であることを理解されたい。
[0025]概して、動きベクトルまたは変位ベクトルが参照し得る参照ピクチャを示すデータは参照ピクチャリストに記憶される。したがって、動きベクトルデータ(または変位ベクトルデータ)は、動きベクトルのx成分およびy成分についてのデータだけでなく、参照ピクチャインデックスと呼ばれる、参照ピクチャリストのエントリの指示をも含み得る。ビデオコーディングデバイスは、複数の参照ピクチャリストを構成し得る。たとえば、ビデオコーディングデバイスは、現在のピクチャよりも前のPOC値を有する参照ピクチャについてのデータを記憶するために第1の参照ピクチャリスト(リスト0またはRefPicList0)を構成し、現在のピクチャよりも後のPOC値を有する参照ピクチャについてのデータを記憶するために第2の参照ピクチャリスト(リスト1またはRefPicList1)を構成し得る。さらに、ピクチャのための表示または出力順序は、コーディング順序値(たとえば、フレーム番号または「frame_num」値)と必ずしも同じとは限らないことに留意されたい。したがって、ピクチャは、フレームが表示される(またはキャプチャされる)順序とは異なる順序でコーディングされ得る。
[0026]一般に、Bピクチャの第1または第2の参照ピクチャリストについての参照ピクチャリスト構成は、2つのステップ、すなわち参照ピクチャリストの初期化と、参照ピクチャリストの並べ替え(修正)とを含む。参照ピクチャリスト初期化は、参照ピクチャメモリ(復号ピクチャバッファとしても知られる)中の参照ピクチャを、POC(ピクチャの表示順で整列されるピクチャオーダーカウント)値の順序に基づいてリストに入れる明示的機構である。参照ピクチャリスト並べ替え機構は、参照ピクチャリスト初期化中にリストに置かれたピクチャの位置を任意の新しい位置に修正すること、または参照ピクチャメモリ中の任意の参照ピクチャが初期化リストに属していない場合でもそのピクチャを任意の位置に置くことができる。参照ピクチャリスト並べ替え(修正)後のいくつかのピクチャは、リスト中の離れた位置に置かれ得る。ただし、ピクチャの位置が、リストのアクティブ参照ピクチャの数を超える場合、ピクチャは、最終参照ピクチャリストのエントリとは見なされない。アクティブ参照ピクチャの数は、各リスト用のスライスヘッダに入れてシグナリングされ得る。参照ピクチャリスト(たとえば、利用可能な場合、RefPicList0およびRefPicList1)が構成された後、任意の参照ピクチャリスト中のピクチャを識別するために参照インデックスが使用され得る。
[0027]上記のように、動きベクトルデータはまた、水平成分(またはx成分)と垂直成分(またはy成分)とを含み得る。したがって、動きベクトルは、<x,y>のように定義され得る。動きベクトルのx成分とy成分とを直接コーディングするのではなく、ビデオコーディングデバイスは、動きベクトル予測子に対して動きベクトルをコーディングし得る。動きベクトル予測子は、様々な例では、現在のブロックのための空間ネイバー、時間的に別個のピクチャのコロケートブロック(すなわち、前にコーディングされたピクチャ中のコロケートブロック)、または同じ時間的インスタンスにおける別のビュー中のピクチャのコロケートブロックから選択され得る。時間的に別個のピクチャの動きベクトル予測子は、時間的動きベクトル予測子(TMVP:temporal motion vector predictor)と呼ばれる。
[0028]現在のブロック(たとえば、HEVCにおける現在のコーディングユニット(CU)の現在の予測ユニット(PU))のためのTMVPを判断するために、ビデオコーディングデバイスは、コロケートピクチャを最初に識別し得る。「コロケート」ピクチャという用語は、特定のコロケートブロックを含むピクチャを指す。コロケートブロックはまた、HEVCのWD6に示されているように、「コロケートパーティション」中に含まれ得る。現在のピクチャがBスライスである場合、コロケートピクチャがRefPicList0からのものであるのか、またはRefPicList1からのものであるかを示すために、現在のピクチャのスライスのスライスヘッダ中でcollocated_from_l0_flagがシグナリングされ得る。参照ピクチャリストが識別された後、ビデオコーディングデバイスは、参照ピクチャリスト中のコロケートピクチャを識別するために、スライスヘッダ中でシグナリングされるcollocated_ref_idxを使用し得る。コロケートPUは、次いで、コロケートピクチャを確認することによって識別される。現在のPUを含んでいるCUの右下のPUの動きベクトル、またはこのPUを含んでいるCUの中心のPU内の右下のPUの動きベクトルのいずれかが、現在のPUのためのTMVPとして扱われ得る。AMVPまたはマージモードの動き候補を生成するために上記のプロセスによって識別された動きベクトルが使用されるとき、動きベクトルは、(参照ピクチャのPOC値によって反映される)時間的ロケーションに基づいてスケーリングされ得る。本開示の技法によれば、以下で説明するように、TMVPは、同じビューからのものであることも、または異なるビューからのものであることもあり得る。
[0029]HEVCでは、ピクチャパラメータセット(PPS:picture parameter set)は、フラグenable_temporal_mvp_flagを含む。0に等しいtemporal_idをもつ特定のピクチャが、0に等しいenable_temporal_mvp_flagを有するPPSを参照するとき、DPB中のすべての参照ピクチャは、「時間的動きベクトル予測のために使用されない」としてマークされ得、復号順序でその特定のピクチャの前のピクチャからの動きベクトルは、特定のピクチャの復号または復号順序でその特定のピクチャの後のピクチャの復号において時間的動きベクトル予測子として使用されないことになる。
[0030]H.264/AVCまたはHEVCにおいて、Pスライスの場合、重み付け予測が可能であるとき、weighted_pred_flagを1に設定することによって、予測重みは明示的にシグナリングされる。シンタックス要素weighted_pred_flagはスライスヘッダ中でシグナリングされ、それのセマンティクスは次の通りである。
[0031]いくつかの例では、0に等しいweighted_pred_flagは、重み付け予測がPスライスに適用されないことになることを指定し得る。1に等しいweighted_pred_flagは、重み付け予測がPスライスに適用されることになることを指定する。
[0032]Bスライスの場合、重み付け予測が使用可能であるとき、weighted_bipred_idcが非ゼロになるように設定することによって、予測重みが明示的にシグナリングされるか、または暗黙的に導出され得る。シンタックスもスライスヘッダ中でシグナリングされ得、それのセマンティクスは次の通りである。
[0033]いくつかの例では、0に等しいweighted_bipred_idcは、デフォルト重み付け予測がBスライスに適用されることを指定する。いくつかの例では、1に等しいweighted_bipred_idcは、明示的重み付け予測がBスライスに適用されることを指定する。いくつかの例では、2に等しいweighted_bipred_idcは、暗黙的重み付け予測がBスライスに適用されることになることを指定する。weighted_bipred_idcの値は、両端値を含む0〜2の範囲内にあり得る。
[0034]weighted_bipred_idcが1に等しいとき、重みは、POC距離を計算することによって、2つの参照フレームの時間的距離に基づいて導出され得る。
[0035]現在のHEVC設計は、特に、マルチビューまたは3DV拡張などの将来の拡張の開発者が高レベルシンタックスの変更のみを行う能力を提供することを希望する場合、そのような拡張の開発を妨げ得る。たとえば、TMVPのために使用されるべき参照ピクチャが異なるビューからのものである場合、参照ピクチャは、現在のピクチャと同じPOCを有し得る。動きベクトルスケーリングのためのHEVCの現在の設計は、このシナリオでは、TMVPのために使用される参照ピクチャを正確に識別することができないことがある。暗黙的重み付け予測がBスライスに適用され、1つの参照ピクチャが異なるビューからのものであるとき、予測重みを計算するプロセスはPOC距離のみに基づいて設計されているので、プロセスは問題に遭遇し得る。
[0036]本開示の技法はこれらの問題を解決し得る。概して、本開示は、MVCまたは3DVをサポートするためにHEVC設計の上で高レベルシンタックスのみを変更するための技法を提供する。解決策のいくつかは、HEVCベースの仕様のためのものであり、したがって、前方互換性のためのものである。ビデオエンコーダまたはビデオデコーダなどのビデオコーダは、本開示の様々な技法のいずれかまたはすべてを単独でまたは任意の組合せで実装するように構成され得る。様々な技法について、以下でより詳細に説明する。
[0037]一例として、ビデオコーダは、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、第1のタイプが第2のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルをコーディングすることとを行うように構成され得る。異なるタイプの動きベクトルは、たとえば、視差動きベクトルと時間的動きベクトルとを備え得る。
[0038]様々な技法のいずれかが、動きベクトルのためのタイプを判断するために使用され得る。たとえば、ビデオコーダは、現在のピクチャと動きベクトルが参照する参照ピクチャとの間でのPOC値の比較に基づいて動きベクトルのためのタイプ(たとえば、時間的対視差)を判断し得る。POC値が異なる場合、ビデオコーダは、動きベクトルが時間的動きベクトルであると判断し得る。一方、POC値が同じである場合、ビデオコーダは、動きベクトルが視差動きベクトルであると判断し得る。
[0039]別の例として、ビデオコーダは、現在のピクチャと動きベクトルが参照する参照ピクチャとが生じるレイヤ(たとえば、ビューまたはスケーラビリティレイヤ)を比較し得る。現在のピクチャと参照ピクチャとが同じレイヤ中に生じる場合、ビデオコーダは、動きベクトルが時間的動きベクトルであると判断し得る。一方、現在のピクチャと参照ピクチャとが異なるレイヤ中に生じる場合、ビデオコーダは、動きベクトルが視差動きベクトルであると判断し得る。
[0040]また別の例として、ビデオコーダは、動きベクトルが参照する参照ピクチャが長期参照ピクチャであるか、または短期参照ピクチャであるかを判断し得る。参照ピクチャが短期参照ピクチャである場合、ビデオコーダは、動きベクトルが視差動きベクトルであると判断し得る。ただし、参照ピクチャが長期参照ピクチャである場合、ビデオコーダは、動きベクトルが時間的動きベクトルであると判断し得る。
[0041]さらに、本開示のいくつかの技法によれば、現在の動きベクトルが候補動きベクトル予測子とは異なるタイプのものであるとき、ビデオコーダは、候補動きベクトル予測子が利用可能でないと判断するように構成され得る。たとえば、ビデオコーダは、現在の動きベクトルと候補動きベクトル予測子との間でタイプが異なるとき、候補動きベクトル予測子が現在の動きベクトルのための予測子として使用するために利用可能であるかどうかを示す「利用可能」フラグ(または変数)を、候補動きベクトル予測子が利用可能でないことを示す値に設定し得る。
[0042]図1は、動きベクトルをコーディングするための、およびHEVCと、マルチビューまたは3DV拡張などのHEVCの拡張とにおいて双予測を実行するための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを与えるソースデバイス12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介してビデオデータを宛先デバイス14に与える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0043]宛先デバイス14は、コンピュータ可読媒体16を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動させることができる任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12が、符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0044]いくつかの例では、符号化データは、出力インターフェース22からストレージデバイスに出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス12によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
[0045]本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH:dynamic adaptive streaming over HTTP)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0046]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、動きベクトルをコーディングするための、およびHEVCと、マルチビューまたは3DV拡張などのHEVCの拡張とにおいて双予測を実行するための本技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなど、外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
[0047]図1の図示のシステム10は一例にすぎない。動きベクトルをコーディングするための、およびHEVCと、マルチビューまたは3DV拡張などのHEVCの拡張とにおいて双予測を実行するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。さらに、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャストまたはビデオ電話のための、ビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートし得る。
[0048]ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、あらかじめキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。
[0049]コンピュータ可読媒体16は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、たとえば、ネットワーク送信を介して、ソースデバイス12から符号化されたビデオデータを受信し、宛先デバイス14に符号化されたビデオデータを与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、様々な例では、コンピュータ可読媒体16は、様々な形態の1つまたは複数のコンピュータ可読媒体を含むと理解され得る。
[0050]宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロックおよび他のコード化ユニット、たとえば、GOPの特性および/または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0051]ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオコーディング規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。同様に、ビデオエンコーダ20およびビデオデコーダ30は、HEVC規格の拡張、たとえば、マルチビュー拡張または3次元ビデオ(3DV)拡張に従って構成され得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4,Part 10,Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格もしくは業界規格、またはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例としては、MPEG−2およびITU−T H.263がある。図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0052]ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる共同パートナーシップの成果として、ISO/IEC Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された。いくつかの態様では、本開示で説明する技法は、H.264規格に概して準拠するデバイスに適用され得る。H.264規格は、ITU−T Study Groupによる2005年3月付けのITU−T勧告H.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではH.264規格もしくはH.264仕様、またはH.264/AVC規格もしくは仕様と呼ぶことがある。Joint Video Team(JVT)はH.264/MPEG−4 AVCへの拡張に取り組み続けている。
[0053]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダ回路のいずれかとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0054]JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
[0055]概して、HMの作業モデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディングユニット(LCU:largest coding unit)に分割され得ることを記載している。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるLCUのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコーディングユニット(CU)に分割され得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードはツリーブロックに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。
[0056]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とも呼ぶ。
[0057]CUは、CUがサイズの差異を有さないことを除いて、H.264規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割され得、各子ノードは、今度は親ノードとなり、別の4つの子ノードに分割され得る。4分木のリーフノードと呼ばれる、最後の分割されていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コード化ビットストリームに関連するシンタックスデータは、最大CU深さと呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コーディングユニット(SCU:smallest coding unit)をも定義し得る。本開示では、HEVCのコンテキストにおけるCU、PU、もしくはTU、または他の規格のコンテキストにおける同様のデータ構造(たとえば、H.264/AVCにおけるマクロブロックおよびそれのサブブロック)のいずれかを指すために「ブロック」という用語を使用する。
[0058]CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU:prediction unit)および変換ユニット(TU:transform unit)とを含む。CUのサイズは、コーディングノードのサイズに対応し、かつ形状が方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルを有するツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連するシンタックスデータは、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化もしくはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、またはインター予測モード符号化されるかによって異なり得る。PUは、形状が非方形になるように区分され得る。CUに関連するシンタックスデータは、たとえば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が方形または非方形(たとえば、矩形)であり得る。
[0059]HEVC規格は、CUごとに異なり得るTUに従う変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、一般にPUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差クワッドツリー」(RQT:residual quad tree)として知られるクワッドツリー構造を使用して、より小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、量子化され得る変換係数を生成するために変換され得る。
[0060]リーフ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)を記述し得る。
[0061]1つまたは複数のPUを有するリーフCUはまた、1つまたは複数の変換ユニット(TU)を含み得る。変換ユニットは、上記で説明したように、(TU4分木構造とも呼ばれる)RQTを使用して指定され得る。たとえば、分割フラグは、リーフCUが4つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらに、さらなるサブTUに分割され得る。TUがさらに分割されないとき、そのTUはリーフTUと呼ばれることがある。概して、イントラコーディングの場合、リーフCUに属するすべてのリーフTUは同じイントラ予測モードを共有する。すなわち、概して、リーフCUのすべてのTUの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダ20は、イントラ予測モードを使用して各リーフTUの残差値をTUに対応するCUの一部と元のブロックとの間の差分として計算し得る。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUはPUよりも大きくまたは小さくなり得る。イントラコーディングの場合、PUは、同じCUの対応するリーフTUとコロケートされ得る。いくつかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズに対応し得る。
[0062]さらに、リーフCUのTUはまた、残差4分木(RQT)と呼ばれる、それぞれの4分木データ構造に関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。TU4分木のルートノードは概してリーフCUに対応し、CU4分木のルートノードは概してツリーブロック(またはLCU)に対応する。分割されないRQTのTUはリーフTUと呼ばれる。概して、本開示では、特に明記しない限り、リーフCUおよびリーフTUに言及するためにそれぞれCUおよびTUという用語を使用する。
[0063]ビデオシーケンスは、一般に、一連のビデオフレームまたはピクチャを含む。ピクチャグループ(GOP)は、概して、ビデオピクチャのうちの一連の1つまたは複数を備える。GOPは、GOP中に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、ピクチャのうちの1つまたは複数のヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、かつ指定のコーディング規格に応じてサイズが異なり得る。
[0064]一例として、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を指す。
[0065]本開示では、「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に等しいとは限らない。
[0066]ビデオエンコーダ20およびビデオデコーダ30は、本開示の様々な技法のうちの1つまたは複数を単独でまたは任意の組合せで実行するように構成され得る。たとえば、本開示のいくつかの技法によれば、ビデオエンコーダ20およびビデオデコーダ30は、マルチビュービデオコーディング(MVC)または3次元ビデオ(3DV)コーディング、たとえば、H.264/AVCまたはHEVCの拡張に関係する様々な技法を実行するように構成され得る。ビデオコーディング規格のMVCおよび/または3DV拡張は、いくつかの事例では、高レベルシンタックス(HLS:high level syntax)の変更を使用して達成され得る。たとえば、新しいコーディング構造を導入するのではなく、いくつかの既存のコーディング構造が、HLS限定拡張を達成するために異なる方法で再定義または使用され得る。
[0067]一例として、MVCおよび3DV拡張に従ってビデオデータをコーディングするために、ビデオエンコーダ20およびビデオデコーダ30は、レイヤ間またはビュー間予測を実行するように構成され得る。すなわち、ビデオエンコーダ20およびビデオデコーダ30は、前にコーディングされたビューの前にコーディングされたピクチャのデータを使用して現在のビュー中の現在のピクチャのブロックを予測するように構成され得る。一般に、前にコーディングされたピクチャ(すなわち、ビュー間参照ピクチャ)と現在のピクチャとは、同じピクチャ順序カウント(POC)値を有し、したがって、ビュー間参照ピクチャと現在のピクチャとは、同じアクセスユニット中に生じ、同様に、実質的に同じ出力順序(または表示順序)を有する。
[0068]ビデオエンコーダ20およびビデオデコーダ30は、ビュー間予測を使用して現在のピクチャの現在のブロックをコーディングするために視差動きベクトルを利用するように構成され得る。したがって、いくつかの例では、視差動きベクトルは、動きベクトルを使用して予測される現在のブロックを含む現在のピクチャのための現在のPOC値が、動きベクトルによって参照される参照ピクチャのPOC値に等しい動きベクトルを備えると言われ得る。したがって、ビデオエンコーダ20およびビデオデコーダ30は、動きベクトルによって予測されるブロックのPOC値が動きベクトルが参照する参照ピクチャのPOC値に等しいとき、動きベクトルが視差動きベクトルであると判断するように構成され得る。同様に、ビデオエンコーダ20およびビデオデコーダ30は、動きベクトルによって予測されるブロックのPOCが動きベクトルが参照する参照ピクチャのPOC値に等しくないとき、時間的動きベクトルを備えると判断するように構成され得る。
[0069]追加または代替として、ビデオエンコーダ20およびビデオデコーダ30は、動きベクトルを使用して予測される現在のブロックを含む現在のピクチャが、動きベクトルによって参照される参照ピクチャとは異なるレイヤ中にあるとき、動きベクトルが視差動きベクトルを備えると判断するように構成され得る。同様に、ビデオエンコーダ20およびビデオデコーダ30は、動きベクトルを使用して予測される現在のブロックを含む現在のピクチャが、動きベクトルによって参照される参照ピクチャと同じレイヤ中にあるとき、動きベクトルが時間的動きベクトルを備えると判断するように構成され得る。
[0070]また別の例として、HEVCは、長期参照ピクチャを短期参照ピクチャと区別する。HEVCの技法では、長期ピクチャは、短期参照ピクチャよりも比較的長く復号ピクチャバッファ(DPB)に記憶される。さらに、参照ピクチャが長期参照ピクチャであるのか、または短期参照ピクチャであるのかを示すためにシンタックス要素が使用される。いくつかの例では、MVCおよび3DVにおいて、長期参照ピクチャが、代わりに、(すなわち、コーディングされている現在のピクチャと同じレイヤまたはビューの)時間的参照ピクチャに対応し得、一方、短期参照ピクチャが、代わりに、(すなわち、コーディングされている現在のピクチャとは異なるレイヤまたはビューの)ビュー間参照ピクチャに対応し得る。したがって、長期参照ピクチャおよび短期参照ピクチャの使用はまた、参照ピクチャが時間的参照ピクチャであるのか、またはビュー間参照ピクチャであるのかの指示を与えることができる。同様に、長期参照ピクチャを参照する動きベクトルは時間的動きベクトルを備え得、一方、短期参照ピクチャを参照する動きベクトルは視差動きベクトルを備え得る。
[0071]本開示のいくつかの技法によれば、ビデオエンコーダ20およびビデオデコーダ30は、異なるタイプの動きベクトルを互いのための動きベクトル予測子として使用することを不可能にするように構成され得る。たとえば、現在の動きベクトルが時間的動きベクトルである場合、ビデオエンコーダ20およびビデオデコーダ30は、時間的動きベクトルを予測するために動きベクトル予測子として視差動きベクトルを使用しないように構成され得る。同様に、現在の動きベクトルが視差動きベクトルである場合、ビデオエンコーダ20およびビデオデコーダ30は、視差動きベクトルを予測するために動きベクトル予測子として時間的動きベクトルを使用しないように構成され得る。
[0072]ビデオエンコーダ20およびビデオデコーダ30は、動きベクトル予測の様々なモードを実行するように構成され得る。一例では、マージモード、ビデオエンコーダ20およびビデオデコーダ30は、たとえば、参照ピクチャを選択すべき参照ピクチャリスト、参照リスト中の参照ピクチャを示す参照インデックス、水平動きベクトル成分、および垂直動きベクトル成分など、複数の隣接ブロックのうちのどれから動きパラメータを継承すべきかを表すマージフラグをコーディングするように構成され得る。
[0073]別の例では、高度動きベクトル予測(AMVP)、ビデオエンコーダ20およびビデオデコーダ30は、参照ピクチャを選択すべき参照ピクチャリスト、参照ピクチャリスト中の参照ピクチャを示す参照インデックス、動きベクトル差分値、および動きベクトル予測子を選択すべき隣接ブロックを表すAMVPインデックスの指示をコーディングするように構成され得る。
[0074]マージモードおよび/もしくはAMVPモード、または他のそのような動きベクトルコーディングモードでは、ビデオエンコーダ20およびビデオデコーダ30は、現在のブロックの動きベクトルとは異なるタイプの動きベクトルを使用する隣接ブロックから動き情報を使用しないように構成され得る。すなわち、ビデオエンコーダ20およびビデオデコーダ30は、現在の動きベクトルのための第1のタイプと候補動きベクトル予測子のための第2のタイプとを判断し、第1のタイプが第2のタイプと同じでない場合、現在の動きベクトルのための動きベクトル予測子として候補動きベクトル予測子を使用することを不可能にするように構成され得る。
[0075]候補動きベクトル予測子を使用不可にするために、ビデオエンコーダ20およびビデオデコーダ30は、候補動きベクトル予測子が現在の動きベクトルのための動きベクトル予測子として使用するために利用可能であるかどうかを表す変数を設定し得る。ビデオエンコーダ20およびビデオデコーダ30は、候補動きベクトル予測子が利用可能であることを示した他の条件に基づいて候補動きベクトル予測子が利用可能であると前に見なされた場合でも、候補動きベクトル予測子が利用可能でないことを示すようにこの変数の値を設定し得る。たとえば、以下でより詳細に説明するように、ビデオエンコーダ20およびビデオデコーダ30は、候補動きベクトル予測子に変数を関連付け得、変数の値は、候補動きベクトル予測子が現在の動きベクトルのための動きベクトル予測子として使用するために利用可能であるかどうかを示す。
[0076]特に、ビデオエンコーダ20は、現在の動きベクトルを予測するために使用するために利用可能である動きベクトル予測子のセットを判断するように構成され得る。ビデオデコーダ30はまた、そのようなセットを構成するように構成され得、代替的に、ビデオエンコーダ20は、利用可能である動きベクトル予測子のセットをシグナリングし得る。いずれの場合も、ビデオエンコーダ20およびビデオデコーダ30は、利用可能な動きベクトル予測子のセットを判断し、現在の動きベクトルをコーディングするために使用するために実際の動きベクトル予測子として動きベクトル予測子のセットのうちの1つを選択し得る。
[0077]AMVPモードでは、ビデオエンコーダ20は、現在の動きベクトルと動きベクトル予測子との間の動きベクトル差分値を計算し、動きベクトル差分値をコーディングし得る。同様に、ビデオデコーダ30は、現在の動きベクトル(すなわち、ビデオデータの現在のブロック、たとえば、現在のPUのための動きベクトル)を再構成するために、動きベクトル差分値を判断された動きベクトル予測子と組み合わせ得る。マージモードでは、実際の動きベクトル予測子は、現在の動きベクトルとして使用され得る。したがって、マージモードでは、ビデオエンコーダ20およびビデオデコーダ30は、動きベクトル差分値を0値であるものとして扱い得る。
[0078]本開示のいくつかの技法によれば、ビデオエンコーダ20およびビデオデコーダ30は、1つまたは複数の候補動きベクトル予測子が現在の動きベクトルとは異なるタイプを有するかどうかに基づいて、候補動きベクトル予測子のリスト中の1つまたは複数の候補動きベクトル予測子(それらの候補動きベクトル予測子のいずれかまたはすべてが他の基準に基づいて利用可能であると前に判断されていることがある)が現在の動きベクトルを予測するために利用不可能であるかどうかを判断するように構成され得る。ビデオエンコーダ20およびビデオデコーダ30は、さらに、たとえば、利用不可能な候補動きベクトル予測子のための利用可能なフラグ(または変数)を利用不可能な候補動きベクトル予測子が利用不可能であることを示す値に設定することによって、利用不可能であると判断された候補動きベクトル予測子を使用して動きベクトル予測を使用不可にするように構成され得る。
[0079]追加または代替として、利用可能な候補動きベクトル予測子のセットから動きベクトル予測子を選択した後に、ビデオエンコーダ20およびビデオデコーダ30は、選択された動きベクトル予測子が視差動きベクトルであるかどうか(すなわち、選択された動きベクトル予測子がビュー間参照ピクチャを参照するかどうか)を判断するように構成され得る。そうである場合、ビデオエンコーダ20およびビデオデコーダ30は、現在の動きベクトルをコーディングするときに動きベクトル予測子のスケーリングを使用不可にし得る。すなわち、現在の動きベクトルと動きベクトル予測子とがどちらも視差動きベクトルである(すなわち、ビュー間参照ピクチャを参照する)と仮定すると、(ビュー間参照ピクチャは、概して、コーディングされている現在のピクチャと同じアクセスユニット内に生じるので)現在のピクチャと(1つまたは複数の)ビュー間参照ピクチャとの間のPOC値の差分が0になることになり、したがって、スケーリングは必要ない。さらに、動きベクトル予測子をスケーリングしようと試みることは誤りを生じることがあり、その誤りは、本開示の技法によれば、スケーリングを使用不可にすることによって回避され得る。
[0080]いくつかの例では、HEVCのMVCまたは3DV拡張では、enable_temporal_mvp_flagは、任意のアクティブPPSについて常に0に設定される。すなわち、ビデオエンコーダ20は、HEVCのMVCまたは3DV拡張においてアクティブPPSのenable_temporal_mvp_flagを0に設定するように構成され得る。同様に、ビデオデコーダ30は、enable_temporal_mvp_flagを復号するか、またはHEVCのMVCまたは3DV拡張に準拠するビットストリームを復号するときに、enable_temporal_mvp_flagの0の値を推論するように構成され得る。
[0081]いくつかの例では、HEVCのMVCまたは3DV拡張では、ビデオエンコーダ20およびビデオデコーダ30は、高レベルシンタックス(HLS)の変更のみを有するプロファイル中に、コロケートピクチャが異なるビューからの参照ピクチャに決して対応しない方法でcollocated_ref_idxの値を設定する。さらに、ビデオエンコーダ20およびビデオデコーダ30は、コロケートピクチャのフレキシビリティをより大きくするために低レベルの変更を利用するプロファイルを使用可能にするというHEVCのMVCまたは3DV拡張のための指示を表すデータをコーディングするように構成され得る。
[0082]いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、HEVCに従ってコーディングされるスライスのスライスヘッダ中で、TMVP中に識別されたコロケートピクチャの動きベクトルのスケーリングを明示的に使用不可にするという指示を表すデータをコーディングするように構成され得る。そのようなコロケートピクチャは、「時間的動きベクトル予測のために使用されない」とマークされ得る。
[0083]いくつかの例では、HEVCでは、ビデオエンコーダ20およびビデオデコーダ30は、隣接ブロックの動きベクトルが現在の参照インデックスとは異なる参照インデックスを有し、さらに現在の参照ピクチャのピクチャ順序カウント(POC)値とは異なるPOC値を有するとき、高度動きベクトル予測中に動きベクトルスケーリングを使用不可にし得る。ビデオエンコーダ20およびビデオデコーダ30は、スライスヘッダ、適応パラメータセット(APS:adaptation parameter set)、ピクチャパラメータセット(PPS:picture parameter set)、シーケンスパラメータセット(SPS:sequence parameter set)、ビデオパラメータセット(VPS:video parameter set)、または他のデータ構造中で、AMVPを使用不可にすることがオンであるのかまたはオフであるのかをシグナリングするという指示を表すデータをコーディングするように構成され得る。
[0084]いくつかの例では、HEVCでは、ビデオエンコーダ20およびビデオデコーダ30は、この動きベクトルと予測されるべき動きベクトルのうちの1つ、およびただ1つが、現在のピクチャと同じPOC値を有するピクチャからのものであるとき、空間的に隣接するブロックからの動きベクトルを利用不可能なものとして判断し得る。そのような技法は、AMVPおよびマージモードのいずれかまたは両方に適用され得る。代替的に、そのような技法は、AMVPおよびマージモードの時間的動きベクトル予測(TMVP)態様にのみ適用され得る。ビデオエンコーダ20およびビデオデコーダ30は、この技法を使用可能または使用不可にするという指示を表すデータをスライスヘッダ、APS、SPS、PPS、またはVPS中でコーディングし得る。
[0085]HEVCを用いるいくつかの例では、参照インデックスが異なるビュー/レイヤからのピクチャを指す動きベクトルは、予測されるべき動きベクトルの参照インデックスが(同じビュー/レイヤからの)時間的参照ピクチャを指すとき、動きベクトル予測子として使用するために利用不可能なものと見なされ得る。これは、AMVPモードとマージモードの両方に適用され得る。代替的に、これは、AMVPおよびマージモードのTMVP部分にのみ適用され得る。
[0086]いくつかの例では、HEVCでは、ビデオエンコーダ20およびビデオデコーダ30は、コロケートピクチャがTMVP中にコロケートピクチャとして識別されるときに特定の参照ピクチャセット(RPS)サブセットからのコロケートピクチャが動きベクトルスケーリングのために使用されることになるかどうかをシグナリングするという各RPSサブセットのための指示を表すデータをコーディングし得る。RPSサブセット中の各ピクチャは、「時間的動きベクトル予測のために使用されない」とマークされ得る。
[0087]いくつかの例では、HEVCでは、ビデオエンコーダ20およびビデオデコーダ30は、空間的に隣接する動きベクトルと予測されるべき動きベクトルとが同じ指示を有するRPSサブセットに属する場合、特定のRPSサブセット中のピクチャからの空間的に隣接する動きベクトル予測がAMVP中に利用不可能なものと見なされることになるかどうかをシグナリングするという各RPSサブセットのための指示を表すデータをコーディングし得る。
[0088]いくつかの例では、HEVCでは、ビデオエンコーダ20およびビデオデコーダ30は、RefPicList0とRefPicList1との中のいくつかの参照ピクチャペアについて、ペア中の参照ピクチャのいずれかがPUの重み付け双予測のために使用される場合、重みが両方の参照ピクチャに対して同じになり得るように、Bスライスの暗黙的重み付け予測の新しいタイプを表すデータをコーディングし得る。RefPicList0およびRefPicList1からのピクチャの他の組合せについては、HEVCまたはH.264/AVCにおける現在の暗黙的重み付け予測が適用され得る。ビデオエンコーダ20およびビデオデコーダ30は、スライスヘッダ中でどの組合せが使用可能または使用不可にされるかを表すデータをコーディングし得る。
[0089]いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、通常の(すなわち、時間的)動きベクトルを予測するために視差動きベクトルを使用せず、かつ視差動きベクトルを予測するために時間的動きベクトルを使用しないように構成され得る。さらに、ビデオエンコーダ20およびビデオデコーダ30は、視差動きベクトルをスケーリングしないように構成され得る。いくつかの例では、現在のPUの1つまたは2つの参照ピクチャがビュー間参照ピクチャであり、暗黙的重み付け予測モードがオンにされるとき、現在のPUのこれらの2つの参照ピクチャのための重みは同じ(たとえば、1/2、1/2)になるように設定され得る。
[0090]いくつかの例では、RPSサブセットの特性の導出として、RefPicSetLtCurr、RefPicSetLtFoll、RefPicSetStCurrBefore、RefPicSetStCurrAfterおよびRefPicSetStFollの各RPSサブセットについて、ビデオコーダは、RefTypeIdcが0に等しくなると導出し得る。RPSサブセット中に含まれる各ピクチャは、RPSサブセットのRefTypeIdcに等しくなるように設定されたRefPicTypeIdcを有し得る。HEVCの潜在的なMVC拡張におけるこれの例示的な使用として、InterViewRPSサブセットは、1に等しいRefTypeIdcを有するように設定され得る。
[0091]本開示は、引数として関数にパスされる参照ピクチャ「pic」のRefPicTypeIdc値を戻す関数RefPicTypeFunc(pic)を定義する。この関数は、たとえば、参照ビデオデータとして使用するために前に符号化されたビデオデータを復号するときにビデオエンコーダ20によって、またはビデオ復号プロセス中にビデオデコーダ30によって復号プロセスの一部として実行され得る。
[0092]本開示はまた、動きベクトル予測子候補のための導出プロセスのための技法を提供する。ビデオエンコーダ20およびビデオデコーダ30などのビデオコーダは、従来のHEVCのプロシージャに加えて、またはその代替として、以下のプロシージャを使用して動きベクトルmvLXAおよび利用可能性フラグavailableFlagLXAを導出し得る。availableFlagLXAが0に等しいとき、(xA0,yA0)から(xA1,yA1)までの(xAk,yAk)、ただし、yA1=yA0−MinPuSizeについて、availableFlagLXAが1に等しくなるまで、以下が繰り返し適用され得る(この例では、フォーマット#−###の数字は次回のHEVC規格の特定のセクションを指す)。
・ルーマロケーション(xAk,yAk)をカバーする予測ユニットが利用可能である場合、PredModeはMODE_INTRAではなく、predFlagLX[xAk][yAk]は1に等しく、availableFlagLXAは1に等しくなるように設定され、動きベクトルmvLXAは動きベクトルmvLX[xAk][yAk]に等しくなるように設定され、refIdxAはrefIdxLX[xAk][yAk]に等しくなるように設定され、ListAはLXに等しくなるように設定される。
・そうではなく、ルーマロケーション(xAk,yAk)をカバーする予測ユニットが利用可能である場合、PredModeはMODE_INTRAではなく、predFlagLY[xAk][yAk](ここで、Y=!X)は1に等しく、availableFlagLXAは1に等しくなるように設定され、動きベクトルmvLXAは動きベクトルmvLY[xAk][yAk]に等しくなるように設定され、refIdxAはrefIdxLY[xAk][yAk]に等しくなるように設定され、ListAはLYに等しくなるように設定される。
・availableFlagLXAが1に等しく、RefPicTypeFunc(RefPicListListA(refIdxA))がRefPicTypeFunc(RefPicListLX(refIdxLX))に等しくない場合、availableFlagLXAは0に設定される。
・availableFlagLXAが1に等しく、RefPicTypeFunc(RefPicListListA(refIdxA))およびRefPicTypeFunc(RefPicListLX(refIdxLX))がどちらも0に等しいとき、mvLXAは以下で指定するように導出され得る。
ただし、tdおよびtbは、次のように導出され得る。
・availableFlagLXAが1に等しく、RefPicTypeFunc(RefPicListListA(refIdxA))およびRefPicTypeFunc(RefPicListLX(refIdxLX))がどちらも0でない値に等しいとき、mvLAXはスケーリングなしにmvLXAに設定される。
[0093]ビデオエンコーダ20およびビデオデコーダ30などのビデオコーダは、従来のHEVCのプロシージャに加えて、またはその代替として、以下のプロシージャを使用して動きベクトルmvLXBおよび利用可能性フラグavailableFlagLXBを導出し得る。isScaledFlagLXが0に等しく、availableFlagLXBが0に等しくなるように設定され得るとき、(xB0,yB0)から(xB2,yB2)までの(xBk,yBk)、ただし、xB0=xP+nPSW、xB1=xB0−MinPuSize、およびxB2=xP−MinPuSizeについて、availableFlagLXBが1に等しくなるまで、以下は繰り返し適用され得る。
・ルーマロケーション(xBk,yBk)をカバーする予測ユニットが利用可能である場合、PredModeはMODE_INTRAではなく、predFlagLX[xBk][yBk]は1に等しく、availableFlagLXBは1に等しくなるように設定され、動きベクトルmvLXBは動きベクトルmvLX[xBk][yBk]に等しくなるように設定され、refIdxBはrefIdxLX[xBk][yBk]に等しくなるように設定され、ListBはLXに等しくなるように設定される。
・そうではなく、ルーマロケーション(xBk,yBk)をカバーする予測ユニットが利用可能である場合、PredModeはMODE_INTRAではなく、predFlagLY[xBk][yBk](ここで、Y=!X)は1に等しく、availableFlagLXBは1に等しくなるように設定され、動きベクトルmvLXBは動きベクトルmvLY[xBk][yBk]に等しくなるように設定され、refIdxBはrefIdxLY[xBk][yBk]に等しくなるように設定され、ListBはLYに等しくなるように設定される。
・availableFlagLXAが1に等しく、RefPicTypeFunc(RefPicListListB(refIdxB))がRefPicTypeFunc(RefPicListLX(refIdxLX))に等しくない場合、availableFlagLXBは0に設定される。
・availableFlagLXBが1に等しく、RefPicTypeFunc(RefPicListListA(refIdxA))およびRefPicTypeFunc(RefPicListLX(refIdxLX))がどちらも0に等しく、PicOrderCnt(RefPicListListB(refIdxB))がPicOrderCnt(RefPicListLX(refIdxLX))に等しくないとき、mvLXBは以下で指定するように導出される。
ただし、tdおよびtbは、次のように導出され得る。
・availableFlagLXBが1に等しく、RefPicTypeFunc(RefPicListListB(refIdxB))およびRefPicTypeFunc(RefPicListLX(refIdxLX))がどちらも0でない値に等しいとき、mvLAXはスケーリングなしにmvLXAに設定される。
[0094]ビデオエンコーダ20およびビデオデコーダ30などのビデオコーダは、本開示の技法によれば、時間的ルーマ動きベクトル予測子を導出し得る。たとえば、ビデオコーダは、変数mvLXColおよびavailableFlagLXColを次のように導出し得る。
・以下の条件のうちの1つが真である場合、mvLXColの両方の成分は0に等しくなるように設定され得、availableFlagLXColは0に等しくなるように設定され得る。
○ colPuがイントラ予測モードでコーディングされる。
○ colPuが「利用不可能である」とマークされている。
○ colPicが「時間的動きベクトル予測のために使用されない」とマークされている。
○ enable_temporal_mvp_flagが0に等しい。
・そうでない場合、動きベクトルmvCol、参照インデックスrefIdxCol、および参照リスト識別子listColは次のように導出され得る。
○ PredFlagL0[xPCol][yPCol]が0に等しい場合、mvCol、refIdxCol、およびlistColは、それぞれ、MvL1[xPCol][yPCol]、RefIdxL1[xPCol][yPCol]、およびL1に等しくなるように設定され得る。
○ そうでない場合(PredFlagL0[xPCol][yPCol]が1に等しい)、以下が適用され得る。
・PredFlagL1[xPCol][yPCol]が0に等しい場合、mvCol、refIdxCol、およびlistColは、それぞれ、MvL0[xPCol][yPCol]、RefIdxL0[xPCol][yPCol]、およびL0に等しくなるように設定され得る。
・そうでない場合(PredFlagL1[xPCol][yPCol]が1に等しい)、以下の割当てが行われ得る。
・あらゆる参照ピクチャリスト中のあらゆるピクチャpicのPicOrderCnt(pic)がPicOrderCntVal以下である場合、mvCol、refIdxCol、およびlistColは、それぞれ、MvLX[xPCol][yPCol]、RefIdxLX[xPCol][yPCol]、およびLXに等しくなるように設定され得、ただし、Xは、このプロセスが呼び出されるXの値である。
・そうでない場合(少なくとも1つの参照ピクチャリスト中の少なくとも1つのピクチャpicのPicOrderCnt(pic)がPicOrderCntValよりも大きい)、mvCol、refIdxColおよびlistColは、それぞれ、MvLN[xPCol][yPCol]、RefIdxLN[xPCol][yPCol]およびLNに等しくなるように設定され得、ただし、Nは、collocated_from_l0_flagの値である。
また、変数availableFlagLXColが1に等しくなるように設定され得、以下が適用され得る。
・RefPicTypeFunc(RefPicListLX(refIdxLX))がRefPicTypeFunc(listCol(refIdxCol))に等しくない場合、availableFlagLXColは0に等しくなるように設定される。listCol(refIdxCol)が時間的動きベクトルの参照ピクチャを戻すことに留意されたい。
○ availableFlagLXColが1であり、RefPicTypeFunc(RefPicListLX(refIdxLX))およびRefPicTypeFunc(listCol(refIdxCol))がいずれも0でない値に等しい場合、またはPicOrderCnt(colPic)−RefPicOrderCnt(colPic,refIdxCol,listCol)がPicOrderCntVal−PicOrderCnt(RefPicListLX(refIdxLX))に等しい場合、以下のようになる。
○ そうではなく、RefPicTypeFunc(RefPicListLX(refIdxLX))およびRefPicTypeFunc(listCol(refIdxCol)がいずれも0に等しい場合、mvLXColは、以下で指定するように動きベクトルmvColのスケーリングされたバージョンとして導出され得る。
ただし、tdおよびtbは、次のように導出され得る。
[0095]本明細書で説明する変数は、暗黙的重み付け予測のために導出され得る。
[0096]本開示はまた、ビデオエンコーダ20およびビデオデコーダ30が実行するように構成された重み付けサンプル予測プロセスのための技法を提供する。プロセスへの入力は以下を含み得る。
・現在のコーディングユニットの左上サンプルに対する現在の予測ユニットの左上サンプルを指定するロケーション(xB,yB)、
・この予測ユニットの幅および高さ、nPSWおよびnPSH、
・2つの(nPSW)x(nPSH)アレイ、predSamplesL0およびpredSamplesL1、
・予測リスト利用フラグ、predFlagL0およびpredFlagL1、
・参照インデックス、refIdxL0およびrefIdxL1、
・動きベクトル、mvL0およびmvL1、
・クロマ成分のビット深度、bitDepth。
[0097]このプロセスの出力は以下を含み得る。
・予測サンプル値の(nPSW)x(nPSH)アレイ、predSamples。
[0098]一例では、変数shift1、shift2、offset1、およびoffset2は次のように導出される。
・変数shift1は14−bitDepthに等しくなるように設定され、変数shift2は15−bitDepthに等しくなるように設定され、
・変数offset1は1<<(shift1−1)に等しくなるように設定され、変数offset2は1<<(shift2−1)に等しくなるように設定される。
[0099]Pスライスでは、predFlagL0の値が1に等しい場合、以下が適用され得る。
・weighted_pred_flagが0に等しい場合、8.5.2.2.3.1項に記載されているデフォルト重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出される。
・そうでない場合(weighted_pred_flagが1に等しい)、8.5.2.2.3.2項に記載されている明示的重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出される。
・Bスライスでは、predFlagL0またはpredFlagL1が1に等しい場合、以下が適用され得る。
・weighted_bipred_idcが0に等しい場合、8.5.2.2.3.1項に記載されているデフォルト重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出される。
・そうではなく、weighted_bipred_idcが1に等しい場合、およびpredFlagL0またはpredFlagL1が1に等しい場合、8.5.2.2.3.2項に記載されている明示的重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出される。
・そうでない場合(weighted_bipred_idcが2に等しい)、以下が適用され得る。
○ predFlagL0が1に等しく、predFlagL1が1に等しく、RefPicTypeFunc(RefPicListL0(refIdxL0))とRefPicTypeFunc(RefPicListL1(refIdxL1))の両方が0に等しい場合、現在のHEVCワーキングドラフトの8.5.2.2.3.2項に記載されている暗黙的重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出される。
○ そうでない場合(predFlagL0またはpredFlagL1が1に等しいが両方ではない)、8.5.2.2.3.1項に記載されているデフォルト重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出される。
[0100]本開示はまた、デフォルト重み付けサンプル予測プロセスのための技法を提供する。このプロセスへの入力およびこのプロセスからの出力は、重み付けされたサンプル予測プロセスについて上記で説明したものと同じであり得る。predFlagL0およびpredFlagL1の値に応じて、予測サンプルpredSamples[x,y]、ただし、x=0..(nPSW)−1およびy=0..(nPSH)−1、は次のように導出され得る。
・predFlagL0が1に等しく、predFlagL1が0に等しい場合、次のようになる。
・そうではなく、predFlagL0が0に等しく、predFlagL1が1に等しい場合、次のようになる。
・そうでない場合(predFlagL0とpredFlagL1の両方が1に等しい)、RefPicOrderCnt(currPic,refIdxL0,L0)がRefPicOrderCnt(currPic,refIdxL1,L1)に等しく、mvL0がmvL1に等しく、RefPicTypeFunc(RefPicListL0(refIdxL0))とRefPicTypeFunc(RefPicListL1(refIdxL1))の両方が0に等しい場合、次のようになる。
・そうでない場合、次のようになる。
[0101]別の例では、重み付け予測は次のように実行され得る。新しいタイプの暗黙的重み付けが実行され得、それは、修正暗黙的重み付け予測に対応し得る。以下の変更が、ピクチャパラメータセットRBSPセマンティクスにおいて行われ得る。
[0102]0に等しいweighted_bipred_idcは、デフォルト重み付け予測がBスライスに適用されることを指定し得る。1に等しいweighted_bipred_idcは、明示的重み付け予測がBスライスに適用されることを指定し得る。2に等しいweighted_bipred_idcは、暗黙的重み付け予測がBスライスに適用されることになることを指定し得る。3に等しいweighted_bipred_idcは、制約付き暗黙的重み付け予測がBスライスに適用されることを指定し得る。weighted_bipred_idcの値は、両端値を含む0〜3の範囲内にあり得る。
[0103]いくつかの例では、本開示の技法は、たとえば、復号プロセス中に実行される以下の重み付きサンプル予測プロセスを含み得る。重み付けサンプル予測プロセスへの入力は以下を含み得る。
・現在のコーディングユニットの左上サンプルに対する現在の予測ユニットの左上サンプルを指定するロケーション(xB,yB)、
・この予測ユニットの幅および高さ、nPSWおよびnPSH、
・2つの(nPSW)x(nPSH)アレイ、predSamplesL0およびpredSamplesL1、
・予測リスト利用フラグ、predFlagL0およびpredFlagL1、
・参照インデックス、refIdxL0およびrefIdxL1、
・動きベクトル、mvL0およびmvL1、
・クロマ成分のビット深度、bitDepth。
[0104]このプロセスの出力は以下を含み得る。
・予測サンプル値の(nPSW)x(nPSH)アレイ、predSamples。
[0105]変数shift1、shift2、offset1およびoffset2は、次のように導出され得る。
・変数shift1は14−bitDepthに等しくなるように設定され、変数shift2は15−bitDepthに等しくなるように設定される、
・変数offset1は1<<(shift1−1)に等しくなるように設定され、変数offset2は1<<(shift2−1)に等しくなるように設定される。
[0106]Pスライスでは、predFlagL0の値が1に等しい場合、以下が適用され得る。
・weighted_pred_flagが0に等しい場合、現在のHEVCワーキングドラフトの8.5.2.2.3.1項に記載されているデフォルト重み付けサンプル予測プロセスが、この項、たとえば、4.2.2項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
・そうでない場合(weighted_pred_flagが1に等しい)、現在のHEVCワーキングドラフトの8.5.2.2.3.2項に記載されている明示的重み付けサンプル予測プロセスが、この項、たとえば、4.2.2項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
[0107]Bスライスでは、predFlagL0またはpredFlagL1が1に等しい場合、以下が適用され得る。
・weighted_bipred_idcが0に等しい場合、現在のHEVCワーキングドラフトの8.5.2.2.3.1項に記載されているデフォルト重み付けサンプル予測プロセスが、この項、たとえば、4.2.2項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
・そうではなく、weighted_bipred_idcが1に等しい場合、およびpredFlagL0またはpredFlagL1が1に等しい場合、現在のHEVCワーキングドラフトの8.5.2.2.3.2項に記載されている明示的重み付けサンプル予測プロセスが、この項、たとえば、4.2.2項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
・そうではなく、weighted_bipred_idcが2に等しい場合、以下が適用され得る。
○ predFlagL0が1に等しく、predFlagL1が1に等しい場合、現在のHEVCワーキングドラフトの8.5.2.2.3.2項に記載されている暗黙的重み付けサンプル予測プロセスが、この項、たとえば、4.2.2項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
○ そうでない場合(predFlagL0またはpredFlagL1が1に等しいが両方ではない)、現在のHEVCワーキングドラフトの8.5.2.2.3.1項に記載されているデフォルト重み付けサンプル予測プロセスが、この項、たとえば、4.2.2項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
・そうでない場合(weighted_bipred_idcが3に等しい)、以下が適用され得る。
○ predFlagL0が1に等しく、predFlagL1が1に等しく、RefPicTypeFunc(RefPicListL0(refIdxL0))とRefPicTypeFunc(RefPicListL1(refIdxL1))の両方が0に等しい場合、現在のHEVCワーキングドラフトの8.5.2.2.3.2項に記載されている暗黙的重み付けサンプル予測プロセスが、この項、たとえば、4.2.2項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
○ そうでない場合(predFlagL0またはpredFlagL1が1に等しいが両方が1に等しくはない)、現在のHEVCワーキングドラフトの8.5.2.2.3.1項に記載されているデフォルト重み付けサンプル予測プロセスが、この項、たとえば、4.2.2項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
[0108]いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、AMVPについてスケーリングされている空間的に隣接するブロックのスケーリングを使用不可にするというフラグをコーディングするように構成され得る。以下の表1に、このフラグについての例示的なシーケンスパラメータセットRBSPシンタックスを与える。
[0109]概して、表2のシーケンスパラメータセットのセマンティクスは現在のHEVCワーキングドラフトについては同じままである。ただし、表2は、使用不可空間MV POCスケーリングフラグを導入する。この追加についてのセマンティクスの様々な例を以下に与える。
[0110]この例では、0に等しいdisable_spatial_mv_poc_scaling_flagは、ターゲット動きベクトルが異なる参照インデックスまたは異なるPOCをもつピクチャに対応するとき、空間動きベクトルがPOCに基づいてスケーリングされるべきであることを示す。この例では、1に等しいdisable_spatial_mv_poc_scaling_flagは、空間動きベクトルの参照インデックスがターゲット動きベクトルとは異なるときにこの動きベクトルが利用不可能なものと見なされることを示す。ターゲット動きベクトルがAMVPの下で予測されるべき動きベクトルであることに留意されたい。
[0111]代替的に、1に等しいdisable_spatial_mv_poc_scaling_flagは、この動きベクトルの参照インデックスがターゲット動きベクトルの参照インデックスとは異なり、この動きベクトルの参照ピクチャのPOCがターゲット動きベクトルのPOCとは異なるときに空間動きベクトルが利用不可能なものと見なされることを示し得る。
[0112]代替的に、disable_spatial_mv_poc_scaling_flagは、特定のPPS、APS、またはスライスヘッダが適用可能であり得るピクチャに対して同じ機能を示すために、PPS、APS、またはスライスヘッダ中に追加され得る。
[0113]また別の例では、ビデオエンコーダ20およびビデオデコーダ30は、マルチビューまたは3DVコンテキストの下でのSPS中で、時間的動きベクトル予測(TMVP)のためのビュー間動きベクトル(たとえば、視差動きベクトル)の使用を使用不可にするというフラグをコーディングするように構成され得る。以下の表2に、本開示のいくつかの技法による、例示的なシーケンスパラメータセットローバイトシーケンスペイロード(RBSP)を与える。
[0114]概して、表2のシーケンスパラメータセットのセマンティクスは現在のHEVCワーキングドラフトについては同じままである。ただし、表2は、bit_equal_one、disable_inter_view_as_tmvp_flag、sps_extension_flag、および_sps_extension_data_flag2を導入する。これらの追加についての例示的なセマンティクスを以下に与える。
[0115]この例では、1に等しいdisable_inter_view_as_tmvp_flagは、コード化ビデオシーケンス中のすべてのスライスについて、ビュー間(専用)参照ピクチャがTMVPモードのコロケートピクチャとして決して選定されないことを示す。これは、collocated_ref_idxに対する制約(すなわち、collocated_ref_idxはコロケートピクチャが異なるビューからの参照ピクチャに決して対応しない方法で設定され得る)を暗示することに留意されたい。
[0116]この例では、0に等しいdisable_inter_view_as_tmvp_flagは、ビュー間(専用)参照ピクチャがTMVPモードのコロケートピクチャとして選定され得ることを示す。
[0117]いくつかの例では、シーケンスパラメータセットは、現在のHEVCワーキングドラフトの要素のいずれかに追加してまたはその代替として、上記で説明した表1および表2のいずれかのまたは両方の要素を含み得る。
[0118]現在のシンタックスは、MVC/3DV拡張のための拡張ビットの一部としてシグナリングされ得る。代替的に、シンタックス要素は、サブセットシーケンスパラメータセット(SPS)などのマルチビュー/3DVシーケンスについてのシーケンスレベル情報を含み得る他の場所、さらにはビデオパラメータセットなどの潜在的により高レベルのシンタックステーブル中でシグナリングされ得る。代替的に、上記のシンタックス要素(disable_inter_view_as_tmvp_flag)はシグナリングされ得ないが、ビットストリームは、disable_inter_view_as_tmvp_flagが1に等しい場合に常に準拠し得る。これは、collocated_ref_idxをビュー間参照ピクチャに決して対応しない方法で選定することによって実現され得る。
[0119]さらに、ピクチャパラメータセット(PPS)シンタックスは、本開示の技法に従って変更され得る。たとえば、シンタックス要素「weighted_bipred_idc」は、PPS中でシグナリングされ得る。このシンタックス要素についてのセマンティクスは以下の通りであり得る。 0に等しいweighted_bipred_idcは、デフォルト重み付け予測がBスライスに適用されることを指定し得る。1に等しいweighted_bipred_idcは、明示的重み付け予測がBスライスに適用されることを指定し得る。2に等しいweighted_bipred_idcは、暗黙的重み付け予測がBスライスに適用されることになることを指定し得る。3に等しいweighted_bipred_idcは、制約付き暗黙的重み付け予測がBスライスに適用されるように適用されることを指定し得る。weighted_bipred_idcの値は、両端値を含む0〜3の範囲内にあり得る。
[0120]以下の表3に、本開示のいくつかの技法に一致するスライスヘッダのための例示的なシンタックステーブルを与える。
[0121]概して、表3のスライスヘッダのセマンティクスはHEVCについては同じままである。ただし、表3は、poc_scaling_tmvp_disabled_flagと制約暗黙的テーブルとを導入する。これらの追加についてのセマンティクスを以下に与える(ただし、制約暗黙的テーブルの例について以下の表4および表5に関して説明する)。
[0122]1に等しいpoc_scaling_tmvp_disabled_flagは、TMVPから導出された動きベクトルがスケーリングされないことを示し得る。0に等しいこのフラグは、TMVPから導出された動きベクトルがTMVPの現在の設計の場合のようにスケーリングされ得ることを示し得る。
[0123]上記のように、スライスヘッダは、たとえば、以下の表4または表5に従って、制約暗黙的テーブルを含み得る。
[0124]表5に、制約暗黙的テーブルの代替例を与える。
[0125]表4および表5におけるシンタックス要素のセマンティクスを以下に与える。
[0126]1に等しいimplicit_disabled_pic_flag[i]は、暗黙的重み付け予測において、合成参照ピクチャリスト中の参照インデックスiに対応する参照ピクチャが使用される場合、暗黙的重み付け予測中のこの参照ピクチャと他の参照ピクチャとのための重みがどちらも0.5に設定されることを示し、重み付き予測が行われないことを意味し得る。
[0127]1に等しいimplicit_disabled_pic_l0_flag[i]は、暗黙的重み付け予測において、RefPicList0中の参照インデックスiに対応する参照ピクチャが使用される場合、暗黙的重み付け予測中のこの参照ピクチャと他の参照ピクチャとのための重みがどちらも0.5に設定されることを示し、重み付き予測が行われないことを意味し得る。
[0128]1に等しいimplicit_disabled_pic_l1_flag[i]は、暗黙的重み付け予測において、RefPicList1中の参照インデックスiに対応する参照ピクチャが使用される場合、重み付け予測中のこの参照ピクチャと他の参照ピクチャピクチャとのための重みがどちらも0.5に設定されることを示し、重み付き予測が行われないことを意味し得る。
[0129]代替的に、暗黙的重み付け予測から制約されることになるピクチャの参照インデックス値が直接シグナリングされ得る。
[0130]代替的に、RPSシグナリングの一部として、暗黙的重み付け予測から制約されることになるピクチャが直接シグナリングされ得る。
[0131]代替的に、MVCまたは3DVコーデックにおいて、ビュー間(専用)参照ピクチャを含んでいるRPSサブセットは、常に、制約付き暗黙的重み付け予測ピクチャとして設定され得る。
[0132]制約付き暗黙的重み付け予測ピクチャは、暗黙的予測のために使用されるとき、このピクチャと双予測ペアの他のピクチャとの重みがどちらも0.5であるようなピクチャである。
[0133]代替的に、ビデオエンコーダ20およびビデオデコーダ30は、PPSまたはSPS、または各RPSサブセットのためのスライスヘッダ中で、RPSサブセット中のすべてのピクチャが制約付き暗黙的重み付け予測ピクチャであるかどうかを示すフラグをコーディングし得る。
[0134]別の例として、ビデオエンコーダ20およびビデオデコーダ30は、SPS中でrefPicTypeをコーディングするように構成され得る。表6に、そのようなSPSについてのシンタックスの例示的なセットを与える。
[0135]概して、表6のシーケンスパラメータセットのセマンティクスは現在のHEVCワーキングドラフトについては同じままである。ただし、表6は、numAdditionalRPSSubSetsとfor()ループ内のref_type_flag[i]とを導入する。これらの追加についての例示的なセマンティクスを以下に与える。
[0136]この例では、numAdditionalRPSSubSetsは、短期参照ピクチャのRPSサブセットおよび長期参照ピクチャのRPSサブセットのほかに追加のRPSサブセットを指定する。
[0137]この例では、ref_type_flag[i]は、追加のRPSサブセットiの任意のピクチャのためのフラグを指定する。短期参照ピクチャを含んでいるRPSサブセットおよび長期参照ピクチャを含んでいるRPSサブセットの場合、このフラグが0に等しくなると推論され得る。
[0138]RefTypeIdcは、RPSサブセットのためのref_type_flagに設定され得る。
[0139]代替的に、ビデオエンコーダ20およびビデオデコーダ30は、このフラグをコーディングする必要はなく、ビュー間RPSサブセットの場合、このフラグのために1の値を推論し得る。
[0140]代替的に、動きベクトルの参照ピクチャが現在のピクチャと同じPOCを有する場合、ビデオエンコーダ20およびビデオデコーダ30は、参照ピクチャのRefTypeIdcの値が1であると導出し、そうでない場合、0であると導出し得る。
[0141]他の例は、上記の第1の例(または他の例)と同様であり得、ただし、以下の追加がある。以下の例では、RefPicTypeFuncMV(mv)は、動きベクトルmvの参照インデックスが時間的参照ピクチャを指す場合は0を戻し、かつ動きベクトルmvの参照インデックスが異なるビュー/レイヤ中のピクチャを指す場合は1を戻す。代替的に、RefPicTypeFunc(pic)は、picが短期参照ピクチャである場合は0を戻し、かつpicが長期ピクチャである場合は1を戻す。RefPicTypeFuncMV(mv)は、動きベクトルmvの参照インデックスが短期参照ピクチャを指す場合は0を戻し、かつ動きベクトルmvの参照インデックスが長期参照ピクチャを指す場合は1を戻す。さらに、以下のプロセスがAMVPについて変更される。
[0142]ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
− 現在のピクチャの左上サンプルに対する現在の予測ユニットの左上サンプルを指定するルーマロケーション(xP,yP)、
− ルーマの予測ユニットの幅および高さを指定する変数、nPSWおよびnPSH、
− 現在の予測ユニットパーティションの参照インデックスrefIdxLX(ここで、Xは0または1である)。
このプロセスの出力は以下の通りである。
− 動きベクトルmvLXの予測mvpLX(ここで、Xは0または1である)。
動きベクトル予測子mvpLXは、以下の順序付きステップで導出される。
1.8.5.2.1.6項の隣接予測ユニットパーティションからの動きベクトル予測子候補のための導出プロセスは、入力としてルーマロケーション(xP,yP)と、予測ユニットの幅および高さnPSWおよびnPSHと、refIdxLX(ただし、Xはそれぞれ0または1である)とを用い、ならびに出力として利用可能性フラグavailableFlagLXNと動きベクトルmvLXN、ただしNがA、Bによって置き換えられる、とを用いて呼び出される。
2.RefPicTypeFuncMV(mvLXA)がRefPicTypeFuncMV(mvpLX))に等しくない場合、availableFlagLXAは0に等しくなるように設定され、RefPicTypeFuncMV(mvLXB)がRefPicTypeFuncMV(mvpLX))に等しくない場合、availableFlagLXBは0に等しくなるように設定される。
3.availableFlagLXAとavailableFlagLXBの両方が1に等しく、mvLXAがmvLXBに等しくない場合、availableFlagLXColが0に等しくなるように設定され、そうでない場合、5項の時間的ルーマ動きベクトル予測のための導出プロセスが、入力としてルーマロケーション(xP,yP)と、予測ユニットの幅および高さnPSWおよびnPSHと、refIdxLX(ただし、Xはそれぞれ0または1である)とを用い、ならびに利用可能性フラグavailableFlagLXColと時間的動きベクトル予測子mvLXColとである出力を用いて呼び出される。
4.動きベクトル予測子候補リスト、mvpListLXは、次のように構成される。
1.availableFlagLXAが1に等しい場合、mvLXA
2.availableFlagLXBが1に等しい場合、mvLXB
3.availableFlagLXColが1に等しい場合、mvLXCol
5.mvLXAとmvLXBとが同じ値を有するとき、mvLXBがリストから除去される。変数numMVPCandLXはmvpListLX内の要素の数に設定され、maxNumMVPCandは2に設定される。
6.動きベクトル予測子リストは、次のように変更される。
− numMVPCandLXが2よりも小さい場合、以下が適用される。
− そうでない場合(numMVPCandLXが2以上である)、idxが1よりも大きいすべての動きベクトル予測子候補mvpListLX[idx]がリストから除去される。
7.mvpListLX[mvp_lX_flag[xP、yP]]の動きベクトルがmvpLXに割り当てられる。
[0143]さらに、以下の変更がTMVPについて適用され得る。TMVP中に各参照ピクチャのPOC値を確認するとき、あらゆるピクチャを確認する代わりに、0に等しいRefPicTypeFunc()をもつピクチャのみが確認されるように変更される。1つの代替においてRefPicTypeFunc()が短期参照ピクチャのための0を戻すとき、これは、短期参照ピクチャのみが確認されたことを意味する。
[0144]ビデオエンコーダ20およびビデオデコーダ30によって実装され得る1つの詳細な実装形態は以下の通りである。
[0145]時間的ルーマ動きベクトル予測のための導出プロセス
このプロセスへの入力は以下の通りである。
− 現在のピクチャの左上サンプルに対する現在の予測ユニットの左上サンプルを指定するルーマロケーション(xP,yP)、
− ルーマの予測ユニットの幅および高さを指定する変数、nPSWおよびnPSH、
− 現在の予測ユニットパーティションの参照インデックスrefIdxLX(ここで、Xは0または1である)。
このプロセスの出力は以下の通りである。
− 動きベクトル予測mvLXCol、
− 利用可能性フラグavailableFlagLXCol。
関数RefPicOrderCnt(picX,refIdx,LX)は、ピクチャpicXの参照ピクチャリストLXからのインデックスrefIdxをもつ参照ピクチャのピクチャ順序カウントPicOrderCntValを戻し、次のように指定される。
slice_type、collocated_from_l0_flagおよびcollocated_ref_idxの値に応じて、コロケートパーティションを含んでいるピクチャを指定する変数colPicは次のように導出される。
− slice_typeがBに等しく、collocated_from_l0_flagが0に等しい場合、変数colPicは、RefPicList1[collocated_ref_idx]によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
− そうでない場合(slice_typeがBに等しく、collocated_from_l0_flagが1に等しいか、またはslice_typeがPに等しい)、変数colPicは、RefPicList0[collocated_ref_idx]によって指定されるコロケートパーティションを含んでいるピクチャを指定する。
変数colPuとそれの位置(xPCol,yPCol)とは、以下の順序付きステップで導出される
1.変数colPuは次のように導出される。
− (yP>>Log2CtbSize)が(yPRb>>Log2CtbSize)に等しい場合、現在の予測ユニットの右下ルーマ位置の水平成分は次のように定義される。
変数colPuは、colPic内の((xPRb>>4)<<4,(yPRb>>4)<<4)によって与えられる変更された位置をカバーする予測ユニットとして設定される。
− そうでない場合((yP>>Log2CtbSize)が(yPRb>>Log2CtbSize)に等しくない)、colPuは「利用不可能である」とマークされる。
2.colPuがイントラ予測モードでコーディングされるか、またはcolPuが「利用不可能である」とマークされるとき、以下が適用される。
−現在の予測ユニットの中心ルーマ位置は次のように定義される。
− 変数colPuは、colPic内の((xPCtr>>4)<<4,(yPCtr>>4)<<4)によって与えられる変更された位置をカバーする予測ユニットとして設定される。
3.(xPCol,yPCol)は、colPicの左上ルーマサンプルに対するcolPuの左上ルーマサンプルに等しくなるように設定される。
関数LongTermRefPic(picX,refIdx,LX)は次のように定義される。picXが現在のピクチャであるとき、ピクチャpicXの参照ピクチャリストLXからのインデックスrefIdxをもつ参照ピクチャが「長期参照のために使用される」とマークされる場合、LongTermRefPic(picX,refIdx,LX)は1を戻し、それ以外の場合、LongTermRefPic(picX,refIdx,LX)は0を戻す。
変数mvLXColおよびavailableFlagLXColは次のように導出される。
− 以下の条件のうちの1つが真である場合、mvLXColの両方の成分は0に等しくなるように設定され、availableFlagLXColは0に等しくなるように設定される。
− colPuがイントラ予測モードでコーディングされる。
− colPuが「利用不可能である」とマークされている。
− pic_temporal_mvp_enable_flagが0に等しい。
− そうでない場合、動きベクトルmvCol、参照インデックスrefIdxCol、および参照リスト識別子listColは次のように導出される。
− PredFlagL0[xPCol][yPCol]が0に等しい場合、mvCol、refIdxCol、およびlistColは、それぞれ、MvL1[xPCol][yPCol]、RefIdxL1[xPCol][yPCol]、およびL1に等しくなるように設定される。
− そうでない場合(PredFlagL0[xPCol][yPCol]が1に等しい)、以下が適用される。
− PredFlagL1[xPCol][yPCol]が0に等しい場合、mvCol、refIdxCol、およびlistColは、それぞれ、MvL0[xPCol][yPCol]、RefIdxL0[xPCol][yPCol]、およびL0に等しくなるように設定される。
− そうでない場合(PredFlagL1[xPCol][yPCol]が1に等しい)、以下の割当てが行われる。
− あらゆる参照ピクチャリスト中の0に等しいRefPicTypeFunc(pic)をもつあらゆるピクチャpicの(または1つの代替において「あらゆる短期ピクチャpicの」)PicOrderCnt(pic)がPicOrderCntVal以下である場合、mvCol、refIdxCol、およびlistColは、それぞれ、MvLX[xPCol][yPCol]、RefIdxLX[xPCol][yPCol]、およびLXに等しくなるように設定され、ただし、Xは、このプロセスが呼び出されるXの値である。
− そうでない場合(少なくとも1つの参照ピクチャリスト中の少なくとも1つのピクチャpicのPicOrderCnt(pic)がPicOrderCntValよりも大きい)、mvCol、refIdxColおよびlistColは、それぞれ、MvLN[xPCol][yPCol]、RefIdxLN[xPCol][yPCol]およびLNに等しくなるように設定され、ただし、Nは、collocated_from_l0_flagの値である。
...
[0146]CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、TUは、変換、たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数を生成し得る。
[0147]変換係数を生成するための任意の変換の後に、ビデオエンコーダ20は、変換係数の量子化を実行し得る。量子化は、概して、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、ただし、nはmよりも大きい。
[0148]量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む2次元行列から1次元ベクトルを生成し得る。走査は、より高いエネルギー(したがってより低い周波数)の係数をアレイの前方に配置し、より低いエネルギー(したがってより高い周波数)の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は適応型走査を実行し得る。量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0149]CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルに、コンテキストモデル内のコンテキストを割り当て得る。コンテキストは、たとえば、シンボルの隣接値が非0であるか否かに関係し得る。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択し得る。VLCにおけるコードワードは、比較的短いコードが優勢シンボルに対応し、より長いコードが劣勢シンボルに対応するように構成され得る。このようにして、VLCの使用は、たとえば、送信されるべき各シンボルのために等長コードワードを使用するよりも、ビット節約を達成し得る。確率判断は、シンボルに割り当てられたコンテキストに基づき得る。
[0150]ビデオエンコーダ20は、さらに、ブロックベースのシンタックスデータ、フレームベースのシンタックスデータ、およびGOPベースのシンタックスデータなどのシンタックスデータを、たとえば、フレームヘッダ、ブロックヘッダ、スライスヘッダ、またはGOPヘッダ中でビデオデコーダ30に送り得る。GOPシンタックスデータは、それぞれのGOP中のいくつかのフレームを記述し得、かつフレームシンタックスデータは、対応するフレームを符号化するために使用される符号化/予測モードを示し得る。
[0151]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、適用可能なとき、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理回路、ソフトウェア、ハードウェア、ファームウェアまたはそれらの任意の組合せなど、様々な好適なエンコーダまたはデコーダ回路のいずれかとして実装され得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも複合ビデオエンコーダ/デコーダ(コーデック)の一部として統合され得る。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備え得る。
[0152]このようにして、ビデオエンコーダ20およびビデオデコーダ30は、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、第1のタイプが第2のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを符号化することとを行うように構成されたビデオコーダ(たとえば、ビデオエンコーダまたはビデオデコーダ)の例を表す。さらに、第1のタイプが視差動きベクトルを備え、第2のタイプが視差動きベクトルを備え、候補動きベクトル予測子が現在の動きベクトルを予測するために使用されるとき、ビデオコーダは、候補動きベクトル予測子をスケーリングすることなしに現在の動きベクトルをコーディングするように構成され得る。
[0153]図2は、動きベクトルをコーディングするための、およびHEVCと、マルチビューまたは3DV拡張などのHEVCの拡張とにおいて双予測を実行するための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロックのイントラコーディングおよびインターコーディングを実行し得る。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオの空間的冗長性を低減または除去するために空間的予測に依拠する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオの時間的冗長性を低減または除去するために時間的予測に依拠する。イントラモード(Iモード(登録商標))は、いくつかの空間ベースのコーディングモードのいずれかを指し得る。単方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースのコーディングモードのいずれかを指し得る。
[0154]図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、モード選択ユニット40と、参照ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピーエンコーディングユニット56とを含む。モード選択ユニット40は、今度は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、パーティションユニット48とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。再構成されたビデオからブロッキネスアーティファクトを除去するためにブロック境界をフィルタ処理するデブロッキングフィルタ(図2に図示せず)も含まれ得る。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理することになる。また、デブロッキングフィルタに加えて追加のフィルタ(ループ内またはループ後)が使用され得る。そのようなフィルタは、簡潔のために示されていないが、所望される場合、(ループ内フィルタとして)加算器50の出力をフィルタ処理し得る。
[0155]符号化プロセス中に、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは複数のビデオブロックに分割され得る。動き推定ユニット42および動き補償ユニット44は、時間的予測を行うために、1つまたは複数の参照フレーム中の1つまたは複数のブロックに対して、受信されたビデオブロックのインター予測コーディングを実行する。イントラ予測ユニット46は、代替的に、空間的予測を行うために、コーディングされるべきブロックと同じフレームまたはスライス中の1つまたは複数の隣接ブロックに対して受信されたビデオブロックのイントラ予測コーディングを実行し得る。ビデオエンコーダ20は、たとえば、ビデオデータのブロックごとに適切なコーディングモードを選択するために、複数のコーディングパスを実行し得る。
[0156]その上、パーティションユニット48は、前のコーディングパスにおける前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分し得る。たとえば、パーティションユニット48は、初めにフレームまたはスライスをLCUに区分し、レートひずみ分析(たとえば、レートひずみ最適化)に基づいてLCUの各々をサブCUに区分し得る。モード選択ユニット40は、LCUをサブCUに区分することを示す4分木データ構造をさらに生成し得る。4分木のリーフノードCUは、1つまたは複数のPUおよび1つまたは複数のTUを含み得る。
[0157]モード選択ユニット40は、たとえば、誤差結果に基づいて、コーディングモード、すなわち、イントラまたはインターのうちの1つを選択することができ、残差ブロックデータを生成するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器50に与え、かつ参照フレームとして使用するための符号化されたブロックを復元するために、得られたイントラコーディングされたブロックまたはインターコーディングされたブロックを加算器62に与える。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、パーティション情報、および他のそのようなシンタックス情報などのシンタックス要素をエントロピー符号化ユニット56に与える。
[0158]動き推定ユニット42および動き補償ユニット44は、高度に統合され得るが、概念的な目的のために別々に示してある。動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在のフレーム(または他のコード化ユニット)内でコーディングされている現在のブロックに対する参照フレーム(または他のコード化ユニット)内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって判断され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64に記憶された参照ピクチャのサブ整数ピクセル位置の値を計算し得る。たとえば、ビデオエンコーダ20は、参照ピクチャの1/4ピクセル位置、1/8ピクセル位置、または他の分数ピクセル位置の値を補間し得る。したがって、動き推定ユニット42は、フルピクセル位置と分数ピクセル位置とに対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力し得る。
[0159]動き推定ユニット42は、PUの位置を参照ピクチャの予測ブロックの位置と比較することによって、インターコード化スライスにおけるビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択され得、それらの参照ピクチャリストの各々は、参照ピクチャメモリ64に記憶された1つまたは複数の参照ピクチャを識別する。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0160]動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって判断された動きベクトルに基づいて予測ブロックをフェッチまたは生成することに関与し得る。この場合も、いくつかの例では、動き推定ユニット42および動き補償ユニット44は機能的に統合され得る。現在のビデオブロックのPUについての動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。加算器50は、以下で説明するように、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。概して、動き推定ユニット42はルーマ成分に対して動き推定を実行し、かつ動き補償ユニット44は、クロマ成分とルーマ成分の両方のためにルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するためのビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0161]本開示の技法によれば、モード選択ユニット40が、動き推定ユニット42と動き補償ユニット44とを使用してビデオデータのブロック(たとえば、PU)をインター予測することを選択するとき、ビデオエンコーダ20は、たとえば、AMVPまたはマージモードを使用して動きベクトルをさらに符号化し得る。たとえば、エントロピー符号化ユニット56は、モード選択ユニット40から動きベクトルを受信し、動きベクトルを符号化し得る。エントロピー符号化ユニット56は、動きベクトル予測子を取り出すべき隣接ブロックを選択し、動きベクトルと動きベクトル予測子との間の差分(たとえば、水平動きベクトル差分および垂直動きベクトル差分)を計算することによって、AMVPを使用して動きベクトルをエントロピー符号化し、次いで、(1つまたは複数の)差を表す1つまたは複数のシンタックス要素をエントロピー符号化し得る。
[0162]本開示の技法によれば、エントロピー符号化ユニット56は、候補動きベクトル予測子が現在の動きベクトルとは異なるタイプを有するとき、現在の動きベクトルを予測するためにAMVP(またはマージモード)において使用するために利用不可能なものとして候補動きベクトル予測子を設定し得る。このようにして候補動きベクトル予測子を利用不可能なものとして設定することは、候補動きベクトルが他の基準に基づいて利用可能であると異なるプロセスが判断した後でも実行され得る。たとえば、候補動きベクトル予測子が視差動きベクトルであり、現在の動きベクトルが時間的動きベクトルである場合、エントロピー符号化ユニット56は、現在の動きベクトルのための予測子として使用するために利用不可能なものとして候補動きベクトル予測子を設定し得る。同様に、候補動きベクトル予測子が時間的動きベクトルであり、現在の動きベクトルが視差動きベクトルである場合、エントロピー符号化ユニット56は、現在の動きベクトルのための予測子として使用するために利用不可能なものとして候補動きベクトル予測子を設定し得る。
[0163]エントロピー符号化ユニット56は、符号化されている動きベクトルと動きベクトル予測子とが同じタイプの動きベクトルであるのか、または異なるタイプの動きベクトルであるのかを判断するために1つまたは複数の様々な技法を使用し得る。いくつかの例では、エントロピー符号化ユニット56は、符号化されている動きベクトルと候補動きベクトル予測子とが、符号化されている現在のピクチャとは異なるPOC値を有する参照ピクチャを参照するかどうかを判断し得る。動きベクトルまたは候補動きベクトル予測子のうちの1つが、符号化されている現在のピクチャとは異なるPOC値を有する参照ピクチャを参照し、もう一方が、符号化されている現在のピクチャと同じであるPOC値を有する参照ピクチャを参照する場合、エントロピー符号化ユニット56は、動きベクトルと候補動きベクトル予測子とが異なるタイプの動きベクトルであると判断し得る。特に、符号化されている現在のピクチャと同じであるPOC値を有する参照ピクチャを参照する動きベクトルは、視差動きベクトルと見なされ得、一方、現在のピクチャとは異なるPOC値を有する参照ピクチャを参照する動きベクトルは時間的動きベクトルと見なされ得る。
[0164]別の例として、エントロピー符号化ユニット56は、現在の動きベクトルが、符号化されている現在のピクチャを含む現在のレイヤ中の参照ピクチャを参照するのか、または異なるレイヤ中の参照ピクチャを参照するのかを判断し得る。同様に、エントロピー符号化ユニット56は、候補動きベクトル予測子が、現在のレイヤ中の参照ピクチャを参照するのか、または異なるレイヤ中の参照ピクチャを参照するのかを判断し得る。現在の動きベクトルと候補動きベクトル予測子の両方が、現在のレイヤ中の参照ピクチャまたは異なるレイヤ中の参照ピクチャを参照する場合、エントロピー符号化ユニット56は、現在の動きベクトルと候補動きベクトル予測子とが同じタイプの動きベクトルであると判断し得る。特に、現在の動きベクトルと候補動きベクトル予測子とが1つまたは複数の異なるレイヤ中の参照ピクチャを参照する場合、現在の動きベクトルと候補動きベクトル予測子とは視差動きベクトルを備え得る。現在の動きベクトルと候補動きベクトル予測子とが現在のレイヤ中の参照ピクチャを参照する場合、現在の動きベクトルと候補動きベクトル予測子とは時間的動きベクトルを備え得る。現在の動きベクトルと候補動きベクトル予測子とのうちの1つが、現在のレイヤ中の参照ピクチャを参照し、もう一方が、異なるレイヤ中の参照ピクチャを参照する場合、エントロピー符号化ユニット56は、現在の動きベクトルと候補動きベクトル予測子とが異なるタイプの動きベクトルであると判断し得る。
[0165]また別の例として、エントロピー符号化ユニット56は、現在の動きベクトルが長期参照ピクチャを参照するのかまたは短期参照ピクチャを参照するのかを判断し、同様に、候補動きベクトル予測子が長期参照ピクチャを参照するのかまたは短期参照ピクチャを参照するのかを判断し得る。現在の動きベクトルと候補動きベクトル予測子の両方が同じタイプの参照ピクチャを参照する場合(すなわち、両方が長期参照ピクチャを参照するか、または両方が短期参照ピクチャを参照する)、エントロピー符号化ユニット56は、現在の動きベクトルと候補動きベクトル予測子とが同じタイプの動きベクトルであると判断し得る。一方、現在の動きベクトルと候補動きベクトル予測子とのうちの1つが、長期参照ピクチャを参照し、もう一方が、短期参照ピクチャを参照する場合、エントロピー符号化ユニット56は、現在の動きベクトルと候補動きベクトル予測子とが異なるタイプの動きベクトルであると判断し得る。長期参照ピクチャを参照する動きベクトルは時間的動きベクトルを備え得、一方、短期参照ピクチャを参照する動きベクトルは視差動きベクトルを備え得る。
[0166]上記で説明したように、エントロピー符号化ユニット56は、現在の動きベクトルとは異なるタイプの候補動きベクトルが現在の動きベクトルのための動きベクトル予測子として使用するために利用不可能であると判断し得る。したがって、エントロピー符号化ユニット56は、現在の動きベクトルのための候補動きベクトル予測子のリストからそのような候補動きベクトル予測子を除去するか、または候補動きベクトル予測子のリストにそのような候補動きベクトル予測子を追加することを省略し得る。特に、エントロピー符号化ユニット56は、候補動きベクトル予測子が現在の動きベクトルのための動きベクトル予測子として使用するために利用可能であるかどうかを示すために候補動きベクトル予測子に関連する変数の値を設定し得る。さらに、エントロピー符号化ユニット56は、たとえば、候補動きベクトル予測子に関連する変数が、候補動きベクトル予測子が現在の動きベクトルのための動きベクトル予測子として使用するために利用可能であることを示す値を有する現在の動きベクトルを符号化するために現在の動きベクトルと同じタイプである候補動きベクトル予測子を選択するように構成され得る。エントロピー符号化ユニット56は、高度動きベクトル予測子(AMVP)またはマージモードなどの様々な動きベクトル符号化モードを使用して現在の動きベクトルを符号化し得る。
[0167]概して、エントロピー符号化ユニット56は、動きベクトル予測子が(たとえば、参照ピクチャのPOC値が異なるときに)現在の動きベクトルによって参照される参照ピクチャとは異なる参照ピクチャを参照するとき、現在の動きベクトルを予測するために使用される動きベクトル予測子をスケーリングし得る。より詳細には、エントロピー符号化ユニット56は、参照ピクチャのPOC値間の差分に基づいて時間的動きベクトル予測子をスケーリングし得る。しかしながら、やはり視差動きベクトルである動きベクトル予測子を使用して視差動きベクトルである動きベクトルを予測するとき、エントロピー符号化ユニット56は、動きベクトル予測子のスケーリングを使用不可にし得る。
[0168]エントロピー符号化ユニット56は、動きベクトルと動きベクトル予測子、たとえば、コーディングされている動きベクトルと同じタイプの動きベクトル予測子との間の動きベクトル差分値を計算することによって動きベクトルを符号化し得る。概して、動きベクトルは、水平成分(またはx成分)および垂直成分(またはy成分)によって定義され得る。エントロピー符号化ユニット56は、符号化されている動きベクトルのx成分と動きベクトル予測子のx成分との間の差分としてMVDx(動きベクトル差分のx成分)を計算し得る。同様に、エントロピー符号化ユニット56は、符号化されている動きベクトルのy成分と動きベクトル予測子のy成分との間の差分としてMVDy(動きベクトル差分のy成分)を計算し得る。動きベクトルが時間的動きベクトルである場合、エントロピー符号化ユニット56は、(符号化されている動きベクトルと動きベクトル予測子とによって参照される参照ピクチャ間のPOC差分に基づいて)動きベクトル予測子のスケーリングされたバージョンに対する動きベクトル差分値(MVDxおよびMVDy)を計算し得る。エントロピー符号化ユニット56は、次いで、たとえば、CABACを使用してMVDxおよびMVDyをエントロピー符号化し得る。
[0169]イントラ予測ユニット46は、上記で説明したように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在のブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在のブロックを符号化するために使用すべきイントラ予測モードを判断し得る。いくつかの例では、イントラ予測ユニット46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在のブロックを符号化し得、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
[0170]たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を判断する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを判断するために、様々な符号化ブロックのひずみおよびレートから比率を計算し得る。
[0171]ブロックのためのイントラ予測モードを選択した後に、イントラ予測ユニット46は、ブロックのための選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
[0172]ビデオエンコーダ20は、コーディングされている元のビデオブロックから、モード選択ユニット40からの予測データを減算することによって残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、DCTと概念的に同様である他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。
[0173]いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送り得る。量子化ユニット54は、ビットレートをさらに低減するために変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行し得る。代替的に、エントロピー符号化ユニット56が走査を実行し得る。
[0174]量子化の後、エントロピー符号化ユニット56は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔区分エントロピー(PIPE)コーディングまたは別のエントロピーコーディング技法を実行し得る。コンテキストベースのエントロピーコーディングの場合、コンテキストは、隣接するブロックに基づき得る。エントロピーコーディングユニット56によるエントロピーコーディングの後、符号化されたビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信されるか、または後で送信するかまたは取り出すためにアーカイブされ得る。
[0175]逆量子化ユニット58および逆変換ユニット60は、それぞれ逆量子化および逆変換を適用して、たとえば参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照ピクチャメモリ64のフレームのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオフレーム中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
[0176]このようにして、図2のビデオエンコーダ20は、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、第1のタイプが第2のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを符号化することとを行うように構成されたビデオエンコーダの一例を表す。さらに、第1のタイプが視差動きベクトルを備え、第2のタイプが視差動きベクトルを備え、候補動きベクトル予測子が現在の動きベクトルを予測するために使用されるとき、ビデオエンコーダは、候補動きベクトル予測子をスケーリングすることなしに現在の動きベクトルをコーディングするように構成され得る。
[0177]図3は、動きベクトルをコーディングするための、およびHEVCと、マルチビューまたは3DV拡張などのHEVCの拡張とにおいて双予測を実行するための技法を実装し得るビデオデコーダ30の一例を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照ピクチャメモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図2)に関して説明した符号化パスとは概して逆の復号パスを実行し得る。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成し得、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成し得る。
[0178]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化係数、動きベクトルまたはイントラ予測モードインジケータ、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動きベクトルと他の予測シンタックス要素とを動き補償ユニット72に転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0179]ビデオスライスがイントラコード化(I)スライスとしてコーディングされるとき、イントラ予測ユニット74は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(すなわち、B、PまたはGPB)スライスとしてコーディングされるとき、動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルと他のシンタックス要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ82に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0およびリスト1を構成し得る。
[0180]動き補償ユニット72は、動きベクトルと他のシンタックス要素とをパースすることによって現在のビデオスライスのビデオブロックのための予測情報を判断し、その予測情報を使用して、復号されている現在のビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスの参照ピクチャリストのうちの1つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測ステータスと、現在のビデオスライス中のビデオブロックを復号するための他の情報とを判断するために、受信されたシンタックス要素のいくつかを使用する。
[0181]エントロピー復号ユニット70は、Pコード化ブロックおよびBコード化ブロックのための動きベクトルをエントロピー復号し得る。たとえば、エントロピー復号ユニット70は、AMVPまたはマージモードを使用して動きベクトルを復号し得る。特に、本開示の技法によれば、エントロピー復号ユニット70は、現在の動きベクトルを復号するために復号されている現在の動きベクトルとは異なるタイプを有する候補動きベクトル予測子を使用することを回避し得る。たとえば、現在の動きベクトルが視差動きベクトルを備えるとき、エントロピー復号ユニット70は、やはり視差動きベクトルである動きベクトル予測子を使用して現在の動きベクトルを復号し得る。同様に、エントロピー復号ユニット70は、視差動きベクトルを備える動きベクトル予測子を使用して現在の動きベクトルを復号するときスケーリングを使用不可にし得る。別の例として、現在の動きベクトルが時間的動きベクトルを備えるとき、エントロピー復号ユニット70は、やはり時間的動きベクトルである動きベクトル予測子を使用して現在の動きベクトルを復号し得る。
[0182]本開示の技法によれば、エントロピー復号ユニット70は、候補動きベクトル予測子が現在の動きベクトルとは異なるタイプを有するとき、現在の動きベクトルを予測するためにAMVP(またはマージモード)において使用するために利用不可能なものとして候補動きベクトル予測子を設定し得る。たとえば、候補動きベクトル予測子が視差動きベクトルであり、現在の動きベクトルが時間的動きベクトルである場合、エントロピー復号ユニット70は、現在の動きベクトルのための予測子として使用するために利用不可能なものとして候補動きベクトル予測子を設定し得る。同様に、候補動きベクトル予測子が時間的動きベクトルであり、現在の動きベクトルが視差動きベクトルである場合、エントロピー復号ユニット70は、現在の動きベクトルのための予測子として使用するために利用不可能なものとして候補動きベクトル予測子を設定し得る。
[0183]エントロピー復号ユニット70は、復号されている動きベクトルと動きベクトル予測子とが同じタイプの動きベクトルであるのか、または異なるタイプの動きベクトルであるのかを判断するために1つまたは複数の様々な技法を使用し得る。いくつかの例では、エントロピー復号ユニット70は、復号されている動きベクトルと候補動きベクトル予測子とが、復号されている現在のピクチャとは異なるPOC値を有する参照ピクチャを参照するかどうかを判断し得る。動きベクトルまたは候補動きベクトル予測子のうちの1つが、復号されている現在のピクチャとは異なるPOC値を有する参照ピクチャを参照し、もう一方が、復号されている現在のピクチャと同じであるPOC値を有する参照ピクチャを参照する場合、エントロピー復号ユニット70は、動きベクトルと候補動きベクトル予測子とが異なるタイプの動きベクトルであると判断し得る。特に、復号されている現在のピクチャと同じであるPOC値を有する参照ピクチャを参照する動きベクトルは、視差動きベクトルと見なされ得、一方、現在のピクチャとは異なるPOC値を有する参照ピクチャを参照する動きベクトルは時間的動きベクトルと見なされ得る。
[0184]別の例として、エントロピー復号ユニット70は、現在の動きベクトルが、復号されている現在のピクチャを含む現在のレイヤ中の参照ピクチャを参照するのか、または異なるレイヤ中の参照ピクチャを参照するのかを判断し得る。同様に、エントロピー復号ユニット70は、候補動きベクトル予測子が、現在のレイヤ中の参照ピクチャを参照するのか、または異なるレイヤ中の参照ピクチャを参照するのかを判断し得る。現在の動きベクトルと候補動きベクトル予測子の両方が、現在のレイヤ中の参照ピクチャまたは異なるレイヤ中の参照ピクチャを参照する場合、エントロピー復号ユニット70は、現在の動きベクトルと候補動きベクトル予測子とが同じタイプの動きベクトルであると判断し得る。特に、現在の動きベクトルと候補動きベクトル予測子とが1つまたは複数の異なるレイヤ中の参照ピクチャを参照する場合、現在の動きベクトルと候補動きベクトル予測子とは視差動きベクトルを備え得る。現在の動きベクトルと候補動きベクトル予測子とが現在のレイヤ中の参照ピクチャを参照する場合、現在の動きベクトルと候補動きベクトル予測子とは時間的動きベクトルを備え得る。現在の動きベクトルと候補動きベクトル予測子とのうちの1つが、現在のレイヤ中の参照ピクチャを参照し、もう一方が、異なるレイヤ中の参照ピクチャを参照する場合、エントロピー復号ユニット70は、現在の動きベクトルと候補動きベクトル予測子とが異なるタイプの動きベクトルであると判断し得る。
[0185]また別の例として、エントロピー復号ユニット70は、現在の動きベクトルが長期参照ピクチャを参照するのかまたは短期参照ピクチャを参照するのかを判断し、同様に、候補動きベクトル予測子が長期参照ピクチャを参照するのかまたは短期参照ピクチャを参照するのかを判断し得る。現在の動きベクトルと候補動きベクトル予測子の両方が同じタイプの参照ピクチャを参照する場合(すなわち、両方が長期参照ピクチャを参照するか、または両方が短期参照ピクチャを参照する)、エントロピー復号ユニット70は、現在の動きベクトルと候補動きベクトル予測子とが同じタイプの動きベクトルであると判断し得る。一方、現在の動きベクトルと候補動きベクトル予測子とのうちの1つが、長期参照ピクチャを参照し、もう一方が、短期参照ピクチャを参照する場合、エントロピー復号ユニット70は、現在の動きベクトルと候補動きベクトル予測子とが異なるタイプの動きベクトルであると判断し得る。長期参照ピクチャを参照する動きベクトルは時間的動きベクトルを備え得、一方、短期参照ピクチャを参照する動きベクトルは視差動きベクトルを備え得る。
[0186]上記で説明したように、エントロピー復号ユニット70は、現在の動きベクトルとは異なるタイプの候補動きベクトルが現在の動きベクトルのための動きベクトル予測子として使用するために利用不可能であると判断し得る。したがって、エントロピー復号ユニット70は、現在の動きベクトルのための候補動きベクトル予測子のリストからそのような候補動きベクトル予測子を除去するか、または候補動きベクトル予測子のリストにそのような候補動きベクトル予測子を追加することを省略し得る。エントロピー復号ユニット70はまた、候補動きベクトル予測子が現在の動きベクトルと同じタイプを有するかどうかに基づいて、候補動きベクトルが現在の動きベクトルのための動きベクトル予測子として使用するために利用可能であるかどうかを示す候補動きベクトル予測子に関連する変数を設定し得る。さらに、エントロピー復号ユニット70は、現在の動きベクトルを復号するために現在の動きベクトルと同じタイプである候補動きベクトル予測子、すなわち、候補動きベクトル予測子が復号されている現在の動きベクトルのための動きベクトル予測子として使用するために利用可能であることを示す関連する変数を候補動きベクトル予測子が有するかどうかを選択するように構成され得る。エントロピー復号ユニット70は、高度動きベクトル予測子(AMVP)またはマージモードなどの様々な動きベクトル復号モードを使用して現在の動きベクトルを復号し得る。
[0187]現在の動きベクトルを復号するために、エントロピー復号ユニット70は、(たとえば、シンタックスデータによって示されるように、または、暗黙的選択プロセスに従って)複数の候補動きベクトル予測子のうちの1つを選択し得る。選択された動きベクトル予測子が時間的動きベクトルであるとき、エントロピー復号ユニット70は、動きベクトル予測子が参照する参照ピクチャと現在の動きベクトルが参照する参照ピクチャとの間のPOC差分に基づいて選択された動きベクトル予測子をスケーリングし得る。エントロピー復号ユニット70はまた、MVDx値(すなわち、動きベクトル差分の水平成分またはx成分)とMVDy値(すなわち、動きベクトル差分の垂直成分またはy成分)とを表すシンタックス要素を復号し得る。エントロピー復号ユニット70はまた、現在の動きベクトルのx成分を再生するために、選択された(および潜在的にスケーリングされた)動きベクトル予測子のx成分にMVDx値を加算し、かつ現在の動きベクトルのy成分を再生するために、選択された(および潜在的にスケーリングされた)動きベクトル予測子のy成分にMVDy値を加算し得る。エントロピー復号ユニット70は、動き補償ユニット72に再生された(すなわち、復号された)動きベクトルを与え得る。
[0188]動き補償ユニット72は、前に復号されたピクチャから、たとえば、参照ピクチャメモリ82からデータを取り出すために復号された動きベクトルを使用し得る。動き補償ユニット72はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット72は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット72は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを判断し、その補間フィルタを使用して予測ブロックを生成し得る。
[0189]逆量子化ユニット76は、ビットストリーム中で与えられ、エントロピー復号ユニット70によって復号された量子化変換係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。逆量子化プロセスは、量子化の程度を判断し、同様に、適用されるべき逆量子化の程度を判断するための、ビデオスライス中のビデオブロックごとにビデオデコーダ30によって計算される量子化パラメータQPYの使用を含み得る。逆変換ユニット78は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。
[0190]動き補償ユニット72が、動きベクトルと他のシンタックス要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後に、ビデオデコーダ30は、逆変換ユニット78からの残差ブロックを動き補償ユニット72によって生成された対応する予測ブロックに加算することによって、復号されたビデオブロックを形成する。加算器90は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。ピクセル遷移を平滑化するために、または場合によってはビデオ品質を改善するために、他のループフィルタも(コーディングループ中またはコーディングループ後のいずれかで)使用され得る。所与のフレームまたはピクチャ中の復号されたビデオブロックは、次いで、その後の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ82に記憶される。参照ピクチャメモリ82はまた、図1のディスプレイデバイス32などのディスプレイデバイス上での後の表示のための、復号されたビデオを記憶する。
[0191]ビデオデコーダ30は、本開示の1つまたは複数の技法に従って復号プロセスを実行するように構成され得る。いくつかの例では、各ピクチャPICについて、implicit_disabled_pic_flag[i]またはimplicit_disabled_pic_lX_flag[i]がピクチャPICに対応するとき、フラグConsImplicitFlagはimplicit_disabled_pic_flag[i]またはimplicit_disabled_pic_lX_flag[i]に等しいものとして導出される(ただし、Xは、RefPicList0の場合は0に等しく、RefPicList1の場合は1に等しい)。代替的に、RPSサブセット全体が暗黙的重み付け予測に対して制約されることが示されるとき、このRPSサブセットの各ピクチャは、1に等しいConsImplicitFlagを有し、そうでない場合、このRPSサブセットの各ピクチャは、0に等しいConsImplicitFlagを有し得る。
[0192]一例として、ビデオデコーダ30は、重み付けサンプル予測プロセスを実行するように構成され得るこのプロセスへの入力は以下を含み得る。
[0193]− 現在のコーディングユニットの左上サンプルに対する現在の予測ユニットの左上サンプルを指定するロケーション(xB,yB)、
[0194]− この予測ユニットの幅および高さ、nPSWおよびnPSH、
[0195]− 2つの(nPSW)x(nPSH)アレイ、predSamplesL0およびpredSamplesL1、
[0196]− 予測リスト利用フラグ、predFlagL0およびpredFlagL1、
[0197]− 参照インデックス、refIdxL0およびrefIdxL1、
[0198]− 動きベクトル、mvL0およびmvL1、
[0199]− クロマ成分のビット深度、bitDepth。
[0200]このプロセスの出力は以下を含み得る。
[0201]− 予測サンプル値の(nPSW)x(nPSH)アレイ、predSamples。
[0202]ビデオデコーダ30は、変数shift1、shift2、offset1およびoffset2を次のように導出し得る。
[0203]− 変数shift1は(14−bitDepth)に等しくなるように設定され得、変数shift2は(15−bitDepth)に等しくなるように設定され得、
[0204]− 変数offset1は1<<(shift1−1)に等しくなるように設定され得、変数offset2は1<<(shift2−1)に等しくなるように設定され得る。
[0205]Pスライスでは、predFlagL0の値が1に等しい場合、以下が適用され得る。
[0206]− weighted_pred_flagが0に等しい場合、HEVCのWD6の8.5.2.2.3.1項に記載されているデフォルト重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
[0207]− そうでない場合(weighted_pred_flagが1に等しい)、HEVCのWD6の8.5.2.2.3.2項に記載されている明示的重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
[0208]Bスライスでは、predFlagL0またはpredFlagL1が1に等しい場合、以下が適用され得る。
[0209]− weighted_bipred_idcが0に等しい場合、HEVCのWD6の8.5.2.2.3.1項に記載されているデフォルト重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
[0210]− そうではなく、weighted_bipred_idcが1に等しい場合、およびpredFlagL0またはpredFlagL1が1に等しい場合、HEVCのWD6の8.5.2.2.3.2項に記載されている明示的重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出される。
[0211]− そうではなく、weighted_bipred_idcが2に等しい場合、以下が適用され得る。
[0212]− predFlagL0が1に等しく、predFlagL1が1に等しい場合、HEVCのWD6の8.5.2.2.3.2項に記載されている暗黙的重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出される。
[0213]− そうでない場合(predFlagL0またはpredFlagL1が1に等しいが両方ではない)、HEVCのWD6の8.5.2.2.3.1項に記載されているデフォルト重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
[0214]− そうでない場合(weighted_bipred_idcが3に等しい)、以下が適用され得る。
[0215]− predFlagL0が1に等しく、predFlagL1が1に等しく、ConsImplicitFlag(RefPicListL0(refIdxL0))とConsImplicitFlag(RefPicListL1(refIdxL1))の両方が1に等しい場合、HEVCのWD6の8.5.2.2.3.2項に記載されている暗黙的重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
[0216]− そうでない場合(predFlagL0またはpredFlagL1が1に等しいが両方が1に等しくはない)、HEVCのWD6の8.5.2.2.3.1項に記載されているデフォルト重み付けサンプル予測プロセスが、この項に記載されているプロセスと同じ入力および出力を用いて呼び出され得る。
[0217]代替的に、weighted_bipred_idcが2に等しいときの暗黙的方法は、weighted_bipred_idcが3に等しい場合に上記で指定したものに直接変更され得る。
[0218]このようにして、図3のビデオデコーダ30は、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、第1のタイプが第2のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを復号することとを行うように構成されたビデオデコーダの一例を表す。さらに、第1のタイプが視差動きベクトルを備え、第2のタイプが視差動きベクトルを備え、候補動きベクトル予測子が現在の動きベクトルを予測するために使用されるとき、ビデオデコーダは、候補動きベクトル予測子をスケーリングすることなしに現在の動きベクトルをコーディングするように構成され得る。
[0219]図4は、例示的なMVCの予測パターンを示す概念図である。図4の例では、(ビューID「S0」〜「S7」を有する)8つのビューが示され、12個の時間ロケーション(「T0」〜「T11」)がビューごとに示されている。すなわち、図4中の各行はビューに対応し、各列は時間ロケーションを示す。
[0220]MVCがH.264/AVCデコーダによって復号可能である、いわゆるベースビューを有し、また、ステレオビューペアがMVCによってサポートされ得るが、MVCの利点は、MVCが、3Dビデオ入力として3つ以上のビューを使用し、複数のビューによって表されるこの3Dビデオを復号する例をサポートすることができることである。MVCデコーダを有するクライアントのレンダラは、複数のビューを用いて3Dビデオコンテンツを予想し得る。
[0221]図4中のフレームは、対応するフレームがイントラコード化される(すなわち、Iフレームである)のか、または一方向に(すなわち、Pフレームとして)インターコード化されるのか、もしくは複数の方向に(すなわち、Bフレームとして)インターコード化されるのかを指定する、文字を含む影付きブロックを使用して、図4中の各行と各列との交差部において示されている。概して、予測は矢印によって示され、ここで矢印の終点のフレームは、予測参照のために矢印の始点のオブジェクトを使用する。たとえば、時間ロケーションT0におけるビューS2のPフレームは、時間ロケーションT0におけるビューS0のIフレームから予測される。
[0222]シングルビュービデオ符号化の場合と同様に、マルチビュービデオコーディングビデオシーケンスのフレームは、異なる時間ロケーションにおけるフレームに関して予測符号化され得る。たとえば、時間ロケーションT1におけるビューS0のbフレームは、時間ロケーションT0におけるビューS0のIフレームからそのbフレームに向けられた矢印を有し、その矢印は、bフレームがIフレームから予測されることを示す。しかしながら、さらに、マルチビュービデオ符号化のコンテキストにおいて、フレームは、ビュー間予測され得る。すなわち、ビューコンポーネントは、参照のために他のビュー中のビューコンポーネントを使用することができる。MVCでは、たとえば、別のビュー中のビューコンポーネントがインター予測参照であるかのように、ビュー間予測が実現される。潜在的なビュー間参照は、シーケンスパラメータセット(SPS)MVC拡張においてシグナリングされ、インター予測またはビュー間予測参照のフレキシブルな順序付けを可能にする参照ピクチャリスト構成プロセスによって変更され得る。
[0223]H.264/AVCのMVC拡張では、一例として、ビュー間予測は視差動き補償によってサポートされ、視差動き補償は、H.264/AVC動き補償のシンタックスを使用するが、異なるビュー中のピクチャが参照ピクチャとして使用されることが可能になる。MVCによって2つのビューのコーディングがサポートされ得、それは、一般に、立体視ビューと呼ばれる。MVCの利点のうちの1つは、MVCエンコーダが3Dビデオ入力として3つ以上のビューをとらえることができ、また、MVCデコーダがそのようなマルチビュー表現を復号することができることである。したがって、MVCデコーダをもつレンダリングデバイスは、3つ以上のビューをもつ3Dビデオコンテンツを予想し得る。
[0224]MVCでは、同じアクセスユニット中の(すなわち、同じ時間インスタンスを有する)ピクチャ間でビュー間予測が可能になる。アクセスユニットは、概して、共通の時間インスタンスのためのすべてのビューコンポーネント(たとえば、すべてのNALユニット)を含むデータのユニットである。したがって、MVCでは、同じアクセスユニット中のピクチャ間でビュー間予測が許可される。非ベースビューのうちの1つの中のピクチャをコーディングするとき、ピクチャが異なるビュー中にあるが同じ時間インスタンス(たとえば、同じPOC値)をもつ場合(したがって、同じアクセスユニット中にある)、そのピクチャは参照ピクチャリストに追加され得る。ビュー間予測の参照ピクチャは、任意のインター予測の参照ピクチャと同様に、参照ピクチャリストの任意の位置に置かれ得る。
[0225]図4は、ビュー間予測の様々な例を提供する。図4の例では、ビューS1のフレームは、ビューS1の異なる時間ロケーションにおけるフレームから予測されるものとして、ならびに同じ時間ロケーションにおけるビューS0およびS2のフレームのうちのフレームからビュー間予測されるものとして示されている。たとえば、時間ロケーションT1におけるビューS1のbフレームは、時間ロケーションT0およびT2におけるビューS1のBフレームの各々、ならびに時間ロケーションT1におけるビューS0およびS2のbフレームから予測される。
[0226]図4の例では、大文字の「B」および小文字の「b」は、異なる符号化方法ではなく、フレーム間の異なる階層関係を示すものとする。概して、大文字の「B」フレームは、小文字の「b」フレームよりも予測階層が比較的高い。図4はまた、異なるレベルの陰影を使用して予測階層の変形形態を示し、より大きい量の陰影の(すなわち、比較的より暗い)フレームは、より少ない陰影を有する(すなわち、比較的より明るい)それらのフレームよりも予測階層が高い。たとえば、図4中のすべてのIフレームは、完全陰影を用いて示されるが、Pフレームは、いくぶんより明るい陰影を有し、Bフレーム(および小文字のbフレーム)は、互いに様々なレベルの陰影を有するが、PフレームおよびIフレームの陰影よりも常に明るい。
[0227]概して、階層が比較的高いそれらのフレームが、階層が比較的低いフレームの復号中に参照フレームとして使用され得るように、予測階層が比較的高いフレームは、階層が比較的低いフレームを復号する前に復号されるべきであるという点で、予測階層はビュー順序インデックスに関係する。ビュー順序インデックスは、アクセスユニット中のビューコンポーネントの復号順序を示すインデックスである。H.264/AVC(MVC追補)の付属書類Hにおいて規定されているように、ビュー順序インデックスはSPS MVC拡張において暗示されている。SPSでは、各インデックスiについて、対応するview_idがシグナリングされる。いくつかの例では、ビューコンポーネントの復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示された場合、ビュー順序インデックスは、0からnum_views_minus_1までの連続する順序になっている。
[0228]このようにして、参照フレームとして使用されるフレームは、その参照フレームを参照して符号化されたフレームを復号する前に復号され得る。ビュー順序インデックスは、アクセスユニット中のビューコンポーネントの復号順序を示すインデックスである。各ビュー順序インデックスiについて、対応するview_idがシグナリングされる。ビューコンポーネントの復号は、ビュー順序インデックスの昇順に従う。すべてのビューが提示された場合、ビュー順序インデックスのセットは、0からビューの全数よりも1少ない数までの連続的な順序付きセットを備え得る。
[0229]階層の等しいレベルにおけるいくつかのフレームの場合、復号順序は、互いに重要でないことがある。たとえば、時間ロケーションT0におけるビューS0のIフレームは、時間ロケーションT0におけるビューS2のPフレームのための参照フレームとして使用され、そのPフレームは今度は、時間ロケーションT0におけるビューS4のPフレームのための参照フレームとして使用される。したがって、時間ロケーションT0におけるビューS0のIフレームは、時間ロケーションT0におけるビューS2のPフレームの前に復号されるべきであり、そのPフレームは、時間ロケーションT0におけるビューS4のPフレームの前に復号されるべきである。しかしながら、ビューS1およびS3は、予測のために互いに依拠しないが、代わりに、予測階層がより高いビューからのみ予測されるので、ビューS1とS3との間で復号順序は重要でない。その上、ビューS1がビューS0およびS2の後に復号される限り、ビューS1はビューS4の前に復号され得る。
[0230]このようにして、ビューS0〜S7を記述するために階層順序が使用され得る。表記法SA>SBは、ビューSAがビューSBの前に復号されるべきであることを意味する。この表記法を使用すると、図4の例では、S0>S2>S4>S6>S7である。また、図4の例に関して、S0>S1、S2>S1、S2>S3、S4>S3、S4>S5、およびS6>S5である。これらの要件に違反しないビューのための任意の復号順序が可能である。したがって、いくつかの制限のみをもつ、多くの異なる復号順序が可能である。
[0231]図5は、本開示の技法による、現在のブロックを符号化するための例示的な方法を示すフローチャートである。現在のブロックは、現在のCUまたは現在のCUの一部分、たとえば、現在のPUを備え得る。ビデオエンコーダ20(図1および図2)に関して説明されるが、他のデバイスが図5の方法と同様の方法を実行するように構成され得ることを理解されたい。
[0232]この例では、ビデオエンコーダ20は、初めに、現在のブロックを予測する(150)。たとえば、ビデオエンコーダ20は、現在のブロックのための1つまたは複数の予測ユニット(PU)を計算し得る。この例では、ビデオエンコーダ20が現在のブロックをインター予測すると仮定する。たとえば、動き推定ユニット42は、前にコーディングされたピクチャ、たとえば、ビュー間ピクチャおよび時間的ピクチャの動き探索を実行することによって現在のブロックのための動きベクトルを計算し得る。したがって、動き推定ユニット42は、現在のブロックを符号化するために、時間的動きベクトルまたは視差動きベクトルを生成し得る。
[0233]ビデオエンコーダ20は、次いで、動きベクトルを符号化し得る。特に、エントロピー符号化ユニット56は、候補動きベクトル予測子のリストを判断し得る(152)。たとえば、エントロピー符号化ユニット56は、候補動きベクトル予測子として1つまたは複数の隣接ブロックの動きベクトルを選択し得る。ビデオエンコーダ20は、動きベクトルのためのタイプ以外の基準に基づいてリスト中の候補動きベクトル予測子の各々が利用可能であると判断し得る。エントロピー符号化ユニット56は、次いで、候補動きベクトルのリストのいずれかが現在の動きベクトルとは異なるタイプのものであるかどうかを判断し得る。エントロピー符号化ユニット56は、次いで、現在の動きベクトルのためのタイプとは異なるタイプを有する候補動きベクトル予測子のリストから候補動きベクトル予測子を除去し得る(154)。特に、エントロピー符号化ユニット56は、候補動きベクトル予測子が符号化されている現在の動きベクトル予測子のタイプとは異なるタイプを有するかどうかに基づいて、候補動きベクトル予測子が動きベクトル予測子として使用するために利用可能であるかどうかを指す変数を設定し得る。このようにして、ビデオエンコーダ20は、候補動きベクトルが他の基準に基づいて利用可能であると前に判断されたときでも、現在の動きベクトルとは異なるタイプを有することに基づいて候補動きベクトル予測子が利用可能でないことを示す値に変数を設定し得る。
[0234]上記で説明したように、エントロピー符号化ユニット56は、様々な異なる方法のうちの1つを使用して候補動きベクトル予測子が現在の動きベクトルと同じタイプを有するかどうかを判断し得る。たとえば、エントロピー符号化ユニット56は、候補動きベクトル予測子が符号化されている現在のピクチャと同じPOC値を有する参照ピクチャを参照するのか、またはそれとは異なるPOC値を有する参照ピクチャを参照するのかを判断し、現在の動きベクトルによって参照される参照ピクチャが符号化されている現在のピクチャと同じPOC値を有するのか、またはそれとは異なるPOC値を有するのかを判断し得る。別の例として、エントロピー符号化ユニット56は、候補動きベクトル予測子と現在の動きベクトルとがどちらも符号化されている現在のピクチャと同じレイヤ中の参照ピクチャを参照するのか、または符号化されている現在のピクチャを含むレイヤとは異なる1つまたは複数のレイヤ中の参照ピクチャを参照するのかを判断し得る。また別の例として、エントロピー符号化ユニット56は、候補動きベクトル予測子と現在の動きベクトルとがどちらも長期参照ピクチャを参照するのか、または短期参照ピクチャを参照するのかを判断し得る。
[0235]すべての候補動きベクトル予測子が現在の動きベクトルと同じタイプを有するように候補動きベクトル予測子のリストを形成した後に、エントロピー符号化ユニット56は、現在の動きベクトルのための動きベクトル予測子として使用するために候補動きベクトル予測子のうちの1つを選択する(156)。特に、エントロピー符号化ユニット56は、変数が候補動きベクトル予測子が現在の動きベクトルのための動きベクトル予測子として使用するために利用可能であるかどうかを示す候補動きベクトル予測子のうちの1つを選択し得る。必要な場合、たとえば、選択された動きベクトル予測子が、現在の動きベクトルが参照する参照ピクチャのPOC値とは異なるPOC値を有する参照ピクチャを参照する時間的動きベクトルである場合、エントロピー符号化ユニット56は、選択された動きベクトル予測子をスケーリングし得る。選択された動きベクトルが視差動きベクトルである場合、エントロピー符号化ユニット56は、動きベクトル予測子のスケーリングを使用不可にし得る。エントロピー符号化ユニット56は、次いで、現在の動きベクトルと選択された(および潜在的にスケーリングされた)動きベクトル予測子との間の差分を計算する(158)。
[0236]ビデオエンコーダ20は、次いで、たとえば、変換ユニット(TU)を生成するために、現在のブロックのための残差ブロックを計算し得る(160)。残差ブロックを計算するために、ビデオエンコーダ20は、元のコーディングされていないブロックと現在のブロックのための予測ブロックとの間の差分を計算し得る。ビデオエンコーダ20は、次いで、残差ブロックの係数を変換し、量子化し得る(162)。次に、ビデオエンコーダ20は、残差ブロックの量子化変換係数を走査し得る(164)。走査中に、または走査の後に、ビデオエンコーダ20は、係数をエントロピー符号化し得る(166)。たとえば、ビデオエンコーダ20は、CAVLCまたはCABACを使用して係数を符号化し得る。ビデオエンコーダ20は、次いで、ブロックのエントロピーコーディングされたデータを出力し得る(168)。
[0237]このようにして、図5の方法は、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、第1のタイプが第2のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを符号化することとを含む方法の一例を表す。
[0238]図6は、本開示の技法による、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャートである。現在のブロックは、現在のCUまたは現在のCUの一部分(たとえば、PU)を備え得る。ビデオデコーダ30(図1および図3)に関して説明されるが、他のデバイスが図6の方法と同様の方法を実行するように構成され得ることを理解されたい。
[0239]最初に、ビデオデコーダ30は、現在のブロックの変換係数および動きベクトル差分値についてのデータを受信する(200)。エントロピー復号ユニット70は、係数および動きベクトル差分値についてのデータをエントロピー復号する(202)。エントロピー復号ユニット70は、次いで、候補動きベクトル予測子のリストを判断し得る(204)。たとえば、エントロピー復号ユニット70は、候補動きベクトル予測子として1つまたは複数の隣接ブロックの動きベクトルを選択し得る。ビデオデコーダ30は、動きベクトルのためのタイプ以外の基準に基づいてリスト中の候補動きベクトル予測子の各々が利用可能であると判断し得る。エントロピー復号ユニット70は、次いで、候補動きベクトルのリストのいずれかが現在の動きベクトルとは異なるタイプのものであるかどうかを判断し得る。エントロピー復号ユニット70は、次いで、現在の動きベクトルのためのタイプとは異なるタイプを有する候補動きベクトル予測子のリストから候補動きベクトル予測子を除去し得る(206)。特に、エントロピー復号ユニット70は、候補動きベクトル予測子が符号化されている現在の動きベクトル予測子のタイプとは異なるタイプを有するかどうかに基づいて、候補動きベクトル予測子が動きベクトル予測子として使用するために利用可能であるかどうかを指す変数を設定し得る。このようにして、ビデオデコーダ30は、候補動きベクトルが他の基準に基づいて利用可能であると前に判断されたときでも、現在の動きベクトルとは異なるタイプを有することに基づいて候補動きベクトル予測子が利用可能でないことを示す値に変数を設定し得る。
[0240]上記で説明したように、エントロピー復号ユニット70は、様々な異なる方法のうちの1つを使用して候補動きベクトル予測子が現在の動きベクトルと同じタイプを有するかどうかを判断し得る。たとえば、エントロピー復号ユニット70は、候補動きベクトル予測子が復号されている現在のピクチャと同じPOC値を有する参照ピクチャを参照するのか、またはそれとは異なるPOC値を有する参照ピクチャを参照するのかを判断し、現在の動きベクトルがまた、復号されている現在のピクチャと同じPOC値を有する参照ピクチャを参照するのか、またはそれとは異なるPOC値を有する参照ピクチャを参照するのかを判断し得る。別の例として、エントロピー符号化ユニット56は、候補動きベクトル予測子と現在の動きベクトルとがどちらも符号化されている現在のピクチャと同じレイヤ中の参照ピクチャを参照するのか、または符号化されている現在のピクチャを含むレイヤとは異なる1つまたは複数のレイヤ中の参照ピクチャを参照するのかを判断し得る。また別の例として、エントロピー符号化ユニット56は、候補動きベクトル予測子と現在の動きベクトルとがどちらも長期参照ピクチャを参照するのか、または短期参照ピクチャを参照するのかを判断し得る。
[0241]エントロピー復号ユニット70は、次いで、現在の動きベクトルのための動きベクトル予測子として、利用可能である(すなわち、候補動きベクトルが、現在の動きベクトルのための動きベクトル予測子として使用するために利用可能であることを示す変数値を有する)候補動きベクトル予測子のうちの1つを選択する(208)。いくつかの例では、エントロピー復号ユニット70は、暗黙的な、あらかじめ定義されたプロセスに従って動きベクトル予測子を選択し、一方、他の例では、エントロピー復号ユニット70は、候補動きベクトルのリストのうちのどれを選択すべきかを示すシンタックス要素を復号する。エントロピー復号ユニット70は、次いで、現在の動きベクトルを再生するために、復号された動きベクトル差分値を動きベクトル予測子と数学的に組み合わせる(210)。たとえば、エントロピー復号ユニット70は、選択された動きベクトル予測子のx成分に動きベクトル差分のx成分(MVDx)を加算し、かつ選択された動きベクトル予測子のy成分に動きベクトル差分のy成分(MVDy)を加算し得る。
[0242]ビデオデコーダ30は、復号された動きベクトルを使用して現在のブロックを予測し得る(212)。ビデオデコーダ30は、次いで、量子化された変換係数のブロックを作成するために、再生された係数を逆走査し得る(214)。ビデオデコーダ30は、次いで、残差ブロックを生成するために係数を逆量子化し、逆変換し得る(216)。ビデオデコーダ30は、最終的に、予測ブロックと残差ブロックとを組み合わせることによって現在のブロックを復号し得る(218)。
[0243]このようにして、図6の方法は、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、第1のタイプが第2のタイプとは異なるときに候補動きベクトル予測子が利用可能でないことを示す値に候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、変数の値に少なくとも部分的に基づいて現在の動きベクトルを復号することとを含む方法の一例を表す。
[0244]例によっては、本明細書で説明された技法のうちいずれかの、いくつかの行為またはイベントは、異なるシーケンスで実行され得、追加、マージ、または完全に除外され得る(たとえば、すべての説明した作用またはイベントが、本技法の実施のために必要であるとは限らない)ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して、同時に実行され得る。
[0245]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、または(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0246]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスクストレージ、磁気ディスクストレージ、もしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0247]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価な集積回路もしくはディスクリート論理回路などの1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび/もしくはソフトウェアモジュール内に与えられ得、または複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素において十分に実装され得る。
[0248]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0249]様々な例について説明した。これらおよび他の例は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号する方法であって、
ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、
前記第1のタイプが前記第2のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することと
を備える、方法。
[C2]
前記第1のタイプが視差動きベクトルを備え、前記第2のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記現在の動きベクトルを復号することが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号することを備える、C1に記載の方法。
[C3]
前記現在の動きベクトルのための前記第1のタイプを判断することが、前記現在の動きベクトルによって参照される第1の参照ピクチャが属する第1の参照ピクチャサブセットに基づいて前記第1のタイプを判断することを備え、
前記候補動きベクトルのための前記第2のタイプを判断することが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャが属する第2の参照ピクチャサブセットに基づいて前記第2のタイプを判断することを備える
C1に記載の方法。
[C4]
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第1の参照ピクチャが前記現在のレイヤ中に含まれ前記第2の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第2のタイプを判断することは前記第2のタイプが前記第1のタイプとは異なると判断することを備える、C2に記載の方法。
[C5]
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第2の参照ピクチャが前記現在のレイヤ中に含まれ前記第1の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第2のタイプを判断することは前記第2のタイプが前記第1のタイプとは異なると判断することを備える、C2に記載の方法。
[C6]
前記変数を設定するより前に、前記第1のタイプが前記第2のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断することをさらに備える、C1に記載の方法。
[C7]
前記現在の動きベクトルのための前記第1のタイプが、前記現在の動きベクトルによって参照される第1の参照ピクチャの現在の参照ピクチャ順序カウント(POC)値が前記現在のブロックを含む現在のピクチャの現在のPOC値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第2のタイプが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャの候補参照POC値が前記現在のPOC値と同じであるかどうかを表す
C1に記載の方法。
[C8]
前記現在の参照POC値と前記候補参照POC値とのうちの少なくとも1つが前記現在のPOC値と同じであるとき、前記候補動きベクトル予測子を含む隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を復号することをさらに備える、C7に記載の方法。
[C9]
前記現在の動きベクトルを復号することが、前記現在の動きベクトルによって参照される第1の参照ピクチャのためのタイプが前記候補動きベクトル予測子によって参照される第2の参照ピクチャのためのタイプとは異なるとき、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号することを備える、C8に記載の方法。
[C10]
前記現在の動きベクトルを復号することが、高度動きベクトル予測(AMVP)モードとマージモードとのうちの少なくとも1つを使用して前記現在の動きベクトルを復号することを備え、前記方法が、AMVPを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのAMVP候補リストに前記動きベクトル予測子を追加することを回避することと、マージモードを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避することとをさらに備える、C1に記載の方法。
[C11]
前記ビデオデータの復号ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測(TMVP)モードのコロケートピクチャとして決して選定されないかどうかを示すデータを復号することをさらに備える、C1に記載の方法。
[C12]
前記データを復号することが、disable_inter_view_as_tmvp_flagを復号することを備える、C11に記載の方法。
[C13]
前記データを復号することが、マルチビュービデオ復号(MVC)拡張のための拡張ビットと、3次元ビデオ(3DV)拡張のための拡張ビットと、サブセットシーケンスパラメータセット(SPS)と、ビデオパラメータセット(VPS)とのうちの少なくとも1つの中の前記データを復号することを備える、C11に記載の方法。
[C14]
前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット(RPS)サブセットのためのタイプを判断することをさらに備え、前記現在の動きベクトルのための前記第1のタイプを判断することは、前記第1のタイプが前記RPSサブセットのための前記タイプに等しいと判断することを備える、C1に記載の方法。
[C15]
ビデオデータを符号化する方法であって、
ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、
前記第1のタイプが前記第2のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化することと
を備える、方法。
[C16]
前記第1のタイプが視差動きベクトルを備え、前記第2のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記現在の動きベクトルを符号化することが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化することを備える、C15に記載の方法。
[C17]
前記現在の動きベクトルのための前記第1のタイプを判断することが、前記現在の動きベクトルによって参照される第1の参照ピクチャが属する第1の参照ピクチャサブセットに基づいて前記第1のタイプを判断することを備え、
前記候補動きベクトルのための前記第2のタイプを判断することが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャが属する第2の参照ピクチャサブセットに基づいて前記第2のタイプを判断することを備える
C15に記載の方法。
[C18]
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第1の参照ピクチャが前記現在のレイヤ中に含まれ前記第2の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第2のタイプを判断することは前記第2のタイプが前記第1のタイプとは異なると判断することを備える、C17に記載の方法。
[C19]
前記現在のブロックは現在のレイヤのピクチャ内に含まれ、前記第2の参照ピクチャが前記現在のレイヤ中に含まれ前記第1の参照ピクチャが前記現在のレイヤ以外のレイヤ中に含まれるとき前記第2のタイプを判断することは前記第2のタイプが前記第1のタイプとは異なると判断することを備える、C17に記載の方法。
[C20]
前記変数を設定するより前に、前記第1のタイプが前記第2のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断することをさらに備える、C15に記載の方法。
[C21]
前記現在の動きベクトルのための前記第1のタイプが、前記現在の動きベクトルによって参照される第1の参照ピクチャの現在の参照ピクチャ順序カウント(POC)値が前記現在のブロックを含む現在のピクチャの現在のPOC値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第2のタイプが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャの候補参照POC値が前記現在のPOC値と同じであるかどうかを表す
C15に記載の方法。
[C22]
前記現在の参照POC値と前記候補参照POC値とのうちの少なくとも1つが前記現在のPOC値と同じであるとき、前記候補動きベクトル予測子を含む隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を符号化することをさらに備える、C21に記載の方法。
[C23]
前記現在の動きベクトルを符号化することが、前記現在の動きベクトルによって参照される第1の参照ピクチャのためのタイプが前記候補動きベクトル予測子によって参照される第2の参照ピクチャのためのタイプとは異なるとき、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化することを備える、C22に記載の方法。
[C24]
前記現在の動きベクトルを符号化することが、高度動きベクトル予測(AMVP)モードとマージモードとのうちの少なくとも1つを使用して前記現在の動きベクトルを符号化することを備え、前記方法が、AMVPを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのAMVP候補リストに前記動きベクトル予測子を追加することを回避することと、マージモードを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避することとをさらに備える、C15に記載の方法。
[C25]
前記ビデオデータの符号化ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測(TMVP)モードのコロケートピクチャとして決して選定されないかどうかを示すデータを符号化することをさらに備える、C15に記載の方法。
[C26]
前記データを符号化することが、disable_inter_view_as_tmvp_flagを符号化することを備える、C25に記載の方法。
[C27]
前記データを符号化することが、マルチビュービデオ符号化(MVC)拡張のための拡張ビットと、3次元ビデオ(3DV)拡張のための拡張ビットと、サブセットシーケンスパラメータセット(SPS)と、ビデオパラメータセット(VPS)とのうちの少なくとも1つの中の前記データを符号化することを備える、C25に記載の方法。
[C28]
前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット(RPS)サブセットのためのタイプを判断することをさらに備え、前記現在の動きベクトルのための前記第1のタイプを判断することは、前記第1のタイプが前記RPSサブセットのための前記タイプに等しいと判断することを備える、C15に記載の方法。
[C29]
ビデオデータを復号するためのデバイスであって、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、前記第1のタイプが前記第2のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することとを行うように構成されたビデオデコーダを備えるデバイス。
[C30]
前記第1のタイプが視差動きベクトルを備え、前記第2のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記ビデオデコーダが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを復号するように構成された、C29に記載のデバイス。
[C31]
前記ビデオデコーダが、前記現在の動きベクトルによって参照される第1の参照ピクチャが属する第1の参照ピクチャサブセットに基づいて前記現在の動きベクトルのための前記第1のタイプを判断するように構成され、前記ビデオデコーダが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャが属する第2の参照ピクチャサブセットに基づいて前記第2のタイプを判断するように構成された、C29に記載のデバイス。
[C32]
前記ビデオデコーダが、前記変数を設定するより前に、前記第1のタイプが前記第2のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断するようにさらに構成された、C29に記載のデバイス。
[C33]
前記現在の動きベクトルのための前記第1のタイプが、前記現在の動きベクトルによって参照される第1の参照ピクチャの現在の参照POC値が前記現在のブロックを含む現在のピクチャの現在のPOC値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第2のタイプが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャの候補参照POC値が前記現在のPOC値と同じであるかどうかを表す
C29に記載のデバイス。
[C34]
前記ビデオデコーダが、前記現在の参照POC値と前記候補参照POC値とのうちの少なくとも1つが前記現在のPOC値と同じであるとき、前記隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を復号するようにさらに構成された、C33に記載のデバイス。
[C35]
前記現在の動きベクトルを復号するために、前記ビデオデコーダが、高度動きベクトル予測(AMVP)モードとマージモードとのうちの少なくとも1つを使用して前記現在の動きベクトルを復号するように構成され、AMVPを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオデコーダが、前記現在の動きベクトルのためのAMVP候補リストに前記動きベクトル予測子を追加することを回避するように構成され、マージモードを使用して前記動きベクトルを復号するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオデコーダが、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避するように構成された、C29に記載のデバイス。
[C36]
前記ビデオデコーダが、前記ビデオデータの復号ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測(TMVP)モードのコロケートピクチャとして決して選定されないかどうかを示すデータを復号するように構成された、C29に記載のデバイス。
[C37]
前記データが、disable_inter_view_as_tmvp_flagを備える、C36に記載のデバイス。
[C38]
前記ビデオデコーダが、前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット(RPS)サブセットのためのタイプを判断するように構成され、前記現在の動きベクトルのための前記第1のタイプを判断するために、前記ビデオデコーダは、前記第1のタイプが前記RPSサブセットのための前記タイプに等しいと判断するように構成された、C29に記載のデバイス。
[C39]
前記ビデオデコーダが、前記現在の動きベクトルを復号することと、前記現在のブロックについての残差データを復号することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックを再構成するために前記予測データと前記残差データとを組み合わせることとを行うように構成されたビデオデコーダを備える、C29に記載のデバイス。
[C40]
前記ビデオデコーダが、前記現在の動きベクトルを符号化することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックと前記予測データとの間の差に基づいて前記現在のブロックについての残差データを計算することと、前記残差データを符号化することとを行うように構成されたビデオエンコーダを備える、C29に記載のデバイス。
[C41]
前記デバイスが、
集積回路と、
マイクロプロセッサと、
前記ビデオデコーダを含むワイヤレス通信デバイスと
のうちの少なくとも1つを備える、C29に記載のデバイス。
[C42]
ビデオデータを符号化するためのデバイスであって、ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、前記第1のタイプが前記第2のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化することとを行うように構成されたビデオエンコーダを備えるデバイス。
[C43]
前記第1のタイプが視差動きベクトルを備え、前記第2のタイプが視差動きベクトルを備え、前記候補動きベクトル予測子が前記現在の動きベクトルを予測するために使用されるとき、前記ビデオエンコーダが、前記候補動きベクトル予測子をスケーリングすることなしに前記現在の動きベクトルを符号化するように構成された、C42に記載のデバイス。
[C44]
前記ビデオエンコーダが、前記現在の動きベクトルによって参照される第1の参照ピクチャが属する第1の参照ピクチャサブセットに基づいて前記現在の動きベクトルのための前記第1のタイプを判断するように構成され、前記ビデオエンコーダが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャが属する第2の参照ピクチャサブセットに基づいて前記第2のタイプを判断するように構成された、C42に記載のデバイス。
[C45]
前記ビデオエンコーダが、前記変数を設定するより前に、前記第1のタイプが前記第2のタイプとは異なるかどうかの基準以外の基準に基づいて、前記候補動きベクトルが利用可能であると判断するようにさらに構成された、C42に記載のデバイス。
[C46]
前記現在の動きベクトルのための前記第1のタイプが、前記現在の動きベクトルによって参照される第1の参照ピクチャの現在の参照POC値が前記現在のブロックを含む現在のピクチャの現在のPOC値と同じであるかどうかを表し、
前記候補動きベクトル予測子のための前記第2のタイプが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャの候補参照POC値が前記現在のPOC値と同じであるかどうかを表す
C42に記載のデバイス。
[C47]
前記ビデオエンコーダが、前記現在の参照POC値と前記候補参照POC値とのうちの少なくとも1つが前記現在のPOC値と同じであるとき、前記隣接ブロックが参照のために利用不可能なものとして設定されるべきであることを示す情報を符号化するようにさらに構成された、C46に記載のデバイス。
[C48]
前記現在の動きベクトルを符号化するために、前記ビデオエンコーダが、高度動きベクトル予測(AMVP)モードとマージモードとのうちの少なくとも1つを使用して前記現在の動きベクトルを符号化するように構成され、AMVPを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオエンコーダが、前記現在の動きベクトルのためのAMVP候補リストに前記動きベクトル予測子を追加することを回避するように構成され、マージモードを使用して前記動きベクトルを符号化するとき、および前記候補動きベクトル予測子が利用可能でないことを前記変数が示すとき、前記ビデオエンコーダが、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避するように構成された、C42に記載のデバイス。
[C49]
前記ビデオエンコーダが、前記ビデオデータの符号化ビデオシーケンス中のすべてのスライスについて、ビュー間参照が時間的動きベクトル予測(TMVP)モードのコロケートピクチャとして決して選定されないかどうかを示すデータを符号化するように構成された、C42に記載のデバイス。
[C50]
前記データが、disable_inter_view_as_tmvp_flagを備える、C49に記載のデバイス。
[C51]
前記ビデオエンコーダが、前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット(RPS)サブセットのためのタイプを判断するように構成され、前記現在の動きベクトルのための前記第1のタイプを判断するために、前記ビデオエンコーダは、前記第1のタイプが前記RPSサブセットのための前記タイプに等しいと判断するように構成された、C42に記載のデバイス。
[C52]
前記ビデオエンコーダが、前記現在の動きベクトルを復号することと、前記現在のブロックについての残差データを復号することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックを再構成するために前記予測データと前記残差データとを組み合わせることとを行うように構成されたビデオデコーダを備える、C42に記載のデバイス。
[C53]
前記ビデオエンコーダが、前記現在の動きベクトルを符号化することと、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックについての予測データを形成することと、前記現在のブロックと前記予測データとの間の差に基づいて前記現在のブロックについての残差データを計算することと、前記残差データを符号化することとを行うように構成されたビデオエンコーダを備える、C42に記載のデバイス。
[C54]
ビデオデータを符号化するためのデバイスであって、
ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断するための手段と、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断するための手段と、
前記第1のタイプが前記第2のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定するための手段と、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化するための手段と
を備える、デバイス。
[C55]
実行されたとき、プロセッサに、
ビデオデータの現在のブロックの現在の動きベクトルのための第1のタイプを判断することと、
前記現在のブロックの隣接ブロックの候補動きベクトル予測子のための第2のタイプを判断することと、
前記第1のタイプが前記第2のタイプとは異なるときに前記候補動きベクトル予測子が利用可能でないことを示す値に前記候補動きベクトル予測子が利用可能であるかどうかを表す変数を設定することと、
前記変数の前記値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することと
を行わせる命令を記憶したコンピュータ可読記憶媒体。

Claims (55)

  1. ビデオデータを復号する方法であって、
    ビデオデータの現在のブロックの現在の動きベクトルの第1のタイプを決定することと、
    現在のブロックに隣接するブロックの候補動きベクトル予測子の第2のタイプを決定することと、
    前記候補動きベクトル予測子が前記現在の動きベクトルの動きベクトル予測子として使用できるかどうかを示す変数を、前記候補動きベクトル予測子が前記現在の動きベクトルの前記動きベクトル予測子として利用できないことを示す第1の値に設定することと、ここにおいて、前記変数が、前記第1の値又は前記第1の値とは異なり、前記候補動きベクトル予測子が前記現在の動きベクトルの前記動きベクトル予測子として使用できることを示す第2の値のいずれかに設定でき、
    前記第1のタイプが前記第2のタイプと異なるかどうかを決定することと
    前記変数を前記第1の値に最初に設定した後に、前記第1のタイプが前記第2のタイプと同一であることを決定することに応答して前記変数を前記第2の値に設定することと、
    前記変数の前記第2の値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することと、
    を備える、方法。
  2. 前記現在の動きベクトルの前記第1のタイプを決定することが、前記現在の動きベクトルによって参照される第1の参照ピクチャが属する第1の参照ピクチャサブセットに基づいて前記第1のタイプを決定することを備え、前記候補動きベクトルの前記第2のタイプを決定することが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャが属する第2の参照ピクチャサブセットに基づいて前記第2のタイプを決定することを備える、請求項1に記載の方法。
  3. 前記現在のブロックが現在のレイヤのピクチャ内に含まれ、前記第1のタイプが前記第2のタイプとは異なることを決定することが、前記第1の参照ピクチャが現在のレイヤに含まれ、前記第2の参照ピクチャが前記現在のレイヤ以外のレイヤに含まれるとき、前記第1のタイプが前記第2のタイプと異なることを決定することを備える、請求項2に記載の方法。
  4. 前記現在のブロックが現在のレイヤのピクチャ内に含まれ、前記第1のタイプが前記第2のタイプとは異なることを決定することが、前記第2の参照ピクチャが現在のレイヤに含まれ、前記第1の参照ピクチャが前記現在のレイヤ以外のレイヤに含まれるとき、前記第1のタイプが前記第2のタイプと異なることを決定することを備える、請求項2に記載の方法。
  5. 前記変数を前記第1の値に設定する前に、前記候補動きベクトルが前記第1のタイプが前記第2のタイプと異なるかどうか以外の基準に基づいて利用できると決定することを更に含む、請求項1に記載の方法。
  6. 前記現在の動きベクトルの前記第1のタイプが、前記現在の動きベクトルによって参照される第1の参照ピクチャの現在の参照ピクチャ順序カウンタ(POC)値が前記現在のブロックを含む現在のピクチャの現在のPOC値と同じであるかどうかを表し、前記候補動きベクトル予測子の前記第2のタイプが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャの候補参照POC値が前記現在のPOC値と同じであるかどうかを表す、請求項1に記載の方法。
  7. 前記現在の参照POC値及び前記候補参照POC値の少なくとも1つが、前記現在のPOC値と同じであるとき、前記候補動きベクトル予測子を含む前記隣接するブロックが参照のために利用できないとして設定されることを示す情報を復号することを更に含む、請求項6に記載の方法。
  8. 前記現在の動きベクトルを復号することが、前記現在の動きベクトルによって参照される前記第1の参照ピクチャのためのタイプが前記候補動きベクトル予測子によって参照される前記第2の参照ピクチャのためのタイプとは異なるとき、前記候補動きベクトル予測子をスケーリングしないで前記現在の動きベクトルを復号することを備える、請求項7に記載の方法。
  9. 前記現在の動きベクトルを復号することは、高度動きベクトル予測子(AMVP)モード及びマージモードの少なくとも1つを用いて現在の動きベクトルを復号することを備え、前記方法が、AMVPを用いて前記動きベクトルを復号するとき、及び前記変数が前記候補動きベクトル予測子が利用できないことを示すとき、前記現在の動きベクトルのためのAMVP候補リストに前記動きベクトル予測子を追加することを回避することと、前記マージモードを用いて前記動きベクトルを復号するとき、及び前記変数が前記候補動きベクトル予測子が利用できないことを示すとき、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避することを更に含む、請求項1に記載の方法。
  10. 前記ビデオデータの復号されたビデオシーケンスの中の全てのスライスについて、ビュー間参照が時間的動きベクトル予測子(TMVP)モードのコロケートピクチャとして決して選択されないかどうかを示すデータを復号することを更に備える、請求項1に記載の方法。
  11. 前記データを復号することが、disable_inter_view_as_tmvp_flagを復号することを備える、請求項10に記載の方法。
  12. 前記データを復号することが、マルチビュービデオ復号(MVC)拡張のための拡張ビット、3次元ビデオ(3DV)拡張のための拡張ビット、サブセットシーケンスパラメータセット(SPS)及びビデオパラメータセット(VPS)の少なくとも1つの中のデータを復号することを備える、請求項11に記載の方法。
  13. 前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット(RPS)サブセットのタイプを決定することを更に備え、ここにおいて、前記現在の動きベクトルの前記第1のタイプを決定することが、前記第1のタイプが前記RPSサブセットの前記タイプに等しいことを決定することを備える、請求項1に記載の方法。
  14. ビデオデータの現在のブロックの現在の動きベクトルの第1のタイプを決定することと、
    隣接ブロックの候補動きベクトル予測子の第2のタイプを決定することと、
    前記候補動きベクトル予測子が前記現在の動きベクトルの動きベクトル予測子として使用できるかどうかを示す変数を、前記候補動きベクトル予測子が前記現在の動きベクトルの前記動きベクトル予測子として利用できないことを示す第1の値に設定することと、ここにおいて、前記変数が前記第1の値又は前記第1の値とは異なり、前記候補動きベクトル予測子が前記現在の動きベクトルの前記動きベクトル予測子として使用できることを示す第2の値のいずれかに設定でき、
    前記第1のタイプが前記第2のタイプと異なるかどうかを決定することと、
    前記変数を前記第1の値に最初に設定した後に、前記第1のタイプが前記第2のタイプと同一であることを決定することに応答して前記変数を前記第2の値に設定することと、
    前記変数の前記第2の値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化することと、
    を備える、ビデオデータを符号化する方法。
  15. 前記現在の動きベクトルの前記第1のタイプを決定することが、前記現在の動きベクトルによって参照される第1の参照ピクチャが属する第1の参照ピクチャサブセットに基づいて前記第1のタイプを決定することを備え、前記候補動きベクトルの前記第2のタイプを決定することが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャが属する第2の参照ピクチャサブセットに基づいて前記第2のタイプを決定することを備える、請求項14に記載の方法。
  16. 前記現在のブロックが現在のレイヤのピクチャの内に含まれ、かつ前記第1のタイプが前記第2のタイプとは異なることを決定することが、前記第1の参照ピクチャが現在のレイヤに含まれ、前記第2の参照ピクチャが前記現在のレイヤ以外のレイヤに含まれるとき、前記第1のタイプが前記第2のタイプと異なることを決定することを備える、請求項3に記載の方法。
  17. 前記現在のブロックが現在のレイヤのピクチャの内に含まれ、かつ前記第1のタイプが前記第2のタイプとは異なることを決定することが、前記第2の参照ピクチャが現在のレイヤに含まれ、前記第1の参照ピクチャが前記現在のレイヤ以外のレイヤに含まれるとき、前記第1のタイプが前記第2のタイプと異なることを決定することを備える、請求項15に記載の方法。
  18. 前記変数を前記第1の値に設定する前に、前記候補動きベクトルが前記第1のタイプが前記第2のタイプと異なるかどうか以外の基準に基づいて利用できると決定することを更に含む、請求項14に記載の方法。
  19. 前記現在の動きベクトルの前記第1のタイプが、前記現在の動きベクトルによって参照される第1の参照ピクチャの現在の参照ピクチャ順序カウンタ(POC)値が前記現在のブロックを含む現在のピクチャの現在のPOC値と同じであるかどうかを表し、前記候補動きベクトル予測子の前記第2のタイプが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャの候補参照POC値が前記現在のPOC値と同じであるかどうかを表す、請求項14に記載の方法。
  20. 前記現在の参照POC値及び前記候補参照POC値の少なくとも1つが、前記現在のPOC値と同じであるとき、前記候補動きベクトル予測子を含む前記隣接ブロックが参照のために利用できないとして設定されることを示す情報を復号することを更に含む、請求項19に記載の方法。
  21. 前記現在の動きベクトルを符号化することが、前記現在の動きベクトルによって参照される前記第1の参照ピクチャのためのタイプが前記候補動きベクトル予測子によって参照される前記第2の参照ピクチャのためのタイプとは異なるとき、前記候補動きベクトル予測子をスケーリングしないで前記現在の動きベクトルを符号化することを備える、請求項20に記載の方法。
  22. 前記現在の動きベクトルを符号化することが、高度動きベクトル予測子(AMVP)モード及びマージモードの少なくとも1つを用いて前記現在の動きベクトルを符号化することを備え、AMVPを用いて前記動きベクトルを符号化するとき、及び前記変数が前記候補動きベクトル予測子が利用できないことを示すとき、前記現在の動きベクトルのためのAMVP候補リストに前記動きベクトル予測子を追加することを回避することと、前記マージモードを用いて前記動きベクトルを符号化するとき、及び前記変数が前記候補動きベクトル予測子が利用できないことを示すとき、前記現在の動きベクトルのためのマージ候補リストに前記動きベクトル予測子を追加することを回避することを更に含む、請求項14に記載の方法。
  23. 前記ビデオデータの符号化されたビデオシーケンスの中の全てのスライスについて、ビュー間参照が時間的動きベクトル予測子(TMVP)モードのコロケートピクチャとして決して選択されないかどうかを示すデータを符号化することを更に備える、請求項14に記載の方法。
  24. 前記データを符号化することが、disable_inter_view_as_tmvp_flagを符号化することを備える、請求項23に記載の方法。
  25. 前記データを符号化することが、マルチビュービデオ符号化(MVC)拡張のための拡張ビット、3次元ビデオ(3DV)拡張のための拡張ビット、サブセットシーケンスパラメータセット(SPS)及びビデオパラメータセット(VPS)の少なくとも1つの中のデータを符号化することを備える、請求項23に記載の方法。
  26. 前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット(RPS)のタイプを決定することを更に備え、前記現在の動きベクトルの前記第1のタイプを決定することが、前記第1のタイプが前記RPSサブセットの前記タイプに等しいことを決定することを備える、請求項14に記載の方法。
  27. ビデオデータを復号するデバイスであって、前記デバイスは、
    ビデオデータを記憶するように構成されるメモリと、
    前記ビデオデータの現在のブロックの現在の動きベクトルの第1のタイプを決定することと、
    前記現在のブロックに隣接するブロックの候補動きベクトル予測子の第2のタイプを決定することと、
    前記候補動きベクトル予測子が前記現在の動きベクトルの動きベクトル予測子として使用できるかどうかを示す変数を、前記候補動きベクトル予測子が前記現在の動きベクトルの前記動きベクトル予測子として利用できないことを示す第1の値に設定することと、ここにおいて、前記変数が前記第1の値又は前記第1の値とは異なり、前記候補動きベクトル予測子が前記現在の動きベクトルの前記動きベクトル予測子として使用できることを示す第2の値のいずれかに設定でき、
    前記第1のタイプが前記第2のタイプと異なるかどうかを決定することと、
    前記変数を前記第1の値に最初に設定した後に、前記第1のタイプが前記第2のタイプと同一であることを決定することに応答して前記変数を前記第2の値に設定することと、
    前記変数の前記第2の値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することと、
    を行うように構成されたビデオデコーダと、を備える、デバイス。
  28. 前記ビデオデコーダが、前記現在の動きベクトルによって参照される第1の参照ピクチャが属する第1の参照ピクチャサブセットに基づいて前記現在の動きベクトルの前記第1のタイプを決定するように構成され、前記ビデオデコーダが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャが属する第2の参照ピクチャサブセットに基づいて前記第2のタイプを決定するように構成される、請求項27に記載のデバイス。
  29. 前記変数を前記第1の値に設定する前に、前記候補動きベクトルが前記第1のタイプが前記第2のタイプと異なるかどうか以外の基準に基づいて利用できると決定するように更に構成される、請求項27に記載のデバイス。
  30. 前記現在の動きベクトルの前記第1のタイプが、前記現在の動きベクトルによって参照される第1の参照ピクチャの現在の参照ピクチャPOC値が前記現在のブロックを含む現在のピクチャの現在のPOC値と同じであるかどうかを表し、前記候補動きベクトル予測子の前記第2のタイプが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャの候補参照POC値が前記現在のPOC値と同じであるかどうかを表す、請求項27に記載のデバイス。
  31. 前記ビデオデコーダが、前記現在の参照POC値及び前記候補参照POC値の少なくとも1つが、前記現在のPOC値と同じであるとき、前記隣接するブロックが参照のために利用できないとして設定されることを示す情報を復号するように更に構成される、請求項30に記載のデバイス。
  32. 前記現在の動きベクトルを復号するため、前記ビデオデコーダが高度動きベクトル予測(AMVP)モード及びマージモードの少なくとも1つを用いて前記現在の動きベクトルを復号するように構成され、AMVPモードを用いて前記動きベクトルを復号するとき、及び前記変数が前記候補動きベクトル予測子が利用できないことを示すとき、前記ビデオデコーダが前記現在の動きベクトルのAMVP候補リストに前記動きベクトル予測子を追加することを回避するように構成され、マージモードを用いて前記動きベクトルを復号するとき、及び前記変数が前記候補動きベクトル予測子が利用できないことを示すとき、前記ビデオデコーダが前記現在の動きベクトルのマージ候補リストに前記動きベクトル予測子を追加することを回避するように構成される、請求項27に記載のデバイス。
  33. 前記ビデオデコーダが、前記ビデオデータの復号されたビデオシーケンスの中の全てのスライスについて、ビュー間参照が時間的動きベクトル予測子(TMVP)モードのコロケートピクチャとして決して選択されないかどうかを示すデータを復号するように更に構成される、請求項27に記載のデバイス。
  34. 前記データがdisable_inter_view_as_tmvp_flagを備える、請求項33に記載のデバイス。
  35. 前記ビデオデコーダが、前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット(RPS)のタイプを決定するように構成され、前記現在の動きベクトルの前記第1のタイプを決定するために、前記ビデオデコーダが前記第1のタイプが前記RPSサブセットの前記タイプに等しいことを決定するように構成される、請求項27に記載のデバイス。
  36. 前記ビデオデコーダが、前記現在の動きベクトルを復号し、前記現在のブロックのための残差データを復号し、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックのための予測されたデータを形成し、前記現在のブロックを再構成するために前記予測されたデータと前記残差データとを合成するように構成される請求項27に記載のデバイス。
  37. 前記現在の動きベクトルを復号化し、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックのための予測されたデータを形成し、前記現在のブロックと前記予測されたデータとの間の差に基づいて前記現在のブロックのための残差データを計算し、前記残差データを符号化するように構成されるビデオエンコーダを更に備える、請求項27に記載のデバイス。
  38. 前記デバイスが、集積回路と、マイクロプロセッサと、前記ビデオデコーダを含むワイヤレス通信デバイスとの少なくとも1つを備える、請求項27に記載のデバイス。
  39. ビデオデータを符号化するためのデバイスであって、
    ビデオデータを格納するように構成されるメモリと、
    ビデオデータの現在のブロックの現在の動きベクトルの第1のタイプを決定することと、
    前記現在のブロックに隣接するブロックの候補動きベクトル予測子の第2のタイプを決定することと、
    前記候補動きベクトル予測子が前記現在の動きベクトルの動きベクトル予測子として使用できるかどうかを示す変数を、前記候補動きベクトル予測子が前記現在の動きベクトルの前記動きベクトル予測子として利用できないことを示す第1の値に設定することと、ここにおいて、前記変数が前記第1の値又は前記第1の値とは異なり、前記候補動きベクトル予測子が前記現在の動きベクトルの前記動きベクトル予測子として使用できることを示す第2の値のいずれかに設定でき、
    前記第1のタイプが前記第2のタイプと異なるかどうかを決定することと、
    前記変数を前記第1の値に最初に設定した後に、前記第1のタイプが前記第2のタイプと同一であることを決定することに応答して前記変数を前記第2の値に設定することと、
    前記変数の前記第2の値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することと、を行うように構成されるビデオエンコーダと、
    を備える、デバイス。
  40. 前記ビデオエンコーダが、前記現在の動きベクトルによって参照される第1の参照ピクチャが属する第1の参照ピクチャサブセットに基づいて前記現在の動きベクトルの前記第1のタイプを決定するように構成され、前記ビデオエンコーダが前記候補動きベクトル予測子によって参照される第2の参照ピクチャが属する第2の参照ピクチャサブセットに基づいて前記第2のタイプを決定するように構成される、請求項39に記載のデバイス。
  41. 前記ビデオエンコーダが、前記変数を前記第1の値に設定する前に、前記候補動きベクトルが前記第1のタイプが前記第2のタイプと異なるかどうか以外の基準に基づいて利用できると決定するように構成される、請求項39に記載のデバイス。
  42. 前記現在の動きベクトルの前記第1のタイプが、前記現在の動きベクトルによって参照される第1の参照ピクチャの現在の参照POC値が前記現在のブロックを含む現在のピクチャの現在のPOC値と同じであるかどうかを表し、前記候補動きベクトル予測子の前記第2のタイプが、前記候補動きベクトル予測子によって参照される第2の参照ピクチャの候補参照POC値が前記現在のPOC値と同じであるかどうかを表す、請求項39に記載のデバイス。
  43. 前記ビデオエンコーダが、前記現在の参照POC値及び前記候補参照POC値の少なくとも1つが前記現在のPOC値と同じであるとき、前記隣接するブロックが参照のために利用できないとして設定されることを示す情報を符号化するように更に構成される、請求項42に記載のデバイス。
  44. 前記現在の動きベクトルを符号化するため、前記ビデオエンコーダが、高度動きベクトル予測(AMVP)モード及びマージモードの少なくとも1つを用いて前記現在の動きベクトルを符号化するように構成され、AMVPモードを用いて前記動きベクトルを符号化するとき、及び前記変数が前記候補動きベクトル予測子が利用できないことを示すとき、前記ビデオエンコーダが、前記現在の動きベクトルのAMVP候補リストに前記動きベクトル予測子を追加することを回避するように構成され、マージモードを用いて前記動きベクトルを符号化するとき、及び前記変数が前記候補動きベクトル予測子が利用できないことを示すとき、前記ビデオエンコーダが、前記現在の動きベクトルのマージ候補リストに前記動きベクトル予測子を追加することを回避するように構成される、請求項39に記載のデバイス。
  45. 前記ビデオエンコーダが、前記ビデオデータの符号化されたビデオシーケンスの中の全てのスライスについて、ビュー間参照が時間的動きベクトル予測子(TMVP)モードのコロケートピクチャとして決して選択されないかどうかを示すデータを符号化するように構成される、請求項39に記載のデバイス。
  46. 前記データがdisable_inter_view_as_tmvp_flagを備える、請求項45に記載のデバイス。
  47. 前記ビデオエンコーダが、前記現在の動きベクトルが参照する参照ピクチャを含む参照ピクチャセット(RPS)のタイプを決定するように更に構成され、前記現在の動きベクトルの前記第1のタイプを決定するために、前記ビデオエンコーダが前記第1のタイプが前記RPSサブセットの前記タイプに等しいことを決定するように構成される、請求項39に記載のデバイス。
  48. 前記現在の動きベクトルを復号し、前記現在のブロックのための残差データを復号し、前記現在の動きベクトルに少なくとも部分的に基づいて前記現在のブロックのための予測されたデータを形成し、前記現在のブロックを再構成するために前記予測されたデータと前記残差データとを合成するように構成されるビデオデコーダを更に備える、請求項39に記載のデバイス。
  49. 前記ビデオエンコーダが、現在の運動ベクトルを符号化し、前記現在の運動ベクトルに少なくとも部分的に基づいて前記現在のブロックの予測されたデータを形成し、前記現在のブロックと前記予測されたデータとの差に基づいて前記現在のブロックの残差データを計算し、前記残差データを符号化するように構成される、請求項39のデバイス。
  50. ビデオデータ復号化するためのすデバイスであって、
    ビデオデータの現在のブロックの現在の動きベクトルの第1のタイプを決定するための手段と、
    前記現在のブロックに隣接するブロックの候補動きベクトル予測子の第2のタイプを決定するための手段と、
    前記候補動きベクトル予測子が前記現在の動きベクトルの動きベクトル予測子として使用できるかどうかを示す変数を、前記候補動きベクトル予測子が前記現在の動きベクトルの前記動きベクトル予測子として利用できないことを示す第1の値に設定するための手段と、ここにおいて、前記変数が前記第1の値又は前記第1の値とは異なり、前記候補動きベクトル予測子が前記現在の動きベクトルの前記動きベクトル予測子として使用できることを示す第2の値のいずれかに設定でき、
    前記第1のタイプが前記第2のタイプと異なるかどうかを決定するための手段と、
    前記変数を前記第1の値に最初に設定した後に、前記第1のタイプが前記第2のタイプと同一であることを決定することに応答して前記変数を前記第2の値に設定するための手段と、
    前記変数の前記第2の値に少なくとも部分的に基づいて前記現在の動きベクトルを符号化するための手段と、
    を備える、デバイス。
  51. 実行されるとプロセッサに
    ビデオデータの現在のブロックの現在の動きベクトルの第1のタイプを決定することと、
    現在のブロックに隣接するブロックの候補動きベクトル予測子の第2のタイプを決定することと、
    前記候補動きベクトル予測子が前記現在の動きベクトルの動きベクトル予測子として使用できるかどうかを示す変数を、前記候補動きベクトル予測子が前記現在の動きベクトルの前記動きベクトル予測子として利用できないことを示す第1の値に設定することと、ここにおいて、前記変数が前記第1の値又は前記第1の値とは異なり、前記候補動きベクトル予測子が前記現在の動きベクトルの前記動きベクトル予測子として使用できることを示す第2の値のいずれかに設定でき、
    前記第1のタイプが前記第2のタイプと異なるかどうかを決定することと、
    前記変数を前記第1の値に最初に設定した後に、前記第1のタイプが前記第2のタイプと同一であることを決定することに応答して前記変数を前記第2の値に設定することと、
    前記変数の前記第2の値に少なくとも部分的に基づいて前記現在の動きベクトルを復号することと、
    を実行させるための命令を記憶したコンピュータ可読記憶媒体。
  52. 無線通信デバイスで実行できる方法であって、前記無線通信デバイスが、符号化されたビデオコンテンツを記憶するように構成されたメモリと、前記メモリに記憶された前記ビデオデータを復号するため命令を実行するように構成されたプロセッサと、前記ビデオデータを含む信号を受信し、前記信号からの前記ビデオデータを前記メモリに記憶するように構成された受信機と、を備える、請求項1に記載の方法。
  53. 前記無線通信デバイスが、セルラーフォンであって、前記信号が前記受信機により受信され、セルラー方式通信標準に従って変調される、請求項52に記載の方法。
  54. 前記デバイスが、無線通信デバイスであって、ビデオデータを含む信号を受信し、前記信号からの前記ビデオデータを前記メモリに記憶するように構成される受信機を更に備える、請求項27に記載のデバイス。
  55. 前記無線通信デバイスがセルラーフォンであり、前記信号が前記受信機により受信され、セルラー方式通信標準に従って変調される、請求項54に記載のデバイス。
JP2015500627A 2012-03-16 2013-03-14 Hevcおよびその拡張における動きベクトルのコーディングおよび双予測 Expired - Fee Related JP6215295B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201261611959P 2012-03-16 2012-03-16
US61/611,959 2012-03-16
US201261624990P 2012-04-16 2012-04-16
US61/624,990 2012-04-16
US201261658344P 2012-06-11 2012-06-11
US61/658,344 2012-06-11
US201261663484P 2012-06-22 2012-06-22
US61/663,484 2012-06-22
US13/801,350 2013-03-13
US13/801,350 US9503720B2 (en) 2012-03-16 2013-03-13 Motion vector coding and bi-prediction in HEVC and its extensions
PCT/US2013/031536 WO2013138631A1 (en) 2012-03-16 2013-03-14 Motion vector coding and bi-prediction in hevc and its extensions

Publications (3)

Publication Number Publication Date
JP2015514342A JP2015514342A (ja) 2015-05-18
JP2015514342A5 JP2015514342A5 (ja) 2016-04-07
JP6215295B2 true JP6215295B2 (ja) 2017-10-18

Family

ID=49157626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015500627A Expired - Fee Related JP6215295B2 (ja) 2012-03-16 2013-03-14 Hevcおよびその拡張における動きベクトルのコーディングおよび双予測

Country Status (16)

Country Link
US (1) US9503720B2 (ja)
EP (1) EP2826247A1 (ja)
JP (1) JP6215295B2 (ja)
KR (1) KR101812381B1 (ja)
CN (1) CN104170381B (ja)
AU (1) AU2013232041C1 (ja)
CA (1) CA2865849C (ja)
HK (1) HK1200047A1 (ja)
IL (1) IL234159A (ja)
MY (1) MY168175A (ja)
PH (1) PH12014501923B1 (ja)
RU (1) RU2624560C2 (ja)
SG (1) SG11201405071UA (ja)
TW (1) TWI538489B (ja)
WO (1) WO2013138631A1 (ja)
ZA (1) ZA201407270B (ja)

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9247249B2 (en) 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
BR122020013893B1 (pt) * 2011-05-31 2022-08-23 JVC Kenwood Corporation Dispositivo de codificação de imagem móvel e método de codificação de imagem móvel
CN107483927B (zh) * 2011-09-09 2020-06-05 株式会社Kt 用于解码视频信号的方法
RU2715382C2 (ru) * 2011-10-18 2020-02-27 Кт Корпорейшен Способ декодирования видеосигнала
US10200709B2 (en) 2012-03-16 2019-02-05 Qualcomm Incorporated High-level syntax extensions for high efficiency video coding
JP2013207755A (ja) * 2012-03-29 2013-10-07 Sony Corp 画像処理装置および方法
JP5613846B2 (ja) 2012-05-09 2014-10-29 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動きベクトル予測方法及び動きベクトル予測装置
US9420286B2 (en) 2012-06-15 2016-08-16 Qualcomm Incorporated Temporal motion vector prediction in HEVC and its extensions
WO2014013880A1 (ja) * 2012-07-18 2014-01-23 ソニー株式会社 画像処理装置および方法
US20140056356A1 (en) * 2012-08-21 2014-02-27 Motorola Mobility Llc Method and apparatus for efficient signaling of weighted prediction in advanced coding schemes
US9392268B2 (en) 2012-09-28 2016-07-12 Qualcomm Incorporated Using base layer motion information
US9357212B2 (en) 2012-12-07 2016-05-31 Qualcomm Incorporated Advanced residual prediction in scalable and multi-view video coding
US10070140B2 (en) * 2013-04-08 2018-09-04 Hfi Innovation Inc. Method and apparatus for quantization matrix signaling and representation in scalable video coding
WO2015008464A1 (en) * 2013-07-14 2015-01-22 Sharp Kabushiki Kaisha Video parameter set signaling
KR101750316B1 (ko) * 2013-07-18 2017-06-23 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
FR3011429A1 (fr) * 2013-09-27 2015-04-03 Orange Codage et decodage video par heritage d'un champ de vecteurs de mouvement
KR101869882B1 (ko) * 2013-10-11 2018-06-25 브이아이디 스케일, 인크. Hevc 확장을 위한 하이 레벨 구문
EP3058736B1 (en) 2013-10-14 2019-02-27 Microsoft Technology Licensing, LLC Encoder-side options for intra block copy prediction mode for video and image coding
JP6336058B2 (ja) 2013-10-14 2018-06-06 マイクロソフト テクノロジー ライセンシング,エルエルシー ビデオ及び画像符号化及び復号のためのベースカラーインデックスマップモードの機能
AU2013403224B2 (en) 2013-10-14 2018-10-18 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
WO2015069734A1 (en) 2013-11-05 2015-05-14 Arris Enterprises, Inc. Bit depth variable for high precision data in weighted prediction syntax and semantics
TWI538487B (zh) * 2013-12-05 2016-06-11 財團法人工業技術研究院 螢幕視訊之預測編碼的方法與系統
FI3958572T3 (fi) * 2014-01-02 2024-03-13 Dolby Laboratories Licensing Corp Menetelmä moninäkymävideon koodaamiseksi, menetelmä moninäkymävideon dekoodaamiseksi ja tallennusväliaine niitä varten
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
KR102258427B1 (ko) 2014-01-03 2021-06-01 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 이미지 코딩/디코딩에서의 블록 벡터 예측
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
US10368091B2 (en) 2014-03-04 2019-07-30 Microsoft Technology Licensing, Llc Block flipping and skip mode in intra block copy prediction
CN106105190B (zh) * 2014-03-13 2018-11-13 高通股份有限公司 用于3d-hevc的简化高级残余预测
EP4354856A2 (en) 2014-06-19 2024-04-17 Microsoft Technology Licensing, LLC Unified intra block copy and inter prediction modes
WO2016008161A1 (en) 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Temporal derived bi-directional motion vector predictor
RU2679201C2 (ru) 2014-09-30 2019-02-06 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Правила для режимов внутрикадрового прогнозирования, когда активируется волновая параллельная обработка данных
US20170359577A1 (en) * 2014-10-07 2017-12-14 Samsung Electronics Co., Ltd. Method and device for encoding or decoding multi-layer image, using interlayer prediction
KR20170065502A (ko) * 2014-10-08 2017-06-13 엘지전자 주식회사 3d 비디오 부호화/복호화 방법 및 장치
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
EP3308540B1 (en) 2015-06-09 2020-04-15 Microsoft Technology Licensing, LLC Robust encoding/decoding of escape-coded pixels in palette mode
CN105163116B (zh) 2015-08-29 2018-07-31 华为技术有限公司 图像预测的方法及设备
US10575011B2 (en) 2015-09-24 2020-02-25 Lg Electronics Inc. Inter prediction method and apparatus in image coding system
US11032550B2 (en) * 2016-02-25 2021-06-08 Mediatek Inc. Method and apparatus of video coding
US10560718B2 (en) * 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
US11638027B2 (en) 2016-08-08 2023-04-25 Hfi Innovation, Inc. Pattern-based motion vector derivation for video coding
US20180054613A1 (en) * 2016-08-22 2018-02-22 Mediatek Inc. Video encoding method and apparatus with in-loop filtering process not applied to reconstructed blocks located at image content discontinuity edge and associated video decoding method and apparatus
US10390015B2 (en) * 2016-08-26 2019-08-20 Qualcomm Incorporated Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction
US10477238B2 (en) * 2016-09-07 2019-11-12 Qualcomm Incorporated Sub-PU based bi-directional motion compensation in video coding
EP3509297B1 (en) * 2016-09-30 2021-06-23 Huawei Technologies Co., Ltd. Video encoding method, decoding method and terminal
EP3343924A1 (en) * 2017-01-03 2018-07-04 Thomson Licensing Method and apparatus for encoding and decoding motion information
US20180332298A1 (en) * 2017-05-10 2018-11-15 Futurewei Technologies, Inc. Bidirectional Prediction In Video Compression
CN109089119B (zh) * 2017-06-13 2021-08-13 浙江大学 一种运动矢量预测的方法及设备
EP3435676A1 (en) * 2017-07-25 2019-01-30 Thomson Licensing Method and apparatus for encoding and decoding an omnidirectional video
EP3457695A1 (en) * 2017-09-18 2019-03-20 Thomson Licensing Method and apparatus for motion vector predictor adaptation for omnidirectional video
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
EP3741122B1 (en) * 2018-01-15 2022-03-02 Telefonaktiebolaget Lm Ericsson (Publ) Restricted overlapped block motion compensation
JP7170738B2 (ja) * 2018-02-28 2022-11-14 フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ. 複合予測および制限付きマージ
WO2019204386A1 (en) * 2018-04-20 2019-10-24 Huawei Technologies Co., Ltd. Line buffer for spatial motion vector predictor candidates
US10469869B1 (en) * 2018-06-01 2019-11-05 Tencent America LLC Method and apparatus for video coding
WO2019234598A1 (en) * 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Interaction between ibc and stmvp
GB2589223B (en) 2018-06-21 2023-01-25 Beijing Bytedance Network Tech Co Ltd Component-dependent sub-block dividing
WO2019244117A1 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Unified constrains for the merge affine mode and the non-merge affine mode
TWI744661B (zh) 2018-06-29 2021-11-01 大陸商北京字節跳動網絡技術有限公司 要根據模式檢查的查找表中的運動候選的數量
CN110662056B (zh) 2018-06-29 2022-06-07 北京字节跳动网络技术有限公司 哪个查找表需要更新或不更新
BR112020024142A2 (pt) 2018-06-29 2021-03-02 Beijing Bytedance Network Technology Co., Ltd. método para processamento de vídeo, aparelho para codificação de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitório
KR20240005239A (ko) * 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut와 amvp 사이의 상호작용
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
CN114885173A (zh) 2018-06-29 2022-08-09 抖音视界(北京)有限公司 Lut中的运动候选的检查顺序
CN114845108A (zh) 2018-06-29 2022-08-02 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
CN110662052B (zh) 2018-06-29 2022-07-08 北京字节跳动网络技术有限公司 更新查找表(lut)的条件
TWI731364B (zh) 2018-07-02 2021-06-21 大陸商北京字節跳動網絡技術有限公司 Hmvp+非相鄰運動
WO2020010089A1 (en) * 2018-07-06 2020-01-09 Op Solutions, Llc Bi-prediction with adaptive weights
US10511852B1 (en) * 2018-07-13 2019-12-17 Tencent America LLC Method and apparatus for video coding
JP7202444B2 (ja) * 2018-07-18 2023-01-11 ベイジン・ダジア・インターネット・インフォメーション・テクノロジー・カンパニー,リミテッド 履歴ベースの動きベクトル予測を用いるビデオコーディング方法及び装置
WO2020030187A1 (en) 2018-08-10 2020-02-13 Huawei Technologies Co., Ltd. Video processing method, video processing apparatus, encoder, decoder, medium and computer program
GB2590310B (en) 2018-09-12 2023-03-22 Beijing Bytedance Network Tech Co Ltd Conditions for starting checking HMVP candidates depend on total number minus K
US10958932B2 (en) * 2018-09-12 2021-03-23 Qualcomm Incorporated Inter-prediction coding of video data using generated motion vector predictor list including non-adjacent blocks
CN112740704B (zh) * 2018-09-21 2024-04-16 夏普株式会社 图像解码装置以及图像编码装置
CN110944196B (zh) 2018-09-24 2023-05-30 北京字节跳动网络技术有限公司 简化的基于历史的运动矢量预测
US11064192B2 (en) * 2018-10-04 2021-07-13 Qualcomm Incorporated Simplification of spatial-temporal motion vector prediction
MX2021004008A (es) * 2018-10-08 2021-06-23 Lg Electronics Inc Método de diseño de sintaxis y aparato para realizar codificación usando sintaxis.
CN112913249B (zh) * 2018-10-22 2022-11-08 北京字节跳动网络技术有限公司 广义双向预测索引的简化编解码
CN113315974B (zh) * 2018-10-24 2022-06-10 华为技术有限公司 视频解码器和方法
WO2020084553A1 (en) 2018-10-24 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Motion candidate derivation based on multiple information in sub-block motion vector prediction
CN112970262B (zh) 2018-11-10 2024-02-20 北京字节跳动网络技术有限公司 三角预测模式中的取整
EP3857879A4 (en) 2018-11-12 2022-03-16 Beijing Bytedance Network Technology Co., Ltd. SIMPLIFICATION OF COMBINED INTER-INTRA PREDICTION
WO2020103877A1 (en) * 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Coding and decoding of video coding modes
CN113056916A (zh) * 2018-11-22 2021-06-29 北京字节跳动网络技术有限公司 基于子块的运动候选的选择和信令
US11146810B2 (en) * 2018-11-27 2021-10-12 Qualcomm Incorporated Decoder-side motion vector refinement
CN113228675A (zh) * 2018-12-21 2021-08-06 北京字节跳动网络技术有限公司 视频处理中的运动矢量比特深度
IL284179B1 (en) * 2018-12-21 2024-02-01 Vid Scale Inc Differential coding of a symmetric motion vector
WO2020139032A1 (ko) * 2018-12-28 2020-07-02 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2020142447A1 (en) * 2018-12-30 2020-07-09 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus of video coding for triangle prediction
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147747A1 (en) * 2019-01-15 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Weighted prediction in video coding
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
EP4262208A3 (en) * 2019-02-20 2024-01-17 Beijing Dajia Internet Information Technology Co., Ltd. Constrained motion vector derivation for long-term reference pictures in video coding
WO2020177756A1 (en) * 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Size dependent inter coding
JP7261896B2 (ja) * 2019-03-11 2023-04-20 テレフオンアクチーボラゲット エルエム エリクソン(パブル) 動き改良および重み付け予測
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
CN113728630B (zh) 2019-04-19 2023-11-17 北京字节跳动网络技术有限公司 不同运动矢量细化中的基于区域的梯度计算
CN113711609B (zh) * 2019-04-19 2023-12-01 北京字节跳动网络技术有限公司 利用光流的预测细化过程中的增量运动矢量
WO2020228659A1 (en) * 2019-05-11 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Coding tools with reference picture resampling
CN113382260B (zh) * 2019-06-21 2022-03-29 杭州海康威视数字技术股份有限公司 预测模式的解码、编码方法及装置
WO2021018031A1 (en) * 2019-07-27 2021-02-04 Beijing Bytedance Network Technology Co., Ltd. Restrictions of usage of tools according to reference picture types
EP3997877A4 (en) 2019-08-13 2023-05-24 Beijing Bytedance Network Technology Co., Ltd. MOTION ACCURACY IN SUBBLOCK-BASED INTERPREDICTION
WO2021034123A1 (ko) * 2019-08-22 2021-02-25 엘지전자 주식회사 가중 예측을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
CN114287135A (zh) 2019-08-23 2022-04-05 北京字节跳动网络技术有限公司 参考图片重采样中的剪切
CN114402610A (zh) * 2019-09-13 2022-04-26 北京字节跳动网络技术有限公司 视频编解码中的加权样点双向预测
KR20220080107A (ko) * 2019-10-23 2022-06-14 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 참조 픽처 리샘플링을 위한 시그널링
WO2021078178A1 (en) 2019-10-23 2021-04-29 Beijing Bytedance Network Technology Co., Ltd. Calculation for multiple coding tools
WO2023200255A1 (ko) * 2022-04-12 2023-10-19 엘지전자 주식회사 Amvp(advanced motion vector prediction)-merge 모드에 기반한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004023458A (ja) 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
US7023921B2 (en) * 2002-08-06 2006-04-04 Motorola, Inc. Method and apparatus for determining block match quality
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
KR100584603B1 (ko) 2004-08-03 2006-05-30 학교법인 대양학원 다시점 영상의 다이렉트 모드 움직임 예측 방법 및 장치
US20070014346A1 (en) 2005-07-13 2007-01-18 Nokia Corporation Coding dependency indication in scalable video coding
US8369406B2 (en) 2005-07-18 2013-02-05 Electronics And Telecommunications Research Institute Apparatus of predictive coding/decoding using view-temporal reference picture buffers and method using the same
US8644386B2 (en) 2005-09-22 2014-02-04 Samsung Electronics Co., Ltd. Method of estimating disparity vector, and method and apparatus for encoding and decoding multi-view moving picture using the disparity vector estimation method
KR101227601B1 (ko) * 2005-09-22 2013-01-29 삼성전자주식회사 시차 벡터 예측 방법, 그 방법을 이용하여 다시점 동영상을부호화 및 복호화하는 방법 및 장치
KR101276720B1 (ko) 2005-09-29 2013-06-19 삼성전자주식회사 카메라 파라미터를 이용하여 시차 벡터를 예측하는 방법,그 방법을 이용하여 다시점 영상을 부호화 및 복호화하는장치 및 이를 수행하기 위한 프로그램이 기록된 기록 매체
ZA200805337B (en) 2006-01-09 2009-11-25 Thomson Licensing Method and apparatus for providing reduced resolution update mode for multiview video coding
JP5192393B2 (ja) 2006-01-12 2013-05-08 エルジー エレクトロニクス インコーポレイティド 多視点ビデオの処理
KR100949982B1 (ko) 2006-03-30 2010-03-29 엘지전자 주식회사 비디오 신호를 디코딩/인코딩하기 위한 방법 및 장치
ZA200900857B (en) * 2006-07-06 2010-05-26 Thomson Licensing Method and apparatus for decoupling frame number and/or picture order count (POC) for multi-view video encoding and decoding
EP2039169A2 (en) 2006-07-06 2009-03-25 Thomson Licensing Method and apparatus for decoupling frame number and/or picture order count (poc) for multi-view video encoding and decoding
WO2008007917A1 (en) 2006-07-12 2008-01-17 Lg Electronics, Inc. A method and apparatus for processing a signal
KR101336204B1 (ko) 2006-08-18 2013-12-03 주식회사 케이티 다시점 비디오에서 전역변이를 이용하여 상이한 시점의 화면들을 압축 또는 복호하는 인코더와 인코딩하는 방법 및디코더와 디코딩하는 방법
CN101653000B (zh) 2006-10-13 2013-01-02 汤姆逊许可公司 用于包含多视点视频编码的参考图像管理的方法
CA2666452C (en) 2006-10-16 2014-12-16 Nokia Corporation System and method for implementing efficient decoded buffer management in multi-view video coding
EP2087737A2 (en) 2006-10-24 2009-08-12 Thomson Licensing Picture management for multi-view video coding
JP4999859B2 (ja) 2006-10-30 2012-08-15 日本電信電話株式会社 予測参照情報生成方法、動画像符号化及び復号方法、それらの装置、及びそれらのプログラム並びにプログラムを記録した記憶媒体
JP5023739B2 (ja) 2007-02-28 2012-09-12 ソニー株式会社 画像情報符号化装置及び符号化方法
JP2010520697A (ja) 2007-03-02 2010-06-10 エルジー エレクトロニクス インコーポレイティド ビデオ信号のデコーディング/エンコーディング方法及び装置
US20080240242A1 (en) * 2007-03-27 2008-10-02 Nokia Corporation Method and system for motion vector predictions
KR101946376B1 (ko) 2007-10-16 2019-02-11 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR101385884B1 (ko) 2008-01-30 2014-04-16 고려대학교 산학협력단 다시점 동영상의 부호화 및 복호화 방법 및 장치
WO2009115901A2 (en) 2008-03-19 2009-09-24 Nokia Corporation Combined motion vector and reference index prediction for video coding
CN102257818B (zh) 2008-10-17 2014-10-29 诺基亚公司 3d视频编码中运动向量的共享
KR101590511B1 (ko) 2009-01-23 2016-02-02 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
WO2010086500A1 (en) 2009-01-28 2010-08-05 Nokia Corporation Method and apparatus for video coding and decoding
US20100246683A1 (en) 2009-03-27 2010-09-30 Jennifer Lois Harmon Webb Error Resilience in Video Decoding
US9060176B2 (en) 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US20120189060A1 (en) 2011-01-20 2012-07-26 Industry-Academic Cooperation Foundation, Yonsei University Apparatus and method for encoding and decoding motion information and disparity information
US9749657B2 (en) 2011-01-21 2017-08-29 Sharp Kabushiki Kaisha Buffer compression for motion vector competition
KR20120095610A (ko) 2011-02-21 2012-08-29 삼성전자주식회사 다시점 비디오의 부호화 방법 및 장치, 그 복호화 방법 및 장치
JP5664762B2 (ja) 2011-03-17 2015-02-04 富士通株式会社 動画像復号方法、動画像符号化方法、動画像復号装置及び動画像復号プログラム
KR20120118780A (ko) 2011-04-19 2012-10-29 삼성전자주식회사 다시점 비디오의 움직임 벡터 부호화 방법 및 장치, 그 복호화 방법 및 장치
US9247249B2 (en) 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
JP2013034171A (ja) * 2011-06-30 2013-02-14 Sony Corp 画像処理装置および方法
US9736472B2 (en) 2011-08-19 2017-08-15 Telefonaktiebolaget Lm Ericsson (Publ) Motion vector processing
US20130229485A1 (en) 2011-08-30 2013-09-05 Nokia Corporation Apparatus, a Method and a Computer Program for Video Coding and Decoding
US10200709B2 (en) 2012-03-16 2019-02-05 Qualcomm Incorporated High-level syntax extensions for high efficiency video coding

Also Published As

Publication number Publication date
IL234159A (en) 2017-07-31
AU2013232041C1 (en) 2018-05-17
US20130243093A1 (en) 2013-09-19
AU2013232041B2 (en) 2017-10-05
AU2013232041A1 (en) 2014-09-25
HK1200047A1 (en) 2015-07-31
KR20140147102A (ko) 2014-12-29
KR101812381B1 (ko) 2017-12-26
RU2624560C2 (ru) 2017-07-04
MY168175A (en) 2018-10-11
CA2865849A1 (en) 2013-09-19
PH12014501923A1 (en) 2014-11-24
SG11201405071UA (en) 2014-09-26
TW201352008A (zh) 2013-12-16
JP2015514342A (ja) 2015-05-18
CA2865849C (en) 2020-05-26
TWI538489B (zh) 2016-06-11
PH12014501923B1 (en) 2014-11-24
ZA201407270B (en) 2017-08-30
EP2826247A1 (en) 2015-01-21
CN104170381B (zh) 2017-12-08
WO2013138631A1 (en) 2013-09-19
RU2014141677A (ru) 2016-05-10
CN104170381A (zh) 2014-11-26
US9503720B2 (en) 2016-11-22

Similar Documents

Publication Publication Date Title
JP6215295B2 (ja) Hevcおよびその拡張における動きベクトルのコーディングおよび双予測
JP6585200B2 (ja) ビデオコード化における視差ベクトル予測
CN109644272B (zh) 用于建构候选列表的几何型优先级
JP6419808B2 (ja) ビデオコーディングのための照明補償を処理すること
CN110741639B (zh) 视频译码中的运动信息传播
JP6258288B2 (ja) 高効率ビデオコーディングのためのハイレベルシンタックスの拡張
JP6746620B2 (ja) ビデオコーディングのための照明補償ステータスを決定するシステムおよび方法
CN107690810B (zh) 确定用于视频译码的照明补偿状态的系统及方法
JP6740243B2 (ja) ビデオコーディングにおける動きベクトル導出
JP6636530B2 (ja) サブ予測ユニットベース高度時間動きベクトル予測
US9420286B2 (en) Temporal motion vector prediction in HEVC and its extensions
JP2021182743A (ja) 復号器側動きベクトル導出によって導出された動きベクトル情報を制約すること
JP6254254B2 (ja) 3次元(3d)ビデオコーディング用の進化型マージモード
JP6430542B2 (ja) 3d−hevcにおける簡略化シフティングマージ候補およびマージリスト導出
JP6615606B2 (ja) 3d−hevcに関する視差ベクトル構築方法
JP5805850B2 (ja) ビデオコード化における動きベクトル予測
JP6215344B2 (ja) 非対称空間解像度を有するテクスチャビューコンポーネントおよび深度ビューコンポーネントの中での内部ビュー動き予測
JP6855242B2 (ja) ビデオコーディングのためのディスパリティベクトルおよび/または高度残差予測
JP2018522468A (ja) 空間および/または時間動き情報を使用するサブ予測ユニット動きベクトル予測
KR20180061281A (ko) 비디오 코딩을 위한 향상된 양방향 광학 흐름
JP2015515227A (ja) ビデオコーディングのためのビュー間予測のための視差ベクトル生成
JP2016506185A (ja) ビデオコーディング拡張規格のための時間動きベクトル予測
WO2014052863A1 (en) Scalable extensions of high efficiency video coding (hevc) and temporal motion vector prediction
JP2016519518A (ja) 後方ビュー合成予測
WO2014100610A1 (en) Constraints on neighboring block based disparity vector (nbdv) techniques for 3d video

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170321

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170920

R150 Certificate of patent or registration of utility model

Ref document number: 6215295

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees