JP3902968B2 - 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 - Google Patents

画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 Download PDF

Info

Publication number
JP3902968B2
JP3902968B2 JP2002085507A JP2002085507A JP3902968B2 JP 3902968 B2 JP3902968 B2 JP 3902968B2 JP 2002085507 A JP2002085507 A JP 2002085507A JP 2002085507 A JP2002085507 A JP 2002085507A JP 3902968 B2 JP3902968 B2 JP 3902968B2
Authority
JP
Japan
Prior art keywords
encoding
data
quantization
encoded data
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
JP2002085507A
Other languages
English (en)
Other versions
JP2003283844A5 (ja
JP2003283844A (ja
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 JP2002085507A priority Critical patent/JP3902968B2/ja
Priority to US10/393,069 priority patent/US7127115B2/en
Publication of JP2003283844A publication Critical patent/JP2003283844A/ja
Publication of JP2003283844A5 publication Critical patent/JP2003283844A5/ja
Application granted granted Critical
Publication of JP3902968B2 publication Critical patent/JP3902968B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length 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)

Description

【0001】
【発明の属する技術分野】
本発明は、画像データを符号化する画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体に関するものである。
【0002】
【従来の技術】
従来、静止画像の圧縮方式には、離散コサイン変換を利用したJPEG方式や、Wavelet変換を利用した方式が多く使われている。この種の符号化方式は、可変長符号化方式であるので、符号化対象の画像毎に符号量が変化するものである。
【0003】
国際標準化方式であるJPEG方式では,画像に対して1組の量子化マトリクスしか定義できないので、プリスキャン無しには、符号量調整が行えず、限られたメモリに記憶するシステムで使用する場合においては、メモリオーバーを起こす危険性があった。
【0004】
これを防止するためには、充分なメモリ容量を確保しておくことが必要となるが、入力される画像のサイズが一律同じではなく、異なる場合もある。したがって、これまでは、その入力する可能性のある最大サイズ分に適合し得る容量のメモリを確保せざるを得ない。
【0005】
【発明が解決しようとする課題】
しかしながら、最大サイズに合わせてメモリを確保するような装置においては、それより小さなサイズの画像を入力する場合にもそのメモリが確保されることを意味することになり、メモリを有効活用しているとは到底言えない。
【0006】
そこで、確保するメモリ容量を中程度の画像に合わせることが考えられるが、今度は、符号化処理で得られた符号データがそれを越えてしまうということが発生する。
【0007】
この場合の対策として、予定した符号量よりオーバーした場合は、圧縮率を変更して、原稿の再読み込みを行なう方法や、予めプリスキャンによる符号量見積もりを行ない、符号量を調整するために、量子化パラメータの再設定を行なう方法などが知られている。
【0008】
従来、プリスキャンを行う符号量制御方式として、例えば、プリ圧縮したデータを内部バッファメモリに入れ、これを伸長し、圧縮パラメータを変え、本圧縮し、外部記憶に出力する方式が知られている。このとき、本圧縮は、プリ圧縮よりも圧縮率を高めにする必要がある。
【0009】
しかしながら、従来は、圧縮バッファとして、目標圧縮率以上の圧縮バッファが必要となり、中間的に使うバッファのオーバーフローを防ぐには、原画のデータを記録できるほどの容量が必要となることは避けられなかった。
【0010】
さらに、符号化処理を繰り返す方法では、圧縮した全データに対して、復号、再圧縮を行なう処理が入るため、連続処理のスピードがあがらないという問題があった。
【0011】
本発明は上記従来例に鑑みて成されたものであり、画像の再入力を不要とし、且つ、少ないメモリ量でもって目的とするサイズ以下に圧縮符号化させると共に、画質についてもユーザの意図を反映させることを可能ならしめる画像処理装置及びその制御方法、並びにコンピュータプログラム及び可読記憶媒体を提供しようとするものである。
【0012】
【課題を解決するための手段】
かかる課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
画像データを圧縮符号化する画像処理装置であって、
量子化誤差演算モードを設定する設定手段と、
画像データを前記量子化誤差演算モードに応じた量子化誤差演算方法及び第1の量子化ステップに基づいて符号化する第1の号化手段と、
前記第1の符号化手段で得られた符号化データを復号し、前記量子化誤差演算モードに応じた量子化誤差演算方法及び第2の量子化ステップに基づいて再符号化する第2の号化手段と、
前記第1の号化手段によって生成される符号化データの符号量を監視すると共に、当該符号量が所定量になったか否かを判断する符号量監視手段とを備え、
前記符号量監視手段によって前記符号量が所定量に達したと判断した場合
前記量子化誤差演算モードに応じた量子化誤差演算方法を再設定すると共に、前記第1、第2の量子化ステップを変更し、
前記第1の符号化手段で既に得られた符号化データを前記第2の符号化手段によって再符号化させ、
前記再符号化により得られた再符号化データを、前記第1量子化ステップを変更後の第1の符号化手段により前記画像データを符号化して得られた符号化データとして、所定の記憶手段に記憶させ、
前記第1量子化ステップを変更後の第1の符号化手段により、未だ符号化されていない後続の画像データを符号化させ、後続の符号化データとして前記記憶手段に記憶させることを特徴とする。
【0013】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を説明するが、先ず、基本部分について説明する。
【0014】
図1は、実施形態が適用する画像処理装置100の機能ブロック構成図である。以下、同図の各部を簡単に説明する。
【0015】
画像処理装置100は、イメージスキャナから画像を入力する入力部101を備えている。なお、入力部101は、ページ記述言語をラスターイメージにレンダリングする手段などから画像データを入力しても良いし、記憶媒体に格納された画像ファイルを読込むことで実現しても良く、場合によってはネットワークより受信するようにしても良い。
【0016】
符号化部102は、入力された画像データの符号化を行なう。なお、符号化方式は公知のJPEG符号化方式を用い、8×8画素単位に相当する画像データを直交変換し、後述する量子化ステップを用いた量子化、ハフマン符号化処理を行なうものである。
【0017】
第1のメモリ制御部103と、第2のメモリ制御部105は、上記符号化部102から夫々に出力されてくる上記符号化データ(同じ符号化データ)を第1のメモリ104と第2のメモリ106へ格納する様に制御する。ここで、第1のメモリ104は、最終的に確定した(目標値以内のデータ量に圧縮し終わった)符号化データを、図1の基本構成の外部に接続されるネットワーク機器、画像出力装置や大容量記憶装置等へ出力するために、該符号化データを保持するためのメモリである。また、第2のメモリ106は、前記符号化データを第1のメモリ上に形成するための圧縮符号化処理を補助する作業用のメモリである。
【0018】
カウンタ107は、符号化部102によって圧縮符号化された画像データのデータ量をカウントし、該カウント値を保持すると共に、そのカウント結果により符号化シーケンスの制御を行なう符号化シーケンス制御部108に出力する。
【0019】
符号化シーケンス制御部108では、カウンタ107のカウント値がある設定値に達したかどうかを検出し、その設定値に達した(目標値を越えた)ことを検出した時にメモリ104内の格納済みのデータを廃棄するよう第1のメモリ制御部103に制御信号を出力する。上記第1のメモリ制御部103は、この制御信号に基づいて、メモリアドレスカウンタをクリアするか、あるいは符号化データ管理テーブルをクリアすることにより、前記格納データを廃棄する。また、このとき、符号化シーケンス制御部108は、第1のカウンタ107をゼロクリアする(入力部101からの入力は継続している)と共に、符号化部102に対して今までより、高い圧縮率で符号化を行なうよう制御する。すなわち、本装置の符号化処理で発生する符号化データのデータ量が最終的に例えば1/2になるように制御する。なお、ここでは、1/2としたが任意に設定できることは言うまでもない。
【0020】
そして、圧縮率変更後の符号化データも、これまでと同様、第1のメモリ制御部103と第2のメモリ制御部105を経て、第1のメモリ104と第2のメモリ106に夫々格納される。
【0021】
さらに、符号化シーケンス制御部108は、カウンタ107のカウント値がある設定値に達した場合に、第2のメモリ制御部105に対して、これまでに第2のメモリ106に格納した符号化データを読み出し、符号化データ変換手段である再符号化部109に該符号化データを出力するよう制御信号を出す。
【0022】
再符号化部109は、入力された符号化データを復号化し、データ量を減らすための再量子化等を行なった後に再び符号化処理を行ない、圧縮率が変更された符号化部102と同じ圧縮率のデータ量を第2のカウンタ110に出力する。
【0023】
この再符号化部109から出力される符号化データは、第1のメモリ制御部103と第2のメモリ制御部105を経由して、それぞれ、第1のメモリ104と第2のメモリ106に格納される。
【0024】
再符号化処理が終了したかどうかは、第2のメモリ制御部が検出する。すなわち、再符号化処理するために読み出すデータが無くなれば、再符号化処理の終了を符号化シーケンス制御部108に知らせる。実際には、第2のメモリ制御部105の読みだし処理だけでなく、再符号化部109の処理も終了した後に、符号化処理が完了したことになる。
【0025】
第2のカウンタ110で得られるカウント値は、再符号化処理が完了した後、第1のカウンタ107で保持されているカウンタ値に加算される。この加算結果は再符号化処理が完了した直後における、第1のメモリ104内のデータ量の合計を表す。即ち、1画面分(ページ分)の符号化部102と再符号化部109の符号化処理が終了した時点では、上記加算後の第1のカウンタ107で保持されているカウンタ値は、1画面分(1ページ分)を本装置が符号化した場合に発生した総データ量を表す(詳細は後述)。
【0026】
符号化部102は、再符号化処理の終了/未終了に関わらず、符号化するべき入力部101からの画像データが残っている限りは符号化処理を継続して行なう。
【0027】
カウンタ107のカウント値がある設定値に達したかどうかは入力部101から入力される1ページ分の画像データの符号化処理(符号化、再符号化)が終わるまで繰り返され、上述した符号化と再符号化の処理は、ここで得られる検出結果に応じた制御の上で実行される。
【0028】
上記処理内容をより分かりやすく説明すると次の通りである。
【0029】
入力部101より入力された画像データは符号化部102にて初期段階での量子化パラメータQ1に従い圧縮符号化を行う。生成された圧縮符号データは、第1のメモリ104、第2のメモリ106にそれぞれ書き込まれていく。このとき、第1のカウンタ107は生成される符号データ量を計数していくが、設定量以下のまま圧縮符号化処理が完了した場合には、第1のメモリ104に格納されたデータを外部に出力し、後続する画像があれば、カウンタ107、110をリセットしてその入力を行う。
【0030】
一方、或るページの符号化している最中に、生成される符号化データ量が設定値に達したと符号化シーケンス制御部108が判断した場合、第1のメモリ104内のデータを破棄させ、符号化部102に対して更に高い圧縮率となるよう、次の段階の量子化パラメータQ2を設定して画像データの入力を継続させる。これにより、設定値に達したと判断された以降に入力された画像データは、更に高い圧縮率で符号化が行われることになる。また、符号化データ量が設定値に達する以前の符号化データ(量子化パラメータQ1で符号化されたデータ)は、第2のメモリ106に格納されている。そこで、このデータを再符号化部109にて、再度符号化を行い、その結果を、第1のメモリ104、第2のメモリ106にそれぞれ格納する。再符号化部109で再符号化する際の量子化パラメータは、変更後の符号化部102の量子化パラメータQ2と同じである。第2のメモリ106に格納されていた以前の符号化データに対する再符号化が完了すると、その符号量は第2のカウンタ110に保持されているので、それを第1のカウンタ107に足しこむ。
【0031】
以上の結果、第1のメモリ104、第2のメモリ106それぞれには、1ページの先頭から量子化パラメータQ2で圧縮された符号化データが格納されることになる。この量子化パラメータQ2で圧縮符号化している最中に、再度、カウンタ107の値が設定値に達したと判断した場合、更に高い圧縮率となるべく、量子化パラメータQ3を符号化部102及び再符号化部109に設定して、上記の処理を行う。そして、量子化パラメータQ3でも設定値に達したと判断した場合には、量子化パラメータをQ4に設定することになる。
【0032】
さて、実施形態では、符号化部102及び再符号化部109における設定する量子化パラメータQi(i=1、2、3)は、量子化ステップと、量子化する際の演算モード(演算誤差の取り扱いを指定するモード)の2つで構成される。
【0033】
量子化ステップは、Q2=Q1×m、Q3=Q2×m、Q4=Q3×m…と、m倍(m>1)ずつ大きくしていく(必ずしも等倍である必要はない)。量子化ステップを大きくすると、DCT変換した際の周波数成分値が小さな値、すなわち、少ないビット数で表現できるわけであるから、データ量を減らすことが可能となる。
【0034】
また、演算モードは、操作者が指定するモード指定部125で指定されたモードに従い決定する。
【0035】
モード指定部125で指定する演算モードの種類は、圧縮率優先、エッジ強調強、エッジ強調弱の3種類存在する(もちろん、これ以上であっても以下であっても構わない)。
【0036】
各演算モードの内容は、図18に示す通りである。同図は、モード指定部125で指定されたモードに基づく、シナリオテーブルであって、符号化シーケンス制御部108内にテーブル(メモリ)として予め記憶されているものである。各モードついて説明すると以下の通りである。
【0037】
[圧縮率優先]
再符号化が無い場合(設定値に達しないまま符号化が行われる場合)は、符号器で四捨五入が選ばれる。再符号化時は、切り捨て処理が選ばれる
[エッジ強調強]
再符号化が無い場合は、符号器で四捨五入が選ばれる。再符号化時は、条件付き切り上げ処理が選ばれる。ここで言う条件つき切り上げとは、DCT係数の値が所定閾値以上の値の場合に切り上げることを意味する(それ以外の場合には切り捨てる)。換言すれば、DCT係数が小さい場合には、その切り上げによる影響が大きくなり、結果的にノイズ成分となりやすくなるからでもある。
【0038】
[エッジ強調弱]
再符号化が無い場合は、符号器で四捨五入が選ばれる。最初に設定値に達した場合には、条件付き切り上げを行い。2回目以降にも設定値に達した場合には、無条件で切り捨てを行うことを意味する。
【0039】
上記、図1の構成における処理のフローを表わすフローチャートを図8に示すが、説明を簡単にするため、簡略化した図3のフローチャートに従って先ず説明する。
【0040】
既に説明したように、本発明の画像処理装置100は、スキャナ等の入力部101から入力した1ページの画像データを所定のデータ量以下に圧縮符号化する装置である。該符号化処理を実現するために、前記入力部101以外に、符号化部102、再符号化部109、第1のメモリ104、第2のメモリ106等を有する。これらの機能ブロックを用い、図3に示すフローチャートに基づいて符号化処理を行なう。
【0041】
図3のフローチャートは、大別すると、下記の3つの処理フェーズに分かれる。
(1)符号化フェーズ
(2)符号化・再符号化フェーズ
(3)転送フェーズ
上記それぞれの処理フェーズおいて、どのように画像データ、符号化データ等が流れて処理され,メモリにどのように格納されるかを視覚的に解り易く示したのが図4乃至図7である。
【0042】
図4は、図3のフローチャートにおけるステップS303とS305に対応する符号化フェーズの初期状態を表わす。また、図5はステップS307〜S315に対応する符号化・再符号化フェーズの処理状態を、図6はステップS317に対応する転送フェーズの処理状態を、図7は転送フェーズ後の符号化フェーズの処理状態を表わす。以下、各フェーズについて説明する。
【0043】
<<符号化フェーズ>>
1ページ分の画像データの符号化処理は、符号化パラメータの、モード指定部125で指定された初期設定(ステップS301)から始まる。ここでは符号化処理する画像サイズ(スキャナ等の入力部101から読み取る用紙サイズ)から一意的に定まる符号化データ量の上限値や符号化部102(ここでは公知のJPEG符号化方式を用いるものとする)に適用する量子化パラメータ(量子化ステップと演算モード)を設定する。
【0044】
そして、ステップS303にて、第1のカウンタ107は、実際の符号化処理(画像の8×8画素単位にJPEG圧縮)を行ない、出力される符号化データのデータ量を累積カウントする。
【0045】
次にステップS305にて、該データ量のカウント値が上記上限値をオーバーしたかどうかを検知し、オーバーしていなければステップS303のJPEG符号化処理を継続する。これが初期状態の符号化フェーズである。
【0046】
符号化部102から出力する符号化データは、図4に示すように第1のメモリ104と第2のメモリ106の両方に格納されていく。縦縞で示した領域が該格納した符号を表現している。
【0047】
<<符号化・再符号化フェーズ>>
符号化部102の符号化処理が進行し、前記データ量のカウント値が設定されている上限値をオーバーすると、ステップS307にて、第1のメモリ104内の符号化データを廃棄すると共に、ステップS309にて、符号化部102の量子化パラメータをQ2に変更する。
【0048】
符号化データのデータ量のカウント値が設定された上限値をオーバーするという事は、圧縮後のデータ量が目標値以内に収まらないことを意味する。よって同じ量子化ステップを用いて符号化処理を継続しても意味が無いので、前よりもデータ量が少なくなるように、Q1よりも量子化ステップ幅の大きい量子化ステップQ2に変更するわけである。また、この際、量子化演算モードに設定されたシナリオに従って設定されることになる。
【0049】
量子化ステップ及び量子化演算内容を変更した後、ステップS311では符号化部102の符号化処理を再開し、図5に示すように符号化データを第2のメモリ106のみに格納する。それと並行して、ステップS313の再符号化処理を行なう。再符号化処理では、第2のメモリ106に格納済みの符号化データを読み出して、再符号化部109にて再符号化処理を行ない、前記2つのメモリ104、106に格納する。そして、縦縞▲1▼の符号を全て再符号化するまで、該符号化処理と再符号化処理を継続する。再符号化部109から出力される再符号化データは、量子化パラメータ変更後の符号化部102と全く同じである。
【0050】
具体的にこの再符号化処理では、符号化データを一旦ハフマン復号した後の各量子化値に対して、これら値を2nで割った結果と同様の結果が出るビットシフト処理を施した後、再度ハフマン符号化を行なうことにより実現される(m=2の場合)。この方法は、ビットシフトのみで量子化ステップを変更する点と逆直交変換や再直交変換処理を行なわない点で、高速な再符号化処理が可能である。ステップ315では、再符号化処理の終了検知が行なわれる。
【0051】
再符号化後のデータ量は再符号化前の符号化データのデータ量よりも少なくなるので、図5に示すように、再符号化前の符号を格納していたメモリ領域に再符号化後の符号化データを上書きするように格納することができる。再符号化処理が終了した時点で、縦縞▲1▼の符号化データのデータ量は図6に示すの斜め縞▲1▼の符号化データのデータ量へと減少する。
【0052】
以上で説明したステップS307〜315が、符号化・再符号化フェーズで行なう処理である。
【0053】
<<転送フェーズ>>
再符号化処理が終了したら、ステップS317では転送処理が行なわれる。該転送処理では、図6に示すように、符号化・再符号化フェーズで第2のメモリ106のみに格納した斜め縞▲2▼の符号化データを、第1のメモリ104内の斜め線▲1▼の符号化データに連結されるアドレスに転送し、格納する。その一方で、第2のメモリ106上で分散してしまっている斜め縞▲1▼の符号化データと斜め縞▲2▼の符号化データが第1のメモリ104上で連続して格納される様に、前記斜め縞▲2▼の符号化データを第2のメモリ106内で転送し、連結させる。これが、転送フェーズで行なう処理である。
【0054】
上記転送フェーズが終了したら、ステップS303、S305の符号化フェーズに戻り、図7に示すように斜め縞▲4▼の符号を符号化部102から出力して2つのメモリ104,106に格納する。この符号化フェーズは、初期状態の符号化フェーズ(図4)と少し異なり、符号化部102で符号化する際の量子化ステップがQ1からQ2に変更されていると共に、2つのメモリ104,106に格納されている符号化データも様々なフェーズで処理された符号の集まりである。それらの違いを無視すれば、転送フェーズ直後の符号化フェーズと初期状態の符号化フェーズは、同じと見なせる。
【0055】
よって、符号化フェーズ、符号化・再符号化フェーズと転送フェーズの3つを繰り返すことで、最終的に1ページの画像データをデータ量設定値以下に圧縮した符号を第1のメモリに格納することが出来る。しかも、入力部101は一連の処理が終わるまで、入力を継続するだけである。すなわち、画像を再度最初から入力し直すということが無くなる。
【0056】
図3に示したフローチャートは、説明が理解しやすいように、図4、図5、及び、図6に示した各フェーズに対応する処理のみを記述した。しかしながら実際には、1ページの画像データの入力はどこかのフェーズで終了する。従って、どのフェーズで終了したかによって、それ以降の対応も多少異なる。それを考慮した流れを示したのが図8のフローチャートである。図8のフローチャートは、1ページ分の画像データの入力完了と図3で説明した各種処理との関係を考慮したものであり、ここでは図3のフローチャートに、ステップS801、S803、S805、S807を追加している。
【0057】
ステップS801、S803、S805は、それぞれ、符号化フェーズ、符号化・再符号化フェーズ、転送フェーズにおいて、入力部101からの1ページ分の画像データの入力が終了したことを検知する。
【0058】
符号化フェーズと転送フェーズで1ページ分の画像データの入力が終了したことを検知した場合(ステップS801、S805)、ステップS807へ移り、当該ページの圧縮符号化処理を終了し、次に処理すべき1ページ以上の画像データがあれば、次の1ページ分の画像データの圧縮符号化処理を開始し(各カウンタをリセットし、量子化パラメータを初期値に設定する)、無ければ停止状態に入る。
【0059】
一方、符号化・再符号化フェーズで1ページ分の画像データの入力終了を検知した場合(ステップS803)には、符号化部102では再符号化処理する画像データが無くなるまで一旦動作を止める必要があるので、ステップS311の符号化処理をパスし、ステップS313で、今までに符号化部102で符号化済みの画像データを所定の符号化データ量に抑える為の再符号化処理のみを継続して行なう。再符号化処理が全て終了して、その後の転送処理が終わらないと、1ページ分の画像データ全体の符号化データが第1のメモリ上に集まらないため、1ページ分の画像データの入力終了後も再符号化処理及びそれに続く転送処理は継続して行われる必要がある。この場合には、ステップS315にて、再符号化処理が全て終了したことを検知すると、符号化・再符号化フェーズ中に、第2のメモリ106のみに格納された符号化データを第1のメモリに転送し(ステップS317)た後、次のステップS805にて、1ページ分の画像データの入力終了が検知されてステップS807へ移ることになる。
【0060】
以上が動作であり、図8の動作説明でもある。
【0061】
<メモリ格納方法の変形例>
図9、図10は図5、図6の概念図で示したメモリ格納方法の変形例を示す図である。
【0062】
図5の概念図においては、符号化・再符号化フェーズでは、符号化部102から出力する符号化データは第2のメモリ106のみに格納していたが、図9に示すように符号化・再符号化フェーズ中に、符号化部102から出力する符号化データを第1、第2メモリの両方に直接格納する。
【0063】
符号化部102から見ると、どのフェーズで符号化して出力する符号化データも両方のメモリへ格納することになる。また、図6の概念図とは異なり、図10に示す様に、転送フェーズでメモリ間のデータ転送が必要なくなる。またこの変形例の場合には、符号化・再符号化フェーズにおいて、符号化データと再符号化データを第1のメモリ104へ送った順序で順次格納される。そのため2種類のデータが入り混じってしまうという問題は有る。
【0064】
従って、この変形例の場合にはこれに対応する為に符号化データをある単位で区切って、ファイル或いはパケットとして管理する様にする。具体的には、ファイル管理テーブル、或いは、パケット管理テーブル等を別に作成して管理する。
【0065】
一つの手法としては、符号化部102からのデータを第1メモリ104に格納する際、適当な単位(例えば前記直交変換の単位が8×8のブロックであるので、8×i(i=1、2…の整数)ライン分のデータ)毎に、画像データの先頭から管理番号を割り当て、各管理番号に対応する符号化データの格納先頭アドレスと該符号化データ量とを、管理番号順に格納できるような管理テーブルを作成する。
【0066】
符号化部102や再符号化部109は処理中のデータの管理番号を保持し、該管理番号に基づいて、符号化データ格納時の先頭アドレスと符号化データ量とを管理テーブルに書き込む。このようにすれば、符号化部102と再符号化部109で処理した符号化データをランダムに格納したとしても、前記管理テーブルを管理番号順にアクセスし、その時読み出させる先頭アドレスと符号化データ量に基づいて、符号化データを第1メモリ104から読み出せば、画像の先頭から順番に符号化データを読み出すことができる。このような管理機構を設ければ、画像上で連続するデータをメモリ上で連続するように格納する必要性が無くなる。
【0067】
図10の概念図における転送フェーズ後の符号化フェーズは、これまで説明した2つの符号化フェーズ(図4、図7)とほとんど同じであり、第1のメモリ内における符号の格納状態が図11に示した様に若干異なるだけである。よって、先の説明と本変形例は、3つのフェーズを繰り返して処理することに変わりは無い。
【0068】
<第2の実施形態>
次に、本発明において特徴的な符号化処理を行なう為の、第2の実施形態(これまで説明した構成を第1の実施形態という)を図2を用いて説明する。
【0069】
図2は、第2の例における画像処理装置200のブロック構成図である。
【0070】
図1の第1の実施形態における画像処理装置100と大きく異なる点は、最初に符号化を行なう符号化部が2つ並列に存在する点である。画像処理装置200は、入力部201から入力される画像データを、第1の符号化部202と第2の符号化部205で並行して符号化し、互いに圧縮率の異なる2種類の符号化データを生成する。本第2の実施形態でも、符号化方式は公知のJPEG符号化方式を用い、8×8画素単位に相当する画像データを直交変換し、後述する量子化ステップを用いた量子化、ハフマン符号化処理を行なうものである。
【0071】
なお、本例では第1の符号化部202よりも、第2の符号化部205の方が適用する圧縮率を高く設定する場合について説明する。具体的には、モード指定部126で指定された演算モードに従い、第1の符号化部202における量子化パラメータをQ1、第2の符号化部205の量子化パラメータをQ2(Q2の量子化ステップは、Q1の量子化ステップより大きい)とする。
【0072】
符号化部202から出力される符号化データは、第1のメモリ制御部203を経由して、第1のメモリ204に格納される。このとき、第1のカウンタ208は、符号化部202から出力される符号化データのデータ量をカウントし、これを保持すると共に、符号化シーケンス制御部209にも出力する。
【0073】
一方、符号化部205で符号化された符号化データは、第2のメモリ制御部206を経由して、第2のメモリ207に格納される。このとき、第2のカウンタ210は、符号化部205から出力される符号化データのデータ量をカウントし、これを保持する。更に、後述する第2のメモリ207に格納している符号化データを第1のメモリ204に転送する時には、それと同時に上記カウント値を、第1のカウンタ208に転送する。
【0074】
さて、第1のカウンタ208が符号化部202から出力される符号化データのデータ量をカウント中に、該カウント値がある設定値に達した時には、符号化シーケンス制御部209は、第1の実施形態と同様、メモリ制御部203に対して第1のメモリ204に格納されているデータを廃棄するよう制御信号を出す。
【0075】
そして、符号化シーケンス制御部209は、第2のメモリ207に格納している符号化データを読み出して第1のメモリ204に転送し、第1のメモリ204に格納するよう、メモリ制御部206とメモリ制御部203に制御信号を出力する。この結果、第2のカウンタ210のカウント値が第1のカウンタ208に転送され、その値が第1のカウンタのカウント値としてロード(上書き)される。
【0076】
要するに、上記第2のカウンタ210のカウント値は、第2のメモリ207に格納している符号化データのデータ量を表わしているので、そのカウント値と符号化データを、互いの対応付けが変わらない様に、そのまま第1のカウンタと第1のメモリへコピーしたと考えれば良い。
【0077】
さらに、符号化シーケンス制御209は、第1の符号化部202および、第2の符号化部205に対して、今までよりも、符号化データが少なくなるような符号化を行なうように制御信号を出す。
【0078】
例えば、第1の符号化部202、及び、第2の符号化部205における量子化ステップをそれぞれ2倍に切り替える。この結果、第1の符号化部202は、その直前までの第2の符号化部205における量子化パラメータQ2を継承することになり、第2の符号化部205は更に大きな量子化ステップQ3を用いて、次のオーバーフローに備えた更に高い圧縮率の符号化処理を行うことになる。
【0079】
ここでは、量子化ステップの倍率比を2倍としたがこれに限らず、任意に設定できることは示すまでもない。切り替えられた各符号化部202、205から出力された符号化データは、それぞれ、対応するメモリ制御部203、206を経由して、対応するメモリ204、207に格納される。
【0080】
そして、符号化シーケンス制御209は、メモリ制御部206に対し、既に第2のメモリ207内に格納している符号化データを読み出して、再符号化部211にデータを送るよう制御信号を出す。再符号化部211は、図1の再符号化部109と同様にして符号化データの再符号化処理を行なう。
【0081】
第3のカウンタ212は、再符号化部211が出力したデータ量をカウントするもので、再符号化処理を開始する直前にゼロにリセットされ、再符号化処理中の出力データ量をカウントする。このカウンタ212は、再符号化処理が終了した時点で、そこで得られたカウント値を第2のカウンタ210に転送する。
【0082】
第2のカウンタ210は、上記転送されてきたデータ量カウント値を、第2のカウンタ210内に保持しているカウンタ値に加算することにより、再符号化処理中にメモリ207に格納した、符号化データと再符号化データの合計のデータ量を算出する。即ち、メモリ207に格納しているデータ量とカウンタ210のカウント値とが一致する。
【0083】
再符号化処理の終了/未終了に関わらず、符号化するべき入力部201からの画像データが残っていれば、2つの符号化部202と205による符号化処理を継続して行なう。そして、カウンタ208のカウント値がある設定値に達したかどうかの監視は入力部201から入力される1ページ分の画像データの符号化処理(符号化、再符号化)が終わるまで繰り返され、上述した符号化と再符号化の処理は、ここで得られる検出結果に応じた制御の上で実行される。
【0084】
上記動作を簡単にまとめると、第2の符号化部205は、第1の符号化部202よりも1つ上の圧縮率での符号化を行う。そして、第1の符号化部202で生成された符号量が設定量に達した場合、第1の符号化部202の量子化パラメータを、直前の第2の符号化部205と同じにする。また、第2の符号化部205の量子化パラメータを更に高い圧縮率となるよう設定する。そして、第1のメモリ204内のデータを破棄し、第2のメモリ207に格納されていたデータを第1のメモリ204に転送すると共に、第2のカウンタ210の値を第1のカウンタ208に書き込む。そして、第2のメモリ内のデータを更に高い圧縮率で再符号化させるため、再符号化部211に対して、第2の符号化部205に新に設定した量子化パラメータと同じにする。この結果、第2のメモリ207内のデータは、ページの先頭から新たなに設定された量子化パラメータで圧縮したのと等価の符号データが格納されることになる。
【0085】
なお、本第2の実施形態でも、符号化する際のモードがモード指定部126で指定できるようになっている。第2の符号化部205は、第1の符号化部202よりも常に高い圧縮率での符号化を行っているので、以下では、この第2の符号化部205を高圧縮率符号化器と呼び、逆に、第1の符号化部202を底圧縮率符号化器と呼んで、各モードについて説明する。
【0086】
本第2の実施形態では、モード指定部126で指定可能な、DCT係数に関する量子化演算誤差にかかる演算モードは、図27に示すごとく、画質優先、圧縮率優先、エッジ強調(強)、エッジ強調(弱)の4つ存在する(ただし、図18に示したものを本第2の実施形態に採用しても構わないし、図27を第1の実施形態に適用しても構わない。)
[画質優先]
初期段階では、低圧縮率用符号器、高圧縮率用符号器とも四捨五入が選ばれる。再符号化時1回目、2回目以降は、切り捨て処理が選ばれる。
【0087】
[圧縮率優先]
初期段階では、低圧縮率用符号器は四捨五入が選ばれ、高圧縮率用符号器は、切り捨てが選ばれる。再符号化時1回目、2回目以降は、切り捨て処理が選ばれる。
【0088】
[エッジ強調(強)]
初期段階では、低圧縮率用符号器は、四捨五入が選ばれ、高圧縮率用符号器は、条件付切り上げ処理が選ばれる(条件は第1の実施形態と同様)。再符号化時1回目、2回目以降は、条件付切り上げ処理が選ばれる。
【0089】
[エッジ強調(弱)]
初期段階では、低圧縮率用符号器は、四捨五入が選ばれ、高圧縮率用符号器は、条件付切り上げ処理が選ばれる。再符号化時1回目、2回目以降は、切り捨て処理が選ばれる。
【0090】
次に、上記図2の構成における処理のフローを表わすフローチャートを図12に示す。
【0091】
図2で説明したように符号化部が2つある場合は、図12に示すフローチャートに基づいて1ページ分の画像データの符号化を行なう。なお、図12の説明は、符号化部が1つの場合のフローチャートである図8とは、大半は類似しており、当業者であれば上記説明から本第2の例の特徴は十分に理解できるであろうから、符号化部1つの場合と同じように3つのフェーズで処理を説明する様にし、図8と異なる点を主に説明することとする。
【0092】
上述した図8のフローと本例のフローとの一番大きな違いは、ステップS317の転送処理が、ステップS307とステップS309の間に移動していることである。要するに、符号化・再符号化フェーズと転送フェーズが入れ替わったと見なせば良い(ステップS307の符号化データの廃棄処理は例外である)。
【0093】
ステップS301の符号化パラメータの初期設定では、第1の符号化部202に量子化パラメータQ1を、第2の符号化部205には量子化パラメータQ2を設定する。ただし、量子化パラメータQ2で表される量子化ステップは、Q1よりも大きく、演算モードはモード指定部126で指定されたシナリオに従って決定される。
【0094】
符号化フェーズでは、ステップS801、S303、S305を繰り返し実行する。ステップS801とステップS305は符号化部が1つの場合と同じ処理であるが、ステップS303の符号化処理だけは図13に示すように異なっている。
【0095】
第1のメモリ204へ格納する符号化データは圧縮率が段階的に高くなるようにするため、最初に格納する符号化データは圧縮率が一番低い量子化パラメータQ1で符号化したデータを格納し、第2のメモリへ格納する符号化データは量子化パラメータQ2で符号化したデータを格納する。
【0096】
第1のメモリ204へ格納中のデータ量が設定されている上限値をオーバーしたら(ステップS305)、直ちに、第1のメモリ204で保持していた符号化データを廃棄し(ステップS307)、第2のメモリ207で保持している圧縮率の高い符号化データを、第1のメモリ204へ転送する(ステップS317、図14参照)。これにより、第1の実施形態で説明した1回目の再符号化処理の終了を待たずに、速やかに、上限値をオーバーしない適切な2番目の候補の符号化データを第1のメモリ207内に格納出来る。これが、図1に対する、2つの符号器を持つ図2を適用することの最大の利点である。
【0097】
本第2の実施形態では、2つのメモリ204、207で同じ圧縮率の符号化データを持っていることが無駄という考え方なので、第2のメモリ207には、第1のメモリ204に格納する符号化データよりも圧縮率の高い符号化データを格納しておくようにしている。従って、それ以降の処理もこの考え方に基づき行われるものであり、第2のメモリ207内の符号化データを第1のメモリ204に転送する処理(転送フェーズ)が終了した後は、第2のメモリ207の符号化データを、更に1段階圧縮率の高い符号化データを保持する様に再符号化することとなる。
【0098】
具体的には、まず図15に示す様に、転送フェーズの次の符号化・再符号化フェーズでは、上記再符号化の前に、2つの符号化部202,205に適用される各量子化パラメータQ1、Q2をそれぞれQ2、Q3へ変更し(ステップS309)、1ページの画像データの入力が終了せずに続いていれば(ステップS803)、後続の画像データは新たな量子化ステップが設定された2つの符号化部で該入力データを符号化して(ステップS311)、対応する各メモリ204,207へ格納する。そして、上記符号化処理と並行して第2のメモリに格納されている符号化データ(第1のメモリ204に転送したもの)は、第1のメモリ内の符号化データよりも1段階高い圧縮率の符号化データに変更するべく、再符号化部211にて量子化パラメータQ3を用いて符号化されたデータが得られる様な再符号化処理(S313)を行ない、再符号化データを第2のメモリ207に格納し直す。
【0099】
なお、本第2の実施形態でも、第1の実施形態と同様、再符号化処理では、符号化データを一旦ハフマン復号した後の各量子化値に対して、これら値を2nで割った結果と同様の結果が出るビットシフト処理を施した後、再度ハフマン符号化を行なうことにより実現される。この方法は、ビットシフトのみで量子化ステップを変更する点と逆直交変換や再直交変換処理を行わない点で、高速な再符号化処理が可能である。
【0100】
また、本第2の例の様に符号化部が2つ有る場合には、図15に示したように、第2のメモリ207に符号化データと再符号化データを混在して格納する状況が発生する。従って、前述したように、符号化データをある単位で区切って、ファイル或いはパケットとして管理することが、第2のメモリ207に対しても必要になる。その為には、例えば第1の実施形態における変形例と同様の構成を設ければ良いであろう。
【0101】
図12において、再符号化処理の終了をステップS315で検知したら、また符号化フェーズ(ステップS801、S303)に移行する。なお、符号化・再符号化フェーズ後の符号化フェーズでは、図16に示すように、2つのメモリ204,207が保持する符号化データは圧縮率が違うだけでなく、符号化データの混在の仕方(アドレス)もかなり違ってくる。従って、再度、第1のメモリ204のデータ量が設定値をオーバーした場合には、第2のメモリ207で保持されている符号化データ(▲6▼+▲8▼の横縞の領域の符号)が第1のメモリ204へ転送される必要が出てくる。これらを考慮すると、第2のメモリ207だけでなく、第1のメモリ204でも符号化データをファイル或いはパケットとして管理する必要がある。よって、第1のメモリ204にも前述の管理テーブルを用いた管理機構が必要となる。
【0102】
図16に示された符号化フェーズの状態は、量子化パラメータと符号化データの混在の仕方が、再符号化処理の前後で異なっていること以外は、初期状態の符号化フェーズ(図13)と同じである。よって、符号化フェーズ、転送フェーズと符号化・再符号化フェーズを繰り返すことで、最終的に、1ページ分の画像データを設定した上限値以下に圧縮した符号化データを確実に第1のメモリ204に格納することが出来る。
【0103】
なお、第1の実施形態に対し、転送フェーズと符号化・再符号化フェーズの配置順が逆であることから、図8において転送処理後に行なっていた1ページ分の画像データの入力終了検知(ステップS805)は、符号化・再符号化フェーズで行なう1ページ分の画像データの入力終了検知(ステップS803)と、ほとんど同じタイミングになってしまう。また、2つの検知処理は、機能的にはステップS805と同じで、タイミング的にはステップS803と同じである、従って、これら2つのステップは、新たな1ページ分の画像データの入力終了を検知するステップとして統合し、ステップS1201と表記しておく。
【0104】
以上説明した第1、第2の実施形態では、第1のメモリと第2のメモリは物理的に別のメモリであるとして説明をしてきた。これは、2つのメモリに対するアクセスが独立したものとすることができるので有利なためであり、本発明の特徴となす。しかしながら、第1のメモリと第2のメモリを、物理的に別のメモリとしない場合も本発明の範疇に含まれる。物理的に1つのメモリ上に、前記第1のメモリと第2のメモリに相当する2つの領域を確保して、第1のメモリを第1のメモリ領域、第2のメモリを第2のメモリ領域と言い直して、これまでの説明を読み直せば、本発明は、1つのメモリでも実現できることが分かる。
【0105】
また、1つのメモリで上記各例を実現する場合には、前記転送フェーズで説明したデータ転送処理のいくつかは不要となる。その詳細はその都度容易に想像できるので説明は省略するが、前記2つの領域を厳密に別けて使用する場合、物理的に2つのメモリを持つ時と同じようにデータ転送処理が必要であるが、2つの領域間で同じデータを共有することになれば、データ転送処理が不要になるだけでなく記憶容量の削減も図れる。
【0106】
例えば、第2のメモリ領域で保持していた符号化データを、第1のメモリ領域へ転送する際、該符号化データが格納されている先頭アドレスとデータサイズの2つの情報を第2のメモリ制御部から第1のメモリ制御部へ転送するだけで、前記符号化データを転送したのと同じ効果が得られる。
【0107】
前記符号化データを、ファイル形式やパケット形式で格納している場合は、メモリ制御部の間で転送する情報は少し増え、該符号化データに関連する管理テーブル情報を転送する必要がある。それでも、符号化データを転送するよりは、効率が良い。
【0108】
<適用例の説明>
図17は本実施形態が適用するデジタル画像処理装置のブロック構成図である。
【0109】
図中、1000はカラー画像の入力ポート(像域情報及びカラー画像データ)である。この入力ポート1000には、図示に示す如く、イメージスキャナー1020及びホストコンピュータから出力されてきた印刷データに基づくレンダリングエンジン1021のいずれか一方を選択するセレクタ1023が接続されている(不図示の操作パネルで選択するか、入力があった方を自動選択する)。いずれからもカラー画像データ1031、1032と像域情報1033、1034(画素毎に、その画素が文字・線画領域か中間調領域にあるか、及び、カラーかモノクロかを識別する情報)が出力されてくるものとする。レンダリングエンジン1021においては、印刷データに基づいて像域情報を生成できる(中間調画像の場合にはホストコンピュータコンピュータからイメージデータとして転送されてくるし、文字線画の場合には描画コマンドに従うからである)。一方、イメージスキャナ部1020では、基本的に原稿画像を読み取って、その読み取った画像に基づいて文字線画領域か中間調領域かの判断、及び、カラーかモノクロかを判断する必要がある。従ってこの像域情報を生成する回路が内臓されているものとする。
【0110】
1001は入力した画像を複数ライン(後述するタイルを抽出するだけの容量)を有するラインバッファである。また、1002はカラー画像符号化器であり、図1における符号化部102、図2における符号化部202に対応する。ただし、本実施形態におけるカラー画像符号化器1002内には、入力したカラー画像データを一旦、輝度信号と色差信号に変換する変換回路を備え、その変換された後のデータについて圧縮符号化するものとする。輝度、色差信号としては、Y、Cr、Cb等で代表される色空間があるが、YIQでも構わない。従って、実施形態では便宜上、輝度データをY、色差信号をC1、C2と表記することとする。
【0111】
1003は符号化されたカラー画像を記憶する外部メモリである(例えばハードディスク等)。1005は外部メモリ1004から読み込んだ符号化済み画像データに対して復号処理するために一時的に格納する復号バッファであり、1006は復号器である。1007は復号された画像を一時的に記憶するラインバッファである。1008は接続されたプリンタ部1009に、ラインバッファ1008に格納された画像を出力するための出力ポートである。なお、プリンタ部1009内には、Y、C1、C2のデータを記録色成分であるY、M、C(もしくはY、M、C、Bk)に変換する変換回路が設けられているものとする。また、プリンタ部1009の記録方式は例えばレーザビームプリンタ、インク液滴を吐出するタイプのプリンタ等、その印刷方式は如何なるものでも良い。
【0112】
また、1010は内部バッファ1003に格納される符号データ量を監視する符号量監視部であり、1011は再度符号化を行う符号変換部である。
【0113】
図1との関係からすると、内部バッファ1003が、図1における第1のメモリ、第2のメモリを兼用することになる。また、符号シーケンス制御部108、第1カウンタ107、第2カウンタ110、セレクタ111が符号量監視部1010に対応し、再符号化部109が符号変換部1011に対応することになる。
【0114】
カラー画像符号化器1002では、ラインバッファ1001に格納された画像データを8×8画素のサイズのタイルに分割し(各タイルは8×8に限らずM×M画素でも良い)、この8×8画素毎にカラー情報の符号化を行う。カラー画像については離散コサイン変換符号化(JPEG)、像域情報についてはランレングス符号化に分けて符号化される。
【0115】
像域情報は、各画素毎につけられるものであるが、本実施形態のように8×8ブロック毎にDCTで処理するものに対しては、ブロック毎に、像域フラグを代表させて用いられることになる。像域の分け方としては、先に説明したように、画像の文字領域と写真領域、カラーかモノクロかであるものとするが、これ以外であってもよいし、これに更なる成分を追加しても構わない。
【0116】
さて、符号量監視部1010は、符号化器1002によって生成される符号量の監視を行い、設定量を超えると予想された場合は、符号化器1002に対してそれ以降に入力されるカラー画像データ(及び属性情報)についてはより高くなるように符号化を行わせ、従前に符号化されたデータについては、符号変換器1011で再符号化をしてより高い符号化を行うことになる。なお、不図示の操作部には、第1、第2の実施形態で説明したモード指定部が設けられ、指定されたシナリオに従って処理が行われるものである。
【0117】
図19は、符号化進行状況とメモリ充足率との関係の説明図である。以下、同図に従って、動作シーケンスについて簡単に説明する。
【0118】
図では,2/8の時点で、初期値の条件(初期段階での量子化パラメータ)での符号化データ量がオーバーフローしたことを示している。
【0119】
また、3/8の時点では、目標値オーバーと判断されたとき以前の再符号化が完了し、第1のメモリ104への転送処理が完了したことを示している。
【0120】
また、4/8の時点で、再び、オーバーフローするので,再符号化処理をスタートする。このときのオーバーフローは2回めであるので、指定したシナリオに従う2回めの量子化パラメータ(演算モード)で設定することになる。5/8の時点で、この再符号化が終了し、転送処理を完了していることを示している。そして、8/8の時点で、1ページの符号化が完了していることを示している。
【0121】
上記例では、3/8の時点で、メモリが約25%オーバーランしているが、これは、圧縮率と再符号化時間で、決まってくるものであり、実機では、設計パラメータとして、バッファメモリの余裕分として確保する必要があるが、それほど大きくなるものではない。処理時間は、図からわかるように、1枚画像を符号化する時間内で終了している。
【0122】
図20(a)乃至(d)は、DCT係数の直流係数(DC係数)の説明図である。同図(b)はDC係数符号化の説明図である。8×8のDCT変換されたDC係数値(図の左上の小さい正方形)とその隣接するブロックのDC係数値との差分をとり、これを可変長符号化する。
【0123】
同図(a)は符号化ブロック図であり、DC係数1205は、ブロック遅延器1201で遅延された直前のブロックのDC係数との差分が差分器1202でとられる。差分値は,グループ化処理でグループ番号SSSSに変換される。
【0124】
またグループ化部では、同図(c)で示したように、DC差分値に応じた付加ビット数が決定される。また、グループ番号SSSSは1次元ハフマン符号化器1204,同図(d)で示した表にしたがって、ハフマン符号化される。
【0125】
これらの表をみると,グループ番号が小さい方がハフマン符号と付加ビット数が少ないことがわかる(場合によっては同じ)。
【0126】
したがって、DC差分値が、1/2になると,グループ番号が1つ小さくなり、ハフマン符号と付加ビットを合わせた可変長符号部が1〜2ビット短くなることがわかる。
【0127】
図21は、DCT係数の交流係数(AC)係数の符号化方式の説明図である。
【0128】
AC係数1301は、ジグザグスキャン順に並び替えて、判定器1302で0の場合は,ランレングスカウンタ1303で0の係数の連続数(ラン長)を計数しラン長NNNN1306を出力する。また0以外の係数値は、図20と同じようにグループ化器1304でグループ番号1307と付加ビット1302を出力する。二次元ハフマン符号化器1305では,ラン長NNNNとグループ番号SSSSを組み合わせてハフマン符号化する(図23参照)。
【0129】
ラン長NNNNが15を超える場合は、ラン長16を示すZRLを必要な数だけ出力する。たとえば,ラン長35は,ZRL+ZRL+ラン長3に変換し、符号化する。
【0130】
また、最後の有効係数(0以外の係数)の後に,EOB(End of Block)を付加する。
【0131】
なお、実施形態では、8×8のブロックについてDCT処理することになるので、ジグザグスキャンする順番は図22に示すようになる。
【0132】
図24は、ラン長とサイズから引くハフマン符号テーブルの一部を示したものである。
【0133】
したがって、AC係数値が、1/2になると、グループ番号が1つ小さくなり、ハフマン符号と付加ビットを合わせた可変長符号部が1〜2ビット短くなることがわかる。
【0134】
さらに、係数値がゼロになりラン長も長くなるので、符号化対象となる優位シンボルの数も減少するので、符号長がさらに短くなる。
【0135】
図25は、係数をビットシフトしたものと、量子化ステップを2倍にしたものは等価であることを示した説明する図である。ただし、厳密には、量子化時には、四捨五入ではなく、切り捨て処理をした場合に限定される。
【0136】
係数入力器90から係数列{1,17,33,65,129...}が入力される。量子化器91では、量子化ステップ{16}を2倍した値{32}で、係数列が除算され、出力列{0,0,1,2,4...}が結果として出力される。一方、量子化器92では、量子化ステップ{16}、係数列が除算され、出力列{0,1,2,4,8...}が出力され、さらに、ビットシフト器93で、量子化値の右シフトにより、{0,0,1,2,4...}が結果として出力される。すなわち、量子化ステップを2倍するのと、量子化したあとに、ビットシフトで1/2にするのは、等価となる。また、負の係数値に関しても、サイン符号と絶対値を分けて処理をすれば、同じ効果が得られる。
【0137】
しかしながら、単にレベルシフトして係数を切捨てると、復号時に、適正なレベルシフト補正処理を行わないと、画像がボケやすいという問題があった。
【0138】
そこで、係数変換ブロックをシフト処理から、以下のような、条件付切上処理に切り替える、画像の先鋭度をある程度保つことができる。
【0139】
条件付切上の例としては、係数値0の時はそのまま、係数値1の時は、切捨て、係数値2以上の時は、切上などとする方法である。すなわち、切り上げするのはある程度、大きな値にすることである。小さい値を切り上げてしまうと、その小さな値における切り上げによる誤差値の占める割合が大きく、ノイズとして目立つためである。
【0140】
図26は、量子化後の処理の比較で、入力{1,17,33,49,65,81,97,113,129}に対して、シフト処理の場合のビットシフト回路93を通った場合、{0,0,1,1,2,2,3,3,4}という出力が、条件付切上器95を通った場合は、{0,0,1,2,2,3,3,4,4}という出力に変更される。
【0141】
すなわち、波形の振幅が大きく強調される傾向の変換となり、画像の先鋭度をある程度保つことができるようになる。
【0142】
以上説明したように第1、第2の実施形態及びその適用例によれば、入力されつつある画像データを圧縮符号化している最中に、目標値に達した場合であっても、その入力を継続しつつ、より高い圧縮率に設定し、最終的に目標量以下の符号化データを得ることが出来るようになる。また、目標値に達した、或いは越えてしまった場合でも、再符号化の回数が少ない段階は、符号量の削減よりも画質を重視する再量子化手法を用い、再符号化の回数が進むにつれて、符号の削減量が多くなるようにすることにより、符号量制御と画質制御を両立させることが可能となる。
【0143】
<他の適用例の説明>
図28は、構成を模式的に示す図であり、その処理内容は先に説明した第1の実施形態と同様であるので、以下に簡単に説明する。
【0144】
JPEG符号化部300(図1における符号化部102に相当する)は、入力された画像データをDCT変換を行い、得られたDCT係数を、設定された量子化ステップ(=2nで、初期状態ではn=0)で量子化し、ハフマン符号化処理を行い、その結果をハードディスク等の外部メモリ304(図1における第1のメモリ104に相当する)、読み書きが高速なRAMで構成される内部バッファ306(図1の第2のメモリ106に相当する)に格納していく。
【0145】
ここで、外部メモリ304に格納されるデータ量を監視し、それが予め設定された値に達した(或いは越えた)場合、外部メモリ304のデータを破棄すると共に、JPEG符号化部300に対して従前よりも2倍にした量子化ステップ(n←n+1)を設定し、符号化を継続させる。また、このとき、外部メモリ304内のデータは破棄されているので、ページの途中から、新に設定された量子化ステップに従って圧縮符号化されたデータが外部メモリ304に格納されていくことになるが、それ以前のデータは内部バッファ306に保存されている。そこで、それをハフマン復号部301で復号することで、ハフマン符号化前のシンボルまで復号し、符号変換部302によって再開ビットを削除し(1ビット右シフトして1/2にする)、ハフマン符号化部303で再度符号化の処理を行い、その結果を内部バッファ306及び外部メモリ304に格納する。
【0146】
これ以降、再度、設定量に達した場合には、量子化ステップを更に大きなものものに設定し、上記処理を繰り返すことになる。
【0147】
本適用例の装置構成は図17と同様であるものとし、その構成の説明は省略し、処理手順を図29のフローチャートに従って説明する。
【0148】
ステップS1501において、画像データを符号化し、それをバッファメモリ及び外部メモリそれぞれに出力する。この状態は図30に示す通りであり、内部バッファ及び外部メモリの両方に符号化データが格納されていくことになる。
【0149】
ステップS1502では、符号量が設定値に達したと判断した場合には、外部メモリ304のデータを破棄し、量子化ステップを変更し、圧縮処理を再圧縮処理を行わせる。また、再符号化処理では、内部バッファ内の符号データをハフマン符号前のシンボルにまで復号化し、それの最下位ビットを削除(最下位方向に1ビットシフト)し、再符号化を行う。この状態を示すのが図31である。
【0150】
ステップS1503では、再符号化することで得たデータを内部バッファ及び外部メモリに転送する。この状態を示すのが図32である。
【0151】
そして、この転送が終わると、ステップS1504で、内部バッファへの書き込み位置を、最後尾に写して、符号化データの格納位置を更新する。格納位置を変更した後は、更新された量子化ステップで符号化されたデータが、図33に示すように、内部バッファ及び外部メモリそれぞれに格納される。
【0152】
なお、ステップS1504の処理中に、再び設定量に達した場合には、量子化ステップを更新して上記処理を繰り返すことになる。この場合の、外部メモリ304の充足の推移は、先に説明した図19と実質的同じであり、再符号化する再におけるビットシフトに関しても図26で説明した通りであるので、その説明は省略する。
【0153】
図34は具体的な適用例を示している。以下、その動作概要を説明する。
【0154】
符号化部400はJPEG符号化部300に対応するものであり、カラー信号の場合、赤(R)、緑(G)、青(B)(各8ビットとする)は、符号化部400内の色変換部で輝度色差信号Y、Cb、Crに変換される。変換して得られた輝度色差信号それぞれはDCT(離散コサイン変換)部402で空間周波数成分への変換が行われる。次いで、量子化部403で、不図示の操作部等から指定された内容に従った量子化パラメータに基づく量子化が行われる。量子化後のデータは可変長符号化部(VLC)404で圧縮符号化を行い、これを圧縮バッファ600に記憶する。
【0155】
符号量監視部500はVLC404より出力される符号データ量を監視する。そして、予め設定された設定量(設定値)に達した、或いは越えたと判断した場合(以下、オーバーフローという)、量子化パラメータを更新し、量子化部403に再度設定する。また、オーバーフローした場合には、再符号化部700で従前に符号化されたデータを再符号化する。このため、従前の符号データを可変長復号部(VLD)701で、符号化する以前のデータ(量子化済み係数データ)にまで復号する。そして、この結果を受け、係数変換部702は係数データをレベルシフトすることで、より小さな値にする。そして、VLC703が再度符号化を行い、圧縮バッファ600に戻す。こうして、圧縮バッファ600には最終的に1ページ分の画像に対する圧縮データが生成されるので、それを外部メモリ800に出力する。
【0156】
上記実施形態では、イメージスキャナから画像を読み取る装置を例にし、その装置の機能動作について説明した。そして、その機能のほとんど(符号化処理も含む)は、上述した様にコンピュータプログラムによって実現できる。
【0157】
従って、本発明はパーソナルコンピュータ等の汎用情報処理装置上で動作するアプリケーションプログラムに適用しても構わない。アプリケーションプログラムに適用する場合には、圧縮元となる画像ファイルをユーザに指定させると共に、目標サイズをユーザに選択させる等のGUIを設ければ良いであろう。このときの目標値は、ユーザーが任意に設定できるものとするが、数値での設定はわかりずらいので、原稿サイズと画質(高中低等)を加味した直感的に分かりやすいメニューから選択させることで、決定するようにすれば良いであろう。
【0158】
また、符号化パラメータとして量子化ステップ及び量子化する際の演算モードの2つとして説明したが、圧縮率の異なるデータが混在した際に、それらの間での画質が違和感が発生しないようにする限りは、他のパラメータを用いても良い。但し、例えば、図1の構成においては、再符号化部109からの再度符号化するデータが、パラメータ変更後の符号化部102からの符号化データと実質的に同じにするには、上記実施形態に示す如く、量子化ステップを増加する手法が好ましい。
【0159】
また、実施形態では、カラー画像を輝度、色差データとして圧縮符号化する例を説明したが、色成分を表現する色空間として輝度、色差に限定されるものではない。例えば、La*b*表色空間等を用いてもよい。
【0160】
また、メモリオーバする毎に圧縮パラメータを変更するが、その対象としては人間の視覚では判別しずらい色成分を優先して量子化ステップを大きくすることが望ましい。従って、RGB色空間よりは、むしろ、輝度、色差(色相、彩度)といった、人間の視覚特性に適合する色空間を採用することが望ましい。
【0161】
また、上記の通り、本発明は、汎用装置上で動作するアプリケーションプログラムによって実現できるものであるので、本発明はコンピュータプログラムをも含むものである。また、コンピュータプログラムは、通常、フロッピーディスクやCDROM等の記憶媒体を装置にセットしてコピー或いはインストールことで行われるので、かかる記憶媒体も本発明の範疇に当然に含まれる。
【0162】
また、実施形態では、スキャナから画像データを入力するものとして説明したが、ホストコンピュータ上で動作するプリンタドライバに適用しても良い。プリンタドライバに適用する場合には、上位処理(アプリケーション等)から印刷対象のデータを受信したときに、その時点で、そのデータが中間調画像か、文字・線画かは勿論は判別できるので、像域情報生成処理にかかる構成を省くか、或いはより簡素なものとすることができる。
【0163】
また、本発明は、コンピュータプログラムと適当なハードウェア(符号化回路等)の組み合わせにも適用できる。
【0164】
【発明の効果】
以上説明したように本発明によれば、画像の符号化において、再入力を行うことなく、目標サイズに収まるよう符号化させると共に、その符号化する際に圧縮する際のモードとしてユーザーの意図を反映させて符号化することも可能になる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態における画像処理装置のブロック構成図である。
【図2】本発明の第2の実施形態における画像処理装置のブロック構成図である。
【図3】図1の構成における処理を簡略化して示したフローチャートである。
【図4】初期状態の符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図5】符号化・再符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図6】転送フェーズにおけるデータフローとメモリ内容を表わす図である。
【図7】転送フェーズ後の符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図8】図1の構成における処理の詳細を示すフローチャートである。
【図9】図1の構成の変形例における符号化・再符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図10】図9の変形例における転送フェーズにおけるデータフローとメモリ内容を表わす図である。
【図11】図9の変形例における転送フェーズ後の符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図12】図2の構成における処理手順を示すフローチャートである。
【図13】図2の構成における、初期状態の符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図14】図2に構成における、転送フェーズにおけるデータフローとメモリ内容を表わす図である。
【図15】図2の構成における、符号化・再符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図16】図2の構成における、符号化・再符号化フェーズ後の符号化フェーズにおけるデータフローとメモリ内容を表わす図である。
【図17】実施形態が適用するデジタル複写機の構成図である。
【図18】第1の実施形態におけるモード指定部によるシナリオテーブルの内容を示す図である。
【図19】符号化処理中における内部バッファの充足率の推移の一例を示す図である。
【図20】実施形態の適用例におけるDCT係数の直流係数(DC係数)の変換にかかる構成と、符号化の処理内容を説明するための図である。
【図21】図21は、適用例におけるDCT係数の交流係数(AC)係数の符号化処理の内容を説明するための図である。
【図22】量子化する際のジグザグスキャンの概念図である。
【図23】AC係数のハフマン符号化処理のテーブルを示す図である。
【図24】ラン長とサイズから引くハフマン符号テーブルの一部を示す図である。
【図25】実施形態の適用例における量子化の処理の流れを示す図である。
【図26】実施形態の適用例における、量子化後の処理の処理の流れを示す図である。
【図27】第2の実施形態におけるモード指定部によるシナリオテーブルの内容を示す図である。
【図28】実施形態の他の適用例における装置のブロック構成図である。
【図29】実施形態の他の適用例における動作処理手順を示すフローチャートである。
【図30】実施形態の他の適用例における或る処理工程における装置の動作内容を示す図である。
【図31】実施形態の他の適用例における或る処理工程における装置の動作内容を示す図である。
【図32】実施形態の他の適用例における或る処理工程における装置の動作内容を示す図である。
【図33】実施形態の他の適用例における或る処理工程における装置の動作内容を示す図である。
【図34】実施形態の他の適用例における具体的な装置構成を示す図である。

Claims (11)

  1. 画像データを圧縮符号化する画像処理装置であって、
    量子化誤差演算モードを設定する設定手段と、
    画像データを前記量子化誤差演算モードに応じた量子化誤差演算方法及び第1の量子化ステップに基づいて符号化する第1の号化手段と、
    前記第1の符号化手段で得られた符号化データを復号し、前記量子化誤差演算モードに応じた量子化誤差演算方法及び第2の量子化ステップに基づいて再符号化する第2の号化手段と、
    前記第1の号化手段によって生成される符号化データの符号量を監視すると共に、当該符号量が所定量になったか否かを判断する符号量監視手段とを備え、
    前記符号量監視手段によって前記符号量が所定量に達したと判断した場合
    前記量子化誤差演算モードに応じた量子化誤差演算方法を再設定すると共に、前記第1、第2の量子化ステップを変更し、
    前記第1の符号化手段で既に得られた符号化データを前記第2の符号化手段によって再符号化させ、
    前記再符号化により得られた再符号化データを、前記第1量子化ステップを変更後の第1の符号化手段により前記画像データを符号化して得られた符号化データとして、所定の記憶手段に記憶させ、
    前記第1量子化ステップを変更後の第1の符号化手段により、未だ符号化されていない後続の画像データを符号化させ、後続の符号化データとして前記記憶手段に記憶させる
    ことを特徴とする画像処理装置。
  2. 前記量子化誤差演算モードには、圧縮率優先モード、エッジ強調強モード、エッジ強調弱モードが含まれることを特徴とする請求項第1項に記載の画像処理装置。
  3. 前記量子化誤差演算のモードには、画質優先モードが更に含まれることを特徴とする請求項第2項に記載の画像処理装置。
  4. 前記圧縮率優先モードは、初期段階では量子化後のデータの小数点以下を四捨五入し、符号データ量が前記所定量には到達し以降では切り捨てが行われることを特徴とする請求項第2項に記載の画像処理装置。
  5. 前記エッジ強調強モードは、初期段階では量子化後のデータの小数点以下を四捨五入し、符号データ量が前記所定量には到達し以降では条件つき切り上げが行われることを特徴とする請求項第2項に記載の画像処理装置。
  6. 前記条件つき切り上げは、量子化後のデータが所定値以上の値である場合に行われることを特徴とする請求項第5項に記載の画像処理装置。
  7. 前記エッジ強調弱モードは、初期段階では量子化後のデータの小数点以下を四捨五入し、符号データ量が前記所定量には到達し以降では条件つき切り捨てが行われることを特徴とする請求項第2項に記載の画像処理装置。
  8. 前記条件つき切り捨ては、量子化後のデータが所定値以上の値である場合に行われることを特徴とする請求項第7項に記載の画像処理装置。
  9. 画像データを圧縮符号化する画像処理方法であって、
    量子化誤差演算モードを設定する設定工程と、
    画像データを前記量子化誤差演算モードに応じた量子化誤差演算方法及び第1の量子化 ステップに基づいて符号化する第1の号化工程と、
    前記第1の符号化工程で得られた符号化データを復号し、前記量子化誤差演算モードに応じた量子化誤差演算方法及び第2の量子化ステップに基づいて再符号化する第2の号化工程と、
    前記第1の号化手段によって生成される符号化データの符号量を監視すると共に、当該符号量が所定量になったか否かを判断する符号量監視工程とを備え、
    前記符号量監視工程によって前記符号量が所定量に達したと判断した場合
    前記量子化誤差演算モードに応じた量子化誤差演算方法を再設定すると共に、前記第1、第2の量子化ステップを変更し、
    前記第1の符号化手段で既に得られた符号化データを前記第2の符号化工程によって再符号化させ、
    前記再符号化により得られた再符号化データを、前記第1量子化ステップを変更後の第1の符号化手段により前記画像データを符号化して得られた符号化データとして、所定の記憶手段に記憶させ、
    前記第1量子化ステップを変更後の第1の符号化工程により、未だ符号化されていない後続の画像データを符号化させ、後続の符号化データとして前記記憶手段に記憶させる
    ことを特徴とする画像処理方法。
  10. コンピュータが実行することで、画像データを圧縮符号化する画像処理装置として機能するコンピュータプログラムであって、
    量子化誤差演算モードを設定する設定手段と、
    画像データを前記量子化誤差演算モードに応じた量子化誤差演算方法及び第1の量子化ステップに基づいて符号化する第1の号化手段と、
    前記第1の符号化手段で得られた符号化データを復号し、前記量子化誤差演算モードに応じた量子化誤差演算方法及び第2の量子化ステップに基づいて再符号化する第2の号化手段と、
    前記第1の号化手段によって生成される符号化データの符号量を監視すると共に、当該符号量が所定量になったか否かを判断する符号量監視手段とを備え、
    前記符号量監視手段によって前記符号量が所定量に達したと判断した場合
    前記量子化誤差演算モードに応じた量子化誤差演算方法を再設定すると共に、前記第1、第2の量子化ステップを変更し、
    前記第1の符号化手段で既に得られた符号化データを前記第2の符号化手段によって再符号化させ、
    前記再符号化により得られた再符号化データを、前記第1量子化ステップを変更後の第1の符号化手段により前記画像データを符号化して得られた符号化データとして、所定の記憶手段に記憶させ、
    前記第1量子化ステップを変更後の第1の符号化手段により、未だ符号化されていない後続の画像データを符号化させ、後続の符号化データとして前記記憶手段に記憶させる
    して機能することを特徴とするコンピュータプログラム。
  11. 請求項10に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
JP2002085507A 2002-03-26 2002-03-26 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 Expired - Fee Related JP3902968B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002085507A JP3902968B2 (ja) 2002-03-26 2002-03-26 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体
US10/393,069 US7127115B2 (en) 2002-03-26 2003-03-21 Image processing apparatus and method, computer program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002085507A JP3902968B2 (ja) 2002-03-26 2002-03-26 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体

Publications (3)

Publication Number Publication Date
JP2003283844A JP2003283844A (ja) 2003-10-03
JP2003283844A5 JP2003283844A5 (ja) 2005-09-15
JP3902968B2 true JP3902968B2 (ja) 2007-04-11

Family

ID=28786127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002085507A Expired - Fee Related JP3902968B2 (ja) 2002-03-26 2002-03-26 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体

Country Status (2)

Country Link
US (1) US7127115B2 (ja)
JP (1) JP3902968B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4366250B2 (ja) 2003-06-23 2009-11-18 キヤノン株式会社 データ変換処理装置及びプログラム
US20050134877A1 (en) * 2003-12-17 2005-06-23 Murata Kikai Kabushiki Kaisha Color image processing device and color image processing method
JP4418762B2 (ja) * 2004-05-07 2010-02-24 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4533035B2 (ja) * 2004-08-02 2010-08-25 キヤノン株式会社 画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP4378245B2 (ja) * 2004-08-23 2009-12-02 キヤノン株式会社 データ変換装置及び方法
JP4533043B2 (ja) * 2004-08-25 2010-08-25 キヤノン株式会社 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4393319B2 (ja) * 2004-09-08 2010-01-06 キヤノン株式会社 画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP4440051B2 (ja) 2004-09-08 2010-03-24 キヤノン株式会社 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4440052B2 (ja) * 2004-09-14 2010-03-24 キヤノン株式会社 画像符号化装置、画像符号化方法
JP4693603B2 (ja) * 2004-11-15 2011-06-01 キヤノン株式会社 画像符号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US20070025630A1 (en) * 2005-07-27 2007-02-01 Sung Chih-Ta S Method and apparatus of image compression
JP2007037049A (ja) * 2005-07-29 2007-02-08 Canon Inc 画像符号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4618430B2 (ja) * 2005-09-02 2011-01-26 富士ゼロックス株式会社 画像処理装置、画像処理方法及びそのプログラム
JP4697967B2 (ja) * 2006-03-02 2011-06-08 キヤノン株式会社 画像符号化装置及びその制御方法
JP4584871B2 (ja) * 2006-06-09 2010-11-24 パナソニック株式会社 画像符号化記録装置および画像符号化記録方法
JP2008072624A (ja) * 2006-09-15 2008-03-27 Canon Inc 画像符号化装置及びその制御方法
JP2008236223A (ja) * 2007-03-19 2008-10-02 Kyocera Mita Corp 画像処理装置、及び画像処理プログラム
JP4829836B2 (ja) * 2007-04-26 2011-12-07 キヤノン株式会社 画像符号化装置、画像符号化装置の制御方法、コンピュータプログラム、復号装置、及びコンピュータ可読記憶媒体
JP4311759B2 (ja) * 2007-10-29 2009-08-12 キヤノン株式会社 データ変換装置及びその制御方法
JP4933405B2 (ja) * 2007-11-13 2012-05-16 キヤノン株式会社 データ変換装置及びその制御方法
JP4697234B2 (ja) * 2008-01-29 2011-06-08 セイコーエプソン株式会社 画像処理装置及び画像処理方法
JP4594420B2 (ja) * 2008-12-25 2010-12-08 キヤノン株式会社 データ変換装置及びその制御方法
JP6056124B2 (ja) * 2011-09-05 2017-01-11 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
JP5624576B2 (ja) 2012-03-14 2014-11-12 株式会社東芝 画像圧縮コントローラ及び画像圧縮装置
CN105264888B (zh) 2014-03-04 2018-09-14 微软技术许可有限责任公司 用于对色彩空间、色彩采样率和/或比特深度自适应切换的编码策略
JP6340083B2 (ja) 2014-03-04 2018-06-06 マイクロソフト テクノロジー ライセンシング,エルエルシー 色空間、色サンプリングレート、及び/又は色深度の適応切り替え
WO2015143671A1 (en) * 2014-03-27 2015-10-01 Microsoft Technology Licensing, Llc Adjusting quantization/scaling and inverse quantization/scaling when switching color spaces
US9596479B2 (en) * 2014-10-07 2017-03-14 Hfi Innovation Inc. Method of pulse-code modulation and palette coding for video coding
WO2016054765A1 (en) 2014-10-08 2016-04-14 Microsoft Technology Licensing, Llc Adjustments to encoding and decoding when switching color spaces
KR20190014777A (ko) * 2017-08-03 2019-02-13 에스케이하이닉스 주식회사 이미지 신호 처리 시스템 및 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0235456B1 (en) * 1985-12-13 1999-03-24 Canon Kabushiki Kaisha Image processing apparatus and method with blocks of compressed data
JP3171913B2 (ja) * 1992-04-03 2001-06-04 キヤノン株式会社 画像符号化装置及び画像符号化方法
JPH07170521A (ja) * 1993-12-15 1995-07-04 Canon Inc 画像処理装置
JPH0981763A (ja) * 1995-07-07 1997-03-28 Oki Data:Kk 文字・イメージ混在データの圧縮方法及び装置
JPH09284509A (ja) * 1996-04-10 1997-10-31 Canon Inc 画像処理装置
JPH1093827A (ja) * 1996-09-11 1998-04-10 Canon Inc 画像処理方法とその装置
JPH10336682A (ja) * 1997-04-02 1998-12-18 Canon Inc 符号化装置及び方法及び方法を記憶した記憶媒体
US6167160A (en) * 1997-10-08 2000-12-26 Canon Kabushiki Kaisha Encoding and decoding methods and devices, and image processing apparatus using the same
US7365873B2 (en) * 2000-01-27 2008-04-29 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium
EP1271926B1 (en) * 2001-06-18 2015-08-12 Canon Kabushiki Kaisha Image processing method, apparatus and computer program for compression-encoding
US20030031371A1 (en) * 2001-08-02 2003-02-13 Shinichi Kato Image encoding apparatus and image decoding apparatus
CN1320809C (zh) * 2001-08-29 2007-06-06 佳能株式会社 图像处理装置与方法

Also Published As

Publication number Publication date
US7127115B2 (en) 2006-10-24
US20030194138A1 (en) 2003-10-16
JP2003283844A (ja) 2003-10-03

Similar Documents

Publication Publication Date Title
JP3902968B2 (ja) 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体
US7106911B2 (en) Image processing apparatus and control method for inputting image data and encoding the data
US7257264B2 (en) Image processing apparatus and method for compression-encoding image area information
JP4533043B2 (ja) 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US7454070B2 (en) Image encoding apparatus and method, computer program, and computer-readable storage medium
US7627181B2 (en) Image encoding apparatus and method, computer program, and computer-readable storage medium
US7561749B2 (en) Apparatus, method, and computer-readable storage medium for lossy and lossless encoding of image data in accordance with an attribute of the image data
JP4533035B2 (ja) 画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JPH1051642A (ja) 画像処理装置
JP4065522B2 (ja) 画像処理装置及びその制御方法
JP3984813B2 (ja) 画像処理装置及び方法及びコンピュータプログラム及び記憶媒体
JP3902953B2 (ja) 画像処理装置及び方法及びコンピュータプログラム及び記憶媒体
JP4124982B2 (ja) 画像処理装置及び方法及びコンピュータプログラム及び記憶媒体
JP4693309B2 (ja) 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体
JP3902954B2 (ja) 画像処理装置及び方法及びコンピュータプログラム及び記憶媒体
JP3840076B2 (ja) 画像処理装置及び方法及びコンピュータプログラム及び記憶媒体
JP3902983B2 (ja) 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体
JP4035475B2 (ja) 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体
JP3998115B2 (ja) 画像処理装置及び画像処理方法
JPH0622148A (ja) 画像処理装置
JP4035471B2 (ja) 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体
JP2004112345A (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2005086353A (ja) 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2002218251A (ja) 画像処理装置、画像処理システム、画像処理方法、及び記憶媒体
JP2003274154A (ja) 画像処理方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050328

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050328

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070105

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120112

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140112

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees