{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://schemas.mpai.community/AIF/V2.0/AIW-AIM-metadata.schema.json",
  "$id": "https://schemas.mpai.community/PAF/V1.3/AIMs/VideoconferenceClientTransmitter.json",
  "title": "VideoconferenceClientTransmitter",
  "Identifier": {
    "ImplementerID": "/* String assigned by IIDRA */",
    "Specification": {
      "Standard": "MPAI-PAF",
      "AIW": "PAF-CTX",
      "AIM": "",
      "Version": "V1.3"
    }
  },
  "APIProfile": "Secure",
  "Description": "This AIW composes the Portable Avatar for the Avatar-Based Videoconference Client Transmitter.",
  "Types": [
    {
      "Name": "AudioObject_t",
      "Type": "uint8[]"
    },
    {
      "Name": "FaceObject_t",
      "Type": "uint8[]"
    },
    {
      "Name": "Model_t",
      "Type": "uint8[]"
    },
    {
      "Name": "PortableAvatar_t",
      "Type": "uint8[]"
    },
    {
      "Name": "Selector_t",
      "Type": "uint8[]"
    },
    {
      "Name": "SpeechObject_t",
      "Type": "uint8[]"
    },
    {
      "Name": "TextObject_t",
      "Type": "uint8[]"
    },
    {
      "Name": "VisualObject_t",
      "Type": "uint8[]"
    }
  ],
  "Ports": [
    {
      "Name": "LanguageSelector",
      "Direction": "InputOutput",
      "RecordType": "Selector_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "AvatarModel",
      "Direction": "InputOutput",
      "RecordType": "Model_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "InputText",
      "Direction": "InputOutput",
      "RecordType": "TextObject_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "InputAudio",
      "Direction": "InputOutput",
      "RecordType": "AudioObject_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "InputVisual",
      "Direction": "InputOutput",
      "RecordType": "VisualObject_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "SpeechObject",
      "Direction": "OutputInput",
      "RecordType": "SpeechObject_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "InputPortableAvatar",
      "Direction": "OutputInput",
      "RecordType": "PortableAvatar_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    },
    {
      "Name": "FaceObject",
      "Direction": "OutputInput",
      "RecordType": "VisualObject_t",
      "Technology": "Software",
      "Protocol": "",
      "IsRemote": false
    }
  ],
  "SubAIMs": [
    {
      "Name": "AudioVisualSceneDescription",
      "Identifier": {
        "ImplementerID": "/* String assigned by IIDRA */",
        "Specification": {
          "Standard": "MPAI-OSD",
          "AIW": "",
          "AIM": "AudioVisualSceneDescription",
          "Version": "V1.2"
        }
      }
    },
    {
      "Name": "AutomaticSpeechRecognition",
      "Identifier": {
        "ImplementerID": "/* String assigned by IIDRA */",
        "Specification": {
          "Standard": "MPAI-MMC",
          "AIW": "",
          "AIM": "AutomaticSpeechRecognition",
          "Version": "V2.3"
        }
      }
    },
    {
      "Name": "PersonalStatusExtraction",
      "Identifier": {
        "ImplementerID": "/* String assigned by IIDRA */",
        "Specification": {
          "Standard": "MPAI-MMC",
          "AIW": "",
          "AIM": "PersonalStatusExtraction",
          "Version": "V2.3"
        }
      }
    },
    {
      "Name": "PortableAvatarMultiplexing",
      "Identifier": {
        "ImplementerID": "/* String assigned by IIDRA */",
        "Specification": {
          "Standard": "MPAI-PAF",
          "AIW": "",
          "AIM": "PortableAvatarMultiplexing",
          "Version": "V1.3"
        }
      }
    }
  ],
  "Topology": [
    {
      "Output": {
        "AIMName": "",
        "PortName": "InputAudio"
      },
      "Input": {
        "AIMName": "AudioVisualSceneDescription",
        "PortName": "InputAudio"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "InputText"
      },
      "Input": {
        "AIMName": "AudioVisualSceneDescription",
        "PortName": "InputText"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "InputVisual"
      },
      "Input": {
        "AIMName": "AudioVisualSceneDescription",
        "PortName": "InputVisual"
      }
    },
    {
      "Output": {
        "AIMName": "AudioVisualSceneDescription",
        "PortName": "InputSpeech1"
      },
      "Input": {
        "AIMName": "AutomaticSpeechRecognition",
        "PortName": "InputSpeech1"
      }
    },
    {
      "Output": {
        "AIMName": "AutomaticSpeechRecognition",
        "PortName": "RecognisedText1"
      },
      "Input": {
        "AIMName": "PersonalStatusExtraction",
        "PortName": "RecognisedText1"
      }
    },
    {
      "Output": {
        "AIMName": "AudioVisualSceneDescription",
        "PortName": "InputSpeech2"
      },
      "Input": {
        "AIMName": "PersonalStatusExtraction",
        "PortName": "InputSpeech2"
      }
    },
    {
      "Output": {
        "AIMName": "AudioVisualSceneDescription",
        "PortName": "FaceDescriptors1"
      },
      "Input": {
        "AIMName": "PersonalStatusExtraction",
        "PortName": "FaceDescriptors1"
      }
    },
    {
      "Output": {
        "AIMName": "AudioVisualSceneDescription",
        "PortName": "BodyDescriptors1"
      },
      "Input": {
        "AIMName": "PersonalStatusExtraction",
        "PortName": "BodyDescriptors1"
      }
    },
    {
      "Output": {
        "AIMName": "AutomaticScpeechRecognition",
        "PortName": "RecognisedText2"
      },
      "Input": {
        "AIMName": "PortableAvatarMultiplexing",
        "PortName": "RecognisedText2"
      }
    },
    {
      "Output": {
        "AIMName": "PersonalStatusExtraction",
        "PortName": "PersonalStatus"
      },
      "Input": {
        "AIMName": "PortableAvatarMultiplexing",
        "PortName": "PersonalStatus"
      }
    },
    {
      "Output": {
        "AIMName": "AudioVisualSceneDescription",
        "PortName": "InputSpeech3"
      },
      "Input": {
        "AIMName": "PortableAvatarMultiplexing",
        "PortName": "InputSpeech3"
      }
    },
    {
      "Output": {
        "AIMName": "AudioVisualSceneDescription",
        "PortName": "FaceDescriptors2"
      },
      "Input": {
        "AIMName": "PortableAvatarMultiplexing",
        "PortName": "FaceDescriptors2"
      }
    },
    {
      "Output": {
        "AIMName": "AudioVisualSceneDescription",
        "PortName": "BodyDescriptors2"
      },
      "Input": {
        "AIMName": "PortableAvatarMultiplexing",
        "PortName": "BodyDescriptors2"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "InputText"
      },
      "Input": {
        "AIMName": "PortableAvatarMultiplexing",
        "PortName": "InputText"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "InputSelector"
      },
      "Input": {
        "AIMName": "PortableAvatarMultiplexing",
        "PortName": "InputSelector"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "AvatarModel"
      },
      "Input": {
        "AIMName": "PortableAvatarMultiplexing",
        "PortName": "AvatarModel"
      }
    },
    {
      "Output": {
        "AIMName": "",
        "PortName": "ParticipantID"
      },
      "Input": {
        "AIMName": "PortableAvatarMultiplexing",
        "PortName": "ParticipantID"
      }
    },
    {
      "Output": {
        "AIMName": "AudioVisualSceneDescription",
        "PortName": "FaceObject"
      },
      "Input": {
        "AIMName": "",
        "PortName": "FaceObject"
      }
    },
    {
      "Output": {
        "AIMName": "AudioVisualSceneDescription",
        "PortName": "SpeechObject"
      },
      "Input": {
        "AIMName": "",
        "PortName": "SpeechObject"
      }
    },
    {
      "Output": {
        "AIMName": "PortableAvatarMultiplexing",
        "PortName": "ParticipantPortableAvatar"
      },
      "Input": {
        "AIMName": "",
        "PortName": "ParticipantPortableAvatar"
      }
    }
  ],
  "Implementations": [],
  "ResourcePolicies": [],
  "Documentation": [
    {
      "Type": "Tutorial",
      "URI": "https://mpai.community/standards/MPAI-PAF/"
    }
  ]
}