JP4074832B2 - Data processing method and data processing apparatus - Google Patents
Data processing method and data processing apparatus Download PDFInfo
- Publication number
- JP4074832B2 JP4074832B2 JP2003129486A JP2003129486A JP4074832B2 JP 4074832 B2 JP4074832 B2 JP 4074832B2 JP 2003129486 A JP2003129486 A JP 2003129486A JP 2003129486 A JP2003129486 A JP 2003129486A JP 4074832 B2 JP4074832 B2 JP 4074832B2
- Authority
- JP
- Japan
- Prior art keywords
- array
- data
- compressed
- compressed data
- data sets
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、JPEG方式などで圧縮されたデータ列を伸長する方法に関するものである。
【0002】
【従来の技術】
近年、デジタルカメラで撮影した画像などはJPEG方式で圧縮されたデータ列として保存することが可能である。そのJPEG方式で圧縮されたデータ群は、パーソナルコンピュータに保存したり、ウェブサイトにアップロードしてブラウザを介して伸長し画像として公開することが可能である。また、JPEG方式で圧縮されたデータ群を伸長して印刷用のデータを作成し、それにより画像をプリントアウトすることも可能である。
【0003】
JPEG方式によると、画像は複数のマトリクス(画素領域または画素ブロック)に分割され、個々の画素領域を形成する情報、すなわち、画素データがエントロピー符号化(可変長符号化とも称される)であるハフマン方式により圧縮される。したがって、画像データを蓄積するためのデータ画素領域毎の画素データが圧縮されたデータセットは最小符号化単位(MCU)と称され、JPEG方式で圧縮された画像ファイルには、MCUの階層では、複数のMCUがスキャン方向の順番で並んで収納されている。
【0004】
【特許文献1】
特開2000−278685号公報
【0005】
【発明が解決しようとする課題】
JPEG方式では、画像データが可変長符号化を用いて圧縮されるのでデータ量を大幅に減少でき、画像データを蓄積したり、画像データを伝送するのに適している。その一方で、画像データの途中の情報にアクセスしようとすると、最初から順番にMCUを伸長あるいは復号していかないといけないと言う問題がある。画素データは可変長符号化された後にスキャン方向に並べられているので符号化された各々のMCUのサイズは異なる。このため、先頭のMCUから順番に復号していかないと、各々のMCUの先頭または終わりを把握できない。
【0006】
したがって、JPEG方式で圧縮されたデータ群に対して、MCUの並びと一致しない順番でMCUを利用したい事態が発生したときにJPEG方式で圧縮されたデータ群の処理はとたんに面倒なものになる。たとえば、画像を印刷する際に、MCUが並んだスキャン方向に画像の先頭からヘッドを動かして印刷する場合はMCUを順番に伸長できるから良いとしても、スキャン方向とは異なる方向、たとえば、スキャン方向に直交するサブスキャン方向に印刷したり、スキャン方向に逆行する末端から印刷する場合は、事前に全てのMCUを復号して2次元画像を表すドットマトリクスのデータを用意しておく必要がある。このため、膨大なデータを保持できるだけの大容量のメモリが必要になり、あるいは、圧縮した状態で画像データをプリンタに送信できなくなるので、JPEG方式で画像データを圧縮したメリットはなくなる。
【0007】
特開2000−278685号公報には、JPEG方式で圧縮されたデータ列を事前スキャナにより開始位置からシーケンシャルに復号することにより、指定されたイメージ領域に関する位置情報を事前走査テーブルとして記憶することが記載されている。一旦事前走査動作が実行されたならば、イメージ領域には直接にアクセスすることができるので、事前スキャナによって位置情報が事前走査テーブルに記憶されているいかなる符号化イメージ領域に関してもシーケンシャル走査は必要とされないことが記載されている。
【0008】
この処理方法は、事前にJPEGデータ全体を伸長して画像全体のドットマトリクスをメモリに保持しておかなくても良いので、メモリ容量が少なくても印刷することができ、JPEG方式のメリットを維持できる。しかしながら、位置情報を記憶するために事前走査テーブルを新たに作成してメモリに保持しておく必要がある。したがって、JPEG方式で圧縮されたデータに加えて、事前走査テーブルを記憶する容量のメモリは最低限必要になる。特開2000−278685号公報においては、イメージ領域のすべてより少ない領域に関する位置情報を記憶することにより、事前走査テーブルに必要な記憶装置の量を減らすことが記載されている。しかしながら、イメージ領域に直接にアクセスするためには位置情報を記憶しないといけないので、事前走査テーブルに割かれるメモリ容量をゼロにするわけにはいかない。
【0009】
さらに、この処理方法は、イメージ領域に直接にアクセスするために事前走査テーブルを参照しないといけない。すなわち、位置情報が事前走査テーブルに記憶されていない符号化イメージ領域に関しては、そのイメージ領域にアクセスするために伸長作業を伴うシーケンシャル走査をしないといけなくなる。したがって、事前走査テーブルに割かれるメモリ容量をセーブしようとして事前走査テーブルに記憶される位置情報を削減すると、処理速度が低下してしまう。
【0010】
そこで、本発明においては、少ない容量のメモリでJPEG方式のようにエントロピー符号化を用いて圧縮されたデータを高速に処理することができるデータ処理方法を提供することを目的としている。また、そのようなデータ処理方法を実現することができるプログラムおよびデータ処理装置、さらには、プリンタを提供し、エントロピー符号化を用いて圧縮されたデータをより少ない容量のメモリでフレキシブルに処理できるようにすることを目的としている。
【0011】
【課題を解決するための手段】
このため、本発明においては、画素領域毎に圧縮されたデータセットによりデータ群が構成されていることに着目し、フレキシブルな処理を行うために圧縮されたデータ全体を伸長(または伸張)してしまうのではなく、圧縮された各々のデータセットはそのまま圧縮された状態で順番を検出し、データセットの並び替えを行うことにより、フレキシブルな処理を可能にする。したがって、本発明によれば、オリジナルのデータ配列と異なる順番で処理を行うために、画像データ全体を伸長するほどの容量のメモリは不要であり、また、各データセットの位置情報を保存するため余分なテーブルも不要である。
【0012】
すなわち、本発明のデータ処理方法は、画像を複数の画素領域に分割し、各々の画素領域に含まれる画素データを少なくともエントロピー符号化を用いて圧縮した複数の圧縮データセットが第1の配列で並んだ第1のデータ群から各々の圧縮データセットを順番に検出し、第1の配列とは異なる第2の配列に並べることにより第2のデータ群を生成する再配列工程を有する。各々の圧縮データセットは、第1の配列に依存した差分情報を備えており、再配列工程は、各々の圧縮データセットを、第1の配列に従って順番に検出するとともに、第1の配列に依存した差分情報を累積した値を求めることと、各々の圧縮データセットと、各々の圧縮データセットに対応する差分情報を累積した値とが、第2の配列に従った順番で交互に並ぶように、第2のデータ群を生成することとを含む、この再配列工程を用いることにより、第1のデータ群を受信したときに、順番に検出された各々の圧縮データセットを第2の配列を形成するための転送先、例えば適当なメモリのアドレスへ出力することにより第2のデータ群を形成することができる。したがって、後続の処理に適した第2の配列で圧縮データセットが並んだ第2のデータ群をメモリなどの記録媒体に格納するだけで、オリジナルの第1のデータ群の内容を保存することが可能となる。このため、後続の処理のためにオリジナルの第1のデータ群全体をメモリに展開する必要はない。また、第1のデータ群をメモリに格納すると共にその位置情報を検出し、位置情報を含むテーブルを別途作成して記憶するという手間と、テーブルを格納するために必要となる余分なメモリ容量も省くことができる。
【0013】
したがって、本発明のデータ処理方法が、再配列工程につづいて、第2のデータ群に含まれる複数の圧縮データセットを第2の配列に従い伸長して出力する工程を有する場合は、第2のデータ群に配列にしたがってアクセスするだけで処理を実行することができる。このため、本発明により、データ群に含まれる圧縮データセットに対して、その圧縮データセットの位置情報に基づいてダイレクトにアクセスしなくてはならないという問題の発生を阻止することができる。そして、本発明においては、圧縮データセットは圧縮されたままで格納されるので、メモリ容量の増加や、事前に全ての圧縮データを伸長するために費やされる処理時間の増加を防止することができ、経済的なハードウェアにより短時間で所望の処理を進めることができる。
【0014】
したがって、本発明は、本発明のデータ処理方法が実行可能なプログラムあるいはプログラム製品およびデータ処理装置をも提供する。すなわち、本発明のプログラムは、画像を複数の画素領域に分割し、各々の画素領域に含まれる画素データを少なくともエントロピー符号化を用いて圧縮した複数の圧縮データセットが第1の配列で並んだ第1のデータ群から各々の圧縮データセットを順番に検出し、第1の配列とは異なる第2の配列に並べることにより第2のデータ群を生成する再配列工程をコンピュータにおいて実行可能な命令を有する。このプログラムは適当な記録媒体に記録したり、コンピュータネットワークを介して提供することが可能である。また、再配列工程では、コンピュータが受信した第1のデータ群から順番に検出された各々の圧縮データセットを第2の配列を形成するための転送先へ出力する処理を実行することにより第2のデータ群を生成することができ、コンピュータが管理するメモリをより有効に活用できる。コンピュータには、パーソナルコンピュータのように単独で動作するものに加えて、プリンタなどの周辺機器を制御するために周辺機器に実装されているCPUなどのプロセッサも含まれる。そして、プログラムには、第2のデータ群に含まれる複数の圧縮データセットを第2の配列に従い伸長して出力する工程を実行する命令を含めることができる。
【0015】
また、本発明のデータ処理装置は、画像を複数の画素領域に分割し、各々の画素領域に含まれる画素データを少なくともエントロピー符号化を用いて圧縮した複数の圧縮データセットが第1の配列で並んだ第1のデータ群から各々の圧縮データセットを順番に検出し、第1の配列とは異なる第2の配列に並べることにより第2のデータ群を生成する再配列手段を有する。各々の圧縮データセットは、第1の配列に依存した差分情報を備えており、再配列手段は、各々の圧縮データセットを、第1の配列に従って順番に検出するとともに、第1の配列に依存した差分情報を累積した値を求める部分伸長機能と、各々の圧縮データセットと、各々の圧縮データセットに対応する差分情報を累積した値とが、第2の配列に従った順番で交互に並ぶように、第2のデータ群を生成する転送機能とを含む。再配列手段は、第1のデータを受信し、順番に検出された各々の圧縮データセットを第2の配列を形成するための転送先へ出力することにより第2のデータ群を生成することができる。また、データ処理装置には、第2のデータに含まれる複数の圧縮データセットを第2の配列に従い伸長して出力する手段を含めることができる。
【0016】
本発明のデータ処理方法の1つの極めて有用なアプリケーションの形態は印刷である。すなわち、本発明においては、上述した再配列工程と、第2のデータ群に含まれる複数の圧縮データセットを第2の配列に従い伸長して印刷する工程を有する印刷方法を提供する。また、再配列手段と、第2のデータに含まれる複数の圧縮データセットを第2の配列に従い伸長して印刷する手段を有する印刷装置を提供する。
【0017】
上述したJPEG方式、また、それに類似する圧縮構造を持つMPEG方式などにおいては、各々の圧縮データセットが、オリジナルの第1のデータ群の第1の配列に依存した差分情報を備えている場合がある。例えば、JPEG方式においては、各々の圧縮データセットは、2次元画像の画素領域に含まれる画素データが少なくとも離散コサイン変換、量子化およびハフマン符号化により圧縮されており、さらに、量子化された離散コサイン係数の値を差分情報として含んでいる。したがって、第1の配列と異なる第2の配列に圧縮データセットを並び変えた場合は、含まれている差分情報がそのままでは利用できない可能性がある。このため、再配列工程および再配列手段では、各々の圧縮データセットを順番に検出すると共に各々の圧縮データセットに対応する差分情報の絶対値を求め、複数の圧縮データセットとそれらに対応する絶対値が第2の配列に従って含まれた第2のデータ群を生成することが望ましい。圧縮データセットがJPEG方式あるいはそれに類似する方式で圧縮されている場合は、再配列工程および再配列手段では、各々の圧縮データセットに対応する離散コサイン係数の絶対値を求め、複数の圧縮データセットとそれらに対応する離散コサイン係数の絶対値が第2の配列で含まれた第2のデータ群を生成することが望ましい。
【0018】
本発明の一例は、第1のデータ群には、2次元画像のスキャン方向を主とする第1の配列で複数の圧縮データセットが含まれている場合に、再配列工程および再配列手段により、2次元画像のサブスキャン方向を主とする第2の配列で複数の圧縮データセットが含まれている第2のデータ群を生成するものである。サブスキャン方向に印刷する場合に有効であり、JPEG圧縮されたデータを小容量のメモリで、高速印刷が可能なプリンタを低コストで提供できる。メモリやディスクなどの外部記憶装置は、製品を構成する部品においてコスト的に大きな割合を占めており、記憶容量を削減できることは経済的な効果が大きい。
【0019】
第2の配列は、上記に限定されることはなく、スキャン方向と逆方向に配列したり、第1の配列の一部を抜き出して第2の配列としたりすることが可能であり、後続の処理に適した種々の配列を第2の配列として選択することができる。
【0020】
【発明の実施の形態】
以下に図面を参照して本発明をさらに詳しく説明する。図1に本発明のデータ処理装置を備えたプリンタの概略を示してある。プリンタ1は、デジタルカメラ等の周辺機器やパーソナルコンピュータなどのホスト装置からJPEG方式で圧縮されたデータ列またはデータ群(以降においてはJPEGデータまたは第1のデータ群)φ1を取得して、伸長して印刷する。第1のデータ群φ1は、コンパクトフラッシュ(登録商標)やメモリスティック(登録商標)などのストレージを読み取り可能なインターフェイス、またはホスト装置や周辺機器との通信を可能とするUSBなどの通信インターフェイス11を介してプリンタ1に提供される。
【0021】
プリンタ1は、印刷用紙2にインク滴を吐出する複数のノズル3を備えた印刷ヘッド4と、この印刷ヘッド4をシャフト5に沿って紙幅方向を印刷時のスキャン方向として往復動するためのモータ6と、印刷時のスキャン方向と直交する紙送り方向に印刷用紙2をフィードするためにローラ7を駆動するモータ8とを有している。さらに、プリンタ1は、CPU、RAM、ROMなどによって構成される制御部10を有しており、この制御部10によりモータ6および8やノズル3からインク滴を吐出するタイミングが制御される。
【0022】
この制御部10は、第1のデータ群φ1を受信するときに、第1のデータ群φ1に第1の配列で含まれている複数の圧縮データセット、すなわち、JPEG方式ではMCUを、第2の配列に並び替え、第2のデータ群φ10としてRAM12に記憶するデータ受信部22を備えている。第1のデータ群φ1ではMCUが画像のスキャン方向Xで配列(第1の配列)されている場合に、データ受信部22において、MCUが印刷のスキャン方向Yで配列(第2の配列)された第2のデータ群φ10に変換してRAM12に格納する。これにより、プリンタ1では、第2のデータ群φ10に含まれたMCUをその順番で伸長して印刷することにより、プリンタのスキャン方向で簡単に第1のデータ群φ1で与えられた画像を印刷することができる。すなわち、本例のプリンタ1では、2次元画像のサブスキャン方向Yが印刷するときのスキャン方向となっており、以降では、データ列φ1のスキャン方向Xを基準となるスキャン方向として説明する。
【0023】
さらに具体的に説明すると、本例の制御部10は印刷データの処理を行うデータ処理部20と、処理されたデータに基づいてモータ6、8およびヘッド4を制御してプリントアウトする機構制御部21とを備えている。データ処理部20に含まれる本例のデータ受信部22は、インターフェイス11から供給された第1のデータ群φ1に含まれる複数のMCUの順番を検出し、それぞれのMCUを、第2の配列になるようにRAM12の所定のアドレスに転送してMCUの並び順を変更して第2のデータ群φ10を生成する再配列手段として機能する。さらに、データ処理装置20は、RAM12に記録された第2のデータ群φ10に基づき、MCUを順番に伸長して出力する出力部25を備えている。
【0024】
圧縮方式の1つであるJPEG(Joint Photographic Cording Experts Group)方式は、1つの画像を形成するドットマトリクスの情報が、その左側から右側に、そして上から下、すなわち、左上から右下に向って8ドット×8ドットの画素領域あるいは画素ブロックに分割され、その画素領域の単位でMCUとして圧縮格納されている。画像を形成するドットマトリクスの単位は8ドット×8ドットに限定されるものではないが、分割された小マトリクスを1つの画素ブロックとして1つの圧縮データセット(MCU)とし、複数の圧縮データセットが画像のスキャン方向、すなわち、左上から右下に向って順番に並べられた状態で集合体となり、それが1つの画像を圧縮したJPEGデータとなる。これが本例における第1のデータ群である。
【0025】
JPEG方式により画像を圧縮する過程をもう少し説明する。まず、画像を形成するドットマトリクスを、画像データの原色系(RGB)の色空間から色差系(YCbCr)の色空間の画素データに変換する。次に、8ドット×8ドットの画素ブロックに分割し、このブロック単位で変換された画素データを離散コサイン変換(DCT:Discrete Cosine Transform)する。さらに、離散コサイン変換時に得られたDCT係数を、量子化テーブルを用いて量子化する。量子化されたDCT係数は、さらに、エントロピー符号化あるいは可変長符号化の1つであるハフマン符号を用いて圧縮される。ハフマン符号化の際、量子化されたDCT係数のDC成分およびAC成分のうち、DC係数(成分)は直前の画素ブロックのDC係数に対する差分値が符号化される。このため、データ列φ1を復号する際には、MCUで圧縮されたデータを、圧縮したときの逆の手順、すなわち、ハフマン復号化、逆量子化、逆DCT、RGB変換という伸長処理を行うことで2次元画像のデータに伸長される。
【0026】
JPEG方式で圧縮されたデータ群φ1においては、各々のMCUが可変長符号化されているので、各々のMCUはサイズが異なる。したがって、ハフマン復号化しないと各々のMCUを識別できない。逆に言うと、ハフマン復号化すれば、逆量子化や逆DCTを含めた全ての伸長処理を実行しなくても、各々のMCUを検出あるいは識別することが可能である。このため、データ受信部22は、受信したデータ群φ1の先頭から順番にハフマン復号化しながら各々のMCUを検出する部分伸長機能23と、検出されたMCUを第2の配列を形成するためのRAM12のアドレスに出力する転送機能24を備えている。したがって、データ受信部22が全ての第1のデータ群φ1を受信してRAM12にデータを格納すると、RAM12にはMCUが第2の配列に並び順が変えられた第2のデータ群φ10が形成される。
【0027】
本例のデータ受信部22では、第1のデータ群φ1はRAM12に記憶せず、また、MCUを検出する際にハフマン復号化までは行うが、ハフマン復号化される前の、ハフマン符号化された状態のMCUをRAM12に格納する。このため、RAM12は、データ群φ1に含まれるMCUを記録できる程度の容量があれば、第2のデータ群φ10を記録できる。したがって、オリジナルのデータ群φ1を記憶する程度の容量のメモリにより、再配列された第2のデータ群φ10を記憶できる。実際には、以下に示すように、各々のMCUのDC係数の絶対値を対応して格納するため、若干余分にメモリ領域を消費する。
【0028】
上述したように、MCUにはDC係数が差分情報として含まれている。したがって、第2の配列に並び替えると、そのままでは利用できない情報となる。このため、データ受信部22の部分伸長機能23において、部分伸長することにより各々のMCUの差分情報として表されたDC係数が得られるので、それらを累積演算し、直前のMCUまでのDC係数の絶対値を求める。さらに、出力機能24が、MCUと共にDC係数の絶対値をRAM12に転送してこれらを関連付けて記憶する。これにより、MCUが第2の配列で並んだ第2のデータ群φ10においても、MCUを順番に伸長できる。
【0029】
図2に、本例のデータ受信部22により第2のデータ群φ10が生成される様子を示してある。この例では、第1のデータ群φ1にスキャン方向Xに順番に含められた複数のMCUを、サブスキャン方向Yに並べ替えて第2のデータ群φ10を生成する。部分伸長機能23により、第1のデータ群φ1に含まれるMCU1が検出されると、転送機能24により、RAM12のカラム0の領域12aの先頭アドレスにMCU1が転送される。同時に、それまでに累積されたDC係数の絶対値φ12がMCU1の後に記録されるように転送される。絶対値φ12を先に記録しても良い。次に、部分伸長機能23により、次のMCU2が識別されると、転送機能24により、RAM12の次のカラム1の領域12bの先頭アドレスにMCU2が転送される。同時にMCU1までの差分情報が累積された絶対値φ12がMCU2の後に記録されるように転送される。第1のデータφ1を受信する処理が進んで、部分伸長機能23によりMCU17が識別されると、このMCU17は、サブスキャン方向YではMCU1の次に並べられるので、転送機能24は、MCU17を1カラム0の領域12aのMCU1の後のアドレスに転送する。このように第1のデータφ1を受信してRAM12に格納する処理を繰り返すことにより、RAM12には、サブスキャン方向YにMCUが並んだ第2のデータ群φ10が格納される。
【0030】
データ処理部20の出力部25は、少なくともRAM12のカラム0の領域12aに、第2のデータ群φ10のサブスキャン方向Yの一列分のデータ列φ13が記録されると処理を開始することができる。カラム0のメモリ領域12aに、2次元画像のスキャン方向Xの左端のサブスキャン方向Yを構成するMCU1、MCU17、MCU33、MCU49、MCU65、MCU81、MCU97、MCU113、MCU129、およびMCU144のそれぞれが対応するDC絶対値φ12とペアで記録されると、印刷するためのスキャン方向Yの一列分のデータφ13が生成される。このため、出力部25は、データ列φ13に含まれるMCUを伸長し、印刷データとして機構制御部21に送り、印刷を開始する。この例では、印刷ヘッド4の動きに合わせて、出力部25はカラム0のメモリ領域12aに記録されたデータ列φ13のMCUを最後から先頭に向けて順番に伸長し、印刷ヘッド4の動きに適合した印刷データを出力することができる。プリンタ1において、印刷ヘッド4が移動するライン分の印刷データを記憶するだけのメモリ領域を使用できるのであれば、データ列φ13のMCUを先頭から順番に伸長しても良い。いずれの場合も、出力部25においては、各々のMCUが第1のデータ群φ1に記録されていた通りの順番では伸長されないが、ハフマン復号化は可能であり、さらに、その後はMCUと共に記録されたDC係数の絶対値φ12を使用することにより、逆量子化、逆DCT、およびRGB変換の伸長処理の全過程を経て、全てのMCUを伸長することができる。
【0031】
図3に、本例のプリンタ1において、第1のデータ群φ1を受信してから印刷するまでの処理の概要を、フローチャートを用いて示してある。ステップ41において、受信する第1のデータ群φ1があると、ステップ42において、データ受信部22の部分伸長機能23によりハフマン復号化のみを行い、第1のデータ群φ1に含まれるMCUを順番に検出する。このステップ42においてはDC係数の絶対値φ12も算出される。MCUが検出されると、ステップ43において、検出されたMCUの転送先(RAM12のアドレス)を設定し、ステップ44において、検出されたMCUとDC係数の絶対値φ12とをRAM12に転送する。ステップ41において、受信する第1のデータ群φ1が終了するまで繰り返すことにより、RAM12にMCUが並び替えられた第2のデータφ10が生成されるので、受信が終了すると、あるいは、受信途中でも印刷できるデータ列φ13が整えば、ステップ47において、出力部25により、並び替えられた第2の配列に従ってMCUが伸長され、ステップ48において印刷される。
【0032】
これらの処理は、上記の各ステップの処理を、プリンタ1の制御部10を構成するCPUあるいはASICなどのプロセッサあるいはマイクロコンピュータにより実行する命令を有するプログラムとして提供することができる。このプログラムは、プリンタ1のファームウェア18としてROM19に記憶して提供し、利用することができる。また、インターネットなどのコンピュータネットワークを介して提供し、プリンタ1にインストールして利用することができる。また、上記の各ステップは、ハードウェアロジックにより実現することも可能であり、制御部10として、そのようなハードウェアロジックを実装したプロセッサを採用することも可能である。また、一部の処理をハードウェアにより実行し、残りの処理をソフトウェアにより実行することも可能である。
【0033】
このように、第1のデータ群φ1に含まれるMCUを適当な第2の配列に並び替え、第2のデータ群φ10として記憶できるデータ処理装置20を有するプリンタ1では、第2のデータ群φ10を記憶できるメモリ容量さえあれば、JPEG方式で圧縮された第1のデータ群φ1に含まれるMCUの順番とは無関係にフレキシブルな順番でMCUを伸長して印刷することができる。上記の例では、2次元画像のスキャン方向Xに配列された複数のMCUをサブスキャン方向Yに印刷することができる。そして、第2のデータ群φ10には、圧縮された状態のままのMCUが含まれているので、本来のJPEGデータφ1を格納するのとほぼ同じ程度のメモリ領域があれば足り、オリジナルのデータφ1や各々のMCUの位置情報を格納するためのメモリ領域は不要であり、データ記憶用のリソースは非常に少なくて良い。
【0034】
さらに、データを受信した以降は、RAM12に生成された第2のデータ群φ10に含まれるMCUの配列に基づき処理を進めることができるので、位置情報に基づいてランダムにMCUにアクセスする必要もない。したがって、印刷などの後続の処理を実行するために、RAM12に記憶された個々のMCUに対して位置情報に基づきランダムにアクセスするような処理を高速で実行できるようなハードウェアリソースも不要となる。また、データを受信した以降の処理では、必要な順番でMCUが参照できるため、その都度、ハフマン復号化より後の処理を行えば良い。このため、展開後のデータ処理に限って必要な記憶装置の容量は非常に少なくて良く、この点でもプリンタ1に搭載する記憶装置の容量を低減できる。小容量のメモリ装置は、マイクロプロセッサのチップ内に構成することも可能であり、部品点数の低減効果も得られ、さらに、コストダウンが可能である。また、プロセッサ内部にメモリ装置を搭載した場合、プロセッサ内の高速な幅広いバスで動作可能なメモリにできるので、キャッシュメモリを積まない安価なプロセッサを用いて高速に動作するプリンタを提供することが可能となる。
【0035】
また、JPEGデータφ1を処理するために使用するメモリ容量が少なくて済むという効果が得られるので、プリンタに限定されず、携帯端末のように、大きな容量の記憶装置を搭載し難いデータ処理装置において、JPEG方式あるいは類似の圧縮アルゴリズムを採用しているMPEG方式で圧縮されたデータを取り扱うのに本発明は適している。
【0036】
図4に、携帯端末50から再配列後のデータ列φ10をプリンタ1aに送信して印刷する例を示してある。端末50では、ブラウザなどの画像処理ができるアプリケーション51が稼動しており、インターネット59からJPGEデータφ1をダウンロードして表示できるようになっている。アプリケーション51から画像をプリントする場合は、プリンタドライバ53がJPEG方式で圧縮された第1のデータ群φ1に含まれるMCUをプリンタ1aで印刷するのに適した第2の配列に変換してメモリ52に記憶するデータ受信部56を備えている。そして、メモリ52に、第2の配列でMCUが並んだ第2のデータφ10がスプールファイルとして生成され、それが印刷データとしてプリンタドライバ53からプリンタ1aに供給される。プリンタドライバ53のデータ受信部56も、インターネット59およびLANインターフェイス58などを介して受信した第1のデータ列φ1を部分伸長(ハフマン復号化)することによりMCUを検出する部分伸長機能54と、検出されたMCUを印刷用の配列に並び替える転送機能55とを備えている。プリンタ1aでは、印刷に適した配列にMCUが並んだ第2のデータ群φ10がデータ受信部29により受信され、メモリ12に記憶される。そして、出力部25により伸長されて出力される。
【0037】
なお、JPEG方式で圧縮されたデータ列には、DHP(Define Hierarchical Progression)を含む階層符号化型のデータや、DHPマーカが挿入されない形式のデータがあるが、本発明はいずれのデータにも適用可能である。また、JPEG方式で圧縮されたデータ群の処理に限らず、MPEG方式などの、2次元画像が複数のマトリクスに分割され、各々のマトリクスが1つの画素ブロックとなり、その画素ブロック内に含まれる画素データが少なくともエントロピー符号化(可変長符号化)により圧縮された圧縮データセットが、第1の配列で並べられた第1のデータ群を処理する場合には、本発明を適用できる。
【0038】
また、上記では、インクジェットタイプのプリンタ1、1aを例に説明したが、サーマルタイプやレーザタイプのプリンタであっても良い。さらに、印刷ヘッド13を移動または走査させながら印刷するタイプに限定されずに、ラインタイプのプリンタにも本発明は適用できる。また、プリンタは、ファクシミリやコピーなどの印刷する機能を有する機器を全て含む概念である。さらに、印刷処理に限らず、圧縮された順番と異なる順番で画面に画像を表示するような処理においても本発明は適用できる。
【0039】
【発明の効果】
以上に説明したように、本発明においては、JPEG方式などで圧縮された第1のデータ群に含まれる複数の圧縮データセットを順番に検出し、それらの圧縮データセットを異なる順番に並び替えた第2のデータ群を形成する。したがって、圧縮データセットを圧縮されたままの状態で配列だけを変えることになり、本発明により、データ群を記憶するための容量をほとんど増加させずに、オリジナルのデータ群とは異なる順番でフレキシブルに、そして、余分な処理を発生させずに高速で所望の圧縮データセットにアクセスすることが可能となる。
【0040】
したがって、本発明をプリンタに適応することにより、少ない容量のメモリで、JPEGデータを様々な順番で印刷することが可能なプリンタを低コストで提供することができる。
【図面の簡単な説明】
【図1】本発明のデータ処理装置が搭載されたプリンタの概略を示す図である。
【図2】データ処理装置の再配列部によりデータ列の複数のMCUの並びが変更される様子を示す図である。
【図3】図1に示すプリンタにおける印刷処理を示すフローチャートである。
【図4】データ列の再配列が外部機器で行われる例を示す図である。
【符号の説明】
1、1a プリンタ
4 印刷ヘッド
12 RAM
20 データ処理装置
22 再配列部
23 部分伸長機能
24 転送機能
25 出力部
φ1 第1のデータ群
φ10 第2のデータ群
X スキャン方向
Y サブスキャン方向[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for decompressing a data string compressed by the JPEG method or the like.
[0002]
[Prior art]
In recent years, an image taken by a digital camera can be stored as a data string compressed by the JPEG method. The data group compressed by the JPEG method can be stored in a personal computer, uploaded to a website, decompressed via a browser, and released as an image. It is also possible to create data for printing by expanding a data group compressed by the JPEG method, and thereby print out an image.
[0003]
According to the JPEG method, an image is divided into a plurality of matrices (pixel regions or pixel blocks), and information forming individual pixel regions, that is, pixel data is entropy coding (also referred to as variable length coding). It is compressed by the Huffman method. Therefore, a data set in which pixel data for each data pixel area for storing image data is compressed is called a minimum encoding unit (MCU), and an image file compressed by the JPEG method has A plurality of MCUs are stored side by side in the scan direction.
[0004]
[Patent Document 1]
JP 2000-278865 A
[0005]
[Problems to be solved by the invention]
In the JPEG method, since the image data is compressed using variable length coding, the amount of data can be greatly reduced, and it is suitable for storing image data and transmitting image data. On the other hand, when trying to access information in the middle of image data, there is a problem that the MCU must be expanded or decoded in order from the beginning. Since the pixel data is variable-length encoded and then arranged in the scan direction, the size of each encoded MCU is different. For this reason, unless it decodes in order from the head MCU, the head or the end of each MCU cannot be grasped.
[0006]
Therefore, when a situation occurs in which an MCU is desired to be used in an order that does not match the MCU order for a data group compressed by the JPEG method, the processing of the data group compressed by the JPEG method becomes more troublesome. Become. For example, when printing an image, if the head is moved from the top of the image in the scan direction in which the MCUs are arranged and printed, the MCU can be expanded in order, but the direction different from the scan direction, for example, the scan direction In the case of printing in the sub-scan direction orthogonal to or from the end reverse in the scan direction, it is necessary to prepare dot matrix data representing a two-dimensional image by decoding all the MCUs in advance. For this reason, a large-capacity memory capable of holding an enormous amount of data is required, or the image data cannot be transmitted to the printer in a compressed state, so there is no merit of compressing the image data by the JPEG method.
[0007]
Japanese Patent Laid-Open No. 2000-278685 describes that position information relating to a specified image area is stored as a pre-scan table by sequentially decoding a data sequence compressed by the JPEG method from a start position by a pre-scanner. Has been. Once the prescan operation has been performed, the image area can be accessed directly, so sequential scanning is required for any encoded image area whose position information is stored in the prescan table by the prescanner. It is stated that it will not.
[0008]
This processing method does not need to decompress the entire JPEG data in advance and store the dot matrix of the entire image in the memory, so printing can be performed even with a small memory capacity, and the advantages of the JPEG method are maintained. it can. However, a new pre-scan table needs to be created and stored in the memory in order to store the position information. Therefore, in addition to the data compressed by the JPEG method, a memory having a capacity for storing the pre-scan table is required at a minimum. Japanese Patent Laid-Open No. 2000-278585 describes that the amount of storage device required for the pre-scan table is reduced by storing position information relating to an area smaller than all of the image areas. However, since the position information must be stored in order to directly access the image area, the memory capacity allocated to the pre-scan table cannot be reduced to zero.
[0009]
Furthermore, this processing method must reference a pre-scan table to directly access the image area. That is, for an encoded image area whose position information is not stored in the pre-scan table, sequential scanning with decompression work must be performed in order to access the image area. Therefore, if the position information stored in the pre-scan table is reduced in order to save the memory capacity allocated to the pre-scan table, the processing speed decreases.
[0010]
Accordingly, an object of the present invention is to provide a data processing method capable of processing data compressed using entropy coding as in the JPEG method at a high speed with a small amount of memory. Further, a program and a data processing apparatus capable of realizing such a data processing method, and a printer are provided, so that data compressed using entropy coding can be flexibly processed with a smaller capacity memory. The purpose is to be.
[0011]
[Means for Solving the Problems]
Therefore, in the present invention, paying attention to the fact that a data group is composed of a compressed data set for each pixel area, the entire compressed data is expanded (or expanded) for flexible processing. Instead, each compressed data set is compressed as it is, the order is detected, and the data sets are rearranged, thereby enabling flexible processing. Therefore, according to the present invention, in order to perform processing in an order different from that of the original data array, a memory having a capacity enough to expand the entire image data is unnecessary, and the position information of each data set is stored. No extra table is required.
[0012]
That is, according to the data processing method of the present invention, an image is divided into a plurality of pixel areas, and a plurality of compressed data sets obtained by compressing pixel data included in each pixel area using at least entropy coding is a first array. Each of the compressed data sets is sequentially detected from the arranged first data group, and has a rearrangement step for generating the second data group by arranging in a second array different from the first array. Each compressed data set has difference information depending on the first array, and the rearrangement step detects each compressed data set in order according to the first array and depends on the first array. Obtaining a value obtained by accumulating the difference information, and each compressed data set and a value obtained by accumulating the difference information corresponding to each compressed data set in the order according to the second array Alternating By using this rearrangement step, including generating a second data group so that the first data group is received, the respective compressed data sets detected in sequence when the first data group is received The second data group can be formed by outputting the data to a transfer destination for forming the two arrays, for example, an appropriate memory address. Therefore, the contents of the original first data group can be preserved only by storing the second data group in which the compressed data sets are arranged in the second arrangement suitable for the subsequent processing in a recording medium such as a memory. It becomes possible. For this reason, it is not necessary to expand the entire original first data group in the memory for subsequent processing. In addition, there is a trouble of storing the first data group in the memory, detecting the position information thereof, separately creating and storing a table including the position information, and an extra memory capacity necessary for storing the table. It can be omitted.
[0013]
Therefore, when the data processing method of the present invention includes a step of outputting a plurality of compressed data sets included in the second data group in accordance with the second sequence following the rearrangement step, Processing can be executed simply by accessing the data group according to the array. Therefore, according to the present invention, it is possible to prevent the occurrence of the problem that the compressed data set included in the data group must be directly accessed based on the position information of the compressed data set. In the present invention, since the compressed data set is stored in a compressed state, it is possible to prevent an increase in memory capacity and an increase in processing time spent for expanding all the compressed data in advance. The desired processing can be performed in a short time with economical hardware.
[0014]
Therefore, the present invention also provides a program or program product and a data processing apparatus that can execute the data processing method of the present invention. That is, the program of the present invention divides an image into a plurality of pixel areas, and a plurality of compressed data sets obtained by compressing pixel data included in each pixel area using at least entropy coding are arranged in a first array. An instruction capable of executing in a computer a rearrangement step of generating a second data group by sequentially detecting each compressed data set from the first data group and arranging the compressed data sets in a second array different from the first array Have This program can be recorded on an appropriate recording medium or provided via a computer network. Further, in the rearrangement step, a second process is performed by executing a process of outputting each compressed data set detected in order from the first data group received by the computer to a transfer destination for forming the second array. Data groups can be generated, and the memory managed by the computer can be used more effectively. The computer includes a processor such as a CPU mounted on the peripheral device to control the peripheral device such as a printer, in addition to a personal computer that operates alone. The program can include an instruction for executing a process of decompressing and outputting a plurality of compressed data sets included in the second data group according to the second array.
[0015]
In the data processing apparatus of the present invention, a plurality of compressed data sets obtained by dividing an image into a plurality of pixel regions and compressing pixel data included in each pixel region using at least entropy coding are in a first array. Each of the compressed data sets is sequentially detected from the arranged first data group, and rearrangement means for generating a second data group by arranging in a second array different from the first array. Each compressed data set has difference information depending on the first array, and the rearrangement means detects each compressed data set in order according to the first array and depends on the first array. The partial decompression function for obtaining the accumulated value of the difference information, each compressed data set, and the value obtained by accumulating the difference information corresponding to each compressed data set in the order according to the second array Alternating And a transfer function for generating the second data group. The rearrangement means may generate the second data group by receiving the first data and outputting each compressed data set detected in order to a transfer destination for forming the second array. it can. Further, the data processing apparatus can include means for expanding and outputting a plurality of compressed data sets included in the second data according to the second array.
[0016]
One very useful application form of the data processing method of the present invention is printing. That is, the present invention provides a printing method including the above-described rearrangement step and the step of printing a plurality of compressed data sets included in the second data group by expanding and printing in accordance with the second arrangement. Also provided is a printing apparatus having rearrangement means and means for expanding and printing a plurality of compressed data sets included in the second data according to the second arrangement.
[0017]
In the above-described JPEG system and MPEG system having a similar compression structure, each compressed data set may include differential information depending on the first arrangement of the original first data group. is there. For example, in the JPEG system, each compressed data set is such that pixel data included in a pixel area of a two-dimensional image is compressed by at least discrete cosine transform, quantization, and Huffman coding, and further, a quantized discrete data set The value of cosine coefficient is included as difference information. Therefore, when the compressed data set is rearranged in a second array different from the first array, the included difference information may not be used as it is. Therefore, in the rearrangement step and the rearrangement means, each compressed data set is detected in order and the absolute value of the difference information corresponding to each compressed data set is obtained, and a plurality of compressed data sets and their corresponding absolute values are obtained. It is desirable to generate a second data group in which values are included according to the second array. When the compressed data set is compressed by the JPEG method or a similar method, the rearrangement step and the rearrangement unit obtain the absolute value of the discrete cosine coefficient corresponding to each compressed data set, and a plurality of compressed data sets It is desirable to generate the second data group in which the absolute values of the discrete cosine coefficients corresponding thereto are included in the second array.
[0018]
In an example of the present invention, when the first data group includes a plurality of compressed data sets in the first array mainly in the scan direction of the two-dimensional image, the rearrangement step and the rearrangement unit A second data group including a plurality of compressed data sets is generated in a second array mainly in the sub-scan direction of the two-dimensional image. It is effective when printing in the sub-scan direction, and a printer capable of high-speed printing with a small-capacity memory using JPEG-compressed data can be provided at low cost. External storage devices such as memories and disks occupy a large proportion of the cost of the components that make up the product, and reducing the storage capacity has a great economic effect.
[0019]
The second arrangement is not limited to the above, and can be arranged in the direction opposite to the scanning direction, or a part of the first arrangement can be extracted to form the second arrangement. Various sequences suitable for processing can be selected as the second sequence.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in more detail with reference to the drawings. FIG. 1 shows an outline of a printer provided with a data processing apparatus of the present invention. The
[0021]
The
[0022]
When receiving the first data group φ1, the
[0023]
More specifically, the
[0024]
JPEG (Joint Photographic Cording Experts Group), which is one of the compression methods, has the information of the dot matrix forming one image from the left side to the right side, and from top to bottom, that is, from top left to bottom right. The pixel area or pixel block of 8 dots × 8 dots is divided and compressed and stored as MCU in units of the pixel area. The unit of the dot matrix that forms the image is not limited to 8 dots × 8 dots, but the divided small matrix is used as one pixel block to form one compressed data set (MCU), and a plurality of compressed data sets are provided. The image scan direction, that is, a group of images arranged in order from the upper left to the lower right, becomes an aggregate, and becomes JPEG data obtained by compressing one image. This is the first data group in this example.
[0025]
The process of compressing an image by the JPEG method will be described a little more. First, the dot matrix forming the image is converted from the primary color system (RGB) color space of the image data to pixel data of the color difference system (YCbCr) color space. Next, the pixel data is divided into 8-dot × 8-dot pixel blocks, and the pixel data converted in units of blocks is subjected to discrete cosine transform (DCT). Furthermore, the DCT coefficient obtained at the time of discrete cosine transform is quantized using a quantization table. The quantized DCT coefficient is further compressed using a Huffman code which is one of entropy coding or variable length coding. At the time of Huffman encoding, of the DC component and AC component of the quantized DCT coefficient, the DC coefficient (component) is encoded as a difference value with respect to the DC coefficient of the immediately preceding pixel block. For this reason, when decoding the data string φ1, the decompression process such as Huffman decoding, inverse quantization, inverse DCT, and RGB conversion is performed in reverse order when the data compressed by the MCU is compressed. Is expanded into two-dimensional image data.
[0026]
In the data group φ1 compressed by the JPEG method, since each MCU is variable-length encoded, each MCU has a different size. Therefore, each MCU cannot be identified without Huffman decoding. In other words, if Huffman decoding is performed, each MCU can be detected or identified without executing all the decompression processes including inverse quantization and inverse DCT. Therefore, the
[0027]
In the
[0028]
As described above, the DC coefficient is included in the MCU as difference information. Therefore, when the data is rearranged in the second array, the information cannot be used as it is. For this reason, the
[0029]
FIG. 2 shows how the second data group φ10 is generated by the
[0030]
The
[0031]
FIG. 3 shows an outline of a process from reception of the first data group φ1 to printing in the
[0032]
These processes can be provided as a program having instructions executed by the processor or microcomputer such as the CPU or ASIC constituting the
[0033]
In this way, in the
[0034]
Furthermore, after the data is received, the process can proceed based on the arrangement of the MCUs included in the second data group φ10 generated in the
[0035]
In addition, since it is possible to obtain an effect that the memory capacity used for processing the JPEG data φ1 is small, the present invention is not limited to a printer. The present invention is suitable for handling data compressed by the JPEG method or the MPEG method employing a similar compression algorithm.
[0036]
FIG. 4 shows an example in which the rearranged data string φ10 is transmitted from the
[0037]
The data sequence compressed by the JPEG method includes hierarchically encoded data including DHP (Define Hierarchical Progression) and data in a format in which no DHP marker is inserted. The present invention is applicable to any data. Is possible. In addition to processing of a data group compressed by the JPEG method, a two-dimensional image such as an MPEG method is divided into a plurality of matrices, and each matrix becomes one pixel block, and pixels included in the pixel block The present invention can be applied when a compressed data set in which data is compressed at least by entropy coding (variable length coding) processes a first data group arranged in a first array.
[0038]
In the above description, the ink
[0039]
【The invention's effect】
As described above, in the present invention, a plurality of compressed data sets included in the first data group compressed by the JPEG method or the like are detected in order, and these compressed data sets are rearranged in a different order. A second data group is formed. Therefore, only the arrangement is changed while the compressed data set is compressed, and the present invention allows flexible in a different order from the original data group without increasing the capacity for storing the data group. In addition, a desired compressed data set can be accessed at high speed without generating extra processing.
[0040]
Therefore, by applying the present invention to a printer, a printer capable of printing JPEG data in various orders with a small amount of memory can be provided at low cost.
[Brief description of the drawings]
FIG. 1 is a diagram showing an outline of a printer equipped with a data processing apparatus of the present invention.
FIG. 2 is a diagram illustrating a state in which the arrangement of a plurality of MCUs in a data string is changed by a rearrangement unit of the data processing device.
FIG. 3 is a flowchart showing a printing process in the printer shown in FIG. 1;
FIG. 4 is a diagram illustrating an example in which rearrangement of data strings is performed by an external device.
[Explanation of symbols]
1, 1a Printer
4 Print head
12 RAM
20 Data processing device
22 Rearrangement part
23 Partial extension function
24 Transfer function
25 Output section
φ1 First data group
φ10 2nd data group
X Scan direction
Y Sub-scan direction
Claims (14)
各々の圧縮データセットは、前記第1の配列に依存した差分情報を備えており、
前記再配列工程は、各々の前記圧縮データセットを、前記第1の配列に従って順番に検出するとともに、前記第1の配列に依存した差分情報を累積した値を求めることと、
各々の前記圧縮データセットと、各々の前記圧縮データセットに対応する前記差分情報を累積した値とが、前記第2の配列に従った順番で交互に並ぶように、前記第2のデータ群を生成することとを含む、データ処理方法。The image is divided into a plurality of pixel regions, and each of the first data group in which a plurality of compressed data sets in which pixel data included in each pixel region is compressed using at least entropy coding are arranged in a first array A reordering step of detecting a compressed data set in sequence and generating a second data group by arranging in a second array different from the first array;
Each compressed data set includes difference information depending on the first array,
The rearrangement step detects each of the compressed data sets in order according to the first array, and obtains a value obtained by accumulating difference information dependent on the first array;
The second data group is arranged such that each of the compressed data sets and a value obtained by accumulating the difference information corresponding to each of the compressed data sets are alternately arranged in the order according to the second array. Generating a data processing method.
前記第2のデータ群には、2次元画像のサブスキャン方向を主とする前記第2の配列の順番に並んだ前記複数の圧縮データセットが含まれているデータ処理方法。In any one of claims 1 to 3, wherein the first data group, the scanning direction of the two-dimensional image includes a plurality of compressed data sets arranged in order of the first sequence to the main ,
The data processing method, wherein the second data group includes the plurality of compressed data sets arranged in the order of the second arrangement mainly in a sub-scan direction of a two-dimensional image.
前記第2のデータ群に含まれる前記複数の圧縮データセットを前記第2の配列に従い伸長して印刷する工程を有し、
各々の前記圧縮データセットは、前記第1の配列に依存した差分情報を備えており、
前記再配列工程は、各々の前記圧縮データセットを、前記第1の配列に従って順番に検出するとともに、前記第1の配列に依存した差分情報を累積した値を求めることと、
各々の前記圧縮データセットと、各々の前記圧縮データセットに対応する前記差分情報を累積した値とが、前記第2の配列に従った順番で交互に並ぶように、前記第2のデータ群を生成することとを含む、印刷方法。The image is divided into a plurality of pixel regions, and each of the first data group in which a plurality of compressed data sets in which pixel data included in each pixel region is compressed using at least entropy coding are arranged in a first array A rearrangement step of detecting a compressed data set in sequence and generating a second data group by arranging in a second array different from the first array;
Extending and printing the plurality of compressed data sets included in the second data group according to the second array;
Each compressed data set comprises difference information dependent on the first array;
The rearrangement step detects each of the compressed data sets in order according to the first array, and obtains a value obtained by accumulating difference information dependent on the first array;
The second data group is arranged such that each of the compressed data sets and a value obtained by accumulating the difference information corresponding to each of the compressed data sets are alternately arranged in the order according to the second array. Generating a printing method.
各々の前記圧縮データセットは、前記第1の配列に依存した差分情報を備えており、
前記再配列工程は、各々の前記圧縮データセットを、前記第1の配列に従って順番に検出するとともに、前記第1の配列に依存した差分情報を累積した値を求めることと、
各々の前記圧縮データセットと、各々の前記圧縮データセットに対応する前記差分情報を累積した値とが、前記第2の配列に従った順番で交互に並ぶように、前記第2のデータ群を生成することとを含む、プログラム。The image is divided into a plurality of pixel regions, and each of the first data group in which a plurality of compressed data sets in which pixel data included in each pixel region is compressed using at least entropy coding are arranged in a first array A program having instructions capable of executing in a computer a rearrangement step of detecting a compressed data set in order and generating a second data group by arranging in a second array different from the first array,
Each compressed data set comprises difference information dependent on the first array;
The rearrangement step detects each of the compressed data sets in order according to the first array, and obtains a value obtained by accumulating difference information dependent on the first array;
The second data group is arranged such that each of the compressed data sets and a value obtained by accumulating the difference information corresponding to each of the compressed data sets are alternately arranged in the order according to the second array. Generating a program.
各々の前記圧縮データセットは、前記第1の配列に依存した差分情報を備えており、
前記再配列手段は、各々の前記圧縮データセットを、前記第1の配列に従って順番に検出するとともに、前記第1の配列に依存した差分情報を累積した値を求める部分伸長機能と、
各々の前記圧縮データセットと、各々の前記圧縮データセットに対応する前記差分情報を累積した値とが、前記第2の配列に従った順番で交互に並ぶように、前記第2のデータ群を生成する転送機能とを含む、データ処理装置。The image is divided into a plurality of pixel regions, and each of the first data group in which a plurality of compressed data sets in which pixel data included in each pixel region is compressed using at least entropy coding are arranged in a first array Reordering means for detecting a compressed data set in order and generating a second data group by arranging in a second array different from the first array;
Each compressed data set comprises difference information dependent on the first array;
The rearrangement means detects each of the compressed data sets in order according to the first array, and a partial decompression function for obtaining a value obtained by accumulating difference information dependent on the first array;
The second data group is arranged such that each of the compressed data sets and a value obtained by accumulating the difference information corresponding to each of the compressed data sets are alternately arranged in the order according to the second array. A data processing apparatus including a transfer function to be generated.
前記第2のデータ群に含まれる前記複数の圧縮データセットを前記第2の配列に従い伸長して印刷する手段を有し、
各々の前記圧縮データセットは、前記第1の配列に依存した差分情報を備えており、
前記再配列手段は、各々の前記圧縮データセットを、前記第1の配列に従って順番に検出するとともに、前記第1の配列に依存した差分情報を累積した値を求める部分伸長機能と、
各々の前記圧縮データセットと、各々の前記圧縮データセットに対応する前記差分情報を累積した値とが、前記第2の配列に従った順番で交互に並ぶように、前記第2のデータ群を生成する転送機能とを含む、印刷装置。The image is divided into a plurality of pixel regions, and each of the first data group in which a plurality of compressed data sets in which pixel data included in each pixel region is compressed using at least entropy coding are arranged in a first array Reordering means for detecting a compressed data set in order and generating a second data group by arranging in a second array different from the first array;
Means for expanding and printing the plurality of compressed data sets included in the second data group according to the second array;
Each compressed data set comprises difference information dependent on the first array;
The rearrangement means detects each of the compressed data sets in order according to the first array, and a partial decompression function for obtaining a value obtained by accumulating difference information dependent on the first array;
The second data group is arranged such that each of the compressed data sets and a value obtained by accumulating the difference information corresponding to each of the compressed data sets are alternately arranged in the order according to the second array. A printing device including a transfer function to generate.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003129486A JP4074832B2 (en) | 2003-05-07 | 2003-05-07 | Data processing method and data processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003129486A JP4074832B2 (en) | 2003-05-07 | 2003-05-07 | Data processing method and data processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004336389A JP2004336389A (en) | 2004-11-25 |
JP4074832B2 true JP4074832B2 (en) | 2008-04-16 |
Family
ID=33505310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003129486A Expired - Fee Related JP4074832B2 (en) | 2003-05-07 | 2003-05-07 | Data processing method and data processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4074832B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4151684B2 (en) | 2005-01-26 | 2008-09-17 | ソニー株式会社 | Encoding apparatus, encoding method, encoding program, and imaging apparatus |
-
2003
- 2003-05-07 JP JP2003129486A patent/JP4074832B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004336389A (en) | 2004-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4533043B2 (en) | Image encoding apparatus and method, computer program, and computer-readable storage medium | |
JP2000278685A (en) | Method for processing variable length encoded binary bit stream | |
JP2006129471A (en) | Image processing method and image processing apparatus | |
JP4902474B2 (en) | Image processing apparatus and image processing method | |
JP3661520B2 (en) | Image processing apparatus, image processing method, image forming apparatus, and recording medium recording program | |
EP0506482B1 (en) | Image processing | |
US20040150840A1 (en) | Methods and systems for structuring a raster image file for parallel streaming rendering by multiple processors | |
JP4074832B2 (en) | Data processing method and data processing apparatus | |
US8320018B2 (en) | Method and means for converting image data in encoded format | |
JP2011040970A (en) | Data processing apparatus and data processing method | |
US7373000B2 (en) | Image processing apparatus | |
JP2004282382A (en) | Network terminal equipment | |
JPWO2003034709A1 (en) | Decompression method and data processing apparatus | |
JP2008236084A (en) | Image processing method, image processor, image processing program and recording medium | |
US8582168B2 (en) | Image processing apparatus and processing method thereof | |
JP4097585B2 (en) | Output device and printing device | |
JP4320497B2 (en) | Image processing device | |
US20090175547A1 (en) | Image processing apparatus and image processing method | |
JP3190118B2 (en) | Image processing device | |
JP4262145B2 (en) | Image processing apparatus and control method thereof | |
JP2006157444A (en) | Image forming apparatus and method | |
JP2001080139A (en) | Serial printer and recording medium having recorder program recording | |
JP3867857B2 (en) | Color image processing device | |
JP3119387B2 (en) | Image processing device | |
JP2021164046A (en) | Image processing apparatus, recording device, image processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060501 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070905 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071102 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071205 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071218 |
|
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: 20080121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080128 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110201 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: 20140201 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |