(57)【特許請求の範囲】
【請求項１】
複数の縮小率で画像の解像度を縮小する変換装置であって、
前記画像を構成する複数の画素のそれぞれを示す複数の画素データのそれぞれをラスタスキャンの順番に従って１つずつ受け付け、予め決められた複数の行方向の縮小率のうち当該画素データを受け付けた順番に応じて定まる縮小率である行方向の適用縮小率と、当該受け付けた順番と、に応じて定まる係数を当該画素データに乗じた第１の処理用データを生成し、該生成した第１の処理用データを加算していくことにより、前記画像の解像度を縮小した後の画像を構成する複数の画素のそれぞれの一部を示す複数の第１の処理済データのそれぞれを生成し、該生成した順番に従って１つずつ出力する水平処理部と、
前記水平処理部から出力された複数の第１の処理済データのそれぞれを１つずつ受け付け、予め決められた複数の列方向の縮小率のうち当該第１の処理済データを受け付けた順番に応じて定まる縮小率と、当該受け付けた順番と、に応じて定まる係数を当該第１の処理済データに乗じた第２の処理用データを生成し、前記画像の行方向の画素数と前記行方向の適用縮小率とに基づいて前記生成した第２の処理用データを加算していくことにより、前記画像の解像度を縮小した後の画像を構成する複数の画素のそれぞれを示す複数の第２の処理済データを生成する垂直処理部と、を有する変換装置。
【請求項２】
請求項１に記載の変換装置において、
前記複数の行方向の縮小率と前記複数の列方向の縮小率とはそれぞれ、ｐ：（ｐｎ＋ｑ）（但し、ｎ，ｐ，ｑは自然数、ｑはｐ−１以下の値）で表され、
前記係数は、１またはｒ／ｐ（ｒはｐ以下の自然数）または（ｐ−ｒ）／ｐの２進数値である変換装置。
【請求項３】
複数の縮小率で画像の解像度を縮小する変換装置における変換方法であって、
前記画像を構成する複数の画素のそれぞれを示す複数の画素データのそれぞれをラスタスキャンの順番に従って１つずつ受け付け、予め決められた複数の行方向の縮小率のうち当該画素データを受け付けた順番に応じて定まる縮小率である行方向の適用縮小率と、当該受け付けた順番と、に応じて定まる係数を当該画素データに乗じた第１の処理用データを生成する処理と、
前記生成した第１の処理用データを加算していくことにより、前記画像の解像度を縮小した後の画像を構成する複数の画素のそれぞれの一部を示す複数の第１の処理済データのそれぞれを生成する処理と、
予め決められた複数の列方向の縮小率のうち前記複数の第１の処理済データのそれぞれが生成された順番に応じて定まる縮小率と、当該第１の処理済データが生成された順番と、に応じて定まる係数を当該第１の処理済データに乗じた第２の処理用データを生成する処理と、
前記画像の行方向の画素数と前記行方向の適用縮小率とに基づいて前記生成した第２の処理用データを加算していくことにより、前記画像の解像度を縮小した後の画像を構成する複数の画素のそれぞれを示す複数の第２の処理済データを生成する処理と、を有する変換方法。
【請求項４】
請求項３に記載の変換方法において、
前記複数の行方向の縮小率と前記複数の列方向の縮小率とはそれぞれ、ｐ：（ｐｎ＋ｑ）（但し、ｎ，ｐ，ｑは自然数、ｑはｐ−１以下の値）で表され、
前記係数は、１またはｒ／ｐ（ｒはｐ以下の自然数）または（ｐ−ｒ）／ｐの２進数値である変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の解像度を縮小する変換装置および変換方法に関する。
【背景技術】
【０００２】
画像の解像度を変換（縮小）する変換装置は、最近傍法、バイキュービック法、面積平均法、アップサンプリングダウンサンプリング法など、画像の解像度を変換するためのアルゴリズムを用いて画像の解像度の変換を行っている。
【０００３】
アップサンプリングダウンサンプリング法を用いた解像度の変換に関する技術が例えば特許文献１に開示されている。また、面積平均法を用いた解像度の縮小に関する技術が例えば特許文献２に開示されている。
【０００４】
画像の解像度の縮小をラスタスキャンの順番に従って行う場合、縮小の範囲となる複数の画素のそれぞれを示す複数の画素データのそれぞれを格納するためのラインバッファが必要となる。なお、ラスタスキャンとは、画像を構成する複数の画素のそれぞれを行方向に左から右へスキャンし、その後、次の行の左から右へスキャンすることを繰り返して行う走査方式のことである。
【０００５】
ここで、ラスタスキャンの順番に従って画像の解像度を縮小する方法の一例について説明する。
【０００６】
図９は、ラスタスキャンの順番に従って画像の解像度を縮小する方法の一例を説明するための図であり、（ａ）は解像度を縮小する前の画像を示す図、（ｂ）は解像度を縮小するための構成を説明するための図である。なお、図９では、画像の解像度を縮小するためのアルゴリズムとして面積平均法を用いて縮小率２：５の縮小を行う場合を一例として示している。
【０００７】
図９（ａ）に示す画像の解像度を縮小する場合、画像を構成する複数の画素のそれぞれを示す複数の画素データｖtのそれぞれがラスタスキャンの順番に従ってクロックサイクル毎に１つずつ出力される。
【０００８】
そして、出力された画素データｖtは、縮小率に応じた数の画素ライン単位でラインバッファに一旦格納される。なお、ラインバッファは複数用意されている。
【０００９】
変換装置は、複数のラインバッファのそれぞれに対して解像度を縮小するための処理を実行する。これにより、図９（ｂ）に示すように、画像の解像度が縮小される。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０００−１６５６６４号公報
【特許文献２】特開２００７−３１１８３５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述したように、ラスタスキャンの順番に従って画像の解像度を縮小する場合には、複数のラインバッファが必要となる。また、複数のラインバッファのそれぞれは、縮小後の解像度にかかわらず、解像度を縮小する前の画像を構成する複数の画素データのそれぞれを複数の画素ライン単位で格納できる容量を有している必要がある。
【００１２】
ここで、行方向および列方向のそれぞれにおいて縮小率を変化させながら１つの画像の解像度を縮小したい場合、複数の縮小率毎にラインバッファを用意したり、複数の縮小率でラインバッファを兼用するための制御を行ったりする必要がある。
【００１３】
つまり、行方向および列方向のそれぞれにおいて縮小率を変化させながら１つの画像の解像度を縮小させたい場合、画像の解像度を縮小する変換装置の回路規模が増大したり、変換装置に高性能の回路を用いたりしなければならないという問題点がある。
【００１４】
本発明は、回路規模の増大を回避しつつ、高性能の回路を用いなくても、行方向および列方向のそれぞれにおいて縮小率を変化させながら１つの画像の解像度を縮小することを可能にする変換装置および変換方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するために本発明の変換装置は、複数の縮小率で画像の解像度を縮小する変換装置であって、
前記画像を構成する複数の画素のそれぞれを示す複数の画素データのそれぞれをラスタスキャンの順番に従って１つずつ受け付け、予め決められた複数の行方向の縮小率のうち当該画素データを受け付けた順番に応じて定まる縮小率である行方向の適用縮小率と、当該受け付けた順番と、に応じて定まる係数を当該画素データに乗じた第１の処理用データを生成し、該生成した第１の処理用データを加算していくことにより、前記画像の解像度を縮小した後の画像を構成する複数の画素のそれぞれの一部を示す複数の第１の処理済データのそれぞれを生成し、該生成した順番に従って１つずつ出力する水平処理部と、
前記水平処理部から出力された複数の第１の処理済データのそれぞれを１つずつ受け付け、予め決められた複数の列方向の縮小率のうち当該第１の処理済データを受け付けた順番に応じて定まる縮小率と、当該受け付けた順番と、に応じて定まる係数を当該第１の処理済データに乗じた第２の処理用データを生成し、前記画像の行方向の画素数と前記行方向の適用縮小率とに基づいて前記生成した第２の処理用データを加算していくことにより、前記画像の解像度を縮小した後の画像を構成する複数の画素のそれぞれを示す複数の第２の処理済データを生成する垂直処理部と、を有する。
【００１６】
また、上記目的を達成するために本発明の変換方法は、複数の縮小率で画像の解像度を縮小する変換装置における変換方法であって、
前記画像を構成する複数の画素のそれぞれを示す複数の画素データのそれぞれをラスタスキャンの順番に従って１つずつ受け付け、予め決められた複数の行方向の縮小率のうち当該画素データを受け付けた順番に応じて定まる縮小率である行方向の適用縮小率と、当該受け付けた順番と、に応じて定まる係数を当該画素データに乗じた第１の処理用データを生成する処理と、
前記生成した第１の処理用データを加算していくことにより、前記画像の解像度を縮小した後の画像を構成する複数の画素のそれぞれの一部を示す複数の第１の処理済データのそれぞれを生成する処理と、
予め決められた複数の列方向の縮小率のうち前記複数の第１の処理済データのそれぞれが生成された順番に応じて定まる縮小率と、当該第１の処理済データが生成された順番と、に応じて定まる係数を当該第１の処理済データに乗じた第２の処理用データを生成する処理と、
前記画像の行方向の画素数と前記行方向の適用縮小率とに基づいて前記生成した第２の処理用データを加算していくことにより、前記画像の解像度を縮小した後の画像を構成する複数の画素のそれぞれを示す複数の第２の処理済データを生成する処理と、を有する。
【発明の効果】
【００１７】
本発明は以上説明したように構成されているので、画像の解像度を縮小する際に、解像度を縮小する前の画像を構成する複数の画素データのそれぞれを複数の画素ライン単位でラインバッファに格納する必要がない。
【００１８】
従って、回路規模の増大を回避しつつ、高性能の回路を用いなくても、行方向および列方向のそれぞれにおいて縮小率を変化させながら１つの画像の解像度を縮小することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】面積平均法の原理を説明するための図であり、（ａ）は解像度を縮小する前の画像の一例を示す図、（ｂ）は解像度を縮小した後の画像の一例を示す図である。
【図２】本発明の変換装置の実施の一形態の構成を示すブロック図である。
【図３】図２に示した水平処理制御部が備えるスケール順序配列［ａH］の一例を示す図である。
【図４】図２に示した水平処理制御部が備える係数表ＲHの一例を示す図である。
【図５】図２に示した水平処理部および垂直処理部に対して発行される命令コードの種類を説明するための図である。
【図６】図２に示した水平処理部および垂直処理部に対して発行される命令コードの種類毎にレジスタに格納される値の一例を示す図である。
【図７】図２に示した水平処理制御部の動作を説明するためのフローチャートである。
【図８】図２に示した垂直処理制御部の動作を説明するためのフローチャートである。
【図９】ラスタスキャンの順番に従って画像の解像度を縮小する方法の一例を説明するための図であり、（ａ）は解像度を縮小する前の画像を示す図、（ｂ）は解像度を縮小するための構成を説明するための図である。
【発明を実施するための形態】
【００２０】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２１】
本実施形態では、画像の解像度を縮小するためのアルゴリズムとして面積平均法を用いた場合について説明する。
【００２２】
まず、面積平均法の原理について説明する。
【００２３】
図１は、面積平均法の原理を説明するための図であり、（ａ）は解像度を縮小する前の画像の一例を示す図、（ｂ）は解像度を縮小した後の画像の一例を示す図である。
【００２４】
図１では、行方向および列方向ともに５画素の画像を、行方向および列方向ともに２画素の画像に解像度を縮小する場合を一例として示している。つまり、行方向および列方向縮小率をともに、ｐ：（ｐｎ＋ｑ)（但し、ｎ，ｐ，ｑは自然数、ｑはｐ−１以下の値）と表した場合、図１に示す例は、（２：５＝２：（２×２＋１））の場合であり、ｐ=２、ｎ=２、ｑ=１の場合にあたる。
【００２５】
なお、ｐは１であってもよいが、ｐが２以上の自然数の場合について適用することに本発明の特徴がある。例えばｐ＝２，ｑ＝１とすれば、２：（２ｎ＋１）となり、すなわち、２／３、２／５、２／７、 ・・・となる。
【００２６】
面積平均法を用いた場合、解像度を縮小した後の１つの画素を示す画素データｗ1を求める式は、解像度を縮小する前の画像を構成する複数の画素のそれぞれを示す複数の画素データのそれぞれをｖtとすると、以下の式（１）にて表される。なお、Ｌは、解像度を縮小する前の画像の行方向の画素数である。
【００２７】
ｗ1＝ｖ1＋ｖ2＋（１／２）ｖ3＋ｖL+1＋ｖL+2＋（１／２）ｖL+3＋（１／２）（ｖ2L+1＋ｖ2L+2）＋（１／４）ｖ2L+3・・・式（１）
上記の式（１）において係数に着目すると、係数が１のものは、ｖ1，ｖ2，ｖL+1，ｖL+2であり、係数が(１／２)のものは、ｖ3，ｖL+3，ｖ2L+1，ｖ2L+2であり、係数が（１／４）のものは、ｖ2L+3となっている。
【００２８】
また、図１（ｂ）において画素データｗ1が示す画素に隣接する画素を示す画素データｗ2においても、画素データｗ1と同様に、ｖ3，ｖL+3の係数は（１／２）であり、ｖ2L+3の係数は（１／４）となる。
【００２９】
図２は、本発明の変換装置の実施の一形態の構成を示すブロック図である。
【００３０】
本実施形態の変換装置１０は図２に示すように、水平処理部１１と、水平処理制御部１２と、垂直処理部１３と、垂直処理制御部１４とを備えている。
【００３１】
水平処理部１１は、１画素分の画素データの記憶容量をもつレジスタＧを備えている。水平処理部１１は、解像度を縮小する前の画像を構成する複数の画素のそれぞれを示す複数の画素データｖtのそれぞれをラスタスキャンの順番に従ってクロックサイクル毎に１つずつ受け付ける。そして、水平処理部１１は、１または、Ｒ（ｐH，ｒH）もしくはＲ（ｐH，（ｐH−ｒH））で表される係数を、受け付けた画素データｖtに乗じた第１の処理用データを生成する。なお、Ｒ（ｐH，ｒH）およびＲ（ｐH，（ｐH−ｒH））で表される係数は、後述する水平処理制御部１２が備える係数表ＲHによって定まる０以上１未満の２進数の値である。また、ｐHは、行方向の縮小率を（ｐH：ｐHｎH＋ｑH）と表したときのｐHであり、ｒHはｐH以下の自然数である。そして、水平処理部１１は、当該クロックサイクルにおいて水平処理部１１に対して発行されている命令コードの種類に応じた処理を実行する。この処理には、生成した第１の処理用データを加算していくことにより、解像度が縮小された画像を構成する複数の画素のそれぞれの一部を示す第１の処理済データｕtを生成して出力する処理が含まれる。なお、命令コードの種類と、水平処理部１１が命令コードの種類に応じて実行する処理との詳細については後述する。
【００３２】
水平処理制御部１２は、値を格納するレジスタＡ１，Ａ２，Ｂ，Ｅを備えている。なお、以降、レジスタＡ１に格納された値をＡ１と表記する。また、レジスタＡ１に格納された値が例えば１であるとき、Ａ１＝１と表記する。レジスタＡ２，Ｂ，Ｅおよび後述する垂直処理制御部１４が備えるレジスタについても同様に表記する。水平処理制御部１２は、水平処理部１１に対して発行する命令コードの種類を、レジスタＡ１，Ａ２，Ｂ，Ｅに値を格納することによって決定する。なお、水平処理制御部１２は、垂直同期信号および水平同期信号を検知したかどうかを確認し、その確認結果に基づいて水平処理部１１に対して発行する命令コードを決定する。垂直同期信号および水平同期信号の詳細、および、水平処理制御部１２が水平処理部１１に対して発行する命令コードを決定する動作の詳細については、後述する動作フローにおいて説明する。また、水平処理制御部１２は、水平処理部１１が画素データｖtに乗じる係数を決定するためのスケール順序配列［ａH］と係数表ＲHとを備えている。
【００３３】
図３は、図２に示した水平処理制御部１２が備えるスケール順序配列［ａH］の一例を示す図である。
【００３４】
図３に示すスケール順序配列［ａH］において「ａH」の列は１から始まるシリアルな値となっている。そして、「ａH」の列の値と、その行の「ｐH」、「ｑH」、「ｎH」の列の値とが対応付けられている。
【００３５】
すなわち、スケール順序配列［ａH］には、行方向の縮小率が複数示されているとともに、その複数の行方向の縮小率のうち水平処理部１１にて受け付けられる複数の画素データｖtのそれぞれに適用する縮小率である適用縮小率が、適用する順番に示されていることになる。図３に示した例では、最初の適用縮小率がｐH：（ｐHｎH＋ｑH）＝２：３となり、その次の適用縮小率がｐH：（ｐHｎH＋ｑH）＝２：５となる。
【００３６】
なお、スケール順序配列［ａH］の「ｐH」、「ｑH」、「ｎH」の列の値は、解像度の縮小を実行する前に予め格納されている。このとき、ｐHの値と（ｐHｎH＋ｑH）の値とが互いに素の関係となるようしておく。例えば行方向の縮小率を２：５とする場合、ｐH＝４、ｑH＝２、ｎH＝２等ではなく、ｐH＝２、ｑH＝１、ｎH＝１とする。
【００３７】
図４は、図２に示した水平処理制御部１２が備える係数表ＲHの一例を示す図である。
【００３８】
図４に示す係数表ＲHには、ｐHとｒHとに対応付けられ、画素データｖtに乗ずる係数が格納されている。
【００３９】
図４に示す係数表ＲHを用いた場合、例えばｐHの値がｐ1であり、ｒHの値が１であるとすると、画素データｖtには１／ｐ1または（ｐ1−１）／ｐ1が係数として乗じられることになる。なお、図４において係数は、１０進数の整数または分数で表記されているが、上述したように、係数表ＲHに格納されている値は２進数値である。例えば、例えばｐHの値が２であり、パラメーターｒHの値が１である場合、係数は１／２の分数となるが、これを２進数にした０.１が格納されていることになる。
【００４０】
垂直処理部１３は、解像度を縮小する前の画像の行方向の画素数、すなわちＬワードの記憶容量のシフトレジスタＨを備えている。垂直処理部１３は、水平処理部１１から出力された第１の処理済データｕtを受け付ける。そして、垂直処理部１３は、１または、Ｒ（ｐV，ｒV）もしくはＲ（ｐV，（ｐV−ｒV））で表される係数を、受け付けた第１の処理済データｕtに乗じた第２の処理用データを生成する。なお、Ｒ（ｐV，ｒV）およびＲ（ｐV，（ｐV−ｒV））で表される係数は、後述する垂直処理制御部１４が備える係数表ＲVによって定まる０以上１未満の２進数の値である。また、ｐVは、列方向の縮小率を（ｐV：ｐVｎV＋ｑV）と表したときのｐVであり、ｒVはｐV以下の自然数である。そして、垂直処理部１３は、当該クロックサイクルにおいて垂直処理部１３に対して発行されている命令コードの種類に応じた処理を実行する。この処理には、生成した第２の処理用データを加算していくことにより、解像度が縮小された画像を構成する複数の画素のそれぞれを示す第２の処理済データを生成して出力する処理が含まれる。なお、命令コードの種類と、垂直処理部１３が命令コードの種類に応じて実行する処理の詳細については後述する。
【００４１】
垂直処理制御部１４は、値を格納するレジスタＣ１，Ｃ２，Ｄ，Ｆを備えている。水平処理制御部１２は、垂直処理部１３に対して発行する命令コードの種類を、Ｃ１，Ｃ２，Ｄ，Ｆに値を格納することによって決定する。なお、垂直処理制御部１４は、垂直同期信号および水平同期信号を検知したかどうかを確認し、その確認結果に基づいて垂直処理部１３に対して発行する命令コードを決定する。垂直処理制御部１４が垂直処理部１３に対して発行する命令コードを決定する動作の詳細については、後述する動作フローにおいて説明する。また、垂直処理制御部１４は、垂直処理部１３にて受け付けられた第１の処理済データｕtに乗じる係数を決定するためのスケール順序配列［ａV］と係数表ＲVとを備えている。垂直処理制御部１４が備えるスケール順序配列［ａV］は、水平処理制御部１２が備えるスケール順序配列［ａH］と同様の構成である。但し、スケール順序配列［ａV］には、ｐV，ｑV，ｎVのそれぞれの値が、１から始まるシリアルな値であるａVのそれぞれと対応付けられている。また、垂直処理制御部１４が備える係数表ＲVは、水平処理制御部１２が備える係数表ＲHと同様の構成である。但し、垂直処理制御部１４が備える係数表ＲVには、ＰVとｒVとに対応付けられ、第１の処理済データｕtに乗じる係数が２進数値で格納されている。
【００４２】
レジスタＩは、後続の処理に応じた容量をもつシフトレジスタ、または、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）、または、フレームバッファメモリである。レジスタＩは、ＥとＦとの論理積（Ｅ×Ｆ）が１である場合に、垂直処理部１３から出力された第２の処理済データを格納する。これにより、解像度が縮小された画像を構成する複数の画素のそれぞれを示す複数の画素データｗtのそれぞれがラスタスキャンの順番に従ってレジスタＩに格納されていくことになる。なお、レジスタＩは、後続の処理が例えば閾値を用いた２値化であれば、１ワード分の容量のレジスタでよい。また、レジスタＩは、後続の処理が例えば複雑な処理であれば、ランダムアクセスが可能なフレームバッファメモリとなる。つまり、レジスタＩは、後続の処理に必要な読み出し方式に応じて決定すればよい。
【００４３】
ここで、図２に示した水平処理部１１および垂直処理部１３に対して発行される命令コードの種類と、水平処理部１１および垂直処理部１３が命令コードの種類に応じて実行する処理とについて説明する。
【００４４】
図５は、図２に示した水平処理部１１および垂直処理部１３に対して発行される命令コードの種類を説明するための図である。また、図６は、図２に示した水平処理部１１および垂直処理部１３に対して発行される命令コードの種類毎にレジスタに格納される値の一例を示す図である。
【００４５】
命令コードの種類としては図５に示すように、ｏｐ１，ｏｐ２，ｏｐ３の３つがある。なお、ｏｐ３にだけパラメーターとしてｒH，ｒVが設定されている。
【００４６】
水平処理部１１および垂直処理部１３は、当該クロックサイクルにおいてそれぞれに対して発行されている命令コードの種類に応じて図５に示す処理を行う。
【００４７】
なお、命令コードの種類がｏｐ１である場合、水平処理部１１は図５に示すように、受け付けた画素データｖtをそのまま、第１の処理用データとしてレジスタＧに格納する。この動作は、受け付けた画素データｖtに１を乗じて第１の処理用データとしてレジスタＧに格納することと同意である。これは、命令コードの種類がｏｐ１である場合の垂直処理部１３の動作についても同様である。
【００４８】
また、図６に示すように、ｒH，ｒV，Ａ１，Ａ２，Ｂ，Ｃ１，Ｃ２，Ｄ，Ｅ，Ｆは、図５に示した命令コードの種類に応じて異なる。
【００４９】
垂直処理部１３は、Ｅ＝１のとき、すなわち水平処理部１１に対して発行されている命令コードがｏｐ３（ｒ）のクロックサイクルにおいてのみ、そのクロックサイクルにおいて垂直処理部１３に対して発行されている命令コードの種類に応じた処理を行う。
【００５０】
なお、図６において「Ｘ」は任意の値であり、その値が水平処理部１１および垂直処理部１３の動作に何ら影響を与えないことを示している。
【００５１】
以下に、上記のように構成された変換装置１０の動作について説明するが、その前に、水平処理制御部１２および垂直処理制御部１４にて検知される垂直同期信号および水平同期信号について説明する。
【００５２】
垂直同期信号は、１つの画像の解像度の縮小を開始する際に、水平処理制御部１２および垂直処理制御部１４にて検知される。
【００５３】
水平処理制御部１２および垂直処理制御部１４は、垂直同期信号を検知すると、それぞれが備える各レジスタに格納された値を初期化、つまり０にする。また、水平処理制御部１２および垂直処理制御部１４は、垂直同期信号を検知すると、後述する変数を初期値に戻す。また、垂直処理制御部１４は、垂直同期信号を検知すると、垂直処理部１３が備えるレジスタＨに格納された値を全て０に初期化する。
【００５４】
水平同期信号は、１つの画像の解像度の縮小を開始する際、および、解像度を縮小する前の画像の１つの行の全ての画素データｖtに対する処理が完了すると、水平処理制御部１２および垂直処理制御部１４にて検知される。
【００５５】
水平処理制御部１２は、水平同期信号を検知すると、水平処理制御部１２が備えるレジスタに格納された値を初期化、つまり０にする。また、水平処理制御部１２は、水平同期信号を検知すると、後述する変数を初期値に戻す。また、水平処理制御部１２は、水平同期信号を検知すると、水平処理部１１が備えるレジスタＧに格納された値を０に初期化する。
【００５６】
なお、垂直同期信号および水平同期信号は例えば、ラスタスキャンの順番に従って画素データｖtを変換装置１０へ出力する出力装置等から出力される。
【００５７】
以下に、変換装置１０の動作について説明する。まず、図２に示した水平処理制御部１２の動作について説明する。
【００５８】
図７は、図２に示した水平処理制御部１２の動作を説明するためのフローチャートである。
【００５９】
水平処理制御部１２は、水平同期信号または垂直同期信号を検知したかどうかを確認する（ステップＳ１）
ステップＳ１における確認の結果、水平同期信号または垂直同期信号を検知した場合、水平処理制御部１２は、変数ｉHを定義してｉH＝１とする（ステップＳ２）。
【００６０】
次に、水平処理制御部１２は、ａH＝１とする（ステップＳ３）。
【００６１】
次に、水平処理制御部１２は、スケール順序配列［ａH］から、ａH＝１に対応するｐH，ｑH，ｎHを抽出する（ステップＳ４）。
【００６２】
そして、水平処理部１１は、ステップＳ４において抽出したｐH，ｑH，ｎHから（ｐHｎH＋ｑH）の値を算出し、算出した値を記憶する（ステップＳ５）。
【００６３】
次に、水平処理制御部１２は、変数ｊHを定義してｊH＝ｐHとする（ステップＳ６）。なお、ここでは、上述したステップＳ４にて抽出されたｐHによってｊH＝ｐHとする。
【００６４】
次に、水平処理制御部１２は、Ａ１＝０，Ｂ＝０、Ｅ＝０とする（ステップＳ７）。図６を参照するとこれは、命令コードｏｐ１に対応する。つまり、水平処理部１１に対して命令コードｏｐ１が発行されることになる。
【００６５】
そして、水平処理制御部１２は、変数ｊHを（ｊH＋ｐH）に更新する（ステップＳ８）。
【００６６】
その後、水平処理部１１が命令コードｏｐ１に従って動作してからステップＳ１の動作へ遷移する。
【００６７】
一方、ステップＳ１における確認の結果、水平同期信号または垂直同期信号を検知していない場合、水平処理制御部１２は、記憶している（ｐHｎH＋ｑH）の値と変数ｉHとが一致するかどうかを判定する（ステップＳ９）。
【００６８】
ステップＳ９における判定の結果、記憶している（ｐHｎH＋ｑH）の値と変数ｉHとが一致する場合、水平処理制御部１２は、変数ｉHを改めて定義してｉH＝１とする（ステップＳ１０）。
【００６９】
次に、水平処理制御部１２は、ａHを（ａH＋１）に更新する（ステップＳ１１）。
【００７０】
次に、水平処理制御部１２は、スケール順序配列［ａH］から、更新されたａHに対応するｐH，ｑH，ｎHを抽出する（ステップＳ１２）。
【００７１】
次に、水平処理部１１は、ステップＳ１２において抽出したｐH，ｑH，ｎHから（ｐHｎH＋ｑH）の値を算出し、既に記憶している値に代えて、算出した値を記憶する（ステップＳ１３）。
【００７２】
そして、ステップＳ６の動作へ遷移し、水平処理制御部１２は、変数ｊHを改めて定義してｊH＝ｐHとする。なお、ここでは、上述したステップＳ１２にて抽出されたｐHによってｊH＝ｐHとする。
【００７３】
一方、ステップＳ９における判定の結果、記憶している（ｐHｎH＋ｑH）の値と変数ｉHとが一致しない場合、水平処理制御部１２は、変数ｉHを（ｉH＋１）に更新する（ステップＳ１４）。
【００７４】
次に、水平処理制御部１２は、記憶している（ｐHｎH＋ｑH）の値が変数ｊHよりも大きいかどうかを判定する（ステップＳ１５）。
【００７５】
ステップＳ１５における判定の結果、記憶している（ｐHｎH＋ｑH）の値が変数ｊHよりも大きな場合、水平処理制御部１２は、Ａ１＝０，Ｂ＝１、Ｅ＝０とする（ステップＳ１６）。図６を参照するとこれは、命令コードｏｐ２に対応する。つまり、水平処理部１１に対して命令コードｏｐ２が発行されることになる。
【００７６】
そして、水平処理制御部１２は、変数ｊHを（ｊH＋ｐH）に更新する（ステップＳ１７）。
【００７７】
その後、水平処理部１１が命令コードｏｐ２に従って動作してからステップＳ１の動作へ遷移する。
【００７８】
一方、ステップＳ１５における判定の結果、記憶している（ｐHｎH＋ｑH）の値が変数ｊH以下である場合、水平処理制御部１２は、ｒH＝（ｐH−（ｐHｎH＋ｑH））を算出し、Ａ１＝１，Ａ２＝１，Ｂ＝０、Ｅ＝１とする（ステップＳ１８）。図６を参照するとこれは、命令コードｏｐ３（ｒH）に対応する。つまり、水平処理部１１に対して命令コードｏｐ３（ｒH）が発行されることになる。
【００７９】
そして、水平処理制御部１２は、変数ｊHを（ｊH−（ｐHｎH＋ｑH）＋ｐH）に更新する（ステップＳ１９）。
【００８０】
その後、水平処理部１１が命令コードｏｐ３（ｒH）に従って動作してからステップＳ１の動作へ遷移する。
【００８１】
次に、図２に示した垂直処理制御部１４の動作について説明する。
【００８２】
図８は、図２に示した垂直処理制御部１４の動作を説明するためのフローチャートである。
【００８３】
垂直処理制御部１４は、水平同期信号を検知したかどうかを確認する（ステップＳ２１）。
【００８４】
ステップＳ１における確認の結果、水平同期信号を検知していない場合、水平同期信号の検知の確認を継続する。
【００８５】
一方、ステップＳ１における確認の結果、水平同期信号を検知した場合、垂直処理制御部１４は、垂直同期信号を検知したかどうかを確認する（ステップＳ２２）。
【００８６】
以降のステップＳ２３〜Ｓ４０の動作は、図７に示したフローチャートにおけるステップＳ２〜Ｓ１９の動作と同様なので、説明を省略する。
【００８７】
但し、垂直処理制御部１４は、自身が備えるスケール順序配列［ａV］を参照する。また、垂直処理制御部１４は、レジスタＣ１，Ｃ２，Ｄ，Ｆに値を格納する。
【００８８】
また、ステップＳ２９、ステップＳ３８、ステップＳ４０のそれぞれの動作の後、垂直処理部１３が命令コードｏｐ１、ｏｐ２、ｏｐ３（ｒV）のそれぞれに従って動作してからステップＳ２１の動作へ遷移する。
【００８９】
次に、図２に示した変換装置１０において画像の解像度を縮小する動作について、上述した図７および図８を参照しながら説明する。なお、ここでは、水平処理制御部１２が備えるスケール順序配列［ａH］においてaH＝１に対応するｐH，ｑH，ｎHの値がｐH＝２、ｑH＝１、ｎH＝１であり、垂直処理制御部１４が備えるスケール順序配列においてａV＝１に対応するｐV，ｑV，ｎVの値がｐV＝２、ｑV＝１、ｎV＝１である場合について説明する。すなわち、行方向および列方向ともに、最初の適用縮小率が２：３である場合の動作について説明する。
【００９０】
上述したように、１つの画像の解像度の縮小を開始する際には、水平処理制御部１２および垂直処理制御部１４において垂直同期信号および水平同期信号が検知される。これにより、水平処理制御部１２において、図７のフローチャートのステップＳ２〜Ｓ８の動作が実行され、Ａ１＝０、Ｂ＝０，Ｅ＝０となる。図６を参照すると水平処理部１１に対して命令コードｏｐ１が発行されることになる。また、ａH＝１、変数ｉH＝１、変数ｊH＝４となる。
【００９１】
また、垂直処理制御部１４において、上述した図８のフローチャートのステップＳ２３〜Ｓ２９の動作が実行され、Ｃ１＝０、Ｄ＝０、Ｆ＝０となる。図６を参照すると垂直処理部１３に対して命令コードｏｐ１が発行されることになる。また、ａV＝１、変数ｉV＝１、変数ｊV＝４となる。
【００９２】
次に、水平処理部１１は、時刻ｔ＝１のクロックサイクルにおいて、解像度を縮小する前の画像を構成する複数の画素を示す複数の画素データｖtのうちの１つをラスタスキャンの順番に従って受け付ける。ここでは、１行目の左端の画素を示す画素データｖ1を受け付ける。
【００９３】
次に、水平処理部１１および垂直処理部１３は、それぞれに対して発行されている命令コードの種類に応じた処理を実行する。ここでは、水平処理部１１に対して命令コードｏｐ１が発行されている。そのため、水平処理部１１は、受け付けた画素データｖ1をそのまま、第１の処理用データとしてレジスタＧに格納する。なお、水平処理部１１に対して命令コードｏｐ１が発行されている場合、Ｅ＝０である。そのため、垂直処理部１３は、何の処理も実行しない。
【００９４】
次に、水平処理制御部１２は、図７のフローチャートのステップＳ１の動作に従い、水平同期信号または垂直同期信号を検知したかどうかを判定する。
【００９５】
ここでは、水平処理制御部１２は、水平同期信号および垂直同期信号のいずれも検知しない。従って、図７のフローチャートのステップＳ９の動作に従い、変数ｉHが（ｐHｎH＋ｑH）と一致するかどうかが判定される。ここでは、変数ｉH＝１であり、（ｐHｎH＋ｑH）＝３である。そのため、水平処理制御部１２において、図７のフローチャートのステップＳ１４の動作に従い、変数ｉHが（ｉH＋１）に更新される。すなわち、変数ｉH＝２となる。
【００９６】
そして、図７のフローチャートにおけるステップＳ１５の動作に従い、（ｐHｎH＋ｑH）が変数ｊHよりも大きいかどうかが判定される。ここでは、変数ｊH＝４であり、（ｐHｎH＋ｑH）＝３である。そのため、水平処理制御部１２において、図７のフローチャートのステップＳ１８の動作に従い、ｒH＝ｐH−（ｊH−（ｐHｎH＋ｑH））によってパラメーターｒHが算出され、パラメーターｒH＝１となる。また、Ａ１＝１、Ａ２＝１、Ｂ＝０、Ｅ＝１となる。図６を参照すると水平処理部１１に対して命令コードｏｐ３（１）が発行されることになる。
【００９７】
また、図７のフローチャートのステップＳ１９の動作に従い、変数ｊH＝（ｊH−（ｐHｎH＋ｑH）＋ｐH）＝３となる。なお、垂直処理制御部１４において水平同期信号が検知されていないため、垂直処理部１３に対して発行されている命令コードはｏｐ１のままとなる。
【００９８】
次に、水平処理部１１は、時刻ｔ＝２のクロックサイクルにおいて、ラスタスキャンの順番に従い、画素データｖ1が示す画像と行方向に隣接する画素を示す画素データｖ2の入力を受け付ける。
【００９９】
次に、水平処理部１１および垂直処理部１３は、それぞれに対して発行されている命令コードの種類に応じた処理を実行する。ここでは、水平処理部１１に対して命令コードｏｐ３（１）が発行され、垂直処理部１３に対して命令コードｏｐ１が発行されている。
【０１００】
水平処理部１１は、係数表ＲHを参照することにより、受け付けた画素データｖ2に（ｒH／ｐH）を乗じた第１の処理用データを生成する。ここでは、受け付けた画素データｖ2に１／２（２進数で０.１）を乗じた第１の処理用データ（１／２）ｖ2が生成される。
【０１０１】
そして、水平処理部１１は、レジスタＧに格納されている第１の処理用データｖ1に、生成した第１の処理用データ（１／２）ｖ2を加算した第１の処理済データｕt（ｖ1＋（１／２）ｖ2）を生成して出力する。
【０１０２】
また、水平処理部１１は、レジスタＧに格納されている第１の処理用データｖ1に代えて、係数表ＲHを参照することにより、受け付けた画素データｖ2に（（ｐH−ｒH）／ｐH）を乗じて、すなわち、１／２（２進数で０.１）を乗じて第１の処理用データ（（１／２）ｖ2）としてレジスタＧに格納する。
【０１０３】
ここでは、Ｅ＝１であり、また、垂直処理部１３に対して命令コードｏｐ１が発行されている。従って、垂直処理部１３は、水平処理部１１から出力された第１の処理済データｕt（ｖ1＋（１／２）ｖ2）をそのまま、第２の処理用データとしてシフトレジスタＨの入力端に格納する。
【０１０４】
次に、水平処理制御部１２は、図７のフローチャートのステップＳ１の動作に従い、水平同期信号または垂直同期信号を検知したかどうかを判定する。
【０１０５】
ここでは、水平処理制御部１２は、水平同期信号および垂直同期信号のいずれも検知しない。従って、図７のフローチャートにおけるステップＳ９に従い、変数ｉHが（ｐHｎH＋ｑH）と一致するかどうかが判定される。ここでは、変数ｉH＝２であり、（ｐHｎH＋ｑH）＝３である。そのため、水平処理制御部１２において、図７のフローチャートにおけるステップＳ１４の動作に従い、変数ｉHが（ｉH＋１）に更新される。すなわち、変数ｉ＝３となる。
【０１０６】
そして、図７のフローチャートのステップＳ１５の動作に従い、（ｐHｎH＋ｑH）が変数ｊHよりも大きいかどうかが判定される。ここでは、変数ｊH＝３であり、（ｐHｎH＋ｑH）＝３である。そのため、水平処理制御部１２において、図７のフローチャートのステップＳ１８の動作に従い、ｒH＝ｐH−（ｊH−（ｐHｎH＋ｑH））によってパラメーターｒHが算出され、パラメーターｒH＝２となる。また、Ａ１＝１、Ａ２＝１、Ｂ＝０、Ｅ＝１となる。図５を参照すると水平処理部１１に対して命令コードｏｐ３（２）が発行されることになる。また、図７のフローチャートのステップＳ１９の動作に従い、変数ｊH＝（ｊH−（ｐHｎH＋ｑH）＋ｐH）＝２となる。なお、垂直処理制御部１４において水平同期信号が検知されていないため、垂直処理部１３に対して発行されている命令コードはｏｐ１のままとなる。
【０１０７】
次に、水平処理部１１は、時刻ｔ＝３のクロックサイクルにおいて、ラスタスキャンの順番に従い、画素データｖ2が示す画素と行方向に隣接する画素を示す画素データｖ3の入力を受け付ける。
【０１０８】
次に、水平処理部１１および垂直処理部１３は、それぞれに対して発行されている命令コードの種類に応じた処理を実行する。ここでは、水平処理部１１に対して命令コードｏｐ３（２）が発行され、垂直処理部１３に対して命令コードｏｐ１が発行されている。
【０１０９】
水平処理部１１は、係数表ＲHを参照することにより、受け付けた画素データｖ3に（ｒH／ｐH）を乗じた第１の処理用データを生成する。ここでは、受け付けた画素データｖ3に２／２（２進数で１）を乗じた第１の処理用データｖ3が生成される。
【０１１０】
そして、水平処理部１１は、レジスタＧに格納されている第１の処理用データ（１／２）ｖ2に、生成した第１の処理用データｖ3を加算した第１の処理済データｕt（（１／２）ｖ2＋ｖ3）を生成して出力する。
【０１１１】
ここでは、Ｅ＝１であり、また、垂直処理部１３に対して命令コードｏｐ１が発行されている。従って、垂直処理部１３は、シフトレジスタＨに格納されている第２の処理用データを１ワード分、出力端側へシフトする。
【０１１２】
そして、垂直処理部１３は、水平処理部１１から出力された第１の処理済データｕt（（１／２）ｖ2＋ｖ3）をそのまま、第２の処理用データとしてシフトレジスタＨの入力端に格納する。これにより、シフトレジスタＨには入力端側から順番に、（（１／２）ｖ2＋ｖ3）、（ｖ1＋（１／２）ｖ2）が格納されることになる。
【０１１３】
次に、水平処理制御部１２は、図７のフローチャートのステップＳ１の動作に従い、水平同期信号または垂直同期信号を検知したかどうかを判定する。
【０１１４】
以降、解像度を縮小する前の画像の行方向の画素数が４画素以上である場合と、３画素である場合とに分けて説明する。
【０１１５】
まず、解像度を縮小する前の画像の行方向の画素数が４画素以上である場合について説明する。
【０１１６】
この場合、解像度を縮小する前の画像の１行目の全ての画素データｖtに対する処理が完了していないため、水平処理制御部１２は、水平同期信号または垂直同期信号のいずれも検知しない。
【０１１７】
従って、図７のフローチャートにおけるステップＳ９の動作に従い、変数ｉHが（ｐHｎH＋ｑH）と一致するかどうかが判定される。ここでは、変数ｉH＝３であり、（ｐHｎH＋ｑH）＝３である。そのため、水平処理制御部１２において、図７のフローチャートのステップＳ１０〜Ｓ１３およびステップＳ６〜Ｓ８動作が実行される。
【０１１８】
具体的には、ａHが（ａH＋１）に更新されるとともに、変数ｉ，ｊおよびＡ１、Ｂ、Ｅが、画素データｖ1に対する処理を実行する際の値と同じ値になる。これにより、以降の動作では、スケール順序配列［ａH］においてａH＝２に対応するｐH，ｑH，ｎHに基づいた縮小率で画像の解像度の縮小が実行されることになる。
【０１１９】
なお、垂直処理制御部１４は、水平同期信号を検知しないため、垂直処理部１３に対して発行される命令コードに変化はない。従って、垂直処理部１３は、垂直処理制御部１４において水平同期信号が検知されるまでの間、Ｅ＝１になる度に命令コードｏｐ１に従った処理を行うことになる。
【０１２０】
次に、解像度を縮小する前の画像の行方向の画素数が３画素である場合について説明する。
【０１２１】
この場合、解像度を縮小する前の画像の１行目の全ての画素データｖtに対する処理が完了しているため、水平処理制御部１２は、水平同期信号を検知する。
【０１２２】
従って、水平処理制御部１２において、図７のフローチャートのステップＳ２〜Ｓ８の動作が実行される。
【０１２３】
具体的には、ａHが１に更新されるとともに、変数ｉ，ｊおよびＡ１、Ｂ、Ｅが、画素データｖ1を処理する際の値と同じ値になる。
【０１２４】
また、垂直処理制御部１４は、水平同期信号を検知し、垂直同期信号を検知しないため、図８のフローチャートのステップＳ３０に従い、変数ｉVが（ｐVｎV＋ｑV）と一致するかどうかが判定される。ここでは、変数ｉV＝１であり、（ｐVｎV＋ｑV）＝３である。そのため、垂直処理制御部１４において、図８のフローチャートにおけるステップＳ３５の動作に従い、変数ｉVが（ｉV＋１）に更新される。すなわち、変数ｉV＝２となる。
【０１２５】
そして、図８のフローチャートのステップＳ３６の動作に従い、（ｐVｎV＋ｑV）が変数ｊVよりも大きいかどうかが判定される。ここでは、変数ｊV＝４であり、（ｐVｎV＋ｑV）＝３である。そのため、垂直処理制御部１４において、図８のフローチャートのステップＳ３９の動作に従い、ｒV＝ｐV−（ｊV−（ｐVｎV＋ｑV））によってパラメーターｒVが算出され、パラメーターｒV＝１となる。また、Ｃ１＝１、Ｃ２＝１、Ｂ＝０、Ｆ＝１となる。図６を参照すると垂直処理部１３に対して命令コードｏｐ３（１）が発行されることになる。また、図８のフローチャートのステップＳ４０の動作に従い、変数ｊV＝（ｊV−（ｐVｎV＋ｑV）＋ｐV）＝３となる。
【０１２６】
ここで、垂直処理部１３に対して発行された命令コードｏｐ３（１）は、解像度を縮小する前の画像の２行目の画素データに対する処理を実行する間、変更されない。従って、この間、Ｆは１のままとなる。また、解像度を縮小する前の画像の２行目の複数の画素のそれぞれを示す複数の画素データのうち２番目に水平処理部１１にて受け付けられる画素データに対する処理を実行する際には、水平処理部１１に対して発行される命令コードはｏｐ３（２）となり、Ｅ＝１となる。つまり、ＥとＦとの論理積が１となる。
【０１２７】
従って、解像度を縮小する前の画像の２行目の複数の画素のそれぞれを示す複数の画素データのうち２番目に受け付けられる画素データを処理する際には、垂直処理部１３は、受け付けた第１の処理済データｕt（ｖL+1＋（１／２）ｖL+2）に１／２を乗じた第２の処理用データを生成する。
【０１２８】
次に、垂直処理部１３は、生成した第２の処理用データ（１／２）（ｖL+1＋（１／２）ｖL+2）と、シフトレジスタＨの出力端に格納されている第２の処理用データ（ｖ1＋（１／２）ｖ2）とを加算した第２の処理済データを生成する。
【０１２９】
そして、生成された第２の処理済データ（ｖ1＋（１／２）ｖ2＋（１／２）ｖL+1＋（１／４）ｖL+2）が出力されてレジスタＩに格納される。
【０１３０】
この第２の処理済データ（ｖ1＋（１／２）ｖ2＋（１／２）ｖL+1＋（１／４）ｖL+2）が、行方向に３画素の画像を、行方向および列方向の縮小率２：３で縮小した後の画像を構成する複数の画素のうち１行目の左端の画素を示す画素データとなる。
【０１３１】
なお、この段階では、解像度を縮小する前の画像を構成する複数の画素のそれぞれを示す複数の画素データのそれぞれに乗じた係数の和は、１よりも大きい（２.２５となっている）。縮小した画素データの絶対値の正規化については、必要に応じて別途行うものとする。
【０１３２】
さらに、垂直処理部１３は、垂直処理部１３に対して発行されている命令コードｏｐ３（１）に従い、シフトレジスタＨに格納されている第２の処理用データを１ワード分、出力端側へシフトする。
【０１３３】
次に、垂直処理部１３は、受け付けた第１の処理済データｕt（（ｖL+1＋（１／２）ｖL+2））に１／２を乗じて生成した第２の処理用データ（１／２）（ｖL+1＋（１／２）ｖL+2）をシフトレジスタＨの入力端に格納する。
【０１３４】
そして、解像度を縮小する前の画像の３行目の複数の画像のそれぞれを示す複数の画素データのうち２番目に水平処理部１１にて受け付けられる画素データを処理する際に、垂直処理部１３は、シフトレジスタＨに格納された第２の処理用データ（（１／２）（ｖL+1＋（１／２）ｖL+2））と、受け付けた第１の処理済データｕt（ｖ2L+1＋（１／２）ｖ2L+2）を命令コードｏｐ３（２）に従って２／２を乗じて生成した第２の処理用データ（ｖ2L+1＋（１／２）ｖ2L+2）とを加算した第２の処理済データを生成する。
【０１３５】
そして、生成された第２の処理済データ（（１／２）ｖL+1＋（１／４）ｖL+2＋ｖ2L+1＋（１／２）ｖ2L+2）が出力されてレジスタＩに格納される。
【０１３６】
このとき、垂直処理部１３は、命令コードｏｐ３（２）に従い、受け付けた第１の処理済データｕt（ｖ2L+1＋（１／２）ｖ2L+2）に０／２を乗じた第２の処理用データを生成してシフトレジスタＨの入力端に格納する。この場合、シフトレジスタＨの入力端に格納された第２の処理用データは０となるが、解像度を縮小する前の画像の４行目の画素データを処理する間、垂直処理部１３には命令コードｏｐ１が発行され、Ｅ＝０となる。そのため、シフトレジスタＨにどのような第２の処理用データが格納されていても、結果に影響はない。
【０１３７】
以降、解像度を縮小する前の画像の行方向の画素数が４画素以上である場合も、３画素である場合も、水平処理部１１は、上述したのと同様に、ラスタスキャンの順番に従ってクロックサイクル毎に１つの画素データｖtを受け付け、そのクロックサイクルにおいて水平処理部１１に対して発行されている命令コードに応じた処理を実行していく。
【０１３８】
その際、上述したのと同様に、変数ｉHが１つずつ増加していき、変数ｉHと（ｐHｎH＋ｑH）とが一致すると、水平処理制御部１２は、図７のフローチャートのステップＳ１０〜Ｓ１３およびステップＳ６〜Ｓ８に従って動作する。すなわち、変数ｉHと（ｐHｎH＋ｑH）とが一致すると、スケール順序配列［ａH］において、次のａHの値に対応するｐH，ｑH，ｎHが参照されて、行方向の適用縮小率が変化することになる。
【０１３９】
一方、垂直処理制御部１４は、解像度を縮小する前の画像の１つの行の画素データｖtを処理する間、変数ｉVを変えずに垂直処理部１３を動作させる。そして、水平処理部１１において解像度を縮小する前の画像の１つの行の全ての画素データｖtの処理が完了する度に、すなわち水平同期信号を検知する度に、変数ｉVが１つずつ増加していく。
【０１４０】
そして、変数ｉVと（ｐVｎV＋ｑV）が一致すると、垂直処理制御部１４は、図８のフローチャートのステップＳ３１〜Ｓ３４およびステップＳ２７〜Ｓ２９に従って動作する。すなわち、変数ｉVと（ｐVｎV＋ｑV）とが一致すると、スケール順序配列［ａV］において、次のａVの値に対応するｐv，ｑV，ｎVが参照されて、列方向の適用縮小率が変化することになる。
【０１４１】
このように本実施形態において変換装置１０は、解像度を縮小する前の画像を構成する複数の画素のそれぞれを示す複数の画素データのそれぞれをラスタスキャンの順番に従って１つずつ受け付け、予め決められた複数の行方向の縮小率のうち当該画素データを受け付けた順番に応じて定まる縮小率である行方向の適用縮小率と、当該受け付けた順番と、に応じて定まる係数を当該画素データに乗じた第１の処理用データを生成する。
【０１４２】
そして、変換装置１０は、生成した第１の処理用データを加算していくことにより、解像度を縮小した後の画像を構成する複数の画素のそれぞれの一部を示す複数の第１の処理済データのそれぞれを生成する。
【０１４３】
また、変換装置１０は、予め決められた複数の列方向の縮小率のうち複数の第１の処理済データのそれぞれが生成された順番に応じて定まる列方向の縮小率と、当該第１の処理済データが生成された順番と、に応じて定まる係数を当該第１の処理済データに乗じた第２の処理用データを生成する。
【０１４４】
そして、変換装置１０は、解像度を縮小する前の画像の行方向の画素数と上記の行方向の適用縮小率とに基づき、生成した第２の処理用データを加算していくことにより、解像度を縮小した後の画像を構成する複数の画素のそれぞれを示す複数の第２の処理済データを生成する。
【０１４５】
これにより、画像の解像度を縮小する際に、解像度を縮小する前の画像を構成する複数の画素データのそれぞれを複数の画素ライン単位でラインバッファに格納する必要がない。
【０１４６】
上述した実施形態においてレジスタの容量は、たかだか（ｐＬ／（ｐｎ＋ｑ）＋数ワード、すなわち（（ｐ／（ｐｎ＋ｑ））＜１）である。これは、解像度を縮小する前の画像の１行分の画素を示す画素データの格納に必要な容量よりも小さい規模である。この規模は、解像度をより縮小する（ｎを大きくする）とさらに小さくなる。
【０１４７】
従って、回路規模の増大を回避しつつ、高性能の回路を用いなくても、行方向および列方向のそれぞれにおいて縮小率を変化させながら１つの画像の解像度を縮小することが可能となる。例えば縮小率が格子状に分布するように画像の解像度を縮小することができる。
【０１４８】
なお、本実施形態においては、１つの画像の解像度を縮小している途中でスケール順序配列を変更すると、その１つの画像について解像度を縮小する処理を完了させることができない。但し、解像度を縮小する対象となる画像を切り替えるタイミングでスケール順序配列を変更することは可能である。そのため、垂直同期信号に合わせて、スケール順序配列および係数表を更新することにより、例えば動画像の複数のフレーム毎に、異なる縮小率で画像の解像度の縮小を行うことができる。
【０１４９】
また、水平処理部１１および垂直処理部１３において係数表に格納された係数は、０以上１未満の２進数値である。そのため、除算することなく係数を決定することができ、除算器を必要としない分だけさらに回路規模を縮小することができる。
【０１５０】
なお、垂直処理部１３の後段に、平面処理部とその平面処理部を制御する制御部とを自己相似的に設ける構成にすれば、３次元の格子に対して解像度縮小を行うこともできる。これは、任意のＮ次元まで拡張することも可能である。
【符号の説明】
【０１５１】
１０    変換装置
１１    水平処理部
１２    水平処理制御部
１３    垂直処理部
１４    垂直処理制御部
【図２】
0005462198.tif 000002
【図３】
0005462198.tif 000003
【図５】
0005462198.tif 000004
【図６】
0005462198.tif 000005
【図７】
0005462198.tif 000006
【図８】
0005462198.tif 000007
【図１】
0005462198.tif 000008
【図４】
0005462198.tif 000009
【図９】
0005462198.tif 000010