(57)【要約】【課題】画像圧縮におけるバッファのサイズに関する要求を緩和し、小容量のバッファを用いて高解像度の画像の圧縮処理を可能にする。【解決手段】制御部４は、バッファに格納されている複数の第１および第２の直流成分値を、次回の処理サイクルで利用すべき値については引き続き保持し、利用すべき値以外の値については、処理部２によって生成された新たな値に更新するように、バッファ３を制御する。これにより、バッファ３に保持されている中間値のうち、隣接した処理サイクル間で利用可能な値については更新することなく流用し、新たな計算が必要な値のみ更新を行う。【選択図】図１
2006157519.tif 000002
【特許請求の範囲】
【請求項１】
１フレームの画像を分割することによって得られる複数の画素ブロックのそれぞれを所定の処理サイクル毎に順次シフトさせながら、画像データの圧縮を画素ブロック単位で行う画像処理装置において、
前記画像データが格納されているフレームメモリと、
前記フレームメモリより読み出された前記画素データに基づき、今回の処理サイクルで圧縮対象となる画素ブロックと、前記圧縮対象となる画素ブロックの周辺に位置する複数の画素ブロックとに関する複数の第１の直流成分値を算出し、前記圧縮対象となる画素ブロックを分割することによって得られる複数のサブ画素ブロックと、前記複数のサブ画素ブロックのそれぞれの周辺に位置する複数のサブ画素ブロックとに関する複数の第２の直流成分値を算出するとともに、前記複数の第１の直流成分値と前記複数の第２の直流成分値とを少なくとも用いて、前記圧縮対象となる画素ブロックの圧縮処理を処理サイクル毎に行う処理部と、
前記処理部によって算出された前記複数の第１の直流成分値と、前記複数の第２の直流成分値とを少なくとも保持するバッファと、
前記複数の第１の直流成分値および前記複数の第２の直流成分値のうち、次回の処理サイクルで利用すべき値については、次回の処理サイクルにおいても引き続き保持するように、かつ、前記利用すべき値以外の値については、次回の処理サイクルにおいて更新するように、前記バッファを制御する制御部と
を有することを特徴とする画像処理装置。
【請求項２】
前記処理部は、前記複数の第１の直流成分値に基づき、複数のサブ画素ブロックにおける交流成分値を予測し、前記複数のサブ画素ブロックの交流成分値と、前記複数の第２の直流成分値とのそれぞれの差である複数の第１の差分値に対してアダマール変換と量子化とを行うとともに、当該アダマール変換と量子化とを行うことによって得られた値に対して、逆量子化と逆アダマール変換とを行うことによって、複数の第２の差分値を生成することを特徴とする請求項１に記載された画像処理装置。
【請求項３】
前記バッファは、前記複数の第２の差分値と、前記複数のサブ画素ブロックの交流成分値とをそれぞれ加算することによって得られる複数の第３の直流成分値を保持することを特徴とする請求項１または２に記載された画像処理装置。
【請求項４】
前記制御部は、前記複数の第３の直流成分値のうち、次回の処理サイクルで利用すべき値については、次回の処理サイクルにおいても、引き続き保持するように、かつ、前記利用すべき値以外の値については次回の処理サイクルにおいて新たな値に更新するように、前記バッファを制御することを特徴とする請求項１から３のいずれかに記載された画像処理装置。
【請求項５】
１フレームの画像データが格納されているフレームメモリと、画像データの圧縮過程において算出される値を一時的に保持するバッファとを有し、前記フレームメモリより読み出された画素データに基づき、１フレームの画像を分割することによって得られる複数の画素ブロックのそれぞれを所定の処理サイクル毎に順次シフトさせながら、画像データの圧縮を画素ブロック単位で行う画像処理方法において、
今回の処理サイクルにおいて、圧縮対象となる画素ブロックと、前記圧縮対象となる画素ブロックの周辺に位置する複数の画素ブロックとに関する複数の第１の直流成分値のうち、従前の処理サイクルで算出され、今回の処理サイクルでも利用する値については、前記バッファに格納されている値を更新することなく、当該格納されている値を第１の直流成分値として用いるとともに、前記利用すべき値以外の値については、前記フレームメモリより読み出された前記画素データに基づき算出された第１の直流成分値に、前記バッファに格納されている値を更新する第１のステップと、
前記圧縮対象となる画素ブロックを分割することによって得られる複数のサブ画素ブロックと、前記複数のサブ画素ブロックのそれぞれの周辺に位置する前記複数のサブ画素ブロックとに関する複数の第２の直流成分値のうち、従前の処理サイクルで算出され、今回の処理サイクルでも利用する値については、前記バッファに格納されている値を更新することなく、当該格納されている値を前記第２の直流成分値として用いるとともに、前記利用すべき値以外の値については、前記格納されている値を前記フレームメモリより読み出された前記画素データに基づき算出された第２の直流成分値に更新する第２のステップと、
前記バッファに保持されている前記複数の第１の直流成分値と前記複数の第２の直流成分値とを少なくとも用いて、前記圧縮対象となる画素ブロックの圧縮処理を行う第３のステップと
を有することを特徴とする画像処理方法。
【請求項６】
前記複数の第１の直流成分値に基づき、複数のサブ画素ブロックの交流成分値を予測し、前記複数のサブ画素ブロックの交流成分値と前記複数の第２の直流成分値とのそれぞれの差である複数の第１の差分値に対してアダマール変換と量子化とを行うとともに、当該アダマール変換と量子化とを行うことによって得られた値に対して逆量子化と逆アダマール変換とを行うことによって、複数の第２の差分値を生成する第４のステップをさらに有し、
前記第３のステップは、前記複数の第２の差分値を用いて、前記圧縮対象となる画素ブロックの圧縮処理を行うことを特徴とする請求項５に記載された画像処理方法。
【請求項７】
前記複数の第２の差分値と、前記複数のサブ画素ブロックの交流成分値とをそれぞれ加算することによって得られる複数の第３の直流成分値のうち、従前の処理サイクルで算出され、今回の処理サイクルでも利用する値については、前記バッファに格納されている値を更新することなく、当該格納されている値を前記複数の第３の直流成分値として用いるとともに、前記利用すべき値以外の値については、前記格納されている値を前記フレームメモリより読み出された前記画素データに基づき算出された前記第３の直流成分値に更新する第５のステップをさらに有することを特徴とする請求項６に記載された画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法に係り、特に、画像データの圧縮過程において算出される値を一時的に保持するバッファの更新制御に関する。
【背景技術】
【０００２】
例えば、特許文献１には、対象ブロック周辺の画素値から、対象ブロック内の画素値を予測する交流成分予測法、および、アダマール変換を用いることによって、ＪＥＰＧ以上の圧縮効率や画質を実現する画像処理について開示されている。また、特許文献２には、特許文献１に開示された処理手法に加えて、ローパスフィルタ処理を施すことによって、画素ブロック間における急激な空間周波数の変化を低減させてブロックノイズの低減を図る点について開示されている。
【０００３】
【特許文献１】特開２００３−３４８３５６号公報
【特許文献２】特開２００４−１３５２５４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した特許文献１，２には、画像データの圧縮過程において算出される値を一時的に保持するバッファの更新制御に関して具体的には言及されていない。ここで、１フレームの画像の圧縮過程で算出される値のすべてをバッファ内に保持するケースについて考える。１フレームの画像をＭ個の画素ブロックに分割し、画素ブロック単位で画像圧縮を行う場合、１画素ブロック当たりＮ個の値が算出されるとすると、１フレーム全体でＭ×Ｎ個の値が算出される。この場合、少なくともＭ×Ｎ個の値を保持できるサイズ（容量）がバッファに要求される。バッファのサイズは、圧縮対象となる画像の解像度が高くなるほど増大する。また、バッファのサイズを制限すると（小容量のバッファを用いると）、高解像度の画像に対応できないという問題が生じる。
【０００５】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、画像圧縮におけるバッファのサイズに関する要求を緩和し、バッファが小容量であっても、高解像度の画像の圧縮処理を可能にすることである。
【０００６】
また、本発明の別の目的は、画像圧縮における演算負荷の軽減を図り、処理速度を向上させることである。
【課題を解決するための手段】
【０００７】
かかる課題を解決するために、第１の発明は、１フレームの画像を分割することによって得られる複数の画素ブロックのそれぞれを所定の処理サイクル毎に順次シフトさせながら、画像データの圧縮を画素ブロック単位で行う画像処理装置に関する。この画像処理装置は、画像データが格納されているフレームメモリと、圧縮処理を行う処理部と、画像データの圧縮過程において算出される値を一時的に保持するバッファと、バッファを制御する制御部とを有する。処理部は、フレームメモリより読み出された画素データに基づき、今回の処理サイクルで圧縮対象となる画素ブロックと、圧縮対象となる画素ブロックの周辺に位置する複数の画素ブロックとに関する複数の第１の直流成分値を算出する。処理部は、圧縮対象となる画素ブロックを分割することによって得られる複数のサブ画素ブロックと、複数のサブ画素ブロックのそれぞれの周辺に位置する複数のサブ画素ブロックとに関する複数の第２の直流成分値を算出する。処理部は、複数の第１の直流成分値と複数の第２の直流成分値とを少なくとも用いて、圧縮対象となる画素ブロックの圧縮処理を処理サイクル毎に行う。バッファは、処理部によって算出された複数の第１の直流成分値と、複数の第２の直流成分値とを少なくとも保持する。制御部は、複数の第１の直流成分値および第２の直流成分値のうち、次回の処理サイクルで利用すべき値については、次回の処理サイクルにおいても引き続き保持するように、バッファを制御する。また、制御部は、利用すべき値以外の値については、次回の処理サイクルにおいて更新するように、バッファを制御する。
【０００８】
ここで、第１の発明において、処理部は複数の第１の直流成分値に基づき、複数のサブ画素ブロックの交流成分値を予測し、複数のサブ画素ブロックの交流成分値と複数の第２の直流成分値とのそれぞれの差である複数の第１の差分値に対してアダマール変換と量子化とを行ってもよい。この場合、処理部は、アダマール変換と量子化とによって得られた値に対して、逆量子化と逆アダマール変換とを行うことによって、複数の第２の差分値を算出する。
【０００９】
また、第１の発明において、バッファは、複数の第２の差分値と、複数の第２の交流成分値とをそれぞれ加算することによって得られる複数の第３の直流成分値を保持してもよい。この場合、制御部は、複数の第３の直流成分値のうち、次回の処理サイクルで利用すべき値については、次回の処理サイクルにおいても引き続き保持するようにバッファを制御してもよい。それとともに、制御部は、利用すべき値以外の値については次回の処理サイクルにおいて、新たな値に更新するように、バッファを制御してもよい。
【００１０】
第２の発明は、１フレームの画像データが格納されているフレームメモリと、画像データの圧縮過程において算出される値を一時的に保持するバッファとを有し、フレームメモリより読み出された画像データに基づき、１フレームの画像を分割することによって得られる複数の画素ブロックのそれぞれを所定の処理サイクル毎に順次シフトさせながら、画像データの圧縮を画素ブロック単位で行う画像処理方法を提供する。この処理方法は、以下の３つのステップを有する。第１のステップでは、今回の処理サイクルにおいて圧縮対象となる画素ブロックと、圧縮対象となる画素ブロックの周辺に位置する複数の画素ブロックとに関する複数の第１の直流成分値のうち、従前の処理サイクルで算出され、今回の処理サイクルでも利用する値については、バッファに格納されている値を更新することなく、この値が第１の直流成分値として用いられる。また、上記複数の第１の直流成分値のうち、上記利用すべき値以外の値については、バッファに格納されている値がフレームメモリより読み出された画素データに基づき算出された第１の直流成分値に更新される。第２のステップでは、圧縮対象となる画素ブロックを分割することによって得られる複数のサブ画素ブロックと、複数のサブ画素ブロックのそれぞれの周辺に位置する複数のサブ画素ブロックとに関する複数の第２の直流成分値のうち、従前の処理サイクルで算出され、今回の処理サイクルでも利用する値については、バッファに格納されている値を更新することなく、バッファに格納されている値が第２の直流成分値として用いられる。また、上記複数の第２の直流成分値のうち、上記利用すべき値以外の値については、バッファに格納されている値がフレームメモリより読み出された画素データに基づき算出された第２の直流成分値に更新される。第３のステップでは、バッファに保持されている複数の第１の直流成分値と複数の第２の直流成分値とを少なくとも用いて、圧縮対象となる画素ブロックの圧縮処理が行われる。
【００１１】
ここで、第２の発明において、複数の第１の直流成分値に基づき、複数のサブ画素ブロックの交流成分値を予測し、複数のサブ画素ブロックの交流成分値と第２の直流成分値とのそれぞれの差である複数の第１の差分値に対してアダマール変換と量子化とを行うとともに、アダマール変換と量子化とを行うことによって得られた値に対して逆量子化と逆アダマール変換とを行うことによって、複数の第２の差分値を生成する第４のステップをさらに有していてもよい。この場合、第３のステップでは、複数の第２の差分値を用いて、圧縮対象となる画素ブロックの圧縮処理が行われる。
【００１２】
また、第２の発明において、さらに第５のステップを設けてもよい。第５のステップでは、複数の第２の差分値と、複数の第２の直流成分値とを加算することによって得られる複数の第３の直流成分値のうち、従前の処理サイクルで算出され、今回の処理サイクルでも利用する値については、バッファに格納されている値を更新することなく、バッファに格納されている値が複数の第３の直流成分値として用いられる。また、上記利用すべき値以外の値については、バッファに格納されている値がフレームメモリより読み出された画素データに基づき算出された第３の直流成分値に更新される。
【発明の効果】
【００１３】
本発明では、処理サイクルの移行にともない、バッファに格納されている値のうち、次回の処理サイクルでも流用できる値については更新を行うことなく引き続き保持し、それ以外の値については更新を行う。このような流用と更新とを繰り返すことで、１フレームの画像の圧縮過程で算出されるすべての値をバッファ内に保持する必要がないので、バッファのサイズに関する要求が緩和される。それとともに、バッファが小容量であっても、高解像度の画像の圧縮処理が可能となる。
【００１４】
また本発明では、次回の処理サイクルでも流用できる値については、引き続き保持し、これを流用している。これにより、処理サイクル間における重複した演算を回避できる。その結果、画像圧縮における演算負荷の軽減を図ることができ、処理速度を向上させることが可能となる。
【発明を実施するための最良の形態】
【００１５】
図１は、本実施形態に係る画像処理装置の構成図である。この画像処理装置は、フレームメモリ１と、処理部２と、バッファ３と、制御部４とで構成される。フレームメモリ１には、少なくとも１フレームの画像データが格納されている。処理部２は、第１の直流成分生成部２ａと、第２の直流成分生成部２ｂと、第１の交流成分予測部２ｃと、第１のアダマール変換部２ｄと、第２の交流成分予測部２ｅと、第２のアダマール変換部２ｆと、加算器２ｈ，２ｊと、減算器２ｇ，２ｉとから構成されており、これらが協働することによって、画像データの圧縮における一連の処理が実行される。バッファ３は、画像データの圧縮過程において算出される値を一時的に保持する複数のバッファ領域３ａ〜３ｃを有する。それぞれのバッファ領域３ａ〜３ｃは、例えば、第１の直流成分値は第１のバッファ領域３ａ、第２の直流成分値は第２のバッファ領域３ｂといったように、一時的に保持される値の種類に応じて、便宜上、保持する領域が区分されている。バッファ３は、１画素ブロックの処理において保持すべき値の個数分の容量を少なくとも有していれば足り、大容量のものを用いる必要はない。
【００１６】
バッファ３に格納・保持する値としては、以下の３種類が挙げられる。第１のバッファ領域３ａには、第１の直流成分生成部２ａによって算出された第１の直流成分値（以下「第１のＤＣ値」という）が格納される。第２のバッファ領域３ｂには、第２の直流成分生成部２ｂによって算出された第２の直流成分値（以下「第２のＤＣ値」という）が格納される。第３のバッファ領域３ｃには、加算器２ｈの出力値、すなわち、第１の直流成分予測部２ｃによって算出された第１の交流成分値（以下「第１のＡＣ値」という）と、上記第１のＡＣ差分値とを加算することによって得られる中間値（以下「ＭＩＤ値」という）が格納される。また、制御部４は、フレームメモリ１、処理部２およびバッファ３を制御するとともに、これらのユニット１〜３間におけるデータ転送も制御する。
【００１７】
１フレームの画像データの圧縮は、処理対象となる画素ブロックを処理サイクル単位で順次シフトさせながら、画素ブロック単位で行われる。画素ブロックは、単一の画像平面を所定のサイズ毎に行列状に分割することによって定義される。ある処理サイクルにおいて、ある画素ブロックの処理が終了すると、次回の処理サイクルでは、これと横方向（例えば右方向）に隣接した画素ブロックの処理が開始される。一行分の画素ブロックの処理が終了すると、その直下に位置する行の画素ブロックの処理が開始される。そして、１フレームの画像を構成する全画素ブロックの処理の終了にともない、一連の画像圧縮処理が完了する。
【００１８】
つぎに、本実施形態に係る圧縮処理と、それに伴うバッファ３の制御とについて詳述する。図２は、画素ブロックおよびサブ画素ブロックの説明図である。同図（ａ）で示すように、画素ブロックは、一例として、点線で区切られた４×４画素サイズの領域として定義される。同図（ｂ）に示すように、第１の直流成分生成部２ａは、それぞれの画素ブロックに関する第１のＤＣ値Ｓを算出する。第１のＤＣ値Ｓは、画素ブロックにおける平均輝度値（または「平均画素値」とも呼ぶ）である。また、同図（ｃ）で示すように、サブ画素ブロックは、上述した画素ブロックよりも小さな領域、すなわち、一例として、画素ブロック内を分割した２×２画素サイズの領域として定義される。第２の直流成分生成部２ｂは、それぞれのサブ画素ブロックに関する第２のＤＣ値ｓを算出する。第２のＤＣ値ｓは、サブ画素ブロックにおける平均輝度値である。
【００１９】
図３は、第１のバッファ領域３ａに格納される第１のＤＣ値の説明図である。同図において、斜線でハッチングされた中央領域は、ある処理サイクルにて圧縮対象となる画素ブロック（以下「対象ブロック」という）を示している（後述する図面についても同様）。第１の直流成分生成部２ａは、ある対象ブロックについて１３個の第１のＤＣ値、すなわち、対象ブロック自体の１値、対象ブロックに対する上下左右それぞれ２画素ブロック分の８値、および対象ブロックに対する斜め１画素ブロック分（左斜め上、右斜め上、左斜め下、および右斜め下）の４値を算出する。対象ブロックおよびその周辺に関して算出されたこれらの第１のＤＣ値は、対象ブロックを圧縮するための参照ブロックとしてバッファ３に転送され、第１のバッファ領域３ａに格納・保持される。このとき、第１のＤＣ値のうち、対象ブロック自身の１値については、対象ブロックに対応する領域の画像復元時に必要な情報であるため、量子化とエントロピー符号化とが施され、バッファ３とは別の所定記憶媒体に格納される。
【００２０】
図４は、第２のバッファ領域３ｂに格納される第２のＤＣ値の説明図である。第２の直流成分生成部２ｂは、対象ブロックを中心とする１２個の第２のＤＣ値、すなわち対象ブロックに含まれる４個のサブ画素ブロックの４値、および対象ブロックに対する上下左右それぞれ１サブ画素ブロック分の８値を算出する（一方向に２つのサブ画素ブロックが隣接している点に留意されたい）。対象ブロックおよびその周辺に関して算出されたこれらの第２のＤＣ値は、対象ブロックを圧縮するための参照ブロックとしてバッファ３に転送され、第２のバッファ領域３ｂに格納・保持される。
【００２１】
つぎに、第１の交流成分予測部２ｃは、第１のバッファ領域３ａより読み出された第１のＤＣ値に基づいて、図４に示した各サブ画素ブロックに対応する第１のＡＣ値を算出する。ここで算出される第１のＡＣ値は、後述する第２のＤＣ値（１２値）との減算を行うため、第２のＤＣ値と同一の位置および領域における１２値を指す。
【００２２】
図５は、第１の交流成分予測部２ｃの実行前の説明図である。第１のＤＣ値は制御部４の制御下において、第１のバッファ領域３ａから第１の交流成分予測部２ｃへデータ転送され、第１の交流成分予測部２ｃは、これらの第１のＤＣ値に基づいて交流成分予測を行う。この交流成分予測は、対象ブロック周辺のサブ画素ブロックの予測輝度値（第１のＡＣ値）を、対象ブロックの上下左右に隣接する画素ブロックの平均輝度値に基づいて算出するものである。同図に示すとおり、第１の交流成分予測部２ｃが第１のＡＣ値を求めるために、対象ブロックの第１のＤＣ値と、その上下左右にそれぞれ隣接する画素ブロックの第１のＤＣ値とが参照される。ここで、中央の画素ブロックの直流成分をＳ(i,j)とし、このブロックの上に隣接する画素ブロックの直流成分をＳ(i,i+1)、同様に下の直流成分をＳ(i,j-1)、左の直流成分をＳ(i-1,j)、および右の直流成分をＳ(i+1,j)とする。
【００２３】
図６は、第１の交流成分予測部２ｃの実行後の説明図である。あるサブ画素ブロックにおける第１のＡＣ値は、サブ画素ブロックに隣接する２つの画素ブロックの平均輝度値（２値）を加算した値から、このサブ画素ブロックに隣接しておらずこのサブ画素ブロックを含む画素ブロックに隣接している２つの画素ブロックの平均輝度値（２値）を減算した値を所定の数値で除算し、このサブ画素ブロックを含む画素ブロックの平均輝度値（１値）を加算したものである。具体的には、同図に示すとおり、画素ブロックＳ(i,j)をサブ画素ブロックに分割し、左斜め上の領域におけるＡＣ値をＸ(k,l)、右斜め上をＸ(k+1,l)、左斜め下をＸ(k,l-1)、および右斜め下をＸ(k+1,l-1)とすると、それぞれの第１のＡＣ値（４値）は以下の式より算出される。
Ｘ(k,l)＝Ｓ(i,j)＋（Ｓ(i,i+1)＋Ｓ(i-1,j)−Ｓ(i,j-1)−Ｓ(i+1,j)）／８
Ｘ(k+1,l)＝Ｓ(i,j)＋（Ｓ(i,i+1)＋Ｓ(i+1,j)−Ｓ(i,j-1)−Ｓ(i-1,j)）／８
Ｘ(k,l-1)＝Ｓ(i,j)＋（Ｓ(i,j-1)＋Ｓ(i-1,j)−Ｓ(i,i+1)−Ｓ(i+1,j)）／８
Ｘ(k+1,l-1)＝Ｓ(i,j)＋（Ｓ(i,j-1)＋Ｓ(i+1,j)−Ｓ(i,i+1)−Ｓ(i-1,j)）／８
【００２４】
なお、圧縮対象のサブ画素ブロックが画像平面の端部に位置する場合には、上記の計算において、参照すべき周辺のサブ画素ブロックに第１のＤＣ値が存在しないものがある（"null"である）。この場合、第１の交流成分予測部２ｃは、第１のＤＣ値がない画素ブロックに、算出対象の画素ブロックと同値の第１のＤＣ値を代入した上で上記の計算を行う。
【００２５】
また、上記の計算において、前述した位置情報が同一である第２のＤＣ値との差分を算出すべく、参照ブロックをシフトさせながら、第１のＡＣ値（１２値）が算出される。これらの第１のＡＣ値は、図４に示すとおり、中央の対象ブロックにおける４つのサブ画素ブロックに関する４値と、対象ブロックに隣接する上下左右のサブ画素ブロックそれぞれ２つ分の８値とを含めて、合計１２値となる。対象ブロックに隣接しないサブ画素ブロック（次回の処理サイクルにて第２のＤＣ値との減算を行わない）に関しては、第１のＡＣ値が算出されない。
【００２６】
そして、第１の減算器２ｇによって、互いに位置的に対応した第２のＤＣ値と第１のＡＣ値との差が算出される。具体的には、第１の減算器２ｇは、第２のＤＣ値（１２値）のそれぞれの位置情報と、第２のＤＣ値（１２値）のそれぞれの位置情報とに基づき、同位置に存在する第２のＤＣ値と第１のＡＣ値との差をそれぞれ個別に算出する。これによって、１２値の第１のＡＣ差分値（変換処理前）が算出される。
【００２７】
つぎに、第１のアダマール変換部２ｄは、第１の減算器２ｇより出力された変換処理前の第１のＡＣ差分値（１２値）に対して、アダマール変換と量子化とを行い、第１のアダマール係数を算出する。また、第１のアダマール変換部２ｄは、この第１のアダマール係数（変換処理後の第１のＡＣ差分値）に対して、逆量子化と逆アダマール変換とを行い、第１のＡＣ差分値の復元を行う。この復元後の第１のＡＣ差分値は、加算器２ｈに出力される。
【００２８】
ここで行われるアダマール変換によって、第１のＡＣ差分値に基づいた３個の第１のアダマール係数が算出される。第１のアダマール変換部２ｄは、対象ブロック内における４個のサブ画素ブロックの内、ある１個のサブ画素ブロックのＡＣ差分値と、もう１個のサブ画素ブロックのＡＣ差分値とを加算し、残りの２個のサブ画素ブロックのＡＣ差分値をそれぞれ減算する。ここでは、図７に示すとおり、１処理サイクルにおける対象ブロック内の各斜め（左斜め上、右斜め上、左斜め下、および右斜め下）のサブ画素ブロックを第１のＡＣ差分値（４値）として、それぞれ、Ｔ(k,l)、Ｔ(k+1,l)、Ｔ(k,l-1)およびＴ(k+1,l-1)とする。このとき、アダマール変換によって生成される第１のアダマール係数をＣ0、Ｃ1およびＣ2とすると、それぞれは以下の式から算出される。
Ｃ0＝Ｔ(k,l)＋Ｔ(k+1,l)−Ｔ(k,l-1)−Ｔ(k+1,l-1)
Ｃ1＝Ｔ(k,l)−Ｔ(k+1,l)＋Ｔ(k,l-1)−Ｔ(k+1,l-1)
Ｃ2＝Ｔ(k,l)−Ｔ(k+1,l)−Ｔ(k,l-1)＋Ｔ(k+1,l-1)
【００２９】
第１のアダマール変換部２ｄは、この量子化された第１のアダマール係数に基づき、逆量子化と逆アダマール変換とを行うことで、新たな第１のＡＣ差分値を復元する。復元された第１のＡＣ差分値は、第１の交流成分予測部２ｃで生成された第１のＡＣ値に加算され、サブ画素ブロックの中間値（ＭＩＤ値）が生成される。このとき、第１のアダマール係数（３値）については、このサブ画素ブロックに対応する領域の画像復元時に必要な情報であるため、量子化とエントロピー符号化とが施され、バッファ３とは別に所定の記憶媒体に格納される。なお、ここで算出された第１のアダマール係数は、第１のＡＣ差分値（１２値）のうち、対象ブロック内のサブ画素ブロック４値に関する係数である。したがって、その他の対象ブロックに関するアダマール係数は、別の処理サイクルにて算出される。
【００３０】
第１のアダマール変換部２ｄにて行われる逆アダマール変換は、量子化によって画質的に劣化した３個の第１のアダマール係数から、新たな第１のＡＣ差分値（４値）を生成する。第１のアダマール変換部２ｄは、先に算出された第１のアダマール係数（３値）と、上述の式の逆算とに基づいて、新たな第１のＡＣ差分値（４値）の復元を行う。このとき、画質的に劣化した第１のアダマール係数をＣ0'、Ｃ1'、Ｃ2'とし、図８に示すとおり、逆アダマール変換によって生成される画素ブロック内の各斜め（左斜め上、右斜め上、左斜め下、および右斜め下）のサブ画素ブロックを新たな第１のＡＣ差分値（４値）として、Ｕ(k,l)、Ｕ(k+1,l)、Ｕ(k,l-1)およびＵ(k+1,l-1)とすると、それぞれは以下の式より算出される。
Ｕ(k,l)＝Ｃ0'＋Ｃ1'＋Ｃ2'
Ｕ(k+1,l)＝Ｃ0'−Ｃ1'−Ｃ2'
Ｕ(k,l-1)＝−Ｃ0'＋Ｃ1'−Ｃ2'
Ｕ(k+1,l-1)＝−Ｃ0'−Ｃ1'＋Ｃ2'
【００３１】
そして、第１の加算器２ｈは、それぞれの第１のＡＣ値と、それぞれの第１のＡＣ差分値とを位置的に対応させながら加算する。具体的には、第１の加算器２ｈは、第１のＡＣ値（１２値）のそれぞれの位置情報と、第１のＡＣ差分値（１２値）のそれぞれの位置情報とに基づき、同位置に存在している第１のＡＣ値と、第１のＡＣ差分値とをそれぞれ個別に加算する。これによって、対象ブロックにおけるＭＩＤ値（１２値）が算出される。これらのＭＩＤ値は、第３のバッファ領域３ｃに格納される。
【００３２】
つぎに、このＭＩＤ値のサブ画素ブロックを対象にした交流成分予測およびアダマール変換を行うことによって、圧縮画像データと、第２のＡＣ差分値とが算出される。具体的には、先に算出されたＭＩＤ値を用いて、交流成分予測およびアダマール変換が行われ、このアダマール変換により算出された第２のアダマール係数から第２のＡＣ差分値と圧縮画像データとが出力される。ＭＩＤ値を用いた後述の処理は、必要なサブ画素ブロック（対象ブロックに含まれる４個のサブブロックのＭＩＤ値（４値）と、および対象ブロックに対する上下左右それぞれ１画素ブロック分のＭＩＤ値（８値）との計１２個のＭＩＤ値の算出が完了次第行われる。算出が完了する前では、上述の第１の交流成分予測部２ｃ、第１アダマール変換部２ｄ、減算器２ｇおよび加算器２ｈでの処理が繰り返される。
【００３３】
図９は、第２の交流成分予測部２ｅの実行前の説明図である。ＭＩＤ値は制御部４の制御下において、第３のバッファ領域３ｃから第２の交流成分予測部２ｅへデータ転送される。第２の交流成分予測部２ｅは、これらのＭＩＤ値に対して交流成分予測を行う。ここで、同図に示すとおり、中央の対象サブ画素ブロックの直流成分をｓ(k,l)とし、この対象サブ画素ブロックの上に隣接するサブ画素ブロックの直流成分をｓ(k,l+1)、同様に下の直流成分をｓ(k,l-1)、左の直流成分をｓ(k-1,l)、および右の直流成分をｓ(k+l,l)とする。この交流成分予測は、対象サブ画素ブロック内の各画素の予測輝度値（第２のＡＣ値）を、この対象ブロックの上下左右に隣接する画素ブロックの平均輝度値に基づいて算出するものである。
【００３４】
図１０は、第２の交流成分予測部２ｅの実行後の説明図である。ある画素における第２のＡＣ値は、該画素に隣接する２つのサブ画素ブロックの平均輝度値（２値）を加算した値から、該画素に隣接しておらず、かつ該画素を含んだサブ画素ブロックに隣接している２つのサブ画素ブロックの平均輝度値（２値）を減算した値を除算し、最後に該画素を含んだサブ画素ブロックの平均輝度値（１値）を加算したものである。同図に示すとおり、サブ画素ブロックｓ(k,l)を画素に分割し、左斜め上の領域におけるＡＣ値をｘ(m,n)、右斜め上をｘ(m+1,n)1、左斜め下をｘ(m,n-1)、および右斜め下をｘ(m+1,n-1)とすると、第２の交流成分予測部２ｅは、それぞれの第１のＡＣ値（４値）を以下の式より算出する。
ｘ(m,n)＝ｓ(k,l)＋（ｓ(k,l+1)＋ｓ(k-1,l)−ｓ(k,l-1)−ｓ(k+l,l)）／８
ｘ(m+1,n)＝ｓ(k,l)＋（ｓ(k,l+1)＋ｓ(k+l,l)−ｓ(k,l-1)−ｓ(k-1,l)）／８
ｘ(m,n-1)＝ｓ(k,l)＋（ｓ(k,l-1)＋ｓ(k-1,l)−ｓ(k,l+1)−ｓ(k+l,l)）／８
ｘ(m+1,n-1)＝ｓ(k,l)＋（ｓ(k,l-1)＋ｓ(k+l,l)−ｓ(k,l+1)−ｓ(k-1,l)）／８
【００３５】
なお、第１の交流成分予測部２ｃで行った計算と同様に、圧縮対象のサブ画素ブロックが画像データの端部に位置する場合には、上記の計算において、参照すべき周辺のサブ画素ブロックに第２のＤＣ値が存在しないものがある（"null"である）。その場合、第２の交流成分予測部２ｅは、第２のＤＣ値がない画素ブロックに、算出対象の画素ブロックと同値の第２のＤＣ値を代入して上記の計算を行う。
【００３６】
第２の交流成分予測部２ｅは、第２のＡＣ値として、図１１に示すように、対象ブロックに含まれる４つのサブ画素ブロックのそれぞれに関して、第２のＡＣ値を算出する。あるサブ画素ブロックに関する第２のＡＣ値は、このサブ画素ブロックに含まれる画素の値（４値）に相当する。
【００３７】
そして、第２の減算器２ｉによって、互いに位置的に対応した第２のＡＣ値と原画像データの輝度値との差が算出される。具体的には、第２の減算器２ｉは、第２のＡＣ値（１６値）のそれぞれの位置情報と、原画像データの輝度値（１６値）のそれぞれの位置情報とに基づき、同位置に存在する第２のＡＣ値と原画像データとの差をそれぞれ個別に算出する。これによって、第２のＡＣ差分値（１６値）が算出される。
【００３８】
つぎに、第２のアダマール変換部２ｆにより、第２のＡＣ差分値に対して、アダマール変換と量子化とが行われる。さらに、第２のアダマール変換部２ｆは、この量子化された第２のＡＣ差分値に対して、逆量子化と逆アダマール変換とを行い、第２のＡＣ差分値の復元を行う。
【００３９】
第２のアダマール変換部２ｆが行うアダマール変換によって、第２のＡＣ差分値に基づいた１２個の第２のアダマール係数が算出される。第２のアダマール変換部２ｆは、対象サブ画素ブロック内における４個の画素において、ある１画素のＡＣ差分値と、さらにもう１画素のＡＣ差分値とを加算し、残りの２画素のＡＣ差分値をそれぞれ減算する。ここでは、図１２に示すとおり、１処理サイクルにおける対象ブロック内の各斜め（左斜め上、右斜め上、左斜め下、および右斜め下）のサブ画素ブロックを第１のＡＣ差分値（４値）としてそれぞれ、ｔ(m,n)、ｔ(m+1,n)、ｔ(m,n-1)およびｔ(m+1,n-1)とする。このとき、アダマール変換によって生成される第２のアダマール係数をｃ0、ｃ1およびｃ2とすると、それぞれは以下の式で算出される。
ｃ0＝ｔ(m,n)＋ｔ(m+1,n)−ｔ(m,n-1)−ｔ(m+1,n-1)
ｃ1＝ｔ(m,n)−ｔ(m+1,n)＋ｔ(m,n-1)−ｔ(m+1,n-1)
ｃ2＝ｔ(m,n)−ｔ(m+1,n)−ｔ(m,n-1)＋ｔ(m+1,n-1)
【００４０】
なお、第２の交流成分予測部２ｅと同様に、対象ブロックに含まれる４つのサブ画素ブロックのそれぞれに関して、第２のアダマール係数ｃ0〜ｃ2が算出される。この処理において算出される第２のアダマール係数は、（１サブ画素ブロック当たり３値）×（４サブ画素ブロック）の計１２値となる。
【００４１】
以上の式によって求められた第２のアダマール係数は、量子化される。さらに、第２のアダマール変換部２ｆは、この量子化された第２のアダマール係数に基づき、逆量子化と逆アダマール変換とを行うことで、新たな第２のＡＣ差分値を復元する。この復元された第２のＡＣ差分値は、第２の交流成分予測部２ｅで生成された第２のＡＣ値に加算され、圧縮画像データが生成される。このとき、第２のアダマール係数（１２値）については、該領域における画像復元時に必要な情報であるため、量子化とエントロピー符号化とが施され、バッファ３とは別に所定記憶媒体に格納される。
【００４２】
なお、例えば原画像を参照（プレビュー）する場合には、原画像データに対する圧縮結果としての圧縮画像データが、補足的なデータとして適宜生成される。
この場合、第２のアダマール変換部２ｆにて行われる逆アダマール変換によって、量子化によって画質的に劣化した１２個の第２のアダマール係数から、新たな第２のＡＣ差分値（１６値）が生成される。第２のアダマール変換部２ｆは、先に求めた第２のアダマール係数（１２値）と、上述の式の逆算とに基づいて、新たな第２のＡＣ差分値（１６値）の復元を行う。このとき、画質的に劣化した第２のアダマール係数をｃ0'、ｃ1'、ｃ2'とし、図１２に示すとおり、逆アダマール変換によって生成される画素ブロック内の各斜め（左斜め上、右斜め上、左斜め下、および右斜め下）のサブ画素ブロックを新たな第１のＡＣ差分値（４値）として、ｕ(m,n)、ｕ(m+1,n)、ｕ(m,n-1)およびｕ(m+1,n-1)とすると、それぞれは以下の式によって算出される。
ｕ(m,n)＝ｃ0'＋ｃ1'＋ｃ2'
ｕ(m+1,n)＝ｃ0'−ｃ1'−ｃ2'
ｕ(m,n-1)＝−ｃ0'＋ｃ1'−ｃ2'
ｕ(m+1,n-1)＝−ｃ0'−ｃ1'＋ｃ2'
【００４３】
そして、第２の加算器２ｊは、第２のＡＣ値と第２のＡＣ差分値とを位置的に対応させながら加算する。具体的には、第２の加算器２ｊは、第２のＡＣ値（１６値）のそれぞれの位置情報と、第２のＡＣ差分値（１６値）のそれぞれの位置情報とに基づき、同位置に存在している第２のＡＣ値と、第２のＡＣ差分値とをそれぞれ加算する。これによって、対象ブロックにおける圧縮画像データ（１６個の画素の輝度値）が算出される。
【００４４】
以上のようなプロセスを経て１処理サイクルが終了すると、圧縮対象となる画素ブロックが４画素分（１画素ブロック分）だけ水平方向（または垂直方向）シフトする。次回の処理サイクルでは、シフトした画素ブロックを対象に上述したプロセスが実行される。そして、１フレームの画像を構成する全画素ブロックの処理の終了にともない、一連の画像圧縮処理が完了する。
【００４５】
つぎに、処理サイクル間におけるバッファ３内のシフト処理について詳述する。図１３は、処理サイクル移行時の第１のバッファ領域３ａの状態図である。同図（ａ）は、ある処理サイクルで第１のバッファ領域３ａ内に格納される第１のＤＣ値の範囲を示す図である。この処理サイクルにおいて、第１のバッファ領域３ａ内には、対象ブロックについて１３個の画素ブロック、すなわち対象ブロック自身１個と、対象ブロックに対する上下左右それぞれ２画素ブロック分の８個と、および対象ブロックに対する斜め１画素ブロック分（左斜め上、右斜め上、左斜め下、および右斜め下）の４個との範囲における第１のＤＣ値が、格納されている。つまり、第１のバッファ領域３ａに格納されている第１のＤＣ値は、中央の対象ブロックの圧縮処理をする際、参照する画素ブロックである。
【００４６】
ある処理サイクルから次回の処理サイクルへ移行するとき、制御部４による制御の下、第１のバッファ領域３ａ内に格納されている第１のＤＣ値の範囲が右方向へシフトするとともに、対象ブロックが元の位置から４画素（１画素ブロック）分だけ右方向にシフトする。次回の処理サイクルでは、前回の処理サイクルにて対象ブロックの左斜め上および左斜め下に隣接した画素ブロックと、対象ブロックから上下左に１画素ブロック離間した画素ブロックの範囲に対応する第１のＤＣ値との計５値が不要になる。また、斜線でハッチングされた画素ブロック（次回の処理サイクルにて対象ブロックの右斜め上および右斜め下に隣接した画素ブロックと、対象ブロックから上、下および右に１画素ブロック離間した画素ブロック）の範囲に対応する第１のＤＣ成分値との計５値が、別の処理リサイクルで利用される。
【００４７】
新たに必要となる第１のＤＣ値は、制御部４による制御の下、第１の直流成分生成部２ａによって位置的に対応する（位置情報が同一である）原画素データに基づき求められ、第１のバッファ領域３ａに格納される。上記以外の画素ブロックの第１のＤＣ値（８値）は、次回の処理サイクルに流用する値である。制御部４は、この第１のＤＣ値を次回の処理サイクルにおいても引き続き保持するようにし、第１のＤＣ値の位置情報を更新する。次回の処理サイクルで利用すべきこの第１のＤＣ値（８値）については、次回の処理サイクルにおいても引き続き保持されるとともに、前記利用すべき値以外の値については、次回の処理サイクルにおいて更新される。
【００４８】
図１３（ｂ）は、第１のバッファ領域３ａの格納状態の説明図である。同図の上段は、図１３（ａ）に示すとおり、点線で囲まれた画素ブロックを参照画素ブロックとした処理サイクルにおける状態を示しており、下段は、次回の処理サイクルにおける状態を示している。例えば、第１のＤＣ値であるＳ（i+1,j）は、次回の処理サイクルでも利用するので、第１のバッファ領域３ａに保持されたままになり、Ｓ(i,j+2)は、次回の処理サイクルでは利用せず、代わりにＳ(i+1,j+2)が保持されるようになる。このＳ(i+1,j+2)は制御部４による制御の下、次回の処理サイクルにて、第１の直流成分生成部２ａによって求められる。
【００４９】
図１４は、処理サイクル移行時の第２のバッファ領域３ｂの状態図である。同図（ａ）は、ある処理サイクルで第２のバッファ領域３ｂ内に格納される第２のＤＣ値の範囲を示す図である。該処理サイクルにおいて、第１のバッファ領域３ａ内には、対象ブロックについて１２個のサブ画素ブロック、すなわち、太枠で囲まれた対象ブロック自体の４個と、対象ブロックに対する上下左右それぞれ隣接する８個とが格納されている。つまり、第２のバッファ内３ｂに格納されている第２のＤＣ値は、中央の対象ブロックの圧縮処理に必要なサブ画素ブロックである。
【００５０】
ある処理サイクルから次回の処理サイクルへ移行するとき、第２のバッファ領域３ｂ内に格納されている第２のＤＣ値の範囲が右方向へシフトするとともに、対象画素ブロックが、元の位置から４画素（１画素ブロック）分だけ右へシフトする。次回の処理サイクルでは、従前の処理サイクルにて対象ブロックの左半分の範囲にあるサブ画素ブロック２個と、対象ブロックから隣接する上下左それぞれ２値のサブ画素ブロック６個との範囲に対応する第２のＤＣ値の計８値が不要になる。また、次回の処理サイクルの対象ブロックにおける対象ブロックの右半分の範囲にあるサブ画素ブロック２個と、対象ブロックから隣接する上下右それぞれ２値のサブ画素ブロック６個との範囲に対応する第２のＤＣ値の計８値が再利用可能になる。
【００５１】
新たに必要となる第２のＤＣ値は、制御部４による制御の下、第２の直流成分生成部２ｂによって位置的に対応する（位置情報が同一である）原画素データに基づき求められ、第２のバッファ領域３ｂに格納される。上記以外のサブ画素ブロックの第２のＤＣ値４値は、次回の処理サイクルに流用する値である。このとき、制御部４は、次回の処理サイクルで利用すべきこの第２のＤＣ値４値については、次回の処理サイクルにおいても引き続き保持するように、かつ、前記利用すべき値以外の値については、次回の処理サイクルにおいて更新する。
【００５２】
図１４（ｂ）は、第２のバッファ領域３ｂの格納状態の説明図である。同図の上段は、図１４（ａ）に示すとおり、点線で囲まれたサブ画素ブロックを参照サブ画素ブロックとした処理サイクルにおける状態を示しており、下段は、次回の処理サイクルにおける状態を示している。例えば、第２のＤＣ値であるｓ（k+1,l）は、次回の処理サイクルでも利用するので、第２のバッファ領域３ｂに保持されたままになり、ｓ(k,j+1)は、次回の処理サイクルでは利用せず、代わりにｓ(k+2,l+1)が保持されるようになる。このｓ(k+2,l+1)は、制御部４による制御の下、次回の処理サイクルにて、第２の直流成分生成部２ｂによって新たに算出される。
【００５３】
なお、ＭＩＤ値を格納している第３のバッファ領域３ｃの状態遷移については、上述した図１４の説明と同様である。
【００５４】
このように、本実施形態によれば、画素ブロックを処理サイクル毎に順次シフトさせながら、１フレームの画像データの圧縮を画素ブロック単位で行う画像処理装置において、バッファの更新を効率的に行うことができる。具体的には、次回の処理サイクルにおいて、利用すべき直流成分値はそのままバッファ内に保持し、新たに必要となる直流成分値はその処理サイクルの移行時に第１または第２の直流成分生成部２ａ，２ｂにて逐次生成され、バッファ３に格納される。そのためバッファ３は、画像データ全体分の直流成分値を保持する必要がなくなる。その結果、画像圧縮におけるバッファのサイズに関する要求が緩和され、バッファが小容量であっても、高解像度の画像の圧縮処理を行うことが可能になる。
【００５５】
また、本実施形態によれば、処理サイクルの移行時に新たに算出すべき直流成分値の数を減らし、また、バッファを設けることにより、処理部が行うフレームメモリ内の対象値に対するアクセスならびに演算負荷を減らしている。その結果、画像圧縮における演算負荷が軽減され、処理速度の向上を図ることが可能になる。
【００５６】
また、本実施形態では、処理サイクルにおけるバッファ領域のシフト処理をアダマール変換および交流成分予測を用いた圧縮処理について説明したが、本発明はこれに限定されるものではなく、それ以外の圧縮処理に対しても適用可能である。例えば、周辺の画素ブロックをもとに処理サイクルを用いて、各演算部がそれぞれ独立して処理を行う計算（例えば、周波数変換を施すアダマール変換を離散コサイン変換に代替するなど）であってもよい。なお、本実施形態で用いた色空間の種類はグレースケールであるが、その他の色空間（例えば、ＲＧＢやＹＵＶなど）にも適用可能である。この場合、それぞれの要素値（例えば、ＲＧＢの場合、Ｒ・Ｇ・Ｂの３つの値）に対応したバッファ領域が設けられる。
【００５７】
なお、本実施形態は、図１における画像処理装置の機能を実現するプログラムを、コンピュータが読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに導入することでも実現可能である。ここでいう「コンピュータシステム」とは、ＯＳやハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境あるいは表示環境を備えたＷＷＷシステムも含むものとする。また、「コンピュータが読み取り可能な記録媒体」は、ＲＯＭ（Read Only Memory）、磁気ディスク、光ディスク、光磁気ディスクなどといった可搬媒体、およびハードディスクを指す。さらに、「コンピュータが読み取り可能な記録媒体は、インターネットなどのネットワーク回線を介してプログラムが送信されるサーバや、コンピュータシステム内部の揮発性メモリも含まれる。また、「プログラム」は、このプログラムを記憶媒体に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により、他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワークや電話回線等の通信回線（通信線）のように、情報を一部実現するためのものであってもよい。またこれら機能をコンピュータシステムによって、すでに記録されているプログラムとの組み合わせで実現できる差分ファイルであってもよい。
【図面の簡単な説明】
【００５８】
【図１】本実施形態に係る画像処理装置の構成図
【図２】画素ブロックおよびサブ画素ブロックの説明図
【図３】第１のバッファ領域に格納される第１のＤＣ値の説明図
【図４】第２のバッファ領域に格納される第２のＤＣ値の説明図
【図５】第１の交流成分予測部の実行前の説明図
【図６】第１の交流成分予測部の実行後の説明図
【図７】第１のアダマール変換部の実行前の説明図
【図８】第１のアダマール変換部の実行後の説明図
【図９】第２の交流成分予測部の実行前の説明図
【図１０】第２の交流成分予測部の実行後の説明図
【図１１】第２のアダマール変換部の実行前の説明図
【図１２】第２のアダマール変換部の実行後の説明図
【図１３】処理サイクル移行時の第１のバッファ領域の状態図
【図１４】処理サイクル移行時の第２のバッファ領域の状態図
【符号の説明】
【００５９】
１  フレームメモリ
２  処理部
２ａ  第１の直流成分生成部
２ｂ  第２の直流成分生成部
２ｃ  第１の交流成分予測部
２ｄ  第１のアダマール変換部
２ｅ  第２の交流成分予測部
２ｆ  第２のアダマール変換部
２ｇ  第１の減算器
２ｈ  第１の加算器
２ｉ  第２の減算器
２ｊ  第２の加算器
３  バッファ
３ａ  第１のバッファ領域
３ｂ  第２のバッファ領域
３ｃ  第３のバッファ領域
４  制御部
【図１】
2006157519.tif 000003
【図２】
2006157519.tif 000004
【図３】
2006157519.tif 000005
【図４】
2006157519.tif 000006
【図５】
2006157519.tif 000007
【図６】
2006157519.tif 000008
【図７】
2006157519.tif 000009
【図８】
2006157519.tif 000010
【図９】
2006157519.tif 000011
【図１０】
2006157519.tif 000012
【図１１】
2006157519.tif 000013
【図１２】
2006157519.tif 000014
【図１３】
2006157519.tif 000015
【図１４】
2006157519.tif 000016