JP4035408B2 - Resolution conversion apparatus and method, and information processing apparatus - Google Patents

Resolution conversion apparatus and method, and information processing apparatus Download PDF

Info

Publication number
JP4035408B2
JP4035408B2 JP2002264184A JP2002264184A JP4035408B2 JP 4035408 B2 JP4035408 B2 JP 4035408B2 JP 2002264184 A JP2002264184 A JP 2002264184A JP 2002264184 A JP2002264184 A JP 2002264184A JP 4035408 B2 JP4035408 B2 JP 4035408B2
Authority
JP
Japan
Prior art keywords
pixel
resolution conversion
data
calculation
resolution
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
Application number
JP2002264184A
Other languages
Japanese (ja)
Other versions
JP2004101910A (en
Inventor
井上  健治
真樹 中野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2002264184A priority Critical patent/JP4035408B2/en
Priority to US10/653,902 priority patent/US7050077B2/en
Publication of JP2004101910A publication Critical patent/JP2004101910A/en
Application granted granted Critical
Publication of JP4035408B2 publication Critical patent/JP4035408B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4023Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0414Vertical resolution change
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0421Horizontal resolution change
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Television Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はコンピュータやテレビ等の画像表示における解像度変換に関するものである。
【0002】
【従来の技術】
一般にコンピュータは表示装置の解像度にあわせて複数種類の解像度を表示させることが可能である。例えば表示装置の最高解像度がXGAであるならば、コンピュータはXGAとそれ以下の解像度(VGA,SVGA)の画像を表示させることが必要とされる場合が多い。これはユーザの好みにより、より多くの情報を画面上に表示したり、より見やすくするために大きく表示したりすることを選択可能とするためである。
【0003】
この場合、コンピュータ本体が表示装置に対して所望の解像度を提供するために解像度変換技術が必要となる。
【0004】
また、テレビに関しては日本ではNTSC方式が採用されてきた。これは走査線が483〜485本、走査線1本当たりの画素数は720〜760、総画素数約35万である。ただし通常はインターレースで表示されるため、実際は15万画素程度の分解能となっている。
【0005】
これに対し近年ではハイビジョン方式も多く使われるようになってきた。ハイビジョン方式はHDとも呼ばれ、約75万画素である。これに対応して従来のNTSC放送はSDと呼ばれる。
【0006】
さらにはデジタル放送では480i、720p、1080iといった画像フォーマットがある。480iは640×480のインターレース、720pは1024×720のプログレッシブ、1080iは1280×1080のインターレースを表している。
【0007】
他にもパソコンの画像表示やゲーム、デジカメの映像表示といった用途や、複数の画面を表示させるマルチ画面表示といった用途があり、テレビ上に多くの画像フォーマットを表示する機会が増えてきた。
【0008】
ここで、従来のNTSC放送のようなアナログデータならば、サンプリングレートを変えることによって比較的容易に画像のフォーマット変換が可能である。しかし、デジタル放送やデジカメ画像といったデジタルデータのフォーマット変換を行うためには画像データの補間や間引きを行う必要がある。
【0009】
また、マルチ画面表示のような表示効果をもたせるためには画像のフォーマット変換と共に、画像を拡大縮小するための解像度変換が必要となる。
【0010】
一般にこのような解像度変換を行うためには大きなフレームメモリが必要とされていた。フレームメモリを持たずに解像度変換を行うためには入力画像の1V(1垂直期間)内に全ての処理を終わらせる必要がある。処理時間が1Vを越えてしまうと次のフレーム処理にも影響を及ぼし、結果として大きなメモリを必要としてしまうためである。
【0011】
フレームメモリを使わずに解像度変換を行う例は「スキャンコンバータ」(特開平11−338408号公報)などにも提示されている。しかしながら、ここで提示されている方式は画像のフォーマット変換に主眼をおいたものであり、ユーザによって自在な解像度変換が行われた場合の高画質化を目指したものではない。
【0012】
高画質化を目指すためには複数の画素を参照する方法が一般的に用いられている。単独画素のみの参照で補間するとその画素からの予測にすぎない。しかしながら、複数の画素を用いることによって、補間する画素位置の前後の画素変化をみることができるようになり、その予測の確実性を増すことができる。このときの画素変化は参照画素が2点なら直線になり、3点以上なら曲線で表すことができる。
【0013】
このような複数の画素を参照して補間をする方式としては、線形補間方式、3次元畳み込み方式などが知られている。線形補間は2点(縦横4点)から補間し、3次元畳み込み方式は4点(縦横16点)から画素補間を行う。一般的には参照画素数が多い方が画質はよくなるが、演算処理は複雑になる
ここで畳み込み演算方式について説明する。畳み込み演算では出力1画素につき元画像中の16個の画素と、8個の係数が用いられる。
【0014】
ここで、
変換前座標:x,y
変換後座標:X,Y
変換式:X=A*x、Y=B*y(A:x方向倍率、B:y方向倍率)
とすると、実際には変換前座標(x,y)は非連続数であり、変換後座標(X,Y)は連続数となるから、

Figure 0004035408
を用いて変換前座標を求める。
【0015】
この逆変換の整数部は変換前座標として元画像の画素値を引き出すために使われる。また小数部(余り)は係数作成に用いられる。
【0016】
(X,Y)各画素につき、元画像座標(x,y)から16個の元画像画素値Gを取得する。
【0017】
【数1】
Figure 0004035408
【0018】
また、逆変換により求まった値の小数部をx-[x]、y-[y]と表すと、係数f(t)は以下の計算により求まる。
【0019】
【数2】
Figure 0004035408
【0020】
以上の元画像の16個の画素値(G11〜G44)と8個の係数(x1〜x4、y1〜y4)から以下の計算により変換後の画像の画素値Pが求まる。
【0021】
【数3】
Figure 0004035408
【0022】
ここで、係数の算出のためには3次元の演算が必要になってしまう。この計算量を削減するために、最初のx-[x]値、y-[y]値から条件選択を行い、予め計算しておいた係数テーブルから固定係数を選択することも可能である。
【0023】
以上のように畳み込み演算方式では出力の各画素に元画像の16個の画素値が必要となる。この16個の画素値は、倍率によって読み出し方が変わり、さらには同じ画素に異なる係数を乗算する場合もある。このため入力画素を順次処理してゆくという方法を用いることができない。よって、フレームメモリか複数のラインバッファが必要になる。
【0024】
フレームメモリを用いずに、このような3次元畳み込み演算を行う方式は「表示制御装置及び方法及び表示装置」(特許文献1参照)にも提示されている。ここでは複数の演算部処理を持つことによって、ラインバッファのみで3次元畳み込み演算方式で解像度変換を行う手法が提示されている。
【0025】
【特許文献1】
特開平8−297477号公報
【0026】
【発明が解決しようとする課題】
しかしながら、畳み込み演算方式は乗算が多く、回路が複雑になるため、複数の演算処理部を備える特許文献1の装置では回路規模が大きくなってしまう。
一方、フレームメモリを用いずに、単独の演算処理部で演算を行う場合は、入力の画素クロックに対して約4倍のクロックで演算処理を行えば縦横2倍までの解像度変換を行うことが可能である。しかし、畳み込み演算の場合には、上述のように1画素につき縦4×横4個の画素を読み込む必要がある。縦方向については必要な本数のラインバッファがあれば同時読み出しが可能であるが、横方向については1クロックにつき1画素(列)の読み出ししかできない。
【0027】
本発明は、上記の課題に鑑みてなされたものであり、ラインバッファを用い、単一の演算回路で複数種類の解像度変換に対応可能とすることを目的とする。
また、本発明の他の目的は、ラインバッファを用い、単一の演算回路で、3次元畳み込み演算方式を用いた複数種類の解像度変換に対応可能とすることを目的とする。
【0028】
【課題を解決するための手段】
上記の目的を達成するための本発明による解像度変換装置は、以下の構成を備える。すなわち、
解像度変換前の画像データに対して、解像度変換処理を施し、解像度が変換された画像データを生成する解像度変換装置であって、
画素クロックと水平同期信号に同期して解像度変換前の画像データの各画素値をライン単位に、順次格納する複数のラインバッファと、
所定クロックのカウント値と前記水平同期信号に基づいて、解像度が変換された場合の画像データ中の画素位置を特定する座標値を順次に生成する生成手段と、
前記生成手段で生成された座標値を解像度変換の倍率値に基づいて前記解像度変換前の画像データ中の画素位置に変換する変換手段と、
前記変換手段で得られた画素位置に基づいて演算に必要な画素の画素値を前記複数のラインバッファより取得し、前記座標値に対応する画素の画素値を算出する演算手段と、
前記演算手段による画素値の演算が遂行できない場合、当該演算の遂行が可能な状態となるまで前記生成手段による座標値の生成を停止させる停止手段とを備える。
【0029】
また、上記の目的を達成する本発明の解像度変換方法は、
解像度変換前の画像データに対して、解像度変換処理を施し、解像度が変換された画像データを生成する解像度変換方法であって、
画素クロックと水平同期信号に同期して解像度変換前の画像データの各画素値をライン単位に、複数のラインバッファに順次格納する格納工程と、
所定クロックのカウント値と前記水平同期信号に基づいて、解像度が変換された場合の画像データ中の画素位置を特定する座標値を順次に生成する生成工程と、
前記生成工程で生成された座標値を解像度変換の倍率値に基づいて前記解像度変換前の画像データ中の画素位置に変換する変換工程と、
前記変換工程で得られた画素位置に基づいて演算に必要な画素の画素値を前記複数のラインバッファより取得し、前記座標値に対応する画素の画素値を算出する演算工程と、
前記演算工程による画素値の演算が遂行できない場合、当該演算の遂行が可能な状態となるまで前記生成工程による座標値の生成を停止させる停止工程とを備える。
【0030】
また、本発明によれば、上記解像度変換装置を用いて画像表示を行う情報処理装置が提供される。
【0031】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な実施形態を説明する。
【0032】
本実施形態はメモリの増加を避けつつ、且つ、単独の演算処理部により、畳み込み演算方式を用いた複数種類の解像度変換を行う。構成及び動作の概要について、図1を参照して説明する。
【0033】
ラインバッファ部104には、入力画素クロックとHsyncにより元画像の画素データが入力され、複数ライン分の画像データが格納される。一方、出力カウンタ101は、演算用の画素クロック及びHsyncに基づいて出力画像データ分のx方向ビット数およびy方向ライン数をカウントする。次に、そのカウンタ値をデータリクエスト部102でリクエストデータに変換する。具体的には、カウンタ値を設定倍率で割ることによって、リクエストデータをQUOT(商)信号とREMD(余り)信号に分ける。そして、これらのうち、QUOT信号はラインバッファ部104に対する画像データのリクエストに用い、REMD信号は3次元畳み込み演算のための係数データのリクエストに用いる。
【0034】
また、データリクエスト部102は、生成されたリクエストデータによって指定された画素のデータを用いた3次元畳み込み演算が実行可能かの判定を行う。例えば、この判定は、リクエストデータで要求されるラインがラインバッファ部104に格納済みとなっているか否かに基づいて行われる。そして、この判定結果を示すイネーブル信号が出力カウンタ101に送られることにより、出力カウンタのカウントタイミングが制御される。
【0035】
ここで、データリクエスト部102から発せられるQUOT信号によってデータを取り出す手順について説明する。QUOT信号はデータリクエスト部102により算出されたx,y座標アドレスを表しており、x方向はXQUOT,y方向はYQUOTで表される。
【0036】
y方向については、入力の水平同期信号(Hsync)のカウント値がy方向のQUOT(YQUOT)に基づいて要求される最大ライン番号と合致しているかどうかを判定する。もし合致していれば蓄えられている複数のラインバッファの中からYQUOTに対応する4本のラインバッファ(YQUOT-1、YQUOT、YQUOT+1、YQUOT+2)を選択する。合致していなければイネーブル信号を制御して出力カウンタのカウントを止め、YQUOTに対応するラインの画像データが入力されるまで待つ。
【0037】
x方向については、YQUOTにより選択された4本のラインバッファよりx方向のQUOT(XQUOT)で指定されるx座標のデータ(XQUOT-1、XQUOT、XQUOT+1、XQUOT+2)が順次読み出される。すなわち、各x座標について4つずつの画素データが読み出され、読み出されたデータは演算部105に送られる。
【0038】
演算部105では、送られてきた4つの画素データについて、上記REMDに基づいて得られた係数を用いて畳み込み演算のための演算処理を行い、演算結果をレジスタに保持する。演算部105には4つのレジスタ(図4の404〜407)があり、FIFOのように新しいデータが入力されると古いデータから順に消去される仕組みになっている。
【0039】
演算部105において、送られてきた新しいデータを入力するかしないかはデータリクエスト部102によって制御される。たとえば、XQUOTによって、同じアドレスが指定されれば演算部105に新しいデータは入力されないが、一つ前のクロックの場合と異なるアドレスが指定された時は演算部105に新しいデータが入力される。
【0040】
また、設定された倍率によっては演算部105に新しいデータが入力されても、その演算結果の出力を行わないように、データリクエスト部102が制御を行う。
【0041】
例えば、x方向に1/4縮小を行う場合を考える。各画素の演算にはx方向に4画素分のデータが用いられる。1/4縮小の場合はX方向4画素分で1画素を作り出すことになるので、1画素作成の演算を行ったあと、次の演算には前の演算に用いられたx方向4画素分のデータはそっくり入れ替えられることになる。
【0042】
この時、ラインバッファからx座標をXQUOTで指定して読み出すことになるので、4画素分のデータを1クロックで読み出すことは困難である。もし1クロックで読み出そうとするなら同じデータのラインバッファを4本づつ用意しなければならなくなる。そこで、4画素のデータをそっくり入れ替えるためには4クロック必要になることになる。
【0043】
従って、データの入れ替えの途中である3クロックの間は演算結果の出力を行わないようにする必要がある。これに伴い、出力カウンタに対するイネーブル信号を制御し演算データが揃うまで次のカウントを行わないようにする。
【0044】
このようにして出力カウンタ101とラインバッファ部104と演算部105のタイミングコントロールをデータリクエスト部102によって行うことにより、数本のラインバッファで畳み込み演算による解像度変換を実現する解像度変換回路を提供できる。
【0045】
以下、本実施形態の解像度変換装置についてより詳細に説明する。
【0046】
図1において、101は出力カウンタ、102はデータリクエスト部、103はルックアップテーブル(以下、LUTと記す)、104はラインバッファ部、105は演算部、106は出力バッファを表している。
【0047】
出力カウンタ101には、入力画像の垂直同期信号(以下、Vsync)、水平同期信号(以下、Hsync)、および演算の画素クロックとなるPCLKが入力される。
ここで、PCLKはユーザにより任意の周波数を外部から設定可能であるとする。ただし、縦横ともに2倍までの解像度変換を可能にするためには、入力画像の画素クロック(PICLK)の約4倍の周波数が必要となる。
【0048】
出力カウンタ101はx,yの各座標値を0からユーザにより設定される出力画像サイズまでカウントアップを行う。このときのカウントアップのタイミングはx方向はPCLK、y方向はHsync(厳密にはYFLAG(後述))に同期する。出力カウンタ101によってカウントされたカウント値のデータはデータリクエスト部102に送られる。また、X方向のカウントは、Hsync(YFLAG)によってリセットされ、Y方向のカウントは垂直同期信号Vsyncによってリセットされる。
【0049】
データリクエスト部102ではx,y各カウント値からリクエストデータを生成する。リクエストデータの生成法は下式、
XCOUNT/XZOOM = XQUOT ・・・XREMD (式1)
YCOUNT/YZOOM = YQUOT ・・・YREMD (式2)
による。ここで、XCOUNTは出力カウンタ101によって生成されるx方向のカウント値、XZOOMはx方向の倍率、XQUOTは上記計算の商、XREMDは余りの値を表している。YCOUNT、YZOOM、YQUOT、YREMDは、y方向に関して上記と同じ内容の値を表している。こうして得られたXQUOT、XREMD、YQUOT、YREMDがリクエストデータとなる。
【0050】
ここで、座標(XCOUNT、YCOUNT)を解像度変換後の座標データと見立てると、(XQUOT、YQUOT)は変換前の画像における、上記変換後の座標データの近傍座標であると捉えることができる。このときXREMD、YREMDがゼロならば、XQUOT、YQUOTは変換前座標そのものの値である。つまり、XREMD、YREMDは、変換後の座標(XCOUNT、YCOUNT)が、変換前の座標(XQUOT、YQUOT)からどれだけ離れているかを表している。
【0051】
データリクエスト部102は生成したXQUOT、YQUOT信号を監視し、これに基づいて生成したイネーブル信号を出力カウンタ101にフィードバックする。このときのイネーブル信号の生成法については後述する。
【0052】
次に、XREMD,YREMD信号はLUT103に送られる。LUT103は予め算出しておいた畳み込み演算係数を登録した係数テーブルであり、入力されたXREMD、YREMDに対し、それぞれ一意に決まる4つの係数を出力する。LUT103から出力された係数データは演算部105に送られる。
【0053】
一方、XQUOT,YQUOT信号はラインバッファ部104に送られる。ラインバッファ部104は入力画像データを格納しておくラインバッファを4本以上備えている。ラインバッファ部104は入力のHsyncごとに1つのラインバッファを割り当てる。このようにして常に4本以上のラインバッファに異なるラインの画素データが格納されているようにする。
【0054】
格納されるライン毎のデータはVsyncを起点としてラインアドレスが割り振られている。このラインアドレスはYQUOTに対応している。ラインバッファ部104は格納しているラインバッファの中から入力されたYQUOTに対して、YQUOT-1、YQUOT、YQUOT+1、YQUOT+2のラインアドレスのラインバッファを選択する。ここで、1ライン中を通して同じラインバッファが選択されつづけることになる。
【0055】
このとき、ラインバッファ部104に格納されているラインバッファのラインアドレスはデータリクエスト部102によって監視されている。必要なラインアドレスのデータがまだラインバッファ部104に入力されていない場合は、データリクエスト部102がイネーブル信号を制御して出力カウンタ101のカウントアップを停止させる。なお、必要なラインアドレスとは、本例では、YQUOT-1、YQUOT、YQUOT+1、YQUOT+2のラインアドレスのデータである。ここで、ラインバッファ部104にはライン順次に格納されるので、実際にはYQUOT+2のラインのデータがラインバッファ部104に格納されているかどうかをチェックすればよい。必要なラインアドレスのデータが格納されると、出力カウンタ101のカウントアップを再開させる。
【0056】
次に、ラインバッファ部104は選択されたラインバッファのなかからXQUOTに対応する画素データを読み出す。ここでラインバッファに格納されているデータはHsyncを起点としてビットアドレスが割り振られている。この時のXQUOTとビットアドレスの対応の仕方は倍率によって異なる。この対応の仕方については後述する。
【0057】
次に、ラインバッファ部104から読み出されたデータは演算部105に送られる。演算部105ではLUT103からの係数データと、ラインバッファ部104からの画素データを用い、畳み込み演算により解像度変換後の画素データを算出する。算出された画素データは出力バッファ106に送られる。
【0058】
出力バッファ106では演算の画素クロック(PCLK)で生成された画素データを一時的に格納する。格納されたデータは表示装置に出力するためのVsync,Hsync,および画素クロック(POCLK)に従って順次出力される。このようにして解像度変換後のデータを生成する。
【0059】
なお、図1に示した解像度変換装置を情報処理装置に適用すれば、CPUの制御下で生成された画像データを表示器上に表示する際に、その生成された画像データをラインバッファ部104に入力し、出力バッファ106に格納された解像度変換後の画像データを表示する構成が得られる。このようにすれば、CPU側で出力先の表示器の解像度に応じて画像データの解像度を変更する必要がなくなる。
【0060】
次に各ブロックについて説明する。
図2はラインバッファ部104の構造を表した図である。図2において、201は入力バッファ制御回路、202はラインバッファブロック、203は並べ替え回路を表している。ラインバッファブロック202には複数のラインバッファが設けられており、Hsync、Vsync、入力画素クロックPICLKに同期して各ラインバッファにライン単位で画素データが保持される。
【0061】
入力バッファ制御回路201はy方向のデータリクエスト信号YQUOTから対応するラインアドレスのラインバッファをラインバッファブロック202の中から選び出し、その選び出されたラインバッファから順次、データを読み出す。この時、読み出したデータのカウントを行い、x方向のデータリクエスト信号XQUOTの要求を満たすとx方向の演算が行われるようになっている。
【0062】
ラインバッファブロック202は5ライン以上を格納できる容量を持ち、それぞれラインが選択可能であり、その選択した複数(ここでは4つ)のラインから同時に指定したビットアドレスのデータを引き出すことが可能なメモリを表している。
【0063】
図3はラインバッファブロック202の構成及び動作を説明した図である。ここでは、ラインバッファ202がラインバッファを5ライン分持つ構造を示している。
【0064】
いま、図3ではラインバッファ1に入力データを格納中であり、残りの4本のラインバッファ2〜5から画素データを読み出しているところを表している。
【0065】
次のHsyncではラインバッファ2に入力データが格納され、残りのラインバッファ1,3,4,5からデータが読み出される。さらに次のHsyncではラインバッファ3に入力データが格納され、残りのラインバッファ1,2,4,5からデータが読み出される。このようにして順次最新の4ライン分のデータがラインバッファに格納されているようにする。
【0066】
ラインバッファブロック202から読み出されるデータは4ライン分のデータ中の同じビットアドレスのデータが読み出される。このとき、どのラインバッファから読み出すかによってデータの並び方が異なってしまう。後段の演算部105では、これら各画素データに対応した畳み込み演算係数を掛け合わせるのでデータの並び方をそろえておく必要がある。そこで並び替え回路203を設け、各ラインバッファから読み出されたデータを時系列で古い順に並び替えて演算部105へ出力するようにしている。
【0067】
図4は演算部105の構造を表した図である。図4において、401は乗算器(図中の同一シンボルで示されたものは同じ構成であることを示す)、402は和算器、403はシフト制御回路、404は第1のレジスタ、405は第2のレジスタ、406は第3のレジスタ、407は第4のレジスタを表す。また、図中記載のGX1、GX2、GX3、GX4はラインバッファ部104から読み出された画素データを表し、f(y1)、f(y2)、f(y3)、f(y4)はy方向の係数データを表し、f(x1)、f(x2)、f(x3)、f(x4)はx方向の係数データを表している。
【0068】
画素データGX1、GX2、GX3、GX4が入力されると、まずy方向の係数データf(y1)、f(y2)、f(y3)、f(y4)とそれぞれ乗算が行われる。このとき、GX1はf(y1)と、GX2はf(y2)といったようにそれぞれ対応するデータが決まっている。またこのときのy方向の係数は1ライン中一定である。乗算されたデータはすべて足しあわされて、第1のレジスタ404に格納される。
【0069】
次のクロックで新たな画素データGX1、GX2、GX3、GX4が入力されると、上述と同様に内積演算が行われ、新たな演算データが第1のレジスタ404に格納される。このとき、すでに第1のレジスタ404に格納されていたデータは第2のレジスタ405にシフトして格納される。さらに第2のレジスタ405にすでに格納されていたデータは第3のレジスタ406へ、第3のレジスタ406に格納されていたデータは第4のレジスタ407に上書きされ、格納される。
【0070】
このようにして、第1〜第4レジスタ404〜407にデータが格納されると、今度はそれぞれのレジスタに対応したx方向の係数f(x1)、f(x2)、f(x3)、f(x4)との間で乗算が行われ、その結果を足し合わせたものが演算結果として出力される。
【0071】
これらの処理はパイプライン処理をされるので、1クロックごとに1画素の演算データを出力することが可能である。
【0072】
ここで、倍率によっては同じ画素データが数クロック連続して入力される場合がある。その時はデータリクエスト部102から送られてくるシフトイネーブル信号(SEN)によりシフト制御回路403が新たなデータを受け入れないようにする。
【0073】
また、他の倍率によっては画素データをひとつづつシフトするのではなく、複数個づつシフトする必要がある場合がある。しかし入力画素データは1クロックに1画素づつしか入力できない。つまり1クロックで1画素入力を行い、レジスタを1個づつシフトさせてゆくと、演算データとして有効な値はクロックに対してとびとびの状態になってしまう。そこでシフト制御回路403からアクティブ信号(ACT)を発生させてこれを制御する。ACT信号は出力画素データが有効な場合はハイ、出力データが非有効な場合はローを出力する。前述のように出力画素データがとびとびに有効データを出力する場合はそれに併せてACT信号を制御する。
【0074】
このACT信号と出力画素データをペアで出力バッファ106に送り、ACT信号がハイの場合は書き込みを行い、ローの場合は書き込みを行わないようにする。
【0075】
図5は出力カウンタ101の構成例を示したブロック図である。図5において、501はx方向のカウンタ(以下、xカウンタ)、502はカウント制御回路、503はy方向のカウンタ(以下、yカウンタ)である。
【0076】
xカウンタ501は入力のHsyncを起点にHsyncの有効画像領域内を演算用の画素クロック(PCLK)でカウントアップし、その値をXCOUNTとして出力する。このとき、データリクエスト部102からフィードバックされてくるx方向のイネーブル信号(XEN)に従ってカウントの実行が制御される。すなわち、XENがハイの時はカウントアップを行い、XENがローの時はカウントアップを行わないように制御される。また、Xカウンタ501のカウント値は、YFLAG(後述)により0にリセットされる。
【0077】
また、xカウンタ501には、ひとつ前のHsyncの有効画像領域内においてXENに関係なくPCLKがいくつカウントされたかという値(HSIZE)が記憶される。このHSIZE信号はカウント制御回路502に送られる。
【0078】
カウント制御回路502は前述のHSIZE信号と、入力のHsyncと、Y方向の倍率(YZOOM)と、データリクエスト部102からフィードバックされてくるy方向のイネーブル信号(YEN)、及びXCOUNT値からYFLAG信号を生成する。
【0079】
yカウンタ503では入力のVsyncを起点にしてVsincの有効画像領域内で、YFLAG信号の立ち上がり、もしくは立下りをカウントアップする。このカウントアップした値はYCOUNTとして出力される。なお、本実施形態では、YENによってYFLAGを出力するか否かを制御して、結果的にyカウンタ503のカウントアップを制御するものとするが、YFLAGをYENにかかわらず出力し、yカウンタ503にYENを供給してyカウンタのカウントアップを制御するようにしてもよい。
【0080】
次にデータリクエスト部102について説明する。図6はデータリクエスト部の一部であり、y方向のカウンタ制御部の構造を示したものである。
図6において、601はDivider、602はy方向のENABLE信号発生回路を表している。Divider601には出力カウンタ101によって生成されるy方向のカウンタ値(YCOUNT)と、ユーザによって任意に指定されるy方向の倍率(YZOOM)が入力される。
【0081】
Divider601は前述の(式2)に従い割り算を行い、YQUOTとYREMD信号を生成する。次にENABLE信号発生回路602にはラインバッファ部104からのラインアドレス情報と、Divider601によって生成されたYQUOTとが入力される。ラインアドレス情報は現在書き込み中のラインアドレスを示す情報であり、このラインアドレスから前の4ライン分のデータがラインバッファ部104に格納されていることがわかる。
【0082】
これにより、ENABLE信号発生回路602は、ラインアドレス情報とYQUOTとの比較を行い、
ラインアドレス情報=YQUOT+3 (式3)
であれば、ラインバッファ部に演算可能なデータが蓄積されたことになるので、y方向のイネーブル信号(YEN)をハイにする。
【0083】
一方、
ラインアドレス情報<YQUOT+3 (式4)
ならば、未だYQUOT+2のラインの格納が完了していないので、ENABLE信号発生回路602は、YENをローに落として、(式3)の条件が満たされるまでYCOUNTのカウントアップを一時停止させる。
【0084】
図7はデータリクエスト部102の一部であり、x方向のカウンタ制御部の構造を示したブロック図である。701はDivider、702はx方向のENABLE信号発生回路を表している。
【0085】
Divider701には出力カウンタ101によって生成されるx方向のカウンタ値(XCOUNT)と、ユーザによって任意に指定されるx方向の倍率(XZOOM)が入力される。Divider701は前述の(式1)に従い割り算を行い、XQUOTとXREMD信号を生成する。
【0086】
次にENABLE信号発生回路702には演算部105からのレジスタ情報と、Divider701によって生成されたXQUOTとが入力される。レジスタ情報は演算部105の最も新しいレジスタである第1のレジスタ404に格納されているデータが対応する画素アドレスを示すものである。この画素アドレスのデータと、このアドレスから前の3画素分のデータが演算部105の4つのレジスタに格納されていることがわかる。
【0087】
これにより、ENABLE信号発生回路702は、レジスタ情報とXQUOTとの比較を行い、
レジスタ情報=XQUOT+2 (式5)
であれば演算部105に演算出力を可能とするデータが蓄積されたことになるので、x方向のイネーブル信号(XEN)をハイにする。
【0088】
一方、
レジスタ情報<XQUOT+2 (式6)
ならば、ENABLE信号発生回路702は、XENをローに落として(式5)の条件を満たすまでXCOUNTのカウントアップを一時停止させる。
【0089】
また、ENABLE信号発生回路702は、XENが有効になっているときのXQUOTが連続して同じ値をとるかどうかを監視している。もし同じ値になった場合はシフトイネーブル信号(SEN)をローに落として、演算部105のシフト制御回路403が新しいデータを受け入れないようにする。これにより第1〜第4レジスタ(404〜407)のシフト動作も発生しない。
【0090】
以上説明してきた動作を、図8〜図15に具体的なタイミングチャートで表す。以下、これらのタイミングチャートを参照して、本実施形態の解像度変換装置のより具体的な動作を説明する。
【0091】
図8はy方向を2倍に拡大したときのタイミングチャートである。ここで、YFLAGは前述の図5のカウント制御回路502により生成される信号であり、YCOUNTはyカウンタ503により生成される信号であり、YQUOT、YREMDは図6のDivider601により生成される信号である。また、YENはENABLE信号発生回路602により生成される信号である。
【0092】
y方向の拡大率YZOOMが1≦YZOOM≦2倍までの間は入力のHsyncの有効画素期間を2等分するような信号がYFLAGとして生成される。これは、例えば、Hsyncに同期してYFLAGをセットするとともに、Xカウンタ501のカウント値(XCOUNT)を監視して、HSIZEで示される画素数の1/2となったところでYFLAGをセットすることで実現される。また、2<YZOOM≦3倍までは入力のHsyncを3等分するような信号がYFLAGとして生成される。これは、例えば、Hsyncに同期してYFLAGをセットするとともに、Xカウンタ501のカウント値(XCOUNT)を監視して、HSIZEで示される画素数の1/3、及び2/3となったところでYFLAGをセットすることで実現される。
【0093】
以上を基本形としてYEN信号によりデータマスクされたものがYFLAGとして出力される。そして、このYFLAGの立下りもしくは立ち上がりでカウントアップを行ったものがYCOUNTである。
【0094】
図8で、YCOUNT=2の時、YQUOT=1である。ラインバッファから読み出されるラインアドレスはYQUOT-1、YQUOT、YQUOT+1、YQUOT+2の4ラインであるから、ここでは0,1,2,3のラインアドレスのデータが読み出されることになる。YCOUNT=3の時もYQUOT=1である。この時も0,1,2,3のラインアドレスのデータが読み出されることになる。
【0095】
これらはいずれも入力ラインアドレス=4の期間に処理が可能である。すなわち、1H(1水平期間)の間に2ライン分のデータが出力できることを表している。
【0096】
よって、y方向に2倍の倍率設定のとき、YEN信号は常にハイであり、YFLAGは図8に示すようなタイミングで出力される。これにより出力ラインは連続して出力される。
【0097】
図9はy方向を1.5倍に拡大したときのタイミングチャートである。図9で、YCOUNT=2の時、YQUOT=1であるので、ここでは0,1,2,3のラインアドレスのデータが読み出されることになる。YCOUNT=3の時、YQUOT=2である。この時は1,2,3,4のラインアドレスデータの読み出しが必用である。しかし、この時ラインアドレス=4のデータはラインバッファに書き込み中であり、読み出し不可の状態にある。そこでENABLE信号発生回路602がYEN=ローを出力し、YFLAGをマスクすることによって(図9のYFLAGの破線部)、YCOUNTのカウントアップを一時停止する。
【0098】
その後、ラインアドレス=4のデータの書き込みが完了し、読み出し可能となった時点でYENはハイになる。こうして、y方向を1.5倍にする倍率設定の時、YEN信号は図9に示すような形で出力される。これによりYFLAGが変化し、YCOUNTのカウントアップが制御される。
【0099】
図10はy方向を1/2倍に縮小したときのタイミングチャートである。縮小の場合のYFLAGは入力のHsyncを基本形として生成される。これをYEN信号によりデータマスクされたものがYFLAGとして出力される。図10で、YCOUNT=1の時、YQUOT=2であるので、ここでは1,2,3,4のラインアドレスのデータが読み出されることになる。
【0100】
次にYCOUNT=2の時、YQUOT=4である。この時は3,4,5,6のラインアドレスデータの読み出しが必要である。しかし、この時点において、ラインアドレス=6の入力画像データはラインバッファに書き込み中であり、読み出し不可の状態にある。そこでENABLE信号発生回路602がYEN=ローを出力し、YFLAGをマスクすることによって(図10のYFLAGの破線部)、YCOUNTのカウントアップを一時停止する。
【0101】
その後、ラインアドレス=6のデータの書き込みが完了し、3,4,5,6のラインアドレスデータの読み出し可能となった時点でYENはハイになる。よって、y方向に1/2倍の時、YEN信号は図10に示すような形で出力される。これによりYFLAGのオンするタイミングが変化し、YCOUNTのカウントアップが制御される。
【0102】
図11はy方向を3/4倍に縮小したときのタイミングチャートである。この倍率設定も縮小であるので、YFLAGは図10の場合と同様な手法で生成されることになる。
【0103】
図11において、YCOUNT=1の時点でYQUOT=1であるので、ここでは0,1,2,3のラインアドレスのデータが読み出されることになる。次にYCOUNT=2の時点でYQUOT=2である。この時は1,2,3,4のラインアドレスデータが読み出される。
【0104】
次にYCOUNT=3の時点ではYQUOT=4である。この時は3,4,5,6のラインアドレスデータの読み出しが必要となる。しかし、この時点でラインアドレス=6のデータはラインバッファに書き込み中であり、読み出し不可の状態にある。そこでENABLE信号発生回路602がYEN=ローを出力し、YFLAGをマスクすることによって(図11のYFLAGの破線部)、YCOUNTのカウントアップを一時停止する。その後、ラインアドレス=6のデータの書き込みが完了し、読み出し可能となった時点でYENはハイになる。
【0105】
よって、y方向3/4倍の時、YEN信号は図11に示すような形で出力される。これによりYFLAGが変化し、YCOUNTのカウントアップが制御される。
【0106】
以上のような手法により、どの倍率においてもYCOUNTのカウントアップスタートのタイミングも制御可能である。
【0107】
次にx方向の拡大縮小の説明を行う。
【0108】
図12はx方向を2倍に拡大したときのタイミングチャートである。ここで、XCOUNTはxカウンタ501により生成される信号であり、XQUOT,XREMDは図7のDivider701により生成される信号である。またSEN、XENはENABLE信号発生回路702により生成される信号である。
【0109】
図12で、XCOUNT=2の時、XQUOT=1である。選択される画素アドレスはXQUOT-1、XQUOT、XQUOT+1、XQUOT+2の4画素であるから、ここでは画素アドレスが0,1,2,3の画素データが選択される。
【0110】
この時、演算部105のレジスタ(404〜407)に格納されているデータの画素アドレスが0,1,2,3だとすると、SEN=ハイ、XEN=ハイとなり、現在レジスタに格納されているデータと、この時のXREMDによりLUT103から別途引き出される係数データ(f(x1)〜f(x4))により演算が行われ、演算結果が出力される。なお、係数データf(y1)〜f(y4)は、その時点のYCOUNT値から得られるYREMDによりLUT103から取得される。
【0111】
次に、XCOUNT=3の時、XQUOT=1である。ここでも画素アドレス=0,1,2,3の画素データが選択される。この時、選択画素アドレスが前クロックの選択画素アドレスと同一になるのでSEN=ローとなり、第1〜第4レジスタ(404〜407)のデータの入れ替えは行われない。しかし、XREMDが変化しているので係数データは入れ替わる。よって、新たな演算が行われて、その演算結果が出力される。
【0112】
次に、XCOUNT=4の時、XQUOT=2である。ここで、画素アドレス=1,2,3,4の画素データが選択される。この時、SEN=ハイ、XEN=ハイとなり、新たなデータが読み込まれ、レジスタのシフトが行われる。この新たなレジスタデータと別途XREMDに基づいてLUT103より引き出される係数データにより演算が行われ、演算結果が出力される。
このようにしてx方向2倍の画素データが生成される。
【0113】
図13はx方向を1.5倍に拡大したときのタイミングチャートである。
図13で、XCOUNT=2の時、XQUOT=1である。選択される画素アドレスはXQUOT-1、XQUOT、XQUOT+1、XQUOT+2の4画素であるから、ここでは画素アドレス=0,1,2,3の画素データが選択される。
【0114】
この時、演算部105のレジスタ(404〜407)に格納されているデータの画素アドレスが0,1,2,3だとすると、SEN=ハイ、XEN=ハイとなり、現在レジスタに格納されているデータと、この時のXREMDにより別途引き出される係数データにより演算が行われ、演算結果が出力される。
【0115】
次に、XCOUNT=3の時、XQUOT=2である。よって、画素アドレス=1,2,3,4の画素データが選択される。この時、SEN=ハイ、XEN=ハイであり、新たなデータが読み込まれ、レジスタのシフトが行われる。この新たなレジスタデータと、別途引き出される係数データにより演算が行われ、演算結果が出力される。
【0116】
次に、XCOUNT=4の時、XQUOT=2である。ここでも画素アドレス=1,2,3,4の画素データが選択される。この時、選択画素アドレスが前クロックの選択画素アドレスと同一になるのでSEN=ローとなり、レジスタ(404〜407)のデータの入れ替えは行われない。しかし、XREMDが変化しているので係数データは入れ替わる。よって、新たな演算が行われて、演算結果が出力される。
このようにしてx方向1.5倍の画素データが生成される。
【0117】
図14はx方向を1/2倍に縮小したときのタイミングチャートである。
図14で、XCOUNT=1の時、XQUOT=2であるので、画素アドレス=1,2,3,4の画素データが選択される。この時、演算部105の第1〜第4レジスタ(404〜407)に格納されているデータの画素アドレスが1,2,3,4だとすると、SEN=ハイ、XEN=ハイであり、現在レジスタに格納されているデータと、この時のXREMDにより別途引き出される係数データにより演算が行われ、演算結果が出力される。
【0118】
次に、XCOUNT=2の時、XQUOT=4である。よって、画素アドレス=3,4,5,6の画素データが選択される。この時、SEN=ハイとなり新たなデータが読み込まれ、レジスタのシフトが行われる。しかしシフトが行われた後のレジスタの画素アドレスは2,3,4,5であり、XQUOTからの選択画素アドレスと合致しない。そこで、XEN=ローとなり、XCOUNTのカウントアップを一時停止する。
【0119】
次のクロックでもう1画素が読み込まれ、レジスタのシフトが行われる。ここでレジスタのアドレス=3,4,5,6となり、選択アドレスと合致したのでXEN=ハイとなり、この新たなレジスタデータと、別途引き出される係数データにより演算が行われ、演算結果が出力される。出力画素No.において、ローの部分はメモリへの書込みが行われない異になるが、これはACT信号がLOWとなることで制御される。
このようにしてx方向に1/2倍の画素データが生成される。
【0120】
図15はx方向を3/4倍に縮小したときのタイミングチャートである。
図15で、XCOUNT=1の時、XQUOT=1である。ここで、画素アドレス=0,1,2,3の画素データが選択される。この時、演算部105のレジスタ(404〜407)に格納されているデータの画素アドレスが0,1,2,3だとすると、SEN=ハイ、XEN=ハイとなり、現在レジスタに格納されているデータと、この時のXREMDにより別途引き出される係数データにより演算が行われ、演算結果が出力される。
【0121】
次に、XCOUNT=2の時、XQUOT=2である。ここで、画素アドレス=1,2,3,4の画素データが選択される。この時、SEN=ハイとなり新たなデータが読み込まれ、レジスタのシフトが行われる。この時のレジスタに格納されているデータの画素アドレス=1,2,3,4となり、選択画素アドレスと合致するので、このデータを用いて演算が行われ、演算結果が出力される。
【0122】
次に、XCOUNT=3の時、XQUOT=4である。ここで、画素アドレス=3,4,5,6の画素データが選択される。この時、SEN=ハイとなり新たなデータが読み込まれ、レジスタのシフトが行われる。しかしシフトが行われた後のレジスタの画素アドレス=2,3,4,5であり、XQUOTからの選択画素アドレスと合致しない。そこで、XEN=ローとなり、XCOUNTのカウントアップを一時停止する。
【0123】
次のクロックで次の1画素が読み込まれ、レジスタのシフトが行われる。ここでレジスタのアドレス=3,4,5,6となり、選択アドレスと合致したのでXEN=ハイとなり、この新たなレジスタデータと、別途引き出される係数データにより演算が行われ、演算結果が出力される。
このようにしてx方向3/4倍の画素データが生成される。
【0124】
以上の動作について概要を述べると次の通りである。すなわち、XQUOTが要求するデータは、XQUOT-1、XQUOT、XQUOT+1、XQUOT+2の4画素であるのに対し、X方向のデータはひとつのラインバッファから読み出すことになるので、本実施形態では1CLKで1データしか読み出せない。そこで、図4で説明したように、レジスタに読み出したデータを溜めていく手法をとっている。ここではY方向の演算を行ったデータをX方向のデータとしてレジスタに溜めていく構成を用いている。そして、XQUOTが要求するデータがそろわないうちはXEN=ローとすることで演算を行わないようにし、且つXCOUNTのカウントアップを止めてXQUOTの値が変わらないようにしている。縮小の場合はレジスタに溜まっているデータよりもXQUOTの方が先行するため、SENが常にハイになることで1CLK毎にデータを読み出すようにしている。逆に拡大の場合はXQUOTの変化よりもラインバッファにデータが溜まる方が先行するため、SENを変化させてタイミング制御を行う。以上のような手法により、どの倍率においてもXCOUNTのカウントアップスタートのタイミングも制御可能となる。
【0125】
以上、説明したように本実施形態によれば、単一の演算回路で、3次元畳み込み演算のような複数の画素データを参照する拡大/縮小演算回路を具現化することが可能となる。
【0126】
【発明の効果】
以上説明したように、本発明によれば、ラインバッファを用い、単一の演算回路で複数の解像度に対応することが可能となる。
また、本発明によれば、ラインバッファと単一の演算回路を用いた構成で、3次元畳み込み演算方式を用いた複数種類の解像度変換に対応することが可能である。
【図面の簡単な説明】
【図1】実施形態による解像度変換装置の構成を示すブロック図である。
【図2】ラインバッファ部ク104の構成例を示したブロック図である。
【図3】ラインバッファブロック202の構成とデータの流れを説明する図である。
【図4】演算部105の構成例を示したブロック図である。
【図5】出力カウンタ101の構成例を示したブロック図である。
【図6】データリクエスト部102における、Y方向に関する構成を示したブロック図である。
【図7】データリクエスト部102における、X方向に関する構成を示したブロック図である。
【図8】本実施形態の解像度変換処理における、y方向2倍設定時のタイミングチャートである。
【図9】本実施形態の解像度変換処理における、y方向1.5倍設定時のタイミングチャートである。
【図10】本実施形態の解像度変換処理における、y方向1/2倍設定時のタイミングチャートである。
【図11】本実施形態の解像度変換処理における、y方向3/4倍設定時のタイミングチャートである。
【図12】本実施形態の解像度変換処理における、x方向2倍設定時のタイミングチャートである。
【図13】本実施形態の解像度変換処理における、x方向1.5倍設定時のタイミングチャートである。
【図14】本実施形態の解像度変換処理における、x方向1/2倍設定時のタイミングチャートである。
【図15】本実施形態の解像度変換処理における、x方向3/4倍設定時のタイミングチャートである。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to resolution conversion in image display of a computer or a television.
[0002]
[Prior art]
In general, a computer can display a plurality of types of resolutions in accordance with the resolution of a display device. For example, if the maximum resolution of the display device is XGA, the computer is often required to display images of XGA and lower resolutions (VGA, SVGA). This is because it is possible to select whether to display more information on the screen or to display it larger for easier viewing according to the user's preference.
[0003]
In this case, a resolution conversion technique is required for the computer main body to provide a desired resolution to the display device.
[0004]
In Japan, the NTSC system has been adopted in Japan. This is 483 to 485 scanning lines, the number of pixels per scanning line is 720 to 760, and the total number of pixels is about 350,000. However, since it is normally displayed in an interlaced manner, the resolution is actually about 150,000 pixels.
[0005]
On the other hand, in recent years, the high-definition method has been widely used. The high-definition method is also called HD and has about 750,000 pixels. Corresponding to this, the conventional NTSC broadcast is called SD.
[0006]
Furthermore, there are image formats such as 480i, 720p, and 1080i in digital broadcasting. 480i represents a 640 × 480 interlace, 720p represents a 1024 × 720 progressive, and 1080i represents a 1280 × 1080 interlace.
[0007]
There are other uses such as image display on a personal computer, video display of games and digital cameras, and multi-screen display for displaying a plurality of screens, and the opportunity to display many image formats on a television has increased.
[0008]
Here, with analog data such as conventional NTSC broadcasting, it is possible to convert the format of an image relatively easily by changing the sampling rate. However, in order to convert the format of digital data such as digital broadcasting and digital camera images, it is necessary to perform interpolation and thinning of the image data.
[0009]
In addition, in order to provide a display effect such as multi-screen display, it is necessary to perform resolution conversion for enlarging and reducing the image as well as image format conversion.
[0010]
In general, a large frame memory is required to perform such resolution conversion. In order to perform resolution conversion without having a frame memory, it is necessary to finish all processing within 1 V (one vertical period) of the input image. This is because if the processing time exceeds 1V, the next frame processing is also affected, and as a result, a large memory is required.
[0011]
An example of resolution conversion without using a frame memory is also presented in “Scan Converter” (Japanese Patent Laid-Open No. 11-338408). However, the method presented here focuses on image format conversion, and is not intended to improve image quality when a user performs arbitrary resolution conversion.
[0012]
In order to achieve high image quality, a method of referring to a plurality of pixels is generally used. Interpolation with reference to only a single pixel is only a prediction from that pixel. However, by using a plurality of pixels, the pixel change before and after the pixel position to be interpolated can be seen, and the certainty of the prediction can be increased. The pixel change at this time can be represented by a straight line if there are two reference pixels, and can be represented by a curve if there are three or more reference pixels.
[0013]
As a method of performing interpolation by referring to such a plurality of pixels, a linear interpolation method, a three-dimensional convolution method, and the like are known. Linear interpolation is performed from 2 points (vertical and horizontal 4 points), and three-dimensional convolution method is performed from 4 points (vertical and horizontal 16 points). In general, the larger the number of reference pixels, the better the image quality, but the computation processing becomes complicated
Here, the convolution calculation method will be described. In the convolution operation, 16 pixels in the original image and 8 coefficients are used for each output pixel.
[0014]
here,
Pre-conversion coordinates: x, y
Coordinates after conversion: X, Y
Conversion formula: X = A * x, Y = B * y (A: magnification in x direction, B: magnification in y direction)
Then, since the coordinates before conversion (x, y) are actually non-continuous numbers and the coordinates after conversion (X, Y) are continuous numbers,
Figure 0004035408
To determine the coordinates before conversion.
[0015]
The integer part of this inverse transformation is used to extract the pixel value of the original image as the pre-conversion coordinates. The decimal part (remainder) is used for coefficient creation.
[0016]
For each pixel (X, Y), 16 original image pixel values G are acquired from the original image coordinates (x, y).
[0017]
[Expression 1]
Figure 0004035408
[0018]
Further, when the decimal part of the value obtained by the inverse transformation is expressed as x- [x], y- [y], the coefficient f (t) is obtained by the following calculation.
[0019]
[Expression 2]
Figure 0004035408
[0020]
From the above 16 pixel values (G11 to G44) and 8 coefficients (x1 to x4, y1 to y4) of the original image, the pixel value P of the image after conversion is obtained by the following calculation.
[0021]
[Equation 3]
Figure 0004035408
[0022]
Here, a three-dimensional calculation is required to calculate the coefficient. In order to reduce the amount of calculation, it is possible to select a condition from the first x- [x] value and y- [y] value and select a fixed coefficient from a coefficient table calculated in advance.
[0023]
As described above, the convolution calculation method requires 16 pixel values of the original image for each output pixel. The 16 pixel values are read out differently depending on the magnification, and the same pixel may be multiplied by a different coefficient. For this reason, the method of sequentially processing input pixels cannot be used. Therefore, a frame memory or a plurality of line buffers are required.
[0024]
A method of performing such a three-dimensional convolution operation without using a frame memory is also presented in “Display Control Device and Method and Display Device” (see Patent Document 1). Here, a method of performing resolution conversion by a three-dimensional convolution operation method using only a line buffer by having a plurality of operation unit processes is presented.
[0025]
[Patent Document 1]
JP-A-8-297477
[0026]
[Problems to be solved by the invention]
However, since the convolution calculation method has many multiplications and the circuit is complicated, the circuit scale of the apparatus of Patent Document 1 including a plurality of calculation processing units becomes large.
On the other hand, when the calculation is performed by a single calculation processing unit without using the frame memory, resolution conversion can be performed up to two times in the vertical and horizontal directions if the calculation processing is performed with a clock that is about four times the input pixel clock. Is possible. However, in the case of the convolution operation, it is necessary to read 4 × 4 pixels per pixel as described above. In the vertical direction, simultaneous reading is possible if the necessary number of line buffers are provided, but in the horizontal direction, only one pixel (column) can be read out per clock.
[0027]
The present invention has been made in view of the above-described problems, and an object of the present invention is to make it possible to cope with a plurality of types of resolution conversion with a single arithmetic circuit using a line buffer.
Another object of the present invention is to make it possible to deal with a plurality of types of resolution conversion using a three-dimensional convolution operation method with a single operation circuit using a line buffer.
[0028]
[Means for Solving the Problems]
  In order to achieve the above object, a resolution conversion apparatus according to the present invention comprises the following arrangement. That is,
  A resolution conversion device that performs resolution conversion processing on image data before resolution conversion and generates image data in which the resolution is converted,
  Synchronized with pixel clock and horizontal sync signalBefore resolution conversionA plurality of line buffers for sequentially storing pixel values of image data in units of lines;
  Based on the count value of a predetermined clock and the horizontal synchronization signal,When the resolution is convertedGenerating means for sequentially generating coordinate values for specifying pixel positions in the image data;
  The coordinate value generated by the generating means is based on the magnification value for resolution conversion.Before resolution conversionConversion means for converting the pixel position in the image data;
  Calculation means for obtaining pixel values of pixels necessary for calculation based on the pixel positions obtained by the conversion means from the plurality of line buffers, and calculating pixel values of pixels corresponding to the coordinate values;
  And stopping means for stopping the generation of the coordinate value by the generating means until the calculation can be executed when the calculation of the pixel value by the calculating means cannot be performed.
[0029]
  In addition, the resolution conversion method of the present invention that achieves the above object is as follows.
  A resolution conversion method that performs resolution conversion processing on image data before resolution conversion and generates image data in which the resolution is converted,
  Synchronized with pixel clock and horizontal sync signalBefore resolution conversionA storage step of sequentially storing each pixel value of image data in a plurality of line buffers in units of lines;
  Based on the count value of a predetermined clock and the horizontal synchronization signal,When the resolution is convertedA generation step of sequentially generating coordinate values for specifying pixel positions in the image data;
  The coordinate value generated in the generating step is based on the magnification value for resolution conversion.Before resolution conversionA conversion step for converting the pixel position in the image data;
  A calculation step of obtaining pixel values of pixels necessary for calculation based on the pixel positions obtained in the conversion step from the plurality of line buffers, and calculating pixel values of pixels corresponding to the coordinate values;
  And a stopping step of stopping the generation of coordinate values by the generating step until the calculation can be performed when the pixel value cannot be calculated by the calculating step.
[0030]
In addition, according to the present invention, there is provided an information processing apparatus that performs image display using the resolution conversion apparatus.
[0031]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
[0032]
In the present embodiment, a plurality of types of resolution conversion using a convolution calculation method are performed by a single calculation processing unit while avoiding an increase in memory. An outline of the configuration and operation will be described with reference to FIG.
[0033]
The line buffer unit 104 receives pixel data of the original image based on the input pixel clock and Hsync, and stores image data for a plurality of lines. On the other hand, the output counter 101 counts the number of bits in the x direction and the number of lines in the y direction for the output image data based on the pixel clock for calculation and Hsync. Next, the counter value is converted into request data by the data request unit 102. Specifically, the request data is divided into a QUOT (quotient) signal and a REMD (remainder) signal by dividing the counter value by the set magnification. Of these, the QUOT signal is used for requesting image data to the line buffer unit 104, and the REMD signal is used for requesting coefficient data for a three-dimensional convolution operation.
[0034]
In addition, the data request unit 102 determines whether or not a three-dimensional convolution operation using the pixel data specified by the generated request data can be executed. For example, this determination is made based on whether or not the line requested by the request data is already stored in the line buffer unit 104. Then, an enable signal indicating the determination result is sent to the output counter 101, whereby the count timing of the output counter is controlled.
[0035]
Here, a procedure for retrieving data by a QUOT signal issued from the data request unit 102 will be described. The QUOT signal represents the x and y coordinate addresses calculated by the data request unit 102, the x direction is represented by XQUOT, and the y direction is represented by YQUOT.
[0036]
For the y direction, it is determined whether the count value of the input horizontal synchronization signal (Hsync) matches the maximum line number required based on the QUOT (YQUOT) in the y direction. If they match, the four line buffers (YQUOT-1, YQUOT, YQUOT + 1, YQUOT + 2) corresponding to YQUOT are selected from the stored line buffers. If they do not match, the enable signal is controlled to stop the count of the output counter and wait until the image data of the line corresponding to YQUOT is input.
[0037]
For the x direction, the x coordinate data (XQUOT-1, XQUOT, XQUOT + 1, XQUOT + 2) specified by the X direction QUOT (XQUOT) are sequentially read from the four line buffers selected by YQUOT. . That is, four pieces of pixel data are read for each x coordinate, and the read data is sent to the calculation unit 105.
[0038]
The arithmetic unit 105 performs arithmetic processing for convolution operation on the four pieces of pixel data sent using the coefficient obtained based on the REMD, and holds the operation result in a register. The arithmetic unit 105 has four registers (404 to 407 in FIG. 4). When new data is input as in the FIFO, the oldest data is deleted in order.
[0039]
The data request unit 102 controls whether or not to input new data that has been sent in the calculation unit 105. For example, if the same address is specified by XQUOT, new data is not input to the arithmetic unit 105, but new data is input to the arithmetic unit 105 when an address different from the previous clock is specified.
[0040]
Further, depending on the set magnification, the data request unit 102 performs control so that the calculation result is not output even when new data is input to the calculation unit 105.
[0041]
For example, consider a case where 1/4 reduction is performed in the x direction. For each pixel calculation, data for four pixels in the x direction is used. In the case of 1/4 reduction, since one pixel is created for four pixels in the X direction, after one pixel creation calculation, the next calculation is performed for the four pixels in the x direction used in the previous calculation. Data will be completely replaced.
[0042]
At this time, the x-coordinate is read from the line buffer by specifying it with XQUOT, and therefore it is difficult to read data for four pixels in one clock. If it is attempted to read in one clock, four line buffers of the same data must be prepared. Therefore, 4 clocks are required to completely replace the data of 4 pixels.
[0043]
Therefore, it is necessary not to output the calculation result during 3 clocks during the data exchange. Along with this, the enable signal for the output counter is controlled so that the next count is not performed until the operation data is ready.
[0044]
In this way, by controlling the timing of the output counter 101, the line buffer unit 104, and the calculation unit 105 by the data request unit 102, it is possible to provide a resolution conversion circuit that realizes resolution conversion by convolution calculation with several line buffers.
[0045]
Hereinafter, the resolution conversion apparatus of this embodiment will be described in more detail.
[0046]
In FIG. 1, 101 is an output counter, 102 is a data request unit, 103 is a lookup table (hereinafter referred to as LUT), 104 is a line buffer unit, 105 is a calculation unit, and 106 is an output buffer.
[0047]
The output counter 101 receives a vertical synchronization signal (hereinafter referred to as “Vsync”), a horizontal synchronization signal (hereinafter referred to as “Hsync”) of an input image, and PCLK which is a pixel clock for calculation.
Here, it is assumed that an arbitrary frequency can be externally set by the user for PCLK. However, in order to enable resolution conversion up to twice in both vertical and horizontal directions, a frequency about four times the pixel clock (PICLK) of the input image is required.
[0048]
The output counter 101 counts up each coordinate value of x and y from 0 to the output image size set by the user. The count-up timing at this time is synchronized with PCLK in the x direction and Hsync (strictly, YFLAG (described later)) in the y direction. The count value data counted by the output counter 101 is sent to the data request unit 102. Further, the count in the X direction is reset by Hsync (YFLAG), and the count in the Y direction is reset by the vertical synchronization signal Vsync.
[0049]
The data request unit 102 generates request data from the x and y count values. The request data generation method is as follows:
XCOUNT / XZOOM = XQUOT ... XREMD (Formula 1)
YCOUNT / YZOOM = YQUOT ... YREMD (Formula 2)
by. Here, XCOUNT represents the count value in the x direction generated by the output counter 101, XZOOM represents the magnification in the x direction, XQUOT represents the quotient of the above calculation, and XREMD represents the remainder value. YCOUNT, YZOOM, YQUOT, and YREMD represent the same values as described above with respect to the y direction. XQUOT, XREMD, YQUOT, and YREMD obtained in this way are request data.
[0050]
Here, if the coordinates (XCOUNT, YCOUNT) are regarded as coordinate data after resolution conversion, (XQUOT, YQUOT) can be regarded as the vicinity coordinates of the coordinate data after conversion in the image before conversion. If XREMD and YREMD are zero at this time, XQUOT and YQUOT are the values of the coordinates before conversion. That is, XREMD and YREMD represent how far the coordinates after conversion (XCOUNT, YCOUNT) are away from the coordinates before conversion (XQUOT, YQUOT).
[0051]
The data request unit 102 monitors the generated XQUOT and YQUOT signals, and feeds back an enable signal generated based on the signals to the output counter 101. A method for generating the enable signal at this time will be described later.
[0052]
Next, the XREMD and YREMD signals are sent to the LUT 103. The LUT 103 is a coefficient table in which convolution calculation coefficients calculated in advance are registered, and outputs four uniquely determined coefficients for the input XREMD and YREMD. The coefficient data output from the LUT 103 is sent to the calculation unit 105.
[0053]
On the other hand, the XQUOT and YQUOT signals are sent to the line buffer unit 104. The line buffer unit 104 includes four or more line buffers for storing input image data. The line buffer unit 104 allocates one line buffer for each input Hsync. In this way, pixel data of different lines is always stored in four or more line buffers.
[0054]
The stored line-by-line data is assigned a line address starting from Vsync. This line address corresponds to YQUOT. The line buffer unit 104 selects a line buffer having line addresses of YQUOT-1, YQUOT, YQUOT + 1, and YQUOT + 2 with respect to YQUOT inputted from the stored line buffers. Here, the same line buffer continues to be selected throughout one line.
[0055]
At this time, the line address of the line buffer stored in the line buffer unit 104 is monitored by the data request unit 102. If the data of the necessary line address has not yet been input to the line buffer unit 104, the data request unit 102 controls the enable signal to stop the count up of the output counter 101. In this example, the necessary line addresses are data of YQUOT-1, YQUOT, YQUOT + 1, and YQUOT + 2 line addresses. Here, since the line buffer unit 104 stores the line sequentially, it is only necessary to check whether the data of the YQUOT + 2 line is actually stored in the line buffer unit 104. When the necessary line address data is stored, the count-up of the output counter 101 is resumed.
[0056]
Next, the line buffer unit 104 reads out pixel data corresponding to XQUOT from the selected line buffer. Here, the bit address is assigned to the data stored in the line buffer starting from Hsync. The way XQUOT and bit address correspond at this time depends on the magnification. The way of dealing with this will be described later.
[0057]
Next, the data read from the line buffer unit 104 is sent to the arithmetic unit 105. The calculation unit 105 uses the coefficient data from the LUT 103 and the pixel data from the line buffer unit 104 to calculate pixel data after resolution conversion by convolution calculation. The calculated pixel data is sent to the output buffer 106.
[0058]
The output buffer 106 temporarily stores the pixel data generated with the pixel clock (PCLK) of the operation. The stored data is sequentially output according to Vsync, Hsync, and pixel clock (POCLK) for output to the display device. In this way, data after resolution conversion is generated.
[0059]
If the resolution conversion apparatus shown in FIG. 1 is applied to an information processing apparatus, when the image data generated under the control of the CPU is displayed on the display unit, the generated image data is displayed on the line buffer unit 104. The image data after resolution conversion stored in the output buffer 106 is displayed. In this way, it is not necessary for the CPU to change the resolution of the image data in accordance with the resolution of the output destination display.
[0060]
Next, each block will be described.
FIG. 2 is a diagram showing the structure of the line buffer unit 104. In FIG. 2, 201 represents an input buffer control circuit, 202 represents a line buffer block, and 203 represents a rearrangement circuit. The line buffer block 202 is provided with a plurality of line buffers, and pixel data is held in line units in each line buffer in synchronization with Hsync, Vsync, and input pixel clock PICLK.
[0061]
The input buffer control circuit 201 selects a line buffer having a corresponding line address from the data request signal YQUOT in the y direction from the line buffer block 202, and sequentially reads data from the selected line buffer. At this time, the read data is counted, and the calculation in the x direction is performed when the request of the data request signal XQUOT in the x direction is satisfied.
[0062]
The line buffer block 202 has a capacity capable of storing five or more lines, each of which can be selected, and a memory capable of extracting data of a specified bit address from a plurality (four in this case) of the selected lines. Represents.
[0063]
FIG. 3 is a diagram for explaining the configuration and operation of the line buffer block 202. Here, a structure is shown in which the line buffer 202 has five lines of line buffers.
[0064]
FIG. 3 shows that input data is being stored in the line buffer 1 and pixel data is being read from the remaining four line buffers 2 to 5.
[0065]
In the next Hsync, input data is stored in the line buffer 2 and data is read from the remaining line buffers 1, 3, 4, and 5. In the next Hsync, input data is stored in the line buffer 3 and data is read from the remaining line buffers 1, 2, 4, and 5. In this way, the latest four lines of data are sequentially stored in the line buffer.
[0066]
The data read from the line buffer block 202 is the data of the same bit address in the data for four lines. At this time, the arrangement of data differs depending on which line buffer is read from. Since the calculation unit 105 in the subsequent stage multiplies the convolution calculation coefficient corresponding to each pixel data, it is necessary to arrange the data arrangement. Therefore, a rearrangement circuit 203 is provided so that the data read from each line buffer is rearranged in chronological order from the oldest and output to the arithmetic unit 105.
[0067]
FIG. 4 is a diagram showing the structure of the calculation unit 105. In FIG. 4, 401 is a multiplier (indicated by the same symbol in the figure indicates the same configuration), 402 is an adder, 403 is a shift control circuit, 404 is a first register, and 405 is The second register, 406 represents a third register, and 407 represents a fourth register. In the figure, GX1, GX2, GX3, and GX4 represent pixel data read from the line buffer unit 104, and f (y1), f (y2), f (y3), and f (y4) are in the y direction. F (x1), f (x2), f (x3), and f (x4) represent coefficient data in the x direction.
[0068]
When pixel data GX1, GX2, GX3, and GX4 are input, first, multiplication is performed with coefficient data f (y1), f (y2), f (y3), and f (y4) in the y direction. At this time, corresponding data is determined such that GX1 is f (y1) and GX2 is f (y2). At this time, the coefficient in the y direction is constant in one line. All the multiplied data are added together and stored in the first register 404.
[0069]
When new pixel data GX 1, GX 2, GX 3, and GX 4 are input at the next clock, the inner product operation is performed as described above, and the new operation data is stored in the first register 404. At this time, the data already stored in the first register 404 is shifted to the second register 405 and stored. Further, the data already stored in the second register 405 is overwritten and stored in the third register 406, and the data stored in the third register 406 is overwritten in the fourth register 407.
[0070]
When the data is stored in the first to fourth registers 404 to 407 in this way, the coefficients f (x1), f (x2), f (x3), f in the x direction corresponding to the respective registers are now generated. Multiplication is performed with (x4), and the result is added and output as the operation result.
[0071]
Since these processes are pipelined, it is possible to output operation data for one pixel every clock.
[0072]
Here, depending on the magnification, the same pixel data may be input continuously for several clocks. At that time, a shift enable signal (SEN) sent from the data request unit 102 prevents the shift control circuit 403 from accepting new data.
[0073]
Further, depending on other magnifications, it may be necessary to shift pixel data one by one instead of shifting pixel data one by one. However, only one pixel of input pixel data can be input per clock. That is, if one pixel is input at one clock and the register is shifted one by one, a value effective as operation data is in a state of being skipped with respect to the clock. Therefore, an active signal (ACT) is generated from the shift control circuit 403 to control it. The ACT signal is high when the output pixel data is valid, and low when the output data is invalid. As described above, when the output pixel data outputs valid data in succession, the ACT signal is controlled accordingly.
[0074]
The ACT signal and output pixel data are sent in pairs to the output buffer 106, and writing is performed when the ACT signal is high, and writing is not performed when the ACT signal is low.
[0075]
FIG. 5 is a block diagram showing a configuration example of the output counter 101. In FIG. 5, reference numeral 501 denotes an x-direction counter (hereinafter, x counter), 502 is a count control circuit, and 503 is a y-direction counter (hereinafter y counter).
[0076]
The x counter 501 counts up the effective image area of Hsync with the pixel clock (PCLK) for calculation starting from the input Hsync, and outputs the value as XCOUNT. At this time, the count execution is controlled according to the x-direction enable signal (XEN) fed back from the data request unit 102. That is, the control is performed so that the count-up is performed when XEN is high and the count-up is not performed when XEN is low. The count value of the X counter 501 is reset to 0 by YFLAG (described later).
[0077]
Further, the x counter 501 stores a value (HSIZE) indicating how many PCLKs are counted regardless of XEN in the previous effective image area of Hsync. This HSIZE signal is sent to the count control circuit 502.
[0078]
The count control circuit 502 receives the YFLAG signal from the HSIZE signal, the input Hsync, the Y-direction magnification (YZOOM), the y-direction enable signal (YEN) fed back from the data request unit 102, and the XCOUNT value. Generate.
[0079]
The y counter 503 counts up the rising edge or the falling edge of the YFLAG signal in the effective image area of Vsinc starting from the input Vsync. This counted up value is output as YCOUNT. In this embodiment, whether or not YFLAG is output by YEN is controlled, and as a result, count-up of y counter 503 is controlled. However, YFLAG is output regardless of YEN, and y counter 503 is controlled. YEN may be supplied to control the count up of the y counter.
[0080]
Next, the data request unit 102 will be described. FIG. 6 is a part of the data request unit and shows the structure of the counter control unit in the y direction.
In FIG. 6, reference numeral 601 represents a Divider, and 602 represents an ENABLE signal generation circuit in the y direction. Divider 601 receives the y-direction counter value (YCOUNT) generated by output counter 101 and the y-direction magnification (YZOOM) arbitrarily designated by the user.
[0081]
Divider 601 performs division according to the above-described (Equation 2) to generate YQUOT and YREMD signals. Next, the ENABLE signal generation circuit 602 receives the line address information from the line buffer unit 104 and the YQUOT generated by the Divider 601. The line address information is information indicating the line address currently being written, and it can be seen that data for the previous four lines from this line address is stored in the line buffer unit 104.
[0082]
As a result, the ENABLE signal generation circuit 602 compares the line address information with YQUOT,
Line address information = YQUOT + 3 (Formula 3)
Then, since the data that can be calculated is stored in the line buffer unit, the enable signal (YEN) in the y direction is set high.
[0083]
on the other hand,
Line address information <YQUOT + 3 (Formula 4)
Then, since the storage of the YQUOT + 2 line has not yet been completed, the ENABLE signal generation circuit 602 drops YEN low and pauses the count-up of YCOUNT until the condition of (Equation 3) is satisfied. .
[0084]
FIG. 7 is a block diagram showing a structure of a counter control unit in the x direction, which is a part of the data request unit 102. Reference numeral 701 denotes a Divider, and reference numeral 702 denotes an x-direction ENABLE signal generation circuit.
[0085]
Divider 701 receives an x-direction counter value (XCOUNT) generated by output counter 101 and an x-direction magnification (XZOOM) arbitrarily designated by the user. Divider 701 performs division according to the above-described (Equation 1), and generates XQUOT and XREMD signals.
[0086]
Next, register information from the operation unit 105 and XQUOT generated by the Divider 701 are input to the ENABLE signal generation circuit 702. The register information indicates a pixel address corresponding to data stored in the first register 404 which is the newest register of the arithmetic unit 105. It can be seen that the data of this pixel address and the data for the previous three pixels from this address are stored in the four registers of the arithmetic unit 105.
[0087]
As a result, the ENABLE signal generation circuit 702 compares the register information with XQUOT,
Register information = XQUOT + 2 (Formula 5)
Then, since the data that can be used for calculation output is stored in the calculation unit 105, the enable signal (XEN) in the x direction is set high.
[0088]
on the other hand,
Register information <XQUOT + 2 (Formula 6)
Then, the ENABLE signal generation circuit 702 temporarily stops the XCOUNT count-up until XEN is lowered to the condition (Equation 5).
[0089]
The ENABLE signal generation circuit 702 monitors whether or not XQUOT continuously takes the same value when XEN is enabled. If they become the same value, the shift enable signal (SEN) is lowered to prevent the shift control circuit 403 of the arithmetic unit 105 from accepting new data. As a result, the shift operation of the first to fourth registers (404 to 407) does not occur.
[0090]
The operations described above are shown in specific timing charts in FIGS. Hereinafter, with reference to these timing charts, a more specific operation of the resolution conversion apparatus of the present embodiment will be described.
[0091]
FIG. 8 is a timing chart when the y direction is doubled. Here, YFLAG is a signal generated by the count control circuit 502 of FIG. 5, YCOUNT is a signal generated by the y counter 503, and YQUOT and YREMD are signals generated by the Divider 601 of FIG. . YEN is a signal generated by the ENABLE signal generation circuit 602.
[0092]
As long as the enlargement ratio YZOOM in the y direction is 1 ≦ YZOOM ≦ 2, a signal that divides the effective Hsync effective pixel period into two equal parts is generated as YFLAG. This is because, for example, YFLAG is set in synchronization with Hsync, and the count value (XCOUNT) of X counter 501 is monitored, and YFLAG is set when the number of pixels indicated by HSIZE is halved. Realized. A signal that divides the input Hsync into three equal parts is generated as YFLAG until 2 <YZOOM ≦ 3 times. For example, YFLAG is set in synchronization with Hsync, and the count value (XCOUNT) of the X counter 501 is monitored, and when YFLAG is 1/3 and 2/3 of the number of pixels indicated by HSIZE, YFLAG This is realized by setting.
[0093]
Based on the above, the data masked by the YEN signal is output as YFLAG. YCOUNT is counted up at the falling or rising edge of YFLAG.
[0094]
In FIG. 8, when YCOUNT = 2, YQUOT = 1. Since the line addresses read from the line buffer are four lines YQUOT-1, YQUOT, YQUOT + 1, and YQUOT + 2, the data of the line addresses 0, 1, 2, and 3 are read here. YQUOT = 1 when YCOUNT = 3. Also at this time, data of line addresses 0, 1, 2, and 3 are read out.
[0095]
Any of these can be processed during the period of input line address = 4. That is, it represents that data for two lines can be output during 1H (one horizontal period).
[0096]
Therefore, when the magnification is set to double in the y direction, the YEN signal is always high, and YFLAG is output at the timing shown in FIG. As a result, the output line is continuously output.
[0097]
FIG. 9 is a timing chart when the y direction is enlarged 1.5 times. In FIG. 9, when YCOUNT = 2, since YQUOT = 1, the data of 0, 1, 2, 3 line addresses are read here. When YCOUNT = 3, YQUOT = 2. At this time, it is necessary to read out line address data of 1, 2, 3, and 4. However, at this time, the data of line address = 4 is being written to the line buffer, and cannot be read out. Therefore, the ENABLE signal generation circuit 602 outputs YEN = low and masks YFLAG (the broken line portion of YFLAG in FIG. 9), thereby temporarily stopping the count-up of YCOUNT.
[0098]
After that, when the writing of the data of the line address = 4 is completed and reading is possible, YEN becomes high. Thus, when the magnification is set to 1.5 times in the y direction, the YEN signal is output in the form shown in FIG. This changes YFLAG and controls the count-up of YCOUNT.
[0099]
FIG. 10 is a timing chart when the y direction is reduced to 1/2. YFLAG in the case of reduction is generated based on the input Hsync. The data masked by the YEN signal is output as YFLAG. In FIG. 10, when YCOUNT = 1, since YQUOT = 2, the data of the line addresses 1, 2, 3, and 4 are read out here.
[0100]
Next, when YCOUNT = 2, YQUOT = 4. At this time, it is necessary to read out line address data of 3, 4, 5, and 6. However, at this time, the input image data with the line address = 6 is being written to the line buffer, and cannot be read out. Therefore, the ENABLE signal generation circuit 602 outputs YEN = low and masks YFLAG (the broken line portion of YFLAG in FIG. 10), thereby temporarily stopping the count-up of YCOUNT.
[0101]
Thereafter, when the writing of the data of the line address = 6 is completed and the line address data of 3, 4, 5, 6 can be read, YEN becomes high. Therefore, when the signal is halved in the y direction, the YEN signal is output in the form shown in FIG. As a result, the timing at which YFLAG turns on changes, and the count-up of YCOUNT is controlled.
[0102]
FIG. 11 is a timing chart when the y direction is reduced to 3/4 times. Since this magnification setting is also reduction, YFLAG is generated by the same method as in FIG.
[0103]
In FIG. 11, since YQUOT = 1 when YCOUNT = 1, data of line addresses 0, 1, 2, and 3 are read here. Next, YQUOT = 2 when YCOUNT = 2. At this time, line address data of 1, 2, 3, 4 are read.
[0104]
Next, YQUOT = 4 when YCOUNT = 3. At this time, it is necessary to read out line address data of 3, 4, 5, and 6. However, at this time, the data with the line address = 6 is being written to the line buffer and cannot be read out. Therefore, the ENABLE signal generation circuit 602 outputs YEN = low and masks YFLAG (the broken line portion of YFLAG in FIG. 11), thereby temporarily stopping the count-up of YCOUNT. Thereafter, when the writing of the data at the line address = 6 is completed and the data can be read, YEN becomes high.
[0105]
Therefore, when the y direction is 3/4 times, the YEN signal is output in the form shown in FIG. This changes YFLAG and controls the count-up of YCOUNT.
[0106]
With the above method, the count-up start timing of YCOUNT can be controlled at any magnification.
[0107]
Next, enlargement / reduction in the x direction will be described.
[0108]
FIG. 12 is a timing chart when the x direction is doubled. Here, XCOUNT is a signal generated by the x counter 501, and XQUOT and XREMD are signals generated by the Divider 701 in FIG. SEN and XEN are signals generated by the ENABLE signal generation circuit 702.
[0109]
In FIG. 12, when XCOUNT = 2, XQUOT = 1. Since the selected pixel addresses are four pixels of XQUOT-1, XQUOT, XQUOT + 1, and XQUOT + 2, pixel data with pixel addresses of 0, 1, 2, and 3 are selected here.
[0110]
At this time, if the pixel addresses of the data stored in the registers (404 to 407) of the arithmetic unit 105 are 0, 1, 2, 3, SEN = high, XEN = high, and the data currently stored in the register At this time, the calculation is performed based on the coefficient data (f (x1) to f (x4)) separately drawn from the LUT 103 by the XREMD, and the calculation result is output. The coefficient data f (y1) to f (y4) are acquired from the LUT 103 by YREMD obtained from the YCOUNT value at that time.
[0111]
Next, when XCOUNT = 3, XQUOT = 1. Again, pixel data of pixel address = 0, 1, 2, 3 is selected. At this time, since the selected pixel address becomes the same as the selected pixel address of the previous clock, SEN = low, and the data in the first to fourth registers (404 to 407) is not exchanged. However, since XREMD has changed, the coefficient data is switched. Therefore, a new calculation is performed and the calculation result is output.
[0112]
Next, when XCOUNT = 4, XQUOT = 2. Here, pixel data of pixel addresses = 1, 2, 3, and 4 are selected. At this time, SEN = high, XEN = high, new data is read, and the register is shifted. An operation is performed using the new register data and coefficient data extracted from the LUT 103 based on XREMD separately, and the operation result is output.
In this way, pixel data twice in the x direction is generated.
[0113]
FIG. 13 is a timing chart when the x direction is enlarged 1.5 times.
In FIG. 13, when XCOUNT = 2, XQUOT = 1. Since the pixel addresses to be selected are four pixels of XQUOT-1, XQUOT, XQUOT + 1, and XQUOT + 2, pixel data of pixel addresses = 0, 1, 2, and 3 are selected here.
[0114]
At this time, if the pixel addresses of the data stored in the registers (404 to 407) of the arithmetic unit 105 are 0, 1, 2, 3, SEN = high, XEN = high, and the data currently stored in the register At this time, the calculation is performed with the coefficient data separately extracted by XREMD, and the calculation result is output.
[0115]
Next, when XCOUNT = 3, XQUOT = 2. Therefore, pixel data at pixel addresses = 1, 2, 3, 4 are selected. At this time, SEN = high and XEN = high, new data is read, and the register is shifted. An operation is performed by using the new register data and coefficient data extracted separately, and an operation result is output.
[0116]
Next, when XCOUNT = 4, XQUOT = 2. Again, pixel data of pixel addresses = 1, 2, 3, 4 are selected. At this time, since the selected pixel address is the same as the selected pixel address of the previous clock, SEN = low, and the data in the registers (404 to 407) is not exchanged. However, since XREMD has changed, the coefficient data is switched. Therefore, a new calculation is performed and the calculation result is output.
In this way, pixel data of 1.5 times in the x direction is generated.
[0117]
FIG. 14 is a timing chart when the x direction is reduced to 1/2 times.
In FIG. 14, when XCOUNT = 1, since XQUOT = 2, pixel data of pixel addresses = 1, 2, 3, 4 are selected. At this time, if the pixel addresses of the data stored in the first to fourth registers (404 to 407) of the arithmetic unit 105 are 1, 2, 3, and 4, SEN = high and XEN = high, The calculation is performed using the stored data and the coefficient data separately extracted by XREMD at this time, and the calculation result is output.
[0118]
Next, when XCOUNT = 2, XQUOT = 4. Therefore, pixel data of pixel addresses = 3, 4, 5, and 6 are selected. At this time, SEN = high, new data is read, and the register is shifted. However, the pixel address of the register after the shift is performed is 2, 3, 4, and 5, which does not match the selected pixel address from XQUOT. Therefore, XEN = low, and XCOUNT count up is paused.
[0119]
Another pixel is read at the next clock, and the register is shifted. Here, the address of the register becomes 3, 4, 5, 6, and XEN = high because it matches the selected address. The calculation is performed using the new register data and the coefficient data separately drawn, and the calculation result is output. . Output pixel No. In FIG. 4, the low portion is different from the memory that is not written, but this is controlled by the ACT signal being LOW.
In this way, pixel data of 1/2 times in the x direction is generated.
[0120]
FIG. 15 is a timing chart when the x direction is reduced to 3/4 times.
In FIG. 15, when XCOUNT = 1, XQUOT = 1. Here, pixel data of pixel address = 0, 1, 2, 3 is selected. At this time, if the pixel addresses of the data stored in the registers (404 to 407) of the arithmetic unit 105 are 0, 1, 2, 3, SEN = high, XEN = high, and the data currently stored in the register At this time, the calculation is performed with the coefficient data separately extracted by XREMD, and the calculation result is output.
[0121]
Next, when XCOUNT = 2, XQUOT = 2. Here, pixel data of pixel addresses = 1, 2, 3, and 4 are selected. At this time, SEN = high, new data is read, and the register is shifted. Since the pixel address of the data stored in the register at this time is 1, 2, 3, 4 and matches the selected pixel address, the calculation is performed using this data, and the calculation result is output.
[0122]
Next, when XCOUNT = 3, XQUOT = 4. Here, pixel data of pixel addresses = 3, 4, 5, and 6 are selected. At this time, SEN = high, new data is read, and the register is shifted. However, the pixel address of the register after the shift is performed = 2, 3, 4, and 5, which do not match the selected pixel address from XQUOT. Therefore, XEN = low, and XCOUNT count up is paused.
[0123]
The next pixel is read at the next clock, and the register is shifted. Here, the address of the register is 3, 4, 5, and 6. Since it matches the selected address, XEN = high, and the calculation is performed using the new register data and the coefficient data separately extracted, and the calculation result is output. .
In this way, pixel data of 3/4 times in the x direction is generated.
[0124]
An outline of the above operation is as follows. That is, the data requested by XQUOT is four pixels, XQUOT-1, XQUOT, XQUOT + 1, and XQUOT + 2, whereas the data in the X direction is read from one line buffer. Then, only 1 data can be read at 1 CLK. Therefore, as described with reference to FIG. 4, a method of collecting the read data in the register is employed. Here, a configuration is used in which data obtained by performing calculations in the Y direction is stored in a register as data in the X direction. Then, as long as the data requested by XQUOT is not available, XEN is set to low so that no operation is performed, and XCOUNT count-up is stopped so that the value of XQUOT does not change. In the case of reduction, since XQUOT precedes the data accumulated in the register, data is read out every 1 CLK when SEN is always high. On the other hand, in the case of enlargement, the data is accumulated in the line buffer before the change of XQUOT, so timing control is performed by changing SEN. With the above-described method, the count-up start timing of XCOUNT can be controlled at any magnification.
[0125]
As described above, according to the present embodiment, an enlargement / reduction operation circuit that refers to a plurality of pixel data such as a three-dimensional convolution operation can be realized with a single operation circuit.
[0126]
【The invention's effect】
As described above, according to the present invention, it is possible to handle a plurality of resolutions with a single arithmetic circuit using a line buffer.
In addition, according to the present invention, it is possible to cope with a plurality of types of resolution conversion using a three-dimensional convolution calculation method with a configuration using a line buffer and a single calculation circuit.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of a resolution conversion apparatus according to an embodiment.
FIG. 2 is a block diagram illustrating a configuration example of a line buffer unit 104;
FIG. 3 is a diagram for explaining the configuration of the line buffer block 202 and the flow of data.
4 is a block diagram illustrating a configuration example of a calculation unit 105. FIG.
FIG. 5 is a block diagram showing a configuration example of an output counter 101. FIG.
6 is a block diagram showing a configuration related to a Y direction in a data request unit 102. FIG.
7 is a block diagram showing a configuration related to an X direction in a data request unit 102. FIG.
FIG. 8 is a timing chart at the time of double setting in the y direction in the resolution conversion processing of the present embodiment.
FIG. 9 is a timing chart when setting 1.5 times in the y direction in the resolution conversion processing of the present embodiment.
FIG. 10 is a timing chart at the time of setting 1/2 times in the y direction in the resolution conversion processing of the present embodiment.
FIG. 11 is a timing chart when setting 3/4 times in the y direction in the resolution conversion processing of the present embodiment;
FIG. 12 is a timing chart at the time of x-direction double setting in the resolution conversion processing of the present embodiment.
FIG. 13 is a timing chart at the time of setting 1.5 times in the x direction in the resolution conversion processing of the present embodiment.
FIG. 14 is a timing chart at the time of setting 1/2 times in the x direction in the resolution conversion processing of the present embodiment.
FIG. 15 is a timing chart when setting 3/4 times in the x direction in the resolution conversion processing of the present embodiment;

Claims (11)

解像度変換前の画像データに対して、解像度変換処理を施し、解像度が変換された画像データを生成する解像度変換装置であって、
画素クロックと水平同期信号に同期して解像度変換前の画像データの各画素値をライン単位に、順次格納する複数のラインバッファと、
所定クロックのカウント値と前記水平同期信号に基づいて、解像度が変換された場合の画像データ中の画素位置を特定する座標値を順次に生成する生成手段と、
前記生成手段で生成された座標値を解像度変換の倍率値に基づいて前記解像度変換前の画像データ中の画素位置に変換する変換手段と、
前記変換手段で得られた画素位置に基づいて演算に必要な画素の画素値を前記複数のラインバッファより取得し、前記座標値に対応する画素の画素値を算出する演算手段と、
前記演算手段による画素値の演算が遂行できない場合、当該演算の遂行が可能な状態となるまで前記生成手段による座標値の生成を停止させる停止手段と
を備えることを特徴とする解像度変換装置。
A resolution conversion device that performs resolution conversion processing on image data before resolution conversion and generates image data in which the resolution is converted,
A plurality of line buffers for sequentially storing each pixel value of image data before resolution conversion in units of lines in synchronization with a pixel clock and a horizontal synchronization signal;
Generating means for sequentially generating coordinate values for specifying pixel positions in the image data when resolution is converted based on a count value of a predetermined clock and the horizontal synchronization signal;
Conversion means for converting the coordinate value generated by the generation means into a pixel position in the image data before the resolution conversion based on a magnification value for resolution conversion;
Calculation means for obtaining pixel values of pixels necessary for calculation based on the pixel positions obtained by the conversion means from the plurality of line buffers, and calculating pixel values of pixels corresponding to the coordinate values;
A resolution conversion apparatus comprising: a stop unit that stops generation of coordinate values by the generation unit until the calculation unit is in a state where the calculation unit can perform the calculation when the calculation unit cannot perform the calculation of the pixel value.
前記変換手段は、前記座標値を前記倍率値で除算して得られた商の整数部を用いて前記解像度変換前の画像データ中の画素位置とすることを特徴とする請求項1に記載の解像度変換装置。The said conversion means uses the integer part of the quotient obtained by dividing the coordinate value by the magnification value as the pixel position in the image data before the resolution conversion . Resolution converter. 前記演算手段は、前記変換手段の除算で得られた小数部に基づいて、前記座標値に対応する画素の画素値の算出に用いる係数を変更することを特徴とする請求項2に記載の解像度変換装置。  3. The resolution according to claim 2, wherein the calculation unit changes a coefficient used to calculate a pixel value of a pixel corresponding to the coordinate value based on a decimal part obtained by the division of the conversion unit. Conversion device. 前記生成手段は、
前記水平同期信号、前記所定クロック及び前記倍率に基づいて擬似的な水平同期信号を発生する発生手段と、
前記疑似的な水平同期信号によってクリアされ、前記所定クロックをカウントする第1カウンタと、
前記疑似的な水平同期信号をカウントする第2カウンタとを備え、
前記第1カウンタ及び前記第2カウンタのカウント値を前記座標とすることを特徴とする請求項1に記載の解像度変換装置。
The generating means includes
Generating means for generating a pseudo horizontal synchronization signal based on the horizontal synchronization signal, the predetermined clock and the magnification;
A first counter that is cleared by the pseudo horizontal synchronization signal and counts the predetermined clock;
A second counter that counts the pseudo horizontal synchronization signal;
The resolution conversion apparatus according to claim 1, wherein count values of the first counter and the second counter are used as the coordinates.
前記停止手段は、前記演算手段の演算に必要な画素を含むラインの、前記複数のラインバッファへの入力が完了していない場合に、前記第2カウンタのカウント動作を停止することを特徴とする請求項4に記載の解像度変換装置。  The stop means stops the counting operation of the second counter when an input to the plurality of line buffers is not completed for a line including pixels necessary for the calculation of the calculation means. The resolution conversion apparatus according to claim 4. 解像度変換前の画像データに対して、解像度変換処理を施し、解像度が変換された画像データを生成する解像度変換方法であって、
画素クロックと水平同期信号に同期して解像度変換前の画像データの各画素値をライン単位に、複数のラインバッファに順次格納する格納工程と、
所定クロックのカウント値と前記水平同期信号に基づいて、解像度が変換された場合の画像データ中の画素位置を特定する座標値を順次に生成する生成工程と、
前記生成工程で生成された座標値を解像度変換の倍率値に基づいて前記解像度変換前の画像データ中の画素位置に変換する変換工程と、
前記変換工程で得られた画素位置に基づいて演算に必要な画素の画素値を前記複数のラインバッファより取得し、前記座標値に対応する画素の画素値を算出する演算工程と、
前記演算工程による画素値の演算が遂行できない場合、当該演算の遂行が可能な状態となるまで前記生成工程による座標値の生成を停止させる停止工程と
を備えることを特徴とする解像度変換方法。
A resolution conversion method that performs resolution conversion processing on image data before resolution conversion and generates image data in which the resolution is converted,
A storage step of sequentially storing each pixel value of image data before resolution conversion in units of lines in a plurality of line buffers in synchronization with a pixel clock and a horizontal synchronization signal;
A generating step for sequentially generating coordinate values for specifying pixel positions in image data when resolution is converted based on a count value of a predetermined clock and the horizontal synchronization signal;
A conversion step of converting the coordinate value generated in the generation step into a pixel position in the image data before the resolution conversion based on a magnification value of resolution conversion ;
A calculation step of obtaining pixel values of pixels necessary for calculation based on the pixel positions obtained in the conversion step from the plurality of line buffers, and calculating pixel values of pixels corresponding to the coordinate values;
A resolution conversion method comprising: a stop step of stopping the generation of coordinate values by the generation step until the calculation can be performed when the calculation of the pixel value by the calculation step cannot be performed.
前記変換工程は、前記座標値を前記倍率値で除算して得られた商の整数部を用いて前記解像度変換前の画像データ中の画素位置とすることを特徴とする請求項に記載の解像度変換方法。The conversion step according to claim 6 , wherein the pixel position in the image data before the resolution conversion is obtained by using an integer part of a quotient obtained by dividing the coordinate value by the magnification value. Resolution conversion method. 前記演算工程は、前記変換工程の除算で得られた小数部に基づいて、前記座標値に対応する画素の画素値の算出に用いる係数を変更することを特徴とする請求項に記載の解像度変換方法。The resolution according to claim 7 , wherein the calculation step changes a coefficient used to calculate a pixel value of a pixel corresponding to the coordinate value based on a fractional part obtained by the division of the conversion step. Conversion method. 前記生成工程は、
前記水平同期信号、前記所定クロック及び前記倍率に基づいて疑似的な水平同期信号を発生する発生工程と、
前記疑似的な水平同期信号によってクリアされ、前記所定クロックをカウントする第1カウンタ工程と、
前記疑似的な水平同期信号をカウントする第2カウンタ工程とを備え、
前記第1カウンタ工程及び前記第2カウンタ工程によるカウント値を前記座標とすることを特徴とする請求項に記載の解像度変換方法。
The generating step includes
Generating a pseudo horizontal synchronization signal based on the horizontal synchronization signal, the predetermined clock and the magnification;
A first counter step that is cleared by the pseudo horizontal synchronization signal and counts the predetermined clock;
A second counter step for counting the pseudo horizontal synchronization signal,
The resolution conversion method according to claim 6 , wherein a count value obtained by the first counter step and the second counter step is used as the coordinates.
前記停止工程は、前記演算工程の演算に必要な画素を含むラインの、前記複数のラインバッファへの入力が完了していない場合に、前記第2カウンタ工程のカウント動作を停止することを特徴とする請求項に記載の解像度変換方法。The stopping step stops the counting operation of the second counter step when input to the plurality of line buffers of a line including pixels necessary for the calculation in the calculation step is not completed. The resolution conversion method according to claim 9 . 請求項1乃至のいずれかに記載の解像度変換装置と、
表示対象画像データを前記解像度変換前の画像データとして前記解像度変換装置に入力する手段と、
前記解像度変換装置より得られた解像度変換後の画像データを保持するバッファと、
前記バッファに格納された前記解像度変換後の画像データを表示する表示手段と
を備えることを特徴とする情報処理装置。
A resolution conversion device according to any one of claims 1 to 5 ;
Means for inputting display target image data to the resolution conversion apparatus as image data before the resolution conversion;
A buffer for holding image data after resolution conversion obtained from the resolution conversion device;
An information processing apparatus comprising: display means for displaying the image data after the resolution conversion stored in the buffer.
JP2002264184A 2002-09-10 2002-09-10 Resolution conversion apparatus and method, and information processing apparatus Expired - Fee Related JP4035408B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002264184A JP4035408B2 (en) 2002-09-10 2002-09-10 Resolution conversion apparatus and method, and information processing apparatus
US10/653,902 US7050077B2 (en) 2002-09-10 2003-09-04 Resolution conversion device and method, and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002264184A JP4035408B2 (en) 2002-09-10 2002-09-10 Resolution conversion apparatus and method, and information processing apparatus

Publications (2)

Publication Number Publication Date
JP2004101910A JP2004101910A (en) 2004-04-02
JP4035408B2 true JP4035408B2 (en) 2008-01-23

Family

ID=31986498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002264184A Expired - Fee Related JP4035408B2 (en) 2002-09-10 2002-09-10 Resolution conversion apparatus and method, and information processing apparatus

Country Status (2)

Country Link
US (1) US7050077B2 (en)
JP (1) JP4035408B2 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE506164C2 (en) * 1995-10-09 1997-11-17 Medscand Medical Ab Instruments for the treatment of urinary incontinence in women
JP4261970B2 (en) * 2003-04-24 2009-05-13 キヤノン株式会社 Video information processing apparatus and video information processing method
JP4217543B2 (en) * 2003-06-05 2009-02-04 キヤノン株式会社 Motion information processing apparatus and method
US7825987B2 (en) * 2003-10-03 2010-11-02 Canon Kabushiki Kaisha Information processor, TV system, control method and program
JP4641438B2 (en) * 2004-03-16 2011-03-02 キヤノン株式会社 Pixel interpolation device and pixel interpolation method
CN101075425A (en) * 2004-05-06 2007-11-21 佳能株式会社 Image signal processing circuit and image display apparatus
KR100632297B1 (en) * 2004-08-31 2006-10-11 매그나칩 반도체 유한회사 Resolution reducer
EP1679882A4 (en) * 2004-10-14 2008-07-09 Matsushita Electric Ind Co Ltd Video signal processor
TWI251434B (en) * 2004-12-08 2006-03-11 Himax Tech Inc Image processing module with less line buffers
US7668366B2 (en) 2005-08-09 2010-02-23 Seiko Epson Corporation Mosaic image data processing
US8643661B1 (en) 2006-06-21 2014-02-04 Marvell International Ltd. Non raster row pixel processing
US7839424B1 (en) * 2006-07-13 2010-11-23 Marvell International Ltd. Horizontal strip column-first two-dimensional scaling
JP5171118B2 (en) 2007-06-13 2013-03-27 キヤノン株式会社 Arithmetic processing apparatus and control method thereof
JP5184824B2 (en) * 2007-06-15 2013-04-17 キヤノン株式会社 Arithmetic processing apparatus and method
CN102474000B (en) 2009-12-24 2015-07-22 株式会社村田制作所 Antenna and mobile terminal
US10397540B2 (en) * 2014-12-09 2019-08-27 Inuitive Ltd. Method for obtaining and merging multi-resolution data
JP6801626B2 (en) * 2017-10-24 2020-12-16 株式会社オートネットワーク技術研究所 Wire holding member

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5222008A (en) * 1988-03-17 1993-06-22 Canon Kabushiki Kaisha Audio signal processing apparatus which may display remaining recording or reproducing capacity
JP2585957B2 (en) * 1992-08-18 1997-02-26 富士通株式会社 Video data conversion processing device and information processing device having video data conversion device
JPH08297477A (en) 1995-04-27 1996-11-12 Canon Inc Device and method for display control and display device
US6215467B1 (en) * 1995-04-27 2001-04-10 Canon Kabushiki Kaisha Display control apparatus and method and display apparatus
JPH10341415A (en) * 1997-06-06 1998-12-22 Pioneer Electron Corp Picture processor
JP3474104B2 (en) 1998-05-28 2003-12-08 株式会社メガチップス Scan converter
KR100311480B1 (en) * 1999-10-12 2001-10-18 구자홍 Apparatus for conversing image format
US6937291B1 (en) * 2000-08-31 2005-08-30 Intel Corporation Adaptive video scaler
JP3701204B2 (en) * 2001-01-18 2005-09-28 キヤノン株式会社 Image display apparatus having image quality adjustment function, image display method, and recording medium

Also Published As

Publication number Publication date
JP2004101910A (en) 2004-04-02
US7050077B2 (en) 2006-05-23
US20040046773A1 (en) 2004-03-11

Similar Documents

Publication Publication Date Title
JP4035408B2 (en) Resolution conversion apparatus and method, and information processing apparatus
EP1959425B1 (en) Image converting apparatus and image converting method
US7336317B2 (en) Frame rate conversion device, overtaking prediction method for use in the same, display control device and video receiving display device
US6339434B1 (en) Image scaling circuit for fixed pixed resolution display
JPH1011009A (en) Processor for video signal and display device using the same
JP4445122B2 (en) System and method for 2-tap / 3-tap flicker filtering
JPH10171440A (en) Image reducing device and control method therefor
US20020021300A1 (en) Image processing apparatus and method of the same, and display apparatus using the image processing apparatus
US20070018999A1 (en) Auto-centering of main image
JP3655258B2 (en) Display device for video scaling
JP2006308665A (en) Image processing apparatus
JP2006215320A (en) Image converting device and image display apparatus
US20080002065A1 (en) Image processing circuit, image processing system and method therefor
US7548233B1 (en) Method and system for image scaling output timing calculation and remapping
JP2004110046A (en) Display device for performing video scaling
JP2006276870A (en) Image processing device
JP4640587B2 (en) Video display device, video processing device, and video processing method
KR100743520B1 (en) Video Scaler and method for scaling video signal
JP2003204502A (en) Video signal processing apparatus
JPH05292393A (en) Moving image editing processing system
JP2005242675A (en) Image size reduction processing method and image size expansion processing method
KR100531322B1 (en) Apparatus for conversing format and method for the same
JPH07134576A (en) Image enlarging device
JP2012068951A (en) Image processing apparatus and control method thereof
JP2001069403A (en) Preparation for still picture from moving image

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070925

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071022

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071029

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 3

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: 20101102

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131102

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees