JPH0937262A - 画像処理装置及び方法 - Google Patents

画像処理装置及び方法

Info

Publication number
JPH0937262A
JPH0937262A JP7178708A JP17870895A JPH0937262A JP H0937262 A JPH0937262 A JP H0937262A JP 7178708 A JP7178708 A JP 7178708A JP 17870895 A JP17870895 A JP 17870895A JP H0937262 A JPH0937262 A JP H0937262A
Authority
JP
Japan
Prior art keywords
image
value
encoding
block
prediction
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
JP7178708A
Other languages
English (en)
Inventor
Hiroshi Kajiwara
浩 梶原
Koji Hirabayashi
康二 平林
Tadashi Yoshida
正 吉田
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 JP7178708A priority Critical patent/JPH0937262A/ja
Priority to DE69631999T priority patent/DE69631999T2/de
Priority to EP96304626A priority patent/EP0750428B1/en
Priority to US08/668,635 priority patent/US6061474A/en
Publication of JPH0937262A publication Critical patent/JPH0937262A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • 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

(57)【要約】 【課題】 画像データを高い圧縮効率で、かつ画素値の
誤差を制御して符号化することを目的とする。 【解決手段】 画像の予測符号化を行う画像処理装置に
おいて、前記画像の画素値を予測する予測手段と、前記
予測手段による予測の結果に基づいて、前記画像の画素
値を±eの範囲で変換する画像変換手段と、前記画像変
換手段により変換された画像と、前記予測手段による予
測の結果とに基づいて、前記画像に関するパラメータを
符号化する符号化手段とを有することを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本願発明は画像を符号化する
画像処理装置及び方法に関するものである。
【0002】
【従来の技術】画像の符号化方法は、復号した際に元の
画像を完全に復元する情報保存型の符号化方法と、元の
画像との間に誤差を生じる情報非保存型の符号化方法の
二つに大別される。
【0003】情報保存型の符号化方法としてDPCM符
号化が広く知られている。一般的なDPCM符号化によ
れば、符号化対象画素の周囲にある符号化済の画素、即
ち左画素(これをAとする)、上画素(同様にB)、左
斜め画素(同様にC)を用いて符号化対象画素の予測値
を例えば式(A+B−C)を用いて算出し、これと符号
化対象画素値との差分が符号化されるものである。
【0004】情報非保存型の符号化方法は元の画像を完
全に復元することができない反面、高い圧縮率を得るこ
とが可能であることから、膨大な画像データを扱う場合
や、多少の誤差が問題にならない場合には情報非保存型
の符号化方式を利用することが多い。JPEGのベース
ライン方式は情報非保存型の符号化方法のひとつであ
る。
【0005】
【発明が解決しようとする課題】従来の画像の符号化で
は、符号化データの量に応じて情報量を制御していたた
め、符号化したい画像の実際の画素値と、この画像を符
号化・復号化した後の画像の画素値との誤差をある程度
までは許す(誤差の範囲を制限したい)様な画像などに
対し、高い圧縮効率で、かつ画素値の誤差を一定値以内
で符号化することができないという問題があった。
【0006】上述の問題を解決するために本願発明は、
画像データを高い圧縮効率で、かつ画素値の誤差を制御
して符号化することを目的とする。
【0007】また、多値データを高い圧縮効率で、かつ
画素値の誤差を制御して符号化することを別の目的とす
る。
【0008】
【課題を解決するための手段】上述の課題を解決するた
め、本願発明の請求項1に記載の画像符号化装置は、画
像の予測符号化を行う画像処理装置において、前記画像
の画素値を予測する予測手段と、前記予測手段による予
測の結果に基づいて、前記画像の画素値を±eの範囲で
変換する画像変換手段と、前記画像変換手段により変換
された画像と、前記予測手段による予測の結果とに基づ
いて、前記画像に関するパラメータを符号化する符号化
手段とを有することを特徴とする。
【0009】
【発明の実施の形態】
(第1の実施の形態)次に、本願発明について簡単に説
明する。
【0010】図1に本願発明に係る第1の実施の形態の
処理の流れを示す。同図においてS0は、後述する基準
ハフマンテーブルを設定するステップ、S1は画像デー
タを読み込むステップ、S2は画像データから最大ブロ
ックサイズ(ここでは16×16画素)でブロックデータ
を取り出すステップ、S3はブロック分割方法及び符号
化方法を決定するステップ、S4はS3で決定したブロ
ック分割方法及び符号化方法を参照情報として保存する
ステップ、S5は参照情報に従って、出力された後述す
る差分値(予測誤差)の出現頻度の統計をとるステッ
プ、S6はS2で取り出されたブロックデータを後述す
る架空ブロックのデータに書き換えるステップ、S7は
画像の終端を判定するステップ、S8はS5でとった差
分値統計に基づいて最適なハフマンテーブルを作成する
ステップ、S9はループ終了を判定するステップ、S9
は参照情報に基づいて画像全体の符号化処理を行うステ
ップである。
【0011】本実施の形態について簡単に説明する。本
実施の形態の符号化は、非可逆符号化ではなく、実際の
画像が示す画素値と、符号化する画像の画素値の誤差を
最大±eの範囲で認める符号化方法であり、これをニア
ロスレス符号化と呼ぶ。
【0012】ここでは符号化されるブロックの最大サイ
ズを16×16画素とし、16×16画素,8×8画素,4×
4画素のいずれかで符号化処理を行う。各ブロックの符
号化方法として、予測方法の異なる6種類の予測符号化
方法(#0〜#5番)、2種類の平面符号化方法(#
6、#7番)、及び、ブロック内が二値であった場合の
みに使用可能なランレングス符号化方法(#8番)が選
択可能であるとする(図2参照)。
【0013】まず、ブロックの符号化に用いるこれら9
種類の符号化方法について簡単に説明する。図3に各符
号化方法による符号データの構造を示す。
【0014】#0番から#5番は予測符号化方法であ
り、各々、図2(a)に示す周辺画素A,B,Cを用い
てA+B−C,B,A,B+(A−C)/2,A+(B
−C)/2,(A+B+C)/3を予測値とし、注目画
素と予測値との差分をハフマン符号化する。ハフマンテ
ーブルはブロックサイズ毎に用意され、ブロックのサイ
ズに応じた別々のハフマンテーブルを用いて符号化され
る。
【0015】#6番と#7番は平面符号化方法である。
#6番では、ブロック内の左上隅の画素値をc0として、
ブロックの画素値を近似する平面P(x,y)=ax+
by+c0を求め、a,b,c0の値、及び、この近似平面
とブロック内画素値との差分をハフマン符号化する。
【0016】このときに、a,bが一定値以内の場合に
はc0は前に出現したc0との差分c0’をハフマン符号化
し、一定値以上の場合にはc0の値そのものを符号化す
る。また、a,b,c0の後にフラグを設け、ブロック内
の差分値が全て0となる場合には、差分データを付加し
ないようにする。
【0017】#7番はブロック内の画素値が全て同じ、
即ち、a=b=0の平面である場合に使用され、上述の
c0’をハフマン符号化する。図4に#6番と#7番でc
0' を符号化する際に使用するハフマンテーブルの一例
を示す。同図において”S”はサインビットを表してお
り、c0の差分値の符号により0または1が入る。また、
c0が14以上と−14以下の場合には差分値を用いずに、E
SCコードの後にc0の値を付加するものとする。
【0018】#8番は、ランレングス符号化方法であ
り、ブロック内の画素値が2つだけの場合のみに使用さ
れる。例えば、輝度の高い方の画素を白、低い方の画素
を黒とすると、図5に示す順序でブロック内の画素をス
キャンし、ランレングスに変換してこれを符号化する。
符号化にはあらかじめ定めた白(高輝度値)ラン用、黒
(低輝度値)ラン用のハフマンテーブルを使用し、ブロ
ック内の最後のランはEOBコードに置き換えて符号化
するものとする。
【0019】次に、本実施の形態における処理の流れを
図1を用いて詳細に説明する。
【0020】まずステップS0では、ブロックの符号化
で使用される基準ハフマンテーブルが設定される。これ
は、予め複数の画像で求めた予測符号化、その他で発生
する予測誤差の統計情報に基づいて作成されたハフマン
テーブルを読み込み、16×16 画素の予測符号化用ハフ
マンテーブル8×8画素の予測符号化用ハフマンテーブ
ル、4×4画素の予測符号化用ハフマンテーブル、平面
符号化用ハフマンテーブルを設定する。
【0021】また、これらハフマンテーブルをS8で新
たに作成する際に用いる4つのカウンタ、即ち16×16画
素の予測符号化用カウンタ、8×8画素の予測符号化用
カウンタ、4×4画素の予測符号化用カウンタ、平面符
号化用カウンタの値を全て0に初期化する。
【0022】また、符号化方法( #0〜#8) を示す情
報をハフマン符号化するためのハフマンテーブルを各ブ
ロックサイズ毎に用意し、これらのハフマンテーブルを
S8で新たに作成する際に用いる符号化番号カウンタを
用意し、このカウンタの値も0にする。
【0023】ステップS1では、符号化する画像データ
を符号化処理用のメモリ上に読み込む。
【0024】ステップS2では、符号化対象画像からブ
ロックデータ(最大ブロックサイズ16×16画素) を順に
取り出す。ただし、取り出したブロックの上と左の1ラ
インについても予測符号化用の参照領域として取り出
す。
【0025】ステップS3では、ステップS1で取り出
した最大サイズのブロック(16×16画素)について、ブ
ロックを更に符号化に適したサイズのブロック(符号化
対象ブロック)に分割するブロック分割方法、及び各符
号化対象ブロックに適した符号化方法(#0〜#8)を
決定すると共に、これに合わせて最大ブロック内の画素
値を実際の画素値と誤差±eの範囲で書き換える。これ
により、差分値(予測誤差)を小さくして符号化するこ
とができる。また、差分値が数種類の値のみになる様に
±eの範囲で書き換えることにより、この差分値の情報
量を減少させることもできる。以下にステップ3の処理
についての詳細な説明を記す。
【0026】このステップS3のルーチンは、再帰構造
を持つルーチンであり、最大ブロック、またはこのブロ
ックを何度か分割した正方ブロック(これを処理対象ブ
ロックと呼び、処理の流れに応じてサイズが異なる。)
を、サブブロックに分割(4分割)した場合の総符号量
と、分割しない場合の符号量を比較し、ブロックを分割
するかどうかを選択し(図6参照)、ブロック分割情報
と符号化方法を示す情報情報を含む参照情報と、参照情
報に基づいて選択されたブロックを符号化した際の符号
量を出力する。
【0027】図7は、ステップS3における最大ブロッ
ク(処理対象ブロック)の符号化方法と分割方法を選択
する際に用いる反復処理の流れを詳細に示したものであ
る。
【0028】図7において、S30は処理対象ブロックの
サイズを調べるステップであり、処理対象ブロックが最
小ブロックサイズ(4×4画素)ならばS33に進み、違
う場合はS20及びS23に進む。
【0029】S20は処理対象ブロックをコピーしてブロ
ックAを生成するステップであり、処理対象ブロックを
ブロックAとして、この反復処理のためのメモリ領域に
コピーする。S21はブロックAを符号化した際の符号量
LAが最小になる最適な符号化方法を選択するステップ
である。この選択の方法の詳細については後述する。
【0030】S22はS21で選択された符号化方法を用い
た際の発生符号量LAを出力するステップである。
【0031】また、S23はS20と同様に処理対象ブロッ
クをコピーしてブロックBを生成するステップであり、
S24はブロックBを4分割してサブブロックを生成する
ステップ、S25は各サブブロックについてS21と同様に
最適な符号化方法(最適符号化方法)を選択するステッ
プである。
【0032】S26は4つのサブブロックの夫々をS25で
選択された符号化方法を用いて符号化した際の符号量を
合計した総符号量LBを出力するステップである。
【0033】S27では、S22で出力されたLAと、S29
で出力されたLBを比較し、LA<LBならばS28へ、
LA≧LBならばS29へ進むステップである。
【0034】S28では、ブロックAの処理対象ブロック
のサイズを符号化対象ブロックのサイズとして決定する
ステップであり、この処理対象ブロックの範囲に対する
ブロック分割方法を決定するための反復処理を終える。
この反復処理のS28において、ブロックA、即ち符号化
対象ブロックは、S21の符号化方法の選択の際に生成さ
れた後述する架空ブロックの画素値(誤差±eの範囲)
に書き換えられる。また、S31に進み、ブロックの分割
情報及びS21で選択された符号化方法と符号量LAを参
照情報として生成する。
【0035】S29では、4つのサブブロックブロックで
構成されるブロックBを、この反復処理の始めに用いた
処理対象ブロックの範囲にコピーするステップであり、
4つのサブブロックの夫々を処理対象ブロックに置き換
え、上述のブロック分割方法を決定するための反復処理
を始めから繰り返す。
【0036】S32では、 最小ブロックサイズの処理対象
ブロックの最適符号化方法を選択する。S33では、その
際の符号量Lを出力する。S34では、符号化対象ブロッ
クはS32で生成された後述する架空ブロックの画素値に
書き換えられる。S35ではブロックに対応する最適符号
化方法と符号量Lを生成する。
【0037】以上で、ステップS3における最大ブロッ
ク(または処理対象ブロック)の符号化方法とブロック
分割方法とを選択する際に用いる反復処理の流れの説明
を終わる。
【0038】次に、ステップS21、S25、S32での最適
符号化方法の選択について詳細に説明する。
【0039】図4は、最適符号化方法を選択する流れを
示す図である。ここでは選択可能な全符号化方法の符号
量を推定し、最適な符号化方法を選択する処理を行う。
【0040】この符号量推定の処理の前に各々の方法に
適した形でブロックデータの書き換えを行う。図8にお
いて、S40は符号化方法#0番により発生する符号量L
n(0)を初期化するステップ、S41は予測値A+B−
Cを求めるステップ、S42は誤差±eの範囲でブロック
内の画素値を書き換えるステップ、S43は差分値に対す
るハフマン符号長をLn(0)に1画素分加算するステ
ップ、S44はブロックの終端を判定するステップであ
り、ブロックを符号化した際の符号量が生成出来たらS
61に進む。
【0041】この処理をmode0とすると、mode1〜mode
5は、各々#1〜#5番の符号化方法に対応する処理で
あり、上述と同様の処理を行う。
【0042】S45は、符号化方法#6番と#7番の符号
化方法に関する初期化ステップであり近似平面とブロッ
ク内の画素値が完全に一致したかどうかを示すフラグ(F
LAG)を用意し、これを1(完全一致)に初期設定する。
また#6番に対する符号長を示すパラメータLn(6)
を0とし、#7番に対する符号長を示すパラメータLn
(7)をLn(0)〜Ln(8)の中で最小値にならな
い程度の値に設定する。S46は、ブロック内の画素値を
誤差±eの範囲で変化させたらブロック内を同一画素値
にすることが可能かどうかを判定するステップ、S47は
先に説明した#6のブロック近似平面P(x,y)=a
x+by+c0を求めるステップ、S48は、誤差±eの範
囲で画素値を書き換え、架空ブロックを構成するための
画素値を生成する画素単位のステップ、S49は生成され
た画素値と近似平面P(x,y)との差分値に対するハ
フマン符号長をLn( 6) に加算するステップである。
S50は、差分値( 予測誤差) が0であるかどうかを判定
するステップであり、ブロック内に1つでも近似平面と
異なる画素値が存在してしまう場合には、S51でFLAGが
0に設定される。またS52でブロックの終端を判定す
る。
【0043】S53は、FLAGの値を判定するステップであ
り、FLAG=0ならば、S49で生成された画素毎の差分値
の符号量と、近似平面P(x,y)を示すパラメータ
a,b,c0(c0' )の符号量とを加算しLn(6)とし
(S54) 、S61に進む。
【0044】FLAG=1(近似平面とブロック画素値が完
全に一致している)ならば、近似平面の情報のみを符号
化すれば良いのでパラメータa,b,c0(c0')の符号量
をLn(6)に置き換え(S55)、S61に進む。
【0045】また、Ln(6)の値が求まる時には、L
n(7)をLn(0)〜Ln(8)の中で最小値になら
ない程度の値に設定する様にする。
【0046】S56はc0(c0’) の符号量をLn(7)の
値とすると共に、Ln(6)をLn(0〜Ln(8)の
中で最小値にならない程度の値に設定する様にする。そ
してS64では、ブロック内の画素値が全てc0になる様
に、±eの範囲でブロックデータを書き換え(架空ブロ
ックを生成し)S61へ進む。
【0047】S57は、ブロック内が2つの画素値で表さ
れているかどうかを判定するステップであり、2つの画
素値で表されている場合にはS58に進み、異なる場合に
は、Ln(8)をLn(0)〜Ln(8)の中で最小値
にならない程度の値に設定し、S61に進む。
【0048】S58は、画素値をランレングスに変換する
ステップである。S59は、このランレングスを符号化し
た際の発生符号量Ln( 8) を求め、S61へ進む。
【0049】S61は、Ln(0)〜Ln(8)の値を比
較し、最小値及び対応する最適な符号化方法を選択する
ステップである。S62は、夫々のmode(mode0〜mode
8)において、±eの範囲で画素値を書き換えて生成さ
れた架空ブロックの内、S61で選択された符号化方法に
対応する架空ブロックを保存するステップであり、S63
は最適な符号化方法及び符号量を出力する。
【0050】ステップS61の前までの処理が各方法の符
号量を求めるものであるが、これらは各々別のメモリ領
域に処理対象ブロック(またはサブブロック)をコピー
してから処理するものする。よって最適符号化方法を選
択する際のブロックデータの書き換えは元の処理対象ブ
ロックには影響しないものとする。
【0051】ステップS40〜S44について詳細に説明す
る。ステップS40〜S44は、#0番による発生符号量L
n(0)を求めるものである。
【0052】S41〜S44はブロック内の画素を左上から
順にラスタ処理するループであり、処理された画素(S
42で書き換えられた画素)は、以後の注目画素の参照画
素として元の画素値と置き換えられる。参照画素(A,
B,C)が、S2で取り出す16×16画素のブロックの領
域外にある場合には、その前の最大ブロックのループ処
理(S2〜S7)までにS6で書き換えられたブロック
データの画素値を用いることになる。
【0053】まず、ステップS40でLn(0)には0が
設定される。ステップS41では着目画素値Xと周辺画素
値A,B,Cから予測値(Pとする。)=A+B−Cを
生成し、差分値(Dとする)=X−Pを求める。ステッ
プS42では、(1)式により、修正差分値(D’とす
る)を求め、着目画素をD’+Pに書き換える。(1)
式において↓x↓は、小数点以下の切り捨てを表す。
【0054】 D’= ↓(D+α)/(2e+1)↓ × (2e+1)・・・(1) α = (D/|D|) × e ・・・(2) 図11は、e=3であり差分値Dが4となった場合の修正
差分値D’を例示したものである。図11に表す様に、差
分値D(−10〜10)の個数に比べ、差分値D’(−
7,0,7)の個数の方が少ないので、差分値を示す情
報が非常に減少することになる。また差分値が予測値と
完全に一致する可能性も高くなる。
【0055】この例では、修正される画素値(修正画素
値X’とする)=X+3となる。ステップS43では、書
き換えられた修正画素値X’と予測値Pとの差分値、即
ち修正差分値D’を、処理対象ブロック(またはサブブ
ロック)のサイズ用のハフマンテーブルでハフマン符号
化し、発生した符号長をLn(0)に加算する。ステッ
プS44でブロックの終端まで処理が終了したかどうかを
判断し、終了した場合にはステップS61へ処理を移し、
終了しない場合には次の画素に着目してステップS41か
らの処理を繰り返す。これにより#0番の符号化方法を
用いた場合の発生符号量Ln(0)が求まる。また、#
1番から#5番までは予測方法のみことなるものであ
り、発生符号量Ln(1〜5)の求め方は#0番の場合
と同様であるので、詳細な説明を省略する。
【0056】次に、ステップS45〜S56、及びS64につ
いて詳細に説明する。ステップS45は#6番と#7番に
関し、変数の初期設定を行うステップであり、#6番に
より発生する符号量Ln(6)に0を、#7番により発
生する符号量Ln(7)に十分大きな値を設定する。ま
た、#6番において差分値が全て0であるかどうかを判
定するために使用する変数FLAGに1を代入する。ステッ
プS46ではブロック内の画素値の最大値(max)と最
小値(min)を求め、max−minが2e+1より
も小さい場合には#7番の符号化方法に対応する処理
(ステップS56以降) へ分岐し、そうでない場合には#
6番の符号化方法に対応する処理(ステップS47以降)
へ進む。
【0057】ステップS47ではブロック内の画素値から
近似平面を求める。ステップS48からステップS52まで
はブロック内の画素値を順に処理するものであり、ステ
ップS48では、ブロック内の着目画素値Xと、ステップ
S47で求めた近似平面上で夫々の着目画素の位置に該当
する値Pから差分値D=X−Pを求め、ステップS42
と同様にして修正差分値D’を算出し、着目画素をD’
+Pで書き換える。ステップS49では、書き換えられ
た修正画素値X’と予測値Pとの差分値を、平面符号化
用のハフマンテーブルでハフマン符号化し、その符号長
をLn(6)に加算する。
【0058】ステップS50は、修正画素値X’と予測
値Pとの差分値が0であるかどうかを判定し、0でない
場合にはステップS51でFLAGに0を代入する。ステップ
S52ではブロックの終端を判定し、終端でない場合に
は、ブロック内の次の画素についてS48から処理を続け
る。ステップS53は、FLAGの値を判定するステップであ
り、0ならばステップS54へ、そうでなければステップ
S55へ処理を移す。ステップS54では、a,b,c0の符
号量にFLAG用の1ビットを加えたものをLn(6)に加
算する。ステップS55では、a,b,c0の符号量にFLAG
用の1ビットを加えたものを新たなLn(6)の値とし
て代入する。
【0059】また、ステップS46により#7番の符号化
方法の利用が可能であると判断された場合には、ステッ
プS56で(max−min)/2の商をc0として、c0を
符号化した際の符号量をLn(7)に代入すると共に、
Ln(6)に十分大きな値を代入する。
【0060】ステップS64ではブロック内の画素値を全
てc0に書き換える。これらの処理により#6番及び#7
番の符号化方法を用いた際の発生符号量Ln(6),L
n(7)を求めることができる。
【0061】次に、ステップS57〜S60について詳細に
説明する。ステップS57は、#8番の符号化方法の使用
が可能であるかどうかを判定するステップであり、ブロ
ック内の画素値を調べ、出現する画素値が2つの値であ
ればステップS58に、そうでなければステップS50へ処
理を移す。
【0062】ステップS50では、Ln(8)に十分大き
な値を代入する。ステップS58では、ブロック内の2つ
の画素値の内、輝度値の高い方を白、低い方を黒とし
て、図5に示す順序でスキャンし、白と黒のランレング
スデータに変換する。ステップS59では、出現する2つ
の画素値を表すための符号の符号量と、上述のランレン
グスデータを予め用意された#8番専用のハフマンテー
ブルを用いてハフマン符号化したときの符号量とを加え
て、#8番による発生符号量Ln(8)を求める。
【0063】以上に説明した処理によって、#0番から
#8番までの符号化方法による発生符号量Ln(0)〜
Ln(8)が求まると、ステップS61で、これらの中か
ら最小値となる最小符号量を求め、この最小符号量と、
符号化方法を示す符号の符号量とを加えたものをブロッ
クの符号量l(図7の符号量LA、または総符号量LB
を構成する4つの符号量の内の1つ、または符号量L)
として保存し、更に符号化方法の番号(iとする)を示
す情報も保存する。
【0064】ステップS62では、番号iの符号化方法を
用いる際に生成された架空ブロックを保存する。この架
空ブロックはステップS28及びステップS34において符
号化対象ブロックを決定する(元の画素値と書き換え
る)際に用いられ、最終的にはステップS6のブロック
データの書き換えに用いられることになる。
【0065】ステップS63では番号iと符号量lを出力
し、最適符号化方法の選択(図7のS21、S25、S32に
対応)処理を終わる。以上で、ステップS21、S25、S
32での最適符号化方法の選択についての説明を終わる。
【0066】上述の処理により、ステップS3における
ブロック分割情報と最適符号化方法が決定する。
【0067】図9は、ブロック分割方法と、分割された
各々の符号化対象ブロックに対して割る当てられる符号
化方法の一例を示す図である。この図5に基づく参照情
報を図10に示す。以上でS3に関する詳細な説明を終わ
る。
【0068】次に、ステップS4では、S3で得られた
参照情報をメモリ上に保存する。
【0069】ステップS5では、各符号化対象ブロック
に対して選択された符号化方法の番号iについて、各ブ
ロックサイズ毎に用意された符号化番号カウンタにより
符号化方法#0〜#8の出現回数をカウントすると共
に、#0番から#6番ならばその方法で符号化したとき
の修正差分値D’の出現回数を、符号化方法に対応する
カウンタ( #0番から#5番ならば、各ブロックサイズ
に対応する予測符号化用カウンタ、#6番ならば平面符
号化用カウンタ) に加算する。
【0070】ステップS6では、ステップS3( S28、
S34に基づく。)において架空ブロックで書き換えられ
た符号化対象ブロックのデータを用いて、S2で取り出
したブロックの画素値を書き換える。
【0071】ステップS7では、画像の終端を判定し、
画像の終端ブロックでなければ次のブロックについてス
テップS2からの処理を行い、終端であればステップS
8へ処理を移す。
【0072】ここでS2〜S7までのループ処理は、ブ
ロック単位にブロックデータ(架空ブロック)を書き換
えて画像データとする処理である。よって、S3の符号
化方法の選択処理で用いる参照画素(A,B,Cまたは
c0など)が、S2で取り出す16×16画素のブロックの領
域外にある場合には、その前のループ処理までにS6で
書き換えられたブロックデータの画素値を用いることに
なる。
【0073】ステップS8では、16×16画素の予測符号
化用カウンタ、8×8画素の予測符号化用カウンタ、4
×4画素の予測符号化用カウンタ、平面符号化用カウン
タの値に基づき、16×16画素の予測符号化用ハフマンテ
ーブル、8×8画素の予測符号化用ハフマンテーブル、
4×4画素の予測符号化用ハフマンテーブル、平面符号
化用ハフマンテーブルを再構築する。また、各ブロック
サイズ毎に用意された符号化方法の番号カウンタによ
り、最適符号化方法#0〜#8の出現回数をカウント
し、このカウントの統計に基づいて、符号化方法の番号
を符号化するためのハフマンテーブルを構築する。
【0074】ステップS9は、最適化処理ループ( S0
〜S8) の終了を判定し、予め設定された回数のループ
が終了した場合にはステップS9へ、そうでない場合に
はステップS0へと分岐する。この場合、初回の最適化
処理ループのS0と、2回目以降の最適化処理ループの
S0は処理が異なり、2回目以降のS0では前回のS8
で作成された最適ハフマンテーブルを基準ハフマンテー
ブルに代入して用いる。
【0075】ステップS10では、保存されている参照情
報を参照し、S6で書き換えられた画像データを実際に
符号化する。図12は、ステップS10での符号化処理の流
れを示したものである。図12において、S80はハフマン
テーブルを符号化するステップ、S81は画像から最大サ
イズ(16×16画素)のブロックデータを取り出すステッ
プ、S82はこのブロックデータに対応する参照情報を取
り出すステップ、S83は参照情報に従ってブロックデー
タを符号化するステップ、S84は画像の終端を判定する
ステップである。以下に詳細な説明を記す。
【0076】まず、ステップS80では、16×16画素の符
号化番号用ハフマンテーブル、8×8画素の符号化番号
用ハフマンテーブル、4×4の符号化番号用ハフマンテ
ーブル、16×16画素の予測符号化用ハフマンテーブル、
8×8画素の予測符号化用ハフマンテーブル、4×4の
予測符号化用ハフマンテーブル、平面符号化用ハフマン
テーブルについて、各ハフマンテーブルの構造を示した
情報をハフマンテーブル情報として出力する。
【0077】ステップS81では、画像データから順に、
最大ブロックサイズでブロックデータを取り出す。ステ
ップS82では、ブロックデータに対する参照情報をメモ
リから取り出す。
【0078】ステップS83では、参照情報と、参照情報
に従って最大ブロックサイズのブロックデータを符号化
したデータとを符号化データ列として出力する。
【0079】ステップS84では画像の終端を判定し、未
処理のブロックがある場合には次のブロックについてス
テップS81から処理を行う。
【0080】以上の処理により、画像データに対する符
号化データ列を生成し、出力する。
【0081】以上で第1の実施の形態の説明を終わる。
【0082】(その他の実施の形態)本願発明は、上述
の実施の形態に限定されるものではない。例えば、上述
の実施の形態では、最大ブロックサイズを16×16画素と
してブロックの分割を行ったが、128 ×128 画素等もっ
と大きなブロックサイズに設定しても構わない。
【0083】また、ブロック分割の方法としてブロック
を同サイズに4分割する方法を挙げたが、ブロックサイ
ズを可変にしても良い。
【0084】また、第1の実施の形態では図7の様に処
理対象ブロックの符号量とこれを4分割した複数のサブ
ブロック符号量とに基づいて、ブロック分割して符号化
対象ブロックを決定していたが、最大ブロック(16×16
画素)から最小ブロック(4×4)までの全てのブロッ
クについての符号量を求めてからこれら全ての符号量に
基づいてブロック分割しても良い。
【0085】また、初めに最小ブロックの符号量を求
め、このブロックをサブブロックと見なし、図6の様に
4つのサブブロック(4×4画素)の総符号量とこれら
を合わせた領域のブロック(8×8画素)の符号量とに
基づき仮のブロック分割方法と符号量を決定し、4つの
決定された領域(8×8画素)の総符号量と決定された
領域(8×8画素)から構成される更に大きなブロック
(16×16画素)の符号量とに基づき新たに仮のブロック
分割方法を決定し、最大ブロックサイズまでこれを繰り
返すことにより符号化対象ブロックを決定する様にして
も良い。
【0086】また、選択可能なブロック符号化方法とし
て予測符号化方法と平面符号化方法、ランレングス符号
化方法を用いたが、予測方法を変えるなどして適用方法
を変えたり、あるいはマルコフモデル符号化方法等、別
の符号化方法を用いても良いことは言うまでもない。更
に、上述の実施の形態では各符号化方法におけるエント
ロピー符号方法としてハフマン符号化を用いているが、
勿論これは算術符号化等、他のエントロピー符号化方法
を用いてもよい。
【0087】また、S6ではブロックデータの書き換え
作業を行うことなく、このブロックデータを書き換えた
画像を符号化した際の予測誤差の値(S3で生成)を保
存しておくだけでも良い。この場合S10では、書き換え
られたブロックデータを用いて再度符号化するのではな
く、S3ですでに求められた予測誤差(修正差分値)の
値を用いて符号化すれば良いことになる。ただし、各画
素に対応する差分値を記憶すると、例えば図8のS41に
おける複数の画素値(A,B,C)を参照して予測符号
化を行う様な処理に対し、これらの参照画素値を生成す
る回路構成、処理手順が複雑になる。よって第1の実施
の形態では、修正差分値を記憶する方法でなく、修正画
素値を記憶する方法を用いる。
【0088】また、図13は第1の実施の形態の符号化処
理を行うための回路構成の一例を示したものであり、1
は画像データの符号化及び復号化をソフトウエア処理で
行うことができるCPU制御部、2は画像データを取り
込む画像入力部、3は画像データを印刷するプリンタ
部、4は画像データを表示する表示部、5はCPU制御
部1で符号化されたデータを送信、または外部機器から
送信された符号化データを受信することができる通信制
御部、6は画像情報を記憶する画像メモリである。
【0089】
【発明の効果】以上の様に本願発明によれば、画像内の
画素値またはブロックを変換することにより、比較的簡
単な回路構成または処理手順を用いて、画像データを高
い圧縮効率で、かつ画素値の誤差が制御された符号化を
行うことができる。
【0090】また、多値データを高い圧縮効率で、かつ
画素値の誤差を制御して符号化することができる。
【図面の簡単な説明】
【図1】本願発明に係る第1の実施の形態の処理の流れ
を示す図
【図2】符号化方法の種類、及び画素の位置関係を示す
【図3】符号化データ内の画像データの部分を表す図
【図4】c0’のを符号化するためのハフマンコード表
を説明する図
【図5】#8番の符号化方法の際にランレングスをスキ
ャンする方法を表す図
【図6】処理対象ブロックをサブブロックに分割する様
子を表す図
【図7】S3の処理の流れを説明する図
【図8】S21、S25、S32の処理の流れを説明す
る図
【図9】最大ブロックの分割方法、及び符号化データ形
態の一例を示す図
【図10】差分値を修正差分値に変換する様子を示す図
【図11】S10の符号化処理の流れを説明する図
【図12】本願発明を実現するための回路構成の一例を
示す図
【図13】第1の実施の形態を実現するための回路構成
を示す図
【符号の説明】 S0 基準ハフマンテーブルを設定するステップ S1 画像データを読み込むステップ S2 画像データから最大ブロックサイズでブロックデ
ータを取り出すステップ S3 ブロック分割方法及び符号化方法を決定するステ
ップ S4 参照情報を保存するステップ S5 符号化するデータについての統計を取るステップ S6 画像データを架空ブロックで書き換えるステップ S7 画像の終端を判定するステップ S8 最適ハフマンテーブルを生成するステップ S9 ループ終了を判定するステップ S10 参照情報に従って実際に画像を符号化するステ
ップ

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 画像の予測符号化を行う画像処理装置に
    おいて、 前記画像の画素値を予測する予測手段と、 前記予測手段による予測の結果に基づいて、前記画像の
    画素値を±eの範囲で変換する画像変換手段と、 前記画像変換手段により変換された画像と、前記予測手
    段による予測の結果とに基づいて、前記画像に関するパ
    ラメータを符号化する符号化手段とを有することを特徴
    とする画像処理装置。
  2. 【請求項2】 前記予測手段による予測の方法は、複数
    個存在することを特徴とする請求項1に記載の画像処理
    装置。
  3. 【請求項3】 前記画像に関するパラメータは、前記画
    像変換手段により変換された画像の画素値と、前記予測
    手段により予測された予測値との差分値であることを特
    徴とする請求項1に記載の画像処理装置。
  4. 【請求項4】 前記画像の画素値は多値で表されている
    ことを特徴とする請求項1に記載の画像処理装置。
  5. 【請求項5】 前記符号化手段による符号化は、画像の
    ブロック単位に異なる処理を行うことを特徴とする請求
    項1に記載の画像処理装置。
  6. 【請求項6】 前記画像変換手段による変換は、画素値
    の許容誤差を±eとして行うことを特徴とする請求項1
    に記載の画像処理装置。
  7. 【請求項7】 画像の予測符号化を行う画像処理方法に
    おいて、 前記画像の画素値を予測する予測ステップと、 前記予測ステップでの予測の結果に基づいて、前記画像
    の画素値を±eの範囲で変換する変換ステップと、 前記変換ステップで変換された画像と、前記予測ステッ
    プでの予測の結果とに基づいて、前記画像に関するパラ
    メータを符号化する符号化ステップとを有することを特
    徴とする画像処理方法。
  8. 【請求項8】 画像をブロック画像毎に予測符号化する
    画像処理装置において、 前記ブロック画像に対応する予測パラメータを発生する
    発生手段と、 前記発生手段により発生した予測パラメータによる前記
    ブロック画像の予測誤差が、所定値になる様に前記ブロ
    ック画像を変換する変換手段と、 前記変換手段により変換されたブロック画像を、前記発
    生手段により発生した予測パラメータを用いて符号化す
    る符号化手段とを有することを特徴とする画像処理装
    置。
  9. 【請求項9】 前記発生手段により発生した予測パラメ
    ータは、ブロック内の各画素値に対応して存在すること
    を特徴とする請求項8に記載の画像処理装置。
  10. 【請求項10】 画像をブロック画像毎に予測符号化す
    る画像処理方法において、 前記ブロック画像に対応する予測パラメータを発生する
    発生ステップと、 前記発生ステップで発生した予測パラメータによる前記
    ブロック画像の予測誤差が、所定値になる様に前記ブロ
    ック画像を変換する変換ステップと、 前記変換ステップで変換されたブロック画像を、前記発
    生ステップで発生した予測パラメータを用いて符号化す
    る符号化ステップとを有することを特徴とする画像処理
    方法。
  11. 【請求項11】 画像を、差分符号化方法を用いて符号
    化する画像処理装置において、 差分値の値を制限する制限手段と、 前記画像の画素値に対する予測値を発生する予測手段
    と、 前記制限手段により制限された値と、前記予測手段によ
    り発生した予測値とに基づいて前記画像の画素値を変換
    する変換手段と、 前記変換手段により変換された画素値と前記予測手段に
    より発生した予測値との差分値を符号化する符号化手段
    とを有することを特徴とする画像処理装置。
  12. 【請求項12】 前記差分符号化方法は、複数種類存在
    することを特徴とする請求項11に記載の画像処理装
    置。
  13. 【請求項13】 前記制限手段により制限された差分値
    は、複数個あり、この複数個の差分値が離散的な整数に
    なる様に該差分値を設定することを特徴とする請求項1
    1に記載の画像処理装置。
  14. 【請求項14】 画像を、差分符号化することが可能な
    画像処理方法において、 差分値の値を制限する制限ステップと、 前記画像の画素値に対する予測値を発生する発生ステッ
    プと、 前記制限ステップで制限された値と、前記発生ステップ
    で発生した予測値とに基づいて前記画像の画素値を変換
    する変換ステップと、 前記変換ステップで変換された画素値と、前記予測ステ
    ップで発生した予測値との差分値を符号化する符号化ス
    テップとを有することを特徴とする画像処理方法。
  15. 【請求項15】 多値データを入力する入力手段と、 前記入力手段により入力された多値データを用いて差分
    値を出力する出力手段と、 前記出力手段で出力された差分値が許容誤差に対応する
    所定値以内の間隔で離散的に配置した値になる様に、該
    差分値を制御する制御手段と、 前記制御手段により制御された差分値を符号化する符号
    化手段とを有することを特徴とする画像処理装置。
  16. 【請求項16】 前記多値データは、多値画像データで
    あることを特徴とする請求項15に記載の画像処理装
    置。
  17. 【請求項17】 前記差分値は、前記多値データから予
    測される予測値と、前記多値データの値との差分値であ
    ることを特徴とする請求項15に記載の画像処理装置。
  18. 【請求項18】 前記制御手段による制御は、前記差分
    値が離散的に配置される様にすることを特徴とする請求
    項15に記載の画像処理装置。
  19. 【請求項19】 前記符号化手段による符号化は、前記
    制御手段により制御された差分値の統計に基づいて該差
    分値をエントロピー符号化を用いることを特徴とする請
    求項15に記載の画像処理装置。
  20. 【請求項20】 多値データを入力する入力ステップ
    と、 前記入力ステップで入力された多値データを用いて差分
    値を出力する出力ステップと、 前記出力ステップで出力された差分値が許容誤差に対応
    する所定値以内の間隔で離散的に配置した値になる様
    に、該差分値を制御する制御ステップと、 前記制御ステップで制御された差分値を符号化する符号
    化ステップとを有することを特徴とする画像処理方法。
JP7178708A 1995-06-22 1995-07-14 画像処理装置及び方法 Pending JPH0937262A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP7178708A JPH0937262A (ja) 1995-07-14 1995-07-14 画像処理装置及び方法
DE69631999T DE69631999T2 (de) 1995-06-22 1996-06-21 Bildverarbeitungsgerät und Verfahren
EP96304626A EP0750428B1 (en) 1995-06-22 1996-06-21 Image processing apparatus and method
US08/668,635 US6061474A (en) 1995-06-22 1996-06-21 Image processing apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7178708A JPH0937262A (ja) 1995-07-14 1995-07-14 画像処理装置及び方法

Publications (1)

Publication Number Publication Date
JPH0937262A true JPH0937262A (ja) 1997-02-07

Family

ID=16053180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7178708A Pending JPH0937262A (ja) 1995-06-22 1995-07-14 画像処理装置及び方法

Country Status (1)

Country Link
JP (1) JPH0937262A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008502268A (ja) * 2004-06-07 2008-01-24 デーヤン ファウンデーション 動映像の無損失エンコーディング及びデコーディング方法、その装置
JP2012134659A (ja) * 2010-12-20 2012-07-12 Ricoh Co Ltd 画像処理装置および画像処理方法
JP2014103496A (ja) * 2012-11-19 2014-06-05 Nintendo Co Ltd データ圧縮装置、データ圧縮プログラム、データ圧縮システム、データ圧縮方法、データ伸張装置、およびデータ圧縮伸張システム
JP2014103497A (ja) * 2012-11-19 2014-06-05 Nintendo Co Ltd データ圧縮装置、データ圧縮プログラム、データ圧縮システム、およびデータ圧縮方法
JP2017098789A (ja) * 2015-11-25 2017-06-01 キヤノン株式会社 画像符号化装置及びその制御方法、並びにプログラム及び記憶媒体
JP2019022129A (ja) * 2017-07-19 2019-02-07 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法、及び動画像符号化用コンピュータプログラムならびに動画像復号用コンピュータプログラム
US10229688B2 (en) 2012-08-01 2019-03-12 Nintendo Co., Ltd. Data compression apparatus, computer-readable storage medium having stored therein data compression program, data compression system, data compression method, data decompression apparatus, data compression/decompression apparatus, and data structure of compressed data
CN116318173A (zh) * 2023-05-10 2023-06-23 青岛农村商业银行股份有限公司 一种金融融资服务数字智能管理系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008502268A (ja) * 2004-06-07 2008-01-24 デーヤン ファウンデーション 動映像の無損失エンコーディング及びデコーディング方法、その装置
JP2012134659A (ja) * 2010-12-20 2012-07-12 Ricoh Co Ltd 画像処理装置および画像処理方法
US10229688B2 (en) 2012-08-01 2019-03-12 Nintendo Co., Ltd. Data compression apparatus, computer-readable storage medium having stored therein data compression program, data compression system, data compression method, data decompression apparatus, data compression/decompression apparatus, and data structure of compressed data
JP2014103496A (ja) * 2012-11-19 2014-06-05 Nintendo Co Ltd データ圧縮装置、データ圧縮プログラム、データ圧縮システム、データ圧縮方法、データ伸張装置、およびデータ圧縮伸張システム
JP2014103497A (ja) * 2012-11-19 2014-06-05 Nintendo Co Ltd データ圧縮装置、データ圧縮プログラム、データ圧縮システム、およびデータ圧縮方法
JP2017098789A (ja) * 2015-11-25 2017-06-01 キヤノン株式会社 画像符号化装置及びその制御方法、並びにプログラム及び記憶媒体
JP2019022129A (ja) * 2017-07-19 2019-02-07 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法、及び動画像符号化用コンピュータプログラムならびに動画像復号用コンピュータプログラム
CN116318173A (zh) * 2023-05-10 2023-06-23 青岛农村商业银行股份有限公司 一种金融融资服务数字智能管理系统
CN116318173B (zh) * 2023-05-10 2023-08-11 青岛农村商业银行股份有限公司 一种金融融资服务数字智能管理系统

Similar Documents

Publication Publication Date Title
KR100845090B1 (ko) 화상 부호화 장치, 화상 복호 장치 및 그것들의 제어 방법
US6711295B2 (en) Encoding apparatus and method, and storage medium
US5680129A (en) System and method for lossless image compression
EP0750428A2 (en) Image processing apparatus and method
JP4522199B2 (ja) 画像符号化装置及び画像処理装置及びそれらの制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
EP0066697A1 (en) A method and system for compressing grey scale image data
JP2000115781A (ja) 符号化装置
JPH10336682A (ja) 符号化装置及び方法及び方法を記憶した記憶媒体
JP3618833B2 (ja) 画像処理装置及び方法
JP2001045301A (ja) 画像処理装置
JPH0937262A (ja) 画像処理装置及び方法
JP3787389B2 (ja) 画像処理装置、及び方法、及びその方法を記憶した記憶媒体
JPH09139955A (ja) データ符号化装置およびその方法ならびにデータ復号化装置およびその方法
JPH09186883A (ja) 多値画像符号化装置
JPH104557A (ja) 画像処理装置、及び方法、及びその方法を記憶した記憶媒体
JPH06152986A (ja) 画像圧縮方法及び装置
JP6992825B2 (ja) 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
KR100495001B1 (ko) 이미지 압축 부호화 방법 및 시스템
JP3420389B2 (ja) 画像符号化方法及びその装置
JP3943634B2 (ja) 情報処理装置及び方法
JP2952007B2 (ja) 画像符号化装置
JP3847891B2 (ja) 符号化装置及び方法及び方法を記憶した記憶媒体
JPH099266A (ja) 画像符号化装置及び方法
JPH1070730A (ja) 画像符号化・復号化装置、及びその制御プログラムを記録した記録媒体
JPH11272843A (ja) カラー画像の符号化装置およびその方法並びにカラー画像の復号化装置およびその方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040427