JP4678814B2 - Image processing method and apparatus - Google Patents

Image processing method and apparatus Download PDF

Info

Publication number
JP4678814B2
JP4678814B2 JP2001267906A JP2001267906A JP4678814B2 JP 4678814 B2 JP4678814 B2 JP 4678814B2 JP 2001267906 A JP2001267906 A JP 2001267906A JP 2001267906 A JP2001267906 A JP 2001267906A JP 4678814 B2 JP4678814 B2 JP 4678814B2
Authority
JP
Japan
Prior art keywords
image
data
encoded data
code block
encoded
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.)
Expired - Fee Related
Application number
JP2001267906A
Other languages
Japanese (ja)
Other versions
JP2003078767A (en
JP2003078767A5 (en
Inventor
裕樹 岸
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 JP2001267906A priority Critical patent/JP4678814B2/en
Publication of JP2003078767A publication Critical patent/JP2003078767A/en
Publication of JP2003078767A5 publication Critical patent/JP2003078767A5/ja
Application granted granted Critical
Publication of JP4678814B2 publication Critical patent/JP4678814B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Editing Of Facsimile Originals (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)

Description

【0001】
【発明の属する技術分野】
本発明は、基本画像の画像データの所定領域を変更した画像データを符号化する画像処理方法及び装置に関するものである。
【0002】
【従来の技術】
近年、パソコンやモバイル端末の普及により、インターネットを介したデジタルデータの通信(データ通信)が幅広く行われるようになった。このデータ通信において流通するデジタルデータの代表的なものに静止画像データがある。このような静止画像データは、そのデータ量が大きいため、通常、送信や記憶に際しては、前もって符号化され静止画像データのデータ量を小さく抑えることが行われる。このような静止画像データの符号化方法として、例えばISO/iEC10918−1|iTU−T T.81に記載されるJPEG符号化方式がある。このJPEG符号化方式では、離散コサイン変換により画像データの系列が変換される。
【0003】
現在、画像データの系列を変換する方式として離散ウェーブレット変換が注目されている。これは離散ウェーブレット変換により生成された画像符号化データの復号画像と、離散ウェーブレット変換により生成された画像符号化データの復号画像とでは、前者の方がノイズが少なく出る傾向にあること等、多くの利点があるためである。
【0004】
また、離散ウェーブレット変換により画像を符号化することにより、復号が進むにつれて復号画像の精細さ及び解像度が向上するような、復号画像の段階的な表示(プログレッシブ表示)を行うことが可能になる。このようなプログレッシブ表示により、静止画像を受信して閲覧する閲覧者は、画像の受信もしくは復号の早期段階で、画像の大まかな情報を知ることができる。
【0005】
このような、プログレッシブ表示が可能な離散ウェーブレット変換により符号化された画像データの応用はいろいろ考えられる。その中の一つに、通信回線の容量や受信側のデータ表示デバイスの解像度に合わせた、企業から顧客への情報配信がある。この情報配信において、企業は多くの顧客へ、顧客毎に変更されるべき一部の領域(変更領域)を持つ情報を送る場合がある(図2(A)〜(C))。
【0006】
【発明が解決しようとする課題】
従来、このような情報配信において、配信される情報が離散ウェーブレット変換されて符号化された画像データである場合、画像データの全てを再度符号化することが普通だった。しかし、このような画像データは、基本となる画像が共通しており、それに対して各顧客ごとに変更画像データが付加される構成であるため、その変更された画像全体を再度符号化して送信するのは効率の良いものではなかった。
【0007】
本発明は上記従来例に鑑みてなされたもので、基本画像のある領域が変更されたような画像データを符号化するに際して、より効率の良い画像の符号化を行うことができる画像処理方法及び装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するために本発明の画像処理装置は以下のような構成を備える。即ち、
基本画像を変更した派生画像を符号化する画像処理装置であって、
前記基本画像の画像データを複数の周波数帯域の変換係数に変換する第1変換手段と、前記第1変換手段により得られた前記変換係数のそれぞれを量子化する第1量子化手段と、前記第1量子化手段により量子化された各周波数帯域の前記変換係数を任意の大きさの第1コードブロックに分割する第1コードブロック分割手段と、前記第1コードブロック分割手段により分割された前記第1コードブロックのそれぞれをエントロピー符号化する第1エントロピー符号化手段と、前記第1エントロピー符号化手段により符号化され生成された符号化データから前記基本画像の符号化データを生成する基本画像符号化データ生成手段と、前記派生画像において前記基本画像と画素値が異なる変更領域に関わる第2コードブロックを生成する画素を算出する算出手段と、前記算出手段により算出された前記画素を複数の周波数帯域の係数に変換する第2変換手段と、前記第2変換手段により得られた各周波数帯域の係数を量子化する第2量子化手段と、前記第2量子化手段により量子化された各周波数帯域の係数を任意の大きさのコードブロックに分割する第2コードブロック分割手段と、前記第2コードブロック分割手段により分割されたコードブロックをエントロピー符号化する第2エントロピー符号化手段と、前記第2エントロピー符号化手段により符号化されて生成された符号化データから前記第2コードブロックの符号化データを生成するコードブロック符号化データ生成手段と、前記コードブロック符号化データ生成手段により生成された前記第2コードブロックの符号化データにより、前記基本画像符号化データ生成手段において生成された前記基本画像の符号化データの対応する符号化されたコードブロックを入れ換えることにより前記派生画像の符号化データを生成する派生画像符号化データ生成手段とを有することを特徴とする。
【0010】
上記目的を達成するために本発明の画像処理方法は以下のような工程を備える。即ち、
基本画像を変更した派生画像を符号化する画像処理方法であって、
前記基本画像の画像データを複数の周波数帯域の変換係数に変換する第1変換工程と、前記第1変換工程で得られた前記変換係数のそれぞれを量子化する第1量子化工程と、前記第1量子化工程で量子化された各周波数帯域の前記変換係数を任意の大きさの第1コードブロックに分割する第1コードブロック分割工程と、前記第1コードブロック分割工程で分割された前記第1コードブロックのそれぞれをエントロピー符号化する第1エントロピー符号化工程と、前記第1エントロピー符号化工程で符号化され生成された符号化データから前記基本画像の符号化データを生成する基本画像符号化データ生成工程と、前記派生画像において前記基本画像と画素値が異なる変更領域に関わる第2コードブロックを生成する画素を算出する算出工程と、前記算出工程により算出された前記画素を複数の周波数帯域の係数に変換する第2変換工程と、前記第2変換工程で得られた各周波数帯域の係数を量子化する第2量子化工程と、前記第2量子化工程で量子化された各周波数帯域の係数を任意の大きさのコードブロックに分割する第2コードブロック分割工程と、前記第2コードブロック分割工程で分割されたコードブロックをエントロピー符号化する第2エントロピー符号化工程と、前記第2エントロピー符号化工程で符号化されて生成された符号化データから前記第2コードブロックの符号化データを生成するコードブロック符号化データ生成工程と、前記コードブロック符号化データ生成工程で生成された前記第2コードブロックの符号化データにより、前記基本画像符号化データ生成工程で生成された前記基本画像の符号化データの対応する符号化されたコードブロックを入れ換えることにより前記派生画像の符号化データを生成する派生画像符号化データ生成工程とを有することを特徴とする。
【0012】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【0013】
本実施の形態における画像処理装置には、例えば図1に示されているように、基本となる画像(基本画像1000)の画像データが入力される。そして図2(A)〜(C)に示されるように、図1に示す基本画像1000にの所定の領域にそれぞれ異なる差異データ200〜202が付加され、複数の派生画像1001〜1003が生成される。これら複数の派生画像1001〜1003のそれぞれが符号化対象の画像である。尚、このような差異データが付加された領域を変更領域と呼ぶことにする。
【0014】
これら複数の派生画像1001〜1003を符号化する本実施の形態に係る画像処理装置では、図3に示すように、基本画像1000を4つの矩形の領域(タイル)30〜33に分割する。こうして得られた各タイルは、各派生画像に共通な共通タイル30〜32と、図2(A)〜(C)に示す例で差異データ200〜202が付加される変更領域を含む変更タイル33とに分別される。そして、共通タイル30〜32は一度だけ符号化される。また変更タイル33は、その変更タイル33に付加される派生画像データの数だけ符号化が繰り返される。なお本実施の形態では、派生画像データがM種類(図2(A)〜(C)の例ではM=3)存在するものとする。尚、図3の例では、変更タイルは2×2個のタイルの右下のタイル33としているが、この変更タイルの位置はこれに限定されるものではない。
【0015】
以下にその方法の詳細を述べる。
【0016】
本実施の形態における静止画像中の符号化対象となる画像データは8ビットのモノクロ画像データとする。しかしながら例えば、各画素4ビット、10ビット、12ビットといったように、8ビット以外のビット数で表すモノクロ画像、或いは各画素における各色成分(RGB/Lab/YCrCb)を、それぞれ8ビットで表現するカラーの多値画像データである場合にも適用することが可能である。また、画像データが画像を構成する各画素の状態等を表す多値情報である場合、例えば各画素の色を表す多値のインデックス値である場合にも適用できる。これらに応用する場合には、各種類の多値情報を後述するモノクロ画像データとすればよい。
【0017】
図4は、本実施の形態に係る画像処理装置に基本画像データが入力され、符号化されてM種類の派生画像の符号化データが出力されるまでの処理を示すフローチャートである。
【0018】
まずステップS1で、変数iを「1」に初期化し、基本画像1000の画像データ(基本画像データ)を入力する。次にステップS2に進み、基本画像データを複数のタイルに分割し、これら複数のタイルのそれぞれを共通タイル(変更されないタイル)と変更タイル(付加データが付与されるタイル)とに分類する。ステップS3では、それぞれ共通タイルか変更タイルかに応じて、それぞれに対応した処理に振り分ける。共通タイルの場合にはステップS4に進み、その共通タイルの画像データ(共通タイルデータ)を符号化し、符号化共通タイルデータとして第1バッファ104(図5)に記憶する。また変更タイルの画像データ(変更タイルデータ)の場合にはステップS6に進み、その変更タイルデータを第2バッファ105(図5)へ、そのまま出力する。尚、この状態では、変更タイルデータは基本画像を分割したタイルデータであり、図2(A)〜(C)における200〜202で示されるような差異データは含まれていない。
【0019】
こうして共通タイルデータの符号化データと、変更タイルデータの記憶処理が終了するとステップS7に進み、第i番目の派生画像において付与される差異データ(図2(A)の例では200に相当)を取得する。この差異データは、前もってメモリなどに記憶されていても、或いは適宜発生されてもよい。次にステップS8に進み、変更タイルデータを第2バッファ105から付加済み変更タイルデータ生成部106(図5)に複写する。次にステップS9に進み、第i番目の差異データを変更タイルデータに付加して、第i番目の付加済み変更タイルデータを生成する。これは付加済み変更タイルデータ生成部106により実行される。次にステップS10に進み、第i番目の付加済み変更タイルデータを符号化する。そしてステップS11に進み、この符号化された第i番目の付加済み変更タイルデータと、ステップS5で第1バッファに格納された符号化された共通タイルデータとを組み合わせて第i番目の派生画像符号化データを生成して出力する。次にステップS12に進み、変数iとMの値とを比較して、M種類の派生画像符号化データの生成処理が終了したかを調べ、終了していない時は変数iを+1してステップS7に戻り前述の処理を実行する。そしてM種類の派生画像符号化データの生成処理が全て終了すると、この処理を終了する。
【0020】
以下に、本発明における画像処理装置の処理の詳細な説明を記述する。
【0021】
図5は、本発明の実施の形態に係る画像処理装置の構成を示すブロック図である。
【0022】
図において、101は基本画像データ入力部で、基本画像データを入力する。102はタイル分割部で、その入力した基本画像データを複数のタイルに分割する。103はタイル分類部で、各タイルを共通タイルと変更タイルに分類する。104は第1バッファで、共通タイルデータ及びその共通タイルデータを符号化した符号化データを記憶する。105は第2バッファで、変更タイルデータを記憶する。106は付加済み変更タイルデータ生成部で、差異データ生成部で生成された差異データを変更タイルデータに付加した変更タイルデータを生成する。差異データ生成部107は、例えば図2(A)〜(C)に示すような差異データ200〜202を生成する。108はタイルデータ符号化部で、共通タイルデータ及び差異データを付加した変更タイルデータを入力して符号化する。109は第i番目の派生画像データ符号化部で、タイルデータ符号化部108で符号化された変更タイルデータの符号化データと、第1バッファ104に記憶されている基本画像データの符号化データとを合成して派生画像データの符号化データを生成する。110は第i派生画像符号化画像データ出力部で、第i派生画像データ符号化部109で符号化された第i番目の派生画像符号化画像データを出力する。
【0023】
まず、M種類の差異データの中で、i=1番目の差異データを用いて、i=1番目の派生画像データを生成して符号化する場合で説明する。その次に1<i≦M番目の派生画像データの符号化について説明する。尚、i=1の場合とそれ以外の場合との差異は、1<i≦Mの場合には、共通タイルの画像が符号化されて記憶されているので、共通タイルの画像データの符号化処理が不要になるという点にある。
【0024】
[i=1の場合]
基本画像データ入力部101に入力された基本画像データは、タイル分割部102において、図3を参照して前述したように、4つのタイルに分割される。こうして生成された4つのタイルのそれぞれは、タイル分類部103で共通タイルと変更タイルとに分類される。次に、これら分類されたタイルのうち、共通タイルデータは第1バッファ104に格納され、変更タイルデータは第2バッファ105に格納される。そして第1バッファ104に格納された共通タイルデータはタイルデータ符号化部108により符号化され、符号化された共通タイルデータとなり、再び第1バッファ104に戻されて記憶される。尚、このタイルデータ符号化部108における処理については後述する。
【0025】
また第2バッファ105に格納された変更タイルデータは、付加済み変更タイルデータ生成部106に複写され、差異データ生成部107によって生成された第1差異データが、この変更タイルデータに付加されて、第1付加済み変更タイルデータが生成される。この第1付加済み変更タイルデータは、タイルデータ符号化部108で符号化されて符号化第1付加済み変更タイルデータとなり、第i派生画像符号化データ生成部109に出力される。第i派生画像符号化データ生成部109は、符号化第1付加済み変更タイルデータと、第1バッファ104に格納されている共通タイルデータの符号化画像データとを合成し、更にヘッダを生成する。その上で図6に示すように、ヘッダ600、共通タイルデータの符号化データ601と、符号化した第1付加済み変更タイルデータ602とから第1派生画像の符号化データ603を生成する。尚、このヘッダ600には、基本画像データ入力部101に入力された基本画像のサイズ、基本画像が2値画像であるか多値画像であるかを示すタイプなどの情報、並びに送信する画像符号化・伝送装置を示す文字列、送信日時、等が書き込まれる。
【0026】
このようにして作成された第1派生画像の符号化データは、第i派生画像符号化データ出力部110から外部へ出力される。
【0027】
次に、タイルデータ符号化部108に関して説明する。
【0028】
図7は、本実施の形態1に係るタイルデータ符号化部108の構成を示すブロック図である。
【0029】
図において、201はタイルデータ入力部で、共通タイルデータ或いは第1付加済み変更タイルデータを入力する。202は離散ウェーブレット変換部で、タイルデータ入力部201から入力したタイルデータに対して離散ウェーブレット変換を施す。203はバッファで、離散ウェーブレット変換部202で離散ウェーブレット変換した変換係数を記憶する。204は係数量子化部で、これら変換係数を入力して量子化する。205はエントロピー符号化部で、係数量子化部204で量子化された係数値をエントロピー符号化する。206はタイル符号化データ出力部である。
【0030】
タイルデータ入力部201には、共通タイルデータもしくは第1付加済みタイルデータが入力される。これらのタイルデータは離散ウェーブレット変換部202に供給され、離散ウェーブレット変換部202は、入力されたタイルデータに離散ウェーブレット変換を施し、生成される離散ウェーブレット変換係数を複数の周波数帯域(サブバンド)に分解する。本実施の形態においては、画像データ列x(n)に対する離散ウェーブレット変換は下式に基づいて行われる。
【0031】
d(n)=x(2n+1)-floor{(x(2n)+x(2n+2))/2}
r(n)=x(2n)+floor{(d(n-1)+d(n+1)+2)/4}
ここで、r(n)、d(n)は変換係数であり、r(n)は低周波サブバンド、d(n)は高周波サブバンドである。また、上式においてfloor{X}はXを超えない最大の整数値を表す。この変換式は一次元のデータに対するものであるが、この変換を水平方向、垂直方向の順に適用して二次元の変換を行うことにより、図8(A)の様なLL,HL,LH,HHの4つのサブバンドに分割することができる。ここで、Lは低周波サブバンド、Hは高周波サブバンドを示している。次にLLサブバンドを、同様に4つのサブバンドに分け(図8(B))、その中のLLサブバンドを更に4サブバンドに分け(図8(C))、合計10個のサブバンドを作る。これら10個のサブバンドそれぞれを図8(C)に示す様に、HH1,HL1,…,HH3と呼ぶことにする。ここで、各サブバンドの名称における数字を、それぞれのサブバンドのレベルとする。つまり、レベル1のサブバンドは、HL1,HH1,LH1、レベル2のサブバンドは、HL2,HH2,LH2である。尚、LLサブバンドはレベル0のサブバンドとする。また、レベルnまでのサブバンドを復号することで得られる復号データをレベルnの復号データと呼ぶ。そしてレベルnの復号データから得られる復号画像をレベルnの復号画像と呼ぶ。ここで復号画像は、レベルが高い程、解像度も高いものとする。
【0032】
尚、本実施の形態における復号装置に送信される画像符号化データは、上述のような10個のサブバンドを持つものとする。
【0033】
これら全てのサブバンドを復号することで得られる復号データを完全復号データと呼ぶ。また、この完全復号データを画像表示デバイスに表示させることで得られる復号画像を完全復号画像と呼ぶ。本実施の形態ではレベル3の復号画像が完全復号画像である。
【0034】
10個のサブバンドは、一旦バッファ203に格納され、LL,HL1,LH1,HH1,HL2,LH2,HH2,HL3,LH3,HH3の順に、つまりレベルが低いサブバンドからレベルが高いサブバンドの順に、係数量子化部204に出力される。係数量子化部204は、バッファ203から供給される各サブバンドのウェーブレット変換係数を、周波数成分毎に定めた量子化ステップで量子化し、量子化後の値(係数量子化値)をエントロピー符号化部205へ出力する。ここで、係数値をX、この係数の属する周波数成分に対する量子化ステップの値をqとするとき、量子化後の係数値Q(X)は次式によって求めるものとする。
【0035】
Q(X)=floor{(X/q)+0.5}
但し、上式においてfloor{X}はXを超えない最大の整数値を表す。
【0036】
図9は、本実施の形態における各周波数成分と量子化ステップとの対応例を説明する図である。図に示すように、低周波サブバンド(LL等)よりも高周波サブバンド(HL1、LH1、HH1等)の方に、大きい量子化ステップを与えている。
【0037】
エントロピー符号化部205では、入力された係数量子化値を算術符号化によりエントロピー符号化してエントロピー符号化値を生成する。そのエントロピー符号化値は、タイル符号化データ出力部206に出力される。タイル符号化データ出力部206では、図10に示されているように、入力されたエントロピー符号化値をサブバンド単位で並べ、その先頭にタイルヘッダを付加して、タイル符号化データを生成する。
【0038】
図11は、3つの共通タイル符号化データの配列を説明する図である。
【0039】
こうしてタイル符号化データ出力部206から、符号化共通タイルデータは第1バッファ104へ送られて保存される。また、符号化第1付加済みタイルデータの場合には、第i派生画像データ符号化部109に出力される。
【0040】
[1<i≦Mの場合]
1<i≦Mの場合における派生画像データの符号化においては、既に共通タイルデータの符号化処理が終了して第1バッファ104に記憶されている。また付加済み変更タイルデータ生成部106により変更タイルデータに第i差異データが付加されて第i付加済みタイルデータが生成され、その第i付加済みタイルデータをタイルデータ符号化部108により符号化する。そして第i派生画像符号化データ生成部109は、第1バッファ104に格納されている符号化済みの共通タイルデータと、タイルデータ符号化部108からの符号化第1付加済みタイルデータとを入力して第i派生画像符号化データを生成して、第i派生画像符号化データ出力部110から外部へ出力する。
【0041】
以上説明したように本実施の形態1における画像処理装置によれば、基本画像データを複数のタイルに分割し、得られたタイルを共通タイルと変更タイルとに分別しそれぞれ独立に符号化する。その際、共通タイルデータについては一度だけ符号化を行い、変更タイルデータについては、そのタイルデータに付加される画像データの種類に応じた回数だけ符号化を行う。こうすることにより、変更タイルデータを含む派生画像データの全データを符号化することなく効率的な符号化を達成できる。
【0042】
[実施の形態2]
前述の実施の形態1では、基本画像データを複数タイルに分割し、得られたタイルを共通タイルと変更タイルとに分別し、共通タイルデータを一度だけ符号化し、変更タイルデータについては派生画像の種類だけ符号化を行った。
【0043】
これに対し本実施の形態2においては、基本画像を複数のタイルに分割しないで符号化を行う。但し、この実施の形態2では、図12に示されるように、符号化の過程で、画像データを離散ウェーブレット変換することで得られる各サブバンドをコードブロックに分割した後、エントロピー符号化している。更に、差異データを基本画像においてどこに付加するかが決定された後、各派生画像の変更領域に関わるコードブロック(変更コードブロック)を生成する画素(変更コードブロック生成画素)を算出し、その変更コードブロックの生成画素を符号化する。こうして生成された変更コードブロックの符号化データと、そのコードブロックと空間的に対応するコードブロック(対応コードブロック)の符号化データである対応コードブロックの符号化データとを入れ替える。これにより、複数の派生画像が生成される。
【0044】
以下に、本実施の形態2に係る画像処理装置における動作について詳しく説明する。
【0045】
図13は、本実施の形態2に係る画像処理装置の構成を示すブロック図である。
【0046】
同図において、1801は派生画像データ符号化部、1802は外部出力部、1803は制御部である。ここでは、複数の派生画像は、派生画像データ符号化部1801で符号化された後、外部出力部1802に一時保存されて外部に出力される。制御部1803は、外部出力部1802に蓄積されている派生画像符号化データの外部への出力を制御する。
【0047】
図14は、本実施の形態2に係る画像処理装置における派生画像データ符号化部1801の構成を示すブロック図である。
【0048】
図において、1701は基本画像入力部、1702はバッファ、1703は基本画像データ符号化部、1704はバッファ、1705は差異データ位置決定部、1706は変更コードブロック生成画素算出部、1707は第i差異データ生成部、1708は第i変更コードブロック生成画素符号化部、1709はコードブロック置換部、1710は第i派生画像符号化データ出力部、1711は差異データ消去部である。
【0049】
図15は、本実施の形態2に係る画像処理装置における処理を示すフローチャートである。
【0050】
図において、まずステップS21で、基本画像入力部1701により基本画像データを入力する。この時、変数iを「1」に初期化する。ステップS22では、この入力された基本画像データをバッファ1702に送って一時保存する。次にステップS23に進み、このバッファ1702に保存された基本画像データを基本画像データ符号化部1703に供給する。これによりステップS24で、基本画像データ符号化部1703により基本画像データを符号化して基本画像符号化データを生成する。次にステップS25に進み、この基本画像符号化データをバッファ1704に出力して一時保存する。
【0051】
次にステップS26に進み、第i差異データ生成部1707により第i番目の差異データ(第i差異データ)を生成し、その領域情報を差異データ位置決定部1705に送る。これにより差異データ位置決定部1705は、図2に示されているように、その領域情報から、基本画像データにおける差異データの位置を決定する。こうして決定された位置情報は、変更コードブロック生成画素算出部1706に送られ、図22に示されるように、変更コードブロック(差異データが含まれるコードブロック)が算出される(ステップS27)。この変更コードブロック生成画素の算出方法は詳しく後述する。
【0052】
次にステップS28に進み、ステップS27の算出結果に基づいて、変更コードブロックの生成画素であると決定された基本画像データの画素がバッファ1702から読み出され、更に第i番目の差異データが第i差異データ生成部1707から第i変更コードブロック生成画素符号化部1708に出力される。次にステップS29に進み、この第i変更コードブロック生成画素符号化部1708は、変更コードブロックの生成画素を符号化して第i変更コードブロックの符号化データを生成する。その後ステップS30に進み、第i変更コードブロックの符号化データと、基本画像符号化データにおける、その第i番目に対応するコードブロックの符号化データとを置換して、第i番目の派生画像の符号化データを生成し、第i派生画像符号化データ出力部1710に入力する。これにより第i派生画像符号化データ出力部1710を介して、第i番目の派生画像の符号化データが外部出力部1802(図13)に出力される。更にステップS31に進み、差異データ消去部1711により、第i差異データ生成部1707に存在する第i差異データを消去する。そしてステップS32に進み、変数iと、差異データの種類数を示す値Mとを比較して、M種類の差異データの処理が終了したかを調べ、終了していなければ変数iを+1してステップS26に戻り、第i差異データに対する前述の処理を繰り返す。こうして、M種類の差異データの処理が終了すると、この処理を終了する。
【0053】
図16は、本実施の形態2に係る基本画像データ符号化部1703の構成を示すブロック図である。
【0054】
図において、1301は基本画像データ入力部、202は離散ウェーブレット変換部、203はバッファ、204は係数量子化部、1305はコードブロック分割部、1306はエントロピー符号化部、1307は基本画像符号化データ出力部である。尚、図16において、前述の実施の形態1に係る図7と共通する部分は同じ記号で示し、それらの説明を省略する。
【0055】
また図23は、本実施の形態2に係る第i変更コードブロック生成画素符号化部1708の構成を示すブロック図で、ここでも前述の実施の形態1に係る図7と共通する部分は同じ記号で示し、それらの説明を省略する。
【0056】
図23において、1901は第i変更コードブロック生成画素入力部、1305はコードブロック分割部、1306はエントロピー符号化部、1902は第i変更コードブロック符号化データ出力部である。
【0057】
以下、図14に示す基本画像データ符号化部1703(図16),変更コードブロック生成画素算出部1706、第i変更コードブロック生成画素符号化部1708(図23)、コードブロック置換部1709、第i派生画像符号化データ出力部1710の処理について説明する。
【0058】
[基本画像データ符号化部1703]
図16において、基本画像データは基本画像データ入力部1301から入力され、離散ウェーブレット変換部202、バッファ203、係数量子化部204で順に処理される。離散ウェーブレット変換部202、バッファ203、係数量子化部204における処理は、前述の実施の形態1における処理と同様であるので、それらの処理部の説明は割愛する。
【0059】
係数量子化部204で量子化された各係数値は、各サブバンドの形式でコードブロック分割部1305に入力され、図12に示すように、矩形のコードブロックに分割される。このコードブロックの大きさとして、2n×2m(但し、n,mは正の定数で、図12ではn=m=4)等が考えられる。
【0060】
こうして生成されたコードブロックは、エントロピー符号化部1306に入力されてエントロピー符号化される。そして、このエントロピー符号化により得られた符号化値は、基本画像符号化データ出力部1307からバッファ1704(図14)へ出力されて一時保存される。
【0061】
[変更コードブロック生成画素算出部1706]
この変更コードブロック生成画素算出部170における処理を、図17乃至図22を参照して説明する。尚、ここでは1次元の画素データ列を用いることにより説明を簡易化する。
【0062】
図17は、派生画像を離散ウェーブレット変換して低周波成分L2を生成し、更にこの低周波成分L2の低周波成分L1を生成する様子を示している。ここで図18に示されているように、黒く塗られた画素が変更領域である場合、この変更領域から生成される各サブバンドの係数は、図19の1900〜1904で示す係数である。これから更に図20に示すようにコードブロック分割がなされる。その結果である変更コードブロックは、図21に示されている通りである。そこから、図22に示されているように、画素1900〜1904が変更コードブロック生成画素として決定される。
【0063】
[第i変更コードブロック生成画素符号化部1708]
第i変更コードブロック生成画素符号化部1708における処理は、図23において、第i変更コードブロック生成画素入力部1901に第i変更コードブロック生成画素が入力される点、更に、第i変更コードブロックの符号化データ出力部1902から第i変更コードブロックの符号化データが出力される点で、前述の基本画像データ符号化部1703(図16)の処理と異なる。しかし、その他の処理に関しては、前述の基本画像データ符号化部1703(図16)の場合と同様である。
【0064】
[コードブロック置換部1709]
コードブロック置換部1709は、コードブロック置換部1709内に存在する作業用バッファに、バッファ1704に蓄積されている基本画像の符号化データを複写する。更に、この基本画像の符号化データにおける対応コードブロックの符号化データを、第i変更コードブロック生成画素符号化部1708から入力された第i変更コードブロックの符号化データにより置換する。更に、コードブロックの単位にエントロピー符号化されたサブバンドを図24のように並べて準第i派生画像符号化データを生成し、第i派生画像符号化データ出力部1710に出力する。
【0065】
[第i派生画像符号化データ出力部1710]
第i派生画像符号化データ出力部1710は、図25に示されているように、入力された準第i派生画像符号化データの先頭にヘッダ付加し、第i派生画像符号化データを生成する。なお、このヘッダには、基本画像入力部1701に入力された画像のサイズ、画像が2値画像であるか多値画像であるかを示すタイプなどの情報、並びに送信する画像処理装置を示す文字列、送信日時等が書き込まれる。このように生成された第i派生画像符号化データは、外部出力部1802(図13)へ出力される。
【0066】
以上説明したように本実施の形態2に係る画像処理装置によれば、離散ウェーブレット変換された画像データのサブバンドをコードブロックに分割する。その後、各派生画像の変更コードブロック符号化する。こうすることで効率の良い派生画像データの符号化を行える。
【0067】
[実施の形態3]
前述の実施の形態2における符号化方法は、効率の良い派生画像データの生成を可能とするだけでなく、コードブロック単位の処理による、エントロピー符号化部1306における省メモリ化を達成している。しかし符号化全体における省メモリ化は達成されていない。
【0068】
これに対し本実施の形態3では、符号化全体の省メモリ化を図りつつ、効率良く派生画像データを生成する方法について説明する。
【0069】
図26は、本実施の形態3に係る画像処理装置の構成を示すブロック図である。これは第2実施の形態の画像処理装置における派生画像データ符号化部1801(図13)を派生画像データ符号化部2201に置換したものである。
【0070】
図27は、本実施の形態3に係る派生画像データ符号化部2201の構成を示すブロック図である。これは実施の形態2に係る派生画像データ符号化部1801における基本画像データ符号化部1703(図14)を基本画像データ符号化部2301に置換したものである。
【0071】
図28は、本実施の形態3に係る基本画像データ符号化部2301のブロック図を示したものである。これは基本画像データ入力部1301と離散ウェーブレット変換部1302の間に、タイル分割部1501を挿入し、更に図16の基本画像符号化データ出力部1307を基本画像符号化データ出力部1502に置換したものである。
【0072】
基本画像データ符号化部2301(図27)における基本画像データ入力部1301に基本画像データが入力されると、基本画像データは、タイル分割部1501で図29のようにタイル(タイル0〜3)に分割される。そして各タイルは独立に、前述の実施の形態2のように符号化される。
【0073】
なお、基本画像符号化データ出力部1502は、図30に示されているように、符号化された各タイルデータを並べることで基本画像符号化データを生成し、その基本画像符号化データをバッファ1704へ出力する。尚、この基本画像符号化データがバッファ1704に出力された後の処理は、前述の実施の形態2と同様であるので、該当する処理の説明は割愛する。
【0074】
以上説明したように本実施の形態3に係る画像処理装置によれば、画像データを複数のタイルに分割し、各タイルを前述の実施の形態2における符号化方法と同様にして符号化する。こうすることにより、符号化全体の省メモリ化を図りつつ、効率良く派生画像データを生成することができる。
【0075】
尚、上述した各実施の形態では、画像データを離散ウェーブレット変換により直交変換しているが本発明はこれに限定されるものでなく、例えば、画像データを解像度に応じて階層化して符号化する方式も本発明の範疇に含まれる。
【0076】
なお本発明は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0077】
また本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0078】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
【0079】
以上説明したように本実施の形態によれば、1つの画像に、効率よく様々な変更処理を加え、符号化することが可能である。
【0080】
【発明の効果】
以上説明したように本発明によれば、基本画像のある領域が変更されたような画像データを符号化するに際して、より効率の良い画像の符号化を行うことができるという効果がある。
【図面の簡単な説明】
【図1】本実施の形態に係る基本画像の一例を示す図である。
【図2】本実施の形態に係る派生画像の例を示す図である。
【図3】本実施の形態に係る基本画像のタイル分割例を示す図である。
【図4】本発明の実施の形態1に係る画像処理装置における複数種の派生画像の符号化データを生成する処理を示すフローチャートである。
【図5】本発明の実施の形態1に係る画像処理装置の構成を示すブロック図である。
【図6】1番目の派生画像の符号化データを説明する図である。
【図7】本実施の形態1に係るタイルデータ符号化部108の構成を示すブロック図である。
【図8】離散ウェーブレット変換による変換結果を説明する図である。
【図9】本実施の形態における変換係数の周波数成分と量子化ステップとの関係を説明する図である。
【図10】本実施の形態におけるタイル符号化データを説明する図である。
【図11】共通タイルデータを符号化した符号化データで構成される準画像符号化データを説明する図である。
【図12】本発明の実施の形態2に係るコードブロックの分割例を説明する図である。
【図13】実施の形態2に係る画像処理装置の構成を示すブロック図である。
【図14】実施の形態2に係る画像処理装置における派生画像データ符号化部1801の構成を示すブロック図である。
【図15】実施の形態2に係る画像処理装置における派生画像の符号化データを生成する処理を示すフローチャートである。派生画像の説明図
【図16】実施の形態2に係る基本画像データ符号化部1703の構成を示すブロック図である。
【図17】、
【図18】、
【図19】、
【図20】、
【図21】、
【図22】実施の形態2に係る変更コードブロック生成画素を説明する図である。
【図23】実施の形態2に係る第i変更コードブロック生成画素符号化部1708の構成を示すブロック図である。
【図24】実施の形態2に係る準第i派生画像符号化データを説明する図である。
【図25】実施の形態2に係る第i派生画像符号化データを説明する図である。
【図26】本発明の実施の形態3に係る画像処理装置の構成を示すブロック図である。
【図27】実施の形態3に係る派生画像データ符号化部2201の構成を示すブロック図である。
【図28】実施の形態3に係る基本画像データ符号化部2301のブロック図を示した図である。
【図29】実施の形態3に係る基本画像の分割例を示した図である。
【図30】実施の形態3に係る基本画像符号化データを説明する図である。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing method and apparatus for encoding image data obtained by changing a predetermined area of image data of a basic image.
[0002]
[Prior art]
In recent years, with the spread of personal computers and mobile terminals, digital data communication (data communication) via the Internet has been widely performed. The representative digital data distributed in this data communication is still image data. Since such still image data has a large amount of data, normally, transmission and storage are performed in advance, and the data amount of still image data is kept small. As an encoding method of such still image data, for example, ISO / iEC10918-1 | iTU-TT 81 is a JPEG encoding method. In this JPEG encoding method, a sequence of image data is converted by discrete cosine conversion.
[0003]
Currently, a discrete wavelet transform is attracting attention as a method for transforming a series of image data. This is because, for example, the decoded image of the image encoded data generated by the discrete wavelet transform and the decoded image of the image encoded data generated by the discrete wavelet transform tend to generate less noise in the former. Because there is an advantage of.
[0004]
In addition, by encoding an image by discrete wavelet transform, it is possible to perform stepwise display (progressive display) of the decoded image so that the resolution and resolution of the decoded image improve as decoding progresses. With such progressive display, a viewer who receives and browses a still image can know rough information of the image at an early stage of receiving or decoding the image.
[0005]
Various applications of image data encoded by discrete wavelet transform capable of progressive display can be considered. One of them is information distribution from companies to customers according to the capacity of the communication line and the resolution of the data display device on the receiving side. In this information distribution, a company may send information having a partial area (change area) to be changed for each customer to many customers (FIGS. 2A to 2C).
[0006]
[Problems to be solved by the invention]
Conventionally, in such information distribution, when the information to be distributed is image data encoded by discrete wavelet transform, it is common to re-encode all of the image data. However, since such image data has a basic image in common and changed image data is added to each customer, the entire changed image is encoded again and transmitted. It was not efficient.
[0007]
The present invention has been made in view of the above conventional example, and an image processing method capable of performing more efficient image encoding when encoding image data in which a certain area of a basic image is changed, and An object is to provide an apparatus.
[0008]
[Means for Solving the Problems]
  In order to achieve the above object, the image processing apparatus of the present invention comprises the following arrangement. That is,
  An image processing apparatus for encoding a derivative image obtained by changing a basic image,
  First conversion means for converting image data of the basic image into conversion coefficients of a plurality of frequency bands; first quantization means for quantizing each of the conversion coefficients obtained by the first conversion means; First code block dividing means for dividing the transform coefficient of each frequency band quantized by one quantization means into first code blocks of an arbitrary size; and the first code block dividing means divided by the first code block dividing means. First entropy encoding means for entropy encoding each of one code block; and basic image encoding for generating encoded data of the basic image from encoded data generated by encoding by the first entropy encoding means A pixel for generating a second code block related to a change area having a pixel value different from that of the basic image in the derived image; Calculating means for outputting, a second converting means for converting the pixels calculated by the calculating means into coefficients of a plurality of frequency bands, and a first quantizing coefficient of each frequency band obtained by the second converting means. 2 quantizing means, second code block dividing means for dividing the coefficient of each frequency band quantized by the second quantizing means into code blocks of an arbitrary size, and dividing by the second code block dividing means A second entropy encoding means for entropy-encoding the generated code block, and a code block for generating encoded data of the second code block from the encoded data generated by encoding by the second entropy encoding means An encoded data generating unit; and an encoded data of the second code block generated by the code block encoded data generating unit. Derived image encoded data for generating encoded data of the derived image by replacing the corresponding encoded code block of the encoded data of the basic image generated by the basic image encoded data generation means And generating means.
[0010]
  In order to achieve the above object, the image processing method of the present invention comprises the following steps. That is,
  An image processing method for encoding a derivative image obtained by changing a basic image,
  A first conversion step of converting image data of the basic image into conversion coefficients of a plurality of frequency bands; a first quantization step of quantizing each of the conversion coefficients obtained in the first conversion step; A first code block dividing step of dividing the transform coefficient of each frequency band quantized in one quantization step into first code blocks of an arbitrary size; and the first code block dividing step divided in the first code block dividing step A first entropy encoding step for entropy encoding each code block; and basic image encoding for generating encoded data of the basic image from the encoded data generated by encoding in the first entropy encoding step A data generation step, and a calculation step of calculating a pixel for generating a second code block related to a change area having a pixel value different from that of the basic image in the derived image A second conversion step of converting the pixels calculated in the calculation step into coefficients of a plurality of frequency bands, and a second quantization step of quantizing the coefficients of each frequency band obtained in the second conversion step; , A second code block dividing step of dividing the coefficient of each frequency band quantized in the second quantization step into code blocks of an arbitrary size, and the code block divided in the second code block dividing step A second entropy encoding step for entropy encoding, and a code block encoded data generation step for generating encoded data of the second code block from the encoded data generated by encoding in the second entropy encoding step And the basic image encoded data by the encoded data of the second code block generated in the code block encoded data generating step. And a derived image encoded data generation step of generating encoded data of the derived image by replacing corresponding encoded code blocks of the encoded data of the basic image generated in the generating step. To do.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Preferred embodiments of the present invention will be described below in detail with reference to the accompanying drawings.
[0013]
For example, as shown in FIG. 1, image data of a basic image (basic image 1000) is input to the image processing apparatus according to the present embodiment. Then, as shown in FIGS. 2A to 2C, different difference data 200 to 202 are added to predetermined areas of the basic image 1000 shown in FIG. 1 to generate a plurality of derived images 1001 to 1003. The Each of the plurality of derived images 1001 to 1003 is an image to be encoded. An area to which such difference data is added is called a changed area.
[0014]
In the image processing apparatus according to the present embodiment that encodes the plurality of derived images 1001 to 1003, the basic image 1000 is divided into four rectangular areas (tiles) 30 to 33 as shown in FIG. Each of the tiles thus obtained includes a common tile 30 to 32 common to each derived image, and a modified tile 33 including a modified area to which difference data 200 to 202 is added in the example illustrated in FIGS. And are separated. The common tiles 30 to 32 are encoded only once. Further, the encoding of the change tile 33 is repeated by the number of derived image data added to the change tile 33. In the present embodiment, it is assumed that there are M types of derived image data (M = 3 in the example of FIGS. 2A to 2C). In the example of FIG. 3, the changed tile is the lower right tile 33 of 2 × 2 tiles, but the position of the changed tile is not limited to this.
[0015]
Details of the method will be described below.
[0016]
The image data to be encoded in the still image in this embodiment is assumed to be 8-bit monochrome image data. However, for example, a monochrome image represented by a bit number other than 8 bits, such as 4 bits, 10 bits, or 12 bits for each pixel, or a color that represents each color component (RGB / Lab / YCrCb) in each pixel by 8 bits. The present invention can also be applied to multi-valued image data. Also, the present invention can be applied to a case where the image data is multi-value information representing the state of each pixel constituting the image, for example, a multi-value index value representing the color of each pixel. When applied to these, each type of multi-value information may be monochrome image data to be described later.
[0017]
FIG. 4 is a flowchart showing processing until basic image data is input to the image processing apparatus according to the present embodiment, encoded, and encoded data of M types of derived images is output.
[0018]
First, in step S1, the variable i is initialized to “1”, and image data (basic image data) of the basic image 1000 is input. In step S2, the basic image data is divided into a plurality of tiles, and each of the plurality of tiles is classified into a common tile (a tile that is not changed) and a changed tile (a tile to which additional data is added). In step S3, processing is assigned to each corresponding to the common tile or the changed tile. In the case of a common tile, the process proceeds to step S4, where the image data (common tile data) of the common tile is encoded and stored as encoded common tile data in the first buffer 104 (FIG. 5). If the image data is changed tile image data (changed tile data), the process proceeds to step S6, and the changed tile data is output to the second buffer 105 (FIG. 5) as it is. In this state, the changed tile data is tile data obtained by dividing the basic image, and does not include difference data as indicated by 200 to 202 in FIGS.
[0019]
When the storage processing of the encoded data of the common tile data and the changed tile data is completed in this way, the process proceeds to step S7, and the difference data (corresponding to 200 in the example of FIG. 2A) added to the i th derivative image is obtained. get. This difference data may be stored in advance in a memory or the like, or may be generated as appropriate. In step S8, the changed tile data is copied from the second buffer 105 to the added changed tile data generation unit 106 (FIG. 5). In step S9, the i-th difference data is added to the changed tile data to generate i-th added changed tile data. This is executed by the added changed tile data generation unit 106. In step S10, the i-th added changed tile data is encoded. In step S11, the i-th derived image code is generated by combining the encoded i-th added changed tile data and the encoded common tile data stored in the first buffer in step S5. Generate and output digitized data. In step S12, the variable i is compared with the value of M to check whether the generation processing of M types of derived image encoded data has been completed. If not, the variable i is incremented by one. Returning to S7, the above-described processing is executed. Then, when all of the generation processes of the M types of derived image encoded data are finished, this process is finished.
[0020]
The detailed description of the processing of the image processing apparatus according to the present invention will be described below.
[0021]
FIG. 5 is a block diagram showing the configuration of the image processing apparatus according to the embodiment of the present invention.
[0022]
In the figure, reference numeral 101 denotes a basic image data input unit for inputting basic image data. A tile dividing unit 102 divides the input basic image data into a plurality of tiles. A tile classification unit 103 classifies each tile into a common tile and a change tile. A first buffer 104 stores common tile data and encoded data obtained by encoding the common tile data. Reference numeral 105 denotes a second buffer for storing changed tile data. An added changed tile data generation unit 106 generates changed tile data in which the difference data generated by the difference data generation unit is added to the changed tile data. The difference data generation unit 107 generates difference data 200 to 202 as shown in FIGS. 2A to 2C, for example. Reference numeral 108 denotes a tile data encoding unit that inputs and encodes changed tile data to which common tile data and difference data are added. Reference numeral 109 denotes an i-th derived image data encoding unit, which is encoded data of changed tile data encoded by the tile data encoding unit 108 and encoded data of basic image data stored in the first buffer 104. And the encoded data of the derived image data is generated. Reference numeral 110 denotes an i-th derived image encoded image data output unit that outputs the i-th derived image encoded image data encoded by the i-th derived image data encoding unit 109.
[0023]
First, a case will be described in which i = 1st derivative image data is generated and encoded using i = 1st difference data among M types of difference data. Next, encoding of 1 <i ≦ Mth derivative image data will be described. Note that the difference between i = 1 and other cases is that when 1 <i ≦ M, the image of the common tile is encoded and stored. The processing is unnecessary.
[0024]
[When i = 1]
The basic image data input to the basic image data input unit 101 is divided into four tiles in the tile dividing unit 102 as described above with reference to FIG. Each of the four tiles thus generated is classified into a common tile and a changed tile by the tile classification unit 103. Next, among these classified tiles, common tile data is stored in the first buffer 104, and changed tile data is stored in the second buffer 105. The common tile data stored in the first buffer 104 is encoded by the tile data encoding unit 108 to be encoded common tile data, and is returned to the first buffer 104 and stored therein. The processing in the tile data encoding unit 108 will be described later.
[0025]
The changed tile data stored in the second buffer 105 is copied to the added changed tile data generation unit 106, and the first difference data generated by the difference data generation unit 107 is added to the changed tile data. First added modified tile data is generated. The first added changed tile data is encoded by the tile data encoding unit 108 to become encoded first added changed tile data, and is output to the i-th derived image encoded data generation unit 109. The i-th derived image encoded data generation unit 109 synthesizes the encoded first added modified tile data and the encoded image data of the common tile data stored in the first buffer 104, and further generates a header. . Then, as shown in FIG. 6, encoded data 603 of the first derivative image is generated from the header 600, the encoded data 601 of the common tile data, and the encoded first added modified tile data 602. The header 600 includes information such as the size of the basic image input to the basic image data input unit 101, information indicating whether the basic image is a binary image or a multi-valued image, and an image code to be transmitted. A character string indicating transmission / transmission apparatus, a transmission date and time, and the like are written.
[0026]
The encoded data of the first derivative image created in this way is output from the i-th derivative image encoded data output unit 110 to the outside.
[0027]
Next, the tile data encoding unit 108 will be described.
[0028]
FIG. 7 is a block diagram showing a configuration of tile data encoding section 108 according to the first embodiment.
[0029]
In the figure, 201 is a tile data input unit for inputting common tile data or first added changed tile data. A discrete wavelet transform unit 202 performs a discrete wavelet transform on tile data input from the tile data input unit 201. A buffer 203 stores the transform coefficient obtained by the discrete wavelet transform by the discrete wavelet transform unit 202. A coefficient quantizing unit 204 inputs these transform coefficients and quantizes them. Reference numeral 205 denotes an entropy encoding unit that entropy encodes the coefficient value quantized by the coefficient quantization unit 204. Reference numeral 206 denotes a tile encoded data output unit.
[0030]
The tile data input unit 201 receives common tile data or first added tile data. These tile data are supplied to the discrete wavelet transform unit 202. The discrete wavelet transform unit 202 performs discrete wavelet transform on the input tile data, and the generated discrete wavelet transform coefficients are divided into a plurality of frequency bands (subbands). Decompose. In the present embodiment, the discrete wavelet transform for the image data sequence x (n) is performed based on the following equation.
[0031]
d (n) = x (2n + 1) -floor {(x (2n) + x (2n + 2)) / 2}
r (n) = x (2n) + floor {(d (n-1) + d (n + 1) +2) / 4}
Here, r (n) and d (n) are conversion coefficients, r (n) is a low-frequency subband, and d (n) is a high-frequency subband. In the above formula, floor {X} represents the maximum integer value not exceeding X. This conversion formula is for one-dimensional data. By applying this conversion in the order of horizontal direction and vertical direction to perform two-dimensional conversion, LL, HL, LH, and so on as shown in FIG. It can be divided into 4 sub-bands of HH. Here, L indicates a low-frequency subband, and H indicates a high-frequency subband. Next, the LL subband is similarly divided into four subbands (FIG. 8B), and the LL subband is further divided into four subbands (FIG. 8C), for a total of ten subbands. make. Each of these 10 subbands is called HH1, HL1,..., HH3 as shown in FIG. Here, the number in the name of each subband is the level of each subband. That is, the level 1 subbands are HL1, HH1, and LH1, and the level 2 subbands are HL2, HH2, and LH2. The LL subband is a level 0 subband. Decoded data obtained by decoding subbands up to level n is referred to as level n decoded data. A decoded image obtained from level n decoded data is referred to as a level n decoded image. Here, the higher the level of the decoded image, the higher the resolution.
[0032]
It is assumed that the encoded image data transmitted to the decoding device in the present embodiment has 10 subbands as described above.
[0033]
The decoded data obtained by decoding all these subbands is called complete decoded data. A decoded image obtained by displaying this complete decoded data on the image display device is referred to as a complete decoded image. In the present embodiment, the level 3 decoded image is a completely decoded image.
[0034]
The ten subbands are temporarily stored in the buffer 203, and are in the order of LL, HL1, LH1, HH1, HL2, LH2, HH2, HL3, LH3, and HH3, that is, in order of the subbands having the lowest level to the higher level. And output to the coefficient quantization unit 204. The coefficient quantization unit 204 quantizes the wavelet transform coefficient of each subband supplied from the buffer 203 in a quantization step determined for each frequency component, and entropy-encodes the quantized value (coefficient quantization value). The data is output to the unit 205. Here, when the coefficient value is X and the value of the quantization step for the frequency component to which the coefficient belongs is q, the quantized coefficient value Q (X) is obtained by the following equation.
[0035]
Q (X) = floor {(X / q) +0.5}
However, in the above formula, floor {X} represents the maximum integer value not exceeding X.
[0036]
FIG. 9 is a diagram illustrating a correspondence example between each frequency component and the quantization step in the present embodiment. As shown in the figure, a larger quantization step is given to the high frequency subbands (HL1, LH1, HH1, etc.) than the low frequency subbands (LL, etc.).
[0037]
The entropy encoding unit 205 generates an entropy encoded value by entropy encoding the input coefficient quantization value by arithmetic encoding. The entropy encoded value is output to the tile encoded data output unit 206. As shown in FIG. 10, the tile encoded data output unit 206 arranges the input entropy encoded values in units of subbands, adds a tile header to the head thereof, and generates tile encoded data. .
[0038]
FIG. 11 is a diagram illustrating an array of three common tile encoded data.
[0039]
In this way, the encoded common tile data is sent from the tile encoded data output unit 206 to the first buffer 104 and stored. Further, in the case of the encoded first added tile data, it is output to the i-th derived image data encoding unit 109.
[0040]
[When 1 <i ≦ M]
In the encoding of the derived image data in the case of 1 <i ≦ M, the encoding process of the common tile data has already been completed and stored in the first buffer 104. The added changed tile data generation unit 106 adds the i-th difference data to the changed tile data to generate the i-th added tile data, and the tile data encoding unit 108 encodes the i-th added tile data. . The i-th derived image encoded data generation unit 109 receives the encoded common tile data stored in the first buffer 104 and the encoded first added tile data from the tile data encoding unit 108. Then, the i-th derivative image encoded data is generated and output from the i-th derivative image encoded data output unit 110 to the outside.
[0041]
As described above, according to the image processing apparatus of the first embodiment, basic image data is divided into a plurality of tiles, and the obtained tiles are classified into common tiles and changed tiles, and are encoded independently. At this time, the common tile data is encoded only once, and the changed tile data is encoded a number of times according to the type of image data added to the tile data. In this way, efficient encoding can be achieved without encoding all the data of the derived image data including the changed tile data.
[0042]
[Embodiment 2]
In the first embodiment, the basic image data is divided into a plurality of tiles, the obtained tiles are divided into common tiles and modified tiles, the common tile data is encoded only once, and the modified tile data is derived from the derived image. Only the types were encoded.
[0043]
On the other hand, in the second embodiment, encoding is performed without dividing the basic image into a plurality of tiles. However, in the second embodiment, as shown in FIG. 12, in the encoding process, each subband obtained by performing discrete wavelet transform on the image data is divided into code blocks and then entropy encoded. . Further, after determining where to add the difference data in the basic image, the pixel (change code block generation pixel) for generating the code block (change code block) related to the change area of each derived image is calculated and the change is performed. The generated pixel of the code block is encoded. The encoded data of the changed code block generated in this way is exchanged with the encoded data of the corresponding code block which is the encoded data of the code block (corresponding code block) spatially corresponding to the code block. Thereby, a plurality of derivative images are generated.
[0044]
The operation in the image processing apparatus according to the second embodiment will be described in detail below.
[0045]
FIG. 13 is a block diagram showing the configuration of the image processing apparatus according to the second embodiment.
[0046]
In the figure, 1801 is a derived image data encoding unit, 1802 is an external output unit, and 1803 is a control unit. Here, the plurality of derived images are encoded by the derived image data encoding unit 1801, then temporarily stored in the external output unit 1802, and output to the outside. The control unit 1803 controls the output of the derived image encoded data stored in the external output unit 1802 to the outside.
[0047]
FIG. 14 is a block diagram showing a configuration of derived image data encoding section 1801 in the image processing apparatus according to the second embodiment.
[0048]
In the figure, 1701 is a basic image input unit, 1702 is a buffer, 1703 is a basic image data encoding unit, 1704 is a buffer, 1705 is a difference data position determination unit, 1706 is a modified code block generation pixel calculation unit, and 1707 is an i-th difference. A data generation unit, 1708 is an i-th changed code block generation pixel encoding unit, 1709 is a code block replacement unit, 1710 is an i-th derivative image encoded data output unit, and 1711 is a difference data erasing unit.
[0049]
FIG. 15 is a flowchart showing processing in the image processing apparatus according to the second embodiment.
[0050]
In the figure, first, in step S21, basic image data is input by the basic image input unit 1701. At this time, the variable i is initialized to “1”. In step S22, the input basic image data is sent to the buffer 1702 and temporarily stored. In step S23, the basic image data stored in the buffer 1702 is supplied to the basic image data encoding unit 1703. Thus, in step S24, the basic image data encoding unit 1703 encodes the basic image data to generate encoded basic image data. In step S25, the basic image encoded data is output to the buffer 1704 and temporarily stored.
[0051]
In step S26, the i-th difference data generation unit 1707 generates the i-th difference data (i-th difference data), and sends the area information to the difference data position determination unit 1705. Thereby, the difference data position determination unit 1705 determines the position of the difference data in the basic image data from the area information as shown in FIG. The position information thus determined is sent to the changed code block generation pixel calculating unit 1706, and a changed code block (a code block including difference data) is calculated as shown in FIG. 22 (step S27). The calculation method of the change code block generation pixel will be described in detail later.
[0052]
Next, the process proceeds to step S28, and based on the calculation result of step S27, the pixel of the basic image data determined to be the generated pixel of the changed code block is read from the buffer 1702, and the i-th difference data is further converted to the i-th difference data. The i difference data generation unit 1707 outputs the result to the i-th changed code block generation pixel encoding unit 1708. In step S29, the i-th changed code block generation pixel encoding unit 1708 encodes the generated code of the changed code block to generate encoded data of the i-th changed code block. Thereafter, the process proceeds to step S30, in which the encoded data of the i-th changed code block and the encoded data of the i-th corresponding code block in the basic image encoded data are replaced, and the i-th derived image of the i-th derived image is replaced. Encoded data is generated and input to the i th derivative image encoded data output unit 1710. Accordingly, the encoded data of the i-th derivative image is output to the external output unit 1802 (FIG. 13) via the i-th derivative image encoded data output unit 1710. In step S31, the difference data deletion unit 1711 deletes the i-th difference data existing in the i-th difference data generation unit 1707. In step S32, the variable i is compared with a value M indicating the number of types of difference data to check whether the processing of the M types of difference data has been completed. If not, the variable i is incremented by one. Returning to step S26, the above-described processing for the i-th difference data is repeated. Thus, when the processing of the M types of difference data is completed, this processing is terminated.
[0053]
FIG. 16 is a block diagram showing a configuration of basic image data encoding section 1703 according to the second embodiment.
[0054]
In the figure, 1301 is a basic image data input unit, 202 is a discrete wavelet transform unit, 203 is a buffer, 204 is a coefficient quantization unit, 1305 is a code block division unit, 1306 is an entropy encoding unit, and 1307 is basic image encoded data. It is an output unit. In FIG. 16, parts common to those in FIG. 7 according to the first embodiment are denoted by the same reference numerals, and description thereof is omitted.
[0055]
FIG. 23 is a block diagram showing a configuration of the i-th modified code block generation pixel encoding unit 1708 according to the second embodiment, and here, the same symbols are assigned to the same parts as those in FIG. 7 according to the first embodiment. The description thereof is omitted.
[0056]
In FIG. 23, 1901 is an i-th changed code block generation pixel input unit, 1305 is a code block dividing unit, 1306 is an entropy encoding unit, and 1902 is an i-th changed code block encoded data output unit.
[0057]
Hereinafter, the basic image data encoding unit 1703 (FIG. 16), the modified code block generation pixel calculation unit 1706, the i-th modified code block generation pixel encoding unit 1708 (FIG. 23), the code block replacement unit 1709, the first illustrated in FIG. The process of the i-derived image encoded data output unit 1710 will be described.
[0058]
[Basic Image Data Encoding Unit 1703]
In FIG. 16, basic image data is input from a basic image data input unit 1301, and is sequentially processed by a discrete wavelet transform unit 202, a buffer 203, and a coefficient quantization unit 204. Since the processing in the discrete wavelet transform unit 202, the buffer 203, and the coefficient quantization unit 204 is the same as the processing in the first embodiment described above, description of these processing units is omitted.
[0059]
Each coefficient value quantized by the coefficient quantization unit 204 is input to the code block dividing unit 1305 in the form of each subband, and is divided into rectangular code blocks as shown in FIG. As the size of the code block, 2n × 2m (where n and m are positive constants and n = m = 4 in FIG. 12) or the like can be considered.
[0060]
The code block generated in this way is input to the entropy encoding unit 1306 and is entropy encoded. The encoded value obtained by the entropy encoding is output from the basic image encoded data output unit 1307 to the buffer 1704 (FIG. 14) and temporarily stored.
[0061]
[Changed code block generation pixel calculation unit 1706]
Processing in the changed code block generation pixel calculation unit 170 will be described with reference to FIGS. 17 to 22. Here, the description is simplified by using a one-dimensional pixel data string.
[0062]
FIG. 17 shows a state in which the low-frequency component L2 is generated by performing discrete wavelet transform on the derived image, and the low-frequency component L1 of the low-frequency component L2 is further generated. Here, as shown in FIG. 18, when the pixels painted in black are the change region, the coefficients of the subbands generated from the change region are the coefficients indicated by 1900 to 1904 in FIG. From this, code block division is further performed as shown in FIG. The resulting change code block is as shown in FIG. From there, as shown in FIG. 22, pixels 1900 to 1904 are determined as changed code block generation pixels.
[0063]
[I-th modified code block generation pixel encoding unit 1708]
The processing in the i-th change code block generation pixel encoding unit 1708 is that the i-th change code block generation pixel is input to the i-th change code block generation pixel input unit 1901 in FIG. The encoded data of the i-th modified code block is output from the encoded data output unit 1902 of the above, and is different from the processing of the basic image data encoding unit 1703 (FIG. 16) described above. However, the other processes are the same as those of the basic image data encoding unit 1703 (FIG. 16) described above.
[0064]
[Code block replacement unit 1709]
The code block replacement unit 1709 copies the encoded data of the basic image stored in the buffer 1704 to a work buffer existing in the code block replacement unit 1709. Further, the encoded data of the corresponding code block in the encoded data of the basic image is replaced with the encoded data of the i-th changed code block input from the i-th changed code block generation pixel encoding unit 1708. Further, subbands entropy-encoded in units of code blocks are arranged as shown in FIG. 24 to generate quasi-i-th derivative image encoded data and output to the i-th derivative image encoded data output unit 1710.
[0065]
[I-th derivative image encoded data output unit 1710]
As shown in FIG. 25, the i-th derived image encoded data output unit 1710 adds a header to the head of the input semi-i-th derived image encoded data, and generates i-th derived image encoded data. . This header includes information such as the size of the image input to the basic image input unit 1701, the type indicating whether the image is a binary image or a multi-valued image, and characters indicating the image processing apparatus to be transmitted. The column, transmission date and time, etc. are written. The i-th derivative image encoded data generated in this way is output to the external output unit 1802 (FIG. 13).
[0066]
As described above, according to the image processing apparatus according to the second embodiment, the subbands of the image data subjected to discrete wavelet transform are divided into code blocks. Thereafter, the modified code block of each derived image is encoded. In this way, efficient encoding of derived image data can be performed.
[0067]
[Embodiment 3]
The encoding method according to the second embodiment described above not only enables efficient generation of derived image data, but also achieves memory saving in the entropy encoding unit 1306 by processing in units of code blocks. However, memory saving in the entire coding has not been achieved.
[0068]
On the other hand, in the third embodiment, a method for efficiently generating derivative image data while saving memory of the entire encoding will be described.
[0069]
FIG. 26 is a block diagram showing the configuration of the image processing apparatus according to the third embodiment. This is obtained by replacing the derived image data encoding unit 1801 (FIG. 13) in the image processing apparatus of the second embodiment with a derived image data encoding unit 2201.
[0070]
FIG. 27 is a block diagram showing a configuration of derived image data encoding section 2201 according to Embodiment 3. This is obtained by replacing the basic image data encoding unit 1703 (FIG. 14) in the derived image data encoding unit 1801 according to Embodiment 2 with a basic image data encoding unit 2301.
[0071]
FIG. 28 shows a block diagram of basic image data encoding section 2301 according to Embodiment 3. In this, a tile division unit 1501 is inserted between the basic image data input unit 1301 and the discrete wavelet transform unit 1302, and the basic image encoded data output unit 1307 in FIG. 16 is replaced with a basic image encoded data output unit 1502. Is.
[0072]
When basic image data is input to the basic image data input unit 1301 in the basic image data encoding unit 2301 (FIG. 27), the basic image data is tiled (tiles 0 to 3) as shown in FIG. 29 by the tile dividing unit 1501. It is divided into. Each tile is independently encoded as in the second embodiment.
[0073]
As shown in FIG. 30, the basic image encoded data output unit 1502 generates basic image encoded data by arranging encoded tile data, and buffers the basic image encoded data. 1704 is output. Note that the processing after the basic image encoded data is output to the buffer 1704 is the same as that in the above-described second embodiment, and thus the description of the corresponding processing is omitted.
[0074]
As described above, according to the image processing apparatus according to the third embodiment, the image data is divided into a plurality of tiles, and each tile is encoded in the same manner as the encoding method in the above-described second embodiment. In this way, the derived image data can be efficiently generated while saving the memory of the entire encoding.
[0075]
In each of the above-described embodiments, image data is orthogonally transformed by discrete wavelet transform. However, the present invention is not limited to this. For example, image data is hierarchically encoded according to resolution. The method is also included in the scope of the present invention.
[0076]
Note that the present invention can be applied to a system (for example, a copier, a facsimile machine, etc.) composed of a single device even if it is applied to a system composed of a plurality of devices (for example, host computer, interface device, reader, printer, etc.). May be.
[0077]
Another object of the present invention is to supply a storage medium (or recording medium) on which a program code of software that realizes the functions of the above-described embodiments is recorded to a system or apparatus, and to computer (or CPU or MPU) of the system or apparatus ) Is also achieved by reading and executing the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention. Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an operating system (OS) running on the computer based on the instruction of the program code. A case where part or all of the actual processing is performed and the functions of the above-described embodiments are realized by the processing is also included.
[0078]
Further, after the program code read from the storage medium is written in a memory provided in a function expansion card inserted into the computer or a function expansion unit connected to the computer, the function is determined based on the instruction of the program code. The case where the CPU of the expansion card or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing is also included.
[0079]
As described above, according to the present embodiment, it is possible to efficiently apply various change processes to one image and perform encoding.
[0080]
【The invention's effect】
As described above, according to the present invention, when encoding image data in which a certain region of a basic image is changed, there is an effect that more efficient image encoding can be performed.
[Brief description of the drawings]
FIG. 1 is a diagram showing an example of a basic image according to the present embodiment.
FIG. 2 is a diagram showing an example of a derived image according to the present embodiment.
FIG. 3 is a diagram showing an example of tile division of a basic image according to the present embodiment.
FIG. 4 is a flowchart showing processing for generating encoded data of a plurality of types of derivative images in the image processing apparatus according to Embodiment 1 of the present invention.
FIG. 5 is a block diagram showing a configuration of an image processing apparatus according to Embodiment 1 of the present invention.
FIG. 6 is a diagram illustrating encoded data of a first derivative image.
7 is a block diagram showing a configuration of a tile data encoding unit 108 according to the first embodiment. FIG.
FIG. 8 is a diagram illustrating a conversion result by discrete wavelet transform.
FIG. 9 is a diagram for explaining a relationship between a frequency component of a transform coefficient and a quantization step in the present embodiment.
FIG. 10 is a diagram illustrating tile encoded data according to the present embodiment.
FIG. 11 is a diagram for describing quasi-image encoded data including encoded data obtained by encoding common tile data.
FIG. 12 is a diagram for explaining an example of code block division according to Embodiment 2 of the present invention;
13 is a block diagram showing a configuration of an image processing apparatus according to Embodiment 2. FIG.
14 is a block diagram showing a configuration of a derived image data encoding unit 1801 in the image processing apparatus according to Embodiment 2. FIG.
FIG. 15 is a flowchart illustrating a process of generating encoded data of a derived image in the image processing apparatus according to the second embodiment. Descriptive image
16 is a block diagram showing a configuration of a basic image data encoding unit 1703 according to Embodiment 2. FIG.
FIG.
FIG.
FIG.
FIG.
FIG.
FIG. 22 is a diagram for explaining a modified code block generation pixel according to the second embodiment.
23 is a block diagram showing a configuration of an i-th modified code block generation pixel encoding unit 1708 according to Embodiment 2. FIG.
FIG. 24 is a diagram for describing quasi-th derivative image encoded data according to Embodiment 2;
25 is a diagram for describing i-th derivative image encoded data according to Embodiment 2. FIG.
FIG. 26 is a block diagram showing a configuration of an image processing apparatus according to Embodiment 3 of the present invention.
27 is a block diagram showing a configuration of a derived image data encoding unit 2201 according to Embodiment 3. FIG.
FIG. 28 is a diagram showing a block diagram of a basic image data encoding unit 2301 according to Embodiment 3.
FIG. 29 is a diagram showing an example of division of a basic image according to the third embodiment.
30 is a diagram for describing basic image encoded data according to Embodiment 3. FIG.

Claims (10)

基本画像を変更した派生画像を符号化する画像処理装置であって、
前記基本画像の画像データを複数の周波数帯域の変換係数に変換する第1変換手段と、
前記第1変換手段により得られた前記変換係数のそれぞれを量子化する第1量子化手段と、
前記第1量子化手段により量子化された各周波数帯域の前記変換係数を任意の大きさの第1コードブロックに分割する第1コードブロック分割手段と、
前記第1コードブロック分割手段により分割された前記第1コードブロックのそれぞれをエントロピー符号化する第1エントロピー符号化手段と、
前記第1エントロピー符号化手段により符号化され生成された符号化データから前記基本画像の符号化データを生成する基本画像符号化データ生成手段と、
前記派生画像において前記基本画像と画素値が異なる変更領域に関わる第2コードブロックを生成する画素を算出する算出手段と、
前記算出手段により算出された前記画素を複数の周波数帯域の係数に変換する第2変換手段と、
前記第2変換手段により得られた各周波数帯域の係数を量子化する第2量子化手段と、
前記第2量子化手段により量子化された各周波数帯域の係数を任意の大きさのコードブロックに分割する第2コードブロック分割手段と、
前記第2コードブロック分割手段により分割されたコードブロックをエントロピー符号化する第2エントロピー符号化手段と、
前記第2エントロピー符号化手段により符号化されて生成された符号化データから前記第2コードブロックの符号化データを生成するコードブロック符号化データ生成手段と、
前記コードブロック符号化データ生成手段により生成された前記第2コードブロックの符号化データにより、前記基本画像符号化データ生成手段において生成された前記基本画像の符号化データの対応する符号化されたコードブロックを入れ換えることにより前記派生画像の符号化データを生成する派生画像符号化データ生成手段と、
を有することを特徴とする画像処理装置。
An image processing apparatus for encoding a derived image changing the basic image image,
First conversion means for converting image data of the basic image into conversion coefficients of a plurality of frequency bands;
First quantization means for quantizing each of the transform coefficients obtained by the first transform means;
First code block dividing means for dividing the transform coefficient of each frequency band quantized by the first quantization means into first code blocks of an arbitrary size;
First entropy encoding means for entropy encoding each of the first code blocks divided by the first code block dividing means;
Basic image encoded data generating means for generating encoded data of the basic image from encoded data generated by encoding by the first entropy encoding means;
Calculating means for calculating a pixel for generating a second code block related to a change area having a pixel value different from that of the basic image in the derived image;
Second conversion means for converting the pixels calculated by the calculation means into coefficients of a plurality of frequency bands;
Second quantization means for quantizing the coefficients of each frequency band obtained by the second conversion means;
Second code block dividing means for dividing the coefficient of each frequency band quantized by the second quantization means into code blocks of an arbitrary size;
Second entropy encoding means for entropy encoding the code block divided by the second code block dividing means;
Code block encoded data generating means for generating encoded data of the second code block from encoded data generated by encoding by the second entropy encoding means;
The encoded data corresponding to the encoded data of the basic image generated in the basic image encoded data generating means by the encoded data of the second code block generated by the code block encoded data generating means Derived image encoded data generating means for generating encoded data of the derived image by replacing blocks;
An image processing apparatus comprising:
前記第1及び2変換手段は離散ウェーブレット変換により変換することを特徴とする請求項に記載の画像処理装置。The image processing apparatus according to claim 1 , wherein the first and second conversion units perform conversion by discrete wavelet transform. 前記第1及び2変換手段は、低周波帯域を再帰的に分割することを特徴とする請求項に記載の画像処理装置。The image processing apparatus according to claim 2 , wherein the first and second conversion units recursively divide the low frequency band. 前記基本画像の画像データを複数のタイルに分割する分割手段を更に有し、
前記第1変換手段は、前記分割手段により分割された各タイルの画像データを変換することを特徴とする請求項に記載の画像処理装置。
Further comprising a dividing means for dividing the image data of the basic image into a plurality of tiles;
Said first converting means, the image processing apparatus according to claim 1, characterized in that converting the image data of each tile divided by the dividing means.
基本画像を変更した派生画像を符号化する画像処理方法であって、
前記基本画像の画像データを複数の周波数帯域の変換係数に変換する第1変換工程と、
前記第1変換工程で得られた前記変換係数のそれぞれを量子化する第1量子化工程と、
前記第1量子化工程で量子化された各周波数帯域の前記変換係数を任意の大きさの第1コードブロックに分割する第1コードブロック分割工程と、
前記第1コードブロック分割工程で分割された前記第1コードブロックのそれぞれをエントロピー符号化する第1エントロピー符号化工程と、
前記第1エントロピー符号化工程で符号化され生成された符号化データから前記基本画像の符号化データを生成する基本画像符号化データ生成工程と、
前記派生画像において前記基本画像と画素値が異なる変更領域に関わる第2コードブロックを生成する画素を算出する算出工程と、
前記算出工程により算出された前記画素を複数の周波数帯域の係数に変換する第2変換工程と、
前記第2変換工程で得られた各周波数帯域の係数を量子化する第2量子化工程と、
前記第2量子化工程で量子化された各周波数帯域の係数を任意の大きさのコードブロックに分割する第2コードブロック分割工程と、
前記第2コードブロック分割工程で分割されたコードブロックをエントロピー符号化する第2エントロピー符号化工程と、
前記第2エントロピー符号化工程で符号化されて生成された符号化データから前記第2コードブロックの符号化データを生成するコードブロック符号化データ生成工程と、
前記コードブロック符号化データ生成工程で生成された前記第2コードブロックの符号化データにより、前記基本画像符号化データ生成工程で生成された前記基本画像の符号化データの対応する符号化されたコードブロックを入れ換えることにより前記派生画像の符号化データを生成する派生画像符号化データ生成工程と、
を有することを特徴とする画像処理方法。
An image processing method for encoding a derived image changing the basic image image,
A first conversion step of converting the image data of the basic image into conversion coefficients of a plurality of frequency bands;
A first quantization step for quantizing each of the transformation coefficients obtained in the first transformation step;
A first code block dividing step of dividing the transform coefficient of each frequency band quantized in the first quantization step into first code blocks of an arbitrary size;
A first entropy encoding step of entropy encoding each of the first code blocks divided in the first code block dividing step;
A basic image encoded data generation step of generating encoded data of the basic image from the encoded data encoded and generated in the first entropy encoding step;
A calculation step of calculating a pixel for generating a second code block related to a change area having a pixel value different from that of the basic image in the derived image;
A second conversion step of converting the pixels calculated by the calculation step into coefficients of a plurality of frequency bands;
A second quantization step of quantizing the coefficients of each frequency band obtained in the second conversion step;
A second code block dividing step of dividing the coefficient of each frequency band quantized in the second quantization step into code blocks of an arbitrary size;
A second entropy encoding step of entropy encoding the code block divided in the second code block dividing step;
A code block encoded data generation step for generating encoded data of the second code block from the encoded data generated by encoding in the second entropy encoding step;
The encoded data corresponding to the encoded data of the basic image generated in the basic image encoded data generating step by the encoded data of the second code block generated in the code block encoded data generating step Derived image encoded data generation step for generating encoded data of the derived image by replacing blocks;
An image processing method comprising:
前記第1及び2変換工程では離散ウェーブレット変換により前記変換係数を求めることを特徴とする請求項に記載の画像処理方法。6. The image processing method according to claim 5 , wherein the transform coefficient is obtained by discrete wavelet transform in the first and second transforming steps. 前記第1及び2変換工程では、低周波帯域を再帰的に分割することを特徴とする請求項に記載の画像処理方法。The image processing method according to claim 6 , wherein in the first and second conversion steps, the low frequency band is recursively divided. 前記基本画像の画像データを複数のタイルに分割する分割工程を更に有し、前記第1変換工程では、前記分割工程で分割された各タイルの画像データを変換することを特徴とする請求項に記載の画像処理方法。Has the further division step of dividing the image data of the basic image into a plurality of tiles, in the first conversion step, claim, characterized in that converting the image data of each tile divided by the dividing step 5 An image processing method described in 1. 請求項乃至のいずれか1項に記載の画像処理方法をコンピュータに実行させるためのプログラムを記憶したことを特徴とする、コンピュータにより読み取り可能な記憶媒体。A computer-readable storage medium storing a program for causing a computer to execute the image processing method according to any one of claims 5 to 8 . 請求項乃至のいずれか1項に記載の画像処理方法をコンピュータに実行させるためのプログラム。 A program for causing a computer to execute the image processing method according to any one of claims 5 to 8 .
JP2001267906A 2001-09-04 2001-09-04 Image processing method and apparatus Expired - Fee Related JP4678814B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001267906A JP4678814B2 (en) 2001-09-04 2001-09-04 Image processing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001267906A JP4678814B2 (en) 2001-09-04 2001-09-04 Image processing method and apparatus

Publications (3)

Publication Number Publication Date
JP2003078767A JP2003078767A (en) 2003-03-14
JP2003078767A5 JP2003078767A5 (en) 2008-10-16
JP4678814B2 true JP4678814B2 (en) 2011-04-27

Family

ID=19093971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001267906A Expired - Fee Related JP4678814B2 (en) 2001-09-04 2001-09-04 Image processing method and apparatus

Country Status (1)

Country Link
JP (1) JP4678814B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005123856A (en) 2003-10-16 2005-05-12 Ricoh Co Ltd System and method for processing picture, program and information recording medium
JP4817821B2 (en) * 2005-12-01 2011-11-16 キヤノン株式会社 Image processing apparatus, control method therefor, computer program, and computer-readable storage medium
CN102667851B (en) 2009-12-25 2014-06-11 乐天株式会社 Image generation device, image generation method, image generation program, and recording medium
WO2011078377A1 (en) * 2009-12-25 2011-06-30 楽天株式会社 Image generation device, image generation method, image generation program, and recording medium
KR101605364B1 (en) 2014-05-30 2016-03-23 주식회사 오라시스템 View lighting device and method for image displaying thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0832966A (en) * 1994-07-13 1996-02-02 Kokusai Electric Co Ltd Image transmitting method
JP2000032458A (en) * 1998-07-07 2000-01-28 Ricoh Co Ltd Image compression method
JP2000270192A (en) * 1999-03-12 2000-09-29 Fuji Xerox Co Ltd Image processing unit and its method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0832966A (en) * 1994-07-13 1996-02-02 Kokusai Electric Co Ltd Image transmitting method
JP2000032458A (en) * 1998-07-07 2000-01-28 Ricoh Co Ltd Image compression method
JP2000270192A (en) * 1999-03-12 2000-09-29 Fuji Xerox Co Ltd Image processing unit and its method

Also Published As

Publication number Publication date
JP2003078767A (en) 2003-03-14

Similar Documents

Publication Publication Date Title
JP4480119B2 (en) Image processing apparatus and image processing method
US7016545B1 (en) Reversible embedded wavelet system implementation
US6847735B2 (en) Image processing system, image processing apparatus, image input apparatus, image output apparatus and method, and storage medium
JP4545980B2 (en) Encoding apparatus, encoding method, and storage medium
US20080063070A1 (en) Encoder rate control
JP4208378B2 (en) Image processing apparatus and method, and recording medium
JP2002176553A (en) Picture processor, its method, program, and storage medium
US20080089413A1 (en) Moving Image Encoding Apparatus And Moving Image Encoding Method
JP2007267384A (en) Compression apparatus and compression method
JPH11266161A (en) Method and device for data compression
US7450773B2 (en) Image processing apparatus and image processing method, image processing system, image processing program and storage medium
JP4678814B2 (en) Image processing method and apparatus
JP2006014086A (en) Moving image encoding apparatus and moving image encoding method
JP4054430B2 (en) Image processing apparatus and method, and storage medium
JP2001258033A (en) Coder and method for image data, and storage medium
JP2006086579A (en) Image processing apparatus, program and storage medium
JP2003204439A (en) Image coding apparatus and method therefor
JP2001218208A (en) Image decoder and its method
JP2000022960A (en) Device and method for image processing and storage medium
JP2001045482A (en) Device and method for image processing
JP3990949B2 (en) Image coding apparatus and image coding method
JP5078199B2 (en) Image encoding apparatus and method, program code, and storage medium
JP2001197498A (en) Device and method for processing image and storage medium
JP4194311B2 (en) Moving picture encoding apparatus, moving picture decoding apparatus, and methods thereof
JP3784755B2 (en) Image processing apparatus, image forming apparatus, program, and storage medium

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080829

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110128

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110131

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees