CN113206819A - Method and device for sending signaling based on multi-level session descriptor - Google Patents
Method and device for sending signaling based on multi-level session descriptor Download PDFInfo
- Publication number
- CN113206819A CN113206819A CN202110136279.6A CN202110136279A CN113206819A CN 113206819 A CN113206819 A CN 113206819A CN 202110136279 A CN202110136279 A CN 202110136279A CN 113206819 A CN113206819 A CN 113206819A
- Authority
- CN
- China
- Prior art keywords
- session
- queries
- descriptors
- mpd
- dash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The application provides a signaling sending method and device based on a multi-level session descriptor. Adding a plurality of queries at least one element of a Media Presentation Description (MPD). In constructing a session-based DASH query, replacing at least a portion of the plurality of queries, wherein at least one query descriptor is added at least one element of the media presentation description, MPD. The relationship between the session-based DASH descriptors is determined according to values assigned for the session-based DASH descriptors.
Description
Incorporation by reference
The present application claims priority from U.S. provisional application No. 62/969,294, filed on 3/2/2020, for Signaling and Resolution models Based on Multi-Level Session SBD Descriptors (Signaling and Resolution models for Multi-Level SBD Descriptors), and U.S. application No. 17/077,207, filed on 22/10/2020, for Signaling and Resolution models Based on Multi-Level Session Descriptors (Signaling and Resolution models for Multi-Level Session-Based Description Descriptors), which are all incorporated herein by reference in their entirety.
Technical Field
The present application relates to the field of data processing, and in particular to media processing.
Background
The Moving Picture Experts Group (MPEG) has recently opened a new section in the standardization of Dynamic Adaptive Streaming over HTTP (DASH), which is the standardization of Session-based DASH operation (ISO/IEC 23009-8). In such a Session, although the Media Presentation Description (MPD) is common to all clients, the client may obtain a side file (side file), and thus call a Session-Based Description (SBD) to provide instructions to the client to dedicate the MPD to the Session.
Session-based DASH operation is an important method, and the media presentation description MPD per session and per client can be customized. However, current designs of session-based DASH specifications do not have explicit rules to handle multiple SBD descriptors of the same media presentation description MPD.
Disclosure of Invention
The application relates to a signaling sending method and device based on a multi-level session descriptor. According to one aspect, a method of signaling for Dynamic Adaptive Streaming over HTTP (DASH) over HTTP is provided. The method comprises the following steps: adding a plurality of queries at least one element of a Media Presentation Description (MPD). In constructing a session-based DASH query, replacing at least a portion of the plurality of queries, wherein at least one query descriptor is added at least one element of the media presentation description, MPD. The relationship between the session-based DASH descriptors is determined according to values assigned for the session-based DASH descriptors.
According to another aspect, there is provided an apparatus for signaling Dynamic Adaptive Streaming over HTTP (DASH) based on HTTP, the apparatus comprising: an adding module to add a plurality of queries at least one element of a media presentation description, MPD; a replacement module to replace at least a portion of the plurality of queries when constructing a session-based DASH query, wherein at least one query descriptor is added at least one element of the Media Presentation Description (MPD); and a determining module for determining a relationship between the session based DASH descriptors according to the values assigned for the session based DASH descriptors.
According to another aspect, there is provided a computer apparatus comprising at least one processor and at least one memory having at least one instruction stored therein, the at least one instruction being loaded and executed by the at least one processor to implement the above method.
According to another aspect, a non-transitory computer readable medium is provided having instructions stored therein, which when executed by a processor, cause the processor to perform the above-described method.
By adopting the technical scheme of the application, a plurality of SBD descriptors can be simply processed at each level, consistent output is obtained, the sequence of adding a single key in inquiry can be defined, addition, replacement and equivalent operation at a plurality of levels are allowed, and operation is more flexible.
Drawings
The foregoing and other objects, features and advantages of the present application will become apparent from the following detailed description of exemplary embodiments, which is to be read in connection with the accompanying drawings. The various features of the drawings are not to scale as the illustrations are for clarity in order to facilitate an understanding of the technology of the present application by those skilled in the art in conjunction with the detailed description. In the drawings:
FIG. 1 is a networked computer environment, according to at least one embodiment;
fig. 2 is a block diagram of a session-based DASH operating system in accordance with at least one embodiment;
fig. 3 is an operational flow diagram of steps performed by a program to provide signaling for session-based DASH in accordance with at least one embodiment;
FIG. 4 is a block diagram of internal and external components of the computer and server shown in FIG. 1, according to at least one embodiment;
FIG. 5 is a block diagram of an exemplary cloud computing environment including the computer system shown in FIG. 1, in accordance with at least one embodiment; and
FIG. 6 is a block diagram of functional layers of the exemplary cloud computing environment shown in FIG. 5 in accordance with at least one embodiment.
Detailed Description
Specific embodiments of the claimed structures and methods are disclosed. However, it is to be understood that the disclosed embodiments are merely exemplary of the claimed structures and methods that may be embodied in various forms. These structures and methods may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope to those skilled in the art. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments.
Embodiments relate to the field of data processing, and in particular to media processing. The exemplary embodiments described below provide a system, method and computer program to provide a processing model for an MPD, where the MPD has a plurality of SBD descriptors.
As mentioned before, MPEG recently opened a new section in the DASH standardization, which refers to the standardization of session-based DASH operations (ISO/IEC 23009-8). In such a session, although the media presentation description MPD is generic to all clients, the client may obtain the side file, thus invoking the Session Based Description (SBD), providing instructions to the client to dedicate the MPD to the session. Session-based DASH operation is an important method, and the media presentation description MPD per session and per client can be customized. However, current designs of session-based DASH specifications do not have explicit rules to handle multiple SBD descriptors of the same media presentation description MPD. Therefore, it may be advantageous to provide a processing model for multi-level SBD descriptors that generates consistent and deterministic queries, thereby enabling the addition of queries at multiple stages. The processing model allows equivalent queries, addition queries and replacement queries, based on the relationships between SBD descriptors.
Various aspects are described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer-readable storage media of various embodiments. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
Referring to fig. 1, a functional block diagram of the networked computing environment illustrates a session-based DASH system 100 (hereinafter "system") for providing signaling for session-based DASH. It should be appreciated that FIG. 1 provides only an illustration of one implementation and does not imply any limitation as to the environments in which different embodiments may be implemented. Various modifications to the depicted environments may be made based on design and implementation requirements.
The system 100 may include a computer 102 and a server computer 114. The computer 102 may communicate with a server computer 114 via a communication network 110 (hereinafter "network"). Computer 102 may include a processor 104 and a software program 108, the software program 108 being stored in a data storage device 106 and being capable of interfacing with a user and communicating with a server computer 114. As will be discussed below with reference to FIG. 4, computer 102 may include internal components 800A and external components 900A, respectively, and server computer 114 may include internal components 800B and external components 900B, respectively. The computer 102 may be, for example, a mobile device, a telephone, a personal digital assistant, a netbook, a laptop, a tablet, a desktop, or any type of computing device capable of running programs, accessing a network, and accessing a database.
The server computer 114 may also run in a cloud computing service model, such as software as a service (SaaS), platform as a service (PaaS), or infrastructure as a service (laaS), as discussed below with reference to fig. 5 and 6. The server computer 114 may also be located in a cloud computing deployment model, such as a private cloud, a community cloud, a public cloud, or a hybrid cloud.
Server computers 114 available to compress the neural network model can run session-based DASH programs 116 (hereinafter "programs"), which programs 116 can interact with database 112. The session-based DASH program method is explained in more detail below with reference to fig. 3. In one embodiment, computer 102 may operate as an input device including a user interface, while program 116 may primarily run on server computer 114. In an alternative embodiment, the program 116 may run primarily on at least one computer 102, while the server computer 114 may be used to process and store data used by the program 116. It should be noted that program 116 may be a stand-alone program or may be integrated into a larger session-based DASH program.
It should be noted, however, that in some cases, the processing of the program 116 may be shared between the computer 102 and the server computer 114 at any ratio. In another embodiment, the program 116 may be run on more than one computer, a server computer, or some combination of computers and server computers, such as multiple computers 102 in communication with a single server computer 114 over the network 110. In another embodiment, for example, the program 116 may be run on multiple server computers 114 in communication with multiple client computers over the network 110. Alternatively, the program may be run on a network server in communication with the server and a plurality of client computers via a network.
The number and arrangement of devices and networks shown in fig. 1 are provided as examples. In practice, there may be more devices and/or networks, fewer devices and/or networks, different devices and/or networks, or a different arrangement of devices and/or networks than those shown in FIG. 1. Further, two or more of the devices shown in fig. 1 may be implemented in a single device, or a single device shown in fig. 1 may be implemented as multiple distributed devices. Additionally or alternatively, one set of devices (e.g., at least one device) of system 100 may perform at least one function described as being performed by another set of devices of system 100.
Referring now to fig. 2, a block diagram of a session-based DASH operating system 200 is depicted. The session-based DASH operating system 200 may include a content server 202, a DASH access client 204, a media segment data link 206, a common MPD data link 208, and a session-based description data link 210. SBD descriptors may appear at different levels, such as MPD, adaptation set, representation, and sub-representation. Each SBD descriptor may define the URL of the SBD file, a set of keywords (keys) to be added to the query in a particular order, and default values for those keywords.
The equality attribute between at least two SBD descriptors can be defined as: when descriptors of the same element have the same value in its @ schemeIdUri, @ value, and @ id attributes, respectively. According to the DASH specification, when at least two descriptors are equal, it is sufficient to process any of them. An SBD descriptor may be defined as a descriptor that replaces another (replaced) SBD descriptor at a higher level if the SBD descriptor has the same corresponding values in their @ schemeIdUri and @ id attributes. The query replacing the descriptor replaces the query replaced by the replaced descriptor at exactly the same location as the replaced query.
If @ id is not the same, at least two SBD descriptors are called additive. Each additive SBD descriptor adds a new query substring to the end of a query string generated by an older SBD descriptor. The older descriptor is the SBD descriptor, which first appears at the same element in the hierarchical data model or in the parent element.
The processing model for the SBD descriptor may include SBD descriptors that appear one or more times at least one level of the MPD hierarchical data model. A DASH client may only process one of the SBD descriptors if at least two equal SBD descriptors appear at one MPD element, i.e. having the same value in their @ schemeIdUri, @ value and @ id attributes, respectively. If two SBD descriptors with the same @ id attribute value appear at two different levels of the MPD hierarchical data model, the SBD descriptor of the lower level element takes precedence and the key-value pair defined by that descriptor is added to the corresponding query, which refers to the query at the exact location of the higher level SBD descriptor. If at least two SBD descriptors appear with different @ id values at the same level or at least two different levels of the MPD hierarchical data model, the key-value pairs are added to the query in the order in which each element appears in the media presentation description MPD hierarchical data model from high to low levels.
Referring now to fig. 3, fig. 3 depicts a flowchart of the operation of the steps of a method 300 of providing signaling for session-based DASH. In some implementations, at least one of the process blocks of FIG. 3 may be performed by computer 102 (FIG. 1) and server computer 114 (FIG. 1). In some implementations, at least one of the process blocks of FIG. 3 may be performed by another device or group of devices separate from or including computer 102 and server computer 114.
At 302, method 300 includes adding a plurality of queries at least one element of a media presentation description, MPD.
At 304, method 300 includes replacing at least a portion of the plurality of queries in constructing the session-based DASH query, adding at least one query descriptor at least one element of the media presentation description MPD, e.g., the session-based DASH descriptor may appear at least one level of the media presentation description MPD hierarchical data model.
In one embodiment, replacing at least a portion of the plurality of queries may comprise: at least a portion of the plurality of queries is replaced by allowing the client to select at least two queries from the plurality of queries.
At 306, the method 300 includes: determining a relationship between the session-based DASH descriptors according to values assigned for the session-based DASH descriptors, wherein the relationship comprises at least one of equality, addition, and replacement.
If at least two session-based DASH descriptors at a media presentation description MPD element have equal relationship, the DASH client will process one of them.
For example, if the session-based DASH descriptors at two different levels of the media presentation description MPD hierarchical data model have the same @ id attribute value, the key-value pairs defined by the session-based DASH descriptors of elements at lower hierarchical levels in the MPD hierarchical data model are added to the queries at the locations where the session-based DASH descriptors of elements at higher hierarchical levels in the MPD hierarchical data model correspond to the queries.
In another example, when at least two session-based DASH descriptors have different @ id values, the keyword-value pairs associated with the session-based DASH descriptors are added to the plurality of queries according to an order in which the media presentation description MPD rating data model appears.
It should be understood that fig. 3 provides only an illustration of one embodiment and does not imply any limitation as to how the different embodiments may be implemented. Various modifications to the depicted environments may be made based on design and implementation requirements.
FIG. 4 is a block diagram 400 of internal and external components of the computer depicted in FIG. 1, according to an example embodiment. It should be appreciated that FIG. 4 provides only an illustration of one implementation and does not imply any limitation as to the environments in which different embodiments may be implemented. Various modifications to the depicted environments may be made based on design and implementation requirements.
The computer 102 (FIG. 1) and the server computer 114 (FIG. 1) may include respective sets of internal components 800A, 800B and external components 900A, 900B shown in FIG. 4. Each set of internal components 800 includes at least one processor 820, at least one computer-readable Random Access Memory (RAM)822, and at least one computer-readable Read Only Memory (ROM)824 connected to at least one bus 826, including at least one operating system 828, and at least one computer-readable tangible storage device 830.
The processor 820 is implemented in hardware, firmware, or a combination of hardware and software. Processor 820 is a Central Processing Unit (CPU), Graphics Processing Unit (GPU), Accelerated Processing Unit (APU), microprocessor, microcontroller, Digital Signal Processor (DSP), Field Programmable Gate Array (FPGA), Application Specific Integrated Circuit (ASIC), or other type of processing component. In some implementations, the processor 820 includes at least one processor that can be programmed to perform functions. The bus 826 includes components that allow communication between the internal components 800A and 800B.
At least one operating system 828, as well as software programs 108 (fig. 1) and session-based DASH programs 116 (fig. 1) on server computer 114 (fig. 1) are stored on at least one respective computer-readable tangible storage device 830 for execution by at least one respective processor 820 via at least one respective RAM 822 (which typically includes cache memory). In the embodiment shown in fig. 4, each computer readable tangible storage device 830 is a disk storage device of an internal hard drive. Each computer readable tangible storage device 830 is optionally a semiconductor memory device, such as a ROM 824, an erasable programmable read-only memory (EPROM), a flash memory, an optical disk, a magneto-optical disk, a solid state disk, a Compact Disk (CD), a Digital Versatile Disk (DVD), a floppy disk, a cassette, a tape, and/or other types of non-volatile computer readable tangible storage devices capable of storing computer programs and digital information.
Each set of internal components 800A, 800B also includes a read-write (R/W) drive or interface 832 for reading from and writing to one or more portable computer-readable tangible storage devices 936, such as a CD-ROM, DVD, memory stick, magnetic tape, magnetic disk, optical disk, or semiconductor memory device. Software programs, such as software program 108 (fig. 1) and session-based DASH program 116 (fig. 1), may be stored on at least one respective portable computer-readable tangible storage device 936, read via a respective R/W drive or interface 832, and loaded into a respective hard disk drive 830.
Each set of internal components 800A, 800B also includes a network adapter or interface 836, such as a TCP/IP adapter card, a wireless Wi-Fi interface card, or a 3G, 4G, or 5G wireless interface card or other wired or wireless communication link. Software program 108 (fig. 1) and session-based DASH program 116 (fig. 1) on server computer 114 (fig. 1) may be downloaded from an external computer to computer 102 (fig. 1) and server computer 114 via a network (e.g., the internet, a local or other network, a wide area network) and a corresponding network adapter or interface 836. Software program 108 and session-based DASH program 116 on server computer 114 are loaded into respective hard disk drives 830 from a network adapter or interface 836. The network may include copper wires, optical fibers, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers.
Each set of external components 900A, 900B may include a computer display 920, a keyboard 930, and a computer mouse 934. The external components 900A, 900B may also include touch screens, virtual keyboards, touch pads, pointing devices, and other human interface devices. Each set of internal components 800A, 800B also includes device drivers 840 to interface with computer display 920, keyboard 930, and computer mouse 934. The device driver 840, R/W driver or interface 832, and network adapter or interface 836 include hardware and software (stored in the storage device 830 and/or ROM 824).
It should be understood that although the present application includes a detailed description of cloud computing, the embodiments recited herein are not limited to a cloud computing environment. Rather, certain embodiments can be implemented in connection with any other type of computing environment, whether now known or later developed.
Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be quickly configured and released with minimal administrative effort or interaction with the service provider. The cloud model may include at least five features, at least three service models, and at least four deployment models.
The characteristics are as follows:
on-demand self-service (On-demand self-service): cloud users can automatically unilaterally provide computing functions, such as server time and network storage, as needed without manual interaction with the service provider.
Broad network access (broadcast network access): functionality may be obtained over a network and accessed through standard mechanisms that may facilitate the use of heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and personal digital assistants).
Resource pooling (Resource pooling): a multi-tenant model (multi-tenant model) is used to pool the provider's computing resources to serve multiple users and dynamically allocate and reallocate different physical and virtual resources according to demand. The meaning of location independence is that users typically have no control or knowledge over the exact location of the provided resources, but are able to specify locations at a higher level of abstraction (e.g., country, state, or data center).
Fast elasticity (Rapid elasticity): the functions that are configured can be quickly and flexibly, and in some cases can be automatically configured to expand quickly outward and quickly released to expand quickly inward. The functionality available for configuration often appears unlimited to the user and may be purchased in any number at any time.
Metered service (Measured service): cloud systems automatically control and optimize resource usage by utilizing metering functions at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled and reported, providing transparency to the provider and user of the service used.
The service model is as follows:
software as a Service (SaaS): the functionality provided to the user is to use the provider's applications running on the cloud infrastructure. The application programs may be accessed from various client devices through a thin client interface such as a web browser (e.g., web-based email). Users do not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, storage, or even individual application functionality, but may limit user-specific application configuration settings.
Platform as a Service (PaaS): the functionality provided to the user is to deploy onto the cloud infrastructure user created or acquired applications created using programming languages and tools supported by the provider. The user does not manage or control the underlying cloud infrastructure, including the network, servers, operating system, or storage, but rather controls the deployed applications and possibly the application hosting environment configuration.
Infrastructure as a Service (laaS): the functionality provided to the user is to provide processing, storage, networking, and other basic computing resources, wherein the user is able to deploy and run any software, including operating systems and applications. The user does not manage or control the underlying cloud infrastructure, but rather controls the operating system, storage, deployed applications, and possibly limited control over selected network components (e.g., host firewalls).
The deployment model is as follows:
private cloud (Private cloud): the cloud infrastructure operates only for the organization. It may be managed by an organization or a third party and may exist internally or externally.
Community cloud (Community cloud): the cloud infrastructure is shared by multiple organizations and supports specific communities with shared concerns (e.g., tasks, security requirements, policies, and compliance considerations). It may be managed by an organization or a third party, and may exist internally or externally.
Public cloud (Public cloud): the cloud infrastructure is available to the general public or large industrial groups and is owned by organizations that sell cloud services.
Hybrid cloud (Hybrid cloud): a cloud infrastructure is made up of two or more clouds (private, community, or public) that hold unique entities but are bound together by standardized or proprietary techniques to enable portability of data and applications (e.g., cloud explosion for load balancing between clouds).
Cloud computing environments are service-oriented, with emphasis on stateless, low-coupling, modular, and semantic interoperability. At the heart of cloud computing is an infrastructure comprising a network of interconnected nodes.
An embodiment of the present application further provides an apparatus for sending signaling for Dynamic Adaptive Streaming over HTTP (DASH) based on HTTP, where the apparatus includes: an adding module to add a plurality of queries at least one element of a Media Presentation Description (MPD); a replacement module to replace at least a portion of the plurality of queries when constructing a session-based DASH query, wherein at least one query descriptor is added at least one element of the Media Presentation Description (MPD); and a determining module for determining a relationship between the session based DASH descriptors according to the values assigned for the session based DASH descriptors.
In a specific embodiment, the replacement module is further configured to: at least a portion of the plurality of queries is replaced by allowing the client to select at least two queries from the plurality of queries.
In a specific embodiment, the session-based DASH descriptor appears at least one level of a media presentation description MPD rating data model.
In a specific embodiment, the relationship includes at least one of equality, addition, and substitution.
In a specific embodiment, at least two session-based DASH descriptors at the one media presentation description MPD element have an equal relationship, and a DASH client processes one of the descriptors.
In a specific embodiment, when the session-based DASH descriptors at two different levels of the media presentation description MPD hierarchical data model have the same @ id attribute value, the adding module is further configured to add a keyword-value pair defined by the session-based DASH descriptor of an element at a lower hierarchical level to the plurality of queries, wherein the plurality of queries are located at positions of the query corresponding to the session-based DASH descriptor of the element at a higher hierarchical level.
In a specific embodiment, when at least two session-based DASH descriptors have different @ id values, the adding module is further configured to add keyword-value pairs associated with the session-based DASH descriptors to the plurality of queries according to an order in which the media presentation description MPD rating data model appears.
An embodiment of the present application further provides a computer device, which includes at least one processor and at least one memory, where at least one instruction is stored in the at least one memory, and the at least one instruction is loaded by the at least one processor and executes the method shown in fig. 3.
An embodiment of the present application also provides a non-transitory computer readable medium having stored therein instructions, which when executed by a processor, cause the processor to perform the method illustrated in fig. 3 above.
Referring to FIG. 5, an exemplary cloud computing environment 500 is shown. As shown, cloud computing environment 500 includes at least one cloud computing node 10 with which local computing devices used by cloud users (e.g., Personal Digital Assistant (PDA) or cellular telephone 54A, desktop computer 54B, laptop computer 54C, and/or automobile computer system 54N) may communicate. The cloud computing nodes 10 may communicate with each other. They may be grouped physically or virtually in at least one network (not shown), such as the private cloud, community cloud, public cloud, hybrid cloud, or combinations thereof described above. This allows the cloud computing environment 500 to provide infrastructure, platforms, and/or software as services without the cloud user needing to maintain resources on the local computing device for these services. It should be appreciated that the types of computing devices 54A-N shown in fig. 5 are merely exemplary, and that cloud computing node 10 and cloud computing environment 500 may communicate with any type of computer device over any type of network and/or network addressable connection (e.g., using a web browser).
Referring to FIG. 6, a set of functional abstraction layers 600 provided by cloud computing environment 500 (FIG. 5) is illustrated. It should be understood that the components, layers, and functions shown in fig. 6 are merely exemplary, and embodiments are not limited thereto. As shown, the following layers and corresponding functions are provided:
the hardware and software layer 60 includes hardware and software components. Examples of hardware components include: a host 61, a Reduced Instruction Set Computer (RISC) architecture based server 62, a server 63, a blade server 64, a storage device 65, and network components 66. In some embodiments, the software components include web application server software 67 and database software 68.
The virtual layer 70 provides an abstraction layer from which the following examples of virtual entities may be provided: virtual server 71, virtual memory 72, virtual network 73 including a virtual private network, virtual applications and operating system 74, and virtual client 75.
In one example, the management layer 80 may provide the following functionality. Resource provisioning 81 provides dynamic procurement of computing resources and other resources for performing tasks in a cloud computing environment. Metering and pricing 82 provides cost tracking when resources are utilized in a cloud computing environment and bills or invoices for the consumption of these resources. In one example, these resources may include application software licenses. Security provides authentication for cloud users and tasks, and protection for data and other resources. User portal 83 provides users and system administrators access to the cloud computing environment. Service level management 84 provides for the allocation and management of cloud computing resources to meet the required service level. Service Level Agreement (SLA) planning and implementation 85 provides prearrangement and procurement for cloud computing resources according to future requirements expected by the SLA.
Some embodiments may be directed to systems, methods, and/or computer-readable media at any possible level of integration of technical details. In embodiments of the present application, a computer-readable medium may include a non-transitory computer-readable storage medium (or media) having stored thereon computer-readable program instructions to cause a processor to perform operations. For example, the program instructions, when executed by a computer for encoding/decoding, cause the computer to perform the method for video post-processing using SEI messages as described above.
The computer readable storage medium may be a tangible device that can retain and store the instructions for use by the instruction execution apparatus. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device such as a punch-card (punch-card) or a raised-in-slot structure having instructions recorded thereon, and any suitable combination of the foregoing. A computer-readable storage medium as used herein should not be construed as a volatile signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or an electrical signal transmitted through an electrical wire.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a corresponding computing/processing device, or downloaded to an external computer or external storage device over a network (e.g., the internet, a local area network, a wide area network, and/or a wireless network). The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing/processing device.
The computer-readable program code/instructions for performing operations may be assembler instructions, instruction set-architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + +, or the like, and a procedural programming language (e.g., "C" programming language), or a similar programming language. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, an electronic circuit comprising, for example, a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA), may perform an aspect or operation by executing computer-readable program instructions with state information of the computer-readable program instructions to personalize the electronic circuit.
These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable storage medium having the instructions stored therein comprise an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer-readable media according to various embodiments. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises at least one executable instruction for implementing the specified logical function(s). The methods, computer systems, and computer-readable media may include more blocks, fewer blocks, different blocks, or a different arrangement of blocks than depicted in the figures. In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It is apparent that the systems and/or methods described herein may be implemented in various forms of hardware, firmware, or a combination of hardware and software. The actual specialized control hardware or software code used to implement these systems and/or methods is not limited by these embodiments. Thus, the operation and behavior of the systems and/or methods were described herein without reference to the specific software code-it being understood that software and hardware can be designed to implement the systems and/or methods based on the description herein.
No element, act, or instruction used herein should be construed as critical or essential unless explicitly described as such. In addition, as used herein, the articles "a" and "an" are intended to include at least one item, and may be used interchangeably with "at least one". Further, as used herein, the term "set" is intended to include at least one item (e.g., related items, unrelated items, combinations of related and unrelated items, etc.) and may be used interchangeably with "at least one". Where only one item is desired, the term "one" or similar language is used. In addition, as used herein, the terms "having", and the like are intended to be open-ended terms. Further, the phrase "based on" is intended to mean "based, at least in part, on" unless explicitly stated otherwise.
The description of the various aspects and embodiments has been presented for purposes of illustration but is not intended to be exhaustive or limited to the disclosed embodiments. Even if combinations of features are recited in the claims and/or disclosed in the description, these combinations are not intended to limit the disclosure of possible embodiments. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification. Although each dependent claim listed below may be directly dependent on only one claim, the disclosure of possible embodiments includes a combination of each dependent claim with every other claim in the claim set. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope of the described embodiments. The terms used herein were chosen in order to best explain the principles of the embodiments of the application, the practical application or technical improvements to the technology found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.
Claims (15)
1. A method for signaling Dynamic Adaptive Streaming over HTTP (DASH) based on HTTP, comprising:
adding a plurality of queries at least one element of a Media Presentation Description (MPD);
replacing at least a portion of the plurality of queries when constructing a session-based DASH query, wherein at least one query descriptor is added at least one element of the Media Presentation Description (MPD); and the number of the first and second groups,
the relationship between the session-based DASH descriptors is determined according to values assigned for the session-based DASH descriptors.
2. The method of claim 1, wherein replacing at least a portion of the plurality of queries comprises: at least a portion of the plurality of queries is replaced by allowing the client to select at least two queries from the plurality of queries.
3. The method of claim 1, wherein the session-based DASH descriptor appears at least one level of a Media Presentation Description (MPD) rating data model.
4. The method of claim 3, wherein the relationship comprises at least one of equality, addition, and substitution.
5. The method of claim 4, wherein at least two session-based DASH descriptors at the one Media Presentation Description (MPD) element have an equal relationship, and wherein a DASH client processes one of the descriptors.
6. The method of claim 4, wherein session-based DASH descriptors at two different levels of the media presentation description MPD hierarchical data model have the same @ id attribute value, and wherein the keyword-value pairs defined by the session-based DASH descriptors of elements at a lower hierarchical level are added to the plurality of queries, wherein the plurality of queries are located at locations where the session-based DASH descriptors of elements at a higher hierarchical level correspond to queries.
7. The method of claim 4, wherein when at least two session-based DASH descriptors have different @ id values, a keyword-value pair associated with the session-based DASH descriptors is added to the plurality of queries according to an order in which the Media Presentation Description (MPD) rating data model occurs.
8. An apparatus for signaling Dynamic Adaptive Streaming over HTTP (DASH) based on HTTP, the apparatus comprising:
an adding module to add a plurality of queries at least one element of a Media Presentation Description (MPD);
a replacement module to replace at least a portion of the plurality of queries when constructing a session-based DASH query, wherein at least one query descriptor is added at least one element of the Media Presentation Description (MPD); and the number of the first and second groups,
a determining module to determine a relationship between the session based DASH descriptors according to values assigned for the session based DASH descriptors.
9. The apparatus of claim 8, wherein the replacement module is further configured to: at least a portion of the plurality of queries is replaced by allowing the client to select at least two queries from the plurality of queries.
10. The apparatus of claim 8, wherein the session-based DASH descriptor appears at least one level of a Media Presentation Description (MPD) rating data model.
11. The apparatus of claim 10, wherein the relationship comprises at least one of equality, addition, and substitution.
12. The apparatus of claim 11, wherein at least two session-based DASH descriptors at the one media presentation description MPD element have an equal relationship, and wherein a DASH client handles one of the descriptors.
13. The apparatus of claim 11, wherein the adding module is further configured to add a keyword-value pair defined by a session-based DASH descriptor for an element at a lower hierarchical level to the plurality of queries at locations where the session-based DASH descriptor for an element at a higher hierarchical level corresponds to a query when session-based DASH descriptors at two different levels of the media presentation description MPD hierarchical data model have the same @ id attribute value.
14. The apparatus of claim 11, wherein when at least two session-based DASH descriptors have different @ id values, the adding module is further configured to add keyword-value pairs associated with the session-based DASH descriptors to the plurality of queries according to an order in which the Media Presentation Description (MPD) rating data model occurs.
15. A computer device comprising at least one processor and at least one memory having at least one instruction stored therein, the at least one instruction being loaded and executed by the at least one processor to implement the method of any one of claims 1 to 7.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062969294P | 2020-02-03 | 2020-02-03 | |
US62/969,294 | 2020-02-03 | ||
US17/077,207 | 2020-10-22 | ||
US17/077,207 US11822555B2 (en) | 2020-02-03 | 2020-10-22 | Signaling and resolution model for multi-level session-based description descriptors |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113206819A true CN113206819A (en) | 2021-08-03 |
CN113206819B CN113206819B (en) | 2023-04-07 |
Family
ID=77025323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110136279.6A Active CN113206819B (en) | 2020-02-03 | 2021-02-01 | Method and device for sending signaling based on multi-level session descriptor |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113206819B (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080154828A1 (en) * | 2006-12-21 | 2008-06-26 | Support Machines Ltd. | Method and a Computer Program Product for Providing a Response to A Statement of a User |
CN101341541A (en) * | 2006-05-08 | 2009-01-07 | 索尼株式会社 | Data recording device, data recording method, and computer program |
CN104040945A (en) * | 2011-08-01 | 2014-09-10 | 高通股份有限公司 | Method and apparatus for delivering dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments |
CN104429093A (en) * | 2012-07-09 | 2015-03-18 | 华为技术有限公司 | Dynamic adaptive streaming over http client behavior framework and implementation of session management |
US20160261665A1 (en) * | 2015-03-04 | 2016-09-08 | Qualcomm Incorporated | File format based streaming with dash formats based on lct |
US20180175955A1 (en) * | 2014-04-04 | 2018-06-21 | Sony Corporation | Receiving apparatus, receiving method, transmitting apparatus, and transmitting method |
CN109076399A (en) * | 2016-05-09 | 2018-12-21 | 高通股份有限公司 | Packet priority and the relevant flexible QOS strategy of data in flowing |
-
2021
- 2021-02-01 CN CN202110136279.6A patent/CN113206819B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101341541A (en) * | 2006-05-08 | 2009-01-07 | 索尼株式会社 | Data recording device, data recording method, and computer program |
US20080154828A1 (en) * | 2006-12-21 | 2008-06-26 | Support Machines Ltd. | Method and a Computer Program Product for Providing a Response to A Statement of a User |
CN104040945A (en) * | 2011-08-01 | 2014-09-10 | 高通股份有限公司 | Method and apparatus for delivering dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments |
CN104429093A (en) * | 2012-07-09 | 2015-03-18 | 华为技术有限公司 | Dynamic adaptive streaming over http client behavior framework and implementation of session management |
US20180175955A1 (en) * | 2014-04-04 | 2018-06-21 | Sony Corporation | Receiving apparatus, receiving method, transmitting apparatus, and transmitting method |
US20160261665A1 (en) * | 2015-03-04 | 2016-09-08 | Qualcomm Incorporated | File format based streaming with dash formats based on lct |
CN109076399A (en) * | 2016-05-09 | 2018-12-21 | 高通股份有限公司 | Packet priority and the relevant flexible QOS strategy of data in flowing |
Non-Patent Citations (3)
Title |
---|
WU KESONG等: "Adaptive Mobile Video Delivery Based on Fountain Codes and DASH: A Survey", 《ZTE COMMUNICATIONS》 * |
戚惠丹等: "基于DASH标准的视频自适应传输方案", 《计算机工程与设计》 * |
王宣等: "基于SVC与DASH的视频流媒体系统", 《太原科技大学学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113206819B (en) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111344668B (en) | Dynamic selection of deployment configuration for software applications | |
US20180276215A1 (en) | Sharing container images between mulitple hosts through container orchestration | |
US9473304B1 (en) | Generation and distribution of named, definable, serialized tokens | |
US10891547B2 (en) | Virtual resource t-shirt size generation and recommendation based on crowd sourcing | |
US10324647B2 (en) | Dynamic compression for runtime services | |
US11163951B2 (en) | Symbolic regression embedding dimensionality analysis | |
JP2023145785A (en) | Semi-decoupled partitioning for video coding | |
US10530842B2 (en) | Domain-specific pattern design | |
US10902037B2 (en) | Cognitive data curation on an interactive infrastructure management system | |
US10223463B2 (en) | Node controllers for hierarchical data structures | |
CN112148935B (en) | Method and apparatus for NBMP function execution for multiple instances | |
US11438398B2 (en) | 3rd generation partnership project (3gpp) framework for live uplink streaming (flus) sink capabilities determination | |
CN113206819B (en) | Method and device for sending signaling based on multi-level session descriptor | |
US11782971B2 (en) | Static and dynamic NBMP function image retrieval and scale ranking | |
US11822555B2 (en) | Signaling and resolution model for multi-level session-based description descriptors | |
CN113661705B (en) | Method for encoding and decoding video data | |
CN114868362B (en) | Method and apparatus for accessing real-time uplink streaming Framework (FLUS) sink capabilities | |
US11593004B1 (en) | Optimized addition and removal of compute resources in a distributed storage platform by implementing mapping changes in a shared storage subsystem | |
CN115699739A (en) | Adaptive chroma intra mode coding in video compression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40050652 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |