2019年12月12日木曜日

新型Mac Pro

こんにちは、きまぐれソフトです。

 WWDCで発表されていた新型 Mac Pro の受注がついに始まりましたね。
 60万円から600万円までというとてつもない価格スケールの商品です。4Kビデオの編集には下位から中位の構成とサンダーボルト SSD の組み合わせで充分と思うのですが、上位構成の想定利用者はどんな人達なのでしょう。立体アニメ作成とか科学技術計算には MacOS が必要無さそうですし、むしろオンサイト保守が付いている Windows 系メーカーにアドバンテージが有りそうです。
 ただし、選択できる構成にはロマンが有ります。ストレージと見紛うばかりの1.5TBメインメモリとか Radeon Vega2 x4 GPUとか PCIe x16 が8スロットとか、使い道も思い付かないワクワクが盛り沢山。有名 YouTuber が買いそうな勢いなので最上位構成も1台は売れそうです。
 早い人には年内にお届け。楽しみですね。あ、うちは iMac で十分ですので購入しません。

2019年10月10日木曜日

Playstation 5 公式発表

こんにちは、きまぐれソフトです。

遂に公式ブログサイトでPS5が発表されました。
内容的にはPS4の発展型でAMD Ryzen "Zen2"とAMD Radeon "RDNA"搭載で、どちらも専用カスタムされている可能性が有ります。UHD-BD搭載で4Kビデオの再生もできそうです。
どの構成要素を見てもPS4とは後方互換性が持てそうで、ハードを買い換えても旧来のソフトが動作する、もしくは、PS4ソフトのフレームレート向上など期待できそうです。
発売は来年のクリスマス商戦。日本が先行販売地域に含まれるかは未定です。

先月TSCMの7nm工場生産が埋まったとの情報が流れましたが、Zen2のイールドが上がってPS5/X-BOX向けのカスタムチップの生産が本格化したと思われます。PS5のレイトレーシングに対応したRDNAグラフィックはまだ一般販売もされていませんが、AMDは次期naviでのレイトレーシング対応を表明しているのでテストチップの生産も順調なのだと思われます。

自作PCだと10万円クラスと思われるPS5の販売価格は果たしていくらになるのでしょうか。

2019年10月8日火曜日

4K放送導入

こんにちは、きまぐれソフトです。

昨年4Kテレビを購入してYOUTUBEだけで4K鑑賞していましたが、遂に4Kレコーダーも導入しました。
4Kの精細感もさる事ながら、HDRによる日照の加減まで感じる事ができて没入感が凄いです。テレビの向こうは正に窓の外です。ライブ放送はVIP席から見ているみたいです。

4K放送も素晴らしいですが、民法4K局でのハイビジョン番組も画質が向上しているのが素人にも分かります。mpeg2によるモスキートノイズがなくなり、非常に滑らかな画質で受信できる様になるので、4K局でも放送している番組はぜひ4Kで視聴して頂きたいです。
これから暫くは2K H.264へのダウンコンバートとの画質比較等してみる予定です。

2019年8月23日金曜日

「40万」コア深層学習チップ

こんにちは、きまぐれソフトです。

 先日、「超弩級! 40万コア/1.2兆トランジスタ/46,225平方mmの深層学習用チップ」(https://pc.watch.impress.co.jp/docs/news/1202302.html)という記事を見掛けました。
サイズはなんと46000平方mmオーバーという事で、ほぼ22cm四方の大きさ。対角線は300mm程であるため、300mmウェハから1枚取りです。歩留まりの問題を乗り越えたとの事ですから、冗長コアクラスタをいくつか備えていて良品クラスタのみを使用するのでしょう。写真からは7列12段の回路パターンが見えますから、1つあたり5000程度の演算コアのクラスタで4冗長クラスタを備える感じでしょうか。
 それにしてもパッケージングに困りそうなサイズです。
 給電や放熱の問題も有りますから、1列ずつ交互に演算したりするのでしょうか。ビデオカードでさえあれだけ巨大な冷却装置が付いているというのに、さらにSRAMマシマシで発熱量アップなのにトランジスタ密度は変わらないという恐ろしいストーブチップになりそうです。

左が新チップ、右はGV100のパッケージ(PC.Watch掲載画像より)
早く製品写真を見てみたいものですね。

2019年6月12日水曜日

AMD Ryzen9 3950X発表

こんにちは、きまぐれソフトです。

AMDがやっぱり16コアRyzenを発表(PC Watch)しました。Ryzen9 3900X発表時から8コア2ダイなのに12コアしか無いのを訝しむ意見をよく見掛けましたが、案の定16コアの登場です。

最初に16コアも製品しようにも歩留まりが悪かったのでしょう。12コア版の販売開始から2ヶ月遅れでのリリースとなります。
いや、もしかしたら16コア動作に問題の無い個体もRyzen9の販売数を伸ばすために12コアとして販売されるのかもしれません。Intelへの牽制か、ハイエンドを使いたがるベンチマーカーへ2個売るためなのか、販売戦略は分かるはずも有りませんが、3950Xの初期製品はマージンをたっぷり取った選別品になるのでしょう。
3950Xの初期販売に当たり個体が多そうだとか、3900Xが16コア化出来そうだとか、古くからAMDを見てきた人なら考えるのでは無いでしょうか。ただ、今回はマザーボード側でコア有効化の話題が出て来ません。

2019年4月25日木曜日

Intel 14nmライン拡充完了か

こんにちは、きまぐれソフトです。

Intelが第9世代プロセッサのラインナップを大幅拡張しました。デスクトップ向け、ノート向け合わせ数十のラインナップ拡張です。昨年のモデルチェンジで第8世代を選択したiMacはどうなるのでしょう。

このプロセッサラインの拡充によってPCのモデルチェンジが促され、14nm製造ライン拡充(推測)によって製造数量が回復すればDRAMやSSDの販売数も伸びて価格が上がる可能性が有ります。

PC watch(https://pc.watch.impress.co.jp/docs/news/1181710.html)より

2019年4月24日水曜日

新型有機ELと、家の有機EL修理

こんにちは、きまぐれソフトです。

今年も新型テレビが続々と発表されています。
少し前に東芝から液晶新型が、一昨日はソニーから有機EL新型が発表され、残りはパナソニックの有機EL新型となりました。東芝からも有機EL新型が出ると良いのですが、メーカーの体力的な問題も有るので少し期待薄です。

ところで今年の新型TVには4Kチューナーが2機搭載されている様で、パナソニックもそれに並ばないとカタログスペックが大きく見劣りします。年初に話題になったGZシリーズですが、日本向けの仕様については触れられていなかったのでどういう構成になるのやら。
4Kチューナー1機の予定だったのを慌てて2チューナーにアップデートしているのか、はたまたチューナーモジュール自体が他メーカーと共通で2チューナー構成で熟成を進めているのか、今年のテレビは気になります。

先日、家のパナテレビが不具合でELパネル交換となりましたが、パネルドライバと思しきユニットが小型化されており、反射防止フィルムも以前と色が異なって見えます。画像設定は以前の情報が引き継がれているのですが、色味が変わっていて緑かぶり&色薄めになってしまいました。明るさも増していて、くっきり表示をONにしてさらにピクチャーも下げてようやく以前と同程度の明るさになりました。
色もBT.709だったのをBT.2020かつ色薄めの設定でなんとなく自然な写りになりましたが、もう少し設定を詰めたい所です。

2019年4月19日金曜日

パラパラPNG

こんにちは、きまぐれソフトです。

漫画「アオイホノオ」を読み返す機会が有りました。その中で庵野監督の学生時代のパラパラ漫画が紹介されていたので、APNGにして動かしてみました。折角APNGBuilderが有るのですから。
スマホで撮影して適当にコマ別に切り分けて歪みを取ったら、それっぽい原画風になります。
APNGBuilderに放り込んで、当時のアニメの常識として秒間8コマの再生速度に設定しました。

動きますね。ヌルヌル感は有りませんが飛び散る破片がそれぞれ動いて、その書き込み加減に驚きます。凄い人は若い時から凄い人だったんですね。

2019年4月18日木曜日

PNGのチャンク 第13回 チャンクの順番

こんにちは、きまぐれソフトです。

前回はその他に分類されるチャンクを説明しました。
今回はチャンクの並び順を紹介します。チャンクには並び順が決められていて、色に関する情報、特に色の補正情報が先に出現する様になっています。
もし、先に色番号が入った画像データが有り、カラーパレットが続き、色補正が出現するとします。すると、チャンクが現れる度に表示画像の色が変わったり、データの最後までチャンクを読み込まないと画像の表示が出来なくなったりします。折角インターレース表示ができる様に作られていますから、規則通り色情報から並べましょう。

順序を表にると以下の通りです。


チャンク名 必須 繰り返し位置
IHDR必須不可最初
PLTE必須不可IDATより前
IDAT必須可能IENDより前
IEND必須不可最後
cHRM省略可不可PLTEとIDATの前
gAMA省略可不可PLTEとIDATの前
iCCP省略可不可PLTEとIDATの前、sRGBと排他使用
sBIT省略可不可PLTEとIDATの前
sRGB省略可不可PLTEとIDATの前、iCCPと排他使用
bKGD省略可不可PLTEとIDATの間
hIST省略可不可PLTEとIDATの間、PLTE存在時のみ使用可
tRNS省略可不可PLTEとIDATの間
pHYs省略可不可IDATより前
sPLT省略可可能IDATより前
tIME省略可不可どこでも可
iTXt省略可可能どこでも可
tEXt省略可可能どこでも可
zTXt省略可可能どこでも可

順序を表にすると以下の通りです。

順番の凡例は以下の通りとします。
[CHNK]必須チャンクを表します。
[CHNK]+同じチャンクを1回以上繰り返します。
[CHNK]*省略も含め、回数制限無し。
[CHNK]-チャンクは省略可能です。
{[CHNK][CHNK]}{}内のチャンクには順序は決められていません。
{[CHNK]|[CHNK]}{}内のチャンクのどれか1つだけ使用できます。

チャンクの出現順は以下の上から下への順となります。
[IHDR]
{{[iCCP] | [sRGB]}- [gAMA]- [cHRM]- [sBIT]-}
[PLTE]
{[tRNS]- [sPLT]- [pHYs]- [bKGD]- [hIST]-}
[IDAT]+
[IEND]

順序規定無し
[tEXt]*
[zTXt]*
[iTXt]*
[tIME]-


PNGのチャンク 第12回 その他のチャンク

こんにちは、きまぐれソフトです。

前回は埋め込みコメントについて説明しました。今回はその他として分類されているチャンクを紹介します。
仕様上「その他」となっているのはbKGDチャンク、hISTチャンク、pHYsチャンク、sPLTチャンクの4つで、更に追加チャンクとしてtIMEチャンクが規定されています。

bKGDチャンク

bKGDチャンクは背景色を格納するチャンクです。通常のPNGではIDATチャンクによって全てのピクセルが埋められるので、使用する機会は少ないと思います。
アルファチャンネルの有無に関係無く、グレースケールでは明るさを、フルカラーではRGB各値を、インデックスカラーではカラーインデックス番号を指定します。

hISTチャンク


hISTチャンクはPLTEチャンクを使用する時にのみ利用可能で、各色の使用頻度を保持します。使い方に決まりは有りませんが、画像調整の参考にできる様に用意されています。
PNGでなくても、写真の見栄えを良くするためにヒストグラムを参考にコントラストやガンマを調整したりしますね。

pHYsチャンク


pHYsチャンクは物理的なサイズを保持するチャンクです。画像が横、縦それぞれ何ミリかを格納します。単位はmm(ミリメートル)のみ定義されていて、その他は未定義のためサイズ指定の意味を成しません。

sPLTチャンク

sPLTチャンクは推奨カラーパレットの提案をするチャンクで、フルカラー画像を256色または6万5千色に減色表示する時の参考に使われます。減色後の色味の調整に使用します。
sPLTチャンクはパレット名を変えて複数使う事ができます。再生環境によってどのパレットを使用するか選べる仕組みになっています。
そのため、パレット名は1バイト文字しか使用しない事になっています。

tIMEチャンク

tIMEチャンクは画像の最終更新日時を格納します。画像の初回作成日時はtEXtチャンクに収める事が提案されています。日時はUTC(世界協定時)を使う事が推奨されています。

以上、今回まででPNGのチャンク紹介は終わりです。

次回はチャンクの並び順を紹介します。


2019年4月17日水曜日

New Generation PLAY STATION

こんにちは、きまぐれソフトです。

PS5が発表されたという噂を聞いて噂を辿っていくと、WIREDにたどり着きました。日本語約も有りました。
PlayStation公式ツイッターでもこの事を呟いています。ただし新しい内容は無く、開発してるよって言ってるだけに見えます。

WIREDの記事ではサーニー氏にインタビューしたと書かれているが、誰が語った内容なのか記事内では明確にされていません。サーニー氏の答えではっきりしているのは「単なるアップデートではない」という言葉だけです。
記事内で予想されているマシン構成を要約すると以下の通りです。

  • 7nm世代Zen2 8core CPU
  • Navi 世代レイトレーシング対応カスタムGPU
  • 3Dサウンド
  • 今までのどのSSDよりも高速なSSD
  • 8k画面対応
  • PS4への後方互換性
今までのPS3開発機の性能不足によるキラーソフト開発の遅れ、PS4でのシステム刷新によるライブラリ開発の遅れ等を考えると、今後もx64とAMD GPUを継続する事は可能性として高いです。実際、PS4からPS4Proへ高速化し、今後も小規模な高性能化を続けていくと公言したのもつい最近の事です。

実際、上記の構成予想も現状のAMD開発予定そのままで、PCに対するアドバンテージは全くと言って言い程有りません。他者よりも有利な環境でネット対戦したいゲーマーは最高性能PCで対戦し、そうでない軽いゲームだけをやりたい一般層はお金の掛からない任天堂やスマホゲームに流れていくでしょう。予想は私も支持はしますが、革新的な進化もPS5の名前も無いのではないでしょうか。

最後に私の予想も書いてしまいます。
  • CPU、GPU共にHBM接続の16GB以上のメモリ
  • PCIe4接続の1TB以上のストレージ
  • 画面出力は4kまで
  • もしかしたらSDカードかUSBキーによるパッケージ販売
    コンテンツ自体はダウンロードのみでディスクドライブ廃止
どうせシステム更新やらゲームアップデートやらで大容量ダウンロードは必須なのです。必要なのは更新やロードの高速化と、PCの進歩に食い付いていく事なのです。

2019年4月16日火曜日

PNGのチャンク 第11回 埋め込みコメント

こんにちは、きまぐれソフトです。

前回は色情報関連のチャンクを説明しました。今回は埋め込みコメントのチャンクを紹介します。
コメントを埋め込むチャンクは3種類有ります。

tEXtチャンク

tEXtチャンクは画像ファイルにコメントを埋め込むためのチャンクです。1つのチャンクでキーワードと説明が1つずつ保存できます。

  • キーワード
    コメントの見出しです。
  • Null
    Null文字(0x00)
  • 説明
    見出しに対する説明文です。

キーワードと説明の間にはセパレーターとしてnull文字(0x00)が使われます。キーワードも説明も使えるのはシングルバイト文字だけです。
キーワードは79バイト以下、説明は0バイト以上で、双方null文字を含めてはならないと決められています。
説明の文字数は指定されず、チャンクデータのnull文字以降すべてが説明として扱われます。
キーワードに使用する単語は指針が定められていますが、今回は説明を省きます。独自のキーワードも禁止されていません。

zTXtチャンク

zTXtチャンクもコメント用のチャンクですが、説明データ部分が圧縮されています。

  • キーワード
    コメントの見出しです。
  • Null
    Null文字(0x00)
  • 圧縮方式
    0(deflate)のみ使用可能です。

説明データの直前に圧縮方式が格納されますが、使えるのは0(deflate)のみです。
使用文字はシングルバイト文字だけです。
説明文が圧縮される以外はtEXtチャンクと同様です。
iTXtチャンク

iTXtチャンクもコメント用のチャンクですが、説明にUTF-8が使用できます。

  • キーワード
    コメントの見出しです。1バイト文字のみ使用可能です。
  • Null
    Null文字(0x00)
  • 圧縮フラグ
    説明文が圧縮されているかを示します。
    • 0 無圧縮
    • 1 圧縮されている
  • 圧縮方式
    圧縮方式を格納します。0(deflate)のみ使用可能です。
  • 言語タグ
    国や地域を示すタグが入ります。ISO-639で決められたタグを使います。
    日本ならja-JPとなります。
  • Null
    Null文字(0x00)
  • 国際キーワード
    コメントの見出しです。UTF-8で記述します。
  • Null
    Null文字(0x00)
  • 説明
    見出しに対する説明文です。UTF-8で記述します。

PNGのチャンク 第10回 色情報チャンク

こんにちは、きまぐれソフトです。

 前回はtRNSチャンクを説明しました。他にも色管理に関するチャンクがいくつかあります。今回はそれらを紹介します。

ここでしょうかいするチャンクは作成環境の色管理がなされていなかったり、再生環境で色管理を無視したりされる場合が有り、補助的な扱いになります。

cHRMチャンク

cHRMチャンクには画像の色空間を保存します。CIE x,y色座標を使用してRGB純色とホワイトポイントを指定します。各座標値は10万倍した4バイト整数で保存されます。

gAMAチャンク

gAMAチャンクは画像データのガンマ値を保存します。例えばWindowsとMacOSでは基本のガンマ値が違うため、ガンマ値の管理をしないと明るさが異なって表示されます。
実際のガンマ値を10万倍した4バイト整数で保存します。

iCCPチャンク

iCCPチャンクは作成時のカラープロファイルを登録します。iCCプロファイルを使用します。sRGBチャンクとは排他的使用となります。

sBITチャンク

sBITチャンクは元画像の色深度が何ビットだったかを保存します。


  • グレースケールの色深度を格納します。
  • R、G、B
    カラー時の赤、緑、青の色深度をそれぞれ格納します。

  • アルファチャンネルの深度を格納します。

sRGBチャンク

sRGBチャンクはカラースペースとしてsRGBを使用することを宣言するチャンクです。
適用法には以下の4タイプが指定できます。
  • 0:知覚的
    色の正確さは二の次として、出力装置での見栄えを最優先にします。
  • 1:相対適用
    白色点を基にして、出力装置のカラースペースに対応させた色で表示します。
  • 2:飽和
    色相と明度を犠牲にしてでも彩度を優先した表示をします。図やグラフなど適した表示を求めます。
  • 3:完全一致
    sRGBカラースペースとして完全な色管理を求めます。異なる出力装置で同じ色再現させる場合に指定します。

sRGBチャンクに対応した出力環境では、sRGBチャンクでの指定がgAMAチャンクやcHRMチャンクでの色管理に優先されます。iCCPチャンクとは排他的使用となります。

次回は埋め込みコメントを紹介します。


PNGのチャンク 第9回 tRNSチャンク


こんにちは、きまぐれソフトです。

前回はチャンクの命名規則を説明しました。今回からはチャンク名が小文字で始まる補助チャンクを紹介していきます。
今回はtRNSチャンクを紹介します。

tRNSチャンク

tRNSチャンクは透明度を指定するチャンクです。カラーモードによって動作が異なります。また、アルファチャンネルを持つカラーモードには使用できません。
カラーモードに依って以下の使い方になります。

  • モード0(グレー)
    チャンク内で指定した色を完全透明とします。0xFFFFを指定して白を透明にしたりします。
  • モード2(カラー)
    チャンク内で指定した色を完全透明とします。画像内で使われていない色を指定して透明にしたりします。
  • モード3(インデックスカラー)
    色番号毎に透明度を指定します。色番号の指定はPLTEチャンクと共通です。PLTEチャンクのアルファチャンネルとして使われます。ドロップシャドーの様に同じ色で透明度が異なる透明画像が作れます。インデックスカラーの1色を透明背景に使う事が多いと思います。
  • モード4(透明度付グレースケール)
    このチャンクは付加できません。
  • モード6(透明度付カラー)
    このチャンクは付加できません。
背景色を透明にする事は多いと思います。データを軽くするためにインデックスカラーを使う場合はGIFと同じ様に1色を透明に割り当てる事ができます。そもそも透明度を持つカラーモードの場合は、IDATチャンク内で透明度を持ちますからtRNSチャンクは使用できません。

次回は色関連のチャンクを紹介します。


2019年4月1日月曜日

新元号はれいわ(なぜか変換できない)


こんにちは、きまぐれソフトです。

今日、本日、4月1日、予定通り新元号が発表されました。よりにもよってエイプリルフールに。

さてその新元号「令和」ですが、アルファベット表記では "Reiwa" となるそうです。暫くは読み間違えてしまいそうです。REITみたいですから。「りょうわ」の方がしっくりくるのは私が昭和世代だからでしょうか。と、それはそれとして。

コンピューターを使う、正確には使わせる者としては改元は祝日変更に並んで恐怖の出来事です。既にマイクロソフトがWindows Updateでケアレスミスをやらかしていて、勝手に略記を変えてしまって再修正する事態が有りました。表記が変わってしまうだけとはいえ、印刷物の内容が勝手に変わってしまうと刷り直しが必要な事も有り得ます。場合によっては数万部、数十万部という事も有って、印刷代だけでなく遅延賠償だって可能性は有ります。コンピューター会社のリスクは意外と高いのです。

ところで、そのWindowsですが、プログラム的には新元号への対応ができていて元号の表記と期間をレジストリに登録するだけで基本的には使える様になります。ただ、その登録を誰がするのか、他のWindows Updateもろとも適用してシステム研修できないまま実環境で使うのか、人件費は誰が負担するのか、1年以上準備期間が有ったとは言えこれから問題が表面化する所も多いんじゃ無いでしょうか。PCは使うだけで管理を外部委託している企業団体も少なく無いですから、現場の人はお互いにやってくれる物だと思い込んでる事も想像に難く有りません。

日本中、何事も無く天皇即位の日が迎えられます様に。

PNGのチャンク 第8回 チャンク名の命名規則

こんにちは、きまぐれソフトです。

前回fcTLチャンクを説明しました。ここまでのチャンクが理解できればアニメーションPNGを読み書きする事ができます。

PNGで使われるチャンクには以下の物が有ります。
必須チャンク補助チャンクAPNG拡張チャンク
  • IHDR
  • PLTE
  • IDAT
  • IEND
  • bKGD
  • cHRM
  • gAMA
  • hIST
  • iCCP
  • iTXt
  • pHYs
  • sBIT
  • sPLT
  • sRGB
  • tEXt
  • tIME
  • tRNS
  • zTXt
  • acTL
  • fcTL
  • fdAT

チャンク名は4文字なので英語の省略形が使われるのは当然の成り行きですが、大文字小文字が入り乱れてちょっと読みづらい表記になっています。なぜなのか、それはPNGの仕様で大文字小文字に意味を定義付けているからです。
各桁の意味は次の通りです。

  • 1文字目
    大文字は必須チャンクを示します。
  • 2文字目
    大文字はPNG仕様で定められたチャンクを示します。
    APNG拡張は独自の拡張チャンクなので2文字目が小文字になっています。
  • 3文字目
    必ず大文字を使う事になっています。将来的には何かしらの意味を付加するかもしれません。
  • 4文字目
    大文字はベタコピー禁止を示します。PNGエディタは他のチャンクとの連携を考慮してコピーするか変更するか判断しなくてはなりません。
    小文字の場合は何も考えずにコピーしても表示画像に影響が無いチャンクです。
以上の規則が有りますが、PNG画像を表示する時にはチャンク名の大文字小文字を区別しない事になっています。

この先からは補助チャンクを紹介していきます。まず次回はtRNSチャンクを紹介します。


PNGのチャンク 第7回 アニメ制御 fcTLチャンク

こんにちは、きまぐれソフトです。

前回はacTLとfdATの2つのチャンクを説明しました。今回は残りのfcTLチャンクを紹介します。

fcTLチャンク


fcTLチャンクはアニメーションの各コマの制御に使用するチャンクです。

  • シーケンス番号
  • 次フレーム幅
  • 次フレーム高さ
  • オフセット(横)
  • オフセット(縦)
  • 表示時間(分子)
  • 表示時間(分母)
  • フレーム廃棄
  • 合成手法
シーケンス番号はfcTLチャンクとfdATチャンクを通しでカウントする連番です。0から始まります。
次フレームの幅と高さは後続のfdATチャンクに格納された画像データの大きさを格納します。
オフセットの横と縦には、次の画像を現在の画像のどこに合成するかを格納します。
表示時間は分子と分母を組み合わせた分数で秒数を指定します。1秒間に6コマの速度であれば、分子に1、分母に6を格納します。
フレーム廃棄は画像を表示した後に次のコマへ移る前の動作を格納します。
  • 0:現在の表示に次の画像を合成する。
  • 1:全画素黒1色、完全透明に塗り替えてから次の画像を合成する。
  • 2:今回の画像合成を破棄して、1コマ前の画像に次の画像を合成する。
合成手法には次の画像の透明度の扱いを格納します。
  • 0:各色、透明度を上書きします。
  • 1:透明度に基づいて各色を掛け合わせます。
表示時間には0秒を指定する事も可能ですが、その場合は可能な限り早く表示を切り替える事となっています。

PNGの補助チャンクの説明の前に、次回はチャンク名の命名規則を紹介します。


2019年3月25日月曜日

PNGのチャンク 第6回 acTL、fdATチャンク

こんにちは、きまぐれソフトです。

前回はAPNGで拡張されたチャンクを大枠を説明しました。今回からチャンクの詳細の紹介をします。先ずはacTLチャンクとfdATチャンクを紹介します。

acTLチャンク


acTLチャンクはアニメーション全体に関する情報を格納します。

  • フレーム数
  • ループ回数

フレーム数には表示するコマ数が格納されます。実態としてはfcTLチャンクの数と同じです。
ループ回数には再生時に繰り返す回数が格納されます。ループが完了したら最後のコマを表示し続けます。ここを0とした場合は永久ループと判断します。

fdATチャンク


fdATチャンクは各コマの画像実態データです。

  • シーケンス番号
  • 画像データ
シーケンス番号はfcTLチャンクとfdATチャンクを通しでカウントする連番です。
画像データはIDATチャンクと同形式の画像データを格納します。この画像を直前のコマに重ね合わせて次のコマが出来上がります。
IDATチャンクと同様、連続した複数のfdATチャンクに分割して扱う事も可能です。

カラータイプ、パレット等IDATチャンクと共通の物を使用しますが、画像サイズはIDATよりも小さい物が使用できます。画像の表示位置、透明画素の取り扱いは別途fcTLチャンクで指定します。

次回はfcTLチャンクを紹介します。アニメーションのキーとなるチャンクです。


PNGのチャンク 第5回 APNG拡張チャンク


こんにちは、きまぐれソフトです。

前回はPLTEチャンクを紹介しました。PNGの仕様で定められている必須チャンクは前回までの4つのチャンク(IDAT、PLTE、IDAT、IEND)です。その他に10個のチャンクが定められていますが、今回からは仕様から外れてAPNGで拡張されたチャンクを紹介します。

APNG拡張はPNG仕様に含まない事が決定されていて、あくまでもMozilla.orgが独自拡張した物との扱いになっています。PNG仕様はISO(ISO/IEC 15948:2003)として公開されていますが、APNGはMozilla.orgが公開(Animated PNG graphics)として公開しています。

APNGでは3つのチャンク(acTL、fcTL、fdAT)が定義され、アニメーションに対応します。acTLチャンクでアニメ再生全般に関わる情報、fcTLチャンクで各コマに関わる情報、fdATで各コマの画像を扱います。
また、IDATチャンクはアニメーション非対応環境で表示されるデフォルト画像としていますが、アニメーションの1コマ目として使用する事も出来ます。

チャンクの出現順は2種類有りますが、基本として最初にacTL、表示する画像情報の直前にfcTL、そして表示画像としてのfdATの順で並びます。

チャンク順1:デフォルト画像を1コマ目に使う場合
IHDR - fcTL - IDAT - fcTL - fdAT -...- fcTL - fdAT - IEND
チャンク順2:デフォルト画像を1コマ目に使わない場合
IHDR - IDAT - fcTL - fdAT -...- fcTL - fdAT - IEND
 単純にIDATチャンクの前にfcTLチャンクが有るかどうかの違いだけですが、fcTLチャンクがIDATチャンクの前に有ればデフォルト画像と1コマ目が兼用できてデータ量が小さくでき、IDATチャンクの前にfcTLチャンクが無ければ1コマ目よりももっとアニメの内容を表す画像をデフォルト画像とする事ができます。

次回はacTLチャンクとfdATチャンクを紹介します。


PNGのチャンク 第4回 PLTEチャンク


こんにちは、きまぐれソフトです。

前回はカラータイプと色深度について説明しましたが、その中のインデックスカラーの時に必須となるPLTEチャンクを紹介します。

インデックスカラーではIDATチャンクに含まれるデータはカラーパレットの番号だけを示し、実際に表示されるべき色の情報は含まれていません。そのためPLTEチャンク内で色番号に対応した表示色を指示する事になっています。

PLTEチャンク


PLTEチャンクには表示色がRGB各1バイトが1組のカラーパレットとなってパレット番号順に格納されます。パレット番号を指定する項目は存在せず、並び順で0番から割り当てられます。
チャンク長は3の倍数でなければエラーファイルとして扱われます。色深度で表現できる大色数まで格納可能で、使われないカラーパレットは切り捨ててチャンクを短くできます。
PLTEチャンクはIDATチャンクよりも前に置かなければなりません。

ここまでで紹介した4つのチャンク(IHDR、IDAT、IEND、PLTE)が仕様上は必須チャンクとされています。これ以外のチャンク(cHRM、gAMA、iCCP、iTXt、sBIT、sRGB、bKGD、hIST、tRNS、pHYs、tEXt、zTXt)は補助チャンクと定義され、ファイル作成時に付加しなくても良く、画像表示時に無視しても構わない事とされています。

補助チャンクの説明に入る前に、次回はAPNG拡張チャンクを紹介します。


2019年3月22日金曜日

新しいiMac(Early2019)が発売されましたね

こんにちは、きまぐれソフトです。

新しいiMacが発表も無く発売されましたね。私はプログラム開発はWindows向けがメインですが、普段使いにはiMacを使用しています。性能アップとなると少し心惹かれます。

さて、昨年の発表会で鳴り物入りで登場したMac miniに性能で追い越され、置いてけぼり感の有ったメインストリームクラスですが、私はインテルのCPU不足が解消するまではモデルチェンジは無い物と思っていました。
それが突然の新型、前触れもなく販売開始で驚きました。
Macのサイレントアップデートなんて久し振りです。

中身の更新はMac miniに合わせたCPUアップデートのみといった感じですが、これでやっと製品ラインのバランスが整ったといったところです。
今年に入ってからインテルの現世代CPU構成にようやく中間クラスが投入されてiMacの6ライン製品群がカバー出来る様になったんですね。他に1ラインだけ旧モデルが継続販売ですけど。

CPU構成的には一つのコンパニオンチップ、多分Z370を中心にCoreブランドの最低ラインから最上位までのフルラインナップといった感じ。
他の構成品は従来と変わらず、1点だけRadeon VEGA GPUが最上位に追加されています。演算性能としてはあまり期待できませんが、メモリがHBM2なので若干の性能向上は有るのでしょう。もっともMacにそこまでのGPUが必要なのかとも思いますが。

次はいよいよMac Proの順番か!?と思わせるiMacの登場でした。

PNGのチャンク 第3回 カラータイプと色深度

こんにちは、きまぐれソフトです。

前回は必須チャンクの説明をしましたが、今回はIHDRチャンクで指定できるカラータイプと色深度について説明します。

色深度はRGB値またはグレースケールを何ビットで表すかが直接格納されていますが、使って良いビット数は決められています。また、カラータイプによって色深度は制限されます。
カラータイプと色深度の許された組み合わせは以下の通りです。
カラータイプ色深度説明
01,2,4,8,16各ピクセルが色深度で指定されたビット数のグレースケール画像。
28,16ピクセルのRGB各色が色深度で指定されたビット数のRGB画像。いわゆるフルカラー。
31,2,4,81600万色中最大256色のインデックスカラー。使用可能色数は色深度で指定。
48,16各ピクセルが色深度で指定されたビット数のグレースケール画像とアルファチャンネル。
68,16ピクセルのRGB各色が色深度で指定されたビット数のRGB画像とアルファチャンネル。

カラータイプが3の時はIDATチャンクが色を直接指定しないので、PLTEチャンクが必要になります。その他のカラー画像の場合もPLTEチャンクを付加する事が許されていますが、通常の使用環境では無視されます。
カラータイプ4と6はアルファチャンネルを持っているので透明部分を作る事が可能です。GIFだとインデックスカラーの内の1色を透明として扱うだけですが、PNGではピクセル単位に透明度を持つ事ができます。
また、カラータイプ3はアルファチャンネルを持ちませんが、各インデックスカラー毎に透明度が指定できます。完全な透明に1色が使える他、限定的ながら半透明が使えます。

次回はPLTEチャンクを紹介します。


2019年3月20日水曜日

PNGのチャンク 第2回 必須チャンク(IHDR、IDAT、IEND)

 
こんにちは、きまぐれソフトです。

前回はチャンクの構造について紹介しましたが、今回からは個別のチャンクをそれぞれ紹介していきます。

今回はチャンクの中でも重要な必須チャンクを紹介します。
必須チャンクには以下の3種類が有ります

  • IHDRチャンク
  • IDATチャンク
  • IENDチャンク
IHDRチャンク

  IHDRチャンクは “Image Header” であり、全てのチャンクの中で先頭に格納されます。データ部には以下の画像情報が格納されています。
  • 幅(ピクセル):4バイト
  • 高さ(ピクセル):4バイト
  • 色深度:1バイト
  • カラータイプ:1バイト
  • 圧縮形式:1バイト
  • フィルター形式:1バイト
  • インターレース形式:1バイト
以上の13バイトです。

幅、高さはそれぞれのピクセル数がそのまま格納されます。
色深度はグレースケールまたはRGB各値のビット数で、8ビットカラーがいわゆるフルカラーです。指定できる色深度はカラータイプ別に決められています。使える色深度は次回説明します。
カラータイプは以下の5種類が指定できます。

  • 0:グレースケール
  • 2:カラー
  • 3:インデックスカラー
  • 4:グレースケール及び透明度
  • 6:カラー及び透明度
圧縮形式、フィルター手法は0のみが使用できます。
インターレースは0(使用しない)と1(Adam7を使用する)の2種類が指定できます。

IDATチャンク


IDATチャンクは “Image Data”であり、画像のビットマップ本体です。IHDRチャンクで指定された色数、サイズ、格納形式でデータが収められます。
規格上、複数のIDATチャンクに分割する事も許されていて、任意のデータ長で区切る事ができます。用途は思いつきませんが、データ長が0バイトのIDATチャンクも存在できます。

IENDチャンク


IENDチャンクはPNGデータの終わりを示すデータ長0バイトのチャンクです。これ以降にデータが続いていてもPNGの表示には影響させない事になっています。

以上の3つが必須であり全てのPNGファイルに含まれています。
次回はカラータイプと色深度について紹介します。




2019年3月18日月曜日

PNGのチャンク 第1回 チャンクの構造

こんにちは、きまぐれソフトです。

以前、アニメーションPNGのチャンク構造を見てみましたが、今回からチャンクの詳細を説明していきます。

初回は全てのチャンクに共通する構造を紹介します。

チャンクは明確な始まりと終わりは無く、ファイルを先頭から読み進めないと何処から何処までが1つのチャンクなのかはっきりしません。決定しているのは1つ目のチャンクがファイルの先頭9バイト目から始まる事だけです。


チャンクはデータ部の長さを表す4バイトで始まり、4バイトのチャンク名、可変長のデータ部、4バイトのCRCで構成されます。つまり、チャンクの長さは開始位置にある4バイトが表す数値+12バイトとなります。

ここで示されるデータ長だけでなく、PNGファイル内で使われる整数値は先頭バイトが上位バイトと指定されています。いわゆるビッグエンディアンです。

CRCはチャンク名とデータ部を連結して計算します。計算式の説明は長くなるので割愛します。
以上が1つのチャンクであり、この直後にまた次のチャンクのデータ長、チャンク名・・・と続いていきます。

次回は必須チャンクについて説明しようと思います。


2019年3月7日木曜日

アニメーションPNGの中身(第4回 チャンクの一覧表示)

こんにちは、きまぐれソフトです。

前回、実ファイルの中身を直接見てみましたが、チャンクが並んでいるのは分かるもののファイルダンプからチャンクの区切りを探すのは容易では有りません。今回はチャンクを一覧表示してみます。

ツールとしてAPNGChecker!を使用します。バージョン2であればチャンクの一覧表示ができます。

先ずはAPNGChecker!でアニメーションPNGの内容を表示させます。
次にPNGのプレビューを2回ダブルクリックします。2回です。
すると「制御データのみ表示」のチェックボックスが表示されるので、チェックを外します。

これでチャンクが一覧表示されます。きっとたくさんのチャンクが入っていて画面外にはみ出している事でしょう。

右にAPNGChecker!の表示例を掲載して有ります。チャンクが多いので、fcTLとfdATを繰り返す部分を省略して有ります。

表示されているチャンクは以下の通りです。APNGファイルによっては違うチャンクが有ったり一部チャンクが無かったりします。

IHDR 画像サイズ、カラーモード他
pHYs 物理的なサイズ
tEXt コメント
acTL 繰り返し回数、コマ数
IDAT 画像データ(今回はまだfcTLが出てないので再生には使いません)
fcTL 次のコマを何秒間、どの位置に表示するか
fdAT 次に表示する画像データ



tEXt コメント(どの位置に何個配置しても良い)
IEND PNGデータの終端。繰り返し再生する場合は最初に戻って再生します。

APNGChecker!の通常表示では上記のfcTLチャンクを拾ってきてフレームレートとフレーム数を表示しています。

APNGBuilderを簡易公開しました


こんにちは、きまぐれソフトです。

APNGBuilderを簡易公開しました。
APNGBuilder の実行画面
機能追加の途中ですが、制限付きながらもアニメーションPNGが作成できます。

アニメーションのコマと各コマの表示時間が一覧表示されます。
アニメーションPNGに合成すると問題が起きそうなコマにはErrorr欄に内容が表示されます。

アニメーションの速度にメリハリが付け易いと思います。使い勝手の悪い所が残ってますが、無料ですので是非試してください。

APNGBuilderのダウンロードページ(https://www.vector.co.jp/soft/winnt/art/se519443.html)

〜〜〜使い方
◯インストール
配布ファイルを解凍するとプログラムが入ったフォルダが作成されます。任意のフォルダに移動して利用できます。

 ◯アニメーションPNGファイルを作る 画面にPNGファイルをドラッグアンドドロップしてアニメーションのコマを追加します。
不要なコマは一覧の左端空欄をクリックして(色が付きます)、キーボードの [Delete]キーを押します。
[...] ボタンを押して保存先を指定したら [作成] ボタンを押してファイルを作成します。

◯アンインストール
APNGBuilder.exe他、配布ファイルに入っていたファイルを削除してください。

APNGBuilderのダウンロードページ(https://www.vector.co.jp/soft/winnt/art/se519443.html)

APNGChecker! バージョンアップ

こんにちは、きまぐれソフトです。

APNGChecker! がVer2.0にバージョンアップしました。変更点は以下の通りです。

  • フレームレート別だったループ時間に、トータル時間が追加されました。
  • ラインスタンプ向けの簡易チェックが付きました。メニューから選択すると違反項目に色が付きます。
  • 普段は邪魔なので隠してますが、全てのチャンクを表示するモードが有ります。
  • 広告付きの無料版と広告無しの有料版に別れました。
ダウンロードはベクターからどうぞ。

または

2019年3月6日水曜日

「互換性」の上位下位

こんにちは、きまぐれソフトです。

USB4が暫定発表されましたね。USB3.1 Gen2から比べると一気に4倍、まだ対応機器を聞いた事の無いUSB3.2 Gen2x2と比べても2倍の転送速度です。凄い性能向上です。ていうか、Thunderbolt3そのものじゃないですか。
新しい世代番号を付けて、長ったらしい規格名とはおさらばです。

閑話休題。
今日のエントリーは「互換性」についてです。USBの発表があちこちのニュースサイトに掲載される中、1社だけ気になる記載が有りました。
USB4はUSB2.0の下位互換と掲載されていました。
そんな馬鹿な、USB2のサブセットなんて!と思いましたが、プレスリリースを読むと旧規格やサンボル3とは "Backward compatibility”、後方互換と記載されています。一安心です。
ニュースサイトのUSB4の説明。
40Gバイト毎秒、表示プロトコル、USB2.0の下位互換

と言うわけで、互換性とは
「下位互換」 一部機能が共通利用できる。
「上位互換」全ての機能が使える上、新機能が有る。
「後方互換」旧世代が使える。
「前方互換」新世代でも使える。
の使い分けが重要です。プログラムのバージョンアップでは後方互換が一番気を付けなきゃいけない所ですね。

技術系のニュースサイトには技術畑のライターを使って欲しいところです。
ところで、上位互換と下位互換のあべこべに使いそうな言い回しって日本語独特の物なんでしょうか。

2019年2月28日木曜日

スクリーンセーバーマネージャー


こんにちは、きまぐれソフトです。

スクリーンセーバーマネージャーの紹介です。
スクリーンセーバーマネージャーの設定画面
昔のホームページで公開していましたが、利用していたジオシティーズの閉鎖に伴い公開場所をVectorに移動しました。

みなさん離席時のPCってどうしてますか?
毎回スクリーンロックしてます? タイマーでスクリーンロックしてます? それとも作業画面が表示されたままにしてますか?
大手取引先との契約の中にセキュリティ対策が盛り込まれている事も珍しくないので離席時はスクリーンロックが強制されている職場が多い様です。
多くの場合スクリーンセーバーをタイマー起動してパスワードロックが掛かる様にルールが決められている様ですが、タイマーが短いと作業に支障が出るし長いとセキュリティリスクが高まります。

そこでスクリーンセーバーマネージャーの出番です。マウスカーソルを画面のすみっこに移動するだけでスクリーンセーバーが起動できます。

スクリーンセーバーマネージャーのダウンロードページ(https://www.vector.co.jp/soft/win95/amuse/se519336.html)


画面表示が無くて作業の邪魔にもなりませんので、一度お試しください。

〜〜〜使い方
◯インストール
配布ファイルを解凍するとscrsvmng.exeが作成されます。任意のフォルダに移動して利用できます。

◯設定の確認、変更
プログラムを起動しているとタスクトレイにアイコンが表示されます。アイコンをクリックすると設定画面が表示されます。

◯アンインストール
scrsvmng.exe他、配布ファイルに入っていたファイルを削除してください。

スクリーンセーバーマネージャーのダウンロードページ(https://www.vector.co.jp/soft/win95/amuse/se519336.html)




アニメーションPNGの中身(第3回 実ファイルに入っているチャンク)

こんにちは、きまぐれソフトです。

前回はアニメーションPNGのチャンクの並びを紹介しました。
今回は実際のAPNGファイルのチャンク構造を見てみます。

次の画像は実際のAPNGファイルをバイナリエディタで開いた所です。チャンク名を反転してマークしました

バイナリエディタで開いたPNGファイル
PNGファイルの先頭部分
ファイルは ".PNG" で始まって、IHDRチャンク、pHYsチャンク、tEXtチャンク、acTLチャンクと続いてIDATチャンクが見えます。IDATチャンクは長いので続きは省略しましたが、この後にもたくさんのチャンクが続いています。
tEXtチャンクにはコメントが格納されますが、中にAdobeの文字が有ります。実際このPNGファイルはAdobe Illustratorで作成した画像をアニメーションPNGに組み立てた物です。

チャンクはそのチャンクのデータ長を表す4バイトで始まり、4文字のチャンク名、データ部、4バイトのCRCで構成されます。
最初に見えるIHDRチャンクは以下の構造になっています。
  • ADDRESS:00000008 - 0000000B
     データ部の長さ(0000000D=13バイト)
  • ADDRESS:0000000B - 0000000F
     チャンク名"IHDR"
  • ADDRESS:00000010 - 0000001C
     0Dバイト(10進数で13バイト)のデータ部
  • ADDRESS:0000001D - 00000020
     CRC
その後に次のチャンクが続いていきます。
この構造のおかげで、ダウンロードの途中でもダウンロード済みのコマ(チャンク)までの再生ができる様になっています。考えた人は賢いですね。

実際の作業としてバイナリエディタでチャンク構造を追いかけるのは大変なので、次回はチャンクを一覧表示する方法を紹介したいと思います。

アニメーションPNGの中身

2019年2月25日月曜日

APNG Checker! v1


こんにちは、きまぐれソフトです。

APNG Checker! はアニメーションPNGファイルの再生仕様が確認できます。
以前アニメーションPNG(具体的にはLINEスタンプ)の作成をした時にツール不足に悩んだ末に自作する事にしました。
LINEでチェックしている人たちはブラウザ上のツールで同様の確認をしている様です。同じツールを公開してくれれば申請前の確認作業が自前でできて安心だし、LINEの中の人もリジェクトが減って楽ができてWin-Winなのですが見つかりませんでした。
私もjavascriptで作る事も考えましたが、ブラウザのセキュリティーが今後もどんどん厳しくなりそうで、ファイルの扱いが難しくなる事も考えられるので個別アプリにしました。

右の画像では6コマ目と16コマ目にタメが入っています。一度止まったと思わせてから残りのコマを表示しています。



画像サイズやループ時間の他、コマ別の表示時間が確認できるので、動きのメリハリの調整の参考に役立ちます。
こっそり他人のアニメーションPNGの中身を覗いてみるのも勉強になるかもしれませんね。

〜〜〜使い方
◯インストール
配布ファイルを解凍するとプログラムが入ったフォルダが作成されます。任意のフォルダに移動して利用できます。

◯PNGファイルを確認する
プログラムを起動して、画面にPNGファイルをドロップすると内容が表示されます。
配布ファイルにサンプル画像が入っているのでお試しください。

◯アンインストール
APNGChecker.exe他、配布ファイルに入っていたファイルを削除してください。


すみっこランチャー

こんにちは、きまぐれソフトです。

すみっこランチャー画面例
すみっこランチャー画面例
すみっこランチャーの紹介です。

かつてWindowsが世に出る前からプログラムランチャーが存在していました。
Windowsが広まってからはアイコンを選んでプログラムを起動するのが当たり前になり、スタートメニューやデスクトップ、果てはタスクバーまでがプログラム起動用のメニューの様になっています。
ところが、アイコンを並べるスペースが狭かったり一覧性が悪かったり、更には画面の一番手前に表示され続けて作業スペースが減るプログラムランチャーばかりでした。
狭い画面にウィンドウをたくさん重ねて作業する私には使い勝手の良い物ではなく、いろんなランチャーを試した挙句に探すのを諦めて自作を決意しました。
そんな私のためだけのプログラムランチャーですが、他に同じ事を感じている人が居たら使ってもらいたくて公開しました。

 すみっこランチャーダウンロードページ(https://www.vector.co.jp/soft/win95/util/se300408.html)

通常時は画面占有せず、必要な時にだけプログラムアイコンが一覧表示されます。アイコンの配置も自由なので、プログラムジャンル別に分けたり単独で配置して目立たせたりできます。
ランチャーを表示するにはマウスカーソルを画面のすみっこに合わせるだけです。合わせる領域の大きさやランチャー表示までの待ち時間を調整できるので、タイトルバーを操作する時に誤ってランチャーが表示される事もありません。もし誤ってランチャーが表示されたら、ランチャー画面の外をクリックすると消す事ができます。

〜〜〜使い方
◯インストール
配布ファイルを実行するとインストール先の指定画面が表示されます。好みのフォルダを指定してください。

◯初めての起動
すみっこランチャーを初めて起動した時は画面左上がランチャー表示エリアになっています。マウスカーソルを画面左上に合わせて少し待つと、空のランチャー画面が表示されます。

◯プログラムをランチャーに登録する
エクスプローラーやデスクトップからプログラムアイコンを画面のすみっこまでドラッグします。マウスボタンを離さず待っているとランチャー画面が表示されるので、ランチャー画面の好きな位置にドロップします。

◯アイコン設定(名称、アイコン画像)の変更、アイコンの削除
ランチャー画面上のアイコンを右クリックするとメニューが表示され、変更や削除ができます。

◯アイコンの並び替え
並べ替え機能は有りませんが、ランチャー画面上のアイコンはドラッグして自由に配置できます。

◯ランチャー設定の変更、空アイコンの登録
ランチャー画面の空白部分を右クリックするとメニューが表示され、設定変更やアイコン登録ができます。
設定を変更したら「適用」ボタンを押して設定を保存してください。

◯アンインストール
launch.exeとicons.iniを削除してください。icons.iniはlaunch.exeと同じフォルダにできる様に作って居ますが、Windowsによって別なフォルダに作られる可能性が有ります。

 すみっこランチャーダウンロードページ(https://www.vector.co.jp/soft/win95/util/se300408.html)

アニメーションPNGの中身(第2回 PNGファイルの中身)


こんにちは、きまぐれソフトです。

前回PNGがチャンクの集まりである事を紹介しました。今回は基本的なアニメーションPNGの中身を説明します。

アニメーションPNGのファイルの中身は概ね次の順に並んでいます。
APNGのチャンクの並び
APNGのチャンクの並び
  1. マジックナンバー(. P N G [CR] [LF] [EOF] [LF])
    ファイルがPNGである事を表す固定の文字列。PNGファイルは必ずこの文字列で始まります。改行やファイル終端文字を含めて全部で8バイト有ります。
  2. ヘッダー(IHDR)
    画像サイズ、カラーモード、圧縮形式等の画像周辺情報が収められ、PNGファイルには必ず1つ存在します。
  3. アニメ制御(acTL)
    アニメーションPNGで追加されたチャンクです。アニメーションのコマ数と繰り返し回数が収められます。
  4. イメージデータ(IDAT)
    アニメーション非対応環境やアニメーション再生前に表示される画像データが入っています。アニメーションの1コマ目として使いまわす事もできます。
  5. フレーム制御(fcTL)
    次に表示するコマの表示時間や書き換え範囲等を格納します。
  6. フレームデータ(fdAT)
    表示するコマの画像データを収めるチャンクです。
  7. 終端(IEND)
    PNGデータの末端を示すチャンクです。これ以降にデータが続いていても表示画像に影響しない事になっています。
※イメージデータを1コマ目に流用する場合は、イメージデータの前にフレーム制御チャンクが入ります。
※これらのチャンク以外にも省略可能なチャンクが実ファイルには収録されています。

10コマなり20コマのアニメーションのコマ数分、フレーム制御(fcTL)とフレームデータ(fdAT)が繰り返し収録されます。コマ毎に表示時間が設定できるので、再生速度に強弱が付けられます。

LINEスタンプではIDATに入っている画像と最後のfdATで表示される画像が同じ意味に見えないとリジェクトされます。

次回は実ファイルに入っているチャンクを見てみたいと思います。


アニメーションPNGの中身(第1回 PNGはチャンクの集まり)

こんにちは、きまぐれソフトです。

LINEスタンプの話題を続けましたが、今回はその基本知識としてアニメーションPNGの中身について少し記述します。
頭の片隅に入れておけば、ツールでアニメーションスタンプを作成する時に問題点に早く気づいたり作成効率が上がるかもしれません。
なお、アニメーションPNGはPNGを拡張した形式ですが、PNG規格ではありません。

PNGファイルの内容

では、まずはPNGの概要から。
PNGファイルはチャンクと呼ぶ容器の集まりでできています。チャンクには画像データ本体だけでなく、画像サイズや色情報、透明度やコメント等の様々な種類の周辺情報があります。必須かつ1個限定のチャンクや省略できるチャンク、何個でも使えるチャンクなどなどたくさんのチャンクが規定されています。

次に、アニメーションPNGではチャンクの種類が追加されました。コマ数や繰り返し回数を格納するチャンクや各コマの表示時間を格納するチャンク、各コマの画像データを格納するチャンクが新たに規定され、一つのファイル内に組み込まれています。
アニメーションPNGに対応していないプログラムでアニメーションPNGを表示する際は、アニメーションPNG独特のチャンクは無視されてデフォルト画像だけが表示される仕組みになっています。賢いですね。

そして注意しなくてはならないのは、画像サイズや色情報はアニメーションの全コマ共通で利用される事です。
コマによってサイズが変わったりカラーパレットを切り替えたりはできません。
データサイズを小さくするために256色モードを使うと、色数が足りなくなったり本来と違う色で表示されるかもしれません。

次回はもう少し掘り下げてPNGファイルの中身を紹介したいと思います。


2019年2月8日金曜日

LINE ANIMATION STICKER の非公開仕様

こんにちは、きまぐれソフトです。

前回LINEアニメーションスタンプの基本仕様について書きましたが、公開されているガイドラインに記載されていない隠れ仕様も存在します。
今回はそんな隠れ仕様を紹介します。
  • 白背景は透明
    絵の周囲には縁取りをして、残った背景部分だけ透明にします。
    承認担当者が時々、縁取りを見落として正しい仕様なのにリジェクトする事が有ります。
  • スタンプのサイズに余白を含めてはならない。
    背景を透明にしろと言われて透明にすると、今度はカットできる透明部分はスタンプに含めるなと言われます。
    どこかのコマでスタンプのギリギリの位置に絵が有ればOKです。
    文字の位置を工夫したり、飾りを追加して余白を作らない様にします。
  • 1コマ目と最後のコマを同じにする。
    スタンプを選ぶ時に1コマ目の絵で選びます。
    スタンプが届いた時も1コマ目が表示されます。
    スタンプを再生したら最後のコマで止まります。
    この時に再生前の1コマ目と再生後の最終コマの内容が違うとリジェクトされます。
    仕様上は同じ意味が伝われば良い事になっていますが、承認担当者によっては微妙な違いだけでリジェクトします。
    最初と最後のコマに同じ絵を使うのが無難です。
  • カラーモードの「カラー」とはフルカラーまたはインデックスカラーの事。
    要はグレースケールでなければOKという事。
    ここで注意が必要なのが、黒線と黒文字だけで書いた絵の場合です。
    アニメーションPNGを作る時に最適化をすると、グレースケールにされる場合が有ります。
    この場合は個別にカラーモードを指摘するか、少し色を変えてカラーと認識させます。
  • 総再生時間は全てのループが完了するまでの時間です。
    1ループ当たりの時間が1.5秒でも、2回ループさせるとちょうど3秒になるのでOKです。
    0.6666・・・秒を3回ループでもOKです。
    でも、0.6秒を3回ループだと1.8秒なのでNGです。
スタンプの内容は承認担当者の判断基準に依る所が大きいので提出前の確認は難しいですが、画像サイズや再生時間は基準が定まっているので事前確認できます。

APNG Checker! を使えば事前確認が簡単になります。ぜひ使ってください。

LINE ANIMATION STICKER

こんにちは、きまぐれソフトです。

以前、LINE のアニメスタンプを作成しました。
仕様の解釈によってはアウトになりそうなギリギリの仕様だったり、
完璧と思っていたスタンプがリジェクトされたり、
そんな経験を書いておきます。
これからアニメスタンプ作ろうとしている人や、未来の自分の役に立つと良いな。

まずは基本的なスタンプの仕様について再確認。
  • スタンプの数の制限(1セット当たり)8、16 または 24 個。
    結構な数です。
  • スタンプのサイズ 高さ270px、幅270 - 320pxの範囲内。
    高さは固定、幅は少し自由が有ります。
  • 総再生時間 1、2、3、4秒のどれか。
    ループが完了するまでの時間の事です。整数秒でないとだめという事になります。
  • 各スタンプのコマ数は5から20コマ。
    動きが少ないアニメは受理されません。
  • ループ回数は1から4回。
  • カラーモードはカラー。
    仕様上は「カラー」とだけ書かれています。
  • 各スタンプのファイルサイズは200KB以下。
  • ZIPファイルのサイズは20MB以下。
    販売単位のスタンプ全部をZIP化した時のファイルサイズです。
  • 画像内の空白部分は透明にする。
    「白い背景です」と言っても受理されません。透明にしろと怒られます。
  • 不適切な表現をしない。
    嫌悪感を抱く絵や文字はリジェクトされます。
    承認担当者や販売地域によって判断基準が違います。
と、こんな感じです。
アニメスタンプを作ろうとする人なら皆さんが知っているはずの仕様ですが、実は公開されているガイドラインに記載されていない隠れ仕様も存在します。
長くなったので、隠れ仕様については次回掲載します。

きまぐれソフトの今

こんにちは、きまぐれソフトです。

まずはきまぐれソフトの自己紹介を兼ねて、現在公開中のアプリケーションを紹介します。

プロフィール
きまぐれソフト
きまぐれにプログラムを組み、きまぐれに公開しています。
自分に合ったプログラムが見つからない時に、自分用に作成したプログラムです。
他の人にも使い良いプログラムになっていたら嬉しいです。
気になったら使ってみてください。

現在公開中のアプリ

  • すみっこランチャー
    使わない時は画面表示が無く、フルスクリーンで作業していても簡単に呼び出せるランチャーです。
    画面のすみっこにマウスを合わせるとランチャーが表示されます。
    ランチャーへの登録もプログラムをランチャーにドロップするだけです。

    デスクトップがランチャー代わり、ランチャーのために画面スペースを取りたくない人に持って来いのランチャーです。
    アンインストールも簡単なので、一度お試しください。



  • スクリーンセーバーマネージャー
    スクリーンセーバーを起動させるプログラムです。
    画面表示が無く、作業の邪魔になりません。スクリーンセーバーの起動はマウスカーソルを画面のすみっこに移動させるだけです。
    邪魔にはなりませんので、一度お試しください。



  • APNG Checker!
    アニメーションPNGファイルの再生仕様が確認できます。
    画像サイズ、再生時間のほか、各コマの表示時間が確認できます。
    納品前のチェックや気になったファイルの詳細確認にご使用ください。



  • APNGBuilder
    https://kimaguresoft.blogspot.com/2019/03/apngbuilder.html
    アニメーションPNGが簡単に作れます。
    PNGファイルをドロップしていくと、その順でアニメーションになります。各コマ毎に表示時間が設定できるので、メリハリのあるアニメーションが作成できます。

2019年2月7日木曜日

はじめまして、きまぐれソフトです

はじめまして。きまぐれソフトです。
自作プログラムをVectorで公開しています。

プログラムからの収入が無いので、表示される広告には目をつぶってください。
今後、きまぐれに新アプリやアップデートの告知をしていきます。
気になったら使ってみてください。