• ポートフォリオ機能


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

  • この表をプリントする
PDF PDFをダウンロード
審決分類 審判 査定不服 2項進歩性 取り消して特許、登録 G06F
管理番号 1352989
審判番号 不服2018-8586  
総通号数 236 
発行国 日本国特許庁(JP) 
公報種別 特許審決公報 
発行日 2019-08-30 
種別 拒絶査定不服の審決 
審判請求日 2018-06-22 
確定日 2019-07-29 
事件の表示 特願2016-501361「水平置換を用いるベクトル間接要素垂直アドレッシングモード」拒絶査定不服審判事件〔平成26年 9月25日国際公開、WO2014/150636、平成28年 4月14日国内公表、特表2016-511491、請求項の数(21)〕について、次のとおり審決する。 
結論 原査定を取り消す。 本願の発明は、特許すべきものとする。 
理由 第1 手続の経緯
本願は,2014年(平成26年)3月12日(パリ条約による優先権主張外国庁受理2013年3月15日(以下,「優先日」という。),米国)を国際出願日とする出願であって,平成27年9月10日付けで翻訳文が提出され,平成29年2月22日付けで手続補正がされ,平成29年6月20日付けで手続補正がされ,平成29年7月5日付けで拒絶理由通知がされ,平成29年12月6日付けで意見書が提出されるとともに手続補正がされ,平成30年2月22日付けで拒絶査定(原査定)がされ,これに対し,平成30年6月22日に拒絶査定不服審判の請求がされ,令和元年5月29日付けで当審より拒絶理由通知がされ,令和元年6月13日付けで意見書が提出されるとともに手続補正がされたものである。

第2 本願発明
本願請求項1-21に係る発明(以下,それぞれ「本願発明1」-「本願発明21」という。)は,令和元年6月13日付けの手続補正で補正された特許請求の範囲の請求項1-21に記載された事項により特定される発明であり,本願発明1及び本願発明15は以下のとおりの発明である。

「 【請求項1】
1つまたは複数の要素データ値を出力ベクトル内に配置するための方法であって,
複数の要素を含む垂直置換制御ベクトルを識別するステップであって,前記複数の要素が,ベクトルレジスタファイル内の複数のベクトルレジスタのうちのベクトルレジスタをそれぞれ示す,対応する複数のレジスタアドレスを含む,ステップと,
前記垂直置換制御ベクトルの前記複数の要素から前記複数のレジスタアドレスを読み取るステップと,
前記対応する複数のレジスタアドレスに基づく前記複数の要素について,前記複数のベクトルレジスタから複数の要素データ値を取り出すステップであって,前記複数の要素データ値の各要素データ値は,前記垂直置換制御ベクトル内の対応するレジスタアドレスの位置と一対一対応を有する前記ベクトルレジスタ内の位置において,前記対応するレジスタアドレスによって示される前記複数のベクトルレジスタのうちのベクトルレジスタから取り出される,ステップと,
出力ベクトルに対応するアドレスのセットを含む水平置換制御ベクトルを識別するステップと,
前記水平置換制御ベクトル内の前記アドレスのセットに基づいて,前記複数の要素データ値の少なくとも一部を前記出力ベクトル内に配置するステップと
を含む,方法。」

「 【請求項15】
要素データ値を出力ベクトル内に書き込むための方法であって,
複数の要素データ値を含む入力ベクトルを読み取るステップと,
アドレスのセットを含む水平置換制御ベクトルを識別するステップと,
前記水平置換制御ベクトル内の前記アドレスのセットに基づいて,前記入力ベクトル内の前記複数の要素データ値のうちの少なくとも一部を再構成するステップと,
前記複数の要素データ値のうちの前記再構成された少なくとも一部を一時ベクトル内に配置するステップと,
複数の要素を含む垂直置換制御ベクトルを識別するステップであって,前記複数の要素のうちの各要素が,ベクトルレジスタファイル内の複数のベクトルレジスタのうちのベクトルレジスタを示すレジスタアドレスを含む,ステップと,
前記垂直置換制御ベクトル内の前記レジスタアドレスに基づいて,前記一時ベクトル内の前記複数の要素データ値を前記複数のベクトルレジスタのうちの複数内に配置するステップと
を含み,
前記複数の要素データ値の各要素データ値は,前記垂直置換制御ベクトル内の対応するレジスタアドレスの位置と一対一対応を有する前記ベクトルレジスタ内の位置において,前記対応するレジスタアドレスによって示される前記複数のベクトルレジスタのうちのベクトルレジスタに配置される,方法。」

本願発明9及び14は,本願発明1に対応する装置の発明であり,また,本願発明13は,本願発明1に対応するコンピュータ可読記録媒体の発明であり,いずれも,本願発明1とカテゴリ表現が異なるだけの発明である。
本願発明2-8は,本願発明1を減縮した発明であり,本願発明10-12は,本願発明9を減縮した発明である。

本願発明19及び21は,本願発明15に対応する装置の発明であり,また,本願発明20は,本願発明15に対応するコンピュータ可読記録媒体の発明であり,いずれも,本願発明15とカテゴリ表現が異なるだけの発明である。
本願発明16-18は,本願発明15を減縮した発明である。

第3 引用文献,引用発明等
1.引用文献1について
原査定の拒絶の理由に引用された引用文献1(米国特許第5996057号明細書)には,図面とともに次の事項が記載されている。(下線は当審で付与した。以下,同様。)

A 「 FIELD OF THE INVENTION
The present invention relates in general to a method and system for data processing, and in particular to a method and system for permutation with replication of operands within a data processing system.」(第1欄15-20行)
(当審仮訳:本発明は,一般にデータ処理の方法及びシステムに関し,特にデータ処理システム内のオペランドの複製を伴う置換のための方法及びシステムに関する。)

B 「With reference now to FIG. 2, there is shown a block diagram of the vector processing apparatus of a preferred embodiment of the present invention. Vector register file 200 includes thirty-two vector registers VR0-VR31, each being 128 bits or 16 bytes wide. Vector register file 200 is coupled to combine network 210 to provide three vectors (Vector A, Vector B, Vector C) selected from three preselected or programmed registers of the vector register file 200. Combine network 210 provides a full cross-bar function that includes the capability of replicating an input element at the output. A 16-byte output vector is generated at the output (T) of combine network 210 and is loaded into an output register of the vector register file 200. FIG. 3 shows a block diagram of the four specific registers within vector registers 200 utilized to perform the PWR operations of the preferred embodiment. Vector registers 200 include control register 305 (VC) containing the control vector, input registers 310 (VA) and 315 (VB) and the output register 320 (VT).
The vector PWR instruction takes three vector registers as arguments. Two of the registers are logically concatenated to form a single, logical register of 32 fields, with each field indexed by column location from 0 to 32 (0H-1FH). The third input register contains a control vector of 16 indices, each index corresponding to its corresponding column location and indexing to one of the 32 fields of the concatenated registers via its column location. During execution of the PWR operation, the processor places the contents of each field in the concatenated registers indexed by the control vector into the result vector register at the corresponding column location of the index. This allows any combination of the 32 input fields to be permuted into the 16 output fields. Moreover, this allows the combination of selected fields with the replication of any particular input field as part of that combination being allowed by duplicating the column index for that input field in one or more control fields.
In a preferred embodiment, a field within the vector register file 200 is an 8-bit byte. As will be appreciated, any size field can be used in alternative embodiments. Because it is most efficient to load, shift and replicate 8-bit bytes, the control vector has sixteen bytes, each uniquely identifying a byte within the input vector loaded in input registers VA and VB. Since the input vector comprises thirty-two bytes, only five of the eight bits comprising each of the control vector blocks are necessary to uniquely identify a specific input vector block. In alternative embodiments, these unused bits can be utilized to uniquely identify additional fields of input data within a third (or more) additional input register of registers 200. Any additional registers concatenated with the other input registers to form a larger input vector from which the control vector may index would also be combined with the other input vectors (VA, VB) in combine network 210.」(第5欄31行-第6欄14行)
(当審仮訳:次に,図2を参照する。図2は,本発明の好ましい実施例のベクトル処理装置のブロック図である。ベクトルレジスタファイル200は,それぞれが128ビットまたは16バイト幅の32個のベクトルレジスタVR0-VR31を含む。ベクトルレジスタファイル200は,ベクトルレジスタファイル200の予め選択されたまたはプログラムされた3つのレジスタから選択される3つのベクトル(ベクトルA,ベクトルB,ベクトルC)を提供するために,結合ネットワーク210に結合される。結合ネットワーク210は,出力部で入力要素を複製する能力を含む完全なクロスバー機能を提供する。16バイトの出力ベクトルは,結合ネットワーク210の出力(T)において生成され,ベクトルレジスタファイル200の出力レジスタにロードされる。図3は,好ましい実施形態のPWR動作を実行するために利用されるベクトルレジスタ200内の4つの特定のレジスタのブロック図である。ベクトルレジスタ200は,制御ベクトルを含む制御レジスタ305(VC)と,入力レジスタ310(VA)と,315(VB)と,出力レジスタ320(VT)とを含む。
ベクトルPWR命令は,引数として3個のベクトルレジスタをとる。2個のレジスタは論理的に連結されて1つの32フィールド論理レジスタを形成し,各フィールドは0から32(0H-1FH)までの列位置によってインデックスされる。第3の入力レジスタは,16個のインデックスの制御ベクトルを含み,各インデックスはその対応する列位置に対応し,その列位置を介して連結レジスタの32個のフィールドのうちの一つにインデックスを付ける。PWR動作の実行中,プロセッサは,制御ベクトルによってインデックス付けされた連結レジスタ内の各フィールドの内容を,インデックスの対応する列位置の結果ベクトルレジスタに配置する。これは,32個の入力フィールドの任意の組み合わせが16個の出力フィールドに置き換えられることを可能にする。さらに,これは,選択されたフィールドと任意の特定の入力フィールドの複製との組合せを可能にし,その組合せの一部は,一つまたは複数の制御フィールドにおけるその入力フィールドに対する列インデックスを複製することによって可能にされる。
好ましい実施形態では,ベクトルレジスタファイル200内のフィールドは8ビットバイトである。理解されるように,任意のサイズのフィールドを代替の実施形態において使用することができる。8ビットバイトをロード,シフトおよび複製するのに最も効率的であるので,制御ベクトルは,入力レジスタVAおよびVBにロードされた入力ベクトル内のバイトを一意に識別する16バイトを有する。入力ベクトルは32バイトを含むので,特定の入力ベクトルブロックを一意に識別するためには,制御ベクトルブロックの各々を構成する8ビットのうちの5ビットのみが必要である。代替の実施形態では,これらの未使用ビットは,レジスタ200の第3の(またはそれ以上の)追加の入力レジスタ内の入力データの追加フィールドを一意に識別するために利用することができる。制御ベクトルがインデックスするより大きい入力ベクトルを形成するために他の入力レジスタと連結された任意の追加レジスタは,結合ネットワーク210における他の入力ベクトル(VA, VB)と結合される。)

C 「With reference now to FIG. 7, there is shown a conceptual diagram of the vector registers as used in one example of a PWR operation performed in a 16-byte-based register file for the data processing system of the present invention. The control vector register VC is loaded with a control vector designated by the operational code or computationally derived from a previous operation to implement a desired high-performance data processing function. Each of the input registers VA and VB are loaded with properly aligned data vectors to be processed. The data processing system of the present system then performs a PWR operation on the two input vectors VA, VB as a function of the control vector loaded in the control register VC. Registers VA and VB are addressed as 32 separate elements. As can be seen in FIG. 7, each byte in a given column of the control vector has an index value uniquely identifying one of the 32 bytes (0-1FH) within the two input vectors that is loaded into a corresponding column within the output register. In the example of FIG. 7, the control vector indicates that the first byte of VT should be loaded with the second byte ("1") of the data vector (the second byte of register VA) and the second byte of register VT should be loaded with the twenty-first byte ("14H") of the data vector (the fifth byte of register VB). Further, it can be seen that the ninth, tenth and eleventh fields of the control vector indicate that the corresponding fields of the output vector should be loaded with the replicated byte located in field "1C" of the input vector (the thirteenth byte loaded in register VB). Thus, it can be seen that the PWR operation performs a permutation on the input vector that can include the replication of specific bytes in multiple bytes of the output vector.」(第8欄57行-第9欄20行)
(当審仮訳:次に,図7を参照すると,本発明のデータ処理システムの16バイトベースのレジスタファイルで実行されるPWR動作の一例で使用されるベクトルレジスタの概念図が示されている。制御ベクトルレジスタVCには,所望の高性能データ処理機能を実現するために,演算コードによって指定された制御ベクトルがロードされるか,または前の演算から計算された制御ベクトルがロードされる。入力レジスタVAおよびVBの各々には,処理すべき適切に整列されたデータベクトルがロードされる。次に,本システムのデータ処理システムは,制御レジスタVCにロードされた制御ベクトルの関数として,2つの入力ベクトルVA,VBに対してPWR動作を実行する。レジスタVAおよびVBは32個の別個の要素としてアドレス指定される。図7からわかるように,制御ベクトルの所与の列内の各バイトが,出力レジスタ内の対応する列にロードされる2つの入力ベクトル内の32バイト(0-1FH)のうちの一つを一意に識別するインデックス値を有する。図7の例では,制御ベクトルは,VTの第1のバイトには,データベクトルの第2のバイト(“1”)(レジスタVAの第2のバイト)がロードされるべきであり,レジスタVTの第2のバイトには,データベクトルの第21のバイト(“14H”)(レジスタVBの第5のバイト)がロードされるべきであることを示す。さらに,制御ベクトルの第9,第10および第11のフィールドは,出力ベクトルの対応するフィールドに,入力ベクトルのフィールド“1C”に位置する(レジスタVBの第13のバイトにロードされた)複製バイトをロードすべきであることを示していることがわかる。したがって,PWR動作は,出力ベクトルの複数バイトにおいて特定のバイトの複製を含むことができる,入力ベクトルに対する置換を実行することがわかる。)

D 「FIG.2



E 「FIG.3



F 「FIG.7



したがって,上記引用文献1には次の発明(以下,「引用発明」という。)が記載されていると認められる。

「データ処理システム内のオペランドの複製を伴う置換のための方法であって,
ベクトルレジスタファイル200は,それぞれが128ビットまたは16バイト幅の32個のベクトルレジスタVR0-VR31を含み,
ベクトルレジスタ200は,制御ベクトルを含む制御レジスタ305(VC)と,入力レジスタ310(VA)と,315(VB)と,出力レジスタ320(VT)とを含み,
ベクトルPWR命令は,引数として3個のベクトルレジスタをとり,このうち2個のレジスタは論理的に連結されて1つの32フィールド論理レジスタを形成し,各フィールドは0から32(0H-1FH)までの列位置によってインデックスされ,第3の入力レジスタは,16個のインデックスの制御ベクトルを含み,各インデックスはその対応する列位置に対応し,その列位置を介して連結レジスタの32個のフィールドのうちの一つにインデックスを付けるものであり,
PWR動作の実行中,プロセッサは,制御ベクトルによってインデックス付けされた連結レジスタ内の各フィールドの内容を,インデックスの対応する列位置の結果ベクトルレジスタに配置し,これは,32個の入力フィールドの任意の組み合わせが16個の出力フィールドに置き換えられることを可能にし,
PWR動作では,
制御ベクトルレジスタVCに制御ベクトルがロードされ,
入力レジスタVAおよびVBの各々には,処理すべき適切に整列されたデータベクトルがロードされ,
制御レジスタVCにロードされた制御ベクトルの関数として,2つの入力ベクトルVA,VBに対してPWR動作を実行し,
制御ベクトルは,VTの第1のバイトには,データベクトルの第2のバイト(“1”)(レジスタVAの第2のバイト)がロードされるべきであり,レジスタVTの第2のバイトには,データベクトルの第21のバイト(“14H”)(レジスタVBの第5のバイト)がロードされるべきであることを示し,
さらに,制御ベクトルの第9,第10および第11のフィールドは,出力ベクトルの対応するフィールドに,入力ベクトルのフィールド“1C”に位置する(レジスタVBの第13のバイトにロードされた)複製バイトをロードすべきであることを示している,
方法。」

2.引用文献2について
また,原査定の拒絶の理由に引用された引用文献2(特開2001-273277号公報)には,図面とともに次の事項が記載されている。

G 「【0001】
【発明の属する技術分野】本発明は,デジタル処理,例えばマルチメディア・プロセッサ,単一命令複数データ(SIMD)プロセッサ,SIMD(ベクトル)処理機能を持つデジタル信号プロセッサ,または同様の装置を使用するがそれらに限定されない処理に関し,さらに詳しくは,デジタル処理で計算の入出力を一時的に格納するために使用されるベクトル・レジスタ・ファイルに関する。」

H 「【0030】間接アドレス指定操作モード(間接読取りおよび間接書込み)は,例証として次のような場合に使用することができる。
1)ベクトル・データ206ファイルにベクトルとして格納されたアドレスのリストを介しての任意のサブベクトル・アクセス。
2)信号標本がポインタ・レジスタ202に置かれた場合のデータ指定アクセス。この場合,各信号値は,フィルタ係数を選択するために多くのアルゴリズムで必要となるベクトル要素にアクセスすることができる。
3)データ収集オペレーションにより,分散したデータを順次SIMD処理可能データに変換する場合。
【0031】間接コマンドは他のタスクにも使用することができるので,これは網羅的なリストではない。
【0032】引き続き図2を参照しながら,図4に示した区分例を使用して,間接読取りについて説明しよう。4要素の最初のベクトル403は,ベクトル・データ・ファイル206のアドレス(8,3),(8,5),(9,2),および(9,3)に相当する二進要素値を含む。ベクトル・レジスタ・データ・ファイル206のデータにアクセスする第1サイクルのオペレーションの制御は,ポインタ配列202の語アドレス「1」の読み出し,4つのアドレス全部のイネーブル208,ベクトル・データ・ファイル206の読取り,マルチプレクサ制御値211の0(右のレッグを選択),および「はい」のputaway値を指定する。この値の結果,ベクトル・データ・ファイル206の場所8,3の16ビットの要素がベクトル・データ・ファイル206から読み取られ,バス207のR1に置かれる。この値の9ビットは,マルチプレクサ205の最初の1つにも結合される。上述した通り,これらの9ビットは,ベクトル・データ・ファイル206内の要素のアドレスに相当する二進値を有する。同様に,他の3つの要素のそれぞれの値の9ビットもマルチプレクサ205に結合される。マルチプレクサ選択制御211は右を選択し,putaway制御は「はい」を指定するので,場所(8,3),(8,5),(9,2),および(9,3)に含まれる値は,ポインタ語アドレス「1」の4つのフィールドに書き込まれる。
【0033】第2サイクルの制御は,ポインタ配列202の語アドレス「1」の読取り,4つのアドレス208全部のイネーブル,ベクトル・データ・ファイル206の読取り,マルチプレクサ制御値211の0(右のレッグを選択),および「いいえ」のputaway制御値を指定する。第2サイクルのオペレーションは結果的に,今ポインタ・ファイル語アドレス「1」にあるアドレスの4つの要素がベクトル・データ・ファイル206から読み取られ,バス207に置かれる。これらは,ベクトル・データ・ファイル206における位置がベクトル・データ・ファイル206の場所(8,3),(8,5),(9,2),および(9,3)の低位9ビットの値に相当する4つの要素である。
【0034】間接書込み(「データ分散」)オペレーションは,同様のシーケンスで制御される。データ分散オペレーションを実行できるためには,各要素アドレス230がベクトル・データ・ファイル206内の任意の16ビット・データ要素への書込みを指定することができるように,64ビットの書込みポート261(図2)を4つの16ビット・ポート(合計して64ビット)に区分化する必要があることに注意されたい。この能力により,要素1のアドレスは,64ビット・バス210の最初の16ビットのベクトル要素R1を,データ・ファイル206のどこに書き込むかを指定し,要素2のアドレスは,64ビット・バス210の2番目の16ビットのベクトル要素R2をデータ・ファイル206のどこに書き込むかを指定し,R3およびR4についても同様に繰り返される。簡略化した実施形態では,ハードウェアのコスト上の理由のため,この能力を省くことができる。記述した実施形態では,ベクトル・レジスタ・データ・ファイル206内のデータにアクセスする第1サイクルのオペレーションの制御は,ポインタ配列202の語アドレス「1」の読取り,4つのアドレス全部のイネーブル208,ベクトル・データ・ファイル206の読取り,マルチプレクサ制御値211の0(右のレッグを選択),および「はい」のputaway制御値を指定する。これは,指定された4つの要素の値を読取り,この値をポインタ配列語アドレス「1」に書き込む。第2サイクルの制御は,ポインタ配列202の語アドレス「1」の読取り,4つのアドレス全部のイネーブル208,ベクトル・データ・ファイル206の書込みマルチプレクサ制御211値の0(右のレッグを選択),および「いいえ」のputaway制御値を指定する。これにより,バス210上の4つの要素が取り出され,それらは,第1サイクルで読み取られるアドレスによって指定されるベクトル・データ・ファイル206の4つの要素に入れられる。
【0035】任意のポインタを使用してデータ・ファイル内の計算の開始点を指定する能力により,フィルタリングおよび畳込みなどの計算のために,1つのベクトルを他のベクトルまたはそれ自身の上で「スライド」させることが,極めて簡単かつ高速になる。
【0036】当業者は,図2に示したアドレスの生成および使用の論理が,ベクトル・データ・ファイル206のマルチポート・アクセスに対して繰り返すことができることを理解されるであろう。図2の実施形態のマルチポート・オペレーションのための最初の延長は,同時オペレーションが可能なファイル206,つまり1つのポートを読取り専用,もう1つを書込み専用とする2ポート・ファイルの読取りおよび書込みポート(それぞれ262および261)を作ることである。そのような構造により,古いデータが読取りポート262から読み取られ,バス207に置かれ,処理されて,結果がデータ・メモリ105に書き込まれる間に,新しいデータをバス210から書込みポート261を介してベクトル・データ・ファイル206にロードすることができる。これにより,任意のサイズのベクトルを処理装置に間断なく流すことが可能になる。」

第4 対比・判断
1.本願発明1について
(1)対比
本願発明1と引用発明とを対比すると,次のことがいえる。

(ア)引用発明の「データ処理システム内のオペランドの複製を伴う置換のための方法」は,「PWR動作の実行中,プロセッサは,制御ベクトルによってインデックス付けされた連結レジスタ内の各フィールドの内容を,インデックスの対応する列位置の結果ベクトルレジスタに配置し」ているところ,引用発明の「連結レジスタ内の各フィールドの内容」「結果ベクトルレジスタ」は本願発明1の「要素データ値」「出力ベクトル」に相当することは明らかであるから,引用発明の「データ処理システム内のオペランドの複製を伴う置換のための方法」が本願発明1の「1つまたは複数の要素データ値を出力ベクトル内に配置するための方法」に対応する。

(イ)引用発明では,「PWR動作」において,「制御ベクトルレジスタVCに制御ベクトルがロードされ」,「入力レジスタVAおよびVBの各々には,処理すべき適切に整列されたデータベクトルがロードされ」,「制御レジスタVCにロードされた制御ベクトルの関数として,2つの入力ベクトルVA,VBに対してPWR動作を実行し」ているところ,「PWR動作の実行中」,「プロセッサは,制御ベクトルによってインデックス付けされた連結レジスタ内の各フィールドの内容を,インデックスの対応する列位置の結果ベクトルレジスタに配置し」ているから,引用発明の「制御ベクトル」は,結果ベクトルレジスタに対応する“アドレスのセット”を含んでいるということができる。
したがって,引用発明の「制御ベクトル」は,本願発明1における「出力ベクトルに対応するアドレスのセットを含む水平置換制御ベクトル」に対応する。
また,引用発明では,「制御ベクトルによってインデックス付けされた連結レジスタ内の各フィールドの内容を,インデックスの対応する列位置の結果ベクトルレジスタに配置し」ているのであるから,制御ベクトルを「識別するステップ」を含んでいることは自明である。
してみれば,引用発明と本願発明1とは,「出力ベクトルに対応するアドレスのセットを含む水平置換制御ベクトルを識別するステップ」を含む点で一致する。

(ウ)上記(ア)(イ)の検討から,引用発明の「制御ベクトルによってインデックス付けされた連結レジスタ内の各フィールドの内容を,インデックスの対応する列位置の結果ベクトルレジスタに配置」する“ステップ”が,本願発明1の「水平置換制御ベクトル内のアドレスのセットに基づいて,前記複数の要素データ値の少なくとも一部を前記出力ベクトル内に配置するステップ」に相当する。

したがって,本願発明1と引用発明との間には,次の一致点,相違点があるといえる。

(一致点)
「1つまたは複数の要素データ値を出力ベクトル内に配置するための方法であって,
出力ベクトルに対応するアドレスのセットを含む水平置換制御ベクトルを識別するステップと,
前記水平置換制御ベクトル内の前記アドレスのセットに基づいて,前記複数の要素データ値の少なくとも一部を前記出力ベクトル内に配置するステップと
を含む,方法。」

(相違点)
(相違点1)
本願発明1の方法が,
「複数の要素を含む垂直置換制御ベクトルを識別するステップであって,前記複数の要素が,ベクトルレジスタファイル内の複数のベクトルレジスタのうちのベクトルレジスタをそれぞれ示す,対応する複数のレジスタアドレスを含む,ステップと,
前記垂直置換制御ベクトルの前記複数の要素から前記複数のレジスタアドレスを読み取るステップと,
前記対応する複数のレジスタアドレスに基づく前記複数の要素について,前記複数のベクトルレジスタから複数の要素データ値を取り出すステップであって,前記複数の要素データ値の各要素データ値は,前記垂直置換制御ベクトル内の対応するレジスタアドレスの位置と一対一対応を有する前記ベクトルレジスタ内の位置において,前記対応するレジスタアドレスによって示される前記複数のベクトルレジスタのうちのベクトルレジスタから取り出される,ステップと」を含んでいるのに対して,
引用発明の方法は,そのような構成を含んでいない点。

(2)相違点についての判断
本願発明1は,上記相違点1に係る「前記複数の要素が,ベクトルレジスタファイル内の複数のベクトルレジスタのうちのベクトルレジスタをそれぞれ示す,対応する複数のレジスタアドレスを含む」「垂直置換制御ベクトル」を構成として含むものであるところ,引用発明には,この「垂直置換制御ベクトル」に対応する構成は特定されていない。
本願発明1の「垂直置換制御ベクトル」は,図2の構成及び明細書の段落0032の「ベクトルレジスタVuは,32個の要素を含むことがあり,各要素は,32ビットレジスタアドレスを含み得る。たとえば,Vu[0]=4かつベクトルレジスタV4[0]についてのレジスタアドレスを含み,Vu[1]=5かつベクトルレジスタV5[1]についてのレジスタアドレスを含み,Vu[2]=6かつベクトルレジスタV6[2]についてのレジスタアドレスを含み,Vu[3]=7かつベクトルレジスタV7[3]についてのレジスタアドレスを含む。」との記載からみて,垂直置換制御ベクトル内の要素は,図2に128?134で示されるベクトルレジスタV4?V7のいずれかを指し示すものであり,これにより,垂直置換制御ベクトル内の要素の位置に対応する4つのデータのいずれかが選択されるものであり,例えば,本願明細書の段落0034に「 一実施例では,Vu[0]からベクトルレジスタV4についてのレジスタアドレスを読み取った後,プロセッサ110は,ベクトルレジスタV4[0]に格納された要素データ値である要素データ値「i0」を取り出し得る。同様に,Vu[1]からベクトルレジスタV5についてのレジスタアドレスを読み取った後,プロセッサ110は,ベクトルレジスタV5[1]に格納された要素データ値である要素データ値「j1」を取り出し得る。同様に,Vu[2]からベクトルレジスタV6についてのレジスタアドレスを読み取った後,プロセッサ110は,ベクトルレジスタV6[2]に格納された要素データ値である要素データ値「k2」を取り出し得る。同様に,Vu[3]からベクトルレジスタV7についてのレジスタアドレスを読み取った後,プロセッサ110は,ベクトルレジスタV7[3]に格納された要素データ値である要素データ値「l3」を取り出し得る。プロセッサ110は,Vu内に格納された他のレジスタアドレスについて同様の動作を実施し得る。」と記載されているように,垂直置換制御ベクトル内の要素で指定されるベクトルレジスタV4?V7の,当該垂直置換制御ベクトル内の要素と同じ要素位置のデータが取り出されるものである。
そして,上記相違点1に係る「前記対応する複数のレジスタアドレスに基づく前記複数の要素について,前記複数のベクトルレジスタから複数の要素データ値を取り出すステップであって,前記複数の要素データ値の各要素データ値は,前記垂直置換制御ベクトル内の対応するレジスタアドレスの位置と一対一対応を有する前記ベクトルレジスタ内の位置において,前記対応するレジスタアドレスによって示される前記複数のベクトルレジスタのうちのベクトルレジスタから取り出される,ステップ」は,上記段落0034で説明されている動作を特定したものと認められる。
一方,引用発明の制御ベクトルは,「VTの第1のバイトには,データベクトルの第2のバイト(“1”)(レジスタVAの第2のバイト)がロードされるべきであり,レジスタVTの第2のバイトには,データベクトルの第21のバイト(“14H”)(レジスタVBの第5のバイト)がロードされるべきであることを示し」,「さらに,制御ベクトルの第9,第10および第11のフィールドは,出力ベクトルの対応するフィールドに,入力ベクトルのフィールド“1C”に位置する(レジスタVBの第13のバイトにロードされた)複製バイトをロードすべきであることを示して」おり,本願発明1の垂直置換制御ベクトルのように,「ベクトルレジスタファイル内の複数のベクトルレジスタのうちのベクトルレジスタをそれぞれ示す,対応する複数のレジスタアドレスを含む」というものではない。
してみれば,引用発明には,「複数の要素が,ベクトルレジスタファイル内の複数のベクトルレジスタのうちのベクトルレジスタをそれぞれ示す,対応する複数のレジスタアドレスを含む」「垂直置換制御ベクトル」が特定されておらず,また,これに対応した動作である「前記対応する複数のレジスタアドレスに基づく前記複数の要素について,前記複数のベクトルレジスタから複数の要素データ値を取り出すステップであって,前記複数の要素データ値の各要素データ値は,前記垂直置換制御ベクトル内の対応するレジスタアドレスの位置と一対一対応を有する前記ベクトルレジスタ内の位置において,前記対応するレジスタアドレスによって示される前記複数のベクトルレジスタのうちのベクトルレジスタから取り出される」という動作についても特定されていない。
また,上記相違点1に係る構成は,引用文献2にも記載がなく,また,上記相違点1に係る構成が,本願優先日前に当該技術分野における周知技術であったということもできない。
そうすると,引用発明において,
「複数の要素を含む垂直置換制御ベクトルを識別するステップであって,前記複数の要素が,ベクトルレジスタファイル内の複数のベクトルレジスタのうちのベクトルレジスタをそれぞれ示す,対応する複数のレジスタアドレスを含む,ステップと,
前記垂直置換制御ベクトルの前記複数の要素から前記複数のレジスタアドレスを読み取るステップと,
前記対応する複数のレジスタアドレスに基づく前記複数の要素について,前記複数のベクトルレジスタから複数の要素データ値を取り出すステップであって,前記複数の要素データ値の各要素データ値は,前記垂直置換制御ベクトル内の対応するレジスタアドレスの位置と一対一対応を有する前記ベクトルレジスタ内の位置において,前記対応するレジスタアドレスによって示される前記複数のベクトルレジスタのうちのベクトルレジスタから取り出される,ステップと」を含むようにすることは,当業者が容易に想到し得たとはいえない。

したがって,本願発明1は,当業者であっても引用発明及び引用文献2の記載事項に基づいて容易に発明できたものであるとはいえない。

2.本願発明9,13,14について
本願発明9及び14は,本願発明1に対応する装置の発明であり,また,本願発明13は,本願発明1に対応するコンピュータ可読記録媒体の発明であり,いずれも,本願発明1とカテゴリ表現が異なるだけの発明であるから,本願発明1と同様の理由により,当業者であっても,引用発明及び引用文献2の記載事項に基づいて容易に発明できたものとはいえない。

3.本願発明2-8,10-12について
本願発明2-8は,本願発明1を減縮した発明であり,本願発明10-12は,本願発明9を減縮した発明であるから,本願発明1と同様の理由により,当業者であっても,引用発明及び引用文献2の記載事項に基づいて容易に発明できたものとはいえない。

4.本願発明15について
本願発明15は,
「複数の要素を含む垂直置換制御ベクトルを識別するステップであって,前記複数の要素のうちの各要素が,ベクトルレジスタファイル内の複数のベクトルレジスタのうちのベクトルレジスタを示すレジスタアドレスを含む,ステップと,
前記垂直置換制御ベクトル内の前記レジスタアドレスに基づいて,前記一時ベクトル内の前記複数の要素データ値を前記複数のベクトルレジスタのうちの複数内に配置するステップと
を含み,
前記複数の要素データ値の各要素データ値は,前記垂直置換制御ベクトル内の対応するレジスタアドレスの位置と一対一対応を有する前記ベクトルレジスタ内の位置において,前記対応するレジスタアドレスによって示される前記複数のベクトルレジスタのうちのベクトルレジスタに配置される」
との特定事項(以下,「本願発明15特定事項」という。)を含むものであるところ,ここでの「垂直置換制御ベクトル」は,上記相違点1に係る「前記複数の要素が,ベクトルレジスタファイル内の複数のベクトルレジスタのうちのベクトルレジスタをそれぞれ示す,対応する複数のレジスタアドレスを含む」「垂直置換制御ベクトル」と同様のものであり,これを用いた「前記垂直置換制御ベクトル内の前記レジスタアドレスに基づいて,前記一時ベクトル内の前記複数の要素データ値を前記複数のベクトルレジスタのうちの複数内に配置するステップと
を含み,
前記複数の要素データ値の各要素データ値は,前記垂直置換制御ベクトル内の対応するレジスタアドレスの位置と一対一対応を有する前記ベクトルレジスタ内の位置において,前記対応するレジスタアドレスによって示される前記複数のベクトルレジスタのうちのベクトルレジスタに配置される」との動作は,ベクトルレジスタファイル内の指定されたベクトルレジスタに書き込む動作である点で,本願発明1とは異なるものの,垂直置換制御ベクトルの使い方の点では,本願発明1と共通するものである。
そして,上記相違点1に係る構成が,引用発明及び引用文献2の記載事項から当業者が容易に想到し得たとはいえないことから,同様に,上記本願発明15特定事項もまた,引用発明及び引用文献2の記載事項から,当業者が容易に想到し得たとはいえない。

5.本願発明19,20,21について
本願発明19及び21は,本願発明15に対応する装置の発明であり,また,本願発明20は,本願発明15に対応するコンピュータ可読記録媒体の発明であり,いずれも,本願発明15とカテゴリ表現が異なるだけの発明であるから,本願発明15と同様の理由により,当業者であっても,引用発明及び引用文献2の記載事項に基づいて容易に発明できたものとはいえない。

6.本願発明16-18について
本願発明16-18は,本願発明15を減縮した発明であるから,本願発明15と同様の理由により,当業者であっても,引用発明及び引用文献2の記載事項に基づいて容易に発明できたものとはいえない。

第5 原査定の概要及び原査定についての判断
<理由1(特許法第29条第2項)について>
原査定は,請求項1-21について上記引用文献1-2に基づいて,当業者が容易に発明できたものであるから,特許法第29条第2項の規定により特許を受けることができないというものである。しかしながら,令和元年6月13日付け手続補正により補正された請求項1は,上記相違点1に係る構成を有しており,上記のとおり,本願発明1-21は,引用発明及び引用文献2の記載事項に基づいて,当業者が容易に発明できたものではない。したがって,原査定を維持することはできない。

第6 当審拒絶理由について
<特許法第36条第6項第2号について>
(1)当審では,請求項6の「データ構造を参照するスカラ値を受け取るステップ」,「前記データ構造内の前記垂直置換制御ベクトルを識別するステップ」との記載における「データ構造」がどのような「データ構造」を特定しようとしているのかが不明確であるとの拒絶の理由を通知しているが,令和元年6月13日付けの手続補正において,「読取り専用メモリ(ROM)内に格納されたデータ構造を参照するスカラ値を受け取るステップ」と補正された結果,この拒絶の理由は解消した。

(2)当審では,請求項7,11,12,17,18について,上記(1)と同様の拒絶の理由を通知しているが,令和元年6月13日付けの手続補正において,「読取り専用メモリ(ROM)内に格納されたデータ構造を参照するスカラ値を受け取るステップ」(請求項7),「読取り専用メモリ(ROM)内に格納されたデータ構造を参照するスカラ値を受け取るようにさらに構成され」(請求項11),「読取り専用メモリ(ROM)内に格納されたデータ構造を参照するスカラ値を受け取るようにさらに構成され」(請求項12),「読取り専用メモリ(ROM)内に格納されたデータ構造を参照するスカラ値を受け取るステップ」(請求項17),「読取り専用メモリ(ROM)内に格納されたデータ構造を参照するスカラ値を受け取るステップ」(請求項18)と補正された結果,この拒絶の理由は解消した。

(3)当審では,請求項14の「前記複数の要素データ値の各要素データ値は,前記垂直置換制御ベクトル内の対応するレジスタアドレスの位置と一対一対応を有する前記ベクトルレジスタ内の位置において,前記対応するレジスタアドレスによって示される前記複数のベクトルレジスタのうちのベクトルレジスタから取り出される,前記垂直置換制御ベクトル内の前記レジスタアドレスの位置によって示される前記ベクトルレジスタ内の位置の前記レジスタアドレスによって示される前記ベクトルレジスタから要素データ値を取り出される」との記載内容は,一部の内容が重複していて不明確であるとの拒絶の理由を通知しているが,令和元年6月13日付けの手続補正において,上記記載が,「前記複数の要素データ値の各要素データ値は,前記垂直置換制御ベクトル内の対応するレジスタアドレスの位置と一対一対応を有する前記ベクトルレジスタ内の位置において,前記対応するレジスタアドレスによって示される前記複数のベクトルレジスタのうちのベクトルレジスタから取り出される」と補正された結果,この拒絶の理由は解消した。

第7 むすび
以上のとおり,原査定の理由によっては,本願を拒絶することはできない。
また,他に本願を拒絶すべき理由を発見しない。
よって,結論のとおり審決する。
 
審決日 2019-07-17 
出願番号 特願2016-501361(P2016-501361)
審決分類 P 1 8・ 121- WY (G06F)
最終処分 成立  
前審関与審査官 原 忠  
特許庁審判長 辻本 泰隆
特許庁審判官 須田 勝巳
山崎 慎一
発明の名称 水平置換を用いるベクトル間接要素垂直アドレッシングモード  
代理人 黒田 晋平  
代理人 村山 靖彦  

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