画像符号化装置及び画像復号装置、並びにそれらの制御方法
【課題】1画素を複数ビットで表わす多値画像データから、m×n画素ブロック単位に、m×nビット以下の固定長符号化データを生成する。
【解決手段】ブロック化部101は16×16画素を単位に入力し、2色抽出部102は入力データから代表色C0、C1を抽出し、識別情報検出部103は各画素が色C0、C1のいずれかを示す2値のm×n個の識別情報を生成し、補間識別データ生成部104は削除パターンメモリ108の削除パターンに基づき、多く削除される方を補間識別データとして出力する。識別データ置換部105は着目画素位置が削除位置にあり、対応する識別データが補間識別データと一致した場合、着目画素位置の近傍の非補間識別データと同じ識別データを補間識別データに置換する。識別データ削減部106は削除パターンに従って、識別データを削減する。パック部107は、色C0、C1、補間識別データ、削減後の識別データを結合し出力する。
【解決手段】ブロック化部101は16×16画素を単位に入力し、2色抽出部102は入力データから代表色C0、C1を抽出し、識別情報検出部103は各画素が色C0、C1のいずれかを示す2値のm×n個の識別情報を生成し、補間識別データ生成部104は削除パターンメモリ108の削除パターンに基づき、多く削除される方を補間識別データとして出力する。識別データ置換部105は着目画素位置が削除位置にあり、対応する識別データが補間識別データと一致した場合、着目画素位置の近傍の非補間識別データと同じ識別データを補間識別データに置換する。識別データ削減部106は削除パターンに従って、識別データを削減する。パック部107は、色C0、C1、補間識別データ、削減後の識別データを結合し出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データの符号化及び復号技術に関するものである。
【背景技術】
【0002】
従来より、入力画像を所定サイズのブロックに分割し、分割されたブロック画像に対して、直交変換を用いて符号化を行う技術が知られている。直交変換を用いた符号化は自然画像に対しては有効な圧縮方法であるが、他方、文字線画などの含まれる画像に対しては、画像の高周波成分が失われることに起因するモスキートノイズやブロック歪が起こり、良好な結果を得られないという問題点があった。
【0003】
このような問題を解決するため、文字線画を含む画像など、階調性よりも解像度が重要な画像に関して、ブロック画像内の画素を二色で近似することで解像度を保持しようとするブロック内2色化処理が提案されている。この2色化処理を実行するものとしては知られているのが特許文献1である。この特許文献1に記載の2階調ブロック近似符号化においては、ブロック画像内の画素を2色からなる画像と見なし、各画素がいずれの色であるのかを示す識別情報を生成する。そして、その識別情報と2色の画素値をパッキングすることで符号化処理を行う。例えばブロックサイズが8×8画素とし、そのブロックの画像データを2色化して、符号化を行う場合、識別情報として64ビット全てのデータを格納し、色データとして8ビットのデータを2色分格納して合計80bitの固定長符号化データを出力する。同様にブロックサイズ16×16の場合は、識別情報は256ビット、色データが8ビット×2=16ビットの合計272ビットの固定長符号化データを出力する。
【特許文献1】特開平05−056282号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、圧縮されたデータは通常は外部メモリ等に記憶されるが、この外部メモリへのアクセスは、4バイト×N(Nは2のべき乗)である場合が多く、上記従来例では、アクセス効率が悪いという欠点があった。例えば上記8×8のブロックサイズでは64ビットが望ましく、また、16×16のブロックサイズでは256ビットで固定長符号化されることが望ましい。
【0005】
本発明は、1画素が複数ビットで表わされる画像データを符号化するものであって、文字線画等を表す解像情報や色情報を良好に維持しつつ、m×n画素のブロック単位に、m×nビット以下の固定長の符号化データを生成、及び、復号する技術を提供しようとするものである。
【課題を解決するための手段】
【0006】
かかる課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
1画素が複数ビットで表わされる画像データを、m×n画素のブロック単位に符号化し、1ブロックにつき、m×nビット以下であって、固定長Lビットの符号化データを生成する画像符号化装置であって、
画像データを前記ブロック単位に入力する入力手段と、
入力した着目ブロックの画像データから代表色C0、C1を抽出する抽出手段と、
前記着目ブロック中の各画素に、当該各画素が前記代表色C0、C1のいずれに近似しているかを示す1ビットの識別データを生成する生成手段と、
前記代表色C0、C1を特定するために必要なビット数をNと定義したとき、前記生成手段で生成された1ブロック分の識別データから、{N+1}個の識別データを削除するための、及び、少なくとも互いに1画素以上の距離を隔てた削除対象の画素位置を特定するためのパターンデータを記憶する記憶手段と、
前記記憶手段に記憶されたパターンデータに従い、前記代表色C0、C1のいずれに近似する識別データが多く削除されるかを判定し、当該判定結果を示す1ビットの判定データを生成する判定手段と、
該判定手段の判定結果に従い、削除位置の近傍に位置し、非削除対象の識別データを補正する補正手段と、
前記記憶手段に記憶されたパターンデータを参照して、前記補正手段で補正した後のm×n個の識別データから、{N+1}個の識別データを削除する削減手段と、
前記抽出手段で抽出した代表色C0、C1を示すデータ、前記判定手段で生成された前記判定データ、及び、前記削減手段による削除して残った識別データとを結合し、着目ブロックの符号化データとして出力する出力手段とを備える。
【発明の効果】
【0007】
本発明によれば、1画素が複数ビットで表わされる多値画像データから、m×n画素のブロック単位に、m×nビット以下の固定長の符号化データを生成、及び、復号するだけでなく、文字線画等を表す解像情報や色情報を良好に維持することが可能になる。
【発明を実施するための最良の形態】
【0008】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0009】
以下に説明する実施形態の画像符号化装置は、1画素が複数ビットで表わされる多値画像データを、m×n個の画素で構成されるブロックを単位に符号化する。その際に、1ブロックにつき、m×nビット以下であって、固定長Lビットの符号化データを生成する。更に、Lは、m×n以下であり、32の整数倍の最大値とする。
【0010】
[第1の実施形態]
図1は本第1の実施形態における画像符号化装置のブロック構成図である。本装置は、ブロック化部101、2色抽出部102、識別データ生成部103、補間データ生成部104、識別データ変換部105、識別データ削減部、パック部107、及び、削除パターンメモリ108を有する。なお、実施形態におけるブロック化部101が入力する符号化対象となる画像データは、記憶媒体に記憶された無圧縮の画像データとする。しかしながら、イメージスキャナから読み取った画像であっても良いし、通信(例えばネットワーク)によって取得した画像データであっても構わず、その入力源の種類は問わない。
【0011】
ブロック化部101は入力された画像を所定サイズのブロックに分割する。ブロックに分割された画像データは2色抽出部102に供給される。2色抽出部102は、入力した着目ブロック中の各画素の値を解析し、二つの代表色C0、C1を抽出する。そして、2色抽出部102は、抽出した代表色C0、C1を識別データ生成部103、及びパック部107に出力する。識別データ生成部103はブロック内の各画素が、2つの代表色データC0、C1のいずれに近いかを判定し、画素位置毎に色データC0、C1のいずれに近似するかを識別する識別データを補間識別データ生成部104と識別データ置換部105に出力する。補間識別データ生成部104は、後述する識別データ削減部106にて削減される識別データを補間する値を決定し、その補間する値を補間識別データとしてパック部107に出力する。識別データ置換部105では、削除パターンメモリ108を参照して、削除対象画素の周辺の識別データを置換する。識別データ削減部106は、削除パターンで特定される複数の識別データを削減し、パック部107に出力する。パック部107は、2つの色データC0、C1、補間識別データ、及び、削減処理済の識別データをパックして、固定長符号化データとして出力する。以下、各処理部の詳細を説明する。
【0012】
ブロック化部101は、内部にmライン分のバッファメモリを有し、符号化対象の画像データをラスタースキャン順に入力し、バッファに格納する。そして、mライン分の画像データが格納された場合、水平方向n画素、垂直方向m画素の画像データを順に切り出し、それぞれを2色抽出部102に出力することを繰り返す。このn×m画素の画像データをこれ以降、画素ブロックという。この画素ブロックのサイズ(m,n)に特に制限は無い。しかし、ブロックサイズが大きければ識別データの削減数を増やしても削減による影響は少なくなるが、2色化による影響は大きくなる。逆にブロックサイズが小さければ画像の相関性により入力画像のブロック内に含まれる色数が少なくなるため2色化による誤差が小さくなり、正確な色の保存が容易になるが、識別データの削減による影響は大きくなる。また、ブロックの形状は正方形である必要はなく、長方形でも可能である。本実施形態では、1画素ブロックのサイズを16×16画素(m=n=16)として説明する。勿論、このサイズは適宜ユーザが設定しても良い。但し、以下の説明からもわかるように、m×nが“32”の整数倍になることが望ましい。また、実施形態では、簡単なものとするため、1画素が、8ビット(256階調)のモノクロ画像である例を説明するが、このビット数や色空間も適宜変更しても構わない。8ビットで表わされる値は、“輝度”として説明する。従って、画素値が小さい程、その画素は暗い(濃度が高い)画素を表わし、画素値が大きいほど、その画素が明るい(濃度が低い)画素を表わすことになる。また、上記の通りなので、代表色C0、C1は異なる輝度値を表わすことになる。
【0013】
さて、ブロック化部101は上記の通り、16×16画素の画像データ(画素ブロック単位)を2色抽出部102に出力する。
【0014】
2色抽出部102では、入力した1画素ブロック中から2つの代表色データC0、C1(共に8ビット)を抽出する。ここで、画素値の小さい方を色データC0、大きい方を色データC1とする。なお、2色の色データC0、C1を決定(抽出)する方法に特に規定しないが、一例を示すのであれば次の通りである。
【0015】
先ず、2色抽出部102は、1画素ブロック中の全画素の平均値AVEを算出する。ブロック内の座標(x,y)の画素値をP(x,y)と表現するなら、平均値AVEは次の通りである。
AVE=ΣΣP(i,j)/(16×16)
ここでΣΣは、i,j=0、1、・・・、15の合算を示している。
【0016】
次いで、2色抽出部102は、この平均値AVEを用いて、着目画素ブロック内の各画素を第1のグループと第2のグループに分類する。すなわち、その平均値AVE以下の画素値を持つ画素群(以下、グループAという)と、平均値AVEより大きな画素値を持つ画素群(グループB)とに分類する。そして、グループAに属する画素値の平均値を色データC0、グループBに属する画素値の平均値を色データC1として決定する。
【0017】
識別データ生成部103は、入力されたブロック画像内の各画素が、2色の色データC0、C1のうちいずれかに近似するかを判定する。そして、ブロック内の全画素を2つ分類し、その各画素がいずれのグループに属するのかを識別する識別データを出力する。この識別データは、1つの画素が2つグループのいずれに属するのか判れば良いので、1画素当たりの識別データは1ビットで良い。識別データ生成部103は次に示すようにして、識別データを生成する。
閾値 =AVE(ブロック全体の平均値)
識別データ=1 (画素値>閾値の時)
識別データ=0 (画素値≦閾値の時)
【0018】
尚、閾値は、識別データ生成部103が独自に算出しても構わないし、2色抽出部102で算出した結果を利用しても構わない。また、閾値を{C0+C1}/2としても構わない。
【0019】
本実施形態では、先に説明したグループAに属する画素の識別データは“0”、グループBに属する画素の識別データは“1”とする。
【0020】
上記は、色データC0、C1との差の絶対値が予め設定された閾値以上の場合の処理である。
【0021】
着目画素ブロック内の画素値が全て同じである場合、或いは、色データC0、C1の色の差の絶対値が予め設定された閾値以下の場合(色データC0、C1の色空間内での距離が閾値以下の場合)、1つの色データ(例えばC0)のみを抽出結果とする。この場合、他方の色データ(C1)は存在しないが、ダミーとしてその色データ(C1)を生成する。また、この場合、全識別データを“0”とする。
【0022】
実施形態では、1ブロックのサイズを16×16画素とし、1つの画素の識別データは1ビットとしているので、結局のところ、識別データ生成部103は、16×16=256ビットの識別データを生成することになる。
【0023】
補間識別データ生成部104は、削除パターンメモリ108に格納された削除パターンデータ(単に削除パターンという)を参照し、削除される位置(以降、削除対象位置と呼ぶ)の識別データに関して“0”と“1”の数をカウントする。そして、補間識別データ生成部104は、カウントした結果に従い、その多い方を判定する。そして、補間識別データ生成部104はその判定結果である判定データを補間識別データとしてパック部107、及び、識別データ置換部105に出力する。この補間識別データ生成部104の処理内容を、より具体的に説明すると次の通りである。
【0024】
図5は削除パターンメモリ108に格納された削除パターンを示している。この削除パターンは16×16のサイズであり、符号化単位の画素ブロックのサイズと同じである。また、削除パターンの黒部分が削除位置を示し、その値は“1”である。白部分は非削除位置であり、その値は“0”である。図示の如く、黒部分(削除位置)は全部で17個存在し、且つ、黒部分は互いに隣接することはないように、1画素以上(実施形態では3画素以上)の距離を隔てて配置されている。なお、ここで、言う距離は、或る画素位置から他方の画素位置まで、水平、又は、垂直方向にたどっていって最短のルート中に存在する画素数を意味する。
【0025】
補間識別データ生成部104は、着目画素ブロック内の、削除パターンの“1”に対応する位置の識別データの“0”の個数I0、及び、“1”の個数I1を計数する。そして、次の条件に従って、補間識別データを出力する。
I0≧I1の場合、補間識別データとして“0”を出力する。
I0<I1の場合、補間識別データとして“1”を出力する。
【0026】
上記を平たく説明するのであれば、補間識別データ生成部104は、削除対象の17個の識別データのうち、識別データ“0”、“1”のいずれが多いかを判定し、多い方の識別データの値を補間識別データとして出力していると言える。
【0027】
次に、識別データ置換部105について説明する。
【0028】
識別データ置換部105は、内部に適当なバッファメモリを有する。そして、識別データ置換部105は、削除パターンメモリ108に格納された削除パターンと、識別データ生成部103からの識別データ、及び、補間識別データ生成部104からの補間識別データを入力し、バッファメモリに格納する。そして、識別データ置換部105は、後段の識別データ削減部106による識別データの削減によって、着目画素ブロック内の全体の輝度のロスを低くなるように、且つ、画質劣化を低く抑えるための識別データを補正、具体的には置換を行なう。そして、識別データ置換部105は、バッファメモリに格納された、置換後の識別データを識別データ削減部106に出力する。以下に、識別データ置換部105の具体的な処理例を説明する。
【0029】
着目画素ブロック内の座標(x,y)の識別データをI(x,y)、同様に、削除パターンの値をD(x,y)と表わす。I(x,y)、D(x,y)は共に0、1のいずれかの値であり、x,yは共に0乃至15の値のいずれかである。また、座標(x,y)の画素位置を、着目画素位置という。
【0030】
また、説明を簡単なものとするため、補間識別データが“0”である場合について説明する。すなわち、削除される識別データの“0”の個数が、“1”の個数以上の場合である。
・D(x,y)=0の場合:
識別データ置換部105は、内部バッファの着目画素位置(x,y)の識別データI(x,y)を変更(補正)しない。
・D(x,y)=1、且つ、I(x,y)=0の場合:
識別データ置換部105は、内部バッファの着目画素位置(x,y)の識別データI(x,y)を変更しない。
・D(x,y)=1、且つ、I(x,y)=1の場合:
これは、削除対象位置の識別データが“1”である場合である。この場合、後述する画像復号装置では、削除された識別データの値を補間識別データ“0”として復号することになるので、着目画素ブロック内の全体の輝度が変わってしまう。そこで、着目ブロックの輝度の変化を防ぐために以下の処理を行い、削除対象画素位置の近傍の1画素の識別データ“0”を“1”で置換(補正)し、その置換後(補正後)の識別データを出力する。置換対象の画素位置の決定基準は、識別データ“1”の密度の低い位置の画素とする。以下、この詳細を更に詳しく説明する。
【0031】
図6(a)乃至(p)から図12(a)乃至(d)は着目画素ブロック内の削除対象位置とその周辺画素の関係を示した図である。図中、黒で示した画素位置が削除対象位置であり、白色で示された位置は非削除対象位置である。斜線で示した部分は隣接する別の画素ブロックであり、図7(a)乃至(j)から図12(a)乃至(d)は削除対象画素がブロック境界に近い場合を示している。ここで、隣接画素ブロックが上や右などに位置している場合は、図7(a)乃至(j)から図12(a)乃至(d)に示したパターンを隣接ブロックの位置関係に合致するように適宜回転させる。つまり、ブロックの一番上の行に削除対象画素がある場合は、図7(a)乃至(j)のそれぞれの参照領域を時計回りに90度回転させたものを採用する。
【0032】
また、太枠で囲まれた部分は識別データの密度を比較する対象となる領域である。太枠の形状は、削除対象画素と隣接している8画素中の1画素と、その1画素と接している連続した2画素(計3画素)を組み合わせた形状としている。このように作成した太枠部分を、図6(a)乃至(p)に示すように削除対象画素から放射状に配置させ、各方向の密度を検出し、適切に密度の低い方向へ画素を置換できるようにしている。また、図7(a)乃至(j)から図12(a)乃至(d)に示した隣接ブロックのあるパターンについては、図6(a)乃至(p)に示したパターンから隣接ブロックがあるため密度を検出できないパターンを除いている。
【0033】
置換画素を決定する手順は、まず、隣接ブロックの位置関係から、削除対象画素が図6(a)乃至(p)から図12(a)乃至(d)のどの図に合致するかを判断する。次に、例えば図7が選ばれたとすると、図中の10通りの太枠で囲んだ部分について、太枠の領域内の識別データ“1”の数を数え、“1”のカウント数が最も少ない枠(領域)を図7(a)乃至(j)の中から選択する。ここで、最も少ない枠が複数あった場合は、その中からランダムに枠を決定する。
【0034】
次に、決定した枠の中から図13(a)乃至(d)に示すように、着目画素(黒部分)から近い順に識別データを調べていき、最初に識別データが“0”だった箇所を“1”に変更する。ただし、図13(a)乃至(d)に示す周辺画素が全て“1”だった場合は変更しない。
【0035】
以上の手順を削除パターン中の17箇所全ての削除対象位置に対して行い、識別データの置換処理を行う。
【0036】
なお、補間識別データが“1”の場合は、上記の説明の中で“0”と“1”を読み替えるものとする。
【0037】
代表色C0、C1のうち、削除される識別データの多い方の色をCa、削除される個数の少ない識別データが示す色をCbと定義したとする。補間識別データ生成部104は、要するに、着目画素位置の識別データが色Cbを示す場合のみ、当該着目画素位置の近傍に位置し非削除対象の前記色Caを示す1つの識別データが存在する場合には、その識別データを前記色Cbを示す識別データに置換する。
【0038】
識別データ削減部106は、削除パターンメモリ108に格納された削除パターンを参照し、16×16個の識別データ中の、削除パターンの値が“1”(図5の黒部分)の識別データを削除する。そして、識別データ削減部106は、削除後の識別データをパック部107に出力する。
【0039】
識別データ削減部106の具体的な削減処理は次の通りである。いま、16×16個の置換処理後の識別データを、その座標(x,y)を用いてI(x,y)と表わし、削減パターンにおける座標(x,y)の値をD(x,y)と表わす。
D(x,y)=0の場合、識別データ削減部106は、入力したI(x,y)をそのまま出力する。
D(x,y)=1の場合、識別データ削減部106は、入力したI(x,y)を破棄し、出力しない。
【0040】
以上の結果、D(x,y)=1の位置における識別データは出力されない。すなわち、17個(17ビット)の識別データが削除される。この結果、識別データ削減部106からパック部107に出力される識別データの個数は239ビット(=256−17)となる。
【0041】
パック部107は、1画素ブロックに対し、固定符号化データ長“256”ビットの符号化データを出力する。代表色データC0、C1は共に8ビットであるから、その2つの色データを表わすには16ビットが必要になる。また、補間識別データとして1ビット必要になる。この理由により、識別データ削減部106は、17画素分の識別データを削除する必要があり、本実施形態では図5に示すように黒部分の個数を17個とした。
【0042】
パック部107は、まず、2色抽出部102から出力された色データC0、C1(8×2ビット)、補間識別データ(1ビット)をその順番に保持し、それに後続して、識別データ削減部106からの239ビットの識別データを結合する。そして、パック部107は、結合後のデータを、1画素ブロックの符号化データとして出力する。
【0043】
すなわち、パック部107が出力する1画素ブロックの符号化データのデータ構造は、次の通りである。
代表色C0(8ビット)+C1(8ビット)+補間識別データ(1ビット)+削除後の識別データ(239ビット)
【0044】
説明が前後するが、ここで図5に示した削除パターンについて説明する。本実施形態では、図5に示すように、基本的に、1つの行(ライン)、1つの列(カラム)中には、削減対象箇所が1つになるようにした。但し、16×16のサイズから17個を削減するため、全ライン、全カラム1つというのは不可能であり、図示のように、1つのライン、1つのカラムのいくつかには、削除対象箇所が2つ存在する。また、図6(a)乃至(p)から図12(a)乃至(d)からもわかるように、置換対象の画素位置を決める枠内には、他の削除対象画素位置が位置することがないように、削除対象画素位置は互いに或る程度の距離を隔てて配置されている。
【0045】
次に、上記実施形態で説明した符号化データを復号する画像復号装置について説明する。図2は、本実施形態における画像復号装置のブロック構成図である。本装置は、データ分離部201、2色保持部202、識別データ補間部203、セレクタ204、及び削除パターンメモリ205を備える。削除パターンメモリ205は、先に説明した画像符号化装置が保持する削除パターンデータと同じデータが格納されている。
【0046】
先に説明したように、1ブロックの符号化データの固定長をLビットとしたとき、1ブロックの符号化データは、必ず、代表色C0、C1を示すNビット(実施形態ではN=16)+1ビットの補間識別データ+L−1−N個(実施形態では239ビット)の識別データの順に並ぶようになっている。
【0047】
従って、データ分離部201は、符号化画像データから、1画素ブロック分の固定長の符号化データ(実施形態では256ビット)を単位に入力したとき、先頭の16ビットが、8ビットで表わされる2つの代表色データC0、C1であるものとして、2色保持部202に出力する。そして、1画素ブロックの符号化データの先頭から17ビット目の1ビットのデータを、補間識別データであるものとして識別データ補間部203に出力する。また、データ分離部201は、符号化データの18ビット目以降の239ビットのデータを削減後の識別データであるものとし、識別データ補間部203に出力する。
【0048】
2色保持部202は、8ビットのレジスタを2つ有し、データ分離部201から供給された16ビットから前半の8ビット、後半の8ビットに分離し、これら2つのレジスタに色データC0、C1として保持させる。それぞれのレジスタは、セレクタ204に16×16画素分の復号処理が完了するまで、色データC0,C1を出力し続ける。
【0049】
識別データ補間部203は、削除パターンメモリ205に格納された削除パターンを参照し、非削除の識別データの位置では、入力した識別データをそのまま出力する。そして、削除された識別データの位置では、補間識別データを出力する。この結果、入力した239ビットの識別データから、256ビットの識別データが生成され、セレクタ204に出力されることになる。
【0050】
セレクタ204は、識別データ補間部203からの256ビットの識別データを1ビット単位に入力し、その値が“0”の場合には、2色保持部202からの色データC0を復号後の画素データとして選択し、出力する。そして、識別データが“1”の場合には、2色保持部202からの色データC1を復号後の画素データとして選択し、出力する。このようにして、16×16画素で構成される画素ブロックの画像データを復号する。
【0051】
以上が本第1の実施形態における画像符号化装置及び復号装置の処理内容である。本第1の実施形態によれば16×16画素で構成される画像データが、256ビットという、32ビットの整数倍でアクセスに有利なデータサイズで固定長の符号化データを作成することが可能となる。従って、画像復号装置では、例えばユーザが指示した位置の画素ブロックのみを復号することも可能になる。
【0052】
[第2の実施形態]
上記第1の実施形態では、削除された識別データとして、1つの補間識別データを画像符号化装置及び復号装置が共通して用いる例を示した。第2の実施形態では補間識別データを予め設定された所定値に決めておくことで補間識別データの符号化を不要とし、その分だけ削減する識別データの個数を減らす例を示す。
【0053】
削除された識別データを補間識別データで補間する場合について考察する。印刷を目的とする画像を復号する場合、本来、ドットが存在しない位置にドットが現れることより、ドットが存在すべき位置にドットが現れない方が画像の品質に影響が少ないと考えられる。例えば、補間データを全て“0”(低輝度側の画素)としてしまうと、白地の部分にドットが生成されてしまい、問題となるが、補間データを全て“1” (高輝度側の画素)とした場合、ベタ部の濃度が若干下がるが、補間画素は分散されているため、ドットゲイン等により画質上は殆ど判別できない。かかる点を考慮すると、本実施形態では、輝度を例にしているので、補間識別データは輝度の高い画素(濃度の低い画素)、すなわち、補間識別データは“1”として扱えば良いことになる。
【0054】
また、2つの色データC0、C1は第1の実施形態と同じく、共に8ビットとする。従って、2つの色データC0、C1で、計8+8=16ビットが必要になる。符号化データの固定長を256ビットとするなら、256ビットの識別データ中の16ビットを削減すればよいことになる。それ故、本第2の実施形態では、図14にその例を示すように、削除対象位置(黒い部分)が16個存在する。
【0055】
本第2の実施形態の画像符号化装置の構成を図3に示す。同図と図1との違いは、補間識別データ生成部304には、識別データ生成部102からの識別データ、削除パターンメモリ108からの削除パターンデータが供給されない点、及び、補間識別データ生成部304からの補間識別データがパック部307に供給されない点である。また、補間識別データ304は、固定の補間識別データ“1”を識別データ置換部105に供給される点である。よって、以下では、この部分の処理のみを説明する。
【0056】
なお、本第2の実施形態の場合、識別データ削減部106の処理内容は第1の実施形態と同じであるが、削除パターンメモリ108に格納されている削除パターンで示される削除対象の識別データの個数が16個となるので、識別データ削減部106から出力される識別データの個数(ビット数)は240個(240ビット)となる。
【0057】
補間識別データ生成部304は、第1の実施形態の補間識別データ生成部104と異なり、常に“1”の補間識別データを出力しつづける。
【0058】
パック部307は、先ず、2色抽出部102から出力された色データC0、C1(8×2ビット)をその順番に保持し、それに後続して、識別データ削減部106からの240ビットの識別データを結合し、1画素ブロックの符号化データとして出力する。
【0059】
一方、画像復号装置は図4に示す構成となる。図4に示される構成は図2で示した第1の実施形態の構成と比較して、データ分離部401と識別データ補間部403との間で、補間識別データの信号線が無くなる点で異なる。また、データ分離部401の処理と識別データ補間部403の処理が異なる。よって、この2つの部分の処理のみを説明する。
【0060】
データ分離部401は、符号化画像データから、1ブロック分の固定長の符号化データ(実施形態では256ビット)を単位に入力し、その先頭の16ビットは8ビットで表わされる2つの色データC0、C1であるものとして、2色保持部202に出力する。また、データ分離部401は、17ビット目以降の240ビットのデータを識別データであるものとし、識別データ補間部403に出力する。
【0061】
識別データ補間部403は、削除パターンメモリ405(図14の削除パターンを記憶している)を参照し、着目画素位置が削除対象ではない場合には、データ分離部401から入力した識別データをそのままセレクタ204に出力する。一方、着目画素位置が削除対象であると判定した場合には、予め設定された識別データ“0”をセレクタ204に出力する。
【0062】
以上、説明したように本第2の実施形態によれば、補間識別データを予め決めておくことで、復号装置で復号する識別データの精度を上げることが可能になる。この結果、画像の再現性を更に高めることができる。
【0063】
[第3の実施形態]
第1および第2の実施形態では、符号化装置で削除対象位置の識別データを周辺の画素と置換することにより画像の輝度を変化させない二色化について説明した。これによって符号化前後で輝度の変化はない、もしくは小さくできる。しかし、今度は識別データの位置が移動することにより文字や線画等のエッジ部分の形状が変化してしまう可能性がある。そこで第3の実施形態では、符号化装置で置換処理を行った識別データを復号装置で元に戻すことで輝度と形状の両方を可能な限り保存する例を説明する。
【0064】
本第3の実施形態の画像符号化装置の構成を図16に示す。同図と図1との違いは、識別データ置換部1605の動作が識別データ置換部105の動作と異なる点のみであり、他の構成要素は全て第1の実施形態と同じである。よって、以下では第3の実施形態における識別データ置換部1605のみを説明する。
【0065】
識別データ置換部1605は、識別データ置換部105と同様に内部にバッファメモリを有し、削除パターンメモリ108に格納された削除パターンと、識別データ生成部103からの識別データ、及び、補間識別データ生成部104からの補間識別データを入力しバッファメモリに格納する、次に識別データに対して置換処理を行い、バッファメモリに格納された置換後の識別データを識別データ削減部106に出力する。以下に、識別データ置換部1605の具体的な処理例を説明する。
【0066】
図18は、補間識別データを“0”とした時の削除対象位置を中心とした3×3画素の識別データのパターンと置換処理後の識別データのパターンとのペアを示している。なお、図示の入力する3×3画素の識別データのパターン、置換処理後の識別データのパターン、及び、条件の一組を特定するため、図示ではパターン番号“P###(#は数字)”の形式で示している。
【0067】
また、置換処理を行うのは、削除対象位置(3×3画素の中心位置)の識別データが“1”なので、中心位置の識別データが“0”のパターンは、図18には示していない。すなわち、黒い画素は識別データ“1”、白い画素は識別データ“0”を表している。また、回転すると同じになるパターンや、反転すると同じになるパターンはひとつにまとめて記載している。ここで反転とは鏡像にすることを意味しており、識別データの“0”を“1”にするなどの意味ではないことに注意されたい。なお、補間識別データが“1”の場合は、黒い画素が識別データ“0”、白い画素が識別データ“1”を表すものとして読み替えれば良い。
【0068】
以下、各条件について説明する。図18中の削除対象位置と隣接する全ての識別データ“0”の画素について、条件番号の小さい順に条件に合致するかを調べていく。条件を満たす画素位置が一つであった場合は、その位置を置換画素位置と決定する。条件を満たす位置が複数残っていて、残った全ての位置が対照的な位置関係でありいずれを選んでも確率的に置換による効果に違いが無い場合は、候補位置の中からいずれを置換画素位置としても構わないものとする。条件を満たす位置が一つも無い場合は、次に条件番号の小さい条件を参照して決定する。
【0069】
・条件“1”=識別データ“0”を置換対象位置とする:
符号化による輝度の変化を防ぐことを目的とし、周囲の識別データ“0”を削除対象位置の識別データ“1”に置換するために設けた条件である。例えば図18のパターンP702のように識別データ“0”が1個しか存在しない時は、その識別データを置換することが一意に決まる。
【0070】
また、図18のパターンP606を考えると、入力した識別データのパターンの左上と右下の2つの識別データ“0”のいずれを“1”に置換しても確率的には画像に対する効果に違いは無い。このような場合、どちらを選んでも良い。従って、図18のパターンP606の場合の置換後のパターンでは、右下隅の位置の識別データを“1”にしているが、“1”にする位置は左上隅であっても問題ない。
【0071】
ただし、例外として図18のパターンP801のように識別データ“0”が0個の時は、識別データは変化しないものとする。
【0072】
・条件“2”=削除対象位置に対して上下左右方向のいずれかにする:
この条件“2”は、削除対象位置に対して斜め方向の識別データ“0”よりも上下左右方向の識別データ“0”を優先して“1”へ置換するために設けた条件である。例えば図18のパターンP506を考えると、識別データ“0”は3つ存在するが、条件“2”により着目画素の左隣の画素の識別データを“1”に置換することが一意に決まる。
【0073】
また、図18のパターンP403を考えると、識別データ“0”は4つ存在するが、条件“2”により上か左に絞られる。なお、図18のパターンP403には、置換対象が削除対象位置の上を選択する様子を示したが、左であっても良い。
【0074】
・条件“3”=置換した結果、識別データ“1”が3個以上連続しない:
この条件は置換により、もともと画像に存在しなかった連続性を置換によって新たに生成される事を防ぐために設けた条件である。例えば図18のパターンP409を考えると、条件“2”により、削除対象位置の上、下の2つに絞られるが、条件“3”により、削除対象位置の上の識別データ“0”を“1”へ置換することが一意に決まる。
【0075】
また、図18のパターンP309を考えると、識別データ“0”は5つ存在する。条件“2”により、削除対象の上か下、右の2つに絞られる。そして、条件“3”により、上か下の位置が決定する。図18のパターンP309の場合には、置換対象位置が着目画素の下である例を示したが、上であっても問題ない。
【0076】
・条件“4”=削除対象位置を挟んだ反対側に“1”が存在する位置である:
この条件は入力画像にもともと存在している2連続となっている識別データの連続性を維持するために設けた条件である。例えば図18のパターンP404で示される入力パターンを考えると、右から中央へかけて識別データ“1”が2連続を構成している。この場合、削除対象位置の左の識別データ“0”を置換すると、削除対象位置を挟んだ対面の位置に“1”が存在する。従って、削除対象位置の左側はこの条件を満足する。また、右下隅が“1”であるので、削除対象位置の左上の画素位置もこの条件に一致する。しかしそれ以外は条件“4”を満たさない。また、削除対象位置の左側、左上側は、条件“3”も満たす。そして、削除対象位置の左上側は、条件“2”を満たさない。よって、削除対象位置の左側の位置の識別データ“0”を“1”に置換することが一意に決まる。
【0077】
また、例えば図18のパターンP504を考えると、削除対象位置の右側、左側、下側は条件“1”と条件“2”を満たすが、条件“3”を満たす位置は一つも存在しない。この場合は、次に条件番号の小さい条件“4”を参照する。削除対象位置の下側は条件“4”を満たし、削除対象位置の右側と左側は条件“4”を満たさない。よって、削除対象位置の下側の位置の識別データ“0”を“1”に置換することが一意に決まる。
【0078】
・条件“5”=識別データ“0”の3連続の構成を妨げない位置である:
この条件は入力画像にもともと存在している3連続となっている識別データ“0”の連続性を維持するために設けた条件である。例えば図18のパターンP301を考えると、左列に識別データ“0”の3連続が構成されている。条件“2”乃至条件“4”を満たしている位置として左と上があるが、条件“5”を満たせるのは上のみである。従ってこの場合、上の識別データ“0”を“1”へ置換することが一意に決まる。
【0079】
また、図18のパターンP102を考えると、条件“2”乃至条件“4”を満たす識別データは上下左右の4つ存在するが、条件“5”を満たすものは上と右のみである。この2つは同等性があるため条件1によってどちらを選んでも良いこととなる。従って、図18のパターンP102の場合には、削除位置の上を選択する様子を示したが、右であっても問題ない。
【0080】
以上、図18に示した置換パターンデータによる置換方法を説明した。具体的には、本第3の実施形態の識別データ置換部1605は、図18に示すような置換パターンデータテーブルを記憶した置換パターン記憶部を有し、これを参照して、置換処理を行なうことになる。
【0081】
以上の説明からもわかるように、補間識別データが“0”のとき、着目画素の位置が削除位置にあり、且つ着目画素の識別データが“1”(非補間識別データ)である場合、着目識別データの隣接する8画素の識別データのうち値が“0”の識別データの中で最も影響の少ない1つの識別データが“1”に置換される。少なくとも、置換される識別データの位置が、着目画素の隣接する位置であるので、画質に与える影響は少ないと言える。更に、実施形態によれば、隣接する画素のうち、上記の条件に従って、最も影響の少ない位置の識別データと置換するので、更に影響は小さなものすることができる。
【0082】
なお、上記は補間識別データが“0”の場合であったが、“1”の場合には上記の“0”と“1”を読み替えたものとなる点に注意されたい。
【0083】
更に、本第3の実施形態では、画像復号装置側でも、更に画質を改善することを可能にするものである。図17は、本第3の実施形態の画像復号装置のブロック構成図である。
【0084】
同図と図2との違いは、識別データ補間部1703が、識別データ補間部203よりも新たな処理が加わった点である。従って、識別データ補間部1703は、基本的に、削除された識別データを、補間識別データと見なして出力するのは、第1の実施形態の識別データ補間部203と同じである。
【0085】
識別データ補間部1703は、内部にバッファメモリを有する。識別データと補間識別データを入力としてそれらを内部のバッファメモリに格納し、削除パターンメモリ205に格納された削除パターンを参照して補間処理を行い、補間後の識別データを出力する。但し、本第3の実施形態では、例外処理を設けた。以下、この例外処理を説明する。
【0086】
説明を簡単なものとするため、ここでも入力された補間識別データを“0”とする。図19は、例外処理における入力識別データと出力識別データのペア関係を示している。図19において左列は入力した3×3画素の識別データのパターンを示し、右列は補間後の識別データのパターンを示している。白い画素は識別データ“0”を、黒い画素は識別データ“1”を表す。また、斜線部分は削除されていることを示している。例外処理は、着目画素位置が削除された場合のものであるので、斜線部分も3×3画素の識別データの中心に位置することになる。
【0087】
なお、回転や反転をすると図19に記載した識別データと同じになるパターンはひとつにまとめて記載している。また、入力された補間識別データが“1”の場合は、白い画素を識別データ“1”へ、黒い画素を識別データ“0”へ読み替える。
【0088】
第1の実施形態に従えば、図示の削除位置の識別データは、補間識別データ“0”として出力される。本第3の実施形態では、着目画素位置が削除されており、補間識別データ“0”となった場合、隣接する画素位置において、補間識別データとはその極性が異なる“1”の値の識別データと置換する。
【0089】
本第3の実施形態の識別データ補間部1703は、次に示す4つの条件を全て満たす識別データ“1”を、補間識別データ(実施形態では“0”)と交換する。
条件1:着目画素位置の“1”の識別データは、削除位置の上下左右のいずれかに位置する。
条件2:着目画素位置の“1”の識別データは、水平、垂直方向に“1”が3連続しているメンバーではない。
条件3:着目画素位置の“1”の識別データを“0”にし、3×3画素の中央位置を補間識別データ“1”で補間した結果、中央位置の識別データが上下左右斜めのいずれかの方向に、“1”が3連続するメンバーとなる。
条件4:着目画素位置の“1”の識別データ以外に、条件1乃至条件3を満たす他の識別データは存在しない。
【0090】
条件1は符号化装置での置換の対象として上下左右の位置を優先させたために設けた条件である。条件2は符号化装置では3連続となるような置換の優先度は低く、画像がもともと持っている連続性である可能性もあり、その連続性を崩さないために設けた条件である。条件3は連続性のある画像のみを復元させることを目的としているために設けた条件である。条件4は候補が複数存在することによる復元の誤りを防ぐために設けた条件である。
【0091】
例えば図19のパターンP901を考えると、識別データ“1”は削除位置の左上と上と右下の3つである。このうち、条件1を満たすのは上だけである。上の位置の識別データ“1”は上列で3連続を構成していないので、条件2を満たす。上の位置の識別データを削除対象位置へ置換すると斜め方向の3連続を構成するので、条件3を満たす。上の位置の識別データ以外に条件1乃至条件3を満たす識別データ“1”は存在しないので、条件4を満たす。つまり、条件1乃至条件4を全て満たすので、上の位置の識別データは削除対象位置と置換されることとなり、図19のパターンP901の右側に示される3×3画素の識別データが得られる。図19の残りのパターンP902乃至910も同様に得たものである。
【0092】
以上、本第3の実施形態における復号装置側の補間方法を説明した。
【0093】
上記第3の実施形態における画像符号化装置と復号装置を使用することによる効果の一例を以下に記す。例えば、図18のパターンP406の左列の識別データが入力されたとすると、符号化装置により識別データは図18のパターンP406の右列の識別データになって出力される。この識別データを復号化装置が受け取ると、図19のパターンP909の左列を上下反転したものに該当するので、復号化装置は図19のパターンP909の右列を上下反転した識別データを出力する。このように一連の符号化処理によっても識別データの形状は符号化前と符号化後で変化していない。
【0094】
以上が本第3の実施形態における画像符号化装置及び復号装置の処理内容である。本第3の実施形態の符号化装置と復号化装置によれば、第1及び第2の実施形態において説明した輝度を変化させない効果に加え、連続性の高い画像に対して画像の形状も保存することが可能となる。従って、より高画質な画像符号化が可能となる。
【0095】
[第4の実施形態]
先に説明した第1,第2、第3の実施形態で示した画像ブロックから2つの代表色を抽出し、その画素ブロック内の各画素がいずれの代表色と近似するかを示す識別データを削減し、固定長の符号化データを生成する例を説明した。これらの符号化対象は、符号化対象の画像に含まれる色の数が少ない場合、典型的には、文字列(線画を含む)のみで構成される文章画像を符号化する場合に都合が良いものである。しかし、符号化対象のオリジナル画像が、自然画等、グラディエーションのある背景(階調画像)と文字が混在する画像の場合には、復号して得られた画像はオリジナル画像と大きく異なることになる。
【0096】
そこで、本第4の実施形態では、かかる点を改善する例を説明する。なお、以下に説明する第4の実施形態でも、符号化対象の画像データはモノクロ多値画像データとし、1画素ブロックは16×16画素のサイズであるものとして説明する。
【0097】
図15は本第4の実施形態における画像符号化装置のブロック構成図である。本装置は、ブロック化部1301、2色符号化部1302、抽出部1303、第1の符号化部1304、符号量検出部1305、置換部1306、第2の符号化部1307、符号量制御部1308、パック部1309、セレクタ1310を有する。以下、各処理部の詳細な説明を行う。
【0098】
ブロック化部1301は図1のブロック化部101と同じで、入力された画像から16×16画素の画素ブロックを抽出し、出力する。
【0099】
2色符号化部1302は第1の実施形態、第2の実施形態、或いは第3の実施形態で説明した符号化装置である。但し、ブロック化部1301が、図15で示されているので、2色符号化部1302には、ブロック化部101を設ける必要はない。また、第1,第2の実施形態では、1画素ブロック当たり256ビットの固定長の符号化データを生成するものとしているが、本実施形態における2色符号化部1302は1画素ブロック当たり1ビット少ない255ビットの符号化データを生成するものとする。これは、第1,第2、第3の実施形態における削除パターン内の削除対象位置の個数を、1個増やせば良いので説明するまでもないであろう。
【0100】
抽出部1303は、ブロック化部1301から入力した画素ブロックの画像データから、高周波成分となる画素があるか否かを判定し、その判定結果と高周波成分の画素の色(抽出色)をパック部1309に出力する。また、抽出部1303は、着目画素ブロックの各画素毎に、高周波成分となる画素であるか否か、すなわち、抽出色/非抽出色を示す識別データを第1の符号化部1304、置換部1306に出力する。なお、先に説明した第1、第2、第3の実施形態における識別データと区別するため、本第4の実施形態における抽出部1303が生成する識別データを、以降、第2の識別データと表現することとする。この第2の識別データは、画素ブロック内の各画素が、高周波成分の画素であるか否かを識別できれば良いので、1画素について1ビットで良い。すなわち、1画素ブロックには、16×16画素が存在するので、1画素ブロックの第2の識別データは計256ビットとなる。
【0101】
この抽出部1302における高周波成分の画素があるか否かの求めるアルゴリズムは、第1の実施形態の2色抽出部102と同じでも良い。すなわち、着目画素ブロックの各画素の値の平均値を求め、着目画素ブロック内の画素を、その平均値以下の画素群(グループA)と、平均値よりも大きな値を持つ画素群(グループB)の2つのグループに分類する。そして、グループA,Bの平均値を更に算出し、グループBの平均値からグループAの平均値を減算した値が、予め設定された閾値よりも大きい場合、グループBに属する画素は高周波成分を持つ画素と判定する(逆でも構わない)。本第4の実施形態では、高周波成分の画素の場合には“1”、非高周波成分の画素の場合には“0”の第2の識別データを生成するものとする。
【0102】
従って、この抽出部1302は、画素ブロックの画像データに、高周波成分となる画素があるか否かを判定し、高周波成分の画素の色を抽出色として抽出する第2の抽出部として機能すると共に、画素ブロックの各画素が、前記抽出色の画素であるか、非抽出色の画素であるかを識別するための第2の識別データを生成する第2の生成部として機能することになる。
【0103】
第1の符号化部1304は入力される256ビットの第2の識別データを圧縮し、符号化データを出力する。ここでの符号化方式は、公知のランレングス符号化など、2値データの圧縮に用いられるアルゴリズムで圧縮する。
【0104】
符号量検出部1305は上記第1の符号化部1304から出力された符号量を検出し、その検出結果を符号量制御部1308、及び、セレクタ1310へ出力する。
【0105】
置換部1306は、着目画素ブロックの画像データを、上記第2の識別データを参照して、後段の第2の符号化部1307による符号化が効果的に行えるように、変換する。この置換部1306の変換処理は次の通りである。
【0106】
ここで、ブロック化部1301から出力される画素値をP(x,y)(x,y=0,1,…15)とし、抽出部1303から出力される第2の識別データをB(x,y)とする。
【0107】
先ず、置換部1306は、非高周波成分の画素値の平均値Paveを算出する。
Pave=ΣP(x,y)×(1−B(x,y))/N
ここで、Nは、第2の識別データが“0”の個数を示している。
【0108】
次いで、置換部1306は、非高周波成分と判定された画素値はそのまま、高周波成分の画素値を平均値Paveで置換して、第2の符号化部1307に出力する。つまり、平均値Paveは置換色データとして用いる。具体的には、次の通りである。
・B(x,y)=0の場合、P(x,y)を出力する。
・B(x,y)=1の場合、PaveをP(x,y)として出力する。
【0109】
上記の結果、着目画素ブロックの画像データは高周波成分が存在しない、もしくは高周波成分の画素が少ない状態に変換されることになる。
【0110】
第2の符号化部1307は上記置換された着目画素ブロックの画像データを符号化する。この符号化にはJPEGのような公知の多値画像の圧縮に有利な方法を利用する。実施形態では、1画素ブロックが16×16画素としているので、この画素ブロックをJPEGにおけるマクロブロックとして符号化すればよい。すなわち、JPEGでは、一般に、8×8画素を単位にDCT、量子化、エントロピー符号化を行なうものであるので、この処理を4回行なう。但し、この第2の符号化部1307は、直流成分、交流成分の順に符号化データを出力するものとする。また、第2の符号化部1307が符号化する画素ブロックには、上記の通り、高周波成分が無い、もしくは少ない。従って、第2の符号化部1307は、十分に高い圧縮率で符号化データを生成することが可能になる。
【0111】
符号量制御部1308は第2の符号化部1307から出力された符号化データのデータ量を抑制するデータ量抑制部として機能する。制限する値は、目標符号量(実施形態では255ビット)から、抽出色(高周波成分を有すると判定された画素データの値)と第1の符号化部1304から出力された符号化データの符号量の2つを減算した値である。
【0112】
この結果、第2の符号化部1307からは、いくつかの符号化データが削除されることになる可能性があるが、直流成分の符号化データは符号化データの先頭に位置するので削除されることはない。
【0113】
パック部1309は抽出色と第2の識別データの符号化データ、及び、第2の符号化部1307で生成された多値画像の符号化データを、この順番にパックし、255ビットの符号化データを生成し、セレクタ1310に出力する。
【0114】
ここで2色符号化部1302から出力された符号化データを第1の出力データ、パック部1309から出力された符号化データを第2の出力データとする。
【0115】
セレクタ1310は、符号量検出部1305からの第2の識別データの符号化データ量に基づき、第1の出力データ、第2の出力データのいずれか一方を選択出力する。具体的には、符号量検出部1305からの第2の識別データの符号量が、予め設定された閾値以上の場合には第1の出力データを選択出力し、第2の識別データの符号量がその閾値未満の場合には第2の出力データを選択出力する。このとき、符号化データが、2色符号化部1302、パック部1309のいずれからのものであるかを判定できるようにするため、セレクタ1301は、符号化データの先頭に1ビットの判別ビットを付加する。この結果、1画素ブロック当たり256ビットの符号化データを生成することになる。
【0116】
以上、説明した第4の実施形態によれば、第1,第2、第3の実施形態に対して、削除パターンによる削除する識別データの個数が1つ増えるものの、自然画等のグラディエーション画像に対しても十分な画質を維持して、固定長の符号化データを生成することが可能になる。
【0117】
なお、上記実施形態では、符号化対象画像が1色成分のみのモノクロ画像を例にして説明したが、RGBやYMC、Lab等、1画素が複数色成分で表わされる画像の場合には、各成分につき固定長の符号化データを生成すればよい。
【0118】
以上本発明に係る実施形態を説明したが、各実施形態で説明した処理を、パーソナルコンピュータ等の情報処理装置が実行するコンピュータプログラムでもって機能させても構わない。この場合、各実施形態で示した処理部に相当する部分は、サブルーチンもしくは関数で機能させ、全体をメインルーチンとして機能させればよい。また、通常、コンピュータプログラムは、CD−ROM等のコンピュータ読取り可能な可読記憶媒体に格納されており、それをコンピュータが有する読取り装置(CD−ROMドライブ等)にセットし、システムにコピーもしくはインストールすることで実行可能になる。それ故、かかるコンピュータ可読記憶媒体も本発明の範疇にあるのは明らかである。
【図面の簡単な説明】
【0119】
【図1】第1の実施形態における画像符号化装置のブロック構成図である。
【図2】第1の実施形態における画像復号装置のブロック構成図である。
【図3】第2の実施形態における画像符号化装置のブロック構成図である。
【図4】第2の実施形態における画像復号装置のブロック構成図である。
【図5】第1の実施形態における削除パターンの一例を示す図である。
【図6】着目画素の周辺参照画素のパターンを示す図である。
【図7】着目画素の周辺参照画素のパターンを示す図である。
【図8】着目画素の周辺参照画素のパターンを示す図である。
【図9】着目画素の周辺参照画素のパターンを示す図である。
【図10】着目画素の周辺参照画素のパターンを示す図である。
【図11】着目画素の周辺参照画素のパターンを示す図である。
【図12】着目画素の周辺参照画素のパターンを示す図である。
【図13】置換する順序を示す図である。
【図14】第2の実施形態における削除パターンの一例を示す図である。
【図15】第4の実施形態における画像符号化装置のブロック構成図である。
【図16】第3の実施形態における画像符号化装置のブロック構成図である。
【図17】第3の実施形態における画像復号装置のブロック構成図である。
【図18】第3の実施形態における画像符号化装置が利用する置換パターンの例を示す図である。
【図19】第3の実施形態における画像復号装置が利用する置換パターンの例を示す図である。
【技術分野】
【0001】
本発明は、画像データの符号化及び復号技術に関するものである。
【背景技術】
【0002】
従来より、入力画像を所定サイズのブロックに分割し、分割されたブロック画像に対して、直交変換を用いて符号化を行う技術が知られている。直交変換を用いた符号化は自然画像に対しては有効な圧縮方法であるが、他方、文字線画などの含まれる画像に対しては、画像の高周波成分が失われることに起因するモスキートノイズやブロック歪が起こり、良好な結果を得られないという問題点があった。
【0003】
このような問題を解決するため、文字線画を含む画像など、階調性よりも解像度が重要な画像に関して、ブロック画像内の画素を二色で近似することで解像度を保持しようとするブロック内2色化処理が提案されている。この2色化処理を実行するものとしては知られているのが特許文献1である。この特許文献1に記載の2階調ブロック近似符号化においては、ブロック画像内の画素を2色からなる画像と見なし、各画素がいずれの色であるのかを示す識別情報を生成する。そして、その識別情報と2色の画素値をパッキングすることで符号化処理を行う。例えばブロックサイズが8×8画素とし、そのブロックの画像データを2色化して、符号化を行う場合、識別情報として64ビット全てのデータを格納し、色データとして8ビットのデータを2色分格納して合計80bitの固定長符号化データを出力する。同様にブロックサイズ16×16の場合は、識別情報は256ビット、色データが8ビット×2=16ビットの合計272ビットの固定長符号化データを出力する。
【特許文献1】特開平05−056282号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、圧縮されたデータは通常は外部メモリ等に記憶されるが、この外部メモリへのアクセスは、4バイト×N(Nは2のべき乗)である場合が多く、上記従来例では、アクセス効率が悪いという欠点があった。例えば上記8×8のブロックサイズでは64ビットが望ましく、また、16×16のブロックサイズでは256ビットで固定長符号化されることが望ましい。
【0005】
本発明は、1画素が複数ビットで表わされる画像データを符号化するものであって、文字線画等を表す解像情報や色情報を良好に維持しつつ、m×n画素のブロック単位に、m×nビット以下の固定長の符号化データを生成、及び、復号する技術を提供しようとするものである。
【課題を解決するための手段】
【0006】
かかる課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
1画素が複数ビットで表わされる画像データを、m×n画素のブロック単位に符号化し、1ブロックにつき、m×nビット以下であって、固定長Lビットの符号化データを生成する画像符号化装置であって、
画像データを前記ブロック単位に入力する入力手段と、
入力した着目ブロックの画像データから代表色C0、C1を抽出する抽出手段と、
前記着目ブロック中の各画素に、当該各画素が前記代表色C0、C1のいずれに近似しているかを示す1ビットの識別データを生成する生成手段と、
前記代表色C0、C1を特定するために必要なビット数をNと定義したとき、前記生成手段で生成された1ブロック分の識別データから、{N+1}個の識別データを削除するための、及び、少なくとも互いに1画素以上の距離を隔てた削除対象の画素位置を特定するためのパターンデータを記憶する記憶手段と、
前記記憶手段に記憶されたパターンデータに従い、前記代表色C0、C1のいずれに近似する識別データが多く削除されるかを判定し、当該判定結果を示す1ビットの判定データを生成する判定手段と、
該判定手段の判定結果に従い、削除位置の近傍に位置し、非削除対象の識別データを補正する補正手段と、
前記記憶手段に記憶されたパターンデータを参照して、前記補正手段で補正した後のm×n個の識別データから、{N+1}個の識別データを削除する削減手段と、
前記抽出手段で抽出した代表色C0、C1を示すデータ、前記判定手段で生成された前記判定データ、及び、前記削減手段による削除して残った識別データとを結合し、着目ブロックの符号化データとして出力する出力手段とを備える。
【発明の効果】
【0007】
本発明によれば、1画素が複数ビットで表わされる多値画像データから、m×n画素のブロック単位に、m×nビット以下の固定長の符号化データを生成、及び、復号するだけでなく、文字線画等を表す解像情報や色情報を良好に維持することが可能になる。
【発明を実施するための最良の形態】
【0008】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0009】
以下に説明する実施形態の画像符号化装置は、1画素が複数ビットで表わされる多値画像データを、m×n個の画素で構成されるブロックを単位に符号化する。その際に、1ブロックにつき、m×nビット以下であって、固定長Lビットの符号化データを生成する。更に、Lは、m×n以下であり、32の整数倍の最大値とする。
【0010】
[第1の実施形態]
図1は本第1の実施形態における画像符号化装置のブロック構成図である。本装置は、ブロック化部101、2色抽出部102、識別データ生成部103、補間データ生成部104、識別データ変換部105、識別データ削減部、パック部107、及び、削除パターンメモリ108を有する。なお、実施形態におけるブロック化部101が入力する符号化対象となる画像データは、記憶媒体に記憶された無圧縮の画像データとする。しかしながら、イメージスキャナから読み取った画像であっても良いし、通信(例えばネットワーク)によって取得した画像データであっても構わず、その入力源の種類は問わない。
【0011】
ブロック化部101は入力された画像を所定サイズのブロックに分割する。ブロックに分割された画像データは2色抽出部102に供給される。2色抽出部102は、入力した着目ブロック中の各画素の値を解析し、二つの代表色C0、C1を抽出する。そして、2色抽出部102は、抽出した代表色C0、C1を識別データ生成部103、及びパック部107に出力する。識別データ生成部103はブロック内の各画素が、2つの代表色データC0、C1のいずれに近いかを判定し、画素位置毎に色データC0、C1のいずれに近似するかを識別する識別データを補間識別データ生成部104と識別データ置換部105に出力する。補間識別データ生成部104は、後述する識別データ削減部106にて削減される識別データを補間する値を決定し、その補間する値を補間識別データとしてパック部107に出力する。識別データ置換部105では、削除パターンメモリ108を参照して、削除対象画素の周辺の識別データを置換する。識別データ削減部106は、削除パターンで特定される複数の識別データを削減し、パック部107に出力する。パック部107は、2つの色データC0、C1、補間識別データ、及び、削減処理済の識別データをパックして、固定長符号化データとして出力する。以下、各処理部の詳細を説明する。
【0012】
ブロック化部101は、内部にmライン分のバッファメモリを有し、符号化対象の画像データをラスタースキャン順に入力し、バッファに格納する。そして、mライン分の画像データが格納された場合、水平方向n画素、垂直方向m画素の画像データを順に切り出し、それぞれを2色抽出部102に出力することを繰り返す。このn×m画素の画像データをこれ以降、画素ブロックという。この画素ブロックのサイズ(m,n)に特に制限は無い。しかし、ブロックサイズが大きければ識別データの削減数を増やしても削減による影響は少なくなるが、2色化による影響は大きくなる。逆にブロックサイズが小さければ画像の相関性により入力画像のブロック内に含まれる色数が少なくなるため2色化による誤差が小さくなり、正確な色の保存が容易になるが、識別データの削減による影響は大きくなる。また、ブロックの形状は正方形である必要はなく、長方形でも可能である。本実施形態では、1画素ブロックのサイズを16×16画素(m=n=16)として説明する。勿論、このサイズは適宜ユーザが設定しても良い。但し、以下の説明からもわかるように、m×nが“32”の整数倍になることが望ましい。また、実施形態では、簡単なものとするため、1画素が、8ビット(256階調)のモノクロ画像である例を説明するが、このビット数や色空間も適宜変更しても構わない。8ビットで表わされる値は、“輝度”として説明する。従って、画素値が小さい程、その画素は暗い(濃度が高い)画素を表わし、画素値が大きいほど、その画素が明るい(濃度が低い)画素を表わすことになる。また、上記の通りなので、代表色C0、C1は異なる輝度値を表わすことになる。
【0013】
さて、ブロック化部101は上記の通り、16×16画素の画像データ(画素ブロック単位)を2色抽出部102に出力する。
【0014】
2色抽出部102では、入力した1画素ブロック中から2つの代表色データC0、C1(共に8ビット)を抽出する。ここで、画素値の小さい方を色データC0、大きい方を色データC1とする。なお、2色の色データC0、C1を決定(抽出)する方法に特に規定しないが、一例を示すのであれば次の通りである。
【0015】
先ず、2色抽出部102は、1画素ブロック中の全画素の平均値AVEを算出する。ブロック内の座標(x,y)の画素値をP(x,y)と表現するなら、平均値AVEは次の通りである。
AVE=ΣΣP(i,j)/(16×16)
ここでΣΣは、i,j=0、1、・・・、15の合算を示している。
【0016】
次いで、2色抽出部102は、この平均値AVEを用いて、着目画素ブロック内の各画素を第1のグループと第2のグループに分類する。すなわち、その平均値AVE以下の画素値を持つ画素群(以下、グループAという)と、平均値AVEより大きな画素値を持つ画素群(グループB)とに分類する。そして、グループAに属する画素値の平均値を色データC0、グループBに属する画素値の平均値を色データC1として決定する。
【0017】
識別データ生成部103は、入力されたブロック画像内の各画素が、2色の色データC0、C1のうちいずれかに近似するかを判定する。そして、ブロック内の全画素を2つ分類し、その各画素がいずれのグループに属するのかを識別する識別データを出力する。この識別データは、1つの画素が2つグループのいずれに属するのか判れば良いので、1画素当たりの識別データは1ビットで良い。識別データ生成部103は次に示すようにして、識別データを生成する。
閾値 =AVE(ブロック全体の平均値)
識別データ=1 (画素値>閾値の時)
識別データ=0 (画素値≦閾値の時)
【0018】
尚、閾値は、識別データ生成部103が独自に算出しても構わないし、2色抽出部102で算出した結果を利用しても構わない。また、閾値を{C0+C1}/2としても構わない。
【0019】
本実施形態では、先に説明したグループAに属する画素の識別データは“0”、グループBに属する画素の識別データは“1”とする。
【0020】
上記は、色データC0、C1との差の絶対値が予め設定された閾値以上の場合の処理である。
【0021】
着目画素ブロック内の画素値が全て同じである場合、或いは、色データC0、C1の色の差の絶対値が予め設定された閾値以下の場合(色データC0、C1の色空間内での距離が閾値以下の場合)、1つの色データ(例えばC0)のみを抽出結果とする。この場合、他方の色データ(C1)は存在しないが、ダミーとしてその色データ(C1)を生成する。また、この場合、全識別データを“0”とする。
【0022】
実施形態では、1ブロックのサイズを16×16画素とし、1つの画素の識別データは1ビットとしているので、結局のところ、識別データ生成部103は、16×16=256ビットの識別データを生成することになる。
【0023】
補間識別データ生成部104は、削除パターンメモリ108に格納された削除パターンデータ(単に削除パターンという)を参照し、削除される位置(以降、削除対象位置と呼ぶ)の識別データに関して“0”と“1”の数をカウントする。そして、補間識別データ生成部104は、カウントした結果に従い、その多い方を判定する。そして、補間識別データ生成部104はその判定結果である判定データを補間識別データとしてパック部107、及び、識別データ置換部105に出力する。この補間識別データ生成部104の処理内容を、より具体的に説明すると次の通りである。
【0024】
図5は削除パターンメモリ108に格納された削除パターンを示している。この削除パターンは16×16のサイズであり、符号化単位の画素ブロックのサイズと同じである。また、削除パターンの黒部分が削除位置を示し、その値は“1”である。白部分は非削除位置であり、その値は“0”である。図示の如く、黒部分(削除位置)は全部で17個存在し、且つ、黒部分は互いに隣接することはないように、1画素以上(実施形態では3画素以上)の距離を隔てて配置されている。なお、ここで、言う距離は、或る画素位置から他方の画素位置まで、水平、又は、垂直方向にたどっていって最短のルート中に存在する画素数を意味する。
【0025】
補間識別データ生成部104は、着目画素ブロック内の、削除パターンの“1”に対応する位置の識別データの“0”の個数I0、及び、“1”の個数I1を計数する。そして、次の条件に従って、補間識別データを出力する。
I0≧I1の場合、補間識別データとして“0”を出力する。
I0<I1の場合、補間識別データとして“1”を出力する。
【0026】
上記を平たく説明するのであれば、補間識別データ生成部104は、削除対象の17個の識別データのうち、識別データ“0”、“1”のいずれが多いかを判定し、多い方の識別データの値を補間識別データとして出力していると言える。
【0027】
次に、識別データ置換部105について説明する。
【0028】
識別データ置換部105は、内部に適当なバッファメモリを有する。そして、識別データ置換部105は、削除パターンメモリ108に格納された削除パターンと、識別データ生成部103からの識別データ、及び、補間識別データ生成部104からの補間識別データを入力し、バッファメモリに格納する。そして、識別データ置換部105は、後段の識別データ削減部106による識別データの削減によって、着目画素ブロック内の全体の輝度のロスを低くなるように、且つ、画質劣化を低く抑えるための識別データを補正、具体的には置換を行なう。そして、識別データ置換部105は、バッファメモリに格納された、置換後の識別データを識別データ削減部106に出力する。以下に、識別データ置換部105の具体的な処理例を説明する。
【0029】
着目画素ブロック内の座標(x,y)の識別データをI(x,y)、同様に、削除パターンの値をD(x,y)と表わす。I(x,y)、D(x,y)は共に0、1のいずれかの値であり、x,yは共に0乃至15の値のいずれかである。また、座標(x,y)の画素位置を、着目画素位置という。
【0030】
また、説明を簡単なものとするため、補間識別データが“0”である場合について説明する。すなわち、削除される識別データの“0”の個数が、“1”の個数以上の場合である。
・D(x,y)=0の場合:
識別データ置換部105は、内部バッファの着目画素位置(x,y)の識別データI(x,y)を変更(補正)しない。
・D(x,y)=1、且つ、I(x,y)=0の場合:
識別データ置換部105は、内部バッファの着目画素位置(x,y)の識別データI(x,y)を変更しない。
・D(x,y)=1、且つ、I(x,y)=1の場合:
これは、削除対象位置の識別データが“1”である場合である。この場合、後述する画像復号装置では、削除された識別データの値を補間識別データ“0”として復号することになるので、着目画素ブロック内の全体の輝度が変わってしまう。そこで、着目ブロックの輝度の変化を防ぐために以下の処理を行い、削除対象画素位置の近傍の1画素の識別データ“0”を“1”で置換(補正)し、その置換後(補正後)の識別データを出力する。置換対象の画素位置の決定基準は、識別データ“1”の密度の低い位置の画素とする。以下、この詳細を更に詳しく説明する。
【0031】
図6(a)乃至(p)から図12(a)乃至(d)は着目画素ブロック内の削除対象位置とその周辺画素の関係を示した図である。図中、黒で示した画素位置が削除対象位置であり、白色で示された位置は非削除対象位置である。斜線で示した部分は隣接する別の画素ブロックであり、図7(a)乃至(j)から図12(a)乃至(d)は削除対象画素がブロック境界に近い場合を示している。ここで、隣接画素ブロックが上や右などに位置している場合は、図7(a)乃至(j)から図12(a)乃至(d)に示したパターンを隣接ブロックの位置関係に合致するように適宜回転させる。つまり、ブロックの一番上の行に削除対象画素がある場合は、図7(a)乃至(j)のそれぞれの参照領域を時計回りに90度回転させたものを採用する。
【0032】
また、太枠で囲まれた部分は識別データの密度を比較する対象となる領域である。太枠の形状は、削除対象画素と隣接している8画素中の1画素と、その1画素と接している連続した2画素(計3画素)を組み合わせた形状としている。このように作成した太枠部分を、図6(a)乃至(p)に示すように削除対象画素から放射状に配置させ、各方向の密度を検出し、適切に密度の低い方向へ画素を置換できるようにしている。また、図7(a)乃至(j)から図12(a)乃至(d)に示した隣接ブロックのあるパターンについては、図6(a)乃至(p)に示したパターンから隣接ブロックがあるため密度を検出できないパターンを除いている。
【0033】
置換画素を決定する手順は、まず、隣接ブロックの位置関係から、削除対象画素が図6(a)乃至(p)から図12(a)乃至(d)のどの図に合致するかを判断する。次に、例えば図7が選ばれたとすると、図中の10通りの太枠で囲んだ部分について、太枠の領域内の識別データ“1”の数を数え、“1”のカウント数が最も少ない枠(領域)を図7(a)乃至(j)の中から選択する。ここで、最も少ない枠が複数あった場合は、その中からランダムに枠を決定する。
【0034】
次に、決定した枠の中から図13(a)乃至(d)に示すように、着目画素(黒部分)から近い順に識別データを調べていき、最初に識別データが“0”だった箇所を“1”に変更する。ただし、図13(a)乃至(d)に示す周辺画素が全て“1”だった場合は変更しない。
【0035】
以上の手順を削除パターン中の17箇所全ての削除対象位置に対して行い、識別データの置換処理を行う。
【0036】
なお、補間識別データが“1”の場合は、上記の説明の中で“0”と“1”を読み替えるものとする。
【0037】
代表色C0、C1のうち、削除される識別データの多い方の色をCa、削除される個数の少ない識別データが示す色をCbと定義したとする。補間識別データ生成部104は、要するに、着目画素位置の識別データが色Cbを示す場合のみ、当該着目画素位置の近傍に位置し非削除対象の前記色Caを示す1つの識別データが存在する場合には、その識別データを前記色Cbを示す識別データに置換する。
【0038】
識別データ削減部106は、削除パターンメモリ108に格納された削除パターンを参照し、16×16個の識別データ中の、削除パターンの値が“1”(図5の黒部分)の識別データを削除する。そして、識別データ削減部106は、削除後の識別データをパック部107に出力する。
【0039】
識別データ削減部106の具体的な削減処理は次の通りである。いま、16×16個の置換処理後の識別データを、その座標(x,y)を用いてI(x,y)と表わし、削減パターンにおける座標(x,y)の値をD(x,y)と表わす。
D(x,y)=0の場合、識別データ削減部106は、入力したI(x,y)をそのまま出力する。
D(x,y)=1の場合、識別データ削減部106は、入力したI(x,y)を破棄し、出力しない。
【0040】
以上の結果、D(x,y)=1の位置における識別データは出力されない。すなわち、17個(17ビット)の識別データが削除される。この結果、識別データ削減部106からパック部107に出力される識別データの個数は239ビット(=256−17)となる。
【0041】
パック部107は、1画素ブロックに対し、固定符号化データ長“256”ビットの符号化データを出力する。代表色データC0、C1は共に8ビットであるから、その2つの色データを表わすには16ビットが必要になる。また、補間識別データとして1ビット必要になる。この理由により、識別データ削減部106は、17画素分の識別データを削除する必要があり、本実施形態では図5に示すように黒部分の個数を17個とした。
【0042】
パック部107は、まず、2色抽出部102から出力された色データC0、C1(8×2ビット)、補間識別データ(1ビット)をその順番に保持し、それに後続して、識別データ削減部106からの239ビットの識別データを結合する。そして、パック部107は、結合後のデータを、1画素ブロックの符号化データとして出力する。
【0043】
すなわち、パック部107が出力する1画素ブロックの符号化データのデータ構造は、次の通りである。
代表色C0(8ビット)+C1(8ビット)+補間識別データ(1ビット)+削除後の識別データ(239ビット)
【0044】
説明が前後するが、ここで図5に示した削除パターンについて説明する。本実施形態では、図5に示すように、基本的に、1つの行(ライン)、1つの列(カラム)中には、削減対象箇所が1つになるようにした。但し、16×16のサイズから17個を削減するため、全ライン、全カラム1つというのは不可能であり、図示のように、1つのライン、1つのカラムのいくつかには、削除対象箇所が2つ存在する。また、図6(a)乃至(p)から図12(a)乃至(d)からもわかるように、置換対象の画素位置を決める枠内には、他の削除対象画素位置が位置することがないように、削除対象画素位置は互いに或る程度の距離を隔てて配置されている。
【0045】
次に、上記実施形態で説明した符号化データを復号する画像復号装置について説明する。図2は、本実施形態における画像復号装置のブロック構成図である。本装置は、データ分離部201、2色保持部202、識別データ補間部203、セレクタ204、及び削除パターンメモリ205を備える。削除パターンメモリ205は、先に説明した画像符号化装置が保持する削除パターンデータと同じデータが格納されている。
【0046】
先に説明したように、1ブロックの符号化データの固定長をLビットとしたとき、1ブロックの符号化データは、必ず、代表色C0、C1を示すNビット(実施形態ではN=16)+1ビットの補間識別データ+L−1−N個(実施形態では239ビット)の識別データの順に並ぶようになっている。
【0047】
従って、データ分離部201は、符号化画像データから、1画素ブロック分の固定長の符号化データ(実施形態では256ビット)を単位に入力したとき、先頭の16ビットが、8ビットで表わされる2つの代表色データC0、C1であるものとして、2色保持部202に出力する。そして、1画素ブロックの符号化データの先頭から17ビット目の1ビットのデータを、補間識別データであるものとして識別データ補間部203に出力する。また、データ分離部201は、符号化データの18ビット目以降の239ビットのデータを削減後の識別データであるものとし、識別データ補間部203に出力する。
【0048】
2色保持部202は、8ビットのレジスタを2つ有し、データ分離部201から供給された16ビットから前半の8ビット、後半の8ビットに分離し、これら2つのレジスタに色データC0、C1として保持させる。それぞれのレジスタは、セレクタ204に16×16画素分の復号処理が完了するまで、色データC0,C1を出力し続ける。
【0049】
識別データ補間部203は、削除パターンメモリ205に格納された削除パターンを参照し、非削除の識別データの位置では、入力した識別データをそのまま出力する。そして、削除された識別データの位置では、補間識別データを出力する。この結果、入力した239ビットの識別データから、256ビットの識別データが生成され、セレクタ204に出力されることになる。
【0050】
セレクタ204は、識別データ補間部203からの256ビットの識別データを1ビット単位に入力し、その値が“0”の場合には、2色保持部202からの色データC0を復号後の画素データとして選択し、出力する。そして、識別データが“1”の場合には、2色保持部202からの色データC1を復号後の画素データとして選択し、出力する。このようにして、16×16画素で構成される画素ブロックの画像データを復号する。
【0051】
以上が本第1の実施形態における画像符号化装置及び復号装置の処理内容である。本第1の実施形態によれば16×16画素で構成される画像データが、256ビットという、32ビットの整数倍でアクセスに有利なデータサイズで固定長の符号化データを作成することが可能となる。従って、画像復号装置では、例えばユーザが指示した位置の画素ブロックのみを復号することも可能になる。
【0052】
[第2の実施形態]
上記第1の実施形態では、削除された識別データとして、1つの補間識別データを画像符号化装置及び復号装置が共通して用いる例を示した。第2の実施形態では補間識別データを予め設定された所定値に決めておくことで補間識別データの符号化を不要とし、その分だけ削減する識別データの個数を減らす例を示す。
【0053】
削除された識別データを補間識別データで補間する場合について考察する。印刷を目的とする画像を復号する場合、本来、ドットが存在しない位置にドットが現れることより、ドットが存在すべき位置にドットが現れない方が画像の品質に影響が少ないと考えられる。例えば、補間データを全て“0”(低輝度側の画素)としてしまうと、白地の部分にドットが生成されてしまい、問題となるが、補間データを全て“1” (高輝度側の画素)とした場合、ベタ部の濃度が若干下がるが、補間画素は分散されているため、ドットゲイン等により画質上は殆ど判別できない。かかる点を考慮すると、本実施形態では、輝度を例にしているので、補間識別データは輝度の高い画素(濃度の低い画素)、すなわち、補間識別データは“1”として扱えば良いことになる。
【0054】
また、2つの色データC0、C1は第1の実施形態と同じく、共に8ビットとする。従って、2つの色データC0、C1で、計8+8=16ビットが必要になる。符号化データの固定長を256ビットとするなら、256ビットの識別データ中の16ビットを削減すればよいことになる。それ故、本第2の実施形態では、図14にその例を示すように、削除対象位置(黒い部分)が16個存在する。
【0055】
本第2の実施形態の画像符号化装置の構成を図3に示す。同図と図1との違いは、補間識別データ生成部304には、識別データ生成部102からの識別データ、削除パターンメモリ108からの削除パターンデータが供給されない点、及び、補間識別データ生成部304からの補間識別データがパック部307に供給されない点である。また、補間識別データ304は、固定の補間識別データ“1”を識別データ置換部105に供給される点である。よって、以下では、この部分の処理のみを説明する。
【0056】
なお、本第2の実施形態の場合、識別データ削減部106の処理内容は第1の実施形態と同じであるが、削除パターンメモリ108に格納されている削除パターンで示される削除対象の識別データの個数が16個となるので、識別データ削減部106から出力される識別データの個数(ビット数)は240個(240ビット)となる。
【0057】
補間識別データ生成部304は、第1の実施形態の補間識別データ生成部104と異なり、常に“1”の補間識別データを出力しつづける。
【0058】
パック部307は、先ず、2色抽出部102から出力された色データC0、C1(8×2ビット)をその順番に保持し、それに後続して、識別データ削減部106からの240ビットの識別データを結合し、1画素ブロックの符号化データとして出力する。
【0059】
一方、画像復号装置は図4に示す構成となる。図4に示される構成は図2で示した第1の実施形態の構成と比較して、データ分離部401と識別データ補間部403との間で、補間識別データの信号線が無くなる点で異なる。また、データ分離部401の処理と識別データ補間部403の処理が異なる。よって、この2つの部分の処理のみを説明する。
【0060】
データ分離部401は、符号化画像データから、1ブロック分の固定長の符号化データ(実施形態では256ビット)を単位に入力し、その先頭の16ビットは8ビットで表わされる2つの色データC0、C1であるものとして、2色保持部202に出力する。また、データ分離部401は、17ビット目以降の240ビットのデータを識別データであるものとし、識別データ補間部403に出力する。
【0061】
識別データ補間部403は、削除パターンメモリ405(図14の削除パターンを記憶している)を参照し、着目画素位置が削除対象ではない場合には、データ分離部401から入力した識別データをそのままセレクタ204に出力する。一方、着目画素位置が削除対象であると判定した場合には、予め設定された識別データ“0”をセレクタ204に出力する。
【0062】
以上、説明したように本第2の実施形態によれば、補間識別データを予め決めておくことで、復号装置で復号する識別データの精度を上げることが可能になる。この結果、画像の再現性を更に高めることができる。
【0063】
[第3の実施形態]
第1および第2の実施形態では、符号化装置で削除対象位置の識別データを周辺の画素と置換することにより画像の輝度を変化させない二色化について説明した。これによって符号化前後で輝度の変化はない、もしくは小さくできる。しかし、今度は識別データの位置が移動することにより文字や線画等のエッジ部分の形状が変化してしまう可能性がある。そこで第3の実施形態では、符号化装置で置換処理を行った識別データを復号装置で元に戻すことで輝度と形状の両方を可能な限り保存する例を説明する。
【0064】
本第3の実施形態の画像符号化装置の構成を図16に示す。同図と図1との違いは、識別データ置換部1605の動作が識別データ置換部105の動作と異なる点のみであり、他の構成要素は全て第1の実施形態と同じである。よって、以下では第3の実施形態における識別データ置換部1605のみを説明する。
【0065】
識別データ置換部1605は、識別データ置換部105と同様に内部にバッファメモリを有し、削除パターンメモリ108に格納された削除パターンと、識別データ生成部103からの識別データ、及び、補間識別データ生成部104からの補間識別データを入力しバッファメモリに格納する、次に識別データに対して置換処理を行い、バッファメモリに格納された置換後の識別データを識別データ削減部106に出力する。以下に、識別データ置換部1605の具体的な処理例を説明する。
【0066】
図18は、補間識別データを“0”とした時の削除対象位置を中心とした3×3画素の識別データのパターンと置換処理後の識別データのパターンとのペアを示している。なお、図示の入力する3×3画素の識別データのパターン、置換処理後の識別データのパターン、及び、条件の一組を特定するため、図示ではパターン番号“P###(#は数字)”の形式で示している。
【0067】
また、置換処理を行うのは、削除対象位置(3×3画素の中心位置)の識別データが“1”なので、中心位置の識別データが“0”のパターンは、図18には示していない。すなわち、黒い画素は識別データ“1”、白い画素は識別データ“0”を表している。また、回転すると同じになるパターンや、反転すると同じになるパターンはひとつにまとめて記載している。ここで反転とは鏡像にすることを意味しており、識別データの“0”を“1”にするなどの意味ではないことに注意されたい。なお、補間識別データが“1”の場合は、黒い画素が識別データ“0”、白い画素が識別データ“1”を表すものとして読み替えれば良い。
【0068】
以下、各条件について説明する。図18中の削除対象位置と隣接する全ての識別データ“0”の画素について、条件番号の小さい順に条件に合致するかを調べていく。条件を満たす画素位置が一つであった場合は、その位置を置換画素位置と決定する。条件を満たす位置が複数残っていて、残った全ての位置が対照的な位置関係でありいずれを選んでも確率的に置換による効果に違いが無い場合は、候補位置の中からいずれを置換画素位置としても構わないものとする。条件を満たす位置が一つも無い場合は、次に条件番号の小さい条件を参照して決定する。
【0069】
・条件“1”=識別データ“0”を置換対象位置とする:
符号化による輝度の変化を防ぐことを目的とし、周囲の識別データ“0”を削除対象位置の識別データ“1”に置換するために設けた条件である。例えば図18のパターンP702のように識別データ“0”が1個しか存在しない時は、その識別データを置換することが一意に決まる。
【0070】
また、図18のパターンP606を考えると、入力した識別データのパターンの左上と右下の2つの識別データ“0”のいずれを“1”に置換しても確率的には画像に対する効果に違いは無い。このような場合、どちらを選んでも良い。従って、図18のパターンP606の場合の置換後のパターンでは、右下隅の位置の識別データを“1”にしているが、“1”にする位置は左上隅であっても問題ない。
【0071】
ただし、例外として図18のパターンP801のように識別データ“0”が0個の時は、識別データは変化しないものとする。
【0072】
・条件“2”=削除対象位置に対して上下左右方向のいずれかにする:
この条件“2”は、削除対象位置に対して斜め方向の識別データ“0”よりも上下左右方向の識別データ“0”を優先して“1”へ置換するために設けた条件である。例えば図18のパターンP506を考えると、識別データ“0”は3つ存在するが、条件“2”により着目画素の左隣の画素の識別データを“1”に置換することが一意に決まる。
【0073】
また、図18のパターンP403を考えると、識別データ“0”は4つ存在するが、条件“2”により上か左に絞られる。なお、図18のパターンP403には、置換対象が削除対象位置の上を選択する様子を示したが、左であっても良い。
【0074】
・条件“3”=置換した結果、識別データ“1”が3個以上連続しない:
この条件は置換により、もともと画像に存在しなかった連続性を置換によって新たに生成される事を防ぐために設けた条件である。例えば図18のパターンP409を考えると、条件“2”により、削除対象位置の上、下の2つに絞られるが、条件“3”により、削除対象位置の上の識別データ“0”を“1”へ置換することが一意に決まる。
【0075】
また、図18のパターンP309を考えると、識別データ“0”は5つ存在する。条件“2”により、削除対象の上か下、右の2つに絞られる。そして、条件“3”により、上か下の位置が決定する。図18のパターンP309の場合には、置換対象位置が着目画素の下である例を示したが、上であっても問題ない。
【0076】
・条件“4”=削除対象位置を挟んだ反対側に“1”が存在する位置である:
この条件は入力画像にもともと存在している2連続となっている識別データの連続性を維持するために設けた条件である。例えば図18のパターンP404で示される入力パターンを考えると、右から中央へかけて識別データ“1”が2連続を構成している。この場合、削除対象位置の左の識別データ“0”を置換すると、削除対象位置を挟んだ対面の位置に“1”が存在する。従って、削除対象位置の左側はこの条件を満足する。また、右下隅が“1”であるので、削除対象位置の左上の画素位置もこの条件に一致する。しかしそれ以外は条件“4”を満たさない。また、削除対象位置の左側、左上側は、条件“3”も満たす。そして、削除対象位置の左上側は、条件“2”を満たさない。よって、削除対象位置の左側の位置の識別データ“0”を“1”に置換することが一意に決まる。
【0077】
また、例えば図18のパターンP504を考えると、削除対象位置の右側、左側、下側は条件“1”と条件“2”を満たすが、条件“3”を満たす位置は一つも存在しない。この場合は、次に条件番号の小さい条件“4”を参照する。削除対象位置の下側は条件“4”を満たし、削除対象位置の右側と左側は条件“4”を満たさない。よって、削除対象位置の下側の位置の識別データ“0”を“1”に置換することが一意に決まる。
【0078】
・条件“5”=識別データ“0”の3連続の構成を妨げない位置である:
この条件は入力画像にもともと存在している3連続となっている識別データ“0”の連続性を維持するために設けた条件である。例えば図18のパターンP301を考えると、左列に識別データ“0”の3連続が構成されている。条件“2”乃至条件“4”を満たしている位置として左と上があるが、条件“5”を満たせるのは上のみである。従ってこの場合、上の識別データ“0”を“1”へ置換することが一意に決まる。
【0079】
また、図18のパターンP102を考えると、条件“2”乃至条件“4”を満たす識別データは上下左右の4つ存在するが、条件“5”を満たすものは上と右のみである。この2つは同等性があるため条件1によってどちらを選んでも良いこととなる。従って、図18のパターンP102の場合には、削除位置の上を選択する様子を示したが、右であっても問題ない。
【0080】
以上、図18に示した置換パターンデータによる置換方法を説明した。具体的には、本第3の実施形態の識別データ置換部1605は、図18に示すような置換パターンデータテーブルを記憶した置換パターン記憶部を有し、これを参照して、置換処理を行なうことになる。
【0081】
以上の説明からもわかるように、補間識別データが“0”のとき、着目画素の位置が削除位置にあり、且つ着目画素の識別データが“1”(非補間識別データ)である場合、着目識別データの隣接する8画素の識別データのうち値が“0”の識別データの中で最も影響の少ない1つの識別データが“1”に置換される。少なくとも、置換される識別データの位置が、着目画素の隣接する位置であるので、画質に与える影響は少ないと言える。更に、実施形態によれば、隣接する画素のうち、上記の条件に従って、最も影響の少ない位置の識別データと置換するので、更に影響は小さなものすることができる。
【0082】
なお、上記は補間識別データが“0”の場合であったが、“1”の場合には上記の“0”と“1”を読み替えたものとなる点に注意されたい。
【0083】
更に、本第3の実施形態では、画像復号装置側でも、更に画質を改善することを可能にするものである。図17は、本第3の実施形態の画像復号装置のブロック構成図である。
【0084】
同図と図2との違いは、識別データ補間部1703が、識別データ補間部203よりも新たな処理が加わった点である。従って、識別データ補間部1703は、基本的に、削除された識別データを、補間識別データと見なして出力するのは、第1の実施形態の識別データ補間部203と同じである。
【0085】
識別データ補間部1703は、内部にバッファメモリを有する。識別データと補間識別データを入力としてそれらを内部のバッファメモリに格納し、削除パターンメモリ205に格納された削除パターンを参照して補間処理を行い、補間後の識別データを出力する。但し、本第3の実施形態では、例外処理を設けた。以下、この例外処理を説明する。
【0086】
説明を簡単なものとするため、ここでも入力された補間識別データを“0”とする。図19は、例外処理における入力識別データと出力識別データのペア関係を示している。図19において左列は入力した3×3画素の識別データのパターンを示し、右列は補間後の識別データのパターンを示している。白い画素は識別データ“0”を、黒い画素は識別データ“1”を表す。また、斜線部分は削除されていることを示している。例外処理は、着目画素位置が削除された場合のものであるので、斜線部分も3×3画素の識別データの中心に位置することになる。
【0087】
なお、回転や反転をすると図19に記載した識別データと同じになるパターンはひとつにまとめて記載している。また、入力された補間識別データが“1”の場合は、白い画素を識別データ“1”へ、黒い画素を識別データ“0”へ読み替える。
【0088】
第1の実施形態に従えば、図示の削除位置の識別データは、補間識別データ“0”として出力される。本第3の実施形態では、着目画素位置が削除されており、補間識別データ“0”となった場合、隣接する画素位置において、補間識別データとはその極性が異なる“1”の値の識別データと置換する。
【0089】
本第3の実施形態の識別データ補間部1703は、次に示す4つの条件を全て満たす識別データ“1”を、補間識別データ(実施形態では“0”)と交換する。
条件1:着目画素位置の“1”の識別データは、削除位置の上下左右のいずれかに位置する。
条件2:着目画素位置の“1”の識別データは、水平、垂直方向に“1”が3連続しているメンバーではない。
条件3:着目画素位置の“1”の識別データを“0”にし、3×3画素の中央位置を補間識別データ“1”で補間した結果、中央位置の識別データが上下左右斜めのいずれかの方向に、“1”が3連続するメンバーとなる。
条件4:着目画素位置の“1”の識別データ以外に、条件1乃至条件3を満たす他の識別データは存在しない。
【0090】
条件1は符号化装置での置換の対象として上下左右の位置を優先させたために設けた条件である。条件2は符号化装置では3連続となるような置換の優先度は低く、画像がもともと持っている連続性である可能性もあり、その連続性を崩さないために設けた条件である。条件3は連続性のある画像のみを復元させることを目的としているために設けた条件である。条件4は候補が複数存在することによる復元の誤りを防ぐために設けた条件である。
【0091】
例えば図19のパターンP901を考えると、識別データ“1”は削除位置の左上と上と右下の3つである。このうち、条件1を満たすのは上だけである。上の位置の識別データ“1”は上列で3連続を構成していないので、条件2を満たす。上の位置の識別データを削除対象位置へ置換すると斜め方向の3連続を構成するので、条件3を満たす。上の位置の識別データ以外に条件1乃至条件3を満たす識別データ“1”は存在しないので、条件4を満たす。つまり、条件1乃至条件4を全て満たすので、上の位置の識別データは削除対象位置と置換されることとなり、図19のパターンP901の右側に示される3×3画素の識別データが得られる。図19の残りのパターンP902乃至910も同様に得たものである。
【0092】
以上、本第3の実施形態における復号装置側の補間方法を説明した。
【0093】
上記第3の実施形態における画像符号化装置と復号装置を使用することによる効果の一例を以下に記す。例えば、図18のパターンP406の左列の識別データが入力されたとすると、符号化装置により識別データは図18のパターンP406の右列の識別データになって出力される。この識別データを復号化装置が受け取ると、図19のパターンP909の左列を上下反転したものに該当するので、復号化装置は図19のパターンP909の右列を上下反転した識別データを出力する。このように一連の符号化処理によっても識別データの形状は符号化前と符号化後で変化していない。
【0094】
以上が本第3の実施形態における画像符号化装置及び復号装置の処理内容である。本第3の実施形態の符号化装置と復号化装置によれば、第1及び第2の実施形態において説明した輝度を変化させない効果に加え、連続性の高い画像に対して画像の形状も保存することが可能となる。従って、より高画質な画像符号化が可能となる。
【0095】
[第4の実施形態]
先に説明した第1,第2、第3の実施形態で示した画像ブロックから2つの代表色を抽出し、その画素ブロック内の各画素がいずれの代表色と近似するかを示す識別データを削減し、固定長の符号化データを生成する例を説明した。これらの符号化対象は、符号化対象の画像に含まれる色の数が少ない場合、典型的には、文字列(線画を含む)のみで構成される文章画像を符号化する場合に都合が良いものである。しかし、符号化対象のオリジナル画像が、自然画等、グラディエーションのある背景(階調画像)と文字が混在する画像の場合には、復号して得られた画像はオリジナル画像と大きく異なることになる。
【0096】
そこで、本第4の実施形態では、かかる点を改善する例を説明する。なお、以下に説明する第4の実施形態でも、符号化対象の画像データはモノクロ多値画像データとし、1画素ブロックは16×16画素のサイズであるものとして説明する。
【0097】
図15は本第4の実施形態における画像符号化装置のブロック構成図である。本装置は、ブロック化部1301、2色符号化部1302、抽出部1303、第1の符号化部1304、符号量検出部1305、置換部1306、第2の符号化部1307、符号量制御部1308、パック部1309、セレクタ1310を有する。以下、各処理部の詳細な説明を行う。
【0098】
ブロック化部1301は図1のブロック化部101と同じで、入力された画像から16×16画素の画素ブロックを抽出し、出力する。
【0099】
2色符号化部1302は第1の実施形態、第2の実施形態、或いは第3の実施形態で説明した符号化装置である。但し、ブロック化部1301が、図15で示されているので、2色符号化部1302には、ブロック化部101を設ける必要はない。また、第1,第2の実施形態では、1画素ブロック当たり256ビットの固定長の符号化データを生成するものとしているが、本実施形態における2色符号化部1302は1画素ブロック当たり1ビット少ない255ビットの符号化データを生成するものとする。これは、第1,第2、第3の実施形態における削除パターン内の削除対象位置の個数を、1個増やせば良いので説明するまでもないであろう。
【0100】
抽出部1303は、ブロック化部1301から入力した画素ブロックの画像データから、高周波成分となる画素があるか否かを判定し、その判定結果と高周波成分の画素の色(抽出色)をパック部1309に出力する。また、抽出部1303は、着目画素ブロックの各画素毎に、高周波成分となる画素であるか否か、すなわち、抽出色/非抽出色を示す識別データを第1の符号化部1304、置換部1306に出力する。なお、先に説明した第1、第2、第3の実施形態における識別データと区別するため、本第4の実施形態における抽出部1303が生成する識別データを、以降、第2の識別データと表現することとする。この第2の識別データは、画素ブロック内の各画素が、高周波成分の画素であるか否かを識別できれば良いので、1画素について1ビットで良い。すなわち、1画素ブロックには、16×16画素が存在するので、1画素ブロックの第2の識別データは計256ビットとなる。
【0101】
この抽出部1302における高周波成分の画素があるか否かの求めるアルゴリズムは、第1の実施形態の2色抽出部102と同じでも良い。すなわち、着目画素ブロックの各画素の値の平均値を求め、着目画素ブロック内の画素を、その平均値以下の画素群(グループA)と、平均値よりも大きな値を持つ画素群(グループB)の2つのグループに分類する。そして、グループA,Bの平均値を更に算出し、グループBの平均値からグループAの平均値を減算した値が、予め設定された閾値よりも大きい場合、グループBに属する画素は高周波成分を持つ画素と判定する(逆でも構わない)。本第4の実施形態では、高周波成分の画素の場合には“1”、非高周波成分の画素の場合には“0”の第2の識別データを生成するものとする。
【0102】
従って、この抽出部1302は、画素ブロックの画像データに、高周波成分となる画素があるか否かを判定し、高周波成分の画素の色を抽出色として抽出する第2の抽出部として機能すると共に、画素ブロックの各画素が、前記抽出色の画素であるか、非抽出色の画素であるかを識別するための第2の識別データを生成する第2の生成部として機能することになる。
【0103】
第1の符号化部1304は入力される256ビットの第2の識別データを圧縮し、符号化データを出力する。ここでの符号化方式は、公知のランレングス符号化など、2値データの圧縮に用いられるアルゴリズムで圧縮する。
【0104】
符号量検出部1305は上記第1の符号化部1304から出力された符号量を検出し、その検出結果を符号量制御部1308、及び、セレクタ1310へ出力する。
【0105】
置換部1306は、着目画素ブロックの画像データを、上記第2の識別データを参照して、後段の第2の符号化部1307による符号化が効果的に行えるように、変換する。この置換部1306の変換処理は次の通りである。
【0106】
ここで、ブロック化部1301から出力される画素値をP(x,y)(x,y=0,1,…15)とし、抽出部1303から出力される第2の識別データをB(x,y)とする。
【0107】
先ず、置換部1306は、非高周波成分の画素値の平均値Paveを算出する。
Pave=ΣP(x,y)×(1−B(x,y))/N
ここで、Nは、第2の識別データが“0”の個数を示している。
【0108】
次いで、置換部1306は、非高周波成分と判定された画素値はそのまま、高周波成分の画素値を平均値Paveで置換して、第2の符号化部1307に出力する。つまり、平均値Paveは置換色データとして用いる。具体的には、次の通りである。
・B(x,y)=0の場合、P(x,y)を出力する。
・B(x,y)=1の場合、PaveをP(x,y)として出力する。
【0109】
上記の結果、着目画素ブロックの画像データは高周波成分が存在しない、もしくは高周波成分の画素が少ない状態に変換されることになる。
【0110】
第2の符号化部1307は上記置換された着目画素ブロックの画像データを符号化する。この符号化にはJPEGのような公知の多値画像の圧縮に有利な方法を利用する。実施形態では、1画素ブロックが16×16画素としているので、この画素ブロックをJPEGにおけるマクロブロックとして符号化すればよい。すなわち、JPEGでは、一般に、8×8画素を単位にDCT、量子化、エントロピー符号化を行なうものであるので、この処理を4回行なう。但し、この第2の符号化部1307は、直流成分、交流成分の順に符号化データを出力するものとする。また、第2の符号化部1307が符号化する画素ブロックには、上記の通り、高周波成分が無い、もしくは少ない。従って、第2の符号化部1307は、十分に高い圧縮率で符号化データを生成することが可能になる。
【0111】
符号量制御部1308は第2の符号化部1307から出力された符号化データのデータ量を抑制するデータ量抑制部として機能する。制限する値は、目標符号量(実施形態では255ビット)から、抽出色(高周波成分を有すると判定された画素データの値)と第1の符号化部1304から出力された符号化データの符号量の2つを減算した値である。
【0112】
この結果、第2の符号化部1307からは、いくつかの符号化データが削除されることになる可能性があるが、直流成分の符号化データは符号化データの先頭に位置するので削除されることはない。
【0113】
パック部1309は抽出色と第2の識別データの符号化データ、及び、第2の符号化部1307で生成された多値画像の符号化データを、この順番にパックし、255ビットの符号化データを生成し、セレクタ1310に出力する。
【0114】
ここで2色符号化部1302から出力された符号化データを第1の出力データ、パック部1309から出力された符号化データを第2の出力データとする。
【0115】
セレクタ1310は、符号量検出部1305からの第2の識別データの符号化データ量に基づき、第1の出力データ、第2の出力データのいずれか一方を選択出力する。具体的には、符号量検出部1305からの第2の識別データの符号量が、予め設定された閾値以上の場合には第1の出力データを選択出力し、第2の識別データの符号量がその閾値未満の場合には第2の出力データを選択出力する。このとき、符号化データが、2色符号化部1302、パック部1309のいずれからのものであるかを判定できるようにするため、セレクタ1301は、符号化データの先頭に1ビットの判別ビットを付加する。この結果、1画素ブロック当たり256ビットの符号化データを生成することになる。
【0116】
以上、説明した第4の実施形態によれば、第1,第2、第3の実施形態に対して、削除パターンによる削除する識別データの個数が1つ増えるものの、自然画等のグラディエーション画像に対しても十分な画質を維持して、固定長の符号化データを生成することが可能になる。
【0117】
なお、上記実施形態では、符号化対象画像が1色成分のみのモノクロ画像を例にして説明したが、RGBやYMC、Lab等、1画素が複数色成分で表わされる画像の場合には、各成分につき固定長の符号化データを生成すればよい。
【0118】
以上本発明に係る実施形態を説明したが、各実施形態で説明した処理を、パーソナルコンピュータ等の情報処理装置が実行するコンピュータプログラムでもって機能させても構わない。この場合、各実施形態で示した処理部に相当する部分は、サブルーチンもしくは関数で機能させ、全体をメインルーチンとして機能させればよい。また、通常、コンピュータプログラムは、CD−ROM等のコンピュータ読取り可能な可読記憶媒体に格納されており、それをコンピュータが有する読取り装置(CD−ROMドライブ等)にセットし、システムにコピーもしくはインストールすることで実行可能になる。それ故、かかるコンピュータ可読記憶媒体も本発明の範疇にあるのは明らかである。
【図面の簡単な説明】
【0119】
【図1】第1の実施形態における画像符号化装置のブロック構成図である。
【図2】第1の実施形態における画像復号装置のブロック構成図である。
【図3】第2の実施形態における画像符号化装置のブロック構成図である。
【図4】第2の実施形態における画像復号装置のブロック構成図である。
【図5】第1の実施形態における削除パターンの一例を示す図である。
【図6】着目画素の周辺参照画素のパターンを示す図である。
【図7】着目画素の周辺参照画素のパターンを示す図である。
【図8】着目画素の周辺参照画素のパターンを示す図である。
【図9】着目画素の周辺参照画素のパターンを示す図である。
【図10】着目画素の周辺参照画素のパターンを示す図である。
【図11】着目画素の周辺参照画素のパターンを示す図である。
【図12】着目画素の周辺参照画素のパターンを示す図である。
【図13】置換する順序を示す図である。
【図14】第2の実施形態における削除パターンの一例を示す図である。
【図15】第4の実施形態における画像符号化装置のブロック構成図である。
【図16】第3の実施形態における画像符号化装置のブロック構成図である。
【図17】第3の実施形態における画像復号装置のブロック構成図である。
【図18】第3の実施形態における画像符号化装置が利用する置換パターンの例を示す図である。
【図19】第3の実施形態における画像復号装置が利用する置換パターンの例を示す図である。
【特許請求の範囲】
【請求項1】
1画素が複数ビットで表わされる画像データを、m×n画素のブロック単位に符号化し、1ブロックにつき、m×nビット以下であって、固定長Lビットの符号化データを生成する画像符号化装置であって、
画像データを前記ブロック単位に入力する入力手段と、
入力した着目ブロックの画像データから代表色C0、C1を抽出する抽出手段と、
前記着目ブロック中の各画素に、当該各画素が前記代表色C0、C1のいずれに近似しているかを示す1ビットの識別データを生成する生成手段と、
前記代表色C0、C1を特定するために必要なビット数をNと定義したとき、前記生成手段で生成された1ブロック分の識別データから、{N+1}個の識別データを削除するための、及び、少なくとも互いに1画素以上の距離を隔てた削除対象の画素位置を特定するためのパターンデータを記憶する記憶手段と、
前記記憶手段に記憶されたパターンデータに従い、前記代表色C0、C1のいずれに近似する識別データが多く削除されるかを判定し、当該判定結果を示す1ビットの判定データを生成する判定手段と、
該判定手段の判定結果に従い、削除位置の近傍に位置し、非削除対象の識別データを補正する補正手段と、
前記記憶手段に記憶されたパターンデータを参照して、前記補正手段で補正した後のm×n個の識別データから、{N+1}個の識別データを削除する削減手段と、
前記抽出手段で抽出した代表色C0、C1を示すデータ、前記判定手段で生成された前記判定データ、及び、前記削減手段による削除して残った識別データとを結合し、着目ブロックの符号化データとして出力する出力手段と
を備えることを特徴とする画像符号化装置。
【請求項2】
前記固定長Lは、32の整数倍であることを特徴とする請求項1に記載の画像符号化装置。
【請求項3】
前記抽出手段は、
前記着目ブロックの画素値の平均値AVEを算出し、
前記着目ブロック中の画素を、前記平均値AVE以下の画素値を持つ画素群で構成される第1のグループと、前記平均値AVEを超える画素値を持つ画素群で構成され第2のグループに分類し、
前記第1のグループに属する画素値の平均値、前記第2のグループに属する画素値の平均値を前記代表色C0、C1として抽出する
ことを特徴とする請求項1又は2に記載の画像符号化装置。
【請求項4】
前記補正手段は、
前記代表色C0、C1のうち、前記判定手段が判定した、削除される個数の多い識別データが示す色をCa、削除される個数の少ない識別データが示す色をCbとしたとき、
削除対象位置の着目画素位置の識別データが前記色Cbを示す場合のみ、当該着目画素位置の近傍に位置し非削除対象の前記色Caを示す1つの識別データを、前記色Cbを示す識別データに置換することを特徴とする請求項1乃至3のいずれか1項に記載の画像符号化装置。
【請求項5】
前記補正手段は、
前記削除位置に隣接している8画素中の1画素と、該1画素と接している連続した2画素を組み合わせた各領域内で前記色Cbを示す識別データをカウントし、カウント数の最も少ない領域内の隣接画素の識別データを、前記色Cbを示す識別データに置換することを特徴とする請求項4に記載の画像符号化装置。
【請求項6】
前記補正手段は、
前記削除位置の近傍に位置する識別データを予め定められた識別データへ変換するための置換パターンデータを記憶する置換パターン記憶手段を有し、
記憶された前記置換パターンデータを参照して、前記削除位置の近傍の識別データに変換処理を行うことを特徴とする請求項4に記載の画像符号化装置。
【請求項7】
前記置換パターンデータは、
前記削除位置の近傍に位置する画素のうち置換する識別データの位置として、
(1)前記色Caを示す識別データである位置、
(2)削除位置の上下左右の位置、
(3)置換によって上下、左右の方向に前記色Cbを示す識別データが3つ連続しない位置、
(4)削除位置を挟んだ反対側に前記色Cbが存在する位置、
(5)置換によって前記色Caを示す識別データが3つ連続していることを妨げない位置、
を優先して生成されることを特徴とする請求項6に記載の画像符号化装置。
【請求項8】
m×n画素で構成されるブロックが固定長Lビットとして符号化された符号化データを復号する画像復号装置であって、
前記固定長の符号化データを入力する入力手段と、
入力した符号化データから、着目ブロックの代表色C0、C1を特定するためのNビットのデータ、前記代表色C0、C1のうち削除された代表色の多い方を示す1ビットの判定データ、及び、1画素につき1ビットで示されるL−N−1個の識別データを分離する分離手段と、
少なくとも互いに1画素以上の距離を隔て、{N+1}個の削除対象の識別データの画素位置を特定するためのパターンデータを記憶する記憶手段と、
該記憶手段に記憶されたパターンデータに従い、前記分離手段で分離して得られた識別データ中の削除位置に、前記判定データで示される識別データを補間することで、m×n個の識別データを生成する補間手段と、
該補間手段で補間された後の識別データのそれぞれに基づき、前記分離手段で得られた代表色C0、C1のいずれか一方を復号後の画素データとして選択出力する復号手段と
を備えることを特徴とする画像復号装置。
【請求項9】
1画素が複数ビットで表わされる画像データを、m×n画素のブロック単位に符号化し、1ブロックにつき、m×nビット以下であって、固定長Lビットの符号化データを生成する画像符号化装置であって、
画像データを前記ブロック単位に入力する入力手段と、
入力した着目ブロックの画像データから代表色C0、C1を抽出する抽出手段と、
前記着目ブロック中の各画素に、当該各画素が前記代表色C0、C1のいずれに近似しているかを示す1ビットの識別データを生成する生成手段と、
前記代表色C0、C1を特定するために必要なビット数をNと定義したとき、前記生成手段で生成された1ブロック分の識別データから、N個の識別データを削除するための、及び、少なくとも互いに1画素以上の距離を隔てた削除対象の画素位置を特定するためのパターンデータを記憶する記憶手段と、
削除対象の着目画素位置の識別データが所定値である場合、削除位置の近傍に位置し、非削除対象の識別データを補正する補正手段と、
前記記憶手段に記憶されたパターンデータを参照して、前記補正手段による補正後のm×n個の識別データから、N個の識別データを削除する削減手段と、
前記抽出手段で抽出した代表色C0、C1を示すデータ、及び、前記削減手段による削除して残った識別データとを結合し、前記着目ブロックの符号化データとして出力する出力手段と
を備えることを特徴とする画像符号化装置。
【請求項10】
前記固定長Lは、32の整数倍であることを特徴とする請求項9に記載の画像符号化装置。
【請求項11】
前記抽出手段は、
前記着目ブロックの画素値の平均値AVEを算出し、
前記着目ブロック中の画素を、前記平均値AVE以下の画素値を持つ画素群で構成される第1のグループと、前記平均値AVEを超える画素値を持つ画素群で構成され第2のグループに分類し、
前記第1のグループに属する画素値の平均値、前記第2のグループに属する画素値の平均値を前記代表色C0、C1として抽出する
ことを特徴とする請求項9又は10に記載の画像符号化装置。
【請求項12】
m×n画素で構成されるブロックが固定長Lビットとして符号化された符号化データを復号する画像復号装置であって、
前記固定長の符号化データを入力する入力手段と、
入力した符号化データから、着目ブロックの代表色C0、C1を特定するためのNビットのデータ、及び、1画素につき1ビットで示されるL−N個の識別データを分離する分離手段と、
少なくとも互いに1画素以上の距離を隔て、N個の削除対象の識別データの画素位置を特定するためのパターンデータを記憶する記憶手段と、
該記憶手段に記憶されたパターンデータに従い、前記分離手段で分離して得られた識別データ中の削除位置に、予め設定された値を持つ識別データを補間することで、m×n個の識別データを生成する補間手段と、
該補間手段で補間された後の識別データのそれぞれに基づき、前記分離手段で得られた代表色C0、C1のいずれか一方を復号後の画素データとして選択出力する復号手段と
を備えることを特徴とする画像復号装置。
【請求項13】
前記補間手段は、
前記削除位置の近傍に位置する識別データを予め定められた識別データへ変換するための置換パターンデータを記憶する置換パターン記憶手段を有し、
前記記憶された置換パターンデータを参照して、前記削除位置と削除位置の近傍の識別データに補間処理を行うことを特徴とする請求項12に記載の画像復号装置。
【請求項14】
前記補間手段は、
前記置換パターンデータに従って、前記削除位置の近傍に位置する識別データの1つを着目した時、
(1)当該着目画素位置が、削除対象位置の上下左右のいずれかである;
(2)当該着目画素位置を含む上下、左右の方向に並ぶ3画素の識別データが同じ値ではない、
(3)削除位置を前記判定データで示される極性と逆の識別データで補間した場合に、補間後の削除位置の識別データを含む上下、左右、斜め方向のいずれかの方向の3画素の識別データが、同じ値になる;
(4)上記条件(1)乃至(3)を満たす位置が、削除位置に隣接する8画素のうち一つだけ存在する;
の条件(1)乃至(4)の全てを満たすとき、前記着目画素位置の識別データを、前記削除位置に補間した識別データと置換することを特徴とする請求項13に記載の画像復号装置。
【請求項15】
更に、
前記入力手段で入力したブロックの画像データに、高周波成分となる画素があるか否かを判定し、高周波成分の画素の色を抽出色として抽出する第2の抽出手段と、
前記ブロックの各画素が、前記抽出色の画素であるか、非抽出色の画素であるかを識別するための第2の識別データを生成する第2の生成手段と、
該第2の生成手段で生成された前記第2の識別データを符号化する第1の符号化手段と、
前記ブロック内の前記非抽出色の画素データに基づき、前記抽出色を持つ画素データを置換するための置換色データを算出する算出手段と、
前記算出手段で算出した置換色データで、前記抽出色を持つデータを置換する置換手段と、
前記置換手段で置換して得られたブロックの画像データを符号化する第2の符号化手段と、
前記第1の符号化手段で生成された符号化データのデータ量を検出する検出手段と、
該検出手段で検出したデータ量に基づき、前記第2の符号化手段で生成される符号化データのデータ量を抑制する抑制手段と、
前記抽出色の情報、前記第1の符号化手段で生成された符号化データ、及び、前記データ量抑制手段で得られた符号化データとを結合し、Lビットの符号化データを出力する第2の出力手段と、
前記検出手段の検出結果に基づき、前記出力手段、前記第2の出力手段のいずれか一方からの符号化データを選択すると共に、選択した符号化データの先頭にいずれの符号化データであるかを示す1ビットの判別ビットを付加した、L+1ビットの符号化データとして出力する選択手段と
を備えることを特徴とする請求項1又は9に記載の画像符号化装置。
【請求項16】
前記L+1は、32の整数倍であることを特徴とする請求項15に記載の画像符号化装置。
【請求項17】
m×nのサイズのブロック中の、互いに1画素以上の距離を隔て、N+1個の位置を特定するパターンデータを記憶する記憶手段を有し、1画素が複数ビットで表わされる画像データを、前記m×nのサイズのブロックを単位に符号化し、1ブロックにつき、m×nビット以下であって、固定長Lビットの符号化データを生成する画像符号化装置の制御方法であって、
画像データを前記ブロック単位に入力する入力工程と、
入力した着目ブロックの画像データから代表色C0、C1を抽出する抽出工程と、
前記着目ブロック中の各画素に、当該各画素が前記代表色C0、C1のいずれに近似しているかを示す1ビットの識別データを生成する生成工程と、
前記記憶手段に記憶されたパターンデータに従い、前記代表色C0、C1のいずれに近似する識別データが多く削除されるかを判定し、当該判定結果を示す1ビットの判定データを生成する判定工程と、
該判定工程の判定結果に従い、削除位置の近傍に位置し、非削除対象の識別データを補正する補正工程と、
前記記憶手段に記憶されたパターンデータを参照して、前記補正工程で補正した後のm×n個の識別データから、{N+1}個の識別データを削除する削減工程と、
前記抽出工程で抽出した代表色C0、C1を示すデータ、前記判定工程で生成された前記判定データ、及び、前記削減工程による削除して残った識別データとを結合し、着目ブロックの符号化データとして出力する出力工程と
を備えることを特徴とする画像符号化装置の制御方法。
【請求項18】
前記補正工程は、
前記削除位置の近傍に位置する識別データを予め定められた識別データへ変換するための置換パターンデータを記憶する置換パターン記憶手段を有し、
前記記憶された置換パターンデータを参照して、前記削除位置の近傍の識別データに変換処理を行うことを特徴とする請求項17に記載の画像符号化装置の制御方法。
【請求項19】
m×nのサイズのブロック中の、互いに1画素以上の距離を隔て、N+1個の位置を特定するパターンデータを記憶する記憶手段を有し、前記m×n個の画素で構成されるブロックが固定長Lビットとして符号化された符号化データを復号する画像復号装置の制御方法であって、
前記固定長の符号化データを入力する入力工程と、
入力した符号化データから、着目ブロックの代表色C0、C1を特定するためのNビットのデータ、前記代表色C0、C1のうち削除された代表色の多い方を示す1ビットの判定データ、及び、1画素につき1ビットで示されるL−N−1個の識別データを分離する分離工程と、
該記憶手段に記憶されたパターンデータに従い、前記分離工程で分離して得られた識別データ中の削除位置に、前記判定データで示される識別データを補間することで、m×n個の識別データを生成する補間工程と、
該補間工程で補間された後の識別データのそれぞれに基づき、前記分離工程で得られた代表色C0、C1のいずれか一方を復号後の画素データとして選択出力する復号工程と
を備えることを特徴とする画像復号装置の制御方法。
【請求項20】
前記補間工程は、
前記削除位置の近傍に位置する識別データを予め定められた識別データへ変換するための置換パターンデータを記憶する置換パターン記憶手段を有し、
前記記憶された置換パターンデータを参照して、削除位置への補間処理を行なうと共に削除位置の近傍の識別データを変換することを特徴とする請求項19に記載の画像復号装置の制御方法。
【請求項21】
m×nのサイズのブロック中の、互いに1画素以上の距離を隔て、N個の位置を特定するパターンデータを記憶する記憶手段を有し、1画素が複数ビットで表わされる画像データを、前記m×nのサイズのブロックを単位に符号化し、1ブロックにつき、m×nビット以下であって、固定長Lビットの符号化データを生成する画像符号化装置の制御方法であって、
画像データを前記ブロック単位に入力する入力工程と、
入力した着目ブロックの画像データから代表色C0、C1を抽出する抽出工程と、
前記着目ブロック中の各画素に、当該各画素が前記代表色C0、C1のいずれに近似しているかを示す1ビットの識別データを生成する生成工程と、
削除対象の着目画素位置の識別データが所定値である場合、削除位置の近傍に位置し、非削除対象の識別データを補正する補正工程と、
前記記憶手段に記憶されたパターンデータを参照して、前記補正工程による補正後のm×n個の識別データから、N個の識別データを削除する削減工程と、
前記抽出工程で抽出した代表色C0、C1を示すデータ、及び、前記削減工程による削除して残った識別データとを結合し、前記着目ブロックの符号化データとして出力する出力工程と
を備えることを特徴とする画像符号化装置の制御方法。
【請求項22】
m×nのサイズのブロック中の、互いに1画素以上の距離を隔て、N個の位置を特定するパターンデータを記憶する記憶手段を有し、前記m×n個の画素で構成されるブロックが固定長Lビットとして符号化された符号化データを復号する画像復号装置の制御方法であって、
前記固定長の符号化データを入力する入力工程と、
入力した符号化データから、着目ブロックの代表色C0、C1を特定するためのNビットのデータ、前記代表色C0、C1のうち削除された代表色の多い方を示す1ビットの判定データ、及び、1画素につき1ビットで示されるL−N−1個の識別データを分離する分離工程と、
該記憶手段に記憶されたパターンデータに従い、前記分離工程で分離して得られた識別データ中の削除位置に、予め設定あれた所定の1ビットのデータを補間することで、m×n個の識別データを生成する補間工程と、
該補間工程で補間された後の識別データのそれぞれに基づき、前記分離工程で得られた代表色C0、C1のいずれか一方を復号後の画素データとして選択出力する復号工程と
を備えることを特徴とする画像復号装置の制御方法。
【請求項23】
更に、
前記入力工程で入力したブロックの画像データに、高周波成分となる画素があるか否かを判定し、高周波成分の画素の色を抽出色として抽出する第2の抽出工程と、
前記ブロックの各画素が、前記抽出色の画素であるか、非抽出色の画素であるかを識別するための第2の識別データを生成する第2の生成工程と、
該第2の生成工程で生成された前記第2の識別データを符号化する第1の符号化工程と、
前記ブロック内の前記非抽出色の画素データに基づき、前記抽出色を持つ画素データを置換するための置換色データを算出する算出工程と、
前記算出工程で算出した置換色データで、前記抽出色を持つデータを置換する置換工程と、
前記置換工程で置換して得られたブロックの画像データを符号化する第2の符号化工程と、
前記第1の符号化工程で生成された符号化データのデータ量を検出する検出工程と、
該検出工程で検出したデータ量に基づき、前記第2の符号化工程で生成される符号化データのデータ量を抑制する抑制工程と、
前記抽出色の情報、前記第1の符号化工程で生成された符号化データ、及び、前記データ量抑制工程で得られた符号化データとを結合し、Lビットの符号化データを出力する第2の出力工程と、
前記検出工程の検出結果に基づき、前記出力工程、前記第2の出力工程のいずれか一方からの符号化データを選択すると共に、選択した符号化データの先頭にいずれの符号化データであるかを示す1ビットの判別ビットを付加した、L+1ビットの符号化データとして出力する選択工程と
を備えることを特徴とする請求項17又は21に記載の画像符号化装置の制御方法。
【請求項24】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項1乃至7、9乃至11、15、16のいずれか1項に記載の画像符号化装置として機能させることを特徴とするコンピュータプログラム。
【請求項25】
請求項24に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項26】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項8、12乃至14のいずれか1項に記載の画像復号装置として機能させることを特徴とするコンピュータプログラム。
【請求項27】
請求項26に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項1】
1画素が複数ビットで表わされる画像データを、m×n画素のブロック単位に符号化し、1ブロックにつき、m×nビット以下であって、固定長Lビットの符号化データを生成する画像符号化装置であって、
画像データを前記ブロック単位に入力する入力手段と、
入力した着目ブロックの画像データから代表色C0、C1を抽出する抽出手段と、
前記着目ブロック中の各画素に、当該各画素が前記代表色C0、C1のいずれに近似しているかを示す1ビットの識別データを生成する生成手段と、
前記代表色C0、C1を特定するために必要なビット数をNと定義したとき、前記生成手段で生成された1ブロック分の識別データから、{N+1}個の識別データを削除するための、及び、少なくとも互いに1画素以上の距離を隔てた削除対象の画素位置を特定するためのパターンデータを記憶する記憶手段と、
前記記憶手段に記憶されたパターンデータに従い、前記代表色C0、C1のいずれに近似する識別データが多く削除されるかを判定し、当該判定結果を示す1ビットの判定データを生成する判定手段と、
該判定手段の判定結果に従い、削除位置の近傍に位置し、非削除対象の識別データを補正する補正手段と、
前記記憶手段に記憶されたパターンデータを参照して、前記補正手段で補正した後のm×n個の識別データから、{N+1}個の識別データを削除する削減手段と、
前記抽出手段で抽出した代表色C0、C1を示すデータ、前記判定手段で生成された前記判定データ、及び、前記削減手段による削除して残った識別データとを結合し、着目ブロックの符号化データとして出力する出力手段と
を備えることを特徴とする画像符号化装置。
【請求項2】
前記固定長Lは、32の整数倍であることを特徴とする請求項1に記載の画像符号化装置。
【請求項3】
前記抽出手段は、
前記着目ブロックの画素値の平均値AVEを算出し、
前記着目ブロック中の画素を、前記平均値AVE以下の画素値を持つ画素群で構成される第1のグループと、前記平均値AVEを超える画素値を持つ画素群で構成され第2のグループに分類し、
前記第1のグループに属する画素値の平均値、前記第2のグループに属する画素値の平均値を前記代表色C0、C1として抽出する
ことを特徴とする請求項1又は2に記載の画像符号化装置。
【請求項4】
前記補正手段は、
前記代表色C0、C1のうち、前記判定手段が判定した、削除される個数の多い識別データが示す色をCa、削除される個数の少ない識別データが示す色をCbとしたとき、
削除対象位置の着目画素位置の識別データが前記色Cbを示す場合のみ、当該着目画素位置の近傍に位置し非削除対象の前記色Caを示す1つの識別データを、前記色Cbを示す識別データに置換することを特徴とする請求項1乃至3のいずれか1項に記載の画像符号化装置。
【請求項5】
前記補正手段は、
前記削除位置に隣接している8画素中の1画素と、該1画素と接している連続した2画素を組み合わせた各領域内で前記色Cbを示す識別データをカウントし、カウント数の最も少ない領域内の隣接画素の識別データを、前記色Cbを示す識別データに置換することを特徴とする請求項4に記載の画像符号化装置。
【請求項6】
前記補正手段は、
前記削除位置の近傍に位置する識別データを予め定められた識別データへ変換するための置換パターンデータを記憶する置換パターン記憶手段を有し、
記憶された前記置換パターンデータを参照して、前記削除位置の近傍の識別データに変換処理を行うことを特徴とする請求項4に記載の画像符号化装置。
【請求項7】
前記置換パターンデータは、
前記削除位置の近傍に位置する画素のうち置換する識別データの位置として、
(1)前記色Caを示す識別データである位置、
(2)削除位置の上下左右の位置、
(3)置換によって上下、左右の方向に前記色Cbを示す識別データが3つ連続しない位置、
(4)削除位置を挟んだ反対側に前記色Cbが存在する位置、
(5)置換によって前記色Caを示す識別データが3つ連続していることを妨げない位置、
を優先して生成されることを特徴とする請求項6に記載の画像符号化装置。
【請求項8】
m×n画素で構成されるブロックが固定長Lビットとして符号化された符号化データを復号する画像復号装置であって、
前記固定長の符号化データを入力する入力手段と、
入力した符号化データから、着目ブロックの代表色C0、C1を特定するためのNビットのデータ、前記代表色C0、C1のうち削除された代表色の多い方を示す1ビットの判定データ、及び、1画素につき1ビットで示されるL−N−1個の識別データを分離する分離手段と、
少なくとも互いに1画素以上の距離を隔て、{N+1}個の削除対象の識別データの画素位置を特定するためのパターンデータを記憶する記憶手段と、
該記憶手段に記憶されたパターンデータに従い、前記分離手段で分離して得られた識別データ中の削除位置に、前記判定データで示される識別データを補間することで、m×n個の識別データを生成する補間手段と、
該補間手段で補間された後の識別データのそれぞれに基づき、前記分離手段で得られた代表色C0、C1のいずれか一方を復号後の画素データとして選択出力する復号手段と
を備えることを特徴とする画像復号装置。
【請求項9】
1画素が複数ビットで表わされる画像データを、m×n画素のブロック単位に符号化し、1ブロックにつき、m×nビット以下であって、固定長Lビットの符号化データを生成する画像符号化装置であって、
画像データを前記ブロック単位に入力する入力手段と、
入力した着目ブロックの画像データから代表色C0、C1を抽出する抽出手段と、
前記着目ブロック中の各画素に、当該各画素が前記代表色C0、C1のいずれに近似しているかを示す1ビットの識別データを生成する生成手段と、
前記代表色C0、C1を特定するために必要なビット数をNと定義したとき、前記生成手段で生成された1ブロック分の識別データから、N個の識別データを削除するための、及び、少なくとも互いに1画素以上の距離を隔てた削除対象の画素位置を特定するためのパターンデータを記憶する記憶手段と、
削除対象の着目画素位置の識別データが所定値である場合、削除位置の近傍に位置し、非削除対象の識別データを補正する補正手段と、
前記記憶手段に記憶されたパターンデータを参照して、前記補正手段による補正後のm×n個の識別データから、N個の識別データを削除する削減手段と、
前記抽出手段で抽出した代表色C0、C1を示すデータ、及び、前記削減手段による削除して残った識別データとを結合し、前記着目ブロックの符号化データとして出力する出力手段と
を備えることを特徴とする画像符号化装置。
【請求項10】
前記固定長Lは、32の整数倍であることを特徴とする請求項9に記載の画像符号化装置。
【請求項11】
前記抽出手段は、
前記着目ブロックの画素値の平均値AVEを算出し、
前記着目ブロック中の画素を、前記平均値AVE以下の画素値を持つ画素群で構成される第1のグループと、前記平均値AVEを超える画素値を持つ画素群で構成され第2のグループに分類し、
前記第1のグループに属する画素値の平均値、前記第2のグループに属する画素値の平均値を前記代表色C0、C1として抽出する
ことを特徴とする請求項9又は10に記載の画像符号化装置。
【請求項12】
m×n画素で構成されるブロックが固定長Lビットとして符号化された符号化データを復号する画像復号装置であって、
前記固定長の符号化データを入力する入力手段と、
入力した符号化データから、着目ブロックの代表色C0、C1を特定するためのNビットのデータ、及び、1画素につき1ビットで示されるL−N個の識別データを分離する分離手段と、
少なくとも互いに1画素以上の距離を隔て、N個の削除対象の識別データの画素位置を特定するためのパターンデータを記憶する記憶手段と、
該記憶手段に記憶されたパターンデータに従い、前記分離手段で分離して得られた識別データ中の削除位置に、予め設定された値を持つ識別データを補間することで、m×n個の識別データを生成する補間手段と、
該補間手段で補間された後の識別データのそれぞれに基づき、前記分離手段で得られた代表色C0、C1のいずれか一方を復号後の画素データとして選択出力する復号手段と
を備えることを特徴とする画像復号装置。
【請求項13】
前記補間手段は、
前記削除位置の近傍に位置する識別データを予め定められた識別データへ変換するための置換パターンデータを記憶する置換パターン記憶手段を有し、
前記記憶された置換パターンデータを参照して、前記削除位置と削除位置の近傍の識別データに補間処理を行うことを特徴とする請求項12に記載の画像復号装置。
【請求項14】
前記補間手段は、
前記置換パターンデータに従って、前記削除位置の近傍に位置する識別データの1つを着目した時、
(1)当該着目画素位置が、削除対象位置の上下左右のいずれかである;
(2)当該着目画素位置を含む上下、左右の方向に並ぶ3画素の識別データが同じ値ではない、
(3)削除位置を前記判定データで示される極性と逆の識別データで補間した場合に、補間後の削除位置の識別データを含む上下、左右、斜め方向のいずれかの方向の3画素の識別データが、同じ値になる;
(4)上記条件(1)乃至(3)を満たす位置が、削除位置に隣接する8画素のうち一つだけ存在する;
の条件(1)乃至(4)の全てを満たすとき、前記着目画素位置の識別データを、前記削除位置に補間した識別データと置換することを特徴とする請求項13に記載の画像復号装置。
【請求項15】
更に、
前記入力手段で入力したブロックの画像データに、高周波成分となる画素があるか否かを判定し、高周波成分の画素の色を抽出色として抽出する第2の抽出手段と、
前記ブロックの各画素が、前記抽出色の画素であるか、非抽出色の画素であるかを識別するための第2の識別データを生成する第2の生成手段と、
該第2の生成手段で生成された前記第2の識別データを符号化する第1の符号化手段と、
前記ブロック内の前記非抽出色の画素データに基づき、前記抽出色を持つ画素データを置換するための置換色データを算出する算出手段と、
前記算出手段で算出した置換色データで、前記抽出色を持つデータを置換する置換手段と、
前記置換手段で置換して得られたブロックの画像データを符号化する第2の符号化手段と、
前記第1の符号化手段で生成された符号化データのデータ量を検出する検出手段と、
該検出手段で検出したデータ量に基づき、前記第2の符号化手段で生成される符号化データのデータ量を抑制する抑制手段と、
前記抽出色の情報、前記第1の符号化手段で生成された符号化データ、及び、前記データ量抑制手段で得られた符号化データとを結合し、Lビットの符号化データを出力する第2の出力手段と、
前記検出手段の検出結果に基づき、前記出力手段、前記第2の出力手段のいずれか一方からの符号化データを選択すると共に、選択した符号化データの先頭にいずれの符号化データであるかを示す1ビットの判別ビットを付加した、L+1ビットの符号化データとして出力する選択手段と
を備えることを特徴とする請求項1又は9に記載の画像符号化装置。
【請求項16】
前記L+1は、32の整数倍であることを特徴とする請求項15に記載の画像符号化装置。
【請求項17】
m×nのサイズのブロック中の、互いに1画素以上の距離を隔て、N+1個の位置を特定するパターンデータを記憶する記憶手段を有し、1画素が複数ビットで表わされる画像データを、前記m×nのサイズのブロックを単位に符号化し、1ブロックにつき、m×nビット以下であって、固定長Lビットの符号化データを生成する画像符号化装置の制御方法であって、
画像データを前記ブロック単位に入力する入力工程と、
入力した着目ブロックの画像データから代表色C0、C1を抽出する抽出工程と、
前記着目ブロック中の各画素に、当該各画素が前記代表色C0、C1のいずれに近似しているかを示す1ビットの識別データを生成する生成工程と、
前記記憶手段に記憶されたパターンデータに従い、前記代表色C0、C1のいずれに近似する識別データが多く削除されるかを判定し、当該判定結果を示す1ビットの判定データを生成する判定工程と、
該判定工程の判定結果に従い、削除位置の近傍に位置し、非削除対象の識別データを補正する補正工程と、
前記記憶手段に記憶されたパターンデータを参照して、前記補正工程で補正した後のm×n個の識別データから、{N+1}個の識別データを削除する削減工程と、
前記抽出工程で抽出した代表色C0、C1を示すデータ、前記判定工程で生成された前記判定データ、及び、前記削減工程による削除して残った識別データとを結合し、着目ブロックの符号化データとして出力する出力工程と
を備えることを特徴とする画像符号化装置の制御方法。
【請求項18】
前記補正工程は、
前記削除位置の近傍に位置する識別データを予め定められた識別データへ変換するための置換パターンデータを記憶する置換パターン記憶手段を有し、
前記記憶された置換パターンデータを参照して、前記削除位置の近傍の識別データに変換処理を行うことを特徴とする請求項17に記載の画像符号化装置の制御方法。
【請求項19】
m×nのサイズのブロック中の、互いに1画素以上の距離を隔て、N+1個の位置を特定するパターンデータを記憶する記憶手段を有し、前記m×n個の画素で構成されるブロックが固定長Lビットとして符号化された符号化データを復号する画像復号装置の制御方法であって、
前記固定長の符号化データを入力する入力工程と、
入力した符号化データから、着目ブロックの代表色C0、C1を特定するためのNビットのデータ、前記代表色C0、C1のうち削除された代表色の多い方を示す1ビットの判定データ、及び、1画素につき1ビットで示されるL−N−1個の識別データを分離する分離工程と、
該記憶手段に記憶されたパターンデータに従い、前記分離工程で分離して得られた識別データ中の削除位置に、前記判定データで示される識別データを補間することで、m×n個の識別データを生成する補間工程と、
該補間工程で補間された後の識別データのそれぞれに基づき、前記分離工程で得られた代表色C0、C1のいずれか一方を復号後の画素データとして選択出力する復号工程と
を備えることを特徴とする画像復号装置の制御方法。
【請求項20】
前記補間工程は、
前記削除位置の近傍に位置する識別データを予め定められた識別データへ変換するための置換パターンデータを記憶する置換パターン記憶手段を有し、
前記記憶された置換パターンデータを参照して、削除位置への補間処理を行なうと共に削除位置の近傍の識別データを変換することを特徴とする請求項19に記載の画像復号装置の制御方法。
【請求項21】
m×nのサイズのブロック中の、互いに1画素以上の距離を隔て、N個の位置を特定するパターンデータを記憶する記憶手段を有し、1画素が複数ビットで表わされる画像データを、前記m×nのサイズのブロックを単位に符号化し、1ブロックにつき、m×nビット以下であって、固定長Lビットの符号化データを生成する画像符号化装置の制御方法であって、
画像データを前記ブロック単位に入力する入力工程と、
入力した着目ブロックの画像データから代表色C0、C1を抽出する抽出工程と、
前記着目ブロック中の各画素に、当該各画素が前記代表色C0、C1のいずれに近似しているかを示す1ビットの識別データを生成する生成工程と、
削除対象の着目画素位置の識別データが所定値である場合、削除位置の近傍に位置し、非削除対象の識別データを補正する補正工程と、
前記記憶手段に記憶されたパターンデータを参照して、前記補正工程による補正後のm×n個の識別データから、N個の識別データを削除する削減工程と、
前記抽出工程で抽出した代表色C0、C1を示すデータ、及び、前記削減工程による削除して残った識別データとを結合し、前記着目ブロックの符号化データとして出力する出力工程と
を備えることを特徴とする画像符号化装置の制御方法。
【請求項22】
m×nのサイズのブロック中の、互いに1画素以上の距離を隔て、N個の位置を特定するパターンデータを記憶する記憶手段を有し、前記m×n個の画素で構成されるブロックが固定長Lビットとして符号化された符号化データを復号する画像復号装置の制御方法であって、
前記固定長の符号化データを入力する入力工程と、
入力した符号化データから、着目ブロックの代表色C0、C1を特定するためのNビットのデータ、前記代表色C0、C1のうち削除された代表色の多い方を示す1ビットの判定データ、及び、1画素につき1ビットで示されるL−N−1個の識別データを分離する分離工程と、
該記憶手段に記憶されたパターンデータに従い、前記分離工程で分離して得られた識別データ中の削除位置に、予め設定あれた所定の1ビットのデータを補間することで、m×n個の識別データを生成する補間工程と、
該補間工程で補間された後の識別データのそれぞれに基づき、前記分離工程で得られた代表色C0、C1のいずれか一方を復号後の画素データとして選択出力する復号工程と
を備えることを特徴とする画像復号装置の制御方法。
【請求項23】
更に、
前記入力工程で入力したブロックの画像データに、高周波成分となる画素があるか否かを判定し、高周波成分の画素の色を抽出色として抽出する第2の抽出工程と、
前記ブロックの各画素が、前記抽出色の画素であるか、非抽出色の画素であるかを識別するための第2の識別データを生成する第2の生成工程と、
該第2の生成工程で生成された前記第2の識別データを符号化する第1の符号化工程と、
前記ブロック内の前記非抽出色の画素データに基づき、前記抽出色を持つ画素データを置換するための置換色データを算出する算出工程と、
前記算出工程で算出した置換色データで、前記抽出色を持つデータを置換する置換工程と、
前記置換工程で置換して得られたブロックの画像データを符号化する第2の符号化工程と、
前記第1の符号化工程で生成された符号化データのデータ量を検出する検出工程と、
該検出工程で検出したデータ量に基づき、前記第2の符号化工程で生成される符号化データのデータ量を抑制する抑制工程と、
前記抽出色の情報、前記第1の符号化工程で生成された符号化データ、及び、前記データ量抑制工程で得られた符号化データとを結合し、Lビットの符号化データを出力する第2の出力工程と、
前記検出工程の検出結果に基づき、前記出力工程、前記第2の出力工程のいずれか一方からの符号化データを選択すると共に、選択した符号化データの先頭にいずれの符号化データであるかを示す1ビットの判別ビットを付加した、L+1ビットの符号化データとして出力する選択工程と
を備えることを特徴とする請求項17又は21に記載の画像符号化装置の制御方法。
【請求項24】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項1乃至7、9乃至11、15、16のいずれか1項に記載の画像符号化装置として機能させることを特徴とするコンピュータプログラム。
【請求項25】
請求項24に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【請求項26】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項8、12乃至14のいずれか1項に記載の画像復号装置として機能させることを特徴とするコンピュータプログラム。
【請求項27】
請求項26に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2010−154485(P2010−154485A)
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願番号】特願2009−12342(P2009−12342)
【出願日】平成21年1月22日(2009.1.22)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成22年7月8日(2010.7.8)
【国際特許分類】
【出願日】平成21年1月22日(2009.1.22)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]