Chapter 4. Phase 1 β€” Emotion Data Format

Hongik Ingan (εΌ˜η›ŠδΊΊι–“)

"Benefit All Humanity"

A standardised data format is the bedrock of interoperability. The WIA Emotion AI Data Format ensures that any conformant system can share and process emotion data with any other. This chapter treats Phase 1 β€” the most foundational of the four phases β€” in depth and provides field specifications, JSON-Schema validation rules, worked examples for all four modalities, and pseudonymisation guidance that aligns with the principal data-protection regimes (GDPR, CCPA / CPRA, BIPA, PIPA, and PIPL).

4.1 Overview

4.1.1 Purpose

Phase 1 defines the JSON-based data format used to represent the output of an emotion-analysis system. The format makes the following possible.

  • Cross-vendor interoperability.
  • Consistent storage and retrieval.
  • Easy integration with existing systems.
  • Clear semantic definition of every field in the emotion-data record.
  • Native composition with JSON-Schema automatic-validation tooling.
  • Compatibility across multinational data flows that span Korean, EU, and United States jurisdictions.

JSON is adopted as the primary format because it is human-readable, supported by the standard library of nearly every programming language, paired with rich automatic-validation tooling (JSON Schema, OpenAPI), and natively compatible with web and mobile environments. Conversion guides for XML (W3C EmotionML), Protocol Buffers, and MessagePack are provided in the annexes for environments that require an alternative wire format.[1]

4.1.2 Design Goals

Table 4-1. Five design goals for the Phase 1 data format
GoalImplementation
SimplicityJSON format; clear field names
CompletenessAll emotion models and modalities supported
ExtensibilityPrefix rule for user-defined fields (x_ prefix)
ValidatabilityAuthoritative JSON Schema for automatic checking
PrecisionHigh-resolution timestamps and numeric values

The design goals must balance one another: a format that emphasises simplicity at the expense of completeness invites a proliferation of vendor-specific extensions; a format that pursues completeness at the expense of simplicity has a steep learning curve and slow adoption. WIA Phase 1 converts each goal into a measurable indicator (number of mandatory fields, schema-validation pass rate, extension-prefix conformance, character-set fidelity, and timestamp resolution) so that the balance can be evaluated rather than asserted.

4.2 Basic Message Structure

4.2.1 Complete Schema (Facial Modality)

Figure 4-1. WIA Phase 1 complete-message example β€” facial modality
{
    "$schema": "https://wiastandards.com/emotion-ai/v1/schema.json",
    "format": "WIA-EMOTION-AI-v1.0",
    "timestamp": "2026-05-01T10:30:00.000Z",
    "subject_id": "user_12345",
    "session_id": "sess_abc123",
    "modality": "facial",

    "emotions": {
        "primary": {
            "label": "happiness",
            "confidence": 0.87
        },
        "secondary": {
            "label": "surprise",
            "confidence": 0.23
        },
        "all": [
            { "label": "happiness", "confidence": 0.87 },
            { "label": "surprise",  "confidence": 0.23 },
            { "label": "neutral",   "confidence": 0.15 },
            { "label": "sadness",   "confidence": 0.05 },
            { "label": "anger",     "confidence": 0.03 },
            { "label": "fear",      "confidence": 0.02 },
            { "label": "disgust",   "confidence": 0.01 }
        ]
    },

    "dimensions": {
        "valence":   0.72,
        "arousal":   0.45,
        "dominance": 0.55
    },

    "action_units": [
        { "au": "AU6",  "intensity": 0.8, "name": "Cheek Raiser" },
        { "au": "AU12", "intensity": 0.9, "name": "Lip Corner Puller" },
        { "au": "AU1",  "intensity": 0.3, "name": "Inner Brow Raiser" }
    ],

    "face": {
        "detected": true,
        "bbox": { "x": 120, "y": 80, "width": 200, "height": 250 },
        "landmarks": 68,
        "pose": { "pitch": 5.2, "yaw": -3.1, "roll": 1.2 }
    },

    "metadata": {
        "model_version":      "2.1.0",
        "model_name":         "WIA-EmotionNet",
        "processing_time_ms": 45,
        "device_id":          "cam_001",
        "culture_context":    "en-US"
    }
}

The example shows the most common output of the facial modality. Five top-level objects (emotions, dimensions, action_units, face, and metadata) compose the core payload; downstream systems may consume only the parts they need. Average message size is one to two kilobytes uncompressed, falling to roughly 0.4 to 0.8 kilobytes after gzip. At 30 fps streaming, the bandwidth cost of the analysis-output messages is negligible compared with the camera video itself.

4.3 Field Specifications

4.3.1 Root Fields

Table 4-2. WIA Phase 1 root fields β€” required and optional
FieldTypeRequired?Description
formatstringrequiredFormat identifier: "WIA-EMOTION-AI-v1.0"
timestampstring (ISO 8601)requiredAnalysis timestamp, RFC 3339 profile
subject_idstringoptionalSubject identifier β€” pseudonymisation strongly recommended
session_idstringoptionalSession identifier
modalitystringrequiredInput type: facial, voice, text, biosignal, multimodal

subject_id must, in any environment subject to GDPR Article 9, PIPA Article 23, BIPA, or CPRA "sensitive personal information" rules, be generated through a pseudonymisation procedure that substantively prevents re-identification. The recommended forms are: a UUID v4 (RFC 9562); an HMAC-derived hash with key separation (RFC 2104); or the output of the regulator's published pseudonymisation procedure. Plaintext personal identifiers β€” legal names, national identification numbers, email addresses β€” must not appear in this field.[2]

4.3.2 The emotions Object

Table 4-3. emotions object field specification
FieldTypeRequired?Description
emotions.primaryobjectrequiredHighest-confidence emotion
emotions.primary.labelstringrequiredEmotion label (happiness, sadness, …)
emotions.primary.confidencenumber (0–1)requiredConfidence score
emotions.secondaryobjectoptionalSecond-highest-confidence emotion
emotions.allarrayoptionalFull distribution over emotion labels

4.3.3 Valid Emotion Labels

Figure 4-2. Valid emotion labels β€” basic, extended, and Annex extensions
Basic emotions (mandatory support):
  "happiness"  - joy, pleasure, satisfaction
  "sadness"    - grief, sorrow, depression
  "anger"      - displeasure, frustration, fury
  "fear"       - anxiety, dread
  "disgust"    - revulsion, rejection
  "surprise"   - astonishment, wonder
  "neutral"    - no strong emotion detected

Extended emotions (optional):
  "contempt"   - disdain, dismissal
  "confusion"  - perplexity, bewilderment
  "interest"   - curiosity, engagement
  "boredom"    - disinterest, ennui
  "excitement" - high-arousal positive
  "anxiety"    - worry, uneasiness

Locale-specific extension labels (regional Annexes):
  Each regional annex may register additional labels that capture
  culturally specific affect categories (for example, sustained
  longing or culturally specific forms of grief). Such labels are
  declared with an English key, a display name, a typical V-A
  range, and a citation, so that systems unfamiliar with the
  category can still interpret the data conservatively.

4.3.4 The dimensions Object

Table 4-4. dimensions object field specification
FieldTypeRangeDescription
dimensions.valencenumberβˆ’1.0 to +1.0Pleasantness
dimensions.arousalnumberβˆ’1.0 to +1.0Activation level
dimensions.dominancenumberβˆ’1.0 to +1.0Optional third dimension (PAD model)

The two-dimensional Valence-Arousal pair follows Russell's circumplex (Russell, 1980).[3] The optional dominance dimension follows Mehrabian's PAD model (Mehrabian, 1996); systems that do not estimate dominance simply omit the field, which is preferable to emitting a placeholder value.[4]

4.3.5 The action_units Array

Each entry in action_units identifies a FACS Action Unit, its intensity (a value in the range 0.0 to 1.0, mapped to the FACS five-grade scale per Table 3-5), and an optional human-readable name. AU output exposes the analytic evidence behind a discrete-label decision, supporting the EU AI Act's transparency and human-oversight obligations and the relevant medical-grade explainable-AI guidance.

4.4 Per-Modality Format

4.4.1 Voice Modality

Figure 4-3. WIA Phase 1 example β€” voice modality
{
    "format": "WIA-EMOTION-AI-v1.0",
    "timestamp": "2026-05-01T10:30:00.000Z",
    "subject_id": "anon_8a72c1",
    "modality": "voice",

    "emotions": {
        "primary":   { "label": "anger", "confidence": 0.79 }
    },
    "dimensions": { "valence": -0.61, "arousal": 0.74 },

    "voice_features": {
        "pitch_mean_hz":     232.4,
        "pitch_std_hz":       42.7,
        "intensity_db":       72.5,
        "speech_rate_wpm":   178,
        "voice_quality":     "tense"
    },

    "metadata": { "model_version": "2.1.0", "sample_rate_hz": 16000 }
}

4.4.2 Text Modality

Figure 4-4. WIA Phase 1 example β€” text modality
{
    "format": "WIA-EMOTION-AI-v1.0",
    "timestamp": "2026-05-01T10:30:00.000Z",
    "modality": "text",

    "input_text": "I cannot believe how amazing this is!",
    "emotions": {
        "primary": { "label": "happiness", "confidence": 0.93 }
    },
    "dimensions": { "valence": 0.91, "arousal": 0.74 },
    "sentiment":  { "polarity": "positive", "score": 0.95 },

    "text_features": {
        "language":         "en",
        "tokens":           9,
        "sarcasm_detected": false
    }
}

4.4.3 Biosignal Modality

Figure 4-5. WIA Phase 1 example β€” biosignal modality
{
    "format": "WIA-EMOTION-AI-v1.0",
    "timestamp": "2026-05-01T10:30:00.000Z",
    "modality": "biosignal",

    "biosignals": {
        "heart_rate_bpm":      78,
        "hrv_rmssd_ms":        42.3,
        "eda_microsiemens":     7.2,
        "respiration_rate_brpm": 14
    },
    "dimensions":    { "valence": -0.18, "arousal": 0.62 },
    "stress_index":  0.71,
    "engagement":    0.55
}

4.4.4 Multimodal Output

Figure 4-6. WIA Phase 1 example β€” multimodal output (face + voice + text)
{
    "format": "WIA-EMOTION-AI-v1.0",
    "timestamp": "2026-05-01T10:30:00.000Z",
    "modality": "multimodal",

    "fusion": {
        "strategy": "late",
        "weights":  { "face": 0.40, "voice": 0.25, "text": 0.20, "biosignal": 0.15 }
    },
    "emotions": {
        "primary": { "label": "anger", "confidence": 0.83 }
    },
    "per_modality": {
        "face":      { "label": "anger", "confidence": 0.78 },
        "voice":     { "label": "anger", "confidence": 0.91 },
        "text":      { "label": "frustration", "confidence": 0.62 },
        "biosignal": { "arousal": 0.74 }
    }
}

4.5 JSON Schema and Validation

Phase 1 ships an authoritative JSON Schema (Draft 2020-12) at https://wiastandards.com/emotion-ai/v1/schema.json.[5] The schema is referenced from the $schema field of every conformant message and may be processed by any Draft 2020-12 validator (Ajv, jsonschema, gojsonschema, and others). A worked example of validation in three popular runtimes is given below.

Figure 4-7. Validation snippets β€” Python, Node.js, Go
# Python β€” jsonschema
from jsonschema import validate, ValidationError
import json, urllib.request
with urllib.request.urlopen(
        "https://wiastandards.com/emotion-ai/v1/schema.json") as r:
    schema = json.load(r)
validate(instance=message, schema=schema)

// Node.js β€” Ajv
import Ajv2020 from "ajv/dist/2020.js";
const ajv = new Ajv2020({allErrors: true, strict: false});
const validate = ajv.compile(schema);
if (!validate(message)) console.error(validate.errors);

// Go β€” santhosh-tekuri/jsonschema
sch, _ := jsonschema.Compile(
  "https://wiastandards.com/emotion-ai/v1/schema.json")
if err := sch.Validate(message); err != nil { /* report */ }

Validation passes are a strict precondition for conformance. A failed validation result is itself emitted as a structured error object containing the field path, the rule that was violated, and a human-readable message β€” supporting both automated continuous-integration checks and end-user diagnostics.

4.6 Pseudonymisation Patterns

Table 4-5. Pseudonymisation patterns for subject_id and how each maps to data-protection regimes
PatternFormRe-identification riskMaps to
UUID v4Random 128-bit identifierLow (no link to source)GDPR Recital 26; PIPA Enforcement Decree
HMAC-SHA-256 hashKeyed hash with rotated secretLow if key separation is enforcedNIST SP 800-188 (de-identification)
TokenisationToken issued by a separate authorityVery lowISO/IEC 27018; PIPA Enforcement Decree Β§25-2
Plaintext PII (forbidden)Legal name, ID number, emailHigh β€” non-conformantConformance violation

The pseudonymisation pattern is selected at deployment time and recorded in the metadata.pseudonymisation_method field so that auditors can trace which procedure was used for each record. ISO/IEC 27018 (PII protection in public clouds) and NIST SP 800-188 (de-identification of personal information) provide the procedural reference.[6]

4.7 Versioning and Backwards Compatibility

The format identifier in the format field follows Semantic Versioning 2.0 (SemVer 2.0).[7] Major-version increments may break compatibility and are accompanied by a published conversion guide; minor-version increments preserve backwards compatibility; patch-version increments are reserved for documentation clarification. Implementers should reject messages whose major version is greater than the version they support, in line with the standard rule for evolving JSON formats.

4.8 Note on Korean Edition Content

The Korean edition of this volume contains additional content addressing the Korean operating environment in detail: the Korean Personal Information Protection Act (PIPA) Enforcement Decree Β§25-2 pseudonymisation procedure, a worked example of mapping between WIA Phase 1 emotion labels and Korean-language affect lexicon (with attention to culturally specific affect categories such as sustained-relational attachment, embarrassment, longing, and culturally specific forms of grief), the Korean Standard Classification of Diseases (KCD) cross-walk for medical-grade biosignal labelling, and a worked alignment with the Korean cyber-security agency PIMS / ISMS-P certification format requirements.

This English edition deliberately abstracts those passages. Where the Korean edition cites specific named Korean statutes, agency tools, or enterprise scenarios, the English edition refers in general terms to "the relevant national data-protection authority", "the relevant national cyber-security agency self-assessment toolkit", "the locally applicable disease classification", and "leading domestic universities, government agencies, telecom operators, and platform companies". The conformance requirements themselves are identical between the two editions.

4.9 Chapter Summary

Seven key takeaways.

  1. Format. Phase 1 is a JSON-based data format with five core top-level objects.
  2. Schema. An authoritative JSON Schema (Draft 2020-12) supports automatic validation.
  3. Modalities. Per-modality message variants exist for face, voice, text, biosignal, and multimodal output.
  4. Labels. Seven mandatory English-keyed labels; extended labels are layered through annex extensions.
  5. Dimensions. Valence-Arousal is required; Dominance is an optional third dimension.
  6. Action Units. AU output is the primary transparency channel for face-modality decisions.
  7. Pseudonymisation. Plaintext personal identifiers are forbidden; UUID, HMAC, or tokenisation are recommended.

4.10 Review Questions

  1. List the five top-level objects of a WIA Phase 1 message and describe the purpose of each.
  2. Why is JSON the primary serialisation format, and what alternative formats are recognised?
  3. Describe the role of the $schema field and the validators that consume it.
  4. Compare the four pseudonymisation patterns of Table 4-5 and identify which is most appropriate for a healthcare deployment.
  5. Write a Phase 1 message for a hypothetical text-modality output that detects sarcasm.
  6. Explain how AU output supports the EU AI Act transparency requirement.
  7. Describe the SemVer 2.0 rule for major-version increments and its implication for implementers.

4.11 Looking Ahead

Chapter 5 turns to Phase 2 β€” the API Interface β€” which defines the REST endpoints and method signatures that transport Phase 1 messages between systems. Where Phase 1 specifies the shape of the data, Phase 2 specifies how systems exchange that data. The interaction between the two phases β€” and the sequence in which adopters typically implement them β€” is treated next. The standard's evolution roadmap is recorded in the public GitHub repository.[99]

Chapter 4 Endnotes

  1. W3C. (2014). Emotion Markup Language (EmotionML) 1.0. https://www.w3.org/TR/emotionml/. ↑
  2. IETF RFC 9562. (2024). Universally Unique IDentifiers (UUIDs). DOI 10.17487/RFC9562. See also IETF RFC 2104 (HMAC: Keyed-Hashing for Message Authentication). ↑
  3. Russell, J. A. (1980). A circumplex model of affect. Journal of Personality and Social Psychology 39(6), 1161–1178. DOI 10.1037/h0077714. ↑
  4. Mehrabian, A. (1996). Pleasure-Arousal-Dominance: A general framework for describing and measuring individual differences in temperament. Current Psychology 14(4), 261–292. DOI 10.1007/BF02686918. ↑
  5. JSON Schema. (2022). JSON Schema 2020-12 Specification. https://json-schema.org/specification.html. ↑
  6. ISO/IEC 27018:2019. Information technology β€” Code of practice for protection of personally identifiable information (PII) in public clouds acting as PII processors. NIST SP 800-188 (2023). De-Identifying Government Datasets: Techniques and Governance. DOI 10.6028/NIST.SP.800-188. ↑
  7. SemVer 2.0.0. Semantic Versioning Specification. https://semver.org/. ↑
  8. IETF RFC 3339. (2002). Date and Time on the Internet: Timestamps. DOI 10.17487/RFC3339.
  9. Ekman, P., & Friesen, W. V. (1978). Facial Action Coding System. Consulting Psychologists Press, ISBN 0-931835-01-1.
  10. European Parliament & Council. (2016). Regulation (EU) 2016/679 (GDPR). https://eur-lex.europa.eu/eli/reg/2016/679/oj.
  11. European Union. (2024). Regulation (EU) 2024/1689 β€” AI Act. https://eur-lex.europa.eu/eli/reg/2024/1689/oj.
  12. State of California. (2018). California Consumer Privacy Act (CCPA), Cal. Civ. Code Β§1798.100 et seq.
  13. State of Illinois. (2008). Biometric Information Privacy Act (BIPA), 740 ILCS 14/.
  14. ISO/IEC 22989:2022. Information technology β€” Artificial intelligence β€” Concepts and terminology.
  15. JSON Schema. (2022). JSON Schema Validation 2020-12. Draft for the Validation vocabulary.
  16. WIA Standards public repository (emotion-ai folder), MIT-licensed source for the simulator, specification, API reference, and ebook assets cited throughout this volume: WIA-Official/wia-standards-public/tree/main/emotion-ai. The standard's evolution roadmap, revision history, and SDK source code are maintained openly in this repository, where the WIA standards committee records its formal verification of all primary sources cited in this chapter. ↑