JP6009575B2 - 変換スキップモードにおける有意係数情報のコーディング - Google Patents

変換スキップモードにおける有意係数情報のコーディング Download PDF

Info

Publication number
JP6009575B2
JP6009575B2 JP2014541180A JP2014541180A JP6009575B2 JP 6009575 B2 JP6009575 B2 JP 6009575B2 JP 2014541180 A JP2014541180 A JP 2014541180A JP 2014541180 A JP2014541180 A JP 2014541180A JP 6009575 B2 JP6009575 B2 JP 6009575B2
Authority
JP
Japan
Prior art keywords
coding
video block
video
mode
coefficient
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.)
Active
Application number
JP2014541180A
Other languages
English (en)
Other versions
JP2014535247A (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 JP2014535247A publication Critical patent/JP2014535247A/ja
Application granted granted Critical
Publication of JP6009575B2 publication Critical patent/JP6009575B2/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/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/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/117Filters, e.g. for pre-processing or post-processing
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本特許出願は、
米国仮特許出願第61/556,721号(出願日:2011年11月7日)、
米国仮特許出願第61/556,750号(出願日:2011年11月7日)、
米国仮特許出願第61/583,569号(出願日:2012年1月5日)、及び
米国仮特許出願第61/588,124号(出願日:2012年1月18日)
の利益を主張するものであり、それらの各々の内容全体が、引用によってここに組み入れられている。
本開示は、映像コーディングに関するものである。本開示は、より具体的には、映像インターコーディングに関するものである。
デジタル映像能力を広範なデバイス内に組み入れることができ、デジタルテレビと、デジタル直接放送システムと、無線放送システムと、パーソナルデジタルアシスタント(PDA)と、ラップトップ又はデスクトップコンピュータと、タブレットコンピュータと、電子書籍リーダーと、デジタルカメラと、デジタル記録デバイスと、デジタルメディアプレーヤーと、ビデオゲームプレイ装置と、ビデオゲームコンソールと、セルラー又は衛星無線電話と、いわゆる“スマートフォン”と、ビデオ会議装置と、等を含む。デジタル映像デバイスは、映像圧縮技法、例えば、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part10、アドバンストビデオコーディング(Advanced Video Coding(AVC))、現在開発中の高効率映像コーディング(High Efficiency Video Coding(HEVC)規格によって定義される規格、及び該規格の拡張版において説明されるそれらを実装する。映像デバイスは、該映像圧縮技法を実装することによってデジタル映像情報をより効率的に送信、受信、符号化、復号、及び/又は格納することができる。
映像圧縮技法は、映像シーケンスに固有の冗長性を低減又は除去するために空間(イントラピクチャ)予測及び/又は時間(インターピクチャ)予測を行う。ブロックに基づく映像コーディングでは、映像スライス(すなわち、映像フレーム又は映像フレームの一部分)を映像ブロックに分割することができ、それらは、ツリーブロック、コーディングユニット(CU)及び/又はコーディングノードと呼ばれることもある。ピクチャのイントラコーディングされた(I)スライス内の映像ブロックは、同じピクチャ内の近隣ブロック内の基準サンプルに関して空間予測を用いて符号化される。ピクチャのインターコーディングされた(P又はB)スライス内の映像ブロックは、同じピクチャ内の近隣ブロック内の基準サンプルに関しては空間予測、その他の基準ピクチャ内の基準サンプルに関しては時間予測を使用することができる。ピクチャは、フレームと呼ぶことができ、基準ピクチャは、基準フレームと呼ぶことができる。
空間又は時間予測の結果、コーディングされるべきブロックに関する予測ブロックが得られる。残差データは、コーディングされるべきオリジナルのブロックと予測ブロックとの間のピクセル差分を表す。インターコーディングされたブロックは、予測ブロックを形成する基準サンプルのブロックを指し示す動きベクトル、及びコーディングされたブロックと予測ブロックとの間の差分を示す残差データにより符号化される。イントラコーディングされたブロックは、予測ブロックがどのように生成されるかを定義するイントラコーディングモード及び残差データにより符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換することができ、その結果残差変換係数が得られ、それらは量子化することができる。量子化された変換係数は、当初は二次元配列で配置され、変換係数の一次元ベクトルを生成するために走査することができ、及び、さらなる圧縮を達成させるためにエントロピーコーディングを適用することができる。
概して、本開示は、変換スキップモードにおいて映像ブロックに関する有意係数情報(significant coefficient information)をコーディングするための技法について説明する。変換スキップモードは、二次元変換モード、水平一次元変換モード、垂直一次元変換モード、又は無変換モードの選択肢を提供することができる。その他の場合は、変換スキップモードは、二次元変換モード及び無変換モードの間の選択肢を提供することができる。変換係数コーディングに関する現在の高効率映像コーディング(High Efficiency Video Coding)(HEVC)ワーキングドラフト(woprking draft(WD)における従来の技法は、二次元変換を想定している。映像ブロックに関して1つ以上の変換がスキップされる変換スキップモードが選択された場合は、映像ブロックの係数に関する統計は、二次元変換事例の場合と異なることになる。従って、従来のコーディング手順は、映像ブロックに関して1つ以上の変換がスキップされるときに映像ブロックに関する有意係数情報をコーディングするための最も効率的な手順を実装することができない。
それらの技法は、映像ブロックに関する変換スキップモードを選択することと、選択された変換スキップモードに少なくとも部分的に基づいて定義されたコーディング手順を用いて映像ブロックに関する有意係数情報をコーディングすることと、を含む。より具体的には、それらの技法は、変換スキップモードにおいて映像ブロック内の最後のゼロでない係数の位置を効率的にコーディングするために異なるコーディング手順を使用することを含むことができる。それらの技法は、変換スキップモードにおいて映像ブロックに関する有意性マップ(significance map)を効率的にコーディングするために異なるコーディング手順を使用することを含むこともできる。さらに、それらの技法は、映像ブロックの境界が予測ユニット境界であるかどうかに基づいて変換スキップモードをイネーブルにすること及び選択された変換スキップモードの表示(indication)をコーディングすることのうちの1つ以上を含むことができる。
一例では、本開示は、映像データをコーディングするための方法を対象とし、映像ブロックに関する変換スキップモードを選択することであって、変換スキップモードは、複数の可能な変換モードを備えることと、選択された変換スキップモードを映像ブロックに適用することと、選択された変換スキップモードに少なくとも部分的に基づいて定義されたコーディング手順を用いて映像ブロックに関する有意係数情報をコーディングすることであって、有意係数情報は、最後のゼロでない係数の位置及び映像ブロックに関する有意性マップのうちの1つ以上を備えることと、を備える。
他の例では、本開示は、映像コーディングデバイスを対象とし、映像データを格納するメモリと、映像ブロックに関する変換スキップモードを選択し、選択された変換スキップモードを映像ブロックに適用し、及び選択された変換スキップモードに少なくとも部分的に基づいて定義されたコーディング手順を用いて映像ブロックに関する有意係数情報をコーディングするように構成されたプロセッサとを備え、変換スキップモードは、複数の可能な変換モードを備え、有意係数情報は、最後のゼロでない係数の位置及び映像ブロックに関する有意性マップのうちの1つ以上を備える。
他の例では、本開示は、映像コーディングデバイスを対象とし、映像ブロックに関する変換スキップモードを選択するための手段であって、変換スキップモードは、複数の可能な変換モードを備える手段と、選択された変換スキップモードを映像ブロックに適用するための手段と、選択された変換スキップモードに少なくとも部分的に基づいて定義されたコーディング手順を用いて映像ブロックに関する有意係数情報をコーディングするための手段であって、有意係数情報は、最後のゼロでない係数の位置及び映像ブロックに関する有意性マップのうちの1つ以上を備える手段と、を備える。
さらなる例では、映像コーディングデバイスによって実行されたときに、映像ブロックに関する変換スキップモードを選択し、選択された変換スキップモードを映像ブロックに適用し、及び選択された変換スキップモードに少なくとも部分的に基づいて定義されたコーディング手順を用いて映像ブロックに関する有意係数情報をコーディングすることを1つ以上のプログラミング可能なプロセッサに行わせる映像データをコーディングするための命令を備えるコンピュータによって読み取り可能な媒体であって、変換スキップモードは、複数の可能な変換モードを備え、有意係数情報は、最後のゼロでない係数の位置及び映像ブロックに関する有意性マップのうちの1つ以上を備える、コンピュータによって読み取り可能な媒体。
本開示において説明される技法を利用することができる映像符号化及び復号システム例を示したブロック図である。 変換スキップモードにおいて映像ブロックに関する有意係数情報をコーディングするために本開示で説明される技法を実装することができる映像符号器例を示したブロック図である。 変換スキップモードにおいて映像ブロックに関する有意係数情報をコーディングするために本開示で説明される技法を実装することができる映像復号器例を示したブロック図である。 変換スキップモードにおいて二次元変換、水平一次元変換。垂直一次元変換、及び無変換を用いて係数に変換された残差映像データのブロックの例を示した概念図である。 変換スキップモードにおいて二次元変換、水平一次元変換。垂直一次元変換、及び無変換を用いて係数に変換された残差映像データのブロックの例を示した概念図である。 変換スキップモードにおいて二次元変換、水平一次元変換。垂直一次元変換、及び無変換を用いて係数に変換された残差映像データのブロックの例を示した概念図である。 変換スキップモードにおいて二次元変換、水平一次元変換。垂直一次元変換、及び無変換を用いて係数に変換された残差映像データのブロックの例を示した概念図である。 ジグザグ走査順序、水平走査順序、垂直走査順序、及び対角走査順序を用いて走査される映像データのブロックの例を示した概念図である。 ジグザグ走査順序、水平走査順序、垂直走査順序、及び対角走査順序を用いて走査される映像データのブロックの例を示した概念図である。 ジグザグ走査順序、水平走査順序、垂直走査順序、及び対角走査順序を用いて走査される映像データのブロックの例を示した概念図である。 ジグザグ走査順序、水平走査順序、垂直走査順序、及び対角走査順序を用いて走査される映像データのブロックの例を示した概念図である。 変換スキップモードにおける映像データのブロックの例、及び対応するゼロでない(すなわち、有意な)係数の位置情報及び最後のゼロでない係数の位置情報を示した概念図である。 変換スキップモードにおける映像データのブロックの例、及び対応するゼロでない(すなわち、有意な)係数の位置情報及び最後のゼロでない係数の位置情報を示した概念図である。 変換スキップモードにおける映像データのブロックの例、及び対応するゼロでない(すなわち、有意な)係数の位置情報及び最後のゼロでない係数の位置情報を示した概念図である。 変換スキップモードにおける映像データのブロックの例及びブロックに関して共有される有意性マップコンテキスト、ブロックの各列、及びブロックの各行を示した概念図である。 変換スキップモードにおける映像データのブロックの例及びブロックに関して共有される有意性マップコンテキスト、ブロックの各列、及びブロックの各行を示した概念図である。 変換スキップモードにおける映像データのブロックの例及びブロックに関して共有される有意性マップコンテキスト、ブロックの各列、及びブロックの各行を示した概念図である。 変換スキップモードにおける映像データのブロックの例及び対角走査順序、垂直走査順序、及び水平走査順序のために使用される係数の有意性マップコンテキスト近隣を示した概念図である。 変換スキップモードにおける映像データのブロックの例及び対角走査順序、垂直走査順序、及び水平走査順序のために使用される係数の有意性マップコンテキスト近隣を示した概念図である。 変換スキップモードにおける映像データのブロックの例及び対角走査順序、垂直走査順序、及び水平走査順序のために使用される係数の有意性マップコンテキスト近隣を示した概念図である。 予測ユニット内の映像データのブロックの例及び変換スキップモードをイネーブルにするか又は選択された変換スキップモードの表示をコーディングするかを決定するために使用されるブロックの境界を示した概念図である。 選択された変換スキップモードに基づいて定義されたコーディング手順を用いて映像ブロックに関する有意係数情報をコーディングする動作例を示したフローチャートである。 垂直一次元変換、水平一次元変換、及び無変換に関して定義されたコーディング手順を用いて映像ブロック内の最後のゼロでない係数の位置をコーディングする動作例を示したフローチャートである。 垂直一次元変換、水平一次元変換、及び無変換に関して定義された共有コンテキストを用いて映像ブロックに関する有意性マップをコーディングする動作例を示したフローチャートである。 映像ブロックに関する走査順序に依存する係数のコンテキスト近隣によって決定されたコンテキストを用いて映像ブロックに関する有意性マップをコーディングする動作例を示したフローチャートである。 映像ブロックの境界が予測ユニット境界であるかどうかに基づいて映像ブロックに関する変換スキップモードをイネーブルにする動作例を示したフローチャートである。 映像ブロックの境界が予測ユニット境界であるかどうかに基づいて映像ブロックに関する選択された変換スキップモードの表示をコーディングする動作例を示したフローチャートである。
本開示は、変換スキップモードにおいて映像ブロックに関する有意係数情報をコーディングするための技法について説明する。変換スキップモードは、二次元変換モード、水平一次元変換モード、垂直一次元変換モード、又は無変換モードの選択肢を提供することができる。その他の場合は、変換スキップモードは、二次元変換モード及び無変換モードの間の選択肢を提供することができる。
変換係数コーディングに関する現在の高効率映像コーディング(HEVC)ワーキングドラフト(WD)における従来の技法は、二次元変換を想定している。変換スキップモードでは、垂直方向及び水平方向における変換が実施されるか又はスキップされるときに変換係数コーディングのための技法が提供される。従って、本開示で説明されるように、変換スキップモードは、変換がスキップされることは要求せず、水平及び垂直方向においてコーディング効率に基づいて変換が実施されるか又はスキップされることを可能にする。
映像ブロックに関して1つ以上の変換がスキップされる変換スキップモードが選択された場合は、映像ブロックの係数に関する統計は、二次元変換事例の場合と異なることになる。従って、従来のコーディング手順は、映像ブロックに関する有意係数情報をコーディングするための最も効率的な手順であることができない。
技法は、映像ブロックに関する変換スキップモードを選択することと、選択された変換スキップモードに少なくとも部分的に基づいて定義されたコーディング手順を用いて映像ブロックに関する有意係数情報をコーディングすることと、を含む。より具体的には、技法は、変換スキップモードにおいて映像ブロック内の最後のゼロでない係数の位置を効率的にコーディングするために異なるコーディング手順を使用することを含む。技法は、変換スキップモードにおいて映像ブロックに関する有意性マップを効率的にコーディングするために異なるコーディング手順を使用することも含む。さらに、技法は、映像ブロックの境界が予測ユニット境界であるかどうかに基づいて変換スキップモードをイネーブルにすること及び選択された変換スキップモードの表示をコーディングすることのうちの1つ以上を含む。
図1は、本開示で説明される技法を利用することができる映像符号化及び復号システム例10を示したブロック図である。図1に示されるように、システム10は、行先デバイス14によってのちに復号されることになる符号化された映像データを生成するソースデバイス12を含む。ソースデバイス12及び行先デバイス14は、広範なデバイスのうちのいずれかを備えることができ、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、電話ハンドセット、例えば、いわゆる“スマート”フォン、いわゆる“スマート”パッド、テレビ、カメラ、表示装置、デジタルメディアプレーヤー、ビデオゲームコンソール、映像ストリーミングデバイス、等を含む。幾つかの場合は、ソースデバイス12及び行先デバイス14は、無線通信のために装備することができる。
行先デバイス14は、リンク16を介して復号されるべき符号化された映像データを受信することができる。リンク16は、符号化された映像データをソースデバイス12から行先デバイス14に移動させることが可能なタイプの媒体又はデバイスを備えることができる。一例では、リンク16は、ソースデバイス12が符号化された映像データをリアルタイムで直接行先デバイス14に送信するのを可能にする通信媒体を備えることができる。符号化された映像データは、通信規格、例えば、無線通信プロトコル、により変調することができ、行先デバイス14に送信することができる。通信媒体は、無線又は有線の通信媒体、例えば、無線周波数(RF)スペクトル又は1つ以上の物理的な送信ライン、を備えることができる。通信媒体は、パケットに基づくネットワーク、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、又はグローバルネットワーク、例えば、インターネット、の一部を形成することができる。通信媒体は、ルータ、スイッチ、基地局、又は、ソースデバイス12から行先デバイス14への通信を容易にするのに役立つことができるその他の装置を含むことができる。
代替として、符号化されたデータは、出力インタフェース22から記憶デバイス32に出力することができる。同様に、符号化されたデータは、入力インタフェースによって記憶デバイス32からアクセスすることができる。記憶デバイス32は、様々な分散型の又はローカルでアクセスされるデータ記憶媒体、例えば、ハードドライブ、Blu−ray(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性又は非揮発性のメモリ、又は符号化された映像データを格納するためのその他の適切なデジタル記憶媒体、のうちのいずれかを含むことができる。さらなる例では、記憶デバイス32は、ソースデバイス12によって生成された符号化された映像を保持することができるファイルサーバ又はその他の中間的な記憶デバイスに対応することができる。行先デバイス14は、ストリーミング又はダウンロードを介して記憶デバイス32から格納された映像データにアクセスすることができる。ファイルサーバは、符号化された映像データを格納し及びその符号化された映像データを行先デバイス14に送信することが可能なあらゆるタイプのサーバであることができる。ファイルサーバ例は、(例えば、ウェブサイトのための)ウェブサーバと、FTPサーバと、ネットワーク接続記憶(NAS)デバイスと、ローカルディスクドライブとを含む。行先デバイス14は、インターネット接続を含むあらゆる標準的なデータ接続を通じて符号化された映像データにアクセスすることができる。これは、無線チャネル(例えば、Wi−Fi接続)、有線接続(例えば、DSL、ケーブルモデム、等)、又はファイルサーバに格納された符号化された映像データにアクセスするのに適する両方の組み合わせ、を含むことができる。記憶デバイス32からの符号化された映像データの送信は、ストリーミング送信、ダウンロード送信、又は両方の組み合わせであることができる。
本開示の技法は、無線の用途又はセッティングには必ずしも限定されない。それらの技法は、様々なマルチメディア用途、例えば、オーバーザエアテレビ放送、ケーブルテレビ送信、衛星テレビ送信、例えば、インターネットを介してのストリーミング映像送信、データ記憶媒体上での格納のためのデジタル映像の符号化、データ記憶媒体に格納されたデジタル映像の復号、又はその他の用途をサポートして映像コーディングに適用することができる。幾つかの例では、システム10は、映像ストリーミング、映像再生、映像放送、及び/又は映像テレフォニー、等の用途をサポートするための一方向又は両方向の映像送信をサポートするように構成することができる。
図1の例では、ソースデバイス12は、映像ソース18と、映像符号器20と、出力インタフェース22と、を含む。幾つかの場合は、出力インタフェース22は、変調器/復調器(モデム)及び/又は送信機を含むことができる。ソースデバイス12内では、映像ソース18は、ソース、例えば、映像キャプチャデバイス、例えば、ビデオカメラ、以前にキャプチャされた映像が入った映像アーカイブ、映像コンテンツプロバイダから映像を受信するための映像フィードインタフェース、及び/又はソース映像、等のコンピュータグラフィックスデータを生成するためのコンピュータグラフィックスシステム、又は該ソースの組み合わせ、を含むことができる。一例として、映像ソース18がビデオカメラである場合は、ソースデバイス12及び行先デバイス14は、いわゆるカメラフォン又はビデオフォンを形成することができる。しかしながら、本開示で説明される技法は、映像コーディング全般に適用することができ、及び無線及び/又は有線の用途に適用することができる。
キャプチャされた、予めキャプチャされた、又はコンピュータによって生成された映像は、映像符号器12によって符号化することができる。符号化された映像データは、ソースデバイス20の出力インタフェース22を介して直接行先デバイス14に送信することができる。符号化された映像データは、復号及び/又は再生のための行先デバイス14又はその他のデバイスによるのちのアクセスのために記憶デバイス32に(代替として)格納することもできる。
行先デバイス14は、入力インタフェース28と、映像復号器30と、表示装置32と、を含む。幾つかの場合は、入力インタフェース28は、受信機及び/又はモデムを含むことができる。行先デバイス14の入力インタフェース28は、リンク16を通じて符号化された映像データを受信する。リンク16を通じて通信された、又は記憶デバイス32上で提供された、符号化された映像データは、映像データを復号する際に映像復号器、例えば、映像復号器30によって使用するために映像符号器20によって生成された様々な構文要素を含むことができる。該構文要素は、通信媒体上で送信される符号化された映像データとともに含めること、記憶媒体に格納すること、又はファイルサーバに格納することができる。
表示装置32は、行先デバイス14と一体化すること、又は行先デバイス14の外部に存在することができる。幾つかの例では、行先デバイス14は、一体化された表示装置を含むことができ、及び、外部表示装置とインタフェースするように構成することもできる。その他の例では、行先デバイス14は、表示装置であることができる。概して、表示装置32は、復号された映像データをユーザに表示し、様々な表示装置、例えば、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、又は他のタイプの表示装置、のうちのいずれかを備えることができる。
本開示の技法により、映像符号器20は、映像ブロックに関して、二次元変換モード、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを備える変換スキップモードを選択し、選択された変換スキップモードを残差映像ブロックに適用する。映像符号器20は、選択された変換スキップモードに少なくとも部分的に基づいて定義されたコーディング手順を用いて変換係数の映像ブロックに関して、最後のゼロでない係数の位置及び有意性マップのうちの少なくとも1つを含む有意係数情報を符号化する。映像符号器20は、選択された変換スキップモードの表示もシグナリングする。幾つかの場合は、映像符号器20は、映像ブロックの境界が予測ユニット境界であるかどうかに基づいて変換スキップモードをイネーブルにする及び/又は選択された変換スキップモードの表示を符号化することができる。
さらに、本開示の技法により、映像復号器30は、映像符号器20から受信された選択された変換スキップモードの表示に基づいて変換スキップモードを選択する。映像復号器30は、残差映像ブロックを再構築するために選択された変換スキップモードに対応する逆変換を適用する。映像復号器30は、選択された変換スキップモードに少なくとも部分的に基づいて定義されたコーディング手順を用いて映像ブロックに関して、最後のゼロでない係数の位置及び有意性マップのうちの少なくとも1つを含む有意係数情報を復号もする。幾つかの場合は、映像復号器30は、映像ブロックの境界が予測ユニット境界であるかどうかに基づいて変換スキップモードを推測する及び/又は選択された変換スキップモードの表示を復号することができる。
映像符号器20及び映像復号器30は、映像圧縮規格、例えば、現在開発中の高効率映像コーディング(High Efficiency Video Coding)(HEVC)規格、により動作することができ、及び、HEVCテストモデル(HM)に準拠することができる。代替として、映像符号器20及び映像復号器30は、その他の独占規格又は産業規格、例えば、ITU−T H.264規格であり、代替で、MPEG−4 Part10、Advanced Video Coding(AVC)と呼ばれている、又は該規格の拡張版により動作することができる。しかしながら、本開示の技法は、いずれの特定のコーディング規格にも限定されない。映像圧縮規格のその他の例は、MPEG−2と、ITU−T H.263と、を含む。
図1の例には示されていないが、幾つかの態様では、映像符号器20及び映像復号器30は、音声符号器及び復号器とそれぞれ一体化することができ、及び、音声及び映像の両方を共通のデータストリーム又は別々のデータストリームで符号化することを取り扱うための該当するMUX−DEMUXユニット又はその他のハードウェア及びソフトウェアを含むことができる。該当する場合、幾つかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、又はその他のプロトコル、例えば、ユーザデータグラムプロトコル(UDP)、に準拠することができる。
映像符号器20及び映像復号器30は、各々、様々な適切な符号器回路、例えば、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア又はそれらのあらゆる組み合わせのうちのいずれかとして実装することができる。技法がソフトウェア内に部分的に実装されるときには、デバイスは、ソフトウェアに関する命令を適切な、非一時的なコンピュータによって読み取り可能な媒体に格納し、本開示の技法を実施するために1つ以上のプロセッサを用いてハードウェア内で命令を実行することができる。映像符号器20及び映像復号器30の各々は、1つ以上の符号器又は復号器に含めることができ、それらのいずれも、各々のデバイス内の結合された符号器/復号器(CODEC)の一部として組み入れることができる。
JCT−VCでは、HEVC規格の策定作業中である。HEVC標準化努力は、HEVCテストモデル(HM)と呼ばれる映像コーディングデバイスの進化中のモデルに基づく。HMは、例えば、ITU−T H.264/AVC、による既存のデバイスに対する映像コーディングデバイスの幾つかの追加能力を想定している。例えば、H.264は9つのイントラ予測符号化モードを提供する一方で、HMは、33ものイントラ予測符号化モードを提供することができる。
概して、HMのワーキングモデルでは、映像フレーム又はピクチャは、ルマサンプル及びクロマサンプルの両方を含むツリーブロック又は最大コーディングユニット(LCU)のシーケンスに分割することができると記述している。ツリーブロックは、H.264規格のマクロブロックと同様の目的を有する。スライスは、幾つかの連続するツリーブロックをコーディング順に含む。映像フレーム又はピクチャは、1つ以上のスライスに分割することができる。各ツリーブロックは、四分木に従ってコーディングユニット(CU)に分割することができる。例えば、ツリーブロックは、四分木の根ノードとして、4つの子ノードに分割することができ、各子ノードは親ノードであることができ、及び、他の4つの子ノードに分割することができる。最終的な、分割されない子ノードは、四分木の葉ノードとして、コーディングノード、すなわち、コーディングされた映像ブロックを備える。コーディングされたビットストリームと関連付けられた構文データは、ツリーブロックを分割することができる最大回数を定義することができ、及びコーディングノードの最小サイズを定義することもできる。
CUは、コーディングノードと、そのコーディングノードと関連付けられた予測ユニット(PU)及び変換ユニット(TU)と、を含む。CUのサイズは、コーディングノードのサイズに対応し、形状は正方形でなければならない。CUのサイズは、8×8ピクセルからツリーブロックのサイズまでであることができ、最大は、64×64ピクセル以上である。各CUは、1つ以上のPUと、1つ以上のTUと、を含むことができる。CUと関連付けられた構文データは、例えば、1つ以上のPUへのCUの分割を記述することができる。分割モードは、CUがスキップ又は直接モード符号化されるか、イントラ予測モード符号化されるか、又はインター予測モード符号化されるかの間で異なることができる。
PUは、形状が非正方形に分割することができる。CUと関連付けられた構文データは、例えば、四分木による1つ以上のTUへのCUの分割を記述することもできる。TUは、形状が正方形であること又は正方形でないことができる。
HEVC規格は、TUによる変換を考慮しており、異なるCUごとに異なることができる。TUは、典型的には、分割されたLCUに関して定義された所定のCU内でのPUのサイズに基づいてサイズが設定されるが、常にそうであるわけではない。TUは、典型的には、PUと同じサイズであるかそれよりも小さい。幾つかの例では、CUに対応する残差サンプルは、“残差四分木”(RQT)と呼ばれる四分木構造を用いてより小さい単位に細分することができる。RQTの葉ノードは、変換ユニット(TU)と呼ぶことができる。TUと関連付けられたピクセル差分値を変換して変換係数を生成することかでき、それは量子化することができる。
概して、PUは、予測プロセスに関連するデータを含む。例えば、PUがイントラモード符号化されるときには、PUは、PUに関するイントラ予測モードを記述したデータを含むことができる。他の例として、PUがインターモード符号化されるときには、PUは、PUに関する動きベクトルを定義するデータを含むことができる。PUに関する動きベクトルを定義するデータは、例えば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルに関する分解能(resolution)(例えば、1/4ピクセル精度又は1/8ピクセル精度)、動きベクトルが指し示す基準ピクチャ、及び/又は動きベクトルに関する基準ピクチャリストを記述することができる。
概して、TUは、変換及び量子化プロセスのために使用される。1つ以上のPUを有する所定のCUは、1つ以上のTUを含むこともできる。予測後は、映像符号器20は、PUに対応する残差値を計算することができる。残差値は、エントロピーコーディングのためのシリアライズされた変換係数を生成するためにTUを用いて変換係数に変換し、量子化し、及び走査することができるピクセル差分値を備える。本開示は、典型的には、CUのコーディングノードを意味するために用語“映像ブロック”を使用する。幾つかの特定の事例では、本開示は、ツリーブロック、すなわち、LCU、又はCUを意味するために用語“映像ブロック”を使用することもでき、コーディングノードと、PUと、TUと、を含む。
映像シーケンスは、典型的には、一連の映像フレーム又はピクチャを含む。ピクチャのグループ(GOP)は、概して、映像ピクチャのうちの一連の1つ以上を備える。GOPは、そのGOPに含まれているピクチャ数を記述する構文データをGOPのヘッダ、ピクチャのうちの1つ以上のヘッダ、又は別の場所において含むことができる。ピクチャの各スライスは、各々のスライスに関する符号化モードを記述するスライス構文データを含むことができる。映像符号器20は、典型的には、映像データを符号化するために個々の映像スライス内の映像ブロックに関して動作する。映像ブロックは、CU内のコーディングノードに対応することができる。映像ブロックは、固定された又は可変のサイズを有することができ、及び、指定されたコーディング規格によりサイズが異なることができる。
一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、イントラ予測に関しては2N×2N又はN×NのPUサイズ、インター予測に関しては2N×2N、2N×N、N×2N、N×N,等の対称的なPUサイズをサポートする。HMは、2N×nU、2N×nD、nL×2N、及びnR×2NのPUサイズにおけるインター予測に関する非対称的な分割もサポートする。非対称的な分割では、CUの1方の方向は分割されず、他方の方向が25%及び75%に分割される。25%の分割に対応するCUの部分は、“n”によって示され、“Up”、“Down”、“Left”、又は“Right”の文字が続く。従って、例えば、“2N×nU”は、水平に分割され、最上部が2N×0.5N PU、最下部が2N×1.5N PUである2N×2N CUを意味する。
本開示では、“N×N”及び“N by N”は、垂直方向及び水平方向の寸法に関する映像ブロックのピクセル寸法を指し示すために互換可能な形で使用され、例えば、16×16ピクセル又は16 by 16ピクセルである。概して、16×16ブロックは、垂直方向に16ピクセル(y=16)及び水平方向に16ピクセル(x=16)を有する。同様に、N×Nブロックは、概して、垂直方向にNのピクセル及び水平方向にNのピクセルを有し、Nは、負でない整数値である。ブロック内のピクセルは、行及び列として配置することができる。さらに、ブロックは、水平方向と垂直方向で必ずしも同じピクセル数を有する必要はない。例えば、ブロックは、N×Mのピクセルを備えることができ、ここで、Mは必ずしもNと等しくない。
CUのPUを用いたイントラ予測又はインター予測コーディングに引き続き、映像符号器20は、CUのTUに関する残差データを計算することができる。PUは、空間領域(ピクセル領域とも呼ばれる)においてピクセルデータを備え、及び、TUは、変換、例えば、離散コサイン変換(DCT)、整数変換、ウェーブレット変換、又は概念的に類似する変換を残差映像データに適用後は変換領域において係数を備えることができる。残差データは、符号化されていないピクチャのピクセルとPUに対応する予測値との間のピクセル差分に対応することができる。映像符号器20は、CUに関する残差データを含むTUを形成し、次にTUを変換してCUに関する変換係数を生成することができる。
変換を行って変換係数を生成したのに引き続き、映像符号器20は、変換係数の量子化を行うことができる。量子化は、概して、変換係数を表すために使用されるデータ量を低減させてさらなる圧縮を提供するために変換係数が量子化されるプロセスである。量子化プロセスは、それらの係数の一部又は全部と関連付けられたビット深度を低減させることができる。
幾つかの例では、映像符号器20は、エントロピー符号化することができるシリアライズされたベクトルを生成するために量子化された変換係数を走査するために予め定義された走査順序を利用することができる。その他の例では、映像符号器20は、適応型走査(adaptive scan)を行うことができる。一次元ベクトルを形成するために量子化された変換係数を走査後は、映像符号器20は、例えば、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、構文に基づくコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔分割エントロピー(PIPE)コーディング、又は他のエントロピー符号化法により、一次元ベクトルをエントロピー符号化することができる。映像符号器20は、映像データを復号する際に映像復号器30によって使用するために符号化された映像データと関連付けられた構文要素をエントロピー符号化することもできる。
CABACを実施するために、映像符号器20は、コンテキストモデル内のコンテキストを送信されるシンボルに割り当てることができる。コンテキストは、例えば、シンボルの近隣値がゼロでないかどうかに関するものであることができる。CAVLCを実施するために、映像符号器20は、送信されるシンボルに関する可変長コードを選択することができる。VLCにおけるコードワードは、相対的により短いコードがより確率が高いシンボルに対応し、より長いコードがより確率が低いシンボルに対応するような形で構築することができる。このようにして、VLCの使用は、例えば、送信されるべき各シンボルに関して等しい長さのコードワードを使用するよりもビットの節約を達成することができる。確率決定は、シンボルに割り当てられたコンテキストに基づくことができる。
図2は、変換スキップモードにおいて映像ブロックに関する有意係数情報をコーディングするために本開示で説明される技法を実装することができる映像符号器例20を示したブロック図である。映像符号器20は、映像スライス内の映像ブロックのイントラ及びインターコーディングを行うことができる。イントラコーディングは、空間的予測に依存し、所定の映像フレーム又はピクチャ内の映像の空間的冗長性を低減又は除去する。インターコーディングは、時間的予測に依存し、映像シーケンスの隣接するフレーム又はピクチャ内の映像の時間的冗長性を低減又は除去する。イントラモード(Iモード)は、幾つかの空間に基づく圧縮モードのうちのいずれかを意味することができる。インターモード、例えば、単方向性予測(Pモード)又は両方向性予測(Bモード)、は、幾つかの時間に基づく圧縮モードのうちのいずれかを意味することができる。
図2の例では、映像符号器20は、分割モジュール35と、予測モジュール41と、基準ピクチャメモリ64と、加算器50と、変換モジュール52と、量子化モジュール54と、エントロピー符号化モジュール56と、を含む。予測モジュール41は、モード選択モジュール40と、変換スキップモード選択モジュール48と、動き推定モジュール42と、動き補償モジュール44と、イントラ予測モジュール46と、を含む。映像ブロック再構築のため、映像符号器20は、逆量子化モジュール58と、逆変換モジュール60と、加算器62と、も含む。再構築された映像からブロッキネスアーティファクトを除去するためにブロック境界をフィルタリングするためにデブロッキングフィルタ(図2には示されていない)も含めることができる。希望される場合は、デブロッキングフィルタは、典型的には、加算器62の出力をフィルタリングする。デブロッキングフィルタに加えて追加のループフィルタ(ループ内又はループ後)を使用することもできる。
図2に示されるように、映像符号器20は、映像データを受信し、分割モジュール35は、データを映像ブロックに分割する。この分割は、スライス、タイル、又はその他のより大きい単位に分割することと、例えば、LCU及びCUの四分木構造による映像ブロック分割と、を含むこともできる。映像符号器20は、概して、符号化されるべき映像スライス内の映像ブロックを符号化するコンポーネントを例示する。スライスは、複数の映像ブロックに(及び可能な場合は、タイルと呼ばれる映像ブロックの組に)分割することができる。
予測モジュール41内のモード選択モジュール40は、誤りの結果(例えば、コーディングレート及び歪みレベル)に基づいて現在の映像ブロックに関して複数の可能なコーディングモードのうちの1つ、例えば、複数のイントラコーディングモードのうちの1つ又は複数のインターコーディングモードのうちの1つ、を選択することができる。モード選択モジュール40は、コーディングユニット(CU)レベルでコーディングモードを選択することができる。現在の映像ブロックに関して変換スキップモードがイネーブルにされたときには、予測モジュール41内の変換スキップモード選択モジュール48は、変換モジュール52によって現在の映像ブロックに適用されるべき変換スキップモードを選択することができる。変換スキップモード選択モジュール48は、変換ユニット(TU)レベルで変換スキップモードを選択することができる。
一例では、変換スキップモード選択モジュール48は、二次元変換モード、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを選択することができる。他の例では、変換スキップモード選択モジュール48は、二次元変換モードと無変換モードとの間で選択することができる。モード選択モジュール40は、映像ブロックに関するコーディング効率に基づいて現在の映像ブロックに関する変換スキップモードを選択することができる。例えば、二次元変換、例えば、離散コサイン変換(DCT)を適用すること、がコーディング効率の点で何の利得も提供しないときには、現在の映像ブロックに関して1つ以上の方向での変換をスキップすることができる。
幾つかの場合には、映像符号器20は、映像ブロックの境界が予測ユニット(PU)境界又は非PU境界のいずれを備えるかに基づいてインターコーディングされた映像ブロック又は変換ユニット(TU)に関して変換スキップモードをイネーブルにすることができる。例えば、所定の方向、例えば、水平又は垂直、における映像ブロックに関する境界がPU境界及び非PU境界の所定の組み合わせ、例えば、PU−PU、を備えるときには、映像符号器20は、変換スキップモードをイネーブルにすることができる。この場合は、映像符号器20は、所定の方向における変換の適用をスキップすることができるか又は所定の方向において変換が適用されるか又はスキップされるかをシグナリングすることができる。他方、映像符号器20は、境界に依存する変換モードを使用するか又は従来の二次元変換を適用することができる。その他の場合は、映像符号器20は、映像ブロックに関して変換スキップモードを使用し、映像ブロックの境界がPU境界であるか又は非PU境界であるかに基づいて変換スキップモードの選択されたタイプの表示(indication)を符号化するために使用されたコンテキストを決定することができる。
予測モジュール41内のイントラ予測モジュール46は、空間圧縮を提供するためにコーディングされるべき現在のブロックと同じフレーム又はスライス内の1つ以上の近隣ブロックに関して現在の映像ブロックのイントラ予測コーディングを行うことができる。予測モジュール41内の動き推定モジュール42及び動き補償モジュール44は、時間的圧縮を提供するために1つ以上の基準ピクチャ内の1つ以上の予測ブロックに関して現在の映像ブロックのインター予測コーディングを行う。予測モジュール41は、その結果得られたイントラ又はインターコーディングされたブロックを、残差ブロックデータを生成するために加算器50に、及び、基準ピクチャとしての使用のために符号化されたブロックを再構築するために加算器62に提供することができる。
動き推定モジュール42は、映像シーケンスに関する予め決定されたパターンにより映像スライスに関するインター予測モードを決定するように構成することができる。予め決定されたパターンは、シーケンス内の映像スライスをPスライス、Bスライス又はGPBスライスとして指定することができる。動き推定モジュール422及び動き補償ユニット44は、一体化されることが非常に多いが、概念上の目的で別々に示される。動き推定は、動き推定モジュール42によって行われ、映像ブロックに関する動きを推定する動きベクトルを生成するプロセスである。例えば、動きベクトルは、基準ピクチャ内の予測ブロックに対する現在の映像フレーム又はピクチャ内の映像ブロックのPUの変位を示すことができる。
予測ブロックは、ピクセル差分の点でコーディングされるべき映像ブロックのPUに密接にマッチすることが判明しているブロックであり、それは、絶対差分和(SAD)、平方差分和(SSD)、又はその他の差分メトリックによって決定することができる。幾つかの例では、映像符号器20は、基準ピクチャメモリ64内に格納される基準ピクチャの整数未満のピクセル位置に関する値を計算することができる。例えば、映像符号器20は、基準ピクチャの1/4ピクセル位置、1/8ピクセル位置、又はその他の分数のピクセル位置の値を内挿することができる。従って、動き推定モジュール42は、全ピクセル位置及び分数ピクセル位置に対する動き探索を行い、分数のピクセル精度を有する動きベクトルを出力することができる。
動き推定モジュール42は、PUの位置を基準ピクチャの予測ブロックの位置と比較することによってインターコーディングされたスライス内の映像ブロックのPUに関する動きベクトルを計算する。基準ピクチャは、第1の基準ピクチャリスト(リスト0)又は第2の基準ピクチャリスト(リスト1)から選択することができ、それらの各々は、基準ピクチャメモリ64に格納された1つ以上の基準ピクチャを識別する。動き推定モジュール42は、計算された動きベクトルをエントロピー符号化モジュール56及び動き補償モジュール44に送信する。
動き補償は、動き補償モジュール44によって行われ、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチ又は生成することを含むことができ、サブピクセル精度までの内挿を行うことができる。現在の映像ブロックのPUに関する動きベクトルを受信した時点で、動き補償モジュール44は、基準ピクチャリストのうちの1つにおいて動きベクトルが指し示す予測ブロックを突き止めることができる。映像符号器20は、コーディング中の現在の映像ブロックのピクセル値から予測ブロックのピクセル値を減じることによって残差映像ブロックを形成し、ピクセル差分値を形成する。ピクセル差分値は、ブロックに関する残差データを形成し、ルマ及びクロマ差分成分の両方を含むことができる。加算器50は、この減算演算を行うコンポーネント又はコンポーネント(複数)を代表する。動き補償モジュール44は、映像スライスの映像ブロックを復号する際の映像復号器30による使用のために映像ブロック及び映像スライスと関連付けられた構文要素を生成することもできる。
イントラ予測モジュール46は、上述されるように動き推定モジュール42及び動き補償モジュール44によって行われるインター予測の代替として、現在のブロックをイントラ予測することができる。特に、イントラ予測モジュール46は、現在のブロックを符号化するために使用するイントラ予測モードを決定することができる。幾つかの例では、イントラ予測モジュール46は、例えば、別々の符号化パス(encoding pass)中に、様々なイントラ予測モードを用いて現在のブロックを符号化することができ、イントラ予測モジュール46(又は幾つかの例では、モード選択モジュール40)は、試験されたモードから使用すべき適切なイントラ予測モードを選択することができる。例えば、イントラ予測モジュール46は、様々な試験されたイントラ予測モードに関するレート−歪み解析を用いてレート−歪み値を計算し、試験されたモードの中で最良のレート−歪み特性を有するイントラ予測モードを選択することができる。レート−歪み解析は、概して、符号化されたブロックと符号化されたブロックを生成するために符号化されたオリジナルの符号化されていないブロックとの間の歪み(又は誤差)の量、及び符号化されたブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測モジュール46は、いずれのイントラ予測モードがブロックに関する最良のレート−歪み値を呈するかを決定するために様々な符号化されたブロックに関する歪み及びレートから比を計算することができる。
いずれの場合も、ブロックに関するイントラ予測モードを選択後は、イントラ予測モジュール46は、ブロックに関する選択されたイントラ予測モードを示す情報をエントロピーコーディングモジュール56に提供することができる。エントロピーコーディングモジュール56は、本開示の技法により選択されたイントラ測モードを示す情報を符号化することができる。映像符号器20は、送信されたビットストリーム内に構成データを含めることができ、それは、複数のイントラ予測モードインデックステーブル及び複数の修正されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックに関する符号化コンテキストの定義と、コンテキストの各々に関して使用すべき最も確率が高いイントラ予測モード、イントラ予測モードインデックステーブル、及び修正されたイントラ予測モードインデックステーブルの表示と、を含むことができる。
予測モジュール41がインター予測又はイントラ予測を介して現在の映像ブロックに関する予測ブロックを生成した後は、映像符号器20は、現在の映像ブロックから予測ブロックを減じることによって残差映像ブロックを形成する。残差ブロック内の残差映像データは、1つ以上のTUに含めて変換モジュール52に適用することができる。変換モジュール52は、変換、例えば、離散コサイン変換(DCT)又は概念的に類似する変換、を用いて残差映像データを残差変換係数に変換することができる。変換モジュール52は、残差映像データをピクセル領域から変換領域、例えば、周波数領域、に変換することができる。
従来は、変換モジュール52は、TU内の残差データに対して二次元変換(すなわち、水平方向及び垂直方向の両方)を適用する。本開示の技法により、変換モジュール52は、代わりに、二次元変換、水平一次元変換、垂直一次元変換、又は無変換を備えることができる選択された変換スキップモードを各々のTU内の残差データに適用することができる。変換スキップモードで提供される異なるタイプの変換が図4A−4Dに関してより詳細に説明される。
変換モジュール52は、結果的に得られた変換係数を量子化モジュール54に送信することができる。量子化モジュール54は、変換係数を量子化してビットレートをさらに低減させる。量子化プロセスは、それらの係数の一部又は全部と関連付けられたビット深度を低減させることができる。量子化度は、量子化パラメータを調整することによって変更することができる。幾つかの例では、量子化モジュール54は、量子化された変換係数を含む行列の走査を行うことができる。代替として、エントロピー符号化モジュール56が走査を行うことができる。
量子化に引き続き、エントロピー符号化モジュール56は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化モジュール56は、コンテキスト適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、構文に基づくコンテキスト適応型バイナリ算術コーディング(SBAC)、確率間隔分割エントロピー(PIPE)コーディング、又は他のエントロピー符号化法又は技法を行うことができる。エントロピー符号化モジュール56によるエントロピー符号化に引き続き、符号化されたビットストリームは、映像復号器30に送信するか、又は、のちの送信又は映像復号器30による取り出しのために保存することができる。エントロピー符号化モジュール56は、動きベクトル、及びコーディング中の現在の映像スライスに関するその他の構文要素をエントロピー符号化することもできる。
本開示の技法により、エントロピー符号化モジュール56は、選択された変換スキップモードに少なくとも部分的に基づいて定義されたコーディング手順を用いて量子化された変換係数のブロックに関する有意係数情報を符号化する。例えば、有意係数情報は、映像ブロック内の最後のゼロでない係数の位置及び映像ブロックに関する有意性マップのうちの少なくとも1つを含む。選択された変換スキップモードにおいて映像ブロック内の最後のゼロでない係数情報を符号化するために使用されるコーディング手順が、図6A−6C及び図11に関してより詳細に説明される。選択された変換スキップモードにおいて映像ブロックに関する有意性マップを符号化するために使用されるコーディング手順が、図7A−7C、8A−8C、図12及び図13に関してより詳細に説明される。
幾つかの場合において、エントロピー符号化モジュール56は、コーディング中の映像ブロックに関して変換スキップモードがイネーブルにされているかどうかを示す表示をエントロピー符号化することができ、変換スキップモードがイネーブルにされている場合は、エントロピー符号化モジュール56は、映像ブロックに関する選択された変換スキップモードの表示もエントロピー符号化することができる。変換スキップモードをイネーブルにし及び映像ブロックに関する選択された変換スキップモードの表示を符号化するための手順が、図9、図13及び図14に関してより詳細に説明される。
逆量子化モジュール58及び逆変換モジュール60は、基準ピクチャの基準ブロックとしてののちの使用のためにピクセル領域で残差ブロックを再構築するために、逆量子化及び逆変換をそれぞれ適用する。動き補償モジュール44は、基準ピクチャリストのうちの1つ内の基準ピクチャのうちの1つの予測ブロックに残差ブロックを加えることによって基準ブロックを計算することができる。動き補償モジュール44は、動き推定での使用のために整数未満のピクセル値を計算するために再構築された残差ブロックに1つ以上の内挿フィルタを適用することもできる。加算器62は、基準ピクチャメモリ64に格納するための基準ブロックを生成するために動き補償モジュール44によって生成された動き補償予測ブロックに再構築された残差ブロックを加える。基準ブロックは、後続する映像フレーム又はピクチャ内のブロックをインター予測するための基準ブロックとして動き推定モジュール42及び動き補償モジュール44によって使用することができる。
図3は、変換スキップモードにおいて映像ブロックに関する有意係数情報をコーディングするために本開示で説明される技法を実装することができる映像復号器例30を示したブロック図である。図3の例では、映像復号器30は、エントロピー復号モジュール80と、予測モジュール81と、逆量子化モジュール86と、逆変換モジュール88と、加算器90と、基準ピクチャメモリ92と、を含む。予測モジュール81は、動き補償モジュール82と、イントラ予測モジュール84と、を含む。映像復号器30は、幾つかの例では、図2からの映像符号器20に関して説明される符号化パス(encoding pass)と概して相互的な復号パスを行うことができる。
復号プロセス中に、映像復号器30は、符号化された映像スライスの映像ブロック及び関連付けられた構文要素を表す符号化された映像ビットストリームを映像符号器20から受信する。映像復号器30のエントロピー復号モジュール80は、量子化された係数、動きベクトル、及びその他の構文要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号モジュール80は、動きベクトル及びその他の構文要素を予測モジュール81に転送する。映像復号器30は、映像スライスレベル及び/又は映像ブロックレベルで構文要素を受信することができる。
復号されるべき映像ブロックに関して変換スキップモードがイネーブルにされたときには、エントロピー復号モジュール80は、映像ブロックに関する選択された変換スキップモードの表示を生成するためにビットストリームをエントロピー復号する。次に、エントロピー復号モジュール80は、映像符号器20から受信された選択された変換スキップモードの表示に基づいて変換スキップモードを選択する。例えば、選択された変換スキップモードの表示は、二次元変換モード、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを示すことができる。エントロピー復号モジュール80は、選択された変換スキップモードを逆変換モジュール88に転送する。
幾つかの場合は、映像復号器30は、映像ブロックの境界が予測ユニット(PU)境界又は非PU境界のいずれを備えるかに基づいてインターコーディングされた映像ブロック又は変換ユニット(TU)に関する変換スキップモードを推測することができる。例えば、所定の方向、例えば、水平又は垂直、における映像ブロックに関する境界がPU境界及び非PU境界の所定の組み合わせ、例えば、PU−PU、を備えるときには、映像復号器30は、変換スキップモードを推測することができる。この場合は、映像復号器30は、所定の方向における変換の適用をスキップすることができるか又は所定の方向において変換が適用されるか又はスキップされるかの表示を復号することができる。他方、映像復号器30は、境界に依存する変換モードを使用するか又は従来の二次元変換を適用することができる。その他の場合は、映像復号器30は、映像ブロックに関して変換スキップモードを使用し、映像ブロックの境界がPU境界であるか又は非PU境界であるかに基づいて選択された変換スキップモードの表示を復号するために使用されるコンテキストを決定することができる。変換スキップモードを推測し及び映像ブロックに関する選択された変換スキップモードの表示を復号するための手順が、図9、図13及び図14に関してより詳細に説明される。
映像スライスがイントラコーディングされた(I)スライスとしてコーディングされるときには、予測モジュール81のイントラ予測モジュール84は、シグナリングされたイントラ予測モード及び現在のフレーム又はピクチャの以前に復号されたブロックからのデータに基づいて現在の映像スライスの映像ブロックに関する予測データを生成することができる。映像フレームがインターコーディングされた(すなわち、B又はP)スライスとしてコーディングされるときには、予測モジュール81の動き補償モジュール82は、動きベクトル及びエントロピー復号モジュール80から受信されたその他の構文要素に基づいて現在の映像スライスの映像ブロックに関する予測ブロックを生成する。予測ブロックは、基準ピクチャリストのうちの1つ内の基準ピクチャのうちの1つから生成することができる。映像復号器30は、基準ピクチャメモリ92に格納された基準ピクチャに基づいてデフォルトの構築技法を用いて、基準フレームリスト、リスト0及びリスト1、を構築することができる。
動き補償モジュール82は、動きベクトル及びその他の構文要素を構文解析することによって現在の映像スライスの映像ブロックに関する予測情報を決定し、及び、その予測情報を用いて復号中の現在の映像ブロックに関する予測ブロックを生成する。例えば、動き補償モジュール82は、映像スライスの映像ブロックをコーディングするために使用された予測モード(例えば、イントラ又はインター予測)を決定するための受信された構文要素の一部、インター予測スライスタイプ(例えば、Bスライス又はPスライス)、スライスに関する基準ピクチャリストのうちの1つ以上に関する構築情報、スライスの各々のインター符号化された映像ブロックに関する動きベクトル、スライスの各々のインターコーディングされた映像ブロックに関するインター予測状態、及び現在の映像スライス内の映像ブロックを復号するためのその他の情報を使用する。
動き補償モジュール82は、内挿フィルタに基づいて内挿を行うこともできる。動き補償モジュール82は、映像ブロックの符号化中に映像符号器20によって使用された内挿フィルタを使用し、基準ブロックの整数未満のピクセルに関する内挿された値を計算することができる。この場合は、動き補償モジュール82は、受信された構文要素から映像符号器20によって使用される内挿フィルタを決定し、予測ブロックを生成するためにそれらの内挿フィルタを使用することができる。
逆量子化モジュール86は、ビットストリーム内で提供されてエントロピー復号モジュール80によって復号された量子化された変換係数を逆量子化、すなわち、量子化解除、する。逆量子化プロセスは、量子化度、そして同様に適用されるべき逆量子化度を決定するために映像スライス内の各映像ブロックに関して映像符号器20によって計算された量子化パラメータを使用することを含むことができる。逆変換モジュール88は、ピクセル領域内において残差ブロックを生成するために逆変換、例えば、逆DCT、逆整数変換、又は概念的に類似の逆変換プロセス、を変換係数に適用する。
従来は、逆変換モジュール88は、TUの係数に二次元変換(すなわち、水平方向及び垂直方向の両方)を適用する。本開示の技法により、逆変換モジュール88は、代わりに、二次元変換、水平一次元変換、垂直一次元変換、又は無変換を備えることができる選択された変換スキップモードを各々のTU内の係数に適用することができる。変換スキップモードで提供される異なるタイプの変換が図4A−4Dに関してより詳細に説明される。
映像復号器30のエントロピー復号モジュール80は、選択された変換スキップモードに少なくとも部分的に基づいて定義されたコーディング手順を用いて現在の映像ブロックに関する有意係数情報を復号する。例えば、有意係数情報は、映像ブロック内の最後のゼロでない係数の位置及び映像ブロックに関する有意性マップのうちの少なくとも1つを含む。選択された変換スキップモードにおいて映像ブロック内の最後のゼロでない係数情報を復号するために使用されるコーディング手順が、図6A−6C及び図11に関してより詳細に説明される。選択された変換スキップモードにおいて映像ブロックに関して有意性マップを復号するために使用されるコーディング手順が、図7A−7C、図8A−8C、図12及び図13に関してより詳細に説明される。
動き補償モジュール82が動きベクトル及びその他の構文要素に基づいて現在の映像ブロックに関する予測ブロックを生成した後は、映像復号器30は、逆変換モジュール88からの残差ブロックと動き補償モジュール82によって生成された対応する予測ブロックを加算することによって復号された映像ブロックを形成する。加算器90は、この加算演算を行うコンポーネント又はコンポーネント(複数)を代表する。希望される場合は、ブロッキネスアーティファクトを除去するために復号されたブロックをフィルタリングするためにデブロッキングフィルタも含めることができる。ピクセル遷移を平滑化するために、又は映像品質を向上させるためにその他のループフィルタ(コーディングループ内又はコーディングループ後)を使用することもできる。次に、所定のフレーム又はピクチャ内の復号された映像ブロックが基準ピクチャメモリ92に格納され、それは、後続する動き補償のために使用される基準ピクチャを格納する。基準ピクチャメモリ92は、表示装置、例えば、図1の表示装置32、においてのちに提示するために復号された映像も格納する。
図4A−4Dは、変換スキップモードにおいて二次元変換、水平一次元変換、垂直一次元変換、及び無線変換を用いて係数に変換された残差映像データのブロックの例を示した概念図である。図4A−4Dにおいて示されるように、映像データの8×8ブロック、例えば、CUのTU、は、円で表される対応するブロック位置内の64の残差ピクセル値を含むことができる。例えば、ブロック100、102、104及び106は、各々が、8×8のサイズを有し、従って、前述される予測技法を用いて生成された64の残差ピクセル値を含むことができる。
本開示で説明される技法により、ブロック100、102、104及び106の各々に変換スキップモードを適用することができる。変換スキップモードは、残差映像ブロックの二次元変換を常に採用する代わりにより多くの変換選択肢を提供する。ブロック100、102、104及び106の各々における64の残差ピクセル値は、二次元変換、水平一次元変換、垂直一次元変換、無変換のうちの1つを用いて係数に変換することができる。
変換係数コーディングのための従来の技法は、二次元変換を想定する。映像ブロックに関して1つ以上の変換がスキップされる変換スキップモードが選択された場合は、映像ブロックの係数に関する統計は、二次元変換の場合と異なることになる。従って、従来のコーディング手順は、映像ブロックに関する有意係数情報をコーディングする上での最も効率的な手順ではないことがある。本開示の技法は、映像ブロックに関する選択された変換スキップモードに少なくとも部分的に基づいて、映像ブロック内の最後ゼロでない係数の位置と映像ブロックに関する有意性マップとを含む有意係数情報をコーディングするために異なるコーディング手順を使用することについて記述する。
図4Aに示されるように、ブロック100に適用される変換スキップモードは、二次元変換モードである。二次元変換モードは、図4Aにおいて矢印で示されるように、水平方向及び垂直方向の両方において残差ピクセル値を変換係数に変換する。図4Bにおいて示されるように、ブロック102に適用される変換スキップモードは、水平一次元変換モードである。水平一次元変換モードは、図4Bにおいて矢印で示されるように、水平方向のみにおいて残差ピクセル値を変換係数に変換する。この場合は、垂直方向での変換はスキップされる。
図4Cにおいて、ブロック104に適用される変換スキップモードは、垂直一次元変換モードである。垂直一次元変換モードは、図4Cにおいて矢印で示されるように、垂直方向のみにおいて残差ピクセル値を変換係数に変換する。この場合は、水平方向での変換はスキップされる。図4Dにおいて、ブロック106に適用される変換スキップモードは、無変換モードであり、図4Dにおいて矢印が存在しないことによって示されるように、残差ピクセル値に変換が適用されない。この場合は、垂直方向及び水平方向の両方の変換がスキップされる。無変換モードでは、映像ブロックの変換係数は、残差ピクセル値を備える。
その他の例では、上述されるように、ブロックは、ブロック100、102、104及び106のサイズよりも小さい又は大きいサイズを有することができ、及びより多い又はより少ない残差ピクセル値及び対応するブロック位置を含むことができる。これらの例では、特定のブロックに適用される変換スキップモードは、図4A−4Dのブロック100、102、104及び106において示されるのと実質的に類似する方法で残差ピクセル値を変換係数に変換することができる。
図5A−5Dは、ジグザグ走査順序、水平走査順序、垂直走査順序、及び対角走査順序を用いて走査される映像データのブロックの例を示した概念図である。図5A−5Dにおいて示されるように、映像データの8×8ブロック、例えば、CUのTU、は、円で表される対応するブロック位置内の64の量子化された変換係数を含むことができる。例えば、ブロック110、112、114及び116は、各々が、8×8のサイズを有し、従って、4A−4Dに関して上述される変換スキップモードを用いて生成された64の量子化された変換係数を含むことができる。ブロック110、112、114及び116の各々内の量子化された変換係数は、ジグザグ走査順序、水平走査順序、垂直走査順序、及び対角走査順序のうちの1つを用いてエントロピーコーディングに備えて走査される。
図5Aにおいて示されるように、ブロック110と関連付けられた走査順序は。ジグザグ走査順序である。ジグザグ走査順序は、図5Aにおいて矢印で示されるように、ブロック110の量子化された変換係数を対角に走査する。同様に、図5Dにおいて、対角走査順序は、図5Dにおいて矢印で示されるように、ブロック116の量子化された変換係数を対角に走査する。図5B及び5Cにおいて示されるように、ブロック112及び114と関連付けられた走査順序は、それぞれ水平走査順序及び垂直走査順序である。同じく図5B及び5Cにおいて矢印で示されるように、水平走査順序は、水平方向に1行ずつ、又は“ラスター”方式で、ブロックの量子化された変換係数を走査し、垂直走査順序は、垂直方向に1行ずつ、又は“回転ラスター”方式で、ブロック114の量子化された変換係数を走査する。
その他の例では、上述されるように、ブロックは、ブロック110、112、114及び116のサイズよりも小さい又は大きいサイズを有することができ、及びより多い又はより少ない量子化された変換係数及び対応するブロック位置を含むことができる。これらの例では、特定のブロックと関連付けられた走査順序は、図5A−5Dの8×8ブロックの例において示されるのと実質的に類似する方法でブロックの量子化された変換係数を走査することができ、例えば、前述される走査順序のうちのいずれかに従って4×4ブロック又は16×16ブロックを走査することができる。より大きいブロックは、より小さいサブブロックに分割することができ、及びサブブロック内の又はサブブロック間のサンプルに対して同じ走査順序を適用することができる。
概して、図5A−5Dにおいて例示される走査順序のうちのいずれも、図4A−4Dにおいて例示される変換スキップモードのうちのいずれかを用いて生成された量子化された変換係数のブロックに適用することができる。しかしながら、一例では、図5Aにおいて例示されるジグザグ走査順序又は図5Dにおいて例示される対角走査順序は、変換スキップモードにおいて二次元変換又は無変換のいずれかを用いて生成された係数を含む映像ブロックに対して最も頻繁に適用することができる。他の例では、図5Bにおいて例示される水平走査順序は、変換スキップモードにおいて垂直一次元変換を用いて生成された係数を含む映像ブロックに対して最も頻繁に適用することができる。さらなる例では、図5Aにおいて例示されるジグザグ走査順序、図5Cにおいて例示される垂直走査順序、又は図5Dにおいて例示される対角走査順序は、変換スキップモードにおいて水平一次元変換を用いて生成された係数を含む映像ブロックに最も頻繁に適用することができる。
図6A−6Cは、映像データのブロックの例、及び対応する有意な係数の位置情報(すなわち、有意性マップ)及び変換スキップモードにおける最後のゼロでない係数位置情報を例示した概念図である。本開示の技法は、映像ブロックに関する選択された変換スキップモードに少なくとも部分的に基づいて、映像ブロック内の最後のゼロでない係数の位置と映像ブロックに関する有意性マップとを含む有意係数情報をコーディングするために異なるコーディング手順を使用することを記述する。
図6Aにおいて示されるように、映像データのブロック、例えば、CUのTU、は、異なる値又はレベルの量子化された変換係数を含むことができる。例えば、図6Aに示されるように、ブロック120は、前述される予測技法、変換技法、及び量子化技法を用いて生成された量子化された変換係数を含むことができる。一例では、ブロック120は、2N×2Nのサイズを有し、ここで、Nは2に等しい。従って、ブロック120は、4×4のサイズを有し、同じく6Aにおいて示されるように、16の量子化された変換係数を含む。さらに、ブロック120と関連付けられた走査順序は、例えば、上記においてより詳細に説明される図5Aに示されるように、ジグザグ走査順序である。この例により、ジグザグ走査順序によるブロック120内の最後の有意な係数は、“1”に等しい量子化された変換係数であり、ブロック120内の位置121に位置する。
その他の例では、ブロックは、ブロック120のサイズよりも小さい又は大きいサイズを有することができ、及び、ブロック120よりも多い又は少ない量子化された変換係数を含むことができる。さらにその他の例では、ブロック120と関連付けられた走査順序は、異なる走査順序、例えば、水平走査順序、垂直走査順序、対角走査順序、又は他の走査順序であることができる。
図6Bは、ブロック122で表現される有意な係数の位置情報の例(すなわち、有意性マップ)を示す。図6Bの例では、ブロック122は、図6Aで描かれるブロック120に対応することができる。換言すると、ブロック122の有意な係数のフラグは、ブロック120の量子化された変換係数に対応することができる。図6Bにおいて示されるように、“1”に等しいブロック122の有意な係数のフラグは、ブロック120のゼロでない又は有意な係数に対応する。同様に、“0”に等しいブロック122の有意な係数のフラグは、ブロック120のゼロの又は有意でない係数に対応する。
この例では、ジグザグ走査順序によりブロック120内の最後の有意な係数に対応するブロック122の有意な係数のフラグは、“1”に等しい有意な係数のフラグであり、ブロック122内の位置123に位置する。その他の例では、有意な係数又は有意でない係数を示すために使用される有意な係数のフラグの値は変わることができる(例えば、“0”に等しい有意な係数のフラグが有意な係数に対応することができ、“1”に等しい有意な係数のフラグが有意でない係数に対応することができる)。
図6Cは、ブロック124で表現される最後のゼロでない係数の位置情報の例を示す。図6Cの例では、ブロック124は、図6A及び図6Bにおいてそれぞれ描かれるブロック120及びブロック122に対応することができる。換言すると、ブロック124の最後の有意な係数のフラグは、ブロック120の量子化された変換係数に、及びブロック122の有意な係数のフラグに対応することができる。
図6Cにおいて示されるように、“1”に等しく、ブロック124内の位置126に位置するブロック124の最後の有意な係数のフラグは、ブロック120の最後のゼロでない係数に、及び、ジグザグ走査順序により、“1”に等しいブロック122の有意な係数のフラグのうちの最後の1つに対応する。同様に、“0”に等しいブロック124の最後の有意な係数のフラグ(すなわち、すべての残りの最後の有意な係数のフラグ)は、ブロック120のゼロの又は有意でない係数に、及び、ジグザグ走査順序により該有意な係数のフラグの最後の1つ以外の“1”に等しいブロック122のすべての有意な係数のフラグに対応する。
走査順序により最後のゼロでない係数を示すために使用される最後の有意な係数のフラグの値は、変わることができる(例えば、“0”に等しい最後の有意な係数のフラグが、走査順序による最後のゼロでない係数に対応することができ、“1”に等しい最後の有意な係数のフラグが、すべての残りの係数に対応することができる)。いずれの場合も、ブロック122の有意な係数のフラグ、及びブロック124の最後の有意な係数のフラグは、総称して、ブロック120に関する有意係数情報と呼ぶことができる。
一例では、本開示の技法は、映像ブロックに関する選択された変換スキップモードに少なくとも部分的に基づいて映像ブロック内の最後のゼロでない係数の位置をコーディングするために異なるコーディング手順を使用することについて記述する。変換スキップモードは、図4A−4Dにおいて例示されるように、二次元変換モードと、垂直一次元変換モードと、水平一次元変換モードと、無変換モードと、を備えることができる。概して、映像ブロックに関する最後のゼロでない係数の位置は、映像ブロックに適用される走査順序に依存する。走査順序は、図5A−5Dにおいて例示されるように、ジグザグ走査順序と、水平走査順序と、垂直走査順序と、対角走査順序とを備えることができる。映像ブロックに関する最後のゼロでない係数の位置は、図6Bにおいて例示されるように、映像ブロックに関する有意性マップをコーディングする前に、及び図6Aにおいて例示されるように、映像ブロックに関する係数レベル情報をコーディングする前に明示でコーディングすることができる。
図6Cにおいて例示されるように、ジグザグ走査順序におけるブロック124内の最後のゼロでない係数の位置126は、(lastX,lastY)によって表すことができ、lastXは、最後のゼロでない係数に関する列インデックスを表し、lastYは、最後のゼロでない係数に関する行インデックスを表す。図5Cにおいて例示されるように、垂直走査が使用されるときには、lastX及びlastYの値がコーディング目的でスワップされる。残差ピクセル値を係数に変換するために二次元変換が映像ブロックに適用されるときには、量子化後はゼロでない係数は映像ブロックの低い方の周波数、すなわち、左上隅、に集中するため、lastX及びlastYは典型的には小さい大きさを有する。lastX及びlastYのシグナリングは、ゼロでない係数の典型的な位置を利用するように設計される。
一例として、水平方向の変換がスキップされるように垂直一次元変換モードが選択される場合に、図5Bにおいて例示されるように、水平走査を映像ブロックに適用することができ、二次元変換モードと比較してlastXのより高い値の方が確率が高い。本開示において説明される技法は、二次元変換モードと同様の方法でlastXをコーディングする代わりに、以下においてより詳細に説明される3つのlastXコーディング方法を提供する。
他の例として、垂直方向において変換がスキップされるように水平一次元変換モードが選択される場合に、図5Cにおいて例示されるように、垂直走査が映像ブロックに適用され、lastX及びlastYの値がスワップされ、このため、lastXは、最後のゼロでない係数に関する行インデックスを表し、lastYは、最後のゼロでない係数に関する列インデックスを表す。この場合、繰り返しになるが、二次元変換モードと比較してlastXのより高い値の方が確率が高い。従って、変換が1つの方向(水平又は垂直)のみに適用されるときには、lastXは、後述される3つの方法のうちの1つを用いてコーディングされる。これらの場合は、lastYは、二次元変換モードと同じようにコーディングされる。
さらなる例として、垂直方向及び水平方向の両方において変換がスキップされるように無変換モードが選択された場合は、二次元変換モードと比較してlastX及びlastYに関してより高い値の方が確率が高い。この場合は、lastX及びlastYは、以下において説明される3つの方法のうちの1つを用いてコーディングされる。
映像ブロック内の最後のゼロでない係数の位置をコーディングするための3つの方法は、lastXをコーディングすることに関して説明される。水平方向又は垂直方向のいずれかにおいて映像ブロックの残差ピクセル値に無変換が適用されるときには、lastYをコーディングするために同じ方法が適用されることが理解されるであろう。ここでは主に正方形の映像ブロックに適用されるとして説明されるが、変換スキップモードは、長方形(すなわち、非正方形)ブロックに適用することができる。その場合は、映像ブロック内の最後のゼロでない係数の位置をコーディングするための以下の3つの方法は、非正方形のブロックに適用することができる。
第1の方法では、lastXは、可変長コードを使用することと反対に、固定されたビット数を用いてコーディングされる。より具体的には、lastXの値がバイナリ化されて固定されたビット数を有するバイナリビット表現になり、次に、バイナリ化されたインデックスの各ビットがCABACのバイパスモードを用いてコーディングされる。
固定されたビット数は、ブロックサイズのlog2に等しいことができる。例えば、4×4ブロックを備える図6Cからのブロック124の場合は、最後のゼロでない係数の行インデックスをコーディングするために使用される固定ビット数は、2に等しいことができ、それは、0、1、2及び3の列又は行インデックス値を表現するために要求されるバイナリビット数である。他の例として、ブロックが16×16のサイズを有する場合は、固定されたビット数は、4に等しいことができる。その他の例では、映像ブロックは、長方形のブロックを備えることができ、及び、lastXを符号化するために使用される固定ビット数は、該当する方向におけるブロックの寸法に依存することができる。例えば、水平変換のみがスキップされて水平走査が使用される場合は、lastXに関して使用されるビット数は、ブロック幅のlog2に等しい。垂直変換のみがスキップされて垂直走査が使用される場合は、lastXに関して使用されるビット数は、垂直走査が使用されるときのlastX及びlastYのスワップに起因して、ブロックの高さのlog2に等しい。
垂直一次元変換モードが映像ブロックに適用され、水平走査順序が変換係数に適用されるときには、lastXは、映像ブロック内の最後のゼロでない係数の列を示し、lastYは、映像ブロック内の最後のゼロでない係数の行を示す。この場合は、lastXは、映像ブロックの幅に基づいて固定ビット数を用いてコーディングされ、lastYは、二次元変換モードに関する行インデックスをコーディングするために定義される手順を用いてコーディングされる。
水平一次元変換モードが映像ブロックに適用され、垂直走査順序が変換係数に適用されるときには、lastX及びlastYの値がスワップされ、このため、lastXは、映像ブロック内の最後のゼロでない係数の行を示し、lastYは、映像ブロック内の最後のゼロでない係数の列を示す。この場合は、lastXは、映像ブロックの高さに基づいて固定ビット数を用いてコーディングされ、lastYは、二次元変換モードに関する列インデックスをコーディングするために定義された手順を用いてコーディングされる。
無変換モードが映像ブロックに適用されるときには、lastXは、映像ブロック内の最後のゼロでない係数の列を示し、lastYは、映像ブロック内の最後のゼロでない係数の行を示す。この場合は、lastX及びlastYは、映像ブロックの高さ及び幅にそれぞれ基づいて固定ビット数を用いてコーディングされる。
第2の方法では、lastXをコーディングする代わりに、B−1−lastXがコーディングされ、ここで、Bは、ブロックサイズである。B−1−lastXをコーディングするために使用されるコンテキストは、二次元変換モードに関してlastXをコーディングするために使用されるそれらと同じであることができる。代替として、B−1−lastXをコーディングし及び二次元変換モードに関するlastXをコーディングするために別々のコンテキストを使用することができる。この方法は、映像ブロック内の最後のゼロでない係数が走査順序に関してブロックの最後付近にある状況に対して特に適する。lastXの位置がブロックサイズから減じられるため、lastXの位置がブロックの右側に最も近い列にあるか、又は垂直走査の場合はブロックの最下部に最も近い行にあるときに小さい値になる。
垂直一次元変換モードが映像ブロックに適用され、水平走査順序が変換係数に適用されるときには、lastXは、映像ブロック内の最後のゼロでない係数の列を示し、lastYは、映像ブロック内の最後のゼロでない係数の行を示す。この場合は、lastXは、B−1−lastXを用いてコーディングされ、ここで、Bは、水平なブロックサイズ、すなわち、映像ブロックの幅であり、lastYは、二次元変換モードに関する行インデックスをコーディングするために定義された手順を用いてコーディングされる。
水平一次元変換モードが映像ブロックに適用され、垂直走査順序が変換係数に適用されるときには、lastX及びlastYの値がスワップされ、このため、lastXは、映像ブロック内の最後のゼロでない係数の行を示し、lastYは、映像ブロック内の最後のゼロでない係数の列を示す。この場合は、lastXは、B−1−lastXを用いてコーディングされ、ここで、Bは、垂直なブロックサイズ、すなわち、映像ブロックの高さであり、lastYは、二次元変換モードに関する列インデックスをコーディングするために定義された手順を用いてコーディングされる。
無変換モードが映像ブロックに適用されるときには、lastXは、映像ブロック内の最後のゼロでない係数の列を示し、lastYは、映像ブロック内の最後のゼロでない係数の行を示す。この場合は、lastX及びlastYは、B−1−lastX及びB−1−lastXを用いてそれぞれコーディングされ、ここで、Bは、水平なブロックサイズであり、Bは、垂直なブロックサイズである。
第3の方法は、変換スキップモードのタイプごとに別々に説明される。第1の例では、垂直一次元変換モードが映像ブロックに適用され、すなわち、水平変換がスキップされ、水平走査順序が変換係数に適用されるときには、lastXのコーディングがスキップされ、lastYは二次元変換モードと同じようにコーディングされる。この場合は、図5Bにおいて例示されるように、垂直に変換された係数を走査するために水平走査順序が使用される。LastYがコーディングされるため、映像復号器30は、最後のゼロでない係数に対応する行のインデックスを知っている。しかしながら、lastXのコーディングをスキップする技法に起因して、最後のゼロでない係数に対応する列のインデックスは不明である。
従来は、二次元変換事例では、最後のゼロでない係数は有意であると推測されるため、最後のゼロでない係数に関する有意性はコーディングされない。最後の有意な係数に対応する列のインデックスが不明であるときには、最後のゼロでない係数の有意性はもはや推定することはできない。本開示の技法により、lastYによって示された行内のすべての係数に関する有意性マップがコーディングされて映像復号器30に送信される。有意性マップは、映像ブロックの示された行内の各ゼロでない係数の位置を識別し、水平走査順序に関して示される行内の最後のゼロでない係数の位置が、映像ブロック内の最後のゼロでない係数になる。
水平一次元変換モードが映像ブロックに適用され、すなわち、垂直変換がスキップされ、垂直走査順序が変換係数に適用されるときには、lastXのコーディングが再びスキップされ、lastYが二次元変換モードの場合と同じようにコーディングされる。この場合、lastX及びlastYの値がスワップされ、このため、lastXは、最後のゼロでない係数に関する行インデックスを示し、lastYは、最後のゼロでない係数に関する列インデックスを示すことを思い出すこと。この場合は、図5Cにおいて例示されるように、水平に変換された係数を走査するために垂直走査順序が使用される。LastYがコーディングされるため、映像復号器30は、最後のゼロでない係数に対応する列のインデックスを知っている。しかしながら、lastXのコーディングをスキップする技法に起因して、最後のゼロでない係数に対応する行のインデックスは不明である。有意性マップは、映像ブロックの示された列内の各ゼロでない係数の位置を識別し、垂直走査順序に関して示される列内の最後のゼロでない係数の位置が、映像ブロック内の最後のゼロでない係数になる。
無変換モードが映像ブロックに適用される、すなわち、水平方向及び垂直方向のいずれにも変換が適用されない、ときには、lastX及びlastYのコーディングがスキップされる。この場合は、最後のゼロでない係数を含む映像ブロック内のすべての係数に関する有意性マップがコーディングされて映像復号器30に送信される。有意性マップは、映像ブロック内の各ゼロでない係数の位置を識別し、このため、走査順序に関して映像内の最後のゼロでない係数の位置が、映像ブロック内の最後のゼロでない係数になる。
上述される第1、第2及び第3の方法は、垂直変換のみがスキップされるときに垂直走査が使用され、水平変換のみがスキップされるときに水平走査が使用されるという前提に基づいている。しかしながら、幾つかの例では、垂直変換のみ又は水平変換のみがスキップされるときには、図5A及び図5Dにおいてそれぞれ例示されるジグザグ走査又は対角走査を使用することができる。この場合は、lastX及びlastYのスワップは生じない。
さらに、方法は、上記においては主に正方形のブロックに関して説明されているが。正方形のブロックの代わりに長方形の(すなわち、非正方形の)ブロックに対しても適用することができる。いずれの場合も、ブロック内の最後のゼロでない係数の位置をコーディングするための上述される方法は、ブロックの幅及び高さを考慮して適宜変更することができる。
幾つかの例では、映像ブロック内の最後のゼロでない係数の位置は、2つのステップで符号化される。第1のステップでは、最後のゼロでない係数の位置が属する間隔、例えば、映像ブロックの行又は列、がコンテキストコーディングされる。第2のステップでは、間隔内の最後のゼロでない係数の位置がバイパスコーディングされる。バイパスコーディングされたビンをグループにまとめるために、lastX及びlastYに関するコンテキストコーディングされたビンが最初に符号化される。この後に、lastX及びlastYに関するバイパスビンが続く。
lastXが固定されたビット数を用いてコーディングされる上記の第1の方法に関して、水平変換のみがスキップされるとき、又は垂直変換のみがスキップされて走査が垂直であるときには、lastX及びlastYのバイナリビット(すなわち、ビン)がコーディングされる順序は次のとおりである(lastXが先にコーディングされて、lastYが後続すると仮定する)。すなわち、(1)lastXに関するバイパスコーディングされた固定数のビン、(2)lastYに関するコンテキストコーディングされたビン、及び(3)lastYに関するバイパスコーディングされたビン。上記の場合、バイパスコーディングされたビンは分割される。これを避けるために、水平変換のみがスキップされるとき、又は垂直変換のみがスキップされて走査が垂直であるときには、ビンがコーディングされる順序を次のように変更することができる。すなわち、(1)lastYに関するコンテキストコーディングされたビン、(2)lastYに関するバイパスコーディングされたビン、及び(3)lastXに関するバイパスコーディングされた固定数のビン。この方法により、バイパスコーディングされたビンがグループにまとめられる。次に、映像復号器30が同じ順序でデータを復号する。
本開示の技法により、映像ブロック内の最後のゼロでない係数の位置を表すバイナリビットは、選択された変換スキップモードに基づいて特定の順序でコーディングすることができる。例えば、二次元変換モードでは、ビンがコーディングされる順序は、次の通りである。すなわち、(1)lastXに関するコンテキストコーディングされたビン、(2)lastYに関するコンテキストコーディングされたビン、(3)lastXに関するバイパスコーディングされたビン、及び(4)lastYに関するバイパスコーディングされたビン。水平変換のみがスキップされるか又は垂直変換のみがスキップされて垂直走査が使用される場合は、ビンがコーディングされる順序は次の通りである。すなわち、(1)lastYに関するコンテキストコーディングされたビン、(2)lastYに関するバイパスコーディングされたビン、及び(3)lastXに関するバイパスコーディングされた固定数のビン。
垂直変換のみがスキップされて非垂直走査が使用され、このためlastX及びlastYのスワップが生じない場合は、ビンがコーディングされる順序は次の通りである。すなわち、(1)lastYに関するコンテキストコーディングされたビン、(2)lastXに関するバイパスコーディングされたビン、及び(3)lastYに関するバイパスコーディングされた固定数のビン。水平変換及び垂直変換の両方がスキップされる場合は、ビンがコーディングされる順序は次の通りである。すなわち、(1)lastXに関するバイパスコーディングされた固定数のビン、及び(2)lastYに関するバイパスコーディングされた固定数のビン。
図7A−7Cは、映像データのブロックの例、及び変換スキップモードにおけるブロックに関して共有される有意性マップコンテキスト、ブロックの各列、及びブロックの各行を示した概念図である。本開示の技法は、映像ブロックに関する選択された変換スキップモードに少なくとも部分的に基づいて、映像ブロックに関する有意性マップを含む有意係数情報をコーディングするために異なるコーディング手順を使用することについて記述する。変換スキップモードは、図4A−4Dにおいて例示されるように、二次元変換モードと、垂直一次元変換モードと、水平一次元変換モードと、無変換モードと、を備えることができる。
従来は、映像ブロックに関する走査順序で最後のゼロでない係数の位置をコーディング後は、映像ブロック内の、最後のゼロでない係数を除く各ゼロでない係数の位置を識別するために映像ブロックに関して有意性マップがコーディングされる。16×16及び32×32ブロックに関しては、所定の係数に関する有意性マップをコーディングするためのコンテキストを決定するために5つの係数の(逆走査順序の)因果近隣(causal neighborhood)を使用することができる。有意性マップをコーディングするためのコンテキストを決定するために、因果近隣の代わりに、現在の映像ブロックに隣接する右及び最下部の4×4サブブロックに関するコーディングされたサブブロックフラグを使用することもできる。これらのコーディング技法における論理的根拠は、有意な係数が近隣に存在するときには、所定の係数が有意である確率が上昇するということである。
4×4及び8×8ブロックに関しては、異なるコンテキストが使用される。特に、4×4ブロックに関しては、すべての係数位置に関して別々のコンテキストを使用することができる。従って、4×4ブロックは、合計30のコンテキスト(すなわち、ルマに関して15及びクロマに関して15)を使用することができる。同様に、8×8ブロックに関しては、コンテキストは、位置に依存することができ、8×8ブロックの各2×2サブブロックがコンテキストを共有する。従って、8×8ブロックは、32のコンテキスト(すなわち、ルマに関して16及びクロマに関して16)を使用することができる。
しかしながら、変換が1つの方向又は両方向においてスキップされるときには、位置に基づくコンテキストは良好なコーディング効率を達成することができない。例えば、垂直変換がスキップされた場合は、1つの列内の変換係数の統計は非常に類似することができるが、変換係数の統計は、水平変換のみの適用に起因して各列ごとに変化することがある。同様に、無変換が映像ブロックに適用されるときには、ブロック内のすべての係数が同様の統計を有することができる。
本開示の技法の一例は、映像ブロックに関する有意性マップをコーディングするために次のプロセスを使用することができる。16×16および32×32ブロックに関しては、有意性マップに関するコンテキストは、異なるタイプの変換スキップモードを有するブロック間で共有することができる。例えば、二次元変換モードが適用されるブロックは、垂直一次元変換モード、水平一次元変換モード、又は無変換モードが適用される、すなわち、少なくとも1つの方向において変換がスキップされるブロックとコンテキストを共有することができる。4×4及び8×8ブロックに関しては、有意性マップに関するコンテキストは、映像ブロック内の係数間で共有することができ、映像ブロックに関して1つ以上の変換がスキップされるときには映像ブロックの各列内又は映像ブロックの各行内である。二次元変換モードが映像ブロックに適用されるときには、上述のように定義される典型的なコンテキストを使用することができる。
図7Aは、映像データの映像ブロック126、又はCUのTUを示し、単一のコンテキストC0がブロック内のすべての係数位置に関して共有される。図7Aにおいて例示されるように、ブロック126は、16の係数位置を有する4×4ブロックを備える。その他の例では、ブロック126は、それよりも大きいブロック、例えば、8×8ブロック、を備えることができ、より多くの係数位置又は長方形(すなわち、非正方形)のブロックを有する。ブロック126の水平方向又は垂直方向のいずれかにおいて無変換が適用される場合は、ブロック126内のすべての係数が単一のコンテキスト、すなわち、C0を使用することができる。この場合は、無変換が適用されるときには、4×4ブロックに関して2つの追加のコンテキストが存在する(すなわち、ルマに関して1つ及びクロマに関して1つ)。同様に、8×8ブロックの場合は、無変換が適用されたときにはすべての係数が単一のコンテキストを使用することができる。この場合も、8×8ブロックに関して2つの追加のコンテキストが存在する(すなわち、ルマに関して1つ及びクロマに関して1つ)。
図7Bは、映像データの映像ブロック128、又はCUのTUを示し、映像ブロックの各列内に係数に関する共有されたコンテキストがある。図7Bにおいて示される例では、第1の列にはコンテキストC0が割り当てられ、第2の列にはコンテキストC1が割り当てられ、第3の列にはコンテキストC2が割り当てられ、第4の列にはコンテキストC3が割り当てられる。図7Bにおいて例示されるように、ブロック128は、16の係数位置を有する4×4ブロックを備える。その他の例では、ブロック128は、それよりも大きいブロック、例えば、8×8ブロック、を備えることができ、より多くの係数位置又は長方形(すなわち、非正方形)のブロックを有する。ブロック128に関して垂直方向の変換がスキップされるときには、ブロック128の1つの列内のすべての係数が単一のコンテキストを共有することができる。この場合は、水平一次元変換が適用されるときには、4×4ブロックに関して8つの追加のコンテキストが存在する(すなわち、ルマに関して4つ及びクロマに関して4つ)。同様に、8×8ブロックの場合は、16の追加のコンテキストが存在する(すなわち、ルマに関して8つ及びクロマに関して8つ)。
図7Cは、映像データの映像ブロック130、又はCUのTUを示し、映像ブロックの各行内に係数に関する共有されたコンテキストがある。図7Cにおいて示される例では、第1の行にはコンテキストC0が割り当てられ、第2の行にはコンテキストC1が割り当てられ、第3の行にはコンテキストC2が割り当てられ、第4の行にはコンテキストC3が割り当てられる。図7Cにおいて例示されるように、ブロック130は、16の係数位置を有する4×4ブロックを備える。その他の例では、ブロック130は、それよりも大きいブロック、例えば、8×8ブロック、を備えることができ、より多くの係数位置又は長方形(すなわち、非正方形)のブロックを有する。水平方向の変換がスキップされるときには、1つの行内のすべての係数が単一のコンテキストを共有することができる。この場合は、垂直一次元変換が適用されるときには、4×4ブロックに関して8つの追加のコンテキストが存在する(すなわち、ルマに関して4つ及びクロマに関して4つ)。同様に、8×8ブロックの場合は、16の追加のコンテキストが存在する(すなわち、ルマに関して8つ及びクロマに関して8つ)。
幾つかの例では、映像ブロックの各行に関して追加のコンテキストを使用する代わりに、水平方向の変換がスキップされるときには行間で及び垂直方向の変換がスキップされるときには列間でコンテキストを共有することができる。水平変換がスキップされるとき及び垂直変換がスキップされるときに共有コンテキストは、互いにミラーリング(mirror)することができ、このため、水平変換がスキップされるときの第1の列は、垂直変換がスキップされるときの第1の行と同様のコンテキストを有する。
上記のポイントと一致する一例では、合計2+2+8+16の追加のコンテキストを使用することができる。その他の例では、ここにおいて概説される基本的な方式に基づいて数多くの変形が可能である。例えば、クロマ有意性フラグは、従来どおりに決定されたコンテキストを用いてコーディングすることができ、ルマ有意性フラグは、上述される方法を用いてコーディングされる。代替として、少なくとも1つの方向において変換がスキップされるときに4×4及び8×8ブロックに関して使用されるコンテキストは、16×16及び32×32ブロックに拡張することができる。8×8ブロックに関しても、1つの方向において変換がスキップされるときには、近隣の2つの列(垂直変換がスキップされる場合)又は近隣の2つの行(水平変換がスキップされる場合)がコンテキストを共有することができる。
図8A−8Cは、変換スキップモードにおいて対角走査順序、垂直走査順序、及び水平走査順序に関して使用される映像データのブロック及び係数の有意性マップコンテキスト近隣の例を示した概念図である。本開示の技法は、映像ブロックに関する選択された変換スキップモードに少なくとも部分的に基づいて、映像ブロックに関する有意性マップを含む有意係数情報をコーディングするために異なるコーディング手順を使用することについて記述する。図8A−8Cにおいて示されるように、映像データの4×4ブロックは、円で表される対応するブロック位置において16の量子化された変換係数を含むことができる。例えば、ブロック132、134及び136は、各々、4×4のサイズを有することができ、従って、変換スキップモードを用いて生成された64の量子化された変換係数を含むことができる。その他の例では、ブロック132、134及び136は、それよりも大きいブロック、例えば、8×8ブロック、を備えることができ、より多くの量子化された変換係数又は長方形(すなわち、非正方形)のブロックを有する。
二次元変換モードが適用される映像ブロックに関しては、有意な係数は、通常はブロックの左上(すなわち、より低い周波数)の領域に集中する。無変換が映像ブロックに適用されるときには、有意な係数はブロック全体に広がることができる。しかしながら、その場合でも、有意な係数は、空間的に群がる傾向がある。従って、有意な係数を近隣に有することは、現在の係数が有意であることの確率を増大させることができる。本開示では、無変換が映像ブロックに適用されるときには、用語“係数”及び“変換係数”は、残差ピクセル値を意味するために使用される。
有意な係数のクラスタリングを利用して、無変換スキップモードでの4×4及び8×8ブロックに関するコンテキストを決定するために係数の因果(逆走査順序)近隣を使用することができる。4×4及び8×8ブロックは、垂直に、水平に又は対角方向に走査することができるため、走査に依存して3つの異なるコンテキスト近隣(context neighborhood)を使用することができる。コンテキスト近隣は、コンテキスト近隣が所定の係数と同じ走査ラインの係数を含まないように映像ブロック内の所定の係数に関して選択することができる。その他の例では、コンテキスト近隣は、3つよりも多い又は少ない係数を含むことができる。さらに、ここでは主に無変換スキップモードに関して説明されているが、係数の因果近隣(causal neighborhood)は、1つの方向のみにおいて変換がスキップされるブロックに関するコンテキストを決定するために使用することができる。その他の場合は、因果近隣の代わりに、因果のコーディングされたサブブロックフラグをコンテキストの決定のために使用することができる。
図8Aは、映像データの映像ブロック132、又はCUのTUを例示し、係数のコンテキスト近隣は、図8Aにおいて矢印で示されるように、逆対角走査順序に基づいて定義される。映像ブロック132の現在の係数は、黒の円で表され、現在の係数に関するコンテキスト近隣内の係数は、陰影の付いた灰色の円で表される。図8Aにおいて例示されるように、対角走査順序に関しては、係数のコンテキスト近隣は、現在の係数と同じ対角走査ライン内の係数は含まない。この例では、図8Aにおいて例示されるように、対角走査順序に関して定義されたコンテキスト近隣によって決定されたコンテキストを用いて現在の係数に関して有意性マップをコーディングすることができる。この方法により、コンテキスト処理は、現在の係数と同じ対角線に沿ったすべての係数に関して並行して行うことができる。
図8Bは、映像データの映像ブロック134、又はCUのTUを例示し、係数のコンテキスト近隣は、図8Bで矢印によって示されるように、逆垂直走査順序に基づいて定義される。映像ブロック134の現在の係数は、黒の円で表され、現在の係数に関するコンテキスト近隣内の係数は、陰影の付いた灰色の円で表される。図8Bにおいて例示されるように、垂直走査順序に関しては、係数のコンテキスト近隣は、現在の係数と同じ列走査ライン内の係数は含まない。この例では、図8Bにおいて例示されるように、水平走査順序に関して定義されたコンテキスト近隣によって決定されたコンテキストを用いて現在の係数に関して有意性マップをコーディングすることができる。この方法により、コンテキスト処理は、現在の係数と同じ列内のすべての係数に関して並行して行うことができる。
図8Cは、映像データの映像ブロック136、又はCUのTUを例示し、係数のコンテキスト近隣は、図8Cにおいて矢印で示されるように、逆水平走査順序に基づいて定義される。映像ブロック136の現在の係数は、黒の円で表され、現在の係数に関するコンテキスト近隣内の係数は、陰影の付いた灰色の円で表される。図8Cにおいて例示されるように、水平走査順序に関しては、係数のコンテキスト近隣は、現在の係数と同じ行走査ライン内の係数は含まない。この例では、図8Aにおいて例示されるように、垂直走査順序に関して定義されたコンテキスト近隣によって決定されたコンテキストを用いて現在の係数に関して有意性マップをコーディングすることができる。この方法により、コンテキスト処理は、現在の係数と同じ行内のすべての係数に関して並行して行うことができる。
幾つかの例では、コンテキスト近隣は3つの係数を用いて定義することができる場合でも、現在の走査ライン上の係数がコンテキスト近隣に含まれない限りは、それよりも多い又は少ない係数を近隣において使用することが可能である。しかしながら、並行なコンテキスト処理が関心事ではない場合は、有意性情報が既にコーディングされているあらゆる係数を近隣に含めることができる。
一例において、(i,j)は、i番目の行及びj番目の列の変換係数を表すと仮定する。有意性フラグのコーディングには、後方走査を使用できることが注目されるべきである。異なる走査に関して、所定の係数のために使用されるコンテキスト近隣は、次のように定義することができる。垂直走査の場合:コンテキスト近隣は、係数(i−1,j+1)、(i,j+1)及び(i+1,j+1)を含むことができる。水平走査の場合:コンテキスト近隣は、係数(i+1,j−1)、(i+1,j)及び(i+1,j+1)を含むことができる。対角走査の場合:コンテキスト近隣は、係数(i,j+1)、(i+1,j)及び(i+1,j+1)を含むことができる。
コンテキスト近隣内に含まれる係数がブロック境界を越えているときには、この係数は、有意でないと推定することができる。上で定義されるコンテキスト近隣は、後方走査を仮定して説明されているが、前方走査も使用することができる。さらに、前方走査が使用される場合は、コンテキスト近隣は、適宜調整することができる。例えば、垂直走査に関するコンテキスト近隣は、(i−1,j−1)、(i,j−1)及び(i+1,j−1)であることができる。さらに、水平走査及び対角走査に関しても同様の変更を行うことができる。
幾つかの例では、コンテキスト近隣に関する有意性マップのバイナリ数表現をコンテキスト番号として使用することができる。この場合は、3つの係数が入っている近隣は、その結果として8つのコンテキストであることができる。代替として、コンテキスト近隣内の有意な係数の数は、コンテキストを決定するために使用することができ、その場合は、結果的に生じるコンテキストの数は4であることができる。幾つかの場合は、異なる走査及びブロックサイズに関するコンテキストを共有することができ、又は、ブロックのサイズ及び走査に依存して別個のコンテキストを使用することができる。
図9は、予測ユニット内の映像データのブロック及び変換スキップモードをイネーブルにするか又は選択された変換スキップモードの表示をコーディングするかどうかを決定するために使用されるブロックの境界の例を示した概念図である。図9において例示されるように、映像データのブロック、またはTU、142、144、146及び148は、PU140内で定義される。TUの各々は、PU境界又は非PU境界を備えることができる4つのエッジを有する。例えば、TU3 148は、非PU境界である左エッジ150と、PU境界である右エッジ152と、非PU境界である最上部エッジ154と、PU境界である最下部エッジ156と、を含む。
従来は、所定の映像ブロックに適用されるべき変換スキップモードのタイプは、徹底的な探索を行い、いずれの変換タイプが映像ブロックに関する最大のデータ圧縮を提供するかを決定することによって選択される。この徹底的な探索は、映像符号器20の増大したランタイムに結びつく可能性がある。さらに、各映像ブロックに関して選択された変換スキップモードの表示を送信することは、ビット消費の点で高コストになる可能性がある。
幾つかの場合は、映像ブロック又はTUの境界がPU境界又は非PU境界のいずれであるかに基づいて異なるタイプの二次元変換を映像ブロックに適用するために境界に依存する変換モードを映像ブロックに関して使用することができる。この変換モードでは、2D−DCTを常に適用する代わりに、映像ブロックの各境界が非PU境界であるか又はPU境界であるかが決定され、以下の表1及び2に示される水平及び垂直変換が映像ブロックに適用される。
境界に依存する変換モードにおける基本的な発想は、予測残差エネルギーは典型的にはPU境界では高く、非PU境界では低いということである。以下の表1及び2により、左側が非PU境界であり、右側がPU境界であるときには、
図9のTU3 148に関しては、DST Type VII又はDCT Type IV水平変換が使用される。左側がPU境界であり右側が非PU境界である場合は、DST Type VII又はDCT Type IV水平変換がフリップされた(flipped)行に関して行われる。左境界及び右境界が同じタイプである(例えば、PU−PU又は非PU−非PU)ときには、水平方向ではDCT Type IIが使用される。垂直方向でも同じ戦略に従う。DST Type VII又はDCT Type IVの代わりに、第1の基礎関数が単調に増大しているその他の変換を使用可能であることが注目されるべきである。
Figure 0006009575
Figure 0006009575
本開示の技法は、次の3つの方法を用いて境界に依存する変換モード及び変換スキップモードを選択的に組み合わせることを含むことができる。
第1の方法では、所定の方向における映像ブロックの境界がPU境界であるか又は非PU境界であるか決定され、次に、所定の方向における映像ブロックの決定された境界に少なくとも部分的に基づいて映像ブロックに関して変換スキップモードがイネーブルにされ、所定の方向における変換がスキップされる。一例として、TUの側が非PU−非PU、非PU−PU又はPU−非PUであるときは常に、境界に依存する変換モードが所定の方向におけるTUに対して適用される。TUの側が所定の方向においてPU−PUであるときには、ブロックに関して変換スキップモードがイネーブルにされ、所定の方向における変換がスキップされる。この例は、以下の表3に示される。
この方法により、選択された変換スキップモードは、映像復号器30にはシグナリングされない。その代わりに、所定の方向における映像ブロックに関する変換をスキップすべきかどうかの決定は、境界に依存する。従って、変換がスキップされるかどうかの表示は、映像復号器30に対しては明示ではシグナリングされず、映像ブロックの決定された境界に基づいて導き出される。変換がスキップされるかどうかの選択は、水平方向及び垂直方向で独立している。
Figure 0006009575
第2の方法では、所定の方向における映像ブロックの境界がPU境界であるか又は非PU境界であるか決定され、次に、所定の方向における映像ブロックの決定された境界に少なくとも部分的に基づいて映像ブロックに関して変換スキップモードがイネーブルにされ、所定の方向における変換がスキップされるかどうかを示す表示が映像復号器30にシグナリングされる。この場合は、TU境界の幾つかの組み合わせのみに関して変換スキップモードがイネーブルにされ、明示でシグナリングされる。
一例として、変換スキップモードは、TU境界の組み合わせが所定の方向においてPU−PUであるときのみに可能である場合を検討する。その場合は、その他の3つの境界の組み合わせ、すなわち、非PU−PU、PU−非PU、及び非PU−非PU、に関しては、所定の方向においては変換をスキップすることができない。TU境界の組み合わせがPU−PUであるときには、所定の方向において映像ブロックに関して変換が実施されるか又はスキップされるかを示すために1ビットがシグナリングされる。その他の例では、TU境界のその他の組み合わせに関して変換スキップモードをイネーブルにして明示でシグナリングすることができる。例えば、代替例では、選択された変換スキップモードは、映像ブロックに関するTU境界の組み合わせがPU−PU又は非PU−非PUであるときにシグナリングすることができる。
第3の方法では、変換スキップモードが映像ブロックに関してイネーブルにされ、所定の方向における映像ブロックの境界がPU境界であるか又は非PU境界であるか決定され、所定の方向における変換がスキップされるかどうかの表示が、所定の方向における映像ブロックの決定された境界に少なくとも部分的に基づいて定義されたコンテキストを用いてコーディングされる。水平方向及び垂直方向の各々に関して、所定の方向における変換が実施されるか又はスキップされるかを示すために1つのビンが送信される。各ビンは、その方向における映像ブロックの決定された境界の組み合わせに基づいて選択されたコンテキストを用いて算術的にコーディングされる。
一例として、水平変換が映像ブロックに関してスキップされるかどうかを示すために使用されるビンをコーディングするために4つの異なるコンテキストを使用することができる。左及び右のTU境界の各組み合わせ、すなわち、PU−PU、非PU−非PU、PU−非PU、及び非PU−PUには異なるコンテキストが割り当てられる。同様に、垂直変換が映像ブロックに関してスキップされるかどうかを示すために使用されるビンをコーディングするために4つのコンテキストが割り当てることができる。代替として、水平及び垂直変換インジケータビン間で4つのコンテキストを共有することができる。各インジケータに関して4つのコンテキストの代わりに、他の数のコンテキストを使用可能であることが注目されるべきである。例えば、境界の組み合わせがPU−PU又は非PU−非PUである場合は1つのコンテキストをビンに割り当てることができ、境界の組み合わせがPU−非PU又はPU−非PUである場合は他のコンテキストをビンに割り当てることができる。
図10は、選択された変換スキップモードに基づいて定義されたコーディング手順を用いて映像ブロックに関する有意係数情報をコーディングする動作例を示したフローチャートである。図10において示される動作例は、図2からの映像符号器20に関して説明される。その他の例では、動作例は、図3からの映像復号器30に関して説明することができ、それは、概して映像符号器20と相互的なコーディングプロセスを行う。
映像符号器20のモード選択モジュール40は、映像ブロック又はCUのTUに関する変換スキップモードを選択する(160)。次に、変換モジュール52は、選択された変換スキップモードを映像ブロックの残差ピクセル値に適用する(162)。変換後は、エントロピー符号化モジュール56が、映像ブロックの係数に走査順序を適用する(164)。次に、エントロピー符号化モジュール56は、選択された変換スキップモードに関するコーディング手順を用いて映像ブロック内の最後のゼロでない係数の位置をコーディングする(166)。エントロピー符号化モジュール56は、選択された変換スキップモードに関するコーディング手順を用いて映像ブロックに関する有意性マップもコーディングする(168)。
映像符号器20は、選択された変換スキップモードを映像復号器30にシグナリングする。映像復号器30のエントロピー復号モジュール80は、受信された表示に基づいて変換スキップモードを選択し、残差ピクセル値を再構築して映像ブロックを復号するために上述されるプロセスと相互的なそれを行う。
図11は、垂直一次元変換、水平一次元変換、及び無変換に関して定義されたコーディング手順を用いて映像ブロック内の最後のゼロでない係数の位置をコーディングする動作例を示したフローチャートである。二次元変換モードが選択されるときには、映像ブロック内の最後のゼロでない係数の位置は、二次元変換に関して定義される従来のコーディング手順を用いてコーディングされ、図11には例示されていない。図11において例示される動作例は、図2からの映像符号器20に関して説明される。その他の例では、動作例は、図3からの映像復号器30に関して説明することができ、それは、概して映像符号器20と相互的なコーディングプロセスを行う。
映像符号器20のモード選択モジュール40は、映像ブロック又はCUのTUに関する変換スキップモードを選択する(170)。次に、エントロピー符号化モジュール56は、選択された変換スキップモードのタイプに少なくとも部分的に基づいて定義されたコーディング手順を用いて映像ブロック内の最後のゼロでない係数の位置をコーディングする(172)。
変換スキップモードが水平一次元変換モード(172の“水平変換”分岐)を備えるときには、エントロピー符号化モジュール56は、水平一次元変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて最後のゼロでない係数の行インデックスをコーディングする(174)。エントロピー符号化モジュール56は、二次元変換モードに関する列インデックスをコーディングするために定義されたコーディング手順を用いて最後のゼロでない係数の列インデックスをコーディングする(176)
一例では、上述されるように、水平一次元変換モードに関するコーディング手順は、CABACバイパスモードを用いて固定されたビット数を有する最後のゼロでない係数の行インデックスをコーディングすることを備えることができる。他の例では、水平一次元変換モードに関するコーディング手順は、CABACを用いて映像ブロックの高さに基づいて最後のゼロでない係数の行インデックスをコーディングすることを備えることができる。さらなる例では、水平一次元変換モードに関するコーディング手順は、列内のゼロでない係数の位置を識別するために、最後のゼロでない係数の行インデックスはコーディングせず、代わりに列インデックスのみをコーディングし及び映像ブロックの示された列内の全係数に関する有意性マップをコーディングすることを備えることができる。
変換スキップモードが垂直一次元変換モード(172の“垂直変換”分岐)を備えるときには、エントロピー符号化モジュール56は、垂直一次元変換モードに関する列インデックスをコーディングするために定義されたコーディング手順を用いて最後のゼロでない係数の列インデックスをコーディングする(178)。エントロピー符号化モジュール56は、二次元変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて最後のゼロでない係数の行インデックスをコーディングする(180)
一例では、垂直一次元変換モードに関するコーディング手順は、CABACバイパスモードを用いて固定されたビット数を有する最後のゼロでない係数の列インデックスをコーディングすることを備えることができる。他の例では、垂直一次元変換モードに関するコーディング手順は、CABACを用いて映像ブロックの幅に基づいて最後のゼロでない係数の列インデックスをコーディングすることを備えることができる。さらなる例では、垂直一次元変換モードに関するコーディング手順は、行内のゼロでない係数の位置を識別するために、最後のゼロでない係数の列インデックスはコーディングせず、代わりに行インデックスのみをコーディングし及び映像ブロックの示された行内の全係数に関する有意性マップをコーディングすることを備えることができる。
変換スキップモードが無変換モード(172の“無変換”分岐)を備えるときには、エントロピー符号化モジュール56は、無変換モードに関する行インデックス及び列インデックスをコーディングするために定義されたコーディング手順を用いて最後のゼロでない係数の行インデックス及び列インデックスをコーディングする(182)。一例では、無変換モードに関するコーディング手順は、CABACバイパスモードを用いて固定されたビット数を有する最後のゼロでない係数の行インデックス及び列インデックスの両方をコーディングすることを備えることができる。他の例では、無変換モードに関するコーディング手順は、CABACを用いて映像ブロックのサイズに基づいて最後のゼロでない係数の行インデックス及び列インデックスの両方をコーディングすることを備えることができる。さらなる例では、無変換モードに関するコーディング手順は、映像ブロック内のゼロでない係数の位置を識別するために行インデックス及び列インデックスのいずれもコーディングせず、代わりに、映像ブロック内の全係数に関する有意性マップをコーディングすることを備えることができる。
映像符号器20は、選択された変換スキップモードを映像復号器30にシグナリングする。次に、映像復号器30のエントロピー復号モジュール80は、受信された表示に基づいて変換スキップモードを選択し、及び、選択された変換スキップモードに基づいてコーディング手順を用いて映像ブロック内の最後のゼロでない係数の位置を復号するために上述されるプロセスと相互的なそれを行う。
図12は、垂直一次元変換、水平一次元変換、及び無変換に関して定義された共有コンテキストを用いて映像ブロックに関する有意性マップをコーディングする動作例を示したフローチャートである。二次元変換モードが選択されたときには、映像ブロックに関する有意性マップは、二次元変換に関して定義された従来のコーディング手順を用いてコーディングされ、図12には示されていない。図12において例示される動作例は、図2からの映像符号器20に関して説明される。その他の例では、動作例は、図3からの映像復号器30に関して説明することができ、それは、概して、映像符号器20と相互的なプロセスを行う。
映像符号器20の変換スキップモード選択モジュール48は、映像ブロック又はCUのTUに関する変換スキップモードを選択する。次に、エントロピー符号化モジュール56は、選択された変換スキップモードのタイプに少なくとも部分的に基づいて定義された共有コンテキストを用いて映像ブロックに関する有意性マップをコーディングする(188)。幾つかの場合には、エントロピー符号化モジュール56は、4×4又は8×8映像ブロックをコーディングするために選択された変換スキップモードに関して定義された共有コンテキストを使用することができる。その他の場合は、エントロピー符号化モジュール56は、二次元変換モードが適用される同じサイズのブロックと共有されるコンテキストを用いて、垂直一次元変換、垂直(vertical)一次元変換、又は無変換のうちの1つを用いて変換された16×16又は32×32ブロックに関する有意性マップをコーディングすることができる。その他の場合は、エントロピー符号化モジュール56は、あらゆるサイズの映像ブロックをコーディングするために選択された変換スキップモードに関して定義された共有コンテキストを使用することができる。
変換スキップモードが水平一次元変換モード(188の“水平変換”分岐)を備えるときには、エントロピー符号化モジュール56は、映像ブロックの所定の列に関する単一の共有コンテキストを用いてその列内の係数に関する有意性マップをコーディングする(190)。この場合は、映像ブロック内の係数の各列に関して異なる共有コンテキストを定義することができる。幾つかの場合は、係数の2つ以上の列が同じコンテキストを共有することができる。
変換スキップモードが垂直一次元変換モード(188の“垂直変換”分岐)を備えるときには、エントロピー符号化モジュール56は、映像ブロックの所定の行に関する単一の共有コンテキストを用いてその行内の係数に関する有意性マップをコーディングする(192)。この場合は、映像ブロック内の係数の各行に関して異なる共有コンテキストを定義することができる。幾つかの場合は、係数の2つ以上の行が同じコンテキストを共有することができる。
変換スキップモードが無変換モード(188の“無変換”分岐)を備えるときには、エントロピー符号化モジュール56は、映像ブロックに関する単一の共有コンテキストを用いて映像ブロック内の全係数に関する有意性マップをコーディングする(194)。この場合は、映像ブロック全体に関して単一のコンテキストを定義することができ、その単一の共有コンテキストを用いて映像ブロックの全係数をコーディングすることができる。
映像符号器20は、選択された変換スキップモードを映像復号器30にシグナリングする。次に、映像復号器30のエントロピー復号モジュール80は、受信された表示に基づいて変換スキップモードを選択し、選択された変換スキップモード及び映像ブロックのサイズに基づいてコーディング手順を用いて映像ブロックに関する有意性マップを復号するために上述されるプロセスと相互的なそれを行う。
図13は、映像ブロックに関する走査順序に依存する係数のコンテキスト近隣によって決定されたコンテキストを用いて映像ブロックに関する有意性マップをコーディングする動作例を示したフローチャートである。図13において例示される動作例は、図2からの映像符号器20に関して説明される。その他の例では、動作例は、図3からの映像復号器30に関して説明することができ、それは、概して、映像符号器20と相互的なコーディングプロセスを行う。
映像符号器20の変換スキップモード選択モジュール48は、映像ブロック又はCUのTUに関する変換スキップモードを選択する(198)。エントロピー符号化モジュール56は、量子化された変換係数の映像ブロックに走査順序を適用する(200)。次に、エントロピー符号化モジュール56は、映像ブロックに適用された走査順序のタイプに依存する係数のコンテキスト近隣によって決定されたコンテキストを用いて変換スキップモードで映像ブロックに関する有意性マップをコーディングする(202)。走査順序のタイプに基づいてコンテキスト近隣を定義する技法は、走査順序の現在の走査ライン内の全係数に関する並行したコンテキスト処理を可能にする。
幾つかの場合には、エントロピー符号化モジュール56は、4×4又は8×8映像ブロックをコーディングするために使用されるコンテキストを決定するために走査順序のタイプに依存する係数のコンテキスト近隣を使用することができる。その他の場合は、エントロピー符号化モジュール56は、二次元変換モードに関してコンテキスト近隣によって決定されたコンテキストを用いて、垂直一次元変換、垂直一次元変換、又は無変換のうちの1つを用いて変換された16×16又は32×32ブロックに関する有意性マップをコーディングすることができる。その他の場合は、エントロピー符号化モジュール56は、あらゆるサイズの映像ブロックをコーディングするために使用されるコンテキストを決定するために走査順序のタイプに依存する係数のコンテキスト近隣を使用することができる。
変換スキップモードが水平走査順序(202の“水平走査”分岐)を備えるときには、エントロピー符号化モジュール56は、所定の係数と同じ行内の係数を含まない係数のコンテキスト近隣によって決定されたコンテキストを用いて映像ブロック内の所定の係数に関する有意性マップをコーディングする(204)。この方法により、所定の係数に関するコンテキストを決定するために使用されるコンテキスト近隣は、所定の係数と同じ走査ライン内のいずれの係数も含まない。コンテキスト処理は、所定の係数と同じ行内のすべての係数に関して並行して行うことができる。
変換スキップモードが垂直走査順序(202の“垂直走査”分岐)を備えるときには、エントロピー符号化モジュール56は、所定の係数と同じ列内の係数を含まない係数のコンテキスト近隣によって決定されたコンテキストを用いて映像ブロック内の所定の係数に関する有意性マップをコーディングする(206)。この方法により、所定の係数に関するコンテキストを決定するために使用されるコンテキスト近隣は、所定の係数と同じ走査ライン内のいずれの係数も含まない。コンテキスト処理は、所定の係数と同じ列内のすべての係数に関して並行して行うことができる。
変換スキップモードが対角走査順序(202の“対角走査”分岐)を備えるときには、エントロピー符号化モジュール56は、所定の係数と同じ対角線内の係数を含まない係数のコンテキスト近隣によって決定されたコンテキストを用いて映像ブロック内の所定の係数に関する有意性マップをコーディングする(208)。この方法により、所定の係数に関するコンテキストを決定するために使用されるコンテキスト近隣は、所定の係数と同じ走査ライン内のいずれの係数も含まない。コンテキスト処理は、所定の係数と同じ対角線内のすべての係数に関して並行して行うことができる。
映像符号器20は、選択された変換スキップモードを映像復号器30にシグナリングする。次に、映像復号器30のエントロピー復号モジュール80は、受信された表示に基づいて変換スキップモードを選択し、及び、映像ブロックに対して適用された走査順序のタイプに依存する係数のコンテキスト近隣によって決定されたコンテキストを用いて変換スキップモードで映像ブロックに関する有意性マップを復号するために上述されるプロセスと相互的なそれを行う。
図14は、映像ブロックの境界が予測ユニット境界であるかどうかに基づいて映像ブロックに関する変換スキップモードをイネーブルにする動作例を示したフローチャートである。図14において示される動作例は、図2からの映像符号器20に関して説明される。その他の例では、動作例は、図3からの映像復号器30に関して説明することができ、それは、概して映像符号器20と相互的なコーディングプロセスを行う。
映像符号器20の変換スキップモード選択モジュール48は、所定の方向における映像ブロック、又はCUのTU、の境界がPU境界であるかどうかを決定する(210)。例えば、垂直方向では、変換スキップモード選択モジュール48は、映像ブロックの最上部エッジ及び最下部エッジがPU境界であるか又は非PU境界であるかを決定することができる。水平方向では、変換スキップモード選択モジュール48は、映像ブロックの右エッジ及び左エッジがPU境界であるか又は非PU境界であるかを決定することができる。
所定の方向における映像ブロックの境界がPU境界及び非PU境界の第1の組み合わせを備えるときには(212の“はい”分岐)、変換スキップモード選択モジュール48は、映像ブロックに関する変換スキップモードをイネーブルにする(216)。一例として、所定の方向における映像ブロックのエッジが両方ともPU、すなわち、PU−PUの組み合わせであるときには、所定の方向における変換をスキップするのを可能にするために映像ブロックに関して変換スキップモードがイネーブルにされる。他方、所定の方向における映像ブロックの境界が第1の組み合わせと異なるPU境界と非PU境界の組み合わせを備えるときには(212の“いいえ”分岐)、変換スキップモード選択モジュール48は、所定の方向における映像ブロックに関して、変換のタイプ、例えば、離散コサイン変換(DCT)−II、DCT−IV、又は離散サイン変換(DST)−VII、を決定するために境界依存変換モードを使用する(214)。
一例では、変換スキップモードが映像ブロックに関してイネーブルにされた時点で(216)、変換モジュール52は、所定の方向における映像ブロックに関する変換をスキップする。この場合は、水平方向における映像ブロックの境界の組み合わせがPU−PUの組み合わせである場合は、変換モジュール52は、水平変換をスキップする。この場合は、映像符号器20は、所定の方向における変換が行われるか又はスキップされるかを示す表示をシグナリングする必要がない。代わりに、映像復号器30は、映像ブロックの境界がPU境界であるかどうかに基づいて所定の方向における映像ブロックに関する変換を行うか又はスキップすべきかを決定する。
図14に示される他の例では、変換スキップモードが映像ブロックに関してイネーブルにされた時点で(216)、映像符号器20のモード選択モジュール40は、映像ブロック又はTUに関する変換スキップモードを選択する(218)、この場合は、水平方向における映像ブロックの境界の組み合わせがPU−PUの組み合わせである場合は、変換スキップモード選択モジュール48は、映像ブロックに関して二次元変換モード、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを選択する。次に、エントロピー符号化モジュール56は、所定の方向における映像ブロックに関して変換がスキップされるかどうかを示す表示をコーディングする(220)。例えば、エントロピー符号化モジュール56は、水平方向における映像ブロックに関して水平変換が行われるか又はスキップされるかを示す表示をコーディングすることができる。幾つかの場合は、所定の方向において変換がスキップされるかどうかを示す表示は、映像ブロックに関する選択された変換スキップモードを識別するために使用することができる。例えば、水平変換がスキップされる場合は、選択された変換スキップモードは、垂直一次元変換モード又は無変換モードのいずれかを備える。
映像復号器30のエントロピー復号モジュール80は、映像ブロックの境界が予測ユニット境界であるかどうかに基づいて映像ブロックに関する変換スキップモードをイネーブルにするために上述されるプロセスと相互的なそれを行う。映像ブロックに関して変換スキップモードがイネーブルにされたときには、エントロピー復号モジュール80は、映像ブロックの決定された境界又は水平方向及び垂直方向において変換がスキップされたことを示す表示のいずれかに基づいて映像ブロックに関する変換スキップモードを選択する。
図15は、映像ブロックの境界が予測ユニット境界であるかどうかに基づいて映像ブロックに関する選択された変換スキップモードの表示をコーディングする動作例を示したフローチャートである。図15において示される動作例は、図2からの映像符号器20に関して説明される。その他の例では、動作例は、図3からの映像復号器30に関して説明することができ、それは、概して、映像符号器20と相互的なプロセスを行う。
映像符号器20の変換スキップモード選択モジュール48は、映像ブロック又はCUのTUに関する変換スキップモードを選択する(224)。変換スキップモード選択モジュール48は、所定の方向における映像ブロック又はTUの境界がPU境界であるかどうかも決定する(226)。例えば、垂直方向では、変換スキップモード選択モジュール48は、映像ブロックの最上部境界及び最下部境界がPU境界であるか又は非PU境界であるかを決定することができる。水平方向では、変換スキップモード選択モジュール48は、映像ブロックの右境界及び左境界がPU境界であるか又は非PU境界であるかを決定することができる。
次に、エントロピー符号化モジュール56は、映像ブロックの決定された境界に少なくとも部分的に基づいて定義されたコンテキストを用いて所定の方向における映像ブロックに関して変換がスキップされるかどうかを示す表示をコーディングする(228)。例えば、エントロピー符号化モジュール56は、水平方向における映像ブロックに関して水平変換が行われるか又はスキップされるかを示す表示をコーディングすることができる。所定の方向において変換がスキップされるかどうかを示す表示は、映像ブロックに関する選択された変換スキップモードを識別するために使用することができる。例えば、水平変換がスキップされる場合は、選択された変換スキップモードは、垂直一次元変換モード又は無変換モードのいずれかを備える。
幾つかの場合は、所定の方向における境界の各々の可能性のある組み合わせに異なるコンテキスト、すなちわ、4つの異なるコンテキスト、を割り当てることができる。エントロピー符号化モジュール56は、所定の方向における映像ブロックに関して変換が行われるか又はスキップされるかを示す表示をコーディングするために所定の方向における映像ブロックに関するPU境界と非PU境界の組み合わせと関連付けられたコンテキストを使用する。その他の場合は、PU境界と非PU境界の異なる組み合わせに関して幾つかのコンテキストを共有することができる。幾つかの例では、垂直方向のコンテキストは、水平方向のコンテキストと異なることができる。その他の例では、コンテキストは、異なる方向間で共有することができる。
映像復号器30のエントロピー復号モジュール80は、映像ブロックの境界が予測ユニット境界であるかどうかに基づいて定義されたコンテキストを用いて所定の方向における映像ブロックに関して変換がスキップされるかどうかを示す表示を復号するために上述されるプロセスと相互的なそれを行う。次に、エントロピー復号モジュール80は、復号された表示に基づいて映像ブロックに関する変換スキップモードを選択する。
1つ以上の例において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせにおいて実装することができる。ソフトウェアにおいて実装される場合は、それらの機能は、コンピュータによって読み取り可能な媒体において1つ以上の命令又はコードとして格納又は送信すること及びハードウェアに基づく処理ユニットによって実行することができる。コンピュータによって読み取り可能な媒体は、コンピュータによって読み取り可能な記憶媒体を含むことができ、それは、有形な媒体、例えば、データ記憶媒体、又は、例えば、通信プロトコルにより、1つの場所から他へのコンピュータプログラムの転送を容易にするあらゆる媒体を含む通信媒体、に対応する。このように、コンピュータによって読み取り可能な媒体は、概して、(1)非一時的である有形なコンピュータによって読み取り可能な記憶媒体又は(2)通信媒体、例えば、信号又は搬送波、に対応することができる。データ記憶媒体は、本開示において説明される技法の実装のために命令、コード及び/又はデータ構造を取り出すために1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスすることができるあらゆる利用可能な媒体であることができる。コンピュータプログラム製品は、コンピュータによって読み取り可能な媒体を含むことができる。
一例により、及び制限することなしに、該コンピュータによって読み取り可能な記憶媒体は、希望されるプログラムコードを命令又はデータ構造の形態で格納するために使用することができ及びコンピュータによってアクセス可能であるRAM、ROM、EEPROM、CD−ROM又はその他の光学ディスク記憶装置、磁気ディスク記憶装置、又はその他の磁気記憶デバイス、フラッシュメモリ、又はその他のいずれかの媒体を備えることができる。さらに、どのような接続も、コンピュータによって読み取り可能な媒体であると適切に呼ばれる。例えば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者ライン(DSL)、又は無線技術、例えば、赤外線、無線、及びマイクロ波、を用いてウェブサイト、サーバ、又はその他の遠隔ソースから送信される場合は、該同軸ケーブル、光ファイバケーブル、より対線、DSL、又は無線技術、例えば赤外線、無線、及びマイクロ波、は、媒体の定義の中に含まれる。しかしながら、コンピュータによって読み取り可能な記憶媒体およびデータ記憶媒体は、コネクション、搬送波、信号、又はその他の遷移媒体は含まず、代わりに、非遷移的な、有形の記憶媒体を対象とすることが理解されるべきである。ここにおいて用いられるときのディスク(disk及びdisc)は、コンパクトディスク(CD)(disc)と、レーザディスク(disc)と、光ディスク(disc)と、デジタルバーサタイルディスク(DVD)(disc)と、フロッピー(登録商標)ディスク(disk)と、Blu−rayディスク(disc)と、を含み、ここで、diskは、通常は磁気的にデータを複製し、discは、レーザを用いて光学的にデータを複製する。上記の組み合わせも、コンピュータによって読み取り可能な媒体の適用範囲内に含められるべきである。
命令は、1つ以上のプロセッサ、例えば、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルロジックアレイ(FPGA)、又はその他の同等の集積又はディスクリート論理回路によって実行することができる。従って、ここにおいて用いられる場合の用語“プロセッサ”は、上記の構造又はここにおいて説明される技法の実装に適するあらゆるその他の構造のうちのいずれかを意味することができる。さらに、幾つかの態様では、ここにおいて説明される機能は、符号化および復号のために構成された専用のハードウェア及び/又はソフトウェアモジュール内において提供されること、又は組み合わされたコーデック内に組み入れることができる。さらに、技法は、1つ以上の回路又は論理素子内に完全に実装することが可能である。
本開示の技法は、無線ハンドセット、集積回路(IC)又は一組のIC(例えば、チップセット)を含む非常に様々なデバイス又は装置内に実装することができる。本開示では、開示される技法を実施するように構成されたデバイスの機能上の態様を強調するために様々なコンポーネント、モジュール、又はユニットが説明されるが、異なるハードウェアユニットによる実現は必ずしも要求しない。むしろ、上述されるように、様々なユニットは、適切なソフトウェア及び/又はファームウェアと関係させて、コーデックハードウェアユニット内において結合させること又は上述されるように1つ以上のプロセッサを含む相互運用的なハードウェアユニットの集合によって提供することができる。
様々な例が説明されている。これらの及びその他の例は、以下の請求項の範囲内である。
以下に本願出願当初の特許請求の範囲を付記する。
[C1] 映像データをコーディングするための方法であって、
映像ブロックに関する変換スキップモードを選択することであって、前記変換スキップモードは、複数の可能な変換モードを備えることと、
前記選択された変換スキップモードを前記映像ブロックに適用することと、
前記選択された変換モードに少なくとも部分的に基づいて定義されたコーディング手順を用いて前記映像ブロックに関する有意係数情報をコーディングすることであって、前記有意係数情報は、最後のゼロでない係数の位置及び前記映像ブロックに関する有意性マップのうちの1つ以上を備えることと、を備える、映像データをコーディングするための方法。
[C2] 前記変換スキップモードを選択することは、二次元変換モード、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを選択することを備えるC1に記載の方法。
[C3] 前記変換スキップモードを選択することは、二次元変換モード又は無変換モードのうちの1つを選択することを備えるC1に記載の方法。
[C4] 前記映像ブロックに走査順序を適用することをさらに備え、前記映像ブロック内の前記最後のゼロでない係数の前記位置は、前記適用された走査順序に依存し、前記走査順序は、ジグザグ走査順序、対角走査順序、水平走査順序及び垂直走査順序のうちの1つを備えるC1に記載の方法。
[C5] 前記選択された変換スキップモードは、垂直一次元変換モードを備え、有意係数情報をコーディングすることは、前記最後のゼロでない係数の前記位置をコーディングすることを備え、
前記垂直一次元変換モードに関する列インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスをコーディングすることと、
二次元変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスをコーディングすることと、を含むC1に記載の方法。
[C6] 前記選択された変換スキップモードは、水平一次元変換モードを備え、有意係数情報をコーディングすることは、前記最後のゼロでない係数の前記位置をコーディングすることを備え、
前記水平一次元変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスをコーディングすることと、
二次元変換モードに関する列インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスをコーディングすることと、を含むC1に記載の方法。
[C7] 前記選択された変換スキップモードは、無変換モードを備え、有意係数情報をコーディングすることは、前記最後のゼロでない係数の前記位置をコーディングすることを備え、
前記無変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスをコーディングすることと、
前記無変換モードに関する列インデックスをコーディングするために定義された前記コーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスをコーディングすることと、を含むC1に記載の方法。
[C8] 前記選択された変換スキップモードは、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを備え、前記有意係数情報をコーディングすることは、固定されたビット数を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す列インデックス又は前記映像ブロック内の前記最後のゼロでない係数の行を示す行インデックスのうちの少なくとも1つを含む前記最後のゼロでない係数の前記位置をコーディングすることを備えるC1に記載の方法。
[C9] 前記最後のゼロでない係数の前記列インデックスをコーディングするために使用される前記固定されたビット数は、前記映像ブロックの幅に基づき、前記最後のゼロでない係数の前記行インデックスをコーディングするために使用される前記固定されたビット数は、前記映像ブロックの高さに基づくC8に記載の方法。
[C10] 前記最後のゼロでない係数の前記列インデックス又は前記行インデックスのうちの1つをコーディングすることは、
前記最後のゼロでない係数の前記列インデックス又は前記行インデックスのうちの1つをバイナリ化して前記固定されたビット数にすることと、
コンテキスト適応型バイナリ算術コーディング(CABAC)をバイパスモードで使用して前記バイナリ化されたインデックスの前記ビットの各々をコーディングすることと、を備えるC8に記載の方法。
[C11] 前記選択された変換スキップモードは、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを備え、前記有意係数情報をコーディングすることは、前記映像ブロックのサイズに基づいて前記映像ブロック内の前記最後のゼロでない係数の列を示す列インデックス又は前記映像ブロック内の前記最後のゼロでない係数の行を示す行インデックスのうちの少なくとも1つを含む前記最後のゼロでない係数の前記位置をコーディングすることを備えるC1に記載の方法。
[C12] 前記最後のゼロでない係数の前記列インデックスをコーディングすることは、コンテキスト適応型バイナリ算術コーディング(CABAC)を用いて(B−1−last)をコーディングすることを備え、Bは、前記映像ブロックの前記幅であり、lastは、前記最後のゼロでない係数の前記列インデックスであるC11に記載の方法。
[C13] 前記最後のゼロでない係数の前記行インデックスをコーディングすることは、コンテキスト適応型バイナリ算術コーディング(CABAC)を用いて(B−1−last)をコーディングすることを備え、Bは、前記映像ブロックの前記高さであり、lastは、前記最後のゼロでない係数の前記行インデックスであるC11に記載の方法。
[C14] 前記選択された変換スキップモードは、垂直一次元変換モードを備え、水平走査順序を前記映像ブロックに適用することをさらに備え、前記有意係数情報をコーディングすることは、
前記映像ブロック内の前記最後のゼロでない係数の列を示す列インデックスをコーディングせずに、二次元変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスを含む前記最後のゼロでない係数の前記位置をコーディングすることと、
前記映像ブロックの前記示された行内の全係数に関する有意性マップをコーディングすることであって、前記有意性マップは、前記映像ブロックの前記示された行内の各ゼロでない係数の前記位置を識別することと、を備えるC1に記載の方法。
[C15] 前記選択された変換スキップモードは、水平一次元変換モードを備え、垂直走査順序を前記映像ブロックに適用することをさらに備え、前記有意係数情報をコーディングすることは、
前記映像ブロック内の前記最後のゼロでない係数の行を示す行インデックスをコーディングせずに、二次元変換モードに関する列インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスを含む前記最後のゼロでない係数の前記位置をコーディングすることと、
前記映像ブロックの前記示された列内の全係数に関する有意性マップをコーディングすることであって、前記有意性マップは、前記映像ブロックの前記示された列内の各ゼロでない係数の前記位置を識別することと、を備えるC1に記載の方法。
[C16] 前記選択された変換スキップモードは、無変換モードを備え、前記有意係数情報をコーディングすることは、前記映像ブロック内の前記最後のゼロでない係数の前記位置をコーディングせずに、前記映像ブロック内の全係数に関する前記有意性マップをコーディングすることを備え、前記有意性マップは、前記映像ブロック内の各ゼロでない係数の前記位置を識別する、C1に記載の方法。
[C17] 前記最後のゼロでない係数の前記位置をコーディングすることは、前記選択された変換スキップモードに基づく特定の順序で前記映像ブロック内の前記最後のゼロでない係数のインデックスを表すバイナリビットをコーディングすることを備え、前記選択された変換スキップモードに基づく前記順序は、前記最後のゼロでない係数の行インデックス及び列インデックスに関するバイパスコーディングされたバイナリビットをグループにまとめるC1に記載の方法。
[C18] 前記有意係数情報をコーディングすることは、前記選択された変換スキップモードに少なくとも部分的に基づいて定義されたコンテキストを用いて前記映像ブロックに関する前記有意性マップをコーディングすることを備えるC1に記載の方法。
[C19] 前記有意係数情報をコーディングすることは、前記選択された変換モード及び前記映像ブロックのサイズに少なくとも部分的に基づいて定義されたコンテキストを用いて前記映像ブロックに関する前記有意性マップをコーディングすることを備えるC1に記載の方法。
[C20] 前記選択された変換スキップモードは、垂直一次元変換モードを備え、前記有意係数情報をコーディングすることは、前記映像ブロックの行に関する単一の共有コンテキストを用いて前記行内の係数に関する前記有意性マップをコーディングすることを備えるC1に記載の方法。
[C21] 前記選択された変換スキップモードは、水平一次元変換モードを備え、前記有意係数情報をコーディングすることは、前記映像ブロックの列に関する単一の共有コンテキストを用いて前記列内の係数に関する前記有意性マップをコーディングすることを備えるC1に記載の方法。
[C22] 前記選択された変換スキップモードは、無変換モードを備え、前記有意係数情報をコーディングすることは、前記映像ブロックに関する単一の共有コンテキストを用いて前記映像ブロック内の係数に関する前記有意性マップをコーディングすることを備えるC1に記載の方法。
[C23] 前記選択された変換スキップモードが、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを備えるときに、前記有意係数情報をコーディングすることは、二次元変換モードが適用されるブロックと共有されるコンテキストを用いて前記映像ブロックの前記有意性マップをコーディングすることを備えるC1に記載の方法。
[C24] 前記選択された変換スキップモードが、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを備えるときには、複数の走査順序のうちの1つを前記映像ブロックに適用することをさらに備え、前記有意係数情報をコーディングすることは、前記走査順序に依存する係数のコンテキスト近隣によって決定されたコンテキストを用いて前記映像ブロック内の所定の係数に関する前記有意性マップをコーディングすることを備えるC1に記載の方法。
[C25] 前記走査順序のうちの1つを適用することは、垂直走査順序を前記映像ブロックに適用することを備え、前記所定の係数に関する前記コンテキスト近隣は、前記所定の係数と同じ列内の係数を含まないC24に記載の方法。
[C26] 前記走査順序のうちの1つを適用することは、水平走査順序を前記映像ブロックに適用することを備え、前記所定の係数に関する前記コンテキスト近隣は、前記所定の係数と同じ行内の係数を含まないC24に記載の方法。
[C27] 前記走査順序のうちの1つを適用することは、対角走査順序を前記映像ブロックに適用することを備え、前記所定の係数に関する前記コンテキスト近隣は、前記所定の係数と同じ対角線上の係数を含まないC24に記載の方法。
[C28] 映像データをコーディングすることは、映像データを符号化することを備え、前記選択された変換スキップモードの表示をシグナリングすることと、前記選択された変換スキップモードに少なくとも部分的に基づいて定義されたコーディング手順を用いて前記映像ブロックに関する前記有意係数情報を符号化することと、をさらに備えるC1に記載の方法。
[C29] 映像データをコーディングすることは、映像データを復号することを備え、前記選択された変換スキップモードの表示を受信することと、前記選択された変換スキップモードに少なくとも部分的に基づいて定義された前記コーディング手順を用いて前記映像ブロックに関する前記有意係数情報を復号することと、をさらに備えるC1に記載の方法。
[C30] 映像コーディングデバイスであって、
映像データを格納するメモリと、
映像データに関する変換スキップモードを選択し、前記選択された変換スキップモードを前記映像ブロックに適用し、及び前記選択された変換スキップモードに少なくとも部分的に基づいて定義されたコーディング手順を用いて前記映像ブロックに関する有意係数情報をコーディングするように構成されたプロセッサと、を備え、前記変換スキップモードは、複数の可能な変換モードを備え、前記有意係数情報は、最後のゼロでない係数の位置及び前記映像ブロックに関する有意性マップのうちの1つ以上を備える、映像コーディングデバイス。
[C31] 前記プロセッサは、二次元変換モード、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを選択するように構成されるC30に記載の映像コーディングデバイス。
[C32] 前記プロセッサは、二次元変換モード又は無変換ノードのうちの1つを選択するように構成されるC30に記載の映像コーディングデバイス。
[C33] 前記プロセッサは、前記映像ブロックに走査順序を適用するように構成され、前記映像ブロック内の前記最後のゼロでない係数の前記位置は、前記適用された走査順序に依存し、前記走査順序は、ジグザグ走査順序、対角走査順序、水平走査順序及び垂直走査順序のうちの1つを備えるC30に記載の映像コーディングデバイス。
[C34] 前記選択された変換スキップモードは、垂直一次元変換モードを備え、前記プロセッサは、前記最後のゼロでない係数の前記位置をコーディングするように構成され、
前記垂直一次元変換モードに関する列インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスと、
二次元変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスと、を含むC30に記載の映像コーディングデバイス。
[C35] 前記選択された変換スキップモードは、水平一次元変換モードを備え、前記プロセッサは、前記最後のゼロでない係数の前記位置をコーディングするように構成され、
前記水平一次元変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスと、
二次元変換モードに関する列インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスと、を含むC30に記載の映像コーディングデバイス。
[C36] 前記選択された変換スキップモードは、無変換モードを備え、前記プロセッサは、前記最後のゼロでない係数の前記位置をコーディングするように構成され、
前記無変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスと、
前記無変換モードに関する列インデックスをコーディングするために定義された前記コーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスと、を含むC30に記載の映像コーディングデバイス。
[C37] 前記選択された変換スキップモードが、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを備えるときには、前記プロセッサは、固定されたビット数を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す列インデックス又は前記映像ブロック内の前記最後のゼロでない係数の行を示す行インデックスのうちの少なくとも1つを含む前記最後のゼロでない係数の前記位置をコーディングするように構成されるC30に記載の映像コーディングデバイス。
[C38] 前記最後のゼロでない係数の前記列インデックスをコーディングするために使用される前記固定されたビット数は、前記映像ブロックの幅に基づき、前記最後のゼロでない係数の前記行インデックスをコーディングするために使用される前記固定されたビット数は、前記映像ブロックの高さに基づくC37に記載の映像コーディングデバイス。
[C39] 前記プロセッサは、
前記最後のゼロでない係数の前記列インデックス又は前記行インデックスのうちの1つをバイナリ化して前記固定されたビット数にし、及び
コンテキスト適応型バイナリ算術コーディング(CABAC)をバイパスモードで使用して前記バイナリ化されたインデックスの前記ビットの各々をコーディングするように構成されるC37に記載の映像コーディングデバイス。
[C40] 前記選択された変換スキップモードは、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを備え、前記プロセッサは、前記映像ブロックのサイズに基づいて前記映像ブロック内の前記最後のゼロでない係数の列を示す列インデックス又は前記映像ブロック内の前記最後のゼロでない係数の行を示す行インデックスのうちの少なくとも1つを含む前記最後のゼロでない係数の前記位置をコーディングするように構成されるC30に記載の映像コーディングデバイス。
[C41] 前記プロセッサは、前記最後のゼロでない係数の前記列インデックスをコーディングするためにコンテキスト適応型バイナリ算術コーディング(CABAC)を用いて(B−1−last)をコーディングするように構成され、Bは、前記映像ブロックの前記幅であり、lastは、前記最後のゼロでない係数の前記列インデックスであるC40に記載の映像コーディングデバイス。
[C42] 前記プロセッサは、前記最後のゼロでない係数の前記行インデックスをコーディングするためにコンテキスト適応型バイナリ算術コーディング(CABAC)を用いて(B−1−last)をコーディングするように構成され、Bは、前記映像ブロックの前記高さであり、lastは、前記最後のゼロでない係数の前記行インデックスであるC40に記載の映像コーディングデバイス。
[C43] 前記選択された変換スキップモードは、垂直一次元変換モードを備え、前記プロセッサは、
水平走査順序を前記映像ブロックに適用し、
前記映像ブロック内の前記最後のゼロでない係数の列を示す列インデックスをコーディングせずに、二次元変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスを含む前記最後のゼロでない係数の前記位置をコーディングし、及び
前記映像ブロックの前記示された行内の全係数に関する有意性マップをコーディングするように構成され、前記有意性マップは、前記映像ブロックの前記示された行内の各ゼロでない係数の前記位置を識別するC30に記載の映像コーディングデバイス。
[C44] 前記選択された変換スキップモードは、水平一次元変換モードを備え、垂直走査順序を前記映像ブロックに適用することをさらに備え、前記プロセッサは、
垂直走査順序を前記映像ブロックに適用し、
前記映像ブロック内の前記最後のゼロでない係数の行を示す行インデックスをコーディングせずに、二次元変換モードに関する列インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスを含む前記最後のゼロでない係数の前記位置をコーディングし、及び
前記映像ブロックの前記示された列内の全係数に関する有意性マップをコーディングするように構成され、前記有意性マップは、前記映像ブロックの前記示された列内の各ゼロでない係数の前記位置を識別するC30に記載の映像コーディングデバイス。
[C45] 前記選択された変換スキップモードは、無変換モードを備え、前記プロセッサは、前記映像ブロック内の前記最後のゼロでない係数の前記位置をコーディングせずに、前記映像ブロック内の全係数に関する前記有意性マップをコーディングするように構成され、前記有意性マップは、前記映像ブロック内の各ゼロでない係数の前記位置を識別するC30に記載の映像コーディングデバイス。
[C46] 前記プロセッサは、前記選択された変換スキップモードに基づく特定の順序で前記映像ブロック内の前記最後のゼロでない係数のインデックスを表すバイナリビットをコーディングするように構成され、前記選択された変換スキップモードに基づく前記順序は、前記最後のゼロでない係数の行インデックス及び列インデックスに関するバイパスコーディングされたバイナリビットをグループにまとめるC30に記載の映像コーディングデバイス。
[C47] 前記プロセッサは、前記選択された変換スキップモードに少なくとも部分的に基づいて定義されたコンテキストを用いて前記映像ブロックに関する前記有意性マップをコーディングするように構成されるC30に記載の映像コーディングデバイス。
[C48] 前記プロセッサは、前記選択された変換モード及び前記映像ブロックのサイズに少なくとも部分的に基づいて定義されたコンテキストを用いて前記映像ブロックに関する前記有意性マップをコーディングするように構成されるC30に記載の映像コーディングデバイス。
[C49] 前記選択された変換スキップモードは、垂直一次元変換モードを備え、前記プロセッサは、映像ブロックの行に関する単一の共有コンテキストを用いて前記行内の係数に関する前記有意性マップをコーディングするように構成される備えるC30に記載の映像コーディングデバイス。
[C50] 前記選択された変換スキップモードは、水平一次元変換モードを備え、前記プロセッサは、前記映像ブロックの列に関する単一の共有コンテキストを用いて前記列内の係数に関する前記有意性マップをコーディングするように構成されるC30に記載の映像コーディングデバイス。
[C51] 前記選択された変換スキップモードは、無変換モードを備え、前記プロセッサは、前記映像ブロックに関する単一の共有コンテキストを用いて前記映像ブロック内の係数に関する前記有意性マップをコーディングするように構成されるC30に記載の映像コーディングデバイス。
[C52] 前記選択された変換スキップモードが、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを備えるときには、前記プロセッサは、二次元変換モードが適用されるブロックと共有されるコンテキストを用いて前記映像ブロックの前記有意性マップをコーディングするように構成されるC30に記載の映像コーディングデバイス。
[C53] 前記選択された変換スキップモードが、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを備えるときには、前記プロセッサは、
複数の走査順序のうちの1つを前記映像ブロックに適用し、及び
前記走査順序に依存する係数のコンテキスト近隣によって決定されたコンテキストを用いて前記映像ブロック内の所定の係数に関する前記有意性マップをコーディングするように構成されるC30に記載の映像コーディングデバイス。
[C54] 前記プロセッサは、垂直走査順序を前記映像ブロックに適用するように構成され、前記所定の係数に関する前記コンテキスト近隣は、前記所定の係数と同じ列内の係数を含まないC53に記載の映像コーディングデバイス。
[C55] 前記プロセッサは、水平走査順序を前記映像ブロックに適用するように構成され、前記所定の係数に関する前記コンテキスト近隣は、前記所定の係数と同じ行内の係数を含まないC53に記載の映像コーディングデバイス。
[C56] 前記プロセッサは、対角走査順序を前記映像ブロックに適用するように構成され、前記所定の係数に関する前記コンテキスト近隣は、前記所定の係数と同じ対角線上の係数を含まないC53に記載の映像コーディングデバイス。
[C57] 前記映像コーディングデバイスは、映像符号化デバイスを備え、前記プロセッサは、前記選択された変換スキップモードの表示をシグナリングし、及び前記選択された変換スキップモードに少なくとも部分的に基づいて定義された前記コーディング手順を用いて前記映像ブロックに関する前記有意係数情報を符号化するように構成されるC30に記載の映像コーディングデバイス。
[C58] 前記映像コーディングデバイスは、映像復号デバイスを備え、前記プロセッサは、前記選択された変換スキップモードの表示を受信し、及び前記選択された変換スキップモードに少なくとも部分的に基づいて定義された前記コーディング手順を用いて前記映像ブロックに関する前記有意係数情報を復号するように構成されるC30に記載の映像コーディングデバイス。
[C59] 映像コーディングデバイスであって、
映像ブロックに関する変換スキップモードを選択するための手段であって、前記変換スキップモードは、複数の可能な変換モードを備える手段と、
前記選択された変換スキップモードを前記映像ブロックに適用するための手段と、
前記選択された変換モードに少なくとも部分的に基づいて定義されたコーディング手順を用いて前記映像ブロックに関する有意係数情報をコーディングするための手段であって、前記有意係数情報は、最後のゼロでない係数の位置及び前記映像ブロックに関する有意性マップのうちの1つ以上を備える手段と、を備える、映像コーディングデバイス。
[C60] コンピュータによって読み取り可能な媒体であって、
映像コーディングデバイスによって実行されたときに、
映像ブロックに関する変換スキップモードを選択し、
前記選択された変換スキップモードを前記映像ブロックに適用し、及び
前記選択された変換モードに少なくとも部分的に基づいて定義されたコーディング手順を用いて前記映像ブロックに関する有意係数情報をコーディングすることを1つ以上のプログラミング可能なプロセッサに行わせる映像データをコーディングするための命令を備え、前記変換スキップモードは、複数の可能な変換モードを備え、前記有意係数情報は、最後のゼロでない係数の位置及び前記映像ブロックに関する有意性マップのうちの1つ以上を備える、コンピュータによって読み取り可能な媒体。

Claims (54)

  1. 映像データをコーディングするための方法であって、
    映像ブロックに関する変換スキップモードを選択することであって、前記選択された変換スキップモードは、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを備えることと、
    前記選択された変換スキップモードを前記映像ブロックに適用することと、
    前記映像ブロックに走査順序を適用することであって、前記走査順序は、ジグザグ走査順序、対角走査順序、水平走査順序及び垂直走査順序のうちの1つを備えることと、
    前記選択された変換スキップモード及び前記走査順序に少なくとも部分的に基づいて定義された異なるコーディング手順を用いて前記映像ブロックに関する最後のゼロでない係数の位置をコーディングすることと、
    前記選択された変換スキップモード及び前記走査順序に少なくとも部分的に基づいて定義されたコンテキストを用いて前記映像ブロックに関する有意性マップをコーディングすることと、を含む、
    前記映像ブロックに関する有意係数情報をコーディングすることと、
    を備える、映像データをコーディングするための方法。
  2. 前記映像ブロック内の前記最後のゼロでない係数の前記位置は、前記適用された走査順序に依存する請求項1に記載の方法。
  3. 前記選択された変換スキップモードは、前記垂直一次元変換モードを備え、有意係数情報をコーディングすることは、前記最後のゼロでない係数の前記位置をコーディングすることであって、
    前記垂直一次元変換モードに関する列インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスをコーディングすることと、
    二次元変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスをコーディングすることと、
    を含む、前記最後のゼロでない係数の前記位置をコーディングすることを備える請求項1に記載の方法。
  4. 前記選択された変換スキップモードは、前記水平一次元変換モードを備え、有意係数情報をコーディングすることは、前記最後のゼロでない係数の前記位置をコーディングすることであって、
    前記水平一次元変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスをコーディングすることと、
    二次元変換モードに関する列インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスをコーディングすることと、
    を含む、前記最後のゼロでない係数の前記位置をコーディングすることを備える請求項1に記載の方法。
  5. 前記選択された変換スキップモードは、前記無変換モードを備え、有意係数情報をコーディングすることは、前記最後のゼロでない係数の前記位置をコーディングすることであって、
    前記無変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスをコーディングすることと、
    前記無変換モードに関する列インデックスをコーディングするために定義された前記コーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスをコーディングすることと、
    を含む、前記最後のゼロでない係数の前記位置をコーディングすることを備える請求項1に記載の方法。
  6. 前記有意係数情報をコーディングすることは、固定されたビット数を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す列インデックス又は前記映像ブロック内の前記最後のゼロでない係数の行を示す行インデックスのうちの少なくとも1つを含む前記最後のゼロでない係数の前記位置をコーディングすることを備える請求項1に記載の方法。
  7. 前記最後のゼロでない係数の前記列インデックスをコーディングするために使用される前記固定されたビット数は、前記映像ブロックの幅に基づき、前記最後のゼロでない係数の前記行インデックスをコーディングするために使用される前記固定されたビット数は、前記映像ブロックの高さに基づく請求項6に記載の方法。
  8. 前記最後のゼロでない係数の前記列インデックス又は前記行インデックスのうちの1つをコーディングすることは、
    前記最後のゼロでない係数の前記列インデックス又は前記行インデックスのうちの1つをバイナリ化して前記固定されたビット数にすることと、
    コンテキスト適応型バイナリ算術コーディング(CABAC)をバイパスモードで使用して前記バイナリ化されたインデックスの前記ビットの各々をコーディングすることと、を備える請求項6に記載の方法。
  9. 前記有意係数情報をコーディングすることは、前記映像ブロックのサイズに基づいて前記映像ブロック内の前記最後のゼロでない係数の列を示す列インデックス又は前記映像ブロック内の前記最後のゼロでない係数の行を示す行インデックスのうちの少なくとも1つを含む前記最後のゼロでない係数の前記位置をコーディングすることを備える請求項1に記載の方法。
  10. 前記最後のゼロでない係数の前記列インデックスをコーディングすることは、コンテキスト適応型バイナリ算術コーディング(CABAC)を用いて(B−1−last)をコーディングすることを備え、Bは、前記映像ブロックの幅であり、lastは、前記最後のゼロでない係数の前記列インデックスである請求項9に記載の方法。
  11. 前記最後のゼロでない係数の前記行インデックスをコーディングすることは、コンテキスト適応型バイナリ算術コーディング(CABAC)を用いて(B−1−last)をコーディングすることを備え、Bは、前記映像ブロックの高さであり、lastは、前記最後のゼロでない係数の前記行インデックスである請求項9に記載の方法。
  12. 前記選択された変換スキップモードは、前記垂直一次元変換モードを備え、前記走査順序は前記水平走査順序を備え、前記有意係数情報をコーディングすることは、
    前記映像ブロック内の前記最後のゼロでない係数の列を示す列インデックスをコーディングせずに、二次元変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスを含む前記最後のゼロでない係数の前記位置をコーディングすることと、
    前記映像ブロックの前記示された行内の全係数に関する有意性マップをコーディングすることであって、前記有意性マップは、前記映像ブロックの前記示された行内の各ゼロでない係数の前記位置を識別することと、を備える請求項1に記載の方法。
  13. 前記選択された変換スキップモードは、前記水平一次元変換モードを備え、前記走査順序は前記垂直走査順序を備え、前記有意係数情報をコーディングすることは、
    前記映像ブロック内の前記最後のゼロでない係数の行を示す行インデックスをコーディングせずに、二次元変換モードに関する列インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスを含む前記最後のゼロでない係数の前記位置をコーディングすることと、
    前記映像ブロックの前記示された列内の全係数に関する有意性マップをコーディングすることであって、前記有意性マップは、前記映像ブロックの前記示された列内の各ゼロでない係数の前記位置を識別することと、を備える請求項1に記載の方法。
  14. 前記選択された変換スキップモードは、前記無変換モードを備え、前記走査順序は、前記ジグザグ走査順序、前記対角走査順序のうちの1つを備え、前記有意係数情報をコーディングすることは、前記映像ブロック内の前記最後のゼロでない係数の前記位置をコーディングせずに、前記映像ブロック内の全係数に関する前記有意性マップをコーディングすることを備え、前記有意性マップは、前記映像ブロック内の各ゼロでない係数の前記位置を識別する、請求項1に記載の方法。
  15. 前記最後のゼロでない係数の前記位置をコーディングすることは、前記選択された変換スキップモード及び前記走査順序に基づく特定の順序で前記映像ブロック内の前記最後のゼロでない係数のインデックスを表すバイナリビットをコーディングすることを備え、前記選択された変換スキップモード及び前記走査順序に基づく前記順序は、前記最後のゼロでない係数の行インデックス及び列インデックスに関するバイパスコーディングされたバイナリビットをグループにまとめる請求項1に記載の方法。
  16. 前記有意係数情報をコーディングすることは、前記選択された変換スキップモード、前記走査順序及び前記映像ブロックのサイズに少なくとも部分的に基づいて定義されたコンテキストを用いて前記映像ブロックに関する前記有意性マップをコーディングすることを備える請求項1に記載の方法。
  17. 前記選択された変換スキップモードは、前記垂直一次元変換モードを備え、前記有意係数情報をコーディングすることは、前記映像ブロックの行に関する単一の共有コンテキストを用いて前記行内の係数に関する前記有意性マップをコーディングすることを備える請求項1に記載の方法。
  18. 前記選択された変換スキップモードは、前記水平一次元変換モードを備え、前記有意係数情報をコーディングすることは、前記映像ブロックの列に関する単一の共有コンテキストを用いて前記列内の係数に関する前記有意性マップをコーディングすることを備える請求項1に記載の方法。
  19. 前記選択された変換スキップモードは、前記無変換モードを備え、前記有意係数情報をコーディングすることは、前記映像ブロックに関する単一の共有コンテキストを用いて前記映像ブロック内の係数に関する前記有意性マップをコーディングすることを備える請求項1に記載の方法。
  20. 前記有意係数情報をコーディングすることは、二次元変換モードが適用されるブロックと共有されるコンテキストを用いて前記映像ブロックの前記有意性マップをコーディングすることを備える請求項1に記載の方法。
  21. 前記有意係数情報をコーディングすることは、前記走査順序に依存する係数のコンテキスト近隣によって決定されたコンテキストを用いて前記映像ブロック内の所定の係数に関する前記有意性マップをコーディングすることを備える請求項1に記載の方法。
  22. 前記走査順序を適用することは、前記垂直走査順序を前記映像ブロックに適用することを備え、前記所定の係数に関する前記コンテキスト近隣は、前記所定の係数と同じ列内の係数を含まない請求項21に記載の方法。
  23. 前記走査順序を適用することは、前記水平走査順序を前記映像ブロックに適用することを備え、前記所定の係数に関する前記コンテキスト近隣は、前記所定の係数と同じ行内の係数を含まない請求項21に記載の方法。
  24. 前記走査順序を適用することは、前記対角走査順序を前記映像ブロックに適用することを備え、前記所定の係数に関する前記コンテキスト近隣は、前記所定の係数と同じ対角線上の係数を含まない請求項21に記載の方法。
  25. 映像データをコーディングすることは、映像データを符号化することを備え、前記選択された変換スキップモードの表示をシグナリングすることと、前記選択された変換スキップモードに少なくとも部分的に基づいて定義された前記コーディング手順を用いて前記映像ブロックに関する前記有意係数情報を符号化することと、をさらに備える請求項1に記載の方法。
  26. 映像データをコーディングすることは、映像データを復号することを備え、前記選択された変換スキップモードの表示を受信することと、前記選択された変換スキップモードに少なくとも部分的に基づいて定義された前記コーディング手順を用いて前記映像ブロックに関する前記有意係数情報を復号することと、をさらに備える請求項1に記載の方法。
  27. 映像コーディングデバイスであって、
    映像データを格納するメモリと、
    映像ブロックに関する変換スキップモードを選択し、前記選択された変換スキップモードは、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを備え、前記選択された変換スキップモードを前記映像ブロックに適用し、前記映像ブロックに走査順序を適用し、前記走査順序は、ジグザグ走査順序、対角走査順序、水平走査順序及び垂直走査順序のうちの1つを備え、
    前記選択された変換スキップモード及び前記走査順序に少なくとも部分的に基づいて定義された異なるコーディング手順を用いて前記映像ブロックに関する最後のゼロでない係数の位置をコーディングすることと、
    前記選択された変換スキップモード及び前記走査順序に少なくとも部分的に基づいて定義されたコンテキストを用いて前記映像ブロックに関する有意性マップをコーディングすることと、を含む、
    前記映像ブロックに関する有意係数情報をコーディングする、
    ように構成されたプロセッサと、
    を備える、映像コーディングデバイス。
  28. 前記映像ブロック内の前記最後のゼロでない係数の前記位置は、前記適用された走査順序に依存する請求項27に記載の映像コーディングデバイス。
  29. 前記選択された変換スキップモードは、前記垂直一次元変換モードを備え、前記プロセッサは、
    前記垂直一次元変換モードに関する列インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスと、
    二次元変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスと、
    を含む前記最後のゼロでない係数の前記位置をコーディングするように構成される、請求項27に記載の映像コーディングデバイス。
  30. 前記選択された変換スキップモードは、前記水平一次元変換モードを備え、前記プロセッサは、
    前記水平一次元変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスと、
    二次元変換モードに関する列インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスと、
    を含む前記最後のゼロでない係数の前記位置をコーディングするように構成される、請求項27に記載の映像コーディングデバイス。
  31. 前記選択された変換スキップモードは、前記無変換モードを備え、前記プロセッサは、
    前記無変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスと、
    前記無変換モードに関する列インデックスをコーディングするために定義された前記コーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスと、
    を含む前記最後のゼロでない係数の前記位置をコーディングするように構成される、請求項27に記載の映像コーディングデバイス。
  32. 前記プロセッサは、固定されたビット数を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す列インデックス又は前記映像ブロック内の前記最後のゼロでない係数の行を示す行インデックスのうちの少なくとも1つを含む前記最後のゼロでない係数の前記位置をコーディングするように構成される請求項27に記載の映像コーディングデバイス。
  33. 前記最後のゼロでない係数の前記列インデックスをコーディングするために使用される前記固定されたビット数は、前記映像ブロックの幅に基づき、前記最後のゼロでない係数の前記行インデックスをコーディングするために使用される前記固定されたビット数は、前記映像ブロックの高さに基づく請求項32に記載の映像コーディングデバイス。
  34. 前記プロセッサは、
    前記最後のゼロでない係数の前記列インデックス又は前記行インデックスのうちの1つをバイナリ化して前記固定されたビット数にし、及び
    コンテキスト適応型バイナリ算術コーディング(CABAC)をバイパスモードで使用して前記バイナリ化されたインデックスの前記ビットの各々をコーディングするように構成される請求項32に記載の映像コーディングデバイス。
  35. 前記プロセッサは、前記映像ブロックのサイズに基づいて前記映像ブロック内の前記最後のゼロでない係数の列を示す列インデックス又は前記映像ブロック内の前記最後のゼロでない係数の行を示す行インデックスのうちの少なくとも1つを含む前記最後のゼロでない係数の前記位置をコーディングするように構成される請求項27に記載の映像コーディングデバイス。
  36. 前記プロセッサは、前記最後のゼロでない係数の前記列インデックスをコーディングするためにコンテキスト適応型バイナリ算術コーディング(CABAC)を用いて(B−1−last)をコーディングするように構成され、Bは、前記映像ブロックの幅であり、lastは、前記最後のゼロでない係数の前記列インデックスである請求項35に記載の映像コーディングデバイス。
  37. 前記プロセッサは、前記最後のゼロでない係数の前記行インデックスをコーディングするためにコンテキスト適応型バイナリ算術コーディング(CABAC)を用いて(B−1−last)をコーディングするように構成され、Bは、前記映像ブロックの高さであり、lastは、前記最後のゼロでない係数の前記行インデックスである請求項35に記載の映像コーディングデバイス。
  38. 前記選択された変換スキップモードは、前記垂直一次元変換モードを備え、前記走査順序は水平走査順序を備え、前記プロセッサは、
    前記映像ブロック内の前記最後のゼロでない係数の列を示す列インデックスをコーディングせずに、二次元変換モードに関する行インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の行を示す前記行インデックスを含む前記最後のゼロでない係数の前記位置をコーディングし、及び
    前記映像ブロックの前記示された行内の全係数に関する有意性マップをコーディングするように構成され、前記有意性マップは、前記映像ブロックの前記示された行内の各ゼロでない係数の前記位置を識別する請求項27に記載の映像コーディングデバイス。
  39. 前記選択された変換スキップモードは、前記水平一次元変換モードを備え、前記走査順序は前記垂直走査順序を備え、前記プロセッサは、
    前記映像ブロック内の前記最後のゼロでない係数の行を示す行インデックスをコーディングせずに、二次元変換モードに関する列インデックスをコーディングするために定義されたコーディング手順を用いて前記映像ブロック内の前記最後のゼロでない係数の列を示す前記列インデックスを含む前記最後のゼロでない係数の前記位置をコーディングし、及び
    前記映像ブロックの前記示された列内の全係数に関する有意性マップをコーディングするように構成され、前記有意性マップは、前記映像ブロックの前記示された列内の各ゼロでない係数の前記位置を識別する請求項27に記載の映像コーディングデバイス。
  40. 前記選択された変換スキップモードは、前記無変換モードを備え、前記走査順序は、前記ジグザグ走査順序、前記対角走査順序のうちの1つを備え、前記プロセッサは、前記映像ブロック内の前記最後のゼロでない係数の前記位置をコーディングせずに、前記映像ブロック内の全係数に関する前記有意性マップをコーディングするように構成され、前記有意性マップは、前記映像ブロック内の各ゼロでない係数の前記位置を識別する請求項27に記載の映像コーディングデバイス。
  41. 前記プロセッサは、前記選択された変換スキップモード及び前記走査順序に基づく特定の順序で前記映像ブロック内の前記最後のゼロでない係数のインデックスを表すバイナリビットをコーディングするように構成され、前記選択された変換スキップモード及び前記走査順序に基づく前記順序は、前記最後のゼロでない係数の行インデックス及び列インデックスに関するバイパスコーディングされたバイナリビットをグループにまとめる請求項27に記載の映像コーディングデバイス。
  42. 前記プロセッサは、前記選択された変換スキップモード、前記走査順序及び前記映像ブロックのサイズに少なくとも部分的に基づいて定義されたコンテキストを用いて前記映像ブロックに関する前記有意性マップをコーディングするように構成される請求項27に記載の映像コーディングデバイス。
  43. 前記選択された変換スキップモードは、前記垂直一次元変換モードを備え、前記プロセッサは、前記映像ブロックの行に関する単一の共有コンテキストを用いて前記行内の係数に関する前記有意性マップをコーディングするように構成される備える請求項27に記載の映像コーディングデバイス。
  44. 前記選択された変換スキップモードは、前記水平一次元変換モードを備え、前記プロセッサは、前記映像ブロックの列に関する単一の共有コンテキストを用いて前記列内の係数に関する前記有意性マップをコーディングするように構成される請求項27に記載の映像コーディングデバイス。
  45. 前記選択された変換スキップモードは、前記無変換モードを備え、前記プロセッサは、前記映像ブロックに関する単一の共有コンテキストを用いて前記映像ブロック内の係数に関する前記有意性マップをコーディングするように構成される請求項27に記載の映像コーディングデバイス。
  46. 前記プロセッサは、二次元変換モードが適用されるブロックと共有されるコンテキストを用いて前記映像ブロックの前記有意性マップをコーディングするように構成される請求項27に記載の映像コーディングデバイス。
  47. 前記プロセッサは、前記走査順序に依存する係数のコンテキスト近隣によって決定されたコンテキストを用いて前記映像ブロック内の所定の係数に関する前記有意性マップをコーディングするように構成される請求項27に記載の映像コーディングデバイス。
  48. 前記プロセッサは、前記垂直走査順序を前記映像ブロックに適用するように構成され、前記所定の係数に関する前記コンテキスト近隣は、前記所定の係数と同じ列内の係数を含まない請求項47に記載の映像コーディングデバイス。
  49. 前記プロセッサは、前記水平走査順序を前記映像ブロックに適用するように構成され、前記所定の係数に関する前記コンテキスト近隣は、前記所定の係数と同じ行内の係数を含まない請求項47に記載の映像コーディングデバイス。
  50. 前記プロセッサは、前記対角走査順序を前記映像ブロックに適用するように構成され、前記所定の係数に関する前記コンテキスト近隣は、前記所定の係数と同じ対角線上の係数を含まない請求項47に記載の映像コーディングデバイス。
  51. 前記映像コーディングデバイスは、映像符号化デバイスを備え、前記プロセッサは、前記選択された変換スキップモードの表示をシグナリングし、及び前記選択された変換スキップモードに少なくとも部分的に基づいて定義された前記コーディング手順を用いて前記映像ブロックに関する前記有意係数情報を符号化するように構成される請求項27に記載の映像コーディングデバイス。
  52. 前記映像コーディングデバイスは、映像復号デバイスを備え、前記プロセッサは、前記選択された変換スキップモードの表示を受信し、及び前記選択された変換スキップモードに少なくとも部分的に基づいて定義された前記コーディング手順を用いて前記映像ブロックに関する前記有意係数情報を復号するように構成される請求項27に記載の映像コーディングデバイス。
  53. 映像コーディングデバイスであって、
    映像ブロックに関する変換スキップモードを選択するための手段であって、前記選択された変換スキップモードは、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを備える手段と、
    前記選択された変換スキップモードを前記映像ブロックに適用するための手段と、
    前記映像ブロックに走査順序を適用するための手段であって、前記走査順序は、ジグザグ走査順序、対角走査順序、水平走査順序及び垂直走査順序のうちの1つを備える手段と、
    前記選択された変換スキップモードに少なくとも部分的に基づいて定義された異なるコーディング手順を用いて前記映像ブロックに関する最後のゼロでない係数の位置をコーディングするための手段と、
    前記選択された変換スキップモード及び前記走査順序に少なくとも部分的に基づいて定義されたコンテキストを用いて前記映像ブロックに関する有意性マップをコーディングするための手段と、を含む、
    前記映像ブロックに関する有意係数情報をコーディングするための手段と、
    を備える、映像コーディングデバイス。
  54. コンピュータによって読み取り可能な記録媒体であって、
    映像コーディングデバイスによって実行されたときに、
    映像ブロックに関する変換スキップモードを選択することと、前記選択された変換スキップモードは、垂直一次元変換モード、水平一次元変換モード、又は無変換モードのうちの1つを備え、
    前記選択された変換スキップモードを前記映像ブロックに適用することと、
    前記映像ブロックに走査順序を適用することと、前記走査順序は、ジグザグ走査順序、対角走査順序、水平走査順序及び垂直走査順序のうちの1つを備え、
    前記選択された変換スキップモードに少なくとも部分的に基づいて定義された異なるコーディング手順を用いて前記映像ブロックに関する最後のゼロでない係数の位置をコーディングすることと、
    前記選択された変換スキップモード及び前記走査順序に少なくとも部分的に基づいて定義されたコンテキストを用いて前記映像ブロックに関する有意性マップをコーディングすることと、を含む、
    前記映像ブロックに関する有意係数情報をコーディングすることと、
    を1つ以上のプログラム可能なプロセッサに行わせる、映像データをコーディングするための命令を備えるコンピュータプログラムを格納した、コンピュータによって読み取り可能な記録媒体。
JP2014541180A 2011-11-07 2012-11-07 変換スキップモードにおける有意係数情報のコーディング Active JP6009575B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201161556721P 2011-11-07 2011-11-07
US201161556750P 2011-11-07 2011-11-07
US61/556,750 2011-11-07
US61/556,721 2011-11-07
US201261583569P 2012-01-05 2012-01-05
US61/583,569 2012-01-05
US201261588124P 2012-01-18 2012-01-18
US61/588,124 2012-01-18
US13/670,167 2012-11-06
US13/670,167 US10390046B2 (en) 2011-11-07 2012-11-06 Coding significant coefficient information in transform skip mode
PCT/US2012/063876 WO2013070707A1 (en) 2011-11-07 2012-11-07 Coding significant coefficient information in transform skip mode

Publications (2)

Publication Number Publication Date
JP2014535247A JP2014535247A (ja) 2014-12-25
JP6009575B2 true JP6009575B2 (ja) 2016-10-19

Family

ID=48223699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014541180A Active JP6009575B2 (ja) 2011-11-07 2012-11-07 変換スキップモードにおける有意係数情報のコーディング

Country Status (8)

Country Link
US (1) US10390046B2 (ja)
EP (2) EP2777260A1 (ja)
JP (1) JP6009575B2 (ja)
KR (2) KR101929084B1 (ja)
CN (1) CN103999460B (ja)
BR (1) BR112014011053A2 (ja)
TW (1) TWI532364B (ja)
WO (1) WO2013070707A1 (ja)

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101215152B1 (ko) 2011-04-21 2012-12-24 한양대학교 산학협력단 인루프 필터링을 적용한 예측 방법을 이용한 영상 부호화/복호화 방법 및 장치
EP2988511A1 (en) * 2011-08-04 2016-02-24 MediaTek Inc. Method and apparatus for reordered binarization of syntax elements in cabac
CN107835414B (zh) 2011-10-18 2020-11-06 株式会社Kt 视频信号解码方法
US9008184B2 (en) 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
US9363510B2 (en) 2012-03-02 2016-06-07 Qualcomm Incorporated Scan-based sliding window in context derivation for transform coefficient coding
US9237344B2 (en) * 2012-03-22 2016-01-12 Qualcomm Incorporated Deriving context for last position coding for video coding
EP2866443A4 (en) * 2012-06-22 2016-06-15 Sharp Kk ARITHMETIC DECODING DEVICE, ARITHMETIC CODING DEVICE, IMAGE DECODING DEVICE AND IMAGE DEVICES
FI2869557T3 (fi) 2012-06-29 2023-11-02 Electronics & Telecommunications Res Inst Menetelmä ja laite kuvien koodaamiseksi/dekoodaamiseksi
US20140056347A1 (en) 2012-08-23 2014-02-27 Microsoft Corporation Non-Transform Coding
US20140169452A1 (en) * 2012-12-14 2014-06-19 Electronics And Telecommunications Research Institute Video encoding method and apparatus using the same
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9674530B1 (en) * 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
US10003792B2 (en) 2013-05-27 2018-06-19 Microsoft Technology Licensing, Llc Video encoder for images
US9877025B2 (en) * 2013-07-12 2018-01-23 British Broadcasting Corporation Video encoding and decoding with prediction at higher precision
US10171818B2 (en) 2013-07-24 2019-01-01 Microsoft Technology Licensing, Llc Scanning orders for non-transform coding
CN105659602B (zh) 2013-10-14 2019-10-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
AU2013403224B2 (en) 2013-10-14 2018-10-18 Microsoft Technology Licensing, Llc Features of intra block copy prediction mode for video and image coding and decoding
KR102275639B1 (ko) 2013-10-14 2021-07-08 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비디오 및 영상 코딩 및 디코딩에 대한 기본 색상 인덱스 맵 모드의 특징
CN105850131B (zh) * 2013-11-14 2019-08-20 寰发股份有限公司 利用基于帧内图片区块复制预测的视频编码方法
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
WO2015100726A1 (en) 2014-01-03 2015-07-09 Microsoft Corporation Block vector prediction in video and image coding/decoding
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
KR102185857B1 (ko) 2014-02-13 2020-12-02 삼성전자주식회사 영상 부호화, 복호화 방법 및 장치
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
AU2014385769B2 (en) 2014-03-04 2018-12-06 Microsoft Technology Licensing, Llc Block flipping and skip mode in intra block copy prediction
WO2015139165A1 (en) 2014-03-17 2015-09-24 Microsoft Technology Licensing, Llc Encoder-side decisions for screen content encoding
US9716884B2 (en) * 2014-03-20 2017-07-25 Hfi Innovation Inc. Method of signaling for mode selection in 3D and multi-view video coding
WO2015172337A1 (en) * 2014-05-14 2015-11-19 Mediatek Singapore Pte. Ltd. Alternative transforms for data compression
KR102311815B1 (ko) 2014-06-19 2021-10-13 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 통합된 인트라 블록 카피 및 인터 예측 모드
KR102257379B1 (ko) 2014-07-22 2021-06-01 삼성전자주식회사 비디오 인코딩 회로 및 그것을 이용하는 비디오 인코딩 방법
US20170280140A1 (en) * 2014-09-19 2017-09-28 Lg Electronics Inc. Method and apparatus for adaptively encoding, decoding a video signal based on separable transform
JP2017535145A (ja) 2014-09-30 2017-11-24 マイクロソフト テクノロジー ライセンシング,エルエルシー 波面並列処理が可能にされた場合のピクチャ内予測モードに関する規則
EP3222044A1 (en) * 2014-11-21 2017-09-27 VID SCALE, Inc. One-dimensional transform modes and coefficient scan order
AT516282B1 (de) * 2014-11-26 2016-04-15 Blum Gmbh Julius Anordnung zum Aufspreizen wenigstens zweier gelenkig miteinander verbundener Türflügel
MY190919A (en) * 2014-11-28 2022-05-19 Mediatek Inc Method and apparatus of alternative transform for video coding
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
WO2016123792A1 (en) 2015-02-06 2016-08-11 Microsoft Technology Licensing, Llc Skipping evaluation stages during media encoding
KR102390407B1 (ko) * 2015-03-18 2022-04-25 한화테크윈 주식회사 디코더 및 디코더에서의 역변환 방법
KR20160131526A (ko) * 2015-05-07 2016-11-16 삼성전자주식회사 시스템 온 칩, 상기 시스템 온 칩을 포함하는 디스플레이 시스템, 및 상기 디스플레이 시스템의 동작 방법
WO2016197314A1 (en) 2015-06-09 2016-12-15 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
US10038917B2 (en) 2015-06-12 2018-07-31 Microsoft Technology Licensing, Llc Search strategies for intra-picture prediction modes
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
JP6528635B2 (ja) * 2015-10-05 2019-06-12 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
US10171839B2 (en) * 2016-03-24 2019-01-01 Massachusetts Institute Of Technology Generating transforms for compressing and decompressing visual data
FR3050858A1 (fr) * 2016-04-29 2017-11-03 Orange Procede de codage et de decodage d’images, dispositif de codage et de decodage d’images et programmes d’ordinateur correspondants
ES2935261T3 (es) * 2016-05-28 2023-03-03 Hfi Innovation Inc Método y aparato de codificación de modo de paleta para datos de video de color
WO2018012830A1 (ko) * 2016-07-13 2018-01-18 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
CN113873243B (zh) 2016-08-31 2024-02-20 株式会社Kt 用于对视频进行解码的方法和用于对视频进行编码的方法
JPWO2018061837A1 (ja) * 2016-09-30 2019-07-11 ソニー株式会社 画像処理装置および方法
CA3237826A1 (en) 2017-01-03 2018-07-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Image processing method and apparatus therefor
WO2018143670A1 (ko) * 2017-01-31 2018-08-09 세종대학교 산학협력단 영상의 부호화/복호화 방법 및 장치
KR20180089290A (ko) * 2017-01-31 2018-08-08 세종대학교산학협력단 영상의 부호화/복호화 방법 및 장치
KR102302797B1 (ko) * 2017-04-13 2021-09-16 엘지전자 주식회사 영상의 부호화/복호화 방법 및 이를 위한 장치
US10979736B2 (en) * 2017-06-08 2021-04-13 Lg Electronics Inc. Method and apparatus for performing low-complexity computation of transform kernel for video compression
WO2018235405A1 (ja) * 2017-06-23 2018-12-27 ソニー株式会社 画像処理装置と画像処理方法
JP7198268B2 (ja) 2017-07-31 2022-12-28 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート 画像復号化方法、画像符号化方法及びコンピュータ可読記録媒体
US10735736B2 (en) * 2017-08-29 2020-08-04 Google Llc Selective mixing for entropy coding in video compression
US10547869B2 (en) * 2017-12-08 2020-01-28 Google Llc Template-based entropy coding of quantized transform coefficients
CN110710219B (zh) * 2017-12-08 2022-02-11 谷歌有限责任公司 用于系数代码化的上下文推导的方法和设备
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
CN117834917A (zh) * 2018-01-17 2024-04-05 英迪股份有限公司 对视频进行解码或编码的方法和用于发送比特流的方法
JP7121133B2 (ja) * 2018-02-23 2022-08-17 華為技術有限公司 ビデオ符号化のための位置依存の空間変化変換
US10491914B2 (en) * 2018-03-29 2019-11-26 Tencent America LLC Transform information prediction
US10462486B1 (en) 2018-05-07 2019-10-29 Tencent America, Llc Fast method for implementing discrete sine transform type VII (DST 7)
US11356702B2 (en) 2018-06-06 2022-06-07 Lg Electronics Inc. Method for performing transform index coding on basis of intra prediction mode, and device therefor
WO2020005031A1 (ko) * 2018-06-28 2020-01-02 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN110662050B (zh) * 2018-06-29 2022-06-14 北京字节跳动网络技术有限公司 处理视频数据的方法、装置及存储介质
JP7447076B2 (ja) * 2018-07-13 2024-03-11 フラウンホファー ゲセルシャフト ツール フェールデルンク ダー アンゲヴァンテン フォルシュンク エー.ファオ. 区分けされたイントラ符号化のコンセプト
CN110839159A (zh) 2018-08-16 2020-02-25 北京字节跳动网络技术有限公司 用于变换矩阵选择的隐式编码
US20220038702A1 (en) * 2018-09-20 2022-02-03 Nokia Technologies Oy A method and an apparatus for encoding and decoding of digital image/video material
JP2020053924A (ja) * 2018-09-28 2020-04-02 シャープ株式会社 動画像符号化装置、動画像復号装置
WO2020071836A1 (ko) * 2018-10-05 2020-04-09 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR102631361B1 (ko) * 2018-10-11 2024-01-31 엘지전자 주식회사 변환 계수 코딩 방법 및 장치
US10931958B2 (en) 2018-11-02 2021-02-23 Fungible, Inc. JPEG accelerator using last-non-zero (LNZ) syntax element
US10827191B2 (en) 2018-11-02 2020-11-03 Fungible, Inc. Parallel coding of syntax elements for JPEG accelerator
US10848775B2 (en) 2018-11-02 2020-11-24 Fungible, Inc. Memory layout for JPEG accelerator
WO2020092795A2 (en) * 2018-11-02 2020-05-07 Fungible, Inc. Parallel coding of syntax elements for jpeg accelerator
US10827192B2 (en) 2018-11-02 2020-11-03 Fungible, Inc. Work allocation for JPEG accelerator
US11470329B2 (en) * 2018-12-26 2022-10-11 Tencent America LLC Method and apparatus for video coding
CN113519155A (zh) 2019-01-02 2021-10-19 弗劳恩霍夫应用研究促进协会 统一变换类型信令和变换类型相关的变换系数水平编码
CN113365057B (zh) * 2019-03-09 2023-02-28 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、解码端、编码端和系统
US11202100B2 (en) * 2019-03-11 2021-12-14 Qualcomm Incorporated Coefficient coding for transform skip mode
AU2020258477A1 (en) * 2019-04-19 2021-11-11 Bytedance Inc. Context coding for transform skip mode
CN117255200A (zh) 2019-04-24 2023-12-19 字节跳动有限公司 编解码视频的量化残差差分脉冲编解码调制表示
KR20220002292A (ko) 2019-05-01 2022-01-06 바이트댄스 아이엔씨 양자화된 잔차 차동 펄스 코드 변조 코딩을 사용하는 인트라 코딩된 비디오
JP7288083B2 (ja) 2019-05-02 2023-06-06 バイトダンス インコーポレイテッド 符号化ツリー構造タイプに基づく符号化モード
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
KR20210136149A (ko) * 2019-05-21 2021-11-16 삼성전자주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
CN114402605A (zh) * 2019-07-10 2022-04-26 Lg电子株式会社 图像编码系统中使用残差编码方法的标志的图像解码方法以及用于其的装置
CN114375578A (zh) * 2019-07-10 2022-04-19 Lg电子株式会社 用于残差编码的图像解码方法及其设备
US20220210476A1 (en) * 2019-08-31 2022-06-30 Lg Electronics Inc. Method for decoding video using simplified residual data coding in video coding system and device therefor
CN117956187A (zh) * 2019-08-31 2024-04-30 Lg电子株式会社 图像解码方法、图像编码方法、存储介质和发送方法
WO2021040487A1 (ko) 2019-08-31 2021-03-04 엘지전자 주식회사 영상 코딩 시스템에서 레지듀얼 데이터 코딩에 대한 영상 디코딩 방법 및 그 장치
CN114375572A (zh) * 2019-08-31 2022-04-19 Lg 电子株式会社 视频或图像编译方法及其设备
KR20230008918A (ko) * 2019-09-24 2023-01-16 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 잔차 및 계수를 코딩하는 방법 및 장치
CN114556932B (zh) * 2019-09-24 2023-05-23 北京达佳互联信息技术有限公司 用于视频编解码的无损编解码模式
US11973983B2 (en) * 2019-10-11 2024-04-30 Qualcomm Incorporated Signaling coding scheme for residual values in transform skip for video coding
WO2021172912A1 (ko) * 2020-02-27 2021-09-02 엘지전자 주식회사 사인 데이터 하이딩 관련 영상 디코딩 방법 및 그 장치
CN115315944A (zh) * 2020-03-07 2022-11-08 抖音视界有限公司 视频编解码中的隐式多变换集信令通知
CN115443653A (zh) 2020-04-07 2022-12-06 抖音视界有限公司 高级别语法中的帧间预测的信令通知
EP4118825A4 (en) 2020-04-09 2023-08-09 Beijing Bytedance Network Technology Co., Ltd. UNLOCKING SIGNALING IN VIDEO CODING
WO2021204251A1 (en) 2020-04-10 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Use of header syntax elements and adaptation parameter set
CN115868159A (zh) 2020-04-17 2023-03-28 抖音视界有限公司 自适应参数集单元的存在
EP4128775A4 (en) 2020-04-26 2024-03-27 Bytedance Inc CONDITIONAL SIGNALING OF SYNTAX ELEMENTS OF A VIDEO CODING
CN113709476B (zh) * 2020-06-05 2022-12-23 杭州海康威视数字技术股份有限公司 编码方法、解码方法、装置及机器可读存储介质
CN111741302B (zh) * 2020-08-07 2021-05-14 腾讯科技(深圳)有限公司 数据处理方法、装置、计算机可读介质及电子设备
US11509897B2 (en) 2020-08-07 2022-11-22 Samsung Display Co., Ltd. Compression with positive reconstruction error
US11503322B2 (en) 2020-08-07 2022-11-15 Samsung Display Co., Ltd. DPCM codec with higher reconstruction quality on important gray levels

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003053066A1 (en) * 2001-12-17 2003-06-26 Microsoft Corporation Skip macroblock coding
KR20040007818A (ko) * 2002-07-11 2004-01-28 삼성전자주식회사 동영상 부호화를 위한 dct연산량 조절 방법 및 그 장치
KR100664932B1 (ko) * 2004-10-21 2007-01-04 삼성전자주식회사 비디오 코딩 방법 및 장치
KR100746011B1 (ko) * 2005-08-24 2007-08-06 삼성전자주식회사 잔차 예측의 성능 개선 방법, 상기 방법을 이용한 비디오인코더 및 비디오 디코더
US8077769B2 (en) 2006-03-28 2011-12-13 Sony Corporation Method of reducing computations in transform and scaling processes in a digital video encoder using a threshold-based approach
US8045612B1 (en) 2007-01-19 2011-10-25 Marvell International Ltd. Fast inverse integer transform for video decoding
US8571104B2 (en) * 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US9008171B2 (en) 2008-01-08 2015-04-14 Qualcomm Incorporated Two pass quantization for CABAC coders
SG171883A1 (en) 2008-12-03 2011-07-28 Nokia Corp Switching between dct coefficient coding modes
US20110292044A1 (en) * 2009-02-13 2011-12-01 Kim Woo-Shik Depth map coding using video information
US8451903B2 (en) 2009-05-14 2013-05-28 Massachusetts Institute Of Technology Selecting transforms for compressing visual data
NO330107B1 (no) * 2009-07-09 2011-02-21 Tandberg Telecom As Datamaskinimplementert tidlig dropping
US20110090954A1 (en) 2009-10-21 2011-04-21 Cohen Robert A Video Codes with Directional Transforms
KR20110071231A (ko) * 2009-12-21 2011-06-29 엠텍비젼 주식회사 부호화 방법, 복호화 방법 및 장치
HUE051391T2 (hu) 2010-04-13 2021-03-01 Ge Video Compression Llc Szignifikancia térképek és transzformációs együttható blokkok kódolása
EP2569944A1 (en) 2010-05-12 2013-03-20 Thomson Licensing Methods and apparatus for unified significance map coding
US9172968B2 (en) 2010-07-09 2015-10-27 Qualcomm Incorporated Video coding using directional transforms
US20120082235A1 (en) * 2010-10-05 2012-04-05 General Instrument Corporation Coding and decoding utilizing context model selection with adaptive scan pattern
US20130003838A1 (en) * 2011-06-30 2013-01-03 Futurewei Technologies, Inc. Lossless Coding and Associated Signaling Methods for Compound Video

Also Published As

Publication number Publication date
KR20140090658A (ko) 2014-07-17
CN103999460A (zh) 2014-08-20
CN103999460B (zh) 2017-07-18
EP3713233A1 (en) 2020-09-23
KR101929084B1 (ko) 2018-12-13
JP2014535247A (ja) 2014-12-25
WO2013070707A1 (en) 2013-05-16
TWI532364B (zh) 2016-05-01
KR101919213B1 (ko) 2018-11-15
BR112014011053A2 (pt) 2017-05-02
EP2777260A1 (en) 2014-09-17
US20130114730A1 (en) 2013-05-09
TW201342922A (zh) 2013-10-16
US10390046B2 (en) 2019-08-20
KR20160116006A (ko) 2016-10-06

Similar Documents

Publication Publication Date Title
JP6009575B2 (ja) 変換スキップモードにおける有意係数情報のコーディング
JP6542400B2 (ja) 係数走査のための係数グループおよび係数コーディング
TWI776818B (zh) 用於視頻寫碼之線性模型色度內預測
JP6903644B2 (ja) ビデオコーディングのために位置依存の予測組合せを使用する改善されたビデオイントラ予測
JP5833249B2 (ja) ビデオコーディングのための適応的な中心帯域オフセットフィルタ
JP5932050B2 (ja) ビデオコーディングにおけるクロマ成分のための変換ユニットパーティショニング
JP5902307B2 (ja) イントラモードビデオコーディング
JP5823623B2 (ja) ビデオコーディングのための動きベクトル予測子候補クリッピング削除
JP6162150B2 (ja) ビデオコーディング用の残差4分木(rqt)コーディング
JP5955955B2 (ja) リーフレベルコード化単位のサブセットについての変換係数のシンタックス要素の信号伝達
JP6231109B2 (ja) コンテキスト適応型、マルチレベル有意性コーディングに関するコンテキスト導出
JP2018078569A (ja) ビデオコード化のためのlcuベースの適応ループフィルタ処理
US20130003859A1 (en) Transition between run and level coding modes
JP6042526B2 (ja) ビデオコーディングのための最後の位置コーディングのためのコンテキストの導出
JP2016527789A (ja) イントラ動き補償の拡張
JP6199371B2 (ja) ビデオ・コーディングのためのインタ・レイヤ・テクスチャ予測
JP6316842B2 (ja) 縮小されたラインバッファを有するデブロッキングフィルタ

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140929

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140929

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160726

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160914

R150 Certificate of patent or registration of utility model

Ref document number: 6009575

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250