【テクニカルレポート】CELLレグザのソフトウェア……東芝レビュー | RBB TODAY

【テクニカルレポート】CELLレグザのソフトウェア……東芝レビュー

IT・デジタル テレビ

図1.Cell BEの基本構成
  • 図1.Cell BEの基本構成
  • 図2.CELLレグザのソフトウェア構成
  • 図3.ESPフレームワークの概要
  • 図4.CareidVideoの概要
  • 図5.Cell BEアプリの構成
  • 図6.地デジ同時録画ファンクションの構成
 デジタルハイビジョン液晶テレビ(TV)“ CELLレグザ”は、高性能なマルチコアプロセッサであるCell Broadband Engine(以下、Cell BEと略記)を用いることにより、従来のTVセットでは提供できなかった新しい機能を実現した。特に、CELLレグザの新機能である“マルチ画面”、“動画番組表”、及び“高速選局”を実現するため、動的なソフトウェアの構成変更を行い、計算資源やメモリを有効活用できるようにした。

 CELLレグザでは、様々な機能をソフトウェアで実現しているため、ソフトウェアを更新していくことにより、新しい機能を追加していくことができる。

1. まえがき

 CELLレグザは、従来のTVセットで使われているSoC(System on Chip)に加えて、高性能でコストパフォーマンスの高いCPUであるCell BEを利用している。Cell BEは、東芝が
(株)ソニー・コンピュータエンタテインメント、ソニー(株)、IBM社とともに開発した高性能プロセッサであり、一つのPPE(Power Processor Element)と複数のSPE(Synergistic Processor Element)から成るマルチコアプロセッサである(図1)。CELLレグザでは、高性能プロセッサを用いることにより、従来のTVセットで提供できなかった新しい機能を実現できる。

 CELLレグザのソフトウェア構成を図2 に示す。CELLレグザは、モニタ部とチューナ部から構成される。チューナ部のソフトウェアは、Seine4L(デジタルTV用SoC)で動作するソフトウェア、TVマイコンで動作するソフトウェア、及びCell BE で動作するソフトウェアに分類される。そして、Cell BEで動作するソフトウェアの一つとして“Cell BEアプリ”が動作する。Cell BEアプリは、上位ソフトウェアとストリーム処理部から構成され、上位ソフトウェアがストリーム処理部と連携して動作することにより、放送受信、録画、再生、画面制御などの機能を実現する。

 ここでは、CELLレグザのソフトウェアの中で、特にCell BEアプリのストリーム処理部に焦点を当て、Cell BEでどのようにストリーム処理を行っているか、それを用いてCELLレグザの新機能をどのように実現しているかについて述べる。

2. ESPフレームワークとCareidVideo

 Cell BEアプリのストリーム処理部では、リアルタイム処理を実現するために、ESP(Extensible Stream Processing)フレームワークと呼ばれるソフトウェアを活用している。ESPフレームワークは、Cell BEリファレンスセットで開発された“AVフレームワーク” をベースとして、CELLレグザ向けに新たに開発されたものである。

 ESPフレームワーク上で、Cell BEのPPE及びSPEで動作するモジュール(それぞれPPEモジュール、SPEモジュールと呼ぶ)が結合される。例えば、チューナから放送ストリームを受信するモジュールはPPEモジュールとして、チューナで受信した多重化されたストリームから映像や音声を分離するモジュールあるいは映像ストリームや音声ストリームをデコード(復号)するモジュールはSPEモジュールとして実装される。放送受信や録画などの機能を実現するために必要なPPEモジュールとSPEモジュールをESPフレームワークで結合する。このようにいくつかのPPEモジュールとSPEモジュールを結合した機能モジュールをファンクションと呼ぶ。ファンクションは、必要に応じて生成、削除できる。

 ストリーム処理部の最終段で動作するのがCareidVideo(Cell Accelerated Real Time Digital Video)である。CareidVideoは、フルブラウザ(注6)や高度なGUI(Graphical User Interface)といったグラフィックス出力を表示するために新たに開発されたモジュールであり、複数の映像及び音声のベースバンド信号とグラフィックスデータを入力とし、フレームごとに画面を生成する。

 ESPフレームワーク、PPEモジュール、SPEモジュール、ファンクション、及びCareidVideoの関連を図3に示す。

2.1. ESPフレームワーク

 ESPフレームワークは、XML(Extensible Markup Language)形式で記述された構成ファイルの機能定義記述に基づき、PPEモジュールとSPEモジュールを結合してファンクションを構成する。ファンクションは、デジタル放送の視聴や磁気ディスク装置(HDD)再生といった一つのまとまりのある機能を提供する。ESPフレームワークで構築されたファンクションは、ストリームデータを順次処理していくストリームモデルを採用している。また、ESPフレームワークは階層的な構造を持つ設計を前提としているため、ファンクションの部分的な生成や削除も可能である。

 ESPフレームワークは、Cell BEリファレンスセットのAVフレームワークに対していくつかの機能拡張を行っている。特にCELLレグザ向けに、SPEを効率的に利用するため以下に述べる機能を新たに追加している。

 Cell BEのSPE実行環境は、各SPEモジュールに対してSPEの計算資源を割り当てる。AVフレームワークでは、計算資源はあらかじめ構成ファイルにより設定され、アプリケーション動作中はそのSPEモジュールが割り当てられた資源を確実に使えるように保証されていた。したがって、あるSPEモジュールが十分に少ないSPE資源でも処理可能な場合や、アプリケーションがまったくそのモジュールを使用しない場合でも、起動時に決められたSPE資源が割り当てられるという問題があった。

 ESPフレームワークではSPEモジュールへのSPE資源割当てを動的に変更できるようにした。すなわち、SPEモジュールへの負荷に応じて、アプリケーションソフトウェアが動的にSPE資源割当てを変更できる。これにより、SPEを効率的に利用できるようになり、アプリケーションソフトウェアが機能を切り替えた場合もSPEの計算資源の有効活用ができる。

 この機能拡張では、ESPフレームワークだけでなくSPE実行環境の改良が必要である。CELLレグザの製品化に向けて基本ソフトウェア(OS)を含めたレイヤ(階層)での機能拡張を行っている。

2.2. CareidVideo

 CareidVideoはストリーム処理部の最終段で、 図4に示すように、映像と音声の同期や、複数の映像ストリームの合成、各種の映像処理(単純な拡大縮小処理や高画質化処理)を行う。

 CareidVideoは9本のHD(High Definition)映像ストリーム入力を同時に処理することができ、各入力映像のサイズを変更し、画面上の所定の位置にはり付けて合成する。また、音声ストリームとの同期(リップシンク)をとって、デジタルTVとしての基本的な制御も行っている。これらは、CELLレグザのマルチ画面表示を行うために必要な機能である。

 CareidVideo は映像・音声ストリーム処理だけではなく、グラフィックスプレーンを入力として映像ストリームを合成する機能を持つ。グラフィックスプレーンとはDirectFB(Framebuffer)により描画されるARGBフォーマットのプレーンである。DirectFBは、Linuxのフレームバッファデバイス上に実装されたグラフィックスAPI(Application Programming Interface)であるが、CELLレグザ向けに、グラフィックスプレーンをCareidVideoへ出力できるようにした。それによりCELLレグザのGUIやフルブラウザは、DirectFBのAPIを使用して描画することで、CareidVideoにグラフィックスプレーンを出力することができる。このように、CareidVideoはCELLレグザの画面設計の自由度を高めるのに必要な機能を提供している。

3. ストリーム処理部

 Cell BEアプリの構成を図5に示す。上位ソフトウェアは、ラッピングライブラリ経由で、ストリーム処理部の各ファンクションを生成、削除する。各ファンクションへの指示や状態変化の取得もラッピングライブラリ経由で行う。主要なファンクションについて、その概要を以下に述べる。

3.1. チューナファンクション

 一つの視聴チューナ、二つのPVR(Personal Video Recorder)チューナ、八つの地デジチューナから送られてくる11本のトランスポートストリームを受けて、それぞれのストリームを後段の適切なファンクションへ送信する。Cell BEアプリの起動時に生成され、削除されることはない。

3.2. 視聴ファンクション

 視聴チューナからのトランスポートストリームを映像・音声ストリームに分離し、それらをデコードした後にCareidVideo へ送る。Cell BEアプリの起動時に生成され、再生などが動作するときに削除される。

3.3. PVRファンクション

 PVRチューナからのトランスポートストリームを元に録画用のストリームを生成して上位ソフトウェアへ送る。録画を開始する際に生成され、録画終了時に削除される。2番組を同時に録画する際には二つのファンクションが同時に動作する。

3.4. 地デジ同時録画ファンクション

 地デジチューナからのトランスポートストリームをデスクランブルして、そのまま上位ソフトウェアへ送る。Cell BEアプリの起動時に生成され、削除されることはない。上位ソフトウェアへのデータ転送を停止することで録画を停止する。8ストリームを動作時に録画できるように、八つのファンクションが同時に動作する。

3.5. 再生ファンクション

 PVR機能あるいは地デジ同時録画機能によりHDDに保存されたストリームを受けて、映像・音声ストリームに分離し、それらをデコードした後にCareidVideoへ送る。録画リストから番組を再生する際に生成され、放送視聴へ戻る際に削除される。つまり、視聴ファンクションと再生ファンクションは排他的に動作する。

4. CELLレグザの新機能の実現

 ストリーム処理部の各ファンクションを用いてCELLレグザの新機能を実現している。ここでは、CELLレグザの新機能であるマルチ画面、動画番組表、及び高速選局が動作する際に、ストリーム処理部でどのような制御を行っているかについて述べる。これらの機能が動作する際には、地デジ同時録画ファンクションでデコーダが動作する(以下、マルチデコードと呼ぶ)。

 地デジ同時録画ファンクションの構成を図6に示す(主なPPEモジュールとSPEモジュールだけを記載)。地デジ同時録画ファンクションはCell BEアプリが起動された際に生成されるが、その際には図6 の破線で囲まれた部分以外のPPEモジュールとSPEモジュールが生成される。マルチデコードを起動する際には、図6の破線で囲まれた部分のPPEモジュールとSPEモジュールが生成される。そして、マルチデコードから戻る際には、図6 の破線で囲まれた部分のPPEモジュールとSPEモジュールが削除される。このように、地デジ同時録画ファンクションを動的に変更することにより、マルチデコードを必要としない利用シーンでSPEの計算資源及びメモリを削減することができる。

 また、マルチデコードを起動する際には、七つの地デジ同時録画ファンクションでデコーダを動作させる必要があるため、SPEの計算資源が逼迫(ひっぱく)する。そこで、マルチデコードを起動する際には、視聴ファンクションの一部のSPEモジュールを負荷の軽い処理へ切り替え、SPEの計算資源をマルチデコードで活用できるようにしている。

5. あとがき

 CELLレグザのソフトウェアについて、Cell BEのストリーム処理部に焦点を当てて、その構成と仕組みを述べた。Cell BEのマルチコアを活用するためのESPフレームワークを用いて、ストリーム処理に必要なモジュールを結合し、CELLレグザで必要となる機能を実現した。特に、CELLレグザの新機能であるマルチ画面、動画番組表、及び高速選局を実現するために、各ファンクションを動的に変更して、SPEの計算資源やメモリを有効活用できるようにした。

 CELLレグザでは、様々な機能がソフトウェアで実現されている。そのためソフトウェアを更新していくことにより、新しい機能を追加していくことができ、今後、更なる高機能化が期待できる。


■執筆者(敬省略)

・加藤 宣弘 KATO Nobuhiro
ビジュアルプロダクツ社 コアテクノロジーセンター エンベディッドシステム技術開発部グループ長。組込みシステムのソフトウェアの研究・開発に従事。
Core Technology Center

・雨宮 治郎 AMEMIYA Jiro
セミコンダクター社 システムLSI 事業部 先端SoC開発センター参事。Cellリファレンスセットのソフトウェアの設計・開発に従事。
System LSI Div.

※同記事は株式会社東芝の発行する「東芝レビュー」の転載記事である。
《RBB TODAY》

関連ニュース

特集

page top