画像形式

QOI

単純で高速な実装を目的とした、8ビットRGB・RGBA画像用の小さな可逆コーデックです。

形式を詳しく見る

QOIから変換

QOI画像の変換先の形式を選択します。

すべての変換(22)

印の付いた変換では、レイヤーの統合、ラスタライズ、トーンマッピング、アニメーションの消失などが生じる場合があります。

QOIに変換

QOIに変換する元の形式を選択します。

すべての変換(37)

印の付いた変換では、レイヤーの統合、ラスタライズ、トーンマッピング、アニメーションの消失などが生じる場合があります。

QOIについて

Quite OK Image Format

Dominic Szablewskiは、意図的に小さな可逆ラスター形式としてQOIを設計しました。短いヘッダー、小さな符号化操作の列、終了マーカーで8ビットのRGBまたはRGBA画素を保存します。追加のメディア機能を多数含むコンテナーではなく、実装の単純さを重視した仕様です。

ストリームは、画素の繰り返し、小さな差分、直近の画素のインデックスを使い、値を変えずに画像データを符号化します。色空間フラグが規定された画素値の解釈を区別しますが、ICCプロファイルやExifのチャンク機構はありません。RGBAではアルファを通常の4番目の8ビットチャンネルとして扱い、それより高い色深度の画素値は表現しません。

QOIは、両側の実装が対応する場合に、アプリケーションが管理する画像素材や中間保存に使ってください。アニメーション形式ではなく、レイヤー付きマスターの代わりにもなりません。QOIの符号化自体は対応する画素に対して可逆ですが、高精度や豊富なメタデータを持つ変換元では、情報の削減を意識する必要があります。

主な特性

圧縮
可逆
透明度
対応
アニメーション
非対応
拡張子
.qoi
MIMEタイプ
IANAに登録された画像タイプはありません
メタデータ
色空間フラグ
適した用途
アプリケーション素材と単純なデコード
色深度
成分あたり8ビット

QOIは8ビットRGB/RGBAの画素値を可逆圧縮で保持します。符号化前に16ビットデータを減らしたり、プロファイルやメタデータを削除したりする処理は、この保証の対象外です。

QOIの歴史

QOIの短い歴史は、開発者による2021年の提案と、最終的な小さな仕様を中心に記録されています。

  1. 2021

    小さなコーデックの試み

    Dominic Szablewskiは、何を犠牲にしても圧縮率を最大化するのではなく、小さな実装で高速に符号化・デコードすることを目的とした可逆画像形式を開発しました。

  2. 2021-12-20

    最終仕様

    開発者はGitHubでの議論と改善を経て、QOIの最終仕様を公開しました。簡潔な文書が、有効なストリーム構造を正確に定義しています。

  3. QOIの参照資料

    実装できる仕様

    形式には参照エンコーダーとデコーダーが付属します。仕様はRGB/RGBAに範囲を意図的に限定し、機能を際限なく追加するマルチメディアコンテナーよりも、予測しやすい実装モデルを提供します。

QOIとほかの形式の比較

形式ごとに利点と制約が異なります。画像と作業の目的に合わせて選択してください。

PNG

QOIとPNGの比較

PNGはデコード後の画素を可逆圧縮で保持し、アルファチャンネルも格納できます。透過画像やスクリーンショットに適していますが、編集可能な文書のレイヤーやカメラのセンサーデータは保持できず、写真ではファイルが大きくなることがあります。

BMP

QOIとBMPの比較

BMPはWindowsのビットマップの交換や、単純な画素データの確認に適しています。非圧縮の種類はデコードしやすい反面、大きくなることがあります。パレット、アルファチャンネル、カラープロファイルの扱いはヘッダーのバージョンによって異なります。

TGA

QOIとTGAの比較

TGAは単純なラスター保存形式で、対応する素材制作の処理系ではRLE圧縮やアルファチャンネルも使えます。扱いやすさからテクスチャーに便利です。ウェブや色のメタデータを扱う場合は、PNGの方が明確に標準化されています。

WebP

QOIとWebPの比較

WebPは8ビット画像の非可逆・可逆圧縮に、アルファチャンネルとアニメーションを組み合わせた形式です。これらの機能を必要とするウェブ配信に適しています。高精度の画素値や編集可能な元データの構造には、別の作業用形式が必要です。

QOIについてのよくある質問

この形式には何が保存されますか?

Dominic Szablewskiは、意図的に小さな可逆ラスター形式としてQOIを設計しました。短いヘッダー、小さな符号化操作の列、終了マーカーで8ビットのRGBまたはRGBA画素を保存します。追加のメディア機能を多数含むコンテナーではなく、実装の単純さを重視した仕様です。

圧縮は画質にどう影響しますか?

QOIは8ビットRGB/RGBAの画素値を可逆圧縮で保持します。符号化前に16ビットデータを減らしたり、プロファイルやメタデータを削除したりする処理は、この保証の対象外です。

QOIはExifやアニメーションを保存しますか?

公開されたQOI形式は一枚の画像と色空間フラグを定義し、Exifチャンク、ICCプロファイル、時間制御のあるフレームは定義しません。必要なメタデータは別に保存するか、別のコンテナーを使ってください。

ファイルを開く前に何を確認すればよいですか?

アプリケーションにはQOIデコーダーが必要です。参照実装を使って対応を組み込めますが、.qoiの拡張子があるだけでブラウザー標準のPNGやJPEGになるわけではありません。

別の形式に書き出すと何が変わりますか?

PNGはデコード後のRGB/RGBA画素値を保持できます。JPEGはアルファを削除して非可逆符号化を加え、GIFは色数を減らします。QOIが保存していなかったメタデータや精度は、変換しても復元できません。

この形式はどのような用途に適していますか?

QOIは、両側の実装が対応する場合に、アプリケーションが管理する画像素材や中間保存に使ってください。アニメーション形式ではなく、レイヤー付きマスターの代わりにもなりません。QOIの符号化自体は対応する画素に対して可逆ですが、高精度や豊富なメタデータを持つ変換元では、情報の削減を意識する必要があります。

参考資料