MEDIA CONTENT DISTRIBUTION AND PLAYBACK
A client for streaming a video from a remote media service is arranged for being available upon request in at least a first representation having a first group of pictures, GOP, size qualified by a first quality score, and a second representation having a second GOP size larger than the first GOP size and qualified by a second quality score superior to the first quality score. The client is configured to perform the following steps monitoring operational metrics of the video during playback of the first representation; and when a requirement of the second representation is met requesting the remote media service to receive a stream of the video according to the second representation and switching the playback of the video to the second representation thereby increasing the quality score of the representation.
1 . — 15 . (cancelled).
16 . A client for streaming a video from a remote media service,
wherein the video is available from the remote media service to the client upon request in at least:
a first representation having a first group of pictures, GOP, size, and wherein the first representation is qualified by a first quality score; and
a second representation having a second GOP size larger than the first GOP size, and
wherein the second representation is qualified by a second quality score, the second quality score superior to the first quality score;
wherein the client is configured to perform the following steps:
monitoring operational metrics of the video during playback of the first representation; and
verifying, based on the operational metrics, if a playback requirement for playback of another representation having a superior quality score on the client is met;
upon detecting that the playback requirement for playback of the second representation is met:
requesting the remote media service to receive a stream of the video according to the second representation; and
switching the playback of the video to the second representation thereby increasing the quality score of the representation that is being played.
17 . The client according to claim 16 , wherein the video is further available in a third representation having a third GOP size smaller than the second GOP size, and
wherein the third representation is qualified by a third quality score, the third quality score inferior to the second quality score and superior to the first quality score; and
wherein the client is further configured to:
upon detecting that a playback requirement for playback of the third representation is met, and that the playback requirement for playback of the second representation is not or no longer met:
requesting the remote media service to receive a stream of the video according to the third representation; and
switching the playback of the video to the third representation thereby maximizing the quality score of the representation that is being played and that meets a requirement.
18 . The client according to claim 17 , wherein the client is further configured to:
upon detecting that the playback requirement for playback of the second and third representation is met:
requesting the remote media service to receive a stream of the video according to the second or third representation, depending on which has a first available independent frame; and
switching the playback to the representation having the first available independent frame.
19 . The client according to claim 18 , wherein the client is further configured to:
upon the detecting that the playback requirement for playback of the second and third representation is met and when the playback was switched to the third representation:
requesting and switching the playback to the second representation thereby further maximizing the quality score.
20 . The client according to claim 16 , wherein the switching to a requested representation comprises:
waiting for an independent frame within the requested representation; and
performing the switching at the independent frame.
21 . The client according to claim 16 , wherein the client is further configured to determine a quality score based on one of the group of:
an average bitrate, a maximum bitrate, a resolution, a sample rate, a codec and/or a GOP size.
22 . The client according to claim 16 , wherein a quality score is received from the remote media service.
23 . The client according to claim 16 , wherein a playback requirement is determined by at least one of:
a resolution of a client's screen;
an orientation of the client's screen;
a type of network the client is connected to;
a current client's CPU usage;
a priority assigned to an application running the representation in a multitasking environment;
a client's battery status;
a client's available memory;
a client's supported codecs;
a client's estimated available bandwidth;
a number of frames dropped during playback of a representation;
a number of samples dropped during playback of a representation;
an occurrence of errors during decode and playback; and
an occurrence of a client's player buffer running empty.
24 . The client according to claim 16 , wherein the requesting further comprises:
requesting the remote media service to receive a stream of the video according to any representation meeting the playback requirement from the next independent frame onwards; and
switching to the representation firstly received from the remote media service thereby switching to the representation with a first independent frame.
25 . A remote media service configured to provide a video to the client according to claim 16 upon request in at least:
a first representation having a first group of pictures, GOP, size, and
wherein the first representation is qualified by a first quality score; and
a second representation having a second GOP size larger than the first GOP size, and
wherein the second representation is qualified by a second quality score, the second quality score superior to the first quality score.
26 . The remote media service according to claim 25 , further configured to determine a quality score based on one of the group of an average bitrate, a maximum bitrate, a resolution, a GOP size, a sample rate, a quality metric determined by a framework such as Video Multimethod Assessment Fusion, VMAF, Peak Signal-to- Noise Ratio, PSNR, or Structural Similarity, SSIM.
27 . A computer-implemented method for streaming a video to a client from a remote media service according to claim 25 ,
wherein the video is available from the remote media service to the client upon request in at least:
a first representation having a first group of pictures, GOP, size, and
wherein the first representation is qualified by a first quality score; and
a second representation having a second GOP size larger than the first GOP size, and
wherein the second representation is qualified by a second quality score, the second quality score superior to the first quality score.
28 . A computer program product comprising computer-executable instructions for causing a client to perform at least the steps according to claim 16 .
29 . A computer program product comprising computer-executable instructions for causing a remote media service according to claim 25 to provide a video to a remote client upon request in at least:
a first representation having a first group of pictures, GOP, size, and
wherein the first representation is qualified by a first quality score; and
a second representation having a second GOP size larger than the first GOP size, and
wherein the second representation is qualified by a second quality score, the second quality score superior to the first quality score.
30 . A computer readable storage medium comprising the computer program product according to claim 29 .