Skip to content

Note

このドキュメントは2026-02-27 02:21PLaMo Translation Modelを使用して自動翻訳されました。

FEP-ee3a: Exifメタデータサポート機能

概要

交換可能画像ファイル形式([Exif])ファミリーは、JPEG、TIFF、WAVなどのファイルフォーマットと構造化メタデータを統合した規格である。[Exif]はカメラの撮影パラメータ(レンズ情報、焦点距離、露出時間など)や音声記録パラメータ(チャンネル数、サンプリングレートなど)を記録する。本標準はもともと写真分野を対象としていたが、バージョン2.1で音響録音にも対応するように拡張された。本提案では、[Schema.org]ボキャブラリーの[exifData]プロパティを用いてFediverse全体でExifメタデータを伝達するための仕組みを定義する。

背景

[ActivityPub]実装間での相互運用性を向上させ、添付ファイルのメタデータ処理を統一するため、本FEPでは画像(Image)および音声(Audio)添付に関連付けられたExifメタデータを公開するためのボキャブラリーと処理規則を規定する。

仕様

本FEPにおいて、ExifメタデータはImageまたはAudioオブジェクトのexifDataプロパティ下に、[PropertyValue]項目の配列として表現される。各アイテムには以下が必須である: - @type属性がPropertyValueであること - Exifタグを識別する名前フィールド - 対応する値を保持するvalueフィールド

公式Exif仕様で定義されているすべてのメタデータタグを表現することができるが、相互運用性の観点から、推奨されるサブセットをサポートする実装を推奨する。

プライバシーに関する考慮事項

Exifメタデータには、ユーザーの位置情報、デバイス情報、録音環境などの機密情報が含まれる可能性がある。地理的座標(緯度・経度)は個人の住所や移動パターンを特定できる場合がある。コンテンツ制作者は、これらのフィールドを含める前に必ずユーザーの同意を得ることが必須であり、公開される情報内容についてユーザーに明確に通知することが望ましい。消費者側では、地理情報やデバイス関連メタデータを機密扱いとし、明示的な許可なく一般公開しないよう留意すべきである。

定義

exifDataプロパティ

exifDataImageまたはAudioタイプのメディアオブジェクトに付加可能なオプションプロパティである。存在する場合、その値は各オブジェクトが以下の条件を満たす配列でなければならない: - @type属性が「PropertyValue」と等しいこと - Exifフィールド名を含むnameプロパティを持つこと(例:"ExposureTime", "SamplesPerSec") - 対応する値を保持するvalueプロパティを持つこと

実装側は未知のプロパティを無視しなければならない。Schema.orgにおけるexifDataの定義では値が文字列形式でも許容されているが、本FEPでは相互運用性の観点から構造化された配列表現を標準化する。

プロパティ名

プロパティ名はExif仕様のField nameに対応する文字列でなければならない(例:"FNumber", "PhotographicSensitivity", "FocalLength")。

推奨フィールド

実装側はファイル内に存在し、かつユーザー同意が得られている場合、任意のExifタグをexifDataとして公開することができる。相互運用性の観点から、以下のタグ名と説明を推奨する。画像専用または音声専用のフィールドは第二列に明示する。

名称(PropertyValue.name) 適用対象 説明
DateTime 画像、音声 メディアが作成された日時。ExifのDateTimeタグは"YYYY:MM:DD HH:MM:SS"形式を使用する。時刻は撮影者の現地時間で表記される。
ExposureTime 画像 露出時間(例:"1/100"または"4")。
FNumber 画像 f値として表現された絞り値(例:"f/1.8")。
Flash 画像 フラッシュの使用状況説明(例:「フラッシュは発光しなかった」)。
FocalLength 画像 カメラが報告する焦点距離。
FocalLengthIn35mmFilm 画像 35 mmフィルム換算焦点距離。
GPSLatitude 画像 写真撮影地点の正確な緯度。
GPSLatitudeRef 画像 撮影地点の緯度が北緯か南緯かを指示する。'N'は北緯、'S'は南緯を示す。
GPSLongitude 画像 写真撮影地点の正確な経度(ユーザー同意が必要)。
GPSLongitudeRef 画像 撮影地点の経度が東経か西経かを指示する。'E'は東経、'W'は西経を示す。
LensMake 画像 レンズメーカー名。
LensModel 画像 レンズモデル名。
Make 画像、音声 デバイスの製造元。
Model 画像、音声 デバイスモデル。
PhotographicSensitivity 画像 ISO感度値。
Software 画像、音声 使用された編集ソフトウェアまたはファームウェア。
SamplesPerSec 音声 サンプリング周波数(例:"44100 Hz")。
AvgBytesPerSec 音声 サンプルあたりのビット深度(例:"16 bit")。
Channels 音声 チャンネル構成(例:"mono", "stereo")。
Compression 音声 圧縮方式(例:"PCM", "μ-Law", "ADPCM")。

実装側は追加のタグを含めることが可能であり、理解できないタグは無視しなければならない。プロパティ名は表示やフィルタリングを容易にするため、可能な限り統一することが望ましい。

使用例

画像の使用例

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        {
            "schema": "https://schema.org/"
        }
    ],
    "type": "Note",
    "content": "日の出写真。",
    "attachment": [{
        "type": "Image",
        "url": "https://example.org/photos/123.jpg",
        "mediaType": "image/jpeg",
        "exifData": [
            {
                "@type": "PropertyValue",
                "name": "DateTime",
                "value": "2025:03:30 06:30:00"
            },
            {
                "@type": "PropertyValue",
                "name": "ExposureTime",
                "value": "1/250"
            },
            {
                "@type": "PropertyValue",
                "name": "FNumber",
                "value": "f/5.6"
            },
            {
                "@type": "PropertyValue",
                "name": "FocalLength",
                "value": "70 mm"
            },
            {
                "@type": "PropertyValue",
                "name": "LensModel",
                "value": "Canon EF 70-200mm"
            },
            {
                "@type": "PropertyValue",
                "name": "Make",
                "value": "Canon"
            },
            {
                "@type": "PropertyValue",
                "name": "Model",
                "value": "EOS R5"
            },
            {
                "@type": "PropertyValue",
                "name": "PhotographicSensitivity",
                "value": "400"
            },
            {
                "@type": "PropertyValue",
                "name": "Software",
                "value": "Darktable"
            }
        ]
    }]
}

音声の使用例

{
    "@context": [
        "https://www.w3.org/ns/activitystreams",
        {
            "schema": "https://schema.org/"
        }
    ],
    "type": "Note",
    "content": "録音サンプル。",
    "attachment": [{
        "type": "Audio",
        "url": "https://example.org/audio/sample.wav",
        "mediaType": "audio/wav",
        "exifData": [
            {
                "@type": "PropertyValue",
                "name": "DateTime",
                "value": "2025:03:30 06:30:00"
            },
            {
                "@type": "PropertyValue",
                "name": "ExposureTime",
                "value": "1/250"
            },
            {
                "@type": "PropertyValue",
                "name": "FNumber",
                "value": "f/5.6"
            },
            {
                "@type": "PropertyValue",
                "name": "FocalLength",
                "value": "70 mm"
            },
            {
                "@type": "PropertyValue",
                "name": "LensModel",
                "value": "Canon EF 70-200mm"
            },
            {
                "@type": "PropertyValue",
                "name": "Make",
                "value": "Canon"
            },
            {
                "@type": "PropertyValue",
                "name": "Model",
                "value": "EOS R5"
            },
            {
                "@type": "PropertyValue",
                "name": "PhotographicSensitivity",
                "value": "400"
            },
            {
                "@type": "PropertyValue",
                "name": "Software",
                "value": "Audacity"
            }
        ]
    }]
}

参考文献

著作権

CC0 1.0 Universal(CC0 1.0)パブリックドメイン献呈

本Fediverse Enhancement Proposalの著者は、法律で認められる範囲内において、当該作品に関するすべての著作権および関連または隣接する権利を放棄している。