JPH1084557A - ソフトウェアによるmpegデコーダに対してyuvデータフォーマット変換を支援するハードウェア - Google Patents

ソフトウェアによるmpegデコーダに対してyuvデータフォーマット変換を支援するハードウェア

Info

Publication number
JPH1084557A
JPH1084557A JP9068757A JP6875797A JPH1084557A JP H1084557 A JPH1084557 A JP H1084557A JP 9068757 A JP9068757 A JP 9068757A JP 6875797 A JP6875797 A JP 6875797A JP H1084557 A JPH1084557 A JP H1084557A
Authority
JP
Japan
Prior art keywords
data
display controller
display
byte
support method
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP9068757A
Other languages
English (en)
Other versions
JP3442252B2 (ja
Inventor
David Keene
キーン デビッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cirrus Logic Inc
Original Assignee
Cirrus Logic Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24480887&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH1084557(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Cirrus Logic Inc filed Critical Cirrus Logic Inc
Publication of JPH1084557A publication Critical patent/JPH1084557A/ja
Application granted granted Critical
Publication of JP3442252B2 publication Critical patent/JP3442252B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Multimedia (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Color Television Systems (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

(57)【要約】 【課題】MPEGデータの復号化処理のうち、負荷の高
い処理をディスプレイコントローラ内にて行うことで、
ホストCPUでの処理を緩和させる。 【解決手段】ディスプレイコントローラ320内におい
て、画素順次でないフォーマットによるYUVデータの
画素順次への並べ替えという負荷の高いタスクを行い、
内部のBITBLITエンジン513での演算によっ
て、U及びVデータを複写するように、U及びVデータ
を1つのラインから隣接するラインにコピーする。この
際、バイトマスクによって、その隣接ライン上のYデー
タを前記上書きから保護する。前記BITBLIT演算
の終了時に、そのフレームバッファが新しいデータで満
たされたことを示す信号をディスプレイコントローラ3
20において発生させ、これにより、ディスプレイコン
トローラ320は、新しく書き込まれたフレームバッフ
ァに自動的に切り換えて、該フレームバッファからデー
タを読み出す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、本発明は、映像部
分(動画)を含んだ表示画像を生成するための装置及び
方法に関し、特に、映像情報を生成するためのMPEG
(Motion PictureEncoding Group )デコーダを実現さ
せるソフトウェアを支援するために使用される装置及び
方法に関する。
【0002】
【従来の技術】パーソナルコンピュータは、映像部分
(動画)を含んだ表示画像を生成するために使用され
る。ここで、本出願の目的のために、文言「映像」とい
うときは、Cirrus Logic MotionVideo(商標)形式に則
した表示形態のような、例えば、TV、フィルム、VT
R等から取り出された動画を指すものとする。
【0003】MotionVideo (商標)形式に則した表示構
成(MVA(商標))は、例えば、同時に出願継続中の
米国特許出願(出願番号:08/483,584,出願日:1995.
6.7)の発明「DUAL DISPLAYS HAVING INDEPENDENT RESO
LUTIONS AND REFRESH DATES」の明細書中に記載されて
おり、これを本出願では参考のために用いるものとす
る。このような映像部分(動画)は、例えば、CD−R
OM等のデータ源から生成されるものであり、映像デー
タは種々の符号化規則(例えばMPEG−I、MPEG
−II、Indeo(商標)等)の一つによって符号化
される。
【0004】一般に、MPEGによる復号化は、専用の
デコーダ装置によって行われる。MPEGデコーダ装置
は、例えば、CD−ROM等のデータ源を通じてMPE
G符号化データを取り込み、YUVデータとして、図7
に示すように、表示制御装置(以下、ディスプレイコン
トローラと称する)における専用の表示記憶領域に出力
する。
【0005】図7は、例えば、ビデオ・グラフィック・
アダプタ(VGA)やスーパーVGAのようなディスプ
レイコントローラ120を有するコンピュータシステム
100の基本的(概略)構成を示すブロック図である。
ディスプレイコントローラ120は、リフレッシュレー
ト(垂直同期速度)が、例えば、60Hz、72Hzあ
るいは75Hz等の表示速度特性を有し、水平方向及び
垂直方向の解像度が例えば640×480画素、102
4×768画素あるいは800×600画素である、例
えば、CRTや扁平形表示装置等のディスプレイ180
のための画素データを生成する。画素データの連続的な
データ列は、ディスプレイ180の表示速度特性に基づ
いてディスプレイコントローラ120によって生成され
る。
【0006】ディスプレイコントローラ120には、デ
ィスプレイ180に出力するために、テキストモード、
グラフィックモードあるいはビデオモードに則したデー
タ形態で画素データが格納されるディスプレイメモリ1
30が接続されている。ホストCPU(中央処理装置)
110は、バス150を通じてディスプレイコントロー
ラ120に接続され、ディスプレイ180の表示画像が
変化するとき、ディスプレイメモリ130の記憶内容を
更新する。バス150は、例えば、PCIバス等からな
る。システムメモリ160は、ホストCPUでのデータ
格納(データ処理)用に該ホストCPUに接続されてい
る。
【0007】MPEGデコーダ装置140は、例えば、
CD−ROM等のMPEGビデオデータ源からのMPE
Gビデオデータを復号化し、該復号化されたビデオデー
タをシステムメモリ160、あるいは直接ディスプレイ
メモリ130に出力する。但し、よりクロックが速く、
能力の高いマイクロプロセッサ(例えば、Pentium (商
標)やPowerPC (商標)等のプロセッサ)の出現に伴
い、MPEG復号化をホストCPU110での完全なソ
フトウェアの処理だけで行うことが可能である。例え
ば、Microsoft (登録商標)製のWindows 95(商標)の
改良版では、このようなMPEG復号化を行うソフトウ
ェアを含むこともできる。Intel (登録商標)社も、In
deo という商標名が付けられたビデオ復号化技術ソフト
を提供している。
【0008】アプリケーション・ソフト(応用ソフト)
又はオペレーティング・システム(例えば、Windows
(商標)95)には、このようなMPEGあるいはIndeo
(商標)の復号化ソフトが用意されている。アプリケー
ション・ソフトあるいはオペレーティング・システムへ
のMPEGあるいはIndeo (商標)の復号化ソフトの移
植によって、専用のMPEGデコーダ装置140のよう
なハードウェアの追加購入を必要とせずに、ユーザがデ
ィスプレイの画面上で動画像を鑑賞することを許容す
る。
【0009】しかし、高性能なマイクロプロセッサを用
いても、MPEG符号化データの復号化処理は、ホスト
CPUに多大な負荷を与えることから、コンピュータシ
ステム100の全体的な処理能力が落ちることとなる。
ホストCPUにおいて、MPEG復号化を行うために必
要な処理の大部分は、本来の復号化処理よりもデータ変
換とフォーマッティング(データ編成)のために必要と
される。
【0010】MPEGデータ源からのMPEGデータ
は、ソフトウェア及び(又は)ハードウェアにおいて、
いくつかの処理ステップを経て復号化され、伸長され
る。ホストCPU110(又は専用のMPEGデコーダ
装置140)は、例えばCD−ROM等のMPEGデー
タ源から取り出された圧縮符号化されたMPEGデータ
を復元する。即ち、MPEGデータに対して最初にハフ
マン復号化が行われ、次いで逆量子化と逆DCT(離散
コサイン変換)が行われ、そして、フレーム間圧縮の動
き補償が行われる。ソフトウェアにてMPEG復号化処
理を行う90MHzのPentium (商標)プロセッサで
は、これら4つの処理ステップを行うのに1秒間に30
フレームがやっとである。
【0011】一旦、復号化及び伸長化処理が行われれ
ば、YUVフォーマットのMPEGデータは、コンポー
ネントYUVビデオデータ(即ち、プレーナ形態)から
画素順次のビデオフォーマット(即ち、ラスター・スキ
ャン・フォーマット)に変換される。そして、前記画素
順次のYUVビデオデータは、YUVからRGB(赤、
緑及び青の画素データ)に変換され、その後、ディスプ
レイ180に表示を行わせるディスプレイメモリ130
に格納される。従来では、ビデオ・アクセレレータ装置
でYUV−RGB変換ステップを行い、ホストCPUか
ら前記ステップを解放するようにしている。しかし、コ
ンポーネントYUVデータを画素順次のビデオデータ形
態に変換する処理は、いまなお必須とされている。
【0012】コンポーネントYUVデータの画素順次ビ
デオデータへの変換処理は、MPEGデータの復号化処
理を行うホストCPU110(MPEG復号化装置であ
るMPEGデコーダ140)を必要する。これは、YU
Vの4:2:2フォーマット(即ち、CCIR601フ
ォーマット)についてすでに説明したとおり、該YUV
の4:2:2フォーマットは、2画素のグループが、2
バイトの輝度データ(Y)と同じく2バイトの色差デー
タ(U,V)として復号化されるからである。ディスプ
レイ180とディスプレイコントローラ120は、基本
的な画素配列(即ち、スキャンライン)のフォーマット
に従って生成される出力データ、即ち、ディスプレイメ
モリ130内においてそれぞれの画素に対応した全ての
データが連続的に配列された出力データが、画像表示に
おいて必要である。
【0013】YUVの4:2:2フォーマットにおいて
は、2バイト構成のYデータの次に1バイト構成のUデ
ータと1バイトデータのVデータがそれぞれ続いた構成
となっている。このように隣接する2つの画素のデータ
の情報を含む各ダブルワードは、ディスプレイコントロ
ーラ120によってディスプレイの画素順序に一致する
ようにシーケンシャルアドレス方式で、有効メモリバン
ド幅を最大限に使用して読み出される。
【0014】従来のMPEG復号化技術(ハードウェア
又はソフトウェア)は、最初に、例えばCD−ROM等
のMPEGデータ源からのMPEGデータを伸長して、
Y値、U値及びV値に分離する。そして、これらY値、
U値及びV値は、初めに、図6Aに示すように、システ
ムメモリ160内において論理的に割り付けられたY、
U及びVの各記憶領域(面構成)に、YUVのプレーナ
フォーマット又はコンポーネントYUVのいずれかのフ
ォーマットで格納される。
【0015】システムメモリ160は、Y、U及びVデ
ータを格納するためにそれぞれ隣接して割り付けられた
記憶領域102、103及び104を有する。CCIR
601フォーマットのビデオデータにおいては、2つの
Y値は、2つの隣接する画素間の画素データを構成する
それぞれのU値とV値の間に配置される。従って、シス
テムメモリ160におけるY値の記憶領域106は、そ
れぞれU値の記憶領域103とV値の記憶領域104と
比して2倍の大きさを有する。
【0016】分離されたY、U及びVデータを従来のビ
デオアクセレレータにとって望ましいフォーマットに合
成するためには、ホストCPU110は、最初に、Yデ
ータが格納されたシステムメモリの記憶領域102から
2バイトのデータを読み出し、これらのバイトの1つを
ホストCPU110における32ビットのダブルワード
レジスタ内の異なるバイト位置にシフトする。次に、ホ
ストCPUは、システムメモリ160におけるU値の記
憶領域103から1バイトのUデータを読み出し、次い
で、システムメモリ160におけるV値の記憶領域10
4から1バイトのVデータを読み出す。その後、ホスト
CPUは、分離されたY、U及びVデータをYUV4:
2:2でフォーマットされたダブルワードに合成して、
順次ディスプレイメモリ130に転送する。
【0017】
【発明が解決しようとする課題】このようなバイトのシ
フト操作は、Pentium (登録商標)プロセッサのような
プロセッサにとって特に効率のいいものでなく、システ
ムの機能は低下する。CPUサイクルの大部分がデータ
を再編成する(即ち、コンポーネントYUVデータの画
素順次フォーマットへの再編成)ために使用されるから
である。その上、システムメモリ160の互いに隣接し
ない記憶領域から分離Y、U及びVデータを読み出すこ
とは、ランダムアクセスメモリサイクルの大部分を占
め、バスに差し渡す(バスの使用許可を求める)ための
ページサイクルを確保できず、より一層、システムの機
能が低下することとなる。
【0018】PCIバスシステムにおいては、ホストC
PU110における内部キャッシュで分割された読み出
しサイクルの合成が可能である。しかし、前記プロセッ
サと読み出しサイクルは、システム100でのPCIバ
ス構成におけるバーストサイクルの有効利用を妨げる。
【0019】一旦、YUV4:2:2がフォーマットさ
れたダブルワードがホストCPU110内に入力される
と、図6Bに示すように、ラスタースキャン(画素順
次)に則したフォーマットでディスプレイメモリ130
に格納される。ディスプレイメモリ130は、例えば、
Windows (商標)のグラフィカル・ユーザ・インターフ
ェース(GUI)データ等のグラフィックデータを格納
するためのグラフィック記憶領域201と、例えばCirr
us Logic MotionVideo(商標)方式の動画像を具現する
ビデオデータを格納するための1つあるいはそれ以上の
ビデオバッファ202及び203を有する。2つのビデ
オバッファ202及び203は、ディスプレイ180上
でのアーティファクト(雑音状の画像)の発生を防止す
るために設置される。
【0020】ホストCPU110が、ディスプレイ18
0に画像を表示させるために使用されるディスプレイメ
モリ130の同じ領域に同時に書き込む場合、このよう
な書込み動作は、ディスプレイ上で肉眼で確認すること
ができる。ユーザーは、例えば、ビデオゲームにおい
て、画像が描かれているときや激しい画面の移り変わり
において、しばしばディスプレイメモリ130へのCP
Uの書き込み動作に気づくであろう。
【0021】従来のディスプレイコントローラにおいて
は、このような現象を、ビデオデータのダブルバッファ
リングによって回避するようにしている。互いに分離さ
れたビデオバッファ202及び203は、連続するフレ
ームのビデオデータを格納するためにディスプレイメモ
リ130内に割り付けられる。ホストCPUは、他方の
ビデオバッファ203から読み出されたデータがディス
プレイ180に出力されている間に、ディスプレイメモ
リ130の一方のビデオバッファ202に書き込む。M
PEGビデオデータは、通常は、352×240画素に
分解され、また、いくつかのサイズに拡大しても最大の
分解数が、例えば、1024×768画素であることか
ら、このような2つのバッファリングは、大容量のディ
スプレイメモリ130は必要としない。
【0022】表示データのダブルバッファリングにおけ
る一つの問題は、2つのビデオバッファ202及び20
3に対して選択的にそれぞれの書き込みタイミング(サ
イクル)と読み出しタイミング(サイクル)の切り替え
をホストCPU110とディスプレイコントローラ12
0に通告するメカニズムが設置されなければならないこ
とである。もし、ディスプレイコントローラ120にお
いて、ホストCPU110が書き込みを行っているビデ
オバッファ202又は203と同じビデオバッファから
ディスプレイデータを読み出すとすると、ダブルバッフ
ァリングによる改善効果は半減する。ビデオバッファ2
02又は203のうちの一つに対する書き込みサイクル
が完全に終了した上で、ディスプレイコントローラ12
0は、ビデオバッファ202及び203のうち、他のビ
デオバッファから読み出すための切り替え信号を出力す
る必要がある。
【0023】YUVがフォーマットされたダブルワード
は、ディスプレイメモリ130のビデオバッファ202
又は203に画素順次のビデオフォーマットで格納され
る。ディスプレイコントローラ120は、ディスプレイ
メモリ130のビデオバッファ202又は203に格納
されている画素順次のYUVデータから容易にビデオ画
像を生成する。
【0024】一方、プロセッサでのソフトウェアによる
MPEG複合化処理において、負荷の高い一つの処理
は、システムメモリ160におけるY、U及びVの面デ
ータを画素順次のフォーマットでディスプレイメモリ1
30に変換転送する処理である。プロセッサでのソフト
ウェアによるMPEG複合化処理において、負荷の高い
他の処理は、色差データ(U、V)を記憶領域に対して
垂直方向にアップサンプルアクセスすることである。M
PEGフォーマットにて符号化されたデータは、再生結
果を表示させる事実上の画素の数と同じ数の輝度サンプ
ル(バイト)を有する。しかしながら、再生される色差
サンプル(U及びV)は、水平方向及び垂直方向におい
て、例えば、Yデータの各2×2ブロックに対してそれ
ぞれ一対のVデータとUデータというように、間引きサ
ンプル(サブサンプル)される。
【0025】MPEG符号化技術は、一対の色差サンプ
ル(U、Y)毎の2次元パターン(2×2画素)におけ
る4つの輝度サンプルのブロックに基づいて画素データ
を符号化する。色差サンプル(U、V)は、実際には2
×2画素ブロックの中心からサブサンプルされる。伸長
処理において、色差データ(U、V)は複写され、YU
V4:2:2フォーマットの2画素のグループ間に色差
サンプルが作成される。
【0026】図6Cは、水平方向及び垂直方向へのサブ
サンプリングによって、補間されたU及びV値がどのよ
うに書き込まれるかを示したものである。図6Cは、デ
ィスプレイメモリ130に格納されたY、U及びV値を
示す。データが画素順次のフォーマット(走査線に沿っ
た並び)に従ってディスプレイメモリ130に格納する
ことは、水平方向にU及びVデータを挿入することと比
例して容易である。しかし、U及びVデータは、水平方
向及び垂直方向において共にサブサンプルされるため、
U及びVデータを垂直方向に書き入れる(あるいは複写
する)必要がある。
【0027】従って、例えば、図6Cに示すように、ビ
デオデータの一つ置きのライン毎に隣接する他のライン
におけるU及びVデータを書き入れる(あるいは複写す
る)必要があり、図6Cにおいて、*値で示す領域にU
及びV値が作成される。しかも、このような垂直方向の
補間処理は、水平方向への補間処理よりも非常に困難で
ある。隣接するラインからのデータは、特定のラインに
ついてのデータがディスプレイメモリ130に格納され
るタイミングよりも遅く複写(又は補間)して格納する
必要がある。
【0028】このような隣接するU及びV値の格納処理
は、大容量の記憶領域又はレジスタ空間(レジスタ数や
ビット数)が必要であり、煩雑なデータ処理が必要であ
る。従って、復号化された色差(U、V)データの転送
に係るホストCPU110とディスプレイメモリ130
間のデータのバンド幅(転送ビット数)を低減して、デ
ィスプレイコントローラ120内でのこのようなデータ
の複写を行うことが望ましい。
【0029】本発明はこのような課題を考慮してなされ
たものであり、ホストCPUで行われていたMPEGデ
ータの復号化処理のうち、負荷の高い処理をディスプレ
イコントローラ内にて行うことにより、ホストCPUで
の処理を緩和させ、高性能なCPUの機能を最大限に活
用できるようにしたディスプレイコントローラ及び復号
化支援方法を提供することを目的とする。
【0030】また、本発明の他の目的は、ディスプレイ
コントローラでのコンポーネントYUVデータから画素
順次のフォーマットへの変換処理を効率よく行うことが
できるディスプレイコントローラ及び復号化支援方法を
提供することにある。
【0031】また、本発明の他の目的は、いままで予備
とされていた記憶領域を有効利用することにより、前記
変換処理の効率化を図ることができるディスプレイコン
トローラ及び復号化支援方法を提供することある。
【0032】
【課題を解決するための手段】本発明は、MPEGデー
タを復号化するホストプロセッサを支援するディスプレ
イコントローラを有して構成されている。本発明のディ
スプレイコントローラは、ホストCPUから画素順次で
ないビデオフォーマットのYUVデータを受け取り、前
記CPUではなく、ディスプレイコントローラ内におい
て、画素順次への並び替えという煩雑な処理を行うよう
にする。加えて、本発明のディスプレイコントローラ
は、内部BITBLITエンジン(将来において一般的
となる進歩したSVGAディスプレイコントローラ)を
用い、BITBLIT演算によってU及びVデータを模
写(複製)するように、U及びVデータを一つのライン
から隣接するラインにコピーする。バイトマスクは、隣
接するライン上のYデータを上書きから保護する。BI
TBLIT演算の最後で、ディスプレイコントローラ
は、フレームバッファが新しいデータによって満杯にな
ったことを示す信号を発生する。そして、ディスプレイ
コントローラは、新たに書き込まれたフレームバッファ
に対する読み出し動作に自動的に切り換える。
【0033】
【発明の実施の形態】図1、図2及び図3に示すよう
に、ディスプレイコントローラ320は、PCIバス1
50に接続されており、このPCIバス150は、PC
Iバスプロトコルのために32ビットのアドレッシング
で4Gバイト以上の使用が可能な16Mバイトのアドレ
ス空間が割り当てられている。ディスプレイコントロー
ラ320には、PCIバスプロトコルの一部として基底
アドレス(基準アドレス)が設けられている。好ましい
実施の形態として、ディスプレイコントローラ320
は、4Mバイトのディスプレイメモリ130を有する。
【0034】ディスプレイコントローラ320は、PC
Iバスが異なったバイト配列(即ち、バイ・エンディア
ン・サポート)を使用する種々のタイプのプロセッサで
使用されるように、バイトスワッピングモードが組み込
まれている。YUVビデオデータをシステムメモリ16
0からディスプレイメモリ130に対して高速でラスタ
スキャンに適用した配列にするために、YUVデータを
システムメモリ160からディスプレイメモリ130に
転送するためのプレーナ方法論を使用することもでき
る。
【0035】従来のPCIバスシステムにおいて、メモ
リを有する全てのデバイスは、PCIメモリ空間に割り
付けられている。ディスプレイコントローラ320のよ
うなデバイスは、PCI仕様によって定義された特定の
アドレス位置(例えば10H)にPCI構成のレジスタ
511が設けられている。PCI構成のレジスタに格納
されたアドレスは、ディスプレイメモリ130のための
基底アドレスとなる。
【0036】ホストCPU110は、システム起動時に
メモリ管理ルーチン(の一部)で行われる処理のように
PCI構成のレジスタ511に基底アドレスを読み込
む。PCI構成のレジスタ511に格納されたアドレス
は、ディスプレイコントローラ510におけるリニア・
フレーム・バッファ又はリニア・メモリ空間のためのア
ドレス参照ポイントとなる。
【0037】従来のPCIバスシステムのディスプレイ
コントローラにおいては、たとえ、大部分のディスプレ
イコントローラにおける現状のメモリが4Mバイトしか
使用していなくても、価値あるアドレス空間として16
Mバイトが要求されている。要求された16Mバイト
は、4つのほぼ同一の領域に分けられる。要求された1
6Mバイト領域における各4Mバイト領域は、それぞれ
同一の4Mバイトの物理的なディスプレイメモリとして
直接割り付けられ得る。
【0038】従来においては、最初の4Mバイトのアド
レス空間は、バイト配列を変えることなく、ディスプレ
イメモリに対する通常のメモリ書込みに使用される。2
番目の4Mバイトのアドレス空間は、種々のCPUの形
式に応じてワードの切り換えやバイト再配列に使用され
る。換言すれば、ホストCPU110が2番目の4Mバ
イト領域(あるいはアパーチャー)にデータを書き込ん
だ場合、ディスプレイコントローラ120は、ディスプ
レイメモリ130にデータを格納する前に、該データを
ワードベース(単位)で再配列する。
【0039】同様に、3番目の4Mバイトのアドレス領
域は、他の形式のCPUによって行われたバイト配列間
をも補償する(バイト配列をも補間する)ために、ダブ
ルワードベース(単位)で他の形式のバイトスワッピン
グに使用される。従来のディスプレイコントローラ12
0において、4番目の4Mバイトのアドレス領域は予備
とされている。しかしながら、様々な事象において、全
ての4Mバイト領域は、最後には物理的なディスプレイ
メモリ130の同じ4Mバイト領域に割り付けられる。
【0040】図2に示すように、本発明においては、メ
モリアドレス領域410は、ディスプレイメモリ130
の上述した4番目のリニアアドレス領域(即ち、CR3
E[4]=1とCR3E[3:1]=000)として使
用可能である。領域410は、ディスプレイメモリ13
0の物理的な4Mバイト領域に割り付けられる。領域4
10のアドレスは、基底アドレスとして10Hを含むP
CI構成のレジスタ510によるアドレス設定によって
正確に決定される。従って、ディスプレイメモリにおけ
る4Mバイトのアドレス領域は、{PCIの基底アドレ
ス(10H)+12Mバイト}から{PCIの基底アド
レス(10H)+16Mバイト−1バイト}の領域に割
り付けられる。
【0041】4Mバイトの4番目のリニア領域410
は、更に、図2に示すように、4つの1Mバイト領域4
11、412、413及び414に区画される。各1M
バイト領域411、412、413及び414は、物理
的なディスプレイメモリ130の1番目あるいは最初の
1Mバイトの領域に相当する。これら1Mバイト領域内
における3つの隣接する領域に、Y、U及びVデータが
配列される。
【0042】ホストCPU110は、それぞれの領域4
11、412、413及び414における各Y領域にY
データをPCIバス150を介して転送する。CPU1
10は、Yデータを、コンポーネントYUVモードで、
かつ、システムメモリ160内のページモードアクセス
の場合と同様のPCIバーストサイクル(クロック)で
転送する。しかし、ディスプレイコントローラ320
は、図4に示すように、画素順次のフォーマットで受け
入れられた(変換された)Yデータをディスプレイメモ
リ130内に格納する。
【0043】ディスプレイコントローラ320は、入力
Yデータについてアドレス変換を行うことにより、受け
入れられたYデータを1バイト単位に、ラインに沿って
連続する奇数バイトの位置に配置する。これにより、ホ
ストCPUがディスプレイメモリ130に対して連続的
なコンポーネントYUV配列に含まれるYデータを転送
するのにも拘わらず、実際には、Yデータは、画素順次
のフォーマットでディスプレイメモリ130に格納され
る。
【0044】同様に、U及びVデータは、ホストCPU
110からディスプレイメモリ130に転送されたと
き、ディスプレイコントローラ320によって画素順次
のフォーマットで格納される。ディスプレイコントロー
ラ320は、図4に示すように、1つ置きの走査線単位
における4番目のバイト毎の位置(2番目のバイトの位
置を先頭とする)にUデータを配置する。同様に、ディ
スプレイコントローラ320は、図4に示すように、1
つ置きの走査線単位における4番目のバイト毎の位置
(4番目のバイトの位置を先頭とする)にVデータを配
置する。
【0045】図4は、ディスプレイメモリ130に対し
てCCIR601(YUV4:2:2)のフォーマット
で3ラインのYUVデータを書き込むためのフォーマッ
トを示す。図4で示すYUVデータは、Ya,b(又は
Va,b又はUa,b)の形態で表現されており、ここ
で、aは垂直方向の位置(ライン番号)を表し、bは水
平方向の位置を表す。図5は、システムメモリ160内
におけるYUVソースデータの配置を示す。
【0046】表示サイズとして解像度Xr×Yr画素
(Xrは垂直方向の解像度、Yrは水平方向の解像度)
を想定したとき、Y、U及びVデータの位置は、 Ya,b:この場合、a=1からXrまでの範囲,b=
1からYrまでの範囲 Ua,b:この場合、a=1からXr/2までの範囲,
b=1からYr/2までの範囲 Va,b:この場合、a=1からXr/2までの範囲,
b=1からYr/2までの範囲 従って、システムメモリ160における各U及びV平面
は、図4に示すように、ディスプレイメモリ130に2
回書き込まれることになる。図4は、32ビットのディ
スプレイコントローラ520でバイト平面を使用してシ
ステムメモリ160からディスプレイメモリ130に3
ラインに関するYUV4:2:2データを書き込んだ状
態を示す。各ダブルワードのデータのアドレスは、図4
に示されており、ここに、 S:ビデオ・ウィンドウ・バッファ(202又は20
3)の先頭アドレス P:ダブルワードにおけるウィンドウ・ライン・オフセ
ット n:Xr/2(ビデオ・ウィンドウ幅の1/2) である。
【0047】システムメモリ110からのYUVのソー
スデータは、図5に示すように格納される。システムメ
モリ110内において、YUVデータは、図6Aに示す
従来と同様の形態で、分離されたY、U及びV領域70
1、702及び703に格納されている。
【0048】図4は、ディスプレイコントローラ320
によってディスプレイメモリ130の内容がどのように
現されるかを示す。ホストCPUは、Y、U及びVデー
タをPCIバス150を通じてコンポーネントYUVモ
ードで格納するが、最初のYデータ(1フレーム間)と
それに続くVデータ(1フレーム間)及びUデータを
(1フレーム間)を隣接して転送すべく、Y、U及びV
データを4番目の領域を通じてディスプレイメモリ13
0に書き込む。このような転送技術は、ホストCPU1
10がシステムメモリ120からPCIバーストサイク
ルモードと同様のページモードの読出しサイクルを利用
することを許容する。
【0049】ホストCPUがデータを4番目の領域に書
き込んでいる間に、ディスプレイコントローラ320
は、受け入れられたYデータを自動的に2バイト毎に取
り出して、それらのデータを図4に示すBYTE0とB
YTE1のバイト領域に書き込む。ディスプレイメモリ
130は、ダブルワードベース(例えば一度に4バイ
ト)で読み出される。従来においては、ダブルワードの
各バイトをバイトレーンとして読み出すことが知られて
いる。即ち、64ビットグラフィックコントローラは、
連続したアドレスに2つのダブルワードを含むように、
また、それらの中に4バイト領域を有するように意図さ
れている。従来におけるIBMのEGA/VGAコント
ローラは、バイト平面のようなバイトレーンに当てはめ
るようにしている。
【0050】ディスプレイコントローラ320は、ホス
トCPUによって供給されたアドレスを受け、そのアド
レスを1ビットシフトし、それにより、PCIバスから
のソースデータのワードを受け取り、その結果データを
ディスプレイメモリ130内の実際の物理的アドレスに
格納する。各アドレスは、ディスプレイメモリ130に
満杯に、かつ一列に整列されたダブルワード若しくは4
バイトのデータから得る。他に採りうる実施の形態とし
ては、他のより大きなバス及び(又は)メモリ幅を使用
することであり、そのディスプレイメモリのメモリ幅と
しては64ビットの大きさ(並列の2ダブルワード)が
考えられる。
【0051】YUV4:2:2データの各ダブルワード
は、連続するダブルワードの平面に応じて拡がる。各ダ
ブルワードの最初のバイト(BYTE0)には、平面内
の1番目の輝度(Y)データが配置される。各ダブルワ
ードの2番目のバイト(BYTE1)には、平面内の2
番目の輝度(Y)データが配置される。3番目のバイト
(BYTE2)には、平面内の色データ(V)が配置さ
れる。最後のバイト(BYTE3)には、平面内の色デ
ータ(U)が配置される。PCIバス150からのデー
タが4番目の領域を通じてディスプレイメモリ130に
書き込まれたとき、ディスプレイコントローラ320
は、メモリ書込みが、図2に示すように、4Mバイトビ
デオ領域の特定の1Mバイト領域に相当する領域におけ
る先頭の512kバイトのアドレス領域において発生し
ていることを認識する。その領域内のアドレスがメモリ
コントローラ520によって認識されたとき、ディスプ
レイコントローラ320内のバスインターフェース装置
525は、PCIバス150からのデータを2バイト毎
(あるいはダブルワード毎)に受け取る。
【0052】YデータがPCIバス150を通じて送ら
れるとき、そのダブルワードの最初の2バイトは、ディ
スプレイメモリ130のアドレスSオフセット0のアド
レスに送られる。次の2バイトは、そのダブルワードか
ら取り出され、2回目のメモリサイクルは、オフセット
が1だけ増加したアドレスに対して行われ、前記次の2
バイトは、図4に示すように、ディスプレイメモリ13
0の次のダブルワードのアドレスに書き込まれる。
【0053】そして、PCIバス150からの512k
バイトのアドレス領域は、ディスプレイメモリ130の
1Mバイトに値する直接の割り付け、あるいは実質的に
4つの256kバイトの平面(又はバイトレーン)のメ
モリの直接の割り付けが行われるように効果的に2倍に
拡大される。これにより、各平面又はバイトレーンは、
1Mバイトのリニアアドレス領域を有することとなる。
しかしながら、ダブルワードのひとかたまりのアドレス
は、1Mバイトを4つに分けられたものであり、また、
各バイトレーン又はバイト平面は、256kバイトのダ
ブルワードアドレスである。従って、4つのバイト平面
は、図2に示すように、共に1Mバイトの価値を有する
リニアバイトの形態を有する。
【0054】ディスプレイメモリ130における4Mバ
イト領域を4つの1Mバイト領域に分割することは、デ
ィスプレイコントローラ320内のハードウェアにとっ
て更に有利となる。ところで、本発明の技術的思想の範
囲では、1つの隣接する領域のアドレスを提供する。そ
の領域は、例えば、割り付けられた最初の2Mバイトの
領域は、物理的メモリの4Mバイトに相当する。しかし
ながら、ディスプレイメモリが物理的メモリの1Mバイ
ト程度で構成されているのであれば、4つのバイトレー
ンが提示される。
【0055】ディスプレイコントローラ320での演算
の一例を示す。例えば、ディスプレイメモリ130は、
1Mバイトのディスプレイメモリを有し、ディスプレイ
コントローラ320は、画素深度(階調)が8ビット/
画素の1024×768のグラフィクスモードで演算を
行う。352×240画素の解像度を有するビデオ画像
は、ホストCPU110でのソフトウェア処理によって
YUVデータに復号化されて、図6Aに示すように、シ
ステムメモリ160に格納される。
【0056】この例でのY値の数は、352×240又
は84480バイト(8ビット/Yサンプル)である。
U及びVバイトの数は、各々176×120又は211
20であり、各Y値の2×2ブロックの中に一対のU、
Vがある。ビデオウィンドウラインのオフセットは、各
ビデオライン間の任意のサイズを表し、望ましくは、ビ
デオウィンドウイメージのライン長と同じ数かあるいは
それよりも大きい数である。この例では、1ライン長
は、実際の352画素のライン長が必要とする長さより
も8バイト長い、例えば360バイトが選ばれる。
【0057】ウィンドウの先頭アドレスは、ディスプレ
イメモリ内でビデオバッファがどの位置に配置されるか
を示す。この例では、ディスプレイメモリ130のため
の1Mバイトの物理的DRAMであり、表示解像度は、
画素深度が8バイトのグラフィクスモードで1024×
768画素である。これにより、ディスプレイメモリ1
20における実際のグラフィクス部分は、ディスプレイ
メモリ130の最初の768kバイトを占有し、その7
68kバイトを越える有効な残存部分がビデオバッファ
である。
【0058】そして、ディスプレイコントローラ320
は、表示画像のビデオ部分とグラフィクス部分のために
ディスプレイメモリ130において2つに分離された領
域を読み出す。2つの領域は、異なる色空間(例えばグ
ラフィクスのための8ビット/画素やビデオのための2
4ビット/画素)であり、これは、従来技術として知ら
れている。YUVデータがディスプレイメモリ130に
転送されるとき、1つのフレームの最初のYアドレス
は、2つ(768kバイト/2)に分離されたウィンド
ウ先頭アドレスに設定される。この領域において、最初
の512kバイトのY値のアドレス空間は、アドレス変
換処理によって効果的に2つの領域に拡張、さらには1
kバイトのアドレス空間が付加されて拡張される。これ
により、ディスプレイコントローラは、PCIバス15
0からのアドレスをアドレス変換処理を通じて正確にフ
レームバッファが指示されるように2つに分離する。
【0059】352バイトのYデータは、1ラインに沿
って書き込まれる。これにより、アドレス領域は、{7
68kバイト/2}から{768kバイト/2+35
1}となる。ビデオバッファ空間のウィンドウラインの
アドレスオフセットは、Yデータを次のラインの先頭か
ら与えるために、先のラインの先頭アドレスに付加され
る。この処理は、この例におけるビデオウィンドウの大
きさ、即ち、240ラインだけ続けられる。
【0060】次に、Vデータは、アドレス{768kバ
イト/4+512kバイト}から書き込まれる。1ライ
ンのVデータは、例えば176kバイト分書き込まれ
る。そして、そのウィンドウラインのアドレスオフセッ
ト(例えば360バイト)は、後でVデータが満たされ
る1ブランクを残すために、ビデオデータの1ラインを
スキップさせた先頭アドレスに向かって2回更新され
る。これにより、120ラインのVデータは、図4に示
すように、ディスプレイメモリ130における1つ置き
のラインに満たされることになる。
【0061】Uデータは、上述したVデータの場合と同
様の手法、即ち、後で補間されるVデータの空白部分を
1ライン置きに残すように、アドレス{768kバイト
/4+(512kバイト+256kバイト+768kバ
イト)}から書き込まれる。
【0062】YUVデータのコンポーネントYUVデー
タから画素順次の記録フォーマットへの変換によって、
ディスプレイコントローラ320は、ホストCPUでの
細かいサイクルによる煩雑な処理を緩和させる。更に、
本発明の技術は、今まで使われていなかったディスプレ
イメモリのアドレス領域を利用するため、ディスプレイ
コントローラ320は、PCIバス標準並びにディスプ
レイコントローラのソフトウェア及びハードウェアでの
適合性(相性)をそのまま引き継ぐことになる。
【0063】図3は、ディスプレイコントローラ320
のブロック図である。本発明の構成及び方法は、ディス
プレイコントローラ320の1つあるいはそれ以上の構
成要素によって具現される。本実施の形態に係るディス
プレイコントローラ320は、BITBLITエンジン
513、I2 Cポート514、CRTC/ディスプレイ
・パイプライン515及びメモリコントローラ520で
構成されている。これらの各構成要素は、メモリコント
ローラ520を通じてディスプレイメモリ130にデー
タを転送する。
【0064】図3において、コントローラ320は、シ
ステムバス(PCIバス)150を通じてホストCPU
に接続されている。メモリ構成のレジスタ511は、デ
ィスプレイメモリ130の構成を示すデータ値を格納す
る。このようなデータ値は、リセット時にBIOS・R
OM560から読み込まれ、あるいはホストCPUでプ
ログラムされる。メモリ構成のレジスタ内のデータ値
は、ディスプレイメモリ130内のビデオバッファ20
2及び203の位置を示す。メモリコントローラ512
は、ディスプレイメモリ130のメモリアドレスに転送
されるXY座標のビットブロックを転送するために、こ
れらのデータ値を利用する。
【0065】ディスプレイコントローラ320には、B
ITBLITエンジン513として知られている機構を
設置することができる。ディスプレイコントローラ32
0内に設置されているBITBLITエンジン513
は、操作中にビット・アラインド・ブロック転送として
知られているディスプレイメモリ130のある部分から
他の部分へのデータブロックの高速転送を許容する。
【0066】ビット・アラインド・ブロック転送(BI
TBLIT)は、任意サイズの矩形画像をディスプレイ
のある部分から他の部分へと移動させる、即ち、いくつ
かの論理演算でデータを目的とする場所(複写先)に書
き込むというデータ処理を行うためのメカ二ズムを提供
する一般的な演算子である。例えば、OR演算は、背景
としてのグラフィカル画像を保持するために行われる。
この演算は、BITBLITエンジン513によって行
われる。この能力を備えたディスプレイコントローラ3
20は、BITBLITエンジンやBITBLITアク
セレレータを備えたディスプレイコントローラとして参
照される。
【0067】本発明のディスプレイコントローラ320
におけるBITBLITエンジン513は、他の目的に
使用するなどのように、ディスプレイコントローラ32
0内に将来の標準として備わっており、垂直方向への書
き入れを行うためにU及びVデータを複製するように構
成されている。従来の図6Cを参照して示すように、本
発明におけるディスプレイコントローラ320のBIT
BLITエンジン513は、ライン1の画素順次のYU
Vデータをディスプレイメモリ130に含まれるライン
2に複写する。
【0068】バイトマスクは、BITBLIT演算での
複写先の領域におけるデータのいくつかのバイトをダブ
ルワード単位上の他のバイトから個別的にプロテクトす
るために利用される。これにより、BITBLITエン
ジン513は、複写元から複写先に送られる各ダブルワ
ードの1番目のバイトと3番目のバイト(即ち、Y値)
を複写先に実質的に上書きせずに、2番目のバイトと4
番目のバイトのみを実質的に上書きするという演算を行
う。
【0069】隣接するラインにU及びV(色差)値を複
写することは、MPEGデータを完全に復号化する上で
十分な処理である。人間の目は、色に対する感度が輝度
よりも高くないため、U及びVデータの複写(又は補
間)によって、いくつかの色歪みが発生したとしても、
表示画面上で目立つことはない。
【0070】他に採りうる実施の形態においては、U及
びVデータは、上述した技術を用いて水平方向に複写さ
れる。2番目のBITBLIT演算において、隣接する
ライン(複写元)からのU及びVデータが、その複写さ
れたU及びVデータ(複写先)と合成されることによっ
て、補間されたU及びV値が作成され、書き込まれる。
【0071】ホストCPUにおけるソフトウェアのMP
EG復号化演算処理は、U及びVデータの単一フレーム
への転送を終えたとき、PCIバス150を通じてディ
スプレイコントローラに320にそのデータ転送が完了
したことを示す信号を発生する。そのとき、ディスプレ
イコントローラ320は、BITBLITエンジン51
3に対して色差データ(U、V)を1つ置きの走査線に
複写を行うことを指令する。このBITBLIT演算
は、ホストCPUでの次のフレームのためのデータの並
び替え及び復号処理と並行して行われ、これによって、
ビデオ再生動作ためのより高度のビットの操作支援を提
供する。
【0072】そのBITBLIT演算が完了したとき、
BITBLITエンジン513は、それに同期して、メ
モリコントローラ520に対してディスプレイメモリ1
30のビデオバッファ202及び203間の切り替えを
行うための指令を出す。これにより、ディスプレイコン
トローラ320でのディスプレイ180に対する読出し
データの出力のための正確な切り替え動作が継続され
る。仮に、ディスプレイコントローラ320がホストC
PUからの完了信号に基づいてビデオバッファ202及
び203の切り替えを行うのであれば、出力データはゆ
がめられ、ディスプレイコントローラ320は、ビデオ
バッファ202及び203内のそのゆがめられたデータ
に基づいてBITBLIT演算を行うことになる。
【0073】ビデオバッファの切り替え動作は、ホスト
CPU101によって行われ得る。しかしながら、この
ような技術においては、ホストCPUは、ディスプレイ
コントローラ320に対して、BITBLIT演算によ
るU及びVデータの複写がいつ行われたかを定期的に問
い合わせをして、ビデオバッファ202及び203の切
り替え指令を行なう必要がある。このように、ディスプ
レイコントローラ320は、該ホストCPU110をよ
り一層、他のタスク(処理)から解放する。ホストCP
U110は、該ホストCPU110がビデオバッファ2
02及び203のいずれかにデータを書き込む際の準備
段階において、ビデオバッファ202及び203をチェ
ックするだけでよい。このとき、ホストCPU110
は、有効なビデオバッファを確認するためにチェックす
ることになる。
【0074】このように、ソフトウェアによるMPEG
復号器(復号化処理)は、ディスプレイコントローラ3
20において、ビデオバッファ202及び203の一方
から、既に処理が完了したフレームのデータを再生して
いる間に、ビデオバッファ202及び203の他方を指
定してデータを書き込む。
【0075】以上、本発明に係る実施の形態及び種々の
変形例を詳細に説明してきたが、本発明は、上述の実施
の形態に限らず、この発明の要旨を逸脱することなく、
種々の構成を採り得ることはもちろんである。
【0076】
【発明の効果】以上説明したように、本発明に係るディ
スプレイコントローラ及び復号化支援方法によれば、ホ
ストCPUで行われていたMPEGデータの復号化処理
のうち、負荷の高い処理をディスプレイコントローラ内
にて行うようにしているため、ホストCPUでの処理を
緩和させ、高性能なCPUの機能を最大限に活用でき
る。
【0077】また、ディスプレイコントローラでのコン
ポーネントYUVデータから画素順次のフォーマットへ
の変換処理を効率よく行うことができ、しかも、いまま
で予備とされていた記憶領域を有効利用するようにして
いるため、前記変換処理の効率化を図ることができる。
【図面の簡単な説明】
【図1】本発明のディスプレイコントローラでソフトウ
ェア上のMPEG復号化を行うコンピュータシステムの
各構成要素の配置を示すブロック図である。
【図2】YUVデータを格納するために、PCIが配置
される部分のメモリアドレスレンジを、図1に示すディ
スプレイメモリ130のアドレスレンジにて割り付けた
状態を示すメモリマップである。
【図3】図1に示すディスプレイコントローラ320の
一形態を示すブロック図である。
【図4】図1に示すディスプレイメモリ130内での
Y、U及びV成分の格納状態を示す図である。
【図5】図1に示すシステムメモリ160内でのY、U
及びVデータの格納状態を示す図である。
【図6】図6Aは、従来のソフトウェアによるMPEG
復号化処理によって、Y、U及びVデータがシステムメ
モリに対してどのように格納されるかを示す図であり、
図6Bは、従来のソフトウェアによるMPEG復号化処
理によって、Y、U及びVデータが画素順次形態でディ
スプレイメモリにどのように格納されるかを示す図であ
り、図6Cは、従来のソフトウェアによるMPEG復号
化処理において必須とされるU及びVデータのディスプ
レイメモリに対する垂直方向の書き入れによるU及びV
データの格納形態を示す図である。
【図7】マイクロプロセッサ、MPEGデコーダ、ディ
スプレイコントローラ及びディスプレイメモリ間の関係
を示す従来のパーソナルコンピュータの概略ブロック図
である。
【符号の説明】
110…ホストCPU 130…ディスプレ
イメモリ 150…PCIバス 160…システムメ
モリ 180…ディスプレイ 320…ディスプレ
イコントローラ 701…Y領域 702…U領域 703…V領域
───────────────────────────────────────────────────── フロントページの続き (71)出願人 595158337 3100 West Warren Aven ue,Fremont,Californ ia 94538,U.S.A.

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】データバスからYUV成分のフォーマット
    によるビデオデータを受け取って、画素順次のフォーマ
    ットによるビデオデータとしてディスプレイメモリに格
    納するディスプレイコントローラであって、 データバスに接続され、YUV成分のフォーマットによ
    るビデオデータと予め決められたアドレス領域に対応す
    るビデオデータのアドレスを受け取るバスインターフェ
    ース手段と、 前記少なくとも1つのメモリ構造のレジスタと前記バス
    インターフェース手段に接続され、YUV成分のフォー
    マットによるビデオデータと予め決められたアドレス領
    域に対応するビデオデータのアドレスを受け取り、前記
    ビデオデータをる画素順次のフォーマットでディスプレ
    イメモリに格納するディスプレイメモリコントローラ
    と、 を有することを特徴とするディスプレイコントローラ。
  2. 【請求項2】請求項1記載のディスプレイコントローラ
    において、 前記ビデオデータは、輝度データと色差データを有し、 前記YUV成分のフォーマットは、輝度データの第1隣
    接ブロックと色差データの少なくとも第2隣接ブロック
    を有することを特徴とするディスプレイコントローラ。
  3. 【請求項3】請求項2記載のディスプレイコントローラ
    において、 前記ディスプレイメモリコントローラは、輝度データの
    第1隣接ブロックを受け取って、該輝度データの第1隣
    接ブロックをディスプレイメモリ内の少なくとも1つの
    バイトレーンに格納することを特徴とするディスプレイ
    コントローラ。
  4. 【請求項4】請求項3記載のディスプレイコントローラ
    において、 前記ディスプレイメモリコントローラは、前記色差デー
    タの少なくとも第2隣接ブロックを受け取って、該色差
    データの少なくとも第2隣接ブロックをディスプレイメ
    モリ内の少なくとも他のバイトレーンに格納することを
    特徴とするディスプレイコントローラ。
  5. 【請求項5】請求項4記載のディスプレイコントローラ
    において、 前記輝度データの第1隣接ブロックは、1フレームの輝
    度データからなることを特徴とするディスプレイコント
    ローラ。
  6. 【請求項6】請求項5記載のディスプレイコントローラ
    において、 前記色差データの少なくとも第2隣接ブロックは、1フ
    レームの色差データからなることを特徴とするディスプ
    レイコントローラ。
  7. 【請求項7】請求項6記載のディスプレイコントローラ
    において、 前記少なくとも1つのバイトレーンは、隣接するバイト
    レーンとで複数の対を構成し、 前記複数対のバイトレーンの各対は、1フレームのビデ
    オデータにおける1ラインの輝度データの対を格納する
    ためのものであることを特徴とするディスプレイコント
    ローラ。
  8. 【請求項8】請求項7記載のディスプレイコントローラ
    において、 前記少なくとも1つのバイトレーンは、隣接するバイト
    レーンとで複数の対を構成し、 前記複数対のバイトレーンの各対は、1フレームのビデ
    オデータにおける1ラインの色差データの対を格納する
    ためのものであることを特徴とするディスプレイコント
    ローラ。
  9. 【請求項9】請求項8記載のディスプレイコントローラ
    において、 前記色差データは、1つ置きのライン毎における前記複
    数対のバイトレーンの各対に格納され、更に、ディスプ
    レイコントローラは、ディスプレイメモリ内にデータブ
    ロックを転送するためのビットブロック転送エンジンを
    有し、 前記ビットブロック転送エンジンは、色差データを1つ
    置きのライン毎における前記多数対のバイトレーンから
    対応する隣接ラインの前記多数対のバイトレーンに複写
    することを特徴とするディスプレイコントローラ。
  10. 【請求項10】請求項9記載のディスプレイコントロー
    ラにおいて、 前記ビットブロック転送エンジンは、前記ディスプレイ
    メモリコントローラにおける1フレーム分のビデオデー
    タのディスプレイメモリへの格納処理が完了した後に色
    差データを複写することを特徴とするディスプレイコン
    トローラ。
  11. 【請求項11】請求項10記載のディスプレイコントロ
    ーラにおいて、 前記ディスプレイコントローラは、前記バスインターフ
    ェースを通じてビットブロック転送処理の完了を示す信
    号をホストプロセッサに出力することを特徴とするディ
    スプレイコントローラ。
  12. 【請求項12】ホストプロセッサにおいて部分的に復号
    化されたビデオデータの復号化処理を支援するための復
    号化支援方法であって、 ディスプレイコントローラにおいて、YUV成分のフォ
    ーマットによるビデオデータと予め決められたアドレス
    領域に対応するビデオデータのアドレスを受け取るステ
    ップと、 前記ビデオデータを画素順次のフォーマットとしてディ
    スプレイメモリに格納するステップを有することを特徴
    とする復号化支援方法。
  13. 【請求項13】請求項12記載の復号化支援方法におい
    て、 前記ビデオデータは、輝度データと色差データを有し、 前記YUV成分のフォーマットは、輝度データの第1隣
    接ブロックと色差データの少なくとも第2隣接ブロック
    を有することを特徴とする復号化支援方法。
  14. 【請求項14】請求項13記載の復号化支援方法におい
    て、 前記格納ステップは、該輝度データの第1隣接ブロック
    をディスプレイメモリ内の少なくとも1つのバイトレー
    ンに格納するステップを有することを特徴とする復号化
    支援方法。
  15. 【請求項15】請求項14記載の復号化支援方法におい
    て、 前記格納ステップは、更に、色差データの少なくとも第
    2隣接ブロックをディスプレイメモリ内の少なくとも他
    のバイトレーンに格納するステップを有することを特徴
    とする復号化支援方法。
  16. 【請求項16】請求項15記載の復号化支援方法におい
    て、 前記輝度データの第1隣接ブロックは、1フレームの輝
    度データからなることを特徴とする復号化支援方法。
  17. 【請求項17】請求項16記載の復号化支援方法におい
    て、 前記色差データの少なくとも第2隣接ブロックは、1フ
    レームの色差データからなることを特徴とする復号化支
    援方法。
  18. 【請求項18】請求項17記載の復号化支援方法におい
    て、 前記少なくとも1つのバイトレーンは、隣接するバイト
    レーンとで複数の対を構成し、 前記複数対のバイトレーンの各対は、1フレームのビデ
    オデータにおける1ラインの輝度データの対を格納する
    ためのものであることを特徴とする復号化支援方法。
  19. 【請求項19】請求項18記載の復号化支援方法におい
    て、 前記少なくとも1つのバイトレーンは、隣接するバイト
    レーンとで複数の対を構成し、 前記複数対のバイトレーンの各対は、1フレームのビデ
    オデータにおける1ラインの色差データの対を格納する
    ためのものであることを特徴とする復号化支援方法。
  20. 【請求項20】請求項19記載の復号化支援方法におい
    て、 前記格納ステップは、更に、前記色差データを1つ置き
    のライン毎における前記複数対のバイトレーンの各対に
    格納するステップと、 ディスプレイコントローラ内におけるビットブロック転
    送エンジンにおいて、色差データを1つ置きのライン毎
    における前記多数対のバイトレーンから対応する隣接ラ
    インの前記多数対のバイトレーンに複製(複写)するス
    テップを有することを特徴とする復号化支援方法。
  21. 【請求項21】請求項20記載の復号化支援方法におい
    て、 前記ビットブロック転送エンジンは、前記ディスプレイ
    メモリコントローラにおける1フレーム分のビデオデー
    タのディスプレイメモリへの格納処理が完了した後に色
    差データを複写することを特徴とする復号化支援方法。
  22. 【請求項22】請求項21記載の復号化支援方法におい
    て、 前記バスインターフェースを通じてビットブロック転送
    処理の完了を示す信号をホストプロセッサに出力するス
    テップを有することを特徴とする復号化支援方法。
JP06875797A 1996-03-21 1997-03-21 ソフトウェアによるmpegデコーダに対してyuvデータフォーマット変換を支援するハードウェア Expired - Lifetime JP3442252B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/619203 1996-03-21
US08/619,203 US6005546A (en) 1996-03-21 1996-03-21 Hardware assist for YUV data format conversion to software MPEG decoder

Publications (2)

Publication Number Publication Date
JPH1084557A true JPH1084557A (ja) 1998-03-31
JP3442252B2 JP3442252B2 (ja) 2003-09-02

Family

ID=24480887

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06875797A Expired - Lifetime JP3442252B2 (ja) 1996-03-21 1997-03-21 ソフトウェアによるmpegデコーダに対してyuvデータフォーマット変換を支援するハードウェア

Country Status (6)

Country Link
US (2) US6005546A (ja)
EP (1) EP0797181B1 (ja)
JP (1) JP3442252B2 (ja)
AT (1) ATE395680T1 (ja)
DE (1) DE69738678D1 (ja)
TW (1) TW376479B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7408587B2 (en) 2001-03-26 2008-08-05 Mega Chips Corporation Image conversion device, image conversion method and data conversion circuit as well as digital camera

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6005546A (en) * 1996-03-21 1999-12-21 S3 Incorporated Hardware assist for YUV data format conversion to software MPEG decoder
US5859651A (en) * 1996-08-19 1999-01-12 International Business Machines Corporation Method and apparatus for block data transfer to reduce on-chip storage for interpolative video resizing
US6212680B1 (en) * 1998-03-04 2001-04-03 Kabushiki Kaisha Toshiba Multi-channel electronic programming guide and soft picture-in-picture acquisition for use with digital television
US6570579B1 (en) 1998-11-09 2003-05-27 Broadcom Corporation Graphics display system
US6661422B1 (en) 1998-11-09 2003-12-09 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
US6636222B1 (en) 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
US6853385B1 (en) 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US7446774B1 (en) 1998-11-09 2008-11-04 Broadcom Corporation Video and graphics system with an integrated system bridge controller
US6573905B1 (en) 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
US6798420B1 (en) 1998-11-09 2004-09-28 Broadcom Corporation Video and graphics system with a single-port RAM
US6768774B1 (en) 1998-11-09 2004-07-27 Broadcom Corporation Video and graphics system with video scaling
US6469744B1 (en) * 1999-07-06 2002-10-22 Hitachi America, Ltd. Methods and apparatus for encoding, decoding and displaying images in a manner that produces smooth motion
US6538656B1 (en) 1999-11-09 2003-03-25 Broadcom Corporation Video and graphics system with a data transport processor
US9668011B2 (en) 2001-02-05 2017-05-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Single chip set-top box system
US8913667B2 (en) 1999-11-09 2014-12-16 Broadcom Corporation Video decoding system having a programmable variable-length decoder
US6738424B1 (en) 1999-12-27 2004-05-18 Objectvideo, Inc. Scene model generation from video for use in video processing
US6507350B1 (en) * 1999-12-29 2003-01-14 Intel Corporation Flat-panel display drive using sub-sampled YCBCR color signals
US6674479B2 (en) * 2000-01-07 2004-01-06 Intel Corporation Method and apparatus for implementing 4:2:0 to 4:2:2 and 4:2:2 to 4:2:0 color space conversion
KR100374567B1 (ko) * 2000-09-29 2003-03-04 삼성전자주식회사 컬러 디스플레이장치를 구비한 휴대용 이동 전화기의 컬러디스플레이 구동장치
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
US7009655B2 (en) 2002-07-23 2006-03-07 Mediostream, Inc. Method and system for direct recording of video information onto a disk medium
GB0304807D0 (en) * 2003-03-03 2003-04-09 Cambridge Internetworking Ltd Data protocol
US7667710B2 (en) 2003-04-25 2010-02-23 Broadcom Corporation Graphics display system with line buffer control scheme
US7271812B2 (en) 2003-09-18 2007-09-18 Seiko Epson Corporation Method and apparatus for color space conversion
US20050062755A1 (en) * 2003-09-18 2005-03-24 Phil Van Dyke YUV display buffer
US8063916B2 (en) 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
US7304646B2 (en) * 2004-08-19 2007-12-04 Sony Computer Entertainment Inc. Image data structure for direct memory access
US8243340B2 (en) * 2006-02-23 2012-08-14 Microsoft Corporation Pre-processing of image data for enhanced compression
US20080055327A1 (en) * 2006-09-06 2008-03-06 Barinder Singh Rai Highly Efficient Display FIFO
US8922571B2 (en) * 2012-09-11 2014-12-30 Apple Inc. Display pipe request aggregation
US9117299B2 (en) 2013-05-08 2015-08-25 Apple Inc. Inverse request aggregation
US9471955B2 (en) 2014-06-19 2016-10-18 Apple Inc. Multiple display pipelines driving a divided display
US9865205B2 (en) * 2015-01-19 2018-01-09 Himax Technologies Limited Method for transmitting data from timing controller to source driver and associated timing controller and display system
US10565160B1 (en) * 2015-09-21 2020-02-18 Amazon Technologies, Inc. Managing state changes of modeled objects in a three dimensional virtual environment
CN107146269B (zh) * 2017-04-10 2021-04-13 贵阳朗玛信息技术股份有限公司 一种图像填充方法及系统
CN111835994B (zh) * 2019-04-16 2022-09-20 瑞昱半导体股份有限公司 多通道视频处理方法与系统

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2782631B2 (ja) * 1989-12-14 1998-08-06 キヤノン株式会社 画像信号処理方法
US5428389A (en) * 1990-06-14 1995-06-27 Fuji Photo Film Co., Ltd. Image data storage/processing apparatus
US5249164A (en) * 1990-06-27 1993-09-28 Koz Mark C Digital color tv for personal computers
FR2664779B1 (fr) * 1990-07-13 1993-06-11 Europ Rech Electr Lab Procede de traitement d'un signal video.
WO1993020513A1 (en) * 1992-04-07 1993-10-14 Chips And Technologies, Inc. Method and apparatus for performing run length tagging for increased bandwidth in dynamic data repetitive memory systems
US5461420A (en) * 1992-09-18 1995-10-24 Sony Corporation Apparatus for coding and decoding a digital video signal derived from a motion picture film source
US5469228A (en) * 1992-12-31 1995-11-21 Hyundai Electronics Industries Co., Ltd. Memory address and display control apparatus for high definition television
KR950006768B1 (ko) * 1992-12-31 1995-06-22 현대전자산업주식회사 라스터 포멧 콘버터 회로
US5446860A (en) * 1993-01-11 1995-08-29 Hewlett-Packard Company Apparatus for determining a computer memory configuration of memory modules using presence detect bits shifted serially into a configuration register
JP3084175B2 (ja) * 1993-06-18 2000-09-04 シャープ株式会社 画像圧縮装置
US5459516A (en) * 1993-07-16 1995-10-17 Goldstar Co., Ltd. Video motion compensation apparatus
US5666137A (en) * 1993-08-06 1997-09-09 Intel Corporation Packed YUV9 format for interleaved storage and efficient processing of digital video data
US5553220A (en) * 1993-09-07 1996-09-03 Cirrus Logic, Inc. Managing audio data using a graphics display controller
US5604514A (en) * 1994-01-03 1997-02-18 International Business Machines Corporation Personal computer with combined graphics/image display system having pixel mode frame buffer interpretation
US5450130A (en) * 1994-03-30 1995-09-12 Radius Inc. Method and system for cell based image data compression
US5821919A (en) * 1994-04-29 1998-10-13 Intel Corporation Apparatus for table-driven conversion of pixels from YVU to RGB format
US5642139A (en) * 1994-04-29 1997-06-24 Cirrus Logic, Inc. PCMCIA video card
US5495291A (en) * 1994-07-22 1996-02-27 Hewlett-Packard Company Decompression system for compressed video data for providing uninterrupted decompressed video data output
EP0710033A3 (en) * 1994-10-28 1999-06-09 Matsushita Electric Industrial Co., Ltd. MPEG video decoder having a high bandwidth memory
US6067098A (en) * 1994-11-16 2000-05-23 Interactive Silicon, Inc. Video/graphics controller which performs pointer-based display list video refresh operation
JP3489228B2 (ja) * 1994-12-13 2004-01-19 ソニー株式会社 画像記憶装置
US5611041A (en) * 1994-12-19 1997-03-11 Cirrus Logic, Inc. Memory bandwidth optimization
US5815168A (en) * 1995-06-23 1998-09-29 Cirrus Logic, Inc. Tiled memory addressing with programmable tile dimensions
US5699277A (en) * 1996-01-02 1997-12-16 Intel Corporation Method and apparatus for source clipping a video image in a video delivery system
US6005546A (en) 1996-03-21 1999-12-21 S3 Incorporated Hardware assist for YUV data format conversion to software MPEG decoder

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7408587B2 (en) 2001-03-26 2008-08-05 Mega Chips Corporation Image conversion device, image conversion method and data conversion circuit as well as digital camera

Also Published As

Publication number Publication date
EP0797181A2 (en) 1997-09-24
JP3442252B2 (ja) 2003-09-02
TW376479B (en) 1999-12-11
EP0797181B1 (en) 2008-05-14
US6005546A (en) 1999-12-21
EP0797181A3 (en) 1998-01-07
DE69738678D1 (de) 2008-06-26
US6353440B1 (en) 2002-03-05
ATE395680T1 (de) 2008-05-15

Similar Documents

Publication Publication Date Title
JP3442252B2 (ja) ソフトウェアによるmpegデコーダに対してyuvデータフォーマット変換を支援するハードウェア
US6466220B1 (en) Graphics engine architecture
US5301272A (en) Method and apparatus for address space aliasing to identify pixel types
JP3268779B2 (ja) ビデオウィンドウのための可変ピクセルデプスおよびフォーマット
US5943065A (en) Video/graphics memory system
US5546103A (en) Method and apparatus for displaying an image in a windowed environment
US5345554A (en) Visual frame buffer architecture
US7671864B2 (en) Faster image processing
JPH02230386A (ja) 音響表示発生器
US6223268B1 (en) System and method for writing specific bytes in a wide-word memory
US5572232A (en) Method and apparatus for displaying an image using subsystem interrogation
US20100020247A1 (en) Method for assisting video compression in a computer system
US5727139A (en) Method and apparatus for minimizing number of pixel data fetches required for a stretch operation of video images
US6031550A (en) Pixel data X striping in a graphics processor
US6323868B1 (en) System and method for frame and field memory access in a wide-word memory
US5900887A (en) Multiplexed wide interface to SGRAM on a graphics controller for complex-pattern fills without color and mask registers
JPH10210501A (ja) デジタルスチルカメラのメモリ制御回路
US5751270A (en) Method and apparatus for displaying an image using direct memory access
US5552803A (en) Method and apparatus for displaying an image using system profiling
US5977991A (en) Frame buffer system with non-overlapping pixel buffer access variable interleaving, nibble replication
JPH1069548A (ja) コンピュータ・グラフィックス・システム
US5652601A (en) Method and apparatus for displaying a color converted image
US6987545B1 (en) Apparatus for assisting video compression in a computer system
US8098254B2 (en) Power savings in a computing device during video playback
GB2291320A (en) Video/graphics memory system

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20080620

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080620

Year of fee payment: 5

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20080620

Year of fee payment: 5

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20080620

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090620

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100620

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term