Method and system for streaming media content

The system addresses sharp quality changes in adaptive bitrate streaming by adjusting media content quality at the user device, ensuring smoother transitions and improved playback experience through bandwidth-adaptive quality management.

JP2025524819APending Publication Date: 2025-08-01ADAIR GUYS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025502393
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-07-18
Filing Date
2023-07-17
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

Existing adaptive bitrate streaming technologies experience fluctuations in media quality due to network bandwidth variations, leading to undesirable sharp changes in playback quality, which negatively impact the user experience.

Method used

Implementing a system that adjusts media content quality by processing portions of the stream at the user device to smooth transitions between different quality levels based on available bandwidth, using a quality threshold and reduction profiles to maintain consistent playback.

Benefits of technology

The system provides a smoother transition in media quality, enhancing the user experience by minimizing sudden changes and optimizing playback quality according to available bandwidth.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025524819000001_ABST
    Figure 2025524819000001_ABST
Patent Text Reader

Abstract

A system and method for streaming media content are described. A first portion of a media content item is received at a bandwidth available to a user device, and the quality of the first portion is based on the available bandwidth. A second portion of the media content item is received at a reduced or increased bandwidth, for example, based on the available bandwidth. The quality of each portion is determined. In response to a determination that the quality of the second portion received at the reduced bandwidth is below a quality threshold, the quality of the first portion of the media content item is reduced prior to buffering the first portion. In response to a determination that the quality of the second portion received at the increased bandwidth exceeds the quality threshold, the quality of the second portion of the media content item is reduced prior to buffering the second portion.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] The present disclosure relates to methods and systems for streaming media content. In particular, but not exclusively, the present disclosure relates to managing transitions in the quality of streamed media content items as a result of fluctuations in bandwidth.

Summary of the Invention

Means for Solving the Problems

[0002] Adaptive bitrate (ABR) streaming is a technique used when streaming multimedia over a computer network. Current adaptive streaming technologies are based on HTTP and are designed to function efficiently over large distributed HTTP networks such as the Internet. ABR streaming works by detecting the bandwidth at the client (e.g., user device) and adjusting the quality of the media stream as appropriate, e.g., in real time. For example, the client can switch streaming between different quality encodings of a media content item depending on the available resources, which can lead to a very small buffer, fast startup times, and a good experience for both high-quality and low-quality connections. However, network bandwidth variations lead to real-time automatic upgrades or downgrades of bitrate and quality, and such time-varying quality affects the video perceived quality of experience (QoE). This effect is a function of the frequency of quality changes and variables such as, for example, in the middle of a scene when a quality change occurs. This, in turn, provides an implicit meaning for service providers since fluctuations in playback quality are one of the worst nuisances to viewing QoE.

[0003] Systems and methods are provided herein for improving viewing QoE when streaming media content, e.g., using ABR streaming. Such systems and methods can provide an improved experience for the user by, for example, providing a smoother transition between changes in picture quality as a result of an increase or decrease in the bandwidth available to a user device streaming media content.

[0004] According to some embodiments of the systems and methods provided herein, a first portion of a media content item, e.g., one or more scenes, segments, and / or frames, is received at a bandwidth available to a user device, and the quality of the first portion is based on the available bandwidth. A second portion of the media content item is received at a decreased or increased bandwidth, and the quality of the second portion is based on the increased or decreased bandwidth available to the user device. In some embodiments, the user device accesses a manifest file and determines the quality to request based on the current bitrate available to the user device. The quality of each of the first portion and the second portion is determined, e.g., based on information within the manifest file and / or information embedded within the stream, or otherwise. In some embodiments, in response to a determination that the quality of the second portion received at a decreased bandwidth is below a quality threshold, the quality of the first portion of the media content item is reduced, e.g., by processing at the user device, prior to sending the first portion to a playback buffer. In some embodiments, in response to a determination that the quality of the second portion received at an increased bandwidth exceeds a quality threshold, the quality of the second portion of the media content item is reduced, e.g., by processing at the user device, prior to sending the second portion to a playback buffer.

[0005] In some embodiments, the reduction in the quality of the first and / or second portions is performed based on an analysis of the quality of the playback of the media content item during a period preceding an increase or decrease in the decoded data or a decreased picture quality, for example, as a result of a change in the bandwidth available to the user device. For example, the user device may comprise a QoE module that determines whether it is appropriate to perform the quality reduction process on the first and / or second portions and / or may have access to a QoE module provided, for example, on a server.

[0006] In some embodiments, the user device is configured to decode each of the first and second portions. In some embodiments, the user device is configured to store each of the decoded first and second portions in a buffer. In some embodiments, the step of determining the quality of the first portion and the second portion includes the step of determining the resolution of each of the decoded first and second portions. In some embodiments, the step of determining the quality of the first portion and the second portion includes the step of determining a visual quality assessment of each of the decoded first and second portions.

[0007] In some embodiments, the quality threshold comprises a target resolution. For example, the target resolution may be an average target resolution for the display of the media content item on the user device.

[0008] In some embodiments, the quality threshold comprises a threshold quality difference between the quality of the first or second portion and the target resolution. The quality of the first or second portion may be reduced in response to a determination that the difference between the qualities of the first or second portions exceeds the threshold quality difference.

[0009] In some embodiments, the quality threshold comprises a threshold quality difference between the quality of the first portion and the quality of the second portion. The difference between the quality of the first portion and the quality of the second portion may be determined. In response to a determination that the difference between the quality of the first portion and the quality of the second portion exceeds the threshold quality difference, the quality of the first or second portion may be reduced.

[0010] In some embodiments, the quality threshold is based on the type of media content item, e.g., the genre of the media content item, and / or whether the media content item is being streamed live or is pre-recorded. In some embodiments, the quality threshold is based on one or more user preferences. In some embodiments, the quality threshold is based on historical variations in the bandwidth available to the user device. In some embodiments, the quality threshold is based on one or more parameters of the user device, such as the calculated capacity and / or the size / shape of the display screen.

[0011] In some embodiments, the step of reducing the quality of the first or second portion includes applying bandwidth reduction and / or sample rate reduction to the decoded first or second portion.

[0012] In some embodiments, the bandwidth available to the user device may be monitored as a function of time, for example, and / or over a pre-determined period. In some embodiments, a time is determined at which a switch in playback quality will occur as a result of an increase or decrease in the bandwidth available to the user device. A quality reduction profile for application to a reduction in quality of the first or second portion may be determined based on time. In some embodiments, a first time at which the bandwidth available to the user device increases or decreases may be determined. In some embodiments, a second time at which a switch in playback quality may occur is determined. In some embodiments, a quality reduction profile for application to a reduction in quality of the first or second portion is determined based on, for example, the first time and / or the second time. In some embodiments, the quality reduction profile is based on at least one of the amount of the first or second portion in the buffer, the period between the first time and the second time, the type of media content item, the scene, segment, or number of frames of the first or second portion, the inter-frame coding of the first or second portion, and / or the operating parameters of the user device.

[0013] In some embodiments, the quality of the decoded media content items stored in a buffer, for example, a playback buffer, is monitored. The duration of the media content items available at each of a first quality and a second quality in the buffer may be determined. In some embodiments, a time is determined at which playback will switch from playback of a first portion at a first quality to playback of a second portion at a second quality. In response to the determination of the time at which playback will switch, the quality of at least some of the received first and / or second portions is modified, for example, by processing at least some of the decoded first and / or second portions stored in the buffer.

[0014] In some embodiments, based on the available bandwidth, media content items having a target quality are buffered, and an increase or decrease in the available bandwidth for a user device changes the quality of the buffered media content items, and in response to determining a change in the quality of the media content items, at least a portion of the quality of the buffered media content items is reduced.

[0015] In some embodiments, a first portion of a media content item is buffered at the available bandwidth for a user device, and the quality of the first portion is based on the available bandwidth, and a second portion of the media content item is buffered at a decreased or increased bandwidth, and the quality of the second portion is based on the available increased or decreased bandwidth, and when the quality of the first portion exceeds the quality of the second portion, the quality of the first portion of the media content item is reduced prior to playback on the user device, or when the quality of the first portion is less than the quality of the second portion, the quality of the second buffered portion of the media content item is reduced prior to playback on the user device.

Brief Description of the Drawings

[0016] The above and other objects and advantages of the present disclosure will become apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout.

[0017]

Figure 1

[0018]

Figure 2

[0019]

Figure 3A

[0020]

Figure 3B

[0021]

Figure 3C

[0022]

Figure 4

[0023]

Figure 5

[0024]

Figure 6A

[0025]

Figure 6B

[0026]

Figure 7A

[0027]

Figure 7B

[0028]

Figure 8A

[0029]

Figure 8B

DETAILED DESCRIPTION

[0030] DETAILED DESCRIPTION FIG. 1 illustrates an overview of a system 100 for streaming media content, where the media content item is streamed to one or more user devices 102. In particular, the embodiment shown in FIG. 1 illustrates two users watching a soccer game that is being streamed via a network such as the Internet. However, the present disclosure is not so limited and is applicable to any type of media content, such as music, TV shows, movies, video conferences, and lectures, that can be streamed to a user device.

[0031] In the embodiment shown in FIG. 1, system 100 includes one or more user devices 102 such as a tablet computer, a smartphone, a smart TV, or the like, which are configured to display media content to one or more individual users. System 100 may also include a network 108 such as the Internet, which is configured to communicatively couple user device 102 to one or more servers 104 and / or one or more content databases 106 from which media content such as TV broadcasts, movies, and / or advertising content can be obtained for display on user device 102. User device 102 and one or more servers 104 may be communicatively coupled to each other using network 108, and one or more servers 104 may be communicatively coupled to content database 106 using one or more communication paths such as a dedicated communication path and / or network 108. In some embodiments, server 104 may be a server of a service provider that provides media content for display on user device 102.

[0032] In some embodiments, system 100 may comprise an application that provides a guide that enables a user to efficiently navigate media content selections, navigate bi-directional media content items, and easily identify media content they may desire, such as content provided on a database on one or more live streams, through an interface, e.g., a graphical user interface. Such a guide is referred to herein as a bi-directional content guide application, or sometimes as a content guide application, a media guide application, or a guide application.

[0033] With the unprecedented improvement capabilities of the Internet, mobile computing, and high-speed wireless networks, users are accessing media on user device devices that were previously impossible for them. As referred to herein, the terms "user device device", "user device", "user device", "computing device", "electronic device", "electronic device", "media device device", or "media device" include televisions, smart TVs, set-top boxes, integrated receiver decoders (IRDs) for handling satellite TV, digital storage devices, digital media receivers (DMRs), digital media adapters (DMAs), streaming media devices, DVD players, DVD recorders, connected DVDs, local media servers, BLU-RAY (registered trademark) players, BLU-RAY (registered trademark) recorders, personal computers (PCs), laptop computers, tablet computers, web TV boxes, personal computer televisions (PC / TVs), PC media servers, PC media centers, handheld computers, landline telephones, personal digital assistants (PDAs), mobile phones, portable video players, portable music players, portable gaming machines, smartphones, or any other television device, computing device, or wireless device, and / or combinations thereof, and are understood to mean any device for accessing the content described above. In some embodiments, the user device device may have a front-facing screen and a rear-facing screen, multiple front-facing screens, or multiple angled screens. In some embodiments, the user device device may have a front-facing camera and / or a rear-facing camera. On these user device devices, the user may be able to navigate and identify the same content available through the television. As a result, the media guide may similarly be available on these devices as well.The guides provided may be for content available only through a television, for content available only through one or more than one of other types of user equipment devices, or for content available through both a television and one or more than one of other types of user equipment devices. The media guide application may be provided as an online application (i.e., provided on a website) or as a stand-alone application or client on a user equipment device. The various devices and platforms on which the media guide application may be implemented are described in further detail below.

[0034] FIG. 2 is an illustrative block diagram showing an exemplary system 200 configured to display media content. FIG. 2 shows system 200 as including a number and configuration of individual components, but in some embodiments, any number of components of system 200 may be combined and / or integrated as one device, e.g., as user device 102. System 200 includes a computing device 202 (e.g., user device 102), a server 204 (e.g., server 104), and a content database 206 (e.g., content database 106), each communicatively coupled to a communication network 208 (e.g., network 108), which may be the Internet or any other suitable network or group of networks. In some embodiments, system 200 excludes server 204, and functionality that would otherwise be implemented by server 204 is instead implemented by other components of system 200, such as computing device 202. In yet other embodiments, server 204 operates in conjunction with computing device 202 to implement certain functionality described herein in a distributed or collaborative manner.

[0035] Server 204 includes a control circuit network 210 and an input / output (hereinafter, "I / O") path 212, and the control circuit network 210 includes a storage device 214 and a processing circuit network 216. Computing device 202, which can be a personal computer, laptop computer, tablet computer, smartphone, smart TV, smart speaker, or any other type of computing device, includes a control circuit network 218, an I / O path 220, a speaker 222, a display 224, and a user input interface 226, which, in some embodiments, provides user-selectable options for enabling and disabling the display of modified subtitles. The control circuit network 218 includes a storage device 228 and a processing circuit network 220. The control circuit network 210 and / or 218 may be based on any suitable processing circuit network, such as the processing circuit networks 216 and / or 220. As referred to herein, a processing circuit network means a network based on one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc., and it should be understood that it may include a multi-core processor (e.g., dual-core, quad-core, hex-core, or any suitable number of cores). In some embodiments, the processing circuit network may be distributed across multiple distinct processors, e.g., multiple processors of the same type (e.g., two Intel Core i9 processors) or multiple different processors (e.g., an Intel Core i7 processor and an Intel Core i9 processor).

[0036] The memory devices 214, 228, and / or the memory devices of other components of the system 200 (e.g., the memory device of the content database 206 and / or equivalents) may each be an electronic memory device. As referred to herein, the phrase "electronic memory device" or "memory device" refers to random access memory, read-only memory, hard drive, optical drive, digital video disc (DVD) recorder, compact disc (CD) recorder, BLU-RAY (registered trademark) disc (BD) recorder, BLU-RAY (registered trademark) 2D disc recorder, digital video recorder (DVR, sometimes called a personal video recorder or PVR), solid state device, quantum memory device, game console, game media, or any other suitable fixed or removable memory device, and / or any combination thereof, etc., and is understood to mean any device for storing electronic data, computer software, or firmware. The memory devices 214, 228, and / or the memory devices of other components of the system 200 may each be used to store various types of content, metadata, and / or other types of data. Non-volatile memory may also be used (e.g., to boot up the routine and other instructions). A cloud-based memory device may be used to complement or replace the memory devices 214, 228. In some embodiments, the control circuitry 210 and / or 218 executes instructions for applications stored in memory (e.g., the memory devices 214 and / or 228). Specifically, the control circuitry 214 and / or 228 may be instructed by an application to perform the functions discussed herein. In some implementations, any action performed by the control circuitry 214 and / or 228 may be based on instructions received from an application.For example, the application may be implemented as a set of software or executable instructions stored in the memory device 214 and / or 228 and executed by the control circuitry 214 and / or 228. In some embodiments, the application may be a client / server application, where only the client application resides on the computing device 202 and the server application resides on the server 204.

[0037] The application may be implemented using any suitable architecture. For example, it may be a stand-alone application implemented entirely on the computing device 202. In such an approach, the instructions for the application are stored locally (e.g., in the memory device 228), and the data for use by the application is downloaded on a periodic basis (e.g., from an out-of-band feed, from an Internet resource, or using another suitable approach). The control circuitry 218 may read the instructions for the application from the memory device 228, process the instructions, and implement the functionality described herein. Based on the processed instructions, the control circuitry 218 may determine the actions to be taken when an input is received from the user input interface 226.

[0038] In a client / server-based embodiment, control circuitry 218 may include a communication circuitry suitable for communicating with an application server (e.g., server 204) or other network or server. Instructions for performing the functionality described herein may be stored on the application server. The communication circuitry may include a cable modem, an Ethernet® card, or a wireless modem for communication with other devices or any other suitable communication circuitry. Such communication may involve the Internet or any other suitable communication network or path (e.g., communication network 208). In another embodiment of a client / server-based application, control circuitry 218 launches a web browser that interprets a web page provided by a remote server (e.g., server 204). For example, the remote server may store instructions for the application in a storage device. The remote server may use a circuitry (e.g., control circuitry 210) to process the stored instructions and / or generate a display. Computing device 202 may receive a display generated by the remote server and locally display the content of the display via display 224. Thus, while the processing of the instructions is performed remotely (e.g., by server 204), the resulting displays such as display windows described anywhere herein are provided locally on computing device 202. Computing device 202 may receive input from a user via input interface 226 and transmit those inputs to the remote server to process and generate corresponding displays.

[0039] The user may use the user input interface 226 to send commands, for example, to view two-way media content items and / or select one or more programming options of the two-way media content items, to the control circuitry 210 and / or 218. The user input interface 226 may be any suitable user interface such as a remote control, trackball, keypad, keyboard, touch screen, touch pad, stylus input, joystick, voice recognition interface, game controller, or other user input interface. The user input interface 226 may be integrated with or combined with the display 224, which may be a monitor, television, liquid crystal display (LCD), electronic ink display, or any other device suitable for displaying visual images.

[0040] The server 204 and the computing device 202 may each transmit and receive content and data via the I / O paths 212 and 220. For example, the I / O path 212 and / or the I / O path 220 may include communication ports configured to transmit and / or receive (e.g., to and / or from the content database 206) content item identifiers, content metadata, natural language queries, and / or other data via the communication network 208. The control circuitry 210, 218 may use the I / O paths 212, 220 to send and receive commands, requests, and other suitable data.

[0041] Figures 3A-3C illustrate variations in the playback quality in user device 102 based on one or more parameters related to the operation of user device 102. For example, a parameter related to the operation of user device 102 (an "operation parameter") may be related to the bandwidth available to user device 102. For example, the speed of network 108 may vary based on the number of devices coupled to the network. Additionally, or alternatively, the operation parameter may be related to the computing capacity of user device 102. For example, the processing capacity of user device 102 may be affected by the number of processes that user device 102 is performing. The following examples illustrate variations in the quality of streamed media content as a result of the bandwidth available to the user device, but the present disclosure is not so limited, and the systems and methods described below may provide improved transitions between media content item segments of different qualities, regardless of the streaming technique implemented to increase or decrease the quality of media content items displayed on the user device.

[0042] More specifically, ABR streaming is a method of video streaming in which source content is encoded at multiple bitrates. Each of the different bitrate streams is segmented into a plurality of smaller second parts. The segment lengths can vary depending on the particular implementation, but they are typically between 2 and 10 seconds. Initially, the client downloads a manifest file 400 (shown in FIG. 4) that describes the available stream segments (segment numbers) and their individual bitrates (bandwidths) associated with the display of the segments at a given quality (resolution).

[0043] Figure 3A shows the typical relationship between the bandwidth available to user device 102 (client), the resolution of the decoded segment, and the resolution of the decoded segment in the display buffer (e.g., storage device 228) of user device 102. During stream startup, user device 102 may request the first segment of a media content item from the lowest bitrate stream (e.g., 480×360). The data from this stream is then decoded and stored in the display buffer at this resolution. If the client finds that the network throughput exceeds the bitrate of the downloaded segment, it will request a higher bitrate segment. For example, if the bandwidth available to user device 102 is sufficient to stream HD content (e.g., 1,080p), user device 102 requests an HD-encoded stream from server 104. Later, if the client finds that the network throughput has deteriorated, it will request a lower quality encoded stream (e.g., 720p). An ABR algorithm is used by the client and / or the server, in combination with the manifest file 400, to perform the function of determining the encoded stream (e.g., bitrate segment) to be downloaded based on the current available bandwidth (and / or any other operating parameters related to the operation of user device 102). The above process is shown in Figure 3A by the relationship between the available bandwidth, the decoded resolution, and the playback buffer resolution. In particular, Figure 3B shows an HD segment of a soccer game that is displayed between times T0 and T2. At time T1, the available bandwidth has decreased such that an SD-quality encoded stream is requested from server 104 (e.g., as specified by manifest file 400). Between times T1 and T2, the soccer game is displayed in HD quality from the playback buffer. However, at T2, playback switches to SD quality as shown in Figure 3C.Such a sharp decline in presentation quality degrades the user's QoE. For example, when a user is exposed to high-quality presentation, it is undesirable for the quality to unexpectedly and rapidly drop to a much lower level. This may be because the user probably expects good quality as a matter of course. Further, a sharp change in quality or resolution is also undesirable. When a change in quality is expected, for example, as a result of network congestion, a smooth transition in the presentation quality change is more acceptable and thus improves the end-user QoE. The systems and methods disclosed herein enable a smooth transition in the perceived quality. For example, smaller quality fluctuations between consecutive segments are more acceptable than larger jumps (e.g., from HD to SD) and thus have little adverse impact on the user's QoE.

[0044] FIG. 5 is a flowchart depicting an illustrative process 500 for streaming media content, according to some embodiments of the present disclosure. FIGS. 6A and 6B show, respectively, the resolution of the first and second decoded portions of a media content item and the resolution of the first and second decoded portions of the media content item within the display buffer (e.g., storage device 228) of user device 102 resulting from implementing process 500. In particular, FIG. 6A shows such a relationship when the available bandwidth decreases, and FIG. 6B shows such a relationship when the available bandwidth increases. The embodiments shown in FIGS. 5 and 6A and 6B refer to the use of system 100 as shown in FIG. 1, but it should be understood that any of the illustrative processes shown in FIG. 5 and other following illustrative processes may be implemented on system 100 either alone or in combination with any other suitably configured system architecture, such as system 200 shown in FIG. 2.

[0045] At 502, the control circuitry receives a first portion of the media content item at a bandwidth available to the user device. The first portion may be any suitable portion of the media content item, such as one or more scenes, segments, or frames. In some embodiments, the control circuitry of user device 102 determines the current network bandwidth available for streaming a media content item (e.g., a soccer game) to user device 102 based on information contained, for example, in manifest file 400, and is configured to request from server 104 one or more segments of the media content item at that bandwidth. For example, when the available bandwidth is high, a "representation ID = 3" having high quality (e.g., 1080p) may be requested for a particular segment number (see FIG. 4). Thus, the quality of the first portion received from server 104, e.g., the quality of the stream encoded for displaying the first portion, is based on the bandwidth available at user device 102. Additionally or alternatively, server 104 may be configured to determine the bandwidth available at user device 102 and transmit an appropriately encoded stream quality as appropriate.

[0046] At 504, the control circuitry receives a second portion of the media content item at a reduced or increased bandwidth. The second portion may be any suitable portion of the media content item, such as one or more scenes, segments, or frames. In some embodiments, the control circuitry of the user device 102 determines a change in the network bandwidth available for streaming a media content item (e.g., a soccer game) to the user device 102, based on information contained, for example, in the manifest file 400, and is configured to request from the server 104 one or more segments of the media content item at that reduced or increased bandwidth. For example, when the available bandwidth is low, a "representation ID = 1" having a low quality (e.g., 360p) may be requested for a particular segment number (see FIG. 4). Thus, the quality of the second portion received from the server 104, e.g., the quality of the stream encoded to display the second portion, is based on the reduced or increased bandwidth available at the user device 102. Additionally, or alternatively, the server 104 may determine the bandwidth available at the user device 102 and be configured to transmit an appropriately encoded stream quality.

[0047] In 506, the control circuitry is configured to determine the quality of the first portion and the quality of the second portion based on, for example, information within the manifest file 400 and / or information within the received encoded stream. In the context of the present disclosure, the term "quality" relates to one or more parameters used to describe the quality of the auditory and / or visual reproduction of the first or second portion on the user device 102. For example, the quality of the first / second portion may relate to its resolution. Additionally, or alternatively, the quality of the first / second portion may relate to video quality assessment (VQA). In some embodiments, the control circuitry accesses information embedded within the manifest file 400 and / or the received stream and may determine, for example, the quality of the first portion and the quality of the second portion, such as its resolution and / or its VQA, without decoding the stream. Alternatively, the control circuitry may decode the received stream and determine its quality based on, for example, one or more image processing techniques.

[0048] In 508, the control circuitry is configured to compare the quality of at least one of the first and second portions with a quality threshold. For example, the quality threshold may be a resolution threshold, such as a target resolution for display of a media content item. For example, the control circuitry may determine a resolution threshold, such as an average target resolution of 1080p or the like for display of a media content item on user device 102. In some embodiments, the threshold resolution may be determined based on information within manifest 400, operating parameters of user device 102, such as screen size, parameters of the media content item being displayed, such as the type or genre of the media content item, and / or one or more settings within a user profile related to a preferred resolution, and / or based on historical playback metrics of media content on user device 102. In some embodiments, the quality threshold may be a VQA threshold. For example, the VQA of the first or second portion, such as created during encoding production, may be embedded in the stream received from server 104 and / or be accessible within manifest 400. Additionally, or alternatively, 508 may include a step of comparing the quality of the first portion and the quality of the second portion. For example, the control circuitry may be configured to compare the quality of the first portion (such as from manifest file 400 or otherwise determined) with the quality of the second portion (such as from manifest file 400 or otherwise determined). Additionally, or alternatively, the control circuitry may be configured to decode the first and second portions and perform the comparison based on their individual qualities, such as based on one or more image processing techniques.

[0049] In particular, in 508, the control circuitry is configured to compare the quality of the second portion received at the reduced bandwidth with a quality threshold. For example, the quality of the second portion may be a low resolution, such as SD quality (360p), and the target resolution for the display of the media content item on the user device 102 may be set to a high resolution, such as HD quality (1,080p). Based on the comparison of the resolution of the second portion received at the reduced bandwidth with the target resolution, the control circuitry may determine that the quality of the second portion received at the lower bandwidth is less than the target resolution. In response, the control circuitry may reduce the quality of the first portion of the media content item, for example, by processing at least some of the decoded versions of the first portion, prior to sending the first portion to the playback buffer.

[0050] Referring to FIG. 6A, the control circuitry is configured to reduce the quality of a first portion prior to transmitting the first portion to the playback buffer, for example, in a per-step manner. For example, when the bandwidth decreases, adaptation to the reduced bandwidth occurs during streaming, for example, at or before time T1, and the quality of the received stream decreases (e.g., from 1,080p to 360p), ensuring continuous decoding and storage in the playback buffer of the media content item. Prior to the decrease in bandwidth, the user device 102 has received a high-quality encoded stream, and for example, between T1 and T2, enables storage and playback of media content items at such high quality, after which playback of the media content item switches to a lower quality. As discussed above with reference to FIGS. 3A-3C, typical streaming methods and systems aim to maximize the time that media content items are displayed at the highest available quality. However, such methods and systems can cause significant jumps in the quality of media content items displayed on the user device. The methods and systems disclosed herein are beneficial because they provide a smoother transition in the quality of media content items displayed on the user device, for example, without requiring retransmission of a reduced-quality stream from the server 104. In particular, for example, the control circuitry of the user device 102 is configured to process one or more scenes, segments, or frames of the decoded first portion prior to storage in the playback buffer and reduce the quality of the first portion. This means that quality fluctuations can be achieved by a client-driven playback control mechanism, adaptation to varying bandwidth can be accomplished by the server and the client, while the client (e.g., the user device 102) selects one or more scenes / segments / frames for continuous decoding and provides an improved transition in display quality.

[0051] In the embodiment shown in FIG. 6A, the control circuitry is configured to reduce, in a step-by-step manner from 1,080p to 720p, 480p, 360p, for example, between T1 and T2, the quality of a first portion, for example, a part of the first portion received after T1. In this way, when the bandwidth decreases, the viewer experiences a more gradual decrease in the viewing quality of the media content item, which can improve the viewer's QoE. In other words, the user device 102 can determine the amount (e.g., 5 minutes or 50 segments) of the first portion available at a higher quality after a decrease in the available bandwidth. In this way, the user device 102 can predict when an expected change in the decoded picture quality will occur (e.g., after 5 minutes or 50 segments), process the first portion (e.g., at least some of those 5 minutes or 50 segments), and provide a smoother transition to playback at a lower quality (at time T2). Additionally, or alternatively, the control circuitry is configured to monitor the quality of the decoded media content item stored in a buffer, e.g., a playback buffer, and determine the duration of the media content item available at each of the first and second qualities. In some embodiments, the control circuitry may determine the time at which playback will switch from playback of a first portion at a first quality to playback of a second portion at a second quality. In response to determining the time at which playback will switch, the control circuitry may modify the quality of at least some of the received first and / or second portions, for example, by processing at least some of the decoded first and / or second portions stored in the buffer.

[0052] At 510, the control circuitry is configured to operate in a manner similar to that described with respect to 508. In particular, the control circuitry is configured to compare the quality of the second portion received at the increased bandwidth with a quality threshold (see FIG. 6B). In some embodiments, the quality threshold used at 510 is different from the quality threshold used at 508. For example, the quality threshold at 510 may be the quality at which the first portion was received, e.g., 360p quality of the currently displayed portion of the media content item. Thus, when the quality of the second portion is received at a higher resolution, e.g., HD quality (1,080p), the quality of the second portion may be compared to the quality of the first portion received at a lower resolution, e.g., SD quality (360p), and the quality of the second portion of the media content item may be reduced prior to sending the second portion to the playback buffer because the quality of the second portion exceeds the quality of the first portion. In some embodiments, the quality threshold may be the difference between the quality of the first portion and the quality of the second portion. For example, the quality threshold may be set to the first, e.g., minimum step, e.g., the step in resolution from 360p to 480p in quality. In such a case, the control circuitry may be configured to determine that the difference between the quality of the first and second portions includes a second step in quality, e.g., the step in quality from 360p to 1,080p. Thus, the quality of the second portion of the media content item may be reduced prior to sending the second portion to the playback buffer because the difference between the quality steps from the quality of the first and second portions exceeds the minimum step in quality.

[0053] In some embodiments, at 510, the control circuitry may set the target resolution for the display of media content items at the user device 102 to a high resolution, for example, HD quality (1,080p). Based on a comparison of the resolution of the second portion received at the increased bandwidth with the target resolution, the control circuitry may determine that the quality of the second portion received at the higher bandwidth is equal to (or exceeds) the target resolution. In response, the control circuitry may reduce the quality of the second portion of the media content item, for example, prior to sending the second portion to the playback buffer when the resolution of the first portion is less than the target resolution.

[0054] Referring to FIG. 6B, the control circuitry is configured to reduce the quality of the second portion from the maximum available quality prior to sending the second portion to the playback buffer. For example, as the bandwidth increases, adaptation to the increased bandwidth occurs during streaming, e.g., at or before time T1, and the quality of the received stream increases (e.g., from 360p to 1080p). Prior to the increase in bandwidth, the user device 102 has received a low-quality encoded stream and thus limits the playback of the media content item to such low quality. Prior to time T2, the received stream quality increases such that the available decoded resolution increases, e.g., at time T2. As discussed above with reference to FIGS. 3A-3C, typical streaming methods and systems aim to maximize the time that a media content item is displayed at the highest available quality. Thus, typical streaming methods and systems will switch to display the highest available quality as quickly as possible, e.g., at T2. However, such methods and systems can cause significant jumps in the quality of the media content item displayed on the user device. The methods and systems disclosed herein are beneficial because they provide a smoother transition in the quality of the media content item displayed on the user device without, for example, requiring retransmission of a reduced-quality stream from the server 104. In particular, for example, the control circuitry of the user device 102 is configured to process one or more scenes, segments, or frames of the decoded second portion prior to storage in the playback buffer to reduce the quality of the second portion. This means that quality variations can be achieved by a client-driven playback control mechanism, adaptation to varying bandwidth can be accomplished by the server and the client, while the client (e.g., user device 102) selects scenes / segments / frames for continuous decoding and provides an improved transition in display quality.In the embodiment shown in FIG. 6B, the control circuitry is configured to reduce the quality of the second portion, e.g., a part of the second portion received after an increase in bandwidth, in a step-by-step fashion from 1,080p to 480p and then from 1,080p to 720p, for example, in a predetermined period after T2 or as soon as the decoded second portion becomes available for reduced quality processing before maintaining the quality at 1,080p. In this way, the viewer experiences a more gradual jump in the viewing quality of the media content item as the bandwidth increases, which can improve the viewer's QoE.

[0055] It should be understood that the exact resolutions and resolution steps described and illustrated herein are for illustrative purposes only. In fact, the manner in which the quality of the first or second portion can be reduced is based on a quality reduction profile, which is described in more detail below. To avoid misunderstanding, any process or processes described in relation to 508 may be implemented at 510, and vice versa.

[0056] The actions or descriptions of FIGS. 5, 6A, and 6B may be used in combination with any other embodiment of the present disclosure, e.g., the embodiments described below in relation to FIGS. 7A and 7B. Additionally, the actions and descriptions described in relation to FIGS. 5, 6A, and 6B may be performed in any suitable alternative order or in parallel to facilitate the objectives of the present disclosure.

[0057] FIGS. 7A and 7B show flowcharts representing another process for streaming media content according to some embodiments of the present disclosure. The embodiments shown in FIGS. 7A and 7B refer to the use of system 100 as shown in FIG. 1, but it should be understood that any of the illustrative processes shown in FIGS. 7A and 7B and other subsequent illustrative processes may be implemented on system 100 either alone or in combination with any other suitably configured system architecture such as system 200.

[0058] At 702, a control circuit network, e.g., the control circuit network 218 of the user device 102, receives the first and second portions of the media content item via adaptive bitrate streaming, similar to that described in, e.g., 502 and 504 of process 500. For example, the control circuit network 218 may access the manifest file 400 and determine the quality for requesting each of the first and second portions of the media content item.

[0059] At 704, a control circuit network, e.g., the control circuit network 218 of the user device 102, determines, e.g., records or logs in a database, the quality of each of the first and second received portions. For example, the control circuit network may determine the quality of one or more than one scene, segment, or frame of the first and second portions received at a corresponding bandwidth. In particular, the control circuit network analyzes the manifest file 400 and stores, e.g., in a database, a resolution value (and / or any other suitable measure of quality such as VQA) for one or more than one scene, segment, or frame of the first and second portions of the media content item, and optionally, the bandwidth at which each scene, segment, or frame was received. Thus, the control circuit network may determine, e.g., based on the number of scenes, segments, or frames of the first or second portion stored in the buffer at a particular quality, when the scene, segment, or frame of the media content item, display, will change in quality. For example, the control circuit network may determine that following (or in response to) a decrease in available bandwidth, 250 segments of the first portion are available in the buffer for playback at, e.g., high quality (e.g., 1,080p), and 450 segments of the second portion are available in the buffer for playback at, e.g., low quality (e.g., 360p). In some embodiments, the control circuit network is configured to analyze the buffer and determine when a change in display quality will occur, e.g., when the display will switch from the display of the first portion to the display of the second portion.

[0060] At 706, a control circuit network, e.g., the control circuit network 218 of the user device 102, determines whether the quality of the second portion received at a reduced bandwidth is below a quality threshold, e.g., as described in 508 of process 500.

[0061] In response to determining that the quality of the second portion received at the reduced bandwidth is not less than the quality threshold, process 700 moves to 710. In response to determining that the quality of the second portion received at the reduced bandwidth is less than the quality threshold, process 700 moves to 712.

[0062] At 708, a control circuitry, e.g., control circuitry 218 of user device 102, determines whether the quality of the second portion received at the increased bandwidth exceeds the quality threshold, similar to that described at 510 of process 500. In response to determining that the quality of the second portion received at the increased bandwidth does not exceed the quality threshold, process 700 moves to 710. In response to determining that the quality of the second portion received at the reduced bandwidth exceeds the quality threshold, process 700 moves to 712.

[0063] At 710, a control circuitry, e.g., control circuitry 218 of user device 102, transmits the first and second portions to a playback buffer for playback on user device 102, without, for example, modifying the quality of the first or second portion. In some embodiments, the control circuitry decodes the first and second portions after 706 or 708. In other embodiments, decoding of the first and second portions occurs when the first and second portions are received, e.g., after 702. The decoded first and second portions may be stored in a buffer, e.g., a playback buffer or another intermediate buffer. The decoded first and second portions may then be displayed from the playback buffer, e.g., at 734 (see arrow B).

[0064] At 712, a control circuit network, e.g., the control circuit network 218 of the user device 102, determines whether to activate a QoE module such as the processing circuit network 230 in response to a positive determination at, e.g., 706 or 708. For example, in some cases, it may be beneficial for the user device 102 to automatically process and reduce the quality of the first or second portion in response to the user device 102 requesting a portion of the media content item at a different quality. In other words, smoothing during the transition between high and low quality may be performed by default. However, in other cases, since such processing requires a certain amount of computing capacity, it may be beneficial to determine by default whether to process the first or second portion and reduce its quality. Thus, at 712, the control circuit network determines whether the QoE module should be activated to optimize, e.g., the computing efficiency of the user device 102. For example, performing a quality reduction process may not be justified in all situations. The QoE module is configured to reduce the quality of at least some of the first or second portions by, e.g., processing at least some of the decoding and stored versions of the first or second portions. For example, from the perspective of computing capacity, to determine whether QoE should be activated, the control circuit network may analyze the degree to which the media content item quality varies over a period preceding a decrease or increase in the quality of the received portion of the media content item.

[0065] In 714, a control circuit network, e.g., the control circuit network 218 of the user device 102, either determines the playback quality directly based on the resolution or estimates it based on the required bitrate prior to a decrease or increase in the available bandwidth. In some embodiments, the control circuit network monitors the available bandwidth and stores a record of the available bandwidth as a function of time. In this way, the control circuit network can determine variations in the available bandwidth at the user device 102 over a period preceding a decrease or increase in the quality of the received portion of the media content item. In some embodiments, the control circuit network is configured to determine the number of times the bitrate of the media content item received at the user device 102 changes within a pre-determined period, e.g., within 10 minutes, or since the start of the display of the media content item. For example, the control circuit network 218 of the user device 102 may determine that the bitrate of the received media content item has switched a certain number of times, e.g., 5 times, since the start of the media content item, and compare the determined number of bitrate switches with a threshold switching value regarding the number of switches permitted before QoE is activated. For example, the bitrate may switch several times during the initial portion of the media content item, e.g., due to the calculated capacity of the user device 102, and then settle to a steady bitrate (and continue streaming at the target resolution). If the determined number of bitrate switches is less than the threshold switching value, QoE is not activated. Conversely, if the determined number of bitrate switches exceeds the threshold switching value, QoE may be activated. Additionally, or alternatively, the control circuit network 218 of the user device 102 may be configured to determine the highest and lowest required bitrates within a pre-determined period.For example, the control circuit network determines, based on the information in the manifest file 400, for example, that the highest required bitrate is 7.5 Mbps (see, for example, "Bandwidth = High" for "Presentation ID = 3" in FIG. 4), and the lowest required bitrate was 3.5 Mbps (see, for example, "Bandwidth = Medium" for "Presentation ID = 2" in FIG. 4), and may compare the difference between the highest required bitrate and the lowest required bitrate (e.g., 4 Mbps) with a threshold bitrate difference value (e.g., 5 Mbps) that is allowed before QoE is activated. If the determined difference between the highest received bitrate and the lowest received bitrate is less than the threshold bitrate difference value, QoE is not activated. Conversely, if the determined difference between the highest received bitrate and the lowest received bitrate exceeds the threshold bitrate difference value, QoE may be activated. In other words, the QoE module determines whether one or more jumps in the quality of the display of the media content item are frequent and / or large enough to justify the activation of the QoE module. Thus, the activation of the QoE module may be withheld in situations where the QoE of viewing the media content item is likely to be significantly affected by variations in the available bandwidth.

[0066] In the example shown in FIG. 7A, the activation of QoE is based on a threshold quality difference, in addition to or as an alternative to 714. For example, at 716, the threshold quality difference is set based on, for example, settings within a user profile, parameters of the user device 102, and / or parameters of the media content item. Referring back to 706 and 708, the control circuitry compares the quality of the first portion and the quality of the second portion with the threshold quality difference. At 716, the QoE module determines whether the difference between the quality of the first / second portions and the quality threshold exceeds the threshold quality difference. For example, the control circuitry may determine whether the quality of the second portion received at a reduced bandwidth is above a certain range and below the quality threshold. Similarly, the control circuitry may determine whether the quality of the second portion received at an increased bandwidth is above a certain range and above the quality threshold. Thus, the activation of the QoE module can be adjusted based on one or more other settings so as not to be activated by default. In some embodiments, the threshold quality difference may be set such that the QoE module is activated based on parameters of the user device 102. For example, the threshold quality difference may be adjusted based on how and what the user is viewing. For example, the QoE module may be set to be activated, for example, by default, when the user views a media content item on a TV (low threshold quality difference) and not activated when viewing on a tablet (high threshold quality difference). In some embodiments, for example, when the QoE module is provided within a set-top box, the control circuitry may determine parameters such as the size or resolution capabilities of the display on which the user views the media content item and be configured to activate QoE as appropriate. For example, if the user device 102 is an HD TV, the threshold quality difference may be set to a low value, and if the user device 102 is a mobile device, the threshold quality difference may be set to a high value.Additionally, or alternatively, the control circuitry may be configured to determine the type (e.g., genre) of the streaming media content item. For example, the control circuitry may determine whether the media content item is a high-paced action movie or a sports game, in which case, QoE may be activated based on, for example, a low threshold quality difference, as opposed to a low-paced documentary or webinar, in which case, QoE would not be activated based on, for example, a high threshold quality difference. Additionally, or alternatively, the threshold quality difference may be based on settings within the user profile such as user preferences regarding the frequency and / or size of bitrate switching, preferences related to the type (e.g., genre) of the media content item, and / or preferences related to the type of the user device 102. For example, a user may configure the QoE module to activate when watching sports on a large TV (low threshold quality difference), but not when making a video call on a mobile device (high threshold quality difference). In other words, the QoE module determines whether the user consumes the operating capacity of the user device 102 based on the situation in which the user is viewing the media content item and / or the content being viewed. Thus, activation of the QoE module may be withheld for situations where the QoE of viewing a media content item is likely to result in a significant difference in the user's viewing experience, as different users will have different thresholds and reasons for which their QoE is affected by jumps in quality. Accordingly, if the control circuitry determines not to activate the QoE module, process 700 moves to 710, and if the control circuitry determines to activate the QoE module, process 700 moves to 718 (see arrow A).

[0067] In 718, the QoE module is activated, causing, for example, a reduction in the quality of the first or second part of the media content item and a display of the first or second part of the media content item at the reduced quality. When activated, at 720, the QoE module is configured to determine a quality reduction profile for the first or second part (see 600 in FIGS. 6A and 6B and 800 in FIGS. 8A and 8B).

[0068] At 720, to determine the quality reduction profile, a control circuitry, such as the control circuitry 218 of the user device 102, determines the first and second parts of the media content item to be processed for quality reduction. For example, when the quality of the media content item decreases due to a reduction in the available bandwidth, the control circuitry selects the first part for quality reduction processing. FIG. 8A shows an exemplary quality reduction profile for reducing the quality of the first part, thereby reducing the display quality of the media content item. Conversely, when the quality of the media content item increases due to an increase in the available bandwidth, the control circuitry selects the second part for quality reduction processing. FIG. 8B shows an exemplary quality reduction profile for reducing the quality of the second part, thereby increasing the display quality of the media content item. In some embodiments, the quality reduction profile may be set to a linear reduction 802 in quality as a function of time, by default, for example, or some other quality reduction profile, such as 804, etc., for example, T START and T END and may be set to a reduction in quality as a function of time between. In some embodiments, when the quality of the first part is to be reduced, the T shown in FIG. 8A END corresponds to the time T2 shown in FIG. 6A, i.e., the time at which the display of the media content item switches to low quality, and T STARTmay correspond to time T1 or some other time following when the control circuitry determines (or predicts) the next coming change in quality. In some embodiments, when the quality of the second portion is to be reduced, T shown in FIG. 8A START corresponds to time T2 shown in FIG. 6B, i.e., the time when the display of the media content item is available for display in high quality, and T END may correspond to some other predetermined time after T2. In the embodiment shown in FIG. 6A, the quality reduction profile comprises a step-by-step profile, and the quality of the first portion is sequentially reduced from 1,080p to 720p, 480p, 360p such that the final step to 360p coincides with the start of the display of the second portion, i.e., the decoded resolution of the media content item is reduced to 360p. In the embodiment shown in FIG. 6B, the quality reduction profile comprises a step-by-step profile, and the quality of the first portion is sequentially reduced from 1,080p to 480p and then from 1,080p to 760 such that the final step to 1,080p is without any quality reduction. Thus, the display of the second portion transitions from 360p to 480p, 720p, 1,080p.

[0069] In the example shown in FIG. 7B, the determination of the quality reduction profile is based on media content item parameters, buffer parameters, user device parameters, and / or settings within the user profile. For example, the quality reduction profile may be based on the type (e.g., genre) of the content being viewed. Additionally, or alternatively, the quality reduction profile may be based on one or more factors associated with a scene, segment, or frame of the media content item stored in the buffer. For example, the quality reduction profile may be based on the number of scenes, segments, or frames of the media content item stored in the buffer. For example, if the buffer contains multiple scenes, the reduction in quality may be done to accommodate changes in the scene, or if the media content item is a soccer game, the reduction in quality may be done to accommodate changes in camera angle or the progression of play such as during an attack or a defensive period. In some examples, if the media content item is a webinar or a video conference, the reduction in quality may be done during transitions in the speaker or the presentation of a slideshow. Additionally, or alternatively, the quality reduction profile may be based on one or more I-frames of the media content item. In some examples, the quality reduction profile may be based on one or more parameters related to the operation of the user device 102. For example, the quality reduction profile may be determined based on the computing capacity of the user device 102. For example, the processing of the media content item to reduce its quality may be timed to not coincide with one or more other processes of the user device 102. In particular, the processing of the media content item to reduce its quality may be prevented or postponed when the processing of the media content item would impair one or more other operations of the user device 102, such as causing a reduction in the quality of the requested stream.In some embodiments, the quality reduction profile may be based on one or more settings within the user profile, such as settings related to how the user prefers to implement a quality smoothing process.

[0070] At 722, a control circuitry, such as the control circuitry 218 of the user device 102, processes at least some of the first portion according to the determined quality reduction profile to reduce its quality. The quality reduction may be implemented in any suitable manner, or in a manner similar to that described in 508 of process 500, for example, by applying bandwidth reduction and / or sample rate reduction.

[0071] At 724, a control circuitry, such as the control circuitry 218 of the user device 102, transmits the first portion of the reduced quality to the playback buffer.

[0072] At 726, a control circuitry, such as the control circuitry 218 of the user device 102, transmits the second portion to the playback buffer, for example, without modification to its quality. Alternatively, the second portion may be transmitted to the playback buffer between 706 and 712.

[0073] At 728, a control circuitry, such as the control circuitry 218 of the user device 102, processes at least some of the second portion according to the determined quality reduction profile to reduce its quality. The quality reduction may be implemented in any suitable manner, or in a manner similar to that described in 510 of process 500, for example, by applying bandwidth reduction and / or sample rate reduction.

[0074] At 730, a control circuitry, such as the control circuitry 218 of the user device 102, transmits the second portion of the reduced quality to the playback buffer.

[0075] At 732, a control circuit network, e.g., the control circuit network 218 of the user device 102, transmits a first portion to the playback buffer, e.g., without modification to its quality. Alternatively, the first portion may be transmitted to the playback buffer between 706 and 712.

[0076] At 734, a control circuit network, e.g., the control circuit network 218 of the user device 102, displays the first and second portions in a manner that smooths the transition in quality between the two portions so that a viewer does not experience a large and sudden change in the quality of the media content item being viewed and thus increases their QoE.

[0077] The actions or descriptions of FIGS. 7A and 7B may be used in conjunction with any other embodiment of the present disclosure. Additionally, the actions and descriptions described in connection with FIGS. 7A and 7B may be performed in any suitable alternative order or in parallel to further the objectives of the present disclosure.

[0078] The processes described above are illustrative and not intended to be limiting. Those skilled in the art will understand that the steps of the processes discussed herein may be omitted, modified, combined, and / or reordered without departing from the scope of the invention, and that any additional steps may be performed without departing from the scope of the invention. More generally, the above disclosure is illustrative and not intended to be limiting. Only the following claims are intended to set the boundaries of what the invention encompasses. Additionally, note that any features and limitations described in any one embodiment may apply to any other embodiment herein, and that a flowchart or example associated with one embodiment may be combined with any other embodiment in a suitable manner, performed in a different order, or performed in parallel. In addition, the systems and methods described herein may be implemented in real time. Also note that the systems and / or methods described above may be applied or used in accordance with other systems and / or methods. This specification discloses embodiments including, but not limited to, the following. 1. A method for streaming media content, comprising: receiving, using a control network, a first portion of a media content item at a bandwidth available to a user device, wherein the quality of the first portion is based on the available bandwidth; receiving, using a control network, a second portion of the media content item at a reduced or increased bandwidth, wherein the quality of the second portion is based on the increased or reduced bandwidth available to the user device; determining, using the control network, the quality of the first portion and the second portion; reducing, using the control network, the quality of the first portion of the media content item prior to transmitting the first portion to a playback buffer in response to determining that the quality of the second portion received at the reduced bandwidth is below a quality threshold; or reducing, using the control network, the quality of the second portion of the media content item prior to transmitting the second portion to the playback buffer in response to determining that the quality of the second portion received at the increased bandwidth exceeds the quality threshold. 2. The method of item 1, wherein reducing the quality of the first or second portion is performed based on an analysis of the quality of playback of the media content item during a period preceding an increase or decrease in the decoded data picture quality available to the user device. 3. The method of item 1, further comprising decoding each of the first and second portions, and wherein determining the quality of the first and second portions comprises at least one of: determining the resolution of each of the decoded first and second portions; or determining a visual quality assessment of each of the decoded first and second portions. 4. The method of item 1, comprising at least one of the above. 5. The method of item 1, further comprising: 4. The quality threshold is the method according to item 1 with a target resolution. 5. The quality threshold has a threshold quality difference between the quality of the first or second part and the target resolution, and the method is The method according to item 4, including the step of reducing the quality of the first or second part in response to a determination that the difference between the qualities of the first or second part exceeds the threshold quality difference. 6. The quality threshold has a threshold quality difference between the quality of the first part and the quality of the second part, and the method is The step of determining the difference between the quality of the first part and the quality of the second part, and The step of reducing the quality of the first or second part in response to a determination that the difference between the quality of the first part and the quality of the second part exceeds the threshold quality difference, and The method according to item, including. 7. The quality threshold is the method according to item 1 based on the type of media content item. 8. The step of reducing the quality of the first or second part includes the step of applying bandwidth reduction and / or sample rate reduction to the decoded first or second part. The method according to item 1. 9. The method is The step of determining the time at which a switch in playback quality will occur as a result of an increase or decrease in the available bandwidth of the user device, and Based on the first time and the second time, determining a quality reduction profile and applying it to the reduction in the quality of the first or second part, and The method according to item 1, including. 10. The quality reduction profile is The amount of the first or second part in the buffer, The period between the first time and the second time, The type of media content item, The number of scenes, segments, or frames of the first or second part, Inter-frame coding of the first or second part, or The operating parameters of the user device, The method according to item 9, based on at least one of them. 11. A media content streaming system, Receiving a first portion of a media content item at a bandwidth available to a user device, the quality of the first portion being based on the available bandwidth, Receiving a second portion of the media content item at a reduced or increased bandwidth, the quality of the second portion being based on the increased or reduced bandwidth available to the user device, Determining the quality of the first portion and the second portion, Reducing the quality of the first portion of the media content item prior to transmitting the first portion to a playback buffer in response to a determination that the quality of the second portion received at a reduced bandwidth is below a quality threshold, or Reducing the quality of the second portion of the media content item prior to transmitting the second portion to a playback buffer in response to a determination that the quality of the second portion received at an increased bandwidth exceeds the quality threshold, A system comprising a control circuitry, configured as such. 12. The reduction in the quality of the first or second portion is performed based on an analysis of the quality of playback of the media content item during a period preceding an increase or decrease in the decoded data picture quality available to the user device. The system according to item 11. 13. The control circuitry is further configured to decode each of the first and second portions, and the step of determining the quality of the first portion and the second portion is Determining the resolution of each of the decoded first and second portions, or Determining a visual quality assessment of each of the decoded first and second portions, The system according to item 11, including at least one of these. 14. The quality threshold is a system according to item 11 with a target resolution. 15. The quality threshold comprises a threshold quality difference between the quality of the first or second portion and the target resolution, and the control circuitry is further configured to reduce the quality of the first or second portion in response to a determination that a difference between the qualities of the first or second portion exceeds the threshold quality difference, the system of claim 14. 16. The quality threshold comprises a threshold quality difference between the quality of the first portion and the quality of the second portion, and the control circuitry is further configured to determine a difference between the quality of the first portion and the quality of the second portion, and reduce the quality of the first or second portion in response to a determination that the difference between the quality of the first portion and the quality of the second portion exceeds the threshold quality difference, the system of claim 11. 17. The quality threshold is based on the type of media content item, the system of claim 11. 18. Reducing the quality of the first or second portion includes applying bandwidth reduction and / or sample rate reduction to the decoded first or second portion, the system of claim 11. 19. The control circuitry is further configured to determine a time at which a switch in playback quality will occur as a result of an increase or decrease in the available bandwidth of the user device, determine a quality reduction profile based on the first time and the second time and apply the reduction to the quality of the first or second portion, the system of claim 11. 20. The quality reduction profile is based on the amount of the first or second portion in the buffer, the period between the first time and the second time, the type of media content item, the number of scenes, segments, or frames of the first or second portion, the inter-frame coding of the first or second portion, or the operating parameters of the user device, The system according to item 19, based on at least one of them. 21. A system for streaming media content, Means for receiving a first portion of a media content item at a bandwidth available to a user device using a control circuit network, wherein the quality of the first portion is based on the available bandwidth, and Means for receiving a second portion of a media content item at a reduced or increased bandwidth using a control circuit network, wherein the quality of the second portion is based on the increased or reduced bandwidth available to the user device, and Means for determining the quality of the first and second portions using a control circuit network; Means for reducing the quality of the first portion of the media content item using a control circuit network, prior to transmitting the first portion to a playback buffer, in response to a determination that the quality of the second portion received at the reduced bandwidth is below a quality threshold, or Means for reducing the quality of the second portion of the media content item using a control circuit network, prior to transmitting the second portion to a playback buffer, in response to a determination that the quality of the second portion received at the increased bandwidth exceeds a quality threshold; A system comprising: 22. The system according to item 21, wherein the reduction in the quality of the first or second portion is performed based on an analysis of the quality of playback of the media content item during a period preceding an increase or decrease in the decoded data picture quality available to the user device. 23. The present system further comprises means for decoding each of the first and second portions, and determining the quality of the first and second portions Determining the resolution of each of the decoded first and second portions, or Determining a visual quality assessment of each of the decoded first and second portions, including at least one of: The system according to item 21. 24. The quality threshold is the system according to item 21, having a target resolution. 25. The quality threshold has a threshold quality difference between the quality of the first or second part and the target resolution, and the system further comprises means for reducing the quality of the first or second part in response to a determination that the difference between the qualities of the first or second part exceeds the threshold quality difference. The system according to item 24. 26. The quality threshold has a threshold quality difference between the quality of the first part and the quality of the second part, and the system further comprises means for determining the difference between the quality of the first part and the quality of the second part, and means for reducing the quality of the first or second part in response to a determination that the difference between the quality of the first part and the quality of the second part exceeds the threshold quality difference. The system according to item 21, comprising. 27. The quality threshold is the system according to item 21, based on the type of media content item. 28. The means for reducing the quality of the first or second part includes means for applying bandwidth reduction and / or sample rate reduction to the decoded first or second part. The system according to item 21. 29. The system further comprises means for determining the time at which a switch in playback quality will occur as a result of an increase or decrease in the available bandwidth of the user device, and means for determining a quality reduction profile based on the first time and the second time and applying it to the reduction in the quality of the first or second part. The system according to item 21, comprising. 30. The quality reduction profile is the amount of the first or second part in the buffer, the period between the first time and the second time, the type of media content item, the number of scenes, segments, or frames of the first or second part, inter - frame coding of the first or second portion, or operating parameters of the user device, The system according to item 29, based on at least one of the above. 31. A non - transitory computer - readable medium which, when executed by a control circuitry, causes the control circuitry to receive a first portion of a media content item at a bandwidth available to a user device, the quality of the first portion being based on the available bandwidth, receive a second portion of the media content item at a reduced or increased bandwidth, the quality of the second portion being based on the increased or reduced bandwidth available to the user device, determine the quality of the first portion and the second portion, reduce the quality of the first portion of the media content item prior to transmitting the first portion to a playback buffer in response to a determination that the quality of the second portion received at the reduced bandwidth is below a quality threshold, or reduce the quality of the second portion of the media content item prior to transmitting the second portion to a playback buffer in response to a determination that the quality of the second portion received at the increased bandwidth exceeds the quality threshold, A non - transitory computer - readable medium having non - transitory computer - readable instructions encoded thereon. 32. The reduction in the quality of the first or second portion is performed based on an analysis of the quality of playback of the media content item during a period preceding an increase or decrease in the decoded data picture quality available to the user device, the non - transitory computer - readable storage medium according to item 31. 33. The execution of the instructions further causes the control circuitry to decode each of the first and second portions and determining the quality of the first and second portions is determining the resolution of each of the decoded first and second portions, or Determining a respective visual quality assessment of each of the decoded first and second portions The non-transitory computer-readable storage medium according to item 31, including at least one of them 34. The quality threshold is the non-transitory computer-readable storage medium according to item 31, having a target resolution 35. The quality threshold has a threshold quality difference between the quality of the first or second portion and the target resolution, and the execution of the instruction further causes the control circuitry to Reduce the quality of the first or second portion in response to a determination that the difference between the qualities of the first or second portion exceeds the threshold quality difference. The non-transitory computer-readable storage medium according to item 31 36. The quality threshold has a threshold quality difference between the quality of the first portion and the quality of the second portion, and the execution of the instruction further causes the control circuitry to Determine the difference between the quality of the first portion and the quality of the second portion Reduce the quality of the first or second portion in response to a determination that the difference between the quality of the first portion and the quality of the second portion exceeds the threshold quality difference The non-transitory computer-readable storage medium according to item 31 37. The quality threshold is the non-transitory computer-readable storage medium according to item 31, based on the type of the media content item 38. Reducing the quality of the first or second portion includes applying bandwidth reduction and / or sample rate reduction to the decoded first or second portion. The non-transitory computer-readable storage medium according to item 31 39. The execution of the instruction further causes the control circuitry to Determine the time when a switch in playback quality will occur as a result of an increase or decrease in the available bandwidth of the user device Determine a quality reduction profile based on the first time and the second time and apply it to the reduction in the quality of the first or second portion The non-transitory computer-readable storage medium according to item 31 40. The quality reduction profile is The amount of the first or second portion in the buffer, The period between the first time and the second time, The type of the media content item, The number of scenes, segments, or frames of the first or second portion, Inter-frame coding of the first or second portion, or The operating parameters of the user device, The non-transitory computer-readable storage medium according to item 31, based on at least one of them.

Claims

1. A method for streaming media content, the method comprising: Receiving, using a control network, a first portion of a media content item at a bandwidth available to a user device, wherein the quality of the first portion is based on the available bandwidth; Receiving, using a control network, a second portion of the media content item at a reduced or increased bandwidth, wherein the quality of the second portion is based on the increased or reduced bandwidth available to the user device; Determining, using a control network, the quality of the first portion and the second portion; Reducing, using a control network, the quality of the first portion of the media content item prior to transmitting the first portion to a playback buffer in response to determining that the quality of the second portion received at the reduced bandwidth is below a quality threshold; or Reducing, using a control network, the quality of the second portion of the media content item prior to transmitting the second portion to a playback buffer in response to determining that the quality of the second portion received at the increased bandwidth exceeds the quality threshold A method comprising the above steps.

2. The method according to claim 1, wherein the reduction in the quality of the first or second portion is performed based on an analysis of the quality of playback of the media content item during a period preceding an increase or decrease in the decoded data picture quality available to the user device.

3. The method further comprises decoding each of the first and second portions, and determining the quality of the first portion and the second portion comprises: Determining the resolution of each of the decoded first and second portions; or Determining a visual quality assessment of each of the decoded first and second portions The method according to claim 1, comprising at least one of the above steps.

4. The method according to claim 1, wherein the quality threshold comprises a target resolution.

5. The quality threshold comprises a threshold quality difference between the quality of the first or second portion and the target resolution, and the method comprises: The method according to claim 4, comprising reducing the quality of the first or second portion in response to a determination that a difference between the qualities of the first or second portion exceeds the threshold quality difference.

6. The quality threshold comprises a threshold quality difference between the quality of the first portion and the quality of the second portion, and the method comprises: determining a difference between the quality of the first portion and the quality of the second portion; reducing the quality of the first or second portion in response to a determination that the difference between the quality of the first portion and the quality of the second portion exceeds the threshold quality difference. The method according to claim 1.

7. The method according to claim 1, wherein the quality threshold is based on a type of media content item.

8. Reducing the quality of the first or second portion comprises applying bandwidth reduction and / or sample rate reduction to the decoded first or second portion. The method according to claim 1.

9. The method comprises: determining a time at which a switch in playback quality would occur as a result of an increase or decrease in the bandwidth available to the user device; determining a quality reduction profile based on a first time and a second time and applying the quality reduction profile to a reduction in the quality of the first or second portion. The method according to claim 1.

10. The quality reduction profile is based on: an amount of the first or second portion within a buffer; a period between the first time and the second time; a type of the media content item; a number of scenes, segments, or frames of the first or second portion; inter-frame coding of the first or second portion; or operating parameters of the user device. The method according to claim 9, based on at least one of the above.

11. A media content streaming system, wherein a control circuit of the system: receives a first portion of a media content item at a bandwidth available to a user device, wherein the quality of the first portion is based on the available bandwidth; receives a second portion of the media content item at an increased or decreased bandwidth, wherein the quality of the second portion is based on the increased or decreased bandwidth available to the user device; determines the quality of the first portion and the second portion. Prior to transmitting the first portion to the playback buffer in response to a determination that the quality of the second portion received at the reduced bandwidth is below a quality threshold, reducing the quality of the first portion of the media content item, or prior to transmitting the second portion to the playback buffer in response to a determination that the quality of the second portion received at the increased bandwidth exceeds the quality threshold, reducing the quality of the second portion of the media content item and is configured to perform. A system **Claim 12** The reduction in the quality of the first or second portion is performed based on an analysis of the quality of playback of the media content item during a period preceding an increase or decrease in the decoded data available to the user device in terms of increased or decreased picture quality, according to the system of claim 11 **Claim 13** The control circuitry is further configured to decode each of the first and second portions, and determining the quality of the first portion and the second portion is determining the resolution of each of the decoded first and second portions, or determining a visual quality assessment of each of the decoded first and second portions and includes at least one of the above. The system of claim 11 **Claim 14** The control circuitry is further configured to determine the time at which a switch in playback quality will occur as a result of an increase or decrease in the bandwidth available to the user device, and based on the first time and the second time, determine a quality reduction profile and apply it to the reduction in the quality of the first or second portion and is configured to perform. The system of claim 11 **Claim 15** The control circuitry is further configured to determine the time at which a switch in playback quality will occur as a result of an increase or decrease in the bandwidth available to the user device, and based on the first time and the second time, determine a quality reduction profile and apply it to the reduction in the quality of the first or second portion and is configured to perform. The quality reduction profile is the amount of the first or second portion in the buffer, the period between the first time and the second time, the type of the media content item, The number of scenes, segments, or frames of the first or second portion, inter-frame coding of the first or second portion, or the operating parameters of the user device The system according to claim 14, based on at least one of the above.