JP2011139162A - 画像符号化装置、制御方法、及びプログラム - Google Patents

画像符号化装置、制御方法、及びプログラム Download PDF

Info

Publication number
JP2011139162A
JP2011139162A JP2009296376A JP2009296376A JP2011139162A JP 2011139162 A JP2011139162 A JP 2011139162A JP 2009296376 A JP2009296376 A JP 2009296376A JP 2009296376 A JP2009296376 A JP 2009296376A JP 2011139162 A JP2011139162 A JP 2011139162A
Authority
JP
Japan
Prior art keywords
pixel
pixels
value
attribute
data
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
JP2009296376A
Other languages
English (en)
Inventor
Naoto Yamada
直人 山田
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 JP2009296376A priority Critical patent/JP2011139162A/ja
Priority to US12/949,884 priority patent/US20110158523A1/en
Publication of JP2011139162A publication Critical patent/JP2011139162A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】ブロック単位の符号化において、あるオブジェクトがブロックのごく一部にしか存在していない場合においても、領域の周期や連続性が損なわれ圧縮効率を低下させる。
【解決手段】複数の画素で構成され、ブロック単位にてビットマップデータを符号化する画像符号化装置であって、当該ブロック内において、指定された属性データを有する画素の情報を記録し、予め設定された閾値と、前記画素の情報に基づいて各画素の情報を置換するか否かを決定し、その結果によりビットマップデータを展開し、符号化することを特徴とする。
【選択図】 図9

Description

本発明は画像の符号化技術に関するものである。
従来の符号化方法として、処理ハードの簡略化、または並列処理の容易化を目的として、画像データを複数のブロック単位で処理する手法が提案されている(例えば、特許文献1参照)。特許文献1ではブロック単位の処理において、着目ブロックの画像データ入力をさらにライン単位で比較する。さらに着目ラインと一致するラインが既に入力したライン中に存在するか否かを判定し、一致するラインを画素データの代わりに特定の識別情報に置き換えて符号化効率を高めるものである。
特開2008―301449号公報
しかしながら、このようなブロック単位の符号化処理では、あるオブジェクトがブロックのごく一部分にしか含まれていない場合に、ある領域(この場合はライン)の周期性や連続性を損ない圧縮効率を低下させる。また特許文献1のような場合に限らず、ランレングス符号化法のようなデータの連続性を用いた符号化法をブロック毎に行う場合においても同様に連続性を損ない、圧縮効率の低下となる。
上記課題を解決するために、本発明は以下の構成を有する。複数の画素で構成されるブロックを単位としてビットマップデータを符号化する画像符号化装置であって、前記画素はそれぞれ、当該画素が属するオブジェクトの属性を示す属性データ及び色情報を含む画素データを有し、前記画素のうち、指定された属性を有する画素数もしくは画素データの色情報の値を積算し積算情報として保持する画素情報保持手段と、当該ブロックにおける画素が有する前記指定された属性それぞれに対する閾値を設定する閾値設定手段と、前記画素情報保持手段にて保持された前記積算情報と前記閾値設定手段にて設定された属性それぞれに対する閾値とを比較し、その結果に基づいて当該ブロックにおける各画素の値を置換するか否かを決定するオブジェクト判定手段と、前記オブジェクト判定手段により置換すると決定された画素の値を当該画素の周囲画素のうち置換しないと決定された周囲画素の値がすべて同一の場合に当該周囲画素の値に置換し、当該ブロックのビットマップデータを符号化する符号化手段とを有する。
画像データをブロック単位で符号化する手法を適用する際に、所定の属性オブジェクトのごく一部が着目ブロックに含まれている場合においても、オブジェクトの画素数や動作モードに応じて可視的な画質影響がない範囲で別の画素に置換することにより、効率的に符号化を行うことができる。
本発明に係る画像処理システムの全体構成を示すブロック図。 本発明に係るソフトウェアモジュールを示すブロック図。 本発明に係るデータ構成の例を示す図。 第一の実施形態に係る画像圧縮部の内部構成を示すブロック図。 第一の実施形態に係る画素演算部の処理を説明する図。 第一の実施形態に係る画像圧縮符号化部の符号化データフォーマットの図。 第二の実施形態に係る画素圧縮部の内部構成を示すブロック図。 第二の実施形態に係るピース判定部の内部構成を示すブロック図。 第二の実施形態に係る画像符号化動作のフローを示すフローチャートの図。 第二の実施形態に係る画像符号化動作のフローを示すフローチャートの図。 第一の実施形態に係る閾値比較部における処理結果の例を示す図。 第二の実施形態に係る閾値比較部における処理結果の例を示す図。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
<第一の実施形態>
[システム構成]
図1は、本実施形態に係る画像符号化装置の全体構成を示すブロック図である。図1において、画像処理システム100は、画像入力デバイスであるスキャナ101や画像処理システム100において受信、及び処理されたデータを、プリンタ側にて画像処理を行うためにプリンタ画像処理部119を介して画像出力デバイスであるプリンタエンジン102と接続する。そして、画像データの読み取りやプリント出力のための制御を行う。また、画像処理システム100は、LAN10や公衆回線104と接続することで、画像情報やデバイス情報をLAN10経由で入出力するための制御を行う。
CPU105は画像処理システム100を含む画像符号化装置全体を制御するための中央処理装置である。RAM106は、CPU105が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。さらに、ROM107はブートROMであり、システムのブートプログラムが格納されている。HDD108はハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データ等を格納する。操作部I/F109は、画像データ等を表示可能な表示画面を有する操作部110に対するインタフェース部であり、操作部110に対して操作画面データを出力する。また、操作部I/F109は、操作部110から操作者が入力した情報をCPU105に伝える役割をする。ネットワークI/F111は、例えばLANカード等で実現され、LAN10に接続して外部装置との間で情報の入出力を行う。さらにまた、モデム112は公衆回線104に接続し、外部装置との間で情報の入出力を行う。以上のユニットがシステムバス113上に配置されている。
イメージバスI/F114は、システムバス113と画像データを高速で転送する画像バス115とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。そして、画像バス115上には、以下で詳述するラスタイメージプロセッサ(RIP)部116、デバイスI/F117、スキャナ画像処理部118、画像編集用画像処理部120、画像圧縮部103、画像伸張部121、カラーマネジメントモジュール(CMM)130が接続される。
RIP部116は、ページ記述言語(PDL)コードをイメージデータに展開する。デバイスI/F117は、画像伸張部121とプリンタ画像処理部119を介してスキャナ101やプリンタエンジン102と画像処理システム100とを接続し、画像データの同期系/非同期系の変換を行う。
また、スキャナ画像処理部118は、スキャナ101から入力した画像データに対して、補正、加工、編集等の各種処理を行う。画像編集用画像処理部120は、画像データの回転や、トリミング・マスキング等の各種画像処理を行う。画像圧縮部103はRIP部116やスキャナ画像処理部118、画像編集用画像処理部120で処理された画像データをHDD108で一度格納する際に所定の圧縮方式で符号化するものである。画像伸張部121はHDD108で圧縮されている画像データをプリンタ画像処理部119で画像処理し、プリンタエンジン102で出力する場合において、一度圧縮され符号化されているデータを、復号化し伸張するものである。プリンタ画像処理部119は、プリント出力する画像データに対して、プリンタエンジンに応じた画像処理補正、解像度変換などの処理を行う。CMM130は、画像データに対して、プロファイルやキャリブレーションデータに基づいた、色変換処理(色空間変換処理ともいう)を施す専用ハードウェアモジュールである。プロファイルとは、機器に依存した色空間で表現したカラー画像データを機器に依存しない色空間(例えばLabなど)に変換するための関数のような情報である。キャリブレーションデータは、スキャナ101やプリンタエンジン102の色再現特性を修正するためのデータである。
[ソフトウェア構成]
図2で示される各ソフトウェアモジュールは主にCPU105上で動作する。図2に示すジョブコントロール処理201は各ソフトウェアモジュールを統括・制御し、コピー、プリント、スキャン、FAX送受信など画像形成装置(不図示)内で発生するあらゆるジョブの制御を行う。ネットワーク処理202は、主にネットワークI/F111を介して行われる、外部との通信を制御するモジュールであり、LAN10上の各機器との通信制御を行う。ネットワーク処理202はLAN10の各機器からの制御コマンドやデータを受信すると、その内容を、ジョブコントロール処理201へ通知する。また、ジョブコントロール処理201からの指示に基づき、LAN10の各機器へ制御コマンドやデータの送信を行う。UI処理203は、主に操作部110、操作部I/F109に係る制御を行う。操作者が操作部110を介して操作した内容を、ジョブコントロール処理201へ通知すると共に、ジョブコントロール処理201からの指示に基づいて、操作部110上の表示画面の表示内容を制御する。
FAX処理204は、FAX機能の制御を行う。FAX処理204は、モデム112を介してFAX受信を行い、FAX画像特有の画像処理を施した後、受信画像をジョブコントロール処理201へ通知する。また、ジョブコントロール処理201からの指定される画像を、指定通知先へFAX送信を行う。プリント処理207は、ジョブコントロール処理201の指示に基づいて、画像編集用画像処理部120、プリンタ画像処理部119およびプリンタエンジン102を制御し、指定画像の印刷処理を行う。プリント処理207は、ジョブコントロール処理201より、画像データ、画像情報(画像データのサイズ、カラーモード、解像度など)、レイアウト情報(オフセット、拡大縮小、面つけなど)および出力用紙情報(サイズ、印字方向など)の情報を受け付ける。そして、画像圧縮部103、画像伸張部121、画像編集用画像処理部120およびプリンタ画像処理部119を制御して、画像データに対して適切な画像処理を施し、プリンタエンジン102を制御して指定用紙への印刷を行わせる。
スキャン処理210は、ジョブコントロール処理201の指示に基づいて、スキャナ101およびスキャナ画像処理部118を制御して、スキャナ101上にある原稿の読み込みを行わせる。ジョブコントロール処理201の指示には、カラーモードが含まれており、スキャン処理210ではカラーモードに応じた処理が行われる。すなわち、カラーモードがカラーであれば、原稿をカラー画像として入力し、カラーモードがモノクロであれば、原稿をモノクロ画像として入力する。また、カラーモードが“Auto”である場合には、プレスキャンなどにより原稿のカラー/モノクロ判定を行った後、判定結果に基づいた画像として再度原稿をスキャンして画像を入力する。スキャン処理210は、スキャナ101の原稿台にある原稿のスキャンを実行し、デジタルデータとして画像の入力を行う。入力した画像のカラー情報は、ジョブコントロール処理201へ通知される。さらに、スキャン処理210は入力画像に対し、スキャナ画像処理部118を制御して画像の圧縮等、適切な画像処理を施した後、ジョブコントロール処理201へ画像処理済みの入力画像を通知する。
色変換処理209は、ジョブコントロール処理201の指示に基づいて、指示画像に対して、色変換処理を行い、色変換処理後の画像をジョブコントロール処理201へ通知する。ジョブコントロール処理201は、色変換処理209に対して、入力色空間情報、出力色空間情報および色変換を適用する画像を通知する。色変換処理209に通知された出力色空間が、入力機器に依存しない色空間(例えばLab空間)である場合には、入力機器に依存する入力色空間(例えば、RGB)からLabに変換するための情報である入力プロファイル情報があわせて通知される。この場合、色変換処理209は入力プロファイルより、入力色空間からLab空間へマッピングするルックアップテーブル(LUT)を作成し、このLUTを利用して入力画像の色変換を行う。
また、色変換処理209に通知された入力色空間が、Lab空間である場合には、Lab空間から出力機器に依存する出力色空間に変換するための出力プロファイル情報が併せて通知される。この場合、色変換処理209は出力プロファイルより、Lab色空間から出力色空間へマッピングするLUTを作成し、このLUTを利用して入力画像の色変換を行う。また、色変換処理209に通知された入力色空間、出力色空間の双方が、デバイスに依存する色空間である場合には、入力プロファイルと出力プロファイルの双方が通知される。この場合、色変換処理209は入力プロファイルおよび出力プロファイルより、入力色空間から出力色空間へダイレクトにマッピングするLUTを作成し、このLUTを利用して入力画像の色変換を行う。色変換処理209では、CMM130が機器内にあれば、CMM130へ生成したLUTを設定することより、CMM130を利用して色変換を行う。一方、CMM130がない場合にはCPU105がソフトウェア的に色変換処理を行う。
RIP処理211は、ジョブコントロール処理201の指示に基づいて、PDL(ページ記述言語)の解釈(インタプリット)を行い、RIP部116を制御してレンダリングすることで、ビットマップイメージへの展開を行う。以上のような構成でプリント動作中の符号化動作における本実施の形態を図9のフローチャートに基づいて詳細に説明する。上述したようにLAN10を介して送信されてきたPDL(ページ記述言語)は、ネットワークI/F111にて受信し、イメージパスI/F114よりRIP部116へ入力される。RIP部116は送信されたPDL解釈(インタプリット)を行い、RIP部116にて処理できるコードデータへ変換し、それに基づいてレンダリングを実行する。
[データ構成例]
図3(A)はプリントデータ内のオブジェクト群と上述したRIP部116に展開するための命令群をリスト化したコードデータの一例である。図3(A)のように線画や円等の図形とそれに対応するカラー等の描画命令を記述してあるものである。ここでRIP部116は例えばコードデータ3001内のTHIN_LINE(細線)などの描画命令を受けレンダリングを実行し、対応する画素を出力しビットマップデータを作成する。このときに例えばTHIN_LINE(細線)というオブジェクトから描画された画素に対してはオブジェクトの属性の識別ができるように属性フラグを各画素に付加して(この場合は“細線”)、出力する。
図3(B)はビットマップデータにおける画素データのフォーマット例である。図3(B)にて示した場合は各画素がCMYK形式の256階調、つまり8ビットで表現される(領域4001〜領域4004)。更に、色情報であるCMYKの合計32ビットに加えて、オブジェクトの属性を示す属性データとして、属性フラグ4005の8ビット(ビット4010〜ビット4017)を付加し、1画素のデータとした。なお属性フラグ4005は各ビットにそれぞれ、文字ビット4010、小文字ビット4011、線ビット4012、細線ビット4013、フラットビット4014、イメージビット4015、背景ビット4016、オブジェクトの特性に応じた割り当てを有する。また本実施形態において、属性フラグの1ビットの割り当てを図3(B)のように補償ビット4017とする。これは例えば細線などのオブジェクトにおいて、細線の始点や終点以外の中間線の画素に補償ビットを付加するものとする。これにより後述する画素置換の処理において、細線端部以外の画素が置換される条件の場合でも、補償ビットが立っていれば置換することを禁止するものである。この置換処理に対する禁止ビットとしての役割を備えることにより、重要な画像情報の欠落を抑制することができる。なお、図3(B)にて示したようなフォーマットに制限されるものではなく、順番や構成要素を上記以外のオブジェクトの特性などに応じて変更してもよい。上記のようにレンダリングされ属性フラグ4005が付加されたビットマップ形式の画像データは画像バス115を介して、画像圧縮部103へ入力される。なお本実施形態においてRIP部116からの出力は32×32のタイル単位(ブロック単位)で順次出力されるものとする。
[画像圧縮部]
図4は画像圧縮部103内部の詳細ブロック図である。以下に各部位の説明を図9にて示すフローと対応付けながら説明する。属性識別部501はRIP部116より付加されたオブジェクトの属性フラグ4005を識別する(S101)。その結果、対象オブジェクトの画素が入力された場合にその画像データに含まれる属性フラグ4005(本実施形態の場合は7種類)に基づいてカウントの許可信号EN0〜6を発行し、対応づけられたカウンタ503(0〜6)をそれぞれインクリメントしていく。さらに属性フラグ4005を有する画素データは属性識別部501から次段の入力タイルバッファ505へ送信される。閾値設定部502はオブジェクトの属性毎に任意の設定値を設定できるものとし、プリント処理207は閾値設定部502に対して、各属性に対応した閾値を設定する(S102)。本実施形態においては、上述したようにRIP部116からの出力は32×32の計1024画素分を単位としている。そのため、設定値は各属性(図3(B)で説明した属性フラグ4005における4010〜4016の属性)に対して0〜1024の設定値を設定することが可能である。カウンタ503にて保持した各オブジェクトに対する積算情報により、画素情報保持部を実現する。ここでのカウンタの値は、結果として所定のオブジェクトの属性を有する画素数に対応することとなる。
なお、各属性値に設定する値は、例えば“細線”や“小文字”のような画素置換されると画質の影響が大きい属性のオブジェクトについては閾値を他のオブジェクトに比べ低く設定を行う。また図形の塗りつぶし等に使用される“フラット”のような属性のオブジェクトは他のオブジェクトに比べて高く設定するなど、画質に影響の出ない範囲で設定値を個別に設定してもよい。例えば、閾値設定部502へ属性毎に閾値を設定する場合、“細線”、“小文字”のような画素の置換により、画質の影響が大きいオブジェクトには0〜2のような低い値を設定し、その他オブジェクトに対しては、5〜10のような大きい値を設定する。図11(A)は本実施形態で設定した値の一例を示す。“細線”のオブジェクトのように閾値を0に設定した場合には、実質的に“細線”のオブジェクトの画素は後段の処理にて画素置換されないことを意味する。また、閾値設定部502にて設定する閾値は、画像符号化装置が行う印字動作に係る印字モードに応じて閾値を設定、変更することが可能である。
入力タイルバッファ505のバッファがフルになり、1タイル分の画素を全て受けた場合に入力タイルバッファ505より発行されるTILE_FULL信号を、各々の閾値比較部504(0〜6)にて受信する(S103)。次に閾値比較部504(0〜6)は閾値設定部502とカウンタ503(0〜6)の値を比較し、閾値設定部502に指定された閾値が大きい場合にはCULC_EXE0〜6信号をそれぞれ発行する。つまりCULC_EXE信号が発行された属性のオブジェクトについてはそのタイルの中では画質の影響が少なく実質的に他の画素へ置換が可能なことを意味するものである。図11(B)は先ほどの属性毎の設定値に対してある1タイル分の画素が入力された後のカウンタ503(0〜6)の結果とCULC_EXE0〜6信号の状態を示すものである。図11(B)のように各属性の閾値に対して、カウンタ値の方が小さい場合にCULC_EXE信号を発行する。ここでは、“文字”の属性において、閾値よりもカウンタ値の方が小さいため、CULC_EXE0=1を発行している。それ以外の属性においては、CULC_EXE=0である。これにより、オブジェクト判定手段を実現する。
画素演算部506は、閾値比較部504(0〜6)からの信号に基づいて入力タイルバッファより読み出された画素の演算、及び必要に応じて画素情報の置換を行う(S104)。図5はその演算方法を説明する図である。
[置換演算]
上述したように入力タイルバッファ505に格納されたタイルデータは、バッファがフルになり次第、順次先頭の画素より画素演算部506に出力されていく。座標(m,n)の着目画素が画素演算部506に入力された場合を説明する。本実施形態では着目画素の周囲画素、つまり図5(A)に示した座標(m−1,n−1)の左上の画素から、座標(m+1,n+1)右下の画素までの周囲8画素を含めた3×3のウィンドウで演算処理する。本実施形態においては、着目画素が入力される場合に、周囲画素(8画素)が同時に呼ばれて入力される構成とする。着目画素が入力された際にその画素が有する属性フラグを確認し、閾値比較部504(0〜6)より出力されているCULC_EXE信号を確認する。ここで、対応する属性のCULC_EXE信号が“1”となっている場合には、着目画素の周囲8画素を解析する。つまり、周囲画素のうちCULC_EXE信号が発行されていない、すなわち置換可能ではない属性の情報を有する画素のみ(図5における網点の画素以外)を参照画素として比較する。その結果、これら全ての画素が同一画素である場合は着目画素をその同一の画素の値で置換する。ここで、図5(A)の場合に座標(m,n)の着目画素はCULC_EXE信号が発行されている画素であり、置換可能と判定されている。また周辺画素において、座標(m,n+1)の網点の画素も置換可能な画素(つまりCULC_EXE信号が発行された属性の画素)となっている。この場合はその他の周囲7画素の比較を行い、同一画素の場合は図5(B)のように着目画素を周囲7画素と同様に置換する。図5(C)のようにタイルの端部(図5(C)の場合では、タイルの左上や、左端)に着目画素がある場合は図5(C)のように周囲3画素(左上が着目画素の場合)や周囲5画素(左端が着目画素の場合)のみを参照し、上記と同様の処理を行う。このようにして画素演算部506で処理された画素は次段の画素圧縮符号化部507に送信される。
[圧縮符号化]
画素演算部506から送信されてきた画素は、画素圧縮符号化部507内のバッファ(不図示)に格納され、全てのタイル内の画素が送信された時点(S105)で画素圧縮符号化部507はタイル単位で全ての画素が同じ場合か否かを判定する(S106)。タイルにおける全ての画素値が同一の場合には、その画素値を代表画素値として有する代表1画素として圧縮する。図6にその複数の符号化されたタイルデータのストリーム例を示す。例えば着目したタイルの全ての画素が同一の場合には、タイルデータのストリームの先頭ビットを圧縮フラグとして割り当て、代表1画素に圧縮した場合にはこの圧縮フラグに1を立てる。続いて代表1画素(図6中のComp Pixel)のデータを圧縮データとして格納することで符号化動作を行う。このとき、タイルの全ての画素が同一でない場合(図6の場合、Tile2)は圧縮フラグを0とし、32×32タイルの全ての画素にあたる1024画素分(Pixel0〜1023)を格納する。これらの処理をタイル毎に行い、ページでのタイル符号化処理を終了する(S107)。
このように画像圧縮部103にてタイル単位に符号化された画像データは、イメージパスI/F114を介してHDD108へ各ページのタイル群を格納していく。格納されたタイル群はプリンタエンジン102の出力タイミングに同期して呼び出される。そして、イメージバスI/F114、デバイスI/F121を介して画像伸張部121にて圧縮され符号化された画像データを複号化し、伸張することで画像データを復元する。復元された画像データはページ毎に一旦RAM106にて展開される。展開された画像データは、後述するプリンタ画像処理部119内のタイル分割DMAC300により印字するページのタイミングで読み出される。そして、プリンタ画像処理部119にてプリンタ系の所望の画像処理を実行し、プリンタエンジン102にて記録媒体に印字され排出することによりプリント動作を終了する。
以上、説明してきたように画像データのタイル単位の符号化を行う場合において、本実施形態のようにタイル内に存在するオブジェクトの属性とそれに対応する画素数をカウントする。その結果、画質の影響が少なく実質的に他の画素へ置換が可能な画素に対して置換処理を行うことにより、効率的に符号化を行うことができる。また、所定の属性オブジェクトのごく一部が着目ブロックに含まれている場合においても、その一部のオブジェクト画素の画素数や動作モードに応じて可視的な画質影響がない範囲で別の画素に置換することにより効率的に符号化を行うことができる。
<第二の実施形態>
第二の実施形態に係る画像処理システムの全体構成については第一の実施形態にて説明した図1と同様であるので説明を省略する。次にプリント動作中の符号化動作における本実施形態を図10のフローチャートに基づいて詳細に説明する。
第一の実施形態と同様にRIP部116にてレンダリングされ属性フラグ4005が付加されたビットマップ形式の画像データは画像バス115を介して、画像圧縮部103へ入力される。本実施形態においても、属性フラグ4005の1ビットの割り当てを第一の実施形態でも説明した図3(B)のように補償ビット4017とする。これは後段のピース判定部806にて述べるCLUC_EXE信号に関わらず必ず参照画素として処理される画素を表すものとする。この補償ビット4017は、例えば黒や濃い濃度のオブジェクトの上に描画された文字や、アウトラインの画素につけられるものである。これにより後段の濃度等の積算により画素置換をされる場合においても置換を禁止する。これは例えば白文字などの濃度的に薄いが下地のオブジェクトにより置換される影響が大きい場合には置換を抑制するものである。なお本実施形態においても同様にRIP部116からの出力は32×32のタイル単位で順次出力されるものとする。
[画像圧縮部]
図7は本実施形態における画像圧縮部103内部の詳細ブロック図である。図10の処理と対応付けながら述べる。属性識別部801はRIP部116より付加されたオブジェクトの属性フラグを識別する(S111)。そして、対象オブジェクトの画素が入力された場合にその属性フラグ4005に基づいてカウンタの動作許可信号EN0〜6を発行し、対応づけられた濃度積算カウンタ803(0〜6)をインクリメントしていく(S112)。この濃度積算カウンタ803は各画素の色コンポーネント毎にカウンタを有し、各画素のC:M:Y:Kのそれぞれの値をカウントしていくものである。例えばCMYKの4つのコンポーネントで構成されている各濃度値が0:64:128:255の場合にはこれらの値を濃度分だけカウントアップする。したがって濃度積算カウンタ803は各画素の濃度を逐次カウントアップし、積算したものを保持しておく。
また属性フラグを有する画素データは次段の入力タイルバッファ805へ送信される。閾値設定部802はオブジェクトの属性毎に設けられた濃度積算カウンタ803(0〜6)のコンポーネント毎に任意の設定値を設定できるものとし、プリント処理207は閾値設定部802に対して、各属性に対応した設定値を設定する(S113)。上述したようにRIP部116からの出力は32×32の計1024画素分あり、さらに濃度値は図3(B)で説明したようにCMYKの各コンポーネントで0〜255の濃度階調を有する。したがって閾値の設定範囲は各属性(図3(B)で説明した4005〜4011の属性)に対して0〜261120(1024画素×255)の設定値をCMYKのコンポーネント毎に設定することが可能である。
なお、第一の実施形態と同様に各属性値に設定する値も先ほど述べたように、例えば“細線”や“小文字”のような画素置換されると画質の影響が大きい属性のオブジェクトについては閾値を他のオブジェクトに比べ低く設定を行う。また図形の塗りつぶし等に使用される“フラット”のような属性のオブジェクトは他のオブジェクトに比べて高く設定するなど、画質に影響の出ない範囲で設定値を個別に設定してもよい。例えば、閾値設定部802へ属性毎に閾値を設定する場合、“細線”、“小文字”のような画素の置換に対して、画質の影響が大きいオブジェクトには0〜510のような低い値を設定する。そして、その他オブジェクトに対しては、1275〜2550のような大きい値を設定しておく。図12(A)は本実施形態で設定した値の一例を示す。本実施形態は各CMYKのコンポーネント毎に濃度の閾値を設定し、図12(A)のように可視的に影響のあるKのようなコンポーネントの濃度の閾値を他のコンポーネントと比較して小さく設定するなど、第一の実施形態の場合よりさらに詳細な設定を可能とした。
上記の“細線”のオブジェクトのように閾値を0に設定した場合には、第一の実施形態と同様に実質的に“細線”のオブジェクトの画素は後段の処理にて画素置換されないことを意味する。
閾値比較部804(0〜6)は後述する入力タイルバッファ805のバッファがフルになり、1タイル分の画素を全て受けた場合に入力タイルバッファ805よりTILE_FULL信号を発行する(S114)。次に閾値比較部804(0〜6)は閾値設定部802と濃度積算カウンタ803(0〜6)の各コンポーネント(本実施形態の場合はCMYKの4コンポーネント)の値を比較する。その結果、閾値設定部802のコンポーネント毎の値が全て大きい場合にはCULC_EXE0〜6信号をそれぞれ発行する。つまりCULC_EXE信号が発行された属性のオブジェクトについてはそのタイルの中では画質の影響が少なく、実質的に他の画素へ置換が可能なことを意味するものである。図12(B)は先ほどの属性毎の設定値に対してある1タイル分の画素が入力された後の濃度積算カウンタ803(0〜6)の結果とCULC_EXE0〜6信号の状態を示すものである。各属性の各コンポーネント(CMYK)の閾値に対して、各コンポーネントの各カウンタ値を各々比較し、全てのコンポーネントにおいて、閾値のほうが大きい場合を求める。図12(B)の場合においては、“フラット”の属性に対してCULC_EXE4=1を発行している。
[ピース判定部]
図8はピース判定部806の内部ブロック図である。2×2画素演算部9001は入力タイルバッファ805に入力された画素を2×2の矩形単位の4画素を同時に読み出す。なお、ここでは、タイルに含まれる2×2の4画素を便宜上“ピース”と呼んでいる。そして、各CULC_EXE0〜6の信号状態を確認し、後述する演算を行いフラグレジスタ9003へ判定結果であるJDG信号として送信する(S115)。またタイルカウンタ部9002は、2×2画素演算部9001が4画素づつ入力されるたびに発行するCOUNT_UP信号の受信をトリガとしてカウントアップしていく。タイル分(本実施形態の場合は32×32)の全ての画素が2×2画素演算部9001に入力された時点でTILE_END信号をフラグレジスタ9003へ入力する。フラグレジスタ9003は2×2画素演算部9001に逐次入力され処理された結果を内部の判定フラグとして記憶することができるレジスタである。タイルカウンタ部9002から入力されたTILE_END信号に従って記憶していた判定フラグを確認し、次段のサブサンプリング処理部807にサブサンプリングを実行するか否かを決定するためのPROC_EXE信号を出力する。
以上のピース判定部806の構成にて内部動作を説明する。まず上述したように2×2画素演算部9001は入力タイルバッファ805に入力された画素を2×2の矩形単位にて4画素を同時に読み出す。次に各画素の画素値と属性を比較する。まず属性を認識し、属性に対応するCULC_EXE信号を確認する。対応する属性のCULC_EXE信号が”1”となっている場合には、参照画素としない。反対にCULC_EXE信号が”0”となっている場合は参照画素とする。さらに上述したように補償ビットが”1“となっている画素については画質に影響があると判断された画素であるのでCULC_EXE信号に関わらず参照画素として認識する。こうして決定した参照画素のみを比較し、全て同一の画素値の場合にはJDG信号を”H”を出力する。同一の画素値でない場合は”L“を出力し、このようにして各2×2の矩形単位で演算を行っていく。JDG信号を受けたフラグレジスタ9003は内部の判定フラグに結果を反映する。本実施形態において判定フラグは初期値として”H”レベルを記憶しておき、JDG信号から”L“が入力されたときに判定フラグ”L”レベルに変更する。この判定フラグは全ての判定が終了するまで”L”レベルを維持する。入力タイルバッファ805より読み出された全ての画素が演算を終了した時点(この場合は32×32=1024を2×2の単位で演算するので計256回演算を行う)で、タイルカウンタ部9002よりTILE_END信号をフラグレジスタ9003へ出力する。そして、フラグレジスタ9003はTILE_END信号を受けると判定フラグを確認し、”H”レベルの場合はサブサンプリング処理部にサブサンプリングの実行を許可するPROC_EXE信号を発行する(S116)。
サブサンプリング処理部807はPROC_EXE信号を受信し、PROC_EXE信号の状態を確認する(S117)。PROC_EXE信号が発行されている場合(PROC_EXE=1)は、低解像度へのサブサンプリングの実行を行う。従って入力タイルバッファから1画素ずつ読出しを開始し、サブサンプリングした画素を順次出力していく。具体的には、2×2の矩形単位から1画素を出力してやることで当初の解像度に比べて低解像度となるサブサンプリング処理を実行する(S118)。
以上、説明してきたように画像圧縮部103にてタイル単位にサブサンプリングされた画像データは、イメージパスI/F114を介してHDD108へ各ページのサブサンプリングタイル群を格納していく。格納されたサブサンプリングタイル群はプリンタエンジン102の出力タイミングに同期して呼び出される。そして、イメージバスI/F114、デバイスI/F117を介して画像伸張部121にてサブサンプリングされた画像データを複号化し、伸張することで画像データを復元する。復元された画像データは第一の実施形態と同様にページ毎に一旦RAM106にて展開される。展開された画像データは、後述するプリンタ画像処理部119内のタイル分割DMAC300により印字するページのタイミングで読み出される。その後、プリンタ画像処理部119にてプリンタ系の所望の画像処理を実行し、プリンタエンジン102にて記録媒体に印字され排出することによりプリント動作を終了する。
以上、説明してきたように画像データのタイル単位のサブサンプリングを行う場合において、タイル内に存在するオブジェクトの属性とそれに対応する画素の濃度をコンポーネント毎に積算することにより、さらに精度が高く画質の影響が少なくなるように処理することが可能となる。また実質的に他の画素へ置換が可能な画素に対して置換処理を行うことにより、効率的にサブサンプリングを行うことができる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (10)

  1. 複数の画素で構成されるブロックを単位としてビットマップデータを符号化する画像符号化装置であって、
    前記画素はそれぞれ、当該画素が属するオブジェクトの属性を示す属性データ及び色情報を含む画素データを有し、
    前記画素のうち、指定された属性を有する画素数もしくは画素データの色情報の値を積算し積算情報として保持する画素情報保持手段と、
    当該ブロックにおける画素が有する前記指定された属性それぞれに対する閾値を設定する閾値設定手段と、
    前記画素情報保持手段にて保持された前記積算情報と前記閾値設定手段にて設定された属性それぞれに対する閾値とを比較し、その結果に基づいて当該ブロックにおける各画素の値を置換するか否かを決定するオブジェクト判定手段と、
    前記オブジェクト判定手段により置換すると決定された画素の値を当該画素の周囲画素のうち置換しないと決定された周囲画素の値がすべて同一の場合に当該周囲画素の値に置換し、当該ブロックのビットマップデータを符号化する符号化手段と
    を有することを特徴とする画像符号化装置。
  2. 前記符号化手段は、前記ブロックのビットマップデータが有している解像度から任意の低解像度へサブサンプリングを行い、サブサンプリングした画素を圧縮データとする解像度変換手段を更に有することを特徴とする請求項1に記載の画像符号化装置。
  3. 前記符号化手段は、前記ブロックのビットマップデータが全て同一の画素値である場合は、当該画素値を代表画素値として当該ブロックを圧縮する画素圧縮手段を更に有することを特徴とする請求項1に記載の画像符号化装置。
  4. 前記属性データは、線、イメージ、文字を含むオブジェクトの属性を表すことを特徴とする請求項1乃至3のいずれか一項に記載の画像符号化装置。
  5. 前記画素情報保持手段は、前記ブロックにおける画素数を前記属性データに基づきオブジェクトの属性ごとにそれぞれ積算し、前記積算情報として保持することを特徴とする請求項4に記載の画像符号化装置。
  6. 前記画素情報保持手段は、前記ブロックにおける画素が有する前記画素データの色情報である濃度値を、前記属性データに基づきオブジェクトの属性ごとにそれぞれ積算し、前記積算情報として保持することを特徴とする請求項4に記載の画像符号化装置。
  7. 前記属性データは、前記オブジェクト判定手段にて決定した結果に関わらず、当該画素の値の置換を禁止する旨を示す禁止ビットを含むことを特徴とする請求項4乃至6のいずれか一項に記載の画像符号化装置。
  8. 前記閾値設定手段は、印字動作を行う印字モードに応じて、前記閾値を設定することを特徴とする請求項1乃至7のいずれか一項に記載の画像符号化装置。
  9. 複数の画素で構成されるブロックを単位としてビットマップデータを符号化する画像符号化装置の制御方法であって、
    前記画素はそれぞれ、当該画素が属するオブジェクトの属性を示す属性データ及び色情報を含む画素データを有し、
    前記画像符号化装置の画素情報保持手段が、前記画素のうち、指定された属性を有する画素数もしくは画素データの色情報の値を積算し積算情報として保持する画素情報保持工程と、
    前記画像符号化装置の閾値設定手段が、当該ブロックにおける画素が有する前記指定された属性それぞれに対する閾値を設定する閾値設定工程と、
    前記画像符号化装置のオブジェクト判定手段が、前記画素情報保持工程にて保持された前記積算情報と前記閾値設定工程にて設定された属性それぞれに対する閾値とを比較し、その結果に基づいて当該ブロックにおける各画素の値を置換するか否かを決定するオブジェクト判定工程と、
    前記画像符号化装置の符号化手段が、前記オブジェクト判定手段により置換すると決定された画素の値を当該画素の周囲画素のうち置換しないと決定された周囲画素の値がすべて同一の場合に当該周囲画素の値に置換し、当該ブロックのビットマップデータを符号化する符号化工程と
    を有することを特徴とする制御方法。
  10. コンピュータを、
    複数の画素で構成されるブロックにおける画素のうち、指定された属性を有する画素数もしくは画素データの色情報の値を積算し積算情報として保持する画素情報保持手段と、
    当該ブロックにおける画素が有する前記指定された属性それぞれに対する閾値を設定する閾値設定手段と、
    前記画素情報保持手段にて保持された前記積算情報と前記閾値設定手段にて設定された属性それぞれに対する閾値とを比較し、その結果に基づいて当該ブロックにおける各画素の値を置換するか否かを決定するオブジェクト判定手段と、
    前記オブジェクト判定手段により置換すると決定された画素の値を当該画素の周囲画素のうち置換しないと決定された周囲画素の値がすべて同一の場合に当該周囲画素の値に置換し、当該ブロックのビットマップデータを符号化する符号化手段と
    して機能させるためのプログラム。
JP2009296376A 2009-12-25 2009-12-25 画像符号化装置、制御方法、及びプログラム Withdrawn JP2011139162A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009296376A JP2011139162A (ja) 2009-12-25 2009-12-25 画像符号化装置、制御方法、及びプログラム
US12/949,884 US20110158523A1 (en) 2009-12-25 2010-11-19 Image encoding apparatus, control method, and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009296376A JP2011139162A (ja) 2009-12-25 2009-12-25 画像符号化装置、制御方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2011139162A true JP2011139162A (ja) 2011-07-14

Family

ID=44187655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009296376A Withdrawn JP2011139162A (ja) 2009-12-25 2009-12-25 画像符号化装置、制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US20110158523A1 (ja)
JP (1) JP2011139162A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018121207A (ja) * 2017-01-25 2018-08-02 キヤノン株式会社 画像形成装置、その制御方法、プログラム、及び画像処理ユニット
JP2021078129A (ja) * 2021-01-08 2021-05-20 キヤノン株式会社 画像形成装置、その制御方法、及びプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9245214B2 (en) * 2014-06-27 2016-01-26 Ricoh Company Ltd. Image processing compression with a defined pixel window in a linear array

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817179A (en) * 1986-12-29 1989-03-28 Scan-Optics, Inc. Digital image enhancement methods and apparatus
AUPP702498A0 (en) * 1998-11-09 1998-12-03 Silverbrook Research Pty Ltd Image creation method and apparatus (ART77)
JP4781198B2 (ja) * 2006-08-08 2011-09-28 キヤノン株式会社 画像処理装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US7903869B2 (en) * 2006-09-20 2011-03-08 Qualcomm Incorporated Automatic color removal in digitally captured image technical field

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018121207A (ja) * 2017-01-25 2018-08-02 キヤノン株式会社 画像形成装置、その制御方法、プログラム、及び画像処理ユニット
KR20180087842A (ko) * 2017-01-25 2018-08-02 캐논 가부시끼가이샤 화상 처리 장치 및 그 제어 방법
US10706340B2 (en) 2017-01-25 2020-07-07 Canon Kabushiki Kaisha Image processing apparatus and method for controlling the same with character attribute indicating that pixel is pixel of a character
KR102246058B1 (ko) * 2017-01-25 2021-04-29 캐논 가부시끼가이샤 화상 처리 장치 및 그 제어 방법
JP2021078129A (ja) * 2021-01-08 2021-05-20 キヤノン株式会社 画像形成装置、その制御方法、及びプログラム
JP7005796B2 (ja) 2021-01-08 2022-01-24 キヤノン株式会社 画像形成装置、その制御方法、及びプログラム

Also Published As

Publication number Publication date
US20110158523A1 (en) 2011-06-30

Similar Documents

Publication Publication Date Title
JP5132517B2 (ja) 画像処理装置および画像処理方法
US7692821B2 (en) Image-processing apparatus and method for controlling image-processing apparatus
JP5538792B2 (ja) 画像処理装置、その制御方法、及びプログラム
US8842325B2 (en) Image processing apparatus, control method thereof, and storage medium
JP2008042688A (ja) 画像処理装置およびその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2008035502A (ja) 多機能プリンタ装置、及び画像処理方法
US8665484B2 (en) Processing tile images including overlap regions
US8441690B2 (en) Image processing apparatus and image processing method for processing screen-processed image
JP2011193279A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2006341496A (ja) 複合機
JP2011254405A (ja) 画像処理装置及びその処理方法
JP3880465B2 (ja) 色変換テーブルの作成方法およびその装置
JP2011139162A (ja) 画像符号化装置、制御方法、及びプログラム
JP2011120080A (ja) 画像形成装置
JP7098351B2 (ja) 画像処理装置および画像処理方法、およびプログラム
JP2001199135A (ja) 印刷制御装置および印刷制御方法および記憶媒体
JP5538996B2 (ja) 画像処理装置、画像処理方法、プログラム、および記憶媒体
US20100188670A1 (en) Image processing apparatus, image processing method and program executing the image processing method
US9049404B2 (en) Image processing apparatus and method that perform multiple image processes, and storage medium storing a program thereof, for decompressing a compressed image according to first and second information indicating image processing to be performed
JP2008022082A (ja) 画像形成装置及びその制御方法
JP5090969B2 (ja) 画像処理装置
JPH11187261A (ja) 画像処理装置
US20110158531A1 (en) Image processing apparatus and control method thereof
JP2013121154A (ja) 画像処理装置
JP2003037739A (ja) データ転送制御装置、その制御方法、及び制御プログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130305