Method, apparatus, and non-transitory computer-readable medium for receiving media data of a session
By introducing a universal SBD format and session-based attribute descriptors into the DASH system, the problem of the need for SBD file format customization for each application in the prior art is solved, realizing the flexibility of DASH client sessions and system scalability.
Patent Information
- Application Number
- CN202310266254.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-09-23
- Filing Date
- 2020-09-25
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2040-09-25
AI Technical Summary
In existing technologies, the SBD file format in session-based DASH operations needs to be customized for each application, lacking universality and resulting in poor application scalability.
A general SBD format is provided, which dynamically selects SBD files suitable for different time periods by using session-based basic attribute descriptors and supplementary attribute descriptors in MPD files, thereby achieving session-specific media data acquisition.
It achieves flexibility and versatility for DASH client sessions, reduces the need for customized SBD files for each application, and improves the scalability and efficiency of the system.
Smart Images

Figure CN116366616B_ABST
Abstract
Description
[0001] INCORPORATED BY REFERENCE
[0002] This application claims priority to U.S. Patent Application No. 17 / 029,948, filed September 23, 2020, entitled “Session-Based Information for Dynamic Adaptive Streaming over HTTP,” which claims priority to U.S. Provisional Application No. 62 / 908,251, filed September 30, 2019, entitled “Period-Dependent Session-Based DASH Operation.” The entire disclosure of the prior applications is hereby incorporated by reference in its entirety. TECHNICAL FIELD
[0003] Embodiments generally related to session-based information for Dynamic Adaptive Streaming over Hypertext Transfer Protocol (DASH) are described. BACKGROUND
[0004] The background description provided herein is intended to generally present the context of the present disclosure. The work of the presently named inventors, to the extent the work is described in this Background section, as well as aspects of the description that can not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
[0005] The Moving Picture Experts Group (MPEG) has started to add a new section in the standard for Dynamic Adaptive Streaming over Hypertext Transfer Protocol (DASH) for session-based DASH operation. While the Media Presentation Description (MPD) file is common for all clients, a client can also fetch a side file, such as a Session-Based Description (SBD) file, which provides instructions to the client to make the MPD specific to a session. However, in the current design, a single SBD applies to the entire MPD. SUMMARY
[0006] Aspects of the disclosure provide apparatuses for obtaining media data of a session. An apparatus includes processing circuitry that receives a media presentation description (MPD) file and a plurality of session-based description (SBD) files, the MPD file including a plurality of session-based hypertext transfer protocol-based dynamic adaptive streaming over HTTP (DASH) base property descriptors, each of the plurality of session-based DASH base property descriptors including an identification (ID) value of a different SBD file of the plurality of SBD files. The processing circuitry determines, for a period in the MPD file, whether the period has a session-based DASH supplemental property descriptor having the same ID value as one of the plurality of base property descriptors of the MPD file. The processing circuitry applies one of the plurality of SBD files to the period when it is determined that the period has the supplemental property descriptor and the supplemental property descriptor has the same ID value as one of the plurality of base property descriptors of the MPD file, the one of the plurality of SBD files being associated with the ID value of the supplemental property descriptor.
[0007] In embodiments, the processing circuitry determines that none of the plurality of SBD files is to be applied to the period when the ID value in the supplemental property descriptor of the period does not correspond to the ID value of any of the plurality of session-based DASH base property descriptors.
[0008] In embodiments, each of the plurality of session-based DASH base property descriptors includes a property indicating a uniform resource locator (URL) address of the associated SBD file.
[0009] In embodiments, each of the plurality of session-based DASH base property descriptors includes a property indicating that the respective base property descriptor is for session-based DASH, and the session-based DASH supplemental property descriptor includes a property indicating that the supplemental property descriptor is for session-based DASH.
[0010] In embodiments, the processing circuitry applies all of the plurality of SBD files to the period when the period does not have any session-based DASH supplemental property descriptor.
[0011] Aspects of the disclosure provide methods of obtaining media data of a session. In one method, an MPD file and a plurality of SBD files are received, the MPD file including a plurality of basic property descriptors for session-based DASH, each of the plurality of basic property descriptors for session-based DASH including an identification ID value of a different SBD file of the plurality of SBD files. For a period in the MPD file, it is determined whether the period has a supplemental property descriptor for session-based DASH having the same ID value as one of the plurality of basic property descriptors of the MPD file. When it is determined that the period has the supplemental property descriptor and the supplemental property descriptor has the same ID value as one of the plurality of basic property descriptors of the MPD file, one of the plurality of SBD files is applied to the period, the one of the plurality of SBD files being associated with the ID value of the supplemental property descriptor.
[0012] Aspects of the disclosure provide apparatuses for receiving media data of a session, the apparatuses comprising: means for receiving a media presentation description MPD file and a plurality of session-based description SBD files, the MPD file including a plurality of basic property descriptors for session-based dynamic adaptive streaming over hypertext transfer protocol DASH, each of the plurality of basic property descriptors for session-based DASH including an identification ID value of a different SBD file of the plurality of SBD files; means for determining, for a period in the MPD file, whether the period has a supplemental property descriptor for session-based DASH having the same ID value as one of the plurality of basic property descriptors of the MPD file; and means for applying, when it is determined that the period has the supplemental property descriptor and the supplemental property descriptor has the same ID value as one of the plurality of basic property descriptors of the MPD file, one of the plurality of SBD files to the period, the one of the plurality of SBD files being associated with the ID value of the supplemental property descriptor.
[0013] Aspects of the disclosure also provide non-transitory computer readable media for storing instructions that, when executed by a computer for receiving media data of a session, cause the computer to perform any one or combination of the methods of the receiving media data of a session.
[0014] Aspects of the disclosure also provide computer devices, the devices comprising one or more processors and one or more memories for storing instructions that, when executed by the one or more processors, cause the one or more processors to perform any one or combination of the methods of the receiving media data of a session. BRIEF DESCRIPTION OF DRAWINGS
[0015] Other features, objects, and advantages of the disclosed subject matter will be apparent from the following detailed description and drawings, in which:
[0016] Figure 1 An exemplary session-based hypertext transfer protocol-based dynamic adaptive streaming over HTTP (DASH) system according to embodiments of the present disclosure is shown.
[0017] Figure 2 Another exemplary session-based DASH system according to embodiments of the present disclosure is shown.
[0018] Figure 3 An exemplary table listing supplemental property descriptor properties for session-based DASH is shown.
[0019] Figure 4 An exemplary table listing supplemental property descriptor properties for session-based DASH is shown.
[0020] Figure 5 A flow diagram outlining an example of a process according to some embodiments is shown.
[0021] Figure 6 is a schematic diagram of a computer system according to embodiments. DETAILED DESCRIPTION
[0022] I. Hypertext Transfer Protocol-Based Dynamic Adaptive Streaming over HTTP (DASH) and Media Presentation Description (MPD)
[0023] Hypertext Transfer Protocol-Based Dynamic Adaptive Streaming over HTTP (DASH) is an adaptive bitrate streaming technique that enables streaming of media content using Hypertext Transfer Protocol (HTTP) infrastructure, such as web servers, content distribution networks (CDNs), various proxies and caches, etc. DASH supports both on-demand and live streaming from a DASH server to a DASH client, and allows the DASH client to control the streaming session so that the DASH server does not need to handle additional stream adaptation management load in large-scale deployments. DASH also allows the DASH client to select streaming from various DASH servers, thereby further enabling load balancing of the network for the benefit of the DASH client. DASH provides dynamic switching between different media tracks, e.g., by changing the bitrate to adapt to network conditions.
[0024] In DASH, a media presentation description (MPD) file provides information to a DASH client to adaptively stream media content by downloading media segments from a DASH server. The MPD file can be fragmented and partially delivered to reduce session startup delay. The MPD file can also be updated during a streaming session. In some examples, the MPD file supports content accessibility features, ratings, and representations of camera views. DASH also supports delivery of multi-view and scalable encoded content.
[0025] An MPD file can contain a sequence of one or more periods. Each of the one or more periods can be defined by a period element in the MPD file. The MPD file can include an availableStartTime attribute of the MPD and a start attribute of each period. For a media presentation with dynamic type (e.g., for a live service), the sum of the start attribute of a period and the availableStartTime attribute of the MPD and the duration of the media segments can indicate the availability time of the period, in Coordinated Universal Time (UTC) format, specifically for the first media segment of each representation in the corresponding period. For a media presentation with static type (e.g., for an on-demand service), the start attribute of the first period can be 0. For any other period, the start attribute can specify a time offset between the start time of the corresponding period and the start time of the first period. Each period can extend to the start of the next period or, if it is the last period, to the end of the media presentation. The period start time can be precise and reflect the actual timing resulting from playing media of all previous periods.
[0026] Each period can contain one or more adaptation sets, and each adaptation set can contain one or more representations of the same media content. A representation can be one of multiple alternative encoded versions of audio or video data. Multiple representations can differ by encoding type, e.g., by bit rate, resolution, and / or codec of the video data and bit rate and / or codec of the audio data. The term representation can be used to refer to a piece of encoded audio or video data that corresponds to a particular period of multimedia content and is encoded in a particular way.
[0027] A particular period's adaptation set can be assigned to a group indicated by a group attribute in the MPD file. Adaptation sets in the same group are generally considered to be mutually substitutable. For example, each adaptation set of video data for a particular period can be assigned to the same group, such that any one adaptation set can be selected for decoding to display video data of the multimedia content for the corresponding period. In some examples, the media content for a period can be presented from one adaptation set from group 0, if present, or a combination of at most one adaptation set from each non-zero group. Timing data for each presentation of a period can be expressed relative to a start time of the period.
[0028] A presentation can include one or more segments. Each presentation can include an initialization segment, or each segment of a presentation can be self-initializing. When present, an initialization segment can contain initialization information for accessing the presentation. In some cases, an initialization segment does not contain media data. A segment can be uniquely referenced by an identifier, such as a uniform resource locator (URL), uniform resource name (URN), or uniform resource identifier (URI). An MPD file can provide an identifier for each segment. In some examples, an MPD file can also provide a byte range in the form of a range attribute, which can correspond to data of a segment within a file accessible by a URL, URN, or URI.
[0029] Each presentation can also include one or more media components, where each media component can correspond to an encoded version of a single media type, such as audio, video, or timed text (e.g., for closed captioning). A media component can be time continuous across boundaries of consecutive media segments within a presentation.
[0030] In some embodiments, a DASH client can access and download an MPD file from a DASH server. That is, a DASH client can retrieve an MPD file for initiating a live session. Based on the MPD file, for each selected presentation, the DASH client can make a number of decisions, including determining the latest segment available on the server, determining segment availability start times for the next segment and possibly future segments, determining when to start playing the segment and from which timeline in the segment to start playing, and determining when to fetch / acquire a new MPD file. Once the service is played, the client can track the drift between the live service and its own playback, which needs to be detected and compensated for.
[0031] II. Session-based DASH operation and session-based description (SBD)
[0032] It should be noted that the MPD file can be generic for all DASH clients. In order to make the MPD file specific to a DASH client's session, the Moving Picture Experts Group (MPEG) provides session-based DASH operation. In session-based DASH operation, a DASH client can receive one side file, e.g., a Session Based Description (SBD) file, which provides the DASH client with instructions to customize the MPD file per session and possibly per client. However, in some related examples, the session-based DASH operation is application-specific. That is, for each new application, a new SBD format is needed.
[0033] The present disclosure provides a generic SBD format that can provide a single solution for all session-based applications.
[0034] Figure 1 An exemplary session-based DASH operation architecture (100) according to embodiments of the present disclosure is shown. In the session-based DASH operation architecture (100), an MPD file is sent from a DASH server (101) (e.g., a content server) to a DASH client (102). The DASH client (102) can receive media segments from the DASH server (101) based on the MPD file. In addition, the DASH client (102) can receive an SBD file from the DASH server (101) or a third party (e.g., a session controller).
[0035] According to aspects of the present disclosure, the SBD file can include a plurality of time ranges and corresponding key-value pairs (or name-value pairs) and additional metadata. The SBD file can be referenced in the MPD file by, for example, a URL. The SBD file can be used to customize the MPD file received by the DASH client (102) to be specific to the DASH client's (102) session. For example, the SBD file can allow session-specific elements to be added to segment URLs without the need to generate a unique per-session MPD.
[0036] Figure 2Another exemplary session-based DASH operation architecture 200 according to embodiments of the present disclosure is shown. In the session-based DASH operation architecture 200, multimedia content is prepared and generated by a content generating device (201) (e.g., a smartphone), which can include an audio source (e.g., a microphone) and a video source (e.g., a video camera). The multimedia content can be stored by the content generating device (201) or transmitted to a content server (202) that can store various multimedia content. The content server (202) can receive a request for one or more media segments of the multimedia content from a client device, such as a DASH access client (203). The multimedia content is described by an MPD file, which can be stored and updated by the content server (202) and accessed by client devices, including the DASH access client (203), to obtain media segments.
[0037] To obtain session-specific media segments, the DASH access client (203) can send a request to an SBD client (204) (e.g., a session client) for accessing an SBD file, which is received by the SBD client (204) and includes a plurality of time ranges and corresponding key-value pairs for a current session. For example, the DASH access client (203) can send a key name and a time range to the SBD client (204), which then resolves the key name and the time range and returns a value corresponding to the key name and the time range to the DASH access client (203). The DASH access client (203) can include the value in a query of a segment URL, which can be sent to the content server (202) when the segment request is an HTTP GET request or a partial GET request, to request session-specific media segments.
[0038] It should be noted that the SBD client (204) can receive a plurality of SBD files from different session controllers, such as a session controller (205) and a session controller (206).
[0039] According to aspects of the present disclosure, any or all of the functionality of the content server (202) (e.g., a DASH server) can be implemented on one or more devices of a content delivery network (CDN), such as routers, bridges, proxy devices, switches, or other devices. The content server (202) can include a request processing unit configured to receive network requests from client devices (e.g., a DASH access client (203)). For example, the request processing unit can be configured to receive HTTP GET requests or partial GET requests, and provide data of multimedia content in response to the requests. The requests can specify a segment using a URL of the segment. In some examples, the requests can also specify one or more byte ranges of the segment, thereby comprising partial GET requests. The request processing unit can be further configured to service HTTP HEAD requests to provide header data of a segment.
[0040] In some embodiments, the content generation device (201) and the content server (202) can be coupled through a wireless network or a wired network, or can be directly communicatively coupled.
[0041] In some embodiments, the content generation device (201) and the content server (202) can be included in the same device.
[0042] In some embodiments, the content server (202) and the session controller (205)-(206) can be included in the same device.
[0043] In some embodiments, the content server (202) and the DASH access client (203) can be coupled through a wireless network or a wired network.
[0044] In some embodiments, the SBD client (204) and the session controller (205)-(206) can be coupled through a wireless network or a wired network, or can be directly communicatively coupled.
[0045] In some embodiments, the DASH access client (203) and the SBD client (204) can be included in the same device.
[0046] According to aspects of the present disclosure, in order to link multiple SBDs to an MPD, one or more session-based DASH basic property descriptors can be used at the MPD level, and each session-based DASH basic property descriptor includes similar or identical basic property descriptor attributes.
[0047] Figure 3An exemplary table (300) listing basic property descriptor attributes for session-based DASH at the MPD level is shown in accordance with some embodiments of the disclosure. In table (300), the attribute @schemeIdUri is set to, for example, “urn:mpeg:dash:session-based-description:2019” to indicate that the basic property descriptor attributes listed in table (300) are used for session-based DASH. For example, the attribute @id is used to identify the SBD file, so different values in the @id attribute can identify different SBD files for this MPD. Thus, an MPD can have one or more basic property descriptors for session-based DASH (e.g., one or more tables (300)), each corresponding to a different SBD file. Further, the attribute @value in each basic property descriptor for session-based DASH is used to indicate the URL of the corresponding SBD file. It should be noted that one or more of these SBDs can be active at any moment of the session, depending on the period-level signaling.
[0048] According to aspects of the disclosure, to apply different SBDs to individual periods, a supplemental property descriptor for session-based DASH can be allowed at the period level. The supplemental property descriptor for session-based DASH can define which SBD file(s) can be applied to the period.
[0049] Figure 4An exemplary table (400) listing supplemental property descriptor attributes for session-based DASH at period level is shown in accordance with some embodiments of the disclosure. That is, each period in the MPD can have such a supplemental property descriptor table (400). In table (400), the attribute @schemeIdUri is set to, for example, “urn:mpeg:dash:session-based-description:2019” to indicate that the supplemental property descriptor attributes listed in table (400) are for session-based DASH. For example, the attribute @id is used to identify which SBD file(s) apply to the corresponding period. For one period, if the @id value in table (400) is equal to the @id value in table (300), the SBD file corresponding to the @id value in table (300) can apply to the period. If the @id value in table (400) is not equal to any @id value in table (300), no SBD file can apply to the period. If there is no supplemental property descriptor attribute with the same @schemeIdUri as used in table (300) for the period, all SBD files listed in table (300) can apply to the period. In an embodiment, the order of application of these SBD files is according to the order of the base property descriptors corresponding to these SBD files, for example, from left to right (or from top to bottom) in extensible markup language (XML) format.
[0050] For example, in table (300), the @id value can be 1 or 2, @id = 1 corresponds to SBD[0] and @id = 2 corresponds to SBD[1]. For period 1, the @id value in table (400) is set to 1, which indicates that SBD[0] can apply to period 1. For period 2, there is no table (400) or the @schemeIdUri value in table (400) is different from the @schemeIdUri value in table (300), which indicates that both SBD[0] and SBD[1] can apply to period 2. For period 3, the @id value in table (400) is set to 3, which indicates that no SBD can apply to period 3.
[0051] According to aspects of the disclosure, no additional information is added in the MPD to signal the link between the MPD and the SBDs other than the link information added in the MPD. Based on the link information, one or more SBDs can be described and separated by the @id indicator at the MPD level. Based on the information added at the period level, which SBD(s) can apply to each period in the MPD is determined.
[0052] In an embodiment, for a period, if the @schemeIdUri of the MPD level supplemental property descriptor is different from the @schemeIdUri of the base property descriptor, all SBDs corresponding to the @id and @value of the base property descriptor can apply to the period. If the @schemeIdUri of the MPD level supplemental property descriptor is the same as the @schemeIdUri of the base property descriptor, one or more SBDs can apply to the period. In an example, if the @id of the period element in the supplemental property descriptor of the period is equal to one of the @id values listed in the MPD base property descriptor, the SBD corresponding to the @id of the period element can apply to the period. In an example, if the @id of the period element in the supplemental property descriptor of the period is not equal to any of the @id values listed in the MPD base property descriptor, no SBD can apply to the period.
[0053] According to aspects of the disclosure, when one or more SBD files apply to a period, the one or more SBD files can be applied to a request during the period. For example, the request can be a segment request, an MPD update request, or an XML Linking Language (XLINK) request. One or more key-value pairs of each SBD file can be appended to the query of the URL of the request or included in the HTTP header of the request. In an example, the request can be sent from the DASH client (102) to the DASH server (101), or in another example, the request can be sent from the DASH access client (203) to the content server (202).
[0054] In an embodiment, when multiple SBD files are to apply to a request, the multiple SBD files are applied in a predefined order, for example, from left to right or from top to bottom in XML format.
[0055] III. FLOWCHART
[0056] Figure 5A flowchart of an overview process (500) in accordance with embodiments of the present disclosure is shown. In various embodiments, the process (500) is performed by processing circuitry, such as processing circuitry in a DASH client (102), processing circuitry in a DASH access client (203), processing circuitry in an SBD client (204), etc. In some embodiments, the process (500) is implemented in software instructions, and thus the process (500) is performed by the processing circuitry when the processing circuitry executes the software instructions. The process (500) begins at (S510), where the process (500) receives an MPD file and one or more SBD files. The MPD file includes one or more session-based DASH base property descriptors, each of the one or more session-based DASH base property descriptors being associated with a different SBD file of the one or more SBD files. In embodiments, each of the one or more session-based DASH base property descriptors includes an identification (ID) value that identifies the associated SBD file. The process (500) then proceeds to step (S520).
[0057] At step (S520), the process (500) determines, for a period in the MPD file, whether the period has a session-based DASH supplemental property descriptor. When it is determined that the period does not have a session-based DASH supplemental property descriptor, the process (500) proceeds to step (S530). Otherwise, the process (500) proceeds to step (S540).
[0058] At step (S530), the process (500) applies all of the one or more SBD files to the period.
[0059] At step (S540), the process (500) determines whether the ID value in the session-based DASH supplemental property descriptor is included in one of the one or more session-based DASH base property descriptors. When it is determined that the ID value in the session-based DASH supplemental property descriptor is included in one of the one or more session-based DASH base property descriptors, the process (500) proceeds to step (S550). Otherwise, the process (500) proceeds to step (S560).
[0060] At step (S550), the process (500) applies the SBD file associated with the ID value in the one or more session-based DASH base property descriptors to the period.
[0061] At step (S560), the process (500) determines that none of the one or more SBD files are to be applied to the period.
[0062] Then, the process (500) ends.
[0063] In embodiments, each of the one or more basic attribute descriptors for session-based DASH includes an attribute indicating a uniform resource locator (URL) address of the associated SBD file.
[0064] In embodiments, each of the one or more basic attribute descriptors for session-based DASH includes an attribute indicating that the respective basic attribute descriptor is for session-based DASH, and the supplemental attribute descriptor for session-based DASH includes an attribute indicating that the supplemental attribute descriptor is for session-based DASH.
[0065] In embodiments, the processing circuitry applies all of the one or more SBD files to the request associated with the time period based on a predefined order of the one or more SBD files.
[0066] IV. Computer System
[0067] The techniques described above, can be implemented as computer software using computer-readable instructions and physically stored in one or more computer-readable media. For example, Figure 6 A computer system (600) is shown which is suitable for implementing certain embodiments of the disclosed subject matter.
[0068] The computer software can be coded using any suitable machine code or computer language, that can be subject to assembly, compilation, linking, or like mechanisms to create code that can be executed directly by the computer system's central processing unit (CPU), graphics processing unit (GPU), or like interpreter or virtual machine, which can be hardware or software.
[0069] The instructions can be executed on various types of computers or components thereof, including, for example, personal computers, tablet computers, servers, smartphones, gaming devices, internet appliances, and the like.
[0070] Figure 6 The components shown in the computer system (600) are exemplary and not limiting, and are not intended to suggest any limitation as to the scope of use or functionality of the computer software implementing embodiments of the present disclosure. Neither should the configuration of components be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary embodiment of a computer system (600).
[0071] The computer system (600) may include certain human-machine interface input devices. Such human-machine interface input devices may respond to input from one or more human users through tactile input (e.g., keyboard input, swiping, data glove movement), audio input (e.g., sound, applause), visual input (e.g., gestures), and olfactory input (not shown). The human-machine interface device may also be used to capture certain media, which need not be directly related to conscious human input, such as audio (e.g., speech, music, ambient sound), images (e.g., scanned images, photographic images obtained from still cameras), and video (e.g., two-dimensional video, three-dimensional video including stereoscopic video).
[0072] Human-machine interface input devices may include one or more of the following (only one is shown): keyboard (601), mouse (602), touchpad (603), touch screen (610), data glove (not shown), joystick (605), microphone (606), scanner (607), and camera (608).
[0073] The computer system (600) may also include certain human-machine interface (HMI) output devices. Such HMI output devices may stimulate the senses of one or more human users through, for example, tactile output, sound, light, and smell / taste. Such HMI output devices may include tactile output devices (e.g., tactile feedback via a touchscreen (610), data gloves (not shown), or joystick (605), but may also include tactile feedback devices that are not used as input devices), audio output devices (e.g., speakers (609), headphones (not shown)), visual output devices (e.g., screens (610) including cathode ray tube screens, liquid crystal screens, plasma screens, organic light-emitting diode screens, each with or without touchscreen input functionality, each with or without tactile feedback functionality—some of which may output two-dimensional or more three-dimensional visual outputs by means such as stereoscopic image output; virtual reality glasses (not shown), holographic displays, and smoke boxes (not shown)), and printers (not shown). These visual output devices (e.g., touchscreens (610)) may be connected to the system bus (648) via a graphics adapter (650).
[0074] The computer system (600) may also include human-accessible storage devices and their associated media, such as optical media including high-density read-only / rewritable optical discs (CD / DVD ROM / RW) (620) or similar media (621) with CD / DVD, thumb drives (622), removable hard disk drives or solid-state drives (623), conventional magnetic media such as magnetic tapes and floppy disks (not shown), dedicated devices based on ROM / ASIC / PLD such as security software protectors (not shown), and so on.
[0075] Those skilled in the art will further appreciate that the term "computer-readable medium" as used herein does not include transitory mainline, carrier waves, or other transitory signals.
[0076] Computer system (600) can also include a network interface (654) to one or more communication networks (655). These networks can include wireless, wireline, optical, etc. The one or more networks (655) can be local area networks, wide area networks, metropolitan area networks, vehicular and industrial networks, real-time networks, delay-tolerant networks, and others. Examples of such networks include Ethernet, Bluetooth®, Wi-Fi, wireless LAN, GSM, 3G, 4G, 5G, LTE, etc. local area networks, television cable or satellite wire or wireless wide area digital networks (including cable TV, satellite TV, and terrestrial broadcast TV), vehicular and industrial networks (including CANBus), etc. Some of these networks commonly require external network interface adapters that attached to a common data port or peripheral bus (649) (e.g., USB port of the computer system (600)); others are commonly integrated into the core of computer system (600) by attachment to a system bus, as described below (e.g., Ethernet interface integrated into a PC computer system or cellular interface integrated into a smartphone computer system). Using any of these networks, computer system (600) can communicate with other entities. The communication between the computer system (600) and other entities can be uni-directional, receive only (e.g., broadcast TV), uni-directional send-only (e.g., CANbus to certain CANbus devices), or bi-directional, such as to / from other computer systems over local or wide area digital networks. Each of the networks and network interfaces described above can use certain protocols and protocol stacks.
[0077] The human interface devices, human-accessible storage devices, and network interfaces described above can be connected to the core (640) of the computer system (600).
[0078] The core (640) can include one or more Central Processing Units (CPU) (641), Graphics Processing Units (GPU) (642), specialized programmable processing units in the form of Field Programmable Gate Arrays (FPGA) (643), hardware accelerators for certain tasks (644), and so forth. These devices, along with Read-only memory (ROM) (645), Random-access memory (RAM) (646), internal mass storage such as internal non-user accessible hard drives, solid state drives, and so forth (647), can be connected through a system bus (648). In some computer systems, the system bus (648) can be accessible in the form of one or more physical plugs to enable extensions of the system bus (648) through additional CPUs, GPU, and so forth. The peripheral devices can be attached either directly to the core’s system bus (648), or through a peripheral bus (649). Architectures for a peripheral bus include Peripheral Component Interconnect (PCI) and variants, Universal Serial Bus (USB), and so forth.
[0079] CPUs (641), GPUs (642), FPGAs (643), and accelerators (644) can execute certain instructions that, in combination, can make up the aforementioned computer code. That computer code can be stored in ROM (645) or RAM (646). Transitional data for the CPU (641) or GPU (642) can be stored in RAM (646), while permanent data can be stored for example, in the internal mass storage (647). Fast storage and retrieval can be achieved using cache memory, which can be closely associated with one or more CPU (641), GPU (642), mass storage (647), ROM (645), RAM (646), and so forth.
[0080] The computer software can be implemented as computer code that is stored on a computer readable medium, which can be any medium that is readable by a machine. The computer software can be implemented in a variety of programming languages, including but not limited to assembly language, machine language, high-level procedural, high-level object-oriented, and so forth. The computer software can be implemented using a variety of protocols and formats, including but not limited to C, C++, C#, Java, Pascal, Fortran, COBOL, Perl, Objective-C, Ruby, Eiffel, Haskell, ML, Lisp, F#, and so forth. The computer software can be implemented using different programming techniques, including but not limited to object-oriented programming, procedural programming, and so forth.
[0081] By way of example and not limitation, a computer system having an architecture (600), particularly a core (640), can provide functionality as a processor (including a CPU, GPU, FPGA, accelerator, etc.) to execute software contained in one or more tangible computer-readable media. Such computer-readable media can be media associated with the aforementioned user-accessible mass storage, as well as specific memory of the core (640) that is non-volatile, such as internal mass storage (647) or ROM (645). Software implementing various embodiments of this disclosure can be stored in such a device and executed by the core (640). Depending on specific needs, the computer-readable medium may include one or more storage devices or chips. The software can cause the core (640), particularly the processor therein (including a CPU, GPU, FPGA, etc.), to execute specific processes or specific portions of specific processes described herein, including defining data structures stored in RAM (646) and modifying such data structures according to software-defined processes. Alternatively or as an alternative, the computer system may provide logic hardwired or otherwise incorporated into circuitry (e.g., an accelerator (644)) that may replace or operate with the software to perform the specific process or a specific portion of the specific process described herein. References to software may include logic, and vice versa, where appropriate. References to computer-readable media may include, where appropriate, circuitry storing the execution of software (such as an integrated circuit (IC)), circuitry containing execution logic, or both. This disclosure includes any suitable combination of hardware and software.
[0082] While this disclosure has described several exemplary embodiments, various modifications, arrangements, and equivalent substitutions of the embodiments are within the scope of this disclosure. Therefore, it should be understood that those skilled in the art can design various systems and methods that, while not explicitly shown or described herein, embody the principles of this disclosure and are thus within its spirit and scope.
Claims
1. A method for receiving media data of a session, characterized in that, The method includes: The receiver receives a Media Presentation Description (MPD) file and multiple Session-Based Description (SBD) files. The MPD file includes multiple basic attribute descriptors for session-based Dynamic Adaptive Streaming (DASH) based on Hypertext Transfer Protocol (HTP). Each of the multiple basic attribute descriptors for session-based DASH includes an identifier ID value for a different SBD file from the multiple SBD files. For a time period in the MPD file, determine whether the time period has a supplementary attribute descriptor at the time period level for session-based DASH, the supplementary attribute descriptor having the same ID value as one of a plurality of basic attribute descriptors in the MPD file; and When it is determined that the time period has the supplementary attribute descriptor and the supplementary attribute descriptor has the same ID value as one of the multiple basic attribute descriptors of the MPD file, one of the multiple SBD files is applied to the time period, and one of the multiple SBD files is associated with the ID value of the supplementary attribute descriptor.
2. The method according to claim 1, characterized in that, Further includes: When the ID value in the supplementary attribute descriptor of the time period does not correspond to the ID value of any of the plurality of basic attribute descriptors for session-based DASH, it is determined that none of the plurality of SBD files should be applied to the time period.
3. The method according to claim 1, characterized in that, Each of the plurality of basic attribute descriptors for session-based DASH includes an attribute that indicates the Uniform Resource Locator (URL) address of the associated SBD file.
4. The method according to claim 1, characterized in that, Each of the plurality of basic attribute descriptors for session-based DASH includes an attribute that indicates the corresponding basic attribute descriptor for session-based DASH, and The supplemental attribute descriptor for session-based DASH includes an attribute that indicates that the supplemental attribute descriptor is used for session-based DASH.
5. The method according to claim 1, characterized in that, Further includes: When the time period does not have any supplementary attribute descriptors for session-based DASH, all of the plurality of SBD files are applied to the time period.
6. An apparatus for receiving media data of a session, characterized in that, The apparatus includes processing circuitry configured to perform the method according to any one of claims 1-5.
7. An apparatus for receiving media data of a session, characterized in that, The device includes: A receiving module is configured to receive a Media Presentation Description (MPD) file and multiple Session-Based Description (SBD) files. The MPD file includes multiple basic attribute descriptors for session-based Dynamic Adaptive Streaming (DASH) based on Hypertext Transfer Protocol. Each of the multiple basic attribute descriptors for session-based DASH includes an identifier ID value for a different SBD file among the multiple SBD files. The determining module is configured to, for a time period in the MPD file, determine whether the time period has a supplementary attribute descriptor at the time period level for session-based DASH, the supplementary attribute descriptor having the same ID value as one of a plurality of basic attribute descriptors in the MPD file; and An application module is configured to apply one of the plurality of SBD files to the time period when it is determined that the time period has the supplementary attribute descriptor and the supplementary attribute descriptor has the same ID value as one of the plurality of basic attribute descriptors of the MPD file, wherein one of the plurality of SBD files is associated with the ID value of the supplementary attribute descriptor.
8. The apparatus according to claim 7, characterized in that, The application module is configured to determine that none of the multiple SBD files should be applied to the time period when the ID value in the supplementary attribute descriptor of the time period does not correspond to the ID value of any of the multiple basic attribute descriptors for session-based DASH.
9. The apparatus according to claim 7, characterized in that, Each of the plurality of basic attribute descriptors for session-based DASH includes an attribute that indicates the Uniform Resource Locator (URL) address of the associated SBD file.
10. The apparatus according to claim 7, characterized in that, Each of the plurality of basic attribute descriptors for session-based DASH includes an attribute that indicates the corresponding basic attribute descriptor for session-based DASH, and The supplemental attribute descriptor for session-based DASH includes an attribute that indicates that the supplemental attribute descriptor is used for session-based DASH.
11. The apparatus according to claim 7, characterized in that, The application module is configured to apply all of the plurality of SBD files to the time period when the time period does not have any supplementary attribute descriptors for session-based DASH.
12. A non-volatile computer-readable medium, characterized in that, Used to store instructions that, when executed by a computer for receiving media data of a session, cause the computer to perform the method described in any one of claims 1-5.
13. A computer device, characterized in that, The device includes one or more processors and one or more memories, the one or more memories being used to store instructions that, when executed by the one or more processors, cause the one or more processors to perform the method according to any one of claims 1-5.