【事件の表示】
　平成　８年特許願第２２２１５８号「行列演算装置」拒絶査定に対する審判事件［平成１０年　３月　６日出願公開、特開平１０−　６３６４７］について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続の経緯・本願発明
　本願は平成８年８月２３日の出願であって、その請求項１に係る発明は、平成１５年５月２６日付けの手続補正書によって補正された明細書及び図面の記載からみて、特許請求の範囲の請求項１に記載された次のとおりのものと認める。
「入力される行列演算命令を解読して書き込み制御信号，読み出し制御信号，選択制御信号および演算制御信号を出力するデコーダと、
　外部記憶装置から読み出される行列の項のデータをそれぞれ複数個ずつ記憶する複数個の記憶手段と、
　前記演算制御信号と複数個の演算用データを入力として行列演算を行い演算結果を出力する演算器と、
　前記書き込み制御信号を入力として書き込み信号を前記複数個の記憶手段に与えることにより前記行列の項のデータ又は前記演算結果を前記複数個の記憶手段のいずれかに書き込ませる書き込み部と、
　前記読み出し制御信号を入力として読み出し信号を前記複数個の記憶手段に与えることにより前記複数個の記憶手段にそれぞれ記憶した前記行列の項のデータの中から前記複数個のデータを同時に読み出させる読み出し部と、
　前記複数の記憶手段と前記演算器の間に設けられて前記複数個のデータと前記選択制御信号を入力として前記複数個の演算用データを前記演算器の複数の入力端に選択的に与えるセレクタ部とを備え、
　前記複数個の記憶手段に対して前記行列の項のデータ又は演算結果を記憶しておく際に、前記演算器での演算に必要な項のデータを同時に出力できる個数に分割して記憶し、前記複数個の記憶手段から前記演算器に対して、演算に必要な項のデータ全てを前記読み出し制御信号に従って同時に出力するようにしたことを特徴とする行列演算装置。」（以下、「本願発明」という）
　
２．引用刊行物記載の発明
　これに対し、当審の拒絶の理由に引用された、本願の出願の日前である平成７年６月２日に頒布された特開平７−１４１３２５号公報（以下、「引用刊行物１」という）には次の事項が記載されている。
（１）「　行列演算を行うための複数のデータと係数と、これらの演算結果とを保持する複数のレジスタファイルと、
　前記複数のレジスタファイルで保持している各データから一つのデータを選択して出力する第１のデータセレクタと、
　前記複数のレジスタファイルで保持している係数から一つの係数を選択して出力する第２のデータセレクタと、
　前記第１のデータセレクタから出力されるデータと、前記レジスタファイルからのデータとを選択して出力する第１の入力セレクタと、
　前記第２のデータセレクタから出力される係数と、前記レジスタファイルからの係数とを選択して出力する第２の入力セレクタと、
　前記第１の入力セレクタで選択されたデータと、前記第２の入力セレクタで選択された係数とを入力し、これらのデータと係数との乗算とその累積演算を行い、各出力を前記レジスタファイルに出力する複数の演算部とを備えたことを特徴とする信号処理装置。」（請求項１）
（２）「【００１８】【実施例】　以下、本発明の実施例を図面を用いて詳細に説明する。
　図１は本発明の信号処理装置の構成を示すブロック図であるが、この構成を説明するのに先立ち、本発明の信号処理装置の原理構成を説明する。
　図５は、その構成を示すブロック図である。
　図の装置は、バッファ１、データ選択回路２、演算器３からなり、演算器３は、四つの演算器３−１〜３−４から構成されている。
【００１９】バッファ１は、ワード単位でアクセスする１次元のメモリで構成され、毎サイクル２ワードの読出と１ワードの書込が可能となっている。
　データ選択回路２は、バッファ１から毎サイクル読み出された２ワードのうちの１ワード内の各画素を、ワードの中の画素位置に対応した演算器３に供給するものである。例えば、上述した図４（ｂ）の１ワード｛Ｒ（ｉ）、Ｒ（ｉ＋１）、Ｒ（ｉ＋２）、Ｒ（ｉ＋３）｝がバッファ１にある場合、Ｒ（ｉ）を演算器３−１へ、Ｒ（ｉ＋１）を演算器３−２へ、Ｒ（ｉ＋２）を演算器３−３へ、Ｒ（ｉ＋３）を演算器３−４へ供給する。
【００２０】また、もう１ワードは、同様に各演算器３−１〜３−４へ各画素データを供給できるが、この１ワードの中の任意の１画素を四つの演算器３−１〜３−４に供給できるよう構成されている。例えば、図４（ｂ）の１ワード｛Ｇ（ｉ）、Ｇ（ｉ＋１）、Ｇ（ｉ＋２）、Ｇ（ｉ＋３）｝がバッファ１にある場合、Ｇ（ｉ＋３）を四つの演算器３−１〜３−４に供給することができる。
【００２１】演算器３−１〜３−４は、それぞれ乗算器３Ａと加算器３Ｂとから構成されている。乗算器３Ａの入力（ａ）、（ｂ）にはデータ選択回路２の出力が入力され、また、加算器３ｂの入力は乗算器３Ａの出力と、その加算器３ｂの出力とが入力されて累積演算が行われるようになっている。また、（ｃ）は演算器３−１〜３−４の出力を示している。更に、図中の４−１〜４−４は、それぞれ演算器３−１〜３−４からの演算結果データを示している。」
（中略）
【００３３】次に、２次元の離散コサイン変換の場合を説明する。
　２次元の離散コサイン変換は、８×８画素の大きさの画像データに対する演算で、ここで扱う画像データはプレーンデータであり、そのうちの一つの色成分のプレーンデータに対して処理する場合で説明する。
　メモリ上に、一つの色成分のプレーンデータがあり、その中の８×８画素の大きさの画像を読み出し、画像データ行列Ｄ（ｉ，ｊ）と、変換係数行列Ｃ（ｉ，ｊ）がバッファ１に保持されているとする。
【００３４】図７は、この画像データ行列Ｄ（ｉ，ｊ）、変換係数行列Ｃ（ｉ，ｊ）、変換係数行列Ｃ（ｉ，ｊ）および演算結果行列Ｒ（ｉ，ｊ）を示す。ここで、ワード内のデータは、画像の横方向で、行列の行方向のデータとなり、行列の行要素は、二つのワードに格納される。
　この処理は、四つの演算器３−１〜３−４により４並列で８×８の行列演算を行う。」（（第３頁右欄第３行〜第５頁左欄第２７行）
（３）「【００５９】次に、図１に示す本発明の実施例を説明する。
　図１の装置は、レジスタファイル１１〜１４、演算器２１〜２４、第１のデータセレクタ３０ａ、第２のデータセレクタ３０ｂ、レジスタアドレスジェネレータ４０、第１の入力セレクタ５１ａ〜５４ａ、第２のデータセレクタ５１ｂ〜５４ｂからなる。
【００６０】レジスタファイル１１〜１４は、それぞれ読出２ポート、書込１ポートの構成で、レジスタアドレスジェネレータ４０から出力されるレジスタアドレスは、各レジスタファイル１１〜１４で同じアドレスとなっている。尚、図中、Ａａ、Ａｂは、読出アドレス用のポート、ｃは演算器２１〜２４の出力を書き込むポート、Ａｃは、その書込アドレス用のポートである。
【００６１】メモリに対して読み書きしたワード内の各画素は、各レジスタファイル１１〜１４の同じレジスタアドレスに格納され、レジスタアドレスジェネレータ４０からのレジスタアドレスにより、各レジスタファイル１１〜１４は同時に同じレジスタアドレスの内容をアクセスする。即ち、メモリアクセスによる１ワードがレジスタファイル１１〜１４での１回のアクセスと同じになり、このレジスタファイルは、複数のワードに跨る２次元アクセスのメモリではなく、通常の１次元アクセスのメモリで構成される。
【００６２】演算器２１〜２４は、図１に示した演算器３−１〜３−４と同様の構成であり、それぞれ乗算器２１Ａ〜２４Ａと加算器２１Ｂ〜２４Ｂから構成されている。
また、ａ，ｂは入力端子、ｃは出力端子である。
　第１のデータセレクタ３０ａは、レジスタファイル１１〜１４のａ出力端子からのデータを選択するためのセレクタであり、その出力は各入力セレクタ５１ａ〜５４ａの入力端子に接続されている。また、第２のデータセレクタ３０ｂは、レジスタファイル１１〜１４のｂ出力端子からのデータを選択するためのセレクタであり、その出力は各入力セレクタ５１ｂ〜５４ｂの入力端子に接続されている。
【００６３】第１の入力セレクタ５１ａ〜５４ａは、第１のデータセレクタ３０ａからのデータと、レジスタファイル１１〜１４のａ出力端子からのデータの選択を行うセレクタである。また第２の入力セレクタ５１ｂ〜５４ｂは、第２のデータセレクタ３０ｂからのデータと、レジスタファイル１１〜１４のｂ出力端子からのデータの選択を行うセレクタである。そして各第１の入力セレクタ５１ａ〜５４ａの出力は演算器２１〜２４の入力端子ａに、また各第２の入力セレクタ５１ｂ〜５４ｂの出力は演算器２１〜２４の入力端子ｂに入力されるよう構成されている。」（第７頁左欄第１７行〜右欄第１２行）
（４）「【００９５】《２次元の離散コサイン変換》８×８画素に対する演算で、ここで扱う画像データはプレーンデータであり、そのうちの一つの色成分のプレーンデータに対して処理する場合で説明する。　メモリ上に、一つの色成分のプレーンデータがあり、その中の８×８画素の大きさの画像を読み出し、画像データ行列Ｄ（ｉ，ｊ）と、変換係数行列Ｃ（ｉ，ｊ）が、レジスタファイル１１〜１４に保持されているとする。また、ここで扱う８×８画素データがメモリのワードバウンダリにあるものとする。即ち、図７におけるｄ（１，１）、ｄ（１，２）、ｄ（１，３）、ｄ（１，４）はメモリ上の１ワードにあり、ｄ（１，５）、ｄ（１，６）、ｄ（１，７）、ｄ（１，８）は、上記のメモリ上の１ワードに連続してある１ワードとなっている。」（第９頁右欄第２行〜同欄第１５行）
（５）「【００９６】先ず、実施例の原理で説明したように、画像データ行列Ｄ（ｉ，ｊ）と、変換係数行列Ｃ（ｉ，ｊ）との画像の横方向（行列の行方向）の１次元の離散コサイン変換を行う。この行列乗算の演算結果行列をＲ（ｉ，ｊ）とする。
【００９７】図１１は、各レジスタファイル１１〜１４の画像データおよび変換係数の割付を示す図であり、図１１（ａ）は演算前、図１１（ｂ）は演算後を示している。先ず、レジスタファイル１１の出力端子ａから画像データｄ（１，１）を読み出し、第１のデータセレクタ３０ａにより、レジスタファイル１１の出力端子ａの出力を選択し、第１の入力セレクタ５１ａ〜５４ａにより、第１のデータセレクタ３０ａの出力を選択し、演算器２１〜２４に画像データｄ（１，１）を供給すると同時に、
【００９８】レジスタファイル１１の出力端子ｂから変換係数ｃ（１，１）を読み出し、第２の入力セレクタ５１ｂによりレジスタファイル１１の出力端子ｂからの出力を選択し、演算器２１の入力端子ｂへ変換係数ｃ（１，１）を供給すると同時に、
（中略）
【０１０１】レジスタファイル１４の出力端子ｂから変換係数ｃ（１，４）を読み出し、第２の入力セレクタ５４ｂによりレジスタファイル１４の出力端子ｂからの出力を選択し、演算器２４の入力端子ｂへ変換係数ｃ（１，４）を供給し、演算を開始する。
（中略）
【０１１７】四つの演算器２１〜２４による８個の累積加算により、　演算器２１の出力端子ｃからｒ（１，１）を、　演算器２２の出力端子ｃからｒ（１，２）を、　演算器２３の出力端子ｃからｒ（１，３）を、　演算器２４の出力端子ｃからｒ（１，４）を出力し、これにより、演算結果行列の１行目のうちの四つの結果が、図１１（ｂ）のように各レジスタファイル１１〜１４に得られる。
【０１１８】　そして、ｒ（１，５）〜ｒ（１，８）を得る場合も上記と同様に行う。
（中略）
【０１３８】四つの演算器２１〜２４による８個の累積加算により、演算器２１の出力端子ｃからｒ（１，５）を、演算器２２の出力端子ｃからｒ（１，６）を、演算器２３の出力端子ｃからｒ（１，７）を、演算器２４の出力端子ｃからｒ（１，８）を出力し、これにより、演算結果行列の１行目のうちの残りの四つの結果が、図１１（ｂ）のように各レジスタファイル１１〜１４に得られる。
【０１３９】上記のように、Ｄ（ｉ，ｊ）とＣ（ｉ，ｊ）の演算を進めることで画像の横方向（行列の行方向）の１次元の離散コサイン変換を完了し、演算結果行列Ｒ（ｉ，ｊ）を得る。」（第９頁右欄第１６行〜第１２頁左欄第１０行）
（６）「【０１４０】次に、画像の縦方向（行列の列方向）の１次元の離散コサイン変換を行う。これは、上記の演算結果行列Ｒ（ｉ，ｊ）をＤ（ｉ，ｊ）として、このＤ（ｉ，ｊ）とＣ（ｉ，ｊ）の両方を列方向に読み出し、積和演算を行うことで、上記演算結果行列の転置行列と変換行列Ｃ（ｉ，ｊ）との行列乗算を行うことになる。
【０１４１】図１２は、上記の演算結果行列Ｒ（ｉ、ｊ）をＤ（ｉ，ｊ）とし、これと変換係数行列Ｃ（ｉ，ｊ）の各レジスタファイル１１〜１４への割付を示す図であり、図１２（ａ）は演算前、図１２（ｂ）は演算後を示している。先ず、レジスタファイル１１の出力端子ａから画像データｄ（１，１）を読み出し、第１の入力セレクタ５１ａにより、レジスタファイル１１の出力端子ａからの出力を選択し、演算器２１の入力端子ａへ画像データｄ（１，１）を供給すると同時に、
（中略）
【０１４５】レジスタファイル１１の出力端子ｂから変換係数ｃ（１，１）を読み出し、第２のデータセレクタ３０ｂにより、レジスタファイル１１の出力端子ｂからの出力を選択し、第２の入力セレクタ５１ｂ〜５４ｂにより、第２のデータセレクタ３０ｂの出力を選択し、演算器２１〜２４の入力端子ｂへ変換係数ｃ（１，１）を供給し、演算を開始する。
（中略）
【０１８２】四つの演算器２１〜２４による８個の累積加算により、演算器２１の出力端子ｃから、ｒ（５，１）を、演算器２２の出力端子ｃから、ｒ（６，１）を、演算器２３の出力端子ｃから、ｒ（７，１）を、演算器２４の出力端子ｃから、ｒ（８，１）を出力し、これにより演算結果行列の１列目のうちの四つの結果が、図１２（ｂ）のように各レジスタファイル１１〜１４に得られる。
【０１８３】この演算結果であるｒ（１，１）、ｒ（２，１）、ｒ（３，１）、ｒ（４，１）、ｒ（５，１）、ｒ（６，１）、ｒ（７，１）、ｒ（８，１）は、行列の列要素であるが、レジスタファイル１１〜１４には、ｒ（１，１）、ｒ（２，１）、ｒ（３，１）、ｒ（４，１）を１ワード、ｒ（５，１）、ｒ（６，１）、ｒ（７，１）、ｒ（８，１）を１ワードとして格納されるため、演算結果の転置行列がレジスタファイル１１〜１４に格納されることになる。
【０１８４】上記のように、Ｄ（ｉ，ｊ）とＣ（ｉ，ｊ）の演算を進めることで、画像の縦方向（行列の列方向）の１次元の離散コサイン変換を完了し、最終的な演算結果行列Ｒ（ｉ，ｊ）を得る。」（第１２頁左欄第１１行〜第１４頁右欄第１９行）
（７）「そして、上記各実施例では、信号処理装置として画像処理装置の場合を説明したが、これに限定されるものではなく、データの行列演算を行うものであれば、種々の信号処理に適用可能である。」（第１４頁右欄第３２行〜３５行）
　
　前記当審の拒絶理由に引用された、本願の出願の日前である平成６年１月２１日に頒布された特開平６−１３８４３号公報（以下、「引用刊行物２」という）には次の事項が記載されている。
（８）「【０００１】　本発明は乗算器、加算器を用いて積和演算処理を行うディジタル信号処理回路に関する。」（第２頁左欄第２９行〜同欄３０行）
（９）「図２に示すような構成では乗算器および各種ＲＡＭのリード、ライト時間、バスの伝送時間がネックとなっていて近年では１００ｎｓ程度までしか高速化されていない。（中略）このようにセレクタを切り替えることにより、二つの乗算器は並列的に動作し演算を分担することができるから、全体として等価な演算を行うための速度は半分でよいことになる。
【０００９】　すなわち、演算処理速度を複数配置した分だけはやめることができるとともに、消費電力およびラジエーション発生を低減することができる。」（第２頁右欄第７行〜第３頁左欄第7行）
（１０）「【００１２】　次に、このように構成された本発明実施例の動作について説明する。
【００１３】　乗算器５１の前段にあるＫレジスタ３１への入力はデータＲＡＭ１１の出力とデータＲＡＭ１２の出力がセレクタ９１にてセレクトされ、同様にＬレジスタ４１への入力も係数ＲＡＭ２１の出力と係数ＲＡＭ２２の出力がセレクタ９３にてセレクトされる。
【００１４】　一方、乗算器５２の前段にあるＫレジスタ３２への入力はデータＲＡＭ１１の出力とデータＲＡＭ１２の出力がセレクタ９２にてセレクトされ、同様にＬレジスタ４２への入力も係数ＲＡＭ２１の出力と係数ＲＡＭ２２の出力がセレクタ９４にてセレクトされる。
【００１５】　乗算器５１および５２の出力は互いに最終段にて加算され、Ｍレジスタ６に保持される。通常、乗算器５１および５２には最終段に加算器が備えられており、この加算器により最終加算が行われる。Ｍレジスタの出力は演算回路７に入力し、演算回路７の出力はアキュムレータ８に入力し、その出力はバス９に出力される。演算回路７にはバス９が接続され、また、データＲＡＭ１１、１２および係数ＲＡＭ２１、２２へのデータはバス９から入力される。」（第３頁左欄第３２行〜同頁右欄第１０行）
（１１）「【００１６】　本実施例によれば、従来例回路に比べて同様の処理を行うのに１／２の時間で演算することが可能である。すなわち、乗算器、ＲＡＭなどを二つ備えることで従来例回路と同じスピードで２倍の演算処理を行うことができる。（中略）
【００１７】　本実施例ではデータＲＡＭ、係数ＲＡＭおよび乗算器はそれぞれ２個ずつ備えたが、要求される演算速度に合わせてデータＲＡＭ、係数ＲＡＭおよび乗算器の数をそれぞれ３個、４個、５個以上と増やしていくことにより、高速化をはかることが可能となる。」（第３頁右欄第１１行〜同欄第２２行)
　
　
　上記引用刊行物１の摘記事項について検討する。
　摘記事項（３）の段落【００６１】に「レジスタアドレスジェネレータ４０からのレジスタアドレスにより、各レジスタファイルは同時に同じレジスタアドレスの内容をアクセスする」と記載されている。
したがって、摘記事項（１）及び（３）によると、上記引用刊行物１には下記の発明が記載されている。
　　　　　　　　　記
「　行列演算を行うための複数のデータと係数と、これらの演算結果とを保持する複数のレジスタファイルと、
　前記複数のレジスタファイルで保持している各データから一つのデータを選択して出力する第１のデータセレクタと、
　前記複数のレジスタファイルで保持している係数から一つの係数を選択して出力する第２のデータセレクタと、
　前記第１のデータセレクタから出力されるデータと、前記レジスタファイルからのデータとを選択して出力する第１の入力セレクタと、
　前記第２のデータセレクタから出力される係数と、前記レジスタファイルからの係数とを選択して出力する第２の入力セレクタと、
　前記第１の入力セレクタで選択されたデータと、前記第２の入力セレクタで選択された係数とを入力し、これらのデータと係数との乗算とその累積演算を行い、各出力を前記レジスタファイルに出力する複数の演算部と
　レジスタアドレスジェネレータとを備え
　前記レジスタアドレスジェネレータからのレジスタアドレスにより、各レジスタファイルは同時に同じレジスタアドレスの内容をアクセスする信号処理装置。」（以下、引用発明という）
　
３．本願発明と上記引用発明との対比
［３−１］　本願発明と引用発明の各構成要素に対する制御構成について
　本願発明は「入力される行列演算命令を解読して書き込み制御信号，読み出し制御信号，選択制御信号および演算制御信号を出力するデコーダ」を有しているのに対して、引用発明には相当する構成がない。
［３−２］　引用発明の「複数のレジスタファイル」と本願発明の「複数個の記憶手段」について
　引用発明の「複数のデータと係数」とは摘記事項（２）の段落【００３４】の記載から画像データ行列と変換係数行列の要素のデータである。
　また、「これらの演算結果」は、演算結果行列の要素のデータである。
　一方、本願発明の「行列の項」とは、本願明細書の例えば段落【００３０】の「１行１列の項の結果を求めることができる」記載から、「行列の要素」であるので、引用発明の「行列の要素」は本願発明の「行列の項」に相当するものである。
　そして、「レジスタファイル」は「記憶手段」に包摂されるものである。
　したがって、引用発明の「複数のレジスタファイル」と本願発明の「複数個の記憶手段」は、「行列の項のデータをそれぞれ複数個ずつ記憶する」複数個の記憶手段である点で両者は一致する。
　また、画像データ行列の要素のデータについては、摘記事項（２）の段落【００３３】、摘記事項（３）の段落【００６１】及び摘記事項（４）にメモリから読み出す点が記載されている。
　しかしながら、変換係数行列の要素のデータについてはどのようにして格納したのか記載がない。
　したがって、「行列の項のデータ」について、本願発明では「外部記憶装置から読み出される」ものであるのに対して、引用発明では一方の行列の項のデータは外部記憶装置から読み出されるものの他方の行列の項のデータの出処について構成がない点で両者は相違する。
［３−３］　引用発明の「複数の演算部」と本願発明の「演算器」について
　引用発明の「複数の演算部」が行っている「これらのデータと係数との乗算とその累算演算」は、摘記事項（１）の「行列演算を行うための複数のデータと係数と」の記載や摘記事項（２）の【００３４】の「この処理は、四つの演算器３−１〜３−４により４並列で８×８の行列演算を行う。」等の記載から「行列演算」である。
　そして、「複数の演算部」は、演算のために複数の入力を有しているので「複数個の演算用データを入力として行列演算を行い演算結果を出力する演算器」には相違ない。
　また、「複数の演算部」に対する演算制御信号入力については記載がない。
　一方、本願発明の「行列演算」とは、「【００３０】まず、１行１列の項を求めるためには、（中略）【００３１】その際、最初にａ，Ａ，ｂ，Ｅの４項が同時に必要で、次に、ｃ，Ｉ，ｄ，Ｍの４項が同時に必要となる。最後のサイクルでは先に演算した結果の２項が同時にあれば良い。以下、同様にして残りの行列演算を行うことができる。」の記載から、乗算と乗算結果の累算を行い、演算結果として行列の項を求めるものであるので、引用発明の「行列演算」と同様である。
　したがって、引用発明の「複数の演算部」と本願発明の「演算器」とは「複数個の演算用データを入力として行列演算を行い演算結果を出力する」演算器である点で両者は一致するが、演算器の制御のために、本願発明はデコーダ出力の「演算制御信号を入力として」いるのに対して、引用発明には該当する制御信号入力がない点で両者は相違する。
［３−４］　引用発明の「アドレスジェネレータ」と本願発明の「書き込み部」について
　上記摘記事項（３）の【００６１】の「メモリに対して読み書きしたワード内の各画素は、各レジスタファイル１１〜１４の同じアドレスに格納され、レジスタアドレスジェネレータ４０からのレジスタアドレスにより、各レジスタファイル１１〜１４は同時に同じレジスタアドレスの内容をアクセスする」の記載、摘記事項（５）の【０１１７】【１３８】、摘記事項（６）の【０１８２】の「四つの演算器２１〜２４による８個の累積加算により、演算器２１の出力端子ｃから（中略）のように各レジスタファイル１１〜１４に得られる。」の記載から、行列の項の要素のデータ又は演算結果は複数のレジスタファイルのいずれかに書き込まれているには相違ない。
　本願明細書段落【００２４】に「書き込み信号２２に従ってデータを記憶する記憶手段」と記載されているので、本願発明の「書き込み信号」とはデータを記憶する際に記憶手段が従う信号であるので、引用発明において、格納のために与えられた「レジスタアドレス」は本願発明の「書き込み信号」に対応する。
　しかしながら、引用発明は同じレジスタアドレスを全てのレジスタファイルに与える構成であるので、レジスタファイルの「いずれ」に書き込むかを規定する制御信号はなく、「いずれ」であるかは各レジスタファイルの入力の接続関係に従って固定的に決められている。
　また、「レジスタアドレス」を発生させる制御信号入力については記載されていない。
　一方、本願明細書の段落【００２５】の「制御信号（書き込み制御信号）に従ってマトリクスデータ分割格納メモリ６，７，８，９のいずれかに格納される」の記載から、本願発明の「書き込み部」は、複数の記憶手段の「いずれ」に書き込むかの規定を書き込み制御信号に従って行うことができるものと認められる。
　「レジスタファイル」は「記憶手段」に包摂され、「行列の要素」は「行列の項」であるから、引用発明の「レジスタアドレスジェネレータ」及びレジスタファイルの入力接続構成と本願発明の「書き込み部」とは「書き込み信号を複数の記憶手段に与えることにより前記行列の項のデータ又は前記演算結果を前記複数個の記憶手段のいずれかに書き込ませる」点で両者は一致するが、本願発明では「いずれか」を書き込み制御信号に従って規定するものであるに対して、引用発明では「いずれか」を「各記憶手段の入力接続構成」に従って規定する点及び「書き込み信号」を発生させるために、本願発明はデコーダ出力の「書き込み制御信号を入力として」いるものであるのに対して、引用発明には該当する制御信号入力がない点で両者は相違する。
［３−５］　引用発明の「アドレスジェネレータ」と本願発明の「読み出し部」について
　引用発明は「レジスタアドレスジェネレータからのレジスタアドレスにより、各レジスタファイルは同時に同じレジスタアドレスの内容をアクセスする」ものであり、そして摘記事項（５）の【００９７】〜【０１０１】、摘記事項（６）の【０１４１】〜【０１４５】の記載から引用発明の「レジスタアドレスジェネレータ」は、「レジスタアドレスを前記複数のレジスタファイルに与えることにより前記複数のレジスタファイルにそれぞれ記憶した行列の要素の中から複数個の要素を同時に読み出させる」ものである。
　本願明細書の段落【００２４】の「このマトリクスデータ分割格納メモリ６〜９は、読み出し部２３から与えられる、読み出し信号に従って、出力データ１０〜１３をそれぞれ出力する。」との記載からみて、本願発明の「読み出し信号」とはデータを読み出す際に記憶手段が従う信号である。
　したがって、引用発明の読み出しに用いられる「レジスタアドレス」は本願発明の「読み出し信号」に相当する。
　また、本願発明において同時に読み出される「複数個のデータ」は「前記複数個のデータ」である。
　「複数個のデータ」は前記されていず、前記されている複数個の「データ」としては（１）「行列の項のデータをそれぞれ複数個ずつ記憶する複数個の記憶手段」の記載から、複数個の記憶手段にそれぞれ記憶されている複数個の行列の項のデータ」、（２）「複数個の演算用データ」があるが、（１）とすると「前記複数個の記憶手段にそれぞれ記憶した前記行列の項のデータの中から」という文脈と整合しない。
　発明の詳細な説明の段落【００２６】に「複数個のデータ１０，１１，１２，１３と制御信号４（選択制御信号）を入力として複数個の演算用データ１５，１６，１７，１８を入力し」の記載及び請求項１の「セレクタ部」の記載において「複数個のデータ」と「演算用データ」とを区別していることから「複数個のデータ」は上記（２）の「複数個の演算用データ」ではない。
　以上のことから、「複数個のデータ」は前記されていない。「前記」が「複数個」に係るとするならば、それは直前の「前記複数個の記憶手段」の「複数個」を示すものと認められ、「前記複数個のデータ」とは「前記複数個の記憶手段」の個数と等しい個数のデータであると認められる。そして、このように解釈しても発明の詳細な説明及び図面と矛盾しない。
　一方、引用発明において同時に読み出される「複数個のデータ」はレジスタファイルが読み出し２ポートを有するので、同時に読み出されるデータの個数は記憶手段の個数の２倍であり、記憶手段の個数と同数個ではない。
　以上のことから、引用発明の「レジスタアドレスジェネレータ」と本願発明の「読み出し部」とは「読み出し信号を前記複数個の記憶手段に与えることにより前記複数個の記憶手段にそれぞれ記憶した行列の項のデータの中から複数個のデータを同時に読み出させる」点で両者は一致し、「読み出し信号」を発生させるために、本願発明ではデコーダ出力の「読み出し制御信号」を入力としているのに対して、引用発明には該当する制御入力がない点及び同時に読み出される複数個のデータの個数が、本願発明では記憶手段の個数と等しいのに対して引用発明では異なる点で両者は相違する。
［３−６］　引用発明の「第１のデータセレクタ」「第２のデータセレクタ」「第１の入力セレクタ」「第２の入力セレクタ」と本願発明の「セレクタ部」について
　引用発明の第１、第２のデータセレクタは複数のレジスタファイルの出力を受けるものであり、そして、第１、第２の入力セレクタの入力は複数のレジスタファイルの出力か又は上記第１、第２のデータセレクタの出力を受けるものであり、そして、第１、第２の入力セレクタの出力は複数の演算部に入力されるものであるから、結局、「第１のデータセレクタ、第２のデータセレクタ、第１の入力セレクタ及び第２の入力セレクタ」からなる構成は、「複数のレジスタファイルと複数の演算部の間に設けられて」いるものである。
　また、上記各セレクタの選択制御信号入力について記載されていない。
　「レジスタファイル」、「複数の演算部」はそれぞれ「記憶手段」「演算器」に包摂されるから、引用発明の「第１のデータセレクタ、第２のデータセレクタ、第１の入力セレクタ及び第２の入力セレクタ」と本願発明の「セレクタ部」とは「前記複数の記憶手段と前記演算器の間に設けられて、前記読み出し部によって同時に読み出される、複数個のデータを入力として前記複数個の演算用データを前記演算器の複数の入力端に選択的に与える」セレクタ部である点で両者は一致し、制御信号入力として、本願発明はデコーダ出力の「選択制御信号を入力として」いるのに対して、引用発明には該当する制御信号入力がない点で両者は相違する。
［３−７］　引用発明の「信号処理装置」の動作と本願発明の「行列演算装置」の動作について
　上記摘記事項（５）の【００９７】で示された図１１を参照すると、引用発明の「複数のレジスタファイル」に格納されている行列画像データ行列Ｄ（ｉ，ｊ）と変換係数行列Ｃ（ｉ，ｊ）の各要素は、各レジスタファイルに分割して記憶されているものであって、上記摘記事項（５）の【００９７】〜【０１３９】の行列乗算の動作の記載をみるに、複数のレジスタファイルから複数の演算部に対して、演算に必要な要素全てを同時に出力しているものである。そして、上記摘記事項（５）の行列乗算の演算結果である演算結果行列Ｒ（ｉ，ｊ）も複数のレジスタファイルに分割して格納されている。
　また、上記摘記事項（６）の【０１４０】の記載を参照すると、上記摘記事項（５）の演算の演算結果行列Ｒ（ｉ，ｊ）をＤ（ｉ，ｊ）として、前記変換係数行列Ｃ（ｉ，ｊ）との行列乗算を行っており、その動作は上記摘記事項（６）の【０１４１】〜【０１８４】の記載を参照すると、複数のレジスタファイルから複数の演算部に対して、演算に必要な要素全てを同時に出力しているものである。そして、上記出力はレジスタアドレスに従ってなされるものである。
　また、上記摘記事項（７）の記載によると、引用発明は「データの行列演算を行うものであれば適用できる」ものであるから、引用発明の「信号処理装置」は「行列演算装置」ということができる。
　上述したように、読み出し時の「レジスタアドレス」は「読み出し信号」に相当する。
　したがって、引用発明の「信号処理装置」は「前記複数個の記憶手段に対して前記行列の要素又は演算結果を記憶しておく際に、前記複数の演算部での演算に必要な要素を同時に出力できる個数に分割して記憶し、前記複数個の記憶手段から前記複数の演算部に対して、演算に必要な要素全てを読み出し信号に従って同時に出力するようにしている行列演算装置」ということができる。
　一方、本願発明では「同時に出力する」のは「読み出し制御信号」に従ってなされるものであるが、直接には読み出し制御信号を入力して出力される「読み出し信号」に従っているものであるから、本願発明においても「読み出し信号」に従っているには相違ない。
　したがって、引用発明の動作と本願発明の動作は「前記複数個の記憶手段に対して前記行列の要素又は演算結果を記憶しておく際に、前記複数の演算部での演算に必要な要素を同時に出力できる個数に分割して記憶し、前記複数個の記憶手段から前記複数の演算部に対して、演算に必要な要素全てを読み出し信号に従って同時に出力するようにしている行列演算装置」である点で両者は一致し、本願発明は、「読み出し信号」で特定する代わりに、「読み出し信号」を発生させる制御入力である「読み出し制御信号」で特定している。一方、引用発明には上記［３−５］で述べたように「読み出し制御信号」に該当する制御信号は記載されていない。
　結局、上記相違は上記［３−５］の「読み出し部」における相違と同じである。
［３−８］　引用発明においても、引用刊行物１の図１１を参照すると、行列の要素のデータ全てが予め複数個の記憶手段に取り込まれており、行列のデータを外部から追加読み出しすることなしに行列全体の演算を連続的に行っているものであり、一つの演算部あるいは並列に動作する複数の演算部に対して、行列演算における必要なデータを全て同時に演算部に与えるものである。
　したがって、引用発明も、例えば本願明細書の段落【０００６】に記載された、本願発明の目的「一つの演算器あるいは並列に動作させる複数の演算器に対して、行列演算における必要なデータを全て同時に演算器に与えるようにして演算処理を高速に行い、かつ行列全体の項のデータを予め記憶手段に取り込むことにより、行列のデータを外部記憶装置から追加読み出しすることなしに行列全体の演算を連続的に行う」を達成しているものである。
　
　したがって、本願発明と引用発明は
「　行列の項のデータをそれぞれ複数個ずつ記憶する複数個の記憶手段と、
　複数個の演算用データを入力として行列演算を行い演算結果を出力する演算器と、
　書き込み信号を前記複数個の記憶手段に与えることにより前記行列の項のデータ又は前記演算結果を前記複数個の記憶手段のいずれかに書き込ませる書き込み部と、
　読み出し信号を前記複数個の記憶手段に与えることにより前記複数個の記憶手段にそれぞれ記憶した前記行列の項のデータの中から複数個のデータを同時に読み出させる読み出し部と、
　前記複数の記憶手段と前記演算器の間に設けられて前記複数個のデータを入力として前記複数個の演算用データを前記演算器の複数の入力端に選択的に与えるセレクタ部とを備え、
　前記複数個の記憶手段に対して前記行列の項のデータ又は演算結果を記憶しておく際に、前記演算器での演算に必要な項のデータを同時に出力できる個数に分割して記憶し、前記複数個の記憶手段から前記演算器に対して、演算に必要な要素全てを前記読み出し信号に従って同時に出力するようにしている行列演算装置」
である点で一致し、以下の点で相違する。
　
［相違点］
　［相違点１］　装置の各構成要素を制御する構成として、本願発明は「入力される行列演算命令を解読して書き込み制御信号，読み出し制御信号，選択制御信号および演算制御信号を出力するデコーダ」を有しているのに対して、引用発明にはない点。
　［相違点２］　複数の記憶装置において、記憶装置に記憶される行列の項のデータは、本願発明では「外部記憶装置から読み出される」ものであるのに対して、引用発明では一方の行列の項のデータは外部記憶装置から読み出されるものの他方の行列の項のデータの出処について構成がない点。
　［相違点３］　演算器において、制御のために、本願発明はデコーダ出力の演算制御信号を入力しているに対して、引用発明には該当する制御信号入力がない点。
　［相違点４］　書き込み部において、本願発明では「書き込み制御信号」に従って複数個の記憶手段の「いずれか」を規定するのに対して、引用発明では「各記憶手段の固定された入力接続構成」に従って規定している点、及び、「書き込み信号」を発生させるために、本願発明はデコーダ出力の「書き込み制御信号を入力として」いるものであるのに対して、引用発明には該当する制御信号入力がない点。
　［相違点５］　読み出し部において、「読み出し信号」発生制御のために、本願発明では「読み出し制御信号を入力とする」のに対して、引用発明では該当する制御信号入力がない点及び同時に読み出される複数個のデータの個数が、本願発明では記憶手段の個数と等しいのに対して引用発明では異なる点。
　［相違点６］　セレクタ部において、制御のために、本願発明はデコーダが出力する選択制御信号が入力されるのに対して、引用発明では該当する制御信号入力がない点。
　
４、当審の判断
　上記相違点について検討する。
４−１、上記相違点１について
　演算装置において、命令を受けて、それを解読し必要な制御信号を発生するデコーダを設けて、演算装置の各構成要素を制御することは常套手段にすぎない。
　例えば原審で引用文献３として引用された特開昭６２−９７０６０号公報にはディジタルシグナルプロセッサ即ち信号処理装置において「命令デコーダ２４は命令レジスタ２３に蓄えられたプログラムデータを読み出して解読し、種々のマイクロ命令を出力する。このマイクロ命令は、記憶部１、演算器３等に与えられ、それぞれの動作を制御する。」（第４頁左上欄第１１行〜１５行）と記載されている。そして、上記引用文献３の構成も本願発明の演算器と同様に積和演算を行うものである。
　上記引用文献３の命令デコーダ２４は行列演算命令を解読する点が示されていないが行列演算命令を解読するものも周知である。
　例えば、特開平２−２２４０６３号公報（以下、周知例１という）記載の数値演算プロセッサは「書込まれた演算命令は命令デコーダ１０２によってデコードされ、（中略）指定された演算命令を実行する」（図１及び第３頁右上欄第４行〜第１２行）するものであり、そして、上記演算命令は、「外部メモリから読み込まれた複数のデータの組を行列あるいはベクトルとみなし、そのデータに対して、ベクトルの内積を計算する単一命令、またはベクトル行列積を計算する単一命令、または行列行列積を計算する単一命令を持」（特許請求の範囲参照）つものであるから行列演算命令を含むものである。
　また、特開平６−３４２４５０号公報（以下、「周知例２」という）記載の行列乗算装置は、図１記載のようにプログラム制御部１があり、段落【００１７】には「プログラム制御部１がプログラム・カウンタ１１のカウントに応じて行列乗算命令を読み出す命令ＲＯＭ１２と」と記載されており、そして、当該プログラム制御部の構成は図２に示されており、その中のデコーダ１３の動作は段落【００２５】に「命令ＲＯＭ１２から演算に必要な命令が読み出される。デコーダ１３は、これをデコードして所要の制御を行う」と記載されている。
　
　したがって、引用発明においても、各構成要素を制御する構成として「入力される行列演算命令を解読して書き込み制御信号，読み出し制御信号，選択制御信号および演算制御信号を出力するデコーダ」を用いることは当業者が適宜なし得たものと認められる。
　
４−２、上記相違点２について
　例えば、上記周知例１のよう（上記相違点１で挙げた特許請求の範囲の記載、第２図のプロトコル参照）に、演算前に外部メモリから内部のデータレジスタに一括して入力しておくことは慣用手段にすぎない。
　したがって、引用発明においても、全ての行列の項のデータについても「メモリ」等の外部記憶装置から読み出して複数個の記憶手段のいずれかに書き込ませることは当業者が適宜なし得たものと認められる。
　
４−３、上記相違点３について
　演算器に制御信号が必要なことは自明であるので、引用発明においても「入力される行列演算命令を解読して書き込み制御信号，読み出し制御信号，選択制御信号および演算制御信号を出力するデコーダ」を用い、出力された演算制御信号を演算器に入力することは当業者が適宜なし得たものと認められる。
　
４−４、上記相違点４について
　演算装置において、制御信号に従って、主記憶装置及び演算器と複数の記憶手段との間で、主記憶装置からのデータ及び演算器の出力を複数の記憶手段のいずれかに書き込ませることは一般的に行われている構成にすぎない。
　例示するならば、特開昭５９−７７５７４号公報や特開昭５９−１１４６７７号公報の、「行列計算を高速に処理する、ベクトル処理装置」は、共に第１図を参照すると、主記憶装置及び複数の演算器と複数の記憶手段との間に分配回路を設けており、明記されていない制御信号に従って、いずれかの演算器の出力及び主記憶装置からのデータをいずれかの記憶手段に転送しているものと認められる。
　また、本願発明の行列演算の基本は積和演算であり、上記引用刊行物２の、「ディジタル信号処理装置」は、摘記事項（８）〜（１０）から演算に必要な項を同時に読み出して並列動作しているものと認められるので、演算に必要な項を同時に読み出しできる個数に分割して記憶されているものであると認められ、そして摘記事項（１０）の「（中略）演算回路７にはバス９が接続され、また、データＲＡＭ１１、１２および係数ＲＡＭ２１、２２へのデータはバス９から入力される。」及び図１１の記載から、アキュムレータ８からの演算結果出力はバス９を介して複数の記憶手段に入力されるものであるから、図示されていないが、制御信号を有し、演算結果を複数の記憶手段のいずれかに書き込ませているものと認められる。
　上記原審の引用文献３の「ディジタルシグナルプロセッサ」の積和演算においても、第１図にみられるようにデコーダからの制御信号で制御されており、上記相違点１で摘記した第４頁左上欄第１１行〜同欄第１５行に「マイクロ命令は、記憶部１，演算部３等に与えられ、それぞれの動作を制御する」と記載されているように、記憶部に制御信号を与えるものである。そして、第４頁左下欄第１３行〜同頁右下欄第１３行「なお、上記実施例では、２つの乗算器と２つのＡＬＵを設けているが、３個以上の乗算器と３個以上のＡＬＵを設けるようにすれば、乗算器、ＡＬＵの数に応じて積和演算の処理能力が上がることになる。この場合、各乗算器に同時にデータをセットするためには（中略）また、乗算器、ＡＬＵを３個以上設ける場合は、乗算器の数だけのポートを有するＲＡＭを２個設けるか、乗算器の数の２倍の個数の１ポートＲＡＭを設ければよい。」と記載されていることから、上記引用文献３には、書き込み可能な複数個の記憶手段から演算に必要なデータを同時に読み出すことが記載されているものであり、そして、「乗算結果の累積値はバス４を介して出力される」（第４頁左下欄第１〜２行）ものであり、複数個のＲＡＭ（記憶手段）の入力はバス４に接続されているものであるから、デコーダからの制御信号に従ってデータを複数個のＲＡＭ（記憶手段）のいずれかに書き込ませることが可能な構成となっている。
　よって、引用発明においても、行列の各項のデータ及び演算結果を複数個の記憶手段のうちのいずれに書き込ませるかを複数個の記憶手段に与える書き込み信号で制御可能な構成とし、「入力される行列演算命令を解読して書き込み制御信号，読み出し制御信号，選択制御信号および演算制御信号を出力するデコーダ」を用い、出力された書き込み制御信号を入力として書き込み信号を複数個の記憶手段に与えるようなすことは当業者が容易になしえたものと認められる。
　
４−５、上記相違点５について
　引用発明においても読み出し信号を発生させるための制御信号が必要なことは自明であるから、引用発明においても「入力される行列演算命令を解読して書き込み制御信号，読み出し制御信号，選択制御信号および演算制御信号を出力するデコーダ」を用い、読み出し部に読み出し制御信号を入力として読み出し信号を発生させることは当業者が適宜なし得たものと認められる。
　そして、上記４−４で引用した上記原審の引用文献３の第４頁左下欄第１３行〜同頁右下欄第１３行「なお、上記実施例では、２つの乗算器と２つのＡＬＵを設けているが、３個以上の乗算器と３個以上のＡＬＵを設けるようにすれば、乗算器、ＡＬＵの数に応じて積和演算の処理能力が上がることになる。この場合、各乗算器に同時にデータをセットするためには、２ポートＲＡＭ１３に代えて、乗算器の数だけのポートを有するＲＡＭを設けるか、１ポートＲＡＭを乗算器の数だけ設ければよい。同様に、２面ＲＯＭ１４も乗算器の数だけの面を有するＲＯＭを設けるか、１面のＲＯＭを乗算器の数だけ設ければよい。また、上記実施例では、２ポートＲＡＭ１３に記憶された非固定データと２面ＲＯＭ１４に記憶された固定データ（たとえば定数データ）とを乗算するようにしているが、非固定データ同士を乗算するようにしても良い。この場合２面ＲＯＭ１４に代えて２ポートＲＡＭを設ければよい。また、乗算器、ＡＬＵを３個以上設ける場合は、乗算器の数だけのポートを有するＲＡＭを２個設けるか、乗算器の数の２倍の個数の１ポートＲＡＭを設ければよい。」に記載されるように、２ポートＲＡＭと１ポートＲＡＭとを置換可能であることは周知慣用技術であるので、引用発明においても記憶手段のレジスタファイルを読み出し１ポートとして、記憶手段の個数と同じ個数のデータを同時に読み出すようになすことも当業者が適宜なし得たものと認められる。
　
４−６、相違点６について
　セレクタには選択制御信号を入力することは通常のことであるから、引用発明においても「入力される行列演算命令を解読して書き込み制御信号，読み出し制御信号，選択制御信号および演算制御信号を出力するデコーダ」を用い、セレクタ部に選択制御信号を入力することは当業者が適宜なし得たものと認められる。
　　
　なお、請求人の意見書における（１）「上記最初のサイクルと次のサイクルの演算を２つの演算器を利用して１つのサイクルで並列的に実行し、次のサイクルで２つの演算器の演算結果を加算するということが可能であります。（中略）累積加算を行うことができ」の主張は「演算結果」とは行列演算の演算結果のみでなく、演算途中の中間結果が必然的に存在することを意味し、そして該中間結果を累積加算するために記憶手段に行列の項のデータではない「１」を入れておき乗算をすることを主張するものであるから、行列演算を行う演算器内の累積加算のための一時保持部として前記記憶手段を用いること及びその演算動作を主張するものである。また（２）「上記刊行物２の乗算器は一時保持用のレジスタを介してデータを入力しているのに対し、本願発明は直接演算器に入力することにより、演算処理サイクルが削減される」の主張は演算器の内部構成として乗算器がその入力にレジスタを介していない構成であることを主張するものである。
　したがって上記主張（１）（２）は、行列演算を行う演算器の内部構成及び動作を特定する主張であって、それに対し本願請求項の記載では、行列演算を行う演算器の内部構成及び動作を特定する構成はないので、上記主張は本願発明の範囲を逸脱する主張であり、採用することができない。
 
５．むすび
　したがって、本願発明は、引用刊行物１、２に記載された発明及び周知技術に基づいて当業者が容易に発明をすることができたものであるので、特許法第２９条第２項の規定により特許を受けることができない。