(57)【要約】【課題】  ＭＰＥＧ−４を初めとする画像符号化方式において用いられている画面内係数予測（イントラ予測）において、予測モード決定時に必要になる逆量子化された直交変換係数の値を、局所復号器内の逆量子化器の動作や新たな逆量子化器の増加無しに算出する。【解決手段】  入力画像や入力画像の直交変換係数を量子化する際に、量子化前の直交変換係数及び量子化時の剰余から、量子化誤差を含んだ逆量子化された係数を得ることが可能となる。【選択図】        図１
2006270392.tif 000002
【特許請求の範囲】
【請求項１】
ブロック単位に分割した画像データに直交変換を施した直交変換係数を入力とする画像予測符号化装置が、
前記直交変換係数に対して量子化処理を行い量子化された直交変換係数及び量子化時の剰余を出力する量子化手段と、
前記量子化された直交変換係数を格納する第一の記憶手段と、
前記量子化された直交変換係数に対して逆量子化処理を行い逆量子化された直交変換係数を計算する逆量子化手段と、
前記逆量子化手段から出力される逆量子化された直交変換係数を格納する第二の記憶手段と、
前記第二の記憶手段から読み出された逆量子化された直交変換係数及び現在の処理対象ブロックに隣接した周辺ブロックの逆量子化された直交変換係数を用いて予測モードを決定し予測値を算出する予測モード決定手段と、
前記算出された予測値を用いて現在の処理対象ブロック内の直交変換係数の値を予測する予測手段とから構成され、
前記逆量子化手段において逆量子化された直交変換係数は前記量子化時の剰余と前記画像データの直交変換係数とから算出することを特徴とする画像予測符号化装置。
【請求項２】
前記逆量子化手段は、
複数のブロックから構成されるマクロブロックにおいて、予測に用いるべき参照ブロック内の直交変換係数が現在の処理対象ブロックと同一のマクロブロック内に存在する場合に行われることを特徴とする請求項１に記載の画像予測符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、静止画像データ、又は動画像データについて画像データをブロック単位に直交変換を施し、直交変換係数を量子化し、さらに画面内において予測符号化を行う符号化方式、特にＭＰＥＧ−４ビデオ動画像標準符号化方式を実現するための手法及び装置に係る画像予測符号化装置に関する。
【背景技術】
【０００２】
デジタル画像の有効な利用のためには効率的に記憶、伝送する必要があり、画像データの圧縮符号化は必須のものである。画像データを圧縮する方法として、画像符号化の標準符号化方式であるＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）やＭＰＥＧ（Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）に利用されているように、圧縮対象となる画像データについてブロック分割して、動き補償を用いた画像間予測によって差分信号を生成し、該ブロック単位に離散コサイン変換（本明細書においては、以下ＤＣＴと呼ぶ）等の直交変換を用いて直流成分（本明細書においては、以下ＤＣ係数と呼ぶ）と交流成分（本明細書においては以下ＡＣ係数と呼ぶ）とで構成された直交変換係数に変換してエントロピー符号する方式が良く知られている。
【０００３】
この際、直交変換係数に対して符号量を減らすために量子化を行う。この際、人間の視覚特性として敏感な低周波成分については小さい量子化テーブル値を用いて量子化し、鈍感な高周波成分については大きな量子化テーブル値で量子化を行うことによって、視覚的な劣化が少なく効率的に量子化を行い、量子化された直交変換係数（本明細書においては、以下量子化された係数と呼ぶ）を得る方式が良く知られている。
【０００４】
また、出力される画像の符号量を一定の範囲に収めるために、符号量等により変化する量子化スケール値を用いて量子化テーブル値と共に量子化することが一般的に用いられている。
【０００５】
ＭＰＥＧ−４ビデオ動画像標準符号化方式においては、画面内符号化（イントラ符号化）時に、符号量を削減するために量子化された係数のうちのＤＣ係数及びＡＣ係数（本明細書においては以下量子化されたＤＣ係数、量子化されたＡＣ係数と呼ぶ）の一部を符号化済みの周辺ブロックの値を用いて予測する処理（本明細書においては、以下それぞれＤＣ予測、ＡＣ予測と呼ぶ）が定められており、以下のようにＤＣ予測及びＡＣ予測を行う。
【０００６】
ＤＣ係数の予測値は、処理対象となるブロックの周辺のブロックより適応的に選択する。図２に、処理対象となるブロックＸとその周辺のブロックＡ、Ｂ、及びＣの位置関係を示す。
【０００７】
図２において、各升目の一つ一つはブロック内におけるＤＣＴ係数を表しており、黒で塗りつぶされた升目はＤＣ係数を表す。また、ブロックＸは処理対象となる当該ブロック、ブロックＡ、Ｂ、Ｃはそれぞれ周辺のブロックを表す。ここで、ブロックＡ、Ｂ、Ｃにおける量子化されたＤＣ係数をそれぞれＱＦＡ［０］、ＱＦＢ［０］、ＱＦＣ［０］で表すと、ブロックＸのＤＣ予測に用いるべき参照ブロック及び参照係数Ｆｐ［０］は、周辺ブロックの逆量子化されたＤＣ係数を用いることにより以下のように決定される。
【０００８】
［数１］
Ｉｆ（｜ＱＡ＊ＱＦＡ［０］−ＱＢ＊ＱＦＢ［０］｜＜｜ＱＢ＊ＱＦＢ［０］−ＱＣ＊ＱＦＣ［０］｜）
ＦＰ［０］＝ＱＣ＊ＱＦＣ［０］
Ｅｌｓｅ
ＦＰ［０］＝ＱＡ＊ＱＦＡ［０］
【０００９】
ここで、ＱＡ，ＱＢ，ＱＣはそれぞれブロックＡ，Ｂ，ＣにおけるＤＣ成分の量子化ステップ値を表しており、ＱＡ＊ＱＦＡ［０］，ＱＢ＊ＱＦＢ［０］，ＱＣ＊ＱＦＣ［０］がそれぞれブロックＡ、Ｂ、Ｃの逆量子化されたＤＣ係数を表している。上記のようにして周辺のブロックから予測すべきブロックを決定し、ブロックＸにおけるＤＣ係数の参照係数を決定する。決定された参照係数ＦＰ［０］を用いて、ブロックＸのＤＣ係数についての予測誤差ＰＱＦＸ［０］は以下のように求める。
【００１０】
［数２］
ＰＱＦＸ［０］＝ＱＦＸ［０］−ＦＰ［０］／Ｑｘ
【００１１】
ここで、ＱＦＸ［０］はブロックＸの量子化されたＤＣ係数、Ｑｘは現在の処理対象ブロックＸの量子化ステップ値を表す。予測に用いる係数は、参照係数を現在の処理対象であるブロックＸにおいて用いられる量子化ステップ値を用いて量子化することで予測すべきブロックと当該ブロックの量子化ステップ値の差を補償している。
【００１２】
ＭＰＥＧ−４においてＡＣ予測は、ＤＣ予測によって決定された参照ブロックを予測すべき参照ブロックとして予測を行う。量子化されたＡＣ係数のうちＡＣ予測において用いられる係数（Ｆｘ［ｉ］（ｉ＝０ｔｏ１４））は逆量子化を施された後にバッファに保存される。ブロック内の各係数の位置関係を図３に示す。
【００１３】
ＤＣ予測においてブロックＡのＤＣ係数を参照係数として用いた場合は、図３のブロックＡの斜線で示した部分、すなわちブロックＡの垂直第一列のＡＣ係数（ＦＡ［ｉ］（ｉ＝８ｔｏ１４））を参照係数として用いる。ＤＣ予測においてブロックＣのＤＣ係数を参照係数として用いた場合は、図３のブロックＣの斜線で示した部分、すなわちブロックＣの水平第一行のＡＣ係数（ＦＣ［ｉ］（ｉ＝１ｔｏ７））を参照係数として用いる。参照係数を用いて、ブロックＸの予測誤差は以下のように求める。
【００１４】
まず、ＤＣ予測においてブロックＡのＤＣ係数を参照係数として用いた場合のブロックＸの予測誤差ＰＱＦＸ［ｉ］（ｉ＝８ｔｏ１４）は、以下の式により求める。
【００１５】
［数３］
ＰＱＦＸ［ｉ］＝ＱＦＸ［ｉ］−（ＱＦＡ［ｉ］＊ＱＰＡ）／ＱＰＸ
【００１６】
ここで、ＱＦＸ［ｉ］（ｉ＝８ｔｏ１４）はブロックＸの垂直第一列の量子化されたＡＣ係数、ＱＦＡ［ｉ］（ｉ＝８ｔｏ１４）はブロックＡの垂直第一列の量子化されたＡＣ係数、ＱＰＡはブロックＡの量子化の際に用いられた量子化ステップ値、ＱＰＸはブロックＸの量子化に用いる量子化ステップ値を表す。ＱＦＡ［ｉ］＊ＱＰＡがバッファに保存される逆量子化されたＡＣ係数を表している。
【００１７】
ＤＣ予測においてブロックＣのＤＣ係数を予測値に用いた場合のブロックＸの予測誤差ＰＱＦＸ［ｉ］（ｉ＝１ｔｏ７）は、以下の式により求める。
【００１８】
［数４］
ＰＱＦＸ［ｉ］＝ＱＦＸ［ｉ］−（ＱＦＣ［ｉ］＊ＱＰＣ）／ＱＰＸ
【００１９】
ここで、ＱＦＸ［ｉ］（ｉ＝１ｔｏ７）はブロックＸの水平第一行の量子化されたＡＣ係数、ＱＦＣ［ｉ］（ｉ＝１ｔｏ７）はブロックＣの水平第一行の量子化されたＡＣ係数、ＱＰＣはブロックＣの量子化の際に用いられた量子化ステップ値を表す。
【００２０】
ＤＣ予測と同様に、予測に用いられる参照係数は、量子化ステップ値の相違を補償するために量子化の際に使用した量子化ステップ値を用いて逆量子化して、さらに処理対象となるブロックＸにおいて用いられる量子化ステップ値で量子化を行ってからＡＣ予測に用いられる。
【００２１】
このようにＤＣ予測及びＡＣ予測を実現するにあたっては現在の処理対象となるブロックＸに隣接する周辺ブロックの逆量子化されたＤＣ／ＡＣ係数が必要であることが分かる。
【００２２】
以上述べた符号化方式に対応する特許文献１に記載の画像予測復号化方法及び画像予測符号化装置（本明細書においては、以下従来例とする）に記載の実現方法における構成を、図７を用いて説明する（例えば、特許文献１参照）。
【００２３】
図７は、従来例における実現方法を構成する符号化装置の例をブロック図で示したものであり、図示されるように直交変換（ＤＣＴ）器７０１、量子化器７０２、逆量子化器７０３、バッファ７０４、予測モード決定器７０５、量子化器７０６、減算器７０７、選択器７０８、バッファ７０９、スキャン変換器７１０、エントロピー符号化器７１１、加算器７１２、選択器７１３、逆量子化器７１４、逆直交変換器７１５を含む。
【００２４】
図７において、ＤＣＴ７０１は、ブロック分割された入力データに対し、該ブロック単位にＤＣＴ変換を施し、直交変換係数を量子化器７０２へ出力する。量子化器７０２は、当該ブロックの量子化ステップ値を用いて直交変換係数を量子化し、全ての量子化された係数を選択器７０８へ出力する。量子化器７０２より出力された量子化された係数のうち、ＤＣ／ＡＣ予測が行われる、もしくは参照係数になりうる量子化された係数は逆量子化器７０３へも同時に送られる。
【００２５】
逆量子化器７０３は当該ブロックの量子化ステップ値を用いて逆量子化を行う。逆量子化器７０３の出力である逆量子化された係数はバッファ７０４及び予測モード決定器７０５に送られる。予測モード決定器７０５においては逆量子化器７０３の出力及びバッファ７０４から読み出された逆量子化された係数を用いて次に処理されるブロックのＤＣ予測の方向を決定し、さらにＤＣ／ＡＣ予測に用いるべき参照係数を量子化器７０６へ出力する。
【００２６】
量子化器７０６は参照係数を現在のブロックの量子化に用いられる量子化ステップ値を用いて量子化し、減算器７０７へ出力する。減算器７０７は量子化器７０２と量子化器７０６より供給される量子化された係数及び量子化された参照係数を用いてＤＣ予測及びＡＣ予測を実行する。ここで図７には量子化器が２つ存在しているが、実際の処理は時分割することが可能なので量子化器７０２と量子化器７０６は共有することが可能である。
【００２７】
選択器７０８はＤＣ／ＡＣ予測を行った量子化された係数と行わない量子化された係数を係数の位置及び予測モードに基づいて選択し、バッファ７０９へ出力する。バッファ７０９は複数のブロックからなるマクロブロック中の全ての量子化された係数を格納すると同時に、各ブロック内の係数が全て０であるか否かというＣＢＰ（Ｃｏｄｅｄ  Ｂｌｏｃｋ  Ｐａｔｔｅｒｎ）の情報を抽出する。
【００２８】
その後バッファ７０９に格納された全てのＤＣ係数及びＣｏｄｅｄであったブロック（全ての係数が０でなかったブロック）のＡＣ係数をスキャン変換器７１０に出力する。スキャン処理器７１０はバッファ７０９より読み出された予測後の量子化された係数に対してジグザグスキャン、垂直スキャン及び水平スキャンのいずれかのスキャン処理を行う。エントロピー符号化器７１１はスキャン処理器７１０の出力をエントロピー符号化し、符号データとして出力する。
【００２９】
加算器７１２はバッファ７０９から読み出された量子化された係数と予測時に用いた量子化された参照係数との加算である、逆ＤＣ予測処理及び逆ＡＣ予測処理を行う。選択器７１３は逆ＤＣ／ＡＣ予測を行った量子化された係数と行わない量子化された係数を係数の位置及び予測モードに基づいて選択し、逆量子化器７１４へ出力する。逆量子化器７１４は選択器７１３より供給された量子化された係数を、現在のブロックの量子化に用いられた量子化ステップ値を用いて逆量子化し、逆直交変換器（ＩＤＣＴ）７１５へ出力する。逆直交変換器（ＩＤＣＴ）７１５は逆量子化された係数に逆直交変換を施し、再構成された画像データを出力する。
【特許文献１】特許第３３４３５５４号公報
【発明の開示】
【発明が解決しようとする課題】
【００３０】
通常符号化装置は複数のブロックからなるマクロブロック単位で符号化処理を行う。もしＤＣ／ＡＣ予測を行う場合に図４に示されるように予測に用いるべき参照ブロックが現在の処理対象ブロックと位置的に異なるマクロブロックに存在する場合には予測に用いられる参照係数は局所復号化部より得ることが可能であった。
【００３１】
しかし図５に示されるように予測に用いるべき参照ブロックと現在の処理対象ブロックが同一のマクロブロック内に存在する場合にはＤＣ／ＡＣ予測を行おうとしても、現在の処理対象マクロブロックの局所復号化処理はまだ行われておらず、参照係数となるべき逆量子化された係数の算出も行われていない。よってＤＣ／ＡＣ予測を行うには、逆量子化された係数を得る場合には別途逆量子化器を設ける必要があった。このような構成においては２つの逆量子化器が必要となり、符号化装置全体の回路規模が大きくなってしまい、消費電力も増大してしまうという問題があった。
【００３２】
また回路規模を増大させないために、スケジューリングを行い逆量子化器７０３と逆量子化器７１４を共有化する手法が存在する。このようなスケジューリングを行った場合の量子化器７０２及び逆量子化７１４の処理状況を図６に示す。
【００３３】
図６において量子化器７０２は現在の処理対象マクロブロックＸ内の直交変換係数の量子化処理を行っており、逆量子化器７１３は現在の処理対象マクロブロックＸより一つ前のマクロブロック（Ｘ−１）内の量子化された直交変換係数をバッファ７０９から読み出し、逆量子化処理を行っている。図６において逆量子化器７１３は一つ前のマクロブロック（Ｘ−１）の処理を途中で中断し、現在のマクロブロックＸ内の逆量子化処理を行っている。このように逆量子化器を共有化し、スケジューリングを行った場合には局所復号化器の動作が遅くなってしまい、符号化処理装置全体としても処理速度が低下してしまうという問題があった。
【００３４】
従って、本発明の目的はこのような回路規模の増大や処理速度の低下無しにＤＣ／ＡＣ予測を行う画像予測符号化装置を実現することである。
【課題を解決するための手段】
【００３５】
かかる課題を解決するための本発明における請求項１に記載の画像予測符号化装置は、量子化器において除算結果である量子化された係数と同時に量子化誤差を表す量子化時の剰余を抽出し、量子化器への入力である直交変換係数と抽出された剰余から簡易な構成で逆量子化された係数を得る。
【００３６】
上記の逆量子化された係数を得る過程を以下の数式を用いて説明する。Ｆｉを直交変換係数、Ｑｉを量子化ステップ値、ＱＦｉを量子化された係数、Ｆｉ’を逆量子化された係数、Ｒｉを量子化（除算）時の剰余とすると以下の関係が成り立つ。ここで除算器には四捨五入処理等ではなく切り捨て処理で実現されているものとする。
【００３７】
［数５］
Ｆｉ＝Ｑｉ＊ＱＦｉ＋Ｒｉ
Ｆｉ’＝Ｑｉ＊ＱＦｉ
【００３８】
よって量子化時に入力の直交変換係数及び剰余を用いることにより以下のように逆量子化された係数を得ることが可能となる。
【００３９】
［数６］
Ｆｉ’＝Ｆｉ−Ｒｉ
【００４０】
このような構成においては逆量子化器が必要無いので回路規模が少ない構成となる。
【００４１】
また本発明における請求項２に記載のように上記のような構成を特に予測すべきブロックと現在の処理対象ブロックが同一のマクロブロック内に存在する場合に適用することにより、処理速度が低下せず回路規模の少ない画像予測符号化装置を構成することが可能となる。
【００４２】
すなわち、本発明の技術内容は以下の構成を備えることにより前記課題を解決できた。
【００４３】
（１）ブロック単位に分割した画像データに直交変換を施した直交変換係数を入力とする画像予測符号化装置が、前記直交変換係数に対して量子化処理を行い量子化された直交変換係数及び量子化時の剰余を出力する量子化手段と、前記量子化された直交変換係数を格納する第一の記憶手段と、前記量子化された直交変換係数に対して逆量子化処理を行い逆量子化された直交変換係数を計算する逆量子化手段と、前記逆量子化手段から出力される逆量子化された直交変換係数を格納する第二の記憶手段と、前記第二の記憶手段から読み出された逆量子化された直交変換係数及び現在の処理対象ブロックに隣接した周辺ブロックの逆量子化された直交変換係数を用いて予測モードを決定し予測値を算出する予測モード決定手段と、前記算出された予測値を用いて現在の処理対象ブロック内の直交変換係数の値を予測する予測手段とから構成され、前記逆量子化手段において逆量子化された直交変換係数は前記量子化時の剰余と前記画像データの直交変換係数とから算出することを特徴とする画像予測符号化装置。
【発明の効果】
【００４４】
本発明が示す構成によれば、従来は同一のマクロブロック内からＤＣ／ＡＣ予測等の画面内予測を行う場合には回路規模の増加や処理速度の低下を招いていたのに対し、量子化器への入力である直交変換係数と量子化時の剰余から逆量子化された係数を求めることにより、回路規模が少なくかつ処理速度が低下しない画像予測符号化装置を構成することが可能となる。
【発明を実施するための最良の形態】
【００４５】
以下本発明を実施するための最良の形態を、実施例により詳しく説明する。
【実施例】
【００４６】
図１は、本発明における画像予測符号化装置の実施例をブロック図で示したものであり、図示されるように直交変換器（ＤＣＴ）１０１、量子化器１０２、減算器１０３、バッファ１０４、予測モード決定器１０５、量子化器１０６、減算器１０７、選択器１０８、バッファ１０９、スキャン変換器１１０、エントロピー符号化器１１１を含む。
【００４７】
図１において、ＤＣＴ１０１は、ブロック分割された入力データに対し、該ブロック単位にＤＣＴ変換を施し、直交変換係数を量子化器１０２及び減算器１０３へ出力する。量子化器１０２は、当該ブロックの量子化ステップ値を用いて直交変換係数を量子化すると同時に予測の対象となる係数については量子化時の剰余を減算器１０３へ出力する。減算器１０３は予測の対象となる係数についてＤＣＴ１０１の出力である直交変換係数から量子化器１０２より出力される剰余を減算することにより、逆量子化された係数を計算し、バッファ１０４及び及び予測モード決定器１０５へ出力する。
【００４８】
予測モード決定器１０５においては減算器１０３の出力及びバッファ１０４から読み出された逆量子化された係数を用いて次に処理されるブロックのＤＣ予測の方向を決定し、さらにＤＣ／ＡＣ予測に用いられる参照係数を量子化器１０６へ出力する。量子化器１０６は参照係数を現在のブロックの量子化に用いられる量子化ステップ値を用いて量子化し、減算器１０７へ出力する。減算器１０７は量子化器１０２と量子化器１０６より供給される量子化された係数及び量子化された参照係数を用いてＤＣ予測及びＡＣ予測を実行する。
【００４９】
ここで図１には量子化器が２つ存在しているが、実際の処理は時分割することが可能なので量子化器１０２と量子化器１０６は共有することが可能である。
【００５０】
選択器１０８はＤＣ／ＡＣ予測を行った量子化された係数と行わない量子化された係数を係数の位置及び予測モードに基づいて選択し、バッファ１０９へ出力する。バッファ１０９においては各ブロック内の係数が全て０であるか否かというＣＢＰ（Ｃｏｄｅｄ  Ｂｌｏｃｋ  Ｐａｔｔｅｒｎ）の情報を抽出した後にバッファ内の全てのＤＣ係数及びＣｏｄｅｄであったブロック（全ての係数が０でなかったブロック）のＡＣ係数をスキャン変換器１１０に出力する。
【００５１】
スキャン処理器１１０はバッファ１０９より読み出された予測後の量子化された係数に対してジグザグスキャン、垂直スキャン及び水平スキャンのいずれかのスキャン処理を行う。エントロピー符号化器１１１はスキャン処理器１１０の出力をエントロピー符号化し、符号データとして出力する。このような符号化装置においては逆量子化器を必要とせず、かつ量子化器から剰余を出力する機能と減算器１０３は回路規模が非常に少ない構成となるので、符号化装置全体としても回路規模が少ない構成となることが分かる。
【図面の簡単な説明】
【００５２】
【図１】本発明における実施例の構成図
【図２】処理対象ブロックと周辺ブロックの位置関係図
【図３】ブロック内におけるＤＣ／ＡＣ予測の対象となる係数の位置関係図
【図４】異なるマクロブロック内のブロックを予測すべきブロックとするＤＣ／ＡＣ予測の位置関係図
【図５】同一のマクロブロック内のブロックを予測すべきブロックとするＤＣ／ＡＣ予測の位置関係図
【図６】従来例において逆量子化器の共有を行った場合のスケジューリング図
【図７】従来技術の実施例の構成図
【符号の説明】
【００５３】
１０１  ＤＣＴ変換器
１０２  量子化器
１０３  減算器
１０４  バッファ
１０５  予測モード決定器
１０６  量子化器
１０７  減算器
１０８  選択器
１０９  バッファ
１１０  スキャン変換器
１１１  エントロピー符号化器
７０１  直交変換器（ＤＣＴ）
７０２  量子化器
７０３  逆量子化器
７０４  バッファ
７０５  予測モード決定器
７０６  量子化器
７０７  減算器
７０８  選択器
７０９  バッファ
７１０  スキャン処理器
７１１  エントロピー符号化器
７１２  加算器
７１３  選択器
７１４  逆量子化器
７１５  逆直交変換器（ＩＤＣＴ）
【図１】
2006270392.tif 000003
【図２】
2006270392.tif 000004
【図３】
2006270392.tif 000005
【図４】
2006270392.tif 000006
【図５】
2006270392.tif 000007
【図７】
2006270392.tif 000008
【図６】
2006270392.tif 000009