IP Library › Granted Patent US 11,190,802
Granted Patent B2
US 11,190,802 · App. 17/178,641 · Granted Nov 30, 2021

Apparatus, a method and a computer program for omnidirectional video

Inventors: Ari Hourunranta (Tampere, FI); Saba Ahsan (Espoo, FI)
Assignee: Nokia Technologies Oy
H04N19/597H04N13/111H04N13/161H04N19/146
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 11,190,802
App. No.
17/178,641
Granted
Nov 30, 2021
Kind
B2
Abstract

There are disclosed various methods, apparatuses and computer program products for adaptive bitrate control for tiled omnidirectional video. In some embodiments information of a size of a viewport to view omnidirectional video data is received and an orientation of a viewport within the omnidirectional video data is determined. A first set of tiles belonging to the viewport and a second set of tiles outside the viewport are determined. A bitrate is estimated for a full picture using a first quality for the first set, and a second quality for the second set. The determination is repeated for a plurality of viewports. A representative viewport orientation is selected using the estimation results. A plurality of bitrates are estimated for a full picture for the third set of tiles and for the fourth set of tiles; and estimated bitrates and the representative viewport orientation are provided to an adaptive bitrate algorithm.

Claims (75)

1. An apparatus comprising at least one processor and at least one memory, said at least one memory stored with code thereon, which when executed by said at least one processor, causes the apparatus to perform at least:

receive information of a size of a viewport to view an omnidirectional video data;

determine an orientation of the viewport within the omnidirectional video data for bitrate estimation;

determine a first set of tiles of the omnidirectional video data which belong to the viewport and a second set of tiles of the omnidirectional video data which are outside the viewport;

estimate a bitrate for a full picture of the omnidirectional video data using a first quality for the first set of tiles, and a second quality lower than or equal to the first quality for the second set of tiles;

repeat the determination of the orientation and the estimation of a bitrate for a plurality of viewports;

use the estimation results to select a representative viewport orientation among the plurality of viewports;

determine a third set of tiles of the omnidirectional video data which belong to the representative viewport and a fourth set of tiles of the omnidirectional video data which are outside the representative viewport;

estimate the bitrate for a full picture for a plurality of tile qualities for the third set of tiles and a plurality of tile qualities that are equal to or lower than the third set for the fourth set of tiles; and

provide information of the estimated bitrates and the representative viewport orientation to an adaptive bitrate algorithm.

2. The apparatus according to claim 1 , wherein said at least one memory stored with code thereon, which when executed by said at least one processor, causes the apparatus to further perform:

select the representative viewport orientation among a different viewport orientations using the estimated bitrates for the different viewport orientations.

3. The apparatus according to claim 2 , wherein said at least one memory stored with code thereon, which when executed by said at least one processor, causes the apparatus to further perform:

select the viewport that fulfils one of the following criteria as the representative viewport:

highest full picture bitrate;

median full picture bitrate; or

a predetermined percentile of the full picture bitrate.

4. The apparatus according to claim 1 , wherein said at least one memory stored with code thereon, which when executed by said at least one processor, causes the apparatus to further perform:

estimate a picture bitrate as a sum of a bitrate of viewport tiles at the first quality and a bitrate of non-viewport tiles at a lowest quality.

5. The apparatus according to claim 1 , wherein said at least one memory stored with code thereon, which when executed by said at least one processor, causes the apparatus to further perform:

divide the second set of tiles of the omnidirectional video data into a set of margin tiles and a set of non-viewport tiles; and

estimate a picture bitrate as a sum of a bitrate of viewport tiles at the first quality, a bitrate of the margin tiles at the second quality lower than or equal to the first quality, and a bitrate of the non-viewport tiles at a lowest quality.

6. The apparatus according to claim 1 , wherein said at least one memory stored with code thereon, which when executed by said at least one processor, causes the apparatus to further perform:

divide the first set of tiles of the omnidirectional video data into a set of higher priority tiles and a set of lower priority tiles; and

estimate a picture bitrate as a sum of a bitrate of a higher priority viewport tiles at the first quality, a bitrate of the lower priority viewport tiles at the second quality lower than or equal to the first quality, and a bitrate of the non-viewport tiles at a lowest quality.

7. The apparatus according to claim 1 , wherein said at least one memory stored with code thereon, which when executed by said at least one processor, causes the apparatus to further perform:

repeat the bitrate estimation for different viewport orientations; and

translate bitrates for each viewport variant into a map of viewport bitrate factors.

8. The apparatus according to claim 7 , wherein said at least one memory stored with code thereon, which when executed by said at least one processor, causes the apparatus to further perform:

determine a bitrate factor for a current viewport;

compare the determined bitrate factor with the bitrate factor of the representative viewport; and

determine that the current viewport is a less complex viewport than the representative viewport when the determined bitrate factor of the current viewport is lower than the bitrate factor of the representative viewport; or determine that the current viewport is a more complex viewport than the representative viewport when the determined bitrate factor of the current viewport is higher than the bitrate factor of the representative viewport.

9. The apparatus according to claim 8 , wherein said at least one memory stored with code thereon, which when executed by said at least one processor, causes the apparatus to further perform:

examine whether an available bandwidth allows increasing the bitrate;

increase the bitrate, when the examination indicates that the available bandwidth allows increasing the bitrate and the current viewport is the more complex viewport; or

maintain the bitrate, when the examination indicates that the available bandwidth allows an increasing the bitrate and the current viewport is the less complex viewport, and when the difference between the available bandwidth and the current bitrate is less than an upswitch threshold.

10. The apparatus according to claim 1 , wherein the omnidirectional video data represents a stereoscopic scene.

11. The apparatus according to claim 1 , wherein the omnidirectional video data represents a monoscopic scene.

12. A method comprising:

receiving information of a size of a viewport to view an omnidirectional video data;

determining an orientation of a viewport within the omnidirectional video data for bitrate estimation;

determining a first set of tiles of the omnidirectional video data which belong to the viewport and a second set of tiles of the omnidirectional video data which are outside the viewport;

estimating a bitrate for a full picture of the omnidirectional video using a first quality for the first set of tiles, and a second quality lower than or equal to the first quality for the second set of tiles;

repeating the determination of the orientation and the estimation of a bitrate for a plurality of viewports;

using the estimation results to select a representative viewport orientation among the plurality of viewports;

determining a third set of tiles of the omnidirectional video data which belong to the representative viewport and a fourth set of tiles of the omnidirectional video data which are outside the representative viewport;

estimating the bitrate for a full picture for a plurality of tile qualities for the third set of tiles and a plurality of tile qualities that are equal to or lower than the third set for the fourth set of tiles; and

providing information of the estimated bitrates and the representative viewport orientation to an adaptive bitrate algorithm.

13. The method according to claim 12 further comprising:

selecting the representative viewport orientation among the different viewport orientations using the estimated bitrates for the different viewport orientations.

14. The method according to claim 13 further comprising:

selecting the viewport that fulfils one of the following criteria as the representative viewport:

highest full picture bitrate;

median full picture bitrate; or

a predetermined percentile of the full picture bitrate.

15. The method according to claim 12 further comprising:

estimating a picture bitrate as a sum of a bitrate of viewport tiles at a first quality and a bitrate of non-viewport tiles at a lowest quality.

16. The method according to claim 12 further comprising:

dividing the second set of tiles of the omnidirectional video data into a set of margin tiles and a set of non-viewport tiles; and

estimating a picture bitrate as a sum of a bitrate of viewport tiles at a first quality, a bitrate of the margin tiles at a second quality lower than or equal to the first quality, and a bitrate of the non-viewport tiles at a lowest quality.

17. The method according to claim 12 further comprising:

dividing the first set of tiles of the omnidirectional video data into a set of higher priority tiles and a set of lower priority tiles; and

estimating a picture bitrate as a sum of a bitrate of the higher priority viewport tiles at a first quality, a bitrate of the lower priority viewport tiles at a second quality lower than or equal to the first quality, and a bitrate of the non-viewport tiles at a lowest quality.

18. The method according to claim 12 further comprising:

repeating the bitrate estimation for different viewport orientations; and

translating bitrates for each viewport variant into a map of viewport bitrate factors.

19. The method according to claim 18 further comprising:

determining a bitrate factor for a current viewport;

comparing the determined bitrate factor with the bitrate factor of the representative viewport; and

determining that the current viewport is a less complex viewport if the determined bitrate factor of the current viewport is lower than the bitrate factor of the representative viewport;

or determining that the current viewport is a more complex viewport if the determined bitrate factor of the current viewport is higher than the bitrate factor of the representative viewport.

20. The method according to claim 19 further comprising:

examining whether an available bandwidth allows an increment in bitrate;

if the examination indicates that the available bandwidth allows an increase in bitrate and the current viewport is a more complex viewport, increasing the bitrate; or

if the examination indicates that the available bandwidth allows an increase in bitrate and the current viewport is a less complex viewport, maintaining the bitrate if the difference between the available bandwidth and the current bitrate is less than an upswitch threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2021
From: HOURUNRANTA, ARI; AHSAN, SABA
To: NOKIA TECHNOLOGIES OY
Reel/Frame 055318/0481 →
Continuity (2)
Provisional Application 63000653 · Mar 27, 2020
Related Publication 20210306665A1 · Sep 30, 2021