JP2008109478A - 画像符号化装置及び方法及びプログラム及び記憶媒体 - Google Patents

画像符号化装置及び方法及びプログラム及び記憶媒体 Download PDF

Info

Publication number
JP2008109478A
JP2008109478A JP2006291456A JP2006291456A JP2008109478A JP 2008109478 A JP2008109478 A JP 2008109478A JP 2006291456 A JP2006291456 A JP 2006291456A JP 2006291456 A JP2006291456 A JP 2006291456A JP 2008109478 A JP2008109478 A JP 2008109478A
Authority
JP
Japan
Prior art keywords
encoding
encoded data
image
lossless
tile
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
Application number
JP2006291456A
Other languages
English (en)
Inventor
Hiroki Kishi
裕樹 岸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006291456A priority Critical patent/JP2008109478A/ja
Publication of JP2008109478A publication Critical patent/JP2008109478A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】 可逆符号化と非可逆符号化を画素ブロック単位に適宜切り換えて、再現した際の画質の劣化を抑制しつつ、画像全体を高い圧縮率で符号化することが可能になる。
【解決手段】 入力した画像データはブロック分割部102で所定サイズのタイルに分割される。有効レベル数カウント部104は、注目タイル中の各色成分の出現する輝度レベルの数(有効レベル数)を計数する。また、入力されたタイルは、タイルデータ可逆符号化部108、及びタイルデータ非可逆符号化部114でそれぞれ符号化される。セレクタ115は、注目タイルの全色成分の有効レベル数が所定条件を満たすか否かに応じた重み係数を生成し、その重み係数を用いて、可逆符号化データ量と非可逆符号化データ量とを比較し、少ない符号化データ量を選択し、出力する。
【選択図】 図1

Description

本発明は画像データの符号化に関するものである。
一般に、画像の圧縮符号化する場合には、画像を適当なサイズのタイルに分割し、このタイル単位に符号化を行う。自然画の場合には、復号結果で画質劣化が目立たないJPEG(非可逆符号化)で圧縮符号化し、文字/線画は、JPEGでは逆に劣化を抑えることが難しいので、可逆符号化方式を用いることが望ましい。
このようなタイル単位に適応的に符号化方式を選択する技術では、各タイルを符号化するに先立ち、各タイルが自然画タイルであるか、文字/線画等のタイルであるかについて、判断することが多い(特許文献1参照)。
特開平8−167030号公報
しかしながら、上記文献に開示されている技術においては、各タイルに対して、属性が正しく判断されることを前提にしており、その判断は実のところは難しいという問題がある。現実には、適応的に符号化方式が選択されているとは限らず、文字/線画の領域中に可逆符号化が適用された可逆タイルと、非可逆符号化が適用された非可逆タイルが混在することがあり、大きな画質劣化を招いていた。具体的には、図22に示したように、文字領域が非常に少ないタイル等は非可逆符号化が適用されてしまい、文字が劣化してしまう問題があった。
本発明はかかる問題点に鑑みなされたものであり、特に文字/線画の属性を有するような画像データを符号化した場合であっても、画質劣化の発生を抑制し、高い画質の画像を復号することを可能ならしめる技術を提供しようとするものである。
上記課題を解決するために本発明の画像符号化装置によれば、画像データを入力し、符号化する画像符号化装置であって、画像データを所定サイズのブロックに分割する分割手段と、分割されたブロックに関して、画素単位に文字/線画、写真の属性を判定し、文字/線画画素の有無を基に文字/線画属性を有する否かを判定する判定手段と、分割されたブロックについて可逆符号化し、可逆符号化データを生成する可逆符号化手段と、分割されたブロックについて非可逆符号化し、非可逆符号化データを生成する非可逆符号化手段と、前記判定手段によって、注目ブロックが文字/線画画像の属性を有する場合、前記可逆符号化手段で生成された可逆符号化データを選択し、注目ブロックが網点画像の属性を有さないと判断した場合には、前記可逆符号化手段及び前記非可逆符号化手段それぞれで生成された符号化データ量を重み付け比較し、データ量の少ない符号化データを選択し、出力する選択手段と、前記選択手段で選択されたブロック毎の符号化データを結合して、所定の符号化データ列として出力する出力手段とを備えることを特徴とする。
本発明によれば、網点属性を有する領域については、2つの符号化手段の符号量とは無関係に、可逆符号化が行われることにより、可逆、非可逆が混在することによる画質劣化を防ぐことが可能になる。また、網点領域以外では、重み付け比較により符号量の少ない符号化データが選択されることにより、1ページ分の総符号化データも少ないものとすることができる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
[第1の実施形態]
図1は本実施形態に係る画像処理装置のブロック構成図である。
図1に示すように、本実施形態に係る画像処理装置は、ストライプバッファ101、ブロック分割部102、タイルバッファ103、有効レベル数カウント部104、インデックステーブル用メモリ105、インデックス変換部106、セレクタ107、タイルデータ可逆符号化部108、可逆符号列形成部109、インデックステーブル生成部113、タイルデータ非可逆符号化部114、セレクタ115、符号列形成部116、タイル属性判定部117とを備える。また、符号110、111、112は信号線(バス)を示している。
本実施形態に係る画像処理装置の符号化対象とする画像データは、RGBカラー画像データであり、各コンポーネント(色)は8ビットで、それぞれ0〜255の範囲の輝度値を表現した画素データにより構成されるものとする。符号化対象の画像データの並びは点順次、即ち、ラスタースキャン順に各画素を並べ、その各画素はR,G,Bの順番でデータを並べて構成されるものとする。信号線110より入力される符号化対象の画像データは水平方向W画素、垂直方向H画素により構成されるものとする。
以下、図1を参照して、本実施形態に係る画像処理装置が行う画像符号化処理について説明する。
符号化対象画像データは信号線110から、ラスタースキャン順に入力される。
ストライプバッファ101は画像データを所定のライン数(Th)分格納する領域を持ち、信号線110から入力される画像データを順次格納していく。
以降、符号化対象画像データをThラインの幅で分割した部分的な画像データをストライプデータもしくは単にストライプと呼ぶ。ストライプバッファ101に必要とされる容量、即ち1ストライプのデータ量はW×Th×3(RGB分)バイトである。説明の便宜上、垂直方向画素数HはThの整数倍であるとし、画像の末尾で不完全なストライプが発生しないものとする。
ストライプバッファ101に1ストライプの画像データ、即ち、Thライン分の画像データが格納されるとブロック分割部102はストライプバッファ101に格納されるThライン分の画像データを水平方向Tw画素、垂直方向Th画素で構成される矩形ブロックに分割して、ブロック単位に読み出してタイルバッファ103へと格納する。説明の便宜上、画像の水平方向に並ぶ画素数WはTwの整数倍であるとし、矩形ブロックに分割した場合に不完全なブロックが発生しないものとする。この水平方向Tw画素、垂直方向Th画素で構成される矩形ブロックを以降ではタイルデータもしくは単にタイルと呼ぶ。
タイルバッファ103は、1タイル分の画素データを格納する領域を持ち、ブロック分割部102から出力されるタイルデータを順次格納していく。よってタイルバッファ103に必要とされる最低容量はTw×Th×3(RGB分)バイトである。タイルバッファ103に格納される1タイル分の画素データの水平方向画素位置x、垂直方向画素位置yにある画素のコンポーネントcの輝度値をP(x、y、c)と定義する。xは0からTw−1まで、yは0からTh−1まで、cはR,G,Bのいずれかである。
有効レベル数カウント部104は、タイルバッファ103に格納される1タイルの画素データについて、コンポーネント毎に、そこで使用されている輝度レベル数(言い換えると、何種類の輝度レベルが使われているか)をカウントする。
以降、タイル内にて使用されている輝度レベルを有効レベルと呼び、その個数を有効レベル数と呼び、R、G、Bの各コンポーネントの有効レベル数をそれぞれNLV(R)、NLV(G)、NLV(B)として表す。
有効レベル数カウント部104はその内部に図5に示すようなフラグの配列F(c,i)を保持する。cはコンポーネントを表し、R,G,Bのいずれかである。iは輝度値を表し、0〜255のいずれかの値である。フラグF(c,i)=0は着目するタイルのコンポーネントcにおいて輝度値iが出現しないことを意味し、フラグF(c、i)=1はタイルのコンポーネントcにおいて輝度値iが出現することを意味する。
図6は有効レベル数カウント部104の処理の流れを示すフローチャートである。以下、図6に示したフローチャートを参照して、有効レベル数カウント部104の行う処理について説明する。
まず、有効レベル数カウント部104の内部に保持するフラグ配列F(c,i)を全て0に初期化する(ステップS601)。
次に、タイル内垂直方向画素位置を示す変数yを0に設定する(ステップS602)。
同様にタイル内水平方向画素位置を示す変数xを0に設定する(ステップS603)。
タイルバッファ103に格納されるP(x,y,R)、P(x,y,G)、P(x,y,B)を参照し、フラグ配列F(R,P(x,y,R))、F(G,P(x,y,G))、F(B,P(x,y,B))に1を設定する(ステップS604)。
例えば、タイル内の位置x、yのR、G、Bの値がそれぞれ10、20、30である場合、
F(R、10)←1
F(G、20)←1
F(B、30)←1
とし、R成分の有効レベル“10”が存在したことを示す情報をセットする。G、B成分についても同様である。
次に、タイル内垂直方向画素位置を示す変数xに“1”を加算する(ステップS605)。そして、変数xとタイルの水平方向画素数Twを比較し、x<Twの場合(YES)にはステップS604に処理を移して右隣の画素について処理を行い、そうでない場合(NO)にはステップS607へと処理を移す。
ステップS607ではタイル内垂直方向画素位置を示す変数yに“1”を加算する(ステップS607)。
変数yとタイルの垂直方向画素数Thを比較し、y<Thの場合(YES)にはステップS603に処理を戻し、上記処理を繰り返す。
以上の処理を、タイルの全画素について処理すると、そのタイル内に出現した各色成分の有効レベルが判明する。したがって、ステップS609では、各色成分毎の有効レベル数NLV(R)、NLV(G)、NLV(B)は次のようにして求めることができる。
NLV(R)=ΣF(R,i)
NLV(G)=ΣF(G,i)
NLV(B)=ΣF(B,i)
ここで『Σ』はi=0〜255までの累積加算を示すものである。
以上の処理により各コンポーネントの有効レベル数NLV(c)(cはR、G、Bのいずれか)を生成し、出力する。
インデックステーブル用メモリ105には図7に示すようなインデックス変換テーブルIDX(c、i)を保持する。
ここでも、cはコンポーネントを表し、R,G,Bのいずれかであり、iは輝度値を表し、0〜255のいずれかの値である。このインデックス変換テーブルIDX(c、i)は後述するインデックス変換部106において輝度値をインデックス値に変換する際に参照される。
インデックステーブル生成部113は有効レベル数カウント部104に保持されているフラグ配列F(c,i)を参照して、インデックステーブル用メモリ105にインデックス変換テーブルIDX(c、i)を生成する。同時に符号列に付加情報として含めて伝送するための変換テーブル情報を可逆符号列形成部109へと出力する。
図8はインデックステーブル生成部113の処理の流れを示すフローチャートである。この処理は、各コンポーネント毎の、出現した有効レベル(F(c,i)=1となっている輝度)に0、1、2とインデックス番号を割り当てるものである。
以下、図8に示したフローチャートを参照して、インデックステーブル生成部113の行う処理について説明する。インデックステーブル生成部113によるインデックステーブル生成の処理はコンポーネント毎に行われるが、各コンポーネント毎の処理は同一であるので、ここではコンポーネントをcとして処理を説明する。
まず、インデックステーブル用メモリ105の内部に保持するインデックス変換テーブルIDX(c,i)を全て−1等のインデックスとしてあり得ない値で初期化する(ステップS801)。
次に、輝度値を示す変数iに0を初期設定し(ステップS802)、インデックス値を表す変数idx(c)を0に初期化する(ステップS803)。
次いで、有効レベル数カウント部104に保持されているフラグ配列F(c,i)を参照し、着目する輝度値iについてF(c,i)=1かどうかを判断する(ステップS804)。
F(c,i)=1である場合(YES)はステップS805へ、そうでない場合(NO)はステップS807へと処理を移す。
F(c,i)=1である場合、コンポーネントcの輝度値iが注目タイル内に存在したことを示すことを意味するので、ステップS805にて、IDX(c,i)にidx(c)を設定するとともに、idx(c)を可逆符号列形成部109へ出力する(ステップS805)。
続いてidx(c)に1を加えて値を更新する(ステップS806)。
ステップS807では輝度値を示す変数iに1を加えて更新し(ステップS807)、変数iと256と比較し、i<256である場合(YES)にはステップS804に処理を戻して次の輝度値について処理を継続し、それ以外の場合(NO)にはステップS809へと処理を移す。
ステップS809では1つのコンポーネントについての付加情報の終了コードとして値−1を可逆符号列形成部109へと出力する。
以上の処理をR,G,B各コンポーネントについて順番に行い、インデックステーブル用メモリ105内部にインデックステーブル用メモリを生成する。
着目するタイルについて、有効レベル数カウント部104による有効レベル数カウント処理と、インデックステーブル生成部113によるインデックステーブル生成処理が終了すると、インデックス変換部106、セレクタ107、タイルデータ予測符号化部108により、タイルバッファ103に格納されるタイルデータの符号化処理を開始する。
本実施形態の画像符号化装置では、タイルの符号化データをコンポーネント順に読み出して符号化する。即ち、まず、タイルのRコンポーネントを先ず符号化し、続いてGコンポーネント、Bコンポーネントの順に符号化していく。各コンポーネントについてはタイル内をラスタースキャン順にデータを読み出して符号化処理を行う。各コンポーネントの符号化処理は共通であるので、以下、コンポーネントをcとして符号化処理を説明する。
インデックス変換部106はインデックステーブル用メモリ105に格納されるインデックス変換テーブルIDX(c,i)を参照して、タイルバッファ103からコンポーネント順、ラスタースキャン順に読み出される輝度値P(x,y,c)をインデックス値IDX(c、P(x、y、c))に置き換えて出力する。
セレクタ107はタイルバッファ103から順次読み出される画素値P(x,y,c)とインデックス変換部106から出力されるインデックス値IDX(c、P(x,y,c))を受け取り、そのいずれか一方を選択して出力する。セレクタ107内部には所定の閾値ML(タイルサイズに依存して決定されることが望ましい)を保持しておき、有効レベル数カウント部104から出力される有効レベルNLV(c)と閾値MLを比較し、NLV(c)<MLである場合にはインデックス変換された値、即ちインデックス変換部106からの入力値を選択して出力し、NLV(c)≧MLである場合にはインデックス変換されていない値P(x,y,c)を選択して出力する。
タイルデータ可逆符号化部108は、信号線111から入力される画素値、またはインデックス値を可逆符号化して符号列を信号線112を介して可逆符号列形成部109へと出力する。
タイルデータ可逆符号化部108の内部は可逆符号化方式であれば適用可能であり、例えば、連続階調静止画像の可逆及び準可逆圧縮の国際標準として勧告されるJPEG−LS(ISO/IEC14495−1および2)などを適用することができる。ここでは、図2に示すブロック構成図で示される構成になっているものとする。
同図に於いて201はバッファ、202は予測器、203は減算器、204はメモリ、205はハフマン符号化器である。図2は、画像データを予測誤差に変換する系列変換の処理に周辺画素を用いた予測変換を用い、符号化処理にはハフマン符号化を用いる画像圧縮方式の例である。
同図において、実際の符号化が行われる前に、予め幾つかの画像を示す画像データを系列変換して得られた予測誤差の頻度分布を調べ、これに応じてハフマンテーブルを作成し、メモリ204に格納される。
予測誤差の頻度分布の一般的性質として予測誤差0を中心として出現頻度が高く、予測誤差の絶対値が大きくなるにつれて出現頻度が下がっていく傾向にあるため、メモリ204に格納されるハフマン符号では予測誤差0近辺に短い符号語が割り当てられ、予測誤差の絶対値が大きい部分には長い符号語が割り当てられる。
最初に信号線111からタイルデータが順に入力される。バッファ201は信号線111から入力されるタイルデータを2ライン分格納する。予測器202はバッファ201から符号化対象画素の直前の画素aと、1ライン前の同じ水平位置の画素bのタイルデータ(図3参照)を取り出し、p=(a+b)/2の演算を行う事により予測値pを生成する。
減算器203は符号化対象画素のタイルデータxと予測値pとの差分値eとして出力する。ハフマン符号器205は、予めメモリ204に格納されるハフマンテーブルを参照して、差分値eに対応する符号化データを信号線112から出力する。
メモリ204には予め幾つかのサンプル画像を予測符号化した際の予測誤差の特性に基づいて作成されたハフマンテーブルを格納しておく。図4はメモリ204に格納されるハフマンテーブルの一例である。
可逆符号列形成部109は、インデックステーブル生成部113から出力される付加情報と、タイルデータ予測符号化部108から出力される符号化データを結合させて、予測符号化方式の出力となる符号列を形成して出力する。
図10(a)、(b)は1つのタイルの可逆符号列のデータフォーマットを示す図である。また、同図(c)はタイルデータ非可逆符号化部114により出力される非可逆符号列のデータフォーマット示している。
各データの先頭の1バイトの最上位ビットMSB(=ビット7)は、可逆、非可逆を区別するデータを格納する。実施形態の場合、MSBが“0”を可逆符号化を示す情報にアサインし、“1”の場合には非可逆符号化を示す情報にアサインした。また、下位3ビットのビット2、1、0は、コンポーネントR,G,Bに対応し、それぞれ閾値ML(セレクタ107の保持する閾値に同じ)以上か以下かを表す情報を割り当てた。
つまり、ビット2にはNLV(R)<MLであるかどうかを表し、NLV(R)<MLである場合には“1”、それ以外の場合には“0”を設定する。ビット1にはNLV(G)<MLであるかどうかを表し、NLV(G)<MLである場合には“1”、それ以外の場合には“0”を設定する。ビット0にはNLV(B)<MLであるかどうかを表し、NLV(B)<MLである場合には“1”、それ以外の場合には“0”を設定する。また、ビット6からビット3については常に0を設定する。
NLV(R)、NLV(G)、NLV(B)のいずれかが所定の閾値ML以下である場合、即ち、先頭バイトのMSBが“0”で、下位7ビットの値が0でない場合にはタイルの符号列の先頭バイトに続き、変換テーブル情報が付随する。
インデックステーブル生成部113から変換テーブル情報が出力されるが、有効レベル数カウント部104から出力される有効レベル数NLV(c)を所定の閾値MLと比較して、NLV(c)<MLであるコンポーネントについてのみ変換テーブル情報を符号列に付加する。
例えば、或るタイルについてインデックステーブル生成部から出力される変換テーブル情報が、
0、1,2,3,4,...,254、255,−1,0,128,255,−1,0,64,128,192,255
であるとき、NLV(R)=255、NLV(G)=3、NLV(B)=5となる。
ここで、閾値MLを“32”と仮定する。この場合、コンポーネントRの有効レベル数「255」は閾値“32”より大きいので、注目タイルの符号化データ列の先頭1バイトのビット2は“0”となる。また、コンポーネントG、Bそれぞれの有効レベル数は閾値“32”未満であるので、符号化データ列の先頭1バイトのビット1、0は共に“1”となる。
注目タイルは、可逆符号化であるのでMSBは“0”、ビット3乃至6も“0”としているわけであるから、上記の場合、先頭の1バイトは“3”という値になる。
また、符号化データ列中の「変換テーブル情報」を生成する際、−1をコンポーネントの変換テーブル情報の区切りとして識別し、コンポーネントGとコンポーネントBについての変換テーブル情報を生成する。
上述の例では「変換テーブル情報」は、次のようになる。
0,128,255,0,0,64,128,192,255
変換テーブル情報の区切りを表す−1は0に置き換えられ、最後の0は削除される。復号する際には、先頭の1バイトのMSBが“0”であり、下位3ビットを調べれば、どの色成分についての変換テーブルが存在するかが判明するので、変換テーブル情報を左から右に順番に見て、隣の値よりも小さくなるか等しい部分は区切り情報であると判断してインデックス値から輝度値に変換する情報を取得すれば良いことになる。
タイル毎に独立に符号化を行い、必要な変換テーブル情報を各タイルの符号化データに含むことにより、復号時にはタイルデータを独立に復号することが可能となる。
図10の出力符号列の構成には示していないが、符号化データ中に所定の値が発生しないように工夫を加えて特殊なマーカを設定し、各タイルデータの先頭、または末尾にマーカを置く、あるいは、各タイルの符号列の長さを別途管理することでタイル単位のランダムアクセスを可能とすることができる。
タイルデータ可逆符号化部108で可逆符号化を行うと同時に、タイルデータ非可逆符号化部114はブロックに分割されたデータの画素値を受け取り、非可逆符号化を行う。非可逆符号化には、多値自然画像を対象とした非可逆圧縮の国際標準として勧告されたJPEG(ITUT−T.81|ISO/IEC IS10918)などを適用することができる。JPEGについての詳細は規格書などあるためここでは説明は省略するが、図10(c)に示すように、先頭1バイトのMSBを“1”にした符号化列を生成する。これは、該当するタイルが可逆、非可逆符号化のいずれで符号化されているかを識別するためである。
以上のようにして、セレクタ115には、2つの符号化データが入力されることになる。セレクタ115は、有効レベル数カウント部104並びに分散算出部117からの信号に基づき、この2つの符号化データのいずれか一方を注目タイルの符号化データとして符号列形成部116に出力することになる。
有効レベル数カウント部部104については既に説明したので、以下では、分散算出部117について説明し、その上で、セレクタ115の処理について説明する。
タイル属性判定部117では、タイル内の画素毎に文字/線画,写真のいずれの属性であるか判定し、文字/線画属性の画素が1画素でもあれば、注目タイルを文字/線画属性と判定し、全ての画素が写真属性であれば、注目タイルを写真属性と判定する。なお判定方法については、文字/線画の特徴として、同一色の複数画素が縦横斜め方向のいずれかで接していることが多いことがあり、この特徴を活かした方法を用いる。
図17のフローチャートを用いて、タイル属性判定部117における処理フローを詳細に説明する。
タイルバッファ103に蓄積されている注目タイルにおける左上の画素(座標で(0,0)の画素)へ、ポインタを移動させ(ステップ1701)、図11に示したa,b,c,dの位置にある4画素の中に、同一色の画素があるかどうか判定する(ステップ1702)。ここで同一色とは、R,G,Bの各色に関して同値であることをいう。もし、同一色が存在する場合には(1702でYes)、注目画素が文字/線画である可能性が高く、文字/線画属性と判定する。本実施の形態では、1画素でも文字/線画属性の画素が存在する場合には、注目タイルを文字/線画属性と判定するため、文字/線画属性を示すビット“1”をセレクタ115へ出力し(ステップ1703)、処理を終える。一方、同一色が存在しない場合(ステップ1702でNo)には、全画素に関して属性判定が終了したかどうか判断し(ステップ1704)、終了していなければ(ステップ1704でNo)、ポインタを右隣の画素へずらす(ステップ1705)。全画素に関する属性判定が終了したならば(ステップ1704でYes)、注目タイルは写真属性であると判定して、写真属性を示すビット“0”をセレクタ115へ出力する。
次に、実施形態におけるセレクタ115の処理について説明する。このセレクタ115は、可逆符号化データ、非可逆符号化データのいずれか一方をタイル単位に選択し、それを注目タイルの符号化データとして出力するものである。
実施形態におけるセレクタ115の選択条件は次の通りである。なお、以下の説明で、CLKとは注目タイルの可逆符号化データ量(符号長)を示し、CLHとは注目タイルの非可逆符号化データ量を示すものとする。
条件1:注目タイルが文字/線画属性であると判定された場合、つまりタイル属性判定部117から信号“1”を受信した場合、有効レベル数カウント部104からの信号とは無関係に、可逆符号化データを選択し、出力する。
条件2:注目タイルが写真属性であり、つまりタイル属性判定部117から信号“1”を受信した場合であり、CLH<CLKの関係を満たす場合、非可逆符号化データを選択し、出力する。
条件3:注目タイルが写真属性であり、つまりタイル属性判定部117から信号“1”を受信した場合であり、CLH≧CLKの関係を満たす場合、可逆符号化データを選択し、出力する。
条件4:上記条件2、3において、注目タイルの全コンポーネントの有効レベル数NLV(c)が、閾値MLより小さい場合、注目タイルの符号化データとして可逆符号化データが選択され易いようにするため、CLHに所定の正の値を加算する。
次に、実施形態における符号列形成部116を説明する。符号列形成部116は、セレクタ115から出力されるタイルごとの符号化データを結合させて受け取り、入力画像全体に対応する符号列を形成して出力する。そのため、符号化データの先頭には、図9に示すように、画像を復号するために必要となる情報、例えば、画像の水平方向画素数、垂直方向画素数(タイルサイズは固定とするので、タイル数を示す情報でもある)、コンポーネント数、各コンポーネントのビット数などの付加情報がヘッダとして付けられる。
以上説明したように本実施形態によれば、部分的に文字/線画画素を含むタイルを可逆符号化により処理できるため、文字/線画の品位を向上させることが可能となる。
また、実施形態で説明したように、可逆符号化の場合、入力された各色成分値をそのまま利用した可逆符号化と、インデックス値による可逆符号化の2つが存在することにより、文字・線画領域では、そのほとんどがインデックス値に基づく符号化が採用されることになり、更に高い圧縮率が期待できる。
上記実施形態におけるセレクタ115の選択条件は、条件1乃至4に限るものではない。例えば、1タイルの許容符号化データ量MPRを定義し、可逆符号化データ量CLKとの関係が「CLK<MPR」を満たしていれば、符号量としては満足することが約束されているので、可逆符号化データを選択するようにしても良い。
なお、実施形態における復号装置は、上記の符号化装置の説明から明らかであるが、例えば図12の構成で実現できよう。以下、同図に従って説明する。
タイルヘッダ解析部1201はタイル単位に符号化データを入力し、各タイルのヘッダを解析する。そして、そのタイルの符号化データが可逆であると判断した場合には、可逆復号部1202に入力した符号化データを出力する。一方、非可逆符号化データであると判断した場合には、非可逆復号部1203に出力する。
この結果、いずれかの復号部でタイル画像にまで復号されるが、タイルヘッダ解析部1201は、復号処理を行わせた復号部からのデータを選択させる信号をセレクタ1204に出力する。セレクタ1204は、この選択信号に従って、復号データを選択し、それをタイルバッファ1205に出力する。ブロック合成部1206は、タイルバッファ1205に格納されたタイル画像を読出し、ストライプバッファ1207の該当する位置に書き込む。そして1ストライプ分の復号画像が得られたところで、ストライプバッファ1207を復号結果の出力先、例えば、プリンタ等に出力することを繰り返す。
ここで可逆復号部1202は、例えば図13の構成で良いであろう。インデックス判定部は、符号化データのヘッダを解析し、インデックスの変換テーブル(図10(b)参照)があるか否かを判定し、変換テーブルが存在する場合には、その変換テーブル(符号化されている)を、インデックス復号部1202bに出力する。インデックス復号部1202bは、変換テーブルを復号し、インデックス値から画素値(実施形態では輝度値)への逆変換テーブルを生成し、それを逆インデックステーブルメモリ1202cに書き込む。この後、インデックス判定部1201は、各コンポーネントの符号化データを可逆復号部1202eに出力し、復号を行わせる。復号結果は、画素値、もしくは、インデックス値のいずれかとなる。逆インデックス変換部1202dは、復号されたデータをインデックス値であるものとし、逆インデックステーブル1202cを参照して画素値に変換する。インデックス判定部1202aは、各コンポーネントがインデックス値、画素値のいずれで符号化されているかについて判定済みであるので、その判定結果をセレクタ1202fに出力することで、注目タイルの注目コンポーネントの画素値を復号することが可能になる。
<変形例の説明>
上記実施形態では図1の構成に基づく説明であったが、パーソナルコンピュータ等の汎用の情報処理装置(以下、PC)上で実行するコンピュータプログラムでもっても実現する例を以下に説明する。
図14はPCのブロック構成図である。図示において、1401は装置全体を制御するCPUであり、1402はメインメモリとなるRAMである。1403はBIOSやブートプログラムを格納しているROMである。1404はキーボード、1405はマウス(登録商標)等のポインティングデバイス(PD)である。1406はCRTや液晶等の表示装置である。
1407はハードディスク装置等の外部記憶装置であり、ここにOSをはじめ、画像圧縮に関するプログラムが格納されている。また、各種データファイルもここに格納される。1408はフロッピー(登録商標)ディスクドライブ、CD−ROMドライブ等の記憶媒体ドライブであり、1409はスキャナ装置等の外部装置と接続するためのインタフェースである。そして、1410は上記構成を電気的に接続するためのバスである。
上記構成において、本装置の電源をONにすると、CPU1401はROM1403に格納されたOSをRAM1402にロードし、起動することになる。OS起動後、本変形例における画像符号化アプリケーションプログラムをOSを介して外部記憶装置1407からRAM1402にロードし、実行する。
ここでは説明を簡単なものとするため、インタフェース1409にイメージスキャナが接続されていて、原稿を読取り、その画像を符号化し、外部記憶装置1407にファイルとして格納する例を説明する。説明を簡単なものとするため、入力画像は上記の実施形態と同じ、R、G、B各8ビットで表わされているものとする。
図15、図16は本変形例における符号化処理を示すフローチャートである。
先ず、ステップS1201では、原稿画像を読取り、RAM1402に確保されたバッファーに1ストライプ分の画像データを格納する。
そして、ステップS1202にて、1タイル分の画像データをバッファより読み出す。そして、ステップS1250で、フラグFLAGを“0”に初期化し、ステップS1202で、そのタイル内の画素毎に属性を判定し、1画素でも文字/線画属性の画素が存在したら、そのタイルを文字/線画属性と判定し、ステップS1251でフラグFLAGを“1”にセットし、ステップS1203を行わず、ステップS1204に進む。
一方、文字/線画領域以外であると判断した場合には、ステップS1203で非可逆符号化を行う(この非可逆符号化処理で得られた符号化データ量をCLHとする)。
つまり、文字/線画領域である場合には、この時点で注目タイルについては、可逆符号化を行うことが約束されるわけであるから、ステップS1203の処理をスキップしたことをフラグFLAGに記憶させることになる。従って、文字/線画領域にある場合には、非可逆符号化処理が行われないことになるので、処理速度を早めることが可能になる。
さて、処理がステップS1204に進むと、可逆符号化の前段階である、読出した1タイル中のR、G、Bの有効レベル数NLV(R)、NLV(G)、NLV(B)を算出する。この処理は、図6に示すフローチャートにしたがえば良いであろう。
そして、ステップS1205にて、R成分の有効レベル数NLV(R)と閾値MLとを比較し、「NLV(R)≧ML」の関係を満たす場合には、ステップS1206に進んで、入力したタイルのR成分値をそのまま利用して可逆符号化を行う。
また、「NLV(R)<ML」の関係にあると判断した場合には、ステップS1207にてインデックス化し、ステップS1208にてインデックス値を可逆符号化する。
上記はR成分についての可逆符号化処理であるが、上記と同様の処理を、G、B成分についても行う。これを示すのがステップS1209、S1210である。それぞれの処理内容は、NLV(G)、NLV(B)と置換えれば良いので説明するまでもないであろう。
1つのタイルに対するR、G、Bの全コンポーネントの可逆符号化処理が完了する(生成される符号化データ量をCLKとする)と、ステップS1252にて、フラグFLAGが“1”であるか否かを判断する。“1”である場合には、注目タイルについては可逆符号化データを出力されることになっているので、ステップS1215(後述)に処理を進む。
また、フラグFLAGが“1”ではなく“0”であると判断した場合には、ステップS1211にて、全有効レベル数NLV(R)、NLV(G)、NLV(B)が閾値ML未満であるか否かを判断する。もしこの条件を満たすと判断した場合には、ステップS1212にて重み付け係数αに正の所定値(実施形態では仮に“100”)を設定する。また、1つの色成分の有効レベル数が閾値ML以上になった場合には、重み付け係数αには“0”を設定する。
こうして、重み付け係数αの設定処理を終えると、処理はステップS1214に進み、「CLK<CLH+α」を満足するか否かを判定する。
「CLK<CLH+α」を満たすと判断した場合、或いは、ステップS1252でYesと判定された場合、先のステップS1205乃至S1210で得られた可逆符号化データを、注目タイルの符号化データとしてRAM1402に確保された出力バッファに出力する。この際、データフォーマットは図10(a)もしくは図10(b)の形式である。
また、「CLK≧CLH+α」と判断した場合には、先のステップS1203の処理で得られた非可逆符号化データを、注目タイルの符号化データとして出力バッファに出力する。
ステップS1217は、注目タイルが注目ストライプの最後のタイルであるか否かを判断する。否の場合には、ステップS1202以降の処理を繰り返す。
また、注目タイルが注目ストライプの最後のタイルであると判断した場合には、ステップS1218に進み、注目ストライプが画像データの最終ストライプであるか否かを判断し、否の場合にはステップS1201以降の処理を繰り返す。
最終ストライプの最終タイルであった場合、画像全体の符号化が完了したことを意味するので、ステップS1219に進み、ヘッダ情報を付加し、出力バッファに格納された符号化データをファイルとして外部記憶装置1407に書き込み保存し、本処理を終了することになる。
以上説明したように、先に説明した第1の実施形態と同様の処理を、PC等の汎用の情報処理装置上で実行するアプリケーションプログラムとしても実現できることになり、同様の作用効果を奏することが可能になる。
なお、復号処理であるが、復号処理は基本的に符号化処理とは逆の手順にしたがって行えばよいのは、自明のことであろうから、ここでの説明については省略する。
また、実施形態では、符号化対象の画像データはR、G、B成分で表現され、各8ビットであるものとして説明したが、これに限られるものではなく、他の色空間、他のビット数でも構わない。これは以下に説明する例でも同様である。
[第2の実施形態]
第1の実施の形態に示した方法を用いることで、図20に示したような縦横方向のグラデーションや、左上から右下へ濃度が変化するグラデーションが一部存在するタイルを確実に可逆符号化することができる。
しかしながら、図21に示した、右上から左下へ濃度が変化するグラデーションについては、非可逆符号化することになり、画質の劣化が目立つ。本実施の形態においては、図21で示したようなグラデーション(以下、第1のグラデーションと呼ぶ)を含むタイルに関して、確実に可逆符号化できる方法を示す。
図19に本実施の形態における画像符号化装置を示す。同図において、第1の実施の形態の画像符号化装置におけるタイル判定部117を、タイル判定部1901へ置き換えたものである。以下の説明では、タイル判定部1901における処理に注力する。
第1のグラデーション領域において、図11の位置にある4画素a,b,c,dは、少なくとも一つのコンポーネントに関して、値がPa(C)<Pc(C)<Pb(C)<Pd(C)もしくはPa(C)>Pc(C)>Pb(C)>Pd(C)(ただし、C=0,1,2)のような関係にある(以下、一様増加/減少関係と呼ぶ)。
タイル判定部1901は、この特徴を利用して第1のグラデーションの有無を判定する。以下、図18のフローチャートを用いて、タイル属性判定部117における処理フローを詳細に説明する。なお、同図のフローチャートは第1の実施の形態におけるタイル判定部117のフローチャート(図17)に、ステップ1801を追加したものであり、当ステップに限定して処理フローを説明する。
ステップS1702で周囲4画素に同一画素が存在しない場合、周囲4画素の間で、一つ以上のコンポーネントに関して一様増加/減少関係があるかどうか判定する(ステップ1801)。もし一様増加/減少関係がある場合(ステップ1801でYes)、セレクタ115へビット“1”を出力し(ステップ1703)、そうでない場合、処理をステップ1704へ進める。
以上が画像符号化装置の説明である。
本実施の形態における画像復号装置に関しては、第1の実施の形態における画像復号装置と同様な処理を行うため、説明を割愛する。
以上説明したように本実施形態によれば、部分的にグラデーションを含むタイルを可逆符号化により処理できるため、グラデーションの品位を向上させることが可能となる。
[他の実施形態]
第1の実施の形態において、周囲4画素間における同一色画素の有無を基に画素属性を判定したが、画素属性の判定方法はこれに限られない。例えば、周囲4画素の中に注目画素と同色の画素が存在する場合、注目画素を文字/線画画素と判定してもよい。
また、通常、コンピュータプログラムは、それを格納したCD−ROM等のコンピュータ可読記憶媒体を、コンピュータにセットし、システムにコピーもしくはインストールすることで実行可能になるわけであるから、当然、このようなコンピュータ可読記憶媒体も本願発明の範疇にあることも明らかである。
第1の実施形態に係る画像処理装置のブロック構成図 可逆符号化部の構成を示す図 注目画素と近傍画素との関係を示す図 メモリ204に格納されるハフマンテーブルの例を示す図 フラグ配列F(c,i)のデータフォーマットを示す図 有効レベル数カウント部104の処理のフローチャート インデックス変換テーブルIDX(c、i )の内容の一例を示す図 インデックステーブル生成部113の処理を示すフローチャート 本画像処理装置の出力符号列のデータフォーマットを示す図 1つのタイルの符号列のデータフォーマットを示す図 注目画素と周囲画素を示す図 第1の実施形態における復号装置のブロック構成図 図12における可逆復号部のブロック構成図 第1の実施形態の変形例を実現する情報処理装置の構成図 第1の実施形態の変形例の処理手順を示すフローチャート 第1の実施形態の変形例の処理手順を示すフローチャート タイル属性判定部117におけるフローチャート タイル属性判定部1901におけるフローチャート 第2の実施形態に係る画像処理装置の構成図 グラデーションの説明図 グラデーションの説明図 文字劣化が生じるタイルの説明図
符号の説明
101 ストライプバッファ
102 ブロック分割部
103 タイルバッファ
104 有効レベル数カウント部
105 インデックステーブル用メモリ
106 インデックス変換部
108 タイルデータ可逆符号化部
109 可逆符号列形成部
113 インデックステーブル生成部
114 タイルデータ非可逆符号化部
116 符号列形成部
117 タイル属性判定部

Claims (8)

  1. 画像データを入力し、符号化する画像符号化装置であって、
    画像データを所定サイズのブロックに分割する分割手段と、
    分割されたブロックに関して、画素単位に文字/線画、写真の属性を判定し、文字/線画画素の有無を基に文字/線画属性を有する否かを判定する判定手段と、
    分割されたブロックについて可逆符号化し、可逆符号化データを生成する可逆符号化手段と、
    分割されたブロックについて非可逆符号化し、非可逆符号化データを生成する非可逆符号化手段と、
    前記判定手段によって、注目ブロックが文字/線画画像の属性を有する場合、前記可逆符号化手段で生成された可逆符号化データを選択し、注目ブロックが網点画像の属性を有さないと判断した場合には、前記可逆符号化手段及び前記非可逆符号化手段それぞれで生成された符号化データ量を重み付け比較し、データ量の少ない符号化データを選択し、出力する選択手段と、
    前記選択手段で選択されたブロック毎の符号化データを結合して、所定の符号化データ列として出力する出力手段と
    を備えることを特徴とする画像符号化装置。
  2. 前記可逆符号化手段は、
    前記分割手段で分割されたブロック中の各色成分の取り得る成分値範囲で、幾つの成分値が存在したか示す出現数を計数する計数手段と、
    ブロック内の各色成分値をインデックス値に変換する変換手段と、
    該計数手段で得られた各色成分の出現数と所定の閾値とを比較する比較手段と、
    該比較手段で出現数が前記閾値未満の場合には、前記変換手段で変換されたインデックス値を可逆符号化し、閾値以上の場合には成分値を可逆符号化する手段と
    を備えることを特徴とする請求項1に記載の画像符号化装置。
  3. 前記選択手段における重み付け比較は、可逆符号化手段で得られた符号量をCLK、非可逆符号化手段で得られた符号量をCLH、注目ブロックの全色成分の前記出現数が所定以下の場合には正の所定値となり、それ以外では0となる重み付け係数αを定義した場合、
    条件:CLK<CLH+α
    を満足する場合には、可逆符号化手段で得られた可逆符号化データを選択し、前記条件を満たさない場合には非可逆符号化手段で得られた非可逆符号化データを選択することを特徴とする請求項2に記載の画像符号化装置。
  4. 前記判定手段は、注目画素並びに周囲画素の状態を基に判定することを特徴とする請求項1に記載の画像符号化装置。
  5. 文字/線画だけでなくグラデーションの有無も判定できる画像符号化装置であって、画素単位のグラデーション属性を判定する際、注目画素の周囲画素に関して、所定の大小関係がある場合、注目画素はグラデーション属性を保有すると判定することを特徴とする請求項1に記載の画像符号化装置。
  6. 画像データを入力し、符号化する画像符号化方法であって、
    画像データを所定サイズのブロックに分割する分割工程と、
    分割されたブロックが網点画像の属性を有する否かを判定する判定工程と、
    分割されたブロックについて可逆符号化し、可逆符号化データを生成する可逆符号化工程と、
    分割されたブロックについて非可逆符号化し、非可逆符号化データを生成する非可逆符号化工程と、
    前記判定工程によって、注目ブロックが網点画像の属性を有する場合、前記可逆符号化工程で生成された可逆符号化データを選択し、注目ブロックが網点画像の属性を有さないと判断した場合には、前記可逆符号化工程及び前記非可逆符号化工程それぞれで生成された符号化データ量を重み付け比較し、データ量の少ない符号化データを選択し、出力する選択工程と、
    前記選択工程で選択されたブロック毎の符号化データを結合して、所定の符号化データ列として出力する出力工程と
    を備えることを特徴とする画像符号化方法。
  7. コンピュータが読み込み実行することで、入力した画像データを符号化する画像符号化装置として機能するコンピュータプログラムであって、
    画像データを所定サイズのブロックに分割する分割手段と、
    分割されたブロックが網点画像の属性を有する否かを判定する判定手段と、
    分割されたブロックについて可逆符号化し、可逆符号化データを生成する可逆符号化手段と、
    分割されたブロックについて非可逆符号化し、非可逆符号化データを生成する非可逆符号化手段と、
    前記判定手段によって、注目ブロックが網点画像の属性を有する場合、前記可逆符号化手段で生成された可逆符号化データを選択し、注目ブロックが網点画像の属性を有さないと判断した場合には、前記可逆符号化手段及び前記非可逆符号化手段それぞれで生成された符号化データ量を重み付け比較し、データ量の少ない符号化データを選択し、出力する選択手段と、
    前記選択手段で選択されたブロック毎の符号化データを結合して、所定の符号化データ列として出力する出力手段
    として機能することを特徴とするコンピュータプログラム。
  8. 請求項7に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
JP2006291456A 2006-10-26 2006-10-26 画像符号化装置及び方法及びプログラム及び記憶媒体 Withdrawn JP2008109478A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006291456A JP2008109478A (ja) 2006-10-26 2006-10-26 画像符号化装置及び方法及びプログラム及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006291456A JP2008109478A (ja) 2006-10-26 2006-10-26 画像符号化装置及び方法及びプログラム及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2008109478A true JP2008109478A (ja) 2008-05-08

Family

ID=39442455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006291456A Withdrawn JP2008109478A (ja) 2006-10-26 2006-10-26 画像符号化装置及び方法及びプログラム及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2008109478A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101783953A (zh) * 2010-03-08 2010-07-21 北京空间机电研究所 Jpeg-ls游程编码硬件实现方法
JP2010232953A (ja) * 2009-03-27 2010-10-14 Fuji Xerox Co Ltd 画像処理装置および画像処理プログラム
GB2481870A (en) * 2010-12-14 2012-01-11 Realvnc Ltd Image compression using lossless and lossy compression for text and non-text portions respectively

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010232953A (ja) * 2009-03-27 2010-10-14 Fuji Xerox Co Ltd 画像処理装置および画像処理プログラム
JP4662189B2 (ja) * 2009-03-27 2011-03-30 富士ゼロックス株式会社 画像処理装置および画像処理プログラム
CN101783953A (zh) * 2010-03-08 2010-07-21 北京空间机电研究所 Jpeg-ls游程编码硬件实现方法
GB2481870A (en) * 2010-12-14 2012-01-11 Realvnc Ltd Image compression using lossless and lossy compression for text and non-text portions respectively
GB2481870B (en) * 2010-12-14 2012-06-13 Realvnc Ltd Method and system for remote computing
US8760366B2 (en) 2010-12-14 2014-06-24 RealVNC Ltd. Method and system for remote computing

Similar Documents

Publication Publication Date Title
JP4418762B2 (ja) 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4979323B2 (ja) 画像処理装置及びその制御方法
JP4795161B2 (ja) 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP5558767B2 (ja) 画像処理装置及びその処理方法
JP4847398B2 (ja) 画像処理装置およびその方法
US8213727B2 (en) Image encoding apparatus and image decoding apparatus, and control method thereof
US20120262738A1 (en) Image processing apparatus, image processing method, and program
JP2007251834A (ja) 画像符号化装置及び復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
AU2007249106A1 (en) A lossless compressor for image data values
JP5375372B2 (ja) 圧縮符号化装置、および復号装置
JP2008109478A (ja) 画像符号化装置及び方法及びプログラム及び記憶媒体
JP4084802B2 (ja) 画像を処理する装置
JP2008042683A (ja) 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2006080793A (ja) 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4324079B2 (ja) 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4418736B2 (ja) 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2008078826A (ja) 画像処理装置及びその制御方法
JP4377351B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP2008042681A (ja) 画像処理方法及び装置、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP5432690B2 (ja) 画像符号化装置及びその制御方法
JP4795160B2 (ja) 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4771541B2 (ja) 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4699307B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4131969B2 (ja) データ圧縮装置およびデータ圧縮プログラム
JP4377352B2 (ja) データ圧縮装置およびデータ圧縮プログラム

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: 20100105