2019年10月12日 (土)

tiffのヘッダ

画像を変換して、RGB/8bitで並ぶ画像データをtiffで保存しようとしてます。
固定の最低限のtiffヘッダを作って、RGB画像の先頭に入れてやろうというわけ。

先頭の8byteは簡単だ。
4D4D 002A 00000008   ←  Big-Endianで0x00000008からtiffのtagが入ってる、の意。
画像データの最後にtagをつける場合は、00000008 ではなくなるわけね。

次にtagが続く。

000A   ← 10個のtagが続くよ
00FE 0004 00000001 00000000   ← FileType(標準)
0100 0003 00000001 ****0000   ← 画像の横幅
0101 0003 00000001 ****0000   ← 画像の縦幅(高さ)
0102 0003 00000003 ********   ← 色の深度(RGB:3つ分)
0103 0003 00000001 ****0000   ← 画像の深度(ここでは1)
0106 0003 00000001 ****0000   ← 圧縮(1:非圧縮)
0111 0004 00000001 ********   ← 画像データの先頭ポインタ
0115 0003 00000001 ****0000   ← コンポーネント数(RGB:3)
0117 0004 00000001 ********   ← 画像データ総数
011C 0003 00000001 ****0000   ← 画像の並び順(RGB:1)

0000 0000   ← tagの終了
0008   ← 色の深度(R)    ここを0102のポインタで指す
0008   ← 色の深度(G)
0008   ← 色の深度(B)

こんな感じです。DataTypeが3の場合はuint16なので後半4byteは使われない。
逆に色深度のように8byteを超えるdataを示す場合はポインタで場所を指す。
ふむ、非圧縮のストリップ(分割)なしならそんなに難しくはないですね。
 

| | コメント (0)

2019年7月22日 (月)

rawを現像って?

最近、Linuxマシンで、EtherNet接続のカメラからのカラー画像取り込みをやっている。

まぁ、sampleプログラムを改良してカメラから来たFlameBufferをFileに落とすところまでは意外に?早くできた。

 

ところが。 ここで問題が。

 

「これ、どういうフォーマットの画像なの?」

 

普通はTIFFとかPNGとかBMPとかあるじゃないっすか。

そのカラー画像がどういうモノなのかがさっぱりわからんのですよ。

 

調べて見たら、カメラに搭載されているCMOSカラーセンサーからの読み出しデータが「そのまま」保存されてるらしい。

つまり、rawデータなんだと。 そのカラーCMOSセンサのデータ転送モードがいくつか指定できるのだが、

「Mono8」「Bayrer8RG」「Bayrer12RG」などがあって、FPSを重視したカラーは「Bayrer8RG」がよいらしいのだ。

Bayer8rg

Hi-Vision用のCMOSイメージセンサなのだが、こういうデータで送られてくるのだ。

ははぁ、、Hi-Visionの実質解像度は1440x1080だ、とかいうのはこのセンサがそういう解像度だからってわけだ。

しかし、RGBのデータで1画素を表現するには歯抜け部分をどうにかしないといけない。Greenの情報も多すぎだし。

で、2x2のエリアでRGBを拾ってきてカラーにする。多すぎるGは平均とるかどっちか捨てればいい。

Rgbconv1

これだと解像度が縦横1/2になってしまうね。

Rgbconv2

もしくは隣り合ったR-Rとかの平均値計算して真ん中を補正して埋めるわけだ。これなら解像度を保持したままだな。

 

ところがこの補正のやりかたや、このあとのゲイン補正、γ補正も考えると意外に複雑だ。処理の仕方で画像の質感も微妙に変わってくるだろう。

 

ここで気がついた。 「あ、これがrawから現像する、って事なのか」 と。(←おせーよ!:笑)

 

というわけで、rawから現像することをやっと・・理解し、肌身に感じた今日この頃なのであった。

| | コメント (0)

2019年7月10日 (水)

AV1を試す

ffmpegが4.1.4になっておりました。 libx265も3.1.1が出てますね。

 

ついでに、AV1(Alliance for Open Media) のlibaomも組み入れてbuildしてみましたさ。

Ffm414

macOS HighSierraにて。 AV1とhvc1を比べてみましょう。

とはいえ・・・・ AV1はエンコードにものすごく時間がかかります。(笑)

なので5秒!!の同じ動画で比べます。

 

Aom

 

Hvc1

FileSizeは、AV1:165KB、hvc1:189KB でした。 画質はまぁHD画質で見た目変わりません。(5秒なのでわからん!:笑)

 

うーーーむ。。 H.264(avc1)より、50%〜60%で、エンコード時間はAV1は(まだ)非実用的なカンジ。

この程度の差だと、AV1のメリットはないですねぇ・・・ ま、今後8K動画やエンコード時間が短縮していけばわかんないですけど。

 

webmはAV1へと移行するとしても、H.265から積極的にAV1にする理由も(まだ?)ないかなぁ。

| | コメント (0)

2019年5月31日 (金)

USB-CDC通信

最近、USBの通信をいろいろ調べてます。KeyboardやMouseなどのHID-Class、HDDやメモリのようなMassStarageClass、PrinterClass、AudioClassなどがOS標準で扱えますね。

 

ところで、USBのRS-232C変換器もCommunication Device Class(CDC)として扱えますよね。

実際にシリアル通信を行うものは、ttyUSBで認識しますが、単にバルク転送を行う機器はttyACMとして最近のLinuxなどは認識します。

このttyACMは、USBの転送を直接扱うので、ボーレートやパリティの設定は必要ありません。(しても関係ない)

 

ちなみに、macOSもちゃんとOS標準で認識します。 /dev/cu.usbmodem*** として同じように使えます。

ちなみにUSBシリアル(232C)は、/dev/cu.usbserial-$$$$$$$$ として認識しますよ。($..はシリアルNO.)

 

usb機器を調べるのに、Linuxでは

$ lsusb  を使いますが、 macOSでは、

system_profiler SPUSBDataType    とかやりましょう。

 

さすが、LinuxとmacOSのコンパチ度は高いですね。

(Windowsだけは仮想COMへの変換ドライバを別途入れないといけないようです)

 

| | コメント (0)

2019年1月 4日 (金)

Fontの話

日本語フォントの話が出たので。

初期のMacのFontはリソースとして格納された256文字=1byteのBitMapフォントの集合体だった。サイズ毎に別リソースに格納され、FONDリソースで1つのFileにまとめられてました。

Fond

漢字FontはBitMapの丸漢Fontがありましたね。リソースに収まらなかったので、2byte文字の漢字フォントの実体はこの丸漢側に置いたわけです。

Marukan

そしてDTP時代になると、印字用のPostScriptのFontを画面描画にも使えるようにしよう、という動きが出てきます。Adobe TypeManager(ATM)ですね。 Type1のPostScriptフォントが画面描画に使えるようになったのですな。

その後、Type1フォントの価格が下がらないことに対抗するため、AppleはTrueTypeを開発。普及にMicrosoftと組んじまった。 AppleとMicrosoftのそれぞれが微妙な拡張仕様をTrueTypeに追加していった。

一方、AdobeのType1は、文字数を増やすために複数のType1を束ねたOTFが現れ、さらにマップ形式のCIDという形式に進化した。

AdobeとMicrosoftは、OpenTypeというFont仕様を策定し、TrueTypeとPostScriptの統合をはかった、と。

はい。 ここまでが、だいたいの歴史かな〜?

| | コメント (0) | トラックバック (0)

2018年6月30日 (土)

802.11ac/3ストリーム

WiFiの規格がずいぶん進化していたようです。 ウチのWiFi親機はAirMacExpress 5&2.4GHzの300Mbpsの802.11n機だ。

しかし。 今は802.11acの3世代目くらいの機器が出回ってるようなのだ。子供やカミさんのiPhoneSEや7も802.11ac対応。

家はauひかりの1Gbpsホームタイプなので、実効速度で1Gの802.11ac対応WiFi親機でいいハズ。

1200bpsの2ストリームだと612Mbps、1800bpsの3ストリームだと842Mbps・・・・2200bpsだと1G超える。うむ、1800の802.11acあたりだろうな。

1800hp3

よし。 コレがよかろう。

後日談:速度比較して見ました。 まずはAirMacExpressで、802.11nのMacBookPro.(mid2009)での比較。速度計測サイトを利用して測って見ました。

Ow1

Ow2

これがアクセスポイント変更でどうなったか?

Nw1

Nw2

げげ〜〜〜〜!! こんなに違うの? 6倍速くなった??  11nでこれなんだから、11acだったら・・・・ (^^;

というわけで、ギガクラスのWiFiの進化を感じております。最近の11acのMacだともっと速いんだろうなぁ・・・

| | コメント (0) | トラックバック (0)

2018年5月20日 (日)

ラクマの販売手数料

楽天のフリーマッケット、「ラクマ」の販売手数料が「無料」だったのが3.5%になるのだそうです。 6/4以降の出品から。

私は購入3件、出品1点程度利用してたのです。 ヤフオクは月額使用料、手数料が8.64%ですから、まぁそれよりはまだ安いのですけどね。

メルカリも10%ですからねぇ・・・

たとえば10万の家電を落札したら、1万が手数料で取られるということですよ?

これはちょっと考えちゃいますよね。

| | コメント (0) | トラックバック (0)

2018年5月 2日 (水)

WiFi親機を考える

ウチはネット環境はauひかりの1Gbps、WiFi親機にAirMacExpress(DualBand)を使用しています。

Expressは2012年6月購入。 最近新型のWiFi機器がAppleから出ないな、と思っていたら・・・・

Expressの販売Pageに「在庫がなくなり次第、販売終了します。」の文字が。
WiFi機器からはAppleは手を引くのでしょうかね。液晶Displayからも手を引いたし。

とはいえ、カミさんのiPhone7や子供のSEは802.11acに対応してる。そろそろ802.11ac対応のWiFi親機に買い換えてもいい頃なのだ。

802.11nは現行Expressの300Mbps以上で802.11acが867Mbpsの製品ならなんでもよさげ。

ブリッジ専用機で安いの、ないかな?(^^;

| | コメント (0) | トラックバック (0)

2018年4月 2日 (月)

Flashの終焉

Flashを使ったwebサイトがどんどん減って5%までになってるそうですね。
まぁ、時代の流れですね。

今は「Adobe Flash」ですけど、もとはMacroMind社のDirectorというプレゼンソフトのShockWaveという技術が元になってました。 Directorってのは、MacⅡのフルカラーの画面で動画や音声を駆使した派手派手なプレゼンができるという画期的なものだったんです。(ちなみにPowerPointはこのDirectorの廉価版として他社が出したソフト)

マルチメディアの代名詞となったDirectorとShockWaveは、CD-ROMの機種非依存のマルチメディア環境として注目され、Appleのマルチメディア・プレーヤー、「pipin」にも使われました。

pipinはパッとせずに終わりましたが、MacroMind社はその後「MacroMedia」社に社名変更し、このShockWaveを変換してweb上で再生するPluginを開発します。 これが「Flash」なのですね。
当時は動きのあるページをHTMLだけで制作することは困難だったため、このPluginは必須機能になったのです。

ちなみにこのShockWaveはmp3の音声やMovie再生、図形やフォントをベクトル描画する先進的なものだったんです。

その後、MacroMediaはAdobeに買収され、「Adobe Flash」となったんですな。

うーむ、webの世界も様変わりしましたね。

| | コメント (0) | トラックバック (0)

2018年3月25日 (日)

DLNA解散していた!

気にもしてませんでしたが、「DLNA解散」していたんですね。

DLNAって、ようするに静止画Fileや音楽Fileや映像Fileを公開/視聴するためのサーバ・クライアント規格のこと。っても中身は大したことはなく、ただのFile共有にインデックスのブラウジング規格を組み合わせただけ。 Fileの種類や拡張子、圧縮の方法、解像度とかは任意だし、Streamingに関しては対象外。(本当に単なるFile共有だから)

結局、DLNA対応の機器同士でも見れない、再生できない、聞けない・・・ のはあたりまえで、TVとNAS、PCと録画機、、などの相互互換性は素人には全く理解できなかったと思う。

しかも、音楽配信や映像配信は「Streaming」の時代になった。 もうFile共有でクライアントが勝手に再生しなさい、では時代遅れなのだ。

「DLNAはミッションを完了した」というのは、実は、、、、「DLNAはパッとしなかったし、時代遅れになったのでやめるよ」って聞こえるのは私だけだろうか?

| | コメント (0) | トラックバック (0)

より以前の記事一覧