JP2012095228A - 画像符号化装置及びその制御方法、並びにプログラム及び記憶媒体 - Google Patents
画像符号化装置及びその制御方法、並びにプログラム及び記憶媒体 Download PDFInfo
- Publication number
- JP2012095228A JP2012095228A JP2010242652A JP2010242652A JP2012095228A JP 2012095228 A JP2012095228 A JP 2012095228A JP 2010242652 A JP2010242652 A JP 2010242652A JP 2010242652 A JP2010242652 A JP 2010242652A JP 2012095228 A JP2012095228 A JP 2012095228A
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- block
- encoded data
- image
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
【課題】 文字線画に好適な符号化、階調画像に好適な符号化の両方を持つ装置であって、ブロック単位に固定長の符号化データを生成しつつ、且つ、符号化をより高速に行う。
【解決手段】 第1の符号化部4は、着目ブロックにおける文字線画に属する画素の代表画素値、及び、各画素毎の文字線画/非文字線画を識別する識別情報を可逆符号化する。第2の符号化部5は、着目ブロック内の文字線画に属する画素の画素値が非文字線画に属する画素の平均値で置換された、高周波成分の無い或いは少ないブロックを非可逆符号化する。多重化部10は、第1,第2の符号化部で生成された符号化データを多重化する。着目ブロック内の全画素が同じ色である場合、第1又は第2の符号化部で生成した場合に相当する符号化データを生成し、第3の符号化部6が生成し、多重化部9はこの第3の符号化部6からの符号化データを出力する。
【選択図】 図1
【解決手段】 第1の符号化部4は、着目ブロックにおける文字線画に属する画素の代表画素値、及び、各画素毎の文字線画/非文字線画を識別する識別情報を可逆符号化する。第2の符号化部5は、着目ブロック内の文字線画に属する画素の画素値が非文字線画に属する画素の平均値で置換された、高周波成分の無い或いは少ないブロックを非可逆符号化する。多重化部10は、第1,第2の符号化部で生成された符号化データを多重化する。着目ブロック内の全画素が同じ色である場合、第1又は第2の符号化部で生成した場合に相当する符号化データを生成し、第3の符号化部6が生成し、多重化部9はこの第3の符号化部6からの符号化データを出力する。
【選択図】 図1
Description
本発明は画像データの符号化技術に関するものである。
従来、ブロック単位の画像データを固定長符号に圧縮する方法として、特許文献1が知られている。この文献では、ブロック単位の画像データのうち視覚上重要な画素(例えば文字線画の画素)を抽出して可逆符号化し、その他のデータを非可逆符号化する。すなわち、1つの画像データに対して複数の符号化処理を並行して実行している。
また、ブロック単位の画像データを高速に符号化する方法として、特許文献2が知られている。ここでは、JPEG符号化のDCT演算において、ブロックの画素が全て白のときの演算値をあらかじめ記憶しておく。そして、当該ブロックと直前ブロックとが全て白のときに、記憶しているDCT演算値を用いることにより、高速に符号化を行う、というものである。
入力画像データを少なくとも2つの符号化方式を並列に用いて符号化する装置において、同一色のブロックを符号化しようとしたとき、既に上記2つの符号化方式がいずれも実行中であった場合には、全体的な符号化に時間がかかってしまう。
本発明は上記点に鑑みてなされたものであり、文字線画に好適な符号化、階調画像に好適な符号化の両方を持つ装置であって、ブロック単位に固定長の符号化データを生成しつつ、且つ、符号化をより高速に行う技術を提供しようとするものである。
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像データを符号化する画像符号化装置であって、
符号化対象の画像から、複数画素で構成されるブロックを入力する入力手段と、
入力した着目ブロック内の各画素の画素値を解析し、前記着目ブロック内に文字線画に属する画素があるか否かを判定する解析手段と、
該解析手段が前記着目ブロック内に文字線画に属する画素があると判定した場合には文字線画の代表画素値と、各画素毎に文字線画に属するか非文字線画に属するかを示す識別情報を生成する生成する生成手段と、
該生成手段で生成した文字線画の代表画素値と識別情報を可逆符号化し、第1の形式の符号化データを生成する第1の符号化手段と、
前記解析手段が前記着目ブロック内に文字線画に属する画素があると判定した場合、非文字線画に属する画素の平均画素値で、文字線画に属する画素の画素値を置換して、非文字線画の画素で構成されるブロックを生成する置換手段と、
前記解析手段が前記着目ブロック内に文字線画に属する画素があると判定した場合には前記置換手段で得られたブロックを、前記解析手段が前記着目ブロック内に文字線画に属する画素がないと判定した場合には前記置換手段による置換前のブロックを非可逆符号化し、第2の形式の符号化データを生成する第2の符号化手段と、
前記第1の符号化手段、及び、前記第2の符号化手段で生成された符号化データを多重化すると共に、ブロックヘッダには前記第1の形式の符号化データの有無、前記第2の形式の符号化データの有無を示す情報を格納した固定長のブロック符号化データを生成し、出力する多重化手段とを備え、更に、
前記入力手段で入力した前記着目ブロックの全画素の画素値が同じであるか否かを判定する判定手段と、
該判定手段が前記着目ブロックの全画素が同じ画素値を持つと判定した場合、前記第1の符号化手段及び前記第2の符号化手段による前記着目ブロックに対する符号化を中止し、予め記憶された全画素が同じとした前記第1,第2の形式の符号化データと前記着目ブロックの画素値から、前記第1の形式の符号化データ、又は、前記第2の形式符号化データのいずれか一方を生成する第3の符号化手段とを有し、
前記多重化手段は、該判定手段が前記着目ブロックの全画素が同じ画素値を持つと判定した場合、前記第3の符号化手段より得られた符号化データを、前記着目ブロックの符号化データとして出力することを特徴とする。
画像データを符号化する画像符号化装置であって、
符号化対象の画像から、複数画素で構成されるブロックを入力する入力手段と、
入力した着目ブロック内の各画素の画素値を解析し、前記着目ブロック内に文字線画に属する画素があるか否かを判定する解析手段と、
該解析手段が前記着目ブロック内に文字線画に属する画素があると判定した場合には文字線画の代表画素値と、各画素毎に文字線画に属するか非文字線画に属するかを示す識別情報を生成する生成する生成手段と、
該生成手段で生成した文字線画の代表画素値と識別情報を可逆符号化し、第1の形式の符号化データを生成する第1の符号化手段と、
前記解析手段が前記着目ブロック内に文字線画に属する画素があると判定した場合、非文字線画に属する画素の平均画素値で、文字線画に属する画素の画素値を置換して、非文字線画の画素で構成されるブロックを生成する置換手段と、
前記解析手段が前記着目ブロック内に文字線画に属する画素があると判定した場合には前記置換手段で得られたブロックを、前記解析手段が前記着目ブロック内に文字線画に属する画素がないと判定した場合には前記置換手段による置換前のブロックを非可逆符号化し、第2の形式の符号化データを生成する第2の符号化手段と、
前記第1の符号化手段、及び、前記第2の符号化手段で生成された符号化データを多重化すると共に、ブロックヘッダには前記第1の形式の符号化データの有無、前記第2の形式の符号化データの有無を示す情報を格納した固定長のブロック符号化データを生成し、出力する多重化手段とを備え、更に、
前記入力手段で入力した前記着目ブロックの全画素の画素値が同じであるか否かを判定する判定手段と、
該判定手段が前記着目ブロックの全画素が同じ画素値を持つと判定した場合、前記第1の符号化手段及び前記第2の符号化手段による前記着目ブロックに対する符号化を中止し、予め記憶された全画素が同じとした前記第1,第2の形式の符号化データと前記着目ブロックの画素値から、前記第1の形式の符号化データ、又は、前記第2の形式符号化データのいずれか一方を生成する第3の符号化手段とを有し、
前記多重化手段は、該判定手段が前記着目ブロックの全画素が同じ画素値を持つと判定した場合、前記第3の符号化手段より得られた符号化データを、前記着目ブロックの符号化データとして出力することを特徴とする。
本発明によれば、文字線画に好適な符号化、階調画像に好適な符号化の両方を持つ装置であって、ブロック単位に固定長の符号化データを生成しつつ、且つ、符号化をより高速に行うことが可能になる。
以下添付図面に従って本発明に係る実施形態を詳細に説明する。
[第1の実施形態]
なお、以下に説明における符号化対象の多値画像データの発生源はイメージスキャナとするが、画像データを格納した記憶媒体であっても良いし、その種類は問わない。また、説明を簡単なものとするため、符号化対象の画像データは1画素1成分のモノクロ画像とし、その成分は8ビット(256階調)であって、輝度を表わすものとして説明する。ただし、色成分の数、及び、色空間の種類(RGB、CMY、Lab等)は如何なるものであっても良いし、1色成分のビット数も8ビットに限らない。因に、1画素が複数の成分で構成される場合には、以下に説明する事項を各成分毎に実行すれば良い。
なお、以下に説明における符号化対象の多値画像データの発生源はイメージスキャナとするが、画像データを格納した記憶媒体であっても良いし、その種類は問わない。また、説明を簡単なものとするため、符号化対象の画像データは1画素1成分のモノクロ画像とし、その成分は8ビット(256階調)であって、輝度を表わすものとして説明する。ただし、色成分の数、及び、色空間の種類(RGB、CMY、Lab等)は如何なるものであっても良いし、1色成分のビット数も8ビットに限らない。因に、1画素が複数の成分で構成される場合には、以下に説明する事項を各成分毎に実行すれば良い。
図1に、本発明の第1の実施形態における画像符号化装置の構成図を示す。本装置は、装置全体の制御を司る制御部11をはじめ、以下に示す処理部で構成される。
ブロック化部1は、符号化対象の画像データから複数画素(m×n画素)で構成されるブロック画像データを生成する。以下では、簡単のため1ブロックのサイズを8×8画素とする。
解析部2は、ブロック化部1から入力した1ブロック分の画像データ(実施形態では8×8画素)を解析して、ブロック中の各画素毎に、文字線画/非文字線画のいずれに属するかを示す識別データ、並びに、文字線画に属すると判定された画素値(文字線画の代表色)を生成し、第1の符号化部4に出力する。具体例を示せば次の通りである。
解析部2は、ブロック内の全画素の平均画素値AVEを算出し、その平均画素値AVEよりも大きい画素値を持つ画素群(以下、第1の画素群という)と、その平均画素値AVE以下の画素群(以下、第2の画素群という)に分類する。そして、第1の画素群の平均画素値である第1の平均画素値AVE1と第2の画素群の平均画素値である第2の平均画素値AVE2を求め、それらの差「AVE1−AV2」が予め設定された閾値Th1を越えるか否かを判定する。閾値Th1を越えていれば、輝度の低い(濃度が高い)第2の画素群は文字線画に属する画素群と判定し、第1の画素群は非文字線画に属する画素群に属するものと判定する。この場合、第2の平均値AVE2を、文字線画に属する代表画素値として決定する。そして、ブロック内をラスタースキャンし、文字線画に属する画素に対して“1”、非文字線画に属する画素に対して“0”の1ビットの識別データを生成していく。実施形態の場合、1ブロックは8×8画素としているわけであるから、1ブロックからは64個の識別データが生成されることになる。以下、1ブロック分の64個(64ビット)の識別データを識別情報と呼ぶこととする。なお、解析部2は、{AVE1−AV2}>Th1の場合、文字線画の代表画素値+識別情報を第1の符号化部4に出力してその符号化を行なわせ、多重化部10に対しても着目ブロックに対して文字線画の代表画素値及び識別情報の符号化データを多重化する旨の信号を出力する。一方、{AVE1−AV2}≦Th1の場合、第1の符号化部4に対しては、文字線画の代表画素値+識別情報を出力せず、且つ、着目ブロックに対して文字線画の代表画素値及び識別情報の符号化データはない旨を多重化部10に通知する。更に、後述する同一色検出部3による検出結果も合わせて、多重化部10に通知する。また、上記は画素値が輝度を示すものとした場合である。画素値が濃度を示す場合、文字線画の代表画素値としてAVE1を利用する。
解析部2は上記の処理に加え、{AVE1−AVE2}≦Th1の場合には、入力したブロックデータをそのまま第2の符号化部5に出力する。また、{AVE1−AVE2}>Th1である場合、入力したブロック中の非文字線画に属する画素はその画素値のまま、文字線画に属する画素値は上記の第1の平均値AVE1(非文字線画に属する画素の平均値)で置換した新たなブロックデータを生成し、それを第2の符号化部5に出力する。前者の場合は説明するまでもないであろう。ここでは、後者の具体例を説明する。座標x、y(0≦x、y≦7)の新たなブロックの画素値をPout(x,y)、入力したブロックの画素値をPin(x,y)、及び、識別データをB(x,y)としたとき、次のようにして新たなブロックデータを生成すればよい。
・B(x,y)=0のとき(着目画素が非文字線画であるとき)
Pout(x,y)←Pin(x,y)
・B(x,y)=1のとき(着目画素が文字線画であるとき)
Pout(x,y)←AVE1
上記の結果、第2の符号化部5に供給されるブロックデータには、高周波(AC)成分が無い、もしくは少ないものとなり、JPEG等の非可逆符号化を行った場合に高い圧縮率が期待できる。
・B(x,y)=0のとき(着目画素が非文字線画であるとき)
Pout(x,y)←Pin(x,y)
・B(x,y)=1のとき(着目画素が文字線画であるとき)
Pout(x,y)←AVE1
上記の結果、第2の符号化部5に供給されるブロックデータには、高周波(AC)成分が無い、もしくは少ないものとなり、JPEG等の非可逆符号化を行った場合に高い圧縮率が期待できる。
次に、同一色検出部3について説明する。この同一色検出部3は、解析部2の内部にある処理部であり、入力したブロックを構成する全画素が同一色(輝度)であるか否かを判定し、その判定結果と、同一色であると判定した場合にはその色(画素値)を第3の符号化部6に出力する。なお、「同一色」と判定する範囲をユーザが設定しても良い。たとえば、ブロック中の全画素中の最大画素値と最小画素値の差を求め、その差が同一色として判定可能な許容範囲(閾値Th2;ただし、Th2≦Th1とする)以下である場合、そのブロックの全画素が同一色と判定するようにしても良い。
この同一色検出部3が解析部2内に設けられるとする理由は、先に説明した第1の画素群と第2の画素群に分類する際に、それが副次的にそれが判定できるからである。すなわち、全画素の画素値の最大値と最小値とを求め、その差が0又は許容範囲を示す閾値以下の場合に同一色と見なせば良い(後者の場合には上記平均値AVEを文字線画の代表値とすればよい)。
また、同一色検出部3が、着目ブロック内の全画素が同一色であると判定した場合、解析部2から、第1の符号化部4、第2の符号化部5には、着目ブロックに対する符号化対象データは供給されない(すなわち、第1、第2の符号化部による着目ブロックの符号化は中止になる)。同一色検出部3が、着目ブロック内の全画素が同一色であると判定した場合の符号化データは、第3の符号化部6が生成することになる。
第1の符号化部4は、文字線画の代表色(8ビット)と識別情報(64個の識別データ=64ビット)を入力し、識別情報をランレングス符号化などの可逆符号化を行う。そして、文字線画代表色(8ビット)+識別情報のランレングス符号化データをバッファ7に出力する。
第2の符号化部5は、文字線画の画素値が非文字線画の画素値の平均値AVE1で置換されたブロックデータ、或いは、入力したブロックデータ(置換前のブロックデータ)を入力し、JPEG符号化(非可逆符号化)を行い、DC成分+AC成分の符号化データを生成し、バッファ8に出力する。高周波成分が無い、もしくは少ないわけであるから、高い圧縮率がえられるのは理解できよう。
第3の符号化部6は、同一色検出部3からの情報が、着目ブロックの全画素が同一色ではある場合に限って、その符号化データを生成し、バッファ9に出力する。第3の符号化部6が生成する符号化データのフォーマットは2種類ある。
1つ目は、第1の符号化部4において全画素が文字線画に属すると見なされた場合に相当する符号化データ「文字線画の代表色を表わす画素値+エンドオフブロック示すEOB(End of Block)」の形式である。全画素が同じであるわけであるから、EOBは、ランが64であることを示す符号語と等価の意味を持つと言えば分かりやすい。基本的に、同一色検出部3からの同一色であるとして示された画素値に、予め記憶されたEOBの符号語を付加して出力するだけであり、画素値をスキャンする必要がない分だけ、その処理に要する時間は非常に短くできる。以下、このフォーマットの符号化データを第1の形式符号化データという。
符号化データの種類のもう1つは、第2の符号化部5が、全画素が同一色値を持つブロックを符号化した場合の符号化形式である「DC成分+AC成分の符号化データ」である。着目ブロック内の全画素が、同一色検出部3から同一色であるとされた色を表わす画素値を「DC成分」に当てはめる。AC成分は無い、もしくは合っても非常に少ないことが約束されているので、本実施形態ではEOB符号語を割り当てた。以下、このフォーマットの符号化データを第2の形式符号化データという。
実施形態における、第3の符号化部6は、同一色検出部3から着目ブロックが同一色であることを通知を受けるたびに、上記の第1,第2の形式符号化データを切り替えて、生成する。
多重化部10は、解析部2からの解析結果を受けて、バッファ7乃至9からの符号化データを組み合わせて、ブロックヘッダを先頭にした固定長Lのブロック符号化データを生成し、出力する。ここで多重化部10が生成する1ブロック分の符号化データの形式について説明する。なお、この固定長Lの下限は、文字線画の代表画素値を表わす8ビット+識別情報の最悪の符号長(ビット数)+第2の符号化部で生成されるDC成分の8ビットであり、これ以上であれば良く、その固定長はLはユーザが設定するものとする。固定長を示す情報は、ファイルヘッダに格納しておけば良い。
図2(A)乃至(D)は、本実施形態における多重化部10が生成する1ブロック分の固定長符号化データの種類を示している。ヘッダには、多重化したデータには、第1,第2の符号化部による符号化データの有無が示せれば良いので、それを示す2ビットを内包している。
図2(A)は、同一色検出部3の検出結果も非同一色を示し、且つ、着目ブロック内に文字線画の画素が存在すると判定された場合の符号化データ形式を示している。図示の如くヘッダに後続して、バッファ7に格納された符号化データ、後続してバッファ8に格納された符号化データを配置する。なお、バッファ8に格納された全AC成分の符号化データが格納できない場合には、固定長Lを越えたビットは切り捨てる。この場合、不完全な符号語が、固定長の末端位置に存在する可能性があるが、復号化側では固定長Lを越える不完全な符号語があった場合にはそれ以降のAC成分値は“0”と見なして復号するので問題はない。また、全AC成分の符号化データを格納しても、未だ空き領域がある場合には適当なダミーデータを格納すれば良い。
図2(B)は、同一色検出部3の検出結果も非同一色を示し、着目ブロック内に文字線画の画素が存在しないと判定された場合の符号化データ形式を示している。図示の如くヘッダに後続して、バッファ8に格納された符号化データを配置する。なお、固定長Lを越えたビットを切り捨てる点、固定長Lに満たない場合のダミービットを付加する点は図2(A)と同様である。
図2(C)、(D)は、同一色検出部3の検出結果が同一色を示した場合の符号化データ形式を示している。図示の如く、EOBの後にはダミーデータとして0を、固定長Lを満たす分だけ格納する。図2(C),(D)の符号化データを交互に切り替えるのは先に説明した通りである。ブロック内の全画素が同一色であるのは、たとえば通常の文字で構成される文書画像の上下左右の余白領域や行間部分を想像すると分かりやすい。かかる領域の場合、本実施形態によれば、図2(C)、(D)が交互に発生することになるので、ランレングス復号を行っている間、次のブロックについてJPEG復号処理を実行でき、2つの復号処理の並列実行ができる可能性を高めることができ、結果的に、復号処理を高速化できるようになる。
以上のような制御を行うことにより、同一色のブロックを符号化する場合には、第1、第2の符号化処理の終了を待つことなく第3の符号化処理によって高速に符号化を進めることができるので、同一色のブロックを多く含むような画像データの符号化において、高速に符号化を行うことができる。
[変形例の説明]
上述した第1の実施形態における画像符号化処理を、パーソナルコンピュータ等の情報処理装置は、その内部のプロセッサが実行されるコンピュータプログラムで実現する例を以下に説明する。なお、情報処理装置のハードウェアは一般的なもので良いので、ここでは詳述しない。ただし、符号化対象の画像データはハードディスク等の外部記憶装置にファイルとして格納されていて、符号化結果もその外部記憶装置に格納する例を説明する。ただし、符号化対象の画像データの発生源はネットワーク上のストレージでも良いし、イメージスキャナでも構わないし、符号化結果の出力先も可搬性の記憶媒体、ネットワーク上の媒体でも良く、その種類を問わない。
上述した第1の実施形態における画像符号化処理を、パーソナルコンピュータ等の情報処理装置は、その内部のプロセッサが実行されるコンピュータプログラムで実現する例を以下に説明する。なお、情報処理装置のハードウェアは一般的なもので良いので、ここでは詳述しない。ただし、符号化対象の画像データはハードディスク等の外部記憶装置にファイルとして格納されていて、符号化結果もその外部記憶装置に格納する例を説明する。ただし、符号化対象の画像データの発生源はネットワーク上のストレージでも良いし、イメージスキャナでも構わないし、符号化結果の出力先も可搬性の記憶媒体、ネットワーク上の媒体でも良く、その種類を問わない。
S1にて復号処理が開始されると、S2にてプロセッサは1ブロック分の画像データを入力ファイルからRAM上にロードする。そして、S3にて、プロセッサは、RAM上のロードした着目ブロック分の画像データを解析して、第1の符号化および第2の符号化に必要なデータを抽出する。解析の詳細は第1の実施形態で説明したとおりである。次いで、S4にて、着目ブロックが同一色の画像データからなるブロックであるか判定する。同一色ブロックでない場合は、処理をS5に移す。また、同一色ブロックである場合は、処理をS8に移す。
S5では、第1の符号化を行う。この第1の符号化は上記第1の実施形態における第1の符号化部4と同じである。ただし、第1の符号化部4と同様に、着目ブロック内に文字線画の画素が存在しない場合には、符号化データは生成しない。S6では、第2の符号化を行う。この第2の符号化の詳細は第1の実施形態における第2の符号化部5と同様である。そして、S7にて、S5で生成された符号化データ(もしあれば)、S6で生成された符号化データを外部記憶装置に出力する。このときの符号化データのフォーマットは図2(A)、(B)のいずれかになる。
一方、S8に処理を移した場合には、第3の符号化を行う。この第3の符号化の詳細は第1の実施形態における第3の符号化部6と同様である。そして、S9に、符号化データを外部記憶装置に出力する。このときの符号化データのフォーマットは図2(C)、(D)のいずれかになる。
S10にて、ファイルの全ての画像データを処理したかどうかを判定する。全ての画像データを処理していないと判断した場合には、S2以降の処理を繰り返す。また、全ての画像データの処理を終了した場合は、S11に移り、全ての符号化を終了する。
ステップ5、ステップ6を経由する第1および第2の符号化とステップ8の第3の符号化は、プログラムで実行する際の実行に要する時間が異なる。第1の実施形態で説明した通り、第1、第2の符号化は時間がかかるのと比較して、第3の符号化は短時間で終了する。また、第3の符号化は、第1、第2の符号化とは独立に処理できる。したがって、第1、第2の符号化をしている最中に第3の符号化を行うことができる。その場合、第3の符号化が第1、第2の符号化よりも先に処理が終了する場合がある。その場合は、先に、第3の符号化で処理された符号化データを外部記憶装置に出力する。本発明の符号化データは固定長の符号化データであるため、出力先の外部アドレスを予め知ることができる。入力されたブロックの外部記憶装置上のアドレスから出力先の外部記憶装置のアドレスを対応付けておくことで、入力と出力の順番が異なることがあっても間違いなく外部記憶装置に所定アドレスに符号化データを出力することが可能になる。
以上のような制御を行うことにより、コンピュータプログラムでもって実現する場合であっても、第1の実施形態と同様の作用効果を奏することができる。
[第2の実施形態]
本第2の実施形態では、復号側における第1の形式符号化データ、第2の形式符号化データの復号リソースを、より効率良く利用できる符号化データを生成する例を説明する。具体的には、復号処理がランレングス復号処理とJPEG復号処理の一方に偏ったものとなるのを抑制するものである。
本第2の実施形態では、復号側における第1の形式符号化データ、第2の形式符号化データの復号リソースを、より効率良く利用できる符号化データを生成する例を説明する。具体的には、復号処理がランレングス復号処理とJPEG復号処理の一方に偏ったものとなるのを抑制するものである。
図3に、第2の実施形態の画像符号化装置の構成図を示す。第1の実施形態と同様の動作をする処理部については同じ番号を付して、その説明は省略する。本第2の実施形態に特有の動作を行う処理部の説明を行う。
第3の符号化部24は、同一色検出部3で同一色と検出されたブロックを符号化する符号化部である。第3の符号化部24は、第1の形式符号化データ(文字線画の代表画素値+EOB)を生成する。つまり、図2(C)に示すフォーマットの符号化データを生成する。
第4の符号化部25は、同一色検出部3で同一色と検出されたブロックを符号化する符号化部である。第4の符号化部25は、第2の形式符号化データ(DC成分値+EOB)を生成する。つまり、図2(D)に示すフォーマットの符号化データを生成する。
比較部23は、内部に2つのレジスタ(もしくはカウンタ)を持ち、符号化処理開始時にゼロクリアされる。そして、一方のレジスタはバッファ7に符号化データが出力された回数を計数するために用いられ、もう一方のレジスタはバッファ8に符号化データが出力された回数を計数するために用いられる。なお、着目ブロックに、文字線画画素が存在するものとした場合、その着目ブロックからはバッファ7、8の両方に符号化データが格納されるので、それぞれのレジスタが“1”だけカウントアップされる。また、着目ブロック内に文字線画の画素が存在しないものの、同一色でもない場合、着目ブロックは第2の符号化部5による符号化データのみがバッファ8に格納されるので、バッファ8への符号化データの出力回数のみがカウントアップされる。
比較部23は、上記のようにして、画像の符号化開始時から現在までの第1の符号化部4の符号化データの出力回数をN1、第2の符号化部5による符号化データの出力回数をN2としたとき、
条件:N1≦f(N2)
を満たすか否かを判定し、この条件を満たす場合には、“0”、それ以外の場合には“1”の制御信号を選択部26に出力する。なお、一般に、JPEG符号化、復号ではDCT変換(マトリクス演算)に多くの演算量が費やされる。一方、ランレングス符号化、復号にかかる処理はDCT処理ほど、重い処理ではない。上記の関数f()は、この演算量の重みを相殺するための関数である。簡単には、予め設定した係数Rを定義し、次の条件で判断すれば良い。
条件:N1<R×N2
条件:N1≦f(N2)
を満たすか否かを判定し、この条件を満たす場合には、“0”、それ以外の場合には“1”の制御信号を選択部26に出力する。なお、一般に、JPEG符号化、復号ではDCT変換(マトリクス演算)に多くの演算量が費やされる。一方、ランレングス符号化、復号にかかる処理はDCT処理ほど、重い処理ではない。上記の関数f()は、この演算量の重みを相殺するための関数である。簡単には、予め設定した係数Rを定義し、次の条件で判断すれば良い。
条件:N1<R×N2
選択部26は、第3の符号化部24あるいは第4の符号化部25の符号化データのいずれをバッファ27に出力するかを選択する。この選択は、比較部23からの制御信号に基づいて決定される。すなわち、比較部23の制御信号が“0”の場合は、第3の符号化部24の符号化データをバッファ27に出力し、“1”の場合は、第4の符号化部の符号化データをバッファ27に出力する。このように動作することで、同一色のブロックが入力された場合は、バッファ7、8への出力回数の少ない方のフォーマットの符号化データがバッファ27に格納されることになる。この結果、ランレングス復号とJPEG復号が並列に実行できる復号装置では、いずれか一方に復号対象の符号化データが偏って供給されることを抑制、換言すれば、それら復号処理のためのリソースを効率良く稼働でき、結果、復号処理を高速化することができる。
なお、上記では、比較部23には、内部に2つのレジスタ(もしくはカウンタ)を持ちそれぞれはバッファ7に符号化データが出力された回数を保持するためとして説明したがこれに限定されない。例えば、バッファ7、8をFIFOメモリとし、usedwordをモニタすることによりそれぞれの占有率を比較する。たとえば、usedwordを単純比較して、usedwordが小さい方を占有率が低いと判断する。または、FIFOフルの容量が異なるFIFOであれば、usedwordの空きワード数を比較して、空きワード数が多い方を占有率が低いと判断する。あるいは、usedwordをFIFOフル容量のusedwordで割って(文字通り占有率を計算して)、値が小さい方を占有率が低いと判断する。このようにして、比較部23は、バッファ7、8の占有率の比較し、バッファ7の占有率がバッファ8のそれより小さい場合に0を出力し、それ以外の場合に1を出力しても構わない。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (9)
- 画像データを符号化する画像符号化装置であって、
符号化対象の画像から、複数画素で構成されるブロックを入力する入力手段と、
入力した着目ブロック内の各画素の画素値を解析し、前記着目ブロック内に文字線画に属する画素があるか否かを判定する解析手段と、
該解析手段が前記着目ブロック内に文字線画に属する画素があると判定した場合には文字線画の代表画素値と、各画素毎に文字線画に属するか非文字線画に属するかを示す識別情報を生成する生成する生成手段と、
該生成手段で生成した文字線画の代表画素値と識別情報を可逆符号化し、第1の形式の符号化データを生成する第1の符号化手段と、
前記解析手段が前記着目ブロック内に文字線画に属する画素があると判定した場合、非文字線画に属する画素の平均画素値で、文字線画に属する画素の画素値を置換して、非文字線画の画素で構成されるブロックを生成する置換手段と、
前記解析手段が前記着目ブロック内に文字線画に属する画素があると判定した場合には前記置換手段で得られたブロックを、前記解析手段が前記着目ブロック内に文字線画に属する画素がないと判定した場合には前記置換手段による置換前のブロックを非可逆符号化し、第2の形式の符号化データを生成する第2の符号化手段と、
前記第1の符号化手段、及び、前記第2の符号化手段で生成された符号化データを多重化すると共に、ブロックヘッダには前記第1の形式の符号化データの有無、前記第2の形式の符号化データの有無を示す情報を格納した固定長のブロック符号化データを生成し、出力する多重化手段とを備え、更に、
前記入力手段で入力した前記着目ブロックの全画素の画素値が表わす色が互いに同じであるか否かを判定する判定手段と、
該判定手段が前記着目ブロックの全画素が同じ色を持つと判定した場合、前記第1の符号化手段及び前記第2の符号化手段による前記着目ブロックに対する符号化を中止し、予め記憶された全画素が同じ色とする前記第1,第2の形式の符号化データと前記着目ブロックの画素値とから、前記第1の形式の符号化データ、又は、前記第2の形式符号化データのいずれか一方を生成する第3の符号化手段とを有し、
前記多重化手段は、該判定手段が前記着目ブロックの全画素が同じ色を持つと判定した場合、前記第3の符号化手段より得られた符号化データを、前記着目ブロックの符号化データとして出力することを特徴とする画像符号化装置。 - 前記解析手段は、
前記着目ブロック内に全画素の平均画素値AVEを算出し、
算出した前記平均画素値AVEを越える画素値を持つ第1の画素群と、前記平均画素値AVE以下の画素値を持つ第2の画素群に分類し、
第1の画素群に属する画素の平均画素値AVE1と第2の画素群に属する画素の平均画素値AVE2との差が、予め設定された閾値を越える場合、前記着目ブロックには文字線画が存在すると判定し、前記予め設定された閾値を越えない場合には前記着目ブロックには文字線画が存在しないと判定し、
前記解析手段は、前記画素値が輝度を示す場合では、前記平均画素値AVE2を文字線画に属する代表画素値として決定し、前記画素値が濃度を示す場合では、前記平均画素値AVE1を文字線画に属する代表画素値として決定することを特徴とする請求項1に記載の画像符号化装置。 - 前記第3の符号化手段は、前記判定手段が前記着目ブロックの全画素が同じ色を持つと判定する度に、前記第1,第2の形式の符号化データを切り替えて生成することを特徴とする請求項1又は2に記載の画像符号化装置。
- 更に、前記第1の符号化手段で符号化データを生成した回数のN1、前記第2の符号化手段で符号化データを生成した回数のN2を計数する計数手段と、
該計数手段で計数したN1、N2と、予め設定した重み関数f()とが、
条件:N1<f(N2)
を満たす場合、前記第3の符号化手段は前記第1の形式の符号化データを生成し、前記条件を満たさない場合には前記第2の形式の符号化データを生成することを特徴とする請求項1又は2に記載の画像符号化装置。 - 前記判定手段は、前記着目ブロックの全画素の最大画素値と最小画素値との差が予め設定された閾値以下の場合に、前記着目ブロック内の全画素が同じ色であると判定することを特徴とする請求項1乃至4のいずれか1項に記載の画像符号化装置。
- 前記第1の符号化手段はランレングス符号化手段であり、前記第2の符号化手段はJPEG符号化手段であることを特徴とする請求項1乃至5のいずれか1項に記載の画像符号化装置。
- コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項1乃至6のいずれか1項に記載の画像符号化装置の各手段として機能させるコンピュータプログラム。
- 請求項7に記載のコンピュータプログラムを格納した、コンピュータが読み込み可能な記憶媒体。
- 画像データを符号化する画像符号化装置の制御方法であって、
入力手段が、符号化対象の画像から、複数画素で構成されるブロックを入力する入力工程と、
解析手段が、入力した着目ブロック内の各画素の画素値を解析し、前記着目ブロック内に文字線画に属する画素があるか否かを判定する解析工程と、
生成手段が、該解析工程が前記着目ブロック内に文字線画に属する画素があると判定した場合には文字線画の代表画素値と、各画素毎に文字線画に属するか非文字線画に属するかを示す識別情報を生成する生成する生成工程と、
第1の符号化手段が、該生成工程で生成した文字線画の代表画素値と識別情報を可逆符号化し、第1の形式の符号化データを生成する第1の符号化工程と、
置換手段が、前記解析工程が前記着目ブロック内に文字線画に属する画素があると判定した場合、非文字線画に属する画素の平均画素値で、文字線画に属する画素の画素値を置換して、非文字線画の画素で構成されるブロックを生成する置換工程と、
第2の符号化手段が、前記解析工程が前記着目ブロック内に文字線画に属する画素があると判定した場合には前記置換工程で得られたブロックを、前記解析工程が前記着目ブロック内に文字線画に属する画素がないと判定した場合には前記置換工程による置換前のブロックを非可逆符号化し、第2の形式の符号化データを生成する第2の符号化工程と、
多重化手段が、前記第1の符号化工程、及び、前記第2の符号化工程で生成された符号化データを多重化すると共に、ブロックヘッダには前記第1の形式の符号化データの有無、前記第2の形式の符号化データの有無を示す情報を格納した固定長のブロック符号化データを生成し、出力する多重化工程とを有し、更に、
判定手段が、前記入力工程で入力した前記着目ブロックの全画素の画素値が表わす色が互いに同じであるか否かを判定する判定工程と、
第3の符号化手段が、該判定工程で前記着目ブロックの全画素が同じ色を持つと判定した場合、前記第1の符号化工程及び前記第2の符号化工程による前記着目ブロックに対する符号化を中止し、予め記憶された全画素が同じ色とする前記第1,第2の形式の符号化データと前記着目ブロックの画素値とから、前記第1の形式の符号化データ、又は、前記第2の形式符号化データのいずれか一方を生成する第3の符号化工程とを有し、
前記多重化工程では、該判定工程で前記着目ブロックの全画素が同じ色を持つと判定した場合、前記第3の符号化工程より得られた符号化データを、前記着目ブロックの符号化データとして出力することを特徴とする画像符号化装置の制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010242652A JP2012095228A (ja) | 2010-10-28 | 2010-10-28 | 画像符号化装置及びその制御方法、並びにプログラム及び記憶媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010242652A JP2012095228A (ja) | 2010-10-28 | 2010-10-28 | 画像符号化装置及びその制御方法、並びにプログラム及び記憶媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2012095228A true JP2012095228A (ja) | 2012-05-17 |
Family
ID=46388065
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2010242652A Withdrawn JP2012095228A (ja) | 2010-10-28 | 2010-10-28 | 画像符号化装置及びその制御方法、並びにプログラム及び記憶媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2012095228A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019098092A1 (ja) * | 2017-11-15 | 2019-05-23 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
-
2010
- 2010-10-28 JP JP2010242652A patent/JP2012095228A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019098092A1 (ja) * | 2017-11-15 | 2019-05-23 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7613345B2 (en) | Image coding apparatus and image decoding apparatus and their control methods, and computer program and computer-readable storage medium | |
| US7899262B2 (en) | Data compression apparatus and data compressing program storage medium | |
| JP4979655B2 (ja) | 画像符号化装置及びその制御方法 | |
| US7826670B2 (en) | Data compression apparatus and data compression program storage medium | |
| US8213727B2 (en) | Image encoding apparatus and image decoding apparatus, and control method thereof | |
| CN101653004A (zh) | 从编码比特流选择性地解码预定数据单元的解码器 | |
| JP4956304B2 (ja) | 画像符号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
| JP4795161B2 (ja) | 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
| US20090263011A1 (en) | Detection Technique for Digitally Altered Images | |
| CN109788290A (zh) | 影像处理装置及利用帧内预测的无损影像压缩方法 | |
| JP5101962B2 (ja) | 画像符号化装置及びその制御方法並びにコンピュータプログラム | |
| US8023756B2 (en) | Image encoding apparatus and method of controlling same | |
| US20210160516A1 (en) | Data rate control method, computer system, and device | |
| JP2012095228A (ja) | 画像符号化装置及びその制御方法、並びにプログラム及び記憶媒体 | |
| JP2014090416A (ja) | ビデオ検出器及びブラックフレーム検出方法 | |
| JP4521835B2 (ja) | 画像処理装置 | |
| JP5757904B2 (ja) | 画像圧縮装置 | |
| JP5086777B2 (ja) | 画像符号化装置及びその制御方法、コンピュータプログラム並びにコンピュータ可読記憶媒体 | |
| JP2009111821A (ja) | 画像符号化装置、画像復号化装置、画像データ処理装置、画像符号化方法、及び、画像復号化方法 | |
| JP2012151573A (ja) | 画像復号装置及びその制御方法 | |
| JP4971881B2 (ja) | 画像符号化装置及び画像復号装置、並びにそれらの制御方法 | |
| JP2006246374A (ja) | 画像圧縮装置、画像圧縮方法及び画像圧縮プログラム | |
| JP2005277932A (ja) | データ圧縮装置およびデータ圧縮プログラム | |
| JP2009260747A (ja) | 画像符号化装置及びその制御方法 | |
| KR101283570B1 (ko) | 화상형성장치 및 그의 화상 형성 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140107 |