idnits 2.17.1 draft-ietf-mmusic-parallax-attribute-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == There are 2 instances of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (November 22, 2011) is 4536 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 4234 (Obsoleted by RFC 5234) ** Obsolete normative reference: RFC 4566 (Obsoleted by RFC 8866) -- Possible downref: Non-RFC (?) normative reference: ref. '3gpp-tt' Summary: 2 errors (**), 0 flaws (~~), 2 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 mmusic B. Greevenbosch 3 Internet-Draft Y. Hui 4 Intended status: Standards Track Huawei Technologies 5 Expires: May 25, 2012 November 22, 2011 7 SDP attribute to signal parallax 8 draft-ietf-mmusic-parallax-attribute-00 10 Abstract 12 This document introduces a "ParallaxInfo" attribute in SDP. This 13 attribute can be used in stereoscopic applications, to signal the 14 depth positioning of 2D media data within the 3D space. 16 Note 18 Discussion and suggestions for improvement are requested, and should 19 be sent to mmusic@ietf.org. 21 Status of this Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at http://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on May 25, 2012. 38 Copyright Notice 40 Copyright (c) 2011 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents 45 (http://trustee.ietf.org/license-info) in effect on the date of 46 publication of this document. Please review these documents 47 carefully, as they describe your rights and restrictions with respect 48 to this document. Code Components extracted from this document must 49 include Simplified BSD License text as described in Section 4.e of 50 the Trust Legal Provisions and are provided without warranty as 51 described in the Simplified BSD License. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 56 2. Requirements notation . . . . . . . . . . . . . . . . . . . . 5 57 3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 6 58 4. The ParallaxInfo attribute . . . . . . . . . . . . . . . . . . 7 59 5. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 60 6. Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 61 7. Security Considerations . . . . . . . . . . . . . . . . . . . 12 62 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 63 9. Normative References . . . . . . . . . . . . . . . . . . . . . 14 64 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 66 1. Introduction 68 To see a 3D scene, the human brain interprets two different views as 69 perceived by the left and right eyes, and fuses these views into a 70 single 3D perception. The depth of the object is perceived by 71 interpreting the horizontal shift of that object between the views. 72 This shift is called "parallax". 74 In stereoscopic 3D multimedia applications, there are various ways to 75 transmit media streams in 3D. One way is to transmit two different 76 streams, one for the left eye and one for the right eye. These 77 streams are then projected to the relevant eyes using the appropriate 78 technology. 80 When sending text streams in 3D, the solution mentioned above would 81 imply sending the same text stream twice. Since the two streams 82 would only differ in horizontal positioning, this introduces a lot of 83 unnecessary overhead. 85 This document specifies a "ParallaxInfo" attribute in SDP [RFC4566], 86 which is used to transfer the parallax information. It eliminates 87 the need to send two different streams separately, as they can be 88 calculated from a single stream and the "ParallaxInfo" attribute 89 value. 91 The attribute transfers this information as two parameters: one 92 indicating which view (left/right/centre) is carried by the stream, 93 and another to signal the parallax between the objects. 95 The attribute is not restricted for signalling the parallax of text 96 streams, but it can also be used to place other 2D objects in the 3D 97 space. Examples include a channel logo, an electronic programme 98 guide and on-screen display of an audio volume indicator. 100 2. Requirements notation 102 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 103 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 104 document are to be interpreted as described in [RFC2119]. 106 3. Definitions 108 L-view 109 A visual entity that is to be projected to the left eye. In the 110 case of video, the L-view is a video frame designated for the left 111 eye. In the case of text, the L-view is the text positioned for 112 viewing by the left eye. 114 L-stream 115 A sequence of L-views, which is streamed to the device. 117 R-view 118 A visual entity that is to be projected to the right eye. In the 119 case of video, the R-view is a video frame designated for the 120 right eye. In the case of text, the R-view is the text positioned 121 for viewing by the right eye. 123 R-stream 124 A sequence of R-views, which is streamed to the device. 126 C-view 127 The centre view: a visual entity as seen from a viewpoint between 128 the left and right eyes. The C-view can be used to calculate the 129 L- and R-views. 131 C-stream 132 A sequence of C-views, which is streamed to the device. 134 stereoscopic device 135 A device that is able to produce and display different images for 136 the left and right eyes, such that the viewer can experience a 3D 137 view. 139 2D device 140 A device that is not able to produce and display different images 141 for the left and right eyes. 143 2D media stream 144 A sequence of two dimensional visual entities (such as text or 2D 145 graphics), which is streamed to the device. 147 4. The ParallaxInfo attribute 149 The SDP attribute "ParallaxInfo" is used to transmit the depth 150 positioning of 2D media data, such as a text stream, in the 3D space. 152 The attribute has the following syntax: 154 a=ParallaxInfo: 156 The indicates whether the L-, C- or R-stream 157 is transmitted, whereas indicates the parallax (i.e. 158 shift) between corresponding L- and R-views in pixels, normalised to 159 a screen width of 11520 pixels. To convert the value of 160 to match the display video screen width W, it has to be divided by a 161 factor F=11520/W. 163 The can have the following values: 165 "L" indicates that the transmitted stream is the L-stream. A 166 stereoscopic device MUST calculate the corresponding R-views by 167 shifting the L-views /F pixels towards the right. 169 "C" indicates that the transmitted stream is the C-stream. A 170 stereoscopic device MUST calculate the corresponding L-views by 171 shifting the C-views /(2*F) pixels towards the left, and 172 the R-views by shifting the C-views /(2*F) pixels 173 towards the right. SHOULD be even. If it is odd, the 174 divided value MUST be rounded off towards zero. 176 "R" indicates that the transmitted stream is the R-stream. A 177 stereoscopic device MUST calculate the corresponding L-views by 178 shifting the R-views /F pixels towards the left. 180 MAY be negative. In this case, the shift direction is 181 reversed. 183 The "ParallaxInfo" attribute can be a session-level attribute or a 184 media-level attribute. As a session-level attribute, it specifies 185 the default parallax value which can be applied to all the 2D media 186 streams in the session being described. As a media-level attribute, 187 it specifies the parallax value which can be applied to the 188 associated 2D media stream, overriding any session-level parallax 189 value specified. 191 The stereoscopic device MAY use the session-level attribute value for 192 on-screen display, for example an audio volume indicaton, channel 193 indication or electronic programme guide. 195 Notice that a 2D device that does not support the "ParallaxInfo" 196 attribute will ignore it, and therefore display the 2D media data on 197 the position as transmitted. 199 5. Example 201 The following is an example of an SDP description of a session with 202 an audio stream, a video stream and a 3GPP timed text stream (see 203 [3gpp-tt]), streamed using RTP as per [RFC4396]. If the display 204 resolution is 1280x720, the parallax is scaled down with a factor 205 F=11952/1280=9. The transmitted text stream is the L-stream, and 206 with the example display resolution each R-view is 144/9=16 pixels on 207 the left of the L-view. This corresponds to the virtual positioning 208 of the text in front of the screen. 210 v=0 211 o=Alice 2890844526 2890842807 IN IP4 131.163.72.4 212 s=The technology of 3D-TV 213 c=IN IP4 131.164.74.2 214 t=0 0 215 a=ParallaxInfo:L -180 216 m=video 49170 RTP/AVP 99 217 a=rtpmap:99 H264/90000 218 m=video 52888 RTP/AVP 97 219 a=rtpmap:97 3gpp-tt/1000 220 a=ParallaxInfo:L -144 221 m=audio 52890 RTP/AVP 10 222 a=rtpmap:10 L16/16000/2 224 Notice that the default value "-180" is overridden by the value 225 "-144" for the text stream. However the "-180" value is still 226 signalled for on-screen display of e.g. volume control and other 2D 227 graphics. 229 In case each R-view is 24 pixels (216 pixels in the reference 230 resolution) on the right of the associated L-view, i.e. the virtual 231 positioning of the text is behind the screen, then the three lines 232 defined for 3gpp-tt can be replaced as follows: 234 m=video 52888 RTP/AVP 97 235 a=rtpmap:97 3gpp-tt/1000 236 a=ParallaxInfo:L 216 238 6. Remarks 240 A positive parallax value indicates virtual positioning of the 2D 241 media data behind the screen. This is the case when the objects in 242 the L-view are on the left of the same objects in the R-view. 243 Similarly, a negative parallax value indicates that the objects in 244 the R-view are on the left of the same objects in the L-view, and 245 corresponds to virtual positioning in front of the screen. 247 Since the "ParallaxInfo" attribute indicates a shift of the 248 transmitted stream, it might happen that the L- or R-view trespasses 249 the bounderies of the display. In this case, clipping is necessary, 250 as illustrated by Figure 1. 252 Similarly, there are areas which are covered by the L-view but not by 253 the R-view and vice versa. These areas need to be filled in a 254 sensible way. Since the "ParallaxInfo" attribute is designed for 255 objects that overlay other video data (e.g. subtitles), it is trivial 256 to fill in uncovered areas by using the underlying video data. 257 However, if there is no underlying video data, other mechanisms to 258 fill in the uncovered areas need to be defined. Definition of these 259 mechanisms are out of scope of this document. 261 +-----------------------+ +-----------------------+ 262 |SCREEN . | |SCREEN . | 263 | . | | . | 264 | +-------------------+ | +-------------------+| 265 | |TEXT . | | |TEXT . || 266 | +-------------------+ | +-------------------+| 267 | . | | . | 268 | . | | . | 269 +-----------------------+ +-----------------------+ 271 | 272 | CLIP 273 V 275 +-----------------------+ +-----------------------+ 276 |SCREEN . | |SCREEN . | 277 | . | | . | 278 | +------------------+ | +-------------------+| 279 | |TEXT . | | |TEXT . || 280 | +------------------+ | +-------------------+| 281 | . | | . | 282 | . | | . | 283 +-----------------------+ +-----------------------+ 285 Figure 1 287 The normalisation of the parallax towards a reference screen width of 288 11520 pixels was chosen to ensure correct display of the same stream 289 on different video display resolutions. This is especially useful 290 when the underlying video is coded with a scalable video codec, which 291 does not have a fixed video resolution. 293 7. Security Considerations 295 The authors foresee no security issues in addition to those already 296 listed in [RFC4566]. 298 8. IANA Considerations 300 Following the guidelines in [RFC4566], the SDP attribute has to be 301 registered at IANA: 303 o Contact name/email: authors of this RFC 305 o Attribute name: ParallaxInfo 307 o Long-form attribute name: Parallax info for the depth positioning 308 of 2D media data in the 3D space 310 o Type of attribute: session level and media level 312 o Subject to charset: no 314 This attribute is used to signal how 2D media data is to be displayed 315 in the 3D space. It indicates the shift of the respective left and 316 right views. 318 The attribute has the following ABNF (see [RFC4234]) description: 320 ParalaxInfo = "a=ParallaxInfo:" TransmittedPosition Parallax 321 TransmittedPosition = "C"/"L"/"R" 322 Parallax = num-val 324 The attribute transfers this information as two parameters: 325 "TransmittedPosition" indicates which view of the 2D media data (left 326 "L", right "R" or centre "C") is carried by the stream, and 327 "Parallax" signals the parallax (in pixels) of objects in the 2D 328 media stream. 330 9. Normative References 332 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 333 Requirement Levels", BCP 14, RFC 2119, March 1997. 335 [RFC4234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 336 Specifications: ABNF", RFC 4234, October 2005. 338 [RFC4396] Rey, J. and Y. Matsui, "RTP Payload Format for 3rd 339 Generation Partnership Project (3GPP) Timed Text", 340 RFC 4396, February 2006. 342 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 343 Description Protocol", RFC 4566, July 2006. 345 [3gpp-tt] 3GPP, "Transparent end-to-end packet switched streaming 346 service (PSS); Protocols and codecs (Release 5)", 347 TS 26.234 v5.3.0, December 2002. 349 Authors' Addresses 351 Bert Greevenbosch 352 Huawei Technologies Co., Ltd. 353 Huawei Industrial Base 354 Bantian, Longgang District 355 Shenzhen 518129 356 P.R. China 358 Phone: +86-755-28978088 359 Email: bert.greevenbosch@huawei.com 361 Hui Yu 362 Huawei Technologies Co., Ltd. 363 Huawei Nanjing R&D Center 364 101 Software Avenue 365 Yuhuatai District 366 Nanjing 210012 367 P.R. China 369 Phone: +86-25-56620323 370 Email: huiyu@huawei.com