JP2634127B2 - コンピュータ・ディスプレイ・システム及び方法 - Google Patents
コンピュータ・ディスプレイ・システム及び方法Info
- Publication number
- JP2634127B2 JP2634127B2 JP4209851A JP20985192A JP2634127B2 JP 2634127 B2 JP2634127 B2 JP 2634127B2 JP 4209851 A JP4209851 A JP 4209851A JP 20985192 A JP20985192 A JP 20985192A JP 2634127 B2 JP2634127 B2 JP 2634127B2
- Authority
- JP
- Japan
- Prior art keywords
- neural network
- pixels
- block
- image
- aliasing
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 62
- 238000013528 artificial neural network Methods 0.000 claims description 153
- 238000012549 training Methods 0.000 claims description 36
- 230000000007 visual effect Effects 0.000 claims description 14
- 230000004048 modification Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 238000003062 neural network model Methods 0.000 description 41
- 238000012545 processing Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 10
- 230000001537 neural effect Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000003491 array Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 2
- 238000001994 activation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- TVEXGJYMHHTVKP-UHFFFAOYSA-N 6-oxabicyclo[3.2.1]oct-3-en-7-one Chemical compound C1C2C(=O)OC1C=CC2 TVEXGJYMHHTVKP-UHFFFAOYSA-N 0.000 description 1
- 101100269624 Arabidopsis thaliana ALIS4 gene Proteins 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 241000502522 Luscinia megarhynchos Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- VZCCETWTMQHEPK-QNEBEIHSSA-N gamma-linolenic acid Chemical compound CCCCC\C=C/C\C=C/C\C=C/CCCCC(O)=O VZCCETWTMQHEPK-QNEBEIHSSA-N 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/60—Image enhancement or restoration using machine learning, e.g. neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Digital Computer Display Output (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
【0001】
【産業上の利用分野】この発明は、一般的にはイメージ
の表示に関し、特に、ラスタ形式で表示されたアンチ・
エイリアシング(anti−aliasing)イメー
ジのための方法に関する。より特に、この発明は、コン
ピュータ・イメージについてアンチ・エイリアシング機
能を行うために、ニューラル・ネットワークを利用する
ための方法および装置に関する。
の表示に関し、特に、ラスタ形式で表示されたアンチ・
エイリアシング(anti−aliasing)イメー
ジのための方法に関する。より特に、この発明は、コン
ピュータ・イメージについてアンチ・エイリアシング機
能を行うために、ニューラル・ネットワークを利用する
ための方法および装置に関する。
【0002】
【従来の技術】可視的表示の明瞭さは、コンピュータシ
ステム開発者にとって直面する共通の課題である。テキ
スト文字の集合を含むグラフィックスは、典型的にはラ
スタ・イメージを利用して表示される。ラスタ・イメー
ジは、ピクセルあるいはペルとして知られる画素の矩形
の配列である。一般的にかかる画素は、行および列の連
続でコンピュータ・ディスプレイ・スクリーン上に配列
される。
ステム開発者にとって直面する共通の課題である。テキ
スト文字の集合を含むグラフィックスは、典型的にはラ
スタ・イメージを利用して表示される。ラスタ・イメー
ジは、ピクセルあるいはペルとして知られる画素の矩形
の配列である。一般的にかかる画素は、行および列の連
続でコンピュータ・ディスプレイ・スクリーン上に配列
される。
【0003】イメージの明瞭さの問題は、連続するイメ
ージが不連続の画素を用いて表示される時に生じる。図
形イメージの垂直でなく、且つ水平でない部分で問題が
最も目立つ。一例として、垂直でもなく水平でもない線
の場合は、その線が行および列の矩形の配列で配置され
た複数画素で構成されることによって、ギザギザにある
いは階段状に見える。この特有の問題が「エイリアシン
グ」と称される。
ージが不連続の画素を用いて表示される時に生じる。図
形イメージの垂直でなく、且つ水平でない部分で問題が
最も目立つ。一例として、垂直でもなく水平でもない線
の場合は、その線が行および列の矩形の配列で配置され
た複数画素で構成されることによって、ギザギザにある
いは階段状に見える。この特有の問題が「エイリアシン
グ」と称される。
【0004】このエイリアシングを解決する一つの知ら
れている方法は、平方インチ当りで極めて多数の画素を
有するディスプレイを用いることである。より高い解像
度のディスプレイによって、生じる階段状のものが小さ
くなり、従って、より目立たなくできる。しかしなが
ら、この解決法は、高解像度ディスプレイのコストが高
いことからして、高価である。さらに、ディスプレイと
関連して用いられる電子的構成要素の速度性能の制約の
点から、この任意選択が常に可能とは限らない。
れている方法は、平方インチ当りで極めて多数の画素を
有するディスプレイを用いることである。より高い解像
度のディスプレイによって、生じる階段状のものが小さ
くなり、従って、より目立たなくできる。しかしなが
ら、この解決法は、高解像度ディスプレイのコストが高
いことからして、高価である。さらに、ディスプレイと
関連して用いられる電子的構成要素の速度性能の制約の
点から、この任意選択が常に可能とは限らない。
【0005】アンチ・エイリアシングの他の既知の解決
法は、ギザギザのエッジの近傍のイメージ領域内の画素
を修正し、あるいはボケさせることを伴う。かかるギザ
ギザのエッジをボケさせることは、コントラストを減少
させ、エイリアシングの問題をより目立たなくさせる。
このエッジをボケさせる手法において、イメージ内でそ
のギザギザの近傍画素の新たな明るさおよび色を計算す
る時に、図形イメージの明るさおよび色の両者とそのイ
メージの後の背景が考慮される。この手法の一つの問題
は、ディスプレイが明るさおよび/または色の中間レベ
ルを生成できることを必須とすることである。
法は、ギザギザのエッジの近傍のイメージ領域内の画素
を修正し、あるいはボケさせることを伴う。かかるギザ
ギザのエッジをボケさせることは、コントラストを減少
させ、エイリアシングの問題をより目立たなくさせる。
このエッジをボケさせる手法において、イメージ内でそ
のギザギザの近傍画素の新たな明るさおよび色を計算す
る時に、図形イメージの明るさおよび色の両者とそのイ
メージの後の背景が考慮される。この手法の一つの問題
は、ディスプレイが明るさおよび/または色の中間レベ
ルを生成できることを必須とすることである。
【0006】既知のシステムでは、ギザギザのエッジを
ボケさせることによる図形イメージのアンチ・エイリア
シングが、一般的にコンピュータ・アルゴリズムによっ
てなし遂げられていた。コンピュータがイメージの選択
した部分を解析し、アンチ・エイリアシングが必要かど
うかを決定していた。画素ロケーションがアンチ・エイ
リアシングの恩恵を被ると識別されると、コンピュータ
がアルゴリズムを利用し、選択画素の新たなパラメータ
を計算する。そして、明るさおよび色のような周囲画素
の視覚的特性は、選択画素の視覚的特性によって平均化
される。このアルゴリズムは、多くの場合に良好に働く
が、改善の余地が多くある。例えば、その処理は、より
厳密さが少ない基準に基づくより柔軟性に富んだ色の平
均化演算のようなよりアナログ的アプローチによって恩
恵を被る。また、この処理は、二つのコンピュータ・ア
ルゴリズムを必要とする。その一つは、アンチ・エイリ
アシングされるべき画素を見つけることであり、第2の
コンピュータ・アルゴリズムは、新たな画素の色および
明るさを計算することである。
ボケさせることによる図形イメージのアンチ・エイリア
シングが、一般的にコンピュータ・アルゴリズムによっ
てなし遂げられていた。コンピュータがイメージの選択
した部分を解析し、アンチ・エイリアシングが必要かど
うかを決定していた。画素ロケーションがアンチ・エイ
リアシングの恩恵を被ると識別されると、コンピュータ
がアルゴリズムを利用し、選択画素の新たなパラメータ
を計算する。そして、明るさおよび色のような周囲画素
の視覚的特性は、選択画素の視覚的特性によって平均化
される。このアルゴリズムは、多くの場合に良好に働く
が、改善の余地が多くある。例えば、その処理は、より
厳密さが少ない基準に基づくより柔軟性に富んだ色の平
均化演算のようなよりアナログ的アプローチによって恩
恵を被る。また、この処理は、二つのコンピュータ・ア
ルゴリズムを必要とする。その一つは、アンチ・エイリ
アシングされるべき画素を見つけることであり、第2の
コンピュータ・アルゴリズムは、新たな画素の色および
明るさを計算することである。
【0007】ニューラル・ネットワークが画像処理シス
テムにおいて以前から利用されている。しかしながら、
そのようなネットワークは、通常、人の顔のような特定
のイメージを認識するために使用される。ニューラル・
ネットワークの認識アプリケーションは、一般的に、こ
こで開示されているのと同様の方法で画素フィルタリン
グを使用している。しかしながら、かかるアプリケーシ
ョンは、アンチ・エイリアシング・システムにおいて必
要とされるような表示目的のためにイメージの品質の改
良を意図していない。
テムにおいて以前から利用されている。しかしながら、
そのようなネットワークは、通常、人の顔のような特定
のイメージを認識するために使用される。ニューラル・
ネットワークの認識アプリケーションは、一般的に、こ
こで開示されているのと同様の方法で画素フィルタリン
グを使用している。しかしながら、かかるアプリケーシ
ョンは、アンチ・エイリアシング・システムにおいて必
要とされるような表示目的のためにイメージの品質の改
良を意図していない。
【0008】イメージを認識するためにニューラル・ネ
ットワークを使用する一例は、論文「人工的ニューラル
・ネットワークおよびそれらの画像処理への応用」( A
rtificial Neural Nets and Their Application to Ima
ge Processing",by Nightingale,British Telecom Tech
nology Journal,Volume 8,July 1990)に述べられてい
る。この論文は、顔の像から人間の眼の認識に焦点を合
わせている。
ットワークを使用する一例は、論文「人工的ニューラル
・ネットワークおよびそれらの画像処理への応用」( A
rtificial Neural Nets and Their Application to Ima
ge Processing",by Nightingale,British Telecom Tech
nology Journal,Volume 8,July 1990)に述べられてい
る。この論文は、顔の像から人間の眼の認識に焦点を合
わせている。
【0009】イメージを認識し、イメージを分類するの
にニューラル・ネットワークを利用する他の例は、論文
「ニューラル・ネットワークによる画素の分類」( Pix
elsClassification With Neural Computer",by Chung L
in Huang ,SPIE Volume 1197,Automated Inspection an
d High-Speed Vision Architecture III (1989)) に述
べられている。この論文は、視覚的ノイズにより不明瞭
とされた画像の認識について論じている。
にニューラル・ネットワークを利用する他の例は、論文
「ニューラル・ネットワークによる画素の分類」( Pix
elsClassification With Neural Computer",by Chung L
in Huang ,SPIE Volume 1197,Automated Inspection an
d High-Speed Vision Architecture III (1989)) に述
べられている。この論文は、視覚的ノイズにより不明瞭
とされた画像の認識について論じている。
【0010】従って、改良されたアンチ・エイリアシン
グ・システムの必要性があることは、明らかであろう。
このシステムは、ニューラル・ネットワークを用いるコ
ンピュータグラフィックス・ディスプレイにおいて、ギ
ザギザのエッジの発生を減少し、その図形オブジェクト
の後ろに背景を有する図形オブジェクトのかかるギザギ
ザのエッジをボケさせる。
グ・システムの必要性があることは、明らかであろう。
このシステムは、ニューラル・ネットワークを用いるコ
ンピュータグラフィックス・ディスプレイにおいて、ギ
ザギザのエッジの発生を減少し、その図形オブジェクト
の後ろに背景を有する図形オブジェクトのかかるギザギ
ザのエッジをボケさせる。
【0011】
【発明が解決しようとする課題】従って、この発明の一
つの目的は、コンピュータグラフィックス・ディスプレ
イで使用するための改良されたアンチ・エイリアシング
・システムを提供することにある。
つの目的は、コンピュータグラフィックス・ディスプレ
イで使用するための改良されたアンチ・エイリアシング
・システムを提供することにある。
【0012】この発明の他の目的は、適切なフォーマッ
トで表示されるイメージに基づくアンチ・エイリアシン
グ・コンピュータのための方法およびシステムを提供す
ることにある。
トで表示されるイメージに基づくアンチ・エイリアシン
グ・コンピュータのための方法およびシステムを提供す
ることにある。
【0013】この発明のさらに他の目的は、コンピュー
タ・イメージに関するアンチ・エイリアシング機能を行
うために、ニューラル・ネットワークを利用するための
方法および装置を提供することにある。
タ・イメージに関するアンチ・エイリアシング機能を行
うために、ニューラル・ネットワークを利用するための
方法および装置を提供することにある。
【0014】
【課題を解決するための手段】ニューラル・ネットワー
クは、選択画素の明るさおよび/または色と、周囲画素
の明るさおよび/または色との関係を学習するために、
提供され、また、使用される。若し、アンチ・エイリア
シングがその図形イメージの明瞭さを全体として向上す
るものとニューラル・ネットワークが決定するならば、
ニューラル・ネットワークは、アンチ・エイリアシング
を遂行するために、選択画素の明るさおよび/または色
を修正するのに使用されるスケール・ファクタを計算す
る。この発明の記述の実施例では、コンピュータシステ
ムで表示された図形に関する図形イメージのギザギザの
エッジを期待されるように、ボケさせるために、(3×
3=9画素)の一つの画素が修正される。
クは、選択画素の明るさおよび/または色と、周囲画素
の明るさおよび/または色との関係を学習するために、
提供され、また、使用される。若し、アンチ・エイリア
シングがその図形イメージの明瞭さを全体として向上す
るものとニューラル・ネットワークが決定するならば、
ニューラル・ネットワークは、アンチ・エイリアシング
を遂行するために、選択画素の明るさおよび/または色
を修正するのに使用されるスケール・ファクタを計算す
る。この発明の記述の実施例では、コンピュータシステ
ムで表示された図形に関する図形イメージのギザギザの
エッジを期待されるように、ボケさせるために、(3×
3=9画素)の一つの画素が修正される。
【0015】
【実施例】以下、まず、図1を参照して説明する。図1
には、この発明による方法およびシステムによりアンチ
・エイリアシング・コンピュータ・ディスプレイ・シス
テム5を実現するのに使用できるコンピュータシステム
10のブロック図が示されている。当業者には理解され
るように、コンピュータシステム10は、IBM社のP
S/2あるいは他の適切なコンピュータのような周知の
パーソナルコンピュータを用いて実現されうる。好まし
くは、コンピュータシステム10は、プロセッサ16、
キーボード18およびディスプレイ19を当業者にとっ
て周知のように有している。
には、この発明による方法およびシステムによりアンチ
・エイリアシング・コンピュータ・ディスプレイ・シス
テム5を実現するのに使用できるコンピュータシステム
10のブロック図が示されている。当業者には理解され
るように、コンピュータシステム10は、IBM社のP
S/2あるいは他の適切なコンピュータのような周知の
パーソナルコンピュータを用いて実現されうる。好まし
くは、コンピュータシステム10は、プロセッサ16、
キーボード18およびディスプレイ19を当業者にとっ
て周知のように有している。
【0016】なおも、図1を参照すると、コンピュータ
システム10のプロセッサ16内には、記憶装置手段1
2と接続された主あるいは中央処理装置(CPU)11
が描かれている。記憶装置手段12は、ランダム・アク
セス・メモリ(RAM)のような主記憶装置および/ま
たは磁気的あるいは光学的記憶装置のような2次記憶装
置である。主プロセッサ11は、好ましくは補助プロセ
ッサ13にも接続される。補助プロセッサ13は、周知
の数値計算補助プロセッサと同様にして一般的数値演算
機能を提供し、あるいはニューラル・ネットワーク・ハ
ードウエア支援機能プロセッサ(ニューラル・ネットワ
ーク・プロセッサ)に特殊化される。当業者は、若し、
主プロセッサ16が性能の著しい低下なしに、大きな計
算作業負荷を扱うのに充分な処理能力を有するのであれ
ば、この発明の方法およびシステムの実現にとって、補
助プロセッサ13が必要とされないことが分かるであろ
う。また、主プロセッサ11は、好ましくは、ディスプ
レイ・インターフェース14にも接続され、当業者にと
って周知の方法で、ディスプレイ19を制御するのに用
いられる。
システム10のプロセッサ16内には、記憶装置手段1
2と接続された主あるいは中央処理装置(CPU)11
が描かれている。記憶装置手段12は、ランダム・アク
セス・メモリ(RAM)のような主記憶装置および/ま
たは磁気的あるいは光学的記憶装置のような2次記憶装
置である。主プロセッサ11は、好ましくは補助プロセ
ッサ13にも接続される。補助プロセッサ13は、周知
の数値計算補助プロセッサと同様にして一般的数値演算
機能を提供し、あるいはニューラル・ネットワーク・ハ
ードウエア支援機能プロセッサ(ニューラル・ネットワ
ーク・プロセッサ)に特殊化される。当業者は、若し、
主プロセッサ16が性能の著しい低下なしに、大きな計
算作業負荷を扱うのに充分な処理能力を有するのであれ
ば、この発明の方法およびシステムの実現にとって、補
助プロセッサ13が必要とされないことが分かるであろ
う。また、主プロセッサ11は、好ましくは、ディスプ
レイ・インターフェース14にも接続され、当業者にと
って周知の方法で、ディスプレイ19を制御するのに用
いられる。
【0017】ディスプレイ・インターフェース14によ
って、望ましくは、可視イメージが作成され、ディスプ
レイ19へ伝送される。好ましくは、ディスプレイ19
がディスプレイ・インターフェース14から電気信号を
受信し、そして、コンピュータ生成可視イメージをスク
リーン20に表示するのに用いられる。ディスプレイ1
9は、カラー・ディスプレイあるいはモノクロ・ディス
プレイの何れでも良いが、何れの場合でも、この発明の
方法およびシステムを実現するためには、ディスプレイ
19が明るさおよび/または色の幾つかの中間レベルを
表示できなければならない。
って、望ましくは、可視イメージが作成され、ディスプ
レイ19へ伝送される。好ましくは、ディスプレイ19
がディスプレイ・インターフェース14から電気信号を
受信し、そして、コンピュータ生成可視イメージをスク
リーン20に表示するのに用いられる。ディスプレイ1
9は、カラー・ディスプレイあるいはモノクロ・ディス
プレイの何れでも良いが、何れの場合でも、この発明の
方法およびシステムを実現するためには、ディスプレイ
19が明るさおよび/または色の幾つかの中間レベルを
表示できなければならない。
【0018】以上の図1に示されるように、コンピュー
タシステム10は、この発明を実現するのに利用しうる
コンピュータシステムの一つの可能な実現例を示す。コ
ンピュータシステム10がIBM社のPS/2コンピュ
ータを利用したものであるならば、補助プロセッサ13
は、望ましくは、パーソナルコンピュータの分野で一般
的に見られるような方法で、インテル社の80387数
値計算補助プロセッサを利用して、実現される。そし
て、かかるアプリケーションでは、主プロセッサ11お
よび補助プロセッサ13が周知のIBM PC支援技術
を介して通信する。
タシステム10は、この発明を実現するのに利用しうる
コンピュータシステムの一つの可能な実現例を示す。コ
ンピュータシステム10がIBM社のPS/2コンピュ
ータを利用したものであるならば、補助プロセッサ13
は、望ましくは、パーソナルコンピュータの分野で一般
的に見られるような方法で、インテル社の80387数
値計算補助プロセッサを利用して、実現される。そし
て、かかるアプリケーションでは、主プロセッサ11お
よび補助プロセッサ13が周知のIBM PC支援技術
を介して通信する。
【0019】図2を参照すると、ニューラル・ネットワ
ークを実現する大規模並列ハードウエアが直列ノイマン
プロセッサ・システム上でシミュレートされる方法が描
かれている。ニューラル・ネットワークに関する当業者
は、異なる接続トポロジーおよび処理装置属性を有する
多くの異なるニューラル・ネットワーク・モデルが存在
することを認識するであろう。しかしながら、一般的に
そのようなモデルは、それぞれが関連した適応あるいは
可変の重み22を有する多数の単純な処理装置21から
構成されるコンピュータシステムとして分類される。プ
ロセッサおよび重みの他に、ニューラル・ネットワーク
・モデルは、各訓練反復の後に、適応重みを更新するこ
とによって動作する学習機構23を持たねばならない。
ニューラル・ネットワークの分野の当業者が分かってい
るように、ニューラル・ネットワークの訓練は、人間の
脳が学習する方法をシミュレートすると考えられている
方法でなされる。すなわち、特定の入力が期待出力を作
成する時に、その入力と関連した重みが増大される。
ークを実現する大規模並列ハードウエアが直列ノイマン
プロセッサ・システム上でシミュレートされる方法が描
かれている。ニューラル・ネットワークに関する当業者
は、異なる接続トポロジーおよび処理装置属性を有する
多くの異なるニューラル・ネットワーク・モデルが存在
することを認識するであろう。しかしながら、一般的に
そのようなモデルは、それぞれが関連した適応あるいは
可変の重み22を有する多数の単純な処理装置21から
構成されるコンピュータシステムとして分類される。プ
ロセッサおよび重みの他に、ニューラル・ネットワーク
・モデルは、各訓練反復の後に、適応重みを更新するこ
とによって動作する学習機構23を持たねばならない。
ニューラル・ネットワークの分野の当業者が分かってい
るように、ニューラル・ネットワークの訓練は、人間の
脳が学習する方法をシミュレートすると考えられている
方法でなされる。すなわち、特定の入力が期待出力を作
成する時に、その入力と関連した重みが増大される。
【0020】かかるニューラル・ネットワーク・モデル
は、種々のプログラムおよびデータを用いることによっ
て、ディジタル・コンピュータでシミュレートされう
る。従って、図2に示されるように、データ27内に適
応重み22が含まれる間に、ニューラル・ネットワーク
処理装置21によってなされる処理機能をシミュレート
するのにプログラム26が利用される。同様に、プログ
ラム28が図2に示される学習あるいは接続重み適応機
構23の実現に利用される。
は、種々のプログラムおよびデータを用いることによっ
て、ディジタル・コンピュータでシミュレートされう
る。従って、図2に示されるように、データ27内に適
応重み22が含まれる間に、ニューラル・ネットワーク
処理装置21によってなされる処理機能をシミュレート
するのにプログラム26が利用される。同様に、プログ
ラム28が図2に示される学習あるいは接続重み適応機
構23の実現に利用される。
【0021】さて、図3を参照すると、この発明の方法
およびシステムを実現するのに用いられるコンピュータ
環境の概念的枠組みが示されている。図示のように、概
念的配置の最高レベルにアプリケーション・プログラム
・インターフェース31(API)が存在する。アプリ
ケーション・プログラム・インターフェース31は、通
常、公式に規定されたインターフェースであって、それ
によってニューラル・ネットワークの専門知識を有しな
いアプリケーション開発者が彼ら自身のアプリケーショ
ン・プログラムの範囲内で、ユーティリティ・プログラ
ムおよびニューラル・ネットワーク・シェル32のデー
タ構造をアクセスし、利用することができる。ニューラ
ル・ネットワーク・シェル32は、望ましくは、ユーテ
ィリティ・プログラム33およびニューラル・ネットワ
ーク・データ構造50の組からなる。ニューラル・ネッ
トワーク・シェル32は、ユーザが既存のコンピュータ
システム上でアプリケーション内で、ニューラル・ネッ
トワークを簡単且つ効率的に定義し、作成し、訓練し、
実行することを可能とする。
およびシステムを実現するのに用いられるコンピュータ
環境の概念的枠組みが示されている。図示のように、概
念的配置の最高レベルにアプリケーション・プログラム
・インターフェース31(API)が存在する。アプリ
ケーション・プログラム・インターフェース31は、通
常、公式に規定されたインターフェースであって、それ
によってニューラル・ネットワークの専門知識を有しな
いアプリケーション開発者が彼ら自身のアプリケーショ
ン・プログラムの範囲内で、ユーティリティ・プログラ
ムおよびニューラル・ネットワーク・シェル32のデー
タ構造をアクセスし、利用することができる。ニューラ
ル・ネットワーク・シェル32は、望ましくは、ユーテ
ィリティ・プログラム33およびニューラル・ネットワ
ーク・データ構造50の組からなる。ニューラル・ネッ
トワーク・シェル32は、ユーザが既存のコンピュータ
システム上でアプリケーション内で、ニューラル・ネッ
トワークを簡単且つ効率的に定義し、作成し、訓練し、
実行することを可能とする。
【0022】参照数字35、36、37および38にお
いて図3に示されるモデル例のような周知のニューラル
・ネットワーク・モデルは、ニューラル・ネットワーク
・シェル32内で全てのユーティリティ・プログラムに
よってアクセスされうる一般ニューラル・ネットワーク
・データ構造50を定義することによって、ニューラル
・ネットワーク・シェルにより支援される。そして、各
ニューラル・ネットワーク・モデルは、図5により詳細
に記述されているこの一般ニューラル・ネットワーク・
データ構造上へマッピングされる。そして、各ニューラ
ル・ネットワーク・モデルに特定のプログラムは、ここ
により詳細に述べられるニューラル・ネットワーク・プ
ログラム33により呼び出される。
いて図3に示されるモデル例のような周知のニューラル
・ネットワーク・モデルは、ニューラル・ネットワーク
・シェル32内で全てのユーティリティ・プログラムに
よってアクセスされうる一般ニューラル・ネットワーク
・データ構造50を定義することによって、ニューラル
・ネットワーク・シェルにより支援される。そして、各
ニューラル・ネットワーク・モデルは、図5により詳細
に記述されているこの一般ニューラル・ネットワーク・
データ構造上へマッピングされる。そして、各ニューラ
ル・ネットワーク・モデルに特定のプログラムは、ここ
により詳細に述べられるニューラル・ネットワーク・プ
ログラム33により呼び出される。
【0023】図4を参照するに、ニューラル・ネットワ
ーク・シェル32内で1または複数のニューラル・ネッ
トワーク・ユーティリティ・プログラム45、46、4
7および48とインターフェースすることによって、ア
ンチ・エイリアシング・アプリケーション・プログラム
41が合成されたニューラル・ネットワーク・アプリケ
ーション・プログラム40で利用される方法が示されて
いる。ユーティリティ・プログラム45、46、47お
よび48は、データ構造50と順にインターフェースす
る。ニューラル・ネットワーク・アプリケーション・プ
ログラム40によって処理されるデータは、ニューラル
・ネットワークの入力42に入る。データがニューラル
・ネットワークを通り抜けた後に、接続44を介してア
プリケーション・プログラム41に対してその結果が戻
される。アプリケーション・プログラム41およびユー
ティリティ・プログラム46、47、および48が望ま
しくは、主プロセッサ11および/または補助プロセッ
サ13(図1参照)のような適切にプログラムされた主
プロセッサ内に存在する。望ましくは、データ構造50
が記憶装置12および/または主プロセッサ11および
/または補助プロセッサ13と関連した内部記憶装置内
のようなメモリ内に存在する。
ーク・シェル32内で1または複数のニューラル・ネッ
トワーク・ユーティリティ・プログラム45、46、4
7および48とインターフェースすることによって、ア
ンチ・エイリアシング・アプリケーション・プログラム
41が合成されたニューラル・ネットワーク・アプリケ
ーション・プログラム40で利用される方法が示されて
いる。ユーティリティ・プログラム45、46、47お
よび48は、データ構造50と順にインターフェースす
る。ニューラル・ネットワーク・アプリケーション・プ
ログラム40によって処理されるデータは、ニューラル
・ネットワークの入力42に入る。データがニューラル
・ネットワークを通り抜けた後に、接続44を介してア
プリケーション・プログラム41に対してその結果が戻
される。アプリケーション・プログラム41およびユー
ティリティ・プログラム46、47、および48が望ま
しくは、主プロセッサ11および/または補助プロセッ
サ13(図1参照)のような適切にプログラムされた主
プロセッサ内に存在する。望ましくは、データ構造50
が記憶装置12および/または主プロセッサ11および
/または補助プロセッサ13と関連した内部記憶装置内
のようなメモリ内に存在する。
【0024】さて、図5を参照すると、図5には、この
発明のための方法およびシステムと関連して使用される
ニューラル・ネットワーク・データ構造50が示されて
いる。データ構造50は、好ましくは、共通枠組みを提
供し、これによって如何なるニューラル・ネットワーク
・モデルもアプリケーション・プログラムにおける使用
のために定義可能である。この共通枠組みは、モデル特
定パラメータのために使用されるニューラル・ネットワ
ーク・データ構造50内で数フィールドを提供すること
で達成される。IBM出版物「AS/400 ニューラ
ル・ネットワーク・ユーティリティ」(ユーザズガイド
およびリファレンス PRPQ P84189)の103〜1
05頁は、どのように、データ構造50のモデル特定フ
ィールドがバック・プロパゲーション(「Back P
ropagation」)、ART、自己編成機能マッ
プTSP、およびBAMニューラル・ネットワーク・モ
デルによって利用されるかを記述している。
発明のための方法およびシステムと関連して使用される
ニューラル・ネットワーク・データ構造50が示されて
いる。データ構造50は、好ましくは、共通枠組みを提
供し、これによって如何なるニューラル・ネットワーク
・モデルもアプリケーション・プログラムにおける使用
のために定義可能である。この共通枠組みは、モデル特
定パラメータのために使用されるニューラル・ネットワ
ーク・データ構造50内で数フィールドを提供すること
で達成される。IBM出版物「AS/400 ニューラ
ル・ネットワーク・ユーティリティ」(ユーザズガイド
およびリファレンス PRPQ P84189)の103〜1
05頁は、どのように、データ構造50のモデル特定フ
ィールドがバック・プロパゲーション(「Back P
ropagation」)、ART、自己編成機能マッ
プTSP、およびBAMニューラル・ネットワーク・モ
デルによって利用されるかを記述している。
【0025】なおも、図5を参照すると、好ましくは、
データ構造50がヘッダ部分60および本体部分90か
らなる。データ構造50のヘッダ部分60が望ましく
は、フィールド61〜78を有している。フィールド6
1および62は、何らかの追加的な構造が存在するとき
に、他のニューラル・ネットワーク・データ構造に対す
るポインタである。若し、ニューラル・ネットワークが
データの直列処理のために、連携リストで編成されてい
るならば、第1のポインタが以前のネットワークに対し
て連係する。この連係は、複数のニューラル・ネットワ
ークを連係した結果生じる、より大きなネットワーク内
の以前のサブ・ネットからの出力を取得するのに使用さ
れる。そして、第2のポインタは、その連係内の次のネ
ットワークにおけるポインタとして使用される。サブ・
ネットワークの収集によって、これらの連係の一方ある
いは両者は、数個のサブ・ネットワークからなる複合
(ハイブリッド)ネットワーク内で利用されうる。アプ
リケーション・プログラムに対して高められた柔軟性お
よび機能を提供するために、このようにニューラル・ネ
ットワーク・データ構造が一緒に連鎖されても良いこと
は、当業者にとって、理解されよう。追加的なニューラ
ル・ネットワークと連係する性能の提供によって、「ス
ーパー」ネットワークがより小さなネットワークのモジ
ュールから構築することが可能である。
データ構造50がヘッダ部分60および本体部分90か
らなる。データ構造50のヘッダ部分60が望ましく
は、フィールド61〜78を有している。フィールド6
1および62は、何らかの追加的な構造が存在するとき
に、他のニューラル・ネットワーク・データ構造に対す
るポインタである。若し、ニューラル・ネットワークが
データの直列処理のために、連携リストで編成されてい
るならば、第1のポインタが以前のネットワークに対し
て連係する。この連係は、複数のニューラル・ネットワ
ークを連係した結果生じる、より大きなネットワーク内
の以前のサブ・ネットからの出力を取得するのに使用さ
れる。そして、第2のポインタは、その連係内の次のネ
ットワークにおけるポインタとして使用される。サブ・
ネットワークの収集によって、これらの連係の一方ある
いは両者は、数個のサブ・ネットワークからなる複合
(ハイブリッド)ネットワーク内で利用されうる。アプ
リケーション・プログラムに対して高められた柔軟性お
よび機能を提供するために、このようにニューラル・ネ
ットワーク・データ構造が一緒に連鎖されても良いこと
は、当業者にとって、理解されよう。追加的なニューラ
ル・ネットワークと連係する性能の提供によって、「ス
ーパー」ネットワークがより小さなネットワークのモジ
ュールから構築することが可能である。
【0026】ヘッダ部分60のフィールド63は、本体
部分90の次のフリースペースまでのバイト内オフセッ
トを特定するのに使用される。同様に、フィールド64
は、ニューラル・ネットワーク・データ構造の終端まで
のバイト内オフセットを特定するのに使用される。本体
部分90は、可変長データ領域であるので、本体部分9
0内のデータ構造および次の利用可能なフリースペース
の大きさを追跡するために、フィールド63および64
が必要とされる。ヘッダ部分60内のフィールド65
は、ニューラル・ネットワークの名前を特定するのに使
用される。アンチ・エイリアシング・ニューラル・ネッ
トワークの名前は、このフィールド内へ入力される。こ
こでは、説明の都合上、ALIAS.NETと名付けら
れたニューラル・ネットワークが使用されるアンチ・エ
イリアシング・ニューラル・ネットワークを記述するの
に使用され、そして、この名前は、使用されるニューラ
ル・ネットワークを作成するユーティリティ・プログラ
ムによって、フィールド65内へ置かれる。
部分90の次のフリースペースまでのバイト内オフセッ
トを特定するのに使用される。同様に、フィールド64
は、ニューラル・ネットワーク・データ構造の終端まで
のバイト内オフセットを特定するのに使用される。本体
部分90は、可変長データ領域であるので、本体部分9
0内のデータ構造および次の利用可能なフリースペース
の大きさを追跡するために、フィールド63および64
が必要とされる。ヘッダ部分60内のフィールド65
は、ニューラル・ネットワークの名前を特定するのに使
用される。アンチ・エイリアシング・ニューラル・ネッ
トワークの名前は、このフィールド内へ入力される。こ
こでは、説明の都合上、ALIAS.NETと名付けら
れたニューラル・ネットワークが使用されるアンチ・エ
イリアシング・ニューラル・ネットワークを記述するの
に使用され、そして、この名前は、使用されるニューラ
ル・ネットワークを作成するユーティリティ・プログラ
ムによって、フィールド65内へ置かれる。
【0027】ヘッダ部分60内のフィールド66は、望
ましくは、ニューラル・ネットワークが位置するライブ
ラリの名前を含む。当業者にとって明らかなように、ラ
イブラリは、パーソナルコンピュータ環境内のサブディ
レクトリと類似している。若し、この発明の方法および
システムがライブラリを使用しないコンピュータ環境内
で実現されるならば、フィールド66は、必ずしも必要
ではない。好ましくは、フィールド66がネットワーク
・バージョン識別子を有する。この情報は、ニューラル
・ネットワーク・シェル・プログラムおよびニューラル
・ネットワーク・データ構造間の不一致を防止するのに
使用される。ソフトウェアの新バージョンあるいはリリ
ースがなされる時に、既存のネットワークとの互換性が
非常に望まれる。若し、ソフトウェアの新バージョンあ
るいはリリースへの拡張が基本的なネットワーク・デー
タ構造に対しての変更を要求するならば、このフィール
ドによって、ソフトウェアとデータとの不一致の検出が
可能である。その後は、変換ルーチンがデータ構造フォ
ーマットを更新するために、あるいは下位のデータ構造
を受容するために使用されうる。
ましくは、ニューラル・ネットワークが位置するライブ
ラリの名前を含む。当業者にとって明らかなように、ラ
イブラリは、パーソナルコンピュータ環境内のサブディ
レクトリと類似している。若し、この発明の方法および
システムがライブラリを使用しないコンピュータ環境内
で実現されるならば、フィールド66は、必ずしも必要
ではない。好ましくは、フィールド66がネットワーク
・バージョン識別子を有する。この情報は、ニューラル
・ネットワーク・シェル・プログラムおよびニューラル
・ネットワーク・データ構造間の不一致を防止するのに
使用される。ソフトウェアの新バージョンあるいはリリ
ースがなされる時に、既存のネットワークとの互換性が
非常に望まれる。若し、ソフトウェアの新バージョンあ
るいはリリースへの拡張が基本的なネットワーク・デー
タ構造に対しての変更を要求するならば、このフィール
ドによって、ソフトウェアとデータとの不一致の検出が
可能である。その後は、変換ルーチンがデータ構造フォ
ーマットを更新するために、あるいは下位のデータ構造
を受容するために使用されうる。
【0028】引き続いて図5を参照すると、ヘッダ部分
60内のフィールド79がニューラル・ネットワーク型
式あるいはその種類の名前を特定するのに使用される。
ここで述べられているアンチ・エイリアシング・ニュー
ラル・ネットワークの好適な実施例において使用される
ニューラル・ネットワーク・モデル名は、「BKP」、
すなわち、バック・プロパゲーション・ニューラル・ネ
ットワーク・モデルである。次に、フィールド68は、
ネットワークの現在の状態を特定するのに使用される。
ニューラル・ネットワークの分野の当業者は、若し、そ
のネットワークが作成されているならば、可能な状態が
「INITIALIZE」を含み、若し、そのネットワ
ークが訓練中であれば、可能な状態が「TRAININ
G」を含み、若し、そのネットワークが訓練が完了し、
ニューラル・ネットワークが実行可能ならば、可能な状
態が「LOCKED」を含むことは、認識するであろ
う。所望されるならば、フィールド69は、モデル特定
の英数字フィールドを記憶するのに使用される。フィー
ルド70は、経過したネットワーク訓練時間のトラック
を保持する。
60内のフィールド79がニューラル・ネットワーク型
式あるいはその種類の名前を特定するのに使用される。
ここで述べられているアンチ・エイリアシング・ニュー
ラル・ネットワークの好適な実施例において使用される
ニューラル・ネットワーク・モデル名は、「BKP」、
すなわち、バック・プロパゲーション・ニューラル・ネ
ットワーク・モデルである。次に、フィールド68は、
ネットワークの現在の状態を特定するのに使用される。
ニューラル・ネットワークの分野の当業者は、若し、そ
のネットワークが作成されているならば、可能な状態が
「INITIALIZE」を含み、若し、そのネットワ
ークが訓練中であれば、可能な状態が「TRAININ
G」を含み、若し、そのネットワークが訓練が完了し、
ニューラル・ネットワークが実行可能ならば、可能な状
態が「LOCKED」を含むことは、認識するであろ
う。所望されるならば、フィールド69は、モデル特定
の英数字フィールドを記憶するのに使用される。フィー
ルド70は、経過したネットワーク訓練時間のトラック
を保持する。
【0029】フィールド71〜74は、特定のニューラ
ル・ネットワーク・モデルによって異なって規定される
パラメータの異なる種類を有する。例えばフィールド7
1は、4個までのネットワーク・ブール・パラメータを
含む。一例として、バック・プロパゲーション・ニュー
ラル・ネットワーク・モデルは、EPOCH更新および
ランダム入力がイネーブルあるいはディスエーブルの何
れであるかを決定するために、これらのパラメータの二
つを使用する。これらのネットワーク・ブール・パラメ
ータは、ネットワーク・フラグとしても知られている。
当然のことながら、所望であれば、この発明の実施例に
示されているものよりも、少数のあるいは多数のパラメ
ータに適応するように、フィールド71がより大きくあ
るいは小さくても良い。フィールド72は、好ましく
は、ネットワーク・サイズ・パラメータを特定し、ま
た、5個までのモデル特定ネットワーク・サイズ・エナ
ジャイザ・パラメータを含む。フィールド73は、5個
までのモデル特定ネットワーク索引エナジャイザ・パラ
メータを含み、また、フィールド74は、「学習レー
ト」、「モーメンタム」、「EPOCHエラー」等のよ
うな6個までのモデル特定ネットワーク訓練実パラメー
タを含む。
ル・ネットワーク・モデルによって異なって規定される
パラメータの異なる種類を有する。例えばフィールド7
1は、4個までのネットワーク・ブール・パラメータを
含む。一例として、バック・プロパゲーション・ニュー
ラル・ネットワーク・モデルは、EPOCH更新および
ランダム入力がイネーブルあるいはディスエーブルの何
れであるかを決定するために、これらのパラメータの二
つを使用する。これらのネットワーク・ブール・パラメ
ータは、ネットワーク・フラグとしても知られている。
当然のことながら、所望であれば、この発明の実施例に
示されているものよりも、少数のあるいは多数のパラメ
ータに適応するように、フィールド71がより大きくあ
るいは小さくても良い。フィールド72は、好ましく
は、ネットワーク・サイズ・パラメータを特定し、ま
た、5個までのモデル特定ネットワーク・サイズ・エナ
ジャイザ・パラメータを含む。フィールド73は、5個
までのモデル特定ネットワーク索引エナジャイザ・パラ
メータを含み、また、フィールド74は、「学習レー
ト」、「モーメンタム」、「EPOCHエラー」等のよ
うな6個までのモデル特定ネットワーク訓練実パラメー
タを含む。
【0030】ヘッダ部分60内のフィールド75は、好
ましくは、ニューラル・ネットワークの訓練EPOCH
の数のトラックを保持するのに使用される。なお、EP
OCHは、訓練データの集合の終わりまでの完全な反復
である。望ましくは、フィールド76は、本体部分90
内の各モデル特定アレイの開始までのバイト内のオフセ
ットのアレイを特定する。フィールド77は、本体部分
90内の各モデル特定アレイの開始までの解決済みポイ
ンタのアレイを含む。最後に、フィールド78は、各ア
レイ内に保持されるデータの種類を記述するパラメータ
のアレイを含む。例えばあるニューラル・モデルは、2
進入力のみを受け入れる。この発明の実施例では、若
し、フィールド78内のパラメータが“1”を含むなら
ば、その対応するアレイがビットマップされたデータを
含む。若し、フィールド78内のパラメータが“2”を
含むならば、その対応するアレイが単精度浮動小数点デ
ータを含む。若し、フィールド78内のパラメータが
“3”を含むならば、その対応するアレイが固定小数点
ゾーン10進データを含む。当業者にとって知られてい
るように、記憶装置のより効率的に使用するために、こ
れらのパラメータが用いられる。
ましくは、ニューラル・ネットワークの訓練EPOCH
の数のトラックを保持するのに使用される。なお、EP
OCHは、訓練データの集合の終わりまでの完全な反復
である。望ましくは、フィールド76は、本体部分90
内の各モデル特定アレイの開始までのバイト内のオフセ
ットのアレイを特定する。フィールド77は、本体部分
90内の各モデル特定アレイの開始までの解決済みポイ
ンタのアレイを含む。最後に、フィールド78は、各ア
レイ内に保持されるデータの種類を記述するパラメータ
のアレイを含む。例えばあるニューラル・モデルは、2
進入力のみを受け入れる。この発明の実施例では、若
し、フィールド78内のパラメータが“1”を含むなら
ば、その対応するアレイがビットマップされたデータを
含む。若し、フィールド78内のパラメータが“2”を
含むならば、その対応するアレイが単精度浮動小数点デ
ータを含む。若し、フィールド78内のパラメータが
“3”を含むならば、その対応するアレイが固定小数点
ゾーン10進データを含む。当業者にとって知られてい
るように、記憶装置のより効率的に使用するために、こ
れらのパラメータが用いられる。
【0031】なおも、図5を参照しながら、データ構造
50の本体部分90について説明しよう。この本体部分
90は、好ましくは、多数のモデル特定アレイを含む可
変長データ領域である。上述の参照文献「AS/400
ニューラル・ネットワーク・ユーティリティ」(ユー
ザズガイドおよびリファレンス PRPQ P84189)に
は、典型的なニューラル・ネットワーク・モデルのそれ
ぞれに関するヘッダ部分60および本体部分90にマッ
ピングされたアレイが示されている。一例として、バッ
ク・プロパゲーション・モデルは、本体部分90に対し
て、11個のアレイをマッピングしている。これらは、
例えば活動化、重み、しきい値、重みデルタ、および上
述のユーザズガイドの103頁の表題「アレイマッピン
グ」に示されている数個の他のものである。
50の本体部分90について説明しよう。この本体部分
90は、好ましくは、多数のモデル特定アレイを含む可
変長データ領域である。上述の参照文献「AS/400
ニューラル・ネットワーク・ユーティリティ」(ユー
ザズガイドおよびリファレンス PRPQ P84189)に
は、典型的なニューラル・ネットワーク・モデルのそれ
ぞれに関するヘッダ部分60および本体部分90にマッ
ピングされたアレイが示されている。一例として、バッ
ク・プロパゲーション・モデルは、本体部分90に対し
て、11個のアレイをマッピングしている。これらは、
例えば活動化、重み、しきい値、重みデルタ、および上
述のユーザズガイドの103頁の表題「アレイマッピン
グ」に示されている数個の他のものである。
【0032】データ構造50は、好ましくは、以下に詳
細に述べられているニューラル・ネットワーク作成(C
reat Neural Network)ユーティリ
ティ・プログラムを用いることによって作成される。教
示および実行(Teachand Run)ユーティリ
ティ・プログラムがデータ構造50内に含まれるヘッダ
情報をアクセスし、データ領域アレイに対するポインタ
を初期化する。それからデータ領域アレイ内のデータ
は、ニューラル・ネットワーク訓練および計算処理のシ
ミュレーションにおいて順番に使用される。
細に述べられているニューラル・ネットワーク作成(C
reat Neural Network)ユーティリ
ティ・プログラムを用いることによって作成される。教
示および実行(Teachand Run)ユーティリ
ティ・プログラムがデータ構造50内に含まれるヘッダ
情報をアクセスし、データ領域アレイに対するポインタ
を初期化する。それからデータ領域アレイ内のデータ
は、ニューラル・ネットワーク訓練および計算処理のシ
ミュレーションにおいて順番に使用される。
【0033】図6から図17は、この発明の方法および
システムを実現するのに使用されるニューラル・ネット
ワーク・ユーティリティをハイレベル・フローチャート
の形式で示す。上述のように、このニューラル・ネット
ワークは、適切にプログラミングされた主プロセッサ1
1および/または補助プロセッサ13を用いて実現され
る。図6は、ニューラル・ネットワーク・アプリケーシ
ョン・プログラムの開発処理における主たるステップの
概観を例示する。図6に示される処理は、ブロック10
0で始まり、その後で新ニューラル・ネットワーク・モ
デルが定義されるかどうかの決定を図示する、ブロック
110に移る。若しそうならば、ブロック200がニュ
ーラル・ネットワーク・モデル定義(Define N
eural Network Model)サブルーチ
ンの呼び出しを図示する。若し、新ニューラル・ネット
ワークが規定されていなければ、処理がブロック120
へ移る。ブロック120は、ユーザがニューラル・ネッ
トワーク・データ構造の作成を望むかどうかの決定を図
示する。各ニューラル・ネットワークがニューラル・ネ
ットワーク・データ構造を要求することは、当業者にと
って分かるであろう。ブロック120内に示される決定
がニューラル・ネットワーク・データ構造の作成である
場合には、処理がブロック300に移行する。ブロック
300は、ニューラル・ネットワーク・データ構造作成
(Create Neural Network Da
ta Structure)サブルーチン(図11、1
2)の呼び出しを図示する。
システムを実現するのに使用されるニューラル・ネット
ワーク・ユーティリティをハイレベル・フローチャート
の形式で示す。上述のように、このニューラル・ネット
ワークは、適切にプログラミングされた主プロセッサ1
1および/または補助プロセッサ13を用いて実現され
る。図6は、ニューラル・ネットワーク・アプリケーシ
ョン・プログラムの開発処理における主たるステップの
概観を例示する。図6に示される処理は、ブロック10
0で始まり、その後で新ニューラル・ネットワーク・モ
デルが定義されるかどうかの決定を図示する、ブロック
110に移る。若しそうならば、ブロック200がニュ
ーラル・ネットワーク・モデル定義(Define N
eural Network Model)サブルーチ
ンの呼び出しを図示する。若し、新ニューラル・ネット
ワークが規定されていなければ、処理がブロック120
へ移る。ブロック120は、ユーザがニューラル・ネッ
トワーク・データ構造の作成を望むかどうかの決定を図
示する。各ニューラル・ネットワークがニューラル・ネ
ットワーク・データ構造を要求することは、当業者にと
って分かるであろう。ブロック120内に示される決定
がニューラル・ネットワーク・データ構造の作成である
場合には、処理がブロック300に移行する。ブロック
300は、ニューラル・ネットワーク・データ構造作成
(Create Neural Network Da
ta Structure)サブルーチン(図11、1
2)の呼び出しを図示する。
【0034】図示される決定がニューラル・ネットワー
ク・モデルあるいはニューラル・ネットワーク・データ
構造の何れも作成しないものである場合には、処理がブ
ロック130に移る。ブロック130は、ユーザがニュ
ーラル・ネットワークの訓練を希望するかどうかの決定
を図示する。当業者にとって、ニューラル・ネットワー
クが訓練データによって訓練されるべきであり、その結
果、それが入力データと期待出力結果との間の関係を学
習し、または、入力データから関係する機能を抽出する
ために学習することは、理解されよう。若し、ニューラ
ル・ネットワークが訓練されるのであれば、処理は、ニ
ューラル・ネットワーク教示(Teach Neura
l Network)サブルーチン(図13、14、1
5)を呼び出す、ブロック400へ移る。ニューラル・
ネットワークが訓練されるものでないときには、処理
は、ユーザがニューラル・ネットワークを実行したいか
どうかの決定を示す、ブロック150に移行する。そう
であれば、処理がブロック500へ移り、ニューラル・
ネットワーク実行(Run Neural Netwo
rk)サブルーチン(図16、17参照)が呼び出され
る。そうでないときには、処理は、ブロック190で示
すように完了する。
ク・モデルあるいはニューラル・ネットワーク・データ
構造の何れも作成しないものである場合には、処理がブ
ロック130に移る。ブロック130は、ユーザがニュ
ーラル・ネットワークの訓練を希望するかどうかの決定
を図示する。当業者にとって、ニューラル・ネットワー
クが訓練データによって訓練されるべきであり、その結
果、それが入力データと期待出力結果との間の関係を学
習し、または、入力データから関係する機能を抽出する
ために学習することは、理解されよう。若し、ニューラ
ル・ネットワークが訓練されるのであれば、処理は、ニ
ューラル・ネットワーク教示(Teach Neura
l Network)サブルーチン(図13、14、1
5)を呼び出す、ブロック400へ移る。ニューラル・
ネットワークが訓練されるものでないときには、処理
は、ユーザがニューラル・ネットワークを実行したいか
どうかの決定を示す、ブロック150に移行する。そう
であれば、処理がブロック500へ移り、ニューラル・
ネットワーク実行(Run Neural Netwo
rk)サブルーチン(図16、17参照)が呼び出され
る。そうでないときには、処理は、ブロック190で示
すように完了する。
【0035】さて、図7および8を参照して、図6中に
参照されているニューラル・ネットワーク定義サブルー
チン200について説明する。ここでの説明のために、
アンチ・エイリアシング・ニューラル・ネットワーク
は、バック・プロパゲーション・ニューラル・ネットワ
ーク・モデルを用いて定義されている。そして、処理
は、所望するならば、ネットワーク文字列フィールド6
9に対するニューラル・ネットワーク・モデル特定意味
の割当てを図示する、ブロック201へ移行する。この
フィールドが不要なネットワークにおいては、ヌル(n
ull)文字列が割り当てられる。次に、処理がブロッ
ク202へ移行する。ブロック202は、ブール・パラ
メータ・フィールド71(図5参照)に対してニューラ
ル・ネットワーク特定意味の割当てを図示する。この発
明の記述の実施例に関して、二つのブール・パラメータ
・フィールドが割り当てられる。すなわち、EPOCH
更新Nと、ランダム入力Yとである。次に、ブロック2
03は、図5に示すニューラル・ネットワーク・データ
構造のフィールド72内に示されるネットワーク・サイ
ズ・パラメータに対するニューラル・ネットワーク・モ
デル特定意味の割当てを示す。
参照されているニューラル・ネットワーク定義サブルー
チン200について説明する。ここでの説明のために、
アンチ・エイリアシング・ニューラル・ネットワーク
は、バック・プロパゲーション・ニューラル・ネットワ
ーク・モデルを用いて定義されている。そして、処理
は、所望するならば、ネットワーク文字列フィールド6
9に対するニューラル・ネットワーク・モデル特定意味
の割当てを図示する、ブロック201へ移行する。この
フィールドが不要なネットワークにおいては、ヌル(n
ull)文字列が割り当てられる。次に、処理がブロッ
ク202へ移行する。ブロック202は、ブール・パラ
メータ・フィールド71(図5参照)に対してニューラ
ル・ネットワーク特定意味の割当てを図示する。この発
明の記述の実施例に関して、二つのブール・パラメータ
・フィールドが割り当てられる。すなわち、EPOCH
更新Nと、ランダム入力Yとである。次に、ブロック2
03は、図5に示すニューラル・ネットワーク・データ
構造のフィールド72内に示されるネットワーク・サイ
ズ・パラメータに対するニューラル・ネットワーク・モ
デル特定意味の割当てを示す。
【0036】この発明の記述の実施例では、ネットワー
ク・サイズ・パラメータ・フィールド72に対して5個
のパラメータが割り当てられる。すなわち、入力数、隠
れ層1内の単位数、隠れ層2内の単位数、出力数、およ
び処理単位数である。当業者は、特定のニューラル・ネ
ットワークを実現するために、他の数の隠れ層を使用し
ても良いことは、当然分かるであろう。次に、ブロック
204は、ネットワーク索引パラメータ・フィールド7
3に対するニューラル・ネットワーク・モデル特定の意
味の割当てを示す。この発明の記述の実施例では、次の
パラメータが割り当てられる。すなわち、最初の隠れ単
位1、最後の隠れ単位1、最初の隠れ単位2、最後の隠
れ単位2、および最初の出力である。次に、ブロック2
05は、フィールド74内のネットワーク訓練パラメー
タに対するニューラル・ネットワーク・モデル特定の意
味の割当てを図示する。この発明の記述の実施例では、
次のパラメータが割り当てられる。すなわち、学習レー
ト、モーメンタム、パターンエラー、EPOCHエラ
ー、およびトレランスである。次に、ブロック206
は、フィールド76内にリストされたネットワーク・ア
レイ・オフセットに対するニューラル・ネットワーク・
モデル特定の意味の割当てを示す。バック・プロパゲー
ション・ニューラル・ネットワーク・モデルでは、定義
されるデータ・アレイが11個存在するので、このフィ
ールドは、データ構造50(図5参照)の本体部分90
内に位置付けられている11個のアレイのそれぞれの最
初の要素までのバイト・オフセットを含む。
ク・サイズ・パラメータ・フィールド72に対して5個
のパラメータが割り当てられる。すなわち、入力数、隠
れ層1内の単位数、隠れ層2内の単位数、出力数、およ
び処理単位数である。当業者は、特定のニューラル・ネ
ットワークを実現するために、他の数の隠れ層を使用し
ても良いことは、当然分かるであろう。次に、ブロック
204は、ネットワーク索引パラメータ・フィールド7
3に対するニューラル・ネットワーク・モデル特定の意
味の割当てを示す。この発明の記述の実施例では、次の
パラメータが割り当てられる。すなわち、最初の隠れ単
位1、最後の隠れ単位1、最初の隠れ単位2、最後の隠
れ単位2、および最初の出力である。次に、ブロック2
05は、フィールド74内のネットワーク訓練パラメー
タに対するニューラル・ネットワーク・モデル特定の意
味の割当てを図示する。この発明の記述の実施例では、
次のパラメータが割り当てられる。すなわち、学習レー
ト、モーメンタム、パターンエラー、EPOCHエラ
ー、およびトレランスである。次に、ブロック206
は、フィールド76内にリストされたネットワーク・ア
レイ・オフセットに対するニューラル・ネットワーク・
モデル特定の意味の割当てを示す。バック・プロパゲー
ション・ニューラル・ネットワーク・モデルでは、定義
されるデータ・アレイが11個存在するので、このフィ
ールドは、データ構造50(図5参照)の本体部分90
内に位置付けられている11個のアレイのそれぞれの最
初の要素までのバイト・オフセットを含む。
【0037】引き続いて、図7を参照すると、ブロック
210は、図8のニューラル・ネットワーク・モデル作
成プログラム構築(Build Neural Net
work Model Create Progra
m)サブルーチンの呼び出しを図示する。さて、図8を
参照すると、ここに示されるサブルーチンは、モデル特
定ルーチンが構築され、その結果、それらがそのニュー
ラル・ネットワーク作成データ構造サブルーチン(図1
1、12)によって後で実行されることを要求する。図
8中のブロック211は、ニューラル・ネットワークに
特有のパラメータ情報をユーザが追加することを要求す
る簡単なサブルーチンの提供と、その情報がエラーであ
り、矛盾したパラメータ値であることの検査とを示す。
一例として、ブロック211は、入力単位数、第1の層
内の隠れ単位数、第2の層内の隠れ単位数、および出力
単位数のようなパラメータについての情報をユーザが追
加することを要求するのに使用される、ディスプレイ1
9(図1参照)内のスクリーンを作成するルーチンを提
供する。
210は、図8のニューラル・ネットワーク・モデル作
成プログラム構築(Build Neural Net
work Model Create Progra
m)サブルーチンの呼び出しを図示する。さて、図8を
参照すると、ここに示されるサブルーチンは、モデル特
定ルーチンが構築され、その結果、それらがそのニュー
ラル・ネットワーク作成データ構造サブルーチン(図1
1、12)によって後で実行されることを要求する。図
8中のブロック211は、ニューラル・ネットワークに
特有のパラメータ情報をユーザが追加することを要求す
る簡単なサブルーチンの提供と、その情報がエラーであ
り、矛盾したパラメータ値であることの検査とを示す。
一例として、ブロック211は、入力単位数、第1の層
内の隠れ単位数、第2の層内の隠れ単位数、および出力
単位数のようなパラメータについての情報をユーザが追
加することを要求するのに使用される、ディスプレイ1
9(図1参照)内のスクリーンを作成するルーチンを提
供する。
【0038】なおも、図8を参照すると、ブロック21
2は、作成されるニューラル・ネットワーク・モデルの
ための省略時ニューラル・ネットワーク・データ構造を
作成するために、省略時パラメータ値によって一般ニュ
ーラル・ネットワーク・データ構造を初期化するのに使
用される、ルーチンの提供を図示する。全てのニューラ
ル・ネットワーク・モデルは、同一の一般ニューラル・
ネットワーク・データ構造を有する。各個別ニューラル
・ネットワーク・モデルは、それ自身に固有の省略時デ
ータ構造を有することがある。従って、同一のニューラ
ル・ネットワーク・モデル(バック・プロパゲーション
のようなもの)を利用する全てのニューラル・ネットワ
ーク・アプリケーション・プログラムは、同一の省略時
ニューラル・ネットワーク・データ構造内へ固有のパラ
メータ値を必ず入力する。
2は、作成されるニューラル・ネットワーク・モデルの
ための省略時ニューラル・ネットワーク・データ構造を
作成するために、省略時パラメータ値によって一般ニュ
ーラル・ネットワーク・データ構造を初期化するのに使
用される、ルーチンの提供を図示する。全てのニューラ
ル・ネットワーク・モデルは、同一の一般ニューラル・
ネットワーク・データ構造を有する。各個別ニューラル
・ネットワーク・モデルは、それ自身に固有の省略時デ
ータ構造を有することがある。従って、同一のニューラ
ル・ネットワーク・モデル(バック・プロパゲーション
のようなもの)を利用する全てのニューラル・ネットワ
ーク・アプリケーション・プログラムは、同一の省略時
ニューラル・ネットワーク・データ構造内へ固有のパラ
メータ値を必ず入力する。
【0039】最後に、ブロック213は、固有の名前を
割り当て、そのプログラムを記憶装置12(図1参照)
へ書込むことによって、このサブルーチン内に構築され
たニューラル・ネットワーク・モデル作成プログラムを
保管することを示す。この発明の記述の実施例では、こ
のプログラムは、データ構造のアクセス能力が保持され
る限りで、任意の言語で書かれる。この後に、ブロック
219は、図7のブロック230へ戻ることを示す。
割り当て、そのプログラムを記憶装置12(図1参照)
へ書込むことによって、このサブルーチン内に構築され
たニューラル・ネットワーク・モデル作成プログラムを
保管することを示す。この発明の記述の実施例では、こ
のプログラムは、データ構造のアクセス能力が保持され
る限りで、任意の言語で書かれる。この後に、ブロック
219は、図7のブロック230へ戻ることを示す。
【0040】図7内のブロック230は、図9のニュー
ラル・ネットワーク・モデル教示プログラム構築サブル
ーチンの関与を示す。従って、図9を参照すると、ブロ
ック230によって図示されるサブルーチンは、それら
が後でニューラル・ネットワーク教示サブルーチン(図
13、14、15)によって実行されるために、モデル
特定サブルーチンが書かれることを要求するように見え
る。ブロック231は、図5内のデータ構造50のフィ
ールド77内のネットワーク・アレイ・ポインタを初期
化するために使用される簡単なルーチンの提供を図示す
る。次に、ブロック232は、ネットワーク・サイズ、
索引および訓練パラメータを図5のフィールド72〜7
4、ローカル変数内へコピーするためのルーチンを提供
する。これは、性能およびプログラミング信頼性を改善
するために、遂行される。そして、ブロック233は、
ニューラル・ネットワークを初期化するルーチンの提供
を図示する。この初期化は、ニューラル・ネットワーク
・プログラミングによって使用されるカウンタおよび変
数を初期化するために利用される。若し、ネットワーク
状態フィールド68が「初期化される」であれば、ブロ
ック233は、データ・アレイ値(適応接続重み)の初
期化をも示し、その後でネットワーク状態フィールド6
8内の状態を「初期化される」から「訓練」へと変更す
る。
ラル・ネットワーク・モデル教示プログラム構築サブル
ーチンの関与を示す。従って、図9を参照すると、ブロ
ック230によって図示されるサブルーチンは、それら
が後でニューラル・ネットワーク教示サブルーチン(図
13、14、15)によって実行されるために、モデル
特定サブルーチンが書かれることを要求するように見え
る。ブロック231は、図5内のデータ構造50のフィ
ールド77内のネットワーク・アレイ・ポインタを初期
化するために使用される簡単なルーチンの提供を図示す
る。次に、ブロック232は、ネットワーク・サイズ、
索引および訓練パラメータを図5のフィールド72〜7
4、ローカル変数内へコピーするためのルーチンを提供
する。これは、性能およびプログラミング信頼性を改善
するために、遂行される。そして、ブロック233は、
ニューラル・ネットワークを初期化するルーチンの提供
を図示する。この初期化は、ニューラル・ネットワーク
・プログラミングによって使用されるカウンタおよび変
数を初期化するために利用される。若し、ネットワーク
状態フィールド68が「初期化される」であれば、ブロ
ック233は、データ・アレイ値(適応接続重み)の初
期化をも示し、その後でネットワーク状態フィールド6
8内の状態を「初期化される」から「訓練」へと変更す
る。
【0041】なおも、図9を参照すると、ブロック23
4は、ニューラル・ネットワーク・モデルのために単一
教示ステップを行うルーチンの提供を図示する。このル
ーチンは、好ましくは、そのニューラル・ネットワーク
に高度に依存するメカニズムを提供する。このメカニズ
ムは、本体部分90のデータ・アレイ中のデータの値を
調整するのに使用され、その結果、ネットワークが期待
される機能を学習する。ニューラル・ネットワークの当
業者には、その重み調整手順のニューラル・ネットワー
ク記述が選択されたコンピュータ言語を使用するコンピ
ュータ・プログラムへ簡単に変換され、その後にここに
述べられる方法でデータ構造をアクセスするのに使用さ
れることが分かるであろう。
4は、ニューラル・ネットワーク・モデルのために単一
教示ステップを行うルーチンの提供を図示する。このル
ーチンは、好ましくは、そのニューラル・ネットワーク
に高度に依存するメカニズムを提供する。このメカニズ
ムは、本体部分90のデータ・アレイ中のデータの値を
調整するのに使用され、その結果、ネットワークが期待
される機能を学習する。ニューラル・ネットワークの当
業者には、その重み調整手順のニューラル・ネットワー
ク記述が選択されたコンピュータ言語を使用するコンピ
ュータ・プログラムへ簡単に変換され、その後にここに
述べられる方法でデータ構造をアクセスするのに使用さ
れることが分かるであろう。
【0042】図9内のブロック235は、訓練EPOC
H処理が完了した時になされるルーチンの提供を示す。
このルーチンは、変数のリセットのような単純な終結手
順から、選択されたニューラル・ネットワーク・モデル
に依存する、データ・アレイ値のより複雑な調整まで、
複雑に変化する。当業者は、EPOCH処理が他のニュ
ーラル・ネットワーク・モデル記述において完了する方
法の記述が特に選択されたコンピュータ言語を使用する
コンピュータ・プログラムへ簡単に変換され、この発明
の方法およびシステムを実現するために使用されること
が分かるであろう。
H処理が完了した時になされるルーチンの提供を示す。
このルーチンは、変数のリセットのような単純な終結手
順から、選択されたニューラル・ネットワーク・モデル
に依存する、データ・アレイ値のより複雑な調整まで、
複雑に変化する。当業者は、EPOCH処理が他のニュ
ーラル・ネットワーク・モデル記述において完了する方
法の記述が特に選択されたコンピュータ言語を使用する
コンピュータ・プログラムへ簡単に変換され、この発明
の方法およびシステムを実現するために使用されること
が分かるであろう。
【0043】最後に、ブロック236は、固有の名前を
割り当て、そのプログラムを記憶装置へ書込むことによ
って、図9のサブルーチンを使用して構成されたニュー
ラル・ネットワーク教示プログラムを保管することを示
す。そして、ブロック239は、図7のブロック250
へのプログラムの戻りを示す。
割り当て、そのプログラムを記憶装置へ書込むことによ
って、図9のサブルーチンを使用して構成されたニュー
ラル・ネットワーク教示プログラムを保管することを示
す。そして、ブロック239は、図7のブロック250
へのプログラムの戻りを示す。
【0044】図7内のブロック250が図10に示され
る、ニューラル・ネットワーク・モデル実行プログラム
構築(Build Neural Network m
odel Run Program)サブルーチンを呼
び出す。さて、図10を参照すると、そこに示されるサ
ブルーチンは、モデル特定サブルーチンが書かれ、その
結果、それらが後で、図13、14、15内に示される
ニューラル・ネットワーク実行サブルーチンによって実
行されることを要求するように見える。ブロック251
は、図5内のデータ構造50のフィールド77内のネッ
トワーク・アレイ・ポインタを初期化するために使用さ
れる簡単なルーチンの提供を示す。ブロック252は、
データ構造50のフィールド72〜74で使用するため
に、ネットワーク・サイズ、索引および訓練パラメータ
をローカル変数内へコピーするためのルーチンを提供す
る。次に、ブロック253は、入力データをニューラル
・ネットワークへ渡すのに使用されるルーチンの提供を
示す。ブロック254は、出力結果をニューラル・ネッ
トワーク実行サブルーチンへ戻し、その後に、ブロック
255は、上述のように、固有の名前を割り当て、ま
た、そのプログラムを記憶装置へ書込むことによって、
図10に示されるサブルーチンに従って構成されたニュ
ーラル・ネットワーク実行プログラムを保管することを
示す。そして、ブロック259は、図7のブロック26
0へ戻る。
る、ニューラル・ネットワーク・モデル実行プログラム
構築(Build Neural Network m
odel Run Program)サブルーチンを呼
び出す。さて、図10を参照すると、そこに示されるサ
ブルーチンは、モデル特定サブルーチンが書かれ、その
結果、それらが後で、図13、14、15内に示される
ニューラル・ネットワーク実行サブルーチンによって実
行されることを要求するように見える。ブロック251
は、図5内のデータ構造50のフィールド77内のネッ
トワーク・アレイ・ポインタを初期化するために使用さ
れる簡単なルーチンの提供を示す。ブロック252は、
データ構造50のフィールド72〜74で使用するため
に、ネットワーク・サイズ、索引および訓練パラメータ
をローカル変数内へコピーするためのルーチンを提供す
る。次に、ブロック253は、入力データをニューラル
・ネットワークへ渡すのに使用されるルーチンの提供を
示す。ブロック254は、出力結果をニューラル・ネッ
トワーク実行サブルーチンへ戻し、その後に、ブロック
255は、上述のように、固有の名前を割り当て、ま
た、そのプログラムを記憶装置へ書込むことによって、
図10に示されるサブルーチンに従って構成されたニュ
ーラル・ネットワーク実行プログラムを保管することを
示す。そして、ブロック259は、図7のブロック26
0へ戻る。
【0045】図7中のブロック260は、記憶装置内に
保管されているモデル定義ファイルに対してブロック2
13、236および255で図示のように保管されてい
る、ニューラル・ネットワーク・モデル名と、このモデ
ルに関しての作成、教示および実行プログラムの名前と
を入力することを図示する。この後で、ブロック270
が図6のブロック120へ戻る。
保管されているモデル定義ファイルに対してブロック2
13、236および255で図示のように保管されてい
る、ニューラル・ネットワーク・モデル名と、このモデ
ルに関しての作成、教示および実行プログラムの名前と
を入力することを図示する。この後で、ブロック270
が図6のブロック120へ戻る。
【0046】開発者あるいはユーザの便宜のために、複
数ニューラル・ネットワーク・モデルが事前定義されて
いる。上述の引用参考文献に述べられている事前定義モ
デルは、共鳴音適応バック・プロパゲーション理論(Ba
ck Propagation Adaptive Resonants Theory) 、自己編
成機能マップ(Self Organizing Feature Maps) 、自己
編成TSPネットワーク(Self-Organizing TSP networ
ks) 、および双方向連想メモリ(Bidirection Associat
ive Memories) である。従って、これらのモデルは、ニ
ューラル・ネットワーク・モデル・サブルーチン定義を
使用する時に、ユーザによって定義されなくても良い。
この発明の記述の実施例は、事前定義された上述のバッ
ク・プロパゲーション・モデルを使用するアンチ・エイ
リアシングの方法およびシステムを実現する。
数ニューラル・ネットワーク・モデルが事前定義されて
いる。上述の引用参考文献に述べられている事前定義モ
デルは、共鳴音適応バック・プロパゲーション理論(Ba
ck Propagation Adaptive Resonants Theory) 、自己編
成機能マップ(Self Organizing Feature Maps) 、自己
編成TSPネットワーク(Self-Organizing TSP networ
ks) 、および双方向連想メモリ(Bidirection Associat
ive Memories) である。従って、これらのモデルは、ニ
ューラル・ネットワーク・モデル・サブルーチン定義を
使用する時に、ユーザによって定義されなくても良い。
この発明の記述の実施例は、事前定義された上述のバッ
ク・プロパゲーション・モデルを使用するアンチ・エイ
リアシングの方法およびシステムを実現する。
【0047】再度、図6を参照すると、ブロック120
中に図示されるように、ユーザがニューラル・ネットワ
ーク・データ構造の作成を希望する場合では、処理は、
図11、図12に示されるニューラル・ネットワーク・
データ構造サブルーチン作成の寄与を図示するブロック
300へ移る。最初に図11を参照すると、ブロック3
01は、ユーザに対して、適切な指示スクリーンを使用
してニューラル・ネットワークの名前およびテキスト記
述情報の追加の要求を図示する。かかる要求に応答し
て、ユーザが上述のように、ニューラル・ネットワーク
の名前として「ALIS4」を入力する。そして、ブロ
ック302は、ユーザにニューラル・ネットワーク・モ
デルの名前の追加を要求する。それからユーザが上述の
ように、バック・プロパゲーション・ニューラル・ネッ
トワーク・モデルのための「*BKP」省略時を選択す
る。ここで述べるように、このニューラル・ネットワー
ク定義ファイルは、このモデルを含み、そして、ブロッ
ク330が図12に示されるように、このモデルのため
のモデル作成プログラム実行サブルーチンの寄与を図示
する。モデル作成プログラムは、図8に関して上述した
構築モデル作成サブルーチンを使用して準備される。望
ましくは、このモデルのための教示および実行プログラ
ムの名前と共に、このプログラムの名前が全てモデル定
義ファイル内に含まれる。
中に図示されるように、ユーザがニューラル・ネットワ
ーク・データ構造の作成を希望する場合では、処理は、
図11、図12に示されるニューラル・ネットワーク・
データ構造サブルーチン作成の寄与を図示するブロック
300へ移る。最初に図11を参照すると、ブロック3
01は、ユーザに対して、適切な指示スクリーンを使用
してニューラル・ネットワークの名前およびテキスト記
述情報の追加の要求を図示する。かかる要求に応答し
て、ユーザが上述のように、ニューラル・ネットワーク
の名前として「ALIS4」を入力する。そして、ブロ
ック302は、ユーザにニューラル・ネットワーク・モ
デルの名前の追加を要求する。それからユーザが上述の
ように、バック・プロパゲーション・ニューラル・ネッ
トワーク・モデルのための「*BKP」省略時を選択す
る。ここで述べるように、このニューラル・ネットワー
ク定義ファイルは、このモデルを含み、そして、ブロッ
ク330が図12に示されるように、このモデルのため
のモデル作成プログラム実行サブルーチンの寄与を図示
する。モデル作成プログラムは、図8に関して上述した
構築モデル作成サブルーチンを使用して準備される。望
ましくは、このモデルのための教示および実行プログラ
ムの名前と共に、このプログラムの名前が全てモデル定
義ファイル内に含まれる。
【0048】図12を参照すると、ブロック331は、
図8のブロック212で提供されたルーチンを実行する
ことによって、このニューラル・ネットワーク・モデル
のための省略時ニューラル・ネットワーク・データ構造
の作成を図示する。次に、ブロック332が適切な指示
スクリーンを使用してユーザにニューラル・ネットワー
ク特定パラメータの追加を要求する。この発明の好まし
い実施例では、ユーザが各画素に関して1つで、9個の
入力単位を特定する。また、ユーザは、それぞれが9個
の単位と一つの出力単位あるいはスケール・ファクタク
である、2個の隠れ層を規定する。当業者にとっては、
より少数あるいはより多数の隠れ層を有するニューラル
・ネットワークを使用しても良いことは、当然理解され
よう。然も、(5×5)画素アレイを表す25個の入力
単位、あるいは奇数画素による他の適当な自乗アレイの
ようなより多数の入力単位を使用しても良いことも、当
業者は、分かるであろう。勿論、より多数の画素は、必
然的に改良された分析解決を提供する。結果のニューラ
ル・ネットワークの各層内の隠れ層数および単位数は、
結果の品質に基づいて経験的に決定される。しかしなが
ら、実験によれば、入力層と等しい単位数を有する一つ
の隠れ層は、妥当な結果を生成する充分な計算性能を提
供するために利用可能なことが分かっている。
図8のブロック212で提供されたルーチンを実行する
ことによって、このニューラル・ネットワーク・モデル
のための省略時ニューラル・ネットワーク・データ構造
の作成を図示する。次に、ブロック332が適切な指示
スクリーンを使用してユーザにニューラル・ネットワー
ク特定パラメータの追加を要求する。この発明の好まし
い実施例では、ユーザが各画素に関して1つで、9個の
入力単位を特定する。また、ユーザは、それぞれが9個
の単位と一つの出力単位あるいはスケール・ファクタク
である、2個の隠れ層を規定する。当業者にとっては、
より少数あるいはより多数の隠れ層を有するニューラル
・ネットワークを使用しても良いことは、当然理解され
よう。然も、(5×5)画素アレイを表す25個の入力
単位、あるいは奇数画素による他の適当な自乗アレイの
ようなより多数の入力単位を使用しても良いことも、当
業者は、分かるであろう。勿論、より多数の画素は、必
然的に改良された分析解決を提供する。結果のニューラ
ル・ネットワークの各層内の隠れ層数および単位数は、
結果の品質に基づいて経験的に決定される。しかしなが
ら、実験によれば、入力層と等しい単位数を有する一つ
の隠れ層は、妥当な結果を生成する充分な計算性能を提
供するために利用可能なことが分かっている。
【0049】次に、訓練ファイルからの3個のサンプル
・ラインが図示される。ライン1内の最初の9個の値が
画素の矩形区画内の9個の画素グレイ・スケール値を表
す。そのラインの最後あるいは10番目の値がニューラ
ル・ネットワークが作成すべき期待訓練結果を表す。す
なわち、注目画素の代わりに用いられる値である。
・ラインが図示される。ライン1内の最初の9個の値が
画素の矩形区画内の9個の画素グレイ・スケール値を表
す。そのラインの最後あるいは10番目の値がニューラ
ル・ネットワークが作成すべき期待訓練結果を表す。す
なわち、注目画素の代わりに用いられる値である。
【0050】ライン1は、アレイ内の全画素グレイ・ス
ケール値が等しい時に、注目画素の修正を避けることを
ニューラル・ネットワークに教えるために利用される。
同様に、ライン2は、全画素が矩形区画の中央列に沿っ
て等しいグレイ・スケール値である時に、注目画素の修
正を避けることをニューラル・ネットワークに教える。
また、ライン3が近傍画素グレイ・スケール値に基づい
て注目画素を修正することをニューラル・ネットワーク
に教える。
ケール値が等しい時に、注目画素の修正を避けることを
ニューラル・ネットワークに教えるために利用される。
同様に、ライン2は、全画素が矩形区画の中央列に沿っ
て等しいグレイ・スケール値である時に、注目画素の修
正を避けることをニューラル・ネットワークに教える。
また、ライン3が近傍画素グレイ・スケール値に基づい
て注目画素を修正することをニューラル・ネットワーク
に教える。
【0051】 入 力 値 訓練値 ライン1 .066 .066 .066 .066 .066 .066 .066 .066 .066 .066 ライン2 1.00 1.00 1.00 .266 .266 .266 1.00 1.00 1.00 .266 ライン3 .000 .000 .933 .933 .000 .933 .933 .933 .933 .666
【0052】引き続いて、図12を参照すると、ブロッ
ク333がユーザが供給したパラメータが受入れ可能か
どうかの決定を図示する。図8のブロック211内に図
示されるルーチンは、ユーザにこれらのパラメータの追
加を要求するために使用され、また、そのルーチンは、
許可される出力単位数のようなユーザ入力について制限
を設ける。若し、ユーザがこれらの範囲外の値を入力す
るならば、ブロック333が処理をブロック334に渡
す。ブロック334は、エラーメッセージの生成を示
し、また、ブロック332で説明されるように、ユーザ
がデータを再入力することが依頼される。さらに、この
発明の記述の実施例においては、若し、矛盾するパラメ
ータ情報が提供されるならば、エラーメッセージが通知
される。若し、ユーザ供給パラメータが受入れ可能であ
れば、処理は、ブロック331で作成された省略時デー
タ構造内へ全てのユーザ提供パラメータを充填すること
を図示する、ブロック335に移る。
ク333がユーザが供給したパラメータが受入れ可能か
どうかの決定を図示する。図8のブロック211内に図
示されるルーチンは、ユーザにこれらのパラメータの追
加を要求するために使用され、また、そのルーチンは、
許可される出力単位数のようなユーザ入力について制限
を設ける。若し、ユーザがこれらの範囲外の値を入力す
るならば、ブロック333が処理をブロック334に渡
す。ブロック334は、エラーメッセージの生成を示
し、また、ブロック332で説明されるように、ユーザ
がデータを再入力することが依頼される。さらに、この
発明の記述の実施例においては、若し、矛盾するパラメ
ータ情報が提供されるならば、エラーメッセージが通知
される。若し、ユーザ供給パラメータが受入れ可能であ
れば、処理は、ブロック331で作成された省略時デー
タ構造内へ全てのユーザ提供パラメータを充填すること
を図示する、ブロック335に移る。
【0053】次に、ブロック336は、データ構造内に
現に存在しているデータに基づいて、図5のデータ構造
50のネットワーク索引パラメータ・フィールド73お
よびネットワーク・アレイ・オフセット・フィールド7
6を充填するために必要とされる計算を行うことを図示
する。ブロック337は、フィールド71内のブール・
パラメータとフィールド75内の訓練パラメータとを期
待される値の集合に初期化する。その後に、ブロック3
38は、図5のデータ構造50の本体部分90内に位置
するデータ・アレイ・フィールドの割当ておよび初期化
を図示する。バック・プロパゲーション・ニューラル・
ネットワーク・モデルでは、以下のアレイが一般的に割
り当てられる。すなわち、活動化、重み、しきい値、重
みデルタ、しきい値デルタ、教示、エラー、デルタ、ネ
ットワーク入力、派生重み、派生しきい値である。そし
て、これらの値は、全てブロック338内に示されるよ
うに初期化される。この後に、ニューラル・データ構造
は、全情報を含み、どのようにアンチ・エイリアシング
を行うかをニューラル・ネットワークに教える。そし
て、ブロック339で示すように、図12内に示される
サブルーチンが図11のブロック305へ戻る。図11
のブロック305は、図6のブロック130への戻りを
図示する。
現に存在しているデータに基づいて、図5のデータ構造
50のネットワーク索引パラメータ・フィールド73お
よびネットワーク・アレイ・オフセット・フィールド7
6を充填するために必要とされる計算を行うことを図示
する。ブロック337は、フィールド71内のブール・
パラメータとフィールド75内の訓練パラメータとを期
待される値の集合に初期化する。その後に、ブロック3
38は、図5のデータ構造50の本体部分90内に位置
するデータ・アレイ・フィールドの割当ておよび初期化
を図示する。バック・プロパゲーション・ニューラル・
ネットワーク・モデルでは、以下のアレイが一般的に割
り当てられる。すなわち、活動化、重み、しきい値、重
みデルタ、しきい値デルタ、教示、エラー、デルタ、ネ
ットワーク入力、派生重み、派生しきい値である。そし
て、これらの値は、全てブロック338内に示されるよ
うに初期化される。この後に、ニューラル・データ構造
は、全情報を含み、どのようにアンチ・エイリアシング
を行うかをニューラル・ネットワークに教える。そし
て、ブロック339で示すように、図12内に示される
サブルーチンが図11のブロック305へ戻る。図11
のブロック305は、図6のブロック130への戻りを
図示する。
【0054】なお、ニューラル・データ構造が作成され
ると、教示および/または実行されるために、それが他
のコンピュータシステムへ転送される。第2のコンピュ
ータシステムは、ニューラル・ネットワーク・データ構
造を作成したコンピュータシステムとは、全く異なるア
ーキテクチャのもので、また、全く異なるオペレーティ
ング・システムを実行するもので良い。この柔軟性は、
データ構造が異なるコンピュータシステム間で汎用的に
使用されるデータを含むことによって可能である。
ると、教示および/または実行されるために、それが他
のコンピュータシステムへ転送される。第2のコンピュ
ータシステムは、ニューラル・ネットワーク・データ構
造を作成したコンピュータシステムとは、全く異なるア
ーキテクチャのもので、また、全く異なるオペレーティ
ング・システムを実行するもので良い。この柔軟性は、
データ構造が異なるコンピュータシステム間で汎用的に
使用されるデータを含むことによって可能である。
【0055】再び図6を参照すると、若し、ユーザがブ
ロック130で図示されるように、ニューラル・ネット
ワークを訓練することを希望すると、処理が図13、図
14、図15のニューラル・ネットワーク教示サブルー
チンの呼び出しを図示するブロック400まで処理が渡
される。最初に図13を参照すると、その中のブロック
401は、ユーザに対して適切な指示スクリーンを使用
してニューラル・ネットワークファイルの名前の追加の
要求を図示する。ユーザがニューラル・ネットワークの
名前を入力した後に、処理がブロック402へ移る。ブ
ロック402は、ブロック401でユーザによって特定
されたデータ構造が存在するか否かの決定を図示する。
存在しなければ、エラーメッセージが通知され、また、
ユーザがブロック401へ戻る。若し、特定されたデー
タ構造が存在するならば、ブロック403において、ユ
ーザに対して訓練データを含むデータの集合の追加を要
求する。これは、適切なスクリーンを使用することで遂
行され、そして、ユーザがデータ集合ファイル名を入力
する。
ロック130で図示されるように、ニューラル・ネット
ワークを訓練することを希望すると、処理が図13、図
14、図15のニューラル・ネットワーク教示サブルー
チンの呼び出しを図示するブロック400まで処理が渡
される。最初に図13を参照すると、その中のブロック
401は、ユーザに対して適切な指示スクリーンを使用
してニューラル・ネットワークファイルの名前の追加の
要求を図示する。ユーザがニューラル・ネットワークの
名前を入力した後に、処理がブロック402へ移る。ブ
ロック402は、ブロック401でユーザによって特定
されたデータ構造が存在するか否かの決定を図示する。
存在しなければ、エラーメッセージが通知され、また、
ユーザがブロック401へ戻る。若し、特定されたデー
タ構造が存在するならば、ブロック403において、ユ
ーザに対して訓練データを含むデータの集合の追加を要
求する。これは、適切なスクリーンを使用することで遂
行され、そして、ユーザがデータ集合ファイル名を入力
する。
【0056】一時的に図18を参照すると、ここには、
この発明の実施例で使用された訓練データ集合サンプル
が示される。初期訓練データは、アンチ・エイリアシン
グの既知の方法を参照することによって、手動で生成さ
れる。一例として、図18に示される初期ニューラル・
ネットワーク訓練データが以下のように作成された。
この発明の実施例で使用された訓練データ集合サンプル
が示される。初期訓練データは、アンチ・エイリアシン
グの既知の方法を参照することによって、手動で生成さ
れる。一例として、図18に示される初期ニューラル・
ネットワーク訓練データが以下のように作成された。
【0057】(1)1組の訓練パターンは、その区画内
の全画素が等しい値である全てのケースを含むために、
手動で作成された。期待される結果は、注目画素が変化
しないことである。
の全画素が等しい値である全てのケースを含むために、
手動で作成された。期待される結果は、注目画素が変化
しないことである。
【0058】(2)注目画素を含む画素の行、列あるい
は斜め線が等しいグレイ・スケール値を持つケースに関
して、手動で作成された。再度、期待される結果は、注
目画素が変化しないことである。
は斜め線が等しいグレイ・スケール値を持つケースに関
して、手動で作成された。再度、期待される結果は、注
目画素が変化しないことである。
【0059】(3)プログラムが書き出された。このプ
ログラムは、9画素の各区画に関して任意の図形グレイ
・スケールイメージを作成し、訓練パターンを生成し
た。これらは、上述のパラグラフ1および2で指定され
るケースとは等価でない。注目画素の訓練値は、その区
画内で全てのグレイ・スケール値の平均として計算さ
れ、注目画素の初期値の画素がその区画内の他の画素の
任意の倍数で重み付けられる。
ログラムは、9画素の各区画に関して任意の図形グレイ
・スケールイメージを作成し、訓練パターンを生成し
た。これらは、上述のパラグラフ1および2で指定され
るケースとは等価でない。注目画素の訓練値は、その区
画内で全てのグレイ・スケール値の平均として計算さ
れ、注目画素の初期値の画素がその区画内の他の画素の
任意の倍数で重み付けられる。
【0060】(4)最後に、改良された訓練パターン生
成プログラムが作成された。これは、任意の角度で数個
の短い線を有する、2個の等価な線描画を生じさせる。
第1の線は、標準的線描画アルゴリズムを使用して描か
れ、各画素は、「一定」グレイ・スケール値とされる。
そして、第2の線は、適切にグレイ・スケール値を「変
更」することによって、より滑らかな線を作成する、修
正された線描画アルゴリズムを使用して描かれる。一例
として、「グレイ・スケールによるブレゼンハムのアル
ゴリズム」( Bresenham璽s Algori
thm With Grayscale”,M.L.
V.Pitteway) 、および「ACMの通信」(
Communications of the ACM",D.J.Watkinson,Technical
Note-Graphic and Image Processing November 1980,V
olume 23,No.11)を参照されたい。第1の「一定」グレ
イ・スケール線画素は、注目画素にとって、入力画素値
として役立つ。第2の且つ線の等価な集合の「変更」グ
レイ・スケール値は、注目画素にとって、他の近傍画素
値および訓練値として役立つ。この訓練パターン生成プ
ログラムの結果は、上述のパラグラフ3で使用される任
意の重み付けを避ける、訓練パターンの完全に正確な集
合である。
成プログラムが作成された。これは、任意の角度で数個
の短い線を有する、2個の等価な線描画を生じさせる。
第1の線は、標準的線描画アルゴリズムを使用して描か
れ、各画素は、「一定」グレイ・スケール値とされる。
そして、第2の線は、適切にグレイ・スケール値を「変
更」することによって、より滑らかな線を作成する、修
正された線描画アルゴリズムを使用して描かれる。一例
として、「グレイ・スケールによるブレゼンハムのアル
ゴリズム」( Bresenham璽s Algori
thm With Grayscale”,M.L.
V.Pitteway) 、および「ACMの通信」(
Communications of the ACM",D.J.Watkinson,Technical
Note-Graphic and Image Processing November 1980,V
olume 23,No.11)を参照されたい。第1の「一定」グレ
イ・スケール線画素は、注目画素にとって、入力画素値
として役立つ。第2の且つ線の等価な集合の「変更」グ
レイ・スケール値は、注目画素にとって、他の近傍画素
値および訓練値として役立つ。この訓練パターン生成プ
ログラムの結果は、上述のパラグラフ3で使用される任
意の重み付けを避ける、訓練パターンの完全に正確な集
合である。
【0061】再び、図13を参照すると、図18に示さ
れるデータ集合が存在するので、処理は、図14に示さ
れるモデル教示実行(Run Model Teach)サブルーチンの
呼び出しを説明する、ブロック420へ移る。モデル教
示プログラムは、先に論じたように、図9に示されるモ
デル教示プログラム構築サブルーチンを使用して用意さ
れる。
れるデータ集合が存在するので、処理は、図14に示さ
れるモデル教示実行(Run Model Teach)サブルーチンの
呼び出しを説明する、ブロック420へ移る。モデル教
示プログラムは、先に論じたように、図9に示されるモ
デル教示プログラム構築サブルーチンを使用して用意さ
れる。
【0062】さて、図14を参照すると、モデル教示プ
ログラム・サブルーチンは、ブロック433で始まる。
これは、図9のブロック231、232および233に
図示されるように構成された初期化ルーチンを図示す
る。この後で、処理は、データ集合から直接的にデータ
を検索することを示すブロック423へ移る。そして、
ブロック424は、図9のブロック234に図示され
る、ニューラル・ネットワーク・モデル依存ルーチンを
実行することによって、一つの教示ステップを行う。こ
の発明の記述の実施例では、図5のデータ構造50の本
体部分90内のデータ・アレイ中のデータの値は、期待
のネットワーク出力と実際のネットワーク出力との間の
エラーを最小とするために調整される。
ログラム・サブルーチンは、ブロック433で始まる。
これは、図9のブロック231、232および233に
図示されるように構成された初期化ルーチンを図示す
る。この後で、処理は、データ集合から直接的にデータ
を検索することを示すブロック423へ移る。そして、
ブロック424は、図9のブロック234に図示され
る、ニューラル・ネットワーク・モデル依存ルーチンを
実行することによって、一つの教示ステップを行う。こ
の発明の記述の実施例では、図5のデータ構造50の本
体部分90内のデータ・アレイ中のデータの値は、期待
のネットワーク出力と実際のネットワーク出力との間の
エラーを最小とするために調整される。
【0063】図15を参照すると、処理がブロック42
9へ移る。これは、ログされるデータを持つことを希望
するか否かの決定を説明する。若し、そうであれば、ブ
ロック430がデータの省略時ロギングの実行を示す。
ユーザがログされるデータを所望しないか、あるいはデ
ータのロギングの後の場合では、処理がブロック434
へ移る。ブロック434は、EPOCHが完了したか否
かの決定を説明する。日付集合中の全ての訓練データが
処理されると、EPOCHが完了する。若し、EPOC
Hが完了していないならば、処理が図14のブロック4
21へ戻り、次の訓練データの集合が取得される。若
し、一つのEPOCHが完了するときに、ブロック43
5は、図9のブロック235内に図示されたEPOCH
処理サブルーチンの終わりの実行を図示する。
9へ移る。これは、ログされるデータを持つことを希望
するか否かの決定を説明する。若し、そうであれば、ブ
ロック430がデータの省略時ロギングの実行を示す。
ユーザがログされるデータを所望しないか、あるいはデ
ータのロギングの後の場合では、処理がブロック434
へ移る。ブロック434は、EPOCHが完了したか否
かの決定を説明する。日付集合中の全ての訓練データが
処理されると、EPOCHが完了する。若し、EPOC
Hが完了していないならば、処理が図14のブロック4
21へ戻り、次の訓練データの集合が取得される。若
し、一つのEPOCHが完了するときに、ブロック43
5は、図9のブロック235内に図示されたEPOCH
処理サブルーチンの終わりの実行を図示する。
【0064】この発明の記述の実施例では、EPOCH
処理ルーチンの終わりは、全ての訓練データに関する出
力単位について、実際の出力と期待出力との差が指定ト
レランス(データ構造50のフィールド74内に指定さ
れるパラメータ)よりも小さいかどうかを決定する。そ
うであれば、データ構造50のフィールド68内のネッ
トワーク状態が「ロックされる」に設定される。ニュー
ラル・ネットワークの状態が「ロックされる」である時
に、データ・アレイの値は、変更が許可されない。そし
て、サブルーチンは、ブロック439で図示されるよう
に、図13のブロック407へ戻る。それから、図13
のブロック407が図6のブロック140へ戻る。この
後で、図4に示すアンチ・エイリアシング・アプリケー
ション・プログラム41は、図6に示す処理を渡すこと
によって、ニューラル・ネットワーク実行サブルーチン
を呼び出す。
処理ルーチンの終わりは、全ての訓練データに関する出
力単位について、実際の出力と期待出力との差が指定ト
レランス(データ構造50のフィールド74内に指定さ
れるパラメータ)よりも小さいかどうかを決定する。そ
うであれば、データ構造50のフィールド68内のネッ
トワーク状態が「ロックされる」に設定される。ニュー
ラル・ネットワークの状態が「ロックされる」である時
に、データ・アレイの値は、変更が許可されない。そし
て、サブルーチンは、ブロック439で図示されるよう
に、図13のブロック407へ戻る。それから、図13
のブロック407が図6のブロック140へ戻る。この
後で、図4に示すアンチ・エイリアシング・アプリケー
ション・プログラム41は、図6に示す処理を渡すこと
によって、ニューラル・ネットワーク実行サブルーチン
を呼び出す。
【0065】さて、ニューラル・ネットワーク実行サブ
ルーチンが示される図16を参照して説明する。この処
理は、ブロック501で始まる。このブロックは、図1
0のブロック251および252に関して述べられてい
る初期化ルーチンを図示する。次に、ブロック502
は、ニューラル・ネットワークの名前の決定を示す。そ
して、ブロック530は、図17内に含まれるこのモデ
ルのためのモデル実行プログラム実行サブルーチンを呼
び出す。モデル実行プログラムは、上述のように、図1
0のモデル実行構築サブルーチンによって作成される。
ルーチンが示される図16を参照して説明する。この処
理は、ブロック501で始まる。このブロックは、図1
0のブロック251および252に関して述べられてい
る初期化ルーチンを図示する。次に、ブロック502
は、ニューラル・ネットワークの名前の決定を示す。そ
して、ブロック530は、図17内に含まれるこのモデ
ルのためのモデル実行プログラム実行サブルーチンを呼
び出す。モデル実行プログラムは、上述のように、図1
0のモデル実行構築サブルーチンによって作成される。
【0066】さて、図17を参照すると、モデル実行プ
ログラム実行サブルーチンは、ブロック601で始ま
る。これは、分析すべき画素の第1の群の選択を説明す
る。一例として、画素の第1の群が表示装置の左上隅の
(3×3)の区画内の9個の画素のブロックとして選択
される。ここで述べるように、9画素の群の中の中央の
画素が「注目画素」である。注目画素は、必要に応じ
て、それ自身のグレイ・スケール値とその注目画素の周
囲の8画素のグレイ・スケール値とに基づいて修正され
る。
ログラム実行サブルーチンは、ブロック601で始ま
る。これは、分析すべき画素の第1の群の選択を説明す
る。一例として、画素の第1の群が表示装置の左上隅の
(3×3)の区画内の9個の画素のブロックとして選択
される。ここで述べるように、9画素の群の中の中央の
画素が「注目画素」である。注目画素は、必要に応じ
て、それ自身のグレイ・スケール値とその注目画素の周
囲の8画素のグレイ・スケール値とに基づいて修正され
る。
【0067】図17内のブロック605は、9個の画素
のそれぞれのグレイ・スケール値をニューラル・ネット
ワークへロードすることを図示する。その後で、ブロッ
ク606は、データを分析するために、訓練されたニュ
ーラル・ネットワークを使用し、注目画素の修正された
グレイ・スケール値に対して、使用されるスケール・フ
ァクタを戻すことを図示する。ニューラル・ネットワー
クが訓練された時に、それは、グレイ・スケールデータ
およびスケール・ファクタ間の関係を決定する。この後
で、ブロック610は、このスケール・ファクタの関数
として注目画素のグレイ・スケール値の修正を図示す
る。画素の修正後に、処理は、分析されていない画素の
群の取得を図示する、ブロック607へ渡される。全体
のイメージが分析されたときに、ブロック609が図1
6のブロック530への戻りを図示する。全体のイメー
ジが分析されていないときには、ブロック608がイメ
ージ内の9画素の次の群を選択し、イメージ全体がアン
チ・エイリアシングのために処理される時まで、上述の
処理が繰り返される。
のそれぞれのグレイ・スケール値をニューラル・ネット
ワークへロードすることを図示する。その後で、ブロッ
ク606は、データを分析するために、訓練されたニュ
ーラル・ネットワークを使用し、注目画素の修正された
グレイ・スケール値に対して、使用されるスケール・フ
ァクタを戻すことを図示する。ニューラル・ネットワー
クが訓練された時に、それは、グレイ・スケールデータ
およびスケール・ファクタ間の関係を決定する。この後
で、ブロック610は、このスケール・ファクタの関数
として注目画素のグレイ・スケール値の修正を図示す
る。画素の修正後に、処理は、分析されていない画素の
群の取得を図示する、ブロック607へ渡される。全体
のイメージが分析されたときに、ブロック609が図1
6のブロック530への戻りを図示する。全体のイメー
ジが分析されていないときには、ブロック608がイメ
ージ内の9画素の次の群を選択し、イメージ全体がアン
チ・エイリアシングのために処理される時まで、上述の
処理が繰り返される。
【0068】さて、図19を参照すると、ここには、交
差線701、702および703を含むコンピュータ・
ディスプレイ・スクリーンの全ての表示が図示されてい
る。図示のように、線702が水平で、線701および
703が二つの異なる角度でもって、水平から傾いてい
る。線702は、線701および703よりも明るいグ
レイ・スケール値の画素からなる。矩形704により規
定される領域は、図20および図21で拡大されて示さ
れる。
差線701、702および703を含むコンピュータ・
ディスプレイ・スクリーンの全ての表示が図示されてい
る。図示のように、線702が水平で、線701および
703が二つの異なる角度でもって、水平から傾いてい
る。線702は、線701および703よりも明るいグ
レイ・スケール値の画素からなる。矩形704により規
定される領域は、図20および図21で拡大されて示さ
れる。
【0069】図20を参照すると、図19の矩形704
内に含まれる個別要素704を示すコンピュータ・スク
リーンの拡大表示が図示されている。なお、水平線70
2の直線的エッジは、アンチ・エイリアシングの問題を
生じないので、それは、アンチ・エイリアシングによっ
て視覚的に改善されることはない。しかしながら、斜め
線701および703のエッジは、階段状である。この
階段状のエッジは、ここに述べるぼかしアンチ・エイリ
アシング方法のエッジによって、視覚的に改善される。
内に含まれる個別要素704を示すコンピュータ・スク
リーンの拡大表示が図示されている。なお、水平線70
2の直線的エッジは、アンチ・エイリアシングの問題を
生じないので、それは、アンチ・エイリアシングによっ
て視覚的に改善されることはない。しかしながら、斜め
線701および703のエッジは、階段状である。この
階段状のエッジは、ここに述べるぼかしアンチ・エイリ
アシング方法のエッジによって、視覚的に改善される。
【0070】エッジぼかしアンチ・エイリアシング方法
を行うために、この発明のニューラル・ネットワーク
は、若し、明るさが適切に修正されるならば、イメージ
をより明瞭な、より滑らかな、そして、よりジグザグが
少ないものに見えさせる画素を識別するのに使用され
る。一例として、画素706は、修正されたグレイ・ス
ケール値を持つべきものである。画素706は、暗い線
で、且つ通常、画素709で描かれる明るい背景である
線703の階段状エッジの近傍に位置される。若し、画
素706が暗い画素707、708の明るさと明るい画
素709の明るさの間の明るさのレベルに変更されるの
であれば、通常の拡大表示で見た時に、より少ないジグ
ザクのものに見える。
を行うために、この発明のニューラル・ネットワーク
は、若し、明るさが適切に修正されるならば、イメージ
をより明瞭な、より滑らかな、そして、よりジグザグが
少ないものに見えさせる画素を識別するのに使用され
る。一例として、画素706は、修正されたグレイ・ス
ケール値を持つべきものである。画素706は、暗い線
で、且つ通常、画素709で描かれる明るい背景である
線703の階段状エッジの近傍に位置される。若し、画
素706が暗い画素707、708の明るさと明るい画
素709の明るさの間の明るさのレベルに変更されるの
であれば、通常の拡大表示で見た時に、より少ないジグ
ザクのものに見える。
【0071】最後に、図21は、イメージがこの発明に
よる方法およびシステムに従ってアンチ・エイリアシン
グされた後の矩形704を示す。画素706を含むアン
チ・エイリアシングが要求される各画素は、ニューラル
・ネットワークによって位置指定され、このニューラル
・ネットワークによって計算されたスケール・ファクタ
の関数として明るさが修正されている。ここで、画素7
06が線703の暗い画素707、708と背景の明る
い画素709との間のグレイ・スケール値を持つことに
注意されたい。画素706を修正するのに使用されるス
ケール・ファクタを計算するために、ニューラル・ネッ
トワークは、参照番号710で示される9画素の各々の
グレイ・スケール値を考慮する。
よる方法およびシステムに従ってアンチ・エイリアシン
グされた後の矩形704を示す。画素706を含むアン
チ・エイリアシングが要求される各画素は、ニューラル
・ネットワークによって位置指定され、このニューラル
・ネットワークによって計算されたスケール・ファクタ
の関数として明るさが修正されている。ここで、画素7
06が線703の暗い画素707、708と背景の明る
い画素709との間のグレイ・スケール値を持つことに
注意されたい。画素706を修正するのに使用されるス
ケール・ファクタを計算するために、ニューラル・ネッ
トワークは、参照番号710で示される9画素の各々の
グレイ・スケール値を考慮する。
【0072】上述したところより、当業者は、この発明
による方法およびシステムが高速且つ正確なアンチ・エ
イリアシング・コンピュータ・イメージの方法を提供す
るために、ニューラル・ネットワークと関連して使用さ
れることを理解するであろう。ここで示した実施例は、
9画素を含む画素区画の分析を含んでいるが、画素区画
の大きさが25,49あるいは他の自乗された奇数の画
素数に増加することは、訓練されるニューラル・ネット
ワークの能力を高め、アンチ・エイリアシングの候補を
減少させることは、当業者が理解するであろう。自乗さ
れた奇数の画素数は、注目画素が確定的に規定されるた
めに利用されるべきである。さらに、隠れ層の数を増加
あるいは減少させたり、隠れ層内の単位数を増加あるい
は減少させたりするようなニューラル・ネットワークに
関する変形は、訓練されるネットワークの能力を高め、
結果を汎用化し、良好にアンチ・エイリアシングされた
イメージを作成する。最後に、この方法は、単一のニュ
ーラル・ネットワークによって順番に各注目画素がアド
レス決めされる順次処理、あるいは注目画素の群が並列
処理を使用して定義される、並列処理を使用しても良
い。
による方法およびシステムが高速且つ正確なアンチ・エ
イリアシング・コンピュータ・イメージの方法を提供す
るために、ニューラル・ネットワークと関連して使用さ
れることを理解するであろう。ここで示した実施例は、
9画素を含む画素区画の分析を含んでいるが、画素区画
の大きさが25,49あるいは他の自乗された奇数の画
素数に増加することは、訓練されるニューラル・ネット
ワークの能力を高め、アンチ・エイリアシングの候補を
減少させることは、当業者が理解するであろう。自乗さ
れた奇数の画素数は、注目画素が確定的に規定されるた
めに利用されるべきである。さらに、隠れ層の数を増加
あるいは減少させたり、隠れ層内の単位数を増加あるい
は減少させたりするようなニューラル・ネットワークに
関する変形は、訓練されるネットワークの能力を高め、
結果を汎用化し、良好にアンチ・エイリアシングされた
イメージを作成する。最後に、この方法は、単一のニュ
ーラル・ネットワークによって順番に各注目画素がアド
レス決めされる順次処理、あるいは注目画素の群が並列
処理を使用して定義される、並列処理を使用しても良
い。
【0073】
【発明の効果】以上のように、本発明によればコンピュ
ータグラフィックス・ディスプレイで使用するための改
良されたアンチ・エイリアシング・システムを提供する
ことができる。
ータグラフィックス・ディスプレイで使用するための改
良されたアンチ・エイリアシング・システムを提供する
ことができる。
【図1】この発明によるアンチ・エイリアシング・シス
テムのハイレベル・ブロック図である。
テムのハイレベル・ブロック図である。
【図2】どのように、ニューラル・ネットワークを実現
する大規模並列ハードウエアが直列ノイマンに基礎をお
くコンピュータシステム上でシミュレートされるかを示
す略線図である。
する大規模並列ハードウエアが直列ノイマンに基礎をお
くコンピュータシステム上でシミュレートされるかを示
す略線図である。
【図3】この発明による方法およびシステムを実現する
ために使用されるコンピュータ環境の概念的な枠組を示
す略線図である。
ために使用されるコンピュータ環境の概念的な枠組を示
す略線図である。
【図4】この発明による方法およびシステムを実現する
ために使用されるコンピュータ環境の概念的な枠組を示
す略線図である。
ために使用されるコンピュータ環境の概念的な枠組を示
す略線図である。
【図5】この発明によるニューラル・ネットワーク・デ
ータ構造を図表形式で示す略線図である。
ータ構造を図表形式で示す略線図である。
【図6】この発明による方法およびシステムを実現する
のに使用することができるニューラル・ネットワーク・
ユーティリティをハイレベル・フローチャート形式で示
す略線図である。
のに使用することができるニューラル・ネットワーク・
ユーティリティをハイレベル・フローチャート形式で示
す略線図である。
【図7】この発明による方法およびシステムを実現する
のに使用することができるニューラル・ネットワーク・
ユーティリティをハイレベル・フローチャート形式で示
す略線図である。
のに使用することができるニューラル・ネットワーク・
ユーティリティをハイレベル・フローチャート形式で示
す略線図である。
【図8】この発明による方法およびシステムを実現する
のに使用することができるニューラル・ネットワーク・
ユーティリティをハイレベル・フローチャート形式で示
す略線図である。
のに使用することができるニューラル・ネットワーク・
ユーティリティをハイレベル・フローチャート形式で示
す略線図である。
【図9】この発明による方法およびシステムを実現する
のに使用することができるニューラル・ネットワーク・
ユーティリティをハイレベル・フローチャート形式で示
す略線図である。
のに使用することができるニューラル・ネットワーク・
ユーティリティをハイレベル・フローチャート形式で示
す略線図である。
【図10】この発明による方法およびシステムを実現す
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
【図11】この発明による方法およびシステムを実現す
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
【図12】この発明による方法およびシステムを実現す
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
【図13】この発明による方法およびシステムを実現す
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
【図14】この発明による方法およびシステムを実現す
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
【図15】この発明による方法およびシステムを実現す
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
【図16】この発明による方法およびシステムを実現す
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
【図17】この発明による方法およびシステムを実現す
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
るのに使用することができるニューラル・ネットワーク
・ユーティリティをハイレベル・フローチャート形式で
示す略線図である。
【図18】この発明による方法およびシステムを実現す
るのに使用することができる数値訓練データの一例を示
す略線図である。
るのに使用することができる数値訓練データの一例を示
す略線図である。
【図19】この発明による方法およびシステムを使用す
るときに作動されるコンピュータ・イメージの図形表示
を示す略線図である。
るときに作動されるコンピュータ・イメージの図形表示
を示す略線図である。
【図20】アンチ・エイリアシングを行う前の図18の
コンピュータ・ディスプレイの一部の拡大部分を示す略
線図である。
コンピュータ・ディスプレイの一部の拡大部分を示す略
線図である。
【図21】アンチ・エイリアシングを行った後の図18
のディスプレイの拡大部分を示す略線図である。
のディスプレイの拡大部分を示す略線図である。
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G09G 5/36 G06F 15/68 410
Claims (4)
- 【請求項1】 複数画素からなり、上記複数画素のそれ
ぞれが明るさまたは色の少なくともいずれか一方に関す
る視覚的特性を有するイメージを記憶するステップと、 上記イメージ内の上記複数画素の選択された一つの画素
と関連した視覚的特性と、上記イメージ内の上記複数画
素の選択された各群と関連した視覚的特性との間の関係
において、上記選択された画素の修正が必要かどうかを
訓練値を用いて学習するステップと、 上記学習された関係によってスケール・ファクタを計算
するステップと、 上記スケール・ファクタによって上記選択された画素の
上記関連した特性を、アンチ・エイリアシングが遂行さ
れるように修正するステップとからなる、可視イメージ
でアンチ・エイリアシングを行うためのコンピュータ・
ディスプレイ・システムにおける方法。 - 【請求項2】 複数画素からなり、上記複数画素のそれ
ぞれが関連した明るさおよび色を有するイメージを記憶
するステップと、 上記イメージ内の上記複数画素の選択された一つの画素
と関連した明るさおよび色と、上記イメージ内の上記複
数画素の選択された各群と関連した明るさおよび色との
間の関係において、上記選択された画素の修正が必要か
どうかを訓練値を用いて学習するステップと、 上記学習された関係によってスケール・ファクタを計算
するステップと、 上記スケール・ファクタによって上記選択された画素の
上記明るさおよび色を、アンチ・エイリアシングが遂行
されるように修正するステップとからなる、可視イメー
ジでアンチ・エイリアシングを行うためのコンピュータ
・ディスプレイ・システムにおける方法。 - 【請求項3】 複数画素からなり、上記複数画素のそれ
ぞれが明るさまたは色の少なくともいずれか一方に関す
る視覚的特性を有するイメージを記憶するための手段
と、 上記イメージ内の上記複数画素の選択された一つの画素
と関連した視覚的特性と、上記イメージ内の上記複数画
素の選択された各群と関連した視覚的特性との間の関係
において、上記選択された画素の修正が必要かどうかを
訓練値を用いて学習するための手段と、 上記学習された関係によってスケール・ファクタを計算
するための手段と、 上記スケール・ファクタによって上記選択された画素の
上記関連した特性を、アンチ・エイリアシングが遂行さ
れるように修正するための手段と、 上記修正されたイメージを表示するための手段とからな
る、アンチ・エイリアシング・コンピュータ・ディスプ
レイ・システム。 - 【請求項4】 可視イメージ内で、視覚的明瞭さを改善
するためにアンチ・エイリアシングを必要とする画素の
パターンを認識することをニューラル・ネッワークに教
示するステップと、上記可視イメージは、複数画素から
なり、上記複数画素のそれぞれが明るさまたは色の少な
くともいずれか一方に関する視覚的特性を有し、 上記イメージ内の上記複数画素の選択された一つの画素
と関連した視覚的特性と、上記イメージ内の上記複数画
素の選択された各群と関連した視覚的特性との間の関係
において、上記選択された画素の修正が必要かどうかを
訓練値を用いて上記ニューラル・ネットワークに教示す
るステップと、 上記学習された関係によってスケール・ファクタを計算
するステップと、 上記スケール・ファクタによって上記選択された画素の
上記関連した特性を、アンチ・エイリアシングが遂行さ
れるように修正するステップとからなる、可視イメージ
でアンチ・エイリアシングを行うためのコンピュータ・
ディスプレイ・システムにおける方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US76564591A | 1991-09-25 | 1991-09-25 | |
US765645 | 1991-09-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05274443A JPH05274443A (ja) | 1993-10-22 |
JP2634127B2 true JP2634127B2 (ja) | 1997-07-23 |
Family
ID=25074105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4209851A Expired - Lifetime JP2634127B2 (ja) | 1991-09-25 | 1992-08-06 | コンピュータ・ディスプレイ・システム及び方法 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP0534698A2 (ja) |
JP (1) | JP2634127B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102641423B1 (ko) | 2018-12-11 | 2024-02-28 | 삼성전자주식회사 | 영상 처리 장치 및 그 동작방법 |
CN113469083B (zh) * | 2021-07-08 | 2024-05-31 | 西安电子科技大学 | 基于抗锯齿卷积神经网络的sar图像目标分类方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE68926702T2 (de) * | 1988-09-08 | 1996-12-19 | Sony Corp | Bildverarbeitungsgerät |
CA2030022A1 (en) * | 1989-11-17 | 1991-05-18 | Brian M. Kelleher | System and method for drawing antialiased polygons |
JPH03214369A (ja) * | 1990-01-19 | 1991-09-19 | Fujitsu Ltd | ニューロコンピュータを用いた形状記憶方式 |
-
1992
- 1992-08-06 JP JP4209851A patent/JP2634127B2/ja not_active Expired - Lifetime
- 1992-09-21 EP EP92308572A patent/EP0534698A2/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP0534698A3 (ja) | 1994-01-12 |
EP0534698A2 (en) | 1993-03-31 |
JPH05274443A (ja) | 1993-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110084874B (zh) | 对于三维模型的图像风格迁移 | |
Telea | Data visualization: principles and practice | |
Zhang et al. | Visibility culling using hierarchical occlusion maps | |
US5142665A (en) | Neural network shell for application programs | |
US4658247A (en) | Pipelined, line buffered real-time color graphics display system | |
CN1926558B (zh) | 对任意成三角形的表面应用精确三维体纹理的系统和方法 | |
US6700573B2 (en) | Method for rendering realistic terrain simulation | |
US6400372B1 (en) | Methods and apparatuses for selecting levels of detail for objects having multi-resolution models in graphics displays | |
US5450529A (en) | Neural network shell for application programs | |
Muuss | To wards real-time ray-tracing of combinatorial solid geometric models | |
US5444824A (en) | Enhanced neural network shell for application programs | |
US6765574B1 (en) | Methods of hierarchical static scene simplification and polygon budgeting for 3D models | |
CN102970456B (zh) | 图像形成方法及图像形成装置 | |
EP1031946B1 (en) | Recording medium,Image processing method and unit with integrated shaping model data | |
CA2075411C (en) | Gray-scale font generating apparatus | |
EP0348479B1 (en) | Method of tiling a figure in graphics rendering system | |
Bishop et al. | General purpose visual simulation system: a functional description | |
US8446425B1 (en) | Object transformation for object trees utilized with multiprocessor systems | |
JP2634127B2 (ja) | コンピュータ・ディスプレイ・システム及び方法 | |
US9251548B1 (en) | Object transformation for object trees utilized with multiprocessor systems | |
JP2966102B2 (ja) | 航空管制制御ディスプレイにおけるグラフィック対象物の低待ち時間の更新 | |
CN110866866A (zh) | 图像仿色处理方法、装置、电子设备及存储介质 | |
JPH06103254A (ja) | 神経ネットワークの使用を容易にする装置及び方法 | |
WO1989006031A2 (en) | Method of drawing in graphics rendering system | |
Fournier et al. | Frame buffer algorithms for stochastic models |