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