(57)【要約】【課題】１画素もしくは１画素の構成する要素が９ビット以上の、複数バイトで表現される画像に対し、高い圧縮率で圧縮できると共に、その圧縮された画像を復元する。【解決手段】１画素が１２ビットで表わされるＸ線透視像等の医療診断画像を圧縮する際、１２ビットは２バイトで記憶管理されるものであるので、先ず、上位のバイトと下位のバイトとに分離する。そして分離された上位バイトと下位バイトをそれぞれ独立して可逆的に圧縮する。【選択図】　図６
2004072273.tif 000002
【特許請求の範囲】
【請求項１】
１画素の値、もしくは、１画素を構成する複数成分のうちの１つの成分値が９ビット以上の多バイトで表される多階調画素で構成される画像データを圧縮する画像処理装置であって、
前記多階調画素を上位のバイトと、それ以外の下位のバイトとに分離する分離手段と、
該分離手段で分離された上位のバイトについて可逆的に圧縮する第１の圧縮手段と、
該第１の圧縮手段と独立し、前記分離手段で分離された下位のバイトについて可逆的に圧縮する第２の圧縮手段と、
前記第１、第２の圧縮手段で圧縮されたデータを結合し、圧縮後のデータとして出力する結合手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記第１、第２の圧縮手段は、画像の１ライン単位に圧縮を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記結合手段により上位と下位バイトの圧縮後のデータを結合する際、原画像のサイズを示す情報をヘッダとして付加する手段を更に備えることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記第１、第２の圧縮手段は、画像の１ライン単位に圧縮を行い、１ラインの終端を示す終端コードを圧縮データの最後に付加し、
前記分離手段は、圧縮しようとする画像データから１画素単位に入力する入力手段と、入力した画素データの上位のバイトのデータを前記第１の圧縮手段に分配し、下位のバイトのデータを前記第２の圧縮手段に分配する分配手段とを備えることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項５】
前記第１、第２の圧縮手段は、パックビッツ圧縮を利用することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記画像は１画素が１２ビットで表わされる医療診断画像であることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
請求項１に記載の装置で圧縮された圧縮データを伸長する画像処理装置であって、
上位バイトの圧縮データを伸長する第１の伸長手段と、
下位バイトの圧縮データを伸長する第２の伸長手段と、
前記第１、第２の伸長手段により得られた上位バイト及びそれに対応する下位バイトを結合して多バイトの画素データを復元する復元手段と
を備えることを特徴とする画像処理装置。
【請求項８】
１画素の値、もしくは、１画素を構成する複数成分のうちの１つの成分値が９ビット以上の多バイトで表される多階調画素で構成される画像データを圧縮する画像処理方法であって、
前記多階調画素を上位のバイトと、それ以外の下位のバイトとに分離する分離工程と、
該分離工程で分離された上位のバイトについて可逆的に圧縮する第１の圧縮工程と、
該第１の圧縮工程と独立し、前記分離手段で分離された下位のバイトについて可逆的に圧縮する第２の圧縮工程と、
前記第１、第２の圧縮工程で圧縮されたデータを結合し、圧縮後のデータとして出力する結合工程と
を備えることを特徴とする画像処理方法。
【請求項９】
請求項１に記載の装置で圧縮された圧縮データを伸長する画像処理方法であって、
上位バイトの圧縮データを伸長する第１の伸長工程と、
下位バイトの圧縮データを伸長する第２の伸長工程と、
前記第１、第２の伸長工程により得られた上位バイト及びそれに対応する下位バイトを結合して多バイトの画素データを復元する復元工程と
を備えることを特徴とする画像処理方法。
【請求項１０】
１画素の値、もしくは、１画素を構成する複数成分のうちの１つの成分値が９ビット以上の多バイトで表される多階調画素で構成される画像データを圧縮する画像処理装置として機能するコンピュータプログラムであって、
前記多階調画素を上位のバイトと、それ以外の下位のバイトとに分離する分離手段と、
該分離手段で分離された上位のバイトについて可逆的に圧縮する第１の圧縮手段と、
該第１の圧縮手段と独立し、前記分離手段で分離された下位のバイトについて可逆的に圧縮する第２の圧縮手段と、
前記第１、第２の圧縮手段で圧縮されたデータを結合し、圧縮後のデータとして出力する結合手段と
して機能することを特徴とするコンピュータプログラム。
【請求項１１】
請求項１０に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【請求項１２】
請求項１に記載の装置で圧縮された圧縮データを伸長する画像処理装置として機能するコンピュータプログラムであって、
上位バイトの圧縮データを伸長する第１の伸長手段と、
下位バイトの圧縮データを伸長する第２の伸長手段と、
前記第１、第２の伸長手段により得られた上位バイト及びそれに対応する下位バイトを結合して多バイトの画素データを復元する復元手段と
して機能することを特徴とするコンピュータプログラム。
【請求項１３】
請求項１２に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データを圧縮、伸長する画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体に関するものである。
【０００２】
【従来の技術】
従来、外部装置により撮影された画像データをプリントする際、パソコンなどの上位装置により拡大・縮小補間や回転などの画像処理を行い、その処理によって生成されたビットプレーンを受信してプリントする、プリンタ装置が有る。
【０００３】
また、外部装置により編集・加工された階調データを受信し、ビットプレーンを生成してプリントするプリンタ装置も存在する。
【０００４】
一方、医療分野において、診断画像データ（例えばＸ線透視像）は主に１画素１２ビットのモノクロ階調で表されるが、１６ビット拡張して１画素２バイトのデータとして転送される。
【０００５】
図１は、医療画像の例を示す図である（図面は本来は多値であるが、出願図面は２値画像のみが許されるので、誤差拡散処理して２値化している）。図２は、図１の画像データの一部を１６進数表記で表したものであり、同図（ａ）は画像の有意部分の一部であり、同図（ｂ）は、画像の背景部分の一部である。
【０００６】
【発明が解決しようとする課題】
近年、プリンタの解像度が向上し、また、インクジェットプリンタにおいては、使用するインクの種類も増加したため、外部装置からプリンタへ転送されるデータの量が増大している。例えば、上位機器でビットプレーンを生成する第一の方法を用いて、１４×１７インチのフィルム（以下、半切フィルムと記載）に６種のモノクロ濃淡インクを搭載した解像度１２００ｄｐｉのインクジェットプリンタで医療画像をプリントする場合、１４ｉｎｃｈ×１２００ｄｐｉ×１７ｉｎｃｈ×１２００ｄｐｉ×６ビットプレーン＝約２４５ＭＢのデータ量となり、データ転送に時間がかかるという問題が有る。
【０００７】
また、プリンタ側でビットプレーンを生成する第二の方法で、外部装置により６００ｄｐｉの階調データを生成・転送し、プリンタ側で１２００ｄｐｉのビットプレーンを生成してプリントする場合においても、データ量は１４ｉｎｃｈ×６００ｄｐｉ×１７ｉｎｃｈ×６００ｄｐｉ×１６ｂｉｔ＝約１６３ＭＢとなり、データ転送に時間がかかるという問題が有る。
【０００８】
この転送データ数を削減するために、前記第一、第二の方法に加え、外部装置でデータを圧縮し、プリンタ側で伸長して出力する方法がある。ビットプレーンに対する圧縮方法として、主にパックビッツ圧縮が使用されている。この圧縮方法は、簡単な構成で安価に実現できるという利点がある。しかし、図１に示すような医療画像の場合、インクの組み合わせによる濃度階調では表現可能な階調数には限界が有り、面積階調を用いて表現可能な階調数を増加させている。このため、隣接する画素が同一濃度であってもバイト単位では異なるデータとなる場合が多く、圧縮率が低いという問題が有った。また、濃度階調で表現される画像データに対しては、主にＪＰＥＧ圧縮が知られているが、処理が複雑で装置が高価のものとなってしまうという問題が有る。しかし、安価なパックビッツ圧縮を１２ビット階調の画像データに用いても、圧縮されずデータ量が増加する。
【０００９】
図３（ａ）は、図２のデータをパックビッツ圧縮より圧縮した一例である。図３（ａ）は図２（ａ）の有意画像領域の６４バイトを圧縮したものであるが、１つとして同じバイトが連続していず、結果的に６４個のデータがそのまま残ることになり、先頭の□で囲んだ符号バイト（これ以降に、６４個のデータが存在することを示す符号）が追加される分だけ、逆にデータが増加する。
【００１０】
図３（ｂ）は図２（ｂ）の背景画像領域の６４バイトを圧縮したものである。背景画像は同一の濃度であるが、バイト単位では連続したデータとなっていない。そのため図３（ａ）と同様の結果となっているのがわかる。
【００１１】
本発明は上記の問題に鑑みてなされたものであり、１画素もしくは１画素の構成する要素が９ビット以上の、複数バイトで表現される画像（特に、医療用診断画像）に対し、高い圧縮率で圧縮できると共に、その圧縮された画像を復元することを可能にする画像処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体を提供しようとするものである。
【００１２】
【課題を解決するための手段】
かかる課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
１画素の値、もしくは、１画素を構成する複数成分のうちの１つの成分値が９ビット以上の多バイトで表される多階調画素で構成される画像データを圧縮する画像処理装置であって、
前記多階調画素を上位のバイトと、それ以外の下位のバイトとに分離する分離手段と、
該分離手段で分離された上位のバイトについて可逆的に圧縮する第１の圧縮手段と、
該第１の圧縮手段と独立し、前記分離手段で分離された下位のバイトについて可逆的に圧縮する第２の圧縮手段と、
前記第１、第２の圧縮手段で圧縮されたデータを結合し、圧縮後のデータとして出力する結合手段とを備える。
【００１３】
また、本発明の実施態様に従えば、１画素１２ビットのモノクロ階調で表現される医療画像において、隣り合う画素同士は、濃度に斑が有るものの、上位バイトに就いては、比較的連続した画素で同一のデータが並んでいるという点に着目し、画像データを上位と下位の２バイトをそれぞれ１バイトずつ分割して、パックビッツ圧縮を行うことにより、安価な構成で圧縮率を向上させる。
【００１４】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１５】
尚、以下の実施形態では、１画素１２ビットのモノクロ階調で表現される２６８８×２６８８画素の医療画像をパックビッツ圧縮を用いて、圧縮・伸長する場合に就いて図を用いて説明する。実際の医療画像をプリントする際には、現画像を所望のプリントサイズとなるように、拡大又は縮小補間処理した後、中間調処理を加えて、ビットプレーンを生成するが、説明を簡易化するため、補間処理を行わない画像処理の例説明する。
【００１６】
図１０は、実施形態における画像処理装置及びその周辺機器を含むブロック構成図である。
【００１７】
図中、１００が画像処理装置であって、汎用の情報処理装置、例えばワークステーションやパーソナルコンピュータで実現する。２００は医療画像取得装置であって、実施形態では被検体（被検者）のＸ線透視像を電子的に（１画素１２ビットのデジタル画像データとして）取得し、画像処理装置１００に出力するものである。なお、図示では、医療画像取得装置２００と画像処理装置１００とが直接に接続される例を示しているが、医療画像取得装置２００で得られた画像データを一旦、ＭＯ等の可搬性の記憶媒体に格納し、その記憶媒体を画像処理装置が備える記憶媒体ドライブにセットして読出すようにしても良いのは勿論である。
【００１８】
３００は医療用画像をフィルム上に形成するプリンタであって、記録方式としては如何なるものでも良いが、高い解像度が要求される点、及び、階調の表現が容易な点から、異なる濃度のインク液滴を吐出するインクジェットプリンタとした。
【００１９】
画像処理装置１００は以下の構成を備える。１０１は装置全体の制御を司るＣＰＵ、１０２は医療画像取得装置２００と接続し、通信するためのインタフェース２である。先に説明したように、医療画像取得装置側で可搬記憶媒体に一旦格納し、そこから画像データを入力（読出す）場合には、このインタフェース１０２２にその可搬記憶媒体をセットする外部記憶装置が接続すれば良いであろうし、インタフェース１０２２は回線やネットワークと接続するインタフェースであっても良い。１０３はＢＩＯＳやブートプログラムを記憶しているＲＯＭであり、１０４はＯＳや各アプリケーション（実施形態における画像処理プログラムを含む）を展開するため、及びワークエリアとして利用するＲＡＭである。１０５はハードディスクドライブであって、ここにはＯＳ、実施形態で説明する画像処理プログラム等が格納されている。また、外部より受信した医療画像や、処理後の画像をファイルとして記憶するためにも用いられる。１０６は表示装置であって、１０７は表示装置に表示すべき画像データを展開するためのメモリを内蔵する表示制御部である。１０８はキーボードやポインティングデバイス等で構成される入力装置である。１０９はプリンタ３００と接続するためのインタフェースである。
【００２０】
以上であるが、以下に説明する各実施形態では上記構成が共通のものとして説明する。
【００２１】
＜第１の実施形態＞
医療画像取得装置２００から、今、図１に示す画像（１画素当たり１２ビット＝４０９６階調）の画像データを入力したとする。実施形態の如く、汎用の情報処理装置で処理するわけであるから、処理単位は１バイトの整数倍となるが、着目している画素は１２ビットであるわけであるから、２バイト（＝１６ビット）で表現されていることになる。なお、上位の１バイトにおいて、その下位４ビットのみが有意なデータであるわけであるから、上位バイトの取り得る範囲は０乃至１５となる。一方、下位の１バイトは８ビットが有効となり、０〜２５５の範囲を取り得ることになる。
【００２２】
さて、実施形態では、上記のようにして与えられた画像データの各画素における上位１バイトと下位１バイトとをそれぞれ別々に可逆圧縮する。圧縮の手法としては、その処理が非常に単純なＰａｃｋＢｉｔｓ法を用いるものとした。
【００２３】
図２（ａ）のような画像データがあったとき、左上隅（上位バイト）とその右隣（下位バイト）の２バイトが先頭である１番目の画素であるので、奇数番目の画素の上位バイトのみに注目すると、図２（ａ）の場合、
０４　０４　０４　０５　０５…中略…０５　０４
となる。
【００２４】
これをＰａｃｋＢｉｔｓ符号化を行うと、０４が３つ連続し、０５が２７個連続し、０４が１つ存在するわけであるから、図５（ａ）の「上位」の如く、
ＦＥ　０４　Ｅ５　０５　００　０４
を得ることができる。
【００２５】
同様に、下位バイトのみを着目すると、図２（ａ）の場合、
Ｆ３　ＦＢ　ＦＥ　０Ｃ　ＣＡ…中略…２Ｂ　２Ｂ　３４…中略…ＦＤ
となる。
【００２６】
これをＰａｃｋＢｉｔｓ符号化を行うと、先頭から１２個（１２バイト）のデータは不連続なデータであり、１３、１４個目が同じデータ「２Ｂ」、…となるので、図５（ｂ）の「下位」の如く、
０Ｂ　Ｆ３　ＦＢ　…　ＦＦ　２Ｂ　…
を得ることができる。
【００２７】
以上は医療画像の有意な領域についてのものであったが、背景部分の圧縮率は更に圧縮率が高くなる。
【００２８】
図２（ｂ）のような背景（６４バイト分＝３２画素分）の場合、結局のところ、図５（ｂ）に示すように、上位バイトの圧縮結果は２バイト、下位バイトの圧縮結果は２バイトと合計４バイトとなり、実に、１／１６まで圧縮できることになる。
【００２９】
上記のような高い圧縮率が得られるのは、１画素が１２ビットで表現される場合、上位の４ビットを含む１バイトの値が画素値に対して支配的であり、背景部分や有意部分を問わず、その部分の変化が小さいことに起因する。つまり、変化が少ないというのは、同じ値が連続する確率が高いということを示すものであるからＲＵＮが稼げる、とも言える。
【００３０】
本実施形態では、与えられた画像データにおいて１ライン単位に、各画素の上位バイトと下位バイトとを、それぞれ独立してＰａｃｋＢｉｔｓ符号化を行なう。そしてこの処理を、全ライン分だけ繰り返すものである。
【００３１】
この結果生成されるファイルの構造は、図４に示すものとなる。図示において、ヘッダは４バイトであって、ここには、画像の水平、垂直方向のサイズを示す情報が含まれる。それに後続する状態で、各ラインの上位バイトの圧縮コードと下位バイトの圧縮コードの対になって続くことになる。
【００３２】
図６は実施形態における圧縮処理プログラムの処理手順を示すフローチャートである。以下、同図に従って、その手順を説明する。
【００３３】
先ず、ステップＳ１では、画像データが入力され、ステップＳ２で入力される画像データに基づくサイズ情報を含むヘッダ部を生成する。このヘッダ部には、画像データのサイズは、１ラインの画素数（水平方向のサイズと等価）、ライン数（垂直方向のサイズと等価）で定義さる。なお、処理すべきラインが無くなったことを、圧縮処理の終了として判断するのであれば、ライン数は必須ではなくなる。
【００３４】
ステップＳ３では、先頭ラインの上位データを順次読み出し（先頭から奇数番目のバイトデータを読出すことで実現できる）、ステップＳ４において上位データのパックビッツ圧縮が行われる。ステップＳ５により圧縮処理が終了した画素数とステップＳ２で設定した画素数とを比較し、等しくなければ、注目ラインの圧縮が未完であると判断して、ステップＳ３からの処理を繰り返す。一方、等しいと判断した場合には、上位データに対する圧縮処理が完了したことになるから、ステップＳ６に進んで、下位データの読み出し処理へ進む。続いて、ステップＳ６で先頭ラインの下位データの読み出しを行ってステップＳ７で下位データの圧縮を行う。ステップＳ８において、圧縮処理した下位データの画素数とステップＳ２の画素数を比較し、等しくなければ、ステップＳ６からの処理を繰り返し、等しければステップＳ９で、画像終了か否か、すなわち、最終ラインに対する上位及び下位データの双方の圧縮処理が完了したかを判定し、否の場合には、次のラインの圧縮処理を行うべく、ステップＳ３からの処理を繰り返す。最終ラインであれば圧縮処理が終了する。
【００３５】
以上の処理により、図４に示したファイルフォーマットで、図５に示すような圧縮コードが生成されることになる。
【００３６】
図７は、本実施形態における画像処理装置の機能ブロック図である。
【００３７】
入力された画像データは、画像データ記憶手段１に格納され、パックビッツ圧縮を行う１ラインの画素数が圧縮単位設定手段２に設定され処理が開始される。
【００３８】
データ分割読み出し手段３は、画像データ記憶手段１に格納された各画素の上位バイトを読み出しデータ圧縮手段４へ転送し、圧縮単位設定手段２に設定された１ラインの画素数分の上位バイトデータをデータ圧縮手段４に転送した後、画像データ記憶手段１から同一ラインの画素の下位バイトデータを読み出しデータ圧縮手段４へ転送する。１ライン分のデータの読み出しが終了した時、次ラインの処理を行う。データ圧縮手段４は、データ分割読み出し手段３から転送されたデータにパックビッツ圧縮を行い生成された圧縮コードを圧縮コード記憶手段５に格納する。
【００３９】
次に、上記のようにして圧縮された画像データを伸長する処理手順を図８に示すフローチャートに従って説明する。伸長後の画像は画像データとしてメモリやファイルとして記憶されるものとする。
【００４０】
先ず、ステップＳ１０で圧縮コードが入力されて圧縮コード伸長処理が開始される。
【００４１】
ステップＳ１１で圧縮コードデータの先頭４バイトのヘッダを読み出し、伸長後の１ラインの画素数、全部でライン存在するか設定される。なお、未処理のデータが無くなった場合に、最終ラインに到達したと判断するのであれば、必ずしもライン数は必要ではない。
【００４２】
続いて、ステップＳ１２でコードデータを順次読み出し、読み出されたコードデータはステップＳ１３において伸長される。ステップＳ１４において伸長した画像データが上位データか下位データかを判定するが、この時、図４に示したように、圧縮コード部は、先頭ラインの上位コードデータ、先頭ラインの下位コードデータ、第２ラインの上位コードデータ、．．．、最終ラインの上位コードデータ、最終ラインの下位コードデータの順に格納されている。したがって、伸長処理の開始時は上位データと判断され、ステップＳ１５へ進み、メモリの上位バイトに書込まれる。
【００４３】
次に、ステップＳ１７において、伸長したデータの数と、ステップＳ１１で設定された画素数が比較され、ラインの終了でなければステップＳ１２からの処理が繰り返される。
【００４４】
また、上位データのライン終了であれば、ステップＳ１２、Ｓ１３に進み、ステップＳ１４で下位データと判定されて、ステップＳ１６でメモリの下位バイトに書込まれ、上位と下位のバイトが連続するように、換言すれば、結合される形態で格納される。
【００４５】
更に、下位データのライン終了の場合には、ステップＳ１８へ進んで、最終ラインの処理であるか否かの判定が行われ、最終ラインでなければ、ステップＳ１２からの処理を繰り返し、最終ラインであれば圧縮コード伸長処理が終了する。
【００４６】
上記処理により、圧縮コードから、元の画像データが復元される。
【００４７】
上記伸長処理を行う装置の機能ブロック図は、例えば図９に示すようなものとなろう。
【００４８】
入力された圧縮コードデータは、圧縮コード記憶手段６に格納され処理が開始される。まず、データ読み出し手段７により、圧縮コード記憶手段６内の圧縮コードの先頭４バイトが読み出されて、圧縮単位設定手段８に設定される。続いて、圧縮コードが順次読み出されて、データ伸長手段９によりパックビッツ圧縮に基づいたデータ伸長を行い、画像データ記憶手段１０に、先頭ラインの画素データの上位データとして１バイト空けて格納される。この時、伸長処理したデータ数が、圧縮単位設定手段８の設定値と等しければ、当該ラインの上位データの終了と判断され、次のデータは、上位データの格納時に空白となっている下位バイトに格納される。さらに、下位データの伸長処理したデータ数が、圧縮単位設定手段８の設定値と等しくなった時、続く伸長データは、第２ラインの上位データであるので、前回処理した下位データの次のバイトへ格納される。上記処理を繰り返すことにより、画像データ記憶手段１０上に、元の画像データが復元される。
【００４９】
以上説明したように本第１の実施形態によれば、画像データを上位と下位に分割して圧縮・伸長することにより、比較的安価に実現可能なパックビッツ圧縮を用いて、多バイトモノクロ画像データの圧縮率を向上させ、プリンタと上位装置との転送データ用を削減することが可能となり、データ転送によるプリンタの出力時間の遅延を削減することが可能となる。
【００５０】
＜第２の実施形態＞
上記実施形態では、画像の１ラインを圧縮する際、上位バイトに対する圧縮を行った後、下位バイトの圧縮を行った。つまり、画像の１ラインを２回スキャンして読出す必要がある。
【００５１】
そこで、本第２の実施形態では、１ラインに対する読み出しを１回のスキャンで実現する例を説明する。圧縮方法としては、ここでもＰａｃｋＢｉｔｓを使用するものとする。
【００５２】
図１１は、本第２の実施形態における圧縮処理後のファイルフォーマットを示している。図４との違いは、ヘッダ部が存在しない点と、画像の各ラインの上位バイトの圧縮データの後端に、終端コード「８０Ｈ」（Ｈは１６進数を示す）を付加する点である。
【００５３】
従って、図２と圧縮した場合のデータは図１２（ａ），（ｂ）のようになる（ただし、図示の場合は１ラインが３２画素＝６４バイトとした場合である）。図５（ａ）、（ｂ）に対して終端コード「８０Ｈ」が付加されているのがわかるであろう。
【００５４】
以下、図１３のフローチャートに従って、本第２の実施形態にける圧縮処理手順を説明する。
【００５５】
先ず、ステップＳ３１では、画像データが入力され、ステップＳ３２で入力される画像データに対する圧縮単位（画像の水平画素数、垂直画素数）を設定する。
【００５６】
次いで、ステップＳ３３では、１ライン分の先頭の１画素分（２バイト）を読出す。ステップＳ３４では、読出した２バイトを上位と下位バイトに分割し、ステップＳ３５で上位バイト用圧縮処理に上位バイトを、下位バイト用圧縮処理に下位バイトを渡し、それぞれ圧縮処理を行わせる。ステップＳ３６に進むと、先のステップＳ３２で設定された水平画素数と読出した画素数が一致するか否か、すなわち、読出した画素が１ラインの終端の画素であったか否かを判断する。否の場合には、ステップＳ３３に戻り、上記処理を繰り返す。また、１ラインの終端画素であったと判断した場合には、上位及び下位バイト用圧縮処理に対して処理終了を通知させ、それぞれの圧縮データを出力させる。このとき、各処理のデータ末には終端コード「８０Ｈ」を付加させる。
【００５７】
上記の処理をステップＳ３７において、最終ラインの処理が完了したと判断されるまで繰り返す。
【００５８】
図１４は、本第２の実施形態における画像処理装置の機能ブロック図である。
【００５９】
入力された画像データは、画像データ記憶部４１に格納される。また、パックビッツ圧縮を行う１ラインの画素数（画像のサイズ）が圧縮単位設定部４２で設定され処理が開始される。
【００６０】
データ読み出し部４３は、画像データ記憶部１に格納された画像データの１ライン（１ラインの画素数が圧縮単位設定部４２で設定されている）から１画素（２バイト）単位に読出しては、データ分割部４４で上位、下位バイトに分割し、それぞれを上位データ圧縮部４５、下位データ圧縮部４６に引き渡す。圧縮単位設定部４２はデータ読み出し部４３で読み出される画素データが１ラインの最終画素になったか否かを監視していて、１ラインの最終画素データであると判断した場合に、上位、下位データ圧縮部４５、４６それぞれに圧縮処理を完了を通知する。これを受け、それぞれの圧縮部４５、４６は内部に生成された圧縮データに終端コードを付加し、それを上位、下位圧縮コード記憶部４７、４８に出力する。上位、下位圧縮コード記憶部４７、４８は、予め設定されたアドレス位置にそのデータを掃き出す処理を行うことになる。尚、このアドレス位置が掃き出しが完了した時点で、次のデータの掃き出しに備えて更新される。
【００６１】
以上の説明から理解できるように、本第２の実施形態は、圧縮処理をハードウェアでもって実現することが容易である。例えば、データ読み出し部４３は１６ビット幅で１画素を読出し、データ分割部４４は単純に、上位の８ビットと下位の８ビットを上位、下位データ圧縮部４５、４６に出力すれば良い。また、上位、下位データ圧縮部４５、４６には、入力するバイトを計数するカウンタと、１ラインの画素数をセットするレジスタを設け、それらが一致した場合に終端コードを出力するように設定すれば良いからである。
【００６２】
なお、伸長処理は、図１５のフローチャートに従って処理を行えば良い。第１の実施形態の図８と異なる点は、圧縮ファイルにヘッダが存在しないので、図８におけるＳ１１に相当する処理が存在しない点である。また、第１の実施形態では、１ラインの伸長処理の終了は、伸長して生成された画素数が１ライン分の画素数になったか否かであったが、本第２の実施形態では、終端コードを入力したか否かで判断する点である。
【００６３】
なお、最終ラインか否かについては、幾つかの手法が考えられる。１つは伸長処理すべき画像が無くなったことを検出することであるが、最も単純なものは終端コードが２回連続した場合に、画像の最終ラインと判断するものであろう。後者を採用する場合、図１４における圧縮単位設定部４２は、最終ラインの最終画素の入力が行われたとき、上位、下位データ圧縮部４５、４６に対して２回つづけて終端に到達したことを通知すれば良いであろう。
【００６４】
従って、伸長処理する場合の機能ブロック図を示すのであれば、図１６に示す様なものとすることができる。すなわち、図９と対比するのであれば、図９における圧縮単位設定部８に相当する構成が不要となる点である。それ以外の６６、６７、６９及び７０に、上記の説明から容易に理解できるであろう。
【００６５】
以上説明したように本第２の実施形態によっても、第１の実施形態と同様、画像データを上位と下位に分割して圧縮・伸長することにより、比較的安価に実現可能なパックビッツ圧縮を用いて、多バイトモノクロ画像データの圧縮率を向上させ、プリンタと上位装置との転送データ用を削減することが可能となり、データ転送によるプリンタの出力時間の遅延を削減することが可能となる。また、第２の実施形態によれば、容易にハードウェアでもって実現できるので、処理速度についても格段に向上させることも可能になる。
【００６６】
以上説明したように、第１、第２の実施形態の如く、１画素が９ビット以上の２バイトで表現される場合に、上位と下位バイトに分割して圧縮・伸長する方法をパックビッツ圧縮以外の方法に適用することによって、簡単な構成でより圧縮率を高めることが可能となる。従って、プリンタと上位装置（実施形態における画像処理装置）との転送データ量が大幅に減り、データ転送によるプリンタの出力時間の遅延の削減を安価の構成で実現することが可能になる。
【００６７】
なお、上記実施形態では、処理の対象となる画像データを構成する各画素が１２ビットのモノクロ階調で表現される医療画像として説明したが、これに限定されるものではない。要は、１画素が９ビット以上の、コンピュータが扱うのに都合の良いＮバイト（Ｎは２以上）で表わされる画像データが与えられたとき、最上位のバイトは、それ以外の下位のバイト（１バイト以上）と比較して、その変化が小さいことを利用し、圧縮することにある。なお、最上位のバイトとそれ該のバイトを同じ符号化方法を採用するのではなく、異なる符号化（ただし可逆）を用いても構わない。
【００６８】
また、実施形態では、モノクロ画像として説明したが、カラー画像に適用しても良い。すなわち、カラー画素を構成する少なくとも１つの色成分が９ビット以上で表現される場合、その成分について上記実施形態が適用可能である。
【００６９】
また、圧縮方法として、パックビッツ圧縮法を用いる例で説明したが、他の圧縮方法を用いても同様に圧縮率を向上させることが可能となるので、これによっても本願発明が限定されるものではない。
【００７０】
更に、上記実施形態からも明らかなように、本発明はその大部分が汎用情報処理装置上で動作するアプリケーションプログラム（コンピュータプログラム）でもって実現できる。従って、本発明はかかるコンピュータプログラムをもその範疇とするものである。また、通常、コンピュータプログラムは、ＣＤＲＯＭ等で代表される可搬性のコンピュータ可読記憶媒体を装置にセットし、システムにコピーもしくはインストールされ、実行されるものであるから、かかるコンピュータ可読記憶媒体も本願発明の範疇にあるのは明らかである。
【００７１】
【発明の効果】
以上説明したように本発明によれば、１画素もしくは１画素の構成する要素が９ビット以上の、複数バイトで表現される画像に対し、高い圧縮率で圧縮できると共に、その圧縮された画像を復元することが可能となる。従って、例えば１画素が１２ビットで表現される、医療用画像（Ｘ線透視像等）において、特に高い効果が期待できる。
【図面の簡単な説明】
【図１】医療画像の一例を示す図である
【図２】図１の画像を１６進数のデータで示す図である。
【図３】図２のデータを従来の手法でパックビッツ圧縮による圧縮コードデータを１６進数で表した図である。
【図４】第１の実施形態における圧縮ファイルのデータ構成を示す図である。
【図５】第１の実施形態における圧縮コードデータを１６進数で示す図である。
【図６】第１の実施形態における画像データ圧縮処理手順を示すフローチャートである。
【図７】第１の実施形態における画像データ圧縮装置の概略構成を示す図である。
【図８】第１の実施形態における圧縮コード伸長処理手順を示すフローチャートである。
【図９】第１の実施形態における圧縮コード伸長装置の概略構成を示す図である。
【図１０】実施形態が適用する画像処理装置の具体的な構成を示す図である。
【図１１】第２の実施形態における圧縮ファイルのデータ構成を示す図である。
【図１２】第２の実施形態における圧縮コードデータを１６進数で示す図である。
【図１３】第２の実施形態における画像データ圧縮処理手順を示すフローチャートである。
【図１４】第２の実施形態における画像データ圧縮装置の概略構成を示す図である。
【図１５】第２の実施形態における圧縮コード伸長処理手順を示すフローチャートである。
【図１６】第２の実施形態における圧縮コード伸長装置の概略構成を示す図である。
【図１】
2004072273.tif 000003
【図２】
2004072273.tif 000004
【図３】
2004072273.tif 000005
【図４】
2004072273.tif 000006
【図５】
2004072273.tif 000007
【図６】
2004072273.tif 000008
【図７】
2004072273.tif 000009
【図８】
2004072273.tif 000010
【図９】
2004072273.tif 000011
【図１０】
2004072273.tif 000012
【図１１】
2004072273.tif 000013
【図１２】
2004072273.tif 000014
【図１３】
2004072273.tif 000015
【図１４】
2004072273.tif 000016
【図１５】
2004072273.tif 000017
【図１６】
2004072273.tif 000018