• ポートフォリオ機能


ポートフォリオを新規に作成して保存
既存のポートフォリオに追加保存

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 特許、登録しない(前置又は当審拒絶理由) G06F
管理番号 1097105
審判番号 不服2001-21259  
総通号数 55 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 1998-03-06 
種別 拒絶査定不服の審決 
審判請求日 2001-11-29 
確定日 2004-05-13 
事件の表示 平成 8年特許願第222158号「行列演算装置」拒絶査定に対する審判事件[平成10年 3月 6日出願公開、特開平10- 63647]について、次のとおり審決する。 
結論 本件審判の請求は、成り立たない。 
理由 1.手続の経緯・本願発明
本願は平成8年8月23日の出願であって、その請求項1に係る発明は、平成15年5月26日付けの手続補正書によって補正された明細書及び図面の記載からみて、特許請求の範囲の請求項1に記載された次のとおりのものと認める。
「入力される行列演算命令を解読して書き込み制御信号,読み出し制御信号,選択制御信号および演算制御信号を出力するデコーダと、
外部記憶装置から読み出される行列の項のデータをそれぞれ複数個ずつ記憶する複数個の記憶手段と、
前記演算制御信号と複数個の演算用データを入力として行列演算を行い演算結果を出力する演算器と、
前記書き込み制御信号を入力として書き込み信号を前記複数個の記憶手段に与えることにより前記行列の項のデータ又は前記演算結果を前記複数個の記憶手段のいずれかに書き込ませる書き込み部と、
前記読み出し制御信号を入力として読み出し信号を前記複数個の記憶手段に与えることにより前記複数個の記憶手段にそれぞれ記憶した前記行列の項のデータの中から前記複数個のデータを同時に読み出させる読み出し部と、
前記複数の記憶手段と前記演算器の間に設けられて前記複数個のデータと前記選択制御信号を入力として前記複数個の演算用データを前記演算器の複数の入力端に選択的に与えるセレクタ部とを備え、
前記複数個の記憶手段に対して前記行列の項のデータ又は演算結果を記憶しておく際に、前記演算器での演算に必要な項のデータを同時に出力できる個数に分割して記憶し、前記複数個の記憶手段から前記演算器に対して、演算に必要な項のデータ全てを前記読み出し制御信号に従って同時に出力するようにしたことを特徴とする行列演算装置。」(以下、「本願発明」という)

2.引用刊行物記載の発明
これに対し、当審の拒絶の理由に引用された、本願の出願の日前である平成7年6月2日に頒布された特開平7-141325号公報(以下、「引用刊行物1」という)には次の事項が記載されている。
(1)「 行列演算を行うための複数のデータと係数と、これらの演算結果とを保持する複数のレジスタファイルと、
前記複数のレジスタファイルで保持している各データから一つのデータを選択して出力する第1のデータセレクタと、
前記複数のレジスタファイルで保持している係数から一つの係数を選択して出力する第2のデータセレクタと、
前記第1のデータセレクタから出力されるデータと、前記レジスタファイルからのデータとを選択して出力する第1の入力セレクタと、
前記第2のデータセレクタから出力される係数と、前記レジスタファイルからの係数とを選択して出力する第2の入力セレクタと、
前記第1の入力セレクタで選択されたデータと、前記第2の入力セレクタで選択された係数とを入力し、これらのデータと係数との乗算とその累積演算を行い、各出力を前記レジスタファイルに出力する複数の演算部とを備えたことを特徴とする信号処理装置。」(請求項1)
(2)「【0018】【実施例】 以下、本発明の実施例を図面を用いて詳細に説明する。
図1は本発明の信号処理装置の構成を示すブロック図であるが、この構成を説明するのに先立ち、本発明の信号処理装置の原理構成を説明する。
図5は、その構成を示すブロック図である。
図の装置は、バッファ1、データ選択回路2、演算器3からなり、演算器3は、四つの演算器3-1〜3-4から構成されている。
【0019】バッファ1は、ワード単位でアクセスする1次元のメモリで構成され、毎サイクル2ワードの読出と1ワードの書込が可能となっている。
データ選択回路2は、バッファ1から毎サイクル読み出された2ワードのうちの1ワード内の各画素を、ワードの中の画素位置に対応した演算器3に供給するものである。例えば、上述した図4(b)の1ワード{R(i)、R(i+1)、R(i+2)、R(i+3)}がバッファ1にある場合、R(i)を演算器3-1へ、R(i+1)を演算器3-2へ、R(i+2)を演算器3-3へ、R(i+3)を演算器3-4へ供給する。
【0020】また、もう1ワードは、同様に各演算器3-1〜3-4へ各画素データを供給できるが、この1ワードの中の任意の1画素を四つの演算器3-1〜3-4に供給できるよう構成されている。例えば、図4(b)の1ワード{G(i)、G(i+1)、G(i+2)、G(i+3)}がバッファ1にある場合、G(i+3)を四つの演算器3-1〜3-4に供給することができる。
【0021】演算器3-1〜3-4は、それぞれ乗算器3Aと加算器3Bとから構成されている。乗算器3Aの入力(a)、(b)にはデータ選択回路2の出力が入力され、また、加算器3bの入力は乗算器3Aの出力と、その加算器3bの出力とが入力されて累積演算が行われるようになっている。また、(c)は演算器3-1〜3-4の出力を示している。更に、図中の4-1〜4-4は、それぞれ演算器3-1〜3-4からの演算結果データを示している。」
(中略)
【0033】次に、2次元の離散コサイン変換の場合を説明する。
2次元の離散コサイン変換は、8×8画素の大きさの画像データに対する演算で、ここで扱う画像データはプレーンデータであり、そのうちの一つの色成分のプレーンデータに対して処理する場合で説明する。
メモリ上に、一つの色成分のプレーンデータがあり、その中の8×8画素の大きさの画像を読み出し、画像データ行列D(i,j)と、変換係数行列C(i,j)がバッファ1に保持されているとする。
【0034】図7は、この画像データ行列D(i,j)、変換係数行列C(i,j)、変換係数行列C(i,j)および演算結果行列R(i,j)を示す。ここで、ワード内のデータは、画像の横方向で、行列の行方向のデータとなり、行列の行要素は、二つのワードに格納される。
この処理は、四つの演算器3-1〜3-4により4並列で8×8の行列演算を行う。」((第3頁右欄第3行〜第5頁左欄第27行)
(3)「【0059】次に、図1に示す本発明の実施例を説明する。
図1の装置は、レジスタファイル11〜14、演算器21〜24、第1のデータセレクタ30a、第2のデータセレクタ30b、レジスタアドレスジェネレータ40、第1の入力セレクタ51a〜54a、第2のデータセレクタ51b〜54bからなる。
【0060】レジスタファイル11〜14は、それぞれ読出2ポート、書込1ポートの構成で、レジスタアドレスジェネレータ40から出力されるレジスタアドレスは、各レジスタファイル11〜14で同じアドレスとなっている。尚、図中、Aa、Abは、読出アドレス用のポート、cは演算器21〜24の出力を書き込むポート、Acは、その書込アドレス用のポートである。
【0061】メモリに対して読み書きしたワード内の各画素は、各レジスタファイル11〜14の同じレジスタアドレスに格納され、レジスタアドレスジェネレータ40からのレジスタアドレスにより、各レジスタファイル11〜14は同時に同じレジスタアドレスの内容をアクセスする。即ち、メモリアクセスによる1ワードがレジスタファイル11〜14での1回のアクセスと同じになり、このレジスタファイルは、複数のワードに跨る2次元アクセスのメモリではなく、通常の1次元アクセスのメモリで構成される。
【0062】演算器21〜24は、図1に示した演算器3-1〜3-4と同様の構成であり、それぞれ乗算器21A〜24Aと加算器21B〜24Bから構成されている。
また、a,bは入力端子、cは出力端子である。
第1のデータセレクタ30aは、レジスタファイル11〜14のa出力端子からのデータを選択するためのセレクタであり、その出力は各入力セレクタ51a〜54aの入力端子に接続されている。また、第2のデータセレクタ30bは、レジスタファイル11〜14のb出力端子からのデータを選択するためのセレクタであり、その出力は各入力セレクタ51b〜54bの入力端子に接続されている。
【0063】第1の入力セレクタ51a〜54aは、第1のデータセレクタ30aからのデータと、レジスタファイル11〜14のa出力端子からのデータの選択を行うセレクタである。また第2の入力セレクタ51b〜54bは、第2のデータセレクタ30bからのデータと、レジスタファイル11〜14のb出力端子からのデータの選択を行うセレクタである。そして各第1の入力セレクタ51a〜54aの出力は演算器21〜24の入力端子aに、また各第2の入力セレクタ51b〜54bの出力は演算器21〜24の入力端子bに入力されるよう構成されている。」(第7頁左欄第17行〜右欄第12行)
(4)「【0095】《2次元の離散コサイン変換》8×8画素に対する演算で、ここで扱う画像データはプレーンデータであり、そのうちの一つの色成分のプレーンデータに対して処理する場合で説明する。 メモリ上に、一つの色成分のプレーンデータがあり、その中の8×8画素の大きさの画像を読み出し、画像データ行列D(i,j)と、変換係数行列C(i,j)が、レジスタファイル11〜14に保持されているとする。また、ここで扱う8×8画素データがメモリのワードバウンダリにあるものとする。即ち、図7におけるd(1,1)、d(1,2)、d(1,3)、d(1,4)はメモリ上の1ワードにあり、d(1,5)、d(1,6)、d(1,7)、d(1,8)は、上記のメモリ上の1ワードに連続してある1ワードとなっている。」(第9頁右欄第2行〜同欄第15行)
(5)「【0096】先ず、実施例の原理で説明したように、画像データ行列D(i,j)と、変換係数行列C(i,j)との画像の横方向(行列の行方向)の1次元の離散コサイン変換を行う。この行列乗算の演算結果行列をR(i,j)とする。
【0097】図11は、各レジスタファイル11〜14の画像データおよび変換係数の割付を示す図であり、図11(a)は演算前、図11(b)は演算後を示している。先ず、レジスタファイル11の出力端子aから画像データd(1,1)を読み出し、第1のデータセレクタ30aにより、レジスタファイル11の出力端子aの出力を選択し、第1の入力セレクタ51a〜54aにより、第1のデータセレクタ30aの出力を選択し、演算器21〜24に画像データd(1,1)を供給すると同時に、
【0098】レジスタファイル11の出力端子bから変換係数c(1,1)を読み出し、第2の入力セレクタ51bによりレジスタファイル11の出力端子bからの出力を選択し、演算器21の入力端子bへ変換係数c(1,1)を供給すると同時に、
(中略)
【0101】レジスタファイル14の出力端子bから変換係数c(1,4)を読み出し、第2の入力セレクタ54bによりレジスタファイル14の出力端子bからの出力を選択し、演算器24の入力端子bへ変換係数c(1,4)を供給し、演算を開始する。
(中略)
【0117】四つの演算器21〜24による8個の累積加算により、 演算器21の出力端子cからr(1,1)を、 演算器22の出力端子cからr(1,2)を、 演算器23の出力端子cからr(1,3)を、 演算器24の出力端子cからr(1,4)を出力し、これにより、演算結果行列の1行目のうちの四つの結果が、図11(b)のように各レジスタファイル11〜14に得られる。
【0118】 そして、r(1,5)〜r(1,8)を得る場合も上記と同様に行う。
(中略)
【0138】四つの演算器21〜24による8個の累積加算により、演算器21の出力端子cからr(1,5)を、演算器22の出力端子cからr(1,6)を、演算器23の出力端子cからr(1,7)を、演算器24の出力端子cからr(1,8)を出力し、これにより、演算結果行列の1行目のうちの残りの四つの結果が、図11(b)のように各レジスタファイル11〜14に得られる。
【0139】上記のように、D(i,j)とC(i,j)の演算を進めることで画像の横方向(行列の行方向)の1次元の離散コサイン変換を完了し、演算結果行列R(i,j)を得る。」(第9頁右欄第16行〜第12頁左欄第10行)
(6)「【0140】次に、画像の縦方向(行列の列方向)の1次元の離散コサイン変換を行う。これは、上記の演算結果行列R(i,j)をD(i,j)として、このD(i,j)とC(i,j)の両方を列方向に読み出し、積和演算を行うことで、上記演算結果行列の転置行列と変換行列C(i,j)との行列乗算を行うことになる。
【0141】図12は、上記の演算結果行列R(i、j)をD(i,j)とし、これと変換係数行列C(i,j)の各レジスタファイル11〜14への割付を示す図であり、図12(a)は演算前、図12(b)は演算後を示している。先ず、レジスタファイル11の出力端子aから画像データd(1,1)を読み出し、第1の入力セレクタ51aにより、レジスタファイル11の出力端子aからの出力を選択し、演算器21の入力端子aへ画像データd(1,1)を供給すると同時に、
(中略)
【0145】レジスタファイル11の出力端子bから変換係数c(1,1)を読み出し、第2のデータセレクタ30bにより、レジスタファイル11の出力端子bからの出力を選択し、第2の入力セレクタ51b〜54bにより、第2のデータセレクタ30bの出力を選択し、演算器21〜24の入力端子bへ変換係数c(1,1)を供給し、演算を開始する。
(中略)
【0182】四つの演算器21〜24による8個の累積加算により、演算器21の出力端子cから、r(5,1)を、演算器22の出力端子cから、r(6,1)を、演算器23の出力端子cから、r(7,1)を、演算器24の出力端子cから、r(8,1)を出力し、これにより演算結果行列の1列目のうちの四つの結果が、図12(b)のように各レジスタファイル11〜14に得られる。
【0183】この演算結果であるr(1,1)、r(2,1)、r(3,1)、r(4,1)、r(5,1)、r(6,1)、r(7,1)、r(8,1)は、行列の列要素であるが、レジスタファイル11〜14には、r(1,1)、r(2,1)、r(3,1)、r(4,1)を1ワード、r(5,1)、r(6,1)、r(7,1)、r(8,1)を1ワードとして格納されるため、演算結果の転置行列がレジスタファイル11〜14に格納されることになる。
【0184】上記のように、D(i,j)とC(i,j)の演算を進めることで、画像の縦方向(行列の列方向)の1次元の離散コサイン変換を完了し、最終的な演算結果行列R(i,j)を得る。」(第12頁左欄第11行〜第14頁右欄第19行)
(7)「そして、上記各実施例では、信号処理装置として画像処理装置の場合を説明したが、これに限定されるものではなく、データの行列演算を行うものであれば、種々の信号処理に適用可能である。」(第14頁右欄第32行〜35行)

前記当審の拒絶理由に引用された、本願の出願の日前である平成6年1月21日に頒布された特開平6-13843号公報(以下、「引用刊行物2」という)には次の事項が記載されている。
(8)「【0001】 本発明は乗算器、加算器を用いて積和演算処理を行うディジタル信号処理回路に関する。」(第2頁左欄第29行〜同欄30行)
(9)「図2に示すような構成では乗算器および各種RAMのリード、ライト時間、バスの伝送時間がネックとなっていて近年では100ns程度までしか高速化されていない。(中略)このようにセレクタを切り替えることにより、二つの乗算器は並列的に動作し演算を分担することができるから、全体として等価な演算を行うための速度は半分でよいことになる。
【0009】 すなわち、演算処理速度を複数配置した分だけはやめることができるとともに、消費電力およびラジエーション発生を低減することができる。」(第2頁右欄第7行〜第3頁左欄第7行)
(10)「【0012】 次に、このように構成された本発明実施例の動作について説明する。
【0013】 乗算器51の前段にあるKレジスタ31への入力はデータRAM11の出力とデータRAM12の出力がセレクタ91にてセレクトされ、同様にLレジスタ41への入力も係数RAM21の出力と係数RAM22の出力がセレクタ93にてセレクトされる。
【0014】 一方、乗算器52の前段にあるKレジスタ32への入力はデータRAM11の出力とデータRAM12の出力がセレクタ92にてセレクトされ、同様にLレジスタ42への入力も係数RAM21の出力と係数RAM22の出力がセレクタ94にてセレクトされる。
【0015】 乗算器51および52の出力は互いに最終段にて加算され、Mレジスタ6に保持される。通常、乗算器51および52には最終段に加算器が備えられており、この加算器により最終加算が行われる。Mレジスタの出力は演算回路7に入力し、演算回路7の出力はアキュムレータ8に入力し、その出力はバス9に出力される。演算回路7にはバス9が接続され、また、データRAM11、12および係数RAM21、22へのデータはバス9から入力される。」(第3頁左欄第32行〜同頁右欄第10行)
(11)「【0016】 本実施例によれば、従来例回路に比べて同様の処理を行うのに1/2の時間で演算することが可能である。すなわち、乗算器、RAMなどを二つ備えることで従来例回路と同じスピードで2倍の演算処理を行うことができる。(中略)
【0017】 本実施例ではデータRAM、係数RAMおよび乗算器はそれぞれ2個ずつ備えたが、要求される演算速度に合わせてデータRAM、係数RAMおよび乗算器の数をそれぞれ3個、4個、5個以上と増やしていくことにより、高速化をはかることが可能となる。」(第3頁右欄第11行〜同欄第22行)


上記引用刊行物1の摘記事項について検討する。
摘記事項(3)の段落【0061】に「レジスタアドレスジェネレータ40からのレジスタアドレスにより、各レジスタファイルは同時に同じレジスタアドレスの内容をアクセスする」と記載されている。
したがって、摘記事項(1)及び(3)によると、上記引用刊行物1には下記の発明が記載されている。

「 行列演算を行うための複数のデータと係数と、これらの演算結果とを保持する複数のレジスタファイルと、
前記複数のレジスタファイルで保持している各データから一つのデータを選択して出力する第1のデータセレクタと、
前記複数のレジスタファイルで保持している係数から一つの係数を選択して出力する第2のデータセレクタと、
前記第1のデータセレクタから出力されるデータと、前記レジスタファイルからのデータとを選択して出力する第1の入力セレクタと、
前記第2のデータセレクタから出力される係数と、前記レジスタファイルからの係数とを選択して出力する第2の入力セレクタと、
前記第1の入力セレクタで選択されたデータと、前記第2の入力セレクタで選択された係数とを入力し、これらのデータと係数との乗算とその累積演算を行い、各出力を前記レジスタファイルに出力する複数の演算部と
レジスタアドレスジェネレータとを備え
前記レジスタアドレスジェネレータからのレジスタアドレスにより、各レジスタファイルは同時に同じレジスタアドレスの内容をアクセスする信号処理装置。」(以下、引用発明という)

3.本願発明と上記引用発明との対比
[3-1] 本願発明と引用発明の各構成要素に対する制御構成について
本願発明は「入力される行列演算命令を解読して書き込み制御信号,読み出し制御信号,選択制御信号および演算制御信号を出力するデコーダ」を有しているのに対して、引用発明には相当する構成がない。
[3-2] 引用発明の「複数のレジスタファイル」と本願発明の「複数個の記憶手段」について
引用発明の「複数のデータと係数」とは摘記事項(2)の段落【0034】の記載から画像データ行列と変換係数行列の要素のデータである。
また、「これらの演算結果」は、演算結果行列の要素のデータである。
一方、本願発明の「行列の項」とは、本願明細書の例えば段落【0030】の「1行1列の項の結果を求めることができる」記載から、「行列の要素」であるので、引用発明の「行列の要素」は本願発明の「行列の項」に相当するものである。
そして、「レジスタファイル」は「記憶手段」に包摂されるものである。
したがって、引用発明の「複数のレジスタファイル」と本願発明の「複数個の記憶手段」は、「行列の項のデータをそれぞれ複数個ずつ記憶する」複数個の記憶手段である点で両者は一致する。
また、画像データ行列の要素のデータについては、摘記事項(2)の段落【0033】、摘記事項(3)の段落【0061】及び摘記事項(4)にメモリから読み出す点が記載されている。
しかしながら、変換係数行列の要素のデータについてはどのようにして格納したのか記載がない。
したがって、「行列の項のデータ」について、本願発明では「外部記憶装置から読み出される」ものであるのに対して、引用発明では一方の行列の項のデータは外部記憶装置から読み出されるものの他方の行列の項のデータの出処について構成がない点で両者は相違する。
[3-3] 引用発明の「複数の演算部」と本願発明の「演算器」について
引用発明の「複数の演算部」が行っている「これらのデータと係数との乗算とその累算演算」は、摘記事項(1)の「行列演算を行うための複数のデータと係数と」の記載や摘記事項(2)の【0034】の「この処理は、四つの演算器3-1〜3-4により4並列で8×8の行列演算を行う。」等の記載から「行列演算」である。
そして、「複数の演算部」は、演算のために複数の入力を有しているので「複数個の演算用データを入力として行列演算を行い演算結果を出力する演算器」には相違ない。
また、「複数の演算部」に対する演算制御信号入力については記載がない。
一方、本願発明の「行列演算」とは、「【0030】まず、1行1列の項を求めるためには、(中略)【0031】その際、最初にa,A,b,Eの4項が同時に必要で、次に、c,I,d,Mの4項が同時に必要となる。最後のサイクルでは先に演算した結果の2項が同時にあれば良い。以下、同様にして残りの行列演算を行うことができる。」の記載から、乗算と乗算結果の累算を行い、演算結果として行列の項を求めるものであるので、引用発明の「行列演算」と同様である。
したがって、引用発明の「複数の演算部」と本願発明の「演算器」とは「複数個の演算用データを入力として行列演算を行い演算結果を出力する」演算器である点で両者は一致するが、演算器の制御のために、本願発明はデコーダ出力の「演算制御信号を入力として」いるのに対して、引用発明には該当する制御信号入力がない点で両者は相違する。
[3-4] 引用発明の「アドレスジェネレータ」と本願発明の「書き込み部」について
上記摘記事項(3)の【0061】の「メモリに対して読み書きしたワード内の各画素は、各レジスタファイル11〜14の同じアドレスに格納され、レジスタアドレスジェネレータ40からのレジスタアドレスにより、各レジスタファイル11〜14は同時に同じレジスタアドレスの内容をアクセスする」の記載、摘記事項(5)の【0117】【138】、摘記事項(6)の【0182】の「四つの演算器21〜24による8個の累積加算により、演算器21の出力端子cから(中略)のように各レジスタファイル11〜14に得られる。」の記載から、行列の項の要素のデータ又は演算結果は複数のレジスタファイルのいずれかに書き込まれているには相違ない。
本願明細書段落【0024】に「書き込み信号22に従ってデータを記憶する記憶手段」と記載されているので、本願発明の「書き込み信号」とはデータを記憶する際に記憶手段が従う信号であるので、引用発明において、格納のために与えられた「レジスタアドレス」は本願発明の「書き込み信号」に対応する。
しかしながら、引用発明は同じレジスタアドレスを全てのレジスタファイルに与える構成であるので、レジスタファイルの「いずれ」に書き込むかを規定する制御信号はなく、「いずれ」であるかは各レジスタファイルの入力の接続関係に従って固定的に決められている。
また、「レジスタアドレス」を発生させる制御信号入力については記載されていない。
一方、本願明細書の段落【0025】の「制御信号(書き込み制御信号)に従ってマトリクスデータ分割格納メモリ6,7,8,9のいずれかに格納される」の記載から、本願発明の「書き込み部」は、複数の記憶手段の「いずれ」に書き込むかの規定を書き込み制御信号に従って行うことができるものと認められる。
「レジスタファイル」は「記憶手段」に包摂され、「行列の要素」は「行列の項」であるから、引用発明の「レジスタアドレスジェネレータ」及びレジスタファイルの入力接続構成と本願発明の「書き込み部」とは「書き込み信号を複数の記憶手段に与えることにより前記行列の項のデータ又は前記演算結果を前記複数個の記憶手段のいずれかに書き込ませる」点で両者は一致するが、本願発明では「いずれか」を書き込み制御信号に従って規定するものであるに対して、引用発明では「いずれか」を「各記憶手段の入力接続構成」に従って規定する点及び「書き込み信号」を発生させるために、本願発明はデコーダ出力の「書き込み制御信号を入力として」いるものであるのに対して、引用発明には該当する制御信号入力がない点で両者は相違する。
[3-5] 引用発明の「アドレスジェネレータ」と本願発明の「読み出し部」について
引用発明は「レジスタアドレスジェネレータからのレジスタアドレスにより、各レジスタファイルは同時に同じレジスタアドレスの内容をアクセスする」ものであり、そして摘記事項(5)の【0097】〜【0101】、摘記事項(6)の【0141】〜【0145】の記載から引用発明の「レジスタアドレスジェネレータ」は、「レジスタアドレスを前記複数のレジスタファイルに与えることにより前記複数のレジスタファイルにそれぞれ記憶した行列の要素の中から複数個の要素を同時に読み出させる」ものである。
本願明細書の段落【0024】の「このマトリクスデータ分割格納メモリ6〜9は、読み出し部23から与えられる、読み出し信号に従って、出力データ10〜13をそれぞれ出力する。」との記載からみて、本願発明の「読み出し信号」とはデータを読み出す際に記憶手段が従う信号である。
したがって、引用発明の読み出しに用いられる「レジスタアドレス」は本願発明の「読み出し信号」に相当する。
また、本願発明において同時に読み出される「複数個のデータ」は「前記複数個のデータ」である。
「複数個のデータ」は前記されていず、前記されている複数個の「データ」としては(1)「行列の項のデータをそれぞれ複数個ずつ記憶する複数個の記憶手段」の記載から、複数個の記憶手段にそれぞれ記憶されている複数個の行列の項のデータ」、(2)「複数個の演算用データ」があるが、(1)とすると「前記複数個の記憶手段にそれぞれ記憶した前記行列の項のデータの中から」という文脈と整合しない。
発明の詳細な説明の段落【0026】に「複数個のデータ10,11,12,13と制御信号4(選択制御信号)を入力として複数個の演算用データ15,16,17,18を入力し」の記載及び請求項1の「セレクタ部」の記載において「複数個のデータ」と「演算用データ」とを区別していることから「複数個のデータ」は上記(2)の「複数個の演算用データ」ではない。
以上のことから、「複数個のデータ」は前記されていない。「前記」が「複数個」に係るとするならば、それは直前の「前記複数個の記憶手段」の「複数個」を示すものと認められ、「前記複数個のデータ」とは「前記複数個の記憶手段」の個数と等しい個数のデータであると認められる。そして、このように解釈しても発明の詳細な説明及び図面と矛盾しない。
一方、引用発明において同時に読み出される「複数個のデータ」はレジスタファイルが読み出し2ポートを有するので、同時に読み出されるデータの個数は記憶手段の個数の2倍であり、記憶手段の個数と同数個ではない。
以上のことから、引用発明の「レジスタアドレスジェネレータ」と本願発明の「読み出し部」とは「読み出し信号を前記複数個の記憶手段に与えることにより前記複数個の記憶手段にそれぞれ記憶した行列の項のデータの中から複数個のデータを同時に読み出させる」点で両者は一致し、「読み出し信号」を発生させるために、本願発明ではデコーダ出力の「読み出し制御信号」を入力としているのに対して、引用発明には該当する制御入力がない点及び同時に読み出される複数個のデータの個数が、本願発明では記憶手段の個数と等しいのに対して引用発明では異なる点で両者は相違する。
[3-6] 引用発明の「第1のデータセレクタ」「第2のデータセレクタ」「第1の入力セレクタ」「第2の入力セレクタ」と本願発明の「セレクタ部」について
引用発明の第1、第2のデータセレクタは複数のレジスタファイルの出力を受けるものであり、そして、第1、第2の入力セレクタの入力は複数のレジスタファイルの出力か又は上記第1、第2のデータセレクタの出力を受けるものであり、そして、第1、第2の入力セレクタの出力は複数の演算部に入力されるものであるから、結局、「第1のデータセレクタ、第2のデータセレクタ、第1の入力セレクタ及び第2の入力セレクタ」からなる構成は、「複数のレジスタファイルと複数の演算部の間に設けられて」いるものである。
また、上記各セレクタの選択制御信号入力について記載されていない。
「レジスタファイル」、「複数の演算部」はそれぞれ「記憶手段」「演算器」に包摂されるから、引用発明の「第1のデータセレクタ、第2のデータセレクタ、第1の入力セレクタ及び第2の入力セレクタ」と本願発明の「セレクタ部」とは「前記複数の記憶手段と前記演算器の間に設けられて、前記読み出し部によって同時に読み出される、複数個のデータを入力として前記複数個の演算用データを前記演算器の複数の入力端に選択的に与える」セレクタ部である点で両者は一致し、制御信号入力として、本願発明はデコーダ出力の「選択制御信号を入力として」いるのに対して、引用発明には該当する制御信号入力がない点で両者は相違する。
[3-7] 引用発明の「信号処理装置」の動作と本願発明の「行列演算装置」の動作について
上記摘記事項(5)の【0097】で示された図11を参照すると、引用発明の「複数のレジスタファイル」に格納されている行列画像データ行列D(i,j)と変換係数行列C(i,j)の各要素は、各レジスタファイルに分割して記憶されているものであって、上記摘記事項(5)の【0097】〜【0139】の行列乗算の動作の記載をみるに、複数のレジスタファイルから複数の演算部に対して、演算に必要な要素全てを同時に出力しているものである。そして、上記摘記事項(5)の行列乗算の演算結果である演算結果行列R(i,j)も複数のレジスタファイルに分割して格納されている。
また、上記摘記事項(6)の【0140】の記載を参照すると、上記摘記事項(5)の演算の演算結果行列R(i,j)をD(i,j)として、前記変換係数行列C(i,j)との行列乗算を行っており、その動作は上記摘記事項(6)の【0141】〜【0184】の記載を参照すると、複数のレジスタファイルから複数の演算部に対して、演算に必要な要素全てを同時に出力しているものである。そして、上記出力はレジスタアドレスに従ってなされるものである。
また、上記摘記事項(7)の記載によると、引用発明は「データの行列演算を行うものであれば適用できる」ものであるから、引用発明の「信号処理装置」は「行列演算装置」ということができる。
上述したように、読み出し時の「レジスタアドレス」は「読み出し信号」に相当する。
したがって、引用発明の「信号処理装置」は「前記複数個の記憶手段に対して前記行列の要素又は演算結果を記憶しておく際に、前記複数の演算部での演算に必要な要素を同時に出力できる個数に分割して記憶し、前記複数個の記憶手段から前記複数の演算部に対して、演算に必要な要素全てを読み出し信号に従って同時に出力するようにしている行列演算装置」ということができる。
一方、本願発明では「同時に出力する」のは「読み出し制御信号」に従ってなされるものであるが、直接には読み出し制御信号を入力して出力される「読み出し信号」に従っているものであるから、本願発明においても「読み出し信号」に従っているには相違ない。
したがって、引用発明の動作と本願発明の動作は「前記複数個の記憶手段に対して前記行列の要素又は演算結果を記憶しておく際に、前記複数の演算部での演算に必要な要素を同時に出力できる個数に分割して記憶し、前記複数個の記憶手段から前記複数の演算部に対して、演算に必要な要素全てを読み出し信号に従って同時に出力するようにしている行列演算装置」である点で両者は一致し、本願発明は、「読み出し信号」で特定する代わりに、「読み出し信号」を発生させる制御入力である「読み出し制御信号」で特定している。一方、引用発明には上記[3-5]で述べたように「読み出し制御信号」に該当する制御信号は記載されていない。
結局、上記相違は上記[3-5]の「読み出し部」における相違と同じである。
[3-8] 引用発明においても、引用刊行物1の図11を参照すると、行列の要素のデータ全てが予め複数個の記憶手段に取り込まれており、行列のデータを外部から追加読み出しすることなしに行列全体の演算を連続的に行っているものであり、一つの演算部あるいは並列に動作する複数の演算部に対して、行列演算における必要なデータを全て同時に演算部に与えるものである。
したがって、引用発明も、例えば本願明細書の段落【0006】に記載された、本願発明の目的「一つの演算器あるいは並列に動作させる複数の演算器に対して、行列演算における必要なデータを全て同時に演算器に与えるようにして演算処理を高速に行い、かつ行列全体の項のデータを予め記憶手段に取り込むことにより、行列のデータを外部記憶装置から追加読み出しすることなしに行列全体の演算を連続的に行う」を達成しているものである。

したがって、本願発明と引用発明は
「 行列の項のデータをそれぞれ複数個ずつ記憶する複数個の記憶手段と、
複数個の演算用データを入力として行列演算を行い演算結果を出力する演算器と、
書き込み信号を前記複数個の記憶手段に与えることにより前記行列の項のデータ又は前記演算結果を前記複数個の記憶手段のいずれかに書き込ませる書き込み部と、
読み出し信号を前記複数個の記憶手段に与えることにより前記複数個の記憶手段にそれぞれ記憶した前記行列の項のデータの中から複数個のデータを同時に読み出させる読み出し部と、
前記複数の記憶手段と前記演算器の間に設けられて前記複数個のデータを入力として前記複数個の演算用データを前記演算器の複数の入力端に選択的に与えるセレクタ部とを備え、
前記複数個の記憶手段に対して前記行列の項のデータ又は演算結果を記憶しておく際に、前記演算器での演算に必要な項のデータを同時に出力できる個数に分割して記憶し、前記複数個の記憶手段から前記演算器に対して、演算に必要な要素全てを前記読み出し信号に従って同時に出力するようにしている行列演算装置」
である点で一致し、以下の点で相違する。

[相違点]
[相違点1] 装置の各構成要素を制御する構成として、本願発明は「入力される行列演算命令を解読して書き込み制御信号,読み出し制御信号,選択制御信号および演算制御信号を出力するデコーダ」を有しているのに対して、引用発明にはない点。
[相違点2] 複数の記憶装置において、記憶装置に記憶される行列の項のデータは、本願発明では「外部記憶装置から読み出される」ものであるのに対して、引用発明では一方の行列の項のデータは外部記憶装置から読み出されるものの他方の行列の項のデータの出処について構成がない点。
[相違点3] 演算器において、制御のために、本願発明はデコーダ出力の演算制御信号を入力しているに対して、引用発明には該当する制御信号入力がない点。
[相違点4] 書き込み部において、本願発明では「書き込み制御信号」に従って複数個の記憶手段の「いずれか」を規定するのに対して、引用発明では「各記憶手段の固定された入力接続構成」に従って規定している点、及び、「書き込み信号」を発生させるために、本願発明はデコーダ出力の「書き込み制御信号を入力として」いるものであるのに対して、引用発明には該当する制御信号入力がない点。
[相違点5] 読み出し部において、「読み出し信号」発生制御のために、本願発明では「読み出し制御信号を入力とする」のに対して、引用発明では該当する制御信号入力がない点及び同時に読み出される複数個のデータの個数が、本願発明では記憶手段の個数と等しいのに対して引用発明では異なる点。
[相違点6] セレクタ部において、制御のために、本願発明はデコーダが出力する選択制御信号が入力されるのに対して、引用発明では該当する制御信号入力がない点。

4、当審の判断
上記相違点について検討する。
4-1、上記相違点1について
演算装置において、命令を受けて、それを解読し必要な制御信号を発生するデコーダを設けて、演算装置の各構成要素を制御することは常套手段にすぎない。
例えば原審で引用文献3として引用された特開昭62-97060号公報にはディジタルシグナルプロセッサ即ち信号処理装置において「命令デコーダ24は命令レジスタ23に蓄えられたプログラムデータを読み出して解読し、種々のマイクロ命令を出力する。このマイクロ命令は、記憶部1、演算器3等に与えられ、それぞれの動作を制御する。」(第4頁左上欄第11行〜15行)と記載されている。そして、上記引用文献3の構成も本願発明の演算器と同様に積和演算を行うものである。
上記引用文献3の命令デコーダ24は行列演算命令を解読する点が示されていないが行列演算命令を解読するものも周知である。
例えば、特開平2-224063号公報(以下、周知例1という)記載の数値演算プロセッサは「書込まれた演算命令は命令デコーダ102によってデコードされ、(中略)指定された演算命令を実行する」(図1及び第3頁右上欄第4行〜第12行)するものであり、そして、上記演算命令は、「外部メモリから読み込まれた複数のデータの組を行列あるいはベクトルとみなし、そのデータに対して、ベクトルの内積を計算する単一命令、またはベクトル行列積を計算する単一命令、または行列行列積を計算する単一命令を持」(特許請求の範囲参照)つものであるから行列演算命令を含むものである。
また、特開平6-342450号公報(以下、「周知例2」という)記載の行列乗算装置は、図1記載のようにプログラム制御部1があり、段落【0017】には「プログラム制御部1がプログラム・カウンタ11のカウントに応じて行列乗算命令を読み出す命令ROM12と」と記載されており、そして、当該プログラム制御部の構成は図2に示されており、その中のデコーダ13の動作は段落【0025】に「命令ROM12から演算に必要な命令が読み出される。デコーダ13は、これをデコードして所要の制御を行う」と記載されている。

したがって、引用発明においても、各構成要素を制御する構成として「入力される行列演算命令を解読して書き込み制御信号,読み出し制御信号,選択制御信号および演算制御信号を出力するデコーダ」を用いることは当業者が適宜なし得たものと認められる。

4-2、上記相違点2について
例えば、上記周知例1のよう(上記相違点1で挙げた特許請求の範囲の記載、第2図のプロトコル参照)に、演算前に外部メモリから内部のデータレジスタに一括して入力しておくことは慣用手段にすぎない。
したがって、引用発明においても、全ての行列の項のデータについても「メモリ」等の外部記憶装置から読み出して複数個の記憶手段のいずれかに書き込ませることは当業者が適宜なし得たものと認められる。

4-3、上記相違点3について
演算器に制御信号が必要なことは自明であるので、引用発明においても「入力される行列演算命令を解読して書き込み制御信号,読み出し制御信号,選択制御信号および演算制御信号を出力するデコーダ」を用い、出力された演算制御信号を演算器に入力することは当業者が適宜なし得たものと認められる。

4-4、上記相違点4について
演算装置において、制御信号に従って、主記憶装置及び演算器と複数の記憶手段との間で、主記憶装置からのデータ及び演算器の出力を複数の記憶手段のいずれかに書き込ませることは一般的に行われている構成にすぎない。
例示するならば、特開昭59-77574号公報や特開昭59-114677号公報の、「行列計算を高速に処理する、ベクトル処理装置」は、共に第1図を参照すると、主記憶装置及び複数の演算器と複数の記憶手段との間に分配回路を設けており、明記されていない制御信号に従って、いずれかの演算器の出力及び主記憶装置からのデータをいずれかの記憶手段に転送しているものと認められる。
また、本願発明の行列演算の基本は積和演算であり、上記引用刊行物2の、「ディジタル信号処理装置」は、摘記事項(8)〜(10)から演算に必要な項を同時に読み出して並列動作しているものと認められるので、演算に必要な項を同時に読み出しできる個数に分割して記憶されているものであると認められ、そして摘記事項(10)の「(中略)演算回路7にはバス9が接続され、また、データRAM11、12および係数RAM21、22へのデータはバス9から入力される。」及び図11の記載から、アキュムレータ8からの演算結果出力はバス9を介して複数の記憶手段に入力されるものであるから、図示されていないが、制御信号を有し、演算結果を複数の記憶手段のいずれかに書き込ませているものと認められる。
上記原審の引用文献3の「ディジタルシグナルプロセッサ」の積和演算においても、第1図にみられるようにデコーダからの制御信号で制御されており、上記相違点1で摘記した第4頁左上欄第11行〜同欄第15行に「マイクロ命令は、記憶部1,演算部3等に与えられ、それぞれの動作を制御する」と記載されているように、記憶部に制御信号を与えるものである。そして、第4頁左下欄第13行〜同頁右下欄第13行「なお、上記実施例では、2つの乗算器と2つのALUを設けているが、3個以上の乗算器と3個以上のALUを設けるようにすれば、乗算器、ALUの数に応じて積和演算の処理能力が上がることになる。この場合、各乗算器に同時にデータをセットするためには(中略)また、乗算器、ALUを3個以上設ける場合は、乗算器の数だけのポートを有するRAMを2個設けるか、乗算器の数の2倍の個数の1ポートRAMを設ければよい。」と記載されていることから、上記引用文献3には、書き込み可能な複数個の記憶手段から演算に必要なデータを同時に読み出すことが記載されているものであり、そして、「乗算結果の累積値はバス4を介して出力される」(第4頁左下欄第1〜2行)ものであり、複数個のRAM(記憶手段)の入力はバス4に接続されているものであるから、デコーダからの制御信号に従ってデータを複数個のRAM(記憶手段)のいずれかに書き込ませることが可能な構成となっている。
よって、引用発明においても、行列の各項のデータ及び演算結果を複数個の記憶手段のうちのいずれに書き込ませるかを複数個の記憶手段に与える書き込み信号で制御可能な構成とし、「入力される行列演算命令を解読して書き込み制御信号,読み出し制御信号,選択制御信号および演算制御信号を出力するデコーダ」を用い、出力された書き込み制御信号を入力として書き込み信号を複数個の記憶手段に与えるようなすことは当業者が容易になしえたものと認められる。

4-5、上記相違点5について
引用発明においても読み出し信号を発生させるための制御信号が必要なことは自明であるから、引用発明においても「入力される行列演算命令を解読して書き込み制御信号,読み出し制御信号,選択制御信号および演算制御信号を出力するデコーダ」を用い、読み出し部に読み出し制御信号を入力として読み出し信号を発生させることは当業者が適宜なし得たものと認められる。
そして、上記4-4で引用した上記原審の引用文献3の第4頁左下欄第13行〜同頁右下欄第13行「なお、上記実施例では、2つの乗算器と2つのALUを設けているが、3個以上の乗算器と3個以上のALUを設けるようにすれば、乗算器、ALUの数に応じて積和演算の処理能力が上がることになる。この場合、各乗算器に同時にデータをセットするためには、2ポートRAM13に代えて、乗算器の数だけのポートを有するRAMを設けるか、1ポートRAMを乗算器の数だけ設ければよい。同様に、2面ROM14も乗算器の数だけの面を有するROMを設けるか、1面のROMを乗算器の数だけ設ければよい。また、上記実施例では、2ポートRAM13に記憶された非固定データと2面ROM14に記憶された固定データ(たとえば定数データ)とを乗算するようにしているが、非固定データ同士を乗算するようにしても良い。この場合2面ROM14に代えて2ポートRAMを設ければよい。また、乗算器、ALUを3個以上設ける場合は、乗算器の数だけのポートを有するRAMを2個設けるか、乗算器の数の2倍の個数の1ポートRAMを設ければよい。」に記載されるように、2ポートRAMと1ポートRAMとを置換可能であることは周知慣用技術であるので、引用発明においても記憶手段のレジスタファイルを読み出し1ポートとして、記憶手段の個数と同じ個数のデータを同時に読み出すようになすことも当業者が適宜なし得たものと認められる。

4-6、相違点6について
セレクタには選択制御信号を入力することは通常のことであるから、引用発明においても「入力される行列演算命令を解読して書き込み制御信号,読み出し制御信号,選択制御信号および演算制御信号を出力するデコーダ」を用い、セレクタ部に選択制御信号を入力することは当業者が適宜なし得たものと認められる。

なお、請求人の意見書における(1)「上記最初のサイクルと次のサイクルの演算を2つの演算器を利用して1つのサイクルで並列的に実行し、次のサイクルで2つの演算器の演算結果を加算するということが可能であります。(中略)累積加算を行うことができ」の主張は「演算結果」とは行列演算の演算結果のみでなく、演算途中の中間結果が必然的に存在することを意味し、そして該中間結果を累積加算するために記憶手段に行列の項のデータではない「1」を入れておき乗算をすることを主張するものであるから、行列演算を行う演算器内の累積加算のための一時保持部として前記記憶手段を用いること及びその演算動作を主張するものである。また(2)「上記刊行物2の乗算器は一時保持用のレジスタを介してデータを入力しているのに対し、本願発明は直接演算器に入力することにより、演算処理サイクルが削減される」の主張は演算器の内部構成として乗算器がその入力にレジスタを介していない構成であることを主張するものである。
したがって上記主張(1)(2)は、行列演算を行う演算器の内部構成及び動作を特定する主張であって、それに対し本願請求項の記載では、行列演算を行う演算器の内部構成及び動作を特定する構成はないので、上記主張は本願発明の範囲を逸脱する主張であり、採用することができない。

5.むすび
したがって、本願発明は、引用刊行物1、2に記載された発明及び周知技術に基づいて当業者が容易に発明をすることができたものであるので、特許法第29条第2項の規定により特許を受けることができない。
 
審理終結日 2004-03-11 
結審通知日 2004-03-16 
審決日 2004-03-31 
出願番号 特願平8-222158
審決分類 P 1 8・ 121- WZ (G06F)
最終処分 不成立  
前審関与審査官 清木 泰  
特許庁審判長 徳永 民雄
特許庁審判官 平井 誠
村上 友幸
発明の名称 行列演算装置  
代理人 宮井 暎夫  
  • この表をプリントする

プライバシーポリシー   セキュリティーポリシー   運営会社概要   サービスに関しての問い合わせ