さまざまなネットワーク画像形式におけるPNGの利点の詳細な説明

さまざまなネットワーク画像形式におけるPNGの利点の詳細な説明

BMP は、ハードウェア デバイスに依存せず、広く使用されている画像ファイル形式です。ビットマップ保存形式を使用し、オプションの画像深度以外の圧縮は使用しません。そのため、BblP ファイルは大きなスペースを占有します。 BMP ファイルの画像深度は、1 ビット、4 ビット、8 ビット、24 ビットです。 BMP ファイルにデータを保存する場合、画像は左から右、下から上にスキャンされます。
BMP ファイル形式は Windows 環境で画像関連データを交換するための標準であるため、Windows 環境で実行されるすべてのグラフィックおよび画像ソフトウェアは BMP 画像形式をサポートしています。
一般的な BMP 画像ファイルは、BMP 画像ファイルのタイプや表示内容などの情報が含まれるビットマップ ファイル ヘッダー データ構造と、BMP 画像の幅、高さ、圧縮方法、色の定義などの情報が含まれるビットマップ情報データ構造の 3 つの部分で構成されます。


JPEG 圧縮技術は、すべての画像圧縮技術の基礎とも言えます。静止画像圧縮に適しており、画像全体を直接処理し、圧縮率は20〜80倍で、解像度の選択はありません。そのため、圧縮ファイル全体が転送されるまで待ってから、画像に解凍する必要があります。この方法では、高解像度の画像の転送に数十秒から数分かかることもあります。


MJPEG (Motion JPEG) は、JPEG をベースに開発された動画像圧縮技術です。特定のフレームのみを圧縮し、基本的にビデオ ストリーム内の異なるフレーム間の変化は考慮しません。これにより、高精細な映像の取得が可能となり、チャンネルごとの映像精細度や圧縮フレームレートを柔軟に設定できます。圧縮された画像も自由に編集できます。しかし、その欠点も非常に明白です。まず、フレーム損失が深刻で、リアルタイム性能が低いです。各チャンネルが高解像度であることを保証しながら、リアルタイム圧縮を完了することは困難です。 2つ目:圧縮効率が低く、保存スペースが大きい。


その後、多層 JPEG (ML-JPEG) 圧縮技術が登場しました。これは、プログレッシブ技術を使用して、最初に低解像度の画像を送信し、その後、より詳細な圧縮データで補完して画質を向上させます。この方法は、元の方法と同じ時間がかかります。ただし、ユーザーは最初に画像を見ることができるため、この方法の方が適していると感じるでしょう。


PNG は、1990 年代半ばに開発された画像ファイル保存形式です。その目的は、GIF ファイル形式にはないいくつかの機能を追加しながら、GIF および TIFF ファイル形式を置き換えることです。 Portable Network Graphic Format (PNG) の名前は、非公式の「PNG は GIF ではない」に由来しています。これは、「ピング」と発音されるビットマップ ファイルの保存形式です。 PNG を使用してグレースケール画像を保存する場合、グレースケール画像の深度は最大 16 ビットになります。カラー画像を保存する場合、カラー画像の深度は最大 48 ビットになり、最大 16 ビットのアルファ チャネル データも保存できます。 PNG は、LZ77 から派生したロスレス データ圧縮アルゴリズムを使用します。


PNG ファイル形式は、GIF ファイル形式の次の特性を保持します。

カラー ルックアップ テーブルまたはパレットを使用すると、256 色のカラー画像をサポートできます。
ストリーミング可能性: 画像ファイル形式では、画像データの連続的な読み取りと書き込みが可能であり、通信中に画像を生成して表示するのに最適です。
プログレッシブ表示: 通信リンク上で画像ファイルを送信しながら、端末に画像を表示できる機能です。全体のアウトラインが表示された後、画像の詳細が徐々に表示されます。つまり、最初は低解像度で画像が表示され、その後解像度が徐々に高くなります。
透明度: このプロパティを使用すると、画像の特定の部分を表示しないようにすることができ、独特な画像を作成できます。
補助情報: この機能を使用すると、画像ファイルにテキスト注釈情報を保存できます。
コンピュータのハードウェアおよびソフトウェア環境に依存しません。
ロスレス圧縮を使用します。


PNG ファイル形式には、GIF ファイル形式にはない次の機能を追加する必要があります。

ピクセルあたり 48 ビットのトゥルーカラー画像。
ピクセルあたり 16 ビットのグレースケール画像。
グレースケールおよびトゥルーカラー画像にアルファ チャネルを追加できます。
画像のガンマ情報を追加します。
巡回冗長コード (CRC) を使用して破損したファイルを検出します。
画像表示を高速化する逐次比較表示モード。
標準の読み取り/書き込みツールキット。
複数の画像を 1 つのファイルに保存できます。
ファイル構造


PNG 画像形式のファイル (またはデータ ストリーム) は、8 バイトの PNG ファイル署名フィールドと、特定の構造に編成された 3 つ以上のデータ チャンクで構成されます。


PNG は 2 種類のデータ チャンクを定義します。1 つはクリティカル チャンクと呼ばれる標準データ チャンクで、もう 1 つは補助チャンクと呼ばれるオプションのデータ チャンクです。キー データ ブロックは、4 つの標準データ ブロックを定義します。すべての PNG ファイルにこれらのデータ ブロックが含まれている必要があり、すべての PNG 読み取りおよび書き込みソフトウェアもこれらのデータ ブロックをサポートする必要があります。 PNG ファイル仕様では、オプションのデータ ブロックをエンコードおよびデコードするために PNG コーデックは必要ありませんが、オプションのデータ ブロックのサポートが推奨されています。


GIF (Graphics Interchange Format) の本来の意味は「Image Interchange Format」であり、1987 年に CompuServe によって開発された画像ファイル形式です。 GIF ファイルのデータは、LZW アルゴリズムに基づく連続階調ロスレス圧縮形式です。圧縮率は一般的に約 50% で、どのアプリケーションにも属しません。現在、ほぼすべての関連ソフトウェアがこれをサポートしており、パブリックドメインにも GIF 画像ファイルを使用するソフトウェアが多数存在します。 GIF 画像ファイルのデータは圧縮されており、可変長などの圧縮アルゴリズムが使用されます。したがって、GIF の画像深度は 1 ビットから 8 ビットの範囲であり、GIF は最大 256 色の画像をサポートすることになります。 GIF 形式のもう 1 つの特徴は、1 つの GIF ファイルに複数のカラー画像を保存できることです。ファイルに保存された複数の画像データを 1 つずつ読み出して画面に表示すれば、最もシンプルなアニメーションを作成できます。


GIF は、静的 GIF とアニメーション GIF に分けられます。透明な背景画像をサポートし、複数のオペレーティングシステムに適しており、サイズが非常に小さいです。インターネット上の多くの小さなアニメーションは GIF 形式です。実際、GIF は複数の画像を 1 つの画像ファイルに保存してアニメーションを形成するため、最終的には GIF は依然として画像ファイル形式です。

<<:  MySQL 整合性制約の定義と例のチュートリアル

>>:  CSS での配置の使用方法の詳細な研究 (要約)

推薦する

VMware Workstation 14 Pro(仮想マシン)にシステムをインストールする方法の詳細な説明

この記事では、VMware Workstation 14 Pro (仮想マシン) にシステムをインス...

Webデザイン講座(4):素材と表現について

<br />前回のWebデザインチュートリアル:Webデザインチュートリアル(3):デザ...

vue-cropper コンポーネントは画像の切り取りとアップロードを実現します

この記事では、画像の切り取りとアップロードを実装するためのvue-cropperコンポーネントの具体...

jsプロキシの原理の詳細な説明

目次プロキシモードとは何ですか?実例を紹介例を使ってプロキシモデルの定義を理解するプロキシとはget...

Dockerfileの指示と基本構造の説明

Dockerfile を使用すると、ユーザーはカスタム イメージを作成できます。基本構造Docker...

JavaScript における型の必須および暗黙的な変換の詳細な説明

目次1. 暗黙的な変換二重等号での変換ブール型変換「+」と「-」 2. 強制型変換' ...

XHTML+CSS Web ページ作成における美しいスタイルシートの適用

これはかなり前に書かれた記事です。今となっては、その中の考え方は学ぶ価値があるように思えます。jb5...

CSS を解析して画像のテーマカラー機能を抽出する (ヒント)

背景すべては、WeChat 技術グループのクラスメートが「写真の主な色を取得する方法はあるか」と尋ね...

Vue Nativeを使用したモバイルアプリケーションの構築プロセスの完全な記録

目次序文Vue Nativeの機能宣言的レンダリング双方向バインディングVue.js エコシステムの...

MySQLのレプリケーションとチューニングの原則と方法を分析する

1. はじめにMySQL にはレプリケーション ソリューションが付属しており、次のような利点がありま...

Vue ミックスインの使い方の詳しい説明

目次Vue ミックスインの使用ミックスインでのデータアクセスミックスイン/index.jsホーム.v...

要素内の TimePicker は時間の一部を無効にします (分単位で無効)

プロジェクトの要件は、日付と時刻を選択し、現在の時刻以降の時刻のみを選択し、最小レベルを分単位で無効...

CSS3 でテキスト ストロークを実装する 2 つの方法 (要約)

質問最近、以下に示すように、テキストストローク効果を実現するという要件に遭遇しました。 解決策1まず...