(57)【要約】【課題】  データ圧縮方法を提供する。【解決手段】  ４個の連続するバイト・データを圧縮するためのデータ圧縮方法である。本方法は、第１と第２のバイト・データ間の第１の差分値と、第３と第４のバイト・データ間の第２の差分値とを計算する。第１の差分値および／または第２の差分値が−２ｍ−１〜２ｍ−１−１の間にある場合には第１および／または第３のバイト・データの最下位ビットを後で格納すべく第１の特性値に設定し、前記第１の差分値および第２の差分値が各々ｍビットに格納される。それ以外の場合には前記第１および／または第３のバイト・データの最下位ビットを後で格納すべく第２の特性値に設定し、第１の差分値および／または第２の差分値を格納すべくｍビットで表現可能な数値に各々変換する。従って、画質に悪影響を及ぼすことなく、データ圧縮／復元の速度を向上させ、格納されるデータの量を効果的に減らすことができる。【選択図】図１
2007110513.tif 000002
【特許請求の範囲】
【請求項１】
４個の連続するバイト・データを圧縮すべく適合されたデータ圧縮方法であって：
（Ａ）第１と第２のバイト・データ間の第１の差分値と、第３と第４のバイト・データ間の第２の差分値とを計算するステップと；
（Ｂ）前記第１の差分値および／または第２の差分値が−２ｍ−１から２ｍ−１−１の間にある場合には前記第１および／または第３のバイト・データの最下位ビットを第１の特性値に設定し、それ以外の場合には前記第１および／または第３のバイト・データの最下位ビットを第２の特性値に設定するステップと；
（Ｃ）前記第１および第３のバイト・データを格納し、前記第１の差分値および第２の差分値を格納すべく各々ｍビットで表現するステップと、を含むデータ圧縮方法。
【請求項２】
前記ステップ（Ｃ）において、前記第１の差分値および／または第２の差分値が−２ｍ−１と２ｍ−１−１の間にある場合には前記第１の差分値および／または第２の差分値を格納すべくｍビットで直接表現し、それ以外の場合には前記第１の差分値および／または第２の差分値を後で格納すべくｍビットで表現可能な数値に変換する、請求項１に記載のデータ圧縮方法。
【請求項３】
前記ステップ（Ａ）において、前記第１の差分値が、前記第２のバイト・データから前記第１のバイト・データを減算した値であり、一方、前記第２の差分値が、前記第４のバイト・データから前記第３のバイト・データを減算した値である、請求項２に記載のデータ圧縮方法。
【請求項４】
ｍ＝４である、請求項３に記載のデータ圧縮方法。
【請求項５】
前記第１の特性値が０であり、前記第２の特性値が１である、請求項１に記載のデータ圧縮方法。
【請求項６】
前記ステップ（Ｃ）において：
前記第１の差分値および／または第２の差分値から２ｍ−１を減算した後、もし、
２ｍ−１−１＜前記第１の差分値
および／または
第２の差分値≦２ｍ−１＊２ｍ−１
ならば、その結果を２ｍ−１の倍数に最も近い対応整数値で置換し、当該数値を、対応する整数値を２ｍ−１で除算した商の２進符号とし；
前記第１の差分値および／または第２の差分値に２ｍ−１を加算した後、もし、
−２ｍ−１＊２ｍ−１−２ｍ−１≦前記第１の差分値
および／または
第２の差分値＜−２ｍ−１−２ｍ−２
ならば、その結果を２ｍ−１の倍数に最も近い対応整数値で置換し、当該数値を、対応する整数値を２ｍ−１で除算した商に対する２の補数とし；
もし、
−２ｍ−１−２ｍ−２≦前記第１の差分値
および／または
第２の差分値＜−２ｍ−１
ならば、前記第１の差分値および／または第２の差分値を−２ｍ−１で表現する、請求項４に記載のデータ圧縮方法。
【請求項７】
ステップ（Ｃ）において、
もし、
前記第１の差分値および／または第２の差分値＞２ｍ−１＊２ｍ−１
ならば、前記第１値の差分値および／または第２の差分値を、２ｍ−１に２ｍ−１を乗算した値に対応する整数値で置換し、当該数値を、対応する整数値を２ｍ−１で除算した商の２進符号とし、
もし、
前記第１の差分値および／または第２の差分値＜−２ｍ−１＊２ｍ−１−２ｍ−１
ならば、前記第１値の差分値および／または第２の差分値を、２ｍ−１に（−２ｍ−１−１）を乗算した値に対応する整数値で置換し、当該数値を、対応する整数値を２ｍ−１で除算した商に対する２の補数とする、請求項６に記載のデータ圧縮方法。
【請求項８】
ステップ（Ｃ）において、前記第１のバイト・データおよび第３のバイト・データが互いに隣接して格納されていて、前記第１および第２の差分値が前記第３のバイト・データに隣接するバイトに共に格納されている、請求項４に記載のデータ圧縮方法。
【請求項９】
前記第１の差分値が前記バイトの先頭の４ビットに格納されている一方、前記第２の差分値が前記バイトの末尾の４ビットに格納されている、請求項８に記載のデータ圧縮方法。
【請求項１０】
前記４個の連続するバイト・データが、４個の隣接する画像ピクセルの輝度およびクロミナンス値を指す、請求項１に記載のデータ圧縮方法。
【請求項１１】
前記４個の連続するバイト・データが、復元された動画像データである、請求項１０に記載のデータ圧縮方法。
【請求項１２】
前記動画像データがＭＰＥＧ画像データである、請求項１１に記載のデータ圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ圧縮方法、より具体的には復元された動画像データを、格納または再生する前に再圧縮する画像データ圧縮方法に関する。
【背景技術】
【０００２】
ＭＰＥＧ関連仕様により符号化された動画像を再生可能とするには、これを復号化して、バッファメモリに保存し、後でアクセス可能にする必要がある。しかし、より優れた画質および高解像度に対する要求が高まっている中、復号化された後の動画像データの量が極めて膨大になるケースが多く、相当大きいメモリ空間を占有するためにバッファメモリのサイズが不足して拡張する必要が生じる。従って、画質が悪影響を受けず、またバッファメモリ空間を拡張する必要がないという条件の下で、復号化画像データの格納にバッファメモリ空間をより効率的に利用すべく、これまで画像データ圧縮に関する多くの方法が提案されてきた。
【０００３】
一例として特許文献１「３：２プルダウンの場合におけるビデオ復号化および表示のためのメモリ利用（Ｍｅｍｏｒｙ  Ｕｔｉｌｉｚａｔｉｏｎ  ｆｏｒ  Ｖｉｄｅｏ  Ｄｅｃｏｄｉｎｇ  ａｎｄ  Ｄｉｓｐｌａｙ  ｗｉｔｈ  ３：２  Ｐｕｌｌ−Ｄｏｗｎ）」を取り上げる。当該特許は、フレーム全体にわたる復号化画像情報のサイズよりも小さいサイズのフレーム・バッファを用いてＭＰＥＧビデオ画像の復号化および表示を行なう方法とシステムを開示している。復号化画像情報の第１の部分がフレーム・バッファのメモリ位置に書き込まれる。フレーム全体が復号化された後で、フレームの一部に２回目の復号化が施されて、同一メモリ位置を再利用することにより半フレームのメモリ空間を節約すべく復号化画像情報の第２の部分を、少なくとも１回表示された画像情報を格納するフレーム・バッファのメモリ位置に書き込む。
【０００４】
しかし、上述の方法は、当該フレームの欠落部分に２回目の復号化を施すためにより多くの時間を使う必要がある。
【０００５】
さらに、特許文献２「ＭＰＥＧビデオ復号化および表示システムのためのビデオメモリ管理（Ｖｉｄｅｏ  Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  ｆｏｒ  ＭＰＥＧ  Ｖｉｄｅｏ  Ｄｅｃｏｄｅ  ａｎｄ  Ｄｉｓｐｌａｙ  Ｓｙｓｔｅｍ）」に、ビデオメモリのサイズの必要性を更に削減可能なフレーム内ビデオデータ圧縮システムが開示されている。基本圧縮単位として４個の連続する水平方向ピクセルが用いられる。ビデオデータは、「１ビット・エラー拡散アルゴリズム」に従い圧縮される。４個のピクセル、すなわち全体で３２ビット（４×８ビット／ピクセル）が２８ビット（４×７ビット／ピクセル）に圧縮される。次いで、間引くのに最適なピクセルが計算により４個のピクセルから決定され、再構成方法が３ビットに格納される。従って、圧縮ビデオデータは、２４ビット（３×７ビット／ピクセル＋３ビット）になる。
【０００６】
しかし、上述の方法は、間引くのに最適なピクセルを決定する推定値からの誤差が最小になるように、８個の推定値を計算するには複雑なハードウエア回路およびソフトウェア計算が必要である。最悪の場合、さらに計算および時間が増大する恐れがある。
【特許文献１】米国特許第５，６４６，６９３号明細書
【特許文献２】米国特許第６，１９８，７７３号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従って、本発明の目的は、画質に悪影響を及ぼすことなく、データ量および圧縮／復元の計算時間を効果的に減らすことが可能なデータ圧縮方法を提供することである。
【課題を解決するための手段】
【０００８】
従って、本発明のデータ圧縮方法は、４個の連続するバイト・データを圧縮するのに適している。本方法は、（Ａ）第１と第２のバイト・データ間の第１の差分値と、第３と第４のバイト・データ間の第２の差分値とを計算するステップと、（Ｂ）第１の差分値および／または第２の差分値が−２ｍ−１から２ｍ−１−１の間にある場合には、第１の差分値および／または第２の差分値が各々ｍビットに格納されている状態で、第１および／または第３のバイト・データの最下位ビットを後で格納すべく第１の特性値に設定し、それ以外の場合には第１および／または第３のバイト・データの最下位ビットを後で格納すべく第２の特性値に設定して、第１の差分値および／または第２の差分値をｍビットで表現および格納可能な各々の値に変換するステップと、を含む。
本発明は、４個の連続するバイト・データを圧縮すべく適合されたデータ圧縮方法であって：
（Ａ）第１と第２のバイト・データ間の第１の差分値と、第３と第４のバイト・データ間の第２の差分値とを計算するステップと；
（Ｂ）前記第１の差分値および／または第２の差分値が−２ｍ−１から２ｍ−１−１の間にある場合には前記第１および／または第３のバイト・データの最下位ビットを第１の特性値に設定し、それ以外の場合には前記第１および／または第３のバイト・データの最下位ビットを第２の特性値に設定するステップと；
（Ｃ）前記第１および第３のバイト・データを格納し、前記第１の差分値および第２の差分値を格納すべく各々ｍビットで表現するステップと、を含むデータ圧縮方法である。
本発明の好ましい実施の形態は、前記ステップ（Ｃ）において、前記第１の差分値および／または第２の差分値が−２ｍ−１と２ｍ−１−１の間にある場合には前記第１の差分値および／または第２の差分値を格納すべくｍビットで直接表現し、それ以外の場合には前記第１の差分値および／または第２の差分値を後で格納すべくｍビットで表現可能な数値に変換する、データ圧縮方法である。
本発明の好ましい実施の形態は、前記ステップ（Ａ）において、前記第１の差分値が、前記第２のバイト・データから前記第１のバイト・データを減算した値であり、一方、前記第２の差分値が、前記第４のバイト・データから前記第３のバイト・データを減算した値である、データ圧縮方法である。
本発明の好ましい実施の形態は、ｍ＝４である、データ圧縮方法である。
本発明の好ましい実施の形態は、前記第１の特性値が０であり、前記第２の特性値が１である、データ圧縮方法である。
本発明の好ましい実施の形態は、前記ステップ（Ｃ）において：
前記第１の差分値および／または第２の差分値から２ｍ−１を減算した後、もし、
２ｍ−１−１＜前記第１の差分値
および／または
第２の差分値≦２ｍ−１＊２ｍ−１
ならば、その結果を２ｍ−１の倍数に最も近い対応整数値で置換し、当該数値を、対応する整数値を２ｍ−１で除算した商の２進符号とし；
前記第１の差分値および／または第２の差分値に２ｍ−１を加算した後、もし、
−２ｍ−１＊２ｍ−１−２ｍ−１≦前記第１の差分値
および／または
第２の差分値＜−２ｍ−１−２ｍ−２
ならば、その結果を２ｍ−１の倍数に最も近い対応整数値で置換し、当該数値を、対応する整数値を２ｍ−１で除算した商に対する２の補数とし；
もし、
−２ｍ−１−２ｍ−２≦前記第１の差分値
および／または
第２の差分値＜−２ｍ−１
ならば、前記第１の差分値および／または第２の差分値を−２ｍ−１で表現する、データ圧縮方法である。
本発明の好ましい実施の形態は、ステップ（Ｃ）において、
もし、
前記第１の差分値および／または第２の差分値＞２ｍ−１＊２ｍ−１
ならば、前記第１値の差分値および／または第２の差分値を、２ｍ−１に２ｍ−１を乗算した値に対応する整数値で置換し、当該数値を、対応する整数値を２ｍ−１で除算した商の２進符号とし、
もし、
前記第１の差分値および／または第２の差分値＜−２ｍ−１＊２ｍ−１−２ｍ−１
ならば、前記第１値の差分値および／または第２の差分値を、２ｍ−１に（−２ｍ−１−１）を乗算した値に対応する整数値で置換し、当該数値を、対応する整数値を２ｍ−１で除算した商に対する２の補数とする、データ圧縮方法である。
本発明の好ましい実施の形態は、ステップ（Ｃ）において、前記第１のバイト・データおよび第３のバイト・データが互いに隣接して格納されていて、前記第１および第２の差分値が前記第３のバイト・データに隣接するバイトに共に格納されている、データ圧縮方法である。
本発明の好ましい実施の形態は、前記第１の差分値が前記バイトの先頭の４ビットに格納されている一方、前記第２の差分値が前記バイトの末尾の４ビットに格納されている、データ圧縮方法である。
本発明の好ましい実施の形態は、前記４個の連続するバイト・データが、４個の隣接する画像ピクセルの輝度およびクロミナンス値を指す、データ圧縮方法である。
本発明の好ましい実施の形態は、前記４個の連続するバイト・データが、復元された動画像データである、データ圧縮方法である。
本発明の好ましい実施の形態は、前記動画像データがＭＰＥＧ画像データである、データ圧縮方法である。
【発明の効果】
【０００９】
本発明によれば、画質に悪影響を及ぼすことなく、データ圧縮／復元の速度を向上させ、格納されるデータの量を効果的に減らすことができる。
本発明の他の特徴および利点は、添付の図面を参照しながら以下の実施形態の詳細な説明から明らかになるであろう。
【発明を実施するための最良の形態】
【００１０】
図１を参照するに、本発明によるデータ圧縮方法の好適な実施形態のフローチャートを示す。さらに図２を参照するに、４個の連続するバイト・データＰ１、Ｐ２、Ｐ３およびＰ４が本実施形態における圧縮単位として用いられる。ここに、各バイト・データＰ１、Ｐ２、Ｐ３またはＰ４は、復元された動画像ピクセルの輝度またはクロミナンス値を表わす２進符号により表現される。
【００１１】
図１を図３と合わせて参照するに、第１および第３のバイト・データＰ１、Ｐ３を用いて、第２および第４のバイト・データＰ２、Ｐ４を、第１および第３のバイト・データＰ１、Ｐ３だけが保持される条件の下で再構成できるようにすべく、図１のステップＳ１１に示すように最初に、第１のバイト・データＰ１と第２のバイト・データＰ２の間の第１の差分値、すなわちＰ２−Ｐ１、および第３のバイト・データＰ３と第４のバイト・データＰ４の間の第２の差分値、すなわちＰ４−Ｐ３、が計算される。次いで、ステップＳ１２において、第１の差分値（Ｐ２−Ｐ１）および第２の差分値（Ｐ４−Ｐ３）が−２ｍ−１〜２ｍ−１−１の範囲に入っているか否かが判定される。本実施形態ではｍ＝４である。従って、−８≦第１の差分値（Ｐ２−Ｐ１）≦７（ケース１）であれば、ステップＳ１３に示すように第１のバイト・データＰ１の最下位ビットが第１の特性値に設定される。同様に、−８≦第２の差分値（Ｐ４−Ｐ３）≦７（ケース１）であれば、第３のバイト・データＰ３の最下位ビットが第１の特性値に設定される。本実施形態では第１の特性値は０である。
【００１２】
その後、ステップＳ１４および図２に示すように、第１および第３のバイト・データＰ１、Ｐ３が格納され、第１の差分値（Ｐ２−Ｐ１）および第２の差分値（Ｐ４−Ｐ３）の両方が、第３のバイト・データＰ３に隣接するバイトＤに格納される。図３に示すように、第１の差分値（Ｐ２−Ｐ１）は、バイトＤの先頭の４ビット（ビット１〜ビット４）に格納されるのに対し、第２の差分値（Ｐ４−Ｐ３）はバイトＤの末尾の４ビット（ビット５〜ビット８）に格納される。また、図４に示すように、第１の差分値（Ｐ２−Ｐ１）の値が０より大きい場合、２進符号により表現される。同様に、第２の差分値（Ｐ４−Ｐ３）の値が０より大きい場合もまた２進符号により表現される。第１の差分値（Ｐ２−Ｐ１）が０より小さい場合、２の補数により表現される。同様に、第２の差分値（Ｐ４−Ｐ３）が０より小さい場合もまた２の補数により表現される。このように、第１および第２の差分値におけるビット１とビット５の各々を用いて正値または負値を表わす（０は正値、１は負値である）。従って、第１および第２の差分値の残りの３ビットで表現できる数の範囲は、−８（１０００）〜７（０１１１）である。
【００１３】
これに対して、第１の差分値（Ｐ２−Ｐ１）が７より大きい、または第１の差分値（Ｐ２−Ｐ１）が−８より小さいとステップＳ１２において判定された場合、ステップＳ１５が実行されて第１のバイト・データＰ１の最下位ビットを第２の特性値に設定する。同様に、第２の差分値（Ｐ４−Ｐ３）が７より大きい、または第２の差分値（Ｐ４−Ｐ３）が−８より小さいとステップＳ１２において判定された場合、ステップＳ１５が実行されて第３のバイト・データＰ３の最下位ビットを第２の特性値に設定する。本実施形態において、第２の特性値は１である。また、４ビットで表現できる第１の差分値（Ｐ２−Ｐ１）または第２の差分値（Ｐ４−Ｐ３）の数値範囲が−８（１０００）〜７（０１１１）の間にしか存在しないため、第１の差分値（Ｐ２−Ｐ１）を４ビットで表現できる値に変換する必要がある。第２の差分値（Ｐ４−Ｐ３）もまた、４ビットで表現できる値に変換する必要がある。本実施形態において、２ｍ−１（ｍ＝４，２４−１＝８）の倍数に最も近い値が、第１の差分値（Ｐ２−Ｐ１）または第２の差分値（Ｐ４−Ｐ３）を表現すべく選ばれる。例えば、第１の差分値（Ｐ２−Ｐ１）または第２の差分値（Ｐ４−Ｐ３）が８と１２の間にある場合、８（１×８）で表現される。第１の差分値（Ｐ２−Ｐ１）または第２の差分値（Ｐ４−Ｐ３）が１３と２０の間にある場合、１６（２×８）で表現される。第１の差分値（Ｐ２−Ｐ１）または第２の差分値（Ｐ４−Ｐ３）が−９と−１２の間にある場合、−８（−１×８）で表現される。第１の差分値（Ｐ２−Ｐ１）または第２の差分値（Ｐ４−Ｐ３）が−１３と−２０の間にある場合、−１６（−２×８）で表わされ、以下同様である。次いで、ステップＳ１６において、倍数値を２ｍ−１で除算した商が２進符号（正値）または２の補数（負値）として、対応する４ビット（ビット１〜ビット４またはビット５〜ビット８）に格納される。従って、４ビット全てが−６４（−８の倍数）および５６（７の倍数）を表わす値−８〜７を相応に格納できる。また、差分値が−９と−１２の間にある場合は−８（−１×８）で表現されるため、直接４ビットで表現できる。従って、第１のバイト・データＰ１および／または第３のバイト・データＰ３で最下位ビットは、第１の特性値（すなわち０）に設定される。
【００１４】
第１の差分値（Ｐ２−Ｐ１）が−６４と−１３の間、または８と５６の間にある場合、第１のバイト・データＰ１の最下位ビットが１に設定される（桁借りビットを示す）ため、第１の差分値（Ｐ２−Ｐ１）が−１３より小さい場合、第１の差分値（Ｐ２−Ｐ１）に最初に８を加算し、続いて８の倍数（負値）に最も近い値を用いて表現できる。倍数値を２ｍ−１で除算した商が対応する４ビットにおける２の補数として格納される。同様に、第２の差分値（Ｐ４−Ｐ３）が−６４と−１３の間、または８と５６の間にある場合、第３のバイト・データＰ３の最下位ビットが１に設定される（桁借りビットを示す）ため、第２の差分値（Ｐ４−Ｐ３）が−１３より小さい場合、第２の差分値（Ｐ４−Ｐ３）に最初に８を加算し、続いて８の倍数（負値）に最も近い値を用いて表現できる。倍数値を２ｍ−１で除算した商が対応する４ビットにおける２の補数として格納される。しかし、第１の差分値（Ｐ２−Ｐ１）が７より大きい場合、第１の差分値（Ｐ２−Ｐ１）から最初に８を減算し、続いて８の倍数（正値）に最も近い値を用いて表現できる。倍数値を２ｍ−１で除算した商が対応する４ビットにおける２の補数として格納される。同様に、第２の差分値（Ｐ４−Ｐ３）が７より大きい場合、第２の差分値（Ｐ４−Ｐ３）から最初に８を減算し、続いて８の倍数（正値）に最も近い値を用いて表現できる。倍数値を２ｍ−１で除算した商が対応する４ビットにおける２の補数として格納される。このように、第１の差分値（Ｐ２−Ｐ１）および／または第２の差分値（Ｐ４−Ｐ３）の範囲を−７２〜６４に拡張できる。例えば、図４に示すように、第１の差分値（Ｐ２−Ｐ１）が−１３〜−２０の範囲に入る場合、同じことが−１６、および−１６＋８＝−８（−１×８）により表現できる。同様に、第２の差分値（Ｐ４−Ｐ３）が−１３〜−２０の範囲に入る場合、同じことが−１６、および−１６＋８＝−８（−１×８）により表現できる。従って、１１１１（２の補数による−１の表現）が対応する４ビットに格納されることにより、８＊（−１）＋（−８）＝−１６となり、かつ第１のバイト・データＰ１および／または第３のバイト・データＰ３の最下位ビットが１に設定（桁借りビットを示す）される。第１の差分値（Ｐ２−Ｐ１）が８と１２の間に入る場合、８および８−８＝０により表現される。従って、００００（０の２進符号）が対応する４ビットに格納されることにより、８＊０＋（８）＝８となり、かつ第１のバイト・データＰ１の最下位ビットが１に設定（桁借りビットを示す）される。同様に、第２の差分値（Ｐ４−Ｐ３）が８と１２の間に入る場合、８および８−８＝０により表現される。従って、００００（０の２進符号）が対応する４ビットに格納されることにより、８＊０＋（８）＝８となり、かつ第３のバイト・データＰ３の最下位ビットが１に設定（桁借りビットを示す）される。第１の差分値（Ｐ２−Ｐ１）が１３と２０の間に入る場合、１６で表現される。同様に、第２の差分値（Ｐ４−Ｐ３）が１３と２０の間に入る場合、１６で表現される。１６−８＝８（１×８）であるため、０００１（１の２進符号）が対応する４ビットに格納されることにより８＊１＋８＝１６となり、かつ第１のバイト・データＰ１および／または第３のバイト・データＰ３の最下位ビットが１に設定（桁借りビットを示す）される。
【００１５】
また、第１の差分値（Ｐ２−Ｐ１）が６４より大きい場合（６５〜２５５）、４ビットで表現できる最大の正値は６４であるため、第１の差分値（Ｐ２−Ｐ１）は最大の正値６４で表現され、０１１１が対応する４ビットに格納される。同様に、第２の差分値（Ｐ４−Ｐ３）が６４より大きい（６５〜２５５）場合、４ビットで表現できる最大の正値は６４であるため、第２の差分値（Ｐ４−Ｐ３）は最大の正値６４で表現され、０１１１が対応する４ビットに格納される。第１の差分値（Ｐ２−Ｐ１）が−７２より小さい（−７３〜−２５５）場合、同様に、４ビットで表現できる最小の負値は−７２であるため、第１の差分値（Ｐ２−Ｐ１）は−７２で表現され、１０００が対応する４ビットに格納される。同様に、第２の差分値（Ｐ４−Ｐ３）が−７２より小さい（−７３〜−２５５）場合、第２の差分値（Ｐ４−Ｐ３）は−７２で表現され、１０００が対応する４ビットに格納される。これにより比較的大きい誤差が生じるものの、画質はさほど影響を受けない。その理由は、第１の差分値（Ｐ２−Ｐ１）および／または第２の差分値（Ｐ４−Ｐ３）が６４より大きい（６５〜２５５）、あるいは第１の差分値（Ｐ２−Ｐ１）および／または第２の差分値（Ｐ４−Ｐ３）が−７２より小さい（−７３〜−２５５）という状況が稀にしか生起しないためである。
【００１６】
従って、上記の圧縮処理により、当初は４バイトの記憶域を必要とした画像ピクセル・データＰ１〜Ｐ４を今は３バイトで格納できるようになった。図２に示すように、必要とされる記憶空間は、当初必要であった記憶空間の四分の三に減る。
【００１７】
Ｐ１＝６２（００１１  １１１０）、Ｐ２＝５６、Ｐ３＝７０（０１００  ０１１０）、およびＰ４＝９２を例に取る。第１の差分値は５６−６２＝−６（１０１０、２の補数による−６の表現）＞−８である。従って、第１のバイト・データＰ１は００１１  １１１０（最下位ビットは０に設定されている）に等しく、対応するバイトＤの４ビットに１０１０が直接格納される。第２の差分値は９２−７０＝２２＞７、２２−８＝１４である。１４が、８に２を乗算した結果、すなわち１６に近いため、対応するバイトＤの４ビットに００１０（２の２進符号）が格納される。第３のバイト・データは０１００  ０１１１に等しい（最下位ビットが１に設定されている）。このように、圧縮後のバイト・データＰ１〜Ｐ４のデータは、（００１１  １１１０）（０１００  ０１１１）（１０１０）（００１０）である。
【００１８】
従って、バイト・データＰ１〜Ｐ４を再構成する場合、バイト・データＰ１〜Ｐ４は以下のように迅速に構成することができる。
第１のバイト・データＰ１＝（００１１  １１１０）２＝６２を直接読み込み、
バイトＤの先頭の４ビットデータ（１０１０）、次いで第２のバイト・データＰ２＝Ｐ１（６２）＋（−６）＝５６を読み込み、
第３のバイト・データＰ３＝（０１００  ０１１１）２＝７１を直接読み込み、
バイトＤの末尾の４ビットデータ（００１０）２、次いで第４のバイト・データＰ４＝Ｐ３（７１）＋２＊８＋８＝９５を読み込む。
【００１９】
要約するに、本実施形態は、第１と第２のバイト・データ間の第１の差分値、および第３と第４のバイト・データ間の第２の差分値を計算するための圧縮単位として４個の連続するバイト・データを利用する。第１および第２の差分値のサイズに従い第１および第３のバイト・データの最下位ビットの特性値を設定した後で、第１および第３のバイト・データが格納され、第１および第２の差分値が各々、第３のバイト・データに隣接するバイトＤの先頭の４ビットおよび末尾の４ビットに格納されることにより、画質にさほど影響を与えることなく元のデータ量の四分の三のデータ量に高速圧縮できるようになり、そのためバイト・データの再構成処理におけるデータ復元計算の速度を向上する。
【００２０】
本発明は、最も実際的かつ好適な実施形態と考えられるものと関連付けて記述してきたが、本発明が、開示された実施形態に限定されておらず、そのようなあらゆる変型および同等な構成を含めるべく、最も広い解釈による趣旨および適用範囲に含まれる各種の構成を包含する旨を理解されたい。
【産業上の利用可能性】
【００２１】
本発明は、データ圧縮方法に利用することが出来る。
【図面の簡単な説明】
【００２２】
【図１】本発明によるデータ圧縮方法の好適な実施形態のフローチャートを示す図。
【図２】４個の連続するバイト・データおよび本実施形態に従いそれから圧縮された３個の連続するバイト・データを示す模式図。
【図３】好適な実施形態におけるバイトＤの内容の模式図であり、第１の差分値を格納するために用いる先頭の４ビットおよび第２の差分値を格納するために用いる末尾の４ビットを示す模式図。
【図４】好適な実施形態において採用されている、差分値／２進符号（２の補数）／最下位ビット値／復号化された値の参照表。
【符号の説明】
【００２３】
Ｐ１〜Ｐ４  バイト・データ
１１〜１６  ステップ
【図１】
2007110513.tif 000003
【図２】
2007110513.tif 000004
【図３】
2007110513.tif 000005
【図４】
2007110513.tif 000006