【解決手段】エンコーダ10において、所定の画像中のブロックについての特徴情報と、特徴情報に対応するブロックに対する交流成分の予測残差を符号化する際に予測残差を調整する予測調整量を特定可能な予測調整量特定情報とを対応付けて記憶する予測調整量テーブル21と、対象画像中の対象ブロックについての特徴情報を特定する特徴情報特定部15と、特徴情報特定部15により特定された特徴情報に対応する予測調整量を調整量テーブル21の予測調整量特定情報から特定する調整量特定部16と、を備えるように構成する。
所定の画像中のブロックについての特徴情報と、特徴情報に対応する前記ブロックに対する輝度の交流成分の予測残差を符号化する際に、前記予測残差を調整する予測調整量を特定可能な予測調整量特定情報とを対応付けて記憶する調整量記憶部と、
対象画像中の対象ブロックについての特徴情報を特定する特徴情報特定部と、
前記特徴情報特定部により特定された特徴情報に対応する予測調整量を前記調整量記憶部の前記予測調整量特定情報から特定する調整量特定部と、
を備える画像処理装置。
前記対象ブロックに対する交流成分から、前記対象ブロックの周囲のブロックの直流成分に基づく前記対象ブロックにおける予測値と、特定された前記予測調整量とを減算することにより、前記対象ブロックにおける予測残差を算出する予測残差算出部と、
前記予測残差に基づいて、前記対象ブロックに対応する特徴情報に対応付けられた前記予測調整量特定情報を更新する調整量更新部と、
をさらに備える
請求項1に記載の画像処理装置。
前記調整量更新部は、更に、前記対象ブロックと対称性を有する対称ブロックに対応する特徴情報に対応付けられた前記ブロックの出現数に1を加算するとともに、算出された前記予測残差を、前記対称ブロックに対応する特徴情報に対応付けられた前記ブロックの前記予測残差の合計に加算する
請求項3に記載の画像処理装置。
【発明を実施するための形態】
【0013】
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0014】
まず、一実施形態に係る画像処理システムについて説明する。
【0015】
図1は、一実施形態に係る画像処理システムの全体構成図である。
【0016】
画像処理システム1は、画像処理装置の一例としてのエンコーダ10と、画像処理装置の一例としてのデコーダ30とを備える。エンコーダ10とデコーダ30とは、ネットワーク50を介して接続されている。ネットワーク50は、例えば、Local Area Netowork(LAN)や、Wide Area Network(WAN)等である。
【0017】
エンコーダ10は、対象画像入力部11と、DC変換部12と、アダマール変換部13と、交流成分予測部14と、特徴情報特定部15と、調整量特定部16と、予測残差算出部17と、符号化部18と、調整量更新部19と、圧縮データ出力部20と、予測調整量テーブル21とを有する。
【0018】
対象画像入力部11は、圧縮対象の画像(対象画像)を入力する。対象画像は、例えば、静止画像であってもよく、動画像の1フレームの画像であってもよい。対象画像は、エンコーダ10内の補助記憶装置106(
図8参照)から取得するようにしてもよく、或いは、図示しない撮像装置から取得するようにしてもよい。
【0019】
DC変換部12は、対象画像の各画素の輝度値に基づいて、対象画像中の対象ブロックにおける直流成分を生成する。対象ブロックとしては、例えば、最上位階層(第1階層)のブロックは、16画素×16画素である。第1階層よりも下の階層のブロックは、第2階層のブロックは、8画素×8画素であり、第3階層のブロックは、4画素×4画素であり、第4階層のブロックは、2画素×2画素である。対象ブロックにおける直流成分Dは、例えば、対象ブロックに含まれる画素の輝度値の平均値である。以下の処理においては、対象画像中のブロックについての対象ブロックの順番は、予め決まった順番に従って行われるものとする。本実施形態では、対象ブロックの順番は、画像中の、左上から横方向のブロックを順次対象とし、横方向の全てのブロックを対象とした後に一段下のブロックについて同様に順次対象とするようにしている。なお、対象ブロックの順番は、これに限られず、デコーダ側との間で共通に認識できる順番であればよい。また、DC変換部12は、
図2に示す対象ブロックを構成する複数の部分ブロック(子ブロック)についての各画素の輝度値に基づいて、各子ブロックの直流成分を算出する。
【0020】
アダマール変換部13は、対象ブロックの横方向の交流成分αと、縦方向の交流成分βと、斜め方向の交流成分γと、直流成分δとを算出するアダマール変換を行う。なお、直流成分δは、直流成分Dと同一であるので、計算により算出する必要はない。
【0021】
ここで、
図2に示すように、対象ブロック60を4等分したブロック61(子ブロックという)について、右上の子ブロックの画素の輝度平均をδ
++、右下の子ブロックの画素の輝度平均をδ
+−、左上の子ブロックの画素の輝度平均をδ
−+、左下の子ブロックの画素の輝度平均をδ
−−とすると、交流成分α、交流成分β、交流成分γ、直流成分δは、以下の式(1)〜(4)に示すように表すことができる。
【0022】
交流成分α=(δ
+++δ
+−−δ
−+−δ
−−)/4 ・・・(1)
交流成分β=(δ
++−δ
+−+δ
−+−δ
−−)/4 ・・・(2)
交流成分γ=(δ
++−δ
+−−δ
−++δ
−−)/4 ・・・(3)
直流成分δ=(δ
+++δ
+−+δ
−++δ
−−)/4 ・・・(4)
【0023】
交流成分予測部14は、公知の交流成分予測に従って対象ブロックについての交流成分の予測値を算出する。交流成分予測部14は、例えば、
図3に示す対象ブロック60oの右側のブロック60r(対象右ブロック)と、対象ブロック60oの左側のブロック60l(対象左ブロック)との直流成分から対象ブロックの交流成分の予測値を求める。
例えば、交流成分α、交流成分βについての予測値α’,β’は、以下の式(5)、(6)に示すように表すことができる。
【0024】
予測値α’=(D
+−D
−)/4 ・・・(5)
予測値β’=(D
+−D
−)/4 ・・・(6)
なお、交流成分予測部14による交流成分の予測値の予測方法は、ほかの方法であってもよい。なお、対象右ブロック60r又は対象左ブロック60lが、存在しない場合には、対象右ブロック60rのD
+又は対象左ブロック60lのD
−は、対象ブロック60oのDと同じ値又は、すべて黒の画素で構成されている場合の直流成分としてもよい。
【0025】
特徴情報特定部15は、第1特定情報特定部の一例であり、対象ブロックについての特徴情報を特定する。本実施形態では、対象ブロックについての特徴情報は、例えば、
図3に示す対象ブロック60oの右側の2つ目のブロック60rr(対象右右ブロック)、対象右ブロック60r、対象ブロック60o、対象左ブロック60l、対象ブロックの左側の2つ目のブロック60ll(対象左左ブロック)の直流成分をそれぞれ、D
++,D
+,D,D
−,D
−−とすると、以下の式(7)に示すものを用いている。
【0026】
特徴情報(x,y,z)=(D
+−D,D−D
−,D
++−D
−−)・・・(7)
この特徴情報(x,y,z)は、予測調整量テーブル21において、特徴情報の対象ブロックに対応する情報を管理するためのインデックスとして用いられる。この特徴情報は、対象ブロックと周囲のブロックとの関係を示すパターンであり、この特徴情報が同じであれば、対象ブロック同士が同一又は類似している。このようなインデックスに対応する予測調整量を用いることにより、後述する予測残差を小さくすることができる。なお、対象ブロックに対して、対象右右ブロック、対象右ブロック、対象左ブロック、又は対象左左ブロックが存在しない場合には、存在しないブロックの直流成分は、対象ブロックと同じ値、又は全ての黒の画素で構成されている場合の直流成分としてもよい。
【0027】
予測調整量テーブル21は、対象ブロックの特徴情報ごとに予測調整量を特定可能な情報(予測調整量特定可能情報)を管理している。具体的には、予測調整量テーブル21は、対象ブロックの特徴情報ごとの予測調整量特定可能情報のエントリを管理する。予測調整量テーブル21のエントリは、
図4に示すように、特徴情報21aと、パターン出現数21bと、予測残差合計21cとのフィールドを含む。特徴情報21aには、特徴情報(x,y,z)が格納される。パターン出現数21bには、エントリの特徴情報に対応するパターンが出現した回数が格納される。予測残差合計21cには、エントリに対応するパターンに対応する予測残差の合計が格納される。本実施形態においては、予測残差の合計を出現回数で除算した予測残差の平均を、予測調整量としている。予測調整量テーブル21は、例えば、1つの静止画像に対して、又は、動画中の1つのキーフレームに対応する画像に対して1つ生成される。なお、予測調整量テーブル21を、動画中の隣接する複数の画像で共用してもよく、また、類似する画像間で共用してもよい。
【0028】
調整量特定部16は、第1調整量特定部の一例であり、特定情報特定部15において特定された特徴情報に対応する予測調整量を特定する。具体的には、調整量特定部16は、特徴情報(x,y,z)に対応する予測調整量テーブル21のエントリを特定し、このエントリの予測残差合計ψをパターン出現数nで除算することにより、予測調整量を特定する。この予測調整量は、同じ特徴情報となるパターンについての予測残差の平均値である。このように特徴情報により、予測調整量を特定するようにしたので、特徴量の共通する対象ブロックについて、予測調整量を適切に特定することができる。本実施形態では、交流成分α及び交流成分βについての特徴情報に対応する予測調整量を特定する場合においては、同一の予測調整量テーブル21を用いるようにしている。このように、同一の予測調整量テーブル21を用いるのは、画像中に或る部分画像を90度回転させた部分画像が存在する可能性があり、これらについては、同一の性質を有しているからである。これにより、予測調整テーブル21の記憶に必要なメモリ量を低減することができる。また、本実施形態では、階層の異なる対象ブロックについての特徴情報に対応する予測調整量を特定する場合おいても、同一の予測調整量テーブル21を用いるようにしている。このように、同一の予測調整量テーブル21を用いるのは、画像はフラクタルである(自己相似性を有する)ことがあり、異なるサイズの対象ブロックであっても、同一の性質を有している可能性があるからである。これにより、予測調整テーブル21の記憶に必要なメモリ量を低減することができる。
【0029】
予測残差算出部17は、対象ブロックに対する予測残差dを算出する。本実施形態では、交流成分α、βに対する予測残差d
α、d
βは、以下の式(8),(9)で算出している。なお、交流成分βに対する予測残差d
βを算出する処理は、交流成分αに対する予測残差d
αを算出する処理における座標系を90度回転させた状態で同様な処理を行うようにすればよい。
予測残差d
α=α―α’−ψ(x,y,z)/n(x,y,z) ・・・(8)
予測残差d
β=β―β’−ψ(x,y,z)/n(x,y,z) ・・・(9)
ここで、ψ(x,y,z)は、特徴情報が(x,y,z)の対象ブロックに対する予測残差合計ψを示し、n(x,y,z)は、特徴情報が(x,y,z)の対象ブロックに対するパターン出現数nを示している。
【0030】
符号化部18は、予測残差算出部17により算出された予測残差dに対して、例えば、量子化等の非可逆変換を行い、更に、ハフマン符号化や算術符号化といったエントロピ符号化を施すことにより、対象ブロックに対する圧縮データを生成する。また、符号化部18は、最上位の各ブロックの直流成分D及び各ブロックの交流成分γについて公知の圧縮技術により圧縮データを生成する。
【0031】
調整量更新部19は、予測残差算出部17により算出された予測残差dに基づいて、予測調整量テーブル21の予測調整量特定情報を更新する。
具体的には、調整量更新部19は、以下の式(10)、(11)に示すように予測調整量テーブル21を更新する。
ψ
a(x,y,z)=ψ
b(x,y,z)+d ・・・(10)
n
a(x,y,z)=n
b(x,y,z)+1 ・・・(11)
ここで、
aは、更新後を示し、
bは、更新前を示す。
【0032】
また、本実施形態では、調整量更新部19は、画像における空間的な対称性の関係に従って、予測調整量テーブル21の、対象ブロックのパターンと左右対称のブロックのパターンの予測調整量特定情報も更新するようにしている。画像中においては、左右対称の部分画像が存在する可能性があり、特に、Computer Graphics(CG)等の画像においては、同一の部品を使用して左右対称となる部分が多く存在する可能性が高く、このような場合には、各部分に対応する予測調整量をより高精度に設定することができるようになる。
【0033】
具体的には、特徴情報(x,y,z)のパターンと、左右対称のパターンの特徴情報は、(−y,−x,−z)となる。なお、左右対称のパターンの場合の予測残差合計ψは、符号が逆となる。
【0034】
そこで、予備調整量更新部19は、以下の式(12)、(13)に示す更新を行う。
ψ
a(−y,−x,−z)=−ψ
a(x,y,z) ・・・(12)
n
a(−y,−x,−z)=n
a(x,y,z) ・・・(13)
【0035】
これにより、左右対称のパターンについての予測調整量特定情報も適切に調整することができる。
【0036】
圧縮データ出力部20は、符号化部18によって生成された圧縮データをデコーダに出力する。ここで、圧縮データには、最上位の各ブロックの直流成分Dと、各階層における各ブロックの交流成分α、β、γの予測残差dとについて圧縮されたデータが含まれる。
【0037】
デコーダ30は、圧縮データ入力部31と、復号部32と、交流成分予測部33と、特徴情報特定部34と、調整量特定部35と、交流成分算出部36と、逆アダマール変換部37と、調整量更新部38と、画像表示部39と、予測調整量テーブル40とを有する。
【0038】
予測調整量テーブル40は、
図4に示すように、予測調整量テーブル21と同様な構成となっている。
【0039】
圧縮データ入力部31は、ネットワーク50を介してエンコーダ10から送信される圧縮データを入力する。復号部32は、圧縮データ入力部31が入力した圧縮データに対して、符号化部18による符号化に対応する復号を実行することにより、圧縮データを復号する。これにより、最上位の各ブロックの直流成分Dと、各階層における各ブロックの交流成分α、β、γの予測残差dとを得ることができる。交流成分予測部33は、交流成分予測部14と同様な処理を実行する。
【0040】
特徴情報特定部34は、第2特徴情報特定部の一例であり、特徴情報特定部15と同様な処理により、対象ブロックについての特徴情報を特定する。
【0041】
調整量特定部35は、第2特徴量特定部の一例であり、特定量特定部16と同様な処理により、特定情報特定部34において特定された特徴情報に対応する予測調整量を特定する。
【0042】
交流成分算出部36は、対象ブロックについての横方向の交流成分α及び縦方向の交流成分βを算出する。具体的には、交流成分算出部36は、以下の式(14)、(15)に従って、交流成分α、βを算出する。
交流成分α=d
α+α’+ψ(x,y,z)/n(x,y,z) ・・・(14)
交流成分β=d
β+β’+ψ(x,y,z)/n(x,y,z) ・・・(15)
また、交流成分算出部36は、公知の技術により交流成分γを算出する。
【0043】
逆アダマール変換部37は、輝度値算出部の一例であり、交流成分算出部36により算出された対象ブロックについての交流成分α、交流成分β、交流成分γ、及び直流成分Dに基づいて、対象ブロックに含まれる各子ブロックの直流成分を算出する逆アダマール変換を行う。また、逆アダマール変換部37は、対象ブロックが最下位の対象ブロックである場合には、対象ブロックについての交流成分α、交流成分β、交流成分γ、及び直流成分Dに基づいて、対象ブロックに含まれる各画素の直流成分を算出する。このようにして、逆アダマール変換部37の処理により、対象画像中の各画素の直流成分が算出される。
【0044】
調整量更新部38は、復号部32により得られる交流成分の予測残差dに基づいて、予測調整量テーブル40の予測調整量特定情報を更新する。なお、予測残差dに基づいて、予測調整量テーブル40の予測調整量特定情報を更新する処理は、調整量更新部19による更新処理と同様な処理を行う。
【0045】
画像表示部39は、表示装置108(
図8参照)に対して、逆アダマール変換部37により算出された対象画像中の各画素の輝度の直流成分に基づいて画像を表示する。
【0046】
次に、画像処理システム1における処理動作について説明する。
【0047】
まず、エンコーダ10によるエンコード処理について説明する。
【0048】
図5は、一実施形態に係るエンコード処理のフローチャートである。
【0049】
エンコード処理においては、まず、対象画像入力部11が、エンコード対象の画像(対象画像)を入力し、DC変換部12が、対象ブロックの輝度の直流成分を算出するとともに、対象ブロックの子ブロックの輝度の直流成分を算出する(ステップS11)。なお、ステップS11を当初に実行する時には、最上位のブロックを対象ブロックとして処理を実行する。
【0050】
次いで、アダマール変換部13は、アダマール変換を行って、対象ブロックの横方向の交流成分αと、縦方向の交流成分βと、斜め方向の交流成分γと、直流成分δとを算出する(ステップS12)。
【0051】
次いで、交流成分予測部14は、公知の交流成分予測に従って対象ブロックについての交流成分の予測値を算出する(ステップS13)。本実施形態では、ステップS13以降の処理は、まずは、対象ブロックの交流成分αを対象に実行する。
【0052】
特徴情報特定部15は、対象ブロックについての特徴情報を特定する(ステップS14)。
【0053】
次いで、調整量特定部16は、特定情報特定部15において特定された特徴情報に対応する予測調整量を特定する(ステップS15)。具体的には、調整量特定部16は、特徴情報(x,y,z)に対応する予測調整量テーブル21のエントリを特定し、このエントリの予測残差合計ψをパターン出現数nで除算することにより、予測調整量を特定する。
【0054】
次いで、予測残差算出部17は、対象ブロックに対する予測残差dを算出する(ステップS16)。具体的には、予測残差算出部17は、上述の式(8)に従って、予測残差dを算出する。
【0055】
次いで、符号化部18は、予測残差算出部17により算出された予測残差dに対して、例えば、量子化等の非可逆変換を行い、更に、ハフマン符号化や算術符号化といったエントロピ符号化を施すことにより、対象ブロックの予測残差dに対する圧縮データを生成する(ステップS17)。
【0056】
次いで、調整量更新部19は、予測残差算出部17により算出された予測残差dに基づいて、予測調整量テーブル21の予測調整量特定情報を更新する(ステップS18)。
【0057】
DC変換部12は、処理を実行している階層内の全てのブロックに対して処理済みか否かを判定し(ステップS19)、階層内の全てのブロックに対して処理済みでない場合(ステップS19:N)には、処理をステップS11に進めて、次の対象ブロックに対する処理を実行する。一方、階層内の全てのブロックに対して処理済みである場合(ステップS19:Y)には、DC変換部12は、1つ下の階層のブロックがあるか否かを判定する(ステップS20)。
【0058】
この結果、1つ下の階層のブロックがある場合(ステップS20:Y)には、DC変換部12は、処理する階層を下位の階層に変更し(ステップS21)、処理をステップS11に進めて、下位の階層におけるブロックに対する処理を実行する。
【0059】
一方、1つ下の階層のブロックがない場合(ステップS20:N)には、DC変換部12は、処理を終了する。これにより、交流成分αについての圧縮データが生成されたこととなる。
【0060】
次に、エンコーダ10は、上記したエンコード処理を、交流成分βについて実行することにより、交流成分βに対する圧縮データを生成する。
【0061】
また、エンコーダ10は、交流成分γと、最上位の階層の各ブロックについての直流成分D(最上位階層のブロックの直流成分δ)とについて、圧縮データを生成する処理を実行する。交流成分γと直流成分Dとの圧縮データを生成する処理は、公知の技術を用いることができる。
【0062】
この後、圧縮データ出力部20は、交流成分α、交流成分β、交流成分γ、及び最上位の階層の各ブロックについての直流成分Dについての圧縮データをまとめて、対象画像の圧縮データに含めて、デコーダ30に出力(送信)する。
【0063】
このエンコード処理では、特徴情報が同じブロックに対して、予測残差に基づく予測調整量を使用するようにしているので、輝度値に対応する予測精度を向上することができる。これにより、予測調整量を使用して算出される予測残差の値を小さくすることができ、輝度の予測残差に対する圧縮効率を向上することができる。
【0064】
次に、デコーダ30によるデコード処理について説明する。
【0065】
図6は、一実施形態に係るデコード処理のフローチャートである。
【0066】
圧縮データ入力部31は、ネットワーク50を介してエンコーダ10から送信される圧縮データを入力する(ステップS31)。
【0067】
次いで、復号部32は、圧縮データ入力部31が入力した圧縮データを復号する(ステップS32)。これにより、最上位の各ブロックの直流成分Dと、各階層における各ブロックの交流成分α、β、γの予測残差dとを得ることができる。
【0068】
次いで、交流成分予測部33は、公知の交流成分予測に従って対象ブロックについての交流成分αの予測値を算出する(ステップS33)。ここで、対象ブロックは、エンコーダ10での処理の実行順と同様な順番で選択される。
【0069】
次いで、特徴情報特定部34は、対象ブロックについての特徴情報を特定する(ステップS34)。
【0070】
次いで、調整量特定部35は、特定情報特定部34において特定された特徴情報に対応する予測調整量を特定する(ステップS35)。具体的には、調整量特定部35は、特徴情報(x,y,z)に対応する予測調整量テーブル40のエントリを特定し、このエントリの予測残差合計ψをパターン出現数nで除算することにより、予測調整量を特定する。
【0071】
次いで、調整量更新部38は、復号部32により得られる交流成分αの予測残差dに基づいて、予測調整量テーブル40の予測調整量特定情報を更新する(ステップS36)。ここで、対象ブロックは、エンコーダ10での処理の実行順と同様な順番で選択されているので、対象ブロックの処理時には、予測調整量テーブル40を、エンコーダ10での同じ対象ブロックの処理時における予測調整量テーブル21と同じ状態とすることができる。
【0072】
次いで、交流成分算出部36は、対象ブロックについての横方向の交流成分αを算出する。具体的には、交流成分算出部36は、式(14)に従って、交流成分αを算出する(ステップS37)。
【0073】
次いで、エンコーダ30は、交流成分β及び交流成分γを算出する(ステップS38)。具体的には、交流成分βについては、ステップS33〜ステップS37と同様な処理により、算出することができる。なお、ステップS37では、交流成分算出部36は、式(15)に従って、交流成分βを算出する。また、交流成分γについては、公知の技術により算出する。
【0074】
次いで、交流成分予測部33は、処理を実行している階層内の全てのブロックに対して処理済みか否かを判定し(ステップS39)、階層内の全てのブロックに対して処理済みでない場合(ステップS39:N)には、処理をステップS33に進めて、次の対象ブロックに対する処理を実行する。一方、階層内の全てのブロックに対して処理済みである場合(ステップS39:Y)には、逆アダマール変換部37は、交流成分算出部36により算出された対象ブロックについての交流成分α、交流成分β、交流成分γ、及び直流成分Dに基づいて、対象ブロックに含まれる各子ブロックの直流成分を算出する逆アダマール変換を行う(ステップS40)。なお、対象ブロックが最下位の対象ブロックである場合、すなわち、2画素×2画素のブロックである場合には、交流成分予測部33は、対象ブロックについての交流成分α、交流成分β、交流成分γ、及び直流成分Dに基づいて、対象ブロックに含まれる各画素の直流成分を算出する。
【0075】
次いで、交流成分予測部33は、1つ下の階層のブロックがあるか否かを判定する(ステップS41)。この結果、1つ下の階層のブロックがある場合(ステップS41:Y)には、交流成分予測部33は、処理する階層を下位の階層に変更し(ステップS42)、処理をステップS33に進めて、下位の階層におけるブロックに対する処理を実行する。
【0076】
一方、1つ下の階層のブロックがない場合(ステップS41:N)には、画像表示部39は、表示装置108に対して、逆アダマール変換部37により算出された対象画像中の各画素の輝度の直流成分に基づいて画像を表示し(ステップS43)、処理を終了する。
【0077】
上記したデコード処理によると、エンコーダ10で作成された圧縮データに基づいて、適切に画像を表示することができる。
【0078】
図7は、一実施形態に係る性能評価グラフである。
【0079】
図7の性能評価グラフにおいては、横軸は圧縮した画像データのファイルサイズ(Byte)を示し、縦軸には、デコードした画像におけるPeak Signal−to-noize ratio(PSNR)を示す。
【0080】
図7の性能評価グラフにおいては、本実施形態による式(8)、(9)等を用いて予測残差を算出してエンコードした後にデコードを実行した場合(実施例)におけるPNSRを実線で示している。また、式(8)、(9)等における予測調整量(ψ(x,y,z)/n(x,y,z))を除いた式を用いて予測残差を算出してエンコードした後にデコードを実行した場合(比較例)におけるPNSRを破線で示している。
【0081】
図7に示す性能評価グラフによると、同一の画像データのファイルサイズの場合には、実施例におけるPNSRは、比較例におけるPNSRに比して、高くなっている。これにより、本実施形態によるエンコード及びデコードによって、少ないファイルサイズで、より高い画像再現性が得られることがわかる。すなわち、同じPNSRを得る際に、高い圧縮率を実現できることがわかる。
【0082】
上記したエンコーダ10及びデコーダ30は、それぞれコンピュータ装置により構成することができる。
【0083】
図8は、一実施形態に係るコンピュータ装置の構成図である。なお、本実施形態では、エンコーダ10及びデコーダ30は、別々のコンピュータ装置で構成されているが、これらコンピュータ装置は、同様な構成を有するものとすることができる。したがって、以下の説明では、便宜的に
図8に示すコンピュータ装置を用いて、エンコーダ10及びデコーダ30を構成するコンピュータ装置について説明することとする。
【0084】
コンピュータ装置100は、例えば、Central Processin Unit(CPU)101と、メインメモリ102と、Graphics Processing Unit(GPU)103と、リーダライタ104と、通信インターフェース(通信I/F)105と、補助記憶装置106と、入出力インターフェース(入出力I/F)107と、表示装置108と、入力装置109とを備える。CPU101、メインメモリ102、GPU103、リーダライタ104、通信I/F105、補助記憶装置106、入出力I/F107、及び表示装置108は、バス110を介して接続されている。デコーダ10と、エンコーダ30とは、それぞれコンピュータ装置100に記載の構成要素の一部または全てを適宜選択して構成される。
【0085】
ここで、メインメモリ102又は補助記憶装置106の少なくとも一方が、エンコーダ10の予測調整量テーブル21を記憶する調整量記憶部(第1調整量記憶部)、又はデコーダ30の予測調整量テーブル40を記憶する調整量記憶部(第2調整量記憶部)として機能する。
【0086】
エンコーダ10を構成するコンピュータ装置100において、CPU101は、補助記憶装置106に格納された画像処理プログラムを実行することにより、例えば、対象画像入力部11、DC変換部12、アダマール変換部13、交流成分予測部14、特徴情報特定部15、調整量特定部16、予測残差算出部17、符号化部18、調整量更新部19、及び圧縮データ出力部20を構成する。
【0087】
サーバ20を構成するコンピュータ装置100において、CPU101は、補助記憶装置106に格納された画像処理プログラムを実行することにより、例えば、圧縮データ入力部31、復号部32、交流成分予測部33、特徴情報特定部34、調整量特定部35、交流成分算出部36、逆アダマール変換部37、調整量更新部38、及び画像表示部39を構成する。
【0088】
メインメモリ102は、例えば、RAM、ROM等であり、CPU101に実行されるプログラム(処理プログラム等)や、各種情報を記憶する。補助記憶装置106は、例えば、Hard DISK Drive(HDD)、Solid State Drive(SSD)等の非一時的記憶デバイス(不揮発性記憶デバイス)であり、CPU101で実行されるプログラムや、各種情報を記憶する。エンコーダ10を構成するコンピュータ装置100では、メインメモリ102は、例えば、予測調整量テーブル21を記憶する。デコーダ30を構成するコンピュータ装置100では、メインメモリ102は、例えば、予測調整量テーブル40を記憶する。
【0089】
GPU103は、例えば、画像処理等の特定の処理の実行に適しているプロセッサであり、例えば、並列的に行われる処理の実行に適している。本実施形態では、GPU103は、CPU101の指示に従って所定の処理を実行する。
【0090】
リーダライタ104は、記録媒体111を着脱可能であり、記録媒体111からのデータの読み出し、及び記録媒体111へのデータの書き込みを行う。記録媒体111としては、例えば、SDメモリーカード、FD(フロッピーディスク:登録商標)、CD、DVD、BD(登録商標)、フラッシュメモリ等の非一時的記録媒体(不揮発性記録媒体)がある。本実施形態においては、記録媒体111に、処理プログラムを格納しておき、リーダライタ104により、これを読み出して、利用するようにしてもよい。また、エンコーダ10を構成するコンピュータ装置100において、記録媒体111に、処理対象の画像データを格納しておき、リーダライタ104により、これを読み出して使用するようにしてもよい。また、エンコーダ10を構成するコンピュータ装置100において、リーダライタ104により、圧縮データを記憶媒体111に格納するようにしてもよい。また、デコーダ30を構成するコンピュータ装置100において、リーダライタ104により、記録媒体111から圧縮データを読み出して利用するようにしてもよい。
【0091】
通信I/F105は、ネットワーク50に接続されており、ネットワーク50に接続された他の装置との間でのデータの送受信を行う。
【0092】
入出力I/F107は、例えば、マウス、キーボード等の入力装置109と接続されている。エンコーダ10を構成するコンピュータ装置100において、入出力I/F107は、入力装置109を用いた、エンコーダ10のユーザによる操作入力を受け付ける。また、デコーダ30を構成するコンピュータ装置100において、入出力I/F107は、入力装置109を用いた、デコーダ30のユーザによる操作入力を受け付ける。
【0093】
表示装置108は、例えば、液晶ディスプレイ等のディスプレイ装置であり、各種情報を表示出力する。表示装置108は、例えば、デコーダ30において、画像表示部39による画像の表示に使用される。
【0094】
なお、本発明は、上述の実施形態及び変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
【0095】
例えば、上記実施形態では、左右対称のパターンである特徴情報(x,y,z)のブロックと、特徴情報(−y,−x,−z)のブロックとのそれぞれに対応するエントリを予測調整量テーブル21(40)に設けるようにしていた。本発明はこれに限られず、例えば、特徴情報(x,y,z)と、特徴情報(−y,−x,−z)とについて、同一のエントリを使用するようにしてもよい。これにより、予測調整量テーブル21(40)に必要なメモリ量を低減することができる。なお、同一のエントリを使用する場合においては、特徴情報(x,y,z)と、特徴情報(−y,−x,−z)とのいずれかによって、予測残差合計を使用する際、及び予測残差を更新する際の符号を切り替える必要がある。
【0096】
また、上記実施形態では、調整量更新部19,38は、予測残差を算出した場合に、常に予測調整量テーブル21,40を更新するようにしていた。本発明はこれに限られず、例えば、パターン出現数が所定数以上になった場合には、調整量更新部19,38は、予測調整量テーブル21,40を更新する処理を行わないようにしてもよい。このようにすると、比較的高精度な予測調整値を得ることができ、それ以降における処理負荷を低減することができる。また、対象画像の隣接画像や類似画像に基づいて、予め予測調整量テーブル21、40を作成しておき、対象画像に対する処理を実行する際には、予め作成した予測調整量テーブル21,40を更新せずにそのまま利用するようにしてもよい。この場合には、エンコーダ10で使用した予測調整量テーブル21のデータを画像の圧縮データに含めてデコーダ30に送信し、デコーダ30では、そのデータ中の予測調整量テーブル21のデータに基づいて予測調整量テーブル40を作成して処理に利用するようにしてもよい。
【0097】
また、上記実施形態では、コンピュータ装置100がエンコーダ10又はデコーダ30のいずれか一方を備えている例を示していた。本発明はこれに限られず、コンピュータ装置100内にエンコーダ10とデコーダ30との両方を備えるようにしてもよい。
を構成するコンピュータ装置100において、CPU101は、補助記憶装置106に格納された画像処理プログラムを実行することにより、例えば、圧縮データ入力部31、復号部32、交流成分予測部33、特徴情報特定部34、調整量特定部35、交流成分算出部36、逆アダマール変換部37、調整量更新部38、及び画像表示部39を構成する。