(57)【特許請求の範囲】
【請求項１】
それぞれが複数のピクセルからなる複数のブロックからなる画像信号であって、
各ブロック毎に、
第１参照色を示す第１参照色データを保存する第１信号部分と、
第２参照色を示す第２参照色データを保存する第２信号部分と、
前記複数のピクセルの各々が前記第１参照色又は前記第２参照色に対応するかを示すインデックス情報を保存する第３信号部分と
を具備する画像信号を処理する画像処理装置であって、
前記複数のブロックの中の少なくとも１つの第１ブロックの第１参照色が第１色であり、前記第１ブロックの第２参照色が第２色であり、前記複数のブロックの中の前記第１ブロック以外の少なくとも１つの第２ブロックの第１参照色が前記第２色であり、前記第２ブロックの第２参照色が前記第１色であり、前記少なくとも１つの第１ブロックの数が前記少なくとも１つの第２ブロックの数より少ない場合、前記少なくとも１つの第１ブロックの前記第１信号部分に保存されている前記第１参照色データを前記第２参照色データに変更し、前記第２信号部分に保存されている前記第２参照色データを前記第１参照色データに変更し、前記インデックス情報が示す前記第１参照色と前記第２参照色とを入れ替え、前記少なくとも１つの第１ブロックの第１参照色が前記第１色であり、前記第１ブロックの第２参照色が前記第２色であり、前記少なくとも１つの第２ブロックの第１参照色が前記第２色であり、前記第２ブロックの第２参照色が前記第１色であり、前記少なくとも１つの第２ブロックの数が前記少なくとも１つの第１ブロックの数より少ない場合、前記少なくとも１つの第２ブロックの前記第１信号部分に保存されている前記第１参照色データを前記第２参照色データに変更し、前記第２信号部分に保存されている前記第２参照色データを前記第１参照色データに変更し、前記インデックス情報が示す前記第１参照色と前記第２参照色とを入れ替える修整手段と、
前記修整手段による変更及び入れ替え後の画像信号をビット列の出現確率に基づき長さの異なる符号語を用いて符号化するエントロピー符号化手段と、
を具備する画像処理装置。
【請求項２】
前記エントロピー符号化手段は、前記修整手段による変更及び入れ替え前の画像信号の符号量よりも少ない符号量のハフマンテーブルを備えるハフマン符号化部を具備する請求項１記載の画像処理装置。
【請求項３】
前記インデックス情報は、前記複数のピクセルの各々が前記第１参照色又は前記第２参照色に対応するかに加えて、前記第１参照色と前記第２参照色の第１の組み合わせからなる第１中間色又は前記第１参照色と前記第２参照色の第２の組み合わせからなる第２中間色に対応するかを示す請求項１記載の画像処理装置。
【請求項４】
前記第１信号部分、前記第２信号部分及び前記第３信号部分は所定の順番に配列されている請求項１記載の画像処理装置。
【請求項５】
それぞれが複数のピクセルからなる複数のブロックからなる画像信号であって、
各ブロック毎に、
第１参照色を示す第１参照色データを保存する第１信号部分と、
第２参照色を示す第２参照色データを保存する第２信号部分と、
前記複数のピクセルの各々が前記第１参照色又は前記第２参照色に対応するかを示すインデックス情報を保存する第３信号部分と
を具備する画像信号を処理する画像処理方法であって、
前記複数のブロックの中の少なくとも１つの第１ブロックの第１参照色が第１色であり、前記第１ブロックの第２参照色が第２色であり、前記複数のブロックの中の前記第１ブロック以外の少なくとも１つの第２ブロックの第１参照色が前記第２色であり、前記第２ブロックの第２参照色が前記第１色であり、前記少なくとも１つの第１ブロックの数が前記少なくとも１つの第２ブロックの数より少ない場合、前記少なくとも１つの第１ブロックの前記第１信号部分に保存されている前記第１参照色データを前記第２参照色データに変更し、前記第２信号部分に保存されている前記第２参照色データを前記第１参照色データに変更し、前記インデックス情報が示す前記第１参照色と前記第２参照色とを入れ替え、前記少なくとも１つの第１ブロックの第１参照色が前記第１色であり、前記第１ブロックの第２参照色が前記第２色であり、前記少なくとも１つの第２ブロックの第１参照色が前記第２色であり、前記第２ブロックの第２参照色が前記第１色であり、前記少なくとも１つの第２ブロックの数が前記少なくとも１つの第１ブロックの数より少ない場合、前記少なくとも１つの第２ブロックの前記第１信号部分に保存されている前記第１参照色データを前記第２参照色データに変更し、前記第２信号部分に保存されている前記第２参照色データを前記第１参照色データに変更し、前記インデックス情報が示す前記第１参照色と前記第２参照色とを入れ替える修整ステップと、
前記修整ステップによる変更及び入れ替え後の画像信号をビット列の出現確率に基づき長さの異なる符号語を用いて符号化するエントロピー符号化ステップと、
を具備する画像処理方法。
【請求項６】
前記エントロピー符号化ステップは、前記修整ステップによる変更及び入れ替え前の画像信号の符号量よりも少ない符号量のハフマンテーブルを備えるハフマン符号化ステップを具備する請求項５記載の画像処理方法。
【請求項７】
前記インデックス情報は、前記複数のピクセルの各々が前記第１参照色又は前記第２参照色に対応するかに加えて、前記第１参照色と前記第２参照色の第１の組み合わせからなる第１中間色又は前記第１参照色と前記第２参照色の第２の組み合わせからなる第２中間色に対応するかを示す請求項５記載の画像処理方法。
【請求項８】
前記第１信号部分、前記第２信号部分及び前記第３信号部分は所定の順番に配列されている請求項５記載の画像処理方法。
【請求項９】
コンピュータにより実行されるプログラムであって、前記プログラムは、それぞれが複数のピクセルからなる複数のブロックからなる画像信号であって、各ブロック毎に、第１参照色を示す第１参照色データを保存する第１信号部分と、第２参照色を示す第２参照色データを保存する第２信号部分と、前記複数のピクセルの各々が前記第１参照色又は前記第２参照色に対応するかを示すインデックス情報を保存する第３信号部分とを具備する画像信号を処理し、
前記コンピュータを、
前記複数のブロックの中の少なくとも１つの第１ブロックの第１参照色が第１色であり、前記第１ブロックの第２参照色が第２色であり、前記複数のブロックの中の第１ブロック以外の少なくとも１つの第２ブロックの第１参照色が前記第２色であり、前記第２ブロックの第２参照色が前記第１色であり、前記少なくとも１つの第１ブロックの数が前記少なくとも１つの第２ブロックの数より少ない場合、前記少なくとも１つの第１ブロックの前記第１信号部分に保存されている前記第１参照色データを前記第２参照色データに変更し、前記第２信号部分に保存されている前記第２参照色データを前記第１参照色データに変更し、前記インデックス情報が示す前記第１参照色と前記第２参照色とを入れ替え、前記少なくとも１つの第１ブロックの第１参照色が前記第１色であり、前記第１ブロックの第２参照色が前記第２色であり、前記少なくとも１つの第２ブロックの第１参照色が前記第２色であり、前記第２ブロックの第２参照色が前記第１色であり、前記少なくとも１つの第２ブロックの数が前記少なくとも１つの第１ブロックの数より少ない場合、前記少なくとも１つの第２ブロックの前記第１信号部分に保存されている前記第１参照色データを前記第２参照色データに変更し、前記第２信号部分に保存されている前記第２参照色データを前記第１参照色データに変更し、前記インデックス情報が示す前記第１参照色と前記第２参照色とを入れ替える修整手段と、
前記修整手段による変更及び入れ替え後の画像信号をビット列の出現確率に基づき長さの異なる符号語を用いて符号化するエントロピー符号化手段と、して機能させるためのプログラム。
【請求項１０】
前記エントロピー符号化手段は、前記修整手段による変更及び入れ替え前の画像信号の符号量よりも少ない符号量のハフマンテーブルを備えるハフマン符号化部を具備する請求項９記載のプログラム。
【請求項１１】
前記インデックス情報は、前記複数のピクセルの各々が前記第１参照色又は前記第２参照色に対応するかに加えて、前記第１参照色と前記第２参照色の第１の組み合わせからなる第１中間色又は前記第１参照色と前記第２参照色の第２の組み合わせからなる第２中間色に対応するかを示す請求項９記載のプログラム。
【請求項１２】
前記第１信号部分、前記第２信号部分及び前記第３信号部分は所定の順番に配列されている請求項９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は画像情報の圧縮に関する。
【背景技術】
【０００２】
従来、画像の圧縮の一例としてブロック圧縮法がある。画像データが複数ピクセルからなる複数のブロックに分割され、各ブロック毎に画像データが圧縮される。ブロック圧縮法では、各ブロック毎に画像の特徴に応じて複数の参照色が選ばれ、各ピクセルの色が参照色で置き換えられる。圧縮後の画像データは、参照色の色データと、各ピクセルの色がどの参照色かを示す参照色のインデックスとを含む。圧縮後の画像データに、各ピクセルの実際の色データが含まれていなくても、参照色の色データがあれば、インデックスにより各ピクセルの色データを知ることが可能である。このようにして、各ブロックの情報量を削減することができる。
【０００３】
近年、気象データや医用画像データ等の３次元画像をサーバで収集し、サーバが画像データをクライアントに送り、クライアントで３次元表示することが行なわれている。サーバは３次元画像のボリュームデータを圧縮してクライアントに伝送し、クライアントがレンダリングする。このような３次元画像は、上記したブロック圧縮法で圧縮したとしても、依然としてデータの量が多く、伝送路やクライアントのメモリの負荷が大きい。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2004-104624号公報
【非特許文献】
【０００５】
【非特許文献１】ブロック圧縮(Direct3D 10)、[平成27年3月17日検索]、インターネット＜ＵＲＬ：http://msdn.microsoft.com/ja-jp/library/bb694531%28v=vs.85%29.aspx＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の画像圧縮には、例えば圧縮画像を伝送する場合、さらなる圧縮が望まれていた。
【０００７】
本発明の目的は従来のブロック圧縮法よりも更なる圧縮が可能な画像処理装置、画像処理方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００８】
実施形態によれば、それぞれが複数のピクセルからなる複数のブロックからなる画像信号であって、各ブロック毎に、第１参照色を示す第１参照色データを保存する第１信号部分と、第２参照色を示す第２参照色データを保存する第２信号部分と、前記複数のピクセルの各々が前記第１参照色又は前記第２参照色に対応するかを示すインデックス情報を保存する第３信号部分とを具備する画像信号を処理する画像処理装置は、
前記複数のブロックの中の少なくとも１つの第１ブロックの第１参照色が第１色であり、前記第１ブロックの第２参照色が第２色であり、前記複数のブロックの中の前記第１ブロック以外の少なくとも１つの第２ブロックの第１参照色が前記第２色であり、前記第２ブロックの第２参照色が前記第１色であり、前記少なくとも１つの第１ブロックの数が前記少なくとも１つの第２ブロックの数より少ない場合、前記少なくとも１つの第１ブロックの前記第１信号部分に保存されている前記第１参照色データを前記第２参照色データに変更し、前記第２信号部分に保存されている前記第２参照色データを前記第１参照色データに変更し、前記インデックス情報が示す前記第１参照色と前記第２参照色とを入れ替え、前記少なくとも１つの第１ブロックの第１参照色が前記第１色であり、前記第１ブロックの第２参照色が前記第２色であり、前記少なくとも１つの第２ブロックの第１参照色が前記第２色であり、前記第２ブロックの第２参照色が前記第１色であり、前記少なくとも１つの第２ブロックの数が前記少なくとも１つの第１ブロックの数より少ない場合、前記少なくとも１つの第２ブロックの前記第１信号部分に保存されている前記第１参照色データを前記第２参照色データに変更し、前記第２信号部分に保存されている前記第２参照色データを前記第１参照色データに変更し、前記インデックス情報が示す前記第１参照色と前記第２参照色とを入れ替える修整手段と、
前記修整手段による変更及び入れ替え後の画像信号をビット列の出現確率に基づき長さの異なる符号語を用いて符号化するエントロピー符号化手段と、
を具備する。
【図面の簡単な説明】
【０００９】
【図１】図１は実施形態で使用されるブロック圧縮の一例を示す。
【図２】図２は実施形態におけるブロック圧縮データの符号量減少処理の原理を示す。
【図３】図３は実施形態におけるブロック圧縮データの符号量減少処理の原理を示す。
【図４】図４は実施形態におけるブロック圧縮データの符号量減少処理の一例を示す。
【図５】図５は実施形態の概略構成の一例のブロック図である。
【図６】図６は実施形態の具体的構成の一例のブロック図である。
【図７】図７は実施形態におけるブロック圧縮データの符号量減少処理の一例を示すフローチャートである。
【図８】図８は実施形態で使用されるブロック圧縮の他の例を示す。
【発明を実施するための形態】
【００１０】
以下、実施形態について図面を参照して説明する。実施形態は、ブロック圧縮した画像データをエントロピー符号化で符号量を削減できるデータに変形する“データ修整”に関する。エントロピー符号化は繰り返しパターンを多く含むデータに対しては圧縮効果が高いことが知られている。ブロック圧縮した画像データはパターンデータを含むので、パターンデータを修整することにより、エントロピー符号量を減らすことができる。
【００１１】
先ず、ブロック圧縮を説明する。図１は、ブロック圧縮の一例としてのＤＸＴＣ圧縮（ＢＣ１）の原理を示す。図１の（ａ）に示すように、１枚（１フレーム）の画像データがそれぞれ４×４（＝１６）のピクセルａ〜ピクセルｐからなる多数のブロックに分割される。ピクセルａはブロックの左上のピクセル、ピクセルｄはブロックの右上のピクセル、ピクセルｍはブロックの左下のピクセル、ピクセルｐはブロックの右下のピクセルである。１ピクセルの画像データは２４ビット（赤が２３〜１６ビット、緑が１５〜８ビット、青が７〜０ビットに割り当てられている）の色データである。そのため、１ブロックの色データは３８４ビット（＝１６×２４ビット）である。
【００１２】
ブロック圧縮法では、１ブロックの画像データを３８４ビットの色データで表現する代わりに、図１の（ｂ）に示すように、複数、例えば４色の参照色データと、参照色のインデックス（当該ピクセルにどの参照色を利用するかを示すので、利用情報とも称する）で表現する。参照色は、各ブロック毎の画像の特徴に応じて選ばれる。参照色は、これらの組み合わせで当該ブロックの画像を表現し易い色が選んでもよいし、実際にブロックに含まれていない色から選んでもよい。参照色の選び方は、種々のアルゴリズムが公知であり、本発明はこの選択については何ら制限を受けない。
【００１３】
４色の参照色を選ぶ場合の一例として、ブロックを代表する２色の参照色（代表色とも称する）を選び、この２色の代表色から２色の参照色（中間色とも称する）を作る例を説明する。代表色としては、例えば、ブロックに含まれる色の最小（第１の代表色）、最大（第２の代表色）の２色を選ぶことができる。第1、第２の参照色（第１、第２の代表色）をそれぞれColor_0およびColor_1とすると、第３、第４の参照色（第１、第２の中間色）は次のように作られる。
【００１４】
Color_2 = (2/3)Color_0 + (1/3)Color_1  
Color_3 = (1/3)Color_0 + (2/3)Color_1  
第１、第２の参照色（第１、第２の代表色）(Color_0およびColor_1)の色データは圧縮後の画像データに含める必要があるが、第３、第４の参照色（第１、第２の中間色）(Color_2およびColor_3)の色データは第１、第２の参照色から演算できるので、圧縮後の画像データに含める必要はない。第１、第２の参照色(Color_0およびColor_1)の色データは、それぞれ１６ビット（赤が５ビット、緑が６ビット、青が５ビット)である。
【００１５】
１ブロックの各ピクセルの色が第１〜第４の参照色の中の最も近い色で置き換えられ、どの参照色に置き換えられたかをピクセル毎にインデックスとして保存する。インデックスは、４つの参照色のいずれかを示すものであり、各ピクセル当たり２ビットである。インデックスが“00”のピクセルは第１の参照色（第１の代表色）Color_0で置き換えられ、“01”のピクセルは第２の参照色（第２の代表色）Color_1で置き換えられ、“10”のピクセルは第３の参照色（第１の中間色）Color_2で置き換えられ、“11”のピクセルは第４の参照色（第２の中間色）Color_3で置き換えられたことを示す。このため、圧縮後の１ブロックの画像データは６４ビット（＝３２ビット＋１６×２ビット）となり、情報量が１／６に圧縮される。
【００１６】
近年のビッグデータの活用に伴い、画像データのサイズが大きくなっている。例えば、気象データや医用画像データ等の３次元画像を扱う場合を想定する。例えば、超音波診断装置、ＣＴスキャナ、ＭＲＩ装置、レーダ、Lidar等において、３次元で離散的サンプリングされ３次元スカラー場の形にされたボリュームデータをボリュームデータセットの２次元投影を表示するためにボリュームレンダリングを使用する。ボリュームレンダリングでは、ボリュームデータはテクスチャ画像の形でグラフィックスメモリに保存される。このテクスチャ画像の圧縮に上記ブロック圧縮が適用可能である。テクスチャ圧縮は、ＧＰＵのメモリにテクスチャ画像を格納するために設計された画像圧縮の一形態である。通常の画像圧縮とは異なり、テクスチャ圧縮されたデータはＧＰＵのメモリ上でランダムアクセスできる。すなわち、テクスチャ圧縮はグラフィックスデータに向いている圧縮法である。
【００１７】
さらに、このような３次元画像を電子機器単体で収集、処理、表示するのではなく、ネットワーク等を介して他の機器へ送信する場合を想定する。例えば、気象データ等の３次元画像データをサーバで収集し、サーバが３次元画像データをボリュームデータとし、その後ブロック圧縮を行い、クライアントからの要求に応じて、クライアントにボリュームデータを送信し、クライアントがボリュームレンダリングする場合を想定する。サーバがボリュームデータを上記したブロック圧縮法により処理し、データ量を減少することができるが、ネットワーク上でボリュームデータを通信する際、さらに圧縮することが望まれている。ブロック圧縮された画像データは、各ブロック毎に、第１、第２の代表色の組み合わせパターンと、１６ピクセルのインデックスパターンからなるので、同じパターン（ビット列）が出現する可能性がある。
【００１８】
一般的に、ビット列の出現確率に基づき長さの異なる符号語を用いることで、情報源を効率的に可逆的に符号化する符号化（エントロピー符号化あるいは可変長符号化と称される）が知られており、その例としてハフマン符号化や算術符号化がある。そのため、ブロック圧縮された画像データの配列を修整して同じパターン（ビット列）を持つブロックが多く含まれるようにしてからエントロピー符号化すると、符号量を少なくすることができ、さらなる圧縮が可能である。
【００１９】
図２、図３、図４は、符号量を減少するために、ブロック圧縮データをエントロピー符号化する前に画像データの配列を修整する処理を説明するための図である。  
図４は、一例として１４ブロックからなる画像のブロック圧縮データを示す。通常、画像にはより多く、例えば数万〜数千万、のブロックが含まれるが、図面サイズの制約を鑑みて、１４ブロックの場合を説明する。
【００２０】
各ブロックは、２つの代表色パターンと、１６ピクセルのインデックスパターンのデータからなる。インデックスパターンについては、同じパターンが出現することは無く、１４ブロックのインデックスパターンは全て異なると想定する。一方、代表色パターンについては、同じ２つの代表色（例えば、赤と青）を含むが、第１代表色が赤で第２代表色が青の第１のパターンと、第１代表色が青で第２代表色が赤の第２のパターンがあり得る。
【００２１】
ここで、一方のパターンの第１、第２の代表色を入れ替えると、両者は同じパターンとなり、エントロピー符号化の符号量が減少する。例えば、図４（ａ）の左から３番目のブロックは、第１代表色が赤で第２代表色が青の第１の代表色パターンであるが、もしも、図４（ｂ）に示すように、赤と青とを入れ替えて、第１代表色が青で、第２代表色が赤となるようにデータを修整すると、左から２番目のブロックから左から４番目のブロックまでは第１代表色が青で、第２代表色が赤である同じ代表色パターンを持つブロックとなる。入れ換え前は図４（ａ）に示すように、画像データに含まれる代表色パターンは全部で７パターン（緑と黄、青と赤、赤と青、黄と緑、赤と紫、紫と赤、紫とグレー）であるが、赤と青、黄と緑、紫と赤を入れ替えると、図４（ｂ）に示すように、画像データに含まれる代表色パターンは全部で４パターン（緑と黄、青と赤、赤と紫、紫とグレー）となる。
【００２２】
１４ブロックのインデックスパターンは同じパターンは含まないので、インデックスパターンも考慮すると、入れ換え前は全部で２１（＝７＋１４）パターンであるが、第１、第２代表色を入れ替えると、全部で１８（＝４＋１４）パターンとなる。
【００２３】
エントロピー符号化の符号量は次式に示すシャノン・エントロピーＨにより定義される。
【数１】
0006636710.tif 000002
【００２４】
ｎは画像データに含まれるパターンの総数であり、入れ換え前は２１パターン、入れ換え後は１８パターンである。
【００２５】
図４（ａ）に示す圧縮後の画像データではエントロピーＨ１は次のように求められる。
【数２】
0006636710.tif 000003
【００２６】
図４（ｂ）に示すエントロピー符号化後の画像データではエントロピーＨ２は次のように求められる。
【数３】
0006636710.tif 000004
【００２７】
数１、数２の左から１項目は１回出現するパターンのエントロピー、２項目は２回出現するパターンのエントロピー、３項目は３回出現するパターンのエントロピー、４項目は４回出現するパターンのエントロピーである。数２、数３から分かるように、同じ２つの代表色（例えば、赤と青）からなる２つの代表色パターンの一方の第１、第２の代表色を入れ替えてを１つの代表色パターンとして共通化したので、パターンの総数が減るとともに、代表色パターンの出現回数が増えるので、エントロピー符号量を少なくすることができる。
【００２８】
第１、第２の代表色の入れ替えは、図２（ａ）に示すように、第１の代表色Color_0が第１色（インデックスは“00”）であり、第２の代表色Color_1が第２色（インデックスは“01”）である代表色パターンを、図２（ｂ）に示すように、第２色（インデックスは“01”）を第１の代表色Color_0とし、第１色（インデックスは“00”）を第２の代表色Color_1とするものである。第１、第２の代表色が入れ替わったので、代表色の線形補間で求められる第１、第２の中間色Color_2、Color_3が示す色も変わるので、第１、第２の中間色Color_2、Color_3のインデックスも変える必要がある。
【００２９】
第１、第２の代表色の入れ替え前は、図２（ａ）に示すように、第１の中間色Color_2が第３色（インデックスは“10”）であり、第２の中間色Color_3が第４色（インデックスは“11”）であるが、第１、第２の代表色の入れ替え後は、図２（ｂ）に示すように、第４色（インデックスは“11”）を第１の中間色Color_2とし、第３色（インデックスは“10”）を第２の中間色Color_3とするように、第１、第２の中間色のインデックスを入れ替える。
【００３０】
図３は図４に示すブロック圧縮後の画像データに含まれる１つのブロックのデータフォーマットを例示する。図３（ａ）に示すように、１バイトの第１の代表色Color_0、1バイトの第２の代表色Color_1、２バイトのインデックスパターンが時系列的に配列される。２バイトのインデックスパターンの最初の１バイトにピクセルａ〜ピクセルｈのインデックスが保存され、次の１バイトにピクセルｉ〜ピクセルｐのインデックスが保存される。実際の画像上のピクセルａ〜ピクセルｐの配置は図１（ａ）と同様である。
【００３１】
図３（ｂ）は入れ換え前のブロックデータ、図３（ｃ）は入れ換え後のブロックデータを示す。入れ換え前は、第１の代表色Color_0には第１の色データＲ0、Ｇ0、Ｂ0が保存され、第２の代表色Color_1には第２の色データＲ1、Ｇ1、Ｂ1が保存される。ピクセルａ〜ピクセルｈのインデックスには、例えば“01”、“10”、“01”、“01”、“00”、“11”、“10”、“11”、“11”、“01”、“10”、“01”、“11”、“11”、“11”、“10”がそれぞれ保存される。
【００３２】
第１、第２の代表色を入れ替えると、図３（ｃ）に示すように、第１の代表色Color_0には第２の色データＲ1、Ｇ1、Ｂ1が保存され、第２の代表色Color_1には第１の色データＲ0、Ｇ0、Ｂ0が保存される。そのため、図２に示すように、入れ換え前は、第１の代表色Color_0のインデックスは“00”であり、第２の代表色Color_1のインデックスは“01”であるが、入れ換え後は、第１の代表色Color_0のインデックスは“01”となり、第２の代表色Color_1のインデックスは“00”となる。第１、第２の中間色についても同様に、インデックス“10”と“11”とが入れ替えられ、図３（ｃ）に示すように、ピクセルａ〜ピクセルｈのインデックスには、“00”、“11”、“00”、“00”、“01”、“10”、“11”、“10”、“10”、“00”、“11”、“00”、“10”、“10”、“10”、“11”がそれぞれ保存される。
【００３３】
図５は実施形態の概略動作の一例を示す。実施形態は、サーバ１０と、クライアント３０とからなり、両者はインターネット等のネットワークを介して互いに接続される。サーバ１０は、気象データや医用画像データ等の３次元画像を収集し、ボリュームデータを作成し、作成したボリュームデータを必要に応じてクライアント３０に送信する。クライアント３０はサーバ１０から受信したボリュームデータをレンダリングして自身の表示部で表示する。
【００３４】
画像データ（ボリュームデータ）がブロック１２でブロック色代表情報圧縮される。「ブロック色代表情報圧縮」とは、図１に示すように、画像を決められた大きさのブロックに分割し、ブロック毎に参照色を選んで、色数を減らすために実際の色を限られた数の参照色で置き換え、ピクセル毎に参照色への指数を持たせるような圧縮方法であり、例えば、ＤＸＴＣ圧縮法がある。
【００３５】
ブロック１４で、図２、図３、図４に示すように、同じ代表色パターンが実現するように代表色情報が修整（入れ換え）される。それに応じて、インデックスも修整される。具体的には、第１、第２代表色に決められている色が入れ替えられるとともに、第１、第２代表色のインデックスが入れ替えられ、第１、第２中間色のインデックスが入れ替えられる。
【００３６】
このように同じ代表色パターンを多く含むように修整された圧縮データ（図４（ｂ））がブロック１６で、エントロピー符号化される。図４に示すように、修整の結果、エントロピー符号化の結果の符号量が減少され、さらなる圧縮が可能となった。
【００３７】
ブロック１８で、エントロピー符号化データがサーバ３０に一旦保存される。ブロック２０で、必要に応じて、例えばクライアント１０からの要求に応じて、エントロピー符号化データがクライアント３０に送信される。
【００３８】
クライアント３０では、ブロック３２でエントロピー符号化データが受信される。ブロック３４で、エントロピー復号され、ブロック３６で、画像データが３次元表示される。
【００３９】
このように、エントロピー符号化はできるだけ同じパターンが繰り返す情報に対して効率が良いので、ブロック圧縮された画像データを図４に示すように修整すると、エントロピー符号量が圧縮される。これにより、ネットワークの伝送帯域を効率良く利用することができる。また、クライアント３０のメモリフットプリントを小さくすることができ、クライアント３０の処理速度を高くすることができるとともに、処理の負荷を軽減することができる。
【００４０】
図６は、実施形態の具体的な構成の一例を示す。実施形態は、サーバ４０と、クライアント６０とからなり、両者はインターネット等のネットワークを介して互いに接続される。クライアント６０の一例は、無線通信可能なＰＣ、タブレット、スマートフォン等がある。ここでは、気象情報の表示に関し、雲の３Ｄ画像を３Ｄ地形図上に重ねて表示する例を想定する。雲の状態を示す３次元ボリュームデータと、地形図を表わす３次元ポリゴンジオメトリデータとがサーバ４０からクライアント６０に送信され、クライアント６０でそれぞれがレンダリングされ、画面上で重畳される。地形図を表わす３次元ポリゴンジオメトリデータは一定のデータであるので、１回だけ送信されればよいが、雲の状態は時間経過とともに変化するので、リアルタイムで雲の状態を３次元表示するためには、３次元ボリュームデータは頻繁に送信する必要がある。この３次元ボリュームデータの送信データ量を削減することが望まれている。
【００４１】
気象データ等の生データがサーバ４０で収集される。気象データは極座標で表されているので、直交座標のデータに変換してボリュームデータとするために、生データが再サンプリング部４２に入力される。再サンプリング部４２は画像データの座標を変換して、直交座標系のボリュームデータを生成する。再サンプリング部４２の出力データがＤＸＴＣ圧縮部４４に入力され、図１に示すように、ブロックの色データが所定数、例えば４つの参照色の色データへのインデックスと、所定数より少ない数、例えば２つの参照色の色データとからなる画像データに圧縮される。
【００４２】
ＤＸＴＣ圧縮部４４の出力が代表色・インデックス修整部４６に入力され、図２、図３、図４に示すように、同じ２つの色が第１または第２代表色である２つのブロックの代表色パターンが同じパターンになるように、第１、第２代表色に決められている色が入れ替えられるとともに、第１、第２代表色のインデックスが入れ替えられ、第１、第２中間色のインデックスが入れ替えられる。
【００４３】
このように修整された圧縮データ（図４（ｂ））がハフマン符号化部４８に入力され、ハフマン符号化される。数２、数３に示すように、ハフマン符号のデータ量は圧縮データを修整する前に比べて減少する。ハフマン符号化部４８の出力がハフマンテーブル作成部５０に入力され、符号化前の画像データと符号との対応関係を示すハフマンテーブルが作成される。ハフマン符号化部４８の出力は符号化フレーム送信部５４にも入力される。
【００４４】
クライアント６０は、画像表示要求部６２を含み、画像表示が必要な場合、サーバ４０へ画像要求信号を送信する。上述したような雲の３Ｄ画像を３Ｄ地形図上に重ねて表示する場合、地形図を表わす３次元ポリゴンジオメトリデータは予めクライアント６０に送信され、クライアント６０で保持されているとする。そのため、雲の状態を示す３次元ボリュームデータが周期的にサーバ４０からクライアント６０に送信される。これにより、雨雲の状態等がリアルタイムでアニメーション表示可能である。画像表示要求部６２からの画像要求信号は、ハフマンテーブル送信部５２と、符号化フレーム送信部５４に供給される。ハフマンテーブル送信部５２は、画像要求信号に応答して、ハフマンテーブルをクライアント６０に送信する。符号化フレーム送信部５４は、画像要求信号に応答して、符号化フレームをクライアント６０に送信する。
【００４５】
クライアント６０では、ハフマンテーブルはハフマンテーブル受信部６４で受信され、符号化フレームは符号化フレーム受信部６８で受信される。ハフマンテーブル受信部６４で受信されたハフマンテーブルは、ハフマンテーブル保存部６６で保存される。ハフマンテーブル保存部６６から読みだされたハフマンテーブルは、ハフマン復号化部７０に入力される。符号化フレーム受信部６８で受信された符号化フレームはハフマン復号化部７０に入力され、ハフマンテーブルを用いて復号化される。ハフマン復号化部７０の出力は表示部７２で表示される。
【００４６】
図７は、図６の構成の実施形態の動作を示すフローチャートである。
【００４７】
ブロック１０２で、雲の３Ｄ画像がサーバ４０に入力される。ブロック１０６で、極座標の画像データが直交座標の画像データに変換されるとともに、ボリュームデータとされる。ボリュームデータは多数のスライスの２Ｄ画像の集合からなる。ブロック１１０で、１スライスのボリュームデータが多数のブロックに分割される。１ブロックは４×４ピクセルからなる。
【００４８】
ブロック１１４で、ＤＸＴＣ圧縮処理が実行される。図１に示すように、各ブロックのピクセルの色データが４つの参照色の色データのインデックスパターンに置き換えられ、図４に示すように、インデックスパターンの前に第１、第２の代表色の色コードを保存する代表色パターンが配置される圧縮画像データが得られる。
【００４９】
ブロック１１８で、各ブロックの代表色パターンが調べられ、同じ２つの色が第１または第２代表色である２つのブロックが存在するか否か判定される。例えば、赤と青の２色が代表色パターンに含まれるブロックがあるか否か調べられる。赤と青の２色が代表色パターンに含まれるブロックがあるか否か調べられる。第１代表色が赤で第２代表色が青である代表色パターンを含むブロックと、第１代表色が青で第２代表色が赤である代表色パターンを含むブロックが検出される。このような同じ２つの色が第１または第２代表色である２つのブロックが存在しない場合は、処理は終了する。
【００５０】
このような同じ２つの色が第１または第２代表色である２つのブロックが存在する場合は、ブロック１２２で、例えば、第１代表色が赤で第２代表色が青である代表色パターンを含むブロックの数と、第１代表色が青で第２代表色が赤である代表色パターンを含むブロックの数がカウントされる。
【００５１】
ブロック１２６で、少ない数のブロックの第１代表色と第２代表色とを入れ替える。これは、入れ替えの処理が少なくて済むためである。例えば、第１代表色が青で第２代表色が赤である代表色パターンにおいて、第１代表色を赤に、第２代表色を青に変更する。これにより、赤と青の２色が含まれる代表色パターンの全てにおいて、第１代表色は赤、第２代表色は青であり、第１代表色が青、第２代表色が赤のパターンは存在しない。
【００５２】
ブロック１３０で、第１の代表色Color_0と第２の代表色Color_1のインデックスが入れ替えられ、第１、第２の中間色Color_2、Color_3のインデックスが入れ替えられる。
【００５３】
以上説明したように、第１の実施形態によれば、ブロック圧縮され、繰り返しパターンを含む画像データを繰り返しパターンがより多く出現するように修整することにより、エントロピー符号化において圧縮率が向上する。これにより、ネットワークの伝送帯域を効率良く利用することができる。また、クライアント３０のメモリフットプリントを小さくすることができ、クライアント３０の処理速度を高くすることができるとともに、処理の負荷を軽減することができる。
【００５４】
図８は、ブロック圧縮の他の例を示す。図１と同様に、１枚の画像データがそれぞれ４×４（＝１６）のピクセルａ〜ピクセルｐからなる多数のブロックに分割され、４つの参照色（Color_0〜Color_3）が決められる。しかし、図１とは異なり、４つの参照色の全ての色データが規定される。そのため、図８の場合は、参照色パターンが６４ビット、インデックスパターンが３２ビットの計８６ビットの圧縮画像データとなり、図１の場合（計６４ビット）よりも、圧縮率は低下する。しかし、４つの色を自由に決めることができるので、画像の再現性は向上する。このようなブロック圧縮データに対しても、図４のような参照色パターンの入れ替えは可能である。
【００５５】
なお、本実施形態の処理はコンピュータプログラムによって実現することができるので、このコンピュータプログラムを格納したコンピュータ読み取り可能な記憶媒体を通じてこのコンピュータプログラムをコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することができる。
【００５６】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００５７】
４０…サーバ、４４…ＤＸＴＣ圧縮部、４６…代表色・インデックス入れ換え部、４８…ハフマン符号化部、５２…ハフマンテーブル送信部、５４…符号化フレーム送信部、６０…クライアント、６２…画像表示要求部、６４…ハフマンテーブル受信部、７０…ハフマン復号化部、７２…表示部。
【図１】
0006636710.tif 000005
【図２】
0006636710.tif 000006
【図３】
0006636710.tif 000007
【図４】
0006636710.tif 000008
【図５】
0006636710.tif 000009
【図６】
0006636710.tif 000010
【図７】
0006636710.tif 000011
【図８】
0006636710.tif 000012