JP2011176483A - 量子化装置、プログラム及び方法、並びに、動画像符号化装置 - Google Patents

量子化装置、プログラム及び方法、並びに、動画像符号化装置 Download PDF

Info

Publication number
JP2011176483A
JP2011176483A JP2010037845A JP2010037845A JP2011176483A JP 2011176483 A JP2011176483 A JP 2011176483A JP 2010037845 A JP2010037845 A JP 2010037845A JP 2010037845 A JP2010037845 A JP 2010037845A JP 2011176483 A JP2011176483 A JP 2011176483A
Authority
JP
Japan
Prior art keywords
coefficient
quantization
coefficient level
change amount
level
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010037845A
Other languages
English (en)
Other versions
JP5423469B2 (ja
Inventor
Satoshi Nakagawa
聰 中川
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2010037845A priority Critical patent/JP5423469B2/ja
Publication of JP2011176483A publication Critical patent/JP2011176483A/ja
Application granted granted Critical
Publication of JP5423469B2 publication Critical patent/JP5423469B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】 動画像符号化に係る量子化処理において、処理量を低減させる。
【解決手段】 本発明は、動画像符号化処理に用いられる変換係数の量子化を行う量子化装置に関する。そして量子化装置は、変換係数をスケーリングする手段と、スケーリングされた変換係数の絶対値について小数点以下の切り捨てにより整数化した第1の係数レベル侯補と、第1の係数レベル候補よりも絶対値が1大きい第2の係数レベル候補を決定する手段と、係数レベル候補相異に伴う歪変化量と、係数レベル候補の相異に伴うエントロピー符号化に要する符号量の変化量とを利用して、係数レベル候補の相異に伴うレートレート歪コストの変化量を算出する手段と、算出したレート歪コストの変化量に応じて、係数レベル候補から量子化に適用する係数レベルを選択する手段とを有することを特徴とする。
【選択図】 図1

Description

本発明は、量子化装置、プログラム及び方法、並びに、動画像符号化装置に関し、例えば、H.264等の動画像符号化技術による動画像圧縮符号の処理に適用できる。
H.264(ITU-T Rec.H264|ISO/IEC 14496-10)等に代表される動画像符号化技術による動画像情報の圧縮符号化処理は、入力された画像を分割した処理単位毎に、動き補償予測等を行った予測画像と、入力された画像との差分である予測残差信号に、離散コサイン変換等の直交変換を施した変換係数を量子化して、これを可変長符号等のエントロピー符号化することによって高効率の動画像圧縮を実現している。
この時、量子化処理により量子化雑音が発生し、復号側で再生される復号画像に歪が生じる。一方で、量子化することによって、符号化すべき情報量が削減され高効率の圧縮が実現される。
このような歪とレート(符号量)のトレードオフを評価し、符号化モード選択等に利用する技術としてレート歪最適化技術がある。
すなわち、複数の符号化モード等の選択肢について、その選択肢を選択した場合に得られる復号画像の歪Dと、その選択肢で符号化したときに発生する符号量Rと、ラグランジュ乗数λで表されるRDコストJ(J=D+λR)を最小化するような選択をすることによって、レートと歪のトレードオフが最適な符号化をする方法である。
通常、歪Dは復号画素値と入力画素値との2乗誤差の和で評価される。
非特許文献1には、このレート歪最適化技術を変換係数の量子化に利用する方法が開示されている。
非特許文献1の方法(従来のRDOQ(Rate Distortion Optimized Quantization))では、H.264符号化処理の量子化処理において、歪Dを画素値の2乗誤差の和で評価する場合、直交変換の性質により、画素値領域での2乗誤差の和を、変換係数領域での2乗誤差の和で近似できること利用して、与えられたブロックのRDコスト(以下の(1)式のように示すことができる)を最小化する方法として定式化している。
J(λ)=ΣΣJ(λ,cij,lij) …(1)
(1)式において、J(λ,cij,lij)は、変換係数cijを係数レベルlijに量子化して符号化する場合のRDコストであり、以下の(2)式にように示すことができる。
J(λ,cij,lij)=err(cij,lij
+λbits(lij) …(2)
(2)式において、量子化誤差err(cij,lij)は、以下の(3)式のように示すことができる。
err(cij,lij)=N(QP%6,i,j)(rij−cij …(3)
(3)式において、rijは、係数レベルlijを逆量子化することによって得られる値であり、以下の(4)式のように示すことができる。
ij=lijR(QP%6,i,j) …(4)
(3)式及び(4)式において、N(QP%6,i,j),R(QP%6,i,j)はそれぞれH.264で用いられる整数変換の、正規化マトリックス、逆量子化スケールマトリックスであり、QPは量子化パラメータである。なお、QP/6,QP%6は、QPを6で割った商と余りを表す。
また、(2)式において、bits(lij)はlijをCAVLC(Context−based Adaptive Variable Length Coding)もしくはCABAC(Context−based Adaptive Binary Arithmetic Coding)でエントロピー符号化するときに必要となる符号量である。
さらに、非特許文献1では、使用されるエントロピー符号がCABACの場合とCAVLCの場合について、与えられたcijからlijの複数の候補から上記RDコストを最小化する候補を選択していくアルゴリズムが開示されている。
そして、|lij|の候補を、以下の(5)〜(8)式のようにおいて、CABACのアルゴリズムでは、主に0,lij floor,lij ceilの3通りからの選択を、主に高周波側から順に、CAVLCのアルゴリズムでは、主に0,1,lij roundの3通りから、主に係数の絶対値が小さい順に、上記RDコストJ(λ)を各係数成分の各係数レベル候補ごとに評価して、その最小値を与える係数レベルを選択している。
ij float=|cij|Q(QP%6,i,j)/215+QP/6 …(5)
ij floor=floor(lij float) …(6)
ij ceil=lij floor+1 …(7)
ij round
floor{(|cij|Q(QP%6,i,j)+0.5)/215+QP/6} …(8)
Marta Karczewicz、Yan Ye、Peisong Chen著、「Rate Distortion Optimized Quantization」、[Online]、INTERNET、[2010年2月10日検索],<URL:http://ftp3.itu.int/av-arch/jvt-site/2008_04_Geneva/JVT-AA026.zip>
しかしながら、非特許文献1(従来のRDOQ)では、量子化の最適化処理をするための演算量が非常に多く、十分な処理性能で最適な量子化結果を求めることができないという課題があった。
すなわち、例えば、量子化誤差err(cij,lij)を求めるために乗算2回と、λとの乗算1回と、少なくとも3回の乗算が、ある係数レベル候補のRDコストを評価するために必要であり、3通りの候補を評価する場合には、係数1個あたり、9回程度の乗算が必要となる。
また、例えば、CAVLCの場合にlij roundは評価しているが、lij roundと異なる、lij floor、もしくは、lij ceilを評価していないため、比較的高い可能性をもつRDコストが小さくなる係数レベルを選択できていない場合があるという課題があり、例えば単純に選択候補を増やしたとしても、処理量の増大を招いてしまうおそれがある。
そのため、動画像符号化に係る量子化処理において、処理量を低減させることができる量子化装置、プログラム及び方法、並びに、動画像符号化装置が望まれている。
第1の本発明は、動画像符号化処理において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化装置において、(1)上記変換係数に対して量子化のためのスケーリングを施すスケーリング手段と、(2)スケーリングされた上記変換係数の絶対値について小数点以下の切り捨てにより整数化した第1の係数レベル侯補と、第1の係数レベル候補よりも絶対値が1大きい第2の係数レベル候補を決定する係数レベル候補決定手段と、(3)上記第1の係数レベル侯補を選択した場合と、上記第2の係数レベル候補を選択した場合の、量子化誤差の差に相当するスケール化された歪変化量、及び、エントロピー符号化する場合に必要となる符号量の変化量を求め、求めた歪変化量と符号量の変化量とを利用して、上記第1の係数レベル侯補を適用した場合と、上記第2の係数レベル侯補を適用した場合とのレート歪コストの変化量を算出するレート歪コスト変化量算出手段と、(4)上記レート歪コスト変化量算出手段の算出結果に応じて、上記第1の係数レベル候補又は上記第2の係数レベル候補のいずれかを、上記変換係数の量子化に適用する係数レベルとして選択する係数レベル選択手段とを有することを特徴とする。
第2の本発明は、動画像符号化処理において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化プログラムにおいて、コンピュータを、(1)上記変換係数に対して量子化のためのスケーリングを施すスケーリング手段と、(2)スケーリングされた上記変換係数の絶対値について小数点以下の切り捨てにより整数化した第1の係数レベル侯補と、第1の係数レベル候補よりも絶対値が1大きい第2の係数レベル候補を決定する係数レベル候補決定手段と、(3)上記第1の係数レベル侯補を選択した場合と、上記第2の係数レベル候補を選択した場合の、量子化誤差の差に相当するスケール化された歪変化量、及び、エントロピー符号化する場合に必要となる符号量の変化量を求め、求めた歪変化量と符号量の変化量とを利用して、上記第1の係数レベル侯補を適用した場合と、上記第2の係数レベル侯補を適用した場合とのレート歪コストの変化量を算出するレート歪コスト変化量算出手段と、(4)上記レート歪コスト変化量算出手段の算出結果に応じて、上記第1の係数レベル候補又は上記第2の係数レベル候補のいずれかを、上記変換係数の量子化に適用する係数レベルとして選択する係数レベル選択手段として機能させることを特徴とする。
第3の本発明は、動画像符号化処理において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化方法において、(1)上記スケーリング手段は、上記変換係数に対して量子化のためのスケーリングを施し、(2)上記係数レベル候補決定手段は、スケーリングされた上記変換係数の絶対値について小数点以下の切り捨てにより整数化した第1の係数レベル侯補と、第1の係数レベル候補よりも絶対値が1大きい第2の係数レベル候補を決定し、(3)上記レート歪コスト変化量算出手段は、上記第1の係数レベル侯補を選択した場合と、上記第2の係数レベル候補を選択した場合の、量子化誤差の差に相当するスケール化された歪変化量、及び、エントロピー符号化する場合に必要となる符号量の変化量を求め、求めた歪変化量と符号量の変化量とを利用して、上記第1の係数レベル侯補を適用した場合と、上記第2の係数レベル侯補を適用した場合とのレート歪コストの変化量を算出し、(4)上記係数レベル選択手段は、上記レート歪コスト変化量算出手段の算出結果に応じて、上記第1の係数レベル候補又は上記第2の係数レベル候補のいずれかを、上記変換係数の量子化に適用する係数レベルとして選択することを特徴とする。
第4の本発明は、動画像符号化装置において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化装置を備え、上記量子化装置として、第1の本発明の量子化装置を適用したことを特徴とする。
本発明によれば、動画像符号化に係る量子化処理において、処理量を低減させることができる。
第1の実施形態に係る量子化部(量子化装置)の機能的構成について示したブロック図である。 第1の実施形態に係る動画像符号化装置の機能的構成について示したブロック図である。 第1の実施形態に係る量子化部(量子化装置)の動作について示したフローチャート(1)である。 第1の実施形態に係る量子化部(量子化装置)の動作について示したフローチャート(2)である。 第2の実施形態に係る量子化部(量子化装置)の動作について示したフローチャートである。 第3の実施形態に係る量子化部(量子化装置)の動作について示したフローチャート(1)である。 第3の実施形態に係る量子化部(量子化装置)の動作について示したフローチャート(2)である。 第4の実施形態に係る量子化部(量子化装置)の動作について示したフローチャートである。 第5の実施形態に係る量子化部(量子化装置)の機能的構成について示したブロック図である。
(A)第1の実施形態
以下、本発明による量子化装置、プログラム及び方法、並びに、動画像符号化装置の第1の実施形態を、図面を参照しながら詳述する。なお、第1の実施形態の量子化装置は、量子化部であるものとして説明する。
(A−1)第1の実施形態の構成
(A−1−1)動画像符号化装置の全体構成について
図2は、この実施形態の動画像符号化装置10の全体構成を示すブロック図である。
動画像符号化装置10は、予測差信号生成器11、変換部12、量子化部13、エントロピー符号化部14、逆量子化・逆変換部15、復号画像生成部16、フレームバッファ17、予測部18を有している。なお、量子化部13以外の構成要素については、例えば、既存のH.264に準拠した動画像符号化装置と同様のものを適用することができる。
動画像符号化装置10は、CPU、ROM、RAM、EEPROM、ハードディスクなどのプログラムの実行構成を有する装置(1台に限定されず、複数台を分散処理し得るようにしたものであっても良い。)に、動画像符号化プログラム(実施形態の量子化プログラムを含む)等をインストールすることにより構築しても良く、その場合でも、機能的には上述の図2のように示すことができる。
予測差信号生成器11は、供給された原画像の画像データと予測部18から供給される予測画像とから、予測誤差信号を得て、変換部12に供給する。
変換部12は、予測誤差信号の直交変換処理を行い、周波数成分等の変換係数に変換された予測誤差信号を得て、量子化部13に供給する。
量子化部13は、周波数成分等の変換係数に変換された予測誤差信号を量子化し、量子化された予測誤差信号を得て、エントロピー符号化部14及び逆量子化・逆変換部15に供給する。
エントロピー符号化部14は、量子化された予測誤差信号についてエントロピー符号化(例えば、可変長符号化等)を行って、その他の符号化情報とともにストリームのデータを生成する。このストリームのデータが、動画像符号化装置10の出力となる。
逆量子化・逆変換部15は、量子化された予測誤差信号を逆量子化および逆直交変換を行い、量子化誤差を伴う予測誤差信号を得て、復号画像生成部16に供給する。
復号画像生成部16は、量子化誤差を伴う予測誤差信号と予測画像より復号画像を得る。
フレームバッファ17は、既に符号化され、局所復号された復号画像を参照画像として記憶する。なお、H.264/AVC標準の場合、動き補償で参照する画像は、現在符号化を行おうとしている画像の直前画像に限定されず、複数の時刻の画像が参照画像となり得る。
予測部18は、現在符号化を行おうとしている対象時刻の画像データと、その対象時刻と異なる時刻の参照画像から動きベクトル等の予測情報を得て予測画像データを生成し、予測差信号生成器11及び復号画像生成部16に供給する。なお、H.264の場合、対象時刻の既に符号化され、局所復号された復号画像を用いる、イントラ予測による予測画像を供給する場合もある。
(A−1−2)量子化部の処理概要について
次に、量子化部13による処理の概要について説明する。
量子化部13では、変換係数(例えば、離散コサイン変換等の直交変換を施した変換係数)に対して、量子化のためにスケーリングを施し、スケールされた値cの絶対値をa、cの符号をsとする。そして、aを小数点以下の切り捨てにより整数化したtと、t+1の少なくとも2つを、量子化された係数レベルlの絶対値uの候補とする。さらに、uとして、tを選択した場合と、t+1を選択した場合の、量子化誤差の差に相当するスケールされた歪の変化量△Eを求める(以下単に歪の変化量と記載する)。さらにまた、uとして、tもしくはt+1を選択した場合をエントロピー符号化するのに必要となる、符号量の変化量△Rを求める。
また、ラグランジュ乗数λを係数レベル領域での比較用にスケールしたラグランジュ乗数μをもちいて、tを選択した場合から、t+1を選択した場合へのスケールされたRDコストの変化量(以下単にRDコストの変化量と記載する)を、以下の(9)式により求める。そして、その求めた結果における正負の判断によって、tもしくは、t+1を、係数レベル領域にスケールされたcに対する量子化された係数レベルlの絶対値uとして選択するよう構成する。なお、説明の簡単化のため、添字iは個々の係数成分を表すものとし、例えば、4×4変換の場合は16個の係数成分をわたるものとする。また以下の説明で、特に断りがなければ、Zig−Zagスキャン等のスキャン順に番号づけされているものとする。
△J=△E+μ△R …(9)
ここで、△J,△E,μ,△Rの意味について説明する。
H.264の復号処理で用いられる逆量子化、逆変換は、その演算過程の整数演算の切り捨て等を無視した実数演算と見なした場合、入力する係数レベル領域の値cと出力される画素値領域の値dの間には、量子化パラメータをQPとして、q=(21/6(QP−4)とおくと(ただし21/6は実数としての2の6乗根)、以下の(10)式の関係がほぼ満たされる線形変換となるよう定義されている。
Σ =Σ …(10)
すなわち、量子化ステップサイズq倍された正規直交変換の近似変換と見なすことができる。
したがって、変換係数を係数レベル領域にスケールした値cを整数値のある係数レベルlに量子化した場合に、復号画像の画素値の領域に生じる量子化誤差e(c,l)は、以下の(11)式で近似できる。
e(c,l)=q(c−l …(11)
とlは同符号で、2乗されているので、符号を無視して絶対値のみで評価してもよく、それぞれの絶対値をa,uで表すと、以下の(12)式のようになる。
e(a,u)=q(a−u …(12)
そして、uとしてtとt+1を選んだ場合の量子化誤差の変化量は、以下の(13)式のようになる。
△e(a,t)=e(a,t+1)−e(a,t
=2q(1/2−(a−t)) …(13)
そして、全体を1/(2q)倍にスケールして評価すれば、以下の(14)式のように乗算無しで評価できる。
△E(a,t)=△e(a,t)/(2q
=1/2−(a−t) …(14)
この時、μを以下の(15)式のようにおけば、RDコストJの変化量を1/(2q)でスケールした値△Jが、上述の(9)式で評価できる。
μ=λ/(2q) …(15)
このとき、△Rは、符号量の変化量なので、uとしてtもしくはt+1を選択したときに、符号量の変化するシンタックスエレメントのみの符号量の変化量を求めれば良い。
△Jが負(△J<0)のばあいは、uとしてt+1を選択する方がRDコストが減少するとを表し、△Jの正負を判定することにより、tとt+1の選択をすることが可能となる。
ここで、H.264の符号化器を例にすると、入力された原画像と、動き補償等によって求められた予測画像との差である残差信号に対して、以下の(16)式に示すH.264の整数変換を、2次元に適用して得られた変換係数を入力とし、所定の量子化パラメータQPを用いて量子化して得られる係数レベルとして、レート歪的に最適となるような係数レベル値を選択して出力する。量子化処理により得られた係数レベル値は、符号化モード等の選択の上、CABAC,CAVLCといったエントロピー符号化器によりエントロピー符号化され、動画像ストリームとして出力される。また得られた係数レベルは、逆量子化・逆変換して予測画像に加えることで復号画像を再生し、次の予測画像の生成のために使用される。
Figure 2011176483
以下では、量子化部13において、入力が変換係数、出力が係数レベルである処理として説明する。
なお、H.264においても、上述の4×4変換のほか、8×8変換や、DC係数を集めたブロックに対するアダマール変換等もあるが、同様に構成可能であるので、以下、4×4変換を例に説明する。
(A−1−3)量子化部の内部構成について
図1は、量子化部13の機能的構成について示したブロック図である。
量子化部13は、スケール計算部131、歪変化量計算部132、レート変化量計算部133、係数レベル選択部134を有している。
量子化部13(量子化装置)は、CPU、ROM、RAM、EEPROM、ハードディスクなどのプログラムの実行構成を有する装置(1台に限定されず、複数台を分散処理し得るようにしたものであっても良い。)に、実施形態の量子化プログラム等をインストールすることにより構築しても良く、その場合でも、機能的には上述の図1のように示すことができる。この実施形態においては、量子化部13は、動画像符号化装置10に搭載されるものとして示しているが、単独の装置(量子化装置)として構成するようにしても良い。動画像符号化装置10が、上述の情報処理装置に動画像符号化プログラムをインストールすることにより構成される場合には、量子化部13は、その動画像符号化プログラムの一部の量子化プログラムとして構築するようにしても良い。
量子化部13では、スケール計算部131により、整数変換によって求められた変換係数に対して、量子化パラメータQPに応じたスケーリングを施す。すなわち、変換係数gjkに対して、スケールされた係数cjkの各要素(以下、「係数成分」ともいう)を以下の(17)式により求める。
jk=gjkQ(QP%6,j,k)/215+QP/6 …(17)
ここで、Q(QP%6,j,k)は、量子化時のスケールマトリックス、QP/6,QP%6はそれぞれ、QPを6で割った商と余り、215+QP/6による除算は、実数としての除算である。
なお、この除算は、cjkを適当な精度の固定少数で表現すれば、15+QP/6から小数点以下のビット数を引いた数による右シフト演算で行うことができる。例えば、cjkを小数点以下11ビットの固定少数で表現する場合は、4+QP/6ビットの右シフトとなる。
4×4以外の変換では、スケールマトリックス、シフト量等が異なるが、変換係数領域の値を、係数レベル領域の整数化されていない値ヘスケールする同様の処理を行う。
ここでは、以下の説明の簡単化のため、スケールされた係数cijを、Zig−Zagスキャン順に、改めて、cと記述することとし、以下の(18)式に示すように、その絶対値をa、(19)式に示すように符号をsと記述する。ただし、i=0、…、Mであり、Mは、対象係数ブロックの係数成分数−1とする。
=|c| …(18)
=sign(c) …(19)
また以下の説明で、これらの値に対する演算を実数演算のように記述するが、適当な精度の固定少数表現によって、整数演算器で処理することも可能である。なお、上記スケーリング時の右シフトは、gjkの絶対値に対して行うようにしてもよい。
絶対値aの整数部分(aを超えない最大の整数)をtとおくと、tは以下の(20)式のように示される。
=floor(a) …(20)
そして、スケールされた係数cに対する係数レベルlの絶対値uの候補として、tと、t+1の少なくとも2つを候補とする(△Rの評価をスキップして、tを選択する場合も含む)。
歪変化量計算部132では、以下の(21)式について求める。
△E(a,t)=1/2−(a−t) …(21)
レート変化量計算部133では、CABAC、CAVLC等のそれぞれのエントロピー符号化器によって両候補に対して発生するであろう符号量の変化量△Rを求める。レート変化量計算部133の処理については、後述する動作説明において詳述する。
係数レベル選択部134は、あらかじめ計算しておいたスケールされたラグランジュ乗数μを用いて、RDコストの変化量の評価式(上述の(9)式)の符号の判定に相当する判断により、最適な係数レベルの選択を行い係数レベル値lを出力する。
(A−2)第1の実施形態の動作
次に、以上のような構成を有する第1の実施形態の動画像符号化装置10について、量子化部13の動作を中心に説明する。
第1の実施形態では、エントロピー符号化部14によるエントロピー符号化がCABACである場合に、量子化部13における処理で、非特許文献1と同様な処理手順(係数成分の決定順)で、与えられた係数ブロックの、個々の成分の係数レベルを選択していく例について説明する。CABACによるエントロピー符号化では、変換係数における係数成分のスキャン順で最終非ゼロ係数であることを表すシンタックスを有するため、第1の実施形態では、このCABACの特性を考慮した量子化処理が行われる。
図3は、第1の実施形態の量子化部13における量子化処理の処理手順を示す図である。
まず、量子化部13では、入力された変換係数を量子化パラメータQPに応じてスケーリングを施した、スケールされた係数cが求められる(S101)。ただしi=0,…,MはZig−Zagスキャン等のスキャン順であるものとする。
次に、量子化部13では、cの絶対値aについて、係数レベルlの絶対値uの侯補として、上記の(20)式によりtが求められる(S102)。
そして、量子化部13では、上記の(21)式により、歪変化量△Eが求められる。ここで、△E≧0であるiについては、u=tとし、以降の処理では、t+1は候補としないものとする。
次に、量子化部13では、非ゼロの係数レベルを選択する変換係数の内、スキャン順でもっとも最後となる(もっとも番号の大きな)係数の位置kが決定される(S103)。
図4は、ステップS103における最終非ゼロ係数位置の決定処理の詳細について示したフローチャートである。
図4では、kの候補としては、i,…iを考慮する。ただし、iはa>0.5であるiの最大値であり、iはa>1であるiの最大値(なければ−1)であるものとする。
以下の説明において、bits()はかっこ内の情報をCABACで符号化するのに必要となるビット数の近似値(符号化するシンタックスのコンテクストにおける確率状態変数を用いて計算、算術符号であるのでビット数は整数とは限らない)であるものとする。また、codedは、coded_block_flagであり、lastはlast_significant _coeff_flagであり、uは付随する符号sとあわせた係数レベルlに関するシンタックス、significant_coeff_flag,coeff_abs_level_minus1、coeff_sign_flagの略記とする。
まず、候補範囲として、i、…、iが設定されたものとする(S201)。
次に、以下の(22)式〜(25)式により、各変数の初期化が行われる。
k=i …(22)
e=0 …(23)
r=bits(coded=1)−bits(coded=0)
(i==−1のとき) …(24)
r=bits(last=0)−bits(last=1)
(i≧0のとき) …(25)
次に、候補範囲内(i=i+1,…,i)で、k、e、rの更新を繰り返す(S203、S204)。
ステップS203、S204では、まず、p及びbを、それぞれ、以下の(26)式及び(27)式により求める。そして、p及びbの結果に応じて、k、e、rの更新を行う。
p=△E+μ(bits(u=1,last=0)
−bits(u=0))…(26)
b=e+△E+μ(r+bits(u=1,last=1) …(27)
[b<0の場合について]
k=iに更新する。
p<0の場合には、e及びrについて、以下の(28)式及び(29)式のように求める。
e=0 …(28)
r=bits(last=0)−bits(last=1)…(29)
p≧0の場合には、e及びrについて、以下の(30)式及び(31)式のように求める。
e=−△E …(30)
r=bits(u=0)−bits(u=1,last=0) …(31)
[b≧0の場合について]
p<0の場合には、e及びrについて、以下の(32)式及び(33)式のように求める。
e=e+△E …(32)
r=r+bits(u=1,last=0) …(33)
p≧0の場合には、rについて以下の(34)式のように求める。
r=r+bits(u=0) …(34)
上述のように、ステップS203、S204によるk、e、rの更新が行われた後、得られたkを最終非ゼロ係数位置とする(S205)。ただし、k=−1の場合は、対象ブロックは係数なしとする。
ここで、上述の図4に示すフローチャートで用いられている変数について説明する。
「k」は上記処理過程の、暫定の最終非ゼロ係数位置である(k=−1は非ゼロ係数なしを表す)。
「e」はkが最終非ゼロ係数位置であった場合から、kを最終とはしない場合への歪の変化量をiまで累積した値である。
「r」はkが最終非ゼロ係数位置であった場合から、kを最終とはしない場合への符号量の変化量をiまで累積した値である。
b<0の意味は、iの位置を最終非ゼロ係数位置としたほうが、kであった場合よりもRDコストが減少することを表す。
p<0の意味は、iよりもスキャン順の大きな位置が最終非ゼロ係数位置となると仮定した場合に、iの位置の係数レベルの絶対値として0よりも1を選択するほうがRDコストが減少することを表す。
次に、係数レベル選択部134では、上述の図4の処理により、得られたkを用いて、i=k.…,0について、係数レベルを選択していく(S104)。すなわち、kからスキャンの逆順に、各iについて、符号量の変化量△Rは、以下の(35)式のように求め、以下の(36)式に示すRDコストの変化量の符号の判断により、tもしくは、t+1から係数レベルを選択していく。すなわち、△J<0の場合にt+1を選択する。 なお、上述したように、△E≧0であるiについては、u=tとし、この判断をスキップする。
△R=bits(u=t+1)−bits(u=t) …(35)
△J=△E+μ△R …(36)
ここで、さらに符号量の変化量△Rについては、CABACでの係数レベルの表現方法に依存して、tの大きさに応じて、以下の4つの場合ごとに、効率的に求めることができる。CABACの算術符号による符号量は、確率状態変数に依存し、繰り返し使用される確率状態変数については、正確には状態遷移させつつ評価したほうがよいが、状態遷移なしで近似してもよい。
[t>14の場合]
この場合、△Rは、確率状態変数に依存しなくなり、coeff_abs_level_minus1のsuffix部分長さの違いのみとなり、△Rは0もしくは2となる。
[2≦t≦14の場合]
この場合、△Rは、coeff_abs_level_minus1に関する1つの確率状態変数のみに依存し、tが13通り、確率状態変数が、128通りの、△Rのテーブルをあらかじめ作成しておくことができる。
また、CABACでは、この1つの確率状態変数が一つのcoeff_abs_level_minus1の符号化中に状態遷移しつつ繰り返し使用されるため、状態遷移させた上での符号量差をテーブル化することもできる。
[t=1の場合]
この場合、△Rは、coeff_abs_level_minus1に関する2つの確率状態変数に依存するが、2つのbinの符号量差のみを求めればよい。
[t=0]
この場合、△Rは、significant_coeff_flagとcoeff_abs_level_minus1の最初のbinのみに関係し、これに関する2つの確率状態変数から求めることができる。
以上の処理により、従来のRDOQのCABACアルゴリズムと同等にレート歪的に最適な係数レベルの選択を、より少ない演算量、処理量で行うことが可能となる。
(A−3)第1の実施形態の効果
第1の実施形態によれば、非特許文献1に記載のRDOQのCABACアルゴリズムと同様にレート歪み的に最適な係数レベルの選択を、より少ない処理量(演算量)で行うことができる。
(B)第2の実施形態
以下、本発明による量子化装置、プログラム及び方法、並びに、動画像符号化装置の第2の実施形態を、図面を参照しながら詳述する。なお、第2の実施形態の量子化装置は、量子化部であるものとして説明する。
(B−1)第2の実施形態の構成及び動作
第2の実施形態の量子化部及び動画像符号化装置も、図1により示すことができる。
第2の実施形態では、エントロピー符号化部14がCAVLCに対応しており、量子化部13において、非特許文献1と同様な処理手順(係数成分の決定順)で、与えられた係数ブロックの、個々の成分の係数レベルを選択していく点で第1の実施形態と異なっている。それ以外の構成については、第1の実施形態と同様であるので詳しい説明を省略し、以下では、第2の実施形態について、第1の実施形態との差異を中心に説明を行う。
CAVLCによるエントロピー符号化処理では、ゼロ係数のランレングス符号化が含まれるため、第2の実施形態では、CAVLCのこの特性を考慮した量子化が行われる。
図5は、第2の実施形態の量子化部13の処理について示したフローチャートである。
まず、量子化部13では、入力された変換係数を量子化パラメータQPに応じてスケーリングを施した、スケールされた係数cを求める(S301)。ただし、i=0,…,Mは、第1の実施形態とは異なり、スケールされた係数cjkをその絶対値の小さい順にソートした順に番号付けされるものとする(S302)。すなわち、cが絶対値最小の係数とする。
次に、量子化部13では、cの絶対値aについて、係数レベルlの絶対値uの初期値として、以下の(37)式により、初期化する(S303)。ここで、係数レベルの初期値の選択は、例えば、(37)式のfとして、従来のRDOQと同様、イントラピクチャではf=1/3、インターピクチャではf=1/6とする場合や、その他の、さまざまな簡易な量子化方法を用いるなどとしてもよい。
=floor(a+f) …(37)
また、量子化部13では、係数レベルlの絶対値u候補として、以下の(38)によりtを求め、以下の(39)により歪変化量△Eを求める。
=floor(a) …(38)
△E=△E(a,t)=1/2−(a−t) …(39)
ここで、△E≧0であるiについては、u=tとし、以降の処理では、t+1は候補としない。
以上の準備の下、量子化部13では、スケールされた係数cの絶対値が小さい順i=0,…,Mに、係数レベルlを選択していく(S304)。すなわち、絶対値最小のcから順に、各iについて、uとしてtを選択した場合とt+1を選択した場合の符号量の変化量△Rをもとめ、以下の(40)式に示すRDコストの変化量の符号の判断により、tもしくは、t+1から係数レベルを選択していく。すなわち、△J<0の場合にt+1を選択する。選択されたu用いて、係数レベルlを順次更新していく。
△J=△E+μ△R …(40)
なお、上述したように、△E≧0であるiについては、u=tとし、この判断をスキップする。
符号量の変化量△Rの算出時には必要に応じて、初期値のままの、あるいは、上記処理により更新された場合は、更新された係数レベルlを参照して算出する。
ここで、さらに符号量の変化量△Rについては、tを選択した場合と、t+1を選択した場合の間で、符号量に変化のあるシンタックスエレメントのみを考慮すればよい。すなわち、以下のような場合ごとに、効率的に△Rの計算処理に関連するシンタックスエレメントを絞り込むことができる。
[第1の要件]
>1の場合は、coeff−tokenに影響しないので、無視できる。
[第2の要件]
>0の場合は、total_zeros,run_beforeに影響しないので、無視できる。
[第3の要件]
suffixLengthの更新に影響がなければ、i番目以外の係数レベルに関するtrailing_ones_sign_flag,level_prefix,level_suffix等は無視できる。なお、suffixLengthへの影響を無視して、常にi番目以外の係数レベルに関するシンタックスを無視する処理としてもよい。
[第4の要件]
level_prefixに変化がなければ、△R=0である。
(B−2)第2の実施形態の効果
第2の実施形態によれば、以下のような効果を奏することができる。
非特許文献1に記載された従来のRDOQのCAVLCアルゴリズムと同等にレート歪的に最適な係数レベルの選択を、より少ない演算量、処理量で行うことができる。
また、非特許文献1に記載された従来のRDOQのCAVLCアルゴリズムでは評価漏れしていた、レート歪的に最適となる可能性の高い、切り上げ、切り捨ての両候補を評価できているので、より符号化効率が向上させることができる。
(C)第3の実施形態
以下、本発明による量子化装置、プログラム及び方法、並びに、動画像符号化装置の第3の実施形態を、図面を参照しながら詳述する。なお、第3の実施形態の量子化装置は、量子化部であるものとして説明する。
(C−1)第3の実施形態の構成及び動作
第3の実施形態の量子化部及び動画像符号化装置も、図1により示すことができる。
第3の実施形態では、エントロピー符号化部14がCABACに対応しており、量子化部13において、第1の実施形態とは異なる処理手順(係数成分の決定順)で、与えられた係数ブロックの、個々の成分の係数レベルを選択していく点で、第1の実施形態と異なっている。それ以外の構成については、第1の実施形態と同様であるので詳しい説明を省略し、以下では、第3の実施形態について、第1の実施形態との差異を中心に説明を行う。
図6は、第3の実施形態の量子化部13の処理について示したフローチャートである。
まず、量子化部13では、入力された変換係数を量子化パラメータQPに応じてスケーリングを施した、スケールされた係数cが求められる(S401)。(ただし、i=0,…,MはZig−Zagスキャン等のスキャン順)
次に、量子化部13では、cの絶対値aについて、係数レベルlの絶対値uの候補として、以下の(41)式によりtを求め、さらに、以下の(41)式により歪変化量△Eが求められる。
=floor(a) …(41)
△E=△E(a,t)=1/2−(a−t) …(42)
ここで、△E≧0であるiについては、u=tとし、以降の処理では、t+1は候補としない。
次に、非ゼロの係数レベルを選択する変換係数の内、スキャン順でもっとも最後となる(もっとも番号の大きな)係数の位置kを決定する(S402、S403)。
第1の実施形態(上述の図4)との違いは、スキャンの逆順に処理を行うことである。すなわち、第1の実施形態では、kの候補範囲であるi,…,iについて、kを決定するために順方向に処理を行っているが、第3の実施形態では、i=Mからスキャンの逆順に、iの位置を求め(S402)、iに相当する位置まで、kの位置を探索する(S403)。
量子化部13では、kの候補としては、i,…,iを考慮する。ただし、iはa>0.5であるiの最大値とし、iはa>1であるiの最大値(なければ−1)とする。そして、このようなiがなければ、対象ブロックは係数なしとして以下の処理は行わないものとする。
すなわち、量子化部13は、上述のステップS402の処理として、iの位置を設定するが、a>0.5であるiがなければ、対象ブロックは係数なしとして、以下のステップS403の処理は行わない。
図7は、第3の実施形態の量子化部13における、上述のステップS403の処理の詳細について示したフローチャートである。
量子化部13では、図7に示す処理により、iの位置を探索しつつkを決定する。ただし、以下でbits()の意味は第1の実施形態と同様とする。
まず、kの初期値をk=iとして、このときのa>1の場合は、i=iであるので、以下のkおよびiの探索処理は行わず、i以下の処理(S404)のみ行う。
そして、量子化部13は、各変数(k、e、r)の初期化を、以下の(43)、(44)、(45)式により行う(S501)。
k=i …(43)
e=△E …(44)
r=bits(u=1,last=1) …(45)
次に、量子化部13は、i=i−1、…、0について、それぞれ△E、p、bを求め、その結果に応じてu、k、e、rの更新し、iがみつかるまで繰り返す(S502、S503)。ただし、t>1ならこのときのiを、i=iとしてiがみつかったものとし(S504),後述するステップS507に進む。
次に、上述のステップS502、S503において、△E、p、bの結果に応じてu、k、e、rを更新する際の場合分けについて説明する。
[△E>0の場合]
を以下の(46)式により更新し、rを以下の(47)式により更新し、次のiの処理に進む。
=0 …(46)
r=r+bits(u=0) …(47)
[△E≦0の場合]
この場合、まずpを以下の(48)とおき、p及び後述するbの結果に応じた処理が行われる。
p=△E+μ(bits(u=1,last=0)
−bits(u=0)) …(48)
[△E≦0、かつ、p<0の場合]
まず、uを下記の(49)式により更新し、bを以下の(50)式とおくものとする。
=1 …(49)
b=e+μ(r+bits(last=0)
−bits(last=1)) …(50)
そして、b>0の場合には、k、e、rを、それぞれ以下の、(51)式、(52)式、(53)式により更新する。
k=i …(51)
e=△E …(52)
r=bits(u=1,last=1) …(53)
一方、b<=0の場合には、e、rをそれぞれ以下の(54)式、(55)式により更新する。
e=e+△E …(54)
r=r+bits(u=1,last=0) …(55)
[△E≦0、かつ、p≧0の場合]
まず、uを下記の(56)式により更新し、bを以下の(57)式とおくものとする。
=0 …(56)
b=e+△E+μ(r+bits(u=0)
−bits(u=1,last=1)) …(57)
そして、b>0の場合には、k、e、rを、それぞれ以下の、(58)式、(59)式、(60)式により更新する。
k=i …(58)
e=△E …(59)
r=bits(u=1,last=1) …(60)
一方、b<=0の場合には、rを以下の(61)により更新する。
r=r+bits(u=0) …(61)
以上のように、ステップS502、S503の繰り返しにより、iの探索が行われると、量子化部13では、その処理結果について判定が行われ(S504)、iがみつかった場合(t>1がみつかった場合)には、後述するステップS507の処理が行われ、iが見つからなかった場合(t>1がみつからなかった場合)には、後述するステップS505の処理が行われる。
上述のステップS502、S503により、iがみつからなかったと判定された場合には、量子化部13では、i、bについて、それぞれ、以下の(62)式、(63)式のようにおき、bの算出結果について判定が行われる(S505)。
i0 = -1 …(62)
b = e + μ(r + bits(coded=1) - bits(coded=1)) …(63)
そして、b>0ならば、対象ブロックは係数なしとして(S506)、図7の処理を終了し、そうでなければ後述するステップS508の処理に進む。
上述のステップS505において、b>0でない場合には、さらにkとiが比較され、k<iの場合には、i=k+1,…,iの範囲はu=0にクリアし(S508)、図7の処理を終了する。
一方、上述のステップS502、S503により、iがみつかったと判定された場合には、bを以下の(64)式のようにおいて、b>0である場合にはk=iと更新する(S507)、一方b ≦0 の場合は k の更新は行わない(S507)。つまり、b ≦0の場合、 i0よりも大きな位置を指し示したままである。その後、bの判断に関わらず、k<iの場合には、i=k+1,…,iの範囲はu=0にクリアし(S508)、図7の処理を終了する。
b=e+μ(r+bits(last=0)
−bits(last=1)…(64)
次に、図7の処理において用いられている変数について説明する。
kは上記処理過程の、暫定の最終非ゼロ係数位置である(k=−1は非ゼロ係数なしを表す)。
eはkが最終非ゼロ係数位置ではない場合から、kが最終である場合への歪の変化量をiまで累積した値である。
rはkが最終非ゼロ係数位置ではない場合から、kが最終である場合への符号量の変化量をiまで累積した値である。
b>0の意味は、iの位置を最終非ゼロ係数位置としたほうが、kであった場合よりもRDコストが減少することを表す。
p<0の意味は、iよりもスキャン順の大きな位置kが最終非ゼロ係数位置となると仮定した場合に、iの位置の係数レベルの絶対値として0よりも1を選択するほうがRDコストが減少することを表す。
次に、上述のステップS403の処理(図7の処理)が終了すると、量子化部13では、iが見つかった場合に、i=i.…,0について、係数レベルを選択していく。すなわち、i(例えば、探索停止位置)から順に、各iについて、符号量の変化量△Rを、以下の(65)式として、以下の(66)式に示すRDコストの変化量の符号の判断により、tもしくは、t+1から係数レベルを選択していく。すなわち、△J<0の場合にt+1を選択する。
△R=bits(u=t+1)−bits(u=t) …(65)
△J=△E+μ△R …(66)
なお、上述したように、△E≧0であるiについては、u=tとし、この判断をスキップするようにしても良い。
また、符号量の変化量△Rについては、第1の実施形態と同様、符号量に変化のあるbinのみに関する計算処理とすることで、効率的に求めることができる。
(C−2)第3の実施形態の効果
第3の実施形態によれば、第1の実施形態の効果に加えて、以下のような効果を奏することができる。
第1の実施形態では係数を順方向、逆方向と、複数回スキャンする必要があるが、第3の実施形態では、i=Mから逆方向のみに、iが見つかるまで、i見つかるまで、i=0までのスキャンをするだけでよくなり、処理が簡単になり処理量を低減するとともに、メモリアクセスが削減できるなどの効果が得られる。
(D)第4の実施形態
以下、本発明による量子化装置、プログラム及び方法、並びに、動画像符号化装置の第4の実施形態を、図面を参照しながら詳述する。なお、第4の実施形態の量子化装置は、量子化部であるものとして説明する。
(D−1)第4の実施形態の構成及び動作
第4の実施形態の量子化部及び動画像符号化装置も、図1により示すことができる。
第4の実施形態では、エントロピー符号化部14がCAVLCに対応しており、第2の実施形態とは異なる処理手順(係数成分の決定順)で、与えられた係数ブロックの、個々の成分の係数レベルを選択していく点で、第2実施形態と異なっている。それ以外の構成については、第2の実施形態と同様であるので詳しい説明を省略し、以下では、第4の実施形態について、第2の実施形態との差異を中心に説明を行う。
図8は、第4の実施形態の量子化部13の処理について示したフローチャートである。
まず、量子化部13では、入力された変換係数を量子化パラメータQPに応じてスケーリングを施した、スケールされた係数cが求められる(S601)。ただし、i=0,…,Mは、第2の実施形態とは異なり、第1、第3の実施形態と同様、Zig−Zagスキャン等のスキャン順に番号付けされているものとする。すなわち、第4の実施形態では、絶対値の大きさによるソートは行わない。
次に、量子化部13では、スキャンの逆順i=M,…,0に、最終非ゼロ係数の候補位置iが探索され、設定される(S602)。すなわち、iはa>Tであるiの最大値となるiを探索する。ここで、Tは係数レベル値0を選択する閾値であり、T=0.5、あるいは、T=0.5+μなどとしてもよい。また、外部から制御可能としてもよい。このようなiがなければ、対象ブロックは係数なしとして以降の処理は行わずに終了するようにしても良い。
次に、量子化部13では、スキャンの逆順i=i,…,0に、係数レベルの候補として、0を含めないような係数について、係数レベルliを選択していく(S603、S604)。すなわち、cの絶対値aについて、係数レベルlの絶対値uの候補として、以下の(67)式によりtを求め、さらに、以下の(68)式により歪変化量△Eを求める。
=floor(a) …(67)
△E=△E(a,t)=1/2−(a−t)…(68)
ここで、△E≧0であるiについては、u=tとし、以降の処理では、t+1は候補としないようにしても良い(ただし、△E≧0であっても、t=0の場合は、未選択とし、後の未選択係数レベルの選択時に処理することとしてもよい)。
一方、△E<0であるiについては、uとしてtを選択した場合とt+1を選択した場合の符号量の変化量△Rをもとめ、以下の(69)式のRDコストの変化量の符号の判断により、tもしくは、t+1から係数レベルを選択していく。
△J=△E+μ△R…(69)
すなわち、△J<0の場合にt+1を選択する.選択されたu用いて、係数レベルliを順次更新していく。
ただし、t=0の場合は、未選択とし、後の未選択係数レベルの選択時に処理することとし、ここでは、いったん、以下の(70)式のように初期化する。ここでの、未選択係数レベルl初期値は、例えば、上記fとして、イントラピクチャではf=1/3、インターピクチャではf=1/6とする場合や、その他の、さまざまな簡易な量子化方法を用いるなどとしてもよい。
=floor(a+f)…(70)
一方、t>0の場合は、変数suffixLengthが確定していれば、△Rは、suffixLengthで選択される可変長符号のテーブルにおける符号長の差として、効率的に求めることができる。
なお、ここでの△Rは、係数レベルlに関する符号長のみの差であるが、第2の実施例と同様、「level_prefixに変化がなければ、△R=0である」となるため、この場合には、△E<0の判断のみで選択可能である。
ここで、変数suffixLengthは、係数レベルをCAVLC符号化する際の、可変長符号のテーブルを選択する変数であり、スキャンの逆順に、係数レベルの絶対値の大きさに応じて遷移する。したがって、スキャンの逆順に係数レベルを選択していくことにより、suffixLengthも確定していく。未選択係数レベルについては、上記初期値にしたがってsuffixLengthを更新する。なお、trailingOnesの個数が3に満たない場合等、suffixLengthの確度が低い場合の係数レベルを未選択として、後の未選択係数レベルの選択時に処理することとしてもよい。
上述のステップS603、604の処理が終了すると、量子化部13は、以上の処理(上述のステップS603、604の処理)で、未選択のままである係数について、スキャンの逆順i=i,…,0に、係数レベルlを選択していく(S605、S606)。ここまでの処理で、選択済みの係数成分の処理は、スキップする。
すなわち、スキャンの逆順i=i,…,0に、各iについて、uとしてtを選択した場合とt+1を選択した場合の符号量の変化量△Rをもとめ、以下の(71)式のRDコストの変化量の符号の判断により、tもしくは、t+1から係数レベルを選択していく。すなわち、△J<0の場合にt+1を選択する。選択されたu用いて、係数レベルlを順次更新していく。
△J=△E+μ△R…(71)
符号量の変化量△Rの算出時には必要に応じて、初期値のままの、あるいは、それまでの処理により更新された場合は更新された係数レベルlを参照して算出する。△Rの計算は、第2の実施形態で記載したのと同様に、tを選択した場合と、t+1を選択した場合の間で、符号量に変化のあるシンタックスエレメントのみを考慮すればよく、効率的に△Rの計算処理に関連するシンタックスエレメントを絞り込むことができる。
(D−2)第4の実施形態の効果
第4の実施形態によれば、第2の実施形態の効果に加えて、以下のような効果を奏することができる。
第2の実施形態に必要であった、係数のソート処理が不要となり、さらに、係数レベルの初期値の設定時に、suffixLengthにしたがって係数レベルの符号長差のみで選択可能な係数については、選択を行ってしまうため、ブロック全体の符号量変化を見ながら選択する係数の個数を削減でき、第2の実施形態と比べてもさらに少ない演算量、処理用で、量子化処理を行うことができる。
(E)第5の実施形態
以下、本発明による量子化装置、プログラム及び方法、並びに、動画像符号化装置の第5の実施形態を、図面を参照しながら詳述する。なお、第5の実施形態の量子化装置は、量子化部であるものとして説明する。
(E−1)第5の実施形態の構成及び動作
第5の実施形態では、第1〜第4の実施形態のような、係数ブロック単位での量子化処理ののち、複数の係数ブロックを含む、より大きな単位での量子化結果の最適化処理を行う。
例えば、H.264の4×4変換係数の場合、coded_block_patternにより、4×4ブロックを4つ集めた8×8の単位で、係数の有無(なしの場合は対象となるブロックのすべての係数レベルが0であることを表す)を制御でき、この制御によるレート歪コストの変化量を評価して量子化の最適化処理を行う。
第5の実施形態は、第1の実施形態における量子化部13が、量子化部13Aに置き換わっているだけであるので、量子化部13A以外の構成については説明を省略する。
図9は、第5の実施形態の量子化部13A内部の機能的構成について示したブロック図である。
量子化部13Aは、量子化処理部135、歪変化量総和計算部136、レート変化量計算部137、係数レベル選択部138を有している。
量子化処理部135では、変換係数をブロック単位に受け取り、所定の量子化パラメータQPにしたがって、第1〜4の実施形態のようなブロック単位での、RD最適な係数レベルの選択による量子化処理を行い、得られたブロック単位の係数レベルと、絶対値が1である係数レベルに関しては、△Eを出力する。
以下では、例として、coded_block_patternで表現される、ある8×8ブロックに関して、そこに含まれる4×4ブロック4個の係数レベルを同時に最適化する例について記載するが、この例に限定されず、複数の係数ブロックを同時に係数なしと制御することが可能なそのほかの制御方法の場合も、同様に構成可能である。
以下の処理は、coded_block_patternで制御可能な8×8ブロックに含まれる4×4ブロックの係数レベルが、絶対値1よりも大きな係数レベル値を有しない時、すなわち、係数レベル値が−1,0,1のみからなる時に行う。また、すべての係数レベル値が0である場合も、処理は行わない。
歪変化量総和計算部136は、歪の変化量△Eとして、係数レベル値の絶対値が1である係数成分に関する歪の変化量△Eをすべて加算して求める。
すなわち、係数ブロックjに関する非ゼロ係数の歪の変化量△Eの和であるeを以下の(72)式により求める。このとき係数レベル値が0であるiに関する△Eは加算しない。
=Σi(li≠0)△E …(72)
歪変化量総和計算部136は、対象ブロック全体にわたる歪の変化量の総和△Eを、以下の(73)式により求める。△Eは、対象係数ブロックをすべて係数なしとした場合から、ブロック単位での量子化結果の状態(絶対値1の係数が含まれる)へのスケールされた歪の変化量となる。
△E=Σ …(73)
レート変化量計算部137は、符号量の変化量として、係数ブロックjを、CABACもしくはCAVLC等のエントロピー符号化器で符号化する場合の符号量をrとして求める。そして、レート変化量計算部137は、△Rをこれらの総和と、coded_block_patternにより、これらすべての符号語を符号化しない場合の差として、以下の(74)式により求める。ただし、(74)式の第2項のbits()の差は、coded_block_patternの、対象としている8×8領域全体の係数の有無を制御した場合の符号量の差であり、使用するCABAC,CAVLC等のエントロピー符号化によって決まる値である。また、この符号量の差が非常に小さいものとみなして無視(計算しない)する構成としてもよい。
△R=Σ+(bits(CBP=1)−bits(CBP=0)) …(74)
そして、係数レベル選択部138は、得られた△Eと△Rと、スケールされたラグランジュ乗数μを用いて、複数ブロックを同時に係数なしとする場合と、ブロックごとの量子化処理による係数レベルを使用する場合のRDコストの変化量△Jを、以下の(75)式により求め、△J≧0の場合は、対象ブロックをすべて係数なしとする。△J<0の場合、もしくは、上記で処理対象としなかった、絶対値2以上の係数レベルを含む場合等は、ブロックごとの量子化処理結果をそのまま出力する。
△J=△E+μ△R …(75)
(E−2)第5の実施形態の効果
第5の実施形態によれば、以下のような効果を奏することができる。
複数ブロックを含むより大きな単位での量子化結果の最適化処理を、行うことができ、符号化効率が向上できる。また、このときのRDコストの評価をスケールされた係数レベルの領域で行い、また、変化量のみを評価しているので、歪の変化量の評価を乗算なしで行うことができ、軽微な処理負荷で実現できる。
(F)他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
(F−1)上記の各実施形態では、本発明の動画像符号化装置(量子化装置)をH.264に適用する場合の例について説明したが、本発明は上記実施形態に限定されず、変換係数の量子化と、エントロピー符号化を含むようなさまざまな動画像符号化処理における量子化処理に適用可能である。
10…動画像符号化装置、11…予測差信号生成器、12…変換部、13…量子化部、14…エントロピー符号化部、15…逆量子化・逆変換部、16…復号画像生成部、17…フレームバッファ、18…予測部、131…スケール計算部、132…歪変化量計算部、133…レート変化量計算部、134…係数レベル選択部。

Claims (9)

  1. 動画像符号化処理において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化装置において、
    上記変換係数に対して量子化のためのスケーリングを施すスケーリング手段と、
    スケーリングされた上記変換係数の絶対値について小数点以下の切り捨てにより整数化した第1の係数レベル侯補と、第1の係数レベル候補よりも絶対値が1大きい第2の係数レベル候補を決定する係数レベル候補決定手段と、
    上記第1の係数レベル侯補を選択した場合と、上記第2の係数レベル候補を選択した場合の、量子化誤差の差に相当するスケール化された歪変化量、及び、エントロピー符号化する場合に必要となる符号量の変化量を求め、求めた歪変化量と符号量の変化量とを利用して、上記第1の係数レベル侯補を適用した場合と、上記第2の係数レベル侯補を適用した場合とのレート歪コストの変化量を算出するレート歪コスト変化量算出手段と、
    上記レート歪コスト変化量算出手段の算出結果に応じて、上記第1の係数レベル候補又は上記第2の係数レベル候補のいずれかを、上記変換係数の量子化に適用する係数レベルとして選択する係数レベル選択手段と
    を有することを特徴とする量子化装置。
  2. 当該量子化装置は、上記動画像符号化処理において、量子化された上記変換係数をエントロピー符号化するものであって、上記変換係数における係数成分のスキャン順で最終非ゼロ係数であることを表すシンタックスを有する符号化手段へ、量子化した上記変換係数を供給し、
    上記スケーリング手段は、上記変換係数を量子化パラメータにしたがってスケーリングし、
    上記レート歪コスト変化量算出手段は、上記変換係数の各係数成分で、最終非ゼロ係数成分位置を探索する範囲を決定し、この範囲について、スキャンの順方向に、ある最終非ゼロ係数成分位置を選択した場合と、別の最終非ゼロ係数成分位置を選択した場合のレート歪コストの変化量を求め、このレート歪コストの変化量の符号に応じて、最終非ゼロ係数成分位置を決定し、決定した最終非ゼロ係数成分位置から、スキャンの逆方向に各係数成分について、上記第1の係数レベル侯補を適用した場合と、上記第2の係数レベル侯補を適用した場合とのレート歪コストの変化量を求め、
    上記係数レベル選択手段は、上記レート歪コスト変化量算出手段が算出したレート歪コストの変化量の符号に応じて、上記変換係数の各係数成分に適用する係数レベルを選択する
    ことを特徴とする請求項1に記載の量子化装置。
  3. 当該量子化装置は、上記動画像符号化処理において、量子化された上記変換係数をエントロピー符号化するものであって、ゼロ係数のランレングス符号化を含む符号化手段へ、量子化した上記変換係数を供給し、
    上記スケーリング手段は、上記変換係数を量子化パラメータにしたがってスケーリングし、
    上記レート歪コスト変化量算出手段は、上記スケーリング手段によりスケール化された上記変換係数の各係数成分を絶対値の小さい順にソートし、上記第1の係数レベル候補及び上記第2の係数レベル候補を、所定の量子化処理で量子化した値に初期化し、上記変換係数の各係数成分について、ソートされた順番で、上記第1の係数レベル侯補を適用した場合と、上記第2の係数レベル侯補を適用した場合とのレート歪コストの変化量を求め、
    上記係数レベル選択手段は、上記レート歪コスト変化量算出手段が算出したレート歪コストの変化量の符号に応じて、上記変換係数の各係数成分に適用する係数レベルを選択する
    ことを特徴とする請求項1に記載の量子化装置。
  4. 当該量子化装置は、量子化された上記変換係数をエントロピー符号化するものであって、上記変換係数の各係数成分のスキャン順で最終非ゼロ係数であることを表すシンタックスを有する符号化手段へ、量子化した上記変換係数を供給し、
    上記スケーリング手段は、上記変換係数を量子化パラメータにしたがってスケーリングし、
    上記レート歪コスト変化量算出手段は、上記変換係数の各係数成分のスキャンの逆順に最終非ゼロ係数位置の探索開始位置を決定し、上記探索開始位置からスキャンの逆順に0を係数レベル候補としない係数成分まで、ある最終非ゼロ係数成分位置を選択した場合と、別の最終非ゼロ係数成分位置を選択した場合のレート歪コストの変化量を求め、このレート歪コストの変化量の符号判断によって、適用する最終非ゼロ係数成分位置を決定し、探索範囲の係数レベルを決定し、探索の停止位置から、スキャンの逆方向に各係数成分について、上記第1の係数レベル侯補を適用した場合と、上記第2の係数レベル侯補を適用した場合とのレート歪コストの変化量を求め、
    上記係数レベル選択手段は、上記レート歪コスト変化量算出手段が算出したレート歪コストの変化量の符号に応じて、上記変換係数の各係数成分に適用する係数レベルを選択する
    ことを特徴とする請求項1に記載の量子化装置。
  5. 当該量子化装置は、当該量子化装置が量子化した変換係数をエントロピー符号化するものであって、ゼロ係数のランレングス符号化と、量子化された係数レベルの符号化順に現れる係数レベルの絶対値の大きさに依存して、非ゼロ係数レベルの符号化に使用する符号が変化する符号化を含む符号化手段へ、量子化した上記変換係数を供給し、
    上記スケーリング手段は、上記変換係数を量子化パラメータにしたがってスケーリングし、
    上記レート歪コスト変化量算出手段は、上記変換係数の各係数成分について係数レベルの符号化順に、当該係数成分に対応する上記第1の係数レベル候補又は上記第2の係数レベル候補のうちいずれかの係数レベルが0である場合には、当該係数成分に適用する係数レベルを、所定の量子化処理で量子化した値に初期化し、当該係数成分の符号化に使用する符号が確定する場合には、当該係数成分について、上記第1の係数レベル侯補を適用した場合と、上記第2の係数レベル侯補を適用した場合とのレート歪コストの変化量を求めて係数レベルを選択し、さらに、以上の処理で、まだレート歪コストの変化量が求められていない係数成分についても、レート歪コストの変化量を求め、
    上記係数レベル選択手段は、上記レート歪コスト変化量算出手段が算出したレート歪コストの変化量の符号に応じて、上記変換係数の各係数成分に適用する係数レベルを選択する
    ことを特徴とする請求項1に記載の量子化装置。
  6. 動画像符号化処理において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化装置において、
    当該量子化装置は、量子化した結果をエントロピー符号化するものであって、複数の変換係数ブロックにわたって、係数レベルが全てゼロであることを表現できる符号化を含む符号化手段へ、量子化した上記変換係数を供給し、
    量子化対象となる複数の変換係数ブロックを構成する各変換係数ブロックについて、請求項1〜5のいずれかに記載の量子化装置により量子化する単位量子化手段と、
    上記ブロック単位量子化手段により、量子化された変換係数ブロックのうち、係数レベルが非ゼロのものについて、係数レベル0を適用する場合からのスケールされた歪変化量の総和を求める歪変化量総和計算手段と、
    上記ブロック単位量子化手段により量子化された変換係数ブロックを、エントロピー符号化する場合に必要となる符号量と、上記各変換係数ブロックの係数レベルが全てゼロであることを表現する場合の符号量との変化量を求める符号量変化量算出手段と、
    上記歪変化量総和計算手段により求められた歪変化量の総和と、上記符号量変化量算出手段により求められた符号量の変化量とを用いて、上記ブロック単位量子化手段により量子化された変換係数ブロックと、上記各変換係数ブロックの係数レベルが全てゼロである場合とのレート歪コストの変化量を求め、このレート歪コストの変化量に応じて、上記各変換係数ブロックの量子化結果について、係数レベルを全てゼロとするか、上記ブロック単位量子化手段の量子化結果とするかを決定する係数レベル選択手段と、
    を有することを特徴とする量子化装置。
  7. 動画像符号化処理において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化プログラムにおいて、
    コンピュータを、
    上記変換係数に対して量子化のためのスケーリングを施すスケーリング手段と、
    スケーリングされた上記変換係数の絶対値について小数点以下の切り捨てにより整数化した第1の係数レベル侯補と、第1の係数レベル候補よりも絶対値が1大きい第2の係数レベル候補を決定する係数レベル候補決定手段と、
    上記第1の係数レベル侯補を選択した場合と、上記第2の係数レベル候補を選択した場合の、量子化誤差の差に相当するスケール化された歪変化量、及び、エントロピー符号化する場合に必要となる符号量の変化量を求め、求めた歪変化量と符号量の変化量とを利用して、上記第1の係数レベル侯補を適用した場合と、上記第2の係数レベル侯補を適用した場合とのレート歪コストの変化量を算出するレート歪コスト変化量算出手段と、
    上記レート歪コスト変化量算出手段の算出結果に応じて、上記第1の係数レベル候補又は上記第2の係数レベル候補のいずれかを、上記変換係数の量子化に適用する係数レベルとして選択する係数レベル選択手段と
    して機能させることを特徴とする量子化プログラム。
  8. 動画像符号化処理において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化方法において、
    スケーリング手段、係数レベル候補決定手段、変化量算出手段、係数レベル選択手段を有し、
    上記スケーリング手段は、上記変換係数に対して量子化のためのスケーリングを施し、
    上記係数レベル候補決定手段は、スケーリングされた上記変換係数の絶対値について小数点以下の切り捨てにより整数化した第1の係数レベル侯補と、第1の係数レベル候補よりも絶対値が1大きい第2の係数レベル候補を決定し、
    上記レート歪コスト変化量算出手段は、上記第1の係数レベル侯補を選択した場合と、上記第2の係数レベル候補を選択した場合の、量子化誤差の差に相当するスケール化された歪変化量、及び、エントロピー符号化する場合に必要となる符号量の変化量を求め、求めた歪変化量と符号量の変化量とを利用して、上記第1の係数レベル侯補を適用した場合と、上記第2の係数レベル侯補を適用した場合とのレート歪コストの変化量を算出し、
    上記係数レベル選択手段は、上記レート歪コスト変化量算出手段の算出結果に応じて、上記第1の係数レベル候補又は上記第2の係数レベル候補のいずれかを、上記変換係数の量子化に適用する係数レベルとして選択する
    ことを特徴とする量子化方法。
  9. 動画像符号化装置において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化装置を備え、上記量子化装置として、請求項1〜6のいずれかに記載された量子化装置を適用したことを特徴とする動画像符号化装置。
JP2010037845A 2010-02-23 2010-02-23 量子化装置、プログラム及び方法、並びに、動画像符号化装置 Active JP5423469B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010037845A JP5423469B2 (ja) 2010-02-23 2010-02-23 量子化装置、プログラム及び方法、並びに、動画像符号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010037845A JP5423469B2 (ja) 2010-02-23 2010-02-23 量子化装置、プログラム及び方法、並びに、動画像符号化装置

Publications (2)

Publication Number Publication Date
JP2011176483A true JP2011176483A (ja) 2011-09-08
JP5423469B2 JP5423469B2 (ja) 2014-02-19

Family

ID=44688961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010037845A Active JP5423469B2 (ja) 2010-02-23 2010-02-23 量子化装置、プログラム及び方法、並びに、動画像符号化装置

Country Status (1)

Country Link
JP (1) JP5423469B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014103182A1 (ja) * 2012-12-27 2014-07-03 日本電気株式会社 映像符号化装置、映像符号化方法および映像符号化プログラム
JP2015516761A (ja) * 2012-04-13 2015-06-11 クゥアルコム・インコーポレイテッドQualcomm Incorporated レートひずみ最適量子化におけるレベル決定
JP2015530832A (ja) * 2012-09-26 2015-10-15 マグナム セミコンダクター, インコーポレイテッド 構文要素のレート歪みを最適化するための装置および方法
US20160212427A1 (en) * 2015-01-21 2016-07-21 Fujitsu Limited Video encoding apparatus and video encoding method
CN108322749A (zh) * 2018-03-15 2018-07-24 北京数码视讯科技股份有限公司 Rdoq的系数优化方法、rdoq的加速方法及装置
US10277907B2 (en) 2012-10-25 2019-04-30 Integrated Device Technology, Inc. Rate-distortion optimizers and optimization techniques including joint optimization of multiple color components

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009528738A (ja) * 2006-03-02 2009-08-06 トムソン ライセンシング 画像信号エンコードにおいて画像中のピクセル・ブロックの諸グループについてビット割り当てを決定するための方法および装置
WO2009105726A1 (en) * 2008-02-21 2009-08-27 Qualcomm Incorporated Two pass quantization for cabac coders
WO2009126919A1 (en) * 2008-04-11 2009-10-15 Qualcomm Incorporated Rate-distortion quantization for context-adaptive variable length coding (cavlc)

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009528738A (ja) * 2006-03-02 2009-08-06 トムソン ライセンシング 画像信号エンコードにおいて画像中のピクセル・ブロックの諸グループについてビット割り当てを決定するための方法および装置
WO2009105726A1 (en) * 2008-02-21 2009-08-27 Qualcomm Incorporated Two pass quantization for cabac coders
WO2009126919A1 (en) * 2008-04-11 2009-10-15 Qualcomm Incorporated Rate-distortion quantization for context-adaptive variable length coding (cavlc)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015516761A (ja) * 2012-04-13 2015-06-11 クゥアルコム・インコーポレイテッドQualcomm Incorporated レートひずみ最適量子化におけるレベル決定
US10085024B2 (en) 2012-04-13 2018-09-25 Qualcomm Incorporated Lookup table for rate distortion optimized quantization
JP2015530832A (ja) * 2012-09-26 2015-10-15 マグナム セミコンダクター, インコーポレイテッド 構文要素のレート歪みを最適化するための装置および方法
US10230956B2 (en) 2012-09-26 2019-03-12 Integrated Device Technology, Inc. Apparatuses and methods for optimizing rate-distortion of syntax elements
US10277907B2 (en) 2012-10-25 2019-04-30 Integrated Device Technology, Inc. Rate-distortion optimizers and optimization techniques including joint optimization of multiple color components
WO2014103182A1 (ja) * 2012-12-27 2014-07-03 日本電気株式会社 映像符号化装置、映像符号化方法および映像符号化プログラム
JP5574072B1 (ja) * 2012-12-27 2014-08-20 日本電気株式会社 映像符号化装置、映像符号化方法および映像符号化プログラム
US10003804B2 (en) 2012-12-27 2018-06-19 Nec Corporation Video coding device using quantizing an orthogonal transform coefficient
US20160212427A1 (en) * 2015-01-21 2016-07-21 Fujitsu Limited Video encoding apparatus and video encoding method
JP2016134860A (ja) * 2015-01-21 2016-07-25 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US10171809B2 (en) 2015-01-21 2019-01-01 Fujitsu Limited Video encoding apparatus and video encoding method
CN108322749A (zh) * 2018-03-15 2018-07-24 北京数码视讯科技股份有限公司 Rdoq的系数优化方法、rdoq的加速方法及装置

Also Published As

Publication number Publication date
JP5423469B2 (ja) 2014-02-19

Similar Documents

Publication Publication Date Title
TWI813126B (zh) 相依量化技術
JP5409909B2 (ja) ビットストリームを復号する方法
JP5492206B2 (ja) 画像符号化方法および画像復号方法、ならびに、画像符号化装置および画像復号装置
TWI705700B (zh) 用以解碼與編碼顯著性映射圖之裝置及方法、以及相關之解碼器、資料串流及電腦可讀數位儲存媒體
JP3679083B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム
KR102314801B1 (ko) 비디오 압축에서의 엔트로피 코딩을 위한 선택적 혼합
JP4949462B2 (ja) 符号量推定方法、装置、そのプログラムおよび記録媒体
US9661326B2 (en) Method and apparatus for entropy encoding/decoding
KR102613155B1 (ko) 종속 스칼라 양자화를 사용하거나 이와 조합하는 데에적합한 변환 계수의 효율적인 코딩
CN108093256B (zh) 用于编码和解码图像的方法、编码和解码设备
CN107465930B (zh) 对视频进行编码的方法和设备以及计算机可读存储介质
KR102020101B1 (ko) 비디오 코덱에서 신택스 요소 인코딩을 위한 방법 및 장치
WO2010119757A1 (ja) 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
US20080219578A1 (en) Method and apparatus for context adaptive binary arithmetic coding and decoding
WO2011007719A1 (ja) 画像処理装置および方法
JP5423469B2 (ja) 量子化装置、プログラム及び方法、並びに、動画像符号化装置
US20150063443A1 (en) Quantization method, coding apparatus, and computer-readable recording medium storing quantization program
JP2008035134A (ja) 画像符号化装置
KR20090097013A (ko) 영상 부호화장치 및 영상 복호화장치
KR20120009693A (ko) 다중 예측 필터를 이용하는 경쟁기반 인트라 예측 부호화/복호화 장치 및 방법
JP2016134860A (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US20080144721A1 (en) Video coding apparatus
JP4855417B2 (ja) 動画像符号化装置、動画像復号装置
CN105453566B (zh) 数据编码及数据解码
JP6708211B2 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130430

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130920

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131111

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5423469

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150