IP Library Granted Patent US 9,215,262
Granted Patent B2
US 9,215,262 · App. 14/125,599 · Granted Dec 15, 2015

Streaming with coordination of video orientation (CVO)

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,215,262
App. No.
14/125,599
Granted
Dec 15, 2015
Kind
B2
Abstract

Technology to provide streaming with coordination of video orientation (CVO) is disclosed. In an example, a server can include computer circuitry configured to: receive a device capability for a client; and modify streamed content to the client based on an inclusion of a CVO attribute in the device capability.

Claims (96)

1. A server operable to provide streaming with coordination of video orientation (CVO), having computer circuitry configured to:

receive a device capability exchange message with a CVO attribute for a client; and

modify content at the server to be streamed to the client based on the CVO attribute received in the device capability,

wherein a session description protocol (SDP) file for a real-time transport protocol (RTP) stream is delivered to the client with a CVO indication via an attribute with a CVO uniform resource name (URN) that represents a 2-bit granularity for a CVO or a 6-bit granularity for a Higher Granularity CVO on CVO information contained in an RTP extension header.

2. The computer circuitry of claim 1 , wherein the computer circuitry configured to modify the streamed content is further configured to:

correct a rendering orientation of a real-time transport protocol (RTP) stream or streamed dynamic adaptive streaming over hypertext transfer protocol (HTTP) (DASH) content for misalignment prior to delivery to the client when the device capability for the client does not include the CVO attribute indicating that the client is not an orientation-aware terminal.

3. The computer circuitry of claim 1 , wherein the computer circuitry configured to modify the streamed content is further configured to:

deliver a media presentation description (MPD) metadata file for a streamed dynamic adaptive streaming over hypertext transfer protocol (HTTP) (DASH) content from the server to the client with the CVO indication attribute provided in a codec's common attribute or element for an AdaptationSet, Representation, or SubRepresentation, wherein the codec's common attribute is set to ‘3gvo’ indicating a presence of an oriented video component and associated CVO information in the streamed DASH content; and

deliver the SDP file for the RTP stream to the client with the CVO indication attribute via an a=extmap attribute with a CVO uniform resource name (URN) “urn:3gpp:video-orientation” representing the 2-bit granularity for the CVO or a CVO URN “urn:3gpp:video-orientation:6” representing the 6-bit granularity for the Higher Granularity CVO on the CVO information contained in the RTP extension header.

4. The computer circuitry of claim 1 , wherein the computer circuitry is configured to:

store CVO data in a third generation partnership project (3GPP) file format (3GP) file using a CVOSampleEntry for a CVO timed metadata track in a sample description box of International Organization for Standardization (ISO) file format box structure, wherein CVOSampleEntry fields include a BoxHeader size or type, a Data-reference-index, or a Granularity, and wherein the BoxHeader type is configured for a ‘3gvo’ value; or

store CVO data for a real-time transport protocol (RTP) stream in an RTP extension header.

5. The computer circuitry of claim 1 , wherein the computer circuitry configured to receive the device capability is further configured to:

exchange a packet switched streaming service (PSS) capability, wherein the CVO attribute includes:

a StreamingCVOCapable attribute to indicate whether the client is a CVO capable receiver of real-time transport protocol (RTP) streams,

a StreamingHighGranularityCVOCapable attribute to indicate whether the client is a Higher Granularity CVO capable receiver of the RTP streams,

a ThreeGPCVOCapable attribute to indicate whether the client is a CVO capable receiver of third generation partnership project (3GPP) file format (3GP) files, or

a ThreeGPHighGranularityCVOCapable attribute to indicate whether the client is a Higher Granularity CVO capable receiver of the 3GP files.

6. The computer circuitry of claim 1 , wherein the computer circuitry configured to modify the streamed content is further configured to:

perform orientation-aware content adaptation, orientation-aware content selection, orientation-aware transcoding, or orientation-aware format conversion to correct a video orientation misalignment and ensure a content playback at the client with a correct video orientation.

7. The computer circuitry of claim 1 , wherein the server includes a third generation partnership project (3GPP) long term evolution (LTE) packet switched streaming service (PSS) server, a dynamic adaptive streaming over hypertext transfer protocol (HTTP) (DASH) server, or an integrated multimedia subsystem (IMS) based PSS and multimedia broadcast and multicast service (MBMS) (IMS_PSS_MBMS) server.

8. A mobile terminal (MT) for providing coordination of video orientation (CVO) capability, comprising:

a processor for determining an MT's CVO capability; and

a transceiver to:

transmit a device capability exchange message that includes the MT's CVO capability in a streaming component attribute to a server; and

receive, from the server, a session description protocol (SDP) file for a real-time transport protocol (RTP) stream with a CVO indication attribute via an attribute with a CVO uniform resource name (URN) that represents a 2-bit granularity for a CVO or a 6-bit granularity for a Higher Granularity CVO on the CVO information contained in an RTP extension header.

9. The mobile terminal of claim 8 , wherein:

the transceiver is further configured to:

receive a real-time transport protocol (RTP) extension header for an RTP stream or a third generation partnership project (3GPP) file format (3GP) file for a hypertext transfer protocol (HTTP) stream or dynamic adaptive streaming over HTTP (DASH); and

the processor is further configured to:

parse a media presentation description (MPD) metadata file for the 3GP file for the CVO indication attribute or parse the 3GP file for embedded CVO information,

determine a orientation correction term based on the parsed CVO information and a current orientation of the MT, and

correct a rendering orientation of the HTTP stream or DASH for misalignment based on the determined orientation correction term when the MPD metadata file includes the CVO indication attribute and the MT is an orientation-aware terminal; or

parse the SDP file for the RTP stream for the CVO indication attribute or parse the RTP extension header for the RTP stream for the embedded CVO information,

determine a orientation correction term based on the parsed CVO information and current orientation of the client device, and

correct a rendering orientation of the RTP stream for misalignment based on the determined orientation correction term when the SDP file includes the CVO indication attribute and the MT is the orientation-aware terminal,

wherein correcting the rendering orientation compensates for rotation or flip of an orientation.

10. The mobile terminal of claim 8 , wherein:

the transceiver is further configured to:

receive a media presentation description (MPD) metadata file from the server for streamed dynamic adaptive streaming over hypertext transfer protocol (HTTP) (DASH) content with the CVO indication attribute provided in a codec's common attribute or element for an AdaptationSet, Representation, or SubRepresentation, wherein the codec's common attribute is set to ‘3gvo’ indicating a presence of an oriented video component and an associated CVO information in the streamed DASH content; and

the processor is further configured to:

parse the MPD metadata file for the CVO indication attribute; and

modify a rendering orientation of a HTTP stream or the streamed DASH content for misalignment when the MPD metadata file includes the CVO indication attribute and the MT is an orientation-aware terminal.

11. The mobile terminal of claim 8 , wherein:

the transceiver is further configured to:

receive a third generation partnership project (3GPP) file format (3GP) file including a CVOSampleEntry for a CVO timed metadata track in a sample description box of International Organization for Standardization (ISO) file format box structure, wherein CVOSampleEntry fields include a BoxHeader size or type, a Data-reference-index, or a Granularity, and wherein the BoxHeader type is configured for a 3gvo value; and

the processor is further configured to:

parse the 3GP file for the CVOSampleEntry; and

modify a rendering orientation of a hypertext transfer protocol (HTTP) stream or streamed dynamic adaptive streaming over HTTP (DASH) content for misalignment when the 3GP file includes the CVOSampleEntry and the MT is an orientation-aware terminal.

12. The mobile terminal of claim 8 , wherein:

the transceiver is further configured to:

exchange a packet switched streaming service (PSS) client capability with the MT's CVO capability, wherein the MT's CVO capability includes:

a StreamingCVOCapable attribute to indicate whether the client is a CVO capable receiver of real-time transport protocol (RTP) streams,

a StreamingHighGranularityCVOCapable attribute to indicate whether the client is a Higher Granularity CVO capable receiver of RTP streams,

a ThreeGPCVOCapable attribute to indicate whether the client is a CVO capable receiver of third generation partnership project (3GPP) file format (3GP) files, or

a ThreeGPHighGranularityCVOCapable attribute to indicate whether the client is a Higher Granularity CVO capable receiver of 3GP files.

13. The mobile terminal of claim 8 , wherein:

the processor is further configured to:

capture user-generated content (UGC) video with a specified orientation; and

embed CVO information for the UGC video in a third generation partnership project (3GPP) file format (3GP) file; and

the transceiver is further configured to:

upload a 3GP file for a hypertext transfer protocol (HTTP) stream or dynamic adaptive streaming over HTTP (DASH).

14. The mobile terminal of claim 8 , wherein:

the processor is further configured to:

capture CVO data with a specified orientation; and

store the CVO data in a third generation partnership project (3GPP) file format (3GP) file using CVOSampleEntry for a CVO timed metadata track in a sample description box of International Organization for Standardization (ISO) file format box structure, wherein CVOSampleEntry fields include a BoxHeader size or type, a Data-reference-index, or a Granularity, and wherein the BoxHeader type is configured for a 3gvo value; and

the transceiver is further configured to:

upload a 3GP file for a hypertext transfer protocol (HTTP) stream or dynamic adaptive streaming over HTTP (DASH).

15. The mobile terminal of claim 8 , wherein the MT's CVO capability is provided in a third generation partnership project (3GPP) long term evolution (LTE) packet switched streaming service (PSS) session, a dynamic adaptive streaming over hypertext transfer protocol (HTTP) (DASH) session, or an integrated multimedia subsystem (IMS) based PSS and multimedia broadcast and multicast service (MBMS) (IMS_PSS_MBMS) session.

16. The mobile terminal of claim 8 , further comprising:

an orientation sensor to determine an orientation of the MT.

17. The mobile terminal of claim 8 , wherein the mobile terminal includes a user equipment (UE) or a mobile station (MS), and the mobile terminal includes an antenna, a camera, a touch sensitive display screen, a speaker, a microphone, a graphics processor, an application processor, internal memory, or a non-volatile memory port.

18. A method for signaling coordination of video orientation (CVO) capability of a mobile terminal (MT) at a server, comprising:

receiving a device capability for a client at the server via a device capability exchange message;

identifying when the device capability includes a CVO indication attribute; and

adapting streamed content to the client based on an inclusion of the CVO attribute, wherein a session description protocol (SDP) file for a real-time transport protocol (RTP) stream is delivered to the client with the CVO indication attribute via an attribute with a CVO uniform resource name (URN) that represents a 2-bit granularity for a CVO or a 6-bit granularity for a Higher Granularity CVO on the CVO information contained in an RTP extension header.

19. The method of claim 18 , wherein adapting the streamed content further comprises:

modifying a display orientation of a hypertext transfer protocol (HTTP) stream, dynamic adaptive streaming over HTTP (DASH), or real-time transport protocol (RTP) stream for misalignment when the device capability for the client does not include the CVO indication attribute indicating that the client is not an orientation-aware terminal; or

embedding the CVO indication attribute in a media presentation description (MPD) metadata file or a session description protocol (SDP) file when the device capability for the client includes the CVO indication attribute indicating that the client is an orientation-aware terminal to modify the display orientation of a stream.

20. The method of claim 18 , wherein adapting the streamed content further comprises:

delivering a media presentation description (MPD) metadata file for a streamed dynamic adaptive streaming over hypertext transfer protocol (HTTP) (DASH) content to the client with the CVO indication attribute provided in a codec's common attribute or element for an AdaptationSet, Representation, or SubRepresentation, wherein the codec's common attribute is set to ‘3gvo’ indicating a presence of an oriented video component and associated CVO information in the stream DASH content; and

deliver the SDP file for the RTP stream to the client with the CVO indication attribute via an a=extmap attribute with a CVO uniform resource name (URN) urn:3gpp:video-orientation” representing the 2-bit granularity for the CVO or a CVO URN “urn:3gpp:video-orientation:6” representing the 6-bit granularity for the Higher Granularity CVO on the CVO information contained in the RTP extension header.

21. The method of claim 18 , wherein adapting the streamed content further comprises:

receiving user-generated content (UGC) video including embedded CVO information for the UGC video in a third generation partnership project (3GPP) file format (3GP) file, wherein the 3GP file uses:

a CVOSampleEntry for a CVO timed metadata track in a sample description box of International Organization for Standardization (ISO) file format box structure, wherein CVOSampleEntry fields include a BoxHeader size or type, a Data-reference-index, or a Granularity, and wherein the BoxHeader type is configured for a 3gvo value; or

a codec's common attribute or element for an AdaptationSet, Representation, or SubRepresentation of a media presentation description (MPD), wherein the codec's common attribute is set to ‘3gvo’ indicating a presence of an oriented video component and associated CVO information in a streamed dynamic adaptive streaming over hypertext transfer protocol (HTTP) (DASH) content.

22. The method of claim 18 , wherein adapting the streamed content further comprises:

storing CVO data in a third generation partnership project (3GPP) file format (3GP) file using a CVOSampleEntry for a CVO timed metadata track in a sample description box of International Organization for Standardization (ISO) file format box structure, wherein CVOSampleEntry fields include a BoxHeader size or type, a Data-reference-index, or a Granularity, and wherein the BoxHeader type is configured for a 3gvo value; or

storing CVO data for a real-time transport protocol (RTP) stream in a RTP extension header.

23. The method of claim 18 , wherein receiving the device capability for the client further comprises:

exchanging a packet switched streaming service (PSS) client capability for the client, wherein the CVO capability includes:

a StreamingCVOCapable attribute to indicate whether the client is a CVO capable receiver of real-time transport protocol (RTP) streams,

a StreamingHighGranularityCVOCapable attribute to indicate whether the client is a Higher Granularity CVO capable receiver of RTP streams,

a ThreeGPCVOCapable attribute to indicate whether the client is a CVO capable receiver of third generation partnership project (3GPP) file format (3GP) files, or

a ThreeGPHighGranularityCVOCapable attribute to indicate whether the client is a Higher Granularity CVO capable receiver of 3GP files.

24. At least one non-transitory machine readable storage medium comprising a plurality of instructions adapted to be executed to implement the method of claim 18 .

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2020
From: INTEL CORPORATION
To: APPLE INC.
Reel/Frame 052414/0001 →