<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>NASKIT &#187; no-category</title>
	<atom:link href="http://naskit.com/category/no-category/feed/" rel="self" type="application/rss+xml" />
	<link>http://naskit.com</link>
	<description>AndroidとかUnityとか</description>
	<lastBuildDate>Sun, 29 Jan 2012 16:57:20 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Appleについて思い出</title>
		<link>http://naskit.com/2010/04/13/apple%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e6%80%9d%e3%81%84%e5%87%ba/</link>
		<comments>http://naskit.com/2010/04/13/apple%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e6%80%9d%e3%81%84%e5%87%ba/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 19:07:37 +0000</pubDate>
		<dc:creator>saikoro</dc:creator>
				<category><![CDATA[no-category]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://naskit.com/?p=333</guid>
		<description><![CDATA[TechCrunchの「<a href="http://jp.techcrunch.com/archives/jp-20100412-the-discussion-about-apple/" target="_blank">[jp] Appleをめぐる永遠のすれ違い論議</a>」を読んでおもった。]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "pub-6892715802145135";
/* 468x15, 作成済み 09/11/01 */
google_ad_slot = "8121608277";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p><p>TechCrunchの「<a href="http://jp.techcrunch.com/archives/jp-20100412-the-discussion-about-apple/" target="_blank">[jp] Appleをめぐる永遠のすれ違い論議</a>」を読んで少し昔のことを思い出した。</p>
<p>Appleを批判する記事は確かに多い。私もAppleはどうも好きになれんな。<br />
でも古いけどApple製品はもっている。<br />
iBook G4 800 と iPod（第3世代）iPod nano（初代）の3つ。<br />
むかしはアップルのファンであった。<br />
MacPeopleも購入していたし、そこで連載していた<a href="http://www.117.ne.jp/~kure/" target="_blank">呉エイジさん</a>の「我妻との闘争」は毎週楽しみにしていた。私の実家は呉エイジさんと同じなので地元の話も出てきて余計に面白かった。<br />
<strong><a href="http://www.amazon.co.jp/s/ref=nb_sb_noss?__mk_ja_JP=%83J%83%5E%83J%83i&#038;url=search-alias%3Daps&#038;field-keywords=%89%E4%8D%C8%82%C6%82%CC%93%AC%91%88&#038;x=0&#038;y=0" target="_blank">単行本</a></strong>も何冊か出ているのでMacやデジタルガジェットが好きかどうかに関わらず、「怖い妻」に怯えながら趣味を楽しんでいる人に読んでもらいたいな。・・・また、読み返そうっと。</p>
<p>iBook G4 は初めて購入したノートPCだ。アップルストアで注文した。<br />
それまでWindows95・98・2000と使ってきたがMacOS10.3は安定していた。<br />
周辺機器とソフトが少なかったが満足であった。</p>
<p>iPodを購入して手持ちのCDを全部iTunesに入れてiPodに入れて楽しんだ。<br />
15GBのうち7GBが音楽で埋まって、残りはシステムのバックアップディスクにした。</p>
<p>それからiTunes Music Storeがオープンした。<br />
これも面白そうだと思ったので曲を購入しようとしたがうまくいかなかった。<br />
iBookを購入したアップルストアのアカウントではiTunesMusicStoreで登録できないといわれた。</p>
<p>それからアップル熱は冷めた。<br />
<a href="http://naskit.com/wp-content/uploads/blokenapple.png"><img src="http://naskit.com/wp-content/uploads/blokenapple-300x289.png" alt="" title="blokenapple" width="300" height="289" class="alignleft size-medium wp-image-334" /></a><br />
TechCrunchの記事にもあったがAppleは誰にでも使える製品を作り出すハードウェアメーカーなんだな。仕事でiPhone3Gを使うこともあるけど、やっぱりAndroidより良くできている。Xperiaも触ったけど、スマートフォンで誰にでも無難に薦められるのはiPhone。どんなやり方をしてもiPhoneやiPadは売れ続けるなー、と思った。<br />
OSとハードは一体というのがAppleの考えらしい。各種サービスはハードを売るための「おまけ」なのかな。iTMSの件以来いまいちアップルのサービスは信用できないなー。</p>
<p>mp3の販売でDRMの廃止を後押ししたのはよかったな。CCCDとか専用プレイヤーとかアフォか！とおもってたし。でも日本では未だに制限が多い。結局レンタルして取り込んで聴く・・・・。</p>
<p>USBの普及もすばらしい。IEEE1394はこけたが・・・。<br />
WiFiの普及もすばらしい。モバイルでモデムだの電話回線だのを気にする必要がなくなった。</p>
<p>Adobe締め出しはスゲーなー。PhotoShopElementsとかPremiereなどのアプリも同等の製品がバンドルされたりしてパソコン部門でもひどい仕打ちだったが・・。印刷業界でこれだけAppleが売れているのは誰のおかげ？？<br />
今度はFlashかー。せめてHTML5のVideo規格まとめてからにしてチョーダイ。</p>
<p>スマートフォンの特許でHTCを訴えたけど、HTCはアップルより前からスマートフォン作ってるし、MicrosoftやNokiaはなんも無しかえ？<br />
特許は弱いものイジメするために使うものじゃないと思うね。</p>
<p>アップルはとっても使いやすくてよい製品を作っている。でもユーザーにとって良い製品よりももっと大事なのは選択できることだな。<br />
どんなに良い製品でも選択肢が1つしかないようではなんとも寂しいではないか。</p>
<p>開発者にとっても自由があるほうがよい。iPhoneやWindowsPhoneは開発者にとって縛りが多いなー。<br />
コンピュータを使う楽しみはプログラミングをしてこそ味わえると思う。スマートフォンにもそんな選択肢は必要だな。</p>
<p>むー。思い出というかAppleの悪口になってしまったかな。でもこれからも良い製品を出し続けてもらいたい。<br />
Androidにはもっと頑張ってもらわねば。</p>
<div class="plus-one-wrap"><g:plusone size="medium" href="http://naskit.com/2010/04/13/apple%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e6%80%9d%e3%81%84%e5%87%ba/"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://naskit.com/2010/04/13/apple%e3%81%ab%e3%81%a4%e3%81%84%e3%81%a6%e6%80%9d%e3%81%84%e5%87%ba/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HT-03Aでプレビューの映像データをビットマップデータに変換するところ補足</title>
		<link>http://naskit.com/2009/12/11/ht-03a%e3%81%a7%e3%83%97%e3%83%ac%e3%83%93%e3%83%a5%e3%83%bc%e3%81%ae%e6%98%a0%e5%83%8f%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e3%83%93%e3%83%83%e3%83%88%e3%83%9e%e3%83%83%e3%83%97%e3%83%87%e3%83%bc-2/</link>
		<comments>http://naskit.com/2009/12/11/ht-03a%e3%81%a7%e3%83%97%e3%83%ac%e3%83%93%e3%83%a5%e3%83%bc%e3%81%ae%e6%98%a0%e5%83%8f%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e3%83%93%e3%83%83%e3%83%88%e3%83%9e%e3%83%83%e3%83%97%e3%83%87%e3%83%bc-2/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 16:33:11 +0000</pubDate>
		<dc:creator>saikoro</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[HT-03A]]></category>
		<category><![CDATA[no-category]]></category>
		<category><![CDATA[ToyCam]]></category>

		<guid isPermaLink="false">http://naskit.com/?p=135</guid>
		<description><![CDATA[前回のエントリのキモの部分の補足説明]]></description>
			<content:encoded><![CDATA[<p><a href="http://naskit.com/wp-content/uploads/yuv420sp_argb8888.png"><img src="http://naskit.com/wp-content/uploads/yuv420sp_argb8888.png" alt="yuv420sp_argb8888" title="yuv420sp_argb8888" width="300" height="202" class="alignnone size-full wp-image-143" /></a><br/><a href="http://naskit.com/2009/11/25/ht-03a%E3%81%A7%E3%83%97%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E3%81%AE%E6%98%A0%E5%83%8F%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E3%83%93%E3%83%83%E3%83%88%E3%83%9E%E3%83%83%E3%83%97%E3%83%87%E3%83%BC/">前回のエントリ</a>のキモの部分の補足説明<br />
<span id="more-135"></span><br />
カメラのプレビューコールバックにはプレビューで取得した画像がByte配列で入ってくる。<br />
これはカメラのオプション設定で</p>
<pre class="brush: java; title: ; notranslate">
mCamparam = mCamera.getParameters();
mCamparam.setPreviewFormat(PixelFormat.JPEG); // プレビューで取得できる画像形式の指定。デフォルトはPixelFormat.YCbCr_420_SP
// その他設定など
・・・・・・・・
// パラメータセット
mCamera.setParameters(mCamparam);
</pre>
<p>上記のようにすればJPEG形式のByte列のはずなのだが、なぜかnullしか帰ってこない。<br />
だからデフォルトのYUV420形式のデータをビットマップ形式に変換してやる必要がある。<br />
それが下のところ。</p>
<pre class="brush: java; title: ; notranslate">
    /**
     * YUV420データをBitmapに変換する
     * @param rgb
     * @param yuv420sp
     * @param width
     * @param height
     */
    // YUV420 to BMP
    public static final void decodeYUV420SP(int[] rgb, byte[] yuv420sp, int width, int height) {
        final int frameSize = width * height;

        for (int j = 0, yp = 0; j &lt; height; j++) {
            int uvp = frameSize + (j &gt;&gt; 1) * width, u = 0, v = 0;
            for (int i = 0; i &lt; width; i++, yp++) {
                int y = (0xff &amp; ((int) yuv420sp[yp])) - 16;
                if (y &lt; 0) y = 0;
                if ((i &amp; 1) == 0) {
                        v = (0xff &amp; yuv420sp[uvp++]) - 128;
                        u = (0xff &amp; yuv420sp[uvp++]) - 128;
                }

                int y1192 = 1192 * y;
                int r = (y1192 + 1634 * v);
                int g = (y1192 - 833 * v - 400 * u);
                int b = (y1192 + 2066 * u);

                if (r &lt; 0) r = 0; else if (r &gt; 262143) r = 262143;
                if (g &lt; 0) g = 0; else if (g &gt; 262143) g = 262143;
                if (b &lt; 0) b = 0; else if (b &gt; 262143) b = 262143;

                rgb[yp] = 0xff000000 | ((r &lt;&lt; 6) &amp; 0xff0000) | ((g &gt;&gt; 2) &amp; 0xff00) | ((b &gt;&gt; 10) &amp; 0xff);
            }
        }
    }
</pre>
<p>この変換部分は<a href="http://code.google.com/p/android/issues/detail?id=823">ここ</a>に載っているとおり。<br />
んで、YCbCr_420_SPって言う形式はよく分からないがコードから察するにこういう形式ではないか、と推測した。</p>
<pre class="brush: plain; title: ; notranslate">
水平・垂直2×2ピクセルのうち、Cb信号を上2ピクセルから1ピクセル取り、Cr信号を下2ピクセルから1ピクセル取る方式。
フレームごとにCbとCrの位置を反転させる。輝度信号は1ピクセルごとにとる。

Y			輝度信号		CIE の色度図のY軸だから
U (B-Y)		色差信号(Cb)
V (R-Y)		色差信号(Cr)

YUV420 4x4ピクセルの画像のデータフォーマット
　1セル1Byte
　Y : 8Bit/1ピクセルのY信号
　U : 8Bit/2x2ピクセルのU信号
　V : 8Bit/2x2ピクセルのV信号 

　各ピクセルのインデックス 0～F
　x ⇒
y +--+--+--+--+
↓| 0| 1| 2| 3|
　+--+--+--+--+
　| 4| 5| 6| 7|
　+--+--+--+--+
　| 8| 9| A| B|
　+--+--+--+--+
　| C| D| E| F|
　+--+--+--+--+

4x4
+------+------+------+------+
|Y    0|Y    1|Y    2|Y    3|
|      |      |      |      |
+------+------+------+------+
|Y    4|Y    5|Y    6|Y    7|
|      |      |      |      |
+------+------+------+------+
|Y    8|Y    9|Y    A|Y    B|
|      |      |      |      |
+------+------+------+------+
|Y    C|Y    D|Y    E|Y    F|
|      |      |      |      |
+------+------+------+------+
|V  0,1|U  0,1|V  2,3|U  2,3|
|   4,5|   4,5|   6,7|   6,7|
+------+------+------+------+
|V  8,9|U  8,9|V  A,B|U  A,B|
|   C,D|   C,D|   E,F|   E,F|
+------+------+------+------+

横一列にすると・・（view sourceで広げると見やすい）
+------+------+------+    +------+------+------+------+------+------+------+------+------+------+
|Y    0|Y    1|Y    2| 略 |Y    E|Y    F|V  0,1|U  0,1|V  2,3|U  2,3|V  8,9|U  8,9|V  A,B|U  A,B|
|      |      |      | ～ |      |      |   4,5|   4,5|   6,7|   6,7|   C,D|   C,D|   E,F|   E,F|
+------+------+------+    +------+------+------+------+------+------+------+------+------+------+
</pre>
<p>これで正しいのだろうか？？<br />
推測してもしなくても結果はかわらないが。。<br />
人間の目は黄色い光には敏感で、その他の色は基準の信号からの差分信号にすることでデータ量を抑えているらしい。</p>
<p>これを応用したら特定の色だけアルファを全開にしてクロマキーみたいにしたり、全体の色を緑っぽくしたり変換するなどのエフェクトをかけられそうだ。</p>
<p>ちなみに前回のエントリのviewのところで、FrameLayoutを使ってホーム画面のような画像を前面にかぶせてしまえば、写真を撮っているのかどうかわからない状態で画像を保存できるはず。。。やらないが。</p>
<div class="plus-one-wrap"><g:plusone size="medium" href="http://naskit.com/2009/12/11/ht-03a%e3%81%a7%e3%83%97%e3%83%ac%e3%83%93%e3%83%a5%e3%83%bc%e3%81%ae%e6%98%a0%e5%83%8f%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e3%83%93%e3%83%83%e3%83%88%e3%83%9e%e3%83%83%e3%83%97%e3%83%87%e3%83%bc-2/"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://naskit.com/2009/12/11/ht-03a%e3%81%a7%e3%83%97%e3%83%ac%e3%83%93%e3%83%a5%e3%83%bc%e3%81%ae%e6%98%a0%e5%83%8f%e3%83%87%e3%83%bc%e3%82%bf%e3%82%92%e3%83%93%e3%83%83%e3%83%88%e3%83%9e%e3%83%83%e3%83%97%e3%83%87%e3%83%bc-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>こんにちは 世界</title>
		<link>http://naskit.com/2009/11/01/hello-world/</link>
		<comments>http://naskit.com/2009/11/01/hello-world/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 19:21:28 +0000</pubDate>
		<dc:creator>saikoro</dc:creator>
				<category><![CDATA[no-category]]></category>

		<guid isPermaLink="false">http://naskit.com/?p=1</guid>
		<description><![CDATA[こんにちは！世界 オープンしました]]></description>
			<content:encoded><![CDATA[<p>こんにちは！世界</p>
<p>オープンしました</p>
<div class="plus-one-wrap"><g:plusone size="medium" href="http://naskit.com/2009/11/01/hello-world/"></g:plusone></div>]]></content:encoded>
			<wfw:commentRss>http://naskit.com/2009/11/01/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

