JP2016524409A - 残差差分パルスコード変調(dpcm)拡張ならびに変換スキップ、回転、および走査との調和 - Google Patents

残差差分パルスコード変調(dpcm)拡張ならびに変換スキップ、回転、および走査との調和 Download PDF

Info

Publication number
JP2016524409A
JP2016524409A JP2016517994A JP2016517994A JP2016524409A JP 2016524409 A JP2016524409 A JP 2016524409A JP 2016517994 A JP2016517994 A JP 2016517994A JP 2016517994 A JP2016517994 A JP 2016517994A JP 2016524409 A JP2016524409 A JP 2016524409A
Authority
JP
Japan
Prior art keywords
residual
block
dpcm
residual block
horizontal
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.)
Granted
Application number
JP2016517994A
Other languages
English (en)
Other versions
JP2016524409A5 (ja
JP6396439B2 (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 JP2016524409A publication Critical patent/JP2016524409A/ja
Publication of JP2016524409A5 publication Critical patent/JP2016524409A5/ja
Application granted granted Critical
Publication of JP6396439B2 publication Critical patent/JP6396439B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

残差差分パルスコード変調(RDPCM)が残差ブロックに適用されるとき、コーディング技法を調和させるための技法について説明する。いくつかの例では、そのような残差ブロックに使用される走査順序は、残差ブロックが現在のブロックをイントラ予測することから生成されるとき、および残差ブロックが現在のブロックをインター予測またはイントラブロックコピー予測することから生成されるときと同じであることが必要である場合がある。

Description

[0001]本出願は、その内容全体が参照により本明細書に組み込まれる、2013年6月5日に出願された米国仮出願第61/831,581号の利益を主張する。
[0002]本開示は、ビデオコーディングおよび圧縮に関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信、受信および記憶するための、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part 10、アドバンストビデオコーディング(AVC:Advanced Video Coding)によって定義された規格、現在開発中の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装する。
[0004]ビデオ圧縮技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的(イントラピクチャ)予測および/または時間的(インターピクチャ)予測を実行する。ブロックベースのビデオコーディングの場合、ビデオスライスが、ツリーブロック、コーディングユニット(CU)および/またはコーディングノードと呼ばれることもあるビデオブロックに区分され得る。ピクチャのイントラコード化(I)スライスにおけるビデオブロックは、同じピクチャ内の隣接ブロックにおける参照サンプルに対する空間的予測を使用して符号化される。ピクチャのインターコード化(PまたはB)スライス内のビデオブロックは、同じピクチャ中の隣接ブロック内の参照サンプルに対する空間的予測、または他の参照ピクチャ中の参照サンプルに対する時間的予測を使用し得る。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
[0005]一般に、本開示で説明する1つまたは複数の技法は、残差差分パルスコード変調(残差DPCMまたはRDPCM)が適用される際のコーディングツールの調和に関する。いくつかの例では、残差ブロックにRDPCMが適用される場合、残差ブロックに変換は適用されない(すなわち、変換がスキップまたはバイパスされる残差ブロックにのみRDPCMが適用される)。いくつかの例では、現在のブロックをイントラ予測することから生成された残差ブロックにRDPCMが適用される場合、RDPCMの順序(たとえば、方向)に基づいて残差ブロックに一定の走査順序が使用される。
[0006]本開示で説明する1つまたは複数の技法は、この概念をインター予測ブロックおよびイントラブロックコピー(イントラBC)予測ブロックに拡張する。たとえば、1つまたは複数の技法は、RDPCMが適用される場合、インター予測またはイントラBC予測から生成された残差ブロックにおいて使用するための走査順序を決定し、その結果、決定された走査順序は、イントラ予測を使用して残差ブロックが生成される場合、および同じ順序(水平方向または垂直方向)を有するRDPCMが適用される場合に使用されるものと同じ走査順序である。このように、これらの技法は、イントラ予測およびインター予測またはイントラBC予測においてRDPCMに使用される走査順序を調和させる。
[0007]一例では、本開示は、ビデオデータを復号する方法について説明し、本方法は、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用される方向を示す情報を復号することと、方向を示す情報に基づいて第1の残差ブロックに関する走査順序を決定することと、ここにおいて、決定された走査順序は、第2の残差ブロックが現在のブロックをイントラ予測することから生成される場合、および復号情報に示される方向と同じ方向を用いて第2の残差ブロックが残差DPCMを適用される場合に第2の残差ブロックにおいて使用されるものと同じ走査順序となることが必要である、決定された走査順序に基づいて第1の残差ブロックの残差データをエントロピー復号することと、復号残差データに基づいて現在のブロックを再構成することとを備える。
[0008]一例では、本開示は、ビデオデータを符号化する方法について説明し、本方法は、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用されるべき方向を決定することと、残差DPCMが適用される決定方向に基づいて第1の残差ブロックに関する走査順序を決定することと、ここにおいて、決定された走査順序は、第2の残差ブロックが現在のブロックをイントラ予測することから生成される場合、および第1の残差ブロックに残差DPCMが適用される決定方向と同じ方向を用いて第2の残差ブロックが残差DPCMを適用される場合に第2の残差ブロックにおいて使用されるものと同じ走査順序となることが必要である、決定された走査順序に基づいて第1の残差ブロックの残差データをエントロピー符号化することと、残差DPCMが適用される決定方向を示す情報を符号化することと、符号化残差データと残差DPCMが適用される決定方向を示す情報とを出力することとを備える。
[0009]一例では、本開示は、ビデオデータを復号するためのデバイスについて説明し、本デバイスは、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックを記憶するように構成されたビデオデータメモリと、ビデオデコーダとを備え、ビデオデコーダが、第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用される方向を示す情報を復号することと、方向を示す情報に基づいて第1の残差ブロックに関する走査順序を決定することと、ここにおいて、決定された走査順序は、第2の残差ブロックが現在のブロックをイントラ予測することから生成される場合、および復号情報に示される方向と同じ方向を用いて第2の残差ブロックが残差DPCMを適用される場合に第2の残差ブロックにおいて使用されるものと同じ走査順序となることが必要である、決定された走査順序に基づいて第1の残差ブロックの残差データをエントロピー復号することと、復号残差データに基づいて現在のブロックを再構成することとを行うように構成される。
[0010]一例では、本開示は、ビデオデータを符号化するためのデバイスについて説明し、本デバイスは、現在のブロックに関する予測ブロックを記憶するように構成されたビデオデータメモリと、ビデオエンコーダとを備え、ビデオエンコーダは、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用されるべき方向を決定することと、残差DPCMが適用される決定方向に基づいて第1の残差ブロックに関する走査順序を決定することと、ここにおいて、決定された走査順序は、第2の残差ブロックが現在のブロックをイントラ予測することから生成される場合、および第1の残差ブロックに残差DPCMが適用される決定方向と同じ方向を用いて第2の残差ブロックが残差DPCMを適用される場合に第2の残差ブロックにおいて使用されるものと同じ走査順序となることが必要である、決定された走査順序に基づいて第1の残差ブロックの残差データをエントロピー符号化することと、残差DPCMが適用される決定方向を示す情報を符号化することと、符号化残差データと残差DPCMが適用される決定方向を示す情報とを出力することとを行うように構成される。
[0011]一例では、本開示は、ビデオデータを復号するためのデバイスについて説明し、本デバイスは、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用される方向を示す情報を復号するための手段と、ここにおいて、方向を示す情報は垂直残差DPCMまたは水平残差DPCMのうちの1つを示す情報を備える、方向を示す情報に基づいて第1の残差ブロックに関する走査順序を決定するための手段とを備えており、ここにおいて、第1の残差ブロックに関する走査順序を決定するための手段は、情報が水平残差DPCMを示す場合、および第1の残差ブロックのサイズが8×8以下である場合に垂直走査を決定するための手段と、情報が垂直残差DPCMを示す場合、および第1の残差ブロックのサイズが8×8以下である場合に水平走査を決定するための手段とを備える。本デバイスは、決定された走査順序に基づいて第1の残差ブロックの残差データをエントロピー復号するための手段と、復号残差データに基づいて現在のブロックを再構成するための手段とをさらに備える。
[0012]一例では、本開示は、記憶された命令を有するコンピュータ可読記憶媒体について説明し、これらの命令は、実行されるとき、ビデオデータを符号化するためのデバイスのためのビデオエンコーダに、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用されるべき方向を決定することと、ここにおいて、決定方向は垂直残差DPCMまたは水平残差DPCMのうちの1つを備える、残差DPCMが適用される決定方向に基づいて第1の残差ブロックに関する走査順序を決定することと、ここにおいて、第1の残差ブロックの走査順序を決定するために、これらの命令は、ビデオエンコーダに、決定方向が水平残差DPCMである場合、および第1の残差ブロックのサイズが8×8以下である場合に垂直走査を決定させ、または決定方向が垂直残差DPCMである場合、および第1の残差ブロックのサイズが8×8以下である場合に水平走査を決定させる、決定された走査順序に基づいて第1の残差ブロックの残差データをエントロピー符号化することと、残差DPCMが適用される決定方向を示す情報を符号化することと、符号化残差データと残差DPCMが適用される決定方向を示す情報とを出力することとを行わせる。
[0013]1つまたは複数の例の詳細は、添付の図面および以下の説明において述べられる。他の特徴、目的、および利点は、その説明および図面から、ならびに特許請求の範囲から明らかになるであろう。
[0014]本開示の技法を利用し得る、例示的なビデオコーディングシステムを示すブロック図。 [0015]本開示の技法を実装し得る、例示的なビデオエンコーダを示すブロック図。 [0016]本開示の技法を実装し得る、例示的なビデオデコーダを示すブロック図。 [0017]概垂直モードのための残差DPCM方向を示す図。 [0018]概水平モードのための残差DPCM方向を示す図。 [0019]本開示による、ビデオデータを符号化する例示的な技法を示すフローチャート。 [0020]本開示による、ビデオデータを復号する例示的な技法を示すフローチャート。
[0021]ビデオコーディングでは、ビデオコーダ(たとえば、ビデオエンコーダまたはビデオデコーダ)は、予測ブロックを形成する。ビデオエンコーダは、予測ブロックと現在のブロック(たとえば、予測されつつあるブロック)との間の残差と呼ばれる差分を決定する。残差値は、残差ブロックを形成する。ビデオデコーダは、残差ブロックを受信し、現在のブロックを再構成するために予測ブロックに残差ブロックの残差値を加算する。インター予測では、予測ブロックは、現在のブロックと異なるピクチャ内にあるか、または異なるピクチャのサンプルに基づいており、動きベクトルによって識別される。イントラ予測では、予測ブロックは、現在のブロックと同じピクチャ内のサンプルから形成されており、イントラ予測モードによって形成される。イントラブロックコピー(イントラBC)予測では、予測ブロックは、現在のブロックと同じピクチャ内にあり、ブロックベクトルによって識別される。
[0022]出力される必要がある残差ブロックのデータ量を低減させるために、ビデオエンコーダは、残差DPCMまたはRDPCMと呼ばれる、残差ブロックに関する差分パルス符号変調(DPCM)を利用し得る。残差DPCMでは、ビデオエンコーダは、前の行または列の残差値に基づいて残差ブロックの行または列の残差値を予測する。一例として、ビデオエンコーダは、行0の再構成された残差値から行1の残差値を減算する(たとえば、行0の第1の残差値から行1の第1の残差値を減算する、行0の第2の残差値から行1の第2の残差値を減算する、など)。ビデオエンコーダは、行0では残差値を信号伝送するが、行1では差分値を信号伝送し、行2では、行1の再構成された値との差分値を信号伝送する、など。ビデオエンコーダは、列ベースの残差DPCMにおいて同様の技法を実行し得る。本開示で説明するように、減算は、減算結果に等しい値を決定することを指し、減算するか、または負の値を加算することによって実行され得る。
[0023]いくつかの例では、連続する行または列の残差値間の差分を符号化することは、実際の残差値を符号化することよりも少ないビットをもたらし得る。このように、残差DPCMは、ビデオエンコーダが信号伝送する必要があるデータ量の低減につながり、それによって、帯域幅効率を上昇させ得る。
[0024]ビデオデコーダは、受信した値を復号する。たとえば、ビデオデコーダは、行0の残差値を復号し、行1の差分値を復号する。ビデオデコーダは、行1の残差値を決定するために行0の残差値をこれらの差分値と加算する。ビデオデコーダは、行2の差分値(たとえば、行1の残差値と行2の残差値との間の差分)も復号する。ビデオデコーダは、行2の残差値を決定するために行1の決定された残差値を行2の差分値と加算する、など。ビデオデコーダは、列ベースの残差DPCMにおいて同様のステップを実施し得る。
[0025]いくつかの例では、ビデオエンコーダは、いくつかの他のコーディングツールとともにのみ残差DPCMを利用し得る。たとえば、ビデオエンコーダは、残差ブロックまたは残差ブロックの量子化バージョンを生成するために、それぞれ、可逆(バイパスとも呼ばれる)コーディングまたは変換スキップコーディングを利用し得る。いくつかの例では、ビデオエンコーダは、残差ブロックが変換バイパス符号化または変換スキップ符号化される場合にのみ、残差DPCMを利用し得る。残差ブロックに変換が適用される場合、残差DPCMは、ビデオエンコーダにとって利用可能でない場合がある。
[0026]また、ビデオエンコーダは、様々な角度(たとえば、90度、180度、または270度)だけ残差ブロックまたは量子化残差ブロックを回転させ得る。その上、ビデオエンコーダは、様々な順序(たとえば、対角線方向、水平方向、または垂直方向)で残差ブロックまたは量子化残差ブロックの係数を走査し得る。
[0027]いくつかの例では、ビデオエンコーダは、イントラ予測に使用される走査順序を、インター予測またはイントラBC予測に使用される走査順序と調和させるように構成され得る。たとえば、現在のブロックをイントラ予測することから生成された残差ブロックにRDPCMが適用される場合、ビデオエンコーダは、RDPCMが適用された残差ブロックを走査するために特定の走査順序を使用するように構成され得る。本開示で説明する技法では、ビデオエンコーダは、残差ブロックにRDPCMが適用されるとき、現在のブロックをインター予測するか、または現在のブロックをイントラBC予測することから生成された残差ブロックを走査するために、イントラ予測の場合に使用されるものと同じ走査順序を使用することを必要とするように構成され得る。
[0028]ビデオデコーダは、同様に構成され得る。たとえば、ビデオデコーダは、利用されるビデオエンコーダと同じ走査順序を使用し得る。たとえば、現在のブロックをイントラ予測することから生成された残差ブロックにRDPCMが適用される場合、ビデオデコーダは、RDPCMが適用された残差ブロックを走査するために、使用されるビデオエンコーダと同じ走査順序を使用するように構成され得る。本開示で説明する技法では、ビデオエンコーダと同様に、ビデオデコーダは、残差ブロックにRDPCMが適用されるとき、現在のブロックをインター予測するか、または現在のブロックをイントラBC予測することから生成された残差ブロックを走査するために、イントラ予測の場合に使用されるものと同じ走査順序を使用することを必要とするように構成され得る。
[0029]このように、走査順序を選択するプロセスは、簡略化され得る。たとえば、ビデオエンコーダは、イントラ予測ブロックおよびインター予測ブロックまたはイントラBC予測ブロックにRDPCMが適用される場合の、残差ブロックの走査順序を決定するための異なる基準を使用するのではなく、イントラ予測ブロックおよびインター予測ブロックまたはイントラBC予測ブロックにRDPCMが適用される場合の、残差ブロックの走査順序を決定するための同じ基準を使用し得る。同様に、ビデオデコーダは、同じ基準を使用し得る。上述のように、いくつかの例では、適用されるRDPCMに関して、残差ブロックは、変換バイパスコード化または変換スキップコード化される必要がある場合がある。
[0030]走査順序選択のそのような簡略化は、ビデオ符号化効率およびビデオ復号効率を上昇させ得る。たとえば、ビデオデコーダは、予測がイントラ予測、イントラブロックコピー予測、またはインター予測を使用して生成されたかとは無関係に、RDPCM方向(たとえば、順序)に基づいてRDPCMが適用された残差ブロックの走査順序を選択するように構成され得る。このことは、挙動の分岐を制限するか、または低減させる場合がある。たとえば、ビデオデコーダが、RDPCMが適用されるイントラ予測およびインター予測またはイントラBC予測の走査順序を選択するための様々な方法で構成される場合、ビデオデコーダは、適切な走査順序を選択するために、RDPCMが適用される現在のブロックがイントラ予測またはインター予測もしくはイントラBC予測されるかどうかを決定する計算サイクルを浪費する場合がある。
[0031]図1は、本開示の技法を利用し得る例示的なビデオコーディングシステム10を示すブロック図である。本明細書で説明されるように、「ビデオコーダ」という用語は、総称的にビデオエンコーダとビデオデコーダの両方を指す。本開示では、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指し得る。
[0032]図1に示されるように、ビデオコーディングシステム10は、ソースデバイス12と宛先デバイス14とを含む。ソースデバイス12は、符号化ビデオデータを生成する。したがって、ソースデバイス12は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれ得る。宛先デバイス14は、ソースデバイス12によって生成された符号化ビデオデータを復号することができる。したがって、宛先デバイス14は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれ得る。ソースデバイス12および宛先デバイス14は、ビデオコーディングデバイスまたはビデオコーディング装置の例であり得る。
[0033]ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車内コンピュータなどを含む、広範囲のデバイスを備え得る。
[0034]宛先デバイス14は、チャネル16を介してソースデバイス12から符号化ビデオデータを受信し得る。チャネル16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な1つまたは複数の媒体またはデバイスを備え得る。一例では、チャネル16は、ソースデバイス12が符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にする1つまたは複数の通信媒体を備えることができる。この例では、ソースデバイス12は、ワイヤレス通信プロトコルなどの通信規格に従って、符号化ビデオデータを変調することができ、変調されたビデオデータを宛先デバイス14に送信することができる。1つまたは複数の通信媒体は、高周波(RF)スペクトルまたは1つもしくは複数の物理伝送線路などの、ワイヤレスおよび/または有線の通信媒体を含み得る。1つまたは複数の通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはグローバルネットワーク(たとえば、インターネット)などの、パケットベースネットワークの一部を形成し得る。チャネル16は、ソースデバイス12から宛先デバイス14への通信を容易にするルータ、スイッチ、基地局、または他の機器などの、様々なタイプのデバイスを含み得る。
[0035]別の例では、チャネル16は、ソースデバイス12によって生成された符号化されたビデオデータを記憶する記憶媒体を含み得る。この例では、宛先デバイス14は、(たとえば、ディスクアクセスまたはカードアクセスを介して)記憶媒体にアクセスし得る。記憶媒体は、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、または符号化ビデオデータを記憶するための他の適切なデジタル記憶媒体などの、様々なローカルにアクセスされるデータ記憶媒体を含み得る。
[0036]さらなる例では、チャネル16は、ソースデバイス12によって生成された符号化ビデオデータを記憶する、ファイルサーバまたは別の中間ストレージデバイスを含み得る。この例では、宛先デバイス14は、(たとえば、ストリーミングまたはダウンロードを介して)ファイルサーバまたは他の中間ストレージデバイスに記憶された符号化ビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶することと、符号化ビデオデータを宛先デバイス14に送信することとが可能なタイプのサーバであり得る。例示的なファイルサーバとしては、(たとえば、ウェブサイト用の)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、およびローカルディスクドライブがある。
[0037]宛先デバイス14は、インターネット接続などの標準的なデータ接続を介して符号化ビデオデータにアクセスし得る。例示的なタイプのデータ接続は、ファイルサーバに記憶されている符号化ビデオデータにアクセスするのに適した、ワイヤレスチャネル(たとえば、Wi−Fi(登録商標)接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、またはその両方の組合せを含み得る。ファイルサーバからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せであり得る。
[0038]本開示の技法は、ワイヤレスの用途または設定に限定されない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、(たとえば、インターネットを介した)ストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶されたビデオデータの復号、または他の用途などの様々なマルチメディア用途をサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオ電話などの用途をサポートするために、単方向または双方向のビデオ送信をサポートするように構成され得る。
[0039]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。いくつかの例では、出力インターフェース22は、変調器/復調器(モデム)および/または送信機を含み得る。ビデオソース18は、ビデオキャプチャデバイス(たとえば、ビデオカメラ)、以前にキャプチャされたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェース、および/もしくはビデオデータを生成するためのコンピュータグラフィックスシステム、またはビデオデータのそのようなソースの組合せを含み得る。
[0040]ビデオエンコーダ20は、ビデオソース18からのビデオデータを符号化することができる。いくつかの例では、ソースデバイス12は、出力インターフェース22を介して宛先デバイス14に符号化ビデオデータを直接送信する。他の例では、符号化ビデオデータはまた、復号および/または再生のための宛先デバイス14による後のアクセスのために、記憶媒体またはファイルサーバに記憶され得る。
[0041]図1の例では、宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。いくつかの例では、入力インターフェース28は、受信機および/またはモデムを含む。入力インターフェース28は、チャネル16を介して符号化ビデオデータを受信し得る。ディスプレイデバイス32は、宛先デバイス14と一体化され得るか、またはその外部にあり得る。概して、ディスプレイデバイス32は、復号ビデオデータを表示する。ディスプレイデバイス32は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの、様々なディスプレイデバイスを備え得る。
[0042]いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、高効率ビデオコーディング(HEVC)規格などのビデオ圧縮規格、またはHEVC範囲拡張などのその拡張に従って動作する。「HEVC Working Draft 10」または「WD10」と呼ばれるHEVC規格のドラフトは、Brossら、「High efficiency video coding(HEVC)text specification draft 10(FDIS&Consentに対して)」、ITU−T SG16 WP3とISO/IEC JTC1/SC29/WG11のビデオコーディング共同研究部会(JCT−VC)、第12回会合:ジュネーブ、スイス、2013年1月14〜23日に記載されており、この文書は、http://phenix.int−evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC−L1003−v20.zipから入手可能であり、その内容全体は参照により本明細書に組み込まれる。しかしながら、本開示の技法は、いかなる特定のコーディング規格またはコーディング技法にも限定されない。
[0043]図1は例にすぎず、本開示の技法は、ビデオ符号化デバイスとビデオ復号デバイスとの間の任意のデータ通信を必ずしも含まないビデオコーディング設定(たとえば、ビデオ符号化またはビデオ復号)に適用され得る。他の例では、データが、ローカルメモリから取り出されること、ネットワークを介してストリーミングされることなどが行われる。ビデオ符号化デバイスはデータを符号化し、メモリに記憶することができ、および/または、ビデオ復号デバイスはメモリからデータを取り出し、復号することができる。多くの例では、ビデオ符号化およびビデオ復号は、互いに通信しないが、メモリにデータを符号化し、および/またはメモリからデータを取り出して復号するだけである、デバイスによって実行される。
[0044]ビデオエンコーダ20およびビデオデコーダ30は、各々1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ハードウェア、またはそれらの任意の組合せなどの、様々な適切な回路のいずれかとして実装され得る。本技法がソフトウェアに部分的に実装される場合、デバイスは、適切な非一時的コンピュータ可読記憶媒体にソフトウェア用の命令を記憶することができ、本開示の技法を実行するために1つまたは複数のプロセッサを使用してハードウェア内でそれらの命令を実行することができる。(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む)上記のいずれもが、1つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれる場合があり、両者のいずれかがそれぞれのデバイス中の複合エンコーダ/デコーダ(CODEC)の一部として組み込まれる場合がある。
[0045]本開示は一般に、特定の情報を「シグナリングする」ビデオエンコーダ20に言及し得る。「シグナリング」という用語は一般に、圧縮されたビデオデータを復号するために使用されるシンタックス要素および/または他のデータの通信を指し得る。そのような通信は、リアルタイムまたはほぼリアルタイムで発生し得る。代替的に、そのような通信は、符号化時に符号化されたビットストリーム中でシンタックス要素をコンピュータ可読記憶媒体に記憶する際に発生し得るなど、ある長さの時間にわたって発生することがあり、次いで、ビデオ復号デバイスが、これらのシンタックス要素を、この媒体に記憶された後の任意の時間に取り出し得る。
[0046]上記で簡単に述べられたように、ビデオエンコーダ20は、ビデオデータを符号化する。ビデオデータは、1つまたは複数のピクチャを備え得る。ピクチャの各々は、ビデオの一部を形成する静止画像である。ビデオエンコーダ20がビデオデータを符号化するとき、ビデオエンコーダ20は、ビットストリームを生成し得る。ビットストリームは、ビデオデータのコード化表現を形成する、ビットのシーケンスを含み得る。ビットストリームは、コード化ピクチャと、関連のデータとを含み得る。コード化ピクチャは、ピクチャのコード化表現である。関連のデータは、ビデオパラメータセット(VPS)と、シーケンスパラメータセット(SPS)と、ピクチャパラメータセット(PPS)と、他のシンタックス構造とを含み得る。SPSは、0個以上のピクチャのシーケンスに適用可能なパラメータを含み得る。PPSは、0個以上のピクチャに適用可能なパラメータを含み得る。
[0047]ピクチャは、SL、SCb、およびSCrと示される3つのサンプルアレイを含み得る。SLは、ルーマサンプルの2次元アレイ(すなわち、ブロック)である。ルーマサンプルは、本明細書では「Y」サンプルと呼ばれることもある。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書では「クロマ」サンプルと呼ばれることもある。Cbクロミナンスサンプルは、本明細書では「Uサンプル」と呼ばれることがある。Crクロミナンスサンプルは、本明細書では「Vサンプル」と呼ばれることがある。
[0048]いくつかの例において、ビデオエンコーダ20は、ピクチャのクロマアレイ(すなわち、SCbおよびSCr)をダウンサンプリングすることができる。たとえば、ビデオエンコーダ20は、YUV4:2:0ビデオフォーマット、YUV4:2:2ビデオフォーマット、または4:4:4ビデオフォーマットを使用し得る。YUV4:2:0ビデオフォーマットにおいて、ビデオエンコーダ20は、クロマアレイの高さおよび幅がルーマアレイの2分の1になるようにクロマアレイをダウンサンプリングし得る。YUV4:2:2ビデオフォーマットにおいて、ビデオエンコーダ20は、クロマアレイの幅がルーマアレイの2分の1になり、かつクロマアレイの高さがルーマアレイと同じになるようにクロマアレイをダウンサンプリングし得る。YUV4:4:4ビデオフォーマットにおいて、ビデオエンコーダ20は、クロマアレイをダウンサンプリングしない。
[0049]ピクチャの符号化表現を生成するために、ビデオエンコーダ20は、コーディングツリーユニット(CTU)のセットを生成し得る。CTUの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの2つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用されるシンタックス構造であり得る。コーディングツリーブロックは、サンプルのN×Nのブロックであり得る。CTUは、「ツリーブロック」または「最大コーディングユニット」(LCU)とも呼ばれることもある。HEVCのCTUは、H.264/AVCなどの他の規格のマクロブロックに広い意味で類似し得る。しかしながら、CTUは、必ずしも特定のサイズに限定されるとは限らず、1つまたは複数のコーディングユニット(CU)を含み得る。
[0050]ピクチャを符号化することの一部として、ビデオエンコーダ20は、ピクチャの各スライスの符号化表現(すなわち、コード化スライス)を生成することができる。コード化スライスを生成するために、ビデオエンコーダ20は、一連のCTUを符号化することができる。本開示は、CTUの符号化表現をコード化CTUと呼ぶことがある。いくつかの例では、スライスの各々は、整数個のコード化CTUを含む。
[0051]コード化CTUを生成するために、ビデオエンコーダ20は、CTUのコーディングツリーブロックを1つまたは複数のコーディングブロック、したがって名称「コーディングツリーユニット」に分割するのに、これらのコーディングツリーブロックに対して4分木区分を再帰的に実行し得る。コーディングブロックは、サンプルのN×Nのブロックである。いくつかの例では、CUは、ルーマサンプルアレイと、CbサンプルアレイおよびCrサンプルアレイと、コーディングブロックのサンプルをコーディングするのに使用されるシンタックス構造とを有するピクチャの、ルーマサンプルの1つのコーディングブロックおよびクロマサンプルの2つの対応するコーディングブロックであり得る。ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分することができる。予測ブロックは、同じ予測が適用されるサンプルの矩形(すなわち、正方形または非正方形)ブロックであり得る。CUの予測ユニット(PU)は、ルーマサンプルの予測ブロック、ピクチャのクロマサンプルの2つの対応する予測ブロック、および予測ブロックサンプルを予測するのに使用されるシンタックス構造であり得る。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロックのために、予測ルーマブロックと、予測Cbブロックと、予測Crブロックとを生成することができる。
[0052]ビデオエンコーダ20は、PUのための予測ブロックを生成(たとえば、形成または識別)するために、イントラ予測、インター予測、またはイントラブロックコピー(イントラBC)予測を使用し得る。ビデオエンコーダ20がイントラ予測を使用する場合、ビデオエンコーダ20は、PUと関連付けられたピクチャの復号サンプルに基づいてPUの予測ブロックを形成することができる。
[0053]ビデオエンコーダ20がインター予測を使用する場合、ビデオエンコーダ20は、PUと関連付けられたピクチャ以外の1つまたは複数のピクチャの復号サンプルに基づいてPUの予測ブロックを識別することができる。ビデオエンコーダ20は、PUの予測ブロックを生成するために単予測または双予測を使用することができる。ビデオエンコーダ20が、PUのための予測ブロックを生成するために単予測を使用するとき、PUは、予測ブロックを参照する、単一の動きベクトル(MV)を有し得る。ビデオエンコーダ20が、PUのための予測ブロックを生成するために双予測を使用するとき、PUは、2つのMV(各々が異なる予測ブロックを参照する)を有し得る。
[0054]ビデオエンコーダ20がPUの予測ブロックを識別するためにイントラBC予測を使用する場合、ビデオエンコーダ20は、PUと関連付けられたピクチャの復号サンプルに基づいてPUの予測ブロックを識別することができる。イントラ予測は、PUと関連付けられたピクチャ(すなわち、PUを含むピクチャ)の復号サンプルに基づいてPUの予測ブロックを形成することができる。しかしながら、イントラ予測とは異なり、予測ブロックは、ブロックベクトルと呼ばれるベクトルによって識別されるが、イントラ予測における予測ブロックは、イントラ予測モードに基づいて形成される。したがって、イントラBC予測は、そのための予測ブロックがPUと同じピクチャのサンプル内にあるか、それらのサンプルに基づいているという点でイントラ予測と同様であるが、イントラBC予測は予測ブロックを識別するためにブロックベクトルに依拠し、イントラ予測は予測ブロックを形成するためにイントラ予測モードに基づいているという点で異なる。また、イントラBC予測は、そのための予測ブロックがベクトル(たとえば、インター予測のための動きベクトルおよびイントラBC予測のためのブロックベクトル)によって参照される点でインター予測と同様であるが、予測ブロックがイントラBC予測では同じピクチャ内にあるか、または同じピクチャのサンプルに基づいており、インター予測では異なるピクチャ内にあるという点で異なる。
[0055]ビデオエンコーダ20がCUの1つまたは複数のPUのための予測ブロック(たとえば、ルーマブロック、Cbブロック、およびCrブロック)を識別した後、ビデオエンコーダ20は、CUのための1つまたは複数の残差ブロックを生成することができる。残差ブロック中の各サンプルは、CUの予測ブロックのうちの1つの中のサンプルと、CUの元のコーディングブロックのうちの1つの中の対応するサンプルとの間の差分を示し得る。たとえば、ビデオエンコーダ20は、CUのためのルーマ残差ブロックを生成することができる。CUのルーマ残差ブロック中の各サンプルは、CUの予測ルーマブロックのうちの1つの中のルーマサンプルとCUの元のルーマコーディングブロック中の対応するサンプルとの間の差分を示す。さらに、ビデオエンコーダ20は、CUのためのCb残差ブロックを生成することができる。CUのCb残差ブロック中の各サンプルは、CUの予測Cbブロックのうちの1つの中のCbサンプルと、CUの元のCbコーディングブロック中の対応するサンプルとの間の差分を示し得る。ビデオエンコーダ20は、CUのためのCr残差ブロックを生成することもできる。CUのCr残差ブロック中の各サンプルは、CUの予測Crブロックのうちの1つの中のCrサンプルと、CUの元のCrコーディングブロック中の対応するサンプルとの間の差分を示し得る。
[0056]さらに、ビデオエンコーダ20は、CUの残差ブロック(たとえば、ルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロック)を1つまたは複数の変換ブロック(たとえば、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロック)に分解するために、4分木区分を使用し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形ブロックであり得る。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロック、クロマサンプルの2つの対応する変換ブロック、および変換ブロックサンプルを変換するのに使用されるシンタックス構造であり得る。したがって、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックと関連付けられ得る。TUと関連付けられたルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。
[0057]全部ではないが、一部の例では、ビデオエンコーダ20は、TUの変換ブロック(たとえば、ルーマ変換ブロック)に1つまたは複数の変換を適用することができる。この変換ザは、これらの値をピクセル領域から変換領域に転換する。ビデオエンコーダ20は、一例として、TUのためのルーマ係数ブロックを生成するために変換ブロックに変換を適用することができる。係数ブロックは、変換係数の2次元アレイであり得る。変換係数は、スカラー量であり得る。全部ではないが、一部の例では、ビデオエンコーダ20は、TUのためのCb係数ブロックを生成するために、TUのCb変換ブロックに1つまたは複数の変換を適用することができる。全部ではないが、一部の例では、ビデオエンコーダ20は、TUのためのCr係数ブロックを生成するために、TUのCr変換ブロックに1つまたは複数の変換を適用することができる。
[0058]全部ではないが、一部の例では、ビデオエンコーダ20は、係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後、係数ブロックを量子化し得る。量子化は、一般に、変換係数を表すために使用されるデータの量をできるだけ低減させるために変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。
[0059]ビデオエンコーダ20が係数ブロックを量子化した後、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素をエントロピー符号化することができる。たとえば、ビデオエンコーダ20は、量子化変換係数を示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実行することができる。エントロピー符号化では、ビデオエンコーダ20は、特定の走査順序(たとえば、垂直走査、水平走査、または対角線走査)に従って量子化変換係数を走査する。ビデオエンコーダ20は、ビットストリーム中でエントロピー符号化シンタックス要素を出力し得る。
[0060]残差ブロックを変換および量子化することは、情報の喪失をもたらす(たとえば、逆量子化および逆変換されたブロックは、元の残差ブロックとは異なる)。したがって、残差ブロックが変換および量子化されるビデオコーディングの例は、不可逆コーディングと呼ばれる。いくつかの例では、ビデオエンコーダ20は、残差ブロックの変換をスキップすることができるが、残差ブロックを量子化する。ビデオコーディングのそのような例は、変換スキップコーディングと呼ばれる。変換スキップコーディングは、量子化が情報の喪失の原因であるので、不可逆コーディングの1つの変形形態であり得る。混同を避けるために、変換と量子化の両方を含むビデオコーディング方法を指すのに本説明では不可逆コーディングが使用され、変換はスキップされるが量子化は依然として実行されるビデオコーディング方法を指すのに本説明では変換スキップコーディングが使用される。
[0061]ビデオエンコーダ20は、すべての場合において、変換スキップコーディングまたは不可逆コーディングを実行する必要はない。いくつかの例では、ビデオエンコーダ20は、可逆コーディングを実行し得る。可逆コーディング(transquantバイパスと呼ばれることがある)では、ビデオエンコーダ20は、残差ブロックを変換せず、残差ブロックを量子化しない。この例では、ビデオデコーダ30によって再構成された残差ブロックは、ビデオエンコーダ20によって生成された残差ブロックと同一であるが、不可逆コーディングおよび変換スキップコーディングでは、ビデオデコーダ30によって再構成された残差ブロックは、ビデオエンコーダ20によって生成された残差ブロックとはわずかに異なる場合がある。
[0062]言い換えれば、変換が適用されるとき、この変換は、残差ブロックの残差データの残差値をピクセル領域から変換領域に変換する。いくつかの例では、変換スキップまたは変換バイパスでは、残差データは、残差値をピクセル領域から変換領域に変換する変換が残差値に適用されることなく予測ブロックと現在のブロックとの間の差分からの残差値を含む。
[0063]ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ30は、ビットストリームからシンタックス要素を復号するためにビットストリームを構文解析し得る。ビデオデコーダ30は、ビットストリームから復号されたシンタックス要素に少なくとも部分的に基づいてビデオデータのピクチャを再構築することができる。ビデオデータを再構築するためのプロセスは、概して、ビデオエンコーダ20によって実行されるプロセスの逆であり得る。
[0064]すなわち、ビデオデコーダ30は、不可逆コーディングのための量子化変換係数を決定するためにビットストリーム中のシンタックス要素をエントロピー復号することができ、ビデオエンコーダ20が量子化残差ブロックを構成するために利用したものと同じ走査順序を利用することができる。不可逆コーディングでは、ビデオデコーダ30は、次いで、変換係数を決定するために量子化変換係数を逆量子化することができる。さらに、不可逆コーディングでは、ビデオデコーダ30は、残差ブロックの係数を決定するために変換係数に逆変換を適用することができる。
[0065]しかしながら、変換スキップコーディングでは、ビデオデコーダ30は、量子化係数を決定するためにビットストリーム中のシンタックス要素をエントロピー復号し、ビデオエンコーダ20が量子化残差ブロックを構成するために利用したものと同じ走査順序を利用し、次いで、残差ブロックの係数を決定するために量子化係数を逆量子化することができる。符号化プロセスにおいて変換がスキップされたので、逆変換は必要とされない。可逆コーディング(たとえば、変換バイパスまたは単純にバイパス)では、ビデオデコーダ30は、ビットストリーム中のシンタックス要素をエントロピー復号することができ、ビデオエンコーダ20が残差ブロックの係数を直接決定するために使用したものと同じ走査順序を利用することができる。符号化プロセスにおいて変換と量子化の両方がスキップされたので、逆量子化も逆変換も必要とされない。
[0066]ビデオデコーダ30は、現在のブロックと同じピクチャ(たとえば、イントラ予測またはイントラBC予測に関する)または異なるピクチャ(たとえば、インター予測に関する)内の予測ブロックを決定する。ビデオデコーダ30は、現在のブロックのピクセル値を再構成するために(たとえば、現在のブロックを復号するために)予測ブロック内のピクセル値と残差ブロック内の対応する残差値とを使用する。
[0067]たとえば、ビデオデコーダ30は、現在のCUのPUのための予測サンプルブロック(すなわち、予測ブロック)を決定するために、PUのMVまたはブロックベクトルを使用することができる。加えて、ビデオエンコーダ20が量子化を実行した場合、ビデオデコーダ30は、現在のCUに関連付けられた残差データを逆量子化(たとえば、ビデオエンコーダ20によって実行された量子化の逆)することができる。同様に、ビデオエンコーダ20が変換を実行した場合、ビデオデコーダ30は、現在のCUのTUに関連付けられた変換ブロックを再構成するために変換係数ブロックに関して逆変換(たとえば、ビデオエンコーダ20によって実行された変換の逆)を実行することができる。ビデオデコーダ30は、現在のCUのPUの予測サンプルブロックのサンプルを現在のCUのTUの変換ブロックの対応するサンプルに加算することによって、現在のCUのコーディングブロックを再構築することができる。ピクチャの各CUのコーディングブロックを再構築することによって、ビデオデコーダ30はピクチャを再構築することができる。
[0068]本開示で説明する技法、すなわち、信号伝送される必要があるビデオデータの量を低減させるための別の方法では、ビデオエンコーダ20は、残差ブロックに残差差分パルスコード変調(残差DPCMまたはRDPCM)を適用し得る。いくつかの例では、ビデオエンコーダ20は、変換がスキップまたはバイパスされる場合にのみ、残差DPCMを適用し得る。ビデオデコーダ30は、残差ブロックを再構成するためにRDPCMの逆を適用し得る。
[0069]ビデオエンコーダ20は、様々な順序(たとえば、水平方向順序または垂直方向順序)でRDPCMを適用する場合があるか、またはRDPCMを適用しない場合があり、3つのモード、すなわち、水平RDPCM、垂直RDPCM、および非RDPCMをもたらす。いくつかの例では、ビデオエンコーダ20は、ビデオデコーダ30が残差ブロックを復号するために使用するRDPCMが適用される順序を示す(たとえば、モードを示す)シンタックス要素を信号伝送することができる。
[0070]残差DPCMの背後の基本的な考えは、垂直モードに関して現在の値を予測するために上側の行の値を使用し、垂直モードに関して現在の値を予測するために左側の列の値を使用することである。たとえば、サイズM(行)×N(列)ブロックがあると仮定されたい。この例では、rij,0≦i≦(M−1),0≦j≦(N−1)をHEVC規格において指定されたイントラ予測もしくは動き補償インター予測、またはイントラBC予測を実行した後の予測残差ブロックとする。これは、図4Aおよび図4Bに示される。
[0071]図4Aは、概垂直モードのための残差DPCM方向を示す。図4Bは、概水平モードのための残差DPCM方向を示す。図4Aまたは図4Bの残差ブロックは、任意の成分(たとえば、ルーマ、クロマ、R、G、Bなど)を表し得る。
[0072]残差DPCMにおいて、残差サンプルに予測が適用され、その結果、要素
Figure 2016524409
を有する修正されたM×Nアレイ
Figure 2016524409
が垂直残差DPCMに関しては次のように得られ、
Figure 2016524409
または、水平RDPCMに関しては次のように得られる。
Figure 2016524409
[0073]ビデオエンコーダ20は、ビデオデコーダ30が受信する
Figure 2016524409
の修正残差サンプルを元の残差サンプルRの代わりに信号伝送する。言い換えれば、残差ブロックがサンプルRを含む場合、ビデオエンコーダ20は、RDPCMが適用された残差ブロックを表す、修正残差サンプル
Figure 2016524409
を決定することができる。変換および量子化が実行される場合(たとえば、不可逆の場合)、または変換がスキップされ量子化が実行される場合(たとえば、変換スキップの場合)、または変換と量子化の両方がスキップされる場合(たとえば、可逆の場合)、ビデオエンコーダ20は、RDPCMが適用された残差ブロックに関してそのような関数を実行し、ビデオデコーダ30が元の残差ブロックの残差サンプル(たとえば、RDPCM、変換、および/または量子化の前の残差ブロックの残差サンプル)を再構成する(たとえば、復号する)得られたビットストリームを信号伝送する。
[0074]ビデオデコーダ30の側では、元の残差サンプルは、修正残差サンプルが構文解析された後、次のように、垂直RDPCMに関しては、
Figure 2016524409
と再構成され、
または、水平RDPCMに関しては、
Figure 2016524409
と再構成され得る。
[0075]いくつかの例では、可逆の場合は、すべてのTUサイズにおいて変換がスキップされるが、不可逆の場合は、4×4ブロックにおいてのみ変換がスキップされ得る。また、いくつかの例では、イントラブロックでは、水平走査または垂直走査が使用され得るが、これらの走査は、4×4ブロックサイズおよび8×8ブロックサイズに制限され得る。本開示で説明する技法は、(内容全体が参照により本明細書に組み込まれる、Sole Rojalsらによる、「AhG8:Residue rotation and significance map context for screen content coding」という名称の文書JCTVC−M0333、米国仮出願第61/670,569号、第61/815,148号、第61/833,781号、および第61,890,102号、ならびに米国出願第13/939,037号および第14/259,046号と同様に)RDPCMが走査および回転に基づいて適用され得る残差ブロックの調和またはこれらの残差ブロックに対する様々な制限を対象とする。
[0076]以下は、残差DPCMに関する何らかの追加のコンテキストを提供する。ビデオコーディング共同研究部会(JCTVC)の、インチョン、韓国における2013年4月の会合では、残差差分パルスコード変調(残差DPCMまたはRDPCM)または同等のサンプル適応型角度イントラ予測(SAP)もしくはSAP−HVは、高効率ビデオコーディング(HEVC)規格の範囲拡張に関するドラフト仕様に採用された。残差DPCMは、Leeらによる「RCE2:Test 1−Residual DPCM for HEVC lossless coding」という名称の文書JCTVC−M0079に記載されている。SAP−HVは、Zhouらによる「RCE2:Experimental results on Test 3 and Test 4」という名称の文書JCTVC−M0056,Test 4に記載されている。文書JCTVC−M0079およびJCTVC−M0056は、それらの全体が参照により本明細書に組み込まれる。
[0077]残差DPCMは、可逆コーディングに関するINTRA垂直モードおよびINTRA水平モード(たとえば、ビデオコーディングに関するイントラ予測)の予測残差にDPCMを適用する。内容全体が参照により本明細書に組み込まれる、米国仮出願第61/809,870号、第61/810,218号、および第61/843,144号ならびに米国出願第14/223,874号)は、変換がスキップされるとき、残差DPCMがINTRA垂直モードおよびINTRA水平モードのコーディングにどのように拡張され得るか(たとえば、変換スキップコーディング)について説明する。
[0078]内容全体が参照により本明細書に組み込まれる、Naccariらによる「Inter−Prediction Residual DPCM」という名称の文書JCTVC−M0442において、残差DPCMの可逆コーディングモードに関するINTERブロックへの拡張(たとえば、ビデオコーディングに関するインター予測)が提案される。残差DPCMは、動き補償予測残差に適用される。いくつかの例では、残差DPCMは、イントラBC予測から生成された予測残差に適用される場合もある。
[0079]本開示は、以下の例に関する技法について説明する。以下の例は例示の目的で提供されているにすぎず、限定的と見なされるべきでないことを理解されたい。その上、これらの例は、必ずしも相互排他的であると見なされるべきでなく、これらの例に記載された技法のうちの1つまたは複数は、互いに組み合わせられ得る。言い換えれば、本開示で説明する例示的な技法の組合せまたは並べ替えは、可能である場合があり、本開示によって企図される。
[0080]上述のように、ビデオエンコーダ20は、イントラ予測、インター予測、またはイントラBC予測から生成された残差ブロックにRDPCMを適用することができ、RDPCMが適用される場合、ビデオエンコーダ20は、RDPCMの特定の順序(たとえば、水平RDPCMまたは垂直RDPCMなどのRDPCM方向)を適用する。いくつかの例では、ビデオエンコーダ20は、残差ブロックが変換スキップコード化または変換バイパスコード化される場合にのみ、RDPCMを適用する。言い換えれば、残差ブロックに変換が適用される(たとえば、残差ブロックが変換スキップコード化も変換バイパスコード化もされない)場合、ビデオエンコーダ20は、RDPCMを適用しない場合がある。
[0081]残差ブロックは、TUに対応し得る。いくつかの例では、ビデオエンコーダ20は、残差ブロックを複数のTUに分割し得る。混同を避けるために、本開示は、一般に、係数が(たとえば、ビデオエンコーダ20によって)エントロピー符号化されるか、または(たとえば、ビデオデコーダ30によって)エントロピー復号されるべきブロックを指すのに「残差ブロック」という用語を使用する。たとえば、ビデオエンコーダ20が単一のTUを生成するために現在のブロックと予測ブロックとの間の差分から生じたブロックをさらには分割しない場合、残差ブロックは、このTUに対応する。ビデオエンコーダ20が複数のTUを生成するために現在のブロックと予測ブロックとの間の差分から生じたブロックを分割する場合、残差ブロックは、複数のTUのうちの1つに対応する。
[0082]いくつかの例では、インター予測ブロックまたはイントラBC予測ブロックでは、ビデオエンコーダ20は、RDPCMがオンであるか、またはオフであるか(たとえば、RDPCMが適用されたか否か)とTUレベルにおけるRDPCM(適用される場合)の方向とを信号伝送する。これらの例では、予測ブロックと元のブロックとの間の差分から生じたブロックは、TUに分割され、次いで、ビデオエンコーダ20は、RDPCMが適用されたか否かを示す情報(たとえば、フラグなどのシンタックス要素)と各TUに関するRDPCM(適用される場合)の方向の情報とを信号伝送する。
[0083]いくつかの例では、ビデオエンコーダ20は、TUレベルにおいてではなく、RDPCMが適用されたか否かを示す情報と、CUレベルまたはPUレベルにおける方向(たとえば、RDPCMのモード/方向情報)とを信号伝送し得る。これらの例では、同じモード/方向は、すべてのTUに適用可能である。
[0084]ビデオデコーダ30は、走査順序に基づいて係数値に走査を適用し、本開示は、走査順序を決定するための技法について説明する。たとえば、残差ブロック(たとえば、TU)に関して、ビデオエンコーダ20およびビデオデコーダ30は、残差ブロックがイントラ予測される場合にビデオエンコーダ20およびビデオデコーダ30が適用するRDPCMがインター予測ブロックまたはイントラBC予測ブロックに適用される場合に同じ走査順序を適用し得る。走査順序の例としては、対角線方向、水平方向、および垂直方向がある。いくつかの例では、水平走査および垂直走査は、残差ブロックのサイズがしきい値サイズ以下である(たとえば、TUのブロックサイズが8×8以下である)場合にのみ、適用可能である場合がある。しかしながら、いくつかの例では、走査は、すべてのサイズを含む、他のサイズにも適用可能である場合がある。これらの例では、しきい値サイズは、8×8以外の何らかの他のサイズ、または考えられる最大のブロックサイズであり得る。
[0085]いくつかの例では、イントラ予測ブロックに関して、RDPCMは、いくつかのイントラ予測モードにおいてのみ、すべての残差ブロックサイズ(たとえば、TUサイズ)に適用され得る。たとえば、水平イントラ予測モードでは、ビデオエンコーダ20は、水平RDPCMを適用することができ、垂直イントラ予測モードでは、ビデオエンコーダ20は、垂直RDPCMを適用することができる。イントラ予測ブロックにRDPCMが適用される場合、ビデオエンコーダ20は、RDPCMの順序(たとえば、RDPCMの方向)を信号伝送する必要がない場合がある。むしろ、ビデオエンコーダ20は、イントラ予測モードを示す情報を信号伝送することができ、ビデオデコーダ30は、この例では、RDPCMの方向がイントラ予測モードと同じであることを決定することができる。
[0086]このように、イントラ予測から生成されたTU(たとえば、残差ブロック)に関して、RDPCMの適用は、ビデオエンコーダ20がRDPCMの方向を示す情報を信号伝送しないことがあるという点で暗黙的である場合があり、その理由は、ビデオデコーダ30がRDPCMの方向を示す情報を受信することなくRDPCMの方向を決定することができるからである。たとえば、イントラ予測から生成された残差ブロックに関して、ビデオエンコーダ20は、いくつかのイントラ予測モード(たとえば、水平モードまたは垂直モード)にRDPCMを常に適用することができ、イントラ予測モードに基づいてRDPCMの順序(たとえば、方向)(たとえば、水平イントラ予測モードの場合には水平RDPCM、および垂直イントラ予測モードの場合には垂直RDPCM)を決定することができる。これらの例では、ビデオエンコーダ20は、イントラ予測モードを示す情報を信号伝送することができ、その情報から、ビデオデコーダ30は、RDPCMが適用されたかどうかとRDPCMの方向とを示す明示的な情報を受信することなく、RDPCMが適用されたかどうかとRDPCMの方向とを決定することができる。
[0087]しかしながら、インター予測またはイントラBC予測では、RDPCMは、常に適用されるとは限らない可能性がある。たとえば、ビデオエンコーダ20は、現在のブロックをインター予測またはイントラBC予測することから生成された残差ブロックにRDPCMが適用されるべきかどうかを決定し、そうすることを決定した場合、RDPCMを適用することができる。したがって、イントラ予測とは異なり、インター予測ブロックまたはイントラBC予測ブロックでは、ビデオエンコーダ20は、ビットストリーム中への出力(たとえば、信号伝送)のために、現在のブロックのインター予測またはイントラBC予測から生成された残差ブロックにRDPCMが適用されたかどうかを示す情報を生成することができる。また、RDPCMが適用された場合、ビデオエンコーダ20は、ビットストリーム中への出力(たとえば、信号伝送)のために、RDPCMが適用される順序(たとえば、方向)を示す情報を生成することができる。ビデオデコーダ30は、RDPCMが適用されたかどうかを示す情報を受信および復号し、そうである場合、RDPCMが適用される順序(たとえば、方向)を受信および復号することができる。
[0088]残差ブロックに関して、RDPCMが適用されたか否かに関係なく、ビデオエンコーダ20は、特定の走査順序(たとえば、垂直走査、水平走査、または対角線走査)を使用して残差ブロックの係数を走査する。一例として、8×8以上のサイズのTUでは、ビデオエンコーダ20は、TUを複数の4×4サブブロックに分割することができる。ビデオエンコーダ20は、走査順序によって規定された方法で各サブブロックの係数を走査することができる。同様に、ビデオデコーダ30は、TUの係数を再構成するためにビデオエンコーダ20によって使用されたものと同じ走査順序に基づいてTUの4×4サブブロックの係数を再コンパイルすることができる。
[0089]ビデオエンコーダ20は、係数を走査するために使用される走査順序を決定し、走査順序を示す情報をビデオデコーダ30に信号伝送することが可能である場合があり、その結果、ビデオデコーダ30は、ビデオエンコーダ20が使用したものと同じ走査順序を使用する。しかしながら、いくつかの例では、信号伝送される必要があるデータの量を低減させるために、ビデオエンコーダ20およびビデオデコーダ30は各々、残差ブロックに関する走査順序を決定するのに同じプロセスおよび基準を使用することができる。このように、ビデオエンコーダ20は、信号伝送する必要がなく、ビデオデコーダ30は、走査順序を示す情報を受信する必要がない。
[0090]たとえば、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測を使用して生成された残差ブロックに関する適用されたRDPCMの順序(たとえば、適用されたRDPCMの方向)に基づいて、イントラ予測を使用して生成された残差ブロック(たとえば、TU)に関する走査順序を決定するように構成され得る。いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30がイントラ予測から生成された残差ブロックに関する走査順序を決定するために使用する技法は、残差ブロックにおいて変換が実行されない場合(たとえば、変換スキップの場合または可逆(変換バイパス)の場合)に使用可能である場合がある。しかしながら、本開示で説明する技法は、変換スキップまたは可逆コーディングのいずれかにおいて変換がスキップされる場合にのみ限定されるものと見なされるべきでない。
[0091]一例として、HEVC範囲拡張に関するドラフト仕様の1つでは、イントラ予測された現在のブロックから生成された残差ブロックに垂直RDPCMが適用されたとき、ビデオエンコーダ20およびビデオデコーダ30は、走査順序が残差ブロックの4×4サブブロックにわたって、およびしきい値サイズ(たとえば、8×8)までの残差ブロックサイズにおける残差ブロックの各4×4サブブロック内で使用される水平走査になることを決定することができる。同様に、イントラ予測された現在のブロックから生成された残差ブロックに水平RDPCMが適用されたとき、ビデオエンコーダ20およびビデオデコーダ30は、走査順序が残差ブロックの4×4サブブロックにわたって、およびしきい値サイズ(たとえば、8×8)までの残差ブロックサイズにおける残差ブロックの各4×4サブブロック内で使用される垂直走査になることを決定することができる。残差ブロックサイズが8×8よりも大きい場合、ビデオエンコーダ20およびビデオデコーダ30は、対角線走査を利用するように構成され得る。
[0092]上記の例では、ビデオエンコーダ20およびビデオデコーダ30は、走査順序がRDPCMの順序に直交する走査順序(たとえば、垂直RDPCMでは水平走査および水平RDPCMでは垂直走査)になることを決定するように構成され得る。ただし、本開示で説明する技法は、そのように限定されない。
[0093]たとえば、内容全体が参照により本明細書に組み込まれる、Cohenらによる「Modified coefficient scan order mapping for transform skip mode」という名称の文書JCTVC−J0313では、変換がスキップまたはバイパスされたとき、水平走査順序と垂直走査順序とを交換することが提案された。この場合、ビデオエンコーダ20およびビデオデコーダ30がイントラ予測された現在のブロックに関して生成された残差ブロックに対する水平走査を使用した場合、ビデオエンコーダ20およびビデオデコーダ30は、JCTVC−J0313の技法に基づいて、イントラ予測された現在のブロックに関して生成された残差ブロックに対する垂直走査を使用する。また、ビデオエンコーダ20およびビデオデコーダ30がイントラ予測された現在のブロックに関して生成された残差ブロックに対する垂直走査を使用した場合、ビデオエンコーダ20およびビデオデコーダ30は、JCTVC−J0313の技法に基づいて、イントラ予測された現在のブロックに関して生成された残差ブロックに対する水平走査を使用する。
[0094]本開示で説明する技法では、ビデオエンコーダ20およびビデオデコーダ30は、ビデオエンコーダ20およびビデオデコーダ30がイントラ予測された現在のブロックに関して生成される、RDPCMが適用された残差ブロックの走査順序を決定するために利用する基準と同じ基準を、インター予測された現在のブロックまたはイントラBC予測された現在のブロックに関して生成される、RDPCMが適用された残差ブロックの走査順序を決定するために利用することができる。このように、本開示で説明する技法は、イントラ予測、インター予測、およびイントラBC予測において残差ブロックの係数を走査するために使用されるべき走査順序を決定するための技法を調和させる。
[0095]たとえば、本開示で説明する技法は、イントラ予測から生成されたRDPCM適用の残差ブロックの走査順序を決定するために使用される方式を、インター予測またはイントラBC予測から生成されたRDPCM適用の残差ブロックに拡張することができる。たとえば、ビデオエンコーダ20およびビデオデコーダ30は、残差ブロックにRDPCMが適用される順序に基づいて、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差ブロックの走査順序を決定することができる。現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差ブロックの例としては、インター予測から生成された残差ブロック、または現在のブロックをイントラBC予測することから生成された残差ブロックがある。
[0096]本開示で説明する技法では、ビデオエンコーダ20およびビデオデコーダ30が現在のブロックをインター予測またはイントラBC予測することから生成された残差ブロックに関して決定する走査順序は、残差ブロックが、現在のブロックをイントラ予測することから生成され、現在のブロックをインター予測またはイントラBC予測することから生成された残差ブロックに適用されたRDPCMと同じ順序を用いてRDPCMを適用される場合、残差データを含む残差ブロックに関して使用されるものと同じ走査順序である。イントラ予測から生成された残差ブロックの走査順序と同じである、インター予測またはイントラBC予測から生成された残差ブロックの走査順序については、理解を助けるための要件として説明される。しかしながら、ビデオエンコーダ20およびビデオデコーダ30は、インター予測またはイントラBC予測から生成された残差ブロックがどのように走査されるべきかを決定するために、イントラ予測から生成された残差ブロックがどのように走査されるかを決定するように求められる必要はない。むしろ、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測から生成された残差ブロックの走査順序を決定するために使用されるものと同じ基準をインター予測またはイントラBC予測から生成された残差ブロックの走査順序を決定するために利用するように構成され得る。
[0097]たとえば、イントラ予測の例と同様に、インター予測またはイントラBC予測のいくつかの例において、ビデオエンコーダ20は、変換がスキップまたはバイパスされるTU(たとえば、残差ブロック)にのみRDPCMを適用することができる。また、インター予測またはイントラBC予測では、ビデオエンコーダ20は、残差(たとえば、TU)にRDPCMが適用されたかどうかを示す情報と、そうである場合、RDPCMの方向(たとえば、順序)とを信号伝送することができる。ビデオデコーダ30は、信号伝送された情報に基づいて、残差ブロックの走査順序を決定することができる。このように、ビデオエンコーダ20は、走査順序を示す情報を信号伝送する必要がない場合があり、ビデオデコーダ30は、RDPCMの方向に基づいて走査順序を決定する場合がある。
[0098]上述のように、残差ブロックの走査順序は、水平走査、垂直走査、および対角線走査のうちの1つであり得る。ビデオエンコーダ20およびビデオデコーダ30は、しきい値サイズ(たとえば、8×8)までのTUサイズ(たとえば、残差ブロックサイズ)に関する水平走査または垂直走査を利用することができる。TUサイズがしきい値サイズよりも大きい(たとえば、8×8よりも大きい)場合、ビデオエンコーダ20およびビデオデコーダ30は、対角線走査を利用することができる。
[0099]たとえば、いくつかの例では、現在のブロックをイントラ予測することから生成された残差ブロックに水平RDPCMが適用される場合、ビデオエンコーダ20およびビデオデコーダ30は、走査順序が垂直走査になることを決定する。これらの例では、インター予測またはイントラBC予測から生成された残差ブロックに水平RDPCMが適用される場合、ビデオエンコーダ20およびビデオデコーダ30は、残差ブロックがイントラ予測から生成される場合とまったく同様に、走査順序が、しきい値サイズ(たとえば、8×8)までの残差ブロック(たとえば、TU)のサイズに関する垂直走査になることを決定する。同様に、いくつかの例では、現在のブロックをイントラ予測することから生成された残差ブロックに垂直RDPCMが適用される場合、ビデオエンコーダ20およびビデオデコーダ30は、走査順序が水平走査になることを決定する。これらの例では、インター予測またはイントラBC予測から生成された残差ブロックに垂直RDPCMが適用される場合、ビデオエンコーダ20およびビデオデコーダ30は、残差ブロックがイントラ予測から生成される場合とまったく同様に、走査順序が、しきい値サイズ(たとえば、8×8)までの残差ブロック(たとえば、TU)のサイズに関する水平走査になることを決定する。
[0100]JCTVC−J0313に記載された場合などの、いくつかの場合には、現在のブロックをイントラ予測することから生成された残差ブロックに水平RDPCMが適用される場合、ビデオエンコーダ20およびビデオデコーダ30は、走査順序が水平走査になることを決定する。これらの例では、インター予測またはイントラBC予測から生成された残差ブロックに水平RDPCMが適用される場合、ビデオエンコーダ20およびビデオデコーダ30は、JCTVC−J0313に記載された技法において残差ブロックがイントラ予測から生成される場合とまったく同様に、走査順序が、しきい値サイズ(たとえば、8×8)までの残差ブロックサイズに関する水平走査になることを決定する。同様に、JCTVC−J0313に記載された技法において、現在のブロックをイントラ予測することから生成された残差ブロックに垂直RDPCMが適用される場合、ビデオエンコーダ20およびビデオデコーダ30は、走査順序が垂直走査になることを決定する。これらの例では、インター予測またはイントラBC予測から生成された残差ブロックに垂直RDPCMが適用される場合、ビデオエンコーダ20およびビデオデコーダ30は、残差ブロックがイントラ予測から生成される場合とまったく同様に、走査順序が、しきい値サイズ(たとえば、8×8)までの残差ブロックサイズに関する垂直走査になることを決定する。
[0101]上述のように、残差ブロックがインター予測またはイントラBC予測から生成される例では、ビデオエンコーダ20は、RDPCMが適用される順序(たとえば、方向)(たとえば、垂直RDPCMまたは水平RDPCMが適用されるかどうか)を示す情報を符号化する(たとえば、出力および信号伝送のために生成する)ことができる。ビデオデコーダ30は、RDPCMが適用される順序を示す情報を復号することができ、上述のように走査順序を決定することができる。いくつかの場合には、上記の例は、8×8までの残差ブロックサイズに適用可能であり得る(たとえば、水平走査順序または垂直走査順序は8×8までのブロックサイズに使用可能であり、対角線走査は8×8より大きいサイズに使用可能である場合がある)。
[0102]上述した例では、ビデオエンコーダ20およびビデオデコーダ30は、しきい値サイズ(たとえば、8×8)以下のブロックサイズを有する残差ブロックにのみ水平走査または垂直走査を適用することができる。これらの例では、ビデオエンコーダ20およびビデオデコーダ30は、残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定することができる。ビデオエンコーダ20およびビデオデコーダ30は、RDPCMの方向(たとえば、水平方向または垂直方向)と、残差ブロックのサイズがしきい値サイズ以下であるかどうかとに基づいて残差ブロックの走査順序を決定することができる。
[0103]さらに、RDPCMは、残差ブロックがインター予測またはイントラBC予測から生成される際のすべての事例において適用されない場合がある。たとえば、インター予測またはイントラBC予測にRDPCMが適用される必要がないことをビデオエンコーダ20が決定した場合、ビデオエンコーダ20は、RDPCMが適用されないことを示す情報を信号伝送することができる。RDPCMが適用されない、そのような場合では、ビデオエンコーダ20およびビデオデコーダ30は、走査順序が対角線走査になることを決定することができる。この場合でさえ、イントラ予測との調和がある場合がある。たとえば、イントラ予測および変換スキップを用いて生成された残差ブロックにRDPCMが適用されない場合、走査は、対角線方向になる場合がある。
[0104]インター予測またはイントラBC予測から生成された残差ブロックでは、RDPCMが適用される場合、ビデオエンコーダ20は、RDPCMが適用されたことを示す情報を符号化する。いくつかの例では、ビデオエンコーダ20は、TUレベルではなく、PUレベルまたはCUレベルにおいてそのような情報を符号化することができる。これらの例では、ビデオエンコーダ20およびビデオデコーダ30は、走査順序が、PUレベルコーディングの場合にPU境界と交差せず、サイズ制限(たとえば、8×8まで)を満足する、すべてのTUに対する垂直走査または水平走査のうちの1つになることを決定することができる。いくつかの例では、ビデオエンコーダ20は、サイズ制限を信号伝送することができ、ビデオデコーダ30は、信号伝送からサイズ制限を決定する。言い換えれば、垂直走査または水平走査が使用され得る際の8×8のサイズ制限は、一例にすぎず、ビデオエンコーダ20によってビデオデコーダ30に信号伝送されるサイズ、またはビデオエンコーダ20およびビデオデコーダ30がプリプログラムされるサイズを含む、他のサイズが可能である。
[0105]上記の例は、イントラ予測されたブロックの残差にRDPCMが適用されたとき、およびインター予測またはイントラBC予測されたブロックの残差にRDPCMが適用されるときに走査順序を決定するために同じ技法が使用されるように走査順序を決定するための技法を調和させることについて説明した。ただし、本開示で説明する技法は、そのように限定されない。
[0106]たとえば、現行のHEVC規格では、不可逆コーディングにおいて、量子化(たとえば、変換スキップコーディング)が依然として実行される以外は、ビデオエンコーダ20は、サイズ4×4のTUにのみ変換スキップを適用することができる。いくつかの例では、ビデオエンコーダ20は、イントラ予測、インター予測、またはイントラBC予測から生成された残差ブロックに対する残差DPCMを、不可逆の場合に変換がスキップされ得る残差ブロックにのみ適用する(たとえば、残差DPCMの適用を不可逆の場合に変換がスキップされ得るイントラブロックまたはインターブロックに制限する)ように構成され得る。ビデオデコーダ30が概してビデオエンコーダ20のプロセスの逆を実行するので、ビデオデコーダ30は、同様に、イントラ予測、インター予測、またはイントラBC予測から生成された残差ブロックに対する残差DPCMを、不可逆の場合に変換がスキップされ得る残差ブロックにのみ適用する(たとえば、残差DPCMの適用を不可逆の場合に変換がスキップされ得るイントラブロックまたはインターブロックに制限する)ように構成され得る。
[0107]不可逆の場合に変換がスキップされ得る残差ブロックにのみRDPCMが適用され得るという制限は、可逆の場合のビデオエンコーダ20またはビデオデコーダ30による残差DPCMの適用を、不可逆の場合に変換がスキップされ得る、これらのブロックサイズに制限することもできる。現在、4×4ブロックに対して変換がスキップされる場合があり、しかしながら、(たとえば、HEVCの将来のバージョンにおいて)8×8などの他のブロックサイズに対する変換スキップを行うのが可能である場合がある。
[0108]少なくとも、米国仮出願第61/815,148号または米国出願第13/939,027号および第14/259,046号では、予測残差の回転の適用を、不可逆コーディングモードにおいて変換がスキップされ得るブロックサイズに制限することが提案された。言い換えれば、ビデオエンコーダ20およびビデオデコーダ30は、不可逆コーディングモードにおいて変換がスキップされ得るブロックサイズに対してのみ予測残差を回転させるように構成され得る。いくつかの例では、ビデオエンコーダ20は、情報を信号伝送することができ、ビデオデコーダ30は、いくつかの例として、スライスヘッダ、ピクチャパラメータセット(PPS)、および/またはシーケンスパラメータセット(SPS)内で不可逆コーディングモードにおいて変換がスキップされ得るブロックサイズを示す情報を受信することができる。
[0109]これら2つの概念を組み合わせることは、不可逆コーディングモードにおいて変換がスキップされ得るブロックサイズに対してのみ残差DPCMおよび予測残差の回転が適用され得るという制限をもたらし得る。言い換えれば、いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、不可逆コーディングモードにおいて変換がスキップされる残差ブロックサイズに対してのみRDPCMおよび予測残差の回転が適用され得るように構成され得る。
[0110]このように、いくつかの場合には、変換スキップ、予測残差の回転、および残差DPCMに関するサイズ間の調和が存在することがある。ビデオエンコーダ20は、情報を信号伝送することができ、ビデオデコーダ30は、変換スキップ、回転、または残差DPCMが適用され得るブロックのサイズを示す情報を受信することができる。いくつかの場合には、変換スキップ、予測残差の回転、および残差DPCMに関するサイズ間の調和が存在することがある。これらの場合には、変換スキップ、予測残差の回転、および残差DPCMのサイズ間の調和のために、ビデオエンコーダ20は、情報を信号伝送することができ、ビデオデコーダ30は、変換スキップ、回転、または残差DPCMのうちの1つのみのサイズを示す情報を受信することができる。これらの例では、ビデオデコーダ30は、調和のためにサイズを示す情報がすべて(たとえば、この例では、変換スキップ、回転、および残差DPCM)に適用可能であることを決定することができ、ビデオエンコーダ20は、変換スキップ、回転、および残差DPCMが適用されるのが可能になる際のサイズを別個に信号伝送する必要がない場合がある。
[0111]上記のように、ビデオエンコーダ20は、そのような情報を信号伝送することができ、ビデオデコーダ30は、スライスヘッダ、PPS、および/またはSPSにおいてそのような情報を受信することができる。いくつかの例では、ビデオデコーダ30は、そのような情報を用いて事前構成される場合があり、ビデオエンコーダ20は、そのような情報を必ずしも信号伝送する必要がない。調和を対象とするそのような技法は、本開示全体にわたって説明する例にも適用可能である場合がある。
[0112]いくつかの例では、サイズ制限は、残差DPCMが適用され得るブロックに課され得る。たとえば、ビデオエンコーダ20は、いくつかの例として、スライスヘッダ、ピクチャパラメータセット(PPS)、および/またはシーケンスパラメータセット(SPS)におけるサイズ制限を示す情報を信号伝送することができる。ビデオデコーダ30は、いくつかの例として、スライスヘッダ、PPS、またはSPSからサイズ制限を決定することができる。いくつかの事例では、ビデオエンコーダ20がサイズ制限を示す情報を信号伝送することが必要でない場合があり、ビデオデコーダ30は、そのような情報を用いて事前構成され得る。サイズ制限が存在する例では、いくつかの場合には、ビデオエンコーダ20は、ビデオデコーダ30による後続の取出しのためにそのような情報を信号伝送する場合があり、いくつかの場合には、ビデオデコーダ30は、そのような情報を用いて事前構成される場合があり、ビデオエンコーダ20は、サイズ制限を示す情報を信号伝送する必要がない。
[0113]方形ブロックでは、残差DPCMは、特定のサイズ(たとえば、8×8)までのブロックサイズにのみ適用され得る。たとえば、ビデオエンコーダ20およびビデオデコーダ30は、特定のサイズまでの残差ブロックのブロックサイズにのみ残差DPCMを適用するように構成され得る。この例では、ビデオエンコーダ20は、8×8であるサイズを示す情報を信号伝送することができ、ビデオデコーダ30は、8×8よりも大きい残差ブロックに対して、残差DPCMが適用されない場合があることを決定することができる。いくつかの例では、ビデオデコーダ30は、残差DPCMが適用され得る残差ブロックサイズを示す情報を用いて事前構成される場合があり、ビデオエンコーダ20は、そのような情報を信号伝送する必要がない場合がある。
[0114]このサイズ制限は、可逆モードおよび不可逆モードに対して別個に設定される場合があり、ビデオデコーダ30による後続の取出しのためにビデオエンコーダ20によって信号伝送される場合があるか、または、ビデオデコーダ30は、可逆モードおよび不可逆モードに対するサイズ制限を示す情報を用いて事前構成される場合がある。たとえば、不可逆モードでは、残差DPCMに関するサイズ制限は、不可逆コーディングに関して変換がスキップされ得るブロックサイズ以下であり得る(およびいくつかの例では、そうでなければならない)。可逆モードでは、サイズ制限は、最小のTUサイズ以上であり得る(およびいくつかの例では、そうでなければならない)。
[0115]これらの例では、不可逆モードにおいて、ビデオエンコーダ20およびビデオデコーダ30は、残差ブロックサイズが不可逆コーディングに関して変換がスキップされ得るブロックサイズよりも大きい場合、残差DPCMを適用しない場合がある。また、可逆モードにおいて、ビデオエンコーダ20およびビデオデコーダ30は、残差ブロックサイズが最小のTUよりも小さい場合、残差DPCMを適用しない場合がある。
[0116]矩形ブロックでは、サイズ制限は、ブロックの幅および高さの最大値、またはブロックの幅および高さの最小値に適用され得る。たとえば、ビデオエンコーダ20およびビデオデコーダ30は、ブロックの最大幅および/もしくは高さよりも大きいか、またはブロックの幅および高さよりも小さい残差ブロックサイズに対する残差DPCMを制限される(たとえば、この残差DPCMを避けるように構成される)場合がある。ビデオエンコーダ20は、そのような情報を信号伝送することができ、ビデオデコーダ30は、そのような情報を後で取り出すことができる。
[0117]また、RDPCMのサイズ制限は、イントラ予測およびインター予測されたCU/フレームに対して異なる場合がある。たとえば、イントラの場合には、ビデオエンコーダ20およびビデオデコーダ30は、8×8の最大サイズへの制限の悪影響を受けない(たとえば、8×8の最大サイズへの制限は性能における不利益がほとんどない)場合があるが、16×16および32×32のRDPCMが除去されるので、複雑性は低減される。インターの場合には、この制限は、より大きいサイズ(たとえば、16×16)に設定される場合があり、その理由は、この場合には、低減による性能の不利益がより大きくなる場合があるからである。
[0118]いくつかの例では、イントラコード化ブロックにおいて、8×8までのブロックサイズに対して、対角線走査に加えて、水平走査および垂直走査が使用され得る。たとえば、ビデオエンコーダ20およびビデオデコーダ30が現在のブロックをイントラ予測することになっている場合、ビデオエンコーダ20およびビデオデコーダ30は、8×8までの残差ブロックサイズに関する残差ブロックの係数に対して水平走査または垂直走査を使用することができる。この例では、変換スキップサイズ、残差DPCMが適用される最大のブロックサイズ、および予測残差が180度だけ(または90度もしくは270度だけ)回転される最大ブロックサイズは、同じである必要がある場合がある。たとえば、ビデオエンコーダ20およびビデオデコーダ30が変換スキップ、RDPCM、ならびに180度、90度、および/または270度だけの回転を適用し得る残差ブロックのブロックサイズ間の調和が存在する場合がある。
[0119]いくつかの例では、インターブロックにRDPCMを適用する(たとえば、インター予測またはイントラBC予測から生成された残差ブロックにRDPCMを適用する)場合には、RDPCM(たとえば、水平RDPCMまたは垂直RDPCM)の順序(方向)は、PUの形状に依存する場合がある。たとえば、PUが水平矩形形状を有する場合、その矩形形状が垂直方向によりも水平方向に長い場合、ビデオエンコーダ20およびビデオデコーダ30は、PUが垂直RDPCMを使用することを決定することができる。PUが垂直矩形形状である場合、その矩形形状が水平方向によりも垂直方向に長い場合、ビデオエンコーダ20およびビデオデコーダ30は、PUが水平RDPCMを使用することを決定することができる。
[0120]方形PUでは、ビデオエンコーダ20およびビデオデコーダ30は、RDPCMが使用されないことを決定することができる。しかしながら、いくつかの例では、方形PUは、同時に両方のRDPCMを使用することもできる。たとえば、ビデオエンコーダ20およびビデオデコーダ30は、垂直RDPCMを適用し、続いて水平RDPCMを適用することができる。上述の例示的な技法と同様に、ビデオエンコーダ20およびビデオデコーダ30が残差ブロックに適用する走査順序は、RDPCMの方向に基づいている場合がある(たとえば、JCTVC−J0313に記載されているように、垂直RDPCMには水平走査、および水平RDPCMには垂直走査、またはその逆)。
[0121]図2は、本開示の技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。図2は、説明のために提供されるものであり、本開示で広く例示され説明される技法を限定するものと見なされるべきではない。説明の目的で、本開示は、HEVC規格の範囲拡張などの、HEVCコーディングのコンテキストにおいてビデオエンコーダ20について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
[0122]図2に示すように、ビデオデータメモリ99は、ビデオピクチャ内で現在のビデオブロックを符号化するために使用されるビデオデータを受信する。ビデオデータメモリ99は、ビデオエンコーダ20の(たとえば、ビデオデータを記憶するように構成された)構成要素によって符号化されるべきビデオデータを記憶するか、ビデオピクチャを符号化するために使用されるべきビデオデータを記憶することができる。ビデオデータメモリ99に記憶されたビデオデータは、たとえば、ビデオソース18から取得され得る。復号ピクチャバッファ116は、(たとえば、イントラ予測コーディングモード、インター予測コーディングモード、またはイントラBC予測コーディングモードとも呼ばれる、イントラコーディングモード、インターコーディングモード、またはイントラBCコーディングモードで)ビデオエンコーダ20によってビデオデータを符号化する際に使用するための、参照ビデオデータを記憶する復号ピクチャバッファ(DPB)の一例である。ビデオデータメモリ99およびDPB116は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ99およびDPB116は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ99は、ビデオエンコーダ20の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
[0123]図2の例では、ビデオエンコーダ20は、予測処理ユニット100と、残差生成ユニット102と、変換処理ユニット104と、量子化ユニット106と、逆量子化ユニット108と、逆変換処理ユニット110と、再構成ユニット112と、フィルタユニット114と、復号ピクチャバッファ116と、エントロピー符号化ユニット118とを含む。予測処理ユニット100は、インター予測処理ユニット120と、イントラ予測処理ユニット126とを含む。インター予測処理ユニット120は、動き推定ユニット122と、動き補償ユニット124とを含む。他の例では、ビデオエンコーダ20は、より多数の、より少数の、または異なる機能構成要素を含み得る。いくつかの例において、インター予測処理ユニット120はまた、イントラBC予測を実行するように構成され得る。この場合、動き推定ユニット122および動き補償ユニット124は、動きを推定および補償していないが、代わりに、イントラ予測が機能しない場合があるピクチャの小さい変化を推定および補償している場合もある。
[0124]ビデオエンコーダ20は、ビデオデータを受信することができる。ビデオエンコーダ20は、ビデオデータのピクチャのスライス中の各CTUを符号化することができる。CTUの各々は、等しいサイズのルーマコーディングツリーブロック(CTB)と、ピクチャの対応するクロマCTBとに関連付けられ得る。CTUを符号化することの一部として、予測処理ユニット100は、CTUのCTBを徐々により小さいブロックに分割するために4分木区分を実行することができる。より小さいブロックは、CUのコーディングブロックであり得る。たとえば、予測処理ユニット100は、CTUと関連付けられたCTBを4つの等しいサイズのサブブロックに区分し、サブブロックの1つまたは複数を、4つの等しいサイズのサブサブブロックに区分することができ、以下同様である。
[0125]ビデオエンコーダ20は、CUの符号化表現(すなわち、コード化CU)を生成するために、CTUのCUを符号化することができる。CUを符号化することの一部として、予測処理ユニット100は、CUの1つまたは複数のPUの間でCUと関連付けられたコーディングブロックを区分することができる。したがって、各PUは、ルーマ予測ブロックと、対応するクロマ予測ブロックとに関連付けられる(すなわち、対応する)場合がある。ビデオエンコーダ20およびビデオデコーダ30は、様々なサイズを有するPUをサポートし得る。上記で示したように、CUのサイズはCUのルーマコーディングブロックのサイズを指すことがあり、PUのサイズはPUのルーマ予測ブロックのサイズを指すことがある。特定のCUのサイズが2N×2Nと仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測の場合は2N×2NまたはN×NのPUサイズをサポートすることができ、インター予測の場合は2N×2N、2N×N、N×2N、N×N、または同様の対称のPUサイズをサポートすることができる。ビデオエンコーダ20およびビデオデコーダ30は、インター予測用の2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズ用の非対称区分化をサポートすることもできる。
[0126]インター予測処理ユニット120は、CUの各PUに対してインター予測を実行することによってPUの予測データを生成し、イントラBC予測を除いて同様の機能を実行することができる。PUの予測データは、PUの予測サンプルブロック、およびPUの動き情報、またはPUのブロックベクトルを含み得る。インター予測処理ユニット120は、PUがIスライス中にあるのか、Pスライス中にあるのか、Bスライス中にあるのかに応じて、CUのPUに対して異なる演算を実行し得る。Iスライス中では、すべてのPUがイントラ予測される。したがって、PUがIスライス中にある場合、インター予測処理ユニット120はPUに対してインター予測を実行しない。したがって、Iモードで符号化されるブロックでは、予測されるブロックは、同じフレーム内の以前に符号化された隣接ブロックからの空間的予測を使用して形成される。
[0127]PUがPスライス中にある場合、動き推定ユニット122は、PUのための参照領域について参照ピクチャのリスト(たとえば、「RefPicList0」)中の参照ピクチャを探索し得る。PUの参照領域は、PUのサンプルブロックに最も密接に対応するサンプルブロックを含む参照ピクチャ内の領域であり得る。動き推定ユニット122は、PUのための参照領域を含む参照ピクチャのRefPicList0中の位置を示す参照インデックスを生成することができる。加えて、動き推定ユニット122は、PUのコーディングブロックと参照領域に関連付けられた参照位置との間の空間変位を示すMVを生成することができる。たとえば、MVは、現在の復号されたピクチャ中の座標から参照ピクチャ中の座標までのオフセットを提供する2次元ベクトルであり得る。動き推定ユニット122は、PUの動き情報として参照インデックスおよびMVを出力することができる。動き補償ユニット124は、PUの動きベクトルによって示された参照位置における実際のまたは補間されたサンプルに基づいて、PUの予測サンプルブロックを生成することができる。
[0128]PUがBスライス中にある場合、動き推定ユニット122は、PUのために単予測または双予測を実行することができる。PUのための単予測を実行するために、動き推定ユニット122は、PUのための参照領域についてRefPicList0または第2の参照ピクチャリスト(「RefPicList1」)の参照ピクチャを探索することができる。動き推定ユニット122は、PUの動き情報として、参照領域を含む参照ピクチャのRefPicList0またはRefPicList1中の位置を示す参照インデックスと、PUのサンプルブロックと参照領域に関連付けられた参照位置との間の空間変位を示すMVと、参照ピクチャがRefPicList0中にあるかRefPicList1中にあるかを示す1つまたは複数の予測方向インジケータとを出力することができる。動き補償ユニット124は、PUの動きベクトルによって示される参照領域における実際のサンプルまたは補間されたサンプルに少なくとも部分的に基づいて、PUの予測サンプルブロックを生成することができる。
[0129]PUのための双方向インター予測を実行するために、動き推定ユニット122は、PUのための参照領域についてRefPicList0中の参照ピクチャを探索することができ、PUのための別の参照領域についてRefPicList1中の参照ピクチャを探索することもできる。動き推定ユニット122は、参照領域を含む参照ピクチャのRefPicList0およびRefPicList1中の位置を示す参照ピクチャインデックスを生成することができる。加えて、動き推定ユニット122は、参照領域に関連付けられる参照位置とPUのサンプルブロックとの間の空間変位を示すMVを生成することができる。PUの動き情報は、PUの参照インデックスとMVとを含み得る。動き補償ユニット124は、PUの動きベクトルによって示される参照領域における実際のサンプルまたは補間されたサンプルに少なくとも部分的に基づいて、PUの予測サンプルブロックを生成することができる。
[0130]本開示の1つまたは複数の技法によれば、予測処理ユニット100内の1つまたは複数のユニットは、ビデオ符号化プロセスの一部として、本明細書で説明する技法のうちの1つまたは複数を実行することができる。ただし、本開示で説明する技法は、そのように限定されない。いくつかの例では、予測処理ユニット100は、1つまたは複数の他のユニットと組み合わせて、本開示で説明する技法のうちの1つまたは複数を実行することができる。いくつかの例では、プロセッサ(図示せず)は、単独で、またはビデオエンコーダ20の1つまたは複数のユニットと組み合わせて、本開示で説明する例示的な技法を実装することができる。たとえば、ビデオエンコーダ20は、1つまたは複数のプロセッサを備えるものと見なされる場合があり、これらの1つまたは複数のプロセッサは、本開示で説明する例示的な技法を実装するように構成され得る。
[0131]イントラ予測処理ユニット126は、PUに対してイントラ予測を実行することによって、PUの予測データを生成することができる。PUの予測データは、PUの予測サンプルブロックと様々なシンタックス要素とを含み得る。イントラ予測処理ユニット126は、Iスライス、Pスライス、およびBスライス中のPUに対してイントラ予測を実行することができる。
[0132]PUに対してイントラ予測を実行するために、イントラ予測処理ユニット126は、PUの予測データの複数のセットを生成するために、複数のイントラ予測モードを使用することができる。いくつかのイントラ予測モードでは、イントラ予測処理ユニット126は、そのイントラ予測モードに関連付けられた方向へ、PUのサンプルブロック全体にわたって、隣接するPUのサンプルブロックからのサンプルを拡張することができる。隣接するPUは、PU、CU、およびCTUについて左から右、上から下の符号化順序を仮定すると、PUの上、右上、左上、または左にあり得る。イントラ予測処理ユニット126は、様々な数のイントラ予測モード、たとえば33個の方向のイントラ予測モードを使用することができる。いくつかの例では、イントラ予測モードの数は、PUに関連付けられた領域(たとえば、予測ブロック)のサイズに依存し得る。
[0133]予測処理ユニット100は、PUのためにインター予測処理ユニット120によって生成された予測データ、またはPUのためにイントラ予測処理ユニット126によって生成された予測データの中から、CUのPUの予測データを選択することができる。いくつかの例では、予測処理ユニット100は、予測データのセットのレート/歪みの尺度に基づいて、CUのPUの予測データを選択する。選択された予測データの予測サンプルブロックは、本明細書では、選択された予測サンプルブロックと呼ばれ得る。
[0134]残差生成ユニット102は、CUの残差ブロックベースのコーディングブロックと選択された予測PUとを生成する(CUのルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロック、ならびにCUのPUの選択された予測ルーマブロック、予測Cbブロック、および予測Crブロックに基づいて、CUのルーマ残差ブロックと、Cb残差ブロックと、Cr残差ブロックとを生成する)ことができる。たとえば、残差生成ユニット102は、残差ブロック中の各サンプルがCUのコーディングブロック中のサンプルとCUのPUの対応する選択された予測サンプルブロック中の対応するサンプルとの間の差分に等しい値を有するようにCUの残差ブロックを生成することができる。
[0135]変換処理ユニット104は、CUの(すなわち、CUに関連付けられた)残差ブロックをCUのTUに関連付けられた変換ブロックに区分するために4分木区分を実行することができる。したがって、TUは、ルーマ変換ブロックおよび2つのクロマ変換ブロックに対応する(すなわち、関連付けられる)場合がある。CUのTUのルーマ変換ブロックおよびクロマ変換ブロックのサイズおよび位置は、CUのPUの予測ブロックのサイズおよび位置に基づくことも基づかないこともある。「残差4分木」(RQT)として知られる4分木構造は、領域の各々に関連付けられたノードを含み得る。CUのTUは、RQTのリーフノードに対応し得る。
[0136]変換処理ユニット104は、残差ブロック(たとえば、TU)の残差データの残差値をピクセル領域から変換領域に変換するためにTUの変換ブロックに1つまたは複数の変換を適用することによってCUの各TUに関する変換係数ブロックを生成することができる。変換処理ユニット104は、TUに関連付けられた変換ブロックに様々な変換を適用することができる。たとえば、変換処理ユニット104は、離散コサイン変換(DCT)、方向変換、または概念的に同様の変換を変換ブロックに適用することができる。いくつかの例において、変換処理ユニット104は、変換ブロックに変換を適用しない。そのような例では、変換ブロックは、変換係数ブロックとして扱われ得る。
[0137]量子化ユニット106は、係数ブロック中の変換係数を量子化することができる。量子化プロセスは、変換係数の一部またはすべてに関連付けられたビット深度を低減し得る。たとえば、nビット変換係数は量子化の間にmビットの変換係数に切り捨てられてよく、ただし、nはmよりも大きい。量子化ユニット106は、CUに関連付けられた量子化パラメータ(QP)値に基づいて、CUのTUに関連付けられた係数ブロックを量子化することができる。ビデオエンコーダ20は、CUに関連付けられたQP値を調整することによって、CUに関連付けられた係数ブロックに適用される量子化の程度を調整することができる。量子化は、情報の喪失をもたらすことがあり、したがって、量子化された変換係数は、元の係数よりも低い精度を有することがある。
[0138]逆量子化ユニット108および逆変換処理ユニット110は、それぞれ、係数ブロックから残差ブロックを再構成するために、係数ブロックに逆量子化および逆変換を適用することができる。再構成ユニット112は、TUに関連付けられた再構成された変換ブロックを生成するために、予測処理ユニット100によって生成された1つまたは複数の予測サンプルブロックの対応するサンプルに、再構成された残差ブロックを加算することができる。ビデオエンコーダ20は、このようにCUの各TUのための変換ブロックを再構成することによって、CUのコーディングブロックを再構成することができる。
[0139]フィルタユニット114は、CUに関連付けられたコーディングブロック中のアーティファクトのブロッキングを低減させるための1つまたは複数のデブロッキング動作、サンプル適応オフセット(SAO)、または適応ループフィルタリング(ALF)を含む、様々なフィルタリング動作のうちのいずれかを実行することができる。復号ピクチャバッファ116は、フィルタユニット114が、再構成されたコーディングブロックに対して1つまたは複数のデブロッキング動作を実行した後、再構成されたコーディングブロックを記憶することができる。インター予測処理ユニット120は、他のピクチャのPUに対してインター予測を実行するために、再構成されたコーディングブロックを含む参照ピクチャを使用することができる。加えて、イントラ予測処理ユニット126は、CUと同じピクチャ中の他のPUに対してイントラ予測を実行するために、復号ピクチャバッファ116中の再構成されたコーディングブロックを使用することができる。
[0140]エントロピー符号化ユニット118は、ビデオエンコーダ20の他の機能構成要素からデータを受け取ることができる。たとえば、エントロピー符号化ユニット118は、量子化ユニット106から係数ブロックを受け取ることができ、予測処理ユニット100からシンタックス要素を受け取ることができる。エントロピー符号化ユニット118は、エントロピー符号化データを生成するために、このデータに対して1つまたは複数のエントロピー符号化演算を実行することができる。
[0141]いくつかの例では、RDPCMが適用されるとき、エントロピー符号化ユニット118は、RDPCMを実行することができる。たとえば、予測処理ユニット100は、エントロピー符号化ユニット118に、RDPCMを適用するように命令し、残差ブロックに対して適用されるべきRDPCMの順序(たとえば、水平RDPCMまたは垂直RDPCM)を規定するように命令することができる。いくつかの例では、図2に示されていないビデオエンコーダ20の構成要素は、RDPCMを実行することができる。上述のように、RDPCMは、残差生成ユニット102、変換処理ユニット104、または量子化ユニット106の出力であり得る、残差ブロックに適用される。
[0142]いくつかの例では、エントロピー符号化ユニット118は、コンテキスト適応型可変長コーディング(CAVLC)演算、CABAC演算、variable−to−variable(V2V)lengthコーディング演算、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)演算、確率間隔区分エントロピー(PIPE)コーディング演算、指数ゴロム符号化演算、または別のタイプのエントロピー符号化演算をデータに対して実行することができる。ビデオエンコーダ20は、エントロピー符号化ユニット118によって生成されたエントロピー符号化されたデータを含むビットストリームを出力することができる。たとえば、ビットストリームは、CUのRQTを表すデータを含み得る。
[0143]要素201は、変換スキップを実施するためのスイッチ(または概念スイッチ)を表す場合がある。制御信号202は変換スキップモードが実施されるべきかどうかを決定する予測処理ユニット100からの信号を表すことができ、要素203は、逆変換処理および逆量子化処理をバイパスする復号ループを表すことができる。いくつかの例では、可逆コーディングは、変換および量子化をなくす。他の例では、可逆コーディングは、変換を実行して量子化処理だけをなくす。さらに他の例では、可逆コーディングは、変換および量子化を使用して実施され得るが、量子化パラメータは、あらゆる量子化データ喪失を避けるように選択され得る。これらおよび他の例は、本開示の範囲内にある。
[0144]要素204および205は、変換スキップモードを実施するために使用され得るスイッチ(または概念スイッチ)を表す。変換スキップモードでは、残差データは変換処理ユニット104によって変換されないが、量子化ユニット106によって量子化される。したがって、要素204の破線は、2つの可能なデータパスを表す。1つのデータでは、残差データは量子化ユニット106によって量子化され、他のデータパスでは、残差データは量子化ユニット106によって量子化されない。同様に、ビデオエンコーダ20の復号ループにおいて、残差データは逆量子化ユニット108によって逆量子化されるが、逆変換処理ユニット110によって変換されない。したがって、要素205の破線は、残差データが逆量子化ユニット108によって逆量子化されるが、逆変換処理ユニット110によって変換されない、代替的なデータパスを表す。
[0145]本開示で説明する技法によれば、ビデオデータメモリ99は、現在のブロックの予測ブロックを記憶するように構成され得る。ビデオエンコーダ20は、第1の残差ブロックに残差差分パルスコード変調(RDPCM)が適用される場合、第1の残差ブロックにRDPCMが適用されるべき方向を決定するように構成され得る。この第1の残差ブロックは、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む。上述のように、残差ブロックは、エントロピー符号化されるべきブロックを指し、TUに対応し得る。たとえば、現在のブロックと予測ブロックとの間の差分は、複数のTUにさらに分割されるか、またはこれ以上分割されない(たとえば、単一のTUとして保持される)ブロックをもたらす場合がある。残差ブロックは、これ以上分割されない単一のTUか、またはさらに分割されるTUのうちの1つである。
[0146]ビデオエンコーダ20はまた、残差DPCMが適用される決定方向に基づいて第1の残差ブロックの走査順序を決定するように構成され得る。再び、第1の残差ブロックは、現在のブロックのインター予測またはイントラBC予測から生成され、第1の残差ブロックに関して、変換がスキップまたはバイパスされ得る。残差DPCMが適用される方向の例としては、垂直残差DPCMおよび水平残差DPCMがある。第1の残差ブロックに対する残差DPCMが垂直残差DPCMであることをビデオエンコーダ20が決定した場合、および第1の残差ブロックのサイズが(しきい値サイズの一例として)8×8以下である場合、ビデオエンコーダ20は、残差ブロックに対する(たとえば、各4×4サブブロックに対する)水平走査を決定することができる。第1の残差ブロックに対する残差DPCMが水平残差DPCMであることをビデオエンコーダ20が決定した場合、および第1の残差ブロックのサイズが(しきい値サイズの一例として)8×8以下である場合、ビデオエンコーダ20は、残差ブロックに対する(たとえば、各4×4サブブロックに対する)垂直走査を決定することができる。
[0147]いくつかの例では、垂直走査または水平走査において、決定方向は、第2の残差ブロックが現在のブロックをイントラ予測することから生成された場合、および第1の残差ブロックに残差DPCMが適用される決定方向と同じ方向を用いて第2の残差ブロックが残差DPCMを適用された場合に、第2の残差ブロックに対して使用されるものと同じ走査順序であることが必要である場合がある。たとえば、いくつかの例では、そのような残差ブロックに使用される走査順序は、残差ブロックが現在のブロックをイントラ予測することから生成されるとき、および残差ブロックが現在のブロックをインター予測またはイントラブロックコピー予測することから生成されるときと同じであることが必要である場合がある。8×8以下のサイズに対してRDPCMが適用される、インター予測、イントラBC予測、およびイントラ予測に関する走査順序の調和については、理解を容易にするために説明され、生成された残差ブロックに関する走査順序の選択は、インター予測と、イントラBC予測と、イントラ予測との間で調和される必要がないことを理解されたい。
[0148]いくつかの例では、第1の残差ブロックに関する決定された走査順序は、第1の残差ブロックが8×8までのサイズ(たとえば、TUのTUサイズは8×8以下である)を有する場合、第2の残差ブロックに対して使用されるものと同じ走査順序であることが必要である場合がある。たとえば、水平RDPCMの適用において、第2の残差ブロックが垂直方向に走査されてきた場合、ビデオエンコーダ20は、第1の残差ブロックに関する走査順序が垂直走査になることを決定することができる。垂直RDPCMの適用において、第2の残差ブロックが水平方向に走査されてきた場合、ビデオエンコーダ20は、第1の残差ブロックに関する走査順序が水平走査になることを決定することができる。別の例として、水平RDPCMの適用において、第2の残差ブロックが水平方向に走査されてきた場合、ビデオエンコーダ20は、第1の残差ブロックに関する走査順序が水平走査になることを決定することができる。垂直RDPCMの適用において、第2の残差ブロックが垂直方向に走査されてきた場合、ビデオエンコーダ20は、第1の残差ブロックに関する走査順序が垂直走査になることを決定することができる。
[0149]ビデオエンコーダ20は、決定された走査順序に基づいて第1の残差ブロックの残差データをエントロピー符号化することができ、残差DPCMが適用される決定方向を示す情報を符号化することができる。ビデオエンコーダ20は、符号化残差データと残差DPCMが適用される決定方向を示す情報とを出力することができる。
[0150]図3は、本開示の技法を実装するように構成された例示的なビデオデコーダ30を示すブロック図である。図3は、説明のために提供されるものであり、本開示において広く例示され説明される技法を限定するものではない。説明の目的で、本開示は、HEVCコーディング規格の範囲拡張などの、HEVCコーディング規格のコンテキストにおいてビデオデコーダ30について説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
[0151]図3の例では、ビデオデータメモリ149は、符号化ビデオを受信する。ビデオデータメモリ149は、ビデオデコーダ30の構成要素によって復号されるために、符号化されたビデオビットストリームなどのビデオデータを記憶する(たとえば、ビデオデータを記憶するように構成される)場合がある。ビデオデータメモリ149に記憶されたビデオデータは、カメラなどのローカルビデオソースから、ビデオデータの有線もしくはワイヤレスのネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって取得され得る。ビデオデータメモリ149は、符号化ビデオビットストリームからの符号化ビデオデータを記憶するコード化ピクチャバッファ(CPB)を形成し得る。
[0152]復号ピクチャバッファ162は、(たとえば、イントラコーディングモード、インターコーディングモード、およびイントラBCコーディングモードで)ビデオデコーダ30によってビデオデータを復号する際に使用するための、参照ビデオデータを記憶する、復号されたピクチャバッファ(DPB)の一例である。ビデオデータメモリ149およびDPB162は、同期DRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗性RAM(RRAM)、または他のタイプのメモリデバイスなどの様々なメモリデバイスのうちのいずれかによって形成され得る。ビデオデータメモリ149およびDPB162は、同じメモリデバイスまたは別個のメモリデバイスによって与えられ得る。様々な例では、ビデオデータメモリ149は、ビデオデコーダ30の他の構成要素とともにオンチップであるか、またはそれらの構成要素に対してオフチップであり得る。
[0153]図3の例では、ビデオデコーダ30は、エントロピー復号ユニット150と、予測処理ユニット152と、逆量子化ユニット154と、逆変換処理ユニット156と、再構成ユニット158と、フィルタユニット160と、復号ピクチャバッファ162とを含む。予測処理ユニット152は、動き補償ユニット164とイントラ予測処理ユニット166とを含む。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能構成要素を含み得る。いくつかの例では、動き補償ユニット164またはイントラ予測処理ユニット166は、イントラBC予測処理も実行するようにさらに構成され得る。
[0154]ビデオデコーダ30は、ビットストリームを受信することができる。エントロピー復号ユニット150は、ビットストリームからシンタックス要素を復号するためにビットストリームを構文解析することができる。エントロピー復号ユニット150は、ビットストリーム中のエントロピー符号化シンタックス要素をエントロピー復号することができる。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、およびフィルタユニット160は、ビットストリームから抽出(たとえば、取得)されたシンタックス要素に基づいて復号ビデオデータを生成することができる。
[0155]いくつかの例では、エントロピー復号ユニット150は、変換スキップ、不可逆、および可逆を用いて符号化された残差ブロックを再構成するためにRDPCMを実行するように構成され得る。いくつかの例では、エントロピー復号ユニット150以外の構成要素は、残差ブロックを再構成するためにRDPCMを実施するように構成され得る。
[0156]ビットストリームは、一連のネットワークアブストラクションレイヤ(NAL)ユニットを備え得る。ビットストリームのNALユニットは、コード化スライスNALユニットを含み得る。ビットストリームを復号することの一部として、エントロピー復号ユニット150は、コード化スライスNALユニットからシンタックス要素を抽出し、エントロピー復号することができる。コード化スライスの各々は、スライスヘッダとスライスデータとを含み得る。スライスヘッダは、スライスに関するシンタックス要素を含み得る。スライスヘッダ中のシンタックス要素は、スライスを含むピクチャと関連付けられたPPSを識別するシンタックス要素を含み得る。
[0157]ビデオデコーダ30は、ビットストリームからのシンタックス要素を復号することに加えて、区分されていないCUに対して再構成動作を実行することができる。区分されていないCUに対して再構成動作を実行するために、ビデオデコーダ30は、CUの各TUに対して再構成動作を実行することができる。CUの各TUに対して再構成行することによって、ビデオデコーダ30は、CUの残差ブロックを再構成することができる。
[0158]CUのTUに対して再構成動作を実行することの一部として、逆量子化ユニット154は、TUに関連付けられた係数ブロックを逆量子化(inverse quantize)、すなわち逆量子化(de-quantize)することができる。逆量子化ユニット154は、量子化の程度を決定するために、また同様に、逆量子化ユニット154が適用すべき逆量子化の程度を決定するために、TUのCUに関連付けられたQP値を使用することができる。つまり、圧縮比、すなわち、元のシーケンスと圧縮されたシーケンスとを表すために使用されるビット数の比は、変換係数を量子化するときに使用されるQPの値を調整することによって制御され得る。圧縮比はまた、採用されるエントロピーコーディングの方法に依存し得る。
[0159]逆量子化ユニット154が係数ブロックを逆量子化した後、逆変換処理ユニット156は、TUに関連付けられた残差ブロックを生成するために、係数ブロックに1つまたは複数の逆変換を適用することができる。たとえば、逆変換処理ユニット156は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向変換、または別の逆変換を、係数ブロックに適用することができる。
[0160]イントラ予測を使用してPUが符号化される場合、イントラ予測処理ユニット166は、PUの予測ブロックを生成するためにイントラ予測を実行することができる。イントラ予測処理ユニット166は、空間的に隣接するPUの予測ブロックに基づいて、PUのための予測ブロック(たとえば、ルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック)を生成するために、イントラ予測モードを使用することができる。イントラ予測処理ユニット166は、ビットストリームから復号された1つまたは複数のシンタックス要素に基づいて、PUのイントラ予測モードを決定することができる。
[0161]予測処理ユニット152は、ビットストリームから抽出されたシンタックス要素に基づいて、第1の参照ピクチャリスト(RefPicList0)と第2の参照ピクチャリスト(RefPicList1)とを構成することができる。さらに、PUがインター予測を使用して符号化される場合、エントロピー復号ユニット150は、PUの動き情報を抽出(たとえば、決定)することができる。動き補償ユニット164は、PUの動き情報に基づいて、PUのための1つまたは複数の参照領域を決定することができる。動き補償ユニット164は、PUのための1つまたは複数の参照領域におけるサンプルブロックに基づいて、PUのための予測ブロック(たとえば、ルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック)を生成することができる。
[0162]本開示の1つまたは複数の技法によれば、予測処理ユニット152内の1つまたは複数のユニットは、ビデオ復号プロセスの一部として、本明細書で説明する技法を実行することができる。ただし、本開示で説明する技法は、そのように限定されない。いくつかの例では、予測処理ユニット152は、1つまたは複数の他のユニットと組み合わせて、本開示で説明する技法のうちの1つまたは複数を実行することができる。いくつかの例では、プロセッサ(図示せず)は、単独で、またはビデオデコーダ30の1つまたは複数のユニットと組み合わせて、本開示で説明する例示的な技法を実装することができる。たとえば、ビデオデコーダ30は、本開示で説明する例示的な技法を実装するように構成された、1つまたは複数のプロセッサを含むことができる。
[0163]再構成ユニット158は、CUのコーディングブロック(たとえば、ルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)を再構成するために、CUのTUに関連付けられた変換ブロック(たとえば、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロック)と、CUのPUの予測ブロック(たとえば、ルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロック)と(すなわち、適宜、イントラ予測データまたはインター予測データのいずれか)を使用することができる。たとえば、再構成ユニット158は、CUのルーマコーディングブロックと、Cbコーディングブロックと、Crコーディングブロックとを再構成するために、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックのサンプルを予測ルーマブロック、予測Cbブロック、および予測Crブロックの対応するサンプルに加算することができる。
[0164]フィルタユニット160は、CUのコーディングブロック(たとえば、ルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)に関連付けられたアーティファクトのブロッキングを低減させるためのデブロッキング動作、SAO、またはALFを含む様々なフィルタリング動作を実行することができる。ビデオデコーダ30は、CUのコーディングブロック(たとえば、ルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)を復号ピクチャバッファ162に記憶することができる。復号ピクチャバッファ162は、後続の動き補償、イントラ予測、および図1のディスプレイデバイス32などのディスプレイデバイス上での表示のために参照ピクチャを提供することができる。たとえば、ビデオデコーダ30は、復号ピクチャバッファ162中のルーマブロック、Cbブロック、およびCrブロックに基づいて、他のCUのPUに対してイントラ予測演算またはインター予測演算を実行することができる。このように、ビデオデコーダ30は、変換ブロックを生成し、変換ブロックに少なくとも部分的に基づいてコーディングブロックを生成し、コーディングブロックを表示のために出力するために、係数ブロックの変換係数レベルをビットストリームから抽出(たとえば、取得)し、変換係数レベルを逆量子化し、変換係数レベルに変換を適用することができる。
[0165]要素302は、通常のコーディングパスを表すことができ、要素301は、逆変換プロセスおよび逆量子化プロセスをバイパスするバイパスコーディングパスを表すことができる。これらの異なるパスは単に例示的なものであり、可逆コーディングは、バイパスを伴わずに実行され得る。いくつかの例では、可逆コーディングは、変換および量子化をなくす。他の例では、可逆コーディングは、変換を実行して量子化プロセスだけをなくす。さらに他の例では、可逆コーディングは、変換および量子化を使用して実施され得るが、量子化パラメータは、あらゆる量子化データ喪失を避けるように選択され得る。これらおよび他の例は、本開示の範囲内にある。要素303は、変換スキップモードのために使用され得るパスの一例を表す。変換スキップモードでは、残差データは逆量子化ユニット154によって逆量子化され得るが、逆変換処理ユニット156の逆変換はスキップされ得る。
[0166]いくつかの例では、ビデオデータメモリ149は、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックを記憶するように構成され得る。ビデオデコーダ30は、第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用される場合、この残差ブロックに残差DPCMが適用される方向を示す情報を復号するように構成され得る。上述のように、残差ブロックは、エントロピー符号化されるべきブロックを指し、TUに対応し得る。たとえば、現在のブロックと予測ブロックとの間の差分は、複数のTUにさらに分割されるか、またはこれ以上分割されない(たとえば、単一のTUとして保持される)ブロックをもたらす場合がある。残差ブロックは、これ以上分割されない単一のTUか、またはさらに分割されるTUのうちの1つである。
[0167]ビデオデコーダ30はまた、方向を示す情報に基づいて第1の残差ブロックの走査順序を決定するように構成され得る。再び、第1の残差ブロックは、現在のブロックのインター予測またはイントラBC予測から生成され、第1の残差ブロックに関して、変換がスキップまたはバイパスされ得る。残差DPCMが適用される方向の例としては、垂直残差DPCMおよび水平残差DPCMがある。第1の残差ブロックに対する残差DPCMが垂直残差DPCMであることを示す情報をビデオデコーダ30が復号した場合、および第1の残差ブロックのサイズが(しきい値サイズの一例として)8×8以下である場合、ビデオデコーダ30は、残差ブロックに対する(たとえば、各4×4サブブロックに対する)水平走査を決定することができる。第1の残差ブロックに対する残差DPCMが水平残差DPCMであることをビデオデコーダ30が決定した場合、および第1の残差ブロックのサイズが(しきい値サイズの一例として)8×8以下である場合、ビデオデコーダ30は、残差ブロックに対する(たとえば、各4×4サブブロックに対する)垂直走査を決定することができる。
[0168]いくつかの例では、決定された走査順序は、第2の残差ブロックが現在のブロックをイントラ予測することから生成された場合、および復号情報に示された方向と同じ方向を用いて第2の残差ブロックが残差DPCMを適用された場合に、第2の残差ブロックに対して使用されるものと同じ走査順序であることが必要である場合がある。たとえば、いくつかの例では、そのような残差ブロックに使用される走査順序は、残差ブロックが現在のブロックをイントラ予測することから生成されるとき、および残差ブロックが現在のブロックをインター予測またはイントラブロックコピー予測することから生成されるときと同じであることが必要である場合がある。
[0169]いくつかの例では、水平走査または垂直走査において、第1の残差ブロックに関する決定された走査順序は、第1の残差ブロックが8×8までのサイズ(たとえば、TUのTUサイズは8×8以下である)を有する場合、第2の残差ブロックに対して使用されるものと同じ走査順序であることが必要である場合がある。たとえば、水平RDPCMの適用において、第2の残差ブロックが垂直方向に走査されてきた場合、ビデオデコーダ30は、第1の残差ブロックに関する走査順序が垂直走査になることを決定することができる。垂直RDPCMの適用において、第2の残差ブロックが水平方向に走査されてきた場合、ビデオデコーダ30は、第1の残差ブロックに関する走査順序が水平走査になることを決定することができる。別の例として、水平RDPCMの適用において、第2の残差ブロックが水平方向に走査されてきた場合、ビデオデコーダ30は、第1の残差ブロックに関する走査順序が水平走査になることを決定することができる。垂直RDPCMの適用において、第2の残差ブロックが垂直方向に走査されてきた場合、ビデオデコーダ30は、第1の残差ブロックに関する走査順序が垂直走査になることを決定することができる。
[0170]ビデオデコーダ30は、決定された走査順序に基づいて第1の残差ブロックの残差データをエントロピー復号することができる。ビデオデコーダ30は、復号残差データに基づいて、現在のブロックを再構成する(たとえば、インター復号する)ことができる。
[0171]図5は、本開示による、ビデオデータを符号化する例示的な技法を示すフローチャートである。図5に示す例では、残差差分パルスコード変調(DPCM)が適用されることになっている場合、ビデオエンコーダ20は、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差DPCMが適用されるべき方向を決定することができる(500)。
[0172]残差DPCMが適用される方向の例としては、水平残差DPCMおよび垂直残差DPCMがある。一例として、現在のブロックのベクトルは動きベクトルである場合があり、第1の残差ブロックは、現在のブロックのインター予測から生成され得る。別の例として、現在のブロックのベクトルはブロックベクトルである場合があり、第1の残差ブロックは、現在のブロックのイントラブロックコピー予測から生成され得る。
[0173]ビデオエンコーダ20は、残差DPCMが適用される決定方向に基づいて第1の残差ブロックの走査順序を決定することができる(502)。いくつかの例では、第1の残差ブロックのサイズは、走査順序の決定の因子になる場合もある(たとえば、水平走査または垂直走査は8×8以下のTUサイズにのみ利用可能である場合がある)。一例として、残差DPCMの方向が垂直残差DPCMになることをビデオエンコーダ20が決定した場合、および第1の残差ブロックのサイズがしきい値サイズ(たとえば、8×8)以下である場合に、ビデオエンコーダ20は、走査順序が水平走査になることを決定することができる。残差DPCMの方向が水平残差DPCMになることをビデオエンコーダ20が決定した場合、および第1の残差ブロックのサイズがしきい値サイズ(たとえば、8×8)以下である場合に、ビデオエンコーダ20は、走査順序が垂直走査になることを決定することができる。いくつかの例では、水平残差DPCMでは水平走査が使用される場合があり、垂直残差DPCMでは垂直走査が使用される場合がある。
[0174]いくつかの例では、決定された走査順序は、第2の残差ブロックが現在のブロックをイントラ予測することから生成された場合、および第1の残差ブロックに残差DPCMが適用される決定方向と同じ方向を用いて第2の残差ブロックが残差DPCMを適用された場合に、第2の残差ブロックに対して使用されるものと同じ走査順序であることが必要である場合がある。一例として、水平残差DPCMが適用されることになることをビデオエンコーダ20が決定した場合、第1の残差ブロックのサイズが8×8以下である場合、および現在のブロックをイントラ予測することから生成される第2の残差ブロックが水平残差DPCMを適用され垂直走査を使用した場合、ビデオエンコーダ20は、第1の残差ブロックの走査順序が垂直走査になることを決定することができる。垂直残差DPCMが適用されることになることをビデオエンコーダ20が決定した場合、第1の残差ブロックのサイズが8×8以下である場合、および第2の残差ブロックが垂直残差DPCMを適用され水平走査を使用した場合、ビデオエンコーダ20は、第1の残差ブロックの走査順序が水平走査になることを決定することができる。
[0175]一例として、水平残差DPCMが適用されることになることをビデオエンコーダ20が決定した場合、第1の残差ブロックのサイズが8×8以下である場合、および第2の残差ブロックが水平残差DPCMを適用され水平走査を使用した場合、ビデオエンコーダ20は、第1の残差ブロックの走査順序が水平走査になることを決定することができる。垂直残差DPCMが適用されることになることをビデオエンコーダ20が決定した場合、第1の残差ブロックが8×8以下である場合、および第2の残差ブロックが垂直残差DPCMを適用され垂直走査を使用した場合、ビデオエンコーダ20は、第1の残差ブロックの走査順序が垂直走査になることを決定することができる。
[0176]このように、いくつかの例では、ビデオエンコーダ20は、残差ブロック(たとえば、TU)のサイズを決定することができる。ビデオエンコーダ20は、残差DPCMの方向と残差ブロックの決定サイズとに基づいて走査順序を決定することができる。たとえば、残差ブロックのサイズがしきい値サイズ(たとえば、8×8)以下である場合、ビデオエンコーダ20は、残差DPCMの方向に基づいて走査順序が水平走査または垂直走査のうちの1つであることを決定することができる。残差ブロックのサイズがしきい値サイズ(たとえば、8×8)よりも大きい場合、ビデオエンコーダ20は、対角線走査を利用することができる。8×8ブロックサイズは一例であり、他のサイズが可能である。
[0177]ビデオエンコーダ20は、決定された走査順序に基づいて第1の残差ブロックの残差データをエントロピー符号化することができる(504)。ビデオエンコーダ20は、残差DPCMが適用される決定方向を示す情報を符号化(たとえば、エントロピー符号化またはその他)をすることができる(506)。ビデオエンコーダ20は、符号化残差データと残差DPCMが適用される決定方向を示す情報とを出力することができ、ビデオデコーダ30は、現在のブロックを再構成(たとえば、復号)するためにこれらのデータおよび情報を利用することができる(508)。
[0178]図6は、本開示による、ビデオデータを復号する例示的な技法を示すフローチャートである。図6の例では、ビデオデコーダ30は、現在のブロックのベクトルによって参照される予測ブロックと現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用されるべき方向を示す情報を復号することができる(600)。いくつかの例では、残差DPCMは、残差ブロックにおいて変換がスキップまたはバイパスされるときにのみ適用され得る。
[0179]残差DPCMが適用される方向の例としては、水平残差DPCMおよび垂直残差DPCMがある。一例として、現在のブロックのベクトルは動きベクトルである場合があり、第1の残差ブロックは、現在のブロックのインター予測から生成され得る。別の例として、現在のブロックのベクトルはブロックベクトルである場合があり、第1の残差ブロックは、現在のブロックのイントラブロックコピー予測から生成され得る。
[0180]ビデオデコーダ30は、方向を示す情報に基づいて第1の残差ブロックの走査順序を決定することができる(602)。いくつかの例では、第1の残差ブロックのサイズは、走査順序の決定の因子になる場合もある(たとえば、水平走査または垂直走査は8×8以下のTUサイズにのみ利用可能である場合がある)。一例として、残差DPCMの方向が垂直残差DPCMになることをビデオデコーダ30が決定した場合、および第1の残差ブロックのサイズがしきい値サイズ(たとえば、8×8)以下である場合に、ビデオデコーダ30は、走査順序が水平走査になることを決定することができる。残差DPCMの方向が水平残差DPCMになることをビデオデコーダ30が決定した場合、および第1の残差ブロックのサイズがしきい値サイズ(たとえば、8×8)以下である場合に、ビデオデコーダ30は、走査順序が垂直走査になることを決定することができる。いくつかの例では、水平残差DPCMでは水平走査が使用される場合があり、垂直残差DPCMでは垂直走査が使用される場合がある。
[0181]いくつかの例では、決定された走査順序は、第2の残差ブロックが現在のブロックをイントラ予測することから生成された場合、および復号情報に示された方向と同じ方向を用いて第2の残差ブロックが残差DPCMを適用された場合に、第2の残差ブロックに対して使用されるものと同じ走査順序であることが必要である場合がある。一例として、水平残差DPCMが適用されることになることを示す情報をビデオデコーダ30が復号した場合、第1の残差ブロックのサイズが8×8以下である場合、および第2の残差ブロックが水平残差DPCMを適用され垂直走査を使用した場合、ビデオデコーダ30は、第1の残差ブロックの走査順序が垂直走査になることを決定することができる。垂直残差DPCMが適用されることになることを示す情報をビデオデコーダ30が復号した場合、第1の残差ブロックのサイズが8×8以下である場合、および第2の残差ブロックが垂直残差DPCMを適用され水平走査を使用した場合、ビデオデコーダ30は、第1の残差ブロックの走査順序が水平走査になることを決定することができる。
[0182]上述のように、第2の残差ブロックは、現在のブロックをイントラ予測することから生成されるブロックであり、RDPCMの方向は、イントラ予測モードに等しい。たとえば、垂直RDPCMはイントラ予測の垂直モードを意味し、水平RDPCMはイントラ予測の水平モードを意味する。この例では、走査順序は、RDPCM方向およびイントラ予測モードに直交する。ただし、そのような直交性は、あらゆる例において必要であるとは限らない。
[0183]別の例として、水平残差DPCMが適用されることになることを示す情報をビデオデコーダ30が復号した場合、第1の残差ブロックのサイズが8×8以下である場合、および第2の残差ブロックが水平残差DPCMを適用され水平走査を使用した場合、ビデオデコーダ30は、第1の残差ブロックの走査順序が水平走査になることを決定することができる。垂直残差DPCMが適用されることになることを示す情報をビデオデコーダ30が復号した場合、残差ブロックのサイズが8×8以下である場合、および第2の残差ブロックが垂直残差DPCMを適用され垂直走査を使用した場合、ビデオデコーダ30は、第1の残差ブロックの走査順序が垂直走査になることを決定することができる。
[0184]このように、いくつかの例では、ビデオデコーダ30は、残差ブロック(たとえば、TU)のサイズを決定することができる。ビデオデコーダ30は、残差DPCMの方向と残差ブロックの決定サイズとに基づいて走査順序を決定することができる。たとえば、残差ブロックのサイズがしきい値サイズ(たとえば、8×8)以下である場合、ビデオデコーダ30は、残差DPCMの方向に基づいて走査順序が水平走査または垂直走査のうちの1つであることを決定することができる。残差ブロックのサイズがしきい値サイズ(たとえば、8×8)よりも大きい場合、ビデオデコーダ30は、対角線走査を利用することができる。8×8ブロックサイズは一例であり、他のサイズが可能である。
[0185]ビデオデコーダ30は、決定された走査順序に基づいて第1の残差ブロックの残差データをエントロピー復号することができる(604)。たとえば、残差データをエントロピー復号することは、決定された走査順序に基づいて第1の残差ブロックの4×4サブブロックをエントロピー復号することを含み得る。
[0186]ビデオデコーダ30は、復号残差データに基づいて、現在のブロックを再構成(たとえば、復号)することができる(606)。たとえば、現在のブロックのベクトルが、現在のブロックを含むピクチャ以外のピクチャ中の予測ブロックを参照する動きベクトルである場合、ビデオデコーダ30は、現在のブロックをインター予測復号することができる。現在のブロックのベクトルが、現在のブロックを含むピクチャと同じピクチャ中の予測ブロックを参照するブロックベクトルである場合、ビデオデコーダ30は、現在のブロックをイントラブロックコピー(イントラBC)予測復号することができる。
[0187]1つまたは複数の例では、本明細書で説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行されてよい。コンピュータ可読媒体は、たとえば、データ記憶媒体などの有形媒体、または、たとえば通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体に対応する、コンピュータ可読記憶媒体を含み得る。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形のコンピュータ可読記憶媒体または(2)信号もしくはキャリア波などの通信媒体に相当し得る。データ記憶媒体は、本開示で説明する技法の実装のために、命令、コードおよび/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る、任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含んでもよい。
[0188]例として、それに限定されず、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM(登録商標)、CD−ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、フラッシュメモリ、または命令またはデータ構造の形態で所望のプログラムコードを記憶するために使用可能であり、コンピュータによってアクセス可能な他の任意の媒体を備えることができる。さらに、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、ウェブサイト、サーバ、または他の遠隔ソースから、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して伝送される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、マイクロ波などのワイヤレス技術は、媒体の定義に含まれる。ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに、非一時的な有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)と、レーザーディスク(登録商標)と、光ディスクと、デジタル多用途ディスク(DVD)と、フロッピー(登録商標)ディスクと、Blu−rayディスクとを含み、通常、ディスク(disk)は磁気的にデータを再生し、一方ディスク(disc)はレーザーを用いてデータを光学的に再生する。上述したものの組合せも、コンピュータ可読媒体の範囲の中に含められるべきである。
[0189]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、または他の等価な集積回路もしくはディスクリート論理回路などの1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造または本明細書で説明される技法の実装形態に適した任意の他の構造のいずれをも指し得る。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素で十分に実装され得る。
[0190]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置で実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0191]様々な例について説明してきた。これらの例および他の例は以下の特許請求の範囲内に入る。
[0191]様々な例について説明してきた。これらの例および他の例は以下の特許請求の範囲内に入る。
以下に、出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
ビデオデータを復号する方法であって、
現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用されるべき方向を示す情報を復号することと、
前記方向を示す前記情報に基づいて前記第1の残差ブロックの走査順序を決定することと、ここにおいて、前記決定された走査順序は、第2の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記復号した情報に示された前記方向と同じ方向を用いて前記第2の残差ブロックが残差DPCMを適用された場合に、前記第2の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
前記決定された走査順序に基づいて前記第1の残差ブロックの前記残差データをエントロピー復号することと、
前記復号した残差データに基づいて前記現在のブロックを再構成することと
を備える、方法。
[C2]
前記現在のブロックの前記ベクトルは動きベクトルを備え、前記第1の残差ブロックは、前記現在のブロックのインター予測から生成される、C1に記載の方法。
[C3]
前記現在のブロックの前記ベクトルはブロックベクトルを備え、前記第1の残差ブロックは、前記現在のブロックのイントラブロックコピー予測から生成される、C1に記載の方法。
[C4]
前記方向を示す情報を復号することは、垂直残差DPCMまたは水平残差DPCMのうちの1つを示す情報を復号することを備え、
前記第1の残差ブロックの前記走査順序を決定することは、
前記情報が水平残差DPCMを示した場合、および前記第2の残差ブロックが、水平残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること、または
前記情報が垂直残差DPCMを示した場合、および前記第2の残差ブロックが、垂直残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること
のうちの1つを備える、
C1に記載の方法。
[C5]
前記第1の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定すること
をさらに備え、
前記方向を示す情報を復号することは、垂直残差DPCMまたは水平残差DPCMのうちの1つを示す情報を復号することを備え、
前記第1の残差ブロックの前記走査順序を決定することは、
前記情報が水平残差DPCMを示した場合、前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、水平残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること、または
前記情報が垂直残差DPCMを示した場合、前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、垂直残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること
のうちの1つを備える、
C1に記載の方法。
[C6]
前記しきい値サイズは、8×8を備える、C5に記載の方法。
[C7]
前記方向を示す情報を復号することは、垂直残差DPCMまたは水平残差DPCMのうちの1つを示す情報を復号することを備え、
前記第1の残差ブロックの前記走査順序を決定することは、
前記情報が水平残差DPCMを示した場合、および前記第2の残差ブロックが、水平残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること、または
前記情報が垂直残差DPCMを示した場合、および前記第2の残差ブロックが、垂直残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること
のうちの1つを備える、
C1に記載の方法。
[C8]
前記第1の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定すること
をさらに備える方法であって、
前記方向を示す情報を復号することは、垂直残差DPCMまたは水平残差DPCMのうちの1つを示す情報を復号することを備え、
前記第1の残差ブロックの前記走査順序を決定することは、
前記情報が水平残差DPCMを示した場合、前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、水平残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること、または
前記情報が垂直残差DPCMを示した場合、前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、垂直残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること
のうちの1つを備える、
C1に記載の方法。
[C9]
前記現在のブロックの前記ベクトルによって参照される前記予測ブロックと前記現在のブロックとの間の前記差分から生成された前記残差データは、残差値をピクセル領域から変換領域に変換する変換が前記残差値に適用されることなく前記予測ブロックと前記現在のブロックとの間の前記差分からの前記残差値を含む残差データを備える、C1に記載の方法。
[C10]
前記残差データをエントロピー復号することは、前記決定された走査順序に基づいて前記第1の残差ブロックの4×4サブブロックをエントロピー復号することを備える、C1に記載の方法。
[C11]
残差DPCMが前記第1の残差ブロックに適用されたかどうかを示す情報を復号することと、
残差DPCMが前記第1の残差ブロックに適用されたかどうかを示す前記復号した情報に基づいて、残差DPCMが前記第1の残差ブロックに適用されたかどうかを決定することと
をさらに備える方法であって、
残差DPCMが適用される前記順序を示す情報を復号することは、残差DPCMが前記第1の残差ブロックに適用されたことを決定した場合、残差DPCMが適用される前記順序を示す情報を復号することを備える、
C1に記載の方法。
[C12]
残差DPCMが前記第1の残差ブロックに適用されていないことを決定した場合、前記走査順序が対角線走査になることを決定すること
をさらに備える、C11に記載の方法。
[C13]
ビデオデータを符号化する方法であって、
現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用されるべき方向を決定することと、
前記残差DPCMが適用される前記決定した方向に基づいて前記第1の残差ブロックの走査順序を決定することと、ここにおいて、前記決定された走査順序は、第2の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記残差DPCMが前記第1の残差ブロックに適用される前記決定した方向と同じ方向を用いて前記第2の残差ブロックが残差DPCMを適用された場合に、前記第2の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
前記決定された走査順序に基づいて前記第1の残差ブロックの前記残差データをエントロピー符号化することと、
残差DPCMが適用される前記決定した方向を示す情報を符号化することと、
前記符号化した残差データと残差DPCMが適用される前記決定した方向を示す前記情報とを出力することと
を備える、方法。
[C14]
前記現在のブロックの前記ベクトルは動きベクトルを備え、前記第1の残差ブロックは、前記現在のブロックのインター予測から生成される、C13に記載の方法。
[C15]
前記現在のブロックの前記ベクトルはブロックベクトルを備え、前記第1の残差ブロックは、前記現在のブロックのイントラブロックコピー予測から生成される、C13に記載の方法。
[C16]
方向を決定することは、水平残差DPCMが適用されるか、または垂直残差DPCMが適用されるかを決定することのうちの1つを備え、
前記第1の残差ブロックの前記走査順序を決定することは、
前記第2の残差ブロックが、水平残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること、または
前記第2の残差ブロックが、垂直残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること
のうちの1つを備える、
C13に記載の方法。
[C17]
前記第1の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定すること
をさらに備え、
方向を決定することは、水平残差DPCMが適用されるか、または垂直残差DPCMが適用されることを決定することのうちの1つを備え、
前記第1の残差ブロックの前記走査順序を決定することは、
前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、水平残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること、または
前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、垂直残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること
のうちの1つを備える、
C13に記載の方法。
[C18]
前記しきい値サイズは、8×8を備える、C17に記載の方法。
[C19]
方向を決定することは、水平残差DPCMが適用されるか、または垂直残差DPCMが適用されることを決定することのうちの1つを備え、
前記第1の残差ブロックの前記走査順序を決定することは、
前記第2の残差ブロックが、水平残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること、または
前記第2の残差ブロックが、垂直残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること
のうちの1つを備える、
C13に記載の方法。
[C20]
前記第1の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定すること
をさらに備え、
方向を決定することは、水平残差DPCMが適用されるか、または垂直残差DPCMが適用されることを決定することのうちの1つを備え、
前記第1の残差ブロックの前記走査順序を決定することは、
前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、水平残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること、または
前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、垂直残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること
のうちの1つを備える、
C13に記載の方法。
[C21]
ビデオデータを復号するためのデバイスであって、
現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックを記憶するように構成されたビデオデータメモリと、
ビデオデコーダとを備え、前記ビデオデコーダは、
残差差分パルスコード変調(DPCM)が前記第1の残差ブロックに適用される方向を示す情報を復号することと、
前記方向を示す前記情報に基づいて前記第1の残差ブロックの走査順序を決定することと、ここにおいて、前記決定された走査順序は、第2の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記復号した情報に示された前記方向と同じ方向を用いて前記第2の残差ブロックが残差DPCMを適用された場合に、前記第2の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
前記決定された走査順序に基づいて前記第1の残差ブロックの前記残差データをエントロピー復号することと、
前記復号した残差データに基づいて前記現在のブロックを再構成することと
を行うように構成される、デバイス。
[C22]
前記現在のブロックの前記ベクトルは動きベクトルを備え、前記第1の残差ブロックは、前記現在のブロックのインター予測から生成される、C21に記載のデバイス。
[C23]
前記現在のブロックの前記ベクトルはブロックベクトルを備え、第1の残差ブロックは、前記現在のブロックのイントラブロックコピー予測から生成される、C21に記載のデバイス。
[C24]
前記ビデオデコーダは、前記第1の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定するようにさらに構成され、ここにおいて、前記第1の残差ブロックの前記走査順序を決定するために、前記ビデオデコーダは、前記方向を示す前記情報と前記第1の残差ブロックの前記サイズが前記しきい値以下であるかどうかとに基づいて前記第1の残差ブロックの前記走査順序を決定するように構成される、C21に記載のデバイス。
[C25]
前記しきい値サイズは、8×8を備える、C24に記載のデバイス。
[C26]
前記デバイスは、
マイクロプロセッサと、
集積回路と、
ワイヤレス通信デバイスと
のうちの1つを備える、C21に記載のデバイス。
[C27]
ビデオデータを符号化するためのデバイスであって、
現在のブロックに関する予測ブロックを記憶するように構成されたビデオデータメモリと、
ビデオエンコーダとを備え、前記ビデオエンコーダは、
前記現在のブロックのベクトルによって参照される前記予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用されるべき方向を決定することと、
前記残差DPCMが適用される前記決定した方向に基づいて前記第1の残差ブロックの走査順序を決定することと、ここにおいて、前記決定された走査順序は、第2の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記残差DPCMが前記第1の残差ブロックに適用される前記決定した方向と同じ方向を用いて前記第2の残差ブロックが残差DPCMを適用された場合に、前記第2の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
前記決定された走査順序に基づいて前記第1の残差ブロックの前記残差データをエントロピー符号化することと、
残差DPCMが適用される前記決定した方向を示す情報を符号化することと、
前記符号化した残差データと残差DPCMが適用される前記決定した方向を示す前記情報とを出力することと
を行うように構成される、デバイス。
[C28]
前記現在のブロックの前記ベクトルは動きベクトルを備え、前記第1の残差ブロックは、前記現在のブロックのインター予測から生成される、C27に記載のデバイス。
[C29]
前記現在のブロックの前記ベクトルはブロックベクトルを備え、第1の残差ブロックは、前記現在のブロックのイントラブロックコピー予測から生成される、C27に記載のデバイス。
[C30]
前記ビデオエンコーダは、前記第1の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定するようにさらに構成され、ここにおいて、前記第1の残差ブロックの前記走査順序を決定するために、前記ビデオエンコーダは、前記残差DPCMが適用される前記決定した方向と前記第1の残差ブロックの前記サイズが前記しきい値以下であるかどうかとに基づいて前記第1の残差ブロックの前記走査順序を決定するように構成される、C27に記載のデバイス。
[C31]
前記しきい値サイズは、8×8を備える、C30に記載のデバイス。
[C32]
ビデオデータを復号するためのデバイスであって、
現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用される方向を示す情報を復号するための手段と、ここにおいて、前記方向を示す前記情報は、垂直残差DPCMまたは水平残差DPCMのうちの1つを示す情報を備える、
前記方向を示す前記情報に基づいて前記第1の残差ブロックの走査順序を決定するための手段と、ここにおいて、前記第1の残差ブロックの前記走査順序を決定するための前記手段は、
前記情報が水平残差DPCMを示した場合、および前記第1の残差ブロックの前記サイズが8×8以下である場合、垂直走査を決定するための手段と、
前記情報が垂直残差DPCMを示した場合、および前記第1の残差ブロックの前記サイズが8×8以下である場合、水平走査を決定するための手段と
を備え、
前記決定された走査順序に基づいて前記第1の残差ブロックの前記残差データをエントロピー復号するための手段と、
前記復号した残差データに基づいて前記現在のブロックを再構成するための手段と
を備える、デバイス。
[C33]
実行されるとき、ビデオデータを符号化するためのデバイス用のビデオエンコーダに、
現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用されるべき方向を決定することと、ここにおいて、前記決定した方向は、垂直残差DPCMまたは水平残差DPCMのうちの1つを備える、
前記残差DPCMが適用される前記決定した方向に基づいて前記第1の残差ブロックの走査順序を決定することと、ここにおいて、前記第1の残差ブロックの前記走査順序を決定するために、前記命令が前記ビデオエンコーダに、
前記決定した方向が前記水平残差DPCMである場合、および前記第1の残差ブロックの前記サイズが8×8以下である場合、垂直走査を決定させ、または
前記決定した方向が前記垂直残差DPCMである場合、および前記第1の残差ブロックの前記サイズが8×8以下である場合、水平走査を決定させる、
前記決定された走査順序に基づいて前記第1の残差ブロックの前記残差データをエントロピー符号化することと、
残差DPCMが適用される前記決定した方向を示す情報を符号化することと、
前記符号化した残差データと残差DPCMが適用される前記決定した方向を示す前記情報とを出力することと
を行わせる命令が記憶された、コンピュータ可読記憶媒体。

Claims (33)

  1. ビデオデータを復号する方法であって、
    現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用されるべき方向を示す情報を復号することと、
    前記方向を示す前記情報に基づいて前記第1の残差ブロックの走査順序を決定することと、ここにおいて、前記決定された走査順序は、第2の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記復号した情報に示された前記方向と同じ方向を用いて前記第2の残差ブロックが残差DPCMを適用された場合に、前記第2の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
    前記決定された走査順序に基づいて前記第1の残差ブロックの前記残差データをエントロピー復号することと、
    前記復号した残差データに基づいて前記現在のブロックを再構成することと
    を備える、方法。
  2. 前記現在のブロックの前記ベクトルは動きベクトルを備え、前記第1の残差ブロックは、前記現在のブロックのインター予測から生成される、請求項1に記載の方法。
  3. 前記現在のブロックの前記ベクトルはブロックベクトルを備え、前記第1の残差ブロックは、前記現在のブロックのイントラブロックコピー予測から生成される、請求項1に記載の方法。
  4. 前記方向を示す情報を復号することは、垂直残差DPCMまたは水平残差DPCMのうちの1つを示す情報を復号することを備え、
    前記第1の残差ブロックの前記走査順序を決定することは、
    前記情報が水平残差DPCMを示した場合、および前記第2の残差ブロックが、水平残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること、または
    前記情報が垂直残差DPCMを示した場合、および前記第2の残差ブロックが、垂直残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること
    のうちの1つを備える、
    請求項1に記載の方法。
  5. 前記第1の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定すること
    をさらに備え、
    前記方向を示す情報を復号することは、垂直残差DPCMまたは水平残差DPCMのうちの1つを示す情報を復号することを備え、
    前記第1の残差ブロックの前記走査順序を決定することは、
    前記情報が水平残差DPCMを示した場合、前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、水平残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること、または
    前記情報が垂直残差DPCMを示した場合、前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、垂直残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること
    のうちの1つを備える、
    請求項1に記載の方法。
  6. 前記しきい値サイズは、8×8を備える、請求項5に記載の方法。
  7. 前記方向を示す情報を復号することは、垂直残差DPCMまたは水平残差DPCMのうちの1つを示す情報を復号することを備え、
    前記第1の残差ブロックの前記走査順序を決定することは、
    前記情報が水平残差DPCMを示した場合、および前記第2の残差ブロックが、水平残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること、または
    前記情報が垂直残差DPCMを示した場合、および前記第2の残差ブロックが、垂直残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること
    のうちの1つを備える、
    請求項1に記載の方法。
  8. 前記第1の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定すること
    をさらに備える方法であって、
    前記方向を示す情報を復号することは、垂直残差DPCMまたは水平残差DPCMのうちの1つを示す情報を復号することを備え、
    前記第1の残差ブロックの前記走査順序を決定することは、
    前記情報が水平残差DPCMを示した場合、前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、水平残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること、または
    前記情報が垂直残差DPCMを示した場合、前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、垂直残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること
    のうちの1つを備える、
    請求項1に記載の方法。
  9. 前記現在のブロックの前記ベクトルによって参照される前記予測ブロックと前記現在のブロックとの間の前記差分から生成された前記残差データは、残差値をピクセル領域から変換領域に変換する変換が前記残差値に適用されることなく前記予測ブロックと前記現在のブロックとの間の前記差分からの前記残差値を含む残差データを備える、請求項1に記載の方法。
  10. 前記残差データをエントロピー復号することは、前記決定された走査順序に基づいて前記第1の残差ブロックの4×4サブブロックをエントロピー復号することを備える、請求項1に記載の方法。
  11. 残差DPCMが前記第1の残差ブロックに適用されたかどうかを示す情報を復号することと、
    残差DPCMが前記第1の残差ブロックに適用されたかどうかを示す前記復号した情報に基づいて、残差DPCMが前記第1の残差ブロックに適用されたかどうかを決定することと
    をさらに備える方法であって、
    残差DPCMが適用される前記順序を示す情報を復号することは、残差DPCMが前記第1の残差ブロックに適用されたことを決定した場合、残差DPCMが適用される前記順序を示す情報を復号することを備える、
    請求項1に記載の方法。
  12. 残差DPCMが前記第1の残差ブロックに適用されていないことを決定した場合、前記走査順序が対角線走査になることを決定すること
    をさらに備える、請求項11に記載の方法。
  13. ビデオデータを符号化する方法であって、
    現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用されるべき方向を決定することと、
    前記残差DPCMが適用される前記決定した方向に基づいて前記第1の残差ブロックの走査順序を決定することと、ここにおいて、前記決定された走査順序は、第2の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記残差DPCMが前記第1の残差ブロックに適用される前記決定した方向と同じ方向を用いて前記第2の残差ブロックが残差DPCMを適用された場合に、前記第2の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
    前記決定された走査順序に基づいて前記第1の残差ブロックの前記残差データをエントロピー符号化することと、
    残差DPCMが適用される前記決定した方向を示す情報を符号化することと、
    前記符号化した残差データと残差DPCMが適用される前記決定した方向を示す前記情報とを出力することと
    を備える、方法。
  14. 前記現在のブロックの前記ベクトルは動きベクトルを備え、前記第1の残差ブロックは、前記現在のブロックのインター予測から生成される、請求項13に記載の方法。
  15. 前記現在のブロックの前記ベクトルはブロックベクトルを備え、前記第1の残差ブロックは、前記現在のブロックのイントラブロックコピー予測から生成される、請求項13に記載の方法。
  16. 方向を決定することは、水平残差DPCMが適用されるか、または垂直残差DPCMが適用されるかを決定することのうちの1つを備え、
    前記第1の残差ブロックの前記走査順序を決定することは、
    前記第2の残差ブロックが、水平残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること、または
    前記第2の残差ブロックが、垂直残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること
    のうちの1つを備える、
    請求項13に記載の方法。
  17. 前記第1の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定すること
    をさらに備え、
    方向を決定することは、水平残差DPCMが適用されるか、または垂直残差DPCMが適用されることを決定することのうちの1つを備え、
    前記第1の残差ブロックの前記走査順序を決定することは、
    前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、水平残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること、または
    前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、垂直残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること
    のうちの1つを備える、
    請求項13に記載の方法。
  18. 前記しきい値サイズは、8×8を備える、請求項17に記載の方法。
  19. 方向を決定することは、水平残差DPCMが適用されるか、または垂直残差DPCMが適用されることを決定することのうちの1つを備え、
    前記第1の残差ブロックの前記走査順序を決定することは、
    前記第2の残差ブロックが、水平残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること、または
    前記第2の残差ブロックが、垂直残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること
    のうちの1つを備える、
    請求項13に記載の方法。
  20. 前記第1の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定すること
    をさらに備え、
    方向を決定することは、水平残差DPCMが適用されるか、または垂直残差DPCMが適用されることを決定することのうちの1つを備え、
    前記第1の残差ブロックの前記走査順序を決定することは、
    前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、水平残差DPCMを適用され水平走査を使用した場合、前記水平走査を決定すること、または
    前記第1の残差ブロックの前記サイズが前記しきい値サイズ以下である場合、および前記第2の残差ブロックが、垂直残差DPCMを適用され垂直走査を使用した場合、前記垂直走査を決定すること
    のうちの1つを備える、
    請求項13に記載の方法。
  21. ビデオデータを復号するためのデバイスであって、
    現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックを記憶するように構成されたビデオデータメモリと、
    ビデオデコーダとを備え、前記ビデオデコーダは、
    残差差分パルスコード変調(DPCM)が前記第1の残差ブロックに適用される方向を示す情報を復号することと、
    前記方向を示す前記情報に基づいて前記第1の残差ブロックの走査順序を決定することと、ここにおいて、前記決定された走査順序は、第2の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記復号した情報に示された前記方向と同じ方向を用いて前記第2の残差ブロックが残差DPCMを適用された場合に、前記第2の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
    前記決定された走査順序に基づいて前記第1の残差ブロックの前記残差データをエントロピー復号することと、
    前記復号した残差データに基づいて前記現在のブロックを再構成することと
    を行うように構成される、デバイス。
  22. 前記現在のブロックの前記ベクトルは動きベクトルを備え、前記第1の残差ブロックは、前記現在のブロックのインター予測から生成される、請求項21に記載のデバイス。
  23. 前記現在のブロックの前記ベクトルはブロックベクトルを備え、第1の残差ブロックは、前記現在のブロックのイントラブロックコピー予測から生成される、請求項21に記載のデバイス。
  24. 前記ビデオデコーダは、前記第1の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定するようにさらに構成され、ここにおいて、前記第1の残差ブロックの前記走査順序を決定するために、前記ビデオデコーダは、前記方向を示す前記情報と前記第1の残差ブロックの前記サイズが前記しきい値以下であるかどうかとに基づいて前記第1の残差ブロックの前記走査順序を決定するように構成される、請求項21に記載のデバイス。
  25. 前記しきい値サイズは、8×8を備える、請求項24に記載のデバイス。
  26. 前記デバイスは、
    マイクロプロセッサと、
    集積回路と、
    ワイヤレス通信デバイスと
    のうちの1つを備える、請求項21に記載のデバイス。
  27. ビデオデータを符号化するためのデバイスであって、
    現在のブロックに関する予測ブロックを記憶するように構成されたビデオデータメモリと、
    ビデオエンコーダとを備え、前記ビデオエンコーダは、
    前記現在のブロックのベクトルによって参照される前記予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用されるべき方向を決定することと、
    前記残差DPCMが適用される前記決定した方向に基づいて前記第1の残差ブロックの走査順序を決定することと、ここにおいて、前記決定された走査順序は、第2の残差ブロックが前記現在のブロックをイントラ予測することから生成された場合、および前記残差DPCMが前記第1の残差ブロックに適用される前記決定した方向と同じ方向を用いて前記第2の残差ブロックが残差DPCMを適用された場合に、前記第2の残差ブロックに対して使用されるものと同じ走査順序であることが必要である、
    前記決定された走査順序に基づいて前記第1の残差ブロックの前記残差データをエントロピー符号化することと、
    残差DPCMが適用される前記決定した方向を示す情報を符号化することと、
    前記符号化した残差データと残差DPCMが適用される前記決定した方向を示す前記情報とを出力することと
    を行うように構成される、デバイス。
  28. 前記現在のブロックの前記ベクトルは動きベクトルを備え、前記第1の残差ブロックは、前記現在のブロックのインター予測から生成される、請求項27に記載のデバイス。
  29. 前記現在のブロックの前記ベクトルはブロックベクトルを備え、第1の残差ブロックは、前記現在のブロックのイントラブロックコピー予測から生成される、請求項27に記載のデバイス。
  30. 前記ビデオエンコーダは、前記第1の残差ブロックのサイズがしきい値サイズ以下であるかどうかを決定するようにさらに構成され、ここにおいて、前記第1の残差ブロックの前記走査順序を決定するために、前記ビデオエンコーダは、前記残差DPCMが適用される前記決定した方向と前記第1の残差ブロックの前記サイズが前記しきい値以下であるかどうかとに基づいて前記第1の残差ブロックの前記走査順序を決定するように構成される、請求項27に記載のデバイス。
  31. 前記しきい値サイズは、8×8を備える、請求項30に記載のデバイス。
  32. ビデオデータを復号するためのデバイスであって、
    現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用される方向を示す情報を復号するための手段と、ここにおいて、前記方向を示す前記情報は、垂直残差DPCMまたは水平残差DPCMのうちの1つを示す情報を備える、
    前記方向を示す前記情報に基づいて前記第1の残差ブロックの走査順序を決定するための手段と、ここにおいて、前記第1の残差ブロックの前記走査順序を決定するための前記手段は、
    前記情報が水平残差DPCMを示した場合、および前記第1の残差ブロックの前記サイズが8×8以下である場合、垂直走査を決定するための手段と、
    前記情報が垂直残差DPCMを示した場合、および前記第1の残差ブロックの前記サイズが8×8以下である場合、水平走査を決定するための手段と
    を備え、
    前記決定された走査順序に基づいて前記第1の残差ブロックの前記残差データをエントロピー復号するための手段と、
    前記復号した残差データに基づいて前記現在のブロックを再構成するための手段と
    を備える、デバイス。
  33. 実行されるとき、ビデオデータを符号化するためのデバイス用のビデオエンコーダに、
    現在のブロックのベクトルによって参照される予測ブロックと前記現在のブロックとの間の差分から生成された残差データを含む第1の残差ブロックに残差差分パルスコード変調(DPCM)が適用されるべき方向を決定することと、ここにおいて、前記決定した方向は、垂直残差DPCMまたは水平残差DPCMのうちの1つを備える、
    前記残差DPCMが適用される前記決定した方向に基づいて前記第1の残差ブロックの走査順序を決定することと、ここにおいて、前記第1の残差ブロックの前記走査順序を決定するために、前記命令が前記ビデオエンコーダに、
    前記決定した方向が前記水平残差DPCMである場合、および前記第1の残差ブロックの前記サイズが8×8以下である場合、垂直走査を決定させ、または
    前記決定した方向が前記垂直残差DPCMである場合、および前記第1の残差ブロックの前記サイズが8×8以下である場合、水平走査を決定させる、
    前記決定された走査順序に基づいて前記第1の残差ブロックの前記残差データをエントロピー符号化することと、
    残差DPCMが適用される前記決定した方向を示す情報を符号化することと、
    前記符号化した残差データと残差DPCMが適用される前記決定した方向を示す前記情報とを出力することと
    を行わせる命令が記憶された、コンピュータ可読記憶媒体。
JP2016517994A 2013-06-05 2014-06-05 残差差分パルスコード変調(dpcm)拡張ならびに変換スキップ、回転、および走査との調和 Active JP6396439B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361831581P 2013-06-05 2013-06-05
US61/831,581 2013-06-05
US14/295,540 2014-06-04
US14/295,540 US11323747B2 (en) 2013-06-05 2014-06-04 Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans
PCT/US2014/041085 WO2014197691A1 (en) 2013-06-05 2014-06-05 Residual differential pulse code modulation (dpcm) extensions and harmonization with transform skip, rotation, and scans

Publications (3)

Publication Number Publication Date
JP2016524409A true JP2016524409A (ja) 2016-08-12
JP2016524409A5 JP2016524409A5 (ja) 2017-06-22
JP6396439B2 JP6396439B2 (ja) 2018-09-26

Family

ID=52005459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016517994A Active JP6396439B2 (ja) 2013-06-05 2014-06-05 残差差分パルスコード変調(dpcm)拡張ならびに変換スキップ、回転、および走査との調和

Country Status (12)

Country Link
US (1) US11323747B2 (ja)
EP (1) EP3005698B1 (ja)
JP (1) JP6396439B2 (ja)
KR (1) KR102210792B1 (ja)
CN (1) CN105264891B (ja)
DK (1) DK3005698T3 (ja)
ES (1) ES2734555T3 (ja)
HU (1) HUE044176T2 (ja)
PL (1) PL3005698T3 (ja)
PT (1) PT3005698T (ja)
SI (1) SI3005698T1 (ja)
WO (1) WO2014197691A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016540458A (ja) * 2013-10-14 2016-12-22 寰發股▲ふん▼有限公司HFI Innovation Inc. Hevc範囲拡張の剰余差分パルス符号変調の方法
CN113728642A (zh) * 2019-04-24 2021-11-30 字节跳动有限公司 编解码视频的量化残差差分脉冲编解码调制表示
JP2022521809A (ja) * 2019-03-12 2022-04-12 クゥアルコム・インコーポレイテッド ビデオコーディングにおける係数領域ブロック差分パルスコード変調
JP2022533091A (ja) * 2019-05-13 2022-07-21 北京字節跳動網絡技術有限公司 変換スキップ・モードのブロック寸法設定
US11546595B2 (en) 2019-05-22 2023-01-03 Beijing Bytedance Network Technology Co., Ltd. Sub-block based use of transform skip mode

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9877025B2 (en) * 2013-07-12 2018-01-23 British Broadcasting Corporation Video encoding and decoding with prediction at higher precision
KR102254118B1 (ko) * 2013-10-12 2021-05-20 삼성전자주식회사 인트라 블록 복사 예측을 이용한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
WO2015054811A1 (en) 2013-10-14 2015-04-23 Microsoft Corporation Features of intra block copy prediction mode for video and image coding and decoding
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
CA2928753C (en) * 2013-11-14 2019-09-17 Mediatek Singapore Pte. Ltd. Method of video coding using prediction based on intra picture block copy
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
BR112016015080A2 (pt) 2014-01-03 2017-08-08 Microsoft Technology Licensing Llc Predição de vetor de bloco em codificação / decodificação de vídeo e imagem
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
AU2014385769B2 (en) 2014-03-04 2018-12-06 Microsoft Technology Licensing, Llc Block flipping and skip mode in intra block copy prediction
US10785486B2 (en) * 2014-06-19 2020-09-22 Microsoft Technology Licensing, Llc Unified intra block copy and inter prediction modes
CN105392008B (zh) * 2014-08-22 2018-09-25 中兴通讯股份有限公司 一种预测编、解码方法和相应的编、解码器和电子设备
CA3171803A1 (en) 2014-09-30 2016-04-07 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
CN107615763B (zh) * 2015-05-28 2020-09-11 寰发股份有限公司 一种管理解码图像缓存器的方法及装置
JP6528635B2 (ja) * 2015-10-05 2019-06-12 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
FR3066873A1 (fr) * 2017-05-29 2018-11-30 Orange Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image
US10356411B2 (en) * 2017-05-30 2019-07-16 Google Llc Adaptation of scan order entropy coding
KR102401851B1 (ko) * 2017-06-14 2022-05-26 삼성디스플레이 주식회사 영상 압축 방법 및 이를 수행하는 표시 장치
CN115442606A (zh) * 2017-07-31 2022-12-06 韩国电子通信研究院 对图像编码和解码的方法及存储比特流的计算机可读介质
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
FR3088511B1 (fr) * 2018-11-09 2021-05-28 Fond B Com Procede de decodage d’au moins une image, procede de codage, dispositifs, signal et programmes d’ordinateur correspondants.
JP2022513857A (ja) * 2018-12-12 2022-02-09 ウィルス インスティテュート オブ スタンダーズ アンド テクノロジー インコーポレイティド 現在ピクチャ参照を用いたビデオ信号処理方法及び装置
US10893272B2 (en) * 2019-01-29 2021-01-12 Sony Corporation Image block coding based on pixel-domain pre-processing operations on image block
US10958904B2 (en) 2019-02-01 2021-03-23 Tencent America LLC Method and apparatus for video coding
US11044492B2 (en) * 2019-02-24 2021-06-22 Tencent America LLC Residual coding for transform skip mode and block differential pulse-code modulation
MX2021010159A (es) 2019-02-28 2021-09-14 Apple Inc Metodo para codificar/decodificar se?al de imagen, y dispositivo para el mismo.
WO2020185058A1 (ko) * 2019-03-13 2020-09-17 현대자동차주식회사 차등 부호화를 이용하는 영상 복호화 장치
EP3958570A4 (en) * 2019-04-17 2023-01-25 Lg Electronics Inc. VIDEO CODING/DECODING DEVICE AND METHOD USING A BDPCM, AND TRANSMISSION BITSTREAM METHOD
WO2020218793A1 (ko) 2019-04-20 2020-10-29 엘지전자 주식회사 Bdpcm에 기반한 영상 코딩 방법 및 그 장치
CN116896634A (zh) * 2019-04-23 2023-10-17 北京字节跳动网络技术有限公司 在视频编解码中有条件地使用多重变换矩阵
US11190758B2 (en) 2019-04-25 2021-11-30 Qualcomm Incorporated Block-based quantized residual domain pulse code modulation assignment for intra prediction mode derivation
WO2020223467A1 (en) * 2019-05-01 2020-11-05 Bytedance Inc. Intra coded video using quantized residual differential pulse code modulation coding
EP3948663A4 (en) 2019-05-02 2022-06-08 ByteDance Inc. CODING MODE BASED ON A CODING TREE STRUCTURE TYPE
WO2020223612A1 (en) * 2019-05-02 2020-11-05 Bytedance Inc. Signaling in transform skip mode
CN113826398B (zh) * 2019-05-13 2022-11-29 北京字节跳动网络技术有限公司 变换跳过模式和其它编解码工具之间的交互
CN117221544A (zh) * 2019-05-19 2023-12-12 字节跳动有限公司 数字视频中的变换旁路编解码残差块
WO2020235959A1 (ko) * 2019-05-22 2020-11-26 엘지전자 주식회사 영상 코딩 시스템에서 bdpcm을 사용하는 영상 디코딩 방법 및 그 장치
US11595668B2 (en) 2019-05-22 2023-02-28 Lg Electronics Inc. Image decoding method using BDPCM and device therefor
KR20220019694A (ko) * 2019-06-11 2022-02-17 주식회사 윌러스표준기술연구소 Block dpcm 예측 방법을 사용하는 비디오 신호 처리 방법 및 장치
KR20220021442A (ko) * 2019-06-18 2022-02-22 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
KR20210142009A (ko) * 2019-06-18 2021-11-23 엘지전자 주식회사 블록 사이즈를 기반으로 bdpcm 을 수행하는 영상 디코딩 방법 및 그 장치
US11228768B2 (en) 2019-08-14 2022-01-18 Qualcomm Incorporated Restriction on block size of lossless coding
WO2021051046A1 (en) 2019-09-14 2021-03-18 Bytedance Inc. Quantization parameter for chroma deblocking filtering
EP4032289A4 (en) * 2019-09-19 2023-09-13 HFI Innovation Inc. RESIDUAL CODING SELECTION METHOD AND APPARATUS FOR LOSSLESS CODING MODE IN VIDEO CODING
KR20220062655A (ko) * 2019-09-23 2022-05-17 알리바바 그룹 홀딩 리미티드 비디오 데이터의 무손실 코딩
CN114651442A (zh) 2019-10-09 2022-06-21 字节跳动有限公司 视频编解码中的跨分量适应性回路滤波
KR20220073745A (ko) 2019-10-14 2022-06-03 바이트댄스 아이엔씨 비디오 처리에서 크로마 잔차 및 필터링의 공동 코딩
EP4055827A4 (en) 2019-12-09 2023-01-18 ByteDance Inc. USING QUANTIFICATION GROUPS IN VIDEO CODING
WO2021138293A1 (en) * 2019-12-31 2021-07-08 Bytedance Inc. Adaptive color transform in video coding
EP4090029A4 (en) * 2020-01-10 2023-07-19 Research & Business Foundation Sungkyunkwan University METHOD AND APPARATUS FOR CODING/DECODING IMAGES USING BDPCM, AND RECORDING MEDIA STORING A BIT STREAM
KR20230002534A (ko) * 2020-04-13 2023-01-05 오피 솔루션즈, 엘엘씨 결합된 무손실 및 손실 코딩을 위한 방법들 및 시스템들
WO2022037700A1 (en) * 2020-08-21 2022-02-24 Beijing Bytedance Network Technology Co., Ltd. Coding mode dependent selection of transform skip mode
CN114286095B (zh) * 2020-09-27 2023-02-07 腾讯科技(深圳)有限公司 视频解码方法、装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070065026A1 (en) * 2005-09-16 2007-03-22 Industry-Academia Cooperation Group Of Sejong University Method of and apparatus for lossless video encoding and decoding
JP2011199685A (ja) * 2010-03-19 2011-10-06 Fujitsu Ltd 動画像符号化装置、動画像復号装置、動画像符号化方法、及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276525A (en) * 1991-03-22 1994-01-04 Bell Communications Research, Inc. Two-dimensional block scanning for subband image and video coding
JP2933457B2 (ja) * 1993-02-18 1999-08-16 日本電気株式会社 ウェーブレット変換符号化方法
US5592226A (en) * 1994-01-26 1997-01-07 Btg Usa Inc. Method and apparatus for video data compression using temporally adaptive motion interpolation
JPH09261644A (ja) * 1996-03-22 1997-10-03 Matsushita Electric Ind Co Ltd ウエーブレットビデオ符号化方法
GB2387056A (en) * 2002-03-28 2003-10-01 Sony Uk Ltd Differential encoding and decoding
CN101573985B (zh) 2006-11-03 2012-07-04 三星电子株式会社 用于视频预测编码的方法和装置以及用于视频预测解码的方法和装置
WO2009022048A1 (en) * 2007-08-16 2009-02-19 Nokia Corporation A method and apparatuses for encoding and decoding an image
KR101379188B1 (ko) 2010-05-17 2014-04-18 에스케이 텔레콤주식회사 인트라 블록 및 인터 블록이 혼합된 코딩블록을 이용하는 영상 부호화/복호화 장치 및 그 방법
CN102857764B (zh) 2011-07-01 2016-03-09 华为技术有限公司 帧内预测模式处理的方法和装置
US9253508B2 (en) * 2011-11-04 2016-02-02 Futurewei Technologies, Inc. Differential pulse code modulation intra prediction for high efficiency video coding
KR20130049523A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 장치
US9264713B2 (en) 2012-07-11 2016-02-16 Qualcomm Incorporated Rotation of prediction residual blocks in video coding with transform skipping
US9549182B2 (en) 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
US20140286412A1 (en) 2013-03-25 2014-09-25 Qualcomm Incorporated Intra dc prediction for lossless coding in video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070065026A1 (en) * 2005-09-16 2007-03-22 Industry-Academia Cooperation Group Of Sejong University Method of and apparatus for lossless video encoding and decoding
JP2011199685A (ja) * 2010-03-19 2011-10-06 Fujitsu Ltd 動画像符号化装置、動画像復号装置、動画像符号化方法、及びプログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MATTEO NACCARI ANDREA GABRIELLINI CENTRE HOUSE, BLOCK D, 56 WOOD LANE, W12 7SB, LONDON (UK): "Complexity reduction for residual DPCM in HEVC lossless coding[online]", JCTVC-M JCTVC-M0439_R1, JPN6018012774 *
MATTEO NACCARI: "Inter-Prediction Residual DPCM[online]", JCTVC-M JCTVC-M0442_R1, JPN6018012772 *
SUNIL LEE: "RCE2: Test 1 - Residual DPCM for HEVC lossless coding[online]", JCTVC-M JCTVC-M0079, JPN6018012773 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016540458A (ja) * 2013-10-14 2016-12-22 寰發股▲ふん▼有限公司HFI Innovation Inc. Hevc範囲拡張の剰余差分パルス符号変調の方法
JP2022521809A (ja) * 2019-03-12 2022-04-12 クゥアルコム・インコーポレイテッド ビデオコーディングにおける係数領域ブロック差分パルスコード変調
CN113728642A (zh) * 2019-04-24 2021-11-30 字节跳动有限公司 编解码视频的量化残差差分脉冲编解码调制表示
JP2022529369A (ja) * 2019-04-24 2022-06-21 バイトダンス インコーポレイテッド 符号化映像の量子化残差差分パルス符号変調表現
JP2022530436A (ja) * 2019-04-24 2022-06-29 バイトダンス インコーポレイテッド 符号化映像の量子化残差差分パルス符号変調表現の制約
JP7311626B2 (ja) 2019-04-24 2023-07-19 バイトダンス インコーポレイテッド 符号化映像の量子化残差差分パルス符号変調表現の制約
JP7414843B2 (ja) 2019-04-24 2024-01-16 バイトダンス インコーポレイテッド 符号化映像の量子化残差差分パルス符号変調表現
CN113728642B (zh) * 2019-04-24 2024-04-02 字节跳动有限公司 编解码视频的量化残差差分脉冲编解码调制表示
US11985323B2 (en) 2019-04-24 2024-05-14 Bytedance Inc. Quantized residual differential pulse code modulation representation of coded video
JP2022533091A (ja) * 2019-05-13 2022-07-21 北京字節跳動網絡技術有限公司 変換スキップ・モードのブロック寸法設定
JP7265040B2 (ja) 2019-05-13 2023-04-25 北京字節跳動網絡技術有限公司 変換スキップ・モードのブロック寸法設定
US11546595B2 (en) 2019-05-22 2023-01-03 Beijing Bytedance Network Technology Co., Ltd. Sub-block based use of transform skip mode

Also Published As

Publication number Publication date
KR20160016861A (ko) 2016-02-15
PT3005698T (pt) 2019-07-16
CN105264891A (zh) 2016-01-20
SI3005698T1 (sl) 2019-05-31
WO2014197691A1 (en) 2014-12-11
JP6396439B2 (ja) 2018-09-26
EP3005698B1 (en) 2019-04-10
CN105264891B (zh) 2018-10-02
DK3005698T3 (da) 2019-07-22
PL3005698T3 (pl) 2019-09-30
HUE044176T2 (hu) 2019-10-28
ES2734555T3 (es) 2019-12-10
US11323747B2 (en) 2022-05-03
US20140362917A1 (en) 2014-12-11
EP3005698A1 (en) 2016-04-13
KR102210792B1 (ko) 2021-02-01

Similar Documents

Publication Publication Date Title
JP6396439B2 (ja) 残差差分パルスコード変調(dpcm)拡張ならびに変換スキップ、回転、および走査との調和
US11431968B2 (en) Variable number of intra modes for video coding
TWI705694B (zh) 片級內部區塊複製及其他視訊寫碼改善
US10097842B2 (en) Restriction of escape pixel signaled values in palette mode video coding
US9699472B2 (en) Restriction of prediction units in B slices to uni-directional inter prediction
KR101918873B1 (ko) 비디오 코딩에서 교차 구성 예측과 적응형 컬러 변환의 조화
JP6407962B2 (ja) 変換がスキップされたときの非可逆コード化のためのイントラ予測モード
JP6246920B2 (ja) パレットベースのビデオコーディングにおけるパレット予測
JP6181150B2 (ja) コード化ブロックフラグのコーディング
TWI686080B (zh) 用於大的寫碼樹單元之內容
US10542280B2 (en) Encoding optimization with illumination compensation and integer motion vector restriction
US10097837B2 (en) Palette run hiding in palette-based video coding
JP2018509071A (ja) ビデオコーディングにおけるパレットブロックサイズに対する制限
JP2015510358A (ja) Bスライス中の予測単位の単方向インター予測への制限
JP2015516761A (ja) レートひずみ最適量子化におけるレベル決定
KR102221569B1 (ko) 멀티-계층 비디오 코딩에서의 크로스 계층 픽처 타입 정렬의 표시
JP2015524216A (ja) 映像コーディングにおけるロスレスコーディングモード及びパルスコード変調(pcm)モードのシグナリングの統一
JP2017532896A (ja) パレットインデックスのコーディングのためのパースの依存性の低減
JP2017527168A (ja) 高度パレット予測およびシグナリング

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170509

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170509

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180704

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: 20180731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180829

R150 Certificate of patent or registration of utility model

Ref document number: 6396439

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250