JP2004056557A - Image processor - Google Patents
Image processor Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims description 50
- 238000010586 diagram Methods 0.000 description 20
- 239000003638 chemical reducing agent Substances 0.000 description 7
- 238000013500 data storage Methods 0.000 description 5
- 238000011946 reduction process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
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
[0007]
Further, according to the invention of
[0008]
Further, the invention according to
[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
[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
[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 /
[0019]
The enlarger /
[0020]
First, each function will be described taking the case of enlargement processing as an example. One
[0021]
The image data stored in the
[0022]
The image data stored in the
[0023]
When the image data stored in the one-
[0024]
Next, each function will be described taking a case of a reduction process as an example. The one-
[0025]
The image data stored in the
[0026]
The image data stored in the
[0027]
When the image data stored in the one-
[0028]
An example in which one page of image data stored in the one-
[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-
[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
[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-
[0035]
FIG. 9 shows a detailed diagram of the enlarging / reducing
[0036]
9 includes a one-
[0037]
The one-
[0038]
The one-page
[0039]
In the
[0040]
The
[0041]
The enlarged /
[0042]
The enlarged / reduced one-
[0043]
The enlarged / reduced one-page
[0044]
The enlargement / reduction
[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
[0046]
The
[0047]
Hereinafter, the operation of each component of the enlargement /
[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-
[0049]
Here, the one-page
[0050]
The image data of the tile unit stored in the
[0051]
Here, the
[0052]
The enlarged image data of one tile written in the enlarged /
[0053]
Here, the one-page
[0054]
If the enlarged image data of the one-
[0055]
FIG. 10 shows an example of the address configuration of the
[0056]
Hereinafter, the enlargement /
[0057]
In step S1, the one-page
[0058]
After step S1, the process proceeds to step S2. In step S2, the image data in tile units designated by the one-page
[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
[0060]
FIG. 12A shows image data of 8 × 8 pixels in the tile data storage memory before enlargement /
[0061]
Proceeding to step S3 following step S2, in step S3, the
[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
[0065]
Proceeding to step S5 following step S4, in step S5, the
[0066]
Proceeding to step S6 following step S5, in step S6, the
[0067]
FIG. 12B shows the image data in the
[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-
[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
[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
[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
[0077]
Next, the enlargement /
[0078]
In step S21, the one-page
[0079]
After step S21, the process proceeds to step S22. In step S22, the image data in tile units designated by the one-page
[0080]
(1) of FIG. 14A represents image data of 8 × 8 pixels in the tile
[0081]
Proceeding to step S23 following step S22, in step S23, the
[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
[0084]
Proceeding to step S25 following step S24, in step S25, the
[0085]
Proceeding to step S26 following step S25, in step S26, the
[0086]
FIG. 14B shows the image data in the
[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
[0093]
In step S29, the reduced image data corresponding to one tile by the reduction processing is stored in the expanded / reduced one-
[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
[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)
前記画像を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.
前記画像を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. .
前記矩形領域の画素を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.
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) |
-
2002
- 2002-07-22 JP JP2002212299A patent/JP2004056557A/en active Pending
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 |