JP2004320479A - 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 - Google Patents
画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 Download PDFInfo
- Publication number
- JP2004320479A JP2004320479A JP2003111876A JP2003111876A JP2004320479A JP 2004320479 A JP2004320479 A JP 2004320479A JP 2003111876 A JP2003111876 A JP 2003111876A JP 2003111876 A JP2003111876 A JP 2003111876A JP 2004320479 A JP2004320479 A JP 2004320479A
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- quantization step
- data
- amount
- 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.)
- Granted
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
【解決手段】符号化部102は画像データを圧縮符号化し、その結果を第1、第2のメモリに格納する。符号化シーケンス部108はこの符号量を監視し、設定値に達した場合符号化部102に対して量子化ステップを更に上げて継続させる。従前の符号化データは再符号化部109により符号化部102と同じ量子化ステップで再度符号化させる。また、符号化シーケンス制御部108は、符号化部102で生成された符号量に基づき、次の段階での量子化ステップで符号化した場合の設定値に到達する時刻T0と、その現時点での符号量に基づく再符号化が完了する時刻T1と予測演算し、T1>T0−Δtを満たすと判断した場合には量子化ステップを変更する。ただし、1ページの符号化処理が終了する時刻が、所定値に到達する以前にあるとした場合にはこの量子化ステップの変更は行わない。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、画像データを符号化する技術に関するものである。
【0002】
【従来の技術】
従来、静止画像の圧縮方式には、離散コサイン変換(以下、DCTと略す)を利用したJPEG方式や、Wavelet変換を利用した方式が多く使われている。この種の符号化方式は、可変長符号化方式であるので、符号化対象の画像毎に符号量が変化するものである。
【0003】
国際標準化方式であるJPEG方式では,画像に対して1組の量子化マトリクスしか定義できないので、プリスキャン無しには、符号量調整が行えず、限られたメモリに記憶するシステムで使用する場合においては、メモリオーバーを起こす危険性があった。
【0004】
これを防止するためには、充分なメモリ容量を確保しておくことが必要となるが、入力される画像のサイズが一律同じではなく、異なる場合もある。したがって、これまでは、その入力する可能性のある最大サイズ分に適合し得る容量のメモリを確保せざるを得ない。
【0005】
【発明が解決しようとする課題】
しかしながら、最大サイズに合わせてメモリを確保するような装置においては、それより小さなサイズの画像を入力する場合にもそのメモリが確保されることを意味することになり、メモリを有効活用しているとは到底言えない。
【0006】
そこで、確保するメモリ容量を中程度の画像に合わせることが考えられるが、今度は、符号化処理で得られた符号データがそれを越えてしまうということが発生する。
【0007】
この場合の対策として、予定した符号量よりオーバーした場合は、圧縮率を変更して、原稿の再読み込みを行なう方法や、予めプリスキャンによる符号量見積もりを行ない、符号量を調整するために、量子化パラメータの再設定を行なう方法などが知られている。
【0008】
従来、プリスキャンを行う符号量制御方式として、例えば、プリ圧縮したデータを内部バッファメモリに入れ、これを伸長し、圧縮パラメータを変え、本圧縮し、外部記憶に出力する方式が知られている。このとき、本圧縮は、プリ圧縮よりも圧縮率を高めにする必要がある。
【0009】
また、例えば、画素ブロックごとの許容符号量を求め、符号量を減らすために、DCT係数をn回レベルシフトした係数をハフマン符号化する方式が知られており、このシフト量nは許容符号量から決定される。
【0010】
本発明者らは、画像を実質的に1回の符号化処理時間内で、尚且つ、少ないメモリ量で確実に符号化する技術を既に幾つか提案している。その詳細は後述するが、簡単に説明すると、符号量が目標とするメモリ容量をオーバーフローしそうなところで、符号器の圧縮率が高くなるようにし、尚且つ、それまでに既に符号化したデータを新に設定した圧縮率で圧縮したのと等価になるように再符号化するものである。
【0011】
上記処理は非常に有効なものであるが、再符号化処理を行う再符号化部に対して高い処理能力が要求される。もし、再符号化の処理能力が低いと、その再符号化が完了する前に、再度設定した圧縮率での圧縮符号量が目標値を越えてしまうことがあり、このような事態になると再符号化処理を起動することができなくなり、結果的に、圧縮符号化が失敗することになってしまうからである。
【0012】
以上の理由により、再符号化は高い処理能力が要求されるわけであるが、実際に、上記のような事態が発生するのはむしろ希であるのも事実である。従って、再符号化について高い処理能力を満たすようにするのは、過剰なものであり、コストアップにつながる。
【0013】
本発明はかかる問題点に鑑みなされたものであり、比較的簡単な構成でもって、画像の入力を継続させながら、目標符号量以下に符号化することを確実なものとし、尚且つ、画質劣化を可能な限り抑制する技術を提供しようとするものである。
【0014】
【課題を解決するための手段】
かかる課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
1ページの画像データを圧縮符号化する画像処理装置であって、
量子化ステップが変更可能な第1の符号化手段と、
量子化ステップが変更可能であって、前記第1の符号化手段で圧縮した符号データを再符号化する第2の符号化手段と、
前記第1の符号化手段によって生成される符号データ量を監視すると共に、当該符号データ量が所定量になったか否かを判断する第1の判断手段と、
1ページの画像データの符号化が完了する予測時刻T0、及び、前記第1の符号化手段で生成される符号データ量が前記所定量に到達する予測時刻T1を算出し、
条件1: T0>T1−Δt1
(ここで、Δt1は所定の正の値)
を満たすか否かを判断する第2の判断手段と、
前記符号データ量に基づき、前記第1の符号化手段が次の段階の量子化ステップで圧縮符号化したと仮定した場合の前記所定量に到達する時刻T2と、現在の量子化ステップに従って既に生成された符号データを、次の段階の量子化ステップを設定した前記第2の符号化手段で再符号化させたと仮定した場合の再符号化の完了時刻T3を算出し、
条件2:T3>T2−Δt2
(ここで、Δt2は所定の正の値)
を満たすか否かを判断する第3の判断手段と、
前記第1の判断手段で前記所定量に到達したと判断した場合、或いは、前記第2、第3の判断手段での前記条件1、2の両方を満たす場合、前記第1、第2の符号化手段に次の段階の量子化ステップを設定する設定手段と、
該設定手段により量子化ステップを変更した場合、量子化ステップ変更後に入力する画像データについては前記第1の符号化手段による符号化を継続させ、量子化変更前の既に符号化された符号データについては前記第2の符号化手段によって再符号化させる制御手段とを備える。
【0015】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を説明するが、先ず、基本部分について説明する。
【0016】
図1は、実施形態が適用する画像処理装置100の機能ブロック構成図である。以下、同図の各部を簡単に説明する。
【0017】
画像処理装置100は、イメージスキャナから画像を入力する入力部101を備えている。なお、入力部101は、ページ記述言語をラスターイメージにレンダリングする手段などから画像データを入力しても良いし、記憶媒体に格納された画像ファイルを読込むことで実現しても良く、場合によってはネットワークより受信するようにしても良い。
【0018】
符号化部102は、入力された画像データの符号化を行なう。なお、符号化方式は公知のJPEG符号化方式を用い、8×8画素で画像データをDCT変換し、後述する量子化ステップを用いた量子化、ハフマン符号化処理を行なうものである。
【0019】
第1のメモリ制御部103と、第2のメモリ制御部105は、上記符号化部102から出力されてくる上記符号化データ(同じ符号化データ)を第1のメモリ104と第2のメモリ106へそれぞれ格納する様に制御する。ここで、第1のメモリ104は、最終的に確定した(目標値以内のデータ量に圧縮し終わった)符号化データを、図1の基本構成の外部に接続されるネットワーク機器、画像出力装置や大容量記憶装置等へ出力するために、該符号化データを保持するためのメモリである。また、第2のメモリ106は、前記符号化データを第1のメモリ上に形成するための圧縮符号化処理を補助する作業用のメモリである。
【0020】
カウンタ107は、符号化部102によって圧縮符号化された画像データのデータ量をカウントし、該カウント値を保持すると共に、そのカウント結果により符号化シーケンスの制御を行なう符号化シーケンス制御部108に出力する。
【0021】
符号化シーケンス制御部108では、カウンタ107のカウント値がある設定値に達したかどうかを検出し、その設定値に達した(目標値を越えた)ことを検出した時にメモリ104内の格納済みの符号化データを廃棄するよう第1のメモリ制御部103に制御信号を出力する。上記第1のメモリ制御部103は、この制御信号に基づいて、メモリアドレスカウンタをクリアするか、あるいは符号化データ管理テーブルをクリアすることにより、前記格納データを廃棄する。また、このとき、符号化シーケンス制御部108は、第1のカウンタ107をゼロクリアして、第1のメモリ104におけるデータ量と一致させる(入力部101からの入力は継続している)。また、符号化部102に対して今までより、高い圧縮率で符号化を行なうよう制御する。具体的には、DCT変換係数を量子化する際の量子化ステップを2倍にするよう設定する。
【0022】
なお、ここでは、単純に量子化ステップを2倍としたが、カラー画像の場合、色変換した際に生成される1つの輝度信号(輝度データ)と、2つの色差信号(色差データ)に対して別々の量子化ステップを割り当て、片方ずつ交互に2倍にするようにする。
【0023】
そして、圧縮率変更後の符号化データも、これまでと同様、第1のメモリ制御部103と第2のメモリ制御部105を経て、第1のメモリ104と第2のメモリ106に夫々格納される。なお、第1のメモリ104には、前記廃棄動作移以降に入力されるデータを符号化処理して生成された符号を格納することになる。
【0024】
符号化シーケンス制御部108は、カウンタ107のカウント値がある設定値に達した場合に、前記制御と並行して、第2のメモリ制御部105に対して、これまでに第2のメモリ106に格納していた符号化データを読み出し、符号化データ変換手段である再符号化部109に該符号化データを出力するよう制御信号を出す。
【0025】
再符号化部109は、入力された符号化データを復号化し、データ量を減らすための再量子化等を行なった後に再び符号化処理を行ない、該符号化データは、第1、第2のメモリ制御部103、105を介して第1、第2のメモリ104、105に格納する。このときの再符号化部109における再符号化の量子化ステップは、符号化部102の更新された量子化ステップと同じである。再符号化部109で再符号化して得られる符号量は第2のカウンタ110で計数する。
【0026】
再符号化部109の再符号化処理が終了したかどうかは、第2のメモリ制御部が検出する。すなわち、再符号化処理するために読み出すデータが無くなれば、再符号化処理の終了を符号化シーケンス制御部108に知らせる。実際には、第2のメモリ制御部105の読みだし処理だけでなく、再符号化部109の処理も終了した後に、再符号化処理が完了したことになる。
【0027】
第2のカウンタ110で得られるカウント値は、再符号化処理が完了した後、第1のカウンタ107で保持されているカウンタ値に加算される。この加算は、符号化シーケンス部108が第2のメモリ制御部105から再符号化完了の通知を受信した場合に行う。この加算をした結果、第1のカウンタ107は、第1のメモリ104内のデータ量の合計を表す計数値を保持することになる。即ち、1画面分(ページ分)の符号化部102と再符号化部109の符号化処理が終了した時点では、上記加算後の第1のカウンタ107で保持されているカウンタ値は、1画面分(1ページ分)を本装置が符号化した場合に発生した総データ量を表す(詳細は後述)。
【0028】
符号化部102は、再符号化処理の終了/未終了に関わらず、符号化するべき入力部101からの画像データが残っている限りは符号化処理を継続して行なう。
【0029】
第1のカウンタ107のカウント値がある設定値に達したかどうかの検出は、入力部101から入力される1ページ分の画像データの符号化処理(符号化、再符号化)が終わるまで繰り返され、上述した符号化と再符号化の処理は、ここで得られる検出結果に応じた制御の上で実行される。
【0030】
上記処理内容をより分かりやすく説明すると次の通りである。なお、以下はモノクロ画像の符号化についてのものである。
【0031】
入力部101より入力された画像データは符号化部102にて初期段階での量子化パラメータQ1に従い圧縮符号化を行う。生成された圧縮符号データは、第1のメモリ104、第2のメモリ106にそれぞれ書き込まれていく。このとき、第1のカウンタ107は生成される符号データ量を計数していくが、設定量以下のまま圧縮符号化処理が完了した場合には、第1のメモリ104に格納されたデータを外部に出力し、後続する画像(次ページの画像)があれば、カウンタ107、110をリセットしてその入力を行う。
【0032】
一方、或るページを符号化している最中に、生成される符号化データ量が設定値に達したと符号化シーケンス制御部108が検出した場合、第1のメモリ104内のデータを破棄させ、符号化部102に対して更に高い圧縮率となるよう、次の段階の量子化パラメータQ2を設定して画像データの入力を継続させる。このとき、第1のカウンタ107をリセットする。これにより、設定値に達したと判断された以降に入力された画像データは、更に高い圧縮率で符号化が行われることになる。また、符号化データ量が設定値に達する以前の符号化データ(量子化パラメータQ1で符号化されたデータ)は、第2のメモリ106に格納されている。そこで、このデータを再符号化部109にて、再符号化を行ない、その結果を、第1のメモリ104、第2のメモリ106にそれぞれ格納する。再符号化部109で再符号化する際の量子化パラメータは、設定変更後の符号化部102の量子化パラメータQ2と同じである。第2のメモリ106に格納されていた以前の符号化データに対する再符号化が完了すると、その符号量は第2のカウンタ110に保持されているので、それを第1のカウンタ107に足しこむ。
【0033】
以上の結果、第1のメモリ104、第2のメモリ106それぞれには、1ページの先頭から量子化パラメータQ2で圧縮された符号化データが格納されることになる。この量子化パラメータQ2で圧縮符号化している最中に、再度、カウンタ107の値が設定値に達したと判断した場合、更に高い圧縮率となるべく、量子化パラメータQ3を符号化部102及び再符号化部109に設定して、上記の処理を行う。そして、量子化パラメータQ3でも設定値に達したと判断した場合には、量子化パラメータをQ4に設定することになる。
【0034】
量子化ステップは、Q2=Q1×m、Q3=Q2×m、Q4=Q3×m…と、m倍(m>1)ずつ大きくしていく(必ずしも等倍である必要はない)。量子化ステップを大きくすると、DCT変換した際の周波数成分値が小さな値、すなわち、少ないビット数で表現できるわけであるから、データ量を減らすことが可能となる。
【0035】
上記、図1の構成における処理のフローを表わすフローチャートを図8に示すが、説明を簡単にするため、簡略化した図3のフローチャートに従って先ず説明する。
【0036】
既に説明したように、本発明の画像処理装置100は、スキャナ等の入力部101から入力した1ページの画像データを所定のデータ量以下に圧縮符号化する装置である。該符号化処理を実現するために、前記入力部101以外に、符号化部102、再符号化部109、第1のメモリ104、第2のメモリ106等を有する。これらの機能ブロックを用い、図3に示すフローチャートに基づいて符号化処理を行なう。
【0037】
図3のフローチャートは、大別すると、下記の3つの処理フェーズに分かれる。
(1)符号化フェーズ
(2)符号化・再符号化フェーズ
(3)転送フェーズ
上記それぞれの処理フェーズおいて、どのように画像データ、符号化データ等が流れて処理され,メモリにどのように格納されるかを視覚的に解り易く示したのが図4乃至図7である。
【0038】
図4は、図3のフローチャートにおけるステップS303とS305に対応する符号化フェーズの初期状態を表わす。また、図5はステップS307〜S315に対応する符号化・再符号化フェーズの処理状態を、図6はステップS317に対応する転送フェーズの処理状態を、図7は転送フェーズ後の符号化フェーズの処理状態を表わす。以下、各フェーズについて説明する。
【0039】
<<符号化フェーズ>>
1ページ分の画像データの符号化処理は、符号化パラメータの初期設定(ステップS301)から始まる。ここでは符号化処理する画像サイズ(スキャナ等の入力部101から読み取る用紙サイズ)から一意的に定まる符号化データ量の上限値に基づき符号化部102に適用する量子化ステップQ1を設定する。
【0040】
そして、ステップS303にて、第1のカウンタ107は、実際の符号化処理(画像を8×8画素のブロック単位でJPEG圧縮)を行ない、出力される符号化データのデータ量を累積カウントする。
【0041】
次にステップS305にて、該データ量のカウント値が上記上限値をオーバーしたかどうかを検知し、オーバーしていなければステップS303のJPEG符号化処理を継続する。これが初期状態の符号化フェーズである。
【0042】
符号化部102から出力する符号化データは、図4に示すように第1のメモリ104と第2のメモリ106の両方に格納されていく。縦縞で示した領域が該格納した符号を表現している。
【0043】
<<符号化・再符号化フェーズ>>
符号化部102の符号化処理が進行し、前記データ量のカウント値が設定されている上限値をオーバーすると、ステップS307にて、第1のメモリ104内の符号化データを廃棄すると共に、ステップS309にて、符号化部102の量子化パラメータをQ2に変更する。
【0044】
符号化データのデータ量のカウント値が設定された上限値をオーバーするという事は、圧縮後のデータ量が目標値以内に収まらないことを意味する。よって同じ量子化ステップを用いて符号化処理を継続しても意味が無いので、前よりもデータ量が少なくなるように、Q1よりも量子化ステップ幅の大きい量子化ステップQ2に変更するわけである。
【0045】
量子化ステップ及び量子化演算内容を変更した後、ステップS311では符号化部102の符号化処理を再開し、図5に示すように符号化データを第2のメモリ106のみに格納する。それと並行して、ステップS313の再符号化処理を行なう。再符号化処理では、第2のメモリ106に格納済みの符号化データを読み出して、再符号化部109にて再符号化処理を行ない、前記2つのメモリ104、106に格納する。そして、縦縞▲1▼の符号を全て再符号化するまで、該符号化処理と再符号化処理を継続する。
【0046】
具体的にこの再符号化処理では、符号化データを一旦ハフマン復号した後の各量子化値に対して、これら値を2nで割った結果と同様の結果が出るビットシフト処理を施した後、再度ハフマン符号化を行なうことにより実現される(m=2の場合)。この方法は、ビットシフトのみで量子化ステップを変更する点と逆直交変換や再直交変換処理を行なわない点で、高速な再符号化処理が可能である。ステップ315では、再符号化処理の終了検知が行なわれる。
【0047】
再符号化後のデータ量は再符号化前の符号化データのデータ量よりも少なくなるので、図5に示すように、再符号化前の符号を格納していたメモリ領域に再符号化後の符号化データを上書きするように格納することができる。再符号化処理が終了した時点で、縦縞▲1▼の符号化データのデータ量は図6に示すの斜め縞▲1▼の符号化データのデータ量へと減少する。
【0048】
以上で説明したステップS307〜315が、符号化・再符号化フェーズで行なう処理である。
【0049】
<<転送フェーズ>>
再符号化処理が終了したら、ステップS317では転送処理が行なわれる。該転送処理では、図6に示すように、符号化・再符号化フェーズで第2のメモリ106のみに格納した斜め縞▲2▼の符号化データを、第1のメモリ104内の斜め線▲1▼の符号化データに連結されるアドレスに転送し、格納する。その一方で、第2のメモリ106上で分散してしまっている斜め縞▲1▼の符号化データと斜め縞▲2▼の符号化データが第1のメモリ104上で連続して格納される様に、前記斜め縞▲2▼の符号化データを第2のメモリ106内で転送し、連結させる。これが、転送フェーズで行なう処理である。
【0050】
上記転送フェーズが終了したら、ステップS303、S305の符号化フェーズに戻り、図7に示すように斜め縞▲4▼の符号を符号化部102から出力して2つのメモリ104,106に格納する。この符号化フェーズは、初期状態の符号化フェーズ(図4)と少し異なり、符号化部102で符号化する際の量子化ステップがQ1からQ2に変更されていると共に、2つのメモリ104,106に格納されている符号化データも様々なフェーズで処理された符号の集まりである。それらの違いを無視すれば、転送フェーズ直後の符号化フェーズと初期状態の符号化フェーズは、同じと見なせる。
【0051】
よって、符号化フェーズ、符号化・再符号化フェーズと転送フェーズの3つを繰り返すことで、最終的に1ページの画像データを設定符号量以下に圧縮した符号を第1のメモリに格納することが出来る。しかも、入力部101は一連の処理が終わるまで、入力を継続するだけである。すなわち、画像を再度最初から入力し直すということが無くなる。
【0052】
図3に示したフローチャートは、説明が理解しやすいように、図4、図5、及び、図6に示した各フェーズに対応する処理のみを記述した。しかしながら実際には、1ページの画像データの入力はどこかのフェーズで終了する。従って、どのフェーズで終了したかによって、それ以降の対応も多少異なる。それを考慮した流れを示したのが図8のフローチャートである。図8のフローチャートは、1ページ分の画像データの入力完了と図3で説明した各種処理との関係を考慮したものであり、ここでは図3のフローチャートに、ステップS801、S803、S805、S807を追加している。
【0053】
ステップS801、S803、S805は、それぞれ、符号化フェーズ、符号化・再符号化フェーズ、転送フェーズにおいて、入力部101からの1ページ分の画像データの入力が終了したことを検知する。
【0054】
符号化フェーズと転送フェーズで1ページ分の画像データの入力が終了したことを検知した場合(ステップS801、S805)、ステップS807へ移り、当該ページの圧縮符号化処理を終了し、次に圧縮処理すべき画像データがあれば、次の1ページ分の画像データの圧縮符号化処理を開始し(各カウンタをリセットし、量子化パラメータを初期値に設定する)、無ければ停止状態に入る。
【0055】
一方、符号化・再符号化フェーズで1ページ分の画像データの入力終了を検知した場合(ステップS803)には、符号化部102では再符号化処理する画像データが無くなるまで一旦動作を止める必要があるので、ステップS311の符号化処理をパスし、ステップS313で、今までに符号化部102で符号化済みの画像データを所定の符号化データ量に抑える為の再符号化処理のみを継続して行なう。再符号化処理が全て終了して、その後の転送処理が終わらないと、1ページ分の画像データ全体の符号化データが第1のメモリ上に集まらないため、1ページ分の画像データの入力終了後も再符号化処理及びそれに続く転送処理は継続して行われる必要がある。この場合には、ステップS315にて、再符号化処理が全て終了したことを検知すると、符号化・再符号化フェーズ中に、第2のメモリ106のみに格納された符号化データを第1のメモリに転送し(ステップS317)た後、次のステップS805にて、1ページ分の画像データの入力終了が検知されてステップS807へ移ることになる。
【0056】
以上が動作であり、図8の動作説明でもある。
【0057】
<メモリ格納方法の変形例>
図9、図10は図5、図6の概念図で示したメモリ格納方法の変形例を示す図である。
【0058】
図5の概念図においては、符号化・再符号化フェーズでは、符号化部102から出力する符号化データは第2のメモリ106のみに格納していたが、図9に示すように符号化・再符号化フェーズ中に、符号化部102から出力する符号化データを第1、第2メモリの両方に直接格納する。
【0059】
符号化部102から見ると、どのフェーズで符号化して出力する符号化データも両方のメモリへ格納することになる。また、図6の概念図とは異なり、図10に示す様に、転送フェーズでメモリ間のデータ転送が必要なくなる。またこの変形例の場合には、符号化・再符号化フェーズにおいて、符号化データと再符号化データを第1のメモリ104へ送った順序で順次格納される。そのため2種類のデータが入り混じってしまうという問題は有る。
【0060】
従って、この変形例の場合にはこれに対応する為に符号化データをある単位で区切って、ファイル或いはパケットとして管理する様にする。具体的には、ファイル管理テーブル、或いは、パケット管理テーブル等を別に作成して管理する。
【0061】
一つの手法としては、符号化部102からのデータを第1メモリ104に格納する際、適当な単位(例えば前記直交変換の単位が8×8のブロックであるので、8×i(i=1、2…の整数)ライン分のデータ)毎に、画像データの先頭から管理番号を割り当て、各管理番号に対応する符号化データの格納先頭アドレスと該符号化データ量とを、管理番号順に格納できるような管理テーブルを作成する。
【0062】
符号化部102や再符号化部109は処理中のデータの管理番号を保持し、該管理番号に基づいて、符号化データ格納時の先頭アドレスと符号化データ量とを管理テーブルに書き込む。このようにすれば、符号化部102と再符号化部109で処理した符号化データをランダムに格納したとしても、前記管理テーブルを管理番号順にアクセスし、その時読み出させる先頭アドレスと符号化データ量に基づいて、符号化データを第1メモリ104から読み出せば、画像の先頭から順番に符号化データを読み出すことができる。このような管理機構を設ければ、画像上で連続するデータをメモリ上で連続するように格納する必要性が無くなる。
【0063】
図10の概念図における転送フェーズ後の符号化フェーズは、これまで説明した2つの符号化フェーズ(図4、図7)とほとんど同じであり、第1のメモリ内における符号の格納状態が図11に示した様に若干異なるだけである。よって、先の説明と本変形例は、3つのフェーズを繰り返して処理することに変わりは無い。
【0064】
<第2の例>
次に、本発明において特徴的な符号化処理を行なう為の、第2の例(これまで説明した構成を第1の例という)を図2を用いて説明する。
【0065】
図2は、第2の例における画像処理装置200のブロック構成図である。
【0066】
図1の第1の例における画像処理装置100と大きく異なる点は、最初に符号化を行なう符号化部が2つ並列に存在する点である。画像処理装置200は、入力部201から入力される画像データを、第1の符号化部202と第2の符号化部205で並行して符号化し、互いに圧縮率の異なる2種類の符号化データを生成する。本第2の例でも、符号化方式は公知のJPEG符号化方式を用い、8×8画素のブロック単位で画像データをDCT変換し、後述する量子化ステップを用いた量子化、ハフマン符号化処理を行なうものである。
【0067】
なお、本例では第1の符号化部202よりも、第2の符号化部205の方が適用する圧縮率を高く設定する場合について説明する。具体的には、第1の符号化部202における量子化パラメータをQ1、第2の符号化部205の量子化パラメータをQ2(Q2の量子化ステップは、Q1の量子化ステップより大きい)とする。
【0068】
符号化部202から出力される符号化データは、第1のメモリ制御部203を経由して、第1のメモリ204に格納される。このとき、第1のカウンタ208は、符号化部202から出力される符号化データのデータ量をカウントし、これを保持すると共に、符号化シーケンス制御部209にも出力する。
【0069】
一方、符号化部205で符号化された符号化データは、第2のメモリ制御部206を経由して、第2のメモリ207に格納される。このとき、第2のカウンタ210は、符号化部205から出力される符号化データのデータ量をカウントし、これを保持する。更に、後述する第2のメモリ207に格納している符号化データを第1のメモリ204に転送する時には、それと同時に上記第2のカウンタ210のカウント値を、第1のカウンタ208に転送する。
【0070】
さて、第1のカウンタ208が符号化部202から出力される符号化データのデータ量をカウント中に、該カウント値がある設定値に達した時には、符号化シーケンス制御部209は、第1の例と同様、メモリ制御部203に対して第1のメモリ204に格納されているデータを廃棄するよう制御信号を出す。
【0071】
そして、符号化シーケンス制御部209は、第2のメモリ207に格納済みの符号化データを読み出して第1のメモリ204に転送し、第1のメモリ204に格納するよう、メモリ制御部206とメモリ制御部203に制御信号を出力する。この結果、第2のカウンタ210のカウント値が第1のカウンタ208に転送され、その値が第1のカウンタのカウント値としてロード(上書き)される。
【0072】
要するに、上記第2のカウンタ210のカウント値は、第2のメモリ207に格納している符号化データのデータ量を表わしているので、そのカウント値と対応する符号化データを、そのまま第1のカウンタと第1のメモリへコピーしたと考えれば良い。
【0073】
さらに、符号化シーケンス制御209は、第2の符号化部205に対して、今までよりも、符号化データが少なくなるような符号化を行なうように制御信号を出す。一方、第1の符号化部202に対しては、その直前までの第2の符号化部205における量子化パラメータQ2を継承するよう設定を変更する。
【0074】
例えば、第2の符号化部205における量子化ステップを2倍に切り替える。この結果、第1の符号化部202は、第2の符号化部205は更に大きな量子化ステップQ3を用いて、次のオーバーフローに備えた更に高い圧縮率の符号化処理を行うことになる。切り替えられた各符号化部202、205から出力された符号化データは、それぞれ、対応するメモリ制御部203、206を経由して、対応するメモリ204、207に格納される。
【0075】
ここでは、量子化ステップの倍率比を2倍としたがこれに限らず、任意に設定できることは示すまでもない。例えば、カラー画像の場合、色変換した際に生成される1つの輝度信号(輝度データ)と、2つの色差信号(色差データ)に対して別々の量子化ステップを割り当て、片方ずつ交互に2倍にするようにすることで、より細かな設定が可能となる。
【0076】
そして、符号化シーケンス制御209は、メモリ制御部206に対し、既に第2のメモリ207内に格納している符号化データを読み出して、再符号化部211にデータを送るよう制御信号を出す。再符号化部211は、図1の再符号化部109と同様にして符号化データの再符号化処理を行なう。
【0077】
第3のカウンタ212は、再符号化部211が出力したデータ量をカウントするもので、再符号化処理を開始する直前にゼロにリセットされ、再符号化処理中の出力データ量をカウントする。このカウンタ212は、再符号化処理が終了した時点で、そこで得られたカウント値を第2のカウンタ210に転送する。
【0078】
第2のカウンタ210は、上記転送されてきたデータ量カウント値を、第2のカウンタ210内に保持しているカウンタ値に加算することにより、再符号化処理中にメモリ207に格納した、符号化データと再符号化データの合計のデータ量を算出する。即ち、メモリ207に格納しているデータ量とカウンタ210のカウント値とが一致する。
【0079】
再符号化処理の終了/未終了に関わらず、符号化するべき入力部201からの画像データが残っていれば、2つの符号化部202と205による符号化処理を継続して行なう。そして、カウンタ208のカウント値がある設定値に達したかどうかの監視は入力部201から入力される1ページ分の画像データの符号化処理(符号化、再符号化)が終わるまで繰り返され、上述した符号化と再符号化の処理は、ここで得られる検出結果に応じた制御の上で実行される。
【0080】
上記動作を簡単にまとめると、第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内のデータは、ページの先頭から新たなに設定された量子化パラメータで圧縮したのと等価の符号データが格納されることになる。
【0081】
図2で説明したように符号化部が2つある場合は、図12に示すフローチャートに基づいて1ページ分の画像データの符号化を行なうことになる。なお、図12の説明は、符号化部が1つの場合のフローチャートである図8とは、大半は類似しており、当業者であれば上記説明から本第2の例の特徴は十分に理解できるであろうから、符号化部1つの場合と同じように3つのフェーズで処理を説明する様にし、図8と異なる点を主に説明することとする。
【0082】
上述した図8のフローと本例のフローとの一番大きな違いは、ステップS317の転送処理が、ステップS307とステップS309の間に移動していることである。要するに、符号化・再符号化フェーズと転送フェーズが入れ替わったと見なせば良い(ステップS307の符号化データの廃棄処理は例外である)。
【0083】
ステップS301の符号化パラメータの初期設定では、第1の符号化部202に量子化パラメータQ1を、第2の符号化部205には量子化パラメータQ2を設定する。ただし、量子化パラメータQ2で表される量子化ステップは、Q1よりも大きい。
【0084】
符号化フェーズでは、ステップS801、S303、S305を繰り返し実行する。ステップS801とステップS305は符号化部が1つの場合と同じ処理であるが、ステップS303の符号化処理だけは図13に示すように異なっている。
【0085】
第1のメモリ204へ格納する符号化データは圧縮率が段階的に高くなるようにするため、最初に格納する符号化データは圧縮率が一番低い量子化パラメータQ1で符号化したデータを格納し、第2のメモリへ格納する符号化データは量子化パラメータQ2で符号化したデータを格納する。
【0086】
第1のメモリ204へ格納中のデータ量が設定されている上限値をオーバーしたら(ステップS305)、直ちに、第1のメモリ204で保持していた符号化データを廃棄し(ステップS307)、第2のメモリ207で保持している圧縮率の高い符号化データを、第1のメモリ204へ転送する(ステップS317、図14参照)。これにより、第1の例で説明した1回目の再符号化処理の終了を待たずに、速やかに、上限値をオーバーしない適切な2番目の候補の符号化データを第1のメモリ207内に格納出来る。これが、図1に対する、2つの符号器を持つ図2を適用することの最大の利点である。
【0087】
本第2の例では、2つのメモリ204、207で同じ圧縮率の符号化データを持っていることが無駄という考え方なので、第2のメモリ207には、第1のメモリ204に格納する符号化データよりも圧縮率の高い符号化データを格納しておくようにしている。従って、それ以降の処理もこの考え方に基づき行われるものであり、第2のメモリ207内の符号化データを第1のメモリ204に転送する処理(転送フェーズ)が終了した後は、第2のメモリ207の符号化データを、更に1段階圧縮率の高い符号化データを保持する様に再符号化することとなる。
【0088】
具体的には、まず図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に格納し直す。
【0089】
なお、本第2の例でも、第1の例と同様、再符号化処理では、符号化データを一旦ハフマン復号した後の各量子化値に対して、これら値を2nで割った結果と同様の結果が出るビットシフト処理を施した後、再度ハフマン符号化を行なうことにより実現される。この方法は、ビットシフトのみで量子化ステップを変更する点と逆直交変換や再直交変換処理を行わない点で、高速な再符号化処理が可能である。
【0090】
また、本第2の例の様に符号化部が2つ有る場合には、図15に示したように、第2のメモリ207に符号化データと再符号化データを混在して格納する状況が発生する。従って、前述したように、符号化データをある単位で区切って、ファイル或いはパケットとして管理することが、第2のメモリ207に対しても必要になる。その為には、例えば第1の例における変形例と同様の構成を設ければ良いであろう。
【0091】
図12において、再符号化処理の終了をステップS315で検知したら、また符号化フェーズ(ステップS801、S303)に移行する。なお、符号化・再符号化フェーズ後の符号化フェーズでは、図16に示すように、2つのメモリ204,207が保持する符号化データは圧縮率が違うだけでなく、符号化データの混在の仕方(アドレス)もかなり違ってくる。従って、再度、第1のメモリ204のデータ量が設定値をオーバーした場合には、第2のメモリ207で保持されている符号化データ(▲6▼+▲8▼の横縞の領域の符号)を第1のメモリ204へ転送する必要が出てくる。これらを考慮すると、第2のメモリ207だけでなく、第1のメモリ204でも符号化データをファイル或いはパケットとして管理する必要がある。よって、第1のメモリ204にも前述の管理テーブルを用いた管理機構が必要となる。
【0092】
図16に示された符号化フェーズの状態は、量子化パラメータと符号化データの混在の仕方が、再符号化処理の前後で異なっていること以外は、初期状態の符号化フェーズ(図13)と同じである。よって、符号化フェーズ、転送フェーズと符号化・再符号化フェーズを繰り返すことで、最終的に、1ページ分の画像データを設定した上限値以下に圧縮した符号化データを確実に第1のメモリ204に格納することが出来る。
【0093】
なお、第1の例に対し、転送フェーズと符号化・再符号化フェーズの配置順が逆であることから、図8において転送処理後に行なっていた1ページ分の画像データの入力終了検知(ステップS805)は、符号化・再符号化フェーズで行なう1ページ分の画像データの入力終了検知(ステップS803)と、ほとんど同じタイミングになってしまう。また、2つの検知処理は、機能的にはステップS805と同じで、タイミング的にはステップS803と同じである、従って、これら2つのステップは、新たな1ページ分の画像データの入力終了を検知するステップとして統合し、ステップS1201と表記しておく。
【0094】
以上説明した第1、第2の例では、第1のメモリと第2のメモリは物理的に別のメモリであるとして説明をしてきた。これは、2つのメモリに対するアクセスが独立している方が有利なためである。しかしながら、第1のメモリと第2のメモリを、物理的に別のメモリとしない場合も本発明の範疇に含まれる。物理的に1つのメモリ上に、前記第1のメモリと第2のメモリに相当する2つの領域を確保して、第1のメモリを第1のメモリ領域、第2のメモリを第2のメモリ領域と言い直して、これまでの説明を読み直せば、本発明は、1つのメモリでも実現できることが分かる。
【0095】
また、1つのメモリで上記各例を実現する場合には、前記転送フェーズで説明したデータ転送処理のいくつかは不要となる。その詳細はその都度容易に想像できるので説明は省略するが、前記2つの領域を厳密に別けて使用する場合、物理的に2つのメモリを持つ時と同じようにデータ転送処理が必要であるが、2つの領域間で同じデータを共有することになれば、データ転送処理が不要になるだけでなく記憶容量の削減も図れる。
【0096】
例えば、第2のメモリ領域で保持していた符号化データを、第1のメモリ領域へ転送する際、該符号化データが格納されている先頭アドレスとデータサイズの2つの情報を第2のメモリ制御部から第1のメモリ制御部へ転送するだけで、前記符号化データを転送したのと同じ効果が得られる。
【0097】
前記符号化データを、ファイル形式やパケット形式で格納している場合は、メモリ制御部の間で転送する情報は少し増え、該符号化データに関連する管理テーブル情報を転送する必要がある。それでも、符号化データを転送するよりは、効率が良い。
【0098】
<第1の実施形態>
さて、上記の第1、第2の例においては、再符号化部109或いは211の再符号化能力が低いと、その再符号化が完了する以前に、第1の符号化部202による符号量が再度目標値に到達してしまう場合がおこり得る。このような状況になってしまうと、符号化処理が続行できなくなり、原稿画像を再度読み込みが余儀なくされる。
【0099】
本発明の第1の実施形態では、図1の構成において、上記問題を解決する制御方法を提供する。
【0100】
なお、本第1の実施形態においては、第1、第2のカウンタ107、110は共に発生する符号データ量を計測するのは勿論のこと、符号データのシンボル数をも計数することとする。シンボル数を計測する理由は、再符号化部109による再符号化処理にかかる時間を高い精度で求めるためである。すなわち、再符号化部109での再符号化は、1シンボル当たり或る時間(サイクル)を要するので、シンボル数が決まるとその全体の再符号化に要する時間を簡単に、しかも精度良く算出できるためである。例えば1シンボル当たり1サイクルの時間がかかる場合、300シンボルの符号データを再符号化する際に要する時間は300/1シンボル/サイクル=300サイクルと算出でき、高い演算精度の時間情報が得られる。ただし、あまり精度を要求しないのであれば、シンボル数と符号量との関係は概略比例関係にあるので、それでもって再符号化処理に要する時間を算出するようにしても構わない。
【0101】
図17(A)は横軸が入力する画像データの量、縦軸が符号量との関係を示している。
【0102】
同図(A)では、時刻t0から入力部101からの画像データの入力を開始し、符号化部102が初期量子化ステップQ1で符号化を開始し、時刻t1で第1のカウンタ107で計数した符号データ量が上限値に達した場合を示している。時刻t1では、第1のメモリ104に格納されたデータを破棄すると共にそれ以降に入力される画像データに対して量子化ステップQ2で符号化するよう符号化部102に設定する。このとき、カウンタ107は0クリアされる。この結果、符号化部102は時刻t2以降に入力される画像データに対して、新に設定(更新)された量子化ステップQ2での符号化を継続することになる。なお、量子化ステップQ1で符号化した符号データを量子化ステップQ2で再符号化する場合には、符号データから画像データまで復号する必要は無く、DCT変換した直後の状態まで復元し、それに量子化ステップQ2を用いて再符号化すればよい。量子化ステップQ2=Q1×2の関係にある場合には、DCT変換係数を単純に1ビット下位方向にシフトすればよい。
【0103】
また、時刻t1以前の、量子化ステップQ1で圧縮符号化されたデータは第2のメモリ106に残っているので、再符号化部109は一旦復号処理し、今度は量子化ステップQ2で再符号化することになる。従って、時刻t1における再符号化部109で再符号化しなければならない符号化データ量は実質的に設定された上限値に等しく、その再符号化が行われているに従って徐々に減っていき、最終的に再符号化すべきデータが0になるまで再符号化処理が行うことになる。図示では、時刻t2で再符号化部109による再符号化処理が完了したことを示している。再符号化が完了すると、再符号化された後の符号データ量及びシンボル数が第2のカウンタ110で計数されているので、それらの値を第1のカウンタ107に足し込む。そして、最終的時刻t3で再び上限値に達したと判断され、上記の処理を繰り返すことになる。
【0104】
上記のようなシーケンスをたどる場合、格別な問題は発生しない。理由は、時刻t2≦t3となりからである。より分かりやすく言えば、第1のメモリ103に格納されるデータ量は再び上限値に到達する以前に、再符号化部109の再符号化処理が完了するからでもある。
【0105】
一方、時刻t2>t3となると、もはや正常な符号化処理が実現できないことも理解できよう。同図(B)はt2>t3となっている状況を示している。
【0106】
かかる状況を回避するためには、最初に符号化データ量が上限に達する時刻t1よりも早い時刻である時刻t1’で再符号化部109による再符号化を開始させることで、その再符号化処理が完了する時刻を時刻t3以前にすることである。
【0107】
再符号化に要する時間は、先に説明したようにシンボル数により決定されるわけであるから、或る時刻Taとしたとき、その時刻Taにおける第1のカウンタ107に保持されているシンボル数に1シンボル数当たりにかかるサイクル数を乗算して得た時間Tbを算出することで、再符号化完了時刻t2=Ta+Tbで得られる。
【0108】
一方、量子化ステップQ2と量子化ステップQ1で同じ画像データを符号化した際の符号量の比を、幾つものサンプル画像に対して実験的に求めておき、その平均値α12をテーブルに記憶しておく。これは、他の量子化ステップQ3、Q4…についても同じであり、それぞれの符号量比α13、α14…として記憶する。なお、テーブルではなく、演算式として記憶するようにしても構わない。
【0109】
従って、時刻Taにおける量子化ステップQ1での符号量をV1(実測値)としたとき、同時刻における量子化ステップQ2での予測符号量V2aは、V2a=V1×α12で演算できる。従って、座標を{時刻、符号量}としたとき、{t0、0}と{ta、V2a}を結ぶ延長線と上限値との交わる時刻が2回めの上限値に到達する予測時刻t3を算出できることがわかる。
【0110】
そこで、本第1の実施形態では、図17(B)の如く、量子化ステップQ1での符号化を行っている最中に、2回めの目標値に到達する時刻t3を予測演算し、且つ、そのときシンボル数から再符号化が完了する時刻t2を予測演算し、
t2>t3−Δt(Δtは正の値で、予め経験的に求めた所定値)
という条件を満足するとき、例え上限値に到達していなくても、上限値に到達した場合と同様の処理を開始するようにした。
【0111】
上記の例は、符号化部102が量子化ステップQ1で符号化し、次回に使用する量子化ステップがQ2である例であったが、上記に限らず、一般に、符号化部102が量子化ステップQnで符号化している最中(次回の量子化ステップがQn+1)に適用できるのは明らかである。
【0112】
かかる処理を実現するためには、先に説明した図3の処理に代わって図18、もしくは図8に代わって図19のような処理を行えば良いであろう(図18、19の処理は、符号化シーケンス制御部108が行うことになる)。
【0113】
図3と図18、図8と図19との違いは、ステップS318を追加した点にある。
【0114】
すなわち、ステップS305で符号量が上限値に達していないと判断したとしても、ステップS315に進んで、次の段階の量子化ステップでの符号化を行った場合の上限値に到達する予測時刻t3と、そのときのシンボル数Mによる再符号化が完了する予測時刻t2との間に、
t2>t3−Δt …(1)
なる関係が成立するか否かを判断する。もし、この関係が成立する場合には、ステップS307の処理に進むことで、符号量が上限値に到達した場合と同様の処理を行わせる。それ以外の処理は、先に説明した第1の例と同じであるので、説明するまでもないであろう。
【0115】
以上の説明によれば、生成される符号化データ量が上限値に再び到達する以前に、再符号化処理が完了することが可能となり、画像データの符号化処理がスムースに進むことになる。
【0116】
ところで、図17(B)に示す状況にあるとき、1ページの画像データの入力が終了する時刻がt1よりも前になることが有り得る。この場合、量子化ステップQ1で符号化し続けたとしても、上限値に到達する以前に1ページの符号化が完了するわけであるから、再符号化処理は開始させることは不要である。また、もし再符号化をさせてしまうと、本来量子化ステップQ1で符号化しても良いはずが、それより大きな量子化ステップQ2で再符号化してしまうことになる。これは、不必要な画質劣化処理を招くことを意味し、このような事態は避けることが望ましい。
【0117】
したがって、図18や図19におけるステップS318における再符号化を開始するタイミングであるか否かの上記条件である式(1)、更に、1ページの画像の符号化完了時刻をも加味して行うことが必要になる。
【0118】
実施形態における符号化部102は8×8画素単位のブロック単位にJPEG符号化を行っている。換言すれば、1つのブロックの符号化が完了する毎に次のブロックを入力し符号化を行うことになる。ここで、1ブロックの画素データを符号化する平均時間をTbとする。そして、1ページの総ブロック数をM(入力する画像サイズで一意に決定される)、現在符号化しているブロックがN番目、現在時刻がTcとするなら、1ページの符号化が終了する予測時刻Teは、
Te=Tc+(MーN)×Tb
として計算できる。なお、この時刻Teを算出するため、第1のカウンタ107は、符号化データ量、シンボル数を計数するのは勿論のこと、符号化部102から出力される符号化データをブロック単位に計数ことになる。ただし、説明するまでもないが、計数中のこのブロック数は1ページの符号化開始時にリセットされるものであり、符号量が上限値に達したとしてもリセット(ゼロクリア)されることはない。
【0119】
一方、現在時刻Tcにおける第1のカウンタ208で計数された符号化データサイズをVcとしたとき、過去の1ブロック当たりの符号量ΔVはVc/Nで算出できる。上限値を仮にVmaxとすると、このまま符号化部102での符号化処理を継続した場合に第1のカウンタ208で計数される符号化データ量が上限値Vmaxに到達する予測時刻T1は、
T1=Tc+{(Vmax−Vc)/ΔV}×Tb
として計算できる。したがって、
Te≦T1
である場合には、再符号化処理を開始させる必要がないことになる。但し、安全性を確保することが必要であるので、許容誤差をε(>0)とした場合、
Te≦T1−ε
を満たす場合には再符号化を行わないこととする。
【0120】
要するに、図18、図19のステップS318において、ステップS307に進んで再符号化を開始させるのは、
Te>T1−ε (3)
t2>t3−Δt (4)
の2つの条件(3)、(4)を満たす場合となる。そして、これら2つの条件のうち、少なくとも一方の条件が満たされない場合には、現在設定されている量子化ステップのまま符号化処理を継続する。なお、Te、T1はともにTc成分を含んでいるので、Tcは算出対象外としても構わない。この場合、Teは現在から1ページの符号化が完了するまでの時間、T1は現在から上限値に到達するまでの時間を示すことになる。
【0121】
以上説明したようにすることで、画質劣化を最低限に抑え、尚且つ、一連の符号化処理が中断することなく、1回の画像データの入力でもって目標符号化データ量以内に符号化することが可能になる。
【0122】
なお、説明するまでもないと考えるが、1ページの画像データの符号化が完了する時刻Teは、イメージスキャナ等で画像を読込む場合には、その1ページの画像データの読取りが完了する時刻と実質的に同じである。
【0123】
また、上記例では、上限値に最初に到達する時刻と、1ページの画像データの符号化が完了する時刻とを比較したが、再符号化した後の2回め以降に上限値に到達する時刻と1ページの画像データの符号化が完了する時刻についても同様であるのは明らかであるし、図18、19に対する修正はない。
【0124】
<第2の実施形態>
上記第1の実施形態は図1の構成をその基礎にしたが、図2を基礎する例を第2の実施形態として以下に説明する。
【0125】
図1と図2との違いは、先に説明したように、2つの符号化部が並列に圧縮符号化を行う点である。
【0126】
第1の実施形態では、量子化ステップQnで圧縮符号化している最中に、量子化ステップQn+1での符号量を類推し、量子化ステップQn+1で圧縮符号化したと仮定したときの上限値に到達する時刻t3を予測演算した。
【0127】
一方、本第2の実施形態では第1の符号化部202が量子化ステップQnで圧縮符号化し、第2の符号化部205が量子化ステップQn+1で圧縮符号化することになる。すなわち、量子化ステップQn+1での上限値に到達する時刻t3は、実符号データ量に基づいて演算できることになるので、その精度は第1の実施形態よりも更に高くできることになる。換言すれば、第1の実施形態におけるΔtを更に小さなものとし、再符号化を開始するタイミングを遅らせることができることになる。
【0128】
先ず、図2に適用する場合、第1のカウンタ208は符号化部202による符号化データ量を計数するだけでよく、シンボル数を計数する必要はない。その代わり、第2のカウンタ210、第3のカウンタ212は符号化データ量とシンボル数を計数する。
【0129】
以下、本第2の実施形態における動作概要を説明することとする。
【0130】
第1の符号化部202は、初期状態では量子化ステップQ1に基づいて圧縮符号化処理を行ない、生成された符号化データは第1のメモリ204に格納される。第2の符号化部205はそれより1段階大きな量子化ステップQ2で圧縮符号化し、その結果は第2のメモリ207に格納される。また、第1のカウンタ208は第1の符号化部202から出力される符号データ量を累積カウントし、第2のカウンタ210は第2の符号化部205から出力される符号化データ量を累積カウントする。
【0131】
1ページの画像の入力が完了したとき、第1のカウンタ208で計数した符号量が設定値以内であれば、第1のメモリ204に格納された符号化データを最終的な圧縮符号化データとして外部に出力する。
【0132】
一方、1ページの画像入力中に、第1の符号化部202から出力された符号量が設定値に到達してしまった場合については、図20(A)、(B)を用いて説明する。
【0133】
図20(A)において、今、時刻t1で、第1のカウンタ208で計数している符号データ量が設定上限値に到達したと判断したとする。このとき、第1のメモリ204内のデータを破棄し、第2のメモリ207のデータを第1のメモリ204に転送し、且つ、第1の符号化部202が使用する量子化ステップを、その時点で第2の符号化部205が用いていた量子化ステップQ2で更新する。この結果、画像の1ページを最初から量子化ステップQ2で圧縮していたのと等価の構成を得る。また、第2の符号化部205に対しては、更に高い圧縮率とすべく量子化ステップQ3を設定し、時刻t1以降に入力される画像データについては量子化ステップQ3で圧縮符号化を行う。ただし、時刻t1のときに第2のメモリ207に格納されている符号化データは、量子化ステップQ2に基づく符号化データであるので、それを量子化ステップQ3で再符号化する必要がある。この再符号化は再符号化部211で行う。
【0134】
この量子化ステップQ3での再符号化が完了する時刻t2は、量子化ステップQ2で符号化を開始した第1の符号化部202による符号量が再び上限値に到達する時刻t3よりも前になっている必要がある。
【0135】
つまり、同図(A)における時刻t1”よりも前のタイミングで再符号化部211での再符号化を開始させる必要がある。
【0136】
第1の実施形態ではちょうど図20の時刻t1’以前に再符号化を開始する必要があったが、図2の構成にすることで時刻t1”−t1’だけ時間的余裕が生まれることになる。
【0137】
また、同図(A)からも分かるように、再符号化部211の再符号化対象は、第2のメモリ207内の符号化データに対して行えば良く、第1の符号化部202による符号量とは直接には関係がない。従って、第2のカウンタ210、第3のカウンタ212は符号データ量及びシンボル数を計数することが必要になるものの、第1のカウンタ208は符号データ量のみを計数すればよい。
【0138】
なお、同図(A)の場合、タイミングt1のときに、第1の符号化部202、第2の符号化部205に設定する量子化ステップを更新することになるので、実際は、時刻t1で再符号化部211の再符号化処理を開始させることになる。以上は、最初に上限値に到達する場合の例であるが、2回め以降については符号化部202、210及び再符号化部211に設定する量子化ステップが異なるだけで、処理内容は同様である。
【0139】
図20(B)は、第1のカウンタ208で計数した符号データ量が上限値に到達した時刻t1で再符号化部211による再符号化を開始しても、量子化ステップQ2での符号量が再び上限値に到達する時刻t3以内に、その再符号化処理が完了できない状態を示している。すなわち、再符号化部211の処理は、同図(B)における時刻t1”以前に開始する必要があることを示している。
【0140】
この判定は、第2のカウンタ210で保持されているシンボル数に基づく再符号化部211の再符号化処理に要する時刻t2を算出し、且つ、そのときの符号量に基づいて再び上限値になる予測時刻t3を算出し、
t2>t3−Δt
なる関係にあるとき、第1のカウンタ208が例え上限値に達していなくても、上限値に達したものとして処理すれば良い。
【0141】
なお、図20(B)によれば、再符号化を開始しなければならない時刻はt1”であるが、第1の実施形態における時刻t1’よりは時間的な余裕があることもわかる。
【0142】
以上であるが、上記処理を実現するためには、例えば図12の処理に代わって図21に示す処理を行えば良い。図12との違いは、ステップS318を追加した点である。
【0143】
すなわち、ステップS305で符号量が上限値に達していないと判断したとしても、ステップS315に進んで、第2のカウンタ210に保持された符号量及びシンボル数にもとづき、次の段階の量子化ステップでの符号化を行った場合の上限値に到達する予測時刻t3と、そのときのシンボル数による再符号化が完了する予測時刻t2との間に、
t2>t3−Δt
なる関係が成立するか否かを判断する。もし、この関係が成立する場合には、ステップS307の処理に進むことで、符号量が上限値に到達した場合と同様の処理を行わせる。それ以外の処理は、先に説明した第1の例と同じであるので、説明するまでもないであろう。
【0144】
なお、本第2の実施形態の機能を実現する場合、符号化シーケンス部209は第2のカウンタ210に保持された情報(実施形態では符号化データ量及びシンボル数)をも参照することになるので、図2ではなく図22に示す構成となる。図22と図2との違いは、上記の如く、符号化シーケンス制御部209が第2のカウンタ210のデータをダイレクトに参照できるようにした点のみであるので、その詳細は説明するまでもないであろう。
【0145】
以上の説明によれば、第1の実施形態と同様の作用効果を奏することが可能となる。また、第2の実施形態の場合、2つの符号化部が並列して符号化処理を行うことになるので、その構成を利用することで再符号化処理に時間的余裕が発生する。従って、図2に相当する処理をコンピュータプログラムでもって実現する場合に都合が良い。なぜなら、例えばパーソナルコンピュータ等で画像データを入力し圧縮符号化する場合、別タスク等で予期せぬ処理が発生することがあるので、時間的に余裕のある処理が望ましいからである。また、再符号化処理に要する時間は、符号データ量でも良いが、シンボル数にすることで高い精度でその時刻を演算できるようになる。
【0146】
ただし、上記第2の実施形態でも、先に説明した第1の実施形態と同様、1ページの画像データの符号化終了時刻を加味して、再符号化を行うべきか否かを判定することが望ましい。
【0147】
すなわち、図20(B)に示す状況、すなわち、1ページの符号化終了時刻Teが時刻t1よりも前になる場合、再符号化は不要と判断する。第2の実施形態に適合する場合、2つの符号化部202、205が並行して符号化している点が第1の実施形態と異なるが、原理は同じである。
【0148】
すなわち、符号化部202の1ブロックの画素データを符号化する平均時間をTbとする。そして、1ページの総ブロック数をM(入力する画像サイズで一意に決定される)、現在符号化しているブロックがN番目、現在時刻がTcとするなら、1ページの符号化が終了する予測時刻Teは、
Te=Tc+(MーN)×Tb
として計算する。
【0149】
一方、現在時刻Tcにおける第1のカウンタ208で計数された符号化データサイズをVcとしたとき、過去の1ブロック当たりの符号量ΔVはVc/Nで算出できる。上限値を仮にVmaxとすると、このまま符号化部102での符号化処理を継続した場合に第1のカウンタ208で計数される符号化データ量が上限値Vmaxに到達する予測時刻T1は、
T1=Tc+{(Vmax−Vc)/ΔV}×Tb
として計算できる。したがって、
Te≦T1
である場合には、再符号化処理を開始させる必要がないことになる。但し、安全性を確保することが必要であるので、許容誤差をε(>0)とした場合、
Te≦T1−ε
を満たす場合には再符号化を行わないこととする。
【0150】
したがって、図21のステップS318において、ステップS307に進んで再符号化を開始させるのは、<第1の実施形態の改善例>と同様、
Te>T1−ε (3)
t2>t3−Δt (4)
の2つの条件(3)、(4)を満たす場合となる。そして、これら2つの条件のうち、少なくとも一方の条件が満たされない場合には、現在設定されている量子化ステップのまま符号化処理を継続すれば良い。
【0151】
以上説明したようにすることで、第1の実施形態と同様、画質劣化を最低限に抑え、尚且つ、一連の符号化処理が中断することなく、1回の画像データの入力でもって目標符号化データ量以内に符号化することが可能になる。
【0152】
なお、上記第1、第2の実施形態では、モノクロ画像入力の場合であったが、カラー画像の場合には、更に細かい調整が可能となる。カラー画像を符号化する場合には、公知の色変換により、輝度データ(Y)と、2つの色差データ(C)とが得られるわけであるから、次のような関係にすることが可能になる。尚、以下においてYは輝度、Cは色差を意味し、QYi(i=1,2,3…)とは輝度成分についての量子化ステップを、QCi(i=1,2,3…)は色差成分についての量子化ステップを示し、iが大きくなるほど量子化ステップが大きくなることを示している。
また、実施形態では、圧縮率を向上させるために、量子化ステップを大きくする例を説明したが、パラメータを変更することで圧縮率が可変な符号化であれば適用できるのは上記実施形態から明らかであるので、必ずしも量子化ステップに限定されるものでもない。例えば、JPEG2000によれば、量子化した後のエントロピー符号化の際、レイヤ単位に圧縮が行える。高位のレイヤほど画質に対して支配的であるので、最下位レイヤからi個のレイヤを切り捨てる等を行えば、圧縮率を変えることができよう。
【0153】
また、上記の通り、本発明は、汎用装置上で動作するアプリケーションプログラムによって実現できるものであるので、本発明はコンピュータプログラムをも含むものである。特に、コンピュータプログラムで実現する場合、そのコンピュータの処理能力はまちまちであろうから、上記の式(3)、(4)における「ε」や「Δt」はユーザが自由に変更可能とすることが望まれる。
【0154】
また、コンピュータプログラムは、通常、フロッピー(登録商標)ディスクやCDROM等の記憶媒体を装置にセットしてコピー或いはインストールことで行われるので、かかる記憶媒体も本発明の範疇に当然に含まれる。
【0155】
また、本発明は、コンピュータプログラムと適当なハードウェア(符号化回路等)の組み合わせにも適用できる。
【0156】
【発明の効果】
以上説明したように本発明によれば、比較的簡単な構成でもって、画像の入力を継続させながら、目標符号量以下に符号化することを確実なものとし、尚且つ、画質劣化を可能な限り抑制することが可能になる。
【図面の簡単な説明】
【図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】第1の実施形態における再符号化処理開始タイミングの設定原理を説明するための図である。
【図18】第1の実施形態における処理手順を示すフローチャートである。
【図19】第1の実施形態における処理手順を示すフローチャートである。
【図20】第2の実施形態における再符号化処理開始タイミングの設定原理を説明するための図である。
【図21】第2の実施形態における処理手順を示すフローチャートである。
【図22】第2の実施形態における画像処理装置のブロック構成図である。
Claims (10)
- 1ページの画像データを圧縮符号化する画像処理装置であって、
量子化ステップが変更可能な第1の符号化手段と、
量子化ステップが変更可能であって、前記第1の符号化手段で圧縮した符号データを再符号化する第2の符号化手段と、
前記第1の符号化手段によって生成される符号データ量を監視すると共に、当該符号データ量が所定量になったか否かを判断する第1の判断手段と、
1ページの画像データの符号化が完了する予測時刻T0、及び、前記第1の符号化手段で生成される符号データ量が前記所定量に到達する予測時刻T1を算出し、
条件1: T0>T1−Δt1
(ここで、Δt1は所定の正の値)
を満たすか否かを判断する第2の判断手段と、
前記符号データ量に基づき、前記第1の符号化手段が次の段階の量子化ステップで圧縮符号化したと仮定した場合の前記所定量に到達する時刻T2と、現在の量子化ステップに従って既に生成された符号データを、次の段階の量子化ステップを設定した前記第2の符号化手段で再符号化させたと仮定した場合の再符号化の完了時刻T3を算出し、
条件2:T3>T2−Δt2
(ここで、Δt2は所定の正の値)
を満たすか否かを判断する第3の判断手段と、
前記第1の判断手段で前記所定量に到達したと判断した場合、或いは、前記第2、第3の判断手段での前記条件1、2の両方を満たす場合、前記第1、第2の符号化手段に次の段階の量子化ステップを設定する設定手段と、
該設定手段により量子化ステップを変更した場合、量子化ステップ変更後に入力する画像データについては前記第1の符号化手段による符号化を継続させ、量子化変更前の既に符号化された符号データについては前記第2の符号化手段によって再符号化させる制御手段と
を備えることを特徴とする画像処理装置。 - 前記第3の判断手段で判断の元になる符号データ量には、シンボル数が含まれることを特徴とする請求項1に記載の画像処理装置。
- 前記第2の圧縮符号化手段は、再符号化対象の符号化データを画像データに復号することなく、周波数成分のデータ形式まで復元してから再符号化することを特徴とする請求項1又は2に記載の画像処理装置。
- 1ページの画像データを圧縮符号化する画像処理装置の制御方法であって、
量子化ステップが変更可能な第1の符号化工程と、
量子化ステップが変更可能であって、前記第1の符号化工程で圧縮した符号データを再符号化する第2の符号化工程と、
前記第1の符号化工程によって生成される符号データ量を監視すると共に、当該符号データ量が所定量になったか否かを判断する第1の判断工程と、
1ページの画像データの符号化が完了する予測時刻T0、及び、前記第1の符号化工程で生成される符号データ量が前記所定量に到達する予測時刻T1を算出し、
条件1: T0>T1−Δt1
(ここで、Δt1は所定の正の値)
を満たすか否かを判断する第2の判断工程と、
前記符号データ量に基づき、前記第1の符号化工程が次の段階の量子化ステップで圧縮符号化したと仮定した場合の前記所定量に到達する時刻T2と、現在の量子化ステップに従って既に生成された符号データを、次の段階の量子化ステップを設定した前記第2の符号化工程で再符号化させたと仮定した場合の再符号化の完了時刻T3を算出し、
条件2:T3>T2−Δt2
(ここで、Δt2は所定の正の値)
を満たすか否かを判断する第3の判断工程と、
前記第1の判断工程で前記所定量に到達したと判断した場合、或いは、前記第2、第3の判断工程での前記条件1、2の両方を満たす場合、前記第1、第2の符号化工程に次の段階の量子化ステップを設定する設定工程と、
該設定工程により量子化ステップを変更した場合、量子化ステップ変更後に入力する画像データについては前記第1の符号化工程による符号化を継続させ、量子化変更前の既に符号化された符号データについては前記第2の符号化工程によって再符号化させる制御工程と
を備えることを特徴とする画像処理装置の制御方法。 - 1ページの画像データを圧縮符号化する画像処理装置として機能するコンピュータプログラムであって、
量子化ステップが変更可能な第1の符号化手段と、
量子化ステップが変更可能であって、前記第1の符号化手段で圧縮した符号データを再符号化する第2の符号化手段と、
前記第1の符号化手段によって生成される符号データ量を監視すると共に、当該符号データ量が所定量になったか否かを判断する第1の判断手段と、
1ページの画像データの符号化が完了する予測時刻T0、及び、前記第1の符号化手段で生成される符号データ量が前記所定量に到達する予測時刻T1を算出し、
条件1: T0>T1−Δt1
(ここで、Δt1は所定の正の値)
を満たすか否かを判断する第2の判断手段と、
前記符号データ量に基づき、前記第1の符号化手段が次の段階の量子化ステップで圧縮符号化したと仮定した場合の前記所定量に到達する時刻T2と、現在の量子化ステップに従って既に生成された符号データを、次の段階の量子化ステップを設定した前記第2の符号化手段で再符号化させたと仮定した場合の再符号化の完了時刻T3を算出し、
条件2:T3>T2−Δt2
(ここで、Δt2は所定の正の値)
を満たすか否かを判断する第3の判断手段と、
前記第1の判断手段で前記所定量に到達したと判断した場合、或いは、前記第2、第3の判断手段での前記条件1、2の両方を満たす場合、前記第1、第2の符号化手段に次の段階の量子化ステップを設定する設定手段と、
該設定手段により量子化ステップを変更した場合、量子化ステップ変更後に入力する画像データについては前記第1の符号化手段による符号化を継続させ、量子化変更前の既に符号化された符号データについては前記第2の符号化手段によって再符号化させる制御手段
として機能することを特徴とするコンピュータプログラム。 - 請求項5に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
- 1ページの画像データを圧縮符号化する画像処理装置であって、
量子化ステップが変更可能な第1の符号化手段と、
量子化ステップが変更可能で、少なくとも前記第1の符号化手段の量子化ステップよりも大きな量子化ステップで符号化する第2の符号化手段と、
量子化ステップが変更可能であって、前記第2の符号化手段で圧縮した符号データを再符号化する第3の符号化手段と、
入力中の画像データを前記第1、第2の符号化手段で生成された符号データ量を監視する監視手段と、
該監視手段で監視されている前記第1の符号化手段による符号データ量が所定量になったか否かを判断する第1の判断手段と、
1ページの画像データの符号化が完了する予測時刻T0、及び、前記第1の符号化手段で生成される符号データ量が前記所定量に到達する予測時刻T1を算出し、
条件1: T0>T1−Δt1
(ここで、Δt1は所定の正の値)
を満たすか否かを判断する第2の判断手段と、
前記監視手段で監視されている前記第2の符号化手段による符号データ量に基づき、当該第2の符号化手段による符号化を継続して前記所定量に到達する予測時刻をT2、前記第2の符号化手段の現在の量子化ステップに従って既に生成された符号データを、次の段階の量子化ステップを設定した前記第3の符号化手段で再符号化させたと仮定した場合の再符号化の完了時刻T3を算出し、
条件2:T3>T2−Δt2
(ここで、Δt2は所定の正の値)
を満たすか否かを判断する第3の判断手段と、
前記第1の判断工程で前記所定量に到達したと判断した場合、或いは、前記第2、第3の判断工程での前記条件1、2の両方を満たすと判断した場合、前記第1の符号化手段の量子化ステップを前記第2の符号化手段で設定していた量子化ステップで更新し、前記第2、第3の符号化手段の量子化ステップを更に高い量子化ステップに更新する量子化ステップ更新手段と、
該量子化ステップ更新手段で量子化ステップを更新する場合、前記第2の符号化手段により従前に生成された従前符号データで、前記第1の符号化手段の従前符号化データを更新し、前記第2の符号化手段による従前符号データを前記第3の符号化手段で再符号化して更新する制御手段と
を備えることを特徴とする画像処理装置。 - 1ページの画像データを圧縮符号化する画像処理装置の制御方法であって、
量子化ステップが変更可能な第1の符号化工程と、
量子化ステップが変更可能で、少なくとも前記第1の符号化工程の量子化ステップよりも大きな量子化ステップで符号化する第2の符号化工程と、
量子化ステップが変更可能であって、前記第2の符号化工程で圧縮した符号データを再符号化する第3の符号化工程と、
入力中の画像データを前記第1、第2の符号化工程で生成された符号データ量を監視する監視工程と、
該監視工程で監視されている前記第1の符号化工程による符号データ量が所定量になったか否かを判断する第1の判断工程と、
1ページの画像データの符号化が完了する予測時刻T0、及び、前記第1の符号化工程で生成される符号データ量が前記所定量に到達する予測時刻T1を算出し、
条件1: T0>T1−Δt1
(ここで、Δt1は所定の正の値)
を満たすか否かを判断する第2の判断工程と、
前記監視工程で監視されている前記第2の符号化工程による符号データ量に基づき、当該第2の符号化工程による符号化を継続して前記所定量に到達する予測時刻をT2、前記第2の符号化工程の現在の量子化ステップに従って既に生成された符号データを、次の段階の量子化ステップを設定した前記第3の符号化工程で再符号化させたと仮定した場合の再符号化の完了時刻T3を算出し、
条件2:T3>T2−Δt2
(ここで、Δt2は所定の正の値)
を満たすか否かを判断する第3の判断工程と、
前記第1の判断工程で前記所定量に到達したと判断した場合、或いは、前記第2、第3の判断工程での前記条件1、2の両方を満たすと判断した場合、前記第1の符号化工程の量子化ステップを前記第2の符号化工程で設定していた量子化ステップで更新し、前記第2、第3の符号化工程の量子化ステップを更に高い量子化ステップに更新する量子化ステップ更新工程と、
該量子化ステップ更新工程で量子化ステップを更新する場合、前記第2の符号化工程により従前に生成された従前符号データで、前記第1の符号化工程の従前符号化データを更新し、前記第2の符号化工程による従前符号データを前記第3の符号化工程で再符号化して更新する制御工程と
を備えることを特徴とする画像処理装置の制御方法。 - 1ページの画像データを圧縮符号化する画像処理装置として機能するコンピュータプログラムであって、
量子化ステップが変更可能な第1の符号化手段と、
量子化ステップが変更可能で、少なくとも前記第1の符号化手段の量子化ステップよりも大きな量子化ステップで符号化する第2の符号化手段と、
量子化ステップが変更可能であって、前記第2の符号化手段で圧縮した符号データを再符号化する第3の符号化手段と、
入力中の画像データを前記第1、第2の符号化手段で生成された符号データ量を監視する監視手段と、
該監視手段で監視されている前記第1の符号化手段による符号データ量が所定量になったか否かを判断する第1の判断手段と、
1ページの画像データの符号化が完了する予測時刻T0、及び、前記第1の符号化手段で生成される符号データ量が前記所定量に到達する予測時刻T1を算出し、
条件1: T0>T1−Δt1
(ここで、Δt1は所定の正の値)
を満たすか否かを判断する第2の判断手段と、
前記監視手段で監視されている前記第2の符号化手段による符号データ量に基づき、当該第2の符号化手段による符号化を継続して前記所定量に到達する予測時刻をT2、前記第2の符号化手段の現在の量子化ステップに従って既に生成された符号データを、次の段階の量子化ステップを設定した前記第3の符号化手段で再符号化させたと仮定した場合の再符号化の完了時刻T3を算出し、
条件2:T3>T2−Δt2
(ここで、Δt2は所定の正の値)
を満たすか否かを判断する第3の判断手段と、
前記第1の判断工程で前記所定量に到達したと判断した場合、或いは、前記第2、第3の判断工程での前記条件1、2の両方を満たすと判断した場合、前記第1の符号化手段の量子化ステップを前記第2の符号化手段で設定していた量子化ステップで更新し、前記第2、第3の符号化手段の量子化ステップを更に高い量子化ステップに更新する量子化ステップ更新手段と、
該量子化ステップ更新手段で量子化ステップを更新する場合、前記第2の符号化手段により従前に生成された従前符号データで、前記第1の符号化手段の従前符号化データを更新し、前記第2の符号化手段による従前符号データを前記第3の符号化手段で再符号化して更新する制御手段
として機能することを特徴とするコンピュータプログラム。 - 請求項9に記載のコンピュータプログラムを格納することを特徴とするコンピュータ可読記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003111876A JP4035475B2 (ja) | 2003-04-16 | 2003-04-16 | 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 |
US10/458,490 US7227998B2 (en) | 2002-06-11 | 2003-06-11 | Image processing apparatus, control method of the same, computer program, and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003111876A JP4035475B2 (ja) | 2003-04-16 | 2003-04-16 | 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004320479A true JP2004320479A (ja) | 2004-11-11 |
JP4035475B2 JP4035475B2 (ja) | 2008-01-23 |
Family
ID=33472315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003111876A Expired - Fee Related JP4035475B2 (ja) | 2002-06-11 | 2003-04-16 | 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4035475B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006157444A (ja) * | 2004-11-29 | 2006-06-15 | Fuji Xerox Co Ltd | 画像形成装置および方法 |
US9986239B2 (en) | 2013-03-27 | 2018-05-29 | Nec Corporation | Image encoding apparatus, image encoding method, and recording medium |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6217643B2 (ja) | 2012-09-19 | 2017-10-25 | 日本電気株式会社 | 動画像符号化装置 |
-
2003
- 2003-04-16 JP JP2003111876A patent/JP4035475B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006157444A (ja) * | 2004-11-29 | 2006-06-15 | Fuji Xerox Co Ltd | 画像形成装置および方法 |
JP4715175B2 (ja) * | 2004-11-29 | 2011-07-06 | 富士ゼロックス株式会社 | 画像形成装置および方法 |
US9986239B2 (en) | 2013-03-27 | 2018-05-29 | Nec Corporation | Image encoding apparatus, image encoding method, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP4035475B2 (ja) | 2008-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1271926B1 (en) | Image processing method, apparatus and computer program for compression-encoding | |
US7680345B2 (en) | Image encoding apparatus and method, computer program, and computer-readable storage medium | |
US7227998B2 (en) | Image processing apparatus, control method of the same, 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 | |
US7257264B2 (en) | Image processing apparatus and method for compression-encoding image area information | |
US7454070B2 (en) | Image encoding apparatus and method, computer program, and computer-readable storage medium | |
EP1446952B1 (en) | Method and system for rate control during video transcoding | |
JP3902968B2 (ja) | 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 | |
JP2003244446A (ja) | 画像処理装置及び画像処理方法 | |
JP4065522B2 (ja) | 画像処理装置及びその制御方法 | |
JP3902953B2 (ja) | 画像処理装置及び方法及びコンピュータプログラム及び記憶媒体 | |
JP4124982B2 (ja) | 画像処理装置及び方法及びコンピュータプログラム及び記憶媒体 | |
JP4035475B2 (ja) | 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 | |
JP3984813B2 (ja) | 画像処理装置及び方法及びコンピュータプログラム及び記憶媒体 | |
JP4035471B2 (ja) | 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 | |
JP3902983B2 (ja) | 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 | |
JP3902954B2 (ja) | 画像処理装置及び方法及びコンピュータプログラム及び記憶媒体 | |
JP4693309B2 (ja) | 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 | |
JP3840076B2 (ja) | 画像処理装置及び方法及びコンピュータプログラム及び記憶媒体 | |
JPH04316294A (ja) | 可変長符号回路 | |
KR0174443B1 (ko) | 적응적인 벡터 양자화를 이용한 정지영상 부호화 방법 및 장치 | |
TW202339507A (zh) | 具有位元率控制的圖像壓縮方法和相關裝置 | |
JP2000228772A (ja) | 動画データ量削減装置および動画データ量削減プログラムを記憶した記憶媒体 | |
JP2003199104A (ja) | 画像符号化装置、画像符号化方法、プログラム、及び記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060412 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071012 |
|
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: 20071019 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071029 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 3 |
|
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: 20101102 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111102 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131102 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |