(57)【要約】      （修正有）【課題】イメージファイルのピクセル変換を利用した圧縮率向上方法およびシステムを提供する。【解決手段】コンピュータシステムが実行するイメージ圧縮方法であって、コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも１つのプロセッサを含む。イメージ圧縮方法は、少なくとも１つのプロセッサが、圧縮対象となるイメージファイルをパーシングする段階及び少なくとも１つのプロセッサが、イメージファイルの各ピクセルの一部ビットを無視して圧縮する段階を含む。【選択図】図３
2020123954.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムが実行するイメージ圧縮方法であって、
前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも１つのプロセッサを含み、
前記イメージ圧縮方法は、
前記少なくとも１つのプロセッサが、圧縮対象となるイメージファイルをパーシングする段階、および
前記少なくとも１つのプロセッサが、前記イメージファイルの各ピクセルの一部ビットを無視して圧縮する段階
を含む、イメージ圧縮方法。
【請求項２】
前記圧縮する段階は、
前記イメージファイルの各ピクセルをバイト単位に変換する段階、および
各ピクセル値を示すバイトの一部ビットをマスクすることで該当のピクセル値を操作する段階
を含む、請求項１に記載のイメージ圧縮方法。
【請求項３】
前記操作する段階は、
各ピクセルに対してＲ値、Ｇ値、Ｂ値をそれぞれ操作する、
請求項２に記載のイメージ圧縮方法。
【請求項４】
前記圧縮する段階は、
各ピクセル値を示すバイトにおいて最下位ビット（ｌｅａｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）を基準に一定の個数のビットをマスクする段階
を含む、請求項１に記載のイメージ圧縮方法。
【請求項５】
前記圧縮する段階は、
各ピクセル値の体系を二進数に変換した後、前記二進数の最下位ビットから一定の個数のビットを０にマスクする段階
を含む、請求項１に記載のイメージ圧縮方法。
【請求項６】
前記一定の個数は、一定の水準のイメージ品質を保障する実験値によって決定される、
請求項４または５に記載のイメージ圧縮方法。
【請求項７】
請求項１〜６のうちのいずれか一項に記載のイメージ圧縮方法を前記コンピュータシステムに実行させるためのコンピュータプログラム。
【請求項８】
コンピュータシステムであって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも１つのプロセッサ
を含み、
前記少なくとも１つのプロセッサは、
圧縮対象となるイメージファイルの各ピクセルの一部ビットを操作してピクセル変換を実行するピクセル変換部、および
前記ピクセル変換が完了したイメージファイルを定められたフォーマットで格納するイメージ格納部
を備える、コンピュータシステム。
【請求項９】
前記ピクセル変換部は、
前記イメージファイルをパーシングして前記イメージファイルの各ピクセルをバイト単位に変換した後、各ピクセル値を示すバイトの一部ビットをマスクすることで該当のピクセル値を操作する、
請求項８に記載のコンピュータシステム。
【請求項１０】
前記ピクセル変換部は、
各ピクセルに対してＲ値、Ｇ値、Ｂ値をそれぞれ操作する、
請求項９に記載のコンピュータシステム。
【請求項１１】
前記ピクセル変換部は、
各ピクセル値を示すバイトにおいて最下位ビットを基準に一定の個数のビットをマスクする、
請求項８に記載のコンピュータシステム。
【請求項１２】
前記ピクセル変換部は、
各ピクセル値の体系を二進数に変換した後、前記二進数の最下位ビットから一定の個数のビットを０にマスクする、
請求項８に記載のコンピュータシステム。
【請求項１３】
前記一定の個数は、一定の水準のイメージ品質を保障する実験値によって決定される、
請求項１１または１２に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
以下の説明は、イメージファイルを圧縮する技術に関する。
【背景技術】
【０００２】
一般的に、イメージは、イメージ内の画素（ｐｉｘｅｌ）それぞれに関する情報を必要とするため、フォトグラフィックイメージまたはこれと類似のグラフィックイメージは容量の大きいファイルとして見なされる。
【０００３】
このようなフォトグラフィックイメージまたはこれと類似のグラフィックイメージは、１Ｍバイト以上の格納空間と必要し、送信率の低い通信網を利用する場合には相当な送信時間を要する。
【０００４】
近年は、イメージを記録するのに必要となる格納空間の量と送信時間を減らすために、イメージを圧縮する技術が開発されている。
【０００５】
イメージ圧縮技法は、損失圧縮技法（ｌｏｓｓ  ｃｏｍｐｒｅｓｓｉｏｎ  ｍｅｔｈｏｄ）と非損失圧縮技法（ｌｏｓｓｌｅｓｓ  ｃｏｍｐｒｅｓｓｉｏｎ  ｍｅｔｈｏｄ）とに分けられるが、このような圧縮技法は、空間的、時間的、確率的重複性を取り除くことによってイメージを圧縮する。
【０００６】
イメージ圧縮技術の一例として、特許文献１（登録日２００３年０５月１９日）には、パーソナルコンピュータの汎用直列バスインタフェースに接続することで、ユーザがＵＳＢカメラなどに利用できるイメージ圧縮技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】韓国登録特許第１０−０３８５８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
イメージファイルの各ピクセルの一部ビットをマスクするピクセル変換によってイメージファイルを圧縮する方法およびシステムを提供する。
【０００９】
イメージファイルのブロック間のピクセル差を利用したピクセル変換によってイメージファイルを圧縮する方法およびシステムを提供する。
【課題を解決するための手段】
【００１０】
コンピュータシステムが実行するイメージ圧縮方法であって、前記コンピュータシステムは、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも１つのプロセッサを含み、前記イメージ圧縮方法は、前記少なくとも１つのプロセッサが、圧縮対象となるイメージファイルをパーシングする段階、および前記少なくとも１つのプロセッサが、前記イメージファイルの各ピクセルの一部ビットを無視して圧縮する段階を含む、イメージ圧縮方法を提供する。
【００１１】
一態様によると、前記圧縮する段階は、前記イメージファイルの各ピクセルをバイト単位に変換する段階、および各ピクセル値を示すバイトの一部ビットをマスクすることで該当のピクセル値を操作する段階を含んでよい。
【００１２】
他の態様によると、前記操作する段階は、各ピクセルに対してＲ値、Ｇ値、Ｂ値をそれぞれ操作してよい。
【００１３】
また他の態様によると、前記圧縮する段階は、各ピクセル値を示すバイトにおいて最下位ビット（ｌｅａｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）を基準に一定の個数のビットをマスクする段階を含んでよい。
【００１４】
また他の態様によると、前記圧縮する段階は、各ピクセル値の体系を二進数に変換した後、前記二進数の最下位ビットから一定の個数のビットを０にマスクする段階を含んでよい。
【００１５】
また他の態様によると、前記一定の個数は、一定水準のイメージ品質を保障する実験値によって決定されてよい。
【００１６】
上述したイメージ圧縮方法を前記コンピュータシステムに実行させるためのコンピュータプログラムを提供する。
【００１７】
コンピュータシステムであって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも１つのプロセッサを含み、前記少なくとも１つのプロセッサは、圧縮対象となるイメージファイルの各ピクセルの一部ビットを操作してピクセル変換を実行するするピクセル変換部、および前記ピクセル変換が完了したイメージファイルを定められたフォーマットで格納するイメージ格納部を備える、コンピュータシステムを提供する。
【発明の効果】
【００１８】
本発明の実施形態によると、イメージファイルの各ピクセルの一部ビットをマスクするピクセル変換によってイメージファイルを圧縮することにより、イメージ圧縮率を向上させることができる。
【００１９】
本発明の実施形態によると、イメージファイルのブロック間のピクセル差を利用したピクセル変換によってイメージファイルを圧縮することにより、イメージ圧縮率を向上させることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態における、コンピュータシステムの内部構成の一例を説明するためのブロック図である。
【図２】本発明の一実施形態における、コンピュータシステムのプロセッサが含むことのできる構成要素の例を示した図である。
【図３】本発明の一実施形態における、コンピュータシステムが実行することのできるイメージ圧縮方法の一例を示したフローチャートである。
【図４】本発明の一実施形態における、イメージファイルの各ピクセル値を変換する過程の例を示した図である。
【図５】本発明の一実施形態における、コンピュータシステムが実行することのできるイメージ圧縮方法の他の例を示した図である。
【図６】本発明の一実施形態における、イメージファイルをブロック単位で分ける過程を説明するための例示図である。
【図７】本発明の一実施形態における、ブロック間のピクセル差値を計算する過程を説明するための例示図である。
【図８】本発明の一実施形態における、ブロック間のピクセル差値を計算する過程を説明するための例示図である。
【図９】ＬＵＴ（ｌｏｏｋ  ｕｐ  ｔａｂｌｅ）ファイルの例を示した図である。
【図１０】原本イメージファイルとピクセル変換がなされたイメージファイルとを比較するための例示図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について、添付の図面を参照しながら詳細に説明する。
【００２２】
本発明の実施形態は、イメージファイルを圧縮する技術に関する。
【００２３】
本明細書で具体的に開示される事項を含む実施形態は、イメージファイルのピクセル変換によるイメージ圧縮技術を提供してよく、これによってイメージ圧縮率、画質保証、格納空間節約、費用節減などの側面において相当な長所を達成することができる。
【００２４】
図１は、本発明の一実施形態における、コンピュータシステムの内部構成の一例を説明するためのブロック図である。例えば、本発明の実施形態に係るイメージ圧縮システムは、図１のコンピュータシステム１００によって実現されてよい。図１に示すように、コンピュータシステム１００は、イメージ圧縮方法を実行するための構成要素として、プロセッサ１１０、メモリ１２０、非一時的記録装置１３０、バス１４０、入力／出力インタフェース１５０、およびネットワークインタフェース１６０を含んでよい。
【００２５】
プロセッサ１１０は、イメージ圧縮のための構成要素として、命令語のシーケンスを処理することのできる任意の装置を含んでも、その一部であってもよい。プロセッサ１１０は、例えば、コンピュータプロセッサ、移動装置、または他の電子装置内のプロセッサおよび／またはデジタルプロセッサを含んでよい。プロセッサ１１０は、例えば、サーバコンピューティングデバイス、サーバコンピュータ、一連のサーバコンピュータ、サーバファーム、クラウドコンピュータ、コンテンツプラットフォームなどに含まれてよい。プロセッサ１１０は、バス１４０を介してメモリ１２０に接続してよい。
【００２６】
メモリ１２０は、コンピュータシステム１００によって使用されるか、これから出力される情報を記録するための揮発性メモリ、非一時的、仮想、またはその他のメモリを含んでよい。例えば、メモリ１２０は、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）および／またはＤＲＡＭ（ｄｙｎａｍｉｃ  ＲＡＭ）を含んでよい。メモリ１２０は、コンピュータシステム１００の状態情報のような任意の情報を記録するのに使用されてよい。メモリ１２０は、例えば、イメージ圧縮のための命令語を含むコンピュータシステム１００の命令語を記録するのに使用されてよい。コンピュータシステム１００は、必要によってまたは適切な場合に、１つ以上のプロセッサ１１０を含んでよい。
【００２７】
バス１４０は、コンピュータシステム１００の多様なコンポーネント間の相互作用を可能にする通信基盤構造を含んでよい。バス１４０は、例えば、コンピュータシステム１００のコンポーネント間、例えば、プロセッサ１１０とメモリ１２０との間でデータを運搬してよい。バス１４０は、コンピュータシステム１００のコンポーネント間の無線および／または有線通信媒体を含んでよく、並列、直列、または他のトポロジ配列を含んでよい。
【００２８】
非一時的記録装置１３０は、（例えば、メモリ１２０に比べて）所定の延長された期間中にデータを記録するために、コンピュータシステム１００によって使用されるもののようなメモリまたは他の非一時的記録装置のようなコンポーネントを含んでよい。非一時的記録装置１３０は、コンピュータシステム１００内のプロセッサ１１０によって使用されるもののような不揮発性メインメモリを含んでよい。非一時的記録装置１３０は、例えば、フラッシュメモリ、ハードディスク、光ディスク、または他のコンピュータ読み取り可能な媒体を含んでよい。
【００２９】
入力／出力インタフェース１５０は、キーボード、マウス、音声命令入力、ディスプレイ、または他の入力または出力装置に対するインタフェースを含んでよい。構成命令および／またはイメージ圧縮のための入力が、入力／出力インタフェース１５０を経て受信されてよい。
【００３０】
ネットワークインタフェース１６０は、近距離ネットワークまたはインターネットのようなネットワークに対する１つ以上のインタフェースを含んでよい。ネットワークインタフェース１６０は、有線または無線接続に対するインタフェースを含んでよい。構成命令および／またはイメージ圧縮のための入力が、ネットワークインタフェース１６０を経て受信されてよい。
【００３１】
また、他の実施形態において、コンピュータシステム１００は、図１の構成要素よりも多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータシステム１００は、上述した入力／出力インタフェース１５０と連結する入力／出力装置のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ（ｔｒａｎｓｃｅｉｖｅｒ）、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【００３２】
本実施形態は、イメージファイルを圧縮する技術に関し、ＰＮＧやＪＰＧなどでイメージ圧縮技術を使用している。
【００３３】
図２は、本発明の一実施形態における、コンピュータシステムのプロセッサが含むことのできる構成要素の例を示した図である。
【００３４】
図２に示すように、プロセッサ１１０は、ピクセル変換部２１０およびイメージ格納部２２０を含んでよい。ピクセル変換部２１０は、実施形態によって、ピクセルマスク部２１１とピクセル差計算部２１２のうちの少なくとも１つを含んでよい。
【００３５】
このようなプロセッサ１１０の構成要素は、少なくとも１つのプログラムコードによって提供される制御命令にしたがってプロセッサ１１０によって実行される互いに異なる機能（ｄｉｆｆｅｒｅｎｔ  ｆｕｎｃｔｉｏｎｓ）の表現であってよい。例えば、プロセッサ１１０がイメージファイルの各ピクセル値を変換するようにコンピュータシステム１００を制御するために動作する機能的表現としてピクセル変換部２１０が使用されてよい。プロセッサ１１０およびプロセッサ１１０の構成要素は、以下のイメージ圧縮方法が含む段階を実行してよい。例えば、プロセッサ１１０およびプロセッサ１１０の構成要素は、メモリ１２０が含むオペレーティングシステムのコードと、上述した少なくとも１つのプログラムコードとによる命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行するように実現されてよい。ここで、少なくとも１つのプログラムコードは、イメージ圧縮方法を処理するために実現されたプログラムのコードに対応してよい。
【００３６】
図３と図５のイメージ圧縮方法は、図に示した順のとおりに発生する必要はなく、段階の一部が省略されてもよいし、追加の過程がさらに含まれてもよい。
【００３７】
図３は、本発明の一実施形態における、コンピュータシステムが実行することのできるイメージ圧縮方法の一例を示したフローチャートである。
【００３８】
本実施形態は、イメージファイルの各ピクセルの一部ビットをマスクする方式のピクセル変換によってイメージ圧縮率を向上させることができる。
【００３９】
段階３１０で、プロセッサ１１０は、イメージ圧縮方法のためのプログラムファイルに記録されたプログラムコードをメモリ１２０にロードしてよい。例えば、イメージ圧縮方法のためのプログラムファイルは、図１を参照しながら説明した非一時的記録装置１３０に記録されていてよく、プロセッサ１１０は、バスを介して非一時的記録装置１３０に記録されたプログラムファイルからプログラムコードがメモリ１２０にロードされるようにコンピュータシステム１１０を制御してよい。このとき、プロセッサ１１０およびプロセッサ１１０が含むピクセルマスク部２１１およびイメージ格納部２２０それぞれは、メモリ１２０にロードされたプログラムコードのうちの対応する部分の命令を実行して以下の段階３２０〜３４０を実行するための、プロセッサ１１０の互いに異なる機能的表現であってよい。段階３２０〜３４０の実行のために、プロセッサ１１０およびプロセッサ１１０の構成要素は、制御命令による演算を直接処理してもよいし、またはコンピュータシステム１００を制御してもよい。
【００４０】
段階３２０で、ピクセルマスク部２１１は、圧縮対象に該当するイメージファイル（例えば、ＰＮＧファイルなど）をパーシングした後、各ピクセルをバイト単位に変換してよい。言い換えれば、ピクセルマスク部２１１は、イメージファイルの各ピクセルをパーシングしてピクセル１つ１つを読み取り、各ピクセルをバイト単位に変換してよい。
【００４１】
段階３３０で、ピクセルマスク部２１１は、イメージファイルの各ピクセル別に該当のピクセルを示すバイトの一部ビットをマスクすることでピクセル変換を実行してよい。ピクセルマスク部２１１は、一部ビットを無視するイメージフィルタを生成し、これによってイメージファイルのデータサイズを減らしてよい。一例として、ピクセルマスク部２１１は、各ピクセルのバイトに対して最下位ビット（ｌｅａｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）を基準に事前に定められた個数（ｎ個）のビットをすべて０にマスクしてよい。このとき、マスクを適用するためのビット個数（ｎ個）は、実験によって決定されるものであり、イメージの劣化を防ぎながら一定の水準にイメージ品質を保障することのできる程度として決定されてよく、例えば、１〜２ビットが適用されてよい。
【００４２】
圧縮対象であるイメージファイルがＲＧＢフォーマットである場合、ピクセルのＲ値、Ｇ値、Ｂ値に対してそれぞれピクセル変換を実行してよい。ＲＧＢフォーマットに限定されることはなく、アルファ値を含むＡＲＧＢなどのような多様なフォーマットのイメージファイルが適用の対象となってよい。
【００４３】
図４は、各ピクセルのＲＧＢ値を変換する過程の例を示した図である。
【００４４】
各ピクセルのＲ値、Ｇ値、Ｂ値は、それぞれ１バイトで表現される。
【００４５】
図４を参照すると、一ピクセルのＲ値「３０」を変換しようとする場合、先ずＲ値「３０」を二進数に変換するようになるが、「３０」を二進数で表現すれば「０００１１１１０」となる。このとき、「０００１１１１０」において最下位ビットから２個のビットに該当する「１０」を無視すると「０００１１１００」となり、「０００１１１００」を再び１０進数に変換すれば「２８」となる。このような過程により、既存のＲ値「３０」を「２８」に変換してよい。
【００４６】
上述した方式のピクセル変換過程を、イメージファイルの全体ピクセルに対してすべて実行してよい。
【００４７】
再び図３において、段階３４０で、イメージ格納部２２０は、イメージファイルのピクセル変換が完了すると、該当のイメージファイルを定められたフォーマットで格納してよい。このとき、イメージ格納部２２０は、イメージファイルをＰＮＧファイルで格納してよい。
【００４８】
本発明では、イメージファイルの各ピクセルに対して一部ビットを無視する方式によってピクセル値を操作し、ＰＮＧで格納することにより、データサイズを減らすことができる。ＰＮＧファイルで定義する同一の圧縮方式を用いたとしても、ピクセル変換によって原本ファイルのピクセルよりも共通するビット、すなわち同一の値が多くなるため、結果的にはイメージ圧縮率を向上させることができる。
【００４９】
図５は、本発明の一実施形態における、コンピュータシステムが実行することのできるイメージ圧縮方法の他の例を示したフローチャートである。
【００５０】
本実施形態は、イメージファイルのブロック間のピクセル差を利用したピクセル変換によってイメージ圧縮率を向上させることができる。
【００５１】
段階５１０で、プロセッサ１１０は、イメージ圧縮方法のためのプログラムファイルに記録されたプログラムコードをメモリ１２０にロードしてよい。例えば、イメージ圧縮方法のためのプログラムファイルは、図１を参照しながら説明した非一時的記録装置１３０に記録されていてよく、プロセッサ１１０は、バスを介して非一時的記録装置１３０に記録されたプログラムファイルからプログラムコードがメモリ１２０にロードされるようにコンピュータシステム１１０を制御してよい。このとき、プロセッサ１１０およびプロセッサ１１０が含むピクセル差計算部２１２およびイメージ格納部２２０それぞれは、メモリ１２０にロードされたプログラムコードのうちの対応する部分の命令を実行して以下の段階５２０〜５５０を実行するためのプロセッサ１１０の互いに異なる機能的表現であってよい。段階５２０〜５５０の実行のために、プロセッサ１１０およびプロセッサ１１０の構成要素は、制御命令による演算を直接処理してもよいし、またはコンピュータシステム１００を制御してもよい。
【００５２】
段階５２０で、ピクセル差計算部２１２は、圧縮対象に該当するイメージファイル（例えば、ＰＮＧファイルなど）をパーシングした後、各ピクセルをバイト単位に変換してよい。言い換えれば、ピクセル差計算部２１２は、イメージファイルの各ピクセルをパーシングしてピクセル１つ１つを読み取り、各ピクセルをバイト単位に変換してよい。
【００５３】
段階５３０で、ピクセル差計算部２１２は、イメージファイルを複数のブロックに分けてよい。このとき、ピクセル差計算部２１２は、イメージファイルの各ピクセルを同じ大きさのブロック単位で束ねることで該当のイメージファイルを複数のブロックに分けてよい。
【００５４】
例えば、図６に示すように、ブロック単位６０１をＭ×Ｌ（このとき、Ｍ＝ＬあるいはＭ≠Ｌ）個のピクセルサイズで定義してよく、イメージファイル６００をＭ×Ｌ個のピクセルを有する複数のブロック６０１に分けてよい。
【００５５】
再び図５において、段階５４０で、ピクセル差計算部２１２は、イメージファイルに対してブロック間のピクセル差値を利用してピクセル変換を実行してよい。ピクセル差計算部２１２は、１つのブロックのピクセル値に対して他のブロックの同じ位置のピクセル値との差を計算し、該当のピクセル値を計算されたピクセル差値と代替することによってピクセル値を操作してよい。
【００５６】
図７は、各ピクセル値を変換する過程の例を示した図である。
【００５７】
図７に示すように、一ブロックを２×２ピクセルと仮定し、（１）ブロックを基準ブロックと仮定する。
【００５８】
一例として、ピクセル差計算部２１２は、対象ブロックのピクセル値と隣接するブロックの同じ位置のピクセル値の差を計算し、計算された差値を対象ブロックのピクセル値と代替する。
【００５９】
基準ブロックである（１）ブロックのピクセル値は復元のためにそのまま使用し、残りのブロックは隣接ブロックとのピクセル差値を使用する。（２）ブロックの場合、（１）ブロックのピクセル値との差を計算し、計算された差値を（２）ブロックのピクセル値として使用する。同じように、（３）ブロックの場合、（２）ブロックのピクセル値との差を計算し、計算された差値を（３）ブロックのピクセル値として使用する。
【００６０】
基準ブロック６０１から始まり、図８に示した方向に沿って順に各ピクセル値を隣接ブロックとのピクセル差値と代替してよい。
【００６１】
上述した方式は一例に過ぎず、これに限定されることはなく、基準ブロックを指定する方式やピクセル差値を計算する方式などはいくらでも変更可能である。
【００６２】
例えば、すべてのブロックに対し、隣接ブロックではなく基準ブロックとのピクセル差値を計算する方式も可能である。また、中央に位置するブロックを基準ブロックに指定し、基準ブロックの両方向に同時に基準ブロックあるいは隣接ブロックとのピクセル差値を計算する方式、各行や列で１番目のブロックを基準ブロックに指定し、複数の方向に同時に該当の行や列の基準ブロックあるいは隣接ブロックとのピクセル差値を計算する方式など、ブロック間の差を計算することのできる方式であればすべて適用可能である。
【００６３】
再び図５において、段階５５０で、イメージ格納部２２０は、イメージファイルのピクセル変換が完了すると、該当のイメージファイルを定められたフォーマットで格納してよい。このとき、イメージ格納部２２０は、ハフマン符号などを利用したデータ圧縮によってイメージファイルを格納してよい。
【００６４】
本発明では、イメージファイルの各ピクセルをブロック間のピクセル差値と代替する方式によってピクセル値を操作することによってデータサイズを減らすことができる。ピクセル差値を格納する場合、実際のピクセル値よりも少ないビット（３〜４ビット程度）で表現が可能である。ＰＮＧファイルで定義する同一の圧縮方式を用いたとしても、ピクセル変換により、絶対値ではなく差値を利用する場合には特定値の頻度が多くなるため、原本ファイルのピクセルよりも共通するビット、すなわち同一の値が多くなるため、イメージ圧縮率を向上させることができる。
【００６５】
図９は、ＬＵＴ（ｌｏｏｋ  ｕｐ  ｔａｂｌｅ）ファイルの例を示した図である。
【００６６】
例えば、ＬＵＴファイルは６４×６４サイズのブロックが６４個存在するが、このとき、ブロック間に大きな差はない。
【００６７】
ブロック間の差を格納する場合、より少ないビットを使用して表現してよく、絶対値ではなく差値の場合は特定値の頻度が多くなるため、イメージ圧縮率が高まるようになる。
【００６８】
例えば、パイソンでコードブックとエンコード結果をファイルで生成してイメージサイズを予測することがある。
【００６９】
イメージ格納部２２０は、イメージファイルの格納時、ブロック別にＲＧＢそれぞれのコードを別途生成して結果を格納してよく、他の例としては、全体ブロックに対してＲＧＢそれぞれのコードを別途生成して結果を格納してよい。また他の例として、イメージ格納部２２０は、イメージファイルの格納時、ブロック別にＲＧＢ全体のコードを一度に生成して結果を格納してもよいし、あるいは全体ブロックに対してＲＧＢ全体のコードを一度に生成して結果を格納してもよい。
【００７０】
イメージ格納部２２０は、事前に定められた圧縮方式（ｔａｒ、ｚｉｐ）によってイメージファイルを圧縮して格納してよい。このとき、イメージ格納部２２０は、イメージファイルに対してハフマン符号によってコードブックとエンコード結果をバイナリファイルで生成してよい。ブロック別あるいはＲＧＢ別にコードを生成してみると、ブロック間のピクセル差値によって生成されるファイルが極めて多くなるため、ｔａｒ（ヘッダ情報を含む）を利用してファイルを一括処理してよい。
【００７１】
ハフマン符号によってイメージ圧縮率を増やすためには、稀に発生する値を減らす必要がある。すなわち、稀に発生する値ａを頻繁に発生する値ａ’に変更しなければならず、一例として、各ピクセルに対して最後のビット１〜２個を０にマスクしてもよく、絶対値の代わりに差値を用いてピクセル値自体を変換してもよい。
【００７２】
図１０を参照すると、最後のビット１〜２個を捨てたピクセル変換ファイル１０２０のイメージ圧縮率が原本ファイル１０１０に比べて向上するものと予想されるが、肉眼では原本ファイル１０１０とピクセル変換ファイル１０２０に差を感じることができない。
【００７３】
ピクセル変換部２１０は、ピクセル変換において各ピクセルの一部ビットをマスクする方式と、ブロック間のピクセル差値と代替する方式とを結合して利用することも可能である。このとき、イメージ格納部２２０は、イメージファイル格納時、全体ブロックに対して最後のビット１〜２個を捨てたＲＧＢのコードを一度に生成して結果を格納してよい。
【００７４】
他の例として、イメージ格納部２２０は、ハフマン符号を経ず、ピクセル変換が完了したイメージファイルをＰＮＧで格納してデータサイズを減らしてよい。言い換えれば、イメージ格納部２２０は、ハフマン符号を経ず、最後のビット１〜２個を捨てたＲＧＢをＰＮＧで格納してよい。
【００７５】
このように、本発明の実施形態によると、イメージファイルの各ピクセルの一部ビットをマスクするピクセル変換によってイメージファイルを圧縮することにより、イメージ圧縮率を向上させることができる。また、本発明の実施形態によると、イメージファイルのブロック間のピクセル差を利用したピクセル変換によってイメージファイルを圧縮することにより、イメージ圧縮率を向上させることができる。さらに、本発明の実施形態によると、各ピクセルの一部ビットをマスクする方式とブロック間のピクセル差値と代替する方式とを結合してピクセル値を操作することにより、イメージ圧縮率を高めるためにピクセル値に共通するビットを効果的に増やすことができる。
【００７６】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および／またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ、マイクロコンピュータ、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、１つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム（ＯＳ）およびＯＳ上で実行される１つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、１つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および／または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは１つのプロセッサおよび１つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【００７７】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの１つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成してもよく、独立的または集合的に処理装置に命令してもよい。ソフトウェアおよび／またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供するために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、１つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【００７８】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例は、ハードディスク、フロッピー（登録商標）ディスク、および磁気テープのような磁気媒体、ＣＤ−ＲＯＭおよびＤＶＤのような光媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような光磁気媒体、およびＲＯＭ、ＲＡＭ、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【００７９】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ／あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【００８０】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【００８１】
１１０：プロセッサ
２１０：ピクセル変換部
２１１：ピクセルマスク部
２１２：ピクセル差計算部
２２０：イメージ格納部
【図１】
2020123954.tif 000003
【図２】
2020123954.tif 000004
【図３】
2020123954.tif 000005
【図４】
2020123954.tif 000006
【図５】
2020123954.tif 000007
【図６】
2020123954.tif 000008
【図７】
2020123954.tif 000009
【図８】
2020123954.tif 000010
【図９】
2020123954.tif 000011
【図１０】
2020123954.tif 000012