JPH09102047A - 画像生成装置、動画伸長マッピング装置およびマルチメディア機器 - Google Patents
画像生成装置、動画伸長マッピング装置およびマルチメディア機器Info
- Publication number
- JPH09102047A JPH09102047A JP19677996A JP19677996A JPH09102047A JP H09102047 A JPH09102047 A JP H09102047A JP 19677996 A JP19677996 A JP 19677996A JP 19677996 A JP19677996 A JP 19677996A JP H09102047 A JPH09102047 A JP H09102047A
- Authority
- JP
- Japan
- Prior art keywords
- image
- pixel
- pixel position
- block
- data
- 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
Links
Landscapes
- Image Generation (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
(57)【要約】
【課題】 圧縮動画伸長における動き補償処理と三次元
CG生成におけるテクスチャマッピング処理を行う為に
必要な処理回路規模の縮小化やデータ転送量の削減。 【解決手段】 画素位置指定回路202よりブロック画像
メモリ205内の差分画像内の画素位置とフレームメモリ1
09内の基準画像内の画素位置と生成画像内の画素位置を
指定し、差分画像データと基準画像データを画素演算回
路203で演算し結果を生成画像内に書き込むことにより
動き補償処理を行ない、さらに生成画像をブロック画像
メモリ205に移し、画素位置指定回路202よりブロック画
像メモリ205内のテクスチャ画像の画素位置とフレーム
メモリ109内の生成ポリゴン内の画素位置を指定し、テ
クスチャ画像データと生成ポリゴンの画像データを画素
演算回路203で演算し結果を生成ポリゴン内に書き込む
ことによりテクスチャマッピング処理を行なうことで、
圧縮動画を伸長しつつテクスチャマッピングすることが
可能となり、その結果処理回路規模の縮小化とデータ転
送量の削減とが実現される。
CG生成におけるテクスチャマッピング処理を行う為に
必要な処理回路規模の縮小化やデータ転送量の削減。 【解決手段】 画素位置指定回路202よりブロック画像
メモリ205内の差分画像内の画素位置とフレームメモリ1
09内の基準画像内の画素位置と生成画像内の画素位置を
指定し、差分画像データと基準画像データを画素演算回
路203で演算し結果を生成画像内に書き込むことにより
動き補償処理を行ない、さらに生成画像をブロック画像
メモリ205に移し、画素位置指定回路202よりブロック画
像メモリ205内のテクスチャ画像の画素位置とフレーム
メモリ109内の生成ポリゴン内の画素位置を指定し、テ
クスチャ画像データと生成ポリゴンの画像データを画素
演算回路203で演算し結果を生成ポリゴン内に書き込む
ことによりテクスチャマッピング処理を行なうことで、
圧縮動画を伸長しつつテクスチャマッピングすることが
可能となり、その結果処理回路規模の縮小化とデータ転
送量の削減とが実現される。
Description
【0001】
【発明の属する技術分野】本発明は、コンピュータグラ
フィックス(以下「CG」と表記する)の生成や、高能
率符号化されたディジタル動画の伸長(以下「圧縮動画
伸長」と表記する)を行なう画像生成装置に関するもの
である。さらに詳細には、テクスチャマッピング手法に
よるCGの実時間生成とフレーム間動き補償を用い高能
率符号化されたディジタル動画の伸長を単一の構成の装
置で実現する画像生成装置ならびにこの画像生成装置を
用いた動画伸長マッピング装置およびマルチメディア機
器に関するものである。
フィックス(以下「CG」と表記する)の生成や、高能
率符号化されたディジタル動画の伸長(以下「圧縮動画
伸長」と表記する)を行なう画像生成装置に関するもの
である。さらに詳細には、テクスチャマッピング手法に
よるCGの実時間生成とフレーム間動き補償を用い高能
率符号化されたディジタル動画の伸長を単一の構成の装
置で実現する画像生成装置ならびにこの画像生成装置を
用いた動画伸長マッピング装置およびマルチメディア機
器に関するものである。
【0002】
【従来の技術】近年、家庭用TVゲーム機器やパーソナ
ルコンピュータ、ワークステーションなどにおいて、C
RTディスプレイ等に表示出力するCGを生成するため
に、あらかじめ用意された画像データ(以下「テクスチ
ャ画像」と表記する)を多角形領域(以下「ポリゴン」
と表記する)に貼り付ける手法、すなわち「テクスチャ
マッピング手法」が用いられることがある。テクスチャ
マッピング手法を用いれば、複雑な3次元立体形状を描
画する際、数少ないポリゴンで近似描画しても、比較的
高画質の画像が得られるという効果がある。
ルコンピュータ、ワークステーションなどにおいて、C
RTディスプレイ等に表示出力するCGを生成するため
に、あらかじめ用意された画像データ(以下「テクスチ
ャ画像」と表記する)を多角形領域(以下「ポリゴン」
と表記する)に貼り付ける手法、すなわち「テクスチャ
マッピング手法」が用いられることがある。テクスチャ
マッピング手法を用いれば、複雑な3次元立体形状を描
画する際、数少ないポリゴンで近似描画しても、比較的
高画質の画像が得られるという効果がある。
【0003】一方、パーソナルコンピュータやオーディ
オビジュアル機器などにおいて、動画データをCRTデ
ィスプレイ等に表示出力する場合に、あらかじめ圧縮さ
れた動画データをリアルタイムで伸長しながら表示する
ことが行なわれている。圧縮された動画データを用いる
ことで、記憶媒体の容量やデータの伝送量を低減できる
という効果がある。
オビジュアル機器などにおいて、動画データをCRTデ
ィスプレイ等に表示出力する場合に、あらかじめ圧縮さ
れた動画データをリアルタイムで伸長しながら表示する
ことが行なわれている。圧縮された動画データを用いる
ことで、記憶媒体の容量やデータの伝送量を低減できる
という効果がある。
【0004】動画データを効率的に圧縮するための手法
の1つとして、複数のフレームにまたがって画像データ
の差分データのみを符号化するいわゆるフレーム間予測
符号化の手法がある。フレーム間予測符号化には、差分
をとる画像の組み合わせにより「順方向予測符号化」、
「逆方向予測符号化」、「双方向予測符号化」がある。
の1つとして、複数のフレームにまたがって画像データ
の差分データのみを符号化するいわゆるフレーム間予測
符号化の手法がある。フレーム間予測符号化には、差分
をとる画像の組み合わせにより「順方向予測符号化」、
「逆方向予測符号化」、「双方向予測符号化」がある。
【0005】入力された画像シーケンスの中で、圧縮対
象の画像を「入力画像」、時間的に入力画像よりも前の
画像を「過去画像」、入力画像よりも後の画像を「未来
画像」とすると、順方向予測符号化は、入力画像と過去
画像との差分データを符号化し、逆方向予測符号化は、
入力画像と未来画像との差分データを符号化し、さらに
双方向予測符号化は、過去画像と未来画像の両方を使っ
て符号化するものである。なお、過去画像と未来画像と
をあわせて基準画像という。
象の画像を「入力画像」、時間的に入力画像よりも前の
画像を「過去画像」、入力画像よりも後の画像を「未来
画像」とすると、順方向予測符号化は、入力画像と過去
画像との差分データを符号化し、逆方向予測符号化は、
入力画像と未来画像との差分データを符号化し、さらに
双方向予測符号化は、過去画像と未来画像の両方を使っ
て符号化するものである。なお、過去画像と未来画像と
をあわせて基準画像という。
【0006】さらに、圧縮率を高めるために動き予測処
理がなされる。動き予測処理は、差分データを求める際
に、画像内の同一位置での差だけでなく、入力画像をあ
る大きさの画像ブロック(例えば16×16画素)に分
割し、各ブロックごとに、対応する基準画像内で水平お
よび垂直方向にずらして最も差分が小さくなる位置を求
め、その時のブロック位置と差分データとを符号化する
手法である。この手法では、最も圧縮効率が高くなるよ
うに、画像ブロックごとに、「順方向予測」、「逆方向
予測」、「双方向予測」、あるいは「予測符号化を行な
わない」かを適応的に切替えて符号化される。また、基
準画像ブロックの位置は1画素精度だけでなく、半画素
精度で求められることもある。
理がなされる。動き予測処理は、差分データを求める際
に、画像内の同一位置での差だけでなく、入力画像をあ
る大きさの画像ブロック(例えば16×16画素)に分
割し、各ブロックごとに、対応する基準画像内で水平お
よび垂直方向にずらして最も差分が小さくなる位置を求
め、その時のブロック位置と差分データとを符号化する
手法である。この手法では、最も圧縮効率が高くなるよ
うに、画像ブロックごとに、「順方向予測」、「逆方向
予測」、「双方向予測」、あるいは「予測符号化を行な
わない」かを適応的に切替えて符号化される。また、基
準画像ブロックの位置は1画素精度だけでなく、半画素
精度で求められることもある。
【0007】近年、テクスチャマッピング手法におい
て、あらかじめ用意するテクスチャ画像として圧縮符号
化した動画像を用いる方法がある。すなわち、伸長され
た動画像をポリゴン上にマッピングする方法である。こ
の方法を実現する、従来の画像生成装置の一例として
は、特開平6−162165公報に開示されたものがあ
る。
て、あらかじめ用意するテクスチャ画像として圧縮符号
化した動画像を用いる方法がある。すなわち、伸長され
た動画像をポリゴン上にマッピングする方法である。こ
の方法を実現する、従来の画像生成装置の一例として
は、特開平6−162165公報に開示されたものがあ
る。
【0008】この従来例においては、従来テクスチャ画
像として用いられてきた幾何学パターンや、写真、手書
きの図案等の静止画像にかわり、テクスチャ画像に動画
像を用いることができる画像処理方法を提供すること
で、変化に富んだCG画像を生成することを実現してい
る。本従来例の構成は、圧縮動画データを情報記録媒体
から再生するデータ再生手段と、上記データ再生手段か
ら再生された圧縮動画データを伸長する画像データ伸長
手段と、上記画像データ伸長手段からの伸長された画像
データをバスラインを介して受け取り、上記画像データ
を合成する画像合成手段、とからなる。
像として用いられてきた幾何学パターンや、写真、手書
きの図案等の静止画像にかわり、テクスチャ画像に動画
像を用いることができる画像処理方法を提供すること
で、変化に富んだCG画像を生成することを実現してい
る。本従来例の構成は、圧縮動画データを情報記録媒体
から再生するデータ再生手段と、上記データ再生手段か
ら再生された圧縮動画データを伸長する画像データ伸長
手段と、上記画像データ伸長手段からの伸長された画像
データをバスラインを介して受け取り、上記画像データ
を合成する画像合成手段、とからなる。
【0009】
【発明が解決しようとする課題】しかしながら上記従来
例の構成では、以下に説明する問題点が生じる。
例の構成では、以下に説明する問題点が生じる。
【0010】まず、図27を用いて、従来の画像生成装
置の構成を説明する。 図27において、システムバス2
401は各ブロック間のデータの伝送媒体となる。CPU2
402はシステム全体を制御する。メインメモリ2403はプ
ログラムやデータを格納する。画像伸長回路2404は圧縮
動画データの伸長を行う。CD−ROMデコーダ2405は
情報記録媒体であるCD-ROM2409からデータを再生
する。画像合成回路2406は伸長された動画データをテク
スチャマッピング処理によりフレームメモリ2410上に合
成する。座標変換回路2407は画像合成のための座標を求
める。DMAコントローラ2408はシステムバス上のデー
タ転送を行なう。CD−ROM2409は画像データなどを
記憶する情報記憶媒体である。フレームメモリ2410は画
像合成処理の作業用メモリである。DA変換回路2412は
画像合成結果を表示するために信号をDA変換する。
置の構成を説明する。 図27において、システムバス2
401は各ブロック間のデータの伝送媒体となる。CPU2
402はシステム全体を制御する。メインメモリ2403はプ
ログラムやデータを格納する。画像伸長回路2404は圧縮
動画データの伸長を行う。CD−ROMデコーダ2405は
情報記録媒体であるCD-ROM2409からデータを再生
する。画像合成回路2406は伸長された動画データをテク
スチャマッピング処理によりフレームメモリ2410上に合
成する。座標変換回路2407は画像合成のための座標を求
める。DMAコントローラ2408はシステムバス上のデー
タ転送を行なう。CD−ROM2409は画像データなどを
記憶する情報記憶媒体である。フレームメモリ2410は画
像合成処理の作業用メモリである。DA変換回路2412は
画像合成結果を表示するために信号をDA変換する。
【0011】次に画像生成装置の動作を説明する。CD
-ROM2409に格納されている圧縮動画データはCD-R
OMデコーダ2405により読み出され再生される。再生さ
れた圧縮動画データはシステムバス2401を介して画像伸
長回路2404に転送される。画像伸長回路2404では圧縮動
画データが伸長される。伸長された動画データは再びシ
ステムバス2401を介して画像合成回路2406に転送され
る。一方描画座標はCPU2402および座標変換回路2407
で求められ、システムバス2401を介して画像合成回路24
06に指示される。画像合成回路2406では、画像伸長回路
2404から転送された動画データをCPU2402から指示さ
れたフレームメモリ2410上の座標にテクスチャマッピン
グにより合成する。フレームメモリ2410上に合成された
画像は画像合成回路2406により読み出されDA変換回路
2412に転送される。DA変換回路2412ではディジタル信
号をアナログ信号に変換し出力する。
-ROM2409に格納されている圧縮動画データはCD-R
OMデコーダ2405により読み出され再生される。再生さ
れた圧縮動画データはシステムバス2401を介して画像伸
長回路2404に転送される。画像伸長回路2404では圧縮動
画データが伸長される。伸長された動画データは再びシ
ステムバス2401を介して画像合成回路2406に転送され
る。一方描画座標はCPU2402および座標変換回路2407
で求められ、システムバス2401を介して画像合成回路24
06に指示される。画像合成回路2406では、画像伸長回路
2404から転送された動画データをCPU2402から指示さ
れたフレームメモリ2410上の座標にテクスチャマッピン
グにより合成する。フレームメモリ2410上に合成された
画像は画像合成回路2406により読み出されDA変換回路
2412に転送される。DA変換回路2412ではディジタル信
号をアナログ信号に変換し出力する。
【0012】図40は、図27に示される画像伸長回路
2404内部の構成を示す。以下、図40を参照して、動き
補償処理の動作を説明する。
2404内部の構成を示す。以下、図40を参照して、動き
補償処理の動作を説明する。
【0013】CD−ROMデコーダから読み出された圧
縮動画データは、システムバス2401を経由して、例
えば16画素×16画素の画像ブロック単位で画像伸長
回路2404に入力される。画像伸長回路2404に入力さ
れた、圧縮された画像ブロックデータは、最初に可変長
逆符号化回路3001により直交変換係数画像3002に変換さ
れる。続いて直交変換回路3003により差分画像ブロック
に変換され差分画像メモリ3004に格納される。画像伸長
回路2404に入力される圧縮された画像ブロックデータに
は、差分画像成分だけでなく、この画像ブロックを復号
化するのに必要な動き補償データが含まれている。動き
補償データとは、この画像ブロックが符号化される際に
用いられた動き予測処理の種別(すなわち、「順方向予
測」、「逆方向予測」「双方向予測」あるいは「予測符
号化を行っていない」という種別)を示すデータと、予
測に用いた基準画像ブロックの位置を示すデータであ
る。この動き補償データの内容に基づいて、以降の動き
補償回路3013で、動き補償処理が行われる。基準画像メ
モリ3012から、基準画像ブロックの位置を示すデータに
対応した位置の画像ブロックが、画像読み出し回路300
7、3008を通して読み出される。例えば、変換対象の画
像ブロックが順方向予測により符号化されたブロックで
あった場合、平均/選択回路3009により過去画像メモリ
3005から読み出された画像ブロックが選択され、加算回
路3010に入力される。加算回路3010で、この過去画像ブ
ロックデータと、差分画像ブロックデータが加算され、
生成画像メモリ3011内に書き込まれる。逆方向予測で符
号化された画像ブロックの場合は、未来画像メモリ3006
から読み出された画像ブロックが選択され差分画像ブロ
ックと加算される。また、変換対象の画像ブロックが双
方向予測により符号化されたブロックであった場合、平
均/選択回路3009は、過去画像メモリ3005から読み出し
た画像ブロックと、未来画像メモリ3006から読み出した
画像ブロックの画素ごとの平均値を計算し、その結果が
加算回路3010に送られ、差分画像ブロックと加算されて
生成画像メモリ3011に格納される。画像ブロック読み出
し回路3007、3008は、基準画像ブロックの位置を示すデ
ータが1/2画素精度で与えられた場合には、隣合う2
つの画素の平均値を計算しつつ画像ブロックを読み出す
などの1/2画素精度に対応した読み出し機能を備えて
いる。生成画像メモリ3011に格納された伸長後の動画デ
ータは、システムバス2401を介して画像合成回路へ転送
される。また、以降の動画伸長に利用するため、生成画
像メモリ3011の内容は、基準画像メモリ3012内の過去画
像メモリ3005または未来画像メモリ3006へも転送され
る。以上が従来の画像伸長回路内部の構成であり、動き
補償処理の動作である。
縮動画データは、システムバス2401を経由して、例
えば16画素×16画素の画像ブロック単位で画像伸長
回路2404に入力される。画像伸長回路2404に入力さ
れた、圧縮された画像ブロックデータは、最初に可変長
逆符号化回路3001により直交変換係数画像3002に変換さ
れる。続いて直交変換回路3003により差分画像ブロック
に変換され差分画像メモリ3004に格納される。画像伸長
回路2404に入力される圧縮された画像ブロックデータに
は、差分画像成分だけでなく、この画像ブロックを復号
化するのに必要な動き補償データが含まれている。動き
補償データとは、この画像ブロックが符号化される際に
用いられた動き予測処理の種別(すなわち、「順方向予
測」、「逆方向予測」「双方向予測」あるいは「予測符
号化を行っていない」という種別)を示すデータと、予
測に用いた基準画像ブロックの位置を示すデータであ
る。この動き補償データの内容に基づいて、以降の動き
補償回路3013で、動き補償処理が行われる。基準画像メ
モリ3012から、基準画像ブロックの位置を示すデータに
対応した位置の画像ブロックが、画像読み出し回路300
7、3008を通して読み出される。例えば、変換対象の画
像ブロックが順方向予測により符号化されたブロックで
あった場合、平均/選択回路3009により過去画像メモリ
3005から読み出された画像ブロックが選択され、加算回
路3010に入力される。加算回路3010で、この過去画像ブ
ロックデータと、差分画像ブロックデータが加算され、
生成画像メモリ3011内に書き込まれる。逆方向予測で符
号化された画像ブロックの場合は、未来画像メモリ3006
から読み出された画像ブロックが選択され差分画像ブロ
ックと加算される。また、変換対象の画像ブロックが双
方向予測により符号化されたブロックであった場合、平
均/選択回路3009は、過去画像メモリ3005から読み出し
た画像ブロックと、未来画像メモリ3006から読み出した
画像ブロックの画素ごとの平均値を計算し、その結果が
加算回路3010に送られ、差分画像ブロックと加算されて
生成画像メモリ3011に格納される。画像ブロック読み出
し回路3007、3008は、基準画像ブロックの位置を示すデ
ータが1/2画素精度で与えられた場合には、隣合う2
つの画素の平均値を計算しつつ画像ブロックを読み出す
などの1/2画素精度に対応した読み出し機能を備えて
いる。生成画像メモリ3011に格納された伸長後の動画デ
ータは、システムバス2401を介して画像合成回路へ転送
される。また、以降の動画伸長に利用するため、生成画
像メモリ3011の内容は、基準画像メモリ3012内の過去画
像メモリ3005または未来画像メモリ3006へも転送され
る。以上が従来の画像伸長回路内部の構成であり、動き
補償処理の動作である。
【0014】次に、図41を用いて、図27に示される
画像合成回路2406内部及びフレームメモリ2410で行われ
る従来のテクスチャマッピング処理の動作について説明
する。
画像合成回路2406内部及びフレームメモリ2410で行われ
る従来のテクスチャマッピング処理の動作について説明
する。
【0015】画像合成回路2406に転送されてきた動画デ
ータは、画像合成回路がテクスチャマッピング動作をす
る場合、テクスチャ画像データ3101として、一旦、フレ
ームメモリ2410内に格納される。そして、テクスチャ画
像3101が画像合成回路により読み出され、画像変形され
て生成画像3102領域内に格納(マッピング)される。テ
クスチャ画像3101内の1つの画素3104は、テクスチャマ
ッピング回路3106内の第1の乗算回路3107に入力され
る。同時にこの画素がマッピングされる先の生成画像領
域3102内の画素3105が、第2の乗算回路3108に入力され
る。第1の乗算回路3107では、乗数α(但し、αは0以
上1以下の数値)が乗じられ、第2の乗算回路3108で
は、乗数(1−α)が乗じられ、それぞれの乗算結果が
加算回路3109に入力され加算される。この結果が、生成
画像3102内の画素3105の位置に格納される。以上の動作
をテクスチャ画像のすべての画素について順次行うこと
により、生成画像内の原画像(これは、一般に背景画像
である。)と、テクスチャ画像の、半透明合成を伴うテ
クスチャマッピング処理が実現される。以上が、従来の
画像合成回路で行われるテクスチャマッピング処理の動
作である。
ータは、画像合成回路がテクスチャマッピング動作をす
る場合、テクスチャ画像データ3101として、一旦、フレ
ームメモリ2410内に格納される。そして、テクスチャ画
像3101が画像合成回路により読み出され、画像変形され
て生成画像3102領域内に格納(マッピング)される。テ
クスチャ画像3101内の1つの画素3104は、テクスチャマ
ッピング回路3106内の第1の乗算回路3107に入力され
る。同時にこの画素がマッピングされる先の生成画像領
域3102内の画素3105が、第2の乗算回路3108に入力され
る。第1の乗算回路3107では、乗数α(但し、αは0以
上1以下の数値)が乗じられ、第2の乗算回路3108で
は、乗数(1−α)が乗じられ、それぞれの乗算結果が
加算回路3109に入力され加算される。この結果が、生成
画像3102内の画素3105の位置に格納される。以上の動作
をテクスチャ画像のすべての画素について順次行うこと
により、生成画像内の原画像(これは、一般に背景画像
である。)と、テクスチャ画像の、半透明合成を伴うテ
クスチャマッピング処理が実現される。以上が、従来の
画像合成回路で行われるテクスチャマッピング処理の動
作である。
【0016】上記のような画像生成装置では、動画を伸
長するために圧縮動画データをシステムバス2401を介し
て画像伸長回路2404に転送し、伸長結果の動画データを
再びシステムバス2401を介して画像合成回路2406に転送
している。伸長された動画データのデータ量は一般的に
非常に多く(320×240画素の動画の場合、約7M
B/秒)、システムバス2401のデータ転送能力に大きな
負荷をかけることになる。また、動画圧縮を高能率で行
なう場合フレーム間動き予測技術が用いられることが多
く、この技術に基づき圧縮された動画を伸長するために
はフレームメモリを備えることが必要となる。すなわ
ち、画像伸長回路2404と画像合成回路2406を分離して備
えていると、画像伸長処理用のフレームメモリと、画像
を描画するためのフレームメモリ2410をそれぞれ分離し
てもたなければならないことになる。また、画像伸長回
路2404と画像合成回路2406をシステムバス2401を介して
接続しているため、データ転送のタイミング制御など制
御の複雑化をまねくとともにシステム構成も複雑とな
る。
長するために圧縮動画データをシステムバス2401を介し
て画像伸長回路2404に転送し、伸長結果の動画データを
再びシステムバス2401を介して画像合成回路2406に転送
している。伸長された動画データのデータ量は一般的に
非常に多く(320×240画素の動画の場合、約7M
B/秒)、システムバス2401のデータ転送能力に大きな
負荷をかけることになる。また、動画圧縮を高能率で行
なう場合フレーム間動き予測技術が用いられることが多
く、この技術に基づき圧縮された動画を伸長するために
はフレームメモリを備えることが必要となる。すなわ
ち、画像伸長回路2404と画像合成回路2406を分離して備
えていると、画像伸長処理用のフレームメモリと、画像
を描画するためのフレームメモリ2410をそれぞれ分離し
てもたなければならないことになる。また、画像伸長回
路2404と画像合成回路2406をシステムバス2401を介して
接続しているため、データ転送のタイミング制御など制
御の複雑化をまねくとともにシステム構成も複雑とな
る。
【0017】従来の画像生成装置では上記のように多く
の問題点が存在していた。
の問題点が存在していた。
【0018】本発明はこのような現状に鑑みてなされた
ものであり、その目的とするところはフレーム間動き予
測を用いて符号化されたディジタル動画の伸長処理と、
テクスチャマッピングの手法によるCG画像の生成とを
単一の構成で実現することにより、装置構成の単純化、
処理装置の回路規模の縮小化、処理に要するメモリ量の
削減、メモリ間の動画データ転送を不要とすることによ
るデータ転送量の削減を実現することのできる画像生成
装置を提供することにある。
ものであり、その目的とするところはフレーム間動き予
測を用いて符号化されたディジタル動画の伸長処理と、
テクスチャマッピングの手法によるCG画像の生成とを
単一の構成で実現することにより、装置構成の単純化、
処理装置の回路規模の縮小化、処理に要するメモリ量の
削減、メモリ間の動画データ転送を不要とすることによ
るデータ転送量の削減を実現することのできる画像生成
装置を提供することにある。
【0019】
【課題を解決するための手段】本発明の画像生成装置
は、少なくとも動き補償処置またはテクスチャマッピン
グ処理を含む処理を指示するコマンド信号を受け取り、
該処理に応じて、メモリにおける少なくとも2つの画像
の位置をそれぞれ指示し、該少なくとも2つの画像の画
像データを受け取り、該少なくとも2つの画像の画像デ
ータを用いて演算を行い、演算結果を新たに生成された
画像としてメモリ上の所定の位置に出力することによ
り、動き補償処理とテクスチャマッピング処理の共通の
処理を単一の手段で行い、そのことにより上記目的が達
成される。
は、少なくとも動き補償処置またはテクスチャマッピン
グ処理を含む処理を指示するコマンド信号を受け取り、
該処理に応じて、メモリにおける少なくとも2つの画像
の位置をそれぞれ指示し、該少なくとも2つの画像の画
像データを受け取り、該少なくとも2つの画像の画像デ
ータを用いて演算を行い、演算結果を新たに生成された
画像としてメモリ上の所定の位置に出力することによ
り、動き補償処理とテクスチャマッピング処理の共通の
処理を単一の手段で行い、そのことにより上記目的が達
成される。
【0020】本発明の別の画像生成装置は、少なくとも
動き補償処理または、テクスチャマッピング処理を含む
処理を指示するコマンド信号を受け取り、それぞれ対応
する第1の画素位置を示す信号、第2の画素位置を示す
信号、および第3の画素位置を示す信号を出力し、該コ
マンド信号が動き補償処理を指示しているときには、基
準画像ブロック内の画素の位置を該第1の画素位置と
し、生成画像ブロック内の画素の位置を該第2の画素位
置とし、差分画像ブロック内の画素の位置を該第3の画
素位置とし、該コマンド信号がテクスチャマッピング処
理を指示しているときには、マッピングされるポリゴン
内の画素の位置を該第1の画素位置および該第2の画素
位置とし、テクスチャ画像内の画素の位置を該第3の画
素位置とする画素位置指定手段と、該第1の画素位置を
示す信号を受け取り、該第1の画素位置の画素値を第1
の画素データとして出力し、該第3の画素位置を示す信
号を受け取り、該第3の画素位置の画素値を第3の画素
データとして出力し、該第2の画素位置を示す信号と第
2の画素データとを受け取り、該第2の画素位置に該第
2の画素データを書き込む画像メモリアクセス手段と、
該第1の画素データと該第3の画素データとの間で演算
を行い、その演算結果を該第2の画素データとして出力
する画素演算手段と、を備えておりそのことにより上記
目的が達成される。
動き補償処理または、テクスチャマッピング処理を含む
処理を指示するコマンド信号を受け取り、それぞれ対応
する第1の画素位置を示す信号、第2の画素位置を示す
信号、および第3の画素位置を示す信号を出力し、該コ
マンド信号が動き補償処理を指示しているときには、基
準画像ブロック内の画素の位置を該第1の画素位置と
し、生成画像ブロック内の画素の位置を該第2の画素位
置とし、差分画像ブロック内の画素の位置を該第3の画
素位置とし、該コマンド信号がテクスチャマッピング処
理を指示しているときには、マッピングされるポリゴン
内の画素の位置を該第1の画素位置および該第2の画素
位置とし、テクスチャ画像内の画素の位置を該第3の画
素位置とする画素位置指定手段と、該第1の画素位置を
示す信号を受け取り、該第1の画素位置の画素値を第1
の画素データとして出力し、該第3の画素位置を示す信
号を受け取り、該第3の画素位置の画素値を第3の画素
データとして出力し、該第2の画素位置を示す信号と第
2の画素データとを受け取り、該第2の画素位置に該第
2の画素データを書き込む画像メモリアクセス手段と、
該第1の画素データと該第3の画素データとの間で演算
を行い、その演算結果を該第2の画素データとして出力
する画素演算手段と、を備えておりそのことにより上記
目的が達成される。
【0021】前記コマンドが動き補償処理を指示してい
るときには、前記第2の画素位置と前記第3の画素位置
とが同一であってもよい。
るときには、前記第2の画素位置と前記第3の画素位置
とが同一であってもよい。
【0022】前記コマンドが動き補償処理を指示してい
るときには、前記第2の画素位置と前記第3の画素位置
とが異なっていてもよい。
るときには、前記第2の画素位置と前記第3の画素位置
とが異なっていてもよい。
【0023】好ましくは、前記画素位置指定手段は、前
記コマンド信号が動き補償処理およびテクスチャマッピ
ング処理の同時処理を指示しているときには、基準画像
ブロック内の画素の位置を前記第1の画素位置とし、テ
クスチャマッピングされる生成ポリゴン内の画素の位置
を前記第2の画素位置とし、差分画像ブロック内の画素
位置を前記第3の画素の位置として出力する。
記コマンド信号が動き補償処理およびテクスチャマッピ
ング処理の同時処理を指示しているときには、基準画像
ブロック内の画素の位置を前記第1の画素位置とし、テ
クスチャマッピングされる生成ポリゴン内の画素の位置
を前記第2の画素位置とし、差分画像ブロック内の画素
位置を前記第3の画素の位置として出力する。
【0024】好ましくは、前記画素演算手段は、前記コ
マンド信号を受け取り、該コマンド信号が動き補償処理
を指示している場合もしくは動き補償処理とテクスチャ
マッピング処理の同時処理を指示している場合に、前記
第1の画素データと前記第3の画素データを符号付きの
精度のデータとして演算処理し、該コマンド信号がテク
スチャマッピング処理を指示している場合には、該第1
の画素データと該第3の画素データを符号なしの精度の
データとして演算処理を行なう。
マンド信号を受け取り、該コマンド信号が動き補償処理
を指示している場合もしくは動き補償処理とテクスチャ
マッピング処理の同時処理を指示している場合に、前記
第1の画素データと前記第3の画素データを符号付きの
精度のデータとして演算処理し、該コマンド信号がテク
スチャマッピング処理を指示している場合には、該第1
の画素データと該第3の画素データを符号なしの精度の
データとして演算処理を行なう。
【0025】好ましくは、前記画素位置指定手段は、前
記コマンド信号を受け取り、該コマンド信号が動き補償
処理を指示している場合には、前記第1の画素位置の前
記基準画像ブロック内における相対位置と、前記第3の
画素位置の前記差分画像ブロック内における相対位置
と、前記第2の画素位置の前記生成画像ブロック内にお
ける相対位置とが同一となる画素位置を指定する。
記コマンド信号を受け取り、該コマンド信号が動き補償
処理を指示している場合には、前記第1の画素位置の前
記基準画像ブロック内における相対位置と、前記第3の
画素位置の前記差分画像ブロック内における相対位置
と、前記第2の画素位置の前記生成画像ブロック内にお
ける相対位置とが同一となる画素位置を指定する。
【0026】好ましくは、前記画素位置指定手段は、前
記コマンド信号を受け取り、該コマンド信号が、テクス
チャマッピング処理を指示している場合には、前記生成
ポリゴン内の水平ライン上の各画素の画素位置を順次計
算し、該画素位置を前記第1の画素位置および前記第2
の画素位置として指定し、さらに該第1の画素位置およ
び該第2の画素位置に対応する前記テクスチャ画像内の
画素位置を求め、該画素位置を前記第3の画素位置とし
て指定し、該コマンド信号が動き補償処理を指示してい
る場合には、前記生成画像ブロック内の水平ライン上の
各画素の画素位置を順次計算し、該画素位置を該第2の
画素位置として指定し、さらに該第3の画素位置の前記
差分画像ブロック内における相対位置と該第1の画素位
置の前記基準画像ブロック内における相対位置とが該第
2の画素位置の前記生成画像ブロック内における相対位
置と同一となるような該第3の画素位置および該第1の
画素位置を指定する。
記コマンド信号を受け取り、該コマンド信号が、テクス
チャマッピング処理を指示している場合には、前記生成
ポリゴン内の水平ライン上の各画素の画素位置を順次計
算し、該画素位置を前記第1の画素位置および前記第2
の画素位置として指定し、さらに該第1の画素位置およ
び該第2の画素位置に対応する前記テクスチャ画像内の
画素位置を求め、該画素位置を前記第3の画素位置とし
て指定し、該コマンド信号が動き補償処理を指示してい
る場合には、前記生成画像ブロック内の水平ライン上の
各画素の画素位置を順次計算し、該画素位置を該第2の
画素位置として指定し、さらに該第3の画素位置の前記
差分画像ブロック内における相対位置と該第1の画素位
置の前記基準画像ブロック内における相対位置とが該第
2の画素位置の前記生成画像ブロック内における相対位
置と同一となるような該第3の画素位置および該第1の
画素位置を指定する。
【0027】前記画素位置指定手段は、前記コマンド信
号を受け取り、該コマンド信号が、テクスチャマッピン
グ処理を指示している場合には、前記テクスチャ画像内
の水平ライン上の各画素の画素位置を順次計算し、該画
素位置を前記第3の画素位置として指定し、さらに該第
3の画素位置に対応する生成ポリゴン内の画素位置を求
め、この画素位置を前記第1の画素位置および前記第2
の画素位置として指定し、該コマンド信号が、動き補償
処理を指示している場合には、前記差分画像ブロック内
の水平ライン上の各画素の画素位置を順次計算し、該画
素位置を該第3の画素位置として指定し、さらに該第1
の画素位置の前記基準画像ブロック内における相対位置
と該第2の画素位置の前記生成画像ブロック内における
相対位置とが該第3の画素位置の前記差分画像ブロック
内における相対位置と同一となるような該第1の画素位
置および該第2の画素位置を指定してもよい。
号を受け取り、該コマンド信号が、テクスチャマッピン
グ処理を指示している場合には、前記テクスチャ画像内
の水平ライン上の各画素の画素位置を順次計算し、該画
素位置を前記第3の画素位置として指定し、さらに該第
3の画素位置に対応する生成ポリゴン内の画素位置を求
め、この画素位置を前記第1の画素位置および前記第2
の画素位置として指定し、該コマンド信号が、動き補償
処理を指示している場合には、前記差分画像ブロック内
の水平ライン上の各画素の画素位置を順次計算し、該画
素位置を該第3の画素位置として指定し、さらに該第1
の画素位置の前記基準画像ブロック内における相対位置
と該第2の画素位置の前記生成画像ブロック内における
相対位置とが該第3の画素位置の前記差分画像ブロック
内における相対位置と同一となるような該第1の画素位
置および該第2の画素位置を指定してもよい。
【0028】好ましくは、前記画素位置指定手段は、前
記コマンド信号を受け取り、該コマンド信号が、動き補
償処理とテクスチャマッピング処理とを同時に実行する
ことを指示している場合には、前記生成ポリゴン内の水
平ライン上の各画素の画素位置を順次計算し、この画素
位置を前記第2の画素位置として指定し、さらに該第2
の画素位置の画素データにマッピングされる画素位置を
前記差分画像ブロック内に求め、この画素位置を前記第
3の画素位置として指定し、該第3の画素位置の前記差
分画像ブロック内における相対位置と前記第1の画素位
置の前記基準画像ブロック内における相対位置とが同一
となるような該第1の画素位置を指定する。
記コマンド信号を受け取り、該コマンド信号が、動き補
償処理とテクスチャマッピング処理とを同時に実行する
ことを指示している場合には、前記生成ポリゴン内の水
平ライン上の各画素の画素位置を順次計算し、この画素
位置を前記第2の画素位置として指定し、さらに該第2
の画素位置の画素データにマッピングされる画素位置を
前記差分画像ブロック内に求め、この画素位置を前記第
3の画素位置として指定し、該第3の画素位置の前記差
分画像ブロック内における相対位置と前記第1の画素位
置の前記基準画像ブロック内における相対位置とが同一
となるような該第1の画素位置を指定する。
【0029】前記画素位置指定手段は、前記コマンド信
号を受け取り、該コマンド信号が、動き補償処理とテク
スチャマッピング処理とを同時に実行することを指示し
ている場合には、前記差分画像ブロック内の水平ライン
上の各画素の画素位置を順次計算し、この画素位置を前
記第3の画素位置として指定し、さらに該第3の画素位
置に対応する生成ポリゴン内の画素位置を求め、この画
素位置を前記第2の画素位置として指定し、該第3の画
素位置の差分画像ブロック内の相対位置と前記第1の画
素位置の前記基準画像ブロック内における相対位置が同
一となるような該第1の画素位置を指定してもよい。
号を受け取り、該コマンド信号が、動き補償処理とテク
スチャマッピング処理とを同時に実行することを指示し
ている場合には、前記差分画像ブロック内の水平ライン
上の各画素の画素位置を順次計算し、この画素位置を前
記第3の画素位置として指定し、さらに該第3の画素位
置に対応する生成ポリゴン内の画素位置を求め、この画
素位置を前記第2の画素位置として指定し、該第3の画
素位置の差分画像ブロック内の相対位置と前記第1の画
素位置の前記基準画像ブロック内における相対位置が同
一となるような該第1の画素位置を指定してもよい。
【0030】好ましくは、前記画素演算手段は、前記コ
マンド信号を受け取り、該コマンド信号が、動き補償処
理を指示している場合に、前記基準画像ブロック内の前
記第1の画素位置より前記第1の画素データを読み出
し、前記差分画像ブロック内の前記第3の画素位置より
前記第3の画素データを読み出し、該第1の画素データ
と該第3の画素データとを用いて演算し、演算結果であ
る前記第2の画素データを前記生成画像ブロック内の画
素位置を示す前記第2の画素位置に書き込む手続きを一
画像ブロック内の全ての画素に対して行なうブロック動
き補償処理を行った後、前記画素位置指定手段が、前記
生成画像ブロックを新差分画像ブロックとし、また前記
基準画像ブロックと一画素だけずれた位置にある画像ブ
ロックを新基準画像ブロックとして画素位置を指定する
画像ブロック設定処理を行う。
マンド信号を受け取り、該コマンド信号が、動き補償処
理を指示している場合に、前記基準画像ブロック内の前
記第1の画素位置より前記第1の画素データを読み出
し、前記差分画像ブロック内の前記第3の画素位置より
前記第3の画素データを読み出し、該第1の画素データ
と該第3の画素データとを用いて演算し、演算結果であ
る前記第2の画素データを前記生成画像ブロック内の画
素位置を示す前記第2の画素位置に書き込む手続きを一
画像ブロック内の全ての画素に対して行なうブロック動
き補償処理を行った後、前記画素位置指定手段が、前記
生成画像ブロックを新差分画像ブロックとし、また前記
基準画像ブロックと一画素だけずれた位置にある画像ブ
ロックを新基準画像ブロックとして画素位置を指定する
画像ブロック設定処理を行う。
【0031】前記画素位置指定手段が、前記基準画像ブ
ロックに対して右方向に一画素だけずれた画像ブロック
を前記新基準画像ブロックとする画素ブロック設定処理
を行なってもよい。
ロックに対して右方向に一画素だけずれた画像ブロック
を前記新基準画像ブロックとする画素ブロック設定処理
を行なってもよい。
【0032】前記画素位置指定手段が、前記基準画像ブ
ロックに対して下方向に一画素だけずれた画像ブロック
を前記新基準画像ブロックとする画素ブロック設定処理
を行なってもよい。
ロックに対して下方向に一画素だけずれた画像ブロック
を前記新基準画像ブロックとする画素ブロック設定処理
を行なってもよい。
【0033】前記画素位置指定手段が、前記生成画像ブ
ロックを新差分画像ブロックとし、また前記基準画像ブ
ロックと一画素だけずれた位置にある画像ブロックを新
基準画像ブロックとする画像ブロック設定処理を2回以
上繰り返し、2回以上の前記画像ブロック設定処理にお
いて、画像ブロック設定処理毎に基準画像ブロックのず
れの方向が異なっていてもよい。
ロックを新差分画像ブロックとし、また前記基準画像ブ
ロックと一画素だけずれた位置にある画像ブロックを新
基準画像ブロックとする画像ブロック設定処理を2回以
上繰り返し、2回以上の前記画像ブロック設定処理にお
いて、画像ブロック設定処理毎に基準画像ブロックのず
れの方向が異なっていてもよい。
【0034】前記画素位置指定手段が、前記2回以上の
画像ブロック設定処理を行う場合に、前記基準画像ブロ
ックに対して右方向に一画素だけずれた画像ブロックを
前記新基準画像ブロックとする場合と、該基準画像ブロ
ックに対して下方向に一画素だけずれた画像ブロックを
該新基準画像ブロックとする場合と、該基準画像ブロッ
クに対して右下双方向に各一画素ずれた画像ブロックを
該新基準画像ブロックとする場合とがあってもよい。
画像ブロック設定処理を行う場合に、前記基準画像ブロ
ックに対して右方向に一画素だけずれた画像ブロックを
前記新基準画像ブロックとする場合と、該基準画像ブロ
ックに対して下方向に一画素だけずれた画像ブロックを
該新基準画像ブロックとする場合と、該基準画像ブロッ
クに対して右下双方向に各一画素ずれた画像ブロックを
該新基準画像ブロックとする場合とがあってもよい。
【0035】一画像ブロックに対する動き補償処理であ
るブロック動き補償処理を行なった後、前記画素位置指
定手段が、該ブロック動き補償処理により生成された生
成画像ブロックをテクスチャ画像と設定し、また新たに
生成ポリゴンを設定する画像ブロック設定処理を行な
い、前記画像メモリアクセス手段は、該生成ポリゴン内
の前記第1の画素位置より前記第1の画素データを読み
出し該テクスチャ画像内の前記第3の画素位置より前記
第3の画素データを読み出し、前記画素演算手段は、該
第1の画素データと該第3の画素データとを用いて演算
し、結果である前記第2の画素データを前記生成ポリゴ
ン内の前記第2の画素位置に書き込む処理を行い、これ
らの処理を生成ポリゴン内の画素データに対して順次行
なってもよい。
るブロック動き補償処理を行なった後、前記画素位置指
定手段が、該ブロック動き補償処理により生成された生
成画像ブロックをテクスチャ画像と設定し、また新たに
生成ポリゴンを設定する画像ブロック設定処理を行な
い、前記画像メモリアクセス手段は、該生成ポリゴン内
の前記第1の画素位置より前記第1の画素データを読み
出し該テクスチャ画像内の前記第3の画素位置より前記
第3の画素データを読み出し、前記画素演算手段は、該
第1の画素データと該第3の画素データとを用いて演算
し、結果である前記第2の画素データを前記生成ポリゴ
ン内の前記第2の画素位置に書き込む処理を行い、これ
らの処理を生成ポリゴン内の画素データに対して順次行
なってもよい。
【0036】本発明のさらに別の画像生成装置は、画像
生成装置で処理する内容を指示するコマンド信号を出力
する制御手段と、該コマンド信号を受け取り、該コマン
ド信号が、動き補償処理を指示している場合、動き補償
の基準画像ブロック内の画素位置を求め第1の画素位置
信号として出力し、生成画像ブロック内の画素位置を求
め第2の画素位置信号として出力し、該基準画像ブロッ
クと該生成画像ブロックの差分データである差分画像ブ
ロック内の画素位置を求め第3の画素位置信号として出
力し、該コマンド信号が、テクスチャマッピング処理を
指示している場合に、テクスチャ画像内の画素位置を求
め該第3の画素位置信号として出力し、該第3の画素位
置信号により示された画素位置にある画像データがマッ
ピングされ書き込まれる先の生成ポリゴン内の画素位置
を求め該第1の画素位置信号および該第2の画素位置信
号として出力し、該コマンド信号が、画像ブロック設定
処理と画像ブロック位置を指示している場合、該基準画
像ブロック、該生成画像ブロック、該差分画像ブロッ
ク、または該生成ポリゴン、該テクスチャ画像の位置を
新たに設定する画素位置指定手段と、該第1の画素位置
信号と該第2の画素位置信号と該第3の画素位置信号と
を入力し、該第1の画素位置信号により示される画素位
置より画素データを読み出し第1の画素データ信号とし
て出力し、該第3の画素位置信号により示される画素位
置より画素データを読み出し第3の画素データ信号とし
て出力し、該第2の画素位置信号により示された画素位
置に第2の画素データ信号により入力された画素データ
を書き込む画像メモリアクセス手段と、入力された該第
1の画素データ信号と該第3の画素データ信号により示
された画素データに対し、該コマンド信号が、動き補償
処理を指示している場合、画素データを符号付きのデー
タとして画素単位で、該コマンド信号が指示する演算を
行ない、該コマンド信号がテクスチャマッピング処理を
指示している場合、画像データを符号なしのデータとし
て画素単位で該コマンド信号が指示する演算を行ない、
演算結果を該第2の画素データ信号として出力する画素
演算手段とを備え、該制御手段は、画像生成動作の制御
コマンドを受け、該制御コマンドを解釈し、該画素位置
指定手段、該画素演算手段に処理内容の指示を行なう該
コマンド信号を出力し、そのことにより上記目的が達成
される。
生成装置で処理する内容を指示するコマンド信号を出力
する制御手段と、該コマンド信号を受け取り、該コマン
ド信号が、動き補償処理を指示している場合、動き補償
の基準画像ブロック内の画素位置を求め第1の画素位置
信号として出力し、生成画像ブロック内の画素位置を求
め第2の画素位置信号として出力し、該基準画像ブロッ
クと該生成画像ブロックの差分データである差分画像ブ
ロック内の画素位置を求め第3の画素位置信号として出
力し、該コマンド信号が、テクスチャマッピング処理を
指示している場合に、テクスチャ画像内の画素位置を求
め該第3の画素位置信号として出力し、該第3の画素位
置信号により示された画素位置にある画像データがマッ
ピングされ書き込まれる先の生成ポリゴン内の画素位置
を求め該第1の画素位置信号および該第2の画素位置信
号として出力し、該コマンド信号が、画像ブロック設定
処理と画像ブロック位置を指示している場合、該基準画
像ブロック、該生成画像ブロック、該差分画像ブロッ
ク、または該生成ポリゴン、該テクスチャ画像の位置を
新たに設定する画素位置指定手段と、該第1の画素位置
信号と該第2の画素位置信号と該第3の画素位置信号と
を入力し、該第1の画素位置信号により示される画素位
置より画素データを読み出し第1の画素データ信号とし
て出力し、該第3の画素位置信号により示される画素位
置より画素データを読み出し第3の画素データ信号とし
て出力し、該第2の画素位置信号により示された画素位
置に第2の画素データ信号により入力された画素データ
を書き込む画像メモリアクセス手段と、入力された該第
1の画素データ信号と該第3の画素データ信号により示
された画素データに対し、該コマンド信号が、動き補償
処理を指示している場合、画素データを符号付きのデー
タとして画素単位で、該コマンド信号が指示する演算を
行ない、該コマンド信号がテクスチャマッピング処理を
指示している場合、画像データを符号なしのデータとし
て画素単位で該コマンド信号が指示する演算を行ない、
演算結果を該第2の画素データ信号として出力する画素
演算手段とを備え、該制御手段は、画像生成動作の制御
コマンドを受け、該制御コマンドを解釈し、該画素位置
指定手段、該画素演算手段に処理内容の指示を行なう該
コマンド信号を出力し、そのことにより上記目的が達成
される。
【0037】好ましくは、 前記画像メモリアクセス手
段は、第1の画素位置信号と第2の画素位置信号を入力
し、該第1の画素位置信号により示される画素位置より
画素データを読み出し、前記第1の画素データ信号とし
て出力し、該第2の画素位置信号により示された画素位
置に前記第2の画素データ信号により入力された画素デ
ータを書き込む第1の画像メモリアクセス部と、第3の
画素位置信号を入力し、該第3の画素位置信号により示
される画素位置より画素データを読み出し第3の画素デ
ータ信号として出力する第2の画像メモリアクセス部と
を有しており、テクスチャ画像または差分画像ブロック
を記憶しており、該第2の画像メモリアクセス部により
指定された画素位置より画素データを出力するブロック
画像メモリを備えている。
段は、第1の画素位置信号と第2の画素位置信号を入力
し、該第1の画素位置信号により示される画素位置より
画素データを読み出し、前記第1の画素データ信号とし
て出力し、該第2の画素位置信号により示された画素位
置に前記第2の画素データ信号により入力された画素デ
ータを書き込む第1の画像メモリアクセス部と、第3の
画素位置信号を入力し、該第3の画素位置信号により示
される画素位置より画素データを読み出し第3の画素デ
ータ信号として出力する第2の画像メモリアクセス部と
を有しており、テクスチャ画像または差分画像ブロック
を記憶しており、該第2の画像メモリアクセス部により
指定された画素位置より画素データを出力するブロック
画像メモリを備えている。
【0038】好ましくは、前記画像メモリアクセス手段
は、第1の画素位置信号と第2の画素位置信号と第4の
画素位置信号とを入力し、該第1の画素位置信号により
示される画素位置より画素データを読み出し第1の画素
データ信号として出力し、該第4の画素位置信号により
示される画素位置より画素データを読み出し第4の画素
データ信号として出力し、前記第2の画素位置信号によ
り示された画素位置に第2の画素データ信号により入力
された画素データを書き込む第1の画像メモリアクセス
部と、第3の画素位置信号と第5の画素位置信号を入力
し、該第3の画素位置信号により示される画素位置より
画素データを読み出し第3の画素データ信号として出力
し、該第5の画素位置信号により示された画素位置に第
5の画素データ信号により入力された画素データを書き
込む第2の画像メモリアクセス部とを有しており、テク
スチャ画像または差分画像ブロックを記憶しており、前
記第2の画像メモリアクセス部により指定された画素位
置より画素データを入出力するブロック画像メモリを備
え、前記コマンド信号を受け取り、該コマンド信号が画
像ブロック設定処理と画像ブロック位置とを指示してい
る場合、前記差分画像ブロックまたは前記テクスチャ画
像内の画素読み出し位置を順次前記第4の画素位置信号
として出力し、前記ブロック画像メモリ内の画素書き込
み位置を順次前記第5の画素位置信号として出力し、前
記第4の画素データ信号として入力された画素データを
前記第5の画素データ信号として出力することにより前
記差分画像ブロックまたは前記テクスチャ画像を前記ブ
ロック画像メモリに移動させる画像移動手段を備えてい
る。
は、第1の画素位置信号と第2の画素位置信号と第4の
画素位置信号とを入力し、該第1の画素位置信号により
示される画素位置より画素データを読み出し第1の画素
データ信号として出力し、該第4の画素位置信号により
示される画素位置より画素データを読み出し第4の画素
データ信号として出力し、前記第2の画素位置信号によ
り示された画素位置に第2の画素データ信号により入力
された画素データを書き込む第1の画像メモリアクセス
部と、第3の画素位置信号と第5の画素位置信号を入力
し、該第3の画素位置信号により示される画素位置より
画素データを読み出し第3の画素データ信号として出力
し、該第5の画素位置信号により示された画素位置に第
5の画素データ信号により入力された画素データを書き
込む第2の画像メモリアクセス部とを有しており、テク
スチャ画像または差分画像ブロックを記憶しており、前
記第2の画像メモリアクセス部により指定された画素位
置より画素データを入出力するブロック画像メモリを備
え、前記コマンド信号を受け取り、該コマンド信号が画
像ブロック設定処理と画像ブロック位置とを指示してい
る場合、前記差分画像ブロックまたは前記テクスチャ画
像内の画素読み出し位置を順次前記第4の画素位置信号
として出力し、前記ブロック画像メモリ内の画素書き込
み位置を順次前記第5の画素位置信号として出力し、前
記第4の画素データ信号として入力された画素データを
前記第5の画素データ信号として出力することにより前
記差分画像ブロックまたは前記テクスチャ画像を前記ブ
ロック画像メモリに移動させる画像移動手段を備えてい
る。
【0039】好ましくは、前記画像メモリアクセス手段
は、第1の画素位置信号と第2の画素位置信号とを入力
し、該第1の画素位置信号により示される画素位置より
画素データを読み出し前記第1の画素データ信号として
出力し、該第2の画素位置信号により示された画素位置
に前記第2の画素データ信号により入力された画素デー
タを書き込む第1の画像メモリアクセス部と、第3の画
素位置信号を入力し前記第3の画素位置信号により示さ
れる画素位置より画素データを読み出し第3の画素デー
タ信号として出力し、第2の画素位置信号を入力し前記
第2の画素位置信号により前記ブロック画像メモリ内の
画素位置が示された場合に第2の画素データ信号により
入力される画素データを前記ブロック画像メモリに書き
込む第2の画像メモリアクセス部とを有しており、テク
スチャ画像または差分画像ブロックを記憶しており、前
記第2の画像メモリアクセス部により指定された画素位
置より画素データを入出力するブロック画像メモリを備
えている。
は、第1の画素位置信号と第2の画素位置信号とを入力
し、該第1の画素位置信号により示される画素位置より
画素データを読み出し前記第1の画素データ信号として
出力し、該第2の画素位置信号により示された画素位置
に前記第2の画素データ信号により入力された画素デー
タを書き込む第1の画像メモリアクセス部と、第3の画
素位置信号を入力し前記第3の画素位置信号により示さ
れる画素位置より画素データを読み出し第3の画素デー
タ信号として出力し、第2の画素位置信号を入力し前記
第2の画素位置信号により前記ブロック画像メモリ内の
画素位置が示された場合に第2の画素データ信号により
入力される画素データを前記ブロック画像メモリに書き
込む第2の画像メモリアクセス部とを有しており、テク
スチャ画像または差分画像ブロックを記憶しており、前
記第2の画像メモリアクセス部により指定された画素位
置より画素データを入出力するブロック画像メモリを備
えている。
【0040】好ましくは、前記画素位置指定手段は、制
御手段より動き補償処理とテクスチャマッピング処理の
同時実行を指示された場合、動き補償の基準画像ブロッ
ク内の画素位置を求め第1の画素位置信号として出力
し、生成ポリゴン内の画素位置を求め第2の画素位置信
号として出力し、差分画像ブロック内の画素位置を求め
第3の画素位置信号として出力する。
御手段より動き補償処理とテクスチャマッピング処理の
同時実行を指示された場合、動き補償の基準画像ブロッ
ク内の画素位置を求め第1の画素位置信号として出力
し、生成ポリゴン内の画素位置を求め第2の画素位置信
号として出力し、差分画像ブロック内の画素位置を求め
第3の画素位置信号として出力する。
【0041】好ましくは、前記画素演算手段は、前記制
御手段より示された演算に従い乗数を発生させる乗数生
成部と、前記第1の画素データ信号により入力された画
素データに前記乗数生成部で生成された乗数を乗算する
乗算部と、前記第3の画素データ信号により入力された
画素データと乗算部の演算結果を加算し加算結果を第2
の画素データ信号として出力する加算部とを備える。
御手段より示された演算に従い乗数を発生させる乗数生
成部と、前記第1の画素データ信号により入力された画
素データに前記乗数生成部で生成された乗数を乗算する
乗算部と、前記第3の画素データ信号により入力された
画素データと乗算部の演算結果を加算し加算結果を第2
の画素データ信号として出力する加算部とを備える。
【0042】好ましくは、前記画素演算手段は、前記制
御手段より示された演算に従い第1の乗数と第2の乗数
を発生させる乗数生成部と、前記第1の画素データ信号
により入力された画素データに前記乗数生成部で生成さ
れた第1の乗数を乗算する第1の乗算部と、前記第3の
画素データ信号により入力された画素データに前記乗数
生成部で生成された第2の乗数を乗算する第2の乗算部
と、前記第1の乗算部の演算結果と前記第2の乗算部の
演算結果を加算し加算結果を第2の画素データ信号とし
て出力する加算部とを備える。
御手段より示された演算に従い第1の乗数と第2の乗数
を発生させる乗数生成部と、前記第1の画素データ信号
により入力された画素データに前記乗数生成部で生成さ
れた第1の乗数を乗算する第1の乗算部と、前記第3の
画素データ信号により入力された画素データに前記乗数
生成部で生成された第2の乗数を乗算する第2の乗算部
と、前記第1の乗算部の演算結果と前記第2の乗算部の
演算結果を加算し加算結果を第2の画素データ信号とし
て出力する加算部とを備える。
【0043】前記乗算部または前記第1の乗算部は、1
倍、1/2倍、1/4倍および1/8倍の演算のみ可能で
あってもよい。
倍、1/2倍、1/4倍および1/8倍の演算のみ可能で
あってもよい。
【0044】前記ブロック画像メモリに格納可能な画像
データの画素数は、基準画像ブロック、生成画像ブロッ
ク、差分画像ブロックと同一サイズであってもよい。
データの画素数は、基準画像ブロック、生成画像ブロッ
ク、差分画像ブロックと同一サイズであってもよい。
【0045】前記ブロック画像メモリに格納可能な画像
データが縦横各16画素の矩形画像データであってもよ
い。
データが縦横各16画素の矩形画像データであってもよ
い。
【0046】好ましくは、前記ブロック画像メモリは、
少なくとも、画素演算手段と同一の半導体素子上に実現
される。
少なくとも、画素演算手段と同一の半導体素子上に実現
される。
【0047】本発明の動画伸長マッピング装置は、動き
予測処理により基準画像ブロックと差分演算を行ない求
められた差分画像ブロックに対して直交変換と可変長符
号化を施した結果である圧縮画像ブロックを入力とし、
該圧縮画像ブロックに対し可変長逆符号化処理を施す可
変長逆符号化手段と、該可変長逆符号化処理の結果を入
力し、直交変換を施す直交変換手段と、該直交変換手段
の結果を入力し動き補償処理を施しさらに該動き補償処
理の結果の画像データを用いてテクスチャマッピング処
理を施す請求項1から請求項26のいずれかに記載の画
像生成装置とを備えることにより、圧縮された動画デー
タに対し伸長処理とテクスチャマッピング処理を同時に
行ない、そのことにより上記目的が達成される。
予測処理により基準画像ブロックと差分演算を行ない求
められた差分画像ブロックに対して直交変換と可変長符
号化を施した結果である圧縮画像ブロックを入力とし、
該圧縮画像ブロックに対し可変長逆符号化処理を施す可
変長逆符号化手段と、該可変長逆符号化処理の結果を入
力し、直交変換を施す直交変換手段と、該直交変換手段
の結果を入力し動き補償処理を施しさらに該動き補償処
理の結果の画像データを用いてテクスチャマッピング処
理を施す請求項1から請求項26のいずれかに記載の画
像生成装置とを備えることにより、圧縮された動画デー
タに対し伸長処理とテクスチャマッピング処理を同時に
行ない、そのことにより上記目的が達成される。
【0048】本発明のマルチメディア機器は、CPU
と、メインメモリと、請求項27に記載の動画伸長マッ
ピング装置と、フレームメモリとを備え、該フレームメ
モリは、該動画伸長マッピング装置に接続され、少なく
とも基準画像および生成画像を格納し、圧縮動画データ
を伸長処理しながら伸長結果の画像を同時に3次元物体
の表面にテクスチャマッピングを行い、そのことにより
上記目的が達成される。
と、メインメモリと、請求項27に記載の動画伸長マッ
ピング装置と、フレームメモリとを備え、該フレームメ
モリは、該動画伸長マッピング装置に接続され、少なく
とも基準画像および生成画像を格納し、圧縮動画データ
を伸長処理しながら伸長結果の画像を同時に3次元物体
の表面にテクスチャマッピングを行い、そのことにより
上記目的が達成される。
【0049】本発明は、動き補償処理を用いた圧縮動画
伸長処理とテクスチャマッピング処理を、単一のメモリ
と単一の処理装置により処理することにより、従来の技
術の課題である処理に多くのメモリが必要となる点や、
動き補償処理装置からテクスチャマッピング処理装置へ
大量のデータ転送が必要となる点などを解決できる点に
着目してなされたものである。
伸長処理とテクスチャマッピング処理を、単一のメモリ
と単一の処理装置により処理することにより、従来の技
術の課題である処理に多くのメモリが必要となる点や、
動き補償処理装置からテクスチャマッピング処理装置へ
大量のデータ転送が必要となる点などを解決できる点に
着目してなされたものである。
【0050】動き補償処理の処理手順やメモリアクセス
の手順、メモリ内のデータ配置方法を新たに考案したこ
とにより、テクスチャマッピング処理を行なうための装
置およびメモリ構成に類似した構成の装置により動き補
償処理を行なうことを可能にしたものである。この結
果、テクスチャマッピング処理と動き補償処理の双方
を、単一の画像生成装置および単一の画像メモリにより
処理することが可能となる。
の手順、メモリ内のデータ配置方法を新たに考案したこ
とにより、テクスチャマッピング処理を行なうための装
置およびメモリ構成に類似した構成の装置により動き補
償処理を行なうことを可能にしたものである。この結
果、テクスチャマッピング処理と動き補償処理の双方
を、単一の画像生成装置および単一の画像メモリにより
処理することが可能となる。
【0051】基本的なテクスチャマッピング処理装置で
は、矩形の画像データであるテクスチャ画像と生成中の
画像である生成画像とを用い、生成画像内のポリゴンを
構成する画像データに対応するテクスチャ画像内の画像
データと生成画像内にすでに描画されている画像データ
を画像メモリから読み出し、すでに描画されている画像
データとテクスチャ画像データを荷重加算し、再び画像
メモリに生成画像として書き込むことで処理が行なわれ
る。
は、矩形の画像データであるテクスチャ画像と生成中の
画像である生成画像とを用い、生成画像内のポリゴンを
構成する画像データに対応するテクスチャ画像内の画像
データと生成画像内にすでに描画されている画像データ
を画像メモリから読み出し、すでに描画されている画像
データとテクスチャ画像データを荷重加算し、再び画像
メモリに生成画像として書き込むことで処理が行なわれ
る。
【0052】このようなテクスチャマッピング処理の動
作手順を考慮し、次に説明する動き補償処理の処理手順
を考案した。
作手順を考慮し、次に説明する動き補償処理の処理手順
を考案した。
【0053】画像メモリ内に動き補償処理の基準画像と
差分画像を記憶させておき、差分画像内の画像データを
読み出すと同時に基準画像内の画像データを読み出し、
基準画像データに対して必要に応じて係数を乗算した
後、差分画像データと加算し画像メモリ内の生成画像内
に書き込む。このようにすることにより、テクスチャマ
ッピング処理装置に類似した構成の装置により動き補償
処理を行なうことが可能となる。
差分画像を記憶させておき、差分画像内の画像データを
読み出すと同時に基準画像内の画像データを読み出し、
基準画像データに対して必要に応じて係数を乗算した
後、差分画像データと加算し画像メモリ内の生成画像内
に書き込む。このようにすることにより、テクスチャマ
ッピング処理装置に類似した構成の装置により動き補償
処理を行なうことが可能となる。
【0054】さらに、動き補償処理では、未来と過去の
二つの基準画像を用いて双方向動き補償処理を行なうこ
とや、基準画像の位置指定を半画素の精度で行なうこと
がある。
二つの基準画像を用いて双方向動き補償処理を行なうこ
とや、基準画像の位置指定を半画素の精度で行なうこと
がある。
【0055】双方向動き補償処理は、本発明では、二つ
の内どちらかの基準画像と差分画像を用いて上記のとお
りの手順で動き補償処理を行ない結果を画像メモリに書
き戻しておき、さらに書き戻した画像を差分画像とみな
しこれともう一つの基準画像との間で同様の動き補償処
理を行なうことにより、実現される。この際、基準画像
データに乗算される係数を0.5としておくことにより
正確な双方向動き補償処理が可能となる。
の内どちらかの基準画像と差分画像を用いて上記のとお
りの手順で動き補償処理を行ない結果を画像メモリに書
き戻しておき、さらに書き戻した画像を差分画像とみな
しこれともう一つの基準画像との間で同様の動き補償処
理を行なうことにより、実現される。この際、基準画像
データに乗算される係数を0.5としておくことにより
正確な双方向動き補償処理が可能となる。
【0056】また、半画素精度の基準画像位置指定が行
なわれている場合は、指定されている半画素精度の基準
画像位置よりも半画素だけずれた位置から基準画像を読
み出し、この画像データに対して差分画像データを加算
し画像メモリに書き戻すことにより動き補償処理を行な
い、さらに動き補償処理結果を新たに差分画像とすると
ともに、基準画像の位置を1画素だけずらしこの基準画
像から画像データを読み出し動き補償処理を繰り返す。
半画素精度の位置指定の基準画像に対して上下左右(ま
たは上下または左右)に半画素だけずれた基準画像に対
して同様に動き補償処理を繰り返すと同時に基準画像デ
ータに乗算される係数を制御することにより、上下左右
の基準画像データを平均して半画素位置指定の基準画像
を求めることと、この基準画像と差分画像により動き補
償処理を行なうことを同時に行なうことが可能となる。
なわれている場合は、指定されている半画素精度の基準
画像位置よりも半画素だけずれた位置から基準画像を読
み出し、この画像データに対して差分画像データを加算
し画像メモリに書き戻すことにより動き補償処理を行な
い、さらに動き補償処理結果を新たに差分画像とすると
ともに、基準画像の位置を1画素だけずらしこの基準画
像から画像データを読み出し動き補償処理を繰り返す。
半画素精度の位置指定の基準画像に対して上下左右(ま
たは上下または左右)に半画素だけずれた基準画像に対
して同様に動き補償処理を繰り返すと同時に基準画像デ
ータに乗算される係数を制御することにより、上下左右
の基準画像データを平均して半画素位置指定の基準画像
を求めることと、この基準画像と差分画像により動き補
償処理を行なうことを同時に行なうことが可能となる。
【0057】上述のように動き補償処理を、基準画像と
差分画像の荷重加算とメモリへの書き戻し処理およびこ
の処理の繰り返しにより実現するという新たな処理方法
を考案したことにより、テクスチャマッピング処理と類
似した処理手順、メモリアクセス手順、メモリ内のデー
タ配置方法により実現することが可能となった。
差分画像の荷重加算とメモリへの書き戻し処理およびこ
の処理の繰り返しにより実現するという新たな処理方法
を考案したことにより、テクスチャマッピング処理と類
似した処理手順、メモリアクセス手順、メモリ内のデー
タ配置方法により実現することが可能となった。
【0058】このことより、動き補償処理とテクスチャ
マッピング処理を単一の画像処理装置、単一のメモリ構
成により実現することが可能となり、動き補償処理とテ
クスチャマッピング処理の双方を行なう場合に必要であ
った各々の専用処理装置および専用メモリと比較して、
処理装置の回路量、メモリ量の削減と同時にメモリ間の
データ転送量を大幅に削減することが可能となる。
マッピング処理を単一の画像処理装置、単一のメモリ構
成により実現することが可能となり、動き補償処理とテ
クスチャマッピング処理の双方を行なう場合に必要であ
った各々の専用処理装置および専用メモリと比較して、
処理装置の回路量、メモリ量の削減と同時にメモリ間の
データ転送量を大幅に削減することが可能となる。
【0059】さらに、従来順次処理を行なっていた動き
補償処理とテクスチャマッピング処理を、同時に処理す
ることも可能となった。
補償処理とテクスチャマッピング処理を、同時に処理す
ることも可能となった。
【0060】以下作用について説明する。
【0061】本発明によると、上述の構成により、動き
補償予測を用いて圧縮されたディジタル動画の伸長処理
と、CG生成におけるポリゴンへのテクスチャマッピン
グ処理を単一の構成で実現することが可能である。更に
は、圧縮動画伸長処理とテクスチャマッピング処理とを
同時に行うことによって、圧縮動画伸長処理によって伸
長された動画像をテクスチャマッピング処理のテクスチ
ャ画像としてポリゴン上にマッピングすることが可能で
ある。
補償予測を用いて圧縮されたディジタル動画の伸長処理
と、CG生成におけるポリゴンへのテクスチャマッピン
グ処理を単一の構成で実現することが可能である。更に
は、圧縮動画伸長処理とテクスチャマッピング処理とを
同時に行うことによって、圧縮動画伸長処理によって伸
長された動画像をテクスチャマッピング処理のテクスチ
ャ画像としてポリゴン上にマッピングすることが可能で
ある。
【0062】動き補償予測による画像の圧縮は、圧縮処
理中の画像内のブロック領域について、過去画像内のブ
ロック(以下、過去画像ブロックと表記する)から類似
したブロックを探し、この過去画像ブロックと圧縮処理
中の画像ブロックとの差分をとることにより圧縮を行な
う。また、過去画像だけではなく未来画像からも類似の
ブロック(以下では、このブロックを未来画像ブロック
と表記する)を探しこれとの差分をとることも行なわれ
る。さらに、過去画像ブロックや未来画像ブロックの画
像における位置は、半画素の精度で指定することも行な
われる。
理中の画像内のブロック領域について、過去画像内のブ
ロック(以下、過去画像ブロックと表記する)から類似
したブロックを探し、この過去画像ブロックと圧縮処理
中の画像ブロックとの差分をとることにより圧縮を行な
う。また、過去画像だけではなく未来画像からも類似の
ブロック(以下では、このブロックを未来画像ブロック
と表記する)を探しこれとの差分をとることも行なわれ
る。さらに、過去画像ブロックや未来画像ブロックの画
像における位置は、半画素の精度で指定することも行な
われる。
【0063】このように圧縮された画像の伸長は、過去
画像または未来画像から動き予測の基準となった基準画
像ブロック(過去画像ブロックまたは未来画像ブロッ
ク)をとりだし、現在再生中の画像内の画像ブロック
(以下では、生成画像ブロックと表記する)と基準画像
ブロックとの差分画像データ(以下では、差分画像ブロ
ックと表記する)を基準画像ブロックに加算することに
より処理される。画像全体を構成する全てのブロックに
ついて同様に処理を行なうことで伸長処理が行なわれ
る。この様な伸長処理は動き補償処理と呼ばれる。圧縮
符号化の際の動き予測処理は基準画像として、過去画像
を使う場合、未来画像を使う場合、過去画像、未来画像
両方を使う場合、基準画像を使わない場合があり、動き
予測処理を行うブロック単位で最適な予測方法が選択さ
れることもある。これに対応するためには、動き補償処
理においても画像ブロックの処理毎に動き補償の方法を
切替える必要がある。
画像または未来画像から動き予測の基準となった基準画
像ブロック(過去画像ブロックまたは未来画像ブロッ
ク)をとりだし、現在再生中の画像内の画像ブロック
(以下では、生成画像ブロックと表記する)と基準画像
ブロックとの差分画像データ(以下では、差分画像ブロ
ックと表記する)を基準画像ブロックに加算することに
より処理される。画像全体を構成する全てのブロックに
ついて同様に処理を行なうことで伸長処理が行なわれ
る。この様な伸長処理は動き補償処理と呼ばれる。圧縮
符号化の際の動き予測処理は基準画像として、過去画像
を使う場合、未来画像を使う場合、過去画像、未来画像
両方を使う場合、基準画像を使わない場合があり、動き
予測処理を行うブロック単位で最適な予測方法が選択さ
れることもある。これに対応するためには、動き補償処
理においても画像ブロックの処理毎に動き補償の方法を
切替える必要がある。
【0064】以下の説明では、過去画像ブロックから伸
長処理を行なうことを順方向動き補償、未来画像ブロッ
クから伸長処理を行なうことを逆方向動き補償、未来ま
たは過去のどちらかの基準画像ブロックから伸長処理を
行なうことを片方向動き補償、過去画像ブロックおよび
未来画像ブロックの両方を使って伸長処理を行なうこと
を双方向動き補償と表記することとする。また、過去画
像ブロック内の画素データをP(x,y)、未来画像ブロック
内の画素データをF(x,y)、基準画像ブロック内の画素デ
ータをR(x,y)、差分画像ブロック内の画素データをD(x,
y)、生成画像ブロック内の画素データをG(x,y)と表記す
ることとする。なお、ここでx,yは画像ブロック内の画
素位置を表す。
長処理を行なうことを順方向動き補償、未来画像ブロッ
クから伸長処理を行なうことを逆方向動き補償、未来ま
たは過去のどちらかの基準画像ブロックから伸長処理を
行なうことを片方向動き補償、過去画像ブロックおよび
未来画像ブロックの両方を使って伸長処理を行なうこと
を双方向動き補償と表記することとする。また、過去画
像ブロック内の画素データをP(x,y)、未来画像ブロック
内の画素データをF(x,y)、基準画像ブロック内の画素デ
ータをR(x,y)、差分画像ブロック内の画素データをD(x,
y)、生成画像ブロック内の画素データをG(x,y)と表記す
ることとする。なお、ここでx,yは画像ブロック内の画
素位置を表す。
【0065】一方、テクスチャマッピング処理は、ポリ
ゴンの頂点座標情報をもとに、生成画像内の描画画素位
置とテクスチャ画像内の参照画素位置を求め、テクスチ
ャ画像内の参照画素位置の画素データを読み出し、この
画素データを生成画像内の描画画素位置に書き込むこと
により処理される。画面を構成する全てのポリゴンに対
して同様にテクスチャマッピング処理を行なうことで画
面全体の画像が生成される。
ゴンの頂点座標情報をもとに、生成画像内の描画画素位
置とテクスチャ画像内の参照画素位置を求め、テクスチ
ャ画像内の参照画素位置の画素データを読み出し、この
画素データを生成画像内の描画画素位置に書き込むこと
により処理される。画面を構成する全てのポリゴンに対
して同様にテクスチャマッピング処理を行なうことで画
面全体の画像が生成される。
【0066】さらに、一つの画像ブロックに関し動き補
償処理を行ない、引続いて生成された画像ブロックをテ
クスチャ画像としテクスチャマッピング処理を行なうこ
とにより、動画の伸長処理とテクスチャマッピング処理
を同時並行に行なうことが可能となる。また、本発明で
は、動き補償処理とテクスチャマッピング処理を同時に
行なうことも可能である。
償処理を行ない、引続いて生成された画像ブロックをテ
クスチャ画像としテクスチャマッピング処理を行なうこ
とにより、動画の伸長処理とテクスチャマッピング処理
を同時並行に行なうことが可能となる。また、本発明で
は、動き補償処理とテクスチャマッピング処理を同時に
行なうことも可能である。
【0067】本発明の画像生成装置は、2つの画像デー
タを用いて演算を行う画素演算手段を有している。この
画素演算手段は処理すべき内容に従って、演算を行う画
像データの種類が異なる。すなわち、動き補償処理を行
う場合には、基準画像の画像データと、差分画像の画像
データとを用いて動き補償処理の演算を行い、テクスチ
ャマッピング処理を行う場合には、テクスチャ画像の画
像データと、ポリゴン内の画像データとを用いてテクス
チャマッピングの演算を行う。このことにより、本発明
の画像生成装置は、同一の装置で動き補償処理と、テク
スチャマッピング処理とを行うことができ、その結果回
路規模の縮小を実現できる。また、従来の装において、
必要であったデータの転送を不要とし、処理に要するメ
モリ量の削減が可能となる。
タを用いて演算を行う画素演算手段を有している。この
画素演算手段は処理すべき内容に従って、演算を行う画
像データの種類が異なる。すなわち、動き補償処理を行
う場合には、基準画像の画像データと、差分画像の画像
データとを用いて動き補償処理の演算を行い、テクスチ
ャマッピング処理を行う場合には、テクスチャ画像の画
像データと、ポリゴン内の画像データとを用いてテクス
チャマッピングの演算を行う。このことにより、本発明
の画像生成装置は、同一の装置で動き補償処理と、テク
スチャマッピング処理とを行うことができ、その結果回
路規模の縮小を実現できる。また、従来の装において、
必要であったデータの転送を不要とし、処理に要するメ
モリ量の削減が可能となる。
【0068】以下では、基本的な画像生成装置について
それぞれの処理を詳細に説明した後、本発明の別の画像
生成装置の処理や特徴、さらにこれらの画像生成装置を
使った動画伸長マッピング装置やシステムの動作につい
て説明する。
それぞれの処理を詳細に説明した後、本発明の別の画像
生成装置の処理や特徴、さらにこれらの画像生成装置を
使った動画伸長マッピング装置やシステムの動作につい
て説明する。
【0069】まず、基本的な画像生成装置の動き補償処
理について説明する。
理について説明する。
【0070】順方向動き補償処理または逆方向動き補償
処理、すなわち片方向動き補償処理、は以下のように処
理される。
処理、すなわち片方向動き補償処理、は以下のように処
理される。
【0071】片方向動き補償により生成される画像ブロ
ックの画像データG(x,y)は、(数1)に示すように、差
分画像ブロックの画像データD(x,y)と、動き予測の基準
となった基準画像内の基準画像ブロックの画像データR
(x,y)を加算することにより求められる。
ックの画像データG(x,y)は、(数1)に示すように、差
分画像ブロックの画像データD(x,y)と、動き予測の基準
となった基準画像内の基準画像ブロックの画像データR
(x,y)を加算することにより求められる。
【0072】
【数1】 G(x,y) = R(x,y) + D(x,y) 画像メモリ内には基準画像と差分画像が記憶されてい
る。差分画像の差分画像ブロック内の画素データが画素
位置指定手段により順次指示され画像メモリアクセス手
段により読み出され画素演算手段に入力される。基準画
像からは、現在生成している画像ブロックの動き予測の
基準となった基準画像ブロックが選ばれ、基準画像ブロ
ック内の画素データが画素位置指定手段により順次指示
され画像メモリアクセス手段により読み出され画素演算
手段に入力される。画素演算手段では、二つの入力画素
データが加算され、演算結果は画像メモリ内の生成画像
ブロック内の画素位置指定手段により指示された画素位
置に画像メモリアクセス手段を介して順次書き込まれ
る。このように(数1)に示す演算が行なわれることで
片方向動き補償処理すなわち順方向動き補償処理と逆方
向動き補償処理とが行なわれる。
る。差分画像の差分画像ブロック内の画素データが画素
位置指定手段により順次指示され画像メモリアクセス手
段により読み出され画素演算手段に入力される。基準画
像からは、現在生成している画像ブロックの動き予測の
基準となった基準画像ブロックが選ばれ、基準画像ブロ
ック内の画素データが画素位置指定手段により順次指示
され画像メモリアクセス手段により読み出され画素演算
手段に入力される。画素演算手段では、二つの入力画素
データが加算され、演算結果は画像メモリ内の生成画像
ブロック内の画素位置指定手段により指示された画素位
置に画像メモリアクセス手段を介して順次書き込まれ
る。このように(数1)に示す演算が行なわれることで
片方向動き補償処理すなわち順方向動き補償処理と逆方
向動き補償処理とが行なわれる。
【0073】双方向動き補償処理について次に説明す
る。
る。
【0074】双方向動き補償は、順方向動き補償の結果
と逆方向動き補償の結果の平均を求めればよく、(数
2)に示す演算を行なうことで処理される。
と逆方向動き補償の結果の平均を求めればよく、(数
2)に示す演算を行なうことで処理される。
【0075】
【数2】 G(x,y) = {(P(x,y) + D(x,y)) + (F(x,y) +
D(x,y))}/2 本発明では、(数2)の演算を(数3)に変形し,これ
に従い処理を行なう。
D(x,y))}/2 本発明では、(数2)の演算を(数3)に変形し,これ
に従い処理を行なう。
【0076】
【数3】 G(x,y) = (P(x,y)/2 + D(x,y)) + F(x,y)/2 すなわち、差分画像ブロックに対して、過去画像ブロッ
クの画素データの0.5倍を加算し、この結果にさら
に、未来画像ブロックの画素データの0.5倍を加算す
ることで双方向動き補償処理を実現する。
クの画素データの0.5倍を加算し、この結果にさら
に、未来画像ブロックの画素データの0.5倍を加算す
ることで双方向動き補償処理を実現する。
【0077】画像メモリには、動き補償の基準画像とし
て過去画像と未来画像と差分画像が記憶されている。差
分画像の差分画像ブロック内の画素データが画素位置指
定手段により順次指示され画像メモリアクセス手段によ
り読み出され画素演算手段に入力される。この入力画素
データは、D(x,y)である。過去画像からは、現在生成し
ている画像ブロックの動き予測の基準となった過去画像
ブロックが選ばれ、過去画像ブロック内の画素データが
画素位置指定手段により順次指示され画像メモリアクセ
ス手段により読み出され画素演算手段に入力される。こ
の入力画素データは、P(x,y)である。画素演算手段で
は、P(x,y)/2 + D(x,y)が求められ、演算結果は画像メ
モリ内の生成画像ブロック内の画素位置指定手段により
指示された画素位置に画像メモリアクセス手段を介して
順次書き込まれる。一つの生成画像ブロック内処理が終
了すると、今生成された画像ブロックを差分画像ブロッ
クとみなし、この差分画像ブロック内の画素データが画
素位置指定手段により順次指示され画像メモリアクセス
手段により読み出され画素演算手段に入力される。この
入力画素データは、P(x,y)/2+D(x,y)である。未来画像
からは、現在生成している画像ブロックの動き予測の基
準となった未来画像ブロックが選ばれ、未来画像ブロッ
ク内の画素データが画素位置指定手段により順次指示さ
れ画像メモリアクセス手段により読み出され画素演算手
段に入力される。この入力画素データは、F(x,y)であ
る。画素演算手段では、{P(x,y)/2+D(x,y)} + F(x,y)/2
が求められ、演算結果は画像メモリ内の生成画像ブロッ
ク内の画素位置指定手段により指示された画素位置に画
像メモリアクセス手段を介して順次書き込まれる。以上
のようにして(数3)に示す演算が行なわれることで双
方向動き補償処理が実現される。
て過去画像と未来画像と差分画像が記憶されている。差
分画像の差分画像ブロック内の画素データが画素位置指
定手段により順次指示され画像メモリアクセス手段によ
り読み出され画素演算手段に入力される。この入力画素
データは、D(x,y)である。過去画像からは、現在生成し
ている画像ブロックの動き予測の基準となった過去画像
ブロックが選ばれ、過去画像ブロック内の画素データが
画素位置指定手段により順次指示され画像メモリアクセ
ス手段により読み出され画素演算手段に入力される。こ
の入力画素データは、P(x,y)である。画素演算手段で
は、P(x,y)/2 + D(x,y)が求められ、演算結果は画像メ
モリ内の生成画像ブロック内の画素位置指定手段により
指示された画素位置に画像メモリアクセス手段を介して
順次書き込まれる。一つの生成画像ブロック内処理が終
了すると、今生成された画像ブロックを差分画像ブロッ
クとみなし、この差分画像ブロック内の画素データが画
素位置指定手段により順次指示され画像メモリアクセス
手段により読み出され画素演算手段に入力される。この
入力画素データは、P(x,y)/2+D(x,y)である。未来画像
からは、現在生成している画像ブロックの動き予測の基
準となった未来画像ブロックが選ばれ、未来画像ブロッ
ク内の画素データが画素位置指定手段により順次指示さ
れ画像メモリアクセス手段により読み出され画素演算手
段に入力される。この入力画素データは、F(x,y)であ
る。画素演算手段では、{P(x,y)/2+D(x,y)} + F(x,y)/2
が求められ、演算結果は画像メモリ内の生成画像ブロッ
ク内の画素位置指定手段により指示された画素位置に画
像メモリアクセス手段を介して順次書き込まれる。以上
のようにして(数3)に示す演算が行なわれることで双
方向動き補償処理が実現される。
【0078】次に半画素精度の動き補償処理について説
明する。半画素精度の動き補償では、基準画像ブロック
の位置指定が画素が存在する位置に対して半画素分だけ
ずれている場合がある。この場合、指定された基準画像
ブロック位置よりも半画素分だけ上下左右に位置する画
像ブロックをもとに内挿演算を行なうことにより指定の
基準画像ブロックを求め、これを基準として動き補償処
理を行なう。
明する。半画素精度の動き補償では、基準画像ブロック
の位置指定が画素が存在する位置に対して半画素分だけ
ずれている場合がある。この場合、指定された基準画像
ブロック位置よりも半画素分だけ上下左右に位置する画
像ブロックをもとに内挿演算を行なうことにより指定の
基準画像ブロックを求め、これを基準として動き補償処
理を行なう。
【0079】半画素精度の片方向動き補償処理の動作に
ついて以下に説明する。基準画像ブロックR(x,y)の位置
が画素の存在位置よりも横方向に半画素だけずれて指定
された場合、指定位置より半画素だけ「左」にある基準
画像ブロック(R0(x,y)とする)と、指定位置より半画
素だけ「右」にある基準画像ブロック(R1(x,y)とす
る)より、(数4)に従い基準画像ブロックR(x,y)を求
める。
ついて以下に説明する。基準画像ブロックR(x,y)の位置
が画素の存在位置よりも横方向に半画素だけずれて指定
された場合、指定位置より半画素だけ「左」にある基準
画像ブロック(R0(x,y)とする)と、指定位置より半画
素だけ「右」にある基準画像ブロック(R1(x,y)とす
る)より、(数4)に従い基準画像ブロックR(x,y)を求
める。
【0080】
【数4】 R(x,y) = (R0(x,y) + R1(x,y))/2 基準画像ブロックR(x,y)の位置が画素の存在位置よりも
縦方向に半画素だけずれて指定された場合、指定位置よ
り半画素だけ「上」にある基準画像ブロック(R0(x,y)
とする)と、指定位置より半画素だけ「下」にある基準
画像ブロック(R2(x,y)とする)より、(数5)に従い
基準画像ブロックR(x,y)を求める。
縦方向に半画素だけずれて指定された場合、指定位置よ
り半画素だけ「上」にある基準画像ブロック(R0(x,y)
とする)と、指定位置より半画素だけ「下」にある基準
画像ブロック(R2(x,y)とする)より、(数5)に従い
基準画像ブロックR(x,y)を求める。
【0081】
【数5】 R(x,y) = (R0(x,y) + R2(x,y))/2 基準画像ブロックR(x,y)の位置が画素の存在位置よりも
縦横両方向に半画素だけずれて指定された場合、指定位
置より半画素だけ「左上」にある基準画像ブロック(R0
(x,y)とする)と、指定位置より半画素だけ「右上」に
ある基準画像ブロック(R1(x,y)とする)と、指定位置
より半画素だけ「左下」にある基準画像ブロック(R2
(x,y)とする)と、指定位置より半画素だけ「右下」に
ある基準画像ブロック(R3(x,y)とする)より、(数
6)に従い基準画像ブロックR(x,y)を求める。
縦横両方向に半画素だけずれて指定された場合、指定位
置より半画素だけ「左上」にある基準画像ブロック(R0
(x,y)とする)と、指定位置より半画素だけ「右上」に
ある基準画像ブロック(R1(x,y)とする)と、指定位置
より半画素だけ「左下」にある基準画像ブロック(R2
(x,y)とする)と、指定位置より半画素だけ「右下」に
ある基準画像ブロック(R3(x,y)とする)より、(数
6)に従い基準画像ブロックR(x,y)を求める。
【0082】
【数6】 R(x,y) = (R0(x,y) + R1(x,y) + R2(x,y) +
R3(x,y))/4 半画素精度の動き補償は、上記のように求めた基準画像
ブロックの画像データと動き補償差分画像ブロックの画
像データをもとに、上述した片方向動き補償または双方
向動き補償の処理手順で処理を行なう。
R3(x,y))/4 半画素精度の動き補償は、上記のように求めた基準画像
ブロックの画像データと動き補償差分画像ブロックの画
像データをもとに、上述した片方向動き補償または双方
向動き補償の処理手順で処理を行なう。
【0083】すなわち、片方向動き補償は、(数7)に
従い演算を行なう。
従い演算を行なう。
【0084】
【数7】横方向に半画素ずれている場合 G(x,y) = (R0(x,y) + R1(x,y))/2 + D(x,y) 縦方向に半画素ずれている場合 G(x,y) = (R0(x,y) + R2(x,y))/2 + D(x,y) 縦横両方向に半画素ずれている場合 G(x,y) = (R0(x,y) + R1(x,y) + R2(x,y) + R3(x,y))/4
+ D(x,y) 本発明の別の構成では、(数7)を変形した(数8)に
従い処理を行なう。
+ D(x,y) 本発明の別の構成では、(数7)を変形した(数8)に
従い処理を行なう。
【0085】
【数8】横方向に半画素ずれている場合 G(x,y) = (R0(x,y)/2 + D(x,y)) + R1(x,y)/2 縦方向に半画素ずれている場合 G(x,y) = (R0(x,y)/2 + D(x,y)) + R2(x,y)/2 縦横両方向に半画素ずれている場合 G(x,y) = [{(R0(x,y)/4 + D(x,y)) + R1(x,y)/4} + R2
(x,y)/4]+ R3(x,y)/4 横方向または縦方向にのみ半画素ずれている場合は、
(数3)と比較してわかる通り、双方向動き補償と同様
の動作手順をとる。
(x,y)/4]+ R3(x,y)/4 横方向または縦方向にのみ半画素ずれている場合は、
(数3)と比較してわかる通り、双方向動き補償と同様
の動作手順をとる。
【0086】画像メモリには、動き補償の基準画像と差
分画像が記憶されている。差分画像の差分画像ブロック
内の画素データが画素位置指定手段により順次指示され
画像メモリアクセス手段により読み出され画素演算手段
に入力される。この入力画素データは、D(x,y)である。
基準画像ブロックからは、指定位置より半画素だけずれ
た基準画像ブロック内の画素データR0(x,y)が画素位置
指定手段により順次指示され画像メモリアクセス手段に
より読み出され画素演算手段に入力される。画素演算手
段では、R0(x,y)/2 + D(x,y)が求められ、演算結果は画
像メモリ内の生成画像ブロック内の画素位置指定手段に
より指示された画素位置に画像メモリアクセス手段を介
して順次書き込まれる。一つの生成画像ブロック内処理
が終了すると、今生成された画像ブロックを差分画像ブ
ロックとみなし、この差分画像ブロック内の画素データ
が画素位置指定手段により順次指示され画像メモリアク
セス手段により読み出され画素演算手段に入力される。
この入力画素データは、R0(x,y)/2+D(x,y)である。再び
基準画像からは、R1(x,y)またはR2(x,y)の画素データ画
素位置指定手段により順次指示され画像メモリアクセス
手段により読み出され画素演算手段に入力される。画素
演算手段では、{R0(x,y)/2+D(x,y)} + R1(x,y)/2または
{R0(x,y)/2+D(x,y)} + R2(x,y)/2が求められ、演算結果
は画像メモリ内の生成画像ブロック内の画素位置指定手
段により指示された画素位置に画像メモリアクセス手段
を介して順次書き込まれる。以上のようにして画素デー
タG(x,y)を求めることができる。
分画像が記憶されている。差分画像の差分画像ブロック
内の画素データが画素位置指定手段により順次指示され
画像メモリアクセス手段により読み出され画素演算手段
に入力される。この入力画素データは、D(x,y)である。
基準画像ブロックからは、指定位置より半画素だけずれ
た基準画像ブロック内の画素データR0(x,y)が画素位置
指定手段により順次指示され画像メモリアクセス手段に
より読み出され画素演算手段に入力される。画素演算手
段では、R0(x,y)/2 + D(x,y)が求められ、演算結果は画
像メモリ内の生成画像ブロック内の画素位置指定手段に
より指示された画素位置に画像メモリアクセス手段を介
して順次書き込まれる。一つの生成画像ブロック内処理
が終了すると、今生成された画像ブロックを差分画像ブ
ロックとみなし、この差分画像ブロック内の画素データ
が画素位置指定手段により順次指示され画像メモリアク
セス手段により読み出され画素演算手段に入力される。
この入力画素データは、R0(x,y)/2+D(x,y)である。再び
基準画像からは、R1(x,y)またはR2(x,y)の画素データ画
素位置指定手段により順次指示され画像メモリアクセス
手段により読み出され画素演算手段に入力される。画素
演算手段では、{R0(x,y)/2+D(x,y)} + R1(x,y)/2または
{R0(x,y)/2+D(x,y)} + R2(x,y)/2が求められ、演算結果
は画像メモリ内の生成画像ブロック内の画素位置指定手
段により指示された画素位置に画像メモリアクセス手段
を介して順次書き込まれる。以上のようにして画素デー
タG(x,y)を求めることができる。
【0087】縦横両方向に半画素ずれている場合は、次
の手順をとる。
の手順をとる。
【0088】画像メモリには、動き補償の基準画像と差
分画像が記憶されている。差分画像の差分画像ブロック
内の画素データD(x,y)が順次読み出され画素演算手段に
入力される。基準画像ブロックからは、指定位置より半
画素だけずれた基準画像ブロック内の画素データR0(x,
y)が画素演算手段に入力される。画素演算手段では、R0
(x,y)/4 + D(x,y)が求められ、演算結果は画像メモリ内
の生成画像ブロック内に書き込まれる。一つの生成画像
ブロック内処理が終了すると、今生成された画像ブロッ
クを差分画像ブロックとみなし、この差分画像ブロック
内の画素データR0(x,y)/4 + D(x,y)は順次読み出され画
素演算手段に入力される。基準画像からは、R1(x,y)の
画素データが順次読み出され画素演算手段に入力され
る。画素演算手段では、(R0(x,y)/4+D(x,y)) + R1(x,y)
/4が求められ、演算結果は画像メモリ内の生成画像ブロ
ック内に書き込まれる。今生成された画像ブロックを差
分画像ブロックとみなし、この差分画像ブロック内の画
素データ(R0(x,y)/4+D(x,y))+ R1(x,y)/4が順次読み出
され画素演算手段に入力される。基準画像からは、R2
(x,y)の画素データが順次読み出され画素演算手段に入
力される。画素演算手段では、{(R0(x,y)/4+D(x,y)) +
R1(x,y)/4} + R2(x,y)/4が求められ、演算結果は画像メ
モリ内の生成画像ブロック内に書き込まれる。さらに今
生成された画像ブロックを差分画像ブロックとみなし、
この差分画像ブロック内の画素データ{(R0(x,y)/4 + D
(x,y)) + R1(x,y)/4} + R2(x,y)/4は順次読み出され画
素演算手段に入力される。基準画像からは、R3(x,y)の
画素データが順次読み出され画素演算手段に入力され
る。画素演算手段では、[{(R0(x,y)/4+D(x,y)) + R1(x,
y)/4} +R2(x,y)/4] + R3(x,y)/4が求められ、演算結果
は画像メモリ内の生成画像ブロック内に書き込まれる。
このようにして、生成画像ブロックの画素データG(x,y)
を得ることができる。
分画像が記憶されている。差分画像の差分画像ブロック
内の画素データD(x,y)が順次読み出され画素演算手段に
入力される。基準画像ブロックからは、指定位置より半
画素だけずれた基準画像ブロック内の画素データR0(x,
y)が画素演算手段に入力される。画素演算手段では、R0
(x,y)/4 + D(x,y)が求められ、演算結果は画像メモリ内
の生成画像ブロック内に書き込まれる。一つの生成画像
ブロック内処理が終了すると、今生成された画像ブロッ
クを差分画像ブロックとみなし、この差分画像ブロック
内の画素データR0(x,y)/4 + D(x,y)は順次読み出され画
素演算手段に入力される。基準画像からは、R1(x,y)の
画素データが順次読み出され画素演算手段に入力され
る。画素演算手段では、(R0(x,y)/4+D(x,y)) + R1(x,y)
/4が求められ、演算結果は画像メモリ内の生成画像ブロ
ック内に書き込まれる。今生成された画像ブロックを差
分画像ブロックとみなし、この差分画像ブロック内の画
素データ(R0(x,y)/4+D(x,y))+ R1(x,y)/4が順次読み出
され画素演算手段に入力される。基準画像からは、R2
(x,y)の画素データが順次読み出され画素演算手段に入
力される。画素演算手段では、{(R0(x,y)/4+D(x,y)) +
R1(x,y)/4} + R2(x,y)/4が求められ、演算結果は画像メ
モリ内の生成画像ブロック内に書き込まれる。さらに今
生成された画像ブロックを差分画像ブロックとみなし、
この差分画像ブロック内の画素データ{(R0(x,y)/4 + D
(x,y)) + R1(x,y)/4} + R2(x,y)/4は順次読み出され画
素演算手段に入力される。基準画像からは、R3(x,y)の
画素データが順次読み出され画素演算手段に入力され
る。画素演算手段では、[{(R0(x,y)/4+D(x,y)) + R1(x,
y)/4} +R2(x,y)/4] + R3(x,y)/4が求められ、演算結果
は画像メモリ内の生成画像ブロック内に書き込まれる。
このようにして、生成画像ブロックの画素データG(x,y)
を得ることができる。
【0089】半画素精度の双方向動き補償処理を行なう
ためには、上で説明した方法で半画素精度順方向動き補
償と半画素精度逆方向動き補償とを求め平均をとればよ
い。過去画像ブロックと未来画像ブロックの画像ブロッ
ク位置の指定に対応して多くの場合が存在するが、基本
的に片方向動き補償と同様の処理を行なえばよい。差分
画像データに、基準画像ブロックの指定画素位置より半
画素ずれた画像ブロックの画像データに内挿演算の比率
に応じて乗算係数を乗じたものを加算し、結果を生成画
像ブロックとして書き込んだ後、この生成画像ブロック
を新たな差分画像ブロックとみなし、これに他の基準画
像ブロックの加算を行ない生成画像ブロックへ書き込む
手順を繰り返せばよい。
ためには、上で説明した方法で半画素精度順方向動き補
償と半画素精度逆方向動き補償とを求め平均をとればよ
い。過去画像ブロックと未来画像ブロックの画像ブロッ
ク位置の指定に対応して多くの場合が存在するが、基本
的に片方向動き補償と同様の処理を行なえばよい。差分
画像データに、基準画像ブロックの指定画素位置より半
画素ずれた画像ブロックの画像データに内挿演算の比率
に応じて乗算係数を乗じたものを加算し、結果を生成画
像ブロックとして書き込んだ後、この生成画像ブロック
を新たな差分画像ブロックとみなし、これに他の基準画
像ブロックの加算を行ない生成画像ブロックへ書き込む
手順を繰り返せばよい。
【0090】以下に、本発明の基本的な画像生成装置の
テクスチャマッピング処理について説明する。
テクスチャマッピング処理について説明する。
【0091】画像メモリ内には、テクスチャ画像が記憶
されている。テクスチャマッピングされるポリゴンの頂
点座標に基づいて、画素位置指定手段によりテクスチャ
画像内の参照画素位置と生成画像内の生成ポリゴンにお
ける描画画素位置が求められる。テクスチャ画像内の参
照画素位置により画像メモリアクセス手段を介して当該
画素位置の画素データが読み出され、画素演算手段に与
えられる。画素演算手段では入力画素データをそのまま
演算結果として出力する。演算結果は、画素位置指定手
段により指定された生成ポリゴン内の描画画素位置に画
像メモリアクセス手段を介して書き込まれる。生成ポリ
ゴン内の全画素に関してこの処理を行なうことによりテ
クスチャマッピング処理が行なわれる。
されている。テクスチャマッピングされるポリゴンの頂
点座標に基づいて、画素位置指定手段によりテクスチャ
画像内の参照画素位置と生成画像内の生成ポリゴンにお
ける描画画素位置が求められる。テクスチャ画像内の参
照画素位置により画像メモリアクセス手段を介して当該
画素位置の画素データが読み出され、画素演算手段に与
えられる。画素演算手段では入力画素データをそのまま
演算結果として出力する。演算結果は、画素位置指定手
段により指定された生成ポリゴン内の描画画素位置に画
像メモリアクセス手段を介して書き込まれる。生成ポリ
ゴン内の全画素に関してこの処理を行なうことによりテ
クスチャマッピング処理が行なわれる。
【0092】さらに、画像メモリから読み出された生成
ポリゴン内の画素データを画素演算手段に入力し、テク
スチャ画像から読み出されたテクスチャ画素データとの
間で画素演算を行なうことにより、半透明テクスチャ画
像のテクスチャマッピング処理やテクスチャマッピング
処理におけるポリゴンエッジのアンチエイリアシング処
理を行なうことが可能となる。
ポリゴン内の画素データを画素演算手段に入力し、テク
スチャ画像から読み出されたテクスチャ画素データとの
間で画素演算を行なうことにより、半透明テクスチャ画
像のテクスチャマッピング処理やテクスチャマッピング
処理におけるポリゴンエッジのアンチエイリアシング処
理を行なうことが可能となる。
【0093】半透明テクスチャ画像のテクスチャマッピ
ング処理を以下に詳細に説明する。テクスチャ画像の半
透明度をα、生成ポリゴンの描画画素位置に既に書き込
まれている画素データの値をA、マッピングされるテク
スチャ画像の画素データをBとする。描画画素位置に既
に書き込まれている画素データAは、画素位置指定手段
により画素位置を指定され、画像メモリアクセス手段を
介して読み出される。読み出された画素データAは画素
演算手段に入力される。テクスチャ画像の画素データB
は、画素位置指定手段により画素位置を指定され、画像
メモリアクセス手段を介して読み出される。読み出され
た画素データBは画素演算手段に入力される。画素演算
手段では、α×A+(1−α)×Bを演算する。演算結
果の画素データは、画素位置指定手段により指定された
生成ポリゴン内の描画画素位置に画像メモリアクセス手
段を介して書き込まれる。このようにして半透明テクス
チャ画像のテクスチャマッピングが可能となる。また、
ポリゴンエッジのアンチエイリアシングもポリゴンエッ
ジを構成する画素だけに関して半透明テクスチャと同様
の処理を行なえばよい。以上の処理により、半透明テク
スチャのマッピングやエッジのアンチエイリアシング処
理を行なうことができる。
ング処理を以下に詳細に説明する。テクスチャ画像の半
透明度をα、生成ポリゴンの描画画素位置に既に書き込
まれている画素データの値をA、マッピングされるテク
スチャ画像の画素データをBとする。描画画素位置に既
に書き込まれている画素データAは、画素位置指定手段
により画素位置を指定され、画像メモリアクセス手段を
介して読み出される。読み出された画素データAは画素
演算手段に入力される。テクスチャ画像の画素データB
は、画素位置指定手段により画素位置を指定され、画像
メモリアクセス手段を介して読み出される。読み出され
た画素データBは画素演算手段に入力される。画素演算
手段では、α×A+(1−α)×Bを演算する。演算結
果の画素データは、画素位置指定手段により指定された
生成ポリゴン内の描画画素位置に画像メモリアクセス手
段を介して書き込まれる。このようにして半透明テクス
チャ画像のテクスチャマッピングが可能となる。また、
ポリゴンエッジのアンチエイリアシングもポリゴンエッ
ジを構成する画素だけに関して半透明テクスチャと同様
の処理を行なえばよい。以上の処理により、半透明テク
スチャのマッピングやエッジのアンチエイリアシング処
理を行なうことができる。
【0094】次に、動き補償処理とテクスチャマッピン
グ処理の同時実行、すなわち圧縮画像をテクスチャマッ
ピングすることについて説明する。
グ処理の同時実行、すなわち圧縮画像をテクスチャマッ
ピングすることについて説明する。
【0095】動き補償処理の対象となる圧縮された画像
は、動き補償処理の単位であるブロック画像が複数集ま
ったものである。これらのブロックをB0〜B99と表す。
また、テクスチャマッピング対象のポリゴンは動き補償
の単位であるブロック画像毎に定義されている。これら
のポリゴンをP0〜P99と表す。ここで、B0〜B99の100
個のブロック画像からできている画像をP0〜P99の10
0個のポリゴンにテクスチャマッピングした画像を生成
するとする。
は、動き補償処理の単位であるブロック画像が複数集ま
ったものである。これらのブロックをB0〜B99と表す。
また、テクスチャマッピング対象のポリゴンは動き補償
の単位であるブロック画像毎に定義されている。これら
のポリゴンをP0〜P99と表す。ここで、B0〜B99の100
個のブロック画像からできている画像をP0〜P99の10
0個のポリゴンにテクスチャマッピングした画像を生成
するとする。
【0096】始めに、上述した動き補償処理の方法に従
い、B0の画像ブロックに対して動き補償処理を行う。次
に、伸長された画像ブロックをテクスチャ画像としこの
ブロック画像をポリゴンP0に対して上述したテクスチャ
マッピング処理の方法に従いテクスチャマッピングを行
なう。このように、ブロック単位で動き補償処理とテク
スチャマッピング処理とを繰り返し、全ブロック(B0〜
B99)に対し処理を行うことにより、複数の画像ブロッ
クより成っている基準画像および差分画像からの伸長処
理と、この伸長結果をテクスチャ画像として使用したテ
クスチャマッピング処理とを単一の構成で同時並行で行
なうことが可能となる。
い、B0の画像ブロックに対して動き補償処理を行う。次
に、伸長された画像ブロックをテクスチャ画像としこの
ブロック画像をポリゴンP0に対して上述したテクスチャ
マッピング処理の方法に従いテクスチャマッピングを行
なう。このように、ブロック単位で動き補償処理とテク
スチャマッピング処理とを繰り返し、全ブロック(B0〜
B99)に対し処理を行うことにより、複数の画像ブロッ
クより成っている基準画像および差分画像からの伸長処
理と、この伸長結果をテクスチャ画像として使用したテ
クスチャマッピング処理とを単一の構成で同時並行で行
なうことが可能となる。
【0097】さらに、画素位置指定手段において、以下
のように画素位置を指定することにより、ブロック画像
の動き補償処理とテクスチャマッピング処理を同時実行
することが可能となる。すなわち、 第1の画素位置と
して基準画像ブロック内の画素位置を指定し、第2の画
素位置として生成ポリゴン内の画素位置を指定し、第3
の画素位置として差分画像ブロック内の画素位置を指定
する。
のように画素位置を指定することにより、ブロック画像
の動き補償処理とテクスチャマッピング処理を同時実行
することが可能となる。すなわち、 第1の画素位置と
して基準画像ブロック内の画素位置を指定し、第2の画
素位置として生成ポリゴン内の画素位置を指定し、第3
の画素位置として差分画像ブロック内の画素位置を指定
する。
【0098】基準画像ブロック内の第1の画素位置より
画素データを読み出し、この画素データに対応する差分
画像ブロック内の画素データを差分画像ブロック内の第
3の画素位置より読み出す。これらの画素データを画素
演算手段で演算し、結果の画素データを第2の画素位置
により指定された生成ポリゴン内の画素位置に書き込
む。この処理を生成ポリゴン内の全画素に対して順次処
理する。このように処理することにより動き予測により
圧縮された差分画像ブロックと基準画像を元に動き補償
処理による伸長処理を行ないつつ、生成ポリゴンの形状
に変形して描画することが可能となる。
画素データを読み出し、この画素データに対応する差分
画像ブロック内の画素データを差分画像ブロック内の第
3の画素位置より読み出す。これらの画素データを画素
演算手段で演算し、結果の画素データを第2の画素位置
により指定された生成ポリゴン内の画素位置に書き込
む。この処理を生成ポリゴン内の全画素に対して順次処
理する。このように処理することにより動き予測により
圧縮された差分画像ブロックと基準画像を元に動き補償
処理による伸長処理を行ないつつ、生成ポリゴンの形状
に変形して描画することが可能となる。
【0099】上記のように、本発明の画像生成装置によ
り、単一の構成で、テクスチャマッピング処理の実現と
動き補償による圧縮動画伸長処理の実現を両立させると
ともに、これらの処理を同時実行することが可能とな
る。
り、単一の構成で、テクスチャマッピング処理の実現と
動き補償による圧縮動画伸長処理の実現を両立させると
ともに、これらの処理を同時実行することが可能とな
る。
【0100】また、動き補償処理の場合の差分画像ブロ
ックの画像データやテクスチャマッピング処理の場合の
テクスチャ画像データをブロック画像メモリに格納して
もよい。
ックの画像データやテクスチャマッピング処理の場合の
テクスチャ画像データをブロック画像メモリに格納して
もよい。
【0101】生成画像や基準画像の格納されているメモ
リとブロック画像メモリを分離することにより、基準画
像ブロック内の画素データへのアクセスと差分画像ブロ
ック内の画素データへのアクセスとが衝突することや、
テクスチャ画像内の画素データへのアクセスと生成ポリ
ゴン内の画素データへのアクセスとが衝突することを避
けることができる。また、差分画像ブロックのサイズは
一般的に8×8画素〜16×16画素程度であり、この
程度のサイズのメモリであれば画像生成装置を構成する
LSIに内蔵することが可能となり、回路の小規模化や処
理速度(ブロック画像メモリのアクセス速度)の高速化
が可能となる。
リとブロック画像メモリを分離することにより、基準画
像ブロック内の画素データへのアクセスと差分画像ブロ
ック内の画素データへのアクセスとが衝突することや、
テクスチャ画像内の画素データへのアクセスと生成ポリ
ゴン内の画素データへのアクセスとが衝突することを避
けることができる。また、差分画像ブロックのサイズは
一般的に8×8画素〜16×16画素程度であり、この
程度のサイズのメモリであれば画像生成装置を構成する
LSIに内蔵することが可能となり、回路の小規模化や処
理速度(ブロック画像メモリのアクセス速度)の高速化
が可能となる。
【0102】さらに、生成画像の画像ブロックをブロッ
ク画像メモリへ移動することを可能とする構成をとるこ
ともできる。これにより、上述した基本的な画像生成装
置の双方向動き補償処理と半画素精度動き補償処理は以
下の手順で行なわれる。
ク画像メモリへ移動することを可能とする構成をとるこ
ともできる。これにより、上述した基本的な画像生成装
置の双方向動き補償処理と半画素精度動き補償処理は以
下の手順で行なわれる。
【0103】双方向動き補償の処理手順は、上述の(数
3)に従い処理を行なう。すなわち、双方向動き補償
を、差分画像ブロックに対し、過去画像ブロックの画素
データの0.5倍を加算し、この結果にさらに、未来画
像ブロックの画素データの0.5倍を加算することで実
現する。以下、より詳細に双方向動き補償の処理を説明
する。
3)に従い処理を行なう。すなわち、双方向動き補償
を、差分画像ブロックに対し、過去画像ブロックの画素
データの0.5倍を加算し、この結果にさらに、未来画
像ブロックの画素データの0.5倍を加算することで実
現する。以下、より詳細に双方向動き補償の処理を説明
する。
【0104】まず順方向動き補償処理を行なう。ブロッ
ク画像メモリには、差分画像ブロックが記憶されてい
る。ブロック画像メモリから第3の画素位置信号に指定
された画素データD(x,y)が第2の画像メモリアクセス部
を介して順次読み出される。一方、過去画像ブロックか
らは第1の画素位置信号として指定された過去画像ブロ
ックの画素データP(x,y)が第1の画像メモリアクセス部
を介して順次読み出される。これらの画素データは、画
素演算手段に入力され、P(x,y)/2 + D(x,y)が求められ
る。画素位置指定手段は、第2の画素位置信号により生
成画像ブロック内の画素位置を指定しており、画素演算
手段で求められた画素データは生成画像ブロック内の指
定された画素位置に第1の画像メモリアクセス部を介し
て書き込まれる。この処理を画像ブロック全体の画素デ
ータに対して順次処理を行なう。
ク画像メモリには、差分画像ブロックが記憶されてい
る。ブロック画像メモリから第3の画素位置信号に指定
された画素データD(x,y)が第2の画像メモリアクセス部
を介して順次読み出される。一方、過去画像ブロックか
らは第1の画素位置信号として指定された過去画像ブロ
ックの画素データP(x,y)が第1の画像メモリアクセス部
を介して順次読み出される。これらの画素データは、画
素演算手段に入力され、P(x,y)/2 + D(x,y)が求められ
る。画素位置指定手段は、第2の画素位置信号により生
成画像ブロック内の画素位置を指定しており、画素演算
手段で求められた画素データは生成画像ブロック内の指
定された画素位置に第1の画像メモリアクセス部を介し
て書き込まれる。この処理を画像ブロック全体の画素デ
ータに対して順次処理を行なう。
【0105】次に、画像移動手段は、第4の画素位置信
号として上で順方向動き補償処理を行ない得られた生成
画像ブロック内の画素位置を順次指定し、第1の画像メ
モリアクセス部を介して画素データを読み出す。一方画
像移動手段はブロック画像メモリ内の画素位置を第5の
画素位置信号として順次指定し、生成画像ブロックより
読み出した画素データを第2の画像メモリアクセス部を
介してブロック画像メモリに書き込む。このようにし
て、順方向動き補償処理を行なった結果のブロック画像
をブロック画像メモリに移動させる。
号として上で順方向動き補償処理を行ない得られた生成
画像ブロック内の画素位置を順次指定し、第1の画像メ
モリアクセス部を介して画素データを読み出す。一方画
像移動手段はブロック画像メモリ内の画素位置を第5の
画素位置信号として順次指定し、生成画像ブロックより
読み出した画素データを第2の画像メモリアクセス部を
介してブロック画像メモリに書き込む。このようにし
て、順方向動き補償処理を行なった結果のブロック画像
をブロック画像メモリに移動させる。
【0106】次に、逆方向動き補償処理を行なう。第3
の画素位置信号に指定された画素データP(x,y)/2 + D
(x,y)が第2の画像メモリアクセス部を介して順次読み
出される。一方、未来画像ブロックからは第1の画素位
置信号として指定された未来画像ブロックの画素データ
F(x,y)が第1の画像メモリアクセス部を介して順次読み
出される。これらの画素データは、画素演算手段に入力
され、{P(x,y)/2 + D(x,y)} + F(x,y)/2が求められる。
画素位置指定手段からは第2の画素位置信号として生成
画像の生成画像ブロック内の画素位置を指定しており、
求められた画素データは第1の画像メモリアクセス部を
介して書き込まれる。この処理を画像ブロック全体の画
素データに対して順次処理を行なう。
の画素位置信号に指定された画素データP(x,y)/2 + D
(x,y)が第2の画像メモリアクセス部を介して順次読み
出される。一方、未来画像ブロックからは第1の画素位
置信号として指定された未来画像ブロックの画素データ
F(x,y)が第1の画像メモリアクセス部を介して順次読み
出される。これらの画素データは、画素演算手段に入力
され、{P(x,y)/2 + D(x,y)} + F(x,y)/2が求められる。
画素位置指定手段からは第2の画素位置信号として生成
画像の生成画像ブロック内の画素位置を指定しており、
求められた画素データは第1の画像メモリアクセス部を
介して書き込まれる。この処理を画像ブロック全体の画
素データに対して順次処理を行なう。
【0107】以上のようにして(数3)に示す演算が行
なわれる。生成画像を構成するすべての画像ブロックに
ついて上記の処理を行なうことで双方向動き補償処理が
行なわれる。
なわれる。生成画像を構成するすべての画像ブロックに
ついて上記の処理を行なうことで双方向動き補償処理が
行なわれる。
【0108】以下に、半画素精度の動き補償処理を説明
する。
する。
【0109】まず、ブロック画像メモリには差分画像ブ
ロックが記憶されており、第3の画素位置信号に指定さ
れた画素データが第2の画像メモリアクセス部を介して
順次読み出される。一方基準画像ブロックからは第1の
画素位置信号として指定された画素データが第1の画像
メモリアクセス部を介して順次読み出される。これらの
画素データは、画素演算手段に入力され、画素演算が行
なわれる。画素位置指定手段からは第2の画素位置信号
により生成画像ブロック内の画素位置を指定しており、
画素演算手段で求められた画素データは生成画像ブロッ
ク内の指定された画素位置に第1の画像メモリアクセス
部を介して書き込まれる。この処理を画像ブロック全体
の画素データに対して順次処理し、ブロック動き補償処
理を行なう。
ロックが記憶されており、第3の画素位置信号に指定さ
れた画素データが第2の画像メモリアクセス部を介して
順次読み出される。一方基準画像ブロックからは第1の
画素位置信号として指定された画素データが第1の画像
メモリアクセス部を介して順次読み出される。これらの
画素データは、画素演算手段に入力され、画素演算が行
なわれる。画素位置指定手段からは第2の画素位置信号
により生成画像ブロック内の画素位置を指定しており、
画素演算手段で求められた画素データは生成画像ブロッ
ク内の指定された画素位置に第1の画像メモリアクセス
部を介して書き込まれる。この処理を画像ブロック全体
の画素データに対して順次処理し、ブロック動き補償処
理を行なう。
【0110】次に、画像移動手段は、第4の画素位置信
号として上で片方向動き補償処理を行ない得られた生成
画像ブロック内の画素位置を順次指定し、第1の画像メ
モリアクセス部を介して画素データを読み出す。一方画
像移動手段はブロック画像メモリ内の画素位置を第5の
画素位置信号として順次指定し、生成画像ブロックより
読み出した画素データを第2の画像メモリアクセス部を
介してブロック画像メモリに書き込む。このようにし
て、片方向動き補償処理を行なった結果のブロック画像
をブロック画像メモリに移動させる。
号として上で片方向動き補償処理を行ない得られた生成
画像ブロック内の画素位置を順次指定し、第1の画像メ
モリアクセス部を介して画素データを読み出す。一方画
像移動手段はブロック画像メモリ内の画素位置を第5の
画素位置信号として順次指定し、生成画像ブロックより
読み出した画素データを第2の画像メモリアクセス部を
介してブロック画像メモリに書き込む。このようにし
て、片方向動き補償処理を行なった結果のブロック画像
をブロック画像メモリに移動させる。
【0111】上記のブロック動き補償処理と、画像ブロ
ックのブロック画像メモリへの移動を半画素精度の動き
補償処理のために必要となる回数だけ繰り返すことによ
り半画素精度の動き補償を行なうことが可能となる。
ックのブロック画像メモリへの移動を半画素精度の動き
補償処理のために必要となる回数だけ繰り返すことによ
り半画素精度の動き補償を行なうことが可能となる。
【0112】上記のような構成をとることにより、単一
の構成で、テクスチャマッピング処理の実現と半画素精
度の片方向/双方向動き補償による圧縮動画伸長処理の
実現とを両立させることが可能となる。
の構成で、テクスチャマッピング処理の実現と半画素精
度の片方向/双方向動き補償による圧縮動画伸長処理の
実現とを両立させることが可能となる。
【0113】さらに別の構成では、画素演算手段の出力
の画素データを第2の画像メモリアクセス部を介してブ
ロック画像メモリへ書き込むことを可能としている。こ
れにより、基本的な構成で説明した双方向動き補償処理
と半画素精度動き補償処理とは以下の手順で行なわれ
る。
の画素データを第2の画像メモリアクセス部を介してブ
ロック画像メモリへ書き込むことを可能としている。こ
れにより、基本的な構成で説明した双方向動き補償処理
と半画素精度動き補償処理とは以下の手順で行なわれ
る。
【0114】双方向動き補償の処理手順は、上述の(数
3)に従い処理を行なう。
3)に従い処理を行なう。
【0115】すなわち、双方向動き補償を、動き補償差
分画像ブロックに対し、まず、過去画像ブロックの画素
データの0.5倍を加算し、この結果にさらに、未来画
像ブロックの画素データの0.5倍を加算することで実
現する。
分画像ブロックに対し、まず、過去画像ブロックの画素
データの0.5倍を加算し、この結果にさらに、未来画
像ブロックの画素データの0.5倍を加算することで実
現する。
【0116】まず順方向動き補償処理を行なう。ブロッ
ク画像メモリには、差分画像ブロックが記憶されてお
り、第3の画素位置信号に指定された画素データD(x,y)
が第2の画像メモリアクセス部を介して順次読み出され
る。一方、過去画像ブロックからは第1の画素位置信号
として指定された過去画像ブロックの画素データP(x,y)
が第1の画像メモリアクセス部を介して順次読み出され
る。これらの画素データは、画素演算手段に入力され、
P(x,y)/2 + D(x,y)が求められる。画素位置指定手段か
らは第2の画素位置信号としてブロック画像メモリ内の
画素位置を指定しており、画素演算手段で求められた画
素データはブロック画像メモリ内の指定された画素位置
に第2の画像メモリアクセス部を介して書き込まれる。
この処理を画像ブロック全体の画素データに対して順次
処理を行なう。
ク画像メモリには、差分画像ブロックが記憶されてお
り、第3の画素位置信号に指定された画素データD(x,y)
が第2の画像メモリアクセス部を介して順次読み出され
る。一方、過去画像ブロックからは第1の画素位置信号
として指定された過去画像ブロックの画素データP(x,y)
が第1の画像メモリアクセス部を介して順次読み出され
る。これらの画素データは、画素演算手段に入力され、
P(x,y)/2 + D(x,y)が求められる。画素位置指定手段か
らは第2の画素位置信号としてブロック画像メモリ内の
画素位置を指定しており、画素演算手段で求められた画
素データはブロック画像メモリ内の指定された画素位置
に第2の画像メモリアクセス部を介して書き込まれる。
この処理を画像ブロック全体の画素データに対して順次
処理を行なう。
【0117】次に、逆方向動き補償処理を行なう。第3
の画素位置信号に指定された画素データP(x,y)/2 + D
(x,y)が第2の画像メモリアクセス部を介して順次読み
出される。一方、未来画像ブロックからは第1の画素位
置信号として指定された未来画像ブロックの画素データ
F(x,y)が第1の画像メモリアクセス部を介して順次読み
出される。これらの画素データは、画素演算手段に入力
され、{P(x,y)/2 + D(x,y)} + F(x,y)/2が求められる。
画素位置指定手段からは第2の画素位置信号として生成
画像の生成画像ブロック内の画素位置を指定しており、
求められた画素データは第1の画像メモリアクセス部を
介して書き込まれる。この処理を画像ブロック全体の画
素データに対して順次処理を行なう。
の画素位置信号に指定された画素データP(x,y)/2 + D
(x,y)が第2の画像メモリアクセス部を介して順次読み
出される。一方、未来画像ブロックからは第1の画素位
置信号として指定された未来画像ブロックの画素データ
F(x,y)が第1の画像メモリアクセス部を介して順次読み
出される。これらの画素データは、画素演算手段に入力
され、{P(x,y)/2 + D(x,y)} + F(x,y)/2が求められる。
画素位置指定手段からは第2の画素位置信号として生成
画像の生成画像ブロック内の画素位置を指定しており、
求められた画素データは第1の画像メモリアクセス部を
介して書き込まれる。この処理を画像ブロック全体の画
素データに対して順次処理を行なう。
【0118】以上のようにして(数3)に示す演算が行
なわれる。生成画像を構成するすべての画像ブロックに
ついて上記の処理を行なうことで双方向動き補償処理が
行なわれる。
なわれる。生成画像を構成するすべての画像ブロックに
ついて上記の処理を行なうことで双方向動き補償処理が
行なわれる。
【0119】さらに、半画素精度の動き補償処理は以下
のように処理することで可能となる。すなわち、ブロッ
ク画像メモリに格納されている差分画像ブロックの画素
データと、基準画像ブロックの画素データとを用いて画
素演算手段で演算を行ない、演算結果をブロック画像メ
モリに書き戻す。半画素精度動き補償処理の複数回の繰
り返し処理のうち最後に行なわれるブロック動き補償処
理だけ第1の画像メモリアクセス手段を介して生成画像
内に書き込まれる。
のように処理することで可能となる。すなわち、ブロッ
ク画像メモリに格納されている差分画像ブロックの画素
データと、基準画像ブロックの画素データとを用いて画
素演算手段で演算を行ない、演算結果をブロック画像メ
モリに書き戻す。半画素精度動き補償処理の複数回の繰
り返し処理のうち最後に行なわれるブロック動き補償処
理だけ第1の画像メモリアクセス手段を介して生成画像
内に書き込まれる。
【0120】このように処理を行なうことにより、上述
の処理で必要であった画像ブロックデータの移動が必要
なくなり、メモリアクセス回数を大幅に削減することが
可能となる。
の処理で必要であった画像ブロックデータの移動が必要
なくなり、メモリアクセス回数を大幅に削減することが
可能となる。
【0121】ブロック画像メモリ内の画像データはブロ
ック動き補償処理においては各画素一度だけ参照され、
演算結果は参照された画素位置に書き戻されるため、演
算対象となった画像データは演算結果を重ね書きしても
処理を行なう上で問題は発生しない。
ック動き補償処理においては各画素一度だけ参照され、
演算結果は参照された画素位置に書き戻されるため、演
算対象となった画像データは演算結果を重ね書きしても
処理を行なう上で問題は発生しない。
【0122】このように、単一の構成で、テクスチャマ
ッピング処理の実現と半画素精度の片方向/双方向動き
補償による圧縮動画伸長処理の実現を両立させることが
可能となる。さらに上述の場合に比較して、ブロック画
像メモリへのアクセス回数が削減されることにより、処
理の高速化を図ることが可能となる。
ッピング処理の実現と半画素精度の片方向/双方向動き
補償による圧縮動画伸長処理の実現を両立させることが
可能となる。さらに上述の場合に比較して、ブロック画
像メモリへのアクセス回数が削減されることにより、処
理の高速化を図ることが可能となる。
【0123】以上のように単一の構成で、動き補償処理
による圧縮動画伸長処理と、テクスチャマッピング処理
とを実現し、これにより画像生成装置の構成の単純化、
回路規模の縮小化、処理に要するメモリ量の削減、およ
びメモリ間の動画データ転送を不要にすることによるデ
ータ転送量の削減を実現することが可能となる。
による圧縮動画伸長処理と、テクスチャマッピング処理
とを実現し、これにより画像生成装置の構成の単純化、
回路規模の縮小化、処理に要するメモリ量の削減、およ
びメモリ間の動画データ転送を不要にすることによるデ
ータ転送量の削減を実現することが可能となる。
【0124】上述の画像生成装置を使った動画伸長マッ
ピング装置では、MPEGなどに代表される、画像ブロ
ックの動き予測、DCTなどによる直交変換、ハフマン
符号化などによる可変長符号化を用いた動画圧縮手法に
おいて圧縮符号化されたディジタル動画に対し、動画伸
長処理および伸長動画をテクスチャ画像として用いたテ
クスチャマッピング処理を行なう。以下にその処理の詳
細を説明する。
ピング装置では、MPEGなどに代表される、画像ブロ
ックの動き予測、DCTなどによる直交変換、ハフマン
符号化などによる可変長符号化を用いた動画圧縮手法に
おいて圧縮符号化されたディジタル動画に対し、動画伸
長処理および伸長動画をテクスチャ画像として用いたテ
クスチャマッピング処理を行なう。以下にその処理の詳
細を説明する。
【0125】圧縮動画は、基準画像を直交変換、可変長
符号化した圧縮基準画像データと、基準画像を構成する
画像ブロックとの差分結果の画像ブロックを直交変換、
可変長符号化した圧縮差分画像データとから構成され
る。
符号化した圧縮基準画像データと、基準画像を構成する
画像ブロックとの差分結果の画像ブロックを直交変換、
可変長符号化した圧縮差分画像データとから構成され
る。
【0126】本発明の動画伸長マッピング装置では、ま
ず圧縮基準画像データを可変長逆符号化し、直交変換を
行ない伸長基準画像を得る。ここでテクスチャマッピン
グ処理が必要ならばこの画像をテクスチャ画像としてテ
クスチャマッピング処理を行なう。次に圧縮差分画像デ
ータを可変長逆符号化し、直交変換を行ない差分画像を
得る。さらに本発明の画像生成装置により動き補償処理
を行なうことにより伸長された画像(生成画像)を得
る。テクスチャマッピング処理が必要であれば、この生
成画像をテクスチャ画像として用いテクスチャマッピン
グ処理を行なう。または、上述した画像生成装置の動作
のとおり、差分画像に対して動き補償処理とテクスチャ
マッピング処理を同時実行する。
ず圧縮基準画像データを可変長逆符号化し、直交変換を
行ない伸長基準画像を得る。ここでテクスチャマッピン
グ処理が必要ならばこの画像をテクスチャ画像としてテ
クスチャマッピング処理を行なう。次に圧縮差分画像デ
ータを可変長逆符号化し、直交変換を行ない差分画像を
得る。さらに本発明の画像生成装置により動き補償処理
を行なうことにより伸長された画像(生成画像)を得
る。テクスチャマッピング処理が必要であれば、この生
成画像をテクスチャ画像として用いテクスチャマッピン
グ処理を行なう。または、上述した画像生成装置の動作
のとおり、差分画像に対して動き補償処理とテクスチャ
マッピング処理を同時実行する。
【0127】このように、本発明の動画伸長マッピング
装置は、圧縮動画を伸長しつつこの動画像をテクスチャ
画像として用いテクスチャマッピング処理することが可
能となり、動画伸長処理とテクスチャマッピング処理を
従来と比較して規模の小さな装置で実現することが可能
となる。
装置は、圧縮動画を伸長しつつこの動画像をテクスチャ
画像として用いテクスチャマッピング処理することが可
能となり、動画伸長処理とテクスチャマッピング処理を
従来と比較して規模の小さな装置で実現することが可能
となる。
【0128】上述の動画伸長マッピング装置を用いたマ
ルチメディア機器では、次のように動画の伸長処理とテ
クスチャマッピング処理が行なわれる。
ルチメディア機器では、次のように動画の伸長処理とテ
クスチャマッピング処理が行なわれる。
【0129】CPUはメインメモリに格納されたプログ
ラムに従い、動画伸長マッピング装置やその他のシステ
ム各部の制御や、アプリケーションプログラムの実行を
行なう。動画伸長マッピング装置では、CPUからの指
示とデータとに基づき、フレームメモリ上に画像を生成
し表示を行なう。
ラムに従い、動画伸長マッピング装置やその他のシステ
ム各部の制御や、アプリケーションプログラムの実行を
行なう。動画伸長マッピング装置では、CPUからの指
示とデータとに基づき、フレームメモリ上に画像を生成
し表示を行なう。
【0130】このシステムにおいて、圧縮動画が3次元
ポリゴンにテクスチャマッピングされ表示される処理に
ついて動作を説明する。本マルチメディア機器の記憶装
置には圧縮動画データや3次元ポリゴン形状が格納され
ているとする。
ポリゴンにテクスチャマッピングされ表示される処理に
ついて動作を説明する。本マルチメディア機器の記憶装
置には圧縮動画データや3次元ポリゴン形状が格納され
ているとする。
【0131】CPUが記憶装置から圧縮動画データとポ
リゴン形状データとをメインメモリに読み出す。CPU
では3次元ポリゴン形状を画面上の2次元ポリゴン形状
に変換する。次にCPUから動画伸長マッピング装置に
対し圧縮動画データが渡され、画像ブロック設定処理が
指示される。動画伸長マッピング装置内の画像生成装置
では、フレームメモリ内に生成画像領域と基準画像を設
定する。次に、CPUから伸長処理の指示がなされる。
動画伸長マッピング装置では、与えられた圧縮動画デー
タに対し可変長逆符号化処理と直交変換処理を行なう。
さらに動画伸長マッピング装置内の画像生成装置にて動
き補償処理を行ないフレームメモリ内の生成画像領域に
伸長画像を生成する。次に、CPUから動画伸長マッピ
ング装置に画像ブロック設定処理が指示され、生成され
た画像データがテクスチャ画像としてまた新たに生成ポ
リゴンが設定される。そして、CPUから2次元ポリゴ
ン形状が与えられテクスチャマッピング処理が指示され
る。設定されたテクスチャ画像と生成ポリゴンに基づ
き、画像生成装置にてテクスチャマッピング処理が行な
われ、動画データがテクスチャマッピングされたポリゴ
ン画像が生成される。1枚の伸長画像データに対して
は、一つのポリゴン形状だけでなく複数のポリゴン形状
が与えられ複雑な形状にマッピングすることも可能とな
る。
リゴン形状データとをメインメモリに読み出す。CPU
では3次元ポリゴン形状を画面上の2次元ポリゴン形状
に変換する。次にCPUから動画伸長マッピング装置に
対し圧縮動画データが渡され、画像ブロック設定処理が
指示される。動画伸長マッピング装置内の画像生成装置
では、フレームメモリ内に生成画像領域と基準画像を設
定する。次に、CPUから伸長処理の指示がなされる。
動画伸長マッピング装置では、与えられた圧縮動画デー
タに対し可変長逆符号化処理と直交変換処理を行なう。
さらに動画伸長マッピング装置内の画像生成装置にて動
き補償処理を行ないフレームメモリ内の生成画像領域に
伸長画像を生成する。次に、CPUから動画伸長マッピ
ング装置に画像ブロック設定処理が指示され、生成され
た画像データがテクスチャ画像としてまた新たに生成ポ
リゴンが設定される。そして、CPUから2次元ポリゴ
ン形状が与えられテクスチャマッピング処理が指示され
る。設定されたテクスチャ画像と生成ポリゴンに基づ
き、画像生成装置にてテクスチャマッピング処理が行な
われ、動画データがテクスチャマッピングされたポリゴ
ン画像が生成される。1枚の伸長画像データに対して
は、一つのポリゴン形状だけでなく複数のポリゴン形状
が与えられ複雑な形状にマッピングすることも可能とな
る。
【0132】また、上記説明では、画像の伸長処理を行
ない伸長画像を得た後、テクスチャマッピング処理を行
なったが、画像ブロック単位で動画伸長処理とテクスチ
ャマッピング処理を交互に行なうことも可能である。さ
らに、動画伸長における動き補償処理とテクスチャマッ
ピング処理の同時実行も可能である。
ない伸長画像を得た後、テクスチャマッピング処理を行
なったが、画像ブロック単位で動画伸長処理とテクスチ
ャマッピング処理を交互に行なうことも可能である。さ
らに、動画伸長における動き補償処理とテクスチャマッ
ピング処理の同時実行も可能である。
【0133】このようにマルチメディア機器を構成し動
作させることが可能となるため、伸長された画像データ
がシステムバスを転送されることがなくなり、システム
バスにおけるデータ転送の負荷が大幅に軽減される。ま
た、動画伸長処理とテクスチャマッピング処理を同一の
フレームメモリを用いて処理するため、システムにおけ
るメモリ量の削減が可能となる。
作させることが可能となるため、伸長された画像データ
がシステムバスを転送されることがなくなり、システム
バスにおけるデータ転送の負荷が大幅に軽減される。ま
た、動画伸長処理とテクスチャマッピング処理を同一の
フレームメモリを用いて処理するため、システムにおけ
るメモリ量の削減が可能となる。
【0134】以上のように、本発明によると、フレーム
間動き予測を用いて圧縮されたディジタル動画の伸長処
理と、CG生成におけるポリゴンへのテクスチャマッピ
ング処理、更には伸長処理とテクスチャマッピング処理
を同時に行なうことのできる画像生成装置、動画伸長マ
ッピング装置、マルチメディア機器を実現することが可
能となる。これにより装置、機器の構成の単純化、回路
規模の縮小化、処理に要するメモリ量の削減、メモリ間
の動画データ転送を不要にすることによるデータ転送量
の削減を実現することが可能となる。
間動き予測を用いて圧縮されたディジタル動画の伸長処
理と、CG生成におけるポリゴンへのテクスチャマッピ
ング処理、更には伸長処理とテクスチャマッピング処理
を同時に行なうことのできる画像生成装置、動画伸長マ
ッピング装置、マルチメディア機器を実現することが可
能となる。これにより装置、機器の構成の単純化、回路
規模の縮小化、処理に要するメモリ量の削減、メモリ間
の動画データ転送を不要にすることによるデータ転送量
の削減を実現することが可能となる。
【0135】
【発明の実施の形態】以下、図面を参照しながら、本発
明の画像処理装置および動画伸長マッピング装置ならび
にマルチメディア機器の実施の形態を説明する。
明の画像処理装置および動画伸長マッピング装置ならび
にマルチメディア機器の実施の形態を説明する。
【0136】本発明を用いることにより、動き予測に基
づき圧縮された動画データの伸長と伸長動画データをテ
クスチャ画像としてテクスチャマッピングにより画像を
生成することができる。
づき圧縮された動画データの伸長と伸長動画データをテ
クスチャ画像としてテクスチャマッピングにより画像を
生成することができる。
【0137】動き予測とは、画像内のあるブロック画像
について過去または未来の画像から最も類似したブロッ
クを求め、この差分を求めることによりデータ量を削減
するものである。MPEGなどの動画の圧縮符号化方式
では、図21に示すように、固定サイズの画像ブロック
182(16×16画素の画像ブロックなど)に対し基準
画像内の類似画像ブロック181と差分を計算し動き予測
を行ない、さらに、直交変換(DCTなど)や可変長符
号化(ハフマン符号化など)を施し符号化を行なってい
る。
について過去または未来の画像から最も類似したブロッ
クを求め、この差分を求めることによりデータ量を削減
するものである。MPEGなどの動画の圧縮符号化方式
では、図21に示すように、固定サイズの画像ブロック
182(16×16画素の画像ブロックなど)に対し基準
画像内の類似画像ブロック181と差分を計算し動き予測
を行ない、さらに、直交変換(DCTなど)や可変長符
号化(ハフマン符号化など)を施し符号化を行なってい
る。
【0138】このように符号化された動画像の伸長は、
図22に示すように、圧縮動画データをまず可変長逆符
号化し直交変換係数画像191に変換し、これに対して直
交変換を行ない、差分画像192に変換する。差分画像192
を画像ブロックに区切り、各ブロック毎に動き補償処理
を行なう、すなわち基準画像から動き予測の基準となっ
た画像ブロック193を取り出しこの画像データと差分画
像データを演算し動き補償結果の画像を得る。圧縮符号
化の際の動き予測処理の基準画像は、過去画像の場合
(順方向動き予測)、未来画像の場合(逆方向動き予
測)、過去画像および未来画像両方の場合(双方向動き
予測)、基準画像を使わない場合(動き予測なし)があ
り、動き予測のブロック単位で最適な予測方法が選択さ
れる。これに対応するためには、動き補償処理において
も画像ブロックの処理毎に動き補償の方法を切替える必
要がある。
図22に示すように、圧縮動画データをまず可変長逆符
号化し直交変換係数画像191に変換し、これに対して直
交変換を行ない、差分画像192に変換する。差分画像192
を画像ブロックに区切り、各ブロック毎に動き補償処理
を行なう、すなわち基準画像から動き予測の基準となっ
た画像ブロック193を取り出しこの画像データと差分画
像データを演算し動き補償結果の画像を得る。圧縮符号
化の際の動き予測処理の基準画像は、過去画像の場合
(順方向動き予測)、未来画像の場合(逆方向動き予
測)、過去画像および未来画像両方の場合(双方向動き
予測)、基準画像を使わない場合(動き予測なし)があ
り、動き予測のブロック単位で最適な予測方法が選択さ
れる。これに対応するためには、動き補償処理において
も画像ブロックの処理毎に動き補償の方法を切替える必
要がある。
【0139】本発明の画像生成装置では、図22に示す
動き補償処理だけでなく、図23に示すようなテクスチ
ャマッピング処理による画像の変形、さらには図24に
示すような動き補償処理とテクスチャマッピング処理の
同時実行が単一の装置で可能となる。
動き補償処理だけでなく、図23に示すようなテクスチ
ャマッピング処理による画像の変形、さらには図24に
示すような動き補償処理とテクスチャマッピング処理の
同時実行が単一の装置で可能となる。
【0140】動画のテクスチャマッピングは、例えば、
ビデオ編集やマルチメディア機器において動画像に3次
元効果を付与する場合(図25(A)参照)や、動画像を
3次元CGにより生成された画像内に遠近感をもたせて
貼り込む場合(図25(B)参照)などに利用することが
できる。本発明を利用することにより圧縮された動画デ
ータに対するテクスチャマッピング処理が効率良く処理
可能となる。
ビデオ編集やマルチメディア機器において動画像に3次
元効果を付与する場合(図25(A)参照)や、動画像を
3次元CGにより生成された画像内に遠近感をもたせて
貼り込む場合(図25(B)参照)などに利用することが
できる。本発明を利用することにより圧縮された動画デ
ータに対するテクスチャマッピング処理が効率良く処理
可能となる。
【0141】以下、上記画像生成装置を用いた本発明の
マルチメディア機器について、システムの構成、画像生
成装置の構成、動作、画像生成装置を利用した動画伸長
マッピング装置の動作、マルチメディア機器の動作につ
いて説明を行なう。
マルチメディア機器について、システムの構成、画像生
成装置の構成、動作、画像生成装置を利用した動画伸長
マッピング装置の動作、マルチメディア機器の動作につ
いて説明を行なう。
【0142】(実施形態1)図1に本発明によるマルチ
メディア機器の第1の実施形態の構成図を示す。
メディア機器の第1の実施形態の構成図を示す。
【0143】本実施形態のマルチメディア機器100は次
のように構成されている。CPU101は、システム全体
の制御、動画伸長マッピング装置の制御、画像生成装置
の制御、ディスク装置の制御などを司る。メインメモリ
102は、CPUで実行される画像生成装置制御用のプロ
グラムをはじめ、システム各部の動作を記述したプログ
ラム、ディスク装置から読み込まれた画像やその他のデ
ータ、プログラムで利用されるデータを記憶している。
ディスク装置103は、圧縮画像データやテクスチャ画像
データ、描画プログラムなどが格納されている。動画伸
長マッピング装置108はCPU101により書き込まれた圧
縮動画データを可変長逆符号化処理を行ない直交変換係
数画像データを出力する可変長逆符号化部105、直交変
換係数画像データを入力しこれに対して直交変換処理を
行ない差分画像データを出力する直交変換部106、画像
生成装置104およびこれらとフレームメモリ109を接続す
るためのローカルバス107を備えている。フレームメモ
リ109は、画像生成装置104が利用する基準画像や差分画
像、生成画像が格納される。DA変換装置110は、画像
生成装置104により生成された画像をフレームメモリ109
より読み出し表示装置111で表示するためにDA変換を
行なう。表示装置111は、DA変換装置110から出力され
た画像を表示する。システムバス112は、CPU101、メ
インメモリ102、ディスク装置103、動画伸長マッピング
装置108の間を接続しデータのやりとりを行なう。
のように構成されている。CPU101は、システム全体
の制御、動画伸長マッピング装置の制御、画像生成装置
の制御、ディスク装置の制御などを司る。メインメモリ
102は、CPUで実行される画像生成装置制御用のプロ
グラムをはじめ、システム各部の動作を記述したプログ
ラム、ディスク装置から読み込まれた画像やその他のデ
ータ、プログラムで利用されるデータを記憶している。
ディスク装置103は、圧縮画像データやテクスチャ画像
データ、描画プログラムなどが格納されている。動画伸
長マッピング装置108はCPU101により書き込まれた圧
縮動画データを可変長逆符号化処理を行ない直交変換係
数画像データを出力する可変長逆符号化部105、直交変
換係数画像データを入力しこれに対して直交変換処理を
行ない差分画像データを出力する直交変換部106、画像
生成装置104およびこれらとフレームメモリ109を接続す
るためのローカルバス107を備えている。フレームメモ
リ109は、画像生成装置104が利用する基準画像や差分画
像、生成画像が格納される。DA変換装置110は、画像
生成装置104により生成された画像をフレームメモリ109
より読み出し表示装置111で表示するためにDA変換を
行なう。表示装置111は、DA変換装置110から出力され
た画像を表示する。システムバス112は、CPU101、メ
インメモリ102、ディスク装置103、動画伸長マッピング
装置108の間を接続しデータのやりとりを行なう。
【0144】次に、マルチメディア機器100に関して、
圧縮動画の伸長処理、テクスチャマッピング処理、圧縮
動画をテクスチャデータとして使用しテクスチャマッピ
ングを行なう場合のそれぞれの動作について説明する。
圧縮動画の伸長処理、テクスチャマッピング処理、圧縮
動画をテクスチャデータとして使用しテクスチャマッピ
ングを行なう場合のそれぞれの動作について説明する。
【0145】ここでは、MPEGによる圧縮動画データ
がディスク装置103に格納されており、これを読み出し
ながら動画伸長処理を行ない、動画として表示する動作
を説明する。この動作手順はプログラムとしてメインメ
モリに格納されている。
がディスク装置103に格納されており、これを読み出し
ながら動画伸長処理を行ない、動画として表示する動作
を説明する。この動作手順はプログラムとしてメインメ
モリに格納されている。
【0146】MPEGによる圧縮動画データ列は、動き
予測を行なわずに1つの画像のフレーム内符号化処理を
行なったIピクチャと、過去の画像を基準に動き予測を
行ない圧縮符号化処理を行なったPピクチャと、過去画
像、未来画像双方向から動き予測を行ない圧縮符号化処
理を行なったBピクチャから構成される。ここでは、動
画が、順に画像1、画像2、画像3、画像4により構成
されているとする。画像1はIピクチャとして圧縮し、
画像4は画像1を基準画像とし順方向動き予測を行なっ
たPピクチャとして圧縮し、画像2、画像3は画像1、
画像4から双方向動き予測を行なったBピクチャとして
圧縮されているとする。
予測を行なわずに1つの画像のフレーム内符号化処理を
行なったIピクチャと、過去の画像を基準に動き予測を
行ない圧縮符号化処理を行なったPピクチャと、過去画
像、未来画像双方向から動き予測を行ない圧縮符号化処
理を行なったBピクチャから構成される。ここでは、動
画が、順に画像1、画像2、画像3、画像4により構成
されているとする。画像1はIピクチャとして圧縮し、
画像4は画像1を基準画像とし順方向動き予測を行なっ
たPピクチャとして圧縮し、画像2、画像3は画像1、
画像4から双方向動き予測を行なったBピクチャとして
圧縮されているとする。
【0147】まず、CPU101がディスク装置103より画
像1の圧縮データを読み出す。このデータはIピクチャ
であり動き補償処理は不要である。圧縮画像を画像ブロ
ック(圧縮画像ブロックと書く)単位に分割し、各ブロ
ックを動画伸長マッピング装置108に送る。圧縮画像ブ
ロックはハフマン符号化されているので、可変長逆符号
化部105で逆変換を行ない、この結果を直交変換部106へ
出力する。直交変換部106では、逆DCT変換を行ない
結果をフレームメモリ109の生成画像内に書き込む。全
ての圧縮画像ブロックを同様に処理することにより、伸
長された画像1がフレームメモリ109に生成される。
像1の圧縮データを読み出す。このデータはIピクチャ
であり動き補償処理は不要である。圧縮画像を画像ブロ
ック(圧縮画像ブロックと書く)単位に分割し、各ブロ
ックを動画伸長マッピング装置108に送る。圧縮画像ブ
ロックはハフマン符号化されているので、可変長逆符号
化部105で逆変換を行ない、この結果を直交変換部106へ
出力する。直交変換部106では、逆DCT変換を行ない
結果をフレームメモリ109の生成画像内に書き込む。全
ての圧縮画像ブロックを同様に処理することにより、伸
長された画像1がフレームメモリ109に生成される。
【0148】次に、フレームメモリ109に生成された画
像1を基準画像に設定する。CPU101は、ディスク装
置103より画像4の圧縮画像データを読み出す。このデ
ータはPピクチャであり、順方向動き補償処理が必要と
なる。圧縮画像を圧縮画像ブロック単位に分割し、各ブ
ロックを動画伸長マッピング装置108に送る。圧縮画像
ブロックはハフマン符号化されているので、可変長逆符
号化部105で逆変換を行ない、この結果を直交変換部106
へ出力する。直交変換部106では、逆DCT変換を行な
い結果をフレームメモリ109の差分画像内に書き込む。
基準画像(画像1)内の基準画像ブロックと、差分画像
内の差分画像ブロックをもとに、画像生成装置104が順
方向動き補償処理を行ない画像4をフレームメモリ109
に生成する。
像1を基準画像に設定する。CPU101は、ディスク装
置103より画像4の圧縮画像データを読み出す。このデ
ータはPピクチャであり、順方向動き補償処理が必要と
なる。圧縮画像を圧縮画像ブロック単位に分割し、各ブ
ロックを動画伸長マッピング装置108に送る。圧縮画像
ブロックはハフマン符号化されているので、可変長逆符
号化部105で逆変換を行ない、この結果を直交変換部106
へ出力する。直交変換部106では、逆DCT変換を行な
い結果をフレームメモリ109の差分画像内に書き込む。
基準画像(画像1)内の基準画像ブロックと、差分画像
内の差分画像ブロックをもとに、画像生成装置104が順
方向動き補償処理を行ない画像4をフレームメモリ109
に生成する。
【0149】この時点から、フレームメモリ109内の画
像1をDA変換装置110が読み出し表示装置111に表示を
行なう。
像1をDA変換装置110が読み出し表示装置111に表示を
行なう。
【0150】次に、既に生成された画像1、画像4を基
準画像と設定する。CPU101は、ディスク装置103より
画像2の圧縮画像データを読み出す。このデータはBピ
クチャであり、双方向動き補償処理が必要となる。圧縮
画像を圧縮画像ブロック単位に分割し、各ブロックを動
画伸長マッピング装置108に送る。圧縮画像ブロックは
ハフマン符号化されているので、可変長逆符号化部105
で逆変換を行ない、直交変換部106へ出力する。直交変
換部106では、逆DCT変換を行ない結果をフレームメ
モリ109の差分画像内に書き込む。過去画像(画像1)
内の基準画像ブロックと、未来画像(画像4)内の基準
画像ブロックと、差分画像内の差分画像ブロックをもと
に、画像生成装置104が双方向動き補償処理を行ない画
像2を生成する。
準画像と設定する。CPU101は、ディスク装置103より
画像2の圧縮画像データを読み出す。このデータはBピ
クチャであり、双方向動き補償処理が必要となる。圧縮
画像を圧縮画像ブロック単位に分割し、各ブロックを動
画伸長マッピング装置108に送る。圧縮画像ブロックは
ハフマン符号化されているので、可変長逆符号化部105
で逆変換を行ない、直交変換部106へ出力する。直交変
換部106では、逆DCT変換を行ない結果をフレームメ
モリ109の差分画像内に書き込む。過去画像(画像1)
内の基準画像ブロックと、未来画像(画像4)内の基準
画像ブロックと、差分画像内の差分画像ブロックをもと
に、画像生成装置104が双方向動き補償処理を行ない画
像2を生成する。
【0151】この時点から、フレームメモリ109内の画
像2をDA変換装置110が読み出し表示装置111に表示を
行なう。
像2をDA変換装置110が読み出し表示装置111に表示を
行なう。
【0152】次に、CPU101は、ディスク装置103より
画像3の圧縮画像データを読み出す。このデータはBピ
クチャであり、双方向動き補償処理が必要となる。圧縮
画像を圧縮画像ブロック単位に分割し、各ブロックを動
画伸長マッピング装置108に送る。圧縮画像ブロックは
ハフマン符号化されているので、可変長逆符号化部105
で逆変換を行ない、直交変換部106へ出力する。直交変
換部106では、逆DCT変換を行ない結果をフレームメ
モリ109の差分画像内に書き込む。過去画像(画像1)
内の基準画像ブロックと、未来画像(画像4)内の基準
画像ブロックと、差分画像内の差分画像ブロックをもと
に、画像生成装置104が双方向動き補償処理を行ない画
像3を生成する。
画像3の圧縮画像データを読み出す。このデータはBピ
クチャであり、双方向動き補償処理が必要となる。圧縮
画像を圧縮画像ブロック単位に分割し、各ブロックを動
画伸長マッピング装置108に送る。圧縮画像ブロックは
ハフマン符号化されているので、可変長逆符号化部105
で逆変換を行ない、直交変換部106へ出力する。直交変
換部106では、逆DCT変換を行ない結果をフレームメ
モリ109の差分画像内に書き込む。過去画像(画像1)
内の基準画像ブロックと、未来画像(画像4)内の基準
画像ブロックと、差分画像内の差分画像ブロックをもと
に、画像生成装置104が双方向動き補償処理を行ない画
像3を生成する。
【0153】この時点から、フレームメモリ109内の画
像3をDA変換装置が読み出し表示装置に表示を行な
う。画像3の表示が終ると、既に生成されている画像4
をDA変換装置110が読み出し表示装置111に表示を行な
う。
像3をDA変換装置が読み出し表示装置に表示を行な
う。画像3の表示が終ると、既に生成されている画像4
をDA変換装置110が読み出し表示装置111に表示を行な
う。
【0154】以上のように、マルチメディア機器100で
は、MPEGにより圧縮符号化された画像データを伸長
しつつ表示することが可能となる。この手順を図26の
タイミングチャートに示す。
は、MPEGにより圧縮符号化された画像データを伸長
しつつ表示することが可能となる。この手順を図26の
タイミングチャートに示す。
【0155】上の説明では、一つの画像の中の動き予測
方法は一つに固定されていたが、MPEGでは、Pピク
チャを構成する画像ブロックの中には動き予測を行なわ
ないで圧縮した画像ブロックや、Bピクチャを構成する
画像ブロックの中には、順方向動き予測や動き予測なし
の圧縮を行なった画像ブロックの存在が許されている。
このような場合でも、本実施形態では動き補償方法を画
像ブロック単位で設定し直しながら上述の処理を行なう
ことで、伸長処理を行なうことが可能となる。
方法は一つに固定されていたが、MPEGでは、Pピク
チャを構成する画像ブロックの中には動き予測を行なわ
ないで圧縮した画像ブロックや、Bピクチャを構成する
画像ブロックの中には、順方向動き予測や動き予測なし
の圧縮を行なった画像ブロックの存在が許されている。
このような場合でも、本実施形態では動き補償方法を画
像ブロック単位で設定し直しながら上述の処理を行なう
ことで、伸長処理を行なうことが可能となる。
【0156】ここでは、テクスチャ画像がディスク装置
103に格納されており、これを読み出し、ポリゴンにテ
クスチャマッピングを行ない、生成された画像を表示す
る方法を説明する。この動作手順はプログラムとしてメ
インメモリに格納されている。
103に格納されており、これを読み出し、ポリゴンにテ
クスチャマッピングを行ない、生成された画像を表示す
る方法を説明する。この動作手順はプログラムとしてメ
インメモリに格納されている。
【0157】まず、CPU101はディスク装置103からテ
クスチャ画像を読み出し動画伸長マッピング装置108を
介してフレームメモリ109に書き込む。CPU101は、フ
レームメモリ109に生成される生成画像内のポリゴン位
置(頂点座標)を画像生成装置104に指定するととも
に、テクスチャ画像のフレームメモリ内の位置を画像生
成装置104に指定し、テクスチャマッピングの指示を出
す。画像生成装置104は、フレームメモリ109内のテクス
チャ画像より、生成画像内の生成ポリゴンを描画する。
生成画像内の全てのポリゴンのテクスチャマッピング処
理を終えると、完成した生成画像をフレームメモリ109
からDA変換装置110が読み出し、表示装置111に表示を
行なう。次の画像を生成するためには、新たに必要とな
るテクスチャデータをCPU101がフレームメモリ109に
書き込んだ後、画像生成装置104にポリゴン位置を指示
しテクスチャマッピングを行なわせる。
クスチャ画像を読み出し動画伸長マッピング装置108を
介してフレームメモリ109に書き込む。CPU101は、フ
レームメモリ109に生成される生成画像内のポリゴン位
置(頂点座標)を画像生成装置104に指定するととも
に、テクスチャ画像のフレームメモリ内の位置を画像生
成装置104に指定し、テクスチャマッピングの指示を出
す。画像生成装置104は、フレームメモリ109内のテクス
チャ画像より、生成画像内の生成ポリゴンを描画する。
生成画像内の全てのポリゴンのテクスチャマッピング処
理を終えると、完成した生成画像をフレームメモリ109
からDA変換装置110が読み出し、表示装置111に表示を
行なう。次の画像を生成するためには、新たに必要とな
るテクスチャデータをCPU101がフレームメモリ109に
書き込んだ後、画像生成装置104にポリゴン位置を指示
しテクスチャマッピングを行なわせる。
【0158】ここでは、MPEGによる圧縮動画データ
がディスク装置103に格納されており、これを読み出し
ながら動画伸長処理を行ない同時にテクスチャマッピン
グ処理を行ない、ポリゴンにマッピングされた動画を表
示する処理を説明する。この動作手順はプログラムとし
てメインメモリ102に格納されている。動画は順に画像
1、画像2により構成されており、画像1はIピクチャ
として圧縮し、画像2は画像1を基準画像とし順方向動
き予測を行なったPピクチャとして圧縮されているとす
る。画像1は画像2の動き補償処理のための基準画像と
なるが、画像2は別の動き補償処理のための基準画像と
はなっていないとする。
がディスク装置103に格納されており、これを読み出し
ながら動画伸長処理を行ない同時にテクスチャマッピン
グ処理を行ない、ポリゴンにマッピングされた動画を表
示する処理を説明する。この動作手順はプログラムとし
てメインメモリ102に格納されている。動画は順に画像
1、画像2により構成されており、画像1はIピクチャ
として圧縮し、画像2は画像1を基準画像とし順方向動
き予測を行なったPピクチャとして圧縮されているとす
る。画像1は画像2の動き補償処理のための基準画像と
なるが、画像2は別の動き補償処理のための基準画像と
はなっていないとする。
【0159】まず、CPU101がディスク装置103より画
像1の圧縮データを読み出す。このデータはIピクチャ
であり動き補償処理は不要である。圧縮画像を画像ブロ
ック(以下、圧縮画像ブロックとする)単位に分割し、
各ブロックを動画伸長マッピング装置108に送る。圧縮
画像ブロックはハフマン符号化されているので、可変長
逆符号化部105で逆変換を行ない、この結果を直交変換
部106へ出力する。直交変換部106では、逆DCT変換を
行ない結果をフレームメモリ109のテクスチャ画像内に
書き込む。ここで、CPU101は画像生成装置104に上の
説明で伸長された画像ブロックをテクスチャ画像として
指定し、生成されるポリゴン位置を指示することでテク
スチャマッピングを行なわせる。全ての圧縮画像ブロッ
クを同様に処理することにより、伸長された画像1とこ
の画像をテクスチャマッピング処理しポリゴンにマッピ
ングした生成画像がフレームメモリ109内に得られる。
像1の圧縮データを読み出す。このデータはIピクチャ
であり動き補償処理は不要である。圧縮画像を画像ブロ
ック(以下、圧縮画像ブロックとする)単位に分割し、
各ブロックを動画伸長マッピング装置108に送る。圧縮
画像ブロックはハフマン符号化されているので、可変長
逆符号化部105で逆変換を行ない、この結果を直交変換
部106へ出力する。直交変換部106では、逆DCT変換を
行ない結果をフレームメモリ109のテクスチャ画像内に
書き込む。ここで、CPU101は画像生成装置104に上の
説明で伸長された画像ブロックをテクスチャ画像として
指定し、生成されるポリゴン位置を指示することでテク
スチャマッピングを行なわせる。全ての圧縮画像ブロッ
クを同様に処理することにより、伸長された画像1とこ
の画像をテクスチャマッピング処理しポリゴンにマッピ
ングした生成画像がフレームメモリ109内に得られる。
【0160】この時点で、フレームメモリ109内の画像
1をDA変換装置110が読み出し表示装置111に表示を行
なう。
1をDA変換装置110が読み出し表示装置111に表示を行
なう。
【0161】次に、CPU101がディスク装置103より画
像2の圧縮データを読み出す。このデータはPピクチャ
であり画像1を基準画像として順方向動き補償処理を行
なう必要がある。圧縮画像を画像ブロック(圧縮画像ブ
ロックと書く)単位に分割し、各ブロックを動画伸長マ
ッピング装置108に送る。圧縮画像ブロックはハフマン
符号化されているので、可変長逆符号化部105で逆変換
を行ない、この結果を直交変換部106へ出力する。直交
変換部106では、逆DCT変換を行ない結果をフレーム
メモリ109の差分画像内の差分画像ブロックに書き込
む。ここで、CPU101はこの差分画像ブロックを差分
画像ブロックとして指定し、既にフレームメモリ109内
の書き込まれている基準画像(画像1)の基準画像ブロ
ックを指定するとともに、生成画像内の生成ポリゴンの
位置を指定し、画像生成装置104に動画伸長処理とテク
スチャマッピングの同時実行を指示する。画像生成装置
104では差分画像と基準画像より順方向動き補償処理を
行ないつつ、動き補償処理の行なわれた画素データを生
成ポリゴン内にテクスチャマッピングを行なう。全ての
圧縮画像ブロックを同様に処理することにより、伸長さ
れた画像2がポリゴンにテクスチャマッピングされた生
成画像がフレームメモリ109内に得られる。この処理の
結果はテクスチャマッピング処理され変形された画像の
みであるが、上で述べたように画像2は次の画像の動き
補償のための基準画像とはならないため、問題は生じな
い。
像2の圧縮データを読み出す。このデータはPピクチャ
であり画像1を基準画像として順方向動き補償処理を行
なう必要がある。圧縮画像を画像ブロック(圧縮画像ブ
ロックと書く)単位に分割し、各ブロックを動画伸長マ
ッピング装置108に送る。圧縮画像ブロックはハフマン
符号化されているので、可変長逆符号化部105で逆変換
を行ない、この結果を直交変換部106へ出力する。直交
変換部106では、逆DCT変換を行ない結果をフレーム
メモリ109の差分画像内の差分画像ブロックに書き込
む。ここで、CPU101はこの差分画像ブロックを差分
画像ブロックとして指定し、既にフレームメモリ109内
の書き込まれている基準画像(画像1)の基準画像ブロ
ックを指定するとともに、生成画像内の生成ポリゴンの
位置を指定し、画像生成装置104に動画伸長処理とテク
スチャマッピングの同時実行を指示する。画像生成装置
104では差分画像と基準画像より順方向動き補償処理を
行ないつつ、動き補償処理の行なわれた画素データを生
成ポリゴン内にテクスチャマッピングを行なう。全ての
圧縮画像ブロックを同様に処理することにより、伸長さ
れた画像2がポリゴンにテクスチャマッピングされた生
成画像がフレームメモリ109内に得られる。この処理の
結果はテクスチャマッピング処理され変形された画像の
みであるが、上で述べたように画像2は次の画像の動き
補償のための基準画像とはならないため、問題は生じな
い。
【0162】この時点で、フレームメモリ109内の画像
2をDA変換装置110が読み出し表示装置111に表示を行
なう。
2をDA変換装置110が読み出し表示装置111に表示を行
なう。
【0163】以上のように、図1に示すマルチメディア
機器において、MPEGなどの圧縮動画の伸長処理、テ
クスチャマッピング処理および圧縮動画をテクスチャデ
ータとして使用しテクスチャマッピングを行なう処理が
実現できる。
機器において、MPEGなどの圧縮動画の伸長処理、テ
クスチャマッピング処理および圧縮動画をテクスチャデ
ータとして使用しテクスチャマッピングを行なう処理が
実現できる。
【0164】以下に、上述のマルチメディア機器に用い
られる画像生成装置104の構成と動作について詳細を説
明する。画像生成装置104は図2に示すように構成され
る。
られる画像生成装置104の構成と動作について詳細を説
明する。画像生成装置104は図2に示すように構成され
る。
【0165】制御回路201は、コマンド入力信号20aより
指定されたコマンドを解釈し、画素位置指定回路202、
画像移動回路206および画素演算回路203の動作を制御す
るコマンド信号を出力する。画素位置指定回路202は、
制御回路201の指示(コマンド信号)に従い、基準画像
ブロックや生成ポリゴン内の画素位置(第1の画素位
置)を求めこれを第1の画素位置信号20bとして出力
し、生成画像ブロックや生成ポリゴン内の画素位置(第
2の画素位置)を求め第2の画素位置信号20cとして出
力し、差分画像ブロックやテクスチャ画像内の画素位置
(第3の画素位置)を求め第3の画素位置信号20dとし
て出力する。画像メモリアクセス回路204は、第1の画
素位置信号20bをうけフレームメモリ109内の指定の画素
位置の画素データを読み出し第1の画素データ信号20e
として出力し、第2の画素位置信号20cをうけフレーム
メモリ109内の指定の画素位置に第2の画素データ信号2
0fとして入力した画素データを書き込み、第4の画素位
置信号20hをうけフレームメモリ109内の指定の画素位置
の画素データを読み出し第4の画素データ信号20jとし
て出力する第1の画像メモリアクセス部212と、第3の
画素位置信号20dをうけブロック画像メモリ205内の指定
の画素位置の画素データを読み出し第3の画素データ信
号20gとして出力し、第5の画素位置信号20iをうけブロ
ック画像メモリ内の指定の画素位置に第5の画素データ
信号20kとして入力した画素データを書き込む第2の画
像メモリアクセス部211とを備えている。画素演算回路2
03は、第1の画素データ信号20eと第3の画素データ信
号20gを入力しこれらのデータを演算した結果を第2の
画素データ信号20fとして出力する。本実施形態では、
画素演算回路203は、制御回路201の指示に従い、第1の
乗数と第2の乗数を生成し、第1の乗算部および第2の
乗算部に出力する乗数生成部207と、乗数生成部207から
指定された第1の乗数と第1の画素データを乗算する第
1の乗算部209と、乗数生成部207から指定された第2の
乗数と第3の画素データを乗算する第2の乗算部208
と、第1の乗算部209の演算結果と第2の乗算部208の演
算結果を加算する加算部210とを備えている。画素演算
回路203は、制御回路201の指示(コマンド信号)が動き
補償処理を指示している場合、もしくは動き補償処理と
テクスチャマッピング処理の同時処理を指示している場
合には、符号付きのデータ精度で演算を行い、テクスチ
ャマッピング処理を指示している場合には、符号なしの
データ精度で演算を行う。
指定されたコマンドを解釈し、画素位置指定回路202、
画像移動回路206および画素演算回路203の動作を制御す
るコマンド信号を出力する。画素位置指定回路202は、
制御回路201の指示(コマンド信号)に従い、基準画像
ブロックや生成ポリゴン内の画素位置(第1の画素位
置)を求めこれを第1の画素位置信号20bとして出力
し、生成画像ブロックや生成ポリゴン内の画素位置(第
2の画素位置)を求め第2の画素位置信号20cとして出
力し、差分画像ブロックやテクスチャ画像内の画素位置
(第3の画素位置)を求め第3の画素位置信号20dとし
て出力する。画像メモリアクセス回路204は、第1の画
素位置信号20bをうけフレームメモリ109内の指定の画素
位置の画素データを読み出し第1の画素データ信号20e
として出力し、第2の画素位置信号20cをうけフレーム
メモリ109内の指定の画素位置に第2の画素データ信号2
0fとして入力した画素データを書き込み、第4の画素位
置信号20hをうけフレームメモリ109内の指定の画素位置
の画素データを読み出し第4の画素データ信号20jとし
て出力する第1の画像メモリアクセス部212と、第3の
画素位置信号20dをうけブロック画像メモリ205内の指定
の画素位置の画素データを読み出し第3の画素データ信
号20gとして出力し、第5の画素位置信号20iをうけブロ
ック画像メモリ内の指定の画素位置に第5の画素データ
信号20kとして入力した画素データを書き込む第2の画
像メモリアクセス部211とを備えている。画素演算回路2
03は、第1の画素データ信号20eと第3の画素データ信
号20gを入力しこれらのデータを演算した結果を第2の
画素データ信号20fとして出力する。本実施形態では、
画素演算回路203は、制御回路201の指示に従い、第1の
乗数と第2の乗数を生成し、第1の乗算部および第2の
乗算部に出力する乗数生成部207と、乗数生成部207から
指定された第1の乗数と第1の画素データを乗算する第
1の乗算部209と、乗数生成部207から指定された第2の
乗数と第3の画素データを乗算する第2の乗算部208
と、第1の乗算部209の演算結果と第2の乗算部208の演
算結果を加算する加算部210とを備えている。画素演算
回路203は、制御回路201の指示(コマンド信号)が動き
補償処理を指示している場合、もしくは動き補償処理と
テクスチャマッピング処理の同時処理を指示している場
合には、符号付きのデータ精度で演算を行い、テクスチ
ャマッピング処理を指示している場合には、符号なしの
データ精度で演算を行う。
【0166】画像移動回路206は、制御回路201からの指
示に従い、フレームメモリ109内の画像ブロックをブロ
ック画像メモリ205に移動させるための第4の画素位置
と第5の画素位置を発生させる。第4の画素位置信号20
hにより指定された画素データを画像メモリアクセス回
路204を介してフレームメモリ109より読み出し、この画
像データを第5の画素位置信号20iにより指定したブロ
ック画像メモリ205内の画素位置に画像メモリアクセス
回路204を介して書き込む。
示に従い、フレームメモリ109内の画像ブロックをブロ
ック画像メモリ205に移動させるための第4の画素位置
と第5の画素位置を発生させる。第4の画素位置信号20
hにより指定された画素データを画像メモリアクセス回
路204を介してフレームメモリ109より読み出し、この画
像データを第5の画素位置信号20iにより指定したブロ
ック画像メモリ205内の画素位置に画像メモリアクセス
回路204を介して書き込む。
【0167】以上のように構成された画像生成装置104
の動作について次に説明する。画像生成装置104はCP
U101により動作をコマンドにより指示され、制御回路2
01でコマンドを解釈しこれに従い画像生成装置104の各
回路を制御するコマンド信号を出力することにより動作
する。以下の説明では、CPU101による制御回路201へ
のコマンド発行による制御手順と、この制御をうけた画
像生成装置104内の各回路の動作手順について説明す
る。
の動作について次に説明する。画像生成装置104はCP
U101により動作をコマンドにより指示され、制御回路2
01でコマンドを解釈しこれに従い画像生成装置104の各
回路を制御するコマンド信号を出力することにより動作
する。以下の説明では、CPU101による制御回路201へ
のコマンド発行による制御手順と、この制御をうけた画
像生成装置104内の各回路の動作手順について説明す
る。
【0168】以下に、画像生成装置104における動き補
償処理の動作を説明する。CPU101による画像生成装
置104の制御手順を図3および図4に、画像生成装置104
の各回路の動作手順を図5、図6に示す。図5、図6で
は、破線の矢印はデータ/制御信号の流れを表し、実線
の矢印は処理の流れを表している。
償処理の動作を説明する。CPU101による画像生成装
置104の制御手順を図3および図4に、画像生成装置104
の各回路の動作手順を図5、図6に示す。図5、図6で
は、破線の矢印はデータ/制御信号の流れを表し、実線
の矢印は処理の流れを表している。
【0169】まず、動き補償処理を行なう際のCPU10
1による画像生成装置104の制御手順を図3および図4を
用いて説明する。
1による画像生成装置104の制御手順を図3および図4を
用いて説明する。
【0170】STEP 301では、フレームメモリ109に動き
補償の基準となる基準画像(過去画像や未来画像)を設
定し、差分画像を書き込む。基準画像はディスク装置10
3から読み出されCPU101によりフレームメモリ109に
書き込まれる場合と、画像生成装置104で既に生成され
終えた画像の場合とがある。
補償の基準となる基準画像(過去画像や未来画像)を設
定し、差分画像を書き込む。基準画像はディスク装置10
3から読み出されCPU101によりフレームメモリ109に
書き込まれる場合と、画像生成装置104で既に生成され
終えた画像の場合とがある。
【0171】STEP 311では、動き補償処理を行なうかど
うかを判断し、動き補償処理なしであればSTEP 312へ処
理を進め、そうでなければSTEP 321へ処理を進める。
うかを判断し、動き補償処理なしであればSTEP 312へ処
理を進め、そうでなければSTEP 321へ処理を進める。
【0172】STEP 312では、画像ブロック設定処理を画
像生成装置104に指示する。この指示により、生成され
る画像ブロックの生成画像内における位置、差分画像ブ
ロックの差分画像内における位置を指示する。
像生成装置104に指示する。この指示により、生成され
る画像ブロックの生成画像内における位置、差分画像ブ
ロックの差分画像内における位置を指示する。
【0173】STEP 313では、図4に従いブロックの動き
補償処理を制御する。
補償処理を制御する。
【0174】STEP 321では、順方向動き補償処理である
かどうかを判断し、順方向動き補償処理であればSTEP 3
22へ処理を進め、そうでなければSTEP 331へ処理を進め
る。
かどうかを判断し、順方向動き補償処理であればSTEP 3
22へ処理を進め、そうでなければSTEP 331へ処理を進め
る。
【0175】STEP 322では、画像ブロック設定処理を画
像生成装置104に指示する。この指示により、過去画像
ブロックの過去画像内における位置、生成される画像ブ
ロックの生成画像内における位置、差分画像ブロックの
差分画像内における位置を指示する。
像生成装置104に指示する。この指示により、過去画像
ブロックの過去画像内における位置、生成される画像ブ
ロックの生成画像内における位置、差分画像ブロックの
差分画像内における位置を指示する。
【0176】STEP 323では、図4に従いブロックの動き
補償処理を制御する。
補償処理を制御する。
【0177】STEP 331では、逆方向動き補償処理である
かどうかを判断し、逆方向動き補償処理であればSTEP 3
32へ処理を進め、そうでなければSTEP 341へ処理を進め
る。
かどうかを判断し、逆方向動き補償処理であればSTEP 3
32へ処理を進め、そうでなければSTEP 341へ処理を進め
る。
【0178】STEP 332では、画像ブロック設定処理を画
像生成装置104に指示する。この指示により、未来画像
ブロックの未来画像内における位置、生成される画像ブ
ロックの生成画像内における位置、差分画像ブロックの
差分画像内における位置を指示する。
像生成装置104に指示する。この指示により、未来画像
ブロックの未来画像内における位置、生成される画像ブ
ロックの生成画像内における位置、差分画像ブロックの
差分画像内における位置を指示する。
【0179】STEP 333では、図4に従いブロックの動き
補償処理を制御する。
補償処理を制御する。
【0180】STEP 341では、画像ブロック設定処理を画
像生成装置104に指示する。この指示により、過去画像
ブロックの過去画像内における位置、生成される画像ブ
ロックの生成画像内における位置、差分画像ブロックの
差分画像内における位置を指示する。
像生成装置104に指示する。この指示により、過去画像
ブロックの過去画像内における位置、生成される画像ブ
ロックの生成画像内における位置、差分画像ブロックの
差分画像内における位置を指示する。
【0181】STEP 342では、図4に従いブロックの動き
補償処理を制御する。
補償処理を制御する。
【0182】STEP 343では、画像ブロック設定処理を画
像生成装置104に指示する。この指示により、未来画像
ブロックの未来画像内における位置、生成される画像ブ
ロックの生成画像内における位置、差分画像ブロックの
差分画像内における位置を指示する。
像生成装置104に指示する。この指示により、未来画像
ブロックの未来画像内における位置、生成される画像ブ
ロックの生成画像内における位置、差分画像ブロックの
差分画像内における位置を指示する。
【0183】STEP 344では、図4に従いブロックの動き
補償処理を制御する。
補償処理を制御する。
【0184】STEP 302では、生成画像内の全画像ブロッ
クの動き補償処理が終了したかどうかを判断する。終了
していればSTEP 303へ処理を進め、終了していなければ
STEP311へ処理を進め次の画像ブロックについて処理を
行なう。
クの動き補償処理が終了したかどうかを判断する。終了
していればSTEP 303へ処理を進め、終了していなければ
STEP311へ処理を進め次の画像ブロックについて処理を
行なう。
【0185】STEP 306では、全ての画像の動き補償処理
が終了したかどうかを判断し、終了していなければSTEP
301へ処理を進め次の画像について処理を行なう。
が終了したかどうかを判断し、終了していなければSTEP
301へ処理を進め次の画像について処理を行なう。
【0186】次に、図4により画像ブロックの動き補償
処理を行なうためのCPU101による画像生成装置104の
制御手順の詳細を説明する。
処理を行なうためのCPU101による画像生成装置104の
制御手順の詳細を説明する。
【0187】STEP 351では、画像生成装置104に画像ブ
ロック設定処理を指示する。これにより、次に処理対象
となる差分画像ブロックをフレームメモリの差分画像内
からブロック画像メモリへ移動させる。
ロック設定処理を指示する。これにより、次に処理対象
となる差分画像ブロックをフレームメモリの差分画像内
からブロック画像メモリへ移動させる。
【0188】STEP 361では、半画素精度の動き補償を行
なうかどうかの判断を行なう。半画素精度の動き補償を
行なわない場合はSTEP 362へ処理を進め、半画素精度の
動き補償を行なう場合はSTEP 371へ処理を進める。
なうかどうかの判断を行なう。半画素精度の動き補償を
行なわない場合はSTEP 362へ処理を進め、半画素精度の
動き補償を行なう場合はSTEP 371へ処理を進める。
【0189】STEP 362では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。
【0190】STEP 371では、基準画像ブロックの半画素
精度の位置指定が横方向のみであるかどうかを判断す
る。横方向のみの場合STEP 372に処理を進め、そうでな
ければSTEP 381へ処理を進める。
精度の位置指定が横方向のみであるかどうかを判断す
る。横方向のみの場合STEP 372に処理を進め、そうでな
ければSTEP 381へ処理を進める。
【0191】STEP 372では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ0.5画素だ
け左にずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ0.5画素だ
け左にずれた位置を指示する。
【0192】STEP 373では、画像生成装置104に画像ブ
ロック設定処理を指示する。これにより、生成された画
像ブロックを次の動き補償処理のための差分画像ブロッ
クとして使うためブロック画像メモリ205へ移動させる
ことが指示される。
ロック設定処理を指示する。これにより、生成された画
像ブロックを次の動き補償処理のための差分画像ブロッ
クとして使うためブロック画像メモリ205へ移動させる
ことが指示される。
【0193】STEP 374では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ0.5画素だ
け右にずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ0.5画素だ
け右にずれた位置を指示する。
【0194】STEP 381では、基準画像ブロックの半画素
精度の位置指定が縦方向のみであるかどうかを判断す
る。縦方向のみの場合STEP 382に処理を進め、そうでな
ければSTEP 391へ処理を進める。
精度の位置指定が縦方向のみであるかどうかを判断す
る。縦方向のみの場合STEP 382に処理を進め、そうでな
ければSTEP 391へ処理を進める。
【0195】STEP 382では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ0.5画素だ
け上にずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ0.5画素だ
け上にずれた位置を指示する。
【0196】STEP 383では、画像生成装置104に画像ブ
ロック設定処理を指示する。これにより、生成された画
像ブロックを次の動き補償処理のための差分画像ブロッ
クとして使うためブロック画像メモリ205へ移動させる
ことが指示される。
ロック設定処理を指示する。これにより、生成された画
像ブロックを次の動き補償処理のための差分画像ブロッ
クとして使うためブロック画像メモリ205へ移動させる
ことが指示される。
【0197】STEP 384では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ0.5画素だ
け下にずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ0.5画素だ
け下にずれた位置を指示する。
【0198】STEP 391では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ左に0.5画
素上に0.5画素だけずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ左に0.5画
素上に0.5画素だけずれた位置を指示する。
【0199】STEP 392では、画像生成装置104に画像ブ
ロック設定処理を指示する。これにより、生成された画
像ブロックを次の動き補償処理のための差分画像ブロッ
クとして使うためブロック画像メモリ205へ移動させる
ことが指示される。
ロック設定処理を指示する。これにより、生成された画
像ブロックを次の動き補償処理のための差分画像ブロッ
クとして使うためブロック画像メモリ205へ移動させる
ことが指示される。
【0200】STEP 393では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ右に0.5画
素上に0.5画素だけずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ右に0.5画
素上に0.5画素だけずれた位置を指示する。
【0201】STEP 394では、画像生成装置104に画像ブ
ロック設定処理を指示する。これにより、生成された画
像ブロックを次の動き補償処理のための差分画像ブロッ
クとして使うためブロック画像メモリ205へ移動させる
ことが指示される。
ロック設定処理を指示する。これにより、生成された画
像ブロックを次の動き補償処理のための差分画像ブロッ
クとして使うためブロック画像メモリ205へ移動させる
ことが指示される。
【0202】STEP 395では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ左に0.5画
素下に0.5画素だけずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ左に0.5画
素下に0.5画素だけずれた位置を指示する。
【0203】STEP 396では、画像生成装置104に画像ブ
ロック設定処理を指示する。これにより、生成された画
像ブロックを次の動き補償処理のための差分画像ブロッ
クとして使うためブロック画像メモリ205へ移動させる
ことが指示される。
ロック設定処理を指示する。これにより、生成された画
像ブロックを次の動き補償処理のための差分画像ブロッ
クとして使うためブロック画像メモリ205へ移動させる
ことが指示される。
【0204】STEP 397では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ右に0.5画
素下に0.5画素だけずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ右に0.5画
素下に0.5画素だけずれた位置を指示する。
【0205】動き補償処理を行なうためにCPU101に
より上述のように制御される画像生成装置104の動作手
順を図5、図6を用い説明する。ここでは、CPU101
による動作指示の種類毎に動作手順を説明する。
より上述のように制御される画像生成装置104の動作手
順を図5、図6を用い説明する。ここでは、CPU101
による動作指示の種類毎に動作手順を説明する。
【0206】CPU101から画像生成装置104に対しブロ
ック動き補償処理が指示された場合の動作手順を図5に
示す。この処理ではCPU101による指示が画像生成装
置104の制御回路201により解析され、画素位置指定回路
202、画素演算回路203の乗数生成部207の動作を制御す
るコマンド信号が出力される。
ック動き補償処理が指示された場合の動作手順を図5に
示す。この処理ではCPU101による指示が画像生成装
置104の制御回路201により解析され、画素位置指定回路
202、画素演算回路203の乗数生成部207の動作を制御す
るコマンド信号が出力される。
【0207】画素位置指定回路202は次の手順で動作す
る。
る。
【0208】STEP 401では、基準画像ブロック内の画素
位置(第1の画素位置)を求め、この画素位置を第1の
画素位置信号20bとして画像メモリアクセス回路204へ出
力する。
位置(第1の画素位置)を求め、この画素位置を第1の
画素位置信号20bとして画像メモリアクセス回路204へ出
力する。
【0209】同時にSTEP 402では、差分画像ブロック内
の画素位置(第3の画素位置)を求め、この画素位置を
第3の画素位置信号20dとして画像メモリアクセス回路2
04へ出力する。
の画素位置(第3の画素位置)を求め、この画素位置を
第3の画素位置信号20dとして画像メモリアクセス回路2
04へ出力する。
【0210】同時にSTEP 403では、生成画像ブロック内
の画素位置(第2の画素位置)を求め、この画素位置を
第2の画素位置信号20cとして画像メモリアクセス回路2
04へ出力する。
の画素位置(第2の画素位置)を求め、この画素位置を
第2の画素位置信号20cとして画像メモリアクセス回路2
04へ出力する。
【0211】STEP 404では、STEP 403で出力した第2の
画素位置に第2の画像データが書き込まれた後、生成画
像ブロック内の全画素の処理が終了したかどうかを判断
し、終了していなければSTEP 401、STEP 402、STEP 403
へ処理を進める。
画素位置に第2の画像データが書き込まれた後、生成画
像ブロック内の全画素の処理が終了したかどうかを判断
し、終了していなければSTEP 401、STEP 402、STEP 403
へ処理を進める。
【0212】画素位置指定回路202が画素を指定する順
番は、通常、生成画像ブロック、差分画像ブロック、ま
たは基準画像ブロックの中の1つの画像ブロックに着目
し、そのブロックの水平ラインすなわちスキャンライン
上の画素を順に指定する。1つの水平ラインに関する処
理が終了すると、次の水平ライン上の画素が順に指定さ
れる。全ての水平ライン上の画素の処理が終了したとき
画像ブロック内の全ての画素に対する処理が終了したこ
とになる。
番は、通常、生成画像ブロック、差分画像ブロック、ま
たは基準画像ブロックの中の1つの画像ブロックに着目
し、そのブロックの水平ラインすなわちスキャンライン
上の画素を順に指定する。1つの水平ラインに関する処
理が終了すると、次の水平ライン上の画素が順に指定さ
れる。全ての水平ライン上の画素の処理が終了したとき
画像ブロック内の全ての画素に対する処理が終了したこ
とになる。
【0213】画像メモリアクセス回路204は次の手順で
動作する。
動作する。
【0214】STEP 411では、第1の画素位置信号20bを
入力し、フレームメモリ109の当該画素位置の画像デー
タを読み出し、この画像データを第1の画像データ信号
20eとして出力する。
入力し、フレームメモリ109の当該画素位置の画像デー
タを読み出し、この画像データを第1の画像データ信号
20eとして出力する。
【0215】STEP 412では、第2の画素位置信号20cと
第2の画像データ信号20fを入力し、フレームメモリ109
内の当該画素位置に画像データを書き込む。
第2の画像データ信号20fを入力し、フレームメモリ109
内の当該画素位置に画像データを書き込む。
【0216】STEP 413では、第3の画素位置信号20dを
入力し、ブロック画像メモリ205の当該画素位置の画像
データを読み出し、この画像データを第3の画像データ
信号20gとして出力する。
入力し、ブロック画像メモリ205の当該画素位置の画像
データを読み出し、この画像データを第3の画像データ
信号20gとして出力する。
【0217】画素演算回路203は次の手順で動作する。
【0218】STEP 421では、CPU101から制御回路201
を介して指示された動き補償処理の種類に応じ、(表
1)のとおり乗数生成部207より第1の乗数と第2の乗
数を出力する。
を介して指示された動き補償処理の種類に応じ、(表
1)のとおり乗数生成部207より第1の乗数と第2の乗
数を出力する。
【0219】
【表1】
【0220】STEP 422では、第1の画像データ信号20e
として入力された画像データと第1の乗数を第1の乗算
部209で乗算を行なう。
として入力された画像データと第1の乗数を第1の乗算
部209で乗算を行なう。
【0221】STEP 423では、第3の画像データ信号20g
として入力された画像データと第2の乗数を第2の乗算
部208で乗算を行なう。
として入力された画像データと第2の乗数を第2の乗算
部208で乗算を行なう。
【0222】STEP 424では、加算部210において第1の
乗算部209と第2の乗算部208の結果を加算し、加算結果
を第2の画像データ信号20fとして出力する。
乗算部209と第2の乗算部208の結果を加算し、加算結果
を第2の画像データ信号20fとして出力する。
【0223】CPU101から画像生成装置104に対し画像
ブロック設定処理指示された場合、CPU101による指
示が画像生成装置104の制御回路201により解析され、画
素位置指定回路202と画素移動回路206の動作を制御する
コマンド信号が出力される。
ブロック設定処理指示された場合、CPU101による指
示が画像生成装置104の制御回路201により解析され、画
素位置指定回路202と画素移動回路206の動作を制御する
コマンド信号が出力される。
【0224】画素位置指定回路には、次の動き補償処理
や後述するテクスチャマッピング処理のために画素位置
を生成しなければならない差分画像ブロック、基準画像
ブロック、生成画像ブロックの位置、または、テクスチ
ャ画像、生成ポリゴンの位置が設定される。画素位置指
定回路では、ブロック動き補償処理やテクスチャマッピ
ング処理の際にはこの設定された画像ブロック位置に従
い画素位置を生成する。
や後述するテクスチャマッピング処理のために画素位置
を生成しなければならない差分画像ブロック、基準画像
ブロック、生成画像ブロックの位置、または、テクスチ
ャ画像、生成ポリゴンの位置が設定される。画素位置指
定回路では、ブロック動き補償処理やテクスチャマッピ
ング処理の際にはこの設定された画像ブロック位置に従
い画素位置を生成する。
【0225】画像移動回路では、図6に示す動作が行な
われ画像ブロックがフレームメモリからブロック画像メ
モリへ移動させられる。
われ画像ブロックがフレームメモリからブロック画像メ
モリへ移動させられる。
【0226】STEP 501では、生成画像ブロック内の画素
位置(第4の画素位置)を求め、この画素位置を第4の
画素位置信号20hとして画像メモリアクセス回路204へ出
力する。
位置(第4の画素位置)を求め、この画素位置を第4の
画素位置信号20hとして画像メモリアクセス回路204へ出
力する。
【0227】STEP 502では、ブロック画像メモリ内の画
素位置(第5の画素位置)を求め、この画素位置を第5
の画素位置信号20iとして画像メモリアクセス回路204へ
出力する。
素位置(第5の画素位置)を求め、この画素位置を第5
の画素位置信号20iとして画像メモリアクセス回路204へ
出力する。
【0228】STEP 503では、STEP 502で出力した第5の
画素位置に第5の画像データが書き込まれた後、生成画
像ブロック内の全画素の処理が終了したかどうかを判断
し、終了していなければSTEP 501、STEP 502へ処理を進
める。
画素位置に第5の画像データが書き込まれた後、生成画
像ブロック内の全画素の処理が終了したかどうかを判断
し、終了していなければSTEP 501、STEP 502へ処理を進
める。
【0229】STEP 511では、第4の画素位置信号20hを
入力し、フレームメモリ109の当該画素位置の画像デー
タを読み出し、この画像データを第4の画像データ信号
20jとして出力する。第4の画像データ信号20jは画像移
動回路を経由し第5の画像データ信号20kとして出力さ
れる。
入力し、フレームメモリ109の当該画素位置の画像デー
タを読み出し、この画像データを第4の画像データ信号
20jとして出力する。第4の画像データ信号20jは画像移
動回路を経由し第5の画像データ信号20kとして出力さ
れる。
【0230】STEP 512では、第5の画素位置信号20iと
第5の画像データ信号20kを入力し、ブロック画像メモ
リ205内の当該画素位置に画像データを書き込む。
第5の画像データ信号20kを入力し、ブロック画像メモ
リ205内の当該画素位置に画像データを書き込む。
【0231】以上の手順により、本実施形態の画像生成
装置104は動き補償処理を実現する。
装置104は動き補償処理を実現する。
【0232】上述の動き補償処理時の動作手順に従い、
順方向動き補償処理時のマルチメディア機器100の動作
を図7を用いて具体的に説明する。ここでは、簡単化の
ために画像のサイズを8×8画素、動き補償のための画
像ブロックのサイズを4×4画素とする。
順方向動き補償処理時のマルチメディア機器100の動作
を図7を用いて具体的に説明する。ここでは、簡単化の
ために画像のサイズを8×8画素、動き補償のための画
像ブロックのサイズを4×4画素とする。
【0233】図7において、過去画像601は、順方向動
き補償の基準画像となる過去画像である。過去画像ブロ
ック602は、過去画像の中の動き補償の基準となるブロ
ックを取り出したものである。差分画像ブロック603
は、生成画像の左上の4×4画素の生成画像ブロックを
動き補償で生成するための差分画像ブロックである。生
成画像ブロック604は、順方向動き補償処理を行なった
結果の生成画像ブロックである。生成画像605は、伸長
処理により生成されるべき画像を示している。
き補償の基準画像となる過去画像である。過去画像ブロ
ック602は、過去画像の中の動き補償の基準となるブロ
ックを取り出したものである。差分画像ブロック603
は、生成画像の左上の4×4画素の生成画像ブロックを
動き補償で生成するための差分画像ブロックである。生
成画像ブロック604は、順方向動き補償処理を行なった
結果の生成画像ブロックである。生成画像605は、伸長
処理により生成されるべき画像を示している。
【0234】以下の説明では、過去画像601および生成
画像605に付与した画素位置の番号により画素の位置や
画像ブロックの位置を表現する。例えば、過去画像の左
上角から1画素だけ下にある4×4画素の画像ブロック
(図中、太線で示すブロック)は、画像ブロック(0,1)-
(3,4)と表記する。また、ブロック中の画素はブロック
内の座標で表す。すなわち、過去画像ブロック(0,1)-
(3,4)の中の左上隅の画素は画素(0,0)と表記する。
画像605に付与した画素位置の番号により画素の位置や
画像ブロックの位置を表現する。例えば、過去画像の左
上角から1画素だけ下にある4×4画素の画像ブロック
(図中、太線で示すブロック)は、画像ブロック(0,1)-
(3,4)と表記する。また、ブロック中の画素はブロック
内の座標で表す。すなわち、過去画像ブロック(0,1)-
(3,4)の中の左上隅の画素は画素(0,0)と表記する。
【0235】以下にマルチメディア機器100および画像
生成装置104の動作を詳細に説明する。
生成装置104の動作を詳細に説明する。
【0236】過去画像601は、フレームメモリ109に格納
されている。また、生成画像605が格納されるべき記憶
領域もフレームメモリ109内に確保されている。CPU1
01は差分画像をフレームメモリ109に書き込む(STEP 30
1)。
されている。また、生成画像605が格納されるべき記憶
領域もフレームメモリ109内に確保されている。CPU1
01は差分画像をフレームメモリ109に書き込む(STEP 30
1)。
【0237】順方向動き補償処理を行なうので処理をST
EP 322へ進める(STEP 311→STEP 321)。
EP 322へ進める(STEP 311→STEP 321)。
【0238】CPU101は画像ブロック設定処理を画像
生成装置104に指示し、過去画像601内の画像ブロック
(0,1)-(3,4)を過去画像ブロック602として指定し、生成
画像605内の画像ブロック(0,0)-(3,3)を生成画像ブロッ
ク604として指定し、差分画像ブロック603のフレームメ
モリ109内の位置を指定する(STEP 322)。
生成装置104に指示し、過去画像601内の画像ブロック
(0,1)-(3,4)を過去画像ブロック602として指定し、生成
画像605内の画像ブロック(0,0)-(3,3)を生成画像ブロッ
ク604として指定し、差分画像ブロック603のフレームメ
モリ109内の位置を指定する(STEP 322)。
【0239】指定された画像ブロックに対して図4に示
す処理がなされる。
す処理がなされる。
【0240】STEP 351で、CPU101は画像ブロック設
定処理として差分画像ブロック603のブロック画像メモ
リへの移動を指示する。制御回路201はこの指示を受
け、画像移動回路206を制御しフレームメモリ109内の差
分画像ブロック603をブロック画像メモリ205に移動させ
る(図6)。
定処理として差分画像ブロック603のブロック画像メモ
リへの移動を指示する。制御回路201はこの指示を受
け、画像移動回路206を制御しフレームメモリ109内の差
分画像ブロック603をブロック画像メモリ205に移動させ
る(図6)。
【0241】過去画像ブロック602(0,1)-(3,4)の過去画
像601内における位置指定が、画素存在位置から半画素
のずれがないため半画素精度の動き補償は行なわない(S
TEP361)。
像601内における位置指定が、画素存在位置から半画素
のずれがないため半画素精度の動き補償は行なわない(S
TEP361)。
【0242】CPU101は、ブロック動き補償処理を画
像生成装置104に指示する。画像生成装置104はこの指示
を受け、図5に従い処理を行なう。
像生成装置104に指示する。画像生成装置104はこの指示
を受け、図5に従い処理を行なう。
【0243】画素位置指定回路202では、過去画像ブロ
ック602内の画素位置(第1の画素位置)(0,0)を計算
し、この画素位置を第1の画素位置信号20bとして出力
する。一方、差分画像ブロック603内の画素位置(第3
の画素位置)(0,0)を計算し、この画素位置を第3の画
素位置信号20dとして出力し、生成画像ブロック604内の
画素位置(第2の画素位置)(0,0)を計算し、この画素
位置を第2の画素位置信号20cとして出力する(ST
EP 401,STEP 402,STEP 40
3)。
ック602内の画素位置(第1の画素位置)(0,0)を計算
し、この画素位置を第1の画素位置信号20bとして出力
する。一方、差分画像ブロック603内の画素位置(第3
の画素位置)(0,0)を計算し、この画素位置を第3の画
素位置信号20dとして出力し、生成画像ブロック604内の
画素位置(第2の画素位置)(0,0)を計算し、この画素
位置を第2の画素位置信号20cとして出力する(ST
EP 401,STEP 402,STEP 40
3)。
【0244】画像メモリアクセス回路204内の第1の画
像メモリアクセス部212では、第1の画素位置信号20bを
入力し、フレームメモリ109内の過去画像ブロック602か
ら画素位置(0,0)の画素データを読み出し、この画素デ
ータを第1の画素データ信号20eとして出力する(STEP 4
11)。 第2の画像メモリアクセス部211では、第3の画
素位置信号20dを入力し、ブロック画像メモリ205内の差
分画像ブロック603から画素位置(0,0)の画素データを読
み出し、この画素データを第3の画素データ信号20gと
して出力する(STEP 413)。
像メモリアクセス部212では、第1の画素位置信号20bを
入力し、フレームメモリ109内の過去画像ブロック602か
ら画素位置(0,0)の画素データを読み出し、この画素デ
ータを第1の画素データ信号20eとして出力する(STEP 4
11)。 第2の画像メモリアクセス部211では、第3の画
素位置信号20dを入力し、ブロック画像メモリ205内の差
分画像ブロック603から画素位置(0,0)の画素データを読
み出し、この画素データを第3の画素データ信号20gと
して出力する(STEP 413)。
【0245】画素演算回路203内の乗数生成部207では、
(表1)に従い、第1の乗数として1.0を生成し、第2
の乗数として1.0を生成する(STEP 421)。 第1の乗算部
209では、第1の画素データ信号20eにより入力された画
素データと第1の乗数を乗算し結果を加算部210に出力
する(STEP 422)。第2の乗算部208では、第3の画素デ
ータ信号20gにより入力された画素データと第2の乗数
を乗算し結果を加算部210に出力する(STEP 423) 。加算
部210では、第1の乗算部209と第2の乗算部208の乗算
結果を加算し第2の画素データ信号20fとして出力する
(STEP 424)。
(表1)に従い、第1の乗数として1.0を生成し、第2
の乗数として1.0を生成する(STEP 421)。 第1の乗算部
209では、第1の画素データ信号20eにより入力された画
素データと第1の乗数を乗算し結果を加算部210に出力
する(STEP 422)。第2の乗算部208では、第3の画素デ
ータ信号20gにより入力された画素データと第2の乗数
を乗算し結果を加算部210に出力する(STEP 423) 。加算
部210では、第1の乗算部209と第2の乗算部208の乗算
結果を加算し第2の画素データ信号20fとして出力する
(STEP 424)。
【0246】次に第1の画像メモリアクセス部212で
は、第2の画素位置信号20cと第2の画素データ信号20f
を入力し、この画素データを生成画像ブロック604内の
画素位置(0,0)に書き込む(STEP 412)。
は、第2の画素位置信号20cと第2の画素データ信号20f
を入力し、この画素データを生成画像ブロック604内の
画素位置(0,0)に書き込む(STEP 412)。
【0247】生成画像ブロック604内の全画素が生成さ
れるまで、生成画像ブロック604内の各画素について図
5の処理を繰り返す(STEP 404)。
れるまで、生成画像ブロック604内の各画素について図
5の処理を繰り返す(STEP 404)。
【0248】このように処理を行なうことで、過去画像
ブロック602と動き補償差分画像603から生成画像ブロッ
ク604が生成される。
ブロック602と動き補償差分画像603から生成画像ブロッ
ク604が生成される。
【0249】逆方向動き補償処理の動作は、上述した順
方向の動き補償と比較して、基準画像として過去画像の
代わりに未来画像を使う点が異なる。
方向の動き補償と比較して、基準画像として過去画像の
代わりに未来画像を使う点が異なる。
【0250】次に双方向動き補償処理時のマルチメディ
ア機器100および画像生成装置104の動作を図8を用いて
具体的に説明する。
ア機器100および画像生成装置104の動作を図8を用いて
具体的に説明する。
【0251】図8において、過去画像701は、順方向動
き補償の基準画像となる。未来画像702は、逆方向動き
補償の基準画像となる。過去画像ブロック703は、過去
画像の中の動き補償の基準となるブロックを取り出した
ものである。未来画像ブロック704は、未来画像の中の
動き補償の基準となるブロックを取り出したものであ
る。差分画像ブロック705は、生成画像の左上の4×4
画素の生成画像ブロックを動き補償処理で生成するため
のブロックである。生成画像ブロック706は、双方向動
き補償処理を行なった結果のブロックである。生成画像
707は、生成されるべき画像を示している。
き補償の基準画像となる。未来画像702は、逆方向動き
補償の基準画像となる。過去画像ブロック703は、過去
画像の中の動き補償の基準となるブロックを取り出した
ものである。未来画像ブロック704は、未来画像の中の
動き補償の基準となるブロックを取り出したものであ
る。差分画像ブロック705は、生成画像の左上の4×4
画素の生成画像ブロックを動き補償処理で生成するため
のブロックである。生成画像ブロック706は、双方向動
き補償処理を行なった結果のブロックである。生成画像
707は、生成されるべき画像を示している。
【0252】双方向動き補償処理の場合は、まず上述の
順方向動き補償処理のSTEP 322、STEP 323と同様の動作
がCPU101で行なわれ、画像生成装置104に動作の指示
がなされる(STEP 341→STEP 342)。この指示を受け画像
生成装置104では、上述の順方向動き補償処理と同じ処
理手順で動作する。ただし(表1)の通り、乗数生成部
207で生成される第1の乗数は「0.5」、第2の乗数は
「1.0」となる。順方向動き補償処理が行なわれた結
果、生成画像ブロックに過去画像ブロック703の画素デ
ータの0.5倍と差分画像ブロック705の画素データを加
算した結果が得られる。
順方向動き補償処理のSTEP 322、STEP 323と同様の動作
がCPU101で行なわれ、画像生成装置104に動作の指示
がなされる(STEP 341→STEP 342)。この指示を受け画像
生成装置104では、上述の順方向動き補償処理と同じ処
理手順で動作する。ただし(表1)の通り、乗数生成部
207で生成される第1の乗数は「0.5」、第2の乗数は
「1.0」となる。順方向動き補償処理が行なわれた結
果、生成画像ブロックに過去画像ブロック703の画素デ
ータの0.5倍と差分画像ブロック705の画素データを加
算した結果が得られる。
【0253】この後、逆方向動き補償処理のSTEP 332、
STEP 333と同様の動作がCPU101より制御され、画像
生成装置104に動作の指示がなされる(STEP 343→STEP 3
44)。
STEP 333と同様の動作がCPU101より制御され、画像
生成装置104に動作の指示がなされる(STEP 343→STEP 3
44)。
【0254】この指示を受け画像生成装置104では、逆
方向動き補償処理と同じ処理手順で動作する。まず、順
方向動き補償処理で生成された生成画像ブロックを差分
画像ブロックとしてブロック画像メモリに移動する(図
6)。次に図5の手順に従い動き補償処理を行なう。た
だし(表1)の通り、乗数生成部207で生成される第1
の乗数は「0.5」、第2の乗数は「1.0」となる。こ
の逆方向動き補償処理が行なわれた結果、生成画像ブロ
ック706が得られる。
方向動き補償処理と同じ処理手順で動作する。まず、順
方向動き補償処理で生成された生成画像ブロックを差分
画像ブロックとしてブロック画像メモリに移動する(図
6)。次に図5の手順に従い動き補償処理を行なう。た
だし(表1)の通り、乗数生成部207で生成される第1
の乗数は「0.5」、第2の乗数は「1.0」となる。こ
の逆方向動き補償処理が行なわれた結果、生成画像ブロ
ック706が得られる。
【0255】次に、半画素精度動き補償の処理を図9を
用いて説明する。
用いて説明する。
【0256】順方向動き補償、双方向動き補償の全体の
動作手順は上述の通りであるが、基準画像における基準
画像ブロックの位置の指定が半画素だけ画素の存在位置
とずれている場合、基準画像ブロックを求めるために複
数の基準画像ブロック間で内挿補間処理を行なわなけれ
ばならない。この処理手順を図4に示す。ここでは、縦
横両方向に半画素精度の位置指定がされたとして説明す
る。
動作手順は上述の通りであるが、基準画像における基準
画像ブロックの位置の指定が半画素だけ画素の存在位置
とずれている場合、基準画像ブロックを求めるために複
数の基準画像ブロック間で内挿補間処理を行なわなけれ
ばならない。この処理手順を図4に示す。ここでは、縦
横両方向に半画素精度の位置指定がされたとして説明す
る。
【0257】動き補償処理の基準となる画像が基準画像
801であり、この時生成されるべきブロックが生成画像
ブロック802である場合、動き補償差分画像ブロックの
データができるだけ0に近くなるためには基準画像ブロ
ックの位置指定は基準画像801内の太線で囲まれた矩形
領域(0.5,0.5)-(3.5,3.5)となる。しかし、基準画像ブ
ロックの位置指定が画素の存在位置と半画素だけずれて
いるため、このような基準画像ブロックは基準画像801
から読み出すことはできない。そこで、基準画像ブロッ
クの指定位置より半画素だけずれた画像ブロック、すな
わち画像ブロック803(0,0)-(3,3)、画像ブロック804(1,
0)-(4,3)、画像ブロック805(0,1)-(3,4)、画像ブロック
806 (1,1)-(4,4)を取り出しこの4つの画像ブロックを
内挿補間することにより基準画像ブロックを求める。そ
してこのように得られた基準画像ブロックと動き補償差
分画像ブロックを上で説明したように順方向または双方
向動き補償処理を行なえば、半画素精度の動き補償処理
が実現できる。
801であり、この時生成されるべきブロックが生成画像
ブロック802である場合、動き補償差分画像ブロックの
データができるだけ0に近くなるためには基準画像ブロ
ックの位置指定は基準画像801内の太線で囲まれた矩形
領域(0.5,0.5)-(3.5,3.5)となる。しかし、基準画像ブ
ロックの位置指定が画素の存在位置と半画素だけずれて
いるため、このような基準画像ブロックは基準画像801
から読み出すことはできない。そこで、基準画像ブロッ
クの指定位置より半画素だけずれた画像ブロック、すな
わち画像ブロック803(0,0)-(3,3)、画像ブロック804(1,
0)-(4,3)、画像ブロック805(0,1)-(3,4)、画像ブロック
806 (1,1)-(4,4)を取り出しこの4つの画像ブロックを
内挿補間することにより基準画像ブロックを求める。そ
してこのように得られた基準画像ブロックと動き補償差
分画像ブロックを上で説明したように順方向または双方
向動き補償処理を行なえば、半画素精度の動き補償処理
が実現できる。
【0258】本実施形態では、以下の手順により4つの
画像ブロック803、804、805および806の内挿補間と動き
補償処理を同時に行なう。
画像ブロック803、804、805および806の内挿補間と動き
補償処理を同時に行なう。
【0259】すでに説明した手順(図4)に従うと、縦
横ともに半画素精度の動き補償処理ではSTEP 391に処理
が進む。ここでは、STEP 391以降について詳細に説明す
る。
横ともに半画素精度の動き補償処理ではSTEP 391に処理
が進む。ここでは、STEP 391以降について詳細に説明す
る。
【0260】STEP 391では、基準画像ブロック803に関
する動き補償処理を行なう指示が画像生成装置104に出
される。画像生成装置104の画素演算回路203では第1の
乗数として「0.25」(双方向動き補償の場合は「0.
125」)が生成され、基準画像803内の画素データを
第1の乗数倍し、これに差分画像ブロックの画素データ
が加算され、生成画像ブロックに書き込まれる。
する動き補償処理を行なう指示が画像生成装置104に出
される。画像生成装置104の画素演算回路203では第1の
乗数として「0.25」(双方向動き補償の場合は「0.
125」)が生成され、基準画像803内の画素データを
第1の乗数倍し、これに差分画像ブロックの画素データ
が加算され、生成画像ブロックに書き込まれる。
【0261】STEP 392では、図6に示す手順により、生
成画像ブロックを差分画像ブロックとしてブロック画像
メモリ205に移動させる。
成画像ブロックを差分画像ブロックとしてブロック画像
メモリ205に移動させる。
【0262】STEP 393では、基準画像ブロック804に関
する動き補償処理を行なう指示が画像生成装置104に出
される。画像生成装置104の画素演算回路203では第1の
乗数として「0.25」(双方向動き補償の場合は「0.
125」)が生成され、基準画像804内の画素データを
第1の乗数倍し、これに差分画像ブロックの画素データ
が加算され、生成画像ブロックに書き込まれる。
する動き補償処理を行なう指示が画像生成装置104に出
される。画像生成装置104の画素演算回路203では第1の
乗数として「0.25」(双方向動き補償の場合は「0.
125」)が生成され、基準画像804内の画素データを
第1の乗数倍し、これに差分画像ブロックの画素データ
が加算され、生成画像ブロックに書き込まれる。
【0263】STEP 394では、図6に示す手順により、生
成画像ブロックを差分画像ブロックとしてブロック画像
メモリ205に移動させる。
成画像ブロックを差分画像ブロックとしてブロック画像
メモリ205に移動させる。
【0264】STEP 395では、基準画像ブロック805に関
する動き補償処理を行なう指示が画像生成装置104に出
される。画像生成装置104の画素演算回路203では第1の
乗数として「0.25」(双方向動き補償の場合は「0.
125」)が生成され、基準画像805内の画素データを
第1の乗数倍し、これに差分画像ブロックの画素データ
が加算され、生成画像ブロックに書き込まれる。
する動き補償処理を行なう指示が画像生成装置104に出
される。画像生成装置104の画素演算回路203では第1の
乗数として「0.25」(双方向動き補償の場合は「0.
125」)が生成され、基準画像805内の画素データを
第1の乗数倍し、これに差分画像ブロックの画素データ
が加算され、生成画像ブロックに書き込まれる。
【0265】STEP 396では、図6に示す手順により、生
成画像ブロックを差分画像ブロックとしてブロック画像
メモリ205に移動させる。
成画像ブロックを差分画像ブロックとしてブロック画像
メモリ205に移動させる。
【0266】STEP 397では、基準画像ブロック806に関
する動き補償処理を行なう指示が画像生成装置104に出
される。画像生成装置104の画素演算回路203では第1の
乗数として「0.25」(双方向動き補償の場合は「0.
125」)が生成され、基準画像806内の画素データを
第1の乗数倍し、これに差分画像ブロックの画素データ
が加算され、生成画像ブロック802に書き込まれる。
する動き補償処理を行なう指示が画像生成装置104に出
される。画像生成装置104の画素演算回路203では第1の
乗数として「0.25」(双方向動き補償の場合は「0.
125」)が生成され、基準画像806内の画素データを
第1の乗数倍し、これに差分画像ブロックの画素データ
が加算され、生成画像ブロック802に書き込まれる。
【0267】縦または横方向のみの半画素精度の動き補
償処理も、図4に示すように上述の処理と同様の処理を
行なえば実現できる。
償処理も、図4に示すように上述の処理と同様の処理を
行なえば実現できる。
【0268】このように本実施形態では、基準画像ブロ
ックを得るための内挿補間処理と動き補償処理を同時に
行なうことが可能であり、半画素精度の動き補償処理を
実現することができる。
ックを得るための内挿補間処理と動き補償処理を同時に
行なうことが可能であり、半画素精度の動き補償処理を
実現することができる。
【0269】以下では、画像生成装置104におけるテク
スチャマッピング処理時の動作を説明する。CPU101
による画像生成装置104の制御手順を図10に、画像生
成装置104の各回路の動作手順を図11に示す。図11
では、破線の矢印はデータ/制御信号の流れを表し、実
線の矢印は処理の流れを表している。
スチャマッピング処理時の動作を説明する。CPU101
による画像生成装置104の制御手順を図10に、画像生
成装置104の各回路の動作手順を図11に示す。図11
では、破線の矢印はデータ/制御信号の流れを表し、実
線の矢印は処理の流れを表している。
【0270】まず、テクスチャマッピング処理を行なう
際のCPU101による画像生成装置104の制御手順を図1
0を用いて説明する。
際のCPU101による画像生成装置104の制御手順を図1
0を用いて説明する。
【0271】STEP 901では、前回生成したフレームメモ
リ109内の画像を消去する。
リ109内の画像を消去する。
【0272】STEP 902では、テクスチャ画像をフレーム
メモリ109に書き込む。
メモリ109に書き込む。
【0273】STEP 903では、画像ブロック設定処理を画
像生成装置104に指示する。この指示により、生成され
るポリゴンの位置(頂点位置)とこの生成ポリゴンにマ
ッピングされるテクスチャ画像の位置が指定される。さ
らに指定したテクスチャ画像をブロック画像メモリ205
に移動するように指示する。
像生成装置104に指示する。この指示により、生成され
るポリゴンの位置(頂点位置)とこの生成ポリゴンにマ
ッピングされるテクスチャ画像の位置が指定される。さ
らに指定したテクスチャ画像をブロック画像メモリ205
に移動するように指示する。
【0274】STEP 904では、テクスチャマッピング処理
を画像生成装置104に指示する。
を画像生成装置104に指示する。
【0275】STEP 905では、生成画像内の全ポリゴンの
テクスチャマッピング処理が終了したかどうかを判断す
る。終了していればSTEP 906へ処理を進め、終了してい
なければSTEP 903へ処理を進め次の画像ブロックについ
て処理を行なう。
テクスチャマッピング処理が終了したかどうかを判断す
る。終了していればSTEP 906へ処理を進め、終了してい
なければSTEP 903へ処理を進め次の画像ブロックについ
て処理を行なう。
【0276】STEP 906では、全ての画像のテクスチャマ
ッピング処理が終了したかどうかを判断し、終了してい
なければSTEP 901へ処理を進め次の画像について処理を
行なう。
ッピング処理が終了したかどうかを判断し、終了してい
なければSTEP 901へ処理を進め次の画像について処理を
行なう。
【0277】テクスチャマッピング処理を行なうために
CPU101により上述のように制御される、画像生成装
置104の動作手順を図11、図6を用い説明する。ここ
では、CPU101による動作指示の種類毎に動作手順を
説明する。
CPU101により上述のように制御される、画像生成装
置104の動作手順を図11、図6を用い説明する。ここ
では、CPU101による動作指示の種類毎に動作手順を
説明する。
【0278】CPU101から画像生成装置104に対しテク
スチャマッピング処理が指示された場合の動作手順を図
11に示す。この処理ではCPU101による指示が画像
生成装置104の制御回路201により解析され、画素位置指
定回路202、画素演算回路203の乗数生成部207の動作を
制御するコマンド信号が出力される。
スチャマッピング処理が指示された場合の動作手順を図
11に示す。この処理ではCPU101による指示が画像
生成装置104の制御回路201により解析され、画素位置指
定回路202、画素演算回路203の乗数生成部207の動作を
制御するコマンド信号が出力される。
【0279】画素位置指定回路202は次の手順で動作す
る。
る。
【0280】STEP 1001では、生成ポリゴン内の画素位
置(第1の画素位置)を求め、この画素位置を第1の画
素位置信号20bとして画像メモリアクセス回路204へ出力
する。
置(第1の画素位置)を求め、この画素位置を第1の画
素位置信号20bとして画像メモリアクセス回路204へ出力
する。
【0281】同時にSTEP 1002では、第1の画素位置に
マッピングされるテクスチャの画素位置(第3の画素位
置)を求め、この画素位置を第3の画素位置信号20dと
して画像メモリアクセス回路204へ出力する。
マッピングされるテクスチャの画素位置(第3の画素位
置)を求め、この画素位置を第3の画素位置信号20dと
して画像メモリアクセス回路204へ出力する。
【0282】同時にSTEP 1003は、第1の画素位置と同
じ画素位置(第2の画素位置)を第2の画素位置信号20
cとして画像メモリアクセス回路204へ出力する。
じ画素位置(第2の画素位置)を第2の画素位置信号20
cとして画像メモリアクセス回路204へ出力する。
【0283】STEP 1004では、STEP 1003で出力した第2
の画素位置に第2の画像データが書き込まれた後、生成
画像ブロック内の全画素の処理が終了したかどうかを判
断し、終了していなければSTEP 1001、STEP 1002、STEP
1003へ処理を進める。
の画素位置に第2の画像データが書き込まれた後、生成
画像ブロック内の全画素の処理が終了したかどうかを判
断し、終了していなければSTEP 1001、STEP 1002、STEP
1003へ処理を進める。
【0284】画素位置指定回路202が画素を指定する順
番は、通常、生成ポリゴン、またはテクスチャ画像ブロ
ックのどちらかに着目し、そのブロックまたはポリゴン
の水平ラインすなわちスキャンライン上の画素を順に指
定する。1つの水平ラインに関する処理が終了すると、
次の水平ライン上の画素が順に指定される。全ての水平
ライン上の画素の処理が終了したとき画像ブロック内の
全ての画素に対する処理が終了したことになる。
番は、通常、生成ポリゴン、またはテクスチャ画像ブロ
ックのどちらかに着目し、そのブロックまたはポリゴン
の水平ラインすなわちスキャンライン上の画素を順に指
定する。1つの水平ラインに関する処理が終了すると、
次の水平ライン上の画素が順に指定される。全ての水平
ライン上の画素の処理が終了したとき画像ブロック内の
全ての画素に対する処理が終了したことになる。
【0285】画像メモリアクセス回路204は次の手順で
動作する。
動作する。
【0286】STEP 1011では、半透明のテクスチャ画像
をテクスチャマッピング処理するのか、アンチエイリア
シングを行なうべき画素であるかを判断し、半透明また
はアンチエイリアシングを行なう場合はSTEP 1012へ処
理を進め、半透明、アンチエイリアシングを行なわない
時はSTEP 1013へ進める。
をテクスチャマッピング処理するのか、アンチエイリア
シングを行なうべき画素であるかを判断し、半透明また
はアンチエイリアシングを行なう場合はSTEP 1012へ処
理を進め、半透明、アンチエイリアシングを行なわない
時はSTEP 1013へ進める。
【0287】STEP 1012では、第1の画素位置信号20bを
入力し、フレームメモリ109の当該画素位置の画像デー
タを読み出し、この画像データを第1の画像データ信号
20eとして出力する。
入力し、フレームメモリ109の当該画素位置の画像デー
タを読み出し、この画像データを第1の画像データ信号
20eとして出力する。
【0288】STEP 1013では、第2の画素位置信号20cと
第2の画像データ信号20fを入力し、フレームメモリ109
内の当該画素位置に画像データを書き込む。
第2の画像データ信号20fを入力し、フレームメモリ109
内の当該画素位置に画像データを書き込む。
【0289】STEP 1014では、第3の画素位置信号20dを
入力し、ブロック画像メモリ205の当該画素位置の画像
データを読み出し、この画像データを第3の画像データ
信号20gとして出力する。
入力し、ブロック画像メモリ205の当該画素位置の画像
データを読み出し、この画像データを第3の画像データ
信号20gとして出力する。
【0290】画素演算回路203は次の手順で動作する。
【0291】STEP 1021では、CPU101から制御回路20
1を介して指示されたテクスチャマッピング処理におけ
る半透明度α(不透明の場合1、透明の場合0)と、エ
ッジのアンチエイリアシングのための半透明係数β(処
理中の画素がポリゴンのエッジを構成していない場合は
β=1)を算出し、αβを第2の乗数として第2の乗算
部へ出力し、(1−αβ)を第1の乗数として第1の乗
算部へ出力する。
1を介して指示されたテクスチャマッピング処理におけ
る半透明度α(不透明の場合1、透明の場合0)と、エ
ッジのアンチエイリアシングのための半透明係数β(処
理中の画素がポリゴンのエッジを構成していない場合は
β=1)を算出し、αβを第2の乗数として第2の乗算
部へ出力し、(1−αβ)を第1の乗数として第1の乗
算部へ出力する。
【0292】STEP 1022では、第1の画像データ信号20e
として入力された画像データと第1の乗数を第1の乗算
部209で乗算を行なう。
として入力された画像データと第1の乗数を第1の乗算
部209で乗算を行なう。
【0293】STEP 1023では、第3の画像データ信号20g
として入力された画像データと第2の乗数を第2の乗算
部208で乗算を行なう。
として入力された画像データと第2の乗数を第2の乗算
部208で乗算を行なう。
【0294】STEP 1024では、加算部210において第1の
乗算部209と第2の乗算部208の結果を加算し、加算結果
を第2の画像データ信号20fとして出力する。
乗算部209と第2の乗算部208の結果を加算し、加算結果
を第2の画像データ信号20fとして出力する。
【0295】CPU101から画像生成装置104に対し画像
ブロック設定処理指示された場合は、動き補償処理にお
ける説明のとおりである。画像ブロック設定処理におい
てテクスチャ画像の移動が指示された場合、画像移動回
路では、図6に示す動作が行なわれテクスチャ画像がフ
レームメモリからブロック画像メモリへ移動させられ
る。
ブロック設定処理指示された場合は、動き補償処理にお
ける説明のとおりである。画像ブロック設定処理におい
てテクスチャ画像の移動が指示された場合、画像移動回
路では、図6に示す動作が行なわれテクスチャ画像がフ
レームメモリからブロック画像メモリへ移動させられ
る。
【0296】STEP 501では、テクスチャ画像内の画素位
置(第4の画素位置)を求め、この画素位置を第4の画
素位置信号20hとして画像メモリアクセス回路204へ出力
する。
置(第4の画素位置)を求め、この画素位置を第4の画
素位置信号20hとして画像メモリアクセス回路204へ出力
する。
【0297】STEP 502では、ブロック画像メモリ内の画
素位置(第5の画素位置)を求め、この画素位置を第5
の画素位置信号20iとして画像メモリアクセス回路204へ
出力する。
素位置(第5の画素位置)を求め、この画素位置を第5
の画素位置信号20iとして画像メモリアクセス回路204へ
出力する。
【0298】STEP 503では、STEP 502で出力した第5の
画素位置に第5の画像データが書き込まれた後、生成画
像ブロック内の全画素の処理が終了したかどうかを判断
し、終了していなければSTEP 501、STEP 502へ処理を進
める。
画素位置に第5の画像データが書き込まれた後、生成画
像ブロック内の全画素の処理が終了したかどうかを判断
し、終了していなければSTEP 501、STEP 502へ処理を進
める。
【0299】STEP 511では、第4の画素位置信号20hを
入力し、フレームメモリ109の当該画素位置の画像デー
タを読み出し、この画像データを第4の画像データ信号
20jとして出力する。第4の画像データ信号20jは画像移
動回路を経由し第5の画像データ信号20kとして出力さ
れる。
入力し、フレームメモリ109の当該画素位置の画像デー
タを読み出し、この画像データを第4の画像データ信号
20jとして出力する。第4の画像データ信号20jは画像移
動回路を経由し第5の画像データ信号20kとして出力さ
れる。
【0300】STEP 512では、第5の画素位置信号20iと
第5の画像データ信号20kを入力し、ブロック画像メモ
リ205内の当該画素位置に画像データを書き込む。
第5の画像データ信号20kを入力し、ブロック画像メモ
リ205内の当該画素位置に画像データを書き込む。
【0301】以上の手順により、本実施形態の画像生成
装置はテクスチャマッピング処理を実現する。
装置はテクスチャマッピング処理を実現する。
【0302】上述のテクスチャマッピングの動作手順に
従い、テクスチャマッピング処理時の画像生成装置104
の動作を図12を用いて図10、図11と対応付けなが
ら具体的に説明する。図12において、画像1101は、テ
クスチャ画像を表す。ポリゴン1102は、テクスチャ画像
1101が貼り付けられるポリゴンを表す。画素1103は、ポ
リゴン1102を構成する画素である。画素1104は、画素11
03に貼り付けられるテクスチャ画像を構成する画素であ
る。画素1105は、ポリゴン1102のエッジを構成する画素
を表す。画素1106は、画素1105に対応するテクスチャ画
像の画素を表す。
従い、テクスチャマッピング処理時の画像生成装置104
の動作を図12を用いて図10、図11と対応付けなが
ら具体的に説明する。図12において、画像1101は、テ
クスチャ画像を表す。ポリゴン1102は、テクスチャ画像
1101が貼り付けられるポリゴンを表す。画素1103は、ポ
リゴン1102を構成する画素である。画素1104は、画素11
03に貼り付けられるテクスチャ画像を構成する画素であ
る。画素1105は、ポリゴン1102のエッジを構成する画素
を表す。画素1106は、画素1105に対応するテクスチャ画
像の画素を表す。
【0303】動作は次のとおりとなる。
【0304】テクスチャ画像1101はフレームメモリ109
に格納される(STEP 902)。
に格納される(STEP 902)。
【0305】CPU101は画像生成装置104に画像ブロッ
ク設定処理を指示し、ポリゴン頂点座標とテクスチャの
半透明度(ここではテクスチャ全体の半透明度を0.6
とする)を制御回路201を介して画素位置指定回路202と
画素演算回路203の乗数生成部207とに設定する。また、
テクスチャ画像の移動を画像移動回路206に指示する(S
TEP 903)。
ク設定処理を指示し、ポリゴン頂点座標とテクスチャの
半透明度(ここではテクスチャ全体の半透明度を0.6
とする)を制御回路201を介して画素位置指定回路202と
画素演算回路203の乗数生成部207とに設定する。また、
テクスチャ画像の移動を画像移動回路206に指示する(S
TEP 903)。
【0306】画像移動回路206は、フレームメモリ109内
のテクスチャ画像の画素位置を第4の画素位置として順
次、画像メモリアクセス回路204の第1の画像メモリア
クセス部212に出力する(STEP 501)。第1の画像メモ
リアクセス部212ではフレームメモリ109からテクスチャ
画像データを読み出し、第4の画素データとして出力す
る(STEP 511)。第4の画素データは画像移動回路に入
力され、このデータが第5の画素データとして出力され
る。同時に画像移動回路からブロック画像メモリ内のテ
クスチャ画像の格納画素位置を順次第5の画素位置とし
て出力する(STEP 502)。第5の画素位置と第5の画素
データは画像メモリアクセス回路の第2の画像メモリア
クセス部に入力され、第5の画像データはブロック画像
メモリの第5の画素位置に書き込まれる(STEP 512)。
この動作がテクスチャ画像内の全画素に対して繰り返さ
れることにより(STEP 503)テクスチャ画像はブロック
画像メモリに移動させられる。
のテクスチャ画像の画素位置を第4の画素位置として順
次、画像メモリアクセス回路204の第1の画像メモリア
クセス部212に出力する(STEP 501)。第1の画像メモ
リアクセス部212ではフレームメモリ109からテクスチャ
画像データを読み出し、第4の画素データとして出力す
る(STEP 511)。第4の画素データは画像移動回路に入
力され、このデータが第5の画素データとして出力され
る。同時に画像移動回路からブロック画像メモリ内のテ
クスチャ画像の格納画素位置を順次第5の画素位置とし
て出力する(STEP 502)。第5の画素位置と第5の画素
データは画像メモリアクセス回路の第2の画像メモリア
クセス部に入力され、第5の画像データはブロック画像
メモリの第5の画素位置に書き込まれる(STEP 512)。
この動作がテクスチャ画像内の全画素に対して繰り返さ
れることにより(STEP 503)テクスチャ画像はブロック
画像メモリに移動させられる。
【0307】次にCPU101は画像生成装置104にテクス
チャマッピング処理を指示する。画像生成装置はこの指
示を受け図11の手順に従いテクスチャマッピング処理
を行なう。
チャマッピング処理を指示する。画像生成装置はこの指
示を受け図11の手順に従いテクスチャマッピング処理
を行なう。
【0308】画素位置指定回路202では、生成ポリゴン1
102内の画素位置(第1の画素位置)を順次計算し、こ
の画素位置を第1の画素位置信号20bとして出力する。
今、画素1103を生成するとする。第1の画素位置として
画素1103の画素位置が出力される。一方、画素1103にマ
ッピングされるテクスチャ画像1101内の画素1104の画素
位置(第3の画素位置)を計算し、この画素位置を第3
の画素位置信号20dとして出力する。また、第2の画素
位置信号20cとして第1の画素位置と同じ画素位置を出
力する。(STEP 1001,STEP 1002およびSTEP 1003)半透明
のテクスチャマッピングを行なうため、画像メモリアク
セス回路204内の第1の画像メモリアクセス部212では、
第1の画素位置信号20bを入力し、フレームメモリ109内
の生成ポリゴン1102から画素データを読み出し、この画
素データを第1の画素データ信号20eとして出力する。
この画素データが背景画素データとなる(STEP 1012)。
第2の画像メモリアクセス部211では、第3の画素位置
信号20dを入力し、ブロック画像メモリ205内のテクスチ
ャ画像1101から画素データを読み出し、この画素データ
を第3の画素データ信号20gとして出力する(STEP101
4)。
102内の画素位置(第1の画素位置)を順次計算し、こ
の画素位置を第1の画素位置信号20bとして出力する。
今、画素1103を生成するとする。第1の画素位置として
画素1103の画素位置が出力される。一方、画素1103にマ
ッピングされるテクスチャ画像1101内の画素1104の画素
位置(第3の画素位置)を計算し、この画素位置を第3
の画素位置信号20dとして出力する。また、第2の画素
位置信号20cとして第1の画素位置と同じ画素位置を出
力する。(STEP 1001,STEP 1002およびSTEP 1003)半透明
のテクスチャマッピングを行なうため、画像メモリアク
セス回路204内の第1の画像メモリアクセス部212では、
第1の画素位置信号20bを入力し、フレームメモリ109内
の生成ポリゴン1102から画素データを読み出し、この画
素データを第1の画素データ信号20eとして出力する。
この画素データが背景画素データとなる(STEP 1012)。
第2の画像メモリアクセス部211では、第3の画素位置
信号20dを入力し、ブロック画像メモリ205内のテクスチ
ャ画像1101から画素データを読み出し、この画素データ
を第3の画素データ信号20gとして出力する(STEP101
4)。
【0309】画素演算回路203内の乗数生成部207では、
半透明度0.6に応じ、第1の乗数として0.4を生成
し、第2の乗数として0.6を生成する(STEP 1021)。第
1の乗算部209では、第1の画素データ信号20eにより入
力された画素データと第1の乗数を乗算し結果を加算部
210に出力する(STEP 1022)。 第2の乗算部208では、第
3の画素データ信号20gにより入力された画素データと
第2の乗数を乗算し結果を加算部210に出力する(STEP 1
023)。加算部210では、第1の乗算部209と第2の乗算部
208の乗算結果を加算し第2の画素データ信号20fとして
出力する(STEP1024)。この結果、第2の画素データとし
て0.6×(テクスチャ画素データ)+0.4×(背景画
素データ)が出力される。
半透明度0.6に応じ、第1の乗数として0.4を生成
し、第2の乗数として0.6を生成する(STEP 1021)。第
1の乗算部209では、第1の画素データ信号20eにより入
力された画素データと第1の乗数を乗算し結果を加算部
210に出力する(STEP 1022)。 第2の乗算部208では、第
3の画素データ信号20gにより入力された画素データと
第2の乗数を乗算し結果を加算部210に出力する(STEP 1
023)。加算部210では、第1の乗算部209と第2の乗算部
208の乗算結果を加算し第2の画素データ信号20fとして
出力する(STEP1024)。この結果、第2の画素データとし
て0.6×(テクスチャ画素データ)+0.4×(背景画
素データ)が出力される。
【0310】次に第1の画像メモリアクセス部212で
は、第2の画素位置信号20cと第2の画素データ信号20f
とを入力し、この画素データを生成ポリゴン1102内の画
素1103の画素位置に書き込む(STEP 1013)。このように
してテクスチャ画像の画素データ1104がテクスチャマッ
ピングされる。
は、第2の画素位置信号20cと第2の画素データ信号20f
とを入力し、この画素データを生成ポリゴン1102内の画
素1103の画素位置に書き込む(STEP 1013)。このように
してテクスチャ画像の画素データ1104がテクスチャマッ
ピングされる。
【0311】次に生成ポリゴン1102のエッジを構成する
画素1105を生成する場合を考える。ここで、画素1105は
画素の面積のうち70%がポリゴン1102内部であり、3
0%がポリゴン外部であるとする。この場合乗数生成部
207では、第1の乗数として(1−0.6×0.7)=0.
58を、第2の乗数として0.6×0.7=0.42を出
力し、画素演算回路での演算結果として第2の画素デー
タ信号として0. 42×(テクスチャ画素データ)+
0.58×(背景画素データ)が出力され、この画素デ
ータが生成ポリゴン1102内の画素1105に書き込まれるこ
とになる。
画素1105を生成する場合を考える。ここで、画素1105は
画素の面積のうち70%がポリゴン1102内部であり、3
0%がポリゴン外部であるとする。この場合乗数生成部
207では、第1の乗数として(1−0.6×0.7)=0.
58を、第2の乗数として0.6×0.7=0.42を出
力し、画素演算回路での演算結果として第2の画素デー
タ信号として0. 42×(テクスチャ画素データ)+
0.58×(背景画素データ)が出力され、この画素デ
ータが生成ポリゴン1102内の画素1105に書き込まれるこ
とになる。
【0312】生成ポリゴン1102内の全画素が生成される
まで、生成ポリゴン1102内の各画素について図11の処
理を繰り返す(STEP 1004)。
まで、生成ポリゴン1102内の各画素について図11の処
理を繰り返す(STEP 1004)。
【0313】このように処理を行なうことで、テクスチ
ャ画像1101を生成ポリゴン1102にテクスチャマッピング
処理を行なうことが実現される。
ャ画像1101を生成ポリゴン1102にテクスチャマッピング
処理を行なうことが実現される。
【0314】以上のように、本実施形態によれば半透明
なテクスチャ画像のテクスチャマッピングをポリゴンエ
ッジ部分のアンチエイリアシング処理を含めて処理する
ことができる。
なテクスチャ画像のテクスチャマッピングをポリゴンエ
ッジ部分のアンチエイリアシング処理を含めて処理する
ことができる。
【0315】次に、画像生成装置104の、動き補償処理
とテクスチャマッピング処理を同時実行する際の動作を
説明する。CPU101による画像生成装置104の制御手順
を図13及び図14に、画像生成装置104の各回路の動
作手順を図15に示す。図15では、破線の矢印はデー
タ/制御信号の流れを表し、実線の矢印は処理の流れを
表している。図13、図14および図15において、上
述の動き補償処理(図3、図4および図5を用いて説
明)と同じ処理を行なう場合には、同じ処理手順番号を
付与した。
とテクスチャマッピング処理を同時実行する際の動作を
説明する。CPU101による画像生成装置104の制御手順
を図13及び図14に、画像生成装置104の各回路の動
作手順を図15に示す。図15では、破線の矢印はデー
タ/制御信号の流れを表し、実線の矢印は処理の流れを
表している。図13、図14および図15において、上
述の動き補償処理(図3、図4および図5を用いて説
明)と同じ処理を行なう場合には、同じ処理手順番号を
付与した。
【0316】動き補償処理とテクスチャマッピング処理
を同時実行する際のCPU101による画像生成装置104の
制御手順を図13および図14を用いて説明する。動き
補償処理を単独で実行する場合と同じ手順をとるステッ
プの説明は省略する。
を同時実行する際のCPU101による画像生成装置104の
制御手順を図13および図14を用いて説明する。動き
補償処理を単独で実行する場合と同じ手順をとるステッ
プの説明は省略する。
【0317】STEP 1201に処理が進むと、動き補償の対
象になっている画像、すなわち生成画像、がその後の画
像の動き補償処理において基準画像として使われるかど
うかを判断する。
象になっている画像、すなわち生成画像、がその後の画
像の動き補償処理において基準画像として使われるかど
うかを判断する。
【0318】基準画像として使われる場合には、STEP 1
211〜STEP 1213の手順を進む。現在処理中の画像ブロッ
クの動き補償処理(図4)を完了し(STEP 1211)、生成
画像ブロックを生成し終えた後にこの生成画像ブロック
をテクスチャ画像として使用するためにブロック画像メ
モリ205に移動させ(STEP 1212)、テクスチャマッピング
処理を画像生成装置104に指示し実行させる(STEP 121
3)。以降の動き補償処理のために生成画像を生成してお
く必要がある場合は、このように生成画像ブロックを生
成してからテクスチャマッピング処理を行なう。MPEGに
より圧縮符号化されている場合、Iピクチャの伸長結果
の画像はPピクチャやBピクチャの動き補償に使われ、ま
たPピクチャの伸長画像は他のPピクチャやBピクチャの
動き補償に使われることがあり、このような画像に対し
ては、上記の処理手順をとる。この処理手順に対応する
画像生成装置104の動作手順は、図5(動き補償処
理)、図11(テクスチャマッピング処理)と同様であ
る。
211〜STEP 1213の手順を進む。現在処理中の画像ブロッ
クの動き補償処理(図4)を完了し(STEP 1211)、生成
画像ブロックを生成し終えた後にこの生成画像ブロック
をテクスチャ画像として使用するためにブロック画像メ
モリ205に移動させ(STEP 1212)、テクスチャマッピング
処理を画像生成装置104に指示し実行させる(STEP 121
3)。以降の動き補償処理のために生成画像を生成してお
く必要がある場合は、このように生成画像ブロックを生
成してからテクスチャマッピング処理を行なう。MPEGに
より圧縮符号化されている場合、Iピクチャの伸長結果
の画像はPピクチャやBピクチャの動き補償に使われ、ま
たPピクチャの伸長画像は他のPピクチャやBピクチャの
動き補償に使われることがあり、このような画像に対し
ては、上記の処理手順をとる。この処理手順に対応する
画像生成装置104の動作手順は、図5(動き補償処
理)、図11(テクスチャマッピング処理)と同様であ
る。
【0319】一方、MPEGのBピクチャなどのように動き
補償処理結果の画像をその後の動き補償処理に使用しな
い場合には、STEP 1202(図14)の手順で動き補償処
理とテクスチャマッピング処理を実行する。図14にお
いても図4と同じ手順をとる場合は同じ符号を付与し説
明は省略する。図14の処理手順において、複数回のブ
ロック動き補償処理が必要となる場合、最後の1回の動
き補償処理を除き図4と同じである。図14において最
後のブロック動き補償処理の際にテクスチャマッピング
処理を同時に処理する。STEP 1251、STEP 1261、STEP 1
271およびSTEP1281においてCPU101は画像ブロック設
定処理を指示する。このステップで生成ポリゴンの位置
を指定するとともに、STEP 1261、STEP 1271およびSTEP
1281では、生成画像ブロックをブロック画像メモリ205
に移動させる。この後、ブロック動き補償処理とテクス
チャマッピングの同時実行を指示する。生成画像ブロッ
クをブロック画像メモリ205へ移動させる画像ブロック
設定処理の指示がCPU101から画像生成装置104に対し
て行なわれた場合の画像生成装置104の動作手順は図6
に説明したとおりである。
補償処理結果の画像をその後の動き補償処理に使用しな
い場合には、STEP 1202(図14)の手順で動き補償処
理とテクスチャマッピング処理を実行する。図14にお
いても図4と同じ手順をとる場合は同じ符号を付与し説
明は省略する。図14の処理手順において、複数回のブ
ロック動き補償処理が必要となる場合、最後の1回の動
き補償処理を除き図4と同じである。図14において最
後のブロック動き補償処理の際にテクスチャマッピング
処理を同時に処理する。STEP 1251、STEP 1261、STEP 1
271およびSTEP1281においてCPU101は画像ブロック設
定処理を指示する。このステップで生成ポリゴンの位置
を指定するとともに、STEP 1261、STEP 1271およびSTEP
1281では、生成画像ブロックをブロック画像メモリ205
に移動させる。この後、ブロック動き補償処理とテクス
チャマッピングの同時実行を指示する。生成画像ブロッ
クをブロック画像メモリ205へ移動させる画像ブロック
設定処理の指示がCPU101から画像生成装置104に対し
て行なわれた場合の画像生成装置104の動作手順は図6
に説明したとおりである。
【0320】ブロック動き補償処理とテクスチャマッピ
ングの同時実行がCPU101から画像生成装置104に指示
された場合の画像生成装置104の動作手順を図15を用
い説明する。図15の動作手順において図5の説明と同
様の動作ステップには同じ番号を付与している。
ングの同時実行がCPU101から画像生成装置104に指示
された場合の画像生成装置104の動作手順を図15を用
い説明する。図15の動作手順において図5の説明と同
様の動作ステップには同じ番号を付与している。
【0321】この処理ではCPU101による指示が画像
生成装置104の制御回路201により解析され、画素位置指
定回路202、画素演算回路203の乗数生成部207の動作を
制御するコマンド信号が出力される。
生成装置104の制御回路201により解析され、画素位置指
定回路202、画素演算回路203の乗数生成部207の動作を
制御するコマンド信号が出力される。
【0322】画素位置指定回路202は次の手順で動作す
る。
る。
【0323】STEP 401では、基準画像ブロック内の画素
位置(第1の画素位置)を求め、この画素位置を第1の
画素位置信号20bとして画像メモリアクセス回路204へ出
力する。
位置(第1の画素位置)を求め、この画素位置を第1の
画素位置信号20bとして画像メモリアクセス回路204へ出
力する。
【0324】同時にSTEP 402では、差分画像ブロック内
の画素位置(第3の画素位置)を求め、この画素位置を
第3の画素位置信号20dとして画像メモリアクセス回路2
04へ出力する。
の画素位置(第3の画素位置)を求め、この画素位置を
第3の画素位置信号20dとして画像メモリアクセス回路2
04へ出力する。
【0325】同時にSTEP 1301では、生成ポリゴン内の
画素位置(第2の画素位置)を求め、この画素位置を第
2の画素位置信号20cとして画像メモリアクセス回路204
へ出力する。
画素位置(第2の画素位置)を求め、この画素位置を第
2の画素位置信号20cとして画像メモリアクセス回路204
へ出力する。
【0326】STEP 404では、STEP 1301で出力した第2
の画素位置に第2の画像データが書き込まれた後、生成
ポリゴン内の全画素の処理が終了したかどうかを判断
し、終了していなければSTEP 401、STEP 402、STEP 130
1へ処理を進める。
の画素位置に第2の画像データが書き込まれた後、生成
ポリゴン内の全画素の処理が終了したかどうかを判断
し、終了していなければSTEP 401、STEP 402、STEP 130
1へ処理を進める。
【0327】画像メモリアクセス回路204は次の手順で
動作する。
動作する。
【0328】STEP 411では、第1の画素位置信号20bを
入力し、フレームメモリ109の当該画素位置の画像デー
タを読み出し、この画像データを第1の画像データ信号
20eとして出力する。
入力し、フレームメモリ109の当該画素位置の画像デー
タを読み出し、この画像データを第1の画像データ信号
20eとして出力する。
【0329】STEP 412では、第2の画素位置信号20cと
第2の画像データ信号20fを入力し、フレームメモリ109
内の当該画素位置に画像データを書き込む。
第2の画像データ信号20fを入力し、フレームメモリ109
内の当該画素位置に画像データを書き込む。
【0330】STEP 413では、第3の画素位置信号20dを
入力し、ブロック画像メモリ205の当該画素位置の画像
データを読み出し、この画像データを第3の画像データ
信号20gとして出力する。
入力し、ブロック画像メモリ205の当該画素位置の画像
データを読み出し、この画像データを第3の画像データ
信号20gとして出力する。
【0331】画素演算回路203は次の手順で動作する。
【0332】STEP 421では、CPU101から制御回路201
を介して指示された動き補償処理の種類に応じ、(表
1)のとおり乗数生成部207より第1の乗数と第2の乗
数を出力する。
を介して指示された動き補償処理の種類に応じ、(表
1)のとおり乗数生成部207より第1の乗数と第2の乗
数を出力する。
【0333】STEP 422では、第1の画像データ信号20e
として入力された画像データと第1の乗数とを用いて第
1の乗算部209で乗算を行なう。
として入力された画像データと第1の乗数とを用いて第
1の乗算部209で乗算を行なう。
【0334】STEP 423では、第3の画像データ信号20g
として入力された画像データと第2の乗数とを用いて第
2の乗算部208で乗算を行なう。
として入力された画像データと第2の乗数とを用いて第
2の乗算部208で乗算を行なう。
【0335】STEP 424では、加算部210において第1の
乗算部209の結果と第2の乗算部208の結果とを加算し、
加算結果を第2の画像データ信号20fとして出力する。
乗算部209の結果と第2の乗算部208の結果とを加算し、
加算結果を第2の画像データ信号20fとして出力する。
【0336】以上の手順により、本実施形態の画像生成
装置は動き補償処理とテクスチャマッピングの同時実行
を実現する。
装置は動き補償処理とテクスチャマッピングの同時実行
を実現する。
【0337】以下では、図16を用い動き補償処理とテ
クスチャマッピング処理の同時実行(図14のSTEP 125
2,STEP 1262,STEP 1272,STEP 1282、図15)について
説明する。
クスチャマッピング処理の同時実行(図14のSTEP 125
2,STEP 1262,STEP 1272,STEP 1282、図15)について
説明する。
【0338】フレームメモリ109の中には基準画像1401
が格納されており動き補償処理対象の画像ブロックが基
準画像ブロック1402として画素位置指定回路202に設定
されている。一方フレームメモリ109内の差分画像1403
の差分画像ブロック1404が設定されこの画像ブロックの
画像データがブロック画像メモリ205に移動させられ
る。(STEP 1251,STEP 1261,STEP 1271,STEP 1281、図
6)画素位置指定回路202からは生成ポリゴン1405内の
画素位置を示す第2の画素位置信号20cと、第2の画素
位置にマッピングされる基準画像ブロック1402内の画素
位置および差分画像ブロック1404内の画素位置を第1の
画素位置信号20b、第3の画素位置信号20dとして出力す
る。第1の画素位置の画素データが第1の画像メモリア
クセス部212を介してフレームメモリ109から読み出され
(第1の画素データ)、一方第3の画素位置の画素デー
タが第2の画像メモリアクセス部211を介してブロック
画像メモリ205から読み出される(第3の画素デー
タ)。第1の画素データと第3の画素データは、画素演
算回路203においてそれぞれ(表1)に示す乗数を乗算
され、それぞれの乗算結果を加算し、加算結果を第2の
画素データとして出力する。この演算により、動き補償
処理が行なわれた結果の画素データが第2の画素データ
として得られる。第2の画素データは生成ポリゴン1405
内の画素位置を示す第2の画素位置信号の示すフレーム
メモリ109内の画素位置に書き込まれる。第2の画素位
置は、テクスチャマッピングされる生成ポリゴン1405内
の画素位置を示しており、第2の画素データが書き込ま
れることによりテクスチャマッピング処理が達成され
る。以上のように、動き補償処理とテクスチャマッピン
グ処理を同時実行することが可能となる。
が格納されており動き補償処理対象の画像ブロックが基
準画像ブロック1402として画素位置指定回路202に設定
されている。一方フレームメモリ109内の差分画像1403
の差分画像ブロック1404が設定されこの画像ブロックの
画像データがブロック画像メモリ205に移動させられ
る。(STEP 1251,STEP 1261,STEP 1271,STEP 1281、図
6)画素位置指定回路202からは生成ポリゴン1405内の
画素位置を示す第2の画素位置信号20cと、第2の画素
位置にマッピングされる基準画像ブロック1402内の画素
位置および差分画像ブロック1404内の画素位置を第1の
画素位置信号20b、第3の画素位置信号20dとして出力す
る。第1の画素位置の画素データが第1の画像メモリア
クセス部212を介してフレームメモリ109から読み出され
(第1の画素データ)、一方第3の画素位置の画素デー
タが第2の画像メモリアクセス部211を介してブロック
画像メモリ205から読み出される(第3の画素デー
タ)。第1の画素データと第3の画素データは、画素演
算回路203においてそれぞれ(表1)に示す乗数を乗算
され、それぞれの乗算結果を加算し、加算結果を第2の
画素データとして出力する。この演算により、動き補償
処理が行なわれた結果の画素データが第2の画素データ
として得られる。第2の画素データは生成ポリゴン1405
内の画素位置を示す第2の画素位置信号の示すフレーム
メモリ109内の画素位置に書き込まれる。第2の画素位
置は、テクスチャマッピングされる生成ポリゴン1405内
の画素位置を示しており、第2の画素データが書き込ま
れることによりテクスチャマッピング処理が達成され
る。以上のように、動き補償処理とテクスチャマッピン
グ処理を同時実行することが可能となる。
【0339】以上説明したように本実施形態によれば、
テクスチャ画像や動き補償差分画像などを格納するブロ
ック画像メモリ205と、このブロック画像メモリ205や、
基準画像、生成ポリゴンおよび生成画像が格納されてい
るフレームメモリ109の画素データにアクセスする画像
メモリアクセス回路204と、ブロック画像メモリ205から
読み出された第3の画素データとフレームメモリ109か
ら読み出された第1の画素データを画素間で演算を行な
う画素演算回路203と、動き補償処理、テクスチャマッ
ピング処理および動き補償処理とテクスチャマッピング
処理の同時実行など、処理に応じて演算対象の画素デー
タの画素位置と演算結果の画素データを書き込む画素位
置を生成し指定する画素位置指定回路202と、フレーム
メモリ109内の画像ブロックをブロック画像メモリ205に
移動させる画像移動回路206とを設けることにより、順
方向動き補償、双方向動き補償、半画素精度の動き補償
など、動き予測を用いて圧縮された動画の伸長処理と、
半透明テクスチャ画像のテクスチャマッピングやポリゴ
ンエッジのアンチエイリアシング処理を含むテクスチャ
マッピング処理、さらには動き補償処理とテクスチャマ
ッピング処理の同時実行を実現することができる。
テクスチャ画像や動き補償差分画像などを格納するブロ
ック画像メモリ205と、このブロック画像メモリ205や、
基準画像、生成ポリゴンおよび生成画像が格納されてい
るフレームメモリ109の画素データにアクセスする画像
メモリアクセス回路204と、ブロック画像メモリ205から
読み出された第3の画素データとフレームメモリ109か
ら読み出された第1の画素データを画素間で演算を行な
う画素演算回路203と、動き補償処理、テクスチャマッ
ピング処理および動き補償処理とテクスチャマッピング
処理の同時実行など、処理に応じて演算対象の画素デー
タの画素位置と演算結果の画素データを書き込む画素位
置を生成し指定する画素位置指定回路202と、フレーム
メモリ109内の画像ブロックをブロック画像メモリ205に
移動させる画像移動回路206とを設けることにより、順
方向動き補償、双方向動き補償、半画素精度の動き補償
など、動き予測を用いて圧縮された動画の伸長処理と、
半透明テクスチャ画像のテクスチャマッピングやポリゴ
ンエッジのアンチエイリアシング処理を含むテクスチャ
マッピング処理、さらには動き補償処理とテクスチャマ
ッピング処理の同時実行を実現することができる。
【0340】なお、ここでは説明を簡単にするために動
き補償のための画像ブロックのサイズを4×4画素とし
たが、これに限られるものでなく、16×16画素や8
×8画素など他のサイズを使用することを排除するもの
でない。また、画像のサイズを8×8画素としたが、こ
れも任意のサイズを選ぶことが可能である。さらに本実
施形態の動き補償処理の手順で説明した画像ブロックの
処理順序はこれに限られるものでなく、互いに処理順序
を入れ換えることも可能である。さらには、本実施形態
のテクスチャマッピング処理の説明における半透明テク
スチャの半透明度を一種類として説明したが、テクスチ
ャを構成する各画素毎に異なる半透明度を与えることも
可能である。
き補償のための画像ブロックのサイズを4×4画素とし
たが、これに限られるものでなく、16×16画素や8
×8画素など他のサイズを使用することを排除するもの
でない。また、画像のサイズを8×8画素としたが、こ
れも任意のサイズを選ぶことが可能である。さらに本実
施形態の動き補償処理の手順で説明した画像ブロックの
処理順序はこれに限られるものでなく、互いに処理順序
を入れ換えることも可能である。さらには、本実施形態
のテクスチャマッピング処理の説明における半透明テク
スチャの半透明度を一種類として説明したが、テクスチ
ャを構成する各画素毎に異なる半透明度を与えることも
可能である。
【0341】(実施形態2)本発明によるマルチメディ
ア機器の第2の実施形態の構成および動作で、実施形態
1と同一の部分は説明を省略する。
ア機器の第2の実施形態の構成および動作で、実施形態
1と同一の部分は説明を省略する。
【0342】本実施形態おける画像生成装置104の構成
を、図17を用いて説明する。実施形態1の画像生成装
置と同じ構成要素は同一の番号を付す。
を、図17を用いて説明する。実施形態1の画像生成装
置と同じ構成要素は同一の番号を付す。
【0343】制御回路201は、コマンド入力信号20aより
指定されたコマンドを解釈し、画素位置指定回路1501、
画像移動回路206および画素演算回路203の動作を制御す
るコマンド信号を出力する制御回路である。画素位置指
定回路1501は、制御回路201の指示に従い、基準画像ブ
ロックや生成ポリゴン内の画素位置(第1の画素位置)
を求めこれを第1の画素位置信号20bとして出力し、生
成画像ブロックや生成ポリゴン内の画素位置(第2の画
素位置)を求め第2の画素位置信号150aとして出力し、
差分画像ブロックやテクスチャ画像内の画素位置(第3
の画素位置)を求め第3の画素位置信号20dとして出力
する。画像メモリアクセス回路1502は、第1の画素位置
信号20bをうけフレームメモリ109内の指定の画素位置の
画素データを読み出し第1の画素データ信号20eとして
出力し、第2の画素位置信号150aをうけ第2の画素位置
信号150aがフレームメモリ109内の画素位置を指してい
る場合フレームメモリ109内の指定の画素位置に第2の
画素データ信号150bとして入力した画素データを書き込
み、第4の画素位置信号20hをうけフレームメモリ109内
の指定の画素位置の画素データを読み出し第4の画素デ
ータ信号20jとして出力する第1の画像メモリアクセス
部1504と、第3の画素位置信号20dをうけブロック画像
メモリ205内の指定の画素位置の画素データを読み出し
第3の画素データ信号20gとして出力し、第2の画素位
置信号150aを受け第2の画素位置信号150aがブロック画
像メモリ205内の画素位置を指している場合ブロック画
像メモリ205内の指定の画素位置に第2の画素データ信
号150bとして入力した画素データを書き込み、第5の画
素位置信号20iをうけブロック画像メモリ内の指定の画
素位置に第5の画素データ信号20kとして入力した画素
データを書き込む第2の画像メモリアクセス部1503とを
備えている。
指定されたコマンドを解釈し、画素位置指定回路1501、
画像移動回路206および画素演算回路203の動作を制御す
るコマンド信号を出力する制御回路である。画素位置指
定回路1501は、制御回路201の指示に従い、基準画像ブ
ロックや生成ポリゴン内の画素位置(第1の画素位置)
を求めこれを第1の画素位置信号20bとして出力し、生
成画像ブロックや生成ポリゴン内の画素位置(第2の画
素位置)を求め第2の画素位置信号150aとして出力し、
差分画像ブロックやテクスチャ画像内の画素位置(第3
の画素位置)を求め第3の画素位置信号20dとして出力
する。画像メモリアクセス回路1502は、第1の画素位置
信号20bをうけフレームメモリ109内の指定の画素位置の
画素データを読み出し第1の画素データ信号20eとして
出力し、第2の画素位置信号150aをうけ第2の画素位置
信号150aがフレームメモリ109内の画素位置を指してい
る場合フレームメモリ109内の指定の画素位置に第2の
画素データ信号150bとして入力した画素データを書き込
み、第4の画素位置信号20hをうけフレームメモリ109内
の指定の画素位置の画素データを読み出し第4の画素デ
ータ信号20jとして出力する第1の画像メモリアクセス
部1504と、第3の画素位置信号20dをうけブロック画像
メモリ205内の指定の画素位置の画素データを読み出し
第3の画素データ信号20gとして出力し、第2の画素位
置信号150aを受け第2の画素位置信号150aがブロック画
像メモリ205内の画素位置を指している場合ブロック画
像メモリ205内の指定の画素位置に第2の画素データ信
号150bとして入力した画素データを書き込み、第5の画
素位置信号20iをうけブロック画像メモリ内の指定の画
素位置に第5の画素データ信号20kとして入力した画素
データを書き込む第2の画像メモリアクセス部1503とを
備えている。
【0344】画素演算回路203は、第1の画素データ信
号20eと第3の画素データ信号20gを入力しこれらのデー
タを演算した結果を第2の画素データ信号150bとして出
力する。本実施形態では、画素演算回路203は、制御回
路201の指示(コマンド信号)に従い、第1の乗数と第
2の乗数を生成し乗算部に出力する乗数生成部207と、
乗数生成部207から指定された第1の乗数と第1の画素
データを乗算する第1の乗算部209と、乗数生成部207か
ら指定された第2の乗数と第3の画素データを乗算する
第2の乗算部208と、第1の乗算部209の演算結果と第2
の乗算部208の演算結果を加算する加算部210とを備えて
いる。
号20eと第3の画素データ信号20gを入力しこれらのデー
タを演算した結果を第2の画素データ信号150bとして出
力する。本実施形態では、画素演算回路203は、制御回
路201の指示(コマンド信号)に従い、第1の乗数と第
2の乗数を生成し乗算部に出力する乗数生成部207と、
乗数生成部207から指定された第1の乗数と第1の画素
データを乗算する第1の乗算部209と、乗数生成部207か
ら指定された第2の乗数と第3の画素データを乗算する
第2の乗算部208と、第1の乗算部209の演算結果と第2
の乗算部208の演算結果を加算する加算部210とを備えて
いる。
【0345】画素演算回路203は、制御回路201の指示
(コマンド信号)が動き補償処理を指示している場合、
もしくは動き補償処理とテクスチャマッピング処理の同
時処理を指示している場合には、符号付きのデータ精度
で演算を行い、テクスチャマッピング処理を指示してい
る場合には、符号なしのデータ精度で演算を行う。
(コマンド信号)が動き補償処理を指示している場合、
もしくは動き補償処理とテクスチャマッピング処理の同
時処理を指示している場合には、符号付きのデータ精度
で演算を行い、テクスチャマッピング処理を指示してい
る場合には、符号なしのデータ精度で演算を行う。
【0346】画像移動回路206は、制御回路201の指示
(コマンド信号)に従い、フレームメモリ109内の画像
ブロックをブロック画像メモリ205に移動させるための
第4の画素位置と第5の画素位置を発生させる。第4の
画素位置信号20hにより指定された画素データを画像メ
モリアクセス回路1502を介してフレームメモリ109より
読み出し、この画像データを第5の画素位置信号20iに
より指定したブロック画像メモリ205内の画素位置に画
像メモリアクセス回路1502を介して書き込む。
(コマンド信号)に従い、フレームメモリ109内の画像
ブロックをブロック画像メモリ205に移動させるための
第4の画素位置と第5の画素位置を発生させる。第4の
画素位置信号20hにより指定された画素データを画像メ
モリアクセス回路1502を介してフレームメモリ109より
読み出し、この画像データを第5の画素位置信号20iに
より指定したブロック画像メモリ205内の画素位置に画
像メモリアクセス回路1502を介して書き込む。
【0347】以上のように構成された画像生成装置104
の動作について次に説明する。画像生成装置104はCP
U101により動作をコマンドにより指示され、制御回路2
01でコマンドを解釈しこれに従い画像生成装置104の各
回路を制御するコマンドを出力することにより動作す
る。以下の説明では、CPU101による制御回路201への
コマンド発行による制御手順と、この制御をうけた画像
生成装置104内の各回路の動作手順について説明する。
の動作について次に説明する。画像生成装置104はCP
U101により動作をコマンドにより指示され、制御回路2
01でコマンドを解釈しこれに従い画像生成装置104の各
回路を制御するコマンドを出力することにより動作す
る。以下の説明では、CPU101による制御回路201への
コマンド発行による制御手順と、この制御をうけた画像
生成装置104内の各回路の動作手順について説明する。
【0348】まず、本実施形態による画像生成装置104
の動き補償処理時の動作を説明する。CPU101による
画像生成装置104の制御手順を図18および図19に、
画像生成装置104の各回路の動作手順を図20に示す。
図18、図19および図20において、それぞれ図3、
図4および図5と同一の処理ステップは同一の番号を付
与する。
の動き補償処理時の動作を説明する。CPU101による
画像生成装置104の制御手順を図18および図19に、
画像生成装置104の各回路の動作手順を図20に示す。
図18、図19および図20において、それぞれ図3、
図4および図5と同一の処理ステップは同一の番号を付
与する。
【0349】まず、動き補償処理を行なう際のCPU10
1による画像生成装置104の制御手順を図18および図1
9を用いて説明する。
1による画像生成装置104の制御手順を図18および図1
9を用いて説明する。
【0350】STEP 301では、フレームメモリ109に動き
補償の基準となる基準画像(過去画像や未来画像)を設
定し、差分画像を書き込む。基準画像はディスク装置10
3から読み出されCPU101によりフレームメモリ109に
書き込まれる場合と、画像生成装置104で既に生成され
終えた画像の場合とがある。
補償の基準となる基準画像(過去画像や未来画像)を設
定し、差分画像を書き込む。基準画像はディスク装置10
3から読み出されCPU101によりフレームメモリ109に
書き込まれる場合と、画像生成装置104で既に生成され
終えた画像の場合とがある。
【0351】STEP 311では、動き補償処理を行なうかど
うかを判断し、動き補償処理なしであればSTEP 1601へ
処理を進め、そうでなければSTEP 321へ処理を進める。
うかを判断し、動き補償処理なしであればSTEP 1601へ
処理を進め、そうでなければSTEP 321へ処理を進める。
【0352】STEP 1601では、画像ブロック設定処理を
画像生成装置104に指示する。これにより、ブロック画
像メモリ内における生成画像ブロックの位置と、差分画
像ブロックの差分画像内における位置とを指示する。
画像生成装置104に指示する。これにより、ブロック画
像メモリ内における生成画像ブロックの位置と、差分画
像ブロックの差分画像内における位置とを指示する。
【0353】STEP 1602では、図19に従いブロックの
動き補償処理を制御する。
動き補償処理を制御する。
【0354】STEP 321では、順方向動き補償処理である
かどうかを判断し、順方向動き補償処理であればSTEP 1
611へ処理を進め、そうでなければSTEP 331へ処理を進
める。
かどうかを判断し、順方向動き補償処理であればSTEP 1
611へ処理を進め、そうでなければSTEP 331へ処理を進
める。
【0355】STEP 1611では、画像ブロック設定処理を
画像生成装置104に指示する。この指示により、過去画
像ブロックの過去画像内における位置、ブロック画像メ
モリ内における生成画像ブロックの位置および差分画像
ブロックの差分画像内における位置を指示する。
画像生成装置104に指示する。この指示により、過去画
像ブロックの過去画像内における位置、ブロック画像メ
モリ内における生成画像ブロックの位置および差分画像
ブロックの差分画像内における位置を指示する。
【0356】STEP 1612では、図19に従いブロックの
動き補償処理を制御する。
動き補償処理を制御する。
【0357】STEP 331では、逆方向動き補償処理である
かどうかを判断し、逆方向動き補償処理であればSTEP 1
621へ処理を進め、そうでなければSTEP 341へ処理を進
める。
かどうかを判断し、逆方向動き補償処理であればSTEP 1
621へ処理を進め、そうでなければSTEP 341へ処理を進
める。
【0358】STEP 1621では、画像ブロック設定処理を
画像生成装置104に指示する。この指示により、未来画
像ブロックの未来画像内における位置、ブロック画像メ
モリ内における生成画像ブロックの位置および差分画像
ブロックの差分画像内における位置を指示する。
画像生成装置104に指示する。この指示により、未来画
像ブロックの未来画像内における位置、ブロック画像メ
モリ内における生成画像ブロックの位置および差分画像
ブロックの差分画像内における位置を指示する。
【0359】STEP 1622では、図19に従いブロックの
動き補償処理を制御する。
動き補償処理を制御する。
【0360】STEP 1631では、画像ブロック設定処理を
画像生成装置104に指示する。この指示により、過去画
像ブロックの過去画像内における位置、ブロック画像メ
モリ内における生成画像ブロックの位置および差分画像
ブロックの差分画像内における位置を指示する。
画像生成装置104に指示する。この指示により、過去画
像ブロックの過去画像内における位置、ブロック画像メ
モリ内における生成画像ブロックの位置および差分画像
ブロックの差分画像内における位置を指示する。
【0361】STEP 1632では、図19に従いブロックの
動き補償処理を制御する。
動き補償処理を制御する。
【0362】STEP 1633では、画像ブロック設定処理を
画像生成装置104に指示する。この指示により、未来画
像ブロックの未来画像内における位置、ブロック画像メ
モリ内における生成画像ブロックの位置および差分画像
ブロックの差分画像内における位置を指示する。
画像生成装置104に指示する。この指示により、未来画
像ブロックの未来画像内における位置、ブロック画像メ
モリ内における生成画像ブロックの位置および差分画像
ブロックの差分画像内における位置を指示する。
【0363】STEP 1634では、図19に従いブロックの
動き補償処理を制御する。
動き補償処理を制御する。
【0364】STEP 302では、生成画像内の全画像ブロッ
クの動き補償処理が終了したかどうかを判断する。終了
していればSTEP 303へ処理を進め、終了していなければ
STEP311へ処理を進め次の画像ブロックについて処理を
行なう。
クの動き補償処理が終了したかどうかを判断する。終了
していればSTEP 303へ処理を進め、終了していなければ
STEP311へ処理を進め次の画像ブロックについて処理を
行なう。
【0365】STEP 303では、全ての画像の動き補償処理
が終了したかどうかを判断し、終了していなければSTEP
301へ処理を進め次の画像について処理を行なう。
が終了したかどうかを判断し、終了していなければSTEP
301へ処理を進め次の画像について処理を行なう。
【0366】次に、図19により画像ブロックの動き補
償処理を行なうためのCPU101による画像生成装置104
の制御手順の詳細を説明する。
償処理を行なうためのCPU101による画像生成装置104
の制御手順の詳細を説明する。
【0367】STEP 351では、画像生成装置104に画像ブ
ロック設定処理を指示する。これにより、次に処理対象
となる差分画像ブロックをフレームメモリ109の差分画
像内からブロック画像メモリ205へ移動させる。
ロック設定処理を指示する。これにより、次に処理対象
となる差分画像ブロックをフレームメモリ109の差分画
像内からブロック画像メモリ205へ移動させる。
【0368】STEP 361では、半画素精度の動き補償を行
なうかどうかの判断を行なう。半画素精度の動き補償を
行なわない場合はSTEP 1651へ処理を進め、半画素精度
の動き補償を行なう場合はSTEP 371へ処理を進める。
なうかどうかの判断を行なう。半画素精度の動き補償を
行なわない場合はSTEP 1651へ処理を進め、半画素精度
の動き補償を行なう場合はSTEP 371へ処理を進める。
【0369】STEP 1651では、画像ブロック設定処理を
指示し生成画像ブロックの生成位置としてフレームメモ
リ109内の生成画像内を指定する。
指示し生成画像ブロックの生成位置としてフレームメモ
リ109内の生成画像内を指定する。
【0370】STEP 362では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。
【0371】STEP 371では、基準画像ブロックの半画素
精度の位置指定が横方向のみであるかどうかを判断す
る。横方向のみの場合STEP 372に処理を進め、そうでな
ければSTEP 381へ処理を進める。
精度の位置指定が横方向のみであるかどうかを判断す
る。横方向のみの場合STEP 372に処理を進め、そうでな
ければSTEP 381へ処理を進める。
【0372】STEP 372では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ0.5画素だ
け左にずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ0.5画素だ
け左にずれた位置を指示する。
【0373】STEP 1661では、画像生成装置104に画像ブ
ロック設定処理を指示する。これにより、生成画像ブロ
ックの生成位置としてフレームメモリ109内の生成画像
内を指定する。
ロック設定処理を指示する。これにより、生成画像ブロ
ックの生成位置としてフレームメモリ109内の生成画像
内を指定する。
【0374】STEP 374では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ0.5画素だ
け右にずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ0.5画素だ
け右にずれた位置を指示する。
【0375】STEP 381では、基準画像ブロックの半画素
精度の位置指定が縦方向のみであるかどうかを判断す
る。縦方向のみの場合STEP 382に処理を進め、そうでな
ければSTEP 391へ処理を進める。
精度の位置指定が縦方向のみであるかどうかを判断す
る。縦方向のみの場合STEP 382に処理を進め、そうでな
ければSTEP 391へ処理を進める。
【0376】STEP 382では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置を画像生成装置104
に指示する。この基準画像ブロックの位置は動き補償の
ために指定された半画素精度の位置に比べ0.5画素だけ
上にずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置を画像生成装置104
に指示する。この基準画像ブロックの位置は動き補償の
ために指定された半画素精度の位置に比べ0.5画素だけ
上にずれた位置を指示する。
【0377】STEP 1671では、画像生成装置104に画像ブ
ロック設定処理を指示する。これにより、生成画像ブロ
ックの生成位置としてフレームメモリ109内の生成画像
内を指定する。
ロック設定処理を指示する。これにより、生成画像ブロ
ックの生成位置としてフレームメモリ109内の生成画像
内を指定する。
【0378】STEP 384では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置を画像生成装置104
に指示する。この基準画像ブロックの位置は動き補償の
ために指定された半画素精度の位置に比べ0.5画素だけ
下にずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置を画像生成装置104
に指示する。この基準画像ブロックの位置は動き補償の
ために指定された半画素精度の位置に比べ0.5画素だけ
下にずれた位置を指示する。
【0379】STEP 391では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ左に0.5画
素上に0.5画素だけずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置が画像生成装置104
に指示される。この基準画像ブロックの位置は動き補償
のために指定された半画素精度の位置に比べ左に0.5画
素上に0.5画素だけずれた位置を指示する。
【0380】STEP 393では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置を画像生成装置104
に指示する。この基準画像ブロックの位置は動き補償の
ために指定された半画素精度の位置に比べ右に0.5画素
上に0.5画素だけずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置を画像生成装置104
に指示する。この基準画像ブロックの位置は動き補償の
ために指定された半画素精度の位置に比べ右に0.5画素
上に0.5画素だけずれた位置を指示する。
【0381】STEP 395では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置を画像生成装置104
に指示する。この基準画像ブロックの位置は動き補償の
ために指定された半画素精度の位置に比べ左に0.5画素
下に0.5画素だけずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置を画像生成装置104
に指示する。この基準画像ブロックの位置は動き補償の
ために指定された半画素精度の位置に比べ左に0.5画素
下に0.5画素だけずれた位置を指示する。
【0382】STEP 1681では、画像生成装置104に画像ブ
ロック設定処理を指示する。これにより、生成画像ブロ
ックの生成位置としてフレームメモリ109内の生成画像
内を指定する。
ロック設定処理を指示する。これにより、生成画像ブロ
ックの生成位置としてフレームメモリ109内の生成画像
内を指定する。
【0383】STEP 397では、画像生成装置104に対しブ
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置を画像生成装置104
に指示する。この基準画像ブロックの位置は動き補償の
ために指定された半画素精度の位置に比べ右に0.5画素
下に0.5画素だけずれた位置を指示する。
ロック動き補償処理を指示する。これにより、基準画像
ブロックの基準画像内における位置を画像生成装置104
に指示する。この基準画像ブロックの位置は動き補償の
ために指定された半画素精度の位置に比べ右に0.5画素
下に0.5画素だけずれた位置を指示する。
【0384】動き補償処理を行なうためにCPU101に
より上述のように制御される画像生成装置104の動作手
順を図20を用い説明する。
より上述のように制御される画像生成装置104の動作手
順を図20を用い説明する。
【0385】CPU101から画像生成装置104に対しブロ
ック動き補償処理が指示された場合の動作手順を図20
に示す。この処理ではCPU101による指示が画像生成
装置104の制御回路201により解析され、画素位置指定回
路1501および画素演算回路203の乗数生成部207の動作を
制御するコマンド信号が出力される。
ック動き補償処理が指示された場合の動作手順を図20
に示す。この処理ではCPU101による指示が画像生成
装置104の制御回路201により解析され、画素位置指定回
路1501および画素演算回路203の乗数生成部207の動作を
制御するコマンド信号が出力される。
【0386】画素位置指定回路1501は次の手順で動作す
る。
る。
【0387】STEP 401では、基準画像ブロック内の画素
位置(第1の画素位置)を求め、この画素位置を第1の
画素位置信号20bとして画像メモリアクセス回路1502へ
出力する。
位置(第1の画素位置)を求め、この画素位置を第1の
画素位置信号20bとして画像メモリアクセス回路1502へ
出力する。
【0388】同時にSTEP 402では、差分画像ブロック内
の画素位置(第3の画素位置)を求め、この画素位置を
第3の画素位置信号20dとして画像メモリアクセス回路1
502へ出力する。
の画素位置(第3の画素位置)を求め、この画素位置を
第3の画素位置信号20dとして画像メモリアクセス回路1
502へ出力する。
【0389】同時にSTEP 1701では、生成画像ブロック
内の画素位置(第2の画素位置)を求め、この画素位置
を第2の画素位置信号150aとして画像メモリアクセス回
路1502へ出力する。第2の画素位置は画素ブロック設定
処理により指示された通り、フレームメモリ109内の画
素位置またはブロック画像メモリ内の画素位置を示す。
内の画素位置(第2の画素位置)を求め、この画素位置
を第2の画素位置信号150aとして画像メモリアクセス回
路1502へ出力する。第2の画素位置は画素ブロック設定
処理により指示された通り、フレームメモリ109内の画
素位置またはブロック画像メモリ内の画素位置を示す。
【0390】STEP 404では、STEP 403で出力した第2の
画素位置に第2の画像データが書き込まれた後、生成画
像ブロック内の全画素の処理が終了したかどうかを判断
し、終了していなければSTEP 401、STEP 402、STEP 170
1へ処理を進める。
画素位置に第2の画像データが書き込まれた後、生成画
像ブロック内の全画素の処理が終了したかどうかを判断
し、終了していなければSTEP 401、STEP 402、STEP 170
1へ処理を進める。
【0391】画像メモリアクセス回路1502は次の手順で
動作する。
動作する。
【0392】まず、第1の画像メモリアクセス部は次の
通り動作する。
通り動作する。
【0393】STEP 411では、第1の画素位置信号20bを
入力し、フレームメモリ109の当該画素位置の画像デー
タを読み出し、この画像データを第1の画像データ信号
20eとして出力する。
入力し、フレームメモリ109の当該画素位置の画像デー
タを読み出し、この画像データを第1の画像データ信号
20eとして出力する。
【0394】STEP 1711では、第2の画素位置信号150a
を入力し、この画素位置がフレームメモリ109内を示す
か判断する。第2の画素位置がフレームメモリ109内を
示す場合は、STEP 412へ手順を進め、そうでなければST
EP 411へ処理を進める。
を入力し、この画素位置がフレームメモリ109内を示す
か判断する。第2の画素位置がフレームメモリ109内を
示す場合は、STEP 412へ手順を進め、そうでなければST
EP 411へ処理を進める。
【0395】STEP 412では、第2の画素位置信号150aと
第2の画像データ信号150bを入力し、フレームメモリ10
9内の当該画素位置に画像データを書き込む。
第2の画像データ信号150bを入力し、フレームメモリ10
9内の当該画素位置に画像データを書き込む。
【0396】第2の画像メモリアクセス部は次の通り動
作する。
作する。
【0397】STEP 413では、第3の画素位置信号20dを
入力し、ブロック画像メモリ205の当該画素位置の画像
データを読み出し、この画像データを第3の画像データ
信号20gとして出力する。
入力し、ブロック画像メモリ205の当該画素位置の画像
データを読み出し、この画像データを第3の画像データ
信号20gとして出力する。
【0398】STEP 1712では、第2の画素位置信号150a
を入力し、この画素位置がブロック画像メモリ205内を
示すか判断する。第2の画素位置がブロック画像メモリ
205内を示す場合は、STEP 1713へ手順を進め、そうでな
ければSTEP 413へ処理を進める。
を入力し、この画素位置がブロック画像メモリ205内を
示すか判断する。第2の画素位置がブロック画像メモリ
205内を示す場合は、STEP 1713へ手順を進め、そうでな
ければSTEP 413へ処理を進める。
【0399】STEP 1713では、第2の画素位置信号150a
と第2の画像データ信号150bを入力し、ブロック画像メ
モリ205内の当該画素位置に画像データを書き込む。
と第2の画像データ信号150bを入力し、ブロック画像メ
モリ205内の当該画素位置に画像データを書き込む。
【0400】画素演算回路203は次の手順で動作する。
【0401】STEP 421では、CPU101から制御回路201
を介して指示された動き補償処理の種類に応じ、(表
1)のとおり乗数生成部207より第1の乗数と第2の乗
数を出力する。
を介して指示された動き補償処理の種類に応じ、(表
1)のとおり乗数生成部207より第1の乗数と第2の乗
数を出力する。
【0402】STEP 422では、第1の画像データ信号20e
として入力された画像データと第1の乗数を第1の乗算
部209で乗算を行なう。
として入力された画像データと第1の乗数を第1の乗算
部209で乗算を行なう。
【0403】STEP 423では、第3の画像データ信号20g
として入力された画像データと第2の乗数を第2の乗算
部208で乗算を行なう。
として入力された画像データと第2の乗数を第2の乗算
部208で乗算を行なう。
【0404】STEP 424では、加算部210において第1の
乗算部209と第2の乗算部208の結果を加算し、加算結果
を第2の画像データ信号150bとして出力する。
乗算部209と第2の乗算部208の結果を加算し、加算結果
を第2の画像データ信号150bとして出力する。
【0405】CPU101から画像生成装置104に対し画像
ブロック設定処理指示された場合、CPU101による指
示が画像生成装置104の制御回路201により解析され、画
素位置指定回路1501と画素移動回路206の動作が制御さ
れる。
ブロック設定処理指示された場合、CPU101による指
示が画像生成装置104の制御回路201により解析され、画
素位置指定回路1501と画素移動回路206の動作が制御さ
れる。
【0406】画素位置指定回路1501には、次の動き補償
処理やテクスチャマッピング処理(手順は後述)のため
に画素位置を生成しなければならない差分画像ブロッ
ク、基準画像ブロックおよび生成画像ブロックの位置、
または、テクスチャ画像および生成ポリゴンの位置が設
定される。画素位置指定回路1501では、ブロック動き補
償処理やテクスチャマッピング処理の際にはこの設定さ
れた画像ブロック位置に従い画素位置を生成する。本実
施形態では、生成画像ブロックの位置としてフレームメ
モリ109内だけでなく、ブロック画像メモリ205内が指示
される場合もあり、これに応じて第2の画素位置として
フレームメモリ109内の画素位置を生成するか、ブロッ
ク画像メモリ205内の画素位置を生成するかが制御され
る。
処理やテクスチャマッピング処理(手順は後述)のため
に画素位置を生成しなければならない差分画像ブロッ
ク、基準画像ブロックおよび生成画像ブロックの位置、
または、テクスチャ画像および生成ポリゴンの位置が設
定される。画素位置指定回路1501では、ブロック動き補
償処理やテクスチャマッピング処理の際にはこの設定さ
れた画像ブロック位置に従い画素位置を生成する。本実
施形態では、生成画像ブロックの位置としてフレームメ
モリ109内だけでなく、ブロック画像メモリ205内が指示
される場合もあり、これに応じて第2の画素位置として
フレームメモリ109内の画素位置を生成するか、ブロッ
ク画像メモリ205内の画素位置を生成するかが制御され
る。
【0407】画像移動回路206では、図6に示す動作が
行なわれ画像ブロックがフレームメモリ109からブロッ
ク画像メモリ205へ移動させられる。動作の詳細は実施
形態1で説明した通りであり、ここでは省略する。
行なわれ画像ブロックがフレームメモリ109からブロッ
ク画像メモリ205へ移動させられる。動作の詳細は実施
形態1で説明した通りであり、ここでは省略する。
【0408】以上の手順により、本実施形態による画像
生成装置104は動き補償処理を実現する。
生成装置104は動き補償処理を実現する。
【0409】上述の動き補償処理の動作手順に従い、順
方向動き補償処理時の動作を図7を用いて具体的に説明
する。ここでは、簡単化のために画像のサイズを8×8
画素、動き補償のための画像ブロックのサイズを4×4
画素とする。
方向動き補償処理時の動作を図7を用いて具体的に説明
する。ここでは、簡単化のために画像のサイズを8×8
画素、動き補償のための画像ブロックのサイズを4×4
画素とする。
【0410】動作は次のようになる。
【0411】過去画像601は、フレームメモリ109に格納
されている。また、生成画像605が格納されるべき記憶
領域もフレームメモリ109内に確保されている。CPU1
01は差分画像をフレームメモリ109に書き込む(STEP 30
1)。
されている。また、生成画像605が格納されるべき記憶
領域もフレームメモリ109内に確保されている。CPU1
01は差分画像をフレームメモリ109に書き込む(STEP 30
1)。
【0412】順方向動き補償処理を行なうので処理をST
EP 1611へ進める(STEP 311→STEP 321)。
EP 1611へ進める(STEP 311→STEP 321)。
【0413】CPU101は画像ブロック設定処理を画像
生成装置104に指示し、過去画像601内の画像ブロック
(0,1)-(3,4)を過去画像ブロック602として指定し、生成
画像ブロックとしてブロック画像メモリ内を指定し、差
分画像ブロック603のフレームメモリ109内の位置を指定
する(STEP 322)。
生成装置104に指示し、過去画像601内の画像ブロック
(0,1)-(3,4)を過去画像ブロック602として指定し、生成
画像ブロックとしてブロック画像メモリ内を指定し、差
分画像ブロック603のフレームメモリ109内の位置を指定
する(STEP 322)。
【0414】指定された画像ブロックに対して図19の
処理がなされる。
処理がなされる。
【0415】STEP 351で、CPU101は画像ブロック設
定処理として差分画像ブロック603のブロック画像メモ
リへの移動を指示する。制御回路201はこの指示を受
け、画像移動回路206を制御しフレームメモリ109内の差
分画像ブロック603をブロック画像メモリ205に移動させ
る(図6)。
定処理として差分画像ブロック603のブロック画像メモ
リへの移動を指示する。制御回路201はこの指示を受
け、画像移動回路206を制御しフレームメモリ109内の差
分画像ブロック603をブロック画像メモリ205に移動させ
る(図6)。
【0416】過去画像ブロック602(0,1)-(3,4)の過去画
像601内における位置指定が、画素存在位置から半画素
のずれがないため半画素精度の動き補償は行なわない(S
TEP361)。
像601内における位置指定が、画素存在位置から半画素
のずれがないため半画素精度の動き補償は行なわない(S
TEP361)。
【0417】CPU101は、画像ブロック設定処理を画
像生成装置104に指示する(STEP 1651)。この指示によ
り、画像生成装置104は生成画像ブロック604の位置を生
成画像605内に指定する。
像生成装置104に指示する(STEP 1651)。この指示によ
り、画像生成装置104は生成画像ブロック604の位置を生
成画像605内に指定する。
【0418】CPU101は、ブロック動き補償処理を画
像生成装置104に指示する(STEP 1652)。画像生成装置10
4はこの指示を受け、図20に従い処理を行なう。
像生成装置104に指示する(STEP 1652)。画像生成装置10
4はこの指示を受け、図20に従い処理を行なう。
【0419】画素位置指定回路1501では、過去画像ブロ
ック602内の画素位置(第1の画素位置)(0,0)を計算
し、この画素位置を第1の画素位置信号20bとして出力
する。一方、差分画像ブロック603内の画素位置(第3
の画素位置)(0,0)を計算し、この画素位置を第3の画
素位置信号20dとして出力し、生成画像ブロック604内の
画素位置(第2の画素位置)(0,0)を計算し、この画素
位置を第2の画素位置信号150aとして出力する(STEP 40
1,STEP 402,STEP 1701)。
ック602内の画素位置(第1の画素位置)(0,0)を計算
し、この画素位置を第1の画素位置信号20bとして出力
する。一方、差分画像ブロック603内の画素位置(第3
の画素位置)(0,0)を計算し、この画素位置を第3の画
素位置信号20dとして出力し、生成画像ブロック604内の
画素位置(第2の画素位置)(0,0)を計算し、この画素
位置を第2の画素位置信号150aとして出力する(STEP 40
1,STEP 402,STEP 1701)。
【0420】画像メモリアクセス回路1502内の第1の画
像メモリアクセス部1504では、第1の画素位置信号20b
を入力し、フレームメモリ109内の過去画像ブロック602
から画素位置(0,0)の画素データを読み出し、この画素
データを第1の画素データ信号20eとして出力する(STEP
411)。第2の画像メモリアクセス部1503では、第3の
画素位置信号20dを入力し、ブロック画像メモリ205内の
差分画像ブロック603から画素位置(0,0)の画素
データを読み出し、この画素データを第3の画素データ
信号20gとして出力する(STEP 413)。
像メモリアクセス部1504では、第1の画素位置信号20b
を入力し、フレームメモリ109内の過去画像ブロック602
から画素位置(0,0)の画素データを読み出し、この画素
データを第1の画素データ信号20eとして出力する(STEP
411)。第2の画像メモリアクセス部1503では、第3の
画素位置信号20dを入力し、ブロック画像メモリ205内の
差分画像ブロック603から画素位置(0,0)の画素
データを読み出し、この画素データを第3の画素データ
信号20gとして出力する(STEP 413)。
【0421】画素演算回路203内の乗数生成部207では、
(表1)に従い、第1の乗数として1.0を生成し、第2
の乗数として1.0を生成する(STEP 421)。第1の乗算部2
09では、第1の画素データ信号20eにより入力された画
素データと第1の乗数を乗算し結果を加算部210に出力
する(STEP 422)。第2の乗算部208では、第3の画素デ
ータ信号20gにより入力された画素データと第2の乗数
を乗算し結果を加算部210に出力する(STEP 423)。加算
部210では、第1の乗算部209と第2の乗算部208の乗算
結果を加算し第2の画素データ信号150bとして出力する
(STEP 424)。
(表1)に従い、第1の乗数として1.0を生成し、第2
の乗数として1.0を生成する(STEP 421)。第1の乗算部2
09では、第1の画素データ信号20eにより入力された画
素データと第1の乗数を乗算し結果を加算部210に出力
する(STEP 422)。第2の乗算部208では、第3の画素デ
ータ信号20gにより入力された画素データと第2の乗数
を乗算し結果を加算部210に出力する(STEP 423)。加算
部210では、第1の乗算部209と第2の乗算部208の乗算
結果を加算し第2の画素データ信号150bとして出力する
(STEP 424)。
【0422】次に第1の画像メモリアクセス部1504で
は、第2の画素位置信号150aと第2の画素データ信号15
0bを入力し、第2の画素位置がフレームメモリ内を示す
ことを判断し(STEP 1711)、第2の画素データを生成画
像ブロック604内の画素位置(0,0)に書き込む(STEP 41
2)。一方、第2の画像メモリアクセス部1503では、第2
の画素位置がブロック画像メモリ内を指さないことを判
断する(STEP 1711)。
は、第2の画素位置信号150aと第2の画素データ信号15
0bを入力し、第2の画素位置がフレームメモリ内を示す
ことを判断し(STEP 1711)、第2の画素データを生成画
像ブロック604内の画素位置(0,0)に書き込む(STEP 41
2)。一方、第2の画像メモリアクセス部1503では、第2
の画素位置がブロック画像メモリ内を指さないことを判
断する(STEP 1711)。
【0423】生成画像ブロック604内の全画素が生成さ
れるまで、生成画像ブロック604内の各画素について図
20の処理を繰り返す(STEP 404)。
れるまで、生成画像ブロック604内の各画素について図
20の処理を繰り返す(STEP 404)。
【0424】このように処理を行なうことで、過去画像
ブロック602と動き補償差分画像603から生成画像ブロッ
ク604が生成される。
ブロック602と動き補償差分画像603から生成画像ブロッ
ク604が生成される。
【0425】逆方向動き補償処理の動作は、上述した順
方向の動き補償と比較して、基準画像として過去画像の
代わりに未来画像を使う点のみ異なる。
方向の動き補償と比較して、基準画像として過去画像の
代わりに未来画像を使う点のみ異なる。
【0426】次に双方向動き補償処理時の動作について
説明する。ここでは、実施形態1における双方向動き補
償処理と異なる点に絞り説明する。
説明する。ここでは、実施形態1における双方向動き補
償処理と異なる点に絞り説明する。
【0427】双方向動き補償処理のためには、順方向動
き補償処理のあと逆方向動き補償処理が行なわれる。ST
EP 1631の画像ブロック設定処理において、生成画像ブ
ロックの生成場所としてブロック画像メモリ205内が指
定され、STEP 1632の順方向動き補償処理では、生成画
像ブロックはブロック画像メモリ205内に生成される。
すなわち、順方向動き補償処理を行なった結果の画像ブ
ロックはブロック画像メモリ205に格納される。この画
像データは順方向動き補償処理の後に行なわれる逆方向
動き補償処理における差分画像ブロックの画像データで
あり、順方向動き補償処理が終了した時点ですでにブロ
ック画像メモリ205に格納されており、実施形態1で必
要であった、逆方向動き補償処理のための生成画像ブロ
ックのブロック画像メモリへの移動処理が不要となる。
逆方向動き補償処理においては、生成画像ブロックの位
置はフレームメモリ109内に指示されるため、双方向動
き補償処理の結果はフレームメモリ109内の生成画像内
に生成される。
き補償処理のあと逆方向動き補償処理が行なわれる。ST
EP 1631の画像ブロック設定処理において、生成画像ブ
ロックの生成場所としてブロック画像メモリ205内が指
定され、STEP 1632の順方向動き補償処理では、生成画
像ブロックはブロック画像メモリ205内に生成される。
すなわち、順方向動き補償処理を行なった結果の画像ブ
ロックはブロック画像メモリ205に格納される。この画
像データは順方向動き補償処理の後に行なわれる逆方向
動き補償処理における差分画像ブロックの画像データで
あり、順方向動き補償処理が終了した時点ですでにブロ
ック画像メモリ205に格納されており、実施形態1で必
要であった、逆方向動き補償処理のための生成画像ブロ
ックのブロック画像メモリへの移動処理が不要となる。
逆方向動き補償処理においては、生成画像ブロックの位
置はフレームメモリ109内に指示されるため、双方向動
き補償処理の結果はフレームメモリ109内の生成画像内
に生成される。
【0428】次に、半画素精度動き補償処理時の動作を
図9を用いて説明する。ここでは、実施形態1と同様、
縦横両方向に半画素精度の位置指定がされたとして説明
する。
図9を用いて説明する。ここでは、実施形態1と同様、
縦横両方向に半画素精度の位置指定がされたとして説明
する。
【0429】本実施形態によると、以下の手順により4
つの画像ブロック803、804、805および806の内挿補間と
動き補償処理を同時に行なう。
つの画像ブロック803、804、805および806の内挿補間と
動き補償処理を同時に行なう。
【0430】画像ブロック設定処理により、生成画像ブ
ロックがブロック画像メモリ205に書き込まれるように
指示される。
ロックがブロック画像メモリ205に書き込まれるように
指示される。
【0431】STEP 391では、基準画像ブロック803の画
像データが(表1)に従い0.25倍され、これとブロ
ック画像メモリ205から読み出した差分画像ブロックが
加算され、ブロック画像メモリ205に書き込まれる。
像データが(表1)に従い0.25倍され、これとブロ
ック画像メモリ205から読み出した差分画像ブロックが
加算され、ブロック画像メモリ205に書き込まれる。
【0432】STEP 393では、基準画像ブロック804の画
像データが(表1)に従い0.25倍され、これとブロ
ック画像メモリ205から読み出した画像ブロックが加算
され、ブロック画像メモリ205に書き込まれる。
像データが(表1)に従い0.25倍され、これとブロ
ック画像メモリ205から読み出した画像ブロックが加算
され、ブロック画像メモリ205に書き込まれる。
【0433】STEP 395では、基準画像ブロック805の画
像データが(表1)に従い0.25倍され、これとブロ
ック画像メモリ205から読み出した画像ブロックが加算
され、ブロック画像メモリ205に書き込まれる。
像データが(表1)に従い0.25倍され、これとブロ
ック画像メモリ205から読み出した画像ブロックが加算
され、ブロック画像メモリ205に書き込まれる。
【0434】ここで、生成画像ブロックの位置がフレー
ムメモリ109の生成画像内に変更される(STEP 1681)。
ムメモリ109の生成画像内に変更される(STEP 1681)。
【0435】STEP 397では、基準画像ブロック804の画
像データが(表1)に従い0.25倍され、これとブロ
ック画像メモリ205から読み出した画像ブロックが加算
され、フレームメモリ109内の生成画像ブロック205に書
き込まれる。
像データが(表1)に従い0.25倍され、これとブロ
ック画像メモリ205から読み出した画像ブロックが加算
され、フレームメモリ109内の生成画像ブロック205に書
き込まれる。
【0436】以上、片方向動き補償処理について説明し
たが、双方向動き補償処理の場合は片方向動き補償処理
と同様のブロック動き補償処理が8回繰り返される。双
方向動き補償処理の場合、基準画像データに乗算される
第1の乗数が0.125になるとともに、最初の7回の
ブロック動き補償処理の生成画像ブロックはブロック画
像メモリ205に書き込まれ、最後のブロック動き補償処
理においてフレームメモリ109の生成画像内の生成画像
ブロックに結果が書き込まれる。
たが、双方向動き補償処理の場合は片方向動き補償処理
と同様のブロック動き補償処理が8回繰り返される。双
方向動き補償処理の場合、基準画像データに乗算される
第1の乗数が0.125になるとともに、最初の7回の
ブロック動き補償処理の生成画像ブロックはブロック画
像メモリ205に書き込まれ、最後のブロック動き補償処
理においてフレームメモリ109の生成画像内の生成画像
ブロックに結果が書き込まれる。
【0437】このように本実施形態では、基準画像ブロ
ックを得るための内挿補間処理と動き補償処理を同時に
行なうことが可能である。
ックを得るための内挿補間処理と動き補償処理を同時に
行なうことが可能である。
【0438】以上のように、本実施形態によると半画素
精度の動き補償処理を実現することができる。
精度の動き補償処理を実現することができる。
【0439】本実施形態におけるテクスチャマッピング
処理は、実施形態1と同一の処理手順で実現可能であ
る。実施形態1における画像生成装置の構成要素と実施
形態2における構成要素の、画素位置指定回路202を画
素位置指定回路1501に、画像メモリアクセス回路204を
画像メモリアクセス回路1502に、第1の画像メモリアク
セス部212を第1の画像メモリアクセス部1504に、第1
の画像メモリアクセス部211を第1の画像メモリアクセ
ス部1503に対応付ければ、実施形態2のテクスチャマッ
ピング処理の動作は実施形態1の場合と同一になる。こ
のため、ここではテクスチャマッピング処理の動作の説
明を省略する。
処理は、実施形態1と同一の処理手順で実現可能であ
る。実施形態1における画像生成装置の構成要素と実施
形態2における構成要素の、画素位置指定回路202を画
素位置指定回路1501に、画像メモリアクセス回路204を
画像メモリアクセス回路1502に、第1の画像メモリアク
セス部212を第1の画像メモリアクセス部1504に、第1
の画像メモリアクセス部211を第1の画像メモリアクセ
ス部1503に対応付ければ、実施形態2のテクスチャマッ
ピング処理の動作は実施形態1の場合と同一になる。こ
のため、ここではテクスチャマッピング処理の動作の説
明を省略する。
【0440】本実施形態の画像生成装置によれば半透明
なテクスチャ画像のテクスチャマッピングをポリゴンエ
ッジ部分のアンチエイリアシング処理を含めて処理する
ことができる。
なテクスチャ画像のテクスチャマッピングをポリゴンエ
ッジ部分のアンチエイリアシング処理を含めて処理する
ことができる。
【0441】本実施形態における動き補償処理とテクス
チャマッピング処理の同時実行は、上述した本実施形態
の動き補償処理の特徴と同じく、以下に説明する点を除
き実施形態1の動き補償処理とテクスチャマッピング同
時実行の動作手順と同じである。
チャマッピング処理の同時実行は、上述した本実施形態
の動き補償処理の特徴と同じく、以下に説明する点を除
き実施形態1の動き補償処理とテクスチャマッピング同
時実行の動作手順と同じである。
【0442】実施形態1の動作手順との差異は、以下の
2点である。
2点である。
【0443】(i)動き補償処理に必要とされる1回以上
のブロック動き補償処理において、最後に処理されるブ
ロック動き補償処理(またはブロック動き補償とテクス
チャマッピング処理同時実行)では、基準画像ブロック
と差分画像ブロックの画像データの演算結果はフレーム
内の生成ポリゴンを形成する画素位置に書き込まれる。
のブロック動き補償処理において、最後に処理されるブ
ロック動き補償処理(またはブロック動き補償とテクス
チャマッピング処理同時実行)では、基準画像ブロック
と差分画像ブロックの画像データの演算結果はフレーム
内の生成ポリゴンを形成する画素位置に書き込まれる。
【0444】(ii)最後のブロック動き補償処理(または
ブロック動き補償とテクスチャマッピング処理同時実
行)以前のブロック動き補償処理では、基準画像ブロッ
クと差分画像ブロックの画像データの演算結果をブロッ
ク画像メモリ205に書き込む。
ブロック動き補償とテクスチャマッピング処理同時実
行)以前のブロック動き補償処理では、基準画像ブロッ
クと差分画像ブロックの画像データの演算結果をブロッ
ク画像メモリ205に書き込む。
【0445】このように動作することで、動き補償処理
とテクスチャマッピング処理の同時実行が可能となり、
複数回のブロック動き補償処理を行なう場合には、フレ
ームメモリ109からブロック画像メモリ205への画像ブロ
ックの移動が不要になり、実施形態1の画像生成装置に
比較して処理が高速化される。
とテクスチャマッピング処理の同時実行が可能となり、
複数回のブロック動き補償処理を行なう場合には、フレ
ームメモリ109からブロック画像メモリ205への画像ブロ
ックの移動が不要になり、実施形態1の画像生成装置に
比較して処理が高速化される。
【0446】以下に画像生成装置104において、動き補
償処理および動き補償処理とテクスチャマッピング処理
の同時実行を行なう際の処理の動作タイミングと処理時
間について説明する。ここでは、MPEG-1規格で圧縮され
た動画を伸長する場合、および圧縮された動画の伸長と
テクスチャマッピングを同時に行なう場合について、画
像生成装置104の動作を考える。
償処理および動き補償処理とテクスチャマッピング処理
の同時実行を行なう際の処理の動作タイミングと処理時
間について説明する。ここでは、MPEG-1規格で圧縮され
た動画を伸長する場合、および圧縮された動画の伸長と
テクスチャマッピングを同時に行なう場合について、画
像生成装置104の動作を考える。
【0447】MPEG-1規格の画像(フレーム)は320×
240画素から構成される。動き予測のブロックは16
×16画素より構成されている。この結果、1フレーム
は20×15=300画像ブロックより構成される。ま
た、1秒間に30フレームの画像を含んでいる。ここ
で、テクスチャマッピング処理で生成されるポリゴンの
画素数は256画素であるとし、さらに動き補償処理の
前には基準画像と差分画像はフレームメモリ109に書き
込まれているものと仮定する。
240画素から構成される。動き予測のブロックは16
×16画素より構成されている。この結果、1フレーム
は20×15=300画像ブロックより構成される。ま
た、1秒間に30フレームの画像を含んでいる。ここ
で、テクスチャマッピング処理で生成されるポリゴンの
画素数は256画素であるとし、さらに動き補償処理の
前には基準画像と差分画像はフレームメモリ109に書き
込まれているものと仮定する。
【0448】また、本実施形態による画像生成装置の各
ブロックの性能を以下のように仮定する。
ブロックの性能を以下のように仮定する。
【0449】第1の画像メモリアクセス部1504は、フレ
ームメモリ109へ2画素を同時に並列で読み書きできる
ように構成されており、さらに、読み出しまたは書き込
みのサイクルを1クロックで実行できるように構成され
ているとする。
ームメモリ109へ2画素を同時に並列で読み書きできる
ように構成されており、さらに、読み出しまたは書き込
みのサイクルを1クロックで実行できるように構成され
ているとする。
【0450】ブロック画像メモリ205はデュアルポート
メモリで構成されており、第2の画像メモリアクセス部
1503は、ブロック画像メモリ205へからのデータの読み
出しとブロック画像メモリ205へのデータの書き込みを
同時に処理できるとする。第1の乗算部209、第2の乗
算部208および加算部210は、1クロックで演算を行なえ
るものとする。画像生成装置104の各回路はパイプライ
ン動作が可能となるように構成されている。すなわち、
メモリアクセス、乗算、加算、および画素位置生成は並
列に処理される。画像生成装置104は、50MHzのク
ロックで動作するLSIにより構成されている。なお、
これらの性能は現在の技術で十分実現可能な性能であ
る。
メモリで構成されており、第2の画像メモリアクセス部
1503は、ブロック画像メモリ205へからのデータの読み
出しとブロック画像メモリ205へのデータの書き込みを
同時に処理できるとする。第1の乗算部209、第2の乗
算部208および加算部210は、1クロックで演算を行なえ
るものとする。画像生成装置104の各回路はパイプライ
ン動作が可能となるように構成されている。すなわち、
メモリアクセス、乗算、加算、および画素位置生成は並
列に処理される。画像生成装置104は、50MHzのク
ロックで動作するLSIにより構成されている。なお、
これらの性能は現在の技術で十分実現可能な性能であ
る。
【0451】上記仮定に基づいて以下の2種類の画像の
処理を説明する。
処理を説明する。
【0452】(i)MPEG-1のPピクチャの伸長処理を行う
場合および伸長しながらテクスチャマッピング処理を行
う。Pピクチャを構成する画像ブロックは全て順方向動
き予測を使い圧縮されており、さらに全ての画像ブロッ
クの動き補償は上下左右両方向に半画素精度である場合
を考える。これは、処理量が最大になる場合について考
えることになる。
場合および伸長しながらテクスチャマッピング処理を行
う。Pピクチャを構成する画像ブロックは全て順方向動
き予測を使い圧縮されており、さらに全ての画像ブロッ
クの動き補償は上下左右両方向に半画素精度である場合
を考える。これは、処理量が最大になる場合について考
えることになる。
【0453】(ii)MPEG-1のBピクチャを伸長処理を行う
場合および伸長しながらテクスチャマッピング処理を行
う。Bピクチャを構成する画像ブロックは全て双方向動
き予測を使い圧縮されており、さらに全ての画像ブロッ
クの動き補償は上下左右両方向に半画素精度である場合
を考える。これは、処理量が最大になる場合について考
えることになる。
場合および伸長しながらテクスチャマッピング処理を行
う。Bピクチャを構成する画像ブロックは全て双方向動
き予測を使い圧縮されており、さらに全ての画像ブロッ
クの動き補償は上下左右両方向に半画素精度である場合
を考える。これは、処理量が最大になる場合について考
えることになる。
【0454】(i)の画像の動き補償処理の処理手順は、
以下のとおりとなる。
以下のとおりとなる。
【0455】 1:差分画像ブロックをフレームメモリ109からブロッ
ク画像メモリ205に移動させる 2:差分画像ブロック内(ブロック画像メモリ205)か
ら画素データを1画素読み出す 3:基準画像ブロック内(フレームメモリ109)から画
素データを1画素読み出す 4:差分画像データに乗数を乗算する 5:基準画像データに乗数を乗算する 6:乗算結果を加算する 7:演算結果の画素データをブロック画像メモリ205に
書き込む 8:処理2〜7をブロック内の各画素について繰り返す
(計256回(=16x16)) 9:基準画像ブロック位置を順に右、下に1画素ずらし
て、処理2〜8を2回繰り返す 10:基準画像ブロック位置を右下にずらす 11:差分画像ブロック内から画素データを1画素読み出
す 12:基準画像ブロック内から画素データを1画素読み出
す 13:差分画像データに乗数を乗算する 14:基準画像データに乗数を乗算する 15:乗算結果を加算する 16:演算結果の画素データをフレームメモリ109に書き
込む 17:処理11〜16をブロック内の各画素について繰り返す 18:画像を構成する各ブロックについて、処理1〜17を
繰り返す(300回) 処理1〜17の動作タイミングを図28のタイミングチャ
ートに示す。
ク画像メモリ205に移動させる 2:差分画像ブロック内(ブロック画像メモリ205)か
ら画素データを1画素読み出す 3:基準画像ブロック内(フレームメモリ109)から画
素データを1画素読み出す 4:差分画像データに乗数を乗算する 5:基準画像データに乗数を乗算する 6:乗算結果を加算する 7:演算結果の画素データをブロック画像メモリ205に
書き込む 8:処理2〜7をブロック内の各画素について繰り返す
(計256回(=16x16)) 9:基準画像ブロック位置を順に右、下に1画素ずらし
て、処理2〜8を2回繰り返す 10:基準画像ブロック位置を右下にずらす 11:差分画像ブロック内から画素データを1画素読み出
す 12:基準画像ブロック内から画素データを1画素読み出
す 13:差分画像データに乗数を乗算する 14:基準画像データに乗数を乗算する 15:乗算結果を加算する 16:演算結果の画素データをフレームメモリ109に書き
込む 17:処理11〜16をブロック内の各画素について繰り返す 18:画像を構成する各ブロックについて、処理1〜17を
繰り返す(300回) 処理1〜17の動作タイミングを図28のタイミングチャ
ートに示す。
【0456】図28より、各ステップの動作時間は、次
のとおりとなる。
のとおりとなる。
【0457】 1 … 16クロック 2〜8 … 259クロック 2〜9 … 777クロック(=259×3) 11〜17 … 259クロック 18 … 315600クロック(=(16+259×4)×
300) 50MHzで動作するLSIの1クロックサイクルは、
20nsであり、これより処理時間は、6.312ms
となる。
300) 50MHzで動作するLSIの1クロックサイクルは、
20nsであり、これより処理時間は、6.312ms
となる。
【0458】MPEG-1画像の伸長のためには、30フレー
ム/秒の処理速度があれば十分である。
ム/秒の処理速度があれば十分である。
【0459】すなわち1フレームの処理時間が33ms
以下であれば必要な性能を満足していることになる。こ
のことより、本実施形態の画像生成装置104の動き補償
処理は十分な速度で動き補償処理を行なえることがわか
る。
以下であれば必要な性能を満足していることになる。こ
のことより、本実施形態の画像生成装置104の動き補償
処理は十分な速度で動き補償処理を行なえることがわか
る。
【0460】次に、(i)の画像に対して、動き補償処理
とテクスチャマッピング処理を同時実行する場合を説明
する。
とテクスチャマッピング処理を同時実行する場合を説明
する。
【0461】Pピクチャでは、あとにつづくBピクチャ
の動き補償のために生成画像を残す必要があるため、処
理手順は次のとおりとなる。
の動き補償のために生成画像を残す必要があるため、処
理手順は次のとおりとなる。
【0462】 1:動き補償処理の処理1〜17を行なう 2:生成画像ブロックをブロック画像メモリ205に移動
させる 3:テクスチャ画像内(ブロック画像メモリ205)から
画素データを1画素読み出す 4:生成ポリゴン内(フレームメモリ109)から画素デ
ータを1画素読み出す 5:テクスチャ画像データに半透明乗数を乗算する 6:生成ポリゴン画像データに半透明乗数を乗算する 7:乗算結果を加算する 8:演算結果の画素データをフレームメモリ109の生成
ポリゴン内に書き込む 9:処理3〜8をブロック内の各画素について繰り返す
(256回) 10:画像を構成する各ブロックについて、1〜9を繰り
返す(300回) 処理1〜9の動作タイミングを図29のタイミングチャ
ートに示す。
させる 3:テクスチャ画像内(ブロック画像メモリ205)から
画素データを1画素読み出す 4:生成ポリゴン内(フレームメモリ109)から画素デ
ータを1画素読み出す 5:テクスチャ画像データに半透明乗数を乗算する 6:生成ポリゴン画像データに半透明乗数を乗算する 7:乗算結果を加算する 8:演算結果の画素データをフレームメモリ109の生成
ポリゴン内に書き込む 9:処理3〜8をブロック内の各画素について繰り返す
(256回) 10:画像を構成する各ブロックについて、1〜9を繰り
返す(300回) 処理1〜9の動作タイミングを図29のタイミングチャ
ートに示す。
【0463】図29より、各ステップの動作時間は次の
とおりとなることがわかる。
とおりとなることがわかる。
【0464】 1 … 1052クロック(777+259) 2 … 16クロック 3〜9 … 259クロック 1〜10 … 398100クロック=(1052+16+259)
×300 1フレーム当たりの処理時間は7.962msとなり、
上述のMPEG-1の伸長に必要な処理速度を満たしているこ
とが分かる。
×300 1フレーム当たりの処理時間は7.962msとなり、
上述のMPEG-1の伸長に必要な処理速度を満たしているこ
とが分かる。
【0465】次に(ii)の画像の動き補償処理に関して説
明する。
明する。
【0466】処理手順は、次のとおりとなる。
【0467】 1:差分画像ブロックをフレームメモリ109からブロッ
ク画像メモリ205に移動させる 2:差分画像ブロック内(ブロック画像メモリ205)か
ら画素データを1画素読み出す 3:基準画像ブロック内(フレームメモリ109)から画
素データを1画素読み出す 4:差分画像データに乗数を乗算する 5:基準画像データに乗数を乗算する 6:乗算結果を加算する 7:演算結果の画素データをブロック画像メモリ205に
書き込む 8:処理2〜7をブロック内の各画素について繰り返す
(計256回(=16x16)) 9:基準画像ブロック位置を順に右、下、右下に1画素
ずらして、処理2〜8を3回繰り返す 10:未来画像を基準画像と設定する 11:差分画像ブロック内(ブロック画像メモリ205)か
ら画素データを1画素読み出す 12:基準画像ブロック内(フレームメモリ109)から画
素データを1画素読み出す 13:差分画像データに乗数を乗算する 14:基準画像データに乗数を乗算する 15:乗算結果を加算する 16:演算結果の画素データをブロック画像メモリ205に
書き込む 17:処理11〜16をブロック内の各画素について繰り返す
(計256回(=16x16)) 18:基準画像ブロック位置を順に右、下に1画素ずらし
て、処理11〜17を2回繰り返す 19:基準画像ブロック位置を右下にずらす 20:差分画像ブロック内(ブロック画像メモリ205)か
ら画素データを1画素読み出す 21:基準画像ブロック内(フレームメモリ109)から画
素データを1画素読み出す 22:差分画像データに乗数を乗算する 23:基準画像データに乗数を乗算する 24:乗算結果を加算する 25:演算結果の画素データをフレームメモリ109に書き
込む 26:処理20〜25をブロック内の各画素について繰り返す 27:画像を構成する各ブロックについて、処理1〜26を
繰り返す(300回) 処理1〜17の動作タイミングを図30のタイミングチャ
ートに示す。
ク画像メモリ205に移動させる 2:差分画像ブロック内(ブロック画像メモリ205)か
ら画素データを1画素読み出す 3:基準画像ブロック内(フレームメモリ109)から画
素データを1画素読み出す 4:差分画像データに乗数を乗算する 5:基準画像データに乗数を乗算する 6:乗算結果を加算する 7:演算結果の画素データをブロック画像メモリ205に
書き込む 8:処理2〜7をブロック内の各画素について繰り返す
(計256回(=16x16)) 9:基準画像ブロック位置を順に右、下、右下に1画素
ずらして、処理2〜8を3回繰り返す 10:未来画像を基準画像と設定する 11:差分画像ブロック内(ブロック画像メモリ205)か
ら画素データを1画素読み出す 12:基準画像ブロック内(フレームメモリ109)から画
素データを1画素読み出す 13:差分画像データに乗数を乗算する 14:基準画像データに乗数を乗算する 15:乗算結果を加算する 16:演算結果の画素データをブロック画像メモリ205に
書き込む 17:処理11〜16をブロック内の各画素について繰り返す
(計256回(=16x16)) 18:基準画像ブロック位置を順に右、下に1画素ずらし
て、処理11〜17を2回繰り返す 19:基準画像ブロック位置を右下にずらす 20:差分画像ブロック内(ブロック画像メモリ205)か
ら画素データを1画素読み出す 21:基準画像ブロック内(フレームメモリ109)から画
素データを1画素読み出す 22:差分画像データに乗数を乗算する 23:基準画像データに乗数を乗算する 24:乗算結果を加算する 25:演算結果の画素データをフレームメモリ109に書き
込む 26:処理20〜25をブロック内の各画素について繰り返す 27:画像を構成する各ブロックについて、処理1〜26を
繰り返す(300回) 処理1〜17の動作タイミングを図30のタイミングチャ
ートに示す。
【0468】図30より、各ステップの動作時間は、次
のとおりとなる。
のとおりとなる。
【0469】 1 … 16クロック 2〜8 … 259クロック 2〜9 … 1036クロック(=259×4) 11〜17 … 259クロック 11〜18 … 777クロック(=259×3) 20〜26 … 259クロック 27 … 626400クロック(=(16+259×4+25
9×4)×300) 50MHzで動作するLSIの1クロックサイクルは、
20nsであり、これより処理時間は、12.528m
sとなる。
9×4)×300) 50MHzで動作するLSIの1クロックサイクルは、
20nsであり、これより処理時間は、12.528m
sとなる。
【0470】MPEG-1画像の伸長のためには、30フレー
ム/秒の処理速度があれば十分である。
ム/秒の処理速度があれば十分である。
【0471】すなわち1画像の処理時間が33ms以下
であれば十分である。このことより、本発明の画像生成
装置の動き補償処理は十分な速度で動き補償処理を行な
えることがわかる。
であれば十分である。このことより、本発明の画像生成
装置の動き補償処理は十分な速度で動き補償処理を行な
えることがわかる。
【0472】次に(ii)の画像に対して、動き補償処理と
テクスチャマッピング処理の同時実行に関して説明す
る。
テクスチャマッピング処理の同時実行に関して説明す
る。
【0473】Bピクチャでは、あとの動き補償のために
生成画像を残す必要がないため、次の処理手順をとる。
生成画像を残す必要がないため、次の処理手順をとる。
【0474】 1:動き補償処理の処理1〜19を行なう 2:生成ポリゴンを設定する 3:ブロック画像メモリ205から画素データを1画素読
み出す 4:基準画像ブロック内(フレームメモリ109)から画
素データを1画素読み出す 5:差分画像データ(=テクスチャ画像データ)に乗数
を乗算する 6:基準画像データに乗数を乗算する 7:乗算結果を加算する 8:演算結果の画素データをフレームメモリ109の生成
ポリゴン内に書き込む 9:処理3〜8をブロック内の各画素について繰り返す
(256回) 10:画像を構成する各ブロックについて、処理1〜9を繰
り返す。(300回) 処理3〜8における生成画素データの書き込み先がポリゴ
ンになるという点のみが、動き補償処理だけを行なう場
合との相違点であり、処理1〜9の動作タイミングは図3
0のタイミングチャートと同じになる。
み出す 4:基準画像ブロック内(フレームメモリ109)から画
素データを1画素読み出す 5:差分画像データ(=テクスチャ画像データ)に乗数
を乗算する 6:基準画像データに乗数を乗算する 7:乗算結果を加算する 8:演算結果の画素データをフレームメモリ109の生成
ポリゴン内に書き込む 9:処理3〜8をブロック内の各画素について繰り返す
(256回) 10:画像を構成する各ブロックについて、処理1〜9を繰
り返す。(300回) 処理3〜8における生成画素データの書き込み先がポリゴ
ンになるという点のみが、動き補償処理だけを行なう場
合との相違点であり、処理1〜9の動作タイミングは図3
0のタイミングチャートと同じになる。
【0475】各ステップの動作時間は次のとおりであ
る。
る。
【0476】 1 … 1829クロック(=16+259×4+259×3) 3〜9 … 259クロック 1〜10 … 626400クロック(=(1829+259)×300) 50MHzで動作するLSIの1クロックサイクルは、
20nsであり、これより処理時間は、12.528m
sとなり、十分な処理速度であることがわかる。
20nsであり、これより処理時間は、12.528m
sとなり、十分な処理速度であることがわかる。
【0477】以上のように、本発明の画像生成装置を5
0MHzで動作する回路として実現した場合、MPEG-1に
より圧縮された画像の伸長処理において、動き補償処理
をリアルタイムに処理できるだけでなく、伸長された画
像をテクスチャ画像とみなし動き補償処理とテクスチャ
マッピング処理の同時実行もリアルタイムに処理するこ
とが可能となる。
0MHzで動作する回路として実現した場合、MPEG-1に
より圧縮された画像の伸長処理において、動き補償処理
をリアルタイムに処理できるだけでなく、伸長された画
像をテクスチャ画像とみなし動き補償処理とテクスチャ
マッピング処理の同時実行もリアルタイムに処理するこ
とが可能となる。
【0478】動作クロックを50MHzとした場合に
は、圧縮画像の動き補償処理や動き補償結果の画像のテ
クスチャマッピングは、最大13ms程度で実行できる
ため、1フレーム当たりの処理時間である33ms(1
s/30フレーム)と比較すると、20msの余裕があ
り、この時間を用いて、他のテクスチャ画像に対するテ
クスチャマッピング処理やさらに高解像度の画像の動き
補償処理も可能となる。
は、圧縮画像の動き補償処理や動き補償結果の画像のテ
クスチャマッピングは、最大13ms程度で実行できる
ため、1フレーム当たりの処理時間である33ms(1
s/30フレーム)と比較すると、20msの余裕があ
り、この時間を用いて、他のテクスチャ画像に対するテ
クスチャマッピング処理やさらに高解像度の画像の動き
補償処理も可能となる。
【0479】以上説明したように本実施形態によれば、
テクスチャ画像や差分画像、動き補償処理の処理中間画
像などを格納するブロック画像メモリ205と、このブロ
ック画像メモリ205と、基準画像、生成ポリゴンおよび
生成画像が格納されているフレームメモリ109の画素デ
ータにアクセスする画像メモリアクセス回路1502と、ブ
ロック画像メモリ205から読み出された第3の画素デー
タとフレームメモリ109から読み出された第1の画素デ
ータを画素間で演算を行なう画素演算回路203と、動き
補償処理、テクスチャマッピング処理および動き補償処
理とテクスチャマッピング処理の同時実行など処理に応
じて演算対象の画素データの画素位置と演算結果の画素
データを書き込む画素位置を生成し指定する画素位置指
定回路1501と、フレームメモリ109内の画像ブロックを
ブロック画像メモリ205に移動させる画像移動回路206と
を設けることにより、順方向動き補償、双方向動き補
償、半画素精度の動き補償など、動き予測を用いて圧縮
された動画の伸長処理と、半透明テクスチャ画像のテク
スチャマッピングやポリゴンエッジのアンチエイリアシ
ング処理を含むテクスチャマッピング処理、さらには動
き補償処理とテクスチャマッピング処理の同時実行を実
現することができる。
テクスチャ画像や差分画像、動き補償処理の処理中間画
像などを格納するブロック画像メモリ205と、このブロ
ック画像メモリ205と、基準画像、生成ポリゴンおよび
生成画像が格納されているフレームメモリ109の画素デ
ータにアクセスする画像メモリアクセス回路1502と、ブ
ロック画像メモリ205から読み出された第3の画素デー
タとフレームメモリ109から読み出された第1の画素デ
ータを画素間で演算を行なう画素演算回路203と、動き
補償処理、テクスチャマッピング処理および動き補償処
理とテクスチャマッピング処理の同時実行など処理に応
じて演算対象の画素データの画素位置と演算結果の画素
データを書き込む画素位置を生成し指定する画素位置指
定回路1501と、フレームメモリ109内の画像ブロックを
ブロック画像メモリ205に移動させる画像移動回路206と
を設けることにより、順方向動き補償、双方向動き補
償、半画素精度の動き補償など、動き予測を用いて圧縮
された動画の伸長処理と、半透明テクスチャ画像のテク
スチャマッピングやポリゴンエッジのアンチエイリアシ
ング処理を含むテクスチャマッピング処理、さらには動
き補償処理とテクスチャマッピング処理の同時実行を実
現することができる。
【0480】さらに、本実施形態によると、動き補償処
理の中間結果をブロック画像メモリ205に記憶させるた
め、実施形態1の画像生成装置に比較してメモリアクセ
スの回数が大幅に減少するため高速な処理を実現でき
る。また、ブロック画像メモリ205は差分画像ブロック
一つを記憶すればよいため小容量でよく、LSI上に動
き補償処理/テクスチャマッピング処理の回路とともに
集積することが可能となる。このことは、ブロック画像
メモリ205のアクセス速度を高速にし得ることを意味
し、このため実施形態1の場合に比べ画期的に高速な処
理を実現できることを意味する。
理の中間結果をブロック画像メモリ205に記憶させるた
め、実施形態1の画像生成装置に比較してメモリアクセ
スの回数が大幅に減少するため高速な処理を実現でき
る。また、ブロック画像メモリ205は差分画像ブロック
一つを記憶すればよいため小容量でよく、LSI上に動
き補償処理/テクスチャマッピング処理の回路とともに
集積することが可能となる。このことは、ブロック画像
メモリ205のアクセス速度を高速にし得ることを意味
し、このため実施形態1の場合に比べ画期的に高速な処
理を実現できることを意味する。
【0481】なお、本実施形態では説明を簡単にするた
めに動き補償のための画像ブロックのサイズを4×4画
素としたが、これに限られるものでなく、16×16画
素や8×8画素など他のサイズを使用することを排除す
るものでない。また、画像のサイズを8×8画素とした
が、これも任意のサイズを選ぶことが可能である。さら
に本実施形態の動き補償処理の手順で説明した画像ブロ
ックの処理順序はこれに限られるものでなく、互いに処
理順序を入れ換えることも可能である。さらには、本実
施形態によるテクスチャマッピング処理の説明における
半透明テクスチャの半透明度を一種類として説明した
が、テクスチャを構成する各画素毎に異なる半透明度を
与えることも可能である。さらに、本実施形態では逆方
向動き補償処理については説明していないが、逆方向動
き補償処理は順方向動き補償処理と同じ処理手順をとる
ため、本実施形態に説明した画像生成装置の構成で実現
可能である。
めに動き補償のための画像ブロックのサイズを4×4画
素としたが、これに限られるものでなく、16×16画
素や8×8画素など他のサイズを使用することを排除す
るものでない。また、画像のサイズを8×8画素とした
が、これも任意のサイズを選ぶことが可能である。さら
に本実施形態の動き補償処理の手順で説明した画像ブロ
ックの処理順序はこれに限られるものでなく、互いに処
理順序を入れ換えることも可能である。さらには、本実
施形態によるテクスチャマッピング処理の説明における
半透明テクスチャの半透明度を一種類として説明した
が、テクスチャを構成する各画素毎に異なる半透明度を
与えることも可能である。さらに、本実施形態では逆方
向動き補償処理については説明していないが、逆方向動
き補償処理は順方向動き補償処理と同じ処理手順をとる
ため、本実施形態に説明した画像生成装置の構成で実現
可能である。
【0482】(実施形態3)図31は、本発明による画
像生成システム3100の構成を示す。以下、以下に示す順
序に従って、画像生成システム3100の構成および動作を
説明する。
像生成システム3100の構成を示す。以下、以下に示す順
序に従って、画像生成システム3100の構成および動作を
説明する。
【0483】 1.画像生成システム3100の構成 2.画像生成装置3114の構成 3.画像生成装置3114におけるテクスチャマッピング処
理 4.画像生成装置3114における動画伸長処理 5.まとめ 1.画像生成システム3100の構成 画像生成システム3100は、CPU3111と、メインメモリ
3112と、外部記憶装置3113と、画像生成装置3114と、デ
ジタルアナログコンバータ(DAC)3115と、表示装置
3116と、システムバス3117とを含んでいる。
理 4.画像生成装置3114における動画伸長処理 5.まとめ 1.画像生成システム3100の構成 画像生成システム3100は、CPU3111と、メインメモリ
3112と、外部記憶装置3113と、画像生成装置3114と、デ
ジタルアナログコンバータ(DAC)3115と、表示装置
3116と、システムバス3117とを含んでいる。
【0484】CPU3111は、システム全体の制御、画像
生成装置3114の制御、外部記憶装置3113の制御などを司
る。
生成装置3114の制御、外部記憶装置3113の制御などを司
る。
【0485】メインメモリ3112は、CPU3111によって
実行される画像生成装置制御用のプログラムをはじめ、
システム各部の動作を記述したプログラム、外部記憶装
置3113から読み込まれた画像やその他のデータ、プログ
ラムで利用されるデータを記憶する。
実行される画像生成装置制御用のプログラムをはじめ、
システム各部の動作を記述したプログラム、外部記憶装
置3113から読み込まれた画像やその他のデータ、プログ
ラムで利用されるデータを記憶する。
【0486】外部記憶装置3113は、圧縮画像データやテ
クスチャ画像データ、描画プログラムなどを格納する。
クスチャ画像データ、描画プログラムなどを格納する。
【0487】画像生成装置3114については、後述され
る。
る。
【0488】DAC3115は、画像生成装置3114から出力
された画像データを表示装置3116で表示可能な形式にD
A変換する。
された画像データを表示装置3116で表示可能な形式にD
A変換する。
【0489】表示装置3116は、DAC3115から出力され
た画像を表示する。
た画像を表示する。
【0490】システムバス3117は、CPU3111、メイン
メモリ3112、外部記憶装置3113、画像生成装置3114の相
互を接続し、それらの間でデータのやりとりを行うため
に使用される。
メモリ3112、外部記憶装置3113、画像生成装置3114の相
互を接続し、それらの間でデータのやりとりを行うため
に使用される。
【0491】2.画像生成装置3114の構成 図32は、図31に示される画像生成装置3114の構成を
示す。
示す。
【0492】第1の画像メモリ3121は、順方向動き補償
予測のための画像データを記憶するための領域と、逆方
向動き補償予測のための画像データとテクスチャ画像デ
ータとを記憶する領域と、現在生成されている画像デー
タを記憶する領域とを有している。
予測のための画像データを記憶するための領域と、逆方
向動き補償予測のための画像データとテクスチャ画像デ
ータとを記憶する領域と、現在生成されている画像デー
タを記憶する領域とを有している。
【0493】画素位置指定回路3127は、第1の画像アド
レス信号3120aを用いて、第1の画像メモリ3121に記憶
される複数の画素のうちの1つの位置を指定する。画素
位置指定回路3127によって第1の画像メモリ3121に記憶
される画素の位置が指定されると、第1の画像メモリ31
21は、指定された位置に対応するデータを読み出し、そ
のデータを第1の画像データ信号3120dとして第2の画
像メモリ3122に出力する。
レス信号3120aを用いて、第1の画像メモリ3121に記憶
される複数の画素のうちの1つの位置を指定する。画素
位置指定回路3127によって第1の画像メモリ3121に記憶
される画素の位置が指定されると、第1の画像メモリ31
21は、指定された位置に対応するデータを読み出し、そ
のデータを第1の画像データ信号3120dとして第2の画
像メモリ3122に出力する。
【0494】また、画素位置指定回路3127は、第2の画
像アドレス信号3120bを用いて、第1の画像メモリ3121
に記憶される複数の画素のうちの1つの位置を指定す
る。画素位置指定回路3127によって第1の画像メモリ31
21に記憶される画素の位置が指定されると、第1の画像
メモリ3121は、指定された位置に対応するデータを読み
出し、そのデータを第2の画像データ信号3120eとして
第1の乗算部3123に出力し、加算部3125から出力された
生成画像データ信号3120gを指定された位置に書き込
む。
像アドレス信号3120bを用いて、第1の画像メモリ3121
に記憶される複数の画素のうちの1つの位置を指定す
る。画素位置指定回路3127によって第1の画像メモリ31
21に記憶される画素の位置が指定されると、第1の画像
メモリ3121は、指定された位置に対応するデータを読み
出し、そのデータを第2の画像データ信号3120eとして
第1の乗算部3123に出力し、加算部3125から出力された
生成画像データ信号3120gを指定された位置に書き込
む。
【0495】第2の画像メモリ3122は、第1の画像メモ
リ3121から読み出された第1の画像データ信号3120dに
よって書き込まれる画像データを記憶する。画素位置指
定回路3127は、第3の画像アドレス信号3120cを用い
て、第2の画像メモリ3122に記憶される複数の画素のう
ちの1つの位置を指定する。第2の画像メモリ3122は、
指定された位置に対応するデータを読み出し、そのデー
タを第3の画像データ信号3120fとして第2の乗算部312
4に出力する。
リ3121から読み出された第1の画像データ信号3120dに
よって書き込まれる画像データを記憶する。画素位置指
定回路3127は、第3の画像アドレス信号3120cを用い
て、第2の画像メモリ3122に記憶される複数の画素のう
ちの1つの位置を指定する。第2の画像メモリ3122は、
指定された位置に対応するデータを読み出し、そのデー
タを第3の画像データ信号3120fとして第2の乗算部312
4に出力する。
【0496】画像データ入力回路3126は、画像データ入
力信号3120hを用いて、CPU3111によって指定された
テクスチャ画像データや動き補償差分画像データを第1
の画像メモリ3121に書き込む。
力信号3120hを用いて、CPU3111によって指定された
テクスチャ画像データや動き補償差分画像データを第1
の画像メモリ3121に書き込む。
【0497】第1の乗算部3123は、第1の画像メモリ31
21から第2の画像データ信号3120eとして読み出された
画像データに乗数生成部3128によって指示された第1の
乗算係数を乗算し、その乗算結果を加算部3125に出力す
る。
21から第2の画像データ信号3120eとして読み出された
画像データに乗数生成部3128によって指示された第1の
乗算係数を乗算し、その乗算結果を加算部3125に出力す
る。
【0498】第2の乗算部3124は、第2の画像メモリ31
22から第3の画像データ信号3120fとして読み出された
画像データに乗数生成部3128によって指示された第2の
乗算係数を乗算し、その乗算結果を加算部3125に出力す
る。
22から第3の画像データ信号3120fとして読み出された
画像データに乗数生成部3128によって指示された第2の
乗算係数を乗算し、その乗算結果を加算部3125に出力す
る。
【0499】加算部3125は、第1の乗算部3123から出力
された第1の乗算画像データ信号と第2の乗算部3124か
ら出力された第2の乗算画像データ信号とを加算し、そ
の加算結果を生成画像データ信号3120gとして第1の画
像メモリ3121に出力する。
された第1の乗算画像データ信号と第2の乗算部3124か
ら出力された第2の乗算画像データ信号とを加算し、そ
の加算結果を生成画像データ信号3120gとして第1の画
像メモリ3121に出力する。
【0500】画素位置指定回路3127は、第1の画像アド
レス信号3120aと第2の画像アドレス信号3120bと第3の
画像アドレス信号3120cとを第1の画像メモリ3121に出
力する。第1の画像アドレス信号3120aは、テクスチャ
マッピングされるテクスチャ画像の画素位置や動き補償
処理における基準画像ブロックの画素位置に応じて第1
の画像メモリ3121の読み出し画素位置を示すために使用
される。第2の画像アドレス信号3120bは、テクスチャ
マッピングされるポリゴン内部の画素位置や動画伸長処
理における動き補償差分画像データ内部の画素位置に応
じて第1の画像メモリ3121の読み出し/書き込み画素位
置を示すために使用される。第3の画像アドレス信号31
20cは、テクスチャマッピングされるテクスチャ画像内
部の画素位置や動き補償の際の基準画像ブロック内部の
画素位置に応じて第2の画像メモリ3122の読み出し画素
位置を示すために使用される。
レス信号3120aと第2の画像アドレス信号3120bと第3の
画像アドレス信号3120cとを第1の画像メモリ3121に出
力する。第1の画像アドレス信号3120aは、テクスチャ
マッピングされるテクスチャ画像の画素位置や動き補償
処理における基準画像ブロックの画素位置に応じて第1
の画像メモリ3121の読み出し画素位置を示すために使用
される。第2の画像アドレス信号3120bは、テクスチャ
マッピングされるポリゴン内部の画素位置や動画伸長処
理における動き補償差分画像データ内部の画素位置に応
じて第1の画像メモリ3121の読み出し/書き込み画素位
置を示すために使用される。第3の画像アドレス信号31
20cは、テクスチャマッピングされるテクスチャ画像内
部の画素位置や動き補償の際の基準画像ブロック内部の
画素位置に応じて第2の画像メモリ3122の読み出し画素
位置を示すために使用される。
【0501】乗数生成部3128は、テクスチャマッピング
におけるテクスチャ画像の半透明度やアンチエイリアシ
ング処理における半透明度、動き補償処理における処理
手順に応じて、第1の乗数係数を示す第1の乗数信号と
第2の乗数係数を示す第2の乗数信号とを生成する。第
1の乗数信号は、第1の乗算部3123に出力され、第2の
乗数信号は、第2の乗数部3124に出力される。
におけるテクスチャ画像の半透明度やアンチエイリアシ
ング処理における半透明度、動き補償処理における処理
手順に応じて、第1の乗数係数を示す第1の乗数信号と
第2の乗数係数を示す第2の乗数信号とを生成する。第
1の乗数信号は、第1の乗算部3123に出力され、第2の
乗数信号は、第2の乗数部3124に出力される。
【0502】画像データ出力回路3129は、画像表示のた
めに第1の画像メモリ3121に記憶されている画像データ
を順次読み出し、読み出した画像データをDAC3115に
出力する。
めに第1の画像メモリ3121に記憶されている画像データ
を順次読み出し、読み出した画像データをDAC3115に
出力する。
【0503】以下、上述した構成を有する画像生成装置
3114の動作を説明する。
3114の動作を説明する。
【0504】3.画像生成装置3114におけるテクスチャ
マッピング処理 以下、画像生成装置3114におけるテクスチャマッピング
処理を説明する。
マッピング処理 以下、画像生成装置3114におけるテクスチャマッピング
処理を説明する。
【0505】図34は、1つのポリゴンにテクスチャ画
像を貼り付ける際の、テクスチャマッピング処理の手順
を示す。
像を貼り付ける際の、テクスチャマッピング処理の手順
を示す。
【0506】CPU3111からテクスチャマッピング開始
の指令が出されると(STEP 3401)、画像データ入力回路3
126は、テクスチャ画像データを第1の画像メモリ3121
に格納する(STEP 3402)。
の指令が出されると(STEP 3401)、画像データ入力回路3
126は、テクスチャ画像データを第1の画像メモリ3121
に格納する(STEP 3402)。
【0507】画素位置指定回路3127は、ポリゴンの頂点
座標に基づいてテクスチャが貼り付けられるポリゴンを
構成する各画素の位置を算出し、その位置を示す信号を
第2の画像アドレス信号3120bとして出力するための準
備を行う(STEP 3403)。
座標に基づいてテクスチャが貼り付けられるポリゴンを
構成する各画素の位置を算出し、その位置を示す信号を
第2の画像アドレス信号3120bとして出力するための準
備を行う(STEP 3403)。
【0508】また、画素位置指定回路3127は、ポリゴン
に貼り付けるテクスチャ画像の画素位置を求め、その位
置を示す信号を第1の画像アドレス信号3120aとして出
力する(STEP 3404)。
に貼り付けるテクスチャ画像の画素位置を求め、その位
置を示す信号を第1の画像アドレス信号3120aとして出
力する(STEP 3404)。
【0509】乗数生成部3128は、テクスチャ画像が半透
明であるかまたは生成している画素がポリゴンのエッジ
を構成するかに応じて、第1の乗数および第2の乗数を
生成する(STEP 3405)。テクスチャ画像の半透明度がα
(不透明の場合1、透明の場合0)の場合には、値αを
有する第2の乗数が生成され第2の乗算部3124に入力さ
れ、値(1−α)を有する第1の乗数が生成され第1の
乗算部3123に入力される。また、現在処理を行っている
画素がポリゴンのエッジを構成しているならば、そのエ
ッジのアンチエイリアシングのための半透明係数βを算
出し、値αβを有する乗算係数を第2の乗算部3124に出
力し、値(1−αβ)を有する乗算係数を第1の乗算部
3123に出力する。テクスチャ画像が半透明でもなく、ポ
リゴンのエッジのアンチエイリアシング処理も行わない
場合には、第1の乗算部3123には乗数「0」が入力さ
れ、第2の乗算部3124には乗数「1」が入力される。
明であるかまたは生成している画素がポリゴンのエッジ
を構成するかに応じて、第1の乗数および第2の乗数を
生成する(STEP 3405)。テクスチャ画像の半透明度がα
(不透明の場合1、透明の場合0)の場合には、値αを
有する第2の乗数が生成され第2の乗算部3124に入力さ
れ、値(1−α)を有する第1の乗数が生成され第1の
乗算部3123に入力される。また、現在処理を行っている
画素がポリゴンのエッジを構成しているならば、そのエ
ッジのアンチエイリアシングのための半透明係数βを算
出し、値αβを有する乗算係数を第2の乗算部3124に出
力し、値(1−αβ)を有する乗算係数を第1の乗算部
3123に出力する。テクスチャ画像が半透明でもなく、ポ
リゴンのエッジのアンチエイリアシング処理も行わない
場合には、第1の乗算部3123には乗数「0」が入力さ
れ、第2の乗算部3124には乗数「1」が入力される。
【0510】次に、第1の画像アドレス信号3120aによ
って指定された画素位置の画像データ(すなわち、テク
スチャ画像)を第1の画像メモリ3121から読み出し、第
2の画像メモリ3122に書き込む(STEP 3406)。
って指定された画素位置の画像データ(すなわち、テク
スチャ画像)を第1の画像メモリ3121から読み出し、第
2の画像メモリ3122に書き込む(STEP 3406)。
【0511】STEP 3403で求めたポリゴン内の各画素位
置を示す第2の画像アドレス信号3120bに従って、対応
する1つの画素の画素データを第1の画像メモリ3121か
ら読み出し、これを第2の画像データ信号3120eとして
第1の乗算部3123に入力する(STEP 3407)。この画像デ
ータは、テクスチャ画像を貼り付ける位置に、テクスチ
ャ画像を貼り付ける前から存在していた画像データであ
る。以降、本明細書では、このような画像データを「背
景画像データ」と呼ぶことにする。
置を示す第2の画像アドレス信号3120bに従って、対応
する1つの画素の画素データを第1の画像メモリ3121か
ら読み出し、これを第2の画像データ信号3120eとして
第1の乗算部3123に入力する(STEP 3407)。この画像デ
ータは、テクスチャ画像を貼り付ける位置に、テクスチ
ャ画像を貼り付ける前から存在していた画像データであ
る。以降、本明細書では、このような画像データを「背
景画像データ」と呼ぶことにする。
【0512】同時に、画素位置指定回路3127は、第2の
画像アドレス信号3120bで示した画素位置に貼り付ける
べきテクスチャ画像の第2の画像メモリ3122内における
アドレスを第3の画像アドレス信号3120cとして出力
し、対応するテクスチャ画像を1画素、第2の画像メモ
リ3122から読み出す(STEP 3408)。第2の画像メモリ312
2から読み出された画像データは、第3の画像データ信
号3120fとして第2の乗算部3124に入力される。
画像アドレス信号3120bで示した画素位置に貼り付ける
べきテクスチャ画像の第2の画像メモリ3122内における
アドレスを第3の画像アドレス信号3120cとして出力
し、対応するテクスチャ画像を1画素、第2の画像メモ
リ3122から読み出す(STEP 3408)。第2の画像メモリ312
2から読み出された画像データは、第3の画像データ信
号3120fとして第2の乗算部3124に入力される。
【0513】第1の乗算部3123は、第1の画像メモリ31
21から読み出された背景画像データに対して乗数生成部
3128によって指定された第1の乗数を乗算する(STEP 34
09)。
21から読み出された背景画像データに対して乗数生成部
3128によって指定された第1の乗数を乗算する(STEP 34
09)。
【0514】第2の乗算部3124は、第2の画像メモリ31
22から読み出された画像データに対して乗数生成部3128
によって指定された第2の乗数を乗算する(STEP 341
0)。
22から読み出された画像データに対して乗数生成部3128
によって指定された第2の乗数を乗算する(STEP 341
0)。
【0515】加算部3125は、第1の乗算部3123から出力
される乗算結果と、第2の乗算部3124から出力される乗
算結果とを加算する(STEP 3411)。
される乗算結果と、第2の乗算部3124から出力される乗
算結果とを加算する(STEP 3411)。
【0516】加算部3125による加算結果は、生成画像デ
ータ信号3120gとして第1の画像メモリ3121の生成画像
画素位置に書き込まれる(STEP 3412)。生成画像画素位
置は、第2の画像アドレス信号3120bで示される画素で
ある。これで、ポリゴン内の一つの画素のマッピング処
理が完了したことになる。
ータ信号3120gとして第1の画像メモリ3121の生成画像
画素位置に書き込まれる(STEP 3412)。生成画像画素位
置は、第2の画像アドレス信号3120bで示される画素で
ある。これで、ポリゴン内の一つの画素のマッピング処
理が完了したことになる。
【0517】STEP 3413では、ポリゴン内の全画素が処
理されたか否かが判定される。全画素が処理されていな
い場合には、STEP 3407〜STEP 3412の処理を繰り返す。
理されたか否かが判定される。全画素が処理されていな
い場合には、STEP 3407〜STEP 3412の処理を繰り返す。
【0518】これで、1つのポリゴンに対するテクスチ
ャマッピング処理が完了したことになる(STEP 341
4)。
ャマッピング処理が完了したことになる(STEP 341
4)。
【0519】以上の動作を生成画像を構成するすべての
ポリゴンに対して行うことにより、画像生成装置3414は
テクスチャマッピング処理を実現する。
ポリゴンに対して行うことにより、画像生成装置3414は
テクスチャマッピング処理を実現する。
【0520】図35(a)は、上述したテクスチャマッ
ピング処理における具体的な画像データの流れを示す。
図35(a)において、図32と同一の構成要素には同
一の参照番号を付している。
ピング処理における具体的な画像データの流れを示す。
図35(a)において、図32と同一の構成要素には同
一の参照番号を付している。
【0521】すなわち、参照番号3121は第1の画像メモ
リを示し、参照番号3122は第2の画像メモリを示し、参
照番号3123は第1の乗算部を示し、参照番号3124は第2
の乗算部を示し、参照番号3125は加算部を示す。
リを示し、参照番号3122は第2の画像メモリを示し、参
照番号3123は第1の乗算部を示し、参照番号3124は第2
の乗算部を示し、参照番号3125は加算部を示す。
【0522】また、参照番号3151および3153はテクスチ
ャ画像を示す。参照番号3152はテクスチャ画像3151が貼
り付けられる先の生成画像(ポリゴン)を示す。テクス
チャ画像3151は、上述の動作STEP 3402において第1の
画像メモリ3121に読み込まれてきたものとする。
ャ画像を示す。参照番号3152はテクスチャ画像3151が貼
り付けられる先の生成画像(ポリゴン)を示す。テクス
チャ画像3151は、上述の動作STEP 3402において第1の
画像メモリ3121に読み込まれてきたものとする。
【0523】動作STEP 3406では、第1の画像メモリ312
1内にあるテクスチャ画像3151が第2の画像メモリ3122
に転送される。
1内にあるテクスチャ画像3151が第2の画像メモリ3122
に転送される。
【0524】透明度αの半透明ポリゴンを処理する場
合、動作STEP 3407〜STEP 3412においてポリゴン3152内
の背景画像が順に読み出され、第1の乗算部3123によっ
て(1−α)倍されるとともに、この画素位置に貼り付
けられるべき画素が第2の画像メモリ3122内のテクスチ
ャ画像3153から読み出され、第2の乗算部3124によって
α倍されて加算部3125に入力される。加算部3125から出
力される生成画像データがポリゴン3152内の同じ画素位
置に書き込まれる。
合、動作STEP 3407〜STEP 3412においてポリゴン3152内
の背景画像が順に読み出され、第1の乗算部3123によっ
て(1−α)倍されるとともに、この画素位置に貼り付
けられるべき画素が第2の画像メモリ3122内のテクスチ
ャ画像3153から読み出され、第2の乗算部3124によって
α倍されて加算部3125に入力される。加算部3125から出
力される生成画像データがポリゴン3152内の同じ画素位
置に書き込まれる。
【0525】図35(b)は、読み書きされる画素の順
序を示す水平線をポリゴン3152に重ねて書いたものであ
る。水平線(1)〜(8)の順序でポリゴン3152内の画素が読
み出され、その読み出された画素の位置に生成画像デー
タが書き込まれる。また、図35(c)は、図35
(b)に示される順序に対応して、テクスチャ画像3153
内の画素が読み出される順序を示している。直線(1)〜
(8)の順序でテクスチャ画像3153内の画素が読み出され
る。
序を示す水平線をポリゴン3152に重ねて書いたものであ
る。水平線(1)〜(8)の順序でポリゴン3152内の画素が読
み出され、その読み出された画素の位置に生成画像デー
タが書き込まれる。また、図35(c)は、図35
(b)に示される順序に対応して、テクスチャ画像3153
内の画素が読み出される順序を示している。直線(1)〜
(8)の順序でテクスチャ画像3153内の画素が読み出され
る。
【0526】画素位置指定回路3127から出力される第2
の画像アドレス信号3120aと第3の画像アドレス信号312
0bとによって指定される画素位置の順序は、それぞれ、
図35(b)および(c)に示す画素のアクセス順序に
対応する。
の画像アドレス信号3120aと第3の画像アドレス信号312
0bとによって指定される画素位置の順序は、それぞれ、
図35(b)および(c)に示す画素のアクセス順序に
対応する。
【0527】図35(d)は、テクスチャ画像3153が貼
り付けられた後のポリゴン3152の状態を示す。図35
(d)では、説明の簡単のため、背景画像は省略してい
る。
り付けられた後のポリゴン3152の状態を示す。図35
(d)では、説明の簡単のため、背景画像は省略してい
る。
【0528】なお、第2の画像メモリ3122に転送するテ
クスチャ画像の大きさは、上述の説明では、1つのポリ
ゴンに貼り付けるのに必要十分な大きさとしていた。し
かし、第2の画像メモリ3122に転送するテクスチャ画像
の大きさをポリゴンのサイズにかかわらず任意の大きさ
とすることも可能である。
クスチャ画像の大きさは、上述の説明では、1つのポリ
ゴンに貼り付けるのに必要十分な大きさとしていた。し
かし、第2の画像メモリ3122に転送するテクスチャ画像
の大きさをポリゴンのサイズにかかわらず任意の大きさ
とすることも可能である。
【0529】第2の画像メモリ3122の大きさが1つのポ
リゴンに貼り付けるテクスチャ画像のサイズに比べて小
さい場合には、一度に第2の画像メモリ3122に転送でき
るテクスチャ画像のサイズは1つのポリゴンに貼り付け
るのに十分ではない。従って、1つのポリゴンに貼り付
けるテクスチャ画像を複数回に分けて第2の画像メモリ
3122に転送する必要がある。この場合には、第1の画像
メモリ3121から第2の画像メモリ3122への転送動作STEP
3406をSTEP 3407〜STEP 3412の動作の中に組み込み、
転送動作を必要に応じて複数回行うようにすればよい。
リゴンに貼り付けるテクスチャ画像のサイズに比べて小
さい場合には、一度に第2の画像メモリ3122に転送でき
るテクスチャ画像のサイズは1つのポリゴンに貼り付け
るのに十分ではない。従って、1つのポリゴンに貼り付
けるテクスチャ画像を複数回に分けて第2の画像メモリ
3122に転送する必要がある。この場合には、第1の画像
メモリ3121から第2の画像メモリ3122への転送動作STEP
3406をSTEP 3407〜STEP 3412の動作の中に組み込み、
転送動作を必要に応じて複数回行うようにすればよい。
【0530】第2の画像メモリ3122の大きさが1つのポ
リゴンに貼り付けるテクスチャ画像のサイズに比べて大
きい場合には、動作STEP 3406を一度行うことにより、
1つのポリゴンに貼り付けるのに必要な全てのテクスチ
ャ画像を転送することが可能である。これにより、第1
の画像メモリ3121へのアクセス回数が減少するので、処
理速度が向上する。
リゴンに貼り付けるテクスチャ画像のサイズに比べて大
きい場合には、動作STEP 3406を一度行うことにより、
1つのポリゴンに貼り付けるのに必要な全てのテクスチ
ャ画像を転送することが可能である。これにより、第1
の画像メモリ3121へのアクセス回数が減少するので、処
理速度が向上する。
【0531】4.画像生成装置3114における動画伸長処
理 以下、画像生成装置3114における動画伸長処理を説明す
る。フレーム間動き補償予測符号化方式により圧縮され
た動画像の伸長は、画像を構成する画像ブロックごとに
順に行われる。
理 以下、画像生成装置3114における動画伸長処理を説明す
る。フレーム間動き補償予測符号化方式により圧縮され
た動画像の伸長は、画像を構成する画像ブロックごとに
順に行われる。
【0532】図36は、1つの画像ブロックに対する動
画伸長処理の手順を示す。
画伸長処理の手順を示す。
【0533】CPU3111から画像ブロックの伸長指令が
出されると(STEP 3601)、画像データ入力回路3126は、
この画像ブロックの動き補償差分データを第1の画像メ
モリ3121に格納する(STEP 3602)。なお、第1の画像メ
モリ3121には、必要に応じて伸長する画像に対する順方
向予測画像または逆方向予測画像が格納されている。こ
れらの予測画像は、外部記憶装置3113から読み出されC
PU3111によって画像生成装置3114に書き込まれた画像
である場合と、画像生成装置3114で既に生成され終えた
画像の場合とがある。
出されると(STEP 3601)、画像データ入力回路3126は、
この画像ブロックの動き補償差分データを第1の画像メ
モリ3121に格納する(STEP 3602)。なお、第1の画像メ
モリ3121には、必要に応じて伸長する画像に対する順方
向予測画像または逆方向予測画像が格納されている。こ
れらの予測画像は、外部記憶装置3113から読み出されC
PU3111によって画像生成装置3114に書き込まれた画像
である場合と、画像生成装置3114で既に生成され終えた
画像の場合とがある。
【0534】画素位置指定回路3127は、伸長対象の画像
ブロックを構成する各画素の位置(すなわち、動き補償
差分データを書き込んだ画素位置)を算出し、その位置
を示す信号を第2の画像アドレス信号3120bとして第1
の画像メモリ3121に出力するための準備を行う(STEP 36
03)。
ブロックを構成する各画素の位置(すなわち、動き補償
差分データを書き込んだ画素位置)を算出し、その位置
を示す信号を第2の画像アドレス信号3120bとして第1
の画像メモリ3121に出力するための準備を行う(STEP 36
03)。
【0535】次に、画素位置指定回路3127は、最初の予
測画像から動きベクトルの値に応じて予測画像データブ
ロックの画像の画素位置を求め、その位置を示す信号を
第1の画像アドレス信号3120aとして第1の画像メモリ3
121に出力する(STEP 3604)。
測画像から動きベクトルの値に応じて予測画像データブ
ロックの画像の画素位置を求め、その位置を示す信号を
第1の画像アドレス信号3120aとして第1の画像メモリ3
121に出力する(STEP 3604)。
【0536】動き予測に用いた予測画像の種類および動
きベクトルの値に応じて、予測画像データブロックを何
回読み出して生成画像ブロックに足し合わせるかを算出
し、そのようにして算出された回数に基づいて第2の乗
数を生成する(STEP 3605)。第2の乗数の詳細な算出方
法は後述する。なお、第1の乗数は、動画伸長処理の際
は常に「1」に設定しておく。
きベクトルの値に応じて、予測画像データブロックを何
回読み出して生成画像ブロックに足し合わせるかを算出
し、そのようにして算出された回数に基づいて第2の乗
数を生成する(STEP 3605)。第2の乗数の詳細な算出方
法は後述する。なお、第1の乗数は、動画伸長処理の際
は常に「1」に設定しておく。
【0537】次に、第1の画像アドレス信号3120aによ
って指定された画素位置の画像データ(すなわち、予測
画像データブロックの画像データ)を第1の画像メモリ
3121から読み出し、第2の画像メモリ3122に書き込む(S
TEP 3606)。
って指定された画素位置の画像データ(すなわち、予測
画像データブロックの画像データ)を第1の画像メモリ
3121から読み出し、第2の画像メモリ3122に書き込む(S
TEP 3606)。
【0538】STEP 3603で求めた画像ブロックを構成す
る各画素の位置を示す第2の画像アドレス信号3120bに
従って、対応する1つの画素の画素データ(すなわち、
動き補償差分データ)を第1の画像メモリ3121から読み
出し、これを第2の画像データ信号3120eとして第1の
乗算部3123に入力する(STEP 3607)。
る各画素の位置を示す第2の画像アドレス信号3120bに
従って、対応する1つの画素の画素データ(すなわち、
動き補償差分データ)を第1の画像メモリ3121から読み
出し、これを第2の画像データ信号3120eとして第1の
乗算部3123に入力する(STEP 3607)。
【0539】同時に、画素位置指定回路3127は、第2の
画像アドレス信号3120bで示した画素位置の動き補償差
分データに対応した予測画像の第2の画像メモリ3122内
におけるアドレスを第3の画像アドレス信号3120cとし
て出力し、第2の画像メモリ3122から対応する予測画像
の1画素を読み出す(STEP 3608)。第2の画像メモリ312
2から読み出された画像データは、第3の画像データ信
号3120fとして第2の乗算部3124に入力される。
画像アドレス信号3120bで示した画素位置の動き補償差
分データに対応した予測画像の第2の画像メモリ3122内
におけるアドレスを第3の画像アドレス信号3120cとし
て出力し、第2の画像メモリ3122から対応する予測画像
の1画素を読み出す(STEP 3608)。第2の画像メモリ312
2から読み出された画像データは、第3の画像データ信
号3120fとして第2の乗算部3124に入力される。
【0540】第1の乗算部3123は、第1の画像メモリ31
21から読み出された差分データに対して乗数生成部3128
によって指定された第1の乗数を乗算する(STEP 360
9)。STEP 3605で設定したとおり、第1の乗数は常に
「1」である。
21から読み出された差分データに対して乗数生成部3128
によって指定された第1の乗数を乗算する(STEP 360
9)。STEP 3605で設定したとおり、第1の乗数は常に
「1」である。
【0541】第2の乗算部3124は、第2の画像メモリ31
22から読み出された画像データに対して乗数生成部3128
によって指定された第2の乗数を乗算する(STEP 361
0)。
22から読み出された画像データに対して乗数生成部3128
によって指定された第2の乗数を乗算する(STEP 361
0)。
【0542】加算部3125は、第1の乗算部3123から出力
される乗算結果と、第2の乗算部3124から出力される乗
算結果とを加算する(STEP 3611)。
される乗算結果と、第2の乗算部3124から出力される乗
算結果とを加算する(STEP 3611)。
【0543】加算部3125による加算結果は、生成画像デ
ータ信号3120gとして第1の画像メモリ3121の生成画像
画素位置に書き込まれる(STEP 3612)。生成画像画素位
置は、第2の画像アドレス信号3120bで示される画素で
ある。これで、画像ブロック内の一つの画素の1つの予
測画像に対する処理が完了したことになる。
ータ信号3120gとして第1の画像メモリ3121の生成画像
画素位置に書き込まれる(STEP 3612)。生成画像画素位
置は、第2の画像アドレス信号3120bで示される画素で
ある。これで、画像ブロック内の一つの画素の1つの予
測画像に対する処理が完了したことになる。
【0544】STEP 3613では、画像ブロック内の全画素
が処理されたか否かが判定される。全画素が処理されて
いない場合には、STEP 3607〜STEP 3612の処理を繰り返
す。
が処理されたか否かが判定される。全画素が処理されて
いない場合には、STEP 3607〜STEP 3612の処理を繰り返
す。
【0545】STEP 3614では、必要な全ての予測画像に
対する処理がなされたか否かが判定される。処理中の画
像ブロックが、まだ他の予測画像について足し合わせる
必要があれば、STEP 3604〜STEP 3613の処理を繰り返
す。
対する処理がなされたか否かが判定される。処理中の画
像ブロックが、まだ他の予測画像について足し合わせる
必要があれば、STEP 3604〜STEP 3613の処理を繰り返
す。
【0546】これで、1つの画像ブロックに対する伸長
処理が完了したことになる(STEP 3615)。
処理が完了したことになる(STEP 3615)。
【0547】以上の動作を生成画像を構成するすべての
画像ブロックに対して行うことにより、画像生成装置34
14は動画伸長処理を実現する。
画像ブロックに対して行うことにより、画像生成装置34
14は動画伸長処理を実現する。
【0548】図37(a)は、伸長対象の画像ブロック
が順方向と逆方向の2つの予測画像を用いて圧縮されて
いる場合における、動画伸長処理の具体的な画像データ
の流れを示す。図37(a)において、図35(a)と
同一の構成要素には同一の参照番号を付している。
が順方向と逆方向の2つの予測画像を用いて圧縮されて
いる場合における、動画伸長処理の具体的な画像データ
の流れを示す。図37(a)において、図35(a)と
同一の構成要素には同一の参照番号を付している。
【0549】すなわち、参照番号3121は第1の画像メモ
リを示し、参照番号3122は第2の画像メモリを示し、参
照番号3123は第1の乗算部を示し、参照番号3124は第2
の乗算部を示し、参照番号3125は加算部を示す。
リを示し、参照番号3122は第2の画像メモリを示し、参
照番号3123は第1の乗算部を示し、参照番号3124は第2
の乗算部を示し、参照番号3125は加算部を示す。
【0550】また、参照番号3171は順方向予測画像デー
タを示し、参照番号3172は逆方向予測画像データを示
す。参照番号3173は生成画像データが格納される領域を
示す。参照番号3174は順方向予測画像データブロックを
示し、参照番号3175は逆方向予測画像データブロックを
示し、参照番号3176は予測画像データブロックを示し、
参照番号3177は生成画像データブロックを示す。
タを示し、参照番号3172は逆方向予測画像データを示
す。参照番号3173は生成画像データが格納される領域を
示す。参照番号3174は順方向予測画像データブロックを
示し、参照番号3175は逆方向予測画像データブロックを
示し、参照番号3176は予測画像データブロックを示し、
参照番号3177は生成画像データブロックを示す。
【0551】図37(a)は、STEP 3602の処理が終わ
った状態、すなわち、第1の画像メモリ3121に動き補償
差分データブロックがロードされた状態の画像生成装置
3114内の画像データの様子を示す。すなわち、生成画像
データブロック3177の内容は、動き補償差分データであ
る。
った状態、すなわち、第1の画像メモリ3121に動き補償
差分データブロックがロードされた状態の画像生成装置
3114内の画像データの様子を示す。すなわち、生成画像
データブロック3177の内容は、動き補償差分データであ
る。
【0552】図37(b)は、順方向予測画像ブロック
を用いて処理をした結果を示す。すなわち、図36に示
される処理STEP 3604〜STEP 3613を順方向予測画像ブロ
ックについて行った結果である。生成画像データブロッ
ク3177に格納されている動き補償差分データブロック内
の画素データをD(x,y)と表し、順方向予測画像データブ
ロック3174に格納されている画素データをF(x,y)と表す
と、順方向予測画像ブロックを用いて処理した結果、
(数9)に示すような画像データG1(x,y)が、生成画像
データブロック3177に書き出される。
を用いて処理をした結果を示す。すなわち、図36に示
される処理STEP 3604〜STEP 3613を順方向予測画像ブロ
ックについて行った結果である。生成画像データブロッ
ク3177に格納されている動き補償差分データブロック内
の画素データをD(x,y)と表し、順方向予測画像データブ
ロック3174に格納されている画素データをF(x,y)と表す
と、順方向予測画像ブロックを用いて処理した結果、
(数9)に示すような画像データG1(x,y)が、生成画像
データブロック3177に書き出される。
【0553】ここで、γは第2の乗算部3124に与えられ
る乗数であり、この場合0.5である。
る乗数であり、この場合0.5である。
【0554】
【数9】G1(x,y) = D(x,y) + F(x,y) × γ 図37(c)は、この結果にさらに逆方向予測画像ブロ
ックを用いて処理をした結果を示す。すなわち、図36
に示される処理STEP 3604〜STEP 3613を逆方向予測画像
ブロックについて行った結果である。逆方向予測画像デ
ータブロック3175に格納されている画素データをR(x,y)
と表すと、逆方向予測画像ブロックを用いて処理した結
果、(数10)に示すような画像データG2(x,y)が、生
成画像データブロック3177に書き出される。
ックを用いて処理をした結果を示す。すなわち、図36
に示される処理STEP 3604〜STEP 3613を逆方向予測画像
ブロックについて行った結果である。逆方向予測画像デ
ータブロック3175に格納されている画素データをR(x,y)
と表すと、逆方向予測画像ブロックを用いて処理した結
果、(数10)に示すような画像データG2(x,y)が、生
成画像データブロック3177に書き出される。
【0555】
【数10】G2(x,y) = G1(x,y) + R(x,y) × γ ここで、γは第2の乗算部3124に与えられる乗数であ
り、この場合0.5である。
り、この場合0.5である。
【0556】(数10)を(数11)のように変形する
と、生成された生成画像データブロックの画素値が、2
つの予測画像ブロックの平均に動き補償差分データを加
えた値になっていることがわかる。
と、生成された生成画像データブロックの画素値が、2
つの予測画像ブロックの平均に動き補償差分データを加
えた値になっていることがわかる。
【0557】
【数11】 G2(x,y) = G1(x,y) + R(x,y) × γ = {D(x,y) + F(x,y) × γ} + R(x,y) × γ = {F(x,y) + R(x,y)} × γ + D(x,y) γ=0,5であるから、 G2(x,y) = {F(x,y) + R(x,y)} / 2 + D(x,y) 図37(a)〜(c)では、伸長対象の画像ブロックが
順方向と逆方向の2つの予測画像を用いて圧縮されてい
る場合における、伸長処理の動作を説明した。次に、伸
長対象の画像ブロックが順方向または逆方向の1つの予
測画像を用いて圧縮されている場合における、伸長処理
の動作を説明する。
順方向と逆方向の2つの予測画像を用いて圧縮されてい
る場合における、伸長処理の動作を説明した。次に、伸
長対象の画像ブロックが順方向または逆方向の1つの予
測画像を用いて圧縮されている場合における、伸長処理
の動作を説明する。
【0558】図36に示される処理STEP 3604〜STEP 36
13を順方向または逆方向の1つの予測画像ブロックにつ
いて行う。結果G1(x,y)は(数12)に示すとおりであ
る。
13を順方向または逆方向の1つの予測画像ブロックにつ
いて行う。結果G1(x,y)は(数12)に示すとおりであ
る。
【0559】
【数12】G1(x,y) = D(x,y) + F(x,y) × γ ここで、γは1である。
【0560】次に、動きベクトルの値が半画素の単位で
与えられた場合の伸長処理について述べる。この場合
も、圧縮に用いられている順方向と逆方向の両方または
どちらか一方の予測画像について、処理STEP 3604〜STE
P 3613を繰り返すことは全く同様であるが、動きベクト
ルの値が半画素の単位で与えられた予測画像について
は、1画素だけずれた予測画像ブロックを2度または4
度繰り返し処理STEP 3604〜STEP 3613を行う。そして、
この繰り返す回数および予測画像が順方向または逆方向
のいずれか一方であるか順方向と逆方向の両方であるか
に応じて第2の乗算部3124に与える乗数γを変化させ
る。
与えられた場合の伸長処理について述べる。この場合
も、圧縮に用いられている順方向と逆方向の両方または
どちらか一方の予測画像について、処理STEP 3604〜STE
P 3613を繰り返すことは全く同様であるが、動きベクト
ルの値が半画素の単位で与えられた予測画像について
は、1画素だけずれた予測画像ブロックを2度または4
度繰り返し処理STEP 3604〜STEP 3613を行う。そして、
この繰り返す回数および予測画像が順方向または逆方向
のいずれか一方であるか順方向と逆方向の両方であるか
に応じて第2の乗算部3124に与える乗数γを変化させ
る。
【0561】図38(a)〜(c)は、動きベクトルの
値が半画素単位で与えられた場合の予測画像ブロックを
示している。図38(a)〜(c)では1つの画像ブロ
ックは4×4画素で構成されると仮定している。横方向
をx、縦方向をyで示す。○印が予測画像ブロックを構
成する1個の画素を表す。画像ブロックの上に書かれた
16〜20の数字と画像ブロックの右に書かれた21〜25の数
字は、画素位置を示すアドレスを意味する。
値が半画素単位で与えられた場合の予測画像ブロックを
示している。図38(a)〜(c)では1つの画像ブロ
ックは4×4画素で構成されると仮定している。横方向
をx、縦方向をyで示す。○印が予測画像ブロックを構
成する1個の画素を表す。画像ブロックの上に書かれた
16〜20の数字と画像ブロックの右に書かれた21〜25の数
字は、画素位置を示すアドレスを意味する。
【0562】図38(a)に示すように、動きベクトル
が横方向に半画素単位で指定された予測画像ブロックに
関しては、最初に予測ブロックQ0(x,y)について処理を
行い、次に予測ブロックQ1(x,y)について処理を行う。
このように合計2回処理を行う。
が横方向に半画素単位で指定された予測画像ブロックに
関しては、最初に予測ブロックQ0(x,y)について処理を
行い、次に予測ブロックQ1(x,y)について処理を行う。
このように合計2回処理を行う。
【0563】図38(b)に示すように、動きベクトル
が縦方向に半画素単位で指定された予測画像ブロックに
関しては、最初に予測ブロックQ0(x,y)について処理を
行い、次に予測ブロックQ2(x,y)について処理を行う。
このように合計2回処理を行う。
が縦方向に半画素単位で指定された予測画像ブロックに
関しては、最初に予測ブロックQ0(x,y)について処理を
行い、次に予測ブロックQ2(x,y)について処理を行う。
このように合計2回処理を行う。
【0564】図38(c)に示すように、動きベクトル
が縦、横両方向に半画素単位で指定された予測画像ブロ
ックに関しては、予測ブロックQ0(x,y)、Q1(x,y)、Q2
(x,y)、Q3(x,y)について合計4回処理を行う。その際、
第2の乗算部3124に設定するγの値を(表2)に示す。
が縦、横両方向に半画素単位で指定された予測画像ブロ
ックに関しては、予測ブロックQ0(x,y)、Q1(x,y)、Q2
(x,y)、Q3(x,y)について合計4回処理を行う。その際、
第2の乗算部3124に設定するγの値を(表2)に示す。
【0565】
【表2】 (表2)に示すとおり、γの値は、もとの画像ブロック
が圧縮される際に用いられた予測画像の数に応じて変化
する。
が圧縮される際に用いられた予測画像の数に応じて変化
する。
【0566】(数13)に、順方向と逆方向の両方の予
測画像を用いて圧縮された画像ブロックで、順方向の予
測画像ブロックが縦、横方向に半画素単位で指定され、
逆方向の予測画像ブロックが横方向にだけ半画素単位で
指定された場合における、伸長処理の途中経過と結果と
を示す。G1(x,y)、G2(x,y)、G3(x,y)、G4(x,y)、G5(x,
y)は、伸長処理の途中の生成画像ブロックの画素値を表
し、G6(x,y)が伸長処理の最終結果を表す。また、F0(x,
y)、F1(x,y)、F2(x,y)、F3(x,y)は、図38(c)から
類推できるように、順方向予測画像の予測ブロックで半
画素ずつずれた4つの画像ブロックの画素値を表し、R0
(x,y)、R1(x,y)は、逆方向予測画像の予測ブロックで半
画素ずつずれた2つの画像ブロックの画素値を表す。
測画像を用いて圧縮された画像ブロックで、順方向の予
測画像ブロックが縦、横方向に半画素単位で指定され、
逆方向の予測画像ブロックが横方向にだけ半画素単位で
指定された場合における、伸長処理の途中経過と結果と
を示す。G1(x,y)、G2(x,y)、G3(x,y)、G4(x,y)、G5(x,
y)は、伸長処理の途中の生成画像ブロックの画素値を表
し、G6(x,y)が伸長処理の最終結果を表す。また、F0(x,
y)、F1(x,y)、F2(x,y)、F3(x,y)は、図38(c)から
類推できるように、順方向予測画像の予測ブロックで半
画素ずつずれた4つの画像ブロックの画素値を表し、R0
(x,y)、R1(x,y)は、逆方向予測画像の予測ブロックで半
画素ずつずれた2つの画像ブロックの画素値を表す。
【0567】
【数13】G1(x,y) = D(x,y) + F0(x,y) × 0.125 G2(x,y) = G1(x,y) + F1(x,y) × 0.125 G3(x,y) = G2(x,y) + F2(x,y) × 0.125 G4(x,y) = G3(x,y) + F3(x,y) × 0.125 G5(x,y) = G4(x,y) + R0(x,y) × 0.25 G6(x,y) = G5(x,y) + R1(x,y) × 0.25 結果G6(x,y)を変形すると、(数14)のようになる。
これによれば、生成された生成画像データブロックの画
素値は、順方向、逆方向の予測画像のそれぞれについて
動きベクトルの値に応じて読み出した1画素ずつずれた
複数枚の予測画像ブロックの平均を求め、それら両方の
予測画像ブロックの平均値と動き補償差分データを加え
た値となっていることがわかる。
これによれば、生成された生成画像データブロックの画
素値は、順方向、逆方向の予測画像のそれぞれについて
動きベクトルの値に応じて読み出した1画素ずつずれた
複数枚の予測画像ブロックの平均を求め、それら両方の
予測画像ブロックの平均値と動き補償差分データを加え
た値となっていることがわかる。
【0568】
【数14】G6(x,y) = [ {F0(x,y)+F1(x,y)+F2(x,y)
+F3(x,y)} / 4+ {R0(x,y)+R1(x,y)} / 2 ] / 2+
D(x,y) (数13)以外の組み合わせについても同様な処理を行
うことで画像ブロックの伸長処理を実現することができ
る。
+F3(x,y)} / 4+ {R0(x,y)+R1(x,y)} / 2 ] / 2+
D(x,y) (数13)以外の組み合わせについても同様な処理を行
うことで画像ブロックの伸長処理を実現することができ
る。
【0569】5.まとめ 以上に述べたように、本発明によれば、フレーム間動き
補償予測符号化を用いて圧縮された動画の伸長処理と、
半透明テクスチャ画像のテクスチャマッピングやポリゴ
ンエッジのアンチエイリアシング処理を含むテクスチャ
マッピング処理とを単一の画像生成装置3114を用いて行
うことが可能になる。
補償予測符号化を用いて圧縮された動画の伸長処理と、
半透明テクスチャ画像のテクスチャマッピングやポリゴ
ンエッジのアンチエイリアシング処理を含むテクスチャ
マッピング処理とを単一の画像生成装置3114を用いて行
うことが可能になる。
【0570】なお、上述した画像生成装置3114は、半透
明のテクスチャ画像やポリゴンエッジのアンチエイリア
シング処理を可能とし、かつ、複数の予測画像を用いた
伸長処理を可能とするために、第2の乗算部3124を備え
ていた。
明のテクスチャ画像やポリゴンエッジのアンチエイリア
シング処理を可能とし、かつ、複数の予測画像を用いた
伸長処理を可能とするために、第2の乗算部3124を備え
ていた。
【0571】しかし、テクスチャマッピング処理におい
て、テクスチャ画像が常に不透明(すなわち、半透明度
が常に1)である場合には、第2の乗算部3124を省略し
てもよい。この場合、乗数発生部3128は、第1の乗算部
3123に乗数「0」を出力する。その結果、加算部3125か
ら出力される生成画像データ信号には、背景画像の成分
が全く含まれず、かつ、テクスチャ画像の成分のみが含
まれることとなる。
て、テクスチャ画像が常に不透明(すなわち、半透明度
が常に1)である場合には、第2の乗算部3124を省略し
てもよい。この場合、乗数発生部3128は、第1の乗算部
3123に乗数「0」を出力する。その結果、加算部3125か
ら出力される生成画像データ信号には、背景画像の成分
が全く含まれず、かつ、テクスチャ画像の成分のみが含
まれることとなる。
【0572】また、伸長処理においても、画像ブロック
が順方向予測画像データまたは逆方向予測画像データの
いずれか一方のみを用いて圧縮されており、かつ、動き
ベクトルの値が1画素単位で指定される場合には、第2
の乗算部3124を省略してもよい。この場合、乗数生成部
3128は、第1の乗算部3123に乗数「1」を出力する。そ
の結果、加算部3125から出力される生成画像データ信号
には、1つの予測画像データと動き補償差分画像データ
とを加算した結果が含まれることとなる。
が順方向予測画像データまたは逆方向予測画像データの
いずれか一方のみを用いて圧縮されており、かつ、動き
ベクトルの値が1画素単位で指定される場合には、第2
の乗算部3124を省略してもよい。この場合、乗数生成部
3128は、第1の乗算部3123に乗数「1」を出力する。そ
の結果、加算部3125から出力される生成画像データ信号
には、1つの予測画像データと動き補償差分画像データ
とを加算した結果が含まれることとなる。
【0573】このように、第2の乗算部3124を取り除い
た構成を有する画像生成装置であっても、特定の条件下
においては、テクスチャマッピング処理と動画伸長処理
の両方を実現することができる。実現可能な処理は、い
ずれも基本的な処理である。
た構成を有する画像生成装置であっても、特定の条件下
においては、テクスチャマッピング処理と動画伸長処理
の両方を実現することができる。実現可能な処理は、い
ずれも基本的な処理である。
【0574】(実施形態4)以下に示す順序に従って、
本発明による他の画像生成システム3100'の構成および
動作を説明する。
本発明による他の画像生成システム3100'の構成および
動作を説明する。
【0575】 1.画像生成システム3100'の構成 2.画像生成装置3114'の構成 3.画像生成装置3114'におけるテクスチャマッピング
処理 4.画像生成装置3114'における動画伸長処理 5.まとめ 1.画像生成システム3100'の構成 画像生成システム3100'の構成は、画像生成装置3114'を
除いて、図31に示される画像生成システム3100の構成
と同一である。従って、同一の構成要素には同一の参照
番号を付し、ここではその説明を省略する。
処理 4.画像生成装置3114'における動画伸長処理 5.まとめ 1.画像生成システム3100'の構成 画像生成システム3100'の構成は、画像生成装置3114'を
除いて、図31に示される画像生成システム3100の構成
と同一である。従って、同一の構成要素には同一の参照
番号を付し、ここではその説明を省略する。
【0576】2.画像生成装置3114'の構成 図33は、画像生成装置3114'の構成を示す。画像生成
装置3114'の構成は、FIFOメモリ3130が追加されて
いる点を除いて、図32に示される画像生成装置3114の
構成と同一である。従って、同一の構成要素には同一の
参照番号を付し、ここではその説明を省略する。
装置3114'の構成は、FIFOメモリ3130が追加されて
いる点を除いて、図32に示される画像生成装置3114の
構成と同一である。従って、同一の構成要素には同一の
参照番号を付し、ここではその説明を省略する。
【0577】第2の画像アドレス信号3120bによって指
定された位置から読み出された第2の画像データ信号31
20eは、第1の乗算部3123に入力される前に、FIFO
メモリ3130に入力されそこで保持される。さらに、画像
生成装置3114'は、画像データ入力回路3126から入力さ
れた画像データ入力信号をFIFOメモリ3130に直接的
に書き込むことができるように構成されている。従っ
て、画像データ入力回路3126は、テクスチャ画像データ
または動き補償差分画像データを画像データ入力信号に
より第1の画像メモリ3121またはFIFOメモリ3130に
書き込む。FIFOメモリ3130は、画像データ入力回路
3126から出力される画像データ入力信号により書き込ま
れる画像データまたは第1の画像メモリ3121から第2の
画像データ信号3120eとして入力される画像データを記
憶し、それらを第4の画像データ信号として出力する。
以下、上述した構成を有する画像生成装置3114'の動作
を説明する。画像生成装置3114'の動作は、一部を除い
て、画像生成装置3114の動作と同一である。従って、以
下では、画像生成装置3114の動作と異なる部分を詳細に
説明する。
定された位置から読み出された第2の画像データ信号31
20eは、第1の乗算部3123に入力される前に、FIFO
メモリ3130に入力されそこで保持される。さらに、画像
生成装置3114'は、画像データ入力回路3126から入力さ
れた画像データ入力信号をFIFOメモリ3130に直接的
に書き込むことができるように構成されている。従っ
て、画像データ入力回路3126は、テクスチャ画像データ
または動き補償差分画像データを画像データ入力信号に
より第1の画像メモリ3121またはFIFOメモリ3130に
書き込む。FIFOメモリ3130は、画像データ入力回路
3126から出力される画像データ入力信号により書き込ま
れる画像データまたは第1の画像メモリ3121から第2の
画像データ信号3120eとして入力される画像データを記
憶し、それらを第4の画像データ信号として出力する。
以下、上述した構成を有する画像生成装置3114'の動作
を説明する。画像生成装置3114'の動作は、一部を除い
て、画像生成装置3114の動作と同一である。従って、以
下では、画像生成装置3114の動作と異なる部分を詳細に
説明する。
【0578】3.画像生成装置3114'におけるテクスチ
ャマッピング処理 以下、画像生成装置3114'におけるテクスチャマッピン
グ処理を説明する。
ャマッピング処理 以下、画像生成装置3114'におけるテクスチャマッピン
グ処理を説明する。
【0579】1つのポリゴンにテクスチャ画像を貼り付
ける際の、テクスチャマッピング処理の手順は、図34
に示すとおりである。
ける際の、テクスチャマッピング処理の手順は、図34
に示すとおりである。
【0580】FIFOメモリ3130は、第2の画像アドレ
ス信号3120bによって指定された位置から読み出された
第2の画像データ信号(テクスチャが貼り付けられる前
に生成画像位置にあったポリゴン内の画像データ。つま
り背景画像データ)を第1の乗算部3123に入力する前
に、一旦経由するバッファメモリとしての役割を果た
す。
ス信号3120bによって指定された位置から読み出された
第2の画像データ信号(テクスチャが貼り付けられる前
に生成画像位置にあったポリゴン内の画像データ。つま
り背景画像データ)を第1の乗算部3123に入力する前
に、一旦経由するバッファメモリとしての役割を果た
す。
【0581】FIFOメモリ3130の動作は、図34の処
理STEP 3407に含まれる。STEP 3407では、STEP 3403で
求めたポリゴン内の各画素位置を示す第2の画像アドレ
ス信号3120bに従って、対応する1つの画素の画像デー
タを第2の画像データ信号3120eとして第1の画像メモ
リ3121から読み出し、一旦FIFOメモリ3130を経由し
て、第4の画像データ信号として第1の乗算部3123に入
力する。
理STEP 3407に含まれる。STEP 3407では、STEP 3403で
求めたポリゴン内の各画素位置を示す第2の画像アドレ
ス信号3120bに従って、対応する1つの画素の画像デー
タを第2の画像データ信号3120eとして第1の画像メモ
リ3121から読み出し、一旦FIFOメモリ3130を経由し
て、第4の画像データ信号として第1の乗算部3123に入
力する。
【0582】それ以外のテクスチャマッピング処理にお
ける動作は、図32に示す画像生成装置3114の動作と同
様である。これにより、半透明のテクスチャ画像のテク
スチャマッピングやポリゴンエッジのアンチエイリアシ
ング処理を含むテクスチャマッピング処理を実現するこ
とができる。
ける動作は、図32に示す画像生成装置3114の動作と同
様である。これにより、半透明のテクスチャ画像のテク
スチャマッピングやポリゴンエッジのアンチエイリアシ
ング処理を含むテクスチャマッピング処理を実現するこ
とができる。
【0583】4.画像生成装置3114'における動画伸長
処理 次に、画像生成装置3114'における動画伸長処理を説明
する。
処理 次に、画像生成装置3114'における動画伸長処理を説明
する。
【0584】図39は、1つの画像ブロックに対する伸
長処理の動作手順を示す。図39に示される動作は、ST
EP 3902、STEP 3093、STEP 3907-1およびSTEP 3907-2を
除いて、図36に示される動作と同一である。図39に
おいて、図36における動作と同一の動作には同一の参
照符号を付している。
長処理の動作手順を示す。図39に示される動作は、ST
EP 3902、STEP 3093、STEP 3907-1およびSTEP 3907-2を
除いて、図36に示される動作と同一である。図39に
おいて、図36における動作と同一の動作には同一の参
照符号を付している。
【0585】CPU3111から画像ブロックの伸長指令が
出されると(STEP 3601)、画像データ入力回路3126は、
この画像ブロックの動き補償差分データをFIFOメモ
リ3130に格納する(STEP 3902)。なお、第1の画像メモ
リ3121には、必要に応じて伸長する画像に対する順方向
予測画像または逆方向予測画像が格納されている。これ
らの予測画像は、外部記憶装置3113から読み出されCP
U3111によって画像生成装置3114'に書き込まれた画像
である場合と、画像生成装置3114'で既に生成され終え
た画像の場合とがある。
出されると(STEP 3601)、画像データ入力回路3126は、
この画像ブロックの動き補償差分データをFIFOメモ
リ3130に格納する(STEP 3902)。なお、第1の画像メモ
リ3121には、必要に応じて伸長する画像に対する順方向
予測画像または逆方向予測画像が格納されている。これ
らの予測画像は、外部記憶装置3113から読み出されCP
U3111によって画像生成装置3114'に書き込まれた画像
である場合と、画像生成装置3114'で既に生成され終え
た画像の場合とがある。
【0586】画素位置指定回路3127は、伸長対象の画像
ブロックを構成する各画素の位置(すなわち、動き補償
差分データを書き込んだ画素位置)を算出し、その位置
を示す信号を第2の画像アドレス信号3120bとして第1
の画像メモリ3121に出力するための準備を行う(STEP 39
03)。この第2の画像アドレス信号3120bの示す画素位置
の順序は、FIFOメモリ3130から伸長対象の画像ブロ
ックの動き補償差分データを読み出す順序に対応してい
る。
ブロックを構成する各画素の位置(すなわち、動き補償
差分データを書き込んだ画素位置)を算出し、その位置
を示す信号を第2の画像アドレス信号3120bとして第1
の画像メモリ3121に出力するための準備を行う(STEP 39
03)。この第2の画像アドレス信号3120bの示す画素位置
の順序は、FIFOメモリ3130から伸長対象の画像ブロ
ックの動き補償差分データを読み出す順序に対応してい
る。
【0587】次に、画素位置指定回路3127は、最初の予
測画像から動きベクトルの値に応じて予測画像データブ
ロックの画像の画素位置を求め、その位置を示す信号を
第1の画像アドレス信号3120aとして第1の画像メモリ3
121に出力する(STEP 3604)。
測画像から動きベクトルの値に応じて予測画像データブ
ロックの画像の画素位置を求め、その位置を示す信号を
第1の画像アドレス信号3120aとして第1の画像メモリ3
121に出力する(STEP 3604)。
【0588】動き予測に用いた予測画像の種類および動
きベクトルの値に応じて、予測画像データブロックを何
回読み出して生成画像ブロックに足し合わせるかを算出
し、そのようにして算出された回数に基づいて第2の乗
数を生成する(STEP 3605)。第2の乗数の詳細な算出方
法は、実施の形態3で述べたとおりである。なお、第1
の乗数は、動画伸長処理の際は常に「1」に設定してお
く。
きベクトルの値に応じて、予測画像データブロックを何
回読み出して生成画像ブロックに足し合わせるかを算出
し、そのようにして算出された回数に基づいて第2の乗
数を生成する(STEP 3605)。第2の乗数の詳細な算出方
法は、実施の形態3で述べたとおりである。なお、第1
の乗数は、動画伸長処理の際は常に「1」に設定してお
く。
【0589】次に、第1の画像アドレス信号3120aによ
って指定された画素位置の画像データ(すなわち、予測
画像データブロックの画像データ)を第1の画像メモリ
3121から読み出し、第2の画像メモリ3122に書き込む(S
TEP 3606)。
って指定された画素位置の画像データ(すなわち、予測
画像データブロックの画像データ)を第1の画像メモリ
3121から読み出し、第2の画像メモリ3122に書き込む(S
TEP 3606)。
【0590】STEP 3603で求めた画像ブロックを構成す
る各画素の位置を示す第2の画像アドレス信号3120bに
従って、対応する1つの画素の画素データ(すなわち、
動き補償差分データ)をFIFO3130から読み出し、こ
れを第4の画像データ信号として第1の乗算部3123に入
力する(STEP 3907-2)。
る各画素の位置を示す第2の画像アドレス信号3120bに
従って、対応する1つの画素の画素データ(すなわち、
動き補償差分データ)をFIFO3130から読み出し、こ
れを第4の画像データ信号として第1の乗算部3123に入
力する(STEP 3907-2)。
【0591】STEP 3608〜STEP 3613の処理は、実施の形
態3と同様である。
態3と同様である。
【0592】STEP 3614では、必要な全ての予測画像に
対する処理がなされたか否かが判定される。処理中の画
像ブロックが、まだ他の予測画像について足し合わせる
必要があれば、STEP 3604〜STEP 3613の処理を繰り返
す。
対する処理がなされたか否かが判定される。処理中の画
像ブロックが、まだ他の予測画像について足し合わせる
必要があれば、STEP 3604〜STEP 3613の処理を繰り返
す。
【0593】本実施の形態では、2つ目以降の予測画像
に対するSTEP 3907の処理では、第1の画像メモリ3131
の生成画像領域内の画素位置から画像データを読み出
し、一旦FIFOメモリ3130を経由してこれを第4の画
像データ信号として第1の乗算部3123に入力する(STEP
3907-1〜STEP 3907-2)。
に対するSTEP 3907の処理では、第1の画像メモリ3131
の生成画像領域内の画素位置から画像データを読み出
し、一旦FIFOメモリ3130を経由してこれを第4の画
像データ信号として第1の乗算部3123に入力する(STEP
3907-1〜STEP 3907-2)。
【0594】5.まとめ 以上述べたように、本実施の形態では、最初に画像デー
タ入力回路3126から書き込まれる動き補償差分画像デー
タブロックを第1の画像メモリ3121に格納せず、そのか
わりにそれを直接FIFOメモリ3130に書き込むことに
より、第1の画像メモリ3121から第2の画像データ信号
3120eとして読み出す動作を省略することができる。そ
の結果、第1の画像メモリ3132へのアクセス回数を削減
し、処理の高速化を図ることが可能となる。この効果
は、動き補償予測で順方向予測画像か逆方向予測画像の
いずれか1つの予測画像だけを用いて圧縮された画像デ
ータブロックを伸長する際に顕著に現れる。すなわち、
FIFOメモリ3130を設けない構成の場合には、予測画
像を1つ用いて圧縮された画像データブロックを伸長す
るのに必要とされる第1の画像メモリ3121へのアクセス
回数は、リード、ライト各2回の合計4回である。一
方、FIFOメモリ3130を設ける構成の場合には、予測
画像を1つ用いて圧縮された画像データブロックを伸長
するのに必要とされる第1の画像メモリ3121へのアクセ
ス回数は、リード、ライト各1回の合計2回である。こ
のように、FIFOメモリ3130を設けることにより、第
1の画像メモリ3121へのアクセス回数を半減することが
できる。
タ入力回路3126から書き込まれる動き補償差分画像デー
タブロックを第1の画像メモリ3121に格納せず、そのか
わりにそれを直接FIFOメモリ3130に書き込むことに
より、第1の画像メモリ3121から第2の画像データ信号
3120eとして読み出す動作を省略することができる。そ
の結果、第1の画像メモリ3132へのアクセス回数を削減
し、処理の高速化を図ることが可能となる。この効果
は、動き補償予測で順方向予測画像か逆方向予測画像の
いずれか1つの予測画像だけを用いて圧縮された画像デ
ータブロックを伸長する際に顕著に現れる。すなわち、
FIFOメモリ3130を設けない構成の場合には、予測画
像を1つ用いて圧縮された画像データブロックを伸長す
るのに必要とされる第1の画像メモリ3121へのアクセス
回数は、リード、ライト各2回の合計4回である。一
方、FIFOメモリ3130を設ける構成の場合には、予測
画像を1つ用いて圧縮された画像データブロックを伸長
するのに必要とされる第1の画像メモリ3121へのアクセ
ス回数は、リード、ライト各1回の合計2回である。こ
のように、FIFOメモリ3130を設けることにより、第
1の画像メモリ3121へのアクセス回数を半減することが
できる。
【0595】なお、上述した画像生成装置3114'は、半
透明のテクスチャ画像やポリゴンエッジのアンチエイリ
アシング処理を可能とし、かつ、複数の予測画像を用い
た伸長処理を可能とするために、第2の乗算部3124を備
えていた。
透明のテクスチャ画像やポリゴンエッジのアンチエイリ
アシング処理を可能とし、かつ、複数の予測画像を用い
た伸長処理を可能とするために、第2の乗算部3124を備
えていた。
【0596】しかし、テクスチャマッピング処理におい
て、テクスチャ画像が常に不透明(すなわち、半透明度
が常に1)である場合には、第2の乗算部3124を省略し
てもよい。この場合、乗数発生部3128は、第1の乗算部
3123に乗数「0」を出力する。その結果、加算部3125か
ら出力される生成画像データ信号には、背景画像の成分
が全く含まれず、かつ、テクスチャ画像の成分のみが含
まれることとなる。
て、テクスチャ画像が常に不透明(すなわち、半透明度
が常に1)である場合には、第2の乗算部3124を省略し
てもよい。この場合、乗数発生部3128は、第1の乗算部
3123に乗数「0」を出力する。その結果、加算部3125か
ら出力される生成画像データ信号には、背景画像の成分
が全く含まれず、かつ、テクスチャ画像の成分のみが含
まれることとなる。
【0597】また、伸長処理においても、画像ブロック
が順方向予測画像データまたは逆方向予測画像データの
いずれか一方のみを用いて圧縮されており、かつ、動き
ベクトルの値が1画素単位で指定される場合には、第2
の乗算部3124を省略してもよい。この場合、乗数生成部
3128は、第1の乗算部3123に乗数「1」を出力する。そ
の結果、加算部3125から出力される生成画像データ信号
には、1つの予測画像データと動き補償差分画像データ
とを加算した結果が含まれることとなる。
が順方向予測画像データまたは逆方向予測画像データの
いずれか一方のみを用いて圧縮されており、かつ、動き
ベクトルの値が1画素単位で指定される場合には、第2
の乗算部3124を省略してもよい。この場合、乗数生成部
3128は、第1の乗算部3123に乗数「1」を出力する。そ
の結果、加算部3125から出力される生成画像データ信号
には、1つの予測画像データと動き補償差分画像データ
とを加算した結果が含まれることとなる。
【0598】このように、第2の乗算部3124を取り除い
た構成を有する画像生成装置であっても、特定の条件下
においては、テクスチャマッピング処理と動画伸長処理
の両方を実現することができる。実現可能な処理は、い
ずれも基本的な処理である。
た構成を有する画像生成装置であっても、特定の条件下
においては、テクスチャマッピング処理と動画伸長処理
の両方を実現することができる。実現可能な処理は、い
ずれも基本的な処理である。
【0599】(実施形態5)以下、本発明による画像生
成装置4110を説明する。
成装置4110を説明する。
【0600】画像生成装置4110は、画素演算回路4120と
画像メモリ4130とを含んでいる。画像生成装置は、単一
の構成でテクスチャマッピング処理と動き補償処理とを
実現する。
画像メモリ4130とを含んでいる。画像生成装置は、単一
の構成でテクスチャマッピング処理と動き補償処理とを
実現する。
【0601】以下、図42を参照して、画像生成装置41
10におけるテクスチャマッピング処理の手順を説明す
る。図42における番号1〜3は、以下に述べる処理手
順を示す番号に対応する。
10におけるテクスチャマッピング処理の手順を説明す
る。図42における番号1〜3は、以下に述べる処理手
順を示す番号に対応する。
【0602】0:テクスチャ画像を画像メモリ4130内に
書き込む。
書き込む。
【0603】生成画像領域を画像メモリ4130内に設定す
る。
る。
【0604】1:テクスチャ画像から画素データを読み
出す。
出す。
【0605】生成画像内のテクスチャマッピング対象の
ポリゴンのテクスチャマッピング対象座標の画素データ
を読み出す。
ポリゴンのテクスチャマッピング対象座標の画素データ
を読み出す。
【0606】2:テクスチャ画素データと、ポリゴン画
素データとに各々係数を乗算し、乗算結果を加算する。
素データとに各々係数を乗算し、乗算結果を加算する。
【0607】3:加算結果の画素データを生成画像内の
テクスチャマッピング対象座標に書き込む。
テクスチャマッピング対象座標に書き込む。
【0608】4:処理1〜3をテクスチャマッピング対
象ポリゴン内の全画素が処理されるまで繰り返す。
象ポリゴン内の全画素が処理されるまで繰り返す。
【0609】以下、図43を参照して、画像生成装置41
10における動き補償処理の手順を説明する。図43にお
ける番号1〜4および7は、以下に述べる処理手順を示
す番号に対応する。
10における動き補償処理の手順を説明する。図43にお
ける番号1〜4および7は、以下に述べる処理手順を示
す番号に対応する。
【0610】0:画像メモリ4130内に、差分画像を書き
込む。
込む。
【0611】画像メモリ4130内に、基準画像を書き込
む。
む。
【0612】画像メモリ4130内に、生成画像領域を設定
する。
する。
【0613】1:差分画像のうち動き補償の対象となる
画像ブロックを取り出す。
画像ブロックを取り出す。
【0614】(図43では、画像ブロックをコピーして
いる。画像ブロックをコピーする代わりに、その画像ブ
ロックの場所を指定してもよい。) 基準画像内の基準画像ブロックを設定する。
いる。画像ブロックをコピーする代わりに、その画像ブ
ロックの場所を指定してもよい。) 基準画像内の基準画像ブロックを設定する。
【0615】生成画像内の生成画像ブロックを設定す
る。
る。
【0616】2:差分画像ブロックから画素データを読
み出す。
み出す。
【0617】基準画像ブロックから画素データを読み出
す。
す。
【0618】3:基準画像ブロックから読み出した画素
データに係数を乗算する。
データに係数を乗算する。
【0619】(係数は動き補償処理が双方向かどうか、
基準画像ブロックの位置指定が半画素精度であるかどう
かにより異なる。) 乗算結果と差分画像ブロックから読み出した画素データ
を加算する。
基準画像ブロックの位置指定が半画素精度であるかどう
かにより異なる。) 乗算結果と差分画像ブロックから読み出した画素データ
を加算する。
【0620】4:加算結果の画素データを生成画像ブロ
ック内に書き込む。
ック内に書き込む。
【0621】5:処理2〜4を画像ブロック内の全画素
の処理が終るまで繰り返す。
の処理が終るまで繰り返す。
【0622】6:画像ブロックの動き補償処理が終了す
れば、生成画像内の全画像ブロックに対して処理を繰り
返す。
れば、生成画像内の全画像ブロックに対して処理を繰り
返す。
【0623】7:双方向動き補償処理の場合や基準画像
ブロックの位置が半画素精度で指定されている場合、基
準画像ブロックを新たに設定する。
ブロックの位置が半画素精度で指定されている場合、基
準画像ブロックを新たに設定する。
【0624】生成画像ブロックを差分画像ブロックとし
て取り出す。
て取り出す。
【0625】(図43では、画像ブロックをコピーして
いる。画像ブロックをコピーする代わりに、その画像ブ
ロックの場所を指定してもよい。) 8:双方向動き補償処理や、基準画像ブロックの半画素
精度の位置指定に応じて処理2〜7を繰り返す。
いる。画像ブロックをコピーする代わりに、その画像ブ
ロックの場所を指定してもよい。) 8:双方向動き補償処理や、基準画像ブロックの半画素
精度の位置指定に応じて処理2〜7を繰り返す。
【0626】以下、図44を参照して、画像生成装置41
10における他の動き補償処理の手順を説明する。図44
における番号1〜4および7は、以下に述べる処理手順
を示す番号に対応する。
10における他の動き補償処理の手順を説明する。図44
における番号1〜4および7は、以下に述べる処理手順
を示す番号に対応する。
【0627】0:画像メモリ4130内に、差分画像を書き
込む。
込む。
【0628】画像メモリ4130内に、基準画像を書き込
む。
む。
【0629】画像メモリ4130内に、生成画像領域(差分
画像と同一領域)を設定する。
画像と同一領域)を設定する。
【0630】1:基準画像内のうち動き補償の基準とな
る画像ブロックを取り出す。
る画像ブロックを取り出す。
【0631】(図44では、画像ブロックをコピーして
いる。画像ブロックをコピーする代わりに、その画像ブ
ロックの場所を指定してもよい。) 差分画像内の差分画像ブロックを設定する。
いる。画像ブロックをコピーする代わりに、その画像ブ
ロックの場所を指定してもよい。) 差分画像内の差分画像ブロックを設定する。
【0632】差分画像ブロックと同一画像ブロックを生
成画像ブロックとして設定する。
成画像ブロックとして設定する。
【0633】2:差分画像ブロックから画素データを読
み出す。
み出す。
【0634】基準画像ブロックから画素データを読み出
す。
す。
【0635】3:基準画像ブロックから読み出した画素
データに係数を乗算する。
データに係数を乗算する。
【0636】(係数は動き補償処理が双方向かどうか、
基準画像ブロックの位置指定が半画素精度であるかどう
かにより異なる。) 乗算結果と差分画像ブロックから読み出した画素データ
を加算する。
基準画像ブロックの位置指定が半画素精度であるかどう
かにより異なる。) 乗算結果と差分画像ブロックから読み出した画素データ
を加算する。
【0637】4:加算結果の画素データを生成画像ブロ
ック内の差分画素データ読み出し座標と同一座標に書き
込む。
ック内の差分画素データ読み出し座標と同一座標に書き
込む。
【0638】5:処理2〜4を画像ブロック内の全画素
の処理が終るまで繰り返す。
の処理が終るまで繰り返す。
【0639】6:画像ブロックの動き補償処理が終了す
れば、生成画像内の全画像ブロックに対して処理を繰り
返す。
れば、生成画像内の全画像ブロックに対して処理を繰り
返す。
【0640】7:双方向動き補償処理の場合や基準画像
ブロックが半画素精度の位置指定が行なわれている場
合、基準画像ブロックを新たに取り出す。
ブロックが半画素精度の位置指定が行なわれている場
合、基準画像ブロックを新たに取り出す。
【0641】(図44では、画像ブロックをコピーして
いる。画像ブロックをコピーする代わりに、その画像ブ
ロックの場所を指定してもよい。) 生成画像ブロックを差分画像ブロックとして設定する。
いる。画像ブロックをコピーする代わりに、その画像ブ
ロックの場所を指定してもよい。) 生成画像ブロックを差分画像ブロックとして設定する。
【0642】8:双方向動き補償処理や、基準画像ブロ
ックの半画素精度の位置指定に応じて処理2〜7を繰り
返す。
ックの半画素精度の位置指定に応じて処理2〜7を繰り
返す。
【0643】以下、図45を参照して、画像生成装置41
10においてテクスチャマッピング処理と動き補償処理と
を同時に行う場合の処理手順を説明する。図45におけ
る番号1〜4は、以下に述べる処理手順を示す番号に対
応する。
10においてテクスチャマッピング処理と動き補償処理と
を同時に行う場合の処理手順を説明する。図45におけ
る番号1〜4は、以下に述べる処理手順を示す番号に対
応する。
【0644】0:画像メモリ4130内に、差分画像を書き
込む。
込む。
【0645】画像メモリ4130内に、基準画像を書き込
む。
む。
【0646】画像メモリ4130内に、生成画像領域を設定
する。
する。
【0647】1:差分画像のうち動き補償の対象となる
画像ブロックを取り出す。
画像ブロックを取り出す。
【0648】(図45では、画像ブロックをコピーして
いる。画像ブロックをコピーする代わりに、その画像ブ
ロックの場所を指定してもよい。) 基準画像内の基準画像ブロックを設定する。
いる。画像ブロックをコピーする代わりに、その画像ブ
ロックの場所を指定してもよい。) 基準画像内の基準画像ブロックを設定する。
【0649】生成画像内にテクスチャマッピング対象の
ポリゴンを設定する。
ポリゴンを設定する。
【0650】2:差分画像ブロックから画素データを読
み出す。
み出す。
【0651】基準画像ブロックから画素データを読み出
す。
す。
【0652】3:基準画像ブロックから読み出した画素
データに係数を乗算する。
データに係数を乗算する。
【0653】(係数は動き補償処理が双方向かどうか、
基準画像ブロックの位置指定が半画素精度であるかどう
かにより異なる。) 乗算結果と差分画像ブロックから読み出した画素データ
を加算する。
基準画像ブロックの位置指定が半画素精度であるかどう
かにより異なる。) 乗算結果と差分画像ブロックから読み出した画素データ
を加算する。
【0654】4:加算結果の画素データを生成ポリゴン
内に書き込む。
内に書き込む。
【0655】5:処理2〜4を生成ポリゴン内の全画素
の処理が終るまで繰り返す。
の処理が終るまで繰り返す。
【0656】6:生成ポリゴン処理が終了すれば、生成
画像内の全ポリゴンに対して処理を繰り返す。
画像内の全ポリゴンに対して処理を繰り返す。
【0657】
【発明の効果】本発明の画像生成装置は、順方向または
逆方向動き補償処理だけでなく双方向動き補償処理や半
画素精度の動き補償処理と、テクスチャマッピング処理
を単一構成の装置で実現できる。
逆方向動き補償処理だけでなく双方向動き補償処理や半
画素精度の動き補償処理と、テクスチャマッピング処理
を単一構成の装置で実現できる。
【0658】さらには、動き補償処理とテクスチャマッ
ピング処理の同時並行処理が単一の構成の装置で実現で
きる。
ピング処理の同時並行処理が単一の構成の装置で実現で
きる。
【0659】また、動き補償処理の中間結果をブロック
画像メモリに格納することにより、動き補償処理に必要
となるメモリアクセス回数を大幅に削減することが可能
となる。
画像メモリに格納することにより、動き補償処理に必要
となるメモリアクセス回数を大幅に削減することが可能
となる。
【0660】さらに、ブロック画像メモリと画素演算手
段をLSI上に集積することにより、動き補償処理、テ
クスチャマッピング処理に必要なメモリアクセスを大幅
に高速化することも可能となる。
段をLSI上に集積することにより、動き補償処理、テ
クスチャマッピング処理に必要なメモリアクセスを大幅
に高速化することも可能となる。
【0661】以上のように単一の構成で、動き補償処理
による圧縮動画伸長処理と、テクスチャマッピング処
理、およびこれらの処理の同時並行処理を可能とする画
像生成装置を実現することにより、この画像生成装置を
用いた動画伸長マッピング装置およびマルチメディア機
器の構成の単純化、回路規模の縮小化、処理に要するメ
モリ量の削減およびメモリ間の動画データ転送を不要に
することによるデータ転送量の削減を実現することが可
能となる。
による圧縮動画伸長処理と、テクスチャマッピング処
理、およびこれらの処理の同時並行処理を可能とする画
像生成装置を実現することにより、この画像生成装置を
用いた動画伸長マッピング装置およびマルチメディア機
器の構成の単純化、回路規模の縮小化、処理に要するメ
モリ量の削減およびメモリ間の動画データ転送を不要に
することによるデータ転送量の削減を実現することが可
能となる。
【図1】本発明の実施形態1におけるマルチメディア機
器の構成図である。
器の構成図である。
【図2】実施形態1における画像生成装置の構成図であ
る。
る。
【図3】実施形態1において、動き補償処理を行なう際
のCPUによる画像生成装置の動作制御を行なうための
制御フローチャートである。
のCPUによる画像生成装置の動作制御を行なうための
制御フローチャートである。
【図4】実施形態1において、動き補償処理を行なう際
のCPUによる画像生成装置の動作制御を行なうための
制御フローチャートの一部である。
のCPUによる画像生成装置の動作制御を行なうための
制御フローチャートの一部である。
【図5】実施形態1において、動き補償処理を行なう際
の画像生成装置内の各回路の動作フローチャートであ
る。
の画像生成装置内の各回路の動作フローチャートであ
る。
【図6】実施形態1において、画像ブロック設定処理を
行なう際の画像生成装置内の各回路の動作フローチャー
トである。
行なう際の画像生成装置内の各回路の動作フローチャー
トである。
【図7】本発明における順方向動き補償処理の説明図で
ある。
ある。
【図8】本発明における双方向動き補償処理の説明図で
ある。
ある。
【図9】本発明における半画素精度動き補償処理の説明
図である。
図である。
【図10】本発明において、テクスチャマッピング処理
を行なう際のCPUによる画像生成装置の動作制御を行
なうための制御フローチャートである。
を行なう際のCPUによる画像生成装置の動作制御を行
なうための制御フローチャートである。
【図11】本発明において、テクスチャマッピング処理
を行なう際の画像生成装置内の各回路の動作フローチャ
ートである。
を行なう際の画像生成装置内の各回路の動作フローチャ
ートである。
【図12】本発明におけるテクスチャマッピング処理の
説明図である。
説明図である。
【図13】実施形態1において、動き補償処理とテクス
チャマッピング処理を同時実行する際のCPUによる画
像生成装置の動作制御を行なうための制御フローチャー
トである。
チャマッピング処理を同時実行する際のCPUによる画
像生成装置の動作制御を行なうための制御フローチャー
トである。
【図14】実施形態1において、動き補償処理とテクス
チャマッピング処理を同時実行する際のCPUによる画
像生成装置の動作制御を行なうための制御フローチャー
トの一部である。
チャマッピング処理を同時実行する際のCPUによる画
像生成装置の動作制御を行なうための制御フローチャー
トの一部である。
【図15】実施形態1において、動き補償処理とテクス
チャマッピング処理を同時実行する際の画像生成装置内
の各回路の動作フローチャートである。
チャマッピング処理を同時実行する際の画像生成装置内
の各回路の動作フローチャートである。
【図16】本発明における動き補償処理とテクスチャマ
ッピング処理の同時実行の説明図である。
ッピング処理の同時実行の説明図である。
【図17】実施形態2における画像生成装置の構成図で
ある。
ある。
【図18】実施形態2において、動き補償処理を行なう
際のCPUによる画像生成装置の動作制御を行なうため
の制御フローチャートである。
際のCPUによる画像生成装置の動作制御を行なうため
の制御フローチャートである。
【図19】実施形態2において、動き補償処理を行なう
際のCPUによる画像生成装置の動作制御を行なうため
の制御フローチャートの一部である。
際のCPUによる画像生成装置の動作制御を行なうため
の制御フローチャートの一部である。
【図20】実施形態2において、動き補償処理を行なう
際の画像生成装置内の各回路の動作フローチャートであ
る。
際の画像生成装置内の各回路の動作フローチャートであ
る。
【図21】動き予測処理を用いた画像圧縮処理の手順の
説明図である。
説明図である。
【図22】動き予測により圧縮符号化された圧縮動画の
伸長処理手順の説明図である。
伸長処理手順の説明図である。
【図23】テクスチャマッピング処理の説明図である。
【図24】動き補償処理とテクスチャマッピング処理の
同時実行の概念説明図である。
同時実行の概念説明図である。
【図25】動画データをテクスチャ画像として用いたテ
クスチャマッピングの応用の説明図である。
クスチャマッピングの応用の説明図である。
【図26】実施形態2のマルチメディア機器の動作タイ
ミング図である。
ミング図である。
【図27】従来例における画像生成システムの構成図で
ある。
ある。
【図28】MPEG-1のPピクチャに対して、動き補償処理
を行った場合のタイミングチャートを示す図である。
を行った場合のタイミングチャートを示す図である。
【図29】MPEG-1のPピクチャに対して、動き補償処理
とテクスチャマッピング処理を同時実行した場合のタイ
ミングチャートを示す図である。
とテクスチャマッピング処理を同時実行した場合のタイ
ミングチャートを示す図である。
【図30】MPEG-1のBピクチャに対して、動き補償処理
もしくは動き補償処理とテクスチャマッピング処理を同
時処理した場合のタイミングチャートを示す図である。
もしくは動き補償処理とテクスチャマッピング処理を同
時処理した場合のタイミングチャートを示す図である。
【図31】本発明による画像生成システム3100の構成を
示す図である。
示す図である。
【図32】画像生成システム3100に含まれる画像生成装
置3114の構成を示す図である。
置3114の構成を示す図である。
【図33】画像生成システム3100'に含まれる画像生成
装置3114'の構成を示す図である。
装置3114'の構成を示す図である。
【図34】画像生成装置3114において、1つのポリゴン
にテクスチャ画像を貼り付ける際の、テクスチャマッピ
ング処理の手順を示すフローチャートである。
にテクスチャ画像を貼り付ける際の、テクスチャマッピ
ング処理の手順を示すフローチャートである。
【図35】(a)はテクスチャマッピング処理における
具体的な画像データの流れを示す図、(b)は読み書き
される画素の順序を示す図、(c)はテクスチャ画像内
の画素が読み出される順序を示す図、(d)はテクスチ
ャ画像が貼り付けられた後のポリゴンの状態を示す図で
ある。
具体的な画像データの流れを示す図、(b)は読み書き
される画素の順序を示す図、(c)はテクスチャ画像内
の画素が読み出される順序を示す図、(d)はテクスチ
ャ画像が貼り付けられた後のポリゴンの状態を示す図で
ある。
【図36】画像生成装置3114において、1つの画像ブロ
ックに対する動画伸長処理の手順を示すフローチャート
である。
ックに対する動画伸長処理の手順を示すフローチャート
である。
【図37】(a)は動画伸長処理の具体的な画像データ
の流れを示す図、(b)は順方向予測画像ブロックを用
いて処理をした結果を示す図、(c)は(b)の結果に
さらに逆方向予測画像ブロックを用いて処理をした結果
を示す図である。
の流れを示す図、(b)は順方向予測画像ブロックを用
いて処理をした結果を示す図、(c)は(b)の結果に
さらに逆方向予測画像ブロックを用いて処理をした結果
を示す図である。
【図38】(a)〜(c)は、動きベクトルの値が半画
素単位で与えられた場合の予測画像ブロックを示す図で
ある。
素単位で与えられた場合の予測画像ブロックを示す図で
ある。
【図39】画像生成装置3114'において、1つの画像ブ
ロックに対する動画伸長処理の手順を示すフローチャー
トである。
ロックに対する動画伸長処理の手順を示すフローチャー
トである。
【図40】図27に示される画像伸長回路2404内部の構
成を示す図である。
成を示す図である。
【図41】図27に示される画像合成回路2406内部及び
フレームメモリ2410で行われる従来のテクスチャマッピ
ング処理の動作を説明する図である。
フレームメモリ2410で行われる従来のテクスチャマッピ
ング処理の動作を説明する図である。
【図42】画像生成装置4110におけるテクスチャマッピ
ング処理の手順を説明する図である。
ング処理の手順を説明する図である。
【図43】画像生成装置4110における動き補償処理の手
順を説明する図である。
順を説明する図である。
【図44】画像生成装置4110における他の動き補償処理
の手順を説明する図である。
の手順を説明する図である。
【図45】画像生成装置4110においてテクスチャマッピ
ング処理と動き補償処理とを同時に行う場合の処理手順
を説明する図である。
ング処理と動き補償処理とを同時に行う場合の処理手順
を説明する図である。
101 CPU 104 画像生成装置 105 可変長逆符号化部 106 直交変換部 108 動画伸長マッピング装置 109 フレームメモリ 201 制御回路 202 画素位置指定回路 203 画素演算回路 204 画像メモリアクセス回路 205 ブロック画像メモリ 206 画像移動回路 207 乗数生成部 208 第2の乗算部 209 第1の乗算部 210 加算部 211 第2の画像メモリアクセス部 212 第1の画像メモリアクセス部 1501 画素位置指定回路 1502 画像メモリアクセス回路 1503 第2の画像メモリアクセス部 1504 第1の画像メモリアクセス部
Claims (30)
- 【請求項1】 2つの画像データを用いて演算を行う画
素演算手段を有し、該画素演算手段は、動き補償処理を
行う場合には、基準画像の画像データと、差分画像の画
像データとを用いて動き補償処理の演算を行い、テクス
チャマッピング処理を行う場合には、マッピング画像の
画像データと、ポリゴン内の画像データとを用いてテク
スチャマッピングの演算を行う画像生成装置。 - 【請求項2】 少なくとも動き補償処理または、テクス
チャマッピング処理を含む処理を指示するコマンド信号
を受け取り、それぞれ対応する第1の画素位置を示す信
号、第2の画素位置を示す信号、および第3の画素位置
を示す信号を出力し、該コマンド信号が動き補償処理を
指示しているときには、基準画像ブロック内の画素の位
置を該第1の画素位置とし、生成画像ブロック内の画素
の位置を該第2の画素位置とし、差分画像ブロック内の
画素の位置を該第3の画素位置とし、該コマンド信号が
テクスチャマッピング処理を指示しているときには、マ
ッピングされるポリゴン内の画素の位置を該第1の画素
位置および該第2の画素位置とし、テクスチャ画像内の
画素の位置を該第3の画素位置とする画素位置指定手段
と、 該第1の画素位置を示す信号を受け取り、該第1の画素
位置の画素値を第1の画素データとして出力し、該第3
の画素位置を示す信号を受け取り、該第3の画素位置の
画素値を第3の画素データとして出力し、該第2の画素
位置を示す信号と第2の画素データとを受け取り、該第
2の画素位置に該第2の画素データを書き込む画像メモ
リアクセス手段と、 該第1の画素データと該第3の画素データとの間で演算
を行い、その演算結果を該第2の画素データとして出力
する画素演算手段と、を備えた画像生成装置。 - 【請求項3】 前記コマンドが動き補償処理を指示して
いるときには、前記第2の画素位置と前記第3の画素位
置とが同一である、請求項2に記載の画像生成装置。 - 【請求項4】 前記コマンドが動き補償処理を指示して
いるときには、前記第2の画素位置と前記第3の画素位
置とが異なる、請求項2に記載の画像生成装置。 - 【請求項5】 前記画素位置指定手段は、前記コマンド
信号が動き補償処理およびテクスチャマッピング処理の
同時処理を指示しているときには、基準画像ブロック内
の画素の位置を前記第1の画素位置とし、テクスチャマ
ッピングされる生成ポリゴン内の画素の位置を前記第2
の画素位置とし、差分画像ブロック内の画素位置を前記
第3の画素の位置として出力する請求項2に記載の画像
生成装置。 - 【請求項6】 前記画素演算手段は、前記コマンド信号
を受け取り、該コマンド信号が動き補償処理を指示して
いる場合もしくは動き補償処理とテクスチャマッピング
処理の同時処理を指示している場合に、前記第1の画素
データと前記第3の画素データを符号付きの精度のデー
タとして演算処理し、該コマンド信号がテクスチャマッ
ピング処理を指示している場合には、該第1の画素デー
タと該第3の画素データを符号なしの精度のデータとし
て演算処理を行なう請求項2または請求項5に記載の画
像生成装置。 - 【請求項7】 前記画素位置指定手段は、前記コマンド
信号を受け取り、該コマンド信号が動き補償処理を指示
している場合には、前記第1の画素位置の前記基準画像
ブロック内における相対位置と、前記第3の画素位置の
前記差分画像ブロック内における相対位置と、前記第2
の画素位置の前記生成画像ブロック内における相対位置
とが同一となる画素位置を指定する請求項2に記載の画
像生成装置。 - 【請求項8】 前記画素位置指定手段は、前記コマンド
信号を受け取り、該コマンド信号が、テクスチャマッピ
ング処理を指示している場合には、前記生成ポリゴン内
の水平ライン上の各画素の画素位置を順次計算し、該画
素位置を前記第1の画素位置および前記第2の画素位置
として指定し、さらに該第1の画素位置および該第2の
画素位置に対応する前記テクスチャ画像内の画素位置を
求め、該画素位置を前記第3の画素位置として指定し、
該コマンド信号が動き補償処理を指示している場合に
は、前記生成画像ブロック内の水平ライン上の各画素の
画素位置を順次計算し、該画素位置を該第2の画素位置
として指定し、さらに該第3の画素位置の前記差分画像
ブロック内における相対位置と該第1の画素位置の前記
基準画像ブロック内における相対位置とが該第2の画素
位置の前記生成画像ブロック内における相対位置と同一
となるような該第3の画素位置および該第1の画素位置
を指定する請求項7に記載の画像生成装置。 - 【請求項9】 前記画素位置指定手段は、前記コマンド
信号を受け取り、該コマンド信号が、テクスチャマッピ
ング処理を指示している場合には、前記テクスチャ画像
内の水平ライン上の各画素の画素位置を順次計算し、該
画素位置を前記第3の画素位置として指定し、さらに該
第3の画素位置に対応する生成ポリゴン内の画素位置を
求め、この画素位置を前記第1の画素位置および前記第
2の画素位置として指定し、該コマンド信号が、動き補
償処理を指示している場合には、前記差分画像ブロック
内の水平ライン上の各画素の画素位置を順次計算し、該
画素位置を該第3の画素位置として指定し、さらに該第
1の画素位置の前記基準画像ブロック内における相対位
置と該第2の画素位置の前記生成画像ブロック内におけ
る相対位置とが該第3の画素位置の前記差分画像ブロッ
ク内における相対位置と同一となるような該第1の画素
位置および該第2の画素位置を指定する請求項7に記載
の画像生成装置。 - 【請求項10】 前記画素位置指定手段は、前記コマン
ド信号を受け取り、該コマンド信号が、動き補償処理と
テクスチャマッピング処理とを同時に実行することを指
示している場合には、前記生成ポリゴン内の水平ライン
上の各画素の画素位置を順次計算し、この画素位置を前
記第2の画素位置として指定し、さらに該第2の画素位
置の画素データにマッピングされる画素位置を前記差分
画像ブロック内に求め、この画素位置を前記第3の画素
位置として指定し、該第3の画素位置の前記差分画像ブ
ロック内における相対位置と前記第1の画素位置の前記
基準画像ブロック内における相対位置とが同一となるよ
うな該第1の画素位置を指定する請求項5に記載の画像
生成装置。 - 【請求項11】 前記画素位置指定手段は、前記コマン
ド信号を受け取り、該コマンド信号が、動き補償処理と
テクスチャマッピング処理とを同時に実行することを指
示している場合には、前記差分画像ブロック内の水平ラ
イン上の各画素の画素位置を順次計算し、この画素位置
を前記第3の画素位置として指定し、さらに該第3の画
素位置に対応する生成ポリゴン内の画素位置を求め、こ
の画素位置を前記第2の画素位置として指定し、該第3
の画素位置の差分画像ブロック内の相対位置と前記第1
の画素位置の前記基準画像ブロック内における相対位置
が同一となるような該第1の画素位置を指定する請求項
5に記載の画像生成装置。 - 【請求項12】 前記画素演算手段は、前記コマンド信
号を受け取り、該コマンド信号が、動き補償処理を指示
している場合に、前記基準画像ブロック内の前記第1の
画素位置より前記第1の画素データを読み出し、前記差
分画像ブロック内の前記第3の画素位置より前記第3の
画素データを読み出し、該第1の画素データと該第3の
画素データとを用いて演算し、演算結果である前記第2
の画素データを前記生成画像ブロック内の画素位置を示
す前記第2の画素位置に書き込む手続きを一画像ブロッ
ク内の全ての画素に対して行なうブロック動き補償処理
を行った後、前記画素位置指定手段が、前記生成画像ブ
ロックを新差分画像ブロックとし、また前記基準画像ブ
ロックと一画素だけずれた位置にある画像ブロックを新
基準画像ブロックとして画素位置を指定する画像ブロッ
ク設定処理を行う、請求項2または請求項5に記載の画
像生成装置。 - 【請求項13】 前記画素位置指定手段が、前記基準画
像ブロックに対して右方向に一画素だけずれた画像ブロ
ックを前記新基準画像ブロックとする画素ブロック設定
処理を行なう請求項12に記載の画像生成装置。 - 【請求項14】 前記画素位置指定手段が、前記基準画
像ブロックに対して下方向に一画素だけずれた画像ブロ
ックを前記新基準画像ブロックとする画素ブロック設定
処理を行なう請求項12に記載の画像生成装置。 - 【請求項15】 前記画素位置指定手段が、前記生成画
像ブロックを新差分画像ブロックとし、また前記基準画
像ブロックと一画素だけずれた位置にある画像ブロック
を新基準画像ブロックとする画像ブロック設定処理を2
回以上繰り返し、2回以上の前記画像ブロック設定処理
において、画像ブロック設定処理毎に基準画像ブロック
のずれの方向が異なる請求項12に記載の画像生成装
置。 - 【請求項16】 前記画素位置指定手段が、前記2回以
上の画像ブロック設定処理を行う場合に、前記基準画像
ブロックに対して右方向に一画素だけずれた画像ブロッ
クを前記新基準画像ブロックとする場合と、該基準画像
ブロックに対して下方向に一画素だけずれた画像ブロッ
クを該新基準画像ブロックとする場合と、該基準画像ブ
ロックに対して右下双方向に各一画素ずれた画像ブロッ
クを該新基準画像ブロックとする場合とがある請求項1
5に記載の画像生成装置。 - 【請求項17】 一画像ブロックに対する動き補償処理
であるブロック動き補償処理を行なった後、前記画素位
置指定手段が、該ブロック動き補償処理により生成され
た生成画像ブロックをテクスチャ画像と設定し、また新
たに生成ポリゴンを設定する画像ブロック設定処理を行
ない、前記画像メモリアクセス手段は、該生成ポリゴン
内の前記第1の画素位置より前記第1の画素データを読
み出し該テクスチャ画像内の前記第3の画素位置より前
記第3の画素データを読み出し、前記画素演算手段は、
該第1の画素データと該第3の画素データとを用いて演
算し、結果である前記第2の画素データを前記生成ポリ
ゴン内の前記第2の画素位置に書き込む処理を行い、こ
れらの処理を生成ポリゴン内の画素データに対して順次
行なう請求項2に記載の画像生成装置。 - 【請求項18】 画像生成装置で処理する内容を指示す
るコマンド信号を出力する制御手段と、該コマンド信号
を受け取り、該コマンド信号が、動き補償処理を指示し
ている場合、動き補償の基準画像ブロック内の画素位置
を求め第1の画素位置信号として出力し、生成画像ブロ
ック内の画素位置を求め第2の画素位置信号として出力
し、該基準画像ブロックと該生成画像ブロックの差分デ
ータである差分画像ブロック内の画素位置を求め第3の
画素位置信号として出力し、該コマンド信号が、テクス
チャマッピング処理を指示している場合に、テクスチャ
画像内の画素位置を求め該第3の画素位置信号として出
力し、該第3の画素位置信号により示された画素位置に
ある画像データがマッピングされ書き込まれる先の生成
ポリゴン内の画素位置を求め該第1の画素位置信号およ
び該第2の画素位置信号として出力し、該コマンド信号
が、画像ブロック設定処理と画像ブロック位置を指示し
ている場合、該基準画像ブロック、該生成画像ブロッ
ク、該差分画像ブロック、または該生成ポリゴン、該テ
クスチャ画像の位置を新たに設定する画素位置指定手段
と、 該第1の画素位置信号と該第2の画素位置信号と該第3
の画素位置信号とを入力し、該第1の画素位置信号によ
り示される画素位置より画素データを読み出し第1の画
素データ信号として出力し、該第3の画素位置信号によ
り示される画素位置より画素データを読み出し第3の画
素データ信号として出力し、該第2の画素位置信号によ
り示された画素位置に第2の画素データ信号により入力
された画素データを書き込む画像メモリアクセス手段
と、 入力された該第1の画素データ信号と該第3の画素デー
タ信号により示された画素データに対し、該コマンド信
号が、動き補償処理を指示している場合、画素データを
符号付きのデータとして画素単位で、該コマンド信号が
指示する演算を行ない、該コマンド信号がテクスチャマ
ッピング処理を指示している場合、画像データを符号な
しのデータとして画素単位で該コマンド信号が指示する
演算を行ない、演算結果を該第2の画素データ信号とし
て出力する画素演算手段とを備え、該制御手段は、画像
生成動作の制御コマンドを受け、該制御コマンドを解釈
し、該画素位置指定手段、該画素演算手段に処理内容の
指示を行なう該コマンド信号を出力する画像生成装置。 - 【請求項19】 前記画像メモリアクセス手段は、第1
の画素位置信号と第2の画素位置信号を入力し、該第1
の画素位置信号により示される画素位置より画素データ
を読み出し、前記第1の画素データ信号として出力し、
該第2の画素位置信号により示された画素位置に前記第
2の画素データ信号により入力された画素データを書き
込む第1の画像メモリアクセス部と、第3の画素位置信
号を入力し、該第3の画素位置信号により示される画素
位置より画素データを読み出し第3の画素データ信号と
して出力する第2の画像メモリアクセス部とを有してお
り、 テクスチャ画像または差分画像ブロックを記憶してお
り、該第2の画像メモリアクセス部により指定された画
素位置より画素データを出力するブロック画像メモリを
備えた請求項18に記載の画像生成装置。 - 【請求項20】 前記画像メモリアクセス手段は、第1
の画素位置信号と第2の画素位置信号と第4の画素位置
信号とを入力し、該第1の画素位置信号により示される
画素位置より画素データを読み出し第1の画素データ信
号として出力し、該第4の画素位置信号により示される
画素位置より画素データを読み出し第4の画素データ信
号として出力し、前記第2の画素位置信号により示され
た画素位置に第2の画素データ信号により入力された画
素データを書き込む第1の画像メモリアクセス部と、第
3の画素位置信号と第5の画素位置信号を入力し、該第
3の画素位置信号により示される画素位置より画素デー
タを読み出し第3の画素データ信号として出力し、該第
5の画素位置信号により示された画素位置に第5の画素
データ信号により入力された画素データを書き込む第2
の画像メモリアクセス部とを有しており、 テクスチャ画像または差分画像ブロックを記憶してお
り、前記第2の画像メモリアクセス部により指定された
画素位置より画素データを入出力するブロック画像メモ
リを備え、 前記コマンド信号を受け取り、該コマンド信号が画像ブ
ロック設定処理と画像ブロック位置とを指示している場
合、前記差分画像ブロックまたは前記テクスチャ画像内
の画素読み出し位置を順次前記第4の画素位置信号とし
て出力し、前記ブロック画像メモリ内の画素書き込み位
置を順次前記第5の画素位置信号として出力し、前記第
4の画素データ信号として入力された画素データを前記
第5の画素データ信号として出力することにより前記差
分画像ブロックまたは前記テクスチャ画像を前記ブロッ
ク画像メモリに移動させる画像移動手段を備えた請求項
18に記載の画像生成装置。 - 【請求項21】 前記画像メモリアクセス手段は、第1
の画素位置信号と第2の画素位置信号とを入力し、該第
1の画素位置信号により示される画素位置より画素デー
タを読み出し前記第1の画素データ信号として出力し、
該第2の画素位置信号により示された画素位置に前記第
2の画素データ信号により入力された画素データを書き
込む第1の画像メモリアクセス部と、第3の画素位置信
号を入力し前記第3の画素位置信号により示される画素
位置より画素データを読み出し第3の画素データ信号と
して出力し、第2の画素位置信号を入力し前記第2の画
素位置信号により前記ブロック画像メモリ内の画素位置
が示された場合に第2の画素データ信号により入力され
る画素データを前記ブロック画像メモリに書き込む第2
の画像メモリアクセス部とを有しており、 テクスチャ画像または差分画像ブロックを記憶してお
り、前記第2の画像メモリアクセス部により指定された
画素位置より画素データを入出力するブロック画像メモ
リを備えた請求項18に記載の画像生成装置。 - 【請求項22】 前記画素位置指定手段は、制御手段よ
り動き補償処理とテクスチャマッピング処理の同時実行
を指示された場合、動き補償の基準画像ブロック内の画
素位置を求め第1の画素位置信号として出力し、生成ポ
リゴン内の画素位置を求め第2の画素位置信号として出
力し、差分画像ブロック内の画素位置を求め第3の画素
位置信号として出力する請求項18に記載の画像生成装
置。 - 【請求項23】 前記画素演算手段は、前記制御手段よ
り示された演算に従い乗数を発生させる乗数生成部と、
前記第1の画素データ信号により入力された画素データ
に前記乗数生成部で生成された乗数を乗算する乗算部
と、前記第3の画素データ信号により入力された画素デ
ータと乗算部の演算結果を加算し加算結果を第2の画素
データ信号として出力する加算部とを備える請求項18
に記載の画像生成装置。 - 【請求項24】 前記画素演算手段は、前記制御手段よ
り示された演算に従い第1の乗数と第2の乗数を発生さ
せる乗数生成部と、前記第1の画素データ信号により入
力された画素データに前記乗数生成部で生成された第1
の乗数を乗算する第1の乗算部と、前記第3の画素デー
タ信号により入力された画素データに前記乗数生成部で
生成された第2の乗数を乗算する第2の乗算部と、前記
第1の乗算部の演算結果と前記第2の乗算部の演算結果
を加算し加算結果を第2の画素データ信号として出力す
る加算部とを備える請求項18に記載の画像生成装置。 - 【請求項25】 前記乗算部または前記第1の乗算部
は、1倍、1/2倍、1/4倍および1/8倍の演算を行
う請求項23または請求項24に記載の画像生成装置。 - 【請求項26】 前記ブロック画像メモリに格納可能な
画像データの画素数は、基準画像ブロック、生成画像ブ
ロック、差分画像ブロックと同一サイズである請求項1
9から請求項21のいずれかに記載の画像生成装置。 - 【請求項27】 前記ブロック画像メモリに格納可能な
画像データが縦横各16画素の矩形画像データである請
求項19から請求項21のいずれかに記載の画像生成装
置。 - 【請求項28】 前記ブロック画像メモリは、少なくと
も、画素演算手段と同一の半導体素子上に実現される請
求項19から請求項21のいずれかに記載の画像生成装
置。 - 【請求項29】 動き予測処理により基準画像ブロック
と差分演算を行ない求められた差分画像ブロックに対し
て直交変換と可変長符号化を施した結果である圧縮画像
ブロックを入力とし、該圧縮画像ブロックに対し可変長
逆符号化処理を施す可変長逆符号化手段と、該可変長逆
符号化処理の結果を入力し、直交変換を施す直交変換手
段と、該直交変換手段の結果を入力し動き補償処理を施
しさらに該動き補償処理の結果の画像データを用いてテ
クスチャマッピング処理を施す請求項1から請求項28
のいずれかに記載の画像生成装置とを備えることによ
り、圧縮された動画データに対し伸長処理とテクスチャ
マッピング処理を同時に行なう動画伸長マッピング装
置。 - 【請求項30】 CPUと、メインメモリと、請求項2
9に記載の動画伸長マッピング装置と、フレームメモリ
とを備え、該フレームメモリは、該動画伸長マッピング
装置に接続され、少なくとも基準画像および生成画像を
格納し、圧縮動画データを伸長処理しながら伸長結果の
画像を同時に3次元物体の表面にテクスチャマッピング
を行うマルチメディア機器。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP19677996A JP3022334B2 (ja) | 1995-07-28 | 1996-07-25 | 画像生成装置、動画伸長マッピング装置およびマルチメディア機器 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7-193932 | 1995-07-28 | ||
| JP19393295 | 1995-07-28 | ||
| JP19677996A JP3022334B2 (ja) | 1995-07-28 | 1996-07-25 | 画像生成装置、動画伸長マッピング装置およびマルチメディア機器 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09102047A true JPH09102047A (ja) | 1997-04-15 |
| JP3022334B2 JP3022334B2 (ja) | 2000-03-21 |
Family
ID=26508183
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19677996A Expired - Fee Related JP3022334B2 (ja) | 1995-07-28 | 1996-07-25 | 画像生成装置、動画伸長マッピング装置およびマルチメディア機器 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3022334B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1998050887A1 (en) * | 1997-05-07 | 1998-11-12 | Sega Enterprises, Ltd. | Image processor and image processing method |
| WO2000041394A1 (en) * | 1999-01-07 | 2000-07-13 | Intel Corporation | Method and apparatus for performing motion compensation in a texture mapping engine |
| JP2007536807A (ja) * | 2004-05-04 | 2007-12-13 | クゥアルコム・インコーポレイテッド | 時間的なスケーラビリティのために2方向予測されたフレームを組み立てるための方法及び装置 |
-
1996
- 1996-07-25 JP JP19677996A patent/JP3022334B2/ja not_active Expired - Fee Related
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1998050887A1 (en) * | 1997-05-07 | 1998-11-12 | Sega Enterprises, Ltd. | Image processor and image processing method |
| WO2000041394A1 (en) * | 1999-01-07 | 2000-07-13 | Intel Corporation | Method and apparatus for performing motion compensation in a texture mapping engine |
| KR100464878B1 (ko) * | 1999-01-07 | 2005-01-05 | 인텔 코오퍼레이션 | 텍스처 매핑 엔진에서 모션 보상을 수행하기 위한 방법 및장치 |
| JP2007536807A (ja) * | 2004-05-04 | 2007-12-13 | クゥアルコム・インコーポレイテッド | 時間的なスケーラビリティのために2方向予測されたフレームを組み立てるための方法及び装置 |
| US8320464B2 (en) | 2004-05-04 | 2012-11-27 | Qualcomm Incorporated | Method and apparatus to construct bi-directional predicted frames for temporal scalability |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3022334B2 (ja) | 2000-03-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3037383B2 (ja) | 画像処理システム及びその方法 | |
| US5784070A (en) | Method and apparatus for producing a polygonal image representation through operation of plotting commands on image data | |
| JP5215945B2 (ja) | 画像処理装置 | |
| JP3886184B2 (ja) | 画像データの処理方法および画像処理装置 | |
| JPH08161525A (ja) | 画像情報生成方法及び画像情報処理装置、並びに記録媒体 | |
| JPH10501107A (ja) | ビデオ映像復号化装置及び方法 | |
| JP4044069B2 (ja) | テクスチャ処理装置、テクスチャ処理方法および画像処理装置 | |
| US5892518A (en) | Image generating apparatus with pixel calculation circuit including texture mapping and motion compensation | |
| JPS6163165A (ja) | ビデオ信号処理装置 | |
| US5659672A (en) | Method and apparatus for generating images | |
| EP0676720B1 (en) | Image generation apparatus | |
| RU2225035C1 (ru) | Способ кодирования координат перемещающегося на экране вычислительного устройства видеоизображения, устройство для декодирования визуального объекта, закодированного этим способом, и система, предназначенная для визуализации активного видео с помощью этого устройства | |
| US6501862B1 (en) | Picture information processing method and apparatus and entertainment apparatus | |
| JP3022334B2 (ja) | 画像生成装置、動画伸長マッピング装置およびマルチメディア機器 | |
| US5835101A (en) | Image information processing apparatus having means for uniting virtual space and real space | |
| JPH0353668B2 (ja) | ||
| JP3910259B2 (ja) | 画像処理装置および方法、並びにレンダリング装置および方法 | |
| JP4487400B2 (ja) | 画像変形装置及びその画像変形方法 | |
| JP2007249796A (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
| JP3735325B2 (ja) | 画像生成装置 | |
| JP3238567B2 (ja) | 画像生成方法及び装置 | |
| JP3306139B2 (ja) | 画像処理装置およびゲーム機 | |
| JPH11232486A (ja) | 3次元動画再生装置及び方式 | |
| JP4194605B2 (ja) | 画像処理装置および方法、並びにレンダリング装置および方法 | |
| JP2600606B2 (ja) | データ処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19991220 |
|
| LAPS | Cancellation because of no payment of annual fees |