JPH05292331A - ラン・レングス・コードのデコード方法、ビデオ・コントローラ、及びデータ処理システム - Google Patents

ラン・レングス・コードのデコード方法、ビデオ・コントローラ、及びデータ処理システム

Info

Publication number
JPH05292331A
JPH05292331A JP4074029A JP7402992A JPH05292331A JP H05292331 A JPH05292331 A JP H05292331A JP 4074029 A JP4074029 A JP 4074029A JP 7402992 A JP7402992 A JP 7402992A JP H05292331 A JPH05292331 A JP H05292331A
Authority
JP
Japan
Prior art keywords
data
bit map
map memory
memory
controller
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.)
Pending
Application number
JP4074029A
Other languages
English (en)
Inventor
Yutaka Aoki
豊 青木
Yuji Aida
裕二 合田
P Lackley Darwin
ダーウィン・ピー・ラックレイ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP4074029A priority Critical patent/JPH05292331A/ja
Priority to EP93301862A priority patent/EP0564111A2/en
Priority to US08/032,084 priority patent/US5422995A/en
Priority to BR9301306A priority patent/BR9301306A/pt
Publication of JPH05292331A publication Critical patent/JPH05292331A/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00—Image coding
    • G06T9/005—Statistical coding, e.g. Huffman, run length coding
    • H—ELECTRICITY
    • H03—ELECTRONIC CIRCUITRY
    • H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【目的】 ラン・レングス・コードをデコードしてビッ
ト・マップ・メモリへ書き込む速度を向上させる。 【構成】 デコードされたデータをビット・マップ・モ
メリに書き込む際に、ラン・レングス・コード・データ
のフロー中に含まれる所定のコードに応答して、データ
を書き込むべきビット・マップ・メモリ中の場所を所定
の範囲だけ飛び越すようにして、ビット・マップ・メモ
リへの書き込み動作の回数を減らすようにした。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ラン・レングス・コー
ドに係り、更に詳しくは、ラン・レングス・コードのデ
コードに関する。
【0002】
【従来の技術】ラン・レングス・コード法はカラー・イ
メージ・データのデータ圧縮方法の1つとして知られて
いる。ラン・レングス・コードの一例はバイトの対から
成り、第1のバイトは表示すべきカラーを指定し、第2
のバイトは第1のバイトで指定したカラーが連続する表
示装置上のピクセル数を指定する。カラー・イメージ・
データとしてのラン・レングス・コードはCD−ROM
等の外部記憶装置からデータ処理装置内のシステム・メ
モリに移された後、デコードされてビット・マップ・メ
モリに保持される。ビット・マップ・メモリは、表示装
置の表示画面上の表示位置に対応した記憶位置を備えて
おり、ビット・マップ・メモリに書き込まれたデータ
は、ビデオ・コントーラの働きにより表示装置に表示さ
れる。ところで、従来のラン・レングス・コードをデコ
ードしてビット・マップ・メモリに書き込む方法は、必
ずしも処理速度の速いものではなかった。
【0003】尚、特開昭61年第7769号公報には、
イメージ・データをラン・レングス・データに変換する
ための変換手段と、ラン・レングス・データを保持する
ためのイメージ・メモリと、変換済みのデータをイメー
ジ・メモリに書き込む前に1或は0の何れかをイメージ
・メモリの全ての領域に書き込む手段と、イメージ・メ
モリのアドレス指定用のレジスタ内の値にラン・レング
ス値を加算するための加算器と、を有し、イメージ・メ
モリに既に書き込まれている初期値(11或は0の何れ
か)と同じデータについてはイメージ・メモリに書き込
みを行わずにアドレス指定用のレジスタ内の値を更新
し、初期値と反対のデータについてだけイメージ・メモ
リに書き込みを行うような、イメージ・メモリ書き込み
制御方式が記載されている。しかしながら、この従来技
術は、ラン・レングス・コードをラン・レングス・コー
ドのままでメモリに書き込む技術に関しており、ラン・
レングス・コードのデコードに関するものではない。ま
た、この従来技術はモノクローム・イメージのデータに
しか適用できず、カラー・イメージ・データには適用で
きない。
【0004】
【解決しようとする問題点】本発明の目的は、ラン・レ
ングス・コードをデコードしてビット・マップ・メモリ
へ書き込む速度を向上させることである。
【0005】
【課題を解決するための手段】前記目的を達成するた
め、本発明に係るラン・レングス・コードのデコード方
法は、デコードされたデータをビット・マップ・モメリ
に書き込む際に、ラン・レングス・コード・データのフ
ロー中に含まれる所定のコードに応答して、データを書
き込むべきビット・マップ・メモリ中の場所を所定の範
囲だけ飛び越すようにして、ビット・マップ・メモリへ
の書き込み動作の回数を減らすようにした。また、本発
明に係るビデオ・コントローラは、ラン・レングス・コ
ード・データのフロー中に含まれる所定のコードに応答
して、データを書き込むべきビット・マップ・メモリ中
の場所が所定の範囲だけ飛び越されるようになってい
る。
【0006】
【実施例】以下、本発明の実施例を図面に基づいて説明
する。図1には本発明に係るデータ処理システムの一実
施例の全体構成が示されている。図中、CPU2にはシ
ステム・バス4が接続され、システム・バス4にはSC
SIインターフェース6を介する等してCD−ROM等
の外部記憶装置8が接続されている。また、システム・
バス4にはシステム・メモリ10が接続され、更に、ビ
デオ・コントローラ12を介してビット・マップ・メモ
リ14及びカラーCRT等のカラーの表示装置16が接
続されている。外部記憶装置8にはラン・レングス・コ
ードに従って表された表示用データが保持され、外部記
憶装置8内のラン・レングス・コード・データはCPU
2により読み出されてシステム・メモリ10内に一旦保
持された後、ビデオ・コントローラ12によりデコード
され、デコードされたデータはビット・マップ・メモリ
14に書き込まれるようになっている。ビット・マップ
・メモリ14はビデオ・バッファの1種である。ビット
・マップ・メモリ14内の記憶位置と表示装置16の表
示位置とが対応関係を有している。ビデオ・コントロー
ラ12はビット・マップ・メモリ14からデータを読み
出してビデオ信号に変換した後に表示装置16に転送す
る。
【0007】
【表1】 本実施例のラン・レングス・コードは、表1に示される
ように、2バイト(1ワード)で構成される。ラン・レ
ングス・コードの第1のバイト(Lバイト)は同一のカ
ラーを連続して表示させるピクセル数を指定し、第2の
バイト(Hバイト)はカラーの種類を指定する。ラン・
モードでは、連続する2つのバイトがラン・レングス・
コードであるとの前提に立って、第2のバイトで指定さ
れたカラーを第1のバイト指定されたピクセル数に対応
する数だけ繰り返してビット・マップ・メモリ14の記
憶場所に書き込むようビデオ・コントローラ12が動作
する。絶対モードでは、絶対モード・エントリ(Lバイ
ト:00H、Hバイト:03H−FFH)の後、第1の
バイトも第2のバイトも単にピクセルのカラーを指定し
ているという前提に立って、システム・メモリ10のデ
ータをビット・マップ・メモリ14に書き込むようビデ
オ・コントローラ12が動作する。
【0008】第1のバイト(Lバイト)が00Hのコー
ドをエキストラ・コードと呼ぶことにする。表1にはエ
キストラ・コードの指定内容が示されている。第2のバ
イト(Hバイト)が00Hのエキストラ・コードは表示
ラインの終了(EOL)を指定する。このコードに対し
ては、ビデオ・コントローラ12はビット・マップ・メ
モリ14の書き込み場所(アドレス・ポイント)を、現
在の表示位置が表示ラインの途中であっても、次の表示
ラインの先頭の表示位置に対応するアドレスまで移動さ
せる。第2のバイトが01Hのエキストラ・コードはフ
レームの終了(EOF)を指定する。このコードに対し
ては、ビデオ・コントローラ12はビット・マップ・メ
モリ14のアドレス・ポイントを、次のフレームの先頭
の表示位置に対応するアドレスまで移動させる。第2の
バイトが03HからFFHのエキストラ・コードは絶対
モードを指定する。このコードに対しては、第2のバイ
トで指定されるピクセル数のデータをシステム・メネリ
10から順次読み出してビット・マップ・メモリ14に
書き込む。
【0009】第2のバイト(Hバイト)が02Hのエキ
ストラ・コードをスキップ・エントリ(飛び越し指定)
と呼ぶことにする。スキップ・エントリは、スキップ・
エントリの後続の2バイトにより指定される範囲だけ、
ビット・マップ・メモリ14のアドレス・ポイントを移
動させる。スキップ・エントリの後続の第1のバイト
(Lバイト)は水平方向に飛び越すピクセル数を指定
し、第2のバイト(Hバイト)は垂直方向に飛び越す表
示ライン数を指定する。スキップ・エントリにより飛び
越された領域内のビット・マップ・メモリ14中のデー
タに対しては書き換え動作は行われず、それまでのデー
タが単に維持される。
【0010】図2には、システム・メモリ10内のデコ
ード前のデータとビット・マップ・メモリ14内のデコ
ード後のデータの一例が示されている。尚、この例では
1ピクセル当りが8ビットのデータで表される。システ
ム・メモリ10のアドレスn番地内の「03H」とアド
レス(n+1)番地内の「77H」は、77Hで指定さ
れるカラーが3ピクセル連続することを表している。従
って、それはデコード後には「77H、77H、77
H」となる。アドレス(n+2)番地内の「00H」と
アドレス(n+3)番地内の「05H」は、エキストラ
・コードの内の絶対モード・エントリである。この絶対
モード・エントリは、絶対モードが5ピクセル数だけ連
続することを表している。従って、絶対モード・エント
リ後の5バイトのデータ「55H、AAH、33H、C
CH、EEH」はビット・マップ・メモリ14にもその
まま書き込まれる。この際、アドレス(n+9)番地の
データは無視され、ビット・マップ・メモリ14内のデ
ータには影響しない。アドレス(n+10)番地内の
「03H」とアドレス(n+11)番地の「11H」
は、11Hで指定されるカラーが3ピクセル数だけ連続
することを表しているので、デコード後は「11H、1
1H、11H」となる。
【0011】図3にはビデオ・コントローラ12の内の
ラン・レングス・コード(RLC)のデコータ12Aの
構成が示されている。RLCデコーダ12Aの主要な構
成要素はI/Oレジスタ群18、RLCオペレーション
・コントローラ20、RLCグラフィック・データ・コ
ントローラ30、及び、物理アドレス発生器40であ
る。I/Oレジスタ群18はCPU2による書き込みが
可能である。I/Oレジスタ群18中の動作開始レジス
タ19の所定のビット位置(動作開始命令ビット)19
Aの値が0から1に書き換えられるとデコーダ12Aは
動作を開始する。即ち、CPU2からデコーダ12Aへ
の動作開始命令は動作開始レジスタ19の特定のビット
値19Aを1(真)にすることである。この特定ビット
19Aの値はRLCオペレーション・コントローラ20
内の次ステート発生器24(図4)に常に与えられてい
る。RLCオペレーション・コントローラ20はラン・
レングス・コードの第1及び第2のバイト部分を解釈し
てRLCデコーダ12Aの動作を決定する。RLCグラ
フィック・データ・コントローラ30はシステム・メモ
リ10からのデータに基づいてビット・マップ・メモリ
14に書き込むべきデータを、動作モードに従って、生
成する。物理アドレス発生器40はデコード後のデータ
を書き込む際のビット・マップ・メモリ14のアドレス
を生成する。
【0012】図4にはRLCオペレーション・コントロ
ーラ20の構成が示されている。RLCオペレーション
・コントローラ20はRLCオペレーション・コントロ
ール・カウンタ22、次ステート発生器24、コマンド
発生器26、コマンド・タイミング調整器27、RLC
オペレーション・サブ・コントローラ28、ハンドシェ
イク信号タイミング調整器29、及び非同期回路38を
有している。また、RLCオペレーション・コントロー
ル・カウンタ22は2つの同期フィードバック・ループ
32及び34と、1つの非同期フィードバック・ループ
36とを有している。後続(次)のステートは現在ステ
ートと2つの同期フィードバック・ループ32及び34
からのデータとから生成される。次ステートはクロック
信号の各立上りで生成される。
【0013】図5にはRLCオペレーション・コントロ
ール・カウンタ22及び次ステート発生器24が示され
ている。RLCオペレーション・コントロール・カウン
タ22は並列に配置された4つのD型フリップ・フロッ
プ23−1、23−2、23−3、及び23−4から成
り、デコーダ12Aの全体の動作を規定する複数のステ
ート間を遷移するステート・マシンの1種である。全て
のD型フリップ・フロップ23−1乃至23−4は電源
投入時にリセットされ、デコーダ12Aに動作開始命令
が与えられるまで待機状態を続ける。次ステート発生器
24はマルチプレクサ(MUX)25を備え、MUX2
5は動作開始命令ビット19Aにより駆動される。動作
開始命令ビット19AによるMUX25の駆動はクロッ
ク信号のタイミングに合わせて行われる。MUX25の
2つの入力は4ビットの固定データ「0000」と4ビ
ットの固定データ「0001」である。固定データ「0
000」は待機ステートに対応し、固定データ「000
1」は動作開始ステートに対応する。MUX25の4ビ
ットの出力は同期フィードバック・ループ32を介して
4つのD型FF23−1、23−2、23−3、及23
−4の夫々に与えられる。
【0014】CPU2が動作開始命令ビット19Aに1
を書き込むか否かによって、RLCオペレーション・コ
ントロール・カウンタ22はRLCデコードのための最
初のオペレーションを開始するか待機状態を継続する。
これは、動作開始命令ビット19Aの値によって、4つ
のD型FF23−1、23−2、23−3、及23−4
の出力値をRLCデコードのための最初のオペレーショ
ンを示す値(0001)にするか、待機状態を示す値
(0000)にすることにより実行される。動作開始後
は、デコーダ12Aがデコード終了コードを受け取るま
で、動作開始命令ビット19Aは動作中を示す値を保持
する。デコーダ12Aが動作を終了する時は、RLCオ
ペレーション・コントローラ20からリセット信号が動
作開始レジスタ19に送られ、動作開始命令ビット12
Aはリセットされる。この結果、RLCオペレーション
・コントロール・カウンタ22は待機ステートになる。
CPU2によって次に動作開始命令ビット19Aが1に
なるまでRLCオペレーション・コントロール・カウン
タ22は待機ステート状態を継続する。
【0015】次ステート発生器24はRLCオペレーシ
ョン・コントロール・カウンタ22の次ステートを算出
する。次ステートの算出には次の3つの場合がある。第
1の場合は、同期フィードバック・ループ32を用いる
場合である。同期フィードバック・ループ32は次ステ
ート発生器24とRLCオペレーション・コントロール
・カウンタ22とから成っている。第1の場合では、次
ステート発生器24はRLCオペレーション・コントロ
ール・カウンタ22の保持する現ステートの情報だけか
ら次ステートを算出する。
【0016】同期フィードバック・ループ32は、未定
義のステートにRLCオペレーション・コントロール・
カウンタ22が入り込んで動作が停止できない状態(ス
テート・ロック・アップ状態)になるのを回避するため
に用いられる。RLCオペレーション・コントロール・
カウンタ22は4つのD型フリップ・フロップ23−1
乃至23−4で構成されているので、最大16ステート
を指定することができる。しかし、本実施例では13ス
テートしか指定していない(後に言及する表2参照)。
ところが、ノイズ等の原因により、RLCオペレーショ
ン・コントロール・カウンタ22の出力が、未定義の3
つのステート「1101」、「1110」、或は「11
11」になる場合があり得る。そこで、RLCオペレー
ション・コントロール・カウンタ22の状態がこれらの
3ステートの何れかに入ったときは、同期フィードバッ
ク・ループ32により、次のクロックで、「0000
(待機ステート)」にセットされるようになっているの
である。
【0017】ここで言う第1の場合には、待機ステート
からRLCデコードの最初のオペレーションに移行する
操作も含まれる。第1の場合では、次ステート発生器2
4に入力する動作開始命令ビット19Aの値が次ステー
ト発生器24のステート決定に関与している点が、純粋
に同期フィードバック・ループ32のみによるフィード
バック操作とは異なっている。ステート・ロック・アッ
プの回避の他にも、同期フィードバック・ループ32の
みで次ステートを決定する5つの場合がある。これらの
5つの場合内の3つは、現ステートで行った操作と次に
行う操作との間に中間ステートが設けられている場合で
ある。具体的には、システム・メモリの読み出し操作を
開始するステートに移行する場合とビット・マップ・メ
モリの書き込み操作を開始するステートに移行する場合
である。他は後述の疑似書き込みとスキップ・モード終
了検出後の動作ステート決定の場合である。
【0018】第2の場合は、同期フィードバック・ルー
プ34を用いる場合である。同期フィードバック・ルー
プ34はコマンド発生器26と、コマンド・タイミング
調整器27と、RLCオペレーション・サブ・コントロ
ーラ28と、次ステート発生器24と、RLCオペレー
ション・コントロール・カウンタ22とから成ってい
る。この第2の場合では同期フィードバック・ループ3
4の他に同期フィードバック・ループ32も用いられ
る。即ち、次ステート発生器24は、RLCオペレーシ
ョン・コントロール・カウンタ22の保持する現ステー
トの情報とRLCオペレーション・サブ・コントローラ
28の情報とを総合して次ステートを指定する。RLC
オペレーション・コントロール・カウンタ22に最終的
に与えられる次ステート値は同期フィードバック・ルー
プ32に与えられる。
【0019】ここで言う第2の場合には以下の3つの場
合が含まれる。先ず、RLCコード中のモード情報を含
むコードをシステム・メモリ10から読み出した後に指
定されたモード(ラン・モード、絶対モード、スキップ
・モード、ライン終了モード、フレーム終了モード、動
作終了モードの何れか)に応じたステートに遷移する場
合である。もう1つの場合は、ラン・モード中のビット
・マップ・メモリ14への書き込みの繰り返す場合であ
る。残りの1つの場合は、スキップ・モード中のスキッ
プの継続をする場合である。
【0020】同期フィードバック・ループ34にコマン
ド発生器26とコマンド・タイミング調整器27とが含
まれているのは次の理由による。即ち、RLCオペレー
ション・サブ・コントローラ28が出力する情報は直前
に実行されたコマンドの結果に影響される。例えば、モ
ード遷移時では、直前にモード情報を含むRLCコード
が読み込まれ、読み込まれた情報はRLCオペレーショ
ン・サブ・コントローラ28内に保持され、どのモード
であるかの解釈が行われる。つまり、複数のステート
(この場合は2つのステート)に跨がってRLCオペレ
ーション・サブ・コントローラ28の出力情報が決定さ
れ、また、全体の動作はクロックに同期したものである
ので、同期フィードバック・ループ34内にコマンド発
生器26とコマンド・タイミング調整器27とが含まれ
ているのである。
【0021】第3の場合は、非同期フィードバック・ル
ープ36を用いる場合である。非同期フィードバック・
ループ36はコマンド発生器26と、コマンド・タイミ
ング調整器27と、非同期回路路38と、ハンドシェイ
ク信号タイミング調整器29と、次ステート発生器24
とから成っている。非同期フィードバック・ループ36
が用いられるのは、システム・メモリ10或はビット・
マップ・メモリ14へのアクセス時である。非同期回路
38はシステム・メモリ10及びビット・マップ・メモ
リ14とRLCオペレーション・コントローラ20との
間のインターフェースの役割を果たしている。この第3
の場合では、非同期フィードバック・ループ36の他に
同期フィードバック・ループ32も用いられている。但
し、同期フィードバック・ループ34は用いられない。
【0022】次ステート発生器24はRLCオペレーシ
ョン・コントロール・カウンタ22とハンドシェイク信
号タイミング調整器29との出力から次ステートを決定
し、同期フィードバック・ループ32の一部のパスを用
いてRLCオペレーション・コントロール・カウンタ2
2の入力にフィードバックする。この同期フィードバッ
ク・ループ32による次ステートの決定は4つのステー
トについて行われている。具体的には、非同期回路路3
8に対してメモリ・アクセスを開始したステートの次の
ステートである。例えば、システム・メモリの読み出し
命令を非同期回路38に与えた後は、タイミング調整後
のハンドシェイク信号によって現ステートに止どまるか
(即ち、メモリ・アクセスを続けるか)或は次ステート
に進むかを決定する。
【0023】
【表2】 表2には現ステートに対して、同期フィードバック・ル
ープ32、同期フィードバック・ループ34、及び、非
同期フィードバック・ループ36の何れが用いられて次
ステートが決定されるかが示されている。表2中、「0
000」、「0011」、「0101」、「100
0」、及び「1010」の5つのステートはメモリ・イ
ニシャリゼーションを伴う。メモリ・イニシャリゼーシ
ョンを伴うのは非同期フィードバック・ループ36を用
いる4つの場合(「0000」、「0011」、及び
「0101」)の他に、「1010(スキップ・モー
ド)」のステートのように、疑似ビット・マップ・メモ
リ書き込み命令を発生し、非同期回路38からの応答を
利用しない場合も含まれている。
【0024】図6にはRLCオペレーション・サブ・コ
ントローラ28の構造が示されている。RLCオペレー
ション・サブ・コントローラ28はモード検出器72、
減算ピクセル数決定回路74、ライト・リピート・カウ
ンタ76、及び、スキップ・リピート・カウンタ78を
有している。モード検出器72の出力は次ステート発生
器24に与えられる他、減算ピクセル数決定回路74に
も与えられる。ラン・モード及び絶対モードにおいて、
ビット・マップ・メモリ14への書き込みの際のライト
・データのビット幅がライト・リピート・カウンタ76
の値に従って決まるようになっている。また、ライト・
リピート・カウンタ76の値は、次ステートを決定する
ために、次ステート発生器24にもフィードバックされ
る。ライト・リピート・カウンタ76及びスキップ・リ
ピート・カウンタ78の出力は減算ピクセル数決定回路
74に与えられる。減算ピクセル数決定回路74は、モ
ード検出器72の出力に応じて、1ピクセル、2ピクセ
ル或は8ピクセルの何れかの値を、ライト・リピート・
カウンタ76及びスキップ・リピート・カウンタ78か
ら与えられたピクセル数から減じ、得られた結果をマル
チプレクサ75及び77を介してにライト・リピート・
カウンタ76及びスキップ・リピート・カウンタ78の
夫々に与える。
【0025】ラン・モードにおいて、ビット・マップ・
メモリ14に1度に書き込まれるデータのビット幅は、
ライト・リピート・カウンタ76の値に応じて、以下の
ようにして決定される。ビット・マップ・メモリ14へ
の書き込みデータはRLCグラフィック・データ・コン
トローラ30(図3)から供給されるが、書き込みデー
タ用バスのビット幅(バス幅)は64ビットである。従
って、1ピクセルについて8ビットのデータを使用する
場合は、8ピクセル分のデータを1度に書き込むことが
可能である。ライト・リピート・カウンタ76は書き込
むべきピクセル数に関する情報を保持している。ライト
・リピート・カウンタ76の値が、ビツト・マップ・メ
モリ14に書き込むべきピクセル数が16以上であるこ
とを示している場合は、バス幅の最大ビット即ち64ビ
ット(8ピクセル)幅の書き込みを行う。ライト・リピ
ート・カウンタ76の値及び物理アドレス発生器40の
値によっては、ビット・マップ・メモリ14へのデータ
の書き込みのビット幅が2ピクセル(16ビット)或は
1ピクセル(8ビット)になる場合がある。絶対モード
でも、書き込みビット幅が1ピクセル又は2ピクセルの
何れになるかの選択が行われる。また、ライト・リピー
ト・カウンタ76の値が1以上ならば、ラン・モード或
は絶対モードの書き込み繰り返しのステートであること
が判断される。また、ライト・リピート・カウンタ76
の値が0ならば、次のRLCコードを読み出すためのス
テートへ遷移すべきことが判断される。
【0026】スキップ・リピート・カウンタ78はスキ
ップ・モードで用いられる。スキップ・モードにおい
て、RLCオペレーション・サブ・コントローラ28
は、スキップ・モード中のビット・マップ・メモリ14
への書き込みは疑似命令であることをコマンド発生器2
6に対して伝える。この結果、非同期回路28に対して
メモリ・アクセス・コマンドは伝えられない。具体的に
は、AND回路(図示せず)の一方の入力に書き込み命
令を入力させ、他方の入力にマスク・コマンドを入力さ
せ、出力を非同期回路28に与えている。物理アドレス
発生器40はラン・モードの場合と同様にしてアドレス
を増加し続ける。このとき、スキップ・リピート・カウ
ンタ78は、ラン・モードにおけるライト・リピート・
カウンタ76と同様な動作を行う。疑似書き込みは非同
期フィードバック・ループ36からのハンドシェイク信
号を常にハンドシェイク終了状態にして2つのステート
を使用している。2つのステートとは疑似書き込みステ
ート(「1011」)と書き込み終了ステート(「11
00」)である。物理アドレス発生器40を増加させる
ためのクロック発生が必要であるから2ステートを使用
している。
【0027】スキップ・リピート・カウンタ76の値は
次ステートを決定するために次ステート発生器24にフ
ィードバックされる。即ち、スキップ・リピート・カウ
ンタ78の内容が1以上であればスキップのためのステ
ートにすべきことが判断される。スキップ・リピート・
カウンタ78の値が0であれば次のRLCコードの読み
出しのためのステートに遷移すべきことが判断される。
以上述べたことを簡単にまとめると、システム・メモリ
10からRLCコードのスキップ・コードが読み出され
ると、スキップ・リピート・カウンタ78にロードさ
れ、疑似命令終了タイミングでスキップ・リピート・カ
ウンタ78の内容が更新される。
【0028】コマンド発生器26はシステム・メモリ1
0及びビット・マッブ・メモリ14へのアクセス信号
を、RLCオペレーション・コントロール・カウンタ2
2の内容に従って、発生する。また、コマンド発生器2
6はライト・リピート・カウンタ76及びスキップ・リ
ピート・カウンタ78に対するカウンタ・ロード信号を
発生する。コマンド発生器26がメモリ・アクセス信号
を発生するのはRLCオペレーション・コントロール・
カウンタ22が示すステートがRLCコードの読み出し
を開始するステート、ラン・モード或は絶対モードにお
いてビット・マップ・メモリ14への書き込みを開始す
るステートである。スキップ・モードでは疑似書き込み
命令が発生するが、これは非同期回路38に与える前に
マスクされる。ライト・リピート・カウンタ76やスキ
ップ・リピート・カウンタ8に対するカウンタ・ロード
信号はRLCコードの繰り返し情報のリード完了のタイ
ミングである。
【0029】図7はRLCオペレーション・コントロー
ル・カウンタ22の動作を説明するためのフロー・チャ
ートである。動作開始レジスタ19の動作開始命令ビッ
ト19Aに1が書き込まれると、別言すると、ラン・レ
ングス・コード(RLC)の始まりを示すキックオフ・
コマンドがシステム・メモリ10から読み取られると
(ステップS1)、コマンド発生器26はシステム・メ
モリ10に対する読み出しコマンドを発生する(ステッ
プS2)。非同期フィードバック・ループ36が働い
て、リード操作の完了が検出されると(ステップS
3)、RLCオペレーション・サブ・コントローラ28
はどのモードの操作を行うべきかを決定する(ステップ
S4)。フレーム終了を指示するコード(EOF)の場
合は、処理はステップS1に移る。ライン終了を指示す
るコード(EOL)の場合は、処理はステップS2に移
る。絶対モードを指示するコードの場合は、コマンド発
生器26はシステム・メモリ10のリード・コマンドを
発生する(ステップS5)。
【0030】システム・メモリ10の読み出しアドレス
は、デコーダ12AのI/Oレジスタ群18内のリード
・スタート・アドレス・レジスタ82(図3)に予め格
納されている。EOF検出時は動作を終了するため処理
をステップS1に戻す。この際、動作開始命令ビット1
9Aはリセットされる。EOL検出時は、現在のライト
・スタート・アドレスにオフセット値を加算することに
より、ライト・スタート・アドレスを次の表示ラインの
先頭の表示位置に対応するアドレス値にする。ライト・
スタート・アドレスはライト・スタート・アドレス・レ
ジスタ84(図3)に予め格納されている。オフセット
値が加算されたことはビット・マップ・メモリ・アドレ
ス発生器40B(図11)のビット・マップ・アドレス
・カウンタ66の値にも反映される。EOL毎にオフセ
ット値は積算され、ライト・スタート・アドレス・レジ
スタ84はビット・マップ・メモリ14に書き込みをし
ている表示ラインの先頭アドレスを常に保持している。
絶対モードのRLCコードについては、システム・メモ
リ10の読み出しにより書き込みカラー・データを得
る。リード・アドレスはリード・スタート・アドレス・
レジスタ82の内容に2を加えた値である。この加算操
作はデコーダ12Aが自動的に行う。
【0031】システム・メモリ10のリード操作が完了
すると(ステップS6)、コマンド発生器26はビット
・マップ・メモリ14への書き込みコマンドを発生する
(ステップS7)。ビット・マップ・メモリ14への書
き込み操作が終了したら(ステップS8)、RLCオペ
レーション・サブ・コントローラ28からの情報を基に
次ステート発生器24は実行中のモードを終了するか否
かを判断する(ステップS9)。実行中のモードを終了
すると判断したときは、処理をステップS2に移す。実
行中のモードを終了しないと判断したときは、実行中の
モードがラン・モードのときは、処理をステップS8に
移し、実行中のモードが絶対モードのときは、処理をス
テップS5またはステップS8に移す(ステップS
9)。処理をステップS5に移すかステップS8に移す
かは、物理アドレス発生器40(図3)からRLCオペ
レーション・サブ・コントローラ28(図4)に送られ
たアドレスの下位ビットに基づいて判断される。
【0032】デコーダ12Aとビット・マップ・メモリ
14とは64ビット幅のバスで結ばれている。絶対モー
ドにおいて、奇数バイト・アドレスからビット・マップ
・メモリ14への書き込みが始まり、且つ、8バイト
(64ビット)毎のアドレス・バウンダリを跨いでデー
タを書き込むまでにアドレスが増加されたときは、1回
の1ワード(16ビット即ち2ピクセル)の書き込み操
作が2回の1バイト(8ビット即ち1ピクセル)の書き
込み操作に分割されることにより、アドレス・バウンダ
リを跨がる書き込み操作に対応している。書き込み操作
がアドレス・バウンダリを跨がることになるか否かは、
前述のように、次に書き込みを行うアドレスを保持して
いる物理アドレス発生器40のアドレスの下位の数ビッ
トを参照して行う。物理アドレス発生器40のアドレス
の下位の数ビットを参照した結果は、クロス・バウンダ
リの有無を示す1ビットの情報となり、RLCオペレー
ション・サブ・コントローラ28から次ステート発生器
24に送られ、次ステートの判断に利用される。こうし
たクロス・バウンダリに関する処理はラン・モードでも
発生し、絶対モードと同じハードウェアで実行される。
【0033】ステップS4においてラン・モードを実行
すべきと判断したときは、処理はステップS7に移る。
ステップS2ではシステム・メモリ10から2バイトの
データが読み込まれ、その内の1バイトはラン・モード
の指定及び1回のラン・モードの連続ピクセル数を指示
し、他の1バイトは書き込みカラーを指示する。書き込
みカラーを指定する8ビットのデータはRLCグラフィ
ック・コントローラ30(図3)に取り込まれ、図8に
示されるように、64ビットに拡張され、ビット・マッ
プ・メモリ14へのデータ・バス上に乗る。データ拡張
操作はステップS7に至る前に終了する。
【0034】ステップS4においてスキップ・エントリ
を実行すべきと判断したときは、処理はステップS10
に移る。ステップS10では、コマンド発生器26がシ
ステム・メモリ10へのリード・コマンドを発生する。
非同期フィードバック・ループ36の働きによりリード
操作の終了が判断されると(ステップS11)、RLC
オペレーション・サブ・コントローラ28の指示に従っ
て、コマンド発生器26が働き、ビット・マップ・メモ
リ14への書き込み操作がマスクされる(ステップS1
2)。このマスク操作は非同期フィードバック・ループ
36からの応答を待たず行われる。ステップS13では
ビット・マップ・メモリ14へのアドレス・ポイントの
飛び越し(スキップ操作)が終了したか否かがRLCオ
ペレーション・サブ・コントローラ28により判断され
る。スキップ操作が終了していないときは、処理はステ
ップS12に戻る。スキップ操作が終了しているとき
は、処理はステップS2に戻る。
【0035】ステップS10のシステム・メモリ10の
読み込みは、スキップの垂直方向及び水平方向の範囲を
得るためである。スキップの垂直方向の範囲は表示ライ
ン数で表し、水平方向の範囲はピクセル数で表される。
これらのデータはRLCオペレーション・サブ・コント
ローラ28に取り込まれる。図6に示されるように、R
LCオペレーション・サブ・コントローラ28のスキッ
プ・リピート・カウンタ78は垂直スキップ・リピート
・カウンタ78Aとを水平スキップ・リピート・カウン
タ78Bとを有している。ステップS12とステップS
13においては、ビット・マップ・メモリ14への書き
込み信号がアクティブにならないような疑似メモリ書き
込み状態が繰り返される。ライト・イネーブル信号をマ
スクしていることを除けば、このときの動作はラン・モ
ードのときの動作と同じである。但し、ビット・マップ
・メモリ14からの応答を待たないので、ラン・モード
のときの動作に比べて12倍程度の高速で疑似ライト・
オペレーションが繰り返される。
【0036】スキップ・モードにおける疑似ライト・オ
ペレーションがこのように高速になるのは、ステートの
遷移がクロック信号(50MHz即ち20ナノ秒)にタ
イミングを合わせて行われるのに対して、ビット・マッ
プ・メモリ14のアクセスには平均240ナノ秒を要す
るためである。疑似ライト・オペレーションの度に水平
スキップ・リピート・カウンタ78Bの値は8ピクセ
ル、2ピクセル、或は1ピクセルの何れかが減じられ
る。水平スキップ・リピート・カウンタ76Bの値が0
になると、垂直スキップ・リピート・カウンタ78Aの
値が1だけ減じられるとともに、1表示ライン分のピク
セル数、例えば640が水平スキップ・リピート・カウ
ンタ78Bにロードされ、疑似ライト・オペレーション
が繰り返される。こうした繰り返し操作は垂直スキップ
・リピート・カウンタ78A及び水平スキップ・リピー
ト・カウンタ78Bの内容がともに0になるまで継続す
る。
【0037】疑似ライト・オペレーション中はビット・
マップ・メモリ14へのライト・イネーブル信号はマス
クされるが、物理アドレス発生器40のビット・マップ
・メモリ14のアドレス値を保持するビット・マップ・
アドレス・カウンタ66(図11)の値は、水平スキッ
プ・リピート・カウンタ78Bの値が減じられた数に応
じて更新される。例えば、水平スキップ・リピート・カ
ウンタ78Bの値が8だけ減じられると物理アドレス発
生器40のアドレスは8だけ加算される。垂直スキップ
・リピート・カウンタ78A及び水平スキップ・リピー
ト・カウンタ78Bの内容がともに0になると、RLC
オペレーション・サブ・コントローラ28はスキップ終
了を示す信号をアクティブにし、この信号を次ステート
発生器24に与える。この結果、次ステート発生器24
の判断により処理はステップS2に戻る。スキップ・モ
ードでの動作を疑似ライト状態の動作としてラン・モー
ドの動作と共通する部分を多くしたので、スキップ・モ
ードの動作を実行する回路とラン・モードの動作を実行
する回路とは共通する部分が多くなり、ハードウェア構
成の簡素化が図れる。しかも、スキップ・モードを利用
する場合のメモリの書き込み操作の高速化については何
等阻害されることがない。
【0038】ここで、以上をまとめると、CPU2が動
作開始レジスタ19の動作開始命令ビット19Aを真に
すると、デコーダ12Aが動作を開始する。先ず、物理
アドレス発生器40のシステム・アドレス・カウンタ6
2に予めロードされていたアドレス値に基づいてRLC
コードの最初の2バイトをシステム・メモリ10から読
み出す。読み出した2バイトには、実行すべきモードの
種類を指定する情報が含まれているので、指定されたモ
ードに応じたステートへと処理が分岐される。指定され
たモードによっては、システム・メモリ10を再度読み
出す必要がある。システム・メモリ10からの読み出し
はワード単位(2バイト)で行われるのに対応して、シ
ステム・メモリ10の読み出しが終了する度に物理アド
レス発生器40のシステム・アドレス・カウンタ62の
内容が2だけ増加される。
【0039】また、ビット・マップ・メモリ14への書
き込みはラン・モード及び絶対モードで行われる。ラン
・モードでは、残りの書き込みピクセル数に応じて64
ビット単位、16ビット単位、或は8ビット単位の何れ
かの書き込みを行う。64ビット幅のバスにより16ビ
ット単位或は8ビット単位の書き込みを行うのは通常の
DRAMに備えられているライト・パー・ビット機能を
用いる。絶対モードでは、書き込みがアドレス・バウン
ダリを跨ぐか否かに依って、16ビット単位か8ビット
単位の書き込みを行う。ビツト・マップ・メモリ14へ
の書き込みアドレスは、物理アドレス発生器40のビッ
ト・マップ・メモリ・アドレス・カウンタ66(図1
1)によって指定される。このカウンタ66はバイト・
アドレスを指し、書き込み操作終了時に書き込んだビッ
ト数に応じて8、2、或は1が加算される。スキップ・
オペレーションはラン・モードの動作と基本的には同様
であるが、ライト・イネーブル信号をマスクしている点
がラン・モードの動作と異なる。EOFのみがデコーダ
12Aの動作を終了させる。
【0040】図9にはRLCグラフィック・データ・コ
ントローラ30の構成が示されている。RLCグラフィ
ック・データ・コントローラ30はシステム・メモリ1
0からデータを読み出し、ビット・マップ・メモリ14
に書き込むための準備を行う。ラン・モードのときは、
読み出したデータは、システム・メモリ10からの次の
データの読み出しまで、ラッチ52が保持する。データ
・ローテータ54は、システム・メモリ10からのnビ
ット幅のデータをビット・マップ・メモリ14中にmビ
ット幅で書き込むために用いられる。実行中のモード及
び物理アドレス発生器40の発生したアドレスに従っ
て、RLCオペレーション・コントローラ20がデータ
・ローテータ54を操作する。データ拡張器56はデー
タをnビット幅からmビット幅に拡張する。
【0041】ラン・モードでは、データ・ロテータ54
は動作せず、1ピクセル当り8ビットのデータが64ビ
ットに拡張されるだけである(図8参照)。絶対モード
では、奇数アドレスに16ビット・データ(2ピクセ
ル)を書き込むか偶数アドレスに16ビット・データ
(2ピクセル)を書き込むかによって、8ビット・デー
タをローテイトするかどうかが決まる。16ビット・デ
ータを書き込むのは、絶対モードであることが判明した
ら、システム・メモリ10の読み出しをもう1度行って
2ピクセル分のデータ(ワード・データ)をRLCグラ
フィック・データ・コントローラ30に取り込むことに
なっているからである。絶対モードではデータ・ローテ
イタ54の16ビットの出力が64ビットに拡張され
る。拡張の方法はラン・モードでの拡張と同様の並列コ
ピーである。このように、図9中のnの値はラン・モー
ドでは8、絶対モードでは16であり、mの値は64で
ある。
【0042】図10及び図11には物理アドレス発生器
40の互いに異なる部分の構成が示されている。物理ア
ドレス発生器40はシステム・メモリ・アドレス発生器
40A(図10)とビット・マップ・メモリ・アドレス
発生器40B(図11)とから成り、システム・メモリ
・アドレス発生器40Aはシステム・メモリ10のアド
レスを発生し、ビット・マップ・メモリ・アドレス発生
器40Bはビット・マップ・メモリ14のアドレスを発
生する。
【0043】図10において、システム・メモリ・アド
レス発生器40Aは、マルチプレクサ61、システム・
アドレス・カウンタ62、及び加算器63を含んでい
る。加算器63は現在アドレスに常に2バイトを加算す
る。システム・アドレス・カウンタ62は複数の並列の
D型フリップ・フロップから構成されている。システム
・メモリ・アドレス発生器40Aで用いるスタート・ア
ドレスは、デコーダ12AのI/Oレジスタ群18内の
リード・スタート・アドレス・レジスタ82(図4)内
にCPU2により予めロードされている。リード・スタ
ート・アドレス・レジスタ82に書き込みがあったとき
は、MUX61はレジスタ82内のスタート・アドレス
を選択し、システム・アドレス・カウンタ62にもレジ
スタ82の書き込みの終了のタイミングでスタート・ア
ドレスがロードされる。システム・メモリ・アドレスは
常にバイト・アドレスであり、システム・メモリ読み出
し終了のタイミングでシステム・アドレス・カウンタ6
2はクロックを与えられる。MUX61が加算器63の
出力を選択しているときに、システム・アドレス・カウ
ンタ62にクロックが与えられると、システム・アドレ
ス・カウンタ62の内容に2が加算される。
【0044】図11のビット・マップ・メモリ・アドレ
ス発生器40Bは、マルチプレクサ65、ビット・マッ
プ・アドレス・カウンタ66、加算器67、及びマスク
信号発生器68を含んでいる。加算器67は現在アドレ
スに常にjビットを加算する。jビットの値はRLCオ
ペレーション・サブ・コントローラ28からの指示によ
り特定される。バイト・アクセスを行うときはj=1で
ある。ワード・アクセスを行うときはj=2である。ラ
ン・モードで64ビット(全バス幅)の書き込みを行う
ときはj=8である。スキップ・モードで64ビットの
疑似書き込みを行うときもj=8である。ビット・マッ
プ・メモリ・アドレス発生器40Bのスタート・アドレ
スはライト・スタート・アドレス・レジスタ84(図
4)にCPU2により予めロードされている。レジスタ
84に書き込みがあったときは、その書き込みの終了の
タイミングでビット・マップ・アドレス・カウンタ66
にもスタート・アドレスがロードされる。
【0045】マスク信号発生器68は64ビットのバス
幅の一部をマスクするための信号(マスク信号)を発生
する。マスク信号は絶対モードにおける8ビット或は1
6ビットのデータの書き込み時に使用される。マスク信
号は64ビットのバス幅の内の書き込みを有効とするデ
ータ・ビット位置を書き込み可能とし、その他のデータ
・ビット位置を書き込み不可能にするような64ビット
の信号である。マスク信号は、RLCグラフィック・デ
ータ・コントローラ30の発生する書き込みデータとタ
イミング・マルチプレクスされ、ビット・マップ・メモ
リ14を構成するDRAMのデータ・ラインに与えられ
る。DRAMのライト・パー・ビットの機能により書き
込み不可のビットが書き込みマスクされる。尚、マスク
信号発生器68の発生するマスク信号はスキップ・モー
ドにおけるライト・イネーブル信号のマスクとは関係が
ない。
【0046】図12に示されるように、ビット・マップ
・メモリ・アドレス発生器40BとRLCオペレーショ
ン・サブ・コントローラ28との間にはフィードバック
・ループ72が設けられている。ビット・マップ・メモ
リ14のアドレスの下位ビットはRLCオペレーション
・サブ・コントローラ28に送られた後、加算器67の
動作を決定する。絶対モードにおいて、書き込みピクセ
ルが残り2ピクセル(16ビット)以上であり、現在ア
ドレスの下位ビットが「111」であるときは、次のビ
ット・マップ・メモリ14の書き込みはバイト単位の書
き込みを2回繰り返し、64ビットのバス幅に起因する
アドレス・バウンダリを処理するようになっている。こ
の処理のためにフィードバック・ループ72が用いられ
る。
【0047】このような本実施例によれば、ラン・レン
グス・コードのデコードに際してスキップ・エントリを
新たに設けて、ビット・マップ・メモリ14への書き込
み頻度を減らすようにしたので、ラン・レングス・コー
ドをデコードしてビット・マップ・メモリ14へ書き込
む速度を向上させることができる。また、書き換える必
要のない範囲については、従来は複数のラン・レングス
・コードで表していたデータを1つのスキップ・エント
リに置き換えることが可能なので、スキップ・エントリ
をラン・レングス・コードに含ませることにより、デー
タの圧縮率を向上させることができる。
【0048】また、従来はソフトウェアによりラン・レ
ングス・コードをデコードすることが通常であったが、
前記実施例ではハードウェアによりはラン・レングス・
コードをデコードしているので、この点でもデコードが
速くなり、CPU2の負担も軽くなる。
【0049】尚、前記実施例では、ハードウェアにより
はラン・レングス・コードをデコードしていたが、ソフ
トウェアによりデコードするものであってもよい。ま
た、ラン・レングス・コードは2バイトの単位であると
して説明したが、2バイト以外の単位のコードであって
もよい。また、前記スキップ・エントリは、飛び越し範
囲を水平方向の飛び越し量及び垂直方向の飛び越し量で
指定していたが、水平方向の飛び越し量及び垂直方向の
飛び越し量の何れか一方のみを指定するようなコードで
あつてもよい。また、前記実施例では、水平方向の飛び
越し量はピクセル数に対応し、垂直方向の飛び越し量は
表示ライン数に対応したが、このような対応関係以外の
指定方法であってもよい。
【0050】
【発明の効果】上述のように本発明によれば、ラン・レ
ングス・コードをデコードしてビット・マップ・メモリ
へ書き込む速度を向上させることができる。
【図面の簡単な説明】
【図1】本発明に係るデータ処理システムの一実施例の
全体構成を示すブロック図である。
【図2】前記実施例におけるラン・レングス・コードの
エキストラ・コードの一例を示す図表である。
【図3】前記実施例のRLCデコーダの構成を示すブロ
ック図である。
【図4】RLCデコーダ中のRLCオペレーション・コ
ントローラの構成を示すブロック図である。
【図5】RLCデコーダ中のRLCオペレーション・コ
ントロール・カウンタの構成を示すブロック図である。
【図6】RLCデコーダ中のRLCオペレーション・サ
ブ・コントローラの構成を示すブロック図である。
【図7】RLCオペレーション・コントローラの動作の
説明のための流れ図である。
【図8】RLCデコーダ中のRLCグラフィック・デー
タ・コントローラにおけるデータ拡張に関する構成を示
すブロック図である。
【図9】RLCデコーダ中のRLCグラフィック・デー
タ・コントローラの全体構成を示すブロック図である。
【図10】前記物理アドレス発生器のシステム・メモリ
・アドレス発生器を示すブロック図である。
【図11】前記物理アドレス発生器のビット・マップ・
メモリ・アドレス発生器を示すブロック図である。
【図12】RLCデコーダ中の物理アドレス発生器とR
LCオペレーション・サブ・コントローラとの間のフィ
ードバック・ループを示すブロック図である。
【符号の説明】
2 プロセッサ(CPU) 4 システム・バス 8 外部記憶装置 10 システム・メモリ 12 ビデオ・コントローラ 12A デコーダ 14 ビット・マップ・メモリ 16 表示装置 18 I/Oレジスタ群 19 動作開始命令レジスタ 20 RLCオペレーション・コントローラ 22 RLCオペレーション・コントロール・カウン
タ 24 次ステート発生器 26 コマンド発生器 27 コマンド・タイミング発生器 28 RLCオペレーション・サブ・コントローラ 29 ハンドシェイク信号タイミング調整器 30 RLCグラフィック・データ・コントローラ 32 同期フィードバック・ループ 34 同期フィードバック・ループ 36 非同期フィードバック・ループ 38 非同期回路 40 物理アドレス発生器 40A システム・メモリ・アドレス発生器 40B ビット・マップ・メモリ・アドレス発生器 62 システム・メモリ・アドレス・カウンタ 66 ビット・マップ・メモリ・アドレス・カウンタ 82 リード・スタート・アドレス・レジスタ 84 ライト・スタート・アドレス・レジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 合田 裕二 神奈川県大和市下鶴間1623番地14 日本ア イ・ビー・エム株式会社 大和事業所内 (72)発明者 ダーウィン・ピー・ラックレイ アメリカ合衆国フロリダ州ボカ・ラトン エンフィールド・ストリート756番地

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】ラン・レングス・コードをデコードし、デ
    コードされたデータをビット・マップ・メモリに書き込
    む際に、ラン・レングス・コード・データのフロー中に
    含まれる所定のコードに応答して、データを書き込むべ
    き前記ビット・マップ・メモリ中の記憶位置を所定の範
    囲だけ飛び越すようにした、ラン・レングス・コードの
    デコード方法。
  2. 【請求項2】ラン・レングス・コードをデコードし、デ
    コードされたデータをビット・マップ・メモリに書き込
    む機能を有するビデオ・コントローラであって、ラン・
    レングス・コード・データのフロー中に含まれる所定の
    コードに応答して、データを書き込むべき前記ビット・
    マップ・メモリ中の記憶位置が所定の範囲だけ飛び越さ
    れるようになっているビデオ・コントローラ。
  3. 【請求項3】前記所定のコードは、前記ビット・マップ
    ・メモリ中の記憶位置の飛び越しの実行を指定する部分
    と、飛び越しの範囲を指定する部分とを有する、請求項
    2のビデオ・コントローラ。
  4. 【請求項4】表示装置と、ラン・レングス・コードで表
    された表示用データを保持する外部記憶装置と、外部記
    憶装置から表示用データを読み出すCPUと、外部記憶
    装置から読み出された表示用データを保持する領域を有
    するシステム・メモリと、表示装置上の表示位置に対応
    した記憶場所に表示用データを保持するビット・マップ
    ・メモリと、システム・メモリ内の表示用データをデコ
    ードし、デコードされたデータをビット・マップ・メモ
    リに書き込むためのデコーダと、前記デコーダを含み、
    ビット・マップ・メモリ内の表示用データ及び表示用デ
    ータの記憶場所に従って前記表示装置に映像信号を送る
    ビデオ・コントローラと、を有するデータ処理装置であ
    って、前記デコーダは、ラン・レングス・コード・デー
    タのフロー中に含まれる所定のコードに応答して、デー
    タを書き込むべき前記ビット・マップ・メモリ中の記憶
    場所を所定の範囲だけ飛び越すようになっているデータ
    処理システム。
  5. 【請求項5】前記デコーダは、前記CPUにより書き込
    み可能なレジスタと、前記レジスタに応答して動作を開
    始するとともに、CPUにより読み出された表示用デー
    タの示す動作モードに従って動作するオペレーション・
    コントローラと、オペレーション・コントローラに応答
    して、CPUにより読み出された表示用データに基づい
    てビット・マップ・メモリに書き込むべきデータを生成
    するグラフィック・データ・コントローラと、オペレー
    ション・コントローラに応答して、ビット・マップ・メ
    モリへの書き込みアドレスを生成する物理アドレス発生
    器と、を有している請求項4のデータ処理システム。
JP4074029A 1992-03-30 1992-03-30 ラン・レングス・コードのデコード方法、ビデオ・コントローラ、及びデータ処理システム Pending JPH05292331A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP4074029A JPH05292331A (ja) 1992-03-30 1992-03-30 ラン・レングス・コードのデコード方法、ビデオ・コントローラ、及びデータ処理システム
EP93301862A EP0564111A2 (en) 1992-03-30 1993-03-11 Improvements in the decoding of run length code data for storage in a bit map memory
US08/032,084 US5422995A (en) 1992-03-30 1993-03-16 Method and means for fast writing of run length coded bit strings into bit mapped memory and the like
BR9301306A BR9301306A (pt) 1992-03-30 1993-03-25 Processo de decodificacao de codigo de extensao da execucao de progama,controlador de video e sistema de processamento de dados

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4074029A JPH05292331A (ja) 1992-03-30 1992-03-30 ラン・レングス・コードのデコード方法、ビデオ・コントローラ、及びデータ処理システム

Publications (1)

Publication Number Publication Date
JPH05292331A true JPH05292331A (ja) 1993-11-05

Family

ID=13535308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4074029A Pending JPH05292331A (ja) 1992-03-30 1992-03-30 ラン・レングス・コードのデコード方法、ビデオ・コントローラ、及びデータ処理システム

Country Status (4)

Country Link
US (1) US5422995A (ja)
EP (1) EP0564111A2 (ja)
JP (1) JPH05292331A (ja)
BR (1) BR9301306A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483033B2 (en) 2003-04-30 2009-01-27 Yamaha Corporation Storage device

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6516079B1 (en) 2000-02-14 2003-02-04 Digimarc Corporation Digital watermark screening and detecting strategies
US5748783A (en) 1995-05-08 1998-05-05 Digimarc Corporation Method and apparatus for robust information coding
US6449377B1 (en) 1995-05-08 2002-09-10 Digimarc Corporation Methods and systems for watermark processing of line art images
US5841978A (en) 1993-11-18 1998-11-24 Digimarc Corporation Network linking method using steganographically embedded data objects
US5636292C1 (en) 1995-05-08 2002-06-18 Digimarc Corp Steganography methods employing embedded calibration data
US6580819B1 (en) 1993-11-18 2003-06-17 Digimarc Corporation Methods of producing security documents having digitally encoded data and documents employing same
US5768426A (en) 1993-11-18 1998-06-16 Digimarc Corporation Graphics processing system employing embedded code signals
US6122403A (en) 1995-07-27 2000-09-19 Digimarc Corporation Computer system linked by using information in data objects
US5748763A (en) 1993-11-18 1998-05-05 Digimarc Corporation Image steganography system featuring perceptually adaptive and globally scalable signal embedding
US5832119C1 (en) 1993-11-18 2002-03-05 Digimarc Corp Methods for controlling systems using control signals embedded in empirical data
US5862260A (en) 1993-11-18 1999-01-19 Digimarc Corporation Methods for surveying dissemination of proprietary empirical data
US5710834A (en) 1995-05-08 1998-01-20 Digimarc Corporation Method and apparatus responsive to a code signal conveyed through a graphic image
US7171016B1 (en) 1993-11-18 2007-01-30 Digimarc Corporation Method for monitoring internet dissemination of image, video and/or audio files
US6408082B1 (en) 1996-04-25 2002-06-18 Digimarc Corporation Watermark detection using a fourier mellin transform
US6611607B1 (en) 1993-11-18 2003-08-26 Digimarc Corporation Integrating digital watermarks in multimedia content
US6614914B1 (en) 1995-05-08 2003-09-02 Digimarc Corporation Watermark embedder and reader
USRE40919E1 (en) * 1993-11-18 2009-09-22 Digimarc Corporation Methods for surveying dissemination of proprietary empirical data
US6424725B1 (en) 1996-05-16 2002-07-23 Digimarc Corporation Determining transformations of media signals with embedded code signals
US5841886A (en) 1993-11-18 1998-11-24 Digimarc Corporation Security system for photographic identification
US7044395B1 (en) 1993-11-18 2006-05-16 Digimarc Corporation Embedding and reading imperceptible codes on objects
EP0987855A2 (en) 1993-11-18 2000-03-22 Digimarc Corporation Method and apparatus for encoding audio with auxiliary digital data
US6983051B1 (en) 1993-11-18 2006-01-03 Digimarc Corporation Methods for audio watermarking and decoding
US5822436A (en) 1996-04-25 1998-10-13 Digimarc Corporation Photographic products and methods employing embedded information
US6522770B1 (en) 1999-05-19 2003-02-18 Digimarc Corporation Management of documents and other objects using optical devices
US6968057B2 (en) 1994-03-17 2005-11-22 Digimarc Corporation Emulsion products and imagery employing steganography
US7039214B2 (en) 1999-11-05 2006-05-02 Digimarc Corporation Embedding watermark components during separate printing stages
US6869023B2 (en) 2002-02-12 2005-03-22 Digimarc Corporation Linking documents through digital watermarking
US5832290A (en) * 1994-06-13 1998-11-03 Hewlett-Packard Co. Apparatus, systems and method for improving memory bandwidth utilization in vector processing systems
US6560349B1 (en) 1994-10-21 2003-05-06 Digimarc Corporation Audio monitoring using steganographic information
US6760463B2 (en) 1995-05-08 2004-07-06 Digimarc Corporation Watermarking methods and media
US7486799B2 (en) 1995-05-08 2009-02-03 Digimarc Corporation Methods for monitoring audio and images on the internet
US6728390B2 (en) 1995-05-08 2004-04-27 Digimarc Corporation Methods and systems using multiple watermarks
US6721440B2 (en) 1995-05-08 2004-04-13 Digimarc Corporation Low visibility watermarks using an out-of-phase color
US6965682B1 (en) 1999-05-19 2005-11-15 Digimarc Corp Data transmission by watermark proxy
US6411725B1 (en) 1995-07-27 2002-06-25 Digimarc Corporation Watermark enabled video objects
US7006661B2 (en) 1995-07-27 2006-02-28 Digimarc Corp Digital watermarking systems and methods
US6577746B1 (en) 1999-12-28 2003-06-10 Digimarc Corporation Watermark-based object linking and embedding
US6788800B1 (en) 2000-07-25 2004-09-07 Digimarc Corporation Authenticating objects using embedded data
US6829368B2 (en) 2000-01-26 2004-12-07 Digimarc Corporation Establishing and interacting with on-line media collections using identifiers in media signals
US6408331B1 (en) * 1995-07-27 2002-06-18 Digimarc Corporation Computer linking methods using encoded graphics
US6381341B1 (en) 1996-05-16 2002-04-30 Digimarc Corporation Watermark encoding method exploiting biases inherent in original signal
US5940080A (en) * 1996-09-12 1999-08-17 Macromedia, Inc. Method and apparatus for displaying anti-aliased text
US7054463B2 (en) 1998-01-20 2006-05-30 Digimarc Corporation Data encoding using frail watermarks
US6170034B1 (en) 1998-03-31 2001-01-02 Lsi Logic Corporation Hardware assisted mask read/write
US6625297B1 (en) 2000-02-10 2003-09-23 Digimarc Corporation Self-orienting watermarks
US6804377B2 (en) 2000-04-19 2004-10-12 Digimarc Corporation Detecting information hidden out-of-phase in color channels
US7027614B2 (en) 2000-04-19 2006-04-11 Digimarc Corporation Hiding information to reduce or offset perceptible artifacts
US6859500B2 (en) * 2001-03-20 2005-02-22 Telefonaktiebolaget Lm Ericsson Run-length coding of non-coded macroblocks
US7063264B2 (en) 2001-12-24 2006-06-20 Digimarc Corporation Covert variable information on identification documents and methods of making same
PT1456810E (pt) 2001-12-18 2011-07-25 L 1 Secure Credentialing Inc Características de segurança com imagens múltiplas para documentos de identificação e processo para as efectuar
US7728048B2 (en) 2002-12-20 2010-06-01 L-1 Secure Credentialing, Inc. Increasing thermal conductivity of host polymer used with laser engraving methods and compositions
ATE555911T1 (de) 2001-12-24 2012-05-15 L 1 Secure Credentialing Inc Verfahren zur vollfarb-markierung von id- dokumenten
US7694887B2 (en) 2001-12-24 2010-04-13 L-1 Secure Credentialing, Inc. Optically variable personalized indicia for identification documents
US7824029B2 (en) 2002-05-10 2010-11-02 L-1 Secure Credentialing, Inc. Identification card printer-assembler for over the counter card issuing
US7804982B2 (en) 2002-11-26 2010-09-28 L-1 Secure Credentialing, Inc. Systems and methods for managing and detecting fraud in image databases used with identification documents
US7712673B2 (en) 2002-12-18 2010-05-11 L-L Secure Credentialing, Inc. Identification document with three dimensional image of bearer
US7003716B2 (en) * 2002-12-26 2006-02-21 Zydas Technology Corp. Method and apparatus for using multi-dimensional trellis codes over multi-path channels
US20040160447A1 (en) * 2003-02-18 2004-08-19 Denis Beaudoin Simple method to minimize memory usage and/or power consumption for dispaly controller circuits
CA2522551C (en) 2003-04-16 2009-12-22 Digimarc Corporation Three dimensional data storage
US7744002B2 (en) 2004-03-11 2010-06-29 L-1 Secure Credentialing, Inc. Tamper evident adhesive and identification document including same
US7502909B2 (en) * 2005-10-11 2009-03-10 Motorola, Inc. Memory address generation with non-harmonic indexing
JP2010277624A (ja) * 2009-05-26 2010-12-09 Toshiba Storage Device Corp 磁気記録装置、ヘッド評価装置、スピンスタンド装置およびライトポールイレーズ評価方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS617769A (ja) * 1984-06-22 1986-01-14 Fujitsu Ltd イメ−ジメモリ書き込み制御方式

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0750508B2 (ja) * 1985-04-08 1995-05-31 株式会社日立製作所 描画処理装置
GB2189106B (en) * 1986-04-14 1990-02-14 Philips Electronic Associated Image display
US5113494A (en) * 1987-02-27 1992-05-12 Eastman Kodak Company High speed raster image processor particularly suited for use in an image management system
US4870498A (en) * 1987-09-15 1989-09-26 Printware, Inc. Decompressing run-length-encoded to transition-encoded font image information in an image generator
JPH03184473A (ja) * 1989-12-13 1991-08-12 Mitsubishi Electric Corp 画像伸長装置
US5295235A (en) * 1992-02-14 1994-03-15 Steve Newman Polygon engine for updating computer graphic display employing compressed bit map data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS617769A (ja) * 1984-06-22 1986-01-14 Fujitsu Ltd イメ−ジメモリ書き込み制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483033B2 (en) 2003-04-30 2009-01-27 Yamaha Corporation Storage device

Also Published As

Publication number Publication date
EP0564111A3 (ja) 1994-04-13
BR9301306A (pt) 1993-10-05
EP0564111A2 (en) 1993-10-06
US5422995A (en) 1995-06-06

Similar Documents

Publication Publication Date Title
US5422995A (en) Method and means for fast writing of run length coded bit strings into bit mapped memory and the like
JPS5987569A (ja) デ−タ自動連続処理回路
US5818466A (en) Apparatus for providing multi-layer sprite graphic for an on-screen-graphic of television
US5386521A (en) Instruction prefetching circuit with a next physical address precalculating circuit
KR0140928B1 (ko) 가변 어드레싱에 의한 서브 윈도우처리장치
JP3462245B2 (ja) 中央演算処理装置
JPH07175925A (ja) 特徴量算出装置及び特徴量算出方法
US5905821A (en) Compression/expansion circuit having transfer means and storage means with address management of the storage means
US20020021826A1 (en) Image signal processing apparatus and method thereof
US5148531A (en) System for executing a conditional statement without reading program data part that does not satisfy the conditional clause
JP3163975B2 (ja) 符号化プロセッサ
JP2861053B2 (ja) 画像処理装置
JP2001128108A (ja) ビデオ処理装置
KR940001013B1 (ko) 영상처리 장치 및 그것을 사용하는 시스템
JPH02176825A (ja) 画像情報表示装置
KR100324755B1 (ko) 그래픽 처리기의 클리핑 장치 및 방법
JP2002236481A (ja) 画像表示制御装置及び画像表示装置並びに画像表示方法
KR920008225B1 (ko) 디스플레이 문자 저장용 메모리 제어회로 및 방법
JPS60163167A (ja) メモリ制御装置
JPS648337B2 (ja)
JP2861159B2 (ja) ウィンドウ表示制御装置
JPH0916142A (ja) 表示装置
KR100195199B1 (ko) 메타얼라인 모드 데스티네이션 어드레스 발생회로 및 이를 이용한 그래픽 콘트롤러
JPS643276B2 (ja)
JPS6021087A (ja) アドレス生成回路