JP2009100361A - Information processor, and method of controlling data transfer - Google Patents
Information processor, and method of controlling data transfer Download PDFInfo
- Publication number
- JP2009100361A JP2009100361A JP2007271514A JP2007271514A JP2009100361A JP 2009100361 A JP2009100361 A JP 2009100361A JP 2007271514 A JP2007271514 A JP 2007271514A JP 2007271514 A JP2007271514 A JP 2007271514A JP 2009100361 A JP2009100361 A JP 2009100361A
- Authority
- JP
- Japan
- Prior art keywords
- moving image
- image data
- system memory
- transfer
- unit
- 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.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
この発明は、例えばHD DVD(High Definition Digital Versatile Disk)等の記録メディアに格納された映像コンテンツを再生する機能を有するパーソナルコンピュータ等に適用して好適なデータ転送制御技術に関する。 The present invention relates to a data transfer control technique suitable for application to, for example, a personal computer having a function of reproducing video content stored in a recording medium such as an HD DVD (High Definition Digital Versatile Disk).
近年、ノートブックタイプやデスクトップタイプ等、様々なタイプのパーソナルコンピュータが広く普及している。この種のパーソナルコンピュータでは、例えばHD DVD等の記憶メディアに格納された映像コンテンツを再生するためのソフトウェアを搭載することが一般的になってきている。 In recent years, various types of personal computers such as a notebook type and a desktop type are widely used. In this type of personal computer, for example, software for reproducing video content stored in a storage medium such as an HD DVD is generally installed.
映像コンテンツは、圧縮符号化された動画像データとして記憶メディアに格納されている。また、この圧縮符号化された動画像データに対してデコード処理を施すデコーダに対しては、記憶メディアから読み出した動画像データを過不足なく供給する必要がある。そのために、動画像データをバッファリングする際のバッファサイズを適切に設定する仕組みについての提案が、これまでも種々なされている(例えば特許文献1等参照)。
ところで、例えば高性能のプロセッサを搭載している等により、デコーダもソフトウェアで実現しているコンピュータにおいては、バッファリングした動画像データのデコーダへの供給は、システムメモリ内で完結するが、負荷分散等の諸事情により、デコーダをハードウェアで搭載しているコンピュータにおいては、バッファリングした動画像データをデコーダへ供給するにあたり、データ転送路を介したデータ転送が発生する。 By the way, in a computer in which the decoder is also implemented by software, for example by installing a high-performance processor, the supply of buffered moving image data to the decoder is completed in the system memory, but load distribution Due to various circumstances such as the above, in a computer having a decoder mounted in hardware, data transfer through a data transfer path occurs when buffered moving image data is supplied to the decoder.
この場合、システムメモリ(バッファ)からデコーダへの動画像データの転送単位が小さいと、例えばこのデータ転送を制御するDMA(Direct Memory Access)コントローラ等の作動機会をより多く発生させることとなり、一方、転送単位が大きいと、デコーダ側に入力待ち状態、即ち、アンダーフロー状態を発生させてしまうおそれがある。このように、コンピュータの構成によっては、バッファサイズの設定のみならず、動画像データの転送単位を適切に設定する仕組みも強く求められる。 In this case, if the transfer unit of the moving image data from the system memory (buffer) to the decoder is small, for example, more operational opportunities such as a DMA (Direct Memory Access) controller that controls the data transfer are generated. If the transfer unit is large, an input waiting state, that is, an underflow state may occur on the decoder side. As described above, depending on the configuration of the computer, not only the setting of the buffer size but also a mechanism for appropriately setting the transfer unit of moving image data is strongly required.
この発明は、このような事情を考慮してなされたものであり、デコーダに対する動画像データの転送処理を好適化することを実現した情報処理装置およびデータ転送制御方法を提供することを目的とする。 The present invention has been made in view of such circumstances, and an object of the present invention is to provide an information processing apparatus and a data transfer control method that realizes optimization of transfer processing of moving image data to a decoder. .
前述の目的を達成するために、この発明の情報処理装置は、圧縮符号化された動画像データを入力する入力手段と、前記入力手段が入力した動画像データをシステムメモリ上に蓄積するバッファリング手段と、前記動画像データに対してデコード処理を施すハードウェアデコーダと、前記バッファリング手段が前記システムメモリ上に蓄積した動画像データをデータ転送路を介して前記ハードウェアデコーダに転送するデータ転送手段と、前記ハードウェアデコーダによるデコード後の動画像データの出力状況に基づき、前記データ転送手段による動画像データの転送単位を調整する調整手段と、を具備することを特徴とする。 To achieve the above object, an information processing apparatus according to the present invention comprises an input means for inputting compressed and encoded moving image data, and buffering for storing the moving image data input by the input means in a system memory. Means, a hardware decoder for decoding the moving image data, and data transfer for transferring the moving image data stored in the system memory by the buffering means to the hardware decoder via a data transfer path And adjusting means for adjusting a transfer unit of moving image data by the data transfer unit based on an output state of moving image data after being decoded by the hardware decoder.
この発明によれば、デコーダに対する動画像データの転送処理を好適化することが実現される。 According to the present invention, it is possible to optimize the moving image data transfer processing to the decoder.
以下、図面を参照して本発明の一実施形態を説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
図1は、本実施形態に係る情報処理装置のディスプレイユニットを開いた状態における斜視図である。この情報処理装置は、例えば、バッテリ駆動可能なノートブックタイプのパーソナルコンピュータ1として実現されている。
FIG. 1 is a perspective view of the information processing apparatus according to the present embodiment with the display unit opened. This information processing apparatus is realized as, for example, a notebook-type
本コンピュータ1は、コンピュータ本体2と、ディスプレイユニット3とから構成されている。ディスプレイユニット3には、LCD(Liquid Crystal Display)15で構成される表示装置が組み込まれている。
The
ディスプレイユニット3は、コンピュータ本体2に対し、コンピュータ本体2の上面が露出される開放位置とコンピュータ本体2の上面を覆う閉塞位置との間を回動自由に取り付けられている。コンピュータ本体2は薄い箱形の筐体を有しており、その上面には、キーボード24、本コンピュータ1をパワーオン/パワーオフするためのパワーボタン4、入力操作パネル5、タッチパッド25、スピーカ21などが配置されている。
The display unit 3 is attached to the computer main body 2 so as to freely rotate between an open position where the upper surface of the computer main body 2 is exposed and a closed position covering the upper surface of the computer main body 2. The computer main body 2 has a thin box-shaped casing. On the upper surface thereof, a
図2は、本コンピュータ1のシステム構成を示す図である。
FIG. 2 is a diagram showing a system configuration of the
本コンピュータ1は、図2に示すように、CPU11、ノースブリッジ12、主メモリ13、表示コントローラ14、ビデオメモリ(VRAM)14A、サウスブリッジ16、BIOS−ROM17、ハードディスクドライブ(HDD)18、HD(High Definition) DVDドライブ(HD DVD)19、サウンドコントローラ20、デコーダ22、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)23、電源回路26、バッテリ27、ネットワークコントローラ28、TVチューナ29等を備えている。
2, the
CPU11は、本コンピュータ1の動作を制御するプロセッサであり、HDD18から主メモリ13にロードされる、オペレーティングシステム(OS)100や、このOS100の制御下で動作する、ユーティリティを含む各種アプリケーションプログラムを実行する。この各種アプリケーションプログラムの中には、ビデオ再生アプリケーション200が含まれている。
The
ビデオ再生アプリケーション200は、HD DVD19に格納されたHD規格の映像コンテンツを鑑賞するためのソフトウェアである。このビデオ再生アプリケーション200は、圧縮符号化された動画像データをHD DVD19から読み出して(自身がロードされている)主メモリ13上にバッファリングしながら、圧縮符号化された動画像データのデコードを実行するデコーダ22に対する、当該バッファリングした圧縮符号化された動画像データの転送をDMAコントローラ121に適宜依頼していく。
The
DMAコントローラ121は、ノースブリッジ12に内蔵されており、(作動後は)CPU11の関与なしに主メモリ13上の指定された領域のデータを指定された周辺装置に転送する機能を有する。ビデオ再生アプリケーション200は、所定の割り込み信号を出力することで当該DMAコントローラ121を作動させることができる。
The
即ち、主メモリ13上にバッファリングした圧縮符号化された動画像データをデコーダ22に供給する都度、DMAコントローラ121を作動させるための割り込みが発生するわけであり、1回の転送単位を大きくすることにより、その回数を極力減らすことが効率面では好ましい。一方、主メモリ13上でのバッファリング量を増やして1回の転送単位をむやみに大きくしていくと、デコーダ22が入力待ち状態となっていわゆるコマ落ちを発生させるおそれがある。そこで、本コンピュータ1は、この主メモリ13からデコーダ22へのデータ転送の転送単位を適切に設定する仕組みを備えたものであり、以下、この点について詳述する。
That is, each time the compressed and encoded moving image data buffered on the
なお、ビデオ再生アプリケーション200は、HD DVD19に格納されたHD規格の映像コンテンツのほか、TVチューナ29によって受信されたデジタルTV放送番組を視聴することも可能である。デコーダ22によってデコードされた動画像データは、ビデオ再生アプリケーション200経由で表示コントローラ14に渡され、LCD15に表示される。
Note that the
また、CPU11は、BIOS−ROM17に格納されたBIOSも実行する。BIOSは、ハードウェア制御のためのプログラムである。
The
前述のDMAコントローラ121を内蔵するノースブリッジ12は、CPU11のローカルバスとサウスブリッジ16との間を接続するブリッジデバイスである。ノースブリッジ12は、バスを介して表示コントローラ14との通信を実行する機能を有しており、また、主メモリ13をアクセス制御するメモリコントローラも内蔵されている。表示コントローラ14は、本コンピュータ1の表示装置として使用されるLCD15を制御する。
The
サウスブリッジ16は、PCIバスおよびLPCバス上の各種デバイスを制御するコントローラである。このサウスブリッジ16には、BIOS−ROM17、HDD18、HD DVD19、サウンドコントローラ20、デコーダ22等が直接的に接続され、これらを制御する機能も有している。デコーダ22は、PCI Express規格のシリアルバスによって、このサウスブリッジ16と接続され、当該シリアルバスを介して前述の動画像データを入出力する。
The
HDD18は、各種ソフトウェア及びデータを格納する記憶装置である。HD DVD19は、映像コンテンツが格納されたHD DVD等の記憶メディアを駆動するためのドライブユニットである。サウンドコントローラ20は、スピーカ21を制御する音源コントローラである。
The HDD 18 is a storage device that stores various software and data. The
EC/KBC23は、電力管理のためのエンベデッドコントローラと、キーボード24およびタッチパッド25を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC23は、電源回路26と協働して、バッテリ27または外部AC電源からの電力を各部に供給制御する。
The EC / KBC 23 is a one-chip microcomputer in which an embedded controller for power management and a keyboard controller for controlling the
ネットワークコントローラ28は、例えばインターネットなどの外部ネットワークとの通信を実行する通信装置である。そして、TVチューナ29は、デジタルTV放送番組データを外部から受信するための受信装置である。 The network controller 28 is a communication device that executes communication with an external network such as the Internet. The TV tuner 29 is a receiving device for receiving digital TV broadcast program data from the outside.
図3は、ビデオ再生アプリケーション200の機能ブロックを示す図である。各種アプリケーションプログラムの中の1つであるビデオ再生アプリケーション200は、前述のように、HDD18から主メモリ13にロードされてOS100の制御下で動作する。ビデオ再生アプリケーション201は、図3に示すように、バッファリング制御部201およびデコード性能監視部202を備えている。
FIG. 3 is a diagram showing functional blocks of the
バッファリング制御部201は、HD DVD19から読み出される圧縮された動画像データが適量ずつデコーダ22に供給されるようにするための制御を行うものであり、圧縮された動画像データの蓄積量が所定量に達する毎に、その所定量分の圧縮された動画像データのデコーダ22への転送を(割り込み信号を生成することによって)DMAコントローラ121に依頼する。
The
そして、このバッファリング制御部201に対して、前述の所定量、即ち、圧縮された動画像データの転送単位を指示するのがデコード性能監視部202である。デコーダ22によってデコードされた動画像データは、表示コントローラ14に転送することでLCD15に表示されることになるが、記憶メディアに格納された映像コンテンツが例えば24フレーム/秒で構成されている場合、デコード性能監視部202は、デコーダ22からのデコード後の動画像データの出力フレームレートが当該24フレーム/秒(基準値)を満たしているかを監視する。もし、出力フレームレートが基準値を満たしていないことを検知すると、デコード性能監視部202は、圧縮された動画像データのデコーダ22への転送単位を1段階小さくするようにバッファリング制御部201に指示する。
The decoding
より具体的に説明すると、いま、バッファリング制御部201は、16Kバイト〜64Kバイトの範囲で、かつ、2Kバイト刻みで転送単位の指定を受け付け可能であると想定する。この場合、デコード性能監視部202は、まず、最小値である16Kバイトを転送単位とするようにバッファリング制御部201に指示する。
More specifically, it is assumed that the
最小値である16Kバイトを転送単位とするということは、DMAコントローラ121の作動頻度を最も高くするということである。即ち、割り込みを受けるCPU11の負荷は最も大きい。そこで、デコード性能監視部202は、デコーダ22によるデコード後の動画像データの出力フレームレートが基準値を満たす限りにおいて、この作動頻度を低くすべく、転送単位が段階的に大きくなるように、バッファリング制御部201に対して指示を与えていく。これにより、いわゆるコマ落ちを発生させない範囲において、映像コンテンツの再生に関するCPU11の負荷が最小化される。
Using the minimum value of 16 Kbytes as a transfer unit means that the operation frequency of the
このデコード性能監視部202によるデータ転送単位の動的な制御により、例えばハードウェア仕様の異なる種々のコンピュータ上で当該ビデオ再生アプリケーション200を動作させても、各コンピュータ毎の人為的なチューニング作業を不要にできる。
By the dynamic control of the data transfer unit by the decoding
なお、バッファリング制御部201は、HD DVD19から読み出される圧縮された動画像データを蓄積する際、例えばヘッダ部の所定フィールド等を参照して、データの区切りを示す情報が含まれていないかを監視する。そして、このデータの区切りを示す情報を検出すると、バッファリング制御部201は、圧縮された動画像データの蓄積量がデコード性能監視部202から指示された量に達していなくとも、その時点で、蓄積された分の転送をDMAコントローラ121に依頼する。また、バッファリング制御部201は、圧縮された動画像データの入力が一定期間を越えて途絶えた場合も、その時点で、蓄積された分の転送をDMAコントローラ121に依頼する。
Note that when the compressed moving image data read from the
図4は、本コンピュータ1上で動作するビデオ再生アプリケーション200が実行するデータ転送制御手順を示すフローチャートである。
FIG. 4 is a flowchart showing a data transfer control procedure executed by the
ビデオ再生アプリケーション200のデコード性能監視部202は、まず、バッファリング制御部201に対して、圧縮された動画像データのデコーダ22へのデータ転送単位を初期値(バッファリング制御部201が受け付け得る最も小さい値)とするための指示を与える(ステップA1)。
First, the decoding
この指示を与えた後、デコード性能監視部202は、デコーダ22からのデコード後の動画像データの出力フレームレートを監視し(ステップA2)、いわゆるコマ落ちを発生させていないかを調べる(ステップA3)。もし、コマ落ちを発生させていなければ(ステップA3のNO)、デコード性能監視部202は、データ転送単位を1段階大きくするための指示をバッファリング制御部201に与える(ステップA4)。
After giving this instruction, the decoding
このステップA2〜ステップA4の処理は、コマ落ちが発生するまで(ステップA3のYES)繰り返され、デコード性能監視部202は、コマ落ちが発生すると、今度は、データ転送単位を1段階小さくするための指示をバッファリング制御部201に与える(ステップA5)。このステップA5によって設定されるデータ転送単位が、本コンピュータ1のハードウェア仕様における最適値であり、以降、デコード性能監視部202は、デコーダ22からのデコード後の動画像データの出力フレームレートを監視し続け(ステップA6)、コマ落ちが発生したら(ステップA7のYES)、データ転送単位を1段階小さくするための指示をバッファリング制御部201に与えることで(ステップA8)、本コンピュータ1の環境変化に動的に対応していく。
The processing from step A2 to step A4 is repeated until a frame drop occurs (YES in step A3). When a frame drop occurs, the decoding
このように、本コンピュータ1によれば、主メモリ13からデコーダ22へのDMAコントローラ121による動画像データの転送単位を自動調整することが実現される。
Thus, according to the
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。 Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, you may combine a component suitably in different embodiment.
1…情報処理装置(コンピュータ)、2…コンピュータ本体、3…ディスプレイユニット、11…CPU、12…ノースブリッジ、13…主メモリ、14…表示コントローラ、14A…VRAM、15…LCD、16…サウスブリッジ、17…BIOS−ROM、18…HDD、19…HD DVD、20…サウンドコントローラ、21…スピーカ、22…デコーダ、23…エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)、24…キーボード、25…タッチパッド、26…電源回路、27…バッテリ、28…ネットワークコントローラ、29…TVチューナ、100…オペレーティングシステム(OS)、200…ビデオ再生アプリケーション、201…バッファリング制御部、202…デコード性能監視部。
DESCRIPTION OF
Claims (5)
前記入力手段が入力した動画像データをシステムメモリ上に蓄積するバッファリング手段と、
前記動画像データに対してデコード処理を施すハードウェアデコーダと、
前記バッファリング手段が前記システムメモリ上に蓄積した動画像データをデータ転送路を介して前記ハードウェアデコーダに転送するデータ転送手段と、
前記ハードウェアデコーダによるデコード後の動画像データの出力状況に基づき、前記データ転送手段による動画像データの転送単位を調整する調整手段と、
を具備することを特徴とする情報処理装置。 Input means for inputting compressed and encoded video data;
Buffering means for storing the moving image data input by the input means on a system memory;
A hardware decoder that performs decoding processing on the moving image data;
Data transfer means for transferring the moving image data stored in the system memory by the buffering means to the hardware decoder via a data transfer path;
An adjustment unit that adjusts a transfer unit of moving image data by the data transfer unit based on an output state of moving image data after being decoded by the hardware decoder;
An information processing apparatus comprising:
前記コンピュータは、
入力した動画像データを前記システムメモリ上に蓄積し、
前記システムメモリ上に蓄積した動画像データを前記DMAコントローラにより前記ハードウェアデコーダに転送し、
前記ハードウェアデコーダによるデコード後の動画像データの出力状況に基づき、前記DMAコントローラによる前記システムメモリから前記ハードウェアデコーダへの動画像データの転送単位を調整する、
ことを特徴とするデータ転送制御方法。 A computer having a system memory, a hardware decoder that performs decoding processing on compression-encoded moving image data, and a DMA controller that transfers data on the system memory to various peripheral devices including the hardware decoder The data transfer control method of
The computer
Accumulating input video data on the system memory,
Transferring the moving image data stored in the system memory to the hardware decoder by the DMA controller;
Adjusting a transfer unit of moving image data from the system memory to the hardware decoder by the DMA controller based on an output state of moving image data after being decoded by the hardware decoder;
A data transfer control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007271514A JP2009100361A (en) | 2007-10-18 | 2007-10-18 | Information processor, and method of controlling data transfer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007271514A JP2009100361A (en) | 2007-10-18 | 2007-10-18 | Information processor, and method of controlling data transfer |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009100361A true JP2009100361A (en) | 2009-05-07 |
Family
ID=40702918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007271514A Pending JP2009100361A (en) | 2007-10-18 | 2007-10-18 | Information processor, and method of controlling data transfer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009100361A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10133685B2 (en) | 2015-03-23 | 2018-11-20 | Samsung Electronics Co., Ltd. | Bus interface device that merges data request signals, semiconductor integrated circuit device including the same, and method of operating the same |
-
2007
- 2007-10-18 JP JP2007271514A patent/JP2009100361A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10133685B2 (en) | 2015-03-23 | 2018-11-20 | Samsung Electronics Co., Ltd. | Bus interface device that merges data request signals, semiconductor integrated circuit device including the same, and method of operating the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4920522B2 (en) | Information processing apparatus and output interlocking control method | |
JP4834472B2 (en) | Information processing apparatus, moving image reproduction method, and program | |
JP2007264953A (en) | Information processor and operation control method | |
US20050168638A1 (en) | Information processing apparatus | |
JP4768861B2 (en) | Information processing apparatus and audio output control method in information processing apparatus | |
JP2008276395A (en) | Information processor and program execution control method | |
CN1755586A (en) | Information processing apparatus and cooling method | |
US7936827B2 (en) | Information processing apparatus having receiving device that receives video data | |
JP2007151017A (en) | Information processor, and speaker output sound volume control method applied to the processor | |
US20070120829A1 (en) | Portable electronic apparatus and power save control method | |
US20090193355A1 (en) | Information processing apparatus and display control method | |
US20070204181A1 (en) | Information processing apparatus and power consumption method | |
JP2007295392A (en) | Information processing apparatus, decoding processing method, and program | |
US7321977B2 (en) | Information processing apparatus and method | |
US20120327062A1 (en) | Electronic apparatus, control method of electronic apparatus, and non-transitory computer-readable medium storing computer executable control program of electronic apparatus | |
US8650425B2 (en) | Computer system for processing data in non-operational state and processing method thereof | |
US20070079313A1 (en) | Information processing apparatus and control method thereof | |
JP2009100361A (en) | Information processor, and method of controlling data transfer | |
US20080080841A1 (en) | Information Processing Apparatus and Audio/Video Data Reproducing Method | |
JP4887548B2 (en) | Electronics | |
JP5022754B2 (en) | Information processing device | |
US20080271028A1 (en) | Information processing apparatus | |
JP5075745B2 (en) | Information processing device | |
JP4922418B2 (en) | REPRODUCTION DEVICE AND REPRODUCTION DEVICE CONTROL METHOD | |
JP2010118772A (en) | Information processor, and upconversion control method of moving picture data |