IP Library Granted Patent US 11,736,699
Granted Patent B2
US 11,736,699 · App. 17/320,723 · Granted Aug 22, 2023

Perceptual quality assessment metric based content and viewer aware encoding

Inventors: Abdul Rehman (Kitchener, CA); Zhou Wang (Waterloo, CA); Ahmed Badr (Waterloo, CA); Christopher Vytautas Olekas (Breslau, CA); Ian Wormsbecker (Baden, CA); Waqas Ahmed (London, GB); Peter Olijnyk (Kitchener, CA)
Assignee: SSIMWAVE, Inc.
H04N19/154H04N19/103H04N19/149H04N19/184
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,736,699
App. No.
17/320,723
Granted
Aug 22, 2023
Kind
B2
Abstract

Candidate encodes of a source video are produced using a plurality of encoding configurations. Quality of experience (QoE) scores for each of the candidate encodes are computed. The QoE scores of the plurality of candidate encodes are compared to determine a lowest bitrate encode that achieve a target QoE score. The lowest bitrate encode that achieve the target QoE score as an optimized output video is selected.

Claims (117)

1. A method for optimization of video encoding using perceptual quality assessment, comprising:

producing candidate encodes of a source video using a plurality of encoding configurations;

computing a source content quality-of-experience (QoE) score for the source video;

computing a perceptual quality metric for each of the candidate encodes;

determining an absolute QoE score for each of the candidate encodes from the perceptual quality metric adapted to the source content QoE score;

comparing the absolute QoE scores of the candidate encodes to determine a lowest bitrate encode that achieves a target QoE score; and

selecting the lowest bitrate encode that achieve the target QoE score as an optimized output video.

2. The method of claim 1 , further comprising:

computing QoE scores for the candidate encodes at a scene, segment, chunk, chapter, or asset level;

comparing the QoE scores at the scene, segment, chunk, chapter, or asset level for each of candidate encodes to select lowest bitrate encodes at a scene, segment, chunk, chapter, or asset level that achieve the target QoE score; and

joining the selected scenes, segments, chunks, chapters, or assets that achieve the target QoE score to form the optimized output video that achieves the target QoE score.

3. The method of claim 1 , further comprising:

computing benchmark QoE scores of a benchmark encode that achieves a desired QoE, or video quality, at a scene, segment, chunk, chapter, or asset level; and

utilizing the benchmark QoE scores as the target QoE scores.

4. The method of claim 1 , further comprising:

producing a content complexity metric by pre-processing source content to determine relative difficulty for encoding the source content; and

utilizing the content complexity metric to determine one or more of candidate encode configurations or length of segments of the candidate encodes.

5. The method of claim 1 , further comprising:

performing quality checks to qualify the candidate encodes; and

excluding candidate encodes that fail the quality checks from consideration for selection for the optimized output video.

6. The method of claim 1 , wherein the quality checks include validation of the quality of the image of the candidate encodes, the validations including checks for one or more of banding, blocking, exposure shift, color shift, skin tone deviation, highlight details, shadow details, and texture details.

7. The method of claim 1 , wherein the quality checks include validations of structure of the candidate encodes, the validations including one or more of to ensure that the bitstream is not corrupted or to ensure that parity checks in the candidate encodes are correct.

8. The method of claim 1 , further comprising selecting the lowest bitrate encode that achieve QoE score that is within a Just Noticeable Difference (JND) from the target QoE score.

9. The method of claim 1 , further comprising:

computing the absolute QoE scores for the candidate encodes adapted to multiple target display devices; and

selecting the lowest bitrate encode that achieves the target QoE scores across all the target display devices.

10. The method of claim 1 , wherein the encoding configurations are set to produce candidate encodes at different resolutions, frame rates, and dynamic ranges.

11. The method of claim 1 , further comprising:

identifying content quality of the source video;

adjusting the target QoE score in accordance with the content quality; and

selecting the lowest bitrate encode that achieves the target QoE score as adjusted.

12. The method of claim 1 , further comprising:

selecting the target QoE score considering popularity and viewership of an asset; and

selecting the lowest bitrate encode that achieves the target QoE score.

13. The method of claim 1 , further comprising:

computing the QoE score of an adaptive bitrate (ABR) ladder, the ABR ladder including a plurality of profiles, each profile specifying a different stream quality and/or resolution; and

optimizing the profiles of the ABR ladder by selecting, removing, or adding bitrates to maximize playback viewer experience across display devices.

14. The method of claim 1 , further comprising:

measuring delivery performance at a per-view level of a content delivery network to deliver content encoded using an ABR ladder;

computing a maximum QoE score achieved across viewer devices considering delivery performance of the content delivery network; and

setting the target QoE score as the maximum QoE score.

15. The method of claim 1 , further comprising:

measuring playback performance at a per-view level of a video player to playback content encoded using an ABR ladder;

computing a maximum QoE score achieved across viewer devices considering playback experience; and

setting the target QoE score as the maximum QoE score.

16. The method of claim 1 , further comprising:

identifying display devices used to view the source video, wherein the source video is one of a live or on-demand video asset;

computing a maximum QoE score achieved across viewer devices playing the source video; and

selecting the lowest bitrate encode that achieves the target QoE score.

17. The method of claim 1 , further comprising:

producing candidate encodes for every profile of an ABR ladder including a plurality of profiles, each profile specifying a different stream quality and/or resolution; and

selecting the lowest bitrate encode that achieve the target QoE score for each profile of the ABR ladder.

18. The method of claim 1 , wherein the encoding configurations are set to produce candidate encodes using all available encoding standards, configurations, and implementations.

19. The method of claim 1 , further comprising:

producing candidate encodes using multiple encoders, each of the multiple encoders having a different encoding and/or delivery cost; and

selecting the encode that provides the target QoE score at the lowest encoding and/or delivery cost.

20. The method of claim 1 , wherein the absolute QoE scores are computed using SSIMPLUS.

21. The method of claim 1 , wherein the absolute QoE scores are adapted to parameters of a target display device, the parameters including one or more of screen size, device screen resolution, and viewing distance.

22. A system for optimization of video encoding using perceptual quality assessment, comprising:

a computing device programmed to

produce candidate encodes of a source video using a plurality of encoding configurations;

compute a source content quality-of-experience (QoE) score for the source video;

compute a perceptual quality metric for each of the candidate encodes;

determine an absolute QoE score for each of the candidate encodes from the perceptual quality metric adapted to the source content QoE score;

compare the absolute QoE scores of the candidate encodes to determine a lowest bitrate encode that achieve a target QoE score; and

select the lowest bitrate encode that achieve the target QoE score as an optimized output video.

23. The system of claim 22 , wherein the computing device is further programmed to:

compute the absolute QoE scores for the candidate encodes at a scene, segment, chunk, chapter, or asset level;

compare the absolute QoE scores at the scene, segment, chunk, chapter, or asset level for each of candidate encodes to select lowest bitrate encodes at a scene, segment, chunk, chapter, or asset level that achieve the target QoE score; and

join the selected scenes, segments, chunks, chapters, or assets that achieve the target QoE score to form the optimized output video that achieves the target QoE score.

24. The system of claim 22 , wherein the computing device is further programmed to:

compute benchmark QoE scores of a benchmark encode that achieves a desired QoE, or video quality, at a scene, segment, chunk, chapter, or asset level; and

utilize the benchmark QoE scores as the target QoE scores.

25. The system of claim 22 , wherein the computing device is further programmed to:

produce a content complexity metric by pre-processing the source content to determine relative difficulty for encoding the source content; and

utilize the content complexity metric to determine one or more of candidate encode configurations or length of segments of the candidate encodes.

26. The system of claim 22 , wherein the computing device is further programmed to:

perform quality checks to qualify the candidate encodes; and

exclude candidate encodes that fail the quality checks from consideration for selection for the optimized output video.

27. The system of claim 22 , wherein the quality checks include validation of the quality of the image of the candidate encodes, the validations including checks for one or more of banding, blocking, exposure shift, color shift, skin tone deviation, highlight details, shadow details, and texture details.

28. The system of claim 22 , wherein the quality checks include validations of structure of the candidate encodes, the validations including one or more of to ensure that the bitstream is not corrupted or to ensure that parity checks in the candidate encodes are correct.

29. The system of claim 22 , wherein the computing device is further programmed to select the lowest bitrate encode that achieve QoE score that is within a Just Noticeable Difference (JND) from the target QoE score.

30. The system of claim 22 , wherein the computing device is further programmed to:

compute the absolute QoE scores for the candidate encodes adapted to multiple target display devices; and

select the lowest bitrate encode that achieves the target QoE scores across all the target display devices.

31. The system of claim 22 , wherein the encoding configurations are set to produce candidate encodes at different resolutions, frame rates, and dynamic ranges.

32. The system of claim 22 , wherein the computing device is further programmed to:

identify content quality of the source video;

adjust the target QoE score in accordance with the content quality; and

select the lowest bitrate encode that achieves the target QoE score as adjusted.

33. The system of claim 22 , wherein the computing device is further programmed to:

select the target QoE score considering popularity and viewership of an asset; and

select the lowest bitrate encode that achieves the target QoE score.

34. The system of claim 22 , wherein the computing device is further programmed to:

compute the QoE score of an adaptive bitrate (ABR) ladder, the ABR ladder including a plurality of profiles, each profile specifying a different stream quality and/or resolution; and

optimize the profiles of the ABR ladder by selecting, removing, or adding bitrates to maximize playback viewer experience across display devices.

35. The system of claim 22 , wherein the computing device is further programmed to:

measure delivery performance at a per-view level of a content delivery network to deliver content encoded using an ABR ladder;

compute a maximum QoE score achieved across viewer devices considering delivery performance of the content delivery network; and

set the target QoE score as the maximum QoE score.

36. The system of claim 22 , wherein the computing device is further programmed to:

measure playback performance at a per-view level of a video player to playback content encoded using an ABR ladder;

compute a maximum QoE score achieved across viewer devices considering playback experience; and

set the target QoE score as the maximum QoE score.

37. The system of claim 22 , wherein the computing device is further programmed to:

identify display devices used to view the source video, wherein the source video is one of a live or on-demand video asset;

compute a maximum QoE score achieved across viewer devices playing the source video; and

select the lowest bitrate encode that achieves the target QoE score.

38. The system of claim 22 , further comprising:

produce candidate encodes for every profile of an ABR ladder including a plurality of profiles, each profile specifying a different stream quality and/or resolution; and

select the lowest bitrate encode that achieve the target QoE score for each profile of the ABR ladder.

39. The system of claim 22 , wherein the encoding configurations are set to produce candidate encodes using all available encoding standards, configurations, and implementations.

40. The system of claim 22 , further comprising:

produce candidate encodes using multiple encoders, each of the multiple encoders having a different encoding and/or delivery cost; and

select the encode that provides the target QoE score at the lowest encoding and/or delivery cost.

41. The system of claim 22 , wherein the absolute QoE scores are computed using SSIMPLUS.

42. The method of claim 21 , wherein the absolute QoE scores, adapted to the parameters of the target display device, are computed using SSIMPLUS.

Assignments (3)
SECURITY INTEREST Recorded Jul 14, 2025
From: IMAX CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 071935/0813 →
MERGER Recorded Feb 29, 2024
From: SSIMWAVE INC.
To: IMAX CORPORATION
Reel/Frame 066597/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2021
From: REHMAN, ABDUL; WANG, ZHOU; BADR, AHMED; OLEKAS, CHRISTOPHER VYTAUTAS; WORMSBECKER, IAN; AHMED, WAQAS; OLIJNYK, PETER
To: SSIMWAVE, INC.
Reel/Frame 056263/0404 →
Continuity (2)
Provisional Application 63024865 · May 14, 2020
Related Publication 20210360260A1 · Nov 18, 2021