(57)【要約】【課題】画像データをブロック毎に符号化する際、画像符号化データの符号量を削減する圧縮処理が特定ブロックに集中するのを回避することができ、これにより画像符号化データを格納する出力バッファメモリのオーバーフローを、画質低下を抑えつつ回避することができる画像データ符号化装置を得る。【解決手段】エッジ成分検出処理部１１０にて、入力画像の水平方向のエッジ成分、および入力画像の垂直方向のエッジ成分を検出した後、水平エッジ積算バッファ１１１及び垂直エッジ積算バッファ１１３にて検出結果の積算をＪＰＥＧ処理単位の８×８画素ブロック毎に行い、エッジの積算結果とＪＰＥＧ出力バッファメモリ６０の残容量から将来の出力バッファメモリの残容量の予測を行い、量子化処理部３０ａでは、予測結果とエッジの積算結果とに基づいて量子化係数を変更した量子化テーブルを使用するようにした。【選択図】図１
2011004285.tif 000002
【特許請求の範囲】
【請求項１】
画像データを圧縮符号化して画像符号化データを出力する画像データ符号化装置であって、
該画像データを圧縮符号化する圧縮符号化部と、
該画像データの圧縮符号化により得られた画像符号化データを一時記憶する一時記憶部と、
該画像データに基づいて、該一時記憶部における記憶残容量を予測する記憶残容量予測部とを備え、
該圧縮符号化部は、該予測された記憶残容量に基づいて、該画像データの圧縮符号化処理を、該圧縮符号化により得られる画像符号化データが該一時記憶部でオーバーフローしないよう制御する、画像データ符号化装置。
【請求項２】
請求項１に記載の画像データ符号化装置において、
前記画像データからエッジ成分を検出するエッジ成分検出処理部と、
該エッジ成分検出処理部で検出したエッジ成分を、前記画像データの符号化の処理単位で積算するエッジ成分積算部とを有し、
前記記憶残容量予測部は、該エッジ成分積算部で積算されたエッジ成分の積算値に基づいて、前記一時記憶部における記憶残容量を予測する、画像データ符号化装置。
【請求項３】
請求項２に記載の画像データ符号化装置において、
前記記憶残量予測部は、前記一時記憶部のメモリ残容量と、前記エッジ成分積算部でエッジ成分を積算して得られた積算値とから、前記一時記憶部のメモリ残容量を予測する、画像データ符号化装置。
【請求項４】
請求項２に記載の画像データ符号化装置において、
前記エッジ成分検出処理部は、
前記画像データから水平方向のエッジ成分を検出する水平エッジ成分検出フィルタと、
該画像データから垂直方向のエッジ成分を検出する垂直エッジ成分検出フィルタとを有する、画像データ符号化装置。
【請求項５】
請求項４に記載の画像データ符号化装置において、
前記水平エッジ成分検出フィルタで検出した水平エッジ成分を、前記画像データの符号化の処理単位であるブロック毎に積算する水平エッジ積算バッファと、
前記垂直エッジ成分検出フィルタで検出した垂直エッジ成分を、前記画像データの符号化の処理単位であるブロック毎に積算する垂直エッジ積算バッファとを有する、画像データ符号化装置。
【請求項６】
請求項５に記載の画像データ符号化装置において、
前記記憶残量予測部は、前記水平エッジ積算バッファで得られた水平エッジ成分のブロック毎の積算値と、前記垂直エッジ積算バッファで得られた垂直エッジ成分のブロック毎の積算値と、前記一時記憶部のメモリ残容量とから、該一時記憶部のメモリ残容量を予測するバッファ残量予測処理部である、画像データ符号化装置。
【請求項７】
請求項６に記載の画像データ符号化装置において、
前記記憶残容量予測部は、ブロック毎のエッジ積算値のうち、予測に使用する個数によって、残容量予測対象となる将来の時点を制御する、画像データ符号化装置。
【請求項８】
請求項７に記載の画像データ符号化装置において、
前記記憶残容量予測部は、前記一時記憶部の現在のメモリ残容量から、前記エッジ積算値から得られる将来の符号量の予測値を引き、該一時記憶部から出力される画像符号化データの伝送レートに依存するデータ伝送量を加えたものを、将来のバッファ残容量予測結果として求める、画像データ符号化装置。
【請求項９】
請求項８に記載の画像データ符号化装置において、
前記記憶残容量予測部は、将来の１以上時点を対象にバッファ残容量予測を行い、１以上個の残容量予測結果からオーバーフローの予測結果を求める、画像データ符号化装置。
【請求項１０】
請求項９に記載の画像データ符号化装置において、
将来圧縮が行われるブロックの符号量の予測値は、水平エッジ積算バッファの出力である水平エッジ積算値と、垂直エッジ積算バッファの出力である垂直エッジ積算値とを用いた演算により得られるエッジ積算値から求められる、画像データ符号化装置。
【請求項１１】
請求項１に記載の画像データ符号化装置において、
前記圧縮処理部は、
前記画像データを所定サイズのブロック毎に周波数成分に変換する直交変換処理部と、
各ブロックに対応する周波数成分を量子化する量子化処理部と、
該量子化された周波数成分を可変長符号化して画像符号化データを出力する可変長符号化部とを有する、画像データ符号化装置。
【請求項１２】
請求項１１に記載の画像データ符号化装置において、
前記予測された記憶残容量から、前記量子化処理部で用いる量子化係数を求める量子化係数演算処理部を有する、画像データ符号化装置。
【請求項１３】
請求項１２に記載の画像データ符号化装置において、
前記量子化演算処理部は、前記量子化処理部で用いる量子化係数を、前記ブロック毎の水平エッジ積算値と垂直エッジ積算値とから、横軸方向の交流成分の量子化係数と、縦軸方向の交流成分の量子化係数とに分けて求めるものである、画像データ符号化装置。
【請求項１４】
請求項１２に記載の画像データ符号化装置において、
前記直交変換処理部は、前記画像データに対して離散コサイン変換処理を前記ブロック毎に施して各ブロックに対応するＤＣＴ係数を求めるＤＣＴ処理部である、画像データ符号化装置。
【請求項１５】
請求項１４に記載の画像データ符号化装置において、
前記量子化処理部は、各ブロックに対応するＤＣＴ係数を、前記量子化係数演算処理部で求めた量子化係数を用いて量子化する、画像データ符号化装置。
【請求項１６】
請求項１５に記載の画像データ符号化装置において、
前記可変長符号化部は、前記量子化データをハフマン符号化により前記画像符号化データに変換するものである、画像データ符号化装置。
【請求項１７】
画像データを圧縮符号化して画像符号化データを出力する画像データ符号化方法であって、
該画像データを圧縮符号化する圧縮符号化ステップと、
該画像データの圧縮符号化により得られた画像符号化データを一時記憶部に一時記憶する一時記憶ステップと、
該画像データに基づいて、該一時記憶部における記憶残容量を予測する記憶残容量予測ステップとを含み、
該圧縮符号化ステップでは、該予測された記憶残容量に基づいて、該画像データの圧縮符号化処理を、該圧縮符号化により得られる画像符号化データが該一時記憶部でオーバーフローしないよう制御する、画像データ符号化方法。
【請求項１８】
画像データの符号化処理を行う際に、一時記憶部に格納される画像符号化データの符号量を制御する画像データ符号量制御方法であって、
該画像データのエッジ成分を符号化の単位であるブロック毎に積算するエッジ成分積算ステップと、
該エッジ成分を積算して得られた積算値に基づいて、該一時記憶部における記憶残容量を予測する記憶残容量予測ステップとを含み、
該予測された記憶残容量に基づいて、該画像データの符号化処理を、該圧縮符号化により得られる画像符号化データが該一時記憶部でオーバーフローしないよう調整する、画像データ符号量制御方法。
【請求項１９】
請求項１に記載の画像データ符号化装置からの画像符号化データを処理するデータ処理部を有する電子情報機器であって、
該データ処理部は、該画像符号化データを、記憶手段に記憶させる記憶処理、該画像符号化データを伝送する伝送処理、および、該画像符号化データに基づいて表示部に画像データを表示する表示処理の少なくとも１つを行う、電子情報機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データ符号化装置、画像データ符号化方法、画像データ符号量制御方法、および電子情報機器に関し、特に、画像データを符号化する画像データ符号化装置および画像データ符号化方法、画像データを符号化する際に画像符号化データの符号量を制御する画像データ符号量制御方法、並びに、この画像データ符号化装置からの符号化データを、記憶手段に記憶させるか、伝送処理するか、または表示部に表示処理する、デジタルカメラやカメラ付き携帯電話装置などの電子情報機器に関するものである。
【背景技術】
【０００２】
例えば、ＣＣＤ（Ｃｈａｒｇｅ−Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）などの固体撮像装置によって撮像された画像データをメモリカード、磁気ディスク、磁気テープなどの可読記録媒体にデジタルデータとして記録させる場合、そのデータ量は膨大なものとなる。
【０００３】
また、デジタルスチルカメラなどにおいては、撮影された画像データを１枚のメモリカード、磁気ディスク、または１巻の磁気テープなどに保存するため、これらの可読記録媒体に規定枚数分の画像を記録させる必要がある。これと同様に、デジタルＶＴＲ、デジタル動画ファイルなどにおいて、動画像を記録させる場合に、１フレーム当たりの画像データ量によらず、１フレーム毎の画像データを記録する必要がある。１秒間に３０駒の場合には１秒間に３０枚分（３０フレーム分）の画像データを記憶する。
【０００４】
したがって、静止画像および動画像によらず、画像データを圧縮してデータ量を規定容量（画像メモリ容量や画像通信容量など）内に収まるようにする必要がある。これは、データ伝送装置が所定の伝送能力を有する場合は、画像データのデータ量がそれ以上あればデータ伝送装置によるデータ伝送が間に合わなくなるし、画像メモリが所定のメモリ容量を有する場合は、該メモリ容量以上の画像データがあれば、該メモリ容量以上のデータをこの画像メモリに記憶できなくなるからである。
【０００５】
このための画像データの圧縮方式として、従来から、直交画像符号化と可変長符号化とを組み合わせた画像データ符号化方式が用いられている。
【０００６】
この画像データ符号化方式では、まず、画像データ（各画素に対応する画素値）を所定の大きさのブロック、例えば８画素×８画素のブロックに対応するように分割して、分割されたブロック毎に直交変換として、画像データに対する２次元のＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｌａｔｉｏｎ：離散コサイン変換）処理が行なわれる。これにより、画像データ（たとえば、輝度データ）は、時系列のデータから、周波数系列のデータ（周波数成分）である直流成分と交流成分に変換される。
【０００７】
例えば、８画素×８画素のブロックに対応する画像データ（６４個の画素値）は、８×８のマトリックスに対応する６４個の周波数成分に変換される。このマトリックスでは、原点位置（０，０）には直流成分ＤＣの値を示すデータが、位置（０，７）には横軸方向の交流成分ＡＣの最大周波数値を示すデータが、位置（７，０）には縦軸方向の交流成分ＡＣの最大周波数値を示すデータが、位置（７，７）には斜め方向の交流成分ＡＣの最大周波数値を示すデータがそれぞれ生成される。また、上記マトリックスの上記４つの位置以外の中間位置では、それぞれの座標位置により関係付けられる方向における周波数成分が、原点側から順次高い周波数のものが出現するように生成される。
【０００８】
また、各座標位置のデータ（周波数成分）を各周波数成分毎の量子化幅で割ることにより、各周波数成分に応じた線形量子化が行われる。
【０００９】
その後、量子化された値に対して、可変長符号化としてハフマン符号化が行なわれる。このとき、直流成分ＤＣに関しては、近傍のブロックの直流成分ＤＣとの差分値がグループ番号（付加ビット数）と付加ビットで表されてハフマン符号化される。得られた符号語と付加ビットとを合わせることにより符号化データが生成される。
【００１０】
つまり、ＤＣ成分の値は、隣接するブロックのＤＣ成分値と近い場合が多いため、直前ブロックのＤＣ成分値との差分をハフマン符号化する。そのため、差分値は０に近い値の出現頻度が高くなることから、まず絶対値によるグループ分けを行い、絶対値が小さいものほど短いハフマン符号を割り当てる。次に、グループ内の値の区別を行うための付加ビットを追加する。
【００１１】
また、交流成分ＡＣに関しては、ジグザグスキャンと呼ばれる低い周波数成分から高い周波数成分へのスキャンが行われ、無効（値が「０」）の成分が連続する個数と、それに続く有効な成分の値のグループ番号とから２次元ハフマン符号化が行われる。得られた符号語と付加ビットとを合わせることにより符号化データが生成される。
【００１２】
このハフマン符号化では、フレーム画像当たりの直流成分ＤＣおよび交流成分ＡＣの各々のデータ分布において、符号化対象となる画素値の複数のレベルのうちの発生頻度がピークであるレベルを中心として、この中心のレベルに近いレベルの画素値ほど、符号化したときのデータのビット数が少なくなり、上記中心のレベルから離れたレベルの画素値ほど、符号化したときのデータのビット数が多くなるように、ビット割り当てが行われてデータが符号化され、符号語が得られる。
【００１３】
従来、このような画像データ符号化方式により画像データを符号化する場合に、データ記録媒体の容量や画像データを伝送する伝送路の能力に応じて、画像データの符号量を制御する必要があった。
【００１４】
図２は、特許文献１に開示の従来の画像データ符号化装置の要部構成例を示すブロック図である。
【００１５】
この画像データ符号化装置２００は、画像データを圧縮符号化して画像符号化データを出力するものであり、入力される画像データを一時記憶する入力記憶部１０と、該入力記憶部１０から出力される画像データを圧縮符号化する圧縮符号化部２００ａと、該画像データの圧縮符号化により得られた画像符号化データを一時記憶する出力記憶部６０とを有している。
【００１６】
ここで、入力記憶部１０はＪＰＥＧ入力バッファメモリにより構成され、出力記憶部６０は、ＪＰＥＧ出力バッファメモリにより構成されている。
【００１７】
また、圧縮符号化部２００ａは、該ＪＰＥＧ入力バッファメモリ１０からの画像データを直交変換する直交変換回路であるＤＣＴ処理部２０と、このＤＣＴ処理部２０で変換されたＤＣＴデータを量子化して量子化データを出力する量子化処理部３０と、該量子化データを所定の値で割り算する割り算回処理部４０と、割り算処理により得られた量子化データをハフマン符号などの可変長符号に変換して、可変長符号化データをＪＰＥＧ出力バッファ６０に出力する可変長符号化処理部５０とを有している。
【００１８】
さらに、上記圧縮符号化部２００ａは、上記出力バッファメモリ６０の残容量を検出し、その残容量に応じて割り算処理部４０の動作を制御する割り算制御部（図示せず）を有している。
【００１９】
なお、この割り算制御部（図示せず）は、出力バッファメモリ６０または割り算処理部４０内に設けられていてもよく、これらの出力バッファメモリ６０および割り算処理部４０とは別に設けられていてもよい。
【００２０】
この割り算制御部（図示せず）による出力バッファメモリ６０の残容量の検出は、該出力バッファメモリ６０に入力される画像符号化データのデータ量（入力画像データ量）と、該出力バッファメモリ６０から出力される画像符号化データのデータ量（出力画像データ量）との差分データ量を検出することによって行うことができる。この入力画像データ量と出力画像データ量とは、出力バッファメモリ６０の記憶制御部に管理させてその出入りの差分を求めればよい。
【００２１】
次に動作について説明する。
【００２２】
まず、この画像データ符号化装置２００に入力された画像データは、一旦ＪＰＥＧ入力バッファメモリ１０に格納され、該画像データは、入力バッファメモリ１０から一定の出力レートで圧縮符号化部２００ａに供給される。
【００２３】
該圧縮符号化部２００ａに供給された画像データは、ＤＣＴ処理部２０で直交変換処理（ＤＣＴ処理）が施されてＤＣＴデータに変換され、さらに、このＤＣＴデータが量子化処理部３０によって量子化される。量子化されたＤＣＴデータ（量子化データ）は、割り算処理部４０を経て可変長符号化処理部５０に供給され、この可変長符号化処理部５０にて可変長符号化処理が施されて、画像符号化データとして出力バッファメモリ６０に供給される。
【００２４】
ここで、この出力バッファメモリ６０の残容量が所定の残容量よりも多いときには、上記割り算制御部から割り算処理部４０を動作させるための制御信号が出力されず、割り算処理は行われない。よって、可変長符号化処理部５０には、量子化処理部３０で量子化されたデータがそのまま供給され、可変長符号化処理部５０から出力バッファメモリ６０に供給される符号量は減らされない。
【００２５】
一方、出力バッファメモリ６０の残容量が所定の残容量よりも少なくなったときには、上記割り算制御部から割り算処理部４０を動作させるための制御信号が出力され、割り算処理が行われる。これにより、可変長符号化処理部５０には、量子化処理部３０で量子化されたデータ（量子化データ）を所定の値（例えば２または４など）で割り算したデータが供給され、可変長符号化処理部５０から出力バッファメモリ６０に供給される符号量が減らされる。例えば、量子化データが８ビットの場合、該量子化データを「２」で割ると、この量子化データは、最終ビットがなくなって７ビットになる。
【００２６】
なお、上記所定の残容量は、割り算制御部に予め設定されている値であって、例えば出力バッファメモリ６０の全容量の３／４などとすることができる。
【先行技術文献】
【特許文献】
【００２７】
【特許文献１】特開２００７−３６７４５号公報
【発明の概要】
【発明が解決しようとする課題】
【００２８】
以上説明したように、ＪＰＥＧ画像圧縮技術は可変長符号化を用いた圧縮技術であり、符号化データ（圧縮した画像データ）を一時記憶するメモリを使用することで、圧縮された画像データを一定レートで出力できるが、出力バッファメモリの残容量と出力データの伝送レートに対して、該出力バッファメモリに入力される画像符号化データの符号量が大きい場合、該出力バッファメモリでオーバーフローが発生するという問題がある。
【００２９】
そこで、特許文献１に開示の画像データ符号化装置では、この問題に対し、出力バッファメモリの残容量を監視し、可変長符号化の対象となる量子化データに対して出力バッファメモリの残容量に応じて除算を施すことで、画像符号化データの符号量の圧縮を行うようにしている。
【００３０】
しかし、この特許文献１に開示の技術では、量子化を行う時点の出力バッファメモリの残容量によって符号量の圧縮を行うため、可変長符号化処理部から出力される画像符号化データの符号量の増加に対して、該画像符号化データの符号量を圧縮するための、可変長符号化処理部に入力される量子化データの割り算処理が遅延し、符号量を圧縮すべきブロックより後に符号化されるブロックに符号量の圧縮処理が集中するという問題がある。
【００３１】
この問題は、符号量の圧縮を行うか否かの基準となる出力バッファメモリの残容量の閾値に余裕を持たせることで、発生確率を抑えることが可能であるが、この場合、出力バッファメモリのオーバーフローに影響しないブロックに対しても符号量の圧縮が行われるため、画質が低下するという別の問題が生じることとなる。
【００３２】
本発明は、画像符号化データの符号量を削減する圧縮処理を、該圧縮処理が特定ブロックに集中するのを回避しつつ行うことができ、これにより画像符号化データを格納する出力バッファメモリのオーバーフローを、画質低下を抑えつつ回避することができる画像データ符号化装置および画像データ符号化方法、画像データ符号量制御方法、並びに該画像データ符号化装置を用いた電子情報機器を得ることを目的とする。
【課題を解決するための手段】
【００３３】
本発明に係る画像データ符号化装置は、画像データを圧縮符号化して画像符号化データを出力する画像データ符号化装置であって、該画像データを圧縮符号化する圧縮符号化部と、該画像データの圧縮符号化により得られた画像符号化データを一時記憶する一時記憶部と、該画像データに基づいて、該一時記憶部における記憶残容量を予測する記憶残容量予測部とを備え、該圧縮符号化部は、該予測された記憶残容量に基づいて、該画像データの圧縮符号化処理を、該圧縮符号化により得られる画像符号化データが該一時記憶部でオーバーフローしないよう制御するものであり、そのことにより上記目的が達成される。
【００３４】
本発明は、上記画像データ符号化装置において、前記画像データからエッジ成分を検出するエッジ成分検出処理部と、該エッジ成分検出処理部で検出したエッジ成分を、前記画像データの符号化の処理単位で積算するエッジ成分積算部とを有し、前記記憶残容量予測部は、該エッジ成分積算部で積算されたエッジ成分の積算値に基づいて、前記一時記憶部における記憶残容量を予測することが好ましい。
【００３５】
本発明は、上記画像データ符号化装置において、前記記憶残量予測部は、前記一時記憶部のメモリ残容量と、前記エッジ成分積算部でエッジ成分を積算して得られた積算値とから、該一時記憶部のメモリ残容量を予測することが好ましい。
【００３６】
本発明は、上記画像データ符号化装置において、前記エッジ成分検出処理部は、前記画像データから水平方向のエッジ成分を検出する水平エッジ成分検出フィルタと、該画像データから垂直方向のエッジ成分を検出する垂直エッジ成分検出フィルタとを有することが好ましい。
【００３７】
本発明は、上記画像データ符号化装置において、前記水平エッジ成分検出フィルタで検出した水平エッジ成分を、前記画像データの符号化の処理単位であるブロック毎に積算する水平エッジ積算バッファと、前記垂直エッジ成分検出フィルタで検出した垂直エッジ成分を、前記画像データの符号化の処理単位であるブロック毎に積算する垂直エッジ積算バッファとを有することが好ましい。
【００３８】
本発明は、上記画像データ符号化装置において、前記記憶残量予測部は、前記水平エッジ積算バッファで得られた水平エッジ成分のブロック毎の積算値と、前記垂直エッジ積算バッファで得られた垂直エッジ成分のブロック毎の積算値と、前記一時記憶部のメモリ残容量とから、該一時記憶部のメモリ残容量を予測するバッファ残量予測処理部であることが好ましい。
【００３９】
本発明は、上記画像データ符号化装置において、前記記憶残容量予測部は、ブロック毎のエッジ積算値のうち、予測に使用する個数によって、残容量予測対象となる将来の時点を制御することが好ましい。
【００４０】
本発明は、上記画像データ符号化装置において、前記記憶残容量予測部は、前記一時記憶部の現在のメモリ残容量から、前記エッジ積算値から得られる将来の符号量の予測値を引き、該一時記憶部から出力される画像符号化データの伝送レートに依存するデータ伝送量を加えたものを将来のバッファ残容量予測結果として求めることが好ましい。
【００４１】
本発明は、上記画像データ符号化装置において、前記記憶残容量予測部は、将来の１以上時点を対象にバッファ残容量予測を行い、１以上個の残容量予測結果からオーバーフローの予測結果を求めることが好ましい。
【００４２】
本発明は、上記画像データ符号化装置において、将来圧縮が行われるブロックの符号量の予測値は、水平エッジ積算バッファの出力である水平エッジ積算値と、垂直エッジ積算バッファの出力である垂直エッジ積算値とを用いた演算により得られるエッジ積算値から求められることが好ましい。
【００４３】
本発明は、上記画像データ符号化装置において、前記圧縮処理部は、前記画像データを所定サイズのブロック毎に周波数成分に変換する直交変換処理部と、各ブロックに対応する周波数成分を量子化する量子化処理部と、該量子化された周波数成分を可変長符号化して画像符号化データを出力する可変長符号化部とを有することが好ましい。
【００４４】
本発明は、上記画像データ符号化装置において、前記予測された記憶残容量から、前記量子化処理部で用いる量子化係数を求める量子化係数演算処理部を有することが好ましい。
【００４５】
本発明は、上記画像データ符号化装置において、前記量子化係数演算処理部は、前記量子化処理部で用いる量子化係数を、前記ブロック毎の水平エッジ積算値と垂直エッジ積算値とから、横軸方向の交流成分の量子化係数と、縦軸方向の交流成分の量子化係数とに分けて求めるものであることが好ましい。
【００４６】
本発明は、上記画像データ符号化装置において、前記直交変換処理部は、前記画像データに対して離散コサイン変換処理を前記ブロック毎に施して各ブロックに対応するＤＣＴ係数を求めるＤＣＴ処理部であることが好ましい。
【００４７】
本発明は、上記画像データ符号化装置において、前記量子化処理部は、各ブロックに対応するＤＣＴ係数を、前記量子化係数演算処理部で求めた量子化係数を用いて量子化することが好ましい。
【００４８】
本発明は、上記画像データ符号化装置において、前記可変長符号化部は、前記量子化データをハフマン符号化により前記画像符号化データに変換するものであることが好ましい。
【００４９】
本発明に係る画像データ符号化方法は、画像データを圧縮符号化して画像符号化データを出力する画像データ符号化方法であって、該画像データを圧縮符号化する圧縮符号化ステップと、該画像データの圧縮符号化により得られた画像符号化データを一時記憶部に一時記憶する一時記憶ステップと、該画像データに基づいて、該一時記憶部における記憶残容量を予測する記憶残容量予測ステップとを含み、該圧縮符号化ステップでは、該予測された記憶残容量に基づいて、該画像データの圧縮符号化処理を、該圧縮符号化により得られる画像符号化データが該一時記憶部でオーバーフローしないよう制御するものであり、そのことにより上記目的が達成される。
【００５０】
本発明に係る画像データ符号量制御方法は、画像データの符号化処理を行う際に、一時記憶部に格納される画像符号化データの符号量を制御する画像データ符号量制御方法であって、該画像データのエッジ成分を符号化の単位であるブロック毎に積算するエッジ成分積算ステップと、該エッジ成分を積算して得られた積算値に基づいて、該一時記憶部における記憶残容量を予測する記憶残容量予測ステップとを含み、該予測された記憶残容量に基づいて、該画像データの符号化処理を、該圧縮符号化により得られる画像符号化データが該一時記憶部でオーバーフローしないよう調整するものであり、そのことにより上記目的が達成される。
【００５１】
本発明に係る電子情報機器は、上述した画像データ符号化装置からの画像符号化データを、記憶手段に記憶させる記憶処理、該画像符号化データを伝送する伝送処理、および、該画像符号化データに基づいて表示部に画像データを表示する表示処理の少なくとも１つを行うものであり、そのことにより上記目的が達成される。
【００５２】
以下本発明の作用について説明する。
【００５３】
本発明においては、入力画像のエッジ成分と現在のバッファ残容量とから将来のバッファ残容量を予測し、オーバーフローが発生すると予測された場合のみ量子化テーブルの係数を変更することで符号量の圧縮を行うので、バッファ残容量の減少を引き起こすブロックに対して、将来オーバーフローの発生が予測される場合に限定して符号量の圧縮を行うことが可能であり、逆に、オーバーフローが発生しないと予測された場合は、不要な符号量の圧縮を避けられ、画質が損なわれるのを回避することができる。
【００５４】
本発明においては、ブロックに含まれるエッジ成分を垂直方向と水平方向に分けて検出することで、オーバーフローの発生予測に対する量子化テーブルの係数を、当該ブロックのエッジ方向の偏りに応じて垂直方向と水平方向に分けて変更するため、画質の低下を抑えた符号量の圧縮ができる。
【発明の効果】
【００５５】
以上のように、本発明によれば、画像データの圧縮符号化により得られた画像符号化データを一時記憶する一時記憶部における記憶残容量を、該画像データに基づいて予測し、該予測した記憶残容量に基づいて、該画像データの圧縮符号化処理を、該圧縮符号化により得られる画像符号化データが該一時記憶部でオーバーフローしないよう調整するので、画像符号化データの符号量を削減する圧縮処理を、該圧縮処理が特定ブロックに集中するのを回避しつつ行うことができ、これにより画像符号化データを格納する出力バッファメモリのオーバーフローを、画質低下を抑えつつ回避することができる。
【図面の簡単な説明】
【００５６】
【図１】図１は、本発明の実施形態１による画像データ符号化装置を説明するブロック図である。
【図２】図２は、従来のバッファオーバーフロー防止機能を備えた画像データ符号化装置を示すブロック図である。
【発明を実施するための形態】
【００５７】
以下、本発明の実施形態について図面を参照しながら説明する。
【００５８】
（実施形態１）
図１は、本発明の実施形態１による画像データ符号化装置を説明するブロック図である。
【００５９】
この実施形態１の画像データ符号化装置１００は、従来の画像データ符号化装置とは異なる、出力バッファメモリのオーバーフローを防止する機能を備えている。
【００６０】
すなわち、この実施形態１の画像データ符号化装置１００は、画像データの圧縮符号化により得られた画像符号化データを一時記憶する一時記憶部の記憶残容量を、該画像データに基づいて予測し、該予測した記憶残容量に基づいて、該画像データの圧縮符号化を、該圧縮符号化により得られる画像符号化データが該一時記憶部でオーバーフローしないよう制御するものである。
【００６１】
以下、本実施形態１の画像データ符号化装置について詳しく説明する。
【００６２】
この実施形態１の画像データ符号化装置１００は、入力画像データに基づいて入力画像に対するエッジ検出を行うエッジ検出処理部１１０と、該エッジ検出処理部１１０を介して入力画像データを受け取る入力記憶部としてのＪＰＥＧ入力バッファメモリ１０と、該バッファメモリ１０からの画像データに対する圧縮符号化を行う圧縮符号化部１００ａと、該圧縮符号化部１００ａからの画像符号化データを一時記憶する出力記憶部としてのＪＰＥＧ出力バッファメモリ６０とを有している。
【００６３】
ここで、圧縮符号化部１００ａは、ＪＰＥＧ入力バッファメモリ１０からの画像データを直交変換する直交変換回路であるＤＣＴ処理部２０と、このＤＣＴ処理部２０で変換されたＤＣＴデータを量子化して量子化データを出力する量子化処理部３０ａと、該量子化データをハフマン符号などの可変長符号に変換して画像符号化データをＪＰＥＧ出力バッファ６０に出力する可変長符号化処理部５０とを有している。
【００６４】
なお、この実施形態１の画像データ符号化装置１００におけるＪＰＥＧ入力バッファメモリ１０、ＤＣＴ処理部２０、可変長符号化処理部５０、およびＪＰＥＧ出力バッファメモリ６０は、従来の画像データ符号化装置２００におけるものと同一のものである。また、量子化処理部３０ａは、外部から与えられる量子化テーブルに基づいてＤＣＴ係数を量子化する点で、従来の画像データ符号化装置２００におけるものと異なっている。
【００６５】
この実施形態１では、上記エッジ検出処理部１１０は、入力画像データに基づいて入力画像の水平方向のエッジ成分（水平エッジ成分）を抽出する水平エッジ検出フィルタ（図示せず）と、入力画像データに基づいて入力画像の垂直方向のエッジ成分（垂直エッジ成分）を抽出する垂直エッジ検出フィルタ（図示せず）とを有している。
【００６６】
さらに、この実施形態１の画像データ符号化装置１００は、上記エッジ検出処理部１１０からの水平エッジ成分をＪＰＥＧ処理単位である８×８画素のブロックごとに積算する水平エッジ積算バッファ１１１と、エッジ検出処理部１１０からの垂直エッジ成分をＪＰＥＧ処理単位である８×８画素のブロックごとに積算する垂直エッジ積算バッファ１１３とを有している。これらの水平エッジ積算バッファ１１１及び垂直エッジ積算バッファ１１３は、それぞれ横一列のブロック数分の容量を最低限必要とする。ここで、横一列のブロック数分の容量は、例えば、水平エッジ積算バッファについては、水平エッジ検出フィルタの、１つのブロックに対する最大出力値を、横一列に並ぶ８×８画素からなるブロックの数だけ積算した容量である。垂直エッジ積算バッファにおいて最低限必要とされる容量についても、上記水平エッジ積算バッファと同様である。
【００６７】
さらに、上記圧縮符号化部１００ａは、水平エッジ積算バッファ１１１で積算された水平エッジ成分の積算値と、垂直エッジ積算バッファ１１３で積算された垂直エッジ成分の積算値と、ＪＰＥＧ出力バッファの残容量とから、将来の出力バッファの残容量の予測を行うバッファ残量予測処理部１１２と、該バッファ残量予測処理部１１２での予測結果、並びに水平エッジ成分の積算値及び垂直エッジ成分の積算値に基づいて、量子化処理部３０ａで用いる量子化テーブルの係数を、出力バッファメモリでのオーバーフローが回避されるよう演算し、この演算により得られた量子化テーブルを上記量子化処理部３０に供給する量子化係数演算処理部１１４とを有している。なお、この量子化係数演算処理部１１４では、前記量子化処理部３０ａで用いる量子化テーブルの係数（量子化係数）を、前記ブロック毎の水平エッジ積算値と、垂直エッジ積算値から、横軸方向の交流成分（ＡＣ）の量子化係数と、縦軸方向の交流成分（ＡＣ）の量子化係数に分けて求めるようにしてもよい。
【００６８】
次に動作について説明する。
【００６９】
この実施形態１の画像データ符号化装置１００に入力画像データが入力されると、エッジ成分検出処理部１１０は、入力画像データに対してエッジ検出フィルタを適用することで、入力画像のエッジ成分を生成する。次に、検出されたエッジ成分をＪＰＥＧ処理単位である８×８画素のブロックごとに積算を行う。このとき、エッジ成分検出処理部１１０では、水平方向のエッジ成分と垂直方向のエッジ成分をそれぞれ検出可能なエッジ検出フィルタ、つまり水平エッジ検出フィルタと垂直エッジ検出フィルタとを用いる。
【００７０】
具体的には、エッジ成分検出処理部１１０では、水平エッジ検出フィルタにより画像データの水平方向のエッジ成分を抽出し、垂直エッジ検出フィルタにより画像データの垂直方向のエッジ成分を抽出する。さらに、水平エッジ積算バッファ１１１および垂直エッジ積算バッファ１１３で、ブロックごとのエッジ成分の積算を水平方向と垂直方向に分けて行う。この水平エッジ成分の積算値および垂直エッジ成分の積算値は、各エッジ積算バッファ１１１及び１１３に格納される。なお、上記エッジ検出処理は、画像データそのものの情報を変化させるものではない。
【００７１】
一方、エッジ成分の検出処理が行われた画像データは、ＤＣＴ処理以降の圧縮符号化処理を行うため、最低８ライン分の容量（つまり、表示画面における画素８ライン分の画像データの容量）を持つ入力バッファメモリ１０に格納される。
【００７２】
さらに、入力バッファメモリ１０に格納された画像データは、入力バッファメモリ１０から一定の出力レートで圧縮符号化部１００ａに供給される。
【００７３】
該圧縮符号化部１００ａに供給された画像データは、ＤＣＴ処理部２０で直交変換処理（ＤＣＴ処理）が施されてＤＣＴデータに変換され、さらに、このＤＣＴデータが量子化処理部３０ａによって量子化される。量子化されたＤＣＴデータ（量子化データ）は、可変長符号化処理部５０に供給され、この可変長符号化処理部５０にて可変長符号化処理が施されて、画像符号化データとして出力バッファメモリ６０に供給される。
【００７４】
ここで、上記量子化処理部３０ａでは、該バッファ残量予測処理部１１２での予測結果、ならびに、垂直エッジ成分の積算値及び水平エッジ成分の積算値に基づいて算出された量子化テーブルの係数を用いて、ＤＣＴ処理部２０からのＤＣＴデータの量子化が行われる。
【００７５】
次に、バッファ残容量の予測処理について詳しく説明する。
【００７６】
バッファ残容量の予測処理には、現在の出力バッファメモリのバッファ残容量の情報と、将来符号化処理が行われる１以上ブロックのエッジ積算値を用いる。ここで、１以上のブロックのエッジ積算値としては、最大で、画面上の１行分のブロックの積算値を用いることができる。エッジ積算バッファに積算されたブロック毎の積算値のうち、バッファ残容量予測に用いる積算値の数によって、予測結果が反映されるブロックから数えて何ブロック後の符号化を行った時点における予測を行うかが制御される。例えば、あるブロックに対して量子化を行った直後のバッファ残容量を予測するには、当該ブロックのみのエッジ積算値を用いる。
【００７７】
各ブロックに含まれるエッジ成分の量とＪＰＥＧ圧縮後の符号量には、相関があるため、エッジ積算値の大小によって将来圧縮が行われるブロックの符号量の予測値がブロック毎に求められる。そのため、バッファ残量予測処理部１１２では、現在のバッファ残容量から将来の符号量の予測値を引き、出力バッファメモリからのデータ出力の伝送レートに依存するデータ伝送量を加えたものが将来のバッファ残容量予測結果となる。この予測結果は出力バッファメモリに対して設定された基準値と比較されて、オーバーフローの可能性が判定される。ここで、データ伝送量は、例えば、現時点から、現時点でエッジ検出の対象としたブロックに対応する画像符号化データが出力バッファメモリに入力されるまでの間に、出力バッファメモリから上記伝送レートで出力される画像符号化データの総符号量とすることができる。
【００７８】
より多くのブロックのエッジ積算値を予測に使うことで、出力バッファメモリ６０のオーバーフローを早い段階で予測できる。結果として、符号量の圧縮が多くのブロックに分散するため、局所的な画質の劣化を抑えることができる。
【００７９】
また、バッファ残容量を予測するにあたって、将来の異なる時点（例えば１以上の時点）における複数個の予測結果を求めることで、オーバーフローの予測精度が向上する。例えば、１ブロックの符号化後から、予測に用いる最大ブロック数経過後まで順にバッファ残容量予測を行い、それぞれ予測されたバッファ残容量のうち最小値を求めることで、より確実にオーバーフローの可能性を予測することができる。
【００８０】
また、将来圧縮が行われるブロックの符号量の予測値は、具体的には、水平エッジ積算バッファの出力である水平エッジ積算値と、垂直エッジ積算バッファの出力である垂直エッジ積算値とを用いた所定の演算により得られるエッジ積算値から求められる。
【００８１】
次に、バッファ残容量予測結果に基づく量子化テーブルの係数制御について説明する。
【００８２】
バッファ残容量予測の結果、出力バッファメモリ６０のオーバーフローが発生すると予測された場合、量子化処理部３０ａでは、量子化テーブルの係数を変更して符号量の圧縮を行うことでオーバーフローを回避する。
【００８３】
ここで、係数の変更は、ＤＣＴデータの量子化に用いる量子化テーブル上で量子化係数の変更を開始する位置（変更開始位置）と、該量子化テーブルにおけるそれ以降の量子化係数に適用される変化量（量子化係数の増加率）とによって定める。また、この変更開始位置と量子化係数の増加率とは、該バッファ残容量の予測値と基準値との差に応じて決定される。
【００８４】
また、変更開始位置と変化量は、たとえば、８×８のマトリクス状量子化テーブル上に水平方向、垂直方向に並ぶ量子化係数について独立に設定可能で、それぞれ水平方向のエッジ成分の積算値、および垂直方向のエッジ成分の積算値から求めることができる。
【００８５】
例えば、水平方向に並ぶ量子化係数に対する独立した量子化係数の設定は、量子化テーブル上で８行×８列のマトリクス状に配列された６４個の量子化係数に対して、Ｋ列目（１、２、３・・・、８列のいずれかの列）以降の列の量子化係数を、所定の割合だけ減少させるというものであり、また、垂直方向に並ぶ量子化係数に対する独立した量子化係数の設定は、量子化テーブル上で８行×８列のマトリクス状に配列された６４個の量子化係数に対して、Ｌ行目（１、２、３・・・、８行のいずれかの行）以降の行の量子化係数を、所定の割合だけ減少させるというものである。ここで、１行目と１列目の交点に位置する量子化係数は、直流成分を量子化するための係数であり、８行目と８列目の交点に位置する量子化係数は、水平方向および垂直方向ともに周波数最大である交流成分を量子化するための係数である。
【００８６】
このように本実施形態１による画像データ符号化装置１００では、エッジ成分検出処理部１１０にて、入力画像の水平方向のエッジ成分、および入力画像の垂直方向のエッジ成分を検出した後、水平エッジ積算バッファ１１１及び垂直エッジ積算バッファ１１３にて検出結果の積算をＪＰＥＧ処理単位の８×８画素ブロック毎に行い、エッジの積算結果とＪＰＥＧ出力バッファメモリ６０の残容量から将来の出力バッファメモリの残容量の予測を行い、量子化処理部３０ａでは、予測結果とエッジの積算結果とに基づいて量子化係数を変更した量子化テーブルを使用するようにしたので、画像符号化データの符号量を削減する圧縮処理を、該圧縮処理が特定ブロックに集中するのを回避しつつ行うことができ、これにより画像符号化データを格納する出力バッファメモリのオーバーフローを、画質低下を抑えつつ回避することができる。
【００８７】
つまり、従来の画像データ符号化装置２００では、画像データをＪＰＥＧ形式で可変長符号化したとき、画像データ符号化装置の出力側の伝送能力に対して、出力される画像符号化データの符号長が大きい場合には、出力バッファでオーバーフローが発生するという問題に対して、出力バッファメモリの残容量のみによって量子化係数を変更することで、出力される画像符号化データの符号長の圧縮を行っていたため、バッファ残容量を大きく減らす要因となるブロックに対して符号量の圧縮は行われず、それ以降のブロックに圧縮処理が集中して、局所的に画質が大きく劣化するという問題がある。
【００８８】
これに対して、本発明の実施形態１の画像データ符号化装置１００では、入力画像のエッジ成分と現在のバッファ残容量とから将来のバッファ残容量を予測し、該バッファ残容量の予測値と基準値との比較の結果、オーバーフローが発生すると予測された場合のみ、量子化テーブルの係数を、該バッファ残容量の予測値と基準値との差に応じて変更することで符号量の圧縮を行う。このため、バッファ残容量の減少を引き起こすブロックに対して、将来オーバーフローの発生が予測される場合に限定して符号量の圧縮を行うことが可能である。逆に、該バッファ残容量の予測値と基準値との比較の結果、オーバーフローが発生しないとないと予測された場合は、不要な符号量の圧縮を避けられ、画質が損なわれるのを回避することができる。
【００８９】
さらに、ブロックに含まれるエッジ成分を垂直方向と水平方向に分けて検出することで、オーバーフローの発生予測に対する量子化テーブルの係数を、当該ブロックのエッジ方向の偏りに応じて垂直方向と水平方向に分けて変更可能となり、画質の低下を抑えた符号量の圧縮ができるという効果もある。
【００９０】
なお、上記実施形態１では、画像データ符号化装置として、エッジ成分の検出と積算を画像の垂直方向と水平方向とについて個別に行うものを示したが、エッジ成分の積算は、垂直方向のエッジ成分と水平方向のエッジ成分とを一括して積算するものであってもよい。
【００９１】
この場合、量子化テーブルにおける各量子化係数の設定は、例えば、可変長符号化処理時に行われるジグザグスキャンの順番に沿って、量子化係数の変更開始位置を設定し、さらに、この位置以降で量子化係数を変化させる変化量を設定するというものが考えられる。
【００９２】
また、本発明を実施する信号処理装置が、画像データの符号化処理部に加えて、エッジ検出を行う信号処理部（例えば、エッジ強調処理部）を別途有する場合は、該符号化処理部では、該エッジ強調処理部などの信号処理部で検出されたエッジ成分を用いて、画像のエッジ成分を積算するようにしてもよい。この場合、上記符号化処理部を構成する画像データ符号化装置にはエッジ成分検出処理部を設ける必要はない。
【００９３】
さらに、上記実施形態１では、特に説明しなかったが、上記実施形態１の画像データ符号化装置は、デジタルカメラやカメラ付き携帯電話装置などの電子情報機器に良好に適用することができる。
【００９４】
（実施形態２）
以下、本発明の実施形態２として、このような電子情報機器について説明する。
【００９５】
この実施形態２の電子情報機器は、実施形態１による画像データ符号化装置１００から出力される画像符号化データを処理するデータ処理部を有する。
【００９６】
該データ処理部は、該画像符号化データを、記憶手段に記憶させる記憶処理、該画像符号化データを伝送する伝送処理、および、該画像符号化データに基づいて表示部に画像データを表示する表示処理の少なくとも１つを行うものである。
【００９７】
このような構成の電子情報機器では、画像データ符号化装置からの画像符号化データを、記憶手段に記憶させたり、良好に伝送処理したり、または、表示部の表示画面上に良好に表示処理することができる。
【００９８】
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
【産業上の利用可能性】
【００９９】
本発明は、画像データ符号化装置、画像データ符号化方法、画像データ符号量制御方法、および電子情報機器の分野において、画像符号化データの符号量を削減する圧縮処理を、該圧縮処理が特定ブロックに集中するのを回避しつつ行うことができ、これにより画像符号化データを格納する出力バッファメモリのオーバーフローを、画質低下を抑えつつ回避することができる画像データ符号化装置、画像データ符号化方法、画像データ符号量制御方法、および、この画像データ符号化装置からの符号化データを、記憶手段に記憶させるか、伝送処理するか、または表示部に表示処理する電子情報機器を提供することができる。
【符号の説明】
【０１００】
１０  ＪＰＥＧ入力バッファメモリ
２０  ＤＣＴ処理部
３０ａ  量子化処理部
５０  可変長符号化処理部
６０  ＪＰＥＧ出力バッファメモリ
１００  画像データ符号化装置
１００ａ  圧縮符号化部
１１０  エッジ検出処理部
１１１  水平エッジ積算バッファメモリ
１１２  バッファ残量予測処理部
１１３  垂直エッジ積算バッファメモリ
１１４  量子化係数演算処理部
【図１】
2011004285.tif 000003
【図２】
2011004285.tif 000004