JP2007249791A - 画像処理装置および画像処理方法、並びにプログラム - Google Patents

画像処理装置および画像処理方法、並びにプログラム Download PDF

Info

Publication number
JP2007249791A
JP2007249791A JP2006074712A JP2006074712A JP2007249791A JP 2007249791 A JP2007249791 A JP 2007249791A JP 2006074712 A JP2006074712 A JP 2006074712A JP 2006074712 A JP2006074712 A JP 2006074712A JP 2007249791 A JP2007249791 A JP 2007249791A
Authority
JP
Japan
Prior art keywords
pixel value
pixel
image
unit
interpolation
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.)
Pending
Application number
JP2006074712A
Other languages
English (en)
Other versions
JP2007249791A5 (ja
Inventor
Yasuyuki Sato
靖行 佐藤
Takaaki Fuchie
孝明 渕江
Mototsugu Takamura
元嗣 高村
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2006074712A priority Critical patent/JP2007249791A/ja
Priority to US11/682,965 priority patent/US20070217714A1/en
Publication of JP2007249791A publication Critical patent/JP2007249791A/ja
Publication of JP2007249791A5 publication Critical patent/JP2007249791A5/ja
Pending 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/4007Scaling 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)
  • Image Processing (AREA)
  • Image Input (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

【課題】消費電力の増加を抑制しつつ、精度の高い補間を行う。
【解決手段】セレクタ51は、画素値を取得する。RAM61は、独立に制御可能であり、画素値を記憶する。書き込み制御部54は、セレクタ51により取得される画素値に対応する画素の位置に基づいて、その画素値からなる画素値群の各画素値のそれぞれが異なるRAM61に記憶されるように、RAM61を制御する。読み出し制御部55は、RAM61を制御し、64個のRAM61のそれぞれから、画素値を同時に読み出すことにより、画素値群を同時に読み出す。補間演算部は、画素値群を用いて補間処理を行う。本発明は、例えばGPUに適用することができる。
【選択図】図2

Description

本発明は、画像処理装置および画像処理方法、並びにプログラムに関し、特に、消費電力の増加を抑制しつつ、精度の高い補間を行うことができるようにした画像処理装置および画像処理方法、並びにプログラムに関する。
従来、補間処理を行うLSI(Large Scale Integration)は、複数の画素の画素値から構成される補間処理前の画像データを、外部に設けられた専用のメモリ(IC(Integrated Circuit))に格納していた。
LSIの外部に設けられるメモリには、LSIに内蔵されるメモリに比べて、数倍の速度で動作するものもあるが、1つのLSIで、補間処理前の画素値を多く用いる、精度の高い補間処理に必要とされる帯域幅を、確保することは困難であった。また、メモリが高速で動作する場合、メモリの消費電力が増加してしまう。
そこで、精度の高い補間処理に必要とされる帯域幅を確保するために、複数のメモリを外部に設け、LSIと並列に接続することが考えられている。
しかしながら、この場合、メモリとLSIの接続に用いられる配線の数は膨大となるため、その接続は困難である。また、1つのメモリが接続される場合に比べて、部品数が増大し、配線領域が拡大するため、メモリとLSIから構成される回路の規模が増加してしまう。
一方、大容量の内蔵メモリを設け、処理回路と内蔵メモリとを、多ビットの伝送が可能な配線で接続することにより、低い動作周波数で、高い帯域幅を確保するLSIも考えられている。また、小容量の複数の内蔵メモリを設けたLSIも考えられている(例えば、特許文献1参照)。
特開2000−11190号公報
しかしながら、メモリへのアクセスは、1つのアドレスに対してだけ行うことができるため、高い帯域幅が確保されていても、補間処理に用いる補間前の画素値同士が同一のメモリの異なるアドレスに記憶されている場合、補間処理に用いるすべての画素値を同時に読み出すことはできない。従って、消費電力の増加を抑制しつつ、精度の高い補間を行うことは困難であった。
本発明は、このような状況に鑑みてなされたものであり、消費電力の増加を抑制しつつ、精度の高い補間を行うことができるようにするものである。
本発明の一側面の画像処理装置は、所定の数の画素の画素値である画素値群を用いて、補間対象とする画素の画素値を補間する補間処理を行う画像処理装置において、前記画素値を取得する取得手段と、前記画素値を記憶する、独立に制御可能な前記所定の数の記憶手段と、前記取得手段により取得される画素値に対応する画素の位置に基づいて、その画素値からなる画素値群の各画素値のそれぞれが異なる前記記憶手段に記憶されるように、前記記憶手段を制御する記憶制御手段と、前記所定の数の記憶手段を制御して、前記所定の数の記憶手段のそれぞれから、前記画素値を同時に読み出すことにより、前記画素値群を同時に読み出す読出手段と、前記読出手段により読み出された画素値群を用いて、前記補間処理を行う補間手段とを備える。
前記画像処理装置は、前記読出手段により読み出された画素値群の各画素値を、前記補間処理に対応する順番に並び替える並び替え手段をさらに設け、前記補間手段は、前記並び替え手段により並び替えられた画素値群を用いて、前記補間処理を行うことができる。
前記画像処理装置は、画像を構成する各画素の画素値を入力する入力手段と、前記補間手段により補間された画素により構成される画像を出力する出力手段とをさらに設け、前記取得手段は、前記入力手段により入力された画像値を取得することができる。
前記画像処理装置は、画像を構成する各画素の画素値を記録する記録手段と、前記記録手段から前記画素値を再生する再生手段とをさらに設け、前記取得手段は、前記再生手段により再生された画素値を取得することができる。
本発明の一側面の画像処理方法は、所定の数の画素の画素値である画素値群を用いて、補間対象とする画素の画素値を補間する補間処理を行う画像処理装置の画像処理方法において、前記画素値を取得し、その取得された画素値に対応する画素の位置に基づいて、その画素値からなる画素値群の各画素値のそれぞれが、前記画素値を記憶する、独立に制御可能な前記所定の数の記憶手段のうちの異なる記憶手段に記憶されるように、前記記憶手段を制御し、前記所定の数の記憶手段を制御して、前記所定の数の記憶手段のそれぞれから、前記画素値を同時に読み出すことにより、前記画素値群を同時に読み出し、その読み出された画素値群を用いて、前記補間処理を行うステップを含む。
本発明の一側面のプログラムは、所定の数の画素の画素値である画素値群を用いて、補間対象とする画素の画素値を補間する補間処理を、コンピュータに行わせるプログラムにおいて、前記画素値を取得し、その取得された画素値に対応する画素の位置に基づいて、その画素値からなる画素値群の各画素値のそれぞれが、前記画素値を記憶する、独立に制御可能な前記所定の数の記憶手段のうちの異なる記憶手段に記憶されるように、前記記憶手段を制御し、前記所定の数の記憶手段を制御して、前記所定の数の記憶手段のそれぞれから、前記画素値を同時に読み出すことにより、前記画素値群を同時に読み出し、その読み出された画素値群を用いて、前記補間処理を行うステップを含む。
本発明の一側面においては、画素値が取得され、その取得された画素値に対応する画素の位置に基づいて、その画素値からなる、所定の数の画素の画素値である画素値群の各画素値のそれぞれが、画素値を記憶する、独立に制御可能な所定の数の記憶手段のうちの異なる記憶手段に記憶されるように、記憶手段が制御され、所定の数の記憶手段が制御されて、所定の数の記憶手段のそれぞれから、画素値が同時に読み出されることにより、画素値群が同時に読み出され、その読み出された画素値群を用いて、補間対象とする画素の画素値を補間する補間処理が行われる。
以上のように、本発明の一側面によれば、補間処理を行うことができる。
また、本発明の一側面によれば、消費電力の増加を抑制しつつ、精度の高い補間を行うことができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の画像処理装置は、第1に、
所定の数の画素の画素値である画素値群(例えば、図8の画素値群101)を用いて、補間対象とする画素の画素値を補間する補間処理を行う画像処理装置(例えば、図1のDME11)において、
前記画素値を取得する取得手段(例えば、図2のセレクタ51)と、
前記画素値を記憶する、独立に制御可能な前記所定の数の記憶手段(例えば、図2のRAM61−0乃至RAM61−63)と、
前記取得手段により取得される画素値に対応する画素の位置に基づいて、その画素値からなる画素値群の各画素値のそれぞれが異なる前記記憶手段に記憶されるように、前記記憶手段を制御する記憶制御手段(例えば、図2の書き込み制御部54)と、
前記所定の数の記憶手段を制御して、前記所定の数の記憶手段のそれぞれから、前記画素値を同時に読み出すことにより、前記画素値群を同時に読み出す読出手段(例えば、図2の読み出し制御部55)と、
前記読出手段により読み出された画素値群を用いて、前記補間処理を行う補間手段(例えば、図1の補間演算部26)と
を備える。
本発明の一側面の画像処理装置は、第2に、
前記読出手段により読み出された画素値群の各画素値を、前記補間処理に対応する順番に並び替える並び替え手段(例えば、図2の並び替え部53)
をさらに備え、
前記補間手段は、前記並び替え手段により並び替えられた画素値群を用いて、前記補間処理を行う(例えば、図9のステップS11の処理)。
本発明の一側面の画像処理装置は、第3に、
画像を構成する各画素の画素値を入力する入力手段(例えば、図12の通信部209)と、
前記補間手段により補間された画素により構成される画像を出力する出力手段(例えば、図12の出力部207)と
をさらに備え、
前記取得手段は、前記入力手段により入力された画像値を取得する。
本発明の一側面の画像処理装置は、第4に、
画像を構成する各画素の画素値を記録する記録手段(例えば、図13の記録部305)と、
前記記録手段から前記画素値を再生する再生手段(例えば、図13の記録再生制御部304)と
をさらに備え、
前記取得手段は、前記再生手段により再生された画素値を取得する。
本発明の一側面の画像処理方法は、所定の数の画素の画素値である画素値群(例えば、図8の画素値群101)を用いて、補間対象とする画素の画素値を補間する補間処理を行う画像処理装置(例えば、図1のDME11)の画像処理方法において、
前記画素値を取得し(例えば、図9のステップS8)、
その取得された画素値に対応する画素の位置に基づいて、その画素値からなる画素値群の各画素値のそれぞれが、前記画素値を記憶する、独立に制御可能な前記所定の数の記憶手段のうちの異なる記憶手段に記憶されるように、前記記憶手段を制御し(例えば、図10のステップS33)、
前記所定の数の記憶手段を制御して、前記所定の数の記憶手段のそれぞれから、前記画素値を同時に読み出すことにより、前記画素値群を同時に読み出し(例えば、図11のステップS52)、
その読み出された画素値群を用いて、前記補間処理を行う(例えば、図9のステップS11)
ステップを含む。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
図1は、本発明を適用した画像処理システム1の構成例を示すブロック図である。
図1の画像処理システム1は、デジタル画像特殊効果装置(Digital Multi Effects(DME))11、外部メモリ12、および外部メモリ13から構成される。画像処理システム1は、入力されたフィールド単位の画像である入力画像を縮小、拡大、型の変更、回転、左右反転もしくは上下反転、または移動させたり、入力画像に特殊効果(例えば、モザイク、ポスタリゼーション、ネガポジ反転、水平方向または垂直方向のデフォーカスなど)を施すことにより、入力画像を変形し、その結果得られるフレーム単位の画像を出力する。
なお、入力画像は、各画素の輝度信号、色差信号、およびキーイングに用いられるキー信号を表す値である画素値から構成される。また、画像処理システム1の各部は、外部メモリ13に記憶されているプログラムにしたがって、各種の処理を実行する。
DME11は、例えばIC(Integrated Circuit)やLSIなどにより構成される。DME11は、前処理部21、水平フィルタ22、垂直フィルタ23、IP(Interlace Progressive)変換部24、RAM(Random Access Memory)モジュール25、補間演算部26、付加部27、メモリ制御部28、および処理制御部29から構成される。
DME11には、テクスチャマッピングにおいて貼り付けられる画像である入力画像とタイミング信号が供給される。入力画像は、前処理部21に供給される。タイミング信号は、DME11の各部に供給され、各部はタイミング信号に応じて処理を行う。
前処理部21は、処理制御部29から供給される指示信号に応じて、入力画像に対して、モザイク、ポスタリゼーション、ネガポジ反転などの特殊効果を施す。具体的には、前処理部21は、入力画像を構成する画素のうちの、所定の画素に対して画素単位でフィルタ処理を行うことにより、入力画像にモザイクを施す。また、前処理部21は、入力画像を構成する各画素の画素値の階調数を変更することにより、入力画像にポスタリゼーションを施す。さらに、前処理部21は、入力画像を構成する各画素の画素値の階調を反転することにより、入力画像にネガポジ反転を施す。前処理部21は、特殊効果を施した結果得られる、フィールド単位の画像を、水平フィルタ22に供給する。
水平フィルタ22は、処理制御部29から供給される水平方向の縮小率に応じて、画像を縮小する場合に生じる水平方向のエリアシング成分を除去するために、前処理部21からのフィールド単位の画像に対して、水平方向の縮小率に対応するフィルタ処理を行う。また、水平フィルタ22は、処理制御部29から供給される指示信号に応じて、特殊効果として、水平方向のデフォーカスを施す。水平フィルタ22は、フィルタ処理や水平方向のデフォーカスを施した結果得られる、フィールド単位の画像を、メモリ制御部28を介して、外部メモリ12に供給させ、記憶させる。
垂直フィルタ23は、処理制御部29から供給される垂直方向の縮小率に応じて、画像を縮小する場合に生じる垂直方向のエリアシング成分を除去するために、メモリ制御部28から供給される、外部メモリ62から垂直方向に読み出されたフィールド単位の画像に対して、垂直方向の縮小率に対応するフィルタ処理を行う。また、垂直フィルタ23は、処理制御部29から供給される指示信号に応じて、特殊効果として、垂直方向のデフォーカスを施す。垂直フィルタ23は、フィルタ処理や垂直方向のデフォーカスを施した結果得られる、フィールド単位の画像を、IP変換部24に供給するとともに、メモリ制御部28を介して外部メモリ12に供給させ、記憶させる。
IP変換部24は、垂直フィルタ23から供給される、フィールド単位の画像(インタレース画像)を、メモリ制御部28から供給される、その画像の直前のフィールド単位の画像と、直前の前のフィールド単位の画像とを参照してIP変換する。IP変換部24は、IP変換の結果得られるフレーム単位の画像(プログレッシブ画像)を、RAMモジュール25に供給する。
RAMモジュール25は、IP変換部24からのフレーム単位の画像を記憶する。また、RAMモジュール25は、処理制御部29から供給される、補間演算部26による補間演算の対象とする画素(以下、補間画素という)の入力画像上の座標における水平方向の座標値の整数部RXAddrおよび垂直方向の座標値の整数部RYAddrに基づいて、既に記憶されているフレーム単位の画像を構成する各画素の画素値から、補間に用いる複数の画素の画素値を画素値群として読み出し、補間演算部26に供給する。
なお、入力画像上の座標において、入力画像の左上端の画素の中心が原点とされる。また、1画素の辺の長さは1であるものとし、1画素の中心の座標値を、その画素の座標値とする。即ち、入力画像上の座標において、入力画像を構成する画素の座標値は整数値となる。
補間演算部26は、処理制御部29から供給される、補間画素の入力画像上の座標における水平方向および垂直方向の座標値の小数部、並びにRAMモジュール25から供給される画素値群に基づいて、補間演算(フィルタ演算)を行い、補間画素の画素値を補間することにより、テクスチャマッピングを行う。補間演算部26は、補間後のフレーム単位の画像を、縮小、拡大、型の変更、回転、左右反転もしくは上下反転、または移動後の画像として、メモリ制御部28を介して外部メモリ12に供給させ、記憶させる。
付加部27は、処理制御部29から供給される補間画素ごとのライティング係数を用いて陰影を付加する。付加部27は、付加後の画像を変形後の画像として出力する。
メモリ制御部28は、外部メモリ12に対する書き込みおよび読み出しを制御する。具体的には、メモリ制御部28は、外部メモリ12への書き込みを制御するための制御信号を外部メモリ12に供給するとともに、水平フィルタ22、垂直フィルタ23、または補間演算部26から供給される画像を外部メモリ12に供給し、その画像を外部メモリ12に書き込ませる。
また、メモリ制御部28は、外部メモリ12からの画像の読み出しを制御するための制御信号を外部メモリ12に供給することにより読み出しを制御し、これにより外部メモリ12から読み出された画像を、垂直フィルタ23、IP変換部24、および付加部27に供給する。
処理制御部29は、ユーザからの指令に応じて、各部を制御し、入力画像を変形する。なお、処理制御部29は、演算の途中結果や演算結果を、適宜、外部メモリ13に記憶させる。
具体的には、処理制御部29は、モザイク、ポスタリゼーション、またはネガポジ反転を指示するための指示信号を、前処理部21に供給する。また、処理制御部29は、水平方向のデフォーカスを指示するための指示信号を水平フィルタ22に供給したり、垂直方向のデフォーカスを指示するための指示信号を垂直フィルタ23に供給する。
さらに、処理制御部29は、ユーザからの指令に応じて、付加部27から出力される画像がテクスチャマッピングされる3次元の物体の3次元座標上の座標値を演算する演算処理、その3次元座標上の座標値を2次元座標の座標値に射影する射影処理などの処理を行う。そして、処理制御部29は、これらの処理の結果に基づいて、縮小、拡大、型の変更、回転、左右反転もしくは上下反転、または移動後の画像の水平方向および垂直方向の縮小率、並びに各画素の水平方向および垂直方向の座標値を決定することにより、入力画像を縮小、拡大、型の変更、回転、左右反転もしくは上下反転、または移動させる。
処理制御部29は、水平方向の縮小率を水平フィルタ22に供給するとともに、垂直方向の縮小率を垂直フィルタ23に供給する。また、処理制御部29は、縮小、拡大、型の変更、回転、左右反転もしくは上下反転、または移動後の各画素の水平方向および垂直方向の座標値を、補間画素の水平方向および垂直方向の座標値として、その座標値の整数部RXAddrとRYAddrをRAMモジュール25に供給し、小数部を補間演算部26に供給する。
また、処理制御部29は、外部メモリ13に対する書き込みおよび読み出しを制御する。具体的には、処理制御部29は、外部メモリ13への書き込みを制御するための制御信号を外部メモリ12に供給するとともに、演算途中結果や演算結果を外部メモリ13に供給し、外部メモリ13に書き込ませる。
さらに、処理制御部29は、外部メモリ13からの読み出しを制御するための制御信号を外部メモリ13に供給することにより読み出しを制御し、これにより、ライトの方向を表す情報を読み出す。処理制御部29は、その情報を用いて、補間画素ごとのライティング係数を演算し、付加部27に供給する。さらに、処理制御部29は、縮小、拡大、型の変更、回転、左右反転もしくは上下反転、または移動後の画像の画素の深さを表す情報を出力する。
図2は、図1のRAMモジュール25の詳細構成例を示すブロック図である。
図2のRAMモジュール25は、セレクタ51、テクスチャメモリ52、並び替え部53、書き込み制御部54、および読み出し制御部55から構成される。なお、以下では、画素値群は、水平方向と垂直方向に8個並んだ8×8の64個の画素の画素値から構成されるものとする。
セレクタ51には、IP変換部24からIP変換後の画像を構成する各画素の画素値が1つずつ供給される。セレクタ51は、IP変換部24から1つずつ供給される画素値と無効のライトイネーブル信号を、テクスチャメモリ52を構成するすべてのRAM61−0乃至61−63に供給する。なお、以下では、RAM61−0乃至61−63を区別する必要がない場合、それらをまとめてRAM61という。
また、セレクタ51は、書き込み制御部54から供給される選択信号に応じて、テクスチャメモリ52の64個のRAM61のうちのいずれか1つを選択し、その選択したRAM61に供給するライトイネーブル信号を有効にする。
テクスチャメモリ52は、画素値群の画素値の数である64個の独立に制御可能なRAM61−0乃至61−63から構成され、1フレーム分の画像を記憶する。RAM61は、書き込み制御部54から供給される書き込みアドレスRamWrAddrと有効のライトイネーブル信号に基づいて、その書き込みアドレスRamWrAddrに、セレクタ51から供給される画素値を記憶する。また、64個のRAM61は、読み出し制御部55からそれぞれに供給される読出アドレスRamReAddrに基づいて、その読出アドレスRamReAddrに記憶されている画素値を、画素値群として同時に読み出し、並び替え部53に供給する。
並び替え部53は、読み出し制御部55から供給される制御信号に基づいて、64個のRAM61から供給される64個の画素値から構成される画素値群を並び替える。具体的には、並び替え部53は、制御信号に基づいて、画素値群を構成する64個の画素値の順番と、その画素値に対応する画素の、補間画素に対する位置が所定の関係となるように、64個の画素値の順番を並び替える。そして、並び替え部53は、並び替え後の64個の画素値を、補間演算部26に供給する。
書き込み制御部54には、DME11に供給されるタイミング信号が供給される。書き込み制御部54は、タイミング信号に基づいて、RAMモジュール25に入力される画素値に対応する画素の、入力画像上の座標における水平方向の座標値WXAddrおよび垂直方向の座標値WYAddrを認識する。書き込み制御部54は、その座標値WXAddrとWYAddrに基づいて、セレクタ51に入力される画素値を記憶させるRAM61とアドレスを決定し、そのRAM61の番号RamNoを表す選択信号と、そのアドレスを表す書き込みアドレスRamWrAddrを生成する。なお、番号RamNoは、RAM61−0乃至61−63に0から順に付与された値である。
そして、書き込み制御部54は、選択信号をセレクタ51に供給するとともに、書き込みアドレスRamWrAddrをRAM61に供給することにより、RAM61の書き込みを制御する
読み出し制御部55は、処理制御部29から供給される整数部RXAddrとRYAddrに基づいて、画素値群の画素値が記憶されている各RAM61のアドレスをそれぞれ決定し、そのアドレスを表す読出アドレスRamReAddrを生成する。そして、読み出し制御部55は、その読出アドレスRamReAddrをRAM61−0乃至61−63にそれぞれ供給することにより、各RAM61の読み出しを制御する。
また、読み出し制御部55は、処理制御部29から供給される整数部RXAddrとRYAddrを制御信号として生成し、その制御信号を並び替え部53に供給する。
次に、図3と図4を参照して、補間演算の前後の画素値の流れについて詳細に説明する。
図3に示すように、IP変換部24は、フィールド単位の画像を、その画像の直前のフィールド単位の画像と、直前の前のフィールド単位の画像とを参照してIP変換し、その結果得られるフレーム単位の画像を構成する各画素の画素値を、1つずつ、シーケンシャル(走査順)に、セレクタ51を介してテクスチャメモリ52に供給する。
テクスチャメモリ52では、IP変換部24から画素値が1つ供給されるごとに、セレクタ51により有効のライトイネーブル信号が供給されたRAM64が、書き込み制御部54から供給される書き込みアドレスRamWrAddrに、その画素値を記憶する。即ち、テクスチャメモリ52は、IP変換部24から供給される画素値をシーケンシャルに1つずつ記憶する。
そして、テクスチャメモリ52の64個のRAM61−0乃至61−63は、読み出し制御部55から供給される読出アドレスRamReAddrに基づいて、補間演算部26から補間画素の画素値がシーケンシャル(走査順)に出力されるように、その補間に用いられる64個の画素値から構成される画素値群をランダムに読み出し、補間演算部26に供給する。
補間演算部26は、テクスチャメモリ52から供給される画素値群を用いて、補間画素の画素値を1つずつ求め、外部メモリ12に供給する。その結果、外部メモリ12には、補間画素の画素値が、シーケンシャルに供給される。
外部メモリ12は、スクリーンメモリとして、補間演算部26から供給される画素値を、1つずつシーケンシャルに記憶する。そして、外部メモリ12は、記憶している補間画素の画素値をシーケンシャルに出力する。
即ち、図4の左側に示すように、テクスチャメモリ52には、IP変換部24から1つずつシーケンシャルに供給される画素値が書き込まれる。そして、テクスチャメモリ52は、補間演算部26から補間画素の画素値が1つずつシーケンシャル(走査順)に出力されるように、その補間に用いられる画素値群をランダムに読み出す。
補間演算部26は、この画素値群を用いて補間を行うことにより、補間画素の画素値を1つずつシーケンシャルに出力し、図4の右側に示すように、外部メモリ12には、補間画素の画素値が1つずつシーケンシャルに書き込まれる。
次に、図5と図6を参照して、図2の書き込み制御部54が生成する書き込みアドレスRamWrAddrについて説明する。
まず最初に、書き込み制御部54は、タイミング信号に基づいて、セレクタ51に入力される画素値に対応する画素の座標値WXAddr[n:0]とWYAddr[m:0]を求める。例えば、入力画像の水平方向の画素数が1920個であり、垂直方向の画素数が1080個である場合、n=m=10となる。
次に、書き込み制御部54は、座標値WXAddr[n:0]と座標値WYAddr[m:0]に基づいて、以下の式(1)により、セレクタ51に入力される画素値を書き込むRAM61の番号RamNoを求める。
RamNo[5:0]={WYAddr[2:0],WXAddr[2:0]}
・・・(1)
式(1)によれば、図5に示すように、8×8個のマトリクス71−1,71−2,71−3,71−4,71−5,71−6・・・に分割されたIP変換後の画像を構成する各画素の画素値を書き込むRAM61の番号は、マトリクス71−1,71−2,71−3,71−4,71−5,71−6・・・内の位置が同一である場合、同一の番号RamNoとなる。即ち、IP変換後の画像は、8×8個のマトリクス71に分割され、同一のマトリクス内の画素の画素値が異なるRAM61に記憶される。
なお、図5において、マトリクス71内の正方形は画素を表し、正方形内の番号は番号RamNoを表している。また、以下では、マトリクス71−1,71−2,71−3,71−4,71−5,71−6・・・を区別する必要がない場合、それらをまとめて、マトリクス71という。
書き込み制御部54は、式(1)により求められた番号RamNoを選択信号として生成し、セレクタ51に供給する。
以上のように、書き込み制御部54は、IP変換後の画像を、画素値群と同一のサイズである8×8個のマトリクス71に分割して、同一のマトリクス71内の各画素の画素値が異なるRAM61に記憶させるように、選択信号を生成するので、画素値群を構成する各画素値は、画素値群単位で、画素ごとに異なるRAM61に記憶される。即ち、書き込み制御部54は、画素値群を構成する各画素値のそれぞれを異なるRAM61に記憶させるように、RAM61を制御する。
その結果、テクスチャメモリ52を構成する64個のRAM61は、画素値群101を構成する各画素値をRAM61から同時に読み出すことができ、これにより、DME11では、消費電力や回路規模の増大を抑制しつつ、精度の高い補間を行うことが可能となる。
また、書き込み制御部54は、座標値WXAddr[n:0]およびWYAddr[m:0]と、入力画像を構成する水平方向のマトリクス71の総数HMatrixNoとに基づいて、以下の式(2)により、書き込みアドレスRamWrAddrを求める。なお、総数HMatrixNoは、入力画像の水平方向の画素数に基づいて予め設定されており、例えば、入力画像の水平方向の画素数が1920個である場合、総数HMatrixNoは240(=1920/8)に設定されている。
RamWrAddr[k:0]=(WYAddr[m:2]×HMatrixNo[l:0])+WXAddr[n:2]
・・・(2)
式(2)によれば、マトリクス71内の位置が同一の画素のうち、左上の画素から右下の画素に向かって、その画素の画素値の書き込みアドレスRamWrAddrが大きくなるように、書き込みアドレスRamWrAddrが0から順に設定される。即ち、マトリクス71の位置が左上から右下に向かって大きくなるように、マトリクス71に番号を付与する場合、書き込みアドレスRamWrAddrは、マトリクス71の番号となる。なお、以下では、マトリクス71の位置が左上から右下に向かって大きくなるように、マトリクス71に番号が付与されているものとする。
以上のようにして生成された選択信号と書き込みアドレスRAMWrAddrを用いて、画素値が記憶されたテクスチャメモリ52の概念図を、図6を参照して説明する。
図6において、64個の直方体81−0乃至81−63は、RAM61−0乃至61−63を表している。なお、以下では、直方体81−0乃至81−63を区別する必要がない場合、それらをまとめて直方体81という。また、直方体81の、図6の奥行き方向(図中奥側から手前側に向かう方向)の長さは、RAM61のアドレスを表している。
図6に示すように、テクスチャメモリ52の各RAM61は、マトリクス71を構成する各画素の、マトリクス71内の水平方向と垂直方向の位置に対応しており、画素値を記憶するRAM61は、その画素値に対応する画素の、マトリクス71内の水平方向と垂直方向の位置によって選択される。例えば、水平方向の位置が0であり、垂直方向の位置が1である画素の画素値は、その水平方向と垂直方向の位置に対応する直方体81−8が表すRAM61−8に記憶される。
また、各RAM61は、IP変換後の画像を構成するすべてのマトリクス71内の、自分自身に対応する水平方向と垂直方向の位置の画素の画素値を、その画素を含むマトリクス71の番号である書き込みアドレスRamWrAddrにそれぞれ記憶する。例えば、マトリクス71の番号が1であるマトリクス71−1を構成する各画素の画素値は、直方体81−0乃至81−63が表すRAM61−0乃至61−63のアドレスが1の領域に書き込まれる。
次に、図7を参照して、図2の読み出し制御部55が生成する読出アドレスRamReAddrについて説明する。
読み出し制御部55には、処理制御部29から整数部RXAddrおよびRYAddrが供給される。この整数部分RXAddrとRYAddrについて、図7を参照して説明する。
ここで、図7を参照して、整数部RXAddr[n:0]とRYAddr[m:0]について説明する。
図7の例において、補間画素の座標値は、補間画素の中心点A(1.5,0.5)であり、整数部RXAddrが1、RYAddrが0であるものとする。
図7に示すように、整数部分RXAddrとRYAddrが表す座標値(1,0)は、補間画素の中心点Aの周辺に位置する4個の画素91乃至94のうちの左上の画素91の座標値となる。
読み出し制御部55は、整数部RXAddrとRYAddr、並びに総数HMatrixNoに基づいて、以下の式(3)により、整数部RXAddrとRYAddrが表す座標値の画素91が含まれるマトリクス71の番号Mt11Addrを求める。
Mt11Addr[k:0]=(RYAddr[m:2]×HMatrixNo[l:0])+RXAddr[n:2]
・・・(3)
ここで、図8に示すように、番号Mt11Addrのマトリクス71がマトリクス71−5である場合、補間画素の補間に用いる画素値群101は、マトリクス71−5を含む、そのマトリクス71−5の周辺の最大4個のマトリクス71−1,71−2,71−4、および71−5、マトリクス71−2、71−3,71−5、および71−6、マトリクス71−4,71−5,71−7、および71−8、またはマトリクス71−5,71−6,71−8、および71−9内の画素から構成される。即ち、画素値群101は、9個のマトリクス71−1乃至71−9のうちの、マトリクス71−5を含む最大4個のマトリクス内の画素から構成される。
そこで、読み出し制御部55は、マトリクス71−1乃至71−4の番号Mt01Addr乃至Mt04Addr、およびマトリクス71−6乃至71−9の番号Mt06Addr乃至Mt09Addrを、以下の式(4)により求める。
Mt01Addr[k:0]=Mt11Addr[k:0]-HMatrixNo[l:0]-1
Mt02Addr[k:0]=Mt11Addr[k:0]-HMatrixNo[l:0]
Mt03Addr[k:0]=Mt11Addr[k:0]-HMatrixNo[l:0]+1
Mt04Addr[k:0]=Mt11Addr[k:0]-1
Mt06Addr[k:0]=Mt11Addr[k:0]+1
Mt07Addr[k:0]=Mt11Addr[k:0]+HMatrixNo[l:0]-1
Mt08Addr[k:0]=Mt11Addr[k:0]+HMatrixNo[l:0]
Mt09Addr[k:0]=Mt11Addr[k:0]+HMatrixNo[l:0]+1
・・・(4)
ここで、番号RAMNoと、その番号RAMNoのRAM61に対応する画素の、その画素を含むマトリクス71上の水平方向の位置HPositionと垂直方向の位置VPositionの関係は、以下の式(5)で表される。なお、位置HPositionとVPositionは、マトリクス71の左上端の画素の中心を原点とする座標上の座標値である。
HPosition[2:0]=RamNo[2:0]
VPosition[2:0]=RamNo[5:3]
・・・(5)
読み出し制御部55は、整数部RXAddrとRYAddrの値に基づいて、位置HPositionとVPositionに位置する画素に対応するRAM61に対して、以下の式(6)にしたがう水平方向のパラメータHparameterと、式(7)にしたがう垂直方向のパラメータVparameterの値を設定する。
RXAddr[2:0]=0の時 HPositionが0乃至4のRAM61にはHparameter=1
HPositionが5乃至7のRAM61にはHparameter=0
RXAddr[2:0]=1の時 HPositionが0乃至5のRAM61にはHparameter=1
HPositionが6と7 のRAM61にはHparameter=0
RXAddr[2:0]=2の時 HPositionが0乃至6のRAM61にはHparameter=1
HPositionが7 のRAM61にはHparameter=0
RXAddr[2:0]=3の時 HPositionが0乃至7のRAM61にはHparameter=1
RXAddr[2:0]=4の時 HPositionが0 のRAM61にはHparameter=2
HPositionが1乃至7のRAM61にはHparameter=1
RXAddr[2:0]=5の時 HPositionが0と1のRAM61にはHparameter=2
HPositionが2乃至7のRAM61にはHparameter=1
RXAddr[2:0]=6の時 HPositionが0乃至2のRAM61にはHparameter=2
HPositionが3乃至7のRAM61にはHparameter=1
RXAddr[2:0]=7の時 HPositionが0乃至3のRAM61にはHparameter=2
HPositionが4乃至7のRAM61にはHparameter=1
・・・(6)
RYAddr[2:0]=0の時 VPositionが0乃至4のRAM61にはVparameter=1
VPositionが5乃至7のRAM61にはVparameter=0
RYAddr[2:0]=1の時 VPositionが0乃至5のRAM61にはVparameter=1
VPositionが6と7 のRAM61にはVparameter=0
RYAddr[2:0]=2の時 VPositionが0乃至6のRAM61にはVparameter=1
VPositionが7 のRAM61にはVparameter=0
RYAddr[2:0]=3の時 VPositionが0乃至7のRAM61にはVparameter=1
RYAddr[2:0]=4の時 VPositionが0 のRAM61にはVparameter=2
VPositionが1乃至7のRAM61にはVparameter=1
RYAddr[2:0]=5の時 VPositionが0と1 のRAM61にはVparameter=2
VPositionが2乃至7のRAM61にはVparameter=1
RYAddr[2:0]=6の時 VPositionが0乃至2のRAM61にはVparameter=2
VPositionが3乃至7のRAM61にはVparameter=1
RYAddr[2:0]=7の時 VPositionが0乃至3のRAM61にはVparameter=2
VPositionが4乃至7のRAM61にはVparameter=1
・・・(7)
なお、式(6)と式(7)において、パラメータHparameterは、それが設定されたRAM61に対応する、画素値群101を構成する画素が含まれるマトリクス71と、番号Mt11Addrのマトリクス71(図8の例では、マトリクス71−5)との水平方向の位置関係を表し、パラメータVparameterは、その垂直方向の位置関係を表している。
即ち、パラメータHparameterが0である場合、それが設定されたRAM61に対応する画素が含まれるマトリクス71は、番号Mt11Addrのマトリクス71の左隣に位置することを表し、パラメータHparameterが1である場合、それが設定されたRAM61に対応する画素が含まれるマトリクス71と、番号Mt11Addrのマトリクス71とが同一の位置にあることを表す。また、パラメータHparameterが2である場合、それが設定されたRAM61に対応する画素が含まれるマトリクス71は、番号Mt11Addrのマトリクス71の右隣に位置することを表す。
また、パラメータVparameterが0である場合、それが設定されたRAM61に対応する画素が含まれるマトリクス71は、番号Mt11Addrのマトリクス71の直上に位置することを表し、パラメータVparameterが1である場合、それが設定されたRAM61に対応する画素が含まれるマトリクス71と、番号Mt11Addrのマトリクス71とが同一の位置にあることを表す。また、パラメータVparameterが2である場合、それが設定されたRAM61に対応する画素が含まれるマトリクス71は、番号Mt11Addrのマトリクス71の直下に位置することを表す。
従って、読み出し制御部55は、パラメータHparameterとVparameterの値に基づいて、それが設定されたRAM61に対して、以下の式(8)にしたがう読出アドレスRamReAddrを生成し、RAM61に供給する。
Vparameter=0,Hparameter=0のRAM61に与える読出アドレスRamReAddr=Mt01Addr[k:0]
Vparameter=0,Hparameter=1のRAM61に与える読出アドレスRamReAddr=Mt02Addr[k:0]
Vparameter=0,Hparameter=2のRAM61に与える読出アドレスRamReAddr=Mt03Addr[k:0]
Vparameter=1,Hparameter=0のRAM61に与える読出アドレスRamReAddr=Mt04Addr[k:0]
Vparameter=1,Hparameter=1のRAM61に与える読出アドレスRamReAddr=Mt05Addr[k:0]
Vparameter=1,Hparameter=2のRAM61に与える読出アドレスRamReAddr=Mt06Addr[k:0]
Vparameter=2,Hparameter=0のRAM61に与える読出アドレスRamReAddr=Mt07Addr[k:0]
Vparameter=2,Hparameter=1のRAM61に与える読出アドレスRamReAddr=Mt08Addr[k:0]
Vparameter=2,Hparameter=2のRAM61に与える読出アドレスRamReAddr=Mt09Addr[k:0]
・・・(8)
次に、図2の読み出し制御部55が生成する制御信号について説明する。
ここで、並び替え部53には、RAM61−0乃至61−63から画素値が入力される端子である入力端子に、0乃至63の番号が順に付与されているものとする。また、並び替え部53には、画素値が出力される端子である出力端子にも、0乃至63の番号が順に付与されており、その番号は、画素値群101を構成する画素の位置に対応するものとする。
読み出し制御部55は、制御信号として、整数部RXAddrとRYAddrを生成し、並び替え部53に供給する。
並び替え部53は、入力端子の番号CPSinNoから入力された画素値を、出力端子の番号CPSoutNoから出力する。
具体的には、番号CPSinNo[2:0]は、整数部RXADDrと番号CPSoutNo[2:0]に基づいて、以下の式(9)により定義される。なお、式(9)において、i→jは、番号CPSinNoの上位3ビットがiの入力端子から入力された画素値を、番号CPSoutNoの上位3ビットがjの出力端子から出力されることを表す。
RXAddr[2:0]=0の時 0→3,1→4,2→5,3→6,4→7,5→0,6→1,7→2
RXAddr[2:0]=1の時 0→4,1→5,2→6,3→7,4→0,5→1,6→2,7→3
RXAddr[2:0]=2の時 0→5,1→6,2→7,3→0,4→1,5→2,6→3,7→4
RXAddr[2:0]=3の時 0→6,1→7,2→0,3→1,4→2,5→3,6→4,7→5
RXAddr[2:0]=4の時 0→7,1→0,2→1,3→2,4→3,5→4,6→5,7→6
RXAddr[2:0]=5の時 0→0,1→1,2→2,3→3,4→4,5→5,6→6,7→7
RXAddr[2:0]=6の時 0→1,1→2,2→3,3→4,4→5,5→6,6→7,7→0
RXAddr[2:0]=7の時 0→2,1→3,2→4,3→5,4→6,5→7,6→0,7→1
・・・(9)
また、番号CPSinNo[5:3]は、整数部RXADDrと番号CPSoutNo[5:3]に基づいて、以下の式(10)により定義される。なお、式(10)において、i→jは、番号CPSinNoの下位3ビットがiの入力端子から入力された画素値を、番号CPSoutNoの下位3ビットがjの出力端子から出力されることを表す。
RYAddr[2:0] = 0 の時 0→3,1→4,2→5,3→6,4→7,5→0,6→1,7→2
RYAddr[2:0] = 1 の時 0→4,1→5,2→6,3→7,4→0,5→1,6→2,7→3
RYAddr[2:0] = 2 の時 0→5,1→6,2→7,3→0,4→1,5→2,6→3,7→4
RYAddr[2:0] = 3 の時 0→6,1→7,2→0,3→1,4→2,5→3,6→4,7→5
RYAddr[2:0] = 4 の時 0→7,1→0,2→1,3→2,4→3,5→4,6→5,7→6
RYAddr[2:0] = 5 の時 0→0,1→1,2→2,3→3,4→4,5→5,6→6,7→7
RYAddr[2:0] = 6 の時 0→1,1→2,2→3,3→4,4→5,5→6,6→7,7→0
RYAddr[2:0] = 7 の時 0→2,1→3,2→4,3→5,4→6,5→7,6→0,7→1
・・・(10)
式(9)と式(10)によれば、図8に示すように、整数部RXAddrとRYAddrが表す、補間画素の中心点Bの左上に位置する画素111、即ち画素値群101の中心の左上の画素111の、その画素111を含むマトリクス71−5上の位置と、そのマトリクス71−5上の中心点Cの左上の画素112の位置との差分だけ、入力端子の番号CPSinNo[2:0]とCPSinNo[5:3]をそれぞれ増加させた番号が、出力端子の番号CPSoutNo[2:0]とCPSoutNo[5:3]となる。なお、増加させた番号が7を超す場合には、その番号から7を減算した番号となる。
次に、図9を参照して、図1の画像処理システム1が入力画像を変形する画像変形処理について説明する。この画像変形処理は、例えば、画像処理システム1に入力画像が入力されたとき開始される。
ステップS1において、前処理部21は、処理制御部29から供給される指示信号に応じて、入力画像に対して、モザイク、ポスタリゼーション、またはネガポジ反転を施す。そして、前処理部21は、その結果得られるフィールド単位の画像を水平フィルタ22に供給し、ステップS2に進む。なお、処理制御部29から指令信号が供給されない場合、処理はステップS1をスキップして、ステップS2に進む。
ステップS2において、水平フィルタ22は、処理制御部29から供給される水平方向の縮小率に応じて、前処理部21からのフィールド単位の画像に対して、水平方向の縮小率に対応するフィルタ処理を行う。また、水平フィルタ22は、処理制御部29から供給される指示信号に応じて、特殊効果として、水平方向のデフォーカスを施す。そして、水平フィルタ22は、フィルタ処理や水平方向のデフォーカスを施した結果得られる、フィールド単位の画像を、メモリ制御部28に供給する。
ステップS2の処理後は、ステップS3に進み、メモリ制御部28は、外部メモリ12への書き込みを制御するための制御信号とともに、水平フィルタ22から供給されるフィールド単位の画像を、外部メモリ12に供給し、その画像を記憶させる。ステップS3の処理後は、ステップS4に進み、メモリ制御部28は、外部メモリ12からの画像の読み出しを制御するための制御信号を外部メモリ12に供給することにより、ステップS3で記憶されるフィールド単位の画像を垂直方向に、外部メモリ12から読み出し、垂直フィルタ23に供給する。
ステップS4の処理後は、ステップS5に進み、垂直フィルタ23は、処理制御部29から供給される垂直方向の縮小率に応じて、メモリ制御部28から供給されるフィールド単位の画像に対して、垂直方向の縮小率に対応するフィルタ処理を行う。また、垂直フィルタ23は、処理制御部29から供給される指示信号に応じて、特殊効果として、垂直方向のデフォーカスを施す。そして、垂直フィルタ23は、フィルタ処理や垂直方向のデフォーカスを施した結果得られる、フィールド単位の画像をIP変換部24に供給するとともに、メモリ制御部28に供給する。
ステップS5の処理後は、ステップS6に進み、メモリ制御部28は、外部メモリ12への書き込みを制御するための制御信号とともに、垂直フィルタ23から供給されるフィールド単位の画像を、外部メモリ12に供給し、その画像を記憶させる。ステップS6の処理後は、ステップS7に進み、メモリ制御部28は、外部メモリ12からの画像の読み出しを制御するための制御信号を外部メモリ12に供給することにより、直前のステップS6の処理で記憶させたフィールド単位の画像の直前のフィールド単位の画像と、直前の前のフィールド単位の画像を、外部メモリ12から読み出し、IP変換部24に供給する。
ステップS7の処理後は、ステップS8に進み、IP変換部24は、ステップS5で垂直フィルタ23から供給されるフィールド単位の画像を、ステップS7でメモリ制御部28から供給される2個の画像を参照してIP変換する。そして、IP変換部24は、IP変換の結果得られるフレーム単位の画像を、RAMモジュール25に供給する。
ステップS9において、RAMモジュール25は、テクスチャメモリ52のRAM61(図2)に画素値を書き込む書き込み処理を行う。この書き込み処理は、後述する図10を参照して説明する。
ステップS9の処理後は、ステップS10に進み、RAMモジュール25は、テクスチャメモリ52のRAM61から、画素値群101を読み出す読み出し処理を行う。この読み出し処理は、後述する図11を参照して説明する。
ステップS10の処理後は、ステップS11に進み、補間演算部26は、処理制御部29から供給される、補間画素の入力画像上の座標における水平方向および垂直方向の座標値の小数部と、並びにRAMモジュール25から供給される画素値群101とに基づいて、補間演算を行い、補間画素の画素値を補間する。そして、補間演算部26は、補間後のフレーム単位の画像をメモリ制御部28に供給する。
ステップS11の処理後は、ステップS12に進み、メモリ制御部28は、外部メモリ12への書き込みを制御するための制御信号とともに、補間演算部26からの画像を外部メモリ12に供給し、その画像を記憶させる。ステップS12の処理後は、ステップS13に進み、メモリ制御部28は、外部メモリ12からの画像の読み出しを制御するための制御信号を外部メモリ12に供給することにより、ステップS12で記憶される画像を読み出し、ステップS14に進む。
ステップS14において、付加部27は、処理制御部29から供給される補間画素ごとのライティング係数を用いて陰影を付加する。そして、付加部27は、付加後の画像を変形後の画像として出力し、処理は終了する。
なお、上述した図9の画像変形処理のステップS1乃至S9の処理は、補間前の画素単位で行われ、ステップS10乃至S14の処理は、補間画素単位で行われる。
次に、図10を参照して、図9のステップS9の書き込み処理について説明する。
ステップS31において、RAMモジュール25のセレクタ51は、IP変換部24から供給されるIP変換後の画像の画素値と、無効のライトイネーブル信号とをテクスチャメモリ52の各RAM61に供給し、ステップS32に進む。
ステップS32において、書き込み制御部54は、タイミング信号に基づいて、RAMモジュール25に供給される画素値に対応する画素の、入力画像上の座標における水平方向の座標値WXAddrおよび垂直方向の座標値WYAddrを認識し、それらに基づいて番号RAMNoを表す選択信号と書き込みアドレスRamWrAddrを生成する。そして、書き込み制御部54は、選択信号をセレクタ51に供給するとともに、書き込みアドレスRamWrAddrをRAM61に供給する。
ステップS32の処理後は、ステップS33に進み、セレクタ51は、ステップS32で書き込み制御部54から供給される選択信号に応じて、テクスチャメモリ52の64個のRAM61のうちの、選択信号が表す番号RAMNoのRAM61を選択し、その選択したRAM61に供給するライトイネーブル信号を有効にする。
ステップS33の処理後は、ステップS34に進み、RAM61は、書き込み制御部54から供給される書き込みアドレスRamWrAddrと有効のライトイネーブル信号に基づいて、その書き込みアドレスRamWrAddrに、セレクタ51から供給される画素値を記憶し、図9のステップS9に戻り、ステップS10に進む。
次に、図11を参照して、図9のステップS10の読み出し処理について説明する。
ステップS51において、読み出し制御部55は、処理制御部29から供給される整数部RXAddrとRYAddrに基づいて、画素値群101の画素値が記憶されている各RAM61のアドレスをそれぞれ決定し、そのアドレスを表す読出アドレスRamReAddrを生成する。そして、読み出し制御部55は、その読出アドレスRamReAddrをRAM61−0乃至61−63にそれぞれ供給する。
ステップS51の処理後は、ステップS52に進み、各RAM61は、読出アドレスRamReAddrに基づいて、その読出アドレスRamReAddrに記憶されている画素値を、画素値群101として同時に読み出し、並び替え部53に供給して、ステップS53に進む。
ステップS53において、読み出し制御部55は、処理制御部29から供給される整数部RXAddrとRYAddrを制御信号として生成し、その制御信号を並び替え部53に供給して、ステップS54に進む。
ステップS54において、並び替え部53は、読み出し制御部55から供給される制御信号に基づいて、64個のRAM61から供給される64個の画素値から構成される画素値群101を並び替え、ステップS55に進む。ステップS55において、並び替え部53は、並び替え後の画素値群101を、補間演算部26に供給して、図9のステップS10に戻り、ステップS11に進む。
次に、図12を参照して、DME11が組み込まれた画像処理装置201の例について説明する。
図12のCPU(Central Processing Unit)201とDME11は、ROM(Read Only Memory)202、または記録部208に記録されているプログラムにしたがって各種の処理を実行する。RAM(Random Access Memory)203には、CPU201が実行するプログラムやデータなどが適宜記憶される。これらのDME11、CPU201、ROM202、およびRAM203は、バス204により相互に接続されている。
CPU201にはまた、バス204を介して入出力インターフェース205が接続されている。入出力インターフェース205には、キーボード、マウス、マイクロホン、図示せぬリモートコントローラから送信されてくる指令を受信する受信部などよりなる入力部206、ディスプレイ、スピーカなどよりなる出力部207が接続されている。CPU201は、入力部206から入力される指令に対応して各種の処理を実行する。そして、CPU201は、処理の結果を出力部207に出力する。
例えば、CPU201は、入力部206から入力される指令に対応して、DME11を制御し、入力画像を縮小、拡大、型の変更、回転、左右反転もしくは上下反転、または移動させたり、入力画像に特殊効果を施す。そして、CPU201は、DME11から出力される画像に基づいて、画像を出力部207に表示させる。
入出力インターフェース205に接続されている記録部208は、例えばハードディスクからなり、CPU201が実行するプログラムや各種のデータを記憶する。通信部209は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。例えば、通信部209は、外部の装置から画像を取得し、その画像を入力画像としてDME11に供給する。なお、記録部208に記録されるプログラムは、通信部209を介して取得されるようにしてもよい。
入出力インターフェース205に接続されているドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどのリムーバブルメディア211が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部208に転送され、記録される。
次に、図13を参照して、DME11が組み込まれた記録再生装置300の例について説明する。
図13のCPU301とDME11は、ROM306または記録部305に記録されているプログラムにしたがって各種の処理を実行する。RAM307には、CPU301が実行するプログラムやデータなどが適宜記憶される。これらのDME11、CPU301、ROM306、およびRAM307は、バスにより相互に接続されている。
CPU301にはまた、バスを介して入力I/F(Interface)309と出力制御部301が接続されている。入力I/F309には、キーボード、マウス、マイクロホン、図示せぬリモートコントローラから送信されてくる指令を受信する受信部、被写体を撮像する撮像部などよりなる入力部308が接続され、出力制御部301には、ディスプレイ、スピーカなどよりなる出力部311が接続されている。CPU301は、入力部308から入力I/F309を介して入力される指令に対応して、各種の処理を実行する。そして、CPU301は、処理の結果を、出力制御部301を介して出力部311に出力する。
例えば、CPU301は、入力部308から入力される指令に対応して、DME11を制御し、入力画像を縮小、拡大、型の変更、回転、左右反転もしくは上下反転、または移動させたり、入力画像に特殊効果を施す。そして、CPU301は、DME11から出力される画像に基づいて、画像を出力制御部310を介して、出力部311に表示させる。
さらに、CPU301には、バスを介して、符号化/復号回路302と記録再生制御部304が接続されている。符号化/復号回路302は、CPU301の制御により、例えば入力部308により撮像された結果得られる画像を、必要に応じて、バッファメモリ303に保持させながら、JPEG(Joint Photographic Experts Group)、MPEG(Moving Picture Experts Group)などの所定の符号化方式で符号化する。そして、符号化/復号回路302は、符号化の結果得られる画像を、記録再生制御部304を介して、記録部305に記録させる。
記録再生制御部304は、CPU301の制御により、記録部305に対する記録と再生を制御する。即ち、記録再生制御部304は、符号化/復号回路302から供給される画像を記録部305に記録させたり、記録部305から再生した画像を、符号化/復号回路302に供給する。符号化/復号回路302は、CPU301の制御により、記録再生制御部304からの画像を復号し、その結果得られる画像を、例えば入力画像としてDME11に供給する。
また、上述した説明では、画素値群101は64個の画素値から構成されるようにしたが、画素値群101を構成する画素値の数は、これに限定されない。
本発明は、例えばGPU(Graphics Processing Unit)に適用することができる。
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
本発明を適用した画像処理システムの構成例を示すブロック図である。 図1のRAMモジュールの詳細構成例を示すブロック図である。 補間演算の前後の画素値の流れについて詳細に説明する図である。 補間演算の前後の画素値の流れについて詳細に説明する他の図である。 書き込みアドレスRamWrAddrについて説明する図である。 書き込みアドレスRamWrAddrについて説明する他の図である。 読出アドレスRamReAddrについて説明する図である。 画素群について説明する図である。 画像変形処理について説明するフローチャートである。 書き込み処理について説明するフローチャートである。 読み出し処理について説明するフローチャートである。 DMEが組み込まれた画像処理装置の例について説明するブロック図である。 DMEが組み込まれた記録再生装置の例について説明するブロック図である。
符号の説明
1 画像処理システム, 11 DME, 13 外部メモリ, 25 RAMモジュール, 26 補間演算部, 51 セレクタ, 52 テクスチャメモリ, 53 並び替え部, 54 書き込み制御部, 55 読み出し制御部, 101 画素群, 202 ROM, 203 RAM, 208 記録部, 211 リムーバブルメディア, 305 記録部, 306 ROM, 307 RAM

Claims (6)

  1. 所定の数の画素の画素値である画素値群を用いて、補間対象とする画素の画素値を補間する補間処理を行う画像処理装置において、
    前記画素値を取得する取得手段と、
    前記画素値を記憶する、独立に制御可能な前記所定の数の記憶手段と、
    前記取得手段により取得される画素値に対応する画素の位置に基づいて、その画素値からなる画素値群の各画素値のそれぞれが異なる前記記憶手段に記憶されるように、前記記憶手段を制御する記憶制御手段と、
    前記所定の数の記憶手段を制御して、前記所定の数の記憶手段のそれぞれから、前記画素値を同時に読み出すことにより、前記画素値群を同時に読み出す読出手段と、
    前記読出手段により読み出された画素値群を用いて、前記補間処理を行う補間手段と
    を備える画像処理装置。
  2. 前記読出手段により読み出された画素値群の各画素値を、前記補間処理に対応する順番に並び替える並び替え手段
    をさらに備え、
    前記補間手段は、前記並び替え手段により並び替えられた画素値群を用いて、前記補間処理を行う
    請求項1に記載の画像処理装置。
  3. 画像を構成する各画素の画素値を入力する入力手段と、
    前記補間手段により補間された画素により構成される画像を出力する出力手段と
    をさらに備え、
    前記取得手段は、前記入力手段により入力された画像値を取得する
    請求項1に記載の画像処理装置。
  4. 画像を構成する各画素の画素値を記録する記録手段と、
    前記記録手段から前記画素値を再生する再生手段と
    をさらに備え、
    前記取得手段は、前記再生手段により再生された画素値を取得する
    請求項1に記載の画像処理装置。
  5. 所定の数の画素の画素値である画素値群を用いて、補間対象とする画素の画素値を補間する補間処理を行う画像処理装置の画像処理方法において、
    前記画素値を取得し、
    その取得された画素値に対応する画素の位置に基づいて、その画素値からなる画素値群の各画素値のそれぞれが、前記画素値を記憶する、独立に制御可能な前記所定の数の記憶手段のうちの異なる記憶手段に記憶されるように、前記記憶手段を制御し、
    前記所定の数の記憶手段を制御して、前記所定の数の記憶手段のそれぞれから、前記画素値を同時に読み出すことにより、前記画素値群を同時に読み出し、
    その読み出された画素値群を用いて、前記補間処理を行う
    ステップを含む画像処理方法。
  6. 所定の数の画素の画素値である画素値群を用いて、補間対象とする画素の画素値を補間する補間処理を、コンピュータに行わせるプログラムにおいて、
    前記画素値を取得し、
    その取得された画素値に対応する画素の位置に基づいて、その画素値からなる画素値群の各画素値のそれぞれが、前記画素値を記憶する、独立に制御可能な前記所定の数の記憶手段のうちの異なる記憶手段に記憶されるように、前記記憶手段を制御し、
    前記所定の数の記憶手段を制御して、前記所定の数の記憶手段のそれぞれから、前記画素値を同時に読み出すことにより、前記画素値群を同時に読み出し、
    その読み出された画素値群を用いて、前記補間処理を行う
    ステップを含むプログラム。
JP2006074712A 2006-03-17 2006-03-17 画像処理装置および画像処理方法、並びにプログラム Pending JP2007249791A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006074712A JP2007249791A (ja) 2006-03-17 2006-03-17 画像処理装置および画像処理方法、並びにプログラム
US11/682,965 US20070217714A1 (en) 2006-03-17 2007-03-07 Image processing apparatus and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006074712A JP2007249791A (ja) 2006-03-17 2006-03-17 画像処理装置および画像処理方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2007249791A true JP2007249791A (ja) 2007-09-27
JP2007249791A5 JP2007249791A5 (ja) 2007-11-08

Family

ID=38517909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006074712A Pending JP2007249791A (ja) 2006-03-17 2006-03-17 画像処理装置および画像処理方法、並びにプログラム

Country Status (2)

Country Link
US (1) US20070217714A1 (ja)
JP (1) JP2007249791A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102543040A (zh) * 2008-12-15 2012-07-04 富士通株式会社 用在图形光栅扫描中的凸多边形插值方法和系统
CN106157234A (zh) * 2015-03-31 2016-11-23 北京畅游天下网络技术有限公司 利用粒子系统进行图形处理的方法和装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101853488B (zh) * 2010-06-03 2012-05-23 昆山龙腾光电有限公司 一种图像放大方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03196376A (ja) * 1989-01-30 1991-08-27 Honeywell Inc 全フイールド記憶装置から複数の隣接記憶位置に並列にアクセスするアドレス指定機構
JPH0528251A (ja) * 1991-07-23 1993-02-05 Canon Inc 画像メモリ装置
JPH11306341A (ja) * 1998-04-20 1999-11-05 Nippon Telegr & Teleph Corp <Ntt> 2値画像の補正方法及び装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2067418C (en) * 1991-07-22 1998-05-19 Sung M. Choi Frame buffer organization and control for real-time image decompression
US6704049B1 (en) * 1998-02-23 2004-03-09 Micron Technology, Inc. Interpolator for a CMOS image sensor using a digital register
JP3756888B2 (ja) * 2003-04-17 2006-03-15 株式会社東芝 グラフィックスプロセッサ、グラフィックスカード及びグラフィックス処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03196376A (ja) * 1989-01-30 1991-08-27 Honeywell Inc 全フイールド記憶装置から複数の隣接記憶位置に並列にアクセスするアドレス指定機構
JPH0528251A (ja) * 1991-07-23 1993-02-05 Canon Inc 画像メモリ装置
JPH11306341A (ja) * 1998-04-20 1999-11-05 Nippon Telegr & Teleph Corp <Ntt> 2値画像の補正方法及び装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102543040A (zh) * 2008-12-15 2012-07-04 富士通株式会社 用在图形光栅扫描中的凸多边形插值方法和系统
CN106157234A (zh) * 2015-03-31 2016-11-23 北京畅游天下网络技术有限公司 利用粒子系统进行图形处理的方法和装置

Also Published As

Publication number Publication date
US20070217714A1 (en) 2007-09-20

Similar Documents

Publication Publication Date Title
EP0763305B1 (en) Apparatus and method for decoding video images
JP5120987B2 (ja) 画像処理のための装置および方法、およびシステム
WO2004019607A1 (ja) 画像処理装置と画像処理システム及び画像処理方法
JPH0765197A (ja) 画像処理方法と装置
JP4935440B2 (ja) 画像処理装置およびカメラ装置
JP4971442B2 (ja) ピクセルデータ変換のための画像処理装置及び方法
US11893676B2 (en) Parallel texture sampling
JP4263190B2 (ja) 映像合成回路
JP6016423B2 (ja) 信号処理装置、撮像装置及び信号処理方法
US5892518A (en) Image generating apparatus with pixel calculation circuit including texture mapping and motion compensation
JP4487959B2 (ja) 画像処理装置および画像処理方法、並びにプログラム
US6765578B2 (en) Graphics resampling system and method for use thereof
JP2007249791A (ja) 画像処理装置および画像処理方法、並びにプログラム
KR20210128203A (ko) 볼륨메트릭 3d 동영상 제공 시스템 및 방법
JP4285575B2 (ja) 画像処理装置とカメラシステム及び画像処理方法
US7528841B2 (en) Image transformation apparatus, image transformation circuit and image transformation method
KR100309851B1 (ko) 화상작성장치와화상작성방법
JP5669504B2 (ja) 画像処理装置及びその制御方法
JP3910259B2 (ja) 画像処理装置および方法、並びにレンダリング装置および方法
JP2009042338A (ja) 画素数変換方法、画素数変換装置及び画素数変換プログラム
JP4465570B2 (ja) 画像処理装置および方法、並びに記録媒体
JP4194605B2 (ja) 画像処理装置および方法、並びにレンダリング装置および方法
JP2004056474A (ja) 画像処理装置とそのためのプログラム
JP4271270B2 (ja) データ記憶装置、データ記憶装置の制御装置とその方法および画像生成装置
JP4465843B2 (ja) 画像処理装置および方法、並びに記録媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100603

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101124

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101203

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110121