ビデオコア

Broadcom VideoCore プロセッサは、人気のRaspberry Piマイクロコンピュータの製品ラインに搭載されています。

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(単一命令複数データ)プロセッサです。

BroadcomのVideoCore® IV 3Dアーキテクチャリファレンスガイドによると、「各プロセッサには2つのベクトル浮動小数点ALUが搭載されており、乗算演算と非乗算演算を1命令サイクルのレイテンシで並列に実行します。内部的には、QPUは4サイクルで4倍の演算を多重化する4ウェイSIMDプロセッサであり、特に4倍ピクセルのストリーム処理に適しています。」[ 1]

「QPU は、スライスと呼ばれる最大 4 つのグループに編成され、特定の共通リソースを共有します」と文書は続けます。頂点シェーダーを参照してください。

これらの「スライス」は、AMD の Compute Unitsにほぼ相当します。

少なくともVC 4(例えばRaspberry Pi)はS3テクスチャ圧縮(S3TC)をサポートしていません。[2]また、おそらく適応型スケーラブルテクスチャ圧縮(ASTC)もサポートしていません。

ビデオ圧縮アルゴリズム

BroadcomのVideoCore製品は、 H.263H.264/MPEG-4 AVCMPEG-4MPEG-2MPEG-1H.265DaalaTheoraVP8VP9など、現在広く使用されているビデオ圧縮アルゴリズムの一部の操作において、ハードウェアアクセラレーションをサポートしています。場合によっては、特定の解像度(例: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 PlusSamsung Galaxy GrandAmazon 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一覧

SoCグラフィックプロセッサCPU最大表示デバイスの活用
建築周波数 ( MHz )建築コア周波数(MHz)
VC01ビデオコア IなしCIF
リスト
  • サムスン SCH-V490、サムスン SCH-V420、サムスン SCH-V450、サムスン SCH-V4200、サムスン SCH-V540、サムスン SCH-X699、
BCM2702 (VC02)ビデオコアIIなしSD
リスト
  • TCL D308、TCL D918、Samsung SPH-B3100、Samsung SPH-P730、Sandisk v-mate、BenQ S700、O2 X3、Nintendo Play-Yan、Sagem MyMobileTV
BCM2705 (VC05)ビデオコアIIなしSD
BCM2091ビデオコアIVなし未指定
BCM2722ビデオコアIIなしSDiPod(第5世代)
BCM2724ビデオコアIIなしSD
BCM2727ビデオコアIIIなし720pノキア N8
BCM11181ビデオコアIIIなし720p
BCM2763ビデオコアIVなし1080p
BCM2820ビデオコアIVARM117616001080p
BCM2835ビデオコアIV250ARM117617001080p
BCM2836ビデオコアIV250皮質A749001080p [あ]ラズベリーパイ2 [7]
BCM2837ビデオコアIV300皮質A53412001080p [あ]ラズベリーパイ3 [7]
BCM11182ビデオコアIVなし1080p
BCM11311ビデオコアIV皮質A921080p
BCM21654ビデオコアIVコルテックスA9 +コルテックスR41+11080pサムスンギャラクシーの名声
BCM21654GビデオコアIV皮質A91>1200720p
BCM21663ビデオコアIV皮質A91>1200720p
リスト
  • K-タッチ W68、K-タッチ W70
BCM21664ビデオコアIV皮質A91>1000720p
BCM21664TビデオコアIV皮質A91>12001080p
リスト
BCM28150ビデオコアIV皮質A921080p
BCM21553ビデオコアIVARM1111080p
リスト
BCM28145/28155ビデオコアIV皮質A9212001080p
BCM23550ビデオコアIV皮質A7412001080p
リスト
  • HTC Desire 601 Dual SIM、XOLO Opus-HD、[10] Samsung Galaxy Grand Neo、K-Touch W96、K-Touch W98
BCM7251 (archive.org)ビデオコアV皮質A15216664K
BCM2711B0ビデオコアVI500皮質A7241800デュアル4Kラズベリーパイ4B [11]
BCM2712ビデオコア VII800皮質A7642400デュアル4Kラズベリーパイ5 [12]
SoC建築周波数 ( MHz )建築コア周波数(MHz)最大表示デバイスの活用
グラフィックプロセッサCPU
  1. ^ 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 )上での汎用コンピューティングが可能になります

市場競合企業

同様のモバイルマルチメディアチップシリーズには、AdrenoTexas Instruments OMAPNvidia TegraAllWinner A1XFreescale i.MXなどがあります。これらはARMベースで、多数のグラフィックス処理ユニットを搭載しています。

データソース

BroadcomのYouTubeページ[23]にはビデオ処理機能のデモ動画が掲載されていますが、ウェブサイトでは製品概要しか提供されていません。詳細なデータや開発ツールはNDA(秘密保持契約)に基づき、かつ非常に多くのユニットを販売するメーカーのみに提供されます。

参照

参考文献

  1. ^ Alphamosaic Ltd > Technology – VideoCore、2003年2月9日アーカイブ。
  2. ^ 「Raspberry Pi などの他のプラットフォームで OpenMW を使用して Morrowind をプレイできますか?」2011 年 8 月 6 日。
  3. ^ 「Yossi Cohen による Broadcom のプレゼンテーション」(PDF)
  4. ^ Ecker, Clint (2005年10月20日). 「ビデオiPod:生体解剖」Ars Technica . 2008年3月29日閲覧
  5. ^ “Nokia 808 PureView、驚異の41メガピクセルカメラ搭載”. staygrab.com . 2013年1月13日時点のオリジナルよりアーカイブ。 2013年1月23日閲覧
  6. ^ 「BCM2835 - Raspberry Pi ドキュメント」。
  7. ^ abc 「Raspberry Pi FAQ - よく寄せられる質問」。
  8. ^ “Roku 2 XS Teardown”. My Cable Alternatives . 2011年7月28日. 2017年1月3日時点のオリジナルよりアーカイブ。 2016年5月26日閲覧
  9. ^ 「STICKY: HOWTO: カスタムHDMIモードの作成 - ページ3」Raspberry Piフォーラム。 2019年9月24日閲覧
  10. ^ “Opus HD”. Xolo . 2014年10月10日時点のオリジナルよりアーカイブ。
  11. ^ 「Raspberry Pi 4レビュー:シングルボードコンピューティングの新たなゴールドスタンダード」Tom's Hardware、2019年8月28日。 2019年9月24日閲覧
  12. ^ 「Introducing: Raspberry Pi 5!」Raspberry Pi . 2023年9月28日. 2023年9月28日閲覧
  13. ^ 「Raspberry Pi、オープンソースグラフィックドライバーの計画で2周年を迎えます」2014年2月28日。
  14. ^ “Broadcomからの誕生日プレゼント”. Raspberry Pi . 2014年2月28日. 2014年2月28日時点のオリジナルよりアーカイブ。 2014年3月1日閲覧
  15. ^ 「Android for All: Broadcomが開発者にVideoCore王国への鍵を提供」www.broadcom.com . 2019年9月24日閲覧
  16. ^ Hermitage, Herman (2015年3月21日). 「Videocoreiv Quad Processor Unitsを使った楽しいゲーム」. GitHub .
  17. ^ "hermanhermitage/videocoreiv". GitHub .
  18. ^ 「Eric AnholtがIntelのLinuxグラフィックスチームを離れ、Broadcomに移籍」2014年6月17日。
  19. ^ “VC4 Linux ドライバー”. GitHub . 2014年7月22日時点のオリジナルよりアーカイブ。 2014年6月22日閲覧
  20. ^ “VC4 driver week 1”. 2014年6月22日. 2014年8月16日時点のオリジナルよりアーカイブ。
  21. ^ エリック・アンホルト. 「新しい仕事!」 . 2023年12月27日閲覧
  22. ^ "vc4: 初期スケルトンドライバーのインポート". Mesa 3Dグラフィックスライブラリ. 2014年8月9日.
  23. ^ 「Broadcom Limited」. YouTube .
Retrieved from "https://en.wikipedia.org/w/index.php?title=VideoCore&oldid=1319860522"