(57)【特許請求の範囲】
【請求項１】
デジタル原画像を、指定された変換倍率に応じて異なる画素数のデジタル画像に変換する解像度変換装置において、
前記デジタル原画像の予め定めた画素数のブロックごとに、前記デジタル原画像の前記ブロックに対して補間する補間画素の補間位置を前記変換倍率に応じて決定する決定手段と、
前記デジタル原画像の前記ブロックごとに、当該ブロックのそれぞれの画素の画素位置および画素データにより係数が決定される予め定めた補間式に従って、前記決定手段により決定される前記補間位置に補間する画素の画像データを生成し、前記デジタル原画像の画素の画像データと当該生成した補間する画素の画像データとから変換後のデジタル画像を出力する生成部と、を有し、
前記決定手段は、前記補間位置の少なくとも一つを、当該補間するブロックと隣接するブロックとの画素間に設けるように決定し、
前記生成手段は、前記補間する画素の画素データを、当該補間するブロックに隣接する画素の画素位置と画素データとをさらに用いて前記補間式の係数を決定することにより生成することを特徴とする解像度変換装置。
【請求項２】
請求項１において、前記補間式は、スプライン関数であることを特徴とする解像度変換装置。
【請求項３】
請求項１において、前記補間式は、ベジェ関数であることを特徴とする解像度変換装置。
【請求項４】
請求項１において、前記決定手段は、前記変換倍率を、水平方向と垂直方向との変換倍率とし、
前記生成部は、前記補間する画素の画像データの生成を、前記水平方向について行う水平方向生成手段と、前記垂直方向について行う垂直方向生成手段とを備えることを特徴とする解像度変換装置。
【請求項５】
デジタル原画像を、指定された変換倍率に応じて異なる画素数のデジタル画像に変換する解像度変換装置において、
前記デジタル原画像の予め定めた画素数のブロックごとに、前記デジタル原画像の前記ブロックに対して補間する補間画素の補間位置を前記変換倍率に応じて決定する決定手段と、
前記デジタル原画像の前記ブロックごとに、当該ブロックのそれぞれの画素の画素位置および画素データと、当該ブロックに隣接する画素の画素位置および画素データとにより係数が決定される予め定めた補間式に従って、前記決定手段により決定される前記補間位置に補間する画素の画像データを生成し、前記デジタル原画像の画素の画像データと当該生成した補間する画素の画像データとから変換後のデジタル画像を出力する生成部とを有することを特徴とする解像度変換装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、文字、グラフィックス、自然画像で構成した静止画像や動画像のデジタル画像情報を異なる画素数の画像情報に変換して、ディスプレイに表示する解像度変換装置に係り、特に、マルチメディアの動画像表示において、入力した画像情報を異なる解像度を有する表示装置やウインドウ環境で表示するのに良好な解像度変換装置および解像度変換方法に関する。
【０００２】
【従来の技術】
デジタル画像の解像度変換において、原画像の画素数を増やす場合、同じ表示装置上であれば原画像の拡大表示となる。よって、ウインドウの拡大表示等に有効である。また、原画像の解像度に比べて高い解像度を有する表示装置に表示することが可能になる。そこで、最も簡単な方法としては、原画像の１画素に対して、同一画素を水平方向および垂直方向に埋めていくことで原画像の画素数を増やす方法がある。
【０００３】
また、特開平６−１２４１８９号公報に記載されている「画像表示装置および画像表示制御方法」には、原画像の水平方向と垂直方向との画素データの平均化を行い、原画像の画素数を減らす方法がある。この方法は、従来技術として知られている直線描画アルゴリズムを用いて描画し、原画像の直線は、少なくとも１ドット以上のｙ個の水平成分でそれぞれ表され、縮小の場合、直線の傾きは４５度以下となる。各水平成分の長さは、ＶＲＡＭに書き込む縮小スケーリング後の１画素データに対応する画像入力の画素データの個数を表すと考えることができる。各水平成分の長さは異なる場合もあるし、全て同一の場合も存在するが、ｎドット分の画素データの平均化を行うことで、水平方向の縮小スケーリングを行っている。垂直方向についても同様である。この直線の傾きを４５度以上にすることにより、拡大処理が可能となり、水平方向、垂直方向の拡大スケーリングを行っている。
【０００４】
また、単純に同一画素を埋めるのではなく、埋めていく際に、図１８および図２２に示すように、原画像の画素間の階調値を直線で結ぶように補間画素の階調値を算出し、画素を埋めていくことで原画像の画素数を増やす方法が従来からある。図１８および図２２には、水平方向の各画素位置における階調値を示している。
【０００５】
さらに、原画像を任意に解像度変換する方法を図１７に示す。１７０１は、原画像データであり、１７０２は、原画像を縦にＬ１倍、横にＭ１倍する処理を示し、１７０３は、拡大された画像データである。１７０４は、拡大された画像データを縦に１／Ｌ２倍、横に１／Ｍ２倍する処理を示し、１７０５は、縮小された画像データである。ここで、Ｌ１、Ｌ２、Ｍ１およびＭ２は、正の整数である。この処理は、Ｌ１＞Ｌ２，Ｍ１＞Ｍ２ならば、画像の拡大に、またＬ１＜Ｌ２，Ｍ１＜Ｍ２ならば、画像の縮小に相当する。このように、画像サイズの拡大処理と縮小処理とを組み合わせることにより、画像サイズをより自由に変換できる。
【０００６】
【発明が解決しようとする課題】
《課題１》上記従来方法の原画像の画素数を増やす場合、原画像の１画素に対して、同一画素を水平方向および垂直方向に埋めていくことで原画像の画素数を増やす方法では、モザイク状のギザギザが目立つ画像となり、画質が劣化する問題がある。
【０００７】
《課題２》上記従来方法の原画像の画素数を増やす場合、単純に同一画素を埋めるのではなく、埋めていく際に、図１８や図２２に示すように、原画像の両端画素の階調値を直線で結ぶように補間画素の階調値を算出し、画素を埋めていくことで原画像の画素数を増やす方法では、モザイク状のギザギザが目立つ画像とはならないが、濃淡の境界がはっきりとした画像の輪郭部分等の高周波成分が平滑化されて、画像全体がぼやけてしまう問題がある。
【０００８】
《課題３》上記従来方法の原画像の画素数を増やす場合、画像サイズの拡大処理と縮小処理とを組み合わせることにより、画像サイズをより自由に変換する方法では、画像の拡大処理を行ってからから縮小処理を行うので、解像度変換処理に時間がかかるという問題がある。
【０００９】
そこで、本発明の第１の目的は、原画像の画素数を増やす解像度変換において、モザイク状のギザギザが目立つ画像を防止し、高品質な画像を実現することである。
【００１０】
また、本発明の第２の目的は、原画像の画素数を増やす解像度変換において、濃淡の境界がはっきりとした画像の輪郭部分等の高周波成分を保存し、高品質な画像を実現することである。
【００１１】
さらに、本発明の第３の目的は、原画像の画素数を増やす解像度変換において、デジタル動画像処理を満足する高速な解像度変換処理を実現することである。
【００１２】
【課題を解決するための手段】
本発明の目的を達成するために、デジタル原画像を、指定された変換倍率に応じて異なる画素数のデジタル画像に変換する解像度変換装置において、
前記デジタル原画像の予め定めた画素数のブロックごとに、前記デジタル原画像の前記ブロックに対して補間する補間画素の補間位置を前記変換倍率に応じて決定する決定手段と、
前記デジタル原画像の前記ブロックごとに、当該ブロックのそれぞれの画素の画素位置および画素データにより係数が決定される予め定めた補間式に従って、前記決定手段により決定される前記補間位置に補間する画素の画像データを生成し、前記デジタル原画像の画素の画像データと当該生成した補間する画素の画像データとから変換後のデジタル画像を出力する生成部とを有する。
【００１３】
また、デジタル原画像を、指定された変換倍率に応じて異なる画素数のデジタル画像に変換する解像度変換装置において、
前記デジタル原画像の予め定めた画素数のブロックごとに、前記デジタル原画像の前記ブロックに対して補間する補間画素の補間位置を前記変換倍率に応じて決定する決定手段と、
前記デジタル原画像の前記ブロックごとに、当該ブロックのそれぞれの画素の画素位置および画素データと、当該ブロックに隣接する画素の画素位置および画素データとにより係数が決定される予め定めた補間式に従って、前記決定手段により決定される前記補間位置に補間する画素の画像データを生成し、前記デジタル原画像の画素の画像データと当該生成した補間する画素の画像データとから変換後のデジタル画像を出力する生成部とを有するようにしてもよい。
【００１４】
【作用】
本発明における解像度変換装置は、決定手段がデジタル原画像の予め定めた画素数のブロックごとに、前記デジタル原画像の前記ブロックに対して補間する補間画素の補間位置を前記変換倍率に応じて決定する。この場合、例えば、変換倍率ごとに補間位置をテーブルに規定しておき、このテーブルを参照し、変換倍率に従って補間位置を決定することができる。また、単位ブロックは、８×８画素のブロックとすることができる。
【００１５】
生成部は、デジタル原画像の前記ブロックごとに、当該ブロックのそれぞれの画素の画素位置および画素データにより係数が決定される予め定めた補間式に従って、前記決定手段により決定される前記補間位置に補間する画素の画像データを生成し、前記デジタル原画像の画素の画像データと当該生成した補間する画素の画像データとから変換後のデジタル画像を出力する。補間式は、スプライン関数やベジェ関数とすることができる。
【００１６】
これにより補間画素の画素データを最適化することができる。
【００１７】
本発明によれば、原画像の画素数を増やす解像度変換において、モザイク状のギザギザが目立つ画像を防止し、輪郭のはっきりとしない自然画像等に対して高品質な画像を実現することができ、また、輪郭のはっきりとした文字、図形に対しては、濃淡の境界がはっきりとした画像の輪郭部分等の高周波成分を保存し、高品質な画像を実現することができる。
【００１８】
また、補間するブロックと隣接するブロックとの画素間に補間位置を設ける場合には、当該ブロックの画素位置および画素データに加えて、当該補間するブロックに隣接する画素の画素位置および画素データをさらに用いて前記補間式の係数を決定することができる。これにより、単位ブロックと単位ブロックとが隣接する部分の画素間、つまり、単位ブロックの画素の外側の位置において、補間画素を発生させることができ、単位ブロックの隣接部分においても画素データが不連続にならないようにすることができる。
【００１９】
さらに、決定手段は、前記変換倍率を、水平方向と垂直方向との変換倍率とし、生成部は、前記補間する画素の画像データの生成を、前記水平方向について行う水平方向生成手段と、前記垂直方向について行う垂直方向生成手段とを備える場合には、それぞれの生成手段において生成を行うことができるので高速化が実現できる。
【００２０】
【実施例】
以下、本発明の実施例を詳細に説明する。
【００２１】
まず初めに、本発明の大まかな構成と処理の流れを説明してから、その次に、課題を解決するための詳細な構成と処理の流れを説明する。
【００２２】
本実施例においては、補間画素を発生して画素数を増やして拡大画像に変換するものであり、予め定めた画素数の単位画素ブロックごとに、倍率に応じて補間する画素数と画素を補間する位置とを規定しておき、ブロックの画素位置と画素データとにより係数が決定される予め定めた補間式に従って、補間位置における補間する画素の画像データを生成する。すなわち、補間画素の階調値は、単位ブロック内の画素の階調値を所定の関数（補間式）で示したときに、補間する画素の位置についてその関数上の階調値により求められる。
【００２３】
図１に、デジタル原画像を異なる画素数のデジタル画像に変換するハードウエア構成のブロック図を示す。また、図２に、画素変換の様子を示す。本実施例における装置は、図１に示すような構成に限定する必要はなく、マイクロコンピュータ周辺機器としてＬＳＩ化した単体素子であっても、ソフトウエアによりシステム化した装置であってもよい。ここで、静止画像や動画像等のデジタル原画像データとは、ＪＰＥＧ、ＭＰＥＧ等の圧縮データが伸長されたものや、ＮＴＳＣ等の信号をデジタル化したものである。
【００２４】
図１において、水平方向スケーリング演算部１０１は、入力された原画像データに対して、水平方向に画素数の変換を行う。水平方向スケーリング演算部１０１は、原画像データを８×８画素の単位ブロックに分割された画像データに対して、水平方向に１ライン分の８画素分の原画像データ１０３を入力して画素数変換を順に行う。また、水平方向スケーリング演算部１０１は、原画像を水平方向に対して何画素増やすかを示すための水平方向倍率を表わす制御信号１０５を入力する。図２に示すように、水平方向スケーリング演算部１０１は、８×８画素の単位ブロック２０１に分割された原画像データのうち、水平方向に１ライン８画素分の原画像データ２０２を入力し、１ライン８±ｎ画素分の画像データ２０３を出力する。図２において、１ライン８±ｎ画素分の画像データ２０３のうち、ハッチングを施した画素Ｃ１およびＣ２が、水平方向スケーリング演算部１０１により生成された補間画素である。
【００２５】
つぎに、垂直方向スケーリング演算部１０２は、水平方向スケーリング演算部１０１が出力した水平方向に画素数変換された画像データに対して、垂直方向に画素数の変換を行う。垂直方向スケーリング演算部１０２は、水平方向スケーリング演算部１０１が出力した水平方向に１ライン８＋ｎ画素分の画像データ１０４を１ラインずつ順に８ライン分入力し、垂直方向に８＋ｎライン分の画像データ１０７を出力する。また、垂直方向スケーリング演算部１０２は、原画像を垂直方向に対して何画素増やすかを示すための垂直方向倍率を表わす制御信号１０６を入力する。図２に示すように、垂直方向スケーリング演算部１０２は、水平方向に画素数変換された１ライン８＋ｎ画素分の画像データ２０３を８ライン分入力し、垂直方向に画素数変換された画像データ２０４を出力する。図２において、ハッチングを施した画素Ｐ１〜Ｐ１０が、垂直方向スケーリング演算部１０２よって生成された補間画素データあり、垂直方向スケーリング演算部１０２は、補間ライン２０５および２０６を生成し、８×８画素の単位ブロックに分割された原画像データを、１０×１０画素の単位ブロックの画像データ２０７に画素数変換する。
【００２６】
図７に、本発明を適用したシステム構成例を示す。ＣＰＵ７０１は情報を処理する中央演算処理装置である。画像データ入力部７０２は圧縮されたデジタル静止画像データや、動画データを入力する。バッファメモリ７０３は、画像データを記憶し、例えば画像データがＭＰＥＧ圧縮動画データである場合に、伸長する際に伸長する前と伸長した後との画像データを記憶するのに利用し、メモリ容量としては少なくとも８×８画素を格納できる容量を持つ。画像処理ＬＳＩ７０４は、前述した図１に示すような解像度変換を行う。ＶＲＡＭ７０５は、解像度変換を行った後の画像データを格納する。表示制御部７０６は、ＶＲＡＭ７０５に格納した解像度変換を行った後の画像データを読み出して液晶パネルに表示する。Ｄ／Ａ７０８は、音声出力用のデジタル／アナログ変換器である。システムバス７０９は、データバス、アドレスバス、コントロールバスからなる。入力部７１０は、解像度変換の倍率等の指示を受付ける。
【００２７】
本システム構成において、ＣＰＵ７０１、バッファメモリ７０３、本発明のスケーリングを行なう画像処理ＬＳＩ７０４、および、表示制御７０６は、一つのＬＳＩ化した単体素子であってもよい。
【００２８】
つぎに、解像度変換の詳細を図３および図７を参照して説明する。図３に、本実施例の解像度変換における処理フローを示す。
【００２９】
図３において、原画像に対して水平方向に何倍するかまた垂直方向に何倍するかを決める解像度変換の倍率を図７に示す本装置の入力部７１０で受付ける（Ｓ３０１）。ＣＰＵ７０１は、画像処理ＬＳＩ７０４のパラメータを設定するためのパラメータレジスタに解像度変換の倍率のデータを設定する。画像データ入力部７０２では、画像データを受け付け、８×８画素の単位ブロックに分割し、バッファメモリ７０３に分割した単位ブロックごとに画像データを記憶させる。つぎに、画像処理ＬＳＩ７０４は、バッファメモリ７０３に記憶する８×８画素の単位ブロックに分割された原画像データの水平方向１ライン分の８画素データを入力する（Ｓ３０２）。画像処理ＬＳＩ７０４は、入力された水平方向１ライン分の８画素データに対して、水平方向に補間画素を発生し、水平方向の８ライン分のスケーリング演算処理を行う（Ｓ３０３）。つぎに、画像処理ＬＳＩ７０４は、水平方向のスケーリング演算処理された８ライン分のデータに対して、垂直方向に補間画素を発生し、一度に補間ラインを生成し、垂直方向のスケーリング演算処理を行う（Ｓ３０４）。最後に、水平方向および垂直方向のスケーリング演算処理後の単位画素ブロック毎に表示メモリであるＶＲＡＭ７０５へライトする（Ｓ３０５）。
【００３０】
つぎに、倍率に応じて補間する画素数と画素を補間する位置とついて、詳細に説明する。
【００３１】
図４は、図１に示す水平方向スケーリング演算部１０１が、水平方向に補間画素を生成し、水平方向のスケーリング演算処理を行うための水平方向倍率と、それに対応する補間画素生成点数との関係を示す水平方向補間画素生成テーブルの一例を示している。原画像データに対して８×８画素の単位ブロックに分割された原画像データの水平方向のライン毎に補間画素を生成することから、入力画素数は８画素である。例えば、カラー表示でＲＧＢの各８ビットであれば、１画素あたり２４ビットのデータ長となる。また、各画素の画像データは、輝度と色差で表わされたＹＵＶのデジタルデータでもよい。図４に示すように、入力画素数の８画素に対して、倍率ごとに生成画素生成点数を１点ずつ増やしていくことにより水平方向のスケーリングを実現する。例えば、水平方向の倍率を１．６２５倍に設定した場合、補間画素の生成点数は５点であり、出力画素数は１３画素となる。水平方向の倍率から補間画素の生成点数は指定できるが、補間画素の発生位置が画質に影響を及ぼす。補間画素発生位置については後で説明する。
【００３２】
図５は、図１に示す垂直方向スケーリング演算部１０２が、垂直方向に補間画素を生成し、垂直方向のスケーリング演算処理を行うための垂直方向倍率と、それに対応する補間画素生成ライン数との関係を示す垂直方向補間画素生成テーブルの一例を示している。原画像データに対して８×８画素の単位ブロックに分割された原画像データの垂直方向に補間画素を生成し、補間ラインを生成することから、入力ライン数は８ラインである。図５に示すように、入力ライン数の８ラインに対して、生成ライン数を倍率ごとに１ラインずつ増やしていくことにより垂直方向のスケーリングを実現する。例えば、垂直方向の倍率を１．３７５倍に設定した場合、補間画素の生成ライン数は３ラインであり、出力ライン数は１１ラインとなる。水平方向スケーリングと同様に、垂直方向の倍率から補間画素の生成ライン数は指定できるが、補間画素のラインの発生位置が画質に影響を及ぼす。
【００３３】
そこで、図６を参照して、水平方向の倍率から補間画素の生成点数を指定し、その補間画素の発生位置について説明する。
【００３４】
図６は、原画像データに対して、８×８画素の単位ブロックに分割された水平方向に１ライン８画素の原画像データから補間画素を生成したときに、その発生位置を補間画素数ｎごとに例示したものである。補間画素の発生位置についてはこれに限らなくてもよいし、ユーザが自分で発生位置を指定できるようにしてもよい。図６において、白枠の長方形の部分は、８×８画素の単位ブロックに分割された、原画像データの１ライン８画素の各画素を示している。また、ハッチングされた四角形の部分は、補間画素であり、その発生位置を示している。ｎは、０以上の整数であって、補間画素の発生点数を示している。６００は、補間画素の発生点数がｎ＝０であり、水平方向に原画像の画素１、画素２の順に画素８まで並んでいる様子を示している。６０１は、補間画素の発生点数がｎ＝１であり、水平方向に原画像の画素１と画素２との間に補間画素を１画素分発生している。６０２は、補間画素の発生点数がｎ＝２であり、水平方向に原画像の画素１と画素２との間に補間画素を１画素分発生し、画素５と画素６との間に補間画素を１画素分発生している。このときの水平方向倍率は、図４における水平方向補間画素生成テーブルに示すように１．２５倍である。さらに、水平方向倍率を上げていくと、６０８では、補間画素の発生点数がｎ＝８であり、水平方向に原画像の画素１と画素２との間に補間画素を２画素分発生し、画素２と画素３との間に補間画素を１画素分発生し、画素３と画素４との間に補間画素を１画素分発生し、画素４と画素５との間に補間画素を１画素分発生し、画素５と画素６との間に補間画素を１画素分発生し、画素６と画素７との間に補間画素を１画素分発生し、画素７と画素８との間に補間画素を１画素分発生している。このときの水平方向倍率は、図４における水平方向補間画素生成テーブルに示すように２倍である。同様にして、補間画素の発生点数ｎに対して、６０３〜６２４に示すように補間画素を発生する。
【００３５】
このように、倍率に応じて生成する補間画素の数と発生位置とを予め規定しておくことができる。
【００３６】
また、上述した説明は、水平方向の補間画素の発生位置に関するものであるが、垂直方向についても同様に補間画素を補間ラインに置き換えればよい。すなわち、垂直方向の倍率から補間画素の生成ライン数を規定し、その補間画素のラインの発生位置についても同様に規定しておくことができる。
【００３７】
つぎに、水平・垂直方向のスケーリング演算処理方法について具体的に説明する。図８に、図１に示す水平方向スケーリング演算部１０１において、水平方向に１．２５倍に拡大する場合のフローチャートを示す。１．２５倍する場合には、図４に示すように、生成点数ｎ＝２であり、１ライン８画素分の画素データは１０画素に画素数変換される。
【００３８】
図８において、まず、水平方向スケーリング演算部１０１は、画素数変換後の画素数分である１０画素分の画素データを格納するメモリ（配列）エリアを確保し（Ｓ８０１）、１ライン分のデータを入力し、確保したメモリに格納する（Ｓ８０２）。このとき、図４および図６に示す水平方向補間画素生成テーブルに従って補間画素を挿入する場所、つまり１画素と２画素の間、５画素と６画素の間を空けて格納する。そして、Ｓ８０３で入力された８画素分の画素データの間にスプライン関数による曲線を発生させ、補間画素を生成し、先程空けておいたメモリエリア（配列）の中に格納する。
【００３９】
この曲線の発生方法について図９を参照して説明する。図９に、水平方向のスケーリング演算処理によって画素数変換されるときの画素位置に対する画素データを示している。横軸は画素データの位置（ならび）を表わし、縦軸は画素データの値（輝度）を表わす。
【００４０】
図９において、９０１が画素数変換前の８画素分の画素データであり、９０２は画素数変換後の１０画素分の画素データを示している。前述した図８に示すＳ８０２において、図４および図６に示す水平方向補間画素生成テーブルに従って図９における９０３に示すように、補間画素を挿入する位置を空けて８画素分の画素データを並べる。そして、図９における９０４に示すように、その８画素データからスプライン関数による曲線９０５を発生させる。ここで、スプライン関数とは、図２０に示すような区分的多項式関数であり、小区間内ではそれぞれ、たかだかｍ次の違った多項式曲線で定義され、それらは互いにできるだけ滑らかにつながっているようなものである。この曲線９０５と、補間画素の発生位置Ｃ１とＣ２とのそれぞれの交点の値が補間画素データの値（輝度）９０６および９０７となる。水平方向スケーリング演算部１０１は、このようにして補間画素データ９０６および９０７を生成し、１ライン分のスケーリング演算処理が終わり、垂直方向スケーリング演算部１０２へ１ライン１０画素分の画素データ９０２を出力する。このように、水平方向スケーリング演算処理部１０１では、順次１ラインずつスケーリング演算処理を行い、垂直方向スケーリング演算処理部１０２へ出力する。
【００４１】
また、図１０および図１１を参照して垂直方向の解像度変換処理について説明する。図１０に、図１に示す垂直方向スケーリング演算部１０２において、垂直方向に１．２５倍に拡大する場合のフローチャートを示す。図１１に、垂直方向のスケーリング演算処理によって画素数変換されるときの画素位置に対する画素データを示している。１．２５倍する場合には、図４に示すように、生成ライン数ｎ＝２であり、８ライン分の画素データが１０ライン分の画素データに画素数変換される。
【００４２】
あらかじめ、垂直方向スケーリング演算処理部１０２内には、（水平方向拡大後の画素数８＋ｎ）×（８ライン）分のメモリが確保されており、ここでは生成点数ｎ＝２であるから、１０×８＝８０画素分のメモリが確保されている。垂直方向スケーリング演算処理部１０２は、図１１に示すように、水平方向スケーリング演算処理部１０１から順に送られてくる、水平方向の画素数変換後の８ライン分の画素データ１１０１〜１１０８をメモリに格納していき、８ライン分格納されると垂直方向のスケーリング演算処理を開始する。
【００４３】
図１０において、垂直方向スケーリング演算処理部１０２は、メモリに格納されている８ライン分の列ごとの画素データ、例えば、図１１に示すような、列単位での８画素分の画素データ１１１２を入力する（Ｓ１００１）。そして、垂直方向スケーリング演算処理部１０２は、各列ごとに補間画素データを生成する（Ｓ１００２）。図１１において、Ｘ１１、Ｘ２１、Ｘ３１、Ｘ４１、Ｘ５１、Ｘ６１、Ｘ７１、Ｘ８１の垂直方向の同じ列に当たる画素データ８画素分１１１２から、水平方向と同様にスプライン関数による曲線１１０９を求める。このとき、図５に示す垂直方向補間画素生成テーブルに従って補間ラインを挿入する場所、つまり、１ラインと２ラインの間（Ｄ１１）と、５ラインと６ラインの間（Ｄ２１）とに補間画素を発生させる。このとき曲線１１０９と、Ｄ１１およびＤ２１との交点１１１０、１１１１の値がそれぞれ補間画素データの値となる。これらＸ１１、Ｘ２１、Ｘ３１、Ｘ４１、Ｘ５１、Ｘ６１、Ｘ７１、Ｘ８１と補間画素データＤ１１、Ｄ２１をＶＲＡＭに直接書き込み、次のＣ１１〜Ｃ８１からまた同じようにして補間画素データを生成する。図１２に、単位ブロックの画素数変換後の画素データを示す。図１２に示すように、Ｃ１１〜Ｃ８１１２０１、Ｃ１２〜Ｃ８２１２０２、Ｄ１１〜Ｄ２０１２０３、Ｄ２１〜Ｄ３０１２０４の補間画素データが生成される。このようにして、水平方向の１０画素分、列ごとに補間画素データを生成し、８×８画素が１０×１０画素の単位ブロックに変換され、スケーリング演算処理が終了する。この処理を原画像データの解像度分繰り返す。例えば、原画像データの解像度が１６０×１２０画素のデータであれば、図１３に示すように、８×８画素単位のブロックが２０×１５＝３００個存在するので、８×８画素単位のスケーリング演算処理を３００回繰り返せばよい。これにより、２００×１５０画素の画像データに変換される。
【００４４】
次に、具体的な例を用いて詳細に説明する。図２３（１）は、８×８画素の“Ａ”という原画像データである。画像データは、８ビットデータ（０〜２５５）とし、図中の数値はその画素の輝度値を表している。この画像データを、１．２５倍に拡大処理する場合、従来の直線補間法で補間画素を生成した拡大画像を図２３（２）に、本実施例のスプライン関数による曲線補間で補間画素を生成した拡大画像を図２３（３）に示す。拡大後の補間画素の輝度値を比較すると、（２）の直線補間法で生成した補間画素より（３）のスプライン関数による曲線補間法で生成した補間画素の方がより隣接画素の輝度値に近いことがわかる。したがって、スプライン関数による曲線補間法で補間画素を生成した方が、画像の輪郭部などにおいて、拡大処理後もぼやけの少ない画像を実現することができる。
【００４５】
本実施例によれば、予め補間する画素数と補間位置とを倍率に応じて規定しておくことができる。また、単位ブロックの水平方向または垂直方向の画素の画像データからスプライン関数による曲線を求め、この求めた曲線上に補間画素の画像データを決定することができる。本実施例によれば、原画像の画素数を増やす解像度変換において、モザイク状のギザギザが目立つ画像を防止し、高品質な画像を実現することができる。さらに、デジタル動画像処理を満足する高速な解像度変換処理を実現することができる。また、最小限のハードウエア規模で任意の解像度変換処理を実現することができる。
【００４６】
つぎに、第２の実施例を説明する。第１の実施例においては、単位ブロックの画素内に補間画素を生成させる場合について説明したが、第２の実施例においては、単位ブロックと単位ブロックとが隣接する部分の画素間、つまり、単位ブロックの画素の外側の位置において、補間画素を発生させ、単位ブロックの隣接部分においても画素データが不連続にならないようにしている。
【００４７】
図１４に、８画素データを水平方向に３倍に拡大するときの第２の実施例における補間画素の発生位置のパターンの一例を示す。図１４においては、原画像の画像データ１〜８から、３次スプライン曲線１４０９に基づいて補間画素データ１４０１〜１４０８を生成する場合を示す。この場合、補間画素データ１４０８は、原画像データ８の外側に発生させる。補間画素データをスプライン関数で曲線補間して生成するとき、原画素データ１〜８から３次スプライン曲線１４０９を発生させるため、原画素データ１〜８の間に挟まれる補間画素データ１４０１〜１４０７までは生成できるが、補間画素データ１４０８は原画素データ１〜８の間に挟まれないので、次の点１４１０が存在しないと曲線補間ができない。曲線補間法で補間画素を生成するために、次ぎの点１４１０の位置の画素データの値を、画素７の画素データの値として利用するとすると、つぎに入力される８×８画素の画素データとのつなぎ目が不連続になる可能性がある。
【００４８】
そこで、本実施例においては、図１５に示すように、画素ブロック１〜３００までのあるときに、水平・垂直方向の補間画素データを生成する場合、８×８画素単位の画素ブロック１と、その右隣の画素ブロック２の一番左端の１列分の画素データ１５０１と、画素ブロック２１の上端のラインの画素データ１５０２と、画素ブロック２２の左上端の画素データ１５０３とからスプライン関数による曲線補間で画素ブロック１のスケーリング処理を行なう。
【００４９】
この処理について、図１６に示すフローチャートを参照して説明する。図１６に示すフローチャートは、１６０×１２０画素（単位ブロック数３００）の原画素データをｍ×ｎ倍に拡大する場合のスケーリング処理の単位ブロックにおける処理手順を表したものである。
【００５０】
図１６において、図１に示す水平方向スケーリング演算処理部１０１は、図１５に示すブロック１と、その右隣の画素ブロック２の一番左端の１列分の画素データ１５０１と、画素ブロック２１の上端のラインの画素データ１５０２と、画素ブロック２２の左上端の画素データ１５０３とを少なくとも格納するためのメモリ（メモリ１）を確保する。また、画素データをブロックごとに順番に出力している場合には、ブロック１〜ブロック２２までの２２ブロック分の画素（８×８×２２＝１４０８画素）の原画素データを格納するメモリ（メモリ１）を確保し（Ｓ１６０１）、データを格納するようにしてもよい。また、垂直方向スケーリング演算処理部１０２は、垂直方向スケーリング演算結果格納用メモリとして、水平方向に変換後のブロック１からブロック２０までの画素とブロック２１〜４０の１ライン目の画素｛８×（横方向拡大率ｍ）｝×（８＋１）分の原画素データを格納するメモリ（メモリ２）を確保する（Ｓ１６０２）。
【００５１】
そして、水平方向スケーリング演算処理部１０１は、メモリ１からブロック１の画素データと、ブロック２の左端１列分の画素データとを読み込み、１ライン９画素分の原画素データから水平方向スケーリング演算処理をそれぞれのラインについて行い、このようにして求めた水平方向スケーリング演算結果をメモリ２に格納する（Ｓ１６０３）。また、水平方向スケーリング演算処理部１０１は、メモリ１からブロック２１の上端１行分の画素データ１５０２とブロック２２の左上端の画素データ１５０３の計９画素分の画素データを読み込み、この９画素分の画素データから水平方向スケーリング演算処理を行い、メモリ２に格納する（Ｓ１６０４）。これにより、メモリ２には、図１９に示すように、水平方向にｍ倍に拡大処理された９ライン分のデータが格納されていることになる。この時、原画素データの９画素目にあたるブロック２の左端１列分の画素データ１５０１はメモリ２には格納しない。そして、垂直方向スケーリング演算処理部１０２は、メモリ２に格納されている水平方向演算結果から、水平方向と同様に垂直方向スケーリング演算処理をそれぞれの列について行い、図７に示すＶＲＡＭに書き込んでいく（Ｓ１６０５）。これで、ブロック１の拡大処理が終了する。つぎに、ブロック２の拡大処理を同様に行う。このようにして、各ブロックごとに拡大処理を行っていき、全てのブロックについて拡大処理を行う。
【００５２】
また、図１５に示す１５０４において、一番右端のブロックにあたる２０ブロックや４０ブロックなどの場合、右隣の２１ブロック目が存在しないので、図１５に示す左端の１列分の画素データ１５０１と、画素ブロック２２の左上端の画素データ１５０３に相当する画素データが存在しないことがある。この場合には、例えば、ブロック２０の７画素目にあたる画像データの値を、平行移動して９画素目の画像データの値とすることにより、曲線補間による水平方向のスケーリング処理を行うようにしてもよい。同様に、垂直方向に関しても、図１５に示す１５０４において、ブロック２８１〜ブロック３００はその下のブロックが存在しないため、図１５に示す上端のラインの画素データ１５０２にあたる画素データが存在しない。そのため、ブロック２８１〜３００の７ライン目にあたる画像データの値を平行移動して９ライン目の画像データの値とすることにより、曲線補間による垂直方向のスケーリング処理を行うことができる。
【００５３】
本実施例によれば、単位ブロックと単位ブロックとが隣接する部分の画素間、つまり、単位ブロックの画素の外側の位置において、補間画素を発生させることができ、単位ブロックの隣接部分においても画素データが不連続にならないようにすることができる。
【００５４】
上述した第１および第２の実施例では、曲線補間を行う場合、図２０に示すようなスプライン関数による曲線補間を行ったが、スプライン関数はこれに限らずｍ次スプライン関数を簡易化した混合スプライン関数や、ベーススプライン関数を用いてもよいし、又、図２１に示すように、４つの補間点から始終点のみを通るような３次ベジェ曲線を用いて曲線補間を行ってもよいし、他の補間式を用いて補間を行ってもよい。
【００５５】
【発明の効果】
本発明によれば、デジタル原画像を異なる画素数のデジタル画像に変換して、ディスプレイに表示する解像度変換装置および方法において、高品質な画像を再現することができる。さらに、解像度変換処理の高速化および低価格化が図れる。
【図面の簡単な説明】
【図１】画像拡大スケーリング処理方法のブロック図である。
【図２】画像拡大スケーリング処理方法の説明図である。
【図３】画像拡大スケーリング処理方法のフローチャートである。
【図４】水平方向補間画素生成テーブルの説明図である。
【図５】垂直方向補間画素生成テーブルの説明図である。
【図６】画像拡大スケーリング処理方法の説明図である。
【図７】画像拡大スケーリング処理におけるシステム構成図である。
【図８】水平方向スケーリング演算処理のフローチャートである。
【図９】水平方向スケーリング演算処理の補間画素データ生成の説明図である。
【図１０】垂直方向スケーリング演算処理のフローチャートである。
【図１１】垂直方向スケーリング演算処理の補間画素データ生成の説明図である。
【図１２】１．２５倍に画素数変換後の画素データ模式図である。
【図１３】１６０×１２０画素の画素データにおける８×８画素単位ブロック分けの説明図である。
【図１４】画像拡大スケーリング処理方法の説明図である。
【図１５】画像拡大スケーリング処理方法の説明図である。
【図１６】画像拡大スケーリング処理方法を説明するフローチャートである。
【図１７】従来の画像拡大スケーリング処理方法のブロック図である。
【図１８】直線補間による補間画素データ生成の説明図である。
【図１９】メモリ２の構造を説明する図である。
【図２０】ｍ次スプライン関数の模式図である。
【図２１】３次ベジェ関数の模式図である。
【図２２】直線補間の模式図である。
【図２３】拡大画像データ例である。
【符号の説明】
１０１…水平方向スケーリング演算部、１０２…垂直方向スケーリング演算部、７０１…ＣＰＵ、７０２…画像入力部、７０３…バッファメモリ、７０４…スケーリング制御部、７０５…ＶＲＡＭ、７０６…表示制御部、７０７…液晶パネル。
【図１】
0003582540.tif 000002
【図２】
0003582540.tif 000003
【図３】
0003582540.tif 000004
【図４】
0003582540.tif 000005
【図５】
0003582540.tif 000006
【図６】
0003582540.tif 000007
【図７】
0003582540.tif 000008
【図８】
0003582540.tif 000009
【図９】
0003582540.tif 000010
【図１０】
0003582540.tif 000011
【図１１】
0003582540.tif 000012
【図１２】
0003582540.tif 000013
【図１３】
0003582540.tif 000014
【図１４】
0003582540.tif 000015
【図１５】
0003582540.tif 000016
【図１６】
0003582540.tif 000017
【図１７】
0003582540.tif 000018
【図１８】
0003582540.tif 000019
【図１９】
0003582540.tif 000020
【図２０】
0003582540.tif 000021
【図２１】
0003582540.tif 000022
【図２２】
0003582540.tif 000023
【図２３】
0003582540.tif 000024