MicrochipPolarFire®FPGAH.264エンコーダIPユーザーガイド

導入

H.264は、デジタルビデオを圧縮するための一般的なビデオ圧縮規格です。 これは、MPEG-4Part10またはAdvancedVideo Coding(MPEG-4 AVC)とも呼ばれます。 H.264は、ブロックサイズが16×16として定義され、そのようなブロックがマクロブロックと呼ばれるビデオを圧縮するためにブロックワイズアプローチを使用します。 圧縮規格はさまざまなプロをサポートしていますfile■圧縮率と実装の複雑さを定義します。 圧縮されるビデオフレームは、Iフレーム、Pフレーム、およびBフレームとして扱われます。 Iフレームは、フレーム内に含まれる情報を使用して圧縮が行われる、コード化されたフレームです。 Iフレームをデコードするために他のフレームは必要ありません。 APフレームは、IフレームまたはPフレームである可能性がある以前のフレームに対する変更を使用して圧縮されます。 Bフレームの圧縮は、前のフレームと次のフレームの両方に関するモーション変更を使用して行われます。

Iフレーム圧縮プロセスにはXNUMXつのがありますtages-イントラ予測、整数変換、量子化、エントロピー符号化。 H.264は、コンテキストアダプティブ可変長コーディング(CAVLC)とコンテキストアダプティブバイナリ算術コーディング(CABAC)のXNUMX種類のエンコーディングをサポートしています。 IPの現在のバージョンはBaselineproを実装していますfile エントロピー符号化にCAVLCを使用します。 また、IPはIフレームのみのエンコードをサポートします。

主な特徴

  • YCbCr420ビデオ形式で圧縮を実装します
  • YCbCr422ビデオ形式での入力が必要です
  • 各コンポーネント(Y、Cb、およびCr)で8ビットをサポート
  • ITU-T H.264AnnexB準拠のNALバイトストリーム出力
  • スタンドアロン操作、CPU、またはプロセッサの支援は必要ありません
  • 実行時のユーザー設定可能な品質係数QP
  • クロックあたり1ピクセルのレートでの計算
  • 1080p60fpsの解像度までの圧縮をサポートします。
サポートされている家族
  • PolarFire®SoCFPGA
  • PolarFire®FPGA

ハードウェアの実装

次の図は、H.264IフレームエンコーダのIPブロック図を示しています。
ハードウェアの実装
図1-1。 H.264IフレームエンコーダのIPブロック図

入力と出力

次の表に、H.264フレームエンコーダIPの入力ポートと出力ポートを示します。

表1-1。 H.264IフレームエンコーダIPの入力ポートと出力ポート

信号名 方向 ポート 有効 説明
RESET_N 入力 1 デザインへのアクティブロー非同期リセット信号。
SYS_CLK 入力 1 着信ピクセルがsである入力クロックamp導いた。
データ_Y_I 入力 8 8形式の422ビットLumaピクセル入力。
データ_C_I 入力 8 8形式の422ビットクロマピクセル入力。
DATA_VALID_I 入力 1 ピクセルデータの有効な信号を入力します。
FRAME_END_I 入力 1 フレームの終わりの表示。
FRAME_START_I 入力 1 フレーム開始表示。 この信号の立ち上がりエッジはフレーム開始と見なされます。
HRES_I 入力 16 入力画像の水平解像度。 16の倍数である必要があります。
VRES_I 入力 16 入力画像の垂直解像度。 16の倍数である必要があります。
QP_I 入力 6 H.264量子化の品質係数。 値の範囲は0〜51で、0は最高品質と最低圧縮を表し、51は最高圧縮を表します。
データ_O 出力 8 NALユニット、スライスヘッダー、SPS、PPS、およびマクロブロックのエンコードされたデータを含むH.264エンコードされたデータ出力。
DATA_VALID_O 出力 1 エンコードされたデータを示す信号は有効です。

構成パラメータ

H.264 IフレームエンコーダIPは、設定パラメータを使用しません。

H.264IフレームエンコーダIPのハードウェア実装

次の図は、H.264IフレームエンコーダのIPブロック図を示しています。

ハードウェアの実装
図1-2。 H.264IフレームエンコーダのIPブロック図

H.264IフレームエンコーダIPの設計説明

このセクションでは、H.264IフレームジェネレータIPのさまざまな内部モジュールについて説明します。 IPへのデータ入力は、YCbCr422形式のラスタースキャン画像の形式である必要があります。 IPは入力として422形式を使用し、420形式で圧縮を実装します。

16×16マトリックスフレーマー

このモジュールは、H.16仕様に従って、Yコンポーネントの16×264マクロブロックをフレーム化します。 ラインバッファは、入力画像の16の水平ラインを格納するために使用され、16×16の行列はシフトレジスタを使用してフレーム化されます。

8×8マトリックスフレーマー

このモジュールは、8フォーマットのH.8仕様に従って、Cコンポーネントの264×420マクロブロックをフレーム化します。 ラインバッファは、入力画像の8つの水平ラインを格納するために使用され、8×16の行列はシフトレジスタを使用してフレーム化されます。 8×16マトリックスから、CbおよびCrコンポーネントが分離され、各8×8マトリックスがフレーム化されます。

4×4マトリックスフレーマー

整数変換、量子化、およびCAVLCエンコーディングは、マクロブロック内の4×4サブブロックで動作します。 4×4マトリックスフレーマーは、4×4または16×16マクロブロックから8×8サブブロックを生成します。 このマトリックスジェネレーターは、次のマクロブロックに進む前に、マクロブロックのすべてのサブブロックにまたがっています。

イントラ予測

H.264は、さまざまなイントラ予測モードを使用して、4×4ブロックの情報を削減します。 IPのイントラ予測ブロックは、4×4マトリックスサイズのDC予測のみを使用します。 DC成分は、隣接する上部と左側の4×4ブロックから計算されます。

整数変換

H.264は、整数変換に乗算または除算がないように、係数が整数変換行列と量子化行列に分散される整数離散コサイン変換を使用します。 整数変換stageは、シフトおよび追加操作を使用して変換を実装します。

量子化

量子化は、整数変換の各出力に、QPユーザー入力値によって定義された所定の量子化値を乗算します。 QP値の範囲は0〜51です。51を超える値はclです。ampQP値が低いほど、圧縮率が低く、品質が高いことを示し、その逆も同様です。

CAVLC

H.264は、コンテキスト適応可変長コーディング(CAVLC)とコンテキスト適応バイナリ算術コーディング(CABAC)のXNUMX種類のエントロピーエンコーディングを使用します。 IPは、量子化された出力をエンコードするためにCAVLCを使用します。

ヘッダージェネレーター

ヘッダージェネレーターブロックは、ビデオフレームのインスタンスに応じて、ブロックヘッダー、スライスヘッダー、シーケンスパラメーターセット(SPS)、画像パラメーターセット(PPS)、およびネットワーク抽象化レイヤー(NAL)ユニットを生成します。

H.264ストリームジェネレーター

H.264ストリームジェネレータブロックは、CAVLC出力とヘッダーを組み合わせて、H.264標準形式に従ってエンコードされた出力を作成します。

テストベンチ

テストベンチは、H.264IフレームエンコーダIPの機能をチェックするために提供されています。

シミュレーション

シミュレーションでは、224で表されるYCbCr224形式の422×XNUMX画像を使用します files、それぞれ入力としてYとCに対応し、H.264を生成します file XNUMXつのフレームを含むフォーマット。 次の手順では、テストベンチを使用してコアをシミュレートする方法について説明します。

  1. LiberoSoCカタログに移動> View > Windows>カタログをクリックし、[ソリューション]-[ビデオ]を展開します。 H264_Iframe_Encoderをダブルクリックし、[OK]をクリックします。
    シミュレーション
    図2-1。 LiberoSoCカタログのH.264IフレームエンコーダIPコア
  2. に行く Filesタブを選択し、 シミュレーション > 輸入 Files.
    輸入 Files
    図2-2。 輸入 Files
  3. H264_sim_data_in_y.txt、H264_sim_data_in_c.txt、およびH264_refOut.txtをインポートします files次のパスから:.. \\ component \ Microsemi \ SolutionCore \ H264_Iframe_Encoder \ 1.0.0\Stimulus。
  4. 別のものをインポートするには file、必要なものが含まれているフォルダを参照します file、[開く]をクリックします。 インポートされた file はシミュレーションの下にリストされています。次の図を参照してください。
    輸入 Files
    図2-3。 インポート Files
  5. 刺激に行く 階層 タブをクリックして選択 H264_frame_Encoder_tb(H264_frame_Encoder_tb。v)>
    プレシンセデザインのシミュレーション>インタラクティブに開く。 IPはXNUMXフレームでシミュレートされます。
    合成前の設計
    図2-4。 合成前の設計のシミュレーション

ModelSimがテストベンチで開きます file 次の図に示すように。
シミュレーションウィンドウ
図2-5。 ModelSimシミュレーションウィンドウ

注記: DOで指定された実行時間制限のためにシミュレーションが中断された場合 file、run-allコマンドを使用してシミュレーションを完了します。

ライセンス

H.264 IフレームエンコーダIPは、ライセンスの下でのみ暗号化された形式で提供されます。

インストール手順

コアはLiberoSoCソフトウェアにインストールする必要があります。 これは、LiberoSoCソフトウェアのカタログ更新機能またはCPZを介して自動的に実行されます。 file コアカタログの追加機能を使用して手動で追加できます。 CPZが file がLiberoにインストールされている場合、コアはSmartDesign内で構成、生成、およびインスタンス化して、Liberoプロジェクトに含めることができます。

コアのインストール、ライセンス、および一般的な使用の詳細については、を参照してください。 LiberoSoCオンラインヘルプ。

リソースの利用

次の表に、asのリソース使用率を示します。ample H.264IフレームエンコーダーIPデザインはPolarFireFPGA(MPF300TS-1FCG1152Iパッケージ)用に作成され、4:2:2を使用して圧縮データを生成します。amp入力データのリング。

表5-1。 H.264IフレームエンコーダIPのリソース使用率

要素 使用法
4LUT 15160
DFF 15757
LSRAM 67
マイクロSRAM 23
数学ブロック 18
インターフェイス4入力LUT 3336
インターフェイスDFF 3336

改訂履歴

改訂履歴表には、ドキュメントに実装された変更が記載されています。 変更は、最新の出版物から順に、リビジョンごとにリストされています。

リビジョン 日付 説明
A 01/2022 ドキュメントの最初の発行。

マイクロチップFPGAのサポート

マイクロチップFPGA製品グループは、カスタマーサービス、カスタマーテクニカルサポートセンター、 webサイト、および世界中の営業所。 質問に回答済みである可能性が非常に高いため、サポートに連絡する前に、Microchipのオンラインリソースにアクセスすることをお勧めします。

を通じてテクニカルサポートセンターに連絡してください webサイト サポート。 FPGAデバイスの部品番号を記載し、適切なケースカテゴリを選択して、デザインをアップロードします file■テクニカルサポートケースの作成中。

製品の価格設定、製品のアップグレード、更新情報、注文ステータス、承認など、技術以外の製品サポートについては、カスタマーサービスにお問い合わせください。

  • 北米から、電話 800.262.1060
  • 世界の他の地域から、電話 650.318.4460
  • ファックス、世界中のどこからでも、 650.318.8044
マイクロチップ Webサイト

マイクロチップは、 webサイト www.microchip.com/。 これ webサイトは file顧客が簡単に利用できる情報を提供します。 利用可能なコンテンツには次のようなものがあります。

  • 製品サポート – データシートと正誤表、アプリケーションノートとampleプログラム、設計リソース、ユーザーガイド、ハードウェアサポートドキュメント、最新のソフトウェアリリース、アーカイブされたソフトウェア
  • 一般的なテクニカルサポート –よくある質問(FAQ)、テクニカルサポートリクエスト、オンラインディスカッショングループ、マイクロチップデザインパートナープログラムのメンバーリスト
  • マイクロチップの事業 –製品セレクターと注文ガイド、最新のMicrochipプレスリリース、セミナーとイベントのリスト、Microchipの営業所、販売業者、工場の代表者のリスト。
製品変更通知サービス

マイクロチップの製品変更通知サービスは、マイクロチップ製品の最新情報を顧客に提供するのに役立ちます。 サブスクライバーは、特定の製品ファミリまたは対象の開発ツールに関連する変更、更新、改訂、または正誤表があるたびに電子メール通知を受け取ります。

登録するには、 www.microchip.com/pcn 登録手順に従ってください。

カスタマーサポート

Microchip 製品のユーザーは、いくつかのチャネルを通じてサポートを受けることができます。

  • 販売代理店または代理店
  • 現地営業所
  • エンベデッドソリューションエンジニア(ESE)
  • テクニカルサポート

サポートについては、販売代理店、担当者、または ESE にお問い合わせください。地域の営業所もお客様をサポ​​ートします。営業所と所在地の一覧はこのドキュメントに記載されています。

テクニカルサポートは、 webサイト: サポート

マイクロチップデバイスのコード保護機能

Microchip 製品のコード保護機能に関する次の詳細に注意してください。

  • Microchip 製品は、それぞれの Microchip データ シートに記載されている仕様を満たしています。
  • Microchip 社は、意図された方法で、動作仕様の範囲内で、通常の条件下で使用される場合、同社の製品ファミリは安全であると考えています。
  • マイクロチップは、その知的財産権を尊重し、積極的に保護します。 マイクロチップ製品のコード保護機能に違反する試みは固く禁じられており、デジタルミレニアム著作権法に違反する可能性があります。
  • マイクロチップも他の半導体メーカーも、そのコードのセキュリティを保証することはできません。 コード保護は、製品が「壊れない」ことを保証することを意味するものではありません。 コード保護は常に進化しています。 マイクロチップ社は、当社製品のコード保護機能を継続的に改善することをお約束します。
法的通知

この出版物およびここに記載されている情報は、Microchip製品の設計、テスト、およびアプリケーションとの統合を含め、Microchip製品でのみ使用できます。 この情報を他の方法で使用すると、これらの条件に違反します。 デバイスアプリケーションに関する情報は、お客様の便宜のためにのみ提供されており、更新によって置き換えられる場合があります。 アプリケーションが仕様を満たしていることを確認するのはユーザーの責任です。 追加のサポートについては、最寄りのMicrochip営業所にお問い合わせいただくか、次のURLで追加のサポートを受けてください。 www.microchip.com/en-us/support/design-help/client-support-services.

この情報はマイクロチップによって「現状のまま」提供されます。マイクロチップは、明示的か黙示的か、書面か口頭か、法定かその他かを問わず、情報に関連するいかなる種類の表明または保証も行いません。これには、非侵害、商品性、特定目的への適合性に関する黙示の保証、またはその状態、品質、性能に関する保証が含まれますが、これらに限定されません。

いかなる場合も、マイクロチップは、情報またはその使用に関連するいかなる間接的、特別、懲罰的、偶発的、または結果的な損失、損害、費用、経費についても、その原因が何であれ、マイクロチップがその可能性を知らされていたり、損害が予見可能であったりしても、一切責任を負いません。法律で認められる最大限の範囲で、情報またはその使用に関連するすべての請求に対するマイクロチップの全責任は、情報に対してお客様がマイクロチップに直接支払った料金の金額(ある場合)を超えないものとします。

生命維持および/または安全アプリケーションにおける Microchip デバイスの使用は、完全に購入者の責任であり、購入者は、かかる使用から生じるあらゆる損害、請求、訴訟、または費用から Microchip を防御し、補償し、免責することに同意するものとします。特に明記されていない限り、Microchip の知的財産権に基づくライセンスは、暗黙的またはその他の方法で譲渡されるものではありません。

商標

Microchipの名前とロゴ、Microchipのロゴ、Adaptec、AnyRate、AVR、AVRのロゴ、AVR Freaks、BesTime、BitCloud、CryptoMemory、CryptoRF、dsPIC、flexPWR、HELDO、IGLOO、JukeBlox、KeeLoq、Kleer、LANCheck、LinkMD、maXStylus、 maXTouch、MediaLB、megaAVR、Microsemi、Microsemiロゴ、MOST、MOSTロゴ、MPLAB、OptoLyzer、PIC、picoPower、PICSTART、PIC32ロゴ、PolarFire、Prochip Designer、QTouch、SAM-BA、SenGenuity、SpyNIC、SST、SSTロゴ、SuperFlash 、Symmetricom、SyncServer、Tachyon、TimeSource、tinyAVR、UNI / O、Vectron、およびXMEGAは、米国およびその他の国におけるMicrochipTechnologyIncorporatedの登録商標です。

AgileSwitch、APT、ClockWorks、Embedded Control Solutions Company、EtherSynch、Flashtec、Hyper Speed Control、HyperLight Load、IntelliMOS、Libero、motorBench、mTouch、Powermite 3、Precision Edge、ProASIC、ProASIC Plus、ProASIC Plusロゴ、Quiet-Wire、 SmartFusion、SyncWorld、Temux、TimeCesium、TimeHub、TimePictra、TimeProvider、TrueTime、WinPath、およびZLは、米国におけるMicrochipTechnologyIncorporatedの登録商標です。

隣接するキー抑制、AKS、Analog-for-the-Digital Age、Any Capacitor、AnyIn、AnyOut、Augmented Switching、BlueSky、BodyCom、CodeGuard、CryptoAuthentication、CryptoAutomotive、CryptoCompanion、CryptoController、dsPICDEM、dsPICDEM.net、Dynamic Average Matching、DAM 、ECAN、Espresso T1S、EtherGREEN、G​​ridTime、IdealBridge、In-Circuit Serial Programming、ICSP、INICnet、Intelligent Paralleling、Inter-Chip Connectivity、JitterBlocker、Knob-on-Display、maxCrypto、maxView、memBrain、Mindi、MiWi、MPASM、MPF、MPLAB認定ロゴ、MPLIB、MPLINK、MultiTRAK、NetDetach、NVM Express、NVMe、Omniscient Code Generation、PICDEM、PICDEM.net、PICkit、PICtail、PowerSmart、PureSilicon、QMatrix、REAL ICE 、リップルブロッカー、RTAX、RTG4、SAMICE、シリアルクアッドI / O、simpleMAP、SimpliPHY、SmartBuffer、SmartHLS、SMART-IS、storClad、SQI、SuperSwitcher、SuperSwitcher II、Switchtec、SynchroPHY、Total Endurance、TSHARC、USBCheck、VariSense、 VectorBlox、VeriPHY、

ViewSpan、WiperLock、XpressConnect、およびZENAは、米国およびその他の国におけるMicrochipTechnologyIncorporatedの商標です。 SQTPは、米国のMicrochipTechnologyIncorporatedのサービスマークです。
Adaptecのロゴ、Frequency on Demand、Silicon Storage Technology、Symmcom、およびTrusted Timeは、MicrochipTechnologyInc.のその他の国における登録商標です。
GestICは、Microchipの子会社であるMicrochip Technology Germany II GmbH&Co。KGの登録商標です。
他の国のTechnologyInc. 本書に記載されているその他すべての商標は、それぞれの会社の所有物です。
©2022、MicrochipTechnologyIncorporatedおよびその子会社。 全著作権所有。
ISBN: 978-1-5224-9663-2

品質管理システム

マイクロチップの品質管理システムの詳細については、 www.microchip.com/quality.

世界的な販売とサービス

アメリカ大陸

本社
2355 ウエスト チャンドラー ブールバード
チャンドラー、アリゾナ85224-6199
電話: 480-792-7200
ファックス: 480-792-7277
テクニカルサポート: サポート
Web 住所: マイクロチップ

アトランタ
ジョージア州ダルース
電話: 678-957-9614
ファックス: 678-957-1455

オースティン、テキサス州
電話: 512-257-3370

ボストン
マサチューセッツ州ウェストボロ
電話: 774-760-0087
ファックス: 774-760-0088

シカゴ
イリノイ州イタスカ
電話: 630-285-0071
ファックス: 630-285-0075

ダラス
アディソン、テキサス州
電話: 972-818-7423
ファックス: 972-818-2924

デトロイト
ミシガン州ノバイ
電話: 248-848-4000

ヒューストン、テキサス州
電話: 281-894-5983

インディアナポリス
ノーブルズビル、インディアナ州
電話: 317-773-8323
ファックス: 317-773-5453
電話: 317-536-2380

ロサンゼルス
カリフォルニア州ミッションビエホ
電話: 949-462-9523
ファックス: 949-462-9608
電話: 951-273-7800

ノースカロライナ州ローリー
電話: 919-844-7510

ニューヨーク、ニューヨーク州
電話: 631-435-6000

カリフォルニア州サンノゼ
電話: 408-735-9110
電話: 408-436-4270

カナダ – トロント
電話: 905-695-1980
ファックス: 905-695-2078

アジア太平洋

オーストラリア – シドニー
電話: 61-2-9868-6733

中国 – 北京
電話: 86-10-8569-7000

中国–成都
電話: 86-28-8665-5511

中国 – 重慶
電話: 86-23-8980-9588

中国–東莞
電話: 86-769-8702-9880

中国 – 広州
電話: 86-20-8755-8029

中国–杭州
電話: 86-571-8792-8115

中国–香港SAR
電話: 852-2943-5100

中国–南京
電話: 86-25-8473-2460

中国–青島
電話: 86-532-8502-7355

中国 – 上海
電話: 86-21-3326-8000

中国–瀋陽
電話: 86-24-2334-2829

中国–深セン
電話: 86-755-8864-2200

中国–蘇州
電話: 86-186-6233-1526

中国–武漢
電話: 86-27-5980-5300

中国–西安
電話: 86-29-8833-7252

中国–厦門
電話: 86-592-2388138

中国–朱海
電話: 86-756-3210040

インド – バンガロール
電話: 91-80-3090-4444

インド–ニューデリー
電話: 91-11-4160-8631

インド–プネー
電話: 91-20-4121-0141

日本–大阪
電話: 81-6-6152-7160

日本 – 東京
Tel:81-3-6880-3770

韓国–大邱
電話: 82-53-744-4301

韓国–ソウル
電話: 82-2-554-7200

マレーシア–クアラルンプール
電話: 60-3-7651-7906

マレーシア–ペナン
電話: 60-4-227-8870

フィリピン – マニラ
電話: 63-2-634-9065

シンガポール
電話: 65-6334-8870

台湾– Hsin Chu
電話: 886-3-577-8366

台湾–高雄
電話: 886-7-213-7830

台湾–台北
電話: 886-2-2508-8600

タイ – バンコク
電話: 66-2-694-1351

ベトナム–ホーチミン
電話: 84-28-5448-2100

ヨーロッパ

オーストリア–ヴェルス
電話: 43-7242-2244-39
ファックス: 43-7242-2244-393

デンマーク – コペンハーゲン
電話: 45-4485-5910
ファックス: 45-4485-2829

フィンランド–エスポー
電話: 358-9-4520-820

フランス – パリ
Tel: 33-1-69-53-63-20
Fax: 33-1-69-30-90-79

ドイツ – ガルヒング
電話: 49-8931-9700

ドイツ–ハーン
電話: 49-2129-3766400

ドイツ – ハイルブロン
電話: 49-7131-72400

ドイツ–カールスルーエ
電話: 49-721-625370

ドイツ – ミュンヘン
Tel: 49-89-627-144-0
Fax: 49-89-627-144-44

ドイツ – ローゼンハイム
電話: 49-8031-354-560

イスラエル – ラアナナ
電話: 972-9-744-7705

イタリア–ミラノ
電話: 39-0331-742611
ファックス: 39-0331-466781

イタリア–パドヴァ
電話: 39-049-7625286

オランダ– Drunen
電話: 31-416-690399
ファックス: 31-416-690340

ノルウェー–トロンハイム
電話: 47-72884388

ポーランド – ワルシャワ
電話: 48-22-3325737

ルーマニア – ブカレスト
Tel: 40-21-407-87-50

スペイン–マドリード
Tel: 34-91-708-08-90
Fax: 34-91-708-08-91

スウェーデン–ヨーテボリ
Tel: 46-31-704-60-40

スウェーデン – ストックホルム
電話: 46-8-5090-4654

英国–ウォーキンガム
電話: 44-118-921-5800
ファックス: 44-118-921-5820

ロゴ

ドキュメント / リソース

MicrochipPolarFire®FPGAH.264エンコーダーIP [pdf] ユーザーガイド
PolarFire FPGAエンコーダー、H.264エンコーダー、FPGA H.264エンコーダー、エンコーダーIPIP
MICROCHIP PolarFire FPGA H.264 エンコーダ IP [pdf] ユーザーガイド
PolarFire FPGA H.264 エンコーダ IP、PolarFire FPGA、H.264 エンコーダ IP

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *