
VideoCoreは、もともとAlphamosaic Ltdによって開発され、現在はBroadcomが所有する低電力 モバイルマルチメディアプロセッサシリーズです。Alphamosaicは、低電力消費を維持しながら、ソフトウェアで多数のマルチメディアコーデックをデコード(およびエンコード)できるほど柔軟で効率的な2次元DSPアーキテクチャとして最初のバージョンを販売しました。 [1]半導体知的財産コア(SIPコア)は、これまでのところBroadcom SoCにのみ搭載されています。
技術的な詳細
マルチメディアシステムの制約
モバイルマルチメディア デバイスでは、大量の高速ビデオ処理が必要ですが、バッテリー寿命を延ばすために低消費電力でなければなりません。ARMプロセッサ コアはワットあたりのIPS値が高く(そのため携帯電話市場で優位に立っています)、完全なシステムにはビデオ アクセラレーション コプロセッサとディスプレイ コントローラが必要です。これらのチップ間で高速に渡されるデータ量が多いため、消費電力が高くなります。専用のコプロセッサは、レイテンシよりもスループットに最適化されており (コア数とデータ並列性は多いが、クロック速度は低い)、メディア処理用に設計された命令セットとメモリ アーキテクチャを備えています (飽和演算や特殊なデータ形式の処理など)。
3Dエンジン
Raspberry Pi 1、2、3に搭載されている VideoCoreIV-AG100-R は、 OpenGL ES 2.0 とOpenVG 1.1 を完全にサポートすることが文書化されています。
3D エンジンはさまざまなサブシステムで構成されていますが、最も多いのは QPU です。QPU は 16 ウェイの単一命令複数データ(SIMD) プロセッサです。
「各プロセッサには 2 つのベクトル浮動小数点ALUがあり、単一の命令サイクルのレイテンシで乗算と非乗算の演算を並列に実行します。内部的には、QPU は 4 サイクルで 4 倍に多重化された 4 ウェイ SIMD プロセッサであり、4 ピクセルのクワッド ストリームの処理に特に適しています」と Broadcom のVideoCore® IV 3D アーキテクチャ リファレンス ガイドには記載されています。 [1]
「QPU は、スライスと呼ばれる最大 4 つのグループに編成され、特定の共通リソースを共有します」とドキュメントは続けます。頂点とシェーダーを参照してください。
これらの「スライス」は、AMD の Compute Unitsにほぼ相当します。
少なくともVC 4(例えばRaspberry Pi)はS3テクスチャ圧縮(S3TC)をサポートしていません。[2]また、おそらく適応型スケーラブルテクスチャ圧縮(ASTC)もサポートしていません。
ビデオ圧縮アルゴリズム
Broadcom の VideoCore 製品は、現在広く使用されているH.263、H.264/MPEG-4 AVC、MPEG-4、 MPEG -2、MPEG-1、H.265、Daala、Theora、VP8、VP9などのビデオ圧縮アルゴリズムのうち、一部の操作のハードウェア アクセラレーションをサポートしています。場合によっては、特定の解像度 (720p または 1080p など) および特定のフレーム レート (30 フレーム/秒または 60 フレーム/秒など) まで、解凍のみ、圧縮のみ、またはその両方を行うことができます。
VideoCoreの主な機能
- 最初からビデオ処理を念頭に置いて書かれた命令セット。たとえば、2 つの明るいピクセルの合計が暗い値に「ラップアラウンド」しないようにする飽和演算など。
- 比較的低いクロック速度でビデオ データを並列計算するためのグラフィックス処理ユニットの配列。
- 非常に高い統合性により、CPU、GPU、メモリ、ディスプレイ回路が 1 つのチップに統合され、高速なオフチップ バスを駆動するための電力負担が軽減されます。
バリエーション
VideoCore IベースのVC01は、SCH-V540、SCH-V4200、SCH-V490を含むさまざまなSamsung携帯電話にビデオおよびマルチメディア機能を提供します。[3]
VideoCore IIベースのVC02 / BCM2722プロセッサは、Appleの第5世代iPodにビデオ機能を提供します。[4]
VideoCore III ベースの BCM2727 プロセッサは、Nokia N8にビデオ、静止画、3D グラフィック機能を提供します。
VideoCore IV BCM2763プロセッサは、VideoCore IIIを改良したもので、1080pエンコードとデコード、高解像度カメラのサポート、2Dと3Dグラフィックスの高速化など、すべて非常に低い消費電力でサポートされています。Nokia 808 PureView、[5] Rokuハードウェアの一部のバージョン、Raspberry Pi(バージョン1と2ではそれぞれ2835/2836モデル)で使用されています。[6]
VideoCore IV BCM28155 プロセッサは、 BCM28155 チップセットのデュアルコア ARM Cortex-A9 CPU により、1080p エンコードとデコード、改善された 2D および 3D グラフィックスをサポートします。Samsung Galaxy S II Plus、Samsung Galaxy Grand、Amazon Fire TV Stickで使用されています。
VideoCore V BCM7251 プロセッサは、2160p60 デコードおよびトランスコード、またはデュアル 1080p60 エンコード/デコードをサポートし、改善されたコーデック サポート (H.265)、DDR3 および DDR4 サポート、USB 3.0、PCIe、ギガビット イーサネット、およびデュアル コア ARM Cortex-A15 Brahma15 デュアル コア CPU 上の 802.11ac を備えています。
VideoCore SIP ブロックを採用した SoC の一覧
- ^ ab 編集では、
/boot/config.txtスキャン数とピクセルクロックを変更することで、より高い解像度を得ることができます(例:2560x1080)[9]
VideoCore製品
VideoCore チップは完全なアプリケーションを実行できます。DSP チップは、データの提供と収集に別のプロセッサを必要とする単なるビデオ DSP チップではありません。VideoCore は、DSP 以外のタスクでは最適な電力効率が得られない場合もありますが、非常に効率的な CPU コアと組み合わせることができます。たとえば、一般的な非マルチメディア タスクでは 32 ビットを超えるバス幅が必要になることはほとんどありませんが、VideoCore 設計では複数の広いバス幅のコアが採用されています。
ビデオのデコードは、BCM チップを使用してビデオ アクセラレータ ボードにオフロードされました。[引用が必要]
Blu-ray プレーヤーでは、低電力ビデオ アクセラレータとしても使用できます。
VideoCore チップは通常 ARM ベースのチップで使用されていましたが、最新のチップには VideoCore と ARM プロセッサが搭載されています。
Linuxサポート
2014年2月28日、ラズベリーパイ2周年記念日に、ブロードコムはラズベリーパイ財団と共同で、VideoCore IVグラフィックコアの完全なドキュメントと、3条項BSDライセンスに基づくグラフィックスタックの完全なソースリリースを発表しました。[13] [14] [15]
しかし、オープンソースとしてリリースされたのはドライバのごく一部だけで、ビデオアクセラレーションはすべて、オープンソース化されていない独自のGPU用にコード化されたファームウェアを使用して実行されます。SoC全体は、起動時にVideoCoreのVPUにロードされるThreadXベースのRTOSによって管理されています。[16]
VideoCoreベースのシステムのアーキテクチャの概要は、Herman Hermitageによって(リバースエンジニアリングと特許調査に基づいて)まとめられ、GitHubで公開されています。[17]
2014年6月、エマ・アンホルトはインテルを離れ、ブロードコムに移り、 VC4(VideoCore 4)用のフリードライバー(DRM / KMSドライバーとGallium3Dドライバー)を開発しました。 [18] 1週間後、彼女は注目すべき進歩を報告しました。[19] [20]
そこで私はオープンソース開発者として新たな役割を担うことになった。Raspberry Piに搭載されているチップ2708(別名2835)用のMITライセンスの Mesa 3DおよびカーネルDRMドライバの構築に取り組むつもりだ。[21]
自由にライセンスされた3Dグラフィックスコードは2014年8月29日にMesaにコミットされ、[22] Mesa 10.3の一部として最初にリリースされました。
コンピューティングカーネルプログラミング
オープンソース コミュニティは、すべての Raspberry Pi の VideoCore GPU でカスタムコンピューティング カーネルを直接実行するための V3DLib という C++ ライブラリを作成しました。これにより、OpenGL のグラフィックス指向APIに制限されないグラフィックス プロセッシング ユニット ( GPGPU )での汎用コンピューティングが可能になります。
市場の競合相手
同様のモバイル マルチメディア チップ シリーズには、Adreno、Texas Instruments OMAP、Nvidia Tegra、AllWinner A1X、Freescale i.MXなどがあります。これらは、グラフィックス処理ユニットの配列を備えた ARM ベースです。
データソース
BroadcomのYouTubeページ[23]にはビデオ処理能力を実演するビデオが掲載されていますが、同社のウェブサイトでは製品概要しか提供されていません。詳細なデータと開発ツールはNDAに基づいてのみ利用可能であり、非常に多くのユニットを販売するメーカーのみが利用できます。
参照
参考文献
- ^ Alphamosaic Ltd > Technology – VideoCore、2003年2月9日アーカイブ。
- ^ 「Raspberry Pi などの他のプラットフォームで OpenMW を使用して Morrowind をプレイできますか?」 2011 年 8 月 6 日。
- ^ 「Yossi Cohen による Broadcom のプレゼンテーション」(PDF)。
- ^ Ecker, Clint (2005 年 10 月 20 日). 「ビデオ iPod: 生体解剖」. Ars Technica . 2008 年3 月 29 日閲覧。
- ^ 「Nokia 808 PureView、驚異の41メガピクセルカメラ搭載」staygrab.com。2013年1月13日時点のオリジナルよりアーカイブ。2013年1月23日閲覧。
- ^ 「BCM2835 - Raspberry Pi ドキュメント」。
- ^ abc 「Raspberry Pi FAQ - よくある質問」.
- ^ 「Roku 2 XS 分解」。My Cable Alternatives。2011年7月28日。
- ^ 「STICKY: HOWTO: カスタム HDMI モードを作成する - ページ 3」。Raspberry Pi フォーラム。2019年9 月 24 日閲覧。
- ^ “Opus HD”. Xolo . 2014年10月10日時点のオリジナルよりアーカイブ。
- ^ 「Raspberry Pi 4 レビュー: シングルボードコンピューティングの新たなゴールドスタンダード」。Tom 's Hardware。2019年 8 月 28 日。2019年9 月 24 日閲覧。
- ^ 「Introducing: Raspberry Pi 5!」Raspberry Pi . 2023年9月28日. 2023年9月28日閲覧。
- ^ 「Raspberry Pi がオープンソース グラフィック ドライバーの計画で 2 周年を迎える」2014 年 2 月 28 日。
- ^ 「Broadcomからの誕生日プレゼント」Raspberry Pi 2014年2月28日。
- ^ 「Android for All: Broadcom が開発者に VideoCore 王国への鍵を提供」www.broadcom.com 。2019年9 月 24 日閲覧。
- ^ Hermitage, Herman (2015 年 3 月 21 日)。「Videocoreiv Quad プロセッサ ユニットを使った楽しいゲーム」。GitHub。
- ^ "hermanhermitage/videocoreiv". GitHub .
- ^ 「Eric Anholt が Intel の Linux グラフィックス チームを離れ、Broadcom に移籍」2014 年 6 月 17 日。
- ^ 「VC4 Linux ドライバー」。GitHub。2014年 7 月 22 日時点のオリジナルよりアーカイブ。2014 年6 月 22 日閲覧。
- ^ “VC4 ドライバー 1 週目”. 2014年6月22日. 2014年8月16日時点のオリジナルよりアーカイブ。
- ^ エリック・アンホルト。「新しい仕事!」 。 2023年12月27日閲覧。
- ^ 「vc4: 初期スケルトン ドライバーのインポート」。Mesa 3D グラフィックス ライブラリ。2014 年 8 月 9 日。
- ^ 「Broadcom Limited」。YouTube。
