IP Library › Granted Patent US 12,407,857
Granted Patent B2
US 12,407,857 · App. 17/814,288 · Granted Sep 2, 2025

Method, an apparatus and a computer program product for video conferencing

Inventors: Saba Ahsan (Espoo, FI); Sujeet Shyamsundar Mate (Tampere, FI); Yu You (Kangasala, FI); Emre Baris Aksu (Tampere, FI); Igor Danilo Diego Curcio (Tampere, FI); Miska Matias Hannuksela (Tampere, FI)
Assignee: Nokia Technologies Oy
H04N19/597H04N7/142H04N13/194
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 12,407,857
App. No.
17/814,288
Granted
Sep 2, 2025
Kind
B2
Abstract

A method comprising obtaining a 360-degree video content from a video source; projecting the 360-degree video content onto a 2D image plane; dividing the projected 360-degree video content into a plurality of regions, wherein the regions are partly overlapping and each region covers a region of the 360-degree video content suitable for a viewport presentation; receiving a request for a viewport orientation of the 360-degree video content from a client; and providing the client with an viewport presentation of the region corresponding to the requested viewport orientation.

Claims (87)

1. An apparatus comprising:

at least one processor; and

at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus at least to:

obtain a 360-degree video content from a video source;

project the 360-degree video content onto a two-dimensional image plane;

divide the projected 360-degree video content into a plurality of regions, wherein the plurality of regions are at least partly overlapping, wherein a region of the plurality of regions enables at least one viewport presentation of the projected 360-degree video content;

receive a request for a viewport orientation of the 360-degree video content from a client;

provide, to the client, a viewport presentation of a region, of the plurality of regions, corresponding to the requested viewport orientation; and

provide, to the client, a viewport presentation of a fallback region in response to the client switching between regions while a time to a next keyframe is greater than a threshold, wherein the fallback region comprises a region encoded with at least one of:

a quality lower than a quality associated with, at least, the plurality of regions,

a frame rate lower than a frame rate associated with, at least, the plurality of regions,

a resolution lower than a resolution associated with, at least, the plurality of regions,

no dependent frames, or

a period for reference pictures that is shorter than a period for reference pictures associated with, at least, the plurality of regions.

2. The apparatus according to claim 1 , wherein the at least one memory stores instructions that, when executed by the at least one processor, cause the apparatus to:

carry out session negotiations with a plurality of client devices for a viewport-dependent delivery of the 360-degree video content; and

determine, based on at least one of the plurality of client devices or parameters of the session negotiations, regions of the plurality of regions to be encoded with a same resolution.

3. The apparatus according to claim 1 , wherein the at least one memory stores instructions that, when executed by the at least one processor, cause the apparatus to:

obtain information from a plurality of client devices about motion patterns; and

adjust the division of the projected 360-degree video content into the plurality of regions according to said information so as to minimize a need for region change.

4. The apparatus according to claim 1 , wherein the at least one memory stores instructions that, when executed by the at least one processor, cause the apparatus to:

encode respective regions of the plurality of regions with at least one of:

a same encoding bitrate,

a same encoding quality,

a different encoding bitrate, or

a different encoding quality.

5. The apparatus according to claim 1 , wherein the at least one memory stores instructions that, when executed by the at least one processor, cause the apparatus to:

determine that at least two regions correspond to the viewport orientation requested by the client, wherein the requested viewport orientation corresponds to an overlap between the at least two regions.

6. The apparatus according to claim 1 , wherein the at least one memory stores instructions that, when executed by the at least one processor, cause the apparatus to:

divide the projected 360-degree video content into a plurality of sets of regions, wherein regions in at least a first set of the plurality of regions have a larger field-of-view and regions in at least a second set of the plurality of regions have a smaller field-of-view.

7. The apparatus according to claim 1 , wherein the at least one memory stores instructions that, when executed by the at least one processor, cause the apparatus to:

encode regions corresponding to viewport orientations requested by client devices.

8. The apparatus according to claim 1 , wherein the at least one memory stores instructions that, when executed by the at least one processor, cause the apparatus to:

determine two polar regions for the 360-degree video content.

9. The apparatus according to claim 7 , wherein the at least one memory stores instructions that, when executed by the at least one processor, cause the apparatus to at least one of:

insert key frames, at a first periodicity, into the viewport presentation of the encoded region provided to the client; or

insert the key frames, at a second periodicity, into the viewport presentation of the encoded region provided to the client in response to, at least, a frequency of switching between regions by the client, wherein the second periodicity is higher than the first periodicity.

10. The apparatus according to claim 1 , wherein a number of the plurality of regions and their degree of overlap is fixed, and wherein the at least one memory stores instructions that, when executed by the at least one processor, cause the apparatus to:

redefine the plurality of regions as a sliding field-of-view such that respective regions of the plurality of regions are slid an equal amount in a same direction when the plurality of regions are redefined.

11. The apparatus according to claim 1 , wherein a number of the plurality of regions and their degree of overlap is changeable.

12. The apparatus according to claim 11 , wherein the at least one memory stores instructions that, when executed by the at least one processor, cause the apparatus to one of:

redefine the plurality of regions as a sliding field-of-view such that sliding of one region does not directly influence sliding of another region; or

redefine the plurality of regions as a sliding field-of-view such that sliding of one region influences sliding of at least one other region with a different degree of overlap.

13. A method, comprising:

obtaining a 360-degree video content from a video source;

projecting the 360-degree video content onto a two-dimensional image plane;

dividing the projected 360-degree video content into a plurality of regions, wherein the plurality of regions are at least partly overlapping, wherein a region of the plurality of regions enables at least one viewport presentation of the projected 360-degree video content;

receiving a request for a viewport orientation of the 360-degree video content from a client;

providing, to the client, a viewport presentation of a region, of the plurality of regions, corresponding to the requested viewport orientation; and

providing, to the client, a viewport presentation of a fallback region in response to the client switching between regions while a time to a next keyframe is greater than a threshold, wherein the fallback region comprises a region encoded with at least one of:

a quality lower than a quality associated with, at least, the plurality of regions,

a frame rate lower than a frame rate associated with, at least, the plurality of regions,

a resolution lower than a resolution associated with, at least, the plurality of regions,

no dependent frames, or

a period for reference pictures that is shorter than a period for reference pictures associated with, at least, the plurality of regions.

14. The method according to claim 13 , further comprising:

carrying out session negotiations with a plurality of client devices for a viewport-dependent delivery of the 360-degree video content; and

determining, based on at least one of the plurality of client devices or parameters of the session negotiations, regions of the plurality of regions to be encoded with a same resolution.

15. The method according to claim 13 , further comprising:

obtaining information from a plurality of client devices about motion patterns; and

adjusting the division of the projected 360-degree video content into the plurality of regions according to said information so as to minimize a need for region change.

16. The method according to claim 13 , further comprising:

encoding respective regions of the plurality of regions with at least one of:

a same encoding bitrate,

a same encoding quality,

a different encoding bitrate, or

a different encoding quality.

17. The method according to claim 13 , further comprising:

determining that at least two regions correspond to the viewport orientation requested by the client, wherein the requested viewport orientation corresponds to an overlap between the at least two regions.

18. The method according to claim 13 , further comprising:

dividing the projected 360-degree video content into a plurality of sets of regions, wherein regions in at least a first set of the plurality of regions have a larger field-of-view and regions in at least a second set of the plurality of regions have a smaller field-of-view.

19. The method according to claim 13 , further comprising:

encoding regions corresponding to viewport orientations requested by client devices.

20. The method according to claim 13 , further comprising:

determining two polar regions for the 360-degree video content.

21. A non-transitory computer-readable medium comprising program instructions stored thereon for performing at least the following:

causing obtaining of a 360-degree video content from a video source;

projecting the 360-degree video content onto a two-dimensional image plane;

dividing the projected 360-degree video content into a plurality of regions, wherein the plurality of regions are at least partly overlapping, wherein a region of the plurality of regions enables at least one viewport presentation of the projected 360-degree video content;

causing receiving of a request for a viewport orientation of the 360-degree video content from a client; and

causing providing, to the client, of a viewport presentation of a region, of the plurality of regions, corresponding to the requested viewport orientation; and

causing providing, to the client, of a viewport presentation of a fallback region in response to the client switching between regions while a time to a next keyframe is greater than a threshold, wherein the fallback region comprises a region encoded with at least one of:

a quality lower than a quality associated with, at least, the plurality of regions,

a frame rate lower than a frame rate associated with, at least, the plurality of regions,

a resolution lower than a resolution associated with, at least, the plurality of regions,

no dependent frames, or

a period for reference pictures that is shorter than a period for reference pictures associated with, at least, the plurality of regions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2022
From: AHSAN, SABA; SHYAMSUNDAR MATE, SUJEET; YOU, YU; BARIS AKSU, EMRE; DANILO DIEGO CURCIO, IGOR; MATIAS HANNUKSELA, MISKA
To: NOKIA TECHNOLOGIES OY
Reel/Frame 060739/0982 →
Priority Claims (1)
FI 20215820 · Jul 27, 2021 · national
Continuity (1)
Related Publication 20230033063A1 · Feb 2, 2023
References Cited (47)
US 20140320587A1 · Oyman · 2014 [cited by applicant]
US 20180124146A1 · Chen et al. · 2018 [cited by applicant]
US 20180164593A1 · Van Der Auwera et al. · 2018 [cited by applicant]
US 20180167613A1 · Hannuksela et al. · 2018 [cited by applicant]
US 20180249163A1 · Curcio et al. · 2018 [cited by applicant]
US 20190102944A1 · Han · 2019 [cited by examiner]
US 20190141311A1 · Lee et al. · 2019 [cited by applicant]
US 20200021791A1 · Hur · 2020 [cited by examiner]
US 20200043133A1 · Boyce · 2020 [cited by applicant]
US 20200204785A1 · Lee · 2020 [cited by examiner]
US 20200242835A1 · Cherukuri · 2020 [cited by examiner]
US 20200322403A1 · Dvir et al. · 2020 [cited by applicant]
US 20210021806A1 · He et al. · 2021 [cited by applicant]
US 20210092347A1 · Han et al. · 2021 [cited by applicant]
US 20210400314A1 · Varekamp · 2021 [cited by examiner]
US 20220078396A1 · Gul et al. · 2022 [cited by applicant]
WO 2019048733A1 · 2019 [cited by applicant]
WO 2019073112A1 · 2019 [cited by applicant]
WO 2019120638A1 · 2019 [cited by applicant]
WO 2019141901A1 · 2019 [cited by applicant]
WO 2020201632A1 · 2020 [cited by applicant]
WO 2021073940A1 · 2021 [cited by applicant]
WO 2021105552A1 · 2021 [cited by applicant]
WO 2021214379A1 · 2021 [cited by applicant]
“High Efficiency Video Coding”, Series H: Audiovisual And Multimedia Systems, Infrastructure of audiovisual services—Coding of moving video, Recommendation ITU-T H.265, Feb. 2018, 692 pages. [cited by applicant]
“ITT4RT Permanent Document—Requirements, Working Assumptions and Potential Solutions”, 3GPP TSG-SA4 Meeting #109e, S4-200738, Agenda: 0.7.0, Intel, May 20-Jun. 3, 2020, 44 pages. [cited by applicant]
“ITT4RT Permanent Document—Requirements, Working Assumptions and Potential Solutions”, 3GPP TSG-SA4 Meeting #109e, S4-200840, Agenda: 0.7.1, Intel, May 20-Jun. 3, 2020, 47 pages. [cited by applicant]
Schulzrinne et al., “RTP: A Transport Protocol for Real-Time Applications”, RFC 3550, Network Working Group, Jul. 2003, pp. 1-104. [cited by applicant]
Ott et al., “Extended RTP Profile for Real-time Transport Control Protocol (RTCP) Based Feedback (RTP/AVPF)”, RFC 4585, Network Working Group, Jul. 2006, pp. 1-51. [cited by applicant]
Singer et al., “A General Mechanism for RTP Header Extensions”, RFC 5285, Network Working Group, Jul. 2008, pp. 1-17. [cited by applicant]
Hannuksela et al., “An overview of the OMAF standard for 360° video”, Data Compression Conference (DCC), Mar. 26-29, 2019, pp. 418-427. [cited by applicant]
“Potential Improvement of OMAF”, Systems, ISO/IEC JTC1/SC 29/WG11, N19274, May 29, 2020, 328 pages. [cited by applicant]
“Advanced Video Coding For Generic Audiovisual services”, Series H: Audiovisual And Multimedia Systems, Infrastructure of audiovisual services—Coding of moving Video, Recommendation ITU-T H.264, Apr. 2017, 812 pages. [cited by applicant]
“Versatile supplemental enhancement information messages for coded video bitstreams”, Series H: Audiovisual and Multimedia Systems Infrastructure of audiovisual services—Coding of moving video, Recommendation ITU-T H.27… [cited by applicant]
Wang et al., “RTP Payload Format for High Efficiency Video Coding (HEVC)”, RFC 7798, Internet Engineering Task Force (IETF), Mar. 2016, pp. 1-86. [cited by applicant]
“3rd Generation Partnership Project; Technical Specification Group Services and System Aspects; IP Multimedia Subsystem (IMS); Multimedia Telephony; Media handling and interaction (Release 17)”, 3GPP TS 26.114, V17.0.0,… [cited by applicant]
Curcio et al., “360-Degree Video Streaming and its Subjective Quality”, Annual Technical Conference and Exhibition, Oct. 23-26, 2017, 23 pages. [cited by applicant]
“Informational text on Viewport-dependent Processing in ITT4RT”, 3GPP TSG SA WG 4 MTSI SWG Telco on ITT4RT, S4aM210659, Agenda: 4.1, Nokia Corporation, Jun. 30, 2021, pp. 1-10. [cited by applicant]
“Information Technology—Coding Of Audio-Visual Objects—Part 12: ISO Base Media File Format”, ISO/IEC 14496-12, Fifth edition, Dec. 15, 2015, 248 pages. [cited by applicant]
“Information Technology—Coding Of Audio-Visual Objects—Part 14: MP4 File Format”, ISO/IEC 14496-14, First edition, Nov. 15, 2003, 18 pages. [cited by applicant]
“Information Technology—Coding Of Audio-Visual Objects—Part 15: Advanced Video Coding (AVC) File Format”, ISO/IEC 14496-15, First edition, Apr. 15, 2004, 29 pages. [cited by applicant]
International Search Report and Written Opinion received for corresponding Patent Cooperation Treaty Application No. PCT/EP2021/069683, dated Oct. 7, 2021, 18 pages. [cited by applicant]
Office action received for corresponding Finnish U.S. Appl. No. 20/215,820, dated Apr. 1, 2022, 11 pages. [cited by applicant]
Deshpande et al., “Text of ISO/IEC CD 23090-2 2nd edition OMAF”, Systems, ISO/IEC JTC1/SC29/WG11 N18865-v1, Oct. 2019, 255 pages. [cited by applicant]
Non-Final Office action received for corresponding U.S. Appl. No. 17/376,345, dated Aug. 26, 2022, 15 pages. [cited by applicant]
Extended European Search Report received for corresponding European Patent Application No. 22185992.9, dated Jan. 3, 2023, 8 pages. [cited by applicant]
“ITT4RT Permanent Document—Requirements, Working Assumptions and Potential Solutions”, 3GPP Hannuksel: WG4 Meeting #114e, S4-210933, Agenda: 15.2, Nokia Corporation, May 19-28, 2021, 85 pages. [cited by applicant]