JP2020171063A - 算術復号装置 - Google Patents
算術復号装置 Download PDFInfo
- Publication number
- JP2020171063A JP2020171063A JP2020123926A JP2020123926A JP2020171063A JP 2020171063 A JP2020171063 A JP 2020171063A JP 2020123926 A JP2020123926 A JP 2020123926A JP 2020123926 A JP2020123926 A JP 2020123926A JP 2020171063 A JP2020171063 A JP 2020171063A
- Authority
- JP
- Japan
- Prior art keywords
- flag
- coefficient
- conversion
- unit
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/62—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding by frequency transforming in three dimensions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 a pixel
Abstract
Description
そのため、変換量子化バイパスと呼ばず、単にロスレスモードと呼ぶこともできる。
図2を用いて、動画像符号化装置2によって生成され、動画像復号装置1によって復号される符号化データ#1の構成例について説明する。符号化データ#1は、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。ピクチャPICTは、図2の(a)に示すように、ピクチャヘッダPH、及び、スライスS1〜SNSを含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。スライスSは、図2の(b)に示すように、スライスヘッダSH、及び、ツリーブロックTBLK1〜TBLKNC(NCはスライスSに含まれるツリーブロックの総数)を含んでいる。
ツリーブロックレイヤでは、処理対象のツリーブロックTBLK(以下、対象ツリーブロックとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。
ツリーブロックヘッダTBLKHには、対象ツリーブロックの復号方法を決定するために動画像復号装置1が参照する符号化パラメータが含まれる。具体的には、図2の(c)に示すように、対象ツリーブロックの各CUへの分割パターンを指定するツリーブロック分割情報SP_TBLK、および、量子化ステップの大きさを指定する量子化パラメータ差分Δqp(qp_delta)が含まれる。
CUレイヤでは、処理対象のCU(以下、対象CUとも称する)を復号するために動画像復号装置1が参照するデータの集合が規定されている。
続いて、図2の(d)を参照しながら符号化単位情報CUに含まれるデータの具体的な内容について説明する。図2の(d)に示すように、符号化単位情報CUは、具体的には、変換量子化バイパスフラグ(transquant_bypass_flag; TBFとも称する)、スキップモードフラグSKIP、CU予測タイプ情報Pred_type、PT情報PTI、および、TT情報TTIを含む。
変換量子化バイパスフラグtransquant_bypass_flagは、対象CUに含まれる各TUについて、逆量子化、及び逆変換を適用するか否かを示すフラグである。変換量子化バイパスフラグの値が1の場合、対象CUに含まれる各TUに関して、逆量子化・逆変換の処理は省略される。なお、変換量子化バイパスフラグtransquant_bypass_flagは、transquant_bypass_enable_flagの値が1の場合、明示的に符号化(復号)される。一方、transquant_bypass_enable_flagの値が0の場合は、変換量子化バイパスフラグのシンタックスの符号化(復号)は省略され、変換量子化バイパスフラグの値は0(transqunt_bypass_flag==0)と解釈される。なお変換量子化バイパスフラグは、CUレイヤではなく、下位レイヤである変換単位(TU)毎に符号化(復号)されてもよい。
スキップフラグSKIPは、対象CUについて、スキップモードが適用されているか否かを示すフラグであり、スキップフラグSKIPの値が1の場合、すなわち、対象CUにスキップモードが適用されている場合、その符号化単位情報CUにおけるPT情報PTIは省略される。なお、スキップフラグSKIPは、Iスライスでは省略される。
CU予測タイプ情報Pred_typeは、CU予測方式情報PredModeおよびPU分割タイプ情報PartModeを含む。CU予測タイプ情報のことを単に予測タイプ情報と呼ぶこともある。
PT情報PTIは、対象CUに含まれるPTに関する情報である。言い換えれば、PT情報PTIは、PTに含まれる1または複数のPUそれぞれに関する情報の集合である。上述のとおり予測画像の生成は、PUを単位として行われるので、PT情報PTIは、動画像復号装置1によって予測画像が生成される際に参照される。PT情報PTIは、図2の(d)に示すように、各PUにおける予測情報等を含むPU情報PUI1〜PUINP(NPは、対象PTに含まれるPUの総数)を含む。
TT情報TTIは、CUに含まれるTTに関する情報である。言い換えれば、TT情報TTIは、TTに含まれる1または複数のTUそれぞれに関する情報の集合であり、動画像復号装置1により残差データを復号する際に参照される。なお、以下、TUのことをブロックと称することもある。
処理A−1:符号化対象画像から予測画像を減算した予測残差を周波数変換(例えばDCT変換(Discrete Cosine Transform))する;
処理A−2:処理A−1にて得られた変換係数を量子化する;
処理A−3:処理A−2にて量子化された変換係数を可変長符号化する;
(処理B:周波数変換をスキップし、量子化を実施し、量子化された予測残差の値を可変長符号化する場合(変換スキップ時))
処理B−1:符号化対象画像から予測画像を減算した予測残差を量子化する;
処理B−2:処理B−1にて量子化された予測残差(係数)を可変長符号化する;
(処理C:周波数変換、及び量子化をスキップし、予測残差の値を可変長符号化する場合(変換量子化バイパス時))
処理C−1:符号化対象画像から予測画像を減算した予測残差を可変長符号化する;
以下、予測残差の変換係数、予測残差の係数を区別せず単に「変換係数」と呼ぶ。
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=2m(mは1以上の任意の整数)を意味している。以下、対称CUを分割して得られる領域のことをパーティションとも称する。
インターPUでは、上記8種類の分割タイプのうち、N×N(図3の(h))以外の7種類が定義されている。なお、上記6つの非対称的分割は、AMP(Asymmetric Motion Partition)と呼ばれることもある。
イントラPUでは、次の2種類の分割パターンが定義されている。対象CUを分割しない、すなわち対象CU自身が1つのPUとして取り扱われる分割パターン2N×2Nと、対象CUを、4つのPUへと対称的に分割するパターンN×Nと、である。
次に、図3(i)〜(o)を用いて、TU分割タイプについて説明する。TU分割のパターンは、CUのサイズ、分割の深度(trafoDepth)、および対象PUのPU分割タイプにより定まる。
を示している。
量子化残差情報QDは、最後の非0係数の位置や、サブブロック内の非0係数の有無、各位置での非0係数の有無、変換係数のレベル、係数の符号等の情報を含んでいてもよい。例えば、図4及び図5では、量子化残差情報QD(図4ではresidual_coding_cabac()と表記)に含まれる各シンタックスが示されている。
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について図面を参照して説明する。動画像復号装置1は、H.264/MPEG−4 AVC規格の後継コーデックであるHEVC(High-Efficiency Video Coding)にて提案されている技術を実装している復号装置である。
図10は、可変長符号復号部11の要部構成を示すブロック図である。図10に示すように、可変長符号復号部11は、量子化残差情報復号部111、予測パラメータ復号部112、予測タイプ情報復号部113、および、フィルタパラメータ復号部114を備えている。
予測画像生成部12は、各パーティションについての予測タイプ情報Pred_typeに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを識別する。そして、前者の場合には、インター予測画像Pred_Interを生成すると共に、生成したインター予測画像Pred_Interを予測画像Predとして加算器14に供給し、後者の場合には、イントラ予測画像Pred_Intraを生成すると共に、生成したイントラ予測画像Pred_Intraを加算器14に供給する。なお、予測画像生成部12は、処理対象PUに対してスキップモードが適用されている場合には、当該PUに属する他のパラメータの復号を省略する。
動きベクトル復元部12aは、各インター予測パーティションに関する動きベクトルmvを、そのパーティションに関する動きベクトル残差と、他のパーティションに関する復元済みの動きベクトルmv’とから復元する。具体的には、(1)推定動きベクトルインデックスにより指定される推定方法に従って、復元済みの動きベクトルmv’から推定動きベクトルを導出し、(2)導出した推定動きベクトルと動きベクトル残差とを加算することによって動きベクトルmvを得る。なお、他のパーティションに関する復元済みの動きベクトルmv’は、フレームメモリ15から読み出すことができる。動きベクトル復元部12aは、復元した動きベクトルmvを、対応する参照画像インデックスRIと共に、インター予測画像生成部12bに供給する。
インター予測画像生成部12bは、画面間予測によって、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル復元部12aから供給された動きベクトルmvを用いて、同じく動きベクトル復元部12aから供給された参照画像インデックスRIによって指定される適応フィルタ済復号画像P_ALF’から動き補償画像mcを生成する。ここで、適応フィルタ済復号画像P_ALF’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ16によるフィルタ処理を施すことによって得られる画像であり、インター予測画像生成部12bは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ15から読み出すことができる。インター予測画像生成部12bによって生成された動き補償画像mcは、インター予測画像Pred_Interとして予測方式決定部12dに供給される。
イントラ予測画像生成部12cは、各イントラ予測パーティションに関する予測画像Pred_Intraを生成する。具体的には、まず、可変長符号復号部11から供給されたイントラ予測パラメータPP_Intraに基づいて予測モードを特定し、特定された予測モードを対象パーティションに対して、例えば、ラスタスキャン順に割り付ける。
フラグが、処理対象である対象パーティションについての予測モードと、当該対象パーティションの周辺のパーティションに割り付けられた予測モードとが同一でないことを示している場合には、残余予測モードインデックスを復号し、当該残余予測モードインデックスの示す予測モードを対象パーティションに対して割り付ける。
ModeNum)は、対象ブロックのサイズによらず「35」である。
予測方式決定部12dは、各パーティションが属するPUについての予測タイプ情報Pred_typeに基づいて、各パーティションがインター予測を行うべきインター予測パーティションであるのか、イントラ予測を行うべきイントラ予測パーティションであるのかを決定する。そして、前者の場合には、インター予測画像生成部12bにて生成されたインター予測画像Pred_Interを予測画像Predとして加算器14に供給し、後者の場合には、イントラ予測画像生成部12cにて生成されたイントラ予測画像Pred_Intraを予測画像Predとして加算器14に供給する。
逆量子化・逆変換部13は、通常(変換スキップフラグを実施しない場合(transform_skip_flag==0)、かつ、変換量子化バイパスを実施しない場合(transquant_bypass_flag==0))、(1)符号化データ#1の量子化残差情報QDから復号された変換係数Coeffを逆量子化し、(2)逆量子化によって得られた変換係数Coeff_IQに対して逆DCT(Discrete Cosine Transform)変換等の逆周波数変換を施し、(3)逆周波数変換によって得られた予測残差Dを加算器14に供給する。また、変換量子化バイパスを実施する場合(transquant_bypass_flag==1)、逆量子化・逆変換部13は、(1)符号化データ#1の量子化残差情報QDから復号された変換係数Coeff(予測残差Dと等価)を加算器14に供給する。また、変換スキップを実施する場合(transform_skip_flag==1)、逆量子化・逆変換部13は、(1)符号化データ#1の量子化残差情報QDから復号された変換係数Coeffを逆量子化し、(2)逆量子化によって得られた変換係数Coeff_IQ(予測残差Dと等価)を加算器14に供給する。なお、量子化残差情報QDから復号された変換係数Coeffを逆量子化する際に、逆量子化・逆変換部13は、可変長符号復号部11から供給された量子化パラメータ差分Δqpから量子化ステップQPを導出する。量子化パラメータqpは、直前に逆量子化及び逆周波数変換したTUに関する量子化パラメータqp’に量子化パラメータ差分Δqpを加算することによって導出でき、量子化ステップQPは、量子化パラメータqpから例えばQP=2pq/6によって導出できる。また、逆量子化・逆変換部13による予測残差Dの生成は、TUあるいはTUを分割したブロックを単位として行われる。
・C(u)=1 (u≠0)
・C(v)=1/√2 (v=0)
・C(v)=1 (v≠0)
なお、変換スキップが実施される場合、逆周波数変換は施されないため、当該対象ブロックにおける画素の位置(i,j)における予測残差D(i,j)と逆量子化された変換係数Coeff_IQ(u、v)は次式のように等価である。
また、変換量子化バイパスが実施される場合、逆量子化、及び逆周波数変換は施されないため、当該対象ブロックにおける画素の位置(i,j)における予測残差D(i,j)と変換係数Coeff(u、v)は次式のように等価である。
(加算器14)
加算器14は、予測画像生成部12から供給された予測画像Predと、逆量子化・逆変換部13から供給された予測残差Dとを加算することによって復号画像Pを生成する。生成された復号画像Pは、フレームメモリ15に格納される。
ループフィルタ16は、(1)復号画像Pにおけるブロック境界、またはパーティション境界の周辺の画像の平滑化(デブロック処理)を行うデブロッキングフィルタ(DF:Deblocking Filter)としての機能と、(2)デブロッキングフィルタが作用した画像に対して、フィルタパラメータFPを用いて適応フィルタ処理を行う適応フィルタ(ALF:Adaptive
Loop Filter)としての機能とを有している。
量子化残差情報復号部111は、符号化データ#1に含まれる量子化残差情報QDから、各係数位置(各周波数成分、または各画素)(xC、yC)についての量子化された変換係数Coeff(xC、yC)を復号するための構成である。ここで、xCおよびyCは、周波数領域における各周波数成分の位置、あるいは画素領域における各係数の位置を表すインデックスであり、それぞれ、上述した周波数領域における水平方向周波数uおよび垂直方向周波数v、あるいは画素領域における水平方向画素位置uおよび垂直方向画素位置vに対応するインデックスである。以下では、量子化された変換係数Coeffを、単に、変換係数Coeffと呼ぶこともある。
算術符号復号部130は、量子化残差情報QDに含まれる各ビットをコンテキストを参照して復号するための構成であり、図1に示すように、コンテキスト記録更新部131及びビット復号部132を備えている。
コンテキスト記録更新部131は、各コンテキストインデックスctxIdxによって管理されるコンテキスト変数CVを記録及び更新するための構成である。ここで、コンテキスト変数CVには、(1)発生確率が高い優勢シンボルMPS(most probable symbol)と、(2)その優勢シンボルMPSの発生確率を指定する確率状態インデックスpStateIdxとが含まれている。
ビット復号部132は、コンテキスト記録更新部131に記録されているコンテキスト変数CVを参照し、量子化残差情報QDに含まれる各ビット(Binとも呼ぶ)を復号する。また、復号して得られたBinの値を変換係数復号部120の備える各部に供給する。また、復号して得られたBinの値は、コンテキスト記録更新部131にも供給され、コンテキスト変数CVを更新するために参照される。
図1に示すように、変換係数復号部120は、ラスト係数位置復号部121、スキャン順テーブル格納部122、係数復号制御部123、係数有無フラグ復号部、係数値復号部125、復号係数記憶部126、サブブロック係数有無フラグ復号部127、および変換・変換量子化バイパスフラグ復号128を備えている。
ラスト係数位置復号部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には、処理対象のTU(ブロック)のサイズ、スキャン方向の種別を表すスキャンインデックス、及びスキャン順に沿って付与された係数位置識別インデックスを引数として、処理対象の変換ブロックの周波数領域、または画素領域における位置を与えるテーブルが格納されている。
また、スキャン順テーブル格納部122には、サブブロックのスキャン順を指定するためのサブブロックスキャン順テーブルが格納されている。サブブロックスキャン順テーブルは、処理対象のTU(ブロック)のサイズとイントラ予測モードの予測モードインデックス(予測方向)とに関連付けられたスキャンインデックスscanIdxによって指定される。処理対象のTUに用いられた予測方法がイントラ予測である場合には、係数復号制御部123は、当該TUのサイズと当該TUの予測モードとに関連付けられたスキャンインデックスscanIdxによって指定されるテーブルを参照してサブブロックのスキャン順を決定する。
係数復号制御部123は、量子化残差情報復号部111の備える各部における復号処理の順序を制御するための構成である。
サブブロック分割手段129は、サブブロック分割手段129は、スキャン順およびTUサイズに応じてに応じてサブブロックサイズを導出し、導出されたサブブロックサイズでTUを分割することでTUをサブブロックに分割する。以下、サブブロックサイズの導出方法を順に説明する。なお、既に説明したように、スキャン順が、CU予測方式情報PredMode、TUサイズ及びイントラ予測モードインデックスIntraPredModeで定まる場合には、CU予測方式情報PredMode、TUサイズ及びイントラ予測モードインデックスIntraPredModeにより、サブブロックサイズを導出する構成も等価である。
図27は、CU予測方式情報PredMode、TUサイズ及びイントラ予測モードインデックスIntraPredModeにより、サブブロックサイズを導出する方法を示す図である。CU予測方式情報PredModeがイントラ予測の場合には、図13で示すようにTUサイズ及びイントラ予測モードインデックスIntraPredModeに基づいて水平方向優先スキャンが用いられる場合には8×2、垂直方向優先スキャンが用いられる場合には2×8、それ以外のスキャン(斜め方向スキャン)が用いられる場合には、4×4のサブブロックサイズを用いる。
変換スキップ・変換量子化バイパスフラグ復号部128は、ビット復号部132より供給される復号ビット(Bin)を解釈し、シンタックスtransquant_bypass_flag及びtransform_skip_flagを復号する。復号したシンタックスtransquant_bypass_flag及びtransform_skip_flagは、係数有無フラグ復号部124、および係数値復号部125、および逆量子化・逆変換部13に供給される。また、変換スキップ・変換量子化バイパスフラグ復号部128は、算術符号復号部130にてシンタックスtransquant_bypass_flag及びtransform_skip_flagのBinを復号するために用いられるコンテキストを決定するためのコンテキストインデックスctxIdxを算出する。算出されたコンテキストインデックスctxIdxは、コンテキスト記録更新部131に供給される。
フラグの復号処理について具体的に説明する。
<<変換量子化バイパスフラグ、及び変換スキップフラグの復号処理1>>
図19(a)は、変換量子化バイパスフラグ及び変換スキップフラグのシンタックス例を示し、図19(b)は、その復号処理をより具体的に説明するためのフローチャートである。
まず、変換スキップ・変換量子化バイパスフラグ復号部128は、外部より入力された変換量子化バイパス有効フラグ(transquant_bypass_enable_flag)が1であるかを判別する。変換量子化バイパス有効フラグが1である場合(ステップS20−1においてYes)、ステップS20−2へ進む。それ以外である場合(ステップS20−1においてNo)、ステップS20-3へ進む。
変換スキップ・変換量子化バイパスフラグ復号部128は、対象TUに関して、符号化データから変換量子化バイパスフラグ(transquant_bypass_flag)を復号し、ステップS20-4へ進む。
変換スキップ・変換量子化バイパスフラグ復号部128は、対象TUに関して、暗黙的に変換量子化バイパスフラグ(transquant_bypass_flag)は0であると解釈し、値を0に設定し、ステップS20-4へ進む。
変換スキップ・変換量子化バイパスフラグ復号部128は、外部より入力された変換スキップ有効フラグ(transform_skip_enable_flag)が1であるか判別する。変換スキップ有効フラグが1である場合(ステップS20-4においてYes)、ステップS20-5へ進む。それ以外の場合(ステップS20-4においてNo)、ステップS20-7へ進む。
変換スキップ・変換量子化バイパスフラグ復号部128は、変換バイパスフラグが0であるか否かを判別する。変換バイパスフラグが0である場合(ステップS20-5においてYes)、ステップS20−6へ進む。それ以外の場合は、ステップS20-7へ進む。
変換スキップ・変換量子化バイパスフラグ復号部128は、対象TUに関して、符号化データから変換スキップフラグ(transform_skip_flag)を復号する。
変換スキップ・変換量子化バイパスフラグ復号部128は、対象TUに関して、暗黙的に変換スキップフラグ(transform_skip_flag)は0であると解釈し、値を0に設定する。
サブブロック係数有無フラグ復号部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に格納される。
本実施形態に係る係数有無フラグ復号部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は、ビット復号部132から供給される各Binを解釈し、シンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_remainingを復号すると共に、これらのシンタックスを復号した結果に基づき、処理対象の各係数位置(周波数成分、または画素位置における変換係数(より具体的には非0係数))の値を導出する。また、各種シンタックスの復号に用いたコンテキス
トインデックスctxIdxは、コンテキスト記録更新部131に供給される。導出された変換係数の値は、復号係数記憶部126に格納される。係数値復号部125の具体的な構成については後述する。
復号係数記憶部126は、係数値復号部125によって復号された変換係数の各値を記憶しておくための構成である。また、復号係数記憶部126には、係数有無フラグ復号部124によって復号されたシンタックスsignificant_coeff_flagの各値が記憶される。復号係数記憶部126によって記憶されている変換係数の各値は、逆量子化・逆変換部13に供給される。
以下では、図15を参照して、サブブロック係数有無フラグ復号部127の具体的な構成例について説明する。
サブブロック係数有無フラグ復号部127の備えるサブブロック係数有無フラグコンテキスト導出部127aは、各サブブロック位置(xCG、yCG)によって指定されるサブブロックに割り付けるコンテキストインデックスを導出する。サブブロックに割り付けられたコンテキストインデックスは、当該サブブロックについてのシンタックスsignificant_coeff_group_flagを示すBinを復号する際に用いられる。また、コンテキストインデックスを導出する際には、サブブロック係数有無フラグ記憶部127bに記憶された復号済みのサブブロック係数有無フラグの値が参照される。サブブロック係数有無フラグコンテキスト導出部127aは、導出したコンテキストインデックスをコンテキスト記録更新部131に供給する。
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には、サブブロック係数有無フラグ設定部127cによって復号又は設定されたシンタックスsignificant_coeff_group_flagの各値が記憶されている。サブブロック係数有無フラグ設定部127cは、隣接サブブロックに割り付けられたシンタックスsignificant_coeff_group_flagを、サブブロック係数有無フラグ記憶部127bから読み出すことができる。
サブブロック係数有無フラグ設定部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に供給される。
以下では、図18を参照して、係数有無フラグ復号部124の具体的な構成例について説明する。
係数有無フラグ設定部124eは、ビット復号部132から供給される各Binを解釈し、シンタックスsignificant_coeff_flag[xC][yC]を設定する。設定されたシンタックスsignificant_coeff_flag[xC][yC]は、復号係数記憶部126に供給される。
コンテキスト導出手段選択部124aには、処理対象の周波数成分、または画素の位置(係数位置とも呼ぶ)(xC,yC)と、変換ブロックの対数値(log2TrafoWidth、log2TrafoHeight)が入力される。対数値のサイズから、変換ブロックの幅widthと高さheightを(1<<log2TrafoWidth)と(1<<log2TrafoHeight)により算出する。なお、対数値のサイズではなく、変換ブロックの幅と高さを直接入力しても良い。さらに、コンテキスト導出手段選択部124aには、変換スキップフラグ(transform_skip_flag)、および、変換量子化バイパスフラグ(transquant_bypass_flag)が入力される。
位置コンテキスト導出部124bは、対象周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該対象周波数成分の位置に基づいて導出する。なお、周波数成分の位置によらず、固定値となるコンテキストインデックスctxIdxを導出する場合、位置コンテキスト導出部124bで当該導出処理を行ってもよい。
隣接サブブロック係数有無コンテキスト導出部124cは、隣接サブブロックに非0係数があるか否かに応じて、コンテキスト導出パターンを選択し、選択した導出パターンに従って、処理対象の周波数成分のサブブロック内での座標から、復号対象の周波数成分に対するコンテキストインデックスを導出する。
上記式(A)において、significant_coeff_group_flagは、上述したとおり、サブブロック内に少なくとも1つの非0変換係数が存在するか否かを示すフラグである。サブブロック内に少なくとも1つの非0変換係数が存在する場合、significant_coeff_group_flagの値は“1”であり、存在しない場合、significant_coeff_group_flag の値は“0”である。
スidxCG==0の場合を示し、図29(b)はパターンインデックスidxCG==1の場合を示し、図29(c)はパターンインデックスidxCG==2の場合を示し、図29(d)はパターンインデックスidxCG==3の場合を示す。
(実施例1)
変換スキップ・変換量子化バイパスコンテキスト導出部124dは、変換スキップ時、あるいは、変換量子化バイパス時に、対象変換ブロックの画素領域における係数に対するコンテキストインデックスctxIdxを所定の方法に基づいて導出する。例えば、TUの横幅サイズとTUの縦幅サイズに対応する相対コンテキストインデックスに基づいて導出する。
・・・(eq.A-1)
上記式(eq.A-1)において、変数offsetは、位置コンテキスト導出部124b、及び隣接サブブロック係数有無コンテキスト導出部124cで導出されるコンテキストインデックスと識別するための所定のオフセット値であり、変換スキップ、あるいは変換量子化バイパスが適用される場合にコンテキストインデックスの開始点を表す(以下、式(eq.A-2)〜(eq.A-6)についても同様である)。
また、変換スキップ・変換量子化バイパスコンテキスト導出部124dは、変換スキップ時、あるいは、変換量子化バイパス時に、TU横幅サイズの対数値log2TrafoWidthとTU縦幅サイズの対数値log2TrafoHeightの代わりに、TUサイズの対数値log2TrafoSize(=(log2TrafoWidth+log2TrafoHeight)>>1)に基づいてコンテキストインデックスctxIdxを導出してもよい。例えば、図31(b)に示すTUサイズの対数値log2TrafoSizeと対応する相対コンテキストインデックスのテーブルTBL_CTX_IDX[ log2TrafoSize-2 ] を参照して、次式により導出する。
・・・(eq.A-2)
一般的に、非正方形であるTUサイズは、正方形であるTUサイズと比較して出現頻度が小さい。そのため、非正方形であるTUサイズと要素数が等しい正方形であるTUサイズとで、画素領域における非0係数のコンテキストを共有することによる符号化効率の改善幅の低下は軽微である。
変換スキップ・変換量子化バイパスコンテキスト導出部124dは、変換スキップ時、あるいは、変換量子化バイパス時に、対象変換ブロックの画素領域における係数に対するコンテキストインデックスctxIdxを予測タイプPredTypeとTUの横幅サイズとTUの縦幅サイズに対応する相対コンテキストインデックスに基づいて導出してもよい。例えば、図32に示す予測タイプPredTypeとTU横幅サイズの対数値log2TrafoWidthとTU縦幅サイズの対数値log2TrafoHeightとに対応する相対コンテキストインデックスのテーブルTBL_CTX_IDX[PredType][ log2TrafoWidth-2 ][ log2TrafoHeight -2 ]を参照して、次式によりコンテキストインデックスを導出する。
-2 ]
+ offset・・・(eq.A-3)
ここで、予測タイプPredTypeは、イントラ予測の場合、値は0をとり、インター予測の場合、値は1をとるものとする。
変換スキップ・変換量子化バイパスコンテキスト導出部124dは、変換スキップ時、あるいは、変換量子化バイパス時に、TU横幅サイズの対数値log2TrafoWidthとTU縦幅サイズの対数値log2TrafoHeightの代わりに、TUサイズの対数値log2TrafoSize(=(log2TrafoWidth+log2TrafoHeight)>>1)と予測タイプに基づいてコンテキストインデックスctxIdxを導出してもよい。例えば、図33に示す予測タイプPredTypeとTUサイズの対数値log2TrafoSizeと対応する相対コンテキストインデックスのテーブルTBL_CTX_IDX[ PredType][
log2TrafoSize-2 ] を参照して、次式により導出する。
非正方形であるTUサイズは、正方形であるTUサイズと比較して出現頻度が小さい。そのため、非正方形であるTUサイズと要素数が等しい正方形であるTUサイズとで、画素領域における非0係数のコンテキストを共有することによる符号化効率の改善幅の低下は軽微である。
以上、変換スキップ・変換量子化バイパスコンテキスト導出部124dは、TUサイズや予測タイプによって個別のコンテキストインデックスを導出する例について説明したが、これに限定されない。例えば、変換スキップ・変換量子化バイパスコンテキスト導出部124dは、変換スキップ時、あるいは、変換量子化バイパス時に、対象変換ブロックの画素領域における係数に対して固定のコンテキストインデックスを割り当ててもよい。
すなわち、ctxIdx = offset ・・・(eq.A-5)
これによって、新たに導入する画素領域における非0係数有無フラグに関するコンテキスト数を抑制すると共に、符号化効率の改善の効果を奏する。
上記変換スキップ・変換量子化バイパスコンテキスト導出部124dでは、変換スキップ時と変換量子化バイパス時において、画素領域における非0係数有無フラグに関するコンテキストインデックスを共通にしていてが、変換スキップ時と変換量子化バイパス時において、個別のコンテキストインデックスを割り当ててもよい。一般的に、変換スキップ時と変換量子化バイパス時とでは、画素領域における非0係数の出現確率は異なるため、係数有無フラグに関するコンテキストを区別することが好ましい。例えば、図34に示すように、変換スキップと変換量子化バイパスを識別する識別子indexと、TUサイズの対数値log2TrafoSizeと対応する相対コンテキストインデックスのテーブルTBL_CTX_IDX[ PredType ][ log2TrafoSize-2 ] を参照して、次式により導出する。
なお上記式において識別子indexは、変換スキップ時に値0をとり、変換量子化バイパス時に値1をとるものとする。
以下では、図59を参照して、係数有無フラグ復号部124の別の構成例について説明する。
コンテキスト導出手段選択部124Aaには、処理対象の係数位置(xC,yC)と、変換ブロックサイズの対数値(log2TrafoWidth、log2TrafoHeight)と、変換スキップフラグ(transform_skip_flag)が少なくとも入力される。
変換スキップコンテキスト導出部124Adは、変換スキップ時に、対象係数における係数有無フラグの復号時に参照されるコンテキスト(コンテキストインデックスctxIdx)を導出する。ここで導出されるコンテキストは、対象係数のサブブロック内の位置に依らず、単一のコンテキストが導出される。ここで、当該単一のコンテキストとしては、独立のコンテキストを設定してもよい。具体的には、他のコンテキスト導出部(位置コンテキスト導出部124bと隣接サブブロック係数有無コンテキスト導出部124c)において導出されるコンテキストとは異なるコンテキストを導出する。
数領域における非0係数の出現確率に較べて低い。そのため、画素領域における非0係数の出現確率に対応する、変換スキップ適用時の係数有無フラグの復号に参照するコンテキストは、変換ブロック内、または、サブブロック内の係数位置に依存せずに決定してもよい。その場合、係数位置に応じて複数のコンテキストから選択する場合に較べて、コンテキスト数を削減できる。
図43は、係数値復号部125の構成例を示すブロック図である。図43に示すように、係数値復号部125は、係数レベル復号部125a、係数サイン復号部125b、係数値復元部125c及び、係数数導出部125dを備えている。係数サイン復号部125bは、係数位置導出部125e、サインハイディングフラグ導出部125f、係数和算出部125g、サイン符号導出部125hを備えている。
coeff_sign_flagは符号が正のとき値は0、符号が負のとき値は1となる。
サインハイディングを行わない場合には、符号化データからシンタックスcoeff_sign_flagを復号することにより、変換係数の符号を復号する。
サインハイディングフラグ導出部125fはサインハイディングフラグsignHiddenを導出する。サインハイディングフラグsignHiddenは、当該サブブロックでサインハイディングを行うか否かを示す。signHiddenの導出はサブブロックに1回行われる。導出方法の詳細は後述する。
対象サブブロック内のループを開始する。当該ループは、係数位置を単位とするループである。
対象変換係数の位置に非0係数が存在するか否かを判定する。
非0係数が存在する場合(ステップSD003でYes)、サインハイディング許可フラグフラグsign_data_hiding_flagが1であるか否かを判定する。サインハイディング許可フラグフラグsign_data_hiding_flagは、シーケンスやピクチャ、スライス全体でサインハイディングを許可するか否かのフラグであり、SPSやPPSなどのパラメータセットもしくはスライスヘッダで符号化される。
サインハイディング許可フラグフラグsign_data_hiding_flagが1の場合(ステップSD004でYes)、サインハイディングフラグsignHiddenが1であるであるかを判定する。
サインハイディングフラグsignHiddenが1である場合(ステップSD005でYes)、サインハイディングフラグsignHidden対象変換係数がサブブロックの中においてスキャン順で最初(逆スキャン順で最後)の非0係数であるであるか(firstNZPosInCG ?)を判定する。
対象変換係数がサブブロックの中においてスキャン順で最初の非0係数である場合(ステップSD006でYes)、サイン符号導出部125hは計算によりサインを導出する。
サインハイディングを行うか否かの判定のいずれかがNoの場合、サイン符号導出部125hは符号化データからサインを復号する。
サブブロック内のループを終了する。
変換量子化バイパスを実施するか否かを判別する。変換量子化バイパスを実施しない場合(transquant_bypass_flag==0) (ステップSD1201でYes)、ステップSD1202へ進む。それ以外の場合は(ステップSD1201でNo)、ステップS1205へ進む。
変換スキップを実施するか否かを判別する。変換スキップを実施しない場合(transform_skip_flag==0)(ステップSD1202でYes)、ステップSD1203へ進む。それ以外の場合は、ステップS1205へ進む。
サブブロック内において、スキャン順で最後に出現する(逆スキャン順で最初に出現する)非0係数の位置lastNZPosInCGとスキャン順で最初に出現する(逆スキャン順で最後に出現する)非0係数の位置firstNZPosInCGの差が所定の閾値sign_hiding_threshold以上であるかを判定する。スキャン位置の差が所定の閾値以上である場合(ステップSD1201でYes)、ステップS1204へ進む。それ以外の場合は(ステップSD1203でNo)、ステップS1205へ進む。
、サインハイディングフラグsignHiddenをサインハインディングを行うことを意味する1に設定する。
サインハイディングフラグsignHiddenをサインハインディングを行わないことを意味する0に設定する。
old) &&
!transquant_bypass_flag && !transform_skip_flag ? 1 :0
変換スキップを実施する場合、もしくは変換量子化バイパスを実施する場合、画素領域の係数に対して、係数レベル値の補正を伴うサインハイディングを実施することは、主観画質の低下を招く可能性があるため、サインハイディングの実施を禁止することが好ましい。以上、本構成では、変換スキップ、もしくは、変換量子化バイパスを実施時において、サインハイディング処理を禁止することによって、主観画質向上の効果を得る効果を奏する。
signHidden = (lastNZPosInCG >= sign_hiding_threshold) &&
!transquant_bypass_flag && !transform_skip_flag ? 1 :0
(係数値復号部125の別の構成例)
図46は、係数値復号部125の別の構成例を示すブロック図である。図46に示すように、係数値復号部125は、係数レベル復号部125a、係数サイン復号部125b´、係数値復元部125c及び、係数数導出部125dを備えている。係数サイン復号部125b´は、係数位置導出部125e、サインハインディングフラグ導出部125f´、係数和算出部125g、サイン符号導出部125hを備えている。図43に示す構成と異なり、係数位置導出部125eは存在しない。
signHidden = (numSigCoeff>=sign_hiding_threhold) &&
!transquant_bypass_flag && !transform_skip_flag ? 1 :0
本判定において、サブブロック内の変換係数の数numCoeffは、レベル復号においてもカウントされる変数であるため、サインハインディング用に特別な処理が不要になり処理が単純になる効果を奏する。
図47は、サイン符号導出部125hにおけるサインハイディングの符号計算処理(ステップSD007)の詳細動作を示すフローチャートである。
サイン符号導出部125hは、対象サブブロックの係数絶対値和sumAbsが奇数かどうかを判定する。
対象サブブロックの係数絶対値和sumAbsが奇数の場合(ステップSD901でYes)、対象とする変換係数の符号を負と導出する。既に復号された絶対値absLevelを反転する。
対象サブブロックの係数絶対値和sumAbsが偶数の場合(ステップSD901でNo)、対象とする変換係数の符号は正と導出する。既に復号された絶対値absLevelは反転せずそのままとする。
図48は、係数絶対値和sumAbsを用いない場合の係数サイン復号部125bの動作を示すフローチャートである。ステップSD1001からステップSD1005、ステップSD1007、ステップSD1008の動作は、図44のステップSD001からステップSD005、ステップSD007、ステップSD008の動作と同じであるから説明を省略する。
サインハイディングフラグsignHiddenが1である場合(ステップSD1005でYes)、サインハイディングフラグsignHidden対象変換係数がサブブロックの中においてスキャン順で最後(最も高周波数側)の非0係数であるであるか(lastNZPosInCG ?)を判定する。
対象変換係数がサブブロックの中においてスキャン順で最後の非0係数である場合(ステップSD1006でYes)、サイン符号導出部125hは、スキャン順で最後の非0係数の絶対値から計算によりサインを導出する。
サイン符号導出部125hは、サインハイディングの対象となる変換係数の係数絶対値absLevelが奇数かどうかを判定する。
対象係数の絶対値absLevelが奇数の場合(ステップSD1101でYes)、対象とする変換係数の符号を負と導出する。既に復号された絶対値absLevelを反転する。
対象係数の絶対値absLevelが偶数の場合(ステップSD1101でNo)、対象とする変換係数の符号は正と導出する。既に復号された絶対値absLevelは反転せずそのままとする。
以下では、係数レベル復号部125aにおけるGR1フラグ、GR2フラグ、残余係数レベルの復号処理について説明する。
以下では、係数レベル復号部125aにおけるGR1フラグの復号処理について説明する。図35は、GR1フラグの復号処理を示すフローチャートである。
係数レベル復号部125aは、GR1フラグの復号に関連する各種パラメータを初期化する。
係数数numSigCoeffを0に設定する。numSigCoeff = 0
サブブロック内で最初に出現するGR1フラグの値が1となる係数位置firstGreater1CoeffIdxを-1に設定する。firstGreatr1CoeffIdx = -1
復号対象サブブロックの位置(subset)がラスト係数を含むサブブロックである場合、復号済GR1フラグの値が0である個数を表わす変数greatr1Ctxは1に初期化される。すなわち、
greater1Ctx = 1
また、復号対象サブブロックの位置(subset)がラスト係数を含むサブブロック以外の場合は、復号済GR1フラグの値が0である個数を表わす変数greatr1Ctxを次式により更新する。
(ステップSD102)
対象サブブロック内のループを開始する。当該ループは、係数位置を単位とするループである。
係数位置識別インデックスnで特定される係数位置(xC,yC)が非0係数であるか判別する。非0係数である場合( significant_coeff_flag[xC][yC]==1 )
(ステップSD103でYes)、ステップSD104へ進む。それ以外の場合(significant_coeff_flag[xC][yC]==0(ステップSD103でNo)、ステップSD109へ進む。
サブブロック内で復号したGR1フラグの個数numSigCoeffが所定閾値未満であるか判別する。GR1フラグの個数numSigCoeffが所定閾値未満である場合(ステップSD104でYes)、ステップSD104へ進む。それ以外の場合(ステップSD104でNo)、ステップSD109へ進む。
係数位置識別インデックスnのGR1フラグを復号する。なお、GR1フラグの復号時に参照するコンテキストインデックスは以下のように算出される。
変換スキップ、変換量子化バイパスのいずれも実施しない場合、周波数領域における各係数位置のGR1フラグに関するコンテキストインデックスを次式により導出する。
ここで、式(eq.B-1)において、変数ctxsetは、復号対象変換ブロック内の対象サブブロックより前に復号したサブブロック内の変換係数レベルabslevelが2以上(GR1フラグの値が1)となる係数の個数numGreater1と、復号対象サブブロックの位置(subset)と、色空間cIdxによって定まる値である。
すなわち、色空間cIdxが輝度(Y)を示し(cIdx==0)、かつ復号対象サブブロックの位置subsetがDC係数を含まないサブブロックである(subset>0)場合には、変数ctxsetを2に設定する。。それ例外の場合( subset==0 || cIdx>0 )、すなわち、復号対象サブブロックの位置subsetがDC係数を含むサブブロックである場合(subset==0)、または、色空間cIdxが色差(U,V)である場合は、変数ctxsetを0に設定する。
ctxset = (numGreater1 > 0) ? ctxset + 1 : ctxset
}・・・(eq.B-3)
また、式(eq.B-1)において、変数greater1Ctxは、ステップSD105において復号されたGR1フラグ(lastGrater1Ctx)と、変換スキップフラグ、変換量子化バイパスフラグによって定まる値である。
greater1Ctx = (lastGreater1Ctx==1) ? 0 : greatr1Ctx + 1
}・・・(eq.B-4)
ここで、式(eq.B-4)において、変数lastGreater1Ctxは、直前に復号したGR1フラグの値を示す。また、上記式(eq.B-3)及び(eq.B-4)において、変換スキップ、あるいは、変換量子化バイパスが実施される場合は、変数ctxset及びgreater1Ctxの値を更新しない。なぜならば、変換スキップ、あるいは、変換量子化バイパスが実施される場合、GR1フラグは画素領域における変換係数であり、周波数領域における変換係数に関するGR1フラグのコンテキストを導出するために用いる変数を更新することは、周波数領域における変換係数に関するGR1フラグのコンテキストの状態をが適切に更新されず、符号化効率の低下を招く可能性があるためである。
変換スキップ、あるいは変換量子化バイパスを実施する場合、画素領域における各係数位置のGR1フラグに関するコンテキストインデックスを所定の方法に基づいて導出する。具体的な導出の仕方については後述する。
復号したGR1フラグの個数をカウントする。すなわち、
numSigCoeff = numSigCoeff + 1
また、復号した係数位置(xC, yC)の係数レベル値が2以上であるか(GR1フラグの値が1でるか)と、変換スキップフラグ、変換量子化バイパスフラグに基づいて、変数numGreater1を更新する。すなわち、
if( !transform_skip_flag && !transquant_bypass_flag){
numGreater1 = coeff_abs_level_greater1_flag[n]==1 ?
numGreater1 + 1 : numGreater1
} ・・・(eq.B-5)
ここで、式(eq.B-5)において、変換スキップ、あるいは、変換量子化バイパスが実施される場合は、変数numGreater1を更新しない。なぜならば、変換スキップ、あるいは、変換量子化バイパスが実施される場合、GR1フラグおよびGR2フラグは画素領域における変換係数であり、周波数領域における変換係数に関するGR1フラグおよびGR2フラグのコンテキストを導出するために用いる変数を更新することは、周波数領域における変換係数に関するGR1フラグ、及びGR2フラグのコンテキストの状態が適切に更新されず、符号化効率の低下を招く可能性があるためである。
サブブロック内で最初に出現する、GR1フラグの値が1となる係数位置であるか判別する。サブブロック内で最初に出現する、GR1フラグの値が1となる係数位置である場合(ステップSD107でYes)、ステップSD108へ進む。それ以外の場合は、ステップSD109へ進む。
サブブロック内で最初に出現する、GR1フラグの値が1となる係数位置(係数位置識別インデックス)を変数firstGreater1CoeffIdxへ設定する。すなわち、
firstGreater1CoeffIdx = n
(ステップSD109)
係数位置識別インデックスnを更新する。すなわち、
n = n - 1
(ステップSD110)
サブブロック内のループを終了する。
以下では、係数レベル復号部125aにおけるGR2フラグの復号処理について説明する。図36は、GR2フラグの復号処理を示すフローチャートである。
GR1フラグの復号処理において求めた、サブブロック内で最初に出現する、GR1フラグの値が1となる係数があるか否かを判別する。すなわち、変数firstGreater1CoeffIdxが-1であるか否かを判別する。ここで、変数firstGreater1coeffIdxが-1でない場合(ステップSE101においてYes)、ステップS102へ進む。それ以外の場合(ステップSE101においてNo)、GR2フラグを復号せず、GR2フラグの復号処理を終了する。
変数firstGreatr1CoeffIdxが示す係数位置のGR2フラグ(coeff_abs_level_greater2_flag[ firstGreatr1CoeffIdx ])を復号する。
変換スキップ、変換量子化バイパスのいずれも実施しない場合、周波数領域における各係数位置のGR2フラグに関するコンテキストインデックスを次式により導出する。
ここで、式(eq.C-1)において、変数ctxsetは、復号対象変換ブロック内の対象サブブロックより前に復号したサブブロック内の変換係数レベルabslevelが2以上となる係数の個数numGreater1と、復号対象サブブロックの開始位置と、色空間cIdxによって定まる値である。なお、ctxsetの導出方法は、既に説明したため省略する。
変換スキップ、あるいは変換量子化バイパスを実施する場合、画素領域における各係数位置のGR2フラグに関するコンテキストインデックスを所定の方法に基づいて導出する。具体的な導出の仕方については後述する。
以下では、係数レベル復号部125aにおける残余係数レベルの復号処理について説明する。図37は、残余係数レベルの復号処理を示すフローチャートである。
係数レベル復号部125aは、残余係数レベルの復号に関連する各種パラメータを初期化する。
係数数numSigCoeffを0に設定する。numSigCoeff = 0
(ステップSF102)
対象サブブロック内のループを開始する。当該ループは、係数位置を単位とするループである。
係数位置識別インデックスnで特定される係数位置(xC,yC)が非0係数であるか判別する。非0係数である場合( significant_coeff_flag[xC][yC]==1 )(ステップSF103でYes)、ステップSF104へ進む。それ以外の場合( significant_coeff_flag[xC][yC]==0(ステップSF103でNo)、ステップSF109へ進む。
係数位置(xC, yC)の変換係数のベースレベルbaseLevelを次式により算出する。
+ coeff_abs_level_greater2_flag[ n ] ・・・(eq.E-1)
(ステップSF105)
係数位置(xC,yC)の変換係数のベースレベルbaseLevelが所定値を満たすか否かを判別する。所定値は次式で表わされる。
( ( n==firstGreater1CoeffIdx) ? 3 : 2 ) : 1・・・(eq.E-2)
すなわち、
1)係数数numSigCoeffが所定閾値TH以上の場合(numSigCoeff>=TH)、baseLevelが1と等しいか判定する。
係数位置(xC,yC)の変換係数の残余係数レベルcoeff_abs_level_remaining[n]を復号する。
係数位置(xC,yC)の変換係数の係数レベル値absLevelを次式により算出する。
(ステップSF108)
復号した係数数numSigCoeffを更新する。すなわち、
numSigCoeff = numSigCoeff + 1
(ステップSF109)
係数位置識別インデックスnを更新する。すなわち、
n = n - 1
(ステップSF110)
サブブロック内のループを終了する。
係数レベル復号部125aは、変換スキップ、または変換量子化バイパスが適用される場合、GR1フラグとGR2フラグに関するコンテキストインデックスctxIdxを例えば、TUの横幅サイズとTUの縦幅サイズに対応する相対コンテキストインデックスに基づいて導出する。
は上記テーブルを参照して次式により導出される。
offset
・・・(eq.C-1)
上記式(eq.C-1)において、変数offsetは、GR1フラグの場合、周波数領域におけるGR1フラグのコンテキストインデックスと、変換スキップ、あるいは変換量子化バイパスが適用される場合のGR1フラグのコンテキストインデックスとを識別するための所定のオフセット値である。同様に、GR2フラグの場合、周波数領域におけるGR2フラグのコンテキストインデックスと、変換スキップ、あるいは変換量子化バイパスが適用される場合のGR2フラグのコンテキストインデックスとを識別するための所定のオフセット値であり、変換スキップ、あるいは変換量子化バイパスが適用される場合の各GR1フラグ、または、GR2フラグに関するコンテキストインデックスの開始点を表わす。以下、式(eq.C-2)〜式(eq.C-6)における変数offsetついても同様である。
また、係数レベル復号部125aは、変換スキップ時、あるいは、変換量子化バイパス時に、TU横幅サイズの対数値log2TrafoWidthとTU縦幅サイズの対数値log2TrafoHeightの代わりに、TUサイズの対数値log2TrafoSize(=(log2TrafoWidth+log2TrafoHeight)>>1)に基づいてコンテキストインデックスctxIdxを導出してもよい。例えば、図31(b)に示すTUサイズの対数値log2TrafoSizeと対応する相対コンテキストインデックスのテーブルTBL_CTX_IDX[ log2TrafoSize-2 ] を参照して、次式により導出する。
上記式(eq.C-2)において、変数offsetは、GR1フラグの場合、周波数領域におけるGR1フラグのコンテキストインデックスと、変換スキップ、あるいは変換量子化バイパスが適用される場合のGR1フラグのコンテキストインデックスとを識別するための所定のオフセット値である。同様に、GR2フラグの場合、周波数領域におけるGR2フラグのコンテキストインデックスと、変換スキップ、あるいは変換量子化バイパスが適用される場合のGR2フラグのコンテキストインデックスとを識別するための所定のオフセット値である。
係数レベル復号部125aは、変換スキップ時、あるいは、変換量子化バイパス時に、対象変換ブロックの画素領係数にGR1フラグ及びGR2フラグ対するコンテキストインデックスctxIdxを予測タイプPredTypeとTUの横幅サイズとTUの縦幅サイズに対応する相対コンテキストインデックスに基づいて導出してもよい。例えば、図32に示す予測タイプPredTypeとTU横幅サイズの対数値log2TrafoWidthとTU縦幅サイズの対数値log2TrafoHeightとに対応する相対コンテキストインデックスのテーブルTBL_CTX_IDX[PredType][ log2TrafoWidth-2 ][ log2TrafoHeight -2 ]を参照して、次式によりGR1フラグ、およびGR2フラグのコンテキストインデックスを導出する。
+ offset・・・(eq.C-3)
上記式(eq.C-3)において、変数offsetは、GR1フラグの場合、周波数領域におけるGR1フラグのコンテキストインデックスと、変換スキップ、あるいは変換量子化バイパスが適用される場合のGR1フラグのコンテキストインデックスとを識別するための所定のオフセット値である。同様に、GR2フラグの場合、周波数領域におけるGR2フラグのコンテキストインデックスと、変換スキップ、あるいは変換量子化バイパスが適用される場合のGR2フラグのコンテキストインデックスとを識別するための所定のオフセット値である。
また、上記係数値レベル復号部125aは、変換スキップ時、あるいは、変換量子化バイパス時に、TU横幅サイズの対数値log2TrafoWidthとTU縦幅サイズの対数値log2TrafoHeightの代わりに、TUサイズの対数値log2TrafoSize(=(log2TrafoWidth+log2TrafoHeight)>>1)と予測タイプに基づいてコンテキストインデックスctxIdxを導出してもよい。例えば、図33に示す予測タイプPredTypeとTUサイズの対数値log2TrafoSizeと対応する相対コンテキストインデックスのテーブルTBL_CTX_IDX[ PredType ][ log2TrafoSize-2 ]を参照して、次式により導出する。
上記式(eq.C-4)において、変数offsetは、GR1フラグの場合、周波数領域におけるGR1フラグのコンテキストインデックスと、変換スキップ、あるいは変換量子化バイパスが適用される場合のGR1フラグのコンテキストインデックスとを識別するための所定のオフセット値である。同様に、GR2のフラグの場合、周波数領域におけるGR2フラグのコンテキストインデックスと、変換スキップ、あるいは変換量子化バイパスが適用される場合のGR2フラグのコンテキストインデックスとを識別するための所定のオフセット値である。
上記係数値レベル復号部125aは、GR1フラグ、及びGR2フラグに関して、TUサイズや予測タイプによって、独立のコンテキストインデックスを導出する例について説明したが、これに限定されない。例えば、係数値レベル復号部125aは、変換スキップ時、あるいは、変換量子化バイパス時に、対象変換ブロックの画素領域におけるGR1フラグ、または、GR2フラグに対して、固定のコンテキストインデックスを割り当ててもよい。すなわち、
ctxIdx = offset ・・・(eq.C-5)
上記式(eq.C-5)において、変数offsetは、GR1フラグの場合、周波数領域におけるGR1フラグのコンテキストインデックスと、変換スキップ、あるいは変換量子化バイパスが適用される場合のGR1フラグのコンテキストインデックスとを識別するための所定のオフセット値である。同様に、GR2のフラグの場合、周波数領域におけるGR2フラグのコンテキストインデックスと、変換スキップ、あるいは変換量子化バイパスが適用される場合のGR2フラグのコンテキストインデックスとを識別するための所定のオフセット値である。
また、上記係数値レベル復号部125aでは、変換スキップ時と変換量子化バイパス時において、画素領域におけるGR1フラグ、及びGR2フラグに関するコンテキストインデックスを共通にしているが、変換スキップ時と変換量子化バイパス時において、個別のコンテキストインデックスを割り当ててもよい。一般的に、変換スキップ時と変換量子化バイパス時とでは、画素領域におけるGR1フラグ、及びGR2フラグの出現確率は異なるため、GR1フラグ及びGR2フラグに関するコンテキストを、変換スキップ時と変換量子化バイパス時とで区別することが好ましい。例えば、図34に示すように、変換スキップと変換量子化バイパスを識別する識別子indexと、TUサイズの対数値log2TrafoSizeと対応する相対コンテキストインデックスのテーブルTBL_CTX_IDX[ PredType ][ log2TrafoSize-2 ] を参照して、次式により導出する。
なお上記式において識別子indexは、変換スキップ時に値0をとり、変換量子化バイパス時に値1をとるものとする。
上記式(eq.C-6)において、変数offsetは、GR1フラグの場合、周波数領域におけるGR1フラグのコンテキストインデックスと、変換スキップ、あるいは変換量子化バイパスが適用される場合のGR1フラグのコンテキストインデックスとを識別するための所定のオフセット値である。同様に、周波数領域におけるGR2フラグのコンテキストインデックスと、変換スキップ、あるいは変換量子化バイパスが適用される場合のGR2フラグのコンテキストインデックスとを識別するための所定のオフセット値である。
また、上記係数レベル復号部125aは、GR1フラグ及びGR2フラグの両方に対して、変換スキップ、あるいは変換量子化バイパス時に、周波数領域のGR1フラグ、GR2フラグとは独立のコンテキストインデックスを導出するが、これに限定されない。
1フラグ、GR2フラグの符号量を削減することができるので、GR1フラグ、GR2フラグの復号に関する処理量を削減すると共に、符号化効率を改善する効果を奏する。
変換スキップ、あるいは変換量子化バイパスが実施されない場合、周波数領域におけるGR1フラグ、及びGR2フラグに関するコンテキストインデックスは、復号対象変換ブロック内の対象サブブロックより前に復号したサブブロック内の変換係数レベルabslevelが2以上(GR1フラグの値が1)となる係数の個数numGreater1と、復号済GR1フラグの値が0である個数を表わす変数greatr1Ctxの個数に応じて導出されている。そのため、各GR1フラグ、GR2フラグのコンテキストインデックスは、復号対象となるGR1フラグより1つ前のGR1フラグが復号されなければ決定できない。すなわち、サブブロック内の各係数位置におけるGR1フラグ、及びGR2フラグに関して並列でコンテキストインデックスを導出することができない課題がある。
以下では、係数値レベル復号部125aにおけるGR1フラグ及び、GR2フラグのコンテキストインデックスの導出に関して、隣接サブブロックに非0係数があるか否かに応じて、導出パターンを選択し、選択した導出パターンに従って、サブブロック内の位置からGR1フラグおよびGR2フラグのコンテキストインデックスを導出する例について説明する。この場合、係数レベル復号部125aは図示されない隣接サブブロック係数有無コンテキスト導出部124cを備える。
そして、パターンインデックスidxCGに応じて、図41に示す方法で、サブブロックX内の座標(xB,yB)を用いてコンテキストインデックスを導出する。図41を参照しながら、パターン0〜3のそれぞれの場合において導出されるコンテキストインデックスの値について説明すると次のとおりである。
パターン0の場合、sigCtx = (xB + yB <= 2) ? 1 : 0 によりコンテキストインデックスを導出する。
パターン1の場合、sigCtx = (yB <= 1) ? 1 : 0 によりコンテキストインデックスを導出する。
パターン2の場合、sigCtx = (xB <= 1) ? 1 : 0 によりコンテキストインデックスを導出する。
パターン3の場合、sigCtx = (xB + yB <= 4) ? 2 : 1 によりコンテキストインデックスを導出する。
パターン0の場合、隣接サブブロック係数有無コンテキスト導出部124cは、xB+yBの値に応じて、次のようにコンテキストインデックスを導出する。
パターン1の場合、隣接サブブロック係数有無コンテキスト導出部124cは、yBの値に応じて、次のようにコンテキストインデックスを導出する。
パターン2の場合、隣接サブブロック係数有無コンテキスト導出部124cは、xBの値に応じて、次のようにコンテキストインデックスを導出する。
パターン3の場合、図29(d)に示すように隣接サブブロック係数有無コンテキスト導出部124cは、xBおよびyBの値によらずサブブロック内で一様にsigCtx=2を導出する。
以下では、変換係数復号部120による変換係数復号処理の流れについて、図23〜26を参照して説明する。
まず、変換係数復号部120の備える変換スキップ・変換バイパスフラグ復号部128は、変換量子化バイパスをするか否かを示すシンタックスtransquant_bypass_flag、および変換スキップをするか否かを示すシンタックスtransform_skip_flagを復号する。なお、詳細な復号処理については既に説明しているため、省略する。
続いて、変換係数復号部120の備える係数復号制御部123は、スキャンタイプScanTypeを選択する。
続いて、変換係数復号部120の備えるラスト係数位置復号部121は、順スキャンに沿って最後の変換係数の位置を示すシンタックスlast_significant_coeff_x及びlast_significant_coeff_yを復号する。
続いて、係数復号制御部123は、サブブロックを単位とするループを開始する。なお、ラスト係数のあるサブブロックをループの開始位置とし、サブブロックスキャンの逆スキャン順に、サブブロック単位の復号処理が行われる。
続いて、変換係数復号部120の備えるサブブロック係数有無フラグ復号部127は、サブブロック係数有無フラグsignificant_coeff_group_flagを復号する。
続いて、変換係数復号部120の備える係数有無フラグ復号部124は、対象サブブロック内の各係数有無フラグsignificant_coeff_flagを復号する。
続いて、変換係数復号部120の備える係数値復号部125は、対象サブグループ内の非0係数の符号及び大きさを復号する。これは、各シンタックスcoeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、coeff_abs_level_remainingを復号することによって行われる。
本ステップは、サブブロックを単位とするループの終端である。(ステップS23のサブブロックを単位とするループの終端)
<<スキャンインデックス設定処理>>
図23は、スキャンタイプを選択する処理(ステップS21)をより具体的に説明するためのフローチャートである。
まず、変換係数復号部120の備える係数復号制御部123は、予測方式情報PredModeが、イントラ予測方式MODE_INTRAを示しているか否かを判別する。
予測方式がイントラ予測方式であるとき(ステップS111でYes)、変換係数復号部120の備える係数復号制御部123は、イントラ予測モード(予測方向)及び対象のTUサイズ(周波数領域のサイズ)に基づいて、スキャンタイプを設定する。具体的なスキャンタイプの設定処理については、すでに述べたため、ここでは説明を省略する。
<<サブブロック係数有無フラグの復号処理>>
図25は、サブブロック係数有無フラグを復号する処理(ステップS24)をより具体的に説明するためのフローチャートである。
サブブロック係数有無フラグ復号部127は、サブブロックの位置を取得する。
サブブロック係数有無フラグ復号部127は、対象サブブロックがラスト係数を含むサブブロック、もしくはDC係数であるか否かを判別する。
対象サブブロックがラスト係数を含むサブブロック、もしくはDC係数でないとき(ステップS247でNo)、係数有無フラグ復号部124は、サブブロック係数有無フラグsignificant_coeff_group_flagを復号する。
<<係数有無フラグの復号処理>>
図26は、サブブロック内の各係数有無フラグsignificant_coeff_flagを復号する処理(図24のステップS27)をより具体的に説明するためのフローチャートである。
続いて、係数有無フラグ復号部124は、対象サブブロック内のループを開始する。当該ループは、周波数成分を単位とするループである。
続いて、係数有無フラグ復号部124は、変換係数の位置を取得する。
続いて、係数有無フラグ復号部124は、対象サブブロックに非0係数が存在するか否かを判別する。
対象サブブロックに非0係数が存在する場合(ステップS276でYes)、係数有無フラグ復号部124は、取得した変換係数の位置がラスト位置であるか否かを判別する。
取得した変換係数の位置がラスト位置でないとき(ステップS277でNo)、係数有無フラグ復号部124は、係数有無フラグsignificant_coeff_flagを復号する。
本実施形態に係る動画像符号化装置2の構成について図面を参照して説明する。動画像符号化装置2は、H.264/MPEG−4 AVC規格に採用されている技術、および、その後継コーデックであるHEVC(High-Efficiency Video Coding)にて提案されている技術を実装している符号化装置である。以下では、既に説明した部分と同じ部分については同じ符号を付し、その説明を省略する。
予測画像生成部21は、処理対象LCUを、1または複数の下位CUに再帰的に分割し、各リーフCUをさらに1または複数のパーティションに分割し、パーティション毎に、画面間予測を用いたインター予測画像Pred_Inter、または、画面内予測を用いたイントラ予測画像Pred_Intraを生成する。生成されたインター予測画像Pred_Interおよびイントラ予測画像Pred_Intraは、予測画像Predとして、加算器24および減算器28に供給される。
イントラ予測画像生成部21aは、画面内予測によって、各パーティションに関する予測画像Pred_Intraを生成する。具体的には、(1)各パーティションついてイントラ予測に用いる予測モードを選択し、(2)選択した予測モードを用いて、復号画像Pから予測画像Pred_Intraを生成する。イントラ予測画像生成部21aは、生成したイントラ予測画像Pred_Intraを、予測方式制御部21dに供給する。
動きベクトル検出部21bは、各パーティションに関する動きベクトルmvを検出する。具体的には、(1)参照画像として利用する適応フィルタ済復号画像P_ALF’を選択し、(2)選択した適応フィルタ済復号画像P_ALF’において対象パーティションを最良近似する領域を探索することによって、対象パーティションに関する動きベクトルmvを検出する。ここで、適応フィルタ済復号画像P_ALF’は、既にフレーム全体の復号が完了した復号済みの復号画像に対して、ループフィルタ26による適応的フィルタ処理を施すことによって得られる画像であり、動きベクトル検出部21bは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ25から読み出すことができる。動きベクトル検出部21bは、検出した動きベクトルmvを、参照画像として利用した適応フィルタ済復号画像P_ALF’を指定する参照画像インデックスRIと共に、インター予測画像生成部21c及び動きベクトル冗長性削除部21eに供給する。
インター予測画像生成部21cは、画面間予測によって、各インター予測パーティションに関する動き補償画像mcを生成する。具体的には、動きベクトル検出部21bから供給された動きベクトルmvを用いて、動きベクトル検出部21bから供給された参照画像インデックスRIによって指定される適応フィルタ済復号画像P_ALF’から動き補償画像mcを生成する。動きベクトル検出部21bと同様に、インター予測画像生成部21cは、適応フィルタ済復号画像P_ALF’を構成する各画素の画素値をフレームメモリ25から読み出すことができる。インター予測画像生成部21cは、生成した動き補償画像mc(インター予測画像Pred_Inter)を、動きベクトル検出部21bから供給された参照画像インデックスRIと共に、予測方式制御部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は、動きベクトル検出部21bによって検出された動きベクトルmvにおける冗長性を削除する。具体的には、(1)動きベクトルmvの推定に用いる推定方法を選択し、(2)選択した推定方法に従って推定動きベクトルpmvを導出し、(3)動きベクトルmvから推定動きベクトルpmvを減算することにより動きベクトル残差MVDを生成する。動きベクトル冗長性削除部21eは、生成した動きベクトル残差
MVDを、選択した推定方法を示す推定動きベクトルインデックスPMVIと共に、予測方式制御部21dに供給する。
変換・量子化部22は、通常(変換スキップフラグを実施しない場合(transform_skip_flag==0)、かつ、変換量子化バイパスを実施しない場合(transquant_bypass_flag==0))、(1)符号化対象画像から予測画像Predを減算した予測残差Dに対してブロック(変換単位)毎にDCT変換(Discrete Cosine Transform)等の周波数変換を施し、(2)周波数変換により得られた変換係数Coeff_IQを量子化し、(3)量子化により得られた変換係数Coeffを可変長符号符号化部27及び逆量子化・逆変換部23に供給する。また、変換量子化バイパスを実施する場合(transquant_bypass_flag==1)、変換・量子化部22は、(1)符号化対象画像から予測画像Predを減算した予測残差Dをブロック(変換単位)毎に、可変長符号符号化部27及び逆量子化・逆変換部23に供給する。また、変換スキップを実施する場合(transform_skip_flag==1)、変換・量子化部22は、(1)符号化対象画像から予測画像Predを減算した予測残差Dを、ブロック(変換単位)毎に量子化し、(2)量子化により得られた変換係数Coeff(量子化された予測残差D)を可変長符号符号化部27及び逆量子化・逆変換部23に供給する。
・C(u)=1 (u≠0)
・C(v)=1/√2 (v=0)
・C(v)=1 (v≠0)
なお、変換スキップが実施される場合、周波数変換は施されないため、当該対象ブロックにおける画素の位置(i,j)における予測残差D(i,j)と量子化前の変換係数Coeff_IQ(u、v)は次式のように等価である。
また、変換量子化バイパスが実施される場合、周波数変換、及び量子化は施されないため、当該対象ブロックにおける画素の位置(i,j)における予測残差D(i,j)と変換係数Coeff(u、v)は次式のように等価である。
(逆量子化・逆変換部23)
逆量子化・逆変換部23は、通常(変換スキップフラグを実施しない場合(transform_skip_flag==0)、かつ、変換量子化バイパスを実施しない場合(transquant_bypass_flag==0))、(1)量子化された変換係数Coeffを逆量子化し、(2)逆量子化によって得られた変換係数Coeff_IQに対して逆DCT(Discrete Cosine Transform)変換等の逆周波数変換を施し、(3)逆周波数変換によって得られた予測残差Dを加算器24に供給する。また、変換量子化バイパスを実施する場合(transquant_bypass_flag==1)、逆量子化・逆変換部23は、(1)変換係数Coeff(予測残差Dと等価)を加算器24に供給する。また、変換スキップを実施する場合(transform_skip_flag==1)、逆量子化・逆変換部23は、(1)量子化された変換係数Coeff(量子化された予測残差Dと等価)を逆量子化し、(2)逆量子化によって得られた変換係数Coeff_IQ(予測残差Dと等価)を加算器14に供給する。量子化された変換係数Coeffを逆量子化する際には、変換・量子化部22から供給された量子化ステップQPを利用する。なお、逆量子化・逆変換部23から出力される予測残差Dは、変換・量子化部22に入力される予測残差Dに量子化誤差が加わったものであるが、ここでは簡単のために共通の呼称を用いる。逆量子化・逆変換部23のより具体的な動作は、動画像復号装置1の備える逆量子化・逆変換部13とほぼ同様である。
加算器24は、予測方式制御部21dにて選択された予測画像Predを、逆量子化・逆変換部23にて生成された予測残差Dに加算することによって、(局所)復号画像Pを生成する。加算器24にて生成された(局所)復号画像Pは、ループフィルタ26に供給されると共にフレームメモリ25に格納され、イントラ予測における参照画像として利用される。
可変長符号符号化部27は、(1)変換・量子化部22から供給された量子化後の変換係数Coeff、Δqp、変換スキップフラグ、並びに変換量子化バイパスフラグ、(2)予測方式制御部21dから供給された量子化パラメータPP(インター予測パラメータPP_Inter、および、イントラ予測パラメータPP_Intra)、(3)予測タイプ情報Pred_type、および、(4)ループフィルタ26から供給されたフィルタパラメータFPを可変長符号化することによって、符号化データ#1を生成する。
減算器28は、予測方式制御部21dにて選択された予測画像Predを、符号化対象画像から減算することによって、予測残差Dを生成する。減算器28にて生成された予測残差Dは、変換・量子化部22によって周波数変換及び量子化される。
ループフィルタ26は、(1)復号画像Pにおけるブロック境界、またはパーティション境界の周辺の画像の平滑化(デブロック処理)を行うデブロッキングフィルタ(DF:Deblocking Filter)としての機能と、(2)デブロッキングフィルタが作用した画像に対して、フィルタパラメータFPを用いて適応フィルタ処理を行う適応フィルタ(ALF:Adaptive
Loop Filter)としての機能を有している。
量子化残差情報符号化部271は、量子化された変換係数Coeff(xC、yC)をコンテキスト適応型2値算術符号化(CABAC:(Context-based Adaptive Binary Arithmetic Coding))することによって、量子化残差情報QDを生成する。生成された量子化残差情報QDに含まれるシンタックスは、既に説明した通りである。
図52は、量子化残差情報符号化部271の構成を示すブロック図である。図52に示すように、量子化残差情報符号化部271は、変換係数符号化部220及び算術符号符号化部230を備えている。
算術符号符号化部230は、変換係数符号化部220から供給される各Binをコンテキストを参照して符号化することによって量子化残差情報QDを生成するための構成であり、図52に示すように、コンテキスト記録更新部231及びビット符号化部232を備えている。
コンテキスト記録更新部231は、各コンテキストインデックスctxIdxによって管理されるコンテキスト変数CVを記録及び更新するための構成である。ここで、コンテキスト変数CVには、(1)発生確率が高い優勢シンボルMPS(most probable symbol)と、(2)その優勢シンボルMPSの発生確率を指定する確率状態インデックスpStateIdxとが含まれている。
ビット符号化部232は、コンテキスト記録更新部231に記録されているコンテキスト変数CVを参照し、変換係数符号化部220の備える各部から供給される各Binを符号化することによって量子化残差情報QDを生成する。また、符号化したBinの値はコンテキスト記録更新部231にも供給され、コンテキスト変数CVを更新するために参照される。
図52に示すように、変換係数符号化部220は、ラスト位置符号化部221、スキャン順テーブル格納部222、係数符号化制御部223、係数有無フラグ符号化部224、係数値符号化部225、符号化係数記憶部226、サブブロック係数有無フラグ符号化部227、変換スキップ・変換量子化バイパスフラグ符号化部228、及びシンタックス導出部229を備えている。
変換スキップ・変換量子化バイパスフラグ符号化部228は、変換・量子化部22より供給されるシンタックス、変換スキップフラグtransform_skip_flag、および変換量子化バイパスフラグtransquant_bypass_flagを示すBinを生成する。また、生成した各Binをビット符号化部232に供給する。また、シンタックスtransform_skip_flagおよびtransquant_bypass_flagのBinを符号化するために参照されるコンテキストを指定するコンテキストインデックスctxIdxを、コンテキスト記録更新部231に供給する。
<<変換量子化バイパスフラグ、及び変換スキップフラグの符号化処理1>>
以下では、図53を用いて変換量子化バイパスフラグ、及び変換スキップフラグの符号化処理について具体的に説明する。なお、この符号化処理1は、動画像復号装置1が備える変換スキップ・変換スキップ量子化バイパス復号部128における変換量子化バイパスフラグ、及び変換スキップフラグの復号処理1に対応する処理である。
まず、変換スキップ・変換量子化バイパスフラグ符号化部228は、外部より入力された変換量子化バイパス有効フラグ(transquant_bypass_enable_flag)が1であるかを判別する。変換量子化バイパス有効フラグが1である場
合(ステップS20−1においてYes)、ステップS20−2Aへ進む。それ以外である場合(ステップS20−1においてNo)、ステップS20-3Aへ進む。
変換スキップ・変換量子化バイパスフラグ符号化部228は、対象TUに関して、明示的に変換量子化バイパスフラグ(transquant_bypass_flag)を符号化し、ステップS20-4へ進む。
変換スキップ・変換量子化バイパスフラグ符号化部228は、対象TUに関して、暗黙的に変換量子化バイパスフラグ(transquant_bypass_flag)は0であると解釈し、変換量子化バイパスフラグの符号化をスキップし、ステップS20-4へ進む。
変換スキップ・変換量子化バイパスフラグ符号化部228は、外部より入力された変換スキップ有効フラグ(transform_skip_enable_flag)が1であるか判別する。変換スキップ有効フラグが1である場合(ステップS20-4においてYes)、ステップS20-5へ進む。それ以外の場合(ステップS20-4においてNo)、ステップS20-7Aへ進む。
変換スキップ・変換量子化バイパスフラグ符号化部228は、変換バイパスフラグが0であるか否かを判別する。変換バイパスフラグが0である場合(ステップS20-5においてYes)、ステップS20−6Aへ進む。それ以外の場合は、ステップS20-7Aへ進む。
変換スキップ・変換量子化バイパスフラグ符号化部228は、対象TUに関して、明示的に変換スキップフラグ(transform_skip_flag)を符号化する。
変換スキップ・変換量子化バイパスフラグ符号化部228は、対象TUに関して、暗黙的に変換スキップフラグ(transform_skip_flag)は0であると解釈し、変換スキップフラグの符号化をスキップする。
シンタックス導出部229は、変換係数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にも供給される。なお、各シンタックスが示す内容については上述したためここでは説明を省略する。
シンタックス導出部228は図示しない係数値シンタックス導出部2285を備える。係数値シンタックス導出部2285は、significant_coeff_flag、coeff_abs_level_greater1_flag、coeff_abs_level_greater2_flag、coeff_sign_flag、及びcoeff_abs_level_remainingの各値を導出する。
ラスト位置符号化部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には、処理対象のTU(ブロック)のサイズ、スキャン方向の種別を表すスキャンインデックス、及びスキャン順に沿って付与された周波数成分識別インデックスを引数として、処理対象の周波数成分の周波数領域における位置、または処理対象の画素領域における画素の位置を与えるテーブルが格納されている。このようなスキャン順テーブルの一例としては、図7及び図8に示したScanOrderが挙げられる。
係数符号化制御部223は、量子化残差情報符号化部271の備える各部における符号化処理の順序を制御するための構成である。
係数値符号化部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に供給する。なお、動画像復号装置1の備える係数レベル復号部125aと対応するGR1フラグ(coeff_abs_level_greater1_flag)、GR2フラグ(coeff_abs_level_greater2_flag)、及び残余係数レベル(coeff_abs_level_remaining)の符号化処理については、後述する。
本実施形態に係る係数有無フラグ符号化部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に供給される。
処理対象の周波数成分、または画素の位置(係数位置とも呼ぶ)(xC,yC)と、変換ブロックの対数値(log2TrafoWidth、log2TrafoHeight)が入力される。対数値のサイズから、変換ブロックの幅widthと高さheightを(1<<log2TrafoWidth)と(1<<log2TrafoHeight)により算出する。なお、対数値のサイズではなく、変換ブロックの幅と高さを直接入力しても良い。さらに、コンテキスト導出手段選択部124aには、変換スキップフラグ(transform_skip_flag)、および、変換量子化バイパスフラグ(transquant_bypass_flag)が入力される。
位置コンテキスト導出部224bは、対象周波数成分に対するコンテキストインデックスctxIdxを、周波数領域における当該対象周波数成分の位置に基づいて導出する。
隣接サブブロック係数有無コンテキスト導出部224cは、、隣接サブブロックに非0係数があるか否かに応じて、コンテキスト導出パターンを選択し、選択した導出パターンに従って、処理対象の周波数成分のサブブロック内での座標から、符号化対象の周波数成分に対するコンテキストインデックスを導出する。隣接サブブロック係数有無コンテキスト導出部224cによる具体的な処理は、動画像復号装置1の備える隣接サブブロック係数有無コンテキスト導出部224cと同様であるので、ここでは説明を省略する。
変換スキップ・変換量子化バイパスコンテキスト導出部224dは、変換スキップ時、あるいは、変換量子化バイパス時に、対象変換ブロックの画素領域における係数に対するコンテキストインデックスctxIdxを所定の方法に基づいて導出する。
係数有無フラグ設定部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の別の構成例>>
以下では、図61を参照して、係数有無フラグ符号化部224の別の構成例について説明する。
コンテキスト導出手段選択部224Aaには、処理対象の係数位置(xC,yC)と、変換ブロックサイズの対数値(log2TrafoWidth、log2TrafoHeight)と、変換スキップフラグ(transform_skip_flag)が少なくとも入力される。
変換スキップコンテキスト導出部224Adは、変換スキップ時に、対象係数における係数有無フラグの符号化時に参照されるコンテキスト(コンテキストインデックスctxIdx)を導出する。ここで導出されるコンテキストは、対象係数のサブブロック内の位置に依らず、単一のコンテキストが導出される。なお、変換スキップコンテキスト導出部224Adの具体的な処理は、動画像復号装置1の備える変換スキップコンテキスト導出部124Adと同様であるので、ここでは説明を省略する。
サブブロック係数有無フラグ符号化部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に供給される。
サブブロック係数有無フラグ符号化部227の備えるコンテキスト導出部227aは、各サブブロック位置(xCG、yCG)によって指定されるサブブロックに割り付けるコンテキストインデックスを導出する。サブブロックに割り付けられたコンテキストインデックスは、当該サブブロックについてのシンタックスsignificant_coeff_group_flagを示すBinを復号する際に用いられる。また、コンテキストインデックスを導出する際には、サブブロック係数有無フラグ記憶部227bに記憶されたサブブロック係数有無フラグの値が参照される。コンテキスト導出部227aは、導出したコンテキストインデックスをコンテキスト記録更新部231に供給する。
サブブロック係数有無フラグ記憶部227bには、係数有無フラグ符号化部224から供給されたシンタックスsignificant_coeffgroup_flagの各値が記憶されている。サブブロック係数有無フラグ設定部227cは、隣接サブブロックに割り付けられたシンタックスsignificant_coeffgroup_flagを、サブブロック係数有無フラグ記憶部227bから読み出すことができる。
サブブロック係数有無フラグ設定部227cは、サブブロック係数有無フラグ設定部227cは、係数有無フラグ符号化部224から供給されるシンタックスsignificant_coeff_group_flag[xCG][yCG]を示すBinを生成する。生成したBinは、ビット符号化部232に供給される。
以下では、係数値符号化部225におけるGR1フラグの符号化処理について説明する。図38は、GR1フラグの符号化処理を示すフローチャートである。
係数値符号化225は、GR1フラグの符号化に関連する各種パラメータを初期化する。
係数数numSigCoeffを0に設定する。numSigCoeff = 0
サブブロック内で最初に出現するGR1フラグの値が1となる係数位置firstGreater1CoeffIdxを-1に設定する。firstGreatr1CoeffIdx = -1
符号化対象サブブロックの位置(subset)がラスト係数を含むサブブロックである場合、符号化済GR1フラグの値が0である個数を表わす変数greatr1Ctxは1に初期化される。すなわち、
greater1Ctx = 1
また、符号化対象サブブロックの位置(subset)がラスト係数を含むサブブロック以外の場合は、符号化済GR1フラグの値が0である個数を表わす変数greatr1Ctxを次式により更新する。
(ステップSD202)
対象サブブロック内のループを開始する。当該ループは、係数位置を単位とするループである。
係数位置識別インデックスnで特定される係数位置(xC,yC)が非0係数であるか判別する。非0係数である場合( significant_coeff_flag[xC][yC]==1 )
(ステップSD203でYes)、ステップSD204へ進む。それ以外の場合( significant_coeff_flag[xC][yC]==0(ステップSD203でNo)、ステップSD209へ進む。
サブブロック内で符号化したGR1フラグの個数numSigCoeffが所定閾値未満であるか判別する。GR1フラグの個数numSigCoeffが所定閾値未満である場合(ステップSD104でYes)、ステップSD204へ進む。それ以外の場合(ステップSD204でNo)、ステップSD209へ進む。
係数位置識別インデックスnのGR1フラグを符号化する。なお、GR1フラグの符号化時に参照するコンテキストインデックスの導出方法は、GR1フラグの復号時に参照するコンテキストインデックスの導出方法と同様であるため、説明を省略する。ただし、GR1フラグの復号時のコンテキストインデックスの導出方法において、“復号”部分を“符号化“と読み替えるものとする。
符号化したGR1フラグの個数をカウントする。すなわち、
numSigCoeff = numSigCoeff + 1
また、符号化した係数位置(xC, yC)の係数レベル値が2以上であるか(GR1フラグの値が1でるか)と、変換スキップフラグ、変換量子化バイパスフラグに基づいて、変数numGreater1を更新する。すなわち、
if( !transform_skip_flag && !transquant_bypass_flag){
numGreater1 = coeff_abs_level_greater1_flag[n]==1 ?
numGreater1 + 1 : numGreater1
} ・・・(eq.B-5)
ここで、式(eq.B-5)において、変換スキップ、あるいは、変換量子化バイパスが実施される場合は、変数numGreater1の値を更新しない。なぜならば、変換スキップ、あるいは、変換量子化バイパスが実施される場合、GR1フラグおよびGR2フラグは画素領域における変換係数であり、周波数領域における変換係数に関するGR1フラグおよびGR2フラグのコンテキストを導出するために用いる変数を更新することは、周波数領域における変換係数に関するGR1フラグ、及びGR2フラグのコンテキストの状態が適切に更新されず、符号化効率の低下を招く可能性があるためである。
サブブロック内で最初に出現する、GR1フラグの値が1となる係数位置であるか判別する。サブブロック内で最初に出現する、GR1フラグの値が1となる係数位置である場合(ステップSD207でYes)、ステップSD208へ進む。それ以外の場合は、ステップSD209へ進む。
サブブロック内で最初に出現する、GR1フラグの値が1となる係数位置(係数位置識別インデックス)を変数firstGreater1CoeffIdxへ設定する。すなわち、
firstGreater1CoeffIdx = n
(ステップSD209)
係数位置識別インデックスnを更新する。すなわち、
n = n - 1
(ステップSD210)
サブブロック内のループを終了する。
以下では、係数値符号化部225におけるGR2フラグの符号化処理について説明する。図39は、GR2フラグの符号化処理を示すフローチャートである。
GR1フラグの符号化処理において求めた、サブブロック内で最初に出現する、GR1フラグの値が1となる係数があるか否かを判別する。すなわち、変数firstGreater1CoeffIdxが-1であるか否かを判別する。ここで、変数firstGreater1coeffIdxが-1でない場合(ステップSE201においてYes)、ステップS202へ進む。それ以外の場合(ステップSE101においてNo)、GR2フラグを符号化せず、GR2フラグの符号化処理を終了する。
変数firstGreatr1CoeffIdxが示す係数位置のGR2フラグ(coeff_abs_level_greater2_flag[ firstGreatr1CoeffIdx ])を符号化する。
なお、GR2フラグの符号化時に参照するコンテキストインデックスの導出方法は、GR2フラグの復号時に参照するコンテキストインデックスの導出方法と同様であるため、説明を省略する。ただし、GR2フラグの復号時のコンテキストインデックスの導出方法において、“復号”部分を“符号化“と読み替えるものとする。
以下では、係数値符号化部225における残余係数レベルの符号化処理について説明する。図40は、残余係数レベルの符号化処理を示すフローチャートである。
係数値符号化部225は、残余係数レベルの符号化に関連する各種パラメータを初期化する。
係数数numSigCoeffを0に設定する。numSigCoeff = 0
(ステップSF202)
対象サブブロック内のループを開始する。当該ループは、係数位置を単位とするループである。
係数位置識別インデックスnで特定される係数位置(xC,yC)が非0係数であるか判別する。非0係数である場合( significant_coeff_flag[xC][yC]==1 )
(ステップSF103でYes)、ステップSF204へ進む。それ以外の場合(significant_coeff_flag[xC][yC]==0(ステップSF203でNo)、ステップSF209へ進む。
係数位置(xC, yC)の変換係数のベースレベルbaseLevelを次式により算出する。
+ coeff_abs_level_greater2_flag[ n ] ・・・(eq.E-1)
(ステップSF205)
係数位置(xC,yC)の変換係数のベースレベルbaseLevelが所定値を満たすか否かを判別する。所定値は次式で表わされる。
( ( n==firstGreater1CoeffIdx) ? 3 : 2 ) : 1・・・
(eq.E-2)
すなわち、
1)係数数numSigCoeffが所定閾値TH以上の場合(numSigCoeff>=TH)、baseLevelが1と等しいか判定する。
係数位置(xC,yC)の変換係数の残余係数レベルcoeff_abs_level_remaining[n]を係数レベル値absLevelとベースレベルbaseLevelに基づいて次式により算出する。
復号する。
係数位置(xC,yC)の変換係数の係数レベル値absLevelを次式により算出する。
(ステップSF208)
復号した係数数numSigCoeffを更新する。すなわち、
numSigCoeff = numSigCoeff + 1
(ステップSF209)
係数位置識別インデックスnを更新する。すなわち、
n = n - 1
(ステップSF210)
サブブロック内のループを終了する。
上述した動画像符号化装置2及び動画像復号装置1は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用することができる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
上述した動画像復号装置1、および動画像符号化装置2の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現していてもよいし、CPU(central processing unit)を用いてソフトウェア的に実現してもよい。
Array)等の論理回路類などを用いることができる。
onous digital subscriber loop)回線等の有線でも、IrDA(infrared data association)やリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(high data rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance:登録商標)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
上記課題を解決するために、本発明に係る算術復号装置は、対象画像を単位領域毎に周波数変換することによって周波数成分毎に得られる各変換係数および変換スキップによって得られる画素領域における各変換係数について、該変換係数を表す各種シンタックスを算術符号化することによって得られた符号化データを復号する算術復号装置であって、処理対象の単位領域に対応する対象周波数領域、または対象画素領域を所定サイズのサブブロックに分割するサブブロック分割手段と、上記サブブロック分割手段により分割された各サブブロックについて、非0係数が少なくとも1つ含まれるか否かを表すサブブロック係数有無フラグを復号するサブブロック係数有無フラグ復号手段と、上記各サブブロック内の変換係数が0であるか否かを表す非0係数有無フラグを復号する非0係数有無フラグ復号手段と、を備え、上記非0係数有無フラグ復号手段は、変換スキップによって得られる画素領域における各変換係数と対応する非0係数有無フラグおよび周波数変換によって周波数成分毎に得られる各変換係数と対応する非0係数有無フラグのそれぞれにおいて、独立したコンテキストインデックスを導出することを特徴としている。
すると共に、符号化効率を改善することができる。
11 可変長符号復号部
111 量子化残差情報復号部(算術復号装置)
120 変換係数復号部
123 係数復号制御部(サブブロック分割手段、サブブロックスキャン順設定手段)
124 係数有無フラグ復号部(コンテキストインデックス導出手段、係数有無フラグ復号手段)
124a、124Aa コンテキスト導出手段選択部
124b 位置コンテキスト導出部
124c 隣接サブブロック係数有無コンテキスト導出部
124d 変換スキップ・変換量子化バイパスコンテキスト導出部
124Ad 変換スキップコンテキスト導出部
124e 係数有無フラグ設定部
125 係数値復号部(GR1フラグ復号手段、GR2フラグ復号手段)
125a 係数レベル復号部
125b 係数サイン復号部
125c 係数値復元部
125d 係数数算出部
125e 係数位置導出部
125f サインハイディングフラグ導出部
125g 係数和算出部
125h サイン符号導出部
127 サブブロック係数有無フラグ復号部(サブブロック係数有無フラグ復号手段)
127a コンテキスト導出部
127b サブブロック係数有無フラグ記憶部
127c サブブロック係数有無フラグ設定部
128 変換スキップ・変換量子化バイパスフラグ復号部
130 算術符号復号部
131 コンテキスト記録更新部
132 ビット復号部(シンタックス復号手段)
2 動画像符号化装置(画像符号化装置)
27 可変長符号符号化部
271 量子化残差情報符号化部(算術符号化装置)
220 変換係数符号化部
223 係数符号化制御部(サブブロック分割手段、サブブロックスキャン順設定手段)
224 係数有無フラグ符号化部(コンテキストインデックス導出手段)
224a、224Aa コンテキスト導出手段選択部
224b 位置コンテキスト導出部
224c 隣接サブブロック係数有無コンテキスト導出部
224d 変換スキップ・変換量子化バイパスコンテキスト導出部
224Ad 変換スキップコンテキスト導出部
224e 係数有無フラグ設定部
225 係数値符号化部(GR1フラグ符号化手段、GR2フラグ符号化手段)
2285 係数値シンタックス導出部
225a 係数レベルシンタックス導出部
225b 係数サインシンタックス導出部
225h サインシンタックス導出及びレベル値補正部
227 サブブロック係数有無フラグ符号化部(サブブロック係数有無フラグ符号化手段)
227a コンテキスト導出部
227b サブブロック係数有無フラグ記憶部
227c サブブロック係数有無フラグ設定部
228 シンタックス導出部
230 算術符号符号化部
231 コンテキスト記録更新部
232 ビット符号化部(シンタックス符号化手段)
Claims (1)
- 対象画像を単位領域毎に周波数変換することによって得られる変換係数、および変換スキップあるいは変換量子化バイパスによって得られる各変換係数の符号化データを復号する算術復号装置において、
変換スキップフラグ、変換量子化バイパスフラグ、および対象サブブロック内における非0係数の位置の差を参照して、サインハイディングを行うか否かを示すサインハイディングフラグを導出するサインハイディングフラグ導出手段と、
前記サインハイディングフラグがサインハイディングを行わないことを示す場合、前記符号化データから前記変換係数の符号を復号し、
前記サインハイディングフラグがサインハイディングを行うことを示す場合、係数レベルの絶対値の和を参照して前記変換係数の符号を導出する、
係数サイン復号手段と、
を備えていることを特徴とする算術復号装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021211227A JP7241159B2 (ja) | 2012-06-22 | 2021-12-24 | 算術復号装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012141416 | 2012-06-22 | ||
JP2012141416 | 2012-06-22 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018004968A Division JP2018078647A (ja) | 2012-06-22 | 2018-01-16 | 算術復号装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021211227A Division JP7241159B2 (ja) | 2012-06-22 | 2021-12-24 | 算術復号装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020171063A true JP2020171063A (ja) | 2020-10-15 |
JP7001768B2 JP7001768B2 (ja) | 2022-01-20 |
Family
ID=49768592
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014521277A Pending JPWO2013190990A1 (ja) | 2012-06-22 | 2013-06-04 | 算術復号装置、算術符号化装置、画像復号装置、および画像符号化装置 |
JP2018004968A Pending JP2018078647A (ja) | 2012-06-22 | 2018-01-16 | 算術復号装置 |
JP2020123926A Active JP7001768B2 (ja) | 2012-06-22 | 2020-07-20 | 算術復号装置 |
JP2021211227A Active JP7241159B2 (ja) | 2012-06-22 | 2021-12-24 | 算術復号装置 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014521277A Pending JPWO2013190990A1 (ja) | 2012-06-22 | 2013-06-04 | 算術復号装置、算術符号化装置、画像復号装置、および画像符号化装置 |
JP2018004968A Pending JP2018078647A (ja) | 2012-06-22 | 2018-01-16 | 算術復号装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021211227A Active JP7241159B2 (ja) | 2012-06-22 | 2021-12-24 | 算術復号装置 |
Country Status (6)
Country | Link |
---|---|
US (3) | US9307264B2 (ja) |
EP (1) | EP2866443A4 (ja) |
JP (4) | JPWO2013190990A1 (ja) |
CN (1) | CN104380737B (ja) |
HK (1) | HK1207230A1 (ja) |
WO (1) | WO2013190990A1 (ja) |
Families Citing this family (64)
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 |
US9621921B2 (en) * | 2012-04-16 | 2017-04-11 | Qualcomm Incorporated | Coefficient groups and coefficient coding for coefficient scans |
EP2866443A4 (en) * | 2012-06-22 | 2016-06-15 | Sharp Kk | ARITHMETIC DECODING DEVICE, ARITHMETIC CODING DEVICE, IMAGE DECODING DEVICE AND IMAGE DEVICES |
US20140286412A1 (en) * | 2013-03-25 | 2014-09-25 | Qualcomm Incorporated | Intra dc prediction for lossless coding in video coding |
US9936200B2 (en) * | 2013-04-12 | 2018-04-03 | Qualcomm Incorporated | Rice parameter update for coefficient level coding in video coding process |
US10021419B2 (en) | 2013-07-12 | 2018-07-10 | Qualcomm Incorported | Rice parameter initialization for coefficient level coding in video coding process |
US10645399B2 (en) * | 2013-07-23 | 2020-05-05 | Intellectual Discovery Co., Ltd. | Method and apparatus for encoding/decoding image |
US9264724B2 (en) * | 2013-10-11 | 2016-02-16 | Blackberry Limited | Sign coding for blocks with transform skipped |
CN104394419B (zh) * | 2014-12-11 | 2018-01-05 | 上海兆芯集成电路有限公司 | 高阶视频编解码芯片以及高阶视频编解码方法 |
US10306229B2 (en) * | 2015-01-26 | 2019-05-28 | Qualcomm Incorporated | Enhanced multiple transforms for prediction residual |
US20180192076A1 (en) * | 2015-06-16 | 2018-07-05 | Sharp Kabushiki Kaisha | Image decoding device image coding device |
CN108353179A (zh) * | 2015-09-10 | 2018-07-31 | 三星电子株式会社 | 编码设备、解码设备及其编码方法和解码方法 |
KR102390162B1 (ko) * | 2015-10-16 | 2022-04-22 | 삼성전자주식회사 | 데이터 인코딩 장치 및 데이터 인코딩 방법 |
US10440399B2 (en) * | 2015-11-13 | 2019-10-08 | Qualcomm Incorporated | Coding sign information of video data |
SG11201806811TA (en) | 2016-02-12 | 2018-09-27 | Huawei Tech Co Ltd | Method and apparatus for scan order selection |
SG11201806810YA (en) * | 2016-02-12 | 2018-09-27 | Huawei Tech Co Ltd | Method and apparatus for scan order selection |
US20170311003A1 (en) * | 2016-04-20 | 2017-10-26 | Mediatek Inc. | Method and apparatus for performing entropy encoding with sign data removal and associated method and apparatus for performing entropy decoding with sign data recovery |
JP6868786B2 (ja) | 2016-05-13 | 2021-05-12 | ソニーグループ株式会社 | 画像処理装置および方法 |
US10887626B2 (en) * | 2016-05-13 | 2021-01-05 | Sharp Kabushiki Kaisha | Image decoding device and image encoding device |
ES2786077B2 (es) * | 2016-07-05 | 2023-01-09 | Kt Corp | Metodo y aparato para procesar una senal de video |
EP3270594A1 (en) * | 2016-07-15 | 2018-01-17 | Thomson Licensing | Method and apparatus for advanced cabac context adaptation for last coefficient coding |
CN110024389B (zh) * | 2016-11-21 | 2023-05-09 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法及解码方法 |
WO2018092868A1 (ja) | 2016-11-21 | 2018-05-24 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
KR20230149868A (ko) | 2016-11-21 | 2023-10-27 | 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 | 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법 |
CN116744023A (zh) * | 2016-11-25 | 2023-09-12 | 株式会社Kt | 用于对视频进行编码和解码的方法 |
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 | 세종대학교산학협력단 | 영상의 부호화/복호화 방법 및 장치 |
WO2018143670A1 (ko) * | 2017-01-31 | 2018-08-09 | 세종대학교 산학협력단 | 영상의 부호화/복호화 방법 및 장치 |
US11354824B2 (en) | 2017-03-23 | 2022-06-07 | Sony Corporation | Image processing apparatus and method |
US10225562B1 (en) * | 2017-08-21 | 2019-03-05 | Google Llc | Embedding information about EOB positions |
WO2019127003A1 (zh) * | 2017-12-26 | 2019-07-04 | 富士通株式会社 | 图像编码方法、装置以及电子设备 |
GB2570711B (en) * | 2018-02-05 | 2023-04-05 | Sony Corp | Data encoding and decoding |
KR102543505B1 (ko) | 2018-03-29 | 2023-06-14 | 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 | 종속 양자화 |
WO2019212230A1 (ko) * | 2018-05-03 | 2019-11-07 | 엘지전자 주식회사 | 영상 코딩 시스템에서 블록 사이즈에 따른 변환을 사용하는 영상 디코딩 방법 및 그 장치 |
FR3086486A1 (fr) * | 2018-09-21 | 2020-03-27 | Orange | Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image. |
KR102613155B1 (ko) * | 2018-09-24 | 2023-12-13 | 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 | 종속 스칼라 양자화를 사용하거나 이와 조합하는 데에적합한 변환 계수의 효율적인 코딩 |
WO2020062125A1 (zh) * | 2018-09-29 | 2020-04-02 | 富士通株式会社 | 图像编码方法、装置以及电子设备 |
KR102533227B1 (ko) * | 2018-10-05 | 2023-05-17 | 엘지전자 주식회사 | 변환 계수 코딩 방법 및 장치 |
WO2020076028A1 (ko) * | 2018-10-11 | 2020-04-16 | 엘지전자 주식회사 | 변환 계수 코딩 방법 및 장치 |
JP2022016726A (ja) * | 2018-11-16 | 2022-01-25 | ソニーグループ株式会社 | 画像処理装置および方法 |
CN113170173B (zh) * | 2018-11-28 | 2024-04-12 | 北京字节跳动网络技术有限公司 | 变换量化或量化旁路模式的改进方法 |
WO2020130514A1 (ko) * | 2018-12-17 | 2020-06-25 | 엘지전자 주식회사 | 고주파 제로잉을 기반으로 변환 계수 스캔 순서를 결정하는 방법 및 장치 |
US11323748B2 (en) | 2018-12-19 | 2022-05-03 | Qualcomm Incorporated | Tree-based transform unit (TU) partition for video coding |
GB2580084B (en) | 2018-12-20 | 2022-12-28 | Canon Kk | Video coding and decoding |
CN113170195A (zh) | 2018-12-22 | 2021-07-23 | 北京字节跳动网络技术有限公司 | 具有双树分割的帧内块复制模式 |
BR112021013117A2 (pt) | 2019-01-02 | 2021-09-21 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Aparelho para decodificar e codificar uma imagem usando codificação preditiva e codificação residual de transformada com base em bloco, métodos e fluxo de dados |
US11523136B2 (en) | 2019-01-28 | 2022-12-06 | Hfi Innovation Inc. | Methods and apparatuses for coding transform blocks |
JP7282904B2 (ja) * | 2019-02-19 | 2023-05-29 | エルジー エレクトロニクス インコーポレイティド | 映像コーディングシステムにおいてレジデュアル情報を使用する映像デコーディング方法及びその装置 |
WO2020172668A1 (en) * | 2019-02-24 | 2020-08-27 | Tencent America LLC | Improved residual coding for transform skip mode and block differential pulse-code modulation |
CN113632493A (zh) * | 2019-03-13 | 2021-11-09 | 北京字节跳动网络技术有限公司 | 变换跳过模式中的子块变换 |
WO2020189971A1 (ko) * | 2019-03-15 | 2020-09-24 | 엘지전자 주식회사 | 영상 코딩 시스템에서 변환 스킵 플래그를 이용한 영상 디코딩 방법 및 그 장치 |
CN113711600A (zh) * | 2019-04-26 | 2021-11-26 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法和解码方法 |
WO2020215338A1 (zh) * | 2019-04-26 | 2020-10-29 | 深圳市大疆创新科技有限公司 | 视频编解码的方法和装置 |
WO2020235951A1 (ko) * | 2019-05-21 | 2020-11-26 | 삼성전자 주식회사 | 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치 |
WO2021006698A1 (ko) | 2019-07-10 | 2021-01-14 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 코딩 방법 및 장치 |
WO2021006696A1 (ko) * | 2019-07-11 | 2021-01-14 | 엘지전자 주식회사 | 변환 스킵된 잔차 신호에 대한 문맥 모델을 유도하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 |
KR20220038166A (ko) * | 2019-08-31 | 2022-03-25 | 엘지전자 주식회사 | 영상 코딩 시스템에서 단순화된 레지듀얼 데이터 코딩을 사용하는 영상 디코딩 방법 및 그 장치 |
JP7323719B2 (ja) * | 2020-02-05 | 2023-08-08 | エルジー エレクトロニクス インコーポレイティド | 残差コーディングに関する画像デコード方法およびその装置 |
WO2021158049A1 (ko) * | 2020-02-05 | 2021-08-12 | 엘지전자 주식회사 | 영상 정보 코딩에 대한 영상 디코딩 방법 및 그 장치 |
AU2020201753B2 (en) * | 2020-03-10 | 2022-09-08 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a block of video samples |
KR20220156832A (ko) | 2020-03-21 | 2022-11-28 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 서브 픽처 및 스케일러빌러티 조합 |
CN115812304A (zh) | 2020-06-20 | 2023-03-17 | 抖音视界有限公司 | 具有不同的编解码块大小的层间预测 |
WO2022224888A1 (ja) * | 2021-04-21 | 2022-10-27 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
WO2023104144A1 (en) * | 2021-12-09 | 2023-06-15 | Mediatek Inc. | Entropy coding transform coefficient signs |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999065226A1 (fr) * | 1998-06-09 | 1999-12-16 | Matsushita Electric Industrial Co., Ltd. | Codeur et decodeur d'images, verificateur de caracteres et support de donnees |
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 |
US8254455B2 (en) * | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
US8265144B2 (en) * | 2007-06-30 | 2012-09-11 | Microsoft Corporation | Innovations in video decoder implementations |
US9648325B2 (en) * | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
JP5258664B2 (ja) * | 2009-04-14 | 2013-08-07 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム |
JP5580404B2 (ja) * | 2010-03-29 | 2014-08-27 | 株式会社東芝 | 半導体装置 |
WO2011121715A1 (ja) * | 2010-03-30 | 2011-10-06 | 株式会社 東芝 | 画像復号化方法 |
US8902988B2 (en) * | 2010-10-01 | 2014-12-02 | Qualcomm Incorporated | Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model |
CN107087185B (zh) * | 2011-07-11 | 2020-01-10 | 太阳专利托管公司 | 编码方法及编码装置、解码方法及解码装置 |
US10390046B2 (en) * | 2011-11-07 | 2019-08-20 | Qualcomm Incorporated | Coding significant coefficient information in transform skip mode |
EP2866443A4 (en) * | 2012-06-22 | 2016-06-15 | Sharp Kk | ARITHMETIC DECODING DEVICE, ARITHMETIC CODING DEVICE, IMAGE DECODING DEVICE AND IMAGE DEVICES |
-
2013
- 2013-06-04 EP EP13807680.7A patent/EP2866443A4/en not_active Withdrawn
- 2013-06-04 JP JP2014521277A patent/JPWO2013190990A1/ja active Pending
- 2013-06-04 CN CN201380032212.1A patent/CN104380737B/zh not_active Expired - Fee Related
- 2013-06-04 US US14/408,699 patent/US9307264B2/en active Active
- 2013-06-04 WO PCT/JP2013/065423 patent/WO2013190990A1/ja active Application Filing
-
2015
- 2015-08-13 HK HK15107826.8A patent/HK1207230A1/xx not_active IP Right Cessation
-
2016
- 2016-01-19 US US15/000,174 patent/US9516333B2/en active Active
- 2016-10-19 US US15/297,207 patent/US9813713B2/en active Active
-
2018
- 2018-01-16 JP JP2018004968A patent/JP2018078647A/ja active Pending
-
2020
- 2020-07-20 JP JP2020123926A patent/JP7001768B2/ja active Active
-
2021
- 2021-12-24 JP JP2021211227A patent/JP7241159B2/ja active Active
Non-Patent Citations (1)
Title |
---|
BROSS, BENJAMIN ET AL.: "High efficiency video coding (HEVC) text specification draft 7", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 9TH M, vol. JCTVC-I1003 (version 5), JPN6021021509, 12 June 2012 (2012-06-12), pages 56 - 58, ISSN: 0004524672 * |
Also Published As
Publication number | Publication date |
---|---|
CN104380737B (zh) | 2018-10-26 |
JP2018078647A (ja) | 2018-05-17 |
US20170099488A1 (en) | 2017-04-06 |
JP2022051736A (ja) | 2022-04-01 |
JP7241159B2 (ja) | 2023-03-16 |
EP2866443A4 (en) | 2016-06-15 |
JPWO2013190990A1 (ja) | 2016-05-26 |
US9516333B2 (en) | 2016-12-06 |
US9813713B2 (en) | 2017-11-07 |
US20160134884A1 (en) | 2016-05-12 |
US9307264B2 (en) | 2016-04-05 |
HK1207230A1 (en) | 2016-01-22 |
US20150181237A1 (en) | 2015-06-25 |
CN104380737A (zh) | 2015-02-25 |
WO2013190990A1 (ja) | 2013-12-27 |
JP7001768B2 (ja) | 2022-01-20 |
EP2866443A1 (en) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7001768B2 (ja) | 算術復号装置 | |
US11743510B2 (en) | Image decoding device and image decoding method | |
US10547861B2 (en) | Image decoding device | |
JP6441406B2 (ja) | 動画像復号装置 | |
JP6190361B2 (ja) | 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置 | |
WO2016203981A1 (ja) | 画像復号装置及び画像符号化装置 | |
KR102005212B1 (ko) | 오프셋 복호 장치, 오프셋 부호화 장치, 화상 필터 장치 및 데이터 구조 | |
WO2016203881A1 (ja) | 算術復号装置及び算術符号化装置 | |
CN108540813B (zh) | 图像解码装置 | |
JP2013192118A (ja) | 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置 | |
JP2013187869A (ja) | 算術復号装置、算術符号化装置、画像復号装置、および画像符号化装置 | |
JP2013118424A (ja) | 画像復号装置、画像符号化装置、および符号化データのデータ構造 | |
JP2014176039A (ja) | 画像復号装置、および画像符号化装置 | |
JP2013223051A (ja) | 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置 | |
JP2013251827A (ja) | 画像フィルタ装置、画像復号装置、画像符号化装置、およびデータ構造 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200720 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210524 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210608 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210805 |
|
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: 20211130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211224 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7001768 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |