JP2004096730A - ビデオ処理方法及びビデオ処理装置 - Google Patents
ビデオ処理方法及びビデオ処理装置 Download PDFInfo
- Publication number
- JP2004096730A JP2004096730A JP2003276292A JP2003276292A JP2004096730A JP 2004096730 A JP2004096730 A JP 2004096730A JP 2003276292 A JP2003276292 A JP 2003276292A JP 2003276292 A JP2003276292 A JP 2003276292A JP 2004096730 A JP2004096730 A JP 2004096730A
- Authority
- JP
- Japan
- Prior art keywords
- wipe
- source image
- display
- image
- source
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/272—Means for inserting a foreground image in a background image, i.e. inlay, outlay
- H04N5/275—Generation of keying signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/265—Mixing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Processing Or Creating Images (AREA)
- Studio Circuits (AREA)
Abstract
【課題】コンピュータソフトウェアとして家庭で使われる装置で実現できる特殊効果のためのビデオ処理方法を提供する。
【解決手段】ビデオ処理方法は、ワイプ始点軌跡及びワイプ終点軌跡からのワイプ進行方向に沿って正規化された表示距離に対して表示すべき第1及び第2のソース画像の割合を定義するワイプ制御信号を生成するステップと、各表示位置の透明度係数はその表示位置とワイプ始点軌跡との間及びその表示位置とワイプ終点軌跡との間のワイプ進行方向に沿って正規化された表示距離に対応するワイプ制御信号の値に依存して修正される場合に、表示メモリに保持された第1のソース画像の透明度係数を変更するステップと、第1のソース画像の各表示位置と関連付けられた透明度係数に依存して、第2のソース画像の画素により第1のソース画像が変更されるよう表示メモリ内の第1のソース画像を第2のソース画像で上書きするステップとを有する。
【選択図】図16
【解決手段】ビデオ処理方法は、ワイプ始点軌跡及びワイプ終点軌跡からのワイプ進行方向に沿って正規化された表示距離に対して表示すべき第1及び第2のソース画像の割合を定義するワイプ制御信号を生成するステップと、各表示位置の透明度係数はその表示位置とワイプ始点軌跡との間及びその表示位置とワイプ終点軌跡との間のワイプ進行方向に沿って正規化された表示距離に対応するワイプ制御信号の値に依存して修正される場合に、表示メモリに保持された第1のソース画像の透明度係数を変更するステップと、第1のソース画像の各表示位置と関連付けられた透明度係数に依存して、第2のソース画像の画素により第1のソース画像が変更されるよう表示メモリ内の第1のソース画像を第2のソース画像で上書きするステップとを有する。
【選択図】図16
Description
本発明はビデオ信号を生成するビデオ処理方法及びビデオ処理装置に関する。
「ビデオ効果」の用語は表示用ビデオ画像に応用できる様々な処理が含まれる。幾つかの例としては、いわゆる「ワープ」効果(例えば頁めくり、リップル効果)、イメージクロッピング、テクスチャリング、ピクチャインピクチャ、クロマキー処理及び光源レンダリング等が、より直接的なワイプのようなミキシング効果と共に存在する。現状の技術として、これらの効果がデジタル形式で頻繁に適用されており、これを行う装置は通常「デジタルビデオ効果(DVE)」装置あるいは「デジタル多重効果(DME)」装置と呼ばれる。
DVE装置はリアルタイム型及び非リアルタイム型の2分類で考慮することができる。リアルタイムDVEプロセッサは数千ポンド程度と高価になる傾向があり、業務用の市場をターゲットとしている。リアルタイム型DVEプロセッサの一例としては、ソニー株式会社が供給するDME7000がある。他方、家庭向け市場を狙う非リアルタイム型DVE装置としては、適切なソフトウェアを備えたパーソナルコンピュータ(PC)周辺装置用カードの形態を取ることができる。このようなシステムは数百ポンド程度の価格であり、一般的にユーザは編集及び効果処理のためにビデオ素材(例えばカムコーダ素材)をアップロードすることができる。効果処理及び再現処理(レンダリング)が続いて非リアルタイムで行われるが、効果処理の複雑さ及びホストPCの処理速度に依存して通常何時間もかかる。最後にその再現された素材がテープあるいはその他の媒体に記録できるよう出力される。このタイプのシステムの一例は、ピナクル(Pinnacle)社が提供する「StudioDVPlus」である。
ビデオゲームマシーンのような幾つかの装置は、ポリゴン(多角形)をベースとする再現法を用いてリアルタイムに表示用画像を生成する。生成あるいは再現される画像(イメージ)は、多数のモザイク状図形の基本要素であるポリゴンに分割される。それぞれのポリゴンは、例えば三角形集合の画素のような小さな画像領域である。例えば、ソニーコンピュータエンタテーメント社が供給するプレイステーション2は、数種の異なるタイプの図形要素を用いることができ、特に、点、線、帯線(終端を共有する連続線の集合)、三角形、三角帯(辺を共有する連続三角形の集合)、三角形翼(1つの頂点を共有する連続三角形の集合)及びスプライト(独立した長方形)を用いることができる。実際にプレイステーション2は、最大毎秒66百万個の多角形の幾何学計算と、最大毎秒16百万個の曲面生成処理を行うことができる。
ワイプのようなミキシング効果を実施するためには、それぞれの表示点で2つのソース画像のうちどちらを表示するかを制御するキーイング信号を生成する必要がある。通常、キーイング信号は「ソフトエッジ」を持つように構成されており、これによれば、2つのソース画像間、つまりワイプの境界である表示面において、2つのソース画像が混合されたものが表示される。これにより、ワイプの境界では一方のソース画像から他方のソース画像へとより緩やかに変化させることができる。このキーイング信号は、ユーザの制御等によるワイプ境界の変更に対応して変化させる必要がある。
ワイプ効果を実施する上での重要な機能はキーイング信号の生成である。水平あるいは垂直ワイプの境界の場合においては、これは相対的に単純な操作である。しかしながら、ワイプ境界が斜線あるいは円等である場合には、リアルタイムにその操作を行うことは困難である。
なお、業務用のリアルタイム型DVE装置(DME―7000)は、円形ワイプを以下のように実施する。先ず、円形ワイプの中心に対応する画素位置を定義する。次に、その中心位置の周囲に直円錐を数学的に生成するが、これはすなわち各画素の位置には中心位置からのその画素半径におけるそのような円錐の高さを示す値が割り当てられていることである。次に2つの閾値が生成される。上限閾値以上の「円錐高さ」値を持つ画素位置に対しては一方のソース画像が表示され、下限閾値以下の「円錐高さ」値を持つ画素位置に対しては他方のソース画像が表示される。上限及び下限閾値間の「円錐高さ」値を持つ画素位置に対しては2つのソース画像を混合したものが表示される。しかし、円錐データの生成はどちらかといえばプロセッサ集約型であり、それぞれの表示画素ごとに1つの「円錐高さ」入力を記憶するフレームメモリが必要になる。更にこれらの従来技術は、上限及び下限閾値レベルに対応する画面表示位置において可視的な2次不連続性を発生させる可能性がある。素人や家庭用として利用可能な装置を用いて、リアルタイムに複雑なワイプ形状を実施するのに必要な処理を達成するためには、よりプロセッサ集約型ではない技術が必要となる。
本発明は画面表示用の出力画像を生成するビデオ処理方法を提供する。本発明に係るビデオ処理方法は、その各出力画像は第1のソース画像から求められる1つ以上の領域と、それとはワイプ境界により分離される第2のソース画像から求められる1つ以上の領域とを持ち、それらソース画像の各表示位置には透明度係数が関連付けられるビデオ処理方法であり、
表示メモリ内に表示用の第1のソース画像を用意するステップと、
実質的に全ての出力画像が第1のソース画像から導出される時のワイプ境界を表すワイプ始点軌跡及び実質的に全ての出力画像が第2のソース画像から導出される時のワイプ境界を表すワイプ終点軌跡を定義するステップと、ここでワイプ終点軌跡上の点はワイプ始点軌跡上の点と関連付けがなされ、関連付けがなされた点の対がそれぞれのワイプ進行方向を定義する、
ワイプ始点軌跡及びワイプ終点軌跡からのワイプ進行方向における正規化された表示距離に対応して表示すべき第1及び第2のソース画像の比率を定義するワイプ制御信号を発生するステップと、
表示メモリに保持された第1のソース画像の透明度係数を変更するステップと、ここで各表示位置の透明度係数はその表示位置とワイプ始点軌跡間及びその表示位置とワイプ終点軌跡間のワイプ進行方向における正規化された表示距離に対応するワイプ制御信号の値に依存して変更される、
第1のソース画像が、第1のソース画像の各表示位置と関連付けられた透明度係数に依存して第2のソース画像の画素により変更されるように、表示メモリ内で第1のソース画像を第2のソース画像で書き換えるステップとを有する。
表示メモリ内に表示用の第1のソース画像を用意するステップと、
実質的に全ての出力画像が第1のソース画像から導出される時のワイプ境界を表すワイプ始点軌跡及び実質的に全ての出力画像が第2のソース画像から導出される時のワイプ境界を表すワイプ終点軌跡を定義するステップと、ここでワイプ終点軌跡上の点はワイプ始点軌跡上の点と関連付けがなされ、関連付けがなされた点の対がそれぞれのワイプ進行方向を定義する、
ワイプ始点軌跡及びワイプ終点軌跡からのワイプ進行方向における正規化された表示距離に対応して表示すべき第1及び第2のソース画像の比率を定義するワイプ制御信号を発生するステップと、
表示メモリに保持された第1のソース画像の透明度係数を変更するステップと、ここで各表示位置の透明度係数はその表示位置とワイプ始点軌跡間及びその表示位置とワイプ終点軌跡間のワイプ進行方向における正規化された表示距離に対応するワイプ制御信号の値に依存して変更される、
第1のソース画像が、第1のソース画像の各表示位置と関連付けられた透明度係数に依存して第2のソース画像の画素により変更されるように、表示メモリ内で第1のソース画像を第2のソース画像で書き換えるステップとを有する。
本発明は、コンピュータソフトウェアとして家庭で使われる装置で実現できる特殊効果のためのビデオ処理方法を提供することができ、それを実行するプログラムは、記憶媒体、ネットワークあるいはインターネット等の通信媒体を介して供給することができる。
以下、本発明に係るビデオ処理方法及びビデオ処理装置を、図面を参照して、より詳細に説明する。 図1はプレイステーション2の全体的な構成を示すブロック図である。プレイステーション2は、エモーションエンジン100と、図形合成装置200と、ダイナミックランダムアクセスメモリ(DRAM)を有する音声処理装置(SPU)300と、リードオンリーメモリ(ROM)400と、コンパクトデスク(CD)及びデジタル多目的デスク(DVD)装置450と、ランバスダイナミックランダムアクセスメモリ(RDRAM)装置500と、専用RAM750を備える入出力プロセッサ(IOP)700と、外部ハードデスク装置(HDD)800とを備える。
エモーションエンジン100は、ゲーム用の3次元図形の効率的シミュレーション用に特に設計された128ビットの中央処理装置(CPU)である。エモーションエンジン100のコンポーネントにはデータバス、キャッシュメモリ、レジスタが含まれ、これらは全て128ビットである。これにより大量のマルチメディアデータの高速処理が容易になる。比較として、従来のパーソナルコンピュータ(PC)は64ビットデータ構成を基本とする。プレイステーション2の浮動小数点演算計算性能は6.2GFLOPsである。エモーションエンジン100は更に3次元図形データとDVDデータの同時処理ができるMPEG2デコーダ回路も備える。エモーションエンジン100は数学変換及び並進移行を含む幾何計算を実行し更に、例えば2つの物体間の摩擦計算などの、シミュレーション物体の物性関連の計算にも使われる。エモーションエンジン100は、図形合成装置200により続いて用いられる一連の画像再現(レンダリング)命令を生成する。画像再現命令は表示リストの形で出力される。表示リストは、表示画面上にどのプリミティブ図形オブジェクト(例えば点、線、三角形、スプライト)をどの座標に描画するかを図形合成装置200に指定する一連の描画命令である。かくして、表示リストは頂点を描画する命令、多角形の面に陰影を付ける、ビットマップを再現する命令等からなる。エモーションエンジン100は、多数の表示リストを非同期に生成できる。
図形合成装置200は、エモーションエンジン100により生成された表示リストの再現(レンダリング)を行うビデオアクセラレータである。図形合成装置200は、多数の表示リストを処理、トラッキング及び管理するグラフィックインタフェース装置(GIF)を含む。図形合成装置200の再現(レンダリング)機能は、幾つかの代替規格出力画像フォーマット、すなわちNTSC/PAL、高精細デジタルTV及びVESAをサポートする画像データを生成できる。一般的に、図形システムの再現能力は、いずれもグラフィックプロセッサ内部に配置された、画素エンジンとビデオメモリ間のメモリ帯域幅で定義される。従来の図形システムは、利用できる帯域を制限する傾向のあるオフチップバスを介して画素ロジックに接続される外部ビデオランダムアクセスメモリ(VRAM)を使用する。しかしながら、プレイステーション2の図形合成装置200は、比較的大きい毎秒38.4GBのメモリアクセス帯域が可能である単一高性能チップ上で画素ロジックとビデオメモリを提供する。図形合成装置200は、理論的に毎秒最大75百万個のポリゴンの描画能力を達成できる。テクスチャ、明暗、透明度のようなフルレンジの効果を盛り込んでも、毎秒20百万個の一定の割合で多角形を連続的に描画できる。したがって、図形合成装置200はフイルム写真品質の画像を再現できる。
入出力プロセッサ(IOP)700は、2つのユニバーサルシリアルバス(Universal Serial Bus:USB)ポートと1つのIEEE1394ポート(i−LINKはIEEE1394規格のソニー(株)の導入例である)を備える。IOP700は、全てのUSB、i−LINK及びゲームデータの転送を取り扱う。例えば、ユーザがゲームをプレーしているとき、IOP700はゲームコントローラからデータを受け取りそれをエモーションエンジン100に送り、それに従ってゲームの現在の状態をエモーションエンジン100が更新する。IOP700は高速データ転送を容易にするためダイナミックメモリアクセス(DMA)構成を持つ。DMAはCPUを通さない主メモリからデバイスへのデータ転送に関わる。USBインタフェースはオープンホストコントローラインタフェース(OHCI)との整合性がありかつ1.5Mbps〜12Mbpsまでのデータ転送速度を処理できる。これらのインタフェースを備えることは、プレイステーション2が潜在的にビデオカセットレコーダ(VCR)、デジタルカメラ、セットトップボックス(set-top-boxes)、プリンタ、キーボード、マウス及びジョイステックと適合することを意味する。
音声処理装置(SPU)300は、実際にはデジタルシアター臨場音(DTS:登録商標)のような3次元音響やデジタル多目的デスク(DVD)用に用いられる音声フォーマットであるAC−3(ドルビーデジタルとしても知られる)を認識できるシステムのサウンドカードである。
エモーションエンジン100をサポートする主メモリは、ラムバス社(RAMBUS社)が製造するRDRAM(RAMBUS−DRAM)装置500である。このRDRAMメモリサブシステムは、RAM、RAMコントローラ及びそのRAMとエモーションエンジン100を接続するバスとから構成される。
図2は図1のエモーションエンジン100のアーキテクチャ(構成)を示すブロック図である。エモーションエンジン100は、浮動小数点演算装置(FPU)104と、中央処理装置(CPU)コア102と、ベクトル装置(0)(VU0)106と、ベクトル装置(1)(VU1)108と、グラフィックインタフェース装置(GIF)110と、割り込み制御装置(INTC)112と、タイマ装置114と、ダイレクトメモリアクセスコントローラ(DMAC)116と、画像データ処理装置(IPU)118と、ダイナミックランダムアクセスメモリコントローラ(DRAMC)120と、サブバスインタフェース(SIF)122と、これらコンポーネントの全てを接続介在する128ビットの主バス124とを備える。
そのCPUコア102は、300MHzのクロックで動作する128ビットのプロセッサである。CPUコア102は、DRAMC120を介して32MBの主メモリへアクセスする。CPUコア102の命令セットは、MIPSIIIRISCをベースにしているが、MIPSIVRISCインストラクション及びマルチメディアインストラクションも一部盛り込まれている。MIPSIII及びMIPSIVは、ミップステクノロジーズ(MIPSTecnology)社が所有する縮小命令セットコンピュータ(Reduced Instruction Set Computer:RISC)の命令セットである。標準命令は64ビット、双方向スーパースカラで、これは2つの命令が同時に実行できることを意味する。一方、マルチメディア命令は2つのパイプラインを介した128ビット命令を使用する。CPUコア102は、16kBの命令キャッシュと、8kBのデータキャッシュと、CPUの直接固有の使用目的に予約されたキャッシュの一部である16kBのスクラッチパッドRAMとを備える。
FPU104は、CPUコア102に対する第1のコプロセッサとして動作する。ベクトル装置(0)106は、第2のコプロセッサとして動作する。FPU104は、浮動小数点積和論理演算器(FMAC)と浮動小数点除算器(FDIV)とを備える。FMACとFDIVの両者は32ビット値で動作するので、128ビット値(4つの32ビット値で構成)で演算が行われるときには、4つの部分全てで同時に演算が実行できる。例えば2つのベクトルを一緒に加える場合同時に実行できる。
ベクトル装置(0)106とベクトル装置(1)108は数理演算を行い、基本的にはベクトル等式の掛け算足し算評価が極めて高速な専用FPUである。それらは加算掛け算用の浮動小数点積和演算器(FMAC)であり且つ割り算及び平方根演算用の浮動小数点除算器(FDIV)である。それらはマイクロプログラムを格納する内蔵メモリとベクトルインタフェース装置(VIF)を介してシステムの他の部分と接続するインタフェースを備える。ベクトル装置(0)106は専用の128ビットの主バス124を介してCPUコア102に対しコプロセッサとして動作できるので、本質的には第2の専用FPUである。一方、ベクトル装置(1)108は図形合成装置200への専用バスを備えるので、完全に別のプロセッサと見なすことができる。2つのベクトル装置106,108を備えることによりソフト開発者はその作業をCPUの幾つかの異なる部分上に分割でき、且つそのベクトル装置106,108をシリアルあるいはパラレル接続の何れでも使用できる。
ベクトル装置(0)106は4つのFMACと1つのFDIVとを備える。ベクトル装置(0)106はコプロセッサ接続を介してCPUコア102へ接続される。ベクトル装置(0)106はデータ用の4kBのベクトル装置メモリと命令用の4kBのマイクロメモリとを有する。ベクトル装置(0)106は表示用画像に関連する物性計算を実行するのに有用である。主にベクトル装置(0)106は非パターン化幾何学処理をCPUコア102と共に実行する。
ベクトル装置(1)108は5つのFMACと2つのFDIVとを備える。ベクトル装置(1)108はCPUコア102への直接パスは持たないが、GIF装置110への直接パスを有する。ベクトル装置(1)108はデータ用の16kBのベクトル装置メモリと命令用の16kBのマイクロメモリとを備える。ベクトル装置(1)108は変換実行に有用である。主にベクトル装置(1)108はパターン化図形処理を実行し、生成された表示リストを直接GIF110へ出力する。
GIF110は図形合成装置200のインタフェース装置である。GIF110は送られる表示リストパケットの最初にある仕様タグに基づいてデータを変換し、描画指令を図形合成装置200へ転送する。そのとき多数の転送を相互に調整する。割込みコントローラ(INTC)112は、DMAC116以外の周辺機器からの割込みを調整する。
タイマ装置114は16ビットカウンタの4つの独立したタイマからなる。タイマ装置114はバスクロック(1/16又は1/256間隔)あるいは外部クロックにより駆動される。DMAC116は主メモリと周辺プロセッサ間あるいは主メモリとスクラッチパッドメモリ間のデータ転送を取り扱う。DMAC116は同時に主バス124の調整を行う。DMAC116の性能最適化がエモーションエンジン100の性能改善の鍵となる。画像データ処理装置(IPU)118は圧縮アニメーションやテクスチャ画像の解凍に使用される。画像データ処理装置118は、I−PICTUREマクロブロックデコーディング、カラー空間変換及びベクトル量子化を行う。最後に、サブバスインタフェース122はIOP700へのインタフェース装置である。SIF122はそれ自身のメモリとバスを備え、音声チップや記憶装置のような入出力装置を制御する。
図3は図形合成装置200の概略構成を示すブロック図である。その図形合成装置200は、ホストインタフェース202と、画素パイプライン206及びメモリインタフェース208を含む設定及びラスタ化装置204と、フレームページバッファ214及びテクスチャページバッファ216を含むローカルメモリ212と、ビデオコンバータ210とを備える。
ホストインタフェース202は、ホスト(この場合エモーションエンジン100のCPUコア102)とのデータ転送を行う。ホストからの描画データ及びバッファデータの両方がホストインタフェース202を通過する。ホストインタフェース202からの出力は図形合成装置200へ供給され、図形合成装置200は図形を展開して、エモーションエンジン100から受け取った頂点情報に基づく画素を描画し、各画素に対するRGBA値、深さ値(Z値)、テクスチャ値及びフォグ値のような情報を計算する。RGBA値は赤、緑、青(RGB)カラー成分を特定し、そのA(アルファ)成分は画像オブジェクトの不透明度を表す。そのアルファ値は完全な透明から完全な不透明の範囲で変化する。画素データは画素パイプライン206に供給され、画素パイプライン206はテクスチャマッピング、フォギング及びアルファ混合(以下に説明)のような処理を行い、計算された画素情報に基づき最終描画カラーを決定する。
画素パイプライン206は、16個の画素エンジンPE1,PE2,・・・,PE16から構成されるので最大16画素を同時に処理できる。画素パイプライン206は32ビットカラー及び32ビットZバッファを備え150MHzで動作する。メモリインタフェース208は図形合成装置200のローカルメモリ212に対しデータの読出し、書込みを行う。メモリインタフェース208は画素演算の最後に描画画素値(RGBA値及びZ値)をローカルメモリ212に書き込み、ローカルメモリ212のフレームページバッファ214の画素値を読み出す。フレームページバッファ214から読み出されたこれらの画素値は画素テストあるいはアルファ混合のために使用される。メモリインタフェース208は更にフレームページバッファ214の現在の内容であるRGBA値をローカルメモリ212から読み出す。ローカルメモリ212は図形合成装置200に内蔵される32Mビット(4MB)メモリである。ローカルメモリ212は、フレームページバッファ214、テクスチャページバッファ216及び32ビットのZバッファ215の構成に纏めることができる。フレームページバッファ214はビデオメモリの一部でありカラー情報などの画像データが格納される。
図形合成装置200は、立体形状に可視的ディテールを加えるために2次元から3次元へのテクスチャマッピング処理を行う。それぞれのテクスチャを3次元画像オブジェクトに張り付け、ストレッチ、スキュウ処理を施して3次元画像効果を与える。テクスチャページバッファ216は画像オブジェクトのテクスチャ情報を格納するのに使用される。Zバッファ215(深さバッファに同じ)は画像の深さ情報を格納するのに利用できるメモリである。画像(イメージ)は図形基本要素(グラフィックプリミティブ)あるいはポリゴンとして知られる基本ビルディングブロックから構成される。1つのポリゴンがZバッファリングを使って再現されると、そのポリゴン画素のそれぞれの深さ値がZバッファ215に格納された対応する値と比較される。Zバッファ215に格納された値が新しい画素の深さに等しいか大きいとこの画素は可視と判断されて再現されることになりZバッファ215はその新しい画素の深さ値で更新される。しかし、Zバッファ215の深さ値が新しい画素の深さ値よりも小さいとその新しい画素値は既に描画されているものの陰になり再現はされない。
ローカルメモリ212は、フレームページバッファ214及びZバッファ215アクセス用の1024ビット読出しポート、1024ビット書き込みポート及び、テクスチャ読出し用の512ビットポートとを備える。ビデオコンバータ210は、フレームメモリの内容を指定された出力フォーマットで表示するよう動作可能である。
図4は図形合成装置200により行われる描画処理を説明するためのブロック図である。その描画処理モジュールは、テクスチャマッピングモジュール252と、フォギングモジュール254と、アンチエイリアシングモジュール256と、画素テストモジュール258と、アルファ混合モジュール260と、フォーマティングモジュール262とを備える。
上述のように、図形合成装置200はエモーションエンジン100から表示リストを受け取る。各表示リストは前処理を受け、図形要素の描画に適切な階調(例えば陰影係数)及びその他のパラメータが表示リストに含まれる頂点情報に基づき計算される。図形要素の画素はラスタライジングとして知られる処理中にデジタル微分アルゴリズム(DDA)によって生成される。このラスタライジング処理は8〜16画素に対する値の同時生成に関わる。本質的には3次元画像はカラー化された画素集合に変換され、それぞれの画素に割り当てられるカラーは光源、その画素が現すオブジェクトの位置、そのオブジェクトに適用されるテクスチャ等に依存する。各画素のRGBA値、Z値、テクスチャ値及びフォグ値は前処理中に計算された階調度に基づき計算され、このデータは画素パイプライン206へ送られる。
テクスチャマッピングモジュール252は画素にテクスチャを写像する。各テクスチャにはカラールックアップテーブル(CLUT)を介して参照されるそれ固有の限定されたカラーパレットがある。カラールックアップテーブルは、例えば16あるいは32ビットカラー用ではなく4あるいは8ビットカラーに必要とされる。テクスチャマッピングモジュール252は、テクスチャページバッファ216から読み出したテクスチャCLUT−RGBAの値に対しテクスチャ関数を適用し更にRGBAの値(DDAを用いてそれぞれの図形要素の画素値に対し計算された値)にも適用する。フォギングモジュール254により実行されるフォギング処理とは画像シーンの一部を与えられたカラーで混合する処理を意味する。この技法はかぶり(もや)をかける、あるいは遠景の図形要素をフェージングさせるのに使用できる。
アンチエイリアシングモジュール256はアンチエイリアシング処理を行うが、これは幾つかのカラーを混合することにより線分や曲線を滑らかにすることを意味する。それは画像あるいは図形中のフィルタされなかった角つき線分の望ましくないギザギザあるいは階段状の外見を見えなくすることを目的とする。完全に滑らかな斜線あるいは曲線を表示面上に描画するためには幾つかの画素の一部領域だけをその線に対応してカラー化する必要がある。しかし、表示面は不連続な画素集合から構成されておりある画素だけを部分的にカラー化することはできないので所望の円滑な連続線を表現するためには幾本かの小さい線を引かなければならない。例えば白色背景上に太い黒色の斜線を引く場合、この線が表示面の主斜線に平行でないとその線の両側端部はギザギザになる。アンチエイリアシングにより提供される解決法は、ギザギザの端部に関係する画素を様々なグレイ陰影でカラー化することにより、線分の端部をぼやかし且つ滑らかにする方法である。
図形合成装置200のアンチエイリアシングモジュール256は以下の図形要素に対するアンチエイリアシングを行うことができる。すなわち、線分、帯線、三角形、帯状三角形及び扇形三角形に対するアンチエイリアシング処理を行うことができる。図5を用いてこれらを以下に説明する。アンチエイリアシングは、実際の線分が図形要素の端部のそれぞれの画素を覆う面積の比率である「カバレッジ」を実際に計算することで行われる。カバレッジ値は画素のアルファ値とみなされ、アルファ混合(後述)として知られる処理が終点カラー(図形要素のバックグラウンドのカラー)と図形要素カラーについて行われる。適切なアンチエイリアシングを得るためには、図形要素を描画する場合に、観察者・表示面から見て背景側の最も遠い位置のものから始め最も近い位置のもので終わるような順序で行うのが適切である。アンチエイリアシングはそれぞれの図形要素の周辺部で個別に行われる。
画素テストモジュール258は、RGB値、アルファ値及びx、y、z画素座標を受け取る。アルファ値とZ値は、画素テストモジュール258によりメモリインタフェース208を介してローカルメモリ212から検索される。画素テストモジュール258は、一連のテストを行ってそのXYZ値及びRGBA値に基づいて画素を描画するかどうかを決定する。その画素テストでは画素値は変更されない。その一連のテストは、シザリングテストと、アルファテストと、終点アルファテストと、深さテストとからなる。シザリングテストは描画すべき画素のXYZ座標値がウィンドウ座標系で指定された長方形(シザリング)面内にあるかどうかをチェックする。シザリング面外と判定された画素はそれ以上処理されない。アルファテストは描画中の画素のアルファ値と予め設定された基準アルファ値との比較を意味する。その画素が所定の比較条件を満たせば処理が継続される。アルファ終点テストはフレームページバッファ214の描画画素のアルファ値をチェックする(すなわち、終点値をチェックする)。最後に、深さテストは描画画素のZ値とZバッファ215内の対応するZ値とを比較する。
アルファ混合モジュール260は、アルファブレンディングとして知られる処理を行うがこれは透明度効果を生むために使われる技法(すなわちガラス、霧あるいは水等を表現する技法)で、2つのテクスチャを混合あるいは下側のテクスチャの上にそれを完全には覆い隠さないように、もう1つのテクスチャをマッピングする技法である。より一般的には、このアルファブレンディングは既に再現されているもの(したがって既にフレームメモリに存在するもの)と別のテクスチャとを混合するのに使用できる。
アルファ混合が行われると2つの色、ソースカラーと終点カラーとが組み合わされる。ソースカラーは(少なくとも一部は)透明な前景のオブジェクトから与えられるものである。終点カラーは検討中の画素位置に既に存在する色であり、したがって透明オブジェクトの後側に(隠れて)存在する別のオブジェクトを再現した結果である。この終点カラーは透明オブジェクトを通して見える色である。各テクスチャ内の各カラー化された画素は、その透明度を表すアルファ値が割り当てられる。そのアルファ値は次にそれぞれの画素に対する2つのテクスチャのカラーの重み付け平均の計算に用いられる。例えば以下のアルファ混合式を用いてもよい。
最終カラー=オブジェクトカラー×ソース混合係数+画素カラー×終点混合係数
ここでオブジェクトカラーは、現在の画素位置で再現されている図形要素からのもので、画素カラーは現在の画素位置におけるフレームページバッファ214からのもので、ソース混合係数及び終点混合係数は所定の重み付け係数である。アルファ混合モジュール260は、ローカルメモリ212からRGB値を検索する。現在再現中のオブジェクトの画素のRGB値とフレームページバッファ214内の対応するRGB値との混合は、その画素のアルファ値あるいはフレームページバッファ214内のアルファ値に応じて実施される。
ここでオブジェクトカラーは、現在の画素位置で再現されている図形要素からのもので、画素カラーは現在の画素位置におけるフレームページバッファ214からのもので、ソース混合係数及び終点混合係数は所定の重み付け係数である。アルファ混合モジュール260は、ローカルメモリ212からRGB値を検索する。現在再現中のオブジェクトの画素のRGB値とフレームページバッファ214内の対応するRGB値との混合は、その画素のアルファ値あるいはフレームページバッファ214内のアルファ値に応じて実施される。
アルファ混合モジュール260による処理の後、データはフォーマッティングモジュール262へ供給され、そこで描画用画素値はフレームページバッファ214のデータフォーマットに変換される。この段階でディザリング処理とカラー固定(クランピング)処理も適用されてもよい。ディザリング処理は、既存の利用可能な幾つかのカラーを混ぜ合わせて新しいカラーを生み出す操作を意味する。この技法は実際には256色で再現された画像を64K色で再現されたかのような錯覚を与えるのに利用できる。カラー固定は画素のRGB値を0〜255(8ビット値)の範囲内に制御する処理である。画素値はアルファ混合のような操作の後で時々この範囲を超えてしまうので、その処理結果はそれぞれのRGB値に対して9ビットで格納される。
フォーマッティングモジュール262からの出力はメモリインタフェース208に供給され(図3)、それを介してローカルメモリ212への書込み及び読出しが行われる。メモリインタフェース208によりサポートされる操作には、画素操作の後の描画画素値、RGBA値及びZ値のメモリへの書込み、例えば画素テスト及びアルファ混合処理中における画素値のフレームメモリへの読込み、画面表示用のメモリからのRGBA値の読出しが含まれる。
図5A乃至図5Gは図形合成装置200により選択使用される図形要素を説明するための図である。代替図形要素は、点、線、帯線、三角形、三角帯、三角扇形及びスプライトからなる。図5Aは3つの独立した点を示し、これらのそれぞれは1つの頂点情報を使って描かれる。図5Bは2本の独立した線分を示し、これらのそれぞれは2個の頂点情報を使って描かれる。図5Cは終端点を共有する4本の線からなる帯線を示す。この場合、最初の線は2個の頂点情報で描かれるが、後続の線分は1個の頂点情報で描かれる。図5Dは2つの独立した三角形を示し、三角形のそれぞれは3個の頂点情報を使って描かれる。図5Eは辺を共有することで連続する5つの三角形からなる三角帯を示す。この場合、最初の三角形は3つの頂点を使って描かれるが、それに続くそれぞれの三角形は常に1個の頂点を追加して描かれる。図5Fは共通の頂角1を共有する5つの三角形からなる三角扇形を示す。最初の三角形は3個の頂点を必要とするが、後続の三角形は常に1個の頂点情報を追加して描かれる。図5Gは、スプライトとして知られる2つの独立した長方形を示す。各スプライトは長方形の対頂角を表す2個の頂点情報を用いて描かれる。
図形合成装置200により行われる一般的な描画手順は、先ず基本図形要素の種類を設定して頂点行列の条件を初期設定することと、第2に描画座標、頂点色、テクスチャ座標及びフォグ係数を含む頂点情報を頂点情報設定レジスタに設定することと、第3に「頂点キック」操作により当該点に設定された頂点情報を頂点行列内に配置してその行列を1つ進める操作と、最後に、適切な頂点情報が頂点行列内に配置されるとその描画処理を実行することとを含む。
プレイステーション2にビデオ及びオーディオデータを取り込むためのインタフェースを設けることが適切である。HDD800は、MPEG2Iフレーム専用フォーマットのビデオデータとPCM(パルスコード変調)フォーマットのオーディオデータを必要とするので、DVストリームあるいはアナログビデオ/オーディオをHDD800が必要とするフォーマットに変換するハードウェアが必要となる。更にユーザがデジタル記録できるように、出力ビデオ及びオーディオをDVフォーマットに逆変換できるハードウェアも備えなければならない。
図6はデジタルビデオ入出力用の周辺コンポーネント内部接続(PCI)プラグインモジュールを有するシステムの概略構成を示すブロック図である。この装置は、音声処理装置(SPU)300と、IOP700と、図1で説明したプレイステーション2の主装置であるエモーションエンジン(EE)100と、図形合成装置(GS)200とを備える。図6に示す装置はハードディスク装置(HDD)906とDV/MPEG2プラグインモジュール908とからなるハードウェアモジュール904が接続されるPCIインタフェース902も備える。そのIOP700は、2つのUSBポートと、2つのコントローラポート及び2つのメモリカードポートと、最高400Mbps速度のIEEE1394(i−LINK)ポート702とを備える。DVビデオは、カムコーダ及びビデオテープレコーダ用の圧縮規格である。DVフォーマットデータはアナログフォーマットではなくバイナリフォーマットで格納される。MPEG2はムービングピクチャエクスパートグループ(Moving Pictures Expert Group)により開発された規格である。それは毎秒15Mビットまでの可変エンコーディング速度でビデオ+オーディオビットストリーム(ビデオの占める割合は毎秒9.8Mビットまで)をエンコードできるデジタルエンコーディング技術である。MPEG2エンコーディングはDVD上で使われる。
いわゆる「i−LINK」はIEEE1394高性能シリアルバス規格に対するソニー株式会社の導入例である。この規格は1つ以上の周辺装置とマイクロプロセッサ装置との間のシリアルバスあるいは経路を記述する。アイリンクは63個までの周辺装置が接続できる単一プラグ、ソケット接続を提供する。IOP700のアイリンクポート702はPCIインタフェース902で接続されたDV/MPEG2プラグインモジュール908に送られるDVビデオをインポートするのに使うことができる。この装置を用いて出力ビデオはMPEG2からDVへ変換されてアイリンクポート702を介して出力される。アナログ入力ビデオ/オーディオデータ(S−ビデオあるいは複合ビデオ及びステレオオーディオのような)の入力を容易にするために、付加コネクタ(図示せず)がハードウェアモジュール904に挿入されねばならない。
DV/MPEG2プラグインモジュール908はDVフォーマットの入力ビデオデータをMPEG2ビデオ及びPCM(パルスコード変調)オーディオに変換するのに用いられ、その後変換データはハードディスク装置906上に格納される。出力段でハードウェアモジュール904を使って出力ビデオ及びオーディオをアイリンクポート702を介して出力されるDVフォーマットに変換してもよい。
図7はプレイステーション2内にビデオ及びオーディオデータを取り込むためのユニバーサルシリアルバス(USB)アナログ入力モジュールの構成を示すブロック図である。USBは本質的にIEEE1394規格と同じプラグアンドプレイ性能を提供し、且つより安価な技術である。しかしUSBのデータ転送速度は12Mbpsに限定される。12Mbpsは1MPEG2I−フレーム圧縮ビデオストリームをサポートするには十分であるが、非圧縮MPEG2ストリームを変換用装置からDV出力フォーマットへの再変換転送をサポートするのには十分な帯域幅ではない。USBポートは小さな電力を周辺装置に供給できるがこの小さな電力ではDVコーデックやMPEG2エンコーダを維持できない。
図7に示されたUSBモジュール1200はそれでもアナログカムコーダとの使用には適している。それはUSBの電力と帯域幅がアナログからMPEG2への変換をサポートするのに十分だからである。USBモジュール1200は、アナログビデオデータを入力として取り込んでそれを順にビデオデコーダ1202、アナログデジタル変換器(ADC)1204、専用RAMモジュール1208を有するMPEG2エンコーダ1206へと供給する。左右(L、R)のオーディオチャンネルが先ずADCモジュール1212を通して供給され、そのデジタル出力は一時FIFOバッファ1214に格納される。MPEG2エンコーダ1206により出力されるMPEG2ビデオデータとFIFOバッファ1214からのデジタルオーディオデータの両方はUSBコントローラ1210へ供給される。USBコントローラ1210はそのデータをUSBポートを介してプレイステーション2へ供給する。
図8はリアルタイムビデオ編集を実行するのに必要な回路が標準的なパーソナルコンピュータ(PC)に適したPCIカードで提供される本発明の実施例の概略を示す図である。この図8の構成は、モニタ1310と、キーボード1320と、システム装置1330と、システム装置1330内に挿入されたPCIカード1340とからなる。この実施例においては、SPU300、IOP700、エモーションエンジン100、図形合成装置200及びDV/MPEG2プラグインモジュール908の機能は全てPCIカード1340を介して提供される。この場合、PC自体のハードディスク装置を使ってビデオ及びオーディオデータのシステムへの取り込みを行う。
図9は本発明の実施例による円形ワイプ示す図である。特に、図9はそのワイプ進行の1つの段階、すなわち1つのスナップ写真を表す。この実施例においては、ワイプ進行度0%では第1のソース画像S1が表示面全体を満たし、一方ワイプ進行度100%では第2のソース画像S2が表示面を完全に満たす。中間段階では第2のソース画像S2が半径rを持つS1の中心円部分を漸次置き換える。ワイプが進展するにつれて、半径rは表示面の全体が第2のソース画像S2で満たされるまで増加する。
なお、100%ワイプ進行段階が必ずしも表示面が完全にソース画像S2で満たされた状態に対応するとは限らない。別の実施例では、100%ワイプ進行段階が、ソース画像S1とソース画像S2との表示面占有比率が例えば50対50に対応する場合もある。ワイプ進行は、一般的には編集者によって、例えば編集コンソールのようなユーザインタフェース上で提供されるユーザコントロールを介して制御される。あるいは、ワイプは所定の速度で自動的に進行するように設定することもできる(例えばソフト上で)。更に、実行するワイプの種類、例えば垂直、斜め、円形、時計回り、ハート型あるいは星型を選ぶことができるユーザコントロールが提供される。
図9の円ワイプは「ワイプ始点軌跡」を持つが、これは以下に説明するワイプ境界を定義する円の中心点0である。それに代わるワイプ形状としては、そのワイプ始点軌跡は直線、曲線あるいは小さな固定寸法のそのワイプ形状自体の輪郭であってもよい。垂直ワイプは一般的に表示面の右端あるいは左端いずれか側に置かれた垂直線であるワイプ始点軌跡を持つ。斜線ワイプは正対角線であるワイプ始点軌跡を持つ。星型あるいはハート型のようなワイプ形状に対してはそのワイプ始点軌跡はそのワイプ進行の初期段階に対応する小さい星型あるいはハート型であると定義することができる。
ワイプ進行の段階を決定するため、「ワイプ終点軌跡」Ldが定義される。ワイプ終点軌跡Ldは(少なくとも)ワイプ進行度100%におけるワイプ境界線の位置であると定義される。ワイプ終点軌跡Ldは表示面上に限られることはなく、事実通常は表示面外に伸びた座標値となる。表示面外の座標値はプロットすることはできないが、そのワイプ実施に使われる数学的捨象(mathematicla-abstraction)として役立つ。図9における円ワイプ終点軌跡は半径OPの円であり、これは表示面内に位置する。
図9の円ワイプに対して、r≦riの内部画像領域内の表示画像は完全にS2から求められ、他方r≧r0の外部画像領域に表示された画像は完全にS1から求められている。しかし、ri<r<r0に対しては、遷移領域Tが存在しそこで表示される画像は所定のS1とS2のミックス(混合)から求められる。そのミックスは第1のソース画像と第2のソース画像間の境界領域においてシャープな遷移ではなく滑らかな遷移効果を得られるように適切に制御される。名目「ワイプ境界線」bwは半径rbの円の円周により定義され、ここでは2つのソース画像の割合が等しくなる。一般に、対称境界領域に対してはそのワイプ境界は、外延放射状ワイプ進行方向に沿って測定される遷移領域の中心軌跡に対応する。「ワイプ進行方向」は任意のワイプ形状に対して、ワイプ始点軌跡Lo上の最初の点(この場合、点0)とワイプ終点軌跡Ld上の関連する第2の点とを結ぶことにより定義される。ワイプ始点軌跡の点とワイプ終点軌跡Ld上の点との間のマッピングがある。このマッピングはワイプ進行に伴いワイプ境界がどのように展開するかを定義する。したがって、ワイプ始点軌跡0上の点からワイプ終点軌跡Ld上の会合点への進行ベクトルがワイプ進行方向を決定する。水平、垂直及び斜線ワイプに対しては、ワイプ境界bwはワイプ始点軌跡からワイプ終点軌跡へのワイプ進行に伴い単純に並進移行される。ハート型や星型ワイプに対しては、ワイプ境界bwは、あたかも現在のワイプ境界の画像をより遠くの焦点面上に投射するかのように、ワイプ始点軌跡により形成される形状を連続的に拡大するように進展される。
図9の実施例において、ワイプ境界と一致する表示画素に対するソース画像S1とS2との間の混合比は50対50である。ワイプ境界上の任意の点からワイプ進行方向Dp(この場合、その任意の点を通過する外側へ向かう放射方向)に沿って遠ざかるにつれ、S1の割合が遷移領域内で連続的に増加して遷移領域の境界線外側半径r0で100%になる。反対方向のワイプ境界線からワイプ原点の方向へ移動するにつれ、S2の割合が次第に増加し遷移領域境界線内側半径r1で100%に達する。例えば、ワイプ境界線bw上の点Bからそのワイプ進行方向OPに移行する場合を考える。
ワイプを行うためには、そのワイプの幾何形状、遷移領域r1とr0の境界及び遷移領域における混合関数形態を定義するのが適切である。ワイプ終点軌跡及びワイプ始点軌跡を形成するための離散的点集合は、用意されたワイプ幾何形状メニューからのユーザ選択に応じてリアルタイムで生成されるかあるいはメモリから検索される。図9に示すように、ワイプ終点軌跡Ldは表示面の外側にあるように定義されているが、これは100%のワイプ段階で表示面が完全にS2で満たされた状態に確実に対応させるためである。
図10は本発明の実施例によるワイプ制御信号を示す図である。この場合、単パラメータとしてワイプ進行方向に沿って測定されるワイプ原点からある表示位置までの正規化された距離を決定し、図10に示したワイプ制御信号の関数形式を用い、決定された距離に依存する表示位置に表示すべきそれぞれのソース画像の相対的割合を特定する。
図9の円ワイプ幾何形状に対しては、与えられた表示位置におけるソース画像S1及びS2の相対的割合はワイプ進行方向に沿った絶対距離により矛盾無く定義できる。線分OP及びOQに沿った同じ絶対距離では同じ混合比が対応するのがその図から判る。図13を用いて以下に説明するように、更に不規則なワイプ形状に対しては、同じ規則は適用されない。
図9における線分OPに沿った画素値のサンプル採取を考える。図10のワイプ制御信号は、線分OPに沿った距離xの関数として表示される画像のソース画像成分を定義する。したがって、ワイプ制御信号は0≦x≦riの領域(これは表示画像がS2だけから求められる内部領域に対応)では勾配がゼロでyが一定値y2(S2と関連する)を持つ。同様に、ワイプ制御信号はr0≦x≦Pの領域(これは表示画像がS1だけから求められる外部領域に対応)ではゼロ勾配で異なるyの一定値y1(S1と関連する)を持つ。しかし、ri≦x≦r0の領域ではワイプ制御信号は第1の一定値y2から第2の一定値y1へ滑らかに変化し、遷移領域移行に応じてS1とS2から導かれる画像の相対比率を決定する。例えば遷移領域内の混合比はαy1+(1−α)y2で定義できる。ここでαは、x=riのときα=0、x=r0のときα=1、xがワイプ境界線のときα=0.5の境界条件を満たす変数である。ここで、yiはソース画像Siに対応するRGB値である。
ワイプ制御信号の関数形式は図10に示す関数形式には限定されない。別の実施例において、そのワイプ制御信号は内側及び外側の画像領域ではその勾配がゼロでなければならないものの、遷移領域では例えば正弦波としてy1及びy2の値を適当に選べることを特徴としてもよい。以下に説明するがワイプ制御信号のy値は、ワイプ実施中に第1のソース画像S1の画素のアルファチャンネル値をフレームメモリ内で置き換えるのに使われる。
既に説明したように、先行技術のシステムは円ワイプを直円錐を表す3次元ワイプ関数を用いて実施し、遷移領域の境界ri及びr0を円錐の上部及び下部の高さ閾値を用いて定義する。各画素に対する円錐高さの値はその画素のワイプ原点0からの半径に依存し、これにより最終的にその画素が内側画像領域に所属するか、外側画像領域かあるいは遷移領域に所属するかが決まる。それと対照的に、本発明のこの実施例では各画素で表示される2つのソース画像の相対比率を定義するのに、3次元円錐関数ではなく1次元のワイプ制御信号を用いる。このワイプ制御信号はスクリーンメモリ内の第1のソース画像のアルファチャンネルを変更するのに使われる。続いて変更されたアルファ値により定義された混合比に応じて第2のソース画像が適用される。
図11Aは本発明の実施例による垂直ワイプを示す図である。この実施例では、第2のソース画像S2がワイプ進行に伴い第1のソース画像S1に漸次置き換わる。ワイプ境界は表示画面の右端側のワイプ始点軌跡から開始して画面の左端側のワイプ終点軌跡で終わる経路を描く。この場合、垂直線L0はワイプ始点軌跡であり画面左端の平行線(図示せず)がワイプ終点軌跡である。名目ワイプ境界線bwは遷移領域の中心でワイプ原点及びワイプ終点軌跡に平行に定義される。この場合、与えられた点P1に対して、その表示画像中のS1及びS2の相対比率はワイプ制御信号により決定される。ワイプ制御信号のx座標は、ベクトルU3W3で定義されるワイプ進行方向の正規化距離U3P3/U3W3で与えられる。図11Bは表示点P3に対応するワイプ制御信号の値を示す。
図12は本発明の実施例による斜線ワイプを示す図である。この実施例において、第2のソース画像S2はワイプ進行に伴って次第に第1のソース画像S1を置き換える。ワイプ始点軌跡は画面の右下側隅と交差する画面外の斜線である。ワイプ終点軌跡は同様に画面の左側上部隅と交差するワイプ始点軌跡に平行な画面外斜線である。ワイプ進行方向で測定される距離に対する正規化係数はベクトルOTの大きさである。円ワイプ及び垂直ワイプに関しては、それぞれのワイプ進行ベクトルは同じ正規化係数を持つ。図11Bの場合、ワイプ制御信号を中心斜線OTに関連付けてもよい。
円ワイプ、垂直ワイプ及び斜線ワイプに関連する実施例においては、ワイプ始点軌跡上の全ての点のワイプ進行軌道には、単ワイプ制御信号が適用されるから、ワイプ進行方向の絶対距離を用いることにより与えられた表示位置をワイプ制御信号上の該当するアルファ値と相関させることができる。しかしながら、更に不規則なワイプ形状に対しては、正規化距離を定義することによって任意のワイプ進行段階で単ワイプ制御信号を用いることができるようにするのが適切である。図13に示すハート型ワイプの場合、ワイプ進行方向の絶対距離と混合比との関係は、特定のワイプ進行軌道に、すなわち選択されたワイプ始点軌跡上の点とワイプ終点軌跡上の点の特定の対に等価的に依存する。例えば、先ず点U1から点W1へのベクトルで定義されるワイプ進行方向を考えて、これを、点U2から点W2のベクトルで定義されるワイプ進行方向と比較する。ワイプ境界線上の点、例えばV1,V2と一致するそれぞれの画素ではソース画像S1とS2との混合比は50対50となる。図13から明らかなように、絶対距離U1V1は絶対距離U2V2よりはるかに小さい。ワイプ始点軌跡とワイプ終点軌跡間のマッピングにおける、全ての対の点に対して単ワイプ関数の使用を容易にするために、絶対距離ではなくワイプ方向の正規化距離が使われる。したがって、距離U1V1はベクトルU1W1の大きさでそれを割り算することにより正規化され、同様に距離U2V2はベクトルU2W2の大きさで割ることにより正規化される。このため、UiVi:UiWiの比率は全ての点iに対して同じである。ここでUi,Vi及びWiは与えられたワイプ進行ベクトルiに沿ったワイプ始点軌跡、ワイプ境界線及びワイプ終点軌跡上のそれぞれの点に対応する。
図14はクロックワイプを示す図である。この場合、ワイプ始点軌跡とワイプ終点軌跡とは一致し、ワイプ進行方向はワイプ始点軌道上の任意の点がそれ自身の場所まで画像面内の周行軌道によりマッピングする連続した時計回りの円経路により定義される。3つのワイプ周行軌道がワイプ始点軌跡点C1,C2,C3に対応して示される。この実施例では、与えられたワイプ周行軌道に対する正規化距離はその軌道に相当する円の円周である。ワイプが進行するにつれてワイプ始点軌跡とワイプ境界により区分される表示画面のセグメントをソース画像S2が占領し、次第にこのセグメントの寸法は大きくなり、ソース画像S1の可視面積が減少して最終的にソース画像S2が画面全体を占めるようになる。
可視スクリーン画面を垂直中心分割線と水平中心分割線とで画面中心で収束する4つのセクションに等分することにより、交互にクロックワイプを実行することができる。そのワイプ境界はそれらセクションのどれか1つに存在する。他の3つのセクションはS1あるいはS2に設定されて、ワイプ境界を持つセクション内で単純斜線ワイプが実行される。その斜線ワイプではワイプ境界が表示画面の中心点からそのセクションを通ってクロックワイプの現在位置に対する修正角で伸びている。
図15A乃至15Cはワイプ効果を実現するための画像処理中にプレイステーション2がどのようにワイプ制御信号処理を実施するかを説明するための図である。テクスチャを図形要素に適用するのと同じ方法で、図形合成装置200によりワイプ制御信号が画像の図形要素に対し適用される。図15Aは「テクスチャ空間」におけるテクスチャ関数を表し、図15Bはそのテクスチャが適用される図形要素ABCDを示す。
図形合成装置200は全ての図形要素に対しテクスチャマッピングを行う。一般的に、テクスチャマッピングは図形要素の各頂点に対応するテクスチャの座標値に基づく。テクスチャ関数は本質的には、テクスチャを適用すべき図形要素の現在の画素値に対する変更を指定する値の集合である。図4を用いて説明したラスタライゼーション処理中に、図形合成装置200は図形要素の各画素に対するRGBA値を生成する。
テクスチャ関数が図形要素に適用されると、テクスチャ(Rt,Gt,Bt、At)のRGBAパラメータが図形要素(Rp,Gp,Bp,Ap)と関連付けられたパラメータと混合されて出力パラメータ(Ro,Go,Bo,Ao)を生成する。例えば、テクスチャ関数は次のように適用されてもよい。
Ro=Rt×Rp、Go=Gt×Gp、Bo=Bt×Bp、Ao=At×Ap
テクスチャマッピングを実行するためには、「テクスチャ空間」のテクスチャ座標値をディスプレイの「座標空間」(これは本実施例ではPALシステム用標準解像度の720×576の全画面寸法を有する)の図形要素の頂点にマッピングしなければならない。またテクスチャの寸法や向きを適用する図形要素に正しく合わせるためテクスチャのスケール調整及び回転を行う必要が生ずる場合がある。
テクスチャマッピングを実行するためには、「テクスチャ空間」のテクスチャ座標値をディスプレイの「座標空間」(これは本実施例ではPALシステム用標準解像度の720×576の全画面寸法を有する)の図形要素の頂点にマッピングしなければならない。またテクスチャの寸法や向きを適用する図形要素に正しく合わせるためテクスチャのスケール調整及び回転を行う必要が生ずる場合がある。
図15Cに示すように、ワイプ制御信号は1次元テクスチャ関数として画像要素に与えられる。ワイプ制御信号はRGBAビデオパラメータのアルファチャンネルAだけを変更するのに使われる。この実施例の場合、正規化距離=0に対応して1次元テクスチャ関数により指定されたアルファ値が図形要素の線分AD上の全ての画素に適用され、一方正規化距離=1に対応して1次元テクスチャ関数により指定されたアルファ値が、図形要素の線分BC上の全ての画素に適用される。したがって、画像要素内でそのアルファ値は、線分ABに平行な方向において1次元関数に従って変化する。この実施例において、その図形要素はワイプの遷移領域を狭叉(またがる)していなければならない。図9の円ワイプの場合には、内部領域の全ての図形要素のアルファ値は高い透明度に対応して低い値に固定され、一方外部領域の図形要素のアルファ値は、不透明画像に対応して高い値に設定される。遷移領域では、画像ピクセルのアルファ値はワイプ進行方向に沿って(1次元テクスチャ関数がワイプ進行方向に沿って適用されるので)、ワイプ制御信号に応じて変化する。
各図形要素に対する1次元テクスチャ関数は、関連表示点までの正規化距離を用いてグローバルワイプ制御信号から導出される。但し、表示される画像のアルファ値は適切な1次元テクスチャ関数(これはテクスチャ座標から画面座標へのマッピングにより定義される)に従って画素ごとに修正される。ワイプ制御信号はワイプ進行方向に対応するスクリーン上の画素に対するアルファ値を決定するのに使われる。
ワイプ制御信号により特定されたアルファ値Atextureは、1次元テクスチャとして図形要素に適用されて第1のソースビデオS1のアルファチャンネルAS1の値を書き換えるのに使われる。アルファチャンネル変換(AS1,RS1,GS1,BSI)→(Atexture,RS1,GS1,BSI)は、フレームバッファメモリ内だけの値を変更することにより行われるので、この段階ではまだビデオ出力への変化はない。一旦、第1のソースビデオS1のアルファチャンネルが置換されると、第2のソースビデオS2がフレームバッファメモリのアルファチャンネル値Atextureを使って適用されその混合が決まる。したがって、
出力カラー=Atexture×S1カラー+(1−Atexture)×S2カラー
ここで、S1カラーはRS1,GS1,BS1であり、S2カラーはRS2,GS2,BS2であり、出力カラーはその混合の結果表示された色である。上記式ではAtextureが正規化されているものとみなす。
出力カラー=Atexture×S1カラー+(1−Atexture)×S2カラー
ここで、S1カラーはRS1,GS1,BS1であり、S2カラーはRS2,GS2,BS2であり、出力カラーはその混合の結果表示された色である。上記式ではAtextureが正規化されているものとみなす。
例えば、円ワイプに対して、S1のアルファチャンネルを図10のワイプ制御信号で特定された値Atextureで置換すると、その結果、内部領域が高い透明度を持ち、遷移領域がr1からr2へ次第に減少する透明度を持ち、外部領域が不透明となる。このようにして、第2のソースビデオS2が適用され上記式による混合が行われるときの、内部領域中でS2の透明度が高いことは、その領域で見える画像がS2に対応することを意味し、一方外部領域中でS1が不透明であることは、S2がその領域では見えないことを意味する。遷移領域においては、S1は少なくとも部分的には透明であるので、表示された画像にはS1及びS2の両方の画素値が部分的に寄与し、その相対比率はワイプ制御信号により定義されたものである。
図16は、本発明の実施例によるワイプがどのように行われるかを説明するためのフローチャートである。ステップ1410において、エモーションエンジン100はワイプ制御信号を発生する。ステップ1420において、エモーションエンジン100はテクスチャ座標を計算し、それらを該当する表示画面座標にマッピングする。ステップ1430において、ワイプ制御信号がエモーションエンジン100から図形合成装置200にダウンロードされる。ステップ1440において、図形合成装置200は各図形要素に対する1次元テクスチャ関数を生成することにより、画像の図形要素に対しワイプ制御信号を適用する。その1次元テクスチャ関数は、ワイプエッジに関連する図形要素の位置及び向きに依存してワイプ制御信号から導かれる。ステップ1450において、1次元テクスチャ関数を図形要素に適用した結果、第1のソースビデオS1のアルファチャンネルAs1が1次元テクスチャ関数で特定された値Atextureで置換される。ステップ1460において、スクリーンメモリからのアルファチャンネル値Atextureを用いて第2のソースビデオS2が適用される。ミキシングの結果はスクリーン上に表示され、特定のワイプ進行段階におけるワイプ実施効果を生成する。ワイプ制御信号の形態は表示画面上のワイプ境界の移動に従いながらワイプ進行に合わせて変化する。
以上の説明で明らかなように、本発明は、コンピュータソフトウェアとして家庭で使われる装置で実現できる特殊効果のためのビデオ処理方法を提供することができ、それを実行するプログラムは、記憶媒体、ネットワークあるいはインターネット等の通信媒体を介して供給することができる。
Claims (12)
- 各出力画像は第1のソース画像から得られる1つ以上の領域を持ち、それらは第2のソース画像から得られる1つ以上の領域とワイプ境界線で分離され、上記第1及び第2のソース画像の各表示位置は関連付けられた透明度係数を持つ表示用出力画像を生成するビデオ処理方法において、
表示用の上記第1のソース画像を表示メモリに用意するステップと、
ワイプ終点軌跡上の点はワイプ始点軌跡上の点と一致し、一致した対がそれぞれのワイプ進行方向を決定する場合、上記出力画像の実質的に全てが上記第1のソース画像から得られるときのワイプ境界を表すワイプ始点軌跡と、上記出力画像の実質的に全てが上記第2のソース画像から得られるときのワイプ境界を表すワイプ終点軌跡とを定義するステップと、
上記ワイプ始点軌跡及び上記ワイプ終点軌跡からの上記ワイプ進行方向に沿って正規化された表示距離に対して表示すべき上記第1及び第2のソース画像の割合を定義するワイプ制御信号を生成するステップと、
各表示位置の透明度係数は、その表示位置と上記ワイプ始点軌跡との間及びその表示位置と上記ワイプ終点軌跡との間の上記ワイプ進行方向に沿って正規化された表示距離に対応する上記ワイプ制御信号の値に依存して修正される場合に、上記表示メモリに保持された上記第1のソース画像の透明度係数を変更するステップと、
上記第1のソース画像の各表示位置と関連付けられた透明度係数に依存して上記第2のソース画像の画素により上記第1のソース画像が変更されるように、上記表示メモリ内の上記第1のソース画像を上記第2のソース画像で上書きするステップとを有するビデオ処理方法。 - 上記透明度係数を変更するステップは上記表示メモリに保持された上記第1のソース画像に対し1次元テクスチャ関数として上記ワイプ制御信号を適用するステップからなることを特徴とする請求項1に記載のビデオ処理方法。
- 上記透明度係数を変更するステップは上記表示メモリ内の上記第1のソース画像の各表示位置と関連付けられた上記透明度係数を上記ワイプ制御信号から導出された値で置換することを特徴とする請求項1又は2に記載のビデオ処理方法。
- 上記それぞれの透明度係数は上記記第1及び第2のソース画像の各画素と関連付けられることを特徴とする請求項1乃至3のいずれか1項に記載のビデオ処理方法。
- 上記記第1及び第2のソース画像のそれぞれから求められる出力画像の割合を変更するユーザワイプ制御を配置することを特徴とする請求項1乃至4のいずれか1項に記載のビデオ処理方法。
- 上記ワイプ始点軌跡が単点であり、上記ワイプ終点軌跡が円を定義することを特徴とする請求項1乃至5のいずれか1項に記載のビデオ処理方法。
- 上記ワイプ始点軌跡と上記ワイプ終点軌跡とが平行直線を定義することを特徴とする請求範囲1乃至5のいずれか1項に記載のビデオ処理方法。
- 請求項1乃至7いずれか1項に記載のビデオ処理方法を実行するプログラムコードを有するコンピュータソフトウェア。
- 請求項8に記載のコンピュータソフトウェアを提供する提供媒体。
- 上記提供媒体が伝送媒体であることを特徴とする請求項9に記載の提供媒体。
- 上記提供媒体が記憶媒体であることを特徴とする請求項9に記載の提供媒体。
- 各出力画像は第1のソース画像から得られる1つ以上の領域を持ち、それらは第2のソース画像から得られる1つ以上の領域とワイプ境界線で分離され、上記第1及び第2のソース画像の各表示位置は、透明度係数が付与されてなる表示用出力画像を生成するビデオ処理装置において、
表示メモリと、
表示用の上記第1の画像を上記表示メモリに用意する手段と、
ワイプ終点軌跡上の点はワイプ始点軌跡上の点と合致し、このような合致点の対がそれぞれのワイプ進行方向を決定する場合、上記出力画像の実質的に全てが上記第1のソース画像から得られるときのワイプ境界線を表すワイプ始点軌跡と、上記出力画像の実質的に全てが上記第2のソース画像から得られるときのワイプ境界線を表すワイプ終点軌跡とを定義する手段と、
上記ワイプ始点軌跡及び上記ワイプ終点軌跡からの上記ワイプ進行方向に沿って正規化された表示距離に対して表示すべき上記第1及び第2のソース画像の割合を定義するワイプ制御信号を生成する手段と、
各表示位置の透明度係数は、その表示位置と上記ワイプ始点軌跡の間及びその表示位置と上記ワイプ終点軌跡の間の上記ワイプ進行方向に沿って正規化された表示距離に対応する上記ワイプ制御信号の値に依存して修正される場合に、上記表示メモリに保持された上記第1のソース画像の透明度係数を変更する手段と、
上記第1のソース画像の各表示位置と関連付けられた透明度係数に依存して上記第1のソース画像が上記第2のソース画像の画素で変更されるように、上記表示メモリ内の上記第1のソース画像を上記第2のソース画像で書き換える手段とを備えるビデオ処理装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0216685A GB2390950A (en) | 2002-07-17 | 2002-07-17 | Video wipe generation based on the distance of a display position between a wipe origin and a wipe destination |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004096730A true JP2004096730A (ja) | 2004-03-25 |
Family
ID=9940692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003276292A Withdrawn JP2004096730A (ja) | 2002-07-17 | 2003-07-17 | ビデオ処理方法及びビデオ処理装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7084927B2 (ja) |
EP (1) | EP1383314A3 (ja) |
JP (1) | JP2004096730A (ja) |
GB (1) | GB2390950A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006260537A (ja) * | 2005-03-18 | 2006-09-28 | Microsoft Corp | 3dモデルを使用する2dトランジションの生成 |
JP2006331415A (ja) * | 2005-05-09 | 2006-12-07 | Sony Computer Entertainment Europe Ltd | データプロセッサ、データ処理方法 |
JP2010140181A (ja) * | 2008-12-10 | 2010-06-24 | Nec Corp | ワイプ形状生成装置、ワイプ形状生成方法及びプログラム |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7239314B2 (en) * | 2002-08-29 | 2007-07-03 | Warner Bros. Animation | Method for 2-D animation |
US8205154B2 (en) * | 2004-04-16 | 2012-06-19 | Apple Inc. | User definable transition tool |
JP3877077B2 (ja) * | 2004-08-31 | 2007-02-07 | 任天堂株式会社 | ゲーム装置および画像処理プログラム |
US7941585B2 (en) * | 2004-09-10 | 2011-05-10 | Cavium Networks, Inc. | Local scratchpad and data caching system |
WO2006030401A2 (en) * | 2004-09-16 | 2006-03-23 | Koninklijke Philips Electronics N.V. | Multi-layer video/graphics blending including identifying composited non-transparent regions in the alpha multiplied overlay |
US8125486B2 (en) | 2006-02-23 | 2012-02-28 | Los Alamos National Security, Llc | Combining multi-layered bitmap files using network specific hardware |
US20090033674A1 (en) * | 2007-08-02 | 2009-02-05 | Disney Enterprises, Inc. | Method and apparatus for graphically defining surface normal maps |
KR20100056201A (ko) * | 2008-11-19 | 2010-05-27 | 삼성전자주식회사 | 디스플레이 장치 및 그 디스플레이 방법 |
KR101631273B1 (ko) * | 2009-10-26 | 2016-06-17 | 삼성전자주식회사 | Ui 애니메이션 제공 방법 및 장치 |
US20160098592A1 (en) * | 2014-10-01 | 2016-04-07 | The Governing Council Of The University Of Toronto | System and method for detecting invisible human emotion |
DK3554354T3 (en) | 2016-12-19 | 2023-10-23 | Nuralogix Corp | System and method for contactless blood pressure determination |
CN114489553B (zh) * | 2020-10-23 | 2024-03-08 | 北京嗨动视觉科技有限公司 | 特效切换方法、特效切换装置和插卡式视频处理设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6031390B2 (ja) * | 1978-05-12 | 1985-07-22 | 日本電気株式会社 | 特殊効果装置 |
JPS62230169A (ja) * | 1986-03-31 | 1987-10-08 | Toshiba Corp | ワイプ波形選択装置 |
US4954898A (en) * | 1988-05-07 | 1990-09-04 | Sony Corporation | Wipe pattern generator |
DE69114312T2 (de) * | 1990-01-19 | 1996-06-13 | Matsushita Electric Ind Co Ltd | Mischsignalgenerator. |
US6043852A (en) * | 1990-03-16 | 2000-03-28 | Sony Corporation | Wipe pattern generating apparatus |
US5412479A (en) * | 1990-10-01 | 1995-05-02 | Digital F/X, Inc. | Computer generated wipes for video editing systems |
US5235423A (en) * | 1991-08-16 | 1993-08-10 | The Grass Valley Group, Inc. | Controllable pseudo random noise pattern generator for use in video special effects |
US5305108A (en) * | 1992-07-02 | 1994-04-19 | Ampex Systems Corporation | Switcher mixer priority architecture |
GB9807165D0 (en) * | 1998-04-03 | 1998-06-03 | Discreet Logic Inc | Processing image data |
JPH11331700A (ja) * | 1998-05-15 | 1999-11-30 | Sony Corp | 画像処理装置および画像処理方法 |
GB2348763B (en) * | 1999-04-09 | 2003-07-16 | Sony Uk Ltd | Signal generator |
-
2002
- 2002-07-17 GB GB0216685A patent/GB2390950A/en not_active Withdrawn
-
2003
- 2003-06-26 EP EP03254060A patent/EP1383314A3/en not_active Withdrawn
- 2003-07-16 US US10/620,671 patent/US7084927B2/en not_active Expired - Fee Related
- 2003-07-17 JP JP2003276292A patent/JP2004096730A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006260537A (ja) * | 2005-03-18 | 2006-09-28 | Microsoft Corp | 3dモデルを使用する2dトランジションの生成 |
JP2006331415A (ja) * | 2005-05-09 | 2006-12-07 | Sony Computer Entertainment Europe Ltd | データプロセッサ、データ処理方法 |
JP2010140181A (ja) * | 2008-12-10 | 2010-06-24 | Nec Corp | ワイプ形状生成装置、ワイプ形状生成方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
GB2390950A (en) | 2004-01-21 |
GB0216685D0 (en) | 2002-08-28 |
EP1383314A3 (en) | 2006-11-08 |
US7084927B2 (en) | 2006-08-01 |
US20040012607A1 (en) | 2004-01-22 |
EP1383314A2 (en) | 2004-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7081892B2 (en) | Image with depth of field using z-buffer image data and alpha blending | |
US7439986B2 (en) | Pixel filtering using shared filter resource between overlay and texture mapping engines | |
US7142709B2 (en) | Generating image data | |
US6763175B1 (en) | Flexible video editing architecture with software video effect filter components | |
US6580430B1 (en) | Method and apparatus for providing improved fog effects in a graphics system | |
EP1383315B1 (en) | Video processing | |
US8306399B1 (en) | Real-time video editing architecture | |
JP2004096730A (ja) | ビデオ処理方法及びビデオ処理装置 | |
AU5785101A (en) | Recirculating shade tree blender for a graphics system | |
US6763176B1 (en) | Method and apparatus for real-time video editing using a graphics processor | |
JP3467259B2 (ja) | ゲームシステム、プログラム及び情報記憶媒体 | |
JP2007512603A (ja) | 画像描画 | |
JP4086002B2 (ja) | プログラム、画像処理装置及び方法、並びに記録媒体 | |
JP3652586B2 (ja) | 画像描画システム | |
JP3469225B2 (ja) | 3次元モデルに照明効果を施す方法、描画装置および記録媒体 | |
JP2003058905A (ja) | グラフィックスレンダリングシステムにおいて視覚的に重要なz成分の精度を最大化しz近傍クリッピングを回避するためのz近傍範囲におけるz値のクランピング | |
JP4766482B2 (ja) | 描画処理プログラム、描画処理プログラムを記憶した記憶媒体、描画処理方法、描画処理装置、及び携帯端末装置 | |
Witt | Real-time video effects on a PlayStation2 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20061003 |