Adaptive Streaming of Media Content with Bitrate Switching
By pre-storing transition segments on the media streaming server, the glitch problem when switching between different bit rates is solved, and a smooth transition between encoding modes is achieved, improving user experience and reducing computing and bandwidth requirements.
Patent Information
- Application Number
- CN202180009451.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-01-15
- Filing Date
- 2021-01-12
- Publication Date
- 2025-06-24
- Estimated Expiration
- 2041-01-12
AI Technical Summary
When switching between different bit rates, media content may experience glitches or unnatural transitions, affecting the user experience.
By pre-storing transition segments on the media streaming server side, the client device can receive these transition segments to smoothly transition between different encoding modes rather than directly switching to different bit rate encoding modes.
Reduce or eliminate undesired effects such as glitches or transitions when switching coding modes, improve user experience, and reduce compute and bandwidth requirements for client devices and servers.
Smart Images

Figure CN114946192B_ABST
Abstract
Description
[0001] Cross - Reference to Related Applications
[0002] This application claims priority to the following priority applications: U.S. Provisional Application No. 62 / 961,257, filed on January 15, 2020 (Reference No.: D19012USP1) and European Application No. 20151982.4, filed on January 15, 2020 (Reference No.: D19012EP), which are hereby incorporated by reference. Technical Field
[0003] This document relates to adaptively streaming media content from a media streaming server to a client device, e.g., adaptively streaming to a media playback device, where the media content can be streamed at different bitrates and the client device requests an encoding mode switch to change the bitrate. Background Art
[0004] Various server - client paradigms allow for streaming audio and / or video media content from a media streaming server to a media playback device using different bitrates.
[0005] For example, Dynamic Adaptive Streaming over HTTP (DASH), also known as MPEG - DASH, is an adaptive bitrate streaming technology that enables high - quality streaming of media content delivered from a traditional HTTP web server over the Internet. Similar to HTTP Live Streaming (HLS) solutions, MPEG - DASH works by dividing the media content into a sequence of small HTTP - based file segments, each segment containing a playback time interval of the media content (such as a live broadcast of a movie or a sports event). The media content is made available at various different bitrates, i.e., alternative segments encoded at different bitrates cover aligned short playback time intervals. When an MPEG - DASH client plays back the content, the client can use a bitrate adaptation algorithm to automatically select the segment with the highest possible bitrate that can be downloaded in time for playback without causing pauses or rebuffering events during playback.
[0006] In other words, adaptive streaming of media content allows for switching between media content segments having different bitrates, for example, to adapt to changing network conditions and provide high-quality playback with fewer pauses or rebuffering events. However, switching between different bitrates may require different encoding of the audio or video signal, and when switching between these different encodings, undesired effects perceptible at the receiver side may occur. Examples of these effects are glitches or other unnatural transitions in the streamed media content, thus hindering the user experience. Summary of the Invention
[0007] According to one aspect, a method for adaptive streaming of media content using bitrate switching is described. The media content includes a plurality of consecutive media segments, and at a media streaming server, the method includes transmitting a segment of the media content encoded in a first encoding mode having a first bitrate. In some embodiments, the media content may be transmitted to a client device, where the client device may represent a media playback device configured to receive and playback the media content. The media segments may be transmitted from the server to the client device in response to corresponding media content requests from the client device. For example, these requests may be HTTP requests, such as an HTTP GET request (e.g., according to MPEG-DASH) for a particular media segment. The media content request may specify the requested media segment (e.g., via an identifier of the segment) and the encoding mode of the requested media segment. However, the present disclosure is not limited to HTTP requests and may be applied to other techniques for transmitting media segments from a server to a client device.
[0008] The method further includes receiving from the client device a request or indication to switch the encoding mode to a second encoding mode having a second bitrate. For example, as described above, the client device may desire to change the bitrate of the received media content to adapt to changing network conditions, for example, to maintain high-quality playback with fewer pauses or rebuffering events. The media streaming server and the client device may communicate via a communication network such as the Internet using an appropriate protocol. Further, the client device may only have access to a limited bandwidth in the network that needs to be shared with other users, and a change in the bandwidth availability may require or allow a change in the received bitrate, thus causing the client device to issue a corresponding request. For example, in the case of a decrease in network bandwidth availability, it may be necessary to reduce the bitrate of the media stream (with reduced quality) to maintain a stable transmission of the media content. Vice versa, if the client device determines that the network conditions have changed and a higher bitrate is possible, it may select an encoding mode with better quality. In these cases, the client device may desire to adaptively switch to different encoding modes having different bitrates.
[0009] At a media streaming server, when a request or indication for switching an encoding mode to a second encoding mode with a second bitrate is received from a client device, a transition segment for transitioning between the first encoding mode and the second encoding mode is transmitted. The indication or request for encoding mode switching can be explicit. For example, a message in which the client device notifies the server about an expected change from encoding mode A to encoding mode B. Alternatively, the indication for encoding mode switching can be implicit. For example, the client device requests a transition segment for the next media segment, where the encoding mode of the corresponding media segment gradually changes from encoding mode A to encoding mode B. In an embodiment, the request for the transition segment is an HTTP request according to, for example, MPEG-DASH.
[0010] In this way, instead of simply switching between segments respectively representing media content encoded in the first encoding mode and media content encoded in the second encoding mode, the client device receives a transition segment that allows the client device to smoothly transition between media content encoded in these two different encoding modes.
[0011] Then, after transmitting the transition segment, segments of media content encoded in the second encoding mode are transmitted (e.g., in response to a corresponding request from the client device), i.e., after the above transition provided by the transition segment between the two different encoding modes has been completed.
[0012] In some embodiments, the media content including the transition segment is stored at the media streaming server. This can be advantageous because the client device can simply request an appropriate transition segment to transition between different bitrates and thus does not need to, for example, process, compute, and otherwise determine a suitable transition segment at the client based on receiving media content in both the first encoding mode and the second encoding mode from the media streaming server. It can be seen that the client device requires less computing power and bandwidth to perform the transition. In the same way, by pre-storing the transition segment at the server, transcoding or other computationally expensive processing of media segments is not required on the server side when streaming media content. The transition segment can be pre-computed for the media content, for example, on other computing devices in a separate preparation step.
[0013] In some embodiments, the media content may include audio, and the encoding mode may include at least one of stereo, multichannel sound, and immersive sound. Other types of audio encoding are also possible, where the transition segment includes audio content that is encoded to smoothly transition from a first audio encoding mode to a second audio encoding mode. For example, an initial portion of the transition segment is encoded in a first audio encoding mode (e.g., multichannel) and a last portion of the transition segment is encoded in a second audio encoding mode (e.g., stereo). The middle portion of the transition segment is encoded to, for example, provide a smooth transition between these encoding modes (e.g., from multichannel to stereo).
[0014] In some embodiments, the media content may include video, and the encoding mode may include at least one of 2D content, 3D content, non - virtual reality, and virtual reality. Other types of video encoding are also possible, where the transition segment includes video content that is encoded to smoothly transition from a first video encoding mode to a second video encoding mode. For example, an initial portion of the transition segment is encoded in a first video encoding mode (e.g., 3D) and a last portion of the transition segment is encoded in a second video encoding mode (e.g., 2D). The middle portion of the transition segment is encoded to, for example, provide a smooth transition between these encoding modes (e.g., from 3D to 2D).
[0015] In some embodiments, the transition segment is selected and prepared to achieve a smooth transition between a first encoding mode and a second encoding mode, particularly allowing a gentle or smooth switch that is less perceptually significant to the user at the client device side between the first encoding mode and the second encoding mode. To this end, the transition segment may include a portion of the media content encoded in a transition encoding mode, where the transition encoding mode achieves a smooth and / or fading transition between the first encoding mode and the second encoding mode.
[0016] In some embodiments, the first encoding mode and the second encoding mode may include parameterized data for controlling the encoding, and in the transition encoding mode, the parameterized data gradually changes from the parameterized data of the first encoding mode to the parameterized data of the second encoding mode. More specifically, for example, in the case of transitioning between a 3D audio or video encoding mode and a 2D audio or video encoding mode, the parameterized data of the transition segment may gradually change from the parameterized data of the first encoding mode corresponding to the 3D audio or video encoding mode to the parameterized data of the second encoding mode corresponding to the 2D audio or video encoding mode to gradually move the 3D objects of the 3D encoding mode to the front of the space perceived by the user.
[0017] In some embodiments, the parametric data of the video or audio codec mode of the media content encoded in the first coding mode may correspond to the spatial position of the 3D object, and the parametric data of the video or audio codec mode of the media content encoded in the second coding mode may describe the corresponding object position projected onto the 2D plane.
[0018] In any case, the parametric data of the transitional coding mode may be configured after encoding at the media streaming server side in some embodiments. In other words, the parametric data of the transitional coding mode may be determined based on the parametric data of both the first coding mode and the second coding mode, i.e., after the media content has been encoded into the first coding mode and the second coding mode.
[0019] In some embodiments, the transitional segment may have a start time point T_1 and an end time point T_2, which are selected to match the start time point and the end time point of the media content segments encoded in the first coding mode and the second coding mode before and after the transitional segment.
[0020] In some embodiments, multiple transitional segments are provided to allow different switching points between different bitrates of the media content. For example, the transitional segments may be arranged to provide multiple switching points between the coding modes, which may be provided at periodically or non-periodically distributed time points. The switching points may indicate the availability of the transitional segments on the server for changing between two coding modes (one coding mode is applied to the media segment before the transitional segment, and the other coding mode is applied after the transitional segment). The switching points between different pairs of coding modes may be the same, or different switching points for switching between various coding modes may be available.
[0021] In this regard, the switching points may be selected by performing a perceptual analysis on the media content, such as selectively positioning the switching points to reduce or minimize their perceptual noticeability, i.e., at these switching points, a switch between media segments with different bitrates may occur.
[0022] In some embodiments, the availability of a switching point in media content can be determined at the media streaming server side and then signaled to the client device. For example, the availability of the switching point can be determined by analyzing the media content and signaled by using the streaming manifest of the media content, in particular by using a media adaptation set. In other words, a streaming manifest including information about the available encoding modes of the media content and the possible switching points between these encoding modes is preferably transmitted to the client device before the start of the streaming of the media content. The streaming manifest can be a file that may be sent to the client device in response to a request from the client device. The streaming manifest can be provided by the media streaming server or another server in the network. In this way, the client device receiving the media content can be notified of the possible switching points so that when the client device determines that an encoding mode switch is desired, it can consult the streaming manifest to determine the next available switching point for switching between the current encoding mode and the desired encoding mode. The client device can accordingly request a transition between bitrates at the corresponding switching point, and the corresponding request is configured or timed to indicate the desired switching point. Alternatively, the request can simply indicate that the next possible switching point is selected.
[0023] According to one aspect, a media streaming server for adaptive streaming of media content with bitrate switching is described. In some embodiments, the media streaming server may be adapted to perform any of the above methods, wherein the corresponding media content is defined to include a plurality of consecutive media segments.
[0024] To this end, the media streaming server includes a media storage unit for storing the corresponding media content, in particular media segments, in at least two different encoding modes and for storing transition segments for transitioning between these two encoding modes. As explained above, each of the two different encoding modes can correspond to a different bitrate for streaming the media content.
[0025] The media streaming server includes a transmitting unit for transmitting segments of the media content encoded in one of the encoding modes. As explained above, in some embodiments, the segments of the media content transmitted in this way corresponding to one of the encoding modes can correspond to the media content encoded in a first encoding mode with a first bitrate transmitted to the client device. The transmitting unit can also transmit a transition segment to the client device, the transition segment including the encoded media content of the corresponding segment to provide, for example, a smooth transition between a previous media segment encoded in the first encoding mode and a subsequent media segment encoded in the second encoding mode.
[0026] The media streaming server includes a receiving unit adapted to receive a request for media content from a client device, e.g., an HTTP request. The request for media content may identify a sequence number of a segment and specify a desired encoding mode for the requested media segment. The receiving unit may be further adapted to receive an indication for switching the encoding mode to another encoding mode. As explained above, the client device may desire to change the bitrate of the received media content to adapt to changing network conditions, e.g., to maintain a high-quality playback with fewer pauses or rebuffering events. Further, the client may have limited bandwidth that needs to be shared with other users, and a change in bandwidth availability may require or permit a change in the received bitrate, causing the client device to issue a corresponding request. The indication for encoding mode switching may be an explicit request for a specific transition segment from a first encoding mode to a second encoding mode.
[0027] Upon receiving an indication for encoding mode switching from the client device, the control of the media streaming server causes the transition segment to be transmitted to the client device. Subsequently, segments of the media content in another encoding mode are preferably transmitted to the client device in response to a corresponding request from the client device. As explained in detail above, this allows the client device to receive the transition segment to perform, e.g., a predefined transition between media content encoded in two different encoding modes instead of simply switching between segments representing media content encoded in different encoding modes. In this way, undesired glitches or other unnatural transitions that impair the user experience in the streamed media content can be reduced or eliminated.
[0028] In some embodiments, the switching points may be arranged periodically or aperiodically and may be selected, e.g., by performing a perceptual analysis of the media content, to selectively position the switching points to reduce or minimize their perceptual salience, i.e., where a switch between media segments with different bitrates occurs.
[0029] Further, the media streaming server may include a signaling unit for signaling the availability of the switching points in the streaming manifest of the media content, in particular in the media adaptation set. In this way, the client device receiving the media content can be notified of the possible switching points such that when the client device issues the above request to transition between bitrates, the corresponding request is configured or timed to indicate the desired switching point. Alternatively, the request may simply indicate that the next possible switching point is to be selected or directly indicate the transition segment from the first encoding mode to the second encoding mode. The request for the transition segment may be an HTTP request for the media segment that identifies the sequence number of the segment and the "from-to" encoding mode.
[0030] According to one aspect, a media playback device for adaptive streaming of media content received with bitrate switching is described. In some embodiments, the media playback device may be adapted to perform the tasks of any of the above client devices, wherein the media content includes a plurality of consecutive media segments.
[0031] To this end, the media playback device includes a request transmitting unit for transmitting a request for the media content and a media receiving unit for receiving the requested segments of the media content encoded in one of a plurality of encoding modes. As explained above, different encoding modes may correspond to different bitrates for streaming the media content. The transmitting unit may send a request (such as an HTTP request) to a media streaming server to request media segments in a specific encoding mode and transition segments for changing the encoding mode.
[0032] The media playback device includes a streaming manifest receiving unit for receiving a streaming manifest of the media content, the streaming manifest indicating switching points between encoding modes. The streaming manifest may be a media adaptation set available for defining possible streaming parameters (such as available encoding modes and switching points) for the media content. The switching point may indicate the availability of a transition segment at the server for changing between two encoding modes at that particular segment in the sequence of segments of the media content.
[0033] In some embodiments, a plurality of transition segments may be arranged to allow multiple switching points between the available bitrates of the media content in the media stream. For example, the transition segments may be arranged to provide multiple switching points between encoding modes, which may be provided at periodic or aperiodic distributed time points. The switching points between different pairs of encoding modes may be the same. Alternatively, pairs of encoding modes may have separate switching points.
[0034] The switching points may be selected by performing a perceptual analysis of the media content, such as selectively positioning the switching points to reduce or minimize their perceptual salience, i.e., where a switch between media segments with different bitrates may occur at these switching points.
[0035] In any case, the availability of switching points in media content can be provided at the media streaming server side and then signaled to the media playback device. For this purpose, the availability of switching points can be signaled by using a streaming manifest of the media content, especially in a media adaptation set. In this way, a media playback device receiving the media content can use a streaming manifest receiving unit to learn about possible switching points. For example, the media playback device can request a transition between bitrates at a specific switching point, for example, by configuring or timing the request to indicate the desired switching point. Alternatively, the request can simply indicate that the next possible switching point is to be selected or directly specify the requested transition segment. As explained above, when the network conditions (such as the available bitrate) change between the media streaming server and the client device, an encoding mode switch may be desired.
[0036] The media playback device further includes a playback unit for playing back the received media segments, wherein, if a bitrate switch is desired, the media playback device emits a request or indication for switching the encoding mode to another encoding mode. As explained above, the media playback device may desire to change the bitrate of the received media content to adapt to changing network conditions, for example, to maintain high-quality playback with fewer pauses or rebuffering events. Further, the media playback device may only have access to a limited bandwidth that needs to be shared with other users, and a change in bandwidth availability may require or allow a change in the received bitrate, causing the media playback device to issue a corresponding encoding mode change request. In an embodiment, the media playback device requests a transition segment from a first encoding mode to a second encoding mode at a selected switching point.
[0037] According to one aspect, a method for adaptive streaming of media content with bitrate switching is described, wherein the media content includes a plurality of consecutive media segments. In some embodiments, the method is performed at a media streaming server.
[0038] The method includes determining available switching points for switching between media segments having different encoding modes. In some embodiments, the switching points can be provided at periodically or non-periodically distributed time points.
[0039] In some embodiments, determining the available switching points includes analyzing the media content to determine the boundaries between segments at which a switch in the encoding mode is least perceptible. Determining the available switching points can correspond to selecting switching points to, for example, reduce or minimize the perceived significance of switching between media segments (i.e., where a switch between bitrates occurs at these switching points).
[0040] The availability of a switching point in media content can be determined at the media streaming server side by comparing media content encoded in two respective different encoding modes. For example, a switching point can be determined by finding corresponding positions in two media segments having similar or identical media content characteristics. For example, if a first media segment provides 3D audio or video content while a second media segment provides 2D audio or video content, a suitable switching point can be located at a specific boundary between these segments where the 3D characteristics of the first media segment being streamed are not prominent, i.e., when the presence of 3D objects is minimal at the boundary between the segments. In this way, the 3D-to-2D switching between media segments is less noticeable to the user.
[0041] The method further includes signaling the availability of such determined switching points to a client device in a media content streaming manifest, particularly in a media adaptation set. The client device receiving the media content can thus be notified of the available switching points such that when the client device makes the above-mentioned request to transition between bitrates, the corresponding request is configured or timed to indicate the desired switching point. Alternatively, the request can simply indicate that the next possible switching point is to be selected.
[0042] Accordingly, the method includes transmitting to the client device a segment of media content encoded in a first encoding mode with a first bitrate, and then receiving from the client device a request or indication to switch the encoding mode to a second encoding mode with a second bitrate at an available switching point.
[0043] Upon reaching the switching point or in response to an indication for encoding mode switching, the method transmits to the client device a segment of media content encoded in the second encoding mode so as to perform a switch between two bitrates, for example, without transmitting intermediate transition segments. This becomes possible because the selected switching point reduces the perceived significance of the switch between encoding modes. Alternatively, the method can be combined with the above concept of providing transition segments to further reduce the perceived significance of the switch. Of course, the method can be implemented based on HTTP requests (e.g., according to MPEG DASH).
[0044] It should be understood that method steps and device features can be interchanged in various ways. Specifically, as understood by those skilled in the art, the details of the disclosed method can be implemented as a device adapted to perform some or all of the steps of the method, and vice versa. Specifically, it should be understood that the method according to the present disclosure relates to a method of operating a corresponding device. It should be further understood that the corresponding statements made with respect to the method equally apply to the corresponding device. Description of the Drawings
[0045] Example embodiments of the present disclosure will now be described by way of example only with reference to the accompanying drawings, in which:
[0046] Figure 1 An example of a media streaming system for adaptively streaming media content from a media streaming server to a client device is shown;
[0047] Figure 2 An example of segments of media content with different bitrates and periodically distributed transition segments is shown;
[0048] Figure 3 An example of a method performed by a media streaming server is shown;
[0049] Figure 4 An example of parameterized data of a transition coding mode corresponding to a transition segment is shown;
[0050] Figure 5 An example of segments of media content with different bitrates and non-periodically distributed transition segments is shown;
[0051] Figure 6 An example of an "HTTP server-client" arrangement is shown;
[0052] Figure 7 An example of a media streaming server is shown; and
[0053] Figure 8 An example of a media playback device is shown. DETAILED DESCRIPTION
[0054] As described above, media content can be adaptively streamed from a media streaming server to a client device, e.g., adaptively streamed to a media playback device. The media content can be streamed according to different bitrates, and the media playback device can request an encoding mode switch to change the bitrate.
[0055] Figure 1 A corresponding media streaming system 100 is shown, in which a media streaming server 110 and a client device 120 are coupled via a communication link 130 (e.g., an Internet link connection). The communication link 130 can be used to provide, for example, Dynamic Adaptive Streaming over HTTP (DASH) (also known as MPEG-DASH) to the client device, or alternatively provide an HTTP Live Streaming (HLS) service to the client device. In both cases, as Figure 1As shown, the media content 200, 300 is adaptively streamed from the media streaming server 110 to the client device 120 by dividing the media content 200, 300 into a sequence of segments 210-240, 310-340, each segment containing a playback time interval of the media content (such as a movie or a live broadcast of a sports event).
[0056] The media content is available at different bitrates, i.e., as a first media stream 200 with a first bitrate and at least a second media stream 300 with a second bitrate. Thus, for the different media streams 200, 300, the segments 210-240, 310-340 are encoded at different bitrates. In this way, the client 120 can use a bitrate adaptation algorithm to automatically select the segments at the highest possible bitrate that can be downloaded in time for playback without causing pauses or re-buffering events during playback.
[0057] However, a switch between media content segments 210-240, 310-340 with different bitrates (i.e., at the boundaries between segments), for example to adapt to changing network conditions on the Internet link 130, may result in undesirable effects perceivable at the client device 120 (receiver side), such as glitches or other unnatural transitions in the streamed media content, thus impairing the user experience.
[0058] According to one or more embodiments of this document, adaptive streaming between the media streaming server and the client device is improved by generating multiple transition segments 400, 410, 420 as Figure 2 shown. More specifically, each of the transition segments 410, 420 is configured to provide a transition between two of the encoding modes of the streamed media content 200, 300.
[0059] In this exemplary embodiment, the media streaming server 110 stores media content encoded in two different encoding modes 200, 300, each encoding mode corresponding to a different bitrate. Further, the media streaming server 110 also stores the transition segments 410, 420, which are arranged at different time points to allow for transitions between segments 210-240, 310-340 of media content with different encodings.
[0060] The media streaming server 110 can stream media content to the client device 120 by using a first media stream 200 corresponding to a first bitrate. In an embodiment, the client device 120 continuously requests segments of the first media stream 200, for example, using an HTTP GET request. Then, the client device 120 may desire to adapt to changing network conditions on the Internet link 130, for example, because a user has been added to or removed from the Internet link, or because they have changed their bandwidth requirements, thereby affecting the bandwidth resources available to the client device 120. In such a case, the client device 120 can request the media streaming server 110 to change the encoding mode of the streamed media content, i.e., replace the streaming of the first media stream 200 (corresponding to the first bitrate) with the streaming of a second media stream 300 (corresponding to a second bitrate).
[0061] However, in this embodiment, instead of suddenly switching between the first media stream 200 and the second media stream 300, the media streaming server 110 is adapted to stream one of the transition segments 410, 420 in the middle to the client device 120. Thus, the corresponding transition segments 410, 420 provide a transition between the streamed content encoded in the first encoding mode 200 and the streamed content encoded in the second encoding mode 300. In some embodiments, Figure 2 in, the media streaming server 110 can complete the streaming of a segment 220 having the first encoding mode 200, followed by the streaming of a transition segment 420 that provides a transition to the second encoding mode 300, and only after completing the streaming of the transition segment 420 does the media streaming server continue to stream the corresponding content of the second encoding mode 300 to the client, i.e., starting from segment 340. As described above, each segment (including the transition segment 420) can be individually requested by the client device, for example, using HTTP.
[0062] Figure 3 A corresponding method 500 suitable for being executed by the media streaming server 110 for adaptively streaming media content using bitrate switching is shown. The method includes the following steps: transmitting a segment 510 of media content encoded in a first encoding mode having a first bitrate; receiving an indication 520 from the client device to switch the encoding mode to a second encoding mode having a second bitrate; transmitting a transition segment 530 for transitioning between the first encoding mode and the second encoding mode; and transmitting another segment 540 of media content encoded in the second encoding mode. Again, each segment can be requested by the client device using, for example, an HTTP request and the transmission can be in response to these requests.
[0063] In some embodiments, available switching points can be determined by analyzing media content encoded in a first encoding mode and a second encoding mode, such as by determining the boundaries between segments as switching points where the switching between encoding modes is least perceptible.
[0064] Thus, the transmission of intermediate transition segments may even become unnecessary because a direct switch between encoding modes 200, 300 may be least perceptible (at the switching points so selected or differently selected).
[0065] In such a case, a method for adaptive streaming of media content using bitrate switching can skip the transmission of intermediate transition segments, for example, by performing the following steps: determining available switching points for switching the encoding mode between media segments; signaling the availability of the switching points to a client device in a streaming manifest of the media content; transmitting segments of the media content encoded in a first encoding mode with a first bitrate to the client device; receiving a request from the client device to switch the encoding mode to a second encoding mode with a second bitrate at an available switching point; and at that switching point, transmitting segments of the media content encoded in the second encoding mode to the client device.
[0066] In any case, with or without transmitting intermediate transition segments, each of the encoding modes 200, 300 can correspond to different streaming bitrates of the media content. Further, different encoding modes 200, 300 can correspond to different audio or video codec modes of the media content.
[0067] In some embodiments, different encoding modes 200, 300 can correspond to audio codec modes including at least two of the following: stereo, 5.1 surround sound, and immersive 3D audio.
[0068] In some embodiments, different encoding modes 200, 300 can correspond to video codec modes including at least two of the following: 2D content, 3D content, standard dynamic range (SDR), high dynamic range (HDR), virtual reality content, and non-virtual reality content.
[0069] The transition segments 410, 420 streamed from the media streaming server 110 to the client device 120 can be configured to provide a defined transition between the streaming content encoded in a first encoding mode 200 and the streaming content encoded in a second encoding mode 300. For example, the transition segments 410, 420 can provide a smooth and / or gradual transition between the first encoding mode and the second encoding mode.
[0070] Figure 4Shows the corresponding transitions performed by the transition segments. In this example embodiment, the transition segments are shown as having a start time point T_1 and an end time point T_2. As Figure 2 shown, the start time points and end time points of the transition segments 410, 420 are selected to match the start time points and end time points of the segments 210 - 240, 310 - 340 of the streaming media content 200, 300 before and after the transition segments.
[0071] In Figure 4 , the transition segments are shown as providing a gradual and smooth transition between the parametric data P_1 corresponding to the encoding mode of the first streaming segment and the parametric data P_2 corresponding to the encoding mode of the second streaming segment. In this context, the first and second encoding modes include the parametric data P_1, P_2 for controlling encoding, and during the transition segment, the parametric data gradually changes from the parametric data P_1 of the first encoding mode to the parametric data P_2 of the second encoding mode. In other words, the parametric data P_1 and P_2 correspond to the parametric data of the audio or video codec mode (audio or video codec) in which the corresponding media content is encoded, as described above. Corresponding examples of the parametric data are further described below.
[0072] In some embodiments, the transition segments 410, 420 can be generated to provide a smooth and / or gradual transition between 3D and 2D audio or video codec modes, or vice versa. In Figure 4 the example shown, the parametric data P_1 can correspond to the spatial position of the 3D object of the encoding mode for generating the first streaming segment, while the parametric data P_2 can describe the corresponding object position projected onto a 2D plane, representing the 2D object corresponding to the encoding mode of the second streaming segment. Thus, during the streaming of the transition segments 410, 420, the 3D object of the 3D encoding mode can gradually move towards the front of the 2D space, as perceived by the user (e.g., a user watching the projected 2D video). Another possible example is moving from 5.1 (surround sound) to stereo. In this case, the transition segment will fade out the surround channels and the center channel during the duration of the segment and mix the signals to the left and right in parallel. This example also applies when moving from a signal based on immersive channels (audio with height channels) to surround sound or stereo.
[0073] Another example is moving from 3D immersive audio representation to surround sound. In 3D immersive audio, audio is represented as individual audio objects whose metadata describes their position and movement in 3D space. During the transition from this representation to surround sound, the transition segment (still using the 3D audio coding mode) can slowly move the object to the position of the speaker where it will be frontally positioned. If the object is located between two speaker positions, it can also be split and before switching to the surround sound coding mode, part of the signal is moved to the corresponding speaker position. This example also applies to the switch from 3D immersive audio to stereo.
[0074] Thus, a smooth and controlled transition is provided between segments representing media content encoded in different coding modes, which can be used to reduce or eliminate undesirable switching effects, e.g., glitches or other unnatural transitions in streamed media content.
[0075] In this exemplary embodiment, the parameterized data of the transition coding mode has been configured after being encoded, i.e., the parameterized data of the transition coding mode is generated based on the P_1 and P_2 parameterized data of the encoded media content 200, 300.
[0076] As Figure 2 shown, the positions of the transition segments 410, 420 can be arranged equidistantly, where the start time points of the transition segments are selected to occur periodically at fixed intervals. For example, depending on the predicted fluctuations of the available bandwidth resources in the communication link 130 coupling the media streaming server 110 and the client device 120, the transition segments can be arranged to occur at every second, fourth, tenth, or fiftieth segment of the streamed media content.
[0077] Alternatively, the switching points can be arranged aperiodically, e.g., Figure 5 shown. The switching points of the transition segments 410 - 440 arranged in an aperiodic sequence 400 can be selected, for example, by performing a perceptual analysis on the media content 210 - 280, 310 - 380. In this way, the positions of the switching points can be selected to reduce or minimize their perceptual salience, i.e., a switch between bitrates occurs at these switching points.
[0078] In some embodiments, performing perceptual analysis on media content includes determining a switching point by finding positions with similar or identical media content characteristics in two media segments 210 - 280, 310 - 380 (transitioning between them). For example, if the first media segment 210 - 280 provides 3D audio or video content while the second media segment 210 - 280 provides 2D audio or video content, a suitable switching point can be located at the boundary where the 3D characteristics of the first media segment 210 - 280 being streamed between the segments are lower or negligible, i.e., at the boundary where the presence of 3D objects corresponding to the 3D audio or video stream between the segments is minimal.
[0079] Another example is determining a suitable switching point for switching between 5.1 and stereo. This is done best if the surround and center channels are silent or have no signal. This also applies to the switching between immersive channel - based audio (height channels) and 5.1 or stereo. Similarly, the switching between immersive 3D audio and 5.1 or stereo is done best when there are no objects in height (i.e., when switching to 5.1) or in height and surround (i.e., when switching to stereo).
[0080] In any case, the start time point of the transition segment can be selected to reduce or minimize the risk that the user perceives the transition between the first encoding mode and the second encoding mode.
[0081] Thus, the switching point of the transition segment can be determined based on a comparison of the streamed media content encoded in the first encoding mode 200 and the streamed media content encoded in the second encoding mode 300.
[0082] The client device 120 can be notified of the switching points of the determined transition segments 410, 420. This information allows the client device 120 to select and request a transition at the available switching points. To this end, the media streaming server 110 can signal the information about the switching points to the client device 120.
[0083] In some embodiments, signaling of the information about the switching points of the transition segments is performed by using the streaming manifest of the media content, particularly by using the communication channels provided in a media adaptation set, such as in the MPEG - DASH and / or Apple - HLS protocols.
[0084] This provides a robust and efficient means for communicating the information about the switching points from the media streaming server 110 to the client device 120 (e.g., by embedding such information into the communication channels provided by traditional protocols). In this regard, in some embodiments, an existing adaptation set can have the following entries:
[0085]
[0086] Further elements can be added to describe transition segment switch points that can be selected by the client device. For example, by adding:
[0087] <Transition id=”1”type=”periodic”interva|=”10”switch-from-id=“1”switch-to-id=“2” / >
[0088] For example, in the case of using an HTTP transport scheme, a name template can be provided to implement fragment name resolution in the client to request an HTTP transport. For this purpose, the following line in the adaptation set notifies the client that the transition segment has a duration of 2000 milliseconds and can be found in a folder stored in the memory of the HTTP server using the path / file nomenclature constructed by the variables switch-from-id and switch-to-id. In this example, the fragment file name consists of the prefix "tseg" and the suffix ".m4s" and uses the same running number as the regular fragment.
[0089] <TransitionSegmentTemplate duration=”2000”media=”$switch-from-id”$”switch-to-id” / tseg-”Numbers$.m4s”>
[0090] Therefore, assuming the above two lines, a possible example of the folder structure is:
[0091] 12 / tseg-0.m4s
[0092] 12 / tseg-10.m4s
[0093] 12 / tseg-20.m4s
[0094] …
[0095] In this way, the client device can switch from representation ID 1 to representation ID 2 every 10th fragment of the streamed media content, and these two representations correspond to the two different bandwidths (bitrates) defined above. For this purpose, the client device simply requests and receives (downloads) the desired transition segment stored at the corresponding location in the HTTP server folder structure.
[0096] More specifically, if the media streaming server represents an HTTP server, the HTTP server stores media content in at least two different encoding modes and transitional segments that allow for transitions between different encoding modes. In this way, the client device can download segments for streaming media content in any of the encoding modes and, if needed, transition between different encoding modes. The HTTP server uses a path and / or file naming folder structure to store the different segments, thereby allowing the client server to access the desired segments by requesting the corresponding files at the corresponding locations in the folder tree structure, i.e., download the corresponding desired segments.
[0097] In this context, as will be understood by those skilled in the art, when a client device requests a specific segment from the HTTP server, such a request corresponds to the client device attempting to access the corresponding folder and / or file in the folder tree structure (as stored in the memory of the HTTP server media streaming server). In the case where the client device successfully accesses and downloads the desired segment from the corresponding location in the folder tree structure, it is considered that the HTTP server media streaming server has successfully handled the client device request, i.e., the HTTP server media streaming server has responded to the request by providing the desired segment content to the client device.
[0098] For example, as Figure 6 shown in the "HTTP server - client" constellation diagram, referring to "Repeat Step" S100, the client device 120 requests information about the switching points of the transitional segments by sending a "get Manifest" request to download the corresponding streaming manifest from the HTTP server 110. Similarly, also in "Repeat Step" S100, the client device 120 requests media segments encoded in the first encoding mode, i.e., downloads media segments from the HTTP server 110 by sending a "get Media Segment" request. As Figure 6 shown, the media segments downloaded in this way via the corresponding responses from the server are added to a buffer and used as the playback media in the client device 120.
[0099] In Figure 6 the example, the streaming manifest is arranged in a repeat loop and retrieved at periodic intervals. In some cases, it is not necessary to receive the manifest multiple times. These two options generally depend on the use case:
[0100] (1) When the content is fully available when accessed by the client, there is no need to periodically download the manifest, and it is sufficient to retrieve the manifest once before the media segment is accessed. This is the case for video on demand (e.g., Netflix). Thus, in an embodiment, the "get manifest" request and the corresponding response can be arranged outside the repeating loop.
[0101] (2) When the content is not fully available when accessed by the client, the manifest can be periodically updated by the server and periodically retrieved by the client, as Figure 6 shown. This is the case in live streaming (i.e., a soccer game), where, for example, the total length and other parameters of the content are not known in advance.
[0102] After retrieval, the received manifest information is stored in the client's memory and replaced as per case (2) when a new manifest is retrieved. Further, if the manifest is retrieved periodically, it is typically not transmitted with each media segment, but at a lower rate, e.g., only with every Nth media segment.
[0103] Then, if the client device 120 decides that a bitrate change is beneficial, e.g., because the Figure 6 shown buffer level is getting low, the client device 120 requests a transition segment (i.e., for transitioning between different encoding modes corresponding to different bitrates) by sending a "get Transition Segment" request to download the transition segment from the HTTP server 110. In other words, as explained above, the client device requests a transition between bitrates, i.e., by downloading the desired transition segment from the corresponding location in the HTTP server 110 folder tree structure. If the download process is successful (via the corresponding response from the server), the transition segment is Figure 6 shown as being added to the playback media, e.g., by being included in the corresponding buffer. The client device 120 then requests the media segment encoded in the second encoding mode, i.e., by sending a "get media segment" request to download the media segment from the HTTP server 110, to, for example, complete the transition from the first bitrate to the second bitrate and continue streaming the media content in the second encoding mode.
[0104] In an example, the reverse order of the transition can be indicated in the streaming manifest by adding the following so that it is seamless at any switch point:
[0105] <Transition id=”2”type=”always”switch-from-id=“2”switch-to-id=“1″ / >
[0106] Accordingly, the client device is notified that a reverse switch between different bitrates (i.e., from representation ID 2 to ID 1) is always applicable.
[0107] In some embodiments, to signal available switch points for an aperiodic transition between representation ID 2 and ID 3, the following entries may be added:
[0108]
[0109] Here, the entry "Segment id" indicates the position of the available switch points for the transition segment, e.g., as an index corresponding to the count of segments of the media content being streamed.
[0110] In some embodiments, the complete set of available switch points may be combined in a single adaptation set:
[0111]
[0112] Figure 7 An example embodiment of a media streaming server 110 is shown that is adapted to perform the above method (i.e., the above tasks of the media streaming server), in particular Figure 3 the method shown.
[0113] To this end, the media streaming server 110 includes a media storage unit 510 that is used to store the media content 200, 300 in at least two coding modes and to store transition segments 400 for transitioning between these coding modes.
[0114] The media streaming server 110 further includes a transmitting unit 520 that is used to transmit segments 210 - 280, 310, 380 of the media content encoded in one of the coding modes 200, 300 and is also used to transmit the transition segments 400.
[0115] The receiving unit 530 of the media streaming server 110 is configured to receive requests for media segments and an indication to switch the coding mode to another coding mode from the client device 120. When a request for media segments in the indicated coding mode is received, the media streaming server 110 transmits these requested media segments to the client device.
[0116] The control unit 540 of the media streaming server 110 is adapted to control the transmitting unit 520 such that when an indication for a coding mode switch is received from the client device 120, the transmitting unit 520 transmits the corresponding transition segments 410 - 440 and subsequently transmits segments of the media content in another coding mode 210 - 280, 310 - 380. In an embodiment, the indication for the coding mode switch directly references the transition segments, in response to which the transition segments are transmitted to the client device. Subsequent requests for media segments refer to segments encoded in another coding mode.
[0117] In some embodiments, the media streaming server 110 may further include a signal transmission unit (not shown Figure 7 in the figures) for signaling the availability of the switching points in the media streaming manifest of the media content, particularly in the media adaptation set, as described above.
[0118] Figure 8 An example embodiment of the client device 120 adapted to perform the above - described method (i.e., the above - mentioned tasks of the client device 120) is shown.
[0119] In this example embodiment, the client device corresponds to a media playback device 120 for receiving adaptive streaming of media content with bitrate switching and for performing playback of the received media content.
[0120] To this end, the media playback device 120 includes a media receiving unit 610 for receiving segments of media content encoded in one of the multiple coding modes 200, 300 from the media streaming server 110. The media playback device 120 further includes a request transmitting unit for transmitting requests for media content, such as requests for media segments and transition segments.
[0121] The streaming manifest receiving unit 620 of the media playback device 120 receives the streaming manifest of the media content, which indicates the switching points between the coding modes 200, 300 discussed above.
[0122] The media playback device 120 further includes a playback unit 630 for playing back the received media segments 200, 300, 400, wherein if a bitrate switch is desired, the media playback device 630 transmits an indication for switching the coding mode to another coding mode 200, 300.
[0123] The transmitting and receiving units of the media streaming server 110 and the media playback device 120 may be configured to operate according to the protocol of the communication network (e.g., the Internet) that links the media streaming server 110 and the media playback device 120.
[0124] The features described herein can be associated with one or more embodiments in any combination. The reference numerals in the claims (if any) are introduced solely to facilitate reading of the claims. They are in no way limiting.
[0125] Throughout this specification, various embodiments have been discussed. However, it should be understood that the present invention is not limited to any one of these embodiments. Accordingly, the foregoing detailed description is to be considered illustrative rather than restrictive.
[0126] It will be understood that the steps of the methods discussed are not limited to any particular implementation or programming technique, and the present disclosure can be implemented using any suitable technique for implementing the functions described herein. The present disclosure is not limited to any particular programming language or operating system.
[0127] References throughout this disclosure to "an example embodiment", "some example embodiments" or "example embodiments" mean that a particular feature, structure, or characteristic described in connection with the example embodiments is included in at least one example embodiment of the present disclosure. Thus, the phrases "in an example embodiment", "in some example embodiments" or "in example embodiments" appearing throughout the disclosure are not necessarily all referring to the same example embodiment. Moreover, in one or more example embodiments, the particular features, structures, or characteristics may be combined in any suitable manner, which will be apparent to those of ordinary skill in the art in light of the present disclosure.
[0128] As used herein, unless otherwise specified, the use of the ordinal adjectives "first", "second", "third", etc. to describe a common object merely indicates different instances of like objects and is not intended to imply that the objects so described must be in a given order in time, space, rank, or any other manner.
[0129] In the following claims and the description herein, any of the terms "comprising", "comprised of", or "which comprises" is an open term, meaning at least including the subsequent element / feature, but not excluding other elements / features. Thus, when the term "comprising" is used in a claim, it should not be construed as being limited to the apparatus or elements or steps listed after it. For example, the scope of the expression of an apparatus including A and B should not be limited to an apparatus including only elements A and B. As used herein, any of the terms "including", "which includes", or "that includes" is also an open term, which also means at least including the element / feature after the said term, but not excluding other elements / features. Thus, "including" is synonymous with "comprising" and means "comprising".
[0130] It should be understood that in the above description of the exemplary embodiments of the present disclosure, various features of the present disclosure are sometimes combined together in a single exemplary embodiment / figure or its description in order to simplify the present disclosure and to help understand one or more of the inventive aspects. However, the method of the present disclosure should not be construed as reflecting an intention that the claims require more features than those expressly recited in each claim. On the contrary, as reflected in the following claims, the inventive aspects lie in less than all of the features of a single previously disclosed exemplary embodiment. Accordingly, the claims following the specification are hereby expressly incorporated into this specification, where each claim independently serves as a separate exemplary embodiment of the present disclosure.
[0131] Furthermore, although some of the exemplary embodiments described herein include some features included in other exemplary embodiments and do not include other features included in other exemplary embodiments, as will be understood by those skilled in the art, combinations of features of different exemplary embodiments are intended to be within the scope of the present disclosure and to form different exemplary embodiments. For example, in the following claims, any of the exemplary embodiments claimed can be used in any combination.
[0132] In the description provided herein, numerous specific details are set forth. However, it should be understood that the exemplary embodiments of the present disclosure may be practiced without these specific details. In other instances, well-known methods, structures, and techniques have not been shown in detail in order to avoid obscuring the understanding of this specification.
[0133] Accordingly, while there has been described what is considered to be the best mode of the present disclosure, those skilled in the art will recognize that other and further modifications can be made thereto without departing from the spirit of the present disclosure, and it is intended to claim all such changes and modifications that fall within the scope of the present disclosure. For example, any of the formulas given above merely represent processes that can be used. Functions can be added or removed from the block diagrams, and operations can be interchanged between functional blocks. Steps can be added or removed from the methods described within the scope of the present disclosure.
[0134] Aspects of the present invention can be understood from the following enumerated exemplary embodiments (EEEs):
[0135] 1. A method for adaptive streaming of media content using bitrate switching, the media content comprising a plurality of consecutive media segments, the method comprising the following operations at a media streaming server:
[0136] Transmitting a segment of the media content encoded in a first encoding mode having a first bitrate;
[0137] Receiving an indication from a client device to switch the encoding mode to a second encoding mode having a second bitrate, and in response, transmitting a transition segment for transitioning between the first encoding mode and the second encoding mode; and
[0138] Transmitting another segment of the media content encoded in the second encoding mode.
[0139] 2. The method according to EEE 1, wherein the segment of the media content is transmitted in response to a request from the client device, particularly an HTTP request.
[0140] 3. The method according to EEE 1 or 2, wherein the indication for encoding mode switching includes a request for a transition segment, particularly an HTTP request.
[0141] 4. The method according to any of the foregoing EEEs, wherein the transition segment comprises a portion of the media content encoded in a transition encoding mode that effects a smooth transition between the first encoding mode and the second encoding mode.
[0142] 5. The method according to EEE 4, wherein the first encoding mode and the second encoding mode comprise parameterized data for controlling the encoding, and wherein, in the transition encoding mode, the parameterized data gradually changes from the parameterized data of the first encoding mode to the parameterized data of the second encoding mode.
[0143] 6. The method as described in EEE 5, wherein the parameterized data of the transition coding mode is configured after encoding.
[0144] 7. The method as described in any of the foregoing EEEs, wherein the media content including the transition segment is stored at the media streaming server.
[0145] 8. The method as described in any of the foregoing EEEs, wherein a plurality of periodic transition segments for the media content are provided.
[0146] 9. The method as described in any of the foregoing EEEs, wherein the switching points between the coding modes are provided periodically or aperiodically.
[0147] 10. The method as described in any of the foregoing EEEs, including performing a perceptual analysis on the media content to select a switching point at a perceptually least significant position in the media segment.
[0148] 11. The method as described in any of the foregoing EEEs, wherein the availability of the switching points in the media content is signaled to the client device.
[0149] 12. The method as described in EEE 11, wherein the availability of the switching points is signaled in the streaming manifest of the media content, particularly in the media adaptation set.
[0150] 13. The method as described in any of the foregoing EEEs, wherein the media content includes audio and the coding mode includes at least one of stereo, multichannel sound, and immersive sound.
[0151] 14. The method as described in any of the foregoing EEEs, wherein the media content includes video and the coding mode includes at least one of 2D content, 3D content, non-virtual reality, and virtual reality.
[0152] 15. A media streaming server for adaptive streaming of media content using bitrate switching, the media content including a plurality of consecutive media segments, the media streaming server comprising:
[0153] A media storage unit for storing the media content in at least two coding modes and for storing transition segments for transitioning between the coding modes;
[0154] A transmitting unit for transmitting segments of the media content encoded in one of the coding modes and for transmitting transition segments;
[0155] A receiving unit for receiving a request for media content from a client device;
[0156] Wherein, when receiving an indication for switching an encoding mode to another encoding mode from the client device, the media streaming server transmits a transition segment to the client device.
[0157] 16. The media streaming server as described in EEE 15, further comprising a signaling unit for signaling the availability of a switching point to the client device in a streaming manifest of the media content, particularly in a media adaptation set.
[0158] 17. A media playback device for adaptive streaming of media content with bitrate switching, the media content including a plurality of consecutive media segments, the media playback device comprising:
[0159] A request transmitting unit configured to transmit a request for the media content;
[0160] A media receiving unit configured to receive segments of the media content encoded in one of a plurality of encoding modes;
[0161] A streaming manifest receiving unit configured to receive a streaming manifest of the media content, the streaming manifest indicating available switching points between encoding modes; and
[0162] A playback unit configured to play back the received media segments,
[0163] Wherein, if a bitrate switch is desired, the media playback device transmits an indication for switching the encoding mode to another encoding mode at an available switching point.
[0164] 18. A method for adaptive streaming of media content with bitrate switching, the media content including a plurality of consecutive media segments, the method comprising the following operations at a media streaming server:
[0165] Determine available switching points for switching the encoding mode between media segments;
[0166] Signal the availability of the switching points to a client device in a streaming manifest of the media content;
[0167] Transmit segments of the media content encoded in a first encoding mode with a first bitrate to the client device; and
[0168] Receive an indication from the client device to switch the encoding mode to a second encoding mode with a second bitrate at an available switching point, and in response, transmit a segment of the media content encoded in the second encoding mode to the client device.
[0169] 19. The method as described in EEE 18, wherein the determining of the available switching point includes analyzing the media content to determine boundaries between segments at which a switch in the encoding mode is least perceptible.
Claims
1. A method for adaptive streaming of media content using bitrate switching, the media content comprising a plurality of consecutive media segments, the method comprising performing the following operations at a media streaming server: Transmitting segments of the media content encoded in a first encoding mode having a first bitrate; Receiving, from a client device, an indication to switch the encoding mode to a second encoding mode having a second bitrate, the second bitrate being different from the first bitrate, and in response, transmitting a transition segment for transitioning between the first encoding mode and the second encoding mode, wherein, The transition segment comprises a portion of the media content encoded in a transition encoding mode that enables a smooth transition between the first encoding mode and the second encoding mode; And Transmitting another segment of the media content encoded in the second encoding mode; Wherein the media content comprises audio or video content, and wherein the first encoding mode corresponds to a first audio or video codec mode of the media content, and the second encoding mode corresponds to a second audio or video codec mode of the media content, the second audio or video codec mode being different from the first audio or video codec mode, Wherein the first encoding mode and the second encoding mode comprise parameterized data for encoding, and wherein, in the transition encoding mode, the parameterized data gradually changes from the parameterized data of the video or audio codec mode of the media content encoded in the first encoding mode to the parameterized data of the video or audio codec mode of the media content encoded in the second encoding mode, the parameterized data corresponding to the parameterized data of the audio or video codec mode into which the media content is encoded, wherein: The first encoding mode corresponds to a 3D video codec mode, and the second encoding mode corresponds to a 2D video codec mode, wherein the parameterized data of the 3D video codec mode describes the spatial position of a 3D object corresponding to the first encoding mode, and the parameterized data of the 2D video codec mode describes the position of an object projected onto a 2D plane, the object representing a 2D object corresponding to the second encoding mode; or The first encoding mode corresponds to an immersive 3D audio codec mode, and the second encoding mode corresponds to a 5.1 surround sound or stereo codec mode, wherein the parameterized data of the immersive 3D audio codec mode corresponds to individual audio objects with metadata indicating the position and movement of the individual audio objects in 3D space, and the parameterized data of the 5.1 surround sound or stereo codec mode corresponds to the respective speaker positions, and wherein, in the transition encoding mode, the audio objects are gradually moved to the respective speaker positions; Among them, the method includes analyzing the media content to locate switching points where switching occurs between media segments with different bitrates, where the switching points indicate available transition segments.
2. The method according to claim 1, wherein The segments of the media content are transmitted in response to a request from the client device.
3. The method according to claim 2, wherein, The request from the client device is an HTTP request.
4. The method according to any one of claims 1 to 3, wherein The indication for encoding mode switching includes a request for a transition segment.
5. The method according to claim 4, wherein, The request for the transition segment is an HTTP request.
6. The method according to any one of claims 1 to 3, wherein The transition segment has a start time point T_1 and an end time point T_2, and the start time point T_1 and the end time point T_2 are selected to match the start time point and the end time point of the segments of the media content encoded in the first encoding mode and the second encoding mode before and after the transition segment.
7. The method according to any one of claims 1 to 3, wherein The media content including the transition segment is stored at the media streaming server.
8. The method according to any one of claims 1 to 3, wherein The availability of switching points in the media content is signaled to the client device.
9. The method according to claim 8, wherein, The availability of the switching points is signaled in the streaming manifest of the media content.
10. The method according to claim 9, wherein, The streaming manifest of the media content includes a media adaptation set.
11. A media streaming server for adaptive streaming of media content using bitrate switching, the media content including a plurality of consecutive media segments, the media streaming server including: A media storage unit for storing the media content in at least two encoding modes and for storing transition segments for transitioning between the encoding modes, where the media content includes audio or video content, and where the at least two encoding modes correspond to different audio or video codec modes of the media content; A transmitting unit for transmitting segments of the media content encoded in one of the at least two encoding modes and for transmitting transition segments; A receiving unit for receiving a request for media content from a client device; Among them, when receiving an indication from the client device to switch the encoding mode to another encoding mode, the media streaming server transmits a transition segment to the client device, where the transition segment includes a portion of the media content encoded in a transition encoding mode that enables a smooth transition between the encoding modes, where the at least two encoding modes include parameterized data for encoding, and where, in the transition encoding mode, the parameterized data is gradually changed between the encoding modes, and the parameterized data corresponds to the parameterized data of the audio or video codec mode into which the media content is encoded, where: The first coding mode corresponds to a 3D video codec mode, and the second coding mode corresponds to a 2D video codec mode, wherein the parametric data description of the 3D video codec mode describes the spatial position of a 3D object corresponding to the first coding mode, and the parametric data description of the 2D video codec mode describes the position of an object projected onto a 2D plane, the object representing a 2D object corresponding to the second coding mode; or The first coding mode corresponds to an immersive 3D audio codec mode, and the second coding mode corresponds to a 5.1 surround sound or stereo codec mode, wherein the parametric data of the immersive 3D audio codec mode corresponds to individual audio objects with metadata indicating the position and movement of the individual audio objects in 3D space, and the parametric data of the 5.1 surround sound or stereo codec mode corresponds to the corresponding speaker positions, and wherein, in the transitional coding mode, the audio objects are gradually moved to the corresponding speaker positions; Wherein, the media streaming server is configured to analyze the media content to select the positioning of a switching point at which a switch occurs between media segments having different bitrates, wherein the switching point indicates an available transitional segment.
12. The media streaming server according to claim 11, further comprising a signaling unit for signaling the availability of the switching point to the client device in a streaming manifest of the media content.
13. The media streaming server according to claim 12, wherein, The streaming manifest of the media content includes a media adaptation set.
14. The media streaming server according to any one of claims 11 to 13, wherein, The transitional segment has a start time point T_1 and an end time point T_2, the start time point T_1 and the end time point T_2 being selected to match the start time point and the end time point of the segments of the media content encoded in the coding mode before and after the transitional segment.
Citation Information
Patent Citations
Video image data delivery device, method and system
EP2785068A1
Method and apparatus for smooth stream switching in MPEG / 3GPP-dash
US20130282917A1