JP3582540B2 - Resolution conversion device and resolution conversion method - Google Patents
Resolution conversion device and resolution conversion method Download PDFInfo
- Publication number
- JP3582540B2 JP3582540B2 JP08961295A JP8961295A JP3582540B2 JP 3582540 B2 JP3582540 B2 JP 3582540B2 JP 08961295 A JP08961295 A JP 08961295A JP 8961295 A JP8961295 A JP 8961295A JP 3582540 B2 JP3582540 B2 JP 3582540B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- pixels
- interpolation
- image
- block
- 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.)
- Expired - Fee Related
Links
- 238000006243 chemical reaction Methods 0.000 title claims description 60
- 238000000034 method Methods 0.000 title claims description 36
- 238000012545 processing Methods 0.000 description 49
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 20
- 238000003672 processing method Methods 0.000 description 9
- 238000007796 conventional method Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000005549 size reduction Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Processing (AREA)
- Digital Computer Display Output (AREA)
- Television Systems (AREA)
Description
【0001】
【産業上の利用分野】
本発明は、文字、グラフィックス、自然画像で構成した静止画像や動画像のデジタル画像情報を異なる画素数の画像情報に変換して、ディスプレイに表示する解像度変換装置に係り、特に、マルチメディアの動画像表示において、入力した画像情報を異なる解像度を有する表示装置やウインドウ環境で表示するのに良好な解像度変換装置および解像度変換方法に関する。
【0002】
【従来の技術】
デジタル画像の解像度変換において、原画像の画素数を増やす場合、同じ表示装置上であれば原画像の拡大表示となる。よって、ウインドウの拡大表示等に有効である。また、原画像の解像度に比べて高い解像度を有する表示装置に表示することが可能になる。そこで、最も簡単な方法としては、原画像の1画素に対して、同一画素を水平方向および垂直方向に埋めていくことで原画像の画素数を増やす方法がある。
【0003】
また、特開平6−124189号公報に記載されている「画像表示装置および画像表示制御方法」には、原画像の水平方向と垂直方向との画素データの平均化を行い、原画像の画素数を減らす方法がある。この方法は、従来技術として知られている直線描画アルゴリズムを用いて描画し、原画像の直線は、少なくとも1ドット以上のy個の水平成分でそれぞれ表され、縮小の場合、直線の傾きは45度以下となる。各水平成分の長さは、VRAMに書き込む縮小スケーリング後の1画素データに対応する画像入力の画素データの個数を表すと考えることができる。各水平成分の長さは異なる場合もあるし、全て同一の場合も存在するが、nドット分の画素データの平均化を行うことで、水平方向の縮小スケーリングを行っている。垂直方向についても同様である。この直線の傾きを45度以上にすることにより、拡大処理が可能となり、水平方向、垂直方向の拡大スケーリングを行っている。
【0004】
また、単純に同一画素を埋めるのではなく、埋めていく際に、図18および図22に示すように、原画像の画素間の階調値を直線で結ぶように補間画素の階調値を算出し、画素を埋めていくことで原画像の画素数を増やす方法が従来からある。図18および図22には、水平方向の各画素位置における階調値を示している。
【0005】
さらに、原画像を任意に解像度変換する方法を図17に示す。1701は、原画像データであり、1702は、原画像を縦にL1倍、横にM1倍する処理を示し、1703は、拡大された画像データである。1704は、拡大された画像データを縦に1/L2倍、横に1/M2倍する処理を示し、1705は、縮小された画像データである。ここで、L1、L2、M1およびM2は、正の整数である。この処理は、L1>L2,M1>M2ならば、画像の拡大に、またL1<L2,M1<M2ならば、画像の縮小に相当する。このように、画像サイズの拡大処理と縮小処理とを組み合わせることにより、画像サイズをより自由に変換できる。
【0006】
【発明が解決しようとする課題】
《課題1》上記従来方法の原画像の画素数を増やす場合、原画像の1画素に対して、同一画素を水平方向および垂直方向に埋めていくことで原画像の画素数を増やす方法では、モザイク状のギザギザが目立つ画像となり、画質が劣化する問題がある。
【0007】
《課題2》上記従来方法の原画像の画素数を増やす場合、単純に同一画素を埋めるのではなく、埋めていく際に、図18や図22に示すように、原画像の両端画素の階調値を直線で結ぶように補間画素の階調値を算出し、画素を埋めていくことで原画像の画素数を増やす方法では、モザイク状のギザギザが目立つ画像とはならないが、濃淡の境界がはっきりとした画像の輪郭部分等の高周波成分が平滑化されて、画像全体がぼやけてしまう問題がある。
【0008】
《課題3》上記従来方法の原画像の画素数を増やす場合、画像サイズの拡大処理と縮小処理とを組み合わせることにより、画像サイズをより自由に変換する方法では、画像の拡大処理を行ってからから縮小処理を行うので、解像度変換処理に時間がかかるという問題がある。
【0009】
そこで、本発明の第1の目的は、原画像の画素数を増やす解像度変換において、モザイク状のギザギザが目立つ画像を防止し、高品質な画像を実現することである。
【0010】
また、本発明の第2の目的は、原画像の画素数を増やす解像度変換において、濃淡の境界がはっきりとした画像の輪郭部分等の高周波成分を保存し、高品質な画像を実現することである。
【0011】
さらに、本発明の第3の目的は、原画像の画素数を増やす解像度変換において、デジタル動画像処理を満足する高速な解像度変換処理を実現することである。
【0012】
【課題を解決するための手段】
本発明の目的を達成するために、デジタル原画像を、指定された変換倍率に応じて異なる画素数のデジタル画像に変換する解像度変換装置において、
前記デジタル原画像の予め定めた画素数のブロックごとに、前記デジタル原画像の前記ブロックに対して補間する補間画素の補間位置を前記変換倍率に応じて決定する決定手段と、
前記デジタル原画像の前記ブロックごとに、当該ブロックのそれぞれの画素の画素位置および画素データにより係数が決定される予め定めた補間式に従って、前記決定手段により決定される前記補間位置に補間する画素の画像データを生成し、前記デジタル原画像の画素の画像データと当該生成した補間する画素の画像データとから変換後のデジタル画像を出力する生成部とを有する。
【0013】
また、デジタル原画像を、指定された変換倍率に応じて異なる画素数のデジタル画像に変換する解像度変換装置において、
前記デジタル原画像の予め定めた画素数のブロックごとに、前記デジタル原画像の前記ブロックに対して補間する補間画素の補間位置を前記変換倍率に応じて決定する決定手段と、
前記デジタル原画像の前記ブロックごとに、当該ブロックのそれぞれの画素の画素位置および画素データと、当該ブロックに隣接する画素の画素位置および画素データとにより係数が決定される予め定めた補間式に従って、前記決定手段により決定される前記補間位置に補間する画素の画像データを生成し、前記デジタル原画像の画素の画像データと当該生成した補間する画素の画像データとから変換後のデジタル画像を出力する生成部とを有するようにしてもよい。
【0014】
【作用】
本発明における解像度変換装置は、決定手段がデジタル原画像の予め定めた画素数のブロックごとに、前記デジタル原画像の前記ブロックに対して補間する補間画素の補間位置を前記変換倍率に応じて決定する。この場合、例えば、変換倍率ごとに補間位置をテーブルに規定しておき、このテーブルを参照し、変換倍率に従って補間位置を決定することができる。また、単位ブロックは、8×8画素のブロックとすることができる。
【0015】
生成部は、デジタル原画像の前記ブロックごとに、当該ブロックのそれぞれの画素の画素位置および画素データにより係数が決定される予め定めた補間式に従って、前記決定手段により決定される前記補間位置に補間する画素の画像データを生成し、前記デジタル原画像の画素の画像データと当該生成した補間する画素の画像データとから変換後のデジタル画像を出力する。補間式は、スプライン関数やベジェ関数とすることができる。
【0016】
これにより補間画素の画素データを最適化することができる。
【0017】
本発明によれば、原画像の画素数を増やす解像度変換において、モザイク状のギザギザが目立つ画像を防止し、輪郭のはっきりとしない自然画像等に対して高品質な画像を実現することができ、また、輪郭のはっきりとした文字、図形に対しては、濃淡の境界がはっきりとした画像の輪郭部分等の高周波成分を保存し、高品質な画像を実現することができる。
【0018】
また、補間するブロックと隣接するブロックとの画素間に補間位置を設ける場合には、当該ブロックの画素位置および画素データに加えて、当該補間するブロックに隣接する画素の画素位置および画素データをさらに用いて前記補間式の係数を決定することができる。これにより、単位ブロックと単位ブロックとが隣接する部分の画素間、つまり、単位ブロックの画素の外側の位置において、補間画素を発生させることができ、単位ブロックの隣接部分においても画素データが不連続にならないようにすることができる。
【0019】
さらに、決定手段は、前記変換倍率を、水平方向と垂直方向との変換倍率とし、生成部は、前記補間する画素の画像データの生成を、前記水平方向について行う水平方向生成手段と、前記垂直方向について行う垂直方向生成手段とを備える場合には、それぞれの生成手段において生成を行うことができるので高速化が実現できる。
【0020】
【実施例】
以下、本発明の実施例を詳細に説明する。
【0021】
まず初めに、本発明の大まかな構成と処理の流れを説明してから、その次に、課題を解決するための詳細な構成と処理の流れを説明する。
【0022】
本実施例においては、補間画素を発生して画素数を増やして拡大画像に変換するものであり、予め定めた画素数の単位画素ブロックごとに、倍率に応じて補間する画素数と画素を補間する位置とを規定しておき、ブロックの画素位置と画素データとにより係数が決定される予め定めた補間式に従って、補間位置における補間する画素の画像データを生成する。すなわち、補間画素の階調値は、単位ブロック内の画素の階調値を所定の関数(補間式)で示したときに、補間する画素の位置についてその関数上の階調値により求められる。
【0023】
図1に、デジタル原画像を異なる画素数のデジタル画像に変換するハードウエア構成のブロック図を示す。また、図2に、画素変換の様子を示す。本実施例における装置は、図1に示すような構成に限定する必要はなく、マイクロコンピュータ周辺機器としてLSI化した単体素子であっても、ソフトウエアによりシステム化した装置であってもよい。ここで、静止画像や動画像等のデジタル原画像データとは、JPEG、MPEG等の圧縮データが伸長されたものや、NTSC等の信号をデジタル化したものである。
【0024】
図1において、水平方向スケーリング演算部101は、入力された原画像データに対して、水平方向に画素数の変換を行う。水平方向スケーリング演算部101は、原画像データを8×8画素の単位ブロックに分割された画像データに対して、水平方向に1ライン分の8画素分の原画像データ103を入力して画素数変換を順に行う。また、水平方向スケーリング演算部101は、原画像を水平方向に対して何画素増やすかを示すための水平方向倍率を表わす制御信号105を入力する。図2に示すように、水平方向スケーリング演算部101は、8×8画素の単位ブロック201に分割された原画像データのうち、水平方向に1ライン8画素分の原画像データ202を入力し、1ライン8±n画素分の画像データ203を出力する。図2において、1ライン8±n画素分の画像データ203のうち、ハッチングを施した画素C1およびC2が、水平方向スケーリング演算部101により生成された補間画素である。
【0025】
つぎに、垂直方向スケーリング演算部102は、水平方向スケーリング演算部101が出力した水平方向に画素数変換された画像データに対して、垂直方向に画素数の変換を行う。垂直方向スケーリング演算部102は、水平方向スケーリング演算部101が出力した水平方向に1ライン8+n画素分の画像データ104を1ラインずつ順に8ライン分入力し、垂直方向に8+nライン分の画像データ107を出力する。また、垂直方向スケーリング演算部102は、原画像を垂直方向に対して何画素増やすかを示すための垂直方向倍率を表わす制御信号106を入力する。図2に示すように、垂直方向スケーリング演算部102は、水平方向に画素数変換された1ライン8+n画素分の画像データ203を8ライン分入力し、垂直方向に画素数変換された画像データ204を出力する。図2において、ハッチングを施した画素P1〜P10が、垂直方向スケーリング演算部102よって生成された補間画素データあり、垂直方向スケーリング演算部102は、補間ライン205および206を生成し、8×8画素の単位ブロックに分割された原画像データを、10×10画素の単位ブロックの画像データ207に画素数変換する。
【0026】
図7に、本発明を適用したシステム構成例を示す。CPU701は情報を処理する中央演算処理装置である。画像データ入力部702は圧縮されたデジタル静止画像データや、動画データを入力する。バッファメモリ703は、画像データを記憶し、例えば画像データがMPEG圧縮動画データである場合に、伸長する際に伸長する前と伸長した後との画像データを記憶するのに利用し、メモリ容量としては少なくとも8×8画素を格納できる容量を持つ。画像処理LSI704は、前述した図1に示すような解像度変換を行う。VRAM705は、解像度変換を行った後の画像データを格納する。表示制御部706は、VRAM705に格納した解像度変換を行った後の画像データを読み出して液晶パネルに表示する。D/A708は、音声出力用のデジタル/アナログ変換器である。システムバス709は、データバス、アドレスバス、コントロールバスからなる。入力部710は、解像度変換の倍率等の指示を受付ける。
【0027】
本システム構成において、CPU701、バッファメモリ703、本発明のスケーリングを行なう画像処理LSI704、および、表示制御706は、一つのLSI化した単体素子であってもよい。
【0028】
つぎに、解像度変換の詳細を図3および図7を参照して説明する。図3に、本実施例の解像度変換における処理フローを示す。
【0029】
図3において、原画像に対して水平方向に何倍するかまた垂直方向に何倍するかを決める解像度変換の倍率を図7に示す本装置の入力部710で受付ける(S301)。CPU701は、画像処理LSI704のパラメータを設定するためのパラメータレジスタに解像度変換の倍率のデータを設定する。画像データ入力部702では、画像データを受け付け、8×8画素の単位ブロックに分割し、バッファメモリ703に分割した単位ブロックごとに画像データを記憶させる。つぎに、画像処理LSI704は、バッファメモリ703に記憶する8×8画素の単位ブロックに分割された原画像データの水平方向1ライン分の8画素データを入力する(S302)。画像処理LSI704は、入力された水平方向1ライン分の8画素データに対して、水平方向に補間画素を発生し、水平方向の8ライン分のスケーリング演算処理を行う(S303)。つぎに、画像処理LSI704は、水平方向のスケーリング演算処理された8ライン分のデータに対して、垂直方向に補間画素を発生し、一度に補間ラインを生成し、垂直方向のスケーリング演算処理を行う(S304)。最後に、水平方向および垂直方向のスケーリング演算処理後の単位画素ブロック毎に表示メモリであるVRAM705へライトする(S305)。
【0030】
つぎに、倍率に応じて補間する画素数と画素を補間する位置とついて、詳細に説明する。
【0031】
図4は、図1に示す水平方向スケーリング演算部101が、水平方向に補間画素を生成し、水平方向のスケーリング演算処理を行うための水平方向倍率と、それに対応する補間画素生成点数との関係を示す水平方向補間画素生成テーブルの一例を示している。原画像データに対して8×8画素の単位ブロックに分割された原画像データの水平方向のライン毎に補間画素を生成することから、入力画素数は8画素である。例えば、カラー表示でRGBの各8ビットであれば、1画素あたり24ビットのデータ長となる。また、各画素の画像データは、輝度と色差で表わされたYUVのデジタルデータでもよい。図4に示すように、入力画素数の8画素に対して、倍率ごとに生成画素生成点数を1点ずつ増やしていくことにより水平方向のスケーリングを実現する。例えば、水平方向の倍率を1.625倍に設定した場合、補間画素の生成点数は5点であり、出力画素数は13画素となる。水平方向の倍率から補間画素の生成点数は指定できるが、補間画素の発生位置が画質に影響を及ぼす。補間画素発生位置については後で説明する。
【0032】
図5は、図1に示す垂直方向スケーリング演算部102が、垂直方向に補間画素を生成し、垂直方向のスケーリング演算処理を行うための垂直方向倍率と、それに対応する補間画素生成ライン数との関係を示す垂直方向補間画素生成テーブルの一例を示している。原画像データに対して8×8画素の単位ブロックに分割された原画像データの垂直方向に補間画素を生成し、補間ラインを生成することから、入力ライン数は8ラインである。図5に示すように、入力ライン数の8ラインに対して、生成ライン数を倍率ごとに1ラインずつ増やしていくことにより垂直方向のスケーリングを実現する。例えば、垂直方向の倍率を1.375倍に設定した場合、補間画素の生成ライン数は3ラインであり、出力ライン数は11ラインとなる。水平方向スケーリングと同様に、垂直方向の倍率から補間画素の生成ライン数は指定できるが、補間画素のラインの発生位置が画質に影響を及ぼす。
【0033】
そこで、図6を参照して、水平方向の倍率から補間画素の生成点数を指定し、その補間画素の発生位置について説明する。
【0034】
図6は、原画像データに対して、8×8画素の単位ブロックに分割された水平方向に1ライン8画素の原画像データから補間画素を生成したときに、その発生位置を補間画素数nごとに例示したものである。補間画素の発生位置についてはこれに限らなくてもよいし、ユーザが自分で発生位置を指定できるようにしてもよい。図6において、白枠の長方形の部分は、8×8画素の単位ブロックに分割された、原画像データの1ライン8画素の各画素を示している。また、ハッチングされた四角形の部分は、補間画素であり、その発生位置を示している。nは、0以上の整数であって、補間画素の発生点数を示している。600は、補間画素の発生点数がn=0であり、水平方向に原画像の画素1、画素2の順に画素8まで並んでいる様子を示している。601は、補間画素の発生点数がn=1であり、水平方向に原画像の画素1と画素2との間に補間画素を1画素分発生している。602は、補間画素の発生点数がn=2であり、水平方向に原画像の画素1と画素2との間に補間画素を1画素分発生し、画素5と画素6との間に補間画素を1画素分発生している。このときの水平方向倍率は、図4における水平方向補間画素生成テーブルに示すように1.25倍である。さらに、水平方向倍率を上げていくと、608では、補間画素の発生点数がn=8であり、水平方向に原画像の画素1と画素2との間に補間画素を2画素分発生し、画素2と画素3との間に補間画素を1画素分発生し、画素3と画素4との間に補間画素を1画素分発生し、画素4と画素5との間に補間画素を1画素分発生し、画素5と画素6との間に補間画素を1画素分発生し、画素6と画素7との間に補間画素を1画素分発生し、画素7と画素8との間に補間画素を1画素分発生している。このときの水平方向倍率は、図4における水平方向補間画素生成テーブルに示すように2倍である。同様にして、補間画素の発生点数nに対して、603〜624に示すように補間画素を発生する。
【0035】
このように、倍率に応じて生成する補間画素の数と発生位置とを予め規定しておくことができる。
【0036】
また、上述した説明は、水平方向の補間画素の発生位置に関するものであるが、垂直方向についても同様に補間画素を補間ラインに置き換えればよい。すなわち、垂直方向の倍率から補間画素の生成ライン数を規定し、その補間画素のラインの発生位置についても同様に規定しておくことができる。
【0037】
つぎに、水平・垂直方向のスケーリング演算処理方法について具体的に説明する。図8に、図1に示す水平方向スケーリング演算部101において、水平方向に1.25倍に拡大する場合のフローチャートを示す。1.25倍する場合には、図4に示すように、生成点数n=2であり、1ライン8画素分の画素データは10画素に画素数変換される。
【0038】
図8において、まず、水平方向スケーリング演算部101は、画素数変換後の画素数分である10画素分の画素データを格納するメモリ(配列)エリアを確保し(S801)、1ライン分のデータを入力し、確保したメモリに格納する(S802)。このとき、図4および図6に示す水平方向補間画素生成テーブルに従って補間画素を挿入する場所、つまり1画素と2画素の間、5画素と6画素の間を空けて格納する。そして、S803で入力された8画素分の画素データの間にスプライン関数による曲線を発生させ、補間画素を生成し、先程空けておいたメモリエリア(配列)の中に格納する。
【0039】
この曲線の発生方法について図9を参照して説明する。図9に、水平方向のスケーリング演算処理によって画素数変換されるときの画素位置に対する画素データを示している。横軸は画素データの位置(ならび)を表わし、縦軸は画素データの値(輝度)を表わす。
【0040】
図9において、901が画素数変換前の8画素分の画素データであり、902は画素数変換後の10画素分の画素データを示している。前述した図8に示すS802において、図4および図6に示す水平方向補間画素生成テーブルに従って図9における903に示すように、補間画素を挿入する位置を空けて8画素分の画素データを並べる。そして、図9における904に示すように、その8画素データからスプライン関数による曲線905を発生させる。ここで、スプライン関数とは、図20に示すような区分的多項式関数であり、小区間内ではそれぞれ、たかだかm次の違った多項式曲線で定義され、それらは互いにできるだけ滑らかにつながっているようなものである。この曲線905と、補間画素の発生位置C1とC2とのそれぞれの交点の値が補間画素データの値(輝度)906および907となる。水平方向スケーリング演算部101は、このようにして補間画素データ906および907を生成し、1ライン分のスケーリング演算処理が終わり、垂直方向スケーリング演算部102へ1ライン10画素分の画素データ902を出力する。このように、水平方向スケーリング演算処理部101では、順次1ラインずつスケーリング演算処理を行い、垂直方向スケーリング演算処理部102へ出力する。
【0041】
また、図10および図11を参照して垂直方向の解像度変換処理について説明する。図10に、図1に示す垂直方向スケーリング演算部102において、垂直方向に1.25倍に拡大する場合のフローチャートを示す。図11に、垂直方向のスケーリング演算処理によって画素数変換されるときの画素位置に対する画素データを示している。1.25倍する場合には、図4に示すように、生成ライン数n=2であり、8ライン分の画素データが10ライン分の画素データに画素数変換される。
【0042】
あらかじめ、垂直方向スケーリング演算処理部102内には、(水平方向拡大後の画素数8+n)×(8ライン)分のメモリが確保されており、ここでは生成点数n=2であるから、10×8=80画素分のメモリが確保されている。垂直方向スケーリング演算処理部102は、図11に示すように、水平方向スケーリング演算処理部101から順に送られてくる、水平方向の画素数変換後の8ライン分の画素データ1101〜1108をメモリに格納していき、8ライン分格納されると垂直方向のスケーリング演算処理を開始する。
【0043】
図10において、垂直方向スケーリング演算処理部102は、メモリに格納されている8ライン分の列ごとの画素データ、例えば、図11に示すような、列単位での8画素分の画素データ1112を入力する(S1001)。そして、垂直方向スケーリング演算処理部102は、各列ごとに補間画素データを生成する(S1002)。図11において、X11、X21、X31、X41、X51、X61、X71、X81の垂直方向の同じ列に当たる画素データ8画素分1112から、水平方向と同様にスプライン関数による曲線1109を求める。このとき、図5に示す垂直方向補間画素生成テーブルに従って補間ラインを挿入する場所、つまり、1ラインと2ラインの間(D11)と、5ラインと6ラインの間(D21)とに補間画素を発生させる。このとき曲線1109と、D11およびD21との交点1110、1111の値がそれぞれ補間画素データの値となる。これらX11、X21、X31、X41、X51、X61、X71、X81と補間画素データD11、D21をVRAMに直接書き込み、次のC11〜C81からまた同じようにして補間画素データを生成する。図12に、単位ブロックの画素数変換後の画素データを示す。図12に示すように、C11〜C811201、C12〜C821202、D11〜D201203、D21〜D301204の補間画素データが生成される。このようにして、水平方向の10画素分、列ごとに補間画素データを生成し、8×8画素が10×10画素の単位ブロックに変換され、スケーリング演算処理が終了する。この処理を原画像データの解像度分繰り返す。例えば、原画像データの解像度が160×120画素のデータであれば、図13に示すように、8×8画素単位のブロックが20×15=300個存在するので、8×8画素単位のスケーリング演算処理を300回繰り返せばよい。これにより、200×150画素の画像データに変換される。
【0044】
次に、具体的な例を用いて詳細に説明する。図23(1)は、8×8画素の“A”という原画像データである。画像データは、8ビットデータ(0〜255)とし、図中の数値はその画素の輝度値を表している。この画像データを、1.25倍に拡大処理する場合、従来の直線補間法で補間画素を生成した拡大画像を図23(2)に、本実施例のスプライン関数による曲線補間で補間画素を生成した拡大画像を図23(3)に示す。拡大後の補間画素の輝度値を比較すると、(2)の直線補間法で生成した補間画素より(3)のスプライン関数による曲線補間法で生成した補間画素の方がより隣接画素の輝度値に近いことがわかる。したがって、スプライン関数による曲線補間法で補間画素を生成した方が、画像の輪郭部などにおいて、拡大処理後もぼやけの少ない画像を実現することができる。
【0045】
本実施例によれば、予め補間する画素数と補間位置とを倍率に応じて規定しておくことができる。また、単位ブロックの水平方向または垂直方向の画素の画像データからスプライン関数による曲線を求め、この求めた曲線上に補間画素の画像データを決定することができる。本実施例によれば、原画像の画素数を増やす解像度変換において、モザイク状のギザギザが目立つ画像を防止し、高品質な画像を実現することができる。さらに、デジタル動画像処理を満足する高速な解像度変換処理を実現することができる。また、最小限のハードウエア規模で任意の解像度変換処理を実現することができる。
【0046】
つぎに、第2の実施例を説明する。第1の実施例においては、単位ブロックの画素内に補間画素を生成させる場合について説明したが、第2の実施例においては、単位ブロックと単位ブロックとが隣接する部分の画素間、つまり、単位ブロックの画素の外側の位置において、補間画素を発生させ、単位ブロックの隣接部分においても画素データが不連続にならないようにしている。
【0047】
図14に、8画素データを水平方向に3倍に拡大するときの第2の実施例における補間画素の発生位置のパターンの一例を示す。図14においては、原画像の画像データ1〜8から、3次スプライン曲線1409に基づいて補間画素データ1401〜1408を生成する場合を示す。この場合、補間画素データ1408は、原画像データ8の外側に発生させる。補間画素データをスプライン関数で曲線補間して生成するとき、原画素データ1〜8から3次スプライン曲線1409を発生させるため、原画素データ1〜8の間に挟まれる補間画素データ1401〜1407までは生成できるが、補間画素データ1408は原画素データ1〜8の間に挟まれないので、次の点1410が存在しないと曲線補間ができない。曲線補間法で補間画素を生成するために、次ぎの点1410の位置の画素データの値を、画素7の画素データの値として利用するとすると、つぎに入力される8×8画素の画素データとのつなぎ目が不連続になる可能性がある。
【0048】
そこで、本実施例においては、図15に示すように、画素ブロック1〜300までのあるときに、水平・垂直方向の補間画素データを生成する場合、8×8画素単位の画素ブロック1と、その右隣の画素ブロック2の一番左端の1列分の画素データ1501と、画素ブロック21の上端のラインの画素データ1502と、画素ブロック22の左上端の画素データ1503とからスプライン関数による曲線補間で画素ブロック1のスケーリング処理を行なう。
【0049】
この処理について、図16に示すフローチャートを参照して説明する。図16に示すフローチャートは、160×120画素(単位ブロック数300)の原画素データをm×n倍に拡大する場合のスケーリング処理の単位ブロックにおける処理手順を表したものである。
【0050】
図16において、図1に示す水平方向スケーリング演算処理部101は、図15に示すブロック1と、その右隣の画素ブロック2の一番左端の1列分の画素データ1501と、画素ブロック21の上端のラインの画素データ1502と、画素ブロック22の左上端の画素データ1503とを少なくとも格納するためのメモリ(メモリ1)を確保する。また、画素データをブロックごとに順番に出力している場合には、ブロック1〜ブロック22までの22ブロック分の画素(8×8×22=1408画素)の原画素データを格納するメモリ(メモリ1)を確保し(S1601)、データを格納するようにしてもよい。また、垂直方向スケーリング演算処理部102は、垂直方向スケーリング演算結果格納用メモリとして、水平方向に変換後のブロック1からブロック20までの画素とブロック21〜40の1ライン目の画素{8×(横方向拡大率m)}×(8+1)分の原画素データを格納するメモリ(メモリ2)を確保する(S1602)。
【0051】
そして、水平方向スケーリング演算処理部101は、メモリ1からブロック1の画素データと、ブロック2の左端1列分の画素データとを読み込み、1ライン9画素分の原画素データから水平方向スケーリング演算処理をそれぞれのラインについて行い、このようにして求めた水平方向スケーリング演算結果をメモリ2に格納する(S1603)。また、水平方向スケーリング演算処理部101は、メモリ1からブロック21の上端1行分の画素データ1502とブロック22の左上端の画素データ1503の計9画素分の画素データを読み込み、この9画素分の画素データから水平方向スケーリング演算処理を行い、メモリ2に格納する(S1604)。これにより、メモリ2には、図19に示すように、水平方向にm倍に拡大処理された9ライン分のデータが格納されていることになる。この時、原画素データの9画素目にあたるブロック2の左端1列分の画素データ1501はメモリ2には格納しない。そして、垂直方向スケーリング演算処理部102は、メモリ2に格納されている水平方向演算結果から、水平方向と同様に垂直方向スケーリング演算処理をそれぞれの列について行い、図7に示すVRAMに書き込んでいく(S1605)。これで、ブロック1の拡大処理が終了する。つぎに、ブロック2の拡大処理を同様に行う。このようにして、各ブロックごとに拡大処理を行っていき、全てのブロックについて拡大処理を行う。
【0052】
また、図15に示す1504において、一番右端のブロックにあたる20ブロックや40ブロックなどの場合、右隣の21ブロック目が存在しないので、図15に示す左端の1列分の画素データ1501と、画素ブロック22の左上端の画素データ1503に相当する画素データが存在しないことがある。この場合には、例えば、ブロック20の7画素目にあたる画像データの値を、平行移動して9画素目の画像データの値とすることにより、曲線補間による水平方向のスケーリング処理を行うようにしてもよい。同様に、垂直方向に関しても、図15に示す1504において、ブロック281〜ブロック300はその下のブロックが存在しないため、図15に示す上端のラインの画素データ1502にあたる画素データが存在しない。そのため、ブロック281〜300の7ライン目にあたる画像データの値を平行移動して9ライン目の画像データの値とすることにより、曲線補間による垂直方向のスケーリング処理を行うことができる。
【0053】
本実施例によれば、単位ブロックと単位ブロックとが隣接する部分の画素間、つまり、単位ブロックの画素の外側の位置において、補間画素を発生させることができ、単位ブロックの隣接部分においても画素データが不連続にならないようにすることができる。
【0054】
上述した第1および第2の実施例では、曲線補間を行う場合、図20に示すようなスプライン関数による曲線補間を行ったが、スプライン関数はこれに限らずm次スプライン関数を簡易化した混合スプライン関数や、ベーススプライン関数を用いてもよいし、又、図21に示すように、4つの補間点から始終点のみを通るような3次ベジェ曲線を用いて曲線補間を行ってもよいし、他の補間式を用いて補間を行ってもよい。
【0055】
【発明の効果】
本発明によれば、デジタル原画像を異なる画素数のデジタル画像に変換して、ディスプレイに表示する解像度変換装置および方法において、高品質な画像を再現することができる。さらに、解像度変換処理の高速化および低価格化が図れる。
【図面の簡単な説明】
【図1】画像拡大スケーリング処理方法のブロック図である。
【図2】画像拡大スケーリング処理方法の説明図である。
【図3】画像拡大スケーリング処理方法のフローチャートである。
【図4】水平方向補間画素生成テーブルの説明図である。
【図5】垂直方向補間画素生成テーブルの説明図である。
【図6】画像拡大スケーリング処理方法の説明図である。
【図7】画像拡大スケーリング処理におけるシステム構成図である。
【図8】水平方向スケーリング演算処理のフローチャートである。
【図9】水平方向スケーリング演算処理の補間画素データ生成の説明図である。
【図10】垂直方向スケーリング演算処理のフローチャートである。
【図11】垂直方向スケーリング演算処理の補間画素データ生成の説明図である。
【図12】1.25倍に画素数変換後の画素データ模式図である。
【図13】160×120画素の画素データにおける8×8画素単位ブロック分けの説明図である。
【図14】画像拡大スケーリング処理方法の説明図である。
【図15】画像拡大スケーリング処理方法の説明図である。
【図16】画像拡大スケーリング処理方法を説明するフローチャートである。
【図17】従来の画像拡大スケーリング処理方法のブロック図である。
【図18】直線補間による補間画素データ生成の説明図である。
【図19】メモリ2の構造を説明する図である。
【図20】m次スプライン関数の模式図である。
【図21】3次ベジェ関数の模式図である。
【図22】直線補間の模式図である。
【図23】拡大画像データ例である。
【符号の説明】
101…水平方向スケーリング演算部、102…垂直方向スケーリング演算部、701…CPU、702…画像入力部、703…バッファメモリ、704…スケーリング制御部、705…VRAM、706…表示制御部、707…液晶パネル。[0001]
[Industrial applications]
The present invention relates to a resolution conversion apparatus that converts digital image information of a still image or a moving image composed of characters, graphics, and natural images into image information having different numbers of pixels and displays the image information on a display. The present invention relates to a resolution conversion device and a resolution conversion method suitable for displaying input image information in a display device having a different resolution or a window environment in moving image display.
[0002]
[Prior art]
When converting the resolution of a digital image to increase the number of pixels of the original image, the original image is enlarged and displayed on the same display device. Therefore, it is effective for enlarged display of a window. In addition, it is possible to display on a display device having a higher resolution than the resolution of the original image. Therefore, the simplest method is to increase the number of pixels in the original image by filling the same pixel in the horizontal and vertical directions for one pixel of the original image.
[0003]
Japanese Patent Application Laid-Open No. 6-124189 discloses an "image display device and an image display control method" in which pixel data in the horizontal direction and the vertical direction of an original image are averaged, and the number of pixels of the original image is reduced. There are ways to reduce this. In this method, a line is drawn by using a line drawing algorithm known as a conventional technique, and a straight line of an original image is represented by y horizontal components of at least one dot. Degrees or less. The length of each horizontal component can be considered to represent the number of pixel data of image input corresponding to one pixel data after reduced scaling written in the VRAM. Although the length of each horizontal component may be different or the same in all cases, reduction scaling in the horizontal direction is performed by averaging pixel data for n dots. The same applies to the vertical direction. By making the inclination of this
[0004]
Further, instead of simply filling the same pixel, when filling the same pixel, as shown in FIGS. 18 and 22, the gradation values of the interpolation pixels are connected so that the gradation values between the pixels of the original image are connected by a straight line. Conventionally, there is a method of increasing the number of pixels of the original image by calculating and filling the pixels. FIGS. 18 and 22 show the gradation values at each pixel position in the horizontal direction.
[0005]
FIG. 17 shows a method for arbitrarily converting the resolution of an original image.
[0006]
[Problems to be solved by the invention]
<<
[0007]
<<
[0008]
<<
[0009]
Therefore, a first object of the present invention is to prevent a mosaic jagged image from being noticeable in a resolution conversion for increasing the number of pixels of an original image and realize a high-quality image.
[0010]
Further, a second object of the present invention is to realize high-quality images by preserving high-frequency components such as outline portions of images having sharp gray-scale boundaries in resolution conversion for increasing the number of pixels of an original image. is there.
[0011]
Further, a third object of the present invention is to realize high-speed resolution conversion processing that satisfies digital moving image processing in resolution conversion for increasing the number of pixels of an original image.
[0012]
[Means for Solving the Problems]
In order to achieve the object of the present invention, in a resolution conversion device that converts a digital original image into a digital image having a different number of pixels according to a specified conversion magnification,
For each block of a predetermined number of pixels of the digital original image, determining means for determining an interpolation position of an interpolation pixel to be interpolated with respect to the block of the digital original image according to the conversion magnification,
For each block of the digital original image, according to a predetermined interpolation formula in which a coefficient is determined by a pixel position and pixel data of each pixel of the block, a pixel to be interpolated to the interpolation position determined by the determination unit is determined. A generating unit that generates image data and outputs a converted digital image from the image data of the pixels of the digital original image and the generated image data of the pixels to be interpolated.
[0013]
Further, in a resolution conversion device that converts a digital original image into a digital image having a different number of pixels according to a designated conversion magnification,
For each block of a predetermined number of pixels of the digital original image, determining means for determining an interpolation position of an interpolation pixel to be interpolated with respect to the block of the digital original image according to the conversion magnification,
For each block of the digital original image, the pixel position and pixel data of each pixel of the block, and according to a predetermined interpolation formula whose coefficient is determined by the pixel position and pixel data of the pixel adjacent to the block, Generating image data of a pixel to be interpolated at the interpolation position determined by the determining unit, and outputting a digital image after conversion from the image data of the pixel of the digital original image and the generated image data of the pixel to be interpolated; And a generation unit.
[0014]
[Action]
In the resolution conversion apparatus according to the present invention, the determination unit determines, for each block of a predetermined number of pixels of the digital original image, an interpolation position of an interpolation pixel to be interpolated with respect to the block of the digital original image according to the conversion magnification. I do. In this case, for example, an interpolation position can be defined in a table for each conversion magnification, and the interpolation position can be determined according to the conversion magnification with reference to this table. Also, the unit block can be a block of 8 × 8 pixels.
[0015]
The generating unit interpolates, for each block of the digital original image, the interpolation position determined by the determination unit according to a predetermined interpolation formula in which a coefficient is determined by a pixel position and pixel data of each pixel of the block. The image data of the pixel to be converted is generated, and the converted digital image is output from the image data of the pixel of the digital original image and the generated image data of the pixel to be interpolated. The interpolation formula can be a spline function or a Bezier function.
[0016]
Thereby, the pixel data of the interpolation pixel can be optimized.
[0017]
According to the present invention, in the resolution conversion for increasing the number of pixels of the original image, it is possible to prevent a mosaic jagged image from being conspicuous, and realize a high-quality image with respect to a natural image or the like whose contour is not clear. In addition, for characters and figures with clear contours, high-frequency components such as contours of the image with sharp boundaries are preserved, and high-quality images can be realized.
[0018]
When an interpolation position is provided between pixels of a block to be interpolated and an adjacent block, in addition to the pixel position and pixel data of the block, the pixel position and pixel data of a pixel adjacent to the block to be interpolated are further determined. Can be used to determine the coefficients of the interpolation formula. Accordingly, an interpolated pixel can be generated between pixels in a portion where the unit block is adjacent to the unit block, that is, in a position outside the pixel of the unit block, and pixel data is also discontinuous in the adjacent portion of the unit block. Can be avoided.
[0019]
Further, the determining unit sets the conversion magnification as a conversion ratio between a horizontal direction and a vertical direction, and the generation unit generates the image data of the pixel to be interpolated in the horizontal direction. In the case where the apparatus is provided with the vertical direction generating means for performing the direction, the generation can be performed in each of the generating means, so that the speed can be increased.
[0020]
【Example】
Hereinafter, embodiments of the present invention will be described in detail.
[0021]
First, a general configuration and a processing flow of the present invention will be described, and then, a detailed configuration and a processing flow for solving the problem will be described.
[0022]
In the present embodiment, an interpolated pixel is generated, the number of pixels is increased, and the image is converted into an enlarged image.For each unit pixel block having a predetermined number of pixels, the number of pixels to be interpolated according to the magnification and the number of pixels are interpolated. The image data of the pixel to be interpolated at the interpolation position is generated according to a predetermined interpolation formula in which a coefficient is determined based on the pixel position of the block and the pixel data. That is, when the gradation value of the pixel in the unit block is represented by a predetermined function (interpolation formula), the gradation value of the interpolated pixel is obtained by the gradation value on the function for the position of the pixel to be interpolated.
[0023]
FIG. 1 shows a block diagram of a hardware configuration for converting a digital original image into a digital image having a different number of pixels. FIG. 2 shows how pixel conversion is performed. The device in this embodiment need not be limited to the configuration as shown in FIG. 1 and may be a single element formed as an LSI as a microcomputer peripheral device or a device systemized by software. Here, the digital original image data such as a still image or a moving image is obtained by expanding compressed data such as JPEG or MPEG or digitizing a signal such as NTSC.
[0024]
In FIG. 1, a horizontal scaling operation unit 101 converts the number of pixels in the input original image data in the horizontal direction. The horizontal direction scaling operation unit 101 inputs the
[0025]
Next, the vertical scaling operation unit 102 converts the number of pixels in the vertical direction with respect to the image data output from the horizontal scaling operation unit 101 and converted in the horizontal direction. The vertical scaling operation unit 102 inputs the
[0026]
FIG. 7 shows a system configuration example to which the present invention is applied. The CPU 701 is a central processing unit that processes information. An image data input unit 702 inputs compressed digital still image data or moving image data. The
[0027]
In the present system configuration, the CPU 701, the
[0028]
Next, the details of the resolution conversion will be described with reference to FIGS. FIG. 3 shows a processing flow in the resolution conversion of the present embodiment.
[0029]
In FIG. 3, the magnification of the resolution conversion for determining how many times the original image is to be multiplied in the horizontal and vertical directions is received by the input unit 710 of the apparatus shown in FIG. 7 (S301). The CPU 701 sets the resolution conversion magnification data in a parameter register for setting the parameters of the image processing LSI 704. The image data input unit 702 receives the image data, divides it into 8 × 8 pixel unit blocks, and stores the image data in the
[0030]
Next, the number of pixels to be interpolated according to the magnification and the position at which the pixels are interpolated will be described in detail.
[0031]
FIG. 4 is a diagram illustrating a relationship between a horizontal scaling factor for the horizontal scaling operation unit 101 illustrated in FIG. 1 to generate an interpolation pixel in the horizontal direction and perform a horizontal scaling operation process, and a corresponding number of interpolation pixel generation points. 5 shows an example of a horizontal direction interpolation pixel generation table showing the following. Since an interpolation pixel is generated for each horizontal line of the original image data divided into unit blocks of 8 × 8 pixels with respect to the original image data, the number of input pixels is eight. For example, in the case of 8 bits for each of RGB in color display, the data length is 24 bits per pixel. The image data of each pixel may be YUV digital data represented by luminance and color difference. As shown in FIG. 4, scaling in the horizontal direction is realized by increasing the number of generated pixel generation points by one for each magnification for eight input pixels. For example, when the horizontal magnification is set to 1.625, the number of generated interpolation pixels is 5, and the number of output pixels is 13. The number of interpolation pixels to be generated can be specified from the horizontal magnification, but the position at which the interpolation pixels are generated affects the image quality. The position where the interpolation pixel is generated will be described later.
[0032]
FIG. 5 shows the vertical scaling factor for the vertical scaling operation unit 102 shown in FIG. 1 to generate interpolation pixels in the vertical direction and perform vertical scaling operation processing, and the number of interpolation pixel generation lines corresponding thereto. 6 shows an example of a vertical direction interpolation pixel generation table showing the relationship. Since the interpolation pixels are generated in the vertical direction of the original image data divided into unit blocks of 8 × 8 pixels with respect to the original image data and the interpolation lines are generated, the number of input lines is eight. As shown in FIG. 5, the scaling in the vertical direction is realized by increasing the number of generated lines by one for each magnification for eight input lines. For example, when the magnification in the vertical direction is set to 1.375 times, the number of generated lines of the interpolation pixel is three, and the number of output lines is eleven. As in the case of horizontal scaling, the number of lines for generating interpolation pixels can be specified based on the magnification in the vertical direction.
[0033]
Therefore, referring to FIG. 6, the number of interpolation pixel generation points is specified based on the horizontal magnification, and the generation position of the interpolation pixel will be described.
[0034]
FIG. 6 shows a case where interpolation pixels are generated from original image data of eight pixels per line in the horizontal direction divided into unit blocks of 8 × 8 pixels with respect to the original image data. It is illustrated for each case. The generation position of the interpolation pixel is not limited to this, and the user may be allowed to specify the generation position by himself. In FIG. 6, a rectangular portion of a white frame indicates each pixel of 8 pixels per line of the original image data divided into unit blocks of 8 × 8 pixels. The hatched quadrangular portion is an interpolated pixel, and indicates the generation position. n is an integer equal to or greater than 0, and indicates the number of occurrence points of the interpolation pixel.
[0035]
As described above, the number of interpolation pixels to be generated and the generation position can be defined in advance according to the magnification.
[0036]
Further, the above description relates to the generation position of the interpolation pixel in the horizontal direction. However, the interpolation pixel in the vertical direction may be similarly replaced with the interpolation line. That is, the number of generation lines of the interpolation pixel can be defined based on the magnification in the vertical direction, and the generation position of the line of the interpolation pixel can be similarly defined.
[0037]
Next, the horizontal and vertical scaling operation processing method will be specifically described. FIG. 8 shows a flowchart in the case where the horizontal scaling operation unit 101 shown in FIG. 1 enlarges the image by 1.25 times in the horizontal direction. In the case of multiplying by 1.25, as shown in FIG. 4, the number of generated points is n = 2, and the pixel data of eight pixels per line is converted into ten pixels.
[0038]
In FIG. 8, first, the horizontal scaling operation unit 101 secures a memory (array) area for storing pixel data of 10 pixels, which is the number of pixels after pixel number conversion (S801), and data of one line Is input and stored in the secured memory (S802). At this time, the interpolation pixels are stored according to the horizontal interpolation pixel generation tables shown in FIGS. Then, a curve based on a spline function is generated between the pixel data of eight pixels input in S803, an interpolation pixel is generated, and the interpolation pixel is stored in the memory area (array) that has been previously opened.
[0039]
A method of generating this curve will be described with reference to FIG. FIG. 9 shows pixel data for a pixel position when the number of pixels is converted by horizontal scaling operation processing. The horizontal axis represents the position (order) of the pixel data, and the vertical axis represents the value (luminance) of the pixel data.
[0040]
In FIG. 9,
[0041]
The vertical resolution conversion processing will be described with reference to FIGS. FIG. 10 shows a flowchart in the case where the vertical scaling operation unit 102 shown in FIG. 1 enlarges the image vertically by 1.25 times. FIG. 11 shows pixel data for a pixel position when the number of pixels is converted by vertical scaling operation processing. In the case of multiplying by 1.25, as shown in FIG. 4, the number of generated lines is n = 2, and the pixel data of eight lines is converted into the pixel data of ten lines.
[0042]
A memory for (number of
[0043]
In FIG. 10, the vertical scaling operation processing unit 102 stores pixel data for each column of eight lines stored in the memory, for example, pixel data 1112 of eight pixels for each column as shown in FIG. An input is made (S1001). Then, the vertical scaling operation processing unit 102 generates interpolation pixel data for each column (S1002). In FIG. 11, X 11 , X 21 , X 31 , X 41 , X 51 , X 61 , X 71 , X 81 , A
[0044]
Next, a specific example will be described in detail. FIG. 23A shows original image data of “A” of 8 × 8 pixels. The image data is 8-bit data (0 to 255), and the numerical values in the figure represent the luminance values of the pixels. When this image data is enlarged by a factor of 1.25, an enlarged image in which interpolation pixels are generated by the conventional linear interpolation method is shown in FIG. 23 (2), and interpolation pixels are generated by curve interpolation using the spline function of the present embodiment. The enlarged image obtained is shown in FIG. Comparing the luminance values of the interpolated pixels after the enlargement, the interpolated pixels generated by the curve interpolation method using the spline function of (3) are more likely to have luminance values of adjacent pixels than the interpolated pixels generated by the linear interpolation method of (2). It turns out that it is close. Therefore, when the interpolation pixels are generated by the curve interpolation method using the spline function, it is possible to realize an image with little blurring even after the enlargement processing in the contour portion of the image.
[0045]
According to this embodiment, the number of pixels to be interpolated and the interpolation position can be defined in advance according to the magnification. Further, a curve based on a spline function is obtained from the image data of the pixels in the unit block in the horizontal direction or the vertical direction, and the image data of the interpolation pixel can be determined on the obtained curve. According to this embodiment, in resolution conversion for increasing the number of pixels of an original image, an image in which mosaic jaggies are conspicuous can be prevented, and a high-quality image can be realized. Further, high-speed resolution conversion processing that satisfies digital moving image processing can be realized. Also, an arbitrary resolution conversion process can be realized with a minimum hardware scale.
[0046]
Next, a second embodiment will be described. In the first embodiment, the case where the interpolation pixel is generated within the pixel of the unit block has been described. However, in the second embodiment, the unit block and the unit block are located between adjacent pixels, that is, the unit block. Interpolated pixels are generated at positions outside the pixels of the block so that the pixel data does not become discontinuous even in an adjacent portion of the unit block.
[0047]
FIG. 14 shows an example of the pattern of the generation positions of the interpolated pixels in the second embodiment when the 8-pixel data is enlarged three times in the horizontal direction. FIG. 14 shows a case where interpolated
[0048]
Accordingly, in the present embodiment, as shown in FIG. 15, when there are
[0049]
This processing will be described with reference to the flowchart shown in FIG. The flowchart illustrated in FIG. 16 illustrates a processing procedure in a unit block of a scaling process when the original pixel data of 160 × 120 pixels (300 unit blocks) is enlarged by m × n times.
[0050]
In FIG. 16, the horizontal scaling operation processing unit 101 illustrated in FIG. 1 includes the
[0051]
Then, the horizontal scaling operation processing unit 101 reads the pixel data of the
[0052]
In addition, in the case of a block at the right end, such as 20 block or 40 block, there is no 21st block on the right side in 1504 shown in FIG. 15, so pixel data 1501 for one column at the left end shown in FIG. Pixel data corresponding to the pixel data 1503 at the upper left corner of the
[0053]
According to the present embodiment, an interpolated pixel can be generated between pixels in a portion where a unit block and a unit block are adjacent to each other, that is, at a position outside the pixel of the unit block. Data can be prevented from being discontinuous.
[0054]
In the above-described first and second embodiments, when performing the curve interpolation, the curve interpolation using the spline function as shown in FIG. 20 was performed. However, the spline function is not limited to this, and the mixed order obtained by simplifying the m-order spline function is used. A spline function or a base spline function may be used, or, as shown in FIG. 21, curve interpolation may be performed using a cubic Bezier curve passing only from the four interpolation points to the start and end points. Interpolation may be performed using another interpolation formula.
[0055]
【The invention's effect】
According to the present invention, a high-quality image can be reproduced by a resolution conversion apparatus and method for converting a digital original image into a digital image having a different number of pixels and displaying the digital image on a display. Further, the resolution conversion processing can be speeded up and reduced in cost.
[Brief description of the drawings]
FIG. 1 is a block diagram of an image enlargement scaling processing method.
FIG. 2 is an explanatory diagram of an image enlargement scaling processing method.
FIG. 3 is a flowchart of an image enlargement scaling processing method.
FIG. 4 is an explanatory diagram of a horizontal interpolation pixel generation table.
FIG. 5 is an explanatory diagram of a vertical direction interpolation pixel generation table.
FIG. 6 is an explanatory diagram of an image enlargement scaling processing method.
FIG. 7 is a system configuration diagram in an image enlargement scaling process.
FIG. 8 is a flowchart of a horizontal scaling operation process.
FIG. 9 is a diagram illustrating generation of interpolated pixel data in horizontal scaling operation processing.
FIG. 10 is a flowchart of a vertical scaling operation process.
FIG. 11 is an explanatory diagram of generation of interpolation pixel data in vertical scaling operation processing.
FIG. 12 is a schematic diagram of pixel data after the number of pixels has been converted to 1.25 times.
FIG. 13 is an explanatory diagram of block division of 8 × 8 pixels in pixel data of 160 × 120 pixels.
FIG. 14 is an explanatory diagram of an image enlargement scaling processing method.
FIG. 15 is an explanatory diagram of an image enlargement scaling processing method.
FIG. 16 is a flowchart illustrating an image enlargement scaling processing method.
FIG. 17 is a block diagram of a conventional image enlargement scaling processing method.
FIG. 18 is a diagram illustrating generation of interpolated pixel data by linear interpolation.
FIG. 19 is a diagram illustrating the structure of a
FIG. 20 is a schematic diagram of an m-order spline function.
FIG. 21 is a schematic diagram of a cubic Bezier function.
FIG. 22 is a schematic diagram of linear interpolation.
FIG. 23 is an example of enlarged image data.
[Explanation of symbols]
Reference numeral 101: horizontal scaling calculator, 102: vertical scaling calculator, 701: CPU, 702: image input unit, 703: buffer memory, 704: scaling controller, 705: VRAM, 706: display controller, 707: liquid crystal panel.
Claims (5)
前記デジタル原画像の予め定めた画素数のブロックごとに、前記デジタル原画像の前記ブロックに対して補間する補間画素の補間位置を前記変換倍率に応じて決定する決定手段と、
前記デジタル原画像の前記ブロックごとに、当該ブロックのそれぞれの画素の画素位置および画素データにより係数が決定される予め定めた補間式に従って、前記決定手段により決定される前記補間位置に補間する画素の画像データを生成し、前記デジタル原画像の画素の画像データと当該生成した補間する画素の画像データとから変換後のデジタル画像を出力する生成部と、を有し、
前記決定手段は、前記補間位置の少なくとも一つを、当該補間するブロックと隣接するブロックとの画素間に設けるように決定し、
前記生成手段は、前記補間する画素の画素データを、当該補間するブロックに隣接する画素の画素位置と画素データとをさらに用いて前記補間式の係数を決定することにより生成することを特徴とする解像度変換装置。In a resolution conversion device that converts a digital original image into a digital image having a different number of pixels according to a specified conversion magnification,
For each block of a predetermined number of pixels of the digital original image, determining means for determining an interpolation position of an interpolation pixel to be interpolated with respect to the block of the digital original image according to the conversion magnification,
For each block of the digital original image, according to a predetermined interpolation formula in which a coefficient is determined by a pixel position and pixel data of each pixel of the block, a pixel to be interpolated to the interpolation position determined by the determination unit is determined. A generating unit that generates image data and outputs a digital image after conversion from the image data of the pixel of the digital original image and the image data of the generated pixel to be interpolated ,
The determining means determines that at least one of the interpolation positions is provided between pixels of a block to be interpolated and an adjacent block,
The generation means generates the pixel data of the pixel to be interpolated by determining a coefficient of the interpolation formula further using a pixel position and pixel data of a pixel adjacent to the block to be interpolated. Resolution converter.
前記生成部は、前記補間する画素の画像データの生成を、前記水平方向について行う水平方向生成手段と、前記垂直方向について行う垂直方向生成手段とを備えることを特徴とする解像度変換装置。2. The method according to claim 1, wherein the determining unit sets the conversion magnification as a conversion magnification between a horizontal direction and a vertical direction.
The resolution conversion apparatus according to claim 1, wherein the generation unit includes a horizontal direction generation unit that generates the image data of the pixel to be interpolated in the horizontal direction and a vertical direction generation unit that performs the vertical direction.
前記デジタル原画像の予め定めた画素数のブロックごとに、前記デジタル原画像の前記ブロックに対して補間する補間画素の補間位置を前記変換倍率に応じて決定する決定手段と、
前記デジタル原画像の前記ブロックごとに、当該ブロックのそれぞれの画素の画素位置および画素データと、当該ブロックに隣接する画素の画素位置および画素データとにより係数が決定される予め定めた補間式に従って、前記決定手段により決定される前記補間位置に補間する画素の画像データを生成し、前記デジタル原画像の画素の画像データと当該生成した補間する画素の画像データとから変換後のデジタル画像を出力する生成部とを有することを特徴とする解像度変換装置。In a resolution conversion device that converts a digital original image into a digital image having a different number of pixels according to a specified conversion magnification,
For each block of a predetermined number of pixels of the digital original image, determining means for determining an interpolation position of an interpolation pixel to be interpolated with respect to the block of the digital original image according to the conversion magnification,
For each block of the digital original image, the pixel position and pixel data of each pixel of the block, and according to a predetermined interpolation formula whose coefficient is determined by the pixel position and pixel data of the pixel adjacent to the block, Generating image data of a pixel to be interpolated at the interpolation position determined by the determining unit, and outputting a digital image after conversion from the image data of the pixel of the digital original image and the generated image data of the pixel to be interpolated; A resolution conversion device comprising: a generation unit.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08961295A JP3582540B2 (en) | 1995-04-14 | 1995-04-14 | Resolution conversion device and resolution conversion method |
TW085103666A TW377431B (en) | 1995-04-14 | 1996-03-27 | Method and apparatus for changing resolution |
KR1019960011176A KR100229516B1 (en) | 1995-04-14 | 1996-04-13 | Resolution conversion apparatus and method |
US08/633,310 US6002810A (en) | 1995-04-14 | 1996-04-15 | Resolution conversion system and method |
US09/452,169 US6151425A (en) | 1995-04-14 | 1999-12-01 | Resolution conversion system and method |
US09/636,059 US6389180B1 (en) | 1995-04-14 | 2000-08-10 | Resolution conversion system and method |
US10/099,951 US6587602B2 (en) | 1995-04-14 | 2002-03-19 | Resolution conversion system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP08961295A JP3582540B2 (en) | 1995-04-14 | 1995-04-14 | Resolution conversion device and resolution conversion method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08286658A JPH08286658A (en) | 1996-11-01 |
JP3582540B2 true JP3582540B2 (en) | 2004-10-27 |
Family
ID=13975581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP08961295A Expired - Fee Related JP3582540B2 (en) | 1995-04-14 | 1995-04-14 | Resolution conversion device and resolution conversion method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3582540B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100384269B1 (en) | 1999-03-24 | 2003-05-16 | 마쯔시다덴기산교 가부시키가이샤 | Image processing device and processing method |
KR100988481B1 (en) * | 2009-06-01 | 2010-10-18 | 전자부품연구원 | Input method and apparatus for mode transformed image |
JP6054788B2 (en) * | 2013-03-26 | 2016-12-27 | Necプラットフォームズ株式会社 | Storage battery residual quantity estimation device and residual quantity estimation method |
-
1995
- 1995-04-14 JP JP08961295A patent/JP3582540B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08286658A (en) | 1996-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100229516B1 (en) | Resolution conversion apparatus and method | |
US20020167523A1 (en) | Pixel engine | |
JP2002024815A (en) | Image conversion method for converting into enlarged image data, image processing device, and image display device | |
KR100818718B1 (en) | Image processing device, and computer-readable recording medium having recorded thereon image processing program | |
JP3449142B2 (en) | Image reduction apparatus and control method thereof | |
JP4022935B2 (en) | Image processing apparatus and processing method | |
JPH0660173A (en) | Method and apparatus for reducing picture | |
JP3599413B2 (en) | Resolution conversion device and resolution conversion method | |
US20010048771A1 (en) | Image processing method and system for interpolation of resolution | |
JP3582540B2 (en) | Resolution conversion device and resolution conversion method | |
JP2005077522A (en) | Image processor and image processing method | |
JP2004213464A (en) | Image processor | |
KR100463552B1 (en) | Cubic convolution interpolation apparatus and method | |
JP4118030B2 (en) | Image compression apparatus / image expansion apparatus, image compression method / image expansion method, and information recording medium for realizing the method | |
JP4024643B2 (en) | Image signal processing device | |
JP4684074B2 (en) | Image processing device | |
JPH03236097A (en) | Method and device for image display | |
JPH10320569A (en) | Image processing device, method therefor, rendering device and method therefor | |
JP2002149105A (en) | Image magnification controller | |
JPH04141787A (en) | Expanding/reducing system for color picture | |
JP3826861B2 (en) | Image processing apparatus, image forming apparatus, and image processing method | |
JPH08272351A (en) | Picture processor | |
JP2007188337A (en) | Image processor | |
US20030142107A1 (en) | Pixel engine | |
JPH11187360A (en) | Image processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20031225 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20040311 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040622 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040716 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040720 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080806 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080806 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080806 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080806 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090806 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100806 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100806 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110806 Year of fee payment: 7 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110806 Year of fee payment: 7 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110806 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110806 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110806 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 Free format text: JAPANESE INTERMEDIATE CODE: R313121 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110806 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110806 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120806 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120806 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130806 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |