(57)【特許請求の範囲】
【請求項１】
動画像符号化処理において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化装置において、
上記変換係数に対して量子化のためのスケーリングを施すスケーリング手段と、
スケーリングされた上記変換係数の絶対値について小数点以下の切り捨てにより整数化した第１の係数レベル侯補と、第１の係数レベル候補よりも絶対値が１大きい第２の係数レベル候補を決定する係数レベル候補決定手段と、
上記第１の係数レベル侯補を選択した場合と、上記第２の係数レベル候補を選択した場合の、量子化誤差の差に相当するスケール化された歪変化量、及び、エントロピー符号化する場合に必要となる符号量の変化量を求め、求めた歪変化量と符号量の変化量とを利用して、上記第１の係数レベル侯補を適用した場合と、上記第２の係数レベル侯補を適用した場合とのレート歪コストの変化量を算出するレート歪コスト変化量算出手段と、
上記レート歪コスト変化量算出手段の算出結果に応じて、上記第１の係数レベル候補又は上記第２の係数レベル候補のいずれかを、上記変換係数の量子化に適用する係数レベルとして選択する係数レベル選択手段と
を有することを特徴とする量子化装置。
【請求項２】
当該量子化装置は、上記動画像符号化処理において、量子化された上記変換係数をエントロピー符号化するものであって、上記変換係数における係数成分のスキャン順で最終非ゼロ係数であることを表すシンタックスを有する符号化手段へ、量子化した上記変換係数を供給し、
上記スケーリング手段は、上記変換係数を量子化パラメータにしたがってスケーリングし、
上記レート歪コスト変化量算出手段は、上記変換係数の各係数成分で、最終非ゼロ係数成分位置を探索する範囲を決定し、この範囲について、スキャンの順方向に、ある最終非ゼロ係数成分位置を選択した場合と、別の最終非ゼロ係数成分位置を選択した場合のレート歪コストの変化量を求め、このレート歪コストの変化量の符号に応じて、最終非ゼロ係数成分位置を決定し、決定した最終非ゼロ係数成分位置から、スキャンの逆方向に各係数成分について、上記第１の係数レベル侯補を適用した場合と、上記第２の係数レベル侯補を適用した場合とのレート歪コストの変化量を求め、
上記係数レベル選択手段は、上記レート歪コスト変化量算出手段が算出したレート歪コストの変化量の符号に応じて、上記変換係数の各係数成分に適用する係数レベルを選択する
ことを特徴とする請求項１に記載の量子化装置。
【請求項３】
当該量子化装置は、上記動画像符号化処理において、量子化された上記変換係数をエントロピー符号化するものであって、ゼロ係数のランレングス符号化を含む符号化手段へ、量子化した上記変換係数を供給し、
上記スケーリング手段は、上記変換係数を量子化パラメータにしたがってスケーリングし、
上記レート歪コスト変化量算出手段は、上記スケーリング手段によりスケール化された上記変換係数の各係数成分を絶対値の小さい順にソートし、上記第１の係数レベル候補及び上記第２の係数レベル候補を、所定の量子化処理で量子化した値に初期化し、上記変換係数の各係数成分について、ソートされた順番で、上記第１の係数レベル侯補を適用した場合と、上記第２の係数レベル侯補を適用した場合とのレート歪コストの変化量を求め、  上記係数レベル選択手段は、上記レート歪コスト変化量算出手段が算出したレート歪コストの変化量の符号に応じて、上記変換係数の各係数成分に適用する係数レベルを選択する
ことを特徴とする請求項１に記載の量子化装置。
【請求項４】
当該量子化装置は、量子化された上記変換係数をエントロピー符号化するものであって、上記変換係数の各係数成分のスキャン順で最終非ゼロ係数であることを表すシンタックスを有する符号化手段へ、量子化した上記変換係数を供給し、
上記スケーリング手段は、上記変換係数を量子化パラメータにしたがってスケーリングし、
上記レート歪コスト変化量算出手段は、上記変換係数の各係数成分のスキャンの逆順に最終非ゼロ係数位置の探索開始位置を決定し、上記探索開始位置からスキャンの逆順に０を係数レベル候補としない係数成分まで、ある最終非ゼロ係数成分位置を選択した場合と、別の最終非ゼロ係数成分位置を選択した場合のレート歪コストの変化量を求め、このレート歪コストの変化量の符号判断によって、適用する最終非ゼロ係数成分位置を決定し、探索範囲の係数レベルを決定し、探索の停止位置から、スキャンの逆方向に各係数成分について、上記第１の係数レベル侯補を適用した場合と、上記第２の係数レベル侯補を適用した場合とのレート歪コストの変化量を求め、
上記係数レベル選択手段は、上記レート歪コスト変化量算出手段が算出したレート歪コストの変化量の符号に応じて、上記変換係数の各係数成分に適用する係数レベルを選択する
ことを特徴とする請求項１に記載の量子化装置。
【請求項５】
当該量子化装置は、当該量子化装置が量子化した変換係数をエントロピー符号化するものであって、ゼロ係数のランレングス符号化と、量子化された係数レベルの符号化順に現れる係数レベルの絶対値の大きさに依存して、非ゼロ係数レベルの符号化に使用する符号が変化する符号化を含む符号化手段へ、量子化した上記変換係数を供給し、
上記スケーリング手段は、上記変換係数を量子化パラメータにしたがってスケーリングし、
上記レート歪コスト変化量算出手段は、上記変換係数の各係数成分について係数レベルの符号化順に、当該係数成分に対応する上記第１の係数レベル候補又は上記第２の係数レベル候補のうちいずれかの係数レベルが０である場合には、当該係数成分に適用する係数レベルを、所定の量子化処理で量子化した値に初期化し、当該係数成分の符号化に使用する符号が確定する場合には、当該係数成分について、上記第１の係数レベル侯補を適用した場合と、上記第２の係数レベル侯補を適用した場合とのレート歪コストの変化量を求めて係数レベルを選択し、さらに、以上の処理で、まだレート歪コストの変化量が求められていない係数成分についても、レート歪コストの変化量を求め、
上記係数レベル選択手段は、上記レート歪コスト変化量算出手段が算出したレート歪コストの変化量の符号に応じて、上記変換係数の各係数成分に適用する係数レベルを選択する
ことを特徴とする請求項１に記載の量子化装置。
【請求項６】
動画像符号化処理において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化装置において、
当該量子化装置は、量子化した結果をエントロピー符号化するものであって、複数の変換係数ブロックにわたって、係数レベルが全てゼロであることを表現できる符号化を含む符号化手段へ、量子化した上記変換係数を供給し、
量子化対象となる複数の変換係数ブロックを構成する各変換係数ブロックについて、請求項１〜５のいずれかに記載の量子化装置により量子化する単位量子化手段と、
上記単位量子化手段により、量子化された変換係数ブロックのうち、係数レベルが非ゼロのものについて、係数レベル０を適用する場合からのスケールされた歪変化量の総和を求める歪変化量総和計算手段と、
上記単位量子化手段により量子化された変換係数ブロックを、エントロピー符号化する場合に必要となる符号量と、上記各変換係数ブロックの係数レベルが全てゼロであることを表現する場合の符号量との変化量を求める符号量変化量算出手段と、
上記歪変化量総和計算手段により求められた歪変化量の総和と、上記符号量変化量算出手段により求められた符号量の変化量とを用いて、上記単位量子化手段により量子化された変換係数ブロックと、上記各変換係数ブロックの係数レベルが全てゼロである場合とのレート歪コストの変化量を求め、このレート歪コストの変化量に応じて、上記各変換係数ブロックの量子化結果について、係数レベルを全てゼロとするか、上記単位量子化手段の量子化結果とするかを決定する係数レベル選択手段と、
を有することを特徴とする量子化装置。
【請求項７】
動画像符号化処理において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化プログラムにおいて、
コンピュータを、
上記変換係数に対して量子化のためのスケーリングを施すスケーリング手段と、
スケーリングされた上記変換係数の絶対値について小数点以下の切り捨てにより整数化した第１の係数レベル侯補と、第１の係数レベル候補よりも絶対値が１大きい第２の係数レベル候補を決定する係数レベル候補決定手段と、
上記第１の係数レベル侯補を選択した場合と、上記第２の係数レベル候補を選択した場合の、量子化誤差の差に相当するスケール化された歪変化量、及び、エントロピー符号化する場合に必要となる符号量の変化量を求め、求めた歪変化量と符号量の変化量とを利用して、上記第１の係数レベル侯補を適用した場合と、上記第２の係数レベル侯補を適用した場合とのレート歪コストの変化量を算出するレート歪コスト変化量算出手段と、
上記レート歪コスト変化量算出手段の算出結果に応じて、上記第１の係数レベル候補又は上記第２の係数レベル候補のいずれかを、上記変換係数の量子化に適用する係数レベルとして選択する係数レベル選択手段と
して機能させることを特徴とする量子化プログラム。
【請求項８】
動画像符号化処理において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化方法において、
上記変換係数に対して量子化のためのスケーリングを施すスケーリング工程と、
スケーリングされた上記変換係数の絶対値について小数点以下の切り捨てにより整数化した第１の係数レベル侯補と、第１の係数レベル候補よりも絶対値が１大きい第２の係数レベル候補を決定する上記係数レベル候補決定工程と、
上記第１の係数レベル侯補を選択した場合と、上記第２の係数レベル候補を選択した場合の、量子化誤差の差に相当するスケール化された歪変化量、及び、エントロピー符号化する場合に必要となる符号量の変化量を求め、求めた歪変化量と符号量の変化量とを利用して、上記第１の係数レベル侯補を適用した場合と、上記第２の係数レベル侯補を適用した場合とのレート歪コストの変化量を算出するレート歪コスト変化量算出工程と、
上記レート歪コスト変化量算出工程の算出結果に応じて、上記第１の係数レベル候補又は上記第２の係数レベル候補のいずれかを、上記変換係数の量子化に適用する係数レベルとして選択する係数レベル選択工程と
を有することを特徴とする量子化方法。
【請求項９】
動画像符号化装置において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化装置を備え、上記量子化装置として、請求項１〜６のいずれかに記載された量子化装置を適用したことを特徴とする動画像符号化装置
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、量子化装置、プログラム及び方法、並びに、動画像符号化装置に関し、例えば、Ｈ．２６４等の動画像符号化技術による動画像圧縮符号の処理に適用できる。
【背景技術】
【０００２】
Ｈ．２６４（ITU-T Rec.H264｜ISO/IEC 14496-10）等に代表される動画像符号化技術による動画像情報の圧縮符号化処理は、入力された画像を分割した処理単位毎に、動き補償予測等を行った予測画像と、入力された画像との差分である予測残差信号に、離散コサイン変換等の直交変換を施した変換係数を量子化して、これを可変長符号等のエントロピー符号化することによって高効率の動画像圧縮を実現している。
【０００３】
この時、量子化処理により量子化雑音が発生し、復号側で再生される復号画像に歪が生じる。一方で、量子化することによって、符号化すべき情報量が削減され高効率の圧縮が実現される。
【０００４】
このような歪とレート（符号量）のトレードオフを評価し、符号化モード選択等に利用する技術としてレート歪最適化技術がある。
【０００５】
すなわち、複数の符号化モード等の選択肢について、その選択肢を選択した場合に得られる復号画像の歪Ｄと、その選択肢で符号化したときに発生する符号量Ｒと、ラグランジュ乗数λで表されるＲＤコストＪ（Ｊ＝Ｄ＋λＲ）を最小化するような選択をすることによって、レートと歪のトレードオフが最適な符号化をする方法である。
【０００６】
通常、歪Ｄは復号画素値と入力画素値との２乗誤差の和で評価される。
【０００７】
非特許文献１には、このレート歪最適化技術を変換係数の量子化に利用する方法が開示されている。
【０００８】
非特許文献１の方法（従来のＲＤＯＱ（Ｒａｔｅ  Ｄｉｓｔｏｒｔｉｏｎ  Ｏｐｔｉｍｉｚｅｄ  Ｑｕａｎｔｉｚａｔｉｏｎ））では、Ｈ．２６４符号化処理の量子化処理において、歪Ｄを画素値の２乗誤差の和で評価する場合、直交変換の性質により、画素値領域での２乗誤差の和を、変換係数領域での２乗誤差の和で近似できること利用して、与えられたブロックのＲＤコスト（以下の（１）式のように示すことができる）を最小化する方法として定式化している。
【０００９】
Ｊ（λ）＝ΣｉΣｊＪ（λ，ｃｉｊ，ｌｉｊ）  …（１）
（１）式において、Ｊ（λ，ｃｉｊ，ｌｉｊ）は、変換係数ｃｉｊを係数レベルｌｉｊに量子化して符号化する場合のＲＤコストであり、以下の（２）式にように示すことができる。
【００１０】
Ｊ（λ，ｃｉｊ，ｌｉｊ）＝ｅｒｒ（ｃｉｊ，ｌｉｊ）
＋λｂｉｔｓ（ｌｉｊ）  …（２）
（２）式において、量子化誤差ｅｒｒ（ｃｉｊ，ｌｉｊ）は、以下の（３）式のように示すことができる。
【００１１】
ｅｒｒ（ｃｉｊ，ｌｉｊ）＝Ｎ（ＱＰ％６，ｉ，ｊ）（ｒｉｊ−ｃｉｊ）２  …（３）
（３）式において、ｒｉｊは、係数レベルｌｉｊを逆量子化することによって得られる値であり、以下の（４）式のように示すことができる。
【００１２】
ｒｉｊ＝ｌｉｊＲ（ＱＰ％６，ｉ，ｊ）  …（４）
（３）式及び（４）式において、Ｎ（ＱＰ％６，ｉ，ｊ），Ｒ（ＱＰ％６，ｉ，ｊ）はそれぞれＨ．２６４で用いられる整数変換の、正規化マトリックス、逆量子化スケールマトリックスであり、ＱＰは量子化パラメータである。なお、ＱＰ／６，ＱＰ％６は、ＱＰを６で割った商と余りを表す。
【００１３】
また、（２）式において、ｂｉｔｓ（ｌｉｊ）はｌｉｊをＣＡＶＬＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｖａｒｉａｂｌｅ  Ｌｅｎｇｔｈ  Ｃｏｄｉｎｇ）もしくはＣＡＢＡＣ（Ｃｏｎｔｅｘｔ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｂｉｎａｒｙ  Ａｒｉｔｈｍｅｔｉｃ  Ｃｏｄｉｎｇ）でエントロピー符号化するときに必要となる符号量である。
【００１４】
さらに、非特許文献１では、使用されるエントロピー符号がＣＡＢＡＣの場合とＣＡＶＬＣの場合について、与えられたｃｉｊからｌｉｊの複数の候補から上記ＲＤコストを最小化する候補を選択していくアルゴリズムが開示されている。
【００１５】
そして、｜ｌｉｊ｜の候補を、以下の（５）〜（８）式のようにおいて、ＣＡＢＡＣのアルゴリズムでは、主に０，ｌｉｊｆｌｏｏｒ，ｌｉｊｃｅｉｌの３通りからの選択を、主に高周波側から順に、ＣＡＶＬＣのアルゴリズムでは、主に０，１，ｌｉｊｒｏｕｎｄの３通りから、主に係数の絶対値が小さい順に、上記ＲＤコストＪ（λ）を各係数成分の各係数レベル候補ごとに評価して、その最小値を与える係数レベルを選択している。
【００１６】
ｌｉｊｆｌｏａｔ＝｜ｃｉｊ｜Ｑ（ＱＰ％６，ｉ，ｊ）／２１５＋ＱＰ／６  …（５）
ｌｉｊｆｌｏｏｒ＝ｆｌｏｏｒ（ｌｉｊｆｌｏａｔ）  …（６）
ｌｉｊｃｅｉｌ＝ｌｉｊｆｌｏｏｒ＋１  …（７）
ｌｉｊｒｏｕｎｄ＝
ｆｌｏｏｒ｛（｜ｃｉｊ｜Ｑ（ＱＰ％６，ｉ，ｊ）＋０．５）／２１５＋ＱＰ／６｝  …（８）
【先行技術文献】
【非特許文献】
【００１７】
【非特許文献１】Ｍａｒｔａ  Ｋａｒｃｚｅｗｉｃｚ、Ｙａｎ  Ｙｅ、Ｐｅｉｓｏｎｇ  Ｃｈｅｎ著、「Ｒａｔｅ Ｄｉｓｔｏｒｔｉｏｎ Ｏｐｔｉｍｉｚｅｄ Ｑｕａｎｔｉｚａｔｉｏｎ」、[Online]、INTERNET、[２０１０年２月１０日検索]，＜ＵＲＬ：http://ftp3.itu.int/av-arch/jvt-site/2008_04_Geneva/JVT-AA026.zip＞
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、非特許文献１（従来のＲＤＯＱ）では、量子化の最適化処理をするための演算量が非常に多く、十分な処理性能で最適な量子化結果を求めることができないという課題があった。
【００１９】
すなわち、例えば、量子化誤差ｅｒｒ（ｃｉｊ，ｌｉｊ）を求めるために乗算２回と、λとの乗算１回と、少なくとも３回の乗算が、ある係数レベル候補のＲＤコストを評価するために必要であり、３通りの候補を評価する場合には、係数１個あたり、９回程度の乗算が必要となる。
【００２０】
また、例えば、ＣＡＶＬＣの場合にｌｉｊｒｏｕｎｄは評価しているが、ｌｉｊｒｏｕｎｄと異なる、ｌｉｊｆｌｏｏｒ、もしくは、ｌｉｊｃｅｉｌを評価していないため、比較的高い可能性をもつＲＤコストが小さくなる係数レベルを選択できていない場合があるという課題があり、例えば単純に選択候補を増やしたとしても、処理量の増大を招いてしまうおそれがある。
【００２１】
そのため、動画像符号化に係る量子化処理において、処理量を低減させることができる量子化装置、プログラム及び方法、並びに、動画像符号化装置が望まれている。
【課題を解決するための手段】
【００２２】
第１の本発明は、動画像符号化処理において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化装置において、（１）上記変換係数に対して量子化のためのスケーリングを施すスケーリング手段と、（２）スケーリングされた上記変換係数の絶対値について小数点以下の切り捨てにより整数化した第１の係数レベル侯補と、第１の係数レベル候補よりも絶対値が１大きい第２の係数レベル候補を決定する係数レベル候補決定手段と、（３）上記第１の係数レベル侯補を選択した場合と、上記第２の係数レベル候補を選択した場合の、量子化誤差の差に相当するスケール化された歪変化量、及び、エントロピー符号化する場合に必要となる符号量の変化量を求め、求めた歪変化量と符号量の変化量とを利用して、上記第１の係数レベル侯補を適用した場合と、上記第２の係数レベル侯補を適用した場合とのレート歪コストの変化量を算出するレート歪コスト変化量算出手段と、（４）上記レート歪コスト変化量算出手段の算出結果に応じて、上記第１の係数レベル候補又は上記第２の係数レベル候補のいずれかを、上記変換係数の量子化に適用する係数レベルとして選択する係数レベル選択手段とを有することを特徴とする。
【００２３】
第２の本発明は、動画像符号化処理において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化プログラムにおいて、コンピュータを、（１）上記変換係数に対して量子化のためのスケーリングを施すスケーリング手段と、（２）スケーリングされた上記変換係数の絶対値について小数点以下の切り捨てにより整数化した第１の係数レベル侯補と、第１の係数レベル候補よりも絶対値が１大きい第２の係数レベル候補を決定する係数レベル候補決定手段と、（３）上記第１の係数レベル侯補を選択した場合と、上記第２の係数レベル候補を選択した場合の、量子化誤差の差に相当するスケール化された歪変化量、及び、エントロピー符号化する場合に必要となる符号量の変化量を求め、求めた歪変化量と符号量の変化量とを利用して、上記第１の係数レベル侯補を適用した場合と、上記第２の係数レベル侯補を適用した場合とのレート歪コストの変化量を算出するレート歪コスト変化量算出手段と、（４）上記レート歪コスト変化量算出手段の算出結果に応じて、上記第１の係数レベル候補又は上記第２の係数レベル候補のいずれかを、上記変換係数の量子化に適用する係数レベルとして選択する係数レベル選択手段として機能させることを特徴とする。
【００２４】
第３の本発明は、動画像符号化処理において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化方法において、（１）上記変換係数に対して量子化のためのスケーリングを施すスケーリング工程と、（２）スケーリングされた上記変換係数の絶対値について小数点以下の切り捨てにより整数化した第１の係数レベル侯補と、第１の係数レベル候補よりも絶対値が１大きい第２の係数レベル候補を決定する上記係数レベル候補決定工程と、（３）上記第１の係数レベル侯補を選択した場合と、上記第２の係数レベル候補を選択した場合の、量子化誤差の差に相当するスケール化された歪変化量、及び、エントロピー符号化する場合に必要となる符号量の変化量を求め、求めた歪変化量と符号量の変化量とを利用して、上記第１の係数レベル侯補を適用した場合と、上記第２の係数レベル侯補を適用した場合とのレート歪コストの変化量を算出するレート歪コスト変化量算出工程と、（４）上記レート歪コスト変化量算出工程の算出結果に応じて、上記第１の係数レベル候補又は上記第２の係数レベル候補のいずれかを、上記変換係数の量子化に適用する係数レベルとして選択する係数レベル選択工程とを有することを特徴とする。
【００２５】
第４の本発明は、動画像符号化装置において、符号化対象の動画像を構成する入力画像と上記入力画像の予測画像との誤差信号に係る変換係数を、量子化する量子化装置を備え、上記量子化装置として、第１の本発明の量子化装置を適用したことを特徴とする。
【発明の効果】
【００２６】
本発明によれば、動画像符号化に係る量子化処理において、処理量を低減させることができる。
【図面の簡単な説明】
【００２７】
【図１】第１の実施形態に係る量子化部（量子化装置）の機能的構成について示したブロック図である。
【図２】第１の実施形態に係る動画像符号化装置の機能的構成について示したブロック図である。
【図３】第１の実施形態に係る量子化部（量子化装置）の動作について示したフローチャート（１）である。
【図４】第１の実施形態に係る量子化部（量子化装置）の動作について示したフローチャート（２）である。
【図５】第２の実施形態に係る量子化部（量子化装置）の動作について示したフローチャートである。
【図６】第３の実施形態に係る量子化部（量子化装置）の動作について示したフローチャート（１）である。
【図７】第３の実施形態に係る量子化部（量子化装置）の動作について示したフローチャート（２）である。
【図８】第４の実施形態に係る量子化部（量子化装置）の動作について示したフローチャートである。
【図９】第５の実施形態に係る量子化部（量子化装置）の機能的構成について示したブロック図である。
【発明を実施するための形態】
【００２８】
（Ａ）第１の実施形態
以下、本発明による量子化装置、プログラム及び方法、並びに、動画像符号化装置の第１の実施形態を、図面を参照しながら詳述する。なお、第１の実施形態の量子化装置は、量子化部であるものとして説明する。
【００２９】
（Ａ−１）第１の実施形態の構成
（Ａ−１−１）動画像符号化装置の全体構成について
図２は、この実施形態の動画像符号化装置１０の全体構成を示すブロック図である。
【００３０】
動画像符号化装置１０は、予測差信号生成器１１、変換部１２、量子化部１３、エントロピー符号化部１４、逆量子化・逆変換部１５、復号画像生成部１６、フレームバッファ１７、予測部１８を有している。なお、量子化部１３以外の構成要素については、例えば、既存のＨ．２６４に準拠した動画像符号化装置と同様のものを適用することができる。
【００３１】
動画像符号化装置１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、ハードディスクなどのプログラムの実行構成を有する装置（１台に限定されず、複数台を分散処理し得るようにしたものであっても良い。）に、動画像符号化プログラム（実施形態の量子化プログラムを含む）等をインストールすることにより構築しても良く、その場合でも、機能的には上述の図２のように示すことができる。
【００３２】
予測差信号生成器１１は、供給された原画像の画像データと予測部１８から供給される予測画像とから、予測誤差信号を得て、変換部１２に供給する。
【００３３】
変換部１２は、予測誤差信号の直交変換処理を行い、周波数成分等の変換係数に変換された予測誤差信号を得て、量子化部１３に供給する。
【００３４】
量子化部１３は、周波数成分等の変換係数に変換された予測誤差信号を量子化し、量子化された予測誤差信号を得て、エントロピー符号化部１４及び逆量子化・逆変換部１５に供給する。
【００３５】
エントロピー符号化部１４は、量子化された予測誤差信号についてエントロピー符号化（例えば、可変長符号化等）を行って、その他の符号化情報とともにストリームのデータを生成する。このストリームのデータが、動画像符号化装置１０の出力となる。
【００３６】
逆量子化・逆変換部１５は、量子化された予測誤差信号を逆量子化および逆直交変換を行い、量子化誤差を伴う予測誤差信号を得て、復号画像生成部１６に供給する。
【００３７】
復号画像生成部１６は、量子化誤差を伴う予測誤差信号と予測画像より復号画像を得る。
【００３８】
フレームバッファ１７は、既に符号化され、局所復号された復号画像を参照画像として記憶する。なお、Ｈ．２６４／ＡＶＣ標準の場合、動き補償で参照する画像は、現在符号化を行おうとしている画像の直前画像に限定されず、複数の時刻の画像が参照画像となり得る。
【００３９】
予測部１８は、現在符号化を行おうとしている対象時刻の画像データと、その対象時刻と異なる時刻の参照画像から動きベクトル等の予測情報を得て予測画像データを生成し、予測差信号生成器１１及び復号画像生成部１６に供給する。なお、Ｈ．２６４の場合、対象時刻の既に符号化され、局所復号された復号画像を用いる、イントラ予測による予測画像を供給する場合もある。
【００４０】
（Ａ−１−２）量子化部の処理概要について
次に、量子化部１３による処理の概要について説明する。
【００４１】
量子化部１３では、変換係数（例えば、離散コサイン変換等の直交変換を施した変換係数）に対して、量子化のためにスケーリングを施し、スケールされた値ｃｉの絶対値をａｉ、ｃｉの符号をｓｉとする。そして、ａｉを小数点以下の切り捨てにより整数化したｔｉと、ｔｉ＋１の少なくとも２つを、量子化された係数レベルｌｉの絶対値ｕｉの候補とする。さらに、ｕｉとして、ｔｉを選択した場合と、ｔｉ＋１を選択した場合の、量子化誤差の差に相当するスケールされた歪の変化量△Ｅを求める（以下単に歪の変化量と記載する）。さらにまた、ｕｉとして、ｔｉもしくはｔｉ＋１を選択した場合をエントロピー符号化するのに必要となる、符号量の変化量△Ｒを求める。
【００４２】
また、ラグランジュ乗数λを係数レベル領域での比較用にスケールしたラグランジュ乗数μをもちいて、ｔｉを選択した場合から、ｔｉ＋１を選択した場合へのスケールされたＲＤコストの変化量（以下単にＲＤコストの変化量と記載する）を、以下の（９）式により求める。そして、その求めた結果における正負の判断によって、ｔｉもしくは、ｔｉ＋１を、係数レベル領域にスケールされたｃｉに対する量子化された係数レベルｌｉの絶対値ｕｉとして選択するよう構成する。なお、説明の簡単化のため、添字ｉは個々の係数成分を表すものとし、例えば、４×４変換の場合は１６個の係数成分をわたるものとする。また以下の説明で、特に断りがなければ、Ｚｉｇ−Ｚａｇスキャン等のスキャン順に番号づけされているものとする。
【００４３】
△Ｊ＝△Ｅ＋μ△Ｒ  …（９）
ここで、△Ｊ，△Ｅ，μ，△Ｒの意味について説明する。
【００４４】
Ｈ．２６４の復号処理で用いられる逆量子化、逆変換は、その演算過程の整数演算の切り捨て等を無視した実数演算と見なした場合、入力する係数レベル領域の値ｃｉと出力される画素値領域の値ｄｉの間には、量子化パラメータをＱＰとして、ｑ＝（２１／６）（ＱＰ−４）とおくと（ただし２１／６は実数としての２の６乗根）、以下の(１０)式の関係がほぼ満たされる線形変換となるよう定義されている。
【００４５】
Σｉｄｉ２＝Σｉｑ２ｃｉ２  …（１０）
すなわち、量子化ステップサイズｑ倍された正規直交変換の近似変換と見なすことができる。
【００４６】
したがって、変換係数を係数レベル領域にスケールした値ｃｉを整数値のある係数レベルｌｉに量子化した場合に、復号画像の画素値の領域に生じる量子化誤差ｅ（ｃｉ，ｌｉ）は、以下の（１１）式で近似できる。
【００４７】
ｅ（ｃｉ，ｌｉ）＝ｑ２（ｃｉ−ｌｉ）２  …（１１）
ｃｉとｌｉは同符号で、２乗されているので、符号を無視して絶対値のみで評価してもよく、それぞれの絶対値をａｉ，ｕｉで表すと、以下の（１２）式のようになる。
【００４８】
ｅ（ａｉ，ｕｉ）＝ｑ２（ａｉ−ｕｉ）２  …（１２）
そして、ｕｉとしてｔｉとｔｉ＋１を選んだ場合の量子化誤差の変化量は、以下の（１３）式のようになる。
【００４９】
△ｅ（ａｉ，ｔｉ）＝ｅ（ａｉ，ｔｉ＋１）−ｅ（ａｉ，ｔｉ）
＝２ｑ２（１／２−（ａｉ−ｔｉ））  …（１３）
そして、全体を１／（２ｑ２）倍にスケールして評価すれば、以下の（１４）式のように乗算無しで評価できる。
【００５０】
△Ｅ（ａｉ，ｔｉ）＝△ｅ（ａｉ，ｔｉ）／（２ｑ２）
＝１／２−（ａｉ−ｔｉ）  …（１４）
この時、μを以下の（１５）式のようにおけば、ＲＤコストＪの変化量を１／（２ｑ２）でスケールした値△Ｊが、上述の（９）式で評価できる。
【００５１】
μ＝λ／（２ｑ２）  …（１５）
このとき、△Ｒは、符号量の変化量なので、ｕｉとしてｔｉもしくはｔｉ＋１を選択したときに、符号量の変化するシンタックスエレメントのみの符号量の変化量を求めれば良い。
【００５２】
△Ｊが負（△Ｊ＜０）のばあいは、ｕｉとしてｔｉ＋１を選択する方がＲＤコストが減少するとを表し、△Ｊの正負を判定することにより、ｔｉとｔｉ＋１の選択をすることが可能となる。
【００５３】
ここで、Ｈ．２６４の符号化器を例にすると、入力された原画像と、動き補償等によって求められた予測画像との差である残差信号に対して、以下の（１６）式に示すＨ．２６４の整数変換を、２次元に適用して得られた変換係数を入力とし、所定の量子化パラメータＱＰを用いて量子化して得られる係数レベルとして、レート歪的に最適となるような係数レベル値を選択して出力する。量子化処理により得られた係数レベル値は、符号化モード等の選択の上、ＣＡＢＡＣ，ＣＡＶＬＣといったエントロピー符号化器によりエントロピー符号化され、動画像ストリームとして出力される。また得られた係数レベルは、逆量子化・逆変換して予測画像に加えることで復号画像を再生し、次の予測画像の生成のために使用される。
【数１】
0005423469.tif 000002
【００５４】
以下では、量子化部１３において、入力が変換係数、出力が係数レベルである処理として説明する。
【００５５】
なお、Ｈ．２６４においても、上述の４×４変換のほか、８×８変換や、ＤＣ係数を集めたブロックに対するアダマール変換等もあるが、同様に構成可能であるので、以下、４×４変換を例に説明する。
【００５６】
（Ａ−１−３）量子化部の内部構成について
図１は、量子化部１３の機能的構成について示したブロック図である。
【００５７】
量子化部１３は、スケール計算部１３１、歪変化量計算部１３２、レート変化量計算部１３３、係数レベル選択部１３４を有している。
【００５８】
量子化部１３（量子化装置）は、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、ハードディスクなどのプログラムの実行構成を有する装置（１台に限定されず、複数台を分散処理し得るようにしたものであっても良い。）に、実施形態の量子化プログラム等をインストールすることにより構築しても良く、その場合でも、機能的には上述の図１のように示すことができる。この実施形態においては、量子化部１３は、動画像符号化装置１０に搭載されるものとして示しているが、単独の装置（量子化装置）として構成するようにしても良い。動画像符号化装置１０が、上述の情報処理装置に動画像符号化プログラムをインストールすることにより構成される場合には、量子化部１３は、その動画像符号化プログラムの一部の量子化プログラムとして構築するようにしても良い。
【００５９】
量子化部１３では、スケール計算部１３１により、整数変換によって求められた変換係数に対して、量子化パラメータＱＰに応じたスケーリングを施す。すなわち、変換係数ｇｊｋに対して、スケールされた係数ｃｊｋの各要素（以下、「係数成分」ともいう）を以下の（１７）式により求める。
【００６０】
ｃｊｋ＝ｇｊｋＱ（ＱＰ％６，ｊ，ｋ）／２１５＋ＱＰ／６  …（１７）
ここで、Ｑ（ＱＰ％６，ｊ，ｋ）は、量子化時のスケールマトリックス、ＱＰ／６，ＱＰ％６はそれぞれ、ＱＰを６で割った商と余り、２１５＋ＱＰ／６による除算は、実数としての除算である。
【００６１】
なお、この除算は、ｃｊｋを適当な精度の固定少数で表現すれば、１５＋ＱＰ／６から小数点以下のビット数を引いた数による右シフト演算で行うことができる。例えば、ｃｊｋを小数点以下１１ビットの固定少数で表現する場合は、４＋ＱＰ／６ビットの右シフトとなる。
【００６２】
４×４以外の変換では、スケールマトリックス、シフト量等が異なるが、変換係数領域の値を、係数レベル領域の整数化されていない値ヘスケールする同様の処理を行う。
【００６３】
ここでは、以下の説明の簡単化のため、スケールされた係数ｃｉｊを、Ｚｉｇ−Ｚａｇスキャン順に、改めて、ｃｉと記述することとし、以下の（１８）式に示すように、その絶対値をａｉ、（１９）式に示すように符号をｓｉと記述する。ただし、ｉ＝０、…、Ｍであり、Ｍは、対象係数ブロックの係数成分数−１とする。
【００６４】
ａｉ＝｜ｃｉ｜  …（１８）
ｓｉ＝ｓｉｇｎ（ｃｉ）  …（１９）
また以下の説明で、これらの値に対する演算を実数演算のように記述するが、適当な精度の固定少数表現によって、整数演算器で処理することも可能である。なお、上記スケーリング時の右シフトは、ｇｊｋの絶対値に対して行うようにしてもよい。
【００６５】
絶対値ａｉの整数部分（ａｉを超えない最大の整数）をｔｉとおくと、ｔｉは以下の（２０）式のように示される。
【００６６】
ｔｉ＝ｆｌｏｏｒ（ａｉ）  …（２０）
そして、スケールされた係数ｃｉに対する係数レベルｌｉの絶対値ｕｉの候補として、ｔｉと、ｔｉ＋１の少なくとも２つを候補とする（△Ｒの評価をスキップして、ｔｉを選択する場合も含む）。
【００６７】
歪変化量計算部１３２では、以下の（２１）式について求める。
【００６８】
△Ｅ（ａｉ，ｔｉ）＝１／２−（ａｉ−ｔｉ）  …（２１）
レート変化量計算部１３３では、ＣＡＢＡＣ、ＣＡＶＬＣ等のそれぞれのエントロピー符号化器によって両候補に対して発生するであろう符号量の変化量△Ｒを求める。レート変化量計算部１３３の処理については、後述する動作説明において詳述する。
【００６９】
係数レベル選択部１３４は、あらかじめ計算しておいたスケールされたラグランジュ乗数μを用いて、ＲＤコストの変化量の評価式（上述の（９）式）の符号の判定に相当する判断により、最適な係数レベルの選択を行い係数レベル値ｌｉを出力する。
【００７０】
（Ａ−２）第１の実施形態の動作
次に、以上のような構成を有する第１の実施形態の動画像符号化装置１０について、量子化部１３の動作を中心に説明する。
【００７１】
第１の実施形態では、エントロピー符号化部１４によるエントロピー符号化がＣＡＢＡＣである場合に、量子化部１３における処理で、非特許文献１と同様な処理手順（係数成分の決定順）で、与えられた係数ブロックの、個々の成分の係数レベルを選択していく例について説明する。ＣＡＢＡＣによるエントロピー符号化では、変換係数における係数成分のスキャン順で最終非ゼロ係数であることを表すシンタックスを有するため、第１の実施形態では、このＣＡＢＡＣの特性を考慮した量子化処理が行われる。
【００７２】
図３は、第１の実施形態の量子化部１３における量子化処理の処理手順を示す図である。
【００７３】
まず、量子化部１３では、入力された変換係数を量子化パラメータＱＰに応じてスケーリングを施した、スケールされた係数ｃｉが求められる（Ｓ１０１）。ただしｉ＝０，…，ＭはＺｉｇ−Ｚａｇスキャン等のスキャン順であるものとする。
【００７４】
次に、量子化部１３では、ｃｉの絶対値ａｉについて、係数レベルｌｉの絶対値ｕｉの侯補として、上記の（２０）式によりｔｉが求められる（Ｓ１０２）。
【００７５】
そして、量子化部１３では、上記の（２１）式により、歪変化量△Ｅｉが求められる。ここで、△Ｅｉ≧０であるｉについては、ｕｉ＝ｔｉとし、以降の処理では、ｔｉ＋１は候補としないものとする。
【００７６】
次に、量子化部１３では、非ゼロの係数レベルを選択する変換係数の内、スキャン順でもっとも最後となる（もっとも番号の大きな）係数の位置ｋが決定される（Ｓ１０３）。
【００７７】
図４は、ステップＳ１０３における最終非ゼロ係数位置の決定処理の詳細について示したフローチャートである。
【００７８】
図４では、ｋの候補としては、ｉ０，…ｉ１を考慮する。ただし、ｉ１はａｉ＞０．５であるｉの最大値であり、ｉ０はａｉ＞１であるｉの最大値（なければ−１）であるものとする。
【００７９】
以下の説明において、ｂｉｔｓ（）はかっこ内の情報をＣＡＢＡＣで符号化するのに必要となるビット数の近似値（符号化するシンタックスのコンテクストにおける確率状態変数を用いて計算、算術符号であるのでビット数は整数とは限らない）であるものとする。また、ｃｏｄｅｄは、ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｆｌａｇであり、ｌａｓｔｉはｌａｓｔ＿ｓｉｇｎｉｆｉｃａｎｔ ＿ｃｏｅｆｆ＿ｆｌａｇであり、ｕｉは付随する符号ｓｉとあわせた係数レベルｌｉに関するシンタックス、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇ，ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ１、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの略記とする。
【００８０】
まず、候補範囲として、ｉ０、…、ｉ１が設定されたものとする（Ｓ２０１）。
【００８１】
次に、以下の（２２）式〜（２５）式により、各変数の初期化が行われる。
【００８２】
ｋ＝ｉ０  …（２２）
ｅ＝０    …（２３）
ｒ＝ｂｉｔｓ（ｃｏｄｅｄ＝１）−ｂｉｔｓ（ｃｏｄｅｄ＝０）
（ｉ０＝＝−１のとき）  …（２４）
ｒ＝ｂｉｔｓ（ｌａｓｔｋ＝０）−ｂｉｔｓ（ｌａｓｔｋ＝１）
（ｉ０≧０のとき）  …（２５）
次に、候補範囲内（ｉ＝ｉ０＋１，…，ｉ１）で、ｋ、ｅ、ｒの更新を繰り返す（Ｓ２０３、Ｓ２０４）。
【００８３】
ステップＳ２０３、Ｓ２０４では、まず、ｐ及びｂを、それぞれ、以下の（２６）式及び（２７）式により求める。そして、ｐ及びｂの結果に応じて、ｋ、ｅ、ｒの更新を行う。
【００８４】
ｐ＝△Ｅｉ＋μ（ｂｉｔｓ（ｕｉ＝１，ｌａｓｔｉ＝０）
−ｂｉｔｓ（ｕｉ＝０））…（２６）
ｂ＝ｅ＋△Ｅｉ＋μ（ｒ＋ｂｉｔｓ（ｕｉ＝１，ｌａｓｔｉ＝１）  …（２７）
[ｂ＜０の場合について]
ｋ＝ｉに更新する。
【００８５】
ｐ＜０の場合には、ｅ及びｒについて、以下の（２８）式及び（２９）式のように求める。
【００８６】
ｅ＝０  …（２８）
ｒ＝ｂｉｔｓ（ｌａｓｔｋ＝０）−ｂｉｔｓ（ｌａｓｔｋ＝１）…（２９）
ｐ≧０の場合には、ｅ及びｒについて、以下の（３０）式及び（３１）式のように求める。
【００８７】
ｅ＝−△Ｅｉ  …（３０）
ｒ＝ｂｉｔｓ（ｕｉ＝０）−ｂｉｔｓ（ｕｉ＝１，ｌａｓｔｉ＝０）  …（３１）
[ｂ≧０の場合について]
ｐ＜０の場合には、ｅ及びｒについて、以下の（３２）式及び（３３）式のように求める。
【００８８】
ｅ＝ｅ＋△Ｅｉ  …（３２）
ｒ＝ｒ＋ｂｉｔｓ（ｕｉ＝１，ｌａｓｔｉ＝０）  …（３３）
ｐ≧０の場合には、ｒについて以下の（３４）式のように求める。
【００８９】
ｒ＝ｒ＋ｂｉｔｓ（ｕｉ＝０）  …（３４）
上述のように、ステップＳ２０３、Ｓ２０４によるｋ、ｅ、ｒの更新が行われた後、得られたｋを最終非ゼロ係数位置とする（Ｓ２０５）。ただし、ｋ＝−１の場合は、対象ブロックは係数なしとする。
【００９０】
ここで、上述の図４に示すフローチャートで用いられている変数について説明する。
【００９１】
「ｋ」は上記処理過程の、暫定の最終非ゼロ係数位置である（ｋ＝−１は非ゼロ係数なしを表す）。
【００９２】
「ｅ」はｋが最終非ゼロ係数位置であった場合から、ｋを最終とはしない場合への歪の変化量をｉまで累積した値である。
【００９３】
「ｒ」はｋが最終非ゼロ係数位置であった場合から、ｋを最終とはしない場合への符号量の変化量をｉまで累積した値である。
【００９４】
ｂ＜０の意味は、ｉの位置を最終非ゼロ係数位置としたほうが、ｋであった場合よりもＲＤコストが減少することを表す。
【００９５】
ｐ＜０の意味は、ｉよりもスキャン順の大きな位置が最終非ゼロ係数位置となると仮定した場合に、ｉの位置の係数レベルの絶対値として０よりも１を選択するほうがＲＤコストが減少することを表す。
【００９６】
次に、係数レベル選択部１３４では、上述の図４の処理により、得られたｋを用いて、ｉ＝ｋ．…，０について、係数レベルを選択していく（Ｓ１０４）。すなわち、ｋからスキャンの逆順に、各ｉについて、符号量の変化量△Ｒｉは、以下の（３５）式のように求め、以下の（３６）式に示すＲＤコストの変化量の符号の判断により、ｔｉもしくは、ｔｉ＋１から係数レベルを選択していく。すなわち、△Ｊｉ＜０の場合にｔｉ＋１を選択する。  なお、上述したように、△Ｅｉ≧０であるｉについては、ｕｉ＝ｔｉとし、この判断をスキップする。
【００９７】
△Ｒｉ＝ｂｉｔｓ（ｕｉ＝ｔｉ＋１）−ｂｉｔｓ（ｕｉ＝ｔｉ）  …（３５）
△Ｊｉ＝△Ｅｉ＋μ△Ｒｉ  …（３６）
ここで、さらに符号量の変化量△Ｒｉについては、ＣＡＢＡＣでの係数レベルの表現方法に依存して、ｔｉの大きさに応じて、以下の４つの場合ごとに、効率的に求めることができる。ＣＡＢＡＣの算術符号による符号量は、確率状態変数に依存し、繰り返し使用される確率状態変数については、正確には状態遷移させつつ評価したほうがよいが、状態遷移なしで近似してもよい。
【００９８】
[ｔｉ＞１４の場合]
この場合、△Ｒｉは、確率状態変数に依存しなくなり、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ１のｓｕｆｆｉｘ部分長さの違いのみとなり、△Ｒｉは０もしくは２となる。
【００９９】
[２≦ｔｉ≦１４の場合]
この場合、△Ｒｉは、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ１に関する１つの確率状態変数のみに依存し、ｔｉが１３通り、確率状態変数が、１２８通りの、△Ｒｉのテーブルをあらかじめ作成しておくことができる。
【０１００】
また、ＣＡＢＡＣでは、この１つの確率状態変数が一つのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ１の符号化中に状態遷移しつつ繰り返し使用されるため、状態遷移させた上での符号量差をテーブル化することもできる。
【０１０１】
[ｔｉ＝１の場合]
この場合、△Ｒｉは、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ１に関する２つの確率状態変数に依存するが、２つのｂｉｎの符号量差のみを求めればよい。
【０１０２】
[ｔｉ＝０]
この場合、△Ｒｉは、ｓｉｇｎｉｆｉｃａｎｔ＿ｃｏｅｆｆ＿ｆｌａｇとｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｍｉｎｕｓ１の最初のｂｉｎのみに関係し、これに関する２つの確率状態変数から求めることができる。
【０１０３】
以上の処理により、従来のＲＤＯＱのＣＡＢＡＣアルゴリズムと同等にレート歪的に最適な係数レベルの選択を、より少ない演算量、処理量で行うことが可能となる。
【０１０４】
（Ａ−３）第１の実施形態の効果
第１の実施形態によれば、非特許文献１に記載のＲＤＯＱのＣＡＢＡＣアルゴリズムと同様にレート歪み的に最適な係数レベルの選択を、より少ない処理量（演算量）で行うことができる。
【０１０５】
（Ｂ）第２の実施形態
以下、本発明による量子化装置、プログラム及び方法、並びに、動画像符号化装置の第２の実施形態を、図面を参照しながら詳述する。なお、第２の実施形態の量子化装置は、量子化部であるものとして説明する。
【０１０６】
（Ｂ−１）第２の実施形態の構成及び動作
第２の実施形態の量子化部及び動画像符号化装置も、図１により示すことができる。
【０１０７】
第２の実施形態では、エントロピー符号化部１４がＣＡＶＬＣに対応しており、量子化部１３において、非特許文献１と同様な処理手順（係数成分の決定順）で、与えられた係数ブロックの、個々の成分の係数レベルを選択していく点で第１の実施形態と異なっている。それ以外の構成については、第１の実施形態と同様であるので詳しい説明を省略し、以下では、第２の実施形態について、第１の実施形態との差異を中心に説明を行う。
【０１０８】
ＣＡＶＬＣによるエントロピー符号化処理では、ゼロ係数のランレングス符号化が含まれるため、第２の実施形態では、ＣＡＶＬＣのこの特性を考慮した量子化が行われる。
【０１０９】
図５は、第２の実施形態の量子化部１３の処理について示したフローチャートである。
【０１１０】
まず、量子化部１３では、入力された変換係数を量子化パラメータＱＰに応じてスケーリングを施した、スケールされた係数ｃｉを求める(Ｓ３０１)。ただし、ｉ＝０，…，Ｍは、第１の実施形態とは異なり、スケールされた係数ｃｊｋをその絶対値の小さい順にソートした順に番号付けされるものとする（Ｓ３０２）。すなわち、ｃ０が絶対値最小の係数とする。
【０１１１】
次に、量子化部１３では、ｃｉの絶対値ａｉについて、係数レベルｌｉの絶対値ｕｉの初期値として、以下の（３７）式により、初期化する（Ｓ３０３）。ここで、係数レベルの初期値の選択は、例えば、（３７）式のｆとして、従来のＲＤＯＱと同様、イントラピクチャではｆ＝１／３、インターピクチャではｆ＝１／６とする場合や、その他の、さまざまな簡易な量子化方法を用いるなどとしてもよい。
【０１１２】
ｕｉ＝ｆｌｏｏｒ（ａｉ＋ｆ）  …（３７）
また、量子化部１３では、係数レベルｌｉの絶対値ｕｉ候補として、以下の（３８）によりｔｉを求め、以下の（３９）により歪変化量△Ｅｉを求める。
【０１１３】
ｔｉ＝ｆｌｏｏｒ（ａｉ）  …（３８）
△Ｅｉ＝△Ｅ（ａｉ，ｔｉ）＝１／２−（ａｉ−ｔｉ）  …（３９）
ここで、△Ｅｉ≧０であるｉについては、ｕｉ＝ｔｉとし、以降の処理では、ｔｉ＋１は候補としない。
【０１１４】
以上の準備の下、量子化部１３では、スケールされた係数ｃｉの絶対値が小さい順ｉ＝０，…，Ｍに、係数レベルｌｉを選択していく（Ｓ３０４）。すなわち、絶対値最小のｃ０から順に、各ｉについて、ｕｉとしてｔｉを選択した場合とｔｉ＋１を選択した場合の符号量の変化量△Ｒｉをもとめ、以下の（４０）式に示すＲＤコストの変化量の符号の判断により、ｔｉもしくは、ｔｉ＋１から係数レベルを選択していく。すなわち、△Ｊｉ＜０の場合にｔｉ＋１を選択する。選択されたｕｉ用いて、係数レベルｌｉを順次更新していく。
【０１１５】
△Ｊｉ＝△Ｅｉ＋μ△Ｒｉ  …（４０）
なお、上述したように、△Ｅｉ≧０であるｉについては、ｕｉ＝ｔｉとし、この判断をスキップする。
【０１１６】
符号量の変化量△Ｒｉの算出時には必要に応じて、初期値のままの、あるいは、上記処理により更新された場合は、更新された係数レベルｌｉを参照して算出する。
【０１１７】
ここで、さらに符号量の変化量△Ｒｉについては、ｔｉを選択した場合と、ｔｉ＋１を選択した場合の間で、符号量に変化のあるシンタックスエレメントのみを考慮すればよい。すなわち、以下のような場合ごとに、効率的に△Ｒｉの計算処理に関連するシンタックスエレメントを絞り込むことができる。
【０１１８】
[第１の要件]
ｔｉ＞１の場合は、ｃｏｅｆｆ−ｔｏｋｅｎに影響しないので、無視できる。
【０１１９】
[第２の要件]
ｔｉ＞０の場合は、ｔｏｔａｌ＿ｚｅｒｏｓ，ｒｕｎ＿ｂｅｆｏｒｅに影響しないので、無視できる。
【０１２０】
[第３の要件]
ｓｕｆｆｉｘＬｅｎｇｔｈの更新に影響がなければ、ｉ番目以外の係数レベルに関するｔｒａｉｌｉｎｇ＿ｏｎｅｓ＿ｓｉｇｎ＿ｆｌａｇ，ｌｅｖｅｌ＿ｐｒｅｆｉｘ，ｌｅｖｅｌ＿ｓｕｆｆｉｘ等は無視できる。なお、ｓｕｆｆｉｘＬｅｎｇｔｈへの影響を無視して、常にｉ番目以外の係数レベルに関するシンタックスを無視する処理としてもよい。
【０１２１】
[第４の要件]
ｌｅｖｅｌ＿ｐｒｅｆｉｘに変化がなければ、△Ｒｉ＝０である。
【０１２２】
（Ｂ−２）第２の実施形態の効果
第２の実施形態によれば、以下のような効果を奏することができる。
【０１２３】
非特許文献１に記載された従来のＲＤＯＱのＣＡＶＬＣアルゴリズムと同等にレート歪的に最適な係数レベルの選択を、より少ない演算量、処理量で行うことができる。
【０１２４】
また、非特許文献１に記載された従来のＲＤＯＱのＣＡＶＬＣアルゴリズムでは評価漏れしていた、レート歪的に最適となる可能性の高い、切り上げ、切り捨ての両候補を評価できているので、より符号化効率が向上させることができる。
【０１２５】
（Ｃ）第３の実施形態
以下、本発明による量子化装置、プログラム及び方法、並びに、動画像符号化装置の第３の実施形態を、図面を参照しながら詳述する。なお、第３の実施形態の量子化装置は、量子化部であるものとして説明する。
【０１２６】
（Ｃ−１）第３の実施形態の構成及び動作
第３の実施形態の量子化部及び動画像符号化装置も、図１により示すことができる。
【０１２７】
第３の実施形態では、エントロピー符号化部１４がＣＡＢＡＣに対応しており、量子化部１３において、第１の実施形態とは異なる処理手順（係数成分の決定順）で、与えられた係数ブロックの、個々の成分の係数レベルを選択していく点で、第１の実施形態と異なっている。それ以外の構成については、第１の実施形態と同様であるので詳しい説明を省略し、以下では、第３の実施形態について、第１の実施形態との差異を中心に説明を行う。
【０１２８】
図６は、第３の実施形態の量子化部１３の処理について示したフローチャートである。
【０１２９】
まず、量子化部１３では、入力された変換係数を量子化パラメータＱＰに応じてスケーリングを施した、スケールされた係数ｃｉが求められる(Ｓ４０１)。（ただし、ｉ＝０，…，ＭはＺｉｇ−Ｚａｇスキャン等のスキャン順）
次に、量子化部１３では、ｃｉの絶対値ａｉについて、係数レベルｌｉの絶対値ｕｉの候補として、以下の（４１）式によりｔｉを求め、さらに、以下の（４１）式により歪変化量△Ｅｉが求められる。
【０１３０】
ｔｉ＝ｆｌｏｏｒ（ａｉ）  …（４１）
△Ｅｉ＝△Ｅ（ａｉ，ｔｉ）＝１／２−（ａｉ−ｔｉ）  …（４２）
ここで、△Ｅｉ≧０であるｉについては、ｕｉ＝ｔｉとし、以降の処理では、ｔｉ＋１は候補としない。
【０１３１】
次に、非ゼロの係数レベルを選択する変換係数の内、スキャン順でもっとも最後となる（もっとも番号の大きな）係数の位置ｋを決定する（Ｓ４０２、Ｓ４０３）。
【０１３２】
第１の実施形態（上述の図４）との違いは、スキャンの逆順に処理を行うことである。すなわち、第１の実施形態では、ｋの候補範囲であるｉ０，…，ｉ１について、ｋを決定するために順方向に処理を行っているが、第３の実施形態では、ｉ＝Ｍからスキャンの逆順に、ｉ１の位置を求め（Ｓ４０２）、ｉ０に相当する位置まで、ｋの位置を探索する（Ｓ４０３）。
【０１３３】
量子化部１３では、ｋの候補としては、ｉ１，…，ｉ０を考慮する。ただし、ｉ１はａｉ＞０．５であるｉの最大値とし、ｉ０はａｉ＞１であるｉの最大値（なければ−１）とする。そして、このようなｉ１がなければ、対象ブロックは係数なしとして以下の処理は行わないものとする。
【０１３４】
すなわち、量子化部１３は、上述のステップＳ４０２の処理として、ｉ１の位置を設定するが、ａｉ＞０．５であるｉがなければ、対象ブロックは係数なしとして、以下のステップＳ４０３の処理は行わない。
【０１３５】
図７は、第３の実施形態の量子化部１３における、上述のステップＳ４０３の処理の詳細について示したフローチャートである。
【０１３６】
量子化部１３では、図７に示す処理により、ｉ０の位置を探索しつつｋを決定する。ただし、以下でｂｉｔｓ（）の意味は第１の実施形態と同様とする。
【０１３７】
まず、ｋの初期値をｋ＝ｉ１として、このときのａｋ＞１の場合は、ｉ０＝ｉ１であるので、以下のｋおよびｉ０の探索処理は行わず、ｉ０以下の処理（Ｓ４０４）のみ行う。
【０１３８】
そして、量子化部１３は、各変数（ｋ、ｅ、ｒ）の初期化を、以下の（４３）、（４４）、（４５）式により行う（Ｓ５０１）。
【０１３９】
ｋ＝ｉ１  …（４３）
ｅ＝△Ｅｋ  …（４４）
ｒ＝ｂｉｔｓ（ｕｋ＝１，ｌａｓｔｋ＝１）  …（４５）
次に、量子化部１３は、ｉ＝ｉ１−１、…、０について、それぞれ△Ｅｉ、ｐ、ｂを求め、その結果に応じてｕｉ、ｋ、ｅ、ｒの更新し、ｉ０がみつかるまで繰り返す（Ｓ５０２、Ｓ５０３）。ただし、ｔｉ＞１ならこのときのｉを、ｉ０＝ｉとしてｉ０がみつかったものとし（Ｓ５０４），後述するステップＳ５０７に進む。
【０１４０】
次に、上述のステップＳ５０２、Ｓ５０３において、△Ｅｉ、ｐ、ｂの結果に応じてｕｉ、ｋ、ｅ、ｒを更新する際の場合分けについて説明する。
【０１４１】
[△Ｅｉ＞０の場合]
ｕｉを以下の（４６）式により更新し、ｒを以下の（４７）式により更新し、次のｉの処理に進む。
【０１４２】
ｕｉ＝０  …（４６）
ｒ＝ｒ＋ｂｉｔｓ（ｕｉ＝０）  …（４７）
[△Ｅｉ≦０の場合]
この場合、まずｐを以下の（４８）とおき、ｐ及び後述するｂの結果に応じた処理が行われる。
【０１４３】
ｐ＝△Ｅｉ＋μ（ｂｉｔｓ（ｕｉ＝１，ｌａｓｔｉ＝０）
−ｂｉｔｓ（ｕｉ＝０））  …（４８）
[△Ｅｉ≦０、かつ、ｐ＜０の場合]
まず、ｕｉを下記の（４９）式により更新し、ｂを以下の（５０）式とおくものとする。
【０１４４】
ｕｉ＝１  …（４９）
ｂ＝ｅ＋μ（ｒ＋ｂｉｔｓ（ｌａｓｔｉ＝０）
−ｂｉｔｓ（ｌａｓｔｉ＝１））  …（５０）
そして、ｂ＞０の場合には、ｋ、ｅ、ｒを、それぞれ以下の、（５１）式、（５２）式、（５３）式により更新する。
【０１４５】
ｋ＝ｉ  …（５１）
ｅ＝△Ｅｋ  …（５２）
ｒ＝ｂｉｔｓ（ｕｋ＝１，ｌａｓｔｋ＝１）  …（５３）
一方、ｂ＜＝０の場合には、ｅ、ｒをそれぞれ以下の（５４）式、（５５）式により更新する。
【０１４６】
ｅ＝ｅ＋△Ｅｉ  …（５４）
ｒ＝ｒ＋ｂｉｔｓ（ｕｉ＝１，ｌａｓｔｉ＝０）  …（５５）
[△Ｅｉ≦０、かつ、ｐ≧０の場合]
まず、ｕｉを下記の（５６）式により更新し、ｂを以下の（５７）式とおくものとする。
【０１４７】
ｕｉ＝０  …（５６）
ｂ＝ｅ＋△Ｅｉ＋μ（ｒ＋ｂｉｔｓ（ｕｉ＝０）
−ｂｉｔｓ（ｕｋ＝１，ｌａｓｔｉ＝１））  …（５７）
そして、ｂ＞０の場合には、ｋ、ｅ、ｒを、それぞれ以下の、（５８）式、（５９）式、（６０）式により更新する。
【０１４８】
ｋ＝ｉ  …（５８）
ｅ＝△Ｅｋ  …（５９）
ｒ＝ｂｉｔｓ（ｕｋ＝１，ｌａｓｔｋ＝１）  …（６０）
一方、ｂ＜＝０の場合には、ｒを以下の（６１）により更新する。
【０１４９】
ｒ＝ｒ＋ｂｉｔｓ（ｕｉ＝０）  …（６１）
以上のように、ステップＳ５０２、Ｓ５０３の繰り返しにより、ｉ０の探索が行われると、量子化部１３では、その処理結果について判定が行われ（Ｓ５０４）、ｉ０がみつかった場合（ｔｉ＞１がみつかった場合）には、後述するステップＳ５０７の処理が行われ、ｉ０が見つからなかった場合（ｔｉ＞１がみつからなかった場合）には、後述するステップＳ５０５の処理が行われる。
【０１５０】
上述のステップＳ５０２、Ｓ５０３により、ｉ０がみつからなかったと判定された場合には、量子化部１３では、ｉ０、ｂについて、それぞれ、以下の（６２）式、（６３）式のようにおき、ｂの算出結果について判定が行われる（Ｓ５０５）。
【０１５１】
i0 = -1  …（６２）
b = e + μ(r + bits(coded=1) - bits(coded=1))   …（６３）
そして、ｂ＞０ならば、対象ブロックは係数なしとして（Ｓ５０６）、図７の処理を終了し、そうでなければ後述するステップＳ５０８の処理に進む。
【０１５２】
上述のステップＳ５０５において、ｂ＞０でない場合には、さらにｋとｉ１が比較され、ｋ＜ｉ１の場合には、ｉ＝ｋ＋１，…，ｉ１の範囲はｕｉ＝０にクリアし（Ｓ５０８）、図７の処理を終了する。
【０１５３】
一方、上述のステップＳ５０２、Ｓ５０３により、ｉ０がみつかったと判定された場合には、ｂを以下の（６４）式のようにおいて、ｂ＞０である場合にはｋ＝ｉと更新する（Ｓ５０７）、一方b ≦0 の場合は k の更新は行わない（Ｓ５０７）。つまり、b ≦0の場合、 i0よりも大きな位置を指し示したままである。その後、ｂの判断に関わらず、ｋ＜ｉ１の場合には、ｉ＝ｋ＋１，…，ｉ１の範囲はｕｉ＝０にクリアし（Ｓ５０８）、図７の処理を終了する。
【０１５４】
ｂ＝ｅ＋μ（ｒ＋ｂｉｔｓ（ｌａｓｔｉ＝０）
−ｂｉｔｓ（ｌａｓｔｉ＝１）…（６４）
次に、図７の処理において用いられている変数について説明する。
【０１５５】
ｋは上記処理過程の、暫定の最終非ゼロ係数位置である（ｋ＝−１は非ゼロ係数なしを表す）。
【０１５６】
ｅはｋが最終非ゼロ係数位置ではない場合から、ｋが最終である場合への歪の変化量をｉまで累積した値である。
【０１５７】
ｒはｋが最終非ゼロ係数位置ではない場合から、ｋが最終である場合への符号量の変化量をｉまで累積した値である。
【０１５８】
ｂ＞０の意味は、ｉの位置を最終非ゼロ係数位置としたほうが、ｋであった場合よりもＲＤコストが減少することを表す。
【０１５９】
ｐ＜０の意味は、ｉよりもスキャン順の大きな位置ｋが最終非ゼロ係数位置となると仮定した場合に、ｉの位置の係数レベルの絶対値として０よりも１を選択するほうがＲＤコストが減少することを表す。
【０１６０】
次に、上述のステップＳ４０３の処理（図７の処理）が終了すると、量子化部１３では、ｉ０が見つかった場合に、ｉ＝ｉ０．…，０について、係数レベルを選択していく。すなわち、ｉ０（例えば、探索停止位置）から順に、各ｉについて、符号量の変化量△Ｒｉを、以下の（６５）式として、以下の（６６）式に示すＲＤコストの変化量の符号の判断により、ｔｉもしくは、ｔｉ＋１から係数レベルを選択していく。すなわち、△Ｊｉ＜０の場合にｔｉ＋１を選択する。
【０１６１】
△Ｒｉ＝ｂｉｔｓ（ｕｉ＝ｔｉ＋１）−ｂｉｔｓ（ｕｉ＝ｔｉ）  …（６５）
△Ｊｉ＝△Ｅｉ＋μ△Ｒｉ    …（６６）
なお、上述したように、△Ｅｉ≧０であるｉについては、ｕｉ＝ｔｉとし、この判断をスキップするようにしても良い。
【０１６２】
また、符号量の変化量△Ｒｉについては、第１の実施形態と同様、符号量に変化のあるｂｉｎのみに関する計算処理とすることで、効率的に求めることができる。
【０１６３】
（Ｃ−２）第３の実施形態の効果
第３の実施形態によれば、第１の実施形態の効果に加えて、以下のような効果を奏することができる。
【０１６４】
第１の実施形態では係数を順方向、逆方向と、複数回スキャンする必要があるが、第３の実施形態では、ｉ＝Ｍから逆方向のみに、ｉ１が見つかるまで、ｉ０見つかるまで、ｉ＝０までのスキャンをするだけでよくなり、処理が簡単になり処理量を低減するとともに、メモリアクセスが削減できるなどの効果が得られる。
【０１６５】
（Ｄ）第４の実施形態
以下、本発明による量子化装置、プログラム及び方法、並びに、動画像符号化装置の第４の実施形態を、図面を参照しながら詳述する。なお、第４の実施形態の量子化装置は、量子化部であるものとして説明する。
【０１６６】
（Ｄ−１）第４の実施形態の構成及び動作
第４の実施形態の量子化部及び動画像符号化装置も、図１により示すことができる。
【０１６７】
第４の実施形態では、エントロピー符号化部１４がＣＡＶＬＣに対応しており、第２の実施形態とは異なる処理手順（係数成分の決定順）で、与えられた係数ブロックの、個々の成分の係数レベルを選択していく点で、第２実施形態と異なっている。それ以外の構成については、第２の実施形態と同様であるので詳しい説明を省略し、以下では、第４の実施形態について、第２の実施形態との差異を中心に説明を行う。
【０１６８】
図８は、第４の実施形態の量子化部１３の処理について示したフローチャートである。
【０１６９】
まず、量子化部１３では、入力された変換係数を量子化パラメータＱＰに応じてスケーリングを施した、スケールされた係数ｃｉが求められる(Ｓ６０１)。ただし、ｉ＝０，…，Ｍは、第２の実施形態とは異なり、第１、第３の実施形態と同様、Ｚｉｇ−Ｚａｇスキャン等のスキャン順に番号付けされているものとする。すなわち、第４の実施形態では、絶対値の大きさによるソートは行わない。
【０１７０】
次に、量子化部１３では、スキャンの逆順ｉ＝Ｍ，…，０に、最終非ゼロ係数の候補位置ｉ１が探索され、設定される（Ｓ６０２）。すなわち、ｉ１はａｉ＞Ｔ０であるｉの最大値となるｉ１を探索する。ここで、Ｔ０は係数レベル値０を選択する閾値であり、Ｔ０＝０．５、あるいは、Ｔ０＝０．５＋μなどとしてもよい。また、外部から制御可能としてもよい。このようなｉ１がなければ、対象ブロックは係数なしとして以降の処理は行わずに終了するようにしても良い。
【０１７１】
次に、量子化部１３では、スキャンの逆順ｉ＝ｉ１，…，０に、係数レベルの候補として、０を含めないような係数について、係数レベルｌｉを選択していく（Ｓ６０３、Ｓ６０４）。すなわち、ｃｉの絶対値ａｉについて、係数レベルｌｉの絶対値ｕｉの候補として、以下の（６７）式によりｔｉを求め、さらに、以下の（６８）式により歪変化量△Ｅｉを求める。
【０１７２】
ｔｉ＝ｆｌｏｏｒ（ａｉ）  …（６７）
△Ｅｉ＝△Ｅ（ａｉ，ｔｉ）＝１／２−（ａｉ−ｔｉ）…（６８）
ここで、△Ｅｉ≧０であるｉについては、ｕｉ＝ｔｉとし、以降の処理では、ｔｉ＋１は候補としないようにしても良い（ただし、△Ｅｉ≧０であっても、ｔｉ＝０の場合は、未選択とし、後の未選択係数レベルの選択時に処理することとしてもよい）。
【０１７３】
一方、△Ｅｉ＜０であるｉについては、ｕｉとしてｔｉを選択した場合とｔｉ＋１を選択した場合の符号量の変化量△Ｒｉをもとめ、以下の（６９）式のＲＤコストの変化量の符号の判断により、ｔｉもしくは、ｔｉ＋１から係数レベルを選択していく。
【０１７４】
△Ｊｉ＝△Ｅｉ＋μ△Ｒｉ…（６９）
すなわち、△Ｊｉ＜０の場合にｔｉ＋１を選択する．選択されたｕｉ用いて、係数レベルｌｉを順次更新していく。
【０１７５】
ただし、ｔｉ＝０の場合は、未選択とし、後の未選択係数レベルの選択時に処理することとし、ここでは、いったん、以下の（７０）式のように初期化する。ここでの、未選択係数レベルｌｉ初期値は、例えば、上記ｆとして、イントラピクチャではｆ＝１／３、インターピクチャではｆ＝１／６とする場合や、その他の、さまざまな簡易な量子化方法を用いるなどとしてもよい。
【０１７６】
ｕｉ＝ｆｌｏｏｒ（ａｉ＋ｆ）…（７０）
一方、ｔｉ＞０の場合は、変数ｓｕｆｆｉｘＬｅｎｇｔｈが確定していれば、△Ｒｉは、ｓｕｆｆｉｘＬｅｎｇｔｈで選択される可変長符号のテーブルにおける符号長の差として、効率的に求めることができる。
【０１７７】
なお、ここでの△Ｒｉは、係数レベルｌｉに関する符号長のみの差であるが、第２の実施例と同様、「ｌｅｖｅｌ＿ｐｒｅｆｉｘに変化がなければ、△Ｒｉ＝０である」となるため、この場合には、△Ｅｉ＜０の判断のみで選択可能である。
【０１７８】
ここで、変数ｓｕｆｆｉｘＬｅｎｇｔｈは、係数レベルをＣＡＶＬＣ符号化する際の、可変長符号のテーブルを選択する変数であり、スキャンの逆順に、係数レベルの絶対値の大きさに応じて遷移する。したがって、スキャンの逆順に係数レベルを選択していくことにより、ｓｕｆｆｉｘＬｅｎｇｔｈも確定していく。未選択係数レベルについては、上記初期値にしたがってｓｕｆｆｉｘＬｅｎｇｔｈを更新する。なお、ｔｒａｉｌｉｎｇＯｎｅｓの個数が３に満たない場合等、ｓｕｆｆｉｘＬｅｎｇｔｈの確度が低い場合の係数レベルを未選択として、後の未選択係数レベルの選択時に処理することとしてもよい。
【０１７９】
上述のステップＳ６０３、６０４の処理が終了すると、量子化部１３は、以上の処理（上述のステップＳ６０３、６０４の処理）で、未選択のままである係数について、スキャンの逆順ｉ＝ｉ１，…，０に、係数レベルｌｉを選択していく（Ｓ６０５、Ｓ６０６）。ここまでの処理で、選択済みの係数成分の処理は、スキップする。
【０１８０】
すなわち、スキャンの逆順ｉ＝ｉ１，…，０に、各ｉについて、ｕｉとしてｔｉを選択した場合とｔｉ＋１を選択した場合の符号量の変化量△Ｒｉをもとめ、以下の（７１）式のＲＤコストの変化量の符号の判断により、ｔｉもしくは、ｔｉ＋１から係数レベルを選択していく。すなわち、△Ｊｉ＜０の場合にｔｉ＋１を選択する。選択されたｕｉ用いて、係数レベルｌｉを順次更新していく。
【０１８１】
△Ｊｉ＝△Ｅｉ＋μ△Ｒｉ…（７１）
符号量の変化量△Ｒｉの算出時には必要に応じて、初期値のままの、あるいは、それまでの処理により更新された場合は更新された係数レベルｌｉを参照して算出する。△Ｒｉの計算は、第２の実施形態で記載したのと同様に、ｔｉを選択した場合と、ｔｉ＋１を選択した場合の間で、符号量に変化のあるシンタックスエレメントのみを考慮すればよく、効率的に△Ｒｉの計算処理に関連するシンタックスエレメントを絞り込むことができる。
【０１８２】
（Ｄ−２）第４の実施形態の効果
第４の実施形態によれば、第２の実施形態の効果に加えて、以下のような効果を奏することができる。
【０１８３】
第２の実施形態に必要であった、係数のソート処理が不要となり、さらに、係数レベルの初期値の設定時に、ｓｕｆｆｉｘＬｅｎｇｔｈにしたがって係数レベルの符号長差のみで選択可能な係数については、選択を行ってしまうため、ブロック全体の符号量変化を見ながら選択する係数の個数を削減でき、第２の実施形態と比べてもさらに少ない演算量、処理用で、量子化処理を行うことができる。
【０１８４】
（Ｅ）第５の実施形態
以下、本発明による量子化装置、プログラム及び方法、並びに、動画像符号化装置の第５の実施形態を、図面を参照しながら詳述する。なお、第５の実施形態の量子化装置は、量子化部であるものとして説明する。
【０１８５】
（Ｅ−１）第５の実施形態の構成及び動作
第５の実施形態では、第１〜第４の実施形態のような、係数ブロック単位での量子化処理ののち、複数の係数ブロックを含む、より大きな単位での量子化結果の最適化処理を行う。
【０１８６】
例えば、Ｈ．２６４の４×４変換係数の場合、ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎにより、４×４ブロックを４つ集めた８×８の単位で、係数の有無（なしの場合は対象となるブロックのすべての係数レベルが０であることを表す）を制御でき、この制御によるレート歪コストの変化量を評価して量子化の最適化処理を行う。
【０１８７】
第５の実施形態は、第１の実施形態における量子化部１３が、量子化部１３Ａに置き換わっているだけであるので、量子化部１３Ａ以外の構成については説明を省略する。
【０１８８】
図９は、第５の実施形態の量子化部１３Ａ内部の機能的構成について示したブロック図である。
【０１８９】
量子化部１３Ａは、量子化処理部１３５、歪変化量総和計算部１３６、レート変化量計算部１３７、係数レベル選択部１３８を有している。
【０１９０】
量子化処理部１３５では、変換係数をブロック単位に受け取り、所定の量子化パラメータＱＰにしたがって、第１〜４の実施形態のようなブロック単位での、ＲＤ最適な係数レベルの選択による量子化処理を行い、得られたブロック単位の係数レベルと、絶対値が１である係数レベルに関しては、△Ｅｉを出力する。
【０１９１】
以下では、例として、ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎで表現される、ある８×８ブロックに関して、そこに含まれる４×４ブロック４個の係数レベルを同時に最適化する例について記載するが、この例に限定されず、複数の係数ブロックを同時に係数なしと制御することが可能なそのほかの制御方法の場合も、同様に構成可能である。
【０１９２】
以下の処理は、ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎで制御可能な８×８ブロックに含まれる４×４ブロックの係数レベルが、絶対値１よりも大きな係数レベル値を有しない時、すなわち、係数レベル値が−１，０，１のみからなる時に行う。また、すべての係数レベル値が０である場合も、処理は行わない。
【０１９３】
歪変化量総和計算部１３６は、歪の変化量△Ｅとして、係数レベル値の絶対値が１である係数成分に関する歪の変化量△Ｅｉをすべて加算して求める。
【０１９４】
すなわち、係数ブロックｊに関する非ゼロ係数の歪の変化量△Ｅｉの和であるｅｊを以下の（７２）式により求める。このとき係数レベル値が０であるｉに関する△Ｅｉは加算しない。
【０１９５】
ｅｊ＝Σｉ（ｌｉ≠０）△Ｅｉ  …（７２）
歪変化量総和計算部１３６は、対象ブロック全体にわたる歪の変化量の総和△Ｅを、以下の（７３）式により求める。△Ｅは、対象係数ブロックをすべて係数なしとした場合から、ブロック単位での量子化結果の状態（絶対値１の係数が含まれる）へのスケールされた歪の変化量となる。
【０１９６】
△Ｅ＝Σｊｅｊ  …（７３）
レート変化量計算部１３７は、符号量の変化量として、係数ブロックｊを、ＣＡＢＡＣもしくはＣＡＶＬＣ等のエントロピー符号化器で符号化する場合の符号量をｒｊとして求める。そして、レート変化量計算部１３７は、△Ｒをこれらの総和と、ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎにより、これらすべての符号語を符号化しない場合の差として、以下の（７４）式により求める。ただし、（７４）式の第２項のｂｉｔｓ（）の差は、ｃｏｄｅｄ＿ｂｌｏｃｋ＿ｐａｔｔｅｒｎの、対象としている８×８領域全体の係数の有無を制御した場合の符号量の差であり、使用するＣＡＢＡＣ，ＣＡＶＬＣ等のエントロピー符号化によって決まる値である。また、この符号量の差が非常に小さいものとみなして無視（計算しない）する構成としてもよい。
【０１９７】
△Ｒ＝Σｊｒｊ＋（ｂｉｔｓ（ＣＢＰ＝１）−ｂｉｔｓ（ＣＢＰ＝０））  …（７４）
そして、係数レベル選択部１３８は、得られた△Ｅと△Ｒと、スケールされたラグランジュ乗数μを用いて、複数ブロックを同時に係数なしとする場合と、ブロックごとの量子化処理による係数レベルを使用する場合のＲＤコストの変化量△Ｊを、以下の（７５）式により求め、△Ｊ≧０の場合は、対象ブロックをすべて係数なしとする。△Ｊ＜０の場合、もしくは、上記で処理対象としなかった、絶対値２以上の係数レベルを含む場合等は、ブロックごとの量子化処理結果をそのまま出力する。
【０１９８】
△Ｊ＝△Ｅ＋μ△Ｒ  …（７５）
（Ｅ−２）第５の実施形態の効果
第５の実施形態によれば、以下のような効果を奏することができる。
【０１９９】
複数ブロックを含むより大きな単位での量子化結果の最適化処理を、行うことができ、符号化効率が向上できる。また、このときのＲＤコストの評価をスケールされた係数レベルの領域で行い、また、変化量のみを評価しているので、歪の変化量の評価を乗算なしで行うことができ、軽微な処理負荷で実現できる。
【０２００】
（Ｆ）他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【０２０１】
（Ｆ−１）上記の各実施形態では、本発明の動画像符号化装置（量子化装置）をＨ．２６４に適用する場合の例について説明したが、本発明は上記実施形態に限定されず、変換係数の量子化と、エントロピー符号化を含むようなさまざまな動画像符号化処理における量子化処理に適用可能である。
【符号の説明】
【０２０２】
１０…動画像符号化装置、１１…予測差信号生成器、１２…変換部、１３…量子化部、１４…エントロピー符号化部、１５…逆量子化・逆変換部、１６…復号画像生成部、１７…フレームバッファ、１８…予測部、１３１…スケール計算部、１３２…歪変化量計算部、１３３…レート変化量計算部、１３４…係数レベル選択部。
【図１】
0005423469.tif 000003
【図２】
0005423469.tif 000004
【図３】
0005423469.tif 000005
【図４】
0005423469.tif 000006
【図５】
0005423469.tif 000007
【図６】
0005423469.tif 000008
【図７】
0005423469.tif 000009
【図８】
0005423469.tif 000010
【図９】
0005423469.tif 000011