JP2007088685A - 画像圧縮装置、画像伸長装置、画像処理方法及びプログラム - Google Patents

画像圧縮装置、画像伸長装置、画像処理方法及びプログラム Download PDF

Info

Publication number
JP2007088685A
JP2007088685A JP2005273457A JP2005273457A JP2007088685A JP 2007088685 A JP2007088685 A JP 2007088685A JP 2005273457 A JP2005273457 A JP 2005273457A JP 2005273457 A JP2005273457 A JP 2005273457A JP 2007088685 A JP2007088685 A JP 2007088685A
Authority
JP
Japan
Prior art keywords
image
unit
block
resolution conversion
data
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.)
Pending
Application number
JP2005273457A
Other languages
English (en)
Inventor
Taro Yokose
太郎 横瀬
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2005273457A priority Critical patent/JP2007088685A/ja
Publication of JP2007088685A publication Critical patent/JP2007088685A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】 画像圧縮処理に伴う画質劣化を抑制する画像圧縮装置を提供する。
【解決手段】 画像処理装置2は、互いに隣接するブロックが互いにずれた状態となるように、入力画像を複数のブロックに分割し、分割されたブロック毎に、一部の色成分に対する解像度変換処理を行い、解像度変換処理がなされた複数のブロックの相関関係に基づいて、予測符号化方式により符号化する。これにより、解像度変換処理に伴う画質劣化の位置が分散されて、顕在化しにくくなる。
【選択図】図3

Description

本発明は、画像データを圧縮又は伸長する画像処理方法に関する。
例えば、JPEG符号化方式では、入力された画像データ(RGB)をYCbCr空間の画像データに変換し、色差CbCr成分をサブサンプリング(ダウンサンプリング)することにより、高圧縮率を実現している。
本発明は、上述した背景からなされたものであり、画像圧縮処理に伴う画質劣化を抑制する画像圧縮装置を提供することを目的とする。
[画像圧縮装置]
上記目的を達成するために、本発明にかかる画像圧縮装置は、入力画像を既定サイズの画像ブロックに分割するブロック分割手段と、前記ブロック分割手段により分割された画像ブロック毎に、複数の色成分の一部に対して解像度変換を行う解像度変換手段とを有し、前記ブロック分割手段は、互いに隣接する画像ブロックが主走査方向及び副走査方向の少なくとも一方にずれた状態となるように、入力画像を分割する。
好適には、画像ブロックの配列に応じて、画像ブロック列の端部に画素を追加する画素追加手段をさらに有する。
好適には、前記解像度変換手段は、色相成分及び彩度成分又はこれらのいずれか一方について、解像度を低下させる。
好適には、前記解像度変換手段により解像度変換がなされた複数の画像ブロックを比較して、これらの画像ブロックの一致度合いを示す一致データを符号化する符号化手段をさらに有する。
[画像伸長装置]
また、本発明にかかる画像伸長装置は、画像の圧縮データを伸長する画像伸長装置であって、圧縮データのうち、一部の色成分の階調値に対して、解像度変換処理を施す解像度変換手段と、前記解像度変換手段により解像度変換された色成分の階調値を、画像における位置に応じて変位させる領域変位手段とを有する。
好適には、データセット間の相関関係に基づいて、各データセットの値を生成するデータセット値生成手段と、前記データセット値生成手段により生成されたデータセット値の中から、複数の画素の階調値を切り出す切出し手段とをさらに有し、前記解像度変換手段は、前記切出し手段により切り出された各画素の階調値のうち、一部の色成分の階調値に対して解像度変換処理を施す。
[画像処理方法]
また、本発明にかかる画像処理方法は、互いに隣接する既定サイズの画像ブロックが主走査方向及び副走査方向の少なくとも一方にずれた状態となるように、入力画像を複数の画像ブロックに分割し、分割された画像ブロック毎に、複数の色成分の一部に対して解像度変換を行う。
また、本発明にかかる画像処理方法は、画像の圧縮データを伸長する画像処理方法であって、圧縮データのうち、一部の色成分の階調値に対して、解像度変換処理を行い、解像度変換が行われた色成分の階調値を、画像における位置に応じて変位させる。
[プログラム]
また、本発明にかかるプログラムは、互いに隣接する既定サイズの画像ブロックが主走査方向及び副走査方向の少なくとも一方にずれた状態となるように、入力画像を複数の画像ブロックに分割するステップと、分割された画像ブロック毎に、複数の色成分の一部に対して解像度変換を行うステップとをコンピュータに実行させる。
また、本発明にかかるプログラムは、画像の圧縮データを伸長するコンピュータにおいて、圧縮データのうち、一部の色成分の階調値に対して、解像度変換処理を行うステップと、解像度変換が行われた色成分の階調値を、画像における位置に応じて変位させるステップとをコンピュータに実行させる。
本発明の画像圧縮装置によれば、高速に画像データを圧縮することができる。
[背景と概略]
まず、本発明の理解を助けるために、その背景及び概略を説明する。
例えば、LZ符号化方式などの予測符号化方式では、既定の参照位置の画素値を参照して予測データを生成し、生成された予測データと注目画素の画像データとが一致する場合に、一致した予測データの参照位置など(以下、参照情報)が注目画素の符号データとして符号化される。
そのため、各画素毎に、注目画素の画像データと予測データとの一致判定を行う必要がある。
そこで、一致判定処理に効率化などを目的として、入力された画像を既定サイズのブロック(既定数の画素からなる画素群)に分割し、各ブロック間の相関関係を用いて、入力画像を符号化することが考えられる。この場合には、ブロック毎に一致判定処理が行われる。すなわち、複数の画素についてまとめて一致判定処理が行われることになる。
また、カラー画像では、階調値(画素値)の変更による影響が顕在化しやすい色成分と、顕在化しにくい色成分とが存在する。例えば、YCbCr色空間の画像データでは、Y成分の階調値の変更は、Cb成分及びCr成分よりも顕在化しやすい傾向にある。また、RGB色空間の画像データでは、R成分及びG成分の階調値の変更は、B成分よりも顕在化しやすい傾向にある。
そこで、より高い圧縮率の実現を目的として、上記各ブロックに含まれる複数の画素の一部の色成分の解像度を、他の色成分の解像度よりも低くして符号化することが考えられる。より具体的には、画素値の変更による影響が顕在化しにくい色成分(例えば、Cb成分及びCr成分)の解像度を低下させる。
色差CrCbの解像度変換(サブサンプリング)を行う場合、単純に間引く方法と、ローパスフィルタなどを通して高域を抑制してから間引く方法とがある。いずれの方法を適用しても、格子状に間引くと入力画像と干渉を起こす可能性がある。
例えば、最近傍補間法で拡大された画像である。このような拡大では、もとの1画素がN画素又はN+1画素に拡大される。そのような画像に対して、格子状に色差を間引くと、干渉が生じ画質劣化として顕在化する場合がある。
このような画質劣化は、全てのラインにおいて同じ方向に間引きを行うことが、原因で発生する。
しかし、色差の間引き(サブサンプリング)は、本来情報量を削減するのが目的であり、上述のように格子状に行う必要は必ずしもない。
そこで、本実施形態における画像処理装置2は、互いに隣接するブロックが互いにずれた状態となるように、入力画像を複数のブロックに分割し、分割されたブロック毎に、一部の色成分に対する解像度変換処理を行い、解像度変換処理がなされた複数のブロックの相関関係に基づいて、予測符号化方式により符号化する。
[ハードウェア構成]
次に、画像処理装置2のハードウェア構成を説明する。
図1は、本発明にかかる画像処理方法が適応される画像処理装置2のハードウェア構成を、制御装置21を中心に例示する図である。
図1に例示するように、画像処理装置2は、CPU212及びメモリ214などを含む制御装置21、通信装置22、HDD・CD装置などの記録装置24、並びに、LCD表示装置あるいはCRT表示装置およびキーボード・タッチパネルなどを含むユーザインターフェース装置(UI装置)25から構成される。
画像処理装置2は、例えば、本発明にかかる符号化プログラム5(後述)及び復号化プログラム6(後述)がプリンタドライバの一部としてインストールされた汎用コンピュータであり、通信装置22又は記録装置24などを介して画像データを取得し、取得された画像データを符号化又は復号化してプリンタ装置3に送信する。
[符号化プログラム]
図2は、制御装置21(図1)により実行され、本発明にかかる画像処理方法を実現する符号化プログラム5の機能構成を例示する図である。
図2に例示するように、符号化プログラム5は、色変換部500、画像位置判定部510、ブロック抽出部520、端部処理部530、解像度低減部540、及び予測符号化部550を有する。
符号化プログラム5において、色変換部500は、入力された画像データの色空間を変換する。
例えば、色変換部500は、画像読取りまたは画像出力に用いられる色空間(例えば、RGB色空間、CMYK色空間など)の画像データを、輝度成分(または明度成分)と他の色成分(例えば、色差成分)とが分離された色空間(YCbCr色空間、Lab色空間、Luv色空間、マンセル色空間など)の画像データに変換する。
本例の色変換部500は、RGB色空間で表現された画像データを、YCbCr色空間の画像データに変換する。
画像位置判定部510は、処理対象である画素群の画像上の位置を判定し、判定された画像上の位置の情報(位置情報)をブロック抽出部520に出力する。画像上の位置は、例えば、画素それぞれの座標、画素群が属するライン(主走査ライン及び副走査ライン又はこれらの一方)の識別情報、又は、ブロックの配列方向における順序などである。
本例の画像位置判定部510は、処理対象である注目ラインが奇数番目のライン(以下、奇数ライン)であるか偶数番目のライン(以下、偶数ライン)であるかを判定し、奇数ラインであるか偶数ラインであるかを示すフラグをブロック抽出部520に出力する。
ブロック抽出部520は、入力された画像を既定サイズのブロックに分割する。より具体的には、ブロック抽出部520は、互いに隣接するブロックが互いにずれた状態となるように、入力画像を複数のブロックに分割し、分割されたブロックを端部処理部530に出力する。
例えば、ブロック抽出部520は、画像位置判定部510から入力された位置情報に応じて、ブロックの切出し位置を変位させる。
本例のブロック抽出部520は、画像位置判定部510から入力された位置情報(奇数ラインであるか偶数ラインであるか)に基づいて、処理対象である注目ラインが奇数ラインであるか偶数ラインであるかを判定し、注目ラインが奇数ラインである場合には、ラインの始端(最初に処理する部分)から、2×1サイズのブロックを順に切り出し、注目ラインが複数ラインである場合には、注目ラインの始端の次の画素から、2×1サイズのブロックを順に切り出す。すなわち、本例のブロック抽出部520は、副走査ライン毎にブロックの切出し開始位置を1画素分に変位させて、ブロックの切出し周期が隣接するライン間で一致しないようにしている。なお、2×1サイズのブロックとは、主走査方向に2画素、かつ、副走査方向に1画素からなる矩形領域である。
ブロック抽出部520は、ブロックに分割された画像データ(ブロックとして分割されなかった端部の画素を含む)を端部処理部530に出力する。
端部処理部530は、ブロック抽出部520から入力された画像の端部に対して、画素の追加又は削除を行う。
より具体的には、端部処理部530は、ブロック抽出部520による分割処理によりブロックの一部となれなかった画素に対して、同一の画素値又は既定画素値(例えば、最小階調値又は最大階調値など)の画素(以下、追加画素)を追加して、この端部の画素と追加画素とからなるブロックを生成する。
また、端部処理部530は、ブロック抽出部520による分割処理によりブロックの一部となれなかった画素を削除してもよいし、入力画像の両端の画素をまとめて1つのブロックを生成してもよい。
本例の端部処理部530は、偶数ラインの両端(始端及び終端)にそれぞれ、始端の画素と同一画素値の追加画素、及び、終端の画素と同一画素値の追加画素を追加して、偶数ラインの両端にブロックを生成する。
端部処理部530は、ブロック抽出部520により分割されたブロックと、端部で生成したブロックとを解像度変換部540に出力する。
解像度低減部540は、ブロック抽出部520により分割されたブロック毎に、入力された画像データ(本例では、YCbCrの画像データ)のうち、一部の色成分の画像データに対して解像度変換処理を施す。
例えば、解像度低減部540は、他の色成分と比較して、画素値の変更が顕在化しにくい色成分の画像データに対して、ブロック毎に解像度を低下させる解像度変換処理を施す。
本例の解像度低減部540は、端部処理部530から入力されたYCbCr色空間の画像データ(ブロックに分割されたもの)を、ブロック毎に階調値(2つのY値、2つのCb値、及び2つのCr値)を並び替えてデータセットを生成し、生成されたデータセット(すなわち、ブロックに含まれる複数の画素の階調値)のうち、Cb成分及びCr成分の画像データに対して、主走査方向の解像度を半分にする解像度変換処理を施す。
例えば、解像度低減部540は、解像度変換処理として、ブロックに含まれる複数の画素の平均値(階調値の平均)、最頻値、又は中央値を算出してもよいし、単に、ブロックの最初の画素の画素値を適用してもよい。
解像度低減部540により解像度変換が行われたデータセットは、予測号株540に出力される。
予測符号化部550は、解像度低減部540から入力される複数のブロックのデータセット値を比較して、予測符号化処理を行う。本例の予測符号化処理は、注目ブロックのデータセット値を符号化する場合に、この注目ブロックのデータセット値と、他のブロックのデータセット値との相関関係を利用する符号化方式である。したがって、予測符号化処理は、例えば、ブロック毎に順次符号化(点順符号化)することが可能であり、各色成分の画像毎に符号化(面順符号化)するJPEG等とは異なる。
図3は、ブロック抽出部520により抽出されるブロックを例示する図であり、図3(A)は、主走査方向にずらして抽出されたM×Nサイズのブロックを例示し、図3(B)は、副走査方向にずらして抽出されたM×Nサイズのブロックを例示し、図3(C)は、本例における2×1サイズのブロックを例示する。なお、M及びNは自然数である。また、本図の左右方向が画像の主走査方向に相当し、上下方向が画像の副走査方向に相当する。
図3(A)に例示するように、ブロック抽出部520(図2)は、互いに副走査方向で隣接するブロックが主走査方向にずれるように、M×Nサイズのブロックを抽出してもよい。
解像度低減部540による解像度変換処理(間引き処理)は、画質劣化の原因となりうるが、図3(A)に例示するように、処理単位であるブロックを処理方向(画素の配列方向)にずらすことにより、画質劣化を顕在化しにくくすることができる。
また、図3(B)に例示するように、ブロック抽出部500(図2)は、互いに主走査方向で隣接するブロックが副走査方向にずれるように、M×Nサイズのブロックを抽出してもよい。
本例のブロック抽出部520は、副走査ライン毎に、ブロックの切出し位置を1画素変位させることにより、図3(C)に例示するように、互いに副走査方向で隣接するブロックが主走査方向に1画素ずれるように、2×1サイズのブロックを抽出することができる。
なお、切出し位置を変位させることにより、図3(C)に示されているように、偶数ラインの両端には、ブロックに含まれなかった画素(端数画素)が残ることになる。
図4は、端部処理部530による処理を説明する図である。
図4(A)に例示するように、ライン毎に切出し位置を変位させてブロックを切り出すことにより、偶数ラインの両端には、ブロックに含まれなかった端数画素が残るが、本例の端部処理部530は、この端数画素と同じ画素値の画素を追加画素として端部に追加することにより、図4(B)に例示するように、左端ブロック、及び、右端ブロックを生成することができる。
なお、この場合には、奇数ラインと偶数ラインとで、画素数及びブロック数が異なることになるので、図4(C)に例示するように、端部処理部530は、偶数ラインの一方の端部の端数画素(本例では左端の画素)を削除し、他方の端部の端数画素(本例では右端の画素)に、同一画素値の追加画素を追加して右端ブロックを生成してもよい。この場合には、奇数ラインと偶数ラインとで、画素値及びブロック数が一致する。
また、端部処理部530は、偶数ラインの両端の端数画素をまとめて1つのブロックとしてもよい。
図5は、解像度低減部540の処理を説明する図であり、図5(A)は、2×1サイズのブロックに含まれる階調値を例示し、図5(B)は、2×1サイズのブロックのデータセット900(解像度変換前)を例示し、図5(C)は、解像度変換後のデータセット902を例示する。
図5(A)に例示するように、2×1サイズのブロックには、2つの画素が含まれており、それぞれの画素には、YCbCr色空間のY成分、Cb成分、及びCr成分が含まれている。本例では、説明の便宜上、ブロックに含まれる一方の画素を「画素0」とし、他方の画素を「画素1」と表す。また、画素0に含まれるY成分、Cb成分及びCr成分を、それぞれY0、Cb0及びCr0と表し、画素1に含まれるY成分、Cb成分及びCr成分を、それぞれY1、Cb1及びCr1と表す。
解像度低減部540は、各ブロックに含まれる画素群の画素値を、色成分毎に分類し、図5(B)に例示するように、色成分毎にまとめて配置してデータセット900を生成する。
本例では、まず、ブロックに含まれる画素群のY成分(Y0及びY1)が配置され、この後ろに、Cb成分(Cb0及びCb1)が配置され、さらにこの後ろに、Cr成分(Cr0及びCr1)が配置される。
なお、Y0からCr1までの各値は、本例では、8ビットで表現されている。従って、解像度変換前のデータセット900は、48ビットのビット列である。
解像度低減部540は、図5(C)に例示するように、生成されたデータセット900のうち、Cb成分に相当する部分、及び、Cr成分に相当する部分を、それぞれ1つのCb値及びCr値に変換する。本例では、Cb0及びCb2の平均値が図5(C)に例示する「Cb」となり、Cr0及びCr1の平均値が図5(C)に例示する「Cr」となる。
これにより、解像度変換後のデータセット902は、32ビットのビット列となる。
図6は、予測符号化部550(図2)の構成をより詳細に説明する図である。
図6に例示するように、予測符号化部550は、複数の予測部552(第1予測部552a、第2予測部552b、第3予測部552c、第4予測部552d)、予測誤差算出部554、ラン計数部556、選択部558、及び符号生成部560を含む。
予測部552は、注目ブロックのデータセット値(データセットを1つのビット列とした場合の値)を符号化する場合に、他のブロックのデータセット値に基づいて、注目ブロックの予測データを生成し、生成された予測データと、注目ブロックのデータセット値とを比較して、比較結果をラン計数部556に出力する。
より具体的には、第1予測部552a〜第4予測部552dは、それぞれ参照ブロックA〜D(図7を参照して後述)のデータセット値(本例における予測データ)と、注目ブロックX(図7を参照して後述)のデータセット値とを比較して、データセット値が一致した場合(すなわち、予測が的中した場合)に、自己を識別する予測部IDをラン計数部556に対して出力し、これ以外の場合に、一致しなかった旨をラン計数部556に対して出力する。
なお、予測部552は、1種類以上であればよく、例えば、参照ブロックAを参照する第1予測部552aのみを設けてもよい。
予測誤差算出部554は、予め定められた予測方法で注目ブロックの予測データを生成し、生成された予測データと、この注目ブロックのデータセット値との差分を算出し、算出された差分を予測誤差として選択部558に出力する。
より具体的には、予測誤差算出部554は、既定の参照位置にあるブロックのデータセット値に基づいて、注目ブロックのデータセット値を予測し、その予測値を注目ブロックの実際のデータセット値から減算し、予測誤差値として選択部558に対して出力する。予測誤差算出部554の予測方法は、符号データの復号化処理における予測方法と対応していればよい。
本例の予測誤差算出部554は、第1予測部552aと同じ参照位置(参照ブロックA)のデータセット値を予測値とし、この予測値と実際のデータセット値(注目ブロックXのデータセット値)との差分をコンポーネント毎(Y0、Y1、Cb、及び、Crのそれぞれについて)算出する。
なお、注目ブロックが最左端である場合のように、参照ブロックAが実在しない場合に、予測誤差算出部554は、デフォルトブロックのデータセット値(既定の値)を予測値として、予測誤差を算出する。デフォルトブロックのデータセット値のうち、色差成分に相当する値は、例えば0に設定されている。
ラン計数部556は、同一の予測部IDが連続する数をカウントし、予測部ID及びその連続数を選択部558に対して出力する。
本例のラン計数部556は、全ての予測部552において予測値が注目画素の画素値と一致しなかった場合に、内部カウンタでカウントされている予測部ID及びその連続数を出力する。
選択部558は、ラン計数部556から入力された予測部ID及び連続数、並びに、予測誤差算出部554から入力された予測誤差値に基づいて、最も長く連続した予測部IDを選択し、この予測部ID及びその連続数並びに予測誤差値を被符号化シンボル(予測データ)として符号生成部560に対して出力する。なお、予測部ID、その連続数、及び、予測誤差値は、本発明にかかる一致データの具体例であり、データセット間の相関関係を示す情報の具体例でもある。
符号生成部560は、選択部558から入力された被符号化シンボル(予測部ID、連続数及び予測誤差値)を符号化し、通信装置22(図1)又は記録装置24(図1)などに出力する。
図7は、予測符号化部550(図2、図6)によりなされる符号化処理を説明する図であり、図7(A)は、予測部552により参照されるブロックの位置を例示し、図7(B)は、それぞれの参照位置に対応付けられた符号を例示し、図7(C)は、符号生成部560により生成される符号データを例示する。
図7(A)に例示するように、複数の予測部552それぞれの参照位置は、注目ブロックXとの相対位置として設定されている。具体的には、第1予測部552aの参照ブロックAは、注目ブロックXの主走査方向上流に設定され、第2予測部552bから第4予測部552dの参照ブロックB〜Dは、注目ブロックXの上方(副走査方向上流)の主走査ライン上に設定されている。
また、図7(B)に例示するように、それぞれの参照ブロックA〜Eには符号が対応付けられている。
いずれかの予測部552(参照ブロック)で予測が的中した場合には、ラン計数部556(図6)は、予測が的中した予測部552(参照ブロック)について、予測部IDの連続数を増加させ、全ての予測部552(参照ブロック)で予測が的中しなかった場合に、カウントしていた予測部IDの連続数を選択部558に出力する。
符号生成部560は、図7(B)に例示するように、各予測部552(参照位置)と符号とを互いに対応付けており、注目ブロックXとデータセット値が一致した参照位置に対応する符号を出力する。なお、それぞれの参照位置に対応付けられている符号は、例えば、各参照位置の的中率に応じて設定されたエントロピー符号であり、的中率に応じた符号長となる。
また、符号生成部560は、同一の参照位置で連続してデータセット値が一致する場合には、ラン計数部556によりカウントされたその連続数を符号化する。これにより、符号量が少なくなる。このように、符号化プログラム5は、図7(C)に例示するように、いずれかの参照位置で画素値が一致した場合には、その参照位置に対応する符号と、この参照位置でデータセット値が一致する連続数とを符号化し、いずれの参照位置でもデータセット値が一致しなかった場合には、既定の参照位置(参照ブロック)のデータセット値と注目ブロックXのデータセット値との差分(予測誤差値)を符号化する。
図8は、符号化プログラム5(図2)による符号化処理(S10)のフローチャートである。
図8に示すように、ステップ100(S100)において、色変換部500(図2)は、入力された画像データ(RGB色空間の画像データ)を、YCbCr色空間の画像データに変換する。
ステップ105(S105)において、符号化プログラム5は、色変換された画像データの中から、走査順に注目ラインを設定する。
色変換部500は、色変換した画像データ(YCbCr色空間の画像データ)の中から、注目ラインの画像データをブロック抽出部520に出力する。
ステップ110(S110)において、画素位置判定部510(図2)は、設定された注目ラインが奇数ラインであるか偶数ラインであるかを判定し、判定結果を、ブロック抽出部520を介して、端部処理部530に出力する。
符号化プログラム5は、注目ラインが奇数ラインである場合に、S120の処理に移行し、注目ラインが偶数ラインである場合に、S115の処理に移行する。
ステップ115(S115)において、端部処理部530は、ブロック抽出部520を介して、注目ラインが偶数ラインである旨が画素位置判定部510から入力されると、図4(B)に示すように、注目ラインの両端に、両端それぞれと同一の画素値を有する追加画素をそれぞれ追加する。
ステップ120(S120)において、ブロック抽出部520(図2)は、色変換部500から入力された注目ライン(偶数ラインの場合、端部処理部530により追加画素が追加されたライン)の中から、図3(C)に示すように、読込み順に2×1サイズのブロックを抽出し、抽出されたブロックを、解像度低減部540に出力する。ここで、抽出されるブロックは、注目ブロックXであり、2つの画素を含み、それぞれの画素は、Y成分の画素値、Cb成分の画素値、及びCr成分の画素値を有する。
ステップ125(S125)において、解像後低減部540(図2)は、ブロック抽出部520から入力された注目ブロックXの画素値(2つの画素のY成分、Cb成分、及びCr成分)を色成分毎に分類して配列し、解像度変換前のデータセット900(図5(B))を作成する。
次に、解像度低減部540は、作成された注目ブロックXのデータセット900(解像度変換前)のうち、Cb成分及びCr成分に相当する部分(本例では、下位の32ビット)に基づいて、解像度低減後のCb成分及びCr成分を生成する。すなわち、解像度低減部540は、解像度変換前のデータセット900のCb成分及びCr成分について、それぞれ平均値を算出し、算出されたCb成分の平均値及びCr成分の平均値で置換して、解像度変換後のデータセット902(図5(C))を生成し、生成されたデータセット902を予測符号化部550に対して出力する。
ステップ130(S130)において、予測符号化部550に設けられた複数の予測部552(図6)は、解像度低減部540から以前に入力された注目ブロックのデータセット902(すなわち、バッファに記憶されているデータセット値(既に処理されたブロックのデータセット値))に基づいて、現在の注目ブロックXの予測データ(データセット値)を生成する。
また、予測誤差算出部554(図6)は、新たに入力された注目ブロックXのデータセットと、参照ブロックAのデータセットとの差分を、8ビット毎(すなわち、コンポーネント毎)に算出し、算出された差分を予測誤差として選択部558に出力する。すなわち、本例の予測誤差は、4つの誤差値を含む。
ステップ135(S135)において、各予測部552(図6)は、生成された予測データ(参照ブロックのデータセット値)と、注目ブロックXのデータセット値とを比較し、一致するか否かを判定し、判定結果(一致した予測部の予測部ID、又は、一致しなかった旨)をラン計数部556に出力する。
符号化プログラム5は、いずれかの予測部552において注目ブロックXのデータセット値と予測データとが一致した場合に、S140の処理に移行し、いずれの予測部552においても注目ブロックXのデータセット値と予測データとが一致しなかった場合に、S145の処理に移行する。
ステップ140(S140)において、ラン計数部556(図6)は、いずれかの予測部552から入力された予測部IDに基づいて、この予測部IDに対応するカウント値を1つ増加させる。
なお、符号化プログラム5は、次のブロックに対する処理を行うべくS120に戻る。
ステップ145(S145)において、ラン計数部556は、予測部552から入力された判定結果に基づいて、いずれの予測部552においても予測が的中しなかった旨を検知すると、各予測部IDに対応するカウント値を選択部558に出力する。
選択部558は、ラン計数部556から各予測部IDのカウント値が入力されると、入力されたカウント値に基づいて、予測部IDの最長連続数を算出し、算出された最長連続数及び予測部IDを符号生成部560に出力する。
その後に、選択部558は、予測誤差算出部554から入力された最新の予測誤差(すなわち、全ての予測部552において予測が的中しなかった注目ブロックXに関する予測誤差)を符号生成部560に出力する。
ステップ150(S150)において、符号化プログラム5は、注目ブロックが注目ラインの終端に位置するか否かを判定し、注目ブロックが注目ラインの終端に位置しない場合に、S120の処理に戻って、同じ注目ライン上の次のブロックに対する処理を行い、注目ブロックが注目ラインの終端に位置する場合に、S155の処理に移行する。
ステップ155(S155)において、符号化プログラム5は、入力された画像データの全てについて処理が終了したか否かを判定し、未処理のラインが存在する場合に、S105の処理に戻って、次のラインを注目ブロックとして処理し、これ以外の場合に、S160の処理に移行する。
ステップ160(S160)において、符号生成部560(図6)は、選択部558から入力される予測部ID、連続数、及び予測誤差を、入力順に符号化し、符号データを通信装置22(図1)又は記録装置24(図1)に出力する。
なお、上記フローチャートでは、偶数ラインの両端に追加画素を追加してからブロックを切り出しているが、これに限定されるものではなく、偶数ラインでは、2画素目からブロックを切り出していき、両端の端数画素に対しては、後で追加画素を追加してブロックとしてもよい。
[復号化プログラム]
次に、上記のように符号化された符号データの復号化方法について説明する。
図9は、制御装置21(図1)により実行され、本発明にかかる画像処理方法を実現する復号化プログラム6の機能構成を例示する図である。
図9に例示するように、復号化プログラム6は、復号値生成部600、復号値分割部610、補間処理部620、ブロック変位部630、データ出力部640、及び画像位置判断部650を有する。
復号化プログラム6において、復号値生成部600は、図7(B)に例示したものと同様に、符号と予測部ID(参照位置)とを互いに対応付けるテーブルを有し、入力された符号データに基づいて、参照位置を特定する。また、復号値生成部600は、例えば、ハフマン符号の符号表などを用いて、入力された符号データ(連続数又は予測誤差の符号)に対応する、予測部IDの連続数、及び、予測誤差などの数値も復号化する。
さらに、復号値生成部600は、このように復号化された参照位置、連続数及び予測誤差に基づいて、各ブロックのデータセット値を生成する。
より具体的には、復号値生成部600は、予測部ID及びその連続数が復号化された場合に、この予測部IDに対応する参照ブロック(既に復号化されたブロック、又は、画像の上流端に設定されたデフォルトブロック)のデータセット値を読み出し、そのデータセット値を連続数だけ繰り返し出力する。
また、復号値生成部600は、予測誤差が復号化された場合に、既定の予測データと、この予測誤差との和を、データセット値として出力する。本例の復号値生成部600は、復号化された予測誤差値と、直前に復号化されたデータセット値(すなわち、参照ブロックAのデータセット値)との和を、この注目ブロックのデータセット値として出力する。
復号値分割部610は、復号値生成部600から入力されるデータセット値を、既定のビット位置で分割して、各画素及び各色成分の階調値(画素値)を抽出する。
本例の復号値分割部610は、順に入力されるデータセット値902(図5(C))を8ビットずつ分割して、Y0、Y1、Cb及びCrとする。
補間処理部620は、復号化されたデータセット902の一部の色成分(Cb成分及びCr成分)に対して、解像度変換処理を行う。例えば、補間処理部620は、Cb成分及びCr成分を、Y成分の個数だけ(すなわち、各ブロックに含まれる画素数だけ)単純に複製してもよいし、近傍ブロックのCb成分又はCr成分に基づいて、例えば線形補間法又はキュービックコンボリューション法などにより補間してもよい。
すなわち、補間処理部620は、復号化されたデータセット902のCb成分及びCr成分に対して解像度変換処理を行って、データセット900を生成し、生成されたデータセット900を並び替えて、ブロックに含まれる画素(図5(A))を再現させる。
ブロック変位部630は、画像位置判断部650により判断される画像内の位置(すなわち、復号画像における位置)に応じて、補間処理部620により再現されたブロックを変位させる。
より具体的には、ブロック変位部630は、復号画像内の位置に応じて、ブロックを変位させることにより、符号化処理におけるブロックの変位を相殺する。
本例のブロック変位部630は、例えば復号画像のラインの先頭が一致するよう配置されている場合には、復号化される偶数ラインのみを走査上流方向に1画素分変位させる。
データ出力部640は、ブロック変位部630から入力されたブロックをまとめて1つの画像データとして外部に出力する。
より具体的には、データ出力部640は、ブロック変位部630から入力されたブロックのうち、偶数ラインの両端にあるブロックに対して追加画素を削除する処理を行い、奇数ライン及び偶数ラインのブロックをまとめて1つの画像データとして外部に出力する。
画像位置判断部650は、データ出力部640に入力されるブロックの画像内の位置を判断し、判断結果をブロック変位部630に出力する。
本例の画像位置判断部650は、データ出力部640から入力されるブロックが奇数ライン上のブロックであるか偶数ライン上のブロックであるかを判断し、判断結果をブロック変位部630に出力する。
図10は、復号化プログラム6(図9)による復号化処理(S20)のフローチャートである。
図10に示すように、ステップ200(S200)において、復号値生成部600は、既定の符号表を参照して、入力された符号データに対応する被符号化シンボル(参照位置(予測部ID)、連続数及び予測誤差)を生成し、生成された被符号化シンボルに基づいて、各ブロックのデータセット902(図5(C))を生成する。
ステップ205(S205)において、復号化プログラム6は、復号化されたデータセット902の中から、入力順に注目データセットを設定する。
復号値生成部600は、注目データセットを復号値分割部610に出力する。
ステップ210(S210)において、復号値分割部610は、復号値生成部600から入力される注目データセットを8ビット毎に分割して、分割されたビット列のうち、上位2つのビット列を、図5(C)に示すように、Y0及びY1としてブロック変位部630に出力し、下位の2つのビット列をCb及びCrとして補間処理部620に出力する。
ステップ215(S215)において、補間処理部620は、復号値分割部610から入力された注目データセット902のCb成分とCr成分とをそれぞれ複製することにより、Cb0及びCb1と、Cr0及びCr1とを生成し、生成されたCb0、Cb1、Cr0及びCr1をブロック変位部630に出力する。
補間処理部620から出力されるCr成分及びCb成分と、復号値分割部610から出力されるY成分とが統合されることにより、ブロックの画素が再現される。
ステップ220(S220)において、復号化プログラム6は、注目データセットがラインの終端に相当するか否かを判定し、注目データセットがラインの終端に相当しない場合に、S205の処理に戻って、次のデータセットを注目データセットして処理を行い、注目データセットがラインの終端に相当する場合に、このラインのブロックをまとめて注目ラインの画像データとし、S225の処理に移行する。
なお、注目データセットがラインの終端に相当するか否かの判断は、例えば、ライン終端のデータセットに既定のフラグを付加しておいてもよいし、ライン毎にデータセット数をカウントして行ってもよい。
ステップ225(S225)において、画像位置判断部650は、データ出力部640から入力されるライン(すなわち、これまでに復号化されたライン)が奇数ラインであるか偶数ラインであるかを記録し、直前ラインの奇数ラインであるか偶数ラインであるかに基づいて、注目ラインが奇数ラインであるか偶数ラインであるかを判断し、判断結果をブロック変位部630に出力する。
復号化プログラム6は、注目ラインが奇数ラインである場合に、S240の処理に移行し、注目ラインが偶数ラインである場合に、S230の処理に移行する。
なお、奇数ラインの画像データは、そのままデータ出力部640に入力される。
ステップ230(S230)において、ブロック変位部630は、注目ライン(すなわち、偶数ライン)を、走査上流方向に1画素だけ変位させて、データ出力部640に出力する。
ステップ235(S235)において、データ出力部640は、ブロック変位部630から入力された注目ライン(すなわち、偶数ライン)の両端にある画素(すなわち、追加画素)を削除する。
ステップ240(S240)において、復号化プログラム6は、全てのデータセットが処理されたか否かを判定し、未処理のデータセットが存在する場合に、S205の処理に戻って、次のデータセットを注目データセットとして処理し、これ以外の場合に、ブロック変位部630から入力されたライン(奇数ライン及び偶数ライン)をまとめて1つの画像データとして外部に出力する。
なお、データ出力部640は、復号化された画像データ(YCbCr色空間の画像データ)を、RGB色空間の画像データに変換してもよい。
以上説明したように、本実施形態の画像処理装置2は、入力画像から抽出されるブロックを主走査方向にずらすことにより、CbCr成分の解像度変換に伴う画質劣化が特定の列に集中させず分散させるので、画像全体の画質を向上することができる。
[変形例]
次に、上記実施形態の変形例を説明する。
上記実施形態では、Y成分、Cb成分及びCr成分全てをブロックとして切り出しているが、Cb成分及びCr成分(すなわち、解像度変換の対象となる色成分)のみをブロックとして切り出してもよい。この場合には、符号化プログラム5は、例えば、Cb成分及びCr成分からデータセットを作成し、Y成分とは別に予測符号化する。
本発明にかかる画像処理方法が適応される画像処理装置2のハードウェア構成を、制御装置21を中心に例示する図である。 制御装置21(図1)により実行され、本発明にかかる画像処理方法を実現する符号化プログラム5の機能構成を例示する図である。 ブロック抽出部520により抽出されるブロックを例示する図であり、(A)は、主走査方向にずらして抽出されたM×Nサイズのブロックを例示し、(B)は、副走査方向にずらして抽出されたM×Nサイズのブロックを例示し、(C)は、本例における2×1サイズのブロックを例示する。 端部処理部530による処理を説明する図である。 解像度低減部540の処理を説明する図であり、(A)は、2×1サイズのブロックに含まれる階調値を例示し、(B)は、2×1サイズのブロックのデータセット900(解像度変換前)を例示し、(C)は、解像度変換後のデータセット902を例示する。 予測符号化部550(図2)の構成をより詳細に説明する図である。 予測符号化部550(図2、図6)によりなされる符号化処理を説明する図であり、(A)は、予測部552により参照されるブロックの位置を例示し、(B)は、それぞれの参照位置に対応付けられた符号を例示し、(C)は、符号生成部560により生成される符号データを例示する。 符号化プログラム5(図2)による符号化処理(S10)のフローチャートである。 制御装置21(図1)により実行され、本発明にかかる画像処理方法を実現する復号化プログラム6の機能構成を例示する図である。 復号化プログラム6(図9)による復号化処理(S20)のフローチャートである。
符号の説明
2・・・画像処理装置
5・・・符号化プログラム
500・・・色変換部
510・・・画像位置判定部
520・・・ブロック抽出部
530・・・端部処理部
540・・・解像度低減部
550・・・予測符号化部
552・・・予測部(第1予測部〜第4予測部)
554・・・予測誤差算出部
556・・・ラン計数部
558・・・選択部
560・・・符号生成部
6・・・復号化プログラム
600・・・復号値生成部
610・・・復号値分割部
620・・・補間処理部
630・・・ブロック変位部
640・・・データ出力部
650・・・画像位置判断部

Claims (10)

  1. 入力画像を既定サイズの画像ブロックに分割するブロック分割手段と、
    前記ブロック分割手段により分割された画像ブロック毎に、複数の色成分の一部に対して解像度変換を行う解像度変換手段と
    を有し、
    前記ブロック分割手段は、互いに隣接する画像ブロックが主走査方向及び副走査方向の少なくとも一方にずれた状態となるように、入力画像を分割する
    画像圧縮装置。
  2. 画像ブロックの配列に応じて、画像ブロック列の端部に画素を追加する画素追加手段
    をさらに有する請求項1に記載の画像圧縮装置。
  3. 前記解像度変換手段は、色相成分及び彩度成分又はこれらのいずれか一方について、解像度を低下させる
    請求項1に記載の画像圧縮装置。
  4. 前記解像度変換手段により解像度変換がなされた複数の画像ブロックを比較して、これらの画像ブロックの一致度合いを示す一致データを符号化する符号化手段
    をさらに有する請求項1に記載の画像圧縮装置。
  5. 画像の圧縮データを伸長する画像伸長装置であって、
    圧縮データのうち、一部の色成分の階調値に対して、解像度変換処理を施す解像度変換手段と、
    前記解像度変換手段により解像度変換された色成分の階調値を、画像における位置に応じて変位させる領域変位手段と
    を有する画像伸長装置。
  6. データセット間の相関関係に基づいて、各データセットの値を生成するデータセット値生成手段と、
    前記データセット値生成手段により生成されたデータセット値の中から、複数の画素の階調値を切り出す切出し手段と
    をさらに有し、
    前記解像度変換手段は、前記切出し手段により切り出された各画素の階調値のうち、一部の色成分の階調値に対して解像度変換処理を施す
    請求項5に記載の画像伸長装置。
  7. 互いに隣接する既定サイズの画像ブロックが主走査方向及び副走査方向の少なくとも一方にずれた状態となるように、入力画像を複数の画像ブロックに分割し、
    分割された画像ブロック毎に、複数の色成分の一部に対して解像度変換を行う
    画像処理方法。
  8. 画像の圧縮データを伸長する画像処理方法であって、
    圧縮データのうち、一部の色成分の階調値に対して、解像度変換処理を行い、
    解像度変換が行われた色成分の階調値を、画像における位置に応じて変位させる
    画像処理方法。
  9. 互いに隣接する既定サイズの画像ブロックが主走査方向及び副走査方向の少なくとも一方にずれた状態となるように、入力画像を複数の画像ブロックに分割するステップと、
    分割された画像ブロック毎に、複数の色成分の一部に対して解像度変換を行うステップと
    をコンピュータに実行させるプログラム。
  10. 画像の圧縮データを伸長するコンピュータにおいて、
    圧縮データのうち、一部の色成分の階調値に対して、解像度変換処理を行うステップと、
    解像度変換が行われた色成分の階調値を、画像における位置に応じて変位させるステップと
    をコンピュータに実行させるプログラム。
JP2005273457A 2005-09-21 2005-09-21 画像圧縮装置、画像伸長装置、画像処理方法及びプログラム Pending JP2007088685A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005273457A JP2007088685A (ja) 2005-09-21 2005-09-21 画像圧縮装置、画像伸長装置、画像処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005273457A JP2007088685A (ja) 2005-09-21 2005-09-21 画像圧縮装置、画像伸長装置、画像処理方法及びプログラム

Publications (1)

Publication Number Publication Date
JP2007088685A true JP2007088685A (ja) 2007-04-05

Family

ID=37975245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005273457A Pending JP2007088685A (ja) 2005-09-21 2005-09-21 画像圧縮装置、画像伸長装置、画像処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2007088685A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110268450A (zh) * 2017-02-13 2019-09-20 索尼公司 图像处理装置和图像处理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110268450A (zh) * 2017-02-13 2019-09-20 索尼公司 图像处理装置和图像处理方法
CN110268450B (zh) * 2017-02-13 2022-12-20 索尼公司 图像处理装置和图像处理方法

Similar Documents

Publication Publication Date Title
US9571860B2 (en) Diagonal scan for parallel coding and decoding of significance map and transform coefficents
US8509310B2 (en) Method, medium, and system encoding and/or decoding an image
US8213727B2 (en) Image encoding apparatus and image decoding apparatus, and control method thereof
Lin et al. Reversible data hiding for VQ-compressed images based on search-order coding and state-codebook mapping
US7567716B2 (en) Method and device for randomly accessing a region of an encoded image for the purpose of decoding it and a method and device for encoding an image
JP4522199B2 (ja) 画像符号化装置及び画像処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JPWO2004068844A1 (ja) 画像圧縮方法、画像復元方法、プログラム及び装置
JP2006270325A (ja) 画像圧縮装置、画像伸長装置、画像データ、画像処理方法及びプログラム
JP2006180456A (ja) 画像圧縮装置と画像復号装置と画像変換装置と画像処理方法
JP2010154485A (ja) 画像符号化装置及び画像復号装置、並びにそれらの制御方法
JP4829836B2 (ja) 画像符号化装置、画像符号化装置の制御方法、コンピュータプログラム、復号装置、及びコンピュータ可読記憶媒体
JP5101962B2 (ja) 画像符号化装置及びその制御方法並びにコンピュータプログラム
JP4871822B2 (ja) 画像符号化装置及びその制御方法
JP2007088685A (ja) 画像圧縮装置、画像伸長装置、画像処理方法及びプログラム
CN113365080B (zh) 串编码技术的编解码方法、设备及存储介质
US6904172B2 (en) Coding device and method, and decoding device and method
JP4789060B2 (ja) 画像圧縮装置、画像伸長装置、画像処理方法及びプログラム
Jhong et al. Exploring more capacity for grayscale-invariance reversible data hiding
JP5432690B2 (ja) 画像符号化装置及びその制御方法
Pan et al. A low bit-rate SOC-based reversible data hiding algorithm by using new encoding strategies
JP2000299866A (ja) 画像符号化方法
JP4971881B2 (ja) 画像符号化装置及び画像復号装置、並びにそれらの制御方法
JP4748805B2 (ja) 画像符号化装置及びその制御方法
JP5597028B2 (ja) 画像復号装置及びその制御方法、並びにプログラム及びコンピュータ可読記憶媒体
JP4971880B2 (ja) 画像符号化装置及び画像復号装置、並びにそれらの制御方法