Bandwidth application method and apparatus

By introducing bandwidth application methods and virtual channel allocation technology in audio and video transmission networks, the problem of poor transmission path flexibility is solved, and flexible bandwidth allocation and flexible transmission path changes are achieved.

WO2025107263A1PCT designated stage expired Publication Date: 2025-05-30HUAWEI TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/133803
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-23
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

The service streaming paths in existing audio and video transmission networks are poor in flexibility and cannot support flexible bandwidth allocation.

Method used

By implementing the bandwidth application method in the initiating device or intermediate device, connecting to the target device using a unified multimedia interconnection port (UMI) bus, assigning virtual channel identification and bandwidth values, decoupling the physical connection between the transmission path and the device port, and flexible allocation of bandwidth.

Benefits of technology

It improves the flexibility of the change of the service stream transmission path, avoids the problem that the entire port bandwidth can only be allocated to one service stream, and achieves more flexible bandwidth usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023133803_30052025_PF_FP_ABST
    Figure CN2023133803_30052025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed are a bandwidth application method and apparatus, which relate to the technical field of multimedia. By means of a bandwidth application request and a bandwidth application response, various stages of virtual paths on a virtual channel of an audio / video service flow are established between an initiating device of the service flow and a target device thereof, such that a transmission route corresponding to the virtual channel is flexibly determined, thereby preventing the transmission route from relying on a fixed physical connection. Moreover, bandwidths are allocated to virtual paths of various output ports, and the service flow is transmitted between two ports by means of the virtual paths, such that the transmission of the service flow is decoupled from a physical connection manner between the ports, and the bandwidths can be flexibly allocated, thereby further improving the flexibility of changing the transmission route of the service flow.
Need to check novelty before this filing date? Find Prior Art

Description

Bandwidth application method and device Technical Field

[0001] The present application relates to the field of multimedia technology, and in particular to a bandwidth application method and device. Background Art

[0002] Existing audio and video transmission networks are typically tree-structured, such as those based on the High Definition Multimedia Interface (HDMI). In a tree-structured network, the transmission paths of service flows in the audio and video transmission network are determined by the physical connections between the ports of each device in the audio and video transmission network.

[0003] When the physical connection determines the transmission path of the service flow, the device allocates the entire bandwidth of the corresponding port to the physical connection for service flow transmission when the physical connection is connected. Flexible bandwidth allocation is not supported, resulting in poor flexibility in the transmission path of the service flow.

[0004] Summary of the Invention

[0005] The present application provides a bandwidth application method and device, which solves the problem of poor flexibility of the transmission path of the service flow.

[0006] In a first aspect, the present application provides a bandwidth application method. The bandwidth application method is applied to an initiating device or a processor of the initiating device, an intermediate device or a processor of the intermediate device, the initiating device is connected to the intermediate device or the target device via a unified multimedia interconnection interface (UMI) bus, and the intermediate device is connected to the initiating device or the target device via the UMI bus. Taking the initiating device as an example, the bandwidth application method includes: first, the initiating device obtains a bandwidth application request, and the bandwidth application request includes a first outbound bandwidth value. Then, the initiating device allocates a first virtual channel identifier to the first outbound port, and the first virtual channel corresponding to the first virtual channel identifier is used to transmit a service flow on the link between the two ports. Then, the initiating device allocates an outbound bandwidth value to the output port based on the first outbound bandwidth value. Finally, the initiating device sends a bandwidth application request and receives a returned bandwidth application response.

[0007] The virtual channel includes multiple virtual channels cascaded between a source adapter of an initiating device of an audio or video service flow and a sink adapter among multiple adapters of a target device of the audio or video service flow. The virtual channel is used to transmit the audio or video service flow on a link between two ports.

[0008] Based on the above bandwidth application method, the initiating device or intermediate device can assign a first virtual channel identifier to the first outbound port to create a virtual path on the device's corresponding virtual channel, thereby decoupling the transmission path from the physical connection between the device port. Furthermore, the initiating device or intermediate device assigns an outbound bandwidth value to the output port based on the first outbound bandwidth value, achieving flexible bandwidth allocation and avoiding the situation where the entire port bandwidth is allocated to only one service flow for data transmission, thereby increasing the flexibility of changing the service flow's transmission path.

[0009] In a second aspect, the present application provides a bandwidth application method. This bandwidth application method is applied to a target device or a processor of the target device, where the target device is connected to an intermediate device or an initiator device via a UMI interface bus. The bandwidth application method includes: first, the target device receives a bandwidth application request, where the bandwidth application request includes a third outbound bandwidth value. Then, the target device returns a bandwidth application response, where the bandwidth application response includes a fourth outbound bandwidth value, where the fourth outbound bandwidth value indicates the requested outbound bandwidth value.

[0010] Based on the above bandwidth application method, bandwidth application for each virtual channel at each level in the virtual path is implemented between the target device and the device initiating the bandwidth application request through the processing of bandwidth application requests and bandwidth application responses, thereby decoupling the transmission path from the physical connection between the device port, thereby achieving flexible bandwidth allocation, avoiding the allocation of the entire bandwidth of the port to only one business flow for data transmission, and thus improving the flexibility of changing the transmission path of the business flow.

[0011] In combination with the bandwidth application method provided in the first aspect and the second aspect, as a possible implementation method, when the first outbound port number of the first outbound port is in the router forwarding table corresponding to the service flow, the initiating device or the intermediate device determines that the first virtual channel identifier is an existing virtual channel identifier.

[0012] The router forwarding table is used to indicate the forwarding rules for messages between different virtual channels within the device. The router forwarding table includes at least one forwarding entry, each of which includes inbound and outbound information. The inbound information includes information about the inbound node, and the outbound information includes information about the outbound node.

[0013] Optionally, when the first outbound port number of the first outbound port is in the router forwarding table corresponding to the service flow, the initiating device or the intermediate device further increases the first multicast count value of the outbound node by one.

[0014] The first multicast count value is used to indicate the number of target devices receiving the service flow at the first outbound port.

[0015] In combination with the bandwidth application method provided in the first aspect and the second aspect, as a possible implementation method, when the first outbound port number of the first outbound port is not in the router forwarding table corresponding to the service flow, the initiating device or the intermediate device assigns a new virtual channel identifier to the first outbound port as the first virtual channel identifier.

[0016] Optionally, when the first outbound port number of the first outbound port is not in the router forwarding table corresponding to the service flow, the initiating device or the intermediate device further sets the first multicast count value of the outbound node to one.

[0017] In combination with the bandwidth application method provided in the first aspect and the second aspect, as a possible implementation method, before sending the bandwidth application request, the initiating device or the intermediate device also determines whether the actually allocated bandwidth value of the first outbound port is less than the first outbound bandwidth value. If so, the first outbound bandwidth value of the bandwidth application request is replaced with the actually allocated bandwidth value.

[0018] In conjunction with the bandwidth request methods provided in the first and second aspects, as one possible implementation, the bandwidth request response includes a second outbound bandwidth value. Upon receiving the bandwidth request response, the initiating device or the intermediate device releases bandwidth equal to the first value if the first multicast count value of the outbound node is less than or equal to one and the allocated bandwidth value is greater than the second outbound bandwidth value.

[0019] The first value is the absolute value of the difference between the allocated bandwidth value and the second outbound bandwidth value.

[0020] Optionally, after receiving the bandwidth request response, if the first multicast count value of the outbound node is greater than one and the allocated bandwidth value is greater than the second outbound bandwidth value, the initiating device or intermediate device adjusts the compressible item of the service flow and then starts the service flow.

[0021] The compressible items include at least one of resolution, color space, and bit depth.

[0022] In combination with the bandwidth application method provided in the first aspect and the second aspect, as a possible implementation method, the bandwidth application request also includes a first inflow bandwidth value, and the initiating device or intermediate device also needs to allocate an outflow bandwidth value to the input port according to the first inflow bandwidth value.

[0023] In a third aspect, the present application provides a bandwidth application device, which includes a module for executing the method of any one of the implementations of the first aspect or the second aspect.

[0024] In a fourth aspect, the present application provides a multimedia device. The multimedia device includes a processor and a transceiver. Exemplarily, the processor is configured to process audio and video service streams, and the transceiver is configured to receive and transmit audio and video service streams. The processor and transceiver collaborate to perform the method of any optional implementation of the first or second aspect.

[0025] In a fifth aspect, the present application provides a multimedia data transmission system. This multimedia data transmission system includes multiple multimedia devices provided in the fourth aspect, wherein the multimedia device used to send audio and video service streams is an initiating device, the multimedia device used to receive audio and video service streams is a target device, and the multimedia device used to forward audio and video service streams is an intermediate device. The initiating device can be used to implement the function of the initiating device in the first aspect, the intermediate device can be used to implement the function of the intermediate device in the first aspect, and the target device can be used to implement the function of the target device in the second aspect. Therefore, this multimedia data transmission system can also achieve the beneficial effects of the method in the first or second aspect described above, which will not be elaborated here.

[0026] In a sixth aspect, the present application provides a computer-readable storage medium. The computer-readable storage medium includes computer software instructions. When the computer software instructions are executed in a computing device, the computing device executes the operating steps of the method described in the first aspect or any possible implementation of the first aspect, as well as the operating steps of the method described in the second aspect or any possible implementation of the second aspect. For example, the computing device is the aforementioned initiating device, intermediate device, or target device.

[0027] In a seventh aspect, the present application provides a computer program product. When the computer program product is executed on a computer, the computer program product causes the computing device to perform the steps of the method described in the first aspect or any possible implementation of the first aspect, as well as the steps of the method described in the second aspect or any possible implementation of the second aspect. For example, the computer is the aforementioned initiating device, intermediate device, or target device.

[0028] Regarding the beneficial effects of the third to seventh aspects, reference may be made to the description of any implementation in the first or second aspects, and no further details will be given here. Based on the implementations provided in the above aspects, this application can also be further combined to provide more implementations. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] FIG1 is a schematic diagram of a video transmission system provided by the present application;

[0030] FIG2 is a schematic diagram of an audio and video encoding and decoding system provided by the present application;

[0031] FIG3 is a flow chart of a bandwidth application method provided by the present application;

[0032] FIG4 is a schematic diagram of a virtual path provided by the present application;

[0033] FIG5 is a schematic diagram of multicast of a virtual channel provided by the present application;

[0034] FIG6 is a schematic structural diagram of a bandwidth application device provided by the present application;

[0035] FIG7 is a schematic structural diagram of a multimedia device provided by this application. DETAILED DESCRIPTION

[0036] This application provides a bandwidth application method. After an initiating device receives a bandwidth application request, it assigns a first virtual channel identifier to a first outbound port, allocates an outbound bandwidth value to the output port based on the first outbound bandwidth value in the bandwidth application request, and then sends the bandwidth application request. After receiving the bandwidth application request, an intermediate device assigns a virtual channel identifier to the outbound port and allocates a bandwidth value to the outbound port based on the outbound bandwidth value carried in the bandwidth application request. After receiving the bandwidth application request, the target device returns a bandwidth application response to complete bandwidth allocation for the outbound ports of devices at all levels in the virtual path, thereby completing the establishment of virtual channels at all levels in the virtual path.

[0037] In this way, the initiating device or intermediate device can assign a virtual channel identifier to the outbound port to create a virtual path corresponding to the virtual channel on the device, decoupling the transmission path from the physical connection between the device port. At the same time, the initiating device or intermediate device allocates the outbound bandwidth value to the output port based on the outbound bandwidth value requested by the bandwidth application, achieving flexible bandwidth allocation and avoiding the allocation of the entire port bandwidth to only one service flow for data transmission, thereby increasing the flexibility of changing the service flow transmission path.

[0038] The technical solutions involved in this application may be applied not only to current audio and video transmission technologies or audio and video standards, but also to future audio and video transmission technologies or audio and video standards. The terms used in the embodiments of this application are only used to explain the specific embodiments of this application and are not intended to limit this application. The following is a brief introduction to some concepts that may be involved in this application.

[0039] Audio and video service flows include audio streams and / or video streams. An audio stream is a data stream used to transmit audio data in real time. A video stream is the transmission of video data. For example, a video stream can be processed as a stable and continuous flow over a network. A video stream consists of multiple video frames, each of which corresponds to an image.

[0040] In this embodiment, "video" is a general term that refers to a sequence of multiple consecutive frames, with one frame corresponding to one image. "Audio and video" is an information application technology term that refers to video, audio, or multimedia content that includes both video and audio. Furthermore, this application does not limit the type of service flow. For example, the service flow in this application can be an audio and video service flow or a USB service flow. The following description will primarily use audio and video service flows as an example.

[0041] A router's forwarding table, also known as a forwarding table or forwarding information base (FIB), is a table located on the router's data plane. The entries in the router's forwarding table are called forwarding entries or forwarding entries. Each forwarding entry specifies a destination, the outgoing interface to be reached, the next-hop IP address, and other information.

[0042] In order to make the description of the following embodiments clear and concise, the video transmission system to which the bandwidth application method of the present application is applicable is first introduced.

[0043] Figure 1 is a schematic diagram of a video transmission system provided by the present application. The video processing process may include but is not limited to: video acquisition, video encoding, video transmission, video decoding and playback.

[0044] The video transmission system in Figure 1 includes a set-top box 110, a smart TV 120, multiple audio and video playback devices, and a server 130. The set-top box 110 is connected to the operator's network via a network cable and can receive audio and video streams from the server 130. The network can implement the function of audio and video transmission, and the network can include one or more network devices, such as a network device 131, which can be a router or a switch. In some optional implementations, the set-top box 110 and the server 130 can also communicate via wireless communication, which is not limited in this application.

[0045] The video transmission system in Figure 1 includes a set-top box 110, a smart TV 120, multiple audio and video playback devices, and a server 130. The set-top box 110 is connected to the operator's network via a network cable and can receive audio and video streams from the server 130. The network can implement the function of audio and video transmission, and the network can include one or more network devices, such as a network device 131, which can be a router or a switch. In some optional implementations, the set-top box 110 and the server 130 can also communicate via wireless communication, which is not limited in this application.

[0046] Smart TV 120 is a display device with audio and video processing capabilities that implements functions such as receiving, processing, pushing, and playing video streams or audio and video streams. In some possible scenarios, the smart TV 120 may refer to an audio and video device such as a conference tablet, a smart TV, or a projector, but this application is not limited to this.

[0047] The plurality of audio and video playback devices include audio and video playback devices 121 to 124. For example, these audio and video playback devices may include, but are not limited to, multimedia control platforms or other devices supporting audio and video playback functions, such as virtual reality (VR) terminal devices or augmented reality (AR) terminal devices.

[0048] In this embodiment, the set-top box 110 and the smart TV 120 can be connected via a bus 125. The set-top box 110 and various audio and video playback devices can also be connected via the bus 125. The smart TV 120 and various audio and video playback devices can also be connected via the bus 125. Exemplarily, the bus 125 can be a data bus that supports video and audio and video transmission. For example, the bus 125 is a UMI bus. A UMI bus is a bus connected based on the UMI interface provided by the source device and the sink device. The UMI bus can be used to connect a charger to charge an electronic device (such as the smart TV, set-top box, or audio and video playback device described above) and can also be used to transmit data between the electronic device and peripheral devices. It can also be used to connect headphones to play audio through the headphones. This interface can also be used to connect other electronic devices, such as augmented reality devices. When the UMI bus is used to implement data communication between devices, it can support both uncompressed and compressed video transmission, as well as various advanced features such as Quick Video Transport (QVT), Auto Low Latency Mode (ALLM), and Dynamic Frame Rate Refresh (DFR). Furthermore, the UMI bus can support LPCM audio and video formats defined by IEC 60958, as well as various HDR protocols, such as HDR Vivid (HDR Vivid) specified in T / UWA005.1-2022. The UMI also supports encryption control and protection for data transmission, such as audio and video. In some optional implementations, the bus 125 can also refer to other types of buses that can implement the functions supported by the aforementioned UMI bus.

[0049] Server 130 can be an application server or an authentication and authorization server. Server 130 can provide video services, game services, messaging services, music services, authentication and authorization services, and the like. In one example, the functions of multiple services can be integrated on server 130. For example, a game service and a music service can be deployed on server 130. In another example, the functions of some services can be integrated on server 130. For example, server 130 can deploy some game services and some video services. Server 130 can also utilize virtualization technology to provide multiple virtual machines, which provide various services. The embodiments of this application do not limit the deployment of the server. Network device 131 is connected to server 130 via wireless or wired connections. Figure 1 is merely a schematic diagram; the network may also include other devices, not shown in Figure 1. It will be understood that the aforementioned audio and video is a general term. Audio and video include multiple video frames, each of which corresponds to a group of packets carrying the audio and video data to be parsed and played. Figure 1 is merely a schematic diagram; the video transmission system may also include other devices, not shown in Figure 1. The embodiments of the present application do not limit the number and type of each device included in the system.

[0050] Based on the video transmission system shown in FIG1 , FIG2 is a schematic diagram of an audio and video codec system provided by the present application. The audio and video codec system includes a source device 210 and a sink device 220. The source device 210 establishes a communication connection with the sink device 220 via a UMI bus.

[0051] The above-mentioned source device 210 can implement the function of audio and video encoding. As shown in Figure 1, the source device 210 can be a set-top box 110 or a smart TV 120. The source device 210 can also be an audio and video control center with audio and video encoding capabilities. For example, the audio and video control center includes one or more servers.

[0052] The source device 210 may include a data source 211 , a pre-processing module 212 , an audio and video transmission adapter 213 , and a communication interface 214 .

[0053] The data source 211 may include or may be any type of electronic device for collecting audio and video, and / or any type of source audio and video generating device, such as a computer graphics processor for generating computer animation scenes or any type of device for obtaining and / or providing source audio and video, or computer-generated source audio and video. The data source 211 may be any type of memory or storage for storing the above-mentioned source audio and video. The above-mentioned source audio and video may include multiple audio and video streams or images obtained by multiple audio and video acquisition devices (such as cameras), such as ultra high definition (UHD) video, high definition (HD) video, 4K video, etc.

[0054] The pre-processing module 212 is configured to receive source audio and video and pre-process the source audio and video to obtain audio and video or multiple frames of images. For example, the pre-processing performed by the pre-processing module 212 may include color format conversion (e.g., from RGB to YCbCr), octree structuring, audio and video splicing, audio track merging and deletion, or channel number adjustment.

[0055] The audio and video transmission adapter 213 is also referred to as a source adapter in this application, and is used to receive audio and video or images, and encode the audio and video, images or images to obtain coded data. In some optional situations, the code stream (coded data) obtained by encoding can also be called a bit stream. If the coded data is obtained by encoding audio and video data, then the bit stream refers to the audio and video stream.

[0056] The communication interface 214 in the source device 210 may be configured to receive encoded data (e.g., a video stream or an audio / video stream) and send the encoded data (or a version of the encoded data after any other processing) to another device such as the sink device 220 or any other device via a UMI bus for storage, display, playback, or image reconstruction.

[0057] Optionally, the source device 210 includes a bitstream buffer, which is used to store bitstreams corresponding to one or more coding units.

[0058] The sink device 220 can implement the audio and video decoding function. As shown in FIG1 , the sink device 220 can be any one of the smart TV 120 or the audio and video playback device shown in FIG1 .

[0059] The sink device 220 may include an audio and video playback unit 221 , a post-processing module 222 , an audio and video receiving adapter 223 , and a communication interface 224 .

[0060] The communication interface 224 in the sink device 220 is configured to receive the encoded data (or a version of the encoded data after any other processing has been performed on the encoded data) from the source device 210 or any other source device such as a storage device.

[0061] Communication interface 214 and communication interface 224 may be used to communicate via a direct communication link between source device 210 and sink device 220, such as a direct wired connection, as shown in the UMI bus in FIG2 . For details about the UMI bus, please refer to the description of FIG1 , and will not be repeated here.

[0062] The communication interface 224 corresponds to the communication interface 214 and can be used, for example, to receive transmission data and process the transmission data using any type of corresponding transmission decoding or processing and / or decapsulation to obtain encoded data (such as a video stream or an audio and video stream).

[0063] Both the communication interface 224 and the communication interface 214 may be configured as a unidirectional communication interface, as indicated by the arrow pointing from the source device 210 to the corresponding UMI bus of the sink device 220 in FIG2 , or a bidirectional communication interface, and may be used to send and receive messages, etc., to establish a connection, confirm and exchange any other information related to the communication link or data transmission, such as encoded compressed data transmission, etc.

[0064] The audio and video receiving adapter 223 is also referred to as a sink adapter in this application, and is used to receive encoded data and decode the encoded data to obtain decoded data (video or audio and video, etc.).

[0065] The post-processing module 222 is used to post-process the decoded data to obtain post-processed data (such as an image to be displayed or audio and video to be played). The post-processing performed by the post-processing module 222 may include, for example, color format conversion (such as from YCbCr to RGB), octree reconstruction, audio and video splitting and fusion, or any other processing for generating data for output by the audio and video playback unit 221.

[0066] The audio and video playback unit 221 is used to receive post-processed data for display or playback to a user or viewer, etc. The audio and video playback unit 221 can be or include any type of display for representing the reconstructed image, such as an integrated or external display screen or display. For example, the display screen may include a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a plasma display, a projector, a micro LED display, a liquid crystal on silicon (LCoS) display, a digital light processor (DLP), or any other type of display screen. The audio and video playback unit 221 can also include one or more audio and video playback modules, each of which can refer to a speaker, a smart speaker, an amplifier, etc.

[0067] As an optional implementation, the source device 210 and the sink device 220 can transmit encoded data through a data forwarding device. For example, the data forwarding device can be a router or a switch. It is worth noting that the data forwarding device needs to support the UMI interface. The UMI interface of the two devices consists of a main link (ML), a sideban link (SL), a power bus link (PL), and a cable information link (CL). This application does not involve other links other than the main link, and only the main link will be described below. The main link is mainly used to transmit audio and video service streams (such as ultra-high-definition audio and video signals) and high-speed data (such as USB3 data). The main link includes multiple pairs of differential lines, each pair of differential lines forming a differential channel (lane). The virtual channel between the audio and video sending adapter 213 and the audio and video receiving adapter 223 can use the differential channel to transmit audio and video service streams.

[0068] The implementation of the bandwidth application method provided in the embodiment of the present application will be described in detail below with reference to the accompanying drawings.

[0069] Bandwidth request messages are used to request and allocate bandwidth to each device port on the virtual path of the business flow, completing the establishment of the virtual path of the business flow.

[0070] For audio and video service flows, bandwidth request messages must be initiated by the service flow's source device (the device where the audio and video transmission adapter is located). When initiating a bandwidth request, the source device must select an appropriate path based on the UMI network topology. It is recommended to select based on path length, preferably the shortest path.

[0071] For USB service flows, after the device where the USB tunnel adapter connected to the USB host in the UMI network is located initiates an adapter binding request, the device that receives the binding request initiates a bandwidth application request.

[0072] Here, the application method of an embodiment of the present application is described using the source device 210 and the sink device 220 shown in FIG2 as an example. FIG3 is a flow chart of a bandwidth application method provided by the present application. In this embodiment, the initiating device 31 is used to implement the functions of the source device 210, and the target device 32 is used to implement the functions of the sink device 220. In this embodiment, the initiating device 31 may also be referred to as a source device, an audio and video transmitter, or an audio and video transmitter, and the target device 32 may also be referred to as a sink device, a display device, an audio and video receiver, or an audio and video player. In this embodiment, the initiating device 31 and the target device 32 are connected via one or more intermediate devices 33 (only one intermediate device 33 is shown in FIG3 , but the number of intermediate devices is not limited). The initiating device 31, the intermediate device 33, and the target device 32 are connected via a bus 34, which may be a UMI bus.

[0073] In a first possible application scenario, the initiating device 31 may be the set-top box 110 in Figure 1, and the target device 32 may be the smart TV 120 in Figure 1. For example, the set-top box pushes audio and video data to the smart TV.

[0074] In a second possible application scenario, the initiating device 31 may be the set-top box 110 in FIG1 , and the target device 32 may be any audio and video playback device in FIG1 , such as any one of the audio and video playback devices 121 to 124. For example, the set-top box pushes audio and video data to the audio and video playback device.

[0075] In a third possible application scenario, the initiating device 31 may be the smart TV 120 in FIG1 , and the target device 32 may be any audio and video playback device in FIG1 , such as any one of the audio and video playback devices 121 to 124. For example, the smart TV pushes audio and video data to the audio and video playback device.

[0076] The above three possible application scenarios are merely examples provided in this embodiment and should not be construed as limiting the present application. In other possible examples, the initiating device 31 may be any of the audio and video playback devices in FIG1 (e.g., audio and video playback device 121), and the target device 32 may be another audio and video playback device different from the aforementioned audio and video playback device (e.g., audio and video playback device 122).

[0077] Referring to FIG. 3 , the bandwidth application method provided in this embodiment includes the following steps 301 to 314 .

[0078] Step 301: The initiating device 31 generates a bandwidth application request.

[0079] The initiating device 31 selects the target device 32 and the corresponding virtual path according to the needs of the service flow, and generates a bandwidth application request.

[0080] As a possible implementation, the message structure of the bandwidth application request is shown in Table 1.

[0081] Table 1

[0082] The initiating device 31 assigns the OutStreamBW in the message body to the outflow bandwidth value required by the business, and assigns the InStreamBW to 0xFFFFFFFF (0xFFFFFFFF indicates that there is no need to allocate bandwidth to the corresponding inflow direction, and there is no need to establish a virtual channel in the corresponding direction), and updates the source device address, source adapter ID, target device address, target adapter ID, priority (business priority) and flow control mechanism information into the message body.

[0083] Optionally, descriptions of the fields of the bandwidth application request are shown in Table 2.

[0084] Table 2

[0085] Optionally, the message structure of the message header is as shown in Table 3.

[0086] Table 3

[0087] Optionally, the message structure of the general field is as shown in Table 4.

[0088] Table 4

[0089] Step 302: The initiating device 31 allocates a first virtual channel identifier at the first outbound port.

[0090] As a possible implementation, step 302 may include the following sub-steps S1 to S3.

[0091] S1. The initiating device 31 determines the output port number OutPortID of the bandwidth application request and checks whether the output port number exists in the router forwarding table corresponding to the audio and video service flow according to the routing table.

[0092] When the forwarding list addressing information of the initiating device 31 does not include the port number of the output port from which the initiating device 31 sends the bandwidth request, the initiating device 31 determines the port number of the output port from which the bandwidth request is sent, i.e., the first outgoing port number, based on the device's internal addressing. For example, the initiating device 31 maintains service flow information, which includes the input port number, source device address, source adapter identifier, output port number, target device address, target adapter identifier, bandwidth value, and priority. The initiating device 31 uses the source device address, target device address, etc. of the bandwidth request to query the service flow information for the output port number, i.e., the first outgoing port number. At the same time, the first outgoing port number is also the output port of the virtual path of the audio and video service flow on this device.

[0093] Alternatively, a router forwarding table is used to indicate the forwarding rule of message between different virtual channels in this device, and a router forwarding table comprises one or more forwarding entries (or router forwarding table items). As shown in Table 5, the router forwarding table is composed of inflow information and outflow information, and a router forwarding table item can be represented by {inflow information|outflow information}. Wherein the inflow information is composed of the information of a single inflow node, and the outflow information is composed of the information of one or more outflow nodes. The information of the inflow node mainly describes the port and the virtual channel (such as port number and virtual channel mark) corresponding to the inflow, and the information of the outflow node mainly describes the relevant information such as the target port and the target virtual channel (such as port number and virtual channel mark) of the forwarding of the message. For example, the first router forwarding entry in Table 5 can be represented as {[0,4]|[2,4]}. The inbound flow information contains only one inbound node, [0,4], indicating that the flow receives packets from the receive buffer of adapter 4 on this router. The outbound flow information contains one outbound node, [2,4], indicating that the flow packet needs to be forwarded to virtual channel 4 on port 2. The virtual channel ID in the inbound node information of the inbound flow information is equivalent to the adapter ID (AdapterID). An inbound node can also be called an inbound node, and an outbound node can also be called an outbound node.

[0094] Table 5

[0095] In a multicast scenario, if one or more devices on the same destination port receive the stream corresponding to the same virtual channel, a multicast count (ReceiverCount) is added to the outbound node to facilitate router forwarding table management. The outbound node is represented by a triplet of [port number (Port), virtual channel identifier (ShuttleID), multicast count (ReceiverCount)]. The multicast count indicates the number of destination devices receiving the audio and video service stream on the output port (also called the outbound port).

[0096] S2. If the output port number is in the router forwarding table, the initiating device 31 uses the existing virtual channel identifier and increases the multicast count value corresponding to the outgoing flow node by one.

[0097] S3. If the output port number is not in the router forwarding table, the initiating device 31 allocates a new virtual channel identifier to the output port and sets the multicast count value corresponding to the outgoing flow node to 1.

[0098] The existing virtual channel identifier or the new virtual channel identifier allocated by the initiating device 31 of S2 or S3 at the output port may be used as the first virtual channel identifier.

[0099] Step 303: The initiating device 31 allocates an outbound bandwidth value to the output port according to the first outbound bandwidth value.

[0100] As a possible implementation manner, step 303 may include the following sub-steps S1 to S4.

[0101] S1. Determine whether the currently available bandwidth meets the requirement. If so, the initiating device 31 allocates bandwidth as required. Otherwise, the initiating device 31 starts the bandwidth management process.

[0102] The initiating device 31 allocates bandwidth as required by the requirement, which means comparing the current actual available bandwidth of the output port with the outgoing bandwidth value required by the audio and video service flow, that is, the first outgoing bandwidth value. If the current actual available bandwidth is larger, the requirement is met, and the outgoing bandwidth value, that is, the first outgoing bandwidth value, is allocated to the output port.

[0103] S2. The initiating device 31 records the service flow information and updates the router forwarding table information.

[0104] S3. The initiating device 31 compares the actually allocated bandwidth value with the OutStreamBW in the bandwidth application request. If the actually allocated bandwidth value is smaller than the OutStreamBW value, OutStreamBW is assigned the actually allocated bandwidth value; otherwise, the assigned value of OutStreamBW remains unchanged.

[0105] The OutStreamBW value is called the first outbound bandwidth value.

[0106] S4. The initiating device 31 configures the transport layer.

[0107] The initiating device 31 sends the information shown in Table 6 to the transport layer.

[0108] Table 6

[0109] In a possible implementation of the present application, the serial numbers of the above steps do not limit the execution steps of the steps. For example, the above step 301 can be executed after step 302 and step 303, or before step 302 and step 303, that is, when the initiating device 31 does not generate a bandwidth application request, it executes step 302 and step 303 using data related to the bandwidth application request.

[0110] Step 304: The initiating device 31 sends a bandwidth application request.

[0111] The bandwidth application request includes the first outbound bandwidth value, that is, the value OutStreamBW in the bandwidth application request is set to the first outbound bandwidth value.

[0112] As a possible implementation manner, the initiating device 31 forwards the bandwidth application request according to the forwarding list addressing information of the bandwidth application request.

[0113] Optionally, the addressing information of the bandwidth application request is forwarding list addressing information, or referred to as forwarding list addressing, or addressing information. The message structure of the forwarding list addressing information is shown in Table 7.

[0114] Table 7

[0115] The Forwarding List Level of the bandwidth application request is used to indicate the current level, and the corresponding port number in the port number of the level is the port number used by the current device to send the bandwidth application request.

[0116] Step 305: The intermediate device 33 receives the bandwidth application request.

[0117] When the intermediate device 33 receives the bandwidth application request, it records the service flow information.

[0118] Step 306 : The intermediate device 33 allocates an outbound bandwidth value to the output port according to the first outbound bandwidth value in response to the bandwidth application request.

[0119] In response to the bandwidth request, intermediate device 33 assigns a virtual channel identifier to the output port of the device corresponding to the virtual path, and assigns an outbound bandwidth value to the output port based on the first outbound bandwidth value. The virtual channel identifier assigned by intermediate device 33 can be referred to as a second virtual channel identifier, and the virtual channel corresponding to it can be referred to as a second virtual channel. The second virtual channel is a virtual channel one level below the first virtual channel in the virtual path.

[0120] The processing method of allocating the virtual channel identifier and bandwidth by the intermediate device 33 is described in steps 302 and 303 , which will not be described in detail here.

[0121] If the intermediate device 33 receives a bandwidth application request with a repeated message tag from the same source device and the bandwidth value has been allocated, it directly forwards the request without processing.

[0122] Step 307: The intermediate device 33 sends a bandwidth application request.

[0123] The bandwidth application request includes an outbound bandwidth value. The outbound bandwidth value is used to indicate the value assigned to OutStreamBW by the intermediate device 33 based on the current actual available bandwidth. The outbound bandwidth value may be the same as or different from the first outbound bandwidth value.

[0124] As a possible implementation manner, the intermediate device 33 forwards the bandwidth application request according to the forwarding list addressing information of the bandwidth application request.

[0125] Optionally, the intermediate device 33 updates the forwarding list addressing information, and sends a bandwidth application request according to the updated forwarding list addressing information.

[0126] Step 308: The target device 32 receives the bandwidth application request.

[0127] The bandwidth request includes a third outbound bandwidth value. The third outbound bandwidth value indicates the outbound bandwidth value to be applied for by the upper-level device in the virtual path, which is obtained by assigning the value of OutStreamBW. The third outbound bandwidth value may be the same as or different from the first outbound bandwidth value.

[0128] Step 309: The target device 33 sends a bandwidth request response.

[0129] After receiving the bandwidth request, target device 32 records the service flow information and determines that it is the target device of the bandwidth request based on the forwarding list addressing information. It then uses the input port of the bandwidth request as the output port of the bandwidth request response and sends the bandwidth request response based on the forwarding list addressing method. The bandwidth request response includes the fourth outbound bandwidth value.

[0130] As a possible implementation, the message structure of the bandwidth request response is shown in Table 8.

[0131] Table 8

[0132] Optionally, descriptions of the fields in the bandwidth request response are shown in Table 9.

[0133] Table 9

[0134] Step 310: The intermediate device 33 receives the bandwidth request response.

[0135] Step 311 : The intermediate device 33 allocates an outbound bandwidth value to the output port in response to the bandwidth request response.

[0136] As a possible implementation, the way in which the intermediate device 33 allocates bandwidth in response to the bandwidth application response includes the following sub-steps S1-S4.

[0137] S1. The intermediate device 33 identifies the corresponding virtual channel according to the Channel ShuttleID and tag in the bandwidth request response.

[0138] The Channel ShuttleID and tag in the bandwidth request response are used to indicate the virtual channel corresponding to the virtual path in this device, that is, the second virtual channel. The input port of the intermediate device 33 receiving the bandwidth request response is the same as the output port of the virtual path of the service flow in the forward flow of this device.

[0139] S2. The intermediate device 33 determines whether the multicast count value of the flow node is greater than 1. If so, execute S4; otherwise, execute S3.

[0140] S3. The intermediate device 33 compares the bandwidth value (OutStreamBW) in the bandwidth request response, i.e., the fourth outbound bandwidth value, with the allocated bandwidth value. If the allocated bandwidth value is larger, the excess bandwidth value is released, the weight and flow control cache are recalculated, and the updated weight and flow control cache information is sent down to the transport layer.

[0141] Optionally, the allocated bandwidth value refers to the outbound bandwidth value allocated to the second virtual channel by the intermediate device 33 according to the bandwidth application request. The excess bandwidth value refers to the difference between the allocated bandwidth value and the bandwidth value in the bandwidth application response.

[0142] S4. The intermediate device 33 updates the record of the allocated bandwidth value.

[0143] In a possible embodiment of the present application, if the intermediate device 33 receives a bandwidth request response with a repeated tag from the same device and has already been allocated a bandwidth value, it directly forwards the request without processing.

[0144] Step 312: The intermediate device 33 sends a bandwidth request response.

[0145] The tag, Channel ShuttleID, etc. in the bandwidth request response sent by the intermediate device 33 are updated values. For example, the updated Channel ShuttleID in the bandwidth request response is assigned a value of the first virtual channel identifier.

[0146] Step 313: The initiating device 31 receives the bandwidth request response.

[0147] Step 314 : The initiating device 31 allocates bandwidth to the output port in response to the bandwidth request response.

[0148] As a possible implementation, the method in which the initiating device 31 allocates bandwidth in response to the bandwidth application response includes the following sub-steps S1-S4.

[0149] S1. The initiating device 31 identifies the corresponding virtual channel according to the Channel ShuttleID and tag in the bandwidth request response.

[0150] The Channel ShuttleID and tag in the bandwidth request response are used to indicate the first virtual channel of the virtual path.

[0151] S2. The initiating device 31 determines whether the multicast count value of the flow node is greater than 1. If so, execute S5; otherwise, execute S3.

[0152] S3. The initiating device 31 compares the bandwidth value (OutStreamBW) in the bandwidth request response, i.e., the fourth outbound bandwidth value, with the allocated bandwidth value. If the allocated bandwidth value is larger, the excess bandwidth value is released, the weight and flow control cache are recalculated, and the updated weight and flow control cache information is sent down to the transport layer.

[0153] Optionally, the allocated bandwidth value refers to the outbound bandwidth value allocated to the first virtual channel by the initiating device 31 according to the bandwidth application request. The excess bandwidth value refers to the difference between the allocated bandwidth value and the bandwidth value in the bandwidth application response.

[0154] S4. The initiating device 31 updates the record of the allocated bandwidth value.

[0155] In a possible embodiment of the present application, after the initiating device 31 executes step 321, it may also decide the next operation based on the bandwidth request response. The decision strategy corresponding to the decision may be as follows:

[0156] 1) If the bandwidth value in the bandwidth application response (ie OutStreamBW is assigned, the fourth outbound bandwidth value) is consistent with the service application value (ie OutStreamBW in the bandwidth application request is assigned, the first outbound bandwidth value), service stream transmission can be started.

[0157] 2) If the bandwidth value in the bandwidth request response is less than the service request value and the service is acceptable, for example, the service requirements can be continued to be met by adjusting the resolution, color space, bit depth, etc., then the service flow transmission can be started.

[0158] 3) If the bandwidth value in the response message is smaller than the service application value, but the service is unacceptable, the bandwidth release process is initiated, the next shortest path is selected, and the bandwidth application process is restarted.

[0159] 4) If no path in the UMI network can meet the bandwidth requirements of the current business flow, an exception is reported.

[0160] In a possible embodiment of the present application, when the initiating device 31 receives a bandwidth response, the ErrCode is non-zero, and the bandwidth request can be resent based on the original tag. When the initiating device 31 receives a bandwidth response, the ErrCode is non-zero, and the bandwidth release process can be called first, and then the bandwidth request can be sent using a new tag.

[0161] In a possible embodiment of the present application, the initiating device 31 and the target device 32 complete the bandwidth application of each port on the virtual path through the bandwidth application method to support the establishment of the virtual path. Figure 4 is a schematic diagram of a virtual path provided by the present application.

[0162] The communication link between communication interface 214 and communication interface 224, through multiple communication links between intermediate devices, forms the communication link between source device 210 and sink device 220. For example, taking source device 210 as device A, sink device 220 as device D, and intermediate devices including devices B and C, a virtual path is formed by cascading multiple virtual channels between adapter 4 of device A and adapter 5 of device D. This virtual path includes three virtual channels: a virtual channel with a virtual channel ID (shuttle ID) of 7 from device A to device B, a virtual channel with a virtual channel ID of 4 from device B to device C, and a virtual channel with a virtual channel ID of 13 between devices C and D. Port 2 of each device is a main downstream port (MDP), and port 1 of each device is a main upstream port (MUP). The downstream and upstream ports are connected via connectors and cables.

[0163] A virtual path can be represented by a quadruple. For example, the virtual path shown in FIG4 can be represented by (device A, adapter 4, device D, adapter 5).

[0164] The UMI bus supports multicast functionality. Data, audio and video streams, etc. generated by the same adapter can be transmitted to multiple adapters. As shown in Figure 5, the stream sent by adapter 4 of device A is received by adapter 7 of device B, adapter 6 of device C, and adapter 5 of device D at the same time. The corresponding three virtual paths are (device A, adapter 4, device B, adapter 7), (device A, adapter 4, device C, adapter 6), and (device A, adapter 4, device D, adapter 5).

[0165] In a possible embodiment of the present application, when an audio or video service requires both outbound and inbound bandwidth, such as a USB tunnel service, the intermediate device must allocate both outbound bandwidth to the output port and the input port, corresponding to the InStreamBW value in the bandwidth request. The target device must also allocate the outbound bandwidth value to the input port, corresponding to the InStreamBW value in the bandwidth request. The bandwidth allocation rules and process are the same as above.

[0166] It is understood that in order to implement the functions in the above embodiments, the source device and the sink device include hardware structures and / or software modules corresponding to the execution of each function. Those skilled in the art should readily appreciate that, in combination with the units and method steps of the various examples described in the embodiments disclosed in this application, this application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in hardware or in a manner driven by computer software depends on the specific application scenario and design constraints of the technical solution.

[0167] The bandwidth application method provided in accordance with this embodiment is described in detail above with reference to FIG. 1 to FIG. 5 . The bandwidth application apparatus provided in accordance with this embodiment will be described below with reference to FIG. 6 .

[0168] Figure 6 is a schematic diagram of the structure of a bandwidth application device provided by the present application. The bandwidth application device 600 can be used to implement the functions of any one of the devices in the above method embodiments, and thus can also achieve the beneficial effects of the above method embodiments. In this embodiment, the bandwidth application device 600 can be the set-top box 110, smart TV 120, or any display device as shown in Figure 1, or the source device 210 or sink device 220 as shown in Figure 2, or the multimedia device or display device provided in subsequent embodiments. It should be understood that the bandwidth application device 600 can also be a module (such as a chip) applied to any of the aforementioned devices.

[0169] As shown in Figure 6 , bandwidth application device 600 includes a transceiver module 610 and a processing module 620. Transceiver module 610 and processing module 620 can collaboratively implement the various steps in the aforementioned method embodiment. A more detailed description of transceiver module 610 and processing module 620 can be directly obtained by referring to the description of the devices in the method embodiment shown in the aforementioned figures, and is not further elaborated here.

[0170] When bandwidth application device 600 implements any of the bandwidth application methods shown in the aforementioned figures through software, bandwidth application device 600 and its various units may also be software modules. The aforementioned bandwidth application method is implemented by invoking the software module via a processor. The processor may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.

[0171] It can be understood that the bandwidth application device shown in Figure 6 is only an example provided in this embodiment. The bandwidth application device may include more or fewer units according to different audio and video service flow transmission processes, and this application is not limited to this.

[0172] When bandwidth application device 600 is implemented via hardware, the hardware may be implemented via a processor or a system-on-chip (SoC). The SoC includes one or more chips, each of which includes an interface circuit and a control circuit. The interface circuit is used to receive data from devices outside the chip and transmit it to the control circuit, or to send data from the control circuit to devices outside the chip. The control circuit and interface circuit implement any of the possible implementations described in the above embodiments through logic circuits or by executing code instructions. The beneficial effects can be found in the description of any aspect of the above embodiments and will not be elaborated upon here.

[0173] It is understood that the processor in the embodiments of the present application may be a CPU, or other general-purpose processor, digital signal processor (DSP), ASIC, FPGA or other programmable logic device, transistor logic device, hardware component or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.

[0174] In addition, the bandwidth application apparatus 600 shown in FIG6 can also be implemented by a multimedia device, as shown in FIG7 , which is a schematic structural diagram of the multimedia device provided in this application. The multimedia device includes: a processor 710, an external memory interface 720, an internal memory 721, a universal serial bus (USB) interface 730, a UMI interface 731, antenna 1, antenna 2, a mobile communication module 750, a wireless communication module 760, an audio module 770, a speaker 770A, a receiver 770B, a microphone 770C, a sensor module 780, a button 790, an indicator 792, a camera 793, a display screen 794, and subscriber identification module (SIM) card interfaces 1-N 795.

[0175] Among them, the above-mentioned sensor module 780 may include sensors such as pressure sensor, gyroscope sensor, air pressure sensor, magnetic sensor, acceleration sensor, distance sensor, proximity light sensor, fingerprint sensor, temperature sensor, touch sensor, ambient light sensor and bone conduction sensor.

[0176] It is understood that the structure illustrated in this embodiment does not constitute a specific limitation on the multimedia device. In other embodiments, the multimedia device may include more or fewer components than shown, or combine or separate certain components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.

[0177] The multimedia device shown in FIG. 7 may be any device in FIG. 1 , or a source device or a sink device in subsequent embodiments.

[0178] The processor 710 may include one or more processing units. For example, the processor 710 may include an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU). The different processing units may be independent devices or integrated into one or more processors.

[0179] The controller can be the nerve center and command center of the multimedia device. The controller can generate operation control signals based on instruction opcodes and timing signals to complete the control of instruction fetching and execution.

[0180] Processor 710 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 710 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 710. If processor 710 needs to use the same instruction or data again, it can directly access the memory. This avoids duplicate accesses, reduces processor 710 latency, and thus improves system efficiency.

[0181] In some embodiments, the processor 710 may include one or more interfaces. The interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a USB interface, a UMI interface, etc.

[0182] It is understood that the interface connection relationship between the modules illustrated in this embodiment is merely a schematic illustration and does not constitute a structural limitation on the multimedia device. In other embodiments, the multimedia device may also adopt a different interface connection method from the above embodiment, or a combination of multiple interface connection methods.

[0183] The wireless communication function of the multimedia device can be implemented through antenna 1, antenna 2, mobile communication module 750, wireless communication module 760, modem processor, and baseband processor. In some embodiments, antenna 1 of the multimedia device is coupled to mobile communication module 750, and antenna 2 is coupled to wireless communication module 760, so that the multimedia device can communicate with the network and other devices through wireless communication technology.

[0184] The wired communication function of the multimedia device can be implemented through the USB interface 730 or the UMI interface 731. For example, the multimedia device receives or sends video streams and AVP messages through the bus connected to the UMI interface 731.

[0185] The multimedia device implements display functionality through a GPU, display screen 774, and an application processor. The GPU is a microprocessor for image processing that connects the display screen 794 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 710 may include one or more GPUs that execute program instructions to generate or modify display information.

[0186] The display screen 794 is used to display images, videos, etc. The display screen 794 includes a display panel.

[0187] The multimedia device can implement a camera function through an ISP, a camera 793, a video codec, a GPU, a display 794, and an application processor. The ISP is responsible for processing data fed back by the camera 793. The camera 793 is responsible for capturing still images or videos. In some embodiments, the multimedia device may include one or N cameras 793, where N is a positive integer greater than 1.

[0188] In this embodiment, the above display screen 794, video codec, GPU, display screen 794 and application processor can also be collectively referred to as the display unit of the multimedia device, which is used to process and display the received multimedia data stream (such as video stream).

[0189] External memory interface 720 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the multimedia device. The external memory card communicates with processor 710 via external memory interface 720 to implement data storage functions. For example, files such as music and videos can be stored on the external memory card.

[0190] The internal memory 721 can be used to store computer executable program code, which includes instructions. The processor 710 executes various functional applications and data processing of the multimedia device by running the instructions stored in the internal memory 721. For example, in an embodiment of the present application, the processor 710 can execute instructions stored in the internal memory 721, and the internal memory 721 can include a program storage area and a data storage area.

[0191] The program storage area may store an operating system and at least one application required for a function (such as a sound playback function, an image playback function, etc.). The data storage area may store data created during the use of the multimedia device (such as audio and video data, a phone book, etc.). In addition, the internal memory 721 may include high-speed random access memory and non-volatile memory, such as at least one disk storage device, a flash memory device, or a universal flash storage (UFS).

[0192] The multimedia device can implement audio functions such as music playback and recording through the audio module 770, the speaker 770A, the receiver 770B, the microphone 770C, and the application processor.

[0193] Buttons 790 include a power button, a volume button, and the like. Buttons 790 may be mechanical buttons or touch buttons. Indicator 792 may be an indicator light that can indicate charging status, battery level changes, messages, missed calls, notifications, and the like.

[0194] The method steps in the embodiments of the present application can also be implemented by a processor executing software instructions. The software instructions can be composed of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, mobile hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and storage medium can be located in an ASIC. In addition, the ASIC can be located in a network device or a terminal device. Of course, the processor and storage medium can also exist as discrete components in a video processing device and a multimedia device.

[0195] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the process or function described in the embodiments of the present application is performed in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user device or other programmable device. The computer program or instruction can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer program or instruction can be transmitted from one website, computer, server or data center to another website, computer, server or data center via wired or wireless means. The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, a hard disk, or a tape; it can also be an optical medium, such as a digital video disc (DVD); it can also be a semiconductor medium, such as a solid state drive (SSD).

[0196] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present application, and such modifications or substitutions should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.

Claims

1. A bandwidth application method, characterized in that, the method includes: Obtain a bandwidth application request; the bandwidth application request includes a first outgoing bandwidth value; Allocate a first virtual channel identifier at the first outgoing port; the first virtual channel corresponding to the first virtual channel identifier is used to transmit traffic flows on the link between two ports; Allocate an outgoing bandwidth value for the output port according to the first outgoing bandwidth value; Send the bandwidth application request; Receive a bandwidth application response.

2. The method according to claim 1, characterized in that, the allocating the first virtual channel identifier at the first outgoing port includes: When the first outgoing port number of the first outgoing port is in the router forwarding table corresponding to the traffic flow, determine that the first virtual channel identifier is an existing virtual channel identifier; The router forwarding table is used to indicate the forwarding rules of packets in different virtual channels within this device. The router forwarding table includes at least one forwarding entry, and each forwarding entry includes incoming flow information and outgoing flow information. The incoming flow information includes information about the incoming node, and the outgoing flow information includes information about the outgoing node.

3. The method according to claim 2, characterized in that, the method further includes: Increment the first multicast count value of the outgoing node by one; the first multicast count value is used to represent the number of target devices receiving the traffic flow under the first outgoing port, and the outgoing node information is used to describe the first outgoing port corresponding to the traffic flow.

4. The method according to claim 1, characterized in that, the allocating the first virtual channel identifier at the first outgoing port includes: When the first outgoing port number of the first outgoing port is not in the router forwarding table corresponding to the traffic flow, allocate a new first virtual channel identifier for the first outgoing port.

5. The method according to claim 4, characterized in that, the method further includes: Set the first multicast count value of the outgoing node to one.

6. The method according to any one of claims 1-5, characterized in that, before sending the bandwidth application request, the method further includes: When the actually allocated bandwidth value of the first outgoing port is less than the first outgoing bandwidth value, replace the first outgoing bandwidth value with the actually allocated bandwidth value.

7. The method according to any one of claims 1-6, characterized in that, the bandwidth application response includes a second outgoing bandwidth value, and the method further includes: When the first multicast count value of the outgoing node is less than or equal to one, and the allocated bandwidth value is greater than the second outgoing bandwidth value, release a bandwidth of the first numerical size; the first numerical value is the absolute value of the difference between the allocated bandwidth value and the second outgoing bandwidth value, and the outgoing node information is used to describe the first outgoing port number corresponding to the traffic flow.

8. The method according to any one of claims 1-6, characterized in that, the bandwidth application response includes a second outgoing bandwidth value, and the method further includes: When the first multicast count value of the egress node is greater than one and the allocated bandwidth value is equal to the second egress bandwidth value, start the service flow; the information of the egress node is used to describe the first egress port number corresponding to the service flow.

9. The method according to any one of claims 1-6, wherein, the bandwidth application response includes a second egress bandwidth value, and the method further includes: When the first multicast count value of the egress node is greater than one and the allocated bandwidth value is greater than the second egress bandwidth value, after adjusting the compressible items of the service flow, start the service flow; the compressible items include at least one of resolution, color space, bit depth, etc., and the information of the egress node is used to describe the first egress port number corresponding to the service flow.

10. The method according to any one of claims 1-9, wherein, the bandwidth application request further includes a first ingress bandwidth value, and the method further includes: Allocating an egress bandwidth value for the input port according to the first ingress bandwidth value.

11. A bandwidth application method, wherein, applied to the target device or the processor of the target device, the method includes: Receiving a bandwidth application request; the bandwidth application request includes a third egress bandwidth value; Returning a bandwidth application response; the bandwidth application response includes a fourth egress bandwidth value, and the fourth egress bandwidth value is used to indicate the applied egress bandwidth value.

12. The method according to claim 11, wherein, the bandwidth application request further includes a second ingress bandwidth value, and the bandwidth application response further includes a third ingress bandwidth value, and the third ingress bandwidth value is used to indicate the applied ingress bandwidth value.

13. A bandwidth application device, wherein, comprising: A transceiver module, configured to obtain a bandwidth application request; The bandwidth application request includes a first egress bandwidth value; A processing module, configured to allocate a first virtual channel identifier on the first egress port; the first virtual channel corresponding to the first virtual channel identifier is used to transmit a service flow on the link between two ports; The processing module is further configured to allocate an egress bandwidth value for the output port according to the first egress bandwidth value; The transceiver module is further configured to send the bandwidth application request; The transceiver module is further configured to receive a bandwidth application response.

14. A bandwidth application device, wherein, comprising: A transceiver module, configured to receive a bandwidth application request; the bandwidth application request includes a third egress bandwidth value; The transceiver module is further configured to return a bandwidth application response; the bandwidth application response includes a fourth egress bandwidth value, and the fourth egress bandwidth value is used to indicate the applied egress bandwidth value.

15. A multimedia device, wherein, comprising: A transceiver and a processor; The processor is configured to process a service flow; The transceiver is configured to transmit and receive the service flow; The transceiver and the processor are configured to jointly execute the method according to any one of claims 1-10, or jointly execute the method according to any one of claims 11-12.

Citation Information

Patent Citations

  • Bandwidth application method and device, bandwidth allocation method and base station

    CN101938788A

  • Methods and apparatus for managing network resources used by multimedia streams in a virtual pipe

    CN104272758A

  • Bandwidth control method and electronic equipment

    CN105138392A

  • Bandwidth allocation method and device

    CN112148426A

  • Bandwidth allocation system of virtual path in communication network of asynchronous transfer mode

    US20030026290A1