JPWO2008146406A1 - ピクセルデータ変換のための画像処理装置及び方法 - Google Patents

ピクセルデータ変換のための画像処理装置及び方法 Download PDF

Info

Publication number
JPWO2008146406A1
JPWO2008146406A1 JP2009516142A JP2009516142A JPWO2008146406A1 JP WO2008146406 A1 JPWO2008146406 A1 JP WO2008146406A1 JP 2009516142 A JP2009516142 A JP 2009516142A JP 2009516142 A JP2009516142 A JP 2009516142A JP WO2008146406 A1 JPWO2008146406 A1 JP WO2008146406A1
Authority
JP
Japan
Prior art keywords
pixel data
component
texture
image processing
register
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.)
Granted
Application number
JP2009516142A
Other languages
English (en)
Other versions
JP4971442B2 (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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JPWO2008146406A1 publication Critical patent/JPWO2008146406A1/ja
Application granted granted Critical
Publication of JP4971442B2 publication Critical patent/JP4971442B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1431Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using a single graphics controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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
    • 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/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/391Resolution modifying circuits, e.g. variable screen formats
    • 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/0428Gradation resolution change
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/02Graphics controller able to handle multiple formats, e.g. input or output formats
    • 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/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • G09G5/366Graphics controllers with conversion of CRT control signals to flat panel control signals, e.g. adapting the palette memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Color Television Systems (AREA)

Abstract

本発明による画像処理装置は、スケーリング部、係数テクスチャ演算部、及びピクセルデータ変換部を有する。スケーリング部には第1のアレイが渡される。第1のアレイでは複数のピクセルデータがマトリックス状に配置されている。スケーリング部は、第1のアレイに含まれているピクセルデータを所定回数ずつ第1のアレイの水平方向にコピーして第2のアレイを構成する。係数テクスチャ演算部は、第2のアレイに含まれている所定数のピクセルデータごとに、所定の係数テクスチャを用いた演算を繰り返し行う。ピクセルデータ変換部は、係数テクスチャを用いた演算で得られた所定数のピクセルデータの成分をピクセルデータごとに所定のパターンで変換する。ピクセルデータ変換部は特に、それら所定数のピクセルデータの成分のうち、特定の位置にある成分をピクセルデータごとに足し合わせて一つの成分に変換する。

Description

本発明は画像処理装置に関し、特にそれを用いたピクセルデータの変換処理に関する。
映画やテレビゲームで利用されるアニメーションに象徴されるように、近年のコンピュータグラフィックス(CG)の発達は著しい。その著しい発達は、グラフィックス処理専用のプロセッサ(GPU:Graphic Processor Unit)の進化に依るところが大きい。GPUは、グラフィック表示に必要な演算処理に特化したチップである。GPUは一般に、CPUより画像処理の能力が優れている。CPUで行われていた演算処理をGPUに肩代わりさせることにより、画像処理を速められるだけでなく、CPUの負荷を低減できる。更に、画像処理以外の処理に割り当てられるメインメモリのバンド幅を拡大できる。その上、CPUとビデオメモリ(VRAM)との間でのデータ転送の頻度を抑えられる。それらの結果、グラフィックス処理が高速化し、かつ高機能化している。
GPUの行う演算処理は主に、2次元CG処理、3次元CG処理、及び動画処理の三つに分けられる。近年のGPUは特に、3次元CG処理について急速に進化している。GPUの3次元CG処理にはジオメトリ処理とレンダリング処理とがある。ジオメトリ処理では、幾何学的演算、特に座標変換により、3次元仮想空間の中に想定された各モデルを2次元画面に投影したときの配置が決定される。レンダリング処理では、ジオメトリ処理で決定された2次元画面上での各モデルの配置に基づき、2次元画面に実際に表示されるべき画像を示すデータが生成される。レンダリング処理は特に、隠面消去、シェーディング、テクチャマッピング等の画像処理を含む。
ジオメトリ処理では、頂点シェーダと呼ばれる専用のパイプラインが利用される。レンダリング処理では、ピクセルシェーダと呼ばれる専用のパイプラインが利用される。近年のGPUでは、頂点シェーダとピクセルシェーダとがいずれもプログラム可能になっている。特にピクセルシェーダでは各画像処理がピクセル単位でプログラム可能である。更に進んだGPUでは、各シェーダで利用可能な命令の数が大幅に拡張され、各シェーダが3次元CG処理の更なる高機能化だけでなく、2次元CG処理や動画処理も可能にしつつある。画像処理についてはGPUの演算能力はCPUの演算能力よりはるかに高いので、シェーダの利用範囲の拡大は画像処理全体の更なる高速化/高機能化に有利である。
特開平9−185361号公報
ピクセルデータのフォーマットは多様である。例えば、パーソナルコンピュータ(PC)用モニタでは一般に、ピクセルデータの各成分が三原色信号R、G、Bで表現される。一方、テレビジョン(TV)受像器では一般に、ピクセルデータの各成分が、輝度信号Y、青の色差信号Cb、及び赤の色差信号Crで表現される。更に、色空間が同じでも、各成分のサンプリング周波数が異なる場合もある。例えば、YCbCr4:4:4では、各成分Y、Cb、Crがいずれも1ピクセルごとにサンプリングされる。一方、YCbCr4:2:2では、輝度信号Yは1ピクセルごとに一つずつサンプリングされ、色差信号Cb、Crはそれぞれ、2ピクセルごとに一つずつサンプリングされる。
ピクセルデータがいずれのフォーマットで表現されていても、実際の画面表示ではピクセルデータの各成分が最終的にはピクセルごとに設定されねばならない。例えば、YCbCr4:2:2のピクセルデータは、画面表示の段階では、アップサンプリングによってYCbCr4:4:4のピクセルデータに変換されねばならない。
しかし、従来のピクセルデータのフォーマット変換方法では、特に各成分が同じメモリ領域にインターリーブ配列で格納され、かつ、フォーマット変換が各成分のサンプリング周波数の変換を伴う場合、一般的には、演算処理をピクセルデータごとに切り換えねばならない。例えばYCbCr4:2:2からYCbCr4:4:4へのアップサンプリングでは、YCbCr4:2:2の一つのピクセルデータを、YCbCr4:4:4の偶数番目のピクセルデータに変換する場合と奇数番目のピクセルデータに変換する場合とで処理が異なる。従って、従来の変換方法では、ピクセルデータの順番の偶奇を特定する操作、及び、「その偶奇に応じて処理を切り換える」という条件分岐が必要である。それらは、ピクセルシェーダでは実現できず、又は、実現可能ではあってもフォーマット変換の高速化を著しく阻む。それ故、従来の画像処理装置では、ピクセルデータのフォーマット変換にCPUを使わざるを得ない。その結果、画像処理に対するCPUの負荷の更なる軽減、画像処理以外の処理に対するメインメモリのバンド幅の更なる拡大、及びCPUとVRAMとの間でのデータ転送の頻度の更なる低減がいずれも困難である。すなわち、従来の画像処理装置では画像処理の更なる高速化が困難である。
本発明は、ピクセルデータのフォーマット変換を条件分岐なしで実行可能にすることによって画像処理を更に高速化できる画像処理装置、の提供を目的とする。
本発明による画像処理装置は、スケーリング部、係数テクスチャ演算部、及びピクセルデータ変換部を有する。スケーリング部は、第1のアレイを単位として所定の操作により第2のアレイを構成する。第1のアレイでは複数のピクセルデータがマトリックス状に配置されている。例えばスケーリング部は、第1のアレイに含まれているピクセルデータを所定回数ずつ第1のアレイの水平方向にコピーして第2のアレイを構成する。係数テクスチャ演算部は、第2のアレイに含まれる所定数のピクセルデータごとに、所定の係数テクスチャを用いた演算を繰り返し行う。ピクセルデータ変換部は、係数テクスチャを用いた演算で得られた所定数のピクセルデータの成分をピクセルデータごとに変換する。例えばピクセルデータ変換部は、それら所定数のピクセルデータの成分のうち、特定の位置にある成分をピクセルデータごとに演算して一つの成分に変換する。
こうして、第1のアレイに含まれている各ピクセルデータが別のピクセルデータに変換される。好ましくは、ピクセルデータのフォーマットが変換される。特に、ピクセルデータ変換部によって得られるピクセルデータの各成分のサンプリング周波数が、第1のアレイに含まれているピクセルデータの各成分のサンプリング周波数とは異なる値に変換される。ここで、ピクセルデータ変換部の演算処理はピクセルデータごとに共通であり、特に条件分岐を含まない。
この画像処理装置がグラフィックス処理用のプロセッサ(GPU)を有しても良い。その場合、ピクセルデータ変換部が好ましくは、ピクセルデータの各成分の変換にGPUの成分並べ替え機能を利用する。ここで、ピクセルデータ変換部の演算処理はピクセルデータごとに共通であり、特に条件分岐を含まない。従って好ましくは、ピクセルデータ変換部がGPUのピクセルシェーダをピクセルデータの各成分の変換に利用する。
本発明による画像処理装置は上記のとおり、ピクセルデータのフォーマット変換を条件分岐なしで実行可能である。従って、本発明による画像処理装置は従来の装置より、画像処理全体の高速化が容易である。
本発明の実施形態による画像処理システムのブロック図。 本発明の実施形態によるアップサンプリングを用いたピクセルデータのフォーマット変換のフローチャート。 図2に示されている、4:2:2から4:4:4:4へのフォーマット変換の詳細を示すフローチャート。 図2に示されている第1ソースアレイと第2ソーステクスチャとの一例を示す模式図。(a)はソースアレイを示す。(b)はソーステクスチャを示す。 図3に示されているフォーマット変換の第4ステップで扱われるピクセルデータを示す模式図。(a)はソーステクスチャのピクセルデータを示す。(b)は係数テクスチャのピクセルデータを示す。(c)は、ソーステクスチャと係数テクスチャとの各先頭のピクセルデータを用いた演算の過程でレジスタに格納されるピクセルデータを示す。(d)は、ソーステクスチャと係数テクスチャとの各二番目のピクセルデータを用いた演算の過程でレジスタに格納されるピクセルデータを示す。(e)は出力先のテクスチャのピクセルデータを示す。 本発明の実施形態によるダウンサンプリングを用いたピクセルデータのフォーマット変換のフローチャート。 図6に示されている、2つのアレイからピクセルデータを抽出する操作の詳細を示すフローチャート。 図6に示されている、ソーステクスチャ、第1のアレイ、及び第2のアレイの一例を示す模式図。(a)はソーステクスチャを示す。(b)は第1のテクスチャを示す。(c)は第2のテクスチャを示す。 図7に示されているピクセルデータの抽出操作を示す模式図。 様々な種類のGPUで、本発明の実施形態によるフォーマット変換を行った場合と、従来のフォーマット変換を行った場合との間で、ピクセルシェーダのサイクル数を比較したグラフ。 様々な種類のGPUで、本発明の実施形態によるフォーマット変換を行った場合と、従来のフォーマット変換を行った場合との間で、使用されるレジスタの数を比較したグラフ。 様々な種類のGPUで、本発明の実施形態によるフォーマット変換を行った場合と、従来のフォーマット変換を行った場合との間で、1秒間に処理されたピクセルの数を比較したグラフ。
以下、本発明に係る一つの実施形態について説明する。
図1に、本発明の実施形態による画像処理システムのブロック図を示す。その画像処理システム10は好ましくはグラフィックスボードであり、マザーボード20と共にコンピュータに搭載されている。ここで、画像処理システム10がマザーボード20に統合されていても良い。その他に、画像処理システム10が単一のチップに組み込まれていても良い。画像処理システム10はマザーボード20からのデータに基づき、アナログモニタ30、デジタルモニタ40、及びTV受像器50に映像を表示する。
画像処理システム10は好ましくは、画像処理装置11、メモリ制御部12、ビデオメモリ(VRAM)13、入出力インタフェース(I/O)14、表示データ生成部18、アナログRGBコネクタ15、DVIコネクタ16、及びS端子17を含む。
画像処理装置11は好ましくはプロセッサチップであり、特にその命令セットのアーキテクチャがSIMDである。ここで、画像処理装置11は、単一のSIMDプロセッサであっても、複数のSISDプロセッサの組み合わせであっても良い。更に好ましくは、画像処理装置11はグラフィックス処理専用のプロセッサ(GPU)である。以下、画像処理装置11がGPUである場合について説明する。GPU11は、CPU21に代わり、グラフィック表示に必要な演算を行う。GPU11は従来のGPUの構成を含む。ここで、従来のGPUは例えば、NVIDIA社製のGeForce、AMD社製のRADEON、又はIntel社製のG965を含む。
GPU11は好ましくは、2次元(2D)エンジン、3次元(3D)エンジン、及びビデオプロセッシングエンジン(VPE)を含む。2Dエンジンは2次元CG処理を行う。3Dエンジンは3次元CG処理を行う。VPEは動画処理(特にMPEG方式による圧縮データの復号処理)を行う。
3Dエンジンは好ましくは、ジオメトリエンジンとレンダリングエンジンとを含む。ジオメトリエンジンは、頂点シェーダと呼ばれる専用のパイプラインを含む。ジオメトリエンジンは頂点シェーダを利用して幾何学的演算、特に座標変換を行い、3次元仮想空間の中に想定された各モデルを2次元画面に投影する。レンダリングエンジンは、ピクセルシェーダと呼ばれる専用のパイプラインを含む。レンダリングエンジンはピクセルシェーダを利用し、ジオメトリエンジンによって2次元画面に投影された各モデルについて2次元画面へのレンダリングを行う。
頂点シェーダとピクセルシェーダとは好ましくは、プログラム可能なパイプラインである。その場合、各シェーダは3Dエンジンだけでなく、他のエンジンにも利用可能である。各シェーダのプログラミングには好ましくはDirect3DがグラフィックAPIとして利用される。その他に、OpenGLが利用されても良い。
各シェーダは好ましくは浮動小数点(FP)演算機能を持つ。特にピクセルシェーダでは、入力データが16ビット又は32ビットのFP表示で表現されても良い。その場合、ピクセルシェーダは、各ピクセルの色情報の処理では整数値演算より大きなダイナミックレンジを確保でき、ピクセル座標の処理では画面表示の実際の最小単位より細かい精度を確保できる。
メモリ制御部12はVRAM13の制御を行う。メモリ制御部12は特に、VRAM13に対するデータの読み出しと書き込み、及びVRAM13のリフレッシュを行う。メモリ制御部12は内部バスを通して画像処理システムの他の構成要素に接続され、それらの構成要素とVRAM13との間でのデータ交換を行う。
VRAM13は好ましくはシンクロナスDRAM(SDRAM)である。更に好ましくは、DDR SDRAM、又はGDDR SDRAMである。VRAM13にはフレームバッファや各種のテクスチャが格納される。VRAM13は更に、GPU11の演算バッファとしても利用される。ここで、フレームバッファは、各モニタ30、40、50の画面に含まれるピクセルに対応づけられた2次元アレイである。フレームバッファの各項目が一つのピクセルの色情報を示す。テクスチャは、GPU11で実際に処理されるピクセルデータの2次元アレイである。
I/O14は外部バス60に対するインタフェースであり、外部バス60を通して画像処理システム10とマザーボード20との間でピクセルデータを交換する。I/O14と外部バス60とは好ましくはPCI Express規格に準拠している。その他に、PCI規格、又はAGP規格に準拠していても良い。
表示データ生成部18は、VRAM13に格納されているピクセルデータを表示画面に合わせて選択し、選択されたピクセルデータを各種の映像出力インタフェース15、16、17に表示データとして送る。具体的には、表示データ生成部18はまず、VRAM13内の特定のアドレス範囲を表示画面に対応させる。表示データ生成部18は次に、そのアドレス範囲に読み出しアドレスを生成するごとにその読み出しアドレスからピクセルデータを読み出し、一連の表示データとして出力する。
アナログRGBコネクタ15はアナログモニタ30に対する映像出力インタフェースである。ここで、アナログモニタ30は好ましくはLCDである。アナログモニタ30はその他にCRTであっても良い。アナログRGBコネクタ15は好ましくは内部バスを通して表示データ生成部18に接続され、表示データ生成部18から出力される表示データをアナログRGB信号に変換してアナログモニタ30に出力する。ここで、表示データ生成部18は、VRAM13に格納されたフレームバッファのピクセルデータを表示データとして選択して出力する。それにより、フレームバッファのピクセルデータに対応する映像がアナログモニタ30の画面に再現される。
DVIコネクタ16はデジタルモニタ40)に対する映像出力インタフェースである。ここで、デジタルモニタ40は好ましくはLCDである。デジタルモニタ40はその他にデジタルプロジェクタであっても良い。DVIコネクタ15は好ましくは内部バスを通して表示データ生成部18に接続され、表示データ生成部18から出力される表示データをDVI信号に変換してデジタルモニタ40に出力する。ここで、表示データ生成部18は、VRAM13に格納されたフレームバッファのピクセルデータを表示データとして選択して出力する。それにより、フレームバッファのピクセルデータに対応する映像がデジタルモニタ40の画面に再現される。
S端子17は好ましくはTV受像器50に対する映像出力端子である。S端子17はその他に、ビデオテープレコーダ(VTR)に対する映像出力端子であっても良い。S端子17は好ましくは内部バスを通して表示データ生成部18に接続され、表示データ生成部18から出力される表示データを、NTSC、PAL、又はHDTVのTV信号に変換してTV受像器50に出力する。ここで、TV信号は、S信号、コンポジット信号、又はコンポーネント信号のいずれでも良い。表示データ生成部18は、VRAM13に格納されたフレームバッファのピクセルデータを表示データとして選択して出力する。それにより、フレームバッファのピクセルデータに対応する映像がTV受像器5040の画面に再現される。
尚、画像処理システム10には、その他の種類のコネクタ、例えばHDMIコネクタやD端子等が設けられていても良い。
マザーボード20では様々な映像データが、好ましくはメインメモリ23内のバッファに蓄えられる。ここで、それらの映像データは、同じコンピュータ内のHDDやDVDドライブによって記録媒体から再生された映像データ、外部のLANやインターネットを通して配信された映像データ、同じコンピュータ内のTVキャプチャーボードによって変換されたTV番組の映像データ、並びに、同じコンピュータの内部で生成されたテロップや天気予報等の文字データ、及びグラフや3DCG等の映像データを含む。それらの映像データを単独で、若しくは組み合わせて各モニタ30、40、50に表示する場合、又はGPU11で処理する場合、それらの映像データがフレーム単位でVRAM13内のフレームバッファに書き込まれる。その他に、それらの映像データがVRAM13内の所定の領域に書き込まれ、GPU11によってテクスチャ化されても良い。GPU11はVRAM13内のテクスチャを用いてフレームバッファの各ピクセルデータに所定の画像処理を加え、その結果をフレームバッファに書き戻す。GPU11は更に、フレームバッファのピクセルデータを各モニタ30、40、50に表示させる。
マザーボード20のバッファに蓄えられている映像データは一般に、所定の符号化方式、好ましくはMPEG2方式に従って圧縮されたデータを復号して得られたものである。好ましくは、ピクセルデータがYCbCr4:2:2で表現されている。一方、画像処理システム10では一般に、ピクセルデータがRGB4:4:4、又はARGB4:4:4:4で表現されている。ここで、Aは透明度を表す。従って、CPU21とGPU11との間でピクセルデータを交換するには適切なフォーマット変換が必要である。特に上記の実施形態ではピクセルデータの各成分のサンプリング周波数を4:2:2と4:4:4との間で変換しなければならない。
画像処理システム10は以下に述べるように、GPU11による演算処理のみを用いてピクセルデータのフォーマット変換を行う。
YCbCr4:2:2からYCbCr4:4:4へのアップサンプリングでは好ましくは、GPU11の内部構成が主に、スケーリング部11A、係数テクスチャ演算部11B、及びピクセルデータ変換部11Cの三つの機能部として利用される。
スケーリング部11Aは、所定のテクスチャの各列を所定回数ずつ水平方向にコピーして別のテクスチャに変換する。スケーリング部11Aは好ましくはピクセルシェーダのテクスチャサンプリング部で構成される。ここで、コピーの回数はスケーリングパラメータの設定によってプログラム可能である。
係数テクスチャ演算部11Bは、所定のテクスチャに含まれている所定数のピクセルデータごとに、所定の係数テクスチャを用いた演算を繰り返し行う。係数テクスチャ演算部11Bは好ましくはピクセルシェーダで構成される。ここで、係数テクスチャ及びそれを用いた演算の種類はプログラム可能である。
ピクセルデータ変換部11Cは、係数テクスチャを用いた演算で得られた所定数のピクセルデータの成分をピクセルデータごとに、所定のパターンに従った演算で変換する。ピクセルデータ変換部11Cは特に、それら所定数のピクセルデータの成分のうち、特定の位置にある成分をピクセルデータごとに足し合わせて一つの成分に変換する。ピクセルデータ変換部11Cは好ましくはピクセルシェーダで構成される。ここで、変換のパターンはプログラム可能である。
YCbCr4:2:2からYCbCr4:4:4へのアップサンプリングは好ましくは、以下のステップで行われる。図2にそのアップサンプリングのフローチャートを示す。
第1ステップS1:処理対象であるYCbCr4:2:2のピクセルデータを4:4:4:4ピクセルバッファに格納してソースアレイを構成する。ここで、4:4:4:4ピクセルバッファは、メインメモリ23の中に用意された2次元アレイの格納領域である。本来はARGB4:4:4:4の各ピクセルデータの4つの成分が一つの単位として4:4:4:4ピクセルバッファに格納される。ソースアレイはインターリーブ配列であり、ピクセルデータの4つの異なる成分が一つの単位として4:4:4:4ピクセルバッファに格納されている。各ピクセルデータでの4つの成分の順序は任意に設定可能である。図4(a)に、各ピクセルデータの4つの成分をYUY2フォーマットで並べた例を示す。図4(a)では、YCbCr4:2:2の各ピクセルデータの4つの成分Y(2i,j)、Cb(i,j)、Y(2i+1,j)、Cr(i,j)(i,j=0、1、2、3、…)が一つの単位として4:4:4:4ピクセルバッファに格納されている。その他に、4つの成分がUYVYフォーマットで並べられていても良い。更に、各成分のビット長はYUY2/UYVYフォーマットでの8ビットであっても、16ビットやその他の値であっても良い。
第2ステップS2:メインメモリ23から外部バス60を通してVRAM13へソースアレイを転送する。その転送は好ましくは、マザーボード20のメモリ制御部22とI/O24、及び画像処理システム10のメモリ制御部12とI/O14の間でのダイレクトメモリアクセス(DMA)によって行われる。ここで、ソースアレイはYCbCr4:2:2のピクセルデータから構成されている。従って、ピクセルデータのフォーマット変換をCPU21によって行ってからそのピクセルデータをVRAM13へ転送する場合より、転送されるべきデータ量が少ない。それ故、特にマザーボード20内のI/O24と画像処理システム10内のI/O14との間では、外部バス60を通したピクセルデータの転送レートが低く抑えられる。
第3ステップS3:ソースアレイを水平方向に200%拡大してソーステクスチャを構成する。具体的には、図4(b)の破線部に示されているように、ソースアレイの各列V1、V2、…、を1回ずつ水平方向にコピーする。それにより、ソーステクスチャでは列数がソースアレイより2倍に増えている。
第4ステップS4:以下のサブステップS41〜S48の順でGPU11を利用し、ソーステクスチャの各ピクセルデータのフォーマットを4:2:2から4:4:4に変換する。図3に、第4ステップS4のフローチャートを示す。
第1サブステップS41:ソーステクスチャからピクセルシェーダの第1のレジスタSに一組のピクセルデータをロードする。例えば図5(a)に示されているように、ソーステクスチャの先頭には二組のピクセルデータVS1、VS2が順に含まれている。ここで、第3ステップS3により、二組のピクセルデータVS1、VS2の内容は実際には共通である。まず、先頭のピクセルデータVS1が、図5(c)に示されているように、第1のレジスタSにロードされる。尚、図5(a)、(c)に示されている成分の順序は一例に過ぎない。ピクセルシェーダの成分入れ換え機能を利用すれば、ソーステクスチャから第1のレジスタSにピクセルデータVS1をロードするときに、そのピクセルデータVS1に含まれている4つの成分の順序を所望の順序に変更できる。
第2サブステップS42:係数テクスチャからピクセルシェーダの第2のレジスタCに一組のピクセルデータをロードする。ここで、係数テクスチャは所定数のピクセルデータVC1、VC2から成り、VRAM13に予め格納されている。図5(b)に係数テクスチャの一例を示す。図5(b)の例では係数テクスチャが2組のピクセルデータVC1、VC2から成る。各ピクセルデータVC1、VC2の成分は好ましくは、0.0と1.0とのいずれかの値を示す。それらの値の配置は、ピクセルデータのフォーマット変換に伴う各成分のサンプリング周波数の変化で決まる。4:2:2から4:4:4への変換では、図5(b)に示されているように、ソーステクスチャ内の輝度信号Y00、Y10の位置に対応する位置では、0.0と1.0との二値がピクセルデータごとに交互に設定されている。すなわち、各位置では値1.0が、輝度信号Yのサンプリング周波数の1/2倍の周波数、すなわち、2組のピクセルデータ当たりに1個ずつの割合で現れる。一方、ソーステクスチャ内の色差信号Cb00、Cr00の位置に対応する位置には値1.0が設定されている。すなわち、各位置では値1.0が各色差信号Cb、Crのサンプリング周波数、すなわち、1ピクセルデータ当たりに1個ずつの割合で現れる。第2サブステップS42では、まず、係数テクスチャの先頭のピクセルデータVC1が第2のレジスタCにロードされる。
第3サブステップS43:第1のレジスタSのi番目の成分Siと第2のレジスタCのi番目の成分Ciとの積を計算し、得られた結果をピクセルシェーダの第3のレジスタRに順番に格納する。ここで、パラメータiは0、1、2、3である。各レジスタS、Cからのi番目の成分Si、Ciの選択的な読み出しには、ピクセルシェーダの成分入れ換え機能が利用可能である。例えば図5(c)では、第2のレジスタCの第3段にのみ0.0が格納され、他の段には1.0が格納されている。従って、第1のレジスタSと第2のレジスタCとの間での各成分の積により、第3のレジスタRに格納されたピクセルデータは第1のレジスタSに格納されたものと、3番目の成分R2が0.0である点でのみ異なる。
第4サブステップS44:第3のレジスタRの1番目の成分R0と3番目の成分R2との和を計算し、得られた結果を第4のレジスタDに格納する。ここで、第3のレジスタRからの1、3番目の成分R0、R2の選択的な読み出しにはピクセルシェーダの成分入れ換え機能が利用可能である。例えば図5(c)では、第3のレジスタRの第1段には輝度信号Y00が格納され、第3段には0.0が格納されている。従って、それらの和Y00+0.0=Y00、すなわち、輝度信号Y00が第4のレジスタDの第1段D0に格納される。
尚、第1のレジスタSの1、3番目の成分S0、S2の対と、第2のレジスタCの1、3番目の成分C0、C2の対とをそれぞれベクトルデータとみなせば、第3サブステップS43での積と第4サブステップS44での和との組み合わせは、それら2つのベクトルデータ間の内積と等価である:S0×C0+S2×C2=Y00×1.0+Y10×0.0=Y00。従って、各レジスタS、Cの1、3番目の成分については、第3サブステップS43での積と第4サブステップS44での和とを一連の内積演算として最適化しても良い。
第5サブステップS45:第3のレジスタRの2番目の成分R1を第4のレジスタDに格納する。ここで、第3のレジスタRからの2番目の成分R1の選択的な読み出しにはピクセルシェーダの成分入れ換え機能が利用可能である。例えば図5(c)に示されている第3のレジスタRでは2番目の成分R1として格納された青の色差信号Cb00が、第4のレジスタDでは2番目の成分D1として格納される。
第6サブステップS46:第3のレジスタRの4番目の成分R3を第4のレジスタDに格納する。ここで、第3のレジスタRからの4番目の成分R3の選択的な読み出しにはピクセルシェーダの成分入れ換え機能が利用可能である。例えば図5(c)に示されている第3のレジスタRでは4番目の成分R3として格納された赤の色差信号Cr00が、第4のレジスタDでは3番目の成分D2として格納される。
第7サブステップS47:第4のレジスタDの4番目の成分D3に所定値を格納する。ここで、その所定値の格納にはピクセルシェーダの成分入れ換え機能が利用可能である。例えば図5(c)では、0.0が第4のレジスタDの第4段D3に格納される。その他に、所定の透明度が第4のレジスタDの第4段D3に格納されても良い。
第8サブステップS48:第4のレジスタDから出力先のテクスチャに一組のピクセルデータをストアする。それにより、図5(e)に示されているように、出力先のテクスチャでは先頭のピクセルデータVS1がYCbCr4:4:4のフォーマットに変換されている。尚、変換後のピクセルデータVS1の4番目の成分は、図5(c)に示されているように、0.0である。その他に、所定の透明度であっても良い。
第1サブステップS41:次に、図5(a)に示されている2番目のピクセルデータVS2を、図5(d)に示されているように、第1のレジスタSにロードする。
第2サブステップS42:係数テクスチャの2番目のピクセルデータVC2を、図5(d)に示されているように、第2のレジスタCにロードする。
第3サブステップS43:第1のレジスタSのi番目の成分Siと第2のレジスタCのi番目の成分Ciとの積を計算する(i=0、1、2、3)。更に、得られた結果を第3のレジスタRに格納する。例えば図5(d)では、第2のレジスタCの第1段にのみ0.0が格納され、他の段には1.0が格納されている。従って、第1のレジスタSと第2のレジスタCとの間での各成分の積により、第3のレジスタRに格納されたピクセルデータは第1のレジスタSに格納されたものと、1番目の成分R0が0.0である点でのみ異なる。
第4サブステップS44:第3のレジスタRの1番目の成分R0と3番目の成分R2との和を計算し、得られた結果を第4のレジスタDに格納する。例えば図5(d)では、第3のレジスタRの第1段には0.0が格納され、第3段には輝度信号Y10が格納されている。従って、それらの和0.0+Y10=Y10、すなわち、輝度信号Y10が第4のレジスタDの第1段D0に格納される。
尚、第1のレジスタSの1、3番目の成分S0、S2の対と、第2のレジスタCの1、3番目の成分C0、C2の対とをそれぞれベクトルデータとみなせば、第3サブステップS43での積と第4サブステップS44での和との組み合わせは、それら2つのベクトルデータ間の内積と等価である:S0×C0+S2×C2=Y00×0.0+Y10×1.0=Y10。従って、各レジスタS、Cの1、3番目の成分については、第3サブステップS43での積と第4サブステップS44での和とを一連の内積演算として最適化しても良い。
第5サブステップS45:第3のレジスタRの2番目の成分R1を第4のレジスタDに格納する。例えば図5(d)に示されている第3のレジスタRでは2番目の成分R1として格納された青の色差信号Cb00が、第4のレジスタDの2番目の成分D1として格納される。
第6サブステップS46:第3のレジスタRの4番目の成分R3を第4のレジスタDに格納する。例えば図5(d)に示されている第3のレジスタRでは4番目の成分R3として格納された赤の色差信号Cr00が、第4のレジスタDでは3番目の成分D2として格納される。
第7サブステップS47:第4のレジスタDの4番目の成分D3に所定値を格納する。例えば図5(d)では、0.0が第4のレジスタDの第4段D3に格納される。その他に、所定の透明度が第4のレジスタDの第4段D3に格納されても良い。
第8サブステップS48:第4のレジスタDから出力先のテクスチャに一組のピクセルデータをストアする。それにより、図5(e)に示されているように、出力先のテクスチャでは、2番目のピクセルデータVS2がYCbCr4:4:4のフォーマットに変換されている。
以上のサブステップS41〜S48が、ソーステクスチャに含まれている全てのピクセルデータについて繰り返される。ここで、第2サブステップS42での係数テクスチャの読み出しには好ましくは、ピクセルシェーダのテクスチャラッピング機能が利用され、特にそのラップテクスチャアドレシングモードが利用される。すなわち、係数テクスチャに含まれている最後のピクセルデータ、図5(b)の例では2番目のピクセルデータVC2が読み出された後の第2サブステップS42では、同じ係数テクチャの先頭のピクセルデータ、図5(b)の例では先頭のピクセルデータVC1が読み出される。
こうして、画像処理システム10は、ソーステクスチャに含まれているピクセルデータのフォーマットを4:2:2から4:4:4に変換する。その変換処理では各サブステップS41〜S48の操作が、ソーステクスチャの内部での各ピクセルデータの位置には依らず、全てのピクセルデータで共通である。特に、条件分岐が一切含まれていない。従って、ピクセルデータのフォーマット変換が、CPU21を用いることなく、GPU11のピクセルシェーダの機能だけで実現可能である。
逆に、YCbCr4:4:4からYCbCr4:2:2へのダウンサンプリングは次のように行う。図6にそのダウンサンプリングのフローチャートを示す。
ここで、処理対象であるYCbCr4:4:4のピクセルデータのアレイはVRAM13にテクスチャとして格納されている。以下、そのテクスチャをソーステクスチャという。図8(a)にそのソーステクスチャの一例を示す。図8に示されているように、ソーステクスチャでは各ピクセルデータが4つの成分Yij、Cbij、Crij、0.0(i,j=0、1、2、3、…)を一つの単位としてマトリックス状に配置されている。尚、4番目の成分は以下の説明の都合上、0.0としている。しかし、以下の操作は4番目の成分の値には依らない。更に、各ピクセルデータ内での成分の順序は、図8に示されている順序に限らず、任意で良い。
第5ステップS5:まず、ソーステクスチャの全体を処理対象の矩形領域に設定する。以下、その矩形領域をソース矩形という。次に、そのソース矩形を水平方向に50%縮小し、図8(b)に示されているような第1のテクスチャT1を構成する。具体的には、まず、図8(a)、(b)に示されているように、ソース矩形の先頭アドレスA0から1組のピクセルデータをVRAM13に、第1のテクスチャT1の先頭のピクセルデータとしてコピーする。次に、先頭アドレスA0から2組のピクセルデータの量、すなわち2ピクセルだけ後方のアドレスA2を読み出し開始アドレスに設定する。更に、その読み出し開始アドレスから一組のピクセルデータを、第1のテクスチャT1の2番目のピクセルデータとしてコピーする。以下、読み出し開始アドレスを2ピクセルずつ水平方向にずらすごとに、一組のピクセルデータをその読み出し開始アドレスから読み出して第1のテクスチャT1に加える。こうして、第1のテクスチャT1は、ソーステクスチャに含まれているピクセルデータのうち、先頭から数えて奇数番目のピクセルデータによって構成される。特に、第1のテクスチャT1は列数がソーステクスチャの半分である。
第6ステップS6:まず、ソーステクスチャの上でソース矩形を水平方向に1組のピクセルデータの量、すなわち1ピクセルだけずらす。次に、そのソース矩形を水平方向に50%縮小し、図8(c)に示されているような第2のテクスチャT2を構成する。具体的には、まず、図8(a)、(c)に示されているように、ソース矩形の先頭アドレスA1から1組のピクセルデータをVRAM13に、第2のアレイT2の先頭のピクセルデータとしてコピーする。次に、先頭アドレスA1から2ピクセルだけ後方のアドレスA3を読み出し開始アドレスに設定し、そこから一組のピクセルデータを、第2のテクスチャT2の2番目のピクセルデータとしてコピーする。以下、読み出し開始アドレスを2ピクセルずつ水平方向にずらすごとに、一組のピクセルデータをその読み出し開始アドレスから読み出して第2のテクスチャT2に加える。こうして、第2のテクスチャT2は、ソーステクスチャに含まれているピクセルデータのうち、先頭から数えて偶数番目のピクセルデータによって構成される。特に、第2のテクスチャT2は列数がソーステクスチャの半分である。
第7ステップS7:以下のサブステップS71〜S76の順でGPU11のピクセルシェーダを利用し、第1のテクスチャT1と第2のテクスチャT2とから目的のテクスチャを構成する。その目的のテクスチャではピクセルデータのフォーマットが4:2:2に変換されている。図7に、第7ステップS7のフローチャートを示す。
第1サブステップS71:図9に示されているように、第1のテクスチャT1からピクセルシェーダの第1のレジスタS1に一組のピクセルデータの4つの成分Y0、Cb0、Cr0、0.0をロードする。一方、第2のテクスチャT2からピクセルシェーダの第2のレジスタS2に一組のピクセルデータY1、Cb1、Cr1、0.0をロードする。
第2サブステップS72:第1のレジスタS1の先頭の成分Y0をピクセルシェーダの第3のレジスタRに格納する。すなわち、第3のレジスタRの先頭段には輝度信号Y0が格納される。ここで、第1のレジスタS1からの成分Y0の選択的な読み出しにはピクセルシェーダの成分入れ換え機能が利用可能である。
第3サブステップS73:第1のレジスタS1の2番目の成分Cb0と第2のレジスタS2の2番目の成分Cb1とのそれぞれに定数0.5を乗算し、それらの積を足し合わせて2つの成分Cb0、Cb1の平均を計算する。更に、得られた結果を第3のレジスタRに格納する。ここで、その演算にはピクセルシェーダの機能が利用可能である。更に、各レジスタS1、S2からの2番目の成分Cb0、Cb1の選択的な読み出しにはピクセルシェーダの成分入れ換え機能が利用可能である。従って、第3のレジスタRの第2段には青の色差信号の平均値Cb=(Cb0+Cb1)×0.5が格納される。
第4サブステップS74:第2のレジスタS2の先頭の成分Y1を第3のレジスタRに格納する。すなわち、第3のレジスタRの第3段には輝度信号Y1が格納される。ここで、第2のレジスタS2からの成分Y1の選択的な読み出しにはピクセルシェーダの成分入れ換え機能が利用可能である。
第5サブステップS75:第1のレジスタS1の4番目の成分Cr0と第2のレジスタS2の4番目の成分Cr1とのそれぞれに定数0.5を乗算し、それらの積を足し合わせて2つの成分Cr0、Cr1の平均を計算する。更に、得られた結果を第3のレジスタRに格納する。ここで、その演算にはピクセルシェーダの機能が利用可能である。更に、各レジスタS1、S2からの4番目の成分Cr0、Cr1の選択的な読み出しにはピクセルシェーダの成分入れ換え機能が利用可能である。従って、第3のレジスタRの第4段には赤の色差信号の平均値Cr=(Cr0+Cr1)×0.5が格納される。
第6サブステップS76:第3のレジスタRからVRAM13に一組のピクセルデータをストアする。それにより、図9に示されているYCbCr4:4:4のフォーマットのピクセルデータから目的のテクスチャが構成される。
以上のサブステップS71〜S76が、第1のテクスチャT1と第2のテクスチャT2とに含まれている全てのピクセルデータについて繰り返される。
こうして、画像処理システム10は、4:4:4:4のピクセルデータから成るソーステクスチャを、4:2:2のピクセルデータから成る目的のテクスチャに変換する。その変換処理では各サブステップS71〜S76の操作が、ソーステクスチャの内部での各ピクセルデータの位置には依らず、全てのピクセルデータで共通である。特に、条件分岐が一切含まれていない。従って、ピクセルデータのフォーマット変換が、CPU21を用いることなく、GPU11のピクセルシェーダの機能だけで実現可能である。
画像処理システム10は上記のとおり、ピクセルデータのフォーマット変換、特にアップサンプリングとダウンサンプリングとの両方を、条件分岐なしで実行可能である。更に、GPU11のピクセルシェーダをピクセルデータのフォーマット変換に利用可能である。従って、画像処理システム10は従来のシステムとは異なり、CPU21を用いずに、かつCPU21より高速に、ピクセルデータのフォーマットを変換できる。それにより、画像処理に対するCPU21の負荷が更に軽減される。しかも、画像処理以外の処理に対するメインメモリ23のバンド幅が更に拡大される。その上、マザーボード20と画像処理システム10との間でのデータ転送の頻度、特に外部バス60の使用頻度が更に低減する。それらの結果、画像処理システム10は従来のシステムより、画像処理全体の高速化が容易である。
図10〜図12に、様々な種類のGPUについて、上記のピクセルデータのフォーマット変換処理を従来の変換処理と比較した結果を示す。尚、図10〜図12に示されている結果は、ShaderPerfユーティリティを用いて解析されたものである。そのユーティリティはNVIDIA社のホームページ(http://developer.nvidia.com/object/nvshaderperf_home.html)に公開されている。従って、解析の対象とされたGPUは全て、NVIDIA社製である。
図10〜図12では、各GPUが画像処理システム10にGPU11として利用された場合の結果が棒グラフP0で示されている。一方、条件分岐を利用した従来のフォーマット変換処理を各GPUで行った場合の結果が棒グラフP1、P2で示されている。尚、棒グラフP1は、各GPUのピクセルシェーダがモデル2.0である場合の結果を示し、棒グラフP2は、各GPUのピクセルシェーダがモデル3.0である場合の結果を示す。更に、「FP16」はフォーマット変換処理を16ビットのFP表示で行った場合を示し、「FP32」はフォーマット変換処理を32ビットのFP表示で行った場合を示す。
図10には、フォーマット変換処理で設定されたピクセルシェーダのサイクル数が示されている。図10に示されているとおり、いずれのGPUにおいても、画像処理システム10によるフォーマット変換処理では従来のフォーマット変換処理より、ピクセルシェーダのサイクル数が顕著に少ない。
図11には、フォーマット変換処理で使用されるレジスタの数が示されている。ここで、そのレジスタは、NVIDIA社製GPUに内蔵のレジスタである。図11に示されているとおり、画像処理システム10によるフォーマット変換処理で使用されるレジスタの数は、従来の変換処理で使用されるレジスタの数以下である。この差は直接的には、「画像処理システム10によるフォーマット変換処理が従来の変換処理に対して高性能であること」を示すものではない。しかし、一般的には、ある処理で使用されるレジスタが少ないほど、その処理がGPUの担う他の処理に小さい影響しか与えない。従って、図11に示されている結果からは、次のことが分かる。画像処理システム10によるフォーマット変換処理がGPUの担う他の処理に与える影響は、従来のフォーマット変換処理の与える影響以下に抑えられている。
図12には、1秒間に処理されたピクセルの数が示されている。図12に示されているとおり、いずれのGPUにおいても、画像処理システム10によるフォーマット変換処理は従来の変換処理より顕著に多数のピクセルを処理できる。
このように、画像処理システム10によるピクセルデータのフォーマット変換処理の高速化は、実際に確認できる。

Claims (6)

  1. 複数のピクセルデータをマトリックス状に配置した第1のアレイを単位として所定の操作により第2のアレイを構成するスケーリング部(11A)と、
    前記第2のアレイに含まれる所定数のピクセルデータごとに、所定の係数テクスチャを用いた演算を繰り返し行う係数テクスチャ演算部(11B)と、
    前記係数テクスチャを用いた演算で得られた前記所定数のピクセルデータの成分をピクセルデータごとに変換するピクセルデータ変換部(11C)と、
    を有する画像処理装置。
  2. 前記画像処理装置がグラフィックス処理用のプロセッサ(11)を有し、
    前記ピクセルデータ変換部(11C)がピクセルデータの成分の変換に前記プロセッサ(11)の成分並べ替え機能を利用する、
    請求項1に記載の画像処理装置。
  3. 前記ピクセルデータ変換部(11C)によって得られるピクセルデータの各成分のサンプリング周波数が、前記第1のアレイに含まれるピクセルデータの各成分のサンプリング周波数とは異なる値に変換される、請求項1に記載の画像処理装置。
  4. 複数のピクセルデータをマトリックス状に配置した第1のアレイ、に含まれるピクセルデータを単位として所定の操作により第2のアレイを構成するステップ(S3)と、
    前記第2のアレイに含まれている所定数のピクセルデータごとに、所定の係数テクスチャを用いた演算を繰り返し行うステップ(S4)と、
    前記係数テクスチャを用いた演算で得られた前記所定数のピクセルデータの成分をピクセルデータごとに変換するステップ(S4)と、
    を有する画像処理方法。
  5. 前記所定数のピクセルデータの成分を変換するステップ(S4)では、グラフィックス処理用のプロセッサ(11)の成分並べ替え機能を利用する、請求項4に記載の画像処理方法。
  6. 前記所定数のピクセルデータの成分を変換するステップ(S4)によって得られるピクセルデータの各成分のサンプリング周波数が、前記第1のアレイに含まれるピクセルデータの各成分のサンプリング周波数とは異なる値に変換される、請求項4に記載の画像処理方法。
JP2009516142A 2007-06-01 2007-06-01 ピクセルデータ変換のための画像処理装置及び方法 Active JP4971442B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/061187 WO2008146406A1 (ja) 2007-06-01 2007-06-01 ピクセルデータ変換のための画像処理装置及び方法

Publications (2)

Publication Number Publication Date
JPWO2008146406A1 true JPWO2008146406A1 (ja) 2010-08-19
JP4971442B2 JP4971442B2 (ja) 2012-07-11

Family

ID=40074688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009516142A Active JP4971442B2 (ja) 2007-06-01 2007-06-01 ピクセルデータ変換のための画像処理装置及び方法

Country Status (6)

Country Link
US (1) US8368706B2 (ja)
EP (1) EP2161939A4 (ja)
JP (1) JP4971442B2 (ja)
KR (1) KR20100029223A (ja)
CN (1) CN101772962A (ja)
WO (1) WO2008146406A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8305947B2 (en) * 2010-02-12 2012-11-06 Intel Corporation Minimizing power consumption in a network device
WO2012011211A1 (ja) * 2010-07-22 2012-01-26 パナソニック株式会社 サムネイル画像生成装置、拡大画像生成装置、サムネイル画像生成方法、及び拡大画像生成方法
JP2012174145A (ja) * 2011-02-23 2012-09-10 Nintendo Co Ltd 情報処理プログラム、情報処理装置、情報処理方法及び情報処理システム
US10061581B2 (en) * 2014-01-31 2018-08-28 Qualcomm Incorporated On-the-fly conversion during load/store operations in a vector processor
US9659341B2 (en) * 2014-06-25 2017-05-23 Qualcomm Incorporated Texture pipe as an image processing engine
CA2955444C (en) * 2014-08-20 2019-05-28 Landmark Graphics Corporation Optimizing computer hardware resource utilization when processing variable precision data
US9721528B2 (en) * 2014-11-10 2017-08-01 Xilinx, Inc. Processing system display controller interface to programmable logic
US10455230B2 (en) * 2015-01-09 2019-10-22 Avago Technologies International Sales Pte. Limited Methods for improving low-cost video/image compression
US10127627B2 (en) * 2015-09-23 2018-11-13 Intel Corporation Mapping graphics resources to linear arrays using a paging system
US11276211B2 (en) 2018-12-20 2022-03-15 Advanced Micro Devices, Inc. Integration of variable rate shading and super-sample shading

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004135007A (ja) * 2002-10-09 2004-04-30 Sony Corp 画像データ処理装置およびその方法ならびにカメラ・システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850207A (en) 1995-11-22 1998-12-15 Cirrus Logic, Inc. Method and apparatus for minimizing effects of slope overload condition when using differential pulse code modulation scheme
GB2371459B (en) * 2001-01-19 2005-05-04 Pixelfusion Ltd Image scaling
JP2002237953A (ja) * 2001-02-07 2002-08-23 Sony Corp 画像データ処理装置およびその方法、ならびにカメラ・システム
US7173635B2 (en) * 2003-03-25 2007-02-06 Nvidia Corporation Remote graphical user interface support using a graphics processing unit
US8624909B2 (en) * 2005-11-21 2014-01-07 Vixs Systems Inc. Image processing system and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004135007A (ja) * 2002-10-09 2004-04-30 Sony Corp 画像データ処理装置およびその方法ならびにカメラ・システム

Also Published As

Publication number Publication date
JP4971442B2 (ja) 2012-07-11
EP2161939A1 (en) 2010-03-10
KR20100029223A (ko) 2010-03-16
WO2008146406A1 (ja) 2008-12-04
CN101772962A (zh) 2010-07-07
EP2161939A4 (en) 2015-01-07
US20100103180A1 (en) 2010-04-29
US8368706B2 (en) 2013-02-05

Similar Documents

Publication Publication Date Title
JP4971442B2 (ja) ピクセルデータ変換のための画像処理装置及び方法
JP5120987B2 (ja) 画像処理のための装置および方法、およびシステム
JP5460438B2 (ja) グラフィックス処理パイプライン内での画素値の生成および分解
US7492376B2 (en) Graphics resampling system and method for use thereof
JP2006014341A (ja) Mcuバッファを用いて画像データを格納するための方法及び装置
JPH10504113A (ja) ビデオウィンドウのための可変ピクセルデプスおよびフォーマット
KR20200052846A (ko) 데이터 처리 시스템
JP4263190B2 (ja) 映像合成回路
US9460489B2 (en) Image processing apparatus and image processing method for performing pixel alignment
JP4707782B2 (ja) 画像処理装置およびその方法
CN112650460A (zh) 媒体显示方法和媒体显示装置
JP2006330704A (ja) 最小大きさの出力メモリを備えたビデオスケーラ及び出力メモリの大きさ選択方法
CN107209926B (zh) 具有拜耳映射的图形处理单元
US20070041662A1 (en) Efficient scaling of image data
EP1141892B1 (en) Method and apparatus for stretch blitting using a 3d pipeline processor
EP2442271B1 (en) Image processing apparatus and method for operating image processing apparatus
JP2003224862A (ja) グラフィックコントローラ及び表示メモリ容量低減方式
JP3727711B2 (ja) 画像情報処理装置
JP5106483B2 (ja) ピクセルデータを垂直にスケーリングするための方法および装置
JP6048046B2 (ja) 画像合成装置及び画像合成方法
US7193656B2 (en) Line address computer for providing coefficients to a chroma filter
US6489967B1 (en) Image formation apparatus and image formation method
US7382924B2 (en) Pixel reordering and selection logic
WO2017203675A1 (ja) グラフィックス描画装置、グラフィックス描画方法、表示システム、及びグラフィックス描画プログラム
JP2007026473A (ja) 描画装置及び描画方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20111004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120208

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120405

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

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4971442

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371