![](https://habrastorage.org/getpro/geektimes/post_images/067/425/c05/067425c05f4bb3a92b9d7598998b7700.png)
カットの下では、通常のgif、jpg、png、swf、flvを置き換えるために、近い将来に設計されたオープンフォーマットについてお話したいと思います。
![画像](http://project-art.ru/misc/pyani.png)
上記の画像はAPNG形式で、最新のブラウザのほとんどでアニメーション化され、背景が透明になります。
PNG形式には2つの有望なブランチがあります。
Mng
www.libmng.com
長所(完全サポート付き):
- jpegまたはpng形式のオブジェクトを含むことができ、それぞれにアルファチャネルがあります。
- 内部スクリプトとレイヤー(オブジェクト)の操作。
- gifに似た差分フレームに基づく圧縮。
- 優れたエラー制御。
- ガンマ補正、テキスト情報および任意のオブジェクトの包含など、多くの追加オプション。
短所:
- フォーマットの複雑さ(簡略化された完全な2つの仕様があります)。
- その結果、ほとんどのブラウザは拡張機能を通じてサポートしています。
追加のプラグインなしで、この形式は、Mmosaic、Konquerorによってサポートされます。1.4までのMozillaエンジンの古いバージョンとSony-ericsson電話のブラウザーに不具合があり、他のほとんどすべてのブラウザーは愛好家によって作成された対応する拡張機能を持っています。 Internet Explorerは、サードパーティのactive-xを通じてサポートしています。
APNG
wiki.mozilla.org/APNG_Specification
長所:
- アルファチャネルとフレームタイミングのpngフレームが含まれる場合があります。
- 下位互換性のあるpngアドイン、pngをサポートするブラウザは問題なく最初のフレームを表示します。
- gifに似た差分フレームに基づく圧縮。
- 非常にシンプルなフォーマット。
- Firefox 3.0やOpera 9.5などのブラウザーのサポート。
短所:
- かなり単純なエラー制御(個々のフレームのcrcとヘッダー内のフレーム数)。
ネイティブでは、この形式はMozilla firefox 3.0以降、Opera 9.5、プラグインを使用する他のブラウザーでサポートされています。
私の意見では、グラフィックデータを保存するための最も有望な形式に移りましょう。
Svg
www.w3.org/TR/SVG12
en.wikipedia.org/wiki/Scalable_Vector_Graphics
SVGは既に確立されており、W3Cによって承認されており、ベクターグラフィックス(emだけでなく)のプレゼンテーションで最も有望なオープンスタンダードです。 私はそれを単純なswfとして記述し、xml形式で提示します。
主な利点:
- オープン標準のVML(ベクターマークアップ言語)に基づいてベクターグラフィックスを記述するための豊富な機能を備えた、簡単に編集できる直感的なxmlベースのフォーマット。
- オブジェクトは、Javascriptまたはネイティブスクリプト言語SMILによって管理されます。
- DOM、つまり、それぞれHTMLドキュメントのオブジェクト構造に含まれるのは、CSSまたはJavascriptを使用して画像を変更する機能です。
- PNG、GIF、JPGを含める機能。
短所:
- 実際、フォーマットの複雑さは、SVGを備えたほとんどのブラウザーが単純化されたSVG-Tiny仕様のみをサポートしていることです。
- 大きなネイティブサイズですが、この問題はSVG gzip圧縮されたSVGZラッパー形式によって解決されます。
追加のプラグインなしで、このフォーマットバージョン1.1または(DVG-tiny)はFirefox 2以降、Operaおよびgoogle Chromeをサポートします。 さまざまなブラウザーでこの形式をサポートすることに関する詳細は、サポートについて書かれている必要があります。たとえば、css3、1.2規格の完全サポート、まだ予備仕様はどこにも実装されていません。 この形式のモバイルブランチもあります。
将来的には、これは同様のフラッシュに似たベクターグラフィックス形式ではなく、グラフィック情報を表現するためのhtml形式の一種であることを再度強調します。
一方では、SVGにAPNGおよびMNGの機能が含まれていることは明らかですが、他方では、内部および外部のSVGスクリプトのネイティブブラウザサポートがないため、将来のみです。 さらに、サポートおよび編集においてGIFと同じくらい単純なAPNG形式が根付かないようにすることを妨げるものはありません。
私たちには、もう1つの大きな空いているニッチがあります-オープンで使いやすいビデオストレージフォーマットです。 これは、差分フレームを考慮して個別に圧縮されたフレームのセットだけではありません(従来のビデオ圧縮の場合はまったく役に立ちません)。 svg、mng、およびapng形式のビデオは、最新のビデオコーデックによって比較的大量のビデオシェークを占有します。
現時点では、マルチメディアコンテンツ(ストリーミングオーディオおよびビデオ)にはFlash、Flashビデオ、Windows Media、QuickTimeなどのオブジェクトが含まれています。これらはすべてクローズドスタンダードに基づいており、再生にはサードパーティのプラグインが必要です。
冒頭でhtml 5に言及したのは何の役にも立ちませんでした。これは、<audio>要素と<video>要素の形式で標準化されたインターフェイスを提供します。
メディアプレゼンテーションの新しい独立した標準として、W3Cは以下を提供します。
Oggコンテナー
www.xiph.org/ogg
Oggコンテナには、さまざまなオープンおよびクローズコーデック、メタデータ、テキストデータによって圧縮されたメディアコンテンツを含めることができます。
標準では、ネイティブブラウザがビデオ用のTheoraオープンコーデック、音声用のVorbis(損失のある)およびFlac(損失のない)、および場合によってはSpeexを人間の音声のコーデックとしてサポートすることを前提としています。
このオープンソリューションの主な問題は、Oggメタデータ形式に対する広範なサポートの欠如です。たとえば、ビデオプレーヤーは単純にそれを解凍し、構成要素のメタデータを確認します。
Theoraビデオコーデックの長所と短所を詳細に検討するつもりはありません。ソフトウェアのエンコードとデコードの速度の観点、および品質/サイズの観点では、かなり競争力があると言えます。 エンコード/デコードのハードウェアサポートは、形式が新鮮であるためまだ利用できません(最初の公開リリースは1年未満前に発生しました)、残念ながら、これはYoutube、Vimeoなどの大規模なビデオサービスでTheoraコーデックを使用し、オンライン放送で使用するという点で重要です。
理想的には、タグに遭遇する一般的なブラウザは次のとおりです。
‹Video src = lookatthis。[任意のビデオ形式] width = 400 height = 300›
ビデオ圧縮Theoraおよびサウンド圧縮Vorbisを含むOggコンテナの場合、コーデックまたはプラグインのインストールを必要とせずに、DOMで管理されるビデオコンテナをページに作成する必要があります。
現時点では、何らかの形で、このソリューションのサポートはOpera(ビデオビルド)、Firefox 3.5、およびGoogle chrome 3.0.182.2に存在します。 残念ながら、Webkit(Safari)の開発者は独自の方法で、クローズドmpeg-4(H.264)コーデックの主要なサポートを検討しました。
近い将来、ウェブマスターがマルチメディアコンテンツをjpg画像と同じくらい簡単にページに埋め込むことができるようになる可能性があり、ブラウザはページを表示するためのさまざまなプラグインのインストールを提供しなくなります。 サードパーティのサービスを使用せずに、ストリーミングビデオを単に保存してサイトに投稿する機能が追加されます。 また、ベクターとビットマップの両方のグラフィックコンテンツは、ほとんどのブラウザーでコンパクトでオープンで理解可能な形式で存在します。これは、かつてjpegとgifになりました。
PS Habrahabrには、OggとSvgに特化した2つのブログがあります。
habrahabr.ru/blogs/ogg
habrahabr.ru/blogs/svg