• ベストアンサー

アルファチャンネルについて質問です。

アルファチャンネルについて質問です。 現在、透過PNGについて色々調べていて、分からない事があったので 質問します。 [Q1] PNGには8bitと24bitの形式がありますが、そこにアルファチャンネルを 追加することで ・8bit形式のものは16bitのPNG画像 ・24bit形式のものは32bitのPNG画像 となるのでしょうか? [Q2] アルファチャンネル付きのPNG画像のデータサイズ圧縮をする事は可能 なのでしょうか? 圧縮後も透過できる事とします。 以上の2点について解答お待ちしております。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

>Q1 PNGでは、各画素の持つ色情報は、 ・RGB各8bit=合計1画素あたり24bit ・RGB各16bit=合計1画素あたり48bit ・グレイスケール8bit=1画素あたり8bit ・グレイスケール16bit=1画素あたり16bit などが選べます。アルファチャネル付きの場合は、これにさらにα情報が付加されて、 ・RGBA各8bit=合計1画素あたり32bit ・RGBA各16bit=合計1画素あたり64bit ・グレイスケール8bit+アルファ8bit=1画素あたり16bit ・グレイスケール16bit+アルファ16bit=1画素あたり32bit のようになります。 いわゆる「24bit形式」と呼ばれるのは、このうち「RGB各8bitの1画素24bit」もしくは「RGBA各8bitの1画素32bit」で、画素情報をそのまま圧縮するフォーマットを刺します。 一方、「インデックスカラー」と呼ばれる形式もがあります。これは、画素情報を「色番号」で表現するものです。インデックスモードでは、1画素を8bitで表現します。これが、いわゆる「8bit形式」と呼ばれるものです。 インデックスモードでは、画像データとは別に、カラーパレットと呼ばれる「○番の色は△△である」という「色番号と色情報の対応表」をデータとして保持します。 このパレットに使う色情報としては、「RGBA各16bit=色情報64bit」なんかも使えるのですが、 普通「8bit形式」と呼ぶ場合は、 色情報は「RGB各8bitの1画素24bit」もしくは「RGBA各8bitの1画素32bit」のどちらかを指す場合が多いかと思います。 まとめると、 ・8bit形式は、アルファチャネルを追加しても、1画素あたりは8bitのまま ・24bit形式は、アルファチャネルを追加すると、1画素あたりは32bitになる ということになります。 >Q2 PNG画像は、可逆圧縮を行う画像フォーマットです。 アルファチャネル付の画像であっても、アルファチャネルごとデータは全て圧縮を行いますし、当然圧縮したデータ中にアルファチャネル情報は保持されています。 「アルファチャネル付のPNG画像」はすでに圧縮済なわけですから、 そこからさらに「データサイズ圧縮」することはできません。 (zipファイルを、さらにzipファイルに圧縮しようとしても、サイズはもう小さくならない、というのと同じことです) ただし、アルファチャネルを付けるかどうか以前の、PNGに関する基礎的な特性として、 ・使われている色数が256色以内であり、元の形式が 24bit形式なのであれば、8bit形式にすることでデータサイズが削減できる可能性はあります。 ・「フィルタリング処理」設定を適切に行う(圧縮しやすいように前処理にを行う)ことで、ファイルサイズを小さくできる可能性もあります。 (どちらの場合でも、PNGは可逆圧縮であり、情報の劣化はありません)

pekoo39
質問者

補足

早々の回答ありがとうございます。 参考になりました! ただ、また分からない部分が出てしまったので質問させて下さい。 ・PNG-8(256色)はαチャンネルを追加できない? ・PNG-24(フルカラー)からPNG-8(256色)へ変換を行った場合、αチャンネルは付かない? 要はαチャンネルはフルカラーにしか対応していないのかな?ということですね^^ よろしく願いします。

その他の回答 (1)

  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.2

質問者さんの補足で挙げられた疑問は、全て回答1で答えてるものなのですが、 説明がわかりにくかったようですみません。 > ・PNG-8(256色)はαチャンネルを追加できない? 出来ます。 > ・PNG-24(フルカラー)からPNG-8(256色)へ変換を行った場合、αチャンネルは付かない? 付けられます。 アルファチャネルのないタイプの、いわゆる普通の8bit形式PNGでは、 「RGB各8ビットの計24ビットで表現された色」を、画像全体で256通り使えます。 一方、アルファチャネル付の8bit形式PNGでは、 「RGBA各8ビットの計32ビットで表現された色」を、画像全体で256通り使えます。 8bit形式では、各画素の「色」をアルファチャネル込みで考えて、それで「256色使える」ということです。 (たとえば、黒(R=0,G=0,B=0,A=255)と完全透明(R=0,G=0,B=0,A=0)は、どちらもRGB値だけ見ると(0,0,0)で同じになってます。アルファ無しのPNGにする場合はどちらも同じ色で「1色」です。 ですが、アルファ込みのRGBA全体で見ると値が異なりますから、アルファ付8bit形式PNGで保存する際には黒と完全透明で「2色」と数えます)

pekoo39
質問者

お礼

僕の理解力が足りなくて、お手数おかけしました^^; おかげさまで知りたいことが解決して、作業が進められます(`・ω・´) ご協力ありがとうございました!

関連するQ&A

  • 透過指定のPNG8がビット深度32bitとなる理由

    WEB用にIllustratorで作成した画像を,PNG-8形式で背景を透過するように保存したところ下記のようになり,自身でも調べたのですが不明でしたので質問させてください. (使用ソフト:Illustrator(CS4)OS:WIN XP) 1)Illustratorで「WEBおよびデバイス用に保存」→PNG-8形式選択→「透明部分」にチェック→保存 ビットの深さは32bitと表示される(プロパティから確認) 2)透過を指定しないとビット深度は8bitと表示される PNG-24であれば,RGB各8bitとαチャネル8bitで32bitとなるのは理解できるのですが PNG-8では透過を指定しても,ビット深度は8bitなのではないかと思うのです. なぜ,透過指定したPNG-8が,32bitと表示されるのでしょうか. 思い違いもあるかと思うのですが,ご存知の方がいらっしゃいましたら ご教授いただきたくよろしくお願い致します.

  • アルファチャンネル対応のフリーグラフィックソフト

    こんにちは。 WindowsXPでPNG画像を作成しているのですが、 透明度付きPNG画像を作ってみたいと思っています。 そしていろいろ調べてみたら、アルファチャンネルというものがPNGの透明度の操作をしていることが分かりました。 そして、背景などを100%透過させることは出来るようになりました。 しかし、50%透過などのやり方がイマイチ分かりません。 現在、PictBearを使用して画像を加工しておりますが、PictBearでは100%透過させることしか出来ないのでしょうか? 出来ないとしたらフリーソフトでアルファチャンネルの操作が出来るソフトを教えてください。 m(_ _)m

  • photoshopでのPNG(4bit)での保存

    photoshopでのPNG(4bit-16色)での 保存方法をご存知の方がおられましたら 教えて下さい。 【web用に保存】からPNG形式で保存 しようとしたのですが、 PNG-8(8bit) PNG-24(24bit) しか選択肢がなく、どうしても 16色↓のパレットに (黒等の)余計な色が入ってしまいます。 (容量も元データのgifよりかなり大きくなる) もしくは他のソフトでPNG-4bit-透過色選択可で バッチ処理のあるフリーソフトを ご存知でしたら教えて下さい どなたか宜しくお願いします

  • Fireworksで8bitの透過PNGの書出し

    Fireworksで、8bitの透過PNGの書き出しをしたいのですが、 透過させたくない白い部分まで透過してしまい、うまくいきません。 かなりのFireworks初心者で、きれいに書き出す方法をネットで調べてみたのですが、 分からず困っております。 作業詳細 ---------------- 最終的に欲しいデータ : Fireworks形式のPNG(8bit) 作業環境:Windows XP、Fireworks CS3、Photoshop CS3 作業手順: (1)Photoshopにて複数の画像を作成  ドロップシャドウなどを適用している透過画像もあるので、  「Webおよびデバイス用に保存」でPNG-24で書き出します。 (2)作成した画像をFireworksで、ある決まったテンプレート(PNG)にレイアウトします。 (3)書き出し設定  「最適化」WindowにてPNG 8 を選択。    (3)「書き出し」からスライスの書き出しを行います。 ---------------- すると、PNG32では問題なく書き出せるのですが、 PNG 8 の場合は、透過させたくない白い部分まで色が抜けて透過してしまいました。 試しにPNG24で書き出そうとしたところ、今度は透過させたい部分まで透過されなくなり、 スライスの範囲通りに四角い形になってしまいました。 PhotoshopのPNG8ではドロップシャドウの部分などがきれいに透過されないことと、 最終的にFireworkのテンプレートも必要なので、 Photoshopだけで作業は完結できません。 説明が下手で恐縮ですが、 8bitの透過PNG(Fireworks)の書き出し方をお教えいただけますでしょうか。 よろしくお願いいたします。

  • Flashでアルファチャンネル付きのビットマップデータを取り込む方法

    Windowsを使っております。 Flash4.0でアルファチャンネル付きのビットマップデータを取り込むと、 黒い部分が透過する・・・。という風に本に書いてありまして、いろいろ やってみているのですがどうも上手くいきません。 PICTにしても、BMPにしても、Photoshopでアルファチャンネル付きで保存 する際、「この形式では、保存できない・・・が含まれております!」とい うメッセージが表示され、Flashでその画像をインポートしても、黒い部分 は透過されません。 この部分でお詳しい方がいらっしゃいましたら、是非教えてください。

  • JPGにオンマウス動作で透過GIF画像や透過PNG画像を重ねたいのです

    JPGにオンマウス動作で透過GIF画像や透過PNG画像を重ねたいのです JPG にオンマウス動作で透過GIF画像や透過PNG画像を重ねたいのですが、良い方法はありませんでしょうか? 例えば、分かれ道を撮したJPG画像に、マウスのカーソルを合わせる(載せる)と、JPG画像の上に、矢印だけが描かれた透過GIF画像、もしくは透過 PNG画像が表示されるようにしたいのです。 現在はJPG画像に矢印を書き加えたものを、onmouseoverで差し替え表示をする方法を行っていますが、書き加えられた矢印などの画像はJPG圧縮や縦横サイズの関係でノイズが載ってしまい、イマイチきれいじゃありません。 マウスの動作で透過GIF画像や透過PNG画像を重ねたり、外したりできる良い方法があればお教えください。

  • 8bit→32bitに一括画像変換できるソフト

    8bitのpng形式の画像を32bitのpng形式の画像に一括で変換出来るソフトを探しています。 ・一括で変換出来る事 ・透過情報を維持したままの変換 (背景を透明のまま維持したいという意味です) 上記2つの条件を満たす様なソフトをご存知でしょうか? また、私は「GINMP2」「AzPainter2」「BatchGOO!NEXT」「IrfanView」 などのソフトを利用してみたのですがうまくできませんでした。 もしこれらのソフトで出来るようであれば、 その方法をご教授願いたいです。 よろしくお願い致します。

  • つくった画像をBMP形式に保存するときに4bitで保存するには?

    仕事でビットマップ形式の画像をつくらないといけないのですが、 つくった画像をBMP形式に保存するときに4bitで保存するにはどうしたら 良いでしょうか? もともとはイラストレーターで制作されたデータなので、ai形式やeps形式で 保存されています。それをPhotoshopの7やCS2で開いて、photoshop上で bmp形式で保存しました。 すると保存される前に「BMPオプション」というダイヤログボックスが 出て、そこでbitを選択できるようになってはいるのですが、選択可能な bitは、「16bit」「24bit」「32bit」だけなのです。 「1bit」「4bit」「8bit」も薄い字で項目としてはあるのですが、 何故かこの三つのbitは薄い字になっていて選択が出来なくなっています。 Photoshopではダメでも構いません。何か他のソフトで4bitにするにはどう したら良いでしょうか。 ちなみに、96dpiで100ピクセルほどのサイズの画像を4bitで保存 しようとしています。 宜しくお願い致します。

  • デュアルチャンネル、同一モジュール??

    最近自作しまして、 デュアルチャンネル対応ということでしたので、 安全を取ってサムソン純正のもの256を2枚買い、 きちんとデュアルチャンネルで起動が出来ました。 実は私が買ったマザーにはメモリスロットが3つあり、 ちょこっと調べたところ、 1つが128bit、あとの2つが64bitということらしく、 いまはこの128に1枚、64に1枚というさし方でデュアルチャンネルで動いています。 疑問に思ったのはもうひとつの空きスロットのことです。 デュアルチャンネルは同一モジュール同容量のメモリを2枚で実現するものだと理解していました。 同一モジュール、というのがいまいちわかっていなかったので、同時に同じ物を2枚買えば良いか、と2枚買ったわけです。 今後この空き64bitに適当な512Mを追加するとどうなってしまうのでしょう?? どうやらその場合は基本的に 128bitに512、64bitに256を2枚とするようなのですが、 この1枚512と2枚計512が同一モジュール??でないといけないんですよね・・・??? この256*2と512*1が同一モジュールでなく、 デュアルチャンネル不可の場合、 256を2枚でデュアル、512は単に追加分?? という動作はありなのでしょうか?? いろいろ聞いてしまいましたが 特に「同一モジュールってどういうこと?」という点について教えてください。 よろしくお願いします

  • ニコンの記録方式(RAW圧縮とビット数について)

    銀塩カメラを使っていたのですが、デジタルも使いたいと思っているものです。デジタルは初めてなので少し情報を集めていて疑問に思った点を質問します。ニコンのD300がいいかなあと思って調べました。 どうぞよろしくお願いします。 記録方式についてなのですが、「RAW画像の圧縮方式」は三つあるようでした。 (1)ロスレス圧縮RAW((3)に対して60-80%のサイズ、可逆圧縮) (2)圧縮RAW((3)に対して45-60%のサイズ、不可逆圧縮) (3)非圧縮RAW ここで疑問なのですが、(1)と(3)の差についてです。 (1)の補足として「データを完全に復元できる。記録した画像は(3)と同等の画質になる」とありました。これは、画質が(1)と(3)では変わらないということを意味するのでしょうか。もしそうだとすると、画質が変わらず記録サイズが小さくなる(1)で記録した方がどう考えてもいいということにならないのでしょうか。そうであるなら、そもそも(3)の存在意義とはなんなのでしょうか。 よければ実際に皆さんがどのような状況に合わせてRAWの記録方式を採用していっているのか(jpegはおいておくとして)についても教えていただけませんでしょうか。 それからもうひとつ、「RAW画像の記録ビット数」についてです。 12bitと14bitが選択できるようで、これは14bitの方がが記録サイズが大きくてその分だけ12bitより画質がよいということらしいのですが、それ以外の点における違いはあるのでしょうか。また実際に記録するときこのbit数を変える状況というのはどのような場合に起こるものなのでしょう。(普通、記録サイズを小さくしたいというのであれば、jpegにするのが一般的らしいとききましたが、bitをいじるだけの理由というのはどのような状況で生じるのでしょうか)