(57)【特許請求の範囲】
【請求項１】
画像入力手段によって１画素当り一定ビット数で取得された画像データを圧縮する画像データ圧縮方法において、
前記一定ビット数の画素毎のデータを上位側の所定ビット数で表される上位側ビットデータと下位側の所定ビット数で表される下位側ビットデータとに分離するステップと、
前記上位側ビットデータに可変長符号化を施すステップと、
前記下位側ビットデータを複数の画素宛ビットシフト演算にてパッキングするステップと、
前記可変長符号化された上位側ビットデータ及び前記パッキングされた下位側ビットデータを個別に管理するための管理データを生成するステップと、
前記可変長符号化された上位側ビットデータと前記パッキングされた下位側ビットデータと前記生成された管理データとを記憶媒体に記憶するステップとからなり、
前記画像入力手段は、画素がマトリックス状に配列された入力手段であり、
前記可変長符号化された上位側ビットデータは、少なくとも１行の同一行に含まれる画素毎にブロック化され、
前記パッキングされた下位側ビットデータは、少なくとも１行の同一行に含まれる画素毎にブロック化され、
前記管理データとして、前記ブロック化された上位側ビットデータ及び前記ブロック化された下位側ビットデータの、各々の記憶位置を示す位置情報が生成され、
前記可変長符号化により得られた圧縮後の画像データは、前記管理データのうち前記ブロック化された上位側ビットデータの記憶位置を示す位置情報が、前記可変長符号化された上位側ビットデータよりも先の位置に設けられていることを特徴とする画像データ圧縮方法。
【請求項２】
請求項１に記載の画像データ圧縮方法において、
前記可変長符号化された上位側ビットデータは、１コマ分の画像データの全ての行に含まれる画素毎にブロック化され、
前記パッキングされた下位側ビットデータは、１コマ分の画像データの全ての行に含まれる画素毎にブロック化されることを特徴とする画像データ圧縮方法。
【請求項３】
請求項１又は請求項２に記載の画像データ圧縮方法において、
前記可変長符号化は、ハフマン符号化とＤＰＣＭ符号化とにより行われることを特徴とする画像データ圧縮方法。
【請求項４】
請求項１から請求項３の何れかに記載の画像データ圧縮方法において、
前記画素毎のデータの一定ビット数は前記画像入力手段の検出精度に応じた値であり、
前記上位側の所定ビット数は、近傍の画素との間で相関が生じる傾向の強い上位側のビット数であり、その値は経験則により求められることを特徴とする画像データ圧縮方法。
【請求項５】
請求項１から請求項４の何れかに記載の画像データ圧縮方法において、
前記画像入力手段によって取得された１画素当りの一定ビット数が、１２ビット以上であることを特徴とする画像データ圧縮方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データ圧縮方法に関し、特に、多数の階調を持つ多値中間調画像データの圧縮／復元に適用して有用な画像データ圧縮方法に関する。
【０００２】
【従来の技術】
画像入力機器（例えば、ディジタル・カメラに用いられるＣＣＤ）の発達に伴い、画像データの取り込みが高精細に行われるようになった。このように高精細に得られた元データ（ＲＡＷデータ）に対しては、パーソナルコンピュータ等でユーザによる画像処理が施され、その後、出力機器（例えば、ＣＲＴ、プリンタ）で所望の画像データが得られるようになっている。
【０００３】
ＣＣＤからの信号（信号電荷）で表される画像データは、例えばＡ／Ｄコンバータによって、１画素当り１０ビット〜１２ビットのディジタル信号に変換される。１２ビットのディジタル信号に変換された場合、最大階調は、「４０９６」である。
このように１０ビット〜１２ビットで高精細に取り込まれた画像データは、１画素当り８ビット程度の画像データに変更され、出力機器で画像の再現が行われる。
【０００４】
上記のように取り込み時に１画素当りの画像データのビット数を１０ビット〜１２ビットで表すのは、取り込み時は、撮影環境が著しく明るい場合から著しく暗い場合まで幅広く変化し、この広い範囲で満遍なく画像データを得る必要があるからである。一方、再現時は、１コマ（画面）内で実際に表される明度差が撮影環境に比べて小さいため、８ビット程度の画像データで１コマ内の画像の明暗を十分に表現できる。
【０００５】
ところで、ＣＣＤによって取り込まれた画像データは、記憶媒体に記憶され、この記憶媒体から適宜、画像データの読み出しが行われるが、従来は、記憶媒体には１画素当り８ビットに変更された画像データが記憶されていた。
ここで、１画素当り８ビットの画像データをそのまま記憶したのでは、１コマ（１画面）当りのデータ量が膨大となるため、画像データを圧縮処理した後、記憶媒体に記憶するようにしている。
【０００６】
一般的な、画像データの圧縮処理としては、元データ（ＲＡＷデータ）に対するＤＰＣＭ処理、ハフマン符号化、算術符号化、これらを適宜用いたＪＰＥＧロスレス符号化、Ziv-Lempel法に代表されるユニバーサル符号化等が知られている。
【０００７】
【発明が解決しようとする課題】
しかしながら、記憶媒体に１画素当り８ビットの画像データを元データとして記憶したのでは、この１画素当り８ビットの画像データに対してユーザが所望の加工／修正を加える場合、加工／修正後の画像データが１画素当り８ビット以下となって、その画質が低下する。
【０００８】
従って、記憶媒体には、ＣＣＤにより得られた高精細な画像の元データ（１０ビット〜１２ビット）を元データとしてそのまま保存しておき、この元データを読み出し、これに対して加工／修正を行うことで、加工／修正後の画像データの画質を高めることができる。
この高精細な元データを記憶媒体に記憶する際にも、上記した圧縮処理（特に、可逆圧縮処理）を施す必要があるが、１０ビット〜１２ビットの画像データに、８ビットの画像データと同様の圧縮処理を施しても、高い圧縮率を達成することができない。これは、画像データを圧縮する場合（特に、ＤＰＣＭ符号化の場合）、近接する画素間の画素データに相関性があればある程に高い圧縮率が得られるが、例えば、１２ビット程度の画像データであれば、画素間の画像データの相関性は、上位の６ビット〜８ビットでは顕著であるが、下位側の３〜４ビットに関しては相関性がほとんどないからである。従って、１０ビット〜１２ビットの画像データに対して、そのまま可逆圧縮を施しても高い圧縮率は得られず、圧縮後であっても、依然、画像データが大きく、容量の大きな記憶媒体が必要になる。
【０００９】
更に、１０ビット〜１２ビットで表される画像データは、画像データ量が大きい分、記憶媒体から画像データを読み出して再現するのに処理時間が長くなると云う不具合もある。
本発明は、かかる事情に鑑みてなされたもので、その第１の目的は、高精細で取得された画像データを高い圧縮率で圧縮することができる画像データ圧縮方法を提供することである。
【００１０】
又、第２の目的は、記憶媒体に記憶された画像データを再現するに当って、データ量が少ない粗い画像を選択的に、高速に再現できる画像データ圧縮方法を提供することである。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明は、画像入力手段（１）によって１画素当り一定ビット数で取得された画像データを、前記一定ビット数の画素毎のデータを上位側の所定ビット数で表される上位側ビットデータと下位側の所定ビット数で表される下位側ビットデータとに分離するステップと、前記上位側ビットデータに可変長符号化を施すステップと、前記下位側ビットデータを複数の画素宛ビットシフト演算にてパッキングするステップと、前記可変長符号化された上位側ビットデータ及び前記パッキングされた下位側ビットデータを個別に管理するための管理データを生成するステップと、前記可変長符号化された上位側ビットデータと前記パッキングされた下位側ビットデータと前記生成された管理データとを記憶媒体（２）に記憶するステップとからなり、前記画像入力手段（１）は、画素がマトリックス状に配列された入力手段であり、前記可変長符号化された上位側ビットデータは、少なくとも１行の同一行に含まれる画素毎にブロック化され、前記パッキングされた下位側ビットデータは、少なくとも１行の同一行に含まれる画素毎にブロック化され、前記管理データとして、前記ブロック化された上位側ビットデータ及び前記ブロック化された下位側ビットデータの、各々の記憶位置を示す位置情報が生成され、前記可変長符号化により得られた圧縮後の画像データは、前記管理データのうち前記ブロック化された上位側ビットデータの記憶位置を示す位置情報が、前記可変長符号化された上位側ビットデータよりも先の位置に設けられているようにしたものである。
【００１２】
又、請求項２に記載の発明は、請求項１に記載の画像データ圧縮方法において、前記可変長符号化された上位側ビットデータは、１コマ分の画像データの全ての行に含まれる画素毎にブロック化され、前記パッキングされた下位側ビットデータは、１コマ分の画像データの全ての行に含まれる画素毎にブロック化されるようにしたものである。
【００１３】
又、請求項３に記載の発明は、請求項１又は請求項２に記載の画像データ圧縮方法において、前記可変長符号化を、ハフマン符号化とＤＰＣＭ符号化とにより行うようにしたものである。
又、請求項４に記載の発明は、請求項１から請求項３の何れかに記載の画像データ圧縮方法において、前記画素毎のデータの一定ビット数を前記画像入力手段（１）の検出精度に応じた値とし、前記上位側の所定ビット数を近傍の画素との間で相関が生じる傾向の強い上位側のビット数とし、その値を経験則により求めるようにしたものである。
【００１４】
又、請求項５に記載の発明は、請求項１から請求項４の何れかに記載の画像データ圧縮方法において、前記画像入力手段（１）によって取得された１画素当りの一定ビット数が、１２ビット以上であるようにしたものである。
【００１５】
（作用）
本発明によれば、高精細に得られた画像データについて、近傍画素との相関性の高い上位側ビットデータに関しては高い圧縮での可変長符号化が可能になり、相関性が低くなる下位側ビットデータに関してはビットシフト、パッキング処理を高速化で行なうことができる。又、管理情報を記憶しておくことで、所望の画像データの高速のアクセスが可能になり、復元処理の高速化が図れる。
【００１６】
又、本発明によれば、上位側ビットデータと下位側ビットデータが、個別に、各行毎にブロック化されるので、特定行の画像データのみを選択的に再現する際の処理の高速化が図れる。この場合、各ブロックの記憶位置を示す位置情報により、高速に画像を再現することができる。
又、本発明によれば、相関性の強い上位側ビットデータに関して高い圧縮率での画像データの符号化が可能になる。
【００１７】
又、本発明によれば、画像入力手段（１）の取り込み精度に応じた高精細な画像データを、圧縮／復元できる。
又、本発明によれば、画像入力手段（１）によって得られた高精細な画像データが、上位側ビットデータと下位側ビットデータとに分離され、記憶媒体（２）に記憶されるので、上位側ビットデータのみを選択的に復元して、粗い画像を高速に再現できる。
【００１８】
【発明の実施の形態】
（第１の実施の形態）
以下、本発明の第１の実施の形態について、添付図面を参照して説明する。尚、この第１の実施の形態は、請求項１から請求項５に対応する。
200801181359070460______________________11999328380_____APH_0
は、本発明の画像データ圧縮方法が適用される符号化処理装置１０の構成を示すブロック図である。
【００１９】
符号化処理装置１０は、画像入力機器（ＣＣＤ）１から入力された画像信号を、ディジタル化したのち、ＤＰＣＭ符号化とハフマン符号化とが併用されたＪＰＥＧロスレス符号化により、当該画像データを圧縮して記憶媒体２に記憶するものである。ここで、符号化処理装置１０は、ＣＣＤ１と一体に（例えば、ディジタルカメラ内に）設けられる。又、記憶媒体２に記憶された圧縮画像データは、後述するように、パーソナルコンピュータ等の復号化処理装置２０（図６）にて復号化され、その後、ユーザによる加工／修正が加えられて、画像が復元される。
【００２０】
ここで、符号化処理装置１０の入力側に接続されるＣＣＤ１は、画素（セル）がｍ行×ｎ列のマトリックス状に配置され、図２に示すように、その受光面に３色（図示例では、「Ｒ」「Ｇ」「Ｂ」）のカラーフィルタが配置されている。
符号化処理装置１０は、前記ＣＣＤ１からの信号（信号電荷）を４０９６階調のディジタル信号（１２ビット）に変換するＡ／Ｄ変換器１１、ディジタル化された信号（元データ）を一時的に記憶する入力データバッファ１２、入力データバッファ１２に一時的に記憶された信号（元データ）を符号化するＣＰＵ１３、ＣＰＵ１３が実行するプログラム等を記憶する主メモリ１４、ＣＰＵ１３にて符号化された信号（圧縮画像データ）を一時的に記憶し、所定のタイミングで記憶媒体２側に出力し、記憶させるための出力データバッファ１５等により構成されている。
【００２１】
このうち入力データバッファ１２は、ＣＣＤ１によって得られた画素毎の画素データ（ｍ×ｎ個）を、各行（ライン）毎に記憶するもので、符号化の対象となる１行分のデータ（ｎ個の画素データ）をひとまとめにして記憶する対象ライン用バッファ１２Ａ、対象ライン用バッファ１２Ａからシフトされた１行前のデータを記憶する１ライン前用バッファ１２Ｂ、１ライン前用バッファ１２Ｂからシフトされた２行前のデータを記憶する２ライン前用バッファ１２Ｃを構成する。
【００２２】
又、出力データバッファ１５には、アドレスバッファ１５Ａ、ハイバッファ１５Ｂ、ロウバッファ１５Ｃが構成され、このうちアドレスバッファ１５Ａに後述する「上位側圧縮データブロック位置情報」、ハイバッファ１５Ｂに後述する「上位側圧縮データ」及び「下位側データブロック位置情報」、ロウバッファ１５Ｃに「下位側データ」が、各々、記憶される。
【００２３】
次に、符号化処理装置１０のＣＰＵ１３にて実行される、１コマ（画面）分の画像データの符号化処理について、図３のプログラムフローチャートを用いて説明する。
この符号化処理が開始されると（スタート）、先ず、ステップＳ１において、入力データバッファ１２の対象ライン用バッファ１２Ａに１行毎にｎ個宛記憶される画素データ（１２ビットの元データ）から、注目画素のデータが読み込まれる。
【００２４】
ステップＳ２では、上記読み込まれた注目画素の画素データ（１２ビット）が上位の８ビット（上位側ビットデータ）と下位の４ビット（下位側ビットデータ）に分離される。このように１２ビットの画素データ（元データ）を上位８ビットと下位４ビットとに分離するのは、１２ビットで得られる画像データにおいては、一般に、上位６ビット〜上位８ビットまでのデータに関しては、近傍の他の画像データとの間に高い相関性が見られ、高い圧縮率での符号化が可能であるのに対し、下位４ビットになると他の近傍画素の下位４ビットとの間での相関性が低くなってしまうからである。
【００２５】
ステップＳ３では、８ビットの上位側ビットデータがＪＰＥＧロスレス符号化によって符号化され、この符号化された画素データが「上位側圧縮データ」として、ハイバッファ１５Ｂに記憶される。
このステップＳ３でのＪＰＥＧロスレス符号化は、この第１の実施の形態では、ＤＰＣＭ符号化とハフマン符号化によって、概ね、以下の手順に従って行われる。
【００２６】
先ず、注目画素の予測値が、近傍の同色カラーフィルタの画素（同色画素）の画素値（上位側ビットデータの値）又は隣接画素の画素値（上位側ビットデータの値）を基に所定の予測式に従って算出される。
ここで、近傍の画素としては、注目画素（例えば、図２のＲ44）に対して同一ラインの同色画素（２画素前のＲ42）又は２ライン前の同色画素（Ｒ24，Ｒ22）、又は隣接画素（Ｇ43，Ｂ33，Ｇ34）のうち最も予測誤差が小さくなる画素値が得られる画素が用いられる。
【００２７】
予測値の算出に何れの画素値を用いるか（どの画素値を変数とした予測式を用いるか）は、具体的には、２画素前の画素の近傍の同色画素又は２画素前の隣接画素の上位側ビットデータの、各々の画素値を用いた複数の予測式にて、複数の仮の予測値を求め、２画素前の画素値と上記複数の仮の予測値とを各々比較し、その予測誤差が最も小さくなる予測式（最適予測式）を記憶しておく。そして、２画素前に記憶された最適予測式を用いて、今回ループでの注目画素の予測値を算出する。
【００２８】
このようにして算出された上位側ビットデータの予測値は、前記ステップＳ２で分離された上位側ビットデータ（８ビット）の画素値と比較されてその予測誤差Δが求められる（ＤＰＣＭ符号化）。そして、この予測誤差Δについて、その発生分布に従ったハフマン符号化が行われて上位側ビットデータが符号化される（可変長符号化）。
【００２９】
ここで、予測値の算出に当り、同色画素として、同一行の同色画素と２行前の同色画素の画素値を用いた予測式が用いられるが、これは、図２に示すように、３原色ＣＣＤの場合、Ｒ、Ｂについては、同じ色成分のカラーフィルタが配置されている画素は、１行（１ライン前）には存在せず、２行前に同色の近傍画素が存在するからである。
【００３０】
このようにステップＳ３で上位側ビットデータの符号化が行われると、次のステップＳ４で、注目画素の下位側４ビットが、隣接する画素（図２に示す例では異なる色成分の画素）の下位側ビットデータと合成され、全体として８ビットのデータとして処理される。
即ち、マトリックス状に配置された画素（図２）のうち同一行に含まれる画素（ｎ個）について、最端の位置（図２の１行目では、Ｂ11）から奇数番目にあるか偶数番目にあるかが判別され、奇数番目（Ｂ11，Ｂ13，Ｂ15）であれば、下位側４ビットデータがロウバッファ１５Ｃ（８ビット）の上位４ビットにシフトされて記憶され、偶数番目（Ｇ12，Ｇ14）であれば、下位側ビットデータがそのままロウバッファ１５Ｃの下位４ビットに記憶される。この結果、ロウバッファ１５Ｃでは、１バイト（８ビット）のうち上位４ビットに奇数番目（Ｂ11，Ｂ13，Ｂ15）の下位側ビットデータ（４ビット）が記憶され、ロウバッファ１５Ｃの下位４ビットに偶数番目の下位側ビットデータ（４ビット）が記憶される（ビットシフト処理、パッキング処理）。
【００３１】
ステップＳ５では、上記したステップＳ１〜ステップＳ４の処理が１行分、即ち、今回対象となっている１行に含まれるｎ個の画素の全てについて行われたか否かが判別され、１行分の処理が終了した時点で（判別結果が“Ｙｅｓ”）、次のステップＳ６に進む。
ステップＳ６では、１行分（ｎ個の画素）について得られた上位側圧縮データが上位側圧縮データブロックとして結合され、同様に、下位側データが下位側データブロックとして結合される（ブロック化）。
【００３２】
ステップＳ７では、上位側圧縮データブロックの先頭位置に、同じ行の下位側データブロックの位置情報が付加される。
ステップＳ８では、アドレスバッファ１５Ａに、各行の上位側圧縮データブロックの先頭位置を示す位置情報が付加される。
このようにして、アドレスバッファ１５Ａに記憶された上位側圧縮データブロックの位置情報、下位側データブロックの位置情報が付加された１行分の上位側圧縮データ、下位側データは、記憶媒体２に所定のタイミングで記憶される。
【００３３】
今回対象となっている１行分の画像データの符号化が終了すると、次のステップＳ９では、上記したステップＳ１〜ステップＳ８の処理が、１コマ（１画面）を構成するｍ行全てについて行われたか否かが判別される。未だ、１コマ分の処理（ｍ行の処理）が終了していない場合には、ステップＳ９の判別結果が“Ｎｏ”となって、上記したステップＳ１〜ステップＳ８が繰り返し実行される。
【００３４】
一方、ステップＳ９の判別結果が“Ｙｅｓ”のとき、即ち、１コマの全ての行（ｍ行）についての処理が終了したときには、そのまま本プログラムを終了する。
図４に、記憶媒体２に記憶された符号化後の画像データ（１コマ分）のデータフォーマットを示す。
【００３５】
この図に示すように、１コマ分の画像データは、その最先位置に１コマ分（ｍ行分）の上位側圧縮データブロック位置情報が記憶され、その後に、各行毎の画像データブロックが１行目からｍ行目まで繰り返しパターンで記憶されている。各行の画像データブロックには、その先頭位置に１行分の下位側データブロック位置情報が、各々付加され、これに続いて１行分の上位側圧縮データブロック、１行分の下位側データブロックが順次記憶されている。
【００３６】
ここで、１コマ分の画像データの最先位置に設けられた上位側圧縮データブロック位置情報は、１コマ分（ｍ行分）の画像データの各行の画像データブロックの位置情報（図４中↓で示す上位側圧縮データ位置の情報）を示すものである。又、各行の画像データブロックの先頭位置に設けられた下位側データブロック位置情報は、各行の画像データブロック内での下位側データブロックの位置情報（図４中↑で示す位置の情報）を示すものである。
【００３７】
具体的には、図４に一部を拡大して示すように（図には２行目の画像データブロックが拡大されている）、２行目の下位側データブロック位置情報に続く上位側圧縮データブロックには、２行目に含まれる画素全て（ｎ画素分）の上位側圧縮データがブロック化されている。又、２画素宛パッキングされて１バイトで表される下位側データ（８ビット）は、１行分（ｎ画素分）が下位側データブロックとしてブロック化される。
【００３８】
上記のように１コマ分の画像データの最先位置には上位側圧縮データブロック位置情報が記憶され、これによって、１コマの画像のうち特定の行の上位側圧縮データを、ランダムに読み出すことが可能になる。ここで、上位側圧縮データブロックの位置を示す上位側圧縮データブロック位置は、同時に、各行の画像データブロックの位置を示すことになる。従って、特定の行の上位側圧縮データと下位側データを、共にランダムに読み出すことも可能である。
【００３９】
又、上記のように各行の画像データブロックの先頭位置に下位側データブロック位置情報を付加しておくのは、上記したように上位側圧縮データブロックの長さが、ＪＰＥＧロスレス符号化により可変長符号化されて行毎にそのデータ長が異なるからである。
図５は、上位側圧縮データブロックと下位側データブロックとを記憶媒体２に記憶する際の、他のデータフォーマット例を示すものである。
【００４０】
この図に示すデータフォーマットでは、１コマ分の画像データを圧縮して記憶するに当って、その最先位置に、上位側圧縮データブロック位置情報、下位側データブロック位置情報を、各行毎に、交互に記憶している点が、図４に示すデータフォーマットと異なっている。そのため、第２のデータフォーマット例においては、上位側圧縮データブロック位置情報に基づいた特定行の上位側圧縮データのランダムな読み出し、及び、上位側圧縮データブロック位置情報に基づいた特定行の上位側圧縮データと下位側データとを共にランダムに読み出すことが可能になるのに加えて、下位側位置データに基づいた特定行の下位側データのランダムな読み出しを行うことが可能となる。
【００４１】
次に、上記手順に従って符号化された圧縮画像データの復号化について説明する。
図６は、記憶媒体２に記憶されている圧縮画像データを復号化するための復号化処理装置２０を示すブロック図である。
復号化処理装置２０は、記憶媒体２からの圧縮画像データを復号化すると共に復号化した画像データ（１２ビットの元データ）を、画像加工／修正装置（パーソナルコンピュータ）３０に出力するもので、記憶媒体２から圧縮画像データを読み込む入力データバッファ２１、記憶媒体２からの圧縮画像データを復元するＣＰＵ２２、復元された画像データ（元データ）を各行毎に一時的に記憶すると共に出力する復元データバッファ２３、ＣＰＵ２２が実行するプログラム等が記憶されている主メモリ２４とによって構成されている。
【００４２】
又、復号化処理装置２０には、その復元データバッファ２３に画像加工／修正装置３０が接続されている。この画像加工／修正装置３０は、外部から入力された加工／修正情報（ユーザのキーボード操作等で入力された情報）に基づいて、復元された画像データ（１２ビットの元データ）に加工／修正を施すものである。加工／修正された後の画像データ（例えば、８ビットの画像データ）は、画像出力機器（例えば、ＣＲＴ、プリンタ）４０に出力され、所望の画像が得られるようになっている。尚、前述した復号化処理装置１０がディジタルカメラに用いられる場合には、この復号化処理装置２０、画像加工／修正装置３０は、主としてパーソナルコンピュータによって構成される。
【００４３】
ここで、復号化処理装置２０の入力データバッファ２１は、アドレスバッファ２１Ａ、ハイバッファ２１Ｂ、ロウバッファ２１Ｃを構成している。そして、アドレスバッファ２１Ａに記憶媒体２からの「上位側圧縮データブロック位置情報」が一時的に記憶され、記憶媒体２からの「上位側圧縮データ」及び「下位側データブロック位置情報」がハイバッファ２１Ｂに一時的に記憶される。又、ロウバッファ２１Ｃに記憶媒体２からの「下位側データ」が一時的に記憶される。
【００４４】
又、復号化処理装置２０の復元データバッファ２３は、対象ライン用バッファ２３Ａ、１ライン前用バッファ２３Ｂ、２ライン前用バッファ２３Ｃを構成している。そして、対象ライン用バッファ２３Ｃに、今回の復元対象となっている行（復元対象ライン）の復元された画像データ（１２ビットの元データ）が一時的に記憶される。１ライン前用バッファ２３Ｂには対象ライン用バッファ２３Ａからシフトされた１行前の画像データ（１２ビットの元データ）が一時的に記憶され、２ライン前用バッファ２３Ｃには１ライン前用バッファ２３Ｂからシフトされた２行前の画像データ（１２ビットの元データ）が一時的に記憶される。
【００４５】
図７は、上記した復号化処理装置２０のＣＰＵ２２にて実行される画像復号化処理を示すプログラムフローチャートである。
この画像復号化処理のプログラムが開始されると、先ず、ステップＳ２１において、記憶媒体２から入力データバッファ２１に取り込まれた位置情報（上位側圧縮データブロック位置情報、下位側データブロック位置情報）が、ＣＰＵ２２に読み込まれる。
【００４６】
ステップＳ２２では、読み込まれた上位側圧縮データブロック位置情報（図４の↓の位置を示す情報）に基づいて、今回ループで対象となっている行（１行分）の画像データブロック内の全てのデータの読み込みが行われる。
ステップＳ２３では、ステップＳ２１で読み込まれた下位側データブロック位置情報（図４の↑の位置を示す情報）に基づいて、ステップＳ２２で読み込まれたデータを、上位側圧縮データブロックと下位側データブロックとに分離する処理が行われる。
【００４７】
ステップＳ２４では、上記分離された上位側圧縮データブロックに記憶されている上位側圧縮データに対して、周知のＪＰＥＧロスレス復号化が行われる。このＪＰＥＧロスレス復号化は、前述した画像符号化処理（図３）のステップＳ３で施された符号化の手順の逆の手順で行われる。
即ち、注目画素の上位側ビットデータ（８ビット）を復号化する場合には、先ず、２ループ前で復号化されている２画素前（同色画素）の画素値を求める。次いで、この２画素前の同色画素の仮の予測値を、その近傍の同色画素の画素、又は隣接画素の画素値を用いた複数の予測式に基づいて、複数求める。そして、２画素前の画素値とこれら仮の予測値とを各々比較してその予測誤差Δを求め、これが最小となる予測式（最適予測式）を決定する。最後に、この最適予測式を用いて、今回ループでの注目画素の予測値を求め、記憶されている予測誤差Δとこの予測値から、注目画素の上位ビットデータ（８ビット）の復号を行う。
【００４８】
ステップＳ２５では、前述した画像符号化処理（図３）のステップＳ４でパッキングされた下位側データ（２画素分が８ビットで表されている。）を、その上位４ビットを奇数番目の画像データ（下位側ビットデータ）として、下位４ビットを偶数番目の画像データ（下位側ビットデータ）として、復元する。
【００４９】
ステップＳ２６では、上記ステップＳ２４で復元された上位側ビットデータ（８ビット）と、上記ステップＳ２５で復元された下位側ビットデータ（４ビット）とによって、１２ビットの画像データ（元データ）を得る。
ステップＳ２７では、上記したステップＳ２４〜ステップＳ２６の処理が１行分、即ち、同一行に含まれるｎ個の画素について全て行われたか否かが判別され、１行分の復号処理が終了した時点で、次のステップＳ２８に進む。
【００５０】
ステップＳ２８では、上記したステップＳ２２〜ステップＳ２７の処理が、１コマ（１画面）を構成する全ての行（ｍ行）について行われたか否かが判別され、未だ、１コマ分の処理が終了していない場合には、上記したステップＳ２２に戻り、処理を繰り返す。１コマの全ての行（ｍ行）についての処理が終了したときには（ステップＳ２８の判別結果が“Ｙｅｓ”）、そのまま本プログラムを終了する（エンド）。
【００５１】
以上説明したように、この第１の実施の形態の画像データの符号化方法及び復号化方法によれば、ＣＣＤ１によって高精細で取得された画像データ（１２ビットの画像データ）について、相関性の高い上位側ビットデータ（８ビット）に対してはＪＰＥＧロスレス符号化により高い圧縮率で圧縮し、相関性の低い下位側ビットデータ（４ビット）に関しては処理速度を高めるべく、ビットシフト、パッキング処理を施すようにしているので、１２ビットの画像データ（元データ）全体として、高い圧縮率を確保しつつ、符号化処理の速度を速めることができる。
【００５２】
尚、符号化された画像データに関して、上位側圧縮データのみ復号することにより、粗い画像を高速に再現することができる。又、このとき上位側圧縮データブロック位置情報が、１コマ分の圧縮画像データの最先位置に記憶されており、上位側圧縮データブロック位置（図４の↓で示す位置）を即座に認識できるため、粗い画像の再現が容易、且つ高速に行われる。又、ｍ行の中から特定の行を選択して、部分的に画像を、高速に再現することもできる。
又、この第１の実施の形態では、処理を効率よく行うために、ステップＳ２７の判別結果が“Ｎｏ”であるうちはステップＳ２４に戻って、ステップＳ２８の判別結果が“Ｎｏ”であるうちはステップＳ２２に戻って、処理を繰り返すようにしているが、図８に示すように、ステップＳ２７の判別結果が“Ｎｏ”であるとき、又は、ステップＳ２８の判別結果が“Ｎｏ”であるときに、ステップＳ２１の位置情報の読み込みから、その処理を繰り返すようにしてもよい。
【００５３】
（第２の実施の形態）
次に、本発明の第２の実施の形態について、図９、図１０を用いて説明する。尚、この第２の実施の形態も、請求項１から請求項５に対応する。
この第２の実施の形態は、上位側圧縮データブロックと下位側データブロックとを記憶媒体２に記憶するに当って、１コマ分の画像データについて、全ての行（ｍ行）の上位側圧縮データブロックと、全ての行（ｍ行）の下位側データブロックとを、分離して記憶するものである。
【００５４】
この場合のデータフォーマットを図９に示す。尚、この第２の実施の形態を実現するための符号化処理装置及び復号化処理装置の構成は、前述した第１の実施の形態の符号化処理装置１０（図１）、復号化処理装置２０（図６）と同一の装置で行われ、その説明は省略する。
又、上位側ビットデータの符号化（ＪＰＥＧロスレス符号化）については、図３に示す画像符号化処理のステップＳ６〜ステップＳ９で行われる記憶媒体２への記憶の手順が異なるのみである。即ち、この第２の実施の形態では、図９に示すように、上位側圧縮データブロック位置情報、下位側データブロック位置情報を共に１コマ分の画像データの最先位置に記憶し、その後に、ｍ行分まとめて上位側データブロックを記憶し、次いでｍ行分まとめて下位側データブロックを記憶している。
【００５５】
このように、ｍ行分の上位側データブロックをまとめ、ｍ行分の下位側データブロックをまとめ、分離した状態で記憶媒体２に記憶することで、画像データの再現時に、例えば、上位側８ビットのデータのみ復号化して出力する場合（８ビットの粗い画像のみを再現する場合）、最先位置に記憶された上位側圧縮データブロック位置情報に基づいて上位側圧縮データのみを復号すればよく、処理速度が高められる。
【００５６】
又、第２の実施の形態における圧縮画像のデータフォーマットにおいては、上位側圧縮データブロック位置情報及び下位側データブロック位置情報の各々がまとめて記憶される。又、上位側圧縮データと下位側データの各々がまとめられて記憶される。そのため、各位置情報に基づいて、１画面に含まれる全ての上位側圧縮データ或いは全ての下位側データの読み出しを高速に行うことが可能になる。
【００５７】
以下、上位側圧縮データのみを復号化して、粗い画像（上位８ビット）を高速に再現する場合の手順について、図１０に示すプログラムフローチャートに従って説明する。尚、このプログラムは、復号化処理装置２０（図６）のＣＰＵ２２において実行される。
先ず、ステップＳ３１では、上位側データブロック位置情報の読み込みが行われる。
【００５８】
ステップＳ３２では、上位側データブロック位置情報を用いて１行分の上位側圧縮データブロック内のデータ（上位側圧縮データ）の読み込みが行われる。
ステップＳ３３では、符号化処理において実行されるＪＰＥＧロスレス符号化とは逆の手順によるＪＰＥＧロスレス復号化により、上記読み込まれた上位側圧縮データの１画素分の復号化が行われる。このステップＳ３３での復号化は、図７のステップＳ２４と同一の手順で行われる。
【００５９】
ステップＳ３４では、上記したステップＳ３３の処理が１行分、即ち、同一行に含まれるｎ個の画素について行われたか否かが判別され、１行分の処理が終了した時点で、次のステップＳ３５に進む。
ステップＳ３５では、上記したステップＳ３２〜ステップＳ３３の処理が１コマ（１画面）を構成する全ての行（ｍ行）について行われたか否かが判別され、未だ、１コマ分の処理が終了していない場合には、上記したステップＳ３２に戻り、処理を繰り返す。
【００６０】
一方、ステップＳ３５において、１コマの全てのラインについての復号化処理が終了したと判別されたときには、そのまま本プログラムを終了する（エンド）。
以上説明した第２の実施の形態によれば、１画素当り１２ビットで表される高精細な元データ（ＲＡＷデータ）が圧縮して記憶された記憶媒体２から、当該画像データを復元するに当たり、相関性の強い上位８ビットのみを復元することで、粗い画像を高速に再現することができる。
尚、この第２の実施の形態でも、処理を効率よく行うために、ステップＳ３４の判別結果が“Ｎｏ”であるうちはステップＳ３３に戻って、ステップＳ３５の判別結果が“Ｎｏ”であるうちはステップＳ３２に戻って、処理を繰り返すようにしているが、図１１に示すように、ステップＳ３４の判別結果が“Ｎｏ”であるとき、又は、ステップＳ３５の判別結果が“Ｎｏ”であるときに、共にステップＳ３１から、その処理を繰り返すようにしてもよい。
【００６１】
尚、上記した第１、第２の実施の形態では、共に画像の元データ（ＲＡＷデータ）が１２ビットの場合について説明したが、１２ビットより大きい画像データ、１２ビットより小さい画像データの何れであっても、本発明は適用可能であり、この場合にも、高い圧縮率を確保しつつ、処理速度を高めることができる。
又、上記した第１、第２の実施の形態では、１２ビットの元データ（ＲＡＷデータ）を上位８ビット、下位４ビットに分離する例をあげて説明したが、相関性の強い上位ビット（１２ビット画像データであれば、一般に６ビット〜９ビットの範囲であることが経験的に知られている。）であれば、８ビット以外のビット数に設定可能である。この場合、上位何ビットを上位側ビットデータとするかは、１コマ（１画面）毎に決定してもよい。
【００６２】
又、上記した第１、第２の実施の形態では、共に、符号化処理装置と復号化処理装置が、別個に構成されている例（例えば、符号化処理装置がディジタルカメラ側、復号化処理装置がパーソナルコンピュータ側）で説明したが、これら２つの装置を１つの装置に内蔵してもよい（例えば、ディジタルカメラ等に双方を内蔵してもよい）。
【００６３】
又、上記した第１、第２の実施の形態では、画像データを上位側と下位側に分離する処理、上位側ビットデータのＤＰＣＭ符号化による符号化処理を、共に、符号化処理装置１０内のＣＰＵ１３で行なう例をあげて説明したが、これに限らず、ＤＰＣＭ符号化による符号化を外付けのチップにまとめられた専用ＬＳＩに行わせ、符号化処理装置１０内のＣＰＵ１３に上位側と下位側の分離のみ行わせるようにしてもよい。この場合、外付けの専用ＬＳＩには、ＤＰＣＭ符号化に代えてZiv-Lempel等による符号化を行うＬＳＩを使用してもよい。又、復号化に当っては、復号化処理装置２０に同様に専用ＬＳＩをまとめたチップを外付けし、チップ内の専用ＬＳＩで上位側ビットデータのＤＰＣＭ復号化（又は、Ziv-Lempel等による復号化）を行わせてもよい。この場合には、復号化後の上位側ビットデータと下位側ビットデータの結合を復号化処理装置２０のＣＰＵ２２により行わせればよい。
【００６４】
又、上記した第１、第２の実施の形態では、ディジタルカメラ等によって、静止画を取得した場合を想定して説明したが、動画を取得した場合にも、本発明は適用可能である。
【００６５】
【発明の効果】
以上説明した本発明によれば、高精細に取得された画像データを、近傍画素との間で相関性の高い上位側ビットデータと、相関性の低い下位側ビットデータとに分離して、画像データの符号化を行なうようにしたので、上位側ビットデータに関して圧縮率の高い符号化を施し、下位側ビットデータに関しては処理速度を高めることで、画像データ全体として、高い圧縮率で画像データの符号化を行いつつ、処理速度を高めることができる。又、管理情報により、特定行の画像データを選択的に符号化／復号化する際の処理の高速化が達成される。
【００６６】
又、本発明によれば、上位側ビットデータと下位側ビットデータが、個別に、各行毎にブロック化されるので、上位側ビットデータを復元することで特定行の画像を選択的に再現する際の処理を、更に高速化できる。
又、本発明によれば、相関性の強い上位側ビットデータに関して、高い圧縮率で画像データの圧縮が行われる。
【００６７】
又、本発明によれば、高精細に取り込まれた画像データを、高精細のまま復元でき、ユーザがこの高精細な画像データに加工／修正を加えることで、加工／修正後の画像データを、出力機器の仕様に応じた画質とすることができる。
又、本発明によれば、高精細な画像データの上位側ビットデータのみを選択的に復元することができ、位置情報により、粗い画像を高速に再現でき、更に、特定行の画像のみ部分的に再現する処理の高速化が可能になる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の符号化処理装置の構成を示すブロック図である。
【図２】画像入力機器２の受光面に配置されたカラーフィルタのレイアウトを示す図である。
【図３】第１の実施の形態の画像符号化処理を示すフローチャートである。
【図４】第１の実施の形態により得られる圧縮画像データのフォーマットの第１の例を示す図である。
【図５】第１の実施の形態により得られる圧縮画像データのフォーマットの第２の例を示す図である。
【図６】本発明の第１の実施の形態の復号化処理装置の構成を示すブロック図である。
【図７】第１の実施の形態の画像復号化処理を示すフローチャートである。
【図８】第１の実施の形態の画像復号化処理の異なる態様を示すフローチャートである。
【図９】第２の実施の形態により得られる圧縮画像データのフォーマットを示す図である。
【図１０】第２の実施の形態の画像復号化処理を示すフローチャートである。
【図１１】第２の実施の形態の画像復号化処理の異なる態様を示すフローチャートである。
【符号の説明】
１  画像入力機器（ＣＣＤ）
２  記憶媒体
１０  符号化処理装置
１２  入力データバッファ
１３  ＣＰＵ
１５  出力データバッファ
２０  復号化処理装置
２１  入力データバッファ
２２  ＣＰＵ
２３  復元データバッファ
【図１】
0004092830.tif 000002
【図２】
0004092830.tif 000003
【図３】
0004092830.tif 000004
【図４】
0004092830.tif 000005
【図５】
0004092830.tif 000006
【図６】
0004092830.tif 000007
【図７】
0004092830.tif 000008
【図８】
0004092830.tif 000009
【図９】
0004092830.tif 000010
【図１０】
0004092830.tif 000011
【図１１】
0004092830.tif 000012