JP5361962B2 - Graphics processing unit and information processing apparatus - Google Patents
Graphics processing unit and information processing apparatus Download PDFInfo
- Publication number
- JP5361962B2 JP5361962B2 JP2011183959A JP2011183959A JP5361962B2 JP 5361962 B2 JP5361962 B2 JP 5361962B2 JP 2011183959 A JP2011183959 A JP 2011183959A JP 2011183959 A JP2011183959 A JP 2011183959A JP 5361962 B2 JP5361962 B2 JP 5361962B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- audio
- video
- audio data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
Description
本発明の実施形態は、グラフィクスプロセッシングユニットおよび同グラフィクスプロセッシングユニットを用いた情報処理装置に関する。 Embodiments described herein relate generally to a graphics processing unit and an information processing apparatus using the graphics processing unit.
一般に、パーソナルコンピュータのような情報処理装置においては、その情報処理装置の描画性能を高めるためにグラフィクスプロセッシングユニット(GPU)が用いられている。最近のGPUの多くは、並列動作可能な複数のプロセッシングコアを含み、例えば2次元または3次元のグラフィクス演算等を高速に実行することができる。 In general, in an information processing apparatus such as a personal computer, a graphics processing unit (GPU) is used to improve the drawing performance of the information processing apparatus. Many recent GPUs include a plurality of processing cores that can operate in parallel, and can execute, for example, two-dimensional or three-dimensional graphics operations at high speed.
一方、情報処理装置におけるオーディオデータ(サウンドデータとも云う)の処理は、通常、サウンドコントローラと称されるデジタル信号プロセッサ(DSP)によって実行される。しかし、一般に、DSPの演算処理能力は比較的低い。このため、DSP単体でオーディオデータに高度な処理を施すことは困難である。 On the other hand, processing of audio data (also referred to as sound data) in the information processing apparatus is usually executed by a digital signal processor (DSP) called a sound controller. However, in general, the arithmetic processing capability of the DSP is relatively low. For this reason, it is difficult to perform advanced processing on audio data with a single DSP.
また、最近では、ビデオデータとオーディオデータの双方を扱うように設計されたメディア処理LSIも開発されている。 Recently, media processing LSIs designed to handle both video data and audio data have been developed.
しかし、通常のメディア処理LSIによって実現されるのは、せいぜい、ビデオデータをエンコードまたはデコードする機能と、オーディオデータをエンコードまたはデコードする機能程度である。また、通常のメディア処理LSIでは、ビデオデータに対する処理とオーディオデータに対する処理は互いに独立されている。 However, what is realized by a normal media processing LSI is at most a function of encoding or decoding video data and a function of encoding or decoding audio data. In a normal media processing LSI, processing for video data and processing for audio data are independent of each other.
ビデオデータとオーディオデータとを含むデジタルコンテンツ(例えば、ムービー、DVDビデオ、放送番組データ等)においては、それらビデオデータとオーディオデータとは互いに関連している。このため、デジタルコンテンツを再生する装置においては、ビデオデータに対する処理とオーディオデータに対する処理とを互いに連携させるための新たな機能の実現が必要である。 In digital contents including video data and audio data (for example, movies, DVD videos, broadcast program data, etc.), the video data and audio data are related to each other. For this reason, in an apparatus for playing back digital content, it is necessary to realize a new function for linking processing for video data and processing for audio data with each other.
本発明は上述の事情を考慮してなされたものであり、オーディオデータをビデオデータに連携させて処理することができるグラフィクスプロセッシングユニットおよび情報処理装置を提供することを目的とする。 The present invention has been made in consideration of the above-described circumstances, and an object thereof is to provide a graphics processing unit and an information processing apparatus that can process audio data in association with video data.
実施形態によれば、グラフィクスプロセッシングユニットは、ホストからビデオデータおよびオーディオデータを受信するホストインタフェースと、複数のプロセッシングコアと、前記複数のプロセッシングコア内の少なくとも一つの第1プロセッシングコア用いて前記ビデオデータを解析して前記ビデオデータ内の所定のシーンを検出すると共に、前記複数のプロセッシングコア内の少なくとも一つの第2プロセッシングコアを用いて前記所定のシーンに属する、前記オーディオデータ内のデータ部に所定の加工を施す手段と、前記処理されたビデオデータに対応する映像信号を出力する映像信号出力インタフェースと、前記処理されたオーディオデータに対応するオーディオ信号を出力するオーディオ信号出力インタフェースとを具備する。 According to the embodiment, the graphics processing unit uses the host interface that receives video data and audio data from a host, a plurality of processing cores, and at least one first processing core in the plurality of processing cores to use the video data. And a predetermined scene in the video data is detected , and at least one second processing core in the plurality of processing cores is used to detect a predetermined scene in the audio data belonging to the predetermined scene. be provided processing means for performing a, a video signal output interface for outputting a video signal corresponding to the processed video data, and an audio signal output interface for outputting the audio signal corresponding to the processed audio data .
以下、図面を参照して、実施形態を説明する。
図1は、本発明の一実施形態に係る情報処理装置の外観を示す斜視図である。この情報処理装置は、例えばノートブックタイプのパーソナルコンピュータ10として実現されている。図1に示すように、本コンピュータ10は、コンピュータ本体11と、ディスプレイユニット12とから構成されている。ディスプレイユニット12には、LCD(liquid crystal display)17が組み込まれている。ディスプレイユニット12は、コンピュータ本体11の上面が露出される開放位置とコンピュータ本体11の上面を覆う閉塞位置との間を回動自在にコンピュータ本体11に取り付けられている。
Hereinafter, embodiments will be described with reference to the drawings.
FIG. 1 is a perspective view showing an appearance of an information processing apparatus according to an embodiment of the present invention. This information processing apparatus is realized as, for example, a notebook type
コンピュータ本体11は、薄い箱形の筐体を有しており、その上面には、キーボード13、本コンピュータ10を電源オン/電源オフするためのパワーボタン14、入力操作パネル15、タッチパッド16、スピーカ18A,18Bなどが配置されている。入力操作パネル15上には、各種操作ボタンが設けられている。
The computer
また、コンピュータ本体11の右側面には、例えばUSB(universal serial bus)2.0規格のUSBケーブルやUSBデバイスを接続するためのUSBコネクタ19が設けられている。さらに、コンピュータ本体11の背面には、例えばHDMI(high-definition multimedia interface)規格に対応した外部ディスプレイ接続端子(図示せず)が設けられている。この外部ディスプレイ接続端子は、デジタル映像信号を外部ディスプレイに出力するために用いられる。
Further, on the right side surface of the computer
図2は、本コンピュータ10のシステム構成を示す図である。
本コンピュータ10は、図2に示されているように、CPU101、ノースブリッジ102、主メモリ103、サウスブリッジ104、グラフィクスプロセッシングユニット(GPU)105、メモリ105A、BIOS−ROM107、LANコントローラ108、ハードディスクドライブ(HDD)109、光ディスクドライブ(ODD)110、USBコントローラ111A、カードコントローラ111B、無線LANコントローラ112、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)113、EEPROM114等を備える。
FIG. 2 is a diagram showing a system configuration of the
2, the
CPU101は、本コンピュータ10内の各部の動作を制御するプロセッサである。CPU101は、HDD109から主メモリ103にロードされる、オペレーティングシステム(OS)、及び各種アプリケーションプログラムを実行する。アプリケーションプログラムには、各種デジタルコンテンツ(例えば、ムービー、DVDビデオ、放送番組データ等)を再生するための動画プレーヤが含まれている。この動画プレーヤは、デジタルコンテンツ内のビデオデータおよびオーディオデータをGPU105を用いて再生するように構成されている。また、CPU101は、BIOS−ROM107に格納されたBIOSも実行する。BIOSは、ハードウェア制御のためのプログラムである。
The
ノースブリッジ102は、CPU101のローカルバスとサウスブリッジ104との間を接続するブリッジデバイスである。ノースブリッジ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、ノースブリッジ102は、例えば、PCI Express規格のシリアルバスなどを介してGPU105との通信を実行する機能も有している。
The
GPU105は、本コンピュータ10のディスプレイモニタとして使用されるLCD17および外部ディスプレイを制御する。GPU105によって生成される映像信号はLCD17に送られる。また、GPU105は、HDMI制御回路3およびHDMI端子2を介して、外部ディスプレイ1にデジタル映像信号を送出することもできる。HDMI端子2は、前述の外部ディスプレイ接続端子である。HDMI端子2は、非圧縮のデジタル映像信号とデジタルオーディオ信号とを1本のケーブルでテレビのような外部ディスプレイ1に送出することができる。HDMI制御回路3は、HDMIモニタと称される外部ディスプレイ1にデジタル映像信号をHDMI端子2を介して送出するためのインタフェースである。
The GPU 105 controls the
GPU105は、PCI Express規格のシリアルバス等を介してCPU101に結合されており、CPU101からの要求に応じてグラフィクスデータ、ビデオデータおよびオーディオデータを処理するように構成されている。より詳しくは、GPU105は、オーディオデータ(サウンドデータとも云う)をスピーカまたは他の外部サウンド機器に出力するためのオーディオ信号出力インタフェースと、オーディオデータを解析および処理する機能とを有している。したがって、本コンピュータ10においては、グラフィクスデータのみならず、ビデオデータおよびオーディオデータもGPU105によって処理することができる。そしてGPU105によってそれぞれ生成される映像信号およびオーディオ信号(サウンド信号とも云う)は、GPU105から直接的にディスプレイ機器(例えば、LCD17、外部ディスプレイ)およびサウンド機器(スピーカ18A,18B、外部サウンド機器)にそれぞれ出力される。
The GPU 105 is coupled to the
このように、本実施形態では、GPU105はビデオデータおよびオーディオデータを同時に処理し、そしてビデオデータに対応する映像信号およびオーディオデータに対応するオーディオ信号を外部に直接的に出力することができる。
As described above, in this embodiment, the
GPU105は、複数のプロセッシングコア(ストリーミングプロセッサ)を内蔵している。GPU105は、例えば、PCI EXPRESSバスを介してCPU101からオーディオデータを受信し、その受信したオーディオデータを複数のプロセッシングコア内の少なくとも一つを用いて処理する。プロセッシングコアによるオーディオデータの処理は、プロセッシングコアに対応する命令セットをファームウェアまたはソフトウェアによってコントロールする事によって実現してもよい。これによって、GPU105によって実行されるオーディオデータの処理をプログラマブルにすることが可能となり、GPU105によってオーディオデータに対する様々な処理(編集)を実行することができる。オーディオデータの編集とは、オーディオデータに加工を施すことを意味する。オーディオデータの編集には、例えば、各種サウンドエフェクト、各種フィルタ、2D−3Dサウンド変換、音量調節、等が含まれる。たとえば、GPU105は、プロセッシングコア上にロードされたプログラムに従って、オーディオデータを解析し、その解析結果に従ってオーディオデータを適応的に処理(編集)することが出来る。
The GPU 105 includes a plurality of processing cores (streaming processors). For example, the
同様に、GPU105は、例えば、PCI EXPRESSバスを介してCPU101からビデオデータを受信し、その受信したビデオデータを複数のプロセッシングコア内の少なくとも一つを用いて処理することもできる。プロセッシングコアによるビデオデータの処理も、プロセッシングコアに対応する命令セットをファームウェアまたはソフトウェアによってコントロールする事によって実現してもよい。これによって、GPU105によって実行されるビデオデータの処理をプログラマブルにすることが可能となり、GPU105によってビデオデータに対する様々な処理(編集)を実行することができる。ビデオデータの編集とは、ビデオデータに加工を施すことを意味する。ビデオデータの編集には、例えば、高解像度変換、2D−3D変換、リサイズ、回転、等が含まれる。GPU105は、プロセッシングコア上にロードされたプログラムに従って、ビデオデータのフレームそれぞれを解析し、その解析結果に従ってビデオデータを適応的に処理することが出来る。
Similarly, the
さらに、GPU105は、ビデオデータの内容に応じてオーディオデータを適応的に処理することもできる。この場合、GPU105は、ビデオデータのフレーム群を解析してそのビデオデータの特徴を検出し、オーディオデータに、検出されたビデオデータの特徴に関連付けられた加工を施す。例えば、GPU105は、ビデオデータの特徴に基づいてそのビデオデータ内の特定のシーン(例えば、会話シーン、画像の暗いシーン、画像が明るいシーン、動きの激しいシーン、動きの少ないシーン、等)を検出し、検出された特定のシーンに属するオーディオデータ内の各フレームに対して、その特定のシーンに関連付けられた所定の加工を施す。各ビデオフレームの解析においては、例えば、GPU105は、ビデオデータの各フレームのヒストグラムを生成し、そのヒストグラムに基づいて各ビデオフレームの特徴を検出してもよい。
Further, the
逆に、GPU105は、1以上のプロセッシングコアを用いてオーディオデータのフレーム群を解析してそのオーディオデータの特徴を検出し、別の1以上のプロセッシングコアを用いて、ビデオデータに、検出されたオーディオデータの特徴に関連付けられた加工を施すこともできる。
Conversely, the
ビデオデータの処理結果およびオーディオデータの処理結果は映像信号およびオーディオ信号として直接的に外部に出力してもよいが、代わりに、ビデオデータの処理結果およびオーディオデータの処理結果をCPU101に転送してもよい。また、ビデオデータの処理およびオーディオデータの処理を再帰的に実行するために、ビデオデータの処理結果およびオーディオデータの処理結果をGPU105内の対応するプロセッシングコアにそれぞれフィードバックしてもよい。
The video data processing result and the audio data processing result may be directly output to the outside as a video signal and an audio signal. Instead, the video data processing result and the audio data processing result are transferred to the
さらに、GPU105は、ビデオデータ内の各ビデオフレームおよびオーディオデータ内の各オーディオフレームにタイムスタンプ(タイムコード)を付与してもよい。このタイムスタンプにより、処理されたビデオデータと処理されたオーディオデータとを同期化することができ、処理されたビデオデータに対応する映像信号と処理されたオーディオデータに対応するオーディオ信号とを互いに同期した状態で外部に出力することが出来る。
Further, the
サウスブリッジ104は、PCI(Peripheral Component Interconnect)バス上の各デバイス及びLPC(Low Pin Count)バス上の各デバイスを制御する。また、サウスブリッジ104は、HDD109及びODD110を制御するためのIDE(Integrated Drive Electronics)コントローラを内蔵している。
The
LANコントローラ108は、例えばIEEE 802.3規格の有線通信を実行する有線通信デバイスであり、一方、無線LANコントローラ112は、例えばIEEE 802.11g規格の無線通信を実行する無線通信デバイスである。USBコントローラ111Aは、(USBコネクタ19を介して接続される)例えばUSB 2.0規格に対応した外部機器との通信を実行する。カードコントローラ111Bは、コンピュータ本体11に設けられたカードスロットに挿入される、SDカードのようなメモリカードに対するデータの書き込み及び読み出しを実行する。
The
EC/KBC113は、電力管理のためのエンベデッドコントローラと、キーボード13及びタッチパッド16を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC113は、ユーザによるパワーボタン14の操作に応じて本コンピュータ10を電源オン/電源オフする機能を有している。
The EC /
次いで、図3を参照して、GPU105の構成を説明する。
GPU105は、PCI Expressインタフェース201、ハブ202、グラフィクスエンジン203、複数のストリーミングプロセッサ(SP)204、メモリコントローラ205、メモリ105A、映像信号出力インタフェース206、オーディオ信号入出力インタフェース207を備えている。
Next, the configuration of the
The
PCI Expressインタフェース201は、ホスト(CPU101、主メモリ103)と通信するためのホストインタフェースである。PCI Expressインタフェース201は、ホスト(CPU101、主メモリ103)からグラフィスクデータ、ビデオデータおよびオーディオデータを受信する。また、PCI Expressインタフェース201は、ホストからグラフィスクデータ、ビデオデータおよびオーディオデータを処理するための要求(命令群)も受信する。PCI Expressインタフェース201によってCPU101から受信されたグラフィスクデータ、ビデオデータおよびオーディオデータは、メモリコントローラ205によってメモリ105Aに格納される(バッファリング)。メモリ105Aはフレームバッファまたはビデオメモリと称されるメモリである。メモリ105AはGPU105のローカルメモリとして使用される。メモリ105Aは、例えば、GPU105にメモリバスを介して接続される外部メモリまたはGPU105に内蔵される内部メモリのいずれか一方、または双方によって実現される。内部メモリはキャッシュメモリであってもよい。
The
グラフィクスエンジン203は、グラフィスクデータ、ビデオデータおよびオーディオデータそれぞれに対する処理を、複数のストリーミングプロセッサ(SP)204を用いて実行する。各ストリーミングプロセッサ(SP)204はグラフィクス演算および汎用演算を実行可能なプロセッシングコア(プログラマブルシェーダ)として機能する。各ストリーミングプロセッサ(SP)204によって実行される演算の内容は、グラフィクスエンジン203から各ストリーミングプロセッサ(SP)204にロードされる命令群によって決定することができる。各ストリーミングプロセッサ(SP)204は、メモリコントローラ205を介してメモリ105A上のグラフィスクデータ、ビデオデータおよびオーディオデータそれぞれを参照することができる。さらに、各ストリーミングプロセッサ(SP)204は、グラフィスクデータ、ビデオデータまたはオーディオデータに対する処理結果を、メモリコントローラ205を介してメモリ105Aにライトすることができる。
The
複数のストリーミングプロセッサ(SP)204には、実行すべき処理がグラフィクスエンジン203によって割り当てられる。この意味で、グラフィクスエンジン203は、複数の処理を並列実行する為にそれら複数の処理を複数のストリーミングプロセッサ(SP)204に割り当てるディスパッチャ(スケジューラとも云う)である。
The
本実施形態では、ビデオデータの各フレームの解析結果に応じてオーディオデータの各フレームを適応的に処理できるようにするために、グラフィクスエンジン203は、演算制御部203Aを含む。
In the present embodiment, the
演算制御部203Aは、例えば、複数のストリーミングプロセッサ(SP)204内の少なくとも一つの第1ストリーミングプロセッサ(SP)204に、メモリ104A上のビデオデータのフレーム群を解析してビデオデータの特徴を検出するための第1のタスクを割り当てる。タスクはスレッドとして実現しても良い。さらに、演算制御部203Aは、複数のストリーミングプロセッサ(SP)204内の少なくとも一つの第2ストリーミングプロセッサ(SP)204に、メモリ104A上のオーディオデータに対して、検出されたビデオデータの特徴に関連付けられた加工を施すための第2のタスクを割り当てる。第1のタスクと第2のタスクは並列に実行される。
For example, the
第1のタスクが割り当てられた各第1ストリーミングプロセッサ(SP)204は、演算制御部203Aからその第1ストリーミングプロセッサ(SP)204にロードされる命令を実行する。そして、各第1ストリーミングプロセッサ(SP)204は、メモリ105Aからビデオデータのフレームをフェッチし、そのフレームの画像を解析する。解析処理では、例えば、各ビデオフレームの画像特徴を検出する処理、ビデオフレームに出現する特定のオブジェクト(例えば人物)を検出する処理、特定のオブジェクトの動きを検出する処理、ビデオフレーム内の特定のオブジェクトの位置を検出する処理などを実行してもよい。各ビデオフレームの特徴を示す解析処理結果は、メモリ105Aに格納される。
Each first streaming processor (SP) 204 to which the first task is assigned executes an instruction loaded from the
第2のタスクが割り当てられた各第2ストリーミングプロセッサ(SP)204は、演算制御部203Aからロードされる命令を実行する。そして、各第2ストリーミングプロセッサ(SP)204は、例えば、メモリ105Aに格納された各ビデオフレームの特徴を示す解析処理結果に基づいて、各オーディオフレームに対して、対応するビデオフレームの特徴に関連付けられた加工(編集)を施す。この場合、各第2ストリーミングプロセッサ(SP)204は、メモリ105Aからオーディオデータのフレームをフェッチし、そのフェッチしたオーディオデータのフレームに対して、対応するビデオフレームの特徴に関連付けられた加工(編集)を施す。
Each second streaming processor (SP) 204 to which the second task is assigned executes an instruction loaded from the
このように、本実施形態では、複数のストリーミングプロセッサ(SP)204を用いて、メモリ105A上のビデオデータを解析する処理と、ビデオデータの解析結果に応じてメモリ105A上のオーディオデータを加工(編集)する処理とを並列に実行することができる。
As described above, in this embodiment, a plurality of streaming processors (SP) 204 are used to analyze the video data on the
映像信号出力インタフェース206は、ストリーミングプロセッサ(SP)204によって処理されたビデオデータに対応する映像信号を生成し、生成された映像信号をディスプレイ機器に出力する。この映像信号出力インタフェース206は、デジタル−アナログコンバータ(DAC)301、ディスプレイアナログ出力インタフェース302、ディスプレイディジタル出力インタフェース303を含む。デジタル−アナログコンバータ(DAC)301とデジタル−アナログコンバータ(DAC)301は、処理されたビデオデータからアナログ映像信号(RGB)を生成する。アナログ映像信号(RGB)はGPU105に設けられたアナログ映像信号出力ピンを介して外部のRGBモニタに出力される。ディスプレイディジタル出力インタフェース303は、処理されたビデオデータからデジタル映像信号を生成する。デジタル映像信号は、GPU105に設けられたデジタル映像信号出力ピンを介して外部のデジタルモニタ(DVIモニタ、HDMIモニタ、DPモニタ等)に出力される。
The video
オーディオ信号入出力インタフェース207は、オーディオ信号を外部機器から入力すると共に、オーディオ信号を外部機器へ出力する。オーディオ信号入出力インタフェース207は、デジタル−アナログコンバータ(DAC)311、サウンドアナログ出力インタフェース312、アナログ−ディジタルコンバータ(ADC)313、サウンドアナログ入力インタフェース314、サウンドデジタル出力インタフェース315、およびサウンドデジタル入力インタフェース316を含む。
The audio signal input /
デジタル−アナログコンバータ(DAC)311とサウンドアナログ出力インタフェース312は、処理されたオーディオデータからアナログオーディオ信号(アナログサウンド信号とも云う)を生成する。アナログオーディオ信号はGPU105に設けられたアナログオーディオ信号出力ピンを介してスピーカまたは他の外部アナログサウンド機器に出力される。サウンドアナログ入力インタフェース314はマイクロフォンなどからアナログオーディオ信号を入力し、アナログ−ディジタルコンバータ(ADC)313は入力されたアナログオーディオ信号をデジタルオーディオ信号に変換する。
A digital-analog converter (DAC) 311 and a sound
サウンドデジタル出力インタフェース315は、処理されたオーディオデータからデジタルオーディオ信号(デジタルサウンド信号とも云う)を生成する。デジタルオーディオ信号は、GPU105に設けられたデジタルオーディオ信号出力ピンを介して外部のデジタルサウンド機器に出力される。サウンドデジタル入力インタフェース316は外部からデジタルオーディオ信号を入力する。
The sound
入力されたオーディオ信号もストリーミングプロセッサ(SP)204によって処理することが出来る。例えば、演算制御部203Aは、1以上のストリーミングプロセッサ(SP)204を用いて、マイクから入力された音声信号を認識する音声認識処理を実行することもできる。音声認識の結果はPCI Expressインタフェース201を介してホストに送信することが出来る。
The input audio signal can also be processed by the streaming processor (SP) 204. For example, the
このように、本実施形態においては、GPU105には、オーディオ信号の入出力の為に必要な外部インタフェースが追加されており、さらに、従来、DSPで行われていたオーディオ処理を拡張した高度なオーディオ処理がGPU105のメモリ105Aとストリーミングプロセッサ204を用いて実行される。これによって、コンピュータ10のシステムからオーディオ処理用のDSPを排除する事が可能になり、システムのトータルコストを削減できる。
As described above, in the present embodiment, the
図4は、ストリーミングプロセッサ(SP)204によって実行される演算処理を示している。演算制御部203Aからの1以上の命令はストリーミングプロセッサ204に入力される(Input Assembler)。ストリーミングプロセッサ(SP)204は、命令に従って、メモリ105Aからデータをフェッチし、フェッチしたデータに各種演算を施す。実行される演算内容は、命令によって決定される。ストリーミングプロセッサ(SP)204は、演算結果を必要に応じてメモリ105Aにライトするかストリーミングプロセッサ(SP)204自身にフィードバックしながら、データのフェッチおよび演算を順次実行する。
FIG. 4 shows arithmetic processing executed by the streaming processor (SP) 204. One or more instructions from the
図5は、ストリーミングプロセッサ(SP)204によって実行されるリバーブ処理のための演算処理の例を示している。ストリーミングプロセッサ(SP)204には以下の命令が予めロードされる。 FIG. 5 shows an example of arithmetic processing for reverberation processing executed by the streaming processor (SP) 204. The following instructions are preloaded in the streaming processor (SP) 204.
data[n] = data[n]+data[n-1]×R
ここで、Rはリバーブ処理における残響の強さを示す係数である。
data [n] = data [n] + data [n-1] × R
Here, R is a coefficient indicating the strength of reverberation in the reverb process.
オーディオデータは時系列状に並んだ一連のデータ(A,B,C,D,……)から構成される。オーディオデータは予めメモリ105Aにバッファリングされる。ストリーミングプロセッサ(SP)204は、メモリ105Aからオーディオデータを離散データとして取得していき、あらかじめ与えられた命令を実行する。これにより、最終的には、各離散データに残響効果が適用されたオーディオデータがストリーミングプロセッサ(SP)204によって生成される。図5の「Output」の部分で、GPU105は、リバーブ処理されたオーディオデータに対応するオーディオ信号を外部に出力する。
The audio data is composed of a series of data (A, B, C, D,...) Arranged in time series. Audio data is buffered in advance in the
以上のようにして、DSPの代替処理をGPU105内のストリーミングプロセッサ(SP)204によって実行することができる。
As described above, the DSP alternative process can be executed by the streaming processor (SP) 204 in the
次に、図6を参照して、GPU105によって実行されるビデオデータおよびオーディオデータに対する処理の流れを説明する。本実施形態では、以下の処理が全てGPU105によって完結可能である。
Next, with reference to FIG. 6, the flow of processing for video data and audio data executed by the
(1)GPU105はビデオデータおよびオーディオデータをホストから受信し、受信したビデオデータおよびオーディオデータをメモリ105Aに格納する。また、GPU105はビデオデータとオーディオデータとがマルチプレクスされたストリーミングデータをホストから受信し、受信したストリーミングデータをメモリ105Aに格納してもよい。
(1) The
(2)GPU105はビデオデータを解析し、その解析結果に応じてビデオデータを処理する。ビデオデータの解析および処理はGPU105内の1以上のストリーミングプロセッサ(SP)204によって実行される。ストリーミングプロセッサ(SP)204によるビデオデータの解析および処理はストリーミングプロセッサ(SP)204にロードされた命令に従って実行される。ビデオデータの解析および処理に並行して、GPU105はオーディオデータを解析し、その解析結果に応じてオーディオデータを処理することができる。オーディオデータの解析および処理はGPU105内の別の1以上のストリーミングプロセッサ(SP)204によって実行される。ストリーミングプロセッサ(SP)204によるオーディオデータの解析および処理はストリーミングプロセッサ(SP)204にロードされた命令に従って実行される。
(2) The
(3)ビデオデータの処理では、1つ前のビデオフレームの演算結果を現在のビデオフレームの演算のためにフィードバックしてもよい。同様に、オーディオデータ処理でも、1つ前のオーディオフレームの演算結果を現在のオーディオフレームの演算のためにフィードバックしてもよい。さらに、GPU105は、上述したように、ビデオフレームそれぞれの解析結果に基づいて対応するオーディオフレームを処理することもできる。
(3) In the processing of video data, the calculation result of the previous video frame may be fed back for the calculation of the current video frame. Similarly, in the audio data processing, the calculation result of the previous audio frame may be fed back for the calculation of the current audio frame. Further, as described above, the
(4)GPU105は、処理されたビデオデータに対応する映像信号および処理されたオーディオデータに対応するオーディオ信号を外部に直接的に出力する。
(4) The
これによって、一度データがGPU105のメモリ105Aにロードされた後は、GPU105はCPU101との通信を行う必要がなくなる為、CPUリソースを削減できる。
As a result, once the data is loaded into the
次に、図7を参照して、ビデオフレームの解析結果に基づいてオーディオフレームを処理する例について説明する。ここでは、人が喋っているシーンに属するオーディオデータ内のフレームそれぞれに対して、聞き取りやすいよう人の声を強調するという加工を施す場合を例示して説明する。 Next, an example of processing an audio frame based on a video frame analysis result will be described with reference to FIG. Here, a case will be described as an example in which processing is performed for emphasizing a human voice so that each frame in audio data belonging to a scene where a human is speaking is easily heard.
ストリーミングプロセッサ(SP)204には、以下の処理の実行を指示する命令群が予めロードされる。 The streaming processor (SP) 204 is preloaded with an instruction group for instructing execution of the following processing.
(1)ビデオデータの各フレームの画像を解析して、唇を探索し、唇の動きを認識する。 (1) Analyzing the image of each frame of the video data to search for lips and recognize the movement of the lips.
(2)唇の動きから「人が喋っているシーン」を検出(認識)する。 (2) Detect (recognize) “scenes of people” from the movement of lips.
(3)人が喋っているシーンに属するオーディオデータのフレームそれぞれに対して、人の声帯音域が強調されるように、音域のゲーティング、イコライジング等の加工を施す。 (3) For each frame of audio data belonging to a scene where a person is speaking, processing such as gating of the sound range and equalizing is performed so that the human vocal cord sound range is emphasized.
(4)加工されたオーディオデータの各フレームを、メモリ105A上の対応するオーディオフレームにフィードバックする。
(4) Each frame of the processed audio data is fed back to the corresponding audio frame on the
この後、幾つかのストリーミングプロセッサ(SP)204は、ビデオデータとオーディオデータをメモリ105Aからフェッチしていき、あらかじめ与えられた命令を実行する。これにより、最終的には、人が喋っているシーンでは、人の声帯音域が強調されたオーディオデータがストリーミングプロセッサ(SP)204によって生成される。そして、ビデオデータに対応する映像信号および処理されたオーディオデータに対応するオーディオ信号が外部に直接的に出力される。
Thereafter, some streaming processors (SP) 204 fetch video data and audio data from the
なお、ビデオフレームの解析結果に基づいてオーディオフレームを処理する例は上述の例に制限されない。例えば、ビデオデータ内のフレームそれぞれの輝度に応じてオーディオデータ内のフレームそれぞれの音量を調整してもよい。この場合、比較的暗いシーンに対応するオーディオデータの音量はダウンし、比較的明るいシーンに対応するオーディオデータの音量はアップしてもよい。また、特定のシーンに属する各オーディオフレームに対してリバーブ処理やサラウンド処理等を適用するようにしてもよい。 In addition, the example which processes an audio frame based on the analysis result of a video frame is not restrict | limited to the above-mentioned example. For example, the volume of each frame in the audio data may be adjusted according to the brightness of each frame in the video data. In this case, the volume of audio data corresponding to a relatively dark scene may be reduced, and the volume of audio data corresponding to a relatively bright scene may be increased. Further, reverb processing, surround processing, etc. may be applied to each audio frame belonging to a specific scene.
ところで、近年では、GPUを汎用演算に使用するといういわゆる「GPGPU」環境も開発され始めている。「GPGPU」環境は、科学技術演算のような汎用演算をGPUに実行させるために使用される。「GPGPU」環境では、CPUからGPUに命令群およびデータが送られ、そしてGPUによって得られた演算結果がGPUからCPUに戻される。したがって、たとえ図8のように、(1)CPU501から従来のGPU503に対してオーディオデータをインプットしたとしても、(2)GPU503からCPU501にオーディオデータの処理結果を戻すことが必要となり、さらには、(3)オーディオデータの処理結果をCPU501からDSP504に転送することが必要となる。よって、多くのバス帯域が消費されることになる。
By the way, in recent years, a so-called “GPGPU” environment in which a GPU is used for general-purpose computations has begun to be developed. The “GPGPU” environment is used to cause the GPU to perform general purpose operations such as scientific and technical operations. In the “GPGPU” environment, an instruction group and data are sent from the CPU to the GPU, and an operation result obtained by the GPU is returned from the GPU to the CPU. Therefore, as shown in FIG. 8, (1) even if audio data is input from the
本実施形態では、図9に示すように、GPU105がビデオデータおよびオーディオデータの双方を複数のストリーミングプロセッサ(SP)204を用いて処理でき、且つGPU105が映像信号およびオーディオ信号を直接的に出力することができる。よって、(1)CPU101からGPU105にビデオデータおよびオーディオデータを転送するだけで、(2)GPU105が映像信号およびオーディオ信号を出力することが可能となる。よって、CPUリソースやバス帯域を消費しなくて済むようになる。
In the present embodiment, as shown in FIG. 9, the
次に、図10を参照して、GPU105の機能構成について説明する。
GPU105は、ビデオストリームバッファ601、ビデオデコーダ602、ビデオフレームバッファ603、オーディオストリームバッファ604、オーディオデコーダ605、ビデオフレームバッファ606、ビデオ&オーディオ編集処理部607、およびビデオ&オーディオ同期化処理部608を含む。ビデオストリームバッファ601、ビデオフレームバッファ603、オーディオストリームバッファ604、およびビデオフレームバッファ606は、それぞれメモリ105A上の記憶領域である。
Next, the functional configuration of the
The
ビデオストリームバッファ601はホストから転送されるビデオデータのストリームを格納するためのバッファである。ビデオデータのストリームは符号化されていてもよい。オーディオストリームバッファ604はホストから転送されるオーディオデータのストリームを格納するためのバッファである。オーディオデータのストリームも符号化されていてもよい。
The
ビデオデコーダ602は、ビデオストリームバッファ601からビデオデータをフェッチし、フェッチしたビデオデータをデコードする。ビデオデータをデコードすることにより、フレーム単位のデータ、および、その各フレームに付随する各情報(例えばカラー情報等)、同期を行う為のタイムコードが取り出される。カラー情報は、対応するビデオフレームのカラーフォーマット(YUV、RGB等)を示す。デコードによってフレーム毎に得られるビデオフレーム(画像データ)、カラー情報およびタイムコードは、ビデオフレームバッファ603に格納される。ビデオデコーダ602は、例えば、1以上のストリーミングプロセッサ(SP)204にデコード処理を実行させることによって実現してもよい。換言すれば、ビデオデコーダ602は、演算制御部203Aと、演算制御部203Aによってビデオデコードのためのタスクが割り当てられる1以上のストリーミングプロセッサ(SP)204とによって実現してもよい。
The
オーディオデコーダ605は、オーディオストリームバッファ604からオーディオデータをフェッチし、フェッチしたオーディオデータをデコードする。オーディオデータをデコードすることにより、フレーム単位のデータ、および、その各フレームに付随する各情報、同期を行う為のタイムコードが取り出される。デコードによってフレーム毎に得られるオーディオフレーム(データ)、タイムコードは、オーディオフレームバッファ606に格納される。
The
ビデオ&オーディオ編集処理部607は、ビデオフレームバッファ603上のビデオデータの解析および処理を実行すると共に、オーディオフレームバッファ606上のオーディオデータの解析および処理を実行する。さらに、このビデオ&オーディオ編集処理部607は、ビデオフレームバッファ603上のビデオデータのフレームそれぞれの解析結果に基づいて、オーディオフレームバッファ606上のオーディオデータを処理することもできる。このビデオ&オーディオ編集処理部607は、演算制御部203Aと、演算制御部203Aによってビデオ解析用のタスクが割り当てられる1以上のストリーミングプロセッサ(SP)204と、演算制御部203Aによってオーディオ編集用のタスクが割り当てられる1以上のストリーミングプロセッサ(SP)204とによって実現してもよい。
The video & audio
なお、このビデオ&オーディオ編集処理部607は、オーディオフレームバッファ606上のオーディオデータの各フレームの解析結果に基づいて、ビデオフレームバッファ603上のビデオデータの各フレームを処理することもできる。このビデオ&オーディオ編集処理部607は、演算制御部203Aと、演算制御部203Aによってオーディオ解析用のタスクが割り当てられる1以上のストリーミングプロセッサ(SP)204と、演算制御部203Aによってビデオ編集用のタスクが割り当てられる1以上のストリーミングプロセッサ(SP)204とによって実現してもよい。
The video & audio
ビデオ&オーディオ同期化処理部608は、解析および処理された各ビデオフレームのタイムコードと解析および処理された各オーディオフレームのタイムコードとを用いて、ビデオデータとオーディオデータとを同期化する。そして、処理されたビデオデータに対応する映像信号は映像信号出力インタフェース206を介して外部に出力される。同時に、処理されたオーディオデータに対応するオーディオ信号はオーディオ信号入出力インタフェース207を介して外部に出力される。
The video & audio
なお、ここでは、ビデオデータとオーディオデータとを連携して処理する例を中心に説明したが、同様にして、グラフィクスデータの各フレームの解析結果に応じてオーディオデータの各フレームを処理することもできる。 Note that here, an example has been described in which video data and audio data are processed in a coordinated manner, but in the same manner, each frame of audio data may be processed according to the analysis result of each frame of graphics data. it can.
以上説明したように、本実施形態によれば、GPU105はビデオデータの各シーンの特徴等に対応する様々な加工をオーディオデータに適応的に施すことができ、そしてビデオデータに対応する映像信号およびオーディオデータに対応するオーディオ信号を外部に直接的に出力することができる。よって、オーディオデータをビデオデータに連携させて処理することができる。
As described above, according to the present embodiment, the
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 In addition, although some embodiment of this invention was described, these embodiment is shown as an example and is not intending limiting the range of invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
101…CPU、103…主メモリ、105…GPU、201…PCI Expressインタフェース、202…ハブ、203…グラフィクスエンジン、204…ストリーミングプロセッサ(SP)、205…メモリコントローラ、105A…メモリ、206…映像信号出力インタフェース、207…オーディオ信号入出力インタフェース。
DESCRIPTION OF
Claims (4)
複数のプロセッシングコアと、
前記複数のプロセッシングコア内の少なくとも一つの第1プロセッシングコア用いて前記ビデオデータを解析して前記ビデオデータ内の所定のシーンを検出すると共に、前記複数のプロセッシングコア内の少なくとも一つの第2プロセッシングコアを用いて前記所定のシーンに属する、前記オーディオデータ内のデータ部に所定の加工を施す手段と、
前記ビデオデータに対応する映像信号を出力する映像信号出力インタフェースと、
前記データ部に所定の加工が施されたオーディオデータに対応するオーディオ信号を出力するオーディオ信号出力インタフェースとを具備するグラフィクスプロセッシングユニット。 A host interface for receiving video and audio data from the host;
Multiple processing cores,
Analyzing the video data using at least one first processing core in the plurality of processing cores to detect a predetermined scene in the video data , and at least one second processing core in the plurality of processing cores Means for performing predetermined processing on a data portion in the audio data belonging to the predetermined scene using
A video signal output interface for outputting a video signal corresponding to said bi Deodeta,
Graphics processing unit including an audio signal output interface for outputting the audio signal corresponding to your audio data predetermined processing is performed on the data portion.
前記CPUに結合され、前記CPUからの要求に応じてグラフィクスデータ、ビデオデータおよびオーディオデータを処理するように構成されたグラフィクスコントローラとを具備し、
前記グラフィクスコントローラは、
前記CPUからビデオデータおよびオーディオデータを受信するホストインタフェースと、
前記受信されたビデオデータおよびオーディオデータをメモリに格納するメモリコントローラと、
前記メモリに結合された複数のプロセッシングコアと、
前記複数のプロセッシングコア内の少なくとも一つの第1プロセッシングコア用いて前記メモリ上のビデオデータを解析して前記ビデオデータ内の所定のシーンを検出すると共に、前記複数のプロセッシングコア内の少なくとも一つの第2プロセッシングコアを用いて前記所定のシーンに属する、前記メモリ上のオーディオデータ内のデータ部に所定の加工を施す演算制御手段と、
前記ビデオデータに対応する映像信号を生成し、生成された映像信号をディスプレイ機器に出力する映像信号出力インタフェースと、
前記データ部に所定の加工が施されたオオーディオデータに対応するオーディオ信号を生成し、生成されたオーディオ信号をサウンド機器に出力するオーディオ信号出力インタフェースとを具備する情報処理装置。 CPU,
A graphics controller coupled to the CPU and configured to process graphics data, video data and audio data in response to a request from the CPU;
The graphics controller
A host interface for receiving video data and audio data from the CPU;
A memory controller for storing the received video data and audio data in a memory;
A plurality of processing cores coupled to the memory;
Analyzing video data on the memory using at least one first processing core in the plurality of processing cores to detect a predetermined scene in the video data , and at least one first processing core in the plurality of processing cores. Arithmetic control means for performing predetermined processing on a data portion in audio data on the memory belonging to the predetermined scene using a two processing core;
Generates a video signal corresponding to the previous millet Deodeta, a video signal output interface for outputting the generated video signal to the display device,
An information processing apparatus comprising: an audio signal output interface that generates an audio signal corresponding to audio data obtained by performing predetermined processing on the data portion, and outputs the generated audio signal to a sound device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011183959A JP5361962B2 (en) | 2011-08-25 | 2011-08-25 | Graphics processing unit and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011183959A JP5361962B2 (en) | 2011-08-25 | 2011-08-25 | Graphics processing unit and information processing apparatus |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010150457A Division JP4818450B1 (en) | 2010-06-30 | 2010-06-30 | Graphics processing unit and information processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012016043A JP2012016043A (en) | 2012-01-19 |
JP5361962B2 true JP5361962B2 (en) | 2013-12-04 |
Family
ID=45601855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011183959A Active JP5361962B2 (en) | 2011-08-25 | 2011-08-25 | Graphics processing unit and information processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5361962B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101568204B1 (en) | 2014-07-15 | 2015-11-11 | 고려대학교 산학협력단 | Manicore system based cpu/gpu and method for determining the number of cores of a multicore cpu for cpu/gpu concurrent processing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006117683A2 (en) * | 2005-01-25 | 2006-11-09 | Lucid Information Technology, Ltd. | Graphics processing and display system employing multiple graphics cores on a silicon chip of monolithic construction |
CN100545825C (en) * | 2004-04-01 | 2009-09-30 | 松下电器产业株式会社 | Integrated circuit for video/audio processing and video-audio equipment |
US7286132B2 (en) * | 2004-04-22 | 2007-10-23 | Pinnacle Systems, Inc. | System and methods for using graphics hardware for real time two and three dimensional, single definition, and high definition video effects |
JP5128276B2 (en) * | 2004-05-10 | 2013-01-23 | 任天堂株式会社 | GAME DEVICE, GAME PROGRAM, COMPUTER-READABLE INFORMATION STORAGE MEDIUM, GAME SYSTEM, AND GAME PROCESSING METHOD |
US7843462B2 (en) * | 2007-09-07 | 2010-11-30 | Seiko Epson Corporation | System and method for displaying a digital video sequence modified to compensate for perceived blur |
-
2011
- 2011-08-25 JP JP2011183959A patent/JP5361962B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012016043A (en) | 2012-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4818450B1 (en) | Graphics processing unit and information processing apparatus | |
TWI540891B (en) | Media playback workload scheduler | |
WO2019001347A1 (en) | Screen projection method for mobile device, storage medium, terminal and screen projection system | |
CA2563782A1 (en) | System and methods for using graphics hardware for real time two and three dimensional, single definition, and high definition video effects | |
JP6284931B2 (en) | Multiple video playback method and apparatus | |
WO2020108099A1 (en) | Video processing method, device, electronic device and computer-readable medium | |
CN112992171B (en) | Display device and control method for eliminating echo received by microphone | |
US20120011468A1 (en) | Information processing apparatus and method of controlling a display position of a user interface element | |
US11942096B2 (en) | Computer system for transmitting audio content to realize customized being-there and method thereof | |
JP2019015951A (en) | Wake up method for electronic device, apparatus, device and computer readable storage medium | |
US8755668B2 (en) | Playback apparatus and playback method | |
JP2007149008A (en) | Portable electronic apparatus and power saving control method | |
CN114268796A (en) | Method and device for processing video stream | |
JP5361962B2 (en) | Graphics processing unit and information processing apparatus | |
TWI619383B (en) | Widi cloud mode | |
JP2013243619A (en) | Acoustic processor and acoustic processing method | |
US8005348B2 (en) | Information processing apparatus | |
KR20140117889A (en) | Client apparatus, server apparatus, multimedia redirection system and the method thereof | |
CN112433696A (en) | Wallpaper display method, device, equipment and medium | |
JP5238849B2 (en) | Electronic device, electronic device control method, and electronic device control program | |
JP4922418B2 (en) | REPRODUCTION DEVICE AND REPRODUCTION DEVICE CONTROL METHOD | |
TWI539795B (en) | Media encoding using changed regions | |
WO2023245494A1 (en) | Method and apparatus for acquiring texture data from rendering engine, and electronic device | |
US20220417693A1 (en) | Computer system for processing audio content and method thereof | |
JP2010148048A (en) | Device and method for recompression of moving image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130226 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130228 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130430 |
|
TRDD | Decision of grant or rejection written | ||
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20130730 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20130806 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130903 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5361962 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313121 Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |