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