<?xml version="1.0" encoding="UTF-8"?>

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns="http://purl.org/rss/1.0/"
>

<channel rdf:about="http://bygzam.seesaa.net/">
<title>Tari Lari Run</title>
<link>http://bygzam.seesaa.net/</link>
<description>これでいいのだ</description>
<dc:language>ja</dc:language>
<admin:generatorAgent rdf:resource="http://blog.seesaa.jp/" />
<items>
<rdf:Seq>
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/131626876.html" />
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/131556949.html" />
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/130755836.html" />
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/128366245.html" />
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/128226049.html" />
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/127298643.html" />
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/126174028.html" />
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/125665214.html" />
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/125310863.html" />
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/124799379.html" />
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/123947726.html" />
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/123879257.html" />
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/123711558.html" />
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/123348581.html" />
<rdf:li rdf:resource="http://bygzam.seesaa.net/article/123123010.html" />
</rdf:Seq>
</items>
</channel>

<item rdf:about="http://bygzam.seesaa.net/article/131626876.html">
<link>http://bygzam.seesaa.net/article/131626876.html</link>
<title>地デジ視聴成功しました</title>
<description>前回、視聴ソフトをハックして動かしたeMachinesのテレビチューナーPIX-DA021ですが、ついに地デジの視聴に成功しました。  以前、姉妹品のPIX-DA020がジャンク品で580円で売られていた時期があり、それを動作させたという先人の情報が参考になりました。  まず視聴ソフトですが、わざわざeMachines用のソフトをハックせずとも、ピクセラのサイトで配布しているStationTVが使えました。PIX-DA022等のダウンロードページに、アップデータという名目でフ...</description>
<dc:subject>雑記</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-10-31T01:43:02+09:00</dc:date>
<content:encoded><![CDATA[

<p><a href="http://bygzam.seesaa.net/article/131556949.html">前回</a>、視聴ソフトをハックして動かしたeMachinesのテレビチューナーPIX-DA021ですが、ついに地デジの視聴に成功しました。</p>  <p>以前、姉妹品の<a href="http://www.pixela.co.jp/company/news/2006/20060420.html">PIX-DA020</a>がジャンク品で580円で売られていた時期があり、それを動作させたという先人の情報が参考になりました。</p>  <p>まず視聴ソフトですが、わざわざeMachines用のソフトをハックせずとも、ピクセラのサイトで配布しているStationTVが使えました。PIX-DA022等のダウンロードページに、アップデータという名目でファイルが置いてありますが、これが既存ソフトを更新するものではなく、新規にインストールするフルセットのソフトウェアでした。</p>  <p>ただし、現在配布されているStationTV Ver.8.4.3502は、ダビング10対応のファームウェアにしないと使えません。先にファームウェアを更新する必要があります。</p>  <p>ファームウェアの更新には、eMachinesまたはGateway用に配布されている、ダビング10アップデータを使用します。実際には他の機種用(地デジ専用モデル)ですが、PIX-DA021にもそのまま使用できます。</p>  <p>ファームウェアを更新するには、まずダビング10アップデータに入っているStationTVを先にインストールします。次にMenu.exeを実行するとファームウェアが更新されます。付属のStationTVをインストールせずに(ピクセラのサイトから落としてきた最新版を入れた状態で)Menu.exeを実行すると拒否されてしまいました。</p>  <p>ファームウェアの更新が完了したら、このStationTVは少し古いのでさっさとアンインストールします。</p>  <p>最後にピクセラのサイトにある最新版のStationTVをインストールして終了です。</p>  <p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="PIX-DA021で地デジ視聴成功" border="0" alt="PIX-DA021で地デジ視聴成功" src="http://bygzam.up.seesaa.net/stationtv3.png" width="640" height="459" /></p>  <p>これで実質的にPIX-DA022と同等になったので、しばらく使えそうです。あとはWindows7対応ドライバが出ればいいのですが。</p>
]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://bygzam.seesaa.net/article/131556949.html">
<link>http://bygzam.seesaa.net/article/131556949.html</link>
<title>PCにテレビチューナーを付けてみた</title>
<description>Windows7を購入した知人と7のメディアセンターは地デジに対応しているという話をしていたら、家にもPC用地デジチューナーがあることを思い出しました。  数年前に故障したノートPCの代替として緊急購入したeMachinesのデスクトップ機(展示処分品)に、デジタル/アナログ両対応のWチューナーが搭載されていました。当時はまだ我が家で地デジの視聴はできず、そのマシンの設置場所もテレビを見るような環境ではなかったので、せっかくのWチューナーも全く使用することなく眠っていました。...</description>
<dc:subject>雑記</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-10-30T08:43:04+09:00</dc:date>
<content:encoded><![CDATA[

<p>Windows7を購入した知人と7のメディアセンターは地デジに対応しているという話をしていたら、家にもPC用地デジチューナーがあることを思い出しました。</p>  <p>数年前に故障したノートPCの代替として緊急購入したeMachinesのデスクトップ機(展示処分品)に、デジタル/アナログ両対応のWチューナーが搭載されていました。当時はまだ我が家で地デジの視聴はできず、そのマシンの設置場所もテレビを見るような環境ではなかったので、せっかくのWチューナーも全く使用することなく眠っていました。</p>  <p>現在は我が家でも地デジが(一部チャンネルのみ)視聴可能で、加入しているケーブルテレビ局がアナログでは見れない局をデジタルで配信しているので、せっかくなので自分のPC(Vista)にeMachinesのチューナーを移植することにしました。</p>  <p>搭載されていたテレビチューナーは、ピクセラ社の<a href="http://www.pixela.co.jp/company/news/2007/20070423.html">PIX-DA021</a>というモデルで、現在ピクセラから単体発売されている<a href="http://www.pixela.co.jp/products/tv_capture/pix_da022_pp0/index.html">PIX-DA022</a>の姉妹品のようです。</p>  <p>ドライバと視聴ソフトは、<a href="http://jp.emachines.com/support/product_support.html?cat=Desktops&amp;subcat=J Series&amp;model=J4468">eMachinesのサイトからダウンロード</a>することができます。</p>  <p>さっそくPCにカードを装着し、ドライバと視聴ソフトをインストールし、視聴ソフトであるStationTV for eMachinesを起動してみると…</p>  <p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="stationtv" border="0" alt="stationtv" src="http://bygzam.up.seesaa.net/stationtv.png" width="305" height="177" /> </p>  <p>どうやら、プリインストールの視聴ソフトは起動環境が制限されているようです。</p>  <p>当時はPC向けの地デジチューナーの単体販売が認められておらず、メーカー製PCへ最初から組み込んでの販売しか許可されていなかったので、予想はしていましたが。</p>  <p>この程度の起動プロテクトくらいプログラマを名乗るなら解除できて当然だよねーというわけで数年ぶりに<a href="http://www.ollydbg.de/">OllyDbg</a>を起動・・・何か変だと思ったら、これ.NETアプリケーションですねorz</p>  <p>.NETアプリケーションのハックなんてしたことないよーと泣きを入れつつも、Silverlightの経験でマネージコードは高度なリバースエンジニアリングツールがあることを知っていたので、さっそく<a href="http://www.red-gate.com/products/reflector/">.NET Reflector</a>にかけてみると・・・しっかりと<a href="http://www.atmarkit.co.jp/fdotnet/tools/dotfuscator/dotfuscator_03.html">難読化</a>されてます。まぁ、当然だよね。</p>  <p>私にとっては専門外の.NETアプリケーションと難読化という障害はありましたが、このようにエラーメッセージをDialogやMessageBoxで表示するアプリケーションは、私に言わせれば「問題の場所を自分から教えている」状態なので、1時間程度でハック終了。無事に起動できました。</p>  <p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="映像はオーバーレイなのでキャプチャできず" border="0" alt="映像はオーバーレイなのでキャプチャできず" src="http://bygzam.up.seesaa.net/stationtv2.png" width="610" height="472" /> </p>  <p>これで私のPCでも地デジが見れる…と期待したのもつかの間、アナログ放送は問題ないのだけれども、デジタル放送はチャンネルスキャンをすると視聴ソフトが何も言わずに落ちてしまいます。PC本体とセットで販売されていたソフトなので、元のPC以外での動作テストが不十分でしょうか。</p>  <p>今のところ、この問題の解決はできていません。せっかく地デジチューナーが付いているのに、アナログで見ています。</p>  <p>結局この視聴ソフトはVistaではあまりにも使いにく過ぎるので、視聴には主にメディアセンターを使用しています。</p>  <p>メディアセンターで使えるなら、OSをWindows7にすれば地デジチューナーが使えるかもしれない…と期待しましたが、姉妹品のPIX-DA022もWindows7では使えないようなので断念。</p>  <p>うちはどうせ<a href="http://ja.wikipedia.org/wiki/%E5%8C%BA%E5%9F%9F%E5%A4%96%E5%86%8D%E9%80%81%E4%BF%A1">区域外再送信</a>の問題で、地デジにすると視聴できるチャンネルが減ってしまうから、2011年までアナログでいいけどね！(負け惜しみ)</p>  <p>普通の人はこんな悪あがきをせずに、素直にWindows7と対応チューナーの購入をお勧めします。</p>
]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://bygzam.seesaa.net/article/130755836.html">
<link>http://bygzam.seesaa.net/article/130755836.html</link>
<title>SilverlightとFlashの動画再生負荷を比べてみた</title>
<description>YouTubeでは、URLにfmt=18やfmt=22を追加すると、mp4フォーマットでH.264+AAC形式の動画を取得することができます。fmt=18はiPod用、fmt=22はHD画質となっています。  Silverlight3はこの形式に対応しているので、実はYouTubeの動画をSilverlightで再生することも可能です。     ただし、現在YouTubeはcrossdomain.xmlによって、外部サイトからのFlash/Silverlightのアクセスを拒...</description>
<dc:subject>雑記</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-10-20T18:22:08+09:00</dc:date>
<content:encoded><![CDATA[

<p>YouTubeでは、URLにfmt=18やfmt=22を追加すると、mp4フォーマットでH.264+AAC形式の動画を取得することができます。fmt=18はiPod用、fmt=22はHD画質となっています。</p>  <p>Silverlight3はこの形式に対応しているので、実はYouTubeの動画をSilverlightで再生することも可能です。</p>  <blockquote>   <p>ただし、現在YouTubeはcrossdomain.xmlによって、外部サイトからのFlash/Silverlightのアクセスを拒否しているので、Silverlightから直接YouTubeのファイルは再生できません。いったん動画ファイルをダウンロードするか、crossdomain.xmlを無視してファイルを取ってくるプロキシ的な物を用意する必要があります。</p> </blockquote>  <p>そこで今回は、同じ動画をSilverlightとFlashで再生して、CPU負荷を比較してみました。</p>  <p>Silverlightでの再生にはExpression EncoderについてきたMediaPlayer.dllを、Flashでの再生にはYouTubeをそのまま使っています。動画の表示されるサイズが全く同じになるように調整し、再生中のCPU使用率を調べます。</p>  <p>今回テストに使用した動画は「<a href="http://www.youtube.com/watch?v=zlfKdbWwruY">Where the Hell is Matt? (2008)</a>」です。Matt Hardingさんが世界中で様々な人種の人達と楽しそうにヘンテコなダンスをする動画です。</p>  <p><a href="http://www.youtube.com/watch?v=zlfKdbWwruY&amp;fmt=22">http://www.youtube.com/watch?v=zlfKdbWwruY&amp;fmt=22</a> (HD画質)</p>  <p><a href="http://www.youtube.com/watch?v=zlfKdbWwruY&amp;fmt=18">http://www.youtube.com/watch?v=zlfKdbWwruY&amp;fmt=18</a> (iPod用)</p>  <p>テスト環境はCPUがCore2Duo E8400、OSがVista SP2、ブラウザがIE8です。CPUのクロックは最高値で固定になるように設定してあります。</p>  <p>Silverlightで再生</p>  <p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Silverlightで動画再生" border="0" alt="Silverlightで動画再生" src="http://bygzam.up.seesaa.net/SilverlightHD.jpg" width="640" height="400" /> </p>  <p>Flashで再生</p>  <p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Flashで動画再生" border="0" alt="Flashで動画再生" src="http://bygzam.up.seesaa.net/FlashHD.jpg" width="640" height="400" /> </p>  <p>正確に集計をしたわけではなく、値の変動を見ながら私の感覚で平均を取った感じだと、Silverlightでは28%程度、Flashでは26%程度といったところでした。</p>  <p>僅かですがSilverlightの方がCPU負荷が高い印象でしたが、タスクマネージャのグラフからも分かるように、Flashでは1つのコアしか使われていないのに対して、Silverlightでは2つのコアが平均的に使われています。</p>  <p>実は最初に実験したときはCPUのクロックを可変にしたままやってしまい、SilverlightでのテストではCPUのクロックが低い状態で見かけ上の負荷がもう少し高くなってしまいました。</p>  <p>現時点ではSilverlightの方がマルチコアを上手く使っている感じです。</p>  <p>ただし、同じテストをAtom N270のネットブックでiPod用動画を使用して行ったところ、Flashでも2つのコア(HTですが)を使っていました。CPUによってコードを変えているのかもしれませんね。</p>  <p>ちなみにネットブックでのCPU使用率は、HD動画とは逆にSilverlightの方が少し低かったです。</p>  <p>もう少し有意な差があれば「動画共有サイトはSilverlight(またはFlash)で作るべき」みたいな結論も出たのですが、今回は微妙な結果となりました。</p>  <p>ところで先日、Flash Player 10.1でGPUを使用した動画再生支援にも対応することが発表されました。現在はAtomでYouTubeのHD動画を見ると紙芝居になってしまいますが、今後は改善されそうです。今までは嫌われていたUS15Wチップセットを搭載したネットブックが、強力な動画再生支援機能のおかげで945GSE搭載機よりも優位になるかもしれませんね。私のネットブックは945GSEなので、そうなったら悲しいですがw</p>
]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://bygzam.seesaa.net/article/128366245.html">
<link>http://bygzam.seesaa.net/article/128366245.html</link>
<title>自由度の高い全方位シューティングゲーム Hexcelle</title>
<description>『Hexcelle』は、自由度の高い全方位シューティングゲームです。    自機も敵機も六角形の細胞(以下Hex)の集まりで、その組み合わせで能力が変化します。障害物や敵機を倒すことで出てくるパワーアップアイテムを集めて、Hexを増やして成長していきます。  操作方法はWASDで移動、マウスで弾を撃つ方向を狙って左クリックで弾を撃ちます。青いHexがあるときはスペースで機雷を設置します。パワーアップアイテムを集めて1.0以上溜めたら、[E]を押すとEvolve(進化)できます...</description>
<dc:subject>雑記</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-09-19T05:38:28+09:00</dc:date>
<content:encoded><![CDATA[

<p>『<a href="http://www.kongregate.com/games/Archigeek/hexcelle">Hexcelle</a>』は、自由度の高い全方位シューティングゲームです。</p>  <p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="hexcelle1" border="0" alt="hexcelle1" src="http://bygzam.up.seesaa.net/hexcelle1.jpg" width="400" height="290" /></p>  <p>自機も敵機も六角形の細胞(以下Hex)の集まりで、その組み合わせで能力が変化します。障害物や敵機を倒すことで出てくるパワーアップアイテムを集めて、Hexを増やして成長していきます。</p>  <p>操作方法はWASDで移動、マウスで弾を撃つ方向を狙って左クリックで弾を撃ちます。青いHexがあるときはスペースで機雷を設置します。パワーアップアイテムを集めて1.0以上溜めたら、[E]を押すとEvolve(進化)できます。</p>  <p>EvolveではSpawnの数だけ新規Hexを増やすことができ、Mutationの数だけ既存Hexの色を変えることができます。新規Hexは隣接するHexと同じ色に変更できますが、新規Hexに対してMutationは使用できません。しかし、隣接するHexにMutationを使用すれば、新規Hexも自由に色を変えられるようになります。</p>  <p></p><a href="http://bygzam.seesaa.net/article/128366245.html#more">続きを読む</a>
]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://bygzam.seesaa.net/article/128226049.html">
<link>http://bygzam.seesaa.net/article/128226049.html</link>
<title>おすすめPC用小型スピーカー</title>
<description>  PCのパーツの中で、交換して一番変化を感じるのは何かというと、私はスピーカーではないかと思います。  スピーカーはいまだにアナログ的なデバイスで、製品ごとの差も非常に大きいです。特に低価格スピーカーの品質は酷く、2000円以下で売られているスピーカーや、多くのPCの付属スピーカーなどは、かなり酷い状態です。  大雑把な目安として、スピーカーを持ち上げてみて軽かったら音質には期待できないと思っていいでしょう。2.1chでサブウーファーがついているなら別ですが、2chのスピー...</description>
<dc:subject>雑記</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-09-17T07:16:27+09:00</dc:date>
<content:encoded><![CDATA[

<div class="amazon"><SCRIPT charset="utf-8" type="text/javascript" src="http://ws.amazon.co.jp/widgets/q?ServiceVersion=20070822&amp;MarketPlace=JP&amp;ID=V20070822/JP/wtcha-22/8001/3c6d5144-d09b-4b89-8508-2f67c11ebeba"> </SCRIPT><noscript></noscript></div>  <p>PCのパーツの中で、交換して一番変化を感じるのは何かというと、私はスピーカーではないかと思います。</p>  <p>スピーカーはいまだにアナログ的なデバイスで、製品ごとの差も非常に大きいです。特に低価格スピーカーの品質は酷く、2000円以下で売られているスピーカーや、多くのPCの付属スピーカーなどは、かなり酷い状態です。</p>  <p>大雑把な目安として、スピーカーを持ち上げてみて軽かったら音質には期待できないと思っていいでしょう。2.1chでサブウーファーがついているなら別ですが、2chのスピーカーでまともな製品は間違いなく重いです。小型のタイプでも片方のスピーカーだけで1kg近い重量があります。</p>  <p>PC用のスピーカーはできれば10cm以上の径のものが理想的ですが、PC周りにあまり大きなスピーカーを置きたくないという人も多いと思います。今回は小型で評判の良いスピーカーを紹介します。</p><a href="http://bygzam.seesaa.net/article/128226049.html#more">続きを読む</a>
]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://bygzam.seesaa.net/article/127298643.html">
<link>http://bygzam.seesaa.net/article/127298643.html</link>
<title>東方星蓮船不具合修正ツール</title>
<description>ここ数日、一部の環境で東方星蓮船の1面の船の影が白くなるという話題がホットなようなので、私もネットブックにインストールしてみたら確かに白くなりました。  ぱっと見た感じでは、巨大ポリゴンに頂点フォグをかけているのが原因のように見えたので、試しにピクセルフォグに切り替えてみたら直りました。  1面でしか確認していませんが、特に副作用もなさそうなので不具合修正ツールとして公開しておきます。  th12fix-090904.zip Version 1.0 (2009/09/04公開...</description>
<dc:subject>アプリケーション</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-09-04T20:42:50+09:00</dc:date>
<content:encoded><![CDATA[

<p>ここ数日、一部の環境で東方星蓮船の1面の船の影が白くなるという話題がホットなようなので、私もネットブックにインストールしてみたら確かに白くなりました。</p>  <p>ぱっと見た感じでは、巨大ポリゴンに頂点フォグをかけているのが原因のように見えたので、試しにピクセルフォグに切り替えてみたら直りました。</p>  <p>1面でしか確認していませんが、特に副作用もなさそうなので不具合修正ツールとして公開しておきます。</p>  <p><a title="th12fix-090904.zip" href="http://bygzam.up.seesaa.net/zip/th12fix-090904.zip">th12fix-090904.zip</a> Version 1.0 (2009/09/04公開)</p>  <p>使い方は縦画面化ツール等と同じで、同梱のd3d9.dllを東方星蓮船のインストールフォルダにコピーするだけです。縦画面化ツール等と共存はできません。</p>
]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://bygzam.seesaa.net/article/126174028.html">
<link>http://bygzam.seesaa.net/article/126174028.html</link>
<title>高精度CM検出アルゴリズムを思いついた</title>
<description>私が使用しているHDDレコーダーのRD-H1EXにはCMを検出して自動的にチャプター区切りを設定する機能があります。再生中に次のチャプターまでジャンプする機能と組み合わせることで、半自動でCMをスキップすることができます。  無印のRD-H1では、CMは必ずステレオ放送であることを利用してモノラル/ステレオの切り替えでCMを検出していました。この方法は精度が高い半面、ステレオ放送の番組では使用できないという欠点があります。  アナログ放送の頃はほとんどの番組がモノラルで、音楽...</description>
<dc:subject>雑記</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-08-21T16:27:45+09:00</dc:date>
<content:encoded><![CDATA[

<p>私が使用しているHDDレコーダーのRD-H1EXにはCMを検出して自動的にチャプター区切りを設定する機能があります。再生中に次のチャプターまでジャンプする機能と組み合わせることで、半自動でCMをスキップすることができます。</p>  <p>無印のRD-H1では、CMは必ずステレオ放送であることを利用してモノラル/ステレオの切り替えでCMを検出していました。この方法は精度が高い半面、ステレオ放送の番組では使用できないという欠点があります。</p>  <p>アナログ放送の頃はほとんどの番組がモノラルで、音楽番組などの一部の番組だけがステレオ放送だったので、この方法でほとんどの番組が対応できました。しかし、テレビ局が番組を地デジ対応にする際にほとんどの番組がステレオ放送化してしまい、いまだにモノラル放送をしているのはタモリ倶楽部のような一部の番組だけとなってしまいました。</p>  <p>このような状況を受けてか、RD-H1に有償のアップグレードを適用したRD-H1EXでは異なるアルゴリズムが採用され、ステレオ放送でもCMを検出することが可能になりました。RD-H1EXがどのような方法でCMを検出しているのかは分かりませんが、確かにステレオ放送でもCM検出ができています。しかし、番組によっては全く検出されていなかったり、一部のCMの検出に失敗していたりと、完璧とは程遠い状態です。</p>  <p>CM検出の別の方法として、音声が無音状態で映像がシーンチェンジするタイミングを検出するという方法があります。音声が流れている最中に突然切り替えてしまうとブチッというノイズが発生してしまうので、テレビの映像は必ず切り替わる直前と直後は無音になっています。無音状態で映像が切り替わったら、そこをCM切り替えの候補とします。また、1本のCMは30秒等と時間が正確に決まっているので、候補の中からピッタリ30秒の部分を探し出せばCMを見つけることができます。</p>  <p>実際にこの方法でかなりの精度で検出できるようです。しかし、番組中に演出で無声部分が続いた場合の誤検出が怖いです。検出失敗でCMが残ってしまうのは後から修正が効きますが、誤検出で本編がカットされるのは非常に困ります。そこで、もっと良い方法が無いかと考えていました。</p><a href="http://bygzam.seesaa.net/article/126174028.html#more">続きを読む</a>
]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://bygzam.seesaa.net/article/125665214.html">
<link>http://bygzam.seesaa.net/article/125665214.html</link>
<title>B-Splineフィルタが軽い理由</title>
<description>真・東方縦画面化ツールに搭載したフィルタの中で、(3次の)B-Splineフィルタがもっとも軽くなっています。  しかし、実際に3次のB-Splineとバイキュービックを書いたことがある人なら分かると思いますが、この2つは各項にかかる係数が違うだけで、それ以外は全く同じ式です。では、なぜB-Splineフィルタが軽いのか…というのが今回の話。  各フィルタの補間関数をグラフ化すると次のようになります。     Bi-Cubic1はシャープネス0、Bi-Cubic2はシャープネ...</description>
<dc:subject>プログラミング</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-08-14T07:53:44+09:00</dc:date>
<content:encoded><![CDATA[

<p><a href="http://bygzam.seesaa.net/article/123123010.html">真・東方縦画面化ツール</a>に搭載したフィルタの中で、(3次の)B-Splineフィルタがもっとも軽くなっています。</p>  <p>しかし、実際に3次のB-Splineとバイキュービックを書いたことがある人なら分かると思いますが、この2つは各項にかかる係数が違うだけで、それ以外は全く同じ式です。では、なぜB-Splineフィルタが軽いのか…というのが今回の話。</p>  <p>各フィルタの補間関数をグラフ化すると次のようになります。</p>  <p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="plot" border="0" alt="plot" src="http://bygzam.up.seesaa.net/plot.png" width="600" height="407" /> </p>  <p>Bi-Cubic1はシャープネス0、Bi-Cubic2はシャープネス1に設定したときのバイキュービックフィルタです。(シャープネスの値は一般的なものではなく、私が実用的と判断した範囲に設定した値です)</p>  <p>この補間関数は、フィルタのインパルス応答に相当し、入力信号が出力にどのように影響するかを表しています。例えばバイキュービックフィルタでは、入力画素値と同じ位置では1.0(元の値と全く同じ)で、そこから離れるにしたがって影響力が減っていき、ちょうど1画素分離れた位置では影響が0になります。更にそこから2画素分離れた位置まではマイナスの影響をします。</p>  <blockquote>   <p>※ここでの説明は全て1次元ですが、今回使用しているフィルタは全て「分離型フィルタ」というもので、2次元のフィルタをX方向とY方向の1次元フィルタに分けることができます。このようなフィルタでは、X方向に1次元フィルタをかけた後に、Y方向に1次元フィルタをかけることで、2次元のフィルタと同じ結果を得ることができます。</p> </blockquote>  <p>ただし、この概念は入力信号中心の考え方ですが、実際のプログラムでは出力信号中心の考え方が必要になります。そのためには、「畳み込み」という計算を行います。</p>  <p>畳み込みは、フィルタ関数の定義域の全ての値を取得し、フィルタ関数を掛けて足し合わせるという処理になります。今回のフィルタは全て定義域が-2～2で幅が4なので、入力画像から4つのピクセルをサンプリングすることになります。連続する4点をサンプリングし、補間関数のちょうど1ずつ離れた位置の値を掛けて足し合わせます。</p>  <p>さて、この4つの曲線のうち、B-Splineだけがマイナスの領域がないことが分かると思います。B-Splineの軽さの秘密は、ここにあります。</p>  <p>GPUには基本機能としてバイリニアフィルタが搭載されています。バイリニアフィルタはX方向とY方向にそれぞれ2点ずつ合計4つのピクセルを、距離に応じた比例配分で混合します。比例配分は、p1*a+p2*(1.0-a) のような計算で、必ず係数の合計が1.0になります。この処理はよく使うので、テクスチャユニットに組み込まれていて、非常に少ないコストで利用することができます。(ちなみにバイリニアフィルタも分離型フィルタ)</p>  <p>畳み込み処理で2つのピクセルに注目したとき、例えばそれぞれに掛ける係数が0.1と0.4だったとすると、次のように変形できます。</p>  <blockquote>   <p>p1*0.1+p2*0.4</p>    <p>= (p1*0.2+p2*0.8)*0.5</p>    <p>= (p1*0.2+p2*(1.0-0.2))*0.5</p>    <p>= (p1*a+p2*(1.0-a))*0.5 [a=0.2]</p> </blockquote>  <p>これはバイリニアフィルタでサンプリングした結果に、係数の合計値を掛ければ畳み込み処理の2点分を処理できることを表します。</p>  <p>現在のGPUは、計算は速いがテクスチャの読み込みは遅いという性質があります。そのため、多少計算が複雑になっても、テクスチャ読み込み回数を減らした方が速くなります。B-Splineフィルタはこのテクニックを使って、16点フィルタを4回のテクスチャフェッチで処理しています。</p>  <p>ただし、バイリニアフィルタの係数は0.0～1.0に限定されるので、負の係数が混ざっているとこの方法は使えません。</p>  <p>3次のB-SplineフィルタのX/Yフィルタの符号を表にすると次のようになります。</p>  <table border="1" cellspacing="0" cellpadding="2" width="202"><tbody>     <tr>       <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>     </tr>      <tr>       <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>     </tr>      <tr>       <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>     </tr>      <tr>       <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>     </tr>   </tbody></table>  <p>全ての領域で符号が同じなので、この手法が使えることが分かると思います。</p>  <p>一方、バイキュービックフィルタやLanczos2は次のようになります。</p>  <table border="1" cellspacing="0" cellpadding="2" width="200"><tbody>     <tr>       <td valign="top" width="50">         <p align="center">- / -</p>       </td>        <td valign="top" width="50">         <p align="center">+ / -</p>       </td>        <td valign="top" width="50">         <p align="center">+ / -</p>       </td>        <td valign="top" width="50">         <p align="center">- / -</p>       </td>     </tr>      <tr>       <td valign="top" width="50">         <p align="center">- / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">- / +</p>       </td>     </tr>      <tr>       <td valign="top" width="50">         <p align="center">- / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">+ / +</p>       </td>        <td valign="top" width="50">         <p align="center">- / +</p>       </td>     </tr>      <tr>       <td valign="top" width="50">         <p align="center">- / -</p>       </td>        <td valign="top" width="50">         <p align="center">+ / -</p>       </td>        <td valign="top" width="50">         <p align="center">+ / -</p>       </td>        <td valign="top" width="50">         <p align="center">- / -</p>       </td>     </tr>   </tbody></table>  <p>正負の符号が混ざっているために、この手法が使えません。</p>  <p>2点に掛ける係数がどちらも負の値の場合は、係数の符号を反転してバイリニアフィルタで読み込み、その結果を再び反転することで同じ結果が得られます。四隅を省略して12点補間とした簡易版バイキュービックフィルタではこの方法を使い、符号が揃っている中央の4点、上下左右の2点ずつをそれぞれバイリニアフィルタで読み込み、計5回のテクスチャフェッチで処理しています。</p>  <p>簡易版バイキュービックフィルタがこの方法で軽量化に成功してしまったために、軽いフィルタが作れると思って実装したB-Splineとの差がほとんど無くなってしまいました。</p>  <p>ちなみに、修正版バイキュービックフィルタではこのような最適化は行っておらず、16回テクスチャを読み込んでいます。</p>  <p>ところで、上のグラフでBi-Cubic1とLanzos2がほとんど同じ曲線ですよね。もう少しパラメータを変えるともっと近くなります。出力画像を見てこの2つのフィルタの違いがよく分からないと思っていたのですが、グラフを描いてみて納得しました。</p>  <p>Lanzosを使うなら2ではなく3以上を使わないと意味がなさそうです。Lanczos3になると36点補間となり、一気に倍以上の処理量になるので、私のツールで採用する気はありません。(費用対効果が悪過ぎる)</p>
]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://bygzam.seesaa.net/article/125310863.html">
<link>http://bygzam.seesaa.net/article/125310863.html</link>
<title>半固定ドライブ用に超小型USBメモリがお勧め</title>
<description>  最近まで母が使っているPCのデータのバックアップにはMOを使用していたのですが、最近MOドライブの調子が悪いのと各メーカーがMOの生産中止を発表したのを受けて、バックアップメディアをUSBメモリに変えました。  バックアップ用のUSBメモリは常に接続したまま半固定ドライブとして使うので、通常のスティック型では物をぶつけて破損する心配がありました。そこで、超小型のUSBメモリ(4GB)を導入してみました。  USBコネクタには逆挿し防止機構がありますが、超小型USBメモリで...</description>
<dc:subject>雑記</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-08-09T06:10:18+09:00</dc:date>
<content:encoded><![CDATA[

<div class="amazon"><SCRIPT charset="utf-8" type="text/javascript" src="http://ws.amazon.co.jp/widgets/q?ServiceVersion=20070822&amp;MarketPlace=JP&amp;ID=V20070822/JP/wtcha-22/8001/6b109268-717e-432c-8676-1307b1b78ebf"> </SCRIPT><noscript></noscript></div>  <p>最近まで母が使っているPCのデータのバックアップにはMOを使用していたのですが、最近MOドライブの調子が悪いのと各メーカーがMOの生産中止を発表したのを受けて、バックアップメディアをUSBメモリに変えました。</p>  <p>バックアップ用のUSBメモリは常に接続したまま半固定ドライブとして使うので、通常のスティック型では物をぶつけて破損する心配がありました。そこで、超小型のUSBメモリ(4GB)を導入してみました。</p>  <p>USBコネクタには逆挿し防止機構がありますが、超小型USBメモリではその部分にメモリチップが搭載されています。このような構造のため、USBメモリの大きさがほぼUSBコネクタのサイズに収まっています。</p>  <p>シングルチップのMLCメモリなので速度は期待できませんが、思っていたよりは速かったです。MOと比べたら遥かに速いので全く不満はありません。</p>  <p>この小ささと思っていた以上の速度で気に行ってしまったので、自分用にも1つ購入しました。</p>  <p>私が使用している<a href="http://bygzam.seesaa.net/article/117706737.html">無線LANルータ</a>にはNAS機能があるので、そのためにルータに8GBのUSBメモリを接続しています。今まではスティック型を使用していましたが、USBメモリの出っ張りが気になっていたので、超小型USBメモリ(8GB)と交換しました。</p>  <p>ルータのUSBコネクタが浅いのでPCに接続したときよりは出っ張ってしまいましたが、全然気にならない程度に収まりました。まだ接続しただけで一度も使用していませんが、どうせルータのNAS機能が遅いので速度的な不満はないでしょう。</p>  <p>今回のUSBメモリの交換でPCの性能が向上したわけではありませんが、PC周りがスッキリしたのは気持ちがいいです。できればReadyBoost用に接続しているUSBメモリも小型のものにしたいのですが、こちらは速くないと意味が無いのでちょっと無理でしょうね。(ReadyBoostに使用しているのは今回購入した超小型メモリよりも4倍速い製品)</p>
]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://bygzam.seesaa.net/article/124799379.html">
<link>http://bygzam.seesaa.net/article/124799379.html</link>
<title>プログラミングパズルゲーム The Codex of Alchemical Engineering</title>
<description>今回紹介するのは、錬金術とプログラミングでパズルを解くゲーム『The Codex of Alchemical Engineering』です。  The Codex of Alchemical Engineering  The Codex of Alchemical Engineering - Magnum Opus Challenge (高難度ステージ集)    ロボットアームの動作をプログラミングして、供給装置から出てくる物質を組み合わせて、上の大きな円の中にあるものと同じ...</description>
<dc:subject>雑記</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-08-02T09:45:36+09:00</dc:date>
<content:encoded><![CDATA[

<p>今回紹介するのは、錬金術とプログラミングでパズルを解くゲーム『The Codex of Alchemical Engineering』です。</p>  <p><a href="http://www.kongregate.com/games/krispykrem/the-codex-of-alchemical-engineering">The Codex of Alchemical Engineering</a></p>  <p><a href="http://www.kongregate.com/games/krispykrem/the-codex-of-alchemical-engineering-magnum-opus-challenge">The Codex of Alchemical Engineering - Magnum Opus Challenge</a> (高難度ステージ集)</p>  <p><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="codex" border="0" alt="codex" src="http://bygzam.up.seesaa.net/codex.png" width="400" height="300" /></p>  <p>ロボットアームの動作をプログラミングして、供給装置から出てくる物質を組み合わせて、上の大きな円の中にあるものと同じ物を5つ作ればクリアになります。</p>  <p>物質は三原質(硫黄・水銀・塩)、四大元素(火・水・風・土)、七金属(銅・鉄・錫・鉛・水銀・銀・金)の3つのグループに分かれます。これらをロボットアームで運びながら、別の物質に変換したり2つの物質を結合したりして目的のものを作り、上の円の中に置けば完成です。(向きも合っていないと駄目)</p>  <p>遊び方は、左上の[COMPONENTS]、[MORE COMPONENTS]で装置を選び、グリッド上にドラッグ＆ドロップで配置していきます。[COMPONENTS]は上から、ロボットアーム、2つの物質を結合、三原質を順番に変換。[MORE COMPONENTS]は上から、四大元素を塩に変換、四大元素+塩で塩を四大元素に変換、金属+水銀で金属を変換。</p>  <p>次にプログラミングしたいアームをクリックで選択してから、左上の[PROGRAMMING]をクリックしてプログラムを組んでいきます。プログラミングは、左端のアイコンをその横のアームの絵の上にドラッグ＆ドロップして並べていきます。</p>  <p>各アイコンの意味は、アームを右回転、アームを左回転、アームを伸ばす、アームを縮める、掴んでいる物を右回転、掴んでいる物を左回転、アームを開く(離す)、アームを閉じる(掴む)、1サイクル休む、ループ開始位置の変更です。</p>  <p>運搬中に物質同士が衝突するとアウトになります。アーム同士が重なるのは構いません。また、ゴールの円の中に完成品以外の物質が同時に乗っていると駄目なようです。(完全な完成品が複数でも駄目)</p>  <p>言葉だけでは分かりにくいと思うので、13面のちょっと複雑な解法を動画にしてみました。</p>  <div style="padding-bottom: 0px; margin: 0px auto; padding-left: 0px; width: 425px; padding-right: 0px; display: block; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:f779b3ab-efef-4c03-8547-e8f4179773cf" class="wlWriterEditableSmartContent"><div id="b3905115-e9a5-434f-808f-e5d0bf202620" style="margin: 0px; padding: 0px; display: inline;"><div><a href="http://www.youtube.com/watch?v=JEtwI2HHWTU" target="_new"><img src="http://bygzam.up.seesaa.net/videoeeda063ee666.jpg" style="border-style: none" galleryimg="no" onload="var downlevelDiv = document.getElementById('b3905115-e9a5-434f-808f-e5d0bf202620'); downlevelDiv.innerHTML = &quot;&lt;div&gt;&lt;object width=\&quot;425\&quot; height=\&quot;355\&quot;&gt;&lt;param name=\&quot;movie\&quot; value=\&quot;http://www.youtube.com/v/JEtwI2HHWTU&amp;hl=en\&quot;&gt;&lt;\/param&gt;&lt;embed src=\&quot;http://www.youtube.com/v/JEtwI2HHWTU&amp;hl=en\&quot; type=\&quot;application/x-shockwave-flash\&quot; width=\&quot;425\&quot; height=\&quot;355\&quot;&gt;&lt;\/embed&gt;&lt;\/object&gt;&lt;\/div&gt;&quot;;" alt=""></a></div></div></div>  <p>こんな風に大き目の物質をフィールド全体を使って組み立てる場合は、ぶつけないように動かすのが大変です。物質を取りだすペースを落としたり、下の発生装置しか使わないようにした方が簡単にクリアできたりします。</p>  <p>このゲームの面白いところは、各ステージのクリアの仕方が無数にあり、人によって解法が違うところです。さっとクリアした自分の解法よりも、苦労したという人の解法の方が美しい動きだったりして面白いです。また、単にクリアするだけでなく、最短ステップや最少パーツでのクリアを目指したり、逆に最長ステップを狙うのも面白いです。</p>
]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://bygzam.seesaa.net/article/123947726.html">
<link>http://bygzam.seesaa.net/article/123947726.html</link>
<title>縦画面化ツールを東方星蓮船に対応させました。</title>
<description>東方星蓮船の体験版が出ていたので、縦画面化ツールを更新しました。  真・東方縦画面化ツール    風神録や地霊殿よりも増えている表示項目ですが、スペルカードのゲージは左下に表示させました。最大得点、グレイズは非表示です。UFO出現中に右側に出る表示も非表示です。</description>
<dc:subject>雑記</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-07-21T11:46:33+09:00</dc:date>
<content:encoded><![CDATA[

<p>東方星蓮船の体験版が出ていたので、縦画面化ツールを更新しました。</p>  <p><a title="真・東方縦画面化ツール" href="http://bygzam.seesaa.net/article/123123010.html">真・東方縦画面化ツール</a></p>  <p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="th12pivot" border="0" alt="th12pivot" src="http://bygzam.up.seesaa.net/th12pivot.jpg" width="320" height="400" /></p>  <p>風神録や地霊殿よりも増えている表示項目ですが、スペルカードのゲージは左下に表示させました。最大得点、グレイズは非表示です。UFO出現中に右側に出る表示も非表示です。</p>
]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://bygzam.seesaa.net/article/123879257.html">
<link>http://bygzam.seesaa.net/article/123879257.html</link>
<title>HTMLのブロックレベルでrobots.txtに相当する機能が欲しい</title>
<description>私がウェブサイトをデザインする際のポリシーは、ランキングを上げる目的でのSEOよりも、検索の質を上げることを重視しています。  検索の質を上げるというのは、一言で言うと「がっかりリンクを無くす」ことになります。すなわち、見たいと思っているページと関係ないページが検索結果に表れないようにすることです。(infoseekの検索精度が低かった頃に、調べていることと関係ないが興味深いページが見つかるのが面白くて使っていた時期はありましたがw)  検索の質を上げるために私がしていること...</description>
<dc:subject>雑記</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-07-20T13:08:43+09:00</dc:date>
<content:encoded><![CDATA[

<p>私がウェブサイトをデザインする際のポリシーは、ランキングを上げる目的でのSEOよりも、検索の質を上げることを重視しています。</p>  <p>検索の質を上げるというのは、一言で言うと「がっかりリンクを無くす」ことになります。すなわち、見たいと思っているページと関係ないページが検索結果に表れないようにすることです。(infoseekの検索精度が低かった頃に、調べていることと関係ないが興味深いページが見つかるのが面白くて使っていた時期はありましたがw)</p>  <p>検索の質を上げるために私がしていることは、主に次の2つです。</p>  <ul>   <li>タイトルだけで内容が分かるようにする </li>    <li>関連性のない複数の記事が表示されるページは検索にひっかからないようにする </li> </ul>  <p>タイトルに関しては、できるだけ説明的な文章でGoogleの検索結果に表示される長さに収めるようにしています。(Google以外の検索サイトからのアクセスは4%未満なので他は気にしない)</p>  <p>複数の記事が表示されるページというのは、アーカイブ系のページです。複数キーワードによる絞り込み検索を行った際に、各キーワードが異なる記事に点在していると、期待した検索結果が得られません。そこで当ブログでは、アーカイブ系のページにはnoindexを指定しています。</p>  <p>しかし、noindexやnofollowはページ単位での制御しかできません。ブログ系のウェブページでは、記事とは別にツールバー的なエリアがあるのが一般的で、最近更新された記事やコメント、タグクラウド等の情報が表示されます。これらの情報は特定の記事とは無関係ですが、全てのページで表示されるのが普通です。そのため、記事とは関係のないキーワードが同じページに表示されることになります。</p>  <p>当ブログにもタグクラウドがありますが、タグの中に「Silverlight」と「Python」があるために、<a href="http://www.google.co.jp/search?hl=ja&amp;q=Silverlight+Python+site%3Abygzam.seesaa.net">「Silverlight Python」で検索</a>すると、ほぼ全てのページがヒットしてしまいます。実際にSilverlightとPythonについて書いたのはIronPythonの紹介で一言触れた程度で、SilverlightでPythonを扱う記事は1つもありません。</p>  <p>ページ単位よりも細かく、HTMLのブロックごとに検索エンジンの制御ができる機能があれば、利便性を損なわずにこの問題も解決できます。例えばHTMLのブロック要素にnoindexクラスを指定するという方法ならば、現在のHTMLやCSSの規格内でも実現できると思います。あるいは、robots.txtのような形でクラス単位で指定できるようにするという方法も有ると思います。</p>  <p>検索サイトだけでなくアンテナ系にも使えると思うので、その手のものを作っている人/企業で、そんな仕組みを検討して欲しいです。(アンテナ系は更新チェックをRSSで行えば済む話だが)</p>
]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://bygzam.seesaa.net/article/123711558.html">
<link>http://bygzam.seesaa.net/article/123711558.html</link>
<title>Silverlight3SDK出ました</title>
<description>ランタイムや英語版SDKは既に先週リリースされていましたが、昨日やっとこ日本語版SDKもリリースされました。  Visual Studio 2008 SP1 用 Microsoft&amp;#174; Silverlight&amp;#8482; 3 Tools  (Silverlight ToolsはSDKも含むので、別途SDKをインストールする必要はないです)  なぜかSDKにドキュメントが含まれていないようなので、ドキュメントは別途ダウンロードする必要があります。ただし、日本語版ドキュ...</description>
<dc:subject>プログラミング</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-07-17T20:24:15+09:00</dc:date>
<content:encoded><![CDATA[

<p>ランタイムや英語版SDKは既に先週リリースされていましたが、昨日やっとこ日本語版SDKもリリースされました。</p>  <p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9442b0f2-7465-417a-88f3-5e7b5409e9dd&amp;DisplayLang=ja">Visual Studio 2008 SP1 用 Microsoft&#174; Silverlight&#8482; 3 Tools</a></p>  <p>(Silverlight ToolsはSDKも含むので、別途SDKをインストールする必要はないです)</p>  <p>なぜかSDKにドキュメントが含まれていないようなので、ドキュメントは別途ダウンロードする必要があります。<del>ただし、日本語版ドキュメントは8月下旬の予定で、まだ英語版しかありません。</del><ins>日本語ドキュメント出ました。</ins></p>  <p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0a9773a7-c854-41fa-b73d-535abfb73baf&amp;displaylang=ja">Microsoft Silverlight 3 オフライン ドキュメント</a></p>  <p><a href="http://go.microsoft.com/fwlink/?LinkId=144350">Microsoft Silverlight 3 Offline Documentation</a> (英語)</p>  <h3>Silverlight3の新機能</h3>  <p>私が紹介しなくても、既に散々あちこちで紹介されていると思いますが、私の視点から見たSilverlight3の新機能を紹介しておきます。</p>  <h4>・3Dエフェクト</h4>  <p>Silverlight3が最初にアナウンスされたとき、3Dと聞いてDirect3Dのような機能に期待した人も多かったと思います。実際には3Dオブジェクトを自由に描画できるような機能ではなく、Silverlightのコントロールを3D回転させて表示できる機能です。画面に表示されるコントロールやジオメトリならば、全て3次元回転でき、回転した状態でも入力等が可能です。</p>  <p>実際に回転させながら入力をしたりすることはないと思うので、画面の切り替えや画像が現れるときのエフェクトの一種として使うのが一般的でしょうか。</p>  <h4>・ピクセルシェーダエフェクト</h4>  <p>Silverlight3では、ピクセルシェーダを使って画面にエフェクトをかけることもできます。ただし、シェーダの実行はソフトウェアで、3Dアクセラレータは使用されません。</p>  <p>Silverlightはシェーダコンパイラは搭載していないので、DirectX SDKのシェーダコンパイラツールで予めコンパイルしておく必要があります。</p>  <p>ピクセルシェーダに関しては、ドキュメントに情報がなさすぎるので、後で色々調べてまとめようと思います。</p>  <h4>・ビットマップ画像操作、Rawオーディオ対応</h4>  <p>むしろSilverlight2までで出来なかったことの方が不思議な、ビットマップ画像を自由に操作する機能が加わりました。ただし、SetPixel/GetPixelのような操作が可能なものではなく、Int32の配列を画像化するだけの機能です。</p>  <p>Rawオーディオは、無圧縮のオーディオです。実行時に音を生成して再生することが可能になりました。しかし、遅延が1秒以上あるようなので、インタラクティブ性の高い使い方はできそうにないです。もっとストレートに言うと、ゲーム機のエミュレータ等には使い物にならないです。Microsoftが用意した<a href="http://www.microsoft.com/silverlight/silverlight/demos/RawAV/default.html">シンセサイザーのデモ</a>がありますが、ダイヤルを回してもすぐには音に反映されなくて気持ち悪いです。</p>  <h4>・ブラウザ外での実行</h4>  <p>Silverlightは本来ブラウザ内で実行されるプラグインですが、スタンドアロンアプリケーションとして実行できるようになりました。しかし、ブラウザ外での実行でも、セキュリティレベルはブラウザ内と同じなので、できることはあまりないです。(その分、セキュリティの心配は無用)</p>  <p>複雑なことをやろうとするとネット環境が必要ですが、ネットに繋がっているのならばブラウザ外で実行する利点もほとんどないので、使いどころは微妙かもしれません。</p>  <p>主な使い道は、ゲーム系、小道具系アプリケーションといったところでしょうか。ブログの記事エディタをSilverlightで作って、オフラインでも記事が書けるようにするのも良いかもしれません。(Windows Live Writerの方がいいけどね)</p>  <p>ちなみに、Macでもちゃんと動きます。</p>  <h4>・ナビゲーションフレームワーク</h4>  <p>Silverlightのような動的コンテンツが抱える問題として、コンテンツ内でのページ遷移が、ブラウザのページ移動履歴に反映されないという点があります。</p>  <p>ナビゲーションフレームワークを使うと、Silverlight内でのページ遷移がブラウザにも認識され、進む/戻るボタンで移動できるようになります。また、ページごとにアドレスも変化するので(URLのアンカー部分が変わる)、トップページ以外にリンクするディープリンクも可能です。</p>  <p>Flashでも出来ることですし、Silverlight2+JavaScriptでも出来ますが、標準でフレームワークが用意されたのは助かります。</p>  <h4>・新しいコントロールが大量に追加された</h4>  <p><a href="http://www.codeplex.com/Silverlight">Silverlight Toolkit</a>というSilverlightのコントロールを開発しているプロジェクトがあるのですが、そこから成熟レベルまで完成度の高まったコントロールが、標準コントロールとして取り入れられています。</p>  <p>ただし、追加された多くのコントロールは、ランタイムに内蔵されているのではなくライブラリでの提供なので、使用する際には参照の追加などの操作が必要になります。</p>  <h3>サンプル等</h3>  <p><a href="http://go.microsoft.com/fwlink/?LinkId=139798">Silverlight SDK sample browser</a> (機能ごとの簡単なサンプル集)</p>  <p><a href="http://www.microsoft.com/silverlight/overview/top-features/default.aspx">New Features &#8211; Silverlight 3</a> (新機能を使ったアプリケーション例)</p>  <p><a href="http://silverlight.net/learn/videocat.aspx?cat=12">New Features in Silverlight 3</a> (プログラマ向けのコーディング説明ビデオ)</p>
]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://bygzam.seesaa.net/article/123348581.html">
<link>http://bygzam.seesaa.net/article/123348581.html</link>
<title>縦画面化ツールの各種拡大フィルタについて</title>
<description>真・東方縦画面化ツールに搭載した拡大フィルタについて補足しておきます。  以前のアス比固定拡大ツール等ではバイキュービック等の高度なフィルタは後から追加するプラグイン式でしたが、今回は最初から組み込まれていて簡単に切り替えができるようになっています。ゲーム中に切り替えも可能なので、画質や負荷の比較も容易になっています。  今回搭載したフィルタは次の5つです。     バイリニア     Bスプライン     バイキュービック(簡易版)     バイキュービック(修正版)   ...</description>
<dc:subject>雑記</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-07-12T15:31:06+09:00</dc:date>
<content:encoded><![CDATA[

<p><a title="真・東方縦画面化ツール" href="http://bygzam.seesaa.net/article/123123010.html">真・東方縦画面化ツール</a>に搭載した拡大フィルタについて補足しておきます。</p>  <p>以前のアス比固定拡大ツール等ではバイキュービック等の高度なフィルタは後から追加するプラグイン式でしたが、今回は最初から組み込まれていて簡単に切り替えができるようになっています。ゲーム中に切り替えも可能なので、画質や負荷の比較も容易になっています。</p>  <p>今回搭載したフィルタは次の5つです。</p>  <ul>   <li>バイリニア </li>    <li>Bスプライン </li>    <li>バイキュービック(簡易版) </li>    <li>バイキュービック(修正版) </li>    <li>Lanczos2 </li> </ul>  <p>バイリニアのみピクセルシェーダを使用していません。Bスプラインとバイキュービック(簡易版)はピクセルシェーダ2.0以上で、バイキュービック(修正版)とLanczos2はピクセルシェーダ3.0以上で動きます。基本的に上記リストで下にいくほど重いフィルタになります。</p>  <p>バイリニアは、シャープネス0のときにバイリニアフィルタ、シャープネス1のときにポイントフィルタ(いわゆるフィルタ無し)、中間ではその両者を混合した画像になります。シャープネスが0または1のときは混合処理をスキップするので、少しでも軽くしたい場合は0か1にすると良いと思います。</p>  <p>Bスプラインは16点から補間する手法ですが、フィルタの性質上少しボケた画像になります。バイキュービックよりも軽いフィルタが作れそうなので作ってみたのですが、バイキュービック(簡易版)との差はあまり無いようです。なお、このフィルタでは、シャープネスの調整はできません。</p>  <p>バイキュービック(簡易版)は、本来は16点補間のバイキュービックから、影響が少ない四隅の4点を省略して12点補間にしています。バイリニアよりもくっきりした画像になりますが、シャープネスを上げるとリンギング(色が急激に変化する部分の周りにできるノイズ)が発生します。</p>  <p>バイキュービック(修正版)は、16点補間の真のバイキュービックフィルタに、リンギングの発生を抑える処理を加えています。この処理を加えたことで、次のLanczos2との差はあまり無くなったと思います。バイキュービック(簡易版)とはシャープネスが1に近づくほど差が出てきます。</p>  <p>Lanczos2は、バイキュービックよりも画質が良いと言われるフィルタで、ボケが少ないわりにリンギングが控え目の傾向になります。ただし、バイキュービック(修正版)の3倍以上の命令数と、かなり重いフィルタになっています。また、シャープネスの調整ができません。</p>  <p>ピクセルシェーダ2.0で使えるフィルタでも、3.0が使用可能な環境では自動的に3.0バージョンを使用するようになっています。</p>  <p>各シェーダの重さの目安となる命令数は次のようになっています。</p>  <table border="1" cellspacing="0" cellpadding="2" width="400"><tbody>     <tr>       <td valign="top" width="189">&#160;</td>        <td valign="top" width="106" align="center">PS2.0版</td>        <td valign="top" width="104" align="center">PS3.0版</td>     </tr>      <tr>       <td valign="top" width="189">バイリニア</td>        <td valign="top" width="106" align="center">-</td>        <td valign="top" width="104" align="center">-</td>     </tr>      <tr>       <td valign="top" width="189">Bスプライン</td>        <td valign="top" width="106" align="center">52</td>        <td valign="top" width="104" align="center">41</td>     </tr>      <tr>       <td valign="top" width="189">バイキュービック(簡易版)</td>        <td valign="top" width="106" align="center">58</td>        <td valign="top" width="104" align="center">52</td>     </tr>      <tr>       <td valign="top" width="189">バイキュービック(修正版)</td>        <td valign="top" width="106" align="center">-</td>        <td valign="top" width="104" align="center">73</td>     </tr>      <tr>       <td valign="top" width="189">Lanczos2</td>        <td valign="top" width="106" align="center">-</td>        <td valign="top" width="104" align="center">233</td>     </tr>   </tbody></table>  <p>Lanczos2の命令数がかなり多いですが、GeForce9600GTで東方ならばこの程度は屁でもないです。</p>  <p>ちなみにGeForce9600GTで各フィルタの負荷を比べてみたところ、Bスプライン≦バイリニア≒バイキュービック(簡易版)＜バイキュービック(修正版)≒Lanczos2、という傾向でした。</p>  <p>最近のGPUでは昔ながらの固定機能は実装していなくて、内部的にはシェーダを使用したエミュレーションになっているので、固定機能を使ったバイリニアが意外と遅いみたいです。バイリニアフィルタ自体はテクスチャユニットが標準的に装備しているフィルタで、このツールで使用している処理をピクセルシェーダで実装すると4命令程度で済むので、これもシェーダにした方が軽いかもしれませんね。</p>  <p>バイキュービック(修正版)とLanczos2は、どちらもテクスチャ参照回数が16回になっています。命令数が3倍も違うのに負荷が大して変わらないのは、テクスチャアクセスがボトルネックになっているようです。</p>
]]><![CDATA[
]]></content:encoded>
</item>
<item rdf:about="http://bygzam.seesaa.net/article/123123010.html">
<link>http://bygzam.seesaa.net/article/123123010.html</link>
<title>真・東方縦画面化ツール</title>
<description>真・東方縦画面化ツールを公開しました。</description>
<dc:subject>アプリケーション</dc:subject>
<dc:creator>新坂</dc:creator>
<dc:date>2009-07-09T09:28:16+09:00</dc:date>
<content:encoded><![CDATA[

<p>東方シリーズ(風神録以降)を縦画面で遊べるようにするツールです。普通に横画面のままアスペクト比固定拡大することもできます。</p>  <ul>   <li><del>th_pivot_dx9-090709.zip</del> Version 2.0 (2009/07/09) </li>    <li><del>th_pivot_dx9-090718.zip</del> Version 2.1 (2009/07/18)       <br />東方緋想天でも動くように修正 </li>    <li><a title="th_pivot_dx9-090721.zip" href="http://bygzam.up.seesaa.net/zip/th_pivot_dx9-090721.zip">th_pivot_dx9-090721.zip</a> Version 2.2 (2009/07/21)       <br />東方星蓮船に対応 </li> </ul>  <p>縦画面中は、ゲーム中と認識すると自動的に左側のゲーム画面のみを画面いっぱいに拡大表示します。また、スコア等も位置を変えて上下の余白部分に表示します。</p>  <p>以前のアス比固定拡大ツールからあまり必要のない機能(アス比固定以外のスケーリング、マウスサポート等)を削り、設定をシンプルにしました。各種シェーダはプラグイン式からビルトインにして、簡単に切り替えられるようにしました。(組み込み済みフィルタ：バイリニア、Bスプライン、バイキュービック、Lanczos2)</p>  <p>東方風神録不具合修正ツールも統合してあるので、GeForce8x00/9x00での1面のチラつき等が直ります。</p>  <p>保証はしませんが、東方シリーズ以外でも描画にDirectX9を使っているソフトならばアス比固定拡大&amp;回転ツールとして使用できます。ただし、マウス関係の機能は実装していないので、マウスを使うゲームでは問題があるかもしれません。</p>
]]><![CDATA[
]]></content:encoded>
</item>
</rdf:RDF>
