(57)【要約】【課題】回路規模を抑えつつ復号化の高速化が可能なデータ復号化装置を提供する。【解決手段】対応テーブルが用いられてデータが符号に変換されてなる符号化データを受信するデータ受信部（５８）と、対応テーブル中で最長のビット長分の符号化データの値と、符号について下位側に所定のビット値が付加されて最長ビット長となった付加符号の値とを大小比較することにより付加符号を見つける符号検索部（５６１２，５６１３，５６１４）と、特定のビット符号長を有する特定符号と、符号化データの特定のビット符号長分のデータ部分との一致不一致を比較する比較部（５６１５，５６１６）と、比較部の結果が一致していた場合には、特定符号に対応付けられているデータ値を出力し、不一致であった場合には、符号検索部で見つかった付加符号に対応付けられているデータ値を出力する出力部（５６１８）とを備えた。【選択図】        図１７
2011004338.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ値と複数の符号との１対１の対応付けが記載された対応テーブルが用いられて変換対象のデータが符号に変換されてなる符号化データを受信するデータ受信部と、
前記対応テーブル中で最長のビット符号長以上の所定ビット長分の、前記符号化データの先頭から始まるデータ部分の値と、該対応テーブル中の符号について下位側に所定のビット値が付加されて前記所定ビット長となった付加符号の値とを大小比較することにより、該符号化データの先頭に位置している符号に対応した付加符号を見つける符号検索部と、
前記対応テーブル中に含まれた符号のうち、最長よりは短い特定のビット符号長を有する特定符号と、前記符号化データの先頭から始まる、該特定のビット符号長と同じビット長分のデータ部分との一致不一致を比較する比較部と、
前記比較部による比較の結果、前記特定符号と前記符号化データの先頭のデータ部分とが一致していた場合には、該特定符号に前記対応テーブルで対応付けられているデータ値を復号化データとして出力し、該比較部による比較の結果、該特定符号と該データ部分とが不一致であった場合には、前記符号検索部による検索で見つかった符号に対応する付加符号に前記対応テーブルで対応付けられているデータ値を復号化データとして出力する出力部と、
前記出力部で復号化データとして出力されたデータ値に前記対応テーブルで対応付けられている符号のビット符号長と同じビット長分だけ前記符号化データの先頭を、復号済として後方側に移動させる先頭移動部とを備えたことを特徴とするデータ復号化装置。
【請求項２】
前記比較部が、対応テーブル中の符号のうち、最小のビット符号長を有する符号を少なくとも含んだ１つ以上の符号を上記特定符号として比較するものであることを特徴とする請求項１記載のデータ復号化装置。
【請求項３】
前記付加符号は、該付加符号同士の値の順番が既知のものであり、
前記符号検索部が、前記付加符号のうち、前記順番中で離散した各付加符号の値と、前記符号化データの先頭から始まる前記データ部分の値とを大小比較することで、該符号化データの先頭に位置している符号に対応した付加符号の値の範囲を絞り込む離散比較を行い、前記付加符号のうち、該離散比較で絞り込まれた範囲の値を有する各付加符号の値と、該データ部分の値とを大小比較する詳細比較を更に行うものであることを特徴とする請求項１または２記載のデータ復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ復号化装置に関する。
【背景技術】
【０００２】
データの通信や格納に当たってデータの量を圧縮するため、データの各値を符号に変換するデータ符号化が知られている。このデータ符号化の手法として、複数のデータ値と複数の符号との１対１の対応付けが記載された、例えばハフマンテーブルに代表される対応テーブルを用いてデータを符号に変換する可変長符号化が知られている。復号化装置では、対応テーブルを用いて符号化データを復号化することによって元のデータが得られる。可変長符号化で符号化された符号化データの復号化方法としては種々のものが知られている。
【０００３】
例えば、符号化データがアドレスとして入力されるメモリを備えたハフマン復号化回路が知られている（例えば、特許文献１参照。）。このハフマン復号化回路では、メモリに符号長が記憶されており、符号化データの先頭から固定のビット長のデータがアドレスとしてメモリに入力される。アドレスに応じて出力された符号長に基づいて次に復号化を行うブロックが選択され復号化が実行される。
【０００４】
また、可変長の符号のうち、同一符号長集団の中で最小値を有する符号が配列されたテーブルを有する可変長符号デコード回路が知られている（例えば、特許文献２参照。）。この可変長符号デコード回路は、第１段階でテーブルと複数の比較器を用いて入力データとの大小比較により同一符号長の符号からなる集団のいずれかを特定する。可変長符号デコード回路は、第２段階で、特定された同一符号長集団の各要素を読出し、入力データの符号との大小比較を行い集団中の要素を特定する。そして第３段階で符号の変換を行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３００５３８５号公報
【特許文献２】特開平７−１０６９８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上述した技術のうち、符号化データがアドレスとして入力されるメモリを備えたハフマン復号化回路は、最大符号長が長くなると、メモリ空間が巨大になり、現実の回路における実装が困難である。またメモリ空間が冗長である。また、集団の特定、集団中の要素の特定および復号化といった段階を踏む可変長符号デコード回路は、比較の段階が複雑であり復号化に時間がかかる。
【０００７】
本発明は上記問題点を解決し、回路規模を抑えつつ復号化の高速化が可能なデータ復号化装置を提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
上記目的を達成する本発明のデータ復号化装置は、
複数のデータ値と複数の符号との１対１の対応付けが記載された対応テーブルが用いられて変換対象のデータが符号に変換されてなる符号化データを受信するデータ受信部と、
上記対応テーブル中で最長のビット符号長以上の所定ビット長分の、上記符号化データの先頭から始まるデータ部分の値と、この対応テーブル中の符号について下位側に所定のビット値が付加されて上記所定ビット長となった付加符号の値とを大小比較することにより、この符号化データの先頭に位置している符号に対応した付加符号を見つける符号検索部と、
上記対応テーブル中に含まれた符号のうち、最長よりは短い特定のビット符号長を有する特定符号と、上記符号化データの先頭から始まる、この特定のビット符号長と同じビット長分のデータ部分との一致不一致を比較する比較部と、
上記比較部による比較の結果、上記特定符号と上記符号化データの先頭のデータ部分とが一致していた場合には、この特定符号に上記対応テーブルで対応付けられているデータ値を復号化データとして出力し、この比較部による比較の結果、この特定符号とこのデータ部分とが不一致であった場合には、上記符号検索部による検索で見つかった符号に対応する付加符号に上記対応テーブルで対応付けられているデータ値を復号化データとして出力する出力部と、
上記出力部で復号化データとして出力されたデータ値に上記対応テーブルで対応付けられている符号のビット符号長と同じビット長分だけ上記符号化データの先頭を、復号済として後方側に移動させる先頭移動部とを備えたことを特徴とする。
【０００９】
本発明のデータ復号化装置では、符号検索部による、符号の検索に加え、特定符号については比較部によって符号化データの中の先頭部分との一致不一致が直接に比較される。処理データのビット長が固定の符号検索部は回路規模が小さくて済み、比較部による特定符号の比較が並行されることで高速化が図られる。
【００１０】
ここで、上記本発明のデータ復号化装置において、上記比較部が、対応テーブル中の符号のうち、最小のビット符号長を有する符号を少なくとも含んだ１つ以上の符号を上記特定符号として比較するものであることが好ましい。
【００１１】
比較部は比較する符号長が短いほど小型化できる。しかも、可変長符号化では、一般的に少ないビット符号長を有する符号ほど出現頻度が高いため、比較部による復号化がより高速となる。
【００１２】
また、上記本発明のデータ復号化装置において、
上記付加符号は、この付加符号同士の値の順番が既知のものであり、
上記符号検索部が、上記付加符号のうち、上記順番中で離散した各付加符号の値と、上記符号化データの先頭から始まる上記データ部分の値とを大小比較することで、この符号化データの先頭に位置している符号に対応した付加符号の値の範囲を絞り込む離散比較を行い、上記付加符号のうち、この離散比較で絞り込まれた範囲の値を有する各付加符号の値と、このデータ部分の値とを大小比較する詳細比較を更に行うものであることが好ましい。
【００１３】
符号検索部が離散比較および詳細比較という複数の段階に分けて比較を行うことによって、それぞれの段階における比較処理の数が抑えられるとともに総処理数も抑えられる。したがって、処理速度を高く保ちつつ、比較のための回路規模を低減することができる。
【発明の効果】
【００１４】
以上説明したように、本発明によれば、回路規模を抑えつつ復号化の高速化が可能なデータ復号化装置が実現する。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態が応用された放射線画像診断システムの構成図である。
【図２】図１に示す圧縮処理部を示すブロック図である。
【図３】図１に示す伸張処理部を示すブロック図である。
【図４】差分符号化部に供給される画像データの構造を示す図である。
【図５】差分符号化部において２次元差分符号化処理が施された後のデータの構造を示す図である。
【図６】図２に示す差分符号化部における２次元差分符号化処理を例示して示す図である。
【図７】制御部から差分符号化部に供給された画像データのヒストグラムの例を示す図である。
【図８】図７に示す画像データに対する差分符号化およびオフセットの効果を示す図である。
【図９】プレーン分割部によるデータ分割の効果を説明する図である。
【図１０】図２に示すランレングス符号化部での符号化の説明図である。
【図１１】ランレングス符号化部における、圧縮対象数値を対象にした符号化のアルゴリズムを示す図である。
【図１２】図２のランレングス符号化部における、連続数に応じた符号化処理の例を示す図である。
【図１３】データスキャン部によるスキャニング結果の例を示す図である。
【図１４】ハフマンテーブルの一例を示す図である。
【図１５】図１３に示すハフマン複合化部の内部構成を示すブロック図である。
【図１６】図１５に示す汎用テーブル保持部に保持されたハフマンテーブルの例を示す図である。
【図１７】図１５に示すシフトレジスタ、２ビット比較部、３ビット比較部、および汎用比較部の接続関係を簡潔に示したブロック図である。
【図１８】汎用比較部による２回目の比較結果を示す図である。
【発明を実施するための形態】
【００１６】
以下図面を参照して本発明の実施の形態を説明する。
【００１７】
図１は、本発明の一実施形態が応用された放射線画像診断システムの構成図である。
【００１８】
図１に示された放射線画像診断システムＳは、放射線照射装置１、放射線源制御装置１２、放射線検出ユニット３、および、システムコントローラ４を備えている。
【００１９】
放射線照射装置１は、Ｘ線を照射する放射線源１１および放射線源制御装置１２を備えている。放射線源１１は、放射線源制御装置１２によりＸ線の照射が制御されている。
【００２０】
放射線検出ユニット３は、放射線源１１から発せられて被写体を透過してきた放射線に応じた放射線画像を検出し、検出した放射線画像を表す画像データをさらに圧縮し、システムコントローラ４に無線で送信する。
【００２１】
システムコントローラ４は、送信されてきた圧縮データを伸張し、伸張された画像データをディスプレイ上に表示し、また、必要に応じて画像データに診断に必要な処理を行う。
【００２２】
システムコントローラ４には、ＣＰＵ４１、メモリ４２、表示部４４、通信インターフェース（以下、インターフェースをＩ／Ｆと略記する。）４５、伸張処理部５、および、線源制御部４６が備えられており、これらはバスで相互に接続されている。
【００２３】
ＣＰＵ４１はメモリ４２に記憶されたプログラムを実行し、システムコントローラ４全体や放射線検出ユニット３を制御する。通信Ｉ／Ｆ４５は、前述したように放射線検出ユニット３との無線通信を担っており、このシステムコントローラ４は、この通信Ｉ／Ｆ４５を経由して圧縮された画像データを取り込むことができ、後述する、放射線検出ユニット３の制御部３５に対する指示をこの通信Ｉ／Ｆ４５を経由して送信する。
【００２４】
線源制御部４６は、放射線源１１による放射線の照射に関する指示を放射線源制御装置１２に送信し、放射線源制御装置１２は、受信した指示に応じて放射線源１１を制御する。
【００２５】
伸張処理部５では、放射線検出ユニット３から送信され、通信Ｉ／Ｆ４５を通じて受信した圧縮画像データを圧縮前の画像データに復元する。上述のメモリ４２には、受信した圧縮画像データや復元された画像データも一時的に記録されている。
【００２６】
放射線検出ユニット３は、放射線撮影器３１、アナログ信号処理部３２、アナログ／デジタル（以下、アナログ／デジタルをＡ／Ｄと略記する。）コンバータ部３３、薄膜トランジスタ（以下、薄膜トランジスタをＴＦＴと略記する。）駆動部３４、制御部３５、通信Ｉ／Ｆ３６、および圧縮処理部２を有している。
【００２７】
放射線撮影器３１は、ガドリニウム硫酸化物（以下、ガドリニウム硫酸化物をＧＯＳと略記する。）を材料としたＧＯＳ蛍光体３１１と、ＴＦＴアレイ上の格子点毎に作り込まれたフォトダイオード部３１２とからなり、ＧＯＳ蛍光体３１１は、放射線源１１から発せられて被写体を透過してきた放射線をそのエネルギーの大きさに応じた可視光に変換する。フォトダイオード部３１２では、可視光が電気信号に変換される。アナログ信号処理部３２は、電気信号の処理を行うオペアンプとコンデンサとで構成されている。ＴＦＴ駆動部３４はスイッチング手段であり、スイッチオンで、受光した放射線のエネルギーに応じてＧＯＳ蛍光体３１１を発光させ、この光をフォトダイオード部３１２で電気信号に変換させる。電気信号はアナログ信号処理部３２に取り込まれる。信号はアナログ信号処理部３２で処理された後、Ａ／Ｄコンバータ部３３でデジタルデータに変換されて出力される。放射線撮影器３１が受けた放射線による放射線画像の画像データはこのようにして生成される。デジタルデータである画像データは、制御部３５を経由して圧縮処理部２に入力される。
【００２８】
圧縮処理部２は、詳しくは後述する手法でデジタルデータのデータ量を圧縮して通信Ｉ／Ｆ３６を経由して１ライン分毎にシステムコントローラ側へ無線送信する。制御部３５では、システムコントローラ４のＣＰＵ４１からの指示に従って、ＴＦＴ駆動部３４、アナログ信号処理部３２、およびＡ／Ｄコンバータ部３３の駆動、圧縮処理部２における圧縮処理の実施、通信Ｉ／Ｆ３６による圧縮データの送信等を行わせる。
【００２９】
次に、放射線画像診断システムＳにおける動作の流れについて説明する。なお、以下では、この放射線画像診断システムＳを使用するユーザが、各構成装置の電源をオンにし、被写体を所定の立ち位置に立たせた上で、被写体に対するＸ線撮影を実施しようとする際、システムコントローラ４の表示部にＸ線撮影が可能であることを表す表示がされるのを待って、放射線源１１からのＸ線放射用のスイッチ押下を待機している状態を前提として話を進める。
【００３０】
システムコントローラ４は、まずＣＰＵ４１が放射線検出ユニット３の制御部３５に対し放射線検出ユニット３の各部の状態の把握を指示し、放射線検出ユニット３の制御部３５は、圧縮処理部２に、データの受け入れが可能な状態であるか否かを判定させ、圧縮処理部２が保持するレジスタに状態を表すコード値を書き込ませ、制御部３５が書き込まれたコード値を読み出し、その読み出したコード値がＲＥＡＤＹ状態であることを表す値であると判定すると、圧縮処理部以外の各部に問題が無ければ、システムコントローラ４のＣＰＵ４１に対し、放射線検出ユニット３がＲＥＡＤＹ状態であることを表す信号を送信する。これを受けて、システムコントローラ４では、表示部４４に撮影可能であることを表わす旨の表示を行う。その後、放射線検出ユニット３の制御部３５では、システムコントローラ４からの撮影実施の通知を待って、放射線検出ユニット３の各部を制御して、放射線源１１から発せられて被写体を透過してきた放射線を検出し、放射線画像をデジタルデータ化する。制御部３５は、１フレーム分のデジタルデータのうちの１ライン分のデジタルデータを圧縮処理部２に入力する毎に、これを圧縮処理部２に伝える。圧縮処理部２では、１ライン分のデータ入力が完了したことを検出する毎にデータに対し圧縮処理を実施する。圧縮処理部２で圧縮処理が施された圧縮データは、通信Ｉ／Ｆ３６によって無線でシステムコントローラ４に送信される。
【００３１】
送信された圧縮データは、システムコントローラ４の通信Ｉ／Ｆ４５で受信され、伸張処理部５に供給される。伸張処理部５に供給された圧縮データは伸張処理が施される。伸張処理された画像データは表示部４４に表示される。また、画像データはさらに必要に応じてＣＰＵ４１によって画像処理が施される。
【００３２】
続いて、圧縮処理部２および伸張処理部５の内部構成について説明する。
【００３３】
図２は、図１に示す圧縮処理部を示すブロック図である。
【００３４】
図２に示す圧縮処理部２は、差分符号化部２３、オフセット部２４、プレーン分割部２５、Ｌプレーン圧縮部２６、Ｈプレーン圧縮部２７、および、フレーム合成部２８を備えている。
【００３５】
差分符号化部２３には、制御部３５（図１）から、各画素が１６ビットの値で表わされたビットマップ形式の画像データが供給される。制御部３５からは、画像データが画像の１ライン分ごとに送られてくるが、差分符号化部２３では、図示しないラインバッファに前回受信したラインのデータを一時的に保持しておき、これも参照しながら符号化を行う。差分符号化部２３では、画像データが２次元差分符号化処理、すなわち、入力されてきた画像データを構成する数値の連続について、画像上で見てその数値に複数方向それぞれに隣接する複数の数値に基づいた２次元的な差分を求めることによりその差分を表わす１６ビットの数値の連続からなる画像データを生成する処理が行なわれる。
【００３６】
オフセット部２４では、差分符号化部２３で生成された、差分を表わす数値の連続からなる画像データが所定のオフセット値でオフセットされる。
【００３７】
プレーン分割部２５では、オフセット後の画像データの各数値が、下位の８ビットと上位の８ビットとに分けられることにより、画像データが、下位ビットの数値の連続からなる下位サブプレーンＤ１Ｌと上位ビットの数値の連続からなる上位サブプレーンＤ１Ｈとに分割される。
【００３８】
Ｌプレーン圧縮部２６およびＨプレーン圧縮部２７では、プレーン分割部２５で分割された下位サブプレーンＤ１Ｌおよび上位サブプレーンＤ１Ｈそれぞれに対して可逆圧縮が施される。
【００３９】
フレーム合成部２８は、Ｌプレーン圧縮部２６およびＨプレーン圧縮部２７のそれぞれから出力される下位圧縮データＤ２Ｌと上位圧縮データＤ２Ｈとを組み合わせて、データ送信の単位となるフレームを生成する。フレームが、元の画像データに対する圧縮データを構成する。Ｌプレーン圧縮部２６およびＨプレーン圧縮部２７のそれぞれでは、ハフマンテーブルを用いた符号化が行われるが、この符号化に用いられたハフマンテーブルは、フレーム合成部２８によってフレームにヘッダとして組み合わされる。
【００４０】
フレーム合成部２８で生成されたフレームは、図１に示す通信Ｉ／Ｆ３６、およびシステムコントローラ４の通信Ｉ／Ｆ４５を介してシステムコントローラ４の伸長処理部に転送され、圧縮データにデータ伸長処理が施されるが、このデータ伸長処理にあたっては、図３で説明する各種の符号化処理に対応する復号化処理が施されて画像データが得られる。
【００４１】
図３は、図１に示す伸張処理部を示すブロック図である。
【００４２】
図３に示す伸張処理部５は、圧縮処理部２と対称の構造となっており、圧縮処理部２とは逆の処理を行い画像データを生成する。伸張処理部５は、フレーム解析部５８、Ｌプレーン伸張部５６、Ｈプレーン伸張部５７、プレーン合成部５５、オフセット部５４、および差分復号化部５３を備えている。
【００４３】
フレーム解析部５８は、入力されたフレームを解析し、ヘッダを目印としてフレームから下位圧縮データＤ２Ｌと上位圧縮データＤ２Ｈを抜き出す。また、フレームのヘッダからは、ハフマンテーブルも抜き出される。Ｌプレーン伸張部５６、Ｈプレーン伸張部５７では、下位圧縮データＤ２Ｌと上位圧縮データＤ２Ｈに対し伸張処理が施される。
【００４４】
Ｌプレーン伸張部５６およびＨプレーン伸張部５７は、ハフマン符号化部５６１，５７１を有しておりハフマンテーブルを用いた復号化が行われる。この復号化に用いられるハフマンテーブルは、フレーム解析部５８から供給される。
【００４５】
プレーン合成部５５は、Ｌプレーン伸張部５６で生成された下位サブプレーンＤ１Ｌを下位ビットの数値とし、Ｈプレーン伸張部５７で生成された上位サブプレーンＤ１Ｈを上位ビットの数値とし、下位ビットと上位ビットとを合成する。
【００４６】
オフセット部５４では、プレーン合成部５５で合成された数値のそれぞれが所定のオフセット値でオフセットされる。
【００４７】
差分復号化部５３は、オフセット部５４でオフセットされた数値の連続を、差分を表わすデータとして、このデータに、差分符号化部２３（図２）とは逆の演算を施す。これによって、差分符号化部２３に入力された、圧縮前のビットマップ形式の画像データが復元される。
【００４８】
ここで、伸張処理部５を有するシステムコントローラ４、特にハフマン符号化部５６１，５７１を有するシステムコントローラ４が、本発明のデータ復号化装置の一実施形態である。上述した放射線検出ユニット３は、本発明のデータ復号化装置に相当するものではない。しかし、システムコントローラ４の伸張処理部５は、放射線検出ユニット３の圧縮処理部２によって符号化された符号化データを復号化するものである。そこで、伸張処理部５、特にハフマン符号化部５６１，５７１の詳細を説明する前に、複合化の前提となる符号化について説明するため、再び図２に戻って、圧縮処理部２における画像データの圧縮の流れについてまず説明する。
【００４９】
前述したように、制御部３５（図１）から送られてきた、各画素が１６ビットの値で表わされた画像データは、差分符号化部２３で２次元差分符号化処理され、オフセット部２４でオフセットされた上で、プレーン分割部２５で下位の８ビットと上位の８ビットとに分けられることにより、画像データが、下位ビットの数値の連続からなる下位サブプレーンＤ１Ｌと上位ビットの数値の連続からなる上位サブプレーンＤ１Ｈとに分割される。
【００５０】
Ｌプレーン圧縮部２６は、ハフマン符号化部２６１と、高速モードと通常モードとのいずれか一方にモードを切り替えるモード切替部２６２と、データスキャン部２６３とを備えており、プレーン分割部２５から入力されてきた下位サブプレーンＤ１Ｌは、Ｌプレーン圧縮部２６のデータスキャン部２６３とハフマン符号化部２６１の双方に入力される。
【００５１】
データスキャン部２６３では、下位サブプレーンＤ１Ｌのデータのすべて、又は間引きした一部のデータをスキャニングして、そのデータ中に出現するすべての数値の出現頻度（ヒストグラム）が求められる。ここで、この出現頻度を求める処理は、本実施形態では、図２に示す下位サブプレーンＤ１Ｌの１つずつを単位として実行され、各下位サブプレーンＤ１Ｌのデータ中の数値の出現頻度が求められる。
【００５２】
さらに、このデータスキャン部２６３では、求められたデータヒストグラム（数値の出現頻度）に基づき、ハフマンテーブルに、出現頻度の高い数値ほど符号長の短かい符号を割り当てる。このようにして、データスキャン部２６３によって、数値と符号の対応付けられたハフマンテーブルが更新される。
【００５３】
データスキャン部２６３で数値に符号が割り当てられてなるハフマンテーブルは、ハフマン符号化部２６１に渡され、Ｌプレーン圧縮部２６のハフマン符号化部２６１では、その渡されたハフマンテーブルに従って、そのハフマン符号化部２６１に入力されてきた下位サブプレーンＤ１Ｌを構成する数値をそのハフマンテーブルに従う符号に置き換える符号化処理が行なわれる。
【００５４】
Ｌプレーン圧縮部２６のモード切替部２６２では、ユーザから、高速モードと通常モードとの切り替えを指示されて、上記のハフマン符号化部２６１によるハフマン符号化を経る通常モードと、ハフマン符号化を省略して下位サブプレーンＤ１Ｌをそのまま出力する高速モードとが切り替えられる。したがって、最終的にＬプレーン圧縮部２６からは、通常モードの場合には、下位サブプレーンＤ１Ｌがハフマン符号化により圧縮された下位圧縮データＤ２Ｌが出力され、高速モードの場合には、ハフマン符号化が施されていない下位圧縮データＤ２Ｌが出力されることになる。
【００５５】
Ｈプレーン圧縮部２７では、ランレングス符号化部２７１と、データスキャン部２７２と、ハフマン符号化部２７３とが備えられており、プレーン分割部２５から入力されてきた上位サブプレーンＤ１Ｈは、Ｈプレーン圧縮部２７のランレングス符号化部２７１に入力される。
【００５６】
Ｈプレーン圧縮部２７のランレングス符号化部２７１では、入力されてきた上位サブプレーンＤ１Ｈに対し、同一の圧縮対象数値の連続数に応じ、その連続数を異なるビット数で表現する符号化が行なわれる。ここでは、具体的には、同一の圧縮対象数値の連続数が所定数以下のときはその連続数を１単位ビット数で表現し、その連続数が所定数を越えるときは２単位ビット数で表現する符号化が行なわれる。ランレングス符号化部２７１で符号化されたデータは、次にデータスキャン部２７２とハフマン符号化部２７３との双方に入力される。
【００５７】
データスキャン部２７２では、ランレングス符号化部２７１で符号化された後のデータのすべて、又は間引きした一部のデータをスキャニングして、そのデータ中に出現するすべての数値の出現頻度（ヒストグラム）が求められる。ここで、この出現頻度を求める処理は、本実施形態では、図２に示す上位サブプレーンＤ１Ｈの１つずつを単位として実行され、各上位サブプレーンＤ１Ｈの、ランレングス符号化部２７１で符号化された後のデータ中の数値の出現頻度が求められる。
【００５８】
さらに、このデータスキャン部２７２では、求められたデータヒストグラム（数値の出現頻度）に基づき、ハフマンテーブルに、出現頻度の高い数値ほど符号長の短かい符号を割り当てる。このようにして、データスキャン部２７２によって、数値と符号の対応付けられたハフマンテーブルが更新される。
【００５９】
データスキャン部２７２で数値に符号が割り当てられてなるハフマンテーブルは、ハフマン符号化部２７３に渡され、ハフマン符号化部２７３では、その渡されたハフマンテーブルに従って、そのハフマン符号化部２７３に入力されてきたデータを構成する数値を、そのハフマンテーブルに従う符号、すなわち、出現頻度の高い数値ほど短かいビット長で表わされる符号に置き換える符号化処理が行なわれる。
【００６０】
ハフマン符号化部２７３でハフマン符号化された後のデータは、データスキャン部２７２で割り当てられた数値と符号との割当テーブルを含む圧縮情報が添付され、上位サブプレーンＤ１Ｈが圧縮された上位圧縮データＤ２ＨとしてＨプレーン圧縮部２７から出力される。
【００６１】
図４は、差分符号化部に供給される画像データの構造を示す図、図５は、このデータに対して差分符号化部において２次元差分符号化処理が施された後のデータの構造を示す図である。
【００６２】
制御部３５から供給される画像データで表される画像は、所定の主走査方向に画素がＭ個並んでなるラインが、その主走査方向とは直角な副走査方向にＮライン並ぶことによって構成されており、このような構成を反映してその画像データも、図４に示すように、主走査方向（図の左右方向）に画素値がＭ個並んでなるラインが、副走査方向（図の上下方向）にＮライン並んでいるという構造を備えている。この図では、上からｎ番目のライン中の、左からｍ番目の画素値はＰｎ，ｍと表記されており、この表記法を用いて、副走査方向にｎ番目のラインについては、主走査方向に並ぶ各画素の画素値が、その並び順に、
Ｐｎ，１，Ｐｎ，２，…，Ｐｎ，ｍ−１，Ｐｎ，ｍ，…，Ｐｎ，Ｍ−２，Ｐｎ，Ｍ−１，Ｐｎ，Ｍ
と表されている。これらの画素値は、１６進表示で表された数値である。
【００６３】
ここで、図２に示す差分符号化部２３には、上記のような画像データが入力されて２次元差分符号化処理が施され、主走査方向に隣接する画素どうしの差分における副走査方向での更なる差分が求められる。
【００６４】
図５には、２次元差分符号化処理が施されたデータの構造が示されており、このデータも、２次元差分符号化後の画素値が主走査方向にＭ個並んでなるラインが、副走査方向にＮライン並んでいるという構造を備えている。この図では、上からｎ番目のライン中の、左からｍ番目の、２次元差分符号化後の画素値は、Ｘｎ，ｍと表記されており、この２次元差分符号化後の画素値Ｘｎ，ｍは、図４の中央部に示す、２次元差分符号化前の４つの画素値｛Ｐｎ−１，ｍ−１，Ｐｎ−１，ｍ，Ｐｎ，ｍ−１，Ｐｎ，ｍ｝から、下記の変換式によって得られる。
Ｘｎ，ｍ＝（Ｐｎ，ｍ−Ｐｎ，ｍ−１）−（Ｐｎ−１，ｍ−Ｐｎ−１，ｍ−１）                …（１）
ここで、ｎ＝１の場合やｍ＝１の場合には、右辺の２次元差分符号化前の画素値の添え字に０が現れることとなるが、添え字が０となる画素値については、下記のように定義する。
Ｐ０，０＝Ｐ０，ｍ＝００００  （ｍ＝１〜Ｍ），  Ｐｎ，０＝Ｐｎ−１，Ｍ  （ｎ＝１〜Ｎ）
…（２）
ここで、式（２）の「００００」は、画素値を１６進表示で表したときに値がゼロであることを表している。以下、式（１）および式（２）の意味について簡単に説明する。
【００６５】
式（１）は、主走査方向に隣接する画素どうしの差分（すなわち、カッコの中の値）における副走査方向での更なる差分によって２次元差分符号化後の画素値Ｘｎ，ｍが得られることを表しており、２次元差分符号化前の画素値Ｐｎ，ｍが隣接する画素の画素値と相関が強い（すなわち同じような大きさの画素値である）場合には、２次元差分符号化後の画素値Ｘｎ，ｍは、ゼロに近い値となる。
【００６６】
式（２）は、副走査方向の仮想的な０番目のラインと、各ラインの左から０番目の仮想的な画素値とを新たに設けたときの各画素値の定義を表す式である。主走査方向については左端の画素値（左から０番目の画素値Ｐｎ，０）とそのラインより１ライン前のラインの右端の画素値Ｐｎ−１，Ｍとを同一視するという定義となっている。また、副走査方向については、図の一番上側の画素値（０番目のライン上の画素値）、すなわち、Ｐ０，０やＰ０，ｍがすべて０に固定された定義となっている。
【００６７】
２次元差分符号化後のデータにおいて、１ライン目の画素値、および各ラインの１番目の画素値については、式（１）の変換式の右辺に、添え字が「０」である項が現れるため、式（２）の定義が適用されることとなる。具体的には上記の式（１）および式（２）により、２次元差分符号化後の１ライン目の画素値は、
Ｘ１，１＝Ｐ１，１，
Ｘ１，２＝Ｐ１，２−Ｐ１，１，
Ｘ１，３＝Ｐ１，３−Ｐ１，２，
…………
Ｘ１，Ｍ＝Ｐ１，Ｍ−Ｐ１，Ｍ−１
のように表される。
【００６８】
一方、２次元差分符号化後のデータにおいて、各ラインの１番目の画素値については、上記の式（２）により、
Ｘ１，１＝Ｐ１，１，
Ｘ２，１＝（Ｐ２，１−Ｐ１，Ｍ）−Ｐ１，１，
Ｘ３，１＝（Ｐ３，１−Ｐ２，Ｍ）−（Ｐ２，１−Ｐ１，Ｍ），
…………
ＸＮ，１＝（ＰＮ，１−ＰＮ−１，Ｍ）−（ＰＮ−１，１−ＰＮ−２，Ｍ）
のように表される。このように、１ライン目の画素値、および各ラインの１番目の画素値については、その変換の仕方がやや特殊であるが、これらの画素値以外の画素値については、式（２）の定義が適用されることなく、式（１）がそのまま適用される。例えば、２ライン目の画素値のうち一番左端を除いた画素値は、
Ｘ２，２＝（Ｐ２，２−Ｐ２，１）−（Ｐ１，２−Ｐ１，１），
Ｘ２，３＝（Ｐ２，３−Ｐ２，２）−（Ｐ１，３−Ｐ１，２），
…………
Ｘ２，Ｍ＝（Ｐ２，Ｍ−Ｐ２，Ｍ−１）−（Ｐ１，Ｍ−Ｐ１，Ｍ−１）
のように表される。
【００６９】
この２次元差分符号化処理を、具体的な数値を用いて説明する。
【００７０】
図６は、図２に示す差分符号化部における２次元差分符号化処理を例示して示す図である。
【００７１】
この図の左側（パート（Ａ））に示す各数値が画像データを構成する画素値であり、この図の右側（パート（Ｂ））に示す各数値が２次元差分符号化処理で出力される出力値である。この図の横方向が主走査方向であり、主走査方向に並んだ８つの数値の並びが上記のラインである。この図に示すデータにはこうした８つの数値が並んだラインが全部で８本あり、図４および図５のデータにおいてＮ＝８，Ｍ＝８の場合のデータに相当する。なお、本実施形態の差分符号化部２３は、画像データの１画素分を表わすデータとして１６ビットの値を処理するが、ここでは、値の見にくさを避けるため、１画素分を表わすデータとして８ビットの値の例で説明する。
【００７２】
図６のパート（Ａ）に示すデータの２次元差分符号化処理では、先ず、１ライン目の各画素値「９０  ８Ａ  ８Ａ  ７Ｂ  …」のうち、一番左の「９０」については、この値がそのまま上記のＸ１，１として出力され、それ以外のＸ１，２，Ｘ１，３，…については、主走査方向に隣接する画素値どうしの差分の値「８Ａ−９０＝ＦＡ」「８Ａ−８Ａ＝００」…が出力される。ここで、「８Ａ」から「９０」を引き算した結果は実際には負の数となり、９ビットで「１ＦＡ」と表されるが、ＭＳＢの１ビットである最上位の「１」は省略し、下位８ビットである「ＦＡ」のみを出力する。
【００７３】
２ライン目については、Ｘ２，１を求める式、
Ｘ２，１＝（Ｐ２，１−Ｐ１，Ｍ）−Ｐ１，１
において、Ｍ＝８としたときの右辺の｛Ｐ２，１，Ｐ１，８，Ｐ１，１｝に対し、図６のパート（Ａ）に示す数値が代入されて、「（８７−５８）−９０＝９Ｆ」がＸ２，１として出力される。それ以外のＸ２，２，Ｘ２，３，…については、２ライン目についての主走査方向に隣接する画素値どうしの差分と、１ライン目についての主走査方向に隣接する画素値どうしの差分との更なる差分の値「（８４−８７）−（８Ａ−９０）＝０３」「（８８−８４）−（８Ａ−８Ａ）＝０４」…が出力される。
【００７４】
３ライン目については、Ｘ３，１を求める式、
Ｘ３，１＝（Ｐ３，１−Ｐ２，Ｍ）−（Ｐ２，１−Ｐ１，Ｍ）
において、Ｍ＝８としたときの右辺の｛Ｐ３，１，Ｐ２，８，Ｐ２，１，Ｐ１，８｝に、図６のパート（Ａ）に示す数値が代入されて、「（８Ｂ−４Ｃ）−（８７−５８）＝１０」がＸ３，１として出力される。それ以外のＸ３，２，Ｘ３，３，…については、３ライン目についての主走査方向に隣接する画素値どうしの差分と、２ライン目についての主走査方向に隣接する画素値どうしの差分との更なる差分の値「（８６−８Ｂ）−（８４−８７）＝ＦＥ」「（８Ａ−８６）−（８８−８４）＝００」…が出力される。
【００７５】
以下、４ライン目以降についても、３ライン目の演算と同じ演算を繰り返すことにより、図６のパート（Ｂ）に示す各数値が得られることとなる。
【００７６】
なお、図３に示す伸張処理部５の差分復号化部５３では、このように２次元差分符号化されたデータに対してデータの復号化処理が行われる。この復号化処理では、２次元差分符号化されたデータの値からＰｎ，ｍを求める式が使用されており、この式は以下のようにして求めることができる。
【００７７】
２次元差分符号化後の画素値Ｘｉ，ｊを、ｉ＝１からｉ＝ｍまで足し上げ、さらにｊ＝１からｊ＝ｍについて足し上げた結果は、式（１）および式（２）を用いて下記の式（３）のように表される。
【００７８】
【数１】
2011004338.tif 000003
【００７９】
ここで、式の途中に現れる｛Ｐ０，０，Ｐｎ，０，Ｐ０，ｍ｝に対して、式（２）が適用されている。この式から、２次元差分符号化前の画素値Ｐｎ，ｍは、下記の式（４）のように表される。
【００８０】
【数２】
2011004338.tif 000004
【００８１】
伸張処理部５の差分復号化部５３では、上記の式（４）により、先ず、１ライン目の画素値Ｐ１，１，Ｐ１，２，…，Ｐ１，Ｍが求められる。例えば、１ライン目の画素値のうち主走査方向にｍ番目の画素値は、上記の式（４）にｎ＝１を代入し、さらに式（２）のＰ０，Ｍ＝０を利用して、下記の式（５）のように表される。
【００８２】
【数３】
2011004338.tif 000005
【００８３】
このようにして、１ライン目の画素値、Ｐ１，１，Ｐ１，２，…，Ｐ１，Ｍがすべて求められる。
【００８４】
２ライン目の画素値Ｐ２，１，Ｐ２，２，…，Ｐ２，Ｍについては、同様に上記の式（４）にｎ＝２を代入し、さらに１ライン目の画素値の複合化で得られたＰ１，Ｍを用いることで求めることができる。例えば、２ライン目の画素値のうち主走査方向にｍ番目の画素値は、下記の式（６）のように表される。
【００８５】
【数４】
2011004338.tif 000006
【００８６】
３ライン目以降の画素値についても同様にして、上記の式（６）やそれ以降の計算で複合化された画素値を用いて求めることができる。図３に示す伸張処理部５の差分復号化部５３では、このような方式でデータの復号化処理が行われる。
【００８７】
図２に示す差分符号化部２３では、以上説明したような２次元差分符号化が画像データに施される。この２次元差分符号化によって得られるデータは、図２に示すオフセット部２４に入力され、そのデータの各数値についてオフセット値「０ｘ００８０」が加算され、データが下位サブプレーンＤ１Ｌと上位サブプレーンＤ１Ｈとに分割される。ここでは、データの分割までの処理について具体的に説明する。
【００８８】
図７は、制御部から差分符号化部に供給された画像データのヒストグラムの例を示す図である。図７には、制御部３５（図１）から供給された画像データにおけるデータ値のヒストグラムが示されており、このヒストグラムの横軸はデータ値、縦軸はデータ数（画素数）を表している。
【００８９】
図８は、図７に示す画像データに対する差分符号化およびオフセットの効果を示す図である。
【００９０】
図８のパート（Ａ）には、図７に示した画像データに対して差分符号化が施されて得られるデータのヒストグラムが示されており、このヒストグラムの横軸はデータ値、縦軸は出現頻度を表しており、ここには、この画像データに対して差分符号化が施されると、データのヒストグラムが、最小データ値と最大データ値の双方に鋭いピークを有するヒストグラムとなった様子が示されている。そして、このようなデータに対してオフセット値「０ｘ００８」によりオフセットが施されると、データのヒストグラムは、図８のパート（Ｂ）に示すような、オフセット値「０ｘ００８０」のところに鋭いピークを持つヒストグラムとなる。（オフセット値「０ｘ００８０」は１６ビットデータの場合であり、８ビットデータの場合は、オフセット値「０ｘ０８」にピークを持つヒストグラムになる。）
このように差分符号化およびオフセットによってヒストグラムが変形されたデータは、図２に示すプレーン分割部２５によって下位サブプレーンＤ１Ｌと上位サブプレーンＤ１Ｈとに分割される。
【００９１】
図９は、プレーン分割部によるデータ分割の効果を説明する図である。
【００９２】
この図９には、図８のパート（Ｂ）に示すヒストグラムがデータ値「２５５」とデータ値「２５６」との間で切り離されたヒストグラムが示されており、図２のプレーン分割部２５によるデータ分割は、まさにこのようなヒストグラムの分割に相当する効果を生じる。すなわち、本実施形態では、データを構成している１６ビットの各数値が上位８ビットと下位８ビットとに分割されることで、下位８ビットが表す数値の連続からなる下位サブプレーンＤ１Ｌと上位８ビットが表す数値の連続からなる上位サブプレーンＤ１Ｈとが得られる。そして、下位サブプレーンＤ１Ｌを構成する８ビットの数値が値「０」から値「２５５」までの各数値をそのまま表現していて、上位サブプレーンＤ１Ｈを構成する８ビットの数値の場合は、値「２５６」から値「６５５３５」までの数値を表現していると解釈すると、下位サブプレーンＤ１Ｌのヒストグラムは、この図９の左側に示されたヒストグラムとほぼ同じものとなり、上位サブプレーンＤ１Ｈのヒストグラムは、図９の右側に示されたヒストグラムとほぼ同じものとなる。ただし、上位サブプレーンのヒストグラムについては、図の右側に示されたヒストグラムのデータ値「２５６」のところに、図９の左側に示されたヒストグラムの面積に等しい高さのピークが付加されたものとなる。
【００９３】
以下では、上位サブプレーンＤ１Ｈと下位サブプレーンＤ１Ｌとに分割された後のデータの処理について説明する。
【００９４】
まず、図９の右側に示す上位サブプレーンＤ１Ｈに対する処理について説明する。
【００９５】
図９の右側に示されたヒストグラムにおいて画素の出現頻度がほとんどゼロに近いことからわかるように、上位サブプレーンＤ１Ｈ中の数値は、ゼロに近い値（１６進数表示での「００」や「０１」や「ＦＦ」）の連続が多いことが予想される。このため、上位サブプレーンＤ１Ｈに圧縮を施すには、同一の数値の連続を符号化することで圧縮を行うランレングス符号化が有効であり、上位サブプレーンＤ１Ｈは、図２に示すＨプレーン圧縮部２７の構成要素の１つであるランレングス符号化部２７１に入力される。
【００９６】
本実施形態では、ランレングス符号化部２７１で、上位サブプレーンＤ１Ｈを構成する連続した８ビットの数値が取り扱われ、１６進数表示で値「００」から値「ＦＦ」までの数値の連続に対して以下の符号化処理が適用される。
【００９７】
この符号化処理では、複数の８ビットの数値のうちの特定の数値についてのみ符号化処理が行なわれる。このため、このランレングス符号化部２７１では、受け取ったデータの中から、符号化処理を行う数値（ここでは、この数値を「圧縮対象数値」と称する）と、その圧縮対象数値の連続数が検出される。
【００９８】
本実施形態では、一例として、「０１」、「ＦＦ」および「００」の３つの数値を圧縮対象数値としている。
【００９９】
図１０は、図２に示すランレングス符号化部での符号化の説明図である。
【０１００】
図１０の上のラインは、上位サブプレーンＤ１Ｈを構成するデータ、下のラインは、ランレングス符号化部２７１での符号化処理を行った後のデータである。
【０１０１】
ここでは、図１０の上のラインに示すように、ランレングス符号化部２７１からは、
「０６  ０２  ０２  ０２  ０１  ０１  ０１  ０１  ０４  ０５  ００  …  」
なるデータが入力されたものとする。このとき、図２のランレングス符号化部２７１では、先頭の「０６」は圧縮対象数値ではなく、次に続く「０２  ０２  ０２」も圧縮対象数値ではなく、次に、圧縮対象数値である「０１」が４つ連続していること、次に、圧縮対象数値ではない「０４」、「０５」を間に置いて、圧縮対象数値である「００」が３２７６７個連続していることが検出される。
【０１０２】
図１１は、ランレングス符号化部における、圧縮対象数値を対象にした符号化のアルゴリズムを示す図である。
【０１０３】
この図１１中、Ｚは同一の圧縮対象数値の連続数、例えば図１０の上のラインの「０１」についてはＺ＝４、「００」についてはＺ＝３２７６７である。
【０１０４】
また、図１１中、「ＹＹ」は、１６進２桁で表わされた圧縮対象数値自体を表わしている。その「ＹＹ」に続く、「０」又は「１」は１ビットで表現された「０」又は「１」であり、さらにそれに続く「ＸＸＸ  ＸＸＸＸ…」は、１つの「Ｘ」が１ビットを表わしており、この「ＸＸＸ  ＸＸＸＸ…」でＺの値を表現している。
【０１０５】
すなわち、図１１は、圧縮対象数値「ＹＹ」がＺ＜１２８連続するときは、１バイト目で圧縮対象数値「ＹＹ」を表現し、それに続く１バイトで、先頭ビットが「０」、それに続く７ビットでＺの値を表現すること、また、圧縮対象数値「ＹＹ」がＺ≧１２８連続するときは、１バイト目で圧縮対象数値「ＹＹ」を表現し、それに続く２バイト（１６ビット）のうちの先頭の１ビットを「１」とすることで２バイトに跨って表現されていることを表現し、それに続く１５ビットで、Ｚの値を表現することを意味している。
【０１０６】
この図１１に示す規則に従って図１０に示す符号化の例について説明する。
【０１０７】
図２のプレーン分割部２５から入力されてきた上位サブプレーンＤ１Ｈのデータ（上のライン）を構成する先頭の数値「０６」は圧縮対象数値ではないため、その「０６」のまま出力される。また、それに続く「０２  ０２  ０２」も、「０２」は圧縮対象数値ではなく、これら３つの「０２」もそのまま出力される。次に、圧縮対象数値である「０１」が４個連続するため、「０１  ０４」に符号化される。次の「０４」及び「０５」は圧縮対象数値ではないため、そのまま「０４  ０５」が出力される。
【０１０８】
次に「００」が３２７６７個連続しているため、「００」を置き、次の１バイトのうちの先頭の１ビットを「１」とし、次いで１５ビットで３２８９５−１２８を表現することにより、「００  ＦＦ  ７Ｆ」の３バイトで「００」が３２７６７個連続していることを表現する。すなわち、連続数１２８は、最初のビット「１」を除き、「００  ００」と表現される。
【０１０９】
図１２は、図２のランレングス符号化部における、連続数に応じた符号化処理の例を示す図である。
・「００」が１２７個連続するときは、２バイトを用いて「００  ７Ｆ」に符号化され、
・「００」が３２７６７個連続するときは、３バイトを用いて「００  ＦＦ  ７Ｆ」に符号化され、
・「００」が３２８９５個連続するときは、３バイトを用いて「００  ＦＦ  ＦＦ」に符号化され、
・「００」が１２８個連続するときは、３バイトを用いて「００  ８０  ００」に符号化され、
・「０１」が１２９個連続するときは、３バイトを用いて「０１  ８０  ０１」に符号化され、
・「ＦＦ」が４０９６個連続するときは、３バイトを用いて「ＦＦ  ８Ｆ  ８０」に符号化される。
【０１１０】
図２に示すランレングス符号化部２７１では、上記のような符号化処理が行なわれる。
【０１１１】
本実施形態によるランレングス符号化部２７１によれば、最大圧縮率は、３／３２８９５＝１／１０，９６５にまで向上する。また、このランレングス符号化部２７１が符号化処理の対象としている上位サブプレーンＤ１Ｈのデータは、図９のヒストグラムで説明したように、８ビットの数値のほとんどが、元のデータ値「２５６」未満に相当する数値「０」となる。このためランレングス符号化部２７１における符号化処理によって大幅なデータ圧縮が期待される。
【０１１２】
図２のランレングス符号化部２７１で上記の符号化処理の行なわれた後のデータは、次に図２のＨプレーン圧縮部２７を構成するデータスキャン部２７２とハフマン符号化部２７３に入力される。
【０１１３】
このデータスキャン部２７２では、先ず、ランレングス符号化部２７１から出力されたデータの全体がスキャニングされてデータ値の出現頻度が求められる。
【０１１４】
図１３は、データスキャン部によるスキャニング結果の例を示す図である。
【０１１５】
ここでは、「Ａ１」の出現頻度が最も強く、以下順に、「Ａ２」、「Ａ３」、「Ａ４」、…の順であるとする。なお、これら「Ａ１」、「Ａ２」等は数値を直接表わしている訳ではなく、数値を表わす符号である。すなわち、「Ａ１」は例えば数値「００」、「Ａ２」は数値「ＦＦ」等である。また、ここでは、簡単のため、図２のランレングス符号化部２７１から送られてくるデータはすべてのデータ値が、「Ａ１」〜「Ａ１６」の１６個の数値のうちのいずれかの数値であるものとする。そして、このような１６個の数値それぞれに対して、データスキャン部２７２では、出現頻度に応じた符号が割り当てられてハフマンテーブルが作成される。即ち、出現頻度の最も高い「Ａ１」には、２ビットで表わされた符号「００」が割り当てられ、次の「Ａ２」には、やはり２ビットで表わされた符号「０１」が割り当てられ、次の「Ａ３」、さらに次の「Ａ４」には、３ビットで表わされる、それぞれ、符号「１００」、符号「１０１」が割り当てられ、次の「Ａ５」〜「Ａ８」には、５ビットで表わされる各符号が割り当てられ、以下同様に、出現頻度が低い数値ほど多くのビット数で表わされた符号が割り当てられる。
【０１１６】
図１４は、ハフマンテーブルの一例を示す図である。
【０１１７】
このハフマンテーブルは、出現頻度が高い数値ほど短かいビット数で表わされた符号に置き換えられるように並べられた、データ値と符号、すなわち、符号化前（置き換え前）の数値と符号化後（置き換え後）の数値との対応付けが１対１に記載された対応テーブルである。なお、図１４に示す符号の例は、実際のデータ値の出現頻度に基づいて決定されており、図１３に示すものとは各符号は異なっている。
【０１１８】
図１４に示すハフマンテーブルは、０から２５５まで２５６個のデータ値と２５６個の符号の１対１の対応付けが記載されており、データスキャン部２７２によるスキャニングの結果、データ中に出現する出現頻度の順にデータが並んでいる。ハフマンテーブルでは符号長も対応付けられている。例えば、ハフマンテーブルにおける１行目のデータ（数値）「０」および２行目のデータ「１」は、最も出現頻度が高く、最小のビット符号長である３ビットの符号長を有する符号「００１」および符号「０１０」がそれぞれ対応付けられている。２行目のデータ「２」は、その次に出現頻度が高く、符号として５ビットの符号長を有する「０１１００」が対応付けられている、このように、ハフマンテーブルでは、データに出現頻度が高いほど短い符号長の符号が対応付けられている。ハフマンテーブルの最下行では、出現頻度が最も低いデータ１３６に、符号として１２ビットの符号長を有する「１１１１１１１１１１１１」が対応付けられている。本実施形態における符号の、最長のビット符号長は１２ビットである。
【０１１９】
図２のＨプレーン圧縮部２７を構成するハフマン符号化部２７３では、このようなハフマンテーブルに従ってデータの数値が符号化され、その結果、多くの数値が短かいビット数の符号に置き換えられることとなってデータ圧縮が実現される。
【０１２０】
ランレングス符号化部２７１で符号化されたデータは８ビットごとに、ハフマン符号化部２７３によって符号に変換される。この変換によって可変長符号化された上位圧縮データＤ２Ｈが生成される。
【０１２１】
以上の図１０〜図１４で説明した処理により、図２のＨプレーン圧縮部２７に入力される上位サブプレーンＤ１Ｈについては、ランレングス符号化部２７１による符号化とハフマン符号化部２７３による符号化が施されることにより高い圧縮率で圧縮されて上位圧縮データＤ２Ｈとなる。
【０１２２】
次に、下位サブプレーンＤ１Ｌに対する処理について説明する。プレーン分割部２５で分割された下位サブプレーンＤ１Ｌは連続した８ビットの数値として取り扱われ、ハフマン符号化部２６１において、図１３〜図１４で説明したハフマン符号化処理が行われる。ハフマン符号化部２６１で符号への変換に用いられるハフマンテーブルは、データスキャン部２６３のスキャンによって生成されるが、本実施形態における下位サブプレーンのハフマンテーブルの内容は、説明の簡単のため、上位サブプレーンの図１４に示した例と同じであるとして説明する。Ｌプレーン圧縮部に入力されたデータは８ビットごとに、ハフマン符号化部２６１によって符号に変換される。この変換によって可変長符号化された下位圧縮データＤ２Ｌが生成される。
【０１２３】
なお、上述したように、ユーザから、高速モードが指示された場合には、モード切替部２６２が切り替えられ、ハフマン符号化部２６１によるハフマン符号化処理は省略されて、下位サブプレーンＤ１Ｌは下位圧縮データＤ２ＬとしてＬプレーン圧縮部２６から出力されることになる。
【０１２４】
上位圧縮データＤ２Ｈおよび下位圧縮データＤ２Ｌは、フレーム合成部２８によって組み合われられて１つのフレームが生成され、フレームが通信Ｉ／Ｆ３６によって送信される。フレームにはフレームの伸張処理に必要な各種設定がヘッダとして挿入さる。このヘッダには、ハフマン復号化に用いるテーブルも含まれる。
【０１２５】
フレーム合成部２８によって合成されたフレームは、図１に示す通信Ｉ／Ｆ３６から、無線でシステムコントローラ４の通信Ｉ／Ｆ４５に送信され、伸張処理部５で伸張処理が施される。
【０１２６】
図３に示す伸張処理部５では、図２、および図３〜１６を参照して説明した圧縮処理部２とは逆の伸張処理を行い画像データを生成する。
【０１２７】
上位圧縮データＤ２Ｈおよび下位圧縮データＤ２Ｌ、すなわち、複数のデータ値と複数の符号との１対１の対応付けが記載されたハフマンテーブルが用いられて変換対象のデータが符号に変換されてなる符号化データは、フレームの形式でフレーム解析部５８に受信される。また、このフレームには、ハフマンテーブルも含まれている。フレーム解析部５８は、フレームから上位圧縮データＤ２Ｈ、下位圧縮データＤ２Ｌ、およびハフマンテーブルを取り出す。
【０１２８】
フレーム解析部５８からは、符号化に用いられたハフマンテーブルがＨプレーン伸張部５７のハフマン復号化部５７３に供給され、ハフマン復号化部５７３に供給された下位圧縮データＤ２Ｌが、ハフマンテーブルを利用してテーブルのデータ値に復号化される。ここで、復号化された数値は、ランレングス符号化部５７１によって、同一対象数値の連続数を表わす符号が、その値の連続に置き替えられることによって上位サブプレーンＤ１Ｈとなる。
【０１２９】
また、フレーム解析部５８からは、符号化に用いられたハフマンテーブルがＬプレーン伸張部５６のハフマン復号化部５６１に供給され、ハフマン復号化部５６１に供給された下位圧縮データＤ２Ｌは、ハフマンテーブルを利用してテーブルのデータ（数値）に復号化され、下位サブプレーンＤ１Ｌとなる。
【０１３０】
上位サブプレーンＤ１Ｈおよび下位サブプレーンＤ１Ｌはプレーン合成部５５によって、下位ビットおよび上位ビットとして合成される。合成された数値のそれぞれは、オフセット部５４によって所定のオフセット値でオフセットされ、差分復号化部５３によって差分符号化部２３（図２）とは逆の演算が施される。これによって、差分符号化部２３に入力された、圧縮前の画像データが復元される。
【０１３１】
ここで、ハフマン復号化部について説明する。Ｈプレーン伸張部５７のハフマン復号化部５７３とＬプレーン伸張部５６のハフマン復号化部５６１とは同一の構成を有しているため、代表として、Ｌプレーン伸張部５６のハフマン復号化部５６１を説明する。
【０１３２】
図１５は、図１３に示すハフマン複合化部の内部構成を示すブロック図である。
【０１３３】
図１５に示すハフマン復号化部５６１は、符号化データを一時的に蓄えるバッファ５６１０と、符号化データをシフトするシフトレジスタ５６１１と、ハフマンテーブルの内容を保持する汎用テーブル保持部５６１２と、テーブル５６１２から符号を読み出す１６個の読出部５６１３（５６１３ａ，５６１３ｂ，５６１３ｃ，…，５６１３ｄ）と、２つの１２ビットデータの値の大小を比較する１６個の汎用比較部５６１４（５６１４ａ，５６１４ｂ，５６１４ｃ，…，５６１４ｄ）と、ハフマンテーブルの一部を保持する専用テーブル保持部５６１５と、２つの２ビットデータの値を比較する２個の２ビット比較部５６１６（５６１６ａ，５６１６ｂ）と、２つの３ビットデータの値を比較する３個の３ビット比較部５６１７（５６１７ａ，５６１７ｂ，５６１７ｃ）と、データ値を出力する出力部５６１８とを備えている。
【０１３４】
ここで、バッファ５６１０が、本発明にいうデータ受信部の一例に相当する。また、汎用テーブル保持部５６１２、読出部５６１３、および汎用比較部５６１４の組合せが本発明にいう符号検索部の一例に相当する。また、専用テーブル保持部５６１５、２ビット比較部５６１６、および３ビット比較部５６１７の組合せが、本発明にいう比較部の一例に相当する。また、出力部５６１８が、本発明にいう出力部の一例に相当する。
【０１３５】
バッファ５６１０は、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）方式のメモリでありフレーム解析部５８から出力された符号化データを受信し、一時的に蓄える。
【０１３６】
シフトレジスタ５６１１は、バッファ５６１０から符号化データを読出して出力する。シフトレジスタ５６１１からは、先頭のビット０からビット１１までの１２ビット分の符号化データが出力される。汎用比較部５６１４には、出力されるデータのうち、ビット０からビット１１までが供給され、２ビット比較部５６１６には、出力されるデータのうちビット０およびビット１が供給され、３ビット比較部５６１７にはビット０からビット２までが供給される。
【０１３７】
また、シフトレジスタ５６１１は、符号化データを、指定されたビット数だけデータの先頭側すなわち図の左側へ移動させることによって、符号化データにおいて注目対象となる先頭を後方側に移していく。より詳細には、シフトレジスタ５６１１におけるデータの移動によって、データの先頭側すなわち図の左側から順に指定されたビット数の符号が除去される。これと同時に、除去された符号に続く次の符号の位置が繰り上がり、この繰り上がった符号がビット０から配置されることとなる。また、シフトレジスタ５６１１から除去されたビット数と同じビット数の新しいデータがバッファ５６１０から読み出されることによってシフトレジスタ５６１１に補充される。
【０１３８】
汎用テーブル保持部５６１２には、フレーム解析部５８から出力されたハフマンテーブル、つまり、ハフマン符号化部２７３（図２）においてデータが符号に変換されたときに用いられた、データ値と複数の符号との１対１の対応付けが記載されたハフマンテーブルが保持される。
【０１３９】
図１６は、図１５に示す汎用テーブル保持部に保持されたハフマンテーブルの例を示す図である。図１６の左側の表には、符号化の場面で図１４に示すハフマン符号が用いられた場合に、汎用テーブル保持部５６１２に保持されたハフマンテーブルが示されている。
【０１４０】
汎用テーブル保持部５６１２には、データ値（数値）と符号と符号長とが対応付けられて保持される。汎用テーブル保持部５６１２は、フレーム解析部５８から出力された、符号化で用いられた図１４のハフマンテーブルとは異なり、符号について下位側にビット値「０」が付加され、最長のビット長すなわちここでは１２ビット長となった付加符号を保持する。
【０１４１】
汎用テーブル保持部５６１２の１番目すなわちアドレス０には、例えば図１６のテーブルの１行目に示すように、図１４の１行目に示した３ビットの符号「００１」に対して、下位側に９ビットのビット値「０」が付加された付加符号「００１０００００００００」が、この符号の本来のビット長「３」と対応するデータの値「０」ともに保持される。２番目以降も同様である。ハフマンテーブルの各符号の下位側に「０」が付加されてビット数が統一された付加符号は、符号同士の値の順番が既知であり、付加符号は、具体的には、値が小さい順に並んでいる。
【０１４２】
読出部５６１３は、汎用テーブル保持部５６１２から付加符号を読み出して汎用比較部５６１４に供給する。汎用比較部５６１４は、２つの１２ビット長の値の大小を比較するマグネチュードコンパレータである。汎用比較部５６１４は、読出部５６１３によって汎用テーブル保持部５６１２から読み出された、１２ビット分の付加符号の値と、シフトレジスタ５６１１の先頭から始まる１２ビット分のデータ部分の値との大小を比較する。比較結果は、シフトレジスタ５６１１のデータの値が付加符号の値以上か未満かのいずれかとなる。
【０１４３】
シフトレジスタ５６１１の１２ビットのデータ部分と、汎用テーブル保持部５６１２内の、「０」が付加されて１２ビットとなった付加符号のそれぞれとの大小が比較されることにより、シフトレジスタ５６１１の先頭から始まる符号に対応する付加符号が、汎用テーブル保持部５６１２内から検索される。
【０１４４】
出力部５６１８は、汎用比較部５６１４による検索で見つかった付加符号に対応するデータ値を汎用テーブル保持部５６１２から読み出して出力する。ここで、付加符号に対応するデータ値は、すなわちこの付加符号の元となった符号に対応するデータ値のことであり、結果的に、出力部５６１８は、符号に対応するデータ値を出力することとなる。また、出力部５６１８には、ビット数出力部５６１８ａが備えられており、このビット数出力部５６１８ａは、見つかった符号に対応する符号長を読み出してシフトレジスタ５６１１に供給する。これによって、符号化データにおいて復号化された符号の次の符号がシフトレジスタ５６１１内の先頭に配置されることなる。ここで、ビット数出力部５６１８ａおよびシフトレジスタ５６１１の組合せが、本発明にいう先頭移動部の一例に相当する。
【０１４５】
読出部５６１３および汎用比較部５６１４は、シフトレジスタ５６１１のデータと、汎用テーブル保持部５６１２の付加符号との大小比較を、離散比較、更に詳細比較と２段階で比較することにより、汎用テーブル保持部５６１２に保持された２５６個の付加符号の中から、１６個の汎用比較部５６１４を用いて、シフトレジスタ５６１１のデータに対応する付加符号を検索することができる。この、汎用比較部５６１４による検索の詳細については後述する。
【０１４６】
専用テーブル保持部５６１５は、データが符号に変換されたときに用いられたハフマンテーブルの符号のうち、最長の符号長（１２ビット）より短い２ビットの符号および符号長が３ビットの符号を特定符号として保持し、これらの符号に対応するデータ値も保持する。例えば、図１４に示すハフマンテーブルの例では最小のビット符号長は３ビットであり、２ビット長の符号はない。この場合、特定符号として最小の符号長である３ビットの符号「００１」，「０１０」とこれらの符号に対応する８ビットの値「０」，「１」が専用テーブル保持部５６１５によって保持される。
【０１４７】
２ビット比較部５６１６（５６１６ａ，５６１６ｂ）は、専用テーブル保持部５６１５に保持された２ビットの符号と、シフトレジスタ５６１１のデータの先頭から２ビット分のデータとの一致不一致を比較する。また、３ビット比較部５６１７（５６１７ａ，５６１７ｂ，５６１７ｄ）は、専用テーブル保持部５６１５に保持された３ビットの符号と、シフトレジスタ５６１１のデータの先頭から３ビット分のデータとの一致不一致を比較する。ただし、例えば図１４に示すように２ビット長の符号がない場合には２ビット比較部５６１６は動作せず、３ビット比較部５６１７のうち、専用テーブル保持部５６１５に値が保持された部分に対応する３ビット比較部５６１７ａ，５６１７ｂが比較を行う。
【０１４８】
図１７は、図１５に示すシフトレジスタ、２ビット比較部、３ビット比較部、および汎用比較部の接続関係を簡潔に示したブロック図である。
【０１４９】
図１７に示すように、２ビット比較部５６１６、３ビット比較部５６１７、および汎用比較部（コンパレータ）５６１４は、シフトレジスタ５６１１に対し並列に接続されており、シフトレジスタ５６１１から出力される符号化データに対し比較を同時に開始することができる。
【０１５０】
図１５に戻って説明を続ける。出力部５６１８は、上述したように、汎用比較部５６１４による検索で見つかった符号に対応するデータ値を汎用テーブル保持部５６１２から読み出して出力するが、２ビット比較部５６１６および３ビット比較部５６１７よる比較の結果、専用テーブル保持部５６１５に保持された特定符号と、シフトレジスタ５６１１の符号化データの先頭のデータ部分とが一致していた場合には、特定符号に前記対応テーブルで対応付けられているデータ値を復号化データとして出力する。そして、出力部５６１８は、２ビット比較部５６１６および３ビット比較部５６１７よる比較の結果、特定符号とデータ部分とが不一致であった場合には、汎用比較部５６１４による検索で見つかった符号に対応するデータ値を汎用テーブル保持部５６１２から読み出して出力する。
【０１５１】
ビット数が短い特定符号については、２ビット比較部５６１６および３ビット比較部５６１７によって符号化データの中の部分との一致不一致に基づいてデータ値が求められる。したがって、特定符号については簡単な構成で高速にデータ値が求められる。
【０１５２】
続いて、汎用比較部５６１４による検索の手順について説明する。
【０１５３】
ここでは、汎用テーブル保持部５６１２に、図１６に示す値が保持され、シフトレジスタ５６１１に、符号化データとして先頭から１２ビットの値「１０００１１００１１００」が保持された場合の例について説明する。
【０１５４】
まず、比較の１回目である離散比較では、読出部５６１３が、図１６に示すように付加符号が値の順に並んで保持された汎用テーブル保持部５６１２から一定間隔で離散した付加符号、例えば１６行ごとに１つの付加符号を読み出し、汎用比較部５６１４に供給する。この場合、２５６行のテーブルからは、アドレス０，１６，３２，４８，６０，…２４０に対応する１６の付加符号が読み出され、１６個の汎用比較部５６１４に供給される。なお、アドレス０については比較結果が明らかなので省略することができる。
【０１５５】
汎用比較部５６１４のそれぞれは、汎用テーブル保持部５６１２から読み出された１２ビットの付加符号の値と、シフトレジスタ５６１１に保持された１２ビットのデータの値の大小比較を行う。図１６の右側の表には、この１回目の比較結果の一部が示されている。シフトレジスタ５６１１の符号化データ「１０００１１００１１００」の値は、汎用テーブル保持部５６１２の付加符号のうち、例えばアドレス１６の付加符号「０１１１１０００００００」の値より大きい、つまり、付加符号の値以上である。他の付加符号について見ると、シフトレジスタ５６１１の符号化データの値は、アドレス１６，３２，４８，…，１４４の付加符号の値以上である。この一方、シフトレジスタ５６１１の符号化データの値は、アドレス１６０，１７６，１９２，…，２４０の付加符号の値未満である。これによって、シフトレジスタ５６１１の符号化データは、汎用テーブル保持部５６１２の付加符号のうち、アドレス１４４とアドレス１５９に保持された付加符号の値の範囲に絞り込まれる。
【０１５６】
次に、比較の２回目である詳細比較では、読出部５６１３が、図１６に示すように付加符号が値の順に並んで保持された汎用テーブル保持部５６１２から、シフトレジスタ５６１１の符号化データの値よりも小さくこの符号化データの値に最も近い付加符号と、この符号化データの値よりも大きく符号化データの値に最も近い付加符号との間に並んだすべての付加符号を読み出し、汎用比較部５６１４に供給する。今回の例では、汎用テーブル保持部５６１２の、アドレス１４４とアドレス１５９の間に保持された１６個の付加符号が読み出され、１６個の汎用比較部５６１４にそれぞれ供給される。なお、アドレス１４４については、比較の１回目で大小比較が完了しているので省略することができる。
【０１５７】
汎用比較部５６１４のそれぞれは、汎用テーブル保持部５６１２から読み出された１２ビットの付加符号の値と、シフトレジスタ５６１１から出力された１２ビットの符号化データの値の大小比較を行う。図１８の右側の表には、比較結果の一部が示されている。シフトレジスタ５６１１の符号化データの１２ビットの値「１０００１１００１１００」は、汎用テーブル保持部５６１２の付加符号のうち、例えばアドレス１４５の付加符号「０１０００１１００１１００」の値より大きい、つまり、付加符号の値以上である。他の付加符号について見ると、シフトレジスタ５６１１の符号化データの値は、アドレス１４５，１４６，１４７，…，１５５の付加符号の値以上である。この一方、シフトレジスタ５６１１の符号化データの値は、アドレス１５６，１５７，１５８，１５９の付加符号の値未満である。これによって、シフトレジスタ５６１１の符号化データは、汎用テーブル保持部５６１２の付加符号のうち、アドレス１５５に保持された付加符号に対応すると判定される。つまり、シフトレジスタ５６１１から出力された符号化データの先頭から８ビット分には、汎用テーブル保持部５６１２のアドレス１５５に保持された付加符号「１０００１１００００００」の元となった８ビットの符号「１０００１１００」が含まれている。このようにして、目的の付加符号が検索される。
【０１５８】
出力部５６１８は、汎用比較部５６１４による検索で見つかった符号に対応するデータ値を汎用テーブル保持部５６１２から読み出して出力する。上述した例では、汎用テーブル保持部５６１２のアドレス１５５に保持されたデータの値「１６７」が復号化データとして出力される。また、出力部５６１８のビット数出力部５６１８ａは、復号化データとして出力されたデータ値にハフマンテーブルで対応付けられている符号長も読み出しビット数としてシフトレジスタ５６１１に供給する。上述した例では、汎用テーブル保持部５６１２のアドレス１５５に保持された符号長「８」が出力される。この結果、シフトレジスタ５６１１は、データ全体を８ビット分先頭に移動して、すでに一致が検出された８ビットの符号を復号済として廃棄するとともに、９ビット目から始まる次の符号をシフトレジスタ５６１１内の先頭に配置する。こうして符号化データの符号は順次検索され、対応するデータ値に変換されていく。
【０１５９】
このように本実施形態のハフマン復号化部５６１は、離散比較および詳細比較の２段階に分けて比較を行い、該当する符号を検索することによって、それぞれの段階の比較処理の数を抑えることができる。したがって、比較のための回路規模が低減する。
【０１６０】
また、シフトレジスタ５６１１のから出力される符号化データが、仮に、例えば「００１」で始まる値の場合には、３ビット比較部５６１７ａによって符号化データの中の「００１」部分との一致が検出される。この場合、出力部５６１８は、汎用比較部５６１４による比較結果を待たずに、専用テーブル保持部５６１５から、３ビット比較部５６１７ａに対応する値「０」を読出して出力する。また、出力部５６１８のビット数出力部５６１８ａは、３ビット比較部５６１７ａが比較を行ったビット数「３」をシフトレジスタ５６１１に供給する。このように、３ビットの符号については、２段階の比較による検索を経ずに、比較部５６１７によって直ちに符号が求められる。特にハフマン符号化では、少ない符号長の符号ほど出現頻度が高いため、全体的な復号化速度がより高速となる。
【０１６１】
このようにして、本実施形態のシステムコントローラ４では、回路規模を抑えつつ復号化の高速化が可能となる。
【０１６２】
なお、上述した実施形態では、本発明の実施形態として、放射線画像診断システムのシステムコントローラを説明したが、本発明のデータ復号化装置はこれに限られるものではなく、複数のデータ値と複数の符号との１対１の対応付けが記載された対応テーブルが用いられて変換対象のデータが符号に変換されてなる符号化データを復号化する復号化装置に適用することができる。例えば、上述した実施形態では、差分符号化処理されたデータをハフマン符号化した符号化データを復号化する例を示したが、本発明はこれに限られるものではなく、例えば、離散コサイン変換が施されたデータをハフマン符号化した符号化データを復号化するものであってもよい。
【０１６３】
また、上述した実施形態では、ハフマンテーブルがデータスキャン部によって出現頻度に応じた最適化がなされる例を説明したが、本発明はこれに限られるものではなく、例えば、対応テーブルは、事前に準備された固定テーブルであってもよい。
【０１６４】
また、上述した実施形態では、付加符号のビット長として、ハフマンテーブルの中の最長のビット符号長である１２ビットの例を説明したが、本発明にいう付加符号ののビット長は、対応テーブル中で最長のビット符号長以上の所定ビット長分であればよく、例えば、最長のビット符号長が１２ビットの場合でも、付加符号を例えば２４ビットや３２ビットとして比較を行うものであってもよい。
【符号の説明】
【０１６５】
Ｓ    放射線画像診断システム
１    放射線照射装置
２    圧縮処理部
３    放射線検出ユニット
４    システムコントローラ
５    伸張処理部
１１    放射線源
５３    差分復号化部
５４    オフセット部
５５    プレーン合成部
５６    Ｌプレーン伸張部
５７    Ｈプレーン伸張部
５８    フレーム解析部
５６１０    バッファ
５６１１    シフトレジスタ
５６１２    汎用テーブル保持部
５６１３    読出部
５６１４    汎用比較部
５６１５    専用テーブル保持部
５６１６    ２ビット比較部
５６１７    ３ビット比較部
５６１８ａ    ビット数出力部
５６１８    出力部
【図１】
2011004338.tif 000007
【図２】
2011004338.tif 000008
【図３】
2011004338.tif 000009
【図４】
2011004338.tif 000010
【図５】
2011004338.tif 000011
【図６】
2011004338.tif 000012
【図７】
2011004338.tif 000013
【図８】
2011004338.tif 000014
【図９】
2011004338.tif 000015
【図１０】
2011004338.tif 000016
【図１１】
2011004338.tif 000017
【図１２】
2011004338.tif 000018
【図１３】
2011004338.tif 000019
【図１４】
2011004338.tif 000020
【図１５】
2011004338.tif 000021
【図１６】
2011004338.tif 000022
【図１７】
2011004338.tif 000023
【図１８】
2011004338.tif 000024