Dies Aliquanti

スポンサーサイト

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

HD-PVRの現状,その2

TV放 送を録画するためには、チューナーの制御、タイマー録画の開始/停止、EPG情報による予約が必要です。

2台あるHD-PVRのうち、1台目はこれらのために、Windows MCE2005を 使っています。MCE2005は外部チューナー(我が家ではPanasonic のCATV STB TZ DCH-1820)を 赤外線リモコンで制御できるので、MCE2005で録画システムを作り、MCE2005が録画を開始すると、Linuxでも録画されるように小さな プログラムをつくりました。Rubyで数十行のつたないプログラムですが1年以上問題は起きていません。

このシステムの欠点は、

  • (HD-PVRとは別に)MCE2005対応のキャプチャカードが必要(私はHauppauge WinTV-PVR-USB2 を使ってます)
  • MCE2005(もしくはVista)対応の赤外線リモコンユニッ トが必要。(新品ではたぶんこれくらいしか入手できないと思 う) 
  • チュー ナーのチャンネル選択が「シームレス」モードでないとだめ。MCE2005は0-9の数字キーしか赤外線リモコ ンで発信できないため。
  • MCE2005は本来複数台のチューナーをサポートしているが、拙作のプログラムでは1台のみ

とまあ ハードル高いです。(プログラムは公開していませんけど、欲しい人い ますかね?)

2台目 は、1台目の問題を解決すべく、全部Rubyでプログラムを書いています。赤外線リモコンの ためには、バッファローのリモートステーションを使用していますが、1台目のシステムで使っているSTB TZ DCH-1820は赤外線リモコンのコードが 長すぎるようでリモートステーションで制御できず対応を苦慮中です。現状HitachiIV-R1000 HDDレコーダーをディスクレスで使 用しています。一時期、バッファローLT-H90DTVも使っていましたが、発熱が醜く、調子よくなかったですね。

iEPGをWebブラウザなどで取得してタイ マー録画まではこぎつけていますが、そんなこんなで、録画が重なったときだけ細々と運用中です。

 

チューナー に関しての注意点 はD端子が必要なのはもちろんですが、SD放送の時に勝手にアップコンバージョンするタイ プの場合、ファイルサイズが必要以上に大きくなります。よって、SDはSDのまま出力できるタイプの方がいいです。私は仕方ないので保存する場合はSD相当(720x480)に再エンコードしています。
ちなみ に、上記のTZDCH-1820はSDはSDのまま出力する設定があります。IV-R1000とLT-H90DTVは勝手にアップコンバージョ ンです。  



「PCで録画」はパソコンオヤジの 夢として軽い気持ちではじめたのですが、ハイビジョン対応の際に、CanopusHDRECでCPUパワーの不足を痛感(再エンコードに半端じゃなく 時間がかかる)。HD-PVRは(以前は)日本で販売されていなかったこともあって情報不足。プログラムの自作まで始めてしまいました。HDDもいつのまにか7TB以上になってしまい、時々自分 でも「オレ、なにやってんだろ?」と思う今日この頃です… orz 

その他 は、こちらか ら。。。 



スポンサーサイト

HD-PVRの現状,その1 (1)

 自分で自覚している限りでもいろいろと性格に問題はあるのだが、なかでも「グズ」なところが本当に嫌だ…


それはともかくサンノゼ在住さんから、お問い合わせを戴いたので、ちょこっと。(ちょと文章の順番をいれかえました)

>当方、HD PVRを買ってみたものの内蔵のIRブラスターは動かず、
>途方に暮れてます。
私もです。

>完成後は日本の
実家に置く予定。
録画を海外から視聴されるつもりでしょうか?
んー、どうでしょ
?
私もUS出張の際は、Teamviewerで日本の自宅のPCにログインしたり、Orbで手元のPCVideoを見たりはできてますが、手元にtsファイルを持ってこようとすると、自宅側のインターネット回線の昇り細くて、ちょっと無理があるかな?と思いましたけど。。。
この目的であれば
Slingbox PRO-HDとかの方がいいのではないでしょうか?Webを見ると成功している方もいますし、 スタンフォード大のそばのFry’sとかにも売ってましたし…

 

一応現行システムの紹介ですが、実はビデオのキャプチャとしては、Hauppauge HD-PVRlinux(Ubuntu Desktop9.04)で使っています。もともと付属していたソフトはWindows用ですが、

  • HD-PVRの内蔵の赤外線リモコンが使えない(使えている人もいるようなので私だけの問題の可能性あり)。
  • 付属のArcSoftの録画用ソフトが(少なくとも当時は)プレビューを切ることができず重い
  • 同ソフトとMCE2005用のキャプチャ用ハードウェアと相性が悪かった
  • 同ソフトは複数台のHD-PVRをうまく扱えない(みたい。完全には未確認)

で、さっさとあきらめてLinuxに移行してしまいました。キャプチャソフト単体は、こちらで公開しています。
といってもデバイスドライバは人様が作ったものなので威張るほどのことではないです。

いまは、AAC5.1chの音声に対応するため若干変更していますが、基本的には公開しているものと同じソフトです。一時期は、Windows上でVMWareを使ってLinuxを動かして、キャプチャプログラムを使っていました。今はAtom N270ベースのしょぼいPCで、2台のHD-PVRの録画とRegza用のNASとして、快調に動作しています。もちろんプレビューは無理ですけど。

 

(あらら、文字数がオーバーしてしまったのでつづきはこちら)




STM8S Discoveryその3

先週末のことになりますが、F1をたまたま見ました。いつの間にかシューマッハが復帰しているのには驚きましたが、なによりレーシングカーが異様にカッコ悪い。orz
こんなことでいいのでしょうか・・・

それはともかく、STM8S Discoveryの続きです。いい加減買えよ、750円なんだから、とツッコミまれそうですが。。。

I/Oの類はリファレンスマニュアル(RM0016)
http://www.st.com/stonline/products/literature/rm/14587.pdf

に載ってます。実際にはSTが提供するライブラリを使うことなるのと思うのであまり細かいところまでは見なくてもいいのでしょうが、400ページ以上なので、まだほんとに斜めに読んだだけ。

内部のアーキテクチャに関する考察(というか妄想)も、主に通勤中に続けています。
3ステージのパイプラインで、2サイクル目がデータメモリのフェッチ、3サイクル目が同書き込みだと仮定します。すると、データメモリの書き込みを伴う命令の直後にデータメモリの読み出しを伴う命令が来る場合、データの読み出しと書き込みが同じサイクルになります。両方同時に行うことは技術的に不可能ではないですが、このようなメモリは回路規模が大きくなるので(一般的には)嫌われます。また、同じアドレスに対して読み書きした場合どう扱うかも悩ましいです。
なにが言いたいかというと、上記のような場合、おそらく自動的にストールサイクルが挿入され、読み出しは1サイクル余計にかかるのではないかと思います。(データブックには記述は見当たりませんけど)
いわゆる「ストールサイクルあり」タイプのパイプライン処理でしょう。

PICもいいですが、秋月のライターでもそこそこの値段しますので、性能的にも、PIC16を圧倒してますから、いまからちょこちょこっとCでプログラム書いて遊ぶとか、教育用にはむしろよいかも。
STマイクロが、(どう考えても原価われに思える)Discovery KITを永く供給してくれることが前提ですけど…


On a fridge...

onafridge

夕べ、外人ズと晩飯を食べていたときの雑談。、

 (外人)「猫たちはどうしてる?」

 (私)「元気だよ。でも、おなかが空いているとき以外は、私は基本的に無視されてるけど…」

(外)「それじゃ、うちのティーンエイジャーの子供といっしょだ(笑)」

(私)「いつも昼間は寝てるんだけど、昨日の雪のとき、家内が窓際に連れて行ったら、すっごく不思議そうにしていたらしいよ」

(外)「昼間は寝てばっかりで、夜になると活動しだすのもうちの子供と一緒だ(大笑)」。

でした。
でもこれは無理でしょう。しばらく前からブルーのほう(右側、なんかすごい「ブス顔」になってます)が、冷蔵庫の上に登ることができるのを発見しました。しばらくして、ブラウンの方も。。

でも、そこは本当は登っちゃいけないんだよ、君たち。。。 orz



STM8S Discoveryその2

今週は、海外から外人が来ていて、彼らをつれてお客さん廻りで東へ西へと忙しいです。信じられないこととかも起きて「こいつらいつか殺してやる」と思ったりして、いい感じに珍道中になっています。


それはともかく、STM8S Discoveryの続きです。

 

プログラミングマニュアル(インストラクションセット)PM0044はここ
http://www.st.com/stonline/products/literature/pm/13590.pdf
にドキュメントがあります。ざっと眺めてみると、結構速い。アドレッシングモードは豊富。

72h,90h,91h,92hで始まる命令は(多くの場合)アドレッシングモードの変更のプレフィックスになっている。Z-80みたい。コードのコンパクションにはあまり向かない感じです。
ほとんどの命令は1クロックで実行できるけど間接アドレッシングを使うと4クロック程度まで落ちる。データバスが8ビットだから、仕方ないか。
ハーバードアーキテクチャで、インストラクションバスの幅は32ビット、命令長は最大5バイトなので、命令のコンパクションをするより、インストラクションバスのバンド幅を大きくし、相対的に大き目のコードメモリを積めばよい、という考え方のようです。

最大命令長が5バイトなので、8バイト分(2回分)を先読みすると考えると、分岐命令の際は2クロック分余計かかるのが、ストールサイクルになっているのでしょう。1クロック余計でもいいような気がするけど、なんでだろう。

乗除算命令がある。除算は可変サイクルで最大サイクル数が17と長いけど、実行中に割り込みを受け付けることができるので、大体アルゴリズムの想像はつくな・・・。
メモリーtoメモリーのMOV命令が1サイクルで実行できるということは、データメモリはR/Wで別にアドレッシングできるということかな(ゴージャス)

 あー、違うみたい。3ステージのパイプラインかな。1ステージ目は命令のデコードとインデックスまでのアドレス計算、2ステージ目で、データメモリのフェッチ、3ステージ目でデータメモリの書き込みをやるんじゃないかな…
分岐命令がいわゆるディレイドブランチになってないから、分岐の実施も3ステージ目になっているんじゃなかろうか?だとすると、分岐命令が3クロックなのも納得がいくような気がする。

1サイクルで実行できても不思議ない、インデックスレジスタをいじる命令も、2サイクルになっているのは、(次の命令の)2ステージ目に結果を反映させるため、1サイクル分はストールと考えるとだいたい納得がいく。

なかなか、面白い。ISSでも作ってみようかな… 



STM8S Discovery (2)

普通の人にはなじみないですが、STマイクロという欧州の半導体メーカーがあります。昔はSGS-トムソンと言っていてその前身は、SGSというイタリアの半導体メーカーとトムソンというフランスの半導体メーカーです。今回、調べてみて始めて知ったのですがSGSは「Società generale di semiconduttori 」だったそうです。「Società generale」は「会社」の意味でしょうから、直訳すると「半導体の会社」という、大胆な名前だったわけです。
まあ、TSMC、IBM、GMとかもかなりですけど…
---
それはともかく、秋月に「STM8S Discovery」なるものを売っているのを見つけました。開発ソフトとかは、Webからダウンロードですが、SWIMという1線式のデバッグ用インターフェース(JTAGみたいなもののようです)でデバッグもできるのに、750円。Webを見てると、エンベッデドショーでタダで配っていたみたいですね。STM8Sというプロセッサはまったくしらないのでちょっと調べてみました。

Discovery キットのトップページ

Discovery キットのマニュアル
パキッと折ったあとも、残りは他の開発のときに使えるようです。

STM8Sの関連情報一覧はここ
フリーのソフトウェアライブラリもぱっと見にはよくできてるし、フリーCコンパイラもあります(コードサイズに制限はある)

STM8S105xx自体のマニュアル
UART,Timer,A/D,I2C位はついているし、プログラムエリアは32Kもあるし、データ用のフラッシュROM1K、RAMも2K(スタック教養)もありますね。

130nmで製造されているらしいけど、妙にクロックが遅い(16MHz、24MHz)。1GHzで動かせ、とは言いませんが、100MHz位でてもおかしくないような気がします。Flashメモリが激遅いのかもしれない。

DigiKeyでみると100個の時の単価は、$2.30位。Discoveryキットの値段がいかに安価に設定されているかわかります。




FC2Ad

まとめ

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