JP3774494B2 - データ記憶装置 - Google Patents
データ記憶装置 Download PDFInfo
- Publication number
- JP3774494B2 JP3774494B2 JP23890095A JP23890095A JP3774494B2 JP 3774494 B2 JP3774494 B2 JP 3774494B2 JP 23890095 A JP23890095 A JP 23890095A JP 23890095 A JP23890095 A JP 23890095A JP 3774494 B2 JP3774494 B2 JP 3774494B2
- Authority
- JP
- Japan
- Prior art keywords
- control points
- data
- storage device
- curve
- stored
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Description
【発明の属する技術分野】
本発明は、コンピュータグラフィックスオブジェクトのためのデータ記憶フォーマットによるデータ記憶装置に関し、より詳しくは、コンピュータグラフィックスオブジェクトのエッジを効率的に記憶するデータ記憶装置に関するものである。
【0002】
【従来の技術】
近年のコンピュータグラフィックス画像処理システムにおいては、作成されるイメージは、そのアウトラインとアウトライン内部の色情報とを記憶する方法によって、コンピュータシステム内に記憶されることが多い。例えば、ディスプレイやプリント装置に展開される「A」という文字は、文字のアウトラインを記憶することにより、装置に依存しないフォーマットで記憶されるのが普通であり、文字のアウトラインは、文字の輪郭を定義するスプライン系列と内部色の表現とから成る。違った輪郭構造を有するその他のより一般的なオブジェクトについても、スプライン形式でアウトラインを記憶する方法により記憶される。
【0003】
【発明が解決しようとする課題】
そして、多くのイメージがあり、各イメージの多くがスプラインアウトラインフォーマットで記憶される場合に、記憶に要する領域を最小にしつつ同時にスプラインデータ構成に対する迅速なアクセスを可能とする、スプラインの効率的かつ効果的な記憶方法を求める一般的な要求がある。
【0004】
本発明の目的は、スプライン或いはそれと類似のもので構成されたグラフィックスオブジェクトのための有効なデータ記憶装置を提供することにある。
【0005】
【課題を解決するための手段】
この課題を解決するために、本発明のデータ記憶装置は、一連の曲線セグメントで構成されるオブジェクトのグラフィックアウトラインを定義するデータを記憶するデータ記憶装置であって、曲線セグメントを定義するデータを受け取る受信手段と、直線セグメントからなる曲線セグメントを前記データから決定する決定手段と、直線セグメントでない前記曲線セグメントの各々に対応する第1の数の制御点を記述するデータを記憶する第1記憶手段と、直線セグメントからなる前記曲線セグメントの各々に対応する縮退された数の制御点を記述するデータを記憶する第2記憶手段とを備え、前記制御点は一連の値を形成し、前記第1及び第2記憶手段は、前記一連の制御点の1つ前の要素からの距離が予め決められた距離よりも小さい制御点は、第1の相対記憶フォーマットで記憶し、前記一連の制御点の1つ前の要素からの距離が予め決められた距離よりも大きい制御点は、第2の絶対記憶フォーマットで記憶することを特徴とする。
【0006】
ここで、前記曲線セグメントは4つの制御点を記述するデータを有するスプラインからなり、制御点の前記縮退された数は2である。また、前記各オブジェクトにおいて、前記曲線セグメントは他の少なくとも1つの前記曲線セグメントと端点で接続されており、前記曲線セグメントは4つの制御点を有するスプラインで構成され、制御点の前記第1の数は3で、制御点の前記縮退された数は1である。また更に、前記第1及び第2記憶手段は、前記曲線セグメントを一連のブロックとして記憶し、前記各ブロックは前記ブロック内に記憶される曲線の種類を示すヘッダを有する。また、前記ブロックは斜線,垂直線,水平線,通常スプラインの各々に対して別々の記憶フォーマットを有する。
【0008】
また、前記第2記憶手段は、前記直線セグメントの接線制御点を切り捨てる手段を含む。また、前記データ記憶装置はコンピュータグラフィックス装置のホストプロセッサを含む。
【0010】
【発明の実施の形態】
以下、本発明の好適な実施例を、以下の添付図面に関連して説明する。本実施例では、スプラインの記憶に関連して説明するが、本発明はこれに限定されない。
スプラインは、従来例にも記したように、図形のアウトラインを記憶する伝統的な方式である。3次元ベジエスプラインは、普通4つのデータあるいは4つの制御点によって定義される。4つのデータあるいは4つの制御点は、スプラインの2つの端点と2つの接線制御点とから成る。例として、図1は2つのスプライン1と2とを表している。最初のスプライン1には、端点3と4、それに接線制御点5と6とがある。同様に、もうひとつのスプライン2は、端点7と8、それに接線制御点9と10とを有する。スプライン形式の性質とその種類とに関するさらに詳しい情報は、"Computer Graphics, Principles and Practice" Foley他, 1990, Addison Wesley Publishing Company,Reading, MA 、より詳しくは、第11章を参照してもらいたい。
【0011】
出願者によってなされた統計的な研究の結果、コンピュータグラフィックスシステムに記憶されたスプラインの性質が通常ある種の特徴を有することが、既に分かっている。例えば、通常大多数のスプラインは、制御点が線の一部に乗っている直線セグメントに等化である。例えば、図2を参照すれば、そこには端点13と14、それに接線制御点15と16とを有するスプライン12が描かれている。スプライン12は、制御点15と16とがスプライン12上に乗っている直線セグメントに縮退しているということが分かる。
【0012】
ほかの特徴として、普通は各スプラインは別のスプラインと結合され、結合後のスプラインはさらに別のスプラインと結合されて、さまざまなオブジェクトのアウトラインを作り上げているということが挙げられる。
図3には、スプライン系列20〜28でできたオブジェクト18が描かれている。スプライン20,23,24,25,28は直線セグメントに縮退しており、接線制御点を記憶する必要はない。これは、記憶領域を相当節約できることを明示している。オブジェクト18のアウトラインは、記憶される情報内容を極大化するような「直線認識(Straight Line Aware :以下SLA)」のデータ構造あるいはブロックという形式で、記憶装置に記憶される。
【0013】
図3のオブジェクト18は、図4のデータ構造30の形式で記憶される。このデータ構造は、オブジェクト18上の開始点である固定点31を示す開始座標Xの値と開始座標Yの値とを含む。これに続いて、曲線またはスプラインの数を示す曲線数と明記された変数がある。図3のオブジェクト18の場合は“9”に等しい。その後に、SLAブロック32の系列がデータ構造30内に記憶される。各SLAブロック32はスプライン系列を記憶している。各SLAブロック内に記憶される曲線あるいはスプラインの数は通常“4”で、最後のSLAブロック32は残った数の曲線だけを記憶する。
【0014】
図5には、SLA制御バイトと4つの曲線に対応するデータ33の系列とから成る、1つのSLAブロック32を示してある。SLA制御バイトは1バイト(8ビット)の情報から成り、その中の連続する2ビットの各々が、SLA制御バイトに続く曲線に対応している。曲線の種類を指示する2ビットの表示は、次の表1の通りである。
【0015】
【表1】
図3のオブジェクト18では、先頭のSLAブロックのデータ構造30が、最初の4つの曲線20から23までを記憶する。2番目のSLAブロックのデータ構造30は、オブジェクト18の続く4曲線24から27までを記憶し、最後のSLAブロックは斜線28を記憶する。
【0016】
ここで図6と図7とを参照すると、図4にあるデータ構造30の先頭SLAブロック32に記憶された、図3のオブジェクト18の一部が図6に示されており、図7がそれに対応する先頭のSLAブロック32を示している。
SLAブロック32はSLA制御ブロック35を含む。SLA制御ブロック35は、SLAブロック32の曲線データを構成する曲線群である斜線,通常スプライン,通常スプライン,垂直線の順に、これらの曲線に対応するビットパターン(00111110)を記憶している。
【0017】
続く記憶領域36は、図6の斜線20に対応している。斜線20に対しては、斜線20の端点31の値が、開始座標Xと開始座標Yとして図4のデータ構造30内に記憶されているので、端点40の値だけを記憶しておけば良い。コンピュータグラフィックスシステムに記憶したり画像処理に使用されたりする典型的なオブジェクトを出願者が統計的に調査した結果からわかったことは、スプラインの多くは長さがごく短い、例えばA3で出力した場合では32ピクセル未満の場合が多いということである。それゆえ、あらゆる制御点を絶対座標値よりも相対座標値で記憶する方が望ましい。斜線20を表現するために記憶される2つの値は、点40を表現する“+10”と“−10”とである。
【0018】
この特別な記憶フォーマットは図8に示す相対値記憶フォーマットである。これは、データの7ビットと、記憶データが相対値記憶フォーマットであることを示すために“0”に設定された最下位ビットとから構成されている。相対記憶フォーマットのデータ部は7ビット長なので、相対記憶フォーマットでは“−64”から“+63”までの値を記憶できる。記憶する値がこの範囲を越えたら、図8に示す絶対値記憶フォーマットで値を記憶する。これは2バイト記憶フォーマットであり、先頭バイトの最下位ビットは“1”である。したがって、絶対値記憶フォーマットのデータ部は15ビット長であり、値の範囲は“0”から“32767”なので、ほとんどの出力装置には充分である。
【0019】
斜線20の記憶領域36に続いて、図7の記憶領域37に制御点42から44を記憶することで、図6の通常スプライン21が記憶されている。通常スプライン21に続いて、通常スプライン22が、図7の記憶領域38に制御点45から47を記憶することで記憶されている。最後に図6の垂直線23が、図7の記憶領域39にyの変化だけを記憶することで記憶されている。これは、SLA制御ブロック35によって垂直線であることがわかっているからである。
【0020】
図3のオブジェクト18のその他の曲線も、後続するSLAブロックに記憶することで、オブジェクト18のアウトライン全体が符号化されている。
以上に述べた方法でデータを記憶する方法は、本来、図9に示す通り、オブジェクトの図形的アウトラインを受け取るという第1処理50を必要とする。すなわち、曲線セグメントの系列を定義するデータで構成されるオブジェクトの図形的アウトラインを受け取る手段、またある場合には図形的アウトラインの生成をも含む手段を必要とする。次に、直線セグメントからなる曲線セグメントをデータから決定する処理51がくる。決定の結果に従って、データは2つのうちのどちらか一方に属する。一方のグループに対しては、直線セグメントでない曲線セグメントの各々に対する第1の数の制御点を記憶することを含む処理52を行う。これには一般に、曲線の端点と全ての中間制御点とを記憶することも含む。もう一方のグループに対しては、直線セグメントからなる曲線セグメントの各々に対する縮退した数の制御点を記憶することを含む処理53を行う。通常、曲線セグメントの端点のみを記憶する。
【0021】
図10に、上に述べた好適な方法を実行するように構成されたシステム60を図式的に示す。システムにはコンピュータ装置61があり、これは通常、ディスプレイ62に接続されている。ディスプレイ62は、例えばビデオディスプレイ装置やプリンタが一般的である。コンピュータ装置61には、システムバス65を介してコンピュータ装置61の他の構成装置に接続されたホストプロセッサ64がある。
【0022】
ホストプロセッサ64は、読み出し専用メモリ(ROM)及び/又は固定ディスク装置(HDD)71に保持された、ディスプレイ上に再現するための像再生を目的としたグラフィックオブジェクトの生成または操作のための処理を行なう制御プログラムによって動作する。通常、ホストプロセッサ64はグラフィックスプロセッサ66を介してディスプレイに接続されている。グラフィックスプロセッサ66は、ホストプロセッサ64で生成されたグラフィックオブジェクトのディスプレイリストに対して、グラフィックス処理を行なうように特別に形成されたものである。ある場合には、具体的なアプリケーションに依存するが、オブジェクトベースあるいはピクセルベースのイメージデータの一時記憶用の専用グラフィックメモリ68に、グラフィックスプロセッサ66が接続されることもある。さらに、コンピュータ装置61とディスプレイ62間のデータバッファ用に出力装置(O/P)67が設けられる。アプリケーションによっては、展開されるグラフィックオブジェクトの色塗をするため出力装置67が用意される。
【0023】
好適な実施例に従って動作するために、ホストプロセッサ64はさまざまな情報源からグラフィックオブジェクトを受け取る。すなわち、HDD71,ROM69,フロッピーディスク装置72,PCMCIAメモリカードソケット73または通信モジュール74を介して通信ネットワークから、あるいは入力モジュール75を介してバス65に接続されたキーボード76やマウス77といったユーザによって生成される情報源から、グラフィックオブジェクトを受け取る。
【0024】
一旦受け取ると、好適な実施例に従って配置されたプログラムがホストプロセッサ64により起動され、各グラフィックオブジェクトの曲線セグメントの各々が分類される。直線オブジェクトに対しては制御点が捨てられて、オブジェクトが前述のフォーマットに従って、例えば半導体ランダムアクセスメモリ(RAM)70やHDD71に記憶される。続いてホストプロセッサ64は、展開と表示のためにグラフィックスプロセッサ66に渡すオブジェクトのディスプレイリストを用意する。好適な実施例を適用した結果として、RAM70やHDD71の使用可能な容量を、そこに記憶する必要のある生データの量を減らすことによって、効果的に増加させることができる。
【0025】
実際問題としては、上記の記憶フォーマットを用いる結果、アウトラインベースのオブジェクトの記憶の際に記憶容量のかなりの節約になり、これにより与えられた記憶容量内に実質上より多くのオブジェクトを記憶することができるということがわかる。
上述の例は本発明のひとつの実施例に過ぎない。そして応用に関しても、技術に明るい人たちには明らかなことだと思うが、本発明の範囲を越えない範囲で行なうことが可能である。
【0026】
尚、本発明は、複数の機器から構成されるシステムに適用しても1つの機器から成る装置に適用しても良い。また、本発明は、システム或は装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。この場合、本発明に係るプログラムを格納した記憶媒体が本発明を構成することになる。そして、該記憶媒体からそのプログラムをシステム或は装置に読み出すことによって、そのシステム或は装置が、予め定められた仕方で動作する。
【0027】
【発明の効果】
本発明により、スプライン或いはそれと類似のもので構成されたグラフィックスオブジェクトのための有効なデータ記憶装置を提供できる。
【図面の簡単な説明】
【図1】2つのスプラインとそれらに対応する制御点の例を示す図である。
【図2】スプラインの直線形式の例を示す図である。
【図3】グラフィックオブジェクトの例を示す図である。
【図4】本実施例のグラフィックオブジェクトの記憶に使用されるデータ構造の例を示す図である。
【図5】本実施例の直線認識ブロックの例を示す図である。
【図6】図3のオブジェクトの一部を詳細に示す図である。
【図7】図6の断片の記憶のためのデータ構造の例を示す図である。
【図8】本実施例のデータ点の記憶に使用される相対値記憶フォーマットおよび絶対値記憶フォーマットを示す図である。
【図9】本実施例の概略の処理手順例を示す流れ図である。
【図10】本実施例に従って動作するシステムのブロック図である。
Claims (7)
- 一連の曲線セグメントで構成されるオブジェクトのグラフィックアウトラインを定義するデータを記憶するデータ記憶装置であって、
曲線セグメントを定義するデータを受け取る受信手段と、
直線セグメントからなる曲線セグメントを前記データから決定する決定手段と、
直線セグメントでない前記曲線セグメントの各々に対応する第1の数の制御点を記述するデータを記憶する第1記憶手段と、
直線セグメントからなる前記曲線セグメントの各々に対応する縮退された数の制御点を記述するデータを記憶する第2記憶手段とを備え、
前記制御点は一連の値を形成し、前記第1及び第2記憶手段は、前記一連の制御点の1つ前の要素からの距離が予め決められた距離よりも小さい制御点は、第1の相対記憶フォーマットで記憶し、前記一連の制御点の1つ前の要素からの距離が予め決められた距離よりも大きい制御点は、第2の絶対記憶フォーマットで記憶することを特徴とするデータ記憶装置。 - 前記曲線セグメントは4つの制御点を記述するデータを有するスプラインからなり、制御点の前記縮退された数は2であることを特徴とする請求項1記載のデータ記憶装置。
- 前記各オブジェクトにおいて、前記曲線セグメントは他の少なくとも1つの前記曲線セグメントと端点で接続されており、
前記曲線セグメントは4つの制御点を有するスプラインで構成され、制御点の前記第1の数は3で、制御点の前記縮退された数は1であることを特徴とする請求項1記載のデータ記憶装置。 - 更に、前記第1及び第2記憶手段は、前記曲線セグメントを一連のブロックとして記憶し、前記各ブロックは前記ブロック内に記憶される曲線の種類を示すヘッダを有することを特徴とする請求項1に記載のデータ記憶装置。
- 前記ブロックは斜線,垂直線,水平線,通常スプラインの各々に対して別々の記憶フォーマットを有することを特徴とする請求項4記載のデータ記憶装置。
- 前記第2記憶手段は、前記直線セグメントの接線制御点を切り捨てる手段を含むことを特徴とする請求項1記載のデータ記憶装置。
- コンピュータグラフィックス装置のホストプロセッサを含むことを特徴とする請求項1記載のデータ記憶装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AUPM8224A AUPM822494A0 (en) | 1994-09-16 | 1994-09-16 | Data storage format |
AU8224 | 1994-09-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08293030A JPH08293030A (ja) | 1996-11-05 |
JP3774494B2 true JP3774494B2 (ja) | 2006-05-17 |
Family
ID=3782744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23890095A Expired - Fee Related JP3774494B2 (ja) | 1994-09-16 | 1995-09-18 | データ記憶装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5760787A (ja) |
JP (1) | JP3774494B2 (ja) |
AU (1) | AUPM822494A0 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09282080A (ja) * | 1996-04-16 | 1997-10-31 | Canon Inc | 情報入力方法とその装置 |
US7136067B2 (en) | 2004-01-26 | 2006-11-14 | Microsoft Corporation | Using externally parameterizeable constraints in a font-hinting language to synthesize font variants |
US7292247B2 (en) * | 2004-01-26 | 2007-11-06 | Microsoft Corporation | Dynamically determining directions of freedom for control points used to represent graphical objects |
US7187382B2 (en) * | 2004-01-26 | 2007-03-06 | Microsoft Corporation | Iteratively solving constraints in a font-hinting language |
US7236174B2 (en) * | 2004-01-26 | 2007-06-26 | Microsoft Corporation | Adaptively filtering outlines of typographic characters to simplify representative control data |
US10318516B1 (en) * | 2015-09-22 | 2019-06-11 | Amazon Technologies, Inc. | System for optimizing serialization of values |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07105362A (ja) * | 1993-10-06 | 1995-04-21 | Fujitsu Ltd | 曲線の標本点発生装置 |
-
1994
- 1994-09-16 AU AUPM8224A patent/AUPM822494A0/en not_active Abandoned
-
1995
- 1995-08-17 US US08/516,071 patent/US5760787A/en not_active Expired - Lifetime
- 1995-09-18 JP JP23890095A patent/JP3774494B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
AUPM822494A0 (en) | 1994-10-13 |
US5760787A (en) | 1998-06-02 |
JPH08293030A (ja) | 1996-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6052489A (en) | Image output apparatus and method | |
JP3774494B2 (ja) | データ記憶装置 | |
JP3062382B2 (ja) | 画像処理装置及び方法 | |
JPH09261457A (ja) | 印刷制御装置並びに印刷制御装置のデータ処理方法およびコンピュータで読み出し可能なプログラムを格納した記憶媒体 | |
JPH06344601A (ja) | 出力装置および出力方法 | |
JPH041862A (ja) | 図形選択方法 | |
JP2644477B2 (ja) | 画像処理方法 | |
JP4022014B2 (ja) | イメージデータの管理方法 | |
JP3072721B2 (ja) | イメージ処理方法及び装置、イメージ処理プログラムを格納する記憶媒体 | |
JPH06217110A (ja) | 画像変換方法 | |
JP2825273B2 (ja) | 図面管理方法及び装置 | |
AU702905B2 (en) | Data storage format | |
JP2739481B2 (ja) | ページプリンタ | |
JP2603322B2 (ja) | 文字処理装置及び方法 | |
JP2580965B2 (ja) | プリンタ装置 | |
JP4058157B2 (ja) | 画像処理方法、画像形成装置および記録媒体 | |
JPH10293667A (ja) | バンディングにおけるバンド分割方法及び両面印刷方法 | |
US5592570A (en) | Image processing method | |
JP2606176B2 (ja) | 図形処理装置 | |
JPH0765177A (ja) | 画像処理システムおよび画像処理装置 | |
JP3539203B2 (ja) | ビットマップデータの縮小方法、情報処理装置および情報記録媒体 | |
JPH07203178A (ja) | 画像データ処理方法 | |
JP3225633B2 (ja) | 画像データ管理装置 | |
JPH0729448B2 (ja) | プリンタ制御装置 | |
JPS5961881A (ja) | 図形発生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050801 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051031 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051227 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060203 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060220 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100224 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100224 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110224 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120224 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130224 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140224 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |