JP2008067002A - 画像処理装置、及びそれを備える印刷装置 - Google Patents

画像処理装置、及びそれを備える印刷装置 Download PDF

Info

Publication number
JP2008067002A
JP2008067002A JP2006241912A JP2006241912A JP2008067002A JP 2008067002 A JP2008067002 A JP 2008067002A JP 2006241912 A JP2006241912 A JP 2006241912A JP 2006241912 A JP2006241912 A JP 2006241912A JP 2008067002 A JP2008067002 A JP 2008067002A
Authority
JP
Japan
Prior art keywords
jpeg
processing
image data
jpeg processing
decoding
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.)
Withdrawn
Application number
JP2006241912A
Other languages
English (en)
Inventor
Manabu Mukoyama
学 向山
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006241912A priority Critical patent/JP2008067002A/ja
Publication of JP2008067002A publication Critical patent/JP2008067002A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】JPEG処理回路において、所定のエラーが発生したとしても、JPEG処理自体を継続させることができる。
【解決手段】処理制御部は、JPEG処理回路がJPEG画像データに対しJPEG処理を行っている際に、JPEG処理回路において所定のエラーが発生した場合、JPEG処理部に、JPEG画像データに対するJPEG処理を行わせる。
【選択図】図6

Description

本発明は、JPEG画像データに対してJPEG復号処理を含むJPEG処理を行う技術に関するものである。
近年、印刷装置であるプリンタでは、例えば、デジタルカメラで撮影した画像データを、ホストコンピュータあるいはメモリカードなどを通じて取得し、その画像データに基づいて、画像の印刷を行うことができる。
このような画像データとしては、例えば、画像圧縮のフォーマットとして「JPEG(Joint Photograph Experts Group)」を用いたJPEG画像データが知られている。
プリンタにおいて、JPEG画像データに基づいて画像の印刷を行う場合、そのJPEG画像データを復号(すなわち、画像展開)する必要がある。具体的には、JPEG画像データに対して、ハフマン復号化処理,逆量子化処理,逆DCT(discrete cosine transform:離散コサイン変換)処理などの一連のJPEG復号処理を施すことになる。
従来では、このようなJPEG復号処理は、プリンタに搭載されたCPUにより、ソフトウェアに基づいて行われてきたが、近年では、JPEG復号の処理速度を向上させるために、プリンタに、ハードウェアで構成された専用回路、すなわち、JPEG処理回路を搭載し、そのJPEG処理回路によって行われるようになってきている。ここで、JPEG処理回路とは、具体的には、論理回路によって構成され、上記した一連のJPEG復号処理を、それら論理回路によって実行するものである。また、プリンタにおいて、このようなJPEG処理回路を用いる場合には、その専用メモリとして、1つの固定長のメモリが用意される。
ところで、JPEG画像データに対し、JPEG復号処理を行う場合、画像全体についてJPEG復号処理を行う場合は必要ないが、画像全体の中から特定の領域を切り出してJPEG復号処理を行う場合には、前処理として、JPEG画像データに対するデータ解析処理が必要となる。
そのような場合には、上記したJPEG処理回路は、JPEG処理として、JPEG画像データに対し、まず、データ解析処理を行い、その後、画像を切り出しつつJPEG復号処理を行うことになる。
なお、このようなJPEG復号処理を含む複数の処理を、ASICとして、ハードウェアを用いて実現するものとして、従来により、例えば、下記の特許文献1に記載のものが知られている。
特開2004−322598号公報
従来のプリンタでは、JPEG処理回路によって、JPEG復号処理を含むJPEG処理を行う場合、そのJPEG処理の最中に、特定の要因によってエラーが発生すると、JPEG処理が中断する場合があった。このようなJPEG処理回路におけるJPEG処理の中断が、印刷処理中において発生すると、印刷の途中で印刷が終了してしまうという問題があった。
また、このようなことを回避するために、予め、JPEG処理回路において、JPEG画像データについて画像全体の復号が可能であるかを検証する方法もあるが、これは、実際にJPEG画像データを復号して検証することとなるため、ケースによっては、画像のほぼ全体を復号することになり、動作の効率が悪く、処理速度が遅くなるという問題があった。
従って、本発明の目的は、上記した従来技術の問題点を解決し、JPEG処理回路において、所定のエラーが発生したとしても、JPEG処理自体を継続させることができる技術を提供することにある。
上記した目的の少なくとも一部を達成するために、本発明の画像処理装置は、JPEG画像データに対してJPEG復号処理を含むJPEG処理を行うことが可能な画像処理装置であって、
ハードウェアによって構成されており、前記JPEG画像データに対して前記JPEG処理を行うことが可能なJPEG処理回路と、
コンピュータプログラムを実行することによって、前記JPEG画像データに対して前記JPEG処理を施すことが可能なJPEG処理部と、前記JPEG処理回路及び前記JPEG処理部をそれぞれ制御することが可能な処理制御部として、それぞれ機能するCPUと、
を備え、
前記処理制御部は、前記JPEG処理回路が前記JPEG画像データに対し前記JPEG処理を行っている際に、前記JPEG処理回路において所定のエラーが発生した場合、前記JPEG処理部に、前記JPEG画像データに対する前記JPEG処理を行わせることを要旨とする。
このように、本発明の画像処理装置では、処理制御部は、JPEG処理回路がJPEG画像データに対しJPEG処理を行っている際に、JPEG処理回路において所定のエラーが発生した場合、JPEG処理部に、JPEG画像データに対するJPEG処理を行わせるようする。
従って、本発明の画像処理装置によれば、JPEG処理回路において、所定のエラーの発生により、JPEG処理が中断したとしても、JPEG処理部が代わって、JPEG処理を行うので、JPEG処理自体を継続させることができる。
本発明の画像処理装置において、前記JPEG処理回路は、論理回路によって構成されることが好ましい。
このように、JPEG処理回路が論理回路によって構成されることにより、ハードウェア構成となるので、ソフトウェアに基づいて処理が行われる場合に比較して、処理速度を向上させることができる。
また、印刷装置において、本発明の画像処理装置を備えることが好ましい。
このように構成することにより、印刷装置において、印刷処理中に、JPEG処理回路において、所定のエラーの発生により、JPEG処理が中断したとしても、上述した如く、JPEG処理自体は、JPEG処理部によって継続されるので、印刷の途中で印刷が終了してしまうことを回避することができる。
なお、本発明は、上記した画像処理装置や印刷装置などの装置発明の態様に限ることなく、JPEG処理方法などの方法発明としての態様で実現することも可能である。さらには、それら方法や装置を構築するためのコンピュータプログラムとしての態様や、そのようなコンピュータプログラムを記録した記録媒体としての態様や、上記コンピュータプログラムを含み搬送波内に具現化されたデータ信号など、種々の態様で実現することも可能である。
以下、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
A.実施例の構成:
B.実施例の動作:
B−1.JPEG処理の概要:
B−2.切り出しJPEG復号処理:
B−2−1.通常時の処理:
B−2−2.エラー発生時の処理:
B−3.処理回路用メモリの制御方法:
C.実施例の効果:
D.変形例:
A.実施例の構成:
図1は本発明の一実施例としての画像処理装置を備えるプリンタの概略構成を示すブロック図である。
プリンタ100は、主として、CPU110と、JPEG処理回路120と、2つのメモリコントローラ130,150と、処理回路用メモリ140と、CPU用メモリ160と、メモリカードインターフェイス(I/F)部170と、プリンタエンジン180と、を備えている。これらのうち、CPU110と、JPEG処理回路120と、2つのメモリコントローラ130,150と、処理回路用メモリ140と、CPU用メモリ160が、本実施例としての画像処理装置を構成する。
これらのうち、CPU110は、CPU用メモリ160に記憶されたコンピュータプログラム(図示せず)を読み出して実行することにより、JPEG処理制御部112やサブJPEG処理制御部114やJPEG処理部116として機能し、種々の処理や制御を行う。なお、JPEG処理制御部112,サブJPEG処理制御部114及びJPEG処理部116については、後ほど詳しく説明する。メモリコントローラ150は、CPU用メモリ160を制御するためのインターフェイスである。CPU用メモリ160は、CPU110による管理の下、上記コンピュータプログラムを記憶したり、印刷処理中に得られたデータなどを記憶したりする。
一方、JPEG処理回路120は、データ解析部122と、JPEG復号部124と、CPUインターフェイス(I/F)部126と、メモリインターフェイス(I/F)部128と、を備えている。このJPEG処理回路120は、ハードウェアで構成された専用回路であって、各機能部がそれぞれ論理回路で構成されており、例えば、IC(Integrated Circuit)等の半導体装置の形態を成している。このうち、CPUインターフェイス部126は、CPU110との間で情報を授受する際のインターフェイスである。メモリインターフェイス部128は、処理回路用メモリ140に格納されているデータを読み出したり、処理回路用メモリ140にデータを格納したりする際のインターフェイスである。なお、データ解析部122及びJPEG復号部124については、後ほど詳細に説明する。また、メモリコントローラ130は、処理回路用メモリ140を制御するためのインターフェイスである。処理回路用メモリ140は、CPU110及びJPEG処理回路120による管理の下、JPEG処理中に得られたデータなどを記憶する。
また、メモリカードインターフェイス部170は、外部よりメモリカード172が装着された場合に、そのメモリカード172に格納されている情報を読み出したり、新たな情報を書き込んだりする際の制御を行うインターフェイスである。メモリカード172は、フラッシュメモリ等によって構成されており、ディジタルカメラ等(図示せず)に着脱自在に装着されて、撮影されたJPEG画像データが格納されるとともに、メモリカードインターフェイス部170に接続することにより、その格納されたJPEG画像データを読み出すことができる。なお、プリンタ100では、メモリカードインターフェイス部170を備える他に、USB(Universal Serial Bus)インターフェイス部を備え、USBを介して、デジタルカメラやホストコンピュータなどを接続し、それらに格納されているJPEG画像データを読み出すようにしてもよい。
なお、図1において、JPEG処理制御部112及びサブJPEG処理制御部114は、請求項における処理制御部に、プリンタ100は、請求項における印刷装置に、それぞれ相当する。
B.実施例の動作:
B−1.JPEG処理の概要:
ユーザが、プリンタ100の操作パネル(図示せず)を操作し、メモリカード172の中から所望のJPEG画像データを選択して、プリンタ100に対し印刷の実行を指示すると、CPU110は、メモリカード172からメモリカードインターフェイス部170を介してそのJPEG画像データを読み出し、メモリコントローラ150を介してCPU用メモリ160にFile Cash(図示せず)として格納する。CPU110は、File CashからJPEG画像データを読み出し、画像処理が円滑に実行できるようにデータを適宜並べ換えて、CPU用メモリ160内に設定されている第1メモリ領域162に格納する。この第1メモリ領域162に格納されたJPEG画像データが、これから説明するJPEG処理の対象となるデータとなる。
図2は図1に示す画像処理装置においてJPEG処理を行う際の制御指示やデータの流れを示す説明図である。本実施例においては、通常時は、JPEG処理回路120を用いてJPEG処理を行い、その処理中に所定のエラーが発生した場合には、JPEG処理回路120に代えて、JPEG処理部116を用いてJPEG処理を行うようにしている。図2において、(a)は通常時の状態を示し、(b)はエラー発生後の状態を示している。
図2(a),(b)において、JPEG処理制御部112は、JPEG処理をサブJPEG処理制御部114に要求する上位機能部である。サブJPEG処理制御部114は、JPEG処理回路120及びJPEG処理部116を制御する機能部である。JPEG処理部116は、JPEG処理を行う機能部である。JPEG処理回路120は、JPEG処理を行うハードウェア構成の専用回路である。また、CPU用メモリ160内に設定される第1メモリ領域162は、上述したとおり、JPEG処理の対象となるJPEG画像データを格納するための領域である。CPU用メモリ160内に設定される第2メモリ領域164は、JPEG処理によって復号された画像データを格納するための領域である。一方、図2(a)において、処理回路用メモリ140内に設定されるメモリ領域142は、JPEG処理回路120がJPEG画像データに対してJPEG処理を行う際に用いる作業領域である。他方、図2(b)において、CPU用メモリ160内に設定される第3メモリ領域166は、JPEG処理部116がJPEG画像データに対してJPEG処理を行う際に用いる作業領域である。
それでは、本実施例におけるJPEG処理の概要を簡単に説明する。通常時は、図2(a)に示すように、以下の処理となる。
1−1.上位機能部であるJPEG処理制御部112がサブJPEG処理制御部114に対し、JPEG処理の要求を出す。
1−2.サブJPEG処理制御部114が、JPEG処理の対象となるJPEG画像データをCPU用メモリ160の第1メモリ領域162から読み出して、処理回路用メモリ140のメモリ領域142に書き込む。
1−3.サブJPEG処理制御部114が、JPEG処理回路120に対してJPEG処理シーケンスの制御を行い、JPEG処理回路120にJPEG処理を実行させる。
1−4.JPEG処理回路120が、処理回路用メモリ140のメモリ領域142からJPEG画像データを適宜読み出して、後述するデータ解析処理やJPEG復号処理などの一連のJPEG処理を行い、得られた復号後の画像データを処理回路用メモリ140に書き込む。
1−5.サブJPEG処理制御部114が、復号された画像データを処理回路用メモリ140のメモリ領域142から読み出し、CPU用メモリ160の第2メモリ領域164に書き込む。
1−6.サブJPEG処理制御部114がJPEG処理制御部112に対しJPEG処理の狩猟を通知する。
一方、JPEG処理回路120において、JPEG処理の最中(すなわち、上記の1−4の最中)に所定のエラーが発生した場合には、図2(b)に示すように、以下のような処理となる。
2−1.サブJPEG処理制御部114が、JPEG処理回路120からエラー発生通知を受ける。
2−2.サブJPEG処理制御部114が、JPEG処理の対象となるJPEG画像データをCPU用メモリ160の第1メモリ領域162から読み出して、第3メモリ領域166に書き込む。
2−3.サブJPEG処理制御部114が、JPEG処理回路120に代えて、JPEG処理部116に対してJPEG処理シーケンスの制御を行い、JPEG処理部116にJPEG処理を実行させる。
2−4.JPEG処理部116が、CPU用メモリ160の第3メモリ領域166からJPEG画像データを適宜読み出して、データ解析処理やJPEG復号処理などの一連のJPEG処理を行い、得られた復号後の画像データを第3メモリ領域166に書き込む。
2−5.サブJPEG処理制御部114が、復号された画像データをCPU用メモリ160の第3メモリ領域166から読み出し、第2メモリ領域164に書き込む。
2−6.サブJPEG処理制御部114がJPEG処理制御部112に対しJPEG処理の終了を通知する。
B−2.切り出しJPEG復号処理:
それでは、本実施例におけるこのような処理をさらに詳細に説明するために、JPEG処理として、JPEG画像データに対し、画像全体の中から特定の領域を切り出してJPEG復号処理(すなわち、切り出しJPEG復号処理)を行う場合を例に挙げて、図3〜図7を用いて説明する。
図3は画像全体に対する、切り出すべき特定の領域を示す説明図である。図3に示すように、切り出すべき特定領域は、8×8画素のブロックであるMCUを単位として、15個のMCU(1−1,1−2,…,3−5)でできた領域である。かかる領域は、ユーザが、プリンタ100の操作パネル(図示せず)によって、印刷すべきJPEG画像データを選択する際に、併せて、ユーザによって指示される。
B−2−1.通常時の処理:
図4及び図5は、それぞれ、通常時において、切り出しJPEG復号処理を行う場合の処理の流れを示す説明図である。図6は切り出しJPEG復号処理の最中にエラーが発生した場合の処理の流れを示す説明図である。
では、まず、通常時の処理について、図4及び図5を用いて説明する。後述するとおり、JPEG復号処理は、図3において、切り出すべき特定領域内を、MCUを単位として、左から右に向かって行方向に、1−1,1−2,…,1−5の順に進む。次に、下の行に移り、同様に、左から右に向かって行方向に、2−1,2−2,…,2−5の順に進み、さらに、下の行に移り、同様に、左から右に向かって行方向に、3−1,3−2,…,3−5の順に進む。このうち、1つ目のMCUの行(すなわち、1−1,1−2,…,1−5)に対しては、図4に示す処理が適用され、2つ目以降のMCUの行(すなわち、2−1,2−2,…,2−5並びに3−1,3−2,…,2−5)に対しては、図5に示す処理が適用される。
一方、前述したとおり、切り出しJPEG復号処理を行う場合には、JPEG復号処理を行うのに先立って、前処理として、データ解析処理を行う必要がある。このような前処理を行う理由は、以下の通りである。
画像データに対してJPEG符号処理を行う場合、通常、8×8画素を1つのブロックとし、このブロックを単位として、処理がなされる。このブロックは、JPEG符号処理の基本単位となるため、MCU(Minimum Coded Unit)と呼ばれる。そこで、JPEG符号処理では、まず、画像データに対して、MCU単位でDCT(離散コサイン変換)および量子化を行って、量子化されたDCT係数を得て、次に、そのDCT係数のうち、DC成分値については、1つ前のMCUのDC成分値との差分を取って、その差分値をハフマン符号化し、AC成分値ついては、ジグザグスキャンにより1次元の信号系列に並べた上で、ランレングス符号化及びハフマン符号化する。
一方、画像全体の中から特定の領域を切り出してJPEG復号処理を行う場合、JPEG画像データの中から、その領域の左端にそれぞれ位置するMCU(すなわら、図3では、1−1,2−1,3−1がそれぞれ相当する。以下、先頭MCUという。)のデータをそれぞれ特定する必要がある。しかし、JPEG画像データ内において、各MCUのデータの長さは、可変長符号を用いるハフマン符号化によって、一定でなくバラパラであるため、JPEG画像データ内において、どの部分が、求めるべき先頭MCUのデータであるかが不明である。そのため、上記したデータ解析処理によって、予め、JPEG画像データ内における、各先頭MCUのデータの位置(以下、オフセット情報という)をそれぞれ求めておくのである。また、各先頭MCUにおいて、そのDC成分値を得るためには、それぞれ、その1つ前のMCU(図3では、1−0,2−0,3−0がそれぞれ相当する。)のDC成分値を用意しておく必要がある。そのため、上記したデータ解析処理によって、予め、各先頭MCUに対して、それぞれ、その1つ前のMCUのDC成分値を求めておくのである。
そこで、本実施例では、前処理であるデータ解析処理を、図4に示す処理内において、1つ目のMCUの行に対して行うJPEG復号処理に先立って、行うようにしている。従って、2つ目以降のMCUの行に対して適用される、図5に示す処理では、データ解析処理は行われない。
では、図4において、まず、上位機能部であるJPEG処理制御部112が、サブJPEG処理制御部114に対し、特定領域における行方向1ライン目について、復号済み画像データ取得要求(メッセージ)を出す。これにより、サブJPEG処理制御部114では、JPEG処理回路120に対するJPEG処理制御が開始され、JPEG処理回路120に対し、リセットを指示する。これにより、JPEG処理回路120は、内部にあるレジスタ(図示せず)の設定を初期化する。また、このとき、サブJPEG処理制御部114では、JPEG画像データをCPU用メモリ160の第1メモリ領域162から読み出して、処理回路用メモリ140のメモリ領域142に書き込む。
図7はJPEG画像データのデータ構成を示す説明図である。図7に示すように、JPEG画像データは、ヘッダ310、テーブル320、及び圧縮画像データ(JPEGストリーム)330によって構成されている。ここで、ヘッダ310は、例えば、ファイル名、圧縮方式、画像サイズ、密度単位などの情報を有している。テーブル320は、例えば、ハフマンテーブル、及び量子化テーブルなどによって構成されている。圧縮画像データ330は、JPEG方式により圧縮された画像データによって構成されている。
次に、サブJPEG処理制御部114は、JPEG処理回路120にヘッダ解析開始を指示し、これにより、JPEG処理回路120において、データ解析部122は、それに伴うレジスタの設定を行った上で、ヘッダ解析処理を開始する。
JPEG処理回路120のデータ解析部122は、メモリインターフェイス部128,メモリコントローラ130を介して、処理回路用メモリ140のメモリ領域142から、JPEG画像データのヘッダ310及びテーブル320を読み出して、ヘッダ解析を行い、JPEG復号処理に必要な情報、例えば、ハフマンテーブル,量子化テーブルなどを取得する。その後、サブJPEG処理制御部114に対して、割り込みにより、ヘッダ解析終了を通知する。
次に、サブJPEG処理制御部114は、JPEG処理回路120にデータ解析開始を指示し、これにより、JPEG処理回路120において、データ解析部122は、それに伴うレジスタの設定を行った上で、データ解析処理を開始して、メモリインターフェイス部128,メモリコントローラ130を介して、処理回路用メモリ140のメモリ領域142からJPEG画像データを読み出す。データ解析部122は、読み出したJPEG画像データに対し、順次、データ解析を行い、前述したとおり、画像を切り出しつつJPEG復号処理を行うのに必要な情報、すなわち、各先頭MCUについてのオフセット情報、及び、それら先頭MCUに対する1つ前のMCUのDC成分値をそれぞれ算出して、切り出し情報テーブルを生成する。その後、サブJPEG処理制御部114に対して、割り込みにより、データ解析終了を通知する。
次に、サブJPEG処理制御部114は、JPEG処理回路120に対し、再びリセットを指示する。これにより、JPEG処理回路120は、内部にあるレジスタの設定を初期化する。また、このとき、サブJPEG処理制御部114では、JPEG画像データをCPU用メモリ160の第1メモリ領域162から再度読み出して、処理回路用メモリ140のメモリ領域142に書き込む。
続いて、サブJPEG処理制御部114は、JPEG処理回路120に再びヘッダ解析開始を指示し、これにより、JPEG処理回路120において、JPEG復号部124は、それに伴うレジスタの設定を行った上で、ヘッダ解析処理を再び開始する。JPEG処理回路120のJPEG復号部124は、先ほどと同様にして、ヘッダ解析を行い、完了したら、サブJPEG処理制御部114に対して、割り込みにより、ヘッダ解析終了を通知する。
次に、サブJPEG処理制御部114は、JPEG処理回路120にJPEG復号開始を指示し、これにより、JPEG処理回路120において、JPEG復号部124は、それに伴うレジスタの設定を行った上で、JPEG復号を開始する。
JPEG処理回路120のJPEG復号部124は、メモリインターフェイス部128,メモリコントローラ130を介して、処理回路用メモリ140のメモリ領域142から、JPEG画像データを読み出す。そして、JPEG復号部124は、取得したハフマンテーブル,量子化テーブルや、生成した切り出し情報テーブルなどを参照して、切り出すべき特定領域のうち、1つ目のMCUの行(すなわち、図3の1−1,1−2,…,1−5)の圧縮画像データについてJPEG復号を行い、復号により得られた画像データをメモリ領域142に順次書き込む。なお、本実施例では、JPEG処理回路120のJPEG復号部124は、JPEG復号処理として、圧縮画像データに対して、ハフマン復号化処理,逆量子化処理,逆DCT処理を行った後、得られるYCbCrデータに色変換処理を施してRGBデータに変換した上で、復号後の画像データとして、メモリ領域142に書き込むようにしている。そして、サブJPEG処理制御部114は、その画像データを処理回路用メモリ140のメモリ領域142から読み出して、CPU用メモリ160の第2メモリ領域164に順次書き込む。こうして、1つ目のMCUの行のデータ全てについて、JPEG復号が完了したら、JPEG処理回路120のJPEG復号部124は、サブJPEG処理制御部114に対して、割り込みにより、JPEG復号終了を通知する。この結果、復号された画像データとして、特定領域のうち、1つ目のMCUの行の画像データが得られたことになる。上述したとおり、MCUは、8×8画素のブロックであるため、その画像データは、行方向1ライン目から8ライン目までの8ライン分の画像データに相当する。
そこで、サブJPEG処理制御部114は、先に、JPEG処理制御部112より出された、行方向1ライン目についての復号済み画像データ取得要求に対して、その応答として、復号終了(メッセージ)を通知する。
次に、JPEG処理制御部112が、サブJPEG処理制御部114に対し、特定領域における行方向2ライン目について、復号済み画像データ取得要求(メッセージ)を出すと、上述したとおり、行方向2ライン目についての復号も既に完了しているので、サブJPEG処理制御部114は、JPEG処理制御部112に対し、応答として、復号終了(メッセージ)を通知する。以下、同様の処理が、行方向8ライン目についての復号終了の通知を行うまで繰り返される。
次に、図5において、JPEG処理制御部112が、サブJPEG処理制御部114に対し、特定領域における行方向9ライン目について、復号済み画像データ取得要求(メッセージ)を出すと、サブJPEG処理制御部114は、JPEG処理回路120に対し、リセットを指示する。これにより、JPEG処理回路120は、内部にあるレジスタの設定を初期化する。
次に、サブJPEG処理制御部114は、図4の場合と同様に、JPEG処理回路120にヘッダ解析開始を指示し、これにより、JPEG処理回路120のJPEG復号部124は、それに伴うレジスタの設定を行った上で、ヘッダ解析処理を開始する。JPEG復号部124は、図4の場合と同様の、ヘッダ解析を行い、完了したら、サブJPEG処理制御部114に対して、割り込みにより、ヘッダ解析終了を通知する。
次に、サブJPEG処理制御部114は、JPEG処理回路120にJPEG復号開始を指示し、これにより、JPEG処理回路120のJPEG復号部124は、それに伴うレジスタの設定を行った上で、JPEG復号を開始する。JPEG復号部124は、図4の場合と同様に、処理回路用メモリ140のメモリ領域142から、JPEG画像データを読み出し、取得したハフマンテーブル,量子化テーブルや、図4の処理におけるデータ解析で生成した切り出し情報テーブルなどを参照して、切り出すべき特定領域のうち、2つ目のMCUの行(すなわち、図3の2−1,2−2,…,2−5)の圧縮画像データについてJPEG復号を行い、復号により得られた画像データをメモリ領域142に順次書き込む。そして、サブJPEG処理制御部114は、その画像データを処理回路用メモリ140のメモリ領域142から読み出して、CPU用メモリ160の第2メモリ領域164に順次書き込む。こうして、2つ目のMCUの行のデータ全てについて、JPEG復号が完了したら、JPEG復号部124は、サブJPEG処理制御部114に対して、割り込みにより、JPEG復号終了を通知する。この結果、復号された画像データとして、特定領域のうち、2つ目のMCUの行の画像データ(すなわち、行方向9ライン目から16ライン目までの8ライン分の画像データ)が得られたことになる。
そこで、サブJPEG処理制御部114は、先に、JPEG処理制御部112より出された、行方向9ライン目についての復号済み画像データ取得要求に対して、その応答として、復号終了(メッセージ)を通知する。
次に、JPEG処理制御部112が、サブJPEG処理制御部114に対し、特定領域における行方向10ライン目について、復号済み画像データ取得要求(メッセージ)を出すと、上述したとおり、行方向10ライン目についての復号も既に完了しているので、サブJPEG処理制御部114は、JPEG処理制御部112に対し、応答として、復号終了(メッセージ)を通知する。以下、同様の処理が、行方向16ライン目についての復号終了の通知を行うまで繰り返される。
次に、図5において、JPEG処理制御部112が、サブJPEG処理制御部114に対し、特定領域における行方向17ライン目について、復号済み画像データ取得要求(メッセージ)を出すことにより、特定領域のうち、続く、3つ目のMCUの行(すなわち、図3の3−1,3−2,…,3−5)のデータについての処理が開始されることになるが、処理内容は2つ目のMCUの行の場合と同様であるので説明は省略する。
以上のようにして、通常時において、画像全体の中から特定領域を切り出してJPEG復号処理、すなわち、切り出しJPEG復号処理が行われる。
こうして、得られた復号後の画像データ(RGBデータ)には、その後、CPU110によって、APF(Auto Photo Fine)処理が施される。APF処理としては、例えば、露出時間が長い場合に発生する偽色を除去するためのノイズ除去処理、ホワイトバランスおよび色調の調整のために実行されるトーンカーブ補正処理、人が記憶している色に合わせるための記憶色補正処理、画像の鮮やかさを調整するための彩度補正処理、および、輪郭を強調するためのシャープネス処理等がある。
次に、APF処理が施された画像データは、CPU110によって、印刷用紙サイズに合わせて画像データをリサイズするためのリサイズ処理が施された後、印刷用紙に対するレイアウトを決定するためのレイアウト処理(例えば、印刷用紙上における印刷位置の設定処理または複数枚画像を重ねる等の処理)が施される。レイアウト処理が施された画像データは、RGB表色系からプリンタの表色系であるCMYK表色系に変換する色変換処理が施され、CMYKデータに変換される。色変換処理が施された画像データは、マイクロウィーブ印刷を行うためのMW(Micro Weave)処理が施され、その後、ハーフトーン処理等が施され、印刷データとなる。こうして、得られた印刷データは、プリンタエンジン180において、印刷ヘッド用信号に変換された後、印刷ヘッド(図示せず)に供給され、印刷用紙に画像が印刷される。
B−2−2.エラー発生時の処理:
次に、図6を用い、切り出しJPEG復号処理の最中にエラーが発生した場合の処理について説明する。具体的には、図5に示すJPEG復号処理の最中に、JPEG処理回路120において、所定のエラーが発生した場合を想定している。そのため、図6において、JPEG処理回路120(すなわち、JPEG復号部124)がJPEG復号を開始するまでの処理は、図5の場合と同様であるので、説明は省略する。
そこで、JPEG処理回路120のJPEG復号部124が、JPEG復号処理を行っている最中に、所定のエラーが発生した場合、JPEG復号部124は、サブJPEG処理制御部114に対して、割り込みにより、復号エラー発生を通知するとともに、JPEG復号処理を中断する。
なお、JPEG処理回路120で発生する上記所定のエラーとしては、次のような2つのエラーが挙げられる。
1.リスタートマーカ直後にEOIマーカが存在する場合に発生するエラーである。JPEGフォーマットでは、リスタートマーカの後には、ESC(JPEGストリーム)が存在するものと規定されているため、リスタートマーカの直後に、ESCがなく、EOIマーカが存在すると、JPEGフォーマット違反となって、JPEG処理回路120では、エラーとして処理を中断する。なお、このような場合、一般的な画像処理ソフトやブラウザなどでは、JPEGフォーマット違反であるにも関わらず正常にJPEG復号されるため、プリンタにおいて、印刷処理におけるJPEG復号処理において復号できないと問題となる。
2.メモリに用意される圧縮画像データが不足している場合に発生するエラーである。JPEG処理回路120では、処理回路用メモリ140のメモリ領域142に、圧縮画像データ(JPEGストリーム)として、JPEG復号を行うのに最小限必要な量(すなわち、1MCU)が用意されていない場合には、JPEG復号ができないため、エラーとして処理を中断する。なお、JPEG処理回路120では、このエラーが一旦発生すると、例え、続きの圧縮画像データがメモリ領域142に書き込まれ、最小限必要な量が揃ったとしても、もはや、JPEG復号処理を続行することはできない。
こうして、サブJPEG処理制御部114は、JPEG処理回路120より復号エラー発生の通知を受けると、JPEG処理に関する制御対象を、JPEG処理回路120から、JPEG処理部116に切り換え、まず、サブJPEG処理制御部114は、JPEG処理部116に対し、リセットを指示する。これにより、JPEG処理部116は、管理下にあるレジスタ(図示せず)の設定を初期化する。また、このとき、サブJPEG処理制御部114では、JPEG画像データをCPU用メモリ160の第1メモリ領域162から読み出して、第3メモリ領域166に書き込む。
次に、サブJPEG処理制御部114は、JPEG処理部116にヘッダ解析開始を指示し、これにより、JPEG処理部116は、それに伴うレジスタの設定を行った上で、ヘッダ解析処理を開始する。
JPEG処理部116は、メモリコントローラ150を介して、CPU用メモリ160の第3メモリ領域166から、JPEG画像データのヘッダ310及びテーブル320を読み出して、ヘッダ解析を行い、JPEG復号処理に必要な情報(すなわち、ハフマンテーブル,量子化テーブルなど)を取得し、その後、サブJPEG処理制御部114に対して、割り込みにより、ヘッダ解析終了を通知する。
次に、サブJPEG処理制御部114は、JPEG処理部116にデータ解析開始を指示し、これにより、JPEG処理部116は、それに伴うレジスタの設定を行った上で、データ解析処理を開始して、メモリコントローラ150を介して、CPU用メモリ160の第3メモリ領域166からJPEG画像データを読み出す。JPEG処理部116は、読み出したJPEG画像データに対し、順次、データ解析を行い、画像を切り出しつつJPEG復号処理を行うのに必要な情報(すなわち、各先頭MCUについてのオフセット情報、及び、それら先頭MCUに対する1つ前のMCUのDC成分値)をそれぞれ算出して、切り出し情報テーブルを生成する。その後、サブJPEG処理制御部114に対して、割り込みにより、データ解析終了を通知する。
次に、サブJPEG処理制御部114は、JPEG処理部116に対し、再びリセットを指示する。これにより、JPEG処理部116は、管理下にあるレジスタの設定を初期化する。また、このとき、サブJPEG処理制御部114では、JPEG画像データをCPU用メモリ160の第1メモリ領域162から再度読み出して、第3メモリ領域166に書き込む。
続いて、サブJPEG処理制御部114は、JPEG処理部116に再びヘッダ解析開始を指示し、これにより、JPEG処理部116は、それに伴うレジスタの設定を行った上で、ヘッダ解析処理を再び開始する。JPEG処理部116は、先ほどと同様にして、ヘッダ解析を行い、完了したら、サブJPEG処理制御部114に対して、割り込みにより、ヘッダ解析終了を通知する。
次に、サブJPEG処理制御部114は、JPEG処理部116にJPEG復号開始を指示し、これにより、JPEG処理部116は、それに伴うレジスタの設定を行った上で、JPEG復号を開始する。
JPEG処理部116は、メモリコントローラ150を介して、CPU用メモリ160の第3メモリ領域166から、JPEG画像データを読み出す。そして、JPEG処理部116は、取得したハフマンテーブル,量子化テーブルや、生成した切り出し情報テーブルなどを参照して、切り出すべき特定領域のうち、1つ目のMCUの行(すなわち、図3の1−1,1−2,…,1−5)の圧縮画像データについてJPEG復号を行い、復号により得られた画像データを第3メモリ領域166に順次書き込む。そして、サブJPEG処理制御部114は、その画像データをCPU用メモリ160の第3メモリ領域166から読み出して、第2メモリ領域164に順次書き込む。こうして、1つ目のMCUの行のデータ全てについて、JPEG復号が完了したら、JPEG処理部116は、サブJPEG処理制御部114に対して、割り込みにより、JPEG復号終了を通知する。
このように、JPEG処理部116では、エラー発生前に、JPEG処理回路120によって既にJPEG復号を行われたデータの続きからではなく、最初から、すなわち、1つ目のMCUの行の圧縮画像データから、JPEG復号を行うようにしている。
その後、サブJPEG処理制御部114は、JPEG処理制御部112に対し、復号終了(メッセージ)を通知する。次に、JPEG処理制御部112が、サブJPEG処理制御部114に対し、特定領域における行方向2ライン目について、復号済み画像データ取得要求(メッセージ)を出すと、上述したとおり、行方向2ライン目についての復号も既に完了しているので、サブJPEG処理制御部114は、JPEG処理制御部112に対し、応答として、復号終了(メッセージ)を通知する。以下、同様の処理が、行方向8ライン目についての復号終了の通知を行うまで繰り返される。
以上のようにして、JPEG復号処理の最中に、JPEG処理回路120において、所定のエラーが発生した場合には、サブJPEG処理制御部114による制御によって、JPEG処理の実行が、JPEG処理回路120からJPEG処理部116に切り換わり、JPEG処理が継続することとなる。
なお、上記した説明では、JPEG処理回路120において、JPEG復号処理の最中に所定のエラーが発生したものとして説明したが、データ解析処理の最中に上記所定のエラーが発生した場合にも、サブJPEG処理制御部114によって、JPEG処理回路120からJPEG処理部116への同様の切り換えが行われる。
C.実施例の効果:
以上説明したように、本実施例よれば、ハードウェア構成の専用回路であるJPEG処理回路120において、所定のエラーが発生し、JPEG処理が中断したとしても、ソフトウェアで機能するJPEG処理部116が代わって、JPEG処理を行うので、JPEG処理自体を継続させることができる。よって、上記エラーの発生が印刷処理中であったとしても、JPEG処理が継続されるので、印刷の途中で印刷が終了してしまうことを回避することができる。
また、本実施例によれば、予め、JPEG画像データについて画像全体の復号が可能であるかを検証する必要もないので、動作効率が悪化することなく、処理速度の低下を防止することができる。
D.変形例:
なお、本発明は上記した実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様にて実施することが可能である。
上記した実施例では、JPEG処理回路120は、ハフマン復号化処理,逆量子化処理,逆DCT処理の他に、YCbCrデータからRGBデータへの色変換処理を行うものとして説明したが、かかる色変換処理は、CPU110で行うようにしてもよい。
上記した実施例では、画像処理装置は、印刷装置として、プリンタに搭載するものとして説明したが、画像処理装置を、プリンタ,ファックス,コピー,スキャナ等の機能を有するいわゆる複合機に搭載するようにしてもよく、ファクシミリ、コピー機などに搭載するようにしてもよい。また、画像処理装置を、印刷装置のみならず、例えば、ディジタルカメラ等のディジタル機器に搭載するようにしてもよい。
本発明の一実施例としての画像処理装置を備えるプリンタの概略構成を示すブロック図である。 図1に示す画像処理装置においてJPEG処理を行う際の制御指示やデータの流れを示す説明図である。 画像全体に対する、切り出すべき特定の領域を示す説明図である。 通常時において、切り出しJPEG復号処理を行う場合の処理の流れを示す説明図である。 通常時において、切り出しJPEG復号処理を行う場合の処理の流れを示す説明図である。 切り出しJPEG復号処理の最中にエラーが発生した場合の処理の流れを示す説明図である。 JPEG画像データのデータ構成を示す説明図である。
符号の説明
100…プリンタ
110…CPU
112…JPEG処理制御部
114…サブJPEG処理制御部
116…JPEG処理部
120…JPEG処理回路
122…データ解析部
124…JPEG復号部
126…CPUインターフェイス部
128…メモリインターフェイス部
130,150…メモリコントローラ
140…処理回路用メモリ
142…メモリ領域
150…メモリコントローラ
160…CPU用メモリ
162…第1メモリ領域
164…第2メモリ領域
166…第3メモリ領域
170…メモリカードインターフェイス部
172…メモリカード
180…プリンタエンジン
310…ヘッダ
320…テーブル
330…圧縮画像データ

Claims (4)

  1. JPEG画像データに対してJPEG復号処理を含むJPEG処理を行うことが可能な画像処理装置であって、
    ハードウェアによって構成されており、前記JPEG画像データに対して前記JPEG処理を行うことが可能なJPEG処理回路と、
    コンピュータプログラムを実行することによって、前記JPEG画像データに対して前記JPEG処理を施すことが可能なJPEG処理部と、前記JPEG処理回路及び前記JPEG処理部をそれぞれ制御することが可能な処理制御部として、それぞれ機能するCPUと、
    を備え、
    前記処理制御部は、前記JPEG処理回路が前記JPEG画像データに対し前記JPEG処理を行っている際に、前記JPEG処理回路において所定のエラーが発生した場合、前記JPEG処理部に、前記JPEG画像データに対する前記JPEG処理を行わせることを特徴とする画像処理装置。
  2. 請求項1に記載の画像処理装置において、
    前記JPEG処理回路は、論理回路によって構成されることを特徴とする画像処理装置。
  3. 請求項1または請求項2に記載の画像処理装置を備える印刷装置。
  4. JPEG画像データに対してJPEG復号処理を含むJPEG処理を行うためのJPEG処理方法であって、
    (a)ハードウェアによって構成されており、前記JPEG画像データに対して前記JPEG処理を行うことが可能なJPEG処理回路と、コンピュータプログラムを実行することによって、前記JPEG画像データに対して前記JPEG処理を施すことが可能なJPEG処理部として機能するCPUと、をそれぞれ用意する工程と、
    (b)前記JPEG処理回路に、前記JPEG画像データに対する前記JPEG処理を行わせる工程と、
    (c)前記JPEG処理回路による前記JPEG処理の最中に、前記JPEG処理回路において所定のエラーが発生した場合、前記JPEG処理部に、前記JPEG画像データに対する前記JPEG処理を行わせる工程と、
    を備えるJPEG処理方法。
JP2006241912A 2006-09-06 2006-09-06 画像処理装置、及びそれを備える印刷装置 Withdrawn JP2008067002A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006241912A JP2008067002A (ja) 2006-09-06 2006-09-06 画像処理装置、及びそれを備える印刷装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006241912A JP2008067002A (ja) 2006-09-06 2006-09-06 画像処理装置、及びそれを備える印刷装置

Publications (1)

Publication Number Publication Date
JP2008067002A true JP2008067002A (ja) 2008-03-21

Family

ID=39289316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006241912A Withdrawn JP2008067002A (ja) 2006-09-06 2006-09-06 画像処理装置、及びそれを備える印刷装置

Country Status (1)

Country Link
JP (1) JP2008067002A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012134776A (ja) * 2010-12-21 2012-07-12 Canon Inc 画像処理装置、画像処理方法、及びプログラム
CN113507610A (zh) * 2021-06-07 2021-10-15 翱捷智能科技(上海)有限公司 一种主从系统多路并发解码jpg图像的方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000115277A (ja) * 1998-10-05 2000-04-21 Canon Inc 符号化復号化装置及び画像形成システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000115277A (ja) * 1998-10-05 2000-04-21 Canon Inc 符号化復号化装置及び画像形成システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012134776A (ja) * 2010-12-21 2012-07-12 Canon Inc 画像処理装置、画像処理方法、及びプログラム
CN113507610A (zh) * 2021-06-07 2021-10-15 翱捷智能科技(上海)有限公司 一种主从系统多路并发解码jpg图像的方法及装置

Similar Documents

Publication Publication Date Title
JP3000744B2 (ja) マルチファンクション画像処理装置
JP3861964B2 (ja) プリンタ及び該プリンタにおける画像データの処理方法
JP5383416B2 (ja) 画像処理装置及びその制御方法とプログラム
JP2008017441A (ja) データ処理装置とデータ処理方法とプログラム
US7720293B2 (en) Image processing apparatus, printing apparatus and image processing method
JP2006304243A (ja) 画像処理装置、印刷装置、および、画像処理方法
JP2008067002A (ja) 画像処理装置、及びそれを備える印刷装置
JP3384553B2 (ja) 印刷システム
JP3791505B2 (ja) 画像処理装置
US8582168B2 (en) Image processing apparatus and processing method thereof
JP5084688B2 (ja) 画像形成装置
JP2008067001A (ja) 画像処理装置、及びそれを備える印刷装置
JP4136347B2 (ja) システムコントローラ、システムコントローラを有する画像形成装置及びdma転送方式
JP4136573B2 (ja) 画像処理方法、画像処理装置、プログラム及び記録媒体
JP2006101014A (ja) 画像処理装置およびこれを備えるプリンタ、画像処理方法
US11314995B2 (en) Image processing apparatus, image processing method, and storage medium
JP3735583B2 (ja) デジタルカラー複写機
JP2009303232A (ja) 画像処理装置、印刷装置、および、画像処理方法
JP3825899B2 (ja) 画像出力装置及び方法
JP4901781B2 (ja) 画像形成装置
JP4455566B2 (ja) Dma転送方式
JP2004253909A (ja) 画像処理方法
JP5184959B2 (ja) 画像復号装置及びその制御方法
JPH11187253A (ja) 画像処理装置及び方法
JP2004237472A (ja) 画像処理装置

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090710

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090716

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090716

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20090722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110407