[go: up one dir, main page]

JP6190361B2 - 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置 - Google Patents

算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置 Download PDF

Info

Publication number
JP6190361B2
JP6190361B2 JP2014518423A JP2014518423A JP6190361B2 JP 6190361 B2 JP6190361 B2 JP 6190361B2 JP 2014518423 A JP2014518423 A JP 2014518423A JP 2014518423 A JP2014518423 A JP 2014518423A JP 6190361 B2 JP6190361 B2 JP 6190361B2
Authority
JP
Japan
Prior art keywords
block
sub
context index
coefficient
context
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
JP2014518423A
Other languages
English (en)
Other versions
JPWO2013180023A1 (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.)
Sharp Corp
Original Assignee
Sharp Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=49673219&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP6190361(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2014518423A priority Critical patent/JP6190361B2/ja
Publication of JPWO2013180023A1 publication Critical patent/JPWO2013180023A1/ja
Application granted granted Critical
Publication of JP6190361B2 publication Critical patent/JP6190361B2/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/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/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/124Quantisation
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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
    • 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/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、算術符号化された符号化データを復号する算術復号装置、および、そのような算術復号装置を備えている画像復号装置に関する。また、算術符号化された符号化データを生成する算術符号化装置、および、そのような算術符号化装置を備えている画像符号化装置に関する。
動画像を効率的に伝送または記録するために、動画像を符号化することによって符号化データを生成する動画像符号化装置(画像符号化装置)、および、当該符号化データを復号することによって復号画像を生成する動画像復号装置(画像復号装置)が用いられている。
具体的な動画像符号化方式としては、例えば、H.264/MPEG−4.AVC、その後継コーデックであるHEVC(High-Efficiency Video Coding)にて提案されている方式(非特許文献1)などが挙げられる。
このような動画像符号化方式においては、動画像を構成する画像(ピクチャ)は、画像を分割することにより得られるスライス、スライスを分割することにより得られる符号化単位(コーディングユニット(Coding Unit)と呼ばれることもある)、及び、符号化単位を分割することより得られるブロックおよびパーティションからなる階層構造により管理され、普通、ブロックごとに符号化/復号される。
また、このような符号化方式においては、通常、入力画像を符号化及び復号することによって得られる局所復号画像に基づいて予測画像が生成され、当該予測画像と入力画像との差分画像(「残差画像」または「予測残差」と呼ぶこともある)をブロック毎にDCT(Discrete Cosine Transform)変換等の周波数変換を施すことによって得られる変換係数が符号化される。
変換係数の具体的な符号化の方式としては、コンテキスト適応型可変長符号化(CAVLC:Context-based Adaptive Variable Length Coding)、および、コンテキスト適応型2値算術符号化(CABAC:Context-based Adaptive Binary Arithmetic Coding)が知られている。
CALVCでは、各変換係数を順次スキャンすることによって1次元のベクトルとした後、各変換係数の値を示すシンタックス、および、連続する0の長さ(ランとも呼ぶ)を表すシンタックス等が符号化される。
CABACでは、変換係数を表す各種のシンタックスに対して2値化処理が施され、この2値化処理によって得られた2値データが算術符号化される。ここで、上記各種のシンタックスとしては、変換係数が0であるか否かを示すフラグ、すなわち非0変換係数の有無を示すフラグsignificant_coeff_flag(変換係数有無フラグとも呼ぶ)、並びに、処理順で最後の非0変換係数の位置を示すシンタックスlast_significant_coeff_x及びlast_significant_coeff_yなどが挙げられる。
また、CABACでは、シンボル(2値データの1ビット、Binとも呼ぶ)を1つ符号化する際、処理対象の周波数成分に割り付けられたコンテキストインデックスが参照され、当該コンテキストインデックスによって指定されるコンテキスト変数に含まれる確率状態インデックスの指し示す発生確率に応じた算術符号化が行われる。また、確率状態インデックスによって指定される発生確率は、シンボルを1つ符号化する毎に更新される。
また、非特許文献1では、非0変換係数の符号化方法として、2レイヤ符号化が採用されている。2レイヤ符号化とは、変換単位を複数のサブブロックに分割し、当該サブブロックに含まれる変換係数それぞれについて、変換係数が非0であるか否かを示すフラグ(significant_coeff_flag)を符号化するとともに、サブブロック単位で、非0変換係数が含まれているか否かを示すフラグ(significant_coeff_group_flag、またはcoded_sub_block_flagとも称する)を符号化する。
また、非特許文献1では、変換単位(Transform unit;TU)のサイズに応じて次のように符号化を行う。すなわち、小TU(4×4、8×8)では、サブブロックサイズとして、4×4または8×2が用いられ、位置ベースで周波数成分に割り付けるコンテキストが導出される。位置ベースでのコンテキスト導出では、周波数成分に対して、周波数領域内での当該周波数成分の位置に応じて定まるコンテキストインデックス(位置コンテキストとも呼ぶ)が割り付けられる。
また、大TU(16×16、32×32、16×4、4×16、32×8、8×32)では、サブブロックサイズとして、4×4が用いられ、周辺参照ベースで周波数成分に割り付けるコンテキストが導出される。周辺参照ベースでのコンテキスト導出では、周波数成分に対して、当該周波数成分の周辺の周波数成分における非0変換係数の数(すなわち、significant_coeff_flagが参照される)に応じて定まるコンテキストインデックス(周辺参照コンテキストとも呼ぶ)が割り付けられる。
これに対して、非特許文献2では、上述のような周辺参照ベースでのコンテキスト導出を廃止することが提案されており、HEVCテストモデルの次のバージョン(HM7)では、この提案が採用される見通しとなっている。
非特許文献2では、隣接サブブロックに非0変換係数があるか否かに応じて、導出パターンを選択し、選択した導出パターンに従って、サブブロック内の位置からコンテキストインデックスを導出することが提案されている。
図50〜52を用いて、非特許文献2の提案内容を示すと次のとおりである。図50に示す処理対象のサブブロックXについて、サブブロックXの右隣接サブブロックAおよび下隣接サブブロックBにおける非0変換係数の状態から以下のパターンを求める。
(パターン0) 右隣接サブブロック(xCG+1,yCG)および下隣接サブブロック(xCG,yCG+1)のいずれにおいてもサブブロック係数有無フラグの値が0である場合。
(パターン1) 右隣接サブブロック(xCG+1,yCG)においてサブブロック係数有無フラグの値が1であり、かつ下隣接サブブロック(xCG,yCG+1)においてサブブロック係数有無フラグの値が0である場合。
(パターン2) 右隣接サブブロック(xCG+1,yCG)においてサブブロック係数有無フラグの値が0であり、かつ下隣接サブブロック(xCG,yCG+1)においてサブブロック係数有無フラグの値が1である場合。
(パターン3) 右隣接サブブロック(xCG+1,yCG)および下隣接サブブロック(xCG,yCG+1)の両方においてサブブロック係数有無フラグの値が1である場合。
非特許文献2によれば、上記パターンを示すパターンインデックスidxCGを、下記式(X)を用いて求める。
idxCG = significant_coeff_group_flag[xCG + 1][yCG] + (significant_coeff_group_flag[xCG][yCG + 1] << 1)・・・(X)
そして、パターンインデックスidxCGに応じて、図51に示す方法で、サブブロックX内の座標(xB,yB)を用いてコンテキストインデックスを導出する。図51を参照しながら、パターン0〜3のそれぞれの場合において導出されるコンテキストインデックスの値について説明すると次のとおりである。
(パターン0の場合)
パターン0の場合、sigCtx = (xB + yB <= 2) ? 1 : 0 によりコンテキストインデックスを導出する。
コンテキストインデックスの値は、図52(a)に示すような配置となる。
(パターン1の場合)
パターン1の場合、sigCtx = (yB <= 1) ? 1 : 0 によりコンテキストインデックスを導出する。
よって、図52(b)に示すように、サブブロックの第1行目および第2行目では、コンテキストインデックスの値が1となり、サブブロックの第3行目および第4行目では、コンテキストインデックスの値が0となる。
(パターン2の場合)
パターン2の場合、sigCtx = (xB <= 1) ? 1 : 0 によりコンテキストインデックスを導出する。
よって、図52(c)に示すように、サブブロックの第1列目および第2列目では、コンテキストインデックスの値が1となり、サブブロックの第3列目および第4列目では、コンテキストインデックスの値が0となる。
(パターン3の場合)
パターン3の場合、sigCtx = (xB + yB <= 4) ? 2 : 1 によりコンテキストインデックスを導出する。
よって、パターン3の場合、サブブロック内での座標(xB,yB)の水平方向の座標xBと、垂直方向の座標yBとの和が4以下であれば、コンテキストインデックスの値は、“1”であり、そうでなければ、コンテキストインデックスの値は、“0”である。
これにより、コンテキストインデックスの値は、図52(d)に示すような配置となる。
また、非特許文献3では、8×8TUにおいて、スキャン方向毎に異なっていたサブブロックの形状を4×4サブブロックに統一し、さらに8×8TU〜32×32TUにおいても、隣接サブブロックに非0変換係数があるか否かに応じて、導出パターンを選択し、選択した導出パターンに従って、サブブロック内の位置から変換係数有無フラグに関するコンテキストインデックスを導出することが提案されいる。また、非特許文献3によれば、輝度の8×8TUに関して、スキャン方向が斜め方向スキャンである場合と、水平方向スキャンまたは垂直方向スキャンである場合とで、変換係数有無フラグに関するコンテキストを区別する提案がされている。言い換えれば、斜め方向スキャン時のコンテキストとは別に、水平方向スキャンと垂直方向スキャンとでコンテキストを共有している。
「Suggested bug-fixes for HEVC text specification draft 6(JCTVC-I0030)」, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 9th Meeting: Geneva, CH, 27 April - 7 May 2012(2012年4月公開) 「Non-CE3: Simplified context derivation for significance map(JCTVC-I0296)」, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 9th Meeting: Geneva, CH, 27 April - 7 May 2012(2012年4月公開) 「Removal of the 8x2/2x8 coefficient groups(JCTVC-J0256)」, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 10th Meeting: Stockholm, SW, 11 - 20 July 2012(2012年7月公開)
しかしながら、上述の従来技術では、依然として、変換係数の符号化及び復号に係る処理が複雑であったり、符号化効率が十分でなかったりするという問題があった。
本発明は、上記の問題に鑑みてなされたものであり、その目的は、従来の構成に比べて、変換係数の符号化及び復号に係る処理の簡素化によるハードウェア簡略化、および、符号化効率の向上を図ることのできる算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置を実現することにある。
上記課題を解決するために、本発明の一実施形態に係る算術復号装置は、対象画像を単位領域毎に周波数変換して得られる変換係数の符号化データを復号する算術復号装置であって、上記単位領域が複数のサブブロックに分割された該サブブロック毎に、非0変換係数が少なくとも1つ含まれるか否かを示すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、処理対象の上記変換係数が0であるか否かを示す変換係数有無フラグに対応するコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、処理対象のサブブロックに隣接する少なくとも2つの隣接サブブロックに上記非0変換係数を含まない場合、値が異なる3つの上記コンテキストインデックスを導出することを特徴とする。
また、上記課題を解決するために、本発明の一実施形態に係る算術復号装置は、対象画像を単位領域毎に周波数変換して得られる変換係数の符号化データを復号する算術復号装置であって、上記単位領域が複数のサブブロックに分割された該サブブロック毎に、非0変換係数が少なくとも1つ含まれるか否かを示すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、処理対象の上記変換係数が0であるか否かを示す変換係数有無フラグに対応するコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、導出された上記コンテキストインデックスの数は、処理対象のサブブロックに隣接する少なくとも2つの隣接サブブロックに上記非0変換係数を含むか否かに応じて、異なることを特徴とする。
また、上記課題を解決するために、本発明の一実施形態に係る画像復号装置は、上記算術復号装置と、上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段とを備えていることを特徴とする。
また、上記課題を解決するために、本発明の一実施形態に係る算術符号化装置は、対象画像を単位領域毎に周波数変換して得られる変換係数を表す各シンタックスを算術符号化する算術符号化装置であって、上記単位領域毎に複数のサブブロックに分割された該サブブロック毎に、非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを符号化するサブブロック係数有無フラグ符号化手段と、処理対象の上記変換係数が0であるか否かを示す変換係数有無フラグに対応するコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、処理対象のサブブロックに隣接する少なくとも2つの隣接サブブロックに上記非0変換係数を含まない場合、値が異なる3つの上記コンテキストインデックスを導出することを特徴とする。
また、上記課題を解決するために、本発明の一実施形態に係る算術符号化装置は、対象画像を単位領域毎に周波数変換して得られる変換係数を表す各シンタックスを算術符号化する算術符号化装置であって、上記単位領域毎に複数のサブブロックに分割された該サブブロック毎に、非0変換係数が少なくとも1つ含まれるか否かを示すサブブロック係数有無フラグを符号化するサブブロック係数有無フラグ復号手段と、処理対象の上記変換係数が0であるか否かを示す変換係数有無フラグに対応するコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、導出された上記コンテキストインデックスの数は、処理対象のサブブロックに隣接する少なくとも2つの隣接サブブロックに上記非0変換係数を含むか否かに応じて、異なることを特徴とする。
また、上記課題を解決するために、本発明の一実施形態に係る画像符号化装置は、符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、上記いずれかの算術符号化装置とを備え、上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数であるシンタックスを算術符号化することによって符号化データを生成するものであることを特徴とする。
以上のように、本発明に係る算術復号装置では、コンテキストインデックス導出手段が、処理対象のサブブロックに隣接するいずれかのサブブロックにおいて非0変換係数が存在しないと判定されたとき、該判定結果に基づいて、非0変換係数の発生確率が低い場合、非0変換係数の発生確率が高い場合、および、非0変換係数の発生確率が、高い場合と、低い場合との間の中程度である場合にそれぞれ対応するコンテキストインデックスを、処理対象のサブブロックにおける処理対象の変換係数の位置に応じて導出する、構成である。
よって、実際の変換係数の発生確率に、より適合したコンテキスト導出パターンを実現することができ、これにより符号化効率の向上を図ることができる。
以上のように、本発明に係る算術復号装置では、コンテキストインデックス導出手段が、4×4サイズのサブブロックにおける座標を(xB,yB)(ただし、xBを水平方向、yBを垂直方向、サブブロック左上を原点(0,0)とする)とすると、上記サブブロックにおいて適用されるスキャン順が、斜め方向スキャンである場合において、判定された方向性が、垂直方向であるとき、(0,0)〜(0,3)、(1,0)〜(1,2)および(2,0)から構成される領域において、該領域以外の領域よりも、より変換係数の発生確率が高い場合に対応するコンテキストインデックスを導出する一方で、判定された方向性が、水平方向であるとき、(0,0)〜(3,0)、(0,1)〜(2,1)および(0,2)から構成される領域において、該領域以外の領域よりも、より変換係数の発生確率が高い場合に対応するコンテキストインデックスを導出する、構成である。
よって、サブブロック内でのコンテキストインデックスの切り替えを従来と比較し抑制することができる。このため、上述のように0と1の繰り返し数を定義するようなハードウェアでは、ハードウェアの実装が簡略化される。
以上のように、本発明に係る算術復号装置では、変換係数の分布の方向性を判定する方向性判定手段により判定された方向性に応じたスキャン順を用いて、変換係数を復号する変換係数復号手段を備える構成である。
上記構成によれば、変換係数の分布の方向性に応じたスキャン順を用いて、変換係数を復号することができる。このため、上述のように0と1の繰り返し数を定義するようなハードウェアでは、ハードウェアの実装が簡略化される。
以上のように、本発明に係る算術復号装置では、コンテキストインデックス導出手段が、サブブロック係数有無フラグに基づいて、処理対象のサブブロックに隣接する各サブブロックについて、非0変換係数が少なくとも1つ含まれるサブブロックの数を計上する係数有サブブロック数計上手段により計上された数に応じて、処理対象の変換係数の上記処理対象のサブブロックにおける水平方向の座標および垂直方向の座標の和を用いてコンテキストインデックスを導出する構成である。
上記構成では、サブブロック係数有無フラグが、右隣接サブブロックにおけるものであるか、下隣接サブブロックにおけるものであるかを区別しないで済む等、ハードウェアの実装が簡略化されるという効果を奏する。
以上のように、本発明に係る算術復号装置では、コンテキストインデックス導出手段が、処理対象のサブブロックに隣接する各サブブロックについて復号されたサブブロック係数有無フラグの値のパターンを判定するパターン判定手段の判定結果に応じて、処理対象の変換係数の上記処理対象のサブブロックにおける水平方向および垂直方向それぞれの座標の2ビット表現における上位ビットを用いて、コンテキストインデックスを導出する構成である。
以上のように、本発明に係る算術復号装置は、4×4サイズのサブブロックを4分割して得られる2×2サイズの部分領域それぞれについて、該部分領域内のスキャン順を用いて、変換係数を復号する変換係数復号手段と、を備える構成である。
よって、スキャン順上において座標(例えば、スキャン順上隣り合う周波数成分の座標)が大幅に変化することを抑制することができるため、空間的に同種の特性を有する変換係数を順に復号することができる。その結果、符号化効率が向上する。
以上のように、本発明に係る算術復号装置では、コンテキストインデックス導出手段が、処理対象のサブブロックに隣接するサブブロックにおけるサブブロック係数有無フラグに基づいて、変換係数の分布の方向性を判定する方向性判定手段により判定された方向性に応じて、処理対象のサブブロックの処理対象の単位領域における座標を用いて、コンテキストインデックスを導出する構成である。
上記構成によれば、横エッジや、縦エッジが存在する可能性が高い場合において、非0変換係数の発生確率が高い場合に対応するコンテキストインデックスを用いるため、符号化効率の向上を図ることができる。
以上のように、本発明に係る算術復号装置では、コンテキストインデックス導出手段が、上記サブブロック係数有無フラグに基づいて、処理対象のサブブロックに隣接するサブブロックそれぞれについて、非0変換係数が少なくとも1つ含まれるか否かが判定された結果において、所定の数以上のサブブロックにおいて非0変換係数が少なくとも1つ含まれる場合、処理対象のサブブロックにおいて一様に、変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出する構成である。
よって、非0変換係数の発生確率が一様に高い場合、処理対象のサブブロックにおいて、一様に、変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出でき、符号化効率の向上を図ることができる。
以上に示したように、本発明によれば、従来の構成に比べて、変換係数の符号化及び復号に係る処理の簡素化によるハードウェア簡略化、および、符号化効率の向上を図ることができる。
なお、上記構成に対応する構成を有する算術符号化装置でも同様の効果を得ることができる。
本発明の実施形態に係る動画像復号装置の備える係数有無フラグ復号部の構成を示すブロック図である。 本発明の実施形態に係る動画像符号化装置によって生成され、動画像復号装置によって復号される符号化データのデータ構成を示す図であり、(a)〜(d)は、それぞれ、ピクチャレイヤ、スライスレイヤ、ツリーブロックレイヤ、およびCUレイヤを示す図である。 (a)〜(h)は、PU分割タイプのパターンを示す図であり、それぞれ、PU分割タイプが、2N×N、2N×nU、2N×nD、2N×N、2N×nU、および、2N×nDの場合のパーティション形状について示している。(i)〜(o)は、正方形のノードを正方形または非正方形に4分木分割する分割方式について示す図であり。(i)は、正方形の分割、(j)は、横長の長方形の分割、(k)は、縦長の長方形の分割、(l)は、横長のノードの横長の分割、(m)は、横長のノードの正方形の分割、(n)は、縦長のノードの縦長の分割、および(o)は、縦長のノードの正方形の分割を示している。 ブロックとサブブロックの関係を示す図である。(a)は、4×4TUが4×4成分からなる1個のサブブロックから構成される例を示す。(b)は、8×8TUが4×4成分からなる4個のサブブロックから構成される例を示す。(c)は、16×16TUが4×4成分からなる16個のサブブロックから構成される例を示す。 実施形態に係る復号処理及び符号化処理のスキャン順を説明するための図であって、(a)は、サブブロックスキャンが順スキャンである場合を示しており、(b)は、サブブロック内スキャンが順スキャンである場合を示しており、(c)は、サブブロックスキャンが逆スキャンである場合を示しており、(d)は、サブブロック内スキャンが逆スキャンである場合を示している。 実施形態における非0変換係数の復号処理を説明するための図であって、(a)は、TUサイズが8×8であるブロックが4×4のサイズのサブブロックに分割された場合に、順スキャンにて各周波数成分がスキャンされる場合のスキャン順を示しており、(b)は、TUサイズが8×8の周波数成分よりなる周波数領域における0でない変換係数(非0変化係数)を例示しており、(c)は、復号対象の変換係数が、(b)に示すものである場合の各サブブロックについて復号されたサブブロック係数有無フラグsignificant_coeff_group_flagの各値を示しており、(d)は、復号対象の変換係数が、図8(b)に示すものである場合の非0変換係数の有無を示すシンタックスsignificant_coeff_flagの各値を示しており、(e)は、復号対象の変換係数が、(b)に示すものである場合のシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、及びcoeff_abs_level_remainingを復号することによって得られた各変換係数の絶対値を示しており、(f)は、復号対象の変換係数が、(b)に示すものである場合のシンタックスcoeff_sign_flagを示している。 実施形態に係る動画像復号装置の構成を示すブロック図である。 実施形態に係る動画像復号装置の備える可変長符号復号部の構成を示すブロック図である。 実施形態に係る動画像復号装置において利用可能なイントラ予測の方向について示す図である。 イントラ予測モードと、当該イントラ予測モードに対応付けられている名前とを示す図である。 本発明の実施形態に係る動画像復号装置の備える量子化残差情報復号部の構成を示すブロック図である。 イントラ予測モードインデックスIntraPredModeと、log2TrafoSize-2の各値とによって指定されるスキャンインデックスscanIdxの例を示す表である。 スキャンインデックスを説明するための図であって、(a)は、スキャンインデックスscanIdxの各値によって指定されるスキャンタイプScanTypeを示しており、(b)は、TUサイズが4×4であるときの、水平方向優先スキャン(horizontal fast scan)を示し、(c)は、TUサイズが4×4であるときの、垂直方向優先スキャン(vertical fast scan)、及び、(d)は、TUサイズが4×4であるときの、斜め方向スキャン(Up-right diagonal scan)の各スキャンのスキャン順の一例を示している。なお、(b)に示す水平方向優先スキャンは、サブブロックを上下半分に分割した小サブブロック単位に、水平方向へ斜め1列毎に係数をスキャンすることを特徴とし、(c)に示す垂直方向優先スキャンは、サブブロックを左右半分に分割した小サブブロック単位に垂直方向へ斜め1列毎に係数をスキャンすることを特徴としている。 ブロックおよびサブブロックのスキャン順について示す図である。(a)〜(c)は、TUサイズが8×8であり、かつ、サブブロックサイズが4×4であるとき、スキャンインデックスscanIdxで指定される各スキャンタイプのスキャン順の一例を示している。また、(a)〜(c)に示す各例における矢印は、順スキャン方向を示している。なお、(a)に示す水平方向優先スキャンは、サブブロックを上下半分に分割した小サブブロック単位に、水平方向へ斜め1列毎に係数をスキャンすることを特徴とし、(b)に示す垂直方向優先スキャンは、サブブロックを左右半分に分割した小サブブロック単位に垂直方向へ斜め1列毎に係数をスキャンすることを特徴としている。 ブロックおよびサブブロックのスキャン順について示す図である。(a)〜(c)は、TUサイズが8×8であり、かつ、サブブロックサイズが異なるとき、スキャンインデックスscanIdxで指定される各スキャンタイプのスキャン順の一例を示している。また、(a)〜(c)に示す各例における矢印は、順スキャン方向を示している。なお、(a)に示す水平方向優先スキャンは、横長のサブブロック単位に、水平方向へ斜め1列毎に係数をスキャンすることを特徴とし、(b)に示す垂直方向優先スキャンは、縦長のサブブロックを単位に垂直方向へ斜め1列毎に係数をスキャンすることを特徴としている。 実施形態に係るサブブロック係数有無フラグ復号部の構成を示すブロック図である。 実施形態に係るサブブロック係数有無フラグ復号部による復号処理を説明するための図であって、(a)は、対象サブブロック(xCG、yCG)と、対象サブブロックの下側に隣接する隣接サブブロック(xCG、yCG+1)とを示しており、(b)は、対象サブブロック(xCG、yCG)と、対象サブブロックの右側に隣接する隣接サブブロック(xCG+1、yCG)とを示しており、(c)は、対象サブブロック(xCG、yCG)と、対象サブブロックの下側に隣接する隣接サブブロック(xCG、yCG+1)と、対象サブブロックの右側に隣接する隣接サブブロック(xCG+1、yCG)とを示している。 実施形態に係るサブブロック係数有無フラグ符号化及び復号処理を説明するための図であって、(a)は、16×16TUの周波数領域に存在する変換係数を示しており、(b)は、各サブブロックに割り付けられたサブブロック係数有無フラグを示している。 パターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードの一例を示す図である。 図20に示す疑似コードによるコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。 サブブロック内のスキャン順を示す図である。 隣接サブブロックに非0変換係数があるか否かの状態に応じて、対象サブブロック内のスキャン順を変更する変形例を示す図である。 パターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードの他の例を示す図である。 図23に示す疑似コードによるコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。 パターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードの別の例を示す図である。 図25に示す疑似コードによるコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。 サブブロック内の4つの2×2部分領域におけるスキャン順について説明する図である。 パターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードのさらに別の例を示す図である。 図28に示す疑似コードによるコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。 変形例5に係るコンテキストインデックス導出方法を実行するための疑似コードの一般的構成を示す図である。 図30に示す疑似コードにおいて、具体的な閾値を設定したときのコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。 図30に示す疑似コードにおいて、別の閾値を設定したときのコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。 図30に示す疑似コードおいて、別の閾値を設定したときのコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。 パターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードのさらに別の例を示す図である。 図33に示す疑似コードによるコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。 処理対象のサブブロックXに対して、右隣接サブブロックA、下隣接サブブロックB、および、右下隣接サブブロックCの位置について示す図である。 パターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードのさらに別の例を示す図である。 図37に示す疑似コードによるコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。 上記動画像復号装置に含まれる変換係数復号部による変換係数復号処理の流れを示すフローチャートである。 サブブロック係数有無フラグを復号する処理をより具体的に説明するためのフローチャートである。 サブブロック内の各非ゼロ変換係数有無フラグsignificant_coeff_flagを復号する処理をより具体的に説明するためのフローチャートである。 係数有無フラグ復号部におけるコンテキストインデックスの導出処理の流れの一例を示すフローチャートである。 実施形態に係る動画像符号化装置の構成を示すブロック図である。 実施形態に係る動画像符号化装置の備える可変長符号符号化部の構成を示すブロック図である。 本発明の実施形態に係る動画像符号化装置の備える量子化残差情報符号化部の構成を示すブロック図である。 実施形態に係るサブブロック係数有無フラグ符号化部の構成を示すブロック図である。 実施形態に係る係数有無フラグ符号化部の第2の構成例を示すブロック図である。 上記動画像符号化装置を搭載した送信装置、および、上記動画像復号装置を搭載した受信装置の構成について示した図である。(a)は、動画像符号化装置を搭載した送信装置を示しており、(b)は、動画像復号装置を搭載した受信装置を示している。 上記動画像符号化装置を搭載した記録装置、および、上記動画像復号装置を搭載した再生装置の構成について示した図である。(a)は、動画像符号化装置を搭載した記録装置を示しており、(b)は、動画像復号装置を搭載した再生装置を示している。 処理対象のサブブロックXに対して、右隣接サブブロックA、および下隣接サブブロックBの位置について示す図である。 パターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードの従来例を示す図である。 図51に示す疑似コードによるコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。 図30に示す疑似コードおいて、別の閾値を設定したときのコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。 パターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードのさらに別の例を示す図である。 図54に示す疑似コードによるコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。 図29に示すコンテキストインデックスの値の配置を実現する別の疑似コードの一例である。 図31に示すコンテキストインデックスの値の配置を実現する別の疑似コードの一例である。 図32に示すコンテキストインデックスの値の配置を実現する別の疑似コードの一例である。 図33に示すコンテキストインデックスの値の配置を実現する別の疑似コードの一例である。 図53に示すコンテキストインデックスの値の配置を実現する別の疑似コードの一例である。 図30に示す疑似コードにおいて、別の閾値を設定したときのコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。(変形例5−6) 変形例5−6に係るパターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するためのさらに別の疑似コードである。 図30に示す疑似コードにおいて、別の閾値を設定したときのコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。(変形例5−7) 変形例5−7に係るパターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するためのさらに別の疑似コードである。 変形例8に係る係数有無フラグ復号部124における変換係数有無フラグに関するコンテキストインデックスの導出の動作を示すフローチャートである。 位置コンテキスト導出部124bにおいて、4×4TUの各係数位置に割り当てるコンテキストインデックスの一例である。 図65におけるステップSX103−3のさらに詳細な動作を表わすフローチャートである。 変形例8に係る変換係数有無フラグのコンテキストインデックスの割当を表わす表である。 比較技術(非特許文献3)における変換係数有無フラグのコンテキストインデックスの割当を表わす表である。 変形例8−2に係るパターンインデックスidxCGとスキャン方向(スキャンインデックスscanIdx)に従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードである。 図70に示す疑似コードによるコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。 図70に示す疑似コードにおいて、パターン0の水平方向優先スキャン、垂直方向優先スキャンの各重み係数と閾値に別の値を設定したときのコンテキストインデックスの値の配置を示す図である。 変形例8−2に係るパターンインデックスidxCGとスキャン方向(スキャンインデックスscanIdx)に従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための別の例の疑似コードである。 比較技術(非特許文献3)におけるコンテキストインデックスのオフセット加算処理の動作の詳細を説明するフローチャートであって、図65におけるステップSX103に対応する動作の詳細を表わすフローチャートである。
本発明に係る復号装置および符号化装置の実施形態について図面に基づいて説明すれば以下のとおりである。なお、本実施形態に係る復号装置は、符号化データから動画像を復号するものである。したがって、以下では、これを「動画像復号装置」と呼称する。また、本実施形態に係る符号化装置は、動画像を符号化することによって符号化データを生成するものである。したがって、以下では、これを「動画像符号化装置」と呼称する。
ただし、本発明の適用範囲はこれに限定されるものではない。すなわち、以下の説明からも明らかなように、本発明の特徴は複数のフレームを前提としなくとも成立するものである。すなわち、動画像を対象とするか静止画像を対象とするかを問わず、復号装置一般および符号化装置一般に適用できるものである。
〔符号化データ#1の構成〕
図2を用いて、動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1の構成例について説明する。符号化データ#1は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
シーケンスレイヤでは、処理対象のシーケンスを復号するために、動画像復号装置1が参照するデータの集合が規定されている。シーケンスレイヤにはシーケンスパラメータセットSPS、ピクチャパラメータセットPPS、ピクチャPICTを含んでいる。
符号化データ#1におけるピクチャレイヤ以下の階層の構造を図2に示す。図2の(a)〜(d)は、それぞれ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、ツリーブロック(Tree block)TBLKを規定するツリーブロックレイヤ、ツリーブロックTBLKに含まれる符号化単位(Coding Unit;CU)を規定するCUレイヤを示す図である。
(ピクチャレイヤ)
ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。ピクチャPICTは、図2の(a)に示すように、ピクチャヘッダPH、及び、スライスS1〜SNSを含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
なお、以下、スライスS1〜SNSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する符号化データ#1に含まれるデータであって、添え字を付している他のデータについても同様である。
ピクチャヘッダPHには、対象ピクチャの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれている。
(スライスレイヤ)
スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。スライスSは、図2の(b)に示すように、スライスヘッダSH、及び、ツリーブロックTBLK1〜TBLKNC(NCはスライスSに含まれるツリーブロックの総数)を含んでいる。
スライスヘッダSHには、対象スライスの復号方法を決定するために動画像復号装置1が参照する符号化パラメータ群が含まれる。スライスタイプを指定するスライスタイプ指定情報(slice_type)は、スライスヘッダSHに含まれる符号化パラメータの一例である。
スライスタイプ指定情報により指定可能なスライスタイプとしては、(1)符号化の際にイントラ予測のみを用いるIスライス、(2)符号化の際に単予測、又は、イントラ予測を用いるPスライス、(3)符号化の際に単予測、双予測、又は、イントラ予測を用いるBスライスなどが挙げられる。
また、スライスヘッダSHには、動画像復号装置1の備えるループフィルタによって参照されるフィルタパラメータFPが含まれている。フィルタパラメータFPは、フィルタ係数群を含んでいる。フィルタ係数群には、(1)フィルタのタップ数を指定するタップ数指定情報、(2)フィルタ係数a0〜aNT-1(NTは、フィルタ係数群に含まれるフィルタ係数の総数)、および、(3)オフセットが含まれる。
(ツリーブロックレイヤ)
ツリーブロックレイヤでは、処理対象のツリーブロックTBLK(以下、対象ツリーブロックとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。
ツリーブロックTBLKは、ツリーブロックヘッダTBLKHと、符号化単位情報CU〜CUNL(NLはツリーブロックTBLKに含まれる符号化単位情報の総数)とを含む。ここで、まず、ツリーブロックTBLKと、符号化単位情報CUとの関係について説明すると次のとおりである。
ツリーブロックTBLKは、イントラ予測またはインター予測、および、変換の各処理ためのブロックサイズを特定するためのユニットに分割される。
ツリーブロックTBLKの上記ユニットは、再帰的な4分木分割により分割されている。この再帰的な4分木分割により得られる木構造のことを以下、符号化ツリー(coding tree)と称する。
以下、符号化ツリーの末端のノードであるリーフ(leaf)に対応するユニットを、符号化ノード(coding node)として参照する。また、符号化ノードは、符号化処理の基本的な単位となるため、以下、符号化ノードのことを、符号化単位(CU)とも称する。
つまり、符号化単位情報CU〜CUNLは、ツリーブロックTBLKを再帰的に4分木分割して得られる各符号化ノード(符号化単位)に対応する情報である。
また、符号化ツリーのルート(root)は、ツリーブロックTBLKに対応付けられる。換言すれば、ツリーブロックTBLKは、複数の符号化ノードを再帰的に含む4分木分割の木構造の最上位ノードに対応付けられる。
なお、各符号化ノードのサイズは、当該符号化ノードが直接に属する符号化ノード(すなわち、当該符号化ノードの1階層上位のノードのユニット)のサイズの縦横とも半分である。
また、各符号化ノードの取り得るサイズは、符号化データ#1のシーケンスパラメータセットSPSに含まれる、符号化ノードのサイズ指定情報および最大階層深度(maximum hierarchical depth)に依存する。例えば、ツリーブロックTBLKのサイズが64×64画素であって、最大階層深度が3である場合には、当該ツリーブロックTBLK以下の階層における符号化ノードは、4種類のサイズ、すなわち、64×64画素、32×32画素、16×16画素、および8×8画素の何れかを取り得る。
(ツリーブロックヘッダ)
ツリーブロックヘッダTBLKHには、対象ツリーブロックの復号方法を決定するために動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、図2の(c)に示すように、対象ツリーブロックの各CUへの分割パターンを指定するツリーブロック分割情報SP_TBLK、および、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(qp_delta)が含まれる。
ツリーブロック分割情報SP_TBLKは、ツリーブロックを分割するための符号化ツリーを表す情報であり、具体的には、対象ツリーブロックに含まれる各CUの形状、サイズ、および、対象ツリーブロック内での位置を指定する情報である。
なお、ツリーブロック分割情報SP_TBLKは、CUの形状やサイズを明示的に含んでいなくてもよい。例えばツリーブロック分割情報SP_TBLKは、対象ツリーブロック全体またはツリーブロックの部分領域を四分割するか否かを示すフラグ(split_coding_unit_flag)の集合であってもよい。その場合、ツリーブロックの形状やサイズを併用することで各CUの形状やサイズを特定できる。
また、量子化パラメータ差分Δqpは、対象ツリーブロックにおける量子化パラメータqpと、当該対象ツリーブロックの直前に符号化されたツリーブロックにおける量子化パラメータqp’との差分qp−qp’である。
(CUレイヤ)
CUレイヤでは、処理対象のCU(以下、対象CUとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。
ここで、符号化単位情報CUに含まれるデータの具体的な内容の説明をする前に、CUに含まれるデータの木構造について説明する。符号化ノードは、予測ツリー(prediction tree;PT)および変換ツリー(transform tree;TT)のルートのノードとなる。予測ツリーおよび変換ツリーについて説明すると次のとおりである。
予測ツリーにおいては、符号化ノードが1または複数の予測ブロックに分割され、各予測ブロックの位置とサイズとが規定される。別の表現でいえば、予測ブロックは、符号化ノードを構成する1または複数の重複しない領域である。また、予測ツリーは、上述の分割により得られた1または複数の予測ブロックを含む。
予測処理は、この予測ブロックごとに行われる。以下、予測の単位である予測ブロックのことを、予測単位(prediction unit;PU)とも称する。
予測ツリーにおける分割の種類は、大まかにいえば、イントラ予測の場合と、インター予測の場合との2つがある。
イントラ予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)と、N×Nとがある。
また、インター予測の場合、分割方法は、2N×2N(符号化ノードと同一サイズ)、2N×N、N×2N、および、N×Nなどがある。
また、変換ツリーにおいては、符号化ノードが1または複数の変換ブロックに分割され、各変換ブロックの位置とサイズとが規定される。別の表現でいえば、変換ブロックは、符号化ノードを構成する1または複数の重複しない領域のことである。また、変換ツリーは、上述の分割より得られた1または複数の変換ブロックを含む。
変換処理は、この変換ブロックごとに行われる。以下、変換の単位である変換ブロックのことを、変換単位(transform unit;TU)とも称する。TUのサイズは、変換ブロックの横幅と対数log2TrafoWidthと縦幅の対数値log2TrafoHeightで表される。TUのサイズはまた、以下の式で得られる値log2TrafoSizeでも表される。
log2TrafoSize = ( log2TrafoWidth + log2TrafoHeight ) >> 1
以下、横幅W×縦幅Hのサイズを有するTUをW×HTUと呼ぶ(例:4×4TU)。
(符号化単位情報のデータ構造)
続いて、図2の(d)を参照しながら符号化単位情報CUに含まれるデータの具体的な内容について説明する。図2の(d)に示すように、符号化単位情報CUは、具体的には、スキップモードフラグSKIP、CU予測タイプ情報Pred_type、PT情報PTI、および、TT情報TTIを含む。
[スキップフラグ]
スキップフラグSKIPは、対象CUについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグSKIPの値が1の場合、すなわち、対象CUにスキップモードが適用されている場合、その符号化単位情報CUにおけるPT情報PTIは省略される。なお、スキップフラグSKIPは、Iスライスでは省略される。
[CU予測タイプ情報]
CU予測タイプ情報Pred_typeは、CU予測方式情報PredModeおよびPU分割タイプ情報PartModeを含む。CU予測タイプ情報のことを単に予測タイプ情報と呼ぶこともある。
CU予測方式情報PredModeは、対象CUに含まれる各PUについての予測画像生成方法として、イントラ予測(イントラCU)、および、インター予測(インターCU)のいずれを用いるのかを指定するものである。なお、以下では、対象CUにおける、スキップ、イントラ予測、および、インター予測の種別を、CU予測モードと称する。
PU分割タイプ情報PartModeは、対象符号化単位(CU)の各PUへの分割のパターンであるPU分割タイプを指定するものである。以下、このように、PU分割タイプに従って、対象符号化単位(CU)を各PUへ分割することをPU分割と称する。
PU分割タイプ情報PartModeは、例示的には、PU分割パターンの種類を示すインデックスであってもよいし、対象予測ツリーに含まれる各PUの形状、サイズ、および、対象予測ツリー内での位置が指定されていてもよい。
なお、選択可能なPU分割タイプは、CU予測方式とCUサイズに応じて異なる。また、さらにいえば、選択可能なPU分割タイプは、インター予測およびイントラ予測それぞれの場合において異なる。また、PU分割タイプの詳細については後述する。
[PT情報]
PT情報PTIは、対象CUに含まれるPTに関する情報である。言い換えれば、PT情報PTIは、PTに含まれる1または複数のPUそれぞれに関する情報の集合である。上述のとおり予測画像の生成は、PUを単位として行われるので、PT情報PTIは、動画像復号装置1によって予測画像が生成される際に参照される。PT情報PTIは、図2の(d)に示すように、各PUにおける予測情報等を含むPU情報PUI〜PUINP(NPは、対象PTに含まれるPUの総数)を含む。
予測情報PUIは、予測タイプ情報Pred_modeが何れの予測方法を指定するのかに応じて、イントラ予測パラメータPP_Intra、または、インター予測パラメータPP_Interを含む。以下では、イントラ予測が適用されるPUをイントラPUとも呼称し、インター予測が適用されるPUをインターPUとも呼称する。
インター予測パラメータPP_Interは、動画像復号装置1が、インター予測によってインター予測画像を生成する際に参照される符号化パラメータを含む。
インター予測パラメータPP_Interとしては、例えば、マージフラグ(merge_flag)、マージインデックス(merge_idx)、推定動きベクトルインデックス(mvp_idx)、参照画像インデックス(ref_idx)、インター予測フラグ(inter_pred_flag)、および動きベクトル残差(mvd)が挙げられる。
イントラ予測パラメータPP_Intraは、動画像復号装置1が、イントラ予測によってイントラ予測画像を生成する際に参照される符号化パラメータを含む。
イントラ予測パラメータPP_Intraとしては、例えば、推定予測モードフラグ、推定予測モードインデックス、および、残余予測モードインデックスが挙げられる。
なお、イントラ予測パラメータには、PCMモードを用いるか否かを示すPCMモードフラグが含まれていてもよい。PCMモードフラグが符号化されている場合であって、PCMモードフラグがPCMモードを用いることを示しているときには、予測処理(イントラ)、変換処理、および、エントロピー符号化の各処理が省略される。
[TT情報]
TT情報TTIは、CUに含まれるTTに関する情報である。言い換えれば、TT情報TTIは、TTに含まれる1または複数のTUそれぞれに関する情報の集合であり、動画像復号装置1により残差データを復号する際に参照される。なお、以下、TUのことをブロックと称することもある。
TT情報TTIは、図2の(d)に示すように、対象CUの各変換ブロックへの分割パターンを指定するTT分割情報SP_TU、および、TU情報TUI1〜TUINT(NTは、対象CUに含まれるブロックの総数)を含んでいる。
TT分割情報SP_TUは、具体的には、対象CUに含まれる各TUの形状、サイズ、および、対象CU内での位置を決定するための情報である。例えば、TT分割情報SP_TUは、対象となるノードの分割を行うのか否かを示す情報(split_transform_flag)と、その分割の深度を示す情報(trafoDepth)とから実現することができる。
また、例えば、CUのサイズが、64×64の場合、分割により得られる各TUは、32×32画素から4×4画素までのサイズを取り得る。
TU情報TUI1〜TUINTは、TTに含まれる1または複数のTUそれぞれに関する個別の情報である。例えば、TU情報TUIは、量子化予測残差(量子化残差とも呼ぶ)を含んでいる。
各量子化予測残差は、動画像符号化装置2が以下の処理1〜3を、処理対象のブロックである対象ブロックに施すことによって生成した符号化データである。
処理1:符号化対象画像から予測画像を減算した予測残差を周波数変換(例えばDCT変換(Discrete Cosine Transform))する;
処理2:処理1にて得られた変換係数を量子化する;
処理3:処理2にて量子化された変換係数を可変長符号化する;
なお、上述した量子化パラメータqpは、動画像符号化装置2が変換係数を量子化する際に用いた量子化ステップQPの大きさを表す(QP=2qp/6)。
(PU分割タイプ)
PU分割タイプには、対象CUのサイズを2N×2N画素とすると、次の合計8種類のパターンがある。すなわち、2N×2N画素、2N×N画素、N×2N画素、およびN×N画素の4つの対称的分割(symmetric splittings)、並びに、2N×nU画素、2N×nD画素、nL×2N画素、およびnR×2N画素の4つの非対称的分割(asymmetric splittings)である。なお、N=2(mは1以上の任意の整数)を意味している。以下、対称CUを分割して得られる領域のことをパーティションとも称する。
図3の(a)〜(h)に、それぞれの分割タイプについて、CUにおけるPU分割の境界の位置を具体的に図示している。
図3の(a)は、CUの分割を行わない2N×2NのPU分割タイプを示している。また、図3の(b)、(c)、および(d)は、それぞれ、PU分割タイプが、2N×N、2N×nU、および、2N×nDである場合のパーティションの形状について示している。また、図3の(e)、(f)、および(g)は、それぞれ、PU分割タイプが、N×2N、nL×2N、および、nR×2Nである場合のパーティションの形状について示している。また、図3の(h)は、PU分割タイプが、N×Nである場合のパーティションの形状を示している。
図3の(a)および(h)のPU分割タイプのことを、そのパーティションの形状に基づいて、正方形分割とも称する。また、図3の(b)〜(g)のPU分割タイプのことは、非正方形分割とも称する。
また、図3の(a)〜(h)において、各領域に付した番号は、領域の識別番号を示しており、この識別番号順に、領域に対して処理が行われる。すなわち、当該識別番号は、領域のスキャン順を表している。
[インター予測の場合の分割タイプ]
インターPUでは、上記8種類の分割タイプのうち、N×N(図3の(h))以外の7種類が定義されている。なお、上記6つの非対称的分割は、AMP(Asymmetric Motion Partition)と呼ばれることもある。
また、Nの具体的な値は、当該PUが属するCUのサイズによって規定され、nU、nD、nL、および、nRの具体的な値は、Nの値に応じて定められる。例えば、128×128画素のインターCUは、128×128画素、128×64画素、64×128画素、64×64画素、128×32画素、128×96画素、32×128画素、および、96×128画素のインターPUへ分割することが可能である。
[イントラ予測の場合の分割タイプ]
イントラPUでは、次の2種類の分割パターンが定義されている。対象CUを分割しない、すなわち対象CU自身が1つのPUとして取り扱われる分割パターン2N×2Nと、対象CUを、4つのPUへと対称的に分割するパターンN×Nと、である。
したがって、イントラPUでは、図3に示した例でいえば、(a)および(h)の分割パターンを取ることができる。
例えば、128×128画素のイントラCUは、128×128画素、および、64×64画素のイントラPUへ分割することが可能である。
(TU分割タイプ)
次に、図3(i)〜(o)を用いて、TU分割タイプについて説明する。TU分割のパターンは、CUのサイズ、分割の深度(trafoDepth)、および対象PUのPU分割タイプにより定まる。
また、TU分割のパターンには、正方形の4分木分割と、非正方形の4分木分割とが含まれる。
図3の(i)〜(k)は、正方形のノードを正方形または非正方形に4分木分割する分割方式について示している。より具体的には、図3の(i)は、正方形のノードを正方形に4分木分割する分割方式を示している。また、同図の(j)は、正方形のノードを横長の長方形に4分木分割する分割方式を示している。そして、同図の(k)は、正方形のノードを縦長の長方形に4分木分割する分割方式を示している。
また、図3の(l)〜(o)は、非正方形のノードを正方形または非正方形に4分木分割する分割方式について示している。より具体的には、図3の(l)は、横長の長方形のノードを横長の長方形に4分木分割する分割方式を示している。また、同図の(m)は、横長の長方形のノードを正方形に4分木分割する分割方式を示している。また、同図の(n)は、縦長の長方形のノードを縦長の長方形に4分木分割する分割方式を示している。そして、同図の(o)は、縦長の長方形のノードを正方形に4分木分割する分割方式を示している。
(量子化残差情報QDの構成)
量子化残差情報QDは、最後の非0変換係数の位置や、サブブロック内の非0変換係数の有無、各位置での非0変換係数の有無、変換係数のレベル、符号等の情報を含んでいてもよい。
例えば、量子化残差情報QDは、シンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeff_group_flag、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、coeff_abs_level_remainingを含む構成であってもよい。
変換係数は、低周波数側から高周波数側に向かって順次スキャンが行われる。このスキャン順を、順スキャンと呼ぶこともある。一方で、順スキャンとは逆に高周波数側から低周波数側のスキャンも用いられる。このスキャン順を、逆スキャンと呼ぶこともある。
シンタックスlast_significant_coeff_x及びlast_significant_coeff_yは、順スキャン方向に沿って最後の非0変換係数の位置を示すシンタックスである。なお、各シンタックスをさらにprefixとsuffixに分けて符号化しても構わない。ラスト係数位置のプレフィックスlast_significant_coeff_x_prefix、last_significant_coeff_y_prefixと、ラスト係数位置のサフィックスlast_significant_coeff_x_suffix、last_significant_coeff_y_suffixと、を用いて、ラスト係数位置が導出されても構わない。
シンタックスsignificant_coeff_flagは、非0変換係数を起点として逆スキャン方向に沿った各周波数成分について、非0変換係数の有無を示すシンタックスである。シンタックスsignificant_coeff_flagは、各xC、yCについて、変換係数が0であれば0、変換係数が0でなければ1をとるフラグである。なお、シンタックスsignificant_coeff_flagを変換係数有無フラグ、または単に係数有無フラグとも呼称する。なお、significant_coeff_flagを独立のシンタックスとして扱わず、変換係数の絶対値を表すシンタックス(例えば、coeff_abs_level)に含まれるとしても良い。この場合、シンタックスcoeff_abs_levelの1ビット目がsignificant_coeff_flagに相当し、以下のsignificant_coeff_flagのコンテキストインテックスを導出する処理は、シンタックスcoeff_abs_levelの1ビット目のコンテキストインデックスを導出する処理に相当する。
動画像復号装置1の備える可変長符号復号部11(後述)は、変換ブロックを複数のサブブロックに分割し、サブブロックを処理単位として、significant_coeff_group_flagの復号を行う。量子化残差情報QDには、サブブロック単位で、サブブロック内に少なくとも1つの非0変換係数が存在するか否かを示すフラグ(サブブロック係数有無フラグsignificant_coeff_group_flag)が含まれる。
以下では、復号処理の概要について、図4〜図6を参照して説明する。
まず、図4を用いて、サブブロック分割の例について説明する。図4は、ブロックとサブブロックの関係を示す図である。図4(a)は、4×4TUが4×4成分からなる1個のサブブロックから構成される例を示す。図4(b)は、8×8TUが4×4成分からなる4個のサブブロックから構成される例を示す。図4(c)は、16×16TUが4×4成分からなる16個のサブブロックから構成される例を示す。なお、TUサイズとサブブロックサイズの関係および分割方法はこの例に限らない。
図5(a)は、ブロックを分割して得られる複数の(図5(a)では4×4=16個の)サブブロックに対するスキャン順を示す図である。以下では、サブブロックを単位とするスキャンをサブブロックスキャンとも呼ぶ。サブブロックに対して図5(a)のようにスキャンが行われる場合、サブブロック内の各周波数領域に対して図5(b)に示すスキャン順でスキャンが行われる。図5(a)及び図5(b)に示すスキャン順を「順スキャン」とも呼ぶ。
図5(c)は、ブロックを分割して得られる複数の(図5(b)では4×4=16個の)サブブロックに対するスキャン順を示す図である。サブブロックに対して図5(c)のようにスキャンが行われる場合、サブブロック内の各周波数領域に対して図5(d)に示すスキャン順でスキャンが行われる。図5(c)及び図5(d)に示すスキャン順を「逆スキャン」とも呼ぶ。
図6(a)〜(f)の横軸は、水平方向周波数xC(0≦xC≦7)を表しており、縦軸は、垂直方向周波数yC(0≦yC≦7)を表している。以下の説明では、周波数領域に含まれる各部分領域のうち、水平方向周波数xC、および、垂直方向周波数yCによって指定される部分領域を、周波数成分(xC、yC)とも呼称する。また、周波数成分(xC、yC)についての変換係数をCoeff(xC、yC)とも表記する。変換係数Coeff(0、0)は、DC成分を示しており、それ以外の変換係数は、DC成分以外の成分を表している。本明細書において、(xC、yC)を(u、v)と表記することもある。
図6(a)は、TUサイズが8×8であるブロックが4×4のサイズのサブブロックに分割された場合に、順スキャンにて各周波数成分がスキャンされる場合のスキャン順を示す図である。
図6(b)は、8×8の周波数成分からなる周波数領域における0でない変換係数(非0変換係数)を例示する図である。図6(b)に示す例の場合、last_significant_coeff_x=6、last_significant_coeff_y=0である。
図6(c)は、復号対象の変換係数が、図6(b)に示すものである場合の各サブブロックについて復号されたサブブロック係数有無フラグsignificant_coeff_group_flagの各値を示す図である。少なくとも1つの非0変換係数を含むサブブロックに関するsignificant_coeff_group_flagは、値として1をとり、非0変換係数を1つも含まないサブブロックに関するsignificant_coeff_group_flagは、値として0をとる。
図6(d)は、復号対象の変換係数が、図6(b)に示すものである場合の非0変換係数の有無を示すシンタックスsignificant_coeff_flagの各値を示す図である。significant_coeff_group_flag=1であるサブブロックに対しては、significant_coeff_flagは逆スキャン順に復号され、significant_coeff_group_flag=0であるサブブロックに対しては、当該サブブロックに対するsignificant_coeff_flagの復号処理を行うことなく、当該サブブロックに含まれる全ての周波数成分に対するsignificant_coeff_flagが0に設定される(図6(d)の左下のサブブロック)。
図6(e)は、復号対象の変換係数が、図6(b)に示すものである場合のシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、及びcoeff_abs_level_remainingを復号することによって得られた各変換係数の絶対値を示している。
図6(f)は、復号対象の変換係数が、図6(b)に示すものである場合のシンタックスcoeff_sign_flagを示す図である。
各変換係数の値を示すシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、及びcoeff_abs_level_remainingの復号は、モード(ハイスループットモード)により変化する。サブブロックの開始時には、ハイスループットモードがオフであり、サブブロック内の非0変換係数の数が所定の定数以上となった時点で、ハイスループットモードがオンとなる。ハイスループットモードでは、一部のシンタックスの復号をスキップする。
シンタックスcoeff_abs_level_greater1_flagは、変換係数の絶対値が1を越えるものであるのか否かを示すフラグであり、シンタックスsignificant_coeff_flagの値が1である周波数成分について符号化される。変換係数の絶対値が1を越えるものであるとき、coeff_abs_level_greater1_flagの値は1であり、そうでないときにcoeff_abs_level_greater1_flagの値は0である。なお、coeff_abs_level_greater1_flagの復号は、ハイスループットモードの場合にはスキップされる。
シンタックスcoeff_abs_level_greater2_flagは、変換係数の絶対値が2を越えるものであるのか否かを示すフラグであり、coeff_abs_level_greater1_flagの値が1であるときに符号化される。変換係数の絶対値が2を越えるものであるとき、coeff_abs_level_greater2_flagの値は1であり、そうでないときにcoeff_abs_level_greater2_flagの値は0である。なお、coeff_abs_level_greater2_flagの復号は、各サブブロックで1回目以降、及びハイスループットモードの場合にはスキップされる。
シンタックスcoeff_abs_level_remainingは、変換係数の絶対値が所定のベースレベルbaseLevelである場合に、当該変換係数の絶対値を指定するためのシンタックスであり、coeff_abs_level_greater1_flagの復号がスキップされる場合、coeff_abs_level_greater2_flagがスキップされcoeff_abs_level_greater1_flagが1の場合、coeff_abs_level_greater2_flagの値が1であるときに符号化される。シンタックスcoeff_abs_level_remainingの値は、変換係数の絶対値からbaseLevelを引いたものである。例えば、coeff_abs_level_remaining=1は、変換係数の絶対値がbaseLevel+1であることを示している。なお、baseLevelは以下のように定まる。
baseLevel = 1 (coeff_abs_level_greater1_flagの復号がスキップされた場合)
baseLevel = 2 (上記以外でcoeff_abs_level_greater2_flagの復号がスキップされた場合)
baseLevel = 3 (上記以外でcoeff_abs_level_greater2_flagが1の場合)
シンタックスcoeff_sign_flagは、変換係数の符号(正であるのか負であるのか)を示すフラグであり、サインハイディングが行われる場合を除き、シンタックスsignificant_coeff_flagの値が1である周波数成分について符号化される。シンタックスcoeff_sign_flagは、変換係数が正である場合に1をとり、変換係数が負である場合に0をとる。
なお、サインハイディングとは、変換係数の符号を明示的に符号化せず、計算により算出する方法を言う。
動画像復号装置1の備える可変長符号復号部11は、シンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、coeff_abs_level_remainingを復号することにより、各周波数成分についての変換係数Coeff(xC、yC)を生成することができる。
なお、特定の領域(例えばTU)内の非0変換係数の集合をsignificance mapと呼ぶこともある。
各種シンタックスの復号処理の詳細については、後述することとし、続いて動画像復号装置1の構成について説明を行う。
〔動画像復号装置1〕
以下では、図1、図7〜図26を参照して本実施形態に係る動画像復号装置1について説明する。動画像復号装置1は、H.264/MPEG−4 AVC規格の後継コーデックであるHEVC(High-Efficiency Video Coding)にて提案されている技術を実装している復号装置である。
図7は、動画像復号装置1の構成を示すブロック図である。図7に示すように、動画像復号装置1は、可変長符号復号部11、予測画像生成部12、逆量子化・逆変換部13、加算器14、フレームメモリ15、および、ループフィルタ16を備えている。また、図7に示すように、予測画像生成部12は、動きベクトル復元部12a、インター予測画像生成部12b、イントラ予測画像生成部12c、および、予測方式決定部12dを備えている。動画像復号装置1は、符号化データ#1を復号することによって動画像#2を生成するための装置である。
(可変長符号復号部11)
図8は、可変長符号復号部11の要部構成を示すブロック図である。図8に示すように、可変長符号復号部11は、量子化残差情報復号部111、予測パラメータ復号部112、予測タイプ情報復号部113、および、フィルタパラメータ復号部114を備えている。
可変長符号復号部11は、予測パラメータ復号部112にて、各パーティションに関する予測パラメータPPを、符号化データ#1から復号し、予測画像生成部12に供給する。具体的には、予測パラメータ復号部112は、インター予測パーティションに関しては、参照画像インデックス、推定動きベクトルインデックス、及び、動きベクトル残差を含むインター予測パラメータPP_Interを符号化データ#1から復号し、これらを動きベクトル復元部12aに供給する。一方、イントラ予測パーティションに関しては、推定予測モードフラグ、推定予測モードインデックス、および、残余予測モードインデックスを含むイントラ予測パラメータPP_Intraを符号化データ#1から復号し、これらをイントラ予測画像生成部12cに供給する。
また、可変長符号復号部11は、予測タイプ情報復号部113にて、各パーティションについての予測タイプ情報Pred_typeを符号化データ#1から復号し、これを予測方式決定部12dに供給する。更に、可変長符号復号部11は、量子化残差情報復号部111にて、ブロックに関する量子化残差情報QD、及び、そのブロックを含むTUに関する量子化パラメータ差分Δqpを符号化データ#1から復号し、これらを逆量子化・逆変換部13に供給する。また、可変長符号復号部11は、フィルタパラメータ復号部114にて、符号化データ#1からフィルタパラメータFPを復号し、これをループフィルタ16に供給する。なお、量子化残差情報復号部111の具体的な構成については後述するためここでは説明を省略する。
(予測画像生成部12)
予測画像生成部12は、各パーティションについての予測タイプ情報Pred_typeに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを識別する。そして、前者の場合には、インター予測画像Pred_Interを生成すると共に、生成したインター予測画像Pred_Interを予測画像Predとして加算器14に供給し、後者の場合には、イントラ予測画像Pred_Intraを生成すると共に、生成したイントラ予測画像Pred_Intraを加算器14に供給する。なお、予測画像生成部12は、処理対象PUに対してスキップモードが適用されている場合には、当該PUに属する他のパラメータの復号を省略する。
(動きベクトル復元部12a)
動きベクトル復元部12aは、各インター予測パーティションに関する動きベクトルmvを、そのパーティションに関する動きベクトル残差と、他のパーティションに関する復元済みの動きベクトルmv’とから復元する。具体的には、(1)推定動きベクトルインデックスにより指定される推定方法に従って、復元済みの動きベクトルmv’から推定動きベクトルを導出し、(2)導出した推定動きベクトルと動きベクトル残差とを加算することによって動きベクトルmvを得る。なお、他のパーティションに関する復元済みの動きベクトルmv’は、フレームメモリ15から読み出すことができる。動きベクトル復元部12aは、復元した動きベクトルmvを、対応する参照画像インデックスRIと共に、インター予測画像生成部12bに供給する。
(インター予測画像生成部12b)
インター予測画像生成部12bは、画面間予測によって、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル復元部12aから供給された動きベクトルmvを用いて、同じく動きベクトル復元部12aから供給された参照画像インデックスRIによって指定される適応フィルタ済復号画像P_ALF’から動き補償画像mcを生成する。ここで、適応フィルタ済復号画像P_ALF’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ16によるフィルタ処理を施すことによって得られる画像であり、インター予測画像生成部12bは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ15から読み出すことができる。インター予測画像生成部12bによって生成された動き補償画像mcは、インター予測画像Pred_Interとして予測方式決定部12dに供給される。
(イントラ予測画像生成部12c)
イントラ予測画像生成部12cは、各イントラ予測パーティションに関する予測画像Pred_Intraを生成する。具体的には、まず、可変長符号復号部11から供給されたイントラ予測パラメータPP_Intraに基づいて予測モードを特定し、特定された予測モードを対象パーティションに対して、例えば、ラスタスキャン順に割り付ける。
ここで、イントラ予測パラメータPP_Intraに基づく予測モードの特定は、以下のように行うことができる。(1)推定予測モードフラグを復号し、当該推定予測モードフラグが、処理対象である対象パーティションについての予測モードと、当該対象パーティションの周辺のパーティションに割り付けられた予測モードとが同一であることを示している場合には、対象パーティションに対して、当該対象パーティションの周辺のパーティションに割り付けられた予測モードを割り付ける。(2)一方で、推定予測モードフラグが、処理対象である対象パーティションについての予測モードと、当該対象パーティションの周辺のパーティションに割り付けられた予測モードとが同一でないことを示している場合には、残余予測モードインデックスを復号し、当該残余予測モードインデックスの示す予測モードを対象パーティションに対して割り付ける。
イントラ予測画像生成部12cは、対象パーティションに割り付けられた予測モードの示す予測方法に従って、画面内予測によって、(局所)復号画像Pから予測画像Pred_Intraを生成する。イントラ予測画像生成部12cによって生成されたイントラ予測画像Pred_Intraは、予測方式決定部12dに供給される。なお、イントラ予測画像生成部12cは、画面内予測によって、適応フィルタ済復号画像P_ALFから予測画像Pred_Intraを生成する構成とすることも可能である。
図9を用いて、予測モードの定義について説明する。図9は、予測モードの定義を示している。同図に示すように、36種類の予測モードが定義されており、それぞれの予測モードは、「0」〜「35」の番号(イントラ予測モードインデックス)によって特定される。また、図10に示すように、各予測モードには次のような名称が割り当てられている。すなわち、「0」は、“Intra_Planar(プラナー予測モード、平面予測モード)”であり、「1」は、“Intra DC(イントラDC予測モード)”であり、「2」〜「34」は、“Intra Angular(方向予測)”であり、「35」は、“Intra From Luma”である。「35」は、色差予測モード固有のものであり、輝度の予測に基づいて色差の予測を行うモードである。言い換えれば、色差予測モード「35」は、輝度画素値と色差画素値との相関を利用した予測モードである。色差予測モード「35」はLMモードとも称する。予測モード数(intraPredModeNum)は、対象ブロックのサイズによらず「35」である。
(予測方式決定部12d)
予測方式決定部12dは、各パーティションが属するPUについての予測タイプ情報Pred_typeに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを決定する。そして、前者の場合には、インター予測画像生成部12bにて生成されたインター予測画像Pred_Interを予測画像Predとして加算器14に供給し、後者の場合には、イントラ予測画像生成部12cにて生成されたイントラ予測画像Pred_Intraを予測画像Predとして加算器14に供給する。
(逆量子化・逆変換部13)
逆量子化・逆変換部13は、(1)符号化データ#1の量子化残差情報QDから復号された変換係数Coeffを逆量子化し、(2)逆量子化によって得られた変換係数Coeff_IQに対して逆DCT(Discrete Cosine Transform)変換等の逆周波数変換を施し、(3)逆周波数変換によって得られた予測残差Dを加算器14に供給する。なお、量子化残差情報QDから復号された変換係数Coeffを逆量子化する際に、逆量子化・逆変換部13は、可変長符号復号部11から供給された量子化パラメータ差分Δqpから量子化ステップQPを導出する。量子化パラメータqpは、直前に逆量子化及び逆周波数変換したTUに関する量子化パラメータqp’に量子化パラメータ差分Δqpを加算することによって導出でき、量子化ステップQPは、量子化パラメータqpから例えばQP=2pq/6によって導出できる。また、逆量子化・逆変換部13による予測残差Dの生成は、TUあるいはTUを分割したブロックを単位として行われる。
なお、逆量子化・逆変換部13によって行われる逆DCT変換は、例えば、対象ブロックのサイズが8×8画素である場合、当該対象ブロックにおける画素の位置を(i、j)(0≦i≦7、0≦j≦7)とし、位置(i、j)における予測残差Dの値をD(i、j)と表すことにし、周波数成分(u、v)(0≦u≦7、0≦v≦7)における逆量子化された変換係数をCoeff_IQ(u、v)と表すことにすると、例えば、以下の数式(1)によって与えられる。
Figure 0006190361
ここで、(u、v)は、上述した(xC、yC)に対応する変数である。C(u)およびC(v)は、以下のように与えられる。
・C(u)=1/√2 (u=0)
・C(u)=1 (u≠0)
・C(v)=1/√2 (v=0)
・C(v)=1 (v≠0)
(加算器14)
加算器14は、予測画像生成部12から供給された予測画像Predと、逆量子化・逆変換部13から供給された予測残差Dとを加算することによって復号画像Pを生成する。生成された復号画像Pは、フレームメモリ15に格納される。
(ループフィルタ16)
ループフィルタ16は、(1)復号画像Pにおけるブロック境界、またはパーティション境界の周辺の画像の平滑化(デブロック処理)を行うデブロッキングフィルタ(DF:Deblocking Filter)としての機能と、(2)デブロッキングフィルタが作用した画像に対して、フィルタパラメータFPを用いて適応フィルタ処理を行う適応フィルタ(ALF:Adaptive Loop Filter)としての機能とを有している。
(量子化残差情報復号部111の詳細)
量子化残差情報復号部111は、符号化データ#1に含まれる量子化残差情報QDから、各周波数成分(xC、yC)についての量子化された変換係数Coeff(xC、yC)を復号するための構成である。ここで、xCおよびyCは、周波数領域における各周波数成分の位置を表すインデックスであり、それぞれ、上述した水平方向周波数uおよび垂直方向周波数vに対応するインデックスである。以下では、量子化された変換係数Coeffを、単に、変換係数Coeffと呼ぶこともある。
図11は、量子化残差情報復号部111の構成を示すブロック図である。図11に示すように、量子化残差情報復号部111は、変換係数復号部120及び算術符号復号部130を備えている。
(算術符号復号部130)
算術符号復号部130は、量子化残差情報QDに含まれる各ビットをコンテキストを参照して復号するための構成であり、図1に示すように、コンテキスト記録更新部131及びビット復号部132を備えている。
[コンテキスト記録更新部131]
コンテキスト記録更新部131は、各コンテキストインデックスctxIdxによって管理されるコンテキスト変数CVを記録及び更新するための構成である。ここで、コンテキスト変数CVには、(1)発生確率が高い優勢シンボルMPS(most probable symbol)と、(2)その優勢シンボルMPSの発生確率を指定する確率状態インデックスpStateIdxとが含まれている。
コンテキスト記録更新部131は、変換係数復号部120の備える各部から供給されるコンテキストインデックスctxIdx及びビット復号部132によって復号されたBinの値を参照することによってコンテキスト変数CVを更新すると共に、更新されたコンテキスト変数CVを次回更新されるまで記録する。なお、優勢シンボルMPSは0か1である。また、優勢シンボルMPSと確率状態インデックスpStateIdxは、ビット復号部132がBinを1つ復号する毎に更新される。
また、コンテキストインデックスctxIdxは、各周波数成分についてのコンテキストを直接指定するものであってもよいし、処理対象のTU毎に設定されるコンテキストインデックスのオフセットからの増分値であってもよい(以下同様)。
[ビット復号部132]
ビット復号部132は、コンテキスト記録更新部131に記録されているコンテキスト変数CVを参照し、量子化残差情報QDに含まれる各ビット(Binとも呼ぶ)を復号する。また、復号して得られたBinの値を変換係数復号部120の備える各部に供給する。また、復号して得られたBinの値は、コンテキスト記録更新部131にも供給され、コンテキスト変数CVを更新するために参照される。
(変換係数復号部120)
図1に示すように、変換係数復号部120は、ラスト係数位置復号部121、スキャン順テーブル格納部122、係数復号制御部123、係数有無フラグ復号部、係数値復号部125、復号係数記憶部126、及び、サブブロック係数有無フラグ復号部127を備えている。
[ラスト係数位置復号部121]
ラスト係数位置復号部121は、ビット復号部132より供給される復号ビット(Bin)を解釈し、シンタックスlast_significant_coeff_x及びlast_significant_coeff_yを復号する。復号したシンタックスlast_significant_coeff_x及びlast_significant_coeff_yは、係数復号制御部123に供給される。また、ラスト係数位置復号部121は、算術符号復号部130にてシンタックスlast_significant_coeff_x及びlast_significant_coeff_yのBinを復号するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。
[スキャン順テーブル格納部122]
スキャン順テーブル格納部122には、処理対象のTU(ブロック)のサイズ、スキャン方向の種別を表すスキャンインデックス、及びスキャン順に沿って付与された周波数成分識別インデックスを引数として、処理対象の周波数成分の周波数領域における位置を与えるテーブルが格納されている。
このようなスキャン順テーブルの一例としては、ScanOrderが挙げられる。ScanOrderは、処理対象のTUの横幅のサイズlog2TrafoWidth、処理対象のTUの縦幅のサイズlog2TrafoHeight、スキャンインデックスscanIdx、および、スキャン順に沿って付与された周波数成分識別インデックスnに基づいて、処理対象の周波数成分の周波数領域における位置(xC、yC)を取得するためのテーブルである。なお、以下において、処理対象の周波数成分の周波数領域における位置(xC、yC)のことを、単に係数位置(xC、yC)と称することもある。
また、スキャン順テーブル格納部122に格納されたテーブルは、処理対象のTU(ブロック)のサイズとイントラ予測モードの予測モードインデックスとに関連付けられたスキャンインデックスscanIdxによって指定される。処理対象のTUに用いられた予測方法がイントラ予測である場合には、係数復号制御部123は、当該TUのサイズと当該TUの予測モードとに関連付けられたスキャンインデックスscanIdxによって指定されるテーブルを参照して周波数成分のスキャン順を決定する。
図12は、イントラ予測モードインデックスIntraPredModeと、TUサイズを指定する値log2TrafoSizeとによって指定されるスキャンインデックスscanIdxの例を示している。図12において、log2TrafoSize-2=0は、TUサイズが4×4(4×4画素に対応)であることを示しており、log2TrafoSize-2=1は、TUサイズが8×8(8×8画素に対応)であることを示している。また、log2TrafoSize-2=2およびlog2TrafoSize-2=3は、それぞれ、16×16および32×32のTUサイズを示している。
図12に示すように、例えば、TUサイズが4×4であり、イントラ予測モードインデックスが1であるとき、スキャンインデックス=0が用いられ、TUサイズが4×4であり、イントラ予測モードインデックスが6であるとき、スキャンインデックス=2が用いられる。
図13(a)は、スキャンインデックスscanIdxの各値によって指定されるスキャンタイプScanTypeを示している。図13(a)に示すように、スキャンインデックスが0であるとき、斜め方向スキャン(Up-right diagonal scan)が指定され、スキャンインデックスが1であるとき、水平方向優先スキャン(horizontal fast scan)が指定され、スキャンインデックスが2であるとき、垂直方向優先スキャン(vertical fact scan)が指定される。
なお、CU予測方式情報PredModeがインター予測の場合には、TUサイズを用いてスキャンインデックスを導出することができる。TUサイズが、TUサイズの幅と高さが一致する場合には水平優先および垂直優先以外のスキャン順(スキャンインデックス=0)を使用する。TUサイズの幅と高さが一致しない場合で、TUサイズの幅が高さよりも大きい場合には、水平優先のスキャン順(スキャンインデックス=1)を使用する。一方、TUサイズの高さが幅よりも大きい場合には、垂直優先のスキャン順(スキャンインデックス=2)を使用する。
また、図13(b)〜(d)は、TUサイズが4×4であるときの、スキャンインデックスscanIdxで指定される各スキャンタイプ(水平方向優先スキャン(horizontal fast scan)、垂直方向優先スキャン(vertical fast scan)、及び、斜め方向スキャン(Up-right diagonal scan))のスキャン順の一例を示している。また、図13(b)〜(d)に示す各例は、順スキャン方向を示している。図13(b)に示す水平方向優先スキャンは、サブブロックを上下半分に分割した小サブブロック単位に、水平方向へ斜め1列毎に係数をスキャンすることを特徴とし、水平方向周波数成分に係数が集中する場合に好適である。また、図13(c)に示す垂直方向優先スキャンは、サブブロックを左右半分に分割した小サブブロック単位に垂直方向へ斜め1列毎に係数をスキャンすることを特徴とし、垂直方向周波数成分に係数が集中する場合に好適である。
図14(a)〜(c)は、TUサイズが8×8であり、かつサブブロックサイズが4×4であるときの、スキャンインデックスscanIdxで指定される各スキャンタイプのスキャン順の一例を示している。また、図14(a)〜(c)に示す各例は、順スキャン方向を示している。図14(a)に示す水平方向優先スキャンは、サブブロックを上下半分に分割した小サブブロック単位に、水平方向へ斜め1列毎に係数をスキャンすることを特徴とし、水平方向周波数成分に係数が集中する場合に好適である。また、図14(b)に示す垂直方向優先スキャンは、サブブロックを左右半分に分割した小サブブロック単位に垂直方向へ斜め1列毎に係数をスキャンすることを特徴とし、垂直方向周波数成分に係数が集中する場合に好適である。図14(c)に示す斜め方向スキャンは、右上対角線方向に係数をスキャンすることを特徴とし、係数の分布に方向性がとくにない場合に好適である。
図15は、TUサイズが8×8であり、スキャンインデックスscanIdxによって、サブブロックサイズが異なる場合の各スキャン順の一例を示している。
図15(a)は、TUサイズが8×8であり、サブブロックサイズが8×2であるときの水平方向優先スキャンの一例を示している。図15(a)に示す8×2サブブロック(横長のサブブロック)単位に、水平方向へ斜め1列毎に係数をスキャンする方法は、水平方向周波数成分に係数が集中する場合に好適である。
図15(b)は、TUサイズが8×8であり、サブブロックサイズが2×8であるときの垂直方向優先スキャンの一例を示している。図15(b)に示す2×8サブブロック(縦長のサブブロック)単位に、垂直方向へ斜め1列毎に係数をスキャンする方法は、垂直方向周波数成分に係数が集中する場合に好適である。
図15(c)は、TUサイズが8×8であり、サブブロックサイズが4×4であるときの斜め方向スキャンの一例を示している。
[サブブロックスキャン順テーブル]
また、スキャン順テーブル格納部122には、サブブロックのスキャン順を指定するためのサブブロックスキャン順テーブルが格納されている。サブブロックスキャン順テーブルは、処理対象のTU(ブロック)のサイズとイントラ予測モードの予測モードインデックス(予測方向)とに関連付けられたスキャンインデックスscanIdxによって指定される。処理対象のTUに用いられた予測方法がイントラ予測である場合には、係数復号制御部123は、当該TUのサイズと当該TUの予測モードとに関連付けられたスキャンインデックスscanIdxによって指定されるテーブルを参照してサブブロックのスキャン順を決定する。
[係数復号制御部123]
係数復号制御部123は、量子化残差情報復号部111の備える各部における復号処理の順序を制御するための構成である。
具体的には、係数復号制御部123は、サブブロック分割や、サブブロックスキャン順に従った各サブブロック位置の供給、サブブロック内スキャン順に従った各周波数成分の位置の供給を行う。
係数復号制御部123は、スキャン順および/またはTUサイズに応じてサブブロックサイズを導出し、導出されたサブブロックサイズでTUを分割することでTUをサブブロックに分割する。分割の方法は、図14および図15に示したとおりであるので、ここではその説明を省略する。
係数復号制御部123は、ラスト係数位置復号部121から供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非0変換係数の位置を特定すると共に、特定した最後の非0変換係数を含むサブブロックの位置を起点とするスキャン順であって、スキャン順テーブル格納部122に格納されたサブブロックスキャン順テーブルによって与えられるスキャン順の逆スキャン順に、各サブブロックの位置(xCG、yCG)を、サブブロック係数有無フラグ復号部127に供給する。また、係数復号制御部123は、当該TUのサイズと当該TUの予測モードとに関連付けられたスキャンインデックスscanIdxを、係数有無フラグ復号部124へ供給する。
また、係数復号制御部123は、処理対象となるサブブロックに関して、スキャン順テーブル格納部122に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、当該処理対象となるサブブロックに含まれる各周波数成分の位置(xC、yC)を、係数有無フラグ復号部124及び復号係数記憶部126に供給する。ここで、処理対象となるサブブロックに含まれる各周波数成分のスキャン順としては、イントラ予測の場合には、イントラ予測モードインデックスIntraPredModeと、TUサイズを指定する値log2TrafoSizeとによって指定されるスキャンインデックスscanIdxの示すスキャン順(水平方向優先スキャン、垂直方向優先スキャン、斜め方向スキャンのいずれか)を用い、インター予測の場合には、斜め方向スキャン(Up-right diagonal scan)を用いればよい。
このように、係数復号制御部123は、処理対象の単位領域(ブロック、TU)に適用された予測方式がイントラ予測である場合に、該イントラ予測の予測方向に応じて、サブブロックスキャン順、及びサブブロック内スキャン順を設定する構成である。
一般に、イントラ予測モードと変換係数の偏りとは互いに相関を有しているため、イントラ予測モードに応じてスキャン順を切り替えることにより、サブブロック係数有無フラグ、係数有無フラグの偏りに適したスキャンを行うことができる。これによって、符号化及び復号対象となるサブブロック係数有無フラグおよび係数有無フラグの符号量を削減することができるので、処理量が削減されると共に、符号化効率が向上する。
[サブブロック係数有無フラグ復号部127]
サブブロック係数有無フラグ復号部127は、ビット復号部132から供給される各Binを解釈し、各サブブロック位置(xCG、yCG)によって指定されるシンタックスsignificant_coeff_group_flag[xCG][yCG]を復号する。また、サブブロック係数有無フラグ復号部127は、算術符号復号部130にてシンタックスsignificant_coeff_group_flag[xCG][yCG]のBinを復号するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。ここで、シンタックスsignificant_coeff_group_flag[xCG][yCG]は、サブブロック位置(xCG、yCG)によって指定されるサブブロックに、少なくとも1つの非0変換係数が含まれている場合に1をとり、非0変換係数が1つも含まれていない場合に0をとるシンタックスである。復号されたシンタックスsignificant_coeff_group_flag[xCG][yCG]の値は、復号係数記憶部126に格納される。
なお、サブブロック係数有無フラグ復号部127のより具体的な構成については後述する。
[係数有無フラグ復号部124]
本実施形態に係る係数有無フラグ復号部124は、各係数位置(xC、yC)によって指定されるシンタックスsignificant_coeff_flag[xC][yC]を復号する。復号されたシンタックスsignificant_coeff_flag[xC][yC]の値は、復号係数記憶部126に格納される。また、係数有無フラグ復号部124は、算術符号復号部130にてシンタックスsignificant_coeff_flag[xC][yC]のBinを復号するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。係数有無フラグ復号部124の具体的な構成については後述する。
[係数値復号部125]
係数値復号部125は、ビット復号部132から供給される各Binを解釈し、シンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_remainingを復号すると共に、これらのシンタックスを復号した結果に基づき、処理対象の周波数成分における変換係数(より具体的には非0変換係数)の値を導出する。また、各種シンタックスの復号に用いたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。導出された変換係数の値は、復号係数記憶部126に格納される。
[復号係数記憶部126]
復号係数記憶部126は、係数値復号部125によって復号された変換係数の各値を記憶しておくための構成である。また、復号係数記憶部126には、係数有無フラグ復号部124によって復号されたシンタックスsignificant_coeff_flagの各値が記憶される。復号係数記憶部126によって記憶されている変換係数の各値は、逆量子化・逆変換部13に供給される。
(サブブロック係数有無フラグ復号部127の構成例)
以下では、図16を参照して、サブブロック係数有無フラグ復号部127の具体的な構成例について説明する。
図16は、サブブロック係数有無フラグ復号部127の構成例を示すブロック図である。図16に示すように、サブブロック係数有無フラグ復号部127は、サブブロック係数有無フラグコンテキスト導出部127a、サブブロック係数有無フラグ記憶部127b、及び、サブブロック係数有無フラグ設定部127cを備えている。
以下では、サブブロック係数有無フラグ復号部127に対して、係数復号制御部123から、サブブロック位置(xCG、yCG)が逆スキャン順に供給される場合を例に挙げて説明を行う。なお、この場合、サブブロック係数有無フラグ復号部127に対応する符号化装置側の構成では、サブブロック位置(xCG、yCG)が順スキャン順に供給されることになる。
(サブブロック係数有無フラグコンテキスト導出部127a)
サブブロック係数有無フラグ復号部127の備えるサブブロック係数有無フラグコンテキスト導出部127aは、各サブブロック位置(xCG、yCG)によって指定されるサブブロックに割り付けるコンテキストインデックスを導出する。サブブロックに割り付けられたコンテキストインデックスは、当該サブブロックについてのシンタックスsignificant_coeff_group_flagを示すBinを復号する際に用いられる。また、コンテキストインデックスを導出する際には、サブブロック係数有無フラグ記憶部127bに記憶された復号済みのサブブロック係数有無フラグの値が参照される。サブブロック係数有無フラグコンテキスト導出部127aは、導出したコンテキストインデックスをコンテキスト記録更新部131に供給する。
サブブロックに割り付けるコンテキストインデックスの導出では、サブブロック位置(xCG、yCG)の右隣に位置するサブブロック(xCG+1,yCG)(図17(b)を参照)のサブブロック係数有無フラグと、サブブロック位置(xCG,yCG)の下に位置するサブブロック(xCG,yCG+1)(図17(a)を参照)のサブブロック係数有無フラグとが参照される。
すなわち、サブブロックに割り付けるコンテキストインデックスは、具体的には、サブブロック位置(xCG,yCG)、及びサブブロック係数有無フラグ記憶部127bに記憶された復号済みのサブブロック係数有無フラグの値を用いて導出される。
より詳細には、コンテキストインデックスは、サブブロック位置(xCG、yCG)の右隣に位置するサブブロック(xCG+1,yCG)について復号されている復号済みサブブロック係数有無フラグsignificant_coeff_group_flag[xCG+1][yCG]の値と、サブブロック位置(xCG,yCG)の下に位置するサブブロック(xCG,yCG+1)について復号されている復号済サブブロック係数有無フラグsiginificant_coeff_group_flag[xCG][yCG+1]の値とを参照して次のように設定される。
ctxIdx = ctxIdxOffset + Min ((significant_coeff_group_flag[xCG+1][yCG]+significant_coeff_group_flag[xCG][yCG+1] ), 1)
なお、初期値ctxIdxOffsetは、色空間を示すcIdxにより定まる。なお、(xCG+1,yCG)、あるいは(xCG、yCG+1)に位置する復号済サブブロックが存在しない場合は、(xCG+1、yCG)、あるいは(xCG、yCG+1)に位置するサブブロック係数有無フラグの値をゼロとして扱う。
(サブブロック係数有無フラグ記憶部127b)
サブブロック係数有無フラグ記憶部127bには、サブブロック係数有無フラグ設定部127cによって復号又は設定されたシンタックスsignificant_coeff_group_flagの各値が記憶されている。サブブロック係数有無フラグ設定部127cは、隣接サブブロックに割り付けられたシンタックスsignificant_coeff_group_flagを、サブブロック係数有無フラグ記憶部127bから読み出すことができる。
(サブブロック係数有無フラグ設定部127c)
サブブロック係数有無フラグ設定部127cは、ビット復号部132から供給される各Binを解釈し、シンタックスsignificant_coeff_group_flag[xCG][yCG]を復号または設定する。より具体的には、サブブロック係数有無フラグ設定部127cは、サブブロック位置(xCG、yCG)、及び、サブブロック位置(xCG、yCG)によって指定されるサブブロックに隣接するサブブロック(隣接サブブロックとも呼ぶ)に割り付けられたシンタックスsignificant_coeff_group_flagを参照し、シンタックスsignificant_coeff_group_flag[xCG][yCG]を復号または設定する。また、復号または設定されたシンタックスsignificant_coeff_group_flag[xCG][yCG]の値は、係数有無フラグ復号部124に供給される。
サブブロック係数有無フラグ設定部127cは、図17(c)に示すように、サブブロック(xCG、yCG)に隣接するサブブロック(xCG+1、yCG)に割り付けられたサブブロック係数有無フラグsignificant_coeff_group_flag[xCG+1][yCG]の値とサブブロック(xCG、yCG+1)に割り付けられたサブブロック係数有無フラグsignificant_coeff_group_flag[xCG][yCG+1]の値とを参照し、サブブロック係数有無フラグsignificant_coeff_group_flag[xCG][yCG+1]を復号するために用いるコンテキストインデックスを導出する。
なお、サブブロック係数有無フラグが0とされたブロックでは、係数有無フラグ復号部124が、係数有無フラグsignificant_coeff_flagの復号をスキップすることができるため、復号処理が簡略化される。
図18を用いて、具体的に例示すると次のとおりである。図18(a)に示すように変換係数が分布している場合、それぞれのサブブロックに割り付けられるサブブロック係数有無フラグは、図18(b)に示すとおりとなる。すなわち、4×4のサブブロックのうち、1行目のサブブロックでは、非0変換係数が存在しているが、2行目以降のサブブロックでは、非0変換係数が存在しない。
よって、図18(b)に示す例では、係数有無フラグ復号部124は、2行目以降のサブブロックの復号において、係数有無フラグsignificant_coeff_flagの復号をスキップすることができる。
<<係数有無フラグ復号部124の構成例>>
以下では、図1を参照して、係数有無フラグ復号部124の詳細な構成について説明する。図1は、係数有無フラグ復号部124の構成例を示すブロック図である。係数有無フラグ復号部124は、TUサイズ判定部124a、位置コンテキスト導出部124b、隣接サブブロック係数有無コンテキスト導出部124c、および係数有無フラグ設定部124eを備える。
(TUサイズ判定部124a)
TUサイズ判定部124aには、処理対象の周波数成分の位置(xC,yC)と、変換ブロックの対数値(log2TrafoWidth、log2TrafoHeight)とが入力される。対数値のサイズから、周波数領域の幅widthと高さheightとを、それぞれ(1<<log2TrafoWidth)と(1<<log2TrafoHeight)とにより算出することで、TUサイズを得る。なお、対数値のサイズではなく、周波数領域の幅と高さを直接入力しても良い。
TUサイズ判定部124aは、対象となるTUサイズに応じて、位置コンテキスト導出部124b、または隣接サブブロック係数有無コンテキスト導出部124cを選択する。選択された各コンテキスト導出部ではコンテキストインデックスctxIdxが導出される。
例えば、TUサイズが所定のサイズ以下である場合(例えば、4×4TUである場合)には、TUサイズ判定部124aは、位置コンテキスト導出部124bを選択する。
これに応じて、位置コンテキスト導出部124bは、コンテキストインデックスctxIdxを導出し、導出したコンテキストインデックスを当該復号対象の周波数成分に割り付ける。
一方で、対象となるTUサイズが所定のサイズよりも大きい場合(例えば、8×8TU、16×16TU、32×32TUである場合等)、TUサイズ判定部124aは、隣接サブブロック係数有無コンテキスト導出部124cを選択する。
これに応じて、隣接サブブロック係数有無コンテキスト導出部124cは、コンテキストインデックスctxIdxを導出し、導出したコンテキストインデックスを当該復号対象の周波数成分に割り付ける。
なお、上記に限られず、TUサイズ判定部124aは、4×4TU〜32×32TUまでのTUサイズについて、共通のコンテキストインデックスctxIdx導出処理を実行する構成であっても構わない。すなわち、TUサイズ判定部124aは、TUのサイズによらず、位置コンテキスト導出部124b、及び隣接サブブロック係数有無コンテキスト導出部124cのいずれかを固定的に選択する構成であっても構わない。
(位置コンテキスト導出部124b)
位置コンテキスト導出部124bは、対象周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該対象周波数成分の位置(xC,yC)に基づいて導出する。なお、周波数成分の位置によらず、固定値となるコンテキストインデックスctxIdxを導出する場合、位置コンテキスト導出部124bで当該導出処理を行ってもよい。
(隣接サブブロック係数有無コンテキスト導出部124c)
隣接サブブロック係数有無コンテキスト導出部124cは、隣接サブブロックに非0変換係数があるか否かに応じて、コンテキスト導出パターンを選択し、選択した導出パターンに従って、処理対象の周波数成分のサブブロック内での座標から、復号対象の周波数成分に対するコンテキストインデックスを導出する。その詳細な実施例については後述する。
(係数有無フラグ設定部124e)
係数有無フラグ設定部124eは、ビット復号部132から供給される各Binを解釈し、シンタックスsignificant_coeff_flag[xC][yC]を設定する。設定されたシンタックスsignificant_coeff_flag[xC][yC]は、復号係数記憶部126に供給される。
係数有無フラグ設定部124eは、対象周波数領域がサブブロックに分割されている場合、対象サブブロックに割り付けられたシンタックスsignificant_coeff_group_flag[xCG][yCG]を参照し、significant_coeff_group_flag[xCG][yCG]の値が0である場合には、当該対象サブブロックに含まれる全ての周波数成分についてのsignificant_coeff_flag[xC][yC]を0に設定する。
<<実施例:コンテキストインデックスの変化抑制>>
以下、隣接サブブロック係数有無コンテキスト導出部124cの具体的な実施例について説明する。
具体的には、隣接サブブロック係数有無コンテキスト導出部124cは、以下のとおりにコンテキストインデックスsigCtxを導出する。
まず、隣接サブブロック有無コンテキスト導出部124cは、図17(b)に示す右隣接サブブロックおよび図17(a)に示す下隣接サブブロックを参照し、それぞれの隣接サブブロックにおけるサブブロック係数有無フラグからコンテキスト導出パターンを特定するインデックスであるパターンインデックスidxCGを、以下の式(A)により求める。
idxCG = significant_coeff_group_flag[xCG + 1][yCG] + (significant_coeff_group_flag[xCG][yCG + 1] << 1) … (A)
上記式(A)において、significant_coeff_group_flagは、上述したとおり、サブブロック内に少なくとも1つの非0変換係数が存在するか否かを示すフラグである。サブブロック内に少なくとも1つの非0変換係数が存在する場合、significant_coeff_group_flag の値は“1”であり、存在しない場合、significant_coeff_group_flag の値は“0”である。
significant_coeff_group_flag[xCG+1][yCG]は、サブブロック位置(xCG、yCG)の右隣に位置するサブブロック(xCG+1,yCG)について復号されている復号済みサブブロック係数有無フラグの値を示し、siginificant_coeff_group_flag[xCG][yCG+1]は、サブブロック位置(xCG,yCG)の下に位置するサブブロック(xCG,yCG+1)について復号されている復号済サブブロック係数有無フラグの値を示す。
上記式(A)により、パターンインデックスidxCGは、下記のパターン0〜3において、それぞれ、0〜3の値をとる。
(パターン0) 右隣接サブブロック(xCG+1,yCG)および下隣接サブブロック(xCG,yCG+1)のいずれにおいてもサブブロック係数有無フラグの値が0である場合。
(パターン1) 右隣接サブブロック(xCG+1,yCG)においてサブブロック係数有無フラグの値が1であり、かつ下隣接サブブロック(xCG,yCG+1)においてサブブロック係数有無フラグの値が0である場合。
(パターン2) 右隣接サブブロック(xCG+1,yCG)においてサブブロック係数有無フラグの値が0であり、かつ下隣接サブブロック(xCG,yCG+1)においてサブブロック係数有無フラグの値が1である場合。
(パターン3) 右隣接サブブロック(xCG+1,yCG)および下隣接サブブロック(xCG,yCG+1)の両方においてサブブロック係数有無フラグの値が1である場合。
次に、隣接サブブロック係数有無コンテキスト導出部124cは、上記式(A)により求めたパターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標(xB,yB)から、復号対象の周波数成分に対するコンテキストインデックスを導出する。
なお、サブブロック内での座標(xB,yB)は、TUにおける係数位置(xC、yC)およびサブブロック位置(xCG、yCG)を用いて導出することができる。すなわち、サブブロック内での座標(xB,yB)は、xB=xC−(xCG<<2)、yB=yC−(yCG<<2)により導出することができる。また、サブブロック内での座標(xB,yB)は、TUにおける係数位置(xC、yC)と“3”との演算子“&”によるビット単位の論理和によっても導出することができる。すなわち、座標(xB,yB)は、
xB=xC&3、yB=yC&3
を計算することによっても求めることができる。
図19および図20を用いて隣接サブブロック係数有無コンテキスト導出部124cのコンテキストインデックスの導出方法について説明すると次のとおりである。
図19は、パターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードの一例を示す図である。図19を参照しながら、パターン0〜3のそれぞれの場合において導出されるコンテキストインデックスの値について説明すると次のとおりである。なお、図19におけるx?y:z形式の表記は、以下のような論理演算を表している。すなわち、「xが“真”または“0でない”場合、yの値を評価し、さもなくばzの値を評価する」。以下において同様である。
(パターン0の場合)
パターン0の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = (xB + yB <= 2) ? 1 : 0 によりコンテキストインデックスを導出する。
よって、パターン0の場合、サブブロック内での座標(xB,yB)の水平方向の座標xBと、垂直方向の座標yBとの和が2以下であれば、コンテキストインデックスの値は、“1”であり、そうでなければ、コンテキストインデックスの値は、“0”である。
これにより、コンテキストインデックスの値は、図20(a)に示すような配置となる。
なお、パターン0では、sigCtx = (xB + yB < 3) ? 1 : 0 によりコンテキストインデックスを導出しても構わない。
また、コンテキストインデックスは、sigCtx=0が、非0変換係数の発生確率が低い場合に対応し、sigCtx=2が、非0変換係数の発生確率が高い場合に対応している。また、sigCtx=1は、非0変換係数の発生確率が、高い場合と、低い場合との間の中程度であった場合に対応する。なお、上記例では、sigCtx=0が、非0変換係数の発生確率が低い場合に対応し、sigCtx=2が、非0変換係数の発生確率が高い場合に対応していると説明したが、これに限定されない。代わりに、sigCtx=2が、非0変換係数の発生確率が低い場合に対応し、sigCtx=0が、非0変換係数の発生確率が高い場合に対応するように、コンテキストインデックスの値を設定してもよく、以降の実施例においても同様のことが適用できる。すなわち、以降の実施例において、各インデックスパターンidxCGにおけるサブブロック内の各座標に対応するコンテキストインデックスの値“2”を“0”へ置き換え、各インデックスパターンidxCGにおけるサブブロック内の各座標に対応するコンテキストインデックスの値“0”を“2”へと置き換えて解釈してもよい。
(パターン1の場合)
パターン1の場合、隣接サブブロック係数有無コンテキスト導出部124cは、サブブロック内での座標(xB,yB)と、コンテキストインデックスとを対応付けるテーブルtbl1に基づいて、コンテキストインデックスを導出する。
図19に例示するように、テーブルtbl1は、{1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0}の16個の要素を有する配列である。
隣接サブブロック係数有無コンテキスト導出部124cは、このテーブルtbl1を用いて、sigCtx = tbl1[xB + (yB << 2)] によりコンテキストインデックスを導出する。
これにより、コンテキストインデックスの値は、図20(b)に示すような配置となる。すなわち、配列の1〜4番目の要素が、図20(b)に示すサブブロックの第1行目の(0,0)〜(3,0)にそれぞれ対応している。以下、同様に、配列の5〜8番目、9〜12番目、13〜16番目の要素が、それぞれ、第2行目、第3行目、および第4行目に対応している。
(パターン2の場合)
パターン2の場合、隣接サブブロック係数有無コンテキスト導出部124cは、サブブロック内での座標(xB,yB)と、コンテキストインデックスとを対応付ける別のテーブルtbl2に基づいて、コンテキストインデックスを導出する。
図19に例示するように、テーブルtbl2は、{1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0}の16個の要素を有する配列である。
隣接サブブロック係数有無コンテキスト導出部124cは、このテーブルtbl2を用いて、sigCtx = tbl2[xB + (yB << 2)] によりコンテキストインデックスを導出する。
これにより、コンテキストインデックスの値は、図20(c)に示すような配置となる。すなわち、配列の要素と、図20(c)に示すサブブロック内の座標との対応は、パターン1の場合と同様である。例えば、配列の1〜4番目の要素が、図20(c)に示すサブブロックの第1行目の(0,0)〜(3,0)にそれぞれ対応している。
(パターン3の場合)
パターン3の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = (xB + yB <= 4) ? 2 : 1 によりコンテキストインデックスを導出する。
よって、パターン3の場合、サブブロック内での座標(xB,yB)の水平方向の座標xBと、垂直方向の座標yBとの和が4以下であれば、コンテキストインデックスの値は、“2”であり、そうでなければ、コンテキストインデックスの値は、“1”である。
これにより、コンテキストインデックスの値は、図20(d)に示すような配置となる。
なお、パターン3では、sigCtx = (xB + yB < 5) ? 2 : 1 によりコンテキストインデックスを導出しても構わない。以下、上記の判定を“x以下”とするか、“x+1未満”とするかは、適宜変更可能な事項である。
ここで、上記構成による利点について、従来技術に係る比較例との対比を行いつつ説明する。
まず、サブブロック内のスキャン順は、図21に示すように、斜め方向スキャン(Up-right diagonal scan)であるものとする。なお、図21に示すスキャン順は、順方向である。
変換係数の復号は、逆スキャン順で、図21に示す“15”から“0”にかけて行われる。
(比較例に係る構成)
以下では、図51および図52に示した構成を比較例とする。比較例に係る構成では、パターン0〜3のそれぞれにおいて、逆スキャン順でコンテキストインデックスを配列すると、次のようなシーケンスとなる。
パターン0:0000000000111111
パターン1:0001001100110111
パターン2:0000010011011111
パターン3:1112222222222222
ここで、パターン1と、パターン2とでは、“0”から“1”、または、“1”から“0”に切り替わる回数が多くなっている。
具体的には、パターン1では、“0”から“1”への切り替えが4回、“1”から“0”への切り替えが3回あり、合計7回の切り替えが発生している。
また、パターン2では、“0”から“1”への切り替えが3回、“1”から“0”への切り替えが2回あり、合計5回の切り替えが発生している。
ハードウェアのなかには、逆スキャン順に0の繰り返し数と1の繰り返し数を定義し、定義に従って、サブブロック内の位置に対応するコンテキストインデックスを導出するものがある。このようなハードウェアでは、0と1の切り替え回数が多くなると、当該ハードウェアを実現するために必要な構成の複雑性が増大してしまう。
(実施例に係る構成)
以上に示したように、本実施例に係る動画像復号装置1は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置を備える。算術復号装置は、処理対象の単位領域に対応する対象周波数領域を所定の定義に従って4×4サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、処理対象のサブブロックに隣接するサブブロックにおけるサブブロック係数有無フラグに基づいて、変換係数の分布の方向性を判定する方向性判定手段と、処理対象の上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、上記サブブロックにおいて適用されるスキャン順が、斜め方向スキャンであり、かつ、判定された方向性が、垂直方向である場合、上記4×4サイズのサブブロックの座標を(xB,yB)(ただし、xBを水平方向、yBを垂直方向、サブブロック左上を原点(0,0)とする)とすると、(0,0)〜(0,3)、(1,0)〜(1,2)および(2,0)から構成される領域において、上記領域以外の領域よりも、より変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出する構成である。
また、以上に示したように、本実施例に係る動画像復号装置1は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置を備える。算術復号装置は、処理対象の単位領域に対応する対象周波数領域を所定の定義に従って4×4サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、処理対象のサブブロックに隣接するサブブロックにおけるサブブロック係数有無フラグに基づいて、変換係数の分布の方向性を判定する方向性判定手段と、処理対象の上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに対して割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、上記サブブロックにおいて適用されるスキャン順が、斜め方向スキャンであり、かつ、判定された方向性が、水平方向である場合、上記4×4サイズのサブブロックの座標を(xB,yB)(ただし、xBを水平方向、yBを垂直方向、サブブロック左上を原点(0,0)とする)とすると、(0,0)〜(3,0)、(0,1)〜(2,1)および(0,2)から構成される領域において、上記領域以外の領域よりも、より変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出する構成である。
本実施例に係る隣接サブブロック係数有無コンテキスト導出部124cによれば、パターン1および2における逆スキャン順のコンテキストインデックスのシーケンスは、それぞれ次のとおりとなる。
パターン1:0000001100111111
パターン2:0000000011111111
パターン1では、“0”から“1”への切り替えが2回、“1”から“0”への切り替えが1回あり、切り替え回数は、合計3回である。
パターン2では、切り替え回数は、“0”から“1”への切り替え1回のみである。
上記構成によれば、比較例に係る構成と比べ、大幅に切り替え回数を削減できる。切り替え回数は、多くてもパターン1の3回であり、最小でパターン2の1回である。
このように、上記構成によれば、サブブロック内でのコンテキストインデックスの変化(切り替え)を抑制することができる。このため、上述のように0と1の繰り返し数を定義するようなハードウェアでは、ハードウェアの実装が簡略化される。
なお、順スキャン方向に処理する場合、上記パターン1およびパターン2のシーケンスと逆のシーケンスが得られる。よって、順スキャン方向に処理する場合でも同様の効果を得ることができる。
(変形例)
本発明の変形例について以下に説明する。
<<変形例1:コンテキストインデックスの変化抑制2>>
以下において、図22を用いて、隣接サブブロックに非0変換係数があるか否かの状態に応じて、対象サブブロック内のスキャン順を変更する変形例について説明する。
本変形例では、係数復号制御部123が、図22(a)〜(d)に示すようなスキャン順に従ったサブブロック内スキャン順に従った各周波数成分の位置の供給を行う。
なお、図22(a)〜(e)では、スキャン方向を示す矢印を、すべて順方向で記載しているが、変換係数の復号処理では、矢印の向きとは逆の逆スキャン方向に処理が行われる。
また、以下では、例示的に、図51および52に示したコンテキストインデックスの配置を用いることとする。
以下、パターン0〜3について順に示すと次のとおりである。
パターン0の場合、図22(a)に示すように、係数復号制御部123は、斜め方向スキャン(Up-right diagonal scan)を適用する。
パターン1の場合、図22(b)に示すように、係数復号制御部123は、水平方向優先スキャンを適用する。すなわち、(significant_coeff_group_flag[xCG + 1][yCG],significant_coeff_group_flag[xCG][yCG + 1])=(1,0)である場合、係数復号制御部123は、水平方向優先スキャンを適用する。
パターン2の場合、図22(c)に示すように、係数復号制御部123は、垂直方向優先スキャンを適用する。すなわち、(significant_coeff_group_flag[xCG + 1][yCG],significant_coeff_group_flag[xCG][yCG + 1])=(0,1)である場合、係数復号制御部123は、垂直方向優先スキャンを適用する。
パターン3の場合、図22(d)に示すように、係数復号制御部123は、係数復号制御部123は、斜め方向スキャン(Up-right diagonal scan)を適用する。
[作用・効果]
以上に示したとおり、変形例1に係る動画像復号装置1は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置を備える。算術復号装置は、処理対象の単位領域に対応する対象周波数領域を所定のサイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、処理対象のサブブロックに隣接するサブブロックにおけるサブブロック係数有無フラグに基づいて、変換係数の分布の方向性を判定する方向性判定手段と、上記方向性判定手段により判定された方向性に応じたスキャン順を用いて、変換係数を復号する変換係数復号手段と、を備える構成である。
以上の構成によれば、水平方向に非0変換係数が集中している可能性が高い場合(図22(b))において、水平方向優先スキャンが用いられ、垂直方向に非0変換係数が集中している可能性が高い場合(図22(c))において、垂直方向優先スキャンが用いられる。
このため、非0変換係数の出現確率が高い順にスキャンを行うことができ、これにより符号化効率を向上させることができる。
また、逆スキャン順のコンテキストインデックスのシーケンスは、次のとおりになる。
パターン0:0000000000111111
パターン1:0000000011111111
パターン2:0000000011111111
パターン3:1112222222222222
このため、サブブロック内の逆スキャン順のコンテキストインデックスの0と1の切り替えが高々1回になる。
なお、以上の説明では、パターン0および3において斜め方向スキャン(Up-right diagonal scan)を用いる構成であったが、この代わりに図22(e)に示すようなジグザグスキャンを用いる構成としてもよい。また、上述したスキャン順は、スキャン順テーブル格納部122に格納しておけばよい。
<<変形例2:導出パターン削減>>
以下において、図23および図24を用いて、隣接サブブロックの非0変換係数の有無の個数に応じてコンテスト導出パターンを切り替える変形例について説明する。
本変形例では、隣接サブブロック係数有無コンテキスト導出部124cが、隣接サブブロック(右隣接および下隣接)におけるサブブロック係数有無フラグからコンテキスト導出パターンを特定するインデックスであるパターンインデックスidxCGを、以下の式(B)により求める。
idxCG = significant_coeff_group_flag[xCG + 1][yCG] + significant_coeff_group_flag[xCG][yCG + 1] … (B)
上記式(B)により、パターンインデックスidxCGは、下記のパターン0〜2において、それぞれ、0〜2の値をとる。
(パターン0) 右隣接サブブロック(xCG+1,yCG)および下隣接サブブロック(xCG,yCG+1)のいずれにおいてもサブブロック係数有無フラグの値が0である場合。
(パターン1) 右隣接サブブロック(xCG+1,yCG)および下隣接サブブロック(xCG,yCG+1)のうちの一方においてサブブロック係数有無フラグの値が1であり、他方においてサブブロック係数有無フラグの値が0である場合。
(パターン2) 右隣接サブブロック(xCG+1,yCG)および下隣接サブブロック(xCG,yCG+1)の両方においてサブブロック係数有無フラグの値が1である場合。
また、本変形例では、隣接サブブロック係数有無コンテキスト導出部124cが、図23に示す方法にてコンテキストインデックスを導出する。
図23は、式(B)から得られるパターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードの他の例を示す図である。
図23を参照しながら、パターン0〜3のそれぞれの場合において導出されるコンテキストインデックスの値について説明すると次のとおりである。
(パターン0の場合)
パターン0の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = (xB + yB <= 2) ? 1 : 0 によりコンテキストインデックスを導出する。
すなわち、パターン0の場合は、上記実施例のパターン0の場合と同様である。よって、コンテキストインデックスの値は、図24(a)に示すような配置となる。
(パターン1の場合)
パターン1の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = (xB + yB <= 3) ? 1 : 0 によりコンテキストインデックスを導出する。
よって、パターン1の場合、サブブロック内での座標(xB,yB)の水平方向の座標xBと、垂直方向の座標yBとの和が3以下であれば、コンテキストインデックスの値は、“1”であり、そうでなければ、コンテキストインデックスの値は、“0”である。
これにより、コンテキストインデックスの値は、図24(b)に示すような配置となる。
(パターン2の場合)
パターン2の場合、隣接サブブロック有無コンテキスト導出部124cは、sigCtx = (xB + yB <= 4) ? 2 : 1 によりコンテキストインデックスを導出する。
すなわち、パターン2の場合は、上記実施例のパターン3の場合と同様である。よって、コンテキストインデックスの値は、図24(c)に示すような配置となる。
<<変形例2−1>>
以下において、図54、図55を用いて、変形例2のパターン0、パターン1に関して、3つの段階を有するコンテキストインデックスの導出方法を用いる変形例について説明する。変形例2に係るコンテキストインデックスの値の配置では、パターン0〜1(図24(a)、(b))ではsigCtx=0 or 1であり、パターン2(図24(c))では、sigCTx=1 or 2であるように、各パターンにおいて2段階の値を取っている。この段階を増やすことにより、実際の変換係数の発生状況により適合したコンテキストインデックスの値の配置を実現することができる。図54は、変形例2−1に係る、上記式(B)から得られるパターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードである。図55は、図54に示す疑似コードによるコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。
なお、本変形例2−1は、導出パターン削減に係る上記変形例2を、後述する変形例5と組み合わせたものと表現することもできる。
(パターン0の場合)
パターン0の場合、隣接サブブロック係数有無コンテキスト導出部124cは、xB+yBの値に応じて、次のようにコンテキストインデックスを導出する。
xB+yBが、TH1以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=2を導出する。また、xB+yBが、TH1より大きく、かつTH2以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=1を導出する。これら以外の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=0を導出する。ここで、閾値TH1=0、TH2=2とすれば、コンテキストインデックスの値は、図55(a)に示すような配置となる。
(パターン1の場合)
パターン1の場合、隣接サブブロック有無コンテキスト導出部124cは、xB+yBの値に応じて、次のようにコンテキストインデックスを導出する。
xB+yBが、TH3以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=2を導出する。また、xB+yBが、TH3より大きく、かつTH4以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=1を導出する。これら以外の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=0を導出する。ここで、閾値TH3=1、TH4=3とすれば、コンテキストインデックスの値は、図55(b)に示すような配置となる。
(パターン2の場合)
例示的に、閾値TH5=4とする。閾値TH5=4の場合は、変形例2におけるパターン2(図24(c))と同様であるため、説明を省略する。
なお、閾値TH1、TH2、TH3、TH4に関しては、各パターンにおける非ゼロ変換係数の発生確率の偏りを考慮し、それぞれ、TH1<TH3、TH2<TH4となるように設定することが好ましい。
発明者による実験では、変形例2−1は特にイントラ予測ブロックにおいて、変形例2に比べてさらに符号化効率向上ができることを確認している。変形例2−1の要素は、パターン0、パターン1において最左上から第1の距離(パターン0:xB+yB<=TH1、パターン1:xB+yB<=TH3)の位置のコンテキストインデックスの値を発生確率が高いことを示す2とし、第1の距離から第2の距離(パターン0:TH1<xB+yB<=TH2、パターン1:TH3<xB+yB<=TH4)の位置のコンテキストインデックスの値を発生確率が中程度であることを示す1とし、それ以外の位置のコンテキストインデックスの値を発生確率が低いことを示す0と、している。
また、閾値TH5に関して言えば、閾値TH5は、上述のとおりTH4≦TH5となるように設定することができる。
[作用・効果]
以上に示したように、変形例2に係る動画像復号装置1は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置を備える。算術復号装置は、処理対象の単位領域に対応する対象周波数領域を所定のサイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、サブブロック係数有無フラグに基づいて、処理対象のサブブロックに隣接する各サブブロックについて、非0変換係数が少なくとも1つ含まれるサブブロックの数を計上する係数有サブブロック数計上手段と、上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、係数有サブブロック数計上手段により計上された数に応じて、処理対象の変換係数の上記処理対象のサブブロックにおける水平方向の座標および垂直方向の座標の和を用いて上記コンテキストインデックスを導出する構成である。
上記構成では、サブブロック係数有無フラグが、右隣接サブブロックにおけるものであるか、下隣接サブブロックにおけるものであるかを区別しないで済む。
このため、上記実施例に比べて、コンテキスト導出パターン数を削減することができる。また、各パターンにおける比較が、すべて“xB+yB”と所定の閾値の比較となる。また、図24(a)〜(c)に示す配置では、斜め方向スキャン(Up-right diagonal scan)に関し、サブブロック内でのスキャン順でのコンテキストインデックスの切り替え回数が、1回のみになり、ハードウェアでの実装が簡略化される。
以上に示した変形例2−1に係る動画像復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置を備える。算術復号装置は、処理対象の単位領域に対応する対象周波数領域を所定のサイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、サブブロック係数有無フラグに基づいて、処理対象のサブブロックに隣接する各サブブロックについて、非0変換係数が少なくとも1つ含まれるサブブロックの数を計上する係数有サブブロック数計上手段と、上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、係数有サブブロック数計上手段により計上された数に応じて、処理対象の変換係数の上記処理対象のサブブロックにおける水平方向の座標および垂直方向の座標の和を用いて、非0変換係数の発生確率が低い場合、非0変換係数の発生確率が高い場合、および、非0変換係数の発生確率が、高い場合と、低い場合との間の中程度である場合にそれぞれ対応する上記コンテキストインデックスを、処理対象のサブブロックにおける処理対象の変換係数の位置に応じて導出する構成である。
上記構成では、サブブロック係数有無フラグが、右隣接サブブロックにおけるものであるか、下隣接サブブロックにおけるものであるかを区別しないで済む。
このため、上記実施例に比べて、コンテキスト導出パターン数を削減することができる。また、各パターンにおける比較が、すべて“xB+yB”と所定の閾値の比較となる。また、図55(a)〜(b)に示す配置では、斜め方向スキャン(Up-right diagonal scan)に関し、サブブロック内でのスキャン順でのコンテキストインデックスの切り替え回数が、2回のみになり、ハードウェアでの実装が簡略化される。
さらに、上記コンテキストインデックス導出手段は、処理対象のサブブロックに隣接する2つ以上のサブブロックにおいて非0変換係数が存在しないと判定されたとき、該判定結果に基づいて、非0変換係数の発生確率が低い場合、非0変換係数の発生確率が高い場合、および、非0変換係数の発生確率が、高い場合と、低い場合との間の中程度である場合にそれぞれ対応する上記コンテキストインデックスを、処理対象のサブブロックにおける処理対象の変換係数の位置に応じて導出する構成であり、符号化効率の向上を図ることができる。特に処理対象のサブブロック内の左上の位置において、非0変換係数の発生確率が高い場合を割り当てる構成が好適である。
また、上記コンテキストインデックス導出手段は、処理対象のサブブロックに隣接する1つ以上のサブブロックにおいて非0変換係数が存在すると判定され、1つ以上のサブブロックにおいて非0変換係数が存在しないと判定されたとき、該判定結果に基づいて、非0変換係数の発生確率が低い場合、非0変換係数の発生確率が高い場合、および、非0変換係数の発生確率が、高い場合と、低い場合との間の中程度である場合にそれぞれ対応する上記コンテキストインデックスを、処理対象のサブブロックにおける処理対象の変換係数の位置に応じて導出する構成であり、符号化効率の向上を図ることができる。特に右、または下に隣接するサブブロックにおいて非0変換係数が存在すると判定され、処理対象のサブブロック内の左上から斜め方向に第1列目と第2列目に非0変換係数の発生確率が高い場合を割り当てる構成が好適である。また、サブブロック内の左上から斜め方向に第3列目と第4列目に非0変換係数の発生確率が中程度である場合を割り当てる構成が好適である。
以上、変形例2−1によれば、変形例2に比べて、実際の変換係数の発生確率に、より適合したコンテキスト導出パターンを実現することができ、これにより符号化効率の向上を図ることができる。
<<変形例3:2×2パターン>>
4×4サイズのサブブロックの座標は、X座標およびY座標のそれぞれについて、0〜3(2ビット)の値を取る。以下では、図25および図26を用いて、サブブロック座標の下位ビットを用いずにコンテキストインデックスを導出する変形例について説明する。すなわち、以下に示す変形例では、2×2サイズの単位でコンテキストインデックスを導出する。
本変形例では、隣接サブブロック係数有無コンテキスト導出部124cが、パターンインデックスidxCGを、上記式(A)により求めるとともに、これより得られるパターン0〜3に応じて、図25に示す方法にてコンテキストインデックスを導出する。
図25は、式(A)から得られるパターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードの別の例を示す図である。図26は、図25に示す疑似コードによるコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。
図25および図26を参照しながら、パターン0〜3のそれぞれの場合において導出されるコンテキストインデックスの値について説明すると次のとおりである。
(パターン0の場合)
パターン0の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = ((xB >> 1) + (yB >> 1) <= 0) ? 1 : 0 によりコンテキストインデックスを導出する。
これにより、コンテキストインデックスの値は、図26(a)に示すような配置となる。すなわち、図26(a)に示すように、サブブロックを左上、右上、左下、および右下の4つの2×2サイズの部分領域に分割した場合における左上の部分領域において、コンテキストインデックスの値が1となり、それ以外の部分領域では、コンテキストインデックスの値が0となる。
(パターン1の場合)
パターン1の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = ((yB >> 1) <= 0) ? 1 : 0 によりコンテキストインデックスを導出する。
これにより、コンテキストインデックスの値は、図26(b)に示すような配置となる。すなわち、図26(b)に示すように、サブブロック内の左上および右上の部分領域において、コンテキストインデックスの値が1となり、サブブロック内の左下および右下の部分領域では、コンテキストインデックスの値が0となる。
(パターン2の場合)
パターン2の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = ((xB >> 1) <= 0) ? 1 : 0 によりコンテキストインデックスを導出する。
これにより、コンテキストインデックスの値は、図26(c)に示すような配置となる。すなわち、図26(c)に示すように、サブブロック内の左上および左下の部分領域において、コンテキストインデックスの値が1となり、サブブロック内の右上および右下の部分領域では、コンテキストインデックスの値が0となる。
(パターン3の場合)
パターン3の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = ((xB >> 1) + (yB >> 1) <= 1) ? 2 : 1 によりコンテキストインデックスを導出する。
これにより、コンテキストインデックスの値は、図26(d)に示すような配置となる。すなわち、図26(d)に示すように、サブブロック内の左上、右上および左下の部分領域において、コンテキストインデックスの値が2となり、サブブロック内の右下の部分領域では、コンテキストインデックスの値が1となる。
変形例3に係る動画像復号装置1のコンテキストインデックス導出方法とは、図25に示すようにサブブロック内の座標(xB、yB)の下位1ビットを参照しない導出方法である。また、変形例3に係るコンテキストインデックスの値の配置とは、図26に示すように、サブブロックを構成するさらに小さなブロック(ここでは2×2ブロック)内のコンテキストインデックスの値を一様とする構成である。
[作用・効果]
以上に示したように、変形例3に係る動画像復号装置1は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置を備える。算術復号装置は、処理対象の単位領域に対応する対象周波数領域を所定の定義に従って4×4サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、処理対象のサブブロックに隣接する各サブブロックについて復号されたサブブロック係数有無フラグの値のパターンを判定するパターン判定手段と、上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、パターン判定手段の判定結果に応じて、処理対象の変換係数の上記処理対象のサブブロックにおける水平方向および垂直方向それぞれの座標の(2ビット表現における)上位ビットを用いて、上記コンテキストインデックスを導出する構成である。
上記構成によれば、上位ビット(4ビット)の入力情報で、コンテキストインデックス導出処理を実現することができる。具体的には、サブブロック内のX座標の上位ビット(1bit)、サブブロック内のY座標の上位ビット(1bit)、X方向の隣接サブブロックにおけるサブブロック係数有無フラグ(1bit)、およびX方向の隣接サブブロックにおけるサブブロック係数有無フラグ(1bit)の計4ビットである。
また、4ビットの入力から、0〜2(2ビット)の出力を導出すればよいので、簡易なビット演算によりコンテキストインデックス導出処理を実現できる。具体的に説明すると以下のとおりである。
まず、x1、y1、x2、および、y2(それぞれ1bit)を以下のとおり定義する。
x1 = xB = (xC - (xCG << 2)) >> 1
y1 = yB = (yC - (yCG << 2)) >> 1
x2 = signifcanet_coeff_group_flag[xCG+1][yCG]
y2 = significant_coeff_group_flag[xCG][yCG+1]
このとき、以下の論理演算にてコンテキストインデックス導出処理を実現できる。
sigCtx = ( (x2 & y2) & ((y2 & !y1) | (x2 & !x1) )<<1) | ( (x2 & y2) & ( x1 & y1 ) ) |
(!x2 & !y2) & (!x1 & !y1) |
(!x2 & y2 & !x1) |
(y2 & !x2 & !y1)
これにより、コンテキストインデックス導出処理において条件分岐を排除することができる。
<<変形例4:2×2パターン2>>
以下において、図27を用いて、対象サブブロック内のスキャン順として2×2単位のスキャン順を単位としたスキャン順を用いる変形例について説明する。
本変形例では、係数復号制御部123が、図27(a)および図27(b)に示すようなスキャン順に従ったサブブロック内スキャン順に従った各周波数成分の位置の供給を行う。
なお、図22(a)〜(e)では、スキャン方向を示す矢印を、すべて順方向で記載しているが、変換係数の復号処理では、矢印の向きとは逆の逆スキャン方向に処理が行われる。また、コンテキストインデックスの配置は、図51および図52に示したものに限られず、任意に設定することができる。
図27(a)に示すように、係数復号制御部123は、サブロック内の部分領域単位のスキャン順を、左上、左下、右上、および右下の順にしてもよい。また、係数復号制御部123は、各2×2サイズの部分領域内の周波数成分のスキャン順を、左上、左下、右上、および右下の順にしてもよい。
また、係数復号制御部123は、図27(a)に示すスキャン順を、垂直方向に非0変換係数が集中している可能性が高い場合に採用してもよい。
また、図27(b)に示すように、係数復号制御部123は、サブロック内の部分領域単位のスキャン順を、左上、右上、左下、および右下の順にしてもよい。また、係数復号制御部123は、各2×2サイズの部分領域内の周波数成分のスキャン順を、左上、右上、左下、および右下の順にしてもよい。
また、係数復号制御部123は、図27(b)に示すスキャン順を、水平方向に非0変換係数が集中している可能性が高い場合に採用してもよい。
なお、上述したスキャン順は、スキャン順テーブル格納部122に格納しておけばよい。
[作用・効果]
変形例4に係る動画像復号装置1は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置を備える。算術復号装置は、処理対象の単位領域に対応する対象周波数領域を所定の定義に従って4×4サイズのサブブロックに分割するサブブロック分割手段と、上記4×4サイズのサブブロックを4分割して得られる2×2サイズの部分領域それぞれについて、該部分領域内のスキャン順を用いて、変換係数を復号する変換係数復号手段と、を備える構成である。
上記構成によれば、スキャン順上において座標(例えば、スキャン順上隣り合う周波数成分の座標)が大幅に変化することを抑制することができるため、空間的に同種の特性を有する変換係数を順に復号することができる。その結果、符号化効率が向上する。
また、サブブロック内でのスキャン順でのコンテキストインデックの切り替えが抑制される。
例えば、図26(a)〜(d)に示すコンテキストインデックスの値の配置を採用した場合、逆スキャン順におけるコンテキストインデックスの0と1の切り替えは高々1回になる。
また、これに限られず、図26(a)〜(d)に示したコンテキストインデックスの値の配置以外の配置に適用することが可能である。例えば、図52(c)のコンテキストインデックスの値の配置に対して、図27(a)に示すスキャン順を採用し、図52(b)のコンテキストインデックスの値の配置に対して、図27(b)に示すスキャン順を採用した場合、切り替え回数を1回に抑えることができる。
<<変形例5:別パターン>>
以下において、図28〜32を用いて、所定のコンテキスト導出パターンにおいて、3つの段階を有するコンテキストインデックス導出方法を用いる変形例について説明する。
これまで説明したコンテキストインデックスの値の配置では、2段階の値による配置であった。例えば、図51および図52を用いて示した従来技術に係るコンテキストインデックスの値の配置では、パターン0〜2ではsigCtx=0 or 1であり、パターン3では、sigCTx=1 or 2であるように、各パターンにおいて2段階の値を取っていた。この段階を増やすことにより、実際の変換係数の発生状況により適合したコンテキストインデックスの値の配置を実現することができる。
本変形例では、隣接サブブロック係数有無コンテキスト導出部124cが、上記式(A)にて、パターンインデックスidxCG(パターン0〜3)を求める。そして、隣接サブブロック係数有無コンテキスト導出部124cは、パターン0〜2において、3つの段階を有するコンテキストインデックス導出方法を用いる。また、パターン1および2において、それぞれ、サブブロックのY座標yB=0、サブブロックのX座標xB=0の位置で符号化効率が最も高いことを示すコンテキストを用いる。以下において具体的な変形例について説明する。
<変形例5−1>
図28および図29を用いて、変形例5−1について説明する。図28は、式(A)から得られるパターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードのさらに別の例を示す図である。図29は、図28に示す疑似コードによるコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。
図28および図29を参照しながら、パターン0〜3のそれぞれの場合において導出されるコンテキストインデックスの値について説明すると次のとおりである。なお、図29に示す網掛け部分は、図52に示すコンテキストインデックスの値の配置からの変更部分である。
(パターン0の場合)
パターン0の場合、隣接サブブロック係数有無コンテキスト導出部124cは、xB+yBの値に応じて、次のようにコンテキストインデックスを導出する。
xB+yBが、0以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=2を導出する。また、xB+yBが、0より大きく、かつ2以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=1を導出する。これら以外の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=0を導出する。これにより、コンテキストインデックスの値は、図29(a)に示すような配置となる。
(パターン1の場合)
パターン1の場合、隣接サブブロック係数有無コンテキスト導出部124cは、yBの値に応じて、次のようにコンテキストインデックスを導出する。
yBが、0以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=2を導出する。また、yBが、0より大きく、かつ1以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=1を導出する。これら以外の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=0を導出する。これにより、コンテキストインデックスの値は、図29(b)に示すような配置となる。
すなわち、図29(b)に示すように、サブブロックの第1行目では、コンテキストインデックスの値が2となり、サブブロックの第2行目では、コンテキストインデックスの値が1となる。また、サブブロックの第3行目および第4行目では、コンテキストインデックスの値が0となる。
(パターン2の場合)
パターン2の場合、隣接サブブロック係数有無コンテキスト導出部124cは、xBの値に応じて、次のようにコンテキストインデックスを導出する。
xBが、0以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=2を導出する。また、xBが、0より大きく、かつ1以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=1を導出する。これら以外の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=0を導出する。これにより、コンテキストインデックスの値は、図29(c)に示すような配置となる。
すなわち、図29(c)に示すように、サブブロックの第1列目では、コンテキストインデックスの値が2となり、サブブロックの第2列目では、コンテキストインデックスの値が1となる。また、サブブロックの第3列目および第4列目では、コンテキストインデックスの値が0となる。
(パターン3の場合)
パターン3の場合、図29(d)に示すように隣接サブブロック係数有無コンテキスト導出部124cは、xBおよびyBの値によらずサブブロック内で一様にsigCtx=2を導出する。
なお、変形例5−1の場合に関するコンテキストインデックスの配置を図56に示す疑似コードによって実現してもよい。図56は、図29に示すコンテキストインデックスの値の配置を実現する別の疑似コードの一例である。さらにいえば、図56に示す疑似コードは、図29に示す疑似コードにおいて、大小関係判定の境界値を変更したり、大小関係判定を同値判定に変更したりしたものである。図56に示す疑似コードによれば、図29に示す疑似コードと同様、図29に示すコンテキストインデックス値の配置を実現することができる。
<変形例5の一般的構成>
図30を用いて、変形例5のコンテキストインデックスを導出するための疑似コードの一般的構成について説明する。一般的構成は所定の閾値TH1、TH2、TH3、TH4、TH5を用いて導出される。
(パターン0の場合)
パターン0の場合、隣接サブブロック係数有無コンテキスト導出部124cは、xB+yBの値に応じて、次のようにコンテキストインデックスを導出する。
xB+yBが、TH1以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=2を導出する。また、xB+yBが、TH1より大きく、かつTH2以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=1を導出する。これら以外の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=0を導出する。
(パターン1の場合)
パターン1の場合、隣接サブブロック有無コンテキスト導出部124cは、yBの値に応じて、次のようにコンテキストインデックスを導出する。
yBが、TH3以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=2を導出する。また、yBが、TH3より大きく、かつTH4以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=1を導出する。これら以外の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=0を導出する。これにより、コンテキストインデックスの値は、図31(b)に示すような配置となる。
すなわち、サブブロックのTH3−1番目以下の行では、コンテキストインデックスの値が2となり、サブブロックのTH3番目からTH4−1番目の行では、コンテキストインデックスの値が1となる。また、サブブロックのTH4番目の行では、コンテキストインデックスの値が0となる。
(パターン2の場合)
パターン2の場合、隣接サブブロック係数有無コンテキスト導出部124cは、xBの値に応じて、次のようにコンテキストインデックスを導出する。
xBが、TH3以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=2を導出する。また、xBが、TH3より大きく、かつTH4以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=1を導出する。これら以外の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=0を導出する。
すなわち、サブブロックのTH3−1番目以下の列では、コンテキストインデックスの値が2となり、サブブロックのTH3番目からTH4−1番目の列では、コンテキストインデックスの値が1となる。また、サブブロックのTH4番目の列では、コンテキストインデックスの値が0となる。
(パターン3の場合)
パターン3の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = (xB + yB <= TH5) ? 2 : 1 によりコンテキストインデックスを導出する。
よって、パターン3の場合、サブブロック内での座標(xB,yB)の水平方向の座標xBと、垂直方向の座標yBとの和がTH5以下であれば、コンテキストインデックスの値は、“2”であり、そうでなければ、コンテキストインデックスの値は、“1”である。
既に説明した変形例5−1は、TH1=0、TH2=2、TH3=0、TH4=1、TH5=6の例である。発明者による実験では、変形例5−1は特にイントラ予測ブロックにおいて、図51、図52の比較例に比べ符号化効率向上が実現できることを確認している。変形例5−1の要素は、パターン0において左上の位置のコンテキストインデックスの値を発生確率が高いことを示す2とすること、パターン1、パターン2において、1行目、1列目のコンテキストインデックスの値を発生確率が高いことを示す2とすること、パターン3においてコンテキストインデックスの値を固定値(ここでは発生確率が高いことを示す2)とすること、である。発明者による実験では、パターン1、2の変更により、符号化効率の大きな向上があること、パターン0の変更により符号化効率の中程度の向上があること、パターン3の変更のような簡略化において符号化効率の低下がないことを確認している。
なお、パターン0は、符号化効率上は、TH1を0以上、TH2を6未満とすることが適当である。パターン1、2は、符号化効率上は、TH3を0以上、TH4を6未満とすることが適当である。パターン3は、簡略化上は、TH5を6以上とすることが適当である。
以下、図31〜図33、および図53を用いて、さらに変形例5−2、変形例5−3、変形例5−4、変形例5−5について説明する。
<変形例5−2>
図31を用いて、変形例5−2について説明する。変形例5−2は、TH1=−1、TH2=2、TH3=0、TH4=1、TH5=6の例である。変形例5−2の要素は、パターン1、パターン2において、第1行目、第1列目のコンテキストインデックスの値を2とすること、パターン3においてコンテキストインデックスの値を固定値(ここでは2)とすること、である。
図31は、変形例5−2のコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。図31を参照しながら、パターン0〜3のそれぞれの場合において導出されるコンテキストインデックスの値について説明すると次のとおりである。なお、図31に示す網掛け部分は、図52に示すコンテキストインデックスの値の配置からの変更部分である。
(パターン0の場合)
図31(a)に示すように、図51、図52の比較例と同じ導出方法、同じ値の配置である。
(パターン1〜3の場合)
図31(b)〜(c)にそれぞれ示すように、図28、図29の変形例5−1と同じ導出方法、同じ値の配置である。
なお、変形例5−2の場合に関するコンテキストインデックスの配置を図57に示す疑似コードによって実現してもよい。図57は、図31に示すコンテキストインデックスの値の配置を実現する別の疑似コードの一例である。
より具体的には、図57に示す疑似コードは、図31に示すコンテキストインデックスの値の配置を実現することができるように、TH1=−1、TH2=2、TH3=0、TH4=1、TH5=6とした図30の疑似コードにおいて、適宜、大小関係判定の境界値の変更、および、大小関係判定の同値判定への変更等を施したものである。
図57に示す疑似コードによれば、図30に示す疑似コードにおいて、TH1=−1、TH2=2、TH3=0、TH4=1、TH5=6とした場合と同様、図31に示すコンテキストインデックスの値の配置を実現することができる。
以上に示したように、変形例5−2のコンテキストインデックス導出方法は、変形例5−1と同じく、パターン1、パターン2において、第1行目、第1列目のコンテキストインデックスの値を2とすること、による符号化効率向上、パターン3においてコンテキストインデックスの値を固定値とすることによる簡略化の効果を得ることができる。また、変形例5−1と異なり、パターン0のコンテキストインデックスの値が0と1のみの2段階であるため変形例5−1よりも複雑度の低い構成である。変形例5−2も変形例5−1と同じく、発明者の実験において、特にイントラ予測ブロックにおいて、図51、図52の比較例に比べ符号化効率向上が向上することを確認している。
<変形例5−3>
図32を用いて、変形例5−3について説明する。変形例5−3は、TH1=−1、TH2=2、TH3=0、TH4=2、TH5=4の例である。変形例5−2の要素は、パターン1、パターン2において、1行目、1列目のコンテキストインデックスの値を2とすること、パターン1、パターン2において、3行目、3列目のコンテキストインデックスの値を1とすること、である。
図32は、変形例5−2のコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。図32を参照しながら、パターン0〜3のそれぞれの場合において導出されるコンテキストインデックスの値について説明すると次のとおりである。なお、図32に示す網掛け部分は、図52に示すコンテキストインデックスの値の配置からの変更部分である。
(パターン0の場合)
図32(a)に示すように、図51、図52の比較例と同じ導出方法、同じ値の配置である。
(パターン1の場合)
パターン1の場合、隣接サブブロック有無コンテキスト導出部124cは、yBの値に応じて、次のようにコンテキストインデックスを導出する。
yBが、0以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=2を導出する。また、yBが、0より大きく、かつ2以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=1を導出する。これら以外の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=0を導出する。これにより、コンテキストインデックスの値は、図32(b)に示すような配置となる。
すなわち、図32(b)に示すように、サブブロックの第1行目では、コンテキストインデックスの値が2となり、サブブロックの第2行目および第3行目では、コンテキストインデックスの値が1となる。また、サブブロックの第4行目では、コンテキストインデックスの値が0となる。
(パターン2の場合)
パターン3の場合、隣接サブブロック係数有無コンテキスト導出部124cは、xBの値に応じて、次のようにコンテキストインデックスを導出する。
xBが、0以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=2を導出する。また、xBが、0より大きく、かつ2以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=1を導出する。これら以外の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=0を導出する。これにより、コンテキストインデックスの値は、図32(c)に示すような配置となる。
すなわち、図32(c)に示すように、サブブロックの第1列目では、コンテキストインデックスの値が2となり、サブブロックの第2列目および第3列目では、コンテキストインデックスの値が1となる。また、サブブロックの第4列目では、コンテキストインデックスの値が0となる。
(パターン3の場合)
図32(d)に示すように、図51、図52の比較例と同じ導出方法、同じ値の配置である。
なお、変形例5−3の場合に関するコンテキストインデックスの配置を図58に示す疑似コードによって実現してもよい。図58は、図32に示すコンテキストインデックスの値の配置を実現する別の疑似コードの一例である。
より具体的には、図58に示す疑似コードは、図32に示すコンテキストインデックスの値の配置を実現することができるように、TH1=−1、TH2=2、TH3=0、TH4=1、TH5=4とした図32の疑似コードにおいて、適宜、大小関係判定の境界値の変更、および、大小関係判定の同値判定への変更等を施したものである。
図58に示す疑似コードによれば、図30に示す疑似コードにおいて、TH1=−1、TH2=2、TH3=0、TH4=1、TH5=4とした場合と同様、図32に示すコンテキストインデックスの値の配置を実現することができる。
以上に示したように、変形例5−3のコンテキストインデックス導出方法は、変形例5−1と同様、パターン1、パターン2において、第1行目、第1列目のコンテキストインデックスの値を2とすること、による符号化効率向上を得ることができる。
<変形例5−4>
図33を用いて、変形例5−4について説明する。変形例5−4は、TH1=1、TH2=3、TH3=0、TH4=2、TH5=6の例である。変形例5−2の要素は、パターン1、パターン2において、1行目、1列目のコンテキストインデックスの値を2とすること、パターン1、パターン2において、3行目、3列目のコンテキストインデックスの値を1とすること、である。
図33は、変形例5−4のコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。図33を参照しながら、パターン0〜3のそれぞれの場合において導出されるコンテキストインデックスの値について説明すると次のとおりである。なお、図33に示す網掛け部分は、図52に示すコンテキストインデックスの値の配置からの変更部分である。
(パターン0の場合)
パターン0の場合、隣接サブブロック係数有無コンテキスト導出部124cは、xB+yBの値に応じて、次のようにコンテキストインデックスを導出する。
xB+yBが、1以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=2を導出する。また、xB+yBが、1より大きく、かつ3以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=1を導出する。これら以外の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=0を導出する。これにより、コンテキストインデックスの値は、図33(a)に示すような配置となる。
(パターン1〜2の場合)
図33(b)、(c)にそれぞれ示すように、図32の変形例5−3と同じ導出方法、同じ値の配置である。
(パターン3の場合)
図33(d)に示すように、図28、図29の変形例5−1と同じ導出方法、同じ値の配置である。
なお、変形5−4の場合に関するコンテキストインデックスの配置を図59に示す疑似コードによって実現してもよい。図59は、図33に示すコンテキストインデックスの値の配置を実現する別の疑似コードの一例である。
より具体的には、図59に示す疑似コードは、図33に示すコンテキストインデックスの値の配置を実現することができるように、TH1=1、TH2=3、TH3=0、TH4=2、TH5=6とした図30の疑似コードにおいて、適宜、大小関係判定の境界値の変更、および、大小関係判定の同値判定への変更等を施したものである。
図57に示す疑似コードによれば、図30に示す疑似コードにおいて、TH1=−1、TH2=2、TH3=0、TH4=1、TH5=6とした場合と同様、図33に示すコンテキストインデックスの値の配置を実現することができる。
以上に示したように、変形例5−4のコンテキストインデックス導出方法は、変形例5−3と同じく、パターン1、パターン2において、第1行目、第1列目のコンテキストインデックスの値を2とすること、による符号化効率向上を得ることができる。また、変形例5−1と同じく、パターン0において、コンテキストインデックスの値として0、1、2の3段階を用いることによる符号化効率向上を得ることができる。また、変形例5−1と同じく、パターン3においてコンテキストインデックスの値を固定値とすることによる簡略化の効果を得ることができる。
<変形例5−5>
図53を用いて、変形例5−5について説明する。変形例5−5は、TH1=−1、TH2=2、TH3=−1、TH4=1、TH5=6の例である。変形例5−5の要素は、パターン3においてコンテキストインデックスの値を固定値(ここでは2)とすること、である。
図53は、変形例5−5のコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。図53を参照しながら、パターン0〜3のそれぞれの場合において導出されるコンテキストインデックスの値について説明すると次のとおりである。なお、図53に示す網掛け部分は、図52に示すコンテキストインデックスの値の配置からの変更部分である。
(パターン0〜2の場合)
図53(a)〜(c)にそれぞれ示すように、図51、図52の比較例と同じ導出方法、同じ値の配置である。
(パターン3の場合)
図53(d)に示すように、図28、図29の変形例5−1と同じ導出方法、同じ値の配置である。
なお、変形例5−5の場合の関するコンテキストインデックスの配置を図60に示す疑似コードによって実現してもよい。図60は、図53に示すコンテキストインデックスの値の配置を実現する別の疑似コードの一例である。
より具体的には、図60に示す疑似コードは、図53に示すコンテキストインデックスの値の配置を実現することができるように、TH1=−1、TH2=2、TH3=−1、TH4=1、TH5=6とした図30の疑似コードにおいて、適宜、大小関係判定の境界値の変更、および、大小関係判定の同値判定への変更等を施したものである。
図60に示す疑似コードによれば、図30に示す疑似コードにおいて、TH1=−1、TH2=2、TH3=−1、TH4=1、TH5=6とした場合と同様、図53に示すコンテキストインデックスの値の配置を実現することができる。
<変形例5−6>
図61を用いて、変形例5−6について説明する。変形例5−6は、TH1=1、TH2=2、TH3=0、TH4=1、TH5=6の例である。変形例5−6の要素は、パターン0において、xB+yB<2となる部分に対して、非0変換係数の発生頻度が高いことを示すコンテキストインデックスの値を設定する、ことである。
図61は、変形例5−6のコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。図61を参照しながら、パターン0〜3のそれぞれの場合において導出されるコンテキストインデックスの値について説明すると次のとおりである。
(パターン0の場合)
隣接サブブロック係数有無コンテキスト導出部124cは、xB+yBの値に応じて、次のようにコンテキストインデックスを導出する。
xB+yBが、1以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=2を導出する。また、xB+yBが、1より大きく、かつ2以下である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=1を導出する。これら以外の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx=0を導出する。これにより、コンテキストインデックスの値は、図61(a)に示すような配置となる。
(パターン1〜3の場合)
図61(b)〜(d)はそれぞれ、図29(b)、図29(c)、図29(d)の変形例5−1と同じ導出方法、同じ値の配置である。
なお、変形例5−6の場合に関するコンテキストインデックスの配置を図62に示す疑似コードによって実現してもよい。図62に示す疑似コードは、上記変形例にて説明したとおり、図30に示す疑似コードを、適宜、大小関係判定の境界値の変更、および、大小関係判定の同値判定への変更等を施すことにより得ることも可能である。
以上に示したように、変形例5−6のコンテキストインデックス導出方法は、変形例5−1と同じく、パターン1、パターン2において、第1行目、第1列目のコンテキストインデックスの値を2とすること、による符号化効率向上、パターン3においてコンテキストインデックスの値を固定値とすることによる簡略化の効果を得ることができる。特に、8×8TU〜32×32TUまで隣接サブブロック係数有無コンテキスト導出部124cによるコンテキストインデックス導出をする際、パターン0において、xB+yB<2となる部分に対して、非0変換係数の発生頻度が高いことを示すコンテキストインデックスの値を設定することで、符号化効率向上の効果を奏する。
<変形例5−7>
図63を用いて、変形例5−7について説明する。変形例5−7は、TH1=1、TH2=3、TH3=0、TH4=1、TH5=6の例である。変形例5−7の要素は、パターン0において、係数位置がxB+yB<2となる部分に対して、非0変換係数の発生頻度が高いことを示すコンテキストインデックスの値を設定し、1<xB+yB<4となる部分に対して、非0変換係数の発生頻度が中程度であることを示すコンテキストインデックスの値を設定する、ことである。
図63は、変形例5−7のコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。図63を参照しながら、パターン0〜3のそれぞれの場合において導出されるコンテキストインデックスの値について説明すると次のとおりである。
(パターン0の場合)
図63(a)は、図33(a)に示す変形例5−4と同じ導出方法、同じ値の配置である。
(パターン1〜3の場合)
図63(b)〜(d)はそれぞれ、図29(b)、図29(c)、図29(d)の変形例5−1と同じ導出方法、同じ値の配置である。
なお、変形例5−7の場合に関するコンテキストインデックスの配置を図64に示す疑似コードによって実現してもよい。図64に示す疑似コードは、上記変形例にて説明したとおり、図30に示す疑似コードを、適宜、大小関係判定の境界値の変更、および、大小関係判定の同値判定への変更等を施すことにより得ることも可能である。
以上に示したように、変形例5−7のコンテキストインデックス導出方法は、変形例5−1と同じく、パターン1、パターン2において、第1行目、第1列目のコンテキストインデックスの値を非0変換係数の発生頻度が高いことを示すコンテキストインデックスの値とすることによる符号化効率向上、パターン3においてコンテキストインデックスの値を固定値とすることによる簡略化の効果を得ることができる。特に、8×8TU〜32×32TUまで隣接サブブロック係数有無コンテキスト導出部124cによるコンテキストインデックス導出をする際、パターン0において、xB+yB<2となる部分に対して、非0変換係数の発生頻度が高いことを示すコンテキストインデックスの値を設定し、1<xB+yB<4となる部分に対して、非0変換係数の発生頻度が中程度であることを示すコンテキストインデックスの値とすることで、符号化効率向上の効果を奏する。
[変形例5に係る補足事項]
また、以上に示した変形例5−1、5−4、5−6、5−7に係る動画像復号装置1は、上記コンテキストインデックス導出手段は、処理対象のサブブロックの右に隣接する右隣接サブブロックおよび下に隣接する下隣接サブブロックについてサブブロック係数有無フラグを判定し、右隣接サブブロックおよび下隣接サブブロックの両方において非0変換係数が存在しないと判定されたとき、該判定結果に基づいて、サブブロック内の係数位置を表わすxBとyBの和が第1の閾値以下の場合に、非0変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出し、上記xBとyBの和が第1の閾値より大きく、かつ、第2の閾値以下の場合に、非0変換係数の発生確率が中程度である場合に対応する上記コンテキストインデックスを導出し、上記xBとyBの和が第2の閾値より大きい場合に、非0変換係数の発生確率が低い場合に対応する上記コンテキストインデックスを導出する構成である。
以上の構成によれば、実際の変換係数の発生確率に、より適合したコンテキスト導出パターンを実現することができ、これにより符号化効率の向上を図ることができる。
特に、第1の閾値を0、第2の閾値を2と設定することにより、実際の非0変換係数の発生確率により適合した好適なコンテキストインデックスを導出することができる。また、第1の閾値を1、第2の閾値を2と設定しても好適である。また、第1の閾値を1、第2の閾値を3と設定しても好適である。
また、以上に示した変形例5−1〜5−4、5−6、5−7に係る動画像復号装置1は、上記コンテキストインデックス導出手段は、右に隣接する右隣接サブブロックおよび下に隣接する下隣接サブブロックについてサブブロック係数有無フラグを判定し、右隣接サブブロックまたは下隣接サブブロックのいずれか一方において非0変換係数が存在しないと判定されたとき、非0変換係数が存在しないと判定されたサブブロックの隣接方向に応じて、サブブロック内の係数位置を表わすxBとyBのうちいずれか一方の係数位置を選択し、上記係数位置が第1の閾値以下の場合に、非0変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出し、上記係数位置が第1の閾値より大きく、かつ、第2の閾値以下の場合に、非0変換係数の発生確率が中程度である場合に対応する上記コンテキストインデックスを導出し、上記係数位置が第2の閾値より大きい場合に、非0変換係数の発生確率が低い場合に対応する上記コンテキストインデックスを導出する構成である。
以上の構成によれば、実際の変換係数の発生確率に好適な閾値を設定し、より適合したコンテキスト導出パターンを実現することができ、これにより符号化効率の向上を図ることができる。
また、以上に示した変形例5−1、5−3、5−4、5−5に係る動画像復号装置1は、上記コンテキストインデックス導出手段は、右に隣接する右隣接サブブロックおよび下に隣接する下隣接サブブロックについてサブブロック係数有無フラグを判定し、上記コンテキストインデックス導出手段は、処理対象のサブブロックに対して、右隣接サブブロック及び下隣接サブブロックの両方において非0変換係数が存在あると判定されたとき、処理対象サブブロック内の非0変換係数に対して、固定のコンテキストインデックスを導出する構成である。
以上の構成によれば、符号化効率の低下を抑制しつつ、コンテキストインデックスの導出を簡略化することができる。
また、上記構成において、上記固定のコンテキストインデックスは、非0変換係数の発生頻度が高い場合に対応するコンテキストインデックスであることが好ましい。
上記構成によれば、実際の変換係数の発生確率により適合した、非0変換係数の発生確率が高い場合に対応するコンテキストインデックスを固定的に導出することができる。よって、実際の変換係数の発生確率により適合した固定的なコンテキストインデックスを導出することができるため、符号化効率の低減をさらに抑制しつつ、コンテキストインデックスの導出の簡略化をすることができる。
[作用・効果]
以上に示した変形例5−1〜5−4、5−6、5−7に係る動画像復号装置1は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置を備える。算術復号装置は、処理対象の単位領域に対応する対象周波数領域を所定のサイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、復号されたサブブロック係数有無フラグに基づいて、処理対象のサブブロックに隣接するサブブロックにおいて非0変換係数が少なくとも1つ含まれるか否かを判定する非0変換係数判定手段と、処理対象の上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、処理対象のサブブロックに隣接するいずれかのサブブロックにおいて非0変換係数が存在しないと判定されたとき、該判定結果に基づいて、非0変換係数の発生確率が低い場合、非0変換係数の発生確率が高い場合、および、非0変換係数の発生確率が、高い場合と、低い場合との間の中程度である場合にそれぞれ対応する上記コンテキストインデックスを、処理対象のサブブロックにおける処理対象の変換係数の位置に応じて導出する構成である。
以上に示した変形例5−1、5−4、5−6、5−7に係る動画像復号装置1は、上記コンテキストインデックス導出手段は、処理対象のサブブロックに隣接する2つ以上のサブブロックにおいて非0変換係数が存在しないと判定されたとき、該判定結果に基づいて、非0変換係数の発生確率が低い場合、非0変換係数の発生確率が高い場合、および、非0変換係数の発生確率が、高い場合と、低い場合との間の中程度である場合にそれぞれ対応する上記コンテキストインデックスを、処理対象のサブブロックにおける処理対象の変換係数の位置に応じて導出する構成であり、符号化効率の向上を図ることができる。特に処理対象のサブブロック内の左上の位置において、非0変換係数の発生確率が高い場合を割り当てる構成が好適である。
以上に示した変形例5−1〜5−4、5−6、5−7に係る動画像復号装置1は、上記コンテキストインデックス導出手段は、処理対象のサブブロックに隣接する1つ以上のサブブロックにおいて非0変換係数が存在すると判定され、1つ以上のサブブロックにおいて非0変換係数が存在しないと判定されたとき、該判定結果に基づいて、非0変換係数の発生確率が低い場合、非0変換係数の発生確率が高い場合、および、非0変換係数の発生確率が、高い場合と、低い場合との間の中程度である場合にそれぞれ対応する上記コンテキストインデックスを、処理対象のサブブロックにおける処理対象の変換係数の位置に応じて導出する構成であり、符号化効率の向上を図ることができる。特に右に隣接するサブブロックにおいて非0変換係数が存在すると判定され、下に隣接するサブブロックにおいて非0変換係数が存在すると判定されるサブブロックにおいて、処理対象のサブブロック内の第1行目に非0変換係数の発生確率が高い場合を割り当てる構成が好適である。それと対称な意味で、特に下に隣接するサブブロックにおいて非0変換係数が存在すると判定され、右に隣接するサブブロックにおいて非0変換係数が存在すると判定されるサブブロックにおいて、処理対象のサブブロック内の第1列目に非0変換係数の発生確率が高い場合を割り当てる構成が好適である。
以上に示した変形例5−1、5−3、5−4、5−5、5−6、5−7に係る動画像復号装置1は、上記コンテキストインデックス導出手段は、処理対象のサブブロックに2つ以上のサブブロックにおいて非0変換係数が存在すると判定されたとき、該判定結果に基づいて、非0変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを固定的に導出する構成であり、コンテキストインデックスの導出を簡略化することができる。
以上に示した変形例5−1〜5−4、5−6、5−7に係る構成によれば、実際の変換係数の発生確率に、より適合したコンテキスト導出パターンを実現することができ、これにより符号化効率の向上を図ることができる。
[変形例5と、変形例1との組み合わせについて]
なお、変形例5は、変形例1と組み合わせることもできる。変形例5は、上述したとおり、各パターンにおいて次の条件で、コンテキストインデックスの値の段階の区切りを設定する構成である。すなわち、パターン0において、xB+yBに応じてコンテキストインデックスの値の段階の区切りを設定する。パターン1において、yBに応じてコンテキストインデックスの値の段階の区切りを設定する。パターン2において、xBに応じてコンテキストインデックスの値の段階の区切りを設定する。そして、パターン3において、xB+yBに応じてコンテキストインデックスの値の段階の区切りを設定する、または、一様に非0変換係数の発生確率が高い場合に対応するコンテキストインデックスの値を設定する。
変形例1のスキャン順を用いた変換係数の復号処理において、上記変形例5に係る条件に従ってコンテキストインデックスを導出することで、サブブロック内の逆スキャン順のコンテキストインデックスの0と1の切り替え回数を抑えることができる。
より具体的には、変形例5−1〜5−5のパターン0〜3において、以下のスキャン順を用いてもよい。
パターン0の場合、図22(a)に示すように、係数復号制御部123は、斜め方向スキャン(Up-right diagonal scan)を適用してもよい。
パターン1の場合、図22(b)に示すように、係数復号制御部123は、水平方向優先スキャンを適用する。すなわち、(significant_coeff_group_flag[xCG + 1][yCG],significant_coeff_group_flag[xCG][yCG + 1])=(1,0)である場合、係数復号制御部123は、水平方向優先スキャンを適用してもよい。
パターン2の場合、図22(c)に示すように、係数復号制御部123は、垂直方向優先スキャンを適用する。すなわち、(significant_coeff_group_flag[xCG + 1][yCG],significant_coeff_group_flag[xCG][yCG + 1])=(0,1)である場合、係数復号制御部123は、垂直方向優先スキャンを適用してもよい。
パターン3の場合、図22(d)に示すように、係数復号制御部123は、係数復号制御部123は、斜め方向スキャン(Up-right diagonal scan)を適用してもよい。
<<変形例6:絶対的座標を参照する>>
以下では、図34および図35を用いて、サブブロック内の座標(xB,yB)だけでなく、TUにおける係数位置(xC、yC)を用いてコンテキストインデックスを導出する変形例について説明する。
本変形例では、隣接サブブロック係数有無コンテキスト導出部124cが、パターンインデックスidxCGを、上記式(A)により求めるとともに、これより得られるパターン0〜3に応じて、図34に示す方法にてコンテキストインデックスを導出する。
図34は、式(A)から得られるパターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードのさらに別の例を示す図である。図35は、図33に示す疑似コードによるコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。
図34および図35を参照しながら、パターン0〜3のそれぞれの場合において導出されるコンテキストインデックスの値について説明すると次のとおりである。
(パターン0の場合)
パターン0の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = (xB + yB <= 2) ? 1 : 0 によりコンテキストインデックスを導出する。
すなわち、パターン0の場合は、上記実施例のパターン0の場合と同様である。よって、コンテキストインデックスの値は、図35(a)に示すような配置となる。
(パターン1の場合)
パターン1の場合、隣接サブブロック係数有無コンテキスト導出部124cは、係数位置(xC、yC)のY座標yCに応じて、コンテキストインデックスを導出する。
yC=0である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = 2を導出する。よって、コンテキストインデックスの値は、図35(e)に示すような配置となる。すなわち、yC=0 の場合、図35(e)に示すように、サブブロックの第1行目(上端)では、コンテキストインデックスの値が2となる。
これに対して、yC=0 でない場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = (yB <= 1) ? 1 : 0 によりコンテキストインデックスを導出する。
よって、図35(b)に示すように、サブブロックの第1行目および第2行目では、コンテキストインデックスの値が1となり、サブブロックの第3行目および第4行目では、コンテキストインデックスの値が0となる。
(パターン2の場合)
パターン2の場合、隣接サブブロック係数有無コンテキスト導出部124cは、係数位置(xC、yC)のX座標xCに応じて、コンテキストインデックスを導出する。
xC=0である場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = 2を導出する。よって、コンテキストインデックスの値は、図35(f)に示すような配置となる。すなわち、xC=0の場合、図35(f)に示すように、サブブロックの第1列目(左端)では、コンテキストインデックスの値が2となる。
これに対して、xC=0でない場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = (xB <= 1) ? 1 : 0 によりコンテキストインデックスを導出する。
よって、図35(c)に示すように、サブブロックの第1列目および第2列目では、コンテキストインデックスの値が1となり、サブブロックの第3列目および第4列目では、コンテキストインデックスの値が0となる。
(パターン3の場合)
パターン3の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = (xB + yB <= 4) ? 2 : 1 によりコンテキストインデックスを導出する。
よって、パターン3の場合、サブブロック内での座標(xB,yB)の水平方向の座標xBと、垂直方向の座標yBとの和が4以下であれば、コンテキストインデックスの値は、“1”であり、そうでなければ、コンテキストインデックスの値は、“0”である。
これにより、コンテキストインデックスの値は、図35(d)に示すような配置となる。
[作用・効果]
変形例6に係る動画像復号装置1は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置を備える。算術復号装置は、処理対象の単位領域に対応する対象周波数領域を所定のサイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、処理対象のサブブロックに隣接するサブブロックにおけるサブブロック係数有無フラグに基づいて、変換係数の分布の方向性を判定する方向性判定手段と、上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、上記方向性判定手段により判定された方向性に応じて、処理対象のサブブロックの処理対象の単位領域における座標を用いて、上記コンテキストインデックスを導出する構成である。
上記構成によれば、パターン1および2において、xC=0またはyC=0の場合、非0変換係数の発生確率が高い場合に対応するコンテキストインデックスを用いる。
横エッジや、縦エッジが存在する場合、非0変換係数がxC=0の領域またはyC=0の領域に集中して現れる傾向がある。
上記構成によれば、横エッジや、縦エッジが存在する可能性が高い場合において、非0変換係数の発生確率が高い場合に対応するコンテキストインデックスを用いるため、符号化効率の向上を図ることができる。
なお、パターン1(パターン2)において、yC=0(xC=0)の判定に加えて、または、当該判定に代えて、xC=0かつyC=0であるか否かを判定し、判定結果に応じてコンテキストインデックスを導出することも可能である。
<<変形例7:一様高確率パターン>>
以下において、図36〜図38を用いて、隣接サブブロックにおいて非0変換係数が多い可能性が高い場合、処理対象のサブブロックにおいて一様にコンテキストインデックスを用いる変形例について説明する。
隣接サブブロックにおいて非0変換係数が多い可能性が高い場合、処理対象のサブブロック内で一様に非0ゼロ変換係数が高い状況が発生し得る。
図36を用いて、処理対象のサブブロック内で、当該サブブロック内の座標によらず、一様に非0ゼロ変換係数が高い状況となるような場合の例について説明する。
図36に示す処理対象のサブブロックXに対して、右隣接サブブロックA、下隣接サブブロックB、および、右下隣接サブブロックCのすべてに非0変換係数が存在する場合、サブブロックXでの非0変換係数の発生確率は、当該サブブロックXにおける座標によらず、一様に高い傾向がある。
このような場合、中レベルの発生確率を示すコンテキストインデックス1を用いるのではなく、高レベルの発生確率を示すコンテキストインデックス2を用いることが好ましい。
本変形例では、隣接サブブロック係数有無コンテキスト導出部124cが、隣接サブブロック(右隣接および下隣接)におけるサブブロック係数有無フラグからコンテキスト導出パターンを特定するインデックスであるパターンインデックスidxCGを、以下の式(C)により求める。
idxCG = significant_coeff_group_flag[xCG + 1][yCG] +
(significant_coeff_group_flag[xCG][yCG + 1] << 1) +
(significant_coeff_group_flag[xCG + 1][yCG + 1] << 2) … (C)
上記式(C)より、パターンインデックスidxCGは、0〜7の値をとる。隣接サブブロック係数有無コンテキスト導出部124cは、パターンインデックスidxCGの値に応じて、以下の5パターンでコンテキストインデックスを導出する。
(パターン0) 右隣接サブブロック(xCG+1,yCG)、下隣接サブブロック(xCG,yCG+1)、および右下隣接サブブロック(xCG+1,yCG+1)のすべてにおいてサブブロック係数有無フラグの値が0である場合。
(パターン1) 右隣接サブブロック(xCG+1,yCG)および下隣接サブブロック(xCG,yCG+1)のいずれにおいてもサブブロック係数有無フラグの値が0である場合。
(パターン2) 右隣接サブブロック(xCG+1,yCG)および下隣接サブブロック(xCG,yCG+1)のうちの一方においてサブブロック係数有無フラグの値が1であり、他方においてサブブロック係数有無フラグの値が0である場合。
(パターン3) 右隣接サブブロック(xCG+1,yCG)および下隣接サブブロック(xCG,yCG+1)の両方においてサブブロック係数有無フラグの値が1である場合。
(パターン4) 右隣接サブブロック(xCG+1,yCG)、下隣接サブブロック(xCG,yCG+1)、および右下隣接サブブロック(xCG+1,yCG+1)のすべてにおいてサブブロック係数有無フラグの値が1である場合。
本変形例では、隣接サブブロック係数有無コンテキスト導出部124cが、パターンインデックスidxCGを、上記式(C)により求めるとともに、これより得られるパターン0〜4に応じて、図37に示す方法にてコンテキストインデックスを導出する。
図37および図38を用いて、具体的なコンテキストインデックス導出方法について説明すると次のとおりである。
図37は、式(C)から得られるパターンインデックスidxCGに従って、処理対象の周波数成分のサブブロック内での座標からコンテキストインデックスを導出するための疑似コードのさらに別の例を示す図である。図38は、図37に示す疑似コードによるコンテキストインデックス導出方法におけるコンテキストインデックスの値の配置を示す図である。なお、図38に示す網掛け部分は、図52に示すコンテキストインデックスの値の配置からの変更部分である。
図37を参照しながら、パターン0〜4のそれぞれの場合において導出されるコンテキストインデックスの値について説明すると次のとおりである。
(パターン4の場合)
まず、隣接サブブロック係数有無コンテキスト導出部124cは、パターン4であるかどうかを判定する。パターン4の場合、図38(e)に示すように隣接サブブロック係数有無コンテキスト導出部124cは、xBおよびyBの値によらずサブブロック内で一様にsigCtx=2を導出する。
パターン4でない場合、隣接サブブロック係数有無コンテキスト導出部124cは、以下、パターン0〜3であるかどうかを判定する。なお、図37において、“idxCG&3”は、idxCGの下位2ビットを算出しており、これにより右隣接サブブロック(xCG+1,yCG)および下隣接サブブロック(xCG,yCG+1)のサブブロック係数有無フラグの値を抽出している。
(パターン0の場合)
パターン0の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = (xB + yB <= 2) ? 1 : 0 によりコンテキストインデックスを導出する。
すなわち、パターン0の場合は、上記実施例のパターン0の場合と同様である。よって、コンテキストインデックスの値は、図38(a)に示すような配置となる。
(パターン1の場合)
パターン1の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = (yB <= 1) ? 1 : 0 によりコンテキストインデックスを導出する。
よって、図38(b)に示すように、サブブロックの第1行目および第2行目では、コンテキストインデックスの値が1となり、サブブロックの第3行目および第4行目では、コンテキストインデックスの値が0となる。
(パターン2の場合)
パターン2の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = (xB <= 1) ? 1 : 0 によりコンテキストインデックスを導出する。
よって、図38(c)に示すように、サブブロックの第1列目および第2列目では、コンテキストインデックスの値が1となり、サブブロックの第3列目および第4列目では、コンテキストインデックスの値が0となる。
(パターン3の場合)
パターン3の場合、隣接サブブロック係数有無コンテキスト導出部124cは、sigCtx = (xB + yB <= 4) ? 2 : 1 によりコンテキストインデックスを導出する。
よって、パターン3の場合、サブブロック内での座標(xB,yB)の水平方向の座標xBと、垂直方向の座標yBとの和が4以下であれば、コンテキストインデックスの値は、“1”であり、そうでなければ、コンテキストインデックスの値は、“0”である。
これにより、コンテキストインデックスの値は、図38(d)に示すような配置となる。
以上のように、パターン0〜3の場合、それぞれ、コンテキストインデックスの値の配置は、図52(a)〜(d)に示した配置の例と同様となる。
[作用・効果]
変形例7に係る動画像復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置を備える。算術復号装置は、処理対象の単位領域に対応する対象周波数領域を所定のサイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、上記サブブロック係数有無フラグに基づいて、処理対象のサブブロックに隣接するサブブロックそれぞれについて、非0変換係数が少なくとも1つ含まれるか否かを判定する鱗屑サブブロック係数有無判定手段と、上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、上記判定の結果、所定の数以上のサブブロックにおいて非0変換係数が少なくとも1つ含まれる場合、処理対象のサブブロックにおいて一様に、変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出する構成である。
上記構成によれば、サブブロック係数有無フラグを判定する対象の隣接サブブロックとして、右隣接サブブロックA、および下隣接サブブロックBに加え、さらに右下隣接サブブロックCを用いる。
上記対象の隣接サブブロックにおけるサブブロック係数有無フラグの状態に基づいて、処理対象のサブブロックXにおいて非0変換係数の発生確率が一様に高い状態か否かを判定する。
また、処理対象のサブブロックXにおいて非0変換係数の発生確率が一様に高い状態の場合、処理対象のサブブロックXにおいて、一様に、非0変換係数の発生確率が高い場合に対応するコンテキストインデックスを用いる。これにより符号化効率の向上を図ることができる。
以上の説明では、すべての隣接サブブロックにおいてサブブロック係数有無フラグの値が1である場合、一様に、非0変換係数の発生確率が高い場合に対応するコンテキストインデックスを用いる構成について説明したが、これに限られない。
所定の数以上の隣接サブブロックにおいて、サブブロック係数有無フラグの値が1である場合、一様に、非0変換係数の発生確率が高い場合に対応するコンテキストインデックスを用いる構成であってもよい。所定の数以上の隣接サブブロックにおいて、サブブロック係数有無フラグの値が1である場合、処理対象のサブブロックXにおいて非0変換係数の発生確率が一様に高い状態といえる。よって、当該構成においても、上記変形例5の構成と同様の効果を得ることができる。
<変形例8>
非特許文献3では、8×8TUにおいて、スキャン方向毎に異なっていたサブブロックの形状を4×4サブブロックに統一し、さらに8×8TU〜32×32TUにおいても、隣接サブブロックに非0変換係数があるか否かに応じて、導出パターンを選択し、選択した導出パターンに従って、サブブロック内の位置から変換係数有無フラグに関するコンテキストインデックスを導出することが提案されている。また、非特許文献3によれば、輝度の8×8TUに関して、スキャン方向が斜め方向スキャンである場合と、水平方向スキャンまたは垂直方向スキャンである場合とで、変換係数有無フラグに関するコンテキストを区別する提案がされている。
しかしながら、8×8TUの輝度の場合、水平方向優先スキャン、及び垂直方向優先スキャンは、イントラ予測のみでしか出現せず、斜め方向スキャンに比べて、使用される頻度は低い。また、水平方向優先スキャンと垂直方向優先スキャンの各インデックスパターンidxCGに対応するサブブロック内の係数位置における非0変換係数の発生頻度の傾向(水平高優先スキャンと垂直方向優先スキャン時の非0変換係数の発生頻度の平均)は、斜め方向スキャン時の非0変換係数の発生頻度の傾向と非常に類似している。そのため、8×8TUの輝度における斜め方向スキャンと、垂直方向優先スキャンと水平方向優先スキャン時の変換係数有無フラグに関するコンテキストを共有することができる。
以下では、8×8TUにおける変換係数有無フラグに関するコンテキストインデックスの導出を簡略化し、輝度における変換係数有無フラグに関するコンテキスト数を削減する変形例8について、図65、図66、図67、図68を用いて説明する。
図65は、変形例8に係る係数有無フラグ復号部124における変換係数有無フラグに関するコンテキストインデックスの導出の動作を示すフローチャートである。
(ステップSX101)
TUサイズ判定部124aは、処理対象のTUサイズが所定サイズ(例えば、8×8TU)より小さいか?を判定する。処理対象のTUサイズが所定サイズより小さい場合(ステップSX101でYes)、TUサイズ判定部124aは、コンテキスト導出手段として、位置コンテキスト導出部124bを選択し、ステップSX104へ進む。それ以外は、ステップSX102へ進む(ステップSX101でNo)。
判定で例えば以下の式を用いる。
log2TrafoSize < THSize
なお、閾値THSizeとしては例えば3が用いられる。閾値THsizeに3を用いた場合には、4×4TUが所定サイズより小さいと判定される。8×8TU、16×4TU、4×16TU、16×16TU、32×4TU、4×32TU、32×32TUは所定サイズ以上であると判定されることになる。
(ステップSX102)
TUサイズ判定部124aは、処理対象のTUサイズが所定サイズ(例えば、8×8TU)以上の場合(ステップSX101でNo)、処理対象の変換係数の位置がDCであるか?判定する。処理対象の変換係数の位置がDCである場合(ステップSX102でYes)、TUサイズ判定部124aは、コンテキスト導出手段として、位置コンテキスト導出部124bを選択し、ステップSX104へ進む。それ以外の場合は、TUサイズ判定部124aは、コンテキスト導出手段として、隣接サブブロック係数有無コンテキスト導出部124cを選択し、ステップSX103へ進む(ステップSX102でNo)。なお、処理対象の変換係数の位置がDCであるかは、例えば、変換係数の位置(xC、yC)を用いて、xCとyCの和が0と等しいか否かによって判定することができる。すなわち、“xC+yC==0”の真偽を判定によって判定することができる。
(ステップSX104)
処理対象のTUサイズが所定サイズ(例えば、8×8TU)未満(ステップSX101でYes)、または、処理対象の変換係数の位置がDCである場合(ステップSX102でYes)、コンテキスト導出手段として選択された位置コンテキスト導出部124bは、図66に示す変換係数の位置(xC,yC)に対応する変換係数有無フラグのコンテキストインデックスctxIdxを導出する。図66は、4×4TUにおける輝度、または、色差における各係数位置に割り当てられたコンテキストインデックスを表わす図である。図66に示すように、4×4TUは、「0」〜「9」の9つの領域に分割されるとともに、該9つの領域それぞれにコンテキストインデックスが割り付けられる。よって、4×4TUのコンテキスト数は、“9”である。なお、処理対象の変換係数の位置がDCの場合は、図66における4×4TUのDC成分に割り当てられた値が、4×4TU〜32×32TUまで共通のコンテキストインデックスとして割り当てられる。
(ステップSX103)
処理対象のTUサイズが所定サイズ(例えば、8×8TU)以上(ステップSX101でNo)、かつ、処理対象の変換係数の位置がDCでない場合(ステップSX102でNo)、コンテキスト導出手段として選択された隣接サブブロック係数有無コンテキスト導出部124cは、隣接サブブロックに非0変換係数があるか否かに応じて、導出パターンを選択し、選択した導出パターンに従って、サブブロック内の位置から変換係数有無フラグに関するコンテキストインデックスsigCtx(ctxIdx)を導出する。
ステップSX103における隣接サブブロック係数有無コンテキスト導出部124cによる変換係数有無フラグに関するコンテキストインデックスctxIdxのより具体的な処理は、以下の通りである。
(ステップSX103−1)
隣接サブブロック係数有無コンテキスト導出部124cは、隣接サブブロックに非0変換係数があるか否かに応じて、導出パターンに対応する対応するパターンインデックスidxCGを求める。パターンインデックスidxCGは、既述の式(A)によって導出することができる。
(ステップSX103−2)
求めたパターンインデックスidxCGに対応する導出パターンとサブブロック内の位置から変換係数有無フラグに関するコンテキストインデックスsigCtx(ctxIdx)を導出する。パターンインデックスidxCGに対応する導出パターンは、例えば、既述の変形例5−1とすることができるため、詳細な説明は省略する。すなわち、パターンインデックスidxCGがパターン0の場合、コンテキストインデックスの値は、図29(a)に示すような配置となる。パターンインデックスidxCGがパターン1の場合、コンテキストインデックスの値は、図29(b)に示すような配置となる。パターンインデックスidxCGがパターン2の場合、コンテキストインデックスの値は、図29(c)に示すような配置となる。パターン3の場合、コンテキストインデックスの値は、図29(d)に示すような配置となる。
(ステップSX103−3)
隣接サブブロック係数有無コンテキスト導出部124cは、ステップSX103−2で求めたコンテキストインデックスsigCtx(ctxIdx)に対して、所定のオフセット値を加算し、処理対象の変換係数に関するコンテキストインデックスsigCtx(ctxIdx)を導出する。
以下では、ステップSX103−3における所定のオフセット値の導出について輝度を例に説明する。図67は、ステップSX103−3のさらに詳細な動作を表わすフローチャートである。
(ステップSX201)
処理対象のサブブロック位置(xCG、yCG)が高周波にあるか?を判定する。例えば、xCG+yCG>TH1によって判定することができる。xCGとyCGの和が所定閾値TH1より大きい場合は、高周波であると判定し、満たさない場合は、低周波であると判定する。閾値TH1は、例えば、0とすることができる。この場合、DC成分を含むサブブロックを低周波として扱うことになる。
(ステップSX202)
処理対象のサブブロック位置(xCG、yCG)が高周波にある場合(ステップSX201でNo)、コンテキストインデックスsigCtx(ctxIdx)に低周波と高周波とのコンテキストを識別するための所定のオフセット値offsetHighFreqを加算する。すなわち、
sigCtx = sigCtx + offsetHighFreq
によりsigCtx(ctxIdx)を求める。なお、図67のステップSX202に示した“+=”演算子は、AとBとについて“A+=B”のように用いた場合、“A=A+B”を意味する。以下において同様である。
なお、本実施例では、非0変換係数の発生頻度を”高”、“中”、“低”の3段階で表わしているため、所定のオフセット値offsetHighFreqとして、“3”を用いる。
(ステップSX203)
処理対象のTUサイズが所定サイズ(例えば、8×8TU)であるか?を判定する。すなわち、
log2TrafoSize == THSize
の真偽を判定することにより、処理対象のTUサイズが所定サイズであるか否かを判定する。
なお、閾値THSizeとして、例えば8×8TUのサイズを表わす“3”を用いる。
(ステップSX204)
処理対象のTUサイズが所定サイズ(例えば、8×8TU)である場合(ステップSX203でYes)、コンテキストインデックスctxIdxに、閾値THSizeを満たすTUと、それ以外のTUとのコンテキスト識別するために、所定のオフセット値offsetNAを加算する。すなわち、
sigCtx = sigCtx + offsetNA
を計算する。
ここで、オフセット値offsetNAは、4×4TUと8×8TUのコンテキストを識別するために、例えば、図66に示す4×4TUのコンテキスト数“9”とする。
(ステップSX205)
処理対象のTUサイズが所定サイズ(例えば、8×8TU)でない場合(ステップSX203でNo)、閾値THSizeを満たすTU(8×8TU)と、それ以外のTU(16×16TU〜32×32TU)とのコンテキストを識別するために、所定のオフセット値offsetNBを加算する。すなわち、
sigCtx = sigCtx + offsetNB
ここで、オフセット値offsetNBは、8×8TUと、16×16TU〜32×32TUのコンテキストを識別するために、例えば、図66に示す4×4TUのコンテキスト数“9”と8×8TUのコンテキスト数“6”との和、“15”とする。8×8TUのコンテキスト数が“6”であるのは、本実施例では、非0変換係数の発生頻度を”高”、“中”、“低”の3段階で表わしており、かつ、低周波と高周波とでそれぞれコンテキスト数“3”を有するためである。
以上、変形例8において、コンテキストインデックスを識別するための各オフセット値offsetHighFreq, offsetNA, offsetNBをそれぞれ、
offsetHighFreq = 3、offsetNA = 9、offsetNB = 15
とすれば、輝度に関する変換係数有無フラグに関するコンテキストインデックスの割当は、図68に示すように0〜20までの値をとり、それぞれ、
・ctxIdx= 0は、DC用のコンテキストインデックス
・ctxIdx= 1〜8は、4×4TU用のコンテキストインデックス
・ctxIdx= 9〜11は、8×8TU用のコンテキストインデックス(低周波)
・ctxIdx= 12〜14は、8×8TU用のコンテキストインデックス(高周波)
・ctxIdx = 15〜17は、16×16TU〜32×32TU用のコンテキストインデックス(低周波)
・ctxIdx =18〜20は、16×16TU〜32×32TU用のコンテキストインデックス(高周波)
であり、計21個のコンテキスト数となる。
ここで、上記構成による利点について、従来技術に係る比較例(非特許文献3)との対比を行いつつ説明する。
<比較技術に関する説明>
以下では、比較技術(非特許文献3)に係る係数有無フラグ復号部における変換係数有無フラグに関するコンテキストインデックスの導出について説明する。
変形例8と非特許文献3において、図65に示すコンテキスト導出手段の選択方法の流れに関しては、共通のため説明を省略する。また、図65のステップSX103において、ステップSX103−1〜ステップSX103−2までの処理は、変形例8と比較技術において、共通のため詳細な説明を省略する。すなわち、比較技術においても、隣接サブブロックに非0変換係数があるか否かに応じて、導出パターンに対応する対応するパターンインデックスidxCGを既述の式(X)によって導出する。その後、導出しパターンインデックスidxCGに対応に対応する導出パターンとサブブロック内の位置から変換係数有無フラグに関するコンテキストインデックスを導出する。パターンインデックスidxCGに対応する導出パターンは、既述の変形例5−1と同じため詳細な説明を省略する。
パターンインデックスidxCGがパターン0の場合、コンテキストインデックスの値は、図29(a)に示すような配置となる。パターンインデックスidxCGがパターン1の場合、コンテキストインデックスの値は、図29(b)に示すような配置となる。パターンインデックスidxCGがパターン2の場合、コンテキストインデックスの値は、図29(c)に示すような配置となる。パターン3の場合、コンテキストインデックスの値は、図29(d)に示すような配置となる。
以下、図74を用いて、比較技術における図65のステップSX103−3における、パターンインデックスidxCGに対応に対応する導出パターンとサブブロック内の位置とから求めたコンテキストインデックスに対して、各条件のオフセットを加算する動作について詳細に説明する。
図65のステップSX103−3に相当する所定のオフセット値の導出が、比較技術においてどのように実行されるかについて輝度の場合を例に説明する。図74に示すように、比較技術では、図65のステップSX103−3に相当する処理SX103−3Pは、以下のとおり実行される。
(ステップSY201)
処理対象のサブブロック位置(xCG、yCG)が高周波にあるか?を判定する。
(ステップSY202)
処理対象のサブブロック位置(xCG、yCG)が高周波にある場合(ステップSY201でYes)、コンテキストインデックスsigCtxに低周波と高周波とのコンテキストを識別するための所定のオフセット値を加算する。非特許文献3では、sigCtx = sigCtx + 3 により算出される。
(ステップSY203)
処理対象のTUサイズが8×8TUであるか?を判定する。
(ステップSY204)
処理対象のTUサイズが8×8TUである場合(ステップSY203でYes)、スキャン方向が斜め方向スキャン(Up-right diagonal scan)であるか?を判定する。
(ステップSY205)
処理対象のTUにおけるスキャン方向が斜め方向スキャンである場合(ステップSY204でYes)、コンテキストインデックスsigCtxに、斜め方向スキャンと、水平方向優先スキャンまたは垂直方向優先スキャンとのコンテキストを識別するための所定のオフセット値を加算する。比較技術では、sigCtx = sigCtx + 9 により算出される。
(ステップSY206)
処理対象のTUにおけるスキャン方向が斜め方向スキャンでない場合、すなわち水平方向優先スキャンまたは垂直方向優先スキャンの場合(ステップSY204でNo)、コンテキストインデックスsigCtxに、斜め方向スキャンと、水平方向優先スキャンまたは垂直方向優先スキャンとのコンテキストを識別するための所定のオフセット値を加算する。
比較技術では、sigCtx = sigCtx + 15 により算出される。
(ステップSY207)
処理対象のTUサイズが8×8TUでない場合、すなわち、TUサイズが16×16、32×32、4×16、16×4、8×32、または32×8の場合(ステップSY203においてNo)、8×8TUとのコンテキストを識別するための所定オフセット値を加算する。比較技術では、sigCtx = sigCtx + 21 により算出される。
以上、比較技術における輝度に関する変換係数有無フラグに関するコンテキストインデックスの割当は、図69に示すように0〜26までの値をとり、
・ctxIdx = 0は、DC用のコンテキストインデックス
・ctxIdx = 1〜8は、4×4TU用のコンテキストインデックス
・ctxIdx = 9〜11は、8×8TUの斜め方向スキャン用のコンテキストインデックス(低周波)
・ctxIdx = 12〜14は、8×8TUの斜め方向スキャン用のコンテキストインデックス(高周波)
・ctxIdx = 15〜17は、8×8TUの水平方向優先スキャン、垂直方向優先スキャン用のコンテキストインデックス(低周波)
・ctxIdx = 18〜20は、8×8TUの水平方向優先スキャン、垂直方向優先スキャン用のコンテキストインデックス(高周波)
・ctxIdx = 21〜23は、16×16TU〜32×32TU用のコンテキストインデックス(低周波)
・ctxIdx =24〜26は、16×16TU〜32×32TU用のコンテキストインデックス(高周波)
であり、計27個のコンテキスト数となる。
比較技術では、輝度の8×8TUに関して、スキャン方向が斜め方向スキャンである場合と、水平方向優先スキャンまたは垂直方向優先スキャンである場合とで、変換係数有無フラグに関するコンテキストを区別している。一方、変形例8では、水平方向優先スキャンと垂直方向優先スキャンの各インデックスパターンidxCGに対応するサブブロック内の係数位置における非0変換係数の発生頻度の傾向(水平高優先スキャンと垂直方向優先スキャン時の非0変換係数の発生頻度の平均)が、斜め方向スキャン時の非0変換係数の発生頻度の傾向と非常に類似している特性を利用し、8×8TUの輝度における斜め方向スキャンと、垂直方向優先スキャンと水平方向優先スキャン時の変換係数有無フラグに関するコンテキストを共有することにより、スキャン方向によるコンテキストの切り替えに関する分岐を削減し、かつ、輝度に関する変換係数有無フラグに関するコンテキストインデックスの総数を、比較技術と比べて、26個から20個へ、計6個削減することができるため、コンテキストの状態を保持するために必要なメモリサイズを削減することができる。また、発明者による実験では、パターンインデックスidxCGに対応する導出パターンとして、図29(a)〜(d)を用いる場合、各コンテキストインデックス8×8TUの輝度における斜め方向スキャンと、垂直方向優先スキャンと水平方向優先スキャン時の変換係数有無フラグに関するコンテキストを共有することによる符号化効率の低下がないことを確認している。
[作用・効果]
以上、変形例8の構成によれば、比較技術に比べて、符号化効率の低下を抑えつつ、変換係数有無フラグに関するコンテキストインデックスの導出処理の簡略化、及びコンテキスト数の削減によるメモリサイズを削減する効果を奏する。
<変形例8−1>
変形例8において、8×8TU〜32×32TUまでパターンインデックスidxCGに対応するサブブロック内のコンテキストインデックスの配置として、変形例5−1と同様に、図29(a)〜図29(d)に示すパターンを用いて説明しているが、これに限定されない。
発明者による実験によれば、8×8TU〜32×32TUにおいて輝度の、斜め方向スキャンと水平方向優先スキャンと垂直方向優先スキャン時の非0変換係数の平均的な発生頻度の傾向として、次のことを確認している。
すなわち、パターンインデックスidxCGがパターン0である場合、すなわち、右隣接サブブロック(xCG+1,yCG)および下隣接サブブロック(xCG,yCG+1)のいずれにおいてもサブブロック係数有無フラグの値が0である場合、以下のような傾向P0−1〜P0−3がある。
・P0−1:サブブロック内の係数位置(xB,yB)が、xB+yB<2となる位置の非0変換係数の発生頻度が平均的に高い。
・P0−2:サブブロック内の係数位置(xB,yB)が、2≦xB+yB<3、または、2≦xB+yB<4となる位置の非0変換係数の発生頻度が中程度である。
・P0−3:サブブロック内の係数位置(xB,yB)が、xB+yB≧3、または、xB+yB≧4となる位置に非0変換係数の発生頻度が低い。
従って、上記傾向を考慮して、8×8TU〜32×32TUにおいて、パターン0におけるコンテキストインデックスの配置を変形例5−6における図61(a)、または、変形例5−7における図63(a)としてもよい。
図61(a)の場合、次の式によりコンテキストインデックスを導出することができる。
sigCtx = (xB + yB < 2) ? 2 : (xB + yB < 3) ? 1 : 0
図63(a)の場合、次の式によりコンテキストインデックスを導出することができる。
sigCtx = (xB + yB < 2) ? 2 : (xB + yB < 4) ? 1 : 0
以下、上記の判定を“x以下”とするか、“x+1未満”とするかは、適宜変更可能な事項である。
パターンインデックスidxCGがパターン1である場合、右隣接サブブロック(xCG+1,yCG)においてサブブロック係数有無フラグの値が1であり、かつ、下隣接サブブロック(xCG,yCG+1)のサブブロック係数有無フラグの値が0であるときには、以下のような傾向P1−1〜P1−3がある。
・P1−1:サブブロック内の係数位置(xB,yB)が、yB<1となる位置の非0変換係数の発生頻度が平均的に高い。
・P1−2:サブブロック内の係数位置(xB,yB)が、1≦yB<2、または、1≦yB<3となる位置の非0変換係数の発生頻度が中程度である。
・P1−3:サブブロック内の係数位置(xB,yB)が、yB≧2、または、yB≧3となる位置の非0変換係数の発生頻度が低い。
従って、上記傾向を考慮して、8×8TU〜32×32TUにおいて、パターン1におけるコンテキストインデックスの配置を図29(b)の代わりに、図33(b)としてもよい。
図33(b)の場合、次の式によりコンテキストインデックスを導出することができる。
sigCtx = (yB < 1) ? 2 : (yB < 3) ? 1 : 0
パターン1に関して上記構成にすることによって、変形例8と同様に、符号化効率の低下を抑制し、変換係数有無フラグのコンテキストインデックスの導出を簡略化することができる。
パターンインデックスidxCGがパターン2である場合、右隣接サブブロック(xCG+1,yCG)においてサブブロック係数有無フラグの値が0であり、かつ、下隣接サブブロック(xCG,yCG+1)のサブブロック係数有無フラグの値が1であるときには、以下のような傾向P2−1〜P2−3がある。
・P2−1:サブブロック内の係数位置(xB,yB)が、xB<1となる位置の非0変換係数の発生頻度が平均的に高い。
・P2−2:サブブロック内の係数位置(xB,yB)が、1≦xB<2、または、1≦xB<3となる位置の非0変換係数の発生頻度が中程度である。
・P2−3:サブブロック内の係数位置(xB,yB)が、xB≧2、または、xB≧3となる位置に非0変換係数の発生頻度が低い。
従って、上記傾向を考慮して、8×8TU〜32×32TUにおいて、パターン2におけるコンテキストインデックスの配置を図29(c)の代わりに、図33(c)としてもよい。
図33(c)の場合、次の式によりコンテキストインデックスを導出することができる。
sigCtx = (xB < 1) ? 2 : (xB < 3) ? 1 : 0
パターン2に関して上記構成にすることによって、変形例8と同様に符号化効率の低下を抑制し、変換係数有無フラグのコンテキストインデックスの導出を簡略化することができる。
パターンインデックスidxCGがパターン3である場合、右隣接サブブロック(xCG+1,yCG)においてサブブロック係数有無フラグの値が1であり、かつ、下隣接サブブロック(xCG,yCG+1)のサブブロック係数有無フラグの値が1であるときには、以下のような傾向P3−1がある。
・P3−1:サブブロック内の係数位置(xB,yB)によらず、非0変換係数の発生頻度が平均的に高いか中程度である。
従って、上記傾向を考慮して、8×8TU〜32×32TUにおいて、パターン3におけるコンテキストインデックスの配置を図29(d)において、非0変換係数の発生頻度が高いことを示す “2”の代わりに、非0変換係数の発生頻度が中程度であることを示す“1”としてもよい。
この場合、次の式によりコンテキストインデックスを導出することができる。
sigCtx = 1
[作用・効果]
[[パターン0に関して]]
以上、変形例8−1の構成によれば、動画像復号装置1は、上記コンテキストインデックス導出手段は、右に隣接する右隣接サブブロックおよび下に隣接する下隣接サブブロックについてサブブロック係数有無フラグを判定し、右隣接サブブロックおよび下隣接サブブロックの両方において非0変換係数が存在しないと判定されたとき、該判定結果に基づいて、サブブロック内の係数位置を表わすxBとyBの和が第1の閾値以下の場合に、非0変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出し、上記xBとyBの和が第1の閾値より大きく、かつ、第2の閾値以下の場合に、非0変換係数の発生確率が中程度である場合に対応する上記コンテキストインデックスを導出し、上記xBとyBの和が第2の閾値より大きい場合に、非0変換係数の発生確率が低い場合に対応する上記コンテキストインデックスを導出する構成であり、実際の変換係数の発生確率に、より適合したコンテキスト導出パターンを実現することができ、これにより符号化効率の低下をさらに抑えつつ、コンテキストインデックスの導出を簡略化することができる。特に、第1の閾値を2、第2の閾値を3と設定することにより、実際の非0変換係数の発生確率により適合した好適なコンテキストインデックスを導出することができる。特に、8×8TU〜32×32TUまでコンテキストインデックスの導出を共通化する場合は、第1の閾値を1、第2の閾値を2と設定することにより、実際の非0変換係数の発生確率により適合した好適なコンテキストインデックスを導出することができる。また、第1の閾値を2、第2の閾値を3と設定しても好適である。
[[パターン1〜2に関して]]
以上、変形例8−1の構成によれば、動画像復号装置1は、上記コンテキストインデックス導出手段は、右に隣接する右隣接サブブロックおよび下に隣接する下隣接サブブロックについてサブブロック係数有無フラグを判定し、右隣接サブブロックまたは下隣接サブブロックのいずれか一方において非0変換係数が存在しないと判定されたとき、非0変換係数が存在しないと判定されたサブブロックの隣接方向に応じて、サブブロック内の係数位置を表わすxBとyBのうちいずれか一方の係数位置を選択し、上記係数位置と第1の閾値以下の場合に、非0変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出し、上記係数位置が第1の閾値より大きく、かつ、第2の閾値以下の場合に、非0変換係数の発生確率が中程度である場合に対応する上記コンテキストインデックスを導出し、上記係数位置が第2の閾値より大きい場合に、非0変換係数の発生確率が低い場合に対応する上記コンテキストインデックスを導出する構成であり、実際の変換係数の発生確率に、より適合したコンテキスト導出パターンを実現することができ、これにより符号化効率の低下を抑えつつ、コンテキストインデックスの導出を簡略化することができる。特に、8×8TU〜32×32TUまでコンテキストインデックスの導出を共通化する場合は、第1の閾値を0、第2の閾値を1と設定することにより、実際の非0変換係数の発生確率により適合した好適なコンテキストインデックスを導出することができる。また、第1の閾値を0、第2の閾値を2と設定しても好適である。
[[パターン3に関して]]
以上、変形例8−1の構成によれば、動画像復号装置1は、上記コンテキストインデックス導出手段は、右に隣接する右隣接サブブロックおよび下に隣接する下隣接サブブロックについてサブブロック係数有無フラグを判定し、右隣接サブブロックまたは下隣接サブブロックの両方において非0変換係数が存在すると判定されたとき、該判定結果に基づいて、非0変換係数のコンテキストインデックスを固定的に導出する構成である。特に、固定的に導出する非0変換係数のコンテキストインデックスを、非0変換係数の発生確率が高いことを表わすコンテキストインデックスに設定することが好適である。また、固定的に導出する非0変換係数のコンテキストインデックスを、非0変換係数の発生確率が中程度であることを表わすコンテキストインデックスに設定しても好適である。これによって、実際の変換係数の発生確率により適合した固定的なコンテキストインデックスを導出することができるため、符号化効率の低減を抑制しつつ、コンテキストインデックスの導出の簡略化をすることができる。
<変形例8−2>
変形例8〜変形例8−1において、パターンインデックスidxCGに対応するサブブロック内のコンテキストインデックスの配置を、8×8TU〜32×32TUまで共通としていたが、これに限定されない。スキャン方向(スキャンインデックスscanIdx)によって、パターン0〜2のコンテキストインデックスの配置を適応的に変えてもよい。これによって、スキャン方向毎の非0変換係数の発生頻度の偏りを考慮して、コンテキストインデックスの配置を変えることによって、変形例8〜8−1と比較して符号化効率の改善を図ることが可能である。なお、変形例8−2の場合、隣接サブブロック係数有無コンテキスト導出部124cには、外部よりスキャン方向(スキャンインデックスscanIdx)が入力されるものとする。
スキャン方向(スキャンインデックスscanIdx)に応じてサブブロック内のコンテキストインデックスの配置を変える場合の各パターンインデックスidxCGに対応するコンテキストインデックスを導出する疑似コードの一例を図70に示す。
発明者らによる実験によれば、8×8TUにおいて斜め方向スキャン、水平方向優先スキャン、垂直方向スキャン時のパターン0における、それぞれの非0変換係数の発生頻度の傾向として、次のことを確認している。
<斜め方向スキャンの場合(scanIdx==0)>
・サブブロック内の係数位置(xB,yB)が、xB+yB<2となる位置の非0変換係数の発生頻度が平均的に高い。
・サブブロック内の係数位置(xB,yB)が、2≦xB+yB<3となる位置の非0変換係数の発生頻度が中程度である。
・サブブロック内の係数位置(xB,yB)が、xB+yB≧3となる位置に非0変換係数の発生頻度が低い。
従って、上記傾向を考慮して、斜め方向スキャン時のパターン0におけるコンテキストインデックスの配置を図71(a)とすることが好適である。
図71(a)の場合、次の式によりコンテキストインデックスを導出することができる。
sigCtx = (xB + yB < 2) ? 2 : (xB + yB < 3) ? 1 : 0
また、上記式を拡張し、次の式によって表わしてもよい。
sigCtx = (xB + yB < TH1) ? 2 : (xB + yB < TH2) ? 1 : 0
すなわち、xB+yBが閾値TH1未満の場合、非0変換係数の発生頻度が高いことを示すコンテキストインデックスを導出し、xB+yBが閾値TH1以上、かつ、閾値TH2未満の場合、非0変換係数の発生頻度が中程度であることを示すコンテキストインデックスを導出し、それ以外の場合(xB+yBが閾値TH2以上の場合)、非0変換係数の発生頻度が低いことを示すコンテキストインデックスを導出する。図71(a)の場合は、閾値TH1=2,閾値TH2=3の場合である。
<水平方向優先スキャンの場合(scanIdx==1)>
水平方向優先スキャンの場合、水平方向の周波数成分に非0変換係数が集中する傾向がある。特に、パターン0の場合、
・サブブロック内の係数位置(xB,yB)が、xB+2×yB<3となる位置の非0変換係数の発生頻度が平均的に高い。
・サブブロック内の係数位置(xB,yB)が、3≦xB+2×yB<5となる位置の非0変換係数の発生頻度が中程度である。
・サブブロック内の係数位置(xB,yB)が、xB+2×yB≧5となる位置に非0変換係数の発生頻度が低い。
従って、上記傾向を考慮して、垂直方向優先スキャン時のパターン0におけるコンテキストインデックスの配置を図71(b)とすることが好適である。
図71(b)の場合、次の式によりコンテキストインデックスを導出することができる。
sigCtx = (xB + 2 * yB < 3) ? 2 : (xB + 2 * yB < 5) ? 1 : 0
また、上記式を拡張し、次の式によって表わしてもよい。
sigCtx = (W1*xB + W2*yB < TH3) ? 2 : (W1*xB + W2*yB < TH4) ? 1 : 0
すなわち、加重和“W1×xB+W2×yB”が閾値TH3未満の場合、非0変換係数の発生頻度が高いことを示すコンテキストインデックスを導出し、加重和“W1×xB+W2×yB”が閾値TH3以上、かつ、閾値TH4未満の場合、非0変換係数の発生頻度が中程度であることを示すコンテキストインデックスを導出し、それ以外の場合(加重和“W1×xB+W2×yB”が閾値TH4以上の場合)、非0変換係数の発生頻度が低いことを示すコンテキストインデックスを導出する。図71(b)の場合は、重み係数W1=1、重み係数W2=2、閾値TH3=3、閾値TH4=5の場合である。また、水平方向優先スキャンの場合は、水平方向に非0変換係数が集中するため、重み係数W1=1、重み係数W2=1、閾値TH3=1、閾値TH4=2とし、加重和の算出を簡略化し、図29(b)に示すコンテキストインデックスを導出してもよい。また、重み係数W1=1、重み係数W2=3、閾値TH3=4、閾値TH4=8とし、図72(a)に示すコンテキストインデックスの配置としてもよい。
<垂直方向優先スキャンの場合(scanIdx==2)>
垂直方向優先スキャンの場合、垂直方向の周波数成分に非0変換係数が集中する傾向がある。特に、パターン0の場合、
・サブブロック内の係数位置(xB,yB)が、2×xB+yB<3となる位置の非0変換係数の発生頻度が平均的に高い。
・サブブロック内の係数位置(xB,yB)が、3≦2×xB+yB<5となる位置の非0変換係数の発生頻度が中程度である。
・サブブロック内の係数位置(xB,yB)が、2×xB+yB≧5となる位置に非0変換係数の発生頻度が低い。
従って、上記傾向を考慮して、垂直方向優先スキャン時のパターン0におけるコンテキストインデックスの配置を図71(c)とすることが好適である。
図71(c)の場合、次の式によりコンテキストインデックスを導出することができる。
sigCtx = (2 * xB + yB < 3) ? 2 : (2 * xB + yB < 5) ? 1 : 0
また、上記式を拡張し、次の式によって表わしてもよい。
sigCtx = (W3*xB + W4*yB < TH5) ? 2 : (W3*xB + W4*yB < TH6) ? 1 : 0
すなわち、加重和“W3×xB+W4×yB”が閾値TH5未満の場合、非0変換係数の発生頻度が高いことを示すコンテキストインデックスを導出し、加重和“W3×xB+W4×yB”が閾値TH5以上、かつ、閾値TH6未満の場合、非0変換係数の発生頻度が中程度であることを示すコンテキストインデックスを導出し、それ以外の場合(加重和“W3×xB+W4×yB”が閾値TH6以上の場合)、非0変換係数の発生頻度が低いことを示すコンテキストインデックスを導出する。図71(c)の場合は、重み係数W3=2、重み係数W4=1、閾値TH5=3,閾値TH6=5の場合である。また、垂直方向優先スキャンの場合は、垂直方向に非0変換係数が集中するため、重み係数W1=1、重み係数W2=1、閾値TH5=1、閾値TH6=2とし、加重和の算出を簡略化し、図29(c)に示すコンテキストインデックスを導出してもよい。また、重み係数W1=3、重み係数W2=1、閾値TH5=4、閾値TH6=8とし、図72(b)に示すコンテキストインデックスの配置としてもよい。
(パターン1〜3の場合)
図71(d)〜(f)にそれぞれ示すように、図29(b)、図29(c)、図29(d)の変形例5−1と同じ導出方法、同じ値の配置である。
なお、パターン1〜3に関しては、変形例5−1〜変形例5−7におけるパターン1〜3のいずれかと同じ導出方法、同じ値の配置としてもよい。
なお、パターン1、及びパターン2に関しても、スキャン方向毎の方向性による非0変換係数の偏りを考慮して、パターン0と同様に、スキャン方向毎によって、コンテキストインデックスの配置を適応的に変えてもよい。例えば、図73に示す疑似コードによって、コンテキストインデックスを導出する。なお、パターン0、パターン3に関しては、図70に示す疑似コードのパターン0、パターン3と同じため説明を省略する。
(パターン1の場合)
斜め方向スキャンの場合、次の式により図29(b)に示すコンテキストインデックスを導出する。
sigCtx = (yB==0) ? 2 : (yB==1) ? 1 : 0
水平方向優先スキャンの場合、次の式により図72(a)に示すコンテキストインデックスを導出する。
sigCtx = (xB + 3*yB<4) ? 2 : (xB + 3*yB<8) ? 1 : 0
垂直方向優先スキャンの場合、次の式により図72(b)に示すコンテストインデックスを導出する。
sigCtx = (3*xB + yB<4) ? 2 : (3*xB + yB<8) ? 1 : 0
(パターン2の場合)
斜め方向スキャンの場合、次の式により図29(c)に示すコンテキストインデックスを導出する。
sigCtx = (xB==0) ? 2 : (xB==1) ? 1 : 0
水平方向優先スキャンの場合、次の式により図72(a)に示すコンテキストインデックスを導出する。
sigCtx = (xB + 3*yB<4) ? 2 : (xB + 3*yB<8) ? 1 : 0
垂直方向優先スキャンの場合、次の式により図72(b)に示すコンテストインデックスを導出する。
sigCtx = (3*xB + yB<4) ? 2 : (3*xB + yB<8) ? 1 : 0
以上、変形例8−2の構成によれば、動画像復号装置1は、上記コンテキストインデックス導出手段は、処理対象のサブブロックに対して、右に隣接する右隣接サブブロックおよび下に隣接する下隣接サブブロックについてサブブロック係数有無フラグを判定し該判定結果に基づいて、コンテキストインデックスを導出する。
スキャンインデックスが斜め方向スキャンを示す場合は、サブブロック内の係数位置を表わすxBとyBの和が第1の閾値未満の場合に、非0変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出し、上記xBとyBの和が第1の閾値以上、かつ、第2の閾値未満の場合に、非0変換係数の発生確率が中程度である場合に対応する上記コンテキストインデックスを導出し、上記xBとyBの和が第2の閾値以上の場合に、非0変換係数の発生確率が低い場合に対応する上記コンテキストインデックスを導出する。
また、スキャンインデックスが水平方向優先スキャンを示す場合は、サブブロック内の係数位置を表わすxBとyBから定まる加重和W1×xB+W2×yBの値が第3の閾値未満の場合に、非0変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出し、上記加重和W1×xB+W2×yBの値が第3の閾値以上、、かつ、第4の閾値未満の場合に、非0変換係数の発生確率が中程度である場合に対応する上記コンテキストインデックスを導出し、上記加重和W1×xB+W2×yBの値が第4の閾値以上の場合に、非0変換係数の発生確率が低い場合に対応する上記コンテキストインデックスを導出する。
また、スキャンインデックスが垂直方向優先スキャンを示す場合は、サブブロック内の係数位置を表わすxBとyBから定まる加重和W3×xB+W4×yBの値が第3の閾値未満の場合に、非0変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出し、上記加重和W3×xB+W4×yBの値が第3の閾値以上、かつ、第4の閾値未満の場合に、非0変換係数の発生確率が中程度である場合に対応する上記コンテキストインデックスを導出し、上記加重和W3×xB+W4×yBの値が第4の閾値以上の場合に、非0変換係数の発生確率が低い場合に対応する上記コンテキストインデックスを導出する構成である。
よって、スキャンインデックスによってコンテキスト導出パターンを切り替えることによって、スキャンインデックスが示すスキャン方向毎の実際の変換係数の発生確率に、より適合したコンテキスト導出パターンを実現することができ、これにより符号化効率の向上を図ることができる。特に、8×8TU〜32×32TUまでコンテキストインデックスの導出を共通化する場合は、上記該判定結果が、右隣接サブブロックおよび下隣接サブブロックの両方において非0変換係数が存在しないと判定されたとき、斜め方向スキャンに関して、第1の閾値を2、第2の閾値を3と設定することにより、実際の非0変換係数の発生確率により適合した好適なコンテキストインデックスを導出することができる。また、第1の閾値を1、第2の閾値を2と設定しても好適である。また、水平方向優先スキャンの場合、重み係数W1を1、重み係数W2を2、第3の閾値を3、第4の閾値を5と設定することにより、実際の非0変換係数の発生確率により適合した好適なコンテキストインデックスを導出することができる。また、垂直方向優先スキャンの場合、重み係数W2を2、重み係数W2を1、第3の閾値を3、第4の閾値を5と設定することにより、実際の非0変換係数の発生確率により適合した好適なコンテキストインデックスを導出することができる。
また上記該判定結果が、右隣接サブブロックまたは下隣接サブブロックのいずれか一方において非0変換係数が存在しないと判定されたとき、斜め方向スキャンに関して、第1の閾値を1、第2の閾値を2と設定することにより、実際の非0変換係数の発生確率により適合した好適なコンテキストインデックスを導出することができる。また、水平方向優先スキャンの場合、重み係数W1を1、重み係数W2を3、第3の閾値を4、第4の閾値を8と設定することにより、実際の非0変換係数の発生確率により適合した好適なコンテキストインデックスを導出することができる。また、垂直方向優先スキャンの場合、重み係数W2を3、重み係数W2を1、第3の閾値を4、第4の閾値を8と設定することにより、実際の非0変換係数の発生確率により適合した好適なコンテキストインデックスを導出することができる。
また上記該判定結果が、右隣接サブブロック及び下隣接サブブロックの両方において非0変換係数が存在すると判定されたとき、固定のコンテキストインデックスを導出することで、コンテキストインデックスの導出の簡略化を図ることができる。
ここで、xBおよびyBの加重和であるW1×xB+W2×yB、および、W3×xB+W4×yBに用いる重みW1〜W4は上記に限られず、スキャンタイプの方向性に応じて任意に設定することができる。また、閾値TH1〜TH6も上記に限られず、スキャンタイプの方向性毎の非0変換係数の発生頻度に応じて適宜設定することができる。
なお、上記変形例8〜8−2では、8×8TU〜32×32TUまでを隣接サブブロック係数有無コンテキスト導出部124cによって非0変換係数のコンテキストインデックスを導出する例を示したが、4×4TUに対しても適用してもよい。4×4TUの場合は、参照可能なサブブロック係数有無フラグを有する隣接サブブロックはないため、パターンインデックスidxCGは0のみとなる。この場合、DCを除いて、4×4TU〜32×32TUまでの非0変換係数のコンテキストインデックス導出を隣接サブブロック係数有無コンテキスト導出部124cにより統一することができるため、回路規模の削減、コンテキストインデックス導出処理の簡略化、コンテキスト数の削減の効果が得られる。また、4×4〜32×32TUまでのDC成分に関しても、上記隣接サブブロック係数有無コンテキスト導出部124cによりコンテキストインデックスを導出してもよい。それにより、更なる回路規模の削減、コンテキストインデックス導出処理の簡略化、コンテキスト数の削減の効果が得られる。
(変換係数復号部120による処理の流れ)
以下では、変換係数復号部120による変換係数復号処理の流れについて、図39〜42を参照して説明する。
図39は、変換係数復号部120による変換係数復号処理の流れを示すフローチャートである。
(ステップS21)
まず、変換係数復号部120の備える係数復号制御部123は、スキャンインデックスscanIdxを設定する。
(ステップS22)
続いて、変換係数復号部120の備えるラスト係数位置復号部121は、順スキャンに沿って最後の変換係数の位置を示すシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを復号する。
(ステップS23)
続いて、係数復号制御部123は、サブブロックを単位とするループを開始する。なお、ラスト係数のあるサブブロックをループの開始位置とし、サブブロックスキャンの逆スキャン順に、サブブロック単位の復号処理が行われる。
(ステップS24)
続いて、変換係数復号部120の備えるサブブロック係数有無フラグ復号部127は、サブブロック係数有無フラグsignificant_coeff_group_flagを復号する。
(ステップS25)
続いて、変換係数復号部120の備える係数有無フラグ復号部124は、対象サブブロック内の各非ゼロ変換係数有無フラグsignificant_coeff_flagを復号する。
(ステップS26)
続いて、変換係数復号部120の備える係数値復号部125は、対象サブグループ内の非0変換係数の符号及び大きさを復号する。これは、各シンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、coeff_abs_level_remainingを復号することによって行われる。
(ステップS27)
本ステップは、サブブロックを単位とするループの終端である。(ステップS23のサブブロックを単位とするループの終端)
[サブブロック係数有無フラグの復号処理]
図40は、サブブロック係数有無フラグを復号する処理(図39のステップS24)をより具体的に説明するためのフローチャートである。
サブブロック係数有無フラグ復号部127は、サブブロックのループを開始する前に対象周波数領域に含まれるサブブロック係数有無フラグsignificant_coeff_group_flagの値を初期化する。この初期化処理は、DC係数を含むサブブロックのサブブロック係数有無フラグと、ラスト係数を含むサブブロックのサブブロック係数有無フラグとを1に設定し、その他のサブブロック係数有無フラグを0に設定することによって行われる。
(ステップS244)
サブブロック係数有無フラグ復号部124は、サブブロックの位置を取得する。
(ステップS247)
係数有無フラグ復号部124は、対象サブブロックがラスト係数、もしくはDC係数を含むサブブロックであるか否かを判別する。
(ステップS248)
対象サブブロックがラスト係数、もしくはDC係数を含むサブブロックでないとき(ステップS247でNo)、係数有無フラグ復号部124は、サブブロック係数有無フラグsignificant_coeff_group_flagを復号する。
[係数有無フラグの復号処理]
図41は、サブブロック内の各非ゼロ変換係数有無フラグsignificant_coeff_flagを復号する処理(図39のステップS25)をより具体的に説明するためのフローチャートである。
(ステップS254)
続いて、係数有無フラグ復号部124は、対象サブブロック内のループを開始する。当該ループは、周波数成分を単位とするループである。
(ステップS255)
続いて、係数有無フラグ復号部124は、変換係数の位置を取得する。
(ステップS256)
続いて、係数有無フラグ復号部124は、対象サブブロックに非0変換係数が存在するか否かを判別する。
(ステップS257)
対象サブブロックに非0変換係数が存在する場合(ステップS256でYes)、係数有無フラグ復号部124は、取得した変換係数の位置がラスト位置であるか否かを判別する。
(ステップS254)
取得した変換係数の位置がラスト位置でないとき(ステップS257でNo)、係数有無フラグ復号部124は、処理対象の変換係数に関して所定の方法によりコンテキストインデックスを導出する。その詳細動作については、後に説明する。
(ステップS258)
ステップS254の次に、係数有無フラグ復号部124は、変換係数有無フラグsignificant_coeff_flagを復号する。
(ステップS259)
本ステップは、対象サブブロック内の周波数成分を単位とするループの終端である。(ステップS259のサブブロック内のループの終端)
<<コンテキストインデックスの導出処理>>
図42は、係数有無フラグ復号部124におけるコンテキストインデックスの導出処理の流れの一例を示すフローチャートである。いいかえれば、図42は、係数有無フラグ復号部124が備えるTUサイズ判定部124a、位置コンテキスト導出部124b、および隣接サブブロック変換係数有無コンテキスト導出部124cの動作(図41のステップS253の詳細の動作)を示すフローチャートである。
(ステップSB101)
TUサイズ判定部124aは、TUサイズが所定サイズより小さいか?を判定する。判定で例えば以下の式を用いる。
log2TrafoWidth + log2TrafoHeight < THSize
なお、閾値THSizeとしては例えば6が用いられる。閾値THsizeに6を用いた場合には、4×4TUが所定サイズより小さいと判定される。8×8TU、16×4TU、4×16TU、16×16TU、32×4TU、4×32TU、32×32TUは所定サイズ以上であると判定されることになる。なお、閾値THSizeは0としてもよい。この場合、4×4TU〜32×32TUが所定サイズ以上であると判定されることになる。
(ステップSB104)
処理対象のTUサイズが所定サイズ以上の場合(ステップSB101でNo)、TUサイズ判定部124aは、コンテキスト導出手段として、隣接サブブロック変換係数有無コンテキスト導出部124cを選択し、選択された隣接サブブロック変換係数有無コンテキスト導出部124cによって、対象変換係数のコンテキストインデックスが導出される。
(ステップSB105)
処理対象のTUサイズが所定サイズ未満である場合(ステップSB101においてYes)、TUサイズ判定部124aは、コンテキスト導出手段として、位置コンテキスト導出部124bを選択し、選択された位置コンテキスト導出部124bによって、対象変換係数のコンテキストインデックスが導出される。
なお、上記に限られず、TUサイズ判定部124aは、4×4TU〜32×32TUまでのTUサイズについて、共通のコンテキストインデックスctxIdx導出処理を実行する構成であっても構わない。すなわち、TUサイズ判定部124aは、TUのサイズによらず、位置コンテキスト導出部124b、及び隣接サブブロック係数有無コンテキスト導出部124cのいずれかを固定的に選択する構成であっても構わない。
〔動画像符号化装置2〕
本実施形態に係る動画像符号化装置2の構成について図43〜図47を参照して説明する。動画像符号化装置2は、H.264/MPEG−4 AVC規格に採用されている技術、および、その後継コーデックであるHEVC(High-Efficiency Video Coding)にて提案されている技術を実装している符号化装置である。以下では、既に説明した部分と同じ部分については同じ符号を付し、その説明を省略する。
図43は、動画像符号化装置2の構成を示すブロック図である。図43に示すように、動画像符号化装置2は、予測画像生成部21、変換・量子化部22、逆量子化・逆変換部23、加算器24、フレームメモリ25、ループフィルタ26、可変長符号符号化部27、および、減算器28を備えている。また、図43に示すように、予測画像生成部21は、イントラ予測画像生成部21a、動きベクトル検出部21b、インター予測画像生成部21c、予測方式制御部21d、および、動きベクトル冗長性削除部21eを備えている。動画像符号化装置2は、動画像#10(符号化対象画像)を符号化することによって、符号化データ#1を生成する装置である。
(予測画像生成部21)
予測画像生成部21は、処理対象LCUを、1または複数の下位CUに再帰的に分割し、各リーフCUをさらに1または複数のパーティションに分割し、パーティション毎に、画面間予測を用いたインター予測画像Pred_Inter、または、画面内予測を用いたイントラ予測画像Pred_Intraを生成する。生成されたインター予測画像Pred_Interおよびイントラ予測画像Pred_Intraは、予測画像Predとして、加算器24および減算器28に供給される。
なお、予測画像生成部21は、スキップモードの適応されたPUについては、当該PUに属する他のパラメータの符号化を省略する。また、(1)対象LCUにおける下位CUおよびパーティションへの分割の態様、(2)スキップモードを適用するか否か、および、(3)パーティション毎にインター予測画像Pred_Interおよびイントラ予測画像Pred_Intraの何れを生成するか、は、符号化効率を最適化するように決定される。
(イントラ予測画像生成部21a)
イントラ予測画像生成部21aは、画面内予測によって、各パーティションに関する予測画像Pred_Intraを生成する。具体的には、(1)各パーティションついてイントラ予測に用いる予測モードを選択し、(2)選択した予測モードを用いて、復号画像Pから予測画像Pred_Intraを生成する。イントラ予測画像生成部21aは、生成したイントラ予測画像Pred_Intraを、予測方式制御部21dに供給する。
また、イントラ予測画像生成部21aは、対象パーティションの周辺のパーティションに割り付けられた予測モードから対象パーティションに対する推定予測モードを決定し、当該推定予測モードと、対象パーティションについて実際に選択された予測モードとが同じであるか否かを示す推定予測モードフラグを、イントラ予測パラメータPP_Intraの一部として、予測方式制御部21dを介して可変長符号符号化部27に供給し、可変長符号符号化部27は、当該フラグを、符号化データ#1に含める構成とする。
また、イントラ予測画像生成部21aは、対象パーティションについての推定予測モードと、対象パーティションについて実際に選択された予測モードとが異なる場合には、対象パーティションについての予測モードを示す残余予測モードインデックスを、イントラ予測パラメータPP_Intraの一部として、予測方式制御部21dを介して可変長符号符号化部27に供給し、可変長符号符号化部27は当該残余予測モードインデックスを符号化データ#1に含める構成とする。
なお、イントラ予測画像生成部21aは、予測画像Pred_Intraを生成する際に、図11に示した予測モードから、より符号化効率が向上する予測モードを選択して適用する。
(動きベクトル検出部21b)
動きベクトル検出部21bは、各パーティションに関する動きベクトルmvを検出する。具体的には、(1)参照画像として利用する適応フィルタ済復号画像P_ALF’を選択し、(2)選択した適応フィルタ済復号画像P_ALF’において対象パーティションを最良近似する領域を探索することによって、対象パーティションに関する動きベクトルmvを検出する。ここで、適応フィルタ済復号画像P_ALF’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ26による適応的フィルタ処理を施すことによって得られる画像であり、動きベクトル検出部21bは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ25から読み出すことができる。動きベクトル検出部21bは、検出した動きベクトルmvを、参照画像として利用した適応フィルタ済復号画像P_ALF’を指定する参照画像インデックスRIと共に、インター予測画像生成部21c及び動きベクトル冗長性削除部21eに供給する。
(インター予測画像生成部21c)
インター予測画像生成部21cは、画面間予測によって、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル検出部21bから供給された動きベクトルmvを用いて、動きベクトル検出部21bから供給された参照画像インデックスRIによって指定される適応フィルタ済復号画像P_ALF’から動き補償画像mcを生成する。動きベクトル検出部21bと同様に、インター予測画像生成部21cは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ25から読み出すことができる。インター予測画像生成部21cは、生成した動き補償画像mc(インター予測画像Pred_Inter)を、動きベクトル検出部21bから供給された参照画像インデックスRIと共に、予測方式制御部21dに供給する。
(予測方式制御部21d)
予測方式制御部21dは、イントラ予測画像Pred_Intra及びインター予測画像Pred_Interを符号化対象画像と比較し、イントラ予測を行うかインター予測を行うかを選択する。イントラ予測を選択した場合、予測方式制御部21dは、イントラ予測画像Pred_Intraを予測画像Predとして加算器24及び減算器28に供給すると共に、イントラ予測画像生成部21aから供給されるイントラ予測パラメータPP_Intraを可変長符号符号化部27に供給する。一方、インター予測を選択した場合、予測方式制御部21dは、インター予測画像Pred_Interを予測画像Predとして加算器24及び減算器28に供給すると共に、参照画像インデックスRI、並びに、後述する動きベクトル冗長性削除部21eから供給された推定動きベクトルインデックスPMVI及び動きベクトル残差MVDをインター予測パラメータPP_Interとして可変長符号符号化部27に供給する。また、予測方式制御部21dは、イントラ予測画像Pred_Intra及びインター予測画像Pred_Interのうち何れの予測画像を選択したのかを示す予測タイプ情報Pred_typeを可変長符号符号化部27に供給する。
(動きベクトル冗長性削除部21e)
動きベクトル冗長性削除部21eは、動きベクトル検出部21bによって検出された動きベクトルmvにおける冗長性を削除する。具体的には、(1)動きベクトルmvの推定に用いる推定方法を選択し、(2)選択した推定方法に従って推定動きベクトルpmvを導出し、(3)動きベクトルmvから推定動きベクトルpmvを減算することにより動きベクトル残差MVDを生成する。動きベクトル冗長性削除部21eは、生成した動きベクトル残差MVDを、選択した推定方法を示す推定動きベクトルインデックスPMVIと共に、予測方式制御部21dに供給する。
(変換・量子化部22)
変換・量子化部22は、(1)符号化対象画像から予測画像Predを減算した予測残差Dに対してブロック(変換単位)毎にDCT変換(Discrete Cosine Transform)等の周波数変換を施し、(2)周波数変換により得られた変換係数Coeff_IQを量子化し、(3)量子化により得られた変換係数Coeffを可変長符号符号化部27及び逆量子化・逆変換部23に供給する。なお、変換・量子化部22は、(1)量子化の際に用いる量子化ステップQPをTU毎に選択し、(2)選択した量子化ステップQPの大きさを示す量子化パラメータ差分Δqpを可変長符号符号化部27に供給し、(3)選択した量子化ステップQPを逆量子化・逆変換部23に供給する。ここで、量子化パラメータ差分Δqpとは、周波数変換及び量子化するTUに関する量子化パラメータqp(例えばQP=2pq/6)の値から、直前に周波数変換及び量子化したTUに関する量子化パラメータqp’の値を減算して得られる差分値のことを指す。
なお、変換・量子化部22によって行われるDCT変換は、例えば、対象ブロックのサイズが8×8画素である場合、水平方向の周波数uおよび垂直方向の周波数vについての量子化前の変換係数をCoeff_IQ(u、v)(0≦u≦7、0≦v≦7)と表すことにすると、例えば、以下の数式(2)によって与えられる。
Figure 0006190361
ここで、D(i、j)(0≦i≦7、0≦j≦7)は、対象ブロックにおける位置(i、j)での予測残差Dを表している。また、C(u)およびC(v)は、以下のように与えられる。
・C(u)=1/√2 (u=0)
・C(u)=1 (u≠0)
・C(v)=1/√2 (v=0)
・C(v)=1 (v≠0)
(逆量子化・逆変換部23)
逆量子化・逆変換部23は、(1)量子化された変換係数Coeffを逆量子化し、(2)逆量子化によって得られた変換係数Coeff_IQに対して逆DCT(Discrete Cosine Transform)変換等の逆周波数変換を施し、(3)逆周波数変換によって得られた予測残差Dを加算器24に供給する。量子化された変換係数Coeffを逆量子化する際には、変換・量子化部22から供給された量子化ステップQPを利用する。なお、逆量子化・逆変換部23から出力される予測残差Dは、変換・量子化部22に入力される予測残差Dに量子化誤差が加わったものであるが、ここでは簡単のために共通の呼称を用いる。逆量子化・逆変換部23のより具体的な動作は、動画像復号装置1の備える逆量子化・逆変換部13とほぼ同様である。
(加算器24)
加算器24は、予測方式制御部21dにて選択された予測画像Predを、逆量子化・逆変換部23にて生成された予測残差Dに加算することによって、(局所)復号画像Pを生成する。加算器24にて生成された(局所)復号画像Pは、ループフィルタ26に供給されると共にフレームメモリ25に格納され、イントラ予測における参照画像として利用される。
(可変長符号符号化部27)
可変長符号符号化部27は、(1)変換・量子化部22から供給された量子化後の変換係数Coeff並びにΔqp、(2)予測方式制御部21dから供給された量子化パラメータPP(インター予測パラメータPP_Inter、および、イントラ予測パラメータPP_Intra)、(3)予測タイプ情報Pred_type、および、(4)ループフィルタ26から供給されたフィルタパラメータFPを可変長符号化することによって、符号化データ#1を生成する。
図44は、可変長符号符号化部27の構成を示すブロック図である。図44に示すように、可変長符号符号化部27は、量子化後の変換係数Coeffを符号化する量子化残差情報符号化部271、予測パラメータPPを符号化する予測パラメータ符号化部272、予測タイプ情報Pred_typeを符号化する予測タイプ情報符号化部273、および、フィルタパラメータFPを符号化するフィルタパラメータ符号化部274を備えている。量子化残差情報符号化部271の具体的な構成については後述するためここでは説明を省略する。
(減算器28)
減算器28は、予測方式制御部21dにて選択された予測画像Predを、符号化対象画像から減算することによって、予測残差Dを生成する。減算器28にて生成された予測残差Dは、変換・量子化部22によって周波数変換及び量子化される。
(ループフィルタ26)
ループフィルタ26は、(1)復号画像Pにおけるブロック境界、またはパーティション境界の周辺の画像の平滑化(デブロック処理)を行うデブロッキングフィルタ(DF:Deblocking Filter)としての機能と、(2)デブロッキングフィルタが作用した画像に対して、フィルタパラメータFPを用いて適応フィルタ処理を行う適応フィルタ(ALF:Adaptive Loop Filter)としての機能を有している。
(量子化残差情報符号化部271の詳細)
量子化残差情報符号化部271は、量子化された変換係数Coeff(xC、yC)をコンテキスト適応型2値算術符号化(CABAC:(Context-based Adaptive Binary Arithmetic Coding))することによって、量子化残差情報QDを生成する。生成された量子化残差情報QDに含まれるシンタックスは、既に説明したとおりである。
なお、xCおよびyCは、上述のように、周波数領域における各周波数成分の位置を表すインデックスであり、それぞれ、上述した水平方向周波数uおよび垂直方向周波数vに対応するインデックスである。なお、以下では、量子化された変換係数Coeffを、単に、変換係数Coeffと呼ぶこともある。
図45は、量子化残差情報符号化部271の構成を示すブロック図である。図45に示すように、量子化残差情報符号化部271は、変換係数符号化部220及び算術符号符号化部230を備えている。
(算術符号符号化部230)
算術符号符号化部230は、変換係数符号化部220から供給される各Binをコンテキストを参照して符号化することによって量子化残差情報QDを生成するための構成であり、図45に示すように、コンテキスト記録更新部231及びビット符号化部232を備えている。
[コンテキスト記録更新部231]
コンテキスト記録更新部231は、各コンテキストインデックスctxIdxによって管理されるコンテキスト変数CVを記録及び更新するための構成である。ここで、コンテキスト変数CVには、(1)発生確率が高い優勢シンボルMPS(most probable symbol)と、(2)その優勢シンボルMPSの発生確率を指定する確率状態インデックスpStateIdxとが含まれている。
コンテキスト記録更新部231は、変換係数符号化部220の備える各部から供給されるコンテキストインデックスctxIdx及びビット符号化部232によって符号化されたBinの値を参照することによってコンテキスト変数CVを更新すると共に、更新されたコンテキスト変数CVを次回更新されるまで記録する。なお、優勢シンボルMPSは0か1である。また、優勢シンボルMPSと確率状態インデックスpStateIdxは、ビット符号化部232がBinを1つ符号化する毎に更新される。
また、コンテキストインデックスctxIdxは、各周波数成分についてのコンテキストを直接指定するものであってもよいし、処理対象のTU毎に設定されるコンテキストインデックスのオフセットからの増分値であってもよい(以下同様)。
[ビット符号化部232]
ビット符号化部232は、コンテキスト記録更新部231に記録されているコンテキスト変数CVを参照し、変換係数符号化部220の備える各部から供給される各Binを符号化することによって量子化残差情報QDを生成する。また、符号化したBinの値はコンテキスト記録更新部231にも供給され、コンテキスト変数CVを更新するために参照される。
(変換係数符号化部220)
図44に示すように、変換係数符号化部220は、ラスト位置符号化部221、スキャン順テーブル格納部222、係数符号化制御部223、係数有無フラグ符号化部224、係数値符号化部225、符号化係数記憶部226、サブブロック係数有無フラグ227、及びシンタックス導出部228を備えている。
[シンタックス導出部228]
シンタックス導出部228は、変換係数Coeff(xC、yC)の各値を参照し、対象周波数領域におけるこれらの変換係数を特定するためのシンタックスlast_significant_coeff_x、last_significant_coeff_y、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_remainingの各値を導出する。導出された各シンタックスは、符号化係数記憶部226に供給される。また、導出されたシンタックスのうちlast_significant_coeff_x、last_significant_coeff_yは、係数符号化制御部223及びラスト位置符号化部221にも供給される。また、導出されたシンタックスのうちsignificant_coeff_flagは、係数有無フラグ符号化部224にも供給される。なお、各シンタックスが示す内容については上述したためここでは説明を省略する。
[ラスト位置符号化部221]
ラスト位置符号化部221は、シンタックス導出部228より供給されるシンタックスlast_significant_coeff_x、last_significant_coeff_yを示すBinを生成する。また、生成した各Binをビット符号化部232に供給する。また、シンタックスlast_significant_coeff_x及びlast_significant_coeff_yのBinを符号化するために参照されるコンテキストを指定するコンテキストインデックスctxIdxを、コンテキスト記録更新部231に供給する。
[スキャン順テーブル格納部222]
スキャン順テーブル格納部222には、処理対象のTU(ブロック)のサイズ、スキャン方向の種別を表すスキャンインデックス、及びスキャン順に沿って付与された周波数成分識別インデックスを引数として、処理対象の周波数成分の周波数領域における位置を与えるテーブルが格納されている。このようなスキャン順テーブルの一例としては、図4及び図5に示したScanOrderが挙げられる。
また、スキャン順テーブル格納部222には、サブブロックのスキャン順を指定するためのサブブロックスキャン順テーブルが格納されている。ここで、サブブロックスキャン順テーブルは、処理対象のTU(ブロック)のサイズとイントラ予測モードの予測モードインデックスとに関連付けられたスキャンインデックスscanIdxによって指定される。
スキャン順テーブル格納部222に格納されているスキャン順テーブル及びサブブロックスキャン順テーブルは、動画像復号装置1の備えるスキャン順テーブル格納部122に格納されているものと同様であるので、ここでは説明を省略する。
[係数符号化制御部223]
係数符号化制御部223は、量子化残差情報符号化部271の備える各部における符号化処理の順序を制御するための構成である。
具体的には、係数符号化制御部223は、サブブロック分割や、サブブロックスキャン順に従った各サブブロック位置の供給、サブブロック内スキャン順に従った各周波数成分の位置の供給を行う。
係数符号化制御部223は、スキャン順および/またはTUサイズに応じてサブブロックサイズを導出し、導出されたサブブロックサイズでTUを分割することでTUをサブブロックに分割する。分割の方法は、図14および図15に示したとおりであるので、ここではその説明を省略する。
(TUサイズが所定のサイズ以下である場合)
TUサイズが所定のサイズ以下(例えば4×4TU等)である場合、係数符号化制御部223は、シンタックス導出部228より供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非0変換係数の位置を特定すると共に、特定した最後の非0変換係数の位置を起点とするスキャン順であって、スキャン順テーブル格納部222に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各周波数成分の位置(xC、yC)を、係数有無フラグ符号化部に供給する。
また、係数符号化制御部223は、処理対象のTUのサイズを、変換係数符号化部220の備える各部に供給する(図示省略)。
なお、係数符号化制御部223は、スキャン順テーブル格納部222に格納されたスキャン順テーブルよって与えられるスキャン順の順スキャン順に、各周波数成分の位置(xC、yC)を、係数有無フラグ符号化部224に供給する構成としてもよい。
(TUサイズが所定のサイズよりも大きい場合)
TUサイズが所定のサイズよりも大きい場合、係数符号化制御部223は、シンタックス導出部228から供給されるシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを参照し、順スキャンに沿った最後の非0変換係数の位置を特定すると共に、特定した最後の非0変換係数を含むサブブロックの位置を起点とするスキャン順であって、スキャン順テーブル格納部222に格納されたサブブロックスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、各サブブロックの位置(xCG、yCG)を、サブブロック係数有無フラグ符号化部227に供給する。
また、係数符号化制御部223は、処理対象となるサブブロックに関して、スキャン順テーブル格納部222に格納されたスキャン順テーブルよって与えられるスキャン順の逆スキャン順に、当該処理対象となるサブブロックに含まれる各周波数成分の位置(xC、yC)を、係数有無フラグ符号化部224に供給する。ここで、処理対象となるサブブロックに含まれる各周波数成分のスキャン順としては、イントラ予測の場合には、イントラ予測モードインデックスIntraPredModeと、TUサイズを指定する値log2TrafoSizeとによって指定されるスキャンインデックスscanIdxの示すスキャン順(水平方向優先スキャン、垂直方向優先スキャン、斜め方向スキャンのいずれか)を用い、インター予測の場合には、斜め方向スキャン(Up-right diagonal scan)を用いればよい。また、係数符号化制御部223は、当該TUのサイズと当該TUの予測モードとに関連付けられたスキャンインデックスscanIdxを、係数有無フラグ符号化部224へ供給する。
このように、係数符号化制御部223は、イントラ予測モード毎に、スキャン順を切り替える構成である。一般に、イントラ予測モードと変換係数の偏りとは互いに相関を有しているため、イントラ予測モードに応じてスキャン順を切り替えることにより、サブブロック係数有無フラグ、係数有無フラグの偏りに適したスキャンを行うことができる。これによって、符号化及び復号対象となるサブブロック係数有無フラグおよび係数有無フラグの符号量を削減することができ、符号化効率が向上する。
[係数値符号化部225]
係数値符号化部225は、シンタックス導出部228から供給されるシンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_remainingを示すBinを生成する。また、生成した各Binをビット符号化部232に供給する。また、これらのシンタックスのBinを符号化するために参照されるコンテキストを指定するコンテキストインデックスctxIdxを、コンテキスト記録更新部231に供給する。
[係数有無フラグ符号化部224]
本実施形態に係る係数有無フラグ符号化部224は、各位置(xC、yC)によって指定されるシンタックスsignificant_coeff_flag[xC][yC]を符号化する。より具体的には、各位置(xC、yC)によって指定されるシンタックスsignificant_coeff_flag[xC][yC]を示すBinを生成する。生成された各Binは、ビット符号化部232に供給される。また、係数有無フラグ符号化部224は、算術符号符号化部230にてシンタックスsignificant_coeff_flag[xC][yC]のBinを符号化するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部231に供給される。係数有無フラグ符号化部の詳細な構成例については後述する。
[サブブロック係数有無フラグ符号化部227]
サブブロック係数有無フラグ符号化部227は、各サブブロック位置(xCG、yCG)によって指定されるシンタックスsignificant_coeff_group_flag[xCG][yCG]を符号化する。より具体的には、各サブブロック位置(xCG、yCG)によって指定されるシンタックスsignificant_coeff_group_flag[xCG][yCG]を示すBinを生成する。生成された各Binは、ビット符号化部232に供給される。また、サブブロック係数有無フラグ符号化部227は、算術符号符号化部230にてシンタックスsignificant_coeff_flag[xC][yC]のBinを符号化するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部231に供給される。
図46は、サブブロック係数有無フラグ符号化部227の構成を示すブロック図である。図46に示すように、サブブロック係数有無フラグ符号化部227は、コンテキスト導出部227a、サブブロック係数有無フラグ記憶部227b、及びサブブロック係数有無フラグ設定部227cを備えている。
以下では、サブブロック係数有無フラグ符号化部227に対して、係数符号化制御部223から、サブブロック位置(xCG、yCG)が順スキャン順に供給される場合を例に挙げて説明を行う。なお、この場合、動画像復号装置1の備えるサブブロック係数有無フラグ復号部127では、サブブロック位置(xCG、yCG)が逆スキャン順に供給されることが好ましい。
(コンテキスト導出部227a)
サブブロック係数有無フラグ符号化部227の備えるコンテキスト導出部227aは、各サブブロック位置(xCG、yCG)によって指定されるサブブロックに割り付けるコンテキストインデックスを導出する。サブブロックに割り付けられたコンテキストインデックスは、当該サブブロックについてのシンタックスsignificant_coeff_group_flagを示すBinを復号する際に用いられる。また、コンテキストインデックスを導出する際には、サブブロック係数有無フラグ記憶部227bに記憶されたサブブロック係数有無フラグの値が参照される。コンテキスト導出部227aは、導出したコンテキストインデックスをコンテキスト記録更新部231に供給する。
(サブブロック係数有無フラグ記憶部227b)
サブブロック係数有無フラグ記憶部227bには、係数有無フラグ符号化部224から供給されたシンタックスsignificant_coeffgroup_flagの各値が記憶されている。サブブロック係数有無フラグ設定部227cは、隣接サブブロックに割り付けられたシンタックスsignificant_coeffgroup_flagを、サブブロック係数有無フラグ記憶部227bから読み出すことができる。
(サブブロック係数有無フラグ設定部227c)
サブブロック係数有無フラグ設定部227cは、サブブロック係数有無フラグ設定部227cは、係数有無フラグ符号化部224から供給されるシンタックスsignificant_coeff_group_flag[xCG][yCG]を示すBinを生成する。生成したBinは、ビット符号化部232に供給される。
<<係数有無フラグ符号化部224の構成例>>
図47は、本実施形態に係る係数有無フラグ符号化部224の構成例を示すブロック図である。図47に示すように、係数有無フラグ符号化部224は、TUサイズ判定部224a、位置コンテキスト導出部224b、隣接サブブロック係数有無コンテキスト導出部224c、および係数有無フラグ設定部224eを備える。
(TUサイズ判定部224a)
TUサイズ判定部224aは、対象となるTUサイズに応じて、位置コンテキスト導出部224b、または隣接サブブロック係数有無コンテキスト導出部224cを選択する。選択された各コンテキスト導出部ではコンテキストインデックスctxIdxが導出される。
例えば、TUサイズが所定のサイズ以下である場合(例えば、4×4TUである場合)には、TUサイズ判定部224aは、位置コンテキスト導出部224bを選択する。
これに応じて、位置コンテキスト導出部224bは、コンテキストインデックスctxIdxを導出し、導出したコンテキストインデックスを当該復号対象の周波数成分に割り付ける。
一方で、対象となるTUサイズが所定のサイズよりも大きい場合(例えば、8×8TU、16×16TU、32×32TUである場合等)、TUサイズ判定部224aは、隣接サブブロック係数有無コンテキスト導出部224cを選択する。
これに応じて、隣接サブブロック係数有無コンテキスト導出部224cは、コンテキストインデックスctxIdxを導出し、導出したコンテキストインデックスを当該復号対象の周波数成分に割り付ける。
なお、上記に限られず、TUサイズ判定部224aは、4×4TU〜32×32TUまでのTUサイズについて、共通のコンテキストインデックスctxIdx導出処理を実行する構成であっても構わない。すなわち、導出方法制御部224aは、TUのサイズによらず、位置コンテキスト導出部224b、及び隣接サブブロック係数有無コンテキスト導出部224cのいずれかを固定的に選択する構成であっても構わない。
(位置コンテキスト導出部224b)
位置コンテキスト導出部224bは、対象周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該対象周波数成分の位置に基づいて導出する。
(隣接サブブロック係数有無コンテキスト導出部224c)
隣接サブブロック係数有無コンテキスト導出部224cは、、隣接サブブロックに非0変換係数があるか否かに応じて、コンテキスト導出パターンを選択し、選択した導出パターンに従って、処理対象の周波数成分のサブブロック内での座標から、符号化対象の周波数成分に対するコンテキストインデックスを導出する。
(係数有無フラグ設定部224e)
係数有無フラグ設定部224eは、シンタックス導出部228から供給されるシンタックスsignificant_coeff_flag[xC][yC]を示すBinを生成する。生成したBinは、ビット符号化部232に供給される。また、係数有無フラグ設定部224eは、対象サブブロックに含まれるsignificant_coeff_flag[xC][yC]の値を参照し、対象サブブロックに含まれる全てのsignificant_coeff_flag[xC][yC]が0である場合、すなわち、当該対象サブブロックに非0変換係数が含まれていない場合に、当該対象サブブロックに関するsignificant_coeff_group_flag[xCG][yCG]の値を0に設定し、そうでない場合に当該対象サブブロックに関するsignificant_coeff_group_flag[xCG][yCG]の値を1に設定する。このように値が付されたsignificant_coeff_group_flag[xCG][yCG]は、サブブロック係数有無フラグ符号化部227に供給される。
上述した係数有無フラグ符号化部224は、係数有無フラグ復号部124と対応する構成を備えている。
すなわち、係数有無フラグ符号化部224におけるTUサイズ判定部224a、位置コンテキスト導出部224b、隣接サブブロック係数有無コンテキスト導出部224c、および係数有無フラグ設定部224eは、それぞれ、係数有無フラグ復号部124における、TUサイズ判定部124a、位置コンテキスト導出部124b、隣接サブブロック係数有無コンテキスト導出部124c、および係数有無フラグ設定部124eに対応している。
例えば、隣接サブブロック係数有無コンテキスト導出部224cによる具体的な処理は、動画像復号装置1の備える隣接サブブロック係数有無コンテキスト導出部124cと同様である。
よって、係数有無フラグ符号化部224における各構成の詳細については、上述の係数有無フラグ復号部124の各構成の説明で示した通りである。
すなわち、動画像復号装置1に係る実施例・変形例1〜7において、動画像復号装置1の各構成を、係数有無フラグ符号化部224における対応する構成に読み替えれば、係数有無フラグ符号化部224の構成は理解されるであろう。よって、ここではその詳細な説明を省略する。
以上に示したように、本実施形態に係る動画像符号化装置1は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化する算術符号化装置を備える。算術復号装置は、処理対象の単位領域に対応する対象周波数領域を所定のサイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを符号化するサブブロック係数有無フラグ符号化手段と、符号化されたサブブロック係数有無フラグに基づいて、処理対象のサブブロックに隣接するサブブロックにおいて非0変換係数が少なくとも1つ含まれるか否かを判定する非0変換係数判定手段と、処理対象の上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、処理対象のサブブロックに隣接するいずれかのサブブロックにおいて非0変換係数が存在しないと判定されたとき、該判定結果に基づいて、非0変換係数の発生確率が低い場合、非0変換係数の発生確率が高い場合、および、非0変換係数の発生確率が、高い場合と、低い場合との間の中程度である場合にそれぞれ対応する上記コンテキストインデックスを、処理対象のサブブロックにおける処理対象の変換係数の位置に応じて導出する構成である。
また、以上に示したように、本実施形態に係る動画像符号化装置1は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化する算術符号化装置を備える。算術符号化装置は、処理対象の単位領域に対応する対象周波数領域を所定の定義に従って4×4サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを符号化するサブブロック係数有無フラグ符号化手段と、処理対象のサブブロックに隣接するサブブロックにおけるサブブロック係数有無フラグに基づいて、変換係数の分布の方向性を判定する方向性判定手段と、処理対象の上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、上記4×4サイズのサブブロックにおける座標を(xB,yB)(ただし、xBを水平方向、yBを垂直方向、サブブロック左上を原点(0,0)とする)とすると、上記サブブロックにおいて適用されるスキャン順が、斜め方向スキャンである場合において、判定された方向性が、垂直方向であるとき、(0,0)〜(0,3)、(1,0)〜(1,2)および(2,0)から構成される領域において、該領域以外の領域よりも、より変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出する一方で、判定された方向性が、水平方向であるとき、(0,0)〜(3,0)、(0,1)〜(2,1)および(0,2)から構成される領域において、該領域以外の領域よりも、より変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出する構成である。
すなわち、動画像符号化装置2は、上述した動画像復号装置1の構成に対応する構成を有する。
よって、上記動画像符号化装置2によれば、上述の動画像復号装置1の場合と同様、変換係数の符号化及び復号に係る処理量を削減することができる。
また、本発明は以下のように表現することもできる。本発明の一態様に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定のサイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、復号されたサブブロック係数有無フラグに基づいて、処理対象のサブブロックに隣接するサブブロックにおいて非0変換係数が少なくとも1つ含まれるか否かを判定する非0変換係数判定手段と、処理対象の上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、処理対象のサブブロックに隣接するいずれかのサブブロックにおいて非0変換係数が存在しないと判定されたとき、該判定結果に基づいて、非0変換係数の発生確率が低い場合、非0変換係数の発生確率が高い場合、および、非0変換係数の発生確率が、高い場合と、低い場合との間の中程度である場合にそれぞれ対応する上記コンテキストインデックスを、処理対象のサブブロックにおける処理対象の変換係数の位置に応じて導出する、ことを特徴とする。
処理対象のサブブロックに隣接するサブブロックにおけるサブブロック係数有無フラグの値の状況により、処理対象のサブブロック内の非0変換係数の発生確率の分布が段階的に異なる傾向がある。
例えば、処理対象のサブブロックに対して、右に隣接する右隣接サブブロックおよび下に隣接する下隣接サブブロックが存在するとき、右隣接サブブロックにおけるサブブロック係数有無フラグのみが1である場合と、右隣接サブブロックにおけるサブブロック係数有無フラグのみが1である場合とで、上記発生確率の分布が異なる。
また、上記発生確率の分布が段階的に異なるとは、処理対象のサブブロックにおいて、非0変換係数の発生確率が、高い位置、中程度の位置、低い位置が段階的に異なるということである。
上記構成によれば、処理対象のサブブロックに隣接するサブブロックにおけるサブブロック係数有無フラグの値の状況に応じて、非0変換係数の発生確率が低い場合、非0変換係数の発生確率が高い場合、および、非0変換係数の発生確率が、高い場合と、低い場合との間の中程度である場合にそれぞれ対応するコンテキストインデックスを導出する。
これにより、実際の変換係数の発生確率に、より適合したコンテキスト導出パターンを実現することができ、これにより符号化効率の向上を図ることができる。
本発明に係る算術復号装置では、上記非0変換係数判定手段は、処理対象のサブブロックに対して、右に隣接する右隣接サブブロックおよび下に隣接する下隣接サブブロックについてサブブロック係数有無フラグを判定し、上記コンテキストインデックス導出手段は、右隣接サブブロックまたは下隣接サブブロックのいずれか一方において非0変換係数が存在しないと判定されたとき、非0変換係数が存在しないと判定されたサブブロックの隣接方向に応じて、サブブロックの左端または上端の位置において、非0変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出することを特徴とすることが好ましい。
右隣接サブブロックに非0変換係数が存在する場合、処理対象のサブブロックの上端において、非0変換係数の発生確率が高くなる傾向がある。また、下隣接サブブロックに非0変換係数が存在する場合、処理対象のサブブロックの左端において、非0変換係数の発生確率が高くなる傾向がある。
上記構成によれば、非0変換係数が存在しないと判定されたサブブロックの隣接方向に応じて、サブブロックの左端または上端の位置において、非0変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出することができる。
その結果、上述したような非0変換係数の発生確率に、より適合するコンテキストインデックスを導出することができる。
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定の定義に従って4×4サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、処理対象のサブブロックに隣接するサブブロックにおけるサブブロック係数有無フラグに基づいて、変換係数の分布の方向性を判定する方向性判定手段と、処理対象の上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、上記4×4サイズのサブブロックにおける座標を(xB,yB)(ただし、xBを水平方向、yBを垂直方向、サブブロック左上を原点(0,0)とする)とすると、上記サブブロックにおいて適用されるスキャン順が、斜め方向スキャンである場合において、判定された方向性が、垂直方向であるとき、(0,0)〜(0,3)、(1,0)〜(1,2)および(2,0)から構成される領域において、該領域以外の領域よりも、より変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出する一方で、判定された方向性が、水平方向であるとき、(0,0)〜(3,0)、(0,1)〜(2,1)および(0,2)から構成される領域において、該領域以外の領域よりも、より変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出する、ことを特徴とする。
上記構成において、変換係数の分布の方向性とは、具体的には、処理対象のサブブロックに対して、右に隣接する右隣接サブブロックおよび下に隣接する下隣接サブブロックがある場合、次とおりである。
右隣接サブブロックにおけるサブブロック係数有無フラグが、該右隣接サブブロックに非0変換係数が1つも含まれないことを示し、下隣接サブブロックにおけるサブブロック係数有無フラグが、該下隣接サブブロックに非0変換係数が少なくとも1つ含まれることを示すとき、処理対象のサブブロックの左側において非0変換係数が発生する確率が高くなる傾向がある。すなわち、この場合、変換係数の分布の方向性は、垂直方向となる。
このとき、(0,0)〜(0,3)、(1,0)〜(1,2)および(2,0)から構成される領域において、該領域以外の領域よりも非0変換係数が発生する確率が比較的高くなる。
また、右隣接サブブロックにおけるサブブロック係数有無フラグが、該右隣接サブブロックに非0変換係数が少なくとも1つ含まれることを示し、下隣接サブブロックにおけるサブブロック係数有無フラグが、該下隣接サブブロックに非0変換係数が1つも含まれないことを示すとき、処理対象のサブブロックの上側において非0変換係数が発生する確率が高くなる傾向がある。すなわち、この場合、変換係数の分布の方向性は、水平方向となる。
このとき、(0,0)〜(3,0)、(0,1)〜(2,1)および(0,2)から構成される領域において、該領域以外の領域よりも非0変換係数が発生する確率が比較的高くなる。
また、斜め方向スキャンの順方向における処理順序は、上記座標表示によれば、(0,0)を起点とし、(0,1)から右上対角方向に(1,0)にかけて、(0,2)から右上対角方向に(2,0)にかけて、(0,3)から右上対角方向に(3,0)にかけて、(1,3)から右上対角方向に(3,1)にかけて、(2,3)から右上対角方向に(3,2)にかけて、最後に、(3,3)である。
また、従来技術に関して言えば、上記斜め方向スキャンの逆スキャン順(実際の復号処理におけるスキャン順)のコンテキストインデックスのシーケンスは、変換係数の発生確率が高い場合に対応するコンテキストインデックスを1、低い場合に対応する上記コンテキストインデックスを0とすると、
水平方向の場合:0001001100110111
垂直方向の場合:0000010011011111
となっていた。このように、水平方向の場合において、“0”から“1”への切り替えが4回、“1”から“0”への切り替えが3回あり、合計7回の切り替えが発生している。
また、垂直方向の場合、“0”から“1”への切り替えが3回、“1”から“0”への切り替えが2回あり、合計5回の切り替えが発生している。
これに対して、上記構成によれば、判定された方向性が、垂直方向であるとき、(0,0)〜(0,3)、(1,0)〜(1,2)および(2,0)から構成される領域において、該領域以外の領域よりも、より変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出する。
このとき、逆スキャン順のコンテキストインデックスのシーケンスは、変換係数の発生確率が高い場合に対応するコンテキストインデックスを1、低い場合に対応する上記コンテキストインデックスを0とすると、
垂直方向の場合:0000000011111111
である。
よって、0と1の切り替え回数は、“0”から“1”への切り替え1回のみである。
また、判定された方向性が、水平方向であるとき、(0,0)〜(3,0)、(0,1)〜(2,1)および(0,2)から構成される領域において、該領域以外の領域よりも、より変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出する。
このとき、逆スキャン順のコンテキストインデックスのシーケンスは、上記と同様に、
水平方向の場合:0000001100111111
である。
よって、“0”から“1”への切り替えが2回、“1”から“0”への切り替えが1回あり、切り替え回数は、合計3回である。
このように、上記構成によれば、サブブロック内でのコンテキストインデックスの切り替えを従来と比較し抑制することができる。このため、上述のように0と1の繰り返し数を定義するようなハードウェアでは、ハードウェアの実装が簡略化される。
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定のサイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、処理対象のサブブロックに隣接するサブブロックにおけるサブブロック係数有無フラグに基づいて、変換係数の分布の方向性を判定する方向性判定手段と、上記方向性判定手段により判定された方向性に応じたスキャン順を用いて、変換係数を復号する変換係数復号手段と、を備えることを特徴とする。
上記構成によれば、変換係数の分布の方向性に応じたスキャン順を用いて、変換係数を復号することができる。このため、従来のコンテキストインデックスのシーケンス
水平方向の場合:0001001100110111
垂直方向の場合:0000010011011111
を用いたとしても、方向性に応じたスキャン順を用いることで、サブブロック内の逆スキャン順のコンテキストインデックスの0と1の切り替えを抑制することができる。
このため、上述のように0と1の繰り返し数を定義するようなハードウェアでは、ハードウェアの実装が簡略化される。
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定のサイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、サブブロック係数有無フラグに基づいて、処理対象のサブブロックに隣接する各サブブロックについて、非0変換係数が少なくとも1つ含まれるサブブロックの数を計上する係数有サブブロック数計上手段と、上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、係数有サブブロック数計上手段により計上された数に応じて、処理対象の変換係数の上記処理対象のサブブロックにおける水平方向の座標および垂直方向の座標の和を用いて上記コンテキストインデックスを導出する、ことを特徴とする。
上記構成によれば、非0変換係数が少なくとも1つ含まれる隣接サブブロックの数に応じて、処理対象の変換係数の上記処理対象のサブブロックにおける水平方向の座標および垂直方向の座標の和を用いて上記コンテキストインデックスを導出することができる。
上記構成では、サブブロック係数有無フラグが、右隣接サブブロックにおけるものであるか、下隣接サブブロックにおけるものであるかを区別しないで済む。
このため、上記実施例に比べて、コンテキスト導出パターン数を削減することができる。また、各パターンにおける比較が、すべて“xB+yB”と所定の閾値の比較で済む。また、斜め方向スキャン(Up-right diagonal scan)に関し、サブブロック内でのスキャン順でのコンテキストインデックスの切り替え回数が、1回のみになり、ハードウェアでの実装が簡略化される。
以上のように、上記構成によれば、ハードウェアの実装が簡略化されるという効果を奏する。
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定の定義に従って4×4サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、処理対象のサブブロックに隣接する各サブブロックについて復号されたサブブロック係数有無フラグの値のパターンを判定するパターン判定手段と、上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、パターン判定手段の判定結果に応じて、処理対象の変換係数の上記処理対象のサブブロックにおける水平方向および垂直方向それぞれの座標の2ビット表現における上位ビットを用いて、上記コンテキストインデックスを導出する、ことを特徴とする。
上記構成によれば、処理対象のサブブロックに隣接する各サブブロックについて復号されたサブブロック係数有無フラグの値の状況に応じて、処理対象の変換係数の上記処理対象のサブブロックにおける水平方向および垂直方向それぞれの座標の2ビット表現における上位ビットを用いて、上記コンテキストインデックスを導出することができる。
上記構成によれば、4ビットの入力情報で、コンテキストインデックス導出処理を実現することができる。具体的には、サブブロック内のX座標の上位ビット(1bit)、サブブロック内のY座標の上位ビット(1bit)、X方向の隣接サブブロックにおけるサブブロック係数有無フラグ(1bit)、およびX方向の隣接サブブロックにおけるサブブロック係数有無フラグ(1bit)の計4ビットである。
また、4ビットの入力から、0〜2(2ビット)の出力を導出すればよいので、条件分岐を排除した簡易なビット演算によりコンテキストインデックス導出処理を実現することも可能である。
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定の定義に従って4×4サイズのサブブロックに分割するサブブロック分割手段と、上記4×4サイズのサブブロックを4分割して得られる2×2サイズの部分領域それぞれについて、該部分領域内のスキャン順を用いて、変換係数を復号する変換係数復号手段と、を備えることを特徴とする。
上記構成によれば、上記4×4サイズのサブブロックを4分割して得られる2×2サイズの部分領域それぞれについて、該部分領域単位のスキャン順を用いて、変換係数を復号する。
上記部分領域単位内のスキャン順には、例えば、2×2の部分領域の左上、左下、右上、および右下の順を用いることができる。また、上記部分領域単位内のスキャン順と、部分領域間(部分領域単位)のスキャン順は入れ子で適用することができる。なお、実際の復号処理は、逆スキャン順で行う構成であればよい。
上記構成によれば、スキャン順上において座標(例えば、スキャン順上隣り合う周波数成分の座標)が大幅に変化することを抑制することができるため、空間的に同種の特性を有する変換係数を順に復号することができる。その結果、符号化効率が向上する。
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定のサイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、処理対象のサブブロックに隣接するサブブロックにおけるサブブロック係数有無フラグに基づいて、変換係数の分布の方向性を判定する方向性判定手段と、上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、上記方向性判定手段により判定された方向性に応じて、処理対象のサブブロックの処理対象の単位領域における座標を用いて、上記コンテキストインデックスを導出する、ことを特徴とする。
上記構成によれば、変換係数の分布の方向性に応じて、処理対象のサブブロックの処理対象の単位領域における座標を用いて、上記コンテキストインデックスを導出する。
横エッジや、縦エッジが存在する場合、非0変換係数が、処理対象の単位領域(例えば、TU)におけるxC=0の領域またはyC=0の領域に集中して現れる傾向がある。
上記構成によれば、横エッジや、縦エッジが存在する可能性が高い場合において、非0変換係数の発生確率が高い場合に対応するコンテキストインデックスを用いるため、符号化効率の向上を図ることができる。
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域を所定のサイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、上記サブブロック係数有無フラグに基づいて、処理対象のサブブロックに隣接するサブブロックそれぞれについて、非0変換係数が少なくとも1つ含まれるか否かを判定する鱗屑サブブロック係数有無判定手段と、上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、上記判定の結果、所定の数以上のサブブロックにおいて非0変換係数が少なくとも1つ含まれる場合、処理対象のサブブロックにおいて一様に、変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出する、ことを特徴とする。
上記構成によれば、所定の数以上のサブブロックにおいて非0変換係数が少なくとも1つ含まれる場合、処理対象のサブブロックにおいて一様に、変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出する。
このように非0変換係数の発生確率が一様に高い場合、処理対象のサブブロックにおいて、一様に、変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出するので、符号化効率の向上を図ることができる。
本発明に係る画像復号装置は、上記算術復号装置と、上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段と、を備えている構成である。
このように構成した画像復号装置も本発明の範疇であり、この場合においても、上記算術復号装置と同様の作用・効果を得ることができる。
上記課題を解決するために、本発明に係る算術符号化装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化する算術符号化装置であって、処理対象の単位領域に対応する対象周波数領域を所定のサイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを符号化するサブブロック係数有無フラグ符号化手段と、符号化されたサブブロック係数有無フラグに基づいて、処理対象のサブブロックに隣接するサブブロックにおいて非0変換係数が少なくとも1つ含まれるか否かを判定する非0変換係数判定手段と、処理対象の上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、処理対象のサブブロックに隣接するいずれかのサブブロックにおいて非0変換係数が存在しないと判定されたとき、該判定結果に基づいて、非0変換係数の発生確率が低い場合、非0変換係数の発生確率が高い場合、および、非0変換係数の発生確率が、高い場合と、低い場合との間の中程度である場合にそれぞれ対応する上記コンテキストインデックスを、処理対象のサブブロックにおける処理対象の変換係数の位置に応じて導出する、ことを特徴とする。
上記課題を解決するために、本発明に係る算術符号化装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数について、該変換係数を表す各種シンタックスを算術符号化する算術符号化装置であって、処理対象の単位領域に対応する対象周波数領域を所定の定義に従って4×4サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、該サブブロックに非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを符号化するサブブロック係数有無フラグ符号化手段と、処理対象のサブブロックに隣接するサブブロックにおけるサブブロック係数有無フラグに基づいて、変換係数の分布の方向性を判定する方向性判定手段と、処理対象の上記変換係数が0であるか否かを示すシンタックスである変換係数有無フラグに割り付けるコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、上記コンテキストインデックス導出手段は、上記4×4サイズのサブブロックにおける座標を(xB,yB)(ただし、xBを水平方向、yBを垂直方向、サブブロック左上を原点(0,0)とする)とすると、上記サブブロックにおいて適用されるスキャン順が、斜め方向スキャンである場合において、判定された方向性が、垂直方向であるとき、(0,0)〜(0,3)、(1,0)〜(1,2)および(2,0)から構成される領域において、該領域以外の領域よりも、より変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出する一方で、判定された方向性が、水平方向であるとき、(0,0)〜(3,0)、(0,1)〜(2,1)および(0,2)から構成される領域において、該領域以外の領域よりも、より変換係数の発生確率が高い場合に対応する上記コンテキストインデックスを導出する、ことを特徴とする。
また、本発明に係る画像符号化装置は、符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、上記算術符号化装置と、を備えており、上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数を表す各種のシンタックスを算術符号化することによって符号化データを生成する構成である。
このように構成した算術符号化装置、および画像符号化装置も本発明の範疇であり、この場合においても、上記算術復号装置と同様の作用・効果を得ることができる。
(付記事項1)
上述した動画像符号化装置2及び動画像復号装置1は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
まず、上述した動画像符号化装置2及び動画像復号装置1を、動画像の送信及び受信に利用できることを、図48を参照して説明する。
図48の(a)は、動画像符号化装置2を搭載した送信装置PROD_Aの構成を示したブロック図である。図48の(a)に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3と、を備えている。上述した動画像符号化装置2は、この符号化部PROD_A1として利用される。
送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部A7を更に備えていてもよい。図48の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
図48の(b)は、動画像復号装置1を搭載した受信装置PROD_Bの構成を示したブロック図である。図48の(b)に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3と、を備えている。上述した動画像復号装置1は、この復号部PROD_B3として利用される。
受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図48の(b)においては、これら全てを受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から取得した動画像を記録用の符号化方式に従って符号化する符号化部(不図示)を介在させるとよい。
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送(ここでは、送信先が予め特定されていない送信態様を指す)であってもよいし、通信(ここでは、送信先が予め特定されている送信態様を指す)であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
例えば、地上デジタル放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を無線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を有線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。
また、インターネットを用いたVOD(Video On Demand)サービスや動画共有サービスなどのサーバ(ワークステーションなど)/クライアント(テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど)は、変調信号を通信で送受信する送信装置PROD_A/受信装置PROD_Bの一例である(通常、LANにおいては伝送媒体として無線又は有線の何れかが用いられ、WANにおいては伝送媒体として有線が用いられる)。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
次に、上述した動画像符号化装置2及び動画像復号装置1を、動画像の記録及び再生に利用できることを、図49を参照して説明する。
図49の(a)は、上述した動画像符号化装置2を搭載した記録装置PROD_Cの構成を示したブロック図である。図49の(a)に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した動画像符号化装置2は、この符号化部PROD_C1として利用される。
なお、記録媒体PROD_Mは、(1)HDD(Hard Disk Drive)やSSD(Solid State Drive)などのように、記録装置PROD_Cに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSB(Universal Serial Bus)フラッシュメモリなどのように、記録装置PROD_Cに接続されるタイプのものであってもよいし、(3)DVD(Digital Versatile Disc)やBD(Blu-ray Disc:登録商標)などのように、記録装置PROD_Cに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、動画像を受信するための受信部PROD_C5、及び、画像を生成または加工する画像処理部C6を更に備えていてもよい。図49の(a)においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。
このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HDD(Hard Disk Drive)レコーダなどが挙げられる(この場合、入力端子PROD_C4又は受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5又は画像処理部C6が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3又は受信部PROD_C5が動画像の主な供給源となる)なども、このような記録装置PROD_Cの一例である。
図49の(b)は、上述した動画像復号装置1を搭載した再生装置PROD_Dの構成を示したブロックである。図49の(b)に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した動画像復号装置1は、この復号部PROD_D2として利用される。
なお、記録媒体PROD_Mは、(1)HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSBフラッシュメモリなどのように、再生装置PROD_Dに接続されるタイプのものであってもよいし、(3)DVDやBDなどのように、再生装置PROD_Dに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。図49の(b)においては、これら全てを再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部(不図示)を介在させるとよい。
このような再生装置PROD_Dとしては、例えば、DVDプレイヤ、BDプレイヤ、HDDプレイヤなどが挙げられる(この場合、テレビジョン受像機等が接続される出力端子PROD_D4が動画像の主な供給先となる)。また、テレビジョン受像機(この場合、ディスプレイPROD_D3が動画像の主な供給先となる)、デジタルサイネージ(電子看板や電子掲示板等とも称され、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、デスクトップ型PC(この場合、出力端子PROD_D4又は送信部PROD_D5が動画像の主な供給先となる)、ラップトップ型又はタブレット型PC(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、スマートフォン(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)なども、このような再生装置PROD_Dの一例である。
(付記事項2)
上述した動画像復号装置1、および動画像符号化装置2の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
後者の場合、上記各装置は、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM/EEPROM(登録商標)/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明は、算術符号化された符号化データを復号する算術復号装置、および、算術符号化された符号化データを生成する算術符号化装置に好適に用いることができる。
1 動画像復号装置(画像復号装置)
11 可変長符号復号部
111 量子化残差情報復号部(算術復号装置)
120 変換係数復号部(変換係数復号手段)
123 係数復号制御部(サブブロック分割手段)
124 係数有無フラグ復号部
124a TUサイズ判定部
124b 位置コンテキスト導出部
124c 隣接サブブロック係数有無コンテキスト導出部(コンテキストインデックス導出手段、非0変換係数判定手段、パターン判定手段、方向性判定手段)
124e 係数有無フラグ設定部
127 サブブロック係数有無フラグ復号部(サブブロック係数有無フラグ復号手段)
127a コンテキスト導出部
127b サブブロック係数有無フラグ記憶部
127c サブブロック係数有無フラグ設定部
130 算術符号復号部
131 コンテキスト記録更新部
132 ビット復号部
2 動画像符号化装置(画像符号化装置)
27 可変長符号符号化部
271 量子化残差情報符号化部(算術符号化装置)
220 変換係数符号化部
223 係数符号化制御部(サブブロック分割手段)
224 係数有無フラグ符号化部
224a TUサイズ判定部
224b 位置コンテキスト導出部
224c サブブロック係数有無フラグコンテキスト導出部(コンテキストインデックス導出手段、非0変換係数判定手段、方向性判定手段)
224e 係数有無フラグ設定部
227 サブブロック係数有無フラグ符号化部(サブブロック係数有無フラグ符号化手段)
227a コンテキスト導出部
227b サブブロック係数有無フラグ記憶部
227c サブブロック係数有無フラグ設定部
228 シンタックス導出部
230 算術符号符号化部
231 コンテキスト記録更新部
232 ビット符号化部

Claims (7)

  1. 対象画像を単位領域毎に周波数変換して得られる変換係数の符号化データを復号する算術復号装置であって、
    上記単位領域が複数のサブブロックに分割された該サブブロック毎に、非0変換係数が少なくとも1つ含まれるか否かを示すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、
    処理対象の変換係数が0であるか否かを示す変換係数有無フラグに対応するコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、
    上記コンテキストインデックス導出手段は、右隣接サブブロックまたは下隣接サブブロックに非0変換係数を含まない場合、
    (i)上記変換係数の位置を示す水平方向座標と垂直方向座標との和が、第1の閾値以下であれば、第1のコンテキストインデックスを導出し、
    (ii)上記和が、上記第1の閾値よりも大きく、かつ、第2の閾値以下であれば、上記第1のコンテキストインデックスよりも小さい第2のコンテキストインデックスを導出し、
    (iii)上記和が、上記第2の閾値よりも大きければ、上記第2のコンテキストインデックスよりも小さい第3のコンテキストインデックスを導出することを特徴とする算術復号装置。
  2. 上記第1の閾値は0であり、かつ、上記第2の閾値は2であることを特徴とする請求項1に記載の算術復号装置。
  3. 上記非0変換係数が、上記右隣接サブブロックと上記下隣接サブブロックとの両方に含まれる場合、上記コンテキストインデックス導出手段は、処理対象のサブブロックの全ての変換係数に対して上記第1のコンテキストインデックスを導出することを特徴とする請求項1又は2に記載の算術復号装置。
  4. 請求項1〜3の何れか1項に記載の算術復号装置と、
    上記算術復号装置によって復号された変換係数を逆周波数変換することによって残差画像を生成する逆周波数変換手段と、
    上記逆周波数変換手段によって生成された残差画像と、生成済みの復号画像から予測された予測画像とを加算することによって復号画像を生成する復号画像生成手段とを備えていることを特徴とする画像復号装置。
  5. 対象画像を単位領域毎に周波数変換して得られる変換係数を表す各シンタックスを算術符号化する算術符号化装置であって、
    上記単位領域毎に複数のサブブロックに分割された該サブブロック毎に、非0変換係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを符号化するサブブロック係数有無フラグ符号化手段と、
    処理対象の変換係数が0であるか否かを示す変換係数有無フラグに対応するコンテキストインデックスを導出するコンテキストインデックス導出手段と、を備え、
    上記コンテキストインデックス導出手段は、右隣接サブブロックまたは下隣接サブブロックに非0変換係数を含まない場合、
    (i)上記変換係数の位置を示す水平方向座標と垂直方向座標との和が、第1の閾値以下であれば、第1のコンテキストインデックスを導出し、
    (ii)上記和が、上記第1の閾値よりも大きく、かつ、第2の閾値以下であれば、上記第1のコンテキストインデックスよりも小さい第2のコンテキストインデックスを導出し、
    (iii)上記和が、上記第2の閾値よりも大きければ、上記第2のコンテキストインデックスよりも小さい第3のコンテキストインデックスを導出することを特徴とする算術符号化装置。
  6. 上記第1の閾値は0であり、かつ、上記第2の閾値は2であることを特徴とする請求項5に記載の算術符号化装置。
  7. 符号化対象画像と予測画像との残差画像を単位領域毎に周波数変換することによって変換係数を生成する変換係数生成手段と、
    請求項5または6に記載の算術符号化装置とを備え、
    上記算術符号化装置は、上記変換係数生成手段によって生成された変換係数であるシンタックスを算術符号化することによって符号化データを生成するものであることを特徴とする画像符号化装置。
JP2014518423A 2012-06-01 2013-05-24 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置 Active JP6190361B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014518423A JP6190361B2 (ja) 2012-06-01 2013-05-24 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2012126567 2012-06-01
JP2012126567 2012-06-01
JP2012178842 2012-08-10
JP2012178842 2012-08-10
JP2014518423A JP6190361B2 (ja) 2012-06-01 2013-05-24 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置
PCT/JP2013/064447 WO2013180023A1 (ja) 2012-06-01 2013-05-24 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置

Publications (2)

Publication Number Publication Date
JPWO2013180023A1 JPWO2013180023A1 (ja) 2016-01-21
JP6190361B2 true JP6190361B2 (ja) 2017-08-30

Family

ID=49673219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014518423A Active JP6190361B2 (ja) 2012-06-01 2013-05-24 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置

Country Status (8)

Country Link
US (8) US9538205B2 (ja)
EP (1) EP2858353B1 (ja)
JP (1) JP6190361B2 (ja)
CN (2) CN104350753B (ja)
AU (1) AU2013268588B2 (ja)
CA (1) CA2873694A1 (ja)
ES (1) ES2729781T3 (ja)
WO (1) WO2013180023A1 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091529B2 (en) * 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
CN104350753B (zh) 2012-06-01 2019-07-09 威勒斯媒体国际有限公司 算术解码装置、图像解码装置、算术编码装置以及图像编码装置
EP2866444B1 (en) * 2012-06-22 2022-04-13 Velos Media International Limited Image encoding method, image decoding method, image encoding device, image decoding device
KR102125601B1 (ko) * 2013-07-24 2020-06-22 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 비변환 코딩을 위한 스캐닝 순서 조정 기법
CN107113527A (zh) 2014-09-30 2017-08-29 苹果公司 确定扬声器位置变化的方法
WO2016074746A1 (en) 2014-11-14 2016-05-19 Huawei Technologies Co., Ltd. Systems and methods for mask based processing of a block of a digital image
JP6496821B2 (ja) 2014-11-14 2019-04-10 ホアウェイ・テクノロジーズ・カンパニー・リミテッド デジタル画像のブロックを処理するためのシステムおよび方法
WO2016074744A1 (en) * 2014-11-14 2016-05-19 Huawei Technologies Co., Ltd. Systems and methods for processing a digital image
KR20180040515A (ko) * 2015-09-10 2018-04-20 삼성전자주식회사 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법
US9942548B2 (en) * 2016-02-16 2018-04-10 Google Llc Entropy coding transform partitioning information
JP6881441B2 (ja) * 2016-05-13 2021-06-02 日本電気株式会社 算術符号化装置、算術符号化方法、及び、算術符号化回路
US11863798B2 (en) * 2016-07-13 2024-01-02 Electronics And Telecommunications Research Institute Image encoding/decoding method and device
EP3270595A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for last coefficient coding for adaptive transform based video compression
EP3270594A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for advanced cabac context adaptation for last coefficient coding
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
KR20180089290A (ko) * 2017-01-31 2018-08-08 세종대학교산학협력단 영상의 부호화/복호화 방법 및 장치
CN106991391A (zh) * 2017-03-30 2017-07-28 理光图像技术(上海)有限公司 文档处理装置以及文档处理和识别系统
JP2018182444A (ja) * 2017-04-07 2018-11-15 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、画像復号装置、画像復号方法及び画像復号プログラム
EP3611922B1 (en) * 2017-04-13 2025-05-28 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for decoding and encoding a video signal
WO2018199001A1 (ja) * 2017-04-28 2018-11-01 シャープ株式会社 画像復号装置及び画像符号化装置
US10630974B2 (en) * 2017-05-30 2020-04-21 Google Llc Coding of intra-prediction modes
CN117544785A (zh) 2017-08-29 2024-02-09 株式会社Kt 视频解码和编码方法及用于存储压缩视频数据的装置
US10645408B2 (en) * 2017-09-17 2020-05-05 Google Llc Dual deblocking filter thresholds
KR20190088020A (ko) * 2018-01-17 2019-07-25 인텔렉추얼디스커버리 주식회사 다양한 변환 기술을 사용하는 비디오 코딩 방법 및 장치
US10491914B2 (en) * 2018-03-29 2019-11-26 Tencent America LLC Transform information prediction
EP3562156A1 (en) * 2018-04-27 2019-10-30 InterDigital VC Holdings, Inc. Method and apparatus for adaptive context modeling in video encoding and decoding
JP7200253B2 (ja) 2018-09-02 2023-01-06 エルジー エレクトロニクス インコーポレイティド 映像信号を処理するための方法及び装置
AU2018233042B2 (en) * 2018-09-21 2024-06-13 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a tree of blocks of video samples
BR122021011813A2 (pt) * 2018-11-12 2021-08-10 Lg Electronics Inc. Método de decodificação de imagens através de um aparelho de decodificação, método de codificação de imagens através de um aparelho de codificação e mídia de armazenamento legível por computador não transitória
US10798419B2 (en) 2018-11-19 2020-10-06 Sony Corporation Embedded codec circuitry for sub-block based encoding of quantized prediction residual levels
EP3884669A1 (en) * 2018-11-21 2021-09-29 InterDigital VC Holdings, Inc. Residual coding with reduced usage of local neighborhood
CN111435993B (zh) * 2019-01-14 2022-08-26 华为技术有限公司 视频编码器、视频解码器及相应方法
US10666986B1 (en) * 2019-03-08 2020-05-26 Sony Corporation Sub-block based entropy coding for embedded image codec
CA3135944A1 (en) 2019-04-12 2020-10-15 Beijing Bytedance Network Technology Co., Ltd. Chroma coding mode determination based on matrix-based intra prediction
EP3939270A4 (en) 2019-04-16 2022-05-11 Beijing Bytedance Network Technology Co., Ltd. MATRIX DERIVATION IN AN INTRA CODING MODE
WO2020221372A1 (en) 2019-05-01 2020-11-05 Beijing Bytedance Network Technology Co., Ltd. Context coding for matrix-based intra prediction
EP3954115A4 (en) 2019-05-22 2023-04-19 Beijing Bytedance Network Technology Co., Ltd. MATRIX-BASED INTRAPREDICTION USING UPSAMPLING
CN114051735B (zh) 2019-05-31 2024-07-05 北京字节跳动网络技术有限公司 基于矩阵的帧内预测中的一步下采样过程
EP3963885A4 (en) 2019-06-05 2022-12-14 Beijing Bytedance Network Technology Co., Ltd. DETERMINING CONTEXT FOR MATRIX-BASED INTRAPREDICTION
CN120343287A (zh) * 2019-09-18 2025-07-18 松下电器(美国)知识产权公司 用于视频编码的系统和方法
CN120455675A (zh) * 2019-09-23 2025-08-08 株式会社Kt 对视频进行解码或编码的方法以及传输压缩的视频数据的装置
CN113873244B (zh) * 2020-06-30 2023-10-20 华为技术有限公司 一种系数编解码方法和系数编解码装置
CN119339162B (zh) * 2024-12-18 2025-04-04 华东交通大学 一种基于深度神经网络的高铁钢轨表面伤损检测方法
CN120751131B (zh) * 2025-08-19 2025-11-21 中电星原科技有限公司 面向烟雾粉尘灾害环境的可变粒度自适应编码方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1178461C (zh) * 1998-06-09 2004-12-01 松下电器产业株式会社 图像编码装置、图像译码装置、传真装置
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7379608B2 (en) * 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
CN100531386C (zh) * 2007-06-15 2009-08-19 上海富瀚微电子有限公司 一种上下文自适应二进制算术编码器及其方法
US8265144B2 (en) * 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US9648325B2 (en) * 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US7777654B2 (en) * 2007-10-16 2010-08-17 Industrial Technology Research Institute System and method for context-based adaptive binary arithematic encoding and decoding
US8138956B2 (en) * 2008-06-02 2012-03-20 Mediatek Inc. CABAC encoder and CABAC encoding method
EP2321904B1 (en) * 2008-08-19 2014-05-28 Thomson Licensing Context-based adaptive binary arithmetic coding (cabac) video stream compliance
JP4962476B2 (ja) * 2008-11-28 2012-06-27 ソニー株式会社 算術復号装置
WO2010143853A2 (ko) * 2009-06-07 2010-12-16 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 장치
CN101771879B (zh) * 2010-01-28 2011-08-17 清华大学 基于cabac的并行归一化编码实现电路及编码方法
JP5580404B2 (ja) * 2010-03-29 2014-08-27 株式会社東芝 半導体装置
US20130003858A1 (en) * 2011-06-30 2013-01-03 Vivienne Sze Simplified Context Selection For Entropy Coding of Transform Coefficient Syntax Elements
CN107277552B (zh) * 2011-12-21 2019-10-29 太阳专利托管公司 图像编码方法及装置、图像解码方法及装置
US9106918B2 (en) * 2012-01-20 2015-08-11 Sony Corporation Coefficient coding harmonization in HEVC
US9584812B2 (en) 2012-01-20 2017-02-28 Blackberry Limited Methods and devices for context set selection
JP5696684B2 (ja) 2012-04-13 2015-04-08 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法及び送信プログラム
US9124872B2 (en) * 2012-04-16 2015-09-01 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
CN104350753B (zh) 2012-06-01 2019-07-09 威勒斯媒体国际有限公司 算术解码装置、图像解码装置、算术编码装置以及图像编码装置

Also Published As

Publication number Publication date
US20150110199A1 (en) 2015-04-23
CN104350753A (zh) 2015-02-11
US10491900B2 (en) 2019-11-26
CA2873694A1 (en) 2013-12-05
US9538205B2 (en) 2017-01-03
AU2013268588B2 (en) 2017-03-02
US10848764B2 (en) 2020-11-24
AU2013268588A1 (en) 2015-01-15
US20200045317A1 (en) 2020-02-06
HK1204736A1 (en) 2015-11-27
EP2858353A1 (en) 2015-04-08
EP2858353A4 (en) 2016-01-20
JPWO2013180023A1 (ja) 2016-01-21
WO2013180023A1 (ja) 2013-12-05
CN110365993B (zh) 2021-08-06
US11509898B2 (en) 2022-11-22
US9699479B2 (en) 2017-07-04
ES2729781T3 (es) 2019-11-06
CN110365993A (zh) 2019-10-22
US9794572B2 (en) 2017-10-17
US20170302934A1 (en) 2017-10-19
EP2858353B1 (en) 2019-03-20
US11758140B2 (en) 2023-09-12
US20230362381A1 (en) 2023-11-09
US20170208330A1 (en) 2017-07-20
US20220408092A1 (en) 2022-12-22
US20210044802A1 (en) 2021-02-11
US20170078702A1 (en) 2017-03-16
US12126806B2 (en) 2024-10-22
CN104350753B (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
JP6190361B2 (ja) 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置
US12149735B2 (en) Image decoding device, image encoding device, and image decoding method
JP7001768B2 (ja) 算術復号装置
US11405655B2 (en) Image decoding device and image encoding device
JP6560702B2 (ja) 算術復号装置、算術符号化装置、算術復号方法、および、算術符号化方法
CN103858430B (zh) 图像解码装置、图像解码方法及图像编码装置
JP2013192118A (ja) 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置
JP2013187869A (ja) 算術復号装置、算術符号化装置、画像復号装置、および画像符号化装置
WO2019065488A1 (ja) 画像復号装置および画像符号化装置
WO2012121352A1 (ja) 動画像復号装置、動画像符号化装置、および、データ構造
JP2013223051A (ja) 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置
AU2015264943B2 (en) Image decoding device, image encoding device, and data structure of encoded data
HK40009087A (en) Arithmetic decoding device, image decoding device, arithmetic encoding device, and image encoding device
HK40009087B (zh) 算术解码装置、图像解码装置、算术编码装置以及图像编码装置
HK1204736B (zh) 算术解码装置、图像解码装置、算术编码装置以及图像编码装置
HK1200255B (zh) 图像解码装置、图像编码装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160322

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170418

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170606

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170804

R150 Certificate of patent or registration of utility model

Ref document number: 6190361

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350