(57)【特許請求の範囲】
【請求項１】
マトリクス状に配置された所定の画素数で構成される原画像データから前記原画像データの画素数より多くの画素から成る拡大画像データを生成する拡大画像生成装置であって、
少なくとも前記原画像データの水平方向および垂直方向のいずれかの拡大倍率を設定する拡大倍率設定手段と、
前記原画像データの各画素を、前記拡大倍率にしたがって、生成される前記拡大画像データにおいて対応する位置に配置する画素配置手段と、
設定される前記拡大倍率が奇数であるか否かを検出する拡大倍率検出手段と、前記拡大倍率が奇数である場合、生成される前記拡大画像データの画素位置を、前記拡大倍率に応じた移動量だけ、配置された前記原画像データの画素の位置に対して相対的に移動させるシフト手段と、
配置された前記原画像データの各画素に対し、前記拡大倍率に応じてフルーエンシー変換を施すことにより、前記拡大画像データを生成する拡大画像生成手段と
を備えたことを特徴とする拡大画像生成装置。
【請求項２】
前記拡大画像生成手段が、前記原画像データの各画素に対して次式に示すフルーエンシー変換を施すことにより、前記拡大画像データを生成することを特徴とする請求項１に記載の拡大画像生成装置。
【数式１】
0003655814.tif 000011
ただし、Ｆ（u ）を前記原画像データの画素値とし、ｆ（ｔ）をその出力値と定める。φ（ｔ，ｕ）は、フルーエンシー関数空間 mＳの関数であり、関数空間のｍ（１、２、３・・・・）は、微分可能性をしめすパラメータである。
【請求項３】
前記拡大画像生成手段が、前記原画像データの各画素値に対して前記フルーエンシー変換による出力値を生成し、前記拡大画像データにおける各画素の位置に対応する前記フルーエンシー変換の出力値の総和を、前記拡大画像データの画素値と定めることを特徴とする請求項２に記載の拡大画像生成装置。
【請求項４】
前記拡大画像生成手段が、水平方向へのフルーエンシー変換により、配置された前記原画像データの画素から水平方向に沿った複数の画素値を生成し、その後、前記水平方向に沿った複数の画素値に対して垂直方向へのフルーエンシー変換を施すことにより、前記拡大画像データを生成することを特徴とする請求項１もしくは請求項３に記載の拡大画像生成装置。
【請求項５】
前記シフト手段が、前記原画像データの画素に対して前記水平方向へのフルーエンシー変換が施される場合、生成される前記拡大画像データの画素位置と隣接する画素位置との間に画素が位置するように前記画素位置を水平方向に移動させ、さらに、前記水平方向に沿った複数の画素値に対して前記垂直方向へのフルーエンシー変換が施される場合、生成される前記拡大画像データの画素位置と隣接する画素位置との間に画素が位置するように前記画素位置を垂直方向に移動させることを特徴とする請求項４に記載の拡大画像生成装置。
【請求項６】
前記シフト手段が、前記拡大倍率をＺとし、前記原画像データの１つの画素に対する前記フルーエンシー変換により生成されるブロックの水平方向および垂直方向の画素数の長さを１とした時に、生成される前記拡大画像データの画素位置を、水平方向および垂直方向にそれぞれ移動量１／（２Ｚ）だけ移動させることを特徴とする請求項５に記載の拡大画像生成装置。
【請求項７】
マトリクス状に配置された所定の画素数で構成される原画像データから前記原画像データの画素数より多くの画素から成る拡大画像データを生成する拡大画像生成方法であって、
少なくとも前記原画像データの水平方向および垂直方向のいずれかの拡大倍率を設定する第１のステップと、
原画像データの各画素を、前記拡大倍率にしたがって、生成される前記拡大画像データにおいて対応する位置に配置する第２のステップと、
設定される前記拡大倍率が奇数であるか否かを検出する第３のステップと、  前記拡大倍率が奇数である場合、生成される前記拡大画像データの画素位置を、前記拡大倍率に応じた移動量だけ、配置された前記原画像データの画素の位置に対して相対的に移動させる第４のステップと、
配置された前記原画像データの各画素に対し、前記拡大倍率に応じてフルーエンシー変換を施すことにより、前記拡大画像データを生成する第５のステップと
を備えたことを特徴とする拡大画像生成方法。
【請求項８】
マトリクス状に配置された所定の画素数で構成される原画像データから前記原画像データの画素数より多くの画素から成る拡大画像データを生成する拡大画像生成処理を実行するプログラムを格納した記録媒体であって、
少なくとも前記原画像データの水平方向および垂直方向のいずれかの拡大倍率を設定し、
原画像データの各画素を、前記拡大倍率にしたがって、生成される前記拡大画像データにおいて対応する位置に配置し、
設定される前記拡大倍率が奇数であるか否かを検出し、
前記拡大倍率が奇数である場合、生成される前記拡大画像データの画素位置を、前記拡大倍率に応じた移動量だけ、配置された前記原画像データの画素の位置に対して相対的に移動させ、
配置された前記原画像データの各画素に対し、前記拡大倍率に応じてフルーエンシー変換を施すことにより、前記拡大画像データを生成することを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、少数の画素から成る原画像データを拡大し、原画像データより多くの画素から成る拡大画像データを生成する拡大画像生成装置に関する。
【０００２】
【従来の技術】
従来、少ない画素数で構成される原画像データを拡大して、より多くの画素からなる拡大画像データを生成する拡大画像生成装置が知られており、拡大処理においては、原画像データの画素に対して線形補間など補間処理が施され、これにより、拡大画像データの画素値が生成される。このような拡大画像生成装置によれば、少数の画素で構成される表示装置（ディスプレイ）に表示されるデジタル画像を、より多くの画素から成る大画面の表示装置に切り替えて表示することが可能となり、また、同一の表示装置において、原画像の一部を拡大した拡大画像を表示することもできる。
【０００３】
【発明が解決しようとする課題】
ところが、線形補間などの補間処理では、生成される拡大画像データの隣接する画素に関し、画素値の変化が滑らかにならず、精度のよい拡大画像データが生成されない。すなわち、拡大処理において、画質が劣化する。
【０００４】
本発明は、画質の劣化を抑えながら、原画像データを拡大して拡大画像データを生成する拡大画像生成装置を得ることを目的とする。
【０００５】
【課題を解決するための手段】
本発明の拡大画像生成装置は、マトリクス状に配置された所定の画素数で構成される原画像データから原画像データの画素数より多くの画素から成る拡大画像データを生成する拡大画像生成装置であって、少なくとも前記原画像データの水平方向および垂直方向のいずれかの拡大倍率を設定する拡大倍率設定手段と、原画像データの各画素を、拡大倍率にしたがって、生成される前記拡大画像データにおいて対応する位置に配置する画素配置手段と、設定される拡大倍率が奇数であるか否かを検出する拡大倍率検出手段と、拡大倍率が奇数である場合、生成される拡大画像データの画素位置を、拡大倍率に応じた移動量だけ、配置された原画像データの画素の位置に対して相対的に移動させるシフト手段と、配置された原画像データの各画素に対し、拡大倍率に応じてフルーエンシー変換を施すことにより、拡大画像データを生成する拡大画像生成手段とを備えたことを特徴とする。このように、原画像データの各画素に対してフルーエンシー変換を施すことで、画素値の変化が滑らかとなるように、拡大画像データの画素値が生成される。また、拡大倍率が奇数の時にシフト処理を施すことで、画素値の変化が滑らかとなり、画質劣化が抑えられた拡大画像データが生成される。
【０００６】
拡大画像生成手段は、原画像データの各画素に対して次式に示すフルーエンシー変換を施すことにより、拡大画像データを生成することが望ましい。
【数式２】
0003655814.tif 000002
ただし、Ｆ（u ）を原画像データの画素値とし、ｆ（ｔ）をその出力値と定める。φ（ｔ，ｕ）は、フルーエンシー関数空間 mＳの関数であり、関数空間のｍ（１、２、３・・・・）は、微分可能性をしめすパラメータである。（１）式を用いることで、離散的な値である原画像データの画素値が、連続的な値をとる出力値に変換される。
【０００７】
拡大画像生成手段は、原画像データの各画素値に対してフルーエンシー変換による出力値を生成し、拡大画像データにおける各画素の位置に対応するフルーエンシー変換の出力値の総和を、拡大画像データの画素値と定めることが望ましい。これにより、生成される拡大画像データの画素値の変化が滑らかとなる。
【０００８】
拡大画像生成手段は、水平方向へのフルーエンシー変換により、配置された原画像データの画素から水平方向に沿った複数の画素値を生成し、その後、水平方向に沿った複数の画素値に対して垂直方向へのフルーエンシー変換を施すことにより、拡大画像データを生成することが望ましい。このような変換により、原画像データの一つの画素から拡大倍率に応じた複数の画素から成るブロックが生成される。
【０００９】
シフト手段は、原画像データの画素に対して水平方向へのフルーエンシー変換が施される場合、生成される拡大画像データの画素位置と隣接する画素位置との間に画素が位置するように画素位置を水平方向に移動させ、さらに、水平方向に沿った複数の画素値に対して垂直方向へのフルーエンシー変換が施される場合、生成される拡大画像データの画素位置と隣接する画素位置との間に画素が位置するように画素位置を垂直方向に移動させることが望ましい。
【００１０】
例えば、シフト手段は、拡大倍率をＺとし、原画像データの１つの画素に対するフルーエンシー変換により生成される画素ブロックの水平方向および垂直方向の画素数の長さを１とした時に、生成される拡大画像データの画素位置を、水平方向および垂直方向にそれぞれ移動量１／（２Ｚ）だけ移動させる。この場合、原画像データの画素位置は、生成される拡大画像データの画素位置と画素位置との間に配置される。
【００１１】
【発明の実施の形態】
以下では、図面を参照して、本発明の実施形態である拡大画像生成装置について説明する。
【００１２】
図１は、拡大画像生成装置のブロック図である。拡大画像生成装置は、ＣＰＵ（図示せず）によって制御されており、画像データの拡大処理が実行される。拡大処理を実行するためのプログラムは記録媒体（図示せず）に記録されている。
【００１３】
格納メモリＭ１には、輝度データＹおよび色差データＣｂ、Ｃｒの原画像データが格納されている。この原画像データは、例えば、デジタルカメラなどにより撮影された画像に対応しており、複数の画素で構成される。輝度データＹおよび色差データＣｂ、Ｃｒの原画像データは、格納メモリＭ１において独立した領域にそれぞれ格納されており、拡大画像生成装置１０に入力されると、それぞれ別々に拡大処理される。
【００１４】
拡大画像生成装置１０は、拡大倍率設定部１１、シフト処理部１２、フルーエンシー変換部１３から構成されており、原画像データの画素数より多い画素数で構成される拡大画像データを生成する。
【００１５】
拡大倍率設定部１１では、オペレータによるスイッチ（図示せず）の操作もしくは外部からの制御装置（図示せず) により、原画像データに対する拡大画像データの拡大倍率が設定される。本実施形態では、拡大倍率を整数倍とする。
【００１６】
シフト処理部１２では、原画像データの各画素が、拡大画像データにおいて対応する位置に配置される。そして、拡大倍率が奇数である場合、原画像データの各画素に対してシフト処理が施される。一方、拡大倍率が偶数である場合、原画像データの各画素に対しシフト処理は施されない。なお、シフト処理については、後で詳述する。
【００１７】
フルーエンシー変換部（拡大画像生成部）１３では、原画像データの各画素に対してフルーエンシー変換が施され、これにより、拡大画像データが生成される。生成された拡大画像データは、格納メモリＭ２に送られる。
【００１８】
輝度データＹおよび色差データＣｂ，Ｃｒの拡大画像データは、外部の表示装置などに送られ、これにより、原画像データの画素数よりも多くの画素で構成される拡大画像データが、画像として表示装置に表示される。
【００１９】
図２は、原画像データに対する拡大処理を示した図である。
【００２０】
原画像データＰは、Ａ×Ｃの画素数から成り、水平方向にＡ個、垂直方向にＣ個の画素がマトリクス状に並んでいる。ここでは、原画像データＰの左上隅を原点として水平方向にｘ座標（０≦ｘ＜Ａ）、垂直方向にｙ座標（０≦ｙ＜Ｃ）を設定する。例えば、水平方向に沿ってｓ番目、垂直方向に沿ってｔ番目に位置する画素は、Ｐtsと表される。
【００２１】
原画像データＰの各画素Ｐyxに対し、拡大倍率（３倍）にしたがって、フルーエンシー変換がそれぞれ水平方向および垂直方向に施される。ただし、本実施形態における拡大倍率は、水平方向、垂直方向それぞれに対する拡大率を示す。例えば、画素Ｐtsに対し、まず水平方向へのフルーエンシー変換が施され、水平方向に沿って３つの画素から成る画素ブロックＩが生成される。さらに、垂直方向へのフルーエンシー変換が３つの生成された画素に対して施され、これにより、３×３＝９個の画素から成るブロックＢ０が生成される。
【００２２】
そして、原画像データＰのすべての画素Ｐyxに対してフルーエンシー変換が施されることにより、３×３＝９個の画素からなるブロックＢから構成される拡大画像データＪが生成される。ブロックＢの位置は、拡大画像データＪにおいて、フルーエンシー変換の対象となった原画像データＰの画素Ｐyxの位置に対応している。例えば、ブロックＢ０の位置は、原画像データＰの画素Ｐtsの位置に対応しており、拡大画像データＪにおいて、水平方向にｓブロック目、垂直方向にｔブロック目に位置する。なお、拡大画像データＪにおいて、ブロックＢ０以外のブロックをここではＢとして表す。
【００２３】
ブロックＢ０内における画素の位置を示すため水平方向にｘ’（０≦ｘ’≦２）、垂直方向にｙ’（０≦ｙ’≦２）の座標を設定し、ブロックＢ０内における各画素をＩ’y'x'と表す。拡大画像データＪの画素ＪyxとＩ’y'x'とは、次式の関係を満たす。
【数式３】
0003655814.tif 000003
【００２４】
このように、各画素Ｐyxは、フルーエンシー変換が施される場合、生成さる拡大画像データＪの対応する位置、すなわち、生成されるブロックＢの中心位置に配置される。
【００２５】
原画像データＰの１つの画素Ｐyxから水平方向および垂直方向にそれぞれ３倍した９個の画素ブロックＢが生成されることから、拡大画像データＪの水平方向の画素数および垂直方向の画素数は、それぞれ３Ａ、３Ｃとなる。拡大倍率が水平方向および垂直方向に関する拡大率であることから、生成されるブロックＢの画素数は拡大倍率の２乗となる。
【００２６】
このように、Ａ×Ｃの原画像データＰは、拡大倍率が３倍でのフルーエンシー変換により、３Ａ×３Ｃの拡大画像データＪに変換される。
【００２７】
図３〜図６を参照して、フルーエンシー変換について説明する。フルーエンシー変換は、フルーエンシー（Fluency)関数に基づいた変換であるので、フルーエンシー関数空間およびフルーエンシー関数を最初に説明し、その後、直交変換であるフルーエンシー変換について述べる。
【００２８】
フルーエンシー関数は、様々な信号を適切に表現できる関数として従来知られており、例えば、「数理科学No.363, pp8-12(1993)」（以下、文献１という）に開示されている。
【００２９】
まず、フルーエンシー関数の関数空間について定義する。下に示すように、（３）式で示される矩形関数により生成される階段状関数からなる関数を（４）式で示すとき、関数空間 mＳは、（５）式で定義される。ただし、（４）式のｂn は、係数である。
【００３０】
【数式４】
0003655814.tif 000004
【００３１】
関数空間 mＳのｍは、（ｍ−２）回連続微分可能な高々（ｍ−１）次の区分的多項式から関数が成り立っていることを意味する。また、（５）式では、畳み込み積分が施されていることを示している。
【００３２】
この一連の関数空間 mＳが、連続微分可能性ｍをパラメータとして、階段状関数空間（ｍ＝１）からフーリエ帯域制限関数空間（ｍ→∞）までを結びつける関数空間となっている。関数空間 mＳを特徴づけるインパルス応答に相当する関数系は、標本化基底とその双直交基底の組として双直交標本化定理により導出されており、この定理において、任意の関数ｆ∈ mＳは、標本値ｆn : ＝ｆ（ｎ）に対して、（６）、（７）式を満たす。
【００３３】
【数式５】
0003655814.tif 000005
【００３４】
（６）式は、標本値から導出されたフルーエンシー変換関数を示し、標本値列を展開係数とする関数の展開形式を表している。また、（７）式は、フルーエンシー変換関数から導出されたフルーエンシー逆変換関数を示しており、関数からその標本値列を得る作用素を積分変換の形式で表している。なお、ｐは任意の変数である。また、φの上部に示されたバー（横線）は、φの共役複素数をとることを示している。
【００３５】
また、関数空間 mＳにおいて、ｍを無限大とする極限でフーリエ変換に一致するという意味での周波数概念の一般化を与え、 mＳの高調波構造を特徴付ける直交変換は、フルーエンシー直交変換定理により導入されており、この定理において、任意の関数ｆ∈ mＳは、（８）、（９）式を満たす。ただし、φ（ｔ，ｕ）は、 mＳの関数であり、Dirac のδ関数を用いて表される。なお、ｕは、任意の変数である。
【００３６】
【数式６】
0003655814.tif 000006
【００３７】
本実施形態では、（８）式をフルーエンシー直交変換、（９）式をフルーエンシー直交逆変換として表す。このような双直交標本化定理や直交変換などを含めた枠組みを、フルーエンシー解析と呼ぶ。
【００３８】
（８）式のフルーエンシー直交変換は、離散的なサンプル（標本値）を連続的な関数値に変換させることが可能である。そこで、本実施形態では、直交変換であるフルーエンシー変換（８）式を利用して、原画像データに拡大処理を施す。すなわち、原画像データの各画素値に対して（８）式のフルーエンシー変換を適用し、出力される連続的な関数値に基づいて拡大画像データを生成する。
【００３９】
そこで、まず具体的にパラメータｍの値を設定した時のフルーエンシー関数を示す。
【００４０】
関数空間 mＳにおいて、パラメータｍを順次１、２・・・としたときのフルーエンシー関数を求めていく。フルーエンシー関数の最も簡単な関数系は、（３）式で示した矩形関数χ（ｔ）を（４）式のｆ（ｔ）∈ 1Ｓとし、このｆ（ｔ）を（５）式における関数ｇ∈ 1Ｓとした関数である。すなわち、入力値として矩形関数の代わりにδ関数を用いることで出力ｆ（ｔ）∈ 1Ｓを矩形関数とし、（５）式において関数空間 m-1Ｓから関数空間 mＳへの変換のために施される畳み込みの関数にｆ（ｔ）を適用させる。
【００４１】
入力値（標本値）χn を、ｔ＝τの時に１、それ以外のときに０であるδ関数とする（図３参照）。ｍ＝１の場合、その出力であるフルーエンシー関数は、次式で表される。
【００４２】
【数式７】
0003655814.tif 000007
【００４３】
ｍ＝１でのフルーエンシー関数は、図３で示すように、矩形関数になる。そして、パラメータｍ＝２である時のフルーエンシー関数は、次式で示すように、この矩形関数とｆ（ｔ）との畳み込み積分により求められる。求められるフルーエンシー関数ｇ（ｔ）は、図４に示すように、三角形状関数となる。
【００４４】
【数式８】
0003655814.tif 000008
【００４５】
パラメータｍ＝３、４・・・のときも同様に畳み込み積分が施される。すなわち、パラメータ（ｍ−１）におけるフルーエンシー関数と（１０）式のｆ（ｔ）との畳み込み積分が施されると、 m-1Ｓの関数空間が mＳの関数空間に変換され、これにより、パラメータｍにおけるフルーエンシー関数が生成される。
【００４６】
例えば、パラメータｍ＝３の時、（１１）式で求められたｇ（ｔ）とｆ（ｔ）との畳み込み積分が施されることにより、図４に示すような曲線状のフルーエンシー関数ｈ（ｔ）が求められる。フルーエンシー関数ｈ（ｔ）は、次式で表される。
【００４７】
【数式９】
0003655814.tif 000009
【００４８】
このように、パラメータｍの値を変えていくことにより、フルーエンシー関数は様々な関数に変化する。図３、４で示された、ｍ＝１、２、３におけるフルーエンシー関数は、（６）式におけるφ（ｔ）の例となる基本的関数であり、文献１にも開示されている。そして、本実施形態では、これら具体的に示されたフルーエンシー関数に基づくフルーエンシー変換を、原画像データＰに対して施す。
【００４９】
なお、関数空間 m-1Ｓから mＳへの変換において、図３に示すｆ（ｔ）を畳み込みにそのまま使用すると、ｔ＝τで関数値が入力値の１とならない。そこで、本実施形態では、関数空間 m-1Ｓから関数空間 mＳへの変換時（ｍ≧３）において畳み込みに使用されるｆ（ｔ）を、図３ではなく図５に示すような形状の関数を使用する。例えば、ｍ＝３のとき、ｆ（ｔ）は、次式で表される。
【００５０】
【数式１０】
0003655814.tif 000010
【００５１】
関数ｆ（ｔ）は、面積が１になるように正規化されており、これにより、フルーエンシー関数は、正規系をなす。したがって、ｔ＝τの値は、常に１となる。
【００５２】
図６は、原画像データＰの画素Ｐyxの値およびそれに対応する拡大画像データＪの画素Ｊyxの値をそれぞれグラフで示した図である。ここでは、フルーエンシー変換による画素値生成を説明するため、水平方向へのフルーエンシー変換を示す。ただし、拡大倍率は８倍であり、生成されるブロックは、８×８＝６４個の画素から構成される。
【００５３】
一例として、原画像データＰにおいて互いに値が異なった隣接する３つの画素Ｐts-1、Ｐts、Ｐts+1に対し、水平方向へのフルーエンシー変換を適用する。すなわち、３つの画素に対して、（８）式に示すフルーエンシー直交変換を適用させる。ただし、入力値Ｆ（ｕ）が、それぞれ画素Ｐts-1、Ｐts、Ｐts+1の値となる。
【００５４】
出力となるｆ（ｔ）は、図３、図４で示したフルーエンシー関数に対応する。すなわち、フルーエンシー直交変換により、サンプルである画素値が連続的に値をとる関数値に変換される。
【００５５】
パラメータｍ＝１の場合、フルーエンシー変換による出力ｆ（ｔ）は、矩形関数となり、生成されるブロックＩの水平方向の８つの画素値は、それぞれ同じ値となる。本実施形態では、この矩形関数の出力範囲Ｌを、拡大倍率と対応させており、この図では、生成される水平方向の８つの画素値の範囲に対応する。
【００５６】
パラメータｍ＝１であれば、画素Ｐts-1、Ｐts+1に対するフルーエンシー変換の出力ｆs-1 、ｆs+1 は、ブロックＢ０における画素値算出に影響しない。なお、画素Ｐts-1、Ｐts、Ｐts+1に対する水平方向へのフルーエンシー変換により生成される各画素を、それぞれ縦棒線Ｑで示す。
【００５７】
パラメータｍ＝２の場合、３つの画素Ｐts-1、Ｐts、Ｐts+1の値がそれぞれ（８）式によりフルーエンシー変換されると、出力ｆ（ｔ）は、図６で示すように、それぞれｆs-1 、ｆs 、ｆs+1 となる。この場合、各出力の出力範囲において、お互いに重なり合う部分が存在し、生成されるブロックＩの画素値は、対応する各出力ｆs-1 、ｆs 、ｆs+1 の出力値を加算した値となる。つまり、ブロックＩにおける各画素の位置に応じたそれぞれの出力値の総和を、その位置における画素値として算出する。
【００５８】
さらにパラメータｍの値が大きくなると、フルーエンシー変換による出力ｆ（ｔ）の出力範囲はより広くなり、ブロックＩの各画素値は、画素Ｐts-1、Ｐts+1だけでなく、それ以外の周辺画素に対するフルーエンシー変換の出力値に基づいて算出される。
【００５９】
このように、原画像データＰの画素Ｐyxに対して（８）式で示すフルーエンシー変換を水平方向に適用させることで、水平方向に沿って画素が生成される。したがって、原画像データＰの各画素Ｐyxに対して水平方向、垂直方向に沿って順次フルーエンシー変換を施すことにより、離散的に配置されたサンプル（原画像データの画素値）からサンプル間の画素値が生成（補間）され、拡大画像データの各画素Ｊyxの生成が可能となる。このとき、パラメータｍの値に応じて、画素Ｊyxの値も変化する。
【００６０】
図７〜図１０を用いて、フルーエンシー変換による拡大画像データＪの生成について説明する。ただし、拡大倍率は８倍である。
【００６１】
図７は、原画像データＰ（特に、画素Ｐts）に対する水平方向のフルーエンシー変換を示した図である。本実施形態では、パラメータｍを１〜３の範囲で設定する。水平方向へのフルーエンシー変換により生成されるブロックＩの水平方向の各画素値を算出するのに必要となる画素Ｐtsの周辺画素を、それぞれｂ、ｃ、ｄ、ｅで表す。また、ブロックＩにおける画素位置を、左から０、１、２・・・７の順番で示す。
【００６２】
まず、原画像データＰの各画素Ｐyxを、生成される拡大画像データＪにおいて対応する位置に配置する。すなわち、各ブロックＢ（Ｂ０）の中心（水平方向へのフルーエンシー変換により生成されるブロックＩの中心）に位置に画素Ｐyxを配置する。この画素配置が施された後、所定のパラメータｍによるフルーエンシー変換が水平方向に施される。例えば、画素Ｐtsは、生成されるブロックＩ内の水平方向の中心（３番目と画素位置と４番目の画素位置との間）においてフルーエンシー変換される。これにより、水平方向に沿った８つの画素が求められる。同じように、画素ｂ、ｃ、ｄ、ｅを含む他の画素に対しても、生成されるブロックＩの水平方向の中心（ブロックＢの中心）においてフルーエンシー変換が施される。
【００６３】
図８は、水平方向に生成される８つの画素値を算出する式を示した表Ｔ０である。この表Ｔ０では、パラメータｍが１〜３の時の画素値を求める算術式をそれぞれ示しており、これらの式は、（８）式に基づいて得られる。なお、生成される８つの画素値を、画素位置０〜７に対応するように、それぞれＩ０、Ｉ１、Ｉ２、・・・Ｉ７と表す。
【００６４】
図８に示すように、パラメータｍ＝１の場合、すべての画素値Ｉ０、Ｉ１・・・Ｉ７が、原画像データＰの画素Ｐtsの値となる。一方、パラメータｍ＝２の場合、画素ｃ、Ｐts、ｄに対するフルーエンシー変換により得られるそれぞれの出力値に基づいて、８つの水平方向の画素値（Ｉ０〜Ｉ７）が求められる。パラメータｍ＝３の場合は、画素ｂ、ｃ、Ｐts、ｄ、ｅに対するフルーエンシー変換により得られるそれぞれの出力値に基づいて、水平方向の８つの画素値が求められる。ただし、各画素の値を、ここでは画素と同じ符号ｂ、ｃ、Ｐts、ｄ、ｅとして表す。
【００６５】
このような水平方向のフルーエンシー変換が原画像データＰの各画素Ｐyxに対して施されると、次に、各画素値から生成された水平方向の８つの画素値に対し、垂直方向のフルーエンシー変換が施される。
【００６６】
図９は、水平方向へのフルーエンシー変換により生成された８つの画素値（特に、Ｉ０〜Ｉ７）に対する垂直方向へのフルーエンシー変換を示した図である。ブロックＢ０における垂直方向の各画素の位置にも、それぞれ０〜７の順序を設定する。パラメータｍの範囲が１〜３であるフルーエンシー変換を考慮して、ブロックＢ０における各画素の値を求めるのに必要となる周辺画素を、ｂ、ｃ、ｄ、ｅに加え、それぞれｆ、ｇ、ｈ、ｋとする。
【００６７】
原画像データＰの各画素Ｐyxに対して水平方向にフルーエンシー変換が施されているため、画素ｆ、ｇ、ｈ、ｋに関しても、水平方向に８つの画素値が算出されている。例えば、原画像データＰの画素ｇの値に基づいて、水平方向に画素値ｇ０、ｇ１、ｇ２・・・ｇ７がそれぞれ生成されている。
【００６８】
生成された水平方向の８つの画素値Ｉ０〜Ｉ７に対し、それぞれ垂直方向にフルーエンシー変換が施される。このとき、画素値Ｉ０〜Ｉ７は、生成されるブロックＢ０の垂直方向に沿った中心（３番目と４番目の画素位置の間）に位置している。他の画素ｆ０〜ｆ７、ｇ０〜ｇ７、ｈ０〜ｈ７、ｋ０〜ｋ７に対しても、生成される各ブロックＢにおいて同様な位置に配置された状態で、垂直方向へのフルーエンシー変換が施される。
【００６９】
垂直方向へのフルーエンシー変換が施されると、８×８＝６４個の画素からなるブロックＢ０が生成される。生成されるブロックＢ０の各画素値をＩ’y'x'（０≦ｘ’≦７、０≦ｙ’≦７）と示すと、各画素値Ｉ’y'x'は、図８で示された算術式により求められる。ただし、画素値ｂ、ｃ、Ｐts、ｄ、ｅの代わりに、それぞれ画素値ｆ０〜ｆ７、ｇ０〜ｇ７、Ｉ０〜Ｉ７、ｈ０〜ｈ７、ｋ０〜ｋ７が用いられる。
【００７０】
図１０では、パラメータｍが１〜３の設定範囲において、水平方向に沿って７番目に位置する８つの画素値Ｉ’y'7 （ｙ’＝０〜７）を求める算術式を示した表Ｔ０’を示している。例えば、パラメータｍ＝２の場合、８つの画素値Ｉy'7 （ｙ’＝０〜７）は、３つ画素値ｇ７、Ｉ７、ｈ７の値に基づいてそれぞれ求められる。
【００７１】
このように、水平方向、垂直方向のフルーエンシー変換により、画素Ｐtsから８×８＝６４個の画素から成るブロックＢ０が生成される。フルーエンシー変換が原画像データＰのすべての画素Ｐyxに対して施されることによって、拡大画像データＪが生成される。
【００７２】
図１１〜図１６を用いて、シフト処理部１２（図１参照）において施されるシフト処理について説明する。
【００７３】
図１１は、拡大倍率が奇数であるときの水平方向のフルーエンシー変換を示した図である。ここでは、拡大倍率を３倍とする。
【００７４】
水平方向のフルーエンシー変換が実行される場合、原画像データＰの各画素Ｐyxは、生成されるブロックの中心位置に配置されている。したがって、拡大倍率が３倍である場合、例えば画素Ｐtsは、生成されるブロックＩにおいて水平方向に沿って１番目の画素の位置に配置される。同じように、画素Ｐtsの周辺画素ｂ、ｃ、ｄ、ｅも、各ブロックにおける中心に配置されている。
【００７５】
図１２は、水平方向へのフルーエンシー変換により生成される水平方向に沿った３つの画素値Ｉ０〜Ｉ２を求める算術式を示した表Ｔ１である。この表Ｔ１に示すように、パラメータｍが２、３であっても、画素値Ｐtsがそのまま画素値Ｉ１になる。すなわち、周辺画素値ｂ、ｃ、ｄ、ｅなどに対するフルーエンシー変換による出力は、対応する位置（ブロックＩにおける１番目の画素位置）においてすべて０となる。そして、他のブロックにおいて、画素ｂ、ｃ、ｄ、ｅが配置されている中心位置において生成される画素値（ｂ１、ｃ１、ｄ１、ｅ１）も、同様に、そのまま画素値ｂ、ｃ、ｄ、ｅとなる。
【００７６】
図１３は、垂直方向へのフルーエンシー変換を示した図である。図１３に示すように、垂直方向に沿ったフルーエンシー変換が施されると、３×３＝９個のブロックＢ０が生成される。生成される画素値Ｉ’11は、そのまま画素値Ｉ１、すなわち画素値Ｐtsと等しい。また、画素値Ｉ’10およびＩ’12も、それぞれ画素値Ｉ０、Ｉ２と等しくなる。
【００７７】
一般的に、拡大倍率が奇数である場合、原画像データＰの各画素Ｐyxの値は、生成される拡大画像データＪの各ブロックＢ（Ｂ０）の中で中心に位置する画素Ｊyxの値と等しくなる。したがって、生成される拡大画像データＪには、原画像データＰの画素値Ｐyxに等しい画素値Ｊyxが原画像データＰの画素数だけ存在する（この画素値Ｊyxを、以下では節点という）。
【００７８】
このようにフルーエンシー変換により生成される各ブロックＢ（Ｂ０）の中で中心位置にある画素値がそのまま原画像データＰの各画素Ｐyxの値となるのは、図４で示したフルーエンシー関数の特性による。
【００７９】
ところで、拡大画像データＪは、原画像データＰの各画素Ｐyxをフルーエンシー変換し、各画素間の値を補間（生成）することにより生成される。そのため、各画素間の変化量が少ない、すなわち、隣接する画素Ｊyxの値が滑らかに変化するほど、拡大画像データＪの画質が高い。
【００８０】
しかしながら、拡大画像データＪに節点が存在する場合、節点を中心とする画素間の画素値変化は、節点が存在しない場合（拡大倍率が偶数）に比べて、滑らかでない。例えば、図１２の表Ｔ１で示す画素値Ｉ０、Ｉ１、Ｉ２の変化は、図８の表Ｔ０で示す画素値Ｉ２、Ｉ３，Ｉ４、Ｉ５の変化に比べて滑らかでない。また、水平方向へのフルーエンシー変換によって生成される水平方向の画素値が垂直方向へのフルーエンシー変換によって生成される各ブロックＢにおいて対応する画素値と等しくなるため（例えば、Ｉ０とＩ’10）、垂直方向に沿った画素間の画素値変化も滑らかでなくなる。したがって、拡大倍率が奇数倍において生成される拡大画像データＪの画質は、偶数倍の拡大画像データＪに比べて落ちる。
【００８１】
そこで、本実施形態では、原画像データＰに対して奇数倍でのフルーエンシー変換処理を施す場合、生成される拡大画像データＪの各画素の位置を、配置された原画像データＰの各画素Ｐyxに対し、相対的に移動させる。なお、本実施形態では、生成される拡大画像データＪの画素間の画素値変化を滑らかにするため、パラメータｍの設定範囲を２以上とする。
【００８２】
図１４は、水平方向に沿ったフルーエンシー変換におけるシフト処理を示した図である。
【００８３】
図１４に示すように、シフト処理において、生成される各ブロックＩにおける水平方向の各画素位置を、移動量ΔＳだけ水平右方向に全体的にシフトする（ずらす）。この右シフト処理により、例えば画素Ｐtsは、ブロックＩにおいて、画素位置０’番と１’番の間の位置に移動する。ここでの移動量ΔＳは、生成される各ブロックＩ、すなわち拡大画像データＪを構成する各ブロックＢの長さを１とした場合、１／６である。
【００８４】
図１５は、水平方向へのフルーエンシー変換により生成される水平方向の３つの画素値Ｉ０〜Ｉ２の値を示した表である。この表Ｔ２と図１２に示した表Ｔ１とを比べることでわかるように、シフト処理が施されることで、節点となる画素値（＝Ｐts）が存在しなくなる。
【００８５】
図１６は、垂直方向に沿ったフルーエンシー変換時におけるシフト処理を示している。ただし、ここでは、生成されるブロックＢ０のうち、画素値ｆ０、ｇ０、ｈ０、Ｉ０、ｋ０に基づいて生成される画素部分のみ示している。
【００８６】
垂直方向のシフト処理では、生成される各ブロックＢ（Ｂ０）における各画素位置が、垂直下方向に移動量ΔＳだけそれぞれシフトされる。例えば、水平方向へのフルーエンシー変換により生成された画素値Ｉ０は、ブロックＢ０において、垂直方向に沿った０’番目の画素位置と１’番目の画素位置の間に移動する。
【００８７】
このような水平方向および垂直方向へのシフト処理が施された場合、生成される各ブロックＢ内において節点は存在せず、各ブロックＢ内において画素Ｊyxの値は、滑らかに変化する。
【００８８】
図１７は、原画像データＰに対するフルーエンシー変換のプログラムを示したフローチャートである。
【００８９】
ステップ１０１では、原画像データＰの各画素Ｐyxが、生成される拡大画像データＪにおいて対応する位置（各ブロックの中心）にそれぞれ配置される。
【００９０】
ステップ１０２では、設定された拡大倍率Ｚが奇数であるか否かが判定される。
【００９１】
ステップ１０２において、拡大倍率Ｚが奇数であると判定されるとステップ１０３に移る。ステップ１０３では、生成される拡大画像データＪの各画素の位置が、全体的に水平右方向に移動量ΔＳだけシフトされる。拡大倍率をＺとし、生成される拡大画像データＪの１つのブロックＢの大きさを１としたとき、移動量ΔＳは、１／（２Ｚ）となる。水平方向にシフト処理が施されると、ステップ１０４に移る。
【００９２】
ステップ１０４では、原画像データＰに対して水平方向にフルーエンシー変換が施され、これにより、水平方向に拡大倍率Ｚの数だけ画素値が生成される。水平方向へのフルーエンシー変換が施されると、ステップ１０５に移る。
【００９３】
ステップ１０５では、生成される拡大画像データＪの各ブロックＢの画素位置が、全体的に垂直下方向に移動量ΔＳ（＝１／（２Ｚ））だけシフトされる。そして、ステップ１０６では、ステップ１０４において生成された水平方向の画素値に対して垂直方向へのフルーエンシー変換が施され、これにより、拡大倍率に応じた画素数から成るブロックＢが生成され、拡大画像データＪが生成される。拡大画像データＪが生成されると、このプログラムは終了する。
【００９４】
ステップ１０２において、拡大倍率Ｚが奇数倍ではない、すなわち偶数倍であると判断されると、ステップ１０７に移る。
【００９５】
ステップ１０７の実行は、ステップ１０３における実行と同じであり、また、ステップ１０８における実行は、ステップ１０６の実行と同じである。すなわち、原画像データＰの各画素Ｐyxに対して水平方向、垂直方向へのフルーエンシー変換が施され、これにより、拡大画像データＪが生成される。ステップ１０８が実行されると、このプログラムは終了する。
【００９６】
以上のように本実施形態によれば、原画像データＰの各画素Ｐyxに対してフルーエンシー変換が施され、これにより、拡大画像データＪが生成される。このように、拡大処理においてフルーエンシー変換を適用させることにより、各画素間の画素値の変化が滑らかとなり、原画像データＰから拡大画像データＪへの拡大処理過程において、画質が劣化しない。
【００９７】
拡大倍率が奇数である場合、生成される拡大画像データＪの画素位置を、配置された原画像データＰの各画素Ｐyxの位置に対し、拡大倍率に応じた移動量ΔＳだけ移動させる。これにより、原画像データＰの画素Ｐyxの値がそのまま拡大画像データＪの画素Ｊyxの値となる節点は存在しなくなり、生成される拡大画像データＪにおける各画素間の画素値の変化は、滑らかとなる。すなわち、原画像データＰから拡大画像データＪの生成において、画質劣化が抑えられる。
【００９８】
なお、本実施形態では、水平方向へのシフト処理を右方向、垂直方向へのシフト処理を下方向としているが、代わりに、左方向、上方向にシフト処理を施してもよい。また、拡大処理は、水平方向、垂直方向それぞれについて実施する代わりに、水平方向のみ、あるいは垂直方向のみに対して実施してもよい。
【００９９】
【発明の効果】
以上のように本発明によれば、画質の劣化を抑えながら、原画像データを拡大して拡大画像データを生成することができる。
【図面の簡単な説明】
【図１】本実施形態である拡大画像生成装置の電気的回路を示したブロック図である。
【図２】原画像データに対するフルーエンシー変換処理を示した図である。
【図３】フルーエンシー関数を示した図である。
【図４】フルーエンシー関数を示した図である。
【図５】正規化されたフルーエンシー関数を示した図である。
【図６】フルーエンシー変換を示した図である。
【図７】水平方向へのフルーエンシー変換を示した図である。
【図８】生成される水平方向の画素値を求める算術式を示した表である。
【図９】垂直方向へのフルーエンシー変換を示した図である。
【図１０】生成される垂直方向の画素値を求める算術式を示した表である。
【図１１】拡大倍率が奇数での水平方向へのフルーエンシー変換を示した図である。
【図１２】生成される水平方向の画素値を求める算術式を示した表である。
【図１３】拡大倍率が奇数での垂直方向へのフルーエンシー変換を示した図である。
【図１４】水平右方向へのシフト処理を示した図である。
【図１５】生成される水平方向の画素値を求める式を示した表である。
【図１６】垂直下方向へのシフト処理を示した図である。
【図１７】  シフト処理およびフルーエンシー変換処理動作を示したフローチャートである。
【符号の説明】
１０  拡大画像生成装置
１１  拡大倍率設定部
１２  シフト処理部
１３  フルーエンシー変換部（拡大画像生成部）
Ｊ    拡大画像データ
Ｐ    原画像データ
ΔＳ  移動量
Ｚ    拡大倍率
【図１】
0003655814.tif 000012
【図２】
0003655814.tif 000013
【図３】
0003655814.tif 000014
【図４】
0003655814.tif 000015
【図５】
0003655814.tif 000016
【図６】
0003655814.tif 000017
【図７】
0003655814.tif 000018
【図８】
0003655814.tif 000019
【図９】
0003655814.tif 000020
【図１０】
0003655814.tif 000021
【図１１】
0003655814.tif 000022
【図１２】
0003655814.tif 000023
【図１３】
0003655814.tif 000024
【図１４】
0003655814.tif 000025
【図１５】
0003655814.tif 000026
【図１６】
0003655814.tif 000027
【図１７】
0003655814.tif 000028