(57)【要約】    【課題】      回路規模を増大することなく目標の符号量以下に制御し、符号化の処理時間を短くすること。    【解決手段】  符号化部１０２は、ジグザグスキャンした成分に対して可変長符号の割り当てを行い、ブロック内の全ての係数値に符号の割り当てが終わると符号化終了を示すＥＯＢ符号をブロックデータの最後に付ける。符号化制御部１０４は、符号化部１０２に対してＥＯＢ符号を付加する場所を制御し、２箇所以上の異なる場所にＥＯＢ符号を付加するように符号化部１０２を制御する。符号量測定部１０５は、１フレーム分の符号化が終了した時点で、符号化データ列一時記録部１０６に記録された各符号化データ列と目標符号量を比較し、符号化データ列一時記録部１０６に対して、目標符号量以下の符号量の符号化データ列が出力されるように指示する。  【選択図】      図１
2007019876.tif 000002
【特許請求の範囲】
【請求項１】
一画面分の画像データを複数のブロックに分割するとともに前記ブロック毎に直交変換を施してＤＣＴ係数を得る画像データ変換手段と、
前記画像データ変換手段にて得られた前記ＤＣＴ係数を量子化する量子化手段と、
前記量子化手段にて量子化されたＤＣＴ係数を符号化する符号化手段と、
所定のブロックを前記符号化手段にて符号化する際に前記ブロック内に符号化終了を示す符号化終了符号を複数付加する符号化制御手段と、
前記符号化手段にて符号化を開始してからそれぞれの前記符号化終了符号迄の符号化データ列の符号量を測定するとともに測定した前記符号量が目標符号量以下の前記符号化データ列を選択する符号量測定手段と、
を具備することを特徴とする画像符号化装置。
【請求項２】
一画面分の画像データを複数のブロックに分割するとともに前記ブロック毎に直交変換を施してＤＣＴ係数を得るステップと、
得られた前記ＤＣＴ係数を量子化するステップと、
量子化されたＤＣＴ係数を符号化するステップと、
所定のブロックを符号化する際に前記ブロック内に符号化終了を示す符号化終了符号を複数付加するステップと、
符号化を開始してからそれぞれの前記符号化終了符号迄の符号化データ列の符号量を測定するステップと、
測定した前記符号量が目標符号量以下の前記符号化データ列を選択するステップと、
を具備することを特徴とする画像符号化方法。
【請求項３】
一画面分の画像データを複数のブロックに分割するとともに前記ブロック毎に直交変換を施してＤＣＴ係数を得る手順と、
得られた前記ＤＣＴ係数を量子化する手順と、
量子化されたＤＣＴ係数を符号化する手順と、
所定のブロックを符号化する際に前記ブロック内に符号化終了を示す符号化終了符号を複数付加する手順と、
符号化を開始してからそれぞれの前記符号化終了符号迄の符号化データ列の符号量を測定する手順と、
測定した前記符号量が目標符号量以下の前記符号化データ列を選択する手順と、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置及び画像符号化方法に関する。
【背景技術】
【０００２】
画像データをメモリカード、磁気ディスク等の記憶媒体にディジタルデータとして記録する場合、そのデータ量は膨大なものとなるため、限られた記録容量の範囲で多数の画像データを記録するには何らかの圧縮を行うことが必要となる。その際、１枚のメモリカードや磁気ディスク等に記録できる画像の枚数は保証されなければならない。このような条件に対処するための静止画像データの高能率符号化としてＪＰＥＧ等の画像標準符号化方式が知られている。これらの技術は、入力される画像データをｎ×ｎ画素のブロックに分割し、分割されたブロック単位に離散コサイン変換（ＤＣＴ）処理を施し、ジグザグスキャンの後に可変長符号化を行う画像符号化方式である。ＪＰＥＧ等の直交変換を利用した画像データ符号化方式は、周波数領域における低周波数成分への信号エネルギーの集中に着目して、低周波数成分に多くの符号化ビット数を割り当てる代わりに、エネルギー成分が少なく視覚的にも感度の鈍い高周波数成分に少ないビット数を割り当てる手法により、全体として符号化ビット数を低減して高能率化を達成することを狙った符号化方式である。しかし、可変長符号化では符号長が一定ではないため、画像毎に符号量は一定ではなくなってしまう。このため、画像データを符号化する際には指定した目標符号量以下になるように、画像データの符号量を制御する技術が必要である。
【０００３】
従来の符号量制御方法としては、一つの画像に対して、目標となる符号量の符号化データが得られるまで符号化パラメータを変更して、符号化処理を繰り返す方法がある（例えば、特許文献１）。又、複数の符号化部を有し、異なった符号化パラメータを用いて符号化処理を並列に行い、繰り返しの回数を減らす技術が提案されている（例えば、特許文献２）。
【０００４】
図５は、特許文献２に示された画像符号化装置のブロック図である。図５において、画像データは、画像データ変換部５０１で、直交変換演算が施され、得られた直交変換係数行列が量子化部５１０で量子化される。量子化部５１０は、三つの量子化部５１１、５１２、５１３からなり、量子化部５１１、５１２、５１３は、それぞれの量子化テーブル格納部５２１、５２２、５２３を用いて量子化し、量子化されたそれぞれのデータは、符号化部５３１、５３２、５３３で符号化され、符号化された符号化データ列ａ、ｂ、ｃは、符号化データ列一時記録部５４０の記録領域５４１、５４２、５４３にそれぞれ格納される。
【０００５】
一方、符号化部５３１、５３２、５３３で符号化されたそれぞれの符号量は、符号量測定部５５１で測定され、符号化データ列ａ、ｂ、ｃの内で、データ量が最も許容値に近いものを、符号化データ列一時記録部５４０から選択して出力するように構成されている。
【特許文献１】特公平８−３２０３７号公報
【特許文献２】特開２００３−１１６００６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の装置においては、上記特許文献１の場合には、符号化処理を何回も繰り返すため、目標とする符号化データが得られるまで非常に時間がかかってしまうという問題がある。また、従来の装置は、上記特許文献２の場合には、並列に処理を行うために、並列に処理を行う数だけ符号化部が必要となり、回路規模が増大してしまうという問題がある。
【０００７】
本発明は、かかる点に鑑みてなされたものであり、回路規模を増大することなく目標の符号量以下に制御することでき、しかも、符号化の処理時間を短くすることができる画像符号化装置及び画像符号化方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の画像符号化装置は、一画面分の画像データを複数のブロックに分割するとともに前記ブロック毎に直交変換を施してＤＣＴ係数を得る画像データ変換手段と、前記画像データ変換手段にて得られた前記ＤＣＴ係数を量子化する量子化手段と、前記量子化手段にて量子化されたＤＣＴ係数を符号化する符号化手段と、所定のブロックを前記符号化手段にて符号化する際に前記ブロック内に符号化終了を示す符号化終了符号を複数付加する符号化制御手段と、前記符号化手段にて符号化を開始してからそれぞれの前記符号化終了符号迄の符号化データ列の符号量を測定するとともに測定した前記符号量が目標符号量以下の前記符号化データ列を選択する符号量測定手段と、を具備する構成を採る。
【０００９】
本発明の画像符号化方法は、一画面分の画像データを複数のブロックに分割するとともに前記ブロック毎に直交変換を施してＤＣＴ係数を得るステップと、得られた前記ＤＣＴ係数を量子化するステップと、量子化されたＤＣＴ係数を符号化するステップと、所定のブロックを符号化する際に前記ブロック内に符号化終了を示す符号化終了符号を複数付加するステップと、符号化を開始してからそれぞれの前記符号化終了符号迄の符号化データ列の符号量を測定するステップと、測定した前記符号量が目標符号量以下の前記符号化データ列を選択するステップと、を具備するようにした。
【００１０】
本発明のプログラムは、一画面分の画像データを複数のブロックに分割するとともに前記ブロック毎に直交変換を施してＤＣＴ係数を得る手順と、得られた前記ＤＣＴ係数を量子化する手順と、量子化されたＤＣＴ係数を符号化する手順と、所定のブロックを符号化する際に前記ブロック内に符号化終了を示す符号化終了符号を複数付加する手順と、符号化を開始してからそれぞれの前記符号化終了符号迄の符号化データ列の符号量を測定する手順と、測定した前記符号量が目標符号量以下の前記符号化データ列を選択する手順と、をコンピュータに実行させる構成を採る。
【発明の効果】
【００１１】
本発明によれば、回路規模を増大することなく目標の符号量以下に制御することでき、しかも、符号化の処理時間を短くすることができる。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明の実施の形態について、図面を参照して詳細に説明する。
【００１３】
（実施の形態）
図１は、本発明の実施の形態に係る画像符号化装置１３０の構成を示すブロック図である。
【００１４】
図１に示すように、本発明の画像符号化装置１３０は、画像データ変換部１００と、量子化部１０１と、符号化部１０２と、量子化テーブル格納部１０３と、符号化制御部１０４と、符号量測定部１０５と、符号化データ列一時記録部１０６とで構成されている。
【００１５】
画像データ変換部１００は、入力画像データを８×８画素からなる複数のブロックに分割して、各ブロックに直交変換を施してＤＣＴ係数を出力する。ＤＣＴ係数の特徴として、高周波数成分には、画像の情報量が含まれる割合が比較的少ないため、高周波数成分のＤＣＴ係数を切り捨てたとしても、人間の視覚に与える影響が低周波数成分に比べて少なく、画質への影響は抑制される。
【００１６】
量子化部１０１は、画像データ変換部１００で得られたＤＣＴ係数を量子化テーブルを用いて量子化する。この際、用いる量子化テーブルは、量子化テーブル格納部１０３に格納されている。
【００１７】
符号化部１０２は、ジグザグスキャンした成分に対して可変長符号の割り当てを行い、ブロック内の全ての係数値に符号の割り当てが終わると符号化終了を示すＥＯＢ（Ｅｎｄ  ｏｆ  Ｂｌｏｃｋ）符号をブロックデータの最後に付ける。符号化部１０２は、ジグザグスキャンした係数シ−ケンスに対してハフマン符号化（ランレングス・ハフマン符号化）を施して、ビット数を低減する。
【００１８】
符号化制御部１０４は、符号化部１０２に対してＥＯＢ符号（符号化終了符号）を付加する場所を制御し、符号化を開始してからＥＯＢ符号までの符号化データ列は、符号化データ列一時記録部１０６に記録される。符号化制御部１０４は、２箇所以上の異なる場所にＥＯＢ符号を付加するように、符号化部１０２を制御し、それぞれ長さの異なる別の符号化データ列として符号化データ列一時記録部１０６に一時的に記録する。
【００１９】
符号量測定部１０５は、可変長符号化された各符号化データ列の符号量を測定し、符号化データ列毎に符号量の累計を記録する。そして、符号量測定部１０５は、１フレーム分の符号化が終了した時点で、符号化データ列一時記録部１０６に記録された各符号化データ列と目標符号量を比較し、符号化データ列一時記録部１０６に対して、目標符号量以下の符号量の符号化データ列が出力されるように指示する。
【００２０】
符号化データ列一時記録部１０６は、記録されている符号化データ列の内、符号量測定部１０５にて選択された符号化データ列を出力する。
【００２１】
次に、本発明の画像符号化装置１３０の符号化部１０２の動作を、図２及び図３を用いて説明する。図２は、画像符号化装置１３０の動作を示すフロー図であり、８×８画素の１ブロックの符号化部１０２の処理を示したものである。また、図３は、ジグザグスキャンの方法を示す図である。
【００２２】
先ず、量子化部１０１で量子化された係数値を図３（Ａ）に示す順序でジグザグスキャン３０１して可変長符号化を行う（ＳＴ２０１）。符号化制御部１０４は、ブロック内で符号化の終了した係数値の数を測定し、例えば、符号化部１０２が、図３（Ｂ）の斜線部分３０２で示す先頭から２１個の係数値の符号化が終了した時点で（ＳＴ２０２）、符号化終了を示す第１のＥＯＢ符号を付加するように符号化部１０２を制御する（ＳＴ２０３）。そして、符号化したデータ符号列の最後に第１のＥＯＢ符号を付加した符号化データ列ａは、符号化データ列一時記録部１０６の記録領域１０７に一時的に記録される（ＳＴ２０４）。
【００２３】
その後、ブロック内の残りの係数値の符号化を再開し（ＳＴ２０１）、図３（Ｃ）の斜線部分３０３で示す２２個の係数値の符号化が終了（合計４３個の係数値の符号化が終了）した時点で（ＳＴ２０５）、符号化制御部１０４は、第２のＥＯＢ符号を付加するように符号化部１０２を制御する（ＳＴ２０６）。符号化部１０２は、符号化した図３（Ｂ）の斜線部分３０２の符号と、今回符号化した図３（Ｃ）の斜線部分３０３の符号とからなる符号化列の最後に第２のＥＯＢ符号を付加し、符号化データ列ｂとして符号化データ列一時記録部１０６の記録領域１０８に一時的に記録される（ＳＴ２０７）。
【００２４】
同様に、ブロック内の残りの係数値の符号化を再開し（ＳＴ２０１）、図３（Ｄ）の斜線部分３０４で示す２１個の係数値を符号化し、合計６４個の計数値の符号化が終了した時点で（ＳＴ２０８）、符号化制御部１０４は、第３のＥＯＢ符号を付加するように符号化部１０２を制御する（ＳＴ２０９）。符号化した図３（Ｂ）の斜線部分３０２の符号と、符号化した図３（Ｃ）の斜線部分３０３の符号と、今回符号化した図３（Ｄ）の斜線部分３０４の符号とからなる符号化列の最後に第３のＥＯＢ符号を付加した符号化データ列ｃは、符号化データ列一時記録部１０６の記録領域１０９に一時的に記録される（ＳＴ２１０）。このようにして、ブロック内の全ての係数値の符号化が終わるまで処理を繰り返す。従って、最終的には、符号化データ列一時記憶部１０６の記録領域１０７〜１０９には、長さの異なる３種類の符号化データ列ａ、ｂ、ｃが個別に記録される。
【００２５】
次に、符号化データ列一時記録部１０６から最終的な出力データを選択する処理について図４を用いて説明する。
【００２６】
１フレームの符号化処理が終了した時点で、符号化データ列ａ、符号化データ列ｂ、符号化データ列ｃが、符号化データ列一時記録部１０６に記録されている。符号量測定部１０５は、目標符号量以下の符号量に収まる符号化データ列を出力させるために、各符号化データ列と目標符号量を比較する。符号量測定部１０５は、符号化データ列ｂの符号量４０２と符号化データ列ｃの符号量４０３は目標符号量を超えているため、最終的な出力データとして選択しない。符号量測定部１０５は、符号化データ列ａの符号量４０１は、目標符号量以下の符号量に収まっているので、符号化データ列ａを最終的な出力データとして選択する。なお、目標符号量以下の符号化データ列が複数存在した場合は、目標符号量に最も近い符号化データ列を出力データとして選択する。
【００２７】
また、上記実施の形態では、画像の符号化を画像符号化装置及び画像符号化方法として行う場合について説明したが、これに限らず、画像の符号化をソフトウェアとして行うことも可能である。例えば、上記画像の符号化を行うプログラムを予めＲＯＭ（Read Only Memory）に格納しておき、そのプログラムをＣＰＵ（Central Processor Unit）によって動作させるようにしてもよい。また、上記画像の符号化を行うプログラムをコンピュータで読み取り可能な記憶媒体に格納し、記憶媒体に格納されたプログラムをコンピュータのＲＡＭ（Random Access Memory）に記録して、コンピュータをそのプログラムに従って動作させるようにしてもよい。このような場合においても、上記実施の形態と同様の作用および効果を呈する。
【００２８】
このように、本実施の形態によれば、ＥＯＢ符号を付加する場所を制御することで、長さの異なる複数の符号化データ列を出力することにより、従来技術で必要であった複数の量子化テーブル格納部、量子化部の数を減らすことができ、又、繰り返し回数を増やすことなく目標符号量に収まる符号化データを得ることができる。これにより、回路規模を増大することなく目標の符号量以下に制御することでき、しかも、符号化の処理時間を短くすることができる。
【００２９】
なお、本発明は、上記実施の形態の内容に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であり、例えば、符号化を行った係数値の数で制御する代わりに符号化後の符号量を利用して制御してもよい。また、上記実施の形態において、静止画像符号化装置に関する説明を行ったが、ＭＰＥＧ等のｎ×ｎの画素ブロック単位で符号化する方式であれば、動画像符号化装置への適用も可能である。また、ブロックの終わりを示すための符号として、ＥＯＢ符号を付加するように構成したが、符号化終了を識別できれば、他の符号、手段であってもよい。また、符号化方式は可変長符号化に限らず、固定長符号化であってもよい。また、上記した画像符号化装置は、画像通信装置に組み込むことが可能であるので、そのような画像通信装置を具備した移動体通信システムを実現することも可能である。
【産業上の利用可能性】
【００３０】
本発明にかかる画像符号化装置及び画像符号化方法は、特に画像データを圧縮符号化するのに好適である。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施の形態に係る画像符号化装置の構成を示すブロック図
【図２】本発明の実施の形態に係る画像符号化装置の動作を示すフロー図
【図３】本発明の実施の形態に係るジグザグスキャンの方法を示す図
【図４】本発明の実施の形態に係る最終的な出力データを決定する際の説明図
【図５】従来の画像符号化装置の構成を示すブロック図
【符号の説明】
【００３２】
１００  画像データ変換部
１０１  量子化部
１０２  符号化部
１０３  量子化テーブル格納部
１０４  符号化制御部
１０５  符号量測定部
１０６  符号化データ列一時記録部
１３０  画像符号化装置
【図１】
2007019876.tif 000003
【図２】
2007019876.tif 000004
【図３】
2007019876.tif 000005
【図４】
2007019876.tif 000006
【図５】
2007019876.tif 000007