JP6800726B2 - Image forming equipment, methods and programs - Google Patents
Image forming equipment, methods and programs Download PDFInfo
- Publication number
- JP6800726B2 JP6800726B2 JP2016238778A JP2016238778A JP6800726B2 JP 6800726 B2 JP6800726 B2 JP 6800726B2 JP 2016238778 A JP2016238778 A JP 2016238778A JP 2016238778 A JP2016238778 A JP 2016238778A JP 6800726 B2 JP6800726 B2 JP 6800726B2
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- block
- storage
- threshold value
- image forming
- 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.)
- Active
Links
Images
Landscapes
- Facsimile Image Signal Circuits (AREA)
Description
本発明は、画像形成処理を実行する画像形成装置、方法およびプログラムに関する。 The present invention relates to an image forming apparatus, method and program for performing an image forming process.
複合機などの画像形成装置では、画像データは、印刷が行われる前に、適切な階調数をもった画像データに変換される。その際、ディザ法といったスクリーン処理技術が一般的に用いられる。ディザ法では、ディザマトリクスといったLUT(Look Up Table)が用いられる。ディザ法では、入力画像の画素値とディザマトリクスの閾値とを比較し、ハーフトーン処理された二値化画像が生成される。ディザ法を用いることにより、画像の階調数が削減され、記憶領域の容量が削減可能となる。 In an image forming apparatus such as a multifunction device, image data is converted into image data having an appropriate number of gradations before printing is performed. At that time, a screen processing technique such as a dither method is generally used. In the dither method, a LUT (Look Up Table) such as a dither matrix is used. In the dither method, the pixel value of the input image is compared with the threshold value of the dither matrix, and a halftone-processed binarized image is generated. By using the dither method, the number of gradations of the image can be reduced, and the capacity of the storage area can be reduced.
近年では、スクリーン処理技術の発展と伴い、ディザマトリクスの閾値の新しい作成方法も知られている。例えば、Blue Noiseディザマトリクス(以下、BNマスクという)といった技術が知られている。 In recent years, with the development of screen processing technology, a new method for creating a dither matrix threshold is also known. For example, a technique such as a Blue Noise dither matrix (hereinafter referred to as BN mask) is known.
BNマスクは従来のディザマトリクスの使用方法と同じであるが、閾値パターンは、非周期的、等方的であり、低周波成分の少ないノイズ成分で構成されるパワースペクトル(ブルーノイズ特性)を持つことを特徴とする。よって、スクリーン処理後の画像のモアレが見え難く、画質は従来のディザ法より改善されると考えられている。但し、BNマスクの適用には、サイズが大きなマトリクスの使用が必要であり、一般的には、256×256サイズ以上のBNマスクが要求される。ディザ法を用いて、スクリーン処理を行う機能をASICなどのハードウェアで実装する際には、ディザマトリクスをSRAMなどの記憶領域に格納する必要がある。よって、BNマスクを格納する巨大なサイズの記憶領域が必要となる。 The BN mask is the same as the conventional dither matrix usage, but the threshold pattern is aperiodic, isotropic, and has a power spectrum (blue noise characteristic) composed of noise components with few low frequency components. It is characterized by that. Therefore, it is considered that moire of the image after screen processing is difficult to see, and the image quality is improved as compared with the conventional dither method. However, in order to apply the BN mask, it is necessary to use a matrix having a large size, and generally, a BN mask having a size of 256 × 256 or more is required. When a function for performing screen processing is implemented by hardware such as ASIC using the dither method, it is necessary to store the dither matrix in a storage area such as SRAM. Therefore, a huge storage area for storing the BN mask is required.
特許文献1には、BNマスクを回転させ、同じBNマスクの異なる回転パターンを結合して使用する方法が記載されている。
特許文献1に記載の手法を用いることで、図15に簡略的に示すように、128×128サイズのBNマスクと、128×128サイズの回転させたBNマスクとを結合して使用する構成が考えられる。そのような構成により、記憶領域に格納すべきBNマスクのサイズを256×256から128×128に低減することが可能になると考えられる。
By using the method described in
スクリーン処理を高速に行う場合、入力画像の画素値とディザマトリクスの閾値との比較は、M×N画素(例えば、4×2画素)のブロック単位で行うことが多い。そのような構成では、1クロックサイクル(クロック信号の1回の立ち上がり)で同時にM×N個の閾値を取得して、M×N個の画素値との比較が行われる。一般的には、1個のSRAMから1クロックサイクルに1個の閾値しか読み出せないので、4×2画素のブロック単位の場合には、同じSRAMが8個必要となる。 When the screen processing is performed at high speed, the comparison between the pixel value of the input image and the threshold value of the dither matrix is often performed in block units of M × N pixels (for example, 4 × 2 pixels). In such a configuration, M × N threshold values are acquired at the same time in one clock cycle (one rising edge of the clock signal), and comparison with M × N pixel values is performed. Generally, only one threshold value can be read from one SRAM in one clock cycle, so in the case of a block unit of 4 × 2 pixels, eight same SRAMs are required.
特許文献1に記載の手法を用いてSRAMに格納すべきBNマスクのサイズを128×128に低減することが可能になったとしても、上記のスクリーン処理の場合には、8個のSRAMそれぞれに128×128サイズのBNマスクが記憶される。その結果、SRAMの総サイズが128×128×8となってSRAMの使用効率がかえって低下することになり、また、ASICの生産コストの増大の一因ともなってしまう。
Even if the size of the BN mask to be stored in the SRAM can be reduced to 128 × 128 by using the method described in
本発明の目的は、このような従来の問題点を解決することにある。上記の点に鑑み、本発明は、ハーフトーン処理で用いられるマトリクスの記憶領域の使用効率を向上させる画像形成装置、方法およびプログラムを提供することを目的とする。 An object of the present invention is to solve such a conventional problem. In view of the above points, it is an object of the present invention to provide an image forming apparatus, method and program for improving the efficiency of using the storage area of the matrix used in the halftone processing.
上記課題を解決するため、本発明に係る画像形成装置は、画像データに対してハーフトーン処理を実行する画像形成装置であって、前記ハーフトーン処理に用いるマトリクスに設定された閾値を記憶部に格納する格納手段と、前記画像データから、前記マトリクスのサイズより小さいM×N画素のブロック単位で画素値を取得し、前記画像データにマッピングされた前記マトリクスから前記M×N画素のブロックに対応する閾値を前記記憶部から取得する取得手段と、前記取得手段により取得された前記画素値と前記閾値とに基づいて、前記ハーフトーン処理を実行する実行手段と、を備え、前記格納手段は、前記マトリクスに設定された複数の閾値を、前記記憶部を構成する複数の記憶素子に分散して格納し、前記M×N画素のブロックに対応するM×N個の閾値が前記取得手段によりM×N個の記憶素子から取得されるように、前記複数の閾値は、前記複数の記憶素子に分散して格納され、前記格納手段は、前記マトリクスに設定された前記複数の閾値のうち、前記M×N画素のブロックの各位置について、前記取得手段により取得されるべき複数の閾値を1つの記憶素子に格納することを特徴とする。 In order to solve the above problems, the image forming apparatus according to the present invention is an image forming apparatus that executes halftone processing on image data, and stores a threshold value set in a matrix used for the halftone processing in a storage unit. Pixel values are acquired in block units of M × N pixels smaller than the size of the matrix from the storage means for storing and the image data, and the matrix mapped to the image data corresponds to the block of M × N pixels. The storage means includes an acquisition means for acquiring the threshold value to be performed from the storage unit, and an execution means for executing the halftone process based on the pixel value acquired by the acquisition means and the threshold value. A plurality of threshold values set in the matrix are distributed and stored in a plurality of storage elements constituting the storage unit, and M × N threshold values corresponding to the block of M × N pixels are M by the acquisition means. The plurality of threshold values are distributed and stored in the plurality of storage elements so as to be acquired from × N storage elements, and the storage means is among the plurality of threshold values set in the matrix. It is characterized in that a plurality of threshold values to be acquired by the acquisition means are stored in one storage element for each position of the block of M × N pixels .
本発明によれば、ハーフトーン処理で用いられるマトリクスの記憶領域の使用効率を向上させることができる。 According to the present invention, it is possible to improve the efficiency of using the storage area of the matrix used in the halftone processing.
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. It should be noted that the following embodiments do not limit the present invention according to the claims, and not all combinations of features described in the present embodiment are essential for the means for solving the present invention. .. The same components are given the same reference numbers, and the description thereof will be omitted.
[第1の実施形態]
図1(a)は、画像形成装置100のブロック構成を示す図である。デジタル複合機100は、コントローラユニット110、操作部120、スキャナ130、プリンタ140を含む。コントローラユニット110には、操作部120が接続され、また、画像入力デバイスであるスキャナ130や画像出力デバイスであるプリンタ140が接続される。プリンタ140は、インクジェット記録方式や電子写真方式等により、記録媒体への画像の記録を行う。本実施形態では、画像形成装置100として複合機を説明するが、記録媒体への画像形成処理が行われる前のハーフトーン処理が実行されるのであれば、複合機(MFP)ではなく、印刷機能を有するSFPであっても良い。
[First Embodiment]
FIG. 1A is a diagram showing a block configuration of the
コントローラユニット110は、装置全体を統括的に制御するコントローラボードであり、CPU112を含む。CPU112は、ROM116に記憶されているブートプログラムによりOSを起動する。コントローラユニット110は、このOS上で、HDD115に記憶されているアプリケーションプログラムを実行して各種処理を実行する。RAM113は、CPU112の作業領域として用いられる。HDD115は、上記アプリケーションプログラムや各種データを記憶する。本実施形態の動作も、例えば、CPU112がROM116やHDD115に記憶されているプログラムをRAM113上に読み出して実行することにより実現される。
The
CPU112には、システムバス119を介して、例えば、HDD115、ROM116、RAM113、操作部インタフェース(I/F)111、デバイスI/F114、ネットワークI/F117、画像処理部118が接続される。操作部I/F111は、タッチパネル等の表示部を有する操作部120とのインタフェースである。操作部I/F111は、操作部120に表示する各種設定データなどの情報を操作部120に送出したり、ユーザ操作により入力された情報を操作部120から受信してCPU112に送出する。デバイスI/F114には、例えば、スキャナ130およびプリンタ140が接続され、データや制御信号の入出力が行われる。ネットワークI/F117は、外部のネットワーク150に接続され、ネットワーク150を介してネットワーク150上の各装置との間で通信を行う。画像処理部118は、例えば、スキャナ130で光学的に原稿を読み取られた画像データに対する各種処理や、プリンタ140で印刷を行うための、画像回転、画像圧縮、解像度変換、色空間変換、階調変換などの画像データに対する各種処理を実行する。
For example, the
画像形成装置100が外部のPC等からネットワーク150を介して印刷対象のPDLデータを受信すると、CPU112の制御により、画像処理部118は、レンダリング処理が実行された多値の画像データを生成する。そして、画像処理部118は、スクリーン処理を実行し、多値の画像データから、プリンタ140の各色材色に対応した二値の画像データ(ハーフトーンデータ)を生成する。本実施形態では、画像処理部118は、ディザ法を用いるスクリーン処理システムを含み、そのスクリーン処理システムによりスクリーン処理を実行する。プリンタ140は、生成された二値の画像データに基づいて、記録媒体に画像を記録し、その後、印刷出力される。外部からのPDLデータの受信から印刷出力までの間で、上記以外にも、必要な処理が適宜行われる。例えば、PDLデータに付加された属性情報に基づいて、画像の加工や変換等の処理が行われる場合がある。
When the
図1(b)は、画像処理部118のスクリーン処理システムの構成を示す図である。スクリーン処理システム160は、ディザ法により、入力された画像データをM×N画素のブロック単位で二値の画像データに変換していく。その際に、スクリーン処理システム160は、128×128サイズのブルーノイズマスク(以下、BNマスク)を用いて、入力データ164と閾値との比較を行うことにより二値化データ165を生成する。入力データ164は、画像データのうちM×N画素のブロックに対応する画像データの画素値である。本実施形態では、スクリーン処理システム160は、4×2画素のブロック単位で二値化データ165への変換を行う。図1(b)は、入力データ164の4×2画素のブロックの画素値(1、3、7、12、1、5、12、32)と、BNマスクの閾値(2、3、2、4、1、5、12、21)とが各画素について比較され、二値化データ165が生成される様子を示している。以下、ブロックを4×2画素として説明するが、プロセッサの処理能力や記憶素子の構成等に応じて、他の画素数で構成されても良い。
FIG. 1B is a diagram showing a configuration of a screen processing system of the
スクリーン処理システム160は、ディザ設定モジュール161、SRAM配列162、ディザ処理モジュール163を含む。ディザ設定モジュール161は、SRAM配列162内に構成された複数の記憶素子、本実施形態では複数のSRAMのうち、特定のSRAMのアドレスに閾値を書き込む。ディザ処理モジュール163は、入力データの画素値と閾値との比較を行い、二値化データ165を生成して出力する。また、図1(b)に示すように、クロック信号が、ディザ処理モジュール163とSRAM配列162とに入力されており、1個のSRAMについて、1クロックサイクルで1個の閾値が読み出される。つまり、複数のSRAMから各1個の閾値を1クロックサイクルで読み出すことが可能である。
The
図2(a)は、ディザ設定モジュール161の構成の一例を示す図である。ディザ設定モジュール161は、例えば半導体集積回路装置で構成され、制御部201、情報格納部202、閾値設定送信部203を含む。制御部201は、例えばCPU或いは専用制御モジュールを含み、情報格納部202と閾値設定送信部203を制御する。制御部201は、図1のCPU112の制御により動作する場合もある。情報格納部202は、不図示のRAMやROM等の記憶部を含み、ディザマトリクス内の閾値を記憶する。閾値設定送信部203は、SRAM配列162の特定のSRAMの特定のアドレスに対して閾値を書き込むリクエストコマンドを生成し、SRAM配列162に送信する。
FIG. 2A is a diagram showing an example of the configuration of the
図2(b)は、ディザ処理モジュール163の構成の一例を示す図である。ディザ処理モジュール163は、例えば半導体集積回路装置で構成され、画像入力部211、インデクス取得部212、閾値リクエスト送信部213、閾値データ受信部214、画像処理部215、及び画像出力部216を含む。
FIG. 2B is a diagram showing an example of the configuration of the
画像入力部211は、メモリ或いは他のモジュールから、画像データを受信する回路であり、1クロックサイクルで4×2個の入力データ、即ち画素値を受信する。また、画像入力部211は、受信した入力データを画像処理部215に送信する機能、及び、入力データを受信する度に、インデクス取得部212にインデクス取得指令を発行する機能を有する。
The
インデクス取得部212は、画像入力部211からインデクス取得指令を受ける度に、当面の回転パターンに従い、入力データに対応する閾値を取得するためのインデクス値を取得する回路である。本実施形態では、インデクス値は、4×2個取得される。インデクス値は、BNマスク内での画素の位置を示す情報であり、BNマスクから該当する閾値を検索する際に使用される。取得されたインデクス値は、閾値リクエスト送信部213に送信される。閾値リクエスト送信部213は、インデクス取得部212により取得されたインデクス値を受信し、閾値のリードリクエストコマンドを生成してインデクス値とともにSRAM配列162に送信する。
The
閾値データ受信部214は、SRAM配列162から、1クロックサイクルで4×2個の閾値データを受信し、画像処理部215に送信する。画像処理部215は、画像入力部211からの入力データと、閾値データ受信部214からの閾値データを受信し、入力データの画素値と閾値データの閾値との比較を行い、比較結果を二値化データとして、画像出力部216に送信する回路である。画像出力部216は、画像処理部215からの二値化データを受信し、メモリ或いは他のディザ処理モジュールに送信する。本実施形態では、1クロックサイクルで4×2画素分の二値化データを送信する。
The threshold
図3は、SRAM配列162の構成の一例を示す図である。SRAM配列162は、例えば半導体集積回路装置で構成され、リクエスト受信部301、SRAM選択部302、アドレス生成部303、データ格納部304、及び出力制御部305を含む。
FIG. 3 is a diagram showing an example of the configuration of the
リクエスト受信部301は、ディザ処理モジュール163からリードリクエストコマンドを受信し、そのリードリクエストコマンドを、SRAM選択部302、アドレス生成部303、及び出力制御部305に送信する。SRAM選択部302は、リクエスト受信部301から受信したリードリクエストコマンドからインデクス情報を抽出し、該当するインデクス情報に対応する閾値を格納するSRAMを選択する選択信号を生成し、データ格納部304に送信する。
The
アドレス生成部303は、リクエスト受信部301から受信したリードリクエストコマンドからインデクス情報を抽出し、該当するインデクス情報に対応する閾値を格納するSRAM中の位置信号(アドレス信号)を生成し、データ格納部304に送信する。データ格納部304は、Max(M,N)×Max(M,N)個、即ち、最大値の二乗個の比較的に小さい容量のSRAMの配列を含んで構成される。例えば、本実施形態では4×2画素のブロックであるので、Max(4,2)×Max(4,2)=4×4、即ち16個のSRAMの配列を含む。また、データ格納部304に含まれるSRAMの配列の総サイズは、BNマスクを格納するための最小サイズであり、本実施形態では、128×128である。つまり、1個のSRAMのサイズは、128×128÷16=1024アドレス分となる。
The
データ格納部304は、SRAM選択部302とアドレス生成部303からのSRAM選択信号とアドレス信号を受信し、所定のSRAMの所定のアドレスから、閾値を読み出して出力制御部305に送信する。出力制御部305は、データ格納部304から閾値を受信し、リクエスト受信部301から受信したリードリクエストコマンドからインデクス情報を抽出する。そして、16個のSRAMの出力のうち特定の4×2個のSRAMの出力をディザ処理モジュール163に送信する。
The
図4は、ディザマトリクスの閾値の設定から二値化データが出力されるまでの処理を示すフローチャートである。S401〜S405では、ディザ設定モジュール161がSRAM配列162に閾値データを書き込む処理を示す。S401〜S405の処理は、例えば、制御部201のCPUがROMに記憶されたプログラムを読み出して実行することにより実現される。
FIG. 4 is a flowchart showing a process from setting the threshold value of the dither matrix to outputting the binarized data. In S401 to S405, the
S401において、制御部201は、既に設定した閾値の数とBNマスクのサイズとに基づき、閾値の設定が終了したか否かを判定する。閾値の設定が終了していないと判定された場合、S402において、制御部201は、情報格納部202から、所定の閾値データを読み出す。一方、閾値の設定が終了していると判定された場合、後述のS406へ進む。
In S401, the
S403において、制御部201は、注目する閾値の書き込み先のSRAMを特定し、S404において、閾値の書き込み先のSRAMの中の位置(アドレス)を特定する。S405において、制御部201は、閾値設定送信部203を介して、SRAM配列214に対して、閾値の書込みリクエストを発行する。その後、S401からの処理を繰り返す。
In S403, the
図6(a)は、S403のSRAMの特定を説明するための図である。BNマスク601は、128×128サイズのマトリクスである。注目閾値602をSRAM配列162に書き込む際、制御部201は、注目閾値の位置(X_Cord、Y_Cord)を確認する。ここで、X_Cordは、注目閾値602と注目閾値602が属する行の先頭との距離であり、本実施形態では、0〜127の値をとる。また、Y_Cordは、注目閾値602と注目閾値602が属する列の先頭との距離であり、本実施形態では、0〜127の値をとる。そして、上記のX_CordとY_Cordの値に基づき、式(1)に従い、書き込む先のSRAMの番号を特定する。
FIG. 6A is a diagram for explaining the identification of the SRAM of S403. The
X_Cord%max(M,N)+Y_Cord%max(M,N)*max(M,N) ・・・(1)
ここで、「%」は剰余を表す。本実施形態では、5%4+3%4*4=1+12=13となり、注目閾値602を書き込むSRAMは、図6(a)のSRAM13であることを特定する。
X_Cord% max (M, N) + Y_Cord% max (M, N) * max (M, N) ... (1)
Here, "%" represents a remainder. In the present embodiment, 5% 4 + 3% 4 * 4 = 1 + 12 = 13, and it is specified that the SRAM for writing the
図6(b)は、S404のアドレスの特定を説明するための図である。X_CordとY_Cordは、上記で説明したとおりである。MatrixWidthは、BNマスクの幅であり、本実施形態では、128である。本実施形態では、X_Cord、Y_CordとMatrixWidthに基づき、式(2)に従い、書き込む先のアドレスを特定する。 FIG. 6B is a diagram for explaining the identification of the address of S404. X_Cord and Y_Cord are as described above. MatrixWidth is the width of the BN mask, which is 128 in this embodiment. In the present embodiment, the address to be written is specified according to the equation (2) based on X_Cord, Y_Cord, and MatrixWidth.
X_Cord/max(M,N)+(Y_Cord/(max(M,N))*(MatrixWidth/max(M,N)) ・・・(2)
ここで「/」は商を表す。本実施形態では、5/4+(3/4)*(128/4)=1+0=1となり、注目閾値602を書き込むSRAM13のアドレスは1であることを特定する。
X_Cord / max (M, N) + (Y_Cord / (max (M, N)) * (MatrixWids / max (M, N)) ... (2)
Here, "/" represents a quotient. In the present embodiment, 5/4 + (3/4) * (128/4) = 1 + 0 = 1, and it is specified that the address of the
本実施形態では、図6(a)及び図6(b)の方法により、BNマスク601内の閾値は16個のSRAMに分散して格納される。図7には、表示の便宜上、16個のSRAMをA〜Pで表し、BNマスク701内の閾値は対応するSRAMに格納されることを示す。例えば、矢印で示される4つの閾値Aは、SRAM−Aのアドレス0、1、32、33に格納される。
In the present embodiment, the threshold values in the
図7では、BNマスクが128×128の場合を示している。図13及び図14は、本願の概念を容易に説明するための図である。 FIG. 7 shows a case where the BN mask is 128 × 128. 13 and 14 are diagrams for easily explaining the concept of the present application.
図13(a)は、BNマスクが仮に8×8の場合を示す図である。ブロック単位は、上記と同様に、4×2画素である。ここで、図13(a)に示すように、各ブロックをブロックA〜Hとする。そして、各ブロック内の位置を、左上から右上に向かって1、2、3、4と規定し、左下から右下に向かって5、6、7、8と規定する。つまり、ブロックAには、閾値A1、A2、A3、A4、A5、A6、A7、A8の8つの閾値がある。他のブロックB〜Hについても同様である。図13(b)は、式(1)及び(2)を図13(a)に適用した場合に、SRAM0〜15にどのように格納されるかを示す図である。図13(b)のSRAM0〜15の並びは、図3や図6(a)で示した並びと同じである。つまり、4×2画素のブロックであるので、最大値4の二乗、16個のSRAMが構成されている。
FIG. 13A is a diagram showing a case where the BN mask is tentatively 8 × 8. The block unit is 4 × 2 pixels as described above. Here, as shown in FIG. 13A, each block is designated as blocks A to H. Then, the positions in each block are defined as 1, 2, 3, 4 from the upper left to the upper right, and 5, 6, 7, 8 from the lower left to the lower right. That is, the block A has eight thresholds A1, A2, A3, A4, A5, A6, A7, and A8. The same applies to the other blocks B to H. FIG. 13B is a diagram showing how the equations (1) and (2) are stored in
図13(b)に示すように、ブロックAについて、8つの閾値A1〜A8が、8つのSRAM0〜7から読み出される。また、ブロックBについて、8つの閾値B1〜B8が、8つのSRAM0〜7から読み出される。また、ブロックCについて、8つの閾値C1〜C8が、8つのSRAM8〜15から読み出される。また、ブロックDについて、8つの閾値D1〜D8が、8つのSRAM8〜15から読み出される。
As shown in FIG. 13B, for block A, eight thresholds A1 to A8 are read from eight SRAMs 0-7. Further, for block B, eight threshold values B1 to B8 are read from eight
ブロックEについて、8つの閾値E1〜E8が、8つのSRAM0〜7から読み出される。また、ブロックFについて、8つの閾値F1〜F8が、8つのSRAM0〜7から読み出される。また、ブロックGについて、8つの閾値G1〜G8が、8つのSRAM8〜15から読み出される。また、ブロックHについて、8つの閾値H1〜H8が、8つのSRAM8〜15から読み出される。
For block E, eight thresholds E1 to E8 are read from eight SRAMs 0-7. Further, for the block F, eight threshold values F1 to F8 are read from eight
このように、どのブロックについても、異なるSRAMから閾値が読み出されることになる。つまり、どのブロックについても、1クロックサイクルでそのブロックの閾値を読み出すことができる。また、各SRAMについて必要な記憶容量は、図13(b)に示すように、アドレス0〜3の4アドレス分で良く、BNマスクの8×8=64アドレスを確保しなくて良い。
In this way, the threshold value is read from different SRAMs for each block. That is, for any block, the threshold value of that block can be read in one clock cycle. Further, as shown in FIG. 13B, the storage capacity required for each SRAM may be 4 addresses of
図14(a)は、BNマスクが仮に16×16の場合を示す図である。ブロック単位は、上記と同様に、4×2画素である。ここで、図16(a)に示すように、各ブロックをブロックA〜Zfとする。そして、各ブロック内の位置を、左上から右上に向かって1、2、3、4と規定し、左下から右下に向かって5、6、7、8と規定する。つまり、ブロックAには、閾値A1、A2、A3、A4、A5、A6、A7、A8の8つの閾値がある。他のブロックB〜Zfについても同様である。図14(b)は、式(1)及び(2)を図14(a)に適用した場合に、SRAM0〜15にどのように格納されるかを示す図である。図14(b)のSRAM0〜15の並びは、図3や図6(a)で示した並びと同じである。つまり、4×2画素のブロックであるので、最大値4の二乗、16個のSRAMが構成されている。
FIG. 14A is a diagram showing a case where the BN mask is tentatively 16 × 16. The block unit is 4 × 2 pixels as described above. Here, as shown in FIG. 16A, each block is designated as blocks A to Zf. Then, the positions in each block are defined as 1, 2, 3, 4 from the upper left to the upper right, and 5, 6, 7, 8 from the lower left to the lower right. That is, the block A has eight thresholds A1, A2, A3, A4, A5, A6, A7, and A8. The same applies to the other blocks B to Zf. FIG. 14B is a diagram showing how the equations (1) and (2) are stored in
図の簡略上、図14(b)のSRAM0には、「A1〜D1、I1〜L1、Q1〜T1、Y1〜Zb1」と表記している。これは、A1、B1、C1、D1、I1、J1、K1、L1、Q1、R1、S1、T1、Y1、Z1、Za1、Zb1を表す。他のSRAM1〜15についても同様に表記している。
For simplification of the figure,
図14(b)に示すように、例えば、ブロックAについて、8つの閾値A1〜A8が、8つのSRAM0〜7から読み出される。また、ブロックBについて、8つの閾値B1〜B8が、8つのSRAM0〜7から読み出される。また、ブロックCについて、8つの閾値C1〜C8が、8つのSRAM8〜15から読み出される。また、ブロックDについて、8つの閾値D1〜D8が、8つのSRAM8〜15から読み出される。
As shown in FIG. 14B, for example, for block A, eight thresholds A1 to A8 are read from eight SRAMs 0-7. Further, for block B, eight threshold values B1 to B8 are read from eight
他のブロックについても同様であり、どのブロックについても、異なるSRAMから閾値が読み出されることになる。つまり、どのブロックについても、1クロックサイクルでそのブロックの閾値を読み出すことができる。また、各SRAMについて必要な記憶容量は、図14(b)に示すように、アドレス0〜15の16アドレス分で良く、BNマスクの16×16=256アドレスを確保しなくて良い。図13及び図14の効果は、図7の場合でも同様であり、各SRAMについて必要な記憶容量は、アドレス0〜1023の1024アドレス分で良く、BNマスク701の128×128=16384アドレスを確保しなくても良い。
The same applies to the other blocks, and the threshold value is read from different SRAMs for each block. That is, for any block, the threshold value of that block can be read in one clock cycle. Further, as shown in FIG. 14B, the storage capacity required for each SRAM may be 16 addresses of
再び、図4を参照する。S406〜S413は、ディザ処理モジュール163が入力データを受信し、SRAM配列162にリードリクエストコマンドを送信し、読み込んだ閾値と入力データの画素値との比較を行い、その結果を出力する処理を示す。
See FIG. 4 again. S406 to S413 indicate a process in which the
S406において、画像入力部211は、入力データを受信したか否かを判定する。入力データを受信したと判定された場合、S407において、画像入力部211は、受信した4×2画素のブロックを画像処理部215に送信するとともに、インデクス取得部212にインデクス取得コマンドを送信する。
In S406, the
S408において、インデックス計算部212は、インデクス取得コマンドを受信すると、入力されたブロックに対応する閾値の4×2個のインデクスを取得する。インデクス取得部212は、その取得結果を閾値リクエスト送信部213に送信する。閾値リクエスト送信部213は、インデクス取得結果であるインデクス値を受信すると、インデクス値とともにSRAM配列162に閾値データのリードリクエストコマンドを発行する。SRAM配列162で行われるS414については後述する。
In S408, when the
S409において、閾値データ受信部214は、発行されたリードリクエストコマンドに対応する閾値データ、即ち4×2個の閾値を受信する。閾値データ受信部214は、受信された閾値データを画像処理部215に送信する。S410において、画像処理部215は、画像入力部211から送信された入力データの画素値と閾値データ受信部214から送信された閾値データの閾値との比較を行う。画素値が閾値より大きいと判定された場合、画像処理部215は、出力結果に“1”を代入し、データ出力部216に送信する。一方、画素値が閾値より大きくないと判定された場合、画像処理部215は、出力結果に“0”を代入し、データ出力部216に送信する。
In S409, the threshold
S413において、データ出力部216は、画像処理部215から送信された比較結果、即ち4×2画素の二値化データをディザ処理モジュール163の外部に出力する。本実施形態では、以上のように、入力データを二値化データに変換する。
In S413, the
図8は、S407のインデクス値の取得結果を示す図である。本実施形態では、画像データが512×512サイズであるとする。本実施形態では、画像処理部118は、スクリーン処理を行う場合には、画像データ801に対して、図8に示すように、128×128のBNマスク802と、BNマスク802を右方向に90度回転したBNマスク803とを結合するようにマッピングしている。このようなBNマスクのマッピングにより、マトリクス特有のパターンを目立ち難くしつつ、一般的には256×256サイズ以上のBNマスクが要求されるところSRAMに格納しておくBNマスクの容量を128×128のサイズに抑えることができる。
FIG. 8 is a diagram showing the acquisition result of the index value of S407. In the present embodiment, it is assumed that the image data has a size of 512 × 512. In the present embodiment, when performing screen processing, the
S407で取得されるインデクスは、BNマスク内での画素の位置を示している。本実施形態では、図8に示すように、BNマスク内で、各画素の位置を表す位置情報がインデクス値0〜16383として定められている。S407では、4×2画素のブロックに対応する8個のインデクス値が取得される。また、BNマスク802内で割り当てられたブロックのインデクス値0に対応するBNマスク803内での値は、インデクス値16256となる。
The index acquired in S407 indicates the position of the pixel in the BN mask. In the present embodiment, as shown in FIG. 8, the position information indicating the position of each pixel is defined as the
再び、図4を参照する。S414は、SRAM配列162がディザ処理モジュール163からのリードリクエストコマンドを受信した後に、所定の閾値を読み出す処理を示すフローチャートである。また、図5は、S414の処理の詳細を示すフローチャートである。
See FIG. 4 again. S414 is a flowchart showing a process of reading a predetermined threshold value after the
S501において、リクエスト受信部301は、ディザ処理モジュール163からリードリクエストコマンドを受信したか否かを判定する。ディザ処理モジュール163からリードリクエストコマンドを受信したと判定された場合、リクエスト受信部301は、リードリクエストコマンド及びインデクス取得結果をSRAM選択部302、アドレス生成部303、出力制御部305に送信する。
In S501, the
S502において、SRAM選択部302は、受信したインデクス取得結果に基づいて、図6(a)で説明した動作によりSRAMを特定する。S503において、アドレス生成部303は、受信したインデクス取得結果に基づいて、図6(b)で説明した動作によりアドレスを特定する。
In S502, the
S504において、データ格納部304は、SRAMを特定する情報とアドレスを特定する情報に基づき、所定のSRAMから閾値を読み出して出力制御部305に送信する。S505において、出力制御部305は、16個の閾値の中からリクエスト受信部301に送信されたインデクス情報に基づき、必要な8個の閾値を選択してディザ処理モジュール163に送信する。
In S504, the
図9、図10は、BNマスクの異なる回転パターンを用いる場合の、S504での閾値データの読出動作を説明するための図である。図9(a)のBNマスク901は、無回転のBNマスクであり、図8のBNマスク802に対応する。BNマスク901において、4×2の画素ブロックに対応する閾値は、ブロック902、903で読み出される。図13及び図14で説明したように、ブロック902、903内では、SRAMを表示するラベル(A〜P)が重複せず、異なるSRAMから閾値が読み出されることになる。つまり、1クロックサイクルで4×2個の閾値を取得することができる。
9 and 10 are diagrams for explaining the operation of reading the threshold data in S504 when different rotation patterns of the BN masks are used. The
図9(b)のBNマスク904は、BNマスク901を右方向に90度回転させたBNマスクであり、図8のBNマスク803に対応する。4×2の画素ブロックに対応する閾値は、ブロック905、906で読み出される。図9(b)に示すように、ブロック905、906内では、SRAMを表示するラベル(A〜P)が重複せず、異なるSRAMから閾値が読み出されることになる。つまり、1クロックサイクルで4×2個の閾値を取得することができる。
The
図10(a)のBNマスク907は、BNマスク901を180度回転させたBNマスクである。4×2の画素ブロックに対応する閾値は、ブロック908、909で読み出される。図10に示すように、ブロック908、909内では、SRAMを表示するラベル(A〜P)が重複せず、異なるSRAMから閾値が読み出されることになる。つまり、1クロックサイクルで4×2個の閾値を取得することができる。
The
図10(b)のBNマスク910は、BNマスク901を右方向に270度回転させたBNマスクである。4×2の画素ブロックに対応する閾値は、ブロック911、912で読み出される。図10(b)に示すように、ブロック911、912内では、SRAMを表示するラベル(A〜P)が重複せず、異なるSRAMから閾値が読み出されることになる。つまり、1クロックサイクルで4×2個の閾値を取得することができる。
The
また、BNマスク901の鏡像を用いた場合であっても、BNマスク904、BNマスク907、BNマスク910と同じ動作となる。つまり、異なるSRAMから複数個の閾値を読み出されることになり、1クロックサイクルで4×2個の閾値を取得することができる。
Further, even when the mirror image of the
以上のように、本実施形態によれば、ディザマトリクスの回転パターンによらず、1クロックサイクルでM×N個の閾値データを読み出すことができる。さらには、必要なBNマスクのサイズ分の記憶領域を複数のSRAMで実現するので、SRAMの記憶領域の使用効率を向上させることができる。 As described above, according to the present embodiment, M × N threshold data can be read in one clock cycle regardless of the rotation pattern of the dither matrix. Further, since the storage area corresponding to the required size of the BN mask is realized by a plurality of SRAMs, the efficiency of using the storage area of the SRAM can be improved.
[第2の実施形態]
第1の実施形態では、図8に示すように、回転させたBNマスクを結合する形態を説明した。本実施形態では、BNマスクを回転させずに、所定の画素分シフトさせたBNマスクを用いる形態を説明する。以下、図4及び図5を参照しながら、第1の実施形態と異なる点について説明する。
[Second Embodiment]
In the first embodiment, as shown in FIG. 8, a mode in which the rotated BN mask is bound has been described. In the present embodiment, a mode in which the BN mask is shifted by a predetermined pixel without rotating the BN mask will be described. Hereinafter, the points different from the first embodiment will be described with reference to FIGS. 4 and 5.
ディザ設定モジュール161がSRAM配列162に閾値データを書き込む処理については、第1の実施形態におけるS401〜S405の説明と同様であるので、その説明を省略する。
The process of the
ディザ処理モジュール163が入力データを受信してから、閾値と入力データの画素値との比較を行い、その結果を出力するまでは、S407以外、第1の実施形態におけるS406〜S413の説明と同様であるので、その説明を省略する。
After the
以下、本実施形態におけるS407でのインデクス値の取得の処理について説明する。図11は、本実施形態における画像データ1101にマッピングされたBNマスク内の各画素のインデクス値を示す図である。本実施形態では、図11に示すように、128×128のBNマスク1102が、512×512の画像データ1101にマッピングされる。また、図11に示すように、副走査方向(図中、上下方向)に128画素分進む度に、主走査方向(図中、左右方向)へのマッピングは、右方向に1画素シフトされる。図11に示すように、副走査方向でのBNマスク間は、インデックス16256の画素の下にインデックス127の画素が位置する。
Hereinafter, the process of acquiring the index value in S407 in the present embodiment will be described. FIG. 11 is a diagram showing an index value of each pixel in the BN mask mapped to the
本実施形態では、図11に示すように、副走査方向でのBNマスク間で主走査方向へシフトされているので、マトリクス特有のパターンが目立ち難くなる。さらに、図12で後述するように、4×2画素のブロックがBNマスク間を跨いだとしても、異なるSRAMから複数個の閾値を読み出されることになり、1クロックサイクルで4×2個の閾値を取得することができる。 In the present embodiment, as shown in FIG. 11, since the BN masks in the sub-scanning direction are shifted in the main scanning direction, the pattern peculiar to the matrix becomes inconspicuous. Further, as will be described later in FIG. 12, even if a block of 4 × 2 pixels straddles between BN masks, a plurality of threshold values will be read from different SRAMs, and 4 × 2 threshold values will be read in one clock cycle. Can be obtained.
インデクス取得部212は、着目する4×2画素のブロックに対応するインデクス情報を閾値リクエスト送信部213に送信する。閾値リクエスト送信部213は、インデクス情報を受信すると、インデクス情報とともにSRAM配列162に閾値データのリードリクエストコマンドを発行する。その後、対応する閾値が読み出される。SRAM配列162がディザ処理モジュール163からのリードリクエストコマンドを受信後、所定の閾値を読み出すS414の処理については、第1の実施形態におけるS501〜S505の説明と同様であるので、その説明を省略する。
The
図12は、本実施形態でのS504における閾値の読出動作を説明するための図である。BNマスク1201は、無回転のBNマスクである。第1の実施形態で説明したように、4×2画素のブロックに対応する閾値は、1個のBNマスク内部に存在する場合、異なるSRAMから読み出される。
FIG. 12 is a diagram for explaining the threshold reading operation in S504 in the present embodiment. The
図12は、4×2画素のブロック1202がBNマスク間を跨いだ場合の例を示している。図12のようにBNマスクが画像データに対してマッピングされた場合には、4×2画素のブロック1202がBNマスク間を跨いだとしても、SRAMを表示するラベル(A〜P)が重複せず、異なるSRAMから閾値が読み出されることになる。つまり、1クロックサイクルで4×2個の閾値を取得することができる。
FIG. 12 shows an example in which a
図11及び図12では、無回転のBNマスクを説明したが、BNマスクが回転されたパターンや鏡像等の場合であっても同様に、同時に異なるSRAMから閾値が読み出されることになる。 Although the non-rotating BN mask has been described with reference to FIGS. 11 and 12, threshold values are similarly read from different SRAMs at the same time even when the BN mask is a rotated pattern or a mirror image.
以上のように、本実施形態によれば、M×N画素のブロックがBNマスク間を跨いだとしても、異なるSRAMから複数個の閾値を読み出されることになり、1クロックサイクルでM×N個の閾値を取得することができる。 As described above, according to the present embodiment, even if a block of M × N pixels straddles between BN masks, a plurality of threshold values are read from different SRAMs, and M × N pieces are read in one clock cycle. Threshold can be obtained.
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other Examples)
The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or device via a network or storage medium, and one or more processors in the computer of the system or device reads and executes the program. It can also be realized by the processing to be performed. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
100 複合機: 112 CPU: 113 RAM: 116 ROM: 201 制御部 100 Multifunction device: 112 CPU: 113 RAM: 116 ROM: 201 Control unit
Claims (10)
前記ハーフトーン処理に用いるマトリクスに設定された閾値を記憶部に格納する格納手段と、
前記画像データから、前記マトリクスのサイズより小さいM×N画素のブロック単位で画素値を取得し、前記画像データにマッピングされた前記マトリクスから前記M×N画素のブロックに対応する閾値を前記記憶部から取得する取得手段と、
前記取得手段により取得された前記画素値と前記閾値とに基づいて、前記ハーフトーン処理を実行する実行手段と、を備え、
前記格納手段は、前記マトリクスに設定された複数の閾値を、前記記憶部を構成する複数の記憶素子に分散して格納し、
前記M×N画素のブロックに対応するM×N個の閾値が前記取得手段によりM×N個の記憶素子から取得されるように、前記複数の閾値は、前記複数の記憶素子に分散して格納され、
前記格納手段は、前記マトリクスに設定された前記複数の閾値のうち、前記M×N画素のブロックの各位置について、前記取得手段により取得されるべき複数の閾値を1つの記憶素子に格納する、
ことを特徴とする画像形成装置。 An image forming apparatus that executes halftone processing on image data.
A storage means for storing the threshold value set in the matrix used for the halftone processing in the storage unit, and
Pixel values are acquired from the image data in block units of M × N pixels smaller than the size of the matrix, and a threshold value corresponding to the block of M × N pixels is set from the matrix mapped to the image data in the storage unit. And the acquisition method to obtain from
An execution means for executing the halftone process based on the pixel value and the threshold value acquired by the acquisition means is provided.
The storage means distributes and stores a plurality of threshold values set in the matrix in a plurality of storage elements constituting the storage unit.
The plurality of threshold values are dispersed in the plurality of storage elements so that the M × N threshold values corresponding to the block of the M × N pixels are acquired from the M × N storage elements by the acquisition means. Stored,
The storage means stores, among the plurality of threshold values set in the matrix, a plurality of threshold values to be acquired by the acquisition means in one storage element for each position of the M × N pixel block.
An image forming apparatus characterized in that.
前記取得手段は、前記マッピング手段により前記画像データにマッピングされた前記マトリクスから前記M×N画素のブロックに対応する閾値を前記記憶部から取得する、
ことを特徴とする請求項1又は2に記載の画像形成装置。 A mapping means for mapping the matrix to the image data is further provided.
The acquisition means acquires a threshold value corresponding to the block of M × N pixels from the storage unit from the matrix mapped to the image data by the mapping means.
The image forming apparatus according to claim 1 or 2 .
前記ハーフトーン処理に用いるマトリクスに設定された閾値を記憶部に格納する格納工程と、
前記画像データから、前記マトリクスのサイズより小さいM×N画素のブロック単位で画素値を取得し、前記画像データにマッピングされた前記マトリクスから前記M×N画素のブロックに対応する閾値を前記記憶部から取得する取得工程と、
前記取得工程において取得された前記画素値と前記閾値とに基づいて、前記ハーフトーン処理を実行する実行工程と、を有し、
前記格納工程は、前記マトリクスに設定された複数の閾値を、前記記憶部を構成する複数の記憶素子に分散して格納し、
前記M×N画素のブロックに対応するM×N個の閾値が前記取得工程においてM×N個の記憶素子から取得されるように、前記複数の閾値は、前記複数の記憶素子に分散して格納され、
前記格納工程は、前記マトリクスに設定された前記複数の閾値のうち、前記M×N画素のブロックの各位置について、前記取得工程において取得されるべき複数の閾値を1つの記憶素子に格納する、
ことを特徴とする方法。 A method executed in an image forming apparatus that performs halftone processing on image data.
A storage step of storing the threshold value set in the matrix used for the halftone processing in the storage unit, and
Pixel values are acquired from the image data in block units of M × N pixels smaller than the size of the matrix, and a threshold value corresponding to the block of M × N pixels is set from the matrix mapped to the image data in the storage unit. The acquisition process to be acquired from
It has an execution step of executing the halftone process based on the pixel value acquired in the acquisition step and the threshold value.
In the storage step, a plurality of threshold values set in the matrix are distributed and stored in a plurality of storage elements constituting the storage unit.
The plurality of threshold values are dispersed in the plurality of storage elements so that M × N threshold values corresponding to the block of M × N pixels are acquired from the M × N storage elements in the acquisition step. Stored,
In the storage step, among the plurality of threshold values set in the matrix, a plurality of threshold values to be acquired in the acquisition step are stored in one storage element for each position of the block of M × N pixels.
A method characterized by that.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016238778A JP6800726B2 (en) | 2016-12-08 | 2016-12-08 | Image forming equipment, methods and programs |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016238778A JP6800726B2 (en) | 2016-12-08 | 2016-12-08 | Image forming equipment, methods and programs |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018098543A JP2018098543A (en) | 2018-06-21 |
| JP6800726B2 true JP6800726B2 (en) | 2020-12-16 |
Family
ID=62633187
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016238778A Active JP6800726B2 (en) | 2016-12-08 | 2016-12-08 | Image forming equipment, methods and programs |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6800726B2 (en) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08163361A (en) * | 1994-12-02 | 1996-06-21 | Dainippon Screen Mfg Co Ltd | Image binarization method and apparatus |
| JP3861483B2 (en) * | 1998-11-27 | 2006-12-20 | 富士ゼロックス株式会社 | Halftone generation apparatus and halftone generation method |
| JP2006050415A (en) * | 2004-08-06 | 2006-02-16 | Fuji Xerox Co Ltd | Image processing apparatus and threshold data storage method |
| JP6355321B2 (en) * | 2013-11-28 | 2018-07-11 | キヤノン株式会社 | Image processing apparatus, image processing method, and program |
| JP6472336B2 (en) * | 2014-06-18 | 2019-02-20 | キヤノン株式会社 | Image processing apparatus, image processing method, and program |
-
2016
- 2016-12-08 JP JP2016238778A patent/JP6800726B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2018098543A (en) | 2018-06-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106303150A (en) | Image processing apparatus and the control method of image processing apparatus | |
| US20140362395A1 (en) | Image processing apparatus and method | |
| JP6447564B2 (en) | Image forming apparatus, program, and information processing system | |
| US10674037B2 (en) | Image processing apparatus, image processing method, and storage medium with halftone processing using dither matrix of dot concentration type or dither matrix of dot distribution type | |
| US9280727B2 (en) | Information processing unit, printing control method for printer driver, and computer program product | |
| JP4868026B2 (en) | Image processing apparatus, image forming apparatus, and program | |
| JP6800726B2 (en) | Image forming equipment, methods and programs | |
| JPH04252562A (en) | Picture processing unit | |
| JP6525526B2 (en) | IMAGE PROCESSING APPARATUS, IMAGE PROCESSING METHOD, AND PROGRAM | |
| US8970911B2 (en) | Image processing apparatus | |
| JP5531578B2 (en) | Program, image processing apparatus, image processing method, and image processing system | |
| US10560603B2 (en) | Image processing apparatus and image processing method | |
| JP6427960B2 (en) | Image processing device | |
| JP2011053263A (en) | Image processing device, image processing method, image output system, program and recording medium | |
| JP6794834B2 (en) | Image processing equipment and programs | |
| JP2013218539A (en) | Histogram creation device | |
| CN104935767A (en) | Electronic device and data management method | |
| JP6205893B2 (en) | Image processing apparatus, image processing method, and program | |
| US9064204B1 (en) | Flexible image processing apparatus and method | |
| JP7591183B2 (en) | Image forming device | |
| JP4490327B2 (en) | Output device, color conversion method, and program | |
| JP4285513B2 (en) | Image processing circuit and printing apparatus | |
| EP2816795B1 (en) | Image forming apparatus having function of combining stamp image with original image | |
| US10057458B2 (en) | Method and apparatus for printing in grayscale | |
| JP6455675B2 (en) | Electronic device and font image output program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191008 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200722 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200731 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200818 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200911 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201009 |
|
| 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: 20201026 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201125 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 6800726 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |