JP2004274553A - 画像処理装置および画像処理方法ならびにプログラム、記憶媒体 - Google Patents

画像処理装置および画像処理方法ならびにプログラム、記憶媒体 Download PDF

Info

Publication number
JP2004274553A
JP2004274553A JP2003064777A JP2003064777A JP2004274553A JP 2004274553 A JP2004274553 A JP 2004274553A JP 2003064777 A JP2003064777 A JP 2003064777A JP 2003064777 A JP2003064777 A JP 2003064777A JP 2004274553 A JP2004274553 A JP 2004274553A
Authority
JP
Japan
Prior art keywords
decoding
block
encoding
encoded
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.)
Withdrawn
Application number
JP2003064777A
Other languages
English (en)
Inventor
Masahiro Ishiyama
昌宏 石山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003064777A priority Critical patent/JP2004274553A/ja
Publication of JP2004274553A publication Critical patent/JP2004274553A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

【課題】画像の回転を行う際の符号化にあたり、画質の劣化を回避しつつ、符号化処理を連続して小メモリで行うことが可能な処理技術を提供する。
【解決手段】画像データを可変長符号化する画像処理装置であって、前記画像データの処理を指示するCPU1701と、CPUからの指示に基づいて、画像データを複数のブロックに分割し、ブロックごとの可変長符号化データである符号化ブロックを生成するゲートアレイ1704と、を備え、ゲートアレイ1704は、前記符号化ブロックの先頭アドレスを管理する管理手段と、前記符号化ブロックの生成が完了するごとに、内部を初期化する初期化手段とを備えることを特徴とする。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
本発明は、画像データの符号化処理ならびに符号化データの復号化処理に関するものである。
【0002】
【従来の技術】
従来より白黒2値画像の符号化方式として、画像をラスタ単位に符号化する符号化方式が一般的に知られている。例えば、ファクシミリ装置などにおいては、MH、MR、MMR方式などのラスタ単位の符号化方式が用いられており、白黒の画素の続く長さ(ランレングス)に注目して符号化を行っている。
【0003】
このような符号化方式をとる画像形成装置においては、取り込まれた画像を回転させるにあたり、従来より、符号化画像を一旦原画像に復号してから回転させ再度符号化するか、あるいは符号化の前に原画像を回転させたうえで符号化する方法が採られてきた。
【0004】
しかしながら、かかる方法により画像を回転させようとした場合、画像を回転させるための大容量のメモリが必要となってくる。そこで、画像を回転させる際に用いるメモリを節約するために、画像を小ブロック単位で読み出し、ブロック符号化し、復号後の画像が所望の回転状態になるような順序で該各符号化ブロックを復号化していくことで画像を回転させるという方法が提案された(例えば、特許文献1参照。)。
【0005】
そして、このような画像回転方法は、固定長符号化を用いて実現する場合と可変長符号化を用いて実現する場合とがある。固定長符号化は、ブロック単位の符号にランダムにアクセスすることができるため、画像回転にあたり符号化ブロックの並べ替えが容易であるというメリットがある一方で、同じ圧縮率の場合には可変長符号化に比べ、画像劣化が目立ちやすいというデメリットがある。このため、一般には、画質を重視して、可変長符号化を選択することが多い。
【0006】
【特許文献1】
特開平09−074474号公報
【0007】
【発明が解決しようとする課題】
しかしながら、可変長符号化の場合、上述したように画質劣化はないものの、画像の回転を行うべくブロックの順番を変えてアクセスするには、ブロック符号の先頭アドレスを別に記憶しておくことが必要となってくる。そして、このデータ量は、ブロック数×アドレスビット数/8バイトで計算され、画像が大きくなるにつれて符号化/復号化回路内のレジスタに記憶しておくには無視できない量となってくるという問題がある。
【0008】
また、ブロック単位で処理するためには、符号化/復号化処理をブロック単位で独立して行われなければならず、ブロック単位の符号化/復号化処理のはじめには必ず符号化/復号化回路内のメモリ等の初期化が必要となってくる。このため、従来はソフト的処理を介してかかる初期化に対応してきたが、その場合、符号化/復号化回路において符号化/復号化処理を連続して行うことができず、処理効率が悪いという問題があった。
【0009】
本発明は、上記の課題に鑑みてなされたもので、画像の回転を行う際の画像の符号化および復号化において、画質の劣化を回避しつつ、連続して符号化または復号化処理を行うことができ、かつ、かかる処理を小メモリで実現することが可能な処理技術を提供することを目的とする。
【0010】
【課題を解決するための手段】
上記の目的を達成するために本発明に係る画像処理装置は以下のような構成を備える。即ち、
画像データを可変長符号化する画像処理装置であって、
前記画像データの処理を指示する指示手段と、
前記指示手段からの指示に基づいて、画像データを複数のブロックに分割し、ブロックごとの可変長符号化データである符号化ブロックを生成する符号化手段と、を備え、
前記符号化手段は、
前記符号化ブロックの先頭アドレスを管理する管理手段と、
前記符号化ブロックの生成が完了するごとに、内部を初期化する初期化手段とを備える。
【0011】
また、上記の目的を達成するために本発明に係る画像処理装置は以下のような構成を備える。即ち、
ブロックの画像データを可変長符号化した符号化ブロックを複数備える可変長符号化データを復号する画像処理装置であって、
前記可変長符号化データの復号を指示する指示手段と、
前記指示手段からの指示に基づいて、前記可変長符号化データを復号する復号化手段と、を備え、
前記復号化手段は、
前記符号化ブロックを復号する順序を、該符号化ブロックの先頭アドレスにより管理する管理手段と、
前記管理手段により管理された順序に従い、前記符号化ブロックを復号し、該符号化ブロックの復号が完了するごとに、内部を初期化する初期化手段とを備える。
【0012】
【発明の実施の形態】
はじめに本発明の実施形態にかかる画像処理装置の概略について説明する。本発明の実施形態にかかる画像処理装置は、画像データを可変長符号化するにあたり、小メモリ化を実現すべく、画像データを小ブロックに分割したうえで符号化処理をする機能を有している。また、従来は、画像の回転を行うべく(つまり、符号化ブロックの順番を変えてアクセスすることを実現すべく)、符号化ブロックの先頭アドレスを符号化/復号化回路内のレジスタに記憶するのに対し、本画像処理装置においては符号化処理を行う符号化/復号化回路において管理することで、容量の大きい画像に対しても対応することが可能となっている。
【0013】
さらに、従来、分割された各ブロックをJBIG回路で符号化処理するにあたっては、まず、CPUはブロック単位でJBIG回路に符号化指示を出力し、JBIG回路では当該指示を受けブロック単位で符号化処理を行った後、INT信号(割り込み信号)を発生させていた。その後CPUでは当該割り込み信号を受け、JBIG回路の初期化をしていた。そして、画像処理装置ではかかる処理を各ブロックごとに毎回行っていた。つまり、従来は符号化処理を行うにあたり各ブロックごとにソフト的な処理を介在させていた。これに対し、本発明の実施形態にかかる画像処理装置によれば、JBIG回路においてブロックごとの符号化処理の終了を判定し、自ら初期化をする機能と、画像データを構成するすべてのブロックについて符号化処理を行ったか否かの判定をする機能とを備えているため、CPUからJBIG回路に対しては画像データ単位で符号化指示をし、JBIG回路では画像データを構成するすべてのブロックについて符号化処理が完了した後に、CPUに対して画像データの符号化完了の指示を送ることが可能となり、ソフト的な処理を介在させずに、JBIG回路において複数のブロックを連続的に符号化処理することが可能となる。
【0014】
同様に、本発明の実施形態にかかる画像処理装置は、符号化データの復号においても、小メモリ化を実現すべく、符号化データをブロック単位で読み出し、復号化処理する機能を有している。このとき、上記JBIG回路により記憶された符号化ブロックの先頭アドレスを参照しながら、復号後の画像が所望の回転状態になるような順序で該各符号化ブロックを読み出すことで、所望の回転が実現できる。さらに、JBIG回路において符号化ブロックごとの復号処理の終了を判定し、自ら初期化をする機能と、符号化データを構成するすべての符号化ブロックについて復号化処理を行ったか否かの判定をする機能とを備えているため、CPUからJBIG回路に対しては符号化データ単位で復号化指示をし、JBIG回路では符号化データを構成するすべての符号化ブロックについて復号化処理が完了した後に、CPUに対して符号化データの復号化完了の指示を送ることが可能となり、ソフト的な処理を介在させずに、JBIG回路において複数の符号化ブロックを連続的に復号化処理することが可能となる。以下に実施形態の詳細を説明する。
【0015】
[レーザビームプリンタの概略説明]
本発明の第1の実施形態にかかる画像処理装置の構成を説明する前に、当該画像処理装置が利用される好適な一例であるレーザビームプリンタの構成について図1〜図3を参照しながら説明することとする。
【0016】
図1は本発明の実施形態にかかる画像処理装置を備えるレーザビームプリンタ(LBP)の全体のハードウェア構成を示す図である。
【0017】
図1において、1500はLBP本体であり、外部に接続されているホストコンピュータから供給される印刷情報(文字コード等)やフォーム情報あるいはマクロ命令等を入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターン等を作成し、記録媒体である記録紙等に像を形成する。
【0018】
1501は操作のためのスイッチおよびLED表示器等が配されている操作パネル、1000はLBP本体1500全体の制御およびホストコンピュータから供給される文字情報等を解析するプリンタ制御ユニットである(本発明の画像処理装置は、本実施形態ではプリンタ制御ユニットとして具体的に実現されうる)。このプリンタ制御ユニット1000は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ1502に出力する。
【0019】
レーザドライバ1502は半導体レ−ザ1503を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ1503から発射されるレーザ光1504についてオン・オフの切り換えをする。レーザ光1504は回転多面鏡1505で左右方向に振らされて静電ドラム1506上を走査露光する。これにより、静電ドラム1506上には文字パターンの静電潜像が形成されることになる。この潜像は、静電ドラム1506周囲に配設された現像ユニット1507により現像された後、記録紙に転写される。この記録紙にはカットシートを用い、カットシート記録紙はLBP1500に装着した用紙カセット1508に収納され、給紙ローラ1509および搬送ローラ1510と搬送ローラ1511とにより、装置内に取り込まれて、静電ドラム1506に供給される。
【0020】
また、LBP本体1500には、図示しないカードスロットを少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なる制御カード(エミュレーションカード)を接続できるように構成されている。
【0021】
図2は、図1に示したレーザビームプリンタの制御機能を説明するための機能ブロック図である。
【0022】
図2において、1000は上記プリンタ制御ユニットの機能ブロックであり、1700は記録信号を入力するインタフェース、1701はCPU、1702はCPU1701が実行する制御プログラムやホスト印刷情報等を格納するROM、1703はDRAMで、各種データ(上記記録信号やヘッドに供給される記録データ等)を保存しておく。1704は記録ヘッド1708に対する出力データの供給制御を行うゲートアレイ(G.A)で、インタフェース1700、CPU1701、DRAM1703間のデータの転送制御も行う。1710は前記記録ヘッド1708を搬送するためのキャリアモータ、1709は記録用紙搬送のための搬送モータ、1705は前記記録ヘッドを駆動するヘッドドライバ、1706は前記搬送モータ1709を駆動するモータドライバ、1707は前記キャリアモータ1710を駆動するモータドライバである。
【0023】
このように構成された上記レーザビームプリンタにおいて、インタフェース1700を介して後述するホストコンピュータ3000より入力情報が入力されると、ゲートアレイ1704とCPU1701との間で入力情報がプリント用の出力情報に変換される。そして、モータドライバ1706、1707が駆動されるとともに、ヘッドドライバ1705に送られた出力情報に従って記録ヘッドが駆動され印字が実行される。
【0024】
なお、CPU1701はインタフェース1700を介して後述するホストコンピュータ3000との通信処理が可能となっており、DRAM1703に関するメモリ情報および資源データ等やROM1702内のホスト印刷情報を後述するホストコンピュータ3000に通知可能に構成されている。
【0025】
なお、ゲートアレイ1704内にはスムージング処理用の回路及び画像保存用のメモリが内蔵されていてもよいし、スムージング処理用の回路が内蔵され、メモリが外付けされていても構わない。
【0026】
図3は、図1に示したレーザビームプリンタを制御するために必要なハードウェアの構成、ならびにレーザビームプリンタに接続されるホストコンピュータ3000を制御するために必要なハードウェアの構成を示す図である。なお、引き続きレーザビームプリンタ(図1)を例にして説明するが、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN等のネットワークを介して処理が行われるシステムであっても本発明を適用できることは言うまでもない。
【0027】
図3において、3000はホストコンピュータで、ROM3のプログラムROMに記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行するCPU1を備え、システムバス4に接続される各デバイスをCPU1が総括的に制御する。
【0028】
また、このROM3のプログラムROMには、CPU1の制御プログラム等を記憶し、ROM3のフォントROMには上記文書処理の際に使用するフォントデ−タ等を記憶する。2はRAMで、CPU1の主メモリ、ワークエリア等として機能する。5はキーボードコントローラ(KBC)で、キーボード9や不図示のポインティングデバイスからのキー入力を制御する。6はCRTコントローラ(CRTC)で、CRTディスプレイ(CRT)10の表示を制御する。7はディスクコントローラ(DKC)で、ブートプログラム、種々のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶するハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ11とのアクセスを制御する。8はプリンタコントローラ(PRTC)で、所定の双方向性インタフェース(インタフェース)21を介してレーザビームプリンタ1500に接続されて、レーザビームプリンタ1500との通信制御処理を実行する。なお、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
【0029】
レーザビームプリンタ1500において、1000は上記プリンタ制御ユニットのハードウェア構成を示すもので、説明の便宜上、図2の機能ブロック図に対応するハードウェアには同一の番号を付している。
【0030】
1701はプリンタのCPUで、ROM1702のプログラムROMに記憶された制御プログラム等或いは外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インタフェース16を介して接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。
【0031】
また、このROM1702のプログラムROMには、CPU1701の制御プログラム等を記憶する。ROM1702のフォントROMには上記出力情報を生成する際に使用するフォントデ−タ等を記憶し、ROM13のデ−タROMにはハードディスク等の外部メモリ14が無いプリンタの場合にホストコンピュ−タ上で利用される情報等を記憶している。
【0032】
CPU1701は入力部18を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ3000に通知可能に構成されている。19はCPU1701の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカ−ド等の外部メモリ14は、ディスクコントローラ(DKC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデ−タ、エミュレ−ションプログラム、フォ−ムデ−タ等を記憶する。また、18は前述した操作パネルで操作のためのスイッチおよびLED表示器等が配されている。
【0033】
また、前述した外部メモリは1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていても良い。さらに、NVRAM(不図示)を有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしても良い。
【0034】
さらに、システムバス15には上述したDRAM1703を有するゲートアレイ(G.A.)1704が接続され、CPU1701との間でデータの転送制御を行うことが可能となっている。
【0035】
[画像処理装置の説明(共通)]
図4は、図2または図3に示した画像処理装置(プリンタ制御ユニット)を構成するゲートアレイ1704の詳細を説明するためのブロック図である。図4において、4001はCPU1701と接続するためのCPUインタフェース、4002は、DRAM1703にアクセスするためのDRAMインターフェースである。CPU1701は、このゲートアレイ1704を介してDRAM1703にアクセスすることができる(本実施形態でDRAM1703にアクセス可能なデバイスは、JBIG回路4004、4005、CPU1701、回転器4003である)。4003は画像を回転するための回転器である。本実施形態では、JBIG回路2(4005)と直接接続することにより、効率よく、符号化データを伸張しながら回転することが可能となる。4004、4005は符号器であり、本実施形態では、JBIG圧縮回路を使用している。なお、4004と4005は全く同一のものであり、本実施形態では4004を圧縮用として、4005を伸張用として使用している。4006は、インターフェース1700に接続するための外部インターフェースであり、本実施形態では、セントロ、USB、パネルに接続することができる。
【0036】
[画像処理装置の説明(符号化)]
図5は、図4に示すゲートアレイ1704を構成するJBIG回路4004、4005の詳細を示すブロック図である。
【0037】
図5において、5001はCPUインターフェースであり、図4に示したCPUインターフェース4001を介してCPU1701に接続される。CPU1701より、JBIG回路4004、4005内の設定を行う。5002はメモリインターフェースであり、図4に示したDRAMインターフェース4002を介してDRAM1703にアクセスする。5009はコンテキスト&算術符号化/復号化部であり、符号化/復号化処理を行うメイン部分である。5003は制御部であり、CPU1701から符号化の設定がなされる。この制御部が符号化処理および符号化データをメモリに書き込む処理、ならびにCPUへの割り込み信号(INT信号)の生成、制御を行っている。5004はソースアドレス制御部であり、画像データをDRAM1703から読み込むためのアドレスを制御する。ブロック単位で符号化を行う場合には、このソースアドレス制御部5004でアドレスポインタを制御して、画像データをブロック単位に分割してコンテキスト生成算術符号化/復号化部5009(以下、単に符号化部5009)に画像を入力する。このソースアドレス制御部5004は制御部5003から制御信号を受け、それに応じた制御を行っている。
【0038】
5005はディスティネーションアドレス制御部であり、上記符号化したデータをDRAM1703に記録する際のアドレスを制御するブロックである。5006は、ブロック先頭アドレステーブル生成部であり、ディスティネーションアドレス制御部5005からアドレス情報と制御部5003からエンコード終了信号を受け取り、これをもとに各ブロックの先頭アドレステーブルを生成する。エンコード終了信号発生時のディスティネーションアドレスが次ブロックを符号化した格納先の先頭アドレスとなる。
【0039】
図6は、図5の制御部5003の詳細を示す図である。6002はブロック数指定レジスタで、いくつのブロックに分割するかを指定するレジスタである。6003は、ブロック先頭アドレステーブル生成部5006により生成されたブロック先頭アドレステーブルをDRAM1703に記録するアドレスを設定するレジスタである。6004は画像幅を設定するレジスタである。6001はINT信号(割り込み信号)発生部であり、符号化終了信号を受けINT信号を発生する。
【0040】
6005は符号化部5009のシーケンスを制御するブロックであり、ブロック数指定レジスタ6002で指定されたブロック数を符号化しているかどうかを判断して、符号化終了信号を受けたときに次のブロックの処理をするかどうかを判定し、指定されたブロック数の処理を終えていない場合は、符号化部5009の初期化を行い、INT信号発生部6001にINT信号をマスクする旨を伝達する。
【0041】
図9は本発明の実施形態にかかる画像処理装置におけるブロック符号化の処理の流れを示すフローチャートである。まず始めに、ユーザが初期化指示をすることで、ゲートアレイ1704ではCPU1701からの指令に基づきシーケンス制御部6005内部のシーケンスクリアレジスタをセットし、JBIG回路内部の初期化を行う(ステップS9001)。これには符号化部5009内部の学習メモリの初期化が含まれており、このメモリ初期化は符号化前には必ず必要な動作である。
【0042】
ユーザがブロック処理を指示した場合には、制御レジスタにブロック処理フラグがセットされる(ステップS9002)。一方、ブロック処理を行わず、通常の符号化を行う場合は、このレジスタの設定は行わない。
【0043】
次に、ユーザが入力した各種設定に基づき、ソースアドレス、ディスティネーションアドレス、ブロック先頭アドレステーブルアドレス、画像幅、ブロック数を設定する(ステップS9003)。そして、符号化開始指示により、シーケンススタートレジスタをキックして符号化処理をスタートする(ステップS9004)。
【0044】
JBIG回路内部では、ソースアドレスを制御してブロック単位にソースデータをメモリから読み込み符号化処理を行う(ステップS9005)。JBIG回路内部の符号化終了信号が来たら、ブロック数レジスタと今まで符号化処理したブロック数とを比較し(ステップS9006)、まだ所定のブロック数の符号化が終わっていない場合は、ステップS9007に進みINT信号発生部でINT信号をマスクし、制御部5003でシーケンスクリア信号を発生させ、JBIG回路内部の初期化を行う。そして、ステップS9008でブロックカウント数をインクリメントし、ステップS9005に戻る。
【0045】
ステップS9006でブロック数レジスタと今まで符号化処理したブロック数とが等しくなっているならば、ステップS9009に進みINT信号発生部6001でINT信号を発生させ終了する。
【0046】
このように、CPUでは、ステップS9004で符号化処理をスタートさせた後、ステップS90010でINT信号が来るまで待つこととなる。つまり、従来のようにソフト処理を介在させて初期化をするのではなく、回路的に自動的に初期化を行うことで、このような連続的な符号化処理が可能となっている。
【0047】
図10は、ゲートアレイ1704において、ブロック先頭アドレスを管理しながら符号化処理を行う場合の処理の流れを示すフローチャートである。ステップS10001で符号化処理が開始されると、符号化部5009内部の符号化終了信号が来た直後のディスティネーションアドレスをブロック先頭アドレステーブル生成部内のFIFOに書き込む(ステップS10002)。ステップS10003で、ブロック数レジスタと今まで符号化処理したブロック数とを比較し、まだ所定のブロック数の符号化が終わっていない場合は、ステップS10007へ進み、ブロック先頭アドレステーブルFIFOのfullフラグ信号が立っているかどうか判定をする。FIFOがfull状態ならばブロック先頭アドレステーブルFIFOの中身をメモリに書き込む(ステップS10008)。full状態でなければ、ステップS10002に戻る。本実施形態では、FIFOの段数は8段であり、DRAM1703にバースト転送している。ステップS10009でメモリにブロック先頭アドレステーブルFIFOの中身を転送した後、ブロック先頭アドレステーブルFIFOの中身をクリアしてステップS10002に戻る。
【0048】
ステップS10003で、ブロック数レジスタと今まで符号化処理したブロック数とを比較し、等しいならば、ステップS10004でブロック先頭アドレステーブルFIFOの中身をメモリに書き込む。(ブロック先頭アドレステーブルFIFOがfull状態でなくとも)ステップS10005でブロック先頭アドレステーブルFIFOの中身をクリアして符号化処理を終了する(ステップS10006)。
【0049】
以上の説明から明らかなように、上述した画像処理装置によれば、画像の回転を行う際の画像の符号化にあたり、可変長符号化を用いることで画質の劣化を回避し、また、小ブロックに分割することで、小メモリ化を実現できる。さらに、JBIG回路において、ブロック符号の先頭アドレスを管理する機能とともに、各ブロックの符号化処理が完了するごとに初期化する機能ならびにすべてのブロックの符号化処理が完了したか否かを判定したうえでINT信号を出力する機能を備えることで、ブロックの符号化処理にあたり、ソフト的な処理を介在させる必要がなくなり、各ブロックの符号化処理を連続的に実施することが可能となる。
【0050】
[画像処理装置(復号化)]
続いて、復号化処理について説明する。
【0051】
図12は、本発明の実施形態にかかる画像処理装置を構成するJBIG回路4004、4005の詳細を説明するブロック図である(図5に示す符号化処理を行うためのブロック図に、さらに復号化処理機能を追加したもので、符号化と復号化の両方の処理が可能な構成となっている)。
【0052】
図12において、5001はCPUインターフェースであり、図4に示したCPUインターフェース4001を介してCPU1701に接続される。CPU1701より、JBIG回路4004、4005内の設定を行う。5002はメモリインターフェースであり、図4に示したDRAMインターフェース4002を介してDRAM1703にアクセスする。5009はコンテキスト&算術符号化/復号化部であり、符号化/復号化処理を行うメイン部分である。5003は、制御部であり、CPU1701から符号化/復号化の設定を行う。
【0053】
制御部5003の詳細を図13に示す。6002はブロック数指定レジスタで、いくつのブロックに分割するかを指定するレジスタである。6003は、ブロック先頭アドレステーブル生成部5006により生成されたブロック先頭アドレステーブルをDRAM1703に記録するアドレスを設定するレジスタである。6004は画像幅を設定するレジスタである。6001はINT信号(割り込み信号)発生部であり、符号化終了信号を受けINT信号を発生する。
【0054】
6005は符号化部5009のシーケンスを制御するブロックであり、ブロック数指定レジスタ6002で指定されたブロック数を復号化しているかどうかを判断して、復号化終了信号を受けたときに次のブロックの処理をするかどうかを判定し、指定されたブロック数の処理を終えていない場合は、符号化部5009の初期化を行い、INT信号発生部にINT信号をマスクする旨を伝達する。
【0055】
5010はネクストアドレスロード制御部であり、ブロック符号化されたデータを連続して復号する際に使用する。ブロックの順番を変えて連続復号処理を実行するには、符号化ブロックの先頭アドレスをそれぞれ指定する必要があるため、連続復号する順番に符号化ブロックの先頭アドレスを並べ替えたネクストアドレステーブルをメモリ上に用意し、そのネクストアドレステーブルを格納したメモリアドレスを図13の1306に示したネクストアドレステーブル・レジスタに設定する。1つのブロック復号化が終わるたびにネクストアドレスロード制御部5010は、予め処理する順序を指定したネクストアドレステーブルに従って、ソースアドレス制御部5004に次に復号化するブロックの先頭アドレスをロードする。
【0056】
図14は本発明の実施形態にかかる画像処理装置における符号化ブロックの復号化処理の流れを示すフローチャートである。まず始めに、ユーザが初期化指示をすることで、ゲートアレイ1704ではCPUからの指令に基づきシーケンス制御部6005内部のシーケンスクリアレジスタをセットし、JBIG回路内部の初期化を行う(ステップS14001)。これには符号化部5009内部の学習メモリの初期化が含まれており、このメモリ初期化は復号化前には必ず必要な動作である。
【0057】
ユーザがブロック処理を指示した場合には、制御レジスタにブロック処理フラグがセットされる(ステップS14002)。一方、ブロック処理を行わず、通常の復号化を行う場合は、このレジスタの設定は行わない。
【0058】
次に、ユーザが入力した各種設定に基づき、ソースアドレス、ディスティネーションアドレス、ブロック先頭アドレステーブルアドレス、画像幅、ブロック数を設定する(ステップS14003)。そして、復号化開始指示により、シーケンススタートレジスタをキックして復号化処理をスタートする(ステップS14004)。
【0059】
JBIG回路内部では、ソースアドレスを制御してブロック単位に符号化ソースデータをメモリから読み込み復号化処理を行う(ステップS14005)。JBIG回路内部の復号化終了信号が来たら、ブロック数レジスタと今まで復号化処理したブロック数とを比較し(ステップS14006)、まだ所定のブロック数の復号化が終わっていない場合は、ステップS14007に進みINT信号発生部でINT信号をマスクし、制御部5003でシーケンスクリア信号を発生させ、JBIG回路内部の初期化を行う。そして、ステップS14008でブロックカウント数をインクリメントし、ネクストソースアドレステーブルから次にデコードする符号化ブロックの先頭アドレスをソースアドレスレジスタにロードし、ステップS14005に戻る。
【0060】
ステップS14006でブロック数レジスタと今まで復号化処理したブロック数とが等しくなっているならば、ステップS14009に進みINT信号発生部6001でINT信号を発生させ終了する。
【0061】
このように、CPUでは、ステップS14004で復号化処理をスタートさせた後、ステップS140010でINT信号が来るまで待つこととなる。つまり、従来のようにソフト処理を介在させて初期化をするのではなく、回路的に自動的に初期化を行うことで、このような連続的な復号化処理が可能となっている。
【0062】
図15は、本発明の実施形態にかかる画像処理装置を構成するネクストアドレス制御部5010における処理の流れを示したフローチャートである。ステップS15001で、スタートレジスタがキックされて、復号化処理をスタートすると、まず、ステップS15002でネクストアドレスロード制御部5010は、ネクストアドレステーブル・レジスタ13006に設定されているアドレスより最初の8子(32Byte)のネクストアドレスをメモリから読み込み、ネクストアドレスロード制御部5010内部のFIFOに書き込む。ステップS15003でデコード終了信号がきたら、ソースアドレスレジスタにネクストアドレスロード制御部5010よりネクストアドレスをロードし、ステップS15004でブロックカウント数がブロック数レジスタと同じ値になっていなければ、ステップS15006に進み、ネクストアドレスロード制御部5010内部のFIFOのEmptyフラグがたっているかどうか検知し、Emptyフラグがたっている場合には、ステップS15007へ進みネクストアドレスロード制御部5010は、ネクストアドレステーブルの続き8個(32Byte)をメモリから読み込み、ネクストアドレスロード制御部5010内部のFIFOに書き込んでからステップS15003に戻り、Emptyフラグがたっていない場合は何もせずにステップS15003に戻る。ステップS15004でブロックカウント数がブロック数レジスタと同じ値になっている場合は、ステップS15005に進み、ネクストアドレステーブル制御部5010内のFIFOをクリアして終了する。
【0063】
以上の説明から明らかなように、本実施形態によれば、画像の回転を行うべく可変長符号化データの復号するにあたり、JBIG回路において符号化ブロックの先頭アドレスを管理する機能とともに、各符号化ブロックの復号化処理が完了するごとに初期化する機能および、すべての符号化ブロックの復号化処理が完了したか否かを判定し、完了した場合にINT信号を出力する機能とを備えることで、符号化ブロックの復号化処理にあたり、ソフト的な処理を介在させる必要がなくなり、各符号化ブロックの復号化処理を連続的に実施することが可能となる。
【0064】
[画像回転の一例]
図7は、上述した画像処理装置を用いて、ブロック分割した画像データの回転行った場合の一例を示す図であり、ここでは40個のブロックに分割しており、1ブロックの大きさを256pixel×256lineで構成している。図7の左側に示した図は回転前の画像データ7001をブロックに分割して符号化していることを示すものであり、7003は画像データ7001を90度右回転させたことを示す図である。7002は、符号化後のメモリイメージである。可変長符号化であるため、符号化後のサイズが一定になっていない。そのため、ブロックの順番を変えてアクセスするにはブロック符号の先頭アドレスを別に記憶しておく必要がある。図8は、このブロック先頭アドレスを管理するためのブロック先頭アドレステーブルのイメージ図である。
【0065】
ここに示す回転画像を作るためのブロックの読み出し、符号化、復号化、回転順序は以下のようになる。
(1)A1からJ1へ順にラスタ方向でブロック符号化。
(2)(画像の端J1が終わったら一段下へ)K1からT1方向へブロック符号化。
(3)上記の符号化を画像全体が終わるまで繰り返す。
(4)符号語k2を復号してK2を生成、90度右回転して配置。
(5)符号語u1を復号してU1を生成、90度右回転して配置。
(6)符号語k1を復号してK1を生成、90度右回転して配置。
(7)符号語a1を復号してA1を生成、90度右回転して配置。
(8)(3)〜(6)上記復号の繰り返しでブロックラインを生成していく。
【0066】
[ブロック分割の一例]
図11は、画像の画素が階調を持っている場合のブロック分割方法を示した図である。
【0067】
本実施形態では、画素の階調が異なる場合であっても、1ブロックのサイズが65536bitと等しくなるように扱っており、1bit/pixelの場合では1ブロック256pixel(256bit)×256lineで構成しており、2bit/pixelの場合では1ブロック256pixel(512bit)×128lineで構成しており、4bit/pixelの場合では1ブロック256pixel(1024bit)×64lineで構成している。
【0068】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0069】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0070】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0071】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0072】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0073】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0074】
【発明の効果】
以上説明したように本発明によれば、画像の回転を行う際の画像の符号化および復号化において、画質の劣化を回避しつつ、連続して符号化または復号化処理を行うことができ、かつ、かかる処理を小メモリで実現することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施形態にかかる画像処理装置を利用したレーザビームプリンタ(LBP)の全体のハードウェア構成を示す図である。
【図2】図1に示したレーザビームプリンタの制御機能を説明するための機能ブロック図である。
【図3】図1に示したレーザビームプリンタを制御するために必要なハードウェア構成、ならびにレーザビームプリンタに接続されるホストコンピュータ3000を制御するために必要なハードウェア構成を示す図である。
【図4】図2に示した画像処理装置(プリンタ制御ユニット)を構成するゲートアレイ1704の詳細を説明するためのブロック図である。
【図5】図4に示すゲートアレイを構成するJBIG回路4004、4005の詳細を説明するブロック図である。
【図6】図5に示す制御部5003の内部ブロック図である。
【図7】ブロック分割した画像の回転方式を説明するための図である。
【図8】ブロック先頭アドレステーブルを説明するための図である。
【図9】ブロック分割した画像の回転方式を説明するための図である。
【図10】ゲートアレイ1704におけるブロック先頭アドレス管理方法の流れを示したフローチャートである。
【図11】画像の画素が階調を持っている場合のブロック分割方法を示した図である。
【図12】本発明の実施形態にかかる画像処理装置を構成するJBIG回路4004、4005の詳細を説明するブロック図である。
【図13】図5に示す制御部5003の内部ブロック図である。
【図14】本発明の実施形態にかかる画像処理装置における符号化ブロックの復号化の処理の流れを示すフローチャートである。
【図15】本発明の実施形態にかかる画像処理装置を構成するネクストアドレス制御部5010における処理の流れを示したフローチャートである。

Claims (10)

  1. 画像データを可変長符号化する画像処理装置であって、
    前記画像データの処理を指示する指示手段と、
    前記指示手段からの指示に基づいて、画像データを複数のブロックに分割し、ブロックごとの可変長符号化データである符号化ブロックを生成する符号化手段と、を備え、
    前記符号化手段は、
    前記符号化ブロックの先頭アドレスを管理する管理手段と、
    前記符号化ブロックの生成が完了するごとに、内部を初期化する初期化手段と
    を備えることを特徴とする画像処理装置。
  2. 前記符号化手段は、
    前記画像データを構成するすべてのブロックについての可変長符号化が完了した場合に、完了したことを示す信号を前記指示手段に送信する送信手段を更に備えることを特徴とする請求項1に記載の画像処理装置。
  3. ブロックの画像データを可変長符号化した符号化ブロックを複数備える可変長符号化データを復号する画像処理装置であって、
    前記可変長符号化データの復号を指示する指示手段と、
    前記指示手段からの指示に基づいて、前記可変長符号化データを復号する復号化手段と、を備え、
    前記復号化手段は、
    前記符号化ブロックを復号する順序を、該符号化ブロックの先頭アドレスにより管理する管理手段と、
    前記管理手段により管理された順序に従い、前記符号化ブロックを復号し、該符号化ブロックの復号が完了するごとに、内部を初期化する初期化手段と
    を備えることを特徴とする画像処理装置。
  4. 前記復号化手段は、
    前記可変長符号化データを構成するすべてのブロックについての復号が完了した場合に、完了したことを示す信号を前記指示手段に送信する送信手段を更に備えることを特徴とする請求項3に記載の画像処理装置。
  5. 画像データを可変長符号化する画像処理方法であって、
    前記画像データの処理を指示する指示工程と、
    前記指示工程からの指示に基づいて、画像データを複数のブロックに分割し、ブロックごとの可変長符号化データである符号化ブロックを生成する符号化工程と、を備え、
    前記符号化工程は、
    前記符号化ブロックの先頭アドレスを管理する管理工程と、
    前記符号化ブロックの生成が完了するごとに、内部を初期化する初期化工程と
    を備えることを特徴とする画像処理方法。
  6. 前記符号化工程は、
    前記画像データを構成するすべてのブロックについての可変長符号化が完了した場合に、完了したことを示す信号を前記指示工程に送信する送信工程を更に備えることを特徴とする請求項5に記載の画像処理方法。
  7. ブロックの画像データを可変長符号化した符号化ブロックを複数備える可変長符号化データを復号する画像処理方法であって、
    前記可変長符号化データの復号を指示する指示工程と、
    前記指示工程からの指示に基づいて、前記可変長符号化データを復号する復号化工程と、を備え、
    前記復号化工程は、
    前記符号化ブロックを復号する順序を、該符号化ブロックの先頭アドレスにより管理する管理工程と、
    前記管理工程により管理された順序に従い、前記符号化ブロックを復号し、該符号化ブロックの復号が完了するごとに、内部を初期化する初期化工程と
    を更に備えることを特徴とする画像処理方法。
  8. 前記復号化工程は、
    前記可変長符号化データを構成するすべてのブロックについての復号が完了した場合に、完了したことを示す信号を前記指示工程に送信する送信工程を更に備えることを特徴とする請求項7に記載の画像処理方法。
  9. 請求項5乃至8のいずれか1つに記載の画像処理方法をコンピュータによって実現させるための制御プログラム。
  10. 請求項5乃至8のいずれか1つに記載の画像処理方法をコンピュータによって実現させるための制御プログラムを格納した記録媒体。
JP2003064777A 2003-03-11 2003-03-11 画像処理装置および画像処理方法ならびにプログラム、記憶媒体 Withdrawn JP2004274553A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003064777A JP2004274553A (ja) 2003-03-11 2003-03-11 画像処理装置および画像処理方法ならびにプログラム、記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003064777A JP2004274553A (ja) 2003-03-11 2003-03-11 画像処理装置および画像処理方法ならびにプログラム、記憶媒体

Publications (1)

Publication Number Publication Date
JP2004274553A true JP2004274553A (ja) 2004-09-30

Family

ID=33125985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003064777A Withdrawn JP2004274553A (ja) 2003-03-11 2003-03-11 画像処理装置および画像処理方法ならびにプログラム、記憶媒体

Country Status (1)

Country Link
JP (1) JP2004274553A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007201705A (ja) * 2006-01-25 2007-08-09 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラム及びコンピュータ読み取り可能な記録媒体
JP2009175199A (ja) * 2008-01-21 2009-08-06 Yamaha Corp 電子音楽装置及び音楽コンテンツ処理プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007201705A (ja) * 2006-01-25 2007-08-09 Ricoh Co Ltd 画像処理装置、画像処理方法、プログラム及びコンピュータ読み取り可能な記録媒体
JP2009175199A (ja) * 2008-01-21 2009-08-06 Yamaha Corp 電子音楽装置及び音楽コンテンツ処理プログラム

Similar Documents

Publication Publication Date Title
US6226099B1 (en) Printing apparatus
JPH10297050A (ja) 出力制御装置、出力制御方法、画像処理装置、画像処理方法及び記憶媒体
JP3015134B2 (ja) 画像処理方法及び装置
JP2004274553A (ja) 画像処理装置および画像処理方法ならびにプログラム、記憶媒体
JP2003084933A (ja) 画像処理装置およびプログラム
JP4323618B2 (ja) 画像処理装置及び画像処理方法
JP2001026147A (ja) 印刷装置、印刷システム、カラー印刷方法及び記憶媒体
JPH11235849A (ja) 画像処理装置および画像処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP4474487B2 (ja) 画像処理装置及び画像処理方法
JP3428817B2 (ja) 印字制御装置及び方法
JP2003050683A (ja) 画像処理装置、画像処理方法、並びにプログラム及び記憶媒体
JP2737880B2 (ja) 文字処理装置および方法
JP2004023164A (ja) 画像符号化装置、画像符号化方法、プログラム、記憶媒体
JPH11188932A (ja) 印刷制御装置および印刷制御装置のバンド処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2005178033A (ja) ビットマップ画像回転方法
JP2942117B2 (ja) 出力装置
JP2000155663A (ja) 印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH11265438A (ja) 画像処理装置および画像処理装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2006159458A (ja) 画像出力装置
JP2004230726A (ja) 描画処理方法及び描画処理装置
JPH10105354A (ja) 情報処理装置および印刷装置および情報処理装置のデータ処理方法および印刷装置のデータ処理方法
JPH09269875A (ja) ページプリンタにおけるデータ圧縮・伸長方法
JP2005041066A (ja) 印刷装置
JP2003326770A (ja) 印刷装置、印刷システム、データ処理方法、プログラム、及び記憶媒体
JP2000094760A (ja) 印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060606