Avatar Representation Format (ARF)
ISO/IEC 23090-39 — A standard for interoperable storage, carriage, and animation of 3D avatars.
Overview
The Avatar Representation Format (ARF) defines two complementary parts of an avatar system: (1) a Base Avatar Format for representing avatar assets and (2) an Animation Stream Format for transmitting time-varying animation data. Together, they enable consistent reconstruction and animation of avatars across implementations.

- Interoperability: Normalize avatar assets and animation across devices and engines.
- Extensibility: Support for multiple assets, LODs, and proprietary animation via mappings.
- Portability: Carriage in ISOBMFF or Zip containers; JSON document drives discovery.
General Conventions
- Coordinate system: Right‑handed, Y+ up.
- Units: Meter is the default length unit.
- Referencing: Objects reference each other by
id
(no index-based references). - Schemes: Identifiers like
urn:mpeg:avatar:animation
declare semantics.

Base Avatar Data Model
ARF defines core types used to reconstruct and animate avatars: Skeletons drive pose; Skins bind geometry to joints; Meshes describe geometry; BlendshapeSets and LandmarkSets enrich facial animation; TextureSets add appearance. Mappings connect external animation frameworks to ARF components.

ARF Document (JSON)
The ARF document is a JSON entry point that describes the avatar’s structure and where to find the underlying data. It validates against a JSON Schema (Annex A).
Preamble
Signature and version, supported animation frameworks, and optional authentication features.
Metadata
Identification and descriptive information (e.g., name, id, age, gender, etc.).
Structure
Lists assets and their LODs, and optional protection configurations.
Components
Skeletons, Skins, Meshes, BlendshapeSets, LandmarkSets, TextureSets, Nodes, and Mappings.
Data
Binary payloads (meshes, textures, tensors, etc.) with type, URI, and optional compression/encryption.
Protection
Encryption and integrity options for sensitive components (see clause 6.7).
Key Components
- Skeleton: Hierarchy of joints and inverse bind matrices; linked to supported animation frameworks.
- Skin: Binds a mesh to a skeleton; includes weights, optional Blendshape/Texture/Landmark sets.
- Mesh: Geometry and topology references.
- BlendshapeSet: Facial shapes for expressions; indices compatible with mappings.
- LandmarkSet: Vertex references for precise alignment and tracking.
- TextureSet: Material textures; supports TextureTarget refinements.
- Node: Scene graph transform (TRS or 4Ă—4 matrix), with optional parent/children.
- Mapping & LinearAssociation: Map external animation parameters into ARF (weighted sums of sources).
Container Formats
- ISOBMFF-based: Branded files carry avatar assets and animation tracks. Avatar Animation Samples contain one or more Avatar Animation Units (AAUs).
- Zip-based (.arfz): Zip container per ISO/IEC 21320-1 with
arf.json
at root and optionalanimations/
binaries. MIME:model/vnd.mpeg.arf+zip
.

Animation Stream Format
- AAU types: CONFIG, BLENDSHAPE, JOINT, LANDMARK (with timestamp and timescale).
- Facial animation: Weighted blend shapes; samples reference a blendshape set and provide indices/weights.
- Body/Hand animation: Linear Blend Skinning (LBS) with per-vertex joint weights and joint transforms.
- Sync samples & groups: Samples can be independently decodable and grouped (e.g., “smile”, “dance”).

Security & Authentication
- Authentication features: Optional in Preamble to help verify avatar ownership.
- Protection: Data items and components may be encrypted; configuration lists applied schemes.
- Verification flow: Live features compared to secure avatar features; alerts on mismatch.

This page is a concise summary of the ARF standard. For full normative definitions, examples, and JSON schema, see the complete specification.
© ISO/IEC; content summarized from draft materials for ease of understanding in development contexts.