JP2011199432A - 画像処理装置およびプログラム - Google Patents
画像処理装置およびプログラム Download PDFInfo
- Publication number
- JP2011199432A JP2011199432A JP2010061666A JP2010061666A JP2011199432A JP 2011199432 A JP2011199432 A JP 2011199432A JP 2010061666 A JP2010061666 A JP 2010061666A JP 2010061666 A JP2010061666 A JP 2010061666A JP 2011199432 A JP2011199432 A JP 2011199432A
- Authority
- JP
- Japan
- Prior art keywords
- huffman table
- image data
- encoding
- data
- image processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】スムーズな圧縮処理を実現しながらデータの圧縮率を高める。
【解決手段】デフォルトのハフマンテーブルHT0が設定された場合(S140,150)、先行の画像データにおける量子化後のDCT係数に対してハフマンテーブルHT0を用いて符号化すると共にDCT係数の各係数値の出現確率に基づいて新規のハフマンテーブルHT1を構築して保存し(S160〜240)、先行の画像データと後続の画像データとが所定の関係を有することによりハフマンテーブルHT1が設定された場合(S140,150)、後続の画像データにおける量子化後のDCT係数に対してハフマンテーブルHT1を用いて符号化するから(S250〜310)、デフォルトのハフマンテーブルHT0を用いて符号化するものに比して圧縮率を高めることができ、また、符号化の度にハフマンテーブルを構築するものに比して処理時間を低減することができる。
【選択図】図2
【解決手段】デフォルトのハフマンテーブルHT0が設定された場合(S140,150)、先行の画像データにおける量子化後のDCT係数に対してハフマンテーブルHT0を用いて符号化すると共にDCT係数の各係数値の出現確率に基づいて新規のハフマンテーブルHT1を構築して保存し(S160〜240)、先行の画像データと後続の画像データとが所定の関係を有することによりハフマンテーブルHT1が設定された場合(S140,150)、後続の画像データにおける量子化後のDCT係数に対してハフマンテーブルHT1を用いて符号化するから(S250〜310)、デフォルトのハフマンテーブルHT0を用いて符号化するものに比して圧縮率を高めることができ、また、符号化の度にハフマンテーブルを構築するものに比して処理時間を低減することができる。
【選択図】図2
Description
本発明は、画像データを順次入力して符号化処理する画像処理装置およびプログラムに関する。
従来より、この種の画像処理装置としては、JPEG方式で圧縮処理された画像データを取り扱うものが提案されている(例えば、特許文献1参照)。この装置では、圧縮処理された画像データが入力されると、画像データを一旦復号化し再度圧縮処理してから記憶装置に記憶している。その際、画像データの復号化により得られたDCT(離散コサイン変換)係数の出現確率を調べ、その出現確率に基づいて新たなハフマンテーブルを再構築し、再構築したハフマンテーブルを用いてDCT係数を再度符号化することにより圧縮処理するものとしており、これにより、圧縮率を高めてデータ量を抑えることができるとしている。
上述した装置では、圧縮率を高めることができるものの符号化の前に毎回ハフマンテーブルを再構築しなければならず、再構築するための待ち時間が生じてスムーズな圧縮処理が妨げられてしまう。一方で、毎回既定のハフマンテーブルを用いることも考えられるが、その場合には圧縮対象データの各データ値の出現確率に応じて効率よく符号化するものとはならないから、圧縮率を高めることは困難となる。このような装置においては、圧縮率と処理速度とはいずれも重要な課題として考えられるため、処理方法についてのさらなる改善が求められている。
本発明の画像処理装置およびプログラムは、画像データのスムーズな圧縮処理を実現しつつ圧縮率を高めることを主目的とする。
本発明の画像処理装置およびプログラムは、上述の主目的を達成するために以下の手段を採った。
本発明の画像処理装置は、
画像データを順次入力して符号化処理する画像処理装置であって、
符号化のための前処理を行なって前記入力された画像データを所定のデータ形式に変換して変換データを生成するデータ変換手段と、
前記入力された画像データと先行で入力されて処理した先行画像データとの間で所定の関係が成立しない場合には、所定のハフマンテーブルを用いて前記変換データを符号化すると共に該変換データに基づいて新規のハフマンテーブルを構築し、前記所定の関係が成立する場合には、前記先行画像データを符号化する際に構築した前記新規のハフマンテーブルを用いて前記変換データを符号化する符号化手段と
を備えることを要旨とする。
画像データを順次入力して符号化処理する画像処理装置であって、
符号化のための前処理を行なって前記入力された画像データを所定のデータ形式に変換して変換データを生成するデータ変換手段と、
前記入力された画像データと先行で入力されて処理した先行画像データとの間で所定の関係が成立しない場合には、所定のハフマンテーブルを用いて前記変換データを符号化すると共に該変換データに基づいて新規のハフマンテーブルを構築し、前記所定の関係が成立する場合には、前記先行画像データを符号化する際に構築した前記新規のハフマンテーブルを用いて前記変換データを符号化する符号化手段と
を備えることを要旨とする。
この本発明の画像処理装置では、符号化のための前処理を行なって入力された画像データを所定のデータ形式に変換して変換データを生成し、入力された画像データと先行で入力されて処理した先行画像データとの間で所定の関係が成立しない場合には、所定のハフマンテーブルを用いて変換データを符号化すると共に変換データに基づいて新規のハフマンテーブルを構築し、所定の関係が成立する場合には、先行画像データを符号化する際に構築した新規のハフマンテーブルを用いて変換データを符号化する。これにより、既定のハフマンテーブルを用いて符号化する場合に比して効率のよい符号化を可能として圧縮率を高めることができる。また、新規のハフマンテーブルは、先行の画像データを符号化する際に構築されたものを用いるから、符号化する度に構築するものに比してハフマンテーブルを構築するための処理時間を大幅に低減することができる。この結果、画像データのスムーズな圧縮処理を実現しつつ圧縮率を高めることができる。
こうした本発明の画像処理装置において、前記符号化手段は、前記新規のハフマンテーブルの構築を伴って前記先行画像データを符号化してから前記入力された画像データを処理するまでの間隔が所定時間内である場合に、前記所定の関係が成立するとして符号化する手段であるものとすることができる。ここで、所定時間内に処理される画像データは、同様の画像データである可能性が高く変換データの各データ値が同様の傾向となることが多いから、新規のハフマンテーブルを用いることでより適切に符号化することができる。
また、本発明の画像処理装置において、前記符号化手段は、前記先行画像データと前記入力された画像データとが複数の画像データからなる1つのジョブとして連続的に入力されている場合に、前記所定の関係が成立するとして符号化する手段であるものとすることができる。ここで、連続的に入力される画像データは、同様の画像データである可能性が高く変換データの各データ値が同様の傾向となることが多いから、新規のハフマンテーブルを用いることでより適切に符号化することができる。
さらに、本発明の画像処理装置において、画像データの種類を判別する画像種類判別手段を備え、前記符号化手段は、前記画像種類判別手段により判別された前記先行画像データの種類と前記入力された画像データの種類とが一致する場合に、前記所定の関係が成立するとして符号化する手段であるものとすることができる。ここで、画像データの種類が一致する画像データは、同様の画像データである可能性が高く変換データの各データ値が同様の傾向となることが多いから、新規のハフマンテーブルを用いることでより適切に符号化することができる。なお、画像データの種類としては、例えば、文字からなる画像や写真からなる画像、文字と画像とが混在する画像などが挙げられる。
そして、本発明の画像処理装置において、前記符号化手段は、前記所定の関係が成立しない場合には、前記所定のハフマンテーブルとしてデフォルトのハフマンテーブルを用いて符号化すると共に前記新規のハフマンテーブルを後続の画像データの符号化に用いるハフマンテーブルとして構築する手段であるものとすることもできる。
また、媒体に形成された画像を読み取る画像読取装置を介して入力した画像データから印刷用データを生成して印刷装置に出力する本発明の画像処理装置において、前記印刷用データを生成するために前記符号化手段により符号化された画像データを復号化して復号化データを生成すると共に該復号化データに基づいて前記新規のハフマンテーブルを構築する復号化手段を備え、前記符号化手段は、前記復号化手段による前記新規のハフマンテーブルの構築に用いられた画像データと前記入力された画像データとの間で前記所定の関係が成立する場合には、前記符号化に伴って構築した新規のハフマンテーブルに代えて前記復号化手段により構築された新規のハフマンテーブルを用いて符号化する手段であるものとすることもできる。こうすれば、新規のハフマンテーブルを構築する機会を多くすることができ、より適切なタイミングで新規のハフマンテーブルを構築することができる。
本発明のプログラムは、コンピューターを上述したいずれかの本発明の画像処理装置として機能させるためのものである。このプログラムは、コンピューターが読み取り可能な記録媒体(例えばハードディスク、ROM、FD、CD、DVDなど)に記録されていてもよいし、伝送媒体(インターネットやLANなどの通信網)を介してあるコンピューターから別のコンピューターへ配信されてもよいし、その他どのような形で授受されてもよ
い。このプログラムをコンピューターに実行させれば、上述した画像処理装置と同様の効果を得ることができる。
い。このプログラムをコンピューターに実行させれば、上述した画像処理装置と同様の効果を得ることができる。
次に、本発明の実施の形態を図面に基づいて説明する。図1は本発明の画像処理装置の一実施形態であるマルチファンクションプリンター10の構成の概略を示す構成図である。本実施形態のマルチファンクションプリンター10は、図示するように、画像データに基づいて用紙Sに印刷を実行するプリンターユニット20と、ガラス台36に載置された原稿を読み取るフラットベッド式のスキャナーユニット30と、メモリーカードスロット40に挿入されたメモリーカード42との間でデータを格納したファイルの入出力を行なうメモリーカードコントローラー44と、各種情報を表示部52に表示したりユーザーの指示をボタン群54の操作を介して入力したりする操作パネル50と、装置全体の制御を司るメインコントローラー60とを備える。このマルチファンクションプリンター10では、プリンターユニット20やスキャナーユニット30,メモリーカードコントローラー44,メインコントローラー60がバス12を介して互いに各種制御信号やデータのやり取りをすることができるよう構成されている。
プリンターユニット20は、プリンターASIC22とプリンター機構24とを備える。プリンターASIC22は、プリンター機構24を制御する集積回路であり、メインコントローラー60から印刷指令を受けると、その印刷指令の対象となる画像データに基づいて用紙Sに画像を印刷するようプリンター機構24を制御する。また、プリンター機構24は、印刷ヘッドから用紙Sへインクを吐出することにより印刷を行なう周知のインクジェット方式のカラープリンター機構として構成されている。
スキャナーユニット30は、スキャナーASIC32とスキャナー機構34とを備える。スキャナーASIC32は、スキャナー機構34を制御する集積回路であり、メインコントローラー60からの読取指令を受けると、ガラス台36に載置された原稿を画像データとして読み取るようスキャナー機構34を制御する。また、スキャナー機構34は、周知のイメージスキャナーとして構成され、原稿に向かって発光した後の反射光をレッド(R)、グリーン(G)、ブルー(B)の各色に分解して画像データとする周知のカラーイメージセンサーを備えている。
メモリーカードコントローラー44は、メモリーカードスロット40に挿入されたメモリーカード42との間でデータを格納したファイルの入出力を行なうものである。このメモリーカードコントローラー44は、メモリーカードスロット40にメモリーカード42が接続されているとき、メモリーカード42に記憶されているファイルを読み出してメインコントローラー60に送信したりメインコントローラー60からの命令を入力しその命令に基づいてメモリーカード42にファイルを記憶したりする。
メインコントローラー60は、CPU62を中心とするマイクロプロセッサーとして構成されており、各種処理プログラムや各種データ、各種テーブルなどを記憶したROM64と、一時的にスキャンデータや印刷データなどを記憶するRAM66と、電源を切ってもデータを保持可能なフラッシュメモリー67と、計時する際に使用するタイマー68と、操作パネル50との通信を可能とする内部通信インターフェース(I/F)69とを備える。このメインコントローラー60は、プリンターユニット20やスキャナーユニット30,メモリーカードコントローラー44からの各種動作信号や各種検出信号を入力したり、操作パネル50のボタン群54の操作に応じて発生する操作信号を入力したりする。また、メモリーカード42からファイルを読み出してメインコントローラー60へ出力する読出指令をメモリーカードコントローラー44に出力したり、画像データの印刷を実行するようプリンターユニット20に印刷指令を出力したり、操作パネル50のボタン群54のスキャン指示に基づいてガラス台36に載置された原稿を画像データとして読み取るようスキャナーユニット30に読取指令を出力したり、操作パネル50に表示部52の制御指令を出力したりする。なお、操作パネル50のボタン群54の操作により各種モードを選択可能となっており、選択可能なモードとしては、ガラス台36に載置された原稿をスキャンしてコピーするコピーモードやメモリーカード42に記憶された画像データを用いて画像を印刷したり原稿をスキャンしてデータ化してメモリーカード42に保存したりするメモリーカードモードなどがある。
次に、こうして構成された本実施形態のマルチファンクションプリンター10の動作、特に、コピーモードが選択された際の動作について説明する。図2は、メインコントローラー60により実行されるコピーモード時処理ルーチンの一例を示すフローチャートである。このルーチンは、ユーザーによるボタン群54の操作によりコピーモードが選択されたときに実行される。
コピーモード時処理ルーチンが実行されると、メインコントローラー60のCPU62は、まず、コピーに関する各種項目の設定が可能なコピー設定画面を表示部52に表示してユーザーのボタン群54の操作による各種設定を受け付ける(ステップS100)。このコピー設定画面の図示は省略するが、設定可能な項目としては、カラーコピーかモノクロコピーかの設定やコピー部数の設定、コピー対象の原稿の種類が「文字」や「写真」,「文字と写真」のいずれであるかの設定、コピー用紙の種類の設定、コピー用紙のサイズの設定などがある。これらの設定のうち、コピー部数として1部が設定されたものとして説明する。
コピー設定画面を介して各種設定を受け付けると、ボタン群54の操作によりコピー開始指示がなされたときに(ステップS110)、スキャナーユニット30に読取指令を出力することによりガラス台36に載置された原稿を読み取って(スキャン処理して)画像データを生成し(ステップS120)、生成したRGB表色系の画像データをブロック単位に分割する(ステップS130)。なお、ブロックとしては例えば1ブロックが8×8の画素で構成されるブロックに分割されるものとした。また、ブロック単位に分割する際に、RGB表色系のデータを所定の色変換式に基づいてYUV表色系などのデータに色変換するものなどとしてもよい。
こうして画像データをブロック単位に分割すると、後述する符号化で使用するハフマンテーブルの設定処理を行なう(ステップS140)。この処理は、予めROM64に記憶されたデフォルトのハフマンテーブルHT0か、後述する処理で構築されてフラッシュメモリー67に保存される新規のハフマンテーブルHT1かのいずれかを設定する処理であり、詳細については後述する。ハフマンテーブルが設定されると、デフォルトのハフマンテーブルHT0が設定されたか否かを判定する(ステップS150)。以下、まずは、デフォルトのハフマンテーブルHT0が設定された場合について説明する。
ステップS150でデフォルトのハフマンテーブルHT0が設定されたと判定すると、分割した複数のブロックのうち未処理のブロックを処理の対象ブロックに設定する(ステップS160)。なお、対象ブロックの設定は、分割した各ブロックのうち画像データにおける左上のブロックから順に右方向に設定し、右方向に未処理のブロックがなくなると一段下の左端のブロックから順に右方向に設定することにより行なわれる。次に、設定した対象ブロックの各データ値に対して離散コサイン変換(DCT)を行なって空間周波数成分であるDCT係数を得ると共に(ステップS170)、得られたDCT係数に対して予めROM64に記憶された量子化テーブルを用いて量子化処理を行なう(ステップS180)。続いて、量子化後のDCT係数を順に符号化の対象係数に設定する(ステップS190)。なお、対象係数の設定は、ブロック内の左上のDCT係数からジグザグに各DCT係数をたどっていく、いわゆるジグザグスキャンに従って順に行なわれる。そして、上述したステップS140で設定されたデフォルトのハフマンテーブルHT0を用いて該当するハフマン符号を設定することにより対象係数を符号化すると共に(ステップS200)、対象係数の係数値の度数をカウントして(ステップS210)、未処理係数があるか否かを判定する(ステップS220)。未処理係数があると判定したときには、ステップS190に戻り処理を繰り返す。なお、符号化においては、通常は、ブロックの左上のDCT係数(DC成分)とそれ以外のDCT係数(AC成分)とに異なるハフマンテーブルを用いたり、表色系の色成分毎に異なるハフマンテーブルを用いたりするが、本実施形態においてはそれらのハフマンテーブルを特に区別することなく、まとめてデフォルトのハフマンテーブルHT0と称する。なお、新規のハフマンテーブルHT1についても同様とする。
そして、ステップS220で未処理係数がないと判定したときには、未処理ブロックがあるか否かを判定し(ステップS230)、未処理ブロックがあると判定したときにはステップS160に戻り処理を繰り返す。なお、符号化データや度数のカウントデータはRAM66に順次保存され、符号化データには使用したハフマンテーブルの種類の情報(この場合はハフマンテーブルHT0)が合わせて登録されるものとする。こうして対象係数の符号化と度数のカウントとを繰り返し、すべてのブロックの処理が完了してステップS230で未処理ブロックがないと判定すると、度数のカウントデータからDCT係数の各係数値の出現確率を算出し算出した出現確率に応じて新規のハフマンテーブルHT1を構築してフラッシュメモリー67に保存する(ステップS240)。ここで、新規のハフマンテーブルHT1の構築は、ハフマンテーブルの構築に一般的に用いられる手法、即ち最も出現確率(発生頻度)の高い係数値に短い符号を割り当てると共に出現確率の低い係数値ほど長い符号を割り当てる周知の手法により行なうことができる。なお、フラッシュメモリー67に既に保存されているハフマンテーブルHT1がある場合には、それに上書きして保存する。これにより、デフォルトのハフマンテーブルHT0を用いて符号化する際に、符号化の対象とされる量子化後のDCT係数に基づいて新規のハフマンテーブルHT1を構築することができる。
こうして新規のハフマンテーブルHT1を構築すると、コピーの全部数の圧縮処理が完了したか否かを判定する(ステップS320)。コピーの部数は、ステップS100のコピー設定画面を介して受け付けられた部数であり、いま1部が設定されたものとしているから、ステップS320で全部数の圧縮処理が完了したと判定する。そして、RAM66に保存された符号化データを展開処理して画像データに変換し(ステップS330)、プリンターユニット20に印刷指令を出力することにより画像データに基づく印刷処理を行なって(ステップS340)、本ルーチンを終了する。なお、符号化データの展開処理は、画像データを符号化データに変換する手順と逆の手順、即ち復号化処理、逆量子化処理、逆離散コサイン変換の順で行なうものとすればよい。また、上述したように、符号化されたデータにはハフマンテーブルの種類の情報が登録されるから、その情報に基づいて必要なハフマンテーブルを読み出して復号化処理を行なうことができる。
こうして1部のコピーが完了した以降に、再び1部のコピーが行なわれる場合について説明する。なお、以下の説明では、処理中の画像データと区別するため、ハフマンテーブルHT1の構築に用いられた画像データを先行の画像データと称する。この場合、上述したように、まず、ステップS100〜S140の処理が行なわれる。即ち、コピー設定画面を介して各種設定を受け付けて、コピー開始指示がなされたときに、スキャン処理して画像データを生成し、生成した画像データをブロック単位に分割して、使用するハフマンテーブルを設定する。ここで、コピーモード時処理ルーチンの説明を中断して、ハフマンテーブルの設定処理について説明する。図3は、ハフマンテーブル設定処理の一例を示すフローチャートである。
ハフマンテーブル設定処理ルーチンでは、まず、新規のハフマンテーブルHT1がフラッシュメモリー67に保存されているか否かを判定し(ステップS400)、保存されていないと判定した場合には、デフォルトのハフマンテーブルHT0を使用するハフマンテーブルに設定して(ステップS440)、本処理を終了する。この場合、図2のコピーモード時処理ルーチンにおいては、上述したようにデフォルトのハフマンテーブルHT0を用いた符号化が行なわれるから、その際に新規のハフマンテーブルHT1が構築されることになる。一方、先行の画像データにおいてハフマンテーブルHT1が既に構築されている場合には、ステップS400でハフマンテーブルHT1が保存されていると判定して、現在のコピー部数が複数部であるか1部であるかを判定する(ステップS410)。いま、コピー部数は1部であるから、ステップS410でコピー部数は1部と判定し、次に、ハフマンテーブルHT1を構築してからの経過時間Tを入力して(ステップS450)、経過時間Tが所定時間Trefを超えるか否かを判定する(ステップS460)。ここで、経過時間Tは、図示しない計時処理により新規のハフマンテーブルHT1が構築された時点からの時間をタイマー68を用いて計時したものであり、ハフマンテーブルHT1が構築される度にリセットされて新たに計時が開始されるものである。また、所定時間Trefは、数分程度の時間に設定されるものである。なお、マルチファンクションプリンター10は、ボタン群54からの操作信号が一定時間以上に亘って入力されない場合に表示部52への給電を停止する省電力モードを有しており、そのような一定時間を所定時間Trefに設定するものなどとしてもよい。このような数分程度の時間を所定時間Trefに設定する理由については後述する。そして、ステップS460で経過時間Tが所定時間Trefを超えないと判定したときには、新規のハフマンテーブルHT1を使用するハフマンテーブルに設定して(ステップS430)、本処理を終了する。一方、経過時間Tが所定時間Trefを超えると判定したときには、デフォルトのハフマンテーブルHT0を設定して(ステップS470)、本処理を終了する。なお、ステップS410でコピー部数は複数部であると判定した場合の処理については後述する。
コピーモード時処理ルーチンの説明に戻って、ステップS140(図3のハフマンテーブル設定処理)で、新規のハフマンテーブルHT1が設定された場合について説明する。この場合、ステップS150で否定判定されて、分割した各ブロックのうち対象ブロックを設定し(ステップS250)、設定した対象ブロックの各データ値に対して離散コサイン変換(DCT)を行なうと共に(ステップS260)、DCT係数に対して量子化処理を行なって(ステップS270)、量子化後のDCT係数を順に対象係数に設定する(ステップS280)。なお、これらのステップS250〜S280の処理は、デフォルトのハフマンテーブルHT0が設定された場合のステップS160〜190と同様に行なわれる。こうして対象係数を設定すると、設定した対象係数をハフマンテーブルHT1を用いて未処理係数がなくなるまで符号化する(ステップS290〜S300)。そして、対象ブロック内に未処理係数がなくなったときには、次の未処理ブロックがあるか否かを判定し(ステップS310)、未処理ブロックがあると判定したときにはステップS250に戻り処理を繰り返す。一方、未処理ブロックがないと判定したときには、ステップS320で全部数の圧縮処理が完了したと判定し、ステップS330で符号化データを展開して印刷データを生成し、ステップS340で印刷処理を行なって、本ルーチンを終了する。
ここで、画像データの圧縮処理(符号化)と使用するハフマンテーブルとの関係について図4に基づいて説明する。図4(1)〜(4)は、時系列順に先行の画像データ1とそれに続く後続の画像データ2〜4が処理される様子を示す。ここで、画像データ1の処理時にはハフマンテーブルHT1は保存されていないものとする。なお、コピーモード時処理ルーチンには、圧縮された画像データを展開して印刷する処理まで含まれるが、図4では、画像データが入力されてから圧縮データが生成されるまでを簡略化して図示した。図示するように、まず、画像データ1を処理する際には、ハフマンテーブルHT0を用いて符号化して圧縮データ1を生成し、このときに新規のハフマンテーブルHT1を構築する。次に、画像データ2を処理する場合には、ハフマンテーブルHT1の構築時点から画像データ2の処理(離散コサイン変換(DCT))の開始までの経過時間T1が所定時間Tref以下であるため、ハフマンテーブルHT1を用いて画像データ2を符号化する。同様に、画像データ3を処理する場合もハフマンテーブルHT1の構築時点から処理開始までの経過時間T2が所定時間Tref以下であるため、ハフマンテーブルHT1を用いて符号化する。一方、画像データ4を処理する場合には、ハフマンテーブルHT1の構築時点から処理開始までの経過時間T3が所定時間Trefを超えるため、ハフマンテーブルHT1ではなくデフォルトのハフマンテーブルHT0を用いて符号化する。なお、この場合、新たにハフマンテーブルHT1(HT1’と図示)を構築する。
このように、コピー部数が1部のコピーを繰り返し行なう場合には、先行の画像データの処理時においてハフマンテーブルHT1を構築した時点から、後続の画像データにおける符号化のための処理が開始された時点(ブロック単位に分割してDCTを開始する時点)までの経過時間Tが所定時間Trefを超えるか否かに基づいて、使用するハフマンテーブルにデフォルトのハフマンテーブルHT0か新規のハフマンテーブルHT1かのいずれかを設定し、設定したハフマンテーブルを用いて後続の画像データを符号化するのである。ここで、所定時間Trefは、上述したように、数分程度の時間に設定されるものである。そして、そのような時間内になされるコピーは、同一のユーザーにより一度になされるコピーである可能性が高く、同様な原稿がコピーされるものと想定することができる。このため、先行の画像データと後続の画像データとのデータ内容が似たものとなり、量子化後のDCT係数の各係数値の出現確率も類似したものとなる可能性が高くなる。したがって、ハフマンテーブルHT1を用いて後続の画像データを符号化することは、デフォルトのハフマンテーブルHT0を用いた符号化に比して、DCT係数の各係数値の出現確率により適したハフマンテーブルを用いた処理となるから、効率のよい符号化が可能となるのである。一方、経過時間Tが所定時間Trefを超える場合は、同様な原稿のコピーがなされる可能性は低くなるため、新規のハフマンテーブルHT1を用いる効果は所定時間Tref以下の場合に比して少ないものになる。このため、そのような場合には、再度新規のハフマンテーブルHT1を構築して以降のコピーに備えるのである。コピー部数が1部である場合に、ハフマンテーブルHT1を構築してからの経過時間Tに応じたハフマンテーブルを設定するのはこうした理由による。なお、ハフマンテーブルHT1は、デフォルトのハフマンテーブルHT0を用いた符号化時に構築されるものであるから、符号化する度に構築するものに比してハフマンテーブルHT1を構築するための処理時間を大幅に低減することができる。
次に、コピー部数が複数部である場合を考える。まず、コピー部数が複数部である場合の図3のハフマンテーブル設定処理について説明する。この場合、ステップS410でコピー部数は複数部であると判定し、次に、現在の処理が2部目以降であるか否かを判定する(ステップS420)。そして、2部目以降ではない即ち1部目であるときには、ステップS440でデフォルトのハフマンテーブルHT0を設定して本処理を終了する。一方、2部目以降であるときには、ステップS430で新規のハフマンテーブルHT1を設定して本処理を終了する。
そして、図2のコピーモード時処理ルーチンでは、まず、1部目の処理においては、ステップS150でデフォルトのハフマンテーブルHT0が設定されたと判定し、ステップS160〜S240の処理、即ち量子化後のDCT係数の各係数値をデフォルトのハフマンテーブルHT0を用いて符号化しながら各係数値の度数をカウントして新規のハフマンテーブルHT1を構築して保存する処理が行なわれる。そして、ステップS320で全部数の圧縮が完了していないと判定して、ステップS120に戻り処理を繰り返す。次に、2部目以降の処理においては、ステップS140(図3のハフマンテーブル設定処理)で1部目の処理で構築されて保存されたハフマンテーブルHT1を使用するハフマンテーブルに設定し、ステップS150でハフマンテーブルHT1が設定されたと判定し、ステップS250〜S310の処理、即ち量子化後のDCT係数の各係数値を新規のハフマンテーブルHT1を用いて符号化する処理が行なわれる。このような2部目以降の処理が全部数の画像データの圧縮が完了するまで行なわれて、全部数の圧縮が完了したときに、ステップS330〜S340で展開処理した画像データに基づいて印刷処理を実行して、本ルーチンを終了する。即ち、このような複数部のコピーは、全部数の画像データを圧縮してから印刷を開始するものであるため、先行の画像データとそれに続く後続の画像データが複数の画像データからなる1つのジョブとして連続的に入力されるものとなる。このように、複数部のコピーにおいては、先行の画像データ(1部目)の符号化において構築されたハフマンテーブルHT1を後続の画像データ(2部目以降)の符号化に用いるため、デフォルトのハフマンテーブルHT0を用いる場合に比して、後続の画像データの符号化を効率よく行なうことができる。また、ハフマンテーブルHT1の構築は、先行の画像データの符号化時に行なわれるだけであり、後続の画像データの符号化時に行なわれることはないから、符号化する度に構築するものに比してハフマンテーブルHT1を構築するための処理時間を大幅に低減することができる。
ここで、本実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。本実施形態の図2のコピーモード時処理ルーチンにおけるステップS130,160〜180,250〜270の処理を実行するメインコントローラー60が本発明の「データ変換手段」に相当し、図2のコピーモード時処理ルーチンにおけるステップS140,150,190〜210,240,280,290の処理および図3のハフマンテーブル設定処理を実行するメインコントローラー60が「符号化手段」に相当する。また、図2のコピーモード時処理ルーチンにおけるステップS330の処理を実行するメインコントローラー60が「復号化手段」に相当する。
以上詳述した本実施形態のマルチファンクションプリンター10によれば、1部のコピーが行なわれるときには、ハフマンテーブルHT1が保存されていない場合や保存されていてもハフマンテーブルHT1の構築時点からの経過時間Tが所定時間Trefを超える場合には、量子化後のDCT係数に対してデフォルトのハフマンテーブルHT0を用いて符号化すると共にDCT係数の各係数値の出現確率に基づいて新規のハフマンテーブルHT1を構築しておき、ハフマンテーブルHT1の構築時点から後続の画像データの処理開始までの経過時間Tが所定時間Tref以下となる場合には、量子化後のDCT係数に対して新規のハフマンテーブルHT1を用いて符号化するから、デフォルトのハフマンテーブルHT0を用いて符号化するものに比して圧縮率を高めることができ、また、符号化する度にハフマンテーブルを構築するものに比して構築するための処理時間を大幅に低減することができる。また、複数部のコピーが行なわれるときにも、先行の画像データ(1部目)の符号化において構築されたハフマンテーブルHT1を後続の画像データ(2部目以降)の符号化に用いるから、デフォルトのハフマンテーブルHT0を用いるものに比して、後続の画像データの符号化を効率よく行なうことができ、また、後続の画像データの符号化時にハフマンテーブルHT1を構築することはないから構築のための処理時間を大幅に低減することができる。この結果、画像データのスムーズな圧縮処理を実現しつつ圧縮率を高めることができる。
なお、本発明は上述した実施態様に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
上述した実施形態では、ハフマンテーブルHT1を構築した時点から後続の画像データにおけるブロック単位の分割を開始する時点までの時間を経過時間Tとして用いるものとしたが、これに限られず、ハフマンテーブルHT1を構築した時点から後続の画像データが入力された時点としてもよいし、ハフマンテーブルHT1を構築した時点から後続の画像データの符号化が開始される時点などとしてもよい。
上述した実施形態では、フラットベッド式のスキャナーユニット30を用いるものとしたが、オートドキュメントフィーダ(ADF)式のスキャナーユニットを用いるものとしてもよい。この場合、原稿を連続的にスキャンして1つのジョブとして連続的に入力される画像データを蓄積して処理するものであるため、本実施形態の複数部のコピーと同様に処理するものとすればよい。
上述した実施形態では、使用するハフマンテーブルの設定をコピー部数に基づいて行なったりハフマンテーブルHT1の構築時点からの経過時間Tに基づいて行なったりするものとしたが、これらに限定されるものではなく、コピー部数以外の各種の設定内容に基づいて行なうものとしてもよい。例えば、コピー対象の原稿の種類(「文字」や「写真」,「文字と写真」)に基づいて行なうものとしてもよく、その場合、図3のハフマンテーブル設定処理に代えて図5に示す変形例のハフマンテーブル設定処理を実行するものとすればよい。なお、図5において、図3と同じ処理については同一の符号を付す。変形例のハフマンテーブル設定処理では、ステップS400でハフマンテーブルHT1が保存されていると判定すると、今回の処理で設定された「文字」や「写真」,「文字と写真」などの原稿の種類と新規のハフマンテーブルHT1の構築に用いられた先行の画像データの処理で設定された原稿の種類とを照合して(ステップS405)、原稿の種類が一致するか否かを判定する(ステップS415)。なお、原稿の種類の照合を可能とするために、上述した図2のコピーモード時処理ルーチンのステップS240の処理において、ハフマンテーブルHT1を保存するときに、設定されている原稿の種類の情報についても合わせて保存するものなどとすればよい。そして、ステップS415で原稿の種類が一致すると判定した場合には、ステップS430でハフマンテーブルHT1を設定して処理を終了し、原稿の種類が一致しないと判定した場合には、ステップS440でデフォルトのハフマンテーブルHT0を設定して処理を終了する。ここで、原稿種が一致する場合には、符号化対象のDCT係数の出現確率も類似するものとなる可能性が高いから、デフォルトのハフマンテーブルHT0に代えて新規に構築されたハフマンテーブルHT1を用いて符号化することにより、本実施形態と同様の効果を奏するものとなる。なお、ハフマンテーブルHT1を保存するときにそのときの原稿の種類の情報についても合わせて保存するものとすれば、マルチファンクションプリンター10の電源がオフされた場合であってもその情報が保持されるから、その後に電源がオンされてコピー処理される場合においても、原稿の種類に基づいてハフマンテーブルHT1を設定することができる。
上述した実施形態では、コピー部数に拘わらず圧縮処理を行なうものとしたが、これに限られず、コピー部数が1部のときには圧縮処理を行なわず複数部のときに圧縮処理を行なうものとしてもよい。この場合、図3のハフマンテーブル設定処理において、ステップS410,S450〜S470の処理を省略するものなどとすればよい。
上述した実施形態では、符号化する場合にハフマンテーブルHT1を構築するものとしたが、これに限られず、復号化する場合にハフマンテーブルHT1を構築するものとしてもよい。この場合、復号化により得られるDCT係数の各係数値の度数をカウントし、度数データから各係数値の出現確率を算出し、算出した出現確率に基づいて新規のハフマンテーブルHT1を構築してフラッシュメモリー67に保存するものなどとすればよい。そして、復号化時において構築したハフマンテーブルHT1についても、ハフマンテーブル設定処理において符号化に用いるハフマンテーブルに設定できるものとすればよい。こうすれば、ハフマンテーブルHT1を構築する機会を多くすることができ、符号化処理や復号化処理の処理負荷などを考慮しながら、より適切なタイミングでハフマンテーブルHT1を構築することが可能となる。
上述した実施形態では、構築したハフマンテーブルHT1を後続の画像データの符号化に用いるものとしたが、これに限られず、ハフマンテーブルHT1の構築に用いた画像データの符号化に用いるものとしてもよい。
上述した実施形態では、本発明の画像処理装置をコピーモード時の動作に適用して説明したが、原稿をスキャンして得られる画像データを圧縮してメモリーカード42に保存するメモリーカードモード時の動作に適用するものとしてもよい。
上述した実施形態では、本発明の画像処理装置をプリンターユニット20とスキャナーユニット30とを備えてコピーが可能なマルチファンクションプリンター10に適用して説明したが、これに限られず、スキャナーユニットのみを備えるスキャナー装置に適用するものとしてもよいし、撮像された画像に対して圧縮処理を行なうデジタルカメラやカメラ付きの携帯電話などに適用するものとしてもよい。
上述した実施形態では、新規のハフマンテーブルHT1として1つのハフマンテーブルをフラッシュメモリー67に保存するものとしたが、これに限られず、複数のハフマンテーブルを保存するものとしてもよい。例えば、原稿の種類毎に1つずつ保存するものなどとしてもよい。
上述した実施形態では、静止画像を圧縮するJPEG方式を例として説明したが、ハフマンテーブルを用いて符号化を行なう圧縮方式であればよく、動画像を圧縮するMPEG方式に適用するものなどとしてもよい。
10 マルチファンクションプリンター、12 バス、20 プリンターユニット、22 プリンターASIC、24 プリンター機構、30 スキャナーユニット、32 スキャナーASIC、34 スキャナー機構、36 ガラス台、40 メモリーカードスロット、42 メモリーカード、44 メモリーカードコントローラー、50 操作パネル、52 表示部、54 ボタン群、60 メインコントローラー、62 CPU、64 ROM、66 RAM、67 フラッシュメモリー、68 タイマー、69 内部通信I/F、S 用紙。
Claims (7)
- 画像データを順次入力して符号化処理する画像処理装置であって、
符号化のための前処理を行なって前記入力された画像データを所定のデータ形式に変換して変換データを生成するデータ変換手段と、
前記入力された画像データと先行で入力されて処理した先行画像データとの間で所定の関係が成立しない場合には、所定のハフマンテーブルを用いて前記変換データを符号化すると共に該変換データに基づいて新規のハフマンテーブルを構築し、前記所定の関係が成立する場合には、前記先行画像データを符号化する際に構築した前記新規のハフマンテーブルを用いて前記変換データを符号化する符号化手段と
を備える画像処理装置。 - 前記符号化手段は、前記新規のハフマンテーブルの構築を伴って前記先行画像データを符号化してから前記入力された画像データを処理するまでの間隔が所定時間内である場合に、前記所定の関係が成立するとして符号化する手段である請求項1記載の画像処理装置。
- 前記符号化手段は、前記先行画像データと前記入力された画像データとが複数の画像データからなる1つのジョブとして連続的に入力されている場合に、前記所定の関係が成立するとして符号化する手段である請求項1または2記載の画像処理装置。
- 請求項1ないし3いずれか1項に記載の画像処理装置であって、
画像データの種類を判別する画像種類判別手段を備え、
前記符号化手段は、前記画像種類判別手段により判別された前記先行画像データの種類と前記入力された画像データの種類とが一致する場合に、前記所定の関係が成立するとして符号化する手段である
画像処理装置。 - 前記符号化手段は、前記所定の関係が成立しない場合には、前記所定のハフマンテーブルとしてデフォルトのハフマンテーブルを用いて符号化すると共に前記新規のハフマンテーブルを後続の画像データの符号化に用いるハフマンテーブルとして構築する手段である請求項1ないし4いずれか1項に記載の画像処理装置。
- 媒体に形成された画像を読み取る画像読取装置を介して入力した画像データから印刷用データを生成して印刷装置に出力する請求項1ないし5いずれか1項に記載の画像処理装置であって、
前記印刷用データを生成するために前記符号化手段により符号化された画像データを復号化して復号化データを生成すると共に該復号化データに基づいて前記新規のハフマンテーブルを構築する復号化手段を備え、
前記符号化手段は、前記復号化手段による前記新規のハフマンテーブルの構築に用いられた画像データと前記入力された画像データとの間で前記所定の関係が成立する場合には、前記符号化に伴って構築した新規のハフマンテーブルに代えて前記復号化手段により構築された新規のハフマンテーブルを用いて符号化する手段である
画像処理装置。 - コンピューターを、請求項1ないし6いずれか1項に記載の画像処理装置として機能させるためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010061666A JP2011199432A (ja) | 2010-03-17 | 2010-03-17 | 画像処理装置およびプログラム |
CN2011100649117A CN102196271A (zh) | 2010-03-17 | 2011-03-15 | 图像处理装置以及程序 |
US13/049,826 US20110228306A1 (en) | 2010-03-17 | 2011-03-16 | Image processing device and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010061666A JP2011199432A (ja) | 2010-03-17 | 2010-03-17 | 画像処理装置およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011199432A true JP2011199432A (ja) | 2011-10-06 |
Family
ID=44603556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010061666A Pending JP2011199432A (ja) | 2010-03-17 | 2010-03-17 | 画像処理装置およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20110228306A1 (ja) |
JP (1) | JP2011199432A (ja) |
CN (1) | CN102196271A (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6607956B2 (ja) | 2015-05-29 | 2019-11-20 | エスゼット ディージェイアイ テクノロジー カンパニー リミテッド | ビデオ処理方法及びビデオ処理システム |
CN107256534B (zh) * | 2017-05-16 | 2020-07-24 | 上海海事大学 | 基于双线性插值的gqir量子图像的缩小与放大方法 |
CN115297363B (zh) * | 2022-10-09 | 2022-12-27 | 南通商翼信息科技有限公司 | 基于霍夫曼编码的视频数据加密传输方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08130649A (ja) * | 1994-11-01 | 1996-05-21 | Canon Inc | データ処理装置 |
KR100275690B1 (ko) * | 1997-12-29 | 2000-12-15 | 윤종용 | 마스크를 이용한 영상처리장치 |
US6081211A (en) * | 1998-04-08 | 2000-06-27 | Xerox Corporation | Minimal buffering method and system for optimized encoding tables in JPEG compression |
US6643402B1 (en) * | 1999-03-23 | 2003-11-04 | Sanyo Electric Co., Ltd | Image compression device allowing rapid and highly precise encoding while suppressing code amount of image data after compression |
CN100574434C (zh) * | 2006-06-23 | 2009-12-23 | 深圳安凯微电子技术有限公司 | 一种图像压缩/解压缩方法和*** |
CN101080013A (zh) * | 2007-06-19 | 2007-11-28 | 中山大学 | 一种基于预测编码的jpeg无损压缩图像隐写方法 |
-
2010
- 2010-03-17 JP JP2010061666A patent/JP2011199432A/ja active Pending
-
2011
- 2011-03-15 CN CN2011100649117A patent/CN102196271A/zh active Pending
- 2011-03-16 US US13/049,826 patent/US20110228306A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20110228306A1 (en) | 2011-09-22 |
CN102196271A (zh) | 2011-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107632801B (zh) | 基于单元的数字图像压缩的方法及计算设备 | |
JP6019573B2 (ja) | 記録装置および画像処理方法 | |
JP2006050096A (ja) | 画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体、及び画像形成装置 | |
JP2022126829A (ja) | 画像処理装置および画像処理方法、およびプログラム | |
JP2011199432A (ja) | 画像処理装置およびプログラム | |
JP2011040970A (ja) | データ処理装置、および、データ処理方法 | |
US20050012963A1 (en) | Image processing apparatus, image processing method, and computer product | |
JP2004282306A (ja) | 画像処理装置 | |
JP2008301186A (ja) | 原稿読取装置 | |
JP2020093494A (ja) | 画像出力装置、画像出力方法および出力画像データ生産方法 | |
JP3538352B2 (ja) | 画像符号化方法および画像復号化方法ならびカラーファクシミリ装置 | |
JP3734082B2 (ja) | 画像処理装置及び画像処理装置の画像データの格納方法 | |
JP3952981B2 (ja) | 画像処理装置 | |
US8837848B2 (en) | Image processing device and image processing method | |
JP2013120999A (ja) | 画像処理装置および画像処理方法 | |
JP2007049334A (ja) | 画像処理装置および画像圧縮前処理方法 | |
JP2004112303A (ja) | 画像処理方法、画像処理装置及び画像処理システム | |
JP4559173B2 (ja) | 画像処理装置 | |
JP2006295301A (ja) | 画像形成装置 | |
JP2001211336A (ja) | 画像処理装置及び画像処理方法、記憶媒体及び画像処理システム | |
JP2013121100A (ja) | 画像処理装置および画像処理方法 | |
JP2001211318A (ja) | 画像処理装置及び画像処理方法、記憶媒体及び画像処理システム | |
JP5478428B2 (ja) | 画像処理装置 | |
JP2015005835A (ja) | 画像処理装置、画像形成装置及び記録媒体 | |
JP2020096307A (ja) | 画像出力装置、画像出力方法および画像出力プログラム |