JPH064058A - Apparatus for performing pallet encoding of image data - Google Patents

Apparatus for performing pallet encoding of image data

Info

Publication number
JPH064058A
JPH064058A JP3084173A JP8417391A JPH064058A JP H064058 A JPH064058 A JP H064058A JP 3084173 A JP3084173 A JP 3084173A JP 8417391 A JP8417391 A JP 8417391A JP H064058 A JPH064058 A JP H064058A
Authority
JP
Japan
Prior art keywords
pixel
palette
display
memory
image
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
JP3084173A
Other languages
Japanese (ja)
Inventor
D Adelson Steven
ディー エイデルソン スティーヴン
J Flattarolla Gary
ジェイ フラッタローラ ゲアリー
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.)
EDOSAN LAB Inc
Original Assignee
EDOSAN LAB 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
Application filed by EDOSAN LAB Inc filed Critical EDOSAN LAB Inc
Publication of JPH064058A publication Critical patent/JPH064058A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE: To obtain a mechanism which can expand a light and shade range that can be used in a single image and display another natural light and shade image. CONSTITUTION: An encoder 12 in an image display system changes a pixel value from an image source into a mode including an instruction for a change in a display palette and stores the result in a location of a display memory 16. A display mechanism 18 takes stored data as the result out of the display memory and interprets the data according to the contents of a palette memory 36. A dynamic palette loader changes the contents into the palette memory 36. Consequently, the system gives wide color light and shade by the display and palette memories 16 and 36 of small size.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の技術分野】本発明は、画像表示システムに関
し、特にこの様なシステムが画像データを記憶する手段
に関する。
FIELD OF THE INVENTION The present invention relates to image display systems, and more particularly to the means by which such systems store image data.

【0002】[0002]

【従来の技術】典型的な電子表示システムは陰極線管又
は他の装置を使用して、電圧シークエンスとして与えら
れる画像を表示する。デジタル−アナログ変換器は、高
速画像メモリから読み出された画像データに応答して、
装置がそのスクリーン上にデータを表示するのと同じ速
度でアナログ電圧シークエンスを発生する。
BACKGROUND OF THE INVENTION A typical electronic display system uses a cathode ray tube or other device to display an image provided as a voltage sequence. The digital-analog converter is responsive to the image data read from the high speed image memory,
It produces an analog voltage sequence at the same rate that the device displays data on its screen.

【0003】画像は画像要素即ち画素により構成され
る。典型的なフルスクリーン像は1ライン当たり640
画素が480ラインある配列で構成することができる。
カラーモニターに対しては、各画素の値は3次元(赤、
緑、青)のベクトルとして表示される。結果として、こ
の大きさの画像に渡って完全にカラー表示を可能にする
には、8ビット/成分×3成分/ベクトル×640ベク
トル/ライン×480ライン、即ち、7メガバイト以上
の記憶が必要とされる。表示装置のメモリは、表示装置
のスクリーンの速度に追従するのに十分でなければなら
ず、この様な要求は、表示装置のコストに著しい影響を
及ぼし、またこのコストは下位システムとしては受け入
れられない。
An image is composed of image elements or pixels. Typical full-screen image is 640 per line
An array having 480 lines of pixels can be formed.
For color monitors, the value of each pixel is three-dimensional (red,
It is displayed as a vector of green and blue). As a result, it is necessary to store 8 bits / component × 3 components / vector × 640 vector / line × 480 lines, that is, 7 megabytes or more, in order to completely display a color image over this size. To be done. The memory of the display device must be sufficient to keep up with the speed of the screen of the display device, and such requirements have a significant impact on the cost of the display device, and this cost is not acceptable as a subsystem. Absent.

【0004】幸運にも、画像メモリサイズを減少する技
術が知られている。この典型的な技術は「パレットメモ
リ」を採用する。パレットメモリは、このパレットメモ
リが使用されない場合、8ビット/成分×3成分/画素
=24ビット/画素を有することが必要される画像メモ
リを、同じ解像度で画素当たり4又は8ビットのみを使
用するというものである。このパレットメモリは、表示
メモリ及びデジタル−アナログ変換器との間に挿入さ
れ、画像メモリの8ビット出力を28 =256の24ビ
ット位置の一つのアドレスとして解釈する。即ち、全て
で224個の可能なベクトルを含む代わりに、使用者が選
択する8ビット系で256個の「パレット」を含む。使
用者は224の可能な画素値の何れかを依然として使用す
ることができ、使用者は、如何なる1画像においてもそ
れらの内の256のみを使用することができる。この様
な範囲の値は、多くのコンピュータ生成グラフィックア
プリケーションの表示に対して十分であり、使用者は、
天然画像及び濃淡を採用するプログラムから結果される
コンピュータ生成画像を表示するためだけにより高度な
システムの助けを必要とする。
Fortunately, techniques for reducing image memory size are known. This typical technique employs a "palette memory". The palette memory uses the image memory which must have 8 bits / component × 3 components / pixel = 24 bits / pixel, if this palette memory is not used, only 4 or 8 bits per pixel at the same resolution That is. The palette memory is inserted between the display memory and the digital-to-analog converter and interprets the 8 -bit output of the image memory as one address of 2 8 = 256 24-bit positions. That is, instead of containing all 2 24 possible vectors, it contains 256 "palettes" in a user-selected 8-bit system. The user can still use any of the 2 24 possible pixel values, and the user can only use 256 of them in any one image. Values in this range are sufficient for the display of many computer-generated graphic applications and users
It only needs the help of more sophisticated systems to display the computer generated images resulting from programs that employ natural images and tints.

【0005】[0005]

【発明の要約】本発明は下位システムが単一画像内で使
用することのできる濃淡範囲を大きく拡張することがで
き、天然な及び別の濃淡像を表示できる機構に関する。
特に、本発明は、天然及び他の濃淡画像に「ダイナミッ
クなパレットローディング」の概念を適用するための方
法及び装置であり。
SUMMARY OF THE INVENTION The present invention is directed to a mechanism by which a subsystem can greatly expand the shade range available in a single image and display natural and alternate shade images.
In particular, the present invention is a method and apparatus for applying the concept of "dynamic palette loading" to natural and other grayscale images.

【0006】ダイナミックなパレットローディングを実
行するための装置は、Dyanamic Palette Loading Syste
m for Pixel-Based Display と題する1989年12月9 日に
出願されたEdelsen 等の米国特許出願07/452,022に記載
される。この出願は、或る表示メモリ出力値を、パレッ
トメモリの位置ではなく、この位置の内容を変化するコ
マンドとして解釈するための回路を記述している。この
出願に記述される回路を採用することにより、スキャン
中に、パレットの内容を動的に変化することができ、パ
レットメモリーが、同時に青及び茶の濃淡を含むに十分
な位置を有さない場合であっても、画像は、頂部に青の
多くの濃淡を有するパレットで、下部に茶の多くの濃淡
を有するパレットで表示することができる。
A device for performing dynamic palette loading is the Dynamic Palette Loading Syste.
Edelsen et al., US patent application 07 / 452,022, filed December 9, 1989, entitled m for Pixel-Based Display. This application describes a circuit for interpreting certain display memory output values as commands that change the contents of this location rather than the location of the palette memory. By employing the circuit described in this application, it is possible to dynamically change the contents of the palette during scanning, and the palette memory does not have enough positions to contain blue and brown tints at the same time. Even then, the image can be displayed in a palette with many shades of blue on the top and a palette with many shades of brown on the bottom.

【0007】本発明は、ダイナミックパレットに対して
初めはコード化されない画像にダイナミックパレットロ
ーディングを採用する表示システムである。装置が画像
を表示する前に、装置は画像が先ずエンコード化される
画素ワードを通して処理を続行し、各パレットセクショ
ンに対してどの画素が使用されるべきかを決める。画像
を通して処理が続行される時、ダイナッミックパレット
ローディングを受ける各パレット位置に対する「最終使
用」エントリーを、装置は表に含み続けさせる。装置
は、連続的にこの表を更新して、各パレットメモリー位
置に対する最終使用エントリが、パレットメモリー位置
の内容が最後に使用された画像の場所を指示するように
する。
The present invention is a display system that employs dynamic palette loading for images that are not initially coded for dynamic palettes. Before the device displays the image, the device continues processing through the pixel words in which the image is first encoded to determine which pixels should be used for each palette section. As processing continues through the image, the device will continue to include a "last used" entry in the table for each pallet location that will undergo dynamic pallet loading. The device continuously updates this table so that the last used entry for each palette memory location points to the location of the last used image in the contents of the palette memory location.

【0008】特定の画素に対するパレットエントリを見
出す試みにおいて、装置は、意図された画素値に十分近
く近似する内容を有するパレットメモリ位置を見出すこ
とかできない場合、装置は、DPL位置に対する前の画
像位置、即ち、ダイナミックパレットローディングコマ
ンドが、画像上に如何なる受け入れることのできない結
果を及ぼすことなしに、通常の画素値を示すワードと置
き換えることのできる位置を検索する。装置は次に最終
使用の表に戻り、識別されたDPL位置に先行する位置
を表示するエントリを見出す。この様な、エントリは、
識別されたDPL位置と現在の画素と間に対応するパレ
ットメモリ位置の内容が使用されなかったことを指示す
る。結果として、DPL位置は対応するパレットメモリ
位置の内容を、現在の画素で使用するため、間の表示に
影響を及ぼすことなしに変化するのに使用することがで
きる。この様にして、本装置はダイナミックパレットロ
ーディングに対して使用でき、下位表示システムにおい
ても比較的高い忠実度で生成することのできるデータ
に、通常の画像データをエンコードすることができる。
In an attempt to find a palette entry for a particular pixel, if the device is unable to find a palette memory location with a content that is sufficiently close to the intended pixel value, then the device will attempt to find the previous image location relative to the DPL location. That is, the dynamic palette loading command searches for locations on the image that can be replaced with words that represent normal pixel values, without having any unacceptable results on the image. The device then returns to the end-use table to find an entry indicating the location preceding the identified DPL location. An entry like this
Indicates that the contents of the palette memory location corresponding to the identified DPL location and the current pixel was not used. As a result, the DPL location uses the contents of the corresponding palette memory location at the current pixel and can be used to change without affecting the display in between. In this way, the device can be used for dynamic palette loading and can encode normal image data into data that can be generated with relatively high fidelity even in lower display systems.

【0009】[0009]

【実施例】図1はエンコーダ12によって特徴づけられ
るコンピュータ表示装置を示しており、このエンコーダ
12は、ソース14からの画像の通常の画素毎の表現
を、ダイナミックパレットローディング命令を含む表現
にエンコードし、自然な別の陰影付けられた画像の下位
システム機能での忠実度を大幅に増大する。エンコーダ
は表示メモリ16内に結果のエンコードされた画素ワー
ドを記憶する。結果として、上記Edelson 等に記述され
る形態の表示機構18は、この様なコーディングなしに
ソース14が初めに供給することのできるデータを有す
る画像を表示することができる。
DETAILED DESCRIPTION FIG. 1 shows a computer display device characterized by an encoder 12, which encodes a conventional pixel-by-pixel representation of an image from a source 14 into a representation containing dynamic palette loading instructions. , Significantly increases the fidelity of the different shaded images in the natural subsystem functionality. The encoder stores the resulting encoded pixel word in display memory 16. As a result, the display mechanism 18 of the form described in Edelson et al., Supra, can display an image with data that the source 14 can initially supply without such coding.

【0010】表示機構18は、大規模な通常の画像発生
器20を採用する。この発生器20は、8ビット画素値
の成分を、成分が表示する強度を達成するのに必要とさ
れる陰極線管電圧の8ビット表示に変更するための、典
型的には読出し専用メモリの形態を有する3つのガンマ
補正回路24を有する。各ガンマ補正回路24はその出
力を3つのデジタル−アナログ変換器26の対応する一
つに与える。変換器26はカラー陰極線管28の赤、緑
及び青の電子銃の各々に制御電圧を発生する。図面は本
発明のカラー用を表示しているが、これは、そのより広
い概念はモノクロ表示に適用することができるが、その
利益はカラー装置において最も明瞭であるからである。
The display mechanism 18 employs a large-scale ordinary image generator 20. This generator 20, typically in the form of a read-only memory, transforms the components of an 8-bit pixel value into an 8-bit representation of the cathode ray tube voltage required to achieve the intensity represented by the components. It has three gamma correction circuits 24 having. Each gamma correction circuit 24 provides its output to a corresponding one of the three digital-to-analog converters 26. The converter 26 produces a control voltage for each of the red, green and blue electron guns of the color cathode ray tube 28. The drawings show the color version of the invention, since its broader concept can be applied to monochrome displays, but the benefits are most apparent in color devices.

【0011】従来技術と同様に、システムは表示メモリ
16からの画素ワードの引き出しを陰極線管28の走査
と同期して行うためのタイミング回路32を含んでい
る。回路32は図1の表示でタイミング入力∧を含む全
ての素子に同期信号又はタンミング信号を与える。変換
機構34が表示メモリ16と画像発生器20との間に挿
入され、表示メモリ16内の8ビット出力を画素値ベク
トルに変換する。画素ベクトルの各々は、3つの8ビッ
ト成分の形態を有する。この変換機構は各成分をガンマ
補正回路24の異なる一つに与える。本発明の図示され
た実施例は「ミックス−ランエンコーディング」回路を
採用し、これらに対するコードはa Method and Apparat
us for Providing Anti-Aliased Edges in Pixel-Mappe
d Computer Graphics と題されるSteven D. Edelson の
1987年11月3 日に発行された米国特許4,704,605 に記述
される。ここで採用されるミックスラン−コードを簡単
に説明する前に、我々が使用する用語の幾つかを説明す
る。
As in the prior art, the system includes a timing circuit 32 for withdrawing the pixel word from the display memory 16 synchronously with the scanning of the cathode ray tube 28. The circuit 32 provides a synchronizing signal or a tamming signal to all the elements including the timing input ∧ in the display of FIG. A conversion mechanism 34 is inserted between the display memory 16 and the image generator 20 and converts the 8-bit output in the display memory 16 into a pixel value vector. Each of the pixel vectors has the form of three 8-bit components. This conversion mechanism provides each component to a different one of the gamma correction circuits 24. The illustrated embodiment of the present invention employs "mix-run encoding" circuits for which the code is a Method and Apparat.
us for Providing Anti-Aliased Edges in Pixel-Mappe
of Steven D. Edelson entitled d Computer Graphics
It is described in U.S. Pat. No. 4,704,605 issued Nov. 3, 1987. Before briefly describing the mixed run-code employed here, some of the terms we use are explained.

【0012】ここで使用される画素値は、所与の画素表
示、即ちカラー又はグレイの濃淡或いはカラー濃淡を明
示的に決めるベクトルを意味する。変換機構34の出力
は画素値であるが、これは画素の表示をはっきり定め
る。しかしながら、表示メモリ16の出力は画素値では
ないが、これは、パレットメモリの内容を参照すること
のみにより、画素値を決めるためである。典型的には、
ソース14の出力は画素値からなる。
Pixel value , as used herein, means a vector that explicitly determines a given pixel representation, ie, a shade of color or gray, or a shade of color. The output of the conversion mechanism 34 is a pixel value, which clearly defines the display of the pixel. However, the output of the display memory 16 is not the pixel value, but this is because the pixel value is determined only by referring to the contents of the palette memory. Typically,
The output of the source 14 consists of pixel values.

【0013】画素ワードは、単一画素に対する画像デー
タである。従って、変換機構34の出力は24ビット画
素ワードで編成されるが、表示メモリ16の出力は8ビ
ット画素ワードで編成される。従来通り、表示メモリ1
6は、陰極線管28の走査と同期して作動し、陰極線管
スクリーン上の各画素に対して別の位置を含む如く作動
する。実際は、表示メモリ28内の記憶はランダムメモ
リによって与えられるが、このメモリの最小のアドレス
可能なユニットは数個の画素ワードを含むことができ、
この画素ワードはRAMから同時に引き出されるが、表
示メモリ出力ラインに渡って順次転送される。多くの目
的に対して、その効果は、分離画素ワードが個別にアド
レス可能であるかの如くになることである。位置は、た
とえ分離してアドレス可能でないとしても、従って単一
画素ワードを含むメモリのセグメントを示すために使用
される。
A pixel word is image data for a single pixel. Thus, the output of the conversion mechanism 34 is organized in 24-bit pixel words, while the output of the display memory 16 is organized in 8-bit pixel words. As usual, display memory 1
6 operates in synchronism with the scanning of the cathode ray tube 28 and includes a separate position for each pixel on the cathode ray tube screen. In practice, the storage in display memory 28 is provided by a random memory, but the smallest addressable unit of this memory can contain several pixel words,
This pixel word is simultaneously fetched from RAM but transferred sequentially across the display memory output lines. For many purposes, the effect is that the separate pixel words will be as individually addressable. The location is therefore used to indicate the segment of memory that contains a single pixel word, even if it is not separately addressable.

【0014】変換機構34の作用に戻る。変換機構34
は、読出し/書込みメモリである変換パレットメモリ3
6を含む。本発明に従うと、変換機構はダイナミックパ
レットローダを含む。その作用は以下に記述される。作
用を有する。しかしながら、先ず、表示装置の8ビット
出力を256位置のパレットメモリ36へそのアドレス
として単に送るものと考えることができる。各パレット
メモリ位置は上で示された様に24ビットを含む。
Returning to the operation of the conversion mechanism 34. Conversion mechanism 34
Is a conversion palette memory 3 which is a read / write memory.
Including 6. According to the invention, the conversion mechanism comprises a dynamic pallet loader. Its action is described below. Have an effect. However, first it can be thought of as simply sending the 8-bit output of the display device as its address to the palette memory 36 at 256 positions. Each palette memory location contains 24 bits as indicated above.

【0015】デコーダ38は表示メモリ16の出力と同
様にパレットメモリ出力を受信する。表示メモリ出力は
191と223との間の値を有さない限り、デコーダ3
8は単にパレットメモリ出力をガンマ補正回路24に送
る。これらの表示メモリ出力が存在しない場合、従っ
て、表示機構18は2つの例外を除いて従来通り作動す
る。第1の例外は、ミックスランエンコーディングを使
用する図示された実施例において、各成分の同期はずら
され、デコーダが次のワードを検査する機会を有するま
で、所与の表示メモリ出力ワードから結果されるパレッ
トメモリ出力ワードの送りを遅らせることが十分できる
ようにされる。第2の例外は、以下のワードが1919
と223との間の値を有する場合、デコーダ38は所与
のワードに対するパレットメモリ出力を送り出さないこ
とである。この代わりに、以下に説明される目的のため
に、前のワードに対するパレットメモリ出力を繰り返
す。
Decoder 38 receives the palette memory output as well as the output of display memory 16. The display memory output is decoder 3 unless it has a value between 191 and 223.
8 simply sends the palette memory output to the gamma correction circuit 24. If these display memory outputs are not present, then display mechanism 18 operates conventionally with two exceptions. The first exception is that in the illustrated embodiment using mixed run encoding, each component is out of sync and results from a given display memory output word until the decoder has the opportunity to examine the next word. It is sufficient to delay the sending of the palette memory output word. The second exception is the following word 1919
, 223, the decoder 38 does not output the palette memory output for a given word. Instead, it repeats the palette memory output for the previous word for the purposes described below.

【0016】デコーダ38は191と223との間の表
示メモリ出力をオペコードとして使用する。本発明に従
うと、これらのオペコードの一つは、以下に記述される
方法でパレットメモリ内容を変更する命令である。図示
される実施例において、このオペコードは191であ
る。他のオペコードを192と223との間のにある表
示メモリ出力を、最後の2つの非オペコード表示メモリ
出力から結果されるパレットRAM出力のミックス(混
合)を計算する命令として、デコーダは取り扱う。この
デコーダは、この様な命令の5つの最下位ビットをその
ミックスの指標として解釈する。
Decoder 38 uses the display memory output between 191 and 223 as an opcode. In accordance with the present invention, one of these opcodes is an instruction that modifies the palette memory contents in the manner described below. In the illustrated embodiment, this opcode is 191. The other opcode treats the display memory output located between 192 and 223 as an instruction to compute the mix of palette RAM outputs resulting from the last two non-opcode display memory outputs. The decoder interprets the 5 least significant bits of such an instruction as an indicator of its mix.

【0017】特に、192と223との間の各表示メモ
リ出力yは次の様な部分mを表現している。 mn =( yn -92)/32 この部分mn は少なくとも2つの非オペコード表示メモ
リ出力x1 及びx2 から結果されるベクトルx1 及びx
2 のベクトルミックスMn の計算になる。即ち、 Mn = mn 1 +(1−mn ) x2 である。
In particular, each display memory output y between 192 and 223 represents the following part m: m n = (y n -92) / 32 This part m n is the vector x 1 and x resulting from at least two non-opcode display memory outputs x 1 and x 2.
This results in the calculation of the vector mix M n of 2 . That is, M n = m n x 1 + (1-m n) x 2.

【0018】表示メモリ出力の典型的なシークエンス及
び変換機構34の結果出力は以下の通りである。 x1 2 3 45 6 71 1 3 4 5 6 7 ここで、xn は非オペコード出力であり、yn はミック
スを表すオペコード出力である。このシークエンスを調
べてみると、変換の機構は単に、第1の非オペコード表
示メモリ出力x1 がアドレス指定する位置のパレットメ
モリ内容x1 を送り出すだけであることがわかる。この
理由は、デコーダ38は前方を見て、表示メモリの次の
出力x2 が同様に非オペコードワードであることを知る
からである。
A typical sequence of display memory outputs and the resulting output of the conversion mechanism 34 is: x 1 x 2 y 3 y 4 y 5 y 6 x 7 x 1 x 1 M 3 M 4 M 5 M 6 x 7 where x n is a non-opcode output and y n is an opcode output representing a mix . Examining this sequence reveals that the mechanism of conversion simply sends out the palette memory contents x 1 at the location addressed by the first non-opcode display memory output x 1 . This is because the decoder 38 looks forward and finds that the next output x 2 of the display memory is also a non-opcode word.

【0019】しかしながら、表示メモリx2 に応答し
て、変換機構34は単にx1 出力を繰り返す。以下によ
り詳細に記述される様に、これは、x2 出力にオペコー
ド出力y3 が続くので生じる。非オペコードワードに続
くいかなるオペコードも、エンコード処理が、対応する
画素内に表示されるべき画素値ではなく、ミックスによ
って表示される値の「ラン(RUN) 」の他端に表示される
べき値を表示するパレットRAMエントリのアドレス
を、非オペコード値を含む表示メモリ位置内に置くこと
を示す。
However, in response to the display memory x 2 , the conversion mechanism 34 simply repeats the x 1 output. As described in more detail below, this occurs because the x 2 output is followed by the opcode output y 3 . Any opcode that follows a non-opcode word causes the encoding process to specify the value that should be displayed at the other end of the "RUN" value displayed by the mix, not the pixel value that should be displayed in the corresponding pixel. Indicates to place the address of the palette RAM entry to be displayed in the display memory location containing the non-opcode value.

【0020】考察すると、この構成は全てのランの表示
が2つの同じ画素値で始まることを要求することがわか
る。これはミックスランコーディング手法の柔軟性を大
幅に減少する可能性がある。2つの隣接する画素が同じ
でない場合、ランを開始することは不可能である。実
は、しかしながら、これは、同じ又は略同じな隣接する
画素が多くの天然画像で生じるので、些細な制限にすぎ
ない。更に、ミックスランコードの全てが同じ隣接画素
の存在を要求するのではない。Edelson'605 に説明され
る様に、別のランミックスエンコーディング手法は、ミ
ックス及び画素値の両方を含む画素ワードを採用する。
一つのみで、2つではない他の画素ワードへの参照は所
望のミックスを発生するのに必要である。この様な構成
は、同じ隣接画素を必要とはせず、本発明の幾つかの実
施例はこの様なエンコード手法を使用場合がある。
Considering this, it can be seen that this configuration requires that the display of all runs start with two identical pixel values. This can significantly reduce the flexibility of the mixed run coding technique. It is not possible to start a run if two adjacent pixels are not the same. In fact, however, this is only a trivial limitation, as adjacent pixels that are the same or nearly the same occur in many natural images. Moreover, not all of the mix run codes require the presence of the same neighboring pixels. Another run-mix encoding technique, as described in Edelson '605, employs pixel words that include both mix and pixel values.
References to only one, but not two, pixel pixels other than two are necessary to produce the desired mix. Such an arrangement does not require the same adjacent pixels, and some embodiments of the invention may use such an encoding technique.

【0021】装置即ちミックスランデコーディングに関
係するデコーダ12の下流の素子のの同期部分の動作
は、コンピュータ生成画像の端部のエイリアシングを除
去するための’605米国特許に記述されるのと略同様
である。この説明された実施例は、実際の画素値として
記憶される天然画像を表示するための同じ機構を採用す
ることができる。
The operation of the synchronous portion of the device, ie, the downstream element of the decoder 12 involved in mix-run decoding, is substantially similar to that described in the '605 US patent for eliminating edge aliasing in computer generated images. Is. This described embodiment can employ the same mechanism for displaying natural images stored as actual pixel values.

【0022】ミックスランエンコーディングの利点は、
この様な構成が生成することのできる画素値の範囲を計
算することにより理解される。256の可能な表示メモ
リ出力の内、33個がオペコードである。これは223
個のペレット値を残す。対毎に32個の異なるミックス
が乗算され、複製のための2で除算された223個の値
の組み合わせの数は790,000個以上の異なる同時
利用可能な値を生じる。明らかに、これは、通常の8ビ
ットシステムで利用可能な範囲(256)よりも数桁大
きい値である。更に、この範囲は、完全な表示メモリ内
の3つの成分画素値を記憶する(より高価な)ユニット
で利用可能な範囲の約5パーセントに過ぎないが、実質
的な画像品質の結果として得られる差は、通常小さい。
本発明によると、更に、この差の大部分もダイナミック
パレットローディング即ち、装置中にパレット内容を、
以下に記述される様に、変化することにより瞬間的に除
去することができる。ミックスランエンコーディングな
しに、ダイナミックパレットローディングは、多くの場
合において同様の結果を生じることができる。
The advantages of mixed run encoding are:
It will be understood by calculating the range of pixel values that such an arrangement can produce. Of the 256 possible display memory outputs, 33 are opcodes. This is 223
Leave the pellet value of pieces. Each pair is multiplied by 32 different mixes and the number of 223 value combinations divided by 2 for replication yields over 790,000 different simultaneously available values. Obviously, this is orders of magnitude larger than the range (256) available in a typical 8-bit system. Furthermore, this range is only about 5 percent of the range available on the (more expensive) unit that stores the three component pixel values in full display memory, but results in substantial image quality. The difference is usually small.
Furthermore, according to the invention, most of this difference is also dynamic.
Pallet loading, that is, the contents of the pallet in the device,
It can be removed instantaneously by changing, as described below. Without mixed run encoding, dynamic palette loading can often produce similar results.

【0023】ミックスランエンコード手法におけるこの
様な画像を表示するために、本発明はエンコーダ12を
採用する。エンコーダの下流に回路を用いる代わりに、
エンコーダ12は典型的には、パーソナルコンピュータ
又はワークステーションとして知られる様な汎用プロセ
ッサの形態で形成され、実時間では通常作動しない。説
明される実施例においては、磁気ディスク、CD又は光
学ディスクの様な劣価な低速媒体内で画素毎の形態で通
常通り記憶される画像に作用する。
To display such an image in the mixed run encoding technique, the present invention employs an encoder 12. Instead of using a circuit downstream of the encoder,
Encoder 12 is typically formed in the form of a general-purpose processor, known as a personal computer or workstation, and typically does not operate in real time. In the described embodiment, it operates on images that are normally stored in a pixel-by-pixel form in low-priced slow media such as magnetic disks, CDs or optical disks.

【0024】図1は説明を容易にするために種々のシス
テム素子を分離していることが強調されるべきである。
回路板及び集積回路内の通常の周群を示してはいない。
実際上、タイミング回路32はパーソナル回路に通常採
用される形態のビデオ/グラフィック(“VGA”)制
御基板で典型的に提供される。同じ基板が典型的にはエ
ンコーダ出力を表示メモリ16へ搬送し、図面には示さ
れてはいないがデータを記憶し、表示メモリ16からデ
ータを引き出すために必要があるので、表示メモリ16
にリード/ライト、ストローブ、及びアドレス信号を与
え、パレットメモリ36へアドレスとして引き出された
データを送るために使用される。VGA制御器はパレッ
トメモリ36に、通常の実時間操作に対して必要なリー
ド及びストローブ信号を与える。また、エンコード(即
ち、マイクロプロセッサ)制御のもとで初期パレットロ
ーディングに必要なストローブ、データ及びライト信号
も同様に与えられる。
It should be emphasized that FIG. 1 separates various system elements for ease of explanation.
Not shown are the usual perimeters in circuit boards and integrated circuits.
In practice, the timing circuit 32 is typically provided in a form of video / graphics ("VGA") control board that is commonly employed in personal circuits. The same substrate typically carries the encoder output to the display memory 16 and, although not shown in the drawing, stores the data and is required to retrieve the data from the display memory 16, so the display memory 16
It is used to provide read / write, strobe, and address signals to and to send the data extracted as an address to the palette memory 36. The VGA controller provides the palette memory 36 with the necessary read and strobe signals for normal real time operation. Also, strobe, data and write signals required for initial palette loading under encode (i.e., microprocessor) control are also provided.

【0025】パレットメモリ及びデジタル−アナログ変
換器は典型的には、通常の表示装置内の単一の“RAM
−DAC”チップ上に通常与えられる。Edelson 等の出
願及びEdelson の上記米国特許に記述されるダイナミッ
クパレットローダ37及びデコーダ38を挿入するため
に、ガンマ補正回路24及びデジタル−アナログ変換器
26から分離するチップ上にパレットメモリ36を提供
する。しかしながら、我々は、パレットメモリ36、ダ
イナミックパレットローダ37、デコーダ38及びデジ
タル−アナログ変換器26からなる単一チップを形成す
ることが望ましい。これは、チップが、通常のRAM−
DACチップに対して置き換え可能なプラグレベルで互
換性のあるチップとすることができるからである。
Palette memory and digital-to-analog converters are typically a single "RAM" in a conventional display device.
Separately from the gamma correction circuit 24 and the digital-to-analog converter 26 for inserting the dynamic palette loader 37 and decoder 38 described in the Edelson et al. Application and Edelson et al. It is desirable to provide a pallet memory 36 on a chip which, however, we form a single chip consisting of the pallet memory 36, the dynamic pallet loader 37, the decoder 38 and the digital-to-analog converter 26. This is the chip. But normal RAM-
This is because the chip can be compatible with the plug level that can be replaced with the DAC chip.

【0026】エンコーダ12は図2と関連して記述され
る手法で作動する。図2のルーチンの全体としてのアプ
ローチは、中間の画素ワードによって表現される画素の
全ての近似解を内挿する値の初めと終わりのワードを有
するソース画素ワードシークエンスを識別することにあ
る。このシークエンスは、この判断基準を満足しなくな
るまで一つの画素によって繰り返し引き伸ばされる。次
に、このルーチンは最後の受容可能なシークエンスに戻
り、これを次のエンコーディングのためのミックスラン
として適用し、この手法を後続の画素ワードで繰り返
す。
Encoder 12 operates in the manner described in connection with FIG. The overall approach of the routine of FIG. 2 is to identify a source pixel word sequence having a beginning and ending word of values that interpolates all approximate solutions of the pixel represented by the intermediate pixel word. This sequence is repeatedly stretched by one pixel until it no longer meets this criterion. The routine then returns to the last acceptable sequence, applies it as a mix run for the next encoding, and repeats the procedure with subsequent pixel words.

【0027】図2,3のルーチンはステップ60を開始
する。ここで、ルーチンは、ソース14から受信される
画像内の第1の画素ワードからスタートする。ステップ
62において、ルーチンは、このワードの後に少なくと
も3ワード続き4ワードシークエンスを形成する否かを
決定する。理論で可能なランは3つのみの画素ワードか
らなるが、3つだとパレットメモリ容量の倹約とはなら
ないので、実際には4つを要求する。最初の2つのワー
ドが同じである場合、ラン内での3つのワードは、ミッ
クスランエンコーディングなしに2つのパレットエント
リのみを必要とする。4未満のワードが残される場合、
従って、ルーチンはブロック64が示す非ミックス基準
でエンコードするための3つ又はそれ以下の残りのワー
ドを採用する。即ち、次のエンコーディングプロセスは
対応する表示メモリ位置内に非オペコードを設置する。
図2,3のルーチンは次に終了し、パレットメモリ割り
当て及び実際のエンコードが開始する。
The routine of FIGS. 2 and 3 begins step 60. Here, the routine starts with the first pixel word in the image received from the source 14. In step 62, the routine determines whether to form at least 3 words followed by a 4 word sequence after this word. The theoretically possible run consists of only three pixel words, but since three does not spare the palette memory capacity, it actually requires four. If the first two words are the same, then the three words in the run need only two palette entries without mixed run encoding. If less than 4 words are left,
Therefore, the routine employs the remaining three or fewer words for encoding on the non-mixed basis indicated by block 64. That is, the next encoding process places a non-opcode in the corresponding display memory location.
The routine of Figures 2 and 3 then ends and the palette memory allocation and actual encoding begins.

【0028】4つ又はそれ以上のワードが残る場合、ル
ーチンは、ステップ66で、最初の2つのワードが同じ
であるか、それらが同等に表示されたとき不快感を及ぼ
さないほど十分近いかを決定する。上述した様に、選択
されたミックスランコードでの全てのランが2つの同等
の表示画素でスタートする。最初の2ワードが違い過ぎ
る場合、ランを開始することができない。ステップ68
は先頭のワードを非ラン基準でエンコードするために採
用する。即ち、現在の画素ワードはオプコードとして記
憶されないのであれば、ミックス操作でのオペランドの
一つとして使用される。ルーチンは次に画像を通して一
つの画像ワード毎に進行し、ステップ62に戻る。
If four or more words remain, the routine determines in step 66 whether the first two words are the same or close enough that they are not annoying when displayed equally. decide. As mentioned above, every run with the selected mix run code starts with two equal display pixels. If the first two words are too different, the run cannot start. Step 68
Is used to encode the first word on a non-run basis. That is, if the current pixel word is not stored as an opcode, it will be used as one of the operands in the mix operation. The routine then proceeds through the image, one image word at a time, and returns to step 62.

【0029】他方、もしルーチンが、略等しい画素値を
表示する2つの新たな画素ワードのシークエンスを見出
す場合、ステップ70に進み、第3のワードを同じ2つ
のワードに加算し、候補となるシークエンスを形成す
る。そしてステップ72で第4のワードを加算する。結
果のシークエンスは、ミックスランへエンコードするた
めの適合性に対する試験を受ける体制にある。先ず、ル
ーチンはミックス誤差を調整する。この最大誤差は、パ
レット値間の内挿が画像源内の画素値を略近似すること
ができるか否かを決定するのに使用される判断基準であ
る。本発明によると、ルーチンは、候補となるシークエ
ンスサイズとともに変化する様にこの判断基準を調整す
る。この判断基準は比較的大きな誤差で始まる。即ち、
ルーチンは、ソース画素値の強度に対する誤差の比を決
定する。そして、その結果は最大誤差判断記述と比較さ
れる。候補シークエンスのサイズはループを通して次の
パスで増大するので、最大誤差判断記述は、より小さい
割合に減少し、小さい絶対値となる。
On the other hand, if the routine finds a sequence of two new pixel words that display approximately equal pixel values, it proceeds to step 70 and adds a third word to the same two words to form a candidate sequence. To form. Then, in step 72, the fourth word is added. The resulting sequence is ready for testing for suitability for encoding into mixed runs. First, the routine adjusts the mix error. This maximum error is a criterion used to determine whether interpolation between palette values can approximate pixel values in the image source. In accordance with the present invention, the routine adjusts this criterion to change with the candidate sequence size. This criterion starts with a relatively large error. That is,
The routine determines the ratio of the error to the intensity of the source pixel value. The result is then compared with the maximum error judgment description. As the size of the candidate sequence grows on the next pass through the loop, the maximum error decision description decreases to a smaller rate, resulting in a smaller absolute value.

【0030】出力ランサイズが増大すると、近似が加速
的に良くなくはずである。このアプローチは、所定の利
用可能なパレットサイズに対する表示結果の実際の品質
を良くする傾向があることが分かった。4ワード長ラン
に対して、12%の誤差判断基準を使用する。即ち、全
てのミックス計算された画素値は、ランが受け入れられ
る場合、対応するソース画素値の12%内にあるに違い
ない。この最大誤差判断基準は、10のラン長の4%に
到達するまで、徐々に減少する。10を越えるラン長に
対して、我々は絶対誤差値を採用する。即ち、我々は、
4%の値を、候補のシークエンス内の画素値に渡って各
成分の平均値に適用する。そして我々は、15のラン長
でゼロに到達するまで各成分に対する結果の絶対誤差値
を徐々に減少する。
As the output run size increases, the approximation should accelerate poorly. It has been found that this approach tends to improve the actual quality of display results for a given available pallet size. A 12% error criterion is used for a 4-word long run. That is, all mix calculated pixel values must be within 12% of the corresponding source pixel values if the run is accepted. This maximum error criterion gradually decreases until it reaches 4% of a run length of 10. For run lengths above 10, we adopt absolute error values. That is, we
A value of 4% is applied to the average value of each component over the pixel values in the candidate sequence. We then gradually reduce the resulting absolute error value for each component until it reaches zero with a run length of 15.

【0031】決定ブロック76によって表示される次の
ステップは、候補シークエンス内の中間のワードの全て
によって表示される画素値がこのシークエンス内の最初
及び最後の画素ワードによって表示される値から内挿さ
れるか否かを決定する。明らかに、エラーを決める多く
の方法がある。特定の選択は必須とはならない。我々が
使用するものは以下の通りである。第1の画素値XF
最後の画素XL 、及び中間の画素Xi を表示する画素ワ
ードから構成される。ここで、各画素値Xはベクトル
(xR , xG , xB )である。絶対誤差に対して我々が
採用する判断基準は、0及び31との間の整数nでなけ
ればならなく、以下の通りである。
The next step, represented by decision block 76, is that the pixel values represented by all of the intermediate words in the candidate sequence are interpolated from the values represented by the first and last pixel words in this sequence. Decide whether or not. Obviously, there are many ways to determine an error. Specific choices are not mandatory. The ones we use are: The first pixel value X F ,
Composed last pixel X L, and intermediate pixel words for displaying the pixel X i. Wherein each pixel value X is a vector (x R, x G, x B). The criterion we adopt for absolute error must be an integer n between 0 and 31 and is as follows.

【0032】ER <ERmaxG <EGmaxB <EBmax ここで、 ER =|nxFR+(32−n)xLR−32x iR|/32 そしてEG 及びEB は同時に決められる。1/100程
度の誤差に対して、ERmax、EGmax、EBmaxは絶対誤差
というよりも関数である。そして、この判断記述は ER <ERmaxRG <EGmaxGB <EBmaxB となる。
E R <E Rmax E G <E Gmax E B <E Bmax where E R = | nx FR + (32-n) x LR -32x iR | / 32 and E G and E B are determined at the same time. To be For errors of about 1/100, E Rmax , E Gmax , and E Bmax are functions rather than absolute errors. Then, this determination description becomes E R <E Rmax x R E G <E Gmax x G E B <E Bmax x B.

【0033】候補シークエンスはこれらの判断基準を満
足する場合、ルーチンはこれをブロック78が示す様
に、ミックスランへエンコーディングされるために受け
入れことができると認識する。ルーチンはステップ80
へ進む。このステップにおいて、画像の端部が到達した
か否かを決定する。もし、到達した場合は、ルーチンは
候補シークエンスをミックスランへエンコードされるシ
ークエンスとして採用し、ブロック82が示す様にプロ
セスは終了する。到達しない場合は、ルーチンはステッ
プ72へ戻り、他の画素ワードを加え、例えばより小さ
い最大誤差値Ema x を用いて操作を繰り返す。この操作
は、ルーチンがソースワードを使い切るか、延長された
シークエンスが最大エラー判断基準を満足し得なくなる
まで、続行し、新たなソース画素がループを通過する各
通路に加えられる。
If the candidate sequence meets these criteria, then the routine recognizes that it is acceptable for encoding into a mix run, as indicated by block 78. The routine is step 80.
Go to. In this step, it is determined whether the edge of the image has arrived. If so, the routine adopts the candidate sequence as the sequence to be encoded into the mix run and the process ends, as indicated by block 82. If not reached, the routine returns to step 72, adding the other pixel word, repeats the operation using, for example, less than the maximum error value E ma x. This operation continues until new source pixels are added to each pass through the loop until the routine runs out of source words or the extended sequence cannot satisfy the maximum error criterion.

【0034】延長されたシークエンスが最大エラー判断
基準を満足することを失敗した場合、ルーチンは、特定
の実施例が採用する場合は、ブロック84によって表現
される付加的なステップに進む。以下により詳細に説明
されるブロック84のステップが省略される場合、ルー
チンは直接ステップ86へ進む。このステップでは、ソ
ース画素ワードの或る受け入れ可能なシークエンスが、
識別されたが採用されないかったかどうかを決定する。
即ち、現在の基礎ワードでスタートする受け入れ可能な
シンークエンスを識別したか否かを識別する。識別され
ない場合は、ルーチンは停止して、受け入れ可能なシー
クエンスを現在の基礎ワードで形成するようにする。ル
ーチンは現在の基礎ワードを非ラン基準上でコーディン
グするために採用し、ブロック88及び90が示す様
に、次のワードを新たな基礎ワードととして採用する。
ルーチンが一つ以上の受け入れ可能なシークエンスを見
出すと、他方で、ルーチンは、ブロック92が示す様
に、ミックスランをエンコードするために未だ採用され
ていない最後(最長)のものを採用し、採用されたシー
クエンスに続くワードは新たな基礎ワードとなる。
If the extended sequence fails to meet the maximum error criterion, the routine proceeds to an additional step, represented by block 84, if the particular embodiment employs it. If the step of block 84, described in more detail below, is omitted, the routine proceeds directly to step 86. In this step, one acceptable sequence of source pixel words is
Determine if identified but not wanted.
That is, identify whether or not an acceptable sequence starting with the current base word has been identified. If not, the routine stops and causes an acceptable sequence to form with the current base word. The routine takes the current base word for coding on the non-run reference and takes the next word as the new base word, as shown by blocks 88 and 90.
If the routine finds one or more acceptable sequences, on the other hand, the routine adopts the last (longest) one that has not yet been adopted to encode the mixrun, as indicated by block 92, and adopts it. The word following the sequence that was created becomes the new base word.

【0035】ルーチンはステップ62に戻り、プロセス
を再開する。このプロセスは、全てのワードが非ミック
ス基準上又はミックスランの一部としてエンコーディン
グするための採用されるまて繰り返される。ブロック8
4に戻る。このブロックは上述された判断基準を用い
る。上述されたルーチンは広範に変化する画像に対して
うまく作用する。しかしながら、「質感」として表れる
典型的な形態を有するある画像があり、これは多数の短
いランをもたらす傾向がある。これらは、パレットメモ
リを急速に消費する。しかしながら、我々はこの様な画
像の平均ラン長は通常、ステップ84で例示された様な
プロセスを採用することにより大幅に増大させることが
できることを見出した。ルーチンは、候補シークエンス
がステップ76によって実行される判断基準を満足する
ことに失敗する時ステップ84へ入る。即ち、その終了
点は、中間の画素の値を内挿することのできる値を提供
する。
The routine returns to step 62 to restart the process. This process is repeated until all words have been adopted for encoding on a non-mix reference or as part of a mix run. Block 8
Return to 4. This block uses the criteria described above. The routine described above works well for widely varying images. However, there are certain images with typical morphology that appear as "texture", which tends to result in many short runs. These quickly consume palette memory. However, we have found that the average run length of such images can usually be significantly increased by employing a process such as that illustrated in step 84. The routine enters step 84 when the candidate sequence fails to meet the criteria implemented by step 76. That is, the end point provides a value by which the values of intermediate pixels can be interpolated.

【0036】中間値は現在の終了点からは内挿すること
はできないが、シークエンスを延長することが内挿を行
うことのできる終了点を結果することを示すことに対す
る試験である。この識別は候補シークエンス内の「局所
的最大値」に基づく。所与のソース画素ワードは、シー
クエンス中の他の画素値の全ての赤、緑、青成分が、シ
ークエンス内の所定の画素値及び第1の画素値のそれぞ
れの赤、緑及び青成分の間にある場合、シークエンスの
最大値を表示する。
The median value is not a test for interpolating from the current endpoint, but is a test for showing that extending the sequence results in an endpoint for which interpolation can occur. This identification is based on "local maxima" within the candidate sequence. A given source pixel word is such that all red, green and blue components of other pixel values in the sequence are between the given pixel value and the respective red, green and blue component of the first pixel value in the sequence. If is, the maximum sequence value is displayed.

【0037】ブロック84のステップは第1にこの様な
局所最大値か存在するか否かを、第2に他の画素値が第
1の画素値及び局所最大値との間で補足的に内挿できる
か否かを決定する。もし、可能な場合は、ルーチンは進
行して、受け入れ可能な候補シークエンスが、シークエ
ンスを延長することにより見出すことができるか否かを
決定する。このことは例え、候補シークエンスが現在の
長さで受け入れることができなくとも行われる。
The step of block 84 first determines whether such a local maximum exists, and second, other pixel values complementarily between the first pixel value and the local maximum. It is determined whether or not it can be inserted. If possible, the routine proceeds to determine if an acceptable candidate sequence can be found by extending the sequence. This is done even if the candidate sequence is not acceptable for the current length.

【0038】シークエンスは、局所最大値を含む場合の
みに、ステップ84の判断基準を満足することがてきる
ことを注意すべきできる。然し、局所最大値の存在は、
受け入れ可能なシークエンスを結果する別の画素値が存
在することの必要条件ではない。即ち、候補シークエン
スを引き伸ばすことが、例え、局所最大値を有さない場
合であっても、シークエンスを受け入れ可能なシークエ
ンスに変換することができる。我々は、上述の判断基準
は簡単に適用できるという理由のみからステップ84の
判断基準を満足しなくなる時、候補シークエンスを延長
するのを停止する。
It should be noted that the sequence can satisfy the criterion of step 84 only if it contains a local maximum. However, the existence of a local maximum is
It is not a requirement that there be another pixel value that results in an acceptable sequence. That is, stretching the candidate sequence can convert the sequence into an acceptable sequence even if it does not have a local maximum. We stop extending the candidate sequence when we no longer meet the criteria in step 84 simply because the criteria above are easily applied.

【0039】しかし、他の判断基準が、受け入れ可能な
シークエンスを見出すことができるという希望のもとで
受け入れ可能なシークエンスを延長することが価値があ
るかか否かを決定するために採用することができる。3
次元スペース内の点として画素値の全てを考え、次にこ
れらの点の間で最小2乗誤差を結果するラインに対して
解くと言う簡単な方法がある。点の全てがラインからの
最大誤差距離内に存在する場合であり、且つ左終点値の
各成分がシークエンス内の他の値対応する成分の全てよ
り大きいか又は小さい場合、中間の値が内挿することの
できる別の値が見出される。アルゴリズムの簡単性のた
めに、この様な判断基準を採用しなかったが、これ又は
類似の判断基準が容易に図2,3のブロック84によっ
て表示される判断基準に置き換えられる。
However, other criteria should be adopted to determine whether it is worth prolonging an acceptable sequence with the hope that an acceptable sequence can be found. You can Three
There is a simple way to consider all of the pixel values as points in the dimensional space and then solve for the line that results in a least squares error between these points. If all of the points are within the maximum error distance from the line, and each component of the left endpoint value is greater than or less than all of the corresponding components in the sequence, the intermediate value is interpolated. Another value that can be found is found. For reasons of simplicity of the algorithm, we did not adopt such a criterion, but this or a similar criterion could easily be replaced by the criterion displayed by block 84 in FIGS.

【0040】以上の議論は、エンコーディングのために
採用された全てのシークエンスが、結果のランの特徴値
として選ばれる。即ち、ランポイントの最初の2つの画
素ワードに対するパレットエントリとして選ばれるシー
クエンス終了点の値でエンコードされる、という仮定に
基づいていることに注意すべきである。しかしながら、
図2,3のルーチンが修正され、ラン内へエンコードさ
れるべき各ソースシークエンスの識別だけでなく、ラン
の第2の特徴点が何であるべきであるかの別の指標がエ
ンコーディングプロセスに通過されると想定する。即
ち、エンコーディングプロセス右終了点を第2の特徴点
として自動的に採用すると想定する。この様な構成にお
いて、ステップ84の判断基準を満足するシークエンス
が受け入れることができると考えることができ、この様
なシークエンスのためのエンコーディングプロセスに通
される値はその局所最大値である。実際、局所最大値が
ない場合であっても、上述された最小2乗判断基準を、
シークエンス中にない値を第2の特徴値として使用する
ことにより採用することができる。両方の場合におい
て、最後のミックスコードは一般的に32/32=1を
表示しない。
The above argument is that all sequences adopted for encoding are selected as feature values of the resulting run. Note that it is based on the assumption that it is encoded with the value of the sequence end point chosen as the palette entry for the first two pixel words of the runpoint. However,
The routine of FIGS. 2 and 3 has been modified so that not only the identification of each source sequence to be encoded into a run, but another indicator of what the second minutiae of the run should be is passed to the encoding process. Suppose. That is, it is assumed that the right end point of the encoding process is automatically adopted as the second feature point. In such an arrangement, it may be considered that a sequence satisfying the criterion of step 84 is acceptable, and the value passed through the encoding process for such a sequence is its local maximum. In fact, even if there is no local maximum, the above least squares criterion is
It can be adopted by using a value that is not in the sequence as the second feature value. In both cases, the last mix code generally does not represent 32/32 = 1.

【0041】結果として得られる画像品質を劣化するこ
となしにステップ66、76及び84において使用され
る判断基準の厳密性を少し減少するための技術は、ガン
マ補正回路の非線形性は値を収束するという結果をもた
らすという認識から得られている。ステップ66におい
て、2つの隣接する画素ワードによって表現される値は
緑成分以外で全て同じであり、250及び251の各値
を有すると考える。ステップ60で使用される判断基準
が、2つの開始値が厳密に同じであるということにある
場合、これら2つの隣接する値はこの判断基準を満たさ
ない。従って、これらは、受け入れ可能なシークエンス
のスタートとはなれない。
A technique for slightly reducing the stringency of the criteria used in steps 66, 76 and 84 without degrading the resulting image quality is that the non-linearity of the gamma correction circuit converges values. It is obtained from the recognition that it brings the result. In step 66, the values represented by the two adjacent pixel words are all the same except for the green component, and are considered to have respective values of 250 and 251. If the criterion used in step 60 is that the two starting values are exactly the same, then these two adjacent values do not meet this criterion. Therefore, they do not constitute an acceptable start of the sequence.

【0042】 しかしながら、表1は画素値成分とガンマ補正回路24
がデジタル−アナログ変換器26に与える結果の値との
対応を図示しており、公称の画素値250及び251に
おける差が結果の画像に差を作らないことを示してい
る。両方の値から結果されるデジタル−アナログ変換器
の入力は同じである。従って、ステップ60は、結果の
ガンマ変換値が同じである場合に異なる画素値を考慮す
る様修正できる。同様な修正はステップ76及び84に
対して成すことができる。
[0042] However, Table 1 shows the pixel value components and the gamma correction circuit 24.
Illustrates the correspondence with the resulting values provided to the digital-to-analog converter 26, showing that the difference in the nominal pixel values 250 and 251 does not make a difference in the resulting image. The input of the digital-to-analog converter resulting from both values is the same. Therefore, step 60 can be modified to consider different pixel values if the resulting gamma conversion values are the same. Similar modifications can be made to steps 76 and 84.

【0043】ソース画素ワードの各々をエンコーディン
グのために、非ミックス基準に基づくかミックスランの
部分として採用した後、エンコーダは、実際の割り当て
が達成される前にパレットメモリを割り当てる。パレッ
トメモリアドレスがミックスランコードワードの部分と
して使用される前にパレットメモリ内の種々の画素値の
位置を知る必要がある。
After adopting each of the source pixel words for encoding, either on a non-mix basis or as part of a mix run, the encoder allocates palette memory before the actual allocation is achieved. It is necessary to know the location of various pixel values in the palette memory before the palette memory address is used as part of the mix run codeword.

【0044】我々はパレットをダイナミックにロードす
る。即ち、我々は画像の表示中その内容を変化する。こ
れを行うために、ダイナミックパレットローダ37を採
用する。これは上述されたEdelesonらの米国特許出願に
記述される形態の回路を採用する。上述された様に、ダ
イナミックパレットローダ37は、表示メモリ16の出
力をパレットメモリ36へアドレスとして通常送る。こ
れに対する唯一の例外は、表示メモリ出力が191であ
り、ダイナミックパレットローディングを開始する命令
である時発生する。ダイナミックパレットローダ37が
このコードを受信する時、パレットメモリ36の読出し
を妨害する。同時に、コード191を同様に受信するデ
コーダ38は、現在のパレットメモリ出力を送り出さな
い。実際、このデコーダは、ダイナミックパレットロー
ダ37がコード191の繰り返しに応答して達成する操
作の期間である5画素ワード回数に対する最小パレット
メモリ出力を繰り返す。
We load palettes dynamically. That is, we change the content of an image while it is being displayed. To do this, a dynamic pallet loader 37 is employed. It employs a circuit of the form described in the US patent application of Edeleson et al., Mentioned above. As mentioned above, the dynamic palette loader 37 normally sends the output of the display memory 16 to the palette memory 36 as an address. The only exception to this occurs when the display memory output is 191 and the instruction to start dynamic palette loading. When the dynamic palette loader 37 receives this code, it disturbs the reading of the palette memory 36. At the same time, decoder 38, which also receives code 191, does not send out the current palette memory output. In effect, the decoder repeats the minimum palette memory output for the 5 pixel word count, which is the period of operation that the dynamic palette loader 37 accomplishes in response to the repetition of code 191.

【0045】ダイナミックパレットローダ37はこのコ
ードを受信する時、内部レジスタ内に次の3つの画素ワ
ードの内容を一時的に保持する。画素ワードはそれぞ
れ、パレットメモリ36内に記憶されるべき画素値の
赤、緑、青の成分をそれぞれ表示する。4番目の画素ワ
ードの受信に応答して、ダイナミックパレットローダ3
7は、第4の次の画素ワードをそのアドレスが表すパレ
ットメモリ位置へ、保持される画素値をロードする。ダ
イナミックパレットローダ37及びデコーダ38は、ワ
ードが191でない限り5番目の次のワードで通常の操
作を再開する。
When the dynamic palette loader 37 receives this code, it temporarily holds the contents of the next three pixel words in an internal register. Each pixel word represents the red, green, and blue components of the pixel value to be stored in the palette memory 36, respectively. In response to receiving the fourth pixel word, the dynamic palette loader 3
7 loads the held next pixel value into the palette memory location whose address represents the fourth next pixel word. The dynamic palette loader 37 and decoder 38 resume normal operation with the fifth next word unless the word is 191.

【0046】図4はダイナミックパレットローディング
シークエンスを含むミックスラン画素ワードの断面を示
す。表示メモリ画素ワードA及びBは非ミックスコード
であり、これはパレットメモリ内に記憶されるパレット
メモリ位置4及び2を指示することにより画素値を表示
する。ワードCはダイナミックパレットロードオペコー
ド191であり、ワードD、E、Fはパレットメモリ内
に記憶されるべき画素値の赤、緑および青成分の値をそ
れぞれ含む。ワードGは、画素値が記憶されるべきパレ
ットメモリ位置のアドレス、即ち、4を表示する。従っ
て、ダイナミックパレットローダ37は画素値(16、
255、0)を、前に記憶された値に重ね書きすること
によりパレット位置4へロードする。ワードHにおい
て、5ワードがオペコード191から発生し、従って、
デコーダは最後の画素値を繰り返すことを停止し、その
代わりに、ワードHが指し示すパレットメモリ位置2内
の画素値を送り出す。ワードIはパレット位置4を指し
示し、デコーダは画素値(16,255,0)を発生す
る。その値はいまロードされた値である。
FIG. 4 shows a cross section of a mix-run pixel word containing a dynamic palette loading sequence. Display memory pixel words A and B are non-mixed codes, which display pixel values by pointing to palette memory locations 4 and 2 stored in palette memory. Word C is the dynamic palette load opcode 191, and words D, E, F respectively contain the values of the red, green and blue components of the pixel value to be stored in the palette memory. Word G indicates the address of the palette memory location where the pixel value is to be stored, ie 4 ,. Therefore, the dynamic palette loader 37 uses the pixel value (16,
255,0) is loaded into pallet position 4 by overwriting the previously stored value. In word H, 5 words originate from opcode 191 and thus
The decoder stops repeating the last pixel value and instead sends out the pixel value in the palette memory location 2 pointed to by word H. Word I points to palette position 4 and the decoder produces the pixel value (16,255,0). That value is the value just loaded.

【0047】本発明に従うと、エンコーダはソース画素
データを表示メモリ内容へ変更する。この表示内容はこ
のダイナミックパレットローディング能力の利点を使用
する命令及びパレットアドレスコードを含む。図5乃至
図7はこの目的に対してエンコーダが採用するルーチン
を示す。図示された実施例は図2,3に示される形態の
第1のパスの結果に作用する様構成される。図2,3に
おいて、ミックスランが識別されているが、ミックスは
好ましくは依然として計算されていない。ミックスの計
算を遅延するための理由は、パレットメモリ内容に幾分
か依存することにある。この内容の決定することが図5
乃至図7の第2のパレットローディングパスの目的であ
る。
According to the present invention, the encoder transforms the source pixel data into display memory contents. The display contents include instructions and palette address codes that take advantage of this dynamic palette loading capability. 5 to 7 show the routines adopted by the encoder for this purpose. The illustrated embodiment is configured to operate on the results of the first pass of the form shown in FIGS. In FIGS. 2 and 3, mix runs are identified, but mixes have preferably not yet been calculated. The reason for delaying the mix computation is to some extent depend on the palette memory contents. Fig. 5 shows that this content can be determined.
To the purpose of the second pallet loading pass of FIG.

【0048】説明される実施例は第1のミックスランエ
ンコーディングパスの仮定に基づくルーチンを採用する
が、本発明のより広い形態では、ミックスランエンコー
ディングを採用しない構成で実施できることは明らかで
ある。本発明に従うと、エンコーディング素子はラスタ
ースキャンの順序でソース画素ワードを検査する。ダイ
ナミックパレットローディングに対するエンコーディン
グの内容において、「ソース画素ワード」はミックスラ
ンパスを出力することができるか、又はミックスランエ
ンコーディングルーチンが作用する元ソースワードとす
ることできる。ミックスランエンコーディング及びダイ
ナミックパレットローディングの両方を採用する装置に
おいて、ソースは第1のミックスランエンコーディング
パスの主力であるべきである。これは特定の画素ワード
がミックスとして画素値を表すべきであるかを知ること
が重要であるからである。
Although the described embodiment employs a routine based on the assumption of the first mix-run encoding pass, it is clear that the broader aspect of the invention can be implemented in configurations that do not employ mix-run encoding. According to the invention, the encoding element examines the source pixel word in raster scan order. In the context of encoding for dynamic palette loading, the "source pixel word" can output a mix run path or can be the original source word on which the mix run encoding routine operates. In a device that employs both mix-run encoding and dynamic palette loading, the source should be the mainstay of the first mix-run encoding pass. This is because it is important to know if a particular pixel word should represent a pixel value as a mix.

【0049】本発明に従うと、ダイナミックテーブルロ
ーディングを受けるパレットメモリ中の各位置に対する
最終使用値のランニングテーブルを使用して、ダイナミ
ックパレットローディングシークエンスの位置及び内容
を、エンコーダが決定する。特に、ルーチンはラスタ走
査で画像に渡って進行して、パレットメモリアドレスを
画像の種々の画素ワードに割り当てる。このことが行わ
れる毎に、ルーチンはそれが使用するパレット位置に対
する最終使用エントリを更新し、最終使用エントリがパ
レット位置の最新使用の画像位置を指定するようにす
る。
According to the invention, the encoder determines the position and content of the dynamic pallet loading sequence using a running table of last used values for each position in the pallet memory undergoing dynamic table loading. In particular, the routine proceeds through the image in a raster scan to assign palette memory addresses to various pixel words of the image. Each time this is done, the routine updates the last-use entry for the palette location it uses so that the last-use entry specifies the most recently used image location for the palette location.

【0050】この様なテーブルを保持する目的は、図5
に関して以下に説明される。図5のルーチンはこのテー
ブルを2つのポインターとして採用する。メインポイン
ターは画素の位置を与える。この画素のソース画素値
は、ルーチンが現在パレット値で近似しようとしている
ものである。第2ポインターは「DPL」(ダイナミッ
ク−パレット−ローディッグ)ポインターである。この
ポインターは最終ダイナミックパレットローディングの
最後を指し示す。DPLポインターは画像DPL位置に
対する検索が再開される位置を表示する。図5の議論か
ら明らかな様に、依然として使用できるDPLがない
と、DPLポインターを進める。
The purpose of holding such a table is shown in FIG.
Will be described below. The routine of FIG. 5 takes this table as two pointers. The main pointer gives the position of the pixel. The source pixel value for this pixel is what the routine is currently trying to approximate with the palette value. The second pointer is a "DPL" (Dynamic-Palette-Rodig) pointer. This pointer points to the end of the final dynamic palette loading. The DPL pointer displays the position where the search is resumed for the image DPL position. As is clear from the discussion of FIG. 5, if there is still no DPL available, advance the DPL pointer.

【0051】図5が示すルーチン内の第1のステップが
初期化ブロック102によって表示される。このステッ
プが表示する動作の多くは、表及びルーチンが使用する
内容を初期値に設定することにある。初期ステップは、
次のことを確認するための動作を同様に含む。即ち、本
出願に従って、表示メモリ内容に応答する走査の途中で
変化するパレットメモリの内容が、同じ画像の異なる走
査の対応する位置で呼び出される時に異なる内容を有す
ることを確認する。
The first step in the routine shown in FIG. 5 is displayed by the initialization block 102. Much of the action displayed by this step is to set the contents used by the tables and routines to initial values. The initial step is
It also includes actions to verify the following: That is, in accordance with the present application, it is determined that the palette memory contents that change during a scan responsive to the display memory contents have different contents when called at corresponding locations in different scans of the same image.

【0052】矛盾のない結果を補償するための一つの方
法は、全ての垂直帰線中にパレットメモリを初期内容セ
ットにリセットすることである。この様にアプローチは
本発明においてうまく作動する。しかし、我々は、好ま
しくは別の方法で初期化を達成することを好む。ダイナ
ミックパレットローディッグ機構それ自体を採用する従
ってダイナミックパレットローディングを実行するため
になされる必要のあるハードウエア及びソフトウエアー
設備を最小化する。
One way to compensate for consistent results is to reset the palette memory to the initial content set during every vertical retrace. Thus, the approach works well in the present invention. However, we prefer to achieve the initialization preferably in another way. It employs the dynamic palette loading mechanism itself, thus minimizing the hardware and software equipment needed to be performed to perform dynamic palette loading.

【0053】ここで採用するアプローチはソース画像の
最初の2つのラインの内容を黒等の単一のカラーに設定
することである。即ち、典型的には画像の非重要な部分
の情報内容を除去し、これを縁に置き換える。この結果
はダイナミックパレットローディング位置に2つの完全
にラインを与える。これは、これらのライン中の画素値
の全てが現在同じであるからである。同じ結果は底部に
縁を置くか、又は一つの黒ラインを頂部及び他の底部に
置くことにより達成できる。明らかな様に、これらのダ
イナミックパレットローディング位置が次に使用され、
パレットメモリ内容の初期セットを提供するのに使用さ
れる。この内容は、表示の情報含有部分の始まり部分と
常に同じである。
The approach taken here is to set the contents of the first two lines of the source image to a single color such as black. That is, typically the information content of the non-significant parts of the image is removed and replaced by edges. This result gives the dynamic pallet loading position two complete lines. This is because all of the pixel values in these lines are currently the same. The same result can be achieved by placing the edges on the bottom or by placing one black line on the top and the other on the bottom. Obviously, these dynamic pallet loading positions will be used next,
Used to provide an initial set of palette memory contents. This content is always the same as the beginning of the information containing part of the display.

【0054】他の初期化ステップが以下に記述され、そ
れらの目的が明らかになるであろう。ブロック104は
現在の画素に対するソースワード、即ち、メインポイン
ターが示すソースワードの引き出しを表している。上述
された様に、黒縁が最初の2つのラインに与えられる場
合、ルーチンは最小の2ラインをスキップすることがで
きる。この初期化ステップはメインポインターを第3の
ラインの開始部分に設定するが、メインポインターを第
1ラインの最初の位置に設定することからなんの障害も
ない。このルーチンは引き出されたソースワードを検査
し、ブロック106を示す様に、ソースワードが画素値
又はミックスを表すか否かを決定する。このステップ
は、ミックスランエンコーディングを使用しない実施例
においては必要ではない。ソース画素がミックスでない
場合、ルーチンはステップ108へ進む。このステップ
でルーチンはパレットメモリの「現在」の内容、即ち、
パレットメモリが走査のその点で有する必要のある内容
を表現する表を検索する。最終使用表に加えて、ルーチ
ンは内容表を保持する。この表は「現在」パレットメモ
リ内容を表す。ルーチンは、パレットエントリが受け入
れ可能な許容値内で現在画素ソース値を近似するか否か
を決定する。以下に説明される様に、この許容値は固定
することもできるし、画像の内容に従って変更すること
もできる。
Other initialization steps will be described below and their purpose will become apparent. Block 104 represents the extraction of the source word for the current pixel, i.e. the source word indicated by the main pointer. As mentioned above, if a black border is provided on the first two lines, the routine can skip the smallest two lines. This initialization step sets the main pointer to the beginning of the third line, but there is no obstacle since it sets the main pointer to the first position of the first line. This routine examines the retrieved source word and determines whether the source word represents a pixel value or a mix, as shown in block 106. This step is not necessary in embodiments that do not use mixed run encoding. If the source pixel is not a mix, the routine proceeds to step 108. In this step the routine is the "current" contents of the palette memory, ie
Look up a table that represents what the palette memory needs to have at that point in the scan. In addition to the end-use table, the routine maintains a table of contents. This table represents the "current" palette memory contents. The routine determines whether the palette entry approximates the current pixel source value within an acceptable value. As will be explained below, this tolerance value can be fixed or can be changed according to the content of the image.

【0055】ともかく、ルーチンは表示の最初の2つの
縁ラインが、ダイナミックローディグによってパレット
メモリに充満される場合、ダイナミックローディングを
受けるパレットメモリ位置がステップ108で見出さ
れ、縁領域又はこれに続く領域内のダイナミックパレッ
トローディングからは結果されない受け入れ可能な内容
を得ることが重要である。この理由のために、初期化は
この結果を確認するあるステップを通常採用する。これ
を行う一つの方法は、パレットメモリ位置に対するイン
ユース(in-use) フラグを保持し、ルーチンがダイナミ
ックパレットローディングによって値がメモリ位置に与
えられたか否かを指示する。ステップ108は次に、そ
のインユースフラグがセットされているパレットメモリ
位置のみを検査する。
Regardless, if the first two border lines of the display are filled into the pallet memory by dynamic loading, the routine finds a pallet memory location to undergo dynamic loading in step 108, and then to the border region or subsequent ones. It is important to obtain acceptable content that does not result from dynamic palette loading within the area. For this reason, initialization usually takes some steps to confirm this result. One way to do this is to keep an in-use flag for the palette memory location and indicate if the routine has been given a value to the memory location by dynamic palette loading. Step 108 then tests only those pallet memory locations whose in-use flag is set.

【0056】ステップ108の結果が肯定的、即ち、現
在のソース画素値を適切に近似する現存するパレットメ
モリエントリが存在する場合、ルーチンはステップ11
0へ進む。このステップで、ルーチンはそのエントリの
パレットメモリアドレスを現在の画素に対応する表示メ
モリ位置に設置する。本発明によると、ルーチンは次に
パッレトメモリ位置に対する最終使用エントリを更新す
る。即ち、パレットメモリ位置に対する最終使用エント
リは、パレットメモリ位置が、メインポインターが現在
満足する画像の点で使用されたことを示す値にセットさ
れる。以下に判るように、これはダイナミックパレット
ローディング操作が、パレットメモリ位置の内容がそれ
が現在エンコードされている画素を表示するのに使用で
きる前に、変化することを防止する。
If the result of step 108 is affirmative, that is, there is an existing palette memory entry that properly approximates the current source pixel value, the routine proceeds to step 11.
Go to 0. In this step, the routine places the palette memory address for that entry in the display memory location corresponding to the current pixel. According to the present invention, the routine then updates the last used entry for the pallet memory location. That is, the last used entry for the palette memory location is set to a value indicating that the palette memory location was used at the point in the image that the main pointer is currently satisfied. As will be seen below, this prevents a dynamic palette loading operation from changing the contents of the palette memory location before it can be used to display the pixel at which it is currently encoded.

【0057】ルーチンは次にステップ114へ進む。こ
のステップで、ルーチンは画像の全ての画素が検査され
たか否かを決定する。検査された場合は、もちろんルー
チンは停止する。他方、ルーチンはメインポインターを
進め、次の画素を特定し、ブロック116が示す様に、
ステップ116で再開する。ステップ118が、現存す
るパレットメモリが現在のソース画素値を近似しないと
決定する場合、ルーチンはブロック118によって表示
され、図6,7でより詳細に示されるASSIN PALETTE EN
TRY サブルーチンに進む。このサブルーチンの目的は、
現在の画素に先行するDPL位置を見出そうと試みるこ
とにあり、その結果DPL命令はパレットメモリに現在
の画像に対して意図された値を適切に近似する内容をロ
ードするのに使用される。
The routine then proceeds to step 114. At this step, the routine determines if all pixels of the image have been examined. If so, of course the routine stops. On the other hand, the routine advances the main pointer to identify the next pixel and, as block 116 indicates,
Resume at step 116. If step 118 determines that the existing palette memory does not approximate the current source pixel value, the routine is represented by block 118 and is shown in more detail in FIGS.
Go to the TRY subroutine. The purpose of this subroutine is
It consists in trying to find the DPL position preceding the current pixel, so that the DPL instruction is used to load the palette memory with a content that appropriately approximates the intended value for the current image. .

【0058】上述された様に、ダイナミックパレットロ
ーディグルーチンをメインポインターと同様にDPLポ
インターを使用する。DPLポインターは、メインポイ
ンターが規定する位置の幾分後ろの位置を通常特定す
る。そしてこのDPLポインターは画像データ内の位置
を表示する。この位置は、DPL位置の検索、即ち通常
のオブジェクトコードワードをDPL命令で置き換える
ことのできる位置の検索をルーチンが次に再開する位置
である。ステップ120は、DPLポインターが特定す
るソースワードの次に同じ或いは或る実施例では略等し
いソースワードの十分に長いシークエンスが続くか否か
を規定する。この理由は、もちろん、表示システムが、
表示内の位置に一連の同じ画素値を表示するからであ
り、この表示のために、表示メモリがDPL命令を含
む。従って、ステップ120の判断基準を満足する一連
の画素ワードは潜在的にDPL位置である。
As mentioned above, the dynamic palette loading routine uses the DPL pointer as well as the main pointer. The DPL pointer usually specifies a position somewhere behind the position defined by the main pointer. The DPL pointer then displays the position within the image data. This location is the location where the routine next resumes searching for a DPL location, that is, a location where a normal object codeword can be replaced with a DPL instruction. Step 120 defines whether the source word identified by the DPL pointer is followed by a sufficiently long sequence of the same or, in some embodiments, approximately equal source words. The reason for this is, of course, that the display system
Because it displays the same series of pixel values at a position in the display, for this display the display memory contains DPL instructions. Therefore, the series of pixel words that satisfy the criteria of step 120 are potentially DPL locations.

【0059】初めは、ステップ120の出力は常にye
sである。最初の2つのラインは全て黒に設定された。
そして全ての画素ワードは最初の2ラインで同じであ
る。最初の2ラインの後、しかしながら、この試験は通
常5割り以上失敗し、ルーチンはステップ122に進
む。このステップにおいて、ルーチンはDPLポインタ
ーを増分する。次に、ステップ124において、DPL
ポインターが満足する画素シークエンスがメインポイン
ターが特定する画素に対して依然として先行するか否か
を決定する。最早先行しない場合は、その位置に置かれ
る命令はパレットメモリ内容を変化できず、メモリポイ
ンターが特定する画素の表示に影響する。
Initially, the output of step 120 is always yes.
s. The first two lines were all set to black.
And all pixel words are the same in the first two lines. After the first two lines, however, this test usually fails by more than fifty percent and the routine proceeds to step 122. In this step, the routine increments the DPL pointer. Next, in step 124, the DPL
Determines whether the pixel sequence satisfied by the pointer still precedes the pixel specified by the main pointer. If no longer preceded, the instruction placed at that location cannot change the palette memory contents, affecting the display of the pixel specified by the memory pointer.

【0060】DPLポインターはステップ124によっ
て成される判断基準を満足しないので、従って、ルーチ
ンは最も近接して現存するパレット値を受け入れなけれ
ばならない。そして、ルーチンはステップ126へ進
む。このステップ126でルーチンは、その内容が意図
された画素値を良く近似するパレットメモリ位置を識別
するが、この近似法はステップ108によって初めに行
われる受け入れの判断基準を満足してはいない。ルーチ
ンが選択されたパレット位置の最終使用エントリを更新
して現在の画素でそれが最終使用されたことを示すステ
ップ127の後に、ルーチンは選択されたパレットメモ
リアドレスを現在画素に対するオブジェクトワードとし
て採用し、適切な表示メモリ位置に置く。ブロック12
8はこのステップを表している。サブルーチンは、次の
画素に先行して、次に図5のメインループの制御にもど
る。
Since the DPL pointer does not meet the criteria made by step 124, the routine must therefore accept the closest existing palette value. Then, the routine proceeds to step 126. In step 126, the routine identifies a palette memory location whose content is a good approximation of the intended pixel value, but the approximation does not meet the acceptance criteria initially made by step 108. After step 127, where the routine updates the last used entry of the selected palette location to indicate that it was last used at the current pixel, the routine adopts the selected palette memory address as the object word for the current pixel. , Put it in the appropriate display memory location. Block 12
8 represents this step. The subroutine returns to the control of the main loop of FIG. 5 prior to the next pixel.

【0061】DPLポインターがステップ124の判断
基準を満足しない場合は、他方で、DPLポインターが
特定する画素シークエンスでのDPL命令が現在の画素
に影響を及ぼすことがある。従ってルーチンはステップ
120へ戻る。このルーチンにおいて、ルーチンは一連
の同じ画素を再び検索する。ルーチンが検索するシーク
エンスの長さは説明された実施例においては5又は6の
いずれかとすることができる。DPLポインターが特定
するシークエンスの直前にDPL命令シークエンスがあ
る場合、第2のDPL命令の間表示される画素値は第1
の命令の間表示されるのと同じである。そして、5個の
みの同じ値が第2のDPL命令を使用するのに必要とさ
れる。通常は6個が使用される。
If the DPL pointer does not meet the criteria of step 124, then the DPL instruction at the pixel sequence specified by the DPL pointer may affect the current pixel. Therefore, the routine returns to step 120. In this routine, the routine searches again for the same series of pixels. The length of the sequence retrieved by the routine can be either 5 or 6 in the described embodiment. If there is a DPL instruction sequence immediately before the sequence specified by the DPL pointer, the pixel value displayed during the second DPL instruction is the first pixel value.
The same as displayed during the command. And only five identical values are needed to use the second DPL instruction. Normally six are used.

【0062】何れの場合も、ソース画素ワードのシーク
エンスが試験120を通過する場合、ルーチンは、パレ
ットメモリ内容が、ステップ120が指定した位置のD
PL命令によって安全に変化することができかるか否か
を決定するプロセスを開始する。ステップ130はダイ
ナミックパレットローディングを受ける第1パレットメ
モリに対するエントリを有する最終使用表の始めの検査
を表している。
In either case, if the sequence of source pixel words passes the test 120, the routine determines that the palette memory contents are D at the location specified by step 120.
The PL instruction initiates the process of determining if it can be safely changed. Step 130 represents the first check of the last-use table having an entry for the first palette memory undergoing dynamic palette loading.

【0063】原理的には、説明される実施例におけるル
ックアップ表として実際に採用される223のパレット
メモリ位置の全てが、ダイナミックパレットローディン
グを受けることができる。実際には、しかしながら、黒
を表す固定された値に対する第1パレットメモリ位置が
確保され、その値はダイナミックパレットローディング
によって変化されることが阻止される。これは我々の特
定の初期化アプローチのために我々の構成において利益
のあることであるが、本発明を実施するために必要でな
いことは明らかである。第1の黒含有位置における如何
なる変化も阻止するために、我々の議論におけるステッ
プ130において言及される「第1」のパレット表エン
トリが実際は全体として第2の位置であるが、ダイナミ
ックパレットローディングを受ける第1の位置である。
In principle, all 223 palette memory locations that are actually employed as a look-up table in the described embodiment are capable of undergoing dynamic palette loading. In practice, however, a first palette memory location is reserved for a fixed value representing black, which value is prevented from being changed by dynamic palette loading. While this is a benefit in our construction due to our particular initialization approach, it is clear that it is not necessary to practice the invention. To prevent any changes in the first black-containing position, the "first" palette table entry referred to in step 130 of our discussion is actually the second position, but is subject to dynamic palette loading. The first position.

【0064】ステップ132において、ルーチンは最終
使用表エントリを調べて、対応するパレットメモリ位置
が、DPL及びメインポインターによって識別される像
位置との間で使用されることを必要とするか否かを決定
する。即ち、ステップ132の目的は、中間のオブジェ
クトワード割当が基にするパレットエントリを変化しな
いことを補償すべきである。試験122の結果が肯定的
であると、従属するパレットメモリ位置の間使用する用
途はないことを示す。そして、ルーチンは従ってステッ
プ134へ進む。このステップ134において、ルーチ
ンはパレットメモリ位置に対する内容表エントリを、現
在の画素位置、即ちルーチンが現在決めているオブジェ
クトワードを有するメインポインターによって識別され
る画素における表示に対して意図される画素値に変更す
る。これは、パレットメモリ位置に対する最終使用位置
を変更する。そしてステップ134はまたその位置の最
終使用フィールドを更新して、今までの最終使用が現在
の画素で生じることを指示する。
In step 132, the routine looks up the last use table entry to see if the corresponding palette memory location needs to be used between the DPL and the image location identified by the main pointer. decide. That is, the purpose of step 132 should be to ensure that the intermediate object word assignment does not change the underlying palette entry. A positive test 122 result indicates that there is no use for the dependent pallet memory location. The routine then proceeds to step 134. In this step 134, the routine sets the table of contents entry for the palette memory location to the pixel value intended for display at the current pixel location, ie, the pixel identified by the main pointer with the object word the routine is currently determining. change. This changes the last used position relative to the palette memory position. Then step 134 also updates the last used field at that location to indicate that the last used so far occurs at the current pixel.

【0065】ルーチンは次にステップ136へ進む。こ
のステップにおいて、ルーチンは適当なダイナミックパ
レットローディッグ命令を一連の表示メモリ位置に置
く。この位置はDPLポインターが識別する位置から開
始する。この位置は従って別のダイナミックパッレット
ローディング命令に対して最早使用することができな
い。それで、ルーチンはDPLポインターを命令シーク
エンスの終わりに進ませる。ここで、DPL位置の次の
検索は開始される。ブロック138はこのステップ表示
している。ルーチンは次にステップ128へ進む。この
ステップ128において、ルーチンはそのパレット位置
のアドレスをメインポインターが特定する表示メモリ位
置へ書き込む。前と同様、制御は図5のメインループに
戻る。
The routine then proceeds to step 136. In this step, the routine places the appropriate dynamic palette loading instruction in a series of display memory locations. This position starts from the position identified by the DPL pointer. This position can therefore no longer be used for another dynamic pallet loading instruction. So the routine advances the DPL pointer to the end of the instruction sequence. Here, the next search for the DPL position is started. Block 138 displays this step. The routine then proceeds to step 128. In this step 128, the routine writes the address of the palette location to the display memory location specified by the main pointer. As before, control returns to the main loop of FIG.

【0066】ステップ132に戻る。ステップ132の
試験の否定的結果は、試験されたパレット位置が既に、
識別されたDPL位置に続く表示画素で使用するために
すでに選択されたことを示す。パレット位置の内容は従
って選択されたDPL位置で変化することはできず、従
って、ルーチンはステップ140へ進む。このステップ
140は、パレットメモリ位置の全てが既に試験された
か否かを決定する。試験されていない場合は、ルーチン
は次にパレットメモリ位置に対する最終使用エントリへ
移行し、ブロック142が示す様に、ステップ132を
繰り返す。これは、識別されたDPL位置を越えて使用
するために現在まで選択されていないパレットメモリ位
置を見出すまで続く。このDPL位置において、ポイン
ターはステップ134へ進み、前と同様に継続する。
Returning to step 132. The negative result of the test of step 132 is that the tested pallet position is already
Indicates that it has already been selected for use in the display pixel following the identified DPL location. The contents of the pallet position therefore cannot change at the selected DPL position, so the routine proceeds to step 140. This step 140 determines if all of the palette memory locations have already been tested. If not, the routine then moves to the last used entry for the palette memory location and repeats step 132, as block 142 indicates. This continues until it finds a palette memory location that is not currently selected for use beyond the identified DPL location. At this DPL position, the pointer proceeds to step 134 and continues as before.

【0067】しかしながら、ルーチンがパレットメモリ
位置を、指示されたDPL位置での命令によって安全に
変化される位置を見出すことなしに費やす場合、試験1
40の結果は肯定的であり、ルーチンは識別されたDP
L位置を拒絶し、画像中の別の位置を見出す。特に、ブ
ロック144が示す様に、ルーチンパレットメモリ位置
の全てに対する最終使用エントリを検索して、最も最初
に出会ったエントリを見出して、DPLポインターが、
この最初の最終使用エントリによって示される最終使用
を越えた直後の画素を識別する値に増分する。換言する
と、ルーチンは最も最近使用されたパレットメモリ位置
を識別して、DPL位置の検索を、パレットメモリ位置
の最終使用の直後で開始することを指示する。DPL位
置の検索は次にステップ120で始まる。
However, if the routine spends a palette memory location without finding a location that is safely changed by an instruction at the indicated DPL location, test 1
40 result is positive and the routine has identified DP
Reject the L position and find another position in the image. In particular, as block 144 shows, the last used entry for all of the routine palette memory locations is searched to find the first encountered entry and the DPL pointer is
Increment to a value that identifies the pixel immediately after the end use indicated by this first end use entry. In other words, the routine identifies the most recently used palette memory location and indicates that the search for the DPL location should begin immediately after the last use of the palette memory location. The search for the DPL location then begins at step 120.

【0068】幾つかの観測はステップ126に関係する
順番である。このステップにおいて、ルーチンは、パレ
ットエントリが、ステップ108内で許される許容度内
で意図された値を近似することが出来ない場合であっも
最も近接するハレットエントリを選択する。ルーチンが
このステップに決して到達しなことが好ましいことは明
らかである。これは他の場合用いられる忠実度基準から
逸脱したことをルーチンが表示するからである。
Some observations are in the order associated with step 126. In this step, the routine selects the closest Hallet entry, even if the palette entry is unable to approximate the intended value within the tolerances allowed in step 108. Obviously, it is preferable that the routine never reach this step. This is because the routine indicates that it has deviated from the fidelity criteria that would otherwise be used.

【0069】ルーチンがこの手法の助けを借りねばなら
ない回数は、一般的な忠実度の要求を減少することによ
り、即ち、ステップ120によって行われる許容度を失
うことによって通常減少することができる。これは、D
PL位置が使用される割合を減少する。ステップ126
の使用は、ステップ120の「同等の」要求を失うこと
により又は単一のカラー側縁を画像に植え込むことによ
ってDPL位置の数を増大することによっても同様に減
少することができる。しかし、画像はそれが要求するカ
ラーの数で異なり、一つの画像で要求される忠実度が他
の画像においては不必要である場合がある。ルーチンが
ステップ126を使用しねばならないが、可能な限り元
画像に対する一般的な忠実度のレベルを高く維持する必
要のある事象の回数を減少するために、今までに記述さ
れたルーチンを洗練することができ、その許容度は採用
される画像に従って変化する。
The number of times a routine has to resort to this approach can usually be reduced by reducing the general fidelity requirement, ie by losing the tolerances made by step 120. This is D
Reduce the rate at which PL positions are used. Step 126
The use of can be similarly reduced by losing the "equivalent" requirement of step 120 or by increasing the number of DPL positions by implanting a single color side edge in the image. However, images differ in the number of colors they require, and the fidelity required in one image may not be necessary in another. Although the routine must use step 126, it refines the routines described so far to reduce the number of events that need to keep the general fidelity level to the original image as high as possible. The tolerance can vary according to the image adopted.

【0070】これを行うための一つの方法は簡単であ
り、エンコーダを走らせ、使用者に結果の画像を表示
し、そしてステップ102かステップ120又は両方に
よって行われる許容度を調節することを可能にし、また
画像の実質的な品質を最適化するために縁を加え、この
幅を調整することを可能とする。必要とされる人間の介
在の度合いを減少するために、ルーチンパラメータを自
動的に調節するためにの用意がなされるべきである。
One way to do this is simple, it makes it possible to run the encoder, display the resulting image to the user, and adjust the tolerances made by step 102 or step 120 or both. It also makes it possible to add borders and adjust this width to optimize the substantial quality of the image. Provision should be made to automatically adjust routine parameters to reduce the degree of human intervention required.

【0071】例えば、ステップ120から124に於け
る図6,7のパレットエントリ割り当てルーチンの一部
であるDPL位置の検索を、ステップ106及び108
間の図5のメインループに挿入することができる。これ
は、次の利用可能なDPL位置及び試験される現在の画
素との間の距離を指標をステップ108の近似試験で利
用可能とする。許容度を従ってその距離に依存させるこ
とができる。許容度は大きな距離に対して零であり、距
離が減少するとともに増大する。この距離の値はステッ
プ120で使用されるDPL位置判断基準の厳密性を変
更するために採用することができる。
For example, the retrieval of the DPL position which is part of the palette entry allocation routine of FIGS. 6 and 7 in steps 120 to 124 is performed in steps 106 and 108.
It can be inserted in the main loop of FIG. This makes the index between the next available DPL position and the distance to the current pixel being tested available in the approximation test of step 108. The tolerance can thus be made dependent on the distance. The tolerance is zero for large distances and increases with decreasing distance. This distance value can be employed to change the stringency of the DPL position criteria used in step 120.

【0072】勿論、これは最適な許容レベルを見積もる
最も荒いアプローチであるに過ぎない。このレベルは第
1のDPL位置に対する距離のみを考慮し、この距離内
のDPL位置の数を考慮しないからである。別の改善が
この一般的なアプローチを若干採用するだけで採用し得
る。ステップ120、122及び124を有するループ
によって表示される本試験においては、DPL位置が見
出される時ルーチンがループから抜け出る。この別の改
善に従うと、第1のDPL位置が位置する場所を記憶
し、別のDPL位置を検索し続け、メインポインターに
よって識別される位置に到達するまでこのDPLの位置
の全数を記録する。従って許容度は中間のDPL位置の
数に依存し、第1の利用可能なDSP位置と現在の画素
の位置との間の距離には依存しない。さらに別の改善
は、前のいずれのアプローチにも適用できるが、これ
は、未使用DPL位置の全てでなく、安全にその内容が
変更できるパレットメモリ位置が利用可能となるDSP
位置のみを考慮する。即ち、ステップ120−124の
代わりに、ステップ106及び108との間にシークエ
ンスはステップ120−124、130、132及び1
40−144とすることができる。
Of course, this is only the roughest approach to estimating the optimum acceptance level. This level considers only the distance to the first DPL position, not the number of DPL positions within this distance. Another improvement may be adopted with only a small adoption of this general approach. In the present test displayed by the loop with steps 120, 122 and 124, the routine exits the loop when the DPL position is found. According to this further refinement, it keeps track of where the first DPL position is located, keeps searching for another DPL position and records the total number of positions of this DPL until the position identified by the main pointer is reached. Therefore the tolerance depends on the number of intermediate DPL positions and not on the distance between the first available DSP position and the current pixel position. Yet another improvement can be applied to either of the previous approaches, but this would be to use a palette memory location whose contents can be safely changed rather than all of the unused DPL locations.
Only consider position. That is, instead of steps 120-124, the sequence between steps 106 and 108 is steps 120-124, 130, 132 and 1.
40-144.

【0073】自動的側縁調節は、縁サイズを増大し、ス
テップ124の試験の結果が否定的の時は常に、即ちル
ーチンがDPL位置を消耗した時は常に初めからやり直
すことにより提供することができる。これらの改善は改
良された機能を結果すると信じるが、我々はここまでに
説明されたより簡単なアプローチのみを実際には使用し
た。
Automatic side edge adjustment can be provided by increasing the edge size and starting over whenever the test result of step 124 is negative, ie whenever the routine exhausts the DPL position. it can. We believe these improvements result in improved functionality, but we have only actually used the simpler approach described so far.

【0074】ダイナミックパッレットローディング法
は、ミックスランシステムだけでなく画素毎の基準で厳
密にエンコードされるシステムにも適用することができ
ることが明らかである。図5乃至図7の記述の中身は、
ミックスとしてエンコードのために採用されなかったソ
ースワードをエンコードすることに関する。システムが
ミックスランシステムの場合は、しかしながら、上述さ
れた様に、ステップ106の試験が必要であり、その結
果は時々肯定的であり、現在画素がミックスとしてエン
コードされるべきことを示している。これらの場合にお
いて、ルーチンはステップ146へ進む、このステップ
において、ルーチンは現在画素に対してエンコードされ
るべきミックス値を計算する。
It is clear that the dynamic pallet loading method can be applied not only to mixed run systems, but also to systems that are strictly encoded on a pixel-by-pixel basis. The contents of the description of FIG. 5 to FIG.
It relates to encoding source words that were not adopted for encoding as a mix. If the system is a mixed run system, however, the test of step 106 is required, as described above, and the result is sometimes positive, indicating that the current pixel should be encoded as a mix. In these cases, the routine proceeds to step 146, where the routine calculates the mix value to be encoded for the current pixel.

【0075】この計算は目的とする画素の一部であるラ
ンに対するエンドワードに今割り当てられたパレット値
に基づく。ミックスランエンコーディングルーチンはラ
ンにおける2つの「終了」値をランミックス値の頭に置
いたことが思い出される。そして、ステップ146は最
後の2つの非ミックスワードに割り当てられるパレット
値を引き出す。
This calculation is based on the palette value now assigned to the endword for the run that is part of the pixel of interest. It is recalled that the mix run encoding routine put two "end" values in the run at the beginning of the run mix value. Then, step 146 derives the palette value assigned to the last two non-mixed words.

【0076】受け入れることのできるミックスを計算す
るために多くのアプローチが可能である。終了値の各
赤、緑及び青成分間の差を計算して、どの差が一番大き
いかを決め、この最大差をもたらす線分に従ってミック
スを計算する。例えば、終了値の赤成分間の差|xLR
RL|が対応する緑及び青の差より大きいかを考慮す
る。そして、そのソース値がXS である画素に対するミ
ックスは、 32(xSR−xRL)/(xRR−xLR) ステップ148において、ルーチンはこのミックスに対
するコードを現在の画素に対する表示メモリ位置に導入
する。ルーチンは次の画素に進む。図4のメインループ
が全画素に作用する時、プロセスは終了する。
Many approaches are possible to calculate an acceptable mix. The difference between each red, green and blue component of the end value is calculated to determine which difference is the largest and the mix is calculated according to the line segment that yields this maximum difference. For example, the difference between the red components of the end value | x LR
Consider whether x RL | is greater than the difference between the corresponding green and blue. Then, mix the source value for the pixel is X S is 32 in (x SR -x RL) / ( x RR -x LR) step 148, the routine in the display memory location for the current pixel code for this mix Introduce. The routine proceeds to the next pixel. The process ends when the main loop of FIG. 4 operates on all pixels.

【0077】以上の記述により、天然または他の濃淡を
有する画像がより少ないパレットメモリサイズを有する
システムにおいて表示することのできよう忠実度を増大
することに使用することができることは明らかであり、
本発明は、ミックスランエンコーディングを使用するこ
となしでも大幅な忠実度の増大を達成することかでき
る。本発明は従って当該技術に大きな進歩をもたらす。
It is clear from the above description that images with natural or other tints can be used to increase fidelity so that they can be displayed in a system with a smaller palette memory size,
The present invention can achieve a significant increase in fidelity without the use of mixed run encoding. The present invention thus represents a major advance in the art.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明を説明する画像表示システムのブロック
図、
FIG. 1 is a block diagram of an image display system for explaining the present invention,

【図2】画素毎コードからミックスラン形態へ画像デー
タを変換するための本システムによって採用される技術
のフロー図、
FIG. 2 is a flow diagram of a technique employed by the system for converting image data from a pixel-by-pixel code to a mixed run format,

【図3】図2の続き。FIG. 3 is a continuation of FIG.

【図4】ダイナミックパレットローディングコードを含
むミックスランコード画素ワードの典型的なシークエン
スを示す図、
FIG. 4 shows an exemplary sequence of mixed run code pixel words including dynamic palette loading code,

【図5】パレットメモリアドレス及びダイナミックパレ
ットローディング命令を表示メモリデータに組み込むた
めの、本システムによって採用されるルーチンのメイン
ループのフロー図、
FIG. 5 is a flow diagram of a main loop of a routine employed by the system to incorporate palette memory addresses and dynamic palette loading instructions into display memory data.

【図6】図4のルーチンによって呼び出されるサブルー
チンの流れ図を形成する。
FIG. 6 forms a flowchart of a subroutine called by the routine of FIG.

【図7】図6の続き。FIG. 7 is a continuation of FIG.

【符号の説明】[Explanation of symbols]

12 エコーダ 14 ソース 16 表示メモリ 18 表示機構 36 パレットメモリ 37 ダイナミックパレットローダ 38 デコーダ 12 Echoda 14 Source 16 Display Memory 18 Display Mechanism 36 Palette Memory 37 Dynamic Palette Loader 38 Decoder

───────────────────────────────────────────────────── フロントページの続き (72)発明者 ゲアリー ジェイ フラッタローラ アメリカ合衆国 ニューハンプシャー州 03054 メリマック ロンドン コート 28 ─────────────────────────────────────────────────── —————————————————————————————————— Inventor Gary J. Flatterola New York, Hampshire 03054 Merrimack London Court 28

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】A)各画像画素に対応するスクリーン位置
からなるスクリーンを有し、各画像素子に対応して、画
素値及びこれに関連するパレットメモリアドレスを有す
るパレットメモリ位置を含むパレットメモリを有する表
示機構であって、この表示機構は、各々が画像の各画素
に対応する画素ワードからなる表示入力を受けるように
構成され、幾つかの画素ワードはパレットメモリアドレ
スを参照して画素値を表し、他の画素ワードはパレット
メモリ内容への変化を命令するDPL命令を表し、スク
リーンシークエンスでスクリーンの位置を走査し、この
走査位置で、画像画素に対応するパレットメモリ位置の
内容から決まる画素値を表示し、前記画像画素には、パ
レットメモリアドレスが参照する画素ワードが対応し、
そしてDPL命令に従ってパレットメモリ内容を変更す
る表示機構、 B)各スクリーン位置に対応し、スクリーン位置が対応
する画素に対応し、表示メモリ位置内に対応するオブジ
ェクトワードを記憶するよう作動し、対応するスクリー
ン位置の走査を追跡するシークエンスで表示メモリ位置
を走査し、走査されたメモリ位置の内容を表示メモリ出
力の表示を発生し、表示入力として表示機構へ表示メモ
リ出力を与える表示メモリ回路、及び C)表示画像画素と関連するソース画素ワードからなる
ソース信号を受信するよう構成され、対応するオブジェ
クト画素ワードへソース画素ワードを変換し、この対応
するオブジェクト画像ワードの或るものはDPL命令を
表示し、他のものはパレットメモリアドレスを参照する
ことによって画像値を表示し、DPL命令から結果され
るパレットメモリアドレスの内容は対応するソースワー
ドによって表示される値を近似し、対応する表示メモリ
位置に於ける結果として得られるオブジェクト画素を記
憶するエンコーダから成る、ソース信号によって表示さ
れる画像表示のための装置。
1. A palette memory having a screen consisting of a screen location corresponding to each image pixel and including, corresponding to each image element, a palette memory location having a pixel value and a palette memory address associated therewith. A display mechanism having a pixel input corresponding to each pixel of the image, the pixel input referring to a palette memory address. , And the other pixel word represents a DPL instruction that directs a change to the palette memory contents, which scans a position on the screen with a screen sequence at which pixel value is determined from the contents of the palette memory position corresponding to an image pixel. And a pixel word referenced by a palette memory address corresponds to the image pixel,
And a display mechanism for changing the palette memory contents in accordance with the DPL command, B) corresponding to each screen position, the screen position corresponding to the corresponding pixel, operative to store the corresponding object word in the display memory position, and corresponding A display memory circuit that scans the display memory location with a sequence that tracks the scan of the screen location, generates a display of the display memory output for the contents of the scanned memory location, and provides the display memory output to the display mechanism as a display input; ) Configured to receive a source signal comprising a source pixel word associated with a display image pixel and converting the source pixel word into a corresponding object pixel word, some of the corresponding object image words displaying a DPL command. Image values by referencing palette memory addresses, others The contents of the palette memory address displayed and resulting from the DPL instruction approximate the value displayed by the corresponding source word and comprise an encoder which stores the resulting object pixel at the corresponding display memory location. Device for displaying images displayed by signals.
【請求項2】前記エンコーダが、 A)スクリーンシークエンスでソース画素値を検査し
て、 B)ソース信号が画素値を表示するための複数の画素の
各々に対して、パレットメモリ位置の存在する内容が所
定の許容度内で表示画素値を近似するか否かを決定し、
近似する場合に、パレットメモリ位置のアドレスの指標
をその画素に対応する表示メモリ位置内に記憶し、 C)試験装置を通して、複数のパレットメモリ位置の各
々に対して、その内容が最も最近使用された画像内の位
置を表示する最終使用の値を保持し、 D)対応するパレットメモリ位置の存在しない内容が、
対応するソース画素ワードによって表示される画素値を
近似する画素に対して、スクリーンシークエンスでの前
の画素に対応するソース画素ワードが所定の判断基準に
従って利用可能なDPL位置としてこれに対応する表示
位置が適当であるか否かを決め、利用可能なDPL位置
に命令を記憶して、パレットメモリ位置の内容を変更し
て、パレットメモリ位置に対する最終使用値が前の利用
可能なDPL位置の前の画像位置を表示する場合、対応
するソース画素ワードによって表示される値を近似する
画素値にする手段を含む請求項1記載の装置。
2. The encoder includes: A) checking the source pixel value in a screen sequence; and B) the source signal for each of a plurality of pixels for displaying the pixel value, the contents of the palette memory location being present. Determines whether to approximate the display pixel value within a predetermined tolerance,
When approximated, the index of the address of the palette memory location is stored in the display memory location corresponding to that pixel, and C) the content is most recently used for each of the plurality of palette memory locations through the test equipment. Hold the last used value to display the position in the image, and D) the contents where the corresponding palette memory position does not exist,
For a pixel that approximates the pixel value displayed by the corresponding source pixel word, the source pixel word corresponding to the previous pixel in the screen sequence is the corresponding display position as the available DPL position according to a predetermined criterion. Is appropriate and stores the instruction in the available DPL location to change the contents of the palette memory location so that the last used value for the palette memory location is the previous available DPL location. 2. The apparatus of claim 1 including means for displaying the image location to approximate the pixel value represented by the corresponding source pixel word.
JP3084173A 1990-04-17 1991-04-16 Apparatus for performing pallet encoding of image data Pending JPH064058A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US510256 1983-07-01
US51025690A 1990-04-17 1990-04-17

Publications (1)

Publication Number Publication Date
JPH064058A true JPH064058A (en) 1994-01-14

Family

ID=24029991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3084173A Pending JPH064058A (en) 1990-04-17 1991-04-16 Apparatus for performing pallet encoding of image data

Country Status (1)

Country Link
JP (1) JPH064058A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6458075B1 (en) 1999-04-27 2002-10-01 Asahi Kogaku Kogyo Kabushiki Kaisha Endoscopic flexible tube
US6520214B1 (en) 1999-04-13 2003-02-18 Pentax Corporation Flexible tube for endoscope

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6520214B1 (en) 1999-04-13 2003-02-18 Pentax Corporation Flexible tube for endoscope
US6458075B1 (en) 1999-04-27 2002-10-01 Asahi Kogaku Kogyo Kabushiki Kaisha Endoscopic flexible tube

Similar Documents

Publication Publication Date Title
US5065144A (en) Apparatus for mix-run encoding of image data
US5559954A (en) Method &amp; apparatus for displaying pixels from a multi-format frame buffer
US5467413A (en) Method and apparatus for vector quantization for real-time playback on low cost personal computers
KR900004019B1 (en) Color image display system
US6011540A (en) Method and apparatus for generating small, optimized color look-up tables
EP0564111A2 (en) Improvements in the decoding of run length code data for storage in a bit map memory
US4642680A (en) Method and system for processing image data stored in RGB form
US5345554A (en) Visual frame buffer architecture
US5864345A (en) Table-based color conversion to different RGB16 formats
EP0754339B1 (en) Process, apparatus, and system for color conversion of image signals
US6011566A (en) System and method to display raster images with negligible delay time and reduced memory requirements
US6301389B1 (en) Video image color encoding
US20020034254A1 (en) Moving picture reproducing device and method of reproducing a moving picture
JP3255358B2 (en) Gradation conversion circuit and image display device
JP4672821B2 (en) Method and apparatus using line buffer for interpolation as pixel lookup table
US5638464A (en) Image processing apparatus
JPH064058A (en) Apparatus for performing pallet encoding of image data
US5815143A (en) Video picture display device and method for controlling video picture display
US6088016A (en) Dithering method and apparatus using ramp probability logic
JP2001209789A (en) Graphic accelerator and plotting method
US4703230A (en) Raster operation circuit
US6674912B2 (en) Data compression processing method and apparatus
JP2663922B2 (en) Video encoding device
JP2959574B2 (en) Image processing device
US6529205B2 (en) Image data display apparatus in which image data are displayed on terminal display unit and NTSC system display unit