【手続補正書】
【提出日】平成16年9月1日(2004.9.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】      明細書
【発明の名称】  画像符号化装置、画像符号化・復号化装置、画像符号化・復号化方法、およびコンピュータが実行可能なプログラムを記録した記録媒体
【特許請求の範囲】
【請求項１】  画像をＮ×Ｍのブロックに分割する分割手段と、
前記Ｎ×Ｍのブロックの画像を可変長符号化する符号化手段と、
前記符号化手段で可変長符号化された可変長符号を記憶手段に記憶する際に、前記画像のライン単位に先頭アドレスを算出する先頭アドレス算出手段と、
前記可変長符号および前記先頭アドレスを記憶する前記記憶手段と、
を備えたことを特徴とする画像符号化装置。
【請求項２】  画像をＮ×Ｍのブロックに分割する分割手段と、
前記Ｎ×Ｍのブロックの画像を可変長符号化する符号化手段と、
前記符号化手段で可変長符号化された可変長符号に当該可変長符号の
符号長を示す回転用符号情報を付加する回転用符号情報付加手段と、
前記回転用符号情報が付加された可変長符号を記憶手段に記憶する際に、前記画像のライン単位に先頭アドレスを算出する先頭アドレス算出手段と、
前記回転用符号情報が付加された可変長符号および前記先頭アドレスを記憶する前記記憶手段と、
を備えたことを特徴とする画像符号化装置。
【請求項３】  画像をＮ×Ｍのブロックに分割する分割手段と、
前記Ｎ×Ｍのブロックの画像を可変長符号化する符号化手段と、
前記符号化手段で可変長符号化された可変長符号を記憶手段に記憶する際に、前記画像のライン単位に先頭アドレスを算出する先頭アドレス算出手段と、
前記可変長符号および前記先頭アドレスを記憶する前記記憶手段と、
指定される回転角度に応じて、前記先頭アドレスに基づいて前記記憶手段の読み出しアドレスを算出する読み出しアドレス算出手段と、
前記算出された読み出しアドレスに基づき、前記記憶手段から前記可変長符号をプラス方向またはマイナス方向に読み出す読出手段と、
前記読み出された可変長符号を復号化する復号化手段と、
を備えたことを特徴とする画像符号化・復号化装置。
【請求項４】  画像をＮ×Ｍのブロックに分割する分割手段と、
前記Ｎ×Ｍのブロックの画像を可変長符号化する符号化手段と、
前記符号化手段で可変長符号化された可変長符号に当該可変長符号の
符号長を示す回転用符号情報を付加する回転用符号情報付加手段と、
前記回転用符号情報が付加された可変長符号を記憶手段に記憶する際に、前記画像のライン単位に先頭アドレスを算出する先頭アドレス算出手段と、
前記回転用符号情報が付加された可変長符号および前記先頭アドレスを記憶する前記記憶手段と、
指定される回転角度に応じて、前記先頭アドレスおよび前記回転用符号情報に基づいて前記記憶手段の読み出しアドレスを算出する読み出しアドレス算出手段と、
前記算出された読み出しアドレスに基づき、前記記憶手段から前記可変長符号をプラス方向またはマイナス方向に読み出す読出手段と、
前記読み出された可変長符号を復号化する復号化手段と、
を備えたことを特徴とする画像符号化・復号化装置。
【請求項５】  画像をＮ×Ｍのブロックに分割する工程と、
前記Ｎ×Ｍのブロックの画像を可変長符号化する工程と、
前記可変長符号化された可変長符号を記憶手段に記憶する際に、前記画像のライン単位に先頭アドレスを算出する工程と、
前記可変長符号および前記先頭アドレスを前記記憶手段に記憶する工程と、
指定される回転角度に応じて、前記先頭アドレスに基づいて前記記憶手段の読み出しアドレスを算出する工程と、
前記算出された読み出しアドレスに基づき、前記記憶手段から前記可変長符号をプラス方向またはマイナス方向に読み出す工程と、
前記読み出された可変長符号を復号化する工程と、
を含むことを特徴とする画像符号化・復号化方法。
【請求項６】  画像をＮ×Ｍのブロックに分割する工程と、
前記Ｎ×Ｍのブロックの画像を可変長符号化する工程と、
前記可変長符号化された可変長符号に当該可変長符号の符号長を示す回転用符号情報を付加する工程と、
前記回転用符号情報が付加された可変長符号を記憶手段に記憶する際に、前記画像のライン単位に先頭アドレスを算出する工程と、
前記回転用符号情報が付加された可変長符号および前記先頭アドレスを記憶する工程と、
指定される回転角度に応じて、前記先頭アドレスおよび前記回転用符号情報に基づいて前記記憶手段の読み出しアドレスを算出する工程と、
前記算出された読み出しアドレスに基づき、前記記憶手段から前記可変長符号をプラス方向またはマイナス方向に読み出す工程と、
前記読み出された可変長符号を復号化する工程と、
を含むことを特徴とする画像符号化・復号化方法。
【請求項７】  請求項５または請求項６に記載の発明の各工程をコンピュータに実行させるためのプログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、画像符号化装置、画像符号化・復号化装置、画像符号化・復号化方法、およびコンピュータが実行可能なプログラムを記録した記録媒体に関し、詳細には、例えば、デジタル複写機、スキャナー、画像ファイリング等の画像記録装置に最適な画像符号化装置、画像符号化・復号化装置、画像符号化・復号化方法、およびコンピュータが実行可能なプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
従来より、画像データ圧縮技術は、画像データを保持するためのメモリ量を低減したり、画像データの送信時間を短縮したりする目的で画像処理分野で一般に使用されている。画像データの圧縮方式は画像データの処理形態により種々のものがあり、画像データを印字処理する場合においては、限られた容量のメモリ上で画像データを回転して印字するなどの処理を高速に行うという必要性から固定長圧縮が良く使用されている。代表的な固定長圧縮の方式としてＧＢＴＣ（Generalized Block  Truncation  Coding）などが知られている。
【０００３】
また、他の圧縮方式として画像データを水平周波数方向と垂直周波数方向に複数のブロックに分割すると共に低域周波数のブロックほど細かくするＷＡＶＥＬＥＴ変換が知られており、このＷＡＶＥＬＥＴ変換は最近、自然階調の画像を効果的に圧縮する方法として注目されている。かかるＷＡＶＥＬＥＴ変換は写真のような連続した階調を持った画像の圧縮に適していることが知られている。
【０００４】
また、符号化された画像をデコード時に回転させる技術として、例えば、特開平９−７４４７４号公報の画像符号化・復号化装置が知られている。かかる画像符号化・復号化装置によれば、デジタルの画像信号を符号化する符号化器、および該符号化された画像信号を復号化する復号器を有し、得られた画像の回転画像を生成する画像符号化・復号化装置において、前記画像信号にかかわる画像をＮ×Ｎのブロックに分割する手段と、前記ブロック毎に独立に該ブロック内の画素を符号化する手段と、前記ブロック内の所定画素の符号長の和を演算する手段と、前記符号化された画素及び前記符号長の和を記憶する手段と、前記復号器において、前記符号長の和をもとに、前記回転画像を構成するための前記Ｎ×Ｎブロックの先頭アドレスを生成する手段と、前記復号化されたＮ×Ｎブロック内の画素を復号化する手段と、前記復号化されたＮ×Ｎブロック内の画素を回転する手段とを備えたものである。
【０００５】
また、特開平９−７４４７５号公報の画像符号化・復号化装置によれば、デジタルの画像信号を符号化する符号化器、および該符号化された画像信号を復号化する復号器を有し、得られた画像の回転画像を生成する画像符号化・復号化装置において、前記画像信号にかかわる画像をＮ×Ｎのブロックに分割する手段と、前記Ｎ×Ｎブロックを構成する画素の色を判定する判定手段と、前記判定結果を符号化する第１の符号化手段と、前記判定結果をもとに前記ブロック毎に独立に該ブロック内の画素を符号化する第２の符号化手段と、前記第１の符号化手段及び第２の符号化手段にて符号化されたデータを記憶する手段と、前記復号器において、前記符号化された判定結果を復号化する手段と、前記回転画像を構成するための、前記Ｎ×Ｎブロックの画素のアドレスを生成する手段と、前記Ｎ×Ｎブロック内の画素を復号化する手段と、前記復号化された判定結果及び前記アドレスに基づいて、前記回転されたＮラインバッファに記憶する手段とを備えたものである。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述のＧＢＴＣは、４／８圧縮においては１ブロック４×４ドット、１ドットに３ＢＩＴの８種類の色を割り振り、また、３／８圧縮においては１ドットに２ＢＩＴの４種類の色を、また、２／８圧縮においては１ＢＩＴの２種類の色を割り振っている。このため、特に画素の階調差が激しい１ブロック内ではノッチと呼ばれるゴミのようなものが文字の輪郭などに発生し、画質が劣化するという問題がある。
【０００７】
また、エントロピー符号などで圧縮した場合（ハフマン符号など）は、符号のデコード時にエンコードした方向からしかデコードすることができないため、符号のまま９０°，１８０°，２７０°の回転処理を行うことができないという問題がある。すなわち、１８０°，２７０°回転時、ライン（ＢＬＯＣＫ）の後ろからアクセスしなければならないことになる。
【０００８】
本発明は、上記に鑑みてなされたものであり、ラインの先頭および終点からの可変長符号の読み出しを可能として、符号のまま回転処理を行うことが可能な画像符号化装置、画像符号化・復号化装置、画像符号化・復号化方法、およびコンピュータが実行可能なプログラムを記録した記録媒体を提供することを目的とする。
【０００９】
【課題を解決するための手段】
前記課題を解決するため、請求項１にかかる画像符号化装置は、画像をＮ×Ｍのブロックに分割する分割手段と、前記Ｎ×Ｍのブロックの画像を可変長符号化する符号化手段と、前記符号化手段で可変長符号化された可変長符号を記憶手段に記憶する際に、前記画像のライン単位に先頭アドレスを算出する先頭アドレス算出手段と、前記可変長符号および前記先頭アドレスを記憶する前記記憶手段と、を備えたものである。
【００１０】
上記発明によれば、分割手段は画像をＮ×Ｍのブロックに分割し、符号化手段はＮ×Ｍのブロックの画像を可変長符号化し、先頭アドレス算出手段は符号化手段で可変長符号化された可変長符号を記憶手段に記憶する際に、画像のライン単位に先頭アドレスを算出し、記憶手段は可変長符号および先頭アドレスを記憶する。
【００１１】
請求項２にかかる画像符号化装置は、画像をＮ×Ｍのブロックに分割する分割手段と、前記Ｎ×Ｍのブロックの画像を可変長符号化する符号化手段と、前記符号化手段で可変長符号化された可変長符号に当該可変長符号の符号長を示す回転用符号情報を付加する回転用符号情報付加手段と、前記回転用符号情報が付加された可変長符号を記憶手段に記憶する際に、前記画像のライン単位に先頭アドレスを算出する先頭アドレス算出手段と、前記回転用符号情報が付加された可変長符号および前記先頭アドレスを記憶する前記記憶手段と、を備えたものである。
【００１２】
上記発明によれば、分割手段は画像をＮ×Ｍのブロックに分割し、符号化手段は記Ｎ×Ｍのブロックの画像を可変長符号化し、回転用符号情報付加手段は符号化手段で可変長符号化された可変長符号に当該可変長符号の符号長を示す回転用符号情報を付加し、先頭アドレス算出手段は回転用符号情報が付加された可変長符号を記憶手段に記憶する際に、画像のライン単位に先頭アドレスを算出し、記憶手段は回転用符号情報が付加された可変長符号および先頭アドレスを記憶する。
【００１３】
請求項３にかかる画像符号化・復号化装置は、画像をＮ×Ｍのブロックに分割する分割手段と、前記Ｎ×Ｍのブロックの画像を可変長符号化する符号化手段と、前記符号化手段で可変長符号化された可変長符号を記憶手段に記憶する際に、前記画像のライン単位に先頭アドレスを算出する先頭アドレス算出手段と、前記可変長符号および前記先頭アドレスを記憶する前記記憶手段と、指定される回転角度に応じて、前記先頭アドレスに基づいて前記記憶手段の読み出しアドレスを算出する読み出しアドレス算出手段と、前記算出された読み出しアドレスに基づき、前記記憶手段から前記可変長符号をプラス方向またはマイナス方向に読み出す読出手段と、前記読み出された可変長符号を復号化する復号化手段と、を備えたものである。
【００１４】
上記発明によれば、分割手段は画像をＮ×Ｍのブロックに分割し、符号化手段はＮ×Ｍのブロックの画像を可変長符号化し、先頭アドレス算出手段は符号化手段で可変長符号化された可変長符号を記憶手段に記憶する際に、画像のライン単位に先頭アドレスを算出し、記憶手段は可変長符号および先頭アドレスを記憶し、読み出しアドレス読出手段は指定される回転角度に応じて、先頭アドレスに基づいて記憶手段の読み出しアドレスを算出し、読み出し手段は算出された読み出しアドレスに基づき、記憶手段から可変長符号をプラス方向またはマイナス方向に読み出し、復号化手段は読み出された可変長符号を復号化する。
【００１５】
請求項４にかかる画像符号化・復号化装置は、画像をＮ×Ｍのブロックに分割する分割手段と、前記Ｎ×Ｍのブロックの画像を可変長符号化する符号化手段と、前記符号化手段で可変長符号化された可変長符号に当該可変長符号の符号長を示す回転用符号情報を付加する回転用符号情報付加手段と、前記回転用符号情報が付加された可変長符号を記憶手段に記憶する際に、前記画像のライン単位に先頭アドレスを算出する先頭アドレス算出手段と、前記回転用符号情報が付加された可変長符号および前記先頭アドレスを記憶する前記記憶手段と、指定される回転角度に応じて、前記先頭アドレスおよび前記回転用符号情報に基づいて前記記憶手段の読み出しアドレスを算出する読み出しアドレス算出手段と、前記算出された読み出しアドレスに基づき、前記記憶手段から前記可変長符号をプラス方向またはマイナス方向に読み出す読出手段と、前記読み出された可変長符号を復号化する復号化手段と、を備えたものである。
【００１６】
上記発明によれば、分割手段は画像をＮ×Ｍのブロックに分割し、符号化手段はＮ×Ｍのブロックの画像を可変長符号化し、回転用符号情報付加手段は符号化手段で可変長符号化された可変長符号に当該可変長符号の符号長を示す回転用符号情報を付加し、先頭アドレス算出手段は回転用符号情報が付加された可変長符号を記憶手段に記憶する際に、画像のライン単位に先頭アドレスを算出し、記憶手段は回転用符号情報が付加された可変長符号および前記先頭アドレスを記憶し、読み出しアドレス算出手段は指定される回転角度に応じて、前記先頭アドレスおよび前記回転用符号情報に基づいて前記記憶手段の読み出しアドレスを算出し、読み出し手段は算出された読み出しアドレスに基づき、記憶手段から可変長符号をプラス方向またはマイナス方向に読み出し、復号化手段は読み出された可変長符号を復号化する。
【００１７】
請求項５にかかる画像符号化・復号化方法によれば、画像をＮ×Ｍのブロックに分割する工程と、前記Ｎ×Ｍのブロックの画像を可変長符号化する工程と、前記可変長符号化された可変長符号を記憶手段に記憶する際に、前記画像のライン単位に先頭アドレスを算出する工程と、前記可変長符号および前記先頭アドレスを前記記憶手段に記憶する工程と、指定される回転角度に応じて、前記先頭アドレスに基づいて前記記憶手段の読み出しアドレスを算出する工程と、前記算出された読み出しアドレスに基づき、前記記憶手段から前記可変長符号をプラス方向またはマイナス方向に読み出す工程と、前記読み出された可変長符号を復号化する工程と、を含むものである。
【００１８】
上記発明によれば、画像をＮ×Ｍのブロックに分割し、Ｎ×Ｍのブロックの画像を可変長符号化し、可変長符号化された可変長符号を記憶手段に記憶する際に、画像のライン単位に先頭アドレスを算出し、可変長符号および先頭アドレスを記憶手段に記憶し、指定される回転角度に応じて、先頭アドレスに基づいて記憶手段の読み出しアドレスを算出し、算出された読み出しアドレスに基づき、記憶手段から可変長符号をプラス方向またはマイナス方向に読み出し、読み出された可変長符号を復号化する。
【００１９】
請求項６にかかる画像符号化・復号化方法は、画像をＮ×Ｍのブロックに分割する工程と、前記Ｎ×Ｍのブロックの画像を可変長符号化する工程と、前記可変長符号化された可変長符号に当該可変長符号の符号長を示す回転用符号情報を付加する工程と、前記回転用符号情報が付加された可変長符号を記憶手段に記憶する際に、前記画像のライン単位に先頭アドレスを算出する工程と、前記回転用符号情報が付加された可変長符号および前記先頭アドレスを記憶する工程と、指定される回転角度に応じて、前記先頭アドレスおよび前記回転用符号情報に基づいて前記記憶手段の読み出しアドレスを算出する工程と、前記算出された読み出しアドレスに基づき、前記記憶手段から前記可変長符号をプラス方向またはマイナス方向に読み出す工程と、前記読み出された可変長符号を復号化する工程と、を含むものである。
【００２０】
上記発明によれば、画像をＮ×Ｍのブロックに分割し、Ｎ×Ｍのブロックの画像を可変長符号化し、可変長符号化された可変長符号に当該可変長符号の符号長を示す回転用符号情報を付加し、回転用符号情報が付加された可変長符号を記憶手段に記憶する際に、画像のライン単位に先頭アドレスを算出し、回転用符号情報が付加された可変長符号および先頭アドレスを記憶し、指定される回転角度に応じて、先頭アドレスおよび回転用符号情報に基づいて記憶手段の読み出しアドレスを算出し、算出された読み出しアドレスに基づき、記憶手段から可変長符号をプラス方向またはマイナス方向に読み出し、読み出された可変長符号を復号化する。
【００２１】
請求項７にかかるコンピュータが読み取り可能な記録媒体は、請求項５または請求項６に記載の発明の各工程をコンピュータに実行させるためのプログラムを記録したものである。上記発明によれば、コンピュータにより、記録媒体に記録されたプログラムを実行して、請求項５または請求項６に記載の発明の各工程を実現する。
【００２２】
【発明の実施の形態】
添付図面を参照して、本発明にかかる画像符号化装置、画像符号化・復号化装置、および画像符号化・復号化方法の好適な実施の形態を詳細に説明する。
【００２３】
図１は、本発明にかかる画像符号化装置の構成を示すブロック図である。図１に示す画像符号化装置は、ラインバッファ１、Ｎ×Ｎバッファ２、ＷＡＶＥＬＥＴ処理装置３，エントロピー符号装置４、回転用符号情報付加装置５、アドレス生成装置６、ラインアドレス記録装置７、およびメモリ８を備えている。
【００２４】
上記ラインバッファ１は、Ｎ×Ｎ（例えば、４×４）ブロックの画像をライン分格納する。Ｎ×Ｎバッファ２は、Ｎ×Ｎ（例えば、４×４）ブロックの画像を格納する。画像としては、ＣＭＹＫ系、ＲＧＢ系、およびＹＵＶ系のいずれでも良い。
【００２５】
ＷＡＶＥＬＥＴ処理装置３は、ＷＡＶＥＬＥＴ変換するためのものであり、図２（ａ）に示すように２×２の画素ａ，ｂ，ｃ，ｄのブロックを、図２（ｂ）に示すように、１ブロックが以下のように１つの低周波数成分ＬＬと３つの高周波成分ＬＨ、ＨＬ、ＨＨに分解し、この演算を繰り返すことにより、４×４の画素のブロックについて、図２（ｃ）に示すような階層を生成する。
【００２６】
ＬＬ＝（（ａ＋ｂ）／２＋（ｃ＋ｂ）／２）／２
ＨＬ＝（ａ＋ｂ）／２−（ｃ−ｄ）／２
ＬＨ＝（（ａ−ｂ）＋（ｃ−ｄ））／２
ＨＨ＝（ａ−ｂ）−（ｃ−ｄ）
【００２７】
エントロピー符号装置４は、ＷＡＶＥＬＥＴ処理装置３で、ＷＡＶＥＬＥＴ変換されたＷＡＶＥＬＥＴデータをエントロピー符号化する。エントロピー符号化としては、例えば、ハフマン符号化などを用いることができる。
【００２８】
回転用符号情報付加装置５は、エントロピー符号装置４で符号化した可変長符号の符号長を算出し、符号長を表す固定長のＦＬＡＧ（図３に示す例では、ＬＥＮＧＴＨ）を回転用符号情報として付加する。図３は符号フォーマットの一例を示す図である。同図において、ＤＣは図２（ｃ）のＬＬＬＬなど最も低周波の生データであり、ＡＣ  ＨＵＦＦＭＡＮ  ＣＯＤＥは、その他の周波数バンドをハフマン符号などのエントロピー符号により符号化したものである。また、ＬＥＮＧＴＨは可変長符号の符号長を表す固定長のＦＬＡＧ（回転用符号情報）である。
【００２９】
メモリ８は、回転用符号情報が付加された可変長符号およびラインアドレス記録装置７に記録された各ライン０〜ｎの先頭アドレスＬＩＮＥＡＤＤＲＥＳＳが記憶される。図４はメモリ８の構成例を示す図である。同図に示す如く、メモリ８には、回転用符号情報が付加された可変長符号が画像のライン単位（ブロック単位）に格納される。
【００３０】
アドレス生成装置６は、メモリ８に回転用符号情報が付加された可変長符号をライン単位（ブロック単位）で記憶する際の各ライン０〜Ｎの先頭アドレスＬＩＮＥＡＤＤＲＥＳＳを生成する。ラインアドレス記録装置７は、図５に示すように、各ライン０〜ｎの先頭アドレスＬＩＮＥＡＤＤＲＥＳＳを記録する。これによりデコード時に、可変長符号のメモリ８内のアドレスを知ることができる。このライン先頭アドレスＬＩＮＥＡＤＤＲＥＳＳはエンコード終了後、可変長符号と同様にメモリ８に格納される。
【００３１】
図１の画像符号化装置のエンコード時の処理を図６のフローチャートを参照して説明する。図６は図１の画像符号化装置のエンコード時の処理を説明するためのフローチャートを示す。
【００３２】
図６において、まず、アドレス生成装置６は、ラインアドレス記録装置７のラインの先頭アドレスＬＩＮＥＡＤ（０）＝０ライン先頭アドレスとして、０アドレス（一番先頭のライン）をセットする（ステップＳ１）。ついで、アドレス生成装置６は、アドレスレジスタの値ＡＤＤＲＥＳＳに０ライン先頭アドレス（一番先頭のライン）をセットする（ステップＳ２）。
【００３３】
アドレス生成装置６は、垂直カウンタＶＣＮＴおよび水平カウンタＨＣＮＴをクリアする（ステップＳ３，Ｓ４）。そして、ラインバッファ１からＮ×Ｎバッファ２にＮ×Ｎブロックの画像をリードする（ステップＳ５）。ＷＡＶＥＬＥＴ処理装置３は、Ｎ×Ｎバッファ２のＮ×Ｎブロックの画像に対してＷＡＶＥＬＥＴ処理を行う（ステップＳ６）。つづいて、エントロピー符号装置４は、ＷＡＶＥＬＥＴ処理されたＷＡＶＥＬＥＴデータをエントロピー符号化する（ステップＳ７）。
【００３４】
回転用符号情報付加装置５は、エントロピー符号装置４で可変長符号化された可変長符号に回転用符号情報（符号長を表す固定長のＦＬＡＧ）を付加し（図４参照）、アドレス生成装置６で生成されたメモリ８のアドレスＡＤＤＲＥＳＳにライトする（ステップＳ８）。続いて、アドレス生成装置６は、アドレスレジスタの値ＡＤＤＲＥＳＳ＝ＡＤＤＲＥＳＳ＋符号長（回転用符号情報）として、アドレスレジスタの値ＡＤＤＲＥＳＳを更新する。アドレス生成装置６は、水平カウンタＨＣＮＴ＝ＨＣＮＴ＋１として、水平カウンタＨＣＮＴをカウントＵＰする（ステップＳ１０）。そして、アドレス生成装置６は、水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えていないか否かを判定する（ステップＳ１１）。水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えていない場合には、ステップＳ５に戻り、水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えるまで同じ処理を繰り返す。他方、水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えた場合、すなわち、１つのラインの処理が終了した場合には、アドレス生成装置６は、垂直カウンタＶＣＮＴ＝ＶＣＮＴ＋１として、垂直カウンタＶＣＮＴをカウントＵＰする（ステップＳ１２）。これにより次のラインの処理が行われることになる。
【００３５】
アドレス生成装置６は、ＬＩＮＥＡＤ（ＶＣＮＴ）＝ＡＤＤＲＥＳＳとして、垂直カウンタＶＣＮＴが示すラインの先頭アドレスＬＩＮＥＡＤ（ＶＣＮＴ）をアドレス生成装置６のアドレスレジスタの示す値ＡＤＤＲＥＳＳで更新する（ステップＳ１３）。そして、アドレス生成装置６は垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えていないか否かを判定する（ステップＳ１４）。垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えていない場合には、ステップＳ４に戻り、垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えるまで同じ処理を繰り返す。他方、垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えた場合には、アドレス記録装置７に記録した各ライン０〜ｎの先頭アドレスＬＩＮＥＡＤＤＲＥＳＳをメモリ８へ転送してメモリ８に記憶する（ステップＳ１５）。
【００３６】
上記画像符号化装置によれば、ＷＡＶＥＬＥＴ処理装置３は、Ｎ×Ｎバッファ２に格納されたＮ×Ｎのブロックの画像をＷＡＶＥＬＥＴ変換し、エントロピー符号装置４は、変換されたＷＡＶＥＬＥＴデータを可変長符号化し、回転用符号情報付加装置５は可変長符号化された可変長符号に当該可変長符号の符号長を示す回転用符号情報を付加し、アドレス生成装置６は回転用符号情報が付加された可変長符号をメモリ８に記憶する際に、画像のライン単位に先頭アドレスを算出し、メモリ８に回転用符号情報が付加された可変長符号および先頭アドレスを記憶することとしたので、デコード時に、９０°，１８０°，および２７０°の回転処理を行う場合に、ラインの先頭および終点からブロック単位での可変長符号の読み出しが可能となり、符号のまま９０°，１８０°，および２７０°の回転処理を行うことが可能となる。
【００３７】
図７は、本発明にかかる画像復号化装置の構成を示すブロック図である。同図に示す画像復号化装置は、メモリ１１、ラインアドレス記録装置１２、アドレス生成装置１３、符号切り出し装置１４、エントロピー復号装置１５、ＩＷＡＶＥＬＥＴ処理装置１６、Ｎ×Ｎバッファ１７、およびラインバッファ１８を備える。
【００３８】
メモリ１１は、上述の回転用符号情報が付加された可変長符号と各ライン０〜ｎの先頭アドレスＬＩＮＥＡＤＤＲＥＳＳが格納される。メモリ１１に格納される回転用符号情報が付加された可変長符号と各ライン０〜ｎの先頭アドレスＬＩＮＥＡＤＤＲＥＳＳは、図１の画像符号化装置のメモリ８に格納された回転用符号情報が付加された可変長符号と各ライン０〜ｎの先頭アドレスＬＩＮＥＡＤＤＲＥＳＳが不図示の転送手段で転送されて格納される。
【００３９】
ラインアドレス記録装置１２は、メモリ１１からライン先頭アドレスＬＩＮＥＡＤＤＲＥＳＳを読み込み、９０°、１８０°、および２７０°の回転時などに、アドレス生成装置１３に各ライン０〜ｎの先頭アドレスＬＩＮＥＡＤＤＲＥＳＳを転送する。アドレス生成装置１３は、図８〜図１０のように各回転（０°、９０°、１８０°、２７０°）する場合に、メモリ１１にアクセスするためのアドレス（読み出しアドレス）を生成する。符号切り出し装置１４は、アドレス生成装置１３で生成されるアドレスに従ってメモリ１１から可変長符号を切り出す。
【００４０】
エントロピー復号装置１５は、符号切り出し装置１４で切り出された可変長符号をエントロピー復号化する。ＩＷＡＶＥＬＥＴ処理装置１６は、エントロピー復号装置１５で復号化されたＷＡＶＥＬＥＴデータを復号化して画像を生成する。Ｎ×Ｎバッファ１７は、Ｎ×Ｎブロックの画像を格納する。画像データとしては、ＣＭＹＫ系、ＲＧＢ系、およびＹＵＶ系のいずれでも良い。上記ラインバッファ１は、Ｎ×Ｎブロックの画像をライン分格納する。
【００４１】
以下、図７の画像復号化装置が、デコード時に、可変長符号を０゜回転、９０゜回転、１８０゜回転、および２７０゜回転する場合の処理を説明する。まず、画像復号化装置が、デコード時に画像を回転させない場合（０゜回転）の処理を図１１を参照して説明する。図１１は、画像復号化装置が、デコード時に可変長符号を回転させない場合（０゜回転）の処理を説明するためのフローチャートを示す。
【００４２】
図１１において、まず、メモリ１１から各ラインの先頭アドレスＬＩＮＥＡＤ（０〜垂直ブロック数＋１）をリードしてアドレス記録装置１２へ転送する（ステップＳ２１）。アドレス生成装置１３は、垂直カウンタＶＣＮＴをクリアし（ステップＳ２２）、また、水平カウンタＨＣＮＴをクリアする（ステップＳ２３）。
【００４３】
つづいて、アドレス生成装置１３は、アドレスレジスタの値ＡＤＤＲＥＳＳ＝ＬＩＮＥＡＤ（ＶＣＮＴ）として、垂直カウンタＶＣＮＴの示すラインの先頭アドレスＬＩＮＥＡＤ（ＶＣＮＴ）をアドレスレジスタへセットする（ステップＳ２４）。そして、符号切り出し装置１４は、メモリ１１から可変長符号を、図１２に示す如く、指定されるアドレスＡＤＤＲＥＳＳからプラス方向に固定長ビット（例えば、６４ビット）切り取る（ステップＳ２５）。
【００４４】
エントロピー復号装置１５は、符号切り出し装置１４で切り取った可変長符号をエントロピー復号化する（ステップＳ２６）。この場合、エントロピー復号装置１５は、符号化方向と同じ方向からリードしているので、切り取った符号を順次復号化する。ＩＷＡＶＥＬＥＴ処理装置１６は、エントロピー復号装置１６で復号化したＷＡＶＥＬＥＴデータに対してＷＡＶＥＬＥＴ処理を行う（ステップＳ２７）。ＩＷＡＶＥＬＥＴ処理装置１６でＩＷＡＶＥＬＥＴ処理されたＮ×Ｎ（４×４）のブロックの画像をＮ×Ｎバッファ１７に格納した後、ラインバッファ１８へ転送する（ステップＳ２８）。
【００４５】
アドレス生成装置１３は、水平カウンタＨＣＮＴ＝ＨＣＮＴ＋１として、水平カウンタＨＣＮＴをカウントＵＰし（ステップＳ２９）、アドレスレジスタの値ＡＤＤＲＥＳＳ＝ＡＤＤＲＥＳＳ＋符号長（回転用符号情報）として、アドレスレジスタの値ＡＤＤＲＥＳＳを更新する（ステップＳ３０）。アドレス生成装置１３は、水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えているか否か判定するステップＳ３１）。水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えていない場合には、ステップＳ２５に戻り、水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えるまで同じ処理を繰り返す。他方、ステップＳ３１で、水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えている場合には、１ラインの読み出しが終了したので、垂直カウンタＶＣＮＴ＝ＶＣＮＴ＋１として、垂直カウンタＶＣＮＴをカウントＵＰする（ステップＳ３２）。これにより、次のラインの読み出しが行われる。
【００４６】
そして、アドレス生成装置１３は、垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えているか否かを判定する（ステップＳ３３）。垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えていない場合は、ステップＳ２３に戻り、垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えるまで同じ処理を繰り返す。他方、ステップＳ３３で、垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えている場合には、処理を終了する。
【００４７】
図１３はデコード時に画像を回転させない場合（０゜回転）における、メモリ１１からの読み出し順と、ラインバッファ１８への書き込み順を示している。同図の黒四角は読み出し方向および書き込み方向を示している。同図に示すように、デコード時に画像を回転させない場合（０゜回転）は、読み出し方向と書き込み方向が同じとなる。
【００４８】
図７の画像復号化装置が、デコード時に画像を９０゜回転させる場合の処理を図１４を参照して説明する。図１４は画像復号化装置がデコード時に画像を９０゜回転する場合の処理を説明するためのフローチャートを示す。
【００４９】
図１４において、まず、メモリ１１から各ライン０〜Ｎの先頭アドレスＬＩＮＥＡＤＤＲＥＳＳ（０〜垂直ブロック数＋１）をリードしてラインアドレス記録装置１２へ転送する（ステップＳ４１）。アドレス生成装置１３は水平カウンタＨＣＮＴをクリアし（ステップＳ４２）、また、垂直カウンタＶＣＮＴをクリアする（ステップＳ４３）。アドレス生成装置１３は、アドレスレジスタの値ＡＤＤＲＥＳＳ＝ＬＩＮＥＡＤ（ＶＣＮＴ）として、垂直カウンタＶＣＮＴの示すラインの先頭アドレスＬＩＮＥＡＤ（ＶＣＮＴ）をアドレスレジスタへセットする（ステップＳ４４）。
【００５０】
符号切り出し装置１４は、メモリ１１から可変長符号を、図１２に示す如く、指定されるＡＤＤＲＥＳＳからプラス方向に固定長ビット（６４ビット）切り取る（ステップＳ４５）。エントロピー復号装置１５は、符号切り出し装置１４で切り取った可変長符号をエントロピー復号化する（ステップＳ４６）。この場合、符号化方向と同じ方向でリードしているので順次復号化する。ＩＷＡＶＥＬＥＴ処理装置１６は、エントロピー復号装置１５で復号化したＷＡＶＥＬＥＴデータをＩＷＡＶＥＬＥＴ処理を行う（ステップＳ４７）。ＩＷＡＶＥＬＥＴ処理装置１６でＩＷＡＶＥＬＥＴ処理されたＮ×Ｎ（４×４）のブロックの画像データをＮ×Ｎバッファ１７に格納した後、ラインバッファ１８へ転送する（ステップＳ４８）。
【００５１】
アドレス生成装置１３は、ＬＩＮＥＡＤ（ＶＣＮＴ）＝ＬＩＮＥＡＤ（ＶＣＮＴ）＋符号長（回転用符号情報）として、垂直カウンタＶＣＮＴの示すラインの先頭アドレスの値を更新する（ステップＳ４９）。ついで、アドレス生成装置１３は、垂直カウンタＶＣＮＴ＝ＶＣＮＴ＋１として、垂直カウンタＶＣＮＴをカウントＵＰする（ステップＳ５０）。
【００５２】
そして、アドレス生成装置１３は垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えているか否かを判定する（ステップＳ５１）。アドレス生成装置１３は、垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えていない場合にはステップＳ４５に移行して、垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えるまで同じ処理を繰り返す。他方、アドレス生成装置１３は垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えている場合には、水平カウンタＨＣＮＴ＝ＨＣＮＴ＝水平カウンタＨＣＮＴ＋１として、水平カウンタＨＣＮＴをカウントＵＰする（ステップＳ５２）。
【００５３】
アドレス生成装置１３は、水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えているか否かを判定する（ステップＳ５３）。水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えていない場合にはステップＳ４３に移行して、水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えるまで同じ処理を繰り返す一方、水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えている場合には、当該フローを終了する。これにより、９０゜回転した画像が得られる。
【００５４】
図１５はデコード時に画像を９０゜回転させる場合における、メモリ１１からの読み出し順と、ラインバッファ１８への書き込み順を示している。同図の黒四角は読み出し方向および書き込み方向を示している。同図に示すように、デコード時に画像を９０゜回転させる場合は、読み出し方向と書き込み方向が異なる。図８はデコード時に画像を９０゜回転させる場合の具体例を示す。ここでは、画像全体を○1〜○16のブロックに分割している。同図（ａ）は回転前のブロックの配置を示し、同図（ｂ）は９０゜回転後の配置を示す。回転画像を作るためのブロックの読み出しおよび書き込み順序は、上述の図１５のようになる。
【００５５】
図７の画像復号化装置が、デコード時に１８０゜回転する場合の処理を図１６を参照して説明する。図１６は、図７の画像復号化装置が、デコード時に画像を１８０゜回転する場合の処理を説明するためのフローチャートを示す。
【００５６】
図１６において、まず、メモリ１１から各ライン０〜ｎの先頭アドレスＬＩＮＥＡＤ（０〜垂直ブロック数＋１）をリードしてアドレス記録装置１２へ転送する（ステップＳ６１）。アドレス生成装置１３は、垂直カウンタＶＣＮＴに垂直ＢＬＯＣＫ数＋１の値をセットする（ステップＳ６２）。続いて、アドレス生成装置１３は、水平カウンタＨＣＮＴをクリアする（ステップＳ６３）。
【００５７】
そして、アドレス生成装置１３は、アドレスレジスタの値ＡＤＤＲＥＳＳ＝ＬＩＮＥＡＤ（ＶＣＮＴ）として、垂直カウンタＶＣＮＴの示すラインの先頭アドレスをアドレス生成装置１３のアドレスレジスタへセットする（ステップＳ６４）。符号切り出し装置１４は、メモリ１１から符号を、図１２に示す如く、指定されるＡＤＤＲＥＳＳからマイナス方向に固定長ビット（６４ビット）切り取る（ステップＳ６５）。そして、図１７に示すように、切り取られた固定長の符号の後ろに付加された符号長をリードし、実際の符号（ＨＵＦＦＭＡＮ  ＣＯＤＥ）を切り取る（ステップＳ６６）。エントロピー復号装置１５は、符号切り出し装置１４で切り取った可変長符号に対してエントロピー復号化を行う（ステップＳ６７）。この場合、符号化方向と同じ方向のであるので順次復号化する。
【００５８】
ＩＷＡＶＥＬＥＴ処理装置１６は、エントロピー復号装置１６で復号化したＷＡＶＥＬＥＴデータに対して、ＩＷＡＶＥＬＥＴ処理を行う（ステップＳ６８）。ＩＷＶＥＬＥＴ処理されたＮ×Ｎ（４×４）のブロックの画像を、Ｎ×Ｎバッファ１７に格納した後、ラインバッファ１８へ転送する（ステップＳ６９）。アドレス生成装置１３は、水平カウンタＨＣＮＴ＝ＨＣＮＴ＋１として、水平カウンタＨＣＮＴをカウントＵＰする（ステップＳ７０）。そして、アドレス生成装置１３はアドレスレジスタの値ＡＤＤＲＥＳＳ＝ＡＤＤＲＥＳＳ−符号長として、アドレスレジスタの値ＡＤＤＲＥＳＳを更新する（ステップＳ７１）。そして、アドレス生成装置１３は水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えているか否かを判定する（ステップＳ７２）。
【００５９】
水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えていない場合にはステップＳ６５に戻り、水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えるまで同じ処理を繰り返す。他方、水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えている場合には、アドレス生成装置１３は、垂直カウンタＶＣＮＴ＝ＶＣＮＴ−１として、垂直カウンタＶＣＮＴをカウントＤＯＷＮする（ステップＳ７３）。そして、アドレス生成装置１３は垂直カウンタＶＣＮＴが０を超えているか否かを判断する（ステップＳ７４）。垂直カウンタＶＣＮＴが０を超えていない場合にはステップＳ７３に戻り、垂直カウンタＶＣＮＴが０を超えるまで同じ処理を繰り返す。他方、垂直カウンタＶＣＮＴが０を超えている場合には当該フローを終了する。これにより、１８０゜回転した画像が得られる。
【００６０】
図１８はデコード時に画像を１８０゜回転させる場合における、メモリ１１からの読み出し順と、ラインバッファ１８への書き込み順を示している。同図の黒四角は読み出し方向および書き込み方向を示している。同図に示すように、デコード時に画像を１８０゜回転させる場合は、読み出し方向と書き込み方向が異なる。図９は、画像を１８０゜回転させる場合の具体例を示す。ここでは、画像全体を○1〜○16のブロックに分割している。同図（ａ）は回転前のブロックの配置を示し、同図（ｂ）は１８０゜回転後の配置を示す。回転画像を作るためのブロックの読み出しおよび書き込み順序は、上述の図１８のようになる。
【００６１】
図７の画像復号化装置が、デコード時に２７０゜回転する場合の処理を図１９を参照して説明する。図１９は図７の画像復号化装置がデコード時に２７０゜回転する場合の処理を説明するためのフローチャートを示す。
【００６２】
図１９において、メモリ１１から各ラインの先頭アドレスＬＩＮＥＡＤＤＲＥＳＳ（０〜垂直ブロック数＋１）をリードしてラインアドレス記録装置１２へ転送する（ステップＳ８１）。アドレス生成装置１３は、水平カウンタＨＣＮＴをクリアする（ステップＳ８２）。そして、垂直カウンタＶＣＮＴに「１」の値をセットする（ステップＳ８３）。アドレス生成装置１３は、アドレスレジスタの値ＡＤＤＲＥＳＳ＝ＬＩＮＥＡＤ（ＶＣＮＴ）として、垂直カウンタＶＣＮＴの示すラインの先頭アドレスをアドレス生成装置１３のアドレスレジスタへセットする（ステップＳ８４）。符号切り出し装置１４は、メモリ１１から符号を、図１２に示す如く、指定されるＡＤＤＲＥＳＳからマイナス方向に固定長ビット（６４ビット）切り取る（ステップＳ８５）。そして、図１７に示すように、切り取られた固定長の符号の後ろに付加された符号長をリードし、実際の符号（ＨＵＦＦＭＡＮ  ＣＯＤＥ）を切り取る（ステップＳ８６）。エントロピー復号装置１５は、符号切り出し装置１４で切り取った可変長符号に対して、エントロピー復号化を行う（ステップＳ８７）。この場合、符号化方向と同じ方向であるので順次復号化する。
【００６３】
ＩＷＡＶＥＬＥＴ処理装置１６は、エントロピー復号装置１５で復号化した
ＷＡＶＥＬＥＴデータに対してＩＷＡＶＥＬＥＴ処理を行う（ステップＳ８８）。ＩＷＡＶＥＬＥＴ処理装置１６でＩＷＡＶＥＬＥＴ処理されたＮ×Ｎ（４×４）のブロックの画像をＮ×Ｎバッファ１７に格納した後、ラインバッファ１８へ転送する（ステップＳ８９）。
【００６４】
アドレス生成装置１３は、先頭ラインアドレスＬＩＮＥＡＤ（ＶＣＮＴ）＝ＬＩＮＥＡＤ（ＶＣＮＴ）−符号長（回転用符号情報）として、垂直カウンタＶＣＮＴの示すラインの先頭アドレス値を更新する（ステップＳ９０）。そして、アドレス生成装置１３は、垂直カウンタＶＣＮＴ＝ＶＣＮＴ＋１として、垂直カウンタＶＣＮＴをカウントＵＰする（ステップＳ９１）。つづいて、アドレス生成装置１３は、垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えているか否かを判定する（ステップＳ９２）。垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えていない場合にはステップＳ８４に戻り、垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えるまで同じ処理を繰り返す。
【００６５】
他方、垂直カウンタＶＣＮＴが垂直方向のＢＬＯＣＫ数を超えている場合には、アドレス生成装置１３は、水平カウンタＨＣＮＴ＝ＨＣＮＴ＋１として、水平カウンタＨＣＮＴをカウントＵＰする（ステップＳ９３）。そして、アドレス生成装置１３は水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えているか否かを判定する（ステップＳ９４）。水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えていない場合にはステップＳ８３に戻り、水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えるまで同じ処理を繰り返す。他方、水平カウンタＨＣＮＴが水平方向のＢＬＯＣＫ数を超えている場合には当該フローを終了する。これにより、２７０゜回転した画像が得られる。
【００６６】
図２０はデコード時に画像を２７０゜回転させる場合における、メモリ１１からの読み出し順と、ラインバッファ１８への書き込み順を示している。同図の黒四角は読み出し方向および書き込み方向を示している。同図に示すように、デコード時に画像を２７０゜回転させる場合は、読み出し方向と書き込み方向が異なる。図１０は、画像を２７０゜回転させる場合の具体例を示す。ここでは、画像全体を○1〜○16のブロックに分割している。同図（ａ）は回転前のブロックの配置を示し、同図（ｂ）は２７０゜回転後の配置を示す。回転画像を生成するためのブロックの読み出しおよび書き込み順序は、上述の図２０のようになる。
【００６７】
上記画像復号化装置によれば、アドレス生成装置１４は、指定される回転角度に応じて、メモリ１１に記憶された先頭アドレスおよび回転用符号情報に基づいてメモリ１１の読み出しアドレスを算出し、符号切り出し装置１４は、読み出しアドレスに基づき、メモリ１１から可変長符号をプラス方向またはマイナス方向に読み出し、エントロピー復号装置１５は、可変長符号をエントロピー復号化し、ＩＷＡＶＥＬＥＴ処理装置１６は、エントロピー復号化された情報をＩＷＡＶＥＬＥＴ変換することとしたので、９０°，１８０°，および２７０°の回転処理を行う場合に、ラインの先頭および終点からブロック単位での可変長符号の読み出しが可能となり、画像を符号のまま９０°，１８０°，および２７０°の回転処理を行うことが可能となる。
【００６８】
上述の画像符号化・復号化方法（図６、図１１、図１４、図１６，および図１９参照）は、予め用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することにより実現しても良い。このプログラムは、ハードディスク、フロッピーディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読取可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、上記記録媒体を介して、また伝送媒体として、インターネット等のネットワークを介して配布することができる。
【００６９】
なお、上記した実施の形態では、画像符号化装置（図１参照）と画像復号化装置（図７参照）を別個に構成した例を示したが、図２１に示すように、メモリ１０を共通にして（メモリ８とメモリ１１を共通にする）、一体に構成し画像符号化・復号化装置を構築することにしても良い。図２１において、図１および図７と同等機能を有する部分は同一符号を付してある。
【００７０】
また、上記した実施の形態では、画像ブロックのサイズとして４×４を使用したが、本発明はこれに限られるものではなく、他のサイズとしても良い。本発明は、上記した実施の形態に限定されるものではなく、発明の要旨を変更しない範囲で適宜変形可能である。
【００７１】
【発明の効果】
以上説明したように、請求項１にかかる画像符号化装置によれば、分割手段は画像をＮ×Ｍのブロックに分割し、符号化手段はＮ×Ｍのブロックの画像を可変長符号化し、先頭アドレス算出手段は符号化手段で可変長符号化された可変長符号を記憶手段に記憶する際に、画像のライン単位に先頭アドレスを算出し、記憶手段は可変長符号および先頭アドレスを記憶することとしたので、デコード時に、回転処理（例えば、９０°，１８０°，および２７０°の回転）行う場合に、ラインの先頭および終点からの可変長符号の読み出しが可能となり、符号のまま回転処理を行うことが可能な画像符号化装置を提供することができるという効果を奏する。
【００７２】
請求項２にかかる画像符号化装置によれば、分割手段は画像をＮ×Ｍのブロックに分割し、符号化手段は記Ｎ×Ｍのブロックの画像を可変長符号化し、回転用符号情報付加手段は符号化手段で可変長符号化された可変長符号に当該可変長符号の符号長を示す回転用符号情報を付加し、先頭アドレス算出手段は回転用符号情報が付加された可変長符号を記憶手段に記憶する際に、画像のライン単位に先頭アドレスを算出し、記憶手段は回転用符号情報が付加された可変長符号および先頭アドレスを記憶することとしたので、デコード時に、回転処理（例えば、９０°，１８０°，および２７０°の回転）行う場合に、ラインの先頭および終点からブロック単位での可変長符号の読み出しが可能となり、符号のまま回転処理を行うことが可能な画像符号化装置を提供することができるという効果を奏する。
【００７３】
請求項３にかかる画像符号化・復号化装置によれば、分割手段は画像をＮ×Ｍのブロックに分割し、符号化手段はＮ×Ｍのブロックの画像を可変長符号化し、先頭アドレス算出手段は符号化手段で可変長符号化された可変長符号を記憶手段に記憶する際に、画像のライン単位に先頭アドレスを算出し、記憶手段は可変長符号および先頭アドレスを記憶し、読み出しアドレス読出手段は指定される回転角度に応じて、先頭アドレスに基づいて記憶手段の読み出しアドレスを算出し、読み出し手段は算出された読み出しアドレスに基づき、記憶手段から可変長符号をプラス方向またはマイナス方向に読み出し、復号化手段は読み出された可変長符号を復号化することとしたので、デコード時に回転処理（例えば、９０°，１８０°，および２７０°の回転）行う場合に、ラインの先頭および終点からの可変長符号の読み出しが可能となり、符号のまま回転処理を行うことが可能な画像符号化・復号化装置を提供することができるという効果を奏する。
【００７４】
請求項４にかかる画像符号化・復号化装置によれば、分割手段は画像をＮ×Ｍのブロックに分割し、符号化手段はＮ×Ｍのブロックの画像を可変長符号化し、回転用符号情報付加手段は符号化手段で可変長符号化された可変長符号に当該可変長符号の符号長を示す回転用符号情報を付加し、先頭アドレス算出手段は回転用符号情報が付加された可変長符号を記憶手段に記憶する際に、画像のライン単位に先頭アドレスを算出し、記憶手段は回転用符号情報が付加された可変長符号および前記先頭アドレスを記憶し、読み出しアドレス算出手段は指定される回転角度に応じて、前記先頭アドレスおよび前記回転用符号情報に基づいて前記記憶手段の読み出しアドレスを算出し、読み出し手段は算出された読み出しアドレスに基づき、記憶手段から可変長符号をプラス方向またはマイナス方向に読み出し、復号化手段は読み出された可変長符号を復号化することとしたので、デコード時に、回転処理（例えば、９０°，１８０°，および２７０°の回転）行う場合に、ラインの先頭および終点からブロック単位での可変長符号の読み出しが可能となり、符号のまま回転処理を行うことが可能な画像符号化・復号化装置を提供することができるという効果を奏する。
【００７５】
請求項５にかかる画像符号化・復号化方法によれば、画像をＮ×Ｍのブロックに分割し、Ｎ×Ｍのブロックの画像を可変長符号化し、可変長符号化された可変長符号を記憶手段に記憶する際に、画像のライン単位に先頭アドレスを算出し、可変長符号および先頭アドレスを記憶手段に記憶し、指定される回転角度に応じて、先頭アドレスに基づいて記憶手段の読み出しアドレスを算出し、算出された読み出しアドレスに基づき、記憶手段から可変長符号をプラス方向またはマイナス方向に読み出し、読み出された可変長符号を復号化することとしたので、デコード時に回転処理（例えば、９０°，１８０°，および２７０°の回転）行う場合に、ラインの先頭および終点から可変長符号の読み出しが可能となり、符号のまま回転処理を行うことが可能な画像符号化・復号化方法を提供することができるという効果を奏する。
【００７６】
請求項６にかかる画像符号化・復号化方法によれば、画像をＮ×Ｍのブロックに分割し、Ｎ×Ｍのブロックの画像を可変長符号化し、可変長符号化された可変長符号に当該可変長符号の符号長を示す回転用符号情報を付加し、回転用符号情報が付加された可変長符号を記憶手段に記憶する際に、画像のライン単位に先頭アドレスを算出し、回転用符号情報が付加された可変長符号および先頭アドレスを記憶し、指定される回転角度に応じて、先頭アドレスおよび回転用符号情報に基づいて記憶手段の読み出しアドレスを算出し、算出された読み出しアドレスに基づき、記憶手段から可変長符号をプラス方向またはマイナス方向に読み出し、読み出された可変長符号を復号化することとしたので、デコード時に、回転処理（例えば、９０°，１８０°，および２７０°の回転）行う場合に、ラインの先頭および終点からブロック単位での可変長符号の読み出しが可能となり、符号のまま回転処理を行うことが可能な画像符号化・復号化方法を提供することができるという効果を奏する。
【００７７】
請求項７にかかるコンピュータが読み取り可能な記録媒体によれば、請求項５または請求項６に記載の発明の各ステップをコンピュータに実行させるためのプログラムを記録したので、請求項５または請求項６の画像符号化・復号化方法をコンピュータによって実行できるという効果を奏する。
【図面の簡単な説明】
【図１】
本発明にかかる画像符号化装置の構成を示すブロック図である
【図２】
ＷＡＶＥＬＥＴ変換を説明するための説明図である。
【図３】
符号フォーマットの一例を示す図である。
【図４】
図１のメモリの構成例を示す図である。
【図５】
図１のラインアドレス記録装置が各ライン０〜ｎの先頭アドレスＬＩＮＥＡＤＤＲＥＳＳを記録する際のフォーマットの一例を示す図である。
【図６】
図１の画像符号化装置のＥＮＣＯＤＥ時の処理を説明するためのフローチャートである。
【図７】
本発明にかかる画像復号化装置の構成を示すブロック図である。
【図８】
デコード時に画像を９０゜回転させる場合の具体例を説明するための説明図である。
【図９】
デコード時に画像を１８０゜回転させる場合の具体例を説明するための説明図である。
【図１０】
デコード時に画像を２７０゜回転させる場合の具体例を説明するための説明図である。
【図１１】
図７の画像復号化装置が、デコード時に画像を回転させない場合（０゜回転）の処理を説明するためのフローチャートを示す。
【図１２】
メモリから可変長符号を読み出す際の読み出し方向を説明するための説明図である。
【図１３】
図７の画像復号化装置がデコード時に画像を回転させない場合（０゜回転）の処理を説明するためのフローチャートである。
【図１４】
図７の画像復号化装置が、デコード時に画像を９０゜回転させる場合の処理を説明するためのフローチャートを示す。
【図１５】
デコード時に画像を９０゜回転させる場合における、メモリからの読み出し順と、ラインバッファへの書き込み順を説明するための説明図である。
【図１６】
図７の画像復号化装置がデコード時に画像を１８０゜回転させる場合の処理を説明するためのフローチャートである。
【図１７】
符号切り取り装置が符号（ＨＵＦＦＭＡＮ  ＣＯＤＥ）を切り取る工程を説明するための説明図である。
【図１８】
デコード時に画像を１８０゜回転させる場合における、メモリからの読み出し順と、ラインバッファへの書き込み順を説明するための説明図である。
【図１９】
図７の画像復号化装置がデコード時に画像を２７０゜回転させる場合の処理を説明するためのフローチャートである。
【図２０】
デコード時に画像を２７０゜回転させる場合における、メモリからの読み出し順と、ラインバッファへの書き込み順を説明するための説明図である。
【図２１】
本発明にかかる画像符号化・復号化装置の構成を示すブロック図である。
【符号の説明】
１    ラインバッファ
２    Ｎ×Ｎバッファ
３    ＷＡＶＥＬＥＴ処理装置
４    エントロピー符号装置
５    回転用符号情報付加装置
６    アドレス生成装置
７    ラインアドレス記録装置
８    メモリ
１１  メモリ
１２  ラインアドレス記録装置
１３  アドレス生成装置
１４  符号切り出し装置
１５  エントロピー復号装置
１６  ＩＷＡＶＥＬＥＴ処理装置
１７  Ｎ×Ｎバッファ
１８  ラインバッファ