JP4044069B2 - テクスチャ処理装置、テクスチャ処理方法および画像処理装置 - Google Patents

テクスチャ処理装置、テクスチャ処理方法および画像処理装置 Download PDF

Info

Publication number
JP4044069B2
JP4044069B2 JP2004127705A JP2004127705A JP4044069B2 JP 4044069 B2 JP4044069 B2 JP 4044069B2 JP 2004127705 A JP2004127705 A JP 2004127705A JP 2004127705 A JP2004127705 A JP 2004127705A JP 4044069 B2 JP4044069 B2 JP 4044069B2
Authority
JP
Japan
Prior art keywords
texture
value
unit
interpolation
difference
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 - Lifetime
Application number
JP2004127705A
Other languages
English (en)
Other versions
JP2005309900A (ja
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment 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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2004127705A priority Critical patent/JP4044069B2/ja
Priority to PCT/JP2005/000801 priority patent/WO2005101986A2/en
Priority to EP20050704022 priority patent/EP1751718A2/en
Priority to US11/071,538 priority patent/US7528842B2/en
Priority to TW94112158A priority patent/TWI299838B/zh
Publication of JP2005309900A publication Critical patent/JP2005309900A/ja
Application granted granted Critical
Publication of JP4044069B2 publication Critical patent/JP4044069B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0261Improving the quality of display appearance in the context of movement of objects on the screen or movement of the observer relative to the screen
    • 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/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Generation (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

この発明は画像データを演算処理する画像処理装置および画像処理方法に関する。
3次元コンピュータグラフィックスでは、一般的に3次元空間のオブジェクトを多数のポリゴンにより表現するポリゴンモデルが利用される。ポリゴンモデルの描画処理において、光源、視点位置、物体表面の反射率などを考慮してポリゴン表面に陰影をつけるシェーディングが行われる。また、写実性の高い画像を生成するために、ポリゴンモデルの表面にテクスチャ画像を貼り付けるテクスチャマッピングが行われる。
さらに、映像処理技術をコンピュータグラフィックスに取り入れることにより、現実感や臨場感を高めることができ、カメラなどで撮影した自然画像をテクスチャデータとして利用したり、ビデオカメラで撮影した動画を3次元コンピュータグラフィックスに融合させることも行われている。動画圧縮の標準技術としてMPEG(Moving Picture Experts Group)があり、MPEG−4では、コンピュータグラフィックスへの応用として、柔軟な空間解像度スケーラビリティを有するウェーブレット変換を用いたテクスチャ符号化が採用されている。
コンピュータグラフィックスにおいて、動画を扱うためには、レンダリングエンジンに動画の符号化や復号の機能をもたせる必要がある。レンダリングエンジンは、複雑なレンダリングアルゴリズムに対応するため、プログラマビリティをもつようになってきており、プログラミングによって多様な機能を実現することができる。そのため、レンダリングエンジンに動画の符号化や復号などの高度な画像処理機能をもたせることが現実的な可能性を帯びてきている。
本発明はこうした課題に鑑みてなされたものであり、その目的は、画像データの演算処理を効率良く実行することのできる画像処理装置および画像処理方法を提供することにある。
上記課題を解決するために、本発明のある態様の画像処理装置は、第1および第2のテクスチャのデータを保持する記憶部と、前記第1のテクスチャと前記第2のテクスチャの間で対応領域を定め、前記対応領域内にある前記第1のテクスチャのテクセルと前記第2のテクスチャのテクセルの間で所定の演算処理を行う演算部とを含む。
前記所定の演算処理は、前記対応領域内で対応づけられる前記第1のテクスチャのテクセルと前記第2のテクスチャのテクセルの値の差分に関する演算、たとえば、絶対差分を求める演算であってもよい。また、この絶対差分などの演算は、テクスチャのテクセル値の線形補間を行う内挿演算器を流用して行われてもよい。
本発明の別の態様もまた、画像処理装置である。この装置は、第1および第2のテクスチャのデータを保持する記憶部と、前記記憶部に保持された前記第1のテクスチャと前記第2のテクスチャを切り替えて参照して、前記第1のテクスチャのテクセルと前記第2のテクスチャのテクセルに対して交互に所定の演算処理を行う演算部とを含む。
前記第1のテクスチャの設定情報と前記第2のテクスチャの設定情報を同時に保持するレジスタをさらに含んでもよい。前記演算部を前記レジスタに保持された前記第1および第2のテクスチャの設定情報にもとづいて、前記第1および第2のテクスチャのデータを読み出し、前記所定の演算処理を行ってもよい。これにより2つのテクスチャを参照するためにコンテクストを切り替える必要がなくなる。
前記所定の演算処理は、前記第1のテクスチャと前記第2のテクスチャのそれぞれの所定の領域内にあるテクセルの値の大小比較に関する演算、たとえば、最小値や最大値を求める演算であってもよい。
本発明のさらに別の態様もまた、画像処理装置である。この装置は、テクスチャデータに対して演算処理を行うテクスチャユニットと、前記テクスチャユニットとバス結合し、前記テクスチャユニットにより演算処理されたテクスチャデータをもとに描画データを生成するシェーディングユニットとを含む。前記テクスチャユニットは、動画のフレーム画像を前記テクスチャデータとして読み取り、前記フレーム画像に関する差分演算を行い、差分演算結果を前記シェーディングユニットに出力し、前記シェーディングユニットは、前記テクスチャユニットから受け取る前記フレーム画像に関する前記差分演算結果を利用して前記動画を圧縮符号化する。
前記フレーム画像に関する差分演算は、1つのフレーム内の異なる画素間の差分演算であってもよく、2つのフレーム間の対応する画素間の差分演算であってもよい。
前記テクスチャユニットは、2枚のフレーム画像をテクスチャデータとして読み取り、前記2枚のフレーム画像間の差分演算を行い、差分演算結果を前記シェーディングユニットに出力し、前記シェーディングユニットは、前記テクスチャユニットから受け取る前記2枚のフレーム画像間の前記差分演算結果を利用して前記動画を圧縮符号化してもよい。
本発明のさらに別の態様は、画像処理方法である。この方法は、第1および第2のテクスチャのデータをメモリから読み出し、前記第1のテクスチャと前記第2のテクスチャの間で対応領域を定め、前記対応領域内にある前記第1のテクスチャのテクセルと前記第2のテクスチャのテクセルの間で所定の演算処理を行う。
本発明のさらに別の態様もまた、画像処理方法である。この方法は、メモリに保持された第1のテクスチャと第2のテクスチャを切り替えて参照して、前記第1のテクスチャのテクセルと前記第2のテクスチャのテクセルに対して交互に所定の演算処理を行う。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、画像データの演算処理を効率良く実行することができる。
図1は、実施の形態に係る画像生成装置200の構成図である。画像生成装置200は、描画ブロック100と制御ブロック110と入出力ブロック120とがバス150で接続されて構成され、入出力ブロック120には記憶装置130と表示装置140が接続される。入出力ブロック120は、ネットワーク経由で他の装置と通信して、描画に必要なデータを外部から取得する構成であってもよい。
制御ブロック110は、この画像生成装置200全体を制御するブロックであり、画像生成装置200内部と、記憶装置130、表示装置140などの外部周辺装置との間のデータ転送の同期管理、画像生成装置200内部の各ユニットからの割り込みの処理、タイマーの管理などを行う。
入出力ブロック120は、記憶装置130に格納された3次元モデル情報や各種パラメータを読み込み、描画ブロック100に提供する。入出力ブロック120は、ネットワーク経由で外部装置から描画に必要なデータを受信して、描画ブロック100に提供してもよい。入出力ブロック120は、描画ブロック100が出力する描画データを表示装置140に表示する。
描画ブロック100は、入出力ブロック120から与えられる3次元モデル情報をもとに描画データを生成し、フレームバッファに書き込むレンダリング処理を行う。
図2は、描画ブロック100の構成図である。ラスタライザ10は、入出力ブロック120から描画プリミティブの頂点データを受け取る。描画プリミティブは一般的には三角形であり、ラスタライザ10は、3次元空間上の三角形を投影変換により描画平面上の三角形に変換するビュー変換を行い、さらに、描画平面上の三角形を描画平面の水平方向に沿ってスキャンしながら、1列毎に量子化されたピクセルに変換するラスター処理を行う。ラスタライザ10により、描画プリミティブがピクセル展開され、各ピクセルについて、RGBカラー値、α値、Z値を含むピクセル情報が算出される。
ラスタライザ10は、スキャンラインに沿って所定の大きさのピクセル領域(以下、描画対象領域という)を生成し、後段の描画演算ユニット20に与える。描画演算ユニット20には、シェーダユニット30と、メモリ40と、テクスチャユニット50とが含まれる。メモリ40内には、フレームバッファとテクスチャバッファが設けられる。なお、フレームバッファとテクスチャバッファは、単一のメモリ内に設けられてもよく、物理的に別個のメモリに設けられてもよい。
ラスタライザ10から描画演算ユニット20に供給された描画対象領域は、キューにスタックされ、シェーダユニット30は、キューにスタックされた描画対象領域を順に処理する。
シェーダユニット30は、ラスタライザ10により算出されたピクセル情報をもとに、シェーディング処理を行い、テクスチャユニット50により得られたテクセル情報をもとに、テクスチャマッピング後のピクセル色を定め、メモリ40内のフレームバッファに描画データを書き込む。シェーダユニット30は、さらに、フレームバッファに保持された描画データに対して、フォギング、アルファブレンディング等の処理を行い、最終的な描画色を求め、フレームバッファの描画データを更新する。フレームバッファに記憶された描画データは、入出力ブロック120により読み出され、表示装置140に出力される。
テクスチャユニット50は、シェーダユニット30からテクスチャデータを指定するパラメータの入力を受け取り、テクスチャデータのアドレスを算出して、メモリ40内のテクスチャバッファに対して必要なテクスチャデータを要求する。テクスチャユニット50は、テクスチャバッファから読み出されたテクスチャデータをキャッシュし、バイリニア補間、トライリニア補間などのフィルタ処理を施して、シェーダユニット30に出力する。
図3は、描画演算ユニット20の詳細な構成を説明する図である。描画演算ユニット20内のシェーダユニット30は、非同期動作する複数のシェーダクラスタ32をもち、それぞれが担当するピクセルデータを処理することでピクセルの描画処理を並列に実行する。
分配部12は、キューにスタックされた描画対象領域の処理を担当するシェーダクラスタ32を決定し、各種パラメータを生成して、描画対象領域とパラメータをそのシェーダクラスタ32に与える。
描画演算ユニット20内には、1つのテクスチャユニット50が設けられており、各シェーダクラスタ32は、テクスチャデータを指定するためのテクスチャパラメータを含むテクスチャロード命令をテクスチャユニット50に入力し、テクスチャユニット50からテクスチャマッピング処理後のテクスチャデータの出力を受け取る。
シェーダクラスタ32は、フラットシェーディング、グーローシェーディングなどのシェーディングを行い、各描画ピクセルのカラー値を決定し、メモリ40内のフレームバッファに書き込む。さらに、シェーダクラスタ32は、テクスチャユニット50から出力されたテクスチャデータをもとに、ピクセルにマッピングされたテクセルのカラー値をフレームバッファから読み出されたピクセルのカラー値にブレンドする。シェーダクラスタ32は、ピクセルのピクセル色、テクセル色、アルファ値、フォグ値が決まると、最終的な描画ピクセルデータをフレームバッファに書き込む。メモリアクセス部34は、シェーダクラスタ32によるフレームバッファに対するピクセルデータの読み書きを制御する。
なお、テクスチャユニット50は、シェーダクラスタ32からテクスチャロード命令を受けると、テクスチャのアドレス計算、メモリアクセスおよびフィルタリングの処理を行うため、シェーダクラスタ32における演算に比べて出力が得られるまでに時間がかかる。そのため、シェーダクラスタ32はテクスチャロード命令の実行後、処理中の描画対象領域以外の描画対象領域の処理を行い、実行効率を上げる。
図4は、テクスチャユニット50の構成図である。テクスチャユニット50は、テクスチャ座標値をテクセル座標値に変換してテクスチャバッファ内のアドレスを算出し、算出されたアドレスをもとにテクセル情報を読み出し、ピクセルにマッピングされるテクセルのカラー情報をバイリニアフィルタなどのフィルタリング処理により求める。以下、テクスチャユニット50の構成を説明する。
演算部58は、複数のシェーダクラスタ32からテクスチャロード命令、パラメータ取得命令などの入力を受け付け、命令を順に処理して、処理結果をシェーダクラスタ32に渡す。
テクスチャロード命令にはテクスチャデータを指定するテクスチャパラメータが含まれる。テクスチャパラメータは、テクスチャ座標値、テクセル座標値、LOD(level of detail)値などを含む。
コンフィグレーションレジスタ群52は、テクスチャユニット50の動作を規定する各種設定情報をコンフィグレーション情報として保持するコンフィグレーションレジスタの集まりである。コンフィグレーションレジスタ群52は設定された値を保持するため、同じモードや条件を直前の設定のままで続けて使用する場合は、改めて設定し直す必要はない。
コンフィグレーションレジスタ群52には、テクスチャを使用するためのベースアドレス、動作モード、パラメータなどをそれぞれ保持するレジスタが含まれ、後述のように2つのテクスチャA、Bを同時に参照するときは、テクスチャAのベースアドレス、動作モード、パラメータなどの設定情報を保持したレジスタセットAと、テクスチャBのベースアドレス、動作モード、パラメータなどの設定情報を保持したレジスタセットBが用いられる。したがって、2つのテクスチャA、Bを同時に参照したり、2つのテクスチャA、Bを切り替えて参照するときでも、設定情報すなわちコンテクストの切り替えをする必要がなく、コンテクスト切り替えに伴うオーバーヘッドがない。
演算部58は、コンフィグレーションレジスタ群52に記憶された設定情報にもとづいてテクスチャデータに対してバイリニア補間などのフィルタリング処理を行う。
記憶部60は、第1テクスチャデータ62と第2テクスチャデータ63を記憶する。記憶部60は、メモリ40から読み出された第1テクスチャデータ62と第2テクスチャデータ63を保持するバッファとして利用される。記憶部60は、演算部58からの要求に応じて、第1テクスチャデータ62および第2テクスチャデータ63を演算部58に供給するが、記憶部60を介せずに、演算部58がメモリ40内のテクスチャバッファから直接第1テクスチャデータ62および第2テクスチャデータ63を読み込む構成であってもよい。
図5は、演算部58の構成図である。演算部58は、第1テクスチャデータ62と第2テクスチャデータ63を取得し、バイリニア補間、トライリニア補間などのフィルタリング処理を行う。演算部58は、フィルタリング処理を行うために、3段構成の内挿演算器(以下、LIPと略す)71〜77を有する。
演算部58は、第1段の内挿演算器として4つのLIP71〜74を有し、第2段の内挿演算器として2つのLIP75、76を有し、第3段の内挿演算器として1つのLIP77を有する。説明の便宜のため、第1段および第2段の内挿演算器を、上段のLIP71、LIP72、およびLIP75(以下、これらをまとめて上段演算ブロック310という)と、下段のLIP73、LIP74、およびLIP76(以下、下段演算ブロック320という)に分ける。上段演算ブロック310および下段演算ブロック320による演算結果は、第3段のLIP77に入力される。
上段演算ブロック310および下段演算ブロック320のいずれにおいても、第1段の内挿演算器は、テクセル座標(u,v)のu方向についての線形補間を行うものであり、第2段の内挿演算器は、テクセル座標(u,v)のv方向についての線形補間を行うものである。したがって、上段演算ブロック310および下段演算ブロック320では、2段階のフィルタリングを経て、u、vの2方向に線形補間を行うバイリニア補間が実現される。
第3段のLIP77は、上段演算ブロック310によるバイリニア補間の結果と、下段演算ブロック320によるバイリニア補間の結果に対して、さらに線形補間を施す。これにより、トライリニア補間が実現される。たとえば、ミップマップテクスチャを例に挙げると、上段演算ブロック310と下段演算ブロック320は、それぞれ異なる解像度レベルのミップマップテクスチャのバイリニア補間を行い、第3段のLIP77は、上段演算ブロック310および下段演算ブロック320のバイリニア補間の結果を受けて、ミップマップテクスチャの異なる解像度レベル間で内挿演算を行う。
図6(a)、(b)は、演算部58が参照する第1テクスチャデータ62と第2テクスチャデータ63を説明する図である。以下、第1テクスチャデータ62をテクスチャA、第2テクスチャデータ63をテクスチャBと呼ぶ。演算部58は、図6(a)に示すテクスチャA内の4テクセルA1〜A4と、図6(b)に示すテクスチャB内の4テクセルB1〜B4を取得する。
上段演算ブロック310は、テクスチャAの4テクセルA1〜A4に対してバイリニア補間を施す。第1段のLIP71は、テクスチャAの4テクセルの内、上列の2テクセルA1およびA2の入力を受け、線形補間式X1=(1−α)A1+αA2により、テクセルA1とA2の値を内分比α:(1−α)で内分した補間値X1を計算して出力する。ここで、補間係数αは0から1の実数である。
同様に、第1段のLIP72は、テクスチャAの4テクセルの内、下列の2テクセルA3およびA4の入力を受け、線形補間式X2=(1−α)A3+αA4による補間値X2を計算して出力する。第1段の2つのLIP71およびLIP72によって、4テクセルの上列および下列についてテクセル座標(u,v)のu方向についての線形補間が行われたことになる。
第2段のLIP75は、第1段の2つのLIP71およびLIP72の演算結果X1およびX2を入力として受け、これらの演算結果X1およびX2に対して、線形補間式Y1=(1−α)X1+αX2により、補間値Y1を計算して出力する。これは、テクセル座標(u,v)のv方向についての線形補間を行うものである。
このようにして、上段演算ブロック310において、テクスチャAの4テクセルA1〜A4に対して、第1段のLIP71およびLIP72によってu方向の線形補間が施され、第2段のLIP75によってv方向の線形補間が施され、最終的にu、vの2方向のバイリニア補間の結果が出力される。
同様に、下段演算ブロック320は、テクスチャBの4テクセルB1〜B4に対してバイリニア補間を施す。第1段のLIP73は、テクスチャBの4テクセルの内、上列の2テクセルB1およびB2の入力を受け、線形補間式X3=(1−α)B1+αB2による補間値X3を計算して出力する。また、第1段のLIP74は、テクスチャBの4テクセルの内、下列の2テクセルB3およびB4の入力を受け、線形補間式X4=(1−α)B3+αB4による補間値X4を計算して出力する。さらに、第2段のLIP76は、第1段の2つのLIP73およびLIP74の演算結果X3およびX4を入力として受け、これらの演算結果X3およびX4に対して、線形補間式Y2=(1−α)X3+αX4により、補間値Y2を計算して出力する。
このようにして、下段演算ブロック320において、テクスチャBの4テクセルB1〜B4に対して、第1段のLIP73およびLIP74によってu方向の線形補間が施され、第2段のLIP76によってv方向の線形補間が施され、最終的にu、vの2方向のバイリニア補間の結果が出力される。
第3段のLIP77は、第2段の2つのLIP75およびLIP76の演算結果Y1およびY2を入力として受け、これらの演算結果Y1およびY2に対して、さらに線形補間式Z=(1−α)Y1+αY2により、補間値Zを計算して出力する。
図5の7つのLIP71〜LIP77(これらを総称してLIP70と呼ぶ)は、いずれも同じ機能構成をもつ。図7は、LIP70の構成図である。LIP70は、差分器(SUB)81と、乗算器(MUL)82と、加算器(ADD)83と、補間係数αを保持する係数保持部84とを含む。
LIP70には、第1の入力値Pと、第2の入力値Qが入力される。差分器81は、2つの入力値PおよびQの差分Q−Pを計算して出力し、乗算器82に与える。乗算器82は、差分器81からは差分Q−Pの入力を、係数保持部84からは補間係数αの入力を受け、差分Q−Pに補間係数αを乗じた値α(Q−P)を出力し、加算器83に与える。加算器83は、乗算器82から乗算結果α(Q−P)の入力を受け、これに入力値Pを加算した値α(Q−P)+Pを出力する。
LIP70の出力値は、α(Q−P)+P=(1−α)P+αQと変形できるため、2つの入力値PおよびQを内分比α:(1−α)で線形補間したものであることがわかる。
以下では、差分器81、乗算器82、および加算器83を含むLIP70の機能構成を流用して、演算処理に多少の変形を加えることで、LIP70に線形補間以外の演算を行わせる。これにより、演算部58がバイリニア補間やトライリニア補間以外の有用な演算を行うことができるようになる。
図8は、絶対差分和を計算するための演算部58の構成を説明する図である。第1段の絶対差分器(以下、SUBABSと略す)91〜94(以下、これらを総称するときはSUBABS90と呼ぶ)は、図7のLIP70の演算処理に変形を加えて2つの入力値の絶対差分を計算できるようにしたものである。
演算部58には、テクスチャAの4テクセルA1〜A4とテクスチャBの4テクセルB1〜B4が入力されるが、第1段のSUBABS91〜94へのテクスチャAの4テクセルA1〜A4およびテクスチャBの4テクセルB1〜B4の入力の与え方は、図5に示した演算部58の基本構成とは異なる点に留意する。
上段演算ブロック310において、第1段のSUBABS91は、2つのテクスチャAおよびBの対応するテクセルの組(A1,B1)の入力を受け、2テクセルA1およびB1の絶対差分|A1−B1|を計算して出力する。また、第1段のSUBABS93は、2つのテクスチャAおよびBの対応するテクセルの組(A3、B3)の入力を受け、2テクセルA3およびB3の絶対差分|A3−B3|を計算して出力する。
第2段のLIP75は、第1段のSUBABS91の演算結果|A1−B1|とSUBABS93の演算結果|A3−B3|の入力を受けて、補間係数α=0.5のもとで、これらの演算結果に対して線形補間を行う。補間係数α=0.5であるから、第2段のLIP75は、2つの演算結果の平均値を計算することになり、Y1=(|A1−B1|+|A3−B3|)/2を出力する。
同様に、下段演算ブロック320において、第1段のSUBABS92は、2つのテクスチャAおよびBの対応するテクセルの組(A2、B2)の入力を受け、2テクセルA2およびB2の絶対差分|A2−B2|を計算して出力する。また、第1段のSUBABS94は、2つのテクスチャAおよびBの対応するテクセルの組(A4、B4)の入力を受け、2テクセルA4およびB4の絶対差分|A4−B4|を計算して出力する。
第2段のLIP76は、第1段のSUBABS92の演算結果|A2−B2|とSUBABS94の演算結果|A4−B4|の入力を受けて、同様に、補間係数α=0.5のもとで、これらの演算結果に対して線形補間を行い、平均値Y2=(|A2−B2|+|A4−B4|)/2を出力する。
第3段のLIP77は、第2段の2つのLIP75およびLIP76の演算結果Y1およびY2を入力として受け、補間係数α=0.5のもとで、これらの演算結果に対して線形補間を行う。第3段のLIP77は、Z=(Y1+Y2)/2=Σi=1 |Ai−Bi|/4を計算することになる。したがって、演算部58の最終的な出力値Zは、2つのテクスチャAおよびBの対応するテクセルの組(A1,B1)〜(A4、B4)の絶対差分の和(Sum of Absolute Difference;SAD)を与える。演算部58による絶対差分和を求める演算を2×2SADと呼ぶ。
図9は、SUBABS90の構成図である。SUBABS90は、図7のLIP70の構成を流用したものであり、絶対差分を出力するように演算に変形を加えている。SUBABS90は、LIP70と同一の差分器81と、乗算器82と、加算器83を含むが、加算器83は使用しない。また、補間係数αを保持する係数保持部84の代わりに差分器81の演算結果である差分Q−Pの正負符号を示す値SIGNを保持する正負符号保持部85が設けられる。正負符号保持部85は、差分Q−Pが正であれば、SIGN=1を、差分Q−Pが負であればSIGN=−1を乗算器82に与える。
差分器81は2つの入力値PおよびQの差分Q−Pを計算して出力し、乗算器82に与える。乗算器82は、差分器81からは差分Q−Pの入力を、正負符号保持部85からは差分Q−Pの正負符号値SIGNの入力を受け、差分Q−Pに正負符号値SIGNを乗算する。差分Q−Pが正であれば、差分Q−Pに+1が掛けられ、差分Q−Pが負であれば、差分Q−Pに−1が掛けられるため、乗算器82による演算結果はPとQの差分の絶対値|P−Q|となる。乗算器82による演算結果|P−Q|はそのままSUBABS90の出力となる。
図10は、テクスチャユニット50による2×2SAD演算の結果がシェーダユニット30に与えられる様子を説明する図である。テクスチャユニット50は、テクスチャAの4テクセルA1〜A4と、テクスチャBの4テクセルB1〜B4の入力を受け、絶対差分和Z=Σi=1 |Ai−Bi|/4を計算してシェーダユニット30に与える。
仮にシェーダユニット30が、絶対差分和の演算を行うとすれば、テクスチャユニット50からテクスチャAの4テクセルA1〜A4とテクスチャBの4テクセルB1〜B4のデータをすべて受け取る必要があり、データ転送によるシェーダユニット30とテクスチャユニット50間のバスの占有率が高くなる。しかしながら、本実施の形態では、テクスチャユニット50において絶対差分和Zの計算が行われ、シェーダユニット30には、絶対差分和Zだけが入力されるため、テクスチャユニット50からシェーダユニット30へのデータ転送量を抑えることができる。
また、テクスチャユニット50において絶対差分和の演算を行うことにより、シェーダユニット30における演算量を減らすことができ、シェーダユニット30はより複雑な演算処理に時間をかけることができるようになる。テクスチャユニット50では、比較的単純な演算を行い、シェーダユニット30では、より複雑で高度な演算を行うという分散処理が可能となり、全体の処理効率が向上する。
なお、上記の説明では、2つのテクスチャA、Bの対応するテクセル間で差分演算を行ったが、1つのテクスチャの異なるテクセル間で差分演算を行ってもよい。たとえば、テクスチャA内の4テクセルA1〜A4と別の4テクセルA1’〜A4’の間で絶対差分和の演算を行ってもよい。
図11は、絶対差分を計算するための演算部58の構成を説明する図である。図11の演算部58は、図8の演算部58と同じ構成をもつが、第3段のLIP77が利用されずに、第2段のLIP75、LIP76から直接演算結果が出力される点が異なる。
上段演算ブロック310において、第1段のSUBABS91は、2つのテクスチャAおよびBの対応するテクセルA1およびB1の絶対差分|A1−B1|を計算して出力し、SUBABS93は、2つのテクスチャAおよびBの対応するテクセルA3およびB3の絶対差分|A3−B3|を計算して出力する。
第2段のLIP75は、第1段のSUBABS91の演算結果|A1−B1|を第1の入力値X1として受け、第1段のSUBABS93の演算結果|A3−B3|を第2の入力値X3として受け、補間係数α=0または1のもとで、これらの入力値に対して線形補間を行う。線形補間式(1−α)X1+αX3において、補間係数α=0のときは、第1の入力値X1がそのまま出力され、補間係数α=1のときは、第2の入力値X3がそのまま出力されるため、第2段のLIP75は、第1段の2つのSUBABS91およびSUBABS93のいずれかの演算結果を切り替えて出力するスイッチとして作用する。このようにして、第2段のLIP75は、補間係数α=0のとき、実線で示したように、Y1=X1=|A1−B1|を出力し、補間係数α=1のとき、点線で示したように、Y3=X3=|A3−B3|を出力する。
同様に、下段演算ブロック320において、第1段のSUBABS92は、2つのテクスチャAおよびBの対応するテクセルA2およびB2の絶対差分|A2−B2|を計算して出力し、第1段のSUBABS94は、2つのテクスチャAおよびBの対応するテクセルA4およびB4の絶対差分|A4−B4|を計算して出力する。
第2段のLIP76は、第1段のSUBABS92の演算結果|A2−B2|を第1の入力値X2として受け、SUBABS94の演算結果|A4−B4|を第2の入力値X4として受け、補間係数α=0または1のもとで、これらの入力値について線形補間を行い、補間係数α=0のとき、実線で示したように、Y2=X2=|A2−B2|を出力し、補間係数α=1のとき、点線で示したように、Y4=X4=|A4−B4|を出力する。
上段演算ブロック310と下段演算ブロック320は並列に実行され、演算結果Y1〜Y4が出力される。演算部58の最終的な出力値Y1〜Y4は、それぞれ、2つのテクスチャA、Bの対応するテクセルの組(A1,B1)〜(A4、B4)の絶対差分(Absolute Difference;AD)である。演算部58による絶対差分を求める演算を1×1ADと呼ぶ。
なお、第2段のLIP75およびLIP76において、それぞれ、補間係数αを0と1の間で切り替えることにより、絶対差分値Y1とY3、Y2とY4が交互に出力されるように構成したが、SUBABS91〜94からそれぞれの演算結果X1〜X4が直接出力されるように構成することにより、4つの絶対差分値Y1〜Y4が同時に出力されるように構成してもよい。
1×1AD演算では、図8の2×2SAD演算とは違って、2つのテクスチャA、Bの対応するテクセル毎に差分を求めて出力すればよいため、並列に動作する上段演算ブロック310と下段演算ブロック320の演算結果がそのまま並列に出力され、2×2SAD演算よりも並列度が高くなっている。
図12は、テクスチャユニット50による1×1AD演算の結果がシェーダユニット30に与えられる様子を説明する図である。テクスチャユニット50は、実線で示したテクスチャAの2テクセルA1およびA2と、テクスチャBの2テクセルB1およびB2の入力を受け、絶対差分値Y1=|A1−B1|およびY2=|A2−B2|を計算し、シェーダユニット30に与える。また、テクスチャユニット50は、点線で示したテクスチャAの2テクセルA3およびA4と、テクスチャBの2テクセルB3およびB4の入力を受け、絶対差分値Y3=|A3−B3|およびY4=|A4−B4|を計算し、シェーダユニット30に与える。
仮にシェーダユニット30でテクスチャAおよびBの対応する各テクセルの組について1×1AD演算を行うとすると、テクスチャAの4テクセルA1〜A4とテクスチャBの4テクセルB1〜B4のすべてのデータをテクスチャユニット50から受け取る必要がある。これに対して、テクスチャユニット50で1×1AD演算を行うことにより、シェーダユニット30は演算結果Y1〜Y4だけを受け取ればよいので、テクスチャユニット50からシェーダユニット30へのデータ転送量を半分に減らすことができる。
図13は、テクスチャの4テクセルの最小値を求めるための演算部58の構成を説明する図である。第1段の最小値算出器(以下、MINと略す)301〜304(以下、これらを総称するときはMIN300と呼ぶ)は、図7のLIP70の演算処理に変形を加えて2つの入力値の最小値を計算できるようにしたものである。
演算部58には、テクスチャAの4テクセルA1〜A4とテクスチャBの4テクセルB1〜B4が入力されるが、第1段のMIN301〜304へのテクスチャAの4テクセルA1〜A4およびテクスチャBの4テクセルB1〜B4の入力の与え方は、図5に示した演算部58の基本構成とは異なる。
上段演算ブロック310において、第1段のMIN301は、テクスチャAの4テクセルの内、上列の2テクセルA1およびA2の入力を受け、2テクセルA1およびA2の内、いずれか小さい方を求め、演算結果min(A1,A2)を出力する。また、MIN303は、テクスチャBの4テクセルの内、上列の2テクセルB1およびB2の入力を受け、2テクセルB1およびB2の内、いずれか小さい方を求め、演算結果min(B1,B2)を出力する。
第2段のLIP75は、第1段のMIN301の演算結果min(A1,A2)を第1の入力値X1として受け、第1段のMIN303の演算結果min(B1,B2)を第2の入力値X1として受け、補間係数α=0または1のもとで、これらの入力値に対して線形補間を行う。第2段のLIP75は、第1段の2つのMIN301およびMIN303のいずれかの演算結果を切り替えて出力するスイッチとして作用し、補間係数α=0のとき、実線で示したように、Y1=X1=min(A1,A2)を出力し、補間係数α=1のとき、点線で示したように、Y1=X1=min(B1,B2)を出力する。
同様に、下段演算ブロック320において、第1段のMIN302は、テクスチャAの下列の2テクセルA3およびA4の内、いずれか小さい方を求め、演算結果min(A3,A4)を出力する。また、第1段のMIN303は、テクスチャBの下列の2テクセルB3およびB4の内、いずれか小さい方を求め、演算結果min(B3,B4)を出力する。
第2段のLIP76は、第1段のMIN302の演算結果min(A3,A4)を第1の入力値X2として受け、第1段のMIN304の演算結果min(B3,B4)を第2の入力値X2として受け、補間係数α=0または1のもとで、これらの入力値に対して線形補間を行い、補間係数α=0のとき、実線で示したように、Y2=X2=min(A3,A4)を出力し、補間係数α=1のとき、点線で示したように、Y2=X2=min(B3,B4)を出力する。
第2段のLIP75およびLIP76において補間係数α=0のとき、第3段のMIN307は、第2段のLIP75およびLIP76の演算結果Y1およびY2の入力を受け、いずれか小さい方を求め、演算結果Z=min(Y1,Y2)を出力する。Y1=min(A1,A2)、Y2=min(A3,A4)であることより、演算結果Z=min(A1,A2,A3,A4)であり、テクスチャAの4テクセルA1〜A4の最小値を求める演算となっている。
第2段のLIP75およびLIP76において補間係数α=1のとき、第3段のMIN307は、第2段のLIP75およびLIP76の演算結果Y1およびY2の入力を受け、いずれか小さい方を求めて、演算結果Z=min(Y1,Y2)を出力する。Y1=min(B1,B2)、Y2=min(B3,B4)であることより、演算結果Z=min(B1,B2,B3,B4)であり、テクスチャBの4テクセルB1〜B4の最小値を求める演算となっている。
このようにして、演算部58は、2つのテクスチャAおよびBを切り替えて参照することにより、テクスチャAの4テクセルA1〜A4およびテクスチャBの4テクセルB1〜B4のそれぞれの最小値Z、Zを計算して出力する。なお、テクセルが、RGBカラーや透明度などの複数のコンポーネントからなる場合は、それぞれのコンポーネントについて最小値が出力される。演算部58によるテクスチャの4テクセルの最小値を求める演算を2×2MINと呼ぶ。
図14は、MIN300の構成図である。MIN300は、図7のLIP70の構成を流用したものであり、最小値を出力するように演算に変形を加えている。MIN300は、LIP70と同一の差分器81と、乗算器82と、加算器83を含む。正負符号保持部85は、差分器81の演算結果である差分Q−Pの正負符号を示す値SIGNを保持し、差分Q−Pが正であればSIGN=1を、差分Q−Pが負であればSIGN=−1を係数保持部84に与える。係数保持部84は、正負符号保持部85からSIGN=1が与えられると、補間係数αを0に設定し、正負符号保持部85からSIGN=−1が与えられると、補間係数αを1に設定し、補間係数αを乗算器82に与える。
差分器81は2つの入力値P、Qの差分Q−Pを計算して出力し、乗算器82に与える。乗算器82は、差分器81からは差分Q−Pの入力を、係数保持部84からは補間係数αの入力を受け、差分Q−Pに補間係数αを乗算する。差分Q−Pが正であれば、乗算器82は差分Q−Pに0を掛けるため、演算結果は0になり、差分Q−Pが負であれば、乗算器82は差分Q−Pに1を掛けるため、演算結果はQ−Pになる。乗算器82は、演算結果を加算器83に与える。
加算器83は、乗算器82による演算結果に入力値Pを加算する。差分Q−Pが正であれば、加算器83は、乗算器82からの出力値0に入力値Pを加算することになり、演算結果はPになる。差分Q−Pが負であれば、加算器83は、乗算器82からの出力値Q−Pに入力値Pを加算することになり、演算結果はQになる。したがって、加算器83による演算結果は、入力値P、Qの小さい方を出力することになり、MIN300の最終的な出力はmin(P,Q)である。なお、2つの入力値PとQが等しいときは、正負符号保持部85は、SIGN=1、−1のいずれかを出力するように構成すればよい。
図15は、テクスチャユニット50による2×2MIN演算の結果がシェーダユニット30に与えられる様子を説明する図である。テクスチャユニット50は、テクスチャAの4テクセルA1〜A4の入力を受け、4テクセルの最小値Zをシェーダユニット30に与える。また、テクスチャユニット50は、テクスチャBの4テクセルB1〜B4の入力を受け、4テクセルの最小値Zをシェーダユニット30に与える。
シェーダユニット30には、テクスチャユニット50で求めた最小値Z、Zだけが入力されるため、テクスチャユニット50からシェーダユニット30へのデータ転送量を1/4に抑えることができる。
図16は、テクスチャの2テクセルの最小値を求めるための演算部58の構成を説明する図である。演算部58の第1段のMIN301〜304には、図13と同様に、テクスチャAのテクセルA1〜A4とテクスチャBのテクセルB1〜B4が入力されるが、第2段のLIP75、76から直接演算結果が出力される点が異なる。
上段演算ブロック310において、第2段のLIP75は、第1段の2つのMIN301およびMIN303のいずれかの演算結果を切り替えて出力するスイッチとして作用し、補間係数α=0のとき、テクスチャAの4テクセルの内、上列の2テクセルA1およびA2の最小値Y1=min(A1,A2)を出力し、補間係数α=1のとき、テクスチャBの4テクセルの内、上列の2テクセルB1およびB2の最小値Y1=min(B1,B2)を出力する。第2段のLIP75の出力はそのまま演算部58の出力となる。
同様に、下段演算ブロック320において、第2段のLIP76は、第1段の2つのMIN302およびMIN304のいずれかの演算結果を切り替えて出力するスイッチとして作用し、補間係数α=0のとき、テクスチャAの4テクセルの内、下列の2テクセルA3およびA4の最小値Y2=min(A3,A4)を出力し、補間係数α=1のとき、テクスチャBの4テクセルの内、下列の2テクセルB3およびB4の最小値Y2=min(B3,B4)を出力する。第2段のLIP76の出力はそのまま演算部58の出力となる。
このようにして、上段演算ブロック310からは、テクスチャAの2テクセルA1およびA2の最小値Y1と、テクスチャBの2テクセルB1およびB2の最小値Y1が出力され、下段演算ブロック320からは、テクスチャAの別の2テクセルA3およびA4の最小値Y2と、テクスチャBの別の2テクセルB3およびB4の最小値Z2が出力される。演算部58によるテクスチャの2テクセルの最小値を求める演算を2×1MINと呼ぶ。
図17は、テクスチャユニット50による2×1MIN演算の結果がシェーダユニット30に与えられる様子を説明する図である。テクスチャユニット50は、テクスチャAの4テクセルA1〜A4の入力を受け、上列2テクセルA1およびA2の最小値Y1と、下列2テクセルA3およびA4の最小値Y2をシェーダユニット30に与える。また、テクスチャユニット50は、テクスチャBの4テクセルB1〜B4の入力を受け、上列2テクセルB1およびB2の最小値Y1と、下列2テクセルB3およびB4の最小値Y2をシェーダユニット30に与える。
シェーダユニット30には、4テクセルの上列の最小値と下列の最小値だけが入力されるため、テクスチャユニット50からシェーダユニット30へのデータ転送量を半分に抑えることができる。
図13および図16において、2つの入力値PおよびQのいずれか小さい方を求める最小値算出器(MIN)に代えて、2つの入力値PおよびQのいずれか大きい方を求める最大値算出器(MAX)を用いれば、2×2MAXおよび2×1MAXの演算が可能になる。最大値算出器は、図14のMIN300において、差分値Q−Pが正であるときに、補間係数αを1に、差分値Q−Pが負であるときに、補間係数αを0にするように変形することで実現することができる。
上記の演算部58によるSAD、AD、MIN、MAXの各演算では、2つのテクスチャA、Bから合計8個のテクセル値を取得し、演算部58の第1段に入力したが、1つのテクスチャから8個のテクセル値を取得して、演算部58の第1段に入力してもよい。たとえば、図13において、第2段の2つのLIP75、LIP76をそれぞれ最小値算出器であるMIN305、MIN306に置き換えることにより、2×4MINを計算することもできる。この場合、上段演算ブロック310では、テクスチャAの8テクセルA1〜A8の内、A1、A2がMIN301に入力され、A3、A4がMIN303に入力され、4テクセルA1〜A4の最小値が求められる。さらに、下段演算ブロック320では、テクスチャAの8テクセルA1〜A8の内、A5、A6がMIN302に入力され、A7、A8がMIN304に入力され、4テクセルA5〜A8の最小値が求められる。最後に、第3段のMIN307において、上段演算ブロック310と下段演算ブロック320の演算結果にもとづき、テクスチャAの8テクセルA1〜A8の最小値が求められる。同様にして1つのテクスチャに対して2×4MAXなども計算することができる。
以上述べた演算部58によるSAD、AD、MIN、MAXなどの演算は、さまざまな画像処理に利用することができる。たとえば、動画のフレーム画像をテクスチャデータとして用いれば、演算部58は、2枚のフレーム画像間の差分演算を行うことができ、フレーム間符号化に役立てることができる。以下、演算部58による各種演算の画像処理への適用例の一つとして、MPEG符号化処理を説明する。
図18は、実施の形態に係る画像符号化装置400の構成図である。テクスチャユニット50は、動画のフレーム間の差分を演算し、演算結果をシェーダユニット30に与える。シェーダユニット30は、差分演算結果にもとづいて、動画フレームの圧縮符号化を行う。
カメラなどで撮影された画像フレームがメモリ40にバッファされ、テクスチャユニット50は、メモリ40から画像フレームを連続的に読み出す。テクスチャユニット50の記憶部60には、第1フレーム画像402と第2フレーム画像403が一時的に保持される。これらは連続する2つのフレーム画像であり、図4の第1テクスチャデータ62、第2テクスチャデータ63に相当する。
フレーム差分演算部410は、図4の演算部58に相当し、第1フレーム画像402と第2フレーム画像403の差分を求める。MPEG−4では、動き補償と呼ばれる技術が用いられる。動き補償では、連続する画像フレーム間でマクロブロック単位でデータがどの方向へどれだけ動いたかを示す動きベクトルを求め、動きベクトルの情報を用いて、フレーム間圧縮符号化を行う。マクロブロックは8×8ピクセルのブロック4個から構成され、全体サイズは16×16ピクセルである。
動き補償のために、フレーム差分演算部410は、2×2SAD演算を利用する。フレーム差分演算部410は、第1フレーム画像402内のあるマクロブロック(以下、対象マクロブロックという)に対して、対象マクロブロックの位置の近傍で第2フレーム画像404内の対応するマクロブロック(以下、予測マクロブロックという)の候補をいくつか選択する。
フレーム差分演算部410は、対象マクロブロックと予測マクロブロックの候補との間で、2×2SAD演算を適用して、2つのマクロブロック間の絶対差分和を求める。フレーム差分演算部410は、すべての予測マクロブロックの候補について、対象マクロブロックとの絶対差分和を求め、絶対差分和の値が最も小さい予測マクロブロックの候補を最終的な予測マクロブロックとして特定する。これにより、第1フレーム画像402対象マクロブロックに対して誤差の最も小さい予測マクロブロックが得られ、対象マクロブロックから予測マクロブロックへの動きを示す動きベクトルが定まる。
このように、フレーム差分演算部410は、第1フレーム画像402の各対象マクロブロックに対して、第2フレーム画像404の予測マクロブロックを特定し、マクロブロック単位で動きベクトルを求める。
フレーム差分演算部410は、動き補償の基準となるフレーム画像とともに、各マクロブロックの動きベクトルの情報と画像の差分データをシェーダユニット30のフレーム符号化処理部420に与える。
シェーダユニット30のフレーム符号化処理部420は、動き補償の基準となるフレーム画像、動きベクトルの情報、および差分データを用いて、フレーム間圧縮符号化を行い、符号化画像データを生成し、メモリ40に記憶する。
テクスチャユニット50は、第1フレーム画像402と第2フレーム画像403の間の差分演算が終わると、次のフレーム画像のペアについて、同様にフレーム間差分を計算し、動きベクトルを求め、シェーダユニット30に与える。シェーダユニット30は、引き続きフレーム間圧縮符号化により符号化画像データを生成する。
本実施の形態の画像符号化装置400によれば、テクスチャユニット50は、内挿演算器を利用して、比較的単純なフレーム間差分演算を行い、動き補償におけるマクロブロックの動きベクトルを算出し、その結果をシェーダユニット30に与える。シェーダユニット30は、動きベクトルの情報にもとづいて、離散コサイン変換、離散ウェーブレット変換などの空間周波数領域への変換、量子化、および可変長符号化などを含む一連の動画フレームの符号化処理を行う。テクスチャユニット50には単純な差分演算、シェーダユニット30にはより複雑な符号化演算をさせ、符号化処理を分散させることにより、シェーダユニット30が単独で符号化処理に係るすべての演算を行う場合に比べて、処理の効率が向上する。
また、テクスチャユニット50は、テクスチャ演算能力が高いため、フレーム画像を縮小して解像度を落とすことなく、高い解像度レベルのまま差分演算を行うことができる。テクスチャユニット50は、画像のフレーム間差分を非常に高い精度で行い、シェーダユニット30には演算結果だけを与え、シェーダユニット30は、テクスチャユニット50の演算結果を受けて、より複雑な画像処理を行うといった役割分担をもたせ、画像処理の精度と処理効率の両面を向上させることができる。
上記の説明では、画像符号化装置400は、フレーム間符号化を行ったが、同様の方法でフレーム内符号化を行ってもよい。この場合、テクスチャユニット50のフレーム差分演算部410は、フレーム画像内の異なるブロック間の差分を求め、その結果をシェーダユニット30に与える。シェーダユニット30のフレーム符号化処理部420は、フレーム画像内の異なるブロック間の差分結果にもとづいて、フレーム内圧縮符号化を行う。
上記の説明では、画像符号化装置400は、カメラなどで撮影した動画を圧縮符号化したが、シェーダユニット30が生成した3次元コンピュータグラフィックスの動画を圧縮符号化してもよい。シェーダユニット30が生成した3次元コンピュータグラフィックスの動画は、メモリ40に記憶され、テクスチャユニット50がメモリ40に格納された動画のフレーム間差分演算を行い、シェーダユニット30がフレーム間符号化処理を行うことにより、3次元コンピュータグラフィックスの動画のMPEG符号化が行われる。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
上記の説明では、テクスチャユニット50は、2つのテクスチャデータ間の演算処理を行ったが、3つ以上のテクスチャデータ間で演算処理を行ってもよい。また、たとえば4つのテクスチャデータに関するパラメータなどの設定情報をすべてコンフィグレーションレジスタ群52に設定しておき、4つのテクスチャデータの内、まず2つのテクスチャデータについて、コンフィグレーションレジスタ群52の設定情報を参照して、差分演算処理などを行い、その後、コンフィグレーションレジスタ群52に設定された他の2つのテクスチャデータに関する設定情報を参照して、他の2つのテクスチャデータの差分演算処理を引き続き行ってもよい。これにより、コンフィグレーションレジスタ群52の設定情報の切り替えを行わずに、連続して4つのテクスチャデータの演算処理を行うことができる。
上記の説明では、テクスチャユニット50の内挿演算器の構成を流用した各種演算機能の画像処理への適用例として、動画の圧縮符号化を説明したが、これ以外にもさまざまな適用例がありうる。たとえば、テクスチャユニット50は、2枚の静止画をテクスチャデータとして読み込み、各種演算機能を利用して、2枚の静止画のパターンマッチングを行うこともできる。また、テクスチャユニット50は、各種演算機能を利用して、1枚の画像からエッジを抽出する処理を行うこともできる。
さらに、テクスチャユニット50が扱うテクスチャデータは、必ずしも画像データである必要はなく、たとえば画像の奥行き情報を示すZ値など画像に関する任意の情報であってもよく、画像に関する情報に対して内挿演算器を流用して各種演算を施すことができる。
実施の形態に係る画像生成装置の構成図である。 図1の描画ブロックの構成図である。 図2の描画演算ユニットの詳細な構成を説明する図である。 図3のテクスチャユニットの構成図である。 図4の演算部の構成図である。 図5の演算部が参照する第1テクスチャデータと第2テクスチャデータを説明する図である。 図5の内挿演算器の構成図である。 絶対差分和を計算するための図4の演算部の構成を説明する図である。 図8の全体差分器の構成図である。 テクスチャユニットによる絶対差分和演算の結果がシェーダユニットに与えられる様子を説明する図である。 絶対差分を計算するための図4の演算部の構成を説明する図である。 テクスチャユニットによる絶対差分演算の結果がシェーダユニットに与えられる様子を説明する図である。 テクスチャの4テクセルの最小値を求めるための図4の演算部の構成を説明する図である。 図13の最小値算出器の構成図である。 テクスチャユニットによる最小値算出演算の結果がシェーダユニットに与えられる様子を説明する図である。 テクスチャの2テクセルの最小値を求めるための図4の演算部の構成を説明する図である。 テクスチャユニットによる最小値算出演算の結果がシェーダユニットに与えられる様子を説明する図である。 実施の形態に係る画像符号化装置の構成図である。
符号の説明
10 ラスタライザ、 12 分配部、 20 描画演算ユニット、 30 シェーダユニット、 32 シェーダクラスタ、 36 メモリアクセス部、 40 メモリ、 50 テクスチャユニット、 52 コンフィグレーションレジスタ群、 58 演算部、 60 記憶部、 62 第1テクスチャデータ、 63 第2テクスチャデータ、 70 内挿演算器、 81 差分器、 82 乗算器、 83 加算器、 84 係数保持部、 85 正負符号保持部、 90 絶対差分器、 100 描画ブロック、 110 制御ブロック、 120 入出力ブロック、 130 記憶装置、 140 表示装置、 150 バス、 200 画像生成装置、 300 最小値算出器、 400 画像符号化装置、 402 第1フレーム画像、 403 第2フレーム画像、 410 フレーム差分演算部、 420 フレーム符号化処理部。

Claims (12)

  1. 第1および第2のテクスチャのデータを保持する記憶部と、
    前記第1のテクスチャの第1領域と前記第2のテクスチャの第2領域を定め、前記第1領域内にある前記第1のテクスチャのテクセルの値前記第2領域内にある前記第2のテクスチャのテクセルの値の絶対差分を求める演算を行う演算部とを含み、
    前記演算部は、前記テクスチャのテクセル値の線形補間を行う内挿演算器を含み、
    前記内挿演算器は、
    第1入力値を第2入力値から減算して得られる差分値を出力する差分器と、
    前記差分値に補間係数を乗算して得られる乗算結果を出力する乗算器と、
    前記乗算結果に第1入力値を加算して得られる、第1入力値と第2入力値の前記補間係数による線形補間値を出力する加算器とを含み、
    当該内挿演算器の構成を流用して前記絶対差分を求める演算を行うために、前記乗算器は、前記差分器から出力された前記差分値が正であれば1を、負であれば−1を当該差分値に乗算し、その乗算結果を、加算器を経ることなく、そのまま当該内挿演算器の出力値として出力することを特徴とするテクスチャ処理装置。
  2. 前記第1のテクスチャを参照するためのベースアドレスを少なくとも含む設定情報と前記第2のテクスチャを参照するためのベースアドレスを少なくとも含む設定情報を同時に保持するレジスタをさらに含み、
    前記演算部は、前記レジスタに保持された前記第1および第2のテクスチャの設定情報にもとづいて、前記第1および第2のテクスチャのデータを読み出し、前記所定の演算処理を行うことを特徴とする請求項1に記載のテクスチャ処理装置。
  3. 第1および第2のテクスチャのデータを保持する記憶部と、
    前記第1のテクスチャの第1領域と前記第2のテクスチャの第2領域を定め、前記第1領域内にある前記第1のテクスチャのテクセルの値と前記第2領域内にある前記第2のテクスチャのテクセルの値の絶対差分を求める演算を行う演算部とを含み、
    前記演算部は、
    前記テクスチャのテクセル値の線形補間を行う前段の2つの内挿演算器と、
    前記前段の2つの内挿演算器からの出力値の線形補間を行う後段の内挿演算器とを含み、
    前記前段の内挿演算器は、
    第1入力値を第2入力値から減算して得られる差分値を出力する差分器と、
    前記差分値に補間係数を乗算して得られる乗算結果を出力する乗算器と、
    前記乗算結果に第1入力値を加算して得られる、第1入力値と第2入力値の前記補間係数による線形補間値を出力する加算器とを含み、
    当該前段の内挿演算器の構成を流用して前記絶対差分を求める演算を行うために、前記乗算器は、前記差分器から出力された前記差分値が正であれば1を、負であれば−1を当該差分値に乗算し、その乗算結果を、加算器を経ることなく、そのまま当該前段の内挿演算器の出力値として出力し、
    前記後段の内挿演算器前記前段の2つの内挿演算器による出力値の線形補間を求める際の補間係数を0.5に設定することにより、前記前段の2つの内挿演算器から出力された前記絶対差分の和を求める演算を行うことを特徴とするテクスチャ処理装置。
  4. 第1および第2のテクスチャのデータを保持する記憶部と、
    前記記憶部に保持された前記第1のテクスチャと前記第2のテクスチャを切り替えて参照して、前記第1のテクスチャの第1領域内にあるテクセルの値の最小値または最大値を求める演算と前記第2のテクスチャの第2領域内にあるテクセルの値の最小値または最大値を求める演算とを交互に行う演算部とを含み、
    前記演算部は、前記テクスチャのテクセル値の線形補間を行う内挿演算器を含み、
    前記内挿演算器は、
    第1入力値を第2入力値から減算して得られる差分値を出力する差分器と、
    前記差分値に補間係数を乗算して得られる乗算結果を出力する乗算器と、
    前記乗算結果に第1入力値を加算して得られる、第1入力値と第2入力値の前記補間係数による線形補間値を出力する加算器とを含み、
    当該内挿演算器の構成を流用して前記最小値または最大値を求める演算を行うために、最小値を求める場合は、前記差分器から出力された前記差分値が正であれば前記補間係数を0に、負であれば前記補間係数を1に設定し、最大値を求める場合は、前記差分器から出力された前記差分値が正であれば前記補間係数を1に、負であれば前記補間係数を0に設定することを特徴とするテクスチャ処理装置。
  5. 前記第1のテクスチャを参照するためのベースアドレスを少なくとも含む設定情報と前記第2のテクスチャを参照するためのベースアドレスを少なくとも含む設定情報を同時に保持するレジスタをさらに含み、
    前記演算部は、前記レジスタに保持された前記第1および第2のテクスチャの設定情報にもとづいて、前記第1および第2のテクスチャのデータを読み出し、前記所定の演算処理を行うことを特徴とする請求項に記載の画像処理装置。
  6. 第1および第2のテクスチャのデータを保持する記憶部と、
    前記記憶部に保持された前記第1のテクスチャと前記第2のテクスチャを切り替えて参照して、前記第1のテクスチャの第1領域内にあるテクセルの値の最小値または最大値を求める演算と前記第2のテクスチャの第2領域内にあるテクセルの値の最小値または最大値を求める演算とを交互に行う演算部とを含み、
    前記演算部は、
    前記テクスチャのテクセル値の線形補間を行う前段の2つの内挿演算器と、
    前記前段の2つの内挿演算器からの出力値の線形補間を行う後段の内挿演算器とを含み、
    前記前段の2つの内挿演算器の内、一方には前記第1のテクスチャの第1領域内にあるテクセルの値が入力され、他方には前記第2のテクスチャの第2領域内にあるテクセルの値が入力され、
    前記前段の内挿演算器は、
    第1入力値を第2入力値から減算して得られる差分値を出力する差分器と、
    前記差分値に補間係数を乗算して得られる乗算結果を出力する乗算器と、
    前記乗算結果に第1入力値を加算して得られる、第1入力値と第2入力値の前記補間係数による線形補間値を出力する加算器とを含み、
    当該前段の内挿演算器の構成を流用して前記最小値または最大値を求める演算を行うために、最小値を求める場合は、前記差分器から出力された前記差分値が正であれば前記補間係数を0に、負であれば前記補間係数を1に設定し、最大値を求める場合は、前記差分器から出力された前記差分値が正であれば前記補間係数を1に、負であれば前記補間係数を0に設定し、
    前記後段の内挿演算器、前記前段の2つの内挿演算器による出力値の線形補間を求める際の補間係数を0または1のいずれかに設定することにより、前記前段の2つの内挿演算器の出力値のいずれか一方を出力することを特徴とするテクスチャ処理装置。
  7. テクスチャデータに対して演算処理を行うテクスチャユニットと、
    前記テクスチャユニットとバス結合し、前記テクスチャユニットにより演算処理されたテクスチャデータをもとに描画データを生成するシェーディングユニットとを含み、
    前記テクスチャユニットは、前記テクスチャのテクセル値の線形補間を行う内挿演算器を含む演算部を有し、
    前記内挿演算器は、
    第1入力値を第2入力値から減算して得られる差分値を出力する差分器と、
    前記差分値に補間係数を乗算して得られる乗算結果を出力する乗算器と、
    前記乗算結果に第1入力値を加算して得られる、第1入力値と第2入力値の前記補間係数による線形補間値を出力する加算器とを含み、
    当該内挿演算器の構成を流用して絶対差分を求める演算を行うために、前記乗算器は、前記差分器から出力された前記差分値が正であれば1を、負であれば−1を当該差分値に乗算し、その乗算結果を、加算器を経ることなく、そのまま当該内挿演算器の出力値として出力するよう構成され、
    前記テクスチャユニットは、動画のフレーム画像を前記テクスチャデータとして読み取り、前記絶対差分を求める演算を行うように構成された前記内挿演算器を用いて、前記フレーム画像に関する差分演算を行い、差分演算結果を前記シェーディングユニットに出力し、
    前記シェーディングユニットは、前記テクスチャユニットから受け取る前記フレーム画像に関する前記差分演算結果を利用して前記動画を圧縮符号化することを特徴とする画像処理装置。
  8. 前記テクスチャユニットは、2枚のフレーム画像をテクスチャデータとして読み取り、前記2枚のフレーム画像間の差分演算を行い、差分演算結果を前記シェーディングユニットに出力し、
    前記シェーディングユニットは、前記テクスチャユニットから受け取る前記2枚のフレーム画像間の前記差分演算結果を利用して前記動画を圧縮符号化することを特徴とする請求項7に記載の画像処理装置。
  9. テクスチャのテクセル値の線形補間を行う内挿演算器を含む演算部によるテクスチャ処理方法であって、
    前記演算部が、第1および第2のテクスチャのデータをメモリから読み出すステップと
    前記演算部が、前記第1のテクスチャの第1領域と前記第2のテクスチャの第2領域を定め、前記第1領域内にある前記第1のテクスチャのテクセルの値と前記第2領域内にある前記第2のテクスチャのテクセルの値の絶対差分を求める演算を行うステップとを含み、
    前記内挿演算器は、
    第1入力値を第2入力値から減算して得られる差分値を出力する差分器と、
    前記差分値に補間係数を乗算して得られる乗算結果を出力する乗算器と、
    前記乗算結果に第1入力値を加算して得られる、第1入力値と第2入力値の前記補間係数による線形補間値を出力する加算器とを含み、
    当該内挿演算器の構成を流用して前記絶対差分を求める演算を行うために、前記乗算器は、前記差分器から出力された前記差分値が正であれば1を、負であれば−1を当該差分値に乗算し、その乗算結果を、加算器を経ることなく、そのまま当該内挿演算器の出力値として出力することを特徴とするテクスチャ処理方法。
  10. テクスチャのテクセル値の線形補間を行う内挿演算器を含む演算部によるテクスチャ処理方法であって、
    前記演算部が、メモリに保持された第1のテクスチャと第2のテクスチャを切り替えて参照するステップと
    前記演算部が、前記第1のテクスチャの第1領域内にあるテクセルの最小値または最大値を求める演算と、前記第2のテクスチャの第2領域内にあるテクセルの最小値または最大値を求める演算とを交互に行うステップとを含み、
    前記演算部は、前記テクスチャのテクセル値の線形補間を行う内挿演算器を含み、
    前記内挿演算器は、
    第1入力値を第2入力値から減算して得られる差分値を出力する差分器と、
    前記差分値に補間係数を乗算して得られる乗算結果を出力する乗算器と、
    前記乗算結果に第1入力値を加算して得られる、第1入力値と第2入力値の前記補間係数による線形補間値を出力する加算器とを含み、
    当該内挿演算器の構成を流用して前記最小値または最大値を求める演算を行うために、最小値を求める場合は、前記差分器から出力された前記差分値が正であれば前記補間係数を0に、負であれば前記補間係数を1に設定し、最大値を求める場合は、前記差分器から出力された前記差分値が正であれば前記補間係数を1に、負であれば前記補間係数を0に設定することを特徴とするテクスチャ処理方法。
  11. テクスチャデータに対して演算処理を行うテクスチャユニットと、
    前記テクスチャユニットとバス結合し、前記テクスチャユニットにより演算処理されたテクスチャデータをもとに描画データを生成するシェーディングユニットとを含み、
    前記テクスチャユニットは、
    第1および第2のテクスチャのデータを保持する記憶部と、
    前記第1のテクスチャの第1領域と前記第2のテクスチャの第2領域を定め、前記第1領域内にある前記第1のテクスチャのテクセルの値と前記第2領域内にある前記第2のテクスチャのテクセルの値の絶対差分を求める演算を行い、その演算結果を前記バス経由で前記シェーディングユニットに出力する演算部とを含み、
    前記演算部は、前記テクスチャのテクセル値の線形補間を行う内挿演算器を含み、
    前記内挿演算器は、
    第1入力値を第2入力値から減算して得られる差分値を出力する差分器と、
    前記差分値に補間係数を乗算して得られる乗算結果を出力する乗算器と、
    前記乗算結果に第1入力値を加算して得られる、第1入力値と第2入力値の前記補間係数による線形補間値を出力する加算器とを含み、
    当該内挿演算器の構成を流用して前記絶対差分を求める演算を行うために、前記乗算器は、前記差分器から出力された前記差分値が正であれば1を、負であれば−1を当該差分値に乗算し、その乗算結果を、加算器を経ることなく、そのまま当該内挿演算器の出力値として出力し、
    前記シェーディングユニットは、前記テクスチャユニットから受け取る前記絶対差分を求める演算の演算結果を利用して描画処理を行うことを特徴とする画像処理装置。
  12. テクスチャデータに対して演算処理を行うテクスチャユニットと、
    前記テクスチャユニットとバス結合し、前記テクスチャユニットにより演算処理されたテクスチャデータをもとに描画データを生成するシェーディングユニットとを含み、
    前記テクスチャユニットは、
    第1および第2のテクスチャのデータを保持する記憶部と、
    前記記憶部に保持された前記第1のテクスチャと前記第2のテクスチャを切り替えて参照して、前記第1のテクスチャの第1領域内にあるテクセルの値の最小値または最大値を求める演算と前記第2のテクスチャの第2領域内にあるテクセルの値の最小値または最大値を求める演算とを交互に行い、その演算結果を前記バス経由で前記シェーディングユニットに出力する演算部とを含み、
    前記演算部は、前記テクスチャのテクセル値の線形補間を行う内挿演算器を含み、
    前記内挿演算器は、
    第1入力値を第2入力値から減算して得られる差分値を出力する差分器と、
    前記差分値に補間係数を乗算して得られる乗算結果を出力する乗算器と、
    前記乗算結果に第1入力値を加算して得られる、第1入力値と第2入力値の前記補間係数による線形補間値を出力する加算器とを含み、
    当該内挿演算器の構成を流用して前記最小値または最大値を求める演算を行うために、最小値を求める場合は、前記差分器から出力された前記差分値が正であれば前記補間係数を0に、負であれば前記補間係数を1に設定し、最大値を求める場合は、前記差分器から出力された前記差分値が正であれば前記補間係数を1に、負であれば前記補間係数を0に設定し、
    前記シェーディングユニットは、前記テクスチャユニットから受け取る前記最小値または最大値を求める演算の演算結果を利用して描画処理を行うことを特徴とする画像処理装置。
JP2004127705A 2004-04-23 2004-04-23 テクスチャ処理装置、テクスチャ処理方法および画像処理装置 Expired - Lifetime JP4044069B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004127705A JP4044069B2 (ja) 2004-04-23 2004-04-23 テクスチャ処理装置、テクスチャ処理方法および画像処理装置
PCT/JP2005/000801 WO2005101986A2 (en) 2004-04-23 2005-01-17 Image processing apparatus and image processing method
EP20050704022 EP1751718A2 (en) 2004-04-23 2005-01-17 Motion compensated image processing
US11/071,538 US7528842B2 (en) 2004-04-23 2005-03-03 Image processing apparatus and image processing method
TW94112158A TWI299838B (en) 2004-04-23 2005-04-15 Image processing apparatus and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004127705A JP4044069B2 (ja) 2004-04-23 2004-04-23 テクスチャ処理装置、テクスチャ処理方法および画像処理装置

Publications (2)

Publication Number Publication Date
JP2005309900A JP2005309900A (ja) 2005-11-04
JP4044069B2 true JP4044069B2 (ja) 2008-02-06

Family

ID=35438587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004127705A Expired - Lifetime JP4044069B2 (ja) 2004-04-23 2004-04-23 テクスチャ処理装置、テクスチャ処理方法および画像処理装置

Country Status (5)

Country Link
US (1) US7528842B2 (ja)
EP (1) EP1751718A2 (ja)
JP (1) JP4044069B2 (ja)
TW (1) TWI299838B (ja)
WO (1) WO2005101986A2 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4843377B2 (ja) * 2006-05-18 2011-12-21 株式会社東芝 画像処理装置及び画像処理方法
GB2445008B (en) * 2006-12-20 2008-12-31 Sony Comp Entertainment Europe Image compression and/or decompression
US9471996B2 (en) 2008-02-29 2016-10-18 Autodesk, Inc. Method for creating graphical materials for universal rendering framework
US8212806B2 (en) * 2008-04-08 2012-07-03 Autodesk, Inc. File format extensibility for universal rendering framework
US8667404B2 (en) * 2008-08-06 2014-03-04 Autodesk, Inc. Predictive material editor
US8599202B1 (en) * 2008-09-29 2013-12-03 Nvidia Corporation Computing tessellation coordinates using dedicated hardware
US8601398B2 (en) * 2008-10-13 2013-12-03 Autodesk, Inc. Data-driven interface for managing materials
US8560957B2 (en) * 2008-10-13 2013-10-15 Autodesk, Inc. Data-driven interface for managing materials
US9342901B2 (en) * 2008-10-27 2016-05-17 Autodesk, Inc. Material data processing pipeline
US8584084B2 (en) * 2008-11-12 2013-11-12 Autodesk, Inc. System for library content creation
JP5515301B2 (ja) * 2009-01-21 2014-06-11 株式会社ニコン 画像処理装置、プログラム、画像処理方法、記録方法および記録媒体
JP4947389B2 (ja) * 2009-04-03 2012-06-06 ソニー株式会社 画像信号復号装置、画像信号復号方法、および画像信号符号化方法
JP2011022728A (ja) * 2009-07-14 2011-02-03 Sony Corp 画像処理装置および画像処理方法
US8570336B2 (en) * 2009-12-08 2013-10-29 Intel Corporation Texture unit for general purpose computing
JP5367552B2 (ja) * 2009-12-15 2013-12-11 株式会社東芝 画像処理装置および画像処理プログラム
US9378560B2 (en) 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
JP5155462B2 (ja) * 2011-08-17 2013-03-06 株式会社スクウェア・エニックス・ホールディングス 動画配信サーバ、動画再生装置、制御方法、プログラム、及び記録媒体
TWI606719B (zh) * 2012-05-31 2017-11-21 Jvc Kenwood Corp Video encoding device, video encoding method, and video encoding program
US9659341B2 (en) * 2014-06-25 2017-05-23 Qualcomm Incorporated Texture pipe as an image processing engine
KR102477264B1 (ko) * 2015-09-22 2022-12-13 삼성전자주식회사 텍스쳐를 처리하는 방법 및 장치
CN109272538B (zh) * 2017-07-17 2023-04-07 腾讯科技(深圳)有限公司 图片的传输方法和装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774125A (en) * 1993-11-18 1998-06-30 Sony Corporation Texture mapping method in which 3-D image data is transformed into 2-D data and mapped onto a surface of an object for display
JP2637931B2 (ja) 1994-12-01 1997-08-06 インターナショナル・ビジネス・マシーンズ・コーポレイション テクスチャ・マッピングを行うコンピュータ・システム
US5745118A (en) 1995-06-06 1998-04-28 Hewlett-Packard Company 3D bypass for download of textures
US6052127A (en) 1996-12-30 2000-04-18 Cirrus Logic, Inc. Circuit for determining non-homogenous second order perspective texture mapping coordinates using linear interpolation
US6043821A (en) 1997-06-30 2000-03-28 Ati Technologies, Inc. Method and apparatus for rendering pixel information from blended texture maps
US6333743B1 (en) * 1997-10-23 2001-12-25 Silicon Graphics, Inc. Method and apparatus for providing image and graphics processing using a graphics rendering engine
US6208350B1 (en) * 1997-11-04 2001-03-27 Philips Electronics North America Corporation Methods and apparatus for processing DVD video
JP4042188B2 (ja) 1997-11-21 2008-02-06 株式会社セガ 画像処理装置
US6191793B1 (en) 1998-04-01 2001-02-20 Real 3D, Inc. Method and apparatus for texture level of detail dithering
TW419637B (en) 1999-03-26 2001-01-21 Ind Tech Res Inst Apparatus and method for texture mapping
US6473529B1 (en) * 1999-11-03 2002-10-29 Neomagic Corp. Sum-of-absolute-difference calculator for motion estimation using inversion and carry compensation with full and half-adders
US6456291B1 (en) 1999-12-09 2002-09-24 Ati International Srl Method and apparatus for multi-pass texture mapping
US7158141B2 (en) * 2002-01-17 2007-01-02 University Of Washington Programmable 3D graphics pipeline for multimedia applications

Also Published As

Publication number Publication date
US7528842B2 (en) 2009-05-05
US20050237335A1 (en) 2005-10-27
TW200604964A (en) 2006-02-01
EP1751718A2 (en) 2007-02-14
TWI299838B (en) 2008-08-11
WO2005101986A2 (en) 2005-11-03
WO2005101986A3 (en) 2007-11-08
JP2005309900A (ja) 2005-11-04

Similar Documents

Publication Publication Date Title
JP4044069B2 (ja) テクスチャ処理装置、テクスチャ処理方法および画像処理装置
US6518974B2 (en) Pixel engine
US6046773A (en) Apparatus and method for decoding video images
JP5722761B2 (ja) 動画圧縮装置、画像処理装置、動画圧縮方法、画像処理方法、および動画圧縮ファイルのデータ構造
US7692662B2 (en) Graphic processing apparatus and method
US20060197760A1 (en) Drawing processing apparatus, texture processing apparatus, and tessellation method
US20070291857A1 (en) Systems and Methods of Video Compression Deblocking
US20070018979A1 (en) Video decoding with 3d graphics shaders
JP5826730B2 (ja) 動画圧縮装置、画像処理装置、動画圧縮方法、画像処理方法、および動画圧縮ファイルのデータ構造
CN101123723A (zh) 基于图形处理器的数字视频解码方法
US20050243101A1 (en) Image generation apparatus and image generation method
JP4900051B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2006244426A (ja) テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法
CN117178297A (zh) 微网格,用于计算机图形的结构化几何体
US9153064B2 (en) Grouping pixels to be textured
WO2011126424A1 (en) Texture compression and decompression
CN116076073A (zh) 用于高性能视频编码的硬件编解码器加速器
KR101107114B1 (ko) 그래픽 객체들을 렌더링하는 방법
CN102572436A (zh) 一种基于cuda实现的帧内压缩方法
JP2009077183A (ja) データ圧縮装置、データ圧縮・伸張システム、およびデータ圧縮方法
JP2002369205A (ja) 動画像生成装置
Pieters et al. Performance evaluation of H. 264/AVC decoding and visualization using the GPU
Sun et al. CFU: Multi-purpose configurable filtering unit for mobile multimedia applications on graphics hardware
US20030142107A1 (en) Pixel engine
JPH09102047A (ja) 画像生成装置、動画伸長マッピング装置およびマルチメディア機器

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070521

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071114

R150 Certificate of patent or registration of utility model

Ref document number: 4044069

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101122

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111122

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121122

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131122

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250