(57)【要約】【課題】演算処理の並列化を可能にして処理性能の向上を図ること。【解決手段】量子化装置１００は、スケーリング部１０１と、係数絶対値決定部１０２と、最終係数位置決定部１０３と、を含む。スケーリング部１０１は、スケーリング部＃１〜＃ｎを有し、対象ブロックＢの変換係数Ｃ１〜Ｃｎに対してスケーリングを行う。係数絶対値決定部１０２は、係数絶対値決定部＃１〜＃ｎを有し、変換係数Ｃ１〜Ｃｎのスケーリング結果を量子化した量子化係数Ｐ１〜Ｐｎの係数絶対値を決定する。最終係数位置決定部１０３は、係数絶対値決定部１０２によって決定された量子化係数Ｐ１〜Ｐｎの係数絶対値に基づいて、対象ブロックＢの最終係数位置を決定する。【選択図】図１
2015050608.tif 000002
【特許請求の範囲】
【請求項１】
符号化対象の動画像を構成する入力画像と前記入力画像の予測画像との予測残差信号を直交変換した変換係数を量子化する量子化装置において、
対象ブロックの変換係数に対してスケーリングを行う第１の処理部と、
前記第１の処理部によってスケーリングされた変換係数を量子化して得られる量子化係数の複数の係数絶対値候補のいずれかの係数絶対値候補を用いて前記対象ブロックを符号化するコストを、前記対象ブロックを符号化した場合の量子化誤差と符号量を用いて算出する第２の処理部と、を有し、
前記第２の処理部は、前記量子化係数に係る符号化要素の存否を示す条件、または、前記量子化係数の係数絶対値候補、係数位置および特定のパラメータの少なくともいずれかに応じて前記符号化要素の存否を選択する条件のいずれかの条件で前記符号化要素を二値化して得られる前記符号化要素の符号量に基づいて、前記対象ブロックを符号化した場合の符号量を算出することを特徴とする量子化装置。
【請求項２】
前記第２の処理部は、前記符号化要素に対応するｂｉｎ数を累積加算することにより前記対象ブロックを符号化した場合の符号量を算出することを特徴とする請求項１に記載の量子化装置。
【請求項３】
前記第２の処理部は、算出した前記コストに基づいて、前記複数の係数絶対値候補から前記量子化係数の係数絶対値を決定することを特徴とする請求項１または２に記載の量子化装置。
【請求項４】
前記第２の処理部は、算出した前記コストに基づいて、前記対象ブロックの量子化係数を逆スキャン順に並べた量子化係数列の最終係数位置を決定することを特徴とする請求項１〜３のいずれか一つに記載の量子化装置。
【請求項５】
前記第２の処理部は、前記符号化要素が、前記対象ブロックの量子化係数を逆スキャン順に並べた量子化係数列の最終係数位置から先頭側の各位置の量子化係数が非零か否かを示す情報の場合、前記対象ブロックの全ての量子化係数について前記符号化要素が存在するとする条件、前記対象ブロックの全ての量子化係数について前記符号化要素が存在しないとする条件、前記量子化係数の係数位置、特定のパラメータに応じて前記符号化要素の存否を設定する条件のいずれかの条件で前記符号化要素を二値化することを特徴とする請求項１〜４のいずれか一つに記載の量子化装置。
【請求項６】
前記第２の処理部は、前記符号化要素が、前記対象ブロックの量子化係数を逆スキャン順に並べた量子化係数列の末尾から最大７個の非零係数の係数絶対値が１か否かを示す情報の場合、係数絶対値がある非負整数以下である量子化係数については前記符号化要素が存在しないとし、それ以外の量子化係数については前記符号化要素が存在するとする条件、係数絶対値がある非負整数以下である量子化係数については前記符号化要素が存在するとし、それ以外の量子化係数については前記符号化要素が存在しないとする条件、係数絶対値がある非負整数以下である量子化係数については前記符号化要素が存在しないとし、それ以外の量子化係数については当該量子化係数の係数位置、特定のパラメータに応じて前記符号化要素の存否を設定する条件のいずれかの条件で前記符号化要素を二値化することを特徴とする請求項１〜５のいずれか一つに記載の量子化装置。
【請求項７】
前記第２の処理部は、前記符号化要素が、前記対象ブロックの量子化係数を逆スキャン順に並べた量子化係数列の末尾からみて係数絶対値が２以上の最初の量子化係数の係数絶対値が３以上か否かを示す情報の場合、前記対象ブロックの全ての量子化係数について前記符号化要素が存在しないとする条件で前記符号化要素を二値化することを特徴とする請求項１〜６のいずれか一つに記載の量子化装置。
【請求項８】
前記第２の処理部は、前記符号化要素が、前記対象ブロックの量子化係数を逆スキャン順に並べた量子化係数列の非零係数の符号を示す情報の場合、係数絶対値が零の量子化係数については前記符号化要素が存在しないとし、それ以外の量子化係数については前記符号化要素が存在するとする条件で前記符号化要素を二値化することを特徴とする請求項１〜７のいずれか一つに記載の量子化装置。
【請求項９】
前記第２の処理部は、前記符号化要素が、係数絶対値が２以上の量子化係数の係数絶対値を二値化した情報を示す場合、前記対象ブロックの全ての量子化係数について前記符号化要素が存在するとする条件、係数絶対値がある非負整数以下である量子化係数については前記符号化要素が存在しないとし、それ以外の量子化係数について前記符号化要素が存在するとする条件のいずれかの条件で前記符号化要素を二値化することを特徴とする請求項１〜８のいずれか一つに記載の量子化装置。
【請求項１０】
符号化対象の動画像を構成する入力画像と前記入力画像の予測画像との予測残差信号を直交変換した変換係数を量子化する量子化装置が、
対象ブロックの変換係数に対してスケーリングを行い、
スケーリングした変換係数を量子化して得られる量子化係数の複数の係数絶対値候補のいずれかの係数絶対値候補を用いて前記対象ブロックを符号化するコストを、前記対象ブロックを符号化した場合の量子化誤差と符号量を用いて算出する際に、前記量子化係数に係る符号化要素の存否を示す条件、または、前記量子化係数の係数絶対値候補、係数位置および特定のパラメータの少なくともいずれかに応じて前記符号化要素の存否を選択する条件のいずれかの条件で前記符号化要素を二値化して得られる前記符号化要素の符号量に基づいて、前記対象ブロックを符号化した場合の符号量を算出する、
処理を実行することを特徴とする量子化方法。
【請求項１１】
符号化対象の動画像を構成する入力画像と前記入力画像の予測画像との予測残差信号を直交変換した変換係数を量子化するコンピュータに、
対象ブロックの変換係数に対してスケーリングを行い、
スケーリングした変換係数を量子化して得られる量子化係数の複数の係数絶対値候補のいずれかの係数絶対値候補を用いて前記対象ブロックを符号化するコストを、前記対象ブロックを符号化した場合の量子化誤差と符号量を用いて算出する際に、前記量子化係数に係る符号化要素の存否を示す条件、または、前記量子化係数の係数絶対値候補、係数位置および特定のパラメータの少なくともいずれかに応じて前記符号化要素の存否を選択する条件のいずれかの条件で前記符号化要素を二値化して得られる前記符号化要素の符号量に基づいて、前記対象ブロックを符号化した場合の符号量を算出する、
処理を実行させることを特徴とする量子化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、量子化装置、量子化方法および量子化プログラムに関する。
【背景技術】
【０００２】
Ｈ．２６５は、ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）とも呼ばれる動画圧縮規格の一つである。ＨＥＶＣ等に代表される動画像の圧縮符号化処理では、入力画像を分割した処理単位ごとに、入力画像と予測画像との差分である予測残差信号に直交変換を施した変換係数を量子化し、エントロピー符号化することによって高効率の動画像圧縮を実現する。
【０００３】
この際、量子化により量子化雑音が発生し、復号側で再生される復号画像に歪みが生じる。一方、量子化することで符号化すべき情報量が削減され高効率の圧縮が実現される。符号化における何らかの選択肢の選択時に、歪みとレート（符号量）のトレードオフの評価を行った上で選択する技術として、レート歪み最適化技術がある。
【０００４】
例えば、符号化モード等の選択において、各選択肢についてＲＤコストを算出し、ＲＤコストを最小化するような選択を行うことで、レートと歪みのトレードオフを最適化する技術がある。ＲＤコストは、例えば、各選択肢について、その選択肢を選択した場合に得られる復号画像の歪み「Ｄ」と、その選択肢で符号化したときに発生する符号量「Ｒ」と、ラグランジュ乗数「λ」で表される。
【０００５】
また、レート歪み最適化技術を変換係数の量子化に利用する方法として、いわゆるＲＤＯＱ（Ｒａｔｅ  Ｄｉｓｔｏｒｔｉｏｎ  Ｏｐｔｉｍｉｚｅｄ  Ｑｕａｎｔｉｚａｔｉｏｎ）と呼ばれる技術がある。ＨＥＶＣのリファレンスエンコーダであるＨＭ（ＨＥＶＣ  Ｔｅｓｔ  Ｍｏｄｅｌ）においても、ＲＤＯＱは使用されている。
【０００６】
ＨＭにおけるＲＤＯＱは、『各係数絶対値の決定』と『最終係数位置の決定』の２ステップからなる。なお、動画像符号化においては、ブロック内の係数は、いわゆるスキャン処理によって符号化後ビットストリームで送られる順序が付与される。以下の説明では、この順序を「スキャン順」と表記する場合がある。
【０００７】
『各係数絶対値の決定』では、符号化装置は、ブロック内の各係数に対してスキャン順に、その係数を０とした場合、「量子化結果（係数絶対値）の小数点以下を切り捨てた場合、切り上げた場合の３つの係数値について係数のＲＤコストを算出する。そして、符号化装置は、算出したＲＤコストのうちの最も小さなＲＤコストを示した係数絶対値を仮の係数絶対値として採用する。
【０００８】
『最終係数位置の決定』では、符号化装置は、ブロック内の非零である仮の係数絶対値に対してスキャン順に、その係数を０に変えてよいか、すなわち、最終係数位置をスキャン順でつぎの非零係数としてよいかを評価する。そして、符号化装置は、その評価結果に従って仮の係数絶対値を更新、すなわち、該当位置の係数を０にする。
【０００９】
この評価は、処理対象位置の仮の係数絶対値に１より大きいものが出てくるか、ブロック内の全ての非零の仮の係数絶対値についての評価をする（これはブロック内の全ての非零の仮の係数絶対値が１であったことを示す）まで行う。各係数を０に変えてよいかは、その係数を０に変えた時のブロック全体のＲＤコストを算出し、これがその係数を０に変える前のブロック全体のＲＤコストを下回るかで判断する。
【００１０】
下回った場合には最良コストをそのＲＤコストとする。最良コストの初期値は、例えば、『各係数絶対値の決定』で決定された仮の係数絶対値によるブロック全体のＲＤコストと、全ての係数が０であった時のＲＤコストのうちの小さい方とする。『最終係数位置の決定』が完了した時点での仮の係数絶対値が、最終的な係数絶対値となる。
【００１１】
ＲＤＯＱにおけるＲＤコスト算出のために必要なレート（符号量）は、ＨＥＶＣにおいてはＣＡＢＡＣ処理の結果として得られる。ＣＡＢＡＣ処理では、各係数絶対値や、最終係数位置情報等のシンボル（Ｓｙｎｔａｘ  Ｅｌｅｍｅｎｔ）を直列に処理するため、処理に要する時間は長いものとなる。
【００１２】
一方、ＲＤＯＱ処理はなるべく高速に行われることが望ましい。例えば、処理対象ブロックのつぎに符号化されるブロックがイントラ予測であるために処理対象ブロックの処理結果（ＬｏｏｐＦｉｌｔｅｒ処理前の局所復号画像）を参照する場合がある。この場合、ＲＤＯＱにおける遅延がそのまま次の処理ブロックのイントラ予測開始の遅延となり、符号化処理全体の遅延となる可能性が極めて高い。
【００１３】
関連する先行技術としては、例えば、入力動画像信号を予測符号化により複数の符号化モードで符号化して得られる符号化要素から、処理負担の大きな算術符号化を行う前のＢｉｎ数として符号量を計測し、最も符号量の小さい符号化モードを選択するものがある。
【００１４】
また、動画像の各ピクチャのデータ列を二値列へ変換する変換手段の出力で発生データ量を見積って量子化制御を順次行うとともに、変換手段により変換された二値列を算術符号列へ変換する算術符号化手段の出力から発生データ量を検出し、発生データの見積もり量の補正を行う技術がある。
【００１５】
また、ｂｉｎ量の増大によりしきい値を境にして次数が変化する予測関数を用いて、ｂｉｎ量から発生ビット量を予測してレート制御する技術がある。また、量子化部の量子化値をもとに符号量推定部で変換テーブルを参照して、ＣＡＢＡＣ後の符号量を推定し、推定符号量を基にレート制御判定部が予測処理部および量子化部に制御量に応じた符号化条件を返すことでレート制御を行う技術がある。
【００１６】
また、ＭＢパイプライン構成の画像符号化装置において、ｎ番目のＭＢの二値化シンボル長をｎ＋１番目のＭＢに対する量子化パラメータに反映させることができるようにするための技術がある。また、入力信号の分布に依存することなく、与えられた符号量の制約条件下において近似誤差を最小化する適応量子化を行うための技術がある。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００５−３１８２９６号公報
【特許文献２】特開２００８−０１０９４３号公報
【特許文献３】特開２００９−０５５３８４号公報
【特許文献４】特開２００７−１５８４３０号公報
【特許文献５】特開２０１０−１０９９１２号公報
【特許文献６】特開２０１２−０６０２１０号公報
【非特許文献】
【００１８】
【非特許文献１】Ｍａｒｔａ  Ｋａｒｃｚｅｗｉｃｚ、Ｙａｎ  Ｙｅ、Ｐｅｉｓｏｎｇ  Ｃｈｅｎ著、「Ｒａｔｅ  Ｄｉｓｔｏｒｔｉｏｎ  Ｏｐｔｉｍｉｚｅｄ  Ｑｕａｎｔｉｚａｔｉｏｎ」、［平成２５年７月２日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｆｔｐ３．ｉｔｕ．ｉｎｔ／ａｖ−ａｒｃｈ／ｊｖｔ−ｓｉｔｅ／２００８＿０４＿Ｇｅｎｅｖａ／ＪＶＴ−ＡＡ０２６．ｚｉｐ＞
【発明の概要】
【発明が解決しようとする課題】
【００１９】
しかしながら、従来技術では、ＲＤＯＱ処理におけるコストの導出演算の処理間に依存関係があるため、コストの導出演算にかかる処理を並列化することができず、ＲＤＯＱ処理における処理性能を高めることが難しいという問題がある。
【００２０】
例えば、ＨＥＶＣにおいては、ＲＤＯＱ処理の各ＲＤコストの算出に用いるシンタックスエレメント値の間に依存関係が存在する。このため、『直前の係数絶対値の値がいくつであるか？』、『直前の非零係数を０に変えたか？』などが、現在の係数または係数位置におけるＲＤコストに影響を与え、係数絶対値を最適化するＲＤＯＱ処理におけるコストの導出演算を係数ごとに並列に行うことができない。これに対して、ＲＤＯを行わない量子化処理では、係数間に依存関係が存在しないため、係数ごとに並列に処理を行うことができる。このため、ＲＤＯを行わない量子化処理と同程度の処理時間でＲＤＯＱ処理を実現することは困難である。
【００２１】
一つの側面では、本発明は、演算処理の並列化を可能にして処理性能の向上を図ることができる量子化装置、量子化方法および量子化プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２２】
本発明の一側面によれば、符号化対象の動画像を構成する入力画像と前記入力画像の予測画像との予測残差信号を直交変換した変換係数を量子化する量子化装置が、対象ブロックの変換係数に対してスケーリングを行い、スケーリングした変換係数を量子化して得られる量子化係数の複数の係数絶対値候補のいずれかの係数絶対値候補を用いて前記対象ブロックを符号化するコストを、前記対象ブロックを符号化した場合の量子化誤差と符号量を用いて算出する際に、前記量子化係数に係る符号化要素の存否を示す条件、または、前記量子化係数の係数絶対値候補、係数位置および特定のパラメータの少なくともいずれかに応じて前記符号化要素の存否を選択する条件のいずれかの条件で前記符号化要素を二値化して得られる前記符号化要素の符号量に基づいて、前記対象ブロックを符号化した場合の符号量を算出する量子化装置、量子化方法および量子化プログラムが提案される。
【発明の効果】
【００２３】
本発明の一態様によれば、演算処理の並列化を可能にして処理性能の向上を図ることができるという効果を奏する。
【図面の簡単な説明】
【００２４】
【図１】図１は、量子化装置１００の機能的構成例を示すブロック図である。
【図２】図２は、ＴＲ  ｂｉｎａｒｉｚａｔｉｏｎの疑似コードの一例を示す説明図である。
【図３】図３は、ＥＧｋ  ｂｉｎａｒｉｚａｔｉｏｎの疑似コードの一例を示す説明図である。
【図４】図４は、ＨＥＶＣの勧告書を示す説明図（その１）である。
【図５】図５は、ＨＥＶＣの勧告書を示す説明図（その２）である。
【図６】図６は、量子化装置１００の量子化処理手順の一例を示すフローチャート（その１）である。
【図７】図７は、量子化係数Ｐｉの係数絶対値決定処理の具体的処理手順の一例を示すフローチャートである。
【図８】図８は、ＲＤコスト導出処理の具体的処理手順の一例を示すフローチャートである。
【図９】図９は、符号量導出処理の具体的処理手順の一例を示すフローチャートである。
【図１０】図１０は、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ符号量算出処理の具体的処理手順の一例を示すフローチャートである。
【図１１】図１１は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ符号量算出処理の具体的処理手順の一例を示すフローチャートである。
【図１２】図１２は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ符号量算出処理の具体的処理手順の一例を示すフローチャートである。
【図１３】図１３は、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ符号量算出処理の具体的処理手順の一例を示すフローチャートである。
【図１４】図１４は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ符号量算出処理の具体的処理手順の一例を示すフローチャートである。
【図１５】図１５は、量子化装置１００の量子化処理手順の一例を示すフローチャート（その２）である。
【図１６】図１６は、対象ブロックＢの量子化係数Ｐ１〜Ｐｎの具体例を示す説明図である。
【図１７】図１７は、符号化装置の構成例を示すブロック図である。
【発明を実施するための形態】
【００２５】
以下に図面を参照して、本発明にかかる量子化装置、量子化方法および量子化プログラムの実施の形態を詳細に説明する。
【００２６】
（量子化装置１００の一実施例）
まず、実施の形態にかかる量子化装置１００の一実施例について説明する。
【００２７】
図１は、量子化装置１００の機能的構成例を示すブロック図である。図１において、量子化装置１００は、スケーリング部１０１と、係数絶対値決定部１０２と、最終係数位置決定部１０３と、を含む。具体的には、例えば、各機能部は、論理積回路であるＡＮＤ、否定論理回路であるＩＮＶＥＲＴＥＲ、論理和回路であるＯＲ、論理和否定回路であるＮＯＲや、ラッチ回路であるＦＦ（Ｆｌｉｐ  Ｆｌｏｐ）などの素子によって形成されてもよい。また、各機能部は、例えば、Ｖｅｒｉｌｏｇ−ＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）などの記述によって機能定義し、その記述を論理合成してＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）によって実現してもよい。また、各機能部は、例えば、メモリに記憶されたプログラムをＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に実行させることにより、または、アクセラレータにより、またはＣＰＵとアクセラレータとで処理を分担して、その機能を実現することにしてもよい。
【００２８】
スケーリング部１０１は、スケーリング部＃１〜＃ｎを有し、対象ブロックＢの変換係数Ｃ１〜Ｃｎに対してスケーリングを行う。ここで、対象ブロックＢとは、入力画像と予測画像との差分である予測残差信号に対して直交変換を行う処理単位である。入力画像は、動画像を構成する画像である。予測画像は、イントラ予測や動き補償予測等によって生成される画像である。
【００２９】
対象ブロックＢは、例えば、ＴＢ（Ｔｒａｎｓｆｏｒｍ  Ｂｌｏｃｋ）であり、４画素×４画素、８画素×８画素、１６画素×１６画素、３２画素×３２画素のいずれかの処理単位である。変換係数Ｃ１〜Ｃｎは、対象ブロックＢの各画素に対して、離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）等の直交変換を施した係数（例えば、ＤＣＴ係数）である。各変換係数Ｃ１〜Ｃｎは、直交変換後の対象ブロックＢの各周波数成分を示す。
【００３０】
以下の説明では、スケーリング部＃１〜＃ｎのうちの任意のスケーリング部を「スケーリング部＃ｉ」と表記し、対象ブロックＢの変換係数Ｃ１〜Ｃｎのうちの任意の変換係数を「変換係数Ｃｉ」と表記する場合がある（ｉ＝１，２，…，ｎ）。また、変換係数Ｃ１〜Ｃｎは、スキャン順とは逆の順序（逆スキャン順）に並べたものとする。また、対象ブロックＢを直交変換、量子化した結果に対して可変長符号等のエントロピー符号化する際の処理単位を「サブブロックｓｂ」と表記する場合がある。
【００３１】
具体的には、例えば、スケーリング部＃ｉは、変換係数Ｃｉの絶対値に対して、係数位置、スケーリングリスト値、対象ブロックＢの特徴量、量子化パラメータ値に応じた値を乗ずることにより、変換係数Ｃｉのスケーリングを行う。
【００３２】
係数位置とは、例えば、対象ブロックＢのブロックサイズ、対象ブロックＢにおける変換係数Ｃｉの位置を含む情報である。スケーリングリスト値とは、周波数に応じて量子化の重みを調整する量子化マトリクスの値である。対象ブロックＢの特徴量を表すパラメータとしては、例えば、ＴＭ５レートコントロールで使用されるアクティビティがある。アクティビティは、対象ブロックＢ内の各画素と平均値の差の二乗和を、対象ブロックＢ内の画素数で割ったものである。量子化パラメータ値とは、量子化の際の除数の大きさを表現するための量子化パラメータの値である。
【００３３】
係数絶対値決定部１０２は、係数絶対値決定部＃１〜＃ｎを有し、変換係数Ｃ１〜Ｃｎのスケーリング結果を量子化した量子化係数Ｐ１〜Ｐｎの係数絶対値を決定する。以下の説明では、係数絶対値決定部＃１〜＃ｎのうちの任意の係数絶対値決定部を「係数絶対値決定部＃ｉ」と表記する場合がある。
【００３４】
具体的には、例えば、まず、係数絶対値決定部＃ｉは、変換係数Ｃｉのスケーリング結果を、係数位置、スケーリングリスト値、対象ブロックＢの特徴量、量子化パラメータ値から決まるシフト量で右シフトさせることにより量子化を行う。
【００３５】
つぎに、係数絶対値決定部＃ｉは、変換係数Ｃｉのスケーリング結果を量子化した量子化結果の小数点以下を切り上げたものを量子化係数Ｐｉの係数絶対値候補ＡＶＣ１として求める。また、係数絶対値決定部＃ｉは、量子化結果の小数点以下を切り捨てたものを量子化係数Ｐｉの係数絶対値候補ＡＶＣ２として求める。また、係数絶対値決定部＃ｉは、量子化結果を「０」としたものを量子化係数Ｐｉの係数絶対値候補ＡＶＣ３とする。
【００３６】
つぎに、係数絶対値決定部＃ｉは、量子化係数Ｐｉの各係数絶対値候補ＡＶＣ１〜ＡＶＣ３についてのＲＤコストＪ１〜Ｊ３を算出する。ここで、ＲＤコストＪとは、ＲＤＯＱ処理において、レート（符号量）と歪みのトレードオフの最適化を行う際に用いられる評価値である。ここでは、ＲＤコストＪを、対象ブロックＢを符号化するコストとして、量子化係数Ｐｉの係数絶対値の最適化を行う際の評価値に用いる。
【００３７】
具体的には、例えば、係数絶対値決定部＃ｉは、下記式（１）を用いて、量子化係数Ｐｉの係数絶対値を係数絶対値候補ＡＶＣｋとした場合のＲＤコストＪｋを算出する（ｋ＝１，２，３）。ただし、Ｊｋは、量子化係数Ｐｉの係数絶対値を係数絶対値候補ＡＶＣｋとした場合の対象ブロックＢの１周波数成分についてのＲＤコストＪである。Ｄｋは、量子化係数Ｐｉの係数絶対値を係数絶対値候補ＡＶＣｋとして対象ブロックＢを符号化した場合の量子化誤差（復号画像の歪み）である。量子化誤差Ｄｋは、例えば、復号画素値と入力画素値との２乗誤差の和で評価される。Ｒｋは、量子化係数Ｐｉの係数絶対値を係数絶対値候補ＡＶＣｋとして対象ブロックＢを符号化した場合の符号量である。λは、ラグランジュ乗数である。
【００３８】
Ｊｋ＝Ｄｋ＋λ・Ｒｋ      ・・・（１）
【００３９】
ここで、係数絶対値決定部＃ｉは、下記条件（Ａ）または（Ｂ）のいずれかの条件で符号化要素を二値化して得られる符号化要素の符号量ｒに基づいて、対象ブロックＢを符号化した場合の符号量Ｒｋを算出する。
【００４０】
（Ａ）量子化係数Ｐｉに係る符号化要素の存否を示す条件
（Ｂ）量子化係数Ｐｉの係数絶対値候補ＡＶＣ、係数位置および特定のパラメータの少なくともいずれかに応じて符号化要素の存否を選択する条件
【００４１】
ここで、特定のパラメータとは、変換係数Ｃ１〜Ｃｎ、量子化係数Ｐ１〜Ｐｎとは異なる他のパラメータであり、ピクチャタイプ（Ｉピクチャ、Ｐピクチャ、Ｂピクチャ）、参照構造において符号化対象ピクチャがどのピクチャであるか、予測モード（Ｉｎｔｒａ／Ｉｎｔｅｒ）、量子化パラメータおよびスケーリングリストなどである。
【００４２】
また、符号化要素とは、ビットストリームの中に入るＳｙｎｔａｘ  Ｅｌｅｍｅｎｔである。符号化要素としては、例えば、下記（ｉ）〜（ｖ）のようなものがある。
【００４３】
（ｉ）対象ブロックＢの量子化係数Ｐ１〜Ｐｎを逆スキャン順に並べた量子化係数列Ｌの最終係数位置から先頭側の各位置の量子化係数Ｐｉが非零か否かを示す情報（後述する「ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ」に相当）
（ｉｉ）対象ブロックＢの量子化係数Ｐ１〜Ｐｎを逆スキャン順に並べた量子化係数列Ｌの末尾から最大７個の非零係数の係数絶対値が１か否かを示す情報（後述する「ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ」に相当）
（ｉｉｉ）対象ブロックＢの量子化係数Ｐ１〜Ｐｎを逆スキャン順に並べた量子化係数列Ｌの末尾からみて係数絶対値が２以上の最初の量子化係数Ｐｉの係数絶対値が３以上か否かを示す情報（後述する「ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ」に相当）
（ｉｖ）対象ブロックＢの量子化係数Ｐ１〜Ｐｎを逆スキャン順に並べた量子化係数列Ｌの非零係数の符号を示す情報（後述する「ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ」に相当）
（ｖ）係数絶対値が２以上の量子化係数Ｐｉの係数絶対値を二値化した情報（後述する「ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ」に相当）
【００４４】
符号化要素には（例えば、上記（ｉ）〜（ｖ））、例えば、スキャン順において先に処理される位置の量子化係数が確定しないと得られないものがある。このため、ＲＤＯＱ処理におけるＲＤコストＪの導出演算の処理間に依存関係が存在し、ＲＤコストＪの導出演算にかかる処理を並列化することができない。
【００４５】
そこで、本実施の形態では、量子化装置１００は、ＲＤＯＱ処理におけるＲＤコストＪの導出演算において量子化係数間の依存関係をなくす近似演算を行うことにより、ＲＤコストＪの導出演算にかかる処理の並列化を可能にする。
【００４６】
具体的には、例えば、係数絶対値決定部＃ｉは、上記条件（Ａ）または（Ｂ）で示すように、初期設定、あるいは、他の量子化係数に依存しない情報に応じて各符号化要素の存否を選択して、各符号化要素の符号量ｒを算出する。そして、係数絶対値決定部＃ｉは、算出した各符号化要素の符号量ｒを累積加算することにより符号量Ｒを算出する。符号量ｒは、例えば、符号化要素に対応するｂｉｎ数である。ｂｉｎ数は、符号化要素を二値化して得られるビット列（ｂｉｎ）のビット数である。
【００４７】
符号化要素を二値化する手法としては、例えば、Ｂｉｎａｒｉｚａｔｉｏｎ  ｐｒｏｃｅｓｓ  ｆｏｒ  ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ、ＦＬ（Ｆｉｘｅｄ  Ｌｅｎｇｔｈ）  ｂｉｎａｒｉｚａｔｉｏｎ、ＴＲ（Ｔｒｕｎｃａｔｅｄ  Ｒｉｃｅ）  ｂｉｎａｒｉｚａｔｉｏｎ、ＥＧｋ（ｋ−ｔｈ  ｏｒｄｅｒ  Ｅｘｐ−Ｇｏｌｏｍｂ）  ｂｉｎａｒｉｚａｔｉｏｎがある。
【００４８】
Ｂｉｎａｒｉｚａｔｉｏｎ  ｐｒｏｃｅｓｓ  ｆｏｒ  ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇは、係数絶対値が２以上の量子化係数Ｐｉの係数絶対値を二値化する処理である。Ｂｉｎａｒｉｚａｔｉｏｎ  ｐｒｏｃｅｓｓ  ｆｏｒ  ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの具体的な処理内容については、図１４を用いて後述する。また、ＦＬ  ｂｉｎａｒｉｚａｔｉｏｎは、１ｂｉｔのフラグ情報を対象とした二値化である。ＦＬ  ｂｉｎａｒｉｚａｔｉｏｎでは、二値化対象フラグそのものが、ｂｉｎとなる。
【００４９】
ＴＲ  ｂｉｎａｒｉｚａｔｉｏｎは、Ｂｉｎａｒｉｚａｔｉｏｎ  ｐｒｏｃｅｓｓ  ｆｏｒ  ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの中で行われる二値化処理である（後述する図１４に示すステップＳ１４０６参照）。ＴＲ  ｂｉｎａｒｉｚａｔｉｏｎの処理内容を疑似コードで表すと、図２のようになる。
【００５０】
図２は、ＴＲ  ｂｉｎａｒｉｚａｔｉｏｎの疑似コードの一例を示す説明図である。図２において、疑似コード２００は、ＴＲ  ｂｉｎａｒｉｚａｔｉｏｎの処理内容をＣ言語の疑似コードで表したものである。ＴＲ  ｂｉｎａｒｉｚａｔｉｏｎの入力は、ｓｙｎＶａｌ（Ｓｙｎｔａｘ  Ｅｌｅｍｅｎｔ値）、ｃＭａｘ（Ｐｒｅｆｉｘ部の最大長）、ｃＲｉｃｅＰａｒａｍ（Ｒｉｃｅ符号のパラメータ）であり、出力は、ｂｉｎ列である。ｂｉｎ＿ｓｔｒｉｎｇ＿ｔは、ｂｉｎ列を表す型である。
【００５１】
ＴＲ  ｂｉｎａｒｉｚａｔｉｏｎは、Ｒｉｃｅ符号と呼ばれる符号の一種である。また、Ｒｉｃｅ符号は、Ｇｏｌｏｍｂ符号と呼ばれる種類の正整数を対象とする符号方法の一種である。Ｇｏｌｏｍｂ符号は、符号化対象整数をパラメータｍで割った商と剰余を求めて、それぞれを符号化した結果をｂｉｔ連接したものである。
【００５２】
この商と剰余を符号化したそれぞれをＨＥＶＣの規格内では、「ｐｒｅｆｉｘ部」、「ｓｕｆｆｉｘ部」と呼ぶ。また、Ｇｏｌｏｍｂ符号のうち、ｍ＝２＾ｎのようにｍが２のべき乗であるものをＲｉｃｅ符号と呼び、ＴＲ  ｂｉｎａｒｉｚａｔｉｏｎにおけるｃＲｉｃｅＰａｒａｍは、このｎに相当する。
【００５３】
また、ＥＧｋ  ｂｉｎａｒｉｚａｔｉｏｎは、Ｂｉｎａｒｉｚａｔｉｏｎ  ｐｒｏｃｅｓｓ  ｆｏｒ  ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの中で行われる二値化処理である（後述する図１４に示すステップＳ１４０９参照）。ＥＧｋ  ｂｉｎａｒｉｚａｔｉｏｎの処理内容を疑似コードで表すと、図３のようになる。
【００５４】
図３は、ＥＧｋ  ｂｉｎａｒｉｚａｔｉｏｎの疑似コードの一例を示す説明図である。図３において、疑似コード３００は、ＥＧｋ  ｂｉｎａｒｉｚａｔｉｏｎの処理内容をＣ言語の疑似コードで表したものである。ＥＧｋ  ｂｉｎａｒｉｚａｔｉｏｎの入力は、ｓｙｎＶａｌ（Ｓｙｎｔａｘ  Ｅｌｅｍｅｎｔ値）、ｋ（Ｇｏｌｏｍｂ符号のパラメータ）であり、出力は、ｂｉｎ列である。ｂｉｎ＿ｓｔｒｉｎｇ＿ｔは、ｂｉｎ列を表す型である。
【００５５】
図１の説明に戻り、係数絶対値決定部＃ｉは、算出したＲＤコストＪ１〜Ｊ３に基づいて、量子化係数Ｐｉの係数絶対値を決定する。具体的には、例えば、係数絶対値決定部＃ｉは、ＲＤコストＪ１〜Ｊ３のうちの最小のＲＤコストＪに対応する係数絶対値候補ＡＶＣｋを、量子化係数Ｐｉの係数絶対値に決定する。
【００５６】
最終係数位置決定部１０３は、係数絶対値決定部１０２によって決定された量子化係数Ｐ１〜Ｐｎの係数絶対値に基づいて、対象ブロックＢの最終係数位置を決定する。ここで、最終係数位置とは、量子化係数Ｐ１〜Ｐｎを逆スキャン順に並べた量子化係数列Ｌにおいて、係数絶対値が非零となる最終の量子化係数の位置を示す情報である。
【００５７】
具体的には、例えば、まず、最終係数位置決定部１０３は、下記式（２）を用いて、決定された量子化係数Ｐ１〜Ｐｎの係数絶対値を逆スキャン順に並べた量子化係数列ＬについてのＲＤコストＪ［ｉ］を算出する。ただし、Ｊ［ｉ］は、量子化係数Ｐｉを最終係数位置とした場合の対象ブロックＢの全周波数成分についてのＲＤコストである。Ｄ［ｉ］は、量子化係数Ｐｉを最終係数位置として対象ブロックＢを符号化した場合の量子化誤差（復号画像の歪み）である。Ｒ［ｉ］は、量子化係数Ｐｉを最終係数位置として対象ブロックＢを符号化した場合の符号量である。λは、ラグランジュ乗数である。
【００５８】
Ｊ［ｉ］＝Ｄ［ｉ］＋λ・Ｒ［ｉ］      ・・・（２）
【００５９】
また、最終係数位置決定部１０３は、上記式（２）を用いて、量子化係数Ｐ１〜Ｐｎを全て「０」とした場合のＲＤコストＪ［０］を算出する。そして、最終係数位置決定部１０３は、算出したＲＤコストＪ［ｉ］とＲＤコストＪ［０］のうちの値が小さいほうを最小ＲＤコストＪ［ｍｉｎ］とする。
【００６０】
つぎに、最終係数位置決定部１０３は、上記式（２）を用いて、量子化係数列Ｌ内の非零の係数絶対値に対してスキャン順に、その係数絶対値を「０」に変えた場合のＲＤコストＪ［ｉ］を算出する。そして、最終係数位置決定部１０３は、算出したＲＤコストＪ［ｉ］とＲＤコストＪ［ｍｉｎ］とを比較する。
【００６１】
ここで、ＲＤコストＪ［ｉ］のほうが小さい場合、最終係数位置決定部１０３は、ＲＤコストＪ［ｉ］を最小ＲＤコストＪ［ｍｉｎ］とし、さらに、量子化係数列Ｌ内のつぎの非零の係数絶対値を「０」に変えた場合のＲＤコストＪ［ｉ］を算出する。一方、ＲＤコストＪ［ｍｉｎ］のほうが小さい場合、最終係数位置決定部１０３は、その時点での量子化係数列Ｌの最終係数位置を、対象ブロックＢの最終係数位置に決定する。
【００６２】
このように、量子化装置１００によれば、ＲＤＯＱ処理に用いるＲＤコストＪの算出において、対象ブロックＢ内の量子化係数Ｐｉに係る符号化要素の符号量ｒを、対象ブロックＢ内の他の量子化係数の値に依存することなく求めることができる。これにより、ＲＤＯＱ処理におけるＲＤコストＪ（例えば、ＲＤコストＪｋ）の導出演算にかかる処理の並列化が可能となり、ＲＤＯを行わない量子化処理と同程度の処理時間での処理を可能にして処理性能の向上を図ることができる。
【００６３】
（符号化要素の具体例）
つぎに、図４および図５を用いて、対象ブロックＢの符号化要素（Ｓｙｎｔａｘ  Ｅｌｅｍｅｎｔ）の具体例について説明する。
【００６４】
図４および図５は、ＨＥＶＣの勧告書を示す説明図である。図４および図５において、勧告書４００には、ＨＥＶＣのビットストリームの中に、どのような符号化要素が、どのような順番で入っているのかが記載されている。具体的には、例えば、勧告書４００には、以下に示す符号化要素が記載されている。なお、各符号化要素の直前に付した数字は、ビットストリームの中に入る各符号化要素の順番を示す。
【００６５】
（０）ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇ
ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇは、対象ブロックＢごとに直交変換をする／しないを選択するためのフラグである。
【００６６】
（１）ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｐｒｅｆｉｘ／ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｐｒｅｆｉｘ／ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｓｕｆｆｉｘ／ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｓｕｆｆｉｘ
ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｐｒｅｆｉｘ／ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｐｒｅｆｉｘ／ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｓｕｆｆｉｘ／ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｓｕｆｆｉｘは、対象ブロックＢの最終係数位置を示す情報である。
【００６７】
（１．５）ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇ
ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇは、サブブロックｓｂごとに１つでも非零係数があるか否かを示すフラグである。
【００６８】
（２）ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ
ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇは、量子化係数列Ｌにおいて最終係数位置から左（先頭側）の各位置の量子化係数が非零か否かを示すフラグである。
【００６９】
（３）ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ
ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇは、量子化係数列Ｌにおいて高周波側（末尾側）から最大７個の各非零係数の係数絶対値が「１」か否かを示すフラグである。
【００７０】
（４）ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ
ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇは、量子化係数列Ｌにおいて高周波側（末尾側）からみて係数絶対値が２以上の最初の量子化係数の値が３以上か否かを示すフラグである。
【００７１】
（５）ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ
ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇは、量子化係数列Ｌの非零係数の符号を示すフラグである。ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇは、符号が正の場合は「０」となり、符号が負の場合は「１」となる。
【００７２】
（６）ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ
ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇは、係数絶対値から、１＋ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ＋ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ減じた値を二値化した情報である。
【００７３】
（符号量Ｒｋを算出する具体的な処理内容）
つぎに、ＲＤコストＪｋを求める際に用いる符号量Ｒｋを算出する具体的な処理内容について説明する。ここでは、対象ブロックＢを４画素×４画素の処理単位とする。また、符号量Ｒｋを算出する際に用いる符号化要素を、（２）ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ、（３）ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ、（４）ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ、（５）ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇおよび（６）ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇとする。
【００７４】
（２）ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇについて
係数絶対値決定部＃ｉは、下記条件（２−１）、（２−２）および（２−３）のいずれかの条件に基づいて、量子化係数Ｐｉのｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの符号量ｒ１を算出する。具体的には、例えば、係数絶対値決定部＃ｉは、量子化係数Ｐｉのｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇに対応するｂｉｎ数を符号量ｒ１として算出する。
【００７５】
（２−１）全ての量子化係数Ｐ１〜Ｐｎについて存在するとする
（２−２）全ての量子化係数Ｐ１〜Ｐｎについて存在しないとする
（２−３）量子化係数Ｐｉの係数位置、特定のパラメータに応じて存否を設定する
【００７６】
ここで、ＨＥＶＣの規格によれば、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇが、ある量子化係数に対して存在する条件の１つとして、「ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ／ｙ＿ｐｒｅｆｉｘ／ｓｕｆｆｉｘで示される、対象ブロックＢ内の最終係数位置よりも低周波側の量子化係数であること」というものがある。すなわち、この符号化要素が、ある量子化係数に対して存在するかを判定するには、「該当量子化係数よりも高周波数側に非零係数が存在するか否か」の情報が必要となり、量子化係数間に処理の依存関係が生じる。
【００７７】
これに対して、上記条件（２−１）および（２−２）によれば、ある量子化係数のｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの存否が他の量子化係数の値に依存しないため、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇについての量子化係数間の処理の依存関係を切ることができる。
【００７８】
また、上記条件（２−３）の場合、例えば、特定のパラメータから、対象ブロックＢの最高周波数成分となる確率が最も高い係数位置を推定し、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ／ｙ＿ｐｒｅｆｉｘ／ｓｕｆｆｉｘが、推定した係数位置を示しているものとする。この場合、この係数位置よりも高周波数側の量子化係数では、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇは存在せず、低周波数側の量子化係数では、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇを存在するものと考えることができる。また、特定のパラメータは、対象ブロックＢ、サブブロックｓｂ内の係数値には依存しない。したがって、上記条件（２−３）によれば、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇについての量子化係数間の処理の依存関係を切ることができる。
【００７９】
より具体的には、例えば、係数絶対値決定部＃ｉは、量子化係数Ｐｉのｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇが存在するとした場合、量子化係数Ｐｉのｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの符号量ｒ１を「ｒ１＝１」とする。一方、係数絶対値決定部＃ｉは、量子化係数Ｐｉのｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇが存在しないとした場合、量子化係数Ｐｉのｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの符号量ｒ１を「ｒ１＝０」とする。
【００８０】
（３）ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇについて
係数絶対値決定部＃ｉは、下記条件（３−１）、（３−２）および（３−３）のいずれかの条件に基づいて、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇの符号量ｒ２を算出する。具体的には、例えば、係数絶対値決定部＃ｉは、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇに対応するｂｉｎ数を符号量ｒ２として算出する。
【００８１】
（３−１）係数絶対値がある非負整数以下である量子化係数Ｐｉについては存在しないとし、それ以外は存在するとする
（３−２）係数絶対値がある非負整数以下である量子化係数Ｐｉについては存在するとし、それ以外は存在しないとする
（３−３）係数絶対値がある非負整数以下である量子化係数Ｐｉについては存在しないとし、それ以外は量子化係数Ｐｉの係数位置、特定のパラメータに応じて存否を設定する
【００８２】
ここで、ＨＥＶＣの規格によれば、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇは、サブブロックｓｂ内で高周波数側から数えて７個目までの非零係数に対して存在する。これを判定するには、該当量子化係数よりも高周波側に非零係数がいくつあるかの情報が必要となり、量子化係数間に処理の依存関係が生じる。
【００８３】
これに対して、上記条件（３−１）および（３−２）によれば、ある量子化係数のｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇの存否が該当量子化係数の値（係数絶対値候補）にのみ依存するため、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇについての量子化係数間の処理の依存関係を切ることができる。
【００８４】
また、上記（３−３）の場合、例えば、特定のパラメータから、対象ブロックＢの量子化係数ごとに高周波側から数えて７個目までの非零係数であるかを推定して、この符号化要素の有無を決定することができる。上述したように、特定のパラメータは、対象ブロックＢ、サブブロックｓｂ内の係数値には依存しない。したがって、上記条件（３−３）によれば、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇについての量子化係数間の処理の依存関係を切ることができる。
【００８５】
より具体的には、例えば、係数絶対値決定部＃ｉは、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇが存在するとした場合、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇの符号量ｒ２を「ｒ２＝１」とする。一方、係数絶対値決定部＃ｉは、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇが存在しないとした場合、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇの符号量ｒ２を「ｒ２＝０」とする。
【００８６】
ここで、上記（３−３）についてより詳細に説明すると、上述したように、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇは、サブブロックｓｂ内で高周波数側から数えて７個目までの非零係数に対して存在する。すなわち、サブブロックｓｂ内の１６係数のうち初めの７個については係数絶対値が非零である場合については存在することになる。
【００８７】
そこで、係数絶対値決定部＃ｉは、例えば、係数位置が高周波側からｎ個の非零係数については、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇが存在し、係数位置が低周波側から（１６−ｎ）個の非零係数についてはｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇが存在しないとしてもよい。ここで、ｎは「ｎ≧７」である。
【００８８】
確実にｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇが存在しない範囲を考えると「ｎ＝７」とすべきであるが、実際には高周波側の量子化係数は量子化によって「０」になっていることが十分考えられる。このため、「ｎ＞７」の値を用いたほうが真のｂｉｎ量に近い値を求めることができる。この「ｎ」の値は固定値（すなわち、係数位置に関する情報のみを用いる）でもよく、また、以下のように特定のパラメータを用いて設定することができる。
【００８９】
例えば、予測モード（Ｉｎｔｒａ／Ｉｎｔｅｒ）を用いる場合、Ｉｎｔｅｒ予測のほうがＩｎｔｒａ予測よりも原画に近い画像を生成可能であるため、差分情報が少なくなり、量子化結果においても高周波側に「０」が多く出現する可能性が高い。このため、Ｉｎｔｅｒ予測ほど、ｎの値を大きくすることにしてもよい。
【００９０】
また、例えば、量子化パラメータを用いる場合、量子化パラメータの値の大小によって、量子化の強度、すなわち、「零付近の値のどこまでを量子化結果で零とするか」が変化する。このため、高周波側に「０」が多く出現する可能性が高くなるような量子化パラメータを用いた場合はｎの値を大きくすることにしてもよい。
【００９１】
また、例えば、アクティビティを用いる場合、アクティビティは、その領域の複雑度（大雑把にいうと、細かいテクスチャの強度）を表し、この値が高い領域（対象ブロックＢ）では、より高周波成分が残る可能性が高い。このため、アクティビティが低いほどｎの値を大きくすることにしてもよい。
【００９２】
（４）ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇについて
係数絶対値決定部＃ｉは、下記条件（４−１）に基づいて、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇの符号量ｒ３を算出する。具体的には、例えば、係数絶対値決定部＃ｉは、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇに対応するｂｉｎ数を符号量ｒ３として算出する。
【００９３】
（４−１）全ての量子化係数Ｐ１〜Ｐｎについて存在しないとする
【００９４】
ここで、ＨＥＶＣの規格によれば、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇは、サブブロックｓｂ内で最も高周波側にある、係数絶対値が２以上の量子化係数に対して存在する。サブブロックｓｂ内で最も高周波側にある量子化係数か否かの判定には、対象ブロックＢ、サブブロックｓｂ内の他の量子化係数の値が必要となり、量子化係数間に処理の依存関係が生じる。
【００９５】
これに対して、上記条件（４−１）によれば、ある量子化係数のｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇの存否が他の量子化係数の値に依存しないため、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇについての量子化係数間の処理の依存関係を切ることができる。
【００９６】
より具体的には、例えば、係数絶対値決定部＃ｉは、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇを存在しないとして、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇの符号量ｒ３を「ｒ３＝０」とする。
【００９７】
（５）ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇについて
係数絶対値決定部＃ｉは、下記条件（５−１）に基づいて、量子化係数Ｐｉのｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの符号量ｒ４を算出する。具体的には、例えば、係数絶対値決定部＃ｉは、量子化係数Ｐｉのｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇに対応するｂｉｎ数を符号量ｒ４として算出する。
【００９８】
（５−１）係数絶対値が「０」の量子化係数Ｐｉについては存在しないとし、それ以外は存在するとする
【００９９】
ここで、ＨＥＶＣの規格によれば、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇは、後述するｓｉｇｎ＿ｄａｔａ＿ｈｉｄｉｎｇという技術によって、存在させないことができる（それ以外では存在する）。この存在させない条件の１つとして、「量子化係数Ｐｉが、サブブロックｓｂ内で最高周波側の係数絶対値が非零の係数である」という条件がある。この判定には、量子化係数Ｐｉよりも高周波側の量子化係数が全て零であるかどうかの情報が必要となり、量子化係数間に処理の依存関係が生じる。
【０１００】
これに対して、上記条件（５−１）によれば、ある量子化係数のｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの存否が該当量子化係数の値にのみ依存するため、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇについての量子化係数間の処理の依存関係を切ることができる。
【０１０１】
より具体的には、例えば、係数絶対値決定部＃ｉは、量子化係数Ｐｉのｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇが存在するとした場合、量子化係数Ｐｉのｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの符号量ｒ４を「ｒ４＝１」とする。一方、係数絶対値決定部＃ｉは、量子化係数Ｐｉのｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇが存在しないとした場合、量子化係数Ｐｉのｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの符号量ｒ４を「ｒ４＝０」とする。
【０１０２】
（６）ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇについて
係数絶対値決定部＃ｉは、下記条件（６−１）および（６−２）のいずれかの条件に基づいて、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの符号量ｒ５を算出する。具体的には、例えば、係数絶対値決定部＃ｉは、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇに対応するｂｉｎ数を符号量ｒ５として算出する。
【０１０３】
（６−１）全ての量子化係数Ｐ１〜Ｐｎについて存在するとする
（６−２）係数絶対値がある非負整数以下（例えば、１以下）である係数については存在しないとし、それ以外（例えば、２以上）は存在するとする
【０１０４】
ここで、ＨＥＶＣの規格によれば、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇは、非零係数のうち、「係数値−ｂａｓｅＬｅｖｅｌ」が１以上のものについて存在する。ｂａｓｅＬｅｖｅｌは、「１＋ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ＋ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ」によって求められる。ｃｏｅｆｆ＿ａｂｓ＿ｇｒｅａｔｅｒ１／２＿ｆｌａｇは量子化係数によって存在する場合、しない場合があり、存在しない場合はその値は「０」として扱われる。上述したように、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１／２＿ｆｌａｇの存在を確定させるには、サブブロックｓｂ内の他の量子化係数の値の情報が必要となり、量子化係数間に処理の依存関係が生じる。
【０１０５】
これに対して、上記条件（６−１）および（６−２）によれば、ある量子化係数のｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの存否が他の量子化係数の値に依存しないため、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇについての量子化係数間の処理の依存関係を切ることができる。
【０１０６】
なお、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇが存在する場合に、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの二値化を行うには、サブブロックｓｂ内の直近の高周波側の非零係数の値（ｃＬａｓｔＡｂｓＬｅｖｅｌ）が必要となる。また、ｃＬａｓｔＲｉｃｅＰａｒａｍは、ｃＬａｓｔＡｂｓＬｅｖｅｌの二値化時に算出される。このため、サブブロックｓｂ内の量子化係数間に処理の依存関係が生じる。
【０１０７】
そこで、係数絶対値決定部＃ｉは、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇが存在するとした場合、量子化係数Ｐｉのｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの符号量ｒ５を下記（ｉ）または（ｉｉ）のように決定する。また、係数絶対値決定部＃ｉは、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇが存在しないとした場合、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの符号量ｒ５を「ｒ５＝０」とする。
【０１０８】
（ｉ）量子化係数Ｐｉの係数絶対値から、ある非負整数を減じた値にいずれかのゴロム符号を適用して符号化する。ゴロム符号のパラメータは、量子化係数Ｐｉの係数絶対値または係数位置または特定のパラメータにのみ依存して決定する。
【０１０９】
具体的には、例えば、係数絶対値決定部＃ｉは、量子化係数Ｐｉの係数絶対値から２を減じた値に、「ｃＬａｓｔＡｂｓＬｅｖｅｌ＝＝０」、「ｃＬａｓｔＲｉｃｅＰａｒａｍ＝＝０」とした時の二値化を適用する。この場合、サブブロックｓｂ内の直近の高周波側の非零係数の値に依存せずに、ｃＬａｓｔＡｂｓＬｅｖｅｌ、ｃＬａｓｔＲｉｃｅＰａｒａｍを決定することができる。
【０１１０】
（ｉｉ）量子化係数Ｐｉの係数絶対値から、ある非負整数を減じた値にいずれかのゴロム符号に類する符号化を適用する。
【０１１１】
具体的には、例えば、係数絶対値決定部＃ｉは、量子化係数Ｐｉの係数絶対値から２を減じた値に、γ符号を適用した結果を二値化結果とすることにしてもよい。この場合、サブブロックｓｂ内の直近の高周波側の非零係数の値に依存せずに二値化を行うことができる。
【０１１２】
そして、係数絶対値決定部＃ｉは、各符号化要素の符号量ｒ１〜ｒ５を足し合わせることにより、量子化係数Ｐｉの係数絶対値を係数絶対値候補ＡＶＣｋとして対象ブロックＢを符号化したときに発生する符号量Ｒｋを算出する。
【０１１３】
なお、ここでは符号量Ｒｋを算出する場合を例に挙げて説明したが、量子化係数Ｐｉを最終係数位置として対象ブロックＢを符号化したときに発生する符号量Ｒ［ｉ］を算出する場合も同様である。符号量Ｒ［ｉ］の算出例については、図１６を用いて後述する。
【０１１４】
（量子化装置１００の量子化処理手順）
つぎに、量子化装置１００の量子化処理手順について説明する。
【０１１５】
図６は、量子化装置１００の量子化処理手順の一例を示すフローチャート（その１）である。図６のフローチャートにおいて、まず、量子化装置１００は、係数絶対値配列Ａｂｓ［ｎ］を宣言する（ステップＳ６０１）。係数絶対値配列Ａｂｓ［ｎ］は、各量子化係数Ｐｉの係数絶対値決定処理で決定した係数絶対値を格納する配列である。ただし、「ｉｄｘ＝１」は最も低周波側の係数、「ｉｄｘ＝ｎ」は最も高周波側の係数を格納するものとする。
【０１１６】
そして、量子化装置１００は、対象ブロックＢの各量子化係数Ｐｉのスケーリング処理を並列に実行する（ステップＳ６０２）。つぎに、量子化装置１００は、各量子化係数Ｐｉの係数絶対値決定処理を並列に実行する（ステップＳ６０３）。量子化係数Ｐｉの係数絶対値決定処理の引数は、量子化係数Ｐｉである。量子化係数Ｐｉの係数絶対値決定処理の具体的な処理手順については、図７を用いて後述する。
【０１１７】
そして、量子化装置１００は、対象ブロックＢの最終係数位置決定処理を実行して（ステップＳ６０４）、本フローチャートによる一連の処理を終了する。なお、ステップＳ６０２のスケーリング処理やステップＳ６０３の係数絶対値決定処理の並列化は、例えば、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）命令やＧＰＧＰＵ（Ｇｅｎｅｒａｌ−ｐｕｒｐｏｓｅ  ｃｏｍｐｕｔｉｎｇ  ｏｎ  ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔｓ）によって実現することにしてもよい。
【０１１８】
＜係数絶対値決定処理手順＞
つぎに、図６に示したステップＳ６０３の各量子化係数Ｐｉの係数絶対値決定処理の具体的な処理手順について説明する。
【０１１９】
図７は、量子化係数Ｐｉの係数絶対値決定処理の具体的処理手順の一例を示すフローチャートである。図７のフローチャートにおいて、まず、量子化装置１００は、「量子化係数Ｐｉ＝係数絶対値候補ＡＶＣ１」の場合のＲＤコストＪ１を導出するＲＤコスト導出処理を実行する（ステップＳ７０１）。
【０１２０】
係数絶対値候補ＡＶＣ１は、変換係数Ｃｉのスケーリング結果を量子化した量子化結果の小数点以下を切り上げたものである。ＲＤコスト導出処理の具体的な処理手順については、図８を用いて後述する。ＲＤコスト導出処理の引数は、量子化係数Ｐｉの係数絶対値候補ＡＶＣｋと係数ｉｎｄｅｘである。係数ｉｎｄｅｘは、サブブロックｓｂ内の処理対象となる量子化係数Ｐｉを示す情報である。
【０１２１】
つぎに、量子化装置１００は、「量子化係数Ｐｉ＝係数絶対値候補ＡＶＣ２」の場合のＲＤコストＪ２を導出するＲＤコスト導出処理を実行する（ステップＳ７０２）。係数絶対値候補ＡＶＣ２は、変換係数Ｃｉのスケーリング結果を量子化した量子化結果の小数点以下を切り捨てたものである。
【０１２２】
つぎに、量子化装置１００は、「量子化係数Ｐｉ＝係数絶対値候補ＡＶＣ３」の場合のＲＤコストＪ３を導出するＲＤコスト導出処理を実行する（ステップＳ７０３）。係数絶対値候補ＡＶＣ３は、変換係数Ｃｉのスケーリング結果を量子化した量子化結果を「０」としたものである。
【０１２３】
そして、量子化装置１００は、導出したＲＤコストＪ１〜Ｊ３から最小のＲＤコストＪを選択する（ステップＳ７０４）。つぎに、量子化装置１００は、選択した最小のＲＤコストＪに対応する量子化係数Ｐｉの係数絶対値候補ＡＶＣｋを、量子化係数Ｐｉの係数絶対値に決定する（ステップＳ７０５）。
【０１２４】
そして、量子化装置１００は、係数絶対値配列Ａｂｓ［ｎ］に決定した量子化係数Ｐｉの係数絶対値を格納して（ステップＳ７０６）、量子化係数Ｐｉの係数絶対値決定処理を呼び出したステップに戻る。
【０１２５】
＜ＲＤコスト導出処理手順＞
つぎに、図７に示したステップＳ７０１〜Ｓ７０３のＲＤコスト導出処理の具体的な処理手順について説明する。
【０１２６】
図８は、ＲＤコスト導出処理の具体的処理手順の一例を示すフローチャートである。図８のフローチャートにおいて、まず、量子化装置１００は、量子化係数Ｐｉの係数絶対値を係数絶対値候補ＡＶＣｋとして対象ブロックＢを符号化した場合の量子化誤差Ｄｋを算出する（ステップＳ８０１）。量子化誤差Ｄｋは、例えば、復号画素値と入力画素値との２乗誤差の和で求めることができる。
【０１２７】
つぎに、量子化装置１００は、量子化係数Ｐｉの係数絶対値を係数絶対値候補ＡＶＣｋとして対象ブロックＢを符号化した場合の符号量Ｒｋを導出する符号量導出処理を実行する（ステップＳ８０２）。符号量導出処理の具体的な処理手順については、図９を用いて後述する。
【０１２８】
そして、量子化装置１００は、量子化誤差Ｄｋと符号量Ｒｋを上記式（１）に代入することにより、量子化係数Ｐｉの係数絶対値を係数絶対値候補ＡＶＣｋとした場合の対象ブロックＢの１周波数成分についてのＲＤコストＪｋを算出して（ステップＳ８０３）、ＲＤコスト導出処理を呼び出したステップに戻る。
【０１２９】
＜符号量導出処理手順＞
つぎに、図８に示したステップＳ８０２の符号量導出処理の具体的な処理手順について説明する。
【０１３０】
図９は、符号量導出処理の具体的処理手順の一例を示すフローチャートである。図９のフローチャートにおいて、まず、量子化装置１００は、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの符号量ｒ１を算出するｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ符号量算出処理を実行する（ステップＳ９０１）。ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ符号量算出処理の具体的な処理手順については、図１０を用いて後述する。
【０１３１】
つぎに、量子化装置１００は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇの符号量ｒ２を算出するｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ符号量算出処理を実行する（ステップＳ９０２）。ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ符号量算出処理の具体的な処理手順については、図１１を用いて後述する。
【０１３２】
つぎに、量子化装置１００は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇの符号量ｒ３を算出するｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ符号量算出処理を実行する（ステップＳ９０３）。ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ符号量算出処理の具体的な処理手順については、図１２を用いて後述する。
【０１３３】
つぎに、量子化装置１００は、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの符号量ｒ４を算出するｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ符号量算出処理を実行する（ステップＳ９０４）。ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ符号量算出処理の具体的な処理手順については、図１３を用いて後述する。
【０１３４】
つぎに、量子化装置１００は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの符号量ｒ５を算出するｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ符号量算出処理を実行する（ステップＳ９０５）。ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ符号量算出処理の具体的な処理手順については、図１４を用いて後述する。
【０１３５】
そして、量子化装置１００は、算出した符号量ｒ１〜ｒ５を累積加算することにより、量子化係数Ｐｉの係数絶対値を係数絶対値候補ＡＶＣｋとして対象ブロックＢを符号化した場合の符号量Ｒｋを算出して（ステップＳ９０６）、符号量導出処理を呼び出したステップに戻る。
【０１３６】
＜ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ符号量算出処理手順＞
つぎに、図９に示したステップＳ９０１のｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ符号量算出処理の具体的な処理手順について説明する。
【０１３７】
図１０は、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ符号量算出処理の具体的処理手順の一例を示すフローチャートである。図１０のフローチャートにおいて、量子化装置１００は、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの符号量ｒ１を「ｒ１＝１」として（ステップＳ１００１）、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇ符号量算出処理を呼び出したステップに戻る。
【０１３８】
これにより、Ａｂｓ［ｎ］〜Ａｂｓ［ｉ＋１］の値が確定していなくても、量子化係数Ｐｉのｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの符号量ｒ１を算出することができる。
【０１３９】
＜ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ符号量算出処理手順＞
つぎに、図９に示したステップＳ９０２のｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ符号量算出処理の具体的な処理手順について説明する。
【０１４０】
図１１は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ符号量算出処理の具体的処理手順の一例を示すフローチャートである。図１１のフローチャートにおいて、量子化装置１００は、量子化係数Ｐｉの係数絶対値候補ＡＶＣｋが１以上であるか否かを判断する（ステップＳ１１０１）。
【０１４１】
ここで、量子化係数Ｐｉの係数絶対値候補ＡＶＣｋが１以上の場合（ステップＳ１１０１：Ｙｅｓ）、量子化装置１００は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇの符号量ｒ２を「ｒ２＝１」として（ステップＳ１１０２）、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ符号量算出処理を呼び出したステップに戻る。
【０１４２】
一方、量子化係数Ｐｉの係数絶対値候補ＡＶＣｋが１未満の場合（ステップＳ１１０１：Ｎｏ）、量子化装置１００は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇの符号量ｒ２を「ｒ２＝０」として（ステップＳ１１０３）、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇ符号量算出処理を呼び出したステップに戻る。
【０１４３】
これにより、Ａｂｓ［ｎ］〜Ａｂｓ［ｉ＋１］の値が確定していなくても、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇの符号量ｒ２を算出することができる。
【０１４４】
＜ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ符号量算出処理手順＞
つぎに、図９に示したステップＳ９０３のｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ符号量算出処理の具体的な処理手順について説明する。ここでは、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇは存在しないものとする。
【０１４５】
図１２は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ符号量算出処理の具体的処理手順の一例を示すフローチャートである。図１２のフローチャートにおいて、量子化装置１００は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇの符号量ｒ３を「ｒ３＝０」として（ステップＳ１２０１）、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇ符号量算出処理を呼び出したステップに戻る。
【０１４６】
これにより、Ａｂｓ［ｎ］〜Ａｂｓ［ｉ＋１］の値が確定していなくても、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇの符号量ｒ３を算出することができる。
【０１４７】
＜ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ符号量算出処理手順＞
つぎに、図９に示したステップＳ９０４のｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ符号量算出処理の具体的な処理手順について説明する。
【０１４８】
図１３は、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ符号量算出処理の具体的処理手順の一例を示すフローチャートである。図１３のフローチャートにおいて、量子化装置１００は、量子化係数Ｐｉの係数絶対値候補ＡＶＣｋが０であるか否かを判断する（ステップＳ１３０１）。
【０１４９】
ここで、量子化係数Ｐｉの係数絶対値候補ＡＶＣｋが０ではない場合（ステップＳ１３０１：Ｎｏ）、量子化装置１００は、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの符号量ｒ４を「ｒ４＝１」として（ステップＳ１３０２）、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ符号量算出処理を呼び出したステップに戻る。
【０１５０】
一方、量子化係数Ｐｉの係数絶対値候補ＡＶＣｋが０である場合（ステップＳ１３０１：Ｙｅｓ）、量子化装置１００は、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの符号量ｒ４を「ｒ４＝０」として（ステップＳ１３０３）、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ符号量算出処理を呼び出したステップに戻る。
【０１５１】
これにより、Ａｂｓ［ｎ］〜Ａｂｓ［ｉ＋１］の値が確定していなくても、量子化係数Ｐｉのｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの符号量ｒ４を算出することができる。
【０１５２】
＜ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ符号量算出処理手順＞
つぎに、図９に示したステップＳ９０５のｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ符号量算出処理の具体的な処理手順について説明する。
【０１５３】
図１４は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ符号量算出処理の具体的処理手順の一例を示すフローチャートである。図１４のフローチャートにおいて、まず、量子化装置１００は、ｃＬａｓｔＡｂｓＬｅｖｅｌを「ｃＬａｓｔＡｂｓＬｅｖｅｌ＝０」とし、ｃＬａｓｔＲｉｃｅＰａｒａｍを「ｃＬａｓｔＲｉｃｅＰａｒａｍ＝０」とする（ステップＳ１４０１）。
【０１５４】
そして、量子化装置１００は、ｃＡｂｓＬｅｖｅｌを「ｃＡｂｓＬｅｖｅｌ＝ｂａｓｅＬｅｖｅｌ＋ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ」とする（ステップＳ１４０２）。ｂａｓｅＬｅｖｅｌは、中間変数である。つぎに、量子化装置１００は、ｃＲｉｃｅＰａｒａｍを「ｃＲｉｃｅＰａｒａｍ＝Ｍｉｎ（ｃＬａｓｔＲｉｃｅＰａｒａｍ＋（ｃＬａｓｔＡｂｓＬｅｖｅｌ＞（３＊（１＜＜ｃＬａｓｔＲｉｃｅＰａｒａｍ））？１：０），４）」とする（ステップＳ１４０３）。
【０１５５】
そして、量子化装置１００は、ｃＭａｘを「ｃＭａｘ＝４＜＜ｃＲｉｃｅＰａｒａｍ」とし（ステップＳ１４０４）、ｐｒｅｆｉｘＶａｌを「ｐｒｅｆｉｘＶａｌ＝Ｍｉｎ（ｃＭａｘ，ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ）」とする（ステップＳ１４０５）。つぎに、量子化装置１００は、ｐｒｅｆｉｘ部ｂｉｎ導出処理として、ＴＲ  ｂｉｎａｒｉｚａｔｉｏｎ処理を実行する（ステップＳ１４０６）。二値化処理対象は「ｐｒｅｆｉｘＶａｌ」であり、パラメータは「ｃＭａｘ，ｃＲｉｃｅＰａｒａｍ」である。
【０１５６】
そして、量子化装置１００は、ｐｒｅｆｉｘ部ｂｉｎ導出処理結果が“１１１１”か否かを判断する（ステップＳ１４０７）。ここで、ｐｒｅｆｉｘ部ｂｉｎ導出処理結果が“１１１１”の場合（ステップＳ１４０７：Ｙｅｓ）、量子化装置１００は、ｓｕｆｆｉｘＶａｌを「ｓｕｆｆｉｘＶａｌ＝ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ−ｃＭａｘ」とする（ステップＳ１４０８）。
【０１５７】
つぎに、量子化装置１００は、ｓｕｆｆｉｘ部ｂｉｎ導出処理として、ＥＧｋ  ｂｉｎａｒｉｚａｔｉｏｎ処理を実行する（ステップＳ１４０９）。二値化処理対象は「ｓｕｆｆｉｘＶａｌ」であり、パラメータは「ｃＲｉｃｅＰａｒａｍ＋１」である。
【０１５８】
そして、量子化装置１００は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの符号量ｒ５を「ｒ５＝ｐｒｅｆｉｘ部ｂｉｎ導出処理結果とｓｕｆｆｉｘ部ｂｉｎ導出処理結果のビット連接」として（ステップＳ１４１０）、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ符号量算出処理を呼び出したステップに戻る。
【０１５９】
また、ステップＳ１４０７において、ｐｒｅｆｉｘ部ｂｉｎ導出処理結果が“１１１１”ではない場合（ステップＳ１４０７：Ｎｏ）、量子化装置１００は、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの符号量ｒ５を「ｒ５＝ｐｒｅｆｉｘ部ｂｉｎ導出処理結果」として（ステップＳ１４１１）、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇ符号量算出処理を呼び出したステップに戻る。
【０１６０】
これにより、Ａｂｓ［ｎ］〜Ａｂｓ［ｉ＋１］の値が確定していなくても、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの符号量ｒ５を算出することができる。
【０１６１】
なお、図６の例では、各量子化係数Ｐｉの係数絶対値決定処理を並列に実行する際の並列度が対象ブロックＢ内の量子化係数Ｐ１〜Ｐｎの数と同じ場合について説明したが、これに限らない。具体的には、例えば、量子化装置１００は、並列度を対象ブロックＢ内の量子化係数Ｐ１〜Ｐｎの数よりも少なくして部分的な並列化を行うことにしてもよい。
【０１６２】
図１５は、量子化装置１００の量子化処理手順の一例を示すフローチャート（その２）である。図１５のフローチャートにおいて、まず、量子化装置１００は、係数絶対値配列Ａｂｓ［ｎ］を宣言する（ステップＳ１５０１）。ここでは、対象ブロックＢを４画素×４画素とする。この場合、「ｎ」は、「ｎ＝１６」となる。
【０１６３】
そして、量子化装置１００は、対象ブロックＢの各量子化係数Ｐ１〜Ｐ１６のスケーリング処理を並列に実行する（ステップＳ１５０２）。つぎに、量子化装置１００は、量子化係数Ｐ１，Ｐ２の係数絶対値決定処理を並列に実行する（ステップＳ１５０３）。つぎに、量子化装置１００は、量子化係数Ｐ３，Ｐ４の係数絶対値決定処理を並列に実行する（ステップＳ１５０４）。
【０１６４】
つぎに、量子化装置１００は、量子化係数Ｐ５，Ｐ６の係数絶対値決定処理を並列に実行する（ステップＳ１５０５）。つぎに、量子化装置１００は、量子化係数Ｐ７，Ｐ８の係数絶対値決定処理を並列に実行する（ステップＳ１５０６）。
【０１６５】
つぎに、量子化装置１００は、量子化係数Ｐ９，Ｐ１０の係数絶対値決定処理を並列に実行する（ステップＳ１５０７）。つぎに、量子化装置１００は、量子化係数Ｐ１１，Ｐ１２の係数絶対値決定処理を並列に実行する（ステップＳ１５０８）。
【０１６６】
つぎに、量子化装置１００は、量子化係数Ｐ１３，Ｐ１４の係数絶対値決定処理を並列に実行する（ステップＳ１５０９）。つぎに、量子化装置１００は、量子化係数Ｐ１５，Ｐ１６の係数絶対値決定処理を並列に実行する（ステップＳ１５１０）。そして、量子化装置１００は、対象ブロックＢの最終係数位置決定処理を実行して（ステップＳ１５１１）、本フローチャートによる一連の処理を終了する。
【０１６７】
これにより、各量子化係数Ｐ１〜Ｐ１６の係数絶対値決定処理を２並列で実行することができる。この場合、例えば、量子化係数Ｐ１〜Ｐ１６の係数絶対値決定処理の繰り返しの最後（ステップＳ１５１０）では、他の量子化係数の係数絶対値は決定しているため、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇを、それまでサブブロックｓｂ内に出現した２以上の係数絶対値を持つ量子化係数の値に応じて有無を決定することが可能となる。また、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇを算出する際の、ｃＬａｓｔＡｂｓＬｅｖｅｌ、ｃＬａｓｔＲｉｃｅＰａｒａｍを、それまでにサブブロックｓｂ内に出現した係数の係数絶対値、これを二値化した時のｃＲｉｃｅＰａｒａｍに応じて決定することが可能となる。
【０１６８】
（符号量Ｒ［ｉ］の算出例）
つぎに、量子化係数Ｐｉを最終係数位置として対象ブロックＢを符号化した場合の符号量Ｒ［ｉ］の算出例について説明する。
【０１６９】
図１６は、対象ブロックＢの量子化係数Ｐ１〜Ｐｎの具体例を示す説明図である。図１６において、対象ブロックＢは、４画素×４画素の処理対象ブロックである。図１６の例では、対象ブロックＢの変換係数Ｃ１〜Ｃ１６のスケーリング結果を量子化した量子化係数Ｐ１〜Ｐ１６の係数絶対値が２次元配列中に示されている。
【０１７０】
この場合、対象ブロックＢの量子化係数列Ｌは、例えば、［６０，−３４，０，−１，１０，２０，０，０，１，０，０，０，０，０，０，０］となる。以下、この量子化係数列Ｌを例に挙げて、量子化係数Ｐ９を最終係数位置として対象ブロックＢを符号化した場合の符号量Ｒ［９］の算出例について説明する。
【０１７１】
ここでは、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇは、全ての量子化係数Ｐ１〜Ｐ１６について存在するとする（上記条件（２−１））。また、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇは、係数絶対値が「０」ではない、すなわち、係数絶対値が１以上の全ての量子化係数について存在するとする（上記条件（３−１））。また、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇは、全ての量子化係数Ｐ１〜Ｐ１６について存在しないものとする（上記条件（４−１））。
【０１７２】
また、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇは、係数絶対値が「０」の量子化係数については存在せず、それ以外の量子化係数では存在するものとする（上記条件（５−１））。また、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇは、係数絶対値が２以上の量子化係数について存在するものとする（上記条件（６−２））。また、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇが存在する場合、「ｃＬａｓｔＡｂｓＬｅｖｅｌ＝＝０」、「ｃＬａｓｔＲｉｃｅＰａｒａｍ＝＝０」とする。
【０１７３】
また、ＰＰＳ（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）のｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇが「０」であり、ＰＰＳのｓｉｇｎ＿ｄａｔａ＿ｈｉｄｉｎｇ＿ｅｎａｂｌｅｄ＿ｆｌａｇが「０」であるとする。ＰＰＳは、ピクチャ単位で切り替えれば十分なパラメータ群である。具体的には、ＰＰＳは、スライス単位に切り替えても符号化効率はあまり上がらないが、ピクチャ単位では切り替えられたほうが符号化効率がよいという性質のパラメータを集めたものである。
【０１７４】
ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、ｒｅｓｉｄｕａｌ＿ｃｏｄｉｎｇ内にｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇを含むか否かを選択するための選択用のフラグである。パソコンの画面をネットワーク経由で伝送する場合（以下、「画面伝送」と呼ぶ）は、直交変換処理を行わないほうが効率的に画像を圧縮できる場合がある。このため、ＨＥＶＣでは、対象ブロックＢごとに直交変換をする／しないを選択することができるようになっており、ｒｅｓｉｄｕａｌ＿ｃｏｄｉｎｇ部分のｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇで選択する。
【０１７５】
このｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇの伝送を行うと、行わない場合に比べてビットストリームは大きくなる。ところが、画面伝送の場合は、このビットストリームの増大分を受け入れても、直交変換をする／しないを選択できることによるビットストリームの削減効果が大きく、トータルではビットストリームを小さくできる。
【０１７６】
一方、自然画像（例えば、ビデオカメラで撮影した画像）では、直交変換をする／しないを選択できたとしても圧縮効率がほとんど変わらないため、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇの伝送を行うと、多くの場合にビットストリームが増加する。そこで、ＨＥＶＣでは、符号化する画像の性質に応じて、ｒｅｓｉｄｕａｌ＿ｃｏｄｉｎｇ内にｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇを含むか否かを選択することができるようになっている。
【０１７７】
ｓｉｇｎ＿ｄａｔａ＿ｈｉｄｉｎｇ＿ｅｎａｂｌｅｄ＿ｆｌａｇは、ｓｉｇｎ＿ｄａｔａ＿ｈｉｄｉｎｇ機能を使用するか否かを示すフラグである。ｓｉｇｎ＿ｄａｔａ＿ｈｉｄｉｎｇとは、ある条件を満たすときに、サブブロックｓｂ内の非零係数のうちの１つの符号（ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇ）を、サブブロックｓｂ内の他の係数絶対値の総和が偶数であるか、奇数であるかから決定する技術である。ｓｉｇｎ＿ｄａｔａ＿ｈｉｄｉｎｇ＿ｅｎａｂｌｅｄ＿ｆｌａｇの値が「１」かつ特定の条件を満たす場合に、サブブロックｓｂ内でｓｉｇｎ＿ｄａｔａ＿ｈｉｄｉｎｇが実施される。
【０１７８】
（０）ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｆｌａｇについて
ここでは、ｔｒａｎｓｆｏｒｍ＿ｓｋｉｐ＿ｅｎａｂｌｅｄ＿ｆｌａｇを「０」としたため、この符号化要素は現れない。
【０１７９】
（１）ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｐｒｅｆｉｘ／ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｐｒｅｆｉｘ／ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｓｕｆｆｉｘ／ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｓｕｆｆｉｘについて
逆スキャン前の対象ブロックＢは、図１６に示すように２次元配列として考えることができ、スキャン後の最終係数位置は、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘとｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙの２つの変数（２次元配列のインデックス）として表すことができる。図１６の例では、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘは「ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＝２」となり、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙは「ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＝１」となる。
【０１８０】
このため、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｐｒｅｆｉｘは「ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｐｒｅｆｉｘ＝２」となり、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｐｒｅｆｉｘは「ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｐｒｅｆｉｘ＝１」となる。これらは、「ｃＭａｘ＝３」、「ｃＲｉｃｅＰａｒａｍ＝０」をパラメータとして、ＴＲ  ｂｉｎａｒｉｚａｔｉｏｎで二値化される。この二値化処理結果は、それぞれ「１１０」、「１０」となる。また、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｐｒｅｆｉｘ、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｐｒｅｆｉｘともに３以下のため、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘ＿ｓｕｆｆｉｘ、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙ＿ｓｕｆｆｉｘは存在しない。
【０１８１】
なお、ｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｘとｌａｓｔ＿ｓｉｇ＿ｃｏｅｆｆ＿ｙの２つの変数は、そのまま何らかの二値化手法を適用するよりは、Ｒｉｃｅ符号のように、値を２つ（ｐｒｅｆｉｘとｓｕｆｆｉｘ）に分けてそれぞれを別の二値化方法を適用したほうが符号化効率がよいため、Ｓｙｎｔａｘ  Ｅｌｅｍｅｎｔ上では２つに分かれている。
【０１８２】
（１．５）ｃｏｄｅｄ＿ｓｕｂ＿ｂｌｏｃｋ＿ｆｌａｇについて
ここでは、対象ブロックＢを４画素×４画素としたため、この符号化要素は現れない。
【０１８３】
（２）ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇについて
ここでは、対象ブロックＢ内の全係数について存在するものとするため、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇのＳｙｎｔａｘ  Ｅｌｅｍｅｎｔ値は「０，０，０，０，０，０，０，１，０，０，１，１，１，０，１，１」となる。このＳｙｎｔａｘ  Ｅｌｅｍｅｎｔ値の各ビットには、ＦＬ  ｂｉｎａｒｉｚａｔｉｏｎの二値化が行われる。この結果、ｂｉｎ列は「０００００００１００１１１０１１」となる。
【０１８４】
（３）ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇについて
ここでは、係数絶対値が零ではない量子化係数について存在するとするため、量子化係数列Ｌのうちの「１，−１，１０，２０，−３４，６０」について存在するものとし、Ｓｙｎｔａｘ  Ｅｌｅｍｅｎｔ値は「０，０，１，１，１，１」となる。このＳｙｎｔａｘ  Ｅｌｅｍｅｎｔ値の各ビットには、ＦＬ  ｂｉｎａｒｉｚａｔｉｏｎの二値化が行われる。この結果、ｂｉｎ列は「００１１１１」となる。
【０１８５】
（４）ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇについて
ここでは、全ての量子化係数Ｐ１〜Ｐ１６について存在しないものとするため、このＳｙｎｔａｘ  Ｅｌｅｍｅｎｔは存在せず、ｂｉｎも存在しない。
【０１８６】
（５）ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇについて
ここでは、「ｓｉｇｎ＿ｄａｔａ＿ｈｉｄｉｎｇ＿ｅｎａｂｌｅｄ＿ｆｌａｇ＝＝０」としたため、全非零係数の符号を列挙することになり、符号列は「＋，−，＋，＋，−，＋」となる。符号が正の場合は「０」となり、符号が負の場合は「１」となるため、Ｓｙｎｔａｘ  Ｅｌｅｍｅｎｔ値は「０，１，０，０，１，０」となる。このＳｙｎｔａｘ  Ｅｌｅｍｅｎｔ値の各ビットには、ＦＬ  ｂｉｎａｒｉｚａｔｉｏｎの二値化が行われる。この結果、ｂｉｎ列は「０１００１０」となる。
【０１８７】
（６）ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇについて
ここでは、係数絶対値が２以上の量子化係数について存在するものとするため、対象となる量子化係数を高周波側から列挙すると、「１０，２０，−３４，６０」となり、それぞれに対するｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇは「７，１８，３２，５８」となる。このＳｙｎｔａｘ  Ｅｌｅｍｅｎｔには、図１４に示したＢｉｎａｒｉｚａｔｉｏｎ  ｐｒｏｃｅｓｓ  ｆｏｒ  ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの二値化が行われる。
【０１８８】
具体的には、「１０」に対する二値化（ｂａｓｅＬｅｖｅｌ＝＝２）は以下のようになる。
１．ｃＬａｓｔＡｂｓＬｅｖｅｌ＝０、ｃＬａｓｔＲｉｃｅＰａｒａｍ＝０
２．ｃＡｂｓＬｅｖｅｌ＝１０
３．ｃＲｉｃｅＰａｒａｍ＝０
４．ｃＭａｘ＝４
５．ｐｒｅｆｉｘＶａｌ＝４
６．ｐｒｅｆｉｘ部ｂｉｎ列導出処理の結果：「１１１１」
７．ｐｒｅｆｉｘ部ｂｉｎ列が「１１１１」なのでｓｕｆｆｉｘが存在。ｓｕｆｆｉｘ部は「１００１」
【０１８９】
また、「２０」に対する二値化（ｂａｓｅＬｅｖｅｌ＝＝２）は以下のようになる。
１．ｃＬａｓｔＡｂｓＬｅｖｅｌ＝０、ｃＬａｓｔＲｉｃｅＰａｒａｍ＝０
２．ｃＡｂｓＬｅｖｅｌ＝２０
３．ｃＲｉｃｅＰａｒａｍ＝０
４．ｃＭａｘ＝４
５．ｐｒｅｆｉｘＶａｌ＝４
６．ｐｒｅｆｉｘ部ｂｉｎ列導出処理の結果：「１１１１」
７．ｐｒｅｆｉｘ部ｂｉｎ列が「１１１１」なのでｓｕｆｆｉｘが存在。ｓｕｆｆｉｘ部は「１１１０００００」
【０１９０】
また、「−３４」に対する二値化（ｂａｓｅＬｅｖｅｌ＝＝２）は以下のようになる。
１．ｃＬａｓｔＡｂｓＬｅｖｅｌ＝０、ｃＬａｓｔＲｉｃｅＰａｒａｍ＝０
２．ｃＡｂｓＬｅｖｅｌ＝３４
３．ｃＲｉｃｅＰａｒａｍ＝０
４．ｃＭａｘ＝４
５．ｐｒｅｆｉｘＶａｌ＝４
６．ｐｒｅｆｉｘ部ｂｉｎ列導出処理の結果：「１１１１」
７．ｐｒｅｆｉｘ部ｂｉｎ列が「１１１１」なのでｓｕｆｆｉｘが存在。ｓｕｆｆｉｘ部は「１１１０１１１０」
【０１９１】
また、「６０」に対する二値化（ｂａｓｅＬｅｖｅｌ＝＝２）は以下のようになる。
１．ｃＬａｓｔＡｂｓＬｅｖｅｌ＝０、ｃＬａｓｔＲｉｃｅＰａｒａｍ＝０
２．ｃＡｂｓＬｅｖｅｌ＝６０
３．ｃＲｉｃｅＰａｒａｍ＝０
４．ｃＭａｘ＝４
５．ｐｒｅｆｉｘＶａｌ＝４
６．ｐｒｅｆｉｘ部ｂｉｎ列導出処理の結果：「１１１１」
７．ｐｒｅｆｉｘ部ｂｉｎ列が「１１１１」なのでｓｕｆｆｉｘが存在。ｓｕｆｆｉｘ部は「１１１１０１１０００」
【０１９２】
この結果、量子化係数Ｐ９を最終係数位置として対象ブロックＢを符号化した場合の符号量Ｒ［９］は、上述した各符号化要素に対応するｂｉｎ数の総和となる。
【０１９３】
（符号化装置の構成例）
つぎに、量子化装置１００を符号化装置に適用した場合の構成例について説明する。
【０１９４】
図１７は、符号化装置の構成例を示すブロック図である。図１７において、符号化装置１７００は、Ｉｎｔｒａ予測部１７０１と、動き予測（Ｉｎｔｅｒ予測）部１７０２と、周波数変換／量子化部１７０３と、逆量子化／逆周波数変換部１７０４と、エントロピー符号化部１７０５と、インループフィルタ部１７０６と、フレームメモリ１７０７と、を含む。
【０１９５】
Ｉｎｔｒａ予測部１７０１は、同一フレーム内の空間的に隣接する画素を用いて予測画像を生成するＩｎｔｒａ予測処理を行う。動き予測部１７０２は、フレームメモリ１７０７に格納されている符号化済みフレームの局部復号画像を用いて動きを検出して予測画像を生成するＩｎｔｅｒ予測処理を行う。
【０１９６】
周波数変換／量子化部１７０３は、入力画像と予測画像との差分画像（予測残差信号）に対する周波数変換、量子化を行う。量子化装置１００は、周波数変換／量子化部１７０３の量子化を行う部分に適用される。逆量子化／逆周波数変換部１７０４は、周波数係数に対する逆量子化、逆周波数変換を行う。
【０１９７】
エントロピー符号化部１７０５は、周波数係数に対するエントロピー符号化を行う。インループフィルタ部１７０６は、フィルタ前局所復号画像に対してフィルタ処理を行う。フレームメモリ１７０７は、インループフィルタ部１７０６から出力されるデコード画像（局所復号画像）を記憶する。
【０１９８】
符号化装置１７００によれば、ＲＤＯＱ処理におけるＲＤコストＪの導出演算にかかる処理の並列化が可能となり、動画像を符号化する符号化処理全体の処理性能の向上を図ることができる。
【０１９９】
以上説明したように、実施の形態にかかる量子化装置１００によれば、ＲＤＯＱ処理におけるＲＤコストＪの算出において、対象ブロックＢ内の量子化係数Ｐｉに係る符号化要素の符号量ｒを、対象ブロックＢ内の他の量子化係数に依存することなく求めることができる。また、量子化装置１００によれば、符号化要素の符号量ｒを、符号化要素に対応する算術符号前のｂｉｎ数から求めることができる。
【０２００】
これにより、対象ブロックＢ内の各量子化係数Ｐ１〜Ｐｎの係数絶対値の決定に用いるＲＤコストＪｋの導出演算にかかる処理の並列化が可能となり、ＲＤＯＱ処理を行う量子化処理の処理性能の向上を図ることができる。また、対象ブロックＢの最終係数位置の決定に用いるＲＤコストＪ［ｉ］の導出演算にかかる処理の一部並列化が可能となる。
【０２０１】
例えば、量子化装置１００は、上記条件（２−１）、（２−２）および（２−３）のいずれかの条件に基づいて、量子化係数Ｐｉのｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの符号量ｒ１を算出することができる。上記条件（２−１）および（２−２）によれば、量子化係数Ｐｉのｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇの存否が他の量子化係数の値に依存しないため、ｓｉｇ＿ｃｏｅｆｆ＿ｆｌａｇについての量子化係数間の処理の依存関係を切ることができる。
【０２０２】
また、例えば、量子化装置１００は、上記条件（３−１）、（３−２）および（３−３）のいずれかの条件に基づいて、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇの符号量ｒ２を算出することができる。上記条件（３−１）および（３−２）によれば、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇの存否が量子化係数Ｐｉの値（係数絶対値候補ＡＶＣｋ）にのみ依存するため、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ１＿ｆｌａｇについての量子化係数間の処理の依存関係を切ることができる。
【０２０３】
また、例えば、量子化装置１００は、上記条件（４−１）に基づいて、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇの符号量ｒ３を算出することができる。上記条件（４−１）によれば、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇの存否が他の量子化係数の値に依存しないため、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｇｒｅａｔｅｒ２＿ｆｌａｇについての量子化係数間の処理の依存関係を切ることができる。
【０２０４】
また、例えば、量子化装置１００は、上記条件（５−１）に基づいて、量子化係数Ｐｉのｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの符号量ｒ４を算出することができる。上記条件（５−１）によれば、量子化係数Ｐｉのｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇの存否が量子化係数Ｐｉの値にのみ依存するため、ｃｏｅｆｆ＿ｓｉｇｎ＿ｆｌａｇについての量子化係数間の処理の依存関係を切ることができる。
【０２０５】
また、例えば、量子化装置１００は、上記条件（６−１）および（６−２）のいずれかの条件に基づいて、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの符号量ｒ５を算出することができる。上記条件（６−１）および（６−２）によれば、量子化係数Ｐｉのｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇの存否が他の量子化係数の値に依存しないため、ｃｏｅｆｆ＿ａｂｓ＿ｌｅｖｅｌ＿ｒｅｍａｉｎｉｎｇについての量子化係数間の処理の依存関係を切ることができる。
【０２０６】
なお、本実施の形態で説明した量子化方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本量子化プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本量子化プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２０７】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２０８】
（付記１）符号化対象の動画像を構成する入力画像と前記入力画像の予測画像との予測残差信号を直交変換した変換係数を量子化する量子化装置において、
対象ブロックの変換係数に対してスケーリングを行う第１の処理部と、
前記第１の処理部によってスケーリングされた変換係数を量子化して得られる量子化係数の複数の係数絶対値候補のいずれかの係数絶対値候補を用いて前記対象ブロックを符号化するコストを、前記対象ブロックを符号化した場合の量子化誤差と符号量を用いて算出する第２の処理部と、を有し、
前記第２の処理部は、前記量子化係数に係る符号化要素の存否を示す条件、または、前記量子化係数の係数絶対値候補、係数位置および特定のパラメータの少なくともいずれかに応じて前記符号化要素の存否を選択する条件のいずれかの条件で前記符号化要素を二値化して得られる前記符号化要素の符号量に基づいて、前記対象ブロックを符号化した場合の符号量を算出することを特徴とする量子化装置。
【０２０９】
（付記２）前記第２の処理部は、前記符号化要素に対応するｂｉｎ数を累積加算することにより前記対象ブロックを符号化した場合の符号量を算出することを特徴とする付記１に記載の量子化装置。
【０２１０】
（付記３）前記第２の処理部は、算出した前記コストに基づいて、前記複数の係数絶対値候補から前記量子化係数の係数絶対値を決定することを特徴とする付記１または２に記載の量子化装置。
【０２１１】
（付記４）前記第２の処理部は、算出した前記コストに基づいて、前記対象ブロックの量子化係数を逆スキャン順に並べた量子化係数列の最終係数位置を決定することを特徴とする付記１〜３のいずれか一つに記載の量子化装置。
【０２１２】
（付記５）前記第２の処理部は、前記符号化要素が、前記対象ブロックの量子化係数を逆スキャン順に並べた量子化係数列の最終係数位置から先頭側の各位置の量子化係数が非零か否かを示す情報の場合、前記対象ブロックの全ての量子化係数について前記符号化要素が存在するとする条件、前記対象ブロックの全ての量子化係数について前記符号化要素が存在しないとする条件、前記量子化係数の係数位置、特定のパラメータに応じて前記符号化要素の存否を設定する条件のいずれかの条件で前記符号化要素を二値化することを特徴とする付記１〜４のいずれか一つに記載の量子化装置。
【０２１３】
（付記６）前記第２の処理部は、前記符号化要素が、前記対象ブロックの量子化係数を逆スキャン順に並べた量子化係数列の末尾から最大７個の非零係数の係数絶対値が１か否かを示す情報の場合、係数絶対値がある非負整数以下である量子化係数については前記符号化要素が存在しないとし、それ以外の量子化係数については前記符号化要素が存在するとする条件、係数絶対値がある非負整数以下である量子化係数については前記符号化要素が存在するとし、それ以外の量子化係数については前記符号化要素が存在しないとする条件、係数絶対値がある非負整数以下である量子化係数については前記符号化要素が存在しないとし、それ以外の量子化係数については当該量子化係数の係数位置、特定のパラメータに応じて前記符号化要素の存否を設定する条件のいずれかの条件で前記符号化要素を二値化することを特徴とする付記１〜５のいずれか一つに記載の量子化装置。
【０２１４】
（付記７）前記第２の処理部は、前記符号化要素が、前記対象ブロックの量子化係数を逆スキャン順に並べた量子化係数列の末尾からみて係数絶対値が２以上の最初の量子化係数の係数絶対値が３以上か否かを示す情報の場合、前記対象ブロックの全ての量子化係数について前記符号化要素が存在しないとする条件で前記符号化要素を二値化することを特徴とする付記１〜６のいずれか一つに記載の量子化装置。
【０２１５】
（付記８）前記第２の処理部は、前記符号化要素が、前記対象ブロックの量子化係数を逆スキャン順に並べた量子化係数列の非零係数の符号を示す情報の場合、係数絶対値が零の量子化係数については前記符号化要素が存在しないとし、それ以外の量子化係数については前記符号化要素が存在するとする条件で前記符号化要素を二値化することを特徴とする付記１〜７のいずれか一つに記載の量子化装置。
【０２１６】
（付記９）前記第２の処理部は、前記符号化要素が、係数絶対値が２以上の量子化係数の係数絶対値を二値化した情報を示す場合、前記対象ブロックの全ての量子化係数について前記符号化要素が存在するとする条件、係数絶対値がある非負整数以下である量子化係数については前記符号化要素が存在しないとし、それ以外の量子化係数について前記符号化要素が存在するとする条件のいずれかの条件で前記符号化要素を二値化することを特徴とする付記１〜８のいずれか一つに記載の量子化装置。
【０２１７】
（付記１０）前記第２の処理部は、前記符号化要素が存在する場合、前記量子化係数の係数絶対値から、ある非負整数を減じた値にいずれかのゴロム符号を適用して符号化し、当該ゴロム符号のパラメータを前記量子化係数の係数絶対値または係数位置または特定のパラメータにのみ依存して決定することを特徴とする付記９に記載の量子化装置。
【０２１８】
（付記１１）前記第２の処理部は、前記符号化要素が存在する場合、前記量子化係数の係数絶対値から、ある非負整数を減じた値にいずれかのゴロム符号に類する符号化手法を適用して符号化することを特徴とする付記９に記載の量子化装置。
【０２１９】
（付記１２）前記特定のパラメータは、ピクチャタイプ、参照構造において符号化対象ピクチャがどのピクチャであるか、予測モード、量子化パラメータおよびスケーリングリストの少なくともいずれかであることを特徴とする付記１〜１１のいずれか一つに記載の量子化装置。
【０２２０】
（付記１３）前記係数位置は、前記対象ブロックのブロックサイズ、前記対象ブロックにおける前記量子化係数の位置および前記対象ブロックの特徴量を表すパラメータの少なくともいずれかであることを特徴とする付記１〜１２のいずれか一つに記載の量子化装置。
【０２２１】
（付記１４）符号化対象の動画像を構成する入力画像と前記入力画像の予測画像との予測残差信号を直交変換した変換係数を量子化する量子化装置が、
対象ブロックの変換係数に対してスケーリングを行い、
スケーリングした変換係数を量子化して得られる量子化係数の複数の係数絶対値候補のいずれかの係数絶対値候補を用いて前記対象ブロックを符号化するコストを、前記対象ブロックを符号化した場合の量子化誤差と符号量を用いて算出する際に、前記量子化係数に係る符号化要素の存否を示す条件、または、前記量子化係数の係数絶対値候補、係数位置および特定のパラメータの少なくともいずれかに応じて前記符号化要素の存否を選択する条件のいずれかの条件で前記符号化要素を二値化して得られる前記符号化要素の符号量に基づいて、前記対象ブロックを符号化した場合の符号量を算出する、
処理を実行することを特徴とする量子化方法。
【０２２２】
（付記１５）符号化対象の動画像を構成する入力画像と前記入力画像の予測画像との予測残差信号を直交変換した変換係数を量子化するコンピュータに、
対象ブロックの変換係数に対してスケーリングを行い、
スケーリングした変換係数を量子化して得られる量子化係数の複数の係数絶対値候補のいずれかの係数絶対値候補を用いて前記対象ブロックを符号化するコストを、前記対象ブロックを符号化した場合の量子化誤差と符号量を用いて算出する際に、前記量子化係数に係る符号化要素の存否を示す条件、または、前記量子化係数の係数絶対値候補、係数位置および特定のパラメータの少なくともいずれかに応じて前記符号化要素の存否を選択する条件のいずれかの条件で前記符号化要素を二値化して得られる前記符号化要素の符号量に基づいて、前記対象ブロックを符号化した場合の符号量を算出する、
処理を実行させることを特徴とする量子化プログラム。
【０２２３】
（付記１６）動画像を符号化する符号化装置において、
対象ブロックの変換係数に対してスケーリングを行う第１の処理部と、
前記第１の処理部によってスケーリングされた変換係数を量子化して得られる量子化係数の複数の係数絶対値候補のいずれかの係数絶対値候補を用いて前記対象ブロックを符号化するコストを、前記対象ブロックを符号化した場合の量子化誤差と符号量を用いて算出する第２の処理部と、を有し、
前記第２の処理部は、前記量子化係数に係る符号化要素の存否を示す条件、または、前記量子化係数の係数絶対値候補、係数位置および特定のパラメータの少なくともいずれかに応じて前記符号化要素の存否を選択する条件のいずれかの条件で前記符号化要素を二値化して得られる前記符号化要素の符号量に基づいて、前記対象ブロックを符号化した場合の符号量を算出することを特徴とする符号化装置。
【符号の説明】
【０２２４】
１００  量子化装置
１０１  スケーリング部
１０２  係数絶対値決定部
１０３  最終係数位置決定部
１７００  符号化装置
１７０１  Ｉｎｔｒａ予測部
１７０２  動き予測部
１７０３  周波数変換／量子化部
１７０４  逆量子化／逆周波数変換部
１７０５  エントロピー符号化部
１７０６  インループフィルタ部
１７０７  フレームメモリ
【図１】
2015050608.tif 000003
【図２】
2015050608.tif 000004
【図３】
2015050608.tif 000005
【図４】
2015050608.tif 000006
【図５】
2015050608.tif 000007
【図６】
2015050608.tif 000008
【図７】
2015050608.tif 000009
【図８】
2015050608.tif 000010
【図９】
2015050608.tif 000011
【図１０】
2015050608.tif 000012
【図１１】
2015050608.tif 000013
【図１２】
2015050608.tif 000014
【図１３】
2015050608.tif 000015
【図１４】
2015050608.tif 000016
【図１５】
2015050608.tif 000017
【図１６】
2015050608.tif 000018
【図１７】
2015050608.tif 000019