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.

ARF reference architecture showing base avatar format and animation stream format within a wider avatar pipeline
Figure — ARF reference architecture
  • 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.
ARF right-handed coordinate system with Y axis up
Figure — ARF coordinate system

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.

Diagram of ARF document structure and relationships among skeleton, skin, mesh, blendshapes, landmarks, textures
Figure — ARF document structure

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 optional animations/ binaries. MIME: model/vnd.mpeg.arf+zip.
Illustration of Avatar Animation Units (AAUs) inside an animation sample
Figure — AAU structure inside a sample

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”).
Blend shape example showing a smile applied at different weights
Figure — Blendshape weight animation

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.
High-level diagram of avatar feature verification across extractor, matcher, and alert receiver
Figure — Avatar feature verification

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.