ISO/IEC 29341-20-13:2017
(Main)Information technology — UPnP Device Architecture — Part 20-13: Audio video device control protocol — Level 4 — Rendering control service
Information technology — UPnP Device Architecture — Part 20-13: Audio video device control protocol — Level 4 — Rendering control service
ISO/IEC 29341-20-13:2017 is compliant with the UPnP Device Architecture version 1.0 [14]. It defines a service type referred to herein as RenderingControl.
Technologies de l'information — Architecture de dispositif UPnP — Partie 20-13: Protocole de contrôle de dispositif audio-vidéo — Niveau 4 — Service de contrôle de rendu
General Information
Standards Content (Sample)
INTERNATIONAL
ISO/IEC
STANDARD
29341-20-13
First edition
2017-09
Information technology — UPnP
Device Architecture —
Part 20-13:
Audio video device control protocol —
Level 4 — Rendering control service
Technologies de l'information — Architecture de dispositif UPnP —
Partie 20-13: Protocole de contrôle de dispositif audio-vidéo —
Niveau 4 — Service de contrôle de rendu
Reference number
ISO/IEC 29341-20-13:2017(E)
©
ISO/IEC 2017
---------------------- Page: 1 ----------------------
ISO/IEC 29341-20-13:2017(E)
COPYRIGHT PROTECTED DOCUMENT
© ISO/IEC 2017, Published in Switzerland
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form
or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior
written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of
the requester.
ISO copyright office
Ch. de Blandonnet 8 • CP 401
CH-1214 Vernier, Geneva, Switzerland
Tel. +41 22 749 01 11
Fax +41 22 749 09 47
copyright@iso.org
www.iso.org
ii © ISO/IEC 2017 – All rights reserved
---------------------- Page: 2 ----------------------
ISO/IEC 29341-20-13:2017(E)
CONTENTS
1 Scope . 1
1.1 Introduction . 1
i-input Devices . 1
1.2 Mult
2 Normative references . 1
3 Terms, definitions, symbols and abbreviations . 4
3.1 Provisioning terms . 4
3.2 Symbols . 5
4 Notations and Conventions . 5
4.1 Notation . 5
4.1.1 Data Types . 5
4.1.2 Strings Embedded in Other Strings . 6
4.1.3 Extended Backus-Naur Form . 6
4.2 Derived Data Types . 7
4.2.1 Summary . 7
4.2.2 CSV Lists . 7
4.3 Management of XML Namespaces in Standardized DCPs . 8
4.3.1 Namespace Prefix Requirements . 12
4.3.2 Namespace Names, Namespace Versioning and Schema Versioning . 13
4.3.3 Namespace Usage Examples . 15
4.4 Vendor-defined Extensions . 15
4.4.1 Vendor-defined Action Names . 15
4.4.2 Vendor-defined State Variable Names . 15
4.4.3 Vendor-defined XML Elements and attributes . 16
4.4.4 Vendor-defined Property Names . 16
5 Service Modeling Defi niti ons . 16
5.1 Service Type . 16
5.2 State Variables . 17
5.2.1 State Variable Overview . 17
5.2.2 LastChange . 20
5.2.3 PresetNameList . 23
5.2.4 Brightness . 23
5.2.5 Contrast . 23
5.2.6 Sharpness . 23
5.2.7 RedVideoGain . 23
5.2.8 GreenVideoGain . 23
5.2.9 BlueVideoGain . 24
5.2.10 RedVideoBlackLevel . 24
5.2.11 GreenVideoBlackLevel . 24
5.2.12 BlueVideoBlackLevel . 24
5.2.13 ColorTemperature . 24
5.2.14 HorizontalKeystone . 24
5.2.15 VerticalKeystone . 25
5.2.16 Mute . 26
5.2.17 Volume . 26
5.2.18 VolumeDB . 26
5.2.19 Loudness . 27
ISO/IEC 2017 – All rights reserved iii
---------------------- Page: 3 ----------------------
ISO/IEC 29341-20-13:2017(E)
5.2.20 AllowedTransformSettings . 27
5.2.21 TransformSettings . 30
5.2.22 AllowedDefaultTransformSettings . 31
5.2.23 DefaultTransformSettings . 31
5.2.24 A_ARG_TYPE_Channel . 32
5.2.25 A_ARG_TYPE_InstanceID . 32
5.2.26 A_ARG_TYPE_PresetName . 32
5.2.27 A_ARG_TYPE_DeviceUDN . 32
5.2.28 A_ARG_TYPE_ServiceType . 32
5.2.29 A_ARG_TYPE_ServiceID . 33
5.2.30 A_ARG_TYPE_StateVariableValuePairs . 33
5.2.31 A_ARG_TYPE_StateVariableList . 33
5.2.32 Relationships between State Variables . 33
5.3 Eventing and Moderation . 34
5.3.1 Eventing and Moderation Overview . 34
5.3.2 Event Model . 36
5.4 Actions . 36
5.4.1 Action Overview . 36
5.4.2 ListPresets() . 39
5.4.3 SelectPreset() . 39
5.4.4 GetBrightness() . 40
5.4.5 SetBrightness() . 40
5.4.6 GetContrast() . 41
5.4.7 SetContrast() . 41
5.4.8 GetSharpness() . 42
5.4.9 SetSharpness() . 42
5.4.10 GetRedVideoGain() . 43
5.4.11 SetRedVideoGain() . 43
5.4.12 GetGreenVideoGain() . 44
5.4.13 SetGreenVideoGain() . 45
5.4.14 GetBlueVideoGain() . 45
5.4.15 SetBlueVideoGain(). 46
5.4.16 GetRedVideoBlackLevel() . 46
5.4.17 SetRedVideoBlackLevel() . 47
5.4.18 GetGreenVideoBlackLevel() . 47
5.4.19 SetGreenVideoBlackLevel() . 48
5.4.20 GetBlueVideoBlackLevel() . 48
5.4.21 SetBlueVideoBlackLevel() . 49
5.4.22 GetColorTemperature() . 50
5.4.23 SetColorTemperature() . 50
5.4.24 GetHorizontalKeystone() . 51
5.4.25 SetHorizontalKeystone() . 51
5.4.26 GetVerticalKeystone() . 52
5.4.27 SetVerticalKeystone(). 52
5.4.28 GetMute() . 53
5.4.29 SetMute() . 54
5.4.30 GetVolume() . 54
5.4.31 SetVolume() . 55
5.4.32 GetVolumeDB() . 55
iv ISO/IEC 2017 – All rights reserved
---------------------- Page: 4 ----------------------
ISO/IEC 29341-20-13:2017(E)
5.4.33 SetVolumeDB() . 56
5.4.34 GetVolumeDBRange() . 57
5.4.35 GetLoudness() . 57
5.4.36 SetLoudness() . 58
5.4.37 GetStateVariables() . 59
5.4.38 SetStateVariables() . 59
5.4.39 GetAllowedTransforms() . 60
5.4.40 GetTransforms() . 61
5.4.41 SetTransforms() . 62
5.4.42 GetAllowedDefaultTransforms() . 62
5.4.43 GetDefaultTransforms() . 63
5.4.44 SetDefaultTransforms() . 64
5.4.45 GetAllAvailableTransforms() . 65
5.4.46 Relationships Between Actions . 65
5.4.47 Common Error Codes . 66
6 XML Service Description . 66
7 Test . 83
Annex A (informative) Theory of Operation . 84
A.1 Multi-input Devices . 84
A.2 Pres et s . 85
A.3 Controlling the Display of Visual Content . 85
A.4 Controlling Audio Content . 86
A.5 Transforms . 88
A.5.1 Retrieving Transforms . 88
A.5.2 Get Allowed Transforms from an instance . 89
A.5.3 Setting Transforms . 91
A.5.4 Retrieving Current values of the Transforms . 91
A.5.5 Querying and setting default values for a Transform . 92
Annex B (normative) Pre-defined Transforms . 94
B.1 Summary . 94
B.2 Rotation . 96
B.3 RedEye . 96
B.4 Zoom . 97
B.4.1 Additional units for the Zoom Transform . 97
B.5 HorizontalPan . 98
B.5.1 Additional units for the HorizontalPan Transform . 98
B.6 VerticalPan . 99
B.6.1 Additional units for the VerticalPan Transform. 100
B.7 ImageDisplayTime . 101
B.8 ImageTransitionEffects . 102
B.9 Equalization . 102
B.10 BandEq_[XX]_[YY] . 103
B.10.1 Additional units for the BandEq_[XX]_[YY] Transform . 104
B.11 SpeakerConfiguration . 104
B.12 OutputSelection_[Name] . 105
B.13 AudioTrackSelection . 106
B.14 ClosedCaptioning . 107
B.15 Subtitle . 108
ISO/IEC 2017 – All rights reserved v
---------------------- Page: 5 ----------------------
ISO/IEC 29341-20-13:2017(E)
B.16 CameraAngle . 109
B.17 PiP . 109
B.18 ComponentInfoSelection . 110
B.19 3DSettings3DScreen . 111
B.20 3DSettings2DScreen . 113
B.21 Legacy compatible transforms . 113
B.21.1 Volume_[Channel] . 113
B.21.2 VolumeDB_[Channel] . 114
B.21.3 Mute_[Channel] . 114
B.21.4 Loudness_[Channel] . 115
B.21.5 Brightness . 116
B.21.6 Sharpness . 116
B.21.7 Contrast . 117
B.21.8 RedVideoGain . 117
B.21.9 GreenVideoGain . 117
B.21.10 BlueVideoGain. 118
B.21.11 RedVideoBlackLevel . 118
B.21.12 GreenVideoBlackLevel . 119
B.21.13 BlueVideoBlackLevel . 119
B.21.14 ColorTemperature . 120
B.21.15 HorizontalKeystone . 120
B.21.16 VerticalKeystone. 121
Annex C (informative) Bibliography . 122
vi ISO/IEC 2017 – All rights reserved
---------------------- Page: 6 ----------------------
ISO/IEC 29341-20-13:2017(E)
List of Tables
Table 1 — EBNF Operators . 7
Table 2 — CSV Examples . 8
Table 3 — Namespace Definitions . 9
Table 4 — Schema-related Information . 11
Table 5 — Default Namespaces for the AV Specifications . 13
Table 6 — State Variables . 17
Table 7 — allowedValueRange for Brightness . 18
Table 8 — allowedValueRange for Contrast . 18
Table 9 — allowedValueRange for Sharpness . 18
Table 10 — allowedValueRange for RedVideoGain . 18
Table 11 — allowedValueRange for GreenVideoGain . 18
Table 12 — allowedValueRange for BlueVideoGain . 18
Table 13 — allowedValueRange for RedVideoBlackLevel . 19
Table 14 — allowedValueRange for GreenVideoBlackLevel . 19
Table 15 — allowedValueRange for BlueVideoBlackLevel . 19
Table 16 — allowedValueRange for ColorTemperature . 19
Table 17 — allowedValueRange for HorizontalKeystone . 19
Table 18 — allowedValueRange for VerticalKeystone . 19
Table 19 — allowedValueRange for Volume . 19
Table 20 — allowedValueRange for VolumeDB . 19
Table 21 — allowedValueList for A_ARG_TYPE_Channel . 20
Table 22 — allowedValueList for A_ARG_TYPE_PresetName . 20
Table 23 — Allowed values for the unit attribute. . 29
Table 24 — Allowed values for the scale attribute. . 29
Table 25 — Predefined Names of Some Common Presets . 32
Table 26 — Event moderation . 35
Table 27 — Actions . 37
Table 28 — Arguments for ListPresets() . 39
Table 29 — Error Codes for ListPresets() . 39
Table 30 — Arguments for SelectPreset() . 39
Table 31 — Error Codes for SelectPreset() . 40
Table 32 — Arguments for GetBrightness() . 40
Table 33 — Error Codes for GetBrightness() . 40
Table 34 — Arguments for SetBrightness() . 40
Table 35 — Error Codes for SetBrightness() . 41
Table 36 — Arguments for GetContrast() . 41
Table 37 — Error Codes for GetContrast() . 41
Table 38 — Arguments for SetContrast() . 41
Table 39 — Error Codes for SetContrast() . 42
Table 40 — Arguments for GetSharpness() . 42
Table 41 — Error Codes for GetSharpness() . 42
ISO/IEC 2017 – All rights reserved vii
---------------------- Page: 7 ----------------------
ISO/IEC 29341-20-13:2017(E)
Table 42 — Arguments for SetSharpness() . 43
Table 43 — Error Codes for SetSharpness() . 43
Table 44 — Arguments for GetRedVideoGain() . 43
Table 45 — Error Codes for GetRedVideoGain() . 43
Table 46 — Arguments for SetRedVideoGain() . 44
Table 47 — Error Codes for SetRedVideoGain() . 44
Table 48 — Arguments for GetGreenVideoGain() . 44
Table 49 — Error Codes for GetGreenVideoGain() . 44
Table 50 — Arguments for SetGreenVideoGain() . 45
Table 51 — Error Codes for SetGreenVideoGain() . 45
Table 52 — Arguments for GetBlueVideoGain() . 45
Table 53 — Error Codes for GetBlueVideoGain() . 46
Table 54 — Arguments for SetBlueVideoGain() . 46
Table 55 — Error Codes for SetBlueVideoGain() . 46
Table 56 — Arguments for GetRedVideoBlackLevel() . 46
Table 57 — Error Codes for GetRedVideoBlackLevel() . 47
Table 58 — Arguments for SetRedVideoBlackLevel() . 47
Table 59 — Error Codes for SetRedVideoBlackLevel() . 47
Table 60 — Arguments for GetGreenVideoBlackLevel() . 48
Table 61 — Error Codes for GetGreenVideoBlackLevel() . 48
Table 62 — Arguments for SetGreenVideoBlackLevel() . 48
Table 63 — Error Codes for SetGreenVideoBlackLevel() . 48
Table 64 — Arguments for GetBlueVideoBlackLevel() . 49
Table 65 — Error Codes for GetBlueVideoBlackLevel() . 49
Table 66 — Arguments for SetBlueVideoBlackLevel() . 49
Table 67 — Error Codes for SetBlueVideoBlackLevel() . 50
Table 68 — Arguments for GetColorTemperature() . 50
Table 69 — Error Codes for GetColorTemperature() . 50
Table 70 — Arguments for SetColorTemperature() . 50
Table 71 — Error Codes for SetColorTemperature() . 51
Table 72 — Arguments for GetHorizontalKeystone() . 51
Table 73 — Error Codes for GetHorizontalKeystone() . 51
Table 74 — Arguments for SetHorizontalKeystone() . 52
Table 75 — Error Codes for SetHorizontalKeystone() . 52
Table 76 — Arguments for GetVerticalKeystone() . 52
Table 77 — Error Codes for GetVerticalKeystone() . 52
Table 78 — Arguments for SetVerticalKeystone() .
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.