【事件の表示】
　平成１０年特許願第１１１２２４号「プログラム最適化方法及びマイクロコンピュータ」拒絶査定不服審判事件〔平成１１年１１月　５日出願公開、特開平１１−３０６０１５〕について、次のとおり審決する。
【結　論】
　本件審判の請求は、成り立たない。
【理　由】
１．手続の経緯
　本願は、平成１０年４月２２日の出願であって、平成１４年１０月８日付けで拒絶理由通知がなされ、同年１２月１６日付けで手続補正がなされたが、平成１５年１２月１２日付けで拒絶査定がなされ、これに対し、平成１６年１月１５日に拒絶査定に対する審判請求がなされるとともに、同年２月１６日付けで手続補正がなされたものである。
　
２．平成１６年２月１６日付けの手続補正についての補正却下の決定
［補正却下の決定の結論］
　平成１６年２月１６日付けの手続補正を却下する。
［理由］
（１）新規事項の追加の有無について
　平成１６年２月１６日付けの手続補正（以下、「本件手続補正」という。）の内容は、特許請求の範囲の請求項１の記載を、
「【請求項１】　ｍビット（ｍ：自然数）からなる１次命令コードで作成した１次プログラムを、ｎビット（ｎ：自然数、かつｍ≧ｎ）からなる２次命令コードで作成された２次プログラムへと変換してプログラムを最適化するマイクロコンピュータであって、前記１次プログラムにおいて使用されている前記１次命令コードを抽出し、オペコード別にまとめ、その１次命令コードを、前記２次命令コードに割り当てる２次命令コード生成手段と、前記２次命令コード生成手段によって生成された２次命令コードで作成された２次プログラムを記憶する命令メモリと、前記２次命令コードを生成するときに論理構造が生成されたプログラマブルロジックによって構成され、前記２次命令コードを前記１次命令コードへと変換するプリデコーダと、前記論理構造に応じて決定される前記プリデコーダのパイプライン段数を格納するパイプライン設定レジスタと、前記プリデコーダから出力される１次命令コードを複数の制御信号に変換する命令デコーダと、前記命令デコーダから出力される複数の制御信号に基づいた所定の処理を実行する演算器／制御装置／レジスタ群とを備え、前記パイプライン段数に基づくパイプライン処理で、前記プリデコーダと前記命令デコーダと前記演算器／制御装置／レジスタ群とを動作させることを特徴とするマイクロコンピュータ。」
と補正するとともに、発明の詳細な説明の段落【０００１】、【００１７】の記載を、
「【０００１】
【発明の属する技術分野】
　本発明は、ｍビットからなる命令コードで作成したプログラムを最適化するマイクロコンピュータに関するものである。」、
「【００１７】
【発明の実施の形態】
　本発明の請求項１に記載のマイクロコンピュータは、ｍビット（ｍ：自然数）からなる１次命令コードで作成した１次プログラムを、ｎビット（ｎ：自然数、かつｍ≧ｎ）からなる２次命令コードで作成された２次プログラムへと変換してプログラムを最適化するマイクロコンピュータであって、前記１次プログラムにおいて使用されている前記１次命令コードを抽出し、オペコード別にまとめ、その１次命令コードを、前記２次命令コードに割り当てる２次命令コード生成手段と、前記２次命令コード生成手段によって生成された２次命令コードで作成された２次プログラムを記憶する命令メモリと、前記２次命令コードを生成するときに論理構造が生成されたプログラマブルロジックによって構成され、前記２次命令コードを前記１次命令コードへと変換するプリデコーダと、前記論理構造に応じて決定される前記プリデコーダのパイプライン段数を格納するパイプライン設定レジスタと、前記プリデコーダから出力される１次命令コードを複数の制御信号に変換する命令デコーダと、前記命令デコーダから出力される複数の制御信号に基づいた所定の処理を実行する演算器／制御装置／レジスタ群とを備え、前記パイプライン段数に基づくパイプライン処理で、前記プリデコーダと前記命令デコーダと前記演算器／制御装置／レジスタ群とを動作させる構成とする。
　・・・（後略）・・・」
と補正することを含むものである。
　
　上記補正内容のうち、請求項１、段落【００１７】において、「ｍビット（ｍ：自然数）からなる１次命令コードで作成した１次プログラムを、ｎビット（ｎ：自然数、かつｍ≧ｎ）からなる２次命令コードで作成された２次プログラムへと変換してプログラムを最適化するマイクロコンピュータであって、・・・」とし、かつ、「マイクロコンピュータ」が備える構成要素として「前記１次プログラムにおいて使用されている前記１次命令コードを抽出し、オペコード別にまとめ、その１次命令コードを、前記２次命令コードに割り当てる２次命令コード生成手段」を含ませている点、及び、段落【０００１】において、「本発明は、ｍビットからなる命令コードで作成したプログラムを最適化するマイクロコンピュータに関するものである。」とした点について検討する。
　
　出願当初の明細書又は図面においては、まず、段落【０００１】に、
「【０００１】
【発明の属する技術分野】
　本発明は、ｍビットからなる命令コードで作成したプログラムにおける演算処理方法及びそれを用いたマイクロコンピュータに関するものである。」
と記載され、それに続く段落【０００２】〜【０００５】で、図１１とともに、「従来の技術」として、「マイクロコンピュータ３００」に関連する説明がなされている。
　そして、段落【０００６】〜【００１０】の「発明が解決しようとする課題」の項では、特に、段落【００１０】に、「・・・命令メモリの使用容量を低減することができ、圧縮効率の向上および動作のより高速化を実現することができる演算処理方法及びそれを用いたマイクロコンピュータを提供する。」と記載され、段落【００１１】〜【００１６】の「課題を解決するための手段」の項では、特に、段落【００１５】に、「さらに、本手法は既存のマイクロコンピュータにおいても、プリデコーダを追加することで適用し、設計資源を有効に活用することを可能とすることを特徴とする。」と記載されている。
　上記事項を踏まえ、段落【００１７】〜【００５４】の「発明の実施の形態」の項では、まず、段落【００１７】に、「本発明の請求項１に記載の演算処理方法」として、複数のステップよりなる方法が記載され、続く段落【００１８】、【００１９】に、「請求項２，３に記載のマイクロコンピュータ」として、「請求項１に記載の演算処理方法に含まれる各ステップを用いて演算処理するマイクロコンピュータ」が記載されている。
　ここで、上記段落【００１８】、【００１９】の記載からは、「マイクロコンピュータ」の構成要素として、上記本件手続補正後の記載に見られる「前記１次プログラムにおいて使用されている前記１次命令コードを抽出し、オペコード別にまとめ、その１次命令コードを、前記２次命令コードに割り当てる２次命令コード生成手段」を含むとは読み取ることができない。
　すなわち、「１次命令コードを２次命令コードに割り当てる」ことは、「２次命令コード生成ステップ」として、段落【００１７】の「演算処理方法」に記載されているが、段落【００１８】、【００１９】の「マイクロコンピュータ」は、「請求項１に記載の演算処理方法に含まれる各ステップ」を「用いて」演算処理するものであっても、上記「２次命令コード生成ステップ」を遂行する構成要素として「２次命令コード生成手段」を「マイクロコンピュータ」が備えるとはされていない。
　このことは、段落【００２６】〜【００３０】で、図１とともに説明されている「本実施の形態の演算処理方法及びそれを用いたマイクロコンピュータの原理説明図」からも明らかである。すなわち、図１で「５０」の参照符号が付された点線枠の構成は、【図面の簡単な説明】中の【符号の説明】に「５０，３００　マイクロコンピュータ」とあるように、図１１に見られる「従来の技術」の「マイクロコンピュータ３００」に対応する「マイクロコンピュータ５０」である。これは、段落【００１５】の「さらに、本手法は既存のマイクロコンピュータにおいても、
プリデコーダを追加
　そして、出願当初の明細書又は図面の他の記載を見ても、「マイクロコンピュータ」が構成要素として「２次命令コード生成手段」を備え、「プログラム最適化装置」ではなく「マイクロコンピュータ」が「プログラムを最適化する」という作用を果たすということは、どこにも記載も示唆もされないことである。
　
　したがって、本件手続補正は、願書に最初に添付した明細書又は図面に記載した事項の範囲内においてしたものであるとは認められず、特許法第１７条の２第３項に規定する要件を満たしていない。
　
（２）補正の目的の適否について
　次に、本件手続補正の目的が特許法第１７条の２第４項の規定に適合するか否かを検討する。
　
　本件手続補正後の特許請求の範囲の請求項１の記載は、上記（１）に摘記したとおりのものである。
　一方、本件手続補正前の特許請求の範囲の記載（平成１４年１２月１６日付け手続補正書によるもの）は、次のとおりのものである。
「【請求項１】　ｍビット（ｍ：自然数）からなる１次命令コードで作成した１次プログラムを、ｎビット（ｎ：自然数、かつｍ≧ｎ）からなる２次命令コードで作成された２次プログラムへと変換するプログラム最適化方法であって、前記１次プログラムにおいて使用されている前記１次命令コードを抽出し、オペコード別にまとめる１次プログラム解析ステップと、前記１次プログラム解析ステップにおける解析結果に基づいて、前記抽出された１次命令コードを、前記２次命令コードに割り当てる２次命令コード生成ステップと、前記２次命令コードを前記１次命令コードへとプログラマブルロジックを用いて変換するための論理構造を生成するプリデコーダ論理生成ステップとを備えることを特徴とするプログラム最適化方法。
・・・（中略）・・・
【請求項４】　請求項１から３のいずれかに記載のプログラム最適化方法によって生成された２次プログラムを記憶する命令メモリを備えたマイクロコンピュータであって、前記プリデコーダ論理生成ステップで生成された論理構造に基づくプログラマブルロジックによって構成され、前記２次命令コードを前記１次命令コードへと変換するプリデコーダを備えることを特徴とするマイクロコンピュータ。
【請求項５】　請求項４記載のマイクロコンピュータであって、前記論理構造に応じて決定される前記プリデコーダのパイプライン段数を格納するパイプライン設定レジスタと、前記プリデコーダから出力される１次命令コードを複数の制御信号に変換する命令デコーダと、前記命令デコーダから出力される複数の制御信号に基づいた所定の処理を実行する演算器／制御装置／レジスタ群とをさらに備え、前記パイプライン段数に基づくパイプライン処理で、前記プリデコーダと前記命令デコーダと前記演算器／制御装置／レジスタ群とを動作させることを特徴とするマイクロコンピュータ。
・・・（後略）・・・」
　
　本件手続補正後の特許請求の範囲の請求項１は、本件手続補正前の特許請求の範囲の請求項５に対応するものと解されるが、「マイクロコンピュータ」内の構成要素としては本件手続補正前の特許請求の範囲の請求項５には存在しない「２次命令コード生成手段」を「マイクロコンピュータ」内の構成要素として新たに付加するものである。
　したがって、補正後の請求項１に係る発明は、補正前の請求項５に係る発明を特定するために必要な事項を限定して特許請求の範囲の減縮をしたものとは認められず、特許法第１７条の２第４項第２号の規定に適合しない。
　また、上記補正が、特許法第１７条の２第４項第１号の請求項の削除、第３号の誤記の訂正、第４号の明りょうでない記載の釈明に該当するものとも認められない。
　
（３）むすび
　上記（１）、（２）で検討したとおり、本件手続補正は、特許法第１７条の２第３項及び第４項に違反するものであり、特許法第１５９条第１項で準用する同法第５３条第１項の規定により却下されるべきものである。
　                
３．補正却下の決定を踏まえた検討
（１）本願発明
　平成１６年２月１６日付けの手続補正は、上記のとおり却下されたので、本願の請求項２に係る発明は、平成１４年１２月１６日付け手続補正書の特許請求の範囲の請求項２に記載されたとおりの次のものと認める。（以下、「本願発明」という。）
「ｍビット（ｍ：自然数）からなる１次命令コードで作成した１次プログラムを、最大でｎビット（ｎ：自然数、かつｍ≧ｎ）までの複数のビット幅を持つ２次命令コードで作成された２次プログラムへと変換するプログラム最適化方法であって、前記１次プログラムにおいて使用されている１次命令コードを抽出して、その出現頻度を解析する１次プログラム解析ステップと、前記１次プログラム解析ステップで抽出された１次命令コードを、前記解析された出現頻度に応じたビット数Ｓ（Ｓ：自然数、かつ１≦Ｓ≦ｎ）の前記２次命令コードに割り当てる２次命令コード生成ステップと、前記２次命令コードを前記１次命令コードへとプログラマブルロジックを用いて変換するための論理構造を生成するプリデコーダ論理生成ステップとを備えることを特徴とするプログラム最適化方法。」　
　
（２）引用例
　これに対して、原査定の拒絶の理由に引用された特開平９−２３１０７１号公報（以下、「引用例」という。）には、図面とともに次の事項が記載されている。
　
Ａ．「【０００１】
【発明の属する技術分野】本発明は、プログラムを格納するＲＯＭなどのメモリ容量を減少させることができるコンピュータ装置に関する。」
　
Ｂ．「【００１３】本発明は、上記事情に鑑み、オブジェクトコードの命令語のビット数を適応的に少なくして主記憶装置に格納することにより、メモリ容量を減少させると共に、動作速度の高速化または消費電力の低減化を図ることができるコンピュータ装置を提供することを目的としている。
【００１４】
【課題を解決するための手段】本発明のコンピュータ装置は、アドレスを指定して読み込んだオブジェクトコードの各命令語を処理するプロセッサと、１語が該オブジェクトコードの命令語よりも少ないビット数で構成され、かつ、各語が一義的に該オブジェクトコードのいずれかの命令語に対応する擬似命令語を各アドレスに１語ずつ記憶すると共に、該プロセッサが指定したアドレスの擬似命令語を読み出すメモリと、該メモリから読み出された擬似命令語を該オブジェクトコードの命令語に変換して該プロセッサに送る命令語変換器とを備え、そのことにより上記目的が達成される。」
　
Ｃ．「【００３６】本実施形態は、図１に示すように、ＣＰＵ［Central Processing Unit］として３２ビットのマイクロプロセッサ１１を用い、ＲＯＭ３にプログラムを格納したコンピュータ装置について説明する。また、命令語の１語のビット数も、マイクロプロセッサ１１の語長と同じ３２ビットとする。ただし、これらのビット数は、３２ビットに限らず何ビットでもよい。そして、命令語は上記のように単に適当なビット数で区切ったものであるため、マイクロプロセッサ１１の語長と命令語のビット数を相違させることもできる。もっとも、この命令語は、マイクロプロセッサ１１の語長と同じか少ないビット数にしておかないと、１語の読み込みに２回以上のアクセスが必要となり処理が面倒になる。
【００３７】本実施形態では、アドレスバス４のビット数を３２ビットとし、ＲＯＭ３は２３２のアドレス空間を有するものとする。このＲＯＭ３には、擬似命令語からなる擬似コードが格納されている。擬似命令語については後に詳細に説明するが、ここでは１語がデータバス５と同じ１６ビットであるとする。そして、このＲＯＭ３は、擬似命令語を１語（１６ビット）ずつ読み出すものとし、ここで示すデータバス５も１６ビットのみを使用する。ただし、これらのビット数やＲＯＭ３のアドレス空間の大きさも任意である。もっとも、この擬似命令語の１語のビット数は、少なくとも命令語の１語のビット数よりも少なくなければならない。なお、ＲＯＭ３は、マスクＲＯＭの他、ＥＥＰＲＯＭなどの書き換え可能なものであってもよい。
【００３８】マイクロプロセッサ１１は、プロセッサ本体１と命令語変換器２とを一体的に組み込んでＬＳＩ化したものである。プロセッサ本体１は、図１０に示したマイクロプロセッサ１と同じ構成である。命令語変換器２は、入力レジスタ２ａと変換回路２ｂとからなり、データバス５を介して送られて来る１６ビットの擬似命令語を入力レジスタ２ａを介して変換回路２ｂに入力するようになっている。変換回路２ｂは、入力された１６ビットの擬似命令語を３２ビットの本来の命令語に変換するものであり、変換した命令語はプロセッサ本体１のデータレジスタ１ｃに送るようになっている。なお、命令語変換器２は、マイクロプロセッサ１１の外部に設け、データバス５とこのマイクロプロセッサ１１との間に接続配置するようにしてもよい。
【００３９】上記擬似コードの各擬似命令は、オブジェクトコードのいずれかの命令語に一義的に対応するものである。ここで、オブジェクトコードの命令語は、１語が３２ビットであることから、最大２３２種類（４，２９４，９６７，２９６種類）のバリエーションを有することになる。ただし、２３２のアドレス空間を有するＲＯＭ３に本来格納する筈であったオブジェクトコードは、最大でも２３２語までであり、オブジェクトコード内では同じ命令語が重複して何度も使用されているのが普通であるため、このオブジェクトコード内で実際に使用される命令語のバリエーションは、２３２種類よりも十分に少なくなる。また、オブジェクトコードの語数がより少なくなれば、実際に使用される命令語のバリエーションもさらに少なくなる。したがって、この実際に使用される命令語のバリエーションがＮ種類であるとすると、２ｎ（ｎは１以上の整数）がＮ以上で最小となるときのｎを擬似命令語の１語のビット数と定めれば、２ｎ種類以内の各擬似命令語を実際に使用されるＮ種類の各命令語に一対一で全て対応させることができる。そして、ここでは、実際に使用される命令語のバリエーションが２１５＜Ｎ≦２１６（３２，７６８＜Ｎ≦６５，５３６）の範囲内であったとする。このため、擬似命令語の１語のビット数を１６ビット（ｎ＝１６）とし、最大２１６種類のバリエーションを有するものとすれば、これらの各擬似命令語をＮ種類の各命令語にそれぞれ対応させることができる。
【００４０】また、ＲＯＭ３は、オブジェクトコードをそのまま格納する場合には、図２に示すように、３２ビットのアドレスＡ0〜Ａ31で指定される２３２の各アドレス毎に、命令語を１語ずつ格納するための３２ビットの記憶領域を必要とする。しかし、１６ビットの擬似命令語からなる擬似コードを格納する場合には、図３に示すように、各アドレス毎に擬似命令語を１語ずつ格納するための１６ビットの記憶領域があれば足りる。即ち、この場合には、ＲＯＭ３のメモリ容量を１／２（＝１６／３２）に減少させることができ、例えばアドレスが３２ビットで１ビットのデータを出力するメモリデバイスを使用する場合であれば、本来３２個のメモリデバイスを併設しなければならないところを、１６個のメモリデバイスで済ませることができるようになる。
【００４１】さらに、オブジェクトコード内で実際に使用される命令語のバリエーションが２１１＜Ｎ≦２１２の範囲内であったとすると、擬似命令語の１語のビット数を１２ビット（ｎ＝１２）まで減少させることができる。そして、この場合には、図４に示すように、各アドレス毎に擬似命令語を１語ずつ格納するための１２ビットの記憶領域があれば足りるので、ＲＯＭ３のメモリ容量を３／８（＝１２／３２）に減少させることができる。」
　
Ｄ．「【００４２】上記擬似コードを作成するには、例えば、まず本実施形態のコンピュータ装置で実行させるために作成したソースプログラムをコンパイラでコンパイルしてオブジェクトコードに変換し、このオブジェクトコードが再配置可能形式のものである場合にはＲＯＭ３上にロードしたものと同じ実行可能な形式に変換した上で、このオブジェクトコード内で使用される全ての命令語を調べる。すると、この命令語のバリエーションの数Ｎが分かり、これによって擬似命令語のビット数ｎが決まる。したがって、このＮ種類の各命令語をｎビットの各擬似命令語にそれぞれ対応させて、この対応表に基づき、先のオブジェクトコードの各命令語を擬似命令語に変換すれば上記擬似コードを作成することができる。そして、この擬似コードを擬似命令語の１語ずつＲＯＭ３の各アドレスに格納すれば、各擬似命令語のアドレス上における相対位置関係は、元のオブジェクトコードの場合と同じになる。なお、擬似命令語のビット数ｎは、２ｎがＮ以上であれば必ずしも最小である必要はない。このようにビット数ｎが最小ではない場合や最小であっても対応付けする必要のない擬似命令語が多数残る場合には、この残りの各擬似命令語を別の命令語に対応付けておき、他の特定のオブジェクトコードについても同じ対応表を使用できるようにすることも可能である。
【００４３】上記命令語変換器２における変換回路２ｂは、図５に示すように、ｎビット（図１の場合は１６ビット）のアドレス空間を有し、各アドレスの記憶領域に３２ビットの命令語を格納することができるＲＯＭによって構成することができる。このＲＯＭには、擬似命令語と命令語の対応関係を示す変換テーブルが格納される。この変換テーブルは、上記命令語と擬似命令語の対応表の関係を逆にしたものである。そして、ｎビットの各擬似命令語をアドレスとした場合の３２ビットの記憶領域に、対応する各命令語を格納する。したがって、図１の場合には、プロセッサ本体１が３２ビットのアドレスを出力することによりＲＯＭ３から読み出した１６ビットの擬似命令語は、入力レジスタ２ａを介して変換回路２ｂのＲＯＭにアドレスとして入力される。そして、この変換回路２ｂのＲＯＭから読み出した３２ビットの命令語がプロセッサ本体１のデータレジスタ１ｃに送られることになる。
【００４４】また、上記変換回路２ｂは、図６に示すように、ｎビットのアドレス空間を有し、各アドレスに３２ビットの命令語を格納することができるＲＡＭによって構成することもできる。このＲＡＭは、ロード信号をアクティブにして書き込み状態とし、各擬似命令語をアドレス入力すると共に、これに対応する３２ビットの命令語を順に入力することにより、図５に示したＲＯＭと同じ変換テーブルを格納することができる。そして、ロード信号を非アクティブにすれば、このＲＯＭと同様の動作を行うことができる。しかも、再度書き込み動作を行えば、変換テーブルの内容を変更することができる。したがって、このようなＲＡＭを用いた変換回路２ｂは、ＲＯＭ３の挿し替えやＥＥＰＲＯＭからなるＲＯＭ３の記憶内容の書き換えなどによりオブジェクトコードが変更される可能性がある場合に使用すると便利である。
【００４５】さらに、上記変換回路２ｂは、ＲＯＭやＲＡＭによる変換テーブルを用いるのではなく、通常の論理回路やＰＬＡ［Programmable Logic Array］を用いて構成することも可能である。」
　
　上記Ｃの段落【００３６】に「・・・ＲＯＭ３にプログラムを格納したコンピュータ装置・・・」とあり、段落【００３７】に「このＲＯＭ３には、擬似命令語からなる擬似コードが格納されている。擬似命令語については後に詳細に説明するが、ここでは１語がデータバス５と同じ１６ビットであるとする。」とあることから、上記「ＲＯＭ３」には、「１６ビットからなる擬似コードで作成されたプログラム」が格納されるものと認められる。
　そして、上記Ｃの段落【００３９】に「上記擬似コードの各擬似命令は、オブジェクトコードのいずれかの命令語に一義的に対応するものである。ここで、オブジェクトコードの命令語は、１語が３２ビットである・・・」とあり、上記Ｄの段落【００４２】に「上記擬似コードを作成するには、例えば、まず本実施形態のコンピュータ装置で実行させるために作成したソースプログラムをコンパイラでコンパイルしてオブジェクトコードに変換し、このオブジェクトコードが再配置可能形式のものである場合にはＲＯＭ３上にロードしたものと同じ実行可能な形式に変換した上で、このオブジェクトコード内で使用される全ての命令語を調べる。すると、この命令語のバリエーションの数Ｎが分かり、これによって擬似命令語のビット数ｎが決まる。したがって、このＮ種類の各命令語をｎビットの各擬似命令語にそれぞれ対応させて、この対応表に基づき、先のオブジェクトコードの各命令語を擬似命令語に変換すれば上記擬似コードを作成することができる。」とあるように、上記「ＲＯＭ３」に格納される「１６ビットからなる擬似コードで作成されたプログラム」は、「３２ビットからなるオブジェクトコードで作成したプログラム」において使用される全ての命令語を調べ、オブジェクトコードの各命令語を擬似命令語に対応させて変換することにより作成しているということができる。
　ここで、上記「３２ビットからなるオブジェクトコードで作成したプログラム」は、擬似コード作成前のプログラムであるので「１次プログラム」ということができ、上記「１６ビットからなる擬似コードで作成されたプログラム」は、擬似コード作成後のプログラムであるので「２次プログラム」ということができる。
　そして、上記のように「オブジェクトコード内で使用される全ての命令語を調べる」ことは、実質的に、「１次プログラムにおいて使用されているオブジェクトコードを抽出して解析する１次プログラム解析ステップ」であるということができ、調べた結果に基づいて「オブジェクトコードの各命令語を擬似命令語に対応させて変換すること」は、実質的に、「１次プログラム解析ステップで抽出されたオブジェクトコードを擬似コードに割り当てる擬似コード生成ステップ」であるということができる。
　また、上記Ｄの段落【００４５】の記載に見られるような、「変換回路２ｂ」として「変換テーブル」の代わりに「ＰＬＡ」を用いる場合には、「変換テーブル」の内容を設定する代わりに「ＰＬＡ」の論理構造を設定することになるものと解される。
　そして、上記「変換回路２ｂ」は、図１において、「インストラクションデコーダ１ｄ」の前段に置かれるものであるので、「プリデコーダ」機能を果たしているということができ、「変換回路２ｂ」として「ＰＬＡ」を用いる場合に「ＰＬＡ」の論理構造を設定するステップは、実質的に「プリデコーダ論理生成ステップ」であるということができる。
　さらに、引用例記載のものが行っていることは、上記Ｂの段落【００１３】の「・・・オブジェクトコードの命令語のビット数を適応的に少なくして主記憶装置に格納すること・・・」であり、「プログラム適応化方法」と称することができる。
　そして、ここまでは、引用例の具体的実施例、すなわち「ＲＯＭ３」に「１６ビットからなる擬似コードで作成されたプログラム」が格納される実施例に基づいて引用例の解釈をしてきたが、上記Ｃの段落【００３７】において、「・・・ここでは１語がデータバス５と同じ１６ビットであるとする。・・・」との記載に続いて「ただし、これらのビット数やＲＯＭ３のアドレス空間の大きさも任意である。もっとも、この擬似命令語の１語のビット数は、少なくとも命令語の１語のビット数よりも少なくなければならない。」との記載がなされており、「擬似コード」のビット幅は、具体的実施例の「１６ビット」に限らず「最大で３２ビットよりも小さいビット幅」であればよいから、そのようなものとして、下記の引用例記載の発明の認定を行う。
　
　よって、上記Ａ〜Ｄの記載及び関連する図面を参照すると、引用例には、実質的に、次の発明が記載されているものと認められる。（以下、「引用例記載の発明」という。）
「３２ビットからなるオブジェクトコードで作成した１次プログラムを、最大で３２ビットよりも小さいビット幅を持つ擬似コードで作成された２次プログラムへと変換するプログラム適応化方法であって、前記１次プログラムにおいて使用されているオブジェクトコードを抽出して解析する１次プログラム解析ステップと、前記１次プログラム解析ステップで抽出されたオブジェクトコードを前記擬似コードに割り当てる擬似コード生成ステップと、前記擬似コードを前記オブジェクトコードへとＰＬＡを用いて変換するための論理構造を生成するプリデコーダ論理生成ステップとを備えるプログラム適応化方法。」
　
（３）対比
　本願発明と引用例記載の発明とを対比すると、まず、引用例記載の発明における「３２ビット」、「オブジェクトコード」は、本願発明における「ｍビット（ｍ：自然数）」、「１次命令コード」に相当する。
　また、本願発明の「ｍ≧ｎ」は、「ｍ＞ｎ」を含む数値範囲であるから、引用例記載の発明における「最大で３２ビットよりも小さいビット幅」、「擬似コード」は、本願発明における「最大でｎビット（ｎ：自然数、かつｍ≧ｎ）までのビット幅」、「２次命令コード」に相当する。
　そして、引用例記載の発明における「ＰＬＡ」は、本願発明における「プログラマブルロジック」に相当する。
　さらに、本願発明において「最適化」といっても、プログラムをマイクロコンピュータで利用するのに適応したものにするといった程度のことを表す表現でしかないから、引用例記載の発明における「プログラム適応化方法」は、本願発明における「プログラム最適化方法」に対応するということができる。
　
　よって、本願発明と引用例記載の発明とは、
「ｍビット（ｍ：自然数）からなる１次命令コードで作成した１次プログラムを、最大でｎビット（ｎ：自然数、かつｍ≧ｎ）までのビット幅を持つ２次命令コードで作成された２次プログラムへと変換するプログラム最適化方法であって、前記１次プログラムにおいて使用されている１次命令コードを抽出して解析する１次プログラム解析ステップと、前記１次プログラム解析ステップで抽出された１次命令コードを前記２次命令コードに割り当てる２次命令コード生成ステップと、前記２次命令コードを前記１次命令コードへとプログラマブルロジックを用いて変換するための論理構造を生成するプリデコーダ論理生成ステップとを備えるプログラム最適化方法。」　
である点で一致し、次の点で相違する。
　
　相違点：本願発明においては、「２次命令コード」が、最大でｎビット（ｎ：自然数、かつｍ≧ｎ）までの「複数の」ビット幅を持ち、「１次プログラム解析ステップ」が、抽出した１次命令コードの「出現頻度」を解析するものであり、「２次命令コード生成ステップ」が、「前記１次プログラム解析ステップで抽出された１次命令コードを、前記解析された出現頻度に応じたビット数Ｓ（Ｓ：自然数、かつ１≦Ｓ≦ｎ）の前記２次命令コードに割り当てる」ものであるのに対し、引用例記載の発明は、そのようなものではない点。
　
（４）判断
　そこで、上記相違点について検討する。
　一般に、命令メモリの容量増大を抑制するために、可変長命令を採用して出現頻度の高い命令については命令長を短く、すなわち、ビット数の小さい命令コードを割り当てるようにすることは、周知技術（必要であれば、例えば、特開平７−１３７６３号公報や、特開平８−２８６９１１号公報等を参照されたい。）にすぎない。
　そして、その際に、出現頻度に応じて出現頻度が高くなればなるほどビット数の小さい命令コードを割り当てるようにすること、すなわち「複数の」ビット幅を用意して出現頻度が高くなればなるほど小さいビット幅を持つ命令コードを割り当てるようにすることは、当業者が容易に想到し得ることである。
　したがって、引用例記載の発明に対して上記周知技術を適用し、「２次命令コード」を、最大でｎビット（ｎ：自然数、かつｍ≧ｎ）までの「複数の」ビット幅を持つようなものとし、「１次プログラム解析ステップ」を、抽出した１次命令コードの「出現頻度」を解析するものとし、「２次命令コード生成ステップ」を、「前記１次プログラム解析ステップで抽出された１次命令コードを、前記解析された出現頻度に応じたビット数Ｓ（Ｓ：自然数、かつ１≦Ｓ≦ｎ）の前記２次命令コードに割り当てる」ものとすることは、当業者が適宜に設計できる事項にすぎないものと認められる。
　そして、本願発明の構成によってもたらされる効果も、引用例記載の発明及び上記周知技術から当業者ならば容易に予測することができる程度のものであって、格別のものとはいえない。
　
（５）むすび
　したがって、本願発明は、引用例記載の発明及び上記周知技術に基いて、当業者が容易に発明をすることができたものであるので、特許法第２９条第２項の規定により特許を受けることができない。
　よって、結論のとおり審決する。