...

HEVC方式による SHVリアルタイムエンコーダ開発 への高位

by user

on
Category: Documents
17

views

Report

Comments

Transcript

HEVC方式による SHVリアルタイムエンコーダ開発 への高位
HEVC方式による
SHVリアルタイムエンコーダ開発
への高位合成適用事例
三菱電機株式会社
情報技術総合研究所
山本亮、坂手寛治、本山信明、峯岸孝行
概要
日本では2016年のSHV (Super Hi‐Vision) 実用化試験放送開始を目指している
膨大な信号量を有するSHV映像を
限られた帯域で伝送するために、
高圧縮なリアルタイムエンコーダが必須
HEVC符号化方式を採用し、高位合成で
世界初の、HEVC方式SHVエンコーダを開発
報道資料(13.05.09) 「世界初! スーパーハイビジョン(8K) HEVC符号化装置を開発」
HEVC: High Efficiency Video Coding
2
アウトライン
• 背景
– HEVC規格
– 映像系LSI開発の現状
• アルゴリズム開発者による高位合成を使った
設計
– 課題
– 対策
• 実装結果
• 高位合成ツールへの改善要望
• まとめと今後の課題
3
映像符号化の進化
SHV
(7680x4320)
SHV
高圧縮性能
HEVC/H.265
Cinema
(2013年成立)
(4096x2048)
HDTV
IPTV
IPTV Blu-ray デジタル放送
家庭用レコーダ
家庭用レコーダ Blu-ray
(1920x1080)
解
像
度
2倍
SDTV
(720x480)
SHV放送
2016年
試験放送(計画)
AVC/H.264
監視、ストリーミング
2倍
DVD
H.262/MPEG-2
(1994年成立)
(2003年成立)
QVGA
1セグ放送
(320x240)
QCIF
(176x144)
MPEG-4
(1999年成立)
携帯TV電話
64k
256k
1M
4M
ビットレート(bit/sec)
低圧縮性能
16M
64M
4
HEVC規格
HEVCの符号化にはH.264の2~5倍程度の演算量を要する
予測
ブロック
サイズ
動きベク
トル精度
参照ピ
クチャ
数
イントラ
予測
直交変換 ループ
ブロック
フィルタ
サイズ
MPEG‐2
MPEG‐4
16x16
半画素
2以下
DC予測
8x8
―
8x8, 16x16
1/4画素
(8tap)
2以下
AC/DC予
測
8x8
―
H.264
4x4~
16x16 & H/V shape
1/4画素
(6tap)
5
9モード
(通常) 空間予測
4x4, 8x8 デブロッキン
整数変換 グフィルタ
HEVC
4x4~
1/4画素
64x64 & (8&7tap)
H/V shape & AMP
5
35モード
(通常) 空間予測
4x4~
デブロッキン
32x32
ク、画素
整数変換 適応オフ
セット
5
映像系LSI開発の現状
①早期の市場投入が重要
・符号化規格後、早期に市場に製品を投入することで、シェア獲得
②専門のLSI開発者の減少
・映像系LSI開発は、常時あるわけではなく、映像系専門のLSI設計者
を常に大量に抱えるわけにはいかない
③低コスト化が必須
・海外との競争の激化により開発コストの削減要求が強い
少人数かつ短期間で、LSI開発をする必要性がある
6
開発の課題(従来の開発体制)
■従来の開発体制だと短期間での開発が困難
・専門外の分野を理解する必要がある
‐ HEVCのような複雑なアルゴリズムの理解には多大な時間を要する
・情報のやり取りが多い
‐ 伝えることのドキュメント化に時間を要する
‐ 正しく伝わらないことで、仕様誤解釈を招きバグを生じさせる可能性も
⇒一人で両方をカバーできれば、効率化できる
アルゴリズム
RTL設計
開発担当者
担当者
アルゴリズムの提供
QAリスト
・アルゴリズムのStudy
・RTL設計の検討
仕様書のレビュー
アルゴリズムの変更
・RTL設計の再検討
回路規模など問題点の提示
….
7
アルゴリズムとRTL設計の両方ができる人材の育て方の比較
①RTL設計者がアルゴリズム習得する
・アルゴリズム習得に時間がかかる
・プロジェクト毎に工数が必要
②アルゴリズム開発者がRTL設計を習得する
・RTL設計の習得に時間がかかる
・これまでの環境・言語から大きく変わる
③アルゴリズム開発者が高位合成を習得する
・アルゴリズムは熟知しているので、アルゴリズムのStudyは不要
・C/C++は得意なので、言語(SystemC)習得に時間を要さない
・アルゴリズムの変更にも柔軟かつ迅速に対応可能
・アルゴリズムと回路性能(処理サイクル数・回路規模)の探索が容易
8
アルゴリズム設計者が高位合成で設計できるように
するための課題と対策
【課題】
RTL設計未経験でも、ちゃんと(設計効率よく、品質に問題なく)
設計できるようにするためには?
【対策】
①全体のアーキテクチャを仕切れるハード設計者を置く
‐ 大事な箇所は、LSI専門の開発者が仕切る
②事前に高位合成での設計のルールやテクニックを指示
③All in SystemCで設計する
‐制御回路も含めてSystemCで設計
‐今回、RTLの資産がある回路やベンダIPを除く全てを高位合成
以降②について説明
9
ツールと言語
【高位合成ツール】 Cyber Work Bench(CWB)
・数年前に数社の高位合成ツールを評価し、CWBを導入を決定
・これまでにCWBによる高位合成のノウハウを蓄積
【言語】 SystemC
○メリット
・高位合成ツールベンダの言語依存性がない
・制御回路も記述できる
・C++の動作環境さえあれば、シミュレーションができる
(ライセンスを気にせず、複数人で同時に実行できる)
10
アルゴリズム開発者が高位合成で設計するための方針
事前に以下のルール・テクニックを指示
• 型にはめる
• 回路規模・動作周波数の事前対策
• SystemC実装&高位合成テクニック
11
型にはめる
■型にはめる
・あらかじめ用意したデザインパターンから所望のパターンを選択
・合成後のRTL品質の確保等のために、アンチパターンも示す
アルゴリズム
選択
デザイン
パターン
・アーキテクチャ
・SystemCコーディングスタイル
・合成オプション
・検証注意点
参照
アンチ
パターン
アーキテクチャ
(デザインパターン)
・禁止コーディングスタイル
デザインパターンにアルゴリズムを埋め込む
アルゴリズム
12
回路規模・動作周波数の事前対策
• 回路規模の基本を知る
– どんな演算が回路規模が大きいか
– 論理等価で回路規模が小さくなるコーディングの仕方
– なんでもできる関数>限定したことしかできない関数
• 単体ブロックで論理合成まで実施し評価
• 論理合成を見据えた対策
– クリティカルパスになりそうな箇所への対策
• DSP、RAMまわり
– ボトムアップでの論理合成に備えた実装
13
SystemCの実装テクニックで効率化(パラメータ化)
■似て非なる回路をそれぞれ設計しては、工数がかかる
機能はほぼ同じだが、違う箇所あり
‐ ビット幅、メモリ容量、メモリワード数、段数、演算式、サイクル、、、
回路A1
回路A2
回路A3
…
■テンプレートによるIP化で設計効率改善
・型や数をパラメータとしてコーディングできるC++言語の構文の1つ
・相違点をパラメータ化し、似て非なる回路の設計効率を改善
パラメータ1
回路A
パラメータ2
パラメータ3
回路A1
回路A2
回路A3
14
高位合成ツールの機能を使って効率化(最適化)
【ループアンローリングによるループ展開数の最適化】
最適な(要求サイクル数を満たす最小回路構成)ループ展開数を探索
回路
規模
//ループ展開数指定 = NUM
for(int i = 0; i < N; i++){
……
}
処理サイクル数
【配列のメモリorレジスタ指定による最適化】
sc_int<M> Array[SIZE] /*メモリ指定 or レジスタ指定*/; 15
高位合成ツールの機能を使って効率化(実装・デバッグ)
【スケジューリングブロックで細かなタイミング制御】
・細かな制御を部分的に挿入可能
・わざわざモジュール分割して
設計する必要なし
……..
//{}内のタイミングはユーザが指定できる
{
a = b;
wait();
c = d;
wait();
}
【出力更新タイミング】
・RTLシミュレーションやFPGA実機デバッグに利用
doutが更新されたタイミング
でvalidが上がる
clk
sc_out<bool> dout/*出力更新タイミング信号指定*/;
….
dout.write(d);
dout
valid
16
実装結果
• HEVCリアルタイム符号化アルゴリズムをH.264
の2倍程度(当社比)の回路規模で実現
• RTL設計(従来)比55%の工数削減を達成
3個のFPGAに
機能分割して
HEVC符号化
制御回路含む
99%以上の回路を
高位合成で回路作成
HEVC符号化基板
17
装置外観
17枚の符号化基板が
7680×256画素領域の
HEVC符号化を実行
18
合成ツールへの改善要望
• 動作周波数改善に苦労
– 配線混雑箇所がクリティカルパスになりやすいが、合
成ツールはそこまで見てくれない
– FPGAが大規模がしてくると、より顕著な問題となる
• 合成時間の短縮
– 1時間程度、合成に時間がかかった回路あり
• ライブラリ・マニュアルの強化
– 汎用的なコンポーネントの充実化
– ノウハウのオープン化
19
高位合成ツールにどこまで期待するか
高位合成ツールに、アーキテクチャ合成を期待
性能や回路
規模に与え
る影響度
アルゴリズム
レベル
アーキテクチャ
レベル
回路レベル
(FF配置や回路
共有など)
・ツールに任せることができる
・探索もできる
・人手でやるべき箇所
・人が考えて作り込まないといけない
=>アーキテクチャを設計者がコードと
オプションで具現化する必要がある
・センスや経験が必要
抽象度
20
HLSツールの今後目指すターゲットユーザ
■SW設計者
・SoC FPGAのニーズは高まっていく
・SW設計者がFPGAでHW設計する機会は増えると予想
‐ FPGAツールベンダが高位合成ツールを市販化開始
■アルゴリズム開発者
・アルゴリズムは複雑化
・アルゴリズムの性能だけ追求しては、勝てない
‐ コストとの兼ね合いが重要
高位合成は、HW設計者のためだけのツールではなく、SW
設計者やアルゴリズム開発者にとって、なくてはならない
モノになる!
21
まとめと今後の課題
• 高位合成で世界初の、HEVC方式SHVエンコーダ
を開発
• RTL設計の経験がないアルゴリズム開発者が中
心となり、高位合成を使って設計
• 今後の課題
– 高位合成のさらなるノウハウの蓄積
– 高位合成の社内普及と高位合成で設計できる人材
の育成
22
Fly UP