HOME   »  備忘録
Category | 備忘録

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

モバイルガジェットの位置認識ってどうやってるの?

同じ家、同じ部屋にいるのに緊急地震速報が届く人と届かない人がいる、なんで~~?
ってお話を見ていて、ふとモバイルガジェットの位置認識について知らない人も多いかも?と思い、簡単にまとめてみた。


昔はカーナビくらいしか位置情報を取得するガジェットはありませんでしたが、
今では携帯電話やスマートフォンはもちろん、携帯ゲーム機などいろんなモバイルガジェットで位置情報を取得するものが出てきました。

みんな当たり前のように使っているけれど、なんでガジェットの位置が分かるのか知っていますか?
位置認識=GPSっと言うのは正しい。
だけれどそれならGPSがついていないiPad WiFiモデルで、なんでマップ機能が大まかながら使えるの?
そして、iPadやPS Vitaのように、なんで3G+WiFiモデルじゃないとGPS機能がついていないの?
そのあたりも含めて書いてみます。
(※経緯を書くと膨れあがっちゃうので、その部分は今回は割愛)


GPS(Global Positioning System/汎地球測位システム)とは?
地球上の上空2万メートルを飛んでいる衛星(約30個)から電波が発信されていて、ガジェットでその電波を受信し、
受信した電波はどの衛星がどこを飛んでいるときに発したものかを調べ、その情報が3つ以上の衛星から取得できれば、
三点測量の要領で位置情報を割り出すことができる位置認識システム
のことです。
(※実際にはもう少しややこしいけれど、こういう認識でだいたいあってます)

初期のGPSを使ったことがある人、もしくはPSPのGPSユニットを使ったことがある人がいれば分かると思いますが、
GPSでの位置認識ってすっごく時間がかかります。
理由は衛星から出ている電波を解析して、どの場所からいつに発せられたものかを知るために1衛星あたり約30秒ほどかかるんですが、これが最低でも3つの衛星とやりとりを行わないといけないこと、さらに実際には3つの衛星からの電波を取得できるまで何回も電波の受信、解析が行われるため、その処理時間が膨れあがるからです。


これではスマートフォンのようにマップアプリを立ち上げたらすぐに位置情報が知りたいという要望にはとても答えられません。
そこで現在の携帯電話/スマートフォンに搭載されているA-GPS(Assisted-GPS)が登場します。

A-GPSとは?
GPSの位置認識で一番時間がかかっているのは、受信した電波の衛星が、その電波を発信したときにどこにいたのか?を解析する部分です。
いくら衛星の軌道が決まったコースを動き続けているとはいえ、普通にやればその範囲は全世界規模ですからね。
そこで、A-GPSでは携帯電話の基地局の場所から、現在その場所にいる衛星の(位置)情報を取得し、衛星からは時刻情報だけを取得すればすぐに位置の照合、認識ができるようしました。
(※衛星の位置情報を計算しているのは基地局ではなく、その後ろにあるA-GPSサーバの役割です)
その位置認識の速さは最近のスマートフォンを使っている人は体感して分かっていると思います。

っと、言うことで最初に挙げた疑問「なぜ3G搭載モデルじゃないとGPS機能がついていないのか?」の答えがここにあります。
つまり、最近のモバイルガジェットに搭載されているGPSとはA-GPSのことで、これは携帯電話のデータ通信回線がないと衛星の位置情報を取得できず、A-GPSが機能しないからです。
その気がある人は試してもらってもいいですが、例えばiPhoneでSIMを抜き、WiFiにも接続しない状態でマップアプリを起動すると位置認識ができないか、変な位置にいると認識するようになると思います。
(これってつまり、私みたいに3Gデータ通信OFFにしているiPhoneだとA-GPSがうまく起動していないってことかな?)

ちなみに携帯電話のどの基地局からの電波を受信したのか?の情報も加味されているので、マップアプリを起動した際に
最初バクっとした円が出るのが基地局のカバー範囲、次に一気に円が狭まるのがA-GPSの効果だと思っておけばだいたいOKです。


GPS機能付きの位置認識は分かった。
だけれどiPod touchやiPad WiFi版のようにGPSがついていないものでも、けっこう正確に位置認識ができているのはなぜか?
それはWiFiからの位置推定が行われているからです。


WiFiからの位置推定とは?
WiFi、正確にはWiFiのアクセスポイントの情報から位置を推定することができます。
さっきの携帯電話の基地局から位置が分かるのと同じようなものと思えばだいたいあってます。
とはいえ携帯電話の電波は数km飛ぶのに対してWiFiは(遮蔽物がなければ)せいぜい20~30mほどしか飛ばないので、その位置精度は非常に高いです。
技術的にはソニー系のPlaceEngineとアメリカ系のSkyhookの2種類がメインかな?
たしかApple製品にはSkyhookが使われているはずです。

ここまで読んで不思議に思ったことはありませんか?
『WiFiのアクセスポイントから位置情報を推定って言うけれど、そもそもどのアクセスポイントがどの場所にあるのかってどうやって調べてるの?』
多くの人は自分のWiFiアクセスポイントの場所を登録したことなんてないと思います。
(企業が置いているアクセスポイントはおそらく位置情報を登録していると思います)
その答えは
『GoogleがGoogle Mapのストリートビュー用の撮影を行うのと同時にWiFiアクセスポイントと位置情報を収集していた!』
です。
もしかしたらIT系情報サイトを見ている人はこの記事のことを覚えている人がいるかな?

Google、Wi-Fiの通信内容を「意図せず」収集~謝罪して運用を停止
http://internet.watch.impress.co.jp/docs/news/20100517_367555.html


Googleって昔から個人情報?の無断収集とサービスへの利用やってんじゃん(・∀・)
この記事の内容を読む限りだと、少なくとも2年前まではストリートビュー撮影と同時にWiFiのアクセスポイントと位置情報のマッチングは行われていて・・・おそらく今はストリートビュー用ではない、WiFi位置推定用の車両で世界中を走り回ってるんじゃないかな。

よって『WiFiモデルでマップ機能が大まかながら使える』のは
『WiFiアクセスポイントと位置情報がすでにデータベース化されているのでWiFiに繋げば位置が分かる』からです。

ちなみにこのことを踏まえて考えると・・・
京都で使っていたWiFiルーター(Googleにより位置情報登録済み)を引っ越しなどで東京に持っていくと、ルーターを東京で使っているのに位置情報としては京都と認識される可能性があるのかな?
いや、IPアドレスからおおよその位置(地域)が分かるから、データ不整合ってことで逆に位置が定まらない可能性があるか。


っと、言うわけで簡単と言いつつも長文になりましたが、モバイルガジェットはどうやって位置認識をしているのかというお話でした。


PS.
ちなみにカーナビの位置認識は上記のようなA-GPSやWiFiからの推定は行っておらず
1.GPSから大まかな位置情報を取得する
2.カーナビに内蔵されている地図情報と照合し、補正許容範囲内に道路があればそこに車を表示する
  (範囲内でなければ取得した位置に表示する。これが田んぼの真ん中を走る車が表示される理由)
3.備え付けカーナビならタイヤの回転数などの情報から、外付けカーナビなら加速度センサなどから、
  車がどの方向にどのくらいの距離進んだのかを計算し、その結果をナビ上に表示する
  (トンネルの中のようにGPSの電波がひろえないところでもナビ上では表示が動いている理由)
4.所定の間隔で1.のGPSからの位置情報を取得し、現在位置の補正を行う
以上のアルゴリズムが基本形として位置認識が行われています。
(メーカーによってここからさらに精度を上げるための工夫がされていますけどね)


PS2.
あえて触れなかったけれど、モバイルWiFiルーターを使ってる場合はどうなの?という疑問があるかもしれない。
実際にモバイルWiFiルーターに繋いでマップアプリを起動すると大まかながら位置認識をしている。
このことについては確定情報を持っているわけじゃないので触れなかったんだけれど、
おそらくWiFiルーターの基地局の位置情報+αの情報で位置認識をしているんじゃないかな?
固定アクセスポイントだけでなく、モバイルのものでも位置認識がかなりの精度でできるってすごいですよ。

スポンサーサイト

【備忘録】Dropboxで共有フォルダを作っちゃおう

前回はDropbox内にあるファイルを1ファイルずつアドレスを取得して相手に送る方法を紹介しました。
今回は、自分以外のアカウントの人と共有フォルダを作る方法を備忘録としてまとめておきます。

私の使い方の場合、コミケの原稿を保存しているフォルダを編集長と共有し、進捗状況の確認と作品提出が容易にできるようにする、ってところでしょうか?w
これまでは書き終えるたびにメールで送り、修正依頼が帰ってくると書き直して再度メールで送るってやりとりをしていました。
もしこれがうまく機能すれば、メールで送れる制限容量とか関係なくやりとりできますね!

さて、具体的な方法ですが・・・

20120328-8

まずDropbox上のフォルダを選択し、コンテキストメニューを表示、『Dropbox』→『このフォルダを共有・・・』を選択します。


20120328-9

するとブラウザが立ち上がり、こんな画面が出てきます。
上のテキストボックスにはフォルダを共有したい人のDroboxのアカウント(メールアドレス)を、下のテキストボックスには適当なメッセージを入力し、フォルダの共有を選択します。


20120328-10

すると、さっきまで普通のフォルダアイコンだったのが共有フォルダを示すアイコンに変わりました。
こちら側(送信側)で行う作業はこれでおしまいです。


20120328-11

次に相手側(受信側)のDropboxのWebサイトに行くと、左のメニュー部分の共有のところにマークが出ているのでクリック。
すると下の方に『新しい共有フォルダの招待』というのがあるのでこれをクリックします。

20120328-12

誰から来ている招待なのかもちゃんと表示されるので、それを見て承認/辞退を選択してください。
ここで承認すると・・・


20120328-14

このように相手側のDropboxの中に共有フォルダが自動的に作られます。
これでお互いの準備は完了。
あとはここに必要なファイルを放り込むだけで共有設定をしている人全員がアクセスできます。

まだ使い込んでいないので、同時に二人以上のユーザがファイルを編集したらどうなるのか?
(ファイル自体はローカルにあるので開いて編集することは可能)
保存のタイミングが遅かった方で上書き保存されるのか?
もしくは競合があったことを教えてくれて自動的に別名でファイルが保存され、マージは自分でしてねってなるのか?
そこまでは確かめられてないです(^◇^;)


20120328-15

ただ、この方法だと他の人が共有フォルダにガンガンデータを入れちゃうと、自分のDropboxの容量を消費されちゃうので注意が必要です。
私はいろんなキャンペーンを渡り歩いて9.5GBまで無料できたので余裕があるけど、普通の人は2.0GBだからね(^◇^;)


っと、言う感じででDropboxを使ったTipsでした。

【備忘録】Dropboxに置いたファイルを他の人に渡す方法

先日TL上で大きなファイルをどう相手に渡す?って話が盛り上がっていたのを見ていると『Dropboxを使わないんですか?』というような話がありました。
普通に複数のマシンでフォルダを同期して便利に使ってるDropboxだけれど、意外と知らないことがあるかも・・・
っと、言うわけで備忘録としてまとめてみた。

20120328-1

まずDropboxをインストールしたときにフォルダが作られると思いますが、このうち『Public』『Photos』だけフォルダアイコンが少し違います。
違うってことは、何か特別なことがあるっていうことです。


20120328-2

まず『Public』ですが、ファイルを選択してコンテキストメニューを開き、
『Dropbox』→『パブリックリンクのコピー』
を選択します。


20120328-3

すると上記のようなアドレスが取得できるので、このアドレスをファイルを渡したい相手に教え、ブラウザなどで見てもらうとダウンロードすることができます。


20120328-4

違うマシンでデータを見ているってことを証明?するためにWindows側で先ほどのアドレスをブラウザのアドレスバーに入力すると・・・ちゃんと指定したファイルが簡単にダウンロードできました。


20120328-5

ちなみにPublicフォルダ以外のフォルダにあるファイルでも『リンクの取得』があり、先ほどのアドレスとは違い、若干複雑で長いアドレスが取得できます。


20120328-6

今回はうまく繋がってファイルがダウンロードできたけれど、https接続なので場合によっては繋がらないこともあるかもしれません。
なので、自分が持ってるなんらかのファイルを相手に渡したいときは『Public』フォルダに置いて、『パブリックリンク』を相手に伝えてダウンロードしてもらうのが良いですね。


20120328-7

ちなみに『Photos』が特別なのは、このフォルダにあるファイルのは『リンク』が出てこないということです。
まぁ、プライベートな写真が全世界に簡単に公開されるのは抵抗がありますからねぇ・・・
って、この間追加されたモバイルデバイスの写真が自動でアップロードされる『Camera Uploads』は普通のフォルダだからリンクがでちゃうんですけどw
カメラで撮った写真なんだから、保存するのは『Photos』フォルダだったり、『Camera Uploads』もリンクが出てこない特別なフォルダにすればいいのに・・・
まだこの機能はβ版なのかな?

っと言うわけで、手元にあるファイルを第3者にDropbox経由で渡すことはこんな感じで簡単にできます。
今回はMac上で操作してますが、これは当然Windows上でも同様に操作することでできるのでご安心をw

ただ、これはあくまで少しのファイルを少しの人数に渡す向けで、これが大量のファイルを多くの人に渡すとなると一仕事になっちゃいます。
そんなわけで、次回はDropboxで共有フォルダを作り、たくさんのファイルだろうが、大人数でも関係なくファイル交換、参照ができる方法を紹介します。




【備忘録】Ustream配信環境を整えよう -FMEで配信編-

前回Macに対応しているWebカメラを持っていなかったためにできなかったFMEを使っての高画質配信環境を整備してみよう。


まず今回使う私の手持ちのWebカメラはこちら

20120215-5

Logicool の 2.0-MP Webcam 9000です。
2年くらい前に買った製品ですが、ハイビジョン撮影ができて、さらに露光とかパラメータが比較的自由に変えられて便利です。

1.FMEを入手し、インストールする
正式名称は『Adobe® Flash® Media Live Encoder 3』と言います。
こちらのサイトで入手できるのでダウンロードし、インストールしましょう。
http://www.adobe.com/jp/products/flashmediaserver/flashmediaencoder/

20120215-6

起動するとこんなアプリが立ち上がります。
FMEのページに書いてある通り、高画質なストリーミング放送を行うためのエンコーダーです。
ニコ生とかでも使えるけれど、Ustreamとすごく親和性が高いです。
ちなみにソフトはMac/Windows両方ともあるので、Mac用WebカメラさえあればMacでも配信できるはず。


2.自分のチャンネルのプロフィールファイルを手に入れる
配信ソフトがあっても、どこに動画をストリーミングとしてアップロードしたらいいか分からなければどうしようもありません。
そんなわけで、自分の番組のプロフィールが書かれたファイルを入手しましょう。

20120215-7

まずはUstreamのページに戻り、自分のアカウントの横の三角を押してメニューからダッシュボードを選択。


20120215-8

ダッシュボードでいろいろ出てくる情報の中から『番組設定』『リモート』を選ぶ。

20120215-9

するとモロ、Flash Media Encorder XMLファイルがあるので適切なところにダウンロードする。


3.FMEの設定をする
設定と言ってもそれほど難しくありません。

20120215-10

左上のFile Openを選び、さっきダウンロードしたXMLファイルを選択する。

20120215-11

するとアプリの右端のURLなどを入力するところに自動的に情報が入力されて、これでどこにストリーミング映像を配信すればいいか設定が完了です。
すぐ下のconnectボタンを押すとFMEがUstreamの自分のチャンネルとリンクするようになります。

あとは左側にある映像と音声の設定を行うだけ。

20120215-12

設定を行うと言ってもInputSizeOutput Sizeくらいだと思います。
当然ですが画像を大きくすればするほどマシンとネットワークに負担がかかります。
何回か放送テストをしてみて、自分のマシンと回線にあったサイズ調整をしてください。
いちおうFrame Rateを落とすことで負荷を下げることはできますが、許容範囲は15くらいかな?
10まで落とすとカクカク感を感じることになると思うのでオススメしません。

20120215-13

音の設定はデフォルトで特別問題はないと思います。
Sampling Rateが高い気がしますが、まぁいいでしょう。

20120215-14

あとはアプリの下にあるスタートボタンを押すだけ。

20120215-16

FMEが映像をリアルタイムエンコードしながらUstreamに映像を送り始めます。
※まだこの段階では放送は始まっていません。


4,映像を配信する
20120215-17

基本編で書いたとおり、自分の配信ページにやってこよう。
するとさっきは選べてたカメラや音声入力が選べなくなっています。
これはエンコード操作をすべてFMEに任せるモードになってるからなので問題なし。
あとはさっきみたいに配信開始ボタンを押すだけ。

20120215-18

どうですか?被写体が違うので一概に比べられないかもしれないけれど、画質が全然違いますよね?
当然使ってるカメラが違うけれど、FMEではなくUstream自身のエンコーダーではここまで画質のいい映像を配信することはできません。

ちなみにさっきの『配信開始』ボタンではなく『録画開始』ボタンを押せば配信映像が録画されならが配信が行われ、
配信後、その録画映像をいつでも見ることができます。
注意点としては『配信開始』を押して配信中に録画を始めることはできないということ。
もし途中から録画したいと思ったら、1回放送を止めて、『録画開始』ボタンを押して配信し直さないとダメです。


っと、言うわけでWebカメラの映像をUstreamで配信する環境が整っちゃいましたよ。
どうしましょう?昔みたいに配信しますか?

【備忘録】Ustream配信環境を整えよう -基本編-

実はメインマシンをMacに切り替える前に実は友達向けにUstream配信をしていました。
あれから1年以上経ったわけですが、久しぶりにUstream配信ができるように整備してみようってことでやってみたのでその備忘録をエントリーします。

1.Ustreamのページに行く
http://www.ustream.tv/


2.サイトの右上にある『ライブ配信』ボタンを押す
 (その前にログイン/サインアップは済ませておく)
20120215-1


3.どの番組のライブを開始するか選択が出るので選ぶ
 (デフォルトではアカウント名と同じ番組が作られているはず)
20120215-2


4.あとは何も考えず配信開始ボタンを押す
20120215-3


5.FaceTimeカメラで配信できました~
20120215-4


とりあえずMacで初めて配信してみたけれど、さすがにMacbookAirのFaceTimeはHDじゃないから荒いな^^;
っと、言うわけで手持ちのWebカメラで配信するか・・・っと思ったらMac対応してなかった orz

これじゃさすがにゲームプレイ映像の配信はできないな・・・

っと、言うわけで次回はWindows側でだけれど、FMEを使ってキレイな配信を行った手順を書きたいと思います。

カレンダー
04 | 2017/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
プロフィール

otika

Author:otika
名前:otika
出身地:京都
自己紹介:
しがない企業のプログラマー。
ゲーム、ガジェット好きなので、それ関係のお話をメインに書いていきます。

【持ってるガジェットたち】
*iPhone4
*iPad2
*Macbook Air
*Dynabook Qosmio FX77G
*TimeCapsule

*PSP-3000
*PSP-3000 ハンターズモデル
*PSP go
*3DS
*DSi LL
*DS lite

メールフォーム

名前:
メール:
件名:
本文:

最新記事
記事リスト
(工事中)ユーザタグの記事リスト
カテゴリ
最新コメント
月別アーカイブ
カウンター
購入予定のゲーム

やっとPS4が活躍するソフトが出る!期待が膨らみます


まさかのコラボレーション!?これがホントのダンジョンRPG


ドラクエシリーズ初の音ゲー!あなたはFF派?ドラクエ派?


ゴッドイーターシリーズ最新作。あとから完全版が出てくるなら次回からは…


デモンズソウルの恐怖再び…キミは死にゲーのストレスに打ち勝てるか?


Wii唯一?の名作RPGが3DSで!遊びごたえは抜群の作品!


もはや最後の王道RPGかもしれないゼノシリーズの最新作!


スパロボシリーズの最新作。このシリーズもいつまで続くんでしょうね?


前作の悪いところをきっちり直してきているはずなので良作の予感
検索フォーム
リンク
Apple-Style Plus
ApplePeople
RSSリンクの表示
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。