2008/05/08

Ogg TheoraとDaVinci Technology

もう誰も覚えていないかもしれませんが、以前「Neuros OSD」というオープンソースモデルの据え置き型ビデオプレイヤーについて紹介した事があります。実はそのNeuros OSDにもうすぐ新型が登場するらしいのです。その名も「OSD 2.0­ Archiver II」。内容は後で紹介するPDFで確認してもらうとして、このOSD 2.0に使われているSoC? がPandoraでも使用されているTIのDaVinci Technologyを搭載しているチップらしいのです。全然別物かもしれませんが、これはOmap3530に搭載されている「TMS320C64x+」DSPと互換性があるチップなのかなぁと個人的には思っているのです。

で、このNeurosという会社のおもしろいところは、TIと組んで自社製品の積極的な「ハック」を禁止するどころか、逆に賞金まで出して応援しているところなんです。そのバウンティのいくつかにとても興味深いものがありましたので、いくつか紹介します。まずは「FFMPEG VLC DaVinci porting and optimization with audio codec support for Ogg/WMA/AC3/AAC/FLAC/MP3」。DaVinci上にFFMPEG VLCを移植して、Ogg/WMA/AC3/AAC/FLAC/MP3といったオーディオコーデックを最適化しようというプロジェクト。これが上手く行けば、そのままPandoraにも持ってこれるかも? そうだとしたら、これらを使ったアプリケーション、ゲームのCPU使用量が抑えられ、結果的にバッテリーの持ちが伸びるかもしれませんね。CPUを別の処理にまわせますし。後はOSD20の開発環境に、例のOpen Embeddedを移植すること。これは既にKoen氏が動いているらしい? しかもかなり簡単に移植できるらしい? 直接Pandoraとは関係ないかも(笑)。

で、最後に気になったのが、先ほど書いたDaVinci上でのOgg Theoraコーデックの移植作業。これはバウンティという訳ではなく、NeurosのGSoCの1つらしいです。でも、このプロジェクトが上手くいったら、PandoraやOSD 2.0­ Archiver IIで、Ogg Theoraがハードウェア処理で再生できるかもって事ですよね? いやぁ、個人的にはかなり嬉しいのですけど。これでようやく、Theoraも実用的な使い方が出来るってもんです。SoC上でサポートされれば、いろいろと使い方がありそうですもんね。例えば、KIOSK端末上でのビデオ再生とか、勿論、Pandoraでのビデオ再生、ゲーム上でのビデオ部分を担当したりも出来そうです。パテントフリーで使えるとなると、いろいろと楽そうですもんね。それと、本筋であるOSD 2.0­ Archiver IIでのIPTV配信。パテントフリーのOgg Theoraもサポートされていれば、商用サービス以外のIPTVにも道が開けてきそうですもんね。素人の劇団のビデオとか、アマチュアのスポーツの中継とか……。

#外部リンク
OdNT - open.neurostechnology.com | The Power of Freedom
http://open.neurostechnology.com/

Summer of Code 2008/Ogg Theora Codec - The Neuros Technology Wiki
http://wiki.neurostechnology.com/index.php/Summer_of_Code_2008/Ogg_Theora_Codec

Neuros and Texas Instruments create new bounty program for next-gen Open Internet Television Platform | OdNT - open.neurostechnology.com
http://open.neurostechnology.com/content/neuros-and-texas-instruments-create-new-bounty-program-next-gen-open-internet-television-pla

Bounties | OdNT - open.neurostechnology.com
http://open.neurostechnology.com/category/projects/bounties

#内部リンク
BLOG.MINAWA.NET: Neuros OSD Linux Media Recorder Beta
http://blog.minawa.net/2006/09/neuros-osd-linux-media-recorder-beta_9686.html

BLOG.MINAWA.NET: FreescaleとWILLCOM
http://blog.minawa.net/2006/09/freescalewillcom_5805.html

BLOG.MINAWA.NET: GP2X F-200 Game System
http://blog.minawa.net/2007/11/gp2x-f-200-game-system_6294.html

Pandoraのハードウェア支援 #02

続きです。Pandoraというか「Omap3530」のハードウェア支援ですが、まず第一は「ARM Cortex-A8」です。これにはいろいろとおまけ機能がついているのですが、一番大きな特徴は「NEON」というSIMD命令セットの搭載らしいです。簡単に言っちゃうとMMXみたいな機能でしょうか。ちらっと調べたみたら、このNEONに最適化したコードを使うとMP3のデコード処理がたったの9.4MHzで出来ちゃったりするみたいです。その他にもOn2がこのNEONを使って最適化した高性能ビデオ・コーデックを公開したらしいですね。まぁOn2のやつは無料で使えるって訳じゃなさそうですが(笑)。そのNEONについての情報も、徐々にですが公開されだしていますので、すぐにとはいかなくとも、いずれは有能なコーダーによって使用可能になるかと思います。

次に「PowerVR SGX」。実はこれが一番厄介でして、残念ながらドライバー自体はオープンソースとして公開されることは無いと思います。ただし、TIのドキュメントを見ると、LinuxカーネルのOmapツリーに対応したドライバーが提供されるらしいので、少なくともTI純正のLinuxカーネルを使用する場合は、OpenGL ESに対応したドライバーが使用可能になるのではないかと思います。多分ですが、Linux環境における純正nVidiaドライバーのような存在になるのかな? 大満足とはいかないけど、完全に使えないよりはだいぶマシだと思います。

最後に「TMS320C64x+」ですが、これはなかなか期待できるのではないかと思っています。というのも、このDSPは単体でもかなり強力なパワーを持っているらしく、特にビデオのエンコード、デコードでは、かなりのパフォーマンスが期待できるからです。しかも、こちらは「PowerVR SGX」と違って、無料で使えるコンパイラや、Linuxカーネルと連携できる「DSP Gateway」といったツールが公開済みだからです。無論、公開されたからといって、誰もが簡単に活用できる訳ではないですが、幸い、Pandoraのデベロッパーや有名コーダーの人たちには、これらの機能を生かせるくらい有能な人材が何人かいるので、時間はかかるでしょうが、何らかの形で、この強力なDSPを生かす事ができるのではないかと思います。

具体的に言うと、第一はやはり、新たなビデオ、オーディオコーデックのDSPによる処理。ぶっちゃけちゃうと、「Ogg Theora」のハードウェアデコードです。こちらは既に計画されているようです。ちょっと長くなるので、また別の記事で書きますけど。後はDSPによるエミュレーターの画像フィルタとかですかね。2xSaIとか?最後にもう一度書きますが、すべて素人の妄想です。かなりの間違いが含まれている可能性大ですので、ネタ記事だと思ってください。

#外部リンク
Open source projects supporting Texas Instruments products fostering innovation | Texas Instruments
http://www.ti.com/corp/docs/oss/opensource.html

Neon Instructions - GP32X.com - GP32 GP2X Pandora The Wiz - open source entertainment
http://www.gp32x.com/board/index.php?showtopic=41883

Slides from TI developer conference (TIDC) open source session(PDF)
http://www.beagleboard.org/uploads/tidc_opensource.pdf

Pandoraのハードウェア支援 #01

以下の文章は、私の妄想に過ぎない専門家からみたら嘲笑ものの意見かもしれません。でも頭に浮かんできちゃったので本能に任せるまま毒電波を出しつづけることにします。例によって素人の戯言なのであまり本気に考えないでください。

さて我らが夢のハード、Pandoraですが皆さんもご存知のとおり、中の人はTIの最新SoC「Omap3」シリーズの一つ、「Omap3530」です。この「Omap35x」シリーズは現在4つの製品が発表されています。
OMAP3503 ARM Cortex-A8
OMAP3515 ARM Cortex-A8,PowerVR SGX
OMAP3525 ARM Cortex-A8,TMS320C64x+
OMAP3530 ARM Cortex-A8,PowerVR SGX,TMS320C64x+

簡単に分けると以上のような特徴を備えている訳です。「ARM Cortex-A8」は基本となるARMコア、「PowerVR SGX」はOpenGL ES、「TMS320C64x+」は強力なビデオ・アクセラレータ能力を持つDSPです。Pandoraは「Omap35x」シリーズの中でも最高峰の能力を持つ「Omap3530」ですので、ハードウェア的には全ての能力を備えた万能SoCという事になります。

ここで問題になってくるのは、その強力なハードウェア能力を遺憾なく発揮できるのかという事です。ここでパソコンを思い出して下さい。皆さんが通常使っているパソコンは、たいていウィンドウズというOSが使われています。このOSのシェアは非常に強力でほぼ100パーセントに近いと言っても過言ではないでしょう。ですのでOSメーカーが頑張らなくともハードウェアメーカーからウィンドウズで自社の製品を動かすためのドライバーを用意してくれたりする訳です。

しかし、それ以外のOS、例えばLinuxなんかはそう簡単にドライバーを用意してくれないハードウェアメーカーも多いのです。最近ではインテルのお陰で、だいぶ進歩してきましたけどね。現に、私がデスクトップとして使っているパソコンのビデオカードである「Radeon」なんかは、同じビデオカードでもウィンドウズ環境と比べると、かなり挙動がおかしかったりします。まぁAMDに買収されてから、かなりの進歩は見せていますけどね。それでも、まだ厳しい面もあります。

と、このように同じハードウェアでも、それを上手く使えるかはメーカー、あるいはコミュニティが提供してくれるドライバーの出来に大きく左右されてしまうのです。で、肝心のパンドラ向けのドライバー(その他もありますが)ですが、伝え聞く情報によると、TIのOSSに対する理解が進んでいるせいか、かなり明るいみたいです。余計な事ばかり書いていたので、長くなってしまいました。一旦終了します。

2008/05/04

ZodTTD氏がPandoraを入手

最近iPhoneとiPod Touchばっかり弄くっているZodTTD氏ですが、昨日Pandoraのデベロッパーバージョンを受け取ったみたいです。まだ弄くっていないみたいですが、かなり印象は良さそうです。これでPandoraでのプレイステーションとOpenTTDは安泰ですね(笑)。
Today I am working with a very cool upcoming gaming handheld. It will run all the emulators you see here and much much more. It should be capable of fullspeed Sony Playstation 1, with the ability to beat out the PSP in performance of emulators such as N64. It's a beast, and best of all it's 100% homebrew friendly. No jailbreaking needed, no unlocking, no fuss.
やっぱり野獣ですか(笑)。何かいい響きですね。ビーストって……。まぁPandora上でのpsx4allは、現在ZodTTD氏というより、Tinnus氏が中心みたいですけど。というかpsx4allは個人の作品というより、数人のデベロッパーが取り組んでいるチームでの開発らしいです。

で、そのTinnus氏によると、現在の段階でpsx4allのOpenGL ESバージョンの移植はほぼ終わっており、後は実機でのバグ出しといった状況らしい。Pandora向けの解像度での描画なども考慮されており、なかなかの仕上がりみたいです。多分最初のリリース時から、フルスピードに近い状態でプレイできそうです。楽しみだな。

ついでに書くと、Squidge氏もSNESエミュレーターの移植(ダイレクトポート)を完了しているそうです。まだ最適化は行われていないと思いますけどね。素でGP2Xより3倍くらい速いと思うので、解像度のオーバーヘッドを考えても既に遊べそうです。多分ですが。

#外部リンク
ZodTTD: Home Of Homebrew
http://www.zodttd.com/wp/

Pandoraのベースシステムを予想する #04

もう5月ですね。温度も段々と暖かくなってきたしすぐに夏になっちゃいそうだな。早いなぁ。私はと言えば、懲りずにPandoraのソフトウェアについて考えている訳です。他にやる事ないのかい。以前書いた時と状況はそんなに変わっていないのですが、今までで掴んだ情報を自分なりにメモしておきたいと思います。例によって、大半が妄想混じりなので、あんまり鵜呑みにしないでください。
#開発環境?
openembedded

正直、openembeddedがどういった役割なのか今ひとつ理解していませんが。組み込みLinux環境を整える為のフレームワーク? 包括的なツール群? ビルトツール? プログラマじゃないのでよく理解出来ていません。

#ディストリビューション
Angstrom
Poky
Mamona(一応)

この中で一番可能性が高そうなのが「Angstrom」でしょうか。「Poky」というのはopenembeddedの派生プロジェクト? Angstromより、自由度は無いがその分枠組みがきっちりしている? 基本的にGNOME Mobileに準拠? 「Sato」というMatchboxのテーマを使用しており、とても綺麗な外観。

MamonaはMaemoのOSS実装? 基本的にMaemoからプロプライエタリ部分を除去している(Wifi部分の実装とか?)Mamonaはデフォルトでの搭載はあまり無いかなぁ。

#GUI?
Open2x-style(シンプルモード)
and
Matchbox? (アドバンスモード)

フォーラムの情報をみると、発売時はやはりエミュレーター用の「シンプルモード」とPDA環境の「アドバンスモード」の2つの環境が用意されるみたい? シンプルモードはX環境を含まないGP2Xと同様な感じ。ブート時間の速さ、余計なものをロードせず純粋にパフォーマンス(主にエミュレーター)重視の環境を目指す? X環境ではなく、フレームバッファ。シンプルなランチャーのみ?アドバンスモードは、いわゆるPDA環境。純粋なパフォーマンスでなく、利便性を重視。PIMやウェブブラウザ、ワードプロセッサーなども視野にいれている? もちろん、X環境。

ちなみに、フォーラムの主要メンバーであるDJWillis氏は上述のPoky環境を試してみたらしいです。かなり気に入ったらしい。ちなみにSatoっていうのはOLPCの「Sugar」に引っ掛けてるのかな。「砂糖」だし。それとPokyと関連したプロジェクトで「Clutter」というOpen GL /ES のライブラリ? があるのですが、これとWebkitの組み合わせは、かなりクールだそうです。Clutterのウェブサイトに、それらしきデモビデオがあるのですが、確かにスゴいです。

もしこの環境がPandoraで正常に動作するなら、私もPokyとClutterの組み合わせは正式導入して欲しいですね。まぁDJWillis氏によると、まだほんのお遊び程度で入れただけなので、実際にどの環境が実装されるのかは全然、決まっていないみたいですけど……。

Mamonaも気になると言えば気になりますね。何が一番気になるかって、最近、発表されたAdobeのFlash環境の大幅緩和。あれにより、モバイル環境でのFlashプレイヤーのライセンスが無料化されるみたいなのです。運良く、Maemo用のARM版Flashプレイヤーが開発されたみたいなので、Nokiaのタブレットシリーズに搭載されるのならば、同じOMAPシリーズであるPandoraでも動く可能性が高いですからね。Maemoとほぼ同じであろうMamona環境なら、尚更です。まぁ適当な考えですけど。

でも、ほとんどの環境はARMv7用に作られていないので、パフォーマンス的にはあまりよくないかもしれませんね。Angstromは、BeagleBoardのお陰で、テストイメージが既に作成されているみたいですけど……。

#外部リンク
OpenedHand » Intel acquires OpenedHand
http://o-hand.com/index.html

Poky Platform Builder
http://pokylinux.org/

Clutter Toolkit
http://www.clutter-project.org/

Blog | Clutter
http://www.clutter-project.org/blogs

2008/04/25

Pandoraのベースシステムを予想する #03

今日もしつこくPandoraのベースシステムについて妄想している訳ですが、やっぱり当初はディストリビューションにAngstromというのが本命な気がしてきました。何故かというと現在Angstromというか、OpenEmbeddedを引っ張っているkoen氏が、既にBeagleBoardを入手している事。

更にBeagleBoard上でAngstromが動いていること。その場にいたTIの社員? であるJason氏がPandoraのフォーラムのメンバーであるJadon氏と同一人物らしい事。更にGP2Xのオープンファームウェアプロジェクト「Open2x」のメインメンバーであるDJWillis氏が、フォーラムでテストボード上でAngstromを走らせたという情報が出ていること。あくまで私の推測というか希望的観測ですけどね。もしkoen氏がPandoraに協力してくれるのなら、PDA系のシステムが大幅に強化される事は間違いないですからね。是非ともそうなってほしいです。

#外部リンク
Angstrom running on the beagleboard | Koen's blog
http://dominion.thruhere.net/koen/cms/angstrom-running-on-the-beagleboard

Beagleboard in the wild | Koen's blog
http://dominion.thruhere.net/koen/cms/beagleboard-in-the-wild

beagleboard/cortex-a8 performace - Beagle Board | Google グループ
beagleboard/cortex-a8 performace - Beagle Board | Google グループ

Main Page - Open2x
http://wiki.open2x.org/open2x/wiki/index.php?title=Main_Page

2008/04/24

Handhelds Mojo

最近Pandoraについて、いろいろと調べていたらスゴい魅力的な情報ばかりが目に飛び込んできます。今回紹介する「Handhelds Mojo」もその1つ。簡単に言っちゃえば「ARMアーキテクチャに特化したUbuntu(Debian)」でしょうか。Debian本家にもarmアーキテクチャのバイナリが用意されていますが、そのバイナリが「OABI」と「EABI」という2つがあり、現行のアーカイブは古い「OABI」なんだそうです。徐々に「EABI」に対応したバイナリを増やしているみたいですね。

ちなみに、Pandoraのシステムも、新しい「EABI」に準拠するみたいです。また、Debianにアーカイブされているバイナリは、いくつかあるARMアーキテクチャを1つにまとめたもの。よくわかりませんが、x86で言う所のi386とかi686とかを引っくるめて、「i386」にしているみたいな状況らしいのです。多分ですが。

そこで思い切ってARMアーキテクチャだけのディストリビューションというか、バイナリのアーカイブを作っちゃおうというのが、この「Handhelds Mojo」らしいです。その際にいろいろ分かれているARMアーキテクチャをそれぞれ別々にコンパイルして配布もしちゃおうという計画らしいです(XScale, ARMv5EL, XScale 2, ARMv6, ARMv6el-vfp, ARMv7みたいな感じで)。正直、スゴくないですか?

確かPandoraのCPUであるARM Cortex-A8はARMv7でしたから、いずれはCortex-A8用のバイナリも用意されるって事だと思います。今はまだ無いようですが。ちなみに配布されるディストリビューションは以下のようです。
Frisky Firedrake
Based on Ubuntu 7.04 "Feisty Fawn".
Stable.
Grumpy Griffin
Based on Ubuntu 7.10 "Gutsy Gibbon". In progress.
Hasty Hippogriff
Based on Ubuntu 8.04 "Hardy Heron". Not yet started.
現在はUbuntu 7.04相当のFrisky Firedrakeしか用意されていないみたいですね。しかもARMv5ELのみみたいです。残念。でも、これってスゴいですよね。コンパイルもクロスじゃなくて、ネイティヴらしいし。どうもクロスだと互換性に問題が出やすいらしい。これ、個人でやってたら、時間がいくらあっても足らなそう。ちなみにNokiaが出資してくれているらしいです。あと多分ですがTIも。やっぱり来るべきインテルのAtomとの最終戦争に向けて、各社ともいろいろと動き出しているみたいですね。いい加減な憶測ですが。

#外部リンク
Ubuntu ported to ARM - News - Linux for Devices
http://www.linuxfordevices.com/c/a/News/Ubuntu-ported-to-ARM/

Pandoraのベースシステムを予想する #02

この前はディストリビューションにAngstrom、GUIにGPEとか書いたのですがHandhelds Mojoみたいなプロジェクトが出てくるとどうかわかりませんね。確かに今すぐに使える代物ではないかもしれませんが、PandoraというかOMAP3530クラスの強力なSoCになると、多少重いかもしれませんがPDAというより、もう1ランク上の環境でも充分使い物になるかもしれません。もしHandhelds Mojoの環境を使うとしたらGUIというかデスクトップ環境はNokiaのn8xxシリーズに使われている「maemo」、あるいはmaemoベースの「Hildon」辺りも充分考えられるかも?

まぁ妄想ですけどね。でも、日本語環境とか考えると、このくらいリッチな環境の方が後々楽なんでしょうけどね(笑)。ちなみにインテルの「moblin」プロジェクトもHildonなんですよね。確か。そうなったら、本当に「Atom」と「Arm」の代理戦争みたいになって楽しいんですけどね(笑)。余談ですがウィルコムのAtom端末「D4」も、思い切ってmoblinで出したらおもしろかったに。せっかく、ザウルスのシャープが端末作っているんだから。そしたら、本当のザウルス携帯になったのにな(笑)。

#外部リンク
GNOME Mobile
http://www.gnome.org/mobile/

Hildon - GNOME Live!
http://live.gnome.org/Hildon

maemo.org - maemo.org: Home of the Maemo community
http://maemo.org/

moblin.org
http://moblin.org/

2008/04/22

BeagleBoard.org

Pandoraのフォーラムを見ていたら、このウェブサイトがリンクされていたのでメモ。どうやら、TIの社員の人たちが立ち上げた"small dreams"というプロジェクト一環らしいです。OMAP3シリーズを使った「Beagle Board」という低価格ボードの支援サイトみたい。ちなみに、ちょろっとだけPandoraの紹介もされています。

このウェブサイトや、他のニュースを見る限り、TIのオープンソース支援はかなり本格的なものになりそうですね。素晴らしい。まぁ実状としては、インテルのAtomに相当警戒心があるのかもしれませんが(笑)。直接被っている訳じゃないですけどね。Atomの領域とOMAPは。ただ、そのうち書くだろう某プロダクトに関しては、結構被っている所もあると思います。どちらにしろ、良い事だと思います。

#追記
今、BeagleBoardの仕様のページ見ているのですが、かなりクールな内容ですね。これはこれで欲しいかも(笑)。まぁ私が持ってても宝の持ち腐れですが(苦笑)。150ドル以下? 内容的にほぼPandoraですが、Pandoraに付いていないDVI-D出力ついてるし……。てか玄箱?

想定しているのは、組み込みシステムに興味がある学生さんみたいですね。後は金のない業者(笑)。大企業並みの手厚いサポート無しだけど、皆で開発環境整えて行こう! みたいなノリですかね。ちらっと見ただけですけど。

#外部リンク
BeagleBoard.org - default
http://beagleboard.org/

BeagleBoard.org - hardware
http://beagleboard.org/hardware/

2008/04/21

Pandora Wikiの日本語ページが出来ていた

ちょっ、そろそろPandora Wikiの日本語翻訳でもしようかと思ってたら、もう日本語化されてました。はやっ。誰だかわかりませんが、心強い味方になってくれそうです。ありがとう。GP2Xのwikiも多少手伝ってくれた方がいたのですが、pandora wikiはなかなか幸先が良いスタートが切れそうです。私もwikiのアカウント作ろうかな。でも、まだ詳細が出ていないからなぁ。プログラマーじゃないから、あんまり手伝えないし。

#外部リンク
Main Page - Pandora Wiki
http://www.pandorawiki.org/Main_Page

Jp:Main Page - Pandora Wiki
http://www.pandorawiki.org/Jp:Main_Page