JP2000307875A - 情報処理装置およびその方法 - Google Patents

情報処理装置およびその方法

Info

Publication number
JP2000307875A
JP2000307875A JP2000030513A JP2000030513A JP2000307875A JP 2000307875 A JP2000307875 A JP 2000307875A JP 2000030513 A JP2000030513 A JP 2000030513A JP 2000030513 A JP2000030513 A JP 2000030513A JP 2000307875 A JP2000307875 A JP 2000307875A
Authority
JP
Japan
Prior art keywords
block
compression
blocks
processing
block compression
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000030513A
Other languages
English (en)
Other versions
JP2000307875A5 (ja
JP3869992B2 (ja
Inventor
Masaki Aritomi
雅規 有富
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 JP2000030513A priority Critical patent/JP3869992B2/ja
Priority to US09/505,729 priority patent/US6658156B1/en
Publication of JP2000307875A publication Critical patent/JP2000307875A/ja
Publication of JP2000307875A5 publication Critical patent/JP2000307875A5/ja
Application granted granted Critical
Publication of JP3869992B2 publication Critical patent/JP3869992B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 ブロック圧縮を優先する処理は、非ブロック
圧縮される部分の圧縮率が低下する、ブロック圧縮が可
能か否かの判定に多くの時間が必要、ブロック圧縮でき
ないケースが続くと、それらの判定時間が無駄になる、
などの問題がある。 【解決手段】 一連のブロックから有意のデータを有す
る両端のブロックを検出し、検出された両端のブロック
の間にあるブロックに対してブロック圧縮処理の効果を
判定し、ブロック圧縮処理が有効なブロックにはブロッ
ク圧縮処理を施し、ブロック圧縮処理が有効ではないブ
ロックおよびそのブロックに続く所定数または所定数以
下のブロックにはブロック圧縮以外の処理を施す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は情報処理装置および
その方法に関し、例えば、画像などのデータを高速に圧
縮する情報処理装置およびその方法に関するものであ
る。
【0002】
【従来の技術】JPEG(Joint Photographic Experts Grou
p)などの圧縮方法は、複数画素からなる矩形のブロック
を単位として圧縮処理を行う。このような圧縮方法を以
下では「ブロック圧縮」と呼ぶ。ブロック圧縮によって
は、ブロックのサイズや圧縮後のデータサイズに条件や
制限がある場合がある。また、ブロック圧縮自体には論
理的な条件や制限がなくても、デコーダの仕様により制
限される場合もある。従って、ブロック圧縮を優先する
場合、規定のブロックサイズで原データを読み込み、ブ
ロック圧縮をテストし、条件および制限内であればブロ
ック圧縮し、条件または制限から外れてブロック圧縮で
きない場合は、他の方法でブロック圧縮するか非圧縮に
して次ブロックの処理に移る、あるいは、ブロック圧縮
を使用せずに圧縮することになる。
【0003】
【発明が解決しようとする課題】上記のブロック圧縮を
優先し、ブロックによっては他の圧縮方法や非圧縮で処
理する方法は、ブロック圧縮される以外の部分の圧縮率
が低下する特性のほか、次の問題がある。 (1) ブロック圧縮が可能か否かの判定に多くの時間が必
要になる。 (2) ブロック圧縮できないケースが続くと、それらの判
定時間が無駄になる。 (3) ブロック圧縮を優先するため、ブロック圧縮される
以外の部分の処理も同じ単位(規定のブロックサイズ)
で行わざるを得ない。
【0004】本発明は、上述の問題を解決するためのも
のであり、できるだけ圧縮効率を低下させずに、高速に
圧縮処理を実行することを目的とする。
【0005】
【課題を解決するための手段】本発明は、前記の目的を
達成する一手段として、以下の構成を備える。
【0006】本発明にかかる情報処理方法は、入力され
る画像データを所定画素サイズのブロックに分割し、前
記ブロックの少なくとも一つに対してブロック圧縮の効
果を判定し、ブロック圧縮が有効であると判定されるブ
ロックには前記ブロック圧縮を施し、ブロック圧縮が有
効ではないと判定されるブロックおよびそのブロックに
続く所定数または所定数以下のブロックには前記ブロッ
ク圧縮以外の処理を施すことを特徴とする。
【0007】また、メモリに記憶されたデータを所定単
位で読み出し、読み出されたデータを所定サイズの一連
のブロックに分割し、前記一連のブロックから有意のデ
ータを有する両端のブロックを検出し、検出された両端
のブロックの間にあるブロックに対してブロック圧縮の
効果を判定し、前記ブロック圧縮が有効なブロックには
前記ブロック圧縮を施し、前記ブロック圧縮が有効では
ないブロックおよびそのブロックに続く所定数または所
定数以下のブロックには前記ブロック圧縮以外の処理を
施すことを特徴とする。
【0008】本発明にかかる情報処理装置は、入力され
る画像データを所定画素サイズのブロックに分割する分
割手段と、前記ブロックの少なくとも一つに対してブロ
ック圧縮の効果を判定する判定手段と、ブロック圧縮が
有効であると判定されたブロックに前記ブロック圧縮を
施し、ブロック圧縮が有効ではないと判定されたブロッ
クおよびそのブロックに続く所定数または所定数以下の
ブロックに前記ブロック圧縮以外の処理を施す処理手段
とを有することを特徴とする。
【0009】また、メモリから所定単位で読み出された
データを所定サイズの一連のブロックに分割し、前記一
連のブロックから有意のデータを有する両端のブロック
を検出する検出手段と、検出された両端のブロックの間
にあるブロックに対してブロック圧縮処理の効果を判定
する判定手段と、前記ブロック圧縮処理が有効なブロッ
クには前記ブロック圧縮処理を施し、前記ブロック圧縮
処理が有効ではないブロックおよびそのブロックに続く
所定数または所定数以下のブロックには前記ブロック圧
縮以外の処理を施す処理手段とを有することを特徴とす
る。
【0010】
【発明の実施の形態】以下、本発明にかかる一実施形態
の情報処理装置を図面を参照して詳細に説明する。
【0011】[構成]図1は本実施形態の情報処理装置
の概観図である。
【0012】例えばパーソナルコンピュータのような情
報処理装置3000は、連長判定を高速に処理するのに好適
な情報機器である。情報処理装置3000は、ユーザから入
力を受け付けるためのキーボード9、ユーザに対して情
報を表示するためのCRTディスプレイ10を備える。ま
た、データやプログラムを記憶する磁気ディスク(FDやH
D)、光磁気ディスク(MO)、光ディスク(CD-ROM、CD-RやC
D-RW)およびディジタルビデオディスク(DVD-ROMやDVD-R
AM)などのリムーバブル記憶メディアをドライブするた
めの外部メモリドライブ11を有する。
【0013】図2は情報処理装置3000の構成例を示すブ
ロック図である。
【0014】マイクロプロセッサであるCPU1は、ROM3の
プログラムROM領域302、ハードディスク(HD)12、および
/または、外部メモリドライブ11にセットされた記憶メ
ディアに記憶されたプログラムやデータなどに基づき、
RAM2をワークメモリに使用して、図形、イメージ、文字
および表(表計算などを含む)などが混在する文書の処
理を実行するとともに、システムデバイス4を介して後
述するブロックを統括的に制御する。
【0015】プログラムROM領域302または外部メモリド
ライブ11にセットされた記憶メディアには、後述するフ
ローチャートに示されるような、CPU1により実行される
プログラムなどが記憶されている。また、フォントROM
領域301には、上記の文書処理の際に作成および編集さ
れる文書データに含まれる文字や記号をCRT10に表示す
るための文字パターンを発生するためのフォントデータ
などが記憶されている。
【0016】さらに、データROM領域303には、上記の文
書処理や表示処理などを行う際に使用される各種デー
タ、例えばROM3のディレクトリ情報や、アプリケーショ
ンテーブルなどが記憶されている。
【0017】5はキーボードコントローラ(KBC)で、キー
ボード(KB)9や図示しないマウスなどのポインティング
デバイスからの入力を制御する。6はCRTコントローラ(C
RTC)で、CRTディスプレイ10の表示を制御する。7はディ
スクコントローラ(DKC)で、HD12および外部メモリドラ
イブ11のアクセスを制御し、それらの記憶メディアに対
して各種プログラム、並びに、フォントデータ、ユーザ
ファイルおよび編集ファイルなどの各種データを読み書
きする。8はプリンタコントローラ(PRTC)で、所定の双
方向性インタフェイス21を介してプリンタ22に接続さ
れ、プリンタ22との間の通信制御を実行する。
【0018】なお、CPU1は、例えばRAM2上に割り当てら
れた表示情報領域あるいは専用のビデオメモリ(VRAM)へ
のアウトラインフォントの展開(ラスタライズ)処理を
実行し、CRTディスプレイ10上でのWYSIWYG(what you se
e is what you get)を可能にする。また、CPU1は、CRT
ディスプレイ10上のマウスカーソルなどにより指示され
るコマンドに基づいて、登録された種々のウィンドウを
開き、種々のデータ処理を実行する。
【0019】[一般的な圧縮処理]次に、上記の構成を
有する情報処理装置を用いた圧縮処理を詳細に説明する
が、その前に、一般的な圧縮処理を説明する。
【0020】図3Aは圧縮対象の原データを示す図であ
る。図3Aのデータは、便宜上、画像データとみなし、ブ
ロックに相当するRAM2上の矩形領域に00から番号を付け
ている。また、以下では、RAM2に書き込まれた画像デー
タをブロック圧縮優先で圧縮する例を説明する。なお、
圧縮対象のデータは、例えばRAM2に割り当てられたバッ
ファ領域に格納されているビットマップイメージあるい
はベクタポイントリストのような連続したディジタルデ
ータである。
【0021】以下の説明において「ブロック圧縮」と
は、画像を画素ブロック単位で処理する必要がある圧縮
方法を意味し、JPEGやFPX(Flash Pix)のように論理的に
ブロック単位で処理するもの、FBE(Fast Boundary Enco
ding)のようにデコーダの仕様に応じて小領域単位で行
うものなどが含まれる。
【0022】また、以下の説明において「非ブロック圧
縮」とは、ブロック圧縮以外の圧縮方法を意味し、RLE
(Run Length Encoding)の例えばPackBitsやDeltaRow、
並びに、ハフマン符号化(Huffman coding)などのエント
ロピ符号化(entropy coding)、さらに、算術符号化(ari
thmetic coding)などの圧縮方法がある。なお、非圧縮
の場合も非ブロック圧縮と呼ぶ。
【0023】また、以下では、ブロック圧縮されたブロ
ックまたはその連続を「ブロック圧縮部」と呼び、非ブ
ロック圧縮されたブロックまたはその連続を「非ブロッ
ク圧縮部」と呼ぶことにする。
【0024】図3Bは一般的な圧縮処理における圧縮方法
の切り替え、および、その結果の一例を示す図である。
【0025】まず、番号00の原データが読み込まれる
が、同ブロックは有意のデータをもたないのでスキップ
され、同様に番号01および04のブロックもスキップされ
る。番号02および03のブロックには有意のデータがある
ので、ブロック圧縮がテストされ、条件を満たすのでブ
ロック圧縮される。一方、番号05のブロックには有意の
データがあるので、ブロック圧縮がテストされるが、条
件を満たさないのでブロック圧縮されない。つまり、番
号05のブロックは例えば連長圧縮されるか、圧縮されな
い。続く、番号06、07および08も、有意なデータをもつ
が、条件を満たさないのでブロック圧縮されない。従っ
て、各ブロックの処理方法は図3Bに示すようになる。
【0026】なお、有意のデータをもつブロックだけを
符号化するので、復号側の処理の都合上、ブロックごと
に有意か否かを示すフラグが符号化データの一部として
発生するが、本実施形態の説明には直接関係しないの
で、詳細な説明は省略する。
【0027】また、上記のブロック圧縮のテストとは、
例えば、所定の圧縮率が得られるように処理対象のブロ
ックをブロック圧縮した場合に、その圧縮データを伸長
した画像の原画像に対する画質劣化が許容範囲内である
か否かをテストするものである。また、ブロック圧縮に
よっては、後述するように、処理対象のブロックをデコ
ーダのデータバッファに格納できるデータサイズに圧縮
可能か否かをテストする場合もある。このようなテスト
の結果、画質劣化が許容範囲内またはデータバッファに
格納可能と判定される場合、「ブロック圧縮が可能」ま
たは「ブロック圧縮の効果がある」などと表現する。
【0028】図4は図3Bに示す圧縮処理のフローチャー
トである。
【0029】Y方向に一行分のブロックのデータをRAM2
の所定領域に格納し(S1)、その中から注目ブロックのデ
ータを読み出し(S2)、注目ブロックが有意のデータを有
するか否かを調べる(S3)。その後、ステップS4で、有意
のデータがある場合はステップS5へ進む。また、注目ブ
ロックに有意のデータがなければステップS2へ戻り、次
のブロックのデータを読み出すので、注目ブロックの圧
縮処理はスキップされる。
【0030】注目ブロックが有意のデータを有する場
合、ブロック圧縮をテストし(S5)、ブロック圧縮の効果
があると判定されれば(S6)、ブロック圧縮し(S7)、効果
がなければ非ブロック圧縮で処理する(S8)。
【0031】以上の処理が終わると、ステップS9で一行
分のブロックの処理が終了したか否かを判定し、未了で
あればステップS2へ戻り次のブロックのデータを読み出
し、ステップS3からS8の処理を繰り返す。一行分のブロ
ックの処理が終了した場合は、例えばRAM2のブロック一
行分のメモリを初期化し(S10)、圧縮されたデータを書
き込む(S11)。
【0032】上記の処理は、データのすべてのブロック
の処理が終了するまで、ブロック一行ごとに行われる。
【0033】このように、図3Bおよび図4に示す圧縮処
理においては、ブロック一行ごとにステップS1からS11
の処理が繰り返され、一ブロックごとにステップS2から
S4の処理が繰り返される。
【0034】[本実施形態の圧縮処理]図5Aは本実施形
態の圧縮処理の概要を示す図で、非ブロック圧縮部を2
ブロックサイズ固定でまとめたものであり、図3Bに示す
一般的な圧縮方法とは番号05から08の非ブロック圧縮部
の扱いが異なる。
【0035】つまり、図3Bおよび図4に示す圧縮処理に
よれば、番号05のブロックは、有意のデータが有るので
ブロック圧縮をテストするが、条件を満たさないためブ
ロック圧縮されずにRLEや非圧縮で処理され、処理は次
の番号06のブロックへ進む。
【0036】これに対して、図5Aに示す本実施形態の圧
縮処理によれば、番号05のブロックが非ブロック圧縮で
処理すると判定された場合、番号05のブロックおよび番
号06のブロックをまとめて一つのブロックとみなし、番
号05および06のブロックからなる矩形領域を非ブロック
圧縮で処理した後、次の番号07のブロックの処理へ進
む。
【0037】従って、図5Aに示す圧縮処理によれば、あ
るブロックを非ブロック圧縮する場合、続く1ブロック
の処理に関して、ステップS3およびS4に対応する有意の
データの有無判定、並びに、ステップS5およびS6に対応
するブロック圧縮の効果の判定が省略できるので、圧縮
処理全体を高速にすることができる。
【0038】なお、続く1ブロックに有意のデータがな
かったとしても、それはRLEなどにより圧縮されてしま
うので圧縮効率が極端に低下することはない。また、画
像データを圧縮する場合、注目ブロックの近傍のデータ
は、注目ブロックのデータに類似する可能性が高いか
ら、注目ブロックを非ブロック圧縮すべきであれば、続
く1ブロックも非ブロック圧縮すべきである可能性が高
く、この面からも圧縮効率が極端に低下することはな
い。
【0039】さて、非ブロック圧縮部にまとめるブロッ
クサイズは2に限定されず、例えば3や4でもよい。ま
た、非ブロック圧縮部にまとめるブロックサイズは固定
である必要はない。図5Bは本実施形態の圧縮処理の概要
を示す図で、非ブロック圧縮部を可変のブロックサイズ
でまとめるものである。
【0040】図5Bに示す本実施形態の圧縮処理によれ
ば、番号05のブロックが非ブロック圧縮すると判定され
た場合、所定のブロック単位Nでスキップしてブロック
の判定を継続する。ここでスキップされるブロック単位
Nは任意であり、例えば2、3または4ブロックなどでよ
い。そして、詳細は後述するが、番号05と異なるブロッ
ク、つまり、有意のデータがないブロック、または、ブ
ロック圧縮すべきブロックが検出されるまで、所定のブ
ロック単位Nでスキップするブロックの判定を継続す
る。図5Bの例では、番号05から08の4ブロックがまとま
った例が示されている。
【0041】なお、スキップされるブロック単位Nは、
非ブロック圧縮の特性および判定速度に依存する。例え
ば、1ビット/画素のデータを入力し、X方向の1ブロック
サイズが128画素である場合、1ブロックのX方向のバイ
ト数は16バイトである。従って、非ブロック圧縮として
最大圧縮ランレングスが128バイトのバイト単位のPackB
itsを利用するならば、128/16=8であるから、8ブロック
でまとめるのが効率的であり、これがスキップされるブ
ロック単位Nの目安になる。
【0042】従って、図5Bに示す圧縮処理によれば、ス
キップされるブロックにおける有意のデータの有無判
定、並びに、ブロック圧縮の効果の判定が省略できるの
で、図5Aに示す圧縮処理よりも、さらに圧縮処理全体を
高速にすることができる。ただし、図5Aの圧縮処理と比
較すると、判定時間が短縮される代わりに、圧縮効率が
低下する可能性がある。
【0043】図5Cは一般的な圧縮処理と、本実施形態の
圧縮処理との違いを説明するための図で、符号510で示
すのが一般的な圧縮処理、符号511で示すのが図5Bの圧
縮処理である。
【0044】さらに、符号512は、X方向だけでなくY方
向にも上記の所定のブロック単位Mでスキップしてブロ
ックの判定を継続する処理を示している。符号512で示
すような処理は、例えば、少なくともスキップされるブ
ロック単位Mに対応する行分のデータをRAM2の所定領域
にコピーし、そのデータをY方向にアクセスすることで
容易に実現される。
【0045】上記で説明した本実施形態の圧縮処理の具
体例、ある1ビット/画素の画像データをブロック圧縮の
FBE、並びに、非ブロック圧縮のPackBitsおよび非圧縮
の混合で処理する例を説明する。
【0046】なお、FBEのデコーダには二つの制限があ
り、128×128画素のブロック単位で復号(伸長)、か
つ、デコードバッファサイズは非圧縮サイズで128/8×1
28=2Kバイトである。また、PackBitsは一般的なもの
で、128バイトのランレングスまで圧縮可能である。ま
た、非ブロック圧縮におけるスキップ単位Nは8ブロック
にする。何故かといえば、FBEのブロックサイズのX方向
が128画素(=16バイト)であり、PackBitsのランレング
スが128バイトまでであるから、スキップ単位を128/16=
8ブロックにすれば効率がよいからである。
【0047】1ビット/画素の画像データの圧縮が開始さ
れると、128×128画素のブロック単位でFBEがテストさ
れる。圧縮後のデータサイズが2Kバイト以内であれば、
そのブロックはFBEされる。一方、ブロック番号Aのブロ
ックの圧縮後のデータサイズが2Kバイト以上の場合、ブ
ロック番号AからA+7までの8ブロックはまとめて1ブロッ
クとみなされPackBitsされた後、処理はブロック番号A+
8のブロックへ進む。つまり、7ブロック分の、ステップ
S3およびS4に対応する有意のデータの有無判定、並び
に、ステップS5およびS6に対応するブロック圧縮の効果
の判定が省略できるので、圧縮処理を高速化することが
できる。
【0048】先にも述べたが、ブロック番号A+1からA+7
のブロックに有意のデータがなかったとしても、PackBi
tsによりランレングスが圧縮されるので、極端な圧縮効
率低下は発生しない。また、通常、あるブロックの近傍
のデータは、そのブロックのデータとの類似性が高いの
で、そのブロックはPackBitsで圧縮すべきであれば、そ
のブロックの近傍のデータをPackBitsで圧縮しても圧縮
効率が極端に低下することはない。
【0049】ところで、スキップ単位N、言い換えればP
ackBitsのブロックのサイズを8にしたが、4や2でもよ
く、スキップ単位Nを可変にすることも可能である。た
だし、PackBitsは主走査方向Xの圧縮効果が高い特性を
もつので、副走査方向Yにスキップすることは有用とは
いえない。もし、DeltaRowのような副走査方向Yの圧縮
効率が高い方法を使用するならば、副走査方向Yのスキ
ップも行うべきである。
【0050】上記のような圧縮処理を行えば、ブロック
圧縮を優先する圧縮においても、複数の圧縮方法を高速
に切り替えながら画像データなどを圧縮することができ
る。
【0051】[圧縮処理手順]図6Aおよび6Bは図5Aに示
す圧縮処理のフローチャートである。
【0052】Y方向に一行分のブロックのデータをRAM2
の所定領域に格納し(S21)、X方向の左端のブロックから
ブロック単位に有意のデータを有するか否かを調べる(S
22およびS23)。そして、右端のブロックまで有意のデー
タを有するブロックが見付からない場合はステップS21
へ戻り、次行のブロックのデータを読み出す。
【0053】一方、有意のデータを有するブロックが見
付かった場合はそのブロック(有意ブロックと呼ぶ)を
X1とし(S24)、今度は右端のブロックからブロック単位
に有意のデータを有するか否かを調べ(S25、見付かった
有意ブロックをX2とする(S26)。
【0054】次に、X1とX2との間のブロックから注目ブ
ロックのデータを読み出し(S27)、注目ブロックが有意
のデータを有するか否かを調べる(S28)。その後、ステ
ップS29で、有意のデータがある場合はステップS30へ進
む。また、注目ブロックに有意のデータがなければステ
ップS27へ戻り、次のブロックのデータを読み出すの
で、注目ブロックの圧縮処理はスキップされる。
【0055】注目ブロックが有意のデータを有する場
合、ブロック圧縮をテストし(S30)、ブロック圧縮が可
能であると判定されれば(S31)、ブロック圧縮し(S32)、
不可能であれば次のブロックがあるか否かを調べ(S3
3)、次ブロックがあれば注目ブロックおよび次ブロック
の2ブロックを非ブロック圧縮する(S34)。また、次のブ
ロックがなければ注目ブロックだけを非ブロック圧縮す
る(S35)。
【0056】以上の処理が終わると、ステップS36で一
行分のブロックの処理が終了したか否かを判定し、未了
であればステップS27へ戻り、次のブロックのデータを
読み出し、ステップS28からS35の処理を繰り返す。一行
分のブロックの処理が終了した場合は、例えばRAM2のブ
ロック一行分のメモリを初期化し(S37)、圧縮されたデ
ータを書き込む(S38)。
【0057】上記の処理は、データのすべてのブロック
の処理が終了するまで、ブロック一行ごとに行われる。
【0058】図7Aから7Cは図5Bに示す圧縮処理のフロー
チャートである。なお、図6Aおよび6Bに示す処理と同様
のステップには同じ符号を付してその詳細説明を省略す
る。
【0059】上述したステップS21からS26の処理が終了
した後、非ブロック圧縮の継続数iを零に初期化する(S4
1)。X1とX2との間のブロックから注目ブロックのデータ
を読み出し(S42)、注目ブロックが有意のデータを有す
るか否かを調べ(S43)、有意のデータがある場合はステ
ップS47へ進む。
【0060】注目ブロックに有意のデータがない場合は
ステップS45へ進み、継続数iが零か否かを判定する。i
>0であれば非ブロック圧縮するブロックが溜まってい
るので、これらのブロックをステップS46で非ブロック
圧縮する。その後、処理はステップS42へ戻り、次のブ
ロックのデータを読み出すので、注目ブロックの圧縮処
理はスキップされる。
【0061】注目ブロックが有意のデータを有する場
合、ブロック圧縮をテストし(S47)、ブロック圧縮が可
能であると判定されれば(S48)、ステップS49で継続数i
が零か否かを判定する。i>0であれば非ブロック圧縮す
るブロックが溜まっているので、これらのブロックをス
テップS50で非ブロック圧縮する。その後、注目ブロッ
クをブロック圧縮する(S51)。
【0062】一方、ブロック圧縮が不可能であれば次の
ブロックがあるか否かを調べ(S52)、あれば継続数iをイ
ンクリメントし(S53)、継続数iにスキップ数Eを加えた
値が継続制限数N未満であるか否かを判定し(S54)、i+E
<Nであれば継続数iにスキップ数Eを加える(S55)。ま
た、次ブロックがない場合、または、i+E≧Nの場合はス
テップS56で溜まっているブロックを非ブロック圧縮す
る。
【0063】図7Cは非ブロック圧縮処理を示すフローチ
ャートで、ステップS61で継続数i分のブロックをまとめ
て処理し、ステップS62で継続数iを零に初期化し、メイ
ンのルーチンに復帰する。
【0064】上記の実施形態において、サブユニットの
処理単位を並列におく、サブユニットの処理単位がユニ
ットの中でループする、上位のサブユニットの処理単位
の中で下位のサブユニット処理単位がループする、など
など各ユニットの配置を変えたとしても、本実施形態を
適用したとみなせる。
【0065】さらに、ブロック圧縮、非圧縮以外の非ブ
ロック圧縮、および、非圧縮の組み合わせだけでなく、
内容が不明な原データを領域条件の異なる複数の圧縮方
法を切り替えながら処理していく場合にも、つまり複数
のブロック圧縮を使用する場合でも、または、複数の非
ブロック圧縮を使用する場合でも、本実施形態を適用す
ることができる。
【0066】図8は図1に示す情報処理装置3000であるホ
ストコンピュータに装填される記憶メディアであるFDに
記憶されているプログラムをホストコンピュータにロー
ドする様子を示している。また、図9は記憶メディアの
一例であるFDのメモリマップを示す図である。
【0067】図9に示す符号999は、ディレクトリ情報な
どを記憶する領域で、アプリケーションプログラムテー
ブル998の記憶場所などが記録されている。さらに、図9
には、各動作環境に対応して、例えば図4、図6Aおよび
図6B、あるいは、図7Aから図7Cに示した制御プログラム
などの記憶領域997や、処理用の構成情報などの記憶領
域996などが示されている。
【0068】ホストコンピュータのオペレータは、FDの
記憶内容からインストールしたい例えばアプリケーショ
ン名をKB9により指示することにより、前述のテーブル9
98を参照してアプリケーションがホストコンピュータへ
ロードされる。例えば動作環境XXXを指示すると、領域9
97および996に記憶された対応するアプリケーションお
よび構成情報がホストコンピュータにロードされる。
【0069】以上説明したように、本実施形態によれ
ば、ブロック圧縮を優先する圧縮処理において次の効果
を得ることができる。 (1)ブロック圧縮が可能か否かの判定を短縮できる。 (2)ブロック圧縮できないケースが続く率が低減される
ので、その分の判定時間を短縮できる。 (3)非ブロック圧縮される部分の処理単位を可変にでき
る。
【0070】すなわち、ブロック圧縮が可能かの条件判
定の回数を減らせる。また、ブロック圧縮できないケー
スが続くとその間の判定を省略することができる。ま
た、非ブロック圧縮部の処理のサイズを変動させること
ができる。また、非ブロック圧縮部の効率を向上するこ
とができる。従って、本実施形態によれば、ブロック圧
縮優先の処理においても、処理の高速化/効率化が達成
でき、データ圧縮やイメージ加工処理を短時間で効率よ
く実行することができる。
【0071】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ、インタフェイス機器、リーダ、プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機、ファクシミリ
装置など)に適用してもよい。
【0072】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体(または記録媒体)を、システムあるい
は装置に供給し、そのシステムあるいは装置のコンピュ
ータ(またはCPUやMPU)が記憶媒体に格納されたプログ
ラムコードを読み出し実行することによっても、達成さ
れることはいうまでもない。この場合、記憶媒体から読
み出されたプログラムコード自体が前述した実施形態の
機能を実現することになり、そのプログラムコードを記
憶した記憶媒体は本発明を構成することになる。また、
コンピュータが読み出したプログラムコードを実行する
ことにより、前述した実施形態の機能が実現されるだけ
でなく、そのプログラムコードの指示に基づき、コンピ
ュータ上で稼働しているオペレーティングシステム(OS)
などが実際の処理の一部または全部を行い、その処理に
よって前述した実施形態の機能が実現される場合も含ま
れることはいうまでもない。
【0073】さらに、記憶媒体から読み出されたプログ
ラムコードが、コンピュータに挿入された機能拡張カー
ドやコンピュータに接続された機能拡張ユニットに備わ
るメモリに書込まれた後、そのプログラムコードの指示
に基づき、その機能拡張カードや機能拡張ユニットに備
わるCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることはいうまでもない。
【0074】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、図6Aおよび図6B、または、図7Aから図
7Cに示したフローチャートに対応するプログラムコード
を格納することになる。
【0075】
【発明の効果】以上説明したように、本発明によれば、
できるだけ圧縮効率を低下させずに、高速に圧縮処理を
実行することができる。
【図面の簡単な説明】
【図1】本実施形態の情報処理装置の概観図、
【図2】図1に示す情報処理装置の構成例を示すブロッ
ク図、
【図3A】圧縮対象の原データを示す図、
【図3B】一般的な圧縮処理における圧縮方法の切り替
え、および、その結果の一例を示す図、
【図4】図3Bに示す圧縮処理のフローチャート、
【図5A】本実施形態の圧縮処理の概要を示す図、
【図5B】本実施形態の圧縮処理の概要を示す図、
【図5C】一般的な圧縮処理と、本実施形態の圧縮処理
との違いを説明するための図、
【図6A】図5Aに示す圧縮処理のフローチャート、
【図6B】図5Aに示す圧縮処理のフローチャート、
【図7A】図5Bに示す圧縮処理のフローチャート、
【図7B】図5Bに示す圧縮処理のフローチャート、
【図7C】図5Bに示す圧縮処理のフローチャート、
【図8】図1に示す情報処理装置に装填される記憶メデ
ィアに記憶されているプログラムをホストコンピュータ
にロードする様子を示すための図、
【図9】記憶メディアの一例であるFDのメモリマップを
示す図である。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 入力される画像データを所定画素サイズ
    のブロックに分割し、 前記ブロックの少なくとも一つに対してブロック圧縮の
    効果を判定し、 ブロック圧縮が有効であると判定されるブロックには前
    記ブロック圧縮を施し、 ブロック圧縮が有効ではないと判定されるブロックおよ
    びそのブロックに続く所定数または所定数以下のブロッ
    クには前記ブロック圧縮以外の処理を施すことを特徴と
    する情報処理方法。
  2. 【請求項2】 メモリに記憶されたデータを所定単位で
    読み出し、 読み出されたデータを所定サイズの一連のブロックに分
    割し、 前記一連のブロックから有意のデータを有する両端のブ
    ロックを検出し、 検出された両端のブロックの間にあるブロックに対して
    ブロック圧縮の効果を判定し、 前記ブロック圧縮が有効なブロックには前記ブロック圧
    縮を施し、 前記ブロック圧縮が有効ではないブロックおよびそのブ
    ロックに続く所定数または所定数以下のブロックには前
    記ブロック圧縮以外の処理を施すことを特徴とする情報
    処理方法。
  3. 【請求項3】 前記ブロック圧縮処理の効果は、ブロッ
    クのデータの圧縮率により判定されることを特徴とする
    請求項1または請求項2に記載された情報処理方法。
  4. 【請求項4】 前記ブロック圧縮処理以外の処理には、
    少なくともRLEおよび非圧縮の何れかが含まれることを
    特徴とする請求項1から請求項3の何れかに記載された情
    報処理方法。
  5. 【請求項5】 前記ブロック圧縮以外の処理はPackBits
    を用いる圧縮処理であることを特徴とする請求項1から
    請求項3の何れかに記載された情報処理方法。
  6. 【請求項6】 前記ブロック圧縮以外の処理はDeltaRow
    を用いる圧縮処理であることを特徴とする請求項1から
    請求項3の何れかに記載された情報処理方法。
  7. 【請求項7】 前記データは画像データであることを特
    徴とする請求項1から請求項6の何れかに記載された情報
    処理方法。
  8. 【請求項8】 入力される画像データを所定画素サイズ
    のブロックに分割する分割手段と、 前記ブロックの少なくとも一つに対してブロック圧縮の
    効果を判定する判定手段と、 ブロック圧縮が有効であると判定されたブロックに前記
    ブロック圧縮を施し、ブロック圧縮が有効ではないと判
    定されたブロックおよびそのブロックに続く所定数また
    は所定数以下のブロックに前記ブロック圧縮以外の処理
    を施す処理手段とを有することを特徴とする情報処理装
    置。
  9. 【請求項9】 メモリから所定単位で読み出されたデー
    タを所定サイズの一連のブロックに分割し、前記一連の
    ブロックから有意のデータを有する両端のブロックを検
    出する検出手段と、 検出された両端のブロックの間にあるブロックに対して
    ブロック圧縮処理の効果を判定する判定手段と、 前記ブロック圧縮処理が有効なブロックには前記ブロッ
    ク圧縮処理を施し、前記ブロック圧縮処理が有効ではな
    いブロックおよびそのブロックに続く所定数または所定
    数以下のブロックには前記ブロック圧縮以外の処理を施
    す処理手段とを有することを特徴とする情報処理装置。
  10. 【請求項10】 情報処理のプログラムコードが記録さ
    れた記録媒体であって、前記プログラムコードは少なく
    とも、 入力される画像データを所定画素サイズのブロックに分
    割するステップのコードと、 前記ブロックの少なくとも一つに対してブロック圧縮の
    効果を判定するステップのコードと、 ブロック圧縮が有効であると判定されたブロックに前記
    ブロック圧縮を施し、ブロック圧縮が有効ではないと判
    定されたブロックおよびそのブロックに続く所定数また
    は所定数以下のブロックに前記ブロック圧縮以外の処理
    を施すステップのコードとを有することを特徴とする記
    憶媒体。
  11. 【請求項11】 情報処理のプログラムコードが記録さ
    れた記録媒体であって、前記プログラムコードは少なく
    とも、 メモリに記憶されたデータを所定単位で読み出すステッ
    プのコードと、 読み出されたデータを所定サイズの一連のブロックに分
    割し、前記一連のブロックから有意のデータを有する両
    端のブロックを検出するステップのコードと、 検出された両端のブロックの間にあるブロックに対して
    ブロック圧縮処理の効果を判定するステップのコード
    と、 前記ブロック圧縮処理が有効なブロックには前記ブロッ
    ク圧縮処理を施し、前記ブロック圧縮処理が有効ではな
    いブロックおよびそのブロックに続く所定数または所定
    数以下のブロックには前記ブロック圧縮以外の処理を施
    すステップのコードとを有することを特徴とする記録媒
    体。
JP2000030513A 1999-02-17 2000-02-08 情報処理装置、画像処理装置およびそれらの方法 Expired - Fee Related JP3869992B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000030513A JP3869992B2 (ja) 1999-02-17 2000-02-08 情報処理装置、画像処理装置およびそれらの方法
US09/505,729 US6658156B1 (en) 1999-02-17 2000-02-17 Information processing apparatus and method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11-39143 1999-02-17
JP3914399 1999-02-17
JP2000030513A JP3869992B2 (ja) 1999-02-17 2000-02-08 情報処理装置、画像処理装置およびそれらの方法

Publications (3)

Publication Number Publication Date
JP2000307875A true JP2000307875A (ja) 2000-11-02
JP2000307875A5 JP2000307875A5 (ja) 2005-04-14
JP3869992B2 JP3869992B2 (ja) 2007-01-17

Family

ID=26378476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000030513A Expired - Fee Related JP3869992B2 (ja) 1999-02-17 2000-02-08 情報処理装置、画像処理装置およびそれらの方法

Country Status (2)

Country Link
US (1) US6658156B1 (ja)
JP (1) JP3869992B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211507A (ja) * 2009-03-10 2010-09-24 Canon Inc 情報処理装置、画像データ生成方法、及びコンピュータプログラム
US8134736B2 (en) 2007-08-31 2012-03-13 Seiko Epson Corporation Image data processing apparatus and method

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4136292B2 (ja) * 2000-08-09 2008-08-20 株式会社リコー 画像処理装置
US7167261B2 (en) * 2001-12-28 2007-01-23 Kabushiki Kaisha Toshiba Image forming apparatus with predetermined copy quality set by user or operator
JP3857611B2 (ja) * 2002-05-20 2006-12-13 富士通株式会社 データ圧縮プログラム、データ圧縮方法、およびデータ圧縮装置
JP4952627B2 (ja) * 2008-03-21 2012-06-13 富士通株式会社 画像処理装置、画像処理方法および画像処理プログラム
JP5595151B2 (ja) 2010-07-13 2014-09-24 キヤノン株式会社 画像処理装置、画像処理装置における圧縮方法、および、プログラム
JP5643574B2 (ja) * 2010-08-26 2014-12-17 キヤノン株式会社 画像処理装置及び画像処理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2514114B2 (ja) * 1991-01-31 1996-07-10 株式会社グラフィックス・コミュニケーション・テクノロジーズ 動画像符号化装置
JP3447771B2 (ja) * 1993-09-02 2003-09-16 富士通株式会社 画像データの符号化方法及び復元方法並びに装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8134736B2 (en) 2007-08-31 2012-03-13 Seiko Epson Corporation Image data processing apparatus and method
JP2010211507A (ja) * 2009-03-10 2010-09-24 Canon Inc 情報処理装置、画像データ生成方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
JP3869992B2 (ja) 2007-01-17
US6658156B1 (en) 2003-12-02

Similar Documents

Publication Publication Date Title
EP0469851B1 (en) Image processing apparatus
JP3453407B2 (ja) 画像処理装置、画像出力装置、画像出力システム、およびその方法
JP3461309B2 (ja) ハフマン符号化データ圧縮装置
JP2008104164A (ja) 画像処理装置及び画像処理方法
JP3869992B2 (ja) 情報処理装置、画像処理装置およびそれらの方法
WO2014167609A1 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
US8417041B2 (en) Resolution independent image degradation
JPH09261457A (ja) 印刷制御装置並びに印刷制御装置のデータ処理方法およびコンピュータで読み出し可能なプログラムを格納した記憶媒体
US7362904B2 (en) Image processing device, image forming apparatus, program, and storing medium
JP2003084933A (ja) 画像処理装置およびプログラム
JP2003189109A (ja) 画像処理装置及び方法、並びにコンピュータ・プログラム
JP3529130B2 (ja) 非常に大きな微細解像度画像のために、調整された印刷パラメータとともに、予備圧縮されたデータを無損失で送る方法および装置
JPH06334872A (ja) 画像処理装置
JP3023215B2 (ja) 画像処理装置
JPH0488749A (ja) 画像処理装置
JP4078747B2 (ja) 画像処理装置
JP2000207147A (ja) 印刷デ―タ転送システム
JP6377222B2 (ja) 情報処理装置、制御方法、プログラム、及び記録媒体
JP2006279208A (ja) データ圧縮装置およびデータ圧縮プログラム
JP2003196674A (ja) 画像処理方法、画像処理装置及びコンピュータ読み取り可能記憶媒体
JP2837581B2 (ja) イメージスキャナ読取装置
JP3117987B2 (ja) 画像処理装置
JP2001069508A (ja) 画像蓄積方法、画像蓄積装置及び記録媒体
JP3119387B2 (ja) 画像処理装置
JPH10293666A (ja) 画像データ処理装置及び方法及びプリンタ

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040608

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040608

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20040608

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20040608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060526

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: 20060922

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061016

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: 20091020

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101020

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101020

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111020

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111020

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121020

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131020

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees