(57)【要約】【課題】記憶容量を抑えるようにして、発生符号量を精度良く制御できるようにする。【解決手段】一つ前のブロックラインに係る目標符号量と発生符号量との差分絶対値が所定の閾値以上である場合は、まず、第一の量子化ステップを設定し、一つ前のブロックラインに含まれるブロック毎の複雑度を用い、対象となるブロックラインに含まれるブロックの重みを決定する。そして、第一の量子化ステップにこの決定した重みを積算して、ブロック毎の第二の量子化ステップを決定する。【選択図】図１
2016082395.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データを画素ラインの単位で符号化する符号化装置であって、
前記画像データを量子化する量子化手段と、
前記量子化手段によって量子化されるブロックの上段のブロックラインまでの発生符号量と、前記画素ラインの単位の目標符号量とを比較する比較手段と、
前記比較手段による比較結果に応じてブロック単位に量子化ステップを制御する制御手段とを有し、
前記制御手段は、前記比較手段による比較結果に応じて前記量子化手段によって量子化されるブロックが属するブロックラインの第一の量子化ステップを決定するとともに、前記量子化手段によって量子化されるブロックの上段のブロックに係る情報に基づいて前記第一の量子化ステップに対して重み付けすることによりブロック単位の第二の量子化ステップを決定し、
前記量子化手段は、前記制御手段によって決定された第二の量子化ステップにより量子化することを特徴とする符号化装置。
【請求項２】
前記制御手段は、前記量子化手段によって量子化されるブロックの上段のブロックに係る発生符号量と量子化ステップとを用いて前記第一の量子化ステップに対して重み付けすることを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記制御手段は、前記量子化手段によって量子化されるブロックの上段のブロックラインに属するブロックに係る発生符号量と量子化ステップとの積の平均値に対する、前記量子化手段によって量子化されるブロックの上段のブロックに係る発生符号量と量子化ステップとの積の割合により前記第一の量子化ステップに対して重み付けすることを特徴とする請求項２に記載の符号化装置。
【請求項４】
前記制御手段は、前記量子化手段によって量子化されるブロックの上段のブロックラインに属するブロックに係る発生符号量と量子化ステップとの積に応じて、段階的に前記第一の量子化ステップに対して重み付けすることを特徴とする請求項１又は２に記載の符号化装置。
【請求項５】
前記制御手段は、前記量子化手段によって量子化されるブロックの上段のブロック全体に係る情報に基づいて前記第一の量子化ステップに対して重み付けすることを特徴とする請求項１〜４の何れか１項に記載の符号化装置。
【請求項６】
前記制御手段は、前記量子化手段によって量子化されるブロックの上段のブロックの中の一部の画素ラインに係る情報に基づいて前記第一の量子化ステップに対して重み付けすることを特徴とする請求項１〜４の何れか１項に記載の符号化装置。
【請求項７】
入力された画像データを離散ウェーブレット変換して画素ラインの単位で符号化する符号化装置であって、
前記入力された画像データを周波数変換する変換手段と、
前記変換手段による周波数変換の変換係数を量子化する量子化手段と、
前記量子化手段によって量子化されるブロックの上段のブロックラインまでの発生符号量と、前記画素ラインの単位の目標符号量とを比較する比較手段と、
前記比較手段による比較結果に応じてブロック単位に量子化ステップを制御する制御手段とを有し、
前記制御手段は、前記比較手段による比較結果に応じて前記量子化手段によって量子化されるブロックが属するブロックラインの第一の量子化ステップを決定するとともに、前記量子化手段によって量子化されるブロックの上段のブロックに係る変換係数に基づいて前記第一の量子化ステップに対して重み付けすることによりブロック単位の第二の量子化ステップを決定し、
前記量子化手段は、前記制御手段によって決定された第二の量子化ステップにより量子化することを特徴とする符号化装置。
【請求項８】
前記制御手段は、前記量子化手段によって量子化されるブロックの上段のブロックに係る変換係数の総和を用いて前記第一の量子化ステップに対して重み付けすることを特徴とする請求項７に記載の符号化装置。
【請求項９】
前記制御手段は、前記変換手段によって周波数変換された回数に応じて前記第一の量子化ステップに対して重み付けすることを特徴とする請求項７に記載の符号化装置。
【請求項１０】
入力された画像データを画素ラインの単位で符号化する符号化方法であって、
前記画像データを量子化する量子化工程と、
前記量子化工程において量子化されるブロックの上段のブロックラインまでの発生符号量と、前記画素ラインの単位の目標符号量とを比較する比較工程と、
前記比較工程における比較結果に応じてブロック単位に量子化ステップを制御する制御工程とを有し、
前記制御工程においては、前記比較工程における比較結果に応じて前記量子化工程において量子化されるブロックが属するブロックラインの第一の量子化ステップを決定するとともに、前記量子化工程において量子化されるブロックの上段のブロックに係る情報に基づいて前記第一の量子化ステップに対して重み付けすることによりブロック単位の第二の量子化ステップを決定し、
前記量子化工程においては、前記制御工程において決定された第二の量子化ステップにより量子化することを特徴とする符号化方法。
【請求項１１】
入力された画像データを離散ウェーブレット変換して画素ラインの単位で符号化する符号化方法であって、
前記入力された画像データを周波数変換する変換工程と、
前記変換工程における周波数変換の変換係数を量子化する量子化工程と、
前記量子化工程において量子化されるブロックの上段のブロックラインまでの発生符号量と、前記画素ラインの単位の目標符号量とを比較する比較工程と、
前記比較工程における比較結果に応じてブロック単位に量子化ステップを制御する制御工程とを有し、
前記制御工程においては、前記比較工程における比較結果に応じて前記量子化工程において量子化されるブロックが属するブロックラインの第一の量子化ステップを決定するとともに、前記量子化工程において量子化されるブロックの上段のブロックに係る変換係数に基づいて前記第一の量子化ステップに対して重み付けすることによりブロック単位の第二の量子化ステップを決定し、
前記量子化工程においては、前記制御工程において決定された第二の量子化ステップにより量子化することを特徴とする符号化方法。
【請求項１２】
入力された画像データを画素ラインの単位で符号化する符号化装置を制御するためのプログラムであって、
前記画像データを量子化する量子化工程と、
前記量子化工程において量子化されるブロックの上段のブロックラインまでの発生符号量と、前記画素ラインの単位の目標符号量とを比較する比較工程と、
前記比較工程における比較結果に応じてブロック単位に量子化ステップを制御する制御工程とをコンピュータに実行させ、
前記制御工程においては、前記比較工程における比較結果に応じて前記量子化工程において量子化されるブロックが属するブロックラインの第一の量子化ステップを決定するとともに、前記量子化工程において量子化されるブロックの上段のブロックに係る情報に基づいて前記第一の量子化ステップに対して重み付けすることによりブロック単位の第二の量子化ステップを決定し、
前記量子化工程においては、前記制御工程において決定された第二の量子化ステップにより量子化することを特徴とするプログラム。
【請求項１３】
入力された画像データを離散ウェーブレット変換して画素ラインの単位で符号化する符号化装置を制御するためのプログラムであって、
前記入力された画像データを周波数変換する変換工程と、
前記変換工程における周波数変換の変換係数を量子化する量子化工程と、
前記量子化工程において量子化されるブロックの上段のブロックラインまでの発生符号量と、前記画素ラインの単位の目標符号量とを比較する比較工程と、
前記比較工程における比較結果に応じてブロック単位に量子化ステップを制御する制御工程とをコンピュータに実行させ、
前記制御工程においては、前記比較工程における比較結果に応じて前記量子化工程において量子化されるブロックが属するブロックラインの第一の量子化ステップを決定するとともに、前記量子化工程において量子化されるブロックの上段のブロックに係る変換係数に基づいて前記第一の量子化ステップに対して重み付けすることによりブロック単位の第二の量子化ステップを決定し、
前記量子化工程においては、前記制御工程において決定された第二の量子化ステップにより量子化することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、発生符号量を制御するために用いて好適な符号化装置、符号化方法及びプログラムに関する。
【背景技術】
【０００２】
近年、ＲＡＷ画像を記録する方式は、静止画のみならず動画にも適用されている。ＲＡＷ画像は記録に必要なデータ量が膨大になる一方で、オリジナル画像に対する補正や劣化を最低限に抑えられるため、撮影後の画像編集の自由度が高い。このことから、撮像装置を使用する者の中でも上級者によってＲＡＷ画像が好んで使われている。ところが、ＲＡＷ画像の動画を記録する時は、所定の記録媒体に一定時間の動画が記録できるよう、データ量を所望の符号量へ圧縮する圧縮符号化が必要となる。
【０００３】
従来の動画の圧縮符号化方式としては、Ｈ．２６４（H.264/ MPEG-4 Part10 : Advanced Video Coding）が知られている。このような圧縮符号化方式では、１フレーム内で所定画素数から成るブロック毎に、動画が有する時間冗長性と空間冗長性とを利用してデータ量を圧縮する。Ｈ．２６４では、時間冗長性に対する動き検出及び動き補償、空間冗長性に対する離散コサイン変換や量子化、更にエントロピー符号化といった符号化方式を組み合わせることにより圧縮符号化を実現している。
【０００４】
このようなブロック毎の圧縮符号化方式として、特許文献１には、圧縮符号化はブロック単位で行い、符号量制御はブロック１行から成るブロックライン毎に行う圧縮符号化方式が開示されている。特許文献１に記載の方法よれば、ブロックライン毎に発生符号量を測定し、１画面全体の発生符号量が所定の目標符号量以下となるようにブロックライン毎に符号量制御を行っている。これにより、所望の符号量へ圧縮符号化することができるとしている。
【０００５】
また、特許文献２には、量子化パラメータである量子化ステップをブロック毎に決定した後、発生符号量が目標符号量から逸脱する度合を縮小させる方向に、上記量子化ステップに対する補正を行うように制御する圧縮符号化制御方式が開示されている。特許文献２に記載の方法によれば、ブロック毎に圧縮符号化を行い、符号化済みのブロックを利用して次に符号化するブロックの符号量制御を行うことにより、所望の符号量へ圧縮符号化することができるとしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−１８８５７号公報
【特許文献２】特開２００２−９４９８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、近年の撮像センサーの進化により、画像１枚あたりの画素数は大幅に増加しており、また、１秒当たりに連写できる画像の枚数も同様に増加している。このため、圧縮符号化処理においても、このような入力画像に対しても効率良くかつ迅速に処理する能力が求められる。さらに、取り扱う画像データのデータ量が膨大になることによって現像処理も膨大に増加するため、ＲＡＭのバス帯域の逼迫が問題となる。
【０００８】
そこで、入力画像信号をＲＡＭに待避せず、センサーから画素ライン単位にラスタ順で直接入力して圧縮符号化することにより、ＲＡＭのバス帯域を削減する構成が考えられる。しかしながら、画素ライン単位の圧縮符号化では、各ブロックの先頭の画素ラインの圧縮符号化が始まった時点で、各ブロックの量子化ステップを決定しなければならないため、特許文献２に記載される技術を利用した符号量制御を行うことができない。
【０００９】
一方、一般に複雑な画像は発生符号量が多く、簡単な画像は発生符号量が少なくなる傾向がある。このため、符号化処理の一つである量子化処理では、複雑な画像であれば量子化ステップを大きく、簡単な画像であれば量子化ステップを小さく設定することによって発生符号量を制御することが考えられる。しかしながら、特許文献１に記載された方法のように、ブロックラインに含まれる各ブロックに共通の量子化ステップを設定すると、ブロックラインの左右で特徴が大きく異なる画像の場合は複雑な領域と簡単な領域とを共通の量子化ステップで圧縮符号化する。このため、このような特徴の画像の場合は、発生符号量を所望の符号量に合わせることが困難である。
【００１０】
本発明は前述の問題点に鑑み、記憶容量を抑えるようにして、発生符号量を精度良く制御できるようにすることを目的としている。
【課題を解決するための手段】
【００１１】
本発明に係る符号化装置は、入力された画像データを画素ラインの単位で符号化する符号化装置であって、前記画像データを量子化する量子化手段と、前記量子化手段によって量子化されるブロックの上段のブロックラインまでの発生符号量と、前記画素ラインの単位の目標符号量とを比較する比較手段と、前記比較手段による比較結果に応じてブロック単位に量子化ステップを制御する制御手段とを有し、前記制御手段は、前記比較手段による比較結果に応じて前記量子化手段によって量子化されるブロックが属するブロックラインの第一の量子化ステップを決定するとともに、前記量子化手段によって量子化されるブロックの上段のブロックに係る情報に基づいて前記第一の量子化ステップに対して重み付けすることによりブロック単位の第二の量子化ステップを決定し、前記量子化手段は、前記制御手段によって決定された第二の量子化ステップにより量子化することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、記憶容量を抑えるようにして、発生符号量を精度良く制御することができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係る画像符号化装置の構成例を示すブロック図である。
【図２】画像符号化部へ入力される画像データの入力順を説明するための図である。
【図３】矩形ブロックの配置を説明するための図である。
【図４】量子化制御部により発生符号量を制御する処理手順の一例を示すフローチャートである。
【図５】２つ目のブロックラインが圧縮符号化されるときに利用される重み付け情報の取得範囲を説明するための図である。
【図６】ブロックラインにおける、重み付け情報に基づく第二の量子化ステップの変化と符号量の推移との関係を示す図である。
【図７】第２の実施形態に係る画像符号化装置の構成例を示すブロック図である。
【図８】離散ウェーブレット変換を水平方向、及び垂直方向にそれぞれ二回ずつ実施した場合に形成されるサブバンドを説明するための図である。
【図９】離散ウェーブレット変換のレベル１に着目した、レベル毎の重み付け情報を決定する処理を説明するための図である。
【図１０】第４の実施形態において、２つ目のブロックラインが圧縮符号化されるときに利用する重み付け情報の取得範囲の一例を示す図である。
【図１１】第５の実施形態で適応する重みに基づいた、第二の量子化ステップの変化と符号量の推移との関係を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図面を参照しながら説明する。
（第１の実施形態）
図１は、本実施形態に係る画像符号化装置１０の構成例を示すブロック図である。以下、図１を参照しながら本実施形態に係る画像符号化装置１０における符号化処理の概要について説明する。
画像符号化部１００は、量子化設定部１０３で設定される画像の基準となる量子化ステップ、及び目標符号量設定部１０６で設定される目標符号量に従い、入力される画像データを画素ライン毎に圧縮符号化し、符号化データを出力する。
【００１５】
図２は、図１の画像符号化部１００へ入力される画像データの入力順を説明するための図である。図２に示すように、当該画像データは画素ライン単位でラスタ順に画像符号化部１００へ入力され、圧縮符号化される。なお、画像データは撮像装置へ入力される画素値そのものでもよく、その画素値に何らかの処理が施されたデータでもよい。
【００１６】
図３は、矩形ブロックの配置を説明するための図であり、図３（ａ）は、１画面の画素配置を示した図である。そして、図３（ｂ）は、図３（ａ）に示す画素配置を元に１画面の矩形ブロックの配置を示した図である。図３に示すように、１画像（１画面）はｎ×ｍ画素で構成され、本実施形態では、ｐ×ｑ画素を１ブロックとしてブロック毎に符号量制御を行う。なお、撮像装置へ入力された画像をコンポーネント分解し、コンポーネント毎に圧縮符号化する場合は、後述する図１の目標符号量設定部１０６は、コンポーネント毎に目標符号量を設定する。そのため、図３に示す１画面は、目標符号量設定部１０６で目標符号量を設定する単位でもある。
【００１７】
量子化部１０１は、量子化制御部１１０で設定される量子化ステップで画像データを画素毎に量子化する。量子化ステップ保持部１０２は、量子化部１０１で量子化を行う際に使用された量子化ステップ、及び量子化設定部１０３で設定される当該画像の基準となる量子化ステップを保持する。符号化部１０４は、量子化部１０１で量子化された画像データをエントロピー符号化して符号化データを生成し、発生符号量を発生符号量保持部１０５に保持する。
【００１８】
画素ライン目標符号量算出部１０７は、量子化ステップ保持部１０２、発生符号量保持部１０５、及び目標符号量設定部１０６が保持する情報を用いて、画素ラインあたりの目標符号量を算出し、画素ライン目標符号量保持部１０８に保持する。符号量比較部１０９は、図３に示すブロック一行から成るブロックライン毎に、発生符号量保持部１０５に保持された、対象となるブロックラインまでの発生符号量の積算量と画素ライン目標符号量保持部１０８に保持された目標符号量の積算量とを比較する。そして、その差分絶対値を量子化制御部１１０へ通知する。
【００１９】
量子化制御部１１０は、発生符号量の積算量が、目標符号量の積算量へ近付くようにするために、画像データに対してブロック単位に量子化ステップを制御する。
【００２０】
具体的にはまず、符号量比較部１０９で算出される一つ前のブロックラインの比較結果（差分絶対値）から、ブロックラインの量子化ステップである第一の量子化ステップを決定する。次に、量子化ステップ保持部１０２及び発生符号量保持部１０５が保持する情報から得られる一つ前のブロックラインに含まれる各ブロックの量子化ステップ、及び発生符号量を用いて重み付け情報を算出する。そして、算出した重み付け情報を元に、第一の量子化ステップに重みをつけて、ブロック毎の量子化ステップである第二の量子化ステップを決定する。なお、重み付け情報や重みの詳細な内容については後述する。これにより、量子化部１０１は、第二の量子化ステップを使って量子化処理を行うことになる。
【００２１】
＜量子化制御処理＞
図４は、量子化制御部１１０による処理手順の一例を示すフローチャートである。図４を参照しながら、画素ライン単位の圧縮符号化におけるブロック毎の符号量制御の詳細を説明する。以降、（ｉ）はｉ行のブロックラインを示し、（ｉ，ｊ）はｉ行のブロックラインに含まれるｊ列のブロックを指すものとする。
【００２２】
まず、Ｓ４０１において、量子化設定部１０３で設定された当該１画面の基準量子化ステップＱiniを量子化ステップ保持部１０２から取得する。そして、Ｓ４０２において、量子化ステップを制御するブロックラインが当該画面の１ライン目であるか否かを判定する。この判定の結果、１ライン目である場合はＳ４０４に進み、そうでない場合はＳ４０３に進む。
【００２３】
Ｓ４０３においては、符号量比較部１０９の比較結果である、当該ブロックラインの一つ前のブロックラインに係る目標符号量と発生符号量との差分絶対値が所定の閾値より小さいか否かを判定する。この判定の結果、閾値未満である場合はＳ４０４に進み、そうでない場合はＳ４０５に進む。
【００２４】
Ｓ４０４においては、Ｓ４０１で取得した基準量子化ステップＱiniをブロックラインの第一の量子化ステップＱ（ｉ）とする。そして、その第一の量子化ステップを当該ブロックラインに含まれる各ブロックの第二の量子化ステップＱ（ｉ，ｊ）をとしてそのまま設定する。
【００２５】
一方、Ｓ４０５においては、ブロックラインの第一の量子化ステップＱ（ｉ）を、基準量子化ステップＱini＋α（ｉ）とする。なお、値αの詳細については後述する。次に、Ｓ４０６において、一つ前のブロックラインに含まれるブロック毎の特徴である重み付け情報Ｉ（ｉ−１，ｊ）を用い、対象となるブロックラインに含まれるブロックの重みβ（ｉ，ｊ）を決定する。重み付け情報Ｉ及び重みβの詳細についても後述する。
【００２６】
続いてＳ４０７において、ブロック毎に、Ｓ４０６で決定した重みβ（ｉ，ｊ）を、Ｓ４０５で決定したブロックラインの第一の量子化ステップＱ（ｉ）に乗算する。この計算により、当該ブロックラインのブロック毎の第二の量子化ステップＱ（ｉ，ｊ）を決定する。なお、画像データは画像符号化部１００に画素ライン単位に入力される。このため、量子化部１０１は、ブロックラインに含まれる全てのブロックが符号化部１０４で符号化されるまで、Ｓ４０４或いはＳ４０７で決定した第二の量子化ステップを用いて量子化処理を行うことになる。
【００２７】
＜第一の量子化ステップ算出方法＞
次に、Ｓ４０５で第一の量子化ステップＱ（ｉ）を算出する際に加算される値αの詳細な算出方法について説明する。第一の量子化ステップを算出する方法の一つに、MPEG2 Test Model 5に示された公知技術が知られている。MPEG2 Test Model 5に記載の技術によれば、符号量を制御する方法として、次に制御するブロックラインの量子化ステップＱ（ｉ）が以下の式（１）のように与えられる。
Ｑ（ｉ）＝Ｑini＋ｒ×error      ・・・（１）
【００２８】
ここで、ｒは制御感度を表す定数を示し、errorは符号化済みの発生符号量の積算量と目標符号量の積算量との差を示す。つまり、第一の量子化ステップＱ（ｉ）を算出する際に、MPEG2 Test Model 5に記載の技術を適用し、値αを以下の式（２）により定義する。
α＝ｒ×error      ・・・（２）
【００２９】
＜第二の量子化ステップ算出方法＞
続いて、Ｓ４０５で用いられる重み付け情報Ｉ及びＳ４０６で加算される重みβの詳細な算出方法について説明する。まず、一般的に近接ブロック同士の画像の特徴は似ており、座標位置が近いほどその相関性は高い。そのため、対象となるブロックに利用する重み付け情報として、当該ブロックの真上に位置するブロック全域で得られる重み付け情報Ｉ（ｉ−１，ｊ）を用いることとする。
【００３０】
図５は、２つ目のブロックラインが圧縮符号化されるときに利用される重み付け情報の取得範囲を説明するための図である。図５に示すように、２つ目のブロックラインに含まれるブロック（ｉ，ｊ）に用いる重み付け情報は、当該ブロックの上段に位置するブロック全域の重み付け情報Ｉ（ｉ−１，ｊ）で表すことができる。
【００３１】
次に、本実施形態では、重み付け情報として、画像の特徴を利用する。ある画像の発生符号量に着目すると、画像が複雑であるブロックは、画像が平坦であるブロックと比較して、同じ量子化ステップで量子化処理を行うと、より大きい符号量が発生する。そこで、ブロック（ｉ，ｊ）に利用する重み付け情報Ｉ（ｉ−１，ｊ）には、画像の複雑度Ｘ（ｉ−１，ｊ）を利用し、複雑度Ｘ（ｉ−１，ｊ）を用いてブロックラインに含まれるブロックの重みβ（ｉ，ｊ）を決定する。
【００３２】
つまり、図５によれば、ブロック（ｉ，ｊ）に利用する重み付け情報Ｉ（ｉ−１，ｊ）は、当該ブロックの真上に位置するブロック（ｉ−１，ｊ）の複雑度Ｘ（ｉ−１，ｊ）として表すことができる。この複雑度は、単位画面内の画像が複雑であれば大きく、平坦であれば小さいという特徴を有する。ブロック（ｉ−１，ｊ）の複雑度は、そのブロックの第二の量子化ステップＱ（ｉ−１，ｊ）と発生符号量Ｓ（ｉ−１，ｊ）とを用いて以下の式（３）により与えられる。
Ｘ（ｉ−１，ｊ）＝Ｑ（ｉ−１，ｊ）×Ｓ（ｉ−１，ｊ）      ・・・（３）
【００３３】
以上より、重みβ（ｉ，ｊ）は、例えば、以下の式（４）のように、一つ前のブロックラインに含まれる各ブロックの複雑度の平均値Ｘ（ｉ−１）ave.に対する、ブロックの複雑度の偏り（割合）により決定することができる。
β（ｉ，ｊ）＝Ｘ（ｉ−１，ｊ）／Ｘ（ｉ−１）ave.      ・・・（４）
【００３４】
図６は、ブロックラインにおける、重み付け情報に基づく第二の量子化ステップの変化と符号量の推移との関係を示す図である。なお、図６においては、ブロックライン内のブロック数が６個である例を示している。図６（ａ）は、一つ前のブロックラインにおける、ブロック毎の重み付け情報Ｉ（ｉ−１，ｊ）の変化を示す図である。本実施形態においては、図６（ａ）の重み付け情報Ｉ（ｉ−１，ｊ）は複雑度Ｘ（ｉ−１，ｊ）と等価である。また、図６（ｂ）には、第一の量子化ステップＱ（ｉ）に対する第二の量子化ステップＱ（ｉ，ｊ）の変化を示している。
【００３５】
図６（ｃ）は、図６（ｂ）に示す第二の量子化ステップで量子化した場合の、そのブロックラインの発生符号量の積算量の推移を示した図である。図６（ｃ）において、点線６０１は、対象となるブロックラインにおける目標符号量の積算量の変化を表している。折れ線６０２は、当該ブロックラインの各ブロックで第二の量子化ステップが一定値である場合の発生符号量の積算量の変化を表している。点６０３は、図６（ｂ）に示す第二の量子化ステップを各ブロックに適応した場合の、ブロック毎の発生符号量の積算量を表している。なお、ブロックラインの発生符号量は、６個目のブロックの発生符号量の積算量と等価である。
【００３６】
折れ線６０２からわかるように、図６（ｃ）に示す例では、ブロックラインのうち、左側のブロックほど絵柄が簡単なためブロック単位の発生符号量が少なく、右側のブロックの方が比較的絵柄が複雑なためブロック単位の発生符号量が多くなっている。このような特徴を持つブロックライン内で一律の第二の量子化ステップを用いると、ブロックラインの目標符号量に対して発生符号量が大きく外れてしまう可能性が高い。一方、本実施形態のように、重み付け情報Ｉ（ｉ−１，ｊ）を用いてブロック毎に第二の量子化ステップを変更すれば、点６０３に示すように、ブロックラインの発生符号量を目標符号量により近付けることが可能になる。
【００３７】
以上のように本実施形態によれば、画素ライン単位で画像データが入力される場合でも、ブロック毎の量子化ステップを画像の特徴に応じて適応的に変更できるため、符号量制御の精度を高くした画像符号化装置を提供することができる。
【００３８】
（第２の実施形態）
以下、本発明の第２の実施形態について説明する。
図７は、本実施形態に係る画像符号化装置７０の構成例を示すブロック図である。本実施形態は、画像データに周波数変換を施す場合を想定したものであり、図１と同一の構成については同一の符号を付しており、これらの構成については説明を省略する。図７に示す構成では、画像符号化部７００は、離散ウェーブレット変換部７１１及び変換係数保持部７１２を備えている。以下、第１の実施形態と異なる点について説明する。
【００３９】
離散ウェーブレット変換部７１１は、画像データを周波数領域信号へ変換（以下、離散ウェーブレット変換）し、その変換係数を量子化部７０１及び変換係数保持部７１２へ出力する。量子化部７０１は、量子化制御部７１０の指示に従い、入力された変換係数を量子化する。量子化制御部７１０は、変換係数保持部７１２が保持する情報を用いて量子化ステップを算出する。なお、これらの処理の詳細については後述する。
【００４０】
圧縮符号化においては、周波数の変換係数を圧縮符号化することにより、人間の視覚特性上鈍感であるとされる空間周波数の高い画像に対しては、量子化ステップを荒くするといった処理をすることができる。このため、より効率良く圧縮符号化処理をすることができる。
【００４１】
＜離散ウェーブレット変換＞
図８は、離散ウェーブレット変換を水平方向、及び垂直方向にそれぞれ二回ずつ実施した場合に形成される、部分周波数帯域であるサブバンドを説明するための図である。離散ウェーブレット変換では、画像の水平方向、垂直方向にそれぞれ１回ずつフィルタ処理を施すことによって、画像をＬＬ、ＨＬ、ＬＨ、ＨＨの四つのサブバンドに分割する。ここで、Ｌは低域成分、Ｈは高域成分を示し、文字の順に、水平方向、垂直方向の帯域を示している。例えば、ＨＬは水平成分が高域で垂直成分が低域である部分周波数帯域を表す。離散ウェーブレット変換では、このような処理をＬＬ成分に繰り返し実施することができ、離散ウェーブレット変換の回数分のレベルＬｖが構築される。ウェーブレット変換回数をＮ回とすると、サブバンドは合計Ｎ×３＋１領域形成される。
【００４２】
＜量子化制御処理＞
本実施形態における量子化制御部７１０の処理手順は、基本的には第１の実施形態で説明した図４のフローチャートと同様の手順であり、１画面を１サブバンドとして制御を行う。但し、本実施形態では、重み付け情報Ｉ及び重みβの算出方法が第１の実施形態と異なっている。以下、重み付け情報Ｉ及び重みβの詳細な算出方法について説明する。
【００４３】
本実施形態においても、対象となるブロックに利用する重み付け情報Ｉには、当該ブロックの真上に位置するブロック全域で得られる重み付け情報Ｉ（ｉ−１，ｊ）を用いることとする。変換係数保持部７１２に保持される離散ウェーブレット変換の変換係数は、サブバンドで表わされる部分周波数帯域の中でも、相関性の低い画像データでは大きく、そうでなければ小さい。また、変換係数が大きいほど、発生符号量は大きくなる。つまり、ブロック内の変換係数の総和Coeff.sumが大きいブロックは、変換係数の総和Coeff.sumが小さいブロックと比較して、同じ量子化ステップで量子化処理をした場合に、より大きい符号量が発生することが予想される。
【００４４】
そこで、本実施形態においては、対象となるブロックに利用する重み付け情報Ｉ（ｉ−１，ｊ）には、一つ前のブロックラインに含まれるブロック毎の変換係数の総和Coeff.sum（ｉ−１，ｊ）を利用する。変換係数を利用し、重みβの値は、例えば以下の式（５）のように、一つ前のブロックラインに含まれる各ブロックの変換係数の総和の平均値Coeff.（ｉ−１）.ave.に対する、Coeff.sum（ｉ−１，ｊ）の偏りにより決定することができる。
β（ｉ，ｊ）＝Coeff.sum（ｉ−１，ｊ）／Coeff.（ｉ−１）ave.  ・・・（５）
【００４５】
以上の重みβの算出方法による本実施形態の効果について、図６を参照しながら説明する。本実施形態においては、図６（ａ）の重み付け情報Ｉ（ｉ−１，ｊ）は変換係数の総和Coeff.sum（ｉ−１，ｊ）と等価である。第１の実施形態で説明したように、ブロックライン内で一律の第二の量子化ステップを用いると、ブロックラインの左右で発生符号量が大きく異なる画像では、目標符号量に対して発生符号量が外れてしまう可能性が高い。一方、本実施形態のように重み付け情報Ｉ（ｉ−１，ｊ）を用いてブロック毎に第二の量子化ステップを変更すれば、発生符号量を目標符号量により近付けることが可能になる。
【００４６】
以上のように本実施形態によれば、画素ライン単位で画像データが入力される場合において、離散ウェーブレット変換を行う画像符号化装置でも、離散ウェーブレット変換の変換係数を用いてブロック毎に第二の量子化ステップを変更できる。そのため、ブロック毎の量子化ステップを画像の特徴に応じて適応的に変更でき、符号量制御の精度を高くした画像符号化装置を提供することができる。
【００４７】
なお、上記の重み付け情報により決定したサブバンド毎の重みβに対して、視覚特性を考慮して重みβに対して更に重みを付けてもよい。例えば、最も空間周波数の高いサブバンドＨＨの重みβのみサブバンドＨＬ、ＬＨに対して大きくすることも可能である。また、本実施形態においては、サブバンドによって符号量制御を行うかそうでないかを切り替えることを可能にしてもよい。
【００４８】
（第３の実施形態）
本実施形態に係る画像符号化装置の構成例は、第２の実施形態における図７の構成と同様である。本実施形態では、量子化制御部７１０は、離散ウェーブレット変換レベルの等しいサブバンドのうち、特定の１つの重み付け情報を用いて、レベル単位に第二の量子化ステップを制御する。なお、その他の構成の基本的な動作は第２の実施形態と同様であるため、説明は省略する。
【００４９】
離散ウェーブレット変換では、部分周波数帯域であるサブバンドを単位として画像が分割される。一般に離散ウェーブレット変換における同一レベルのサブバンドは、異なるレベルのサブバンドに比べて周波数帯域が近いことから、量子化処理による復号化後の原画像に対する劣化度も近い。そのため、同一レベルのサブバンドをそれぞれ全く異なる量子化ステップで量子化処理し、異なる劣化具合のサブバンドから復号化された画像は、主観的に不自然な画像になりやすい。以上のことから、同一レベル内のサブバンド間では量子化ステップに一定以上の差を設けないことが望ましい。そこで本実施形態は、同一レベル内の３つのサブバンドで同一の重み付け情報を用いることにより、サブバンド間の量子化ステップの乖離を防ぐようにする。
【００５０】
図９は、離散ウェーブレット変換のレベル１に着目した、レベル毎の重み付け情報を決定する処理を説明するための図である。図９（ａ）は、重み付け情報を決定する処理の流れを説明するための図であり、図９（ｂ）は、レベル１の３つのサブバンドにおける、変換係数の総和例を示した図である。
【００５１】
＜量子化制御処理＞
次に、図９を参照しながら、本実施形態の符号量制御の方法について説明する。なお、本実施形態において、量子化制御部７１０の処理手順は図４のフローチャートと同様であり、本実施形態は重み付け情報の選択方法が第２の実施形態と異なっている。
【００５２】
まず、本実施形態では、画像データを離散ウェーブレット変換してから画素ライン毎に順次圧縮符号化処理が行われる。図９（ａ）に示すように、変換係数保持部７１２には、各サブバンドの離散ウェーブレット変換の変換係数が保持されている。量子化制御部７１０は、対象とするブロックラインに利用する重み付け情報Ｉ（ｉ−１，ｊ）として、一つ前のブロックラインにおける変換係数の総和Coeff.（ｉ−１）がレベル内で最も大きいサブバンドのCoeff.sum（ｉ−１，ｊ）を利用する。
【００５３】
図９（ｂ）に示す例の場合、同一レベルのサブバンドの中で、ＬＨ成分の変換係数の総和Coeff.（ｉ−１）が最も大きいため、量子化制御部７１０は、ＬＨ成分の重み付け情報をＬｖ１の全てのサブバンドの量子化制御に利用する。つまり、重みβの値は、例えば、以下の式（６）のように、一つ前のブロックラインに含まれる各ブロックの変換係数の総和の平均値Coeff（ｉ−１）.ave.に対する、Coeff.sum（ｉ−１，ｊ）の偏りにより決定することができる。
β（ｉ，ｊ）＿Ｌｖ１＿ＨＬ
＝β（ｉ，ｊ）＿Ｌｖ１＿ＬＨ
＝β（ｉ，ｊ）＿Ｌｖ１＿ＨＨ
＝Coeff.sum（ｉ−１，ｊ）＿Ｌｖ１＿ＬＨ／Coeff.（ｉ−１）ave.＿Ｌｖ１＿ＬＨ
・・・（６）
【００５４】
以上のように本実施形態によれば、同一レベルのサブバンド間で同一の重み付け情報を用いるため、同一レベルのサブバンド間で量子化ステップの乖離を小さくすることができる。これにより、復号化後の画像が視覚的に不自然な画像になることを防ぎつつ、符号量制御の精度を高くした画像符号化装置を提供することができる。
【００５５】
（第４の実施形態）
本実施形態に係る画像符号化装置の構成例は、第１の実施形態における図１の構成と同様である。本実施形態では、量子化制御部１１０は、対象となるブロックの真上にあるブロックのうち、下位の任意の行の画素ラインに含まれる重み付け情報を用いてブロックに用いる重みβを算出する。なお、その他の構成の基本的な動作は第１の実施形態と同様であるため、説明は省略する。
【００５６】
一般的に、画像の中でも座標位置が近い領域の類似性は高いため、重みを算出するために利用する重み付け情報も、対象となるブロックに対して座標が近い情報であるほどその信頼度は向上する。そのため、重み付け情報の取得範囲は、当該ブロックの真上に位置するブロック全体でなくてもよい。
【００５７】
図１０は、２つ目のブロックラインが圧縮符号化されるときに利用する重み付け情報の取得範囲の一例を示す図である。図１０においては、ブロック毎の重みβを算出する際に用いる情報を、当該ブロックの上段に位置するブロックのうち、下位の任意の数の画素ラインとしていることを示している。ブロックの縦の画素数が大きい場合は、本実施形態のように参照する画素ライン数を一部に限定することにより、より類似性の高い画像から重み付け情報を得ることができる。
【００５８】
以上のように本実施形態によれば、ブロック毎の第二の量子化ステップを決定するために利用する重み付け情報を、当該ブロックにより近い、当該ブロックの真上に位置するブロックのうち、下位の任意の数の画素ラインから取得する。これにより、類似性の高い画像から重み付け情報を得られ、より符号量制御の精度を高くした画像符号化装置を提供することができる。
【００５９】
（第５の実施形態）
本実施形態に係る画像符号化装置の構成例は、第１の実施形態における図１の構成と同様である。本実施形態では、量子化制御部１１０は、第二の量子化ステップを算出するための重みを、所定の閾値に対する大小によって決定する。なお、その他の構成の基本的な動作は第１の実施形態と同様であるため、説明は省略する。
【００６０】
図１１は、本実施形態で適応する重みに基づいた、第二の量子化ステップの変化と符号量の推移との関係を示す図である。なお、図１１においては、ブロックライン内のブロック数が６個である例を示している。図１１（ａ）は、一つ前のブロックラインにおける、ブロック毎の重み付け情報Ｉ（ｉ−１，ｊ）の変化を示す図である。図１１（ａ）に示すように、重み付け情報に関して第一の重み付け閾値Ｔｈ１、及び第二の重み付け閾値Ｔｈ２が設定されている。また、本実施形態においては、図１１（ａ）の重み付け情報Ｉ（ｉ−１，ｊ）は複雑度Ｘ（ｉ−１，ｊ）と等価である。
【００６１】
図１１（ｂ）は、第一の量子化ステップＱ（ｉ）に対する第二の量子化ステップＱ（ｉ，ｊ）の変化を示す図である。また、図１１（ｃ）は、図１１（ｂ）に示す第二の量子化ステップで量子化した場合の、ブロックラインの発生符号量の積算量の推移を示した図である。
【００６２】
図１１（ｃ）において、点線１１０１は、対象となるブロックラインにおける目標符号量の積算量の変化を表している。折れ線１１０２は、当該ブロックラインの各ブロックで第二の量子化ステップが一定値である場合の発生符号量の積算量の変化を表している。曲線１１０３は、図１１（ｂ）に示す第二の量子化ステップを各ブロックに適応した場合の、ブロック毎の発生符号量の積算量の変化を表している。なお、ブロックラインの発生符号量は、６個目のブロックの発生符号量の積算量と等価である。また、図１１（ｃ）において、折れ線１１０２と曲線１１０３とが略平行に推移している部分は、量子化ステップが等しいことを示している。図１１（ｃ）では、特に第二の量子化ステップが変化したブロックのみを丸印で示し、そうでないブロックを×印で示している。
【００６３】
本実施形態では、図１１に示すように、ブロック毎の重みβを算出する際に二つの重み付け閾値を設定する。第一の重み付け閾値Ｔｈ１は、画像が非常に複雑であるブロックを選択するために設定される。第一の重み付け閾値Ｔｈ１よりも大きな複雑度である場合は、第一の量子化ステップよりも大きい第二の量子化ステップを与える。すなわち、重みβ（ｉ，ｊ）を、値β１（β１＞１）に設定する。
【００６４】
一方、第二の重み付け閾値Ｔｈ２は、画像が非常に平坦であるブロックを選択するために設定される。第二の重み付け閾値Ｔｈ２よりも小さな複雑度である場合は、第一の量子化ステップよりも小さい第二の量子化ステップを与える。すなわち、重みβ（ｉ，ｊ）を、値β２（β２＜１）に設定する。
【００６５】
また、ブロックの複雑度が第二の重み付け閾値Ｔｈ２以上、第一の重み付け閾値Ｔｈ１以下である場合は、重みは付けないようにする。すなわち、重みβ（ｉ，ｊ）を１に設定する。
【００６６】
図１１（ｃ）に示すように、ブロックライン内で特異なブロック以外の第二の量子化ステップは第一の量子化ステップのままであるため、量子化ステップのばらつきが小さく済む。符号量制御において、発生符号量を目標符号量に近付けることは重要である一方で、ブロック毎の量子化ステップがばらつくと、そのブロック間の画質の差として視覚的に目立つ可能性がある。そこで、値β１の上限と値β２の下限とを任意に設定して段階的に第二の量子化ステップを設定することにより、よりブロック間の画質の劣化を小さく抑えることができる。
【００６７】
以上のように本実施形態で示す重みの算出法を適応することにより、画質の差を小さくしつつ符号量制御の精度を高くすることができる。すなわち、重み付け情報が極端な値でない限り第二の量子化ステップに第一の量子化ステップを適応するため、視覚的な画像の劣化を回避しつつ、符号量制御の精度を高くした画像符号化装置を提供することができる。
【００６８】
（その他の実施形態）
以上、各実施形態について詳述したが、本発明は特定の実施形態に限定されるものではなく、種々の変形及び変更が可能である。また、前述した実施形態の構成要素を全部又は複数を組み合わせることも可能である。
【００６９】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７０】
１０１  量子化部
１０４  符号化部
１０９  符号量比較部
１１０  量子化制御部
【図１】
2016082395.tif 000003
【図２】
2016082395.tif 000004
【図３】
2016082395.tif 000005
【図４】
2016082395.tif 000006
【図５】
2016082395.tif 000007
【図６】
2016082395.tif 000008
【図７】
2016082395.tif 000009
【図８】
2016082395.tif 000010
【図９】
2016082395.tif 000011
【図１０】
2016082395.tif 000012
【図１１】
2016082395.tif 000013