(57)【要約】【課題】より効率的に演算することができる演算装置、演算方法、及び演算プログラムを提供する。【解決手段】一実施形態に係る演算装置は、複数の値を記憶可能なレジスタを複数備えるレジスタ部と、入力データが書き込まれたレジスタを含む複数のレジスタを指定する制御回路部と、指定された前記複数のレジスタの各値を予め定められた組合せで演算する演算回路部と、を具備する。【選択図】図４
2014106880.tif 000002
【特許請求の範囲】
【請求項１】
複数の値を記憶可能なレジスタを複数備えるレジスタ部と、
入力データが書き込まれたレジスタを含む複数のレジスタを指定する制御回路部と、
指定された前記複数のレジスタの各値を予め定められた組合せで演算する演算回路部と、
を具備する演算装置。
【請求項２】
前記演算回路部は、前記レジスタの前記各値と、異なる前記レジスタの前記各値とを予め定められた組合せで演算する、請求項１に記載の演算装置。
【請求項３】
前記制御回路部は、第１のコマンドにより複数の前記レジスタを指定し、
前記演算回路部は、前記第１のコマンドにより指定された前記レジスタに基づく第１の演算結果を前記レジスタ部の前記レジスタに書き込み、
前記制御回路部は、前記第１の演算結果が書き込まれた前記レジスタを含む複数の前記レジスタを第２のコマンドにより指定し、
前記演算回路部は、前記第２のコマンドにより指定された前記レジスタに基づく第２の演算結果を出力する、
請求項２に記載の演算装置。
【請求項４】
前記レジスタ部は、
値Ｒａ．ｘ、値Ｒａ．ｙ、値Ｒａ．ｚ、及び値Ｒａ．ｗを記憶する第１のレジスタと、
値Ｒｂ．ｘ、値Ｒｂ．ｙ、値Ｒｂ．ｚ、及び値Ｒｂ．ｗを記憶する第２のレジスタと、
値Ｒｃ．ｗを記憶する第３のレジスタと、
を具備し、
前記演算回路部は、前記第１のレジスタ、前記第２のレジスタ、及び前記第３のレジスタが指定された場合、Ｒａ．ｘ・Ｒｃ．ｗ＋Ｒａ．ｙ・Ｒｂ．ｘ＋Ｒａ．ｚ・Ｒｂ．ｙ＋Ｒａ．ｗ・Ｒｂ．ｚ＋Ｒｂ．ｗを演算する、
請求項１乃至３のいずれか１項に記載の演算装置。
【請求項５】
複数の値を記憶可能なレジスタを複数備えるレジスタ部を有する演算装置の演算方法であって、
入力データが書き込まれたレジスタを含む複数のレジスタを前記演算装置により指定し、
指定された前記複数のレジスタの各値を予め定められた組合せで前記演算装置により演算する、
演算方法。
【請求項６】
複数の値を記憶可能なレジスタを複数備えるレジスタ部を有する演算装置において実行される演算プログラムであって、
前記演算装置を、
入力データが書き込まれたレジスタを含む複数のレジスタを指定する制御回路部と、
指定された前記複数のレジスタの各値を予め定められた組合せで演算する演算回路部と、
して動作させる演算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、演算装置、演算方法、及び演算プログラムに関する。
【背景技術】
【０００２】
従来、放送信号を受信し、受信した放送信号に含まれている番組などの映像コンテンツを再生することができる例えば放送受信装置などの電子機器が一般的に普及している。このような電子機器は、映像をディスプレイに表示させる為の表示用映像信号を生成する演算装置を備える。また、演算装置は、予め設定されたアルゴリズムに基づいて、高次多項式を演算することにより、表示用映像信号の各画素の座標を変換することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３４１６６号公報
【非特許文献】
【０００４】
【非特許文献１】http://sigarc.hpcc.jp/data/Presentation/20100128_yamashita.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００５】
高次多項式を演算する為には、演算装置に演算を実行させる為の複数のコマンド必要である。しかし、高次多項式の演算をより効率的に実行することが求められている。
【０００６】
本発明の目的は、より効率的に演算することができる演算装置、演算方法、及び演算プログラムを提供することである。
【課題を解決するための手段】
【０００７】
一実施形態に係る演算装置は、複数の値を記憶可能なレジスタを複数備えるレジスタ部と、入力データが書き込まれたレジスタを含む複数のレジスタを指定する制御回路部と、指定された前記複数のレジスタの各値を予め定められた組合せで演算する演算回路部と、を具備する。
【図面の簡単な説明】
【０００８】
【図１】図１は、一実施形態に係る電子機器について説明する為の図である。
【図２】図２は、一実施形態に係る電子機器について説明する為の図である。
【図３】図３は、一実施形態に係る電子機器について説明する為の図である。
【図４】図４は、一実施形態に係る電子機器について説明する為の図である。
【図５】図５は、一実施形態に係る電子機器について説明する為の図である。
【図６】図６は、一実施形態に係る電子機器について説明する為の図である。
【図７】図７は、一実施形態に係る電子機器について説明する為の図である。
【図８】図８は、一実施形態に係る電子機器について説明する為の図である。
【発明を実施するための形態】
【０００９】
以下、図を参照しながら、一実施形態に係る演算装置、演算方法、及び演算プログラムについて詳細に説明する。
【００１０】
図１は、一実施形態に係る電子機器としての放送受信装置１００の外観の例を示す。  
放送受信装置１００は、映像を表示するディスプレイ（表示部）１３４が設けられる本体１０１と、この本体１０１を自立可能な状態で支える脚部１０２とを備える。また、本体１０１には、スピーカ１２２などが設けられている。さらに、放送受信装置１００は、リモートコントローラ１６３から送信された赤外線を受信することができる受光部１６２を備える。また、本体１０１には、放送受信装置１００の電源状態を切り替えるための電源スイッチが設けられている。
【００１１】
図２は、一実施形態に係る放送受信装置１００の例を示す。  
放送受信装置１００は、放送信号入力端子１１０、チューナ１１１、復調部１１２、信号処理部１１３、音声処理部１２１、映像処理部１３１、ユーザインターフェース（ＵＩ）生成部１３２、表示処理部１３３、制御部１５０、操作入力部１６１、受光部１６２、及び通信部１７１を備える。また、放送受信装置１００は、さらにスピーカ１２２及びディスプレイ１３４を備える。
【００１２】
放送信号入力端子１１０は、例えばアンテナ１０３により受信されたディジタル放送信号を受け取ることができる。アンテナ１０３は、例えば、地上ディジタル放送信号、ＢＳ（ｂｒｏａｄｃａｓｔｉｎｇ  ｓａｔｅｌｌｉｔｅ）ディジタル放送信号、及び／または、１１０度ＣＳ（ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｓａｔｅｌｌｉｔｅ）ディジタル放送信号を受信することができる。放送信号入力端子１１０は、上記したディジタル放送信号により供給される番組などのコンテンツのデータを受け取ることができる。
【００１３】
放送信号入力端子１１０は、受信したディジタル放送信号をチューナ１１１に供給する。チューナ１１１は、ディジタル放送信号用のチューナである。チューナ１１１は、チューニングしたディジタル放送信号を復調部１１２に送信する。
【００１４】
復調部１１２は、受信したディジタル放送信号を復調する。これにより、復調部１１２は、ディジタル放送信号からトランスポートストリーム（ＴＳ）などのコンテンツデータを取得する。復調部１１２は、取得したコンテンツデータを信号処理部１１３に入力する。即ち、アンテナ１０３、チューナ１１１、及び復調部１１２は、コンテンツデータを受信する受信部として機能する。
【００１５】
信号処理部１１３は、コンテンツデータの分離などの信号処理を行う。即ち、信号処理部１１３は、コンテンツデータをディジタル映像信号、ディジタル音声信号、及びその他のデータ信号に分離する。信号処理部１１３は、音声処理部１２１に音声信号を供給する。また、信号処理部１１３は、映像処理部１３１に映像信号を供給する。さらに、信号処理部１１３は、制御部１５０にデータ信号を供給する。
【００１６】
音声処理部１２１は、信号処理部１１３から受信したディジタル音声信号を、スピーカ１２２により再生可能なフォーマットの信号（オーディオ信号）に変換する。例えば、音声処理部１２１は、ディジタル音声信号をディジタル／アナログ変換によりオーディオ信号に変換する。音声処理部１２１は、オーディオ信号をスピーカ１２２に供給する。スピーカ１２２は、供給されるオーディオ信号に基づいて音を再生する。
【００１７】
映像処理部１３１は、信号処理部１１３から受信したディジタル映像信号を、ディスプレイ１３４で再生可能なフォーマットの映像信号（表示用映像信号）に変換する。映像処理部１３１は、信号処理部１１３から供給されたディジタル映像信号に基づいて表示用映像信号を生成するレンダリングを行う。映像処理部１３１は、信号処理部１１３から供給されたディジタル映像信号に対して種々の演算処理を行うことにより、レンダリングを行う。映像処理部１３１は、レンダリングされた表示用映像信号を表示処理部１３３に出力する。
【００１８】
ＵＩ生成部１３２は、制御部１５０から供給されたコマンドに応じて、メニュー画面、Ｗｅｂ閲覧用のブラウザ、または他の種々の情報をディスプレイ１３４に表示させる為の表示用映像信号を生成する。ＵＩ生成部１３２は、生成した表示用映像信号を映像処理部１３１から出力された表示用映像信号に重畳する。
【００１９】
表示処理部１３３は、例えば、制御部１５０からの制御に基づいて、受信した表示用映像信号に対して色味、明るさ、シャープ、コントラスト、またはその他の画質調整処理を行う。表示処理部１３３は、画質調整を施した表示用映像信号をディスプレイ１３４に供給する。ディスプレイ１３４は、供給される表示用映像信号に基づいて映像を表示する。
【００２０】
ディスプレイ１３４は、例えば、マトリクス状に配列された複数の画素を備える液晶表示パネルと、この液晶パネルを照明するバックライトとを備える液晶表示装置などを備える。ディスプレイ１３４は、表示処理部１３３から供給される表示用映像信号に基づいて映像を表示する。
【００２１】
制御部１５０は、放送受信装置１００の各部の動作を制御する制御部として機能する。制御部１５０は、ＣＰＵ１５１、ＲＯＭ１５２、ＲＡＭ１５３、及び不揮発性メモリ１５４などを備えている。制御部１５０は、操作入力部１６１または受光部１６２から供給される操作信号に基づいて、種々の処理を行う。
【００２２】
ＣＰＵ１５１は、種々の演算処理を実行する演算素子などを備える。ＣＰＵ１５１は、ＲＯＭ１５２、または不揮発性メモリ１５４などに記憶されているプログラムを実行することにより種々の機能を実現する。
【００２３】
ＲＯＭ１５２は、放送受信装置１００を制御する為のプログラム、及び各種の機能を実現する為のプログラムなどを記憶する。ＣＰＵ１５１は、操作入力部１６１から供給される操作信号に基づいて、ＲＯＭ１５２に記憶されているプログラムを起動する。これにより、制御部１５０は、各部の動作を制御する。
【００２４】
ＲＡＭ１５３は、ＣＰＵ１５１のワークメモリとして機能する。即ち、ＲＡＭ１５３は、ＣＰＵ１５１の演算結果、ＣＰＵ１５１により読み込まれたデータなどを記憶する。
【００２５】
不揮発性メモリ１５４は、各種の設定情報、及びプログラムなどを記憶する不揮発性メモリである。
【００２６】
また、制御部１５０は、ディスプレイ１３４にユーザインターフェースを表示させる為のコマンドを生成する。制御部１５０は、生成したコマンドをＵＩ生成部１３２に供給する。これにより、制御部１５０は、映像に重畳させるユーザインターフェースをＵＩ生成部１３２に生成させることができる。
【００２７】
操作入力部１６１は、例えば、ユーザによる操作入力に応じて操作信号を生成する操作キー、またはタッチパッドなどを備える。また、操作入力部１６１は、キーボード、マウス、または操作信号を生成する事ができる他の入力装置などから操作信号を受け取る構成であってもよい。操作入力部１６１は、操作信号を制御部１５０に供給する。なお、タッチパッドは、静電容量式センサ、または他の方式に基づいて位置情報を生成するデバイスを含む。
【００２８】
受光部１６２は、例えば、リモートコントローラ１６３からの赤外線を受光する受光レンズと、受光した光を電気信号に変換するフォトダイオードなどのセンサとを備える。受光部１６２は、受信した赤外線から元の操作信号を生成し、操作信号を制御部１５０に供給する。
【００２９】
リモートコントローラ１６３は、ユーザの操作入力に基づいて操作信号を生成する。リモートコントローラ１６３は、生成した操作信号を赤外線に変換し、赤外線を出力する。これにより、リモートコントローラ１６３は、受光部１６２に赤外線を送信する。
【００３０】
通信部１７１は、ＬＡＮまたは無線ＬＡＮにより無線通信端末としてのルータ経由でインターネット、またはホームネットワークなどのネットワーク上の他の機器と通信を行なうことができる。これにより、放送受信装置１００は、無線通信端末に接続されている他の機器と通信することができる。
【００３１】
またさらに、放送受信装置１００は、ハードディスクドライブ（ＨＤＤ）等の記憶装置を備え、この記憶装置に例えば放送信号またはネットワークなどにより供給されるコンテンツを記憶することができるように構成してもよい。
【００３２】
図３は、ＵＩ生成部１３２の構成の例を示す。  
ＵＩ生成部１３２は、制御部１３２ｈ、ラスタライズ部１３２ｉ、シェーダ部１３２ｊ、テクスチャ処理部１３２ｋ、テクスチャデータベース１３２ｌ、ラスタオペレーション部１３２ｍ、及びフレームメモリ１３２ｎを備える。
【００３３】
制御部１３２ｈは、制御部１５０から供給されたコマンドをラスタライズ部１３２ｉ、シェーダ部１３２ｊ、テクスチャ処理部１３２ｋ、及びラスタオペレーション部１３２ｍに供給する。ラスタライズ部１３２ｉ、シェーダ部１３２ｊ、テクスチャ処理部１３２ｋ、及びラスタオペレーション部１３２ｍは、供給されたコマンドに応じて種々の処理を実行する。
【００３４】
ラスタライズ部１３２ｉは、制御部１３２ｈから供給されたコマンドを１画素毎の処理に分解する。ラスタライズ部１３２ｉは、分解されたコマンドをシェーダ部１３２ｊに供給する。なお、ラスタライズ部１３２ｉは、分解されたコマンドに画素の座標を示すデータを付加する。
【００３５】
シェーダ部１３２ｊは、ラスタライズ部１３２ｉから供給されたコマンドに基づいて、１画素の画素値（カラーコード）を算出する。なお、シェーダ部１３２ｊは、必要に応じてテクスチャ処理部１３２ｋにテクスチャを要求する。これにより、シェーダ部１３２ｊは、テクスチャ処理部１３２ｋからテクスチャを取得する。シェーダ部１３２ｊは、取得したテクスチャを用いて画素値を算出する。シェーダ部１３２ｊは、算出した画素値をラスタオペレーション部１３２ｍに供給する。
【００３６】
テクスチャ処理部１３２ｋは、シェーダ部１３２ｊからのテクスチャの取得要求に応じて、テクスチャをテクスチャデータベース１３２ｌから読みだす。テクスチャ処理部１３２ｋは、読み出したテクスチャをシェーダ部１３２ｊに供給する。また、テクスチャ処理部１３２ｋは、制御部１３２ｈから供給されたコマンドに応じてテクスチャをテクスチャデータベース１３２ｌから読み出し、読み出したテクスチャをシェーダ部１３２ｊに供給する構成であってもよい。
【００３７】
また、テクスチャ処理部１３２ｋは、シェーダ部１３２ｊに供給するテクスチャにフィルタをかける。即ち、テクスチャ処理部１３２ｋは、テクスチャデータベース１３２ｌから読み出したテクスチャにフィルタをかけ、フィルタがかけられたテクスチャをシェーダ部１３２ｊに供給する。
【００３８】
テクスチャデータベース１３２ｌは、種々のテクスチャを記憶することができる。テクスチャデータベース１３２ｌは、例えば、文字、記号、及び数字毎のテクスチャを記憶することができる。
【００３９】
即ち、シェーダ部１３２ｊは、文字、記号、及び数字毎のテクスチャを入力データとして演算を行い、画素値を算出することができる。
【００４０】
ラスタオペレーション部１３２ｍは、シェーダ部１３２ｊから出力された画素値に対してラスタオペレーションを実行する。例えば、ラスタオペレーション部１３２ｍは、シェーダ部１３２ｊから出力された画素値を背景の画素値と混ぜ合わせ、半透明化させる。ラスタオペレーション部１３２ｍは、例えば、映像処理部１３１から出力された表示用映像信号を背景として、シェーダ部１３２ｊから出力された画素値を半透明化させる。ラスタオペレーション部１３２ｍは、ラスタオペレーションを施した画素値をフレームメモリ１３２ｎに供給する。
【００４１】
フレームメモリ１３２ｎは、ラスタオペレーション部１３２ｍから供給された画素値を記憶する。フレームメモリ１３２ｎは、１画面分の画素値を蓄えることができる。フレームメモリ１３２ｎは、１画面分の画素値が蓄積された場合、１画面分の表示用映像信号を出力する。
【００４２】
図４は、シェーダ部１３２ｊの構成の例を示す。  
シェーダ部１３２ｊは、制御回路１３２ａ、レジスタ１３２ｂ、及び演算回路１３２ｃを備える。また、シェーダ部１３２ｊは、レジスタ１３２ｂと演算回路１３２ｃとの間でデータを伝送するデータパス１３２ｄ、１３２ｅ、１３２ｆ、及び１３２ｇを備える。
【００４３】
制御回路１３２ａは、レジスタ１３２ｂ及び演算回路１３２ｃの動作を制御するモジュールである。また、制御回路１３２ａは、テクスチャ処理部１３２ｋから供給されたテクスチャをレジスタ１３２ｂ上の予め定められたデータセル（スカラレジスタ）に格納する。
【００４４】
図５は、レジスタ１３２ｂの構成の例を示す。  
レジスタ１３２ｂは、所定のビット長のスカラレジスタを複数備えたベクタレジスタを複数備えるモジュールである。スカラレジスタは、１つの値を記憶するレジスタである。即ち、ベクタレジスタは、複数の値を記憶することができるレジスタである。
【００４５】
例えば、レジスタ１３２ｂは、３２ビットのスカラレジスタを４つ備えた長さが１２８ビットのベクタレジスタを複数備える。レジスタ１３２ｂは、１つのスカラレジスタに１つの値を格納する。レジスタ１３２ｂは、ベクタレジスタ毎にデータの書き込み及び読出しを実行することができる。即ち、レジスタ１３２ｂは、ベクタレジスタに含まれている複数のスカラレジスタから同時に値を読み出すことができる。
【００４６】
演算回路１３２ｃは、レジスタ１３２ｂに格納されたデータに基づいて予め定められた演算処理を実行するモジュールである。これにより、演算回路１３２ｃは、画素値を算出することができる。
【００４７】
データパス１３２ｄ、１３２ｅ、及び１３２ｆは、それぞれ、レジスタ１３２ｂの中の１つのベクタレジスタに格納されているデータを演算回路１３２ｃに伝送する。即ち、レジスタ１３２ｂは、データパス１３２ｄ、１３２ｅ、及び１３２ｆにより、３つのベクタレジスタのに格納されているデータを同時に演算回路１３２ｃに伝送することができる。
【００４８】
データパス１３２ｇは、演算回路１３２ｃによる演算結果をレジスタ１３２ｂに伝送することができる。レジスタ１３２ｂは、データパス１３２ｇにより演算回路１３２ｃから送信された演算結果を１つのベクタレジスタ、またはベクタレジスタの１部であるスカラレジスタに書き込むことができる。
【００４９】
図５の例では、レジスタ１３２ｂは、スカラレジスタＲ０．ｘ、Ｒ０．ｙ、Ｒ０．ｚ、及びＲ０．ｗを有するベクタレジスタ（Ｒ０．ｘ，Ｒ０．ｙ，Ｒ０．ｚ，Ｒ０．ｗ）を有する。さらに、レジスタ１３２ｂは、同様に複数のスカラレジスタを有するベクタレジスタ（Ｒ１．ｘ，Ｒ１．ｙ，Ｒ１．ｚ，Ｒ１．ｗ）、（Ｒ２．ｘ，Ｒ２．ｙ，Ｒ２．ｚ，Ｒ２．ｗ）・・・（Ｒ１５．ｘ，Ｒ１５．ｙ，Ｒ１５．ｚ，Ｒ１５．ｗ）を有する。
【００５０】
さらに、制御回路１３２ａは、制御部１３２ｈ、またはラスタライズ部１３２ｉからのコマンドに基づいて、マクローリン展開を演算回路１３２ｃに実行させる。例えば、制御回路１３２ａは、座標の回転することがコマンドにより指示された場合、三角関数を演算することにより座標を回転させる。この場合、制御回路１３２ａは、三角関数をマクローリン展開により多項式に置き換えて演算を行う。
【００５１】
マクローリン展開を演算回路１３２ｃに実行させる場合、制御回路１３２ａは、演算回路１３２ｃに対してマクローリン展開を実行させる為のコマンド（ＭＣＬ）を入力する。制御回路１３２ａは、例えば「ＭＣＬ  Ｒａ，Ｒｂ，Ｒｃ」のようなニーモニックのコマンド（高次多項式演算命令）を演算回路１３２ｃに入力する。これにより、制御回路１３２ａは、３つのベクタレジスタＲａ、Ｒｂ、及びＲｃを指定することができる。即ち、制御回路１３２ａは、３つのベクタレジスタＲａ、Ｒｂ、及びＲｃの値を用いてマクローリン展開を実行するように演算回路１３２ｃを制御する。
【００５２】
演算回路１３２ｃは、上記のコマンドが入力された場合、レジスタ１３２ｂの３つのベクタレジスタＲａ、Ｒｂ、及びＲｃのデータをデータパス１３２ｄ、１３２ｅ、及び１３２ｆによりレジスタ１３２ｂから読み出す。
【００５３】
この場合、演算回路１３２ｃは、レジスタ１３２ｂから読み出した値を用いて、予め定められた演算「Ｒｃ．ｗ←Ｒａ．ｘ・Ｒｃ．ｗ＋Ｒａ．ｙ・Ｒｂ．ｘ＋Ｒａ．ｚ・Ｒｂ．ｙ＋Ｒａ．ｗ・Ｒｂ．ｚ＋Ｒｂ．ｗ」を実行する。演算回路１３２ｃは、「Ｒａ．ｘ・Ｒｃ．ｗ＋Ｒａ．ｙ・Ｒｂ．ｘ＋Ｒａ．ｚ・Ｒｂ．ｙ＋Ｒａ．ｗ・Ｒｂ．ｚ＋Ｒｂ．ｗ」の演算結果をスカラレジスタＲｃ．ｗに書き込む。演算回路１３２ｃは、入力に基づいて逐次上記の演算を行うことにより、画素値を算出する。即ち、演算回路１３２ｃは、異なるベクタレジスタ内のスカラレジスタの値同士の積の和をスカラレジスタに書き込む。
【００５４】
図６は、シェーダ部１３２ｊの処理の例を示す。なお、ここでは、マクローリン展開の演算が必要なコマンドが入力された場合のシェーダ部１３２ｊの処理の例を示す。
【００５５】
シェーダ部１３２ｊの制御回路１３２ａは、ラスタライズ部１３２ｉにより分解されたコマンドを受信する（ステップＳ１１）。
【００５６】
制御回路１３２ａは、受信したコマンドに応じて、テクスチャ処理部１３２ｋにテクスチャを要求する。これにより、制御回路１３２ａは、テクスチャ処理部１３２ｋからテクスチャを取得する（ステップＳ１２）。
【００５７】
制御回路１３２ａは、取得したテクスチャをレジスタ１３２ｂ上の予め定められたスカラレジスタに書き込む（ステップＳ１３）。
【００５８】
制御回路１３２ａは、受信したコマンドに応じて、第１のＭＣＬを生成する（ステップＳ１４）。制御回路１３２ａは、第１のＭＣＬにより、３つのベクタレジスタを指定する。制御回路１３２ａは、生成した第１のＭＣＬを演算回路１３２ｃに入力する。なお、制御回路１３２ａは、少なくとも入力データが書き込まれたレジスタを含む複数のレジスタを指定する。
【００５９】
演算回路１３２ｃは、第１のＭＣＬにより指定されたベクタレジスタの値をレジスタ１３２ｂから読み出す（ステップＳ１５）。この場合、演算回路１３２ｃは、第１のＭＣＬにより指定された複数のベクタレジスタ内の複数の値を読み出すことができる。
【００６０】
演算回路１３２ｃは、読み出した値を予め定められた組合せで演算する（ステップＳ１６）。なお、演算回路１３２ｃは、入力データが書き込まれたレジスタを含む複数のレジスタの値を予め定められた組合せで演算する。また、演算回路１３２ｃは、ベクタレジスタの１つの値と、このベクタレジスタとは異なる他のベクタレジスタの値とが組み合わさるように演算する。また、演算回路１３２ｃは、ベクタレジスタの１つの値と、このベクタレジスタとは異なる他のベクタレジスタの値との積が１つの項となるように演算する。  演算回路１３２ｃは、演算結果をレジスタ１３２ｂの予め定められた位置に書き込む（ステップＳ１７）。例えば、演算回路１３２ｃは、演算結果をレジスタ１３２ｂの１つのベクタレジスタのスカラレジスタ内に書き込む。
【００６１】
さらに、制御回路１３２ａは、第２のＭＣＬを生成する（ステップＳ１８）。制御回路１３２ａは、第２のＭＣＬにより、３つのベクタレジスタを指定する。なお、制御回路１３２ａは、ステップＳ１７で演算結果が書き込まれたスカラレジスタを有するベクタレジスタを含む３つのベクタレジスタを指定する。制御回路１３２ａは、生成した第２のＭＣＬを演算回路１３２ｃに入力する。
【００６２】
演算回路１３２ｃは、第２のＭＣＬにより指定されたベクタレジスタの値をレジスタ１３２ｂから読み出す（ステップＳ１９）。演算回路１３２ｃは、読み出した値を予め定められた組合せで演算する（ステップＳ２０）。演算回路１３２ｃは、演算結果を画素値として出力する（ステップＳ２１）。
【００６３】
上記したように、シェーダ部１３２ｊは、複数の値を記憶することができるレジスタを指定して演算を行うことができる。これにより、シェーダ部１３２ｊは、多項式をより少ない演算命令で演算することができる。
【００６４】
図７は、シェーダ部１３２ｊの処理の例を示す。なお、ここでは、マクローリン展開の演算が必要なコマンドが入力された場合のシェーダ部１３２ｊの処理の具体的な例を示す。
【００６５】
制御回路１３２ａは、レジスタＲ０乃至Ｒ３にそれぞれデータを書き込む（ステップＳ３１）。シェーダ部１３２ｊの制御回路１３２ａは、ラスタライズ部１３２ｉにより分解されたコマンドを受信する。制御回路１３２ａは、テクスチャ処理部１３２ｋからテクスチャを取得する。制御回路１３２ａは、取得したテクスチャを入力データＸとして用いる。制御回路１３２ａは、（Ｘ４，Ｘ３，Ｘ２，Ｘ１）をレジスタＲ０に書き込む。
【００６６】
また、制御回路１３２ａは、定数（０，０，０，Ｃ８）をレジスタＲ１に予め書き込む。また、制御回路１３２ａは、定数（Ｃ７，Ｃ６，Ｃ５，Ｃ４）をレジスタＲ２に予め書き込む。また、制御回路１３２ａは、定数（Ｃ３，Ｃ２，Ｃ１，Ｃ０）をレジスタＲ３に予め書き込む。制御回路１３２ａは、プログラムにおける複数の処理の集合により各レジスタに値を書き込む。
【００６７】
次に、制御回路１３２ａは、プロシジャにより高次多項式演算命令を実行する。即ち、制御回路１３２ａは、コマンド「第１のＭＣＬ  Ｒ０，Ｒ２，Ｒ１」を演算回路１３２ｃに入力する（ステップＳ３２）。これにより、制御回路１３２ａは、ベクタレジスタＲ０，Ｒ２，及びＲ１の値を用いて演算を実行するように演算回路１３２ｃを制御することができる。  これにより、演算回路１３２ｃは、ベクタレジスタＲ０、ベクタレジスタＲ２、及びベクタレジスタＲ１の値をそれぞれレジスタ１３２ｂから読み出す。この場合、演算回路１３２ｃは、ベクタレジスタＲ０の値をデータパス１３２ｄにより読み出す。また、演算回路１３２ｃは、ベクタレジスタＲ２の値をデータパス１３２ｅにより読み出す。また、演算回路１３２ｃは、ベクタレジスタＲ１の値をデータパス１３２ｆにより読み出す。
【００６８】
演算回路１３２ｃは、「Ｒ０．ｘ・Ｒ１．ｗ＋Ｒ０．ｙ・Ｒ２．ｘ＋Ｒ０．ｚ・Ｒ２．ｙ＋ Ｒ０．ｗ・Ｒ２．ｚ＋Ｒ２．ｗ」を演算する。即ち、演算回路１３２ｃは、データパス１３２ｄにより読み出した各値、データパス１３２ｅにより読み出した各値、及びデータパス１３２ｆにより読み出した各値を予め定められた組合せで掛け合わせ、各積の和を算出する。
【００６９】
演算回路１３２ｃは、演算結果をベクタレジスタＲ１のスカラレジスタＲ１．ｗに格納する。この結果、スカラレジスタＲ１．ｗには、「Ｃ８・Ｘ４＋Ｃ７・Ｘ３＋Ｃ６・Ｘ２＋Ｃ５・Ｘ１＋Ｃ４」の演算結果が格納される。
【００７０】
制御回路１３２ａは、次のコマンドを演算回路１３２ｃに入力する。制御回路１３２ａは、コマンド「第２のＭＣＬ  Ｒ０，Ｒ３，Ｒ１」を演算回路１３２ｃに入力する（ステップＳ３３）。これにより、制御回路１３２ａは、ベクタレジスタＲ０，Ｒ３，及びＲ１の値を用いて演算を実行するように演算回路１３２ｃを制御することができる。即ち、制御回路１３２ａは、第１のＭＣＬに基づく演算の結果が書き込まれたスカラレジスタを有するベクタレジスタを含む３つのベクタレジスタを指定する。
【００７１】
これにより、演算回路１３２ｃは、ベクタレジスタＲ０、ベクタレジスタＲ３、及びベクタレジスタＲ１の値をそれぞれレジスタ１３２ｂから読み出す。この場合、演算回路１３２ｃは、ベクタレジスタＲ０の値をデータパス１３２ｄにより読み出す。また、演算回路１３２ｃは、ベクタレジスタＲ３の値をデータパス１３２ｅにより読み出す。また、演算回路１３２ｃは、ベクタレジスタＲ１の値をデータパス１３２ｆにより読み出す。
【００７２】
演算回路１３２ｃは、「Ｒ０．ｘ・Ｒ１．ｗ＋Ｒ０．ｙ・Ｒ３．ｘ＋Ｒ０．ｚ・Ｒ３．ｙ＋ Ｒ０．ｗ・Ｒ３．ｚ＋Ｒ３．ｗ」を演算する。演算回路１３２ｃは、演算結果をベクタレジスタＲ１のスカラレジスタＲ１．ｗに格納する。この結果、スカラレジスタＲ１．ｗには、「（Ｃ８・Ｘ４＋Ｃ７・Ｘ３＋Ｃ６・Ｘ２＋Ｃ５・Ｘ１＋Ｃ４）・Ｘ４＋Ｃ３・Ｘ３＋Ｃ２・Ｘ２＋Ｃ１・Ｘ１＋Ｃ０」の演算結果が格納される。
【００７３】
この演算結果は、展開すると「Ｃ８・Ｘ８＋Ｃ７・Ｘ７＋Ｃ６・Ｘ６＋Ｃ５・Ｘ５＋Ｃ４・Ｘ４＋Ｃ３・Ｘ３＋Ｃ２・Ｘ２＋Ｃ１・Ｘ１＋Ｃ０となる。即ち、シェーダ部１３２ｊは、８次の多項式を２つのＭＣＬに従って演算することができる。
【００７４】
演算回路１３２ｃは、スカラレジスタＲ１．ｗの値を出力する。即ち、演算回路１３２ｃは、スカラレジスタＲ１．ｗの値を画素値（出力データ）Ｙとして出力する（ステップＳ３４）。
【００７５】
上記したように、シェーダ部１３２ｊは、２つの高次多項式演算命令によって８次の項まで高次多項式を計算することができる。これにより、シェーダ部１３２ｊは、高次多項式演算をより少ないステップ数で演算することができる。
【００７６】
従来は、プロセッサが超越関数を高次多項式に変換して計算する場合、計算に時間がかかっていた。しかし、シェーダ部１３２ｊは、演算回路１３２ｃによりベクトル演算を行うことができる。また、制御回路１３２ａは、演算回路１３２ｃの演算方式に適合したコマンドを入力することができる。これにより、シェーダ部１３２ｊは、高速に高次多項式を演算することができる。この結果、より効率的に演算することができる演算装置、演算方法、及び演算プログラムを提供することができる。
【００７７】
上記した実施形態では、制御回路１３２ａは、３つのベクタレジスタをコマンドにより指定する構成であると説明したが、この構成に限定されない。制御回路１３２ａは、コマンドによりベクタレジスタをいくつ指定する構成であってもよい。なお、演算回路１３２ｃは、コマンドにより指定されたベクタレジスタの値をデータパスにより読み出す。即ち、シェーダ部１３２ｊは、コマンドにより指定するベクタレジスタの数に応じたデータパスを備える必要がある。
【００７８】
このように、シェーダ部１３２ｊは、スカラレジスタの数、コマンドにより指定するベクタレジスタの数を増やした場合、より複雑な演算をより少ないステップ数で演算することができる。
【００７９】
また、上記した実施形態では、制御回路１３２ａは、ベクタレジスタＲ０に（Ｘ４，Ｘ３，Ｘ２，Ｘ１）を書き込むと説明したが、この構成に限定されない。制御回路１３２ａは、他の値をベクタレジスタＲ０に書き込む構成であってもよい。例えば、制御回路１３２ａは、ベクタレジスタＲ０に（Ｘ７，Ｘ５，Ｘ３，Ｘ１）を書き込む構成であってもよい。この場合、レジスタ１３２ｂは、図８に示されたような状態になる。
【００８０】
即ち、レジスタ１３２ｂは、（Ｘ７，Ｘ５，Ｘ３，Ｘ１）のデータを有するベクタレジスタＲ０と、定数（０，０，０，Ｃ８）のデータを有するベクタレジスタＲ１と、定数（Ｃ７，Ｃ６，Ｃ５，Ｃ４）のデータを有するベクタレジスタＲ２と、定数（Ｃ３，Ｃ２，Ｃ１，Ｃ０）のデータを有するベクタレジスタＲ３とを有する。
【００８１】
このような場合であっても、シェーダ部１３２ｊは、上記と同様の方法により演算処理を実行することができる。このように、シェーダ部１３２ｊは、演算の構成を適宜変更することができる。
【００８２】
なお、上記した実施形態では、ベクタレジスタは、４つのスカラレジスタを有する構成であると説明したが、この構成に限定されない。スカラレジスタは、如何なる数であってもよい。例えば、上記の実施形態では、ベクタレジスタＲ１に予め定数（０，０，０，Ｃ８）が格納される。この為、ベクタレジスタＲ１が１つの値を格納するように構成されていれば、上記の実施形態を実現することができる。即ち、ベクタレジスタＲ１は、１つの値を格納するスカラレジスタで置き換えられても良い。
【００８３】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【００８４】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００８５】
１００…放送受信装置、１０１…本体、１０２…脚部、１１０…放送信号入力端子、１１１…チューナ、１１２…復調部、１１３…信号処理部、１２１…音声処理部、１２２…スピーカ、１３１…映像処理部、１３２…ＵＩ生成部、１３２ａ…制御回路、１３２ｂ…レジスタ、１３２ｃ…演算回路、１３２ｄ…データパス、１３２ｅ…データパス、１３２ｆ…データパス、１３２ｇ…データパス、１３２ｈ…制御部、１３２ｉ…ラスタライズ部、１３２ｊ…シェーダ部、１３２ｋ…テクスチャ処理部、１３２ｌ…テクスチャデータベース、１３２ｍ…ラスタオペレーション部、１３２ｎ…フレームメモリ、１３３…表示処理部、１３４…ディスプレイ、１５０…制御部、１５１…ＣＰＵ、１５２…ＲＯＭ、１５３…ＲＡＭ、１５４…不揮発性メモリ、１６１…操作入力部、１６２…受光部、１６３…リモートコントローラ、１７１…通信部。
【図１】
2014106880.tif 000003
【図２】
2014106880.tif 000004
【図３】
2014106880.tif 000005
【図４】
2014106880.tif 000006
【図５】
2014106880.tif 000007
【図６】
2014106880.tif 000008
【図７】
2014106880.tif 000009
【図８】
2014106880.tif 000010