ホワイト ペーパー: zynq ultrascale+ mpsoc …...wp497 (v1.0) 2017 年 10 月 23 日...

19
© Copyright 2017 Xilinx, Inc. XilinxXilinx のロゴ、 ArtixISEKintexSpartanVirtexVivadoZynq、 およびこの文書に含まれるその他の指定されたブランドは、 米 国およびその他各国のザイ リ ンクス社の商標です。 すべてのその他の商標は、 それぞれの保有者に帰属します。 この資料は表記のバージ ョ ンの英語版を翻訳したもので、 内容に相違が生じる場合には原文を優先します。 資料によっては英語版の更新に対応していないものがありま す。 日本語版は参考用と し てご使用の上、 最新情報につきま し ては、 必ず最新英語版をご参照 く だ さい。 WP497 (v1.0) 2017 10 23 japan.xilinx.com 1 ザイ リ ン ク スが提供する高効率で消費電力が最適化された All Programmable システムオンチップ マルチメディア ソ リ ューシ ョ ン は、 GPU およびコーデックを統合し、 UHD (Ultra High-Definition) 像度のビデオ向けに設計されてお り 、 非常に高い設計上の柔軟性と 革新的な製品の差別化を可能にし ます。 ホワイ ト ペーパー : Zynq UltraScale+ MPSoC WP497 (v1.0) 2017 10 23 ビデオ コーデック / グラフィックス エンジンを使用した ザイリンクス拡張マルチメディア ソリューション 著者 : Yashu GosainAlok Gupta 概要 このホワイト ペーパーでは、 Zynq® UltraScale+™ MPSoC をマルチメディアの側面から詳し く 見ていきます。 Zynq-7000 SoC をベースとする MPSoC にはプログラマブル ロジック (PL) に連 結されたプロセッシング システム (PS) が備わっていますが、 Zynq UltraScale+ MPSoC がマルチ メディア アプ リ ケーシ ョ ンに最適であ る理由は機能追加が可能なその拡張性です。 主な特長 は次の と お り です。 UHD-4K ビデオ用の H.264/H.265 をサポートするビデオ コ ーデ ッ ク ユニッ トが統合されて います。 監視、 ビデオ会議、 エンベデッ ド ビジョン、 および一部のブロードキャス ト プリ ケーシ ョ ンに適していますが、 用途はそれだけに限定されません。 エンコードのレイ テンシを低く抑えることができる一方で、 サーバーまたはプログラマブル ロジックより も 消費電力効率は高 く な り ま す。 消費電力が最適化 さ れ る グ ラ フ ィ ッ ク ス サブシステムは、 定評があ り確立されたアーキ テクチャで、 2D および 3D グ ラ フ ィ ッ ク ス に理想的な ARM® Mali-400 をベースにしてい ます。 PL のプログラマビリティにより、 (a) Any-to-Any 高速ビデオ/オーデ ィ オ インターフェイ スにおける柔軟性とスケーラビリティ、 (b) マルチメディア パイプライン用のイメージと ビデオのカスタマイズ処理を可能にする差別化が実現します。 ここでは、 プロセッシング エンジンと Zynq UltraScale+ MPSoC 固有の構成の組み合わせが、 どの よ う に次世代のマルチ メ デ ィ ア ニーズをターゲッ トにしているかについても説明しています。

Upload: others

Post on 12-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

© Copyright 2017 Xilinx, Inc. Xilinx、 Xilinx のロゴ、 Artix、 ISE、 Kintex、 Spartan、 Virtex、 Vivado、 Zynq、 およびこの文書に含まれるその他の指定されたブラン ドは、 米国およびその他各国のザイリンクス社の商標です。 すべてのその他の商標は、 それぞれの保有者に帰属します。

この資料は表記のバージ ョ ンの英語版を翻訳したもので、 内容に相違が生じる場合には原文を優先します。 資料によっては英語版の更新に対応していないものがあります。 日本語版は参考用と してご使用の上、 最新情報につきましては、 必ず最新英語版をご参照く ださい。

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 1

ザイ リ ンクスが提供する高効率で消費電力が 適化された All Programmable システムオンチップ マルチメディア ソ リ ューシ ョ ンは、 GPU およびコーデッ クを統合し、 UHD (Ultra High-Definition) 解像度のビデオ向けに設計されており、 非常に高い設計上の柔軟性と革新的な製品の差別化を可能にします。

ホワイ ト ペーパー : Zynq UltraScale+ MPSoC

WP497 (v1.0) 2017 年 10 月 23 日

ビデオ コーデック/グラフ ィ ックス エンジンを使用したザイリンクス拡張マルチメディア

ソリューシ ョ ン 著者 : Yashu Gosain、 Alok Gupta

概要

このホワイ ト ペーパーでは、 Zynq® UltraScale+™ MPSoC をマルチメディアの側面から詳し く見ていきます。 Zynq-7000 SoC をベース とする MPSoC にはプログラマブル ロジッ ク (PL) に連結されたプロセッシング システム (PS) が備わっていますが、Zynq UltraScale+ MPSoC がマルチメディア アプリ ケーシ ョ ンに 適である理由は機能追加が可能なその拡張性です。 主な特長は次のとおりです。

• UHD-4K ビデオ用の H.264/H.265 をサポートするビデオ コーデッ ク ユニッ トが統合されています。 監視、 ビデオ会議、 エンベデッ ド ビジ ョ ン、 および一部のブロードキャス ト アプリ ケーシ ョ ンに適していますが、 用途はそれだけに限定されません。 エンコードのレイテンシを低く抑えるこ とができる一方で、 サーバーまたはプログラマブル ロジッ ク よ りも消費電力効率は高くな り ます。

• 消費電力が 適化されるグラフ ィ ッ クス サブシステムは、 定評があ り確立されたアーキテクチャで、 2D および 3D グラフ ィ ッ クスに理想的な ARM® Mali-400 をベースにしています。

• PL のプログラマビ リティによ り、 (a) Any-to-Any 高速ビデオ/オーディオ インターフェイスにおける柔軟性とスケーラビ リ ティ、 (b) マルチメディア パイプライン用のイ メージとビデオのカスタマイズ処理を可能にする差別化が実現します。

ここでは、 プロセッシング エンジンと Zynq UltraScale+ MPSoC 固有の構成の組み合わせが、 どのよ うに次世代のマルチメディア ニーズをターゲッ トにしているかについても説明しています。

Page 2: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

はじめにGlass-to-Glass のメディア ネッ ト ワークには、 コンテンツがキャプチャまたは作成される獲得側と、 増大するデバイスでコンテンツが視聴または消費される消費側があ り ます。 獲得側での 4K (およびそれを超える ) 解像度に対応する高性能センサーの急増と、 消費側での 4K 対応 (3840x2160) 民生品ディ スプレイの採用増加によ り、 高解像度のコンテンツが利用可能になるだけでなく、 360 度ビデオや VR (仮想現実) などの刺激的なイ ノベーシ ョ ンも実現可能になっています。 魅力的なコンテンツを実現するその他のテク ノ ロジには、 HD と UHD 解像度の HDR (高ダイナミ ッ ク レンジ)、 および深みのある色調を実現する WCG (広色域) があ り ます。

センサー、 ディ スプレイ、 解像度が向上し、 そこに HDR、 WCG、 および高フレーム レートが組み合わされるこ とによ り、 白はよ り白く、 黒はよ り黒く、 色精度の幅と質をさ らに向上させた、 モーシ ョ ン アーチファ ク トの少ないよ り高いビデオ品質が可能になり ます。

圧縮はデータの帯域幅とス ト レージ サイズを削減するための標準的な技法です。 さ らに、 さまざまなユース ケースに対応する多数のコーデッ クがあ り、 出力品質、 レイテンシ、 サイズ、 消費電力、 コス ト などの鍵となるパラ メーターが ト レードオフされます。 コーデッ ク規格の進化は、 あらゆる画面で高品質な HD または UHD の体験を求める消費者願望に後押しされています。 このよ うな高い期待は、 アクセスが制限され、 再生機能が遅く、 接続が信頼できない低帯域幅ネッ ト ワークで 大数の消費者への配信を確保する という課題と密接に関連しています。

現時点で高解像度コンテンツの圧縮と配信用にオンラインおよびブロードキャス ト ド メ インで も幅広く受け入れられ採用されているフォーマッ トは、 H.264 (MPEG-4、 AVC (Part 10)) です。 さ らに高品質のビデオを求める消費者の要望によ り、 高解像度コンテンツは 4 倍のス ト レージまたは伝送帯域幅が必要になる UHD ビデオ コンテンツへと移行しつつあ り ます。 すでに配備済みのインフラス ト ラ クチャでこのよ うなビデオ コンテンツを配信するこ とが大きな課題です。 結果、 既存のコーデック規格に関して、 品質に影響を与えずに圧縮率を高める必要が生じています。

ビデオ圧縮テク ノ ロジの進化によ り、 システムの帯域幅とス ト レージの観点で飛躍的な効率向上が成し遂げられました。 High Efficiency Video Coding (HEVC) と も呼ばれる H.265 圧縮は、 UHD 実現の鍵とな りつつあ り ます。 これは現在導入されている H.264 圧縮規格に比較する と、 大で 50% の帯域幅増大とス ト レージ節約が見込まれています。 HEVC の採用によ り得られる帯域幅効率で、 帯域幅に制約があるネッ ト ワークでの高品質、 高解像度ビデオの配信が大幅に拡大されます。 例と して、 異なる複数のソースから複数のビデオを取り出し、 単一の 4K 出力モニターで表示するためにリ アルタイム ビデオ処理 (スケーリング、 結合、 オーバーレイなど) によってそれらをつなぎ合わせる、 マルチビュー アプリ ケーシ ョ ンについて考えてみます (図 1 参照)。

Page 3: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 3

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

ビデオ ソース インターフェイス とビデオ処理を リ アルタイムで実行して、 未圧縮の出力を生成できます。 マルチビュー出力はコーデッ クを使用して大幅に圧縮可能であるため、 イーサネッ ト経由で伝送できます。 今日、 IP を介したビデオの伝送では、 セキュ リ ティやプライバシーの問題に大きな関心が寄せられています。

デジタル コンテンツを保護するために、 コーデッ ク出力はト ランスポート ス ト リーム内で暗号化およびパケッ ト化されるため、 コンテンツは世界中のリモート モニター端末やデジタル サイネージにス ト リーミ ングできます。

リモート モニター端末側でリ アルタイムで受信した複数の圧縮ビデオ ス ト リームは、 デパケッ ト化されて復号化され、 ビデオ コンテンツが抽出されます。 復号化されたビデオ出力は、 特定のコーデッ クを使用して伸張されます。 ビデオ ス ト リーム(コーデッ クからの伸張された出力) は次にポス ト ビデオ処理ブロ ッ クに渡され、 単一または複数の 4K ディ スプレイ用にオーバーレイ、 ノ イズ キャンセ リ ング、 合成などが実行されます。 リモート モニター アプリ ケーシ ョ ンは複数のビデオ ソースを取り込むためのリ ターン チャネルを備えるこ と もでき、 ス ト リームを圧縮、 暗号化、 およびパケッ ト化してネッ ト ワーク経由で伝送できます。

このよ うな拡張トポロジを実現するために、 システムは多様なコーデッ ク とグラフ ィ ッ クス エンジンをサポートするだけでなく、 マルチメディア コネクティ ビティ インターフェイス との緊密な統合、 リ アルタイム ビデオ処理パイプライン、 および IP ネッ ト ワーク機能を提供する必要があ り ます。

こ ういった複雑な トポロジは、 マルチコア プロセッサ サブシステム、 グラフ ィ ッ クス プロセッシング ユニッ ト 、 HEVC/AVC 準拠ビデオ コーデッ ク ユニッ ト、 およびプログラマブル ロジッ ク (PL) に緊密に結合された幅広いオンチップ ペリ フェラルを統合した Zynq® UltraScale+™ MPSoC をプラ ッ ト フォームと して採用するこ とで単純化できます。

このホワイ ト ペーパーでは、 Zynq UltraScale+ MPSoC EV デバイスをマルチメディアの側面から詳し く説明し、 プロセッシング エンジンとデバイス固有の構成が次世代のマルチメディア ニーズにどのよ うに対応するかを示します。

X-Ref Target - Figure 1

図 1: リアルタイム処理を実行するマルチビュー アプリケーシ ョ ン

WP497_01_063017T

oD

ispl

ay

Unc

ompr

esse

dV

ideo

and

Aud

io fr

om M

ultip

le S

ourc

es

Com

pres

sed

AV

Str

eam

s

Pre

/Pos

tP

roce

ssin

g

Unc

ompr

esse

dV

ideo

/Aud

io

Com

pres

sed

Vid

eo/A

udio

Str

eam

s

Mul

tiple

Dis

play

Network

Remote Multiview

Local Multiview

MP

EG

-TS

Pac

ketiz

er/

De-

Pac

ketiz

er

Str

eam

ing

Sin

k

Enc

rypt

ion/

Dec

rypt

ion

Cod

ecs

Sou

rce

MP

EG

-TS

Pac

ketiz

er/

De-

Pac

ketiz

er

Enc

rypt

ion/

Dec

rypt

ion

Cod

ec

Pre

/Pos

tP

roce

ssin

g Sin

kS

ourc

eStr

eam

ing

Page 4: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 4

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

ZYNQ ULTRASCALE+ MPSOC マルチメ ディ ア ソリ ューショ ンZynq UltraScale+ MPSoC は、 複数のプロセッシング エンジン、 一連の高速ペリ フェラル、 拡張 I/O 機能、 および PL で構成されるヘテロジニアス SoC です (図 2 参照)。 プロセッシング エンジンは、 クアッ ド コア ARM® Cortex™ A53 ベース APU、デュアルコア ARM Cortex R5 ベース RPU、 Mali グラフ ィ ッ クス プロセッシング ユニッ ト、 プラ ッ ト フォーム管理ユニッ ト、およびビデオ コーデッ ク ユニッ ト (VCU) などです。 グラフ ィ ッ クスやビデオ パイプラインなどのク リティカルなアプリケーシ ョ ンでは専用のプロセッシング ブロッ クを使用して負荷を軽減できるだけでなく、 効率的な電源ド メ インやゲート制御される電源アイランドを使用して特定ブロッ クの電源をオン/オフ制御できます。 Zynq UltraScale+ MPSoC は、 さまざまなインターコネク ト オプシ ョ ン、 DSP ブロッ ク、 およびプログラマブル ロジッ ク (PL) の選択が可能なため、 ユーザー アプリケーシ ョ ンの多くの要件に柔軟に対応できます。

1 つのプラ ッ ト フォームと業界標準ツールで設計できるこの製品ファ ミ リは、 コス ト と同時に高性能を重視するアプリ ケーシ ョ ンに 適です。

高い性能を実現するために、 先進的なマルチメディア システムには適正なプロセッシング エンジンと、 差別化のためのカスタム ロジッ クの追加機能が必要です。 また、 現在利用できる幅広いマルチメディア デバイスに必要な Any-to-Any コネクティビティをサポートする必要もあ り ます。 従来であれば、 これらの要件を満たすためにマルチチップ ソ リ ューシ ョ ンが提案されますが、 このソ リ ューシ ョ ンは必要なマルチメディア機能と コネクティビティ機能を提供できる一方で消費電力が高くなる可能性もあ り ます。 Zynq UltraScale+ MPSoC などのシングルチップ ソ リ ューシ ョ ンであれば、 この問題は解決されます。 同じデバイス上にハードウェア アクセラレーシ ョ ンまたは Any-to-Any コネクティビティ用のカスタム ロジッ クがあれば、 消費電力をかなり削減できます。 プロセッシング エンジン、 独自の電力管理機能を備えたハード ウェア コーデッ ク、 およびカスタム ロジッ クのサポートに加え、 Zynq UltraScale+ MPSoC ではこれらのコンポーネン トが独立した電源レールを持つ別々の電力ド メ インに属します。 この構成は、 システム全体で 適化された電力管理スキームを設計するために使用できます。 TSMC 社の 16nm FinFET プロセス ノードで構築された Zynq UltraScale+ MPSoC は性能の向上と消費電力の削減を実現し、 電力効率が高い次世代マルチメディア システムの設計を可能にします。

X-Ref Target - Figure 2

図 2: ブロック図

WP470_01_051016

Zynq UltraScale+ MPSoC Processing System

Application Processing Unit Memory High-SpeedConnectivity

GIC-400 SCU CCI/SMMU 1MB L2 w/ECC

ARM®

Cortex™-A53

NEON™

Floating PointUnit

32KBI-Cachew/Parity

32KBD-Cachew/ECC

MemoryMgmtUnit

TraceMacroCell

Real-Time Processing Unit

213 4

Graphics Processing UnitARM Mali™-400 MP2

GeometryProcessor

Two PixelProcessors

Memory Management Unit

64KB L2 Cache

DDR4/3/3L, LPDDR4/3ECC Support

256KB OCMwith ECC

DisplayPort

USB 3.0

SATA 3.1

PCIe Gen2

PS-GTR

2

GIC

ARMCortex-R5 Memory Protection Unit

Vector Floating Point Unit

128KBTCM

w/ECC

32KBD-Cachew/ECC

32KBI-Cachew/ECC

TraceMacroCell 1

Configuration & Security Unit

Config AESDecryption,

Authentication,Secure Boot

DMA, Timers,WDT, Resets,

Clocking, and DebugTrustZone

Voltage/TempMonitor

PlatformManagement Unit

SystemControl

SystemManagement

Power

SD/eMMCNAND

Quad SPI NORSPI

UARTCANGigE

Zynq UltraScale+ MPSoC Programmable Logic

Storage & Signal Processing

Block RAM

UltraRAM

DSP

General-Purpose I/O

High-Performance HP I/O

High-Density HD I/O

High-Speed Connectivity

GTH

GTY

Interlaken

100G EMAC

PCIe Gen4

Video CodecH.265/H.264

System Monitor

GeneralConnectivity

Page 5: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 5

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

統合されたビデオ コーデッ ク ユニッ ト (VCU)ビデオ コーデッ クのソフ ト ウェア実装にはいくつかあ り ますが、 すべてのソフ ト ウェアは実際にはハードウェア上で実行されます。 ソフ ト ウェア ベースのコーデッ ク ソ リ ューシ ョ ンで、 高い圧縮率と優れたビデオ品質 (VQ) を妥当なフレーム レートで実現するには、 ク ラウ ド内に配置されるこ とがほとんどの、 消費電力が高いサーバー ク ラスの CPU が複数必要になり ます。

リ アルタイム圧縮はデバイスから必ずリモートでなければならないため、 通常は実装できません。 ただし、 ソフ ト ウェアでの実装は非常に柔軟性が高いため、 システムは 適化しやすくな り ます。 代替ソ リ ューシ ョ ンと しては、 PL に実装されたソフト IP ブロ ッ クが考えられます。 このよ うな実装は、 オフライン ソフ ト ウェア モデルに比べて性能の点で劣る場合があ り ますが、 低レイテンシな圧縮を実現できます。 消費電力はサーバー ク ラスの CPU を使用する場合よ り も改善されますが、 完全に統合されたソ リ ューシ ョ ンで達成されるほどではあ り ません。 通常、 高度なコーデッ クは比較的大規模なプログラマブル ロジッ ク デバイスを必要と します。 ただし、 デプロイ後のプログラマビ リティによ り、 ソ リ ューシ ョ ンの柔軟性は非常に高くな り ます。

Zynq UltraScale+ MPSoC は、 ハード化された専用ビデオ コーデッ ク ブロ ッ クを備える代替方法を採っています。 ハード化された VCU が組み込まれたモノ リ シッ ク ダイによ り、 Zynq UltraScale+ MPSoC は、 ほかのス ト ラテジと比較して低レイテンシのパス と少ない消費電力でリ アルタイム圧縮を実行します。 VCU は専用コーデッ ク エンジンであるため、 アプ リ ケーシ ョ ン プロセッシング ユニッ ト (APU) または PL (あるいはその両方) をほかの計算に使用できます。

VCU は、 AVC/H.264 規格と HEVC/H.265 規格を含むマルチ規格エンコードおよびデコードを提供します。 これにはエンコード (圧縮) およびデコード (伸張) の両方の機能が含まれており、 大 4K UHD (60Hz) のレートでのエンコードおよびデコードを同時に実行できます。 4K 以上での DCI などのよ り高い解像度を、 よ り低いフレーム レートでサポート します。 また、 同時に 大 8 つの異なるビデオ ス ト リームをサポート します。 複数のス ト リームを同時に処理する総帯域幅要件は、 4K UHD (60fps) の 大 VCU 処理スループッ ト を超えてはなり ません。 図 3 は、 ビデオ コーデッ クの実装方法と各効果を示しています。

Page 6: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 6

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

VCU は、H.265 (HEVC) および H.264 (AVC) 規格をサポートする統合ブロッ クで、 PL 内にあ り ます。プロセッシング システム (PS) への直接 (ハードワイヤ) 接続はあ り ません。 これは、 ザイ リ ンクスの Vivado® IP インテグレーターを使用して、 PS のアプリ ケーシ ョ ン プロセッシング ユニッ ト (APU) およびメモ リ サブシステムまたは PL (あるいはその両方) 経由で接続します。図 4 を参照してください。

X-Ref Target - Figure 3

図 3: ビデオ コーデックの実装方法と各効果

X-Ref Target - Figure 4

図 4: ビデオ コーデック ブロック

WP497_03_101317

Per

form

ance

Pow

er C

onsu

mpt

ion

Per

form

ance

Pow

er C

onsu

mpt

ion

Per

form

ance

Pow

er C

onsu

mpt

ion

Software Solution

Cost EffectivePhysically LargeFlexible

Soft IP Solution

Cost EffectiveLarge Fabric FootprintFlexible

Dedicated Video Codec

Cost EffectiveHighly IntegratedFlexible

Server Class

CPU / Cloud

BasedProgrammable

Logic Video

Codec

WP497_04_063017

Application Processing

Safety & Security

Power Management

General & High-Speed Connectivity

Real-Time Processing

Memory

Graphics Processing

Processing System

Programmable Logic

UltraRAM

Video Codec

AMS Integrated Blocks(PCIe®, ILKN, MAC)

High SpeedTransceivers

H.265HEVCHigh EfficiencyVideo Coding

H.264MPEG-4/AVC

Page 7: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 7

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

VCU の機能は次のとおりです。

• 次のものを含むマルチ規格エンコード /デコードをサポート

o ISO MPEG-4 Part 10: Advanced Video Coding (AVC)/ITU H.264

o ISO MPEG-H Part 2: High Efficiency Video Coding (HEVC)/ITU H.265

o HEVC: Main、 Main Intra、 Main10、 Main10 Intra、 Main 4:2:2 10、 Main 4:2:2 10 Intra ( 大レベルは 5.1 High ティア)。

o AVC: Baseline、 Main、 High、 High10、 High 4:2:2 ( 大 5.2 レベル)。

• 大で 8 つのエンコード ス ト リームと 8 つのデコード ス ト リームを同時にサポート

• 複数のエンコード パラ メーターのオンザフライ変更

• 柔軟なレート制御: CBR、 VBR、 および定数 QP

• 大 4K UHD 解像度 (60Hz) の同時エンコードおよびデコードをサポート

• 削減されたフレーム レート (~15Hz) で 8K UHD をサポート

• H.264/H.265 規格ではプログレッシブのみサポート

• ビデオ入力

o YCbCr 4:2:2、 YCbCr 4:2:0、 および Y のみ

o 8 ビッ トおよび 10 ビッ ト /コンポーネン ト

• 柔軟な Group Of Picture (GOP) 設定

• 低レイテンシ モード

• 消費電力管理

o アイ ドル時のアクティブ ク ロ ッ ク ゲーティングの有効化

• パフォーマンス モニター

o タスク実行時間の計測

o 帯域幅および AXI ト ランザクシ ョ ン数の計測

o 小、 大、 および平均レイテンシの計測

ソフ ト ウェア コーデッ ク とは異なり、Zynq UltraScale+ MPSoC EV デバイスの VCU による H.264/H.265 ビデオ データの圧縮と伸張は低消費電力で高性能です。 つま り、 この機能によ り、 大量のス ト レージとネッ ト ワーク帯域幅を節約できるため、 ネット ワーク上での UHD ビデオのリ アルタイム ス ト リーミ ングに使用するには理想的です。 また、 VCU は H.264 と H.265 の両方の規格をサポートするため、 現在の市場ニーズ (H.264) および次世代の要件 (H.265) を満たすソ リ ューシ ョ ン開発に十分に対応します。 エンコード とデコードを低レイテンシで同時に実行できるため、 ビデオ会議や H.264 から H.265 への (またはその逆方向の) ト ランスコードに 適です。 マルチス ト リームでマルチコーデッ クのエンコード とデコードは、 DVR、 ビデオ サーバー、 マルチス ト リーム IP カメ ラ ヘッ ドエンドなどのビデオ監視アプリ ケーシ ョ ンの要件に適しています。 VCU は 大で 4:2:2 10 ビッ トの UHD-4K ビデオ フォーマッ ト をサポートするため、 プロおよびプロシューマーによるプロダクシ ョ ンやポスト プロダクシ ョ ン ソ リ ューシ ョ ンに適しています。統合 VCU の仕様を備えた All Programmable Zynq UltraScale+ MPSoC EV デバイスは、 多くのマルチメディア市場にとって非常に魅力的でコス ト効果の高いシングルチップ ソ リ ューシ ョ ンです。

Page 8: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 8

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

VCU ソフ トウェア スタ ック

ハードウェア アクセラレーシ ョ ンを利用するマルチメディア アプリ ケーシ ョ ンは、 Zynq UltraScale+ MPSoC 上で、 GStreamer とい う一般的なマルチメディア フレームワークを使用して開発できます。 GStreamer は、 ソース、 フ ィルター、 およびシンク プラグインという 3 つの機能に分類されるプラグイン モデルに基づいています。 このよ うなプラグイン/要素をチェーン接続するこ とで、 メディアの再生やキャプチャなどの特定タスクを実行するパイプラインを作成できます。 GStreamer は gst-omx プラグインを提供しており、 これは Zynq UltraScale+ MPSoC 上でハードウェア アクセラレーシ ョ ンによるビデオのエンコード とデコードを実行できます。 GStreamer アプリ ケーシ ョ ンは、 gst-omx プラグインを介して OpenMAX 統合層とやり取り します。 OMX IL は、 ハード ウェアに実装されている VCU と通信するための標準化されたメディア コンポーネン ト インターフェイスを定義します。 この層は制御ソフ ト ウェア (ユーザー空間ド ライバー ) API とやり取り し、 API がカーネル空間ド ライバーを呼び出します。

カーネル ド ラ イバーは、 VCU 内のエンコーダー エンジンとデコーダー エンジンの両方に統合された内蔵マイクロコン ト ローラー ユニッ ト (MCU) と通信します。 エンコーダー /デコーダー エンジンを制御するために、 低レベルのファームウェアが MCU 上で実行されます。 カーネル ド ラ イバーはフレーム レベルのコマンドを MCU に送信し、 MCU の応答を待機します。カーネル ド ラ イバーからのコマンドを受信する と、 MCU はエンコーダー /デコーダー エンジンに対するタスクをスケジュールし、 ステータスをカーネル ド ラ イバーに返します。

VCU ソフ ト ウェア スタ ッ クは、 ユーザー アプリ ケーシ ョ ンの要件に応じて、 どのレベルでも使用できる柔軟性があ り ます。開発者は制御ソフ ト ウェア API、 OMX IL、 または GStreamer フレームワークを使用して VCU ハードウェアとやり取りするマルチメディア パイプラインを開発できます。

図 5 に、 VCU Linux ソフ ト ウェア スタ ッ クのフローを示します。

X-Ref Target - Figure 5

図 5: VCU ソフ トウェア アーキテクチャ

WP497_05_092117

Application

OpenMAX Integration Layer(OMX IL)

Kernel Driver(ioctl)

GStreamer

GStreamer OMX IL plugin

Control Software APIs

Decoder IP

+ Decoder CoreMCU

Encoder IP

+ Encoder CoreMCU

VCU Hardware

User space

Kernel space

Hardware

Page 9: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 9

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

開発するマルチメディア アプリ ケーシ ョ ンの複雑さに基づいて、 開発者は特定の VCU フレームワーク層の使用を選択できます。 GStreamer は、 クロスプラ ッ ト フォーム フ ィルターやコーデッ ク サポート、 およびビデオ エディ ター、 ト ランスコーダー、 ス ト リーミ ング メディア ブロードキャスター、 メディア プレイヤーなどのアプリ ケーシ ョ ン作成で発揮するその使いやすさから、 一般によ く選択されています。 このフレームワークでは、 プラグアンドプレイ モデルを使用して特定フォーマッ トのファ イルをシステムが読み取り、 処理し、 別のフォーマッ トでエクスポート します。 GStreamer には任意のパイプラインにう ま く組み合わせるこ とができるプラグ可能コンポーネン ト を統合する柔軟性があるため、 本格的なマルチメディア アプリ ケーシ ョ ンを作成するこ とが可能になり ます。 あるいは、 シンプルで軽量なデザインによ りカスタマイズ マルチメディア アプリ ケーシ ョ ン/フレームワークを開発する場合は、 アプ リ ケーシ ョ ンで制御ソフ ト ウェア API の使用を選択できます。

統合されたグラフィ ッ クス プロセッ シング ユニッ ト (GPU)

Zynq UltraScale+ MPSoC プロセッシング システム (PS) の GPU は、 APU に直接結合される ARM Mali-400 MP2 であ り、 オプシ ョ ンで、 ディ スプレイ出力用のフレーム バッファーのビデオ イ メージのレンダ リ ング処理を高速化できます (図 6 を参照)。

CPU に依存したグラフ ィ ッ クス処理を行う ASSP と比較する と、 GPU は専用のパラレル エンジンを使用するこ とで、 よ り高速にピクセル レンダ リ ングを実行できます。 またチップ外部に GPU エンジンを追加するソ リ ューシ ョ ンよ り も低コス トで低消費電力とな り ます。

GPU は、 シェーダー ベースと固定関数の両方のグラフ ィ ッ クス API に対応する完全プログラマブルなアーキテクチャによって、 2D および 3D のグラフ ィ ッ クス処理を高速化します。 また、 アンチエイ リ アス機能を備え、 性能オーバーヘッ ドなしに適な画像品質を実現します。 Linux 用の検証およびテス ト済みド ライバー セッ トが含まれ、 APU から CPU へのグラフ ィ ッ

クス コマンドの自動オフローディングを管理できます。

X-Ref Target - Figure 6

図 6: Mali-400 MP2 アーキテクチャ デザイン

WP497_07_063017

VertexProcessor

FragmentProcessor

MMU

L2 Cache

Graphic Processing Unit

FragmentProcessor

Page 10: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 10

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

Zynq UltraScale+ MPSoC GPU の機能は次のとおりです。

• ARM Mali-400 MP2

• 高スピード グレードで 大 667MHz 性能

• ジオメ ト リ プロセッサ (x1)、 ピクセル プロセッサ (x2)

• 専用の共有 L2 キャ ッシュ (64KB)

• 専用のメモ リ管理ユニッ ト (MMU)

• OpenGL ES 2.0 および OpenGL ES 1.1 対応

• OpenVG 1.1 API 対応

• 3 つのエンジンに個別のパワー ゲーティング機能

• 1334M ピクセル/秒のピクセル フ ィル レート

• 72.6M ト ラ イアングル/秒

• 12Gflops 浮動小数点シェーディング

上記の性能を示す数値は、 大 GPU ク ロ ッ ク レート 667MHz に基づいています。

GPU ソフ トウェア スタ ック

Zynq Ultra Scale+ MPSoC グラフ ィ ッ クス ソフ ト ウェア スタ ッ クは、 カーネル空間、 ユーザー空間、 およびアプリ ケーシ ョ ン空間の 3 つの主要な層に分割されます。 図 7 を参照してください。

カーネル空間

カーネル空間ド ライバーは GPU ハードウェアとやり取り して、 統合ハードウェア シェーダーにタスクをオフロードするために必要な情報を提供します。 また、 低レベルの割り込み処理と メモリ管理も実行します。

X-Ref Target - Figure 7

図 7: グラフ ィ ッ クス ソフ トウェア スタ ック

WP497_08_092717

OpenGLES Application

Mali Kernel Driver

MMU PMUGP PP L2 Cache

User Application

User Space

Mali-400MP2 Hardware

GP0 PP0 PP1

MMU MMU MMU PMUL2 Cache

Mali Common User Library

X11 fbdevEGL

OpenGLES1 OpenGLES2

Kernel Space

Hardware

Surface Flinger

Page 11: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 11

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

ユーザー空間

ユーザー空間ド ライバーには次のコンポーネン トがあ り ます。

• Mali 共通ユーザー ラ イブラ リ : この層は、 GPU ジ ョブ作成と、 グラフ ィ ッ クス レンダ リ ング パイプライン用のタスクのスケジュールを受け持ちます。

• 拡張グラフ ィ ッ クス ライブラ リ (EGL): この層は、 ディ スプレイ ド ラ イバーとのやり取りに使用される、 その下のウ ィンド ウ層とやり取りするために使用されます。 また、 ウ ィンド ウ作成などのリ ソース管理を処理し、 さ らにグラフ ィ ッ クス コンテキス ト管理、 サーフェス /バッファーのバインディング、 レンダ リ ング同期などを実行します。

• OpenGL ES: この層は、 アプリ ケーシ ョ ンが使用できる標準化された抽象化 API を提供します。

アプリケーシ ョ ン空間

GPU で使用できるソフ ト ウェア パッケージには、 OpenGL ES 1.1 および OpenGL ES 2.0、 低レベル グラフ ィ ッ クス ライブラリ、 および ARM 提供のツール (Streamliner と Graphics Debugger) が含まれています。 Open GL ES は OS に依存せず、 アプリケーシ ョ ンの高い移植性を可能にします。 ほかのソフ ト ウェア コンポーネン トは、 要望に応じて利用可能になる予定です。

ディスプレイ コン ト ローラー

Zynq UltraScale+ MPSoC には、 使用可能な高速コネクティビティ ペリ フェラルの一部と して、 DisplayPort インターフェイス モジュールが統合されています。 DisplayPort インターフェイスは PS に配置され、 大 6Gb/s で動作する 4 つの専用高速シ リアル ト ランシーバーのうちの 2 つへマルチプレクス可能です。 これによって、 ディ スプレイ チップを追加する必要がなくなり、 システム BOM コス トがさ らに削減されます。

DisplayPort インターフェイスは VESA DisplayPort Standard Version 1、 Revision 2a に準拠しており、 PS または PL から送信されるライブ オーディオ/ビデオを処理したり、 メモ リ フレーム バッファーに格納されているオーディオ/ビデオを処理したりするためのさまざまなインターフェイスを提供します。 同時に 2 つのオーディオ/ビデオ パイプラインをサポート し、 アルファブレンディング、 ク ロマ リサンプリ ング、 色空間変換、 オーディオ ミ キシングなどのレンダ リ ング処理をオンザフライで可能にします。 DisplayPort は、 PS PLL の 1 つまたは PL からのクロ ッ クを使用してピクセル ク ロ ッ クを生成できます。

統合されたプログラマブル ロジッ ク (PL)ビデオ コーデッ クおよびグラフ ィ ッ クス処理に加え、 すべてのマルチメディア アプリ ケーシ ョ ンには、 ビデオ データの入出力管理や高速ビデオ データの処理機能など、 その他の重要なコンポーネン ト要件があ り ます。 ARM Cortex-A53 コアは、 Zynq UltraScale+ MPSoC 上のメモリ ユニッ トおよび多くのペリ フェラルと共に、 多様なソースからのデータをキャプチャおよび管理して VCU が利用できるよ うにする という大きな役割を果たしています。 USB やイーサネッ ト などの PS ペリ フェラルは、ビデオ カメ ラ、 ネッ ト ワーク カメ ラ、 ウェブカムなどのス ト リーミ ング ビデオ デバイスに使用できます。 ライブ ソースからのビデオをキャプチャするカスタム ロジッ クは PL で設計できます。 たとえば、 SDI RX、 HDMI RX、 MIPI CSI IP などを使用して、 さまざまなソースからの未加工ビデオをキャプチャできます。 次に VCU によ り、 未加工ビデオを AVC または HEVC 圧縮ビッ ト ス ト リーム フォーマッ トにエンコード します。 同様に、 デコード された未加工ビデオを外部ディ スプレイ ユニットに伝送します。 次にそれを、 PS 内の DisplayPort コン ト ローラー (DP コン ト ローラー ) を使用するか、 または HDMI TX、SDI TX MIPI DSI などのほかのプロ ト コルを使用する関連 IP を作成するこ とによ り表示できます。

Page 12: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 12

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

ザイ リ ンクスは、 ユーザーがライセンスによ り PL でディ スプレイ インターフェイスを実装できる一連のディ スプレイ インターフェイス IP を Vivado IP カタログで提供しています。

• HDMI 1.4/2.0 Transmitter Subsystem および HDMI 1.4/2.0 Receiver Subsystem

• MIPI CSI-2 Receiver Subsystem

• MIPI DSI Transmitter Subsystem

• UHD-SDI Transmitter Subsystem および UHD-SDI Receiver Subsystem

ビジ ョ ン アルゴ リズムは、 たとえば運転支援のための道路標識の識別や動き検出、 監視業務での人物の顔の識別、 高度な写真撮影での物体識別や動き検出など、 生データから重要な情報を収集するために使用できます。 データの収集に加え、 それらのアルゴ リズムを使用して、 オーディオ/ビデオ ブロードキャス トやビデオ会議ユース ケースでの生データの処理および操作も可能です。 今後数年でビデオの解像度がさ らに高くなるこ とが必然である と考える と、 アルゴ リ ズムの実行速度は極めて高速である必要があ り ます。 PL はこのよ うなアルゴ リズムに必要なハードウェア アクセラレーシ ョ ンを提供し、 次世代のテクノ ロジに適した性能面での改善に大き く貢献しています。

Vivado ツールと SDK ツールを使用する Any-to-Any コネクテ ィビテ ィ

ハードウェアを差別化するために、 多くのプラ ッ ト フォーム開発者は Any-to-Any コネクティビティにプログラマブル ロジックを使用しています。 Vivado Design Suite が提供する次のデザイン スイートによ り、 システム開発者はシステムを簡単に設計できます。

• IP インテグレーター ツール

o ブロ ッ ク図アプローチを使用し、 複数の IP を統合してシステム全体を作成します。

• PS コンフ ィギュレーシ ョ ン ウ ィザード (PCW)

o ユーザーは PS ペリ フェラルを設定、 有効化、 または無効化したり、 ク ロ ッ クやメモ リの設定を実装したりできます。

• IP カタログ

o IP インテグレーターを使用して、 IP をインスタンシエート し、 大規模なシステムに統合できます。 さ らに、 ユーザー独自のカスタム IP リ ポジ ト リ を IP カタログに統合できます。

Vivado Design Suite にはさらに、 ターゲッ ト デバイスの IP シ ミ ュレーシ ョ ン、 合成、 配置配線、 コンフ ィギュレーシ ョ ンの各機能と、 ハード ウェア コンフ ィギュレーシ ョ ン情報をソフ ト ウェア開発ツールに提供するハード ウェアへのエクスポート機能があ り ます。 このツールはザイ リ ンクス ソフ ト ウェア開発キッ ト (SDK) で使用され、 ブート ローダーを生成したり、 実行時にハードウェア固有の情報をソフ ト ウェアに渡したり します。

SDK は C/C++ エンベデッ ド ソフ ト ウェアの開発およびデバッグに使用されます。 これは Eclipse オープンソース フレームワークをベースに構築されており、 ユーザーが実行時にシステムの性能をモニターできるよ うにシステム パフォーマンス モニターを提供します。

Linux OS ユーザー向けに、ザイ リ ンクスは組み込み Linux SDK である PetaLinux を提供します。 これによ り多面的な Linux OS ツール フローが提供され、 完全なコンフ ィギュレーシ ョ ン、 ビルド、 および導入環境が実現します。

Page 13: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 13

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

ハードウェア リ ソースが制限されているかまたはまったくないために、 これまでプログラマブル デバイスのメ リ ッ ト を享受するのに必要な RTL (VHDL または Verilog) 開発専門知識を確保するこ とが課題であったチームにとって Zynq UltraScale+ MPSoC は 適なソ リ ューシ ョ ンです。ザイ リ ンクスよ り 近リ リースされた SDSoC™ ツールは、使いやすい Eclipse IDE やヘテロジニアス Zynq UltraScale+ MPSoC のための総合デザイン環境など、 よ く利用されているエンベデッ ド C/C++/OpenCL アプリ ケーシ ョ ン開発環境を提供しています。 プログラ ミ ングの時間を短縮するために、 SDSoC ツールは、 システム レベル プロファイ リ ング、 ソフ ト ウェア アクセラレーシ ョ ンの自動化、 システム コネクティビティの自動生成を実行し、 さ らにライブラ リ を提供しています。 また、 SDSoC によ り、 エンドユーザー開発者はシステム レベルのソ リ ューシ ョ ンを迅速に定義、 統合、 および検証でき、 エンド カスタマーにはカスタマイズされたプログラ ミ ング環境が提供されます。 高レベル ソフ ト ウェアで作成されたビデオ データ解析および処理用の複合アルゴ リズムは、 PL で SDSoC ツールを使用したアクセラレーシ ョ ンが可能です。 これは開発サイクルを短縮する と同時に、 性能を向上させます。

アプリ ケーショ ン例Zynq UltraScale+ MPSoC は、 拡張性のある電源、 高い性能、 および専用エンジンが備わっているため、 さまざまなアプリ ケーシ ョ ンに適しています。

ビデオ会議アプリケーシ ョ ン

Zynq UltraScale+ MPSoC は、 高度なビデオ会議エンドポイン ト をサポート します。 ビデオ会議エンドポイン トは、 ポイン ト ツー ポイン トのビデオ対応通話に使用される端末です。 完全な双方向ビデオ会議システムは、 各ロケーシ ョ ンのビデオ カメラ とビデオ ディ スプレイに接続された基本ユニッ トで構成されます。 2 つの基本ユニッ トは IP ネッ ト ワークを介して通信します。 ビデオ基本ユニッ トは、 オンチップ ビデオ ポート を備えた DSP で構成され、 オーディオとビデオのエンコード /デコードを処理します。

ロジッ ク リ ソース と ト ランシーバーを使用して UHD-4Kビデオ カメ ラを接続し、 未加工ビデオを接続されている メモ リにキャプチャした り送信したりできます。 DSP ブロ ッ ク リ ソースでキャプチャされたデータの画像処理が実行され、 処理されたデータは統合 VCU に転送されて圧縮が実行されます。 圧縮されたデータは、 APU サブシステム上で実行するアプリ ケーシ ョ ン ソフ ト ウェアによってパケッ ト化され、 イーサネッ ト経由でリモート エンドポイン トにス ト リーミ ングされます。

端末エンドポイン ト も リモート エンドポイン トから圧縮データを受け取り、 それを VCU でデコード し、 接続されている メモリに保存できます。 PL で動作するソフ ト ビデオ プロセッシング ブロ ッ ク IP は、 カメ ラからキャプチャした元の未加工データをスケールダウンして、 デコード されたデータ と ミ ッ クスし、 それを PS または PL のソフ ト IP のいずれかに実装されているディ スプレイ コン ト ローラーに渡すこ とができます。

GPU を使用してオンスク リーン ディ スプレイ (OSD) を作成できます。その出力はビデオ プロセッシング ユニッ ト (VPU) からのビデオ出力とブレンド して、 ディ スプレイ コン トーラーに送信し、 そこからモニターに表示できます。 図 8 および図 9 を参照して ください。

Page 14: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 14

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

X-Ref Target - Figure 8

図 8: ビデオ会議アプリケーシ ョ ン

X-Ref Target - Figure 9

図 9: Zynq UltraScale+ MPSoC の利用

WP497_10_092117

DDRFrame Buffer,

Video Memory,Encoder Region,Decoder Region,Graphics Memory

APUAudio Codec,

MultimediaApplication,

A/V Mux/De-mux

ImageProcessorImage Sensor

Pipeline,Accelerated

Analytics

DPSubsystem

DisplaySubsystem

AudioProcessor

AudioInterface

Ethernet

Capture Encoder

VCU Modules

Decoder

USB

GPU

Compressed A/VStream In/Out

Memory Controller

VideoProcessor

Scaling,Overlay,

Wrapping,Stitching

Processing System

Programmable Logic

Camera In

Audio InMIG

DDR

Decoder RegionPost Processing

Display

WP497_11_063017

32

Neon™

FloatingPoint Unit

MemoryMgmtUnit 1

32KB D-Cachew/ECC

32KB I-Cachew/Party

ARMCortex™-A53

Application Processor Unit GraphicProcessor Unit

MemoryMgmt Unit

64KB L2 Cache

ARMMali™-400 MP

2

GeometryProcessor

PixelProcessor

1

2

ARMCortex™-R5

Vector LoatingPoint Unit

128KBTCM

w/ECC

32KBI-Cachew/Party

MemoryProtection Unit

32KD-Cachew/Party

1

Real-time Processor Unit

Programmable Logic

Security

Encription &Authentication

ConfigurationSecurity Unit

SecureBoot

Trust Zone

Voltage/TempMonitor

Power

Full PowerDomain

PowerMgmt Unit

Low PowerDomain

Sleep Mode

Battery PowerDomain

DDRController

COR4/3/3L

LPDDR4/3

ECC Support

Boot

Quad-SPI NOR

NAND 3.1

SD 3.0 (2)eMMC

AMSA to D

Converter

TemperatureMonitor

PowerMonitor

ConnectivityGeneral

CAN (2)

I2C (2)

UART (2)

USB2

SPI (2)

HighSpeed

GigE (2) 1588

PCIe Gen2

SATA 3

USB 3.0

Display Port

SGMI

SERDES

SystemControl

DMA (2)

RTC

Clocking/PLL

ITAG

Reset System

Coresight

WatchdogTimer

Timers

System MPU

Customizable Logic

Block RAM

UltraRAM

DSP

PCIe Gen4

High Performance HPIO

General Purpose IO

High Density HPIO

CMAC GTH GTYILKN

High SpeedSERDES

H.265/H.264

Video Codec

4K2Kp60

GIC 256KB OCM w/ECC

GICSCU CCI/SMMU 1MB L2 w/ECC

VCU for VideoConferencing

DP forMotherboard to

Panel Conncetion

Programmable Logicfor Advanced Video

Processing ARM forRunning Apps

GPU for OSDGeneration

Processing System

Page 15: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 15

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

データ センターおよびクラウド コンピューテ ィ ングでのビデオ ト ランスコーディング

ビデオ ト ランスコーディングは、 さまざまなプラ ッ ト フォームとデバイスでビデオを表示できるよ うにするために、 メディア資産のフォーマッ ト を変換するプロセスです。 これはほとんどの場合、 次のいずれか、 または複数に該当するために実行されます。

• ターゲッ ト デバイスが元のデータのフォーマッ ト をサポート しない。

• ターゲッ ト デバイスの容量が限られており、 元のファイルのサイズを縮小する必要がある。

• 互換性がない古いファイル タイプを、 新しいデバイスがサポートする現行フォーマッ トに変換する必要がある。

ビデオ ト ランスコーディングのプロセスは、 通常は 2 段階で構成されます。 初は、 元のデータを非圧縮フォーマッ トに変換するデコードです。 2 番目はデータの再エンコードです。 これによ り目的のフォーマッ トで新しいデバイスにデータを転送できます。

Netflix や YouTube などの人気あるウェブサイ トで視聴されるインターネッ ト上のビデオ ス ト リーミ ングの増大と、 市場で優勢になりつつある UHD 4K カメ ラによ り、 かな りの量のス ト レージと帯域幅が必要になっています。 サービスの多様化、 HD ビデオの人気の上昇、 HD を超えるフォーマッ ト (UHD など) の登場によ り、 H.264/AVC などの既存のコーデッ クの性能を上回るコーディング効率の必要性が高まっています。 この必要性は、 よ り高い解像度にステレオやマルチビューのキャプチャ とディ スプレイが加わるこ とでさ らに高くな り ます。 H.265/HEVC コーデッ クは UHD4K と UHD8K をサポートするよ うに設計されており、 並列処理アーキテクチャを活用するツールが用意されています。 HEVC 規格を使用する と、 同等品質の H.264 エンコード コンテンツよ り も帯域幅が約 50% 節約されます。

ほとんどのデータ センターではビデオをさまざまな圧縮フォーマッ トで保存しており、 レシーバーがサポートするフォーマッ トに基づいたビデオのス ト リーミ ングが必要な場合もあ り ます。 この トポロジをサポートするために、 データ センターではターゲッ トがサポートするフォーマッ トに基づいてビデオ フォーマッ ト を ト ランスコードする必要があ り ます。

このよ うな ト ポロジでは、 現在展開されているテク ノ ロジ (H.264/AVC) と次世代のコーデッ ク規格 (HEVC) をサポートする Zynq UltraScale+ MPSoC が、 高性能ト ランスコーディングに適したデバイスです。 さ らに Zynq UltraScale+ MPSoC には、 プログラマブル ロジッ クでさまざまなハード ウェア コーデッ クをプログラムして多様なコーデッ ク規格をサポートできる柔軟性があ り ます。 Zynq UltraScale+ MPSoC 上の VCU は、 データ センターまたはク ラウ ド コンピューティング システム内でアクセラレータ と して導入された場合、 ト ランスコーディング プロセスを加速できます。 たとえば、 モバイル ユーザーがライブ ビデオを H.264 フォーマッ トで記録し、 後で再生するためにそのビデオをク ラウ ド サーバーにアップロードする と します。 クラウ ドに保存されているそのビデオを HEVC フォーマッ トのみサポートするワークステーシ ョ ン上で再生する場合、 ワークステーシ ョ ンはサーバーに対してコンテンツを ト ランスコード し、 ビデオを HEVC フォーマッ トで送信するこ とを要求できます。 ワークステーシ ョ ンからの要求を受け取る と、 サーバーはその統合 VCU をコーデッ ク アクセラレータ と して使用し、H.264 から HEVC へト ランスコード してビデオをワークステーシ ョ ンにス ト リーミ ングします。 図 10 を参照してください。

Page 16: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 16

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

ラ イブ ト ランスコーディングの別のアプリ ケーシ ョ ン例と して、 H.264 圧縮をサポートするものの、再生デバイスでは HEVC コーデッ クをサポートする監視カメ ラがあ り ます。 このシナリオでは、 Zynq UltraScale+ MPSoC VCU は、 H.264 圧縮データを監視ネッ ト ワーク IP カメ ラから受け取り、 それを H.265 にト ランスコード し、 さ らに表示するためにターゲッ ト再生デバイスにス ト リーミ ングできるため、 要件を完全に満たします。

自動車のサラウンド ビュー システム

自動車のサラウンド ビューによってド ライブ体験は様変わり しており、 GPU はそのテク ノ ロジを培う重要な要素です。 サラウンド ビュー カメ ラ システムは、 ド ライバーが車の周囲を上方から 360 度見渡せるよ うにするこ とで、 安全な駐車を支援する、 新しい先進運転支援システム (ADAS) テク ノ ロジの 1 つです。

サラウンド ビジ ョ ン イ メージをベース とするソ リ ューシ ョ ンのリ アルタイム レンダ リ ングは、 GPU を使用し、 仮想カメ ラを用いて詳細なビジュアルの走行路を再構築します。 こ こでは仮想カメ ラ パラ メーターが実カメ ラから複製されて GPU 上で実装され、 リ アルタイムで変化するパラ メーターによって仮想シーンのイ メージを生成します。 Zynq UltraScale+ MPSoC は、GPU に非常に効率的な固定された機能ユニッ トがあるため、 この分野での利用に適しています。

GPU の処理能力を使用して、 複合ビューを描画するための合成が実行され、 出力ピクセルが生成されます。 生成されるピクセルは、 2 つのピクセルの組み合わせ (重なる領域内に出力がある場合) または単一のピクセル (重ならない領域内に出力がある場合) のいずれかになり、 幾何的なルッ クアップ テーブル (LUT) を使用して入力フレームからフェッチされます。 LUT の各エン ト リは、 現在の位置で出力ピクセルを生成するためのカメ ラ ID と入力フレームの座標を指定します。 次に、 メ ッシュ テーブル プロシージャによって出力フレームを生成します。 具体的な出力解像度が指定されるため、 入力画像内の位置への投影変換およびレンズ変換によ り、 各出力位置を入力画像にバッ クマップできます。 メ ッシュ テーブルは自動車周辺の位置の 3 次元座標と、 特定位置のシーンを表示する隣接カメ ラからのテクスチャ マッピングの関連入力位置で構成されます。 出力は、 自動車の中心からの距離の写像と して高さが変化する、 球状で表現されます。 出力メ ッシュ と関連テクスチャ マッピングを含むメ ッシュ テーブルは、 さ らにレンダ リ ングするためにグラフ ィ ッ クス プロセッサにまとめて渡されます。 アプリケーシ ョ ンでは、 メ ッシュ テーブルに加えて、 各位置で受け取った画像強度情報の線形結合の重みをエンコードするブレンド LUT を生成できます。GL_OES_EGL_image_external 拡張を使用して、カ メ ラ YUV 画像はレンダ リ ングのテクスチャ と して GPU に渡されます。 図 11 を参照してください。

X-Ref Target - Figure 10

図 10: ビデオ ト ランスコーディング

VCU Modules

Zynq UltraScale+ MPSoC

PCIe Interface

DecoderH.264

EncoderH.265

Cloud Server

WP497_12_063017

Page 17: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 17

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

サラウンド ビジ ョ ン システムは入力ビデオ ス ト リームを 4 つの魚眼レンズ カメ ラから受け取り、複合サラウンド ビューを作成します。 このシステムは、 幾何的な LUT でエンコード されたマッピングを使用して、 つなぎ合わされた出力イ メージを作成します。 図 12 を参照してください。

X-Ref Target - Figure 11

図 11: サラウンド ビュー

X-Ref Target - Figure 12

図 12: 複合ビューの合成

Typical Configuration

Left Camera

Front Camera

Right Camera

Rear Camera

WP497_13_063017

Vehicle Sensors• Velocity• Steering Angle

Overlap(4,1) Overlap(1,2)

Overlap(3,4) Overlap(2,3)

WP497_14_101317

To Mali 400 GPUfor rendering in 3D

Mesh ZLocation

[CamID, x, y][CamID, x, y]

Mesh X,YLocations

Bowl ShapeGenerator

Lens DistortionCorrection

3D-to2D ProjectiveTransform

Input FrameBufferCam 0

Input FrameBufferCam 2

Input FrameBufferCam 1

Input FrameBufferCam 3

3D MeshTable

Cam0

Cam2

Cam1

Cam3

Output Frame

Page 18: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 18

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

ZYNQ ULTRASCALE+ MPSOC のアド バンテージ Zynq UltraScale+ MPSoC の柔軟性は、 演算量の多いアプリ ケーシ ョ ンの GPU、 CPU、 および PL 間でのワークロードの共有を加速します。 複雑な算術演算を PL でハードウェア アクセラレーシ ョ ン用にオフロード した り、 OpenGL Shading Language (GLSL) uniform を APU 上で事前計算したりできます。 GPU シェーダー コア上での計算は、 頂点とフラグメン ト間で変化する値に対してのみ有効です。 一群の頂点全体の中で一定であるすべてのデータは、 CPU で も効率的に処理されます。

非常に大規模なデータ セッ トでも、 タスクによっては CPU の性能が GPU を簡単に上回る場合があ り ます。 あるいは、 プラ ット フォーム上には、 複雑な 3D モデルの OpenGL 行列計算および光源強度計算用のハードウェア アクセラレーシ ョ ンを提供できるプログラマブル ロジッ クがあ り ます。 グラフ ィ ッ クス システムは、 パイプライン処理を含む一連の操作で画像を生成しますが、 その も低速なステージはよ くパイプライン ボ トルネッ ク と呼ばれます。 たとえば三角形などの単一のグラフ ィ ックス プリ ミ ティブには、 グラフ ィ ッ クのパイプライン ボ トルネッ クが 1 つあり ます。 ただし、 このボ トルネッ クは複数のプリ ミ ティブが含まれるグラフ ィ ッ クス フレームのレンダ リ ング時に変化するこ とがあ り ます。 たとえば、 アプリ ケーシ ョ ンが 初に線のグループをレンダ リ ングし、 次に光が当たっている部分と影の部分がある三角形のグループをレンダ リ ングすると、 ボ トルネッ クは変化する と考えられます。 一部のパイプライン ステージは CPU 上で実行され、 ほかのステージは GPU 上で実行されるために、 ボ トルネッ クは変化し続けます。 複数のプロセッシング エンジンと PL をカプセル化する Zynq UltraScale+ MPSoC は、 GPU、 PL、 および CPU の間で演算処理を分散する柔軟性を提供するこ とで、 GPU が 2D および 3D グラフ ィ ッ クスの両方を加速できるよ うにし、 性能のボ トルネッ クを解決してスループッ ト全体を向上させます。

まとめZynq UltraScale+ MPSoC は、 プログラマブル ロジッ クに高性能 64 ビッ ト プロセッサを統合させただけではない、 真のヘテロジニアス マルチプロセッサ SoC プラ ッ ト フォームです。 Zynq UltraScale+ MPSoC にはリ アルタイム処理、 グラフ ィ ッ クス処理、 そしてビデオ エンコード とデコードそれぞれに専用エンジンがあ り ます。 このため、 設計者はアルゴ リズムを実装する場所を選択し、 システムの性能と消費電力を 適化できます。 Zynq UltraScale+ MPSoC はソフ ト ウェアとハード ウェアの両方のレベルで十分な柔軟性を備えており、 一方でエンベデッ ド市場においてこれまでで も多様な専用エンジンを統合しています。

Page 19: ホワイト ペーパー: Zynq UltraScale+ MPSoC …...WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 2 ビデオ コーデック/ グラフィックス エンジンを使用した

WP497 (v1.0) 2017 年 10 月 23 日 japan.xilinx.com 19

ビデオ コーデック/ グラフ ィ ッ クス エンジンを使用した ザイリンクス拡張マルチメディア ソリューシ ョ ン

改訂履歴次の表に、 この文書の改訂履歴を示します。

免責事項本通知に基づいて貴殿または貴社 (本通知の被通知者が個人の場合には 「貴殿」、 法人その他の団体の場合には 「貴社」。 以下同じ ) に開示され

る情報 (以下 「本情報」 といいます) は、 ザイ リ ンクスの製品を選択および使用するこ とのためにのみ提供されます。 適用される法律が許容す

る 大限の範囲で、 (1) 本情報は 「現状有姿」 、 およびすべて受領者の責任で (with all faults) とい う状態で提供され、 ザイ リ ンクスは、 本通知

をもって、 明示、 黙示、 法定を問わず (商品性、 非侵害、 特定目的適合性の保証を含みますがこれらに限られません)、 すべての保証および条

件を負わない (否認する ) ものと します。 また、 (2) ザイ リ ンクスは、本情報 (貴殿または貴社による本情報の使用を含む) に関係し、起因し、関

連する、 いかなる種類・性質の損失または損害についても、責任を負わない (契約上、不法行為上 (過失の場合を含む)、 その他のいかなる責任

の法理によるかを問わない) ものと し、 当該損失または損害には、 直接、 間接、 特別、 付随的、 結果的な損失または損害 (第三者が起こした行

為の結果被った、 データ、 利益、 業務上の信用の損失、 その他あらゆる種類の損失や損害を含みます) が含まれるものと し、 それは、 たとえ

当該損害や損失が合理的に予見可能であった り、 ザイ リ ンクスがそれらの可能性について助言を受けていた場合であったと しても同様です。

ザイ リ ンクスは、 本情報に含まれるいかなる誤り も訂正する義務を負わず、 本情報または製品仕様のアップデート を貴殿または貴社に知らせ

る義務も負いません。事前の書面による同意のない限り、貴殿または貴社は本情報を再生産、変更、頒布、 または公に展示してはなり ません。

一定の製品は、ザイ リ ンクスの限定的保証の諸条件に従う こ と となるので、https://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売

条件を参照して ください。 IP コアは、 ザイ リ ンクスが貴殿または貴社に付与したライセンスに含まれる保証と補助的条件に従う こ とになり ま

す。 ザイ リ ンクスの製品は、 フェイルセーフと して、 または、 フェイルセーフの動作を要求するアプリ ケーシ ョ ンに使用するために、 設計さ

れたり意図されたり していません。 そのよ うな重大なアプリ ケーシ ョ ンにザイ リ ンクスの製品を使用する場合のリ スク と責任は、 貴殿または

貴社が単独で負う ものです。 https://japan.xilinx.com/legal.htm#tos で見られるザイ リ ンクスの販売条件を参照してください。

自動車用のアプリ ケーショ ンの免責条項オートモーティブ製品 (製品番号に 「XA」 が含まれる ) は、 ISO 26262 自動車用機能安全規格に従った安全コンセプ ト または余剰性の機能

( 「セーフティ設計」 ) がない限り、 エアバッグの展開における使用または車両の制御に影響するアプ リ ケーシ ョ ン ( 「セーフティ アプリ ケー

シ ョ ン」 ) における使用は保証されていません。 顧客は、 製品を組み込むすべてのシステムについて、 その使用前または提供前に安全を目的

と して十分なテス ト を行う ものと します。 セーフティ設計なしにセーフティ アプリ ケーシ ョ ンで製品を使用する リ スクはすべて顧客が負い、

製品の責任の制限を規定する適用法令および規則にのみ従う ものと します。

この資料に関するフ ィードバッ クおよびリ ンクなどの問題につきましては、 [email protected] まで、 または各ページの右下にある

[フ ィードバッ ク送信] ボタンをク リ ッ クする と表示されるフォームからお知らせください。 いただきましたご意見を参考に早急に対応させて

いただきます。 なお、 このメール アドレスへのお問い合わせは受け付けており ません。 あらかじめご了承ください。

日付 バージョ ン 内容

2017 年 10 月 23 日 1.0 初版