2011/10/14

HuluをLinuxで堪能する方法

さてさて待望のUbuntu 11.10 oneiric ocelotが無事リリースされたのを記念して皆様に役立つ小技を1つ。先日、日本でも「Hulu(フールー)」というアメリカの動画配信サービスがスタートしました。このHuluの動作確認環境をよく見るとWindows、Macと並んで「Linux」の文字が。どうやらクライアントにAdobe Flashを使っている関係で図らずも我らがLinuxでもサービスが受けられるみたいです。

実はスタート初日に一度試してみたのですが、その際は動画の再生は可能でも日本語字幕が文字化けで全然使い物にならなかったりしていました。あれからだいぶ経ったのでそろそろ修正されたかなと思って再度試してみたのですが残念ながら前回と同じ結果でした。何とかならないかと思って軽く調べてみたら公式サイトに以下のような注意書きが……。
私は、Linuxを使用しています。なぜ文字化けするのですか?

Linuxをご利用されております場合、弊社のサイトをご利用いただくにあたり、下記からお一つをインストールしていただく必要がございます。

ヒラギノ角ゴシック ProN(Mac)
メイリョウ(Windows 7)
MS Pゴシック
Osaka-Sans Serif
Sans Serif
:-( 今までこのような解決法が存在したのかという衝撃を受けたのですが、まずは言われたとおりにMS Pゴシックを「一時的」にインストールしてみました。Linuxを常用している方ならご存知だと思いますが商用フォントの取り扱いは非常にシビアでライセンス的に言えば自分が所有しているWindowsからのコピーもグレイどころかブラックな領域なんですよね。

今回は実験の為に一時的にインストールしましたけど。心情的にはこのようなやり方は非常に心苦しかったのですが一応やってみた訳です。その結果……「失敗」。やり方が悪かったのかもしれませんがインストール前と何も変わりませんでした。

この方法では、どちらにしろ万人に受け入れられる方法では無いので他のやり方を模索してみました。すると日本のUbuntuフォーラムにそのものズバリの質問が。要約すると以下のパッケージをインストールすれば大丈夫だとの事。
cmap-adobe-cns1 - CMaps for Adobe-CNS1
cmap-adobe-gb1 - CMaps for Adobe-GB1
cmap-adobe-japan1 - CMaps for Adobe-Japan1
cmap-adobe-japan2 - CMaps for Adobe-Japan2
ttf-kochi-mincho - Kochi Subst Mincho Japanese TrueType font without naga10
結果からいうとビンゴ。ようやく日本語字幕が見られるようになりました。けど、何かフォントの品質が……。せっかくならもっと綺麗なフォントで番組を楽しみたい! ということで少々荒技ながら以下の方法に切り替え。まず上で書かれているパッケージですが全て入れても良いですが、私が試して見たところデフォルトで「cmap-adobe-japan1」はインストールされており他のcmapパッケージは敢えて入れなくとも大丈夫でした。入れておいて損は無いでしょうけど。

肝心なのは最後の「ttf-kochi-mincho」。このパッケージを入れるとHuluの日本語字幕が文字化けしなくなります。ちなみに「ttf-kochi-mincho-naga10」パッケージでも代用出来ます。ついでにこれらのフォントパッケージをインストールすると釣られて「ttf-sazanami-mincho」もインストールされてしまいますが、これは後からアンインストールしても問題ありませんでした。まぁ気にするほどでも無いですけど。

ここからが本番。apt-get installで「ttf-kochi-mincho」をインストールした後に、このフォントが収容されているディレクトリに移動します。ディレクトリパスは「/usr/share/fonts/truetype/kochi/」です。すると「kochi-mincho.ttf」と「kochi-mincho-subst.ttf」の2つのttfファイルが存在しています。

そのうち「kochi-mincho.ttf」は「kochi-mincho-subst.ttf」へのシンボリックリンクですので無視します。で、この「kochi-mincho-subst.ttf」を自分が好きなフォントと入れ替えちゃえばHuluの日本語字幕を好きなフォントで見る事が出来ちゃいます。具体的な例としては以下のような感じです。

$ sudo cp /usr/share/fonts/truetype/takao/TakaoPGothic.ttf /usr/share/fonts/truetype/kochi/kochi-mincho-subst.ttf
この例ではTakao Pゴシックに変更しています。これはUbunntuにインストールされているフォントの例ですが、別に用意したフォントでも大丈夫です。私はM+フォントとIPAフォントの合成フォントである「MigMixフォント」を使っています。最後にそれぞれのスクリーンショットを貼り付けておきますので参考にしてください:-)

ちなみに何でこんな面倒くさい事になっているかというと、どうやらAdobe FlashのLinux版のデフォルトフォント? が東風フォントで固定されているからみたいなんですが、詳細はわかりません。IPAフォントがフリーになる前のLinuxでは東風フォントがデフォルトのフォントの座にいたのですがその後、重大なライセンス違反が判明して一時期混乱状態になったと記憶しています。運悪く? その後にAdobe側がLinuxの日本語フォントに興味が無かったのか、何の対策も講じられないまま、今に至っているのかもしれませんね。

一番良いのはAdobe Flashの日本語フォント指定をメンテナンスされていない東風フォントから現在主流のIPAフォント(Takaoフォント)に切り替えてくれる事な気がしますが、あくまで素人の意見なので何が問題があるのかもしれません。次善策としてはディストリビューション側で東風フォントをIPAフォント等のダミーパッケージにするとか。あるいは名前だけ東風フォントで中見はIPAフォントみたいな力技で解決とか。東風フォントVer.2みたいな:-)

最後になりましたが、あくまで素人が適当に考えた解決法ですので、このやり方で何らかの不具合が発生しても当方は責任は持てません。ご自分の判断でお試し下さい:-) Ubuntu 11.10で思う存分、海外ドラマを堪能してみるのも一興かもしれませんね。では。

#Picasa
Huluデフォルト。文字化け中。

Hulu+東風フォント。文字化け修正。

Hulu+TakaoPゴシック。だいぶ綺麗になった

Hulu+MigMixフォント。見やすい:-)

#外部リンク
Hulu - ハリウッドの人気映画やテレビ番組がお手軽に見放題
http://www.hulu.jp/

Hulu Linux(リナックス)をご利用の方
http://www.hulu.jp/support/article/20454542#ans1

Ubuntu日本語フォーラム / Hulu利用時の文字化けについて
https://forums.ubuntulinux.jp/viewtopic.php?id=12017

M+とIPAの合成フォント
http://mix-mplus-ipa.sourceforge.jp/

#追記 2012/04/17
値下げの影響か、最近この記事の閲覧が増えているようです。大変ありがたいのですが、どうやら今現在は上記の方法を取らなくとも綺麗な字幕で見られるみたい? Wine関係で、フォントがごちゃまぜ状態なのでデフォルトのUbuntuだと、どのようになるのか確認出来ていませんけど……。もうすぐ、12.04がリリースされるので、また後日検証したいと思っています。

#追記 2012/04/28
Ubuntu 12.04で試して見ましたが、デフォルトだと、まだ文字化けするみたいですね:-( 残念。

2011/10/11

Desura Linux Beta を試す

もう少しでUbuntu 11.10がリリースされますが個人的に楽しみにしていた、もう一つのプロジェクトもベータ版ながらリリースされたようです。以前も取り上げた「Desura」というSteamライクなゲーム配信プラットホームです。最初は怖かったのでVirtualBox上のUbuntu 11.10にインストールしました。

仮想上ながら私が予想していたよりもスムーズに動いており実際のゲーム起動以外は特に問題無く動作していたので思い切ってメイン環境(Ubuntu 11.04)にもインストールしてみました。仮想環境だと流石に実ゲーム特にOpenGLを使用したゲームは問題が多すぎますからね。というか実際動かしてみたら完全にフリーズしてしまいましたし。

インストールしたついでに、いくつかスクリーンショットを撮ってみました。ベータ版との事ですが思っていたよりも安定している印象です。1GB近くあるゲームをダウンロードしていた際に途中でエラーが出てしまったり組み込まれたウェブブラウザーでFlashの動画を再生していると高確率でプラグインが見つからなくなったりといった不具合もありますが取り敢えずゲームをインストールして実際にプレイは出来ています。ダウンロードが面倒なので3つくらいしかゲームは試していませんけど:-)

このLinux版Desura Clientの面白いのは、ウェブブラウザーの機能も取り込まれている事なんですが、実はWebkit……どころかChromeベースらしいんですよね。実際はChromiumベースですけど。「chromiumembedded」という名前からしてChromiumを組み込んでそうなフレームワーク? を使用しているらしいです。

それと以前も書いたようにGUIツールキットとして「wxWidgets」という、ちょっと珍しい組み合わせみたいです。お手本であるSteamも最近になってClientをWebkitベースに変更していますしUbunntuのソフトウェアセンターもWebkit(といっても、フル活用ではなく、バナーの表示等のみらしい?)を使っていますがChromium自体を使っているのは大きな特徴と言えるかもしれません。

実際使ってみましたが思った以上に安定していますし動作もスムーズです。正直Windows XP上のSteam Clientよりも動作、安定性ともに上な気がしました:-) まぁSteamは現状のDesura Clientよりも多機能ですけど。ちなみにこのchromiumembeddedを使用しているプロジェクトとしてWindows版のEvernoteがあるそうです。使ったことはありませんけど。chromiumembeddedは要チェックなプロジェクトかもしれませんね。

#Picasa
立ち上げると、この画面が出て来ます。

購入したゲーム一覧。ちなみにThe Humble Indie Bundleで購入したモノです。
H.I.Bで買うとSteamにもDesuraにも登録出来るからお得です:-)

World of Gooも対象になっていました。ラッキー。

ゲームのチェンジログも見る事が出来ます。こまめに更新してくれるデベロッパーは応援したくなります:-)

ダウンロード中

完了すると、このような同意書が掲示されます。

唯一の「AAAゲーム」である「Oil Rush」:-)
流麗なベンチマークテストで有名なUnigine Corp製ですね。今だと1500円くらいで買えます。

現在、注目度NO.1の「DOOM3」。残念ながらDesuraで直接購入する事は出来ません:-(

ゲームによっては、こんな感じで設定出来ます。

以前取り上げた「Nexuiz」の後継プロジェクト「Xonotic」もDesuraからボタン一発でインストール可能です:-)

こんな感じのダイアログが。Unityにも対応してくれてるみたいです。というか、現在のメイン開発環境がUbuntuらしいです:-)

こんな感じで、自動的に最新バージョンにしてくれるらしいです。素晴らしい:-)

#YouTube
Desura Linux Beta - Ubuntu 11.10, Oneiric Ocelot beta2 - YouTube
http://youtu.be/zH_WrdDwwSM



Desura Linux - Beta Update news | Desura
http://www.desura.com/news/desura-linux-beta-update

chromiumembedded - A simple framework for embedding chromium browser windows in other applications. - Google Project Hosting
http://code.google.com/p/chromiumembedded/

Chromium Embedded Framework Forum • View topic - Evernote 4 for Windows uses CEF
http://magpcss.org/ceforum/viewtopic.php?f=11&t=165

2011/10/02

フォントな話

もうそろそろUbuntuの新しいバージョンがリリースされますね。実はこっそりとVirtualBoxで試してるんですが正直かなり良いです:-) といっても仮想なのでUnityではなくUnity2Dしか試していませんけど。全体的には現行のブラッシュアップといった感じですがログインマネージャがGDMからLightDMに変更されてたりソフトウェアセンターの使い勝手が上がっていたりと改善が見られますし。特にLightDMはいいですね。シンプルでありながら美しさを感じます。

まぁいいや、そのUbuntuですが最近はお洒落に目覚めたのかデザイン面でのテコ入れが多くなってきているようです。その改善のうちの1つに「フォント」があります。Canonical自らがUbuntu用のデフォルトフォントを制作していますし。その名も「Ubuntu Font Family」。何というか、まんまですね:-) 「名は体を表す」といいますが自らを表現する為に新たにフォントを作るというのはなかなか気合が入っていて宜しいと思います。製品としてのオリジナリティを高める事になりますしね。

そのフォントですがLinuxで使われているフォントに興味が湧いたので自分なりに調べてみました。といってもホントにごく一部分しか理解出来ていません。正直フォントは奥が深すぎて一朝一夕には調べられる代物じゃ無いですし。なので今回は主にWindows環境の代替として使われているフォントについて調べてみました。

そのWindowsですが「コアフォント」と呼ばれるインターネット用の標準フォントのパックがあるようです。これが実質的なインターネット上でのデフォルトフォントになるのかな? Wikipediaによると2007年にマイクロソフトとアップルの間でフォントに関するライセンスの更新によってコアフォントがアップル製品の利用者にも使えるようになると発表されたみたいですね。これでWindowsとMacintoshで英文フォントに対する互換性問題は一応解決済みなようです。普通ならそれでめでたしめでたしな訳ですけどLinuxや他のOSを使っている極少数のユーザーには互換性の面で取り残されてしまっています。

この問題を最初に解決しようとしたのがRed Hat。いくつかあるWindowsのコアフォントのうち「Arial」「Courier New」「Times New Roman」(順に、現在もっとも普及しているサンセリフ/等幅/セリフフォント)の3フォントに置き換えて使用可能な「Liberation」3書体をリリースしたのが同じく2007年。リリースの理由は後述のリンク先を読んでもらえば判りますが主な理由は以下の部分だと思います。以下抜粋。
Liberationフォントは、文書をフリーなオペレーティングシステムとWindowsとで共有する際に、フォントの違いが原因でユーザがやむなく文書を整形し直すことがないように、Windowsコアフォントとフォントメトリックス的に同等になる(つまり各文字の占める横幅の長さが、対応するWindowsのフォントと等しい)ように設計されている。
Red Hatはかなり以前より、オペレーティングシステム間での相互運用性を実現するための高品質なフォントに関心を寄せていた。Red Hat次席法務顧問兼秘書役のMark Webbink氏によると、1990年代後期のRed HatディストリビューションにはArial/Courier New/Times Roman書体が含まれていたが、Microsoft社の著作権の侵害にあたるとしてサードパーティに訴えられたのだという。そしてその後、その争議については示談が成立し、2004年にRed HatはWindowsコアフォントとフォントメトリックス的に同等なAgfa Monotype社のプロプライエタリなフォントであるAlbany/Cumberland/Thorndale(各フォント名の頭文字は、それぞれが置き換える各Windowsコアフォントの頭文字に対応している)という3種類のフォントのライセンスの取得を発表した。これらのフォントはRed Hatの商用パッケージのExtras CDに含められて配布されたが、Webbink氏によると「フリーでもオープンでもなく、Red Hatにとって歯がゆい思いがするものだった」という。
ここに書かれている通り、このLiberation3書体の重要な点はWindowsの3書体のフォントメトリックス的に同等になる点であり、これによって高レベルでの文書の互換性が可能になったという事ですね。ここでふと気付いたのですが以前にも似たような話を聞いた事があったなぁと……。

実は数カ月前にGoogleがChrome OS用にオリジナルフォントを開発したという記事をこのブログで書いた事がありました。そのフォントも3書体同時リリースでした。そのフォントは「Arimo」「Cousine」「Tinos」の3つ。名前からも解る通りそれぞれ「Arial」「Courier New」「Times New Roman」の代替フォントのようです。
Arimo was designed by Steve Matteson as an innovative, refreshing sans serif design that is metrically compatible with Arial™. Arimo offers improved on-screen readability characteristics and the pan-European WGL character set and solves the needs of developers looking for width-compatible fonts to address document portability across platforms.
と説明にも書いてあるので基本的にはRed Hatの「Liberation」3書体と考え方は同じようです。違う点はライセンスですかね。「Liberation」3書体は例外規定付きの「LGPL」。GoogleのChromeフォントは「SIL Open Font License (OFL) 」だそうです。ライセンス以外にも自前で用意する必要性があったのかもしれませんが。まぁお金持ちなんでしょう:-) ちなみに前述の記事の中で以下のように書かれてもいるので実際にかなりお金が掛かるのでしょうね。商用レベルのフォント制作というのは。以下抜粋。
Webbink氏はLiberationフォントの制作に必要となった経費について正確な数字は明らかにしなかったが、「膨大な費用がかかった……が、正直に言ってRed Hatは得られた結果にかなり満足している。Liberationフォントは非常に魅力的なフォント集だと思う」と述べた。
また同じ記事の中で日本語フォントの事にも触れていたようです。
また別の現時点での問題点として、Liberationフォントには西ヨーロッパ、中央ヨーロッパ、東ヨーロッパの各言語の文字(ラテン文字、ギリシャ文字、キリル文字)しか含まれていないということがある。Webbink氏によるとRed Hatは、フリーのフォントのサポートが今なお貧弱であるインド諸言語、日本語、中国語の文字にも後々は対応したいと考えているとのことだ。
この記事が書かれたのが2007年で残念ながら2011年の現在でもRed Hatから日本語フォントのリリースはされていない? ので、その後の方針が変化してしまったのかもしれません。またGoogleのChromeフォントの方も先日Chromium OSで調べてみた限りでは日本語フォントとして「IPAフォント」が使われていたので、今のところGoogleが新たに日本語フォントを用意しているという確証は掴めませんでした。

もし出来るのであれば、やはりWindowsで標準的な日本語フォントである(あった)MSゴシック/明朝フォント、あるいはそのベースとなっているリョービフォントを用意してくれると日本語での文書の互換性はかなり高まったのにと少し残念に思いますね。IPAフォントも実用上は問題ないレベルなんですけどね:-) Googleとしてはオンライン上で文書を編集できるGoogle Docs上でWebフォントとして提供出来れば特に問題無いのかもしれませんけど。

ちなみにIPAフォントですが以前何処かの記事で開発費用にも触れていて、確か数億円だと書いてあった気がするのですが今調べてみても肝心の記事が出てきませんでした。残念。あと現在でもメンテナンス費用? として年間3千万とかなんとかって話も何処かで聞いた気がするのですがうろ覚えなので本当かどうかわかりません:-)

まぁ大げさではなく日本語フォントの開発、特に商用フォントレベルで同系統の5書体となると開発費が相当高くなるのは仕方ないでしょうね。昔と比べて現在だともう少し安く調達出来るのかもしれませんが。あくまで素人の意見なので本当のところどうなのかはわかりませんけど。

いきなり最初の話「Ubuntu Font Family」に戻りますが、このフォントも残念ながら日本語フォントは今のところ無いようです。しかし一応日本語を含む「CJK」対応も考えてはいるようです。詳しく見ていませんが「WenQuanYi」という中国系のフォントプロジェクトとの連携を考えているらしい?

うーん正直これは日本人的にはあんまり嬉しくないかも。まだ具体的な話は見えてきませんけどね。正直CJK複合フォントは品質的にベースとなるフォント(この場合中国フォント)に引き摺られてしまう場合が多いので日本語フォントの漢字部分の品質がどうなるのか一抹の不安が……。

日本語、特に書体も1つだけならM+フォントベースの方が良いような気もしますけど、どうなんでしょうね。最近はIPAフォントだけでなくモトヤフォント2書体やAndroidのDroidフォントという商用フォントもオープンなライセンスで公開されていますしね。

気軽な気持ちでフォントの事を書き始めたのですが正直自分のような素人には到底まとめきれる代物では無かったようです。知識も付け焼刃で肝心な事は全然理解していませんし。正直全部消そうかとも思ったのですがここまで書いちゃったので晒し者として公開する事にします。とにかくフォントは難しすぎるので出来れば専門家の皆さんの協力が無いと良い解決策は見つからないのではないかと今更ながら危惧しております。上手い解決法が見つかるといいのですけどね:-)

#外部リンク
コアフォント - Wikipedia
コアフォント - Wikipedia

Red Hat、Windowsのコアフォントと置き換え可能なフリーのフォントをリリース - SourceForge.JP Magazine : オープンソースの話題満載
http://sourceforge.jp/magazine/07/05/22/0040255

Ubuntu Font Family
http://font.ubuntu.com/

Google Web Fonts Arimo
http://code.google.com/webfonts/specimen/Arimo

Ubuntu Font CJK : Blueprints : Ubuntu Font Family
https://blueprints.launchpad.net/ubuntu-font-family/+spec/design-o-ubuntu-font-cjk

M+ FONTS
http://mplus-fonts.sourceforge.jp/

WenQuanYi - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/WenQuanYi

#内部リンク
BLOG.MINAWA.NET: Chrome OS のコアフォント
http://blog.minawa.net/2011/01/chrome-os_8708.html

2011/09/25

Raspberry Pi 続報

個人的に気になっているRaspberry Piですが、また適当に情報を仕入れたのでメモしておきます。まずモデルB(256MB)に付いている有線LANですが内部的に帯域をUSBと共有しているらしいです。ですのでUSBをフル活用している状態だとパフォーマンスは低下しそうです。例えばLANを繋いだままUSB-HDDを繋いだりとか、USBカメラでライブストリーミングしたりとか。USBキーボードとマウス使いながらインターネット閲覧とかなら問題は無さそうですけど。

そのカメラですが、そう心配する事も無さそうです。というのも実はカメラは専用のユニットを計画中らしいです:-) ここからは受け売りですがどちらにしろUSB接続では高品質なカメラ撮影の帯域が不足しているので専用のインターフェース(CSI2)で接続したカメラユニットが必要らしいのです。今回わざわざRaspberry Pi専用のカメラユニットを2つ検討中らしいです。

1つは高画素、おそらく12メガピクセル級と低画素、こちらはまだ言及されていませんがこの2つをメーカーと交渉中らしいです。前回も書きましたがRaspberry Piの元になっているSoCはNokiaのN8と同型(というか、上位系)なので、ちゃんとしたカメラユニットを用意出来ればかなりクオリティは高いと思われます。あちらはカールツァイスらしいですけど:-)

残念ながらカメラユニット自体の値段は結構するらしいです。Nokiaみたいに数百万台規模で発注できればガクンとコストダウン出来るんですがRaspberry Piでは無理ですからね。50ドルとかになりそう? その為に低画素で値段を抑えたものも考えているそうです。普通のビデオチャットとかでは高画素は要りませんしね。留守中のペットモニターとかでも使えそうです。

実はRaspberry Piで使われているSoCは結構優秀でNokia N8以外にもROKUというメーカーが販売しているメディアプレーヤー「Roku2 XS」でも採用されているらしいです。確証は無いですけど。Roku2 XSのスペックを見ると1080pのH.264を再生出来てなおかつ消費電力は2W以下らしいので、だいたい合致してますね。ちなみに100ドルくらいですね。といっても無線LANとかいろいろ付いてますけど。

現状のRaspberry Piの仕様ではH.264@4.1まで再生可能らしいです。自分も詳しくはないですがWikipediaによると1,280×720@68.3、1,920×1,080@30.1、2,048×1,024@30.0らしいので十分ですね。ちなみに再生(デコード)だけでなく録画(エンコード)も同レベルまで可能になる予定? らしいです。

何故かというと前述の専用カメラユニットがまだ決まっておらず、なおかつエンコード用のGPUドライバーの作成には熟練のチームでも数ヶ月掛かるレベルらしいからです。仕事でもそのくらい掛かるのにRPはボランティアですからね。いくら本職のBroadcomの中の人が居たとしてもそれは仕方がないですし。んーと他にも何か書きたいことがあった気がしますが私の頭の中の消しゴムが悪さしてしまったらしく綺麗さっぱり忘れてしまいました。また思い出したらダラダラと書き綴りたいと思います。今日はここまで。おやすみなさい。

#追記
あー思い出しました。RPでのメディア再生ですが基本的にCPUではなくGPU/DSPを使用する仕組みなのですが、その仕組みというのが「OpenMAX」というヤツでコレを使うにはプロプライエタリなドライバーを通してじゃないと駄目な上にOpenMAXに対応しているソフトウェアじゃないと駄目らしいです。チラッと調べた限りではLinux対応ソフトウェアではVLCやGstreamer(アプリケーションじゃないですが)らしいです。

あとSoC的にはOpenMAX対応はされていても実際に使用するには各コーデックの使用料を払わないといけないらしいです。当然オープンソースとして公開は出来ませんし。まだ各コーデック企業と交渉中らしいですが結構高額らしいです……。例えば「AAC」を使用する許可を貰うだけで何とRaspberry Piの製造コストの実に4%を費やさねばならないそうです:-( 全体で一体いくら持って行かれるのやら。ま、AACが一番ボッ○クリらしいですけどね:-) 

あと残念ながらSoC的にGoogleのWebMには対応していないそうです。時期的に仕方ないですけどね。Raspberry Piが上手くいって数年後に「Raspberry Pi 2」が企画された時は是非ともWebM=VP8&Vorbisに対応して貰いたいですね。そうしたら製造コストも下がるでしょうし:-)

#YouTube
Nokia N8で撮影したショートムービー。携帯でこれだけのモノが撮れるんだから技術の進歩は恐ろしい。
Gulp. The world's largest stop-motion animation set, shot on a Nokia N8. - YouTube
http://youtu.be/ieN2vhslTTU



こんな感じのメディアプレーヤーを皆で作っていくのも楽しそうですね。まさかのangry birds! RPにXBOX360コントローラー付けてエミュレーターとか……ゴクリ。
Roku 2 XS Demo & Review - YouTube
http://youtu.be/O5SviI9yeu4



#Amazon

#外部リンク
VideoCore - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/VideoCore#VideoCore_ICs

OpenMAX - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/OpenMAX

H.264 - Wikipedia
http://ja.wikipedia.org/wiki/H.264#.E3.83.AC.E3.83.99.E3.83.AB

Roku Streaming Players | Roku 2 HD Player, Roku 2 XD Player and Roku 2 XS Player
http://www.roku.com/roku-products

携帯に顕微鏡を装着! 医療現場の技術によって作られた世界最小コマ撮りアニメNokia N8「Dot.」 | white-screen.jp
http://white-screen.jp/?p=7409

2011/09/23

オープンソース版Doom3(idTech4)に望むこと

前回はせっかくオープンソースになったとしてもライセンスがGPLだとゲームエンジンとしては思ったように活用されないのではないかという個人的妄想を書きました。念押しになりますが、この意見は全くの素人が考えたモノなので実際にはどうなのかは判りません。その事を考慮して、これから書く内容もご判断下さい。では前回からの続きスタートです。

ゲーム分野におけるGPLライセンスの問題点とは何なのか? 従来のゲーム、特にPCゲームだけならばそう問題でも無いのですが最近はPCと据え置き機とのハードウェアの差異が少なくなり、特にMSのXBOX360などは主要技術がPCと同じDirectXという有様です。まぁCPUアーキテクチャの違いやDirectXのバージョンが現行PCと比べると低いという問題はありますが基本的にはWindows環境で使っているゲーム技術をベースとして使える訳です。

まして最近のゲーム機は従来のパッケージ販売と並行して独自のアプリストアでのDL販売が可能になっているのでインディーズゲームや古い作品の移植版なども安価で販売出来、ゲーム開発者からするとだいぶ参入障壁は下がっている訳です。ですので、本来ならDoom3エンジンのような過去に活躍したゲームエンジンでも安価、あるいは無償で使用できれば、まだまだ活躍の場はあるはずなんです。OSSならば自分達による改良も出来るので新たなレベルに引き上げる事すら可能な訳ですからね。

普通なら開発者は喜んで使用する訳ですが実際はそうでも無いんですよね。特にGPLだと。それは何故か? 結局は各ゲーム機メーカー側がGPLなゲームエンジンを禁止しているのではないかと(実際に問い合わせた訳ではないですけど)。理由はいくつかあるでしょうがメーカーとしては自分達でコントロール出来無いシロモノを自分の庭に極力入れたくないって事でしょうかね。よほど魅力的な内容でもなければそんなものに頼る必要も無いわけですし。

じゃあどうすれば良いのか? 一番良いのはライセンス変更ですね(笑)。現にオープンソースでもBSDライセンスな物理演算エンジン「Bullet」なんかはXBOX360やPS3のゲームソフトでも使われていますし。他にもSDLも今までLGPLだったライセンスを1.3からは「zlib License」に変更予定ですし。このブログでは触れていませんでしたが「Haaf's Game Engine」という商用の2Dゲームエンジンも同じくzlib licenseでオープンソース化されています。これらのライセンスならば恐らく各ゲーム機メーカーも拒む理由は無いでしょうからね。

幸い? Doom3エンジンは商用ライセンスと(恐らく)GPLライセンスのデュアルライセンスになると思いますのでGPLを許容してくれるプラットフォームでは、そのままGPL版を、許容してくれないプラットフォームには商用ライセンスを購入して対応するというNexuizやUrban Terrorが使った方法で対処するという方法もあります。まぁUrban Terrorはどういった理由で商用ライセンスを購入したのかは憶測の域を出ないですけど。

じゃあDoom3エンジンも商業とGPLのデュアルライセンスなんだから問題ないじゃないの? と思うかもしれませんが実はそうでもないのです。これはゲームに限った問題では無いのですがデュアルライセンスにも問題点はあるのです。ここからは私の推測ですので実際の場合と異なるかもしれません。

Doom3エンジンをGPLとして公開する場合、基本的には商用ライセンス版と同じモノが公開されるでしょう(もしかしたら、他企業の開発部分が抜き取られているかもしれませんが…)。仮に公開時のバージョンを1とします。このバージョン「1」を元にオープンソースのコミュニティが改良を加えていく訳ですね。例えばOpenGLの最適化やサウンドシステムの改良等。

そうするとバージョンが1から1.1、1.2と段々と上がって行きます。一方、元となった商業版エンジンはiD Softwareが改良しなければバージョンは1のままです。勿論内部で改良していけば1.1〜と上がっていくでしょうが今までの例を見ればこれ以上旧エンジンに改良を加えていく事は無いでしょう。

この状態がQuake3をコミュニティが改良していったioQuake3と商用ライセンス版のオリジナルQuake3エンジンとの関係性です。あるいはNexuiz(DarkPlaces)とオリジナルQuakeエンジンとの関係性です。一度GPLとして公開した以上オリジナルのエンジンに改良点を移植する事は通常不可能なのです。これではせっかくGPL版を皆で改良していったとしてもその改良点を維持したままGPLライセンスを持ち込むことを許していないプラットフォーム(XBOX360やPS3)に持ち込む事が出来無いって事です。

なら商用版買えばいいじゃんと思いますが商業版はずっとバージョンが固定されたまま(iD Softwareが独自改良すれば別ですが)なので、せっかくオープンソース化してくれたとしてもあんまり恩恵が無いと。勿論GPL版を元に開発してGPL版の持ち込みを制限していないプラットフォーム限定で商売をすれば何の問題もない訳なんですが、そうなるとXboxやPS3、iPhoneといった魅力的なプラットフォームを捨てる事になってしまいます。

この問題を回避するにはGPL版を元に改良した部分をGPL以外のライセンスとして公開するか公開せずとも自分達だけで独自改良を続けて行き、完成したら商業ライセンスを購入してゲームを販売しなくてはなりません。自分達だけで改良できるくらいレベルが高ければ何の問題もないですしね。ただ、そこまでするなら何もDoom3エンジンに拘らずにUDKでもUnityでも良い訳ですが。あぁソースコードが完全に開かれてるので徹底的に弄りたいのならGPL版で試せるDoom3エンジンの方がいい場合もありますかね。

個人的にデュアルライセンスで上手く行っているプロジェクトっていうのは社内の開発チームが存在していて実質的な開発の主導権を握っている場合が多いと思います。ソースコードはオープンになっていても外部の人間の改良が実際に取り入れられる事は少ないのが実情かなぁと。これは理由があってちゃんとコードをレビューしないと取り返しのつかない事になってしまう事もあるので商売として開発している側からしたら慎重にならざるを得ないのかなぁと。

こういうプロジェクトはソースコードはオープンなんだから改良したいなら自分達で派生版作ってもいいよ的な考えなのかもしれませんね。まぁ普通のソフトウェアならそれでも十分なんですがゲームというのは主流が商業プラットホームなのでGPLの派生版じゃ大半のプラットホームからソッポ向かれてしまいますしねぇ。ましてQtのようなプロジェクトと違ってDoom3エンジンは既に開発が終了しているプロジェクトなので商用版が活発に開発される事もないでしょうし。核となる会社側の開発者が居ないでしょうしねぇ。

まとめ切れていませんけど個人的に一番良いのはライセンサーのiD Software自らがこれから立ち上がるであろう開発コミュニティと協力体制を作って半ば公式な開発コミュニティを運営する事だと思います。その際に開発貢献者には改良点をGPLではなく、より緩いBSDライクなライセンスにして貰うか例外として商用のDoom3エンジンへの統合を承諾して貰う事ですかね。よく調べてませんがこの本家への取り込みはAsteriskの開発体制では成功しているそうなので無理な話ではない気がします。うろ覚えなので完全に間違っているかもしれませんけど。

別にiD Softwareに頼らずともコミュニティ独自に似たような事をしてGPL版へのパッチとしてBSDライクなライセンスで改良していっても良いのでしょうが、そうなるとソースコード管理が複雑になりそうですしね。GPL版には統合出来るでしょうが商用ライセンスと統合するにはライセンサーの許可が要るでしょうし。

半年に一度くらいの間隔で新しいバージョンをリリースしていけばかなりいい感じでコミュニティが回るような気がします。実はこの問題は既に一部のDoom3Modコミュニティで話されておりXrealの開発者であるTr3B氏も似たような問題提起をコメントしていました。ちょっと英語が難しくて詳細までは解らなかったのですけど。

Doom3エンジン(iD Tech4)はこれから先の5年、いや下手したら10年くらいオープンソースなFPSゲームの中心となる可能性がある大型プロジェクトなので、商用利用を含めた上手いやり方が見つかってくれれば良いのになぁと個人的には思っているのですけど。おそらく次世代のiD Tech5からはオープンソース化はされないでしょうし。まだわかりませんけど少なくとも今までと同じような扱いにはならないでしょうしね。

ゼニマックスの中の人でもしこのブログ見た人がいたらオープンソースコミュニティとの連携を是非とも検討して下さい(笑)。上手くいけばインディーズゲーム開発にiD Tech4の商業ライセンス売り込めますよ(笑)。しかもコミュニティが勝手に開発してくれますし。あくまで仮定ですけど。

#外部リンク
デュアルライセンス - Wikipedia
デュアルライセンス - Wikipedia

2011/09/18

Doom3エンジンのオープンソース化における一抹の不安

大仰なタイトルですが単なるおっさんの戯言です。前回Doom3のオープンソース化にXrealエンジンの開発者が興味を示しているという明るい話題を書きましたが、今回はちょっとした問題点について駄文を披露したいと思います。といっても技術的な問題点という訳じゃないです。どちらかという政治的? な話ですかね。

以前このブログで「Nexuiz」というオープンソースなFPSを代表するゲームについてのイザコザを書いた事があります。簡単に説明するとNexuizとは今回のDoom3エンジン(iDTech4)と同様にiD SoftwareがOSSとして公開したQuakeエンジンを基にコミュニティが独自に開発してきたFPSゲームの事です。そのNexuizが家庭用ゲーム機(Xbox360&PS3)に移植されるというニュースが去年の話です。

その際、同ゲームのエンジンとして採用されている「DarkPlaces」のオリジナル開発者自らが家庭用ゲーム機向けに改良調整を施しているという話が話題になっていました。しかし暫くした後にNexuizの家庭用ゲーム機版はDarkPlacesエンジンではなくCrytek社が開発している「CryENGINE 3」に変更すると同ゲームの開発元である「IllFonic」からアナウンスされたのです。

ビジネスの話なので実際にどういった経緯でこのような変更がなされたのかは不明(語られているかも知れませんが、私の情報不足でわかりません)ですが、直前までDarkPlacesで開発されていて、なおかつエンジンの開発者自らが省メモリ対応等の改良まで行っていたのに何故? とOSSコミュニティから疑問の声が上がっていました。

あくまで私の仮定ですが恐らく原因はDarkPlaces及びNexuizのライセンス問題。正直Nexuizのライセンスがどのようになっているのか把握していませんが基本的にGPL版のQuakeエンジンに依存しているのでGPLだと思います。最近のFPSゲームにおける解釈では核となるエンジン部分はGPLだとしてもゲームに必須であるキャラクターモデル、マップ、音楽、シナリオ等は、いわゆる「Asset」と言われる独立したコンテンツとして別のライセンス、例えば「Creative Commons」で保護されるというのが主流になっているようです。

Nexuizはかなり古いゲームなので、そこまで分化されていないのではないかと思います。そうなると今までの開発協力者全員にライセンス変更の承諾を得るか未承諾部分のコード、アセットを別のモノに変更しなければならない可能性すらあります。あくまで私の意見ですが。またコード自体はGPLだとしてもコミュニティドリブンなプロジェクトな場合、よほど強力なリーダーが居ない限り言葉は悪いですが、お金儲けの道具としてコミュニティの成果物を使用していいのかという感情的な問題も出てくるでしょう。今回の場合も主要開発者全員が一致した考えではなかったようですし。

Nexuizのゲーム機版のアセットに関してはIllFonicがプロのデザイナーを雇用して全く新しいキャラクター、マップ等を用意するとの事でしたが、残念ながらその成果物をオープンソースとして公開せずにゲームエンジンであるDarkPlacesの改良点をコミュニティに還元するという話で調整中だったようです。先程も書きましたが最近の見解では、それで特に問題が無いという考え方が主流なのですがNexuizコミュニティの強硬派は納得せずにかなり揉めていたようです。かなりうろ覚えでデマを書いてしまったかもしれませんが(苦笑)。

一部不満はありましたが、コミュニティ側は一応ケリが着いたようでしたが問題は移植先、XBOX360とPS3のソフトウェアライセンスだったのではないかと私は思っています。というのもNexuizのライセンスはGPLですのでXBOX360とPS3のラインナップとしては認められなかったのではないかと。

これは何もゲームコンソールだけの問題ではなくiPhoneのApp Storeも基本的には禁止だったと思います。現状だとAndroidマーケットくらいじゃないですかね。GPLでもOKなのは。あぁもしかしたらSteamでも大丈夫なのかな? いずれにしろXBOX、PS3、iPhoneという今一番稼げるゲームマーケットではGPL製品は受け入れてもらえないのではないかと。

Nexuiz以外にも「Urban Terror」というQuake3派生のゲームも似たような事例が発生しているようです。このUrban Terrorは元々Quake3のModとして開発されていたのですがQuake3エンジンがGPLでリリースされた後、Quake3エンジンの改良版であるioquake3エンジンをベースとしてスタンドアロンなゲームとして開発を続けていたようです。しかし、つい最近になってioquake3ベースで改良していたバージョンを廃棄して、何とiD SoftwareからQuake3エンジンの商業ライセンスを購入しての独自開発に路線変更したらしいのです。その際に名前も「Urban Terror HD」と改めたみたいです。

何でわざわざQuake3エンジンの改良版で実績もあるioquake3を捨てて商業ライセンスのオリジナルQuake3エンジンに切り替えたのかは正式なアナウンスはしていないようですが、私はおそらくNexuizと同じ理由なのでは無いかと疑っています。通常通りのPCゲームとしては、GPL版でも特に問題ない訳ですからね。といってもUrban Terrorはソースを公にしていないと一部のコミュニティメンバーから非難されてはいましたけど。

そういったイザコザが嫌だったというのもあるかもしれませんが、わざわざお金を出してまで、商業ライセンスを買ったという事は、やはりXBOX360やPS3、もしかしたらiPhone辺りで商業ゲームとして売り出したいという考えがあったのかもしれません。その為にはGPL汚染を認めないプラットホーム向けに商業ライセンスを買わざるを得なかったと。

まぁ妄想ですけど。事実まだUrban Terrorは商業プラットホームでは展開していませんけどね。それにioquake3の改良点は主にLinux向けのモノでWindowsユーザーにはそれほど恩恵が無いという意見も数人の開発者からは聞かれますし。例えばXrealの開発者であるTr3B氏も、そのようなコメントを以前していましたし。

この問題は、ほぼ同じライセンスでオープンソース化されるであろうDoom3(idTech4)にもそのまま当て嵌る事例だと思います。勿論XBOX360やPS3、iPhoneなんかで一稼ぎしようなんて考えていない人からしたら何の問題もない訳ですし、カーマック氏もオープンソース化の主な理由はこれからFPSゲーム開発を目指している若いプログラマー達の良い教科書となるようにという思いからですけど一攫千金のボーナス目当てでDoom3エンジンでゲームを開発したい開発者を見過ごすのは得策ではないと思いますし。

せっかくオープンソース化されたのにメリットが無いと多くのゲーム開発者を惹きつける事が出来ずに結局は廃れてしまうのは余りに勿体無さ過ぎますし。特にWindows環境ではUDKやCryENGINE、Unityといった優良ツールがほぼ無償で使えたりする訳ですから。結局Linuxユーザー兼ゲーム開発者といったニッチな需要しか無いという悲惨な状況になりかねませんし。ではどうすればいいか? 長くなったので次回へ続く。

#外部リンク
Forest Hale interview about Nexuiz and open-source | Time Doctor Dot Org
http://timedoctor.org/2010/03/forest-hale-interview-about-nexuiz-and-open-source/

[Phoronix] Nexuiz Gets Forked, Turned Into Xonotic
http://www.phoronix.com/scan.php?page=news_item&px=ODA4OA

[Phoronix] Urban Terror HD: Going Away From Open-Source
http://www.phoronix.com/scan.php?page=news_item&px=ODc3Mw

#内部リンク
BLOG.MINAWA.NET: NexuizとXonotic
http://blog.minawa.net/2010/09/nexuizxonotic_7277.html

2011/09/17

OpusのWebRTC入りは確実?

先日書いたGoogleがOpusコーデックを内部でテストしているという話ですが、どうやらテスト結果をPDFとして公開してくれたようです。正直、素人の私には詳細は理解出来ませんが、おおむね好評って感じでしょうかね。
Opus at 11 kbps is comparable to iLBC at 15 kbps
Opus at 11 kbps is better than Speex at 11 kbps
Opus at 32 kbps is better than G.719 at 32 kbps
Opus at 20 kbps is better than Speex and G.722.1 at 24 kbps
Opus NB pre-coded with G.711 is comparable to AMR NB pre-coded with G.711
Opus NB transcoded to AMR NB via G.711 is better than AMR NB tandem-coded via G.711
Single-coded Opus WB is better than single-coded AMR WB
Single-coded AMR WB is slightly better than transcoding AMR WB -> Opus WB and Opus WB -> AMR WB
現在、GoogleがWebRTCに組み込んでいる「iLBC」との比較ですがiLBC 15kbpsがOpus 11kbpsとほぼ同じとの評価ですね。同じく「Speex」との比較では明らかに上との評価です。32kbps時の比較でもG.719よりも優れておりG.722.1との比較でも上の評価です。またG.711からのトランスコーディングテストでもAMRと同程度でありOpus -> G.711 -> AMRとAMR -> G.711 -> AMR 変換時の比較でもOpusからの変換の方が良いというテスト結果なようです。

OpusとAMRの直接対決でもOpusの方が上で素のAMRとOpus -> AMR、AMR -> Opus変換と比べると素のAMRの方が僅かながら上との評価なようです。まぁ仕方ないですね。素人の意見ですが、だいたいGoogleが想定しているOpusの使い方には耐えられるとの評価だと思います。普通なら全部Opusにしちゃえば良いのにって思わないでもないですが現実世界はそう単純な世界じゃないのでしょう。

ここからは完全に素人の妄想なので関係者からしたら失笑ものかもしれませんが、書いちゃいます。まずiLBCとは確実にリプレイス可能だと思います。というのもiLBCは元々IP電話向けのコーデックでありハードウェアフォン以外はコーデックの変更が比較的簡単なシステムに組み込まれているからです。同様にSpeex、G.719、G.722.1もリプレイス可能なコーデックだと思います。

例えばGoogle TalkやGoogle Voice上で完結していれば全てOpusで通しても問題無いのでしょうが過渡期である現在ではまだまだ固定電話や携帯電話に掛ける事も多いはずです。G.711は従来の固定電話、AMR WBは携帯電話で主に使われているコーデックなので最終的にはOpusをそれらのコーデックに変換しないといけない訳ですからね。

ですので変換後のクオリティも重要なのだと思います。ちなみにコーデックも全て無料という訳ではなく使用料が必要なモノも少なからずあるようです。例えばAMR WBなんかは必要に応じて使用料が必要なようです。こう言った観点からもOpusの需要は多いのではないかと思います。WebMと同様ですね。そのWebMもWebRTCに組み込まれています。最近のニュースでWebRTCにVP8のエラー訂正が改善されたというモノがありました。その記事のコメントで興味深いモノがあったので転載しておきます。
@LeonZA iSac and iLBC are also open sourced, under a very open license. More info at www.webrtc.org

We are very interested in Opus and look forward to integrating it once it is ratified and settled at the IETF, which should be soon.

September 15, 2011 9:36 AM
以前も書いたとおりiLBCとiSacはSkypeで以前使われていた音声コーデックですが、それが今は2つともオープンソースとして使える訳です。なおかつ現行のSkypeの音声コーデックである「Silk」をベースに開発されているのがOpusですので、このままWebRTCに取り込まれればSkypeとGoogle Voice? という2大IP電話の音声コーデックが統一される可能性がある訳です。

幸いなことに動画コーデックは既にVP8で統一されていますしね。SkypeがMSに買収されてしまったので先行きは不明ですが、もし相互接続が可能になった場合でも技術的課題の1つは解消される事になりますね。是非そうなって欲しいところです。コメント読むとGoogle側はOpus支持なようですし。

#YouTube
Libvpx Error Concealment Demo - YouTube
http://youtu.be/-FLXEOxPUSk



#外部リンク
Re: [codec] Listening tests at Google
http://www.ietf.org/mail-archive/web/codec/current/msg02725.html

Error concealement in libvpx - WebRTC
http://www.webrtc.org/blog/errorconcealementinlibvpx

VP8 Error Concealment in WebRTC - The WebM Open Media Project Blog
http://blog.webmproject.org/2011/09/vp8-error-concealment-in-webrtc.html

Licensing
http://www.voiceage.com/licamrwb_licterms.php

フリーソフトウェアで使える音声コーデック - SourceForge.JP Magazine : オープンソースの話題満載
http://sourceforge.jp/magazine/05/10/19/037219

2011/09/09

Raspberry Piの新しい動画

Raspberry Piの公式ウェブサイトで新しい動画が公開されてました。大きさは名刺よりちょっと大きいくらいですかね。一応アルファ版なんで、実際の製品はもう少し小さくなるかもしれませんけど、個人的にはもう十分な大きさな気もします(笑)。動画の説明を読むとLinux上のメディアプレーヤーで再生させてるみたいですね。

先日のQuake3もDebian+LXDEだったので今回も同じ環境なのかな? ちなみに再生させている動画は1080pのH.264だそうです。素晴らしい。メディアプレーヤーはMplayer? もしそうなら発売前で既にDSP(あるいはGPU)をOSSで活用できる(一部分だとしても)のは大きいですね。流石に開発者自らがプロジェクトに関わっているだけはありますねぇ。

ちなみに音声は出していないそうですがフォーラムをチラ見した時に意外と音声の扱いが面倒な事になってるとか何やら…。特にHDMIを通しての音声はOSS環境だとまだ不完全らしい? 何やらJackが遅延するとか何とかって……。すみません。かなりうろ覚えです。JackってソフトウェアのJackかと思ってたけど、ハードウェア的な意味でのJackだったかも。恥ずかしい間違いかもしれない。今見たら、音の問題(の1つ)はハードウェアの改良でクリアしたらしい?

あと音声、特にAACはライセンスの問題もあるらしくOSS環境下ではSoCの性能をフルに使えない「可能性」もあるらしい? これも先日チラ見しただけなので確証はありません。Raspberry Piの中の人がAACの中の人と交渉中らしいですが正直どうなるか微妙な気もします。以前WebMのライセンス問題の時にチラッと書いたのですが、実際問題MP4はH.264よりAACの方がライセンス的に厳しいらしいですからねぇ……。

仮にH.264は無償で使える事になったとしても、それと組み合わせるAACがライセンスフリーじゃなければ実際の活用は非常に困難になる可能性は十分にありますからね。FAAC/FAADというフリーのエンコーダー、デコーダーがあるにはありますが、残念ながらそれほど最適化されている訳でもライセンス的にOKなのかもよくわかりませんし。

とにかくまだまだ情報不足なRaspberry Piですが、これから楽しみな存在である事は間違いないですね。H.264だけじゃなくHDなMPEG2-TSとかもハードウェアで処理出来たりしたら。ゴクリ。タイプBは有線LANも付いてますし、もしDLNA関係も整備されたら高価な専用機買わなくても万能メディアプレーヤー(もどき)が安価で手に入るかもしれませんし。タイプBでも35ドルですからねぇ。ちなみにこのデモは8時間ぶっ通しで連続再生させていたそうです。しかも平均消費電力が僅か1Wだったそうです。素晴らしい。

#YouTube
Raspberry Pi video capabilities - YouTube
http://youtu.be/TgR74Kp6Ws4



#追記
フォーラムのコメントによるとデモで使われているメディアプレーヤーは「Playerx」と呼ばれているRaspberry Piチーム内製のメディアプレーヤーみたいです。ライセンスがOSS準拠なのか、それともプロプライエタリなのかはまだわかりませんが……。SoCのハードウェア能力を使っているので、もしかしたらプロプライエタリなのかもしれません。

2011/09/07

Raspberry Piメモ

最近かなり興味が出てきたRaspberry Piですが、ちょっと気になった点をメモしておきたいと思います。まず一番新しいBoardのサンプルがありました。あくまでアルファ版という事なので正規版はまた変化するかもしれません。クレジットカード大の大きさになるらしいですし。後はOSの起動方法はSDカードからのみらしいです。残念ながらスマートフォンやPandoraのようにNANDは内蔵されていないようです。どうやって起動するかというと、なんと内蔵のGPUかららしいです(笑)。

というのも元々このSoCはGPU(とDSP)単体のチップに後付でARM11コアを追加するような形らしいです。完全に私見ですがベースになっているのは「BCM2763」なのかもしれませんね。ちなみに姉妹チップで「BCM2727」というのがあり、こちらは720p迄のH.264を再生能力があるそうです。Raspberry Piは1080p迄なのでBCM2763相当なのではないかと邪推します。

調べてみるとBCM2727はNOKIAのN8で使用されているようです。N8は別途Samsung製のARM11 680 MHzを使用していますので構成としてはRaspberry Piにかなり近い気がします。Raspberry PiはARM11 700MHzを内蔵していますしね。まぁ3GチップやWiFI等のチップはないですけど。NOKIA N8はOSとしてSymbian^3を採用していますがRaspberry Piは今のところDebianでLXDEが推奨OSみたいですね。まぁデスクトップ用途と携帯電話ではまるで違いますが、正直このOSでどこまで快適に使用出来るかは微妙な気がしています。

だからといってSymbian^3がデスクトップ用途として快適なのかと言われれば正直困りますけども。私個人としてはUbuntuがARMv6に対応してくれるのがベースとしてはベストだと思いますが今更Raspberry Piの為に方針を変更するのも厳しいでしょうしねぇ。せっかく「Ubuntu Core」という組み込み向けの仕組みが整いだしていたので、これを使えたら面白かったのになぁと思いまして。私がUbuntuびいきなだけで他のディストリでも良いものはあるのでしょうけど。

例えばPandoraでも使用している「OpenEmbedded/Angstrom」とか。よく判りませんが最近は「Yocto Project」なるものもあるそうですね。後最近見つけた「Bodhi Linux」っていうのも気になります。基本的にスペックが厳しめのハードウェアの為のディストリみたいです。Enlightenmentらしい?

他にも思い切って目的別に絞り込んだ環境なんかも良さそうです。例えばメディアプレーヤーとして「XBMC」やエミュレーター専用機としてPandoraの成果物である「Minimenu」とパッケージ管理として「PND」を移植するとか。後はホームサーバーとして使うのに絞り込むとかも考えられているみたいです。

個人的には汎用デスクトップよりも後者の専用機器的な使い方に興味があります。特にエミュレーター専用機は面白そう。Raspberry PiはSDカードからの起動ですからそれぞれ専用アプリケーション入れたカードを用意して使い分けるっていうのも面白そうです。Raspberry PiにUSB接続でXBOX360の有線コントローラー差し込んでレトロゲーとか(笑)。

幸いHDMI/アナログ端子両方ありますから、古いテレビでも使えますしね。多分ですがSNES迄なら動きそうな気がします。快適にとなるとGP32コミュニティの協力が必要かもしれませんが。フォーラムを覗くと何人かRaspberry Piに興味を示している人物がいるので上手くいけば実現するかもしれません。他にも書こうかと思いましたが、取り敢えず今日はここまでにしておきます。

#Picasa


#YouTube
Bodhi Linux Review - Linux Distro Reviews - YouTube
http://youtu.be/zew22fRREQ0



Pandora: PNDs, switching GUIs and Hatari - YouTube
http://youtu.be/OOtENx0QuZM



Pandora - One vid per day 9: MiniMenu overview - YouTube
http://youtu.be/h4lB3tkIFwY



XBMC Pandaboard overview - YouTube
http://youtu.be/ICfaBEv5plU



#外部リンク
Raspberry Pi | An ARM Linux box for $25. Take a byte!
http://www.raspberrypi.org/

Raspberry Pi - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Raspberry_Pi

Ubuntu Core | Canonical
http://www.canonical.com/engineering-services/ubuntu-core

Broadcom.com - BCM2763 - High Definition 1080p Mobile Multimedia Processor
http://www.broadcom.com/products/Mobile-Multimedia/Mobile-Multimedia-Processors/BCM2763

Nokia N8 - Wikipedia, the free encyclopedia
http://en.wikipedia.org/wiki/Nokia_N8

Bodhilinux.com
http://www.bodhilinux.com/

The Ångström Distribution | Embedded power
http://www.angstrom-distribution.org/

Yocto Project | Open Source embedded Linux build system, package metadata and SDK generator.
http://www.yoctoproject.org/

XBMC
http://xbmc.org/

GUI - Pandora Wiki
http://www.pandorawiki.org/GUI

Introduction to PNDs - Pandora Wiki
http://www.pandorawiki.org/Introduction_to_PNDs

2011/09/04

Raspberry Pi 面白そう

久々に面白そうなネタを発見したのでメモ。その名も「Raspberry Pi」。全く気づかなかったのですがRaspberry Pi自体は今年の5月頃に既に話題になっていたようですね。最近はオープンソースなゲームばっかり気になってたので全然気づきませんでした(笑)。Raspberry Piっていうのは「The Raspberry Pi Foundation」という非営利組織が主に子供向けのコンピューター学習の為に開発中の超小型PCのようです。何が面白いって、その値段。何と一台25ドル! 今の日本なら2000円以下で買えちゃう値段ですよ。肝心のスペックですが、だいたい以下の通り。
700MHz ARM11
128MB or 256MB of SDRAM
OpenGL ES 2.0
1080p30 H.264 high-profile decode
Composite and HDMI video output
USB 2.0
SD/MMC/SDIO memory card slot
General-purpose I/O
Optional integrated 2-port USB hub and 10/100 Ethernet controller
Open software (Ubuntu, Iceweasel, KOffice, Python)
CPUは最近、独走状態のARM。メモリは128MBと256MBの2種類。まぁARMといってもARM11(ARMv6)の700MHzですから現行の主力であるARM Cortex-A8/A9(ARMv7)と比べるとだいぶ見劣りしてしまいますが……。特にv7世代じゃないとNeonに対応していないので、例えばFlashのようなアプリケーションは走らせることが出来ません。他にも性能面で結構差が出る場面がありますので現行のスマートフォンと比べるとだいぶ劣るのは確かでしょうね。

メモリ2種類ですが256MBの方は10/100Mの有線LANも追加されているそうです。お値段もその分高くて35ドルだそうです。代わりという訳じゃないですが128MBの方は単3電池x4本での駆動が可能らしい? それはそれで魅力的ですね。どちらもUSB2.0 x 2が有りますので無線LANやBluetoothが欲しい場合はUSBドングルで対応という事になりそうです。

フォーラムを覗くと無線LAN内蔵モデルが欲しいという意見が多いですが低価格+低消費電力を維持するには無線LANは高価過ぎるという判断のようです。OpenPandoraもそうですがオープンな環境での無線LAN内蔵はかなりリスクが高いですからね。後で書きますがTIのOMAPのように無線LANも独自で手配出来るSoCならいいんですけど、コイツは違いますので……。

CPUとメモリだけ見れば、そう面白いハードウェアでも無いのですがコイツの面白い所はOpenGL ES 2.0に対応したGPUと1080p30 H.264 high-profileのビデオを再生する事が出来るDSPをも備えている事なんですよね。CPU+GPU+DSPっていう組み合わせ見るとPandoraで使用されているTIのOMAP3に似た感じですね。といってもOMAPのように有名所のGPU/DSPでは無いようですけど。

ここでネタばらしすると、このRaspberry Piというのは「Broadcom BCM2835」というBroadcom社製の未発表SoCを使用している超小型PCなんですね。Broadcom BCM2835でググってもまだ何の情報も出てきませんけど。どうやらこのThe Raspberry PiというプロジェクトはBroadcomの社員が関わっていて主要スタッフに、このBCM2835のGPU担当者がいるらしいです。こうやってみるとTIのOMAP3を使用したBeagleBoardにコンセプトが似ていますよね。アレもTIの社員が関わっていますし。

で、このGPUですが残念ながらバイナリの形での配布になるそうです。といっても他の組み込み系もほぼ同じ形なのですけどねぇ。残念ながらオープンソースドライバーとはなりませんが何らかの形でOpenGL ES 2.0のAPIを開発者が使えるような方向で調整中らしい? DSPの方も今のところ活用するのは難しいが何らかの形で使えるようにはしたいそうです。

GPUと比べると、こちらは上手くいくかは微妙な感じがしますけど。1080pのH.264をデコード出来る程、強力なDSPなので上手く使えるようになると非常に強力な武器になりそうです。Broadcomは「Broadcom Crystal HD/BCM70012」というネットブック向けの拡張カードのドライバー? をオープンソースとして公開している実績があるので個人的にはかなり期待しているのですけどね。確かMPlayerとかで使えた気がするのですけど……。

今調べたらCPUは「ARM1176JZF-S」ですね。Wikipediaによるとコイツは初代iPhone/iPhone3Gで使われてるそうです。Androidで言うとイーモバイルのPocket Wi-Fi S2 (S41HW)クラスですかね。現行のAndroidでも普及機クラスの性能が25/35ドルで手に入ると考えると結構凄い気がしますね。まぁFlashが使えないのと携帯電話機能やGPS/Wifi/速度センサー等は無いですけど。あぁ不確定情報ですが任天堂の3DSもARM11が使われてるらしいですね。構成がまるで違うので、参考にはならないでしょうけど。

今思い出しましたがプロトタイプの写真でUSBスティックくらいの大きさのモックが出ていましたが実際の製品はもう少し大きくて名刺大くらいでそれなりの厚みがあるそうです。まぁUSBx2やHDMI/TV出力等のコネクタがありますので、どうしたって大きくなりますけど。BeagleBoardくらいかそれより小さいくらいですかね。ちなみに最初期はケース無しですが要望が多ければケースも販売する予定はあるそうです。

どちらにしろ二次ロット以降まで待った方が一般人は良さそうですね。どうしても待てない人は特攻するのもいいでしょうが。なんたって安いですからねぇ(笑)。あとデモとしてQuake3を動かしている動画がありました。詳細はわかりませんがデモモードで平均15FPSくらいですかね。正直デモモードでこのスピードだと実際にプレイ可能なのかは人に因るでしょうが動作デモとしては結構インパクトありますよね。25ドルでここまで動きゃねぇ?

あとOS関連ですが古い記事だとUbuntuで動作って書いてありますが現状だとDebianでLXDEが推奨環境だそうです。説明はされていませんがUbuntuはARMのサポートをARMv7世代に絞っているので残念ながらRaspberry Piで使用しているARMv6(ARM11)では非推奨なのかもしれませんねぇ。まぁARMのサポートはあまりに煩雑過ぎてリーナスも困ってるぐらいなのでこれからの標準であるARMv7に絞るのは妥当な判断ではあるのですけど……。

肝心の発売日ですが今の予定では今年の11月頃になりそうとの事。日本から買えるのかという問題ですが一応説明を読むと世界対応という事と最低一台からでも購入可能との事なので送料はともかく日本からも買えることは可能みたいですね。出来ればBeagleBoardのように簡単に注文できるようになると嬉しいのですけど。このRaspberry Piは、これからもチェックしていきたいと思います。

#YouTube
Raspberry Pi - Quake 3 demo - YouTube
http://youtu.be/e_mDuJuvZjI



#外部リンク
Raspberry Pi | An ARM Linux box for $25. Take a byte!
http://www.raspberrypi.org/

RaspberryPiBoard - eLinux.org
http://elinux.org/RaspberryPiBoard

キーホルダーにも付けられる超小型PC–Raspberry Piはこれを25ドルで売り出すつもりだ
http://jp.techcrunch.com/archives/20110505raspberry-pi-a-25-bare-bones-pc-that-fits-on-your-keychain/

[Phoronix] Broadcom Crystal HD Support For MPlayer, FFmpeg
http://www.phoronix.com/scan.php?page=news_item&px=ODk2Ng