R-Mobile A1 R-Mobile A1
R-Mobile A1 R-Mobile A1
R-Mobile A1 R-Mobile A1
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