あ ら ま し Androidプラットフォームを採用したスマートフォンは,2008年10月に市場に登場し, スマートフォン市場で先行したApple社のiPhoneの出荷台数を追い抜き,ユーザの携帯 電話の利用シーンに大きな変化をもたらした。Androidはオープンソースソフトウェアと して開発・配布され,メーカ各社は自製のハードウェア上に独自技術を加えてインテグ レーションしている。Androidプラットフォームはソフトウェア,ハードウェアともに速 いサイクルで進化していることに加え,ネットワークインフラもWiMAXやLTEが立ち上 がり,ユーザの利用シーンやサービスも拡大し続けている。富士通も防水機能,ワンセグ, FeliCa,赤外線機能を搭載したREGZA Phone T-01Cを2010年12月に発売し,以降,特 徴的な機能を加え利便性を高めたAndroidスマートフォンの開発に取り組んできた。 本稿では,Androidソフトウェアプラットフォームのシステム設計で重要な要素と なってきているメモリ管理と消費電流管理,ユーザの利便性向上のためのマナーモード, Mobile REGZA Engineで実現している高画質化技術,DLNAによるAV機器連携技術の 取組みについて紹介する。
Abstract
Android smartphones first appeared on the market in October 2008 and overtook Apple s iPhone, the early market leader, to obtain the largest market share of the smartphone market, bringing large changes to the way people use cell phones. Android is developed and distributed as open-source software. And device vendors integrate it and original features into their hardware. The Android platform is still rapidly growing along with fast advances in hardware specifications. In addition, high-speed network infrastructure service (WiMAX, LTE) was launched in 2011. Therefore the ways smartphones are used and services for them are drastically expanding. In December 2010, Fujitsu released its REGZA Phone T-01C based on the Android platform with Japanese features (waterproof, receiver for one-segment broadcasting, FeliCa, and infrared communication). Since then, we have been developing Android smartphones with not only new features but also improved user-friendliness. This paper presents our efforts and technologies to ensure stability and power-saving, which have been important system design items, manner mode for user-friendliness, high-quality picture technology with Mobile REGZA Engine, and technology to connect to AV electrical appliances with DLNA.
● 本田 亮 ● 小林 誠 ● 南雲正彦 ● 川勝保博
開発への取組み
FUJITSU. 63, 5 (09, 2012) 592 ユーザがカスタマイズできる機能も必要となって きている。このように,メーカはプラットフォー ムの進化に追従しつつ,独自技術と利便性を加え ながら安定性と品質を作り込んで製品化していく 必要がある。 富士通は,防水機能,ワンセグ,FeliCa,赤外 線機能を搭載したREGZA Phone T-01Cを2010年 12月に発売した。以降,フィーチャーフォン開 発で培ってきたヒューマンセントリック機能のス マートフォン対応,UI改善,デュアルコアCPUや LTE,WiMAX,DLNA対応など,使い勝手向上 と高性能化,AV機器連携機能の開発に取り組んで きた。 本稿では,システム設計視点からメモリ管理と 省電力対策,アプリケーションフレームワークに 実装しているエコ機能とマナーモード,マルチメ ディア設計から高画質化技術,AV機器連携技術へ の取組みについて紹介する。 システムプラットフォーム技術 従来のフィーチャーフォンでは,端末メーカが 安定性,整合性,パフォーマンス,競合といった システム全体の設計を行い,ハードウェアからア プリケーションまでを一括して開発してきた。一 方,スマートフォンの開発においては,メーカが 開発するアプリケーションは一部であり,多くの アプリケーションは外部から導入するかユーザが スマートフォンを購入した後にインストールして 利用される。つまり,スマートフォンの開発では, どのようなアプリケーションがユーザによりイン システムプラットフォーム技術 ま え が き 2007年11月にGoogle社などが中心となって設 立したOpen Handset Alliance(OHA)は,携帯 電話用のオープンなソフトウェアプラットフォー ム「Android」 を 発 表 し た。Androidは ス マ ー ト フォンやタブレットなど携帯情報端末向けに開発 され,Linux(オペレーティングシステム)上で 動作するソフトウェアプラットフォームである。 その1年後の2008年10月にはAndroidのプラット フォームを採用した最初の製品「HTC-Dream」が 台湾HTC社によって開発され,北米の通信事業者 T-Mobileから発売された。携帯電話市場を席巻し 世界規模でスマートフォンシフトを牽引したApple 社の初代iPhoneが市場に登場してから1年4か月後 のことである。当初のAndroid端末は,仕様面では Microsoft社のWindows PhoneやApple社のiPhone には届かなかったが,オープン性,プログラミン グの容易さに加え,Google社のGoogle Play(マー ケットプレース)やインターネットサービスの進 化に追従しながら成長し続け,2011年度のスマー トフォン市場でのシェアは50%を超えるに至った。 このオープンなソフトウェアプラットフォーム の襲来は,従来の携帯電話(以下,フィーチャー フォン)の開発現場にも大きな変化をもたらした。 膨大なソースコード(Linuxを含めて2300万行程 度)がオープンソースとして公開され,チップ セットベンダからは移植用のBSP(Board Support Package)が提供されるが,半完成品で技術資料の 少ないプラットフォームを使いこなしていく技術 力が端末メーカに要求されている。また,Android はこれまで約半年ごとにマイナーバージョンアッ プ,またはメジャーバージョンアップが行われて きたが,ハードウェアへの要求も年々高まってき ている。2008年10月に登場したHTC-Dreamは動 作周波数528 MHzのシングルCPUであったが,そ の後,3年で1 GHzクラスのデュアルコアCPU,メ モリ容量は5倍(RAM 1 Gバイト),ディスプレイ の解像度も6倍(HDクラス)の製品が登場してき ている(図
-1
)。一方でバッテリ容量は携帯性を 損なわない必要性もあり1.5倍程度しか伸びておら ず,省電力化も重要な課題である。性能を犠牲に せず,利用シーンに応じて動作モードを切り替え, ま え が き 性 能 向 上 比 ディスプレイ解像度 CPU動作周波数 メモリ容量(RAM) バッテリ容量 0 1 2 3 4 5 6 7 HTC Dream シングルコア Android 1.6 2008年10月 Nexus One シングルコア Android 2.1 2010年1月 Nexus S シングルコア Android 2.3 2010年12月 Galaxy Nexus デュアルコア Android 4.0 2011年11月 図- 1 Androidリファレンス機種の性能向上比 図-1 Androidリファレンス機種の性能向上比ることが望ましい。 Androidに用意されている実行用メモリを管理 するためのパラメータは,LMKしきい値,Dalvik Heapサイズ,MAX_HIDDEN_APPSの3種類であ る(図
-3
)。 (1) LMKしきい値 LMKは,残りメモリ量が少なくなったときに, バックグラウンドに回っている優先度の低いプロ セスを強制終了させ,メモリの空き容量を一定以 上に確保する機能である。Androidにはアプリケー ションの「終了」という概念がない。複数のアプ リケーションを使い続け,メモリが必要になった 場合にアプリケーションを解放させてメモリの空 き容量を確保するように動作する。LMKしきい値 はこの解放動作を決めるパラメータであり,アプ リケーションが起動するために必要なサイズを考 慮して設定する。 (2) Dalvik Heapサイズ 1アプリケーションに割り当てる最大の実行用メ モリサイズを設定する。Android 4.0(Ice Cream Sandwich)ではGrowthLimitとして定義されてい る。一つのアプリケーションで利用している実行 用メモリサイズが大きくなればなるほど,複数の アプリケーションが同時に立ち上がっていること ができなくなる。また,このサイズを超えた実行 用メモリを利用するアプリケーションは起動する ことができない。 ストールされても,安定して動作させるようにシ ステム設計を行うことが重要である。 システム設計における主要な設計課題として, 安定性,性能,省電力,操作性,互換性,セキュ リティ,異常処理対応などが挙げられるが,ここ ではシステムの安定動作に影響の大きいメモリ管 理と電池持ちを左右する消費電流管理ついて述 べる。 ● メモリ管理 富士通が開発したREGZA Phone T-01C(2010年 12月発売),F-12C(2011年8月発売),ARROWS µ F-07D(2012年1月 発 売 ),ARROWS X LTE F-05D(2011年12月発売),REGZA Phone T-02D (2012年7月発売)のそれぞれのプログラム実行用 メモリサイズ(RAM),端末起動直後の利用可能 サイズ(残りのサイズ)を図-2
に示す。REGZA Phone T-02Dではプログラム実行用メモリサイズ を1 Gバイトに増やしているにも関わらず,起動 時にユーザが利用可能なメモリは増加していない。 これはAndroidシステムが利用するメモリサイズが バージョンアップの度に増加していることに加え, ディスプレイの解像度やシステム性能の向上によ り,アプリケーションが要求する実行時メモリサ イズが増していること,同時に動作するアプリケー ションの数が増えていることが要因である。 Androidにおいては,実行用メモリが少なくなっ た場合でも効率的に実行用メモリを再割当てする 仕組み(LMK:Low Memory Killer)が用意され ている。ユーザは図-2で示したメモリの空き部分 しか使えないわけではなく,実行環境によっては 一部が解放されて再割当てが行われる場合もある。 しかし,実行用メモリは有限なため,不要なメモ リ領域を解放して可能な限り空いている状態にす 0 200 400 600 800 1000 1200 Android 2.1 REGZA Phone T-01C Android 2.3F-12C Android 2.3ARROWS µ ARROWS X LTEAndroid 2.3 F-05D F-07D Android 4.0 REGZA Phone T-02D 実 行 用 メ モ リ サ イ ズ (M バ イ ト ) 使用サイズ 空きサイズ 図-2 起動直後の実行用メモリの状況 図-3 Androidのプロセス実行用メモリの管理パラメータ バランスを取った設定 によりOOMK発動を抑制 Low Memory Killer
(LMK) 残メモリサイズ小で発動 Dalvik Heapサイズ GrowthLimit アプリのRAMサイズ制限 MAX_HIDDEN_APPS am_killer バックグラウンド数で発動 メモリ確保失敗で発動
FUJITSU. 63, 5 (09, 2012) 594 (3) MAX_HIDDEN_APPS バックグラウンドに回るアプリケーションの数 の上限の定義であり,同時に起動可能なアプリケー ションの数をMAX_HIDDEN_APPS数まで抑制す る。この数を超えるとam_killerと呼ばれるシステ ムプロセスが,不要なバックグラウンドのアプリ ケーションを解放する。
Linuxに もOut Of Memory Killer(OOMK) と 呼ばれる,メモリ不足時のプロセス終了の仕組み がカーネルに実装されている。OOMKはメモリ不 足によりメモリ確保要求が失敗した場合に優先度 の低いプロセスを強制終了させる。OOMKが動作 するとAndroidを含むシステムプロセスが終了さ せられることがあるためシステムを不安定にする 場合がある。OOMKを発生させないために,LMK しきい値,Dalvik Heapサイズ,MAX_HIDDEN_ APPSそれぞれの値を適切に決定する必要がある。 しかし,ユーザの利用シーンやアプリケーショ ンごとに必要とするメモリサイズが異なるため設 計初期段階でこれらのパラメータを決定すること は難しい。そこで,以下のステップで調整作業を 行っている。 ・チップセットベンダが設定している値をベース として,AndroidシステムやLinuxの設計情報と 市場のアプリケーションの動向を踏まえてパラ メータの初期設定を定める。 ・これら初期設定を使い,ソフトウェアの基本構成 (開発途上のアプリケーションを含まない構成) で,プロセス負荷試験を行いながら連続稼働時間 を確保できるように調整を行う。 ・開発後半では,全ソフトウェアを含む出荷構成を 使って同様な負荷試験を行い,連続稼働時間を確 保できるように調整を行う。 負荷試験作業やシステム不安定要因の解析には 時間がかかるため,開発の初期段階での設定値の 見極めは重要な設計作業となっている。 ● 消費電流管理 各社が出荷した2012年夏モデルでは,各社とも CPUの動作周波数が1 GHzを超え,複数のコアを 持つ機種が大半を占めている。バッテリ駆動のス マートフォンにおいては,CPUは高速化し消費電 力が増す一方で,利用シーンは更に増え電池持ち も延ばさなければならないという二律背反の課題 がある。 そこで,高速処理速度が必要とされない場合は 可能な限りCPUの動作周波数を下げることにより 電池の消耗を抑えるように設計する必要がある。 仕組みとしては, (1) システム側で自動的に制御する方法 (2) アプリケーション側で能動的に制御する方法 の二つを実現している。(1)については,操作シー ンや利用状況に応じてCPUの動作周波数を変更 し,消費電力を抑える方法である。例えば音楽再 生中で画面がオフ,一定時間画面操作がない場合 はCPUの動作周波数を落とすといった仕組みであ る。しかし,ユーザごとに利用シーンも異なるた め,全てをシステム側で自動制御すると利便性を 損なってしまうことになりかねない。そこで次章 で紹介するユーザが設定できる(2)の省電力機能 が必要になってくる。 アプリケーションフレームワーク技術 Androidのフレームワークは非常に優れている が,フィーチャーフォンに慣れ親しんだユーザに とっては利便性が悪い部分がある。電池持ちは特 に重要な課題である。前章で述べたとおりシステ ム側で全ての利用シーンに対応した制御ができる わけではなく,上位側での対応も必要である。こ こでは,アプリケーションフレームワークに富士 通が2012年夏モデルで実装している省電力技術, マナーモード機能について紹介する。 ● 省電力技術(エコ機能) 富士通では2012年夏モデルに,「NX!エコ」と いうバッテリの消費量を改善するエコモードを搭 載している。一般的なエコモードは,特定のバッ テリ残量になると画面の輝度調整やWi-Fi,GPS, Bluetoothなどの周辺デバイスをオフにすることで バッテリの消費を抑えるものである。富士通のNX! エコでは,三つのエコモードと四つのエコレベル を用意し,ユーザによるエコ動作のカスタマイズ を可能にしている(図
-4
)。 第一の特徴として,ユーザが設定した時間帯に よってエコレベルの変更ができるようにしたタイ マーエコモードを用意した。タイマーエコモード では二つの時間帯に対してそれぞれエコレベルを 設定できる。ユーザは昼/夜でのライフスタイルに アプリケーションフレームワーク技術図-4 2012年夏モデルに搭載したNX!エコ 合わせて省電力機能を自動で切り替えることがで きるようになった。 第二の特徴は,エコレベルを詳細にカスタマイ ズ可能なオリジナルエコモードを用意し,バック グラウンドに回ったアプリケーションの通信の抑 止を設定できるようにしたことである。Android 4.0にはアプリケーションのバックグラウンド通信 の抑止機能が追加されているが,全てのアプリケー ションが対象であり個別設定ができない。富士通 ではこの通信抑止機能をエコモードと連動できる ようにし,更にアプリケーション個別に抑止でき るようにした。また,設定の際には各アプリケー ションのデータ通信量を表示し,ユーザが確認し ながら設定できるようにしている。このバックグ ラウンド通信の抑止によるバッテリ消費量は利用 シーンにもよるが最大で半分以下まで削減を期待 できる。表
-1
に二つのSNS系のアプリケーション, ニュース情報取得用のアプリケーションを追加し, 実際の利用シーンに即して利用時間帯別の平均消 費電流を測定した結果を示す。このユースケース では深夜時間(3時∼ 6時)での効果は小さく,よ く使っている時間帯(20時∼ 24時)での効果が高 い。ユーザは利用シーンに応じて適切に設定する ことで効果を出すことができるようになる。 また,2012年夏モデルの一部から,「アプリ電池 診断」という機能を搭載している。画面がオフに なっても動作し,バッテリ消費に影響するアプリ ケーションをユーザが確認することができる。監 視機能はAndroidフレームワークに実装しているた め,システムへの負担をかけずに監視ができるよ うになっている。 ● 利便性向上技術(マナーモード) Androidは標準でマナーモードを持っており,鳴 動のON/OFF,バイブレータのON/OFFを設定す ることができるが,アラームの鳴動やイヤホン, Bluetoothヘッドセットを使っての音楽や動画再生 時の鳴動の個別設定ができない。フィーチャーフォ ンでは当たり前の機能であったため,Android標準 のマナーモードはスマートフォンの利便性を低下 させている。 富士通の2012年夏モデルのスマートフォンでは 以下の四つのマナーモードを備え利便性を上げて いる。 ・通常マナーモード図
-4 2012
年夏モデルに搭載した
NX!
エコ
NX!エコの設定画面 タイマーエコモード 二つの時間帯でのエコ レベルを設定できる 今すぐエコモード エコ設定メニューや通知 パネルからワンタッチで 起動 電池残量エコモード 従来の電池残量でエコ モードを起動 四つのエコレベル ・お手軽エコモード ・通常エコモード ・しっかりエコモード ・オリジナルエコモード 表-1 バックグラウンド通信抑止によるエコ効果 (利用時間帯別の平均消費電流) 利用時間帯 20時∼ 24時 0時∼ 3時 3時∼ 6時 バックグラウンド通信 抑止なし 34 mA 25 mA 20 mA バックグラウンド通信 抑止あり 16 mA 16 mA 19 mA 効果 53% 36% 5% 測定条件: SNS系のアプリケーションを二つ追加 ニュース取得用のアプリケーションを一つ追加FUJITSU. 63, 5 (09, 2012) 596 ・サイレントマナーモード ・アラームONマナーモード ・オリジナルマナーモード 例えば,アラームONマナーモードはアラーム だけ鳴動するモードであり,目覚ましを使うユー ザにとっては利便性が高いモードである。オリジ ナルマナーモードでは,バイブレータ,着信音量, メディア再生音量,アラーム音量,通知音量が個 別に設定できるため,ユーザによるカスタマイズ 性が高い。これらの機能を実現するために,富士 通では新たな音の出力パス制御やオリジナルマ ナーモード専用の音量制御機能をAndroidフレーム ワークに追加している。 マルチメディア技術 大画面の高性能なスマートフォンやタブレット の登場と,WiMAXやLTEなどの高速なネットワー クインフラの進化は,ユーザがモバイル機器で映 像コンテンツを利用するストリーミング市場を拡 大させている。また家庭内にWi-Fi環境も浸透し, DLNA技術やHDMIによりモバイル機器と接続で きるAV機器も増えてきている。そこではスマート フォン内の映像コンテンツを外部機器できれいに 見せる技術も必要となってきている。また2012年 4月より,スマートフォンやタブレット向けにマル チメディア放送も開始された。 2010年12月に発売したREGZA Phone T-01Cで は,ワンセグ放送の受信機能を搭載し,大画面で の映像美を実現するために東芝が開発したMobile REGZA Engine 3.0をAndroidフ レ ー ム ワ ー ク に 実 装 し た。 こ こ で は,2012年 夏 モ デ ルREGZA Phone T-02Dで搭載したMobile REGZA Engine 6.0,AV機器連携を実現するためのDLNA対応技術 について紹介する。
● 高画質化技術(
Mobile REGZA Engine
の搭載) Mobile REGZA Engineの 進 化 を 表-2
に 示 す。 REGZA Phone T-02Dに 搭 載 し たMobile REGZA Engine 6.0では,アクティブノイズリダクション の搭載により映像に含まれるノイズ量を映像解析 により抽出し,除去強度を適宜切り替えることに より,最適なノイズ除去を実施した。また,シャー プネスイコライザの搭載により,映像に含まれる 輪郭部やテクスチャ部を映像解析により判定し, マルチメディア技術 領域ごとの最適なパラメータでの輪郭補正を実施 した。これらは従来のワンセグ放送などの映像系 アプリケーションだけでなく,静止画のアプリケー ションに対しても適用し,高画質化技術の活用範 囲を広げることができた。 ●AV
機器連携技術(DLNA
機能の搭載)2011年10月 に 発 売 し たARROWS Tab LTE F-01Dでは,DLNAとDTCP-IPを搭載し,Wi-Fi経 由でTVやレコーダで録画した放送番組をタブレッ トで視聴できるようにした。そのために,F-01D で採用したAndroid 3.0のフレームワークに,放 送 デ ー タ をAV機 器 間 で 転 送 す る た め に 必 要 な MPEG-2コーデックと,放送データを安全に転送 するための著作権保護技術であるDTCP-IPを独自 に実装した。2011年冬春モデルのREGZA Phone T-01Dでは,更に現在放送中のコンテンツをリア ルタイムにスマートフォンに転送し視聴する機能 と,720pの録画コンテンツをスマートフォンに持 ち出せる機能を実装した。リアルタイム視聴とチャ ンネル切替えは,東芝のAV機器(ブルーレイディ スクレコーダ「レグザブルーレイ」)との連携機 能として独自に開発した。更に2012年夏モデルの REGZA Phone T-02Dでは,視聴時の映像品質の 向上に加え,ドラマの連続視聴,AV機器とスマー トフォン間でのリレー再生など操作性向上にも取 り組んだ。 む す び 本稿では,Androidプラットフォームを採用した スマートフォン開発における取組みとして,メモ リ管理,省電力対策,利便性を高めたマナーモード, む す び
表-2 Mobile REGZA Engineの進化
モデル 2010冬春 2011夏 2011冬春 2012夏 バージョン 3.0 4.0 5.0 6.0 超解像 ○ ○ ○ ○ フレーム補間 ○ ○ ○ ○ ノイズリダクション 2D 2D 3D 3D アクティブノイズ リダクション − − − ○ カラーマネジメント 2D 2D 3D 3D モバイル質感 リアライザ − ○ ○ ○ シャープネス イコライザ − − − ○
の実行環境は一昔前のPCと既に変わらなくなって きている。更に通信機能や多くのセンサ類を搭載 し24時間持ち歩いて利用されるため,従来のフィー チャーフォンとは異なった評価手法や品質指標が 必要とされる。 富士通は,これまでNTTドコモ様向けの「らく らくホン」やヒューマンセントリックエンジンの 技術開発の中でユーザの操作性や利便性を追求し てきた。これらの技術を更に発展させてスマート フォンに浸透させていくとともに,安定性や可用 性を高めるためのスマートフォンプラットフォー ム開発技術と評価技術に取り組んでいく。 高画質化技術,AV機器連携技術について紹介した。 Apple社のiPhoneやAndroidプラットフォームの登 場により,飽和しつつあったフィーチャーフォン の市場はスマートフォンによって塗り替えられつ つある。インターネットのサービスは,今後スマー トフォンやタブレットを中心として展開され,利 用シーンは拡大し生活もますます豊かになってい く。一方でスマートフォンに慣れず機能を使いこ なせないユーザも出てくると思われる。高い安心 安全設計と持続性(長持ち)に加え,フィーチャー フォンと変わらない利便性を追求していく必要が ある。また,スマートフォンのアプリケーション 本田 亮(ほんだ まこと) モバイルフォン事業本部スマートフォ ンコア開発統括部 所属 現在,スマートフォンのソフトウェア 開発,およびオープン化推進に従事。 小林 誠(こばやし まこと) モバイルフォン事業本部スマートフォ ンコア開発統括部 所属 現在,スマートフォンのソフトウェア システム設計開発に従事。 南雲正彦(なぐも まさひこ) モバイルフォン事業本部スマートフォ ンコア開発統括部 所属 現在,スマートフォンのソフトウェア フレームワークの設計開発に従事。 著 者 紹 介 川勝保博(かわかつ やすひろ) モバイルフォン事業本部スマートフォ ンコア開発統括部 所属 現在,スマートフォンのマルチメディ アプラットフォームの設計開発に従事。