08.01.2013 Views

R-Mobile A1 R-Mobile A1

R-Mobile A1 R-Mobile A1

R-Mobile A1 R-Mobile A1

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

プラットフォーム編<br />

Full HD動画再生<br />

【背景】<br />

ルネサスエレクトロニクス社製 R-<strong>Mobile</strong> <strong>A1</strong> が搭載された<br />

ボードに Android4.0 を移植<br />

R-<strong>Mobile</strong> <strong>A1</strong><br />

ルネサスエレクトロニクス社製<br />

http://japan.renesas.com/products/soc/<br />

assp/mobile/r_mobile/a1/index.jsp<br />

Armadillo-800 EVA<br />

アットマークテクノ社製<br />

http://armadillo.atmark-techno.com/armadillo-800-EVA<br />

p25


プラットフォーム編<br />

Full HD動画再生<br />

【症状】<br />

単純移植では動画再生が遅い<br />

(Full HD動画だと3秒~5秒に1コマ程度の再生となる)<br />

p26


プラットフォーム編<br />

Full HD動画再生<br />

【原因】<br />

AOSP(オープンソース)を移植しただけでは、ソフトウェアに<br />

よるデコード/レンダリング処理が実行されてしまう<br />

解像度の低い動画では問題とならない場合もあるが、Full<br />

HD(1980x1080)の動画ではフレームレートが極端に落ち<br />

てしまう<br />

p27


プラットフォーム編<br />

Full HD動画再生<br />

【原因】<br />

ソフトウェアによるデコード/レンダリング処理の構成<br />

Android 4.0<br />

Linux<br />

OpenMAX<br />

Software<br />

Codec<br />

MediaPlayer<br />

StageFright SurfaceFlinger<br />

Software<br />

Renderer<br />

通常アプリケーション<br />

SGX<br />

(user module/<br />

OpenGL ES)<br />

SGX<br />

(GPL module)<br />

p28


プラットフォーム編<br />

Full HD動画再生<br />

【原因】<br />

h.264などの動画デコード処理、YUVなど(RGB以外の表<br />

色系)からRGBへ変換するためのレンダリング処理の全てを<br />

CPUで行っている<br />

動画の解像度増加に比例して処理量が急激に増加<br />

ex) ピクセルフォーマットがRGB24の場合のデータサイズ<br />

解像度 RGB24データサイズ<br />

QVGA(320x240) 0.2MB<br />

WVGA(800x480) 1.0MB<br />

Full HD(1920x1080) 6.0MB<br />

p29


プラットフォーム編<br />

Full HD動画再生<br />

【対策】<br />

SoCの特性を生かしたオフロード処理実装を行う<br />

対象SoCは R-<strong>Mobile</strong> <strong>A1</strong><br />

R-<strong>Mobile</strong> <strong>A1</strong>のコア構成<br />

ARM<br />

Cortex-A9<br />

R-<strong>Mobile</strong> <strong>A1</strong><br />

SH4A SGX540<br />

VCP1 VIO6 etc...<br />

p30


プラットフォーム編<br />

Full HD動画再生<br />

【対策】<br />

コーデック処理<br />

SH4A/VCP1を使用したオフロード処理を実装<br />

レンダリング処理<br />

SH4A/VIO6を使用したオフロード処理を実装<br />

p31


プラットフォーム編<br />

Full HD動画再生<br />

【対策】<br />

SH4A/VCP1を使用したオフロード処理を実装<br />

Android 4.0<br />

Linux<br />

OpenMAX<br />

OpenMAX Software<br />

サービス<br />

Codec<br />

SH4A通信<br />

(SH4A/VCP1による<br />

デコード処理)<br />

MediaPlayer<br />

StageFright SurfaceFlinger<br />

Software<br />

Renderer<br />

通常アプリケーション<br />

SGX<br />

(user module/<br />

OpenGL ES)<br />

SGX<br />

(GPL module)<br />

p32


プラットフォーム編<br />

Full HD動画再生<br />

【対策】<br />

SH4A/VIO6を使用したオフロード処理を実装<br />

Android 4.0<br />

Linux<br />

OpenMAX<br />

OpenMAX Software<br />

サービス Codec<br />

SH4A通信<br />

(SH4A/VCP1による<br />

デコード処理)<br />

MediaPlayer<br />

StageFright SurfaceFlinger<br />

Software<br />

改造Renderer<br />

Renderer<br />

Video4Linux2<br />

(SH4A/VIO6による<br />

レンダリング処理)<br />

通常アプリケーション<br />

SGX<br />

(user module/<br />

OpenGL ES)<br />

SGX<br />

(GPL module)<br />

p33


プラットフォーム編<br />

Full HD動画再生<br />

【対策】<br />

結果、Full HD動画再生時のパフォーマンスが大幅に改善<br />

(目視確認のため実質のFPS値は未測定)<br />

Big Buck Bunny images courtesy of ©<br />

copyright 2008, Blender Foundation /<br />

www.bigbuckbunny.org<br />

p34

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!