JP2004056557A - Image processor - Google Patents

Image processor Download PDF

Info

Publication number
JP2004056557A
JP2004056557A JP2002212299A JP2002212299A JP2004056557A JP 2004056557 A JP2004056557 A JP 2004056557A JP 2002212299 A JP2002212299 A JP 2002212299A JP 2002212299 A JP2002212299 A JP 2002212299A JP 2004056557 A JP2004056557 A JP 2004056557A
Authority
JP
Japan
Prior art keywords
tile
enlargement
reduction
image data
image
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.)
Pending
Application number
JP2002212299A
Other languages
Japanese (ja)
Inventor
Takashi Otsuki
大槻 隆志
Toshihiro Tsukagoshi
塚越 敏弘
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002212299A priority Critical patent/JP2004056557A/en
Publication of JP2004056557A publication Critical patent/JP2004056557A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processor which suppresses an increase in a storage area and expands or reduces an image. <P>SOLUTION: This image processor for expanding an image consisting of m × n (where, each of m and n is a natural number ≥1) pixels to an s × t (where, each of s and t is a natural number ≥1) times has a first storage device 14 for dividing the image into each of rectangular areas having a × b (where, 0 < a ≤m, 0 < b ≤ n) pixels and storing pixels of one rectangular area of them, and a second storage device 16 for reading pixels of rectangular areas stored in the first storage device for each 1/(s × t) area and storing the expanded image. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置に係り特に画像を拡大又は縮小する画像処理装置に関する。
【0002】
【従来の技術】
近年、画像の拡大・縮小処理を行う画像処理装置が知られている。画像処理装置は、ライン単位で画像データにアクセスし、画像の拡大・縮小の処理を行う。図1にライン単位で画像データにアクセスするための画像データの構成の一例を示す。
【0003】
全画像データの特定部分(図1中の斜線部分A)の画像データを、拡大又は縮小しようとする場合、該特定部分を含んだ複数ライン分の画像データを記憶領域に一旦書き込む。その後、前記記憶領域に書き込んだ複数ライン分の画像データから特定部分の画像データを読み取り、該読み取った特定部分の画像データに対して拡大・縮小の処理を行う。
【0004】
【発明が解決しようとする課題】
しかしながら、従来の方法では、特定部分の画像データを記憶する記憶領域は読み込むライン数に依存し、画像データの高密度化に伴い、記憶領域は増大する。
【0005】
本発明は、上記の点に鑑みなされたもので、記憶領域の増大化を抑え、画像の拡大又は縮小の処理を行う画像処理装置を提供することを目的とする。
【0006】
【課題を解決するための手段】
そこで、上記問題を解決するため、請求項1記載の発明は、m×n(但し、m、nは1以上の自然数)個の画素から構成される画像をs×t(但し、s、tは1以上の自然数)倍に拡大する画像処理装置であって、前記画像をa×b(但し、0<a<=m、0<b<=n)個の画素を有する矩形領域ごとに分割して、その1つの矩形領域の画素を記憶する第一記憶装置と、前記第一記憶装置に記憶された矩形領域の画素を1/(s×t)領域ごとに読み出して、拡大された前記画像を記憶する第二記憶装置とを有することを特徴とする。
【0007】
また、請求項2記載の発明は、m×n(但し、m、nは1以上の自然数)個の画素から構成される画像を1/(s×t)(但し、s、tは1以上の自然数)倍に縮小する画像処理装置であって、前記画像をa×b(但し、0<a<=m、0<b<=n)個の画素を有する矩形領域ごとに分割して、その1つの矩形領域の画素を記憶する第三記憶装置と、前記第三記憶装置に記憶された矩形領域の画素を読み出して、縮小された前記画像を1/(s×t)領域ごとに記憶する第四記憶装置とを有することを特徴とする。
【0008】
また、請求項3記載の発明は、前記s及びtの値を、前記矩形領域ごとに設定することを特徴とする。
【0009】
また、請求項4記載の発明は、前記画像を前記矩形領域ごとに処理するために、処理した矩形領域数をカウントする矩形領域カウンタと、前記矩形領域の画素を1/(s×t)領域ごとにカウントする画素ブロックカウンタと、拡大又は縮小対象の矩形領域数を設定するレジスタと、拡大又は縮小後の矩形領域数を設定するレジスタとの内、少なくとも1つを有することを特徴とする。
【0010】
また、請求項5記載の発明は、JPEGが規定する拡大又は縮小の処理を行うことを特徴とする。
【0011】
請求項1記載の発明によれば、m×n(但し、m、nは1以上の自然数)個の画素から構成される画像をs×t(但し、s、tは1以上の自然数)倍に拡大する画像処理装置であって、前記画像をa×b(但し、0<a<=m、0<b<=n)個の画素を有する矩形領域ごとに分割して、その1つの矩形領域の画素を記憶する第一記憶装置と、前記第一記憶装置に記憶された矩形領域の画素を1/(s×t)領域ごとに読み出して、拡大された前記画像を記憶する第二記憶装置とを有することによって、記憶領域の増大化を抑え、画像の拡大処理を行う画像処理装置を提供することができる。
【0012】
請求項2記載の発明によれば、m×n(但し、m、nは1以上の自然数)個の画素から構成される画像を1/(s×t)(但し、s、tは1以上の自然数)倍に縮小する画像処理装置であって、前記画像をa×b(但し、0<a<=m、0<b<=n)個の画素を有する矩形領域ごとに分割して、その1つの矩形領域の画素を記憶する第三記憶装置と、前記第三記憶装置に記憶された矩形領域の画素を読み出して、縮小された前記画像を1/(s×t)領域ごとに記憶する第四記憶装置とを有することによって、記憶領域の増大化を抑え、画像の縮小処理を行う画像処理装置を提供することができる。なお、第三記憶装置は、前記第一記憶装置と同じものであってもよく、第四記憶装置は、前記第二記憶装置と同じものであってもよい。
【0013】
請求項3記載の発明によれば、前記s及びtの値を、前記矩形領域ごとに設定することによって、矩形領域ごとに拡大又は縮小率を設定し、矩形領域ごとに拡大又は縮小することができる。
【0014】
請求項4記載の発明によれば、前記画像を前記矩形領域ごとに処理するために、処理した矩形領域数をカウントする矩形領域カウンタと、前記矩形領域の画素を1/(s×t)領域ごとにカウントする画素ブロックカウンタと、拡大又は縮小対象の矩形領域数を設定するレジスタと、拡大又は縮小後の矩形領域数を設定するレジスタとの内、少なくとも1つを有することによって、拡大又は縮小の処理対象となっている矩形領域を拡大又は縮小することができる。
【0015】
請求項5記載の発明によれば、JPEGが規定する拡大又は縮小の処理に前記画像処理装置を用いることにより、記憶領域の増大化を抑え、JPEGが規定する画像の拡大又は縮小の処理を行うことができる。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態について図面に基づいて説明する。図2は、タイル単位で画像データにアクセスするための画像データの構成の一例を示す図である。本発明の実施の説明においては、8×8画素を1タイルとして説明を行う。本発明は、タイル単位で画像データを一時保存領域に保存して、以後の拡大・縮小の処理を行っていく。図2では、説明に必要な構成を表し、説明に必要の無い構成を省略してある。以下の図面においても同じである。
【0017】
図3は、タイル単位の画像データのアクセス順序を説明するための図である。タイル内の数字はタイルのアクセス順序を示しており、主走査方向に100タイル存在する例を示している。1つのタイル内は、前述した如く8×8個の画素で構成されている。読み取られたタイル順に後述する拡大・縮小等の画像変倍処理が行われる。
【0018】
図4は、タイル単位で画像の拡大・縮小を行う拡大・縮小器10を説明のために簡略化して表した図である。拡大・縮小器10の詳細な説明は後に示す図9を用いて行う。
【0019】
拡大・縮小器10は、1ページメモリ2と、タイルメモリ3と、アドレス制御部4と、拡大・縮小後タイルメモリ5と、拡大・縮小後1ページメモリ6とから構成される。
【0020】
初めに拡大処理の場合を例にとり、各機能を説明する。1ページメモリ2には、1ページ分の全画像データが格納されており、タイル単位のアクセスにより、タイル単位の画像データがタイルメモリ3に格納される。
【0021】
タイル単位でタイルメモリ3に格納された画像データは、アドレス制御部4によって、拡大率に応じて読み出され、拡大・縮小後タイルメモリ5に格納される。
【0022】
拡大・縮小後タイルメモリ5に格納された画像データは、タイル単位のアクセスで拡大・縮小後1ページメモリ6に格納される。
【0023】
拡大・縮小後1ページメモリ6に格納された画像データが、前記1ページメモリ2に格納された1ページ分の画像データを、拡大した画像データ分格納されると、拡大後の画像データとして、拡大・縮小器10から出力される。
【0024】
次に縮小処理の場合を例にとり、各機能を説明する。1ページメモリ2には、上記と同様1ページ分の全画像データが格納されており、タイル単位のアクセスにより、タイル単位の画像データがタイルメモリ3に格納される。
【0025】
タイル単位でタイルメモリ3に格納された画像データは、アドレス制御部4によって、縮小率に応じて読み出され、拡大・縮小後タイルメモリ5に格納される。
【0026】
拡大・縮小後タイルメモリ5に格納された画像データは、縮小率に応じたブロック単位で当該メモリに格納され、タイル単位のアクセスで拡大・縮小後1ページメモリ6に格納される。
【0027】
拡大・縮小後1ページメモリ6に格納された画像データが、前記1ページメモリ2に格納された1ページ分の画像データを、縮小した画像データ分格納されると、縮小後の画像データとして、拡大・縮小器10から出力される。
【0028】
前記1ページメモリ2に格納されている1ページ分の画像データを、タイル単位でアクセスし、前記タイルメモリ3に格納する例を以下で示す。
【0029】
図5は、画像データ縮小処理実行時のタイルアクセスの順序を説明するための図である。図5の(A)は、主走査方向に並んだ2つのタイルを主走査方向に1/2の縮小を行った場合のタイルアクセスの順序を示している。各タイルの画素を記憶する際に間引くことによって、主走査方向に1/2の縮小を行っている。図5の(B)は、副走査方向に並んだ2つのタイルを副走査方向に1/2の縮小を行った場合のタイルアクセスの順序を示している。各タイルごとにラインを記憶する際に間引くことによって、副走査方向に1/2の縮小を行っている。図5の(C)は、主走査・副走査、両方向に1/2の縮小を行った場合のタイルアクセスの順序を示している。各タイルをラインと画素ごとに記憶の際に間引くことによって主走査・副走査両方向に1/2の縮小を行っている。なお、記憶の際に間引くのではなく、各タイルの画素を読み出す際に間引いて読み出してもよい。
【0030】
図6は、画像データ全体に対して主走査・副走査両方向に1/2の縮小を行った場合のタイルアクセスの順番を示した図である。前記1ページメモリ2に格納された1ページ分の全画像データは、2×2のタイルアクセスを主走査方向に繰り返し行い、主走査の端まで至ったところで副走査方向にアクセスしていく。
【0031】
図7は、画像データ拡大処理実行時のタイルアクセスの順序を説明するための図である。図7の(A)は、1つのタイルに2度アクセスすることにより、主走査方向に2/1の拡大を行った例を示している。各タイルの画素を横に連続して記憶していくことにより、主走査方向に2/1の拡大を行っている。図7の(B)は、1つのタイルに2度アクセスすることにより、副走査方向に2/1の拡大を行った例を示している。各画素を縦に連続して記憶していくことにより、副走査方向に2/1の拡大を行っている。図7の(C)は、1つのタイルに4度アクセスすることにより、主走査・副走査、両方向に2/1の拡大を行った例を示している。各タイルの画素を縦横連続して記憶していくことにおり、主走査・副走査、両方向に2/1の拡大を行っている。なお、各画素に複数回アクセスすることなく、1度のアクセスで読み込んだ画素を複数個連続させて記憶することにより、拡大を行ってもよい。
【0032】
ここで、図7の(C)を例に取ると、前記アドレス制御部4は、主走査・副走査、両方向に2/1の拡大を行う場合、前記タイルメモリ3に格納されているタイル単位の画像データを、4×4個の画素の集まりである画像ブロック4つに分割し、該分割した画像ブロックごとにアクセスして拡大処理を行う。
【0033】
図8は、画像データ全体に対して主走査・副走査両方向に2/1の拡大を行った場合のタイルアクセスの順番を示した図である。タイル内の数字はタイルのアクセス順序を示している。
【0034】
上述した如く、1ページメモリ2に格納されている図8に示す1ページ分の全画像データは、主走査方向に2倍、副走査方向に2倍の拡大率に応じて1タイルを1/4に分割される。1タイル分の画像データは、該分割された各画像ブロックごとにアクセスされ、前記タイルメモリ3に格納される。
【0035】
図9に、拡大・縮小器10の詳細な図を示す。図4と同一部分は、同一名称を付している。
【0036】
図9の拡大・縮小器10は、1ページメモリ2と、1ページメモリ制御部13と、タイルメモリ3と、アドレス制御部4と、拡大・縮小後タイルメモリ5と、拡大・縮小後1ページメモリ6と、拡大・縮小後1ページメモリ制御部18と、拡大・縮小器制御部20と、タイルカウンタ21と、画素ブロックカウンタ22と、処理対象主走査タイル数設定レジスタ23と、処理対象副走査タイル数設定レジスタ24と、拡大・縮小後主走査タイル数設定レジスタ25と、拡大・縮小後主走査タイル数設定レジスタ26と、主走査方向拡大・縮小率設定レジスタ27と、副走査方向拡大・縮小率設定レジスタ28とから構成されている。
【0037】
1ページメモリ2は、後述する1ページメモリ制御部13によって制御され、入力画像データI/Fを用いて入力された1ページの全画像データが当該メモリに格納される。
【0038】
1ページメモリ制御部13は、前記1ページメモリ2を制御し、入力画像データI/Fを用いて入力された1ページの全画像データを前記1ページメモリ2に格納する一方、後述する拡大・縮小器制御部20より通知される処理対象となるタイルデータを前記1ページメモリ2から読み出し、後述するタイルメモリ3に格納する。
【0039】
タイルメモリ3は、前記1ページメモリ制御部13によって、前記1ページメモリ2内の画像データをタイル単位でメモリ内に保存される。
【0040】
アドレス制御部4は、後述する拡大・縮小器制御部20より通知された主走査・副走査方向の拡大・縮小率の情報と処理対象のタイルの位置情報とに基づき、前記タイルメモリ3の読み出しアドレスと、後述する拡大・縮小後タイルメモリ5の書き込みアドレスとを指定する。また、前記指定したタイルメモリ3の読み出しアドレスからデータを読み出して、前記指定した後述する拡大・縮小後タイルメモリ5の書き込みアドレスにデータを書き込む。
【0041】
拡大・縮小後タイルメモリ5は、前記アドレス制御部4によって、前記タイルメモリ3より読み出されたデータを、前記アドレス制御部4によって指定された書き込みアドレスに格納される。また、後述する拡大・縮小後1ページメモリ制御部18によって、タイル単位の画像データを読み出され、後述する拡大・縮小後1ページメモリ6に格納される。
【0042】
拡大・縮小後1ページメモリ6は、前記拡大・縮小後タイルメモリ5に格納されている画像データを、後述する拡大・縮小後1ページメモリ制御部18の指定によって、タイル単位で当該メモリ内に格納される。
【0043】
拡大・縮小後1ページメモリ制御部18は、前記拡大・縮小後タイルメモリ5に格納されている画像データを、後述する拡大・縮小器制御部20の指定にしたがって、前記拡大・縮小後タイルメモリ5から読み出し、前記拡大・縮小後1ページデータ格納メモリ17に書き込む。また、後述する拡大・縮小器制御部20の指定にしたがって、前記拡大・縮小後1ページメモリ6内の1ページ分の画像データを読み出し、出力データI/Fを用いて出力する。
【0044】
拡大・縮小器制御部20は、処理対象主走査タイル数設定レジスタ23、処理対象副走査タイル数設定レジスタ24、拡大・縮小後主走査タイル数設定レジスタ25、拡大・縮小後副走査タイル数設定レジスタ26、主走査方向拡大・縮小率設定レジスタ27及び副走査方向拡大・縮小率設定レジスタ28より、拡大・縮小前の拡大・縮小の処理対象となっている主走査タイル数、拡大・縮小の処理対象となっている拡大・縮小前の副走査タイル数、拡大・縮小後の主走査タイル数、拡大・縮小後の副走査タイル数、主走査方向の拡大・縮小率及び副走査方向の拡大・縮小率の情報を取得する。
【0045】
タイルカウンタ21は、前記拡大・縮小器制御部20より、現在の処理対象となっているタイルの拡大又は縮小の処理が終わり、次のタイルを処理対象とする情報を伝えられると、タイルのカウントアップを行い、該カウントアップしたタイルのカウント情報を前記拡大・縮小器制御部20に通知する。
【0046】
画素ブロックカウンタ22は、前記拡大・縮小器制御部20より、前記拡大・縮小器制御部20が主走査方向拡大・縮小率設定レジスタ27及び副走査方向拡大・縮小率設定レジスタ28より取得した主走査方向の拡大・縮小率、副走査方向の拡大・縮小率の情報及び処理済みの画素ブロック等の情報を取得して、ガゾブロックのカウントアップを行い、該カウントアップした画素ブロックのカウント情報を前記拡大・縮小器制御部20に通知する。
【0047】
以下、画像の拡大処理を例にとって、前記拡大・縮小器10の各構成機器の動作を説明する。
【0048】
画像の拡大処理を行う場合は、前記1ページメモリ2に書き込まれた1ページ分の画像データの中から、前記1ページメモリ制御部13の制御に従い、処理対象となるタイル単位の画像データを読み出し、前記タイルメモリ3に格納する。
【0049】
ここで、前記1ページメモリ制御部13は、前記拡大・縮小器制御部20によって、制御されており、前記拡大・縮小器制御部20は、前記タイルカウンタ21、処理対象主走査タイル数設定レジスタ23及び処理対象副走査タイル数設定レジスタ24等から取得した情報に基づいて、前記拡大・縮小器制御部20に対して、前記1ページメモリ2より読み出す処理対象となるタイル単位の画像データを指定する。
【0050】
前記タイルメモリ3に格納されたタイル単位の画像データは、前記アドレス制御部4によって指定された読み出しアドレスからデータを読み出され、前記アドレス制御部4によって指定された書き込みアドレスに従って、前記拡大・縮小後タイルメモリ5に書き込まれる。
【0051】
ここで、前記アドレス制御部4は、前記拡大・縮小器制御部20によって、制御されており、前記拡大・縮小器制御部20は、前記画素数カウンタ22、拡大・縮小後主走査タイル数設定レジスタ25、拡大・縮小後副走査タイル数設定レジスタ26、主走査方向拡大・縮小率設定レジスタ27及び副走査方向拡大・縮小率設定レジスタ等から取得した情報に基づいて、前記アドレス制御部4に対して、前記タイルメモリ3より読み出す読み出しアドレス、読み出し数、及び前記拡大・縮小後タイルメモリ5に書き込む書き込みアドレスを指定する。
【0052】
前記拡大・縮小後タイルメモリ5に書き込まれた1タイル分の拡大後の画像データは、前記拡大・縮小後1ページメモリ制御部18の制御に従い、タイル単位で読み出され、前記拡大・縮小後1ページメモリ6に格納する。
【0053】
ここで、前記拡大・縮小後1ページメモリ制御部18は、前記拡大・縮小器制御部20によって、制御されており、前記拡大・縮小器制御部20は、タイルカウンタ21、拡大・縮小後主走査タイル数設定レジスタ25及び拡大・縮小後副走査タイル数設定レジスタ26等から取得した情報に基づいて、前記拡大・縮小後1ページメモリ制御部18に対して前記拡大・縮小後タイルデータ格納メモリから読み出したタイル単位の画像データの、前記拡大・縮小後1ページメモリ6への書き込み位置を指定する。
【0054】
前記拡大・縮小後1ページメモリ6の拡大後の画像データが前記拡大・縮小後1ページメモリ制御部18の指定するデータ量となった場合は、前記拡大・縮小後1ページメモリ制御部18は、出力データI/Fを用いて、画像データを出力する。
【0055】
図10にタイルメモリ3のアドレス構成の一例を示す。メモリ内の数字はアドレスを示しており、64画素を保持することが可能な構成となっている。
【0056】
以下、1タイルを8×8画素とし、画像の拡大を例にとって拡大・縮小器10について説明する。図11は、拡大・縮小器10における主走査方向に2倍副走査方向に2倍の拡大処理を行った場合の一例を説明するためのフローチャートである。また、図12に、画像データを主走査方向に2倍、副走査方向に2倍にする処理における拡大前の画像データと拡大後の画像データの一部を表した一例を示す。
【0057】
ステップS1では、1ページメモリ制御部13が、入力された1ページ分の画像データを1ページメモリ2に格納する。
【0058】
ステップS1に引き続きステップS2に進み、ステップS2では、1ページメモリ制御部13が指定したタイル単位の画像データをタイルメモリ3に格納する。
【0059】
例えば、拡大が主走査方向に2倍、副走査方向に2倍であった場合、拡大後の画像範囲を8×8画素にする必要があるときは、4×4画素分のデータが必要となり、タイルメモリ3に格納するタイル数は1タイルとなる。
【0060】
図12の(A)は、原画像データから読み込まれた拡大・縮小前タイルデータ格納メモリ12内の8×8画素の画像データを表している。
【0061】
ステップS2に引き続きステップS3に進み、ステップS3では、アドレス制御部4が拡大・縮小器制御部20より指定された主走査・副走査方向の拡大率の情報とタイル数の情報とに基づき、タイルメモリ3の読み出しアドレスアドレスを指定する。
【0062】
例えば、拡大が主走査方向に2倍、副走査方向に2倍であって、処理済のタイル数が1つも無い場合は、拡大処理は対象となるタイルデータでは始めてであると判定し、必要な画像データは、8×8画素のうちの左上隅の1/4画素となる。したがって、図12に示すが如く、8×8画素のタイルにおける主走査方向の1ライン目のアドレスを“1”から“8”、2ライン目のアドレスを“9”から“16”、・・・、最後のライン目のアドレスを“57”から“64”とすると、今回の拡大処理において必要なアドレスは“1”から“4”、“9”から“12”、“17”から“20”、“25”から“28”の計16アドレスとなる。
【0063】
図12の(A)の(1)で、太枠で囲まれている範囲が今回の処理対象となっている範囲である。
【0064】
ステップS3に引き続きステップS4に進み、ステップS4では、アドレス制御部4がステップS3において指定した読み出しアドレスに従って、指定したアドレスのデータを読み出す。
【0065】
ステップS4に引き続きステップS5に進み、ステップS5では、アドレス制御部4が拡大・縮小器制御部20より取得した主走査・副走査方向の拡大率の情報とタイル数の情報とに基づき、拡大・縮小後タイルメモリ5の書き込みアドレスを指定する。
【0066】
ステップS5に引き続きステップS6に進み、ステップS6では、アドレス制御部4がステップS5において指定した書き込みアドレスにステップS4において読み出したデータを拡大・縮小後タイルメモリ5に書き込む。
【0067】
図12の(B)は、拡大・縮小後タイルメモリ5内の画像データを表しており、図12の(B)の(1)は、図12の(A)の(1)の画像データを主走査方向に2倍、副走査方向に2倍して書き込んだ場合の画像データを表している。
【0068】
ステップS6に引き続きステップS7に進み、ステップS7では、対象としている画像データに対して指定された拡大率の処理を行ったかどうかを判定する。
【0069】
例えば図12の(A)の(1)を例に取った場合、1”から“4”、“9”から“12”、“17”から“20”、“25”から“28”の計16アドレス全てのアドレスからデータを読み取って、読み取ったデータを図12の(B)の(1)に示されるように書き込んだかどうかを判定する。
所定のデータ全てに拡大処理を行ったと判定すると(ステップS7においてYES)、ステップS8に進み、行っていないと判定すると(ステップS7においてNO)、ステップS3に戻り、ステップS4からステップS6の処理を繰り返す。
【0070】
ステップS8では、拡大処理によって、タイル単位となった拡大後の画像データを拡大・縮小後1ページメモリ制御部18の指定に従って、拡大・縮小後1ページメモリ6に格納する。
【0071】
ステップS8に引き続き、ステップS9に進み、ステップS9では、処理対象のタイルデータの全てに範囲拡大処理を行ったかどうかを判定する。
【0072】
例えば図12の(A)の(1)を例に取った場合、タイルメモリ3に格納された1タイル分の画像データ全てに主走査方向に2倍、副走査方向に2倍の拡大処理を行ったかどうかを判定する。
【0073】
拡大処理を行ったと判定すると(ステップS9においてYES)、ステップS10に進み、拡大処理を行っていないと判定すると(ステップS9においてNO)、ステップS3に戻り、ステップS3からステップS8の処理を繰り返す。
【0074】
ここで、拡大処理を行っていないと判定されてステップS3に進んだ場合は、再びアドレス制御部4が拡大・縮小器制御部20より渡された情報に基づきタイルメモリ3の読み出しアドレスアドレスを指定する。今回は、主走査方向に2倍、副走査方向に2倍した処理済の拡大後のタイル数が1つあるため、タイルメモリ3において対象となる画像データは、8×8画素のうちの右上隅の1/4画素となる。したがって、今回の拡大処理に必要なアドレスは、“5”から“8”、“13”から“16”、“21”から“24”、“29”から“32”の計16アドレスとなる。以後同様に、8×8画素のうちの、左下隅の1/4画素、右下隅の1/4画素と処理を繰り返すことによって、処理対象のタイルデータの全ての範囲に拡大処理が行われる。
【0075】
ステップS10では、1ページ分の全画像データ中、処理対象となる範囲全てに拡大処理を行ったかどうかを判定する。行ったと判定すると(ステップS10においてYES)、ステップS11に進み、行っていないと判定すると(ステップS10においてNO)、ステップS2に戻り、ステップS2からステップS9の処理を繰り返す。
【0076】
ステップS11では、拡大・縮小後1ページメモリ制御部18が、拡大・縮小後1ページメモリ6に格納された1ページ分の拡大処理後の画像データを読み出し、出力データI/Fを用いて出力する。
【0077】
次に、画像の縮小を例にとって拡大・縮小器10について説明する。図13は、拡大・縮小器10における主走査方向に1/2倍副走査方向に1/2倍の縮小処理を行った場合の一例を説明するためのフローチャートである。また、図14に、画像データを主走査方向に1/2倍、副走査方向に1/2倍にする処理における縮小前の画像データと縮小後の画像データの一部を表した一例を示す。
【0078】
ステップS21では、1ページメモリ制御部13が、入力された1ページ分の画像データを1ページメモリ2に格納する。
【0079】
ステップS21に引き続きステップS22に進み、ステップS22では、1ページメモリ制御部13が指定したタイル単位の画像データをタイルメモリ3に格納する。
【0080】
図14の(A)の(1)は、原画像データから読み込まれた拡大・縮小前タイルデータ格納メモリ12内の8×8画素の画像データを表している。
【0081】
ステップS22に引き続きステップS23に進み、ステップS23では、アドレス制御部4が拡大・縮小器制御部20より指定された主走査・副走査方向の縮小率の情報とタイル数の情報とに基づき、タイルメモリ3の読み出しアドレスアドレスを指定する。
【0082】
例えば、縮小が主走査方向に1/2倍、副走査方向に1/2倍であって、処理済のタイル数が1つも無い場合は、縮小処理は対象となるタイルデータでは始めてであると判定し、必要な画像データは、8×8画素全体となる。したがって、図14に示すが如く、8×8画素のタイルにおける主走査方向の1ライン目のアドレスを“1”から“8”、2ライン目のアドレスを“9”から“16”、・・・、最後のライン目のアドレスを“57”から“64”とすると、今回の縮小処理において必要なアドレスは“1”、“3”、“5”、“8”、“17”、“19”、“21”、“24”、“33”、“35”、“37”、“39”、“49”、“51”、“53”、“55”の計16アドレスとなる。
【0083】
ステップS23に引き続きステップS24に進み、ステップS24では、アドレス制御部4がステップS23において指定した読み出しアドレスに従って、指定したアドレスのデータを読み出す。
【0084】
ステップS24に引き続きステップS25に進み、ステップS25では、アドレス制御部4が拡大・縮小器制御部20より取得した主走査・副走査方向の縮小率の情報とタイル数の情報とに基づき、拡大・縮小後タイルメモリ5の書き込みアドレスを指定する。
【0085】
ステップS25に引き続きステップS26に進み、ステップS26では、アドレス制御部4がステップS25において指定した書き込みアドレスにステップS24において読み出したデータを拡大・縮小後タイルメモリ5に書き込む。
【0086】
図14の(B)は、拡大・縮小後タイルメモリ5内の画像データを表しており、図14の(B)の(1)は、図14の(A)の(1)の画像データを主走査方向に1/2倍、副走査方向に1/2倍にして書き込んだ場合の画像データを表している。
【0087】
ステップS26に引き続きステップS27に進み、ステップS27では、対象としているタイル単位のデータに対して指定された縮小率の処理を行ったかどうかを判定する。
【0088】
例えば、図14の(A)の(1)を例に取った場合、“1”、“3”、“5”、“8”、“17”、“19”、“21”、“24”、“33”、“35”、“37”、“39”、“49”、“51”、“53”、“55”の計16アドレス全てのアドレスからデータを読み取って、読み取ったデータを図12の(B)の(1)に示されるように書き込んだかどうかを判定する。
【0089】
所定の縮小率まで処理を行ったと判定すると(ステップS27においてYES)、ステップS28に進み、行っていないと判定すると(ステップS27においてNO)、ステップS24に戻り、ステップS24からステップS26の処理を繰り返す。
【0090】
ステップS28では、縮小処理後のデータが1タイル分あるかどうかを判定する。例えば、図14の(B)を例に取ると、8×8画素つまり、縮小後のデータが1タイル分あるかどうかを判定する。
【0091】
1タイル分あると判定すると(ステップS28においてYES)、ステップS29に進み、1タイル分ないと判定すると(ステップS28においてNO)、ステップS22に戻り、ステップS22からステップS27の処理を繰り返す。
【0092】
ここで、1タイル分ないと判定してステップS22に進んだ場合は、再び1ページメモリ制御部13が指定したタイル単位の画像データをタイルメモリ3に格納する。例えば図14のBにおいて(1)の部分のデータしか存在していなかった場合、図14のBの(2)に対応する部分、つまり、図14のAの(2)の画像データが、タイルメモリ3に格納される。
【0093】
ステップS29では、縮小処理によって、1タイル分となった縮小後の画像データを拡大・縮小後1ページメモリ制御部18の指定に従って、拡大・縮小後1ページメモリ6に格納する。
【0094】
ステップS29に引き続き、ステップS30に進み、ステップS30では、1ページ分の全画像データ中、処理対象となるタイルデータ全てに縮小処理を行ったかどうかを判定する。行ったと判定すると(ステップS30においてYES)、ステップS31に進み、縮小処理を行っていないと判定すると(ステップS30においてNO)、ステップS22に戻り、ステップS22からステップS29の処理を繰り返す。
【0095】
ステップS31では、拡大・縮小後1ページメモリ制御部18が、拡大・縮小後1ページメモリ6に格納された1ページ分の拡大処理後の画像データを読み出し、出力データI/Fを用いて出力する。
【0096】
本発明は、タイル単位で拡大率及び/又は縮小率を設定することでタイルごとに拡大率及び/又は縮小率を変更することができる。
【0097】
本発明は、タイルの大きさを8×8画素の大きさに限らない。1タイルを構成する画素は縦横共に任意の数値を取ってもよい。
【0098】
【発明の効果】
上述の如く、本発明によれば記憶領域の増大化を抑え、画像の拡大又は縮小の処理を行う画像処理装置を提供することができる。
【0099】
【図面の簡単な説明】
【図1】ライン単位で画像データにアクセスするための画像データの構成の一例を示す図である。
【図2】タイル単位で画像データにアクセスするための画像データの構成の一例を示す図である。
【図3】タイル単位の画像データのアクセス順序を説明するための図である。
【図4】タイル単位で画像の拡大・縮小を行う拡大・縮小器を説明のために簡略化して表した図である。
【図5】画像データ縮小処理実行時のタイルアクセスの順序を説明するための図である。
【図6】画像データ全体に対して主走査・副走査両方向に1/2の縮小を行った場合のタイルアクセスの順番を示した図である。
【図7】画像データ拡大処理実行時のタイルアクセスの順序を説明するための図である。
【図8】画像データ全体に対して主走査・副走査両方向に2/1の拡大を行った場合のタイルアクセスの順番を示した図である。
【図9】拡大・縮小器の詳細な図である。
【図10】拡大・縮小前タイルデータ格納メモリのメモリ構成の一例を示す図である。
【図11】拡大・縮小器における主走査方向に2倍、副走査方向に2倍の拡大処理を行った場合の一例を説明するためのフローチャートである。
【図12】画像データを主走査方向に2倍、副走査方向に2倍に拡大する処理における拡大前の画像データと拡大後の画像データの一部を表した図である。
【図13】拡大・縮小器における主走査方向に1/2倍、副走査方向に1/2倍の縮小処理を行った場合の一例を説明するためのフローチャートである。
【図14】画像データを主走査方向に1/2倍、副走査方向に1/2倍に縮小する処理における縮小前の画像データと縮小後の画像データの一部を表した図である。
【符号の説明】
2  1ページメモリ
3  タイルメモリ
4  アドレス制御部
5  拡大・縮小後タイルメモリ
6  拡大・縮小後1ページメモリ
10  拡大・縮小器
13  1ページメモリ制御部
18  拡大・縮小後1ページメモリ制御部
20  拡大・縮小器制御部
21  タイルカウンタ
22  画素ブロックカウンタ
23  処理対象主走査タイル数設定レジスタ
24  処理対象副走査タイル数設定レジスタ
25  拡大・縮小後主走査タイル数設定レジスタ
26  拡大・縮小後副走査タイル数設定レジスタ
27  主走査方向拡大・縮小率設定レジスタ
28  副走査方向拡大・縮小率設定レジスタ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an image processing apparatus, and more particularly to an image processing apparatus that enlarges or reduces an image.
[0002]
[Prior art]
2. Description of the Related Art In recent years, image processing apparatuses that perform image enlargement / reduction processing are known. The image processing apparatus accesses image data line by line and performs image enlargement / reduction processing. FIG. 1 shows an example of the configuration of image data for accessing image data in line units.
[0003]
When trying to enlarge or reduce the image data of a specific portion (hatched portion A in FIG. 1) of all the image data, the image data for a plurality of lines including the specific portion is once written in the storage area. Thereafter, image data of a specific portion is read from the image data for a plurality of lines written in the storage area, and enlargement / reduction processing is performed on the read image data of the specific portion.
[0004]
[Problems to be solved by the invention]
However, according to the conventional method, the storage area for storing the image data of the specific portion depends on the number of lines to be read, and the storage area increases as the density of the image data increases.
[0005]
SUMMARY An advantage of some aspects of the invention is to provide an image processing apparatus that suppresses an increase in a storage area and performs an image enlargement or reduction process.
[0006]
[Means for Solving the Problems]
Therefore, in order to solve the above problem, the invention according to claim 1 converts an image composed of m × n (where m and n are natural numbers equal to or greater than 1) pixels s × t (where s, t). Is an image processing device that enlarges the image by a factor of 1 or more, wherein the image is divided into rectangular regions each having a × b (where 0 <a <= m, 0 <b <= n) pixels. Then, a first storage device that stores the pixels of the one rectangular region, and the pixels of the rectangular region stored in the first storage device are read out for each 1 / (s × t) region, and the enlarged A second storage device for storing an image.
[0007]
Further, according to the invention of claim 2, the image composed of m × n pixels (where m and n are natural numbers of 1 or more) is defined as 1 / (s × t) (where s and t are 1 or more). An image processing apparatus that reduces the image by a factor of (a natural number), wherein the image is divided into rectangular regions having a × b (where 0 <a <= m, 0 <b <= n) pixels, A third storage device for storing the pixels of the one rectangular region, and reading the pixels of the rectangular region stored in the third storage device and storing the reduced image for each 1 / (s × t) region And a fourth storage device.
[0008]
Further, the invention according to claim 3 is characterized in that the values of s and t are set for each of the rectangular areas.
[0009]
According to a fourth aspect of the present invention, in order to process the image for each of the rectangular areas, a rectangular area counter for counting the number of processed rectangular areas, and a pixel of the rectangular area being a 1 / (s × t) area And a register for setting the number of rectangular areas to be enlarged or reduced, and a register for setting the number of rectangular areas after enlargement or reduction.
[0010]
The invention according to claim 5 is characterized in that enlargement or reduction processing specified by JPEG is performed.
[0011]
According to the first aspect of the present invention, an image composed of m × n pixels (where m and n are natural numbers of 1 or more) is multiplied by s × t (where s and t are natural numbers of 1 or more). An image processing apparatus that divides the image into rectangular regions each having a × b (where 0 <a <= m, 0 <b <= n) pixels, and forms one rectangular A first storage device that stores the pixels of the region; and a second storage device that reads out the pixels of the rectangular region stored in the first storage device for each 1 / (s × t) region and stores the enlarged image. By providing the image processing apparatus, it is possible to provide an image processing apparatus that suppresses an increase in a storage area and performs an image enlargement process.
[0012]
According to the second aspect of the present invention, an image composed of m × n pixels (where m and n are natural numbers of 1 or more) is 1 / (s × t) (where s and t are 1 or more). An image processing apparatus that reduces the image by a factor of (a natural number), wherein the image is divided into rectangular regions having a × b (where 0 <a <= m, 0 <b <= n) pixels, A third storage device for storing the pixels of the one rectangular region, and reading the pixels of the rectangular region stored in the third storage device and storing the reduced image for each 1 / (s × t) region With this configuration, it is possible to provide an image processing apparatus that suppresses an increase in storage area and performs image reduction processing. The third storage device may be the same as the first storage device, and the fourth storage device may be the same as the second storage device.
[0013]
According to the third aspect of the present invention, by setting the values of s and t for each of the rectangular areas, it is possible to set an enlargement or reduction ratio for each of the rectangular areas, and enlarge or reduce each of the rectangular areas. it can.
[0014]
According to the invention described in claim 4, in order to process the image for each of the rectangular areas, a rectangular area counter for counting the number of processed rectangular areas, and a pixel of the rectangular area is set to a 1 / (s × t) area. By having at least one of a pixel block counter that counts each time, a register that sets the number of rectangular areas to be enlarged or reduced, and a register that sets the number of rectangular areas after being enlarged or reduced, Can be enlarged or reduced.
[0015]
According to the fifth aspect of the present invention, by using the image processing device for the enlargement or reduction processing specified by JPEG, the increase in the storage area is suppressed, and the processing for enlarging or reducing the image specified by JPEG is performed. be able to.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 2 is a diagram illustrating an example of a configuration of image data for accessing image data in tile units. In the description of the embodiment of the present invention, 8 × 8 pixels will be described as one tile. According to the present invention, image data is stored in a temporary storage area in tile units, and subsequent enlargement / reduction processing is performed. FIG. 2 shows a configuration necessary for the description, and a configuration unnecessary for the description is omitted. The same applies to the following drawings.
[0017]
FIG. 3 is a diagram for explaining an access order of image data in tile units. The numbers in the tiles indicate the access order of the tiles, and show an example in which 100 tiles exist in the main scanning direction. One tile is composed of 8 × 8 pixels as described above. Image scaling processing such as enlargement / reduction described later is performed in the order of the read tiles.
[0018]
FIG. 4 is a diagram schematically illustrating an enlarger / reducer 10 that enlarges / reduces an image in tile units for the sake of explanation. A detailed description of the enlargement / reduction unit 10 will be given with reference to FIG.
[0019]
The enlarger / reducer 10 includes a one-page memory 2, a tile memory 3, an address control unit 4, an enlarged / reduced tile memory 5, and an enlarged / reduced one-page memory 6.
[0020]
First, each function will be described taking the case of enlargement processing as an example. One page memory 2 stores all image data for one page, and the tile memory 3 stores the image data in tile units by accessing in tile units.
[0021]
The image data stored in the tile memory 3 on a tile-by-tile basis is read out by the address control unit 4 according to the enlargement ratio, and is stored in the tile memory 5 after enlargement / reduction.
[0022]
The image data stored in the tile memory 5 after the enlargement / reduction is stored in the one-page memory 6 after the enlargement / reduction by access in units of tiles.
[0023]
When the image data stored in the one-page memory 6 after the enlargement / reduction is stored for one page of the image data stored in the one-page memory 2, the image data is stored as the enlarged image data. It is output from the enlargement / reduction unit 10.
[0024]
Next, each function will be described taking a case of a reduction process as an example. The one-page memory 2 stores all image data for one page in the same manner as described above, and the tile-based image data is stored in the tile memory 3 by accessing in units of tiles.
[0025]
The image data stored in the tile memory 3 on a tile-by-tile basis is read out by the address control unit 4 in accordance with the reduction ratio, and is stored in the tile memory 5 after enlargement / reduction.
[0026]
The image data stored in the tile memory 5 after enlargement / reduction is stored in the memory in units of blocks corresponding to the reduction ratio, and is stored in the one-page memory 6 after enlargement / reduction by access in units of tiles.
[0027]
When the image data stored in the one-page memory 6 after the enlargement / reduction is stored as the reduced image data of the one-page image data stored in the one-page memory 2, the reduced image data is It is output from the enlargement / reduction unit 10.
[0028]
An example in which one page of image data stored in the one-page memory 2 is accessed in tile units and stored in the tile memory 3 will be described below.
[0029]
FIG. 5 is a diagram for explaining the order of tile access when performing image data reduction processing. FIG. 5A shows the order of tile access when two tiles arranged in the main scanning direction are reduced by 縮小 in the main scanning direction. By reducing the number of pixels of each tile when storing it, a reduction of 1 / in the main scanning direction is performed. FIG. 5B shows the order of tile access when two tiles arranged in the sub-scanning direction are reduced by 1 / in the sub-scanning direction. By reducing the number of lines when storing the lines for each tile, a reduction of 1 / is performed in the sub-scanning direction. FIG. 5C shows the order of tile access when main scanning and sub-scanning are performed, and 縮小 reduction is performed in both directions. Each tile is thinned out for each line and pixel at the time of storage, thereby reducing the size by 主 in both the main scanning and sub-scanning directions. Note that, instead of thinning out at the time of storage, the pixels of each tile may be thinned out and read out.
[0030]
FIG. 6 is a diagram showing the order of tile access when the entire image data is reduced by に in both the main scanning and sub-scanning directions. The entire image data for one page stored in the one-page memory 2 is repeatedly accessed in the main scanning direction by 2 × 2 tile access, and is accessed in the sub-scanning direction at the end of the main scanning.
[0031]
FIG. 7 is a diagram for explaining the order of tile access when executing the image data enlargement process. FIG. 7A shows an example in which one tile is accessed twice to enlarge 2/1 in the main scanning direction. By successively storing the pixels of each tile horizontally, a 2/1 enlargement is performed in the main scanning direction. FIG. 7B shows an example in which one tile is accessed twice to enlarge the image by 2/1 in the sub-scanning direction. By successively storing the pixels vertically, 2/1 enlargement is performed in the sub-scanning direction. FIG. 7C shows an example in which one tile is accessed four times to perform main scanning and sub-scanning and enlargement by 2/1 in both directions. The pixels of each tile are stored vertically and horizontally continuously, and main scanning and sub-scanning are performed, and enlargement by 2/1 is performed in both directions. Note that the enlargement may be performed by storing a plurality of pixels read in one access consecutively without accessing each pixel a plurality of times.
[0032]
Here, taking the example of FIG. 7 (C) as an example, the address control unit 4 performs the main scanning and the sub-scanning, and when performing the enlargement of 2/1 in both directions, the tile unit stored in the tile memory 3 Is divided into four image blocks, each of which is a set of 4 × 4 pixels, and an enlargement process is performed by accessing each divided image block.
[0033]
FIG. 8 is a diagram showing the order of tile access when the entire image data is enlarged by 2/1 in both the main scanning and sub-scanning directions. The numbers in the tiles indicate the access order of the tiles.
[0034]
As described above, the entire image data of one page shown in FIG. 8 stored in the one-page memory 2 is obtained by dividing one tile by 1 / two in the main scanning direction and twice in the sub-scanning direction. It is divided into four. Image data for one tile is accessed for each of the divided image blocks and stored in the tile memory 3.
[0035]
FIG. 9 shows a detailed diagram of the enlarging / reducing device 10. 4 are given the same names.
[0036]
9 includes a one-page memory 2, a one-page memory control unit 13, a tile memory 3, an address control unit 4, a tile memory 5 after enlargement / reduction, and one page after enlargement / reduction. The memory 6, the enlarged / reduced one-page memory control unit 18, the enlargement / reduction unit control unit 20, the tile counter 21, the pixel block counter 22, the processing target main scanning tile number setting register 23, Scanning tile number setting register 24, enlarged / reduced main scanning tile number setting register 25, enlarged / reduced main scanning tile number setting register 26, main scanning direction enlargement / reduction ratio setting register 27, sub-scanning direction enlargement A reduction rate setting register 28;
[0037]
The one-page memory 2 is controlled by a one-page memory control unit 13 described later, and stores all image data of one page input using the input image data I / F in the memory.
[0038]
The one-page memory control unit 13 controls the one-page memory 2 and stores all image data of one page input using the input image data I / F in the one-page memory 2, while enlarging / deleting data to be described later. The tile data to be processed notified from the reducer control unit 20 is read from the one-page memory 2 and stored in the tile memory 3 described later.
[0039]
In the tile memory 3, the image data in the one-page memory 2 is stored in the memory in tile units by the one-page memory control unit 13.
[0040]
The address control unit 4 reads out the tile memory 3 based on the information of the enlargement / reduction ratio in the main scanning / sub-scanning direction notified from the enlargement / reduction unit control unit 20 described later and the position information of the tile to be processed. An address and a write address of the enlarged / reduced tile memory 5 described later are specified. Further, data is read from the specified read address of the tile memory 3, and the data is written to the specified write address of the enlarged / reduced tile memory 5 described later.
[0041]
The enlarged / reduced tile memory 5 stores the data read from the tile memory 3 by the address control unit 4 at the write address specified by the address control unit 4. Further, the image data in tile units is read out by the after-enlargement / reduction one-page memory control unit 18 and stored in the after-expansion / reduction one-page memory 6.
[0042]
The enlarged / reduced one-page memory 6 stores the image data stored in the enlarged / reduced tile memory 5 in tile units in tile units in accordance with the designation of the enlarged / reduced one-page memory controller 18 described later. Is stored.
[0043]
The enlarged / reduced one-page memory control unit 18 converts the image data stored in the enlarged / reduced tile memory 5 into the enlarged / reduced tile memory 5 in accordance with a designation of an enlarging / reducing unit control unit 20 described later. 5 is written to the one-page data storage memory 17 after the enlargement / reduction. Further, in accordance with the designation of the enlargement / reduction unit control unit 20 described later, the image data for one page in the one-page memory 6 is read out after the enlargement / reduction, and output using the output data I / F.
[0044]
The enlargement / reduction device control unit 20 includes a processing target main scanning tile number setting register 23, a processing target sub-scanning tile number setting register 24, an enlarged / reduced main scanning tile number setting register 25, and an enlarged / reduced sub-scanning tile number setting. A register 26, a main scanning direction enlargement / reduction ratio setting register 27, and a sub-scanning direction enlargement / reduction ratio setting register 28 determine the number of main scanning tiles to be enlarged / reduced before the enlargement / reduction, Number of sub-scan tiles to be processed before enlargement / reduction, number of main scan tiles after enlargement / reduction, number of sub-scan tiles after enlargement / reduction, enlargement / reduction ratio in the main scan direction, and enlargement in the sub-scan direction -Acquire information on reduction ratio.
[0045]
The tile counter 21 counts the tiles when the enlargement or reduction processing of the tile currently being processed is completed by the enlargement / reduction unit control unit 20 and information indicating that the next tile is to be processed is transmitted. Up, and notifies the enlargement / reduction unit control unit 20 of the count information of the counted up tile.
[0046]
The pixel block counter 22 obtains the main data acquired from the enlargement / reduction unit control unit 20 by the enlargement / reduction unit control unit 20 from the main scanning direction enlargement / reduction ratio setting register 27 and the sub-scanning direction enlargement / reduction ratio setting register 28. Obtain information on the enlargement / reduction rate in the scanning direction, information on the enlargement / reduction rate in the sub-scanning direction and the processed pixel block, etc., count up the Gazo block, and count the count information of the counted up pixel block. The enlargement / reduction unit control unit 20 is notified.
[0047]
Hereinafter, the operation of each component of the enlargement / reduction unit 10 will be described by taking an example of an image enlargement process.
[0048]
When performing image enlargement processing, image data in tile units to be processed is read out from image data for one page written in the one-page memory 2 according to the control of the one-page memory control unit 13. , Stored in the tile memory 3.
[0049]
Here, the one-page memory control unit 13 is controlled by the enlargement / reduction unit control unit 20, and the enlargement / reduction unit control unit 20 includes the tile counter 21, the main scanning tile number setting register to be processed. 23, based on information obtained from the processing target sub-scanning tile number setting register 24 and the like, designates image data in tile units to be read from the one-page memory 2 to the enlargement / reduction unit control unit 20. I do.
[0050]
The image data of the tile unit stored in the tile memory 3 is read from the read address specified by the address control unit 4, and the enlargement / reduction is performed according to the write address specified by the address control unit 4. After that, it is written to the tile memory 5.
[0051]
Here, the address control unit 4 is controlled by the enlargement / reduction unit control unit 20, and the enlargement / reduction unit control unit 20 includes the pixel number counter 22, the number of main scanning tiles after enlargement / reduction. The address control unit 4 is controlled by the address control unit 4 based on information acquired from a register 25, a post-enlargement / reduction sub-scan tile number setting register 26, a main scanning direction enlargement / reduction ratio setting register 27, a sub-scanning direction enlargement / reduction ratio setting register, and the like. On the other hand, a read address to be read from the tile memory 3, a read number, and a write address to be written to the enlarged / reduced tile memory 5 are specified.
[0052]
The enlarged image data of one tile written in the enlarged / reduced tile memory 5 is read out in tile units under the control of the enlarged / reduced one-page memory control unit 18. The data is stored in the one page memory 6.
[0053]
Here, the one-page memory control unit 18 after the enlargement / reduction is controlled by the enlargement / reduction unit control unit 20, and the enlargement / reduction unit control unit 20 includes a tile counter 21, Based on the information acquired from the scanning tile number setting register 25 and the enlarged / reduced sub-scanning tile number setting register 26, etc., the enlarged / reduced one page memory control unit 18 is provided with the enlarged / reduced tile data storage memory. Specifies the writing position of the image data in tile units read from the first page memory 6 after the enlargement / reduction.
[0054]
If the enlarged image data of the one-page memory 6 after the enlargement / reduction has the data amount designated by the one-page memory controller 18 after the enlargement / reduction, the one-page memory controller 18 after the enlargement / reduction is And image data using the output data I / F.
[0055]
FIG. 10 shows an example of the address configuration of the tile memory 3. The numbers in the memory indicate addresses, and have a configuration capable of holding 64 pixels.
[0056]
Hereinafter, the enlargement / reduction device 10 will be described by taking one tile as 8 × 8 pixels and enlarging an image as an example. FIG. 11 is a flowchart for explaining an example of a case where the enlargement / reduction unit 10 performs the enlargement process twice in the main scanning direction and twice in the sub-scanning direction. FIG. 12 shows an example of a part of the image data before enlargement and a part of the image data after enlargement in the process of doubling the image data in the main scanning direction and doubling in the sub-scanning direction.
[0057]
In step S1, the one-page memory control unit 13 stores the input one-page image data in the one-page memory 2.
[0058]
After step S1, the process proceeds to step S2. In step S2, the image data in tile units designated by the one-page memory control unit 13 is stored in the tile memory 3.
[0059]
For example, if the enlargement is twice as large in the main scanning direction and twice as much in the sub-scanning direction, and if the image range after the enlargement needs to be 8 × 8 pixels, data for 4 × 4 pixels is needed. , The number of tiles stored in the tile memory 3 is one tile.
[0060]
FIG. 12A shows image data of 8 × 8 pixels in the tile data storage memory before enlargement / reduction 12 read from the original image data.
[0061]
Proceeding to step S3 following step S2, in step S3, the address control unit 4 determines the tile size based on the information of the enlargement ratio in the main scanning / sub-scanning direction designated by the enlargement / reduction unit control unit 20 and the information of the number of tiles. The read address of the memory 3 is specified.
[0062]
For example, if the enlargement is twice as large in the main scanning direction and twice as much in the sub-scanning direction and there is no processed tile, it is determined that the enlargement processing is the first for the target tile data, The image data is 1 / pixel at the upper left corner of 8 × 8 pixels. Therefore, as shown in FIG. 12, the address of the first line in the main scanning direction in the tile of 8 × 8 pixels is “1” to “8”, the address of the second line is “9” to “16”,. Assuming that the address of the last line is from “57” to “64”, the addresses required in this enlargement processing are “1” to “4”, “9” to “12”, and “17” to “20”. "," 25 "to" 28 ", for a total of 16 addresses.
[0063]
In (1) of FIG. 12A, a range surrounded by a thick frame is a range to be processed this time.
[0064]
Proceeding to step S4 following step S3, in step S4, the address control unit 4 reads data at the specified address according to the read address specified in step S3.
[0065]
Proceeding to step S5 following step S4, in step S5, the address control unit 4 performs the enlargement / reduction based on the information on the enlargement ratio in the main scanning / sub-scanning direction acquired from the enlargement / reduction unit control unit 20 and the information on the number of tiles. A write address of the tile memory 5 after the reduction is designated.
[0066]
Proceeding to step S6 following step S5, in step S6, the address control unit 4 writes the data read in step S4 to the tile memory 5 after enlargement / reduction at the write address specified in step S5.
[0067]
FIG. 12B shows the image data in the tile memory 5 after the enlargement / reduction, and FIG. 12B (1) shows the image data of FIG. 12A (1). It shows image data when writing is performed twice in the main scanning direction and twice in the sub-scanning direction.
[0068]
After step S6, the process proceeds to step S7, in which it is determined whether or not the processing of the designated enlargement ratio has been performed on the target image data.
[0069]
For example, when (1) in FIG. 12A is taken as an example, a total of “1” to “4”, “9” to “12”, “17” to “20”, and “25” to “28” Data is read from all 16 addresses, and it is determined whether the read data has been written as shown in (1) of FIG. 12B.
If it is determined that the enlargement process has been performed on all the predetermined data (YES in step S7), the process proceeds to step S8, and if it is determined that the process has not been performed (NO in step S7), the process returns to step S3, and the processes from step S4 to step S6 are performed. repeat.
[0070]
In step S8, the enlarged image data in tile units is stored in the enlarged / reduced one-page memory 6 in accordance with the designation of the enlarged / reduced one-page memory controller 18 by the enlargement processing.
[0071]
After step S8, the process proceeds to step S9. In step S9, it is determined whether the range expansion process has been performed on all of the tile data to be processed.
[0072]
For example, when (1) in FIG. 12A is taken as an example, enlargement processing of twice in the main scanning direction and twice in the sub-scanning direction is performed on all image data of one tile stored in the tile memory 3. It is determined whether or not it has been performed.
[0073]
If it is determined that the enlargement process has been performed (YES in step S9), the process proceeds to step S10, and if it is determined that the enlargement process has not been performed (NO in step S9), the process returns to step S3, and the processes from step S3 to step S8 are repeated.
[0074]
If it is determined that the enlargement process has not been performed and the process proceeds to step S3, the address control unit 4 again specifies the read address of the tile memory 3 based on the information passed from the enlargement / reduction unit control unit 20. I do. In this case, since there is one processed and enlarged tile number which is doubled in the main scanning direction and doubled in the sub-scanning direction, the target image data in the tile memory 3 is the upper right of 8 × 8 pixels. This is 1/4 pixel at the corner. Therefore, the addresses required for the current enlargement process are a total of 16 addresses from “5” to “8”, “13” to “16”, “21” to “24”, and “29” to “32”. Thereafter, similarly, by repeating the processing for the lower left corner 8 pixel and the lower right corner 8 pixel of the 8 × 8 pixels, the enlargement processing is performed on the entire range of the tile data to be processed.
[0075]
In step S10, it is determined whether or not enlargement processing has been performed on the entire processing target range in all image data of one page. If it is determined that the process has been performed (YES in step S10), the process proceeds to step S11. If it is determined that the process has not been performed (NO in step S10), the process returns to step S2, and the processes from step S2 to step S9 are repeated.
[0076]
In step S11, the post-enlargement / reduction one-page memory control unit 18 reads out the image data of one page after the enlargement / reduction processing stored in the post-enlargement / reduction one-page memory 6 and outputs the image data using the output data I / F. I do.
[0077]
Next, the enlargement / reduction unit 10 will be described by taking an example of image reduction. FIG. 13 is a flowchart for explaining an example of a case where the enlargement / reduction unit 10 performs a reduction process of 1/2 times in the main scanning direction and 1/2 times in the sub-scanning direction. FIG. 14 shows an example of a part of the image data before reduction and a part of the image data after reduction in the process of reducing the image data by 倍 in the main scanning direction and 倍 in the sub-scanning direction. .
[0078]
In step S21, the one-page memory control unit 13 stores the input image data of one page in the one-page memory 2.
[0079]
After step S21, the process proceeds to step S22. In step S22, the image data in tile units designated by the one-page memory control unit 13 is stored in the tile memory 3.
[0080]
(1) of FIG. 14A represents image data of 8 × 8 pixels in the tile data storage memory 12 before enlarged / reduced read from the original image data.
[0081]
Proceeding to step S23 following step S22, in step S23, the address control unit 4 sets the tiles based on the information on the reduction ratio in the main scanning / sub-scanning direction designated by the enlargement / reduction unit control unit 20 and the information on the number of tiles. The read address of the memory 3 is specified.
[0082]
For example, if the reduction is 倍 times in the main scanning direction and 縮小 times in the sub-scanning direction and there is no processed tile number, the reduction processing is considered to be the first for the target tile data. The image data necessary for the determination is the entire 8 × 8 pixel. Therefore, as shown in FIG. 14, the address of the first line in the main scanning direction in the tile of 8 × 8 pixels is “1” to “8”, the address of the second line is “9” to “16”,. If the address of the last line is changed from "57" to "64", the addresses required in the current reduction processing are "1", "3", "5", "8", "17", "19". , "21", "24", "33", "35", "37", "39", "49", "51", "53", and "55", for a total of 16 addresses.
[0083]
Proceeding to step S24 following step S23, in step S24, the address control unit 4 reads data at the specified address according to the read address specified in step S23.
[0084]
Proceeding to step S25 following step S24, in step S25, the address control unit 4 performs enlargement / reduction based on information on the reduction ratio in the main scanning / sub-scanning direction acquired from the enlargement / reduction unit control unit 20 and information on the number of tiles. A write address of the tile memory 5 after the reduction is designated.
[0085]
Proceeding to step S26 following step S25, in step S26, the address control unit 4 writes the data read in step S24 into the tile memory 5 after enlargement / reduction at the write address specified in step S25.
[0086]
FIG. 14B shows the image data in the tile memory 5 after the enlargement / reduction, and FIG. 14B (1) shows the image data of FIG. 14A (1). The image data is shown in a case where the data is written at 1/2 times in the main scanning direction and 1/2 times in the sub-scanning direction.
[0087]
After step S26, the process proceeds to step S27. In step S27, it is determined whether or not the processing of the specified reduction ratio has been performed on the target tile unit data.
[0088]
For example, when (1) in FIG. 14A is taken as an example, “1”, “3”, “5”, “8”, “17”, “19”, “21”, “24” , "33", "35", "37", "39", "49", "51", "53", "55", and reads the data from all 16 addresses. It is determined whether or not the data has been written as shown in (1) of (B) of FIG.
[0089]
If it is determined that the process has been performed up to the predetermined reduction ratio (YES in step S27), the process proceeds to step S28, and if it is determined that the process has not been performed (NO in step S27), the process returns to step S24, and the processes from step S24 to step S26 are repeated. .
[0090]
In step S28, it is determined whether there is one tile of data after the reduction processing. For example, taking (B) of FIG. 14 as an example, it is determined whether or not there are 8 × 8 pixels, that is, whether there is one tile of reduced data.
[0091]
If it is determined that there is one tile (YES in step S28), the process proceeds to step S29. If it is determined that there is not one tile (NO in step S28), the process returns to step S22, and the processes from step S22 to step S27 are repeated.
[0092]
Here, if it is determined that there is not one tile, and the process proceeds to step S22, the image data in tile units specified by the one page memory control unit 13 is stored in the tile memory 3 again. For example, when only the data of the portion (1) exists in B of FIG. 14, the portion corresponding to (2) of FIG. 14B, that is, the image data of (2) of FIG. Stored in the memory 3.
[0093]
In step S29, the reduced image data corresponding to one tile by the reduction processing is stored in the expanded / reduced one-page memory 6 in accordance with the specification of the expanded / reduced one-page memory controller 18.
[0094]
After step S29, the process proceeds to step S30. In step S30, it is determined whether or not the reduction processing has been performed on all the tile data to be processed in all the image data for one page. If it is determined that the process has been performed (YES in step S30), the process proceeds to step S31. If it is determined that the reduction process has not been performed (NO in step S30), the process returns to step S22, and the processes from step S22 to step S29 are repeated.
[0095]
In step S31, the post-enlargement / reduction one-page memory control unit 18 reads out the image data of one page after the enlargement / reduction processing stored in the post-enlargement / reduction one-page memory 6, and outputs the image data using the output data I / F. I do.
[0096]
According to the present invention, the enlargement ratio and / or reduction ratio can be changed for each tile by setting the enlargement ratio and / or reduction ratio for each tile.
[0097]
The present invention does not limit the size of the tile to the size of 8 × 8 pixels. The pixels constituting one tile may take any numerical value both vertically and horizontally.
[0098]
【The invention's effect】
As described above, according to the present invention, it is possible to provide an image processing apparatus that suppresses an increase in a storage area and performs processing for enlarging or reducing an image.
[0099]
[Brief description of the drawings]
FIG. 1 is a diagram showing an example of a configuration of image data for accessing image data in line units.
FIG. 2 is a diagram illustrating an example of a configuration of image data for accessing image data in tile units.
FIG. 3 is a diagram for describing an access order of image data in tile units.
FIG. 4 is a diagram schematically illustrating an enlarger / reducer for enlarging / reducing an image in tile units for the sake of explanation.
FIG. 5 is a diagram for explaining the order of tile access when executing image data reduction processing.
FIG. 6 is a diagram showing the order of tile access when the entire image data is reduced by に in both the main scanning and sub-scanning directions.
FIG. 7 is a diagram for explaining the order of tile access when performing image data enlargement processing.
FIG. 8 is a diagram showing the order of tile access when the entire image data is enlarged by 2/1 in both the main scanning direction and the sub-scanning direction.
FIG. 9 is a detailed diagram of an enlarger / reducer.
FIG. 10 is a diagram illustrating an example of a memory configuration of a tile data storage memory before enlargement / reduction.
FIG. 11 is a flowchart illustrating an example of a case where the enlargement / reduction device performs enlargement processing twice in the main scanning direction and twice in the sub-scanning direction.
FIG. 12 is a diagram illustrating a part of image data before enlargement and a part of image data after enlargement in a process of enlarging image data twice in the main scanning direction and twice in the sub-scanning direction.
FIG. 13 is a flowchart illustrating an example of a case where a reduction process of 1/2 times in a main scanning direction and 1/2 times in a sub-scanning direction is performed in an enlargement / reduction device.
FIG. 14 is a diagram showing a part of image data before reduction and a part of image data after reduction in a process of reducing image data by 倍 times in the main scanning direction and 1 / times in the sub scanning direction.
[Explanation of symbols]
2 1-page memory
3 tile memory
4 Address control unit
5. Tiled memory after scaling
6 One page memory after enlargement / reduction
10 Enlarger / reducer
13 1-page memory control unit
18 One-page memory controller after enlargement / reduction
20 Enlarger / reducer controller
21 tile counter
22 pixel block counter
23 Main scan tile number setting register for processing
24 Sub-scan tile number setting register to be processed
25 Main scan tile number setting register after enlargement / reduction
26 Subscanning tile number setting register after enlargement / reduction
27 Main scanning direction enlargement / reduction ratio setting register
28 Sub-scanning direction enlargement / reduction ratio setting register

Claims (5)

m×n(但し、m、nは1以上の自然数)個の画素から構成される画像をs×t(但し、s、tは1以上の自然数)倍に拡大する画像処理装置であって、
前記画像をa×b(但し、0<a<=m、0<b<=n)個の画素を有する矩形領域ごとに分割して、その1つの矩形領域の画素を記憶する第一記憶装置と、前記第一記憶装置に記憶された矩形領域の画素を1/(s×t)領域ごとに読み出して、拡大された前記画像を記憶する第二記憶装置とを有することを特徴とする画像処理装置。
An image processing apparatus that enlarges an image composed of m × n (where m and n are natural numbers of 1 or more) pixels s × t (where s and t are natural numbers of 1 or more) times,
A first storage device that divides the image into rectangular regions each having a × b (where 0 <a <= m and 0 <b <= n) pixels and stores the pixels of the one rectangular region And a second storage device that reads out the pixels of the rectangular region stored in the first storage device for each 1 / (s × t) region and stores the enlarged image. Processing equipment.
m×n(但し、m、nは1以上の自然数)個の画素から構成される画像を1/(s×t)(但し、s、tは1以上の自然数)倍に縮小する画像処理装置であって、
前記画像をa×b(但し、0<a<=m、0<b<=n)個の画素を有する矩形領域ごとに分割して、その1つの矩形領域の画素を記憶する第三記憶装置と、
前記第三記憶装置に記憶された矩形領域の画素を読み出して、縮小された前記画像を1/(s×t)領域ごとに記憶する第四記憶装置とを有することを特徴とする画像処理装置。
An image processing apparatus for reducing an image composed of m × n (where m and n are natural numbers of 1 or more) pixels by 1 / (s × t) (where s and t are natural numbers of 1 or more) And
A third storage device that divides the image into rectangular regions each having a × b (where 0 <a <= m, 0 <b <= n) pixels and stores the pixels of the one rectangular region When,
An image processing apparatus comprising: a fourth storage device that reads out pixels of a rectangular area stored in the third storage device and stores the reduced image for each 1 / (s × t) region. .
前記s及びtの値を、前記矩形領域ごとに設定することを特徴とする請求項1又は2記載の画像処理装置。3. The image processing apparatus according to claim 1, wherein the values of s and t are set for each of the rectangular areas. 前記画像を前記矩形領域ごとに処理するために、処理した矩形領域数をカウントする矩形領域カウンタと、
前記矩形領域の画素を1/(s×t)領域ごとにカウントする画素ブロックカウンタと、
拡大又は縮小対象の矩形領域数を設定するレジスタと、
拡大又は縮小後の矩形領域数を設定するレジスタとの内、
少なくとも1つを有することを特徴とする請求項1又は2記載の画像処理装置。
A rectangular area counter for counting the number of processed rectangular areas to process the image for each of the rectangular areas;
A pixel block counter for counting pixels in the rectangular area for each 1 / (s × t) area;
A register for setting the number of rectangular areas to be enlarged or reduced;
Of the registers that set the number of rectangular areas after enlargement or reduction,
3. The image processing apparatus according to claim 1, wherein the image processing apparatus includes at least one.
JPEGが規定する拡大又は縮小の処理を行うことを特徴とする請求項1又は2記載の画像処理装置。3. The image processing apparatus according to claim 1, wherein enlargement or reduction processing specified by JPEG is performed.
JP2002212299A 2002-07-22 2002-07-22 Image processor Pending JP2004056557A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002212299A JP2004056557A (en) 2002-07-22 2002-07-22 Image processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002212299A JP2004056557A (en) 2002-07-22 2002-07-22 Image processor

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007183403A Division JP4390822B2 (en) 2007-07-12 2007-07-12 Image processing device

Publications (1)

Publication Number Publication Date
JP2004056557A true JP2004056557A (en) 2004-02-19

Family

ID=31935268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002212299A Pending JP2004056557A (en) 2002-07-22 2002-07-22 Image processor

Country Status (1)

Country Link
JP (1) JP2004056557A (en)

Similar Documents

Publication Publication Date Title
JP3104868B2 (en) Image processing device
CN108537729B (en) Image stepless zooming method, computer device and computer readable storage medium
US5195174A (en) Image data processing apparatus capable of composing one image from a plurality of images
US6560686B1 (en) Memory device with variable bank partition architecture
JP2006203702A (en) Image forming apparatus
JP2004056557A (en) Image processor
JP4390822B2 (en) Image processing device
JP3154741B2 (en) Image processing apparatus and system
US5583955A (en) Image processing apparatus
JP3167684B2 (en) Context generation circuit and method for small screen
JP4316476B2 (en) Image processing apparatus and image forming apparatus
JPS63113770A (en) Image processing system
JP2001043359A (en) Image processor and method
JPH07129460A (en) Method and device for processing image
JPH0728991A (en) Data processing circuit using memory
JP2006338334A (en) Data processor and data processing method
JP3877054B2 (en) Image reduction scaling device
KR100617658B1 (en) Apparatus and method for outputting dispaly data
JPS5979673A (en) Expanding and contracting method of picture
JPH01114988A (en) Method for expanding and contracting image
JP2945028B2 (en) Image processing designated area information calculation device
JP2537851B2 (en) Image scaling processor
TW200933601A (en) An addresses mapping method for picture processing and a picture processing device
JP2005250996A (en) Image processor
JP2001203856A (en) Image processor and image input device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050719

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070416

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070713

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070726

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080321