Multimedia on-demand method, device and system, computing type storage equipment and storage medium

By executing the multimedia on-demand process in a computing storage device, the high load and high cost problems caused by host-side codec are solved, and more efficient video on-demand service is achieved and hardware usage costs are reduced.

CN119136000APending Publication Date: 2024-12-13SAMSUNG (CHINA) SEMICONDUCTOR CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411118538.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-14
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

The existing video on-demand technology performs encoding and decoding operations on the host side, resulting in high CPU load, high power consumption, high hardware performance requirements, and hardware acceleration solutions increase latency and bandwidth load, increasing hardware costs.

Method used

The multimedia on-demand process is performed in a computing storage device, and the processor and integrated circuit chips are used for encoding, decoding and multiplexing, avoiding encoding, decoding on the host side, reducing hardware usage and maintenance costs, and reducing data transmission paths.

Benefits of technology

It reduces the CPU usage and consumption of host side, reduces hardware usage and maintenance costs, avoids additional latency and bandwidth load, and enhances the efficiency and cost-effectiveness of video on-demand services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119136000A_ABST
    Figure CN119136000A_ABST
Patent Text Reader

Abstract

The invention provides a multimedia on-demand method, device and system, computing type storage equipment and a storage medium. The method comprises the steps that the computing type storage equipment receives a first request for multimedia on-demand from a host; in response to the first request, executing an on-demand processing process for multimedia corresponding to the first request to generate a corresponding on-demand result; wherein the on-demand processing process comprises flow control and at least one of the following items: a multimedia encoding and decoding process and a multiplexing process; and sending the on-demand result to the host. The efficiency, the transmission efficiency, the power consumption and the cost of multimedia on-demand services such as videos are optimized and balanced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of multimedia technology, and in particular to a multimedia on-demand method, apparatus, system, computing storage device and storage medium. Background Art

[0002] The data of video on demand is usually stored in a storage device such as SSD in advance, and the related programs are run on the server on the host side. The video on demand service needs to read the corresponding data from the SSD to the host side in real time, and then perform a series of operations on the data on the host side. The core technologies mainly involved in this process are: encoding, decoding, and transcoding. Encoding is to compress the video signal with a large amount of data so as to transmit and store the video signal. Decoding is the reverse process of encoding, and transcoding is an operation / step generated for better compatibility. Transcoding is a process such as resolution conversion and secondary packaging to meet the decoding and display capabilities of different devices.

[0003] In the related art, the solution of implementing complete software on the host side and performing encoding and decoding operations on the read video data will lead to problems such as high host CPU load, high power consumption, and high hardware performance requirements. On the other hand, in the on-demand solution of hardware expansion acceleration on the host side, it is necessary to assign values ​​and transmit between the host side and the acceleration card, which will cause additional delays and increase the bus bandwidth load, hardware costs, and power consumption. Summary of the invention

[0004] The multimedia on-demand method, apparatus, system, computing storage device and storage medium provided by the present disclosure at least solve the problem of host-side software and / or host-side hardware expansion acceleration and other technical problems not mentioned above.

[0005] According to one aspect of the present disclosure, a multimedia on-demand method is provided, comprising: receiving, by a computing storage device, a first request for multimedia on-demand from a host; in response to the first request, executing, by the computing storage device, an on-demand processing process for the multimedia corresponding to the first request to generate a corresponding on-demand result; the on-demand processing process includes flow control and at least one of the following items: an encoding and decoding process and a multiplexing process of the multimedia; and sending the on-demand result to the host.

[0006] Optionally, the computing storage device includes a processor and an integrated circuit chip; executing the on-demand processing process includes: executing the process control through the processor; wherein the process control includes codec control and request control, and the codec control is executed based on the request control; executing at least one of the following items through the integrated circuit chip: the codec process, the multiplexing process.

[0007] Optionally, the processor includes a flow controller and a codec controller; the integrated circuit chip includes a multiplexer and a codec; the performing of the process control by the processor includes: performing the request control by the flow controller; performing the codec control by the codec controller; wherein, performing the request control by the flow controller includes: receiving the first request; in response to the first request, performing the following steps: in the case where the request content of the first request is to obtain source data, requesting the controller of the computational storage device to obtain the source data; in the case where the encoding parameters of the source data do not meet the preset encoding parameter requirements, instructing the codec controller to control the codec to transcode the source data and convert the transcoded source data into data as the on-demand result; when the encoding parameters of the source data meet the preset encoding parameter requirements, the codec controller is instructed to control the multiplexer to encapsulate the source data through an encapsulation request and use the encapsulated source data as the on-demand result; when the request content of the first request is to change the resolution or change the encapsulation format, the codec controller is instructed to control the multiplexer to encapsulate the corresponding multimedia data according to the request content of the first request through an encapsulation request and use the encapsulated multimedia data as the on-demand result; wherein the performing the codec control through the codec controller includes: controlling the operation of the codec and the multiplexer based on the codec control; and setting the parameters of the codec based on the first request.

[0008] Optionally, performing the codec control through the codec controller further includes: performing memory management during the codec process; and performing memory access management during data movement between the controller of the computational storage device and the integrated circuit chip.

[0009] Optionally, performing at least one of the following items through the integrated circuit chip: the encoding and decoding process, the multiplexing process, includes at least one of the following items: performing the multiplexing process through the multiplexer; performing the encoding and decoding process through the codec.

[0010] Optionally, performing the encoding and decoding process through the codec includes: performing the following processing on the source data in sequence based on the parameters set by the codec controller to obtain the on-demand result: decoding; performing resampling, scaling, and image reconstruction in the case of transcoding; and encoding.

[0011] Optionally, executing the encoding and decoding process through the codec also includes: in a pipeline form, performing the following processing on the source data in sequence based on the parameters set by the codec controller to obtain the on-demand result: decoding, reconstruction; when the usage rate of the codec is greater than a preset threshold, adjusting the resolution by resampling; frame estimation, encoding, and frame buffering.

[0012] Optionally, the receiving a first request for multimedia on-demand from the host includes: when multimedia cache data corresponding to the first request is not found in the host, receiving the first request from the host by the computational storage device.

[0013] Optionally, the receiving of the first request for multimedia on-demand from the host includes: in one scenario, receiving the first request for multimedia on-demand from the host; wherein the one scenario includes: when a second request for multimedia on-demand received by the host from the Internet is valid, and when searching for corresponding multimedia cache data in the host based on the second request fails, creating the first request based on the second request; wherein the first request includes identification information of the multimedia.

[0014] Optionally, the computational storage device includes a dynamic random access memory DRAM, a flash memory, a controller and a processing circuit, and wherein the on-demand processing process is executed by the processing circuit.

[0015] According to another aspect of the present disclosure, a multimedia on-demand method is also provided, comprising: a host sends a first request for multimedia on-demand to a computing storage device; wherein the first request is used to obtain an on-demand processing process for the multimedia corresponding to the first request executed by the computing storage device in response to the first request to generate a corresponding on-demand result; wherein the on-demand processing process includes flow control and at least one of the following items: an encoding and decoding process and a multiplexing process of the multimedia; and the host receives the on-demand result from the computing storage device.

[0016] According to another aspect of the present disclosure, a multimedia on-demand device is also provided, which is applied to a computing storage device, and the multimedia on-demand device includes: a request receiving module, configured to: receive a first request for multimedia on-demand from a host; an on-demand execution module, configured to: in response to the first request, execute an on-demand processing process for the multimedia corresponding to the first request to generate a corresponding on-demand result; the on-demand processing process includes flow control and at least one of the following items: an encoding and decoding process and a multiplexing process of the multimedia; a result sending module, configured to: send the on-demand result to the host.

[0017] According to another aspect of the present disclosure, a multimedia on-demand device is also provided, which is applied to a host, and the multimedia on-demand device includes: a request sending module, configured to: send a first request for multimedia on-demand to a computing storage device; wherein the first request is used to obtain an on-demand processing process for the multimedia corresponding to the first request executed by the computing storage device in response to the first request to generate a corresponding on-demand result; the on-demand processing process includes flow control and at least one of the following items: an encoding and decoding process and a multiplexing process of the multimedia; and a result receiving module, configured to: receive the on-demand result from the computing storage device.

[0018] According to another aspect of the present disclosure, a multimedia on-demand system is also provided, which includes a host and a computing storage device; the host sends a first request for multimedia on-demand to the computing storage device; the computing storage device, in response to the first request, performs an on-demand processing process for the multimedia corresponding to the first request to generate the corresponding on-demand result; the on-demand processing process includes flow control and at least one of the following items: an encoding and decoding process and a multiplexing process of the multimedia; the computing storage device sends the on-demand result to the host; and the host receives the on-demand result from the computing storage device.

[0019] According to another aspect of the present disclosure, a computing storage device is also provided, comprising: a processing circuit configured to: receive a first request for multimedia on-demand from a host; in response to the first request, execute an on-demand processing process for the multimedia corresponding to the first request to generate a corresponding on-demand result; the on-demand processing process comprises flow control and at least one of the following items: an encoding and decoding process and a multiplexing process of the multimedia; and send the on-demand result to the host.

[0020] According to another aspect of the present disclosure, a computer-readable storage medium storing instructions is further provided, wherein when the instructions are executed by at least one computing device, the at least one computing device is prompted to execute any one of the multimedia on-demand methods described above.

[0021] According to another aspect of the present disclosure, a system is provided, comprising at least one computing device and at least one storage device storing instructions, wherein when the instructions are executed by the at least one computing device, the at least one computing device is prompted to execute any one of the multimedia on-demand methods described above.

[0022] The technical solution provided by the embodiments of the present disclosure brings at least the following beneficial effects:

[0023] According to the multimedia on-demand method, apparatus, system, computational storage device and storage medium disclosed in the present invention, a computational storage device (CSD) can be used to replace a traditional SSD (Solid State Drive), and multimedia on-demand processes such as encoding and decoding can be executed in the CSD, thereby avoiding the occupation and consumption of the host CPU when encoding and decoding are performed on the host side, and reducing the hardware usage and maintenance costs compared to introducing an additional accelerator card in addition to the traditional SSD; and, performing data processing inside the CSD can maintain the data transmission path between the host side and the CSD, avoiding the delay and increased bandwidth load caused by the need for an additional transmission path.

[0024] In addition, after replacing the traditional SSD with a computational storage device, the combination of the integrated circuit chip in the computational storage device and the CPU can reduce the hardware usage and maintenance costs more than introducing an additional acceleration card in addition to the traditional SSD. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The drawings herein are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the description are used to explain the principles of the present disclosure, and do not constitute improper limitations on the present disclosure.

[0026] Figure 1 A schematic diagram of a host-side on-demand solution for implementing complete software in the related art is shown;

[0027] Figure 2 A schematic diagram showing a related art method for implementing a video-on-demand solution through hardware acceleration on a host side;

[0028] Figure 3 A flowchart showing a multimedia on-demand method applied to a computing storage device according to an exemplary embodiment of the present disclosure is shown;

[0029] Figure 4 A flowchart showing command management of multimedia on demand according to an exemplary embodiment of the present disclosure;

[0030] Figure 5 A schematic diagram showing the structure of a computing storage device according to an exemplary embodiment of the present disclosure;

[0031] Figure 6 A schematic diagram showing the structure of an FPGA in a computational storage device according to an exemplary embodiment of the present disclosure;

[0032] Figure 7 A flowchart showing the operation of a flow controller according to an exemplary embodiment of the present disclosure;

[0033] Figure 8A schematic diagram showing data flow interaction of an exemplary embodiment of the present disclosure is shown;

[0034] Fig. 9 A schematic diagram showing the interaction between the stream controller and the codec controller during operation according to an exemplary embodiment of the present disclosure;

[0035] Fig.10 A flowchart showing the operation of a codec according to an exemplary embodiment of the present disclosure;

[0036] Fig.11 A flow chart showing the codec of the exemplary embodiment of the present disclosure when operating in a pipeline form;

[0037] Fig.12 A schematic diagram showing an exemplary embodiment of the present disclosure;

[0038] Fig.13 A comparison diagram showing a related technical solution and an exemplary embodiment of the present disclosure;

[0039] Fig.14 A diagram showing a comparison of data processing time between a related technical solution and an exemplary embodiment of the present disclosure;

[0040] Fig.15 A flowchart showing a multimedia on-demand method applied to a host according to an exemplary embodiment of the present disclosure;

[0041] Fig.16 A block diagram showing a multimedia on-demand device applied to a computing storage device according to an exemplary embodiment of the present disclosure;

[0042] Fig.17 A block diagram showing a multimedia on-demand device applied to a host according to an exemplary embodiment of the present disclosure;

[0043] Fig.18 A block diagram showing a multimedia on-demand system according to an exemplary embodiment of the present disclosure;

[0044] Fig.19 A block diagram of a computational storage device according to an exemplary embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0045] In order to enable ordinary persons in the art to better understand the technical solutions of the present disclosure, the technical solutions in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the accompanying drawings.

[0046] It should be noted that the terms "first", "second", etc. in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in an order other than those illustrated or described herein. The implementation methods described in the following examples do not represent all implementation methods consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the attached claims.

[0047] It should be noted that the phrase "at least one of the items" in the present disclosure includes three types of parallel situations: "any one of the items", "a combination of any number of the items", and "all of the items". For example, "including at least one of A and B" includes the following three parallel situations: (1) including A; (2) including B; (3) including A and B. Another example is "executing at least one of step 1 and step 2" which means the following three parallel situations: (1) executing step 1; (2) executing step 2; (3) executing step 1 and step 2.

[0048] In the related art, multimedia on-demand data such as video is usually stored in a storage device such as SSD (Solid State Drive) in advance, and the related programs are run on the server of the host. The video on-demand service needs to read the corresponding data from the SSD to the host in real time, and then perform a series of operations on the data on the host. The core technologies mainly involved in this process are: encoding, decoding, and transcoding. Encoding is to compress the video signal with a large amount of data for transmission and storage. Decoding is the reverse process of encoding, and transcoding is a step generated for better compatibility. Transcoding is a process such as resolution conversion and secondary packaging to meet the decoding and display capabilities of different devices. The existing video codec standards are mainly formulated and issued by ISO (International Organization for Standardization) and ITU-T (ITU-T for ITU Telecommunication Standardization Sector). The current mainstream encoding standards are H.264 and H.265. Both standards support streaming transmission and H.265 has higher transmission bandwidth and hardware performance requirements.

[0049] Figure 1 A schematic diagram of a complete software on-demand solution implemented on a host side in the related art is shown.

[0050] Reference Figure 1 In the relevant on-demand solution, the encoding and decoding operations on the read video data can be performed by implementing complete software on the host side. Specifically, the video on-demand service software on the host side can obtain the video data stored in the SSD by sending commands related to data acquisition requests to the SSD, receive the video data from the SSD, and perform subsequent processing of the acquired video data on the host side for video on-demand services, such as encoding, decoding, transcoding, etc. Since video on demand is a computationally intensive task, in order to improve the performance of the codec, each submodule runs in parallel on almost all CPUs (Central Processing Units) on the host side, so the overall concurrency of the on-demand system depends on the hardware performance of the host server. It can be seen that by implementing a complete software on-demand solution on the host side, the original data transmission volume and transmission load are maintained.

[0051] Figure 2 A schematic diagram showing a related art method for implementing a VOD solution on a host through hardware acceleration.

[0052] Reference Figure 2 For example, the on-demand service can be implemented by adding an accelerator card to the PCIe (Peripheral Component Interconnect express, a high-speed serial computer expansion bus standard) interface of the host side to expand the host side. Specifically, the video on-demand service software on the host side can obtain video data from the SSD through a data acquisition command, receive video data from the SSD, and then transfer the acquired video data to the accelerator card to implement data processing such as encoding, decoding, and transcoding, and then receive the processed video data from the accelerator card. Different from the above-mentioned method of implementing the complete software on the host side, the solution after expanding the accelerator card will use software to complete the on-demand data stream logic, but uses the accelerator card to implement the codec. This solution can improve the efficiency of encoding and decoding by adding additional hardware-assisted encoding and decoding.

[0053] It can be seen from the relevant technologies that related solutions are all troubled by the problems of high power consumption, high cost and high data transmission efficiency. Different solutions may improve in some aspects, but there are still some inevitable problems.

[0054] For example, Figure 1 The defects of the on-demand solution for implementing complete software on the host side shown are specifically manifested as follows:

[0055] (1) High concurrency of video on demand will increase the load of all CPUs, which may cause serious interference to other tasks;

[0056] (2) Excessive CPU load will also lead to an increase in overall power consumption;

[0057] (3) The high hardware performance requirements of video on demand mean that high-quality CPU / DRAM (Dynamic Random Access Memory) / STORAGE (storage refers to the device or medium used to save and retain data) are required, and the hardware cost will increase accordingly;

[0058] And as Figure 2 The defects of the on-demand solution accelerated by hardware on the host side are as follows:

[0059] (1) The data transmission path is increased, that is, the value transmission needs to be performed between the host and the accelerator card, which will cause additional delays and increase the bus bandwidth load. In high concurrency situations, the server peripheral bandwidth will become an IO (Input / Output) bottleneck;

[0060] (2) The accelerator card is expanded, which increases the additional hardware cost;

[0061] (3) The increase in hardware increases power consumption to a certain extent.

[0062] In order to solve the above problems, the present disclosure provides a multimedia on-demand method, apparatus, system, computing storage device and storage medium, which can introduce computing storage device into the service process of multimedia on-demand such as video to replace the traditional SSD, and execute the multimedia on-demand process such as encoding and decoding in the computing storage device, thereby avoiding the occupation and consumption of CPU when encoding and decoding on the host side, and also reducing the use and maintenance cost of hardware compared to introducing an additional acceleration card outside the traditional SSD. Data processing inside the computing storage device can make it possible to maintain the data transmission path between the host side and the computing storage device, avoiding the delay and increased bandwidth load caused by the need for an additional transmission path.

[0063] Next, we will refer to Figures 3 to 19 Various embodiments of the multimedia on-demand method, apparatus, system, computing storage device, and storage medium disclosed herein are specifically described.

[0064] Figure 3 A flow chart showing a multimedia on-demand method applied to a computing storage device according to an exemplary embodiment of the present disclosure is shown.

[0065] Reference Figure 3 In step 301, a first request for multimedia on-demand may be received from a host. For example, a computing storage device may receive a first request for multimedia on-demand from a host.

[0066] According to an exemplary embodiment of the present disclosure, by introducing a computational storage device to implement a multimedia on-demand service such as video, the function of the host side can be simplified to sending a first request or related command for multimedia on-demand to the computational storage device. The computational storage device can be implemented using a device such as an SSD that has been modified to add a computing function consistent with the exemplary embodiment of the present disclosure. It is understandable that the present disclosure will describe various embodiments of video on demand (VOD, Video on Demand), but is not limited to multimedia on-demand services in the form of video, and can also include movie on demand (Movie on Demand, MOD), news on demand (News on Demand, NOD), etc.

[0067] According to an exemplary embodiment of the present disclosure, receiving the first request for multimedia on-demand from the host may include: receiving the first request for multimedia on-demand from the host when no corresponding multimedia cache data is found in the host.

[0068] According to an exemplary embodiment of the present disclosure, receiving a first request for multimedia on-demand from a host includes: receiving the first request for multimedia on-demand from the host in a certain situation; wherein the situation includes: when a second request for multimedia on-demand received by the host from the Internet is valid, and the search for corresponding multimedia cache data in the host based on the second request fails, creating the first request based on the second request. The first request may include identification information of the corresponding multimedia.

[0069] According to an exemplary embodiment of the present disclosure, the generation of the first request may include: receiving a second request for multimedia on-demand sent by the Internet; checking the validity of the second request; if the second request is valid, searching for corresponding multimedia cache data in the host based on the second request; if the search is successful, using the multimedia cache data as the on-demand result; if the search fails, creating the first request based on the second request. The first request may include identification information of the corresponding multimedia.

[0070] Figure 4 A flow chart showing command management of multimedia on demand according to an exemplary embodiment of the present disclosure.

[0071] Reference Figure 4According to an exemplary embodiment of the present disclosure, a second request for multimedia on-demand such as video from the Internet can be received by a host, and the validity of the second request can be checked. If the second request is valid, the corresponding hash table can be used to find out whether there is a qualified video stream cache on the host side. If a qualified video stream cache is found on the host, the corresponding data stream can be reused and returned to the sender of the second request on the Internet. If a qualified video stream cache is not found on the host side, a video-on-demand command with a unique video ID (Identity document) can be created as a first request, and the first request can be sent to a computational storage device (CSD) to implement a video-on-demand service for multimedia such as video through the computational storage device. The computational storage device (CSD) can receive the first request.

[0072] Return to reference Figure 3 In step 302, in response to the first request, a video-on-demand processing process for the multimedia corresponding to the first request may be performed to generate a corresponding video-on-demand result. The video-on-demand processing process may include flow control and at least one of the following items: a coding and decoding process and a multiplexing process for the corresponding multimedia. For example, the CSD may perform flow control and at least one of a coding and decoding process or a multiplexing process for the corresponding multimedia.

[0073] In step 303, the on-demand result may be sent to the host. For example, the CSD may send the on-demand result to the host.

[0074] According to an exemplary embodiment of the present disclosure, the computing storage device may include a processor and an integrated circuit chip. Executing the on-demand processing process of the corresponding multimedia may include: executing flow control by the processor. Flow control includes codec control and request control, and codec control is executed based on request control. Executing the on-demand processing process of the corresponding multimedia may also include: executing at least one of the following items by the integrated circuit chip: codec process, multiplexing process.

[0075] According to an exemplary embodiment of the present disclosure, a computing storage device may include a data processing module such as a processor and an integrated circuit chip for performing data processing. Since the above-mentioned multimedia on-demand processing process may mainly include steps such as multimedia encoding and decoding process, multiplexing process, and process control, the process control in the on-demand processing process may be performed by the processor in the computing storage device, and / or the encoding and decoding process and multiplexing process in the on-demand processing process may be performed by the integrated circuit chip. It can be understood that in some embodiments, the integrated circuit chip may perform the encoding and decoding process and the multiplexing process in the on-demand processing process, and in a multimedia on-demand processing process, the encoding and decoding process and the multiplexing process may not all be executed, for example, at least one of the encoding and decoding process and the multiplexing process may be executed according to the on-demand demand. The process control may include encoding and decoding control and request control, and the encoding and decoding control may be executed based on the request control.

[0076] Figure 5 A schematic diagram showing the structure of a computing storage device according to an exemplary embodiment of the present disclosure is shown.

[0077] Reference Figure 5 According to an exemplary embodiment of the present disclosure, the computing storage device 500 may include components such as a controller 501, a dynamic random access memory (DRAM) 502, a flash memory 503, and a processing circuit 504, and the above-mentioned on-demand processing process of the multimedia on-demand method of the exemplary embodiment of the present disclosure may be implemented in the processing circuit 504 through a multimedia on-demand module executed by the processing circuit 504. In an embodiment, data processing modules such as a processor 505 and an integrated circuit chip 506 that may be included in the above-mentioned computing storage device may be integrated in the processing circuit 504. The integrated circuit chip 506 may be implemented using an FPGA (Field Programmable Gate Array). After replacing the traditional SSD with a computing storage device, the combination of the FPGA and the processor 505 can reduce the use and maintenance costs of the hardware more than the method of introducing an additional acceleration card outside the traditional SSD. It can be understood that in some embodiments, the integrated circuit chip 506 may also be implemented using a programmable ASIC (Application Specific Integrated Circuit) chip or the like.

[0078] Figure 6 A schematic diagram showing the structure of an FPGA in a computational storage device according to an exemplary embodiment of the present disclosure is shown.

[0079] Reference Figure 6According to an exemplary embodiment of the present disclosure, since the H.265 encoder with a resolution of 1080 uses about 83k LUT (Look-Up-Table), and when the SSD is modified to implement a computational storage device, the modified SSD can provide 899k LUT, and 8-9 H.265 codecs can be configured when the modified SSD is more fully utilized. It can be considered that H.265 is an upgraded version of H.264, with roughly the same algorithm architecture, and the encoding unit and prediction method have also been upgraded. Therefore, the codec framework can be designed and distinguished in key parts, indicating the different parts of the FPGA of the exemplary embodiment of the present disclosure compared to the related art. The same video file may be reused, and resampling of the decoded data is feasible for dedicated circuits, so the multiplexer can be implemented in the FPGA area.

[0080] Return to reference Figure 5 According to an exemplary embodiment of the present disclosure, the multimedia on-demand method of the present disclosure can be used in data processing in a stream format. In an embodiment, the integrated circuit chip 506 in the computational storage device 500 can be used to implement a pipelined codec (such as H.264 and H.265, etc.) and a multiplexer, and the processor 505 can be used to implement key control processes in a pipelined multimedia on-demand service, such as codec control and host request control.

[0081] According to an exemplary embodiment of the present disclosure, the processor 505 may include a flow controller 505-1 and a codec controller 505-2. In an exemplary embodiment, the integrated circuit chip 506 may include a multiplexer 506-1 and a codec 506-2. Executing flow control through the processor 505 may include: executing request control through the flow controller 505-1; executing codec control through the codec controller 505-2; wherein, executing request control through the flow controller 505-1 may include: receiving a first request; in response to the first request, performing the following steps: in the case where the request content of the first request is to obtain source data, requesting the controller 501 of the computational storage device to obtain source data; in the case where the encoding parameters of the source data do not meet the preset encoding parameter requirements, instructing the codec controller 505-2 to control the codec 505 through a transcoding request. 6-2 transcodes the source data and uses the transcoded source data as the on-demand result; when the encoding parameters of the source data meet the preset encoding parameter requirements, the encapsulation request instructs the codec controller 505-2 to control the multiplexer 506-1 to encapsulate the source data and use the encapsulated source data as the on-demand result; when the request content of the first request is to change the resolution or change the encapsulation format, the encapsulation request instructs the codec controller 505-2 to control the multiplexer 506-1 to encapsulate the corresponding multimedia data according to the request content of the first request and use the encapsulated multimedia data as the on-demand result. The codec controller 505-2 performs codec control, which may include: controlling the operation of the codec 506-2 and the multiplexer 506-1 based on the codec control; and setting the parameters of the codec 506-2 based on the first request. In an embodiment, the encoding parameters may include, but are not limited to, encoding format, resolution, bit rate, etc. Different devices and players may support different encoding standards. Using different encoding standards to perform encoding may generate different encoding parameters (for example, different encoding formats, different resolutions, different bit rates, etc.).

[0082] According to an exemplary embodiment of the present disclosure, at least one of the following items is performed by the integrated circuit chip 506: a coding and decoding process, a multiplexing process, which may include at least one of the following items: performing a multiplexing process by the multiplexer 506-1; or performing a coding and decoding process by the codec 506-2.

[0083] According to an exemplary embodiment of the present disclosure, a general processor can run Linux. In the multimedia on-demand method of the exemplary embodiment of the present disclosure, only part of the processor 505 can be used to run the control software of the codec as the codec controller 505-2. In some embodiments, only one process can be run. Therefore, Linux can be streamlined, and only the component of the process management program that can perform encoding and decoding with high performance is retained as the codec controller 505-2.

[0084] According to an exemplary embodiment of the present disclosure, part of the processor 505 can be used to run complex bare metal programs, which can show high performance and effectively ensure real-time performance. It can be used to implement the flow controller 505-1.

[0085] Figure 7 An operation flow chart of a flow controller according to an exemplary embodiment of the present disclosure is shown.

[0086] Figure 8 A schematic diagram showing data flow interaction of an exemplary embodiment of the present disclosure is shown.

[0087] Reference Figure 7 , combined with reference Figure 8 According to an exemplary embodiment of the present disclosure, when the first request managed by the multimedia on-demand command reaches the computing storage device 500, the first request can be received by the stream controller 505-1; then the first request can be parsed by the multiplexer 506-1 to determine whether the computing storage device 500 has cached the video data corresponding to the request content of the first request. When the computing storage device 500 has cached the same video data of different resolutions or different packaging formats in the request content of the first request, it is only necessary to repackage the video data through the multiplexer 506-1 to obtain a streaming package (streaming package) packaged in a format that meets the resolution or packaging format requirements of the first request and then return it. When the corresponding video data is not cached in the computing storage device 500, the data to be obtained is the source data, and the controller 501 in the computing storage device 500 can obtain the source data from the storage module (for example, DRAM 502 or flash memory 503, etc.). In the case where the encoding parameters of the source data do not meet the preset encoding parameter requirements in the first request, the source data needs to be transcoded. At this time, the stream controller 505-1 can instruct the codec controller 505-2 to control the codec 506-2 to transcode the source data through a transcoding request to obtain a format-packaged streaming transmission packet as the on-demand result. In the case where the encoding parameters of the source data meet the preset encoding parameter requirements in the first request, the source data does not need to be transcoded. At this time, the stream controller 505-1 can instruct the codec controller 505-2 to control the multiplexer 506-1 to format-package the source data through an encapsulation request to obtain a streaming transmission packet as the on-demand result.

[0088] According to an exemplary embodiment of the present disclosure, codec control is performed through the codec controller 505-2, which may include but is not limited to: memory management during the encoding and decoding process; memory access management during data movement between the controller 501 of the computing storage device 500 and the integrated circuit chip 506.

[0089] According to an exemplary embodiment of the present disclosure, the codec controller 505 - 2 may be responsible for DRAM management during processing of the codec 506 - 2 , as well as for proper use of DMA to move data between the controller 501 and the FPGA 506 .

[0090] According to an exemplary embodiment of the present disclosure, the codec controller 505-2 may be responsible for the reasonable operation of pipelines of various modules in the codec 506-2 and for controlling the encoding rate.

[0091] Fig. 9 A schematic diagram showing the interaction between a stream controller and a codec controller during operation according to an exemplary embodiment of the present disclosure.

[0092] Reference Fig. 9 According to an exemplary embodiment of the present disclosure, in the process of executing the above-mentioned multimedia on-demand method, the stream controller 505-1 can control the operation of the codec controller 505-2 through a request control in the form of cmd (Command Prompt) so that the codec controller 505-2 can cooperate with the stream controller 505-1. The codec controller 505-2 can manage the DRAM through the operation of its own program instructions based on the request control issued by the stream controller 505-1, and can also control the operation of the codec 506-2 by sending instructions to the codec 506-2. For example, the codec controller 505-2 can perform memory management during the encoding and decoding process, and / or perform memory access management during the process of data movement between the controller 501 of the computational storage device 500 and the integrated circuit chip 506. In the flow controller 505-1, the codec controller 505-2 can also check the DRAM management and the instruction control of the codec 506-2 through the execution of its own program instructions. At the same time, the flow controller 505-1 can also notify the DMA (Direct Memory Access) engine through the execution of its own program instructions, and send instructions to the controller 501 in the form of cmd.

[0093] According to an exemplary embodiment of the present disclosure, the encoding and decoding process performed by the codec 506-2 may include: performing the following processing on the source data in sequence based on the parameters set by the codec controller 505-2 to obtain the on-demand result: decoding; performing resampling and scaling, image reconstruction in the case of transcoding; encoding.

[0094] According to an exemplary embodiment of the present disclosure, the parameters of the codec 506-2 may be set based on the codec controller 505-2. For example, parameters including but not limited to the parameters of the module corresponding to the decoding standard, the transcoding parameters, and the parameters of the module corresponding to the encoding standard may be set.

[0095] Fig.10 A flowchart showing the operation of a codec according to an exemplary embodiment of the present disclosure.

[0096] Reference Fig.10 According to an exemplary embodiment of the present disclosure, when the stream controller 505-1 determines that the coding standard conversion will be performed through the codec 506-2, the codec 506-2 can decode the source data based on the parameters set by the codec controller 505-2; and continue to perform resampling and scaling (Resample&Scale), image reconstruction (Reconstruct Image) and other processing when transcoding is required. If the decoded data does not need to be transcoded, the data can be encoded and returned as a VOD result.

[0097] According to an exemplary embodiment of the present disclosure, the encoding and decoding process performed by the codec 506-2 may also include: in a pipeline form, performing the following processing on the source data in sequence based on the parameters set by the codec controller 505-2 to obtain a on-demand result: decoding, reconstruction; when the usage rate of the codec is greater than a preset threshold, adjusting the resolution by resampling; frame estimation, encoding, and frame buffering.

[0098] Fig.11 A flowchart is shown when the codec according to the exemplary embodiment of the present disclosure operates in a pipeline form.

[0099] Reference Fig.11 According to an exemplary embodiment of the present disclosure, after obtaining the relevant data input, the codec 506-2 can decode and reconstruct the data (Reconstruction). In order to simplify the pipeline implementation, the resolution does not need to be changed during idle time (Resolution Adjustment). Therefore, the resolution can be adjusted by resampling only when the usage rate of the codec is greater than the threshold; then the data can be processed by performing frame estimation (Estimation), encoding, frame buffering (Frame Buffer), etc. to obtain the on-demand result. It can be understood that adjusting the resolution can also be considered as a form of transcoding.

[0100] Fig.12 A pipeline schematic diagram of an exemplary embodiment of the present disclosure is shown.

[0101] Reference Fig.12According to an exemplary embodiment of the present disclosure, the codec 506-2 can be pipelined so that when resources such as LUT are sufficient, several more levels can be added to operate in coordination to increase the concurrency of on-demand services. For example, the codec 506-2 can perform the following steps in a pipeline manner, including but not limited to: obtaining relevant data input, decoding, and reconstruction; when the usage rate of the codec is greater than a preset threshold, adjusting the resolution by resampling; frame estimation, encoding, and frame buffering.

[0102] Fig.13 A comparison diagram of related technical solutions and exemplary embodiments of the present disclosure is shown.

[0103] Reference Fig.13 In the related technical solution 1, after the host obtains the source data from the SSD through a command, the host performs a complete data processing process on the source data. In the related technical solution 2, a hardware device acceleration card is externally connected to the host. After the host obtains the source data from the SSD through a command, the source data needs to be transferred from the host to the acceleration card for a complete data processing process, and finally the processed data is returned from the acceleration card to the host. On the contrary, according to various exemplary embodiments of the present disclosure, data processing is transferred from the host or the acceleration card to the computing storage device. Since the computing storage device also stores the data required by the host, it can solve the problem of excessive load on the host side due to complete data processing in the related solution, thereby avoiding interference with other tasks, and can also reduce hardware and power consumption expenses because there is no need to connect an external acceleration card on the basis of an external storage device (for example, a traditional SSD, etc.). At the same time, since no additional hardware devices (such as an acceleration card, etc.) are added, the data transmission path is not additionally increased, which reduces the delay and reduces the bandwidth load of the bus compared to the solution of an external acceleration card. It can be seen that the exemplary embodiments of the present disclosure have obvious improvement effects in data transmission, hardware consumption and power consumption.

[0104] Fig.14 A comparison chart of data processing time between the related technical solutions and the exemplary embodiments of the present disclosure is shown.

[0105] Reference Fig.14 In the related art, in the scheme 1 of realizing complete data processing of source data through software on the host side, after the instruction to read the source data is issued, the host side needs to wait for data to be read from the SSD. After the host side obtains the source data, the source data is processed by the software on the host side to realize the multimedia on-demand process and then the on-demand result is returned.

[0106] In the related technology, in the second solution of accelerating the data processing speed by connecting an external hardware device acceleration card to the host side, after the host side issues an instruction to read the source data, the host side also needs to wait for data to be read from the SSD. After the host side obtains the source data, it also needs to wait for the acceleration card to read the source data from the host side. After the acceleration card reads the source data from the host side, the acceleration card performs hardware-based encoding and decoding and other data processing, and writes the processed data from the acceleration card to the host side. Finally, the host side obtains the on-demand result through video on-demand request processing.

[0107] On the contrary, in the exemplary embodiment of the present disclosure, after the host issues an instruction to read the source data, the computing storage device deconstructs the on-demand request and transcodes the corresponding on-demand data, and then returns the on-demand result. It can be seen that the exemplary embodiment of the present disclosure can reduce the total time consumption of multimedia on-demand.

[0108] Fig.15 A flowchart of a multimedia on-demand method applied to a host according to an exemplary embodiment of the present disclosure is shown.

[0109] Reference Fig.15 The exemplary embodiment of the present disclosure further provides a multimedia on-demand method, which is applied to a host and may include the following steps / operations:

[0110] Step 1501: A first request for multimedia on-demand may be sent to a computing storage device. The first request may be used to obtain a corresponding on-demand result generated by an on-demand processing process for multimedia corresponding to the first request executed by the computing storage device in response to the first request. The on-demand processing process may include flow control and at least one of the following items: a coding and decoding process and a multiplexing process of the corresponding multimedia;

[0111] Step 1502: The on-demand result may be received from the computing storage device. For example, the host may receive the on-demand result from the computing storage device.

[0112] According to an exemplary embodiment of the present disclosure, the above-mentioned multimedia on-demand method applied to the host is used to cooperate with the multimedia on-demand method applied to the computing storage device. The specific implementation process in the exemplary embodiment is roughly the same as the exemplary embodiment in the above-mentioned multimedia on-demand method applied to the computing storage device, and is not repeated here for the sake of brevity.

[0113] Fig.16 A block diagram showing a multimedia on-demand apparatus applied to a computing storage device according to an exemplary embodiment of the present disclosure is shown.

[0114] Reference Fig.16The exemplary embodiment of the present disclosure further provides a multimedia on-demand device 1600 applied to a computing storage device, which may include a request receiving module 1601, an on-demand execution module 1602, and a result sending module 1603. In an embodiment, the multimedia on-demand device 1600 may include a memory storing computer code and at least one processor, the processor accesses the memory and executes the computer code, so that the at least one processor implements the request receiving module 1601, the on-demand execution module 1602, and the result sending module 1603. In some embodiments, the processor may include multiple processors, wherein each of the multiple processors executes one or more of the request receiving module 1601, the on-demand execution module 1602, and the result sending module 1603.

[0115] The request receiving module 1601 may receive a first request for multimedia on demand from a host.

[0116] The on-demand execution module 1602 may execute the on-demand processing process of the corresponding multimedia in response to the first request to generate the corresponding on-demand result. The on-demand processing process may include flow control and at least one of the following items: a coding and decoding process and a multiplexing process of the corresponding multimedia.

[0117] The result sending module 1603 can send the on-demand result to the host.

[0118] It can be understood that the modules in the multimedia on-demand device 1600 applied to the computing storage device are used to implement the multimedia on-demand method applied to the computing storage device. The specific implementation process in the exemplary embodiment is roughly the same as the exemplary embodiment in the multimedia on-demand method applied to the computing storage device, and is not repeated here for the sake of simplicity. The multimedia on-demand device 1600 applied to the computing storage device can be configured as software, hardware, firmware or any combination of the above items to perform specific functions. For example, these modules in the device may correspond to pure software code, or to a dedicated integrated circuit, or to a module combining software and hardware. One or more functions implemented by these modules in the device can also be uniformly executed by components in a physical entity device (for example, a processor, a client or a server, etc.).

[0119] Fig.17 A block diagram showing a multimedia on-demand device applied to a host according to an exemplary embodiment of the present disclosure.

[0120] Reference Fig.17The exemplary embodiment of the present disclosure further provides a multimedia on-demand device 1700 applied to a host, which may include a request sending module 1701 and a result receiving module 1702. In an embodiment, the multimedia on-demand device 1700 may include a memory storing computer code and at least one processor, which accesses the memory and executes the computer code, so that the at least one processor implements the request sending module 1701 and the result receiving module 1702. In some embodiments, the processor may include multiple processors, wherein each of the multiple processors executes one or more of the request sending module 1701 and the result receiving module 1702.

[0121] The request sending module 1701 may send a first request for multimedia on-demand to the computing storage device. The first request may be used to obtain a corresponding on-demand result generated by an on-demand processing process for multimedia corresponding to the first request executed by the computing storage device in response to the first request. The on-demand processing process includes flow control and at least one of the following items: a coding and decoding process and a multiplexing process of the corresponding multimedia.

[0122] The result receiving module 1702 may receive the on-demand result from the computational storage device.

[0123] It can be understood that the modules in the multimedia on-demand device 1700 applied to the host are used to implement the multimedia on-demand method applied to the host. The specific implementation process in the exemplary embodiment is roughly the same as the exemplary embodiment in the multimedia on-demand method applied to the host, and will not be described repeatedly here. The multimedia on-demand device 1700 applied to the host can be configured as software, hardware, firmware or any combination of the above items to perform specific functions. For example, these modules in the device may correspond to pure software code, or to dedicated integrated circuits, or to modules combining software and hardware. In addition, one or more functions implemented by these modules in the device can also be uniformly executed by components in physical entity devices (for example, processors, clients or servers, etc.).

[0124] Fig.18 A block diagram of a multimedia on-demand system according to an exemplary embodiment of the present disclosure is shown.

[0125] Reference Fig.18 The exemplary embodiment of the present disclosure further provides a multimedia on-demand system 1800 , which may include a host 1801 and a computing storage device 1802 .

[0126] The host 1801 may send a first request for multimedia on demand to the computational storage device 1802 .

[0127] The computing storage device 1802 may execute, in response to the first request, a video-on-demand processing process for the multimedia corresponding to the first request to generate a corresponding video-on-demand result. The video-on-demand processing process may include flow control and at least one of the following items: a coding and decoding process and a multiplexing process of the corresponding multimedia.

[0128] The computational storage device 1802 may send the on-demand result to the host 1801 .

[0129] The host 1801 may receive the on-demand result from the computational storage device 1802 .

[0130] It can be understood that the above-mentioned multimedia on-demand system 1800 is used to implement the above-mentioned multimedia on-demand method applied to the computing storage device and applied to the host. The specific implementation process in the exemplary embodiment is roughly the same as the exemplary embodiment in the above-mentioned multimedia on-demand method applied to the computing storage device or applied to the host, and is not repeated here for the sake of brevity.

[0131] Fig.19 A block diagram of a computational storage device according to an exemplary embodiment of the present disclosure is shown.

[0132] Reference Fig.19 The exemplary embodiment of the present disclosure further provides a computing storage device 1900, which may include a processing circuit 1901. In addition, the computing storage device 1900 may also include any other required modules, such as a storage module, etc., which is not limited by the present disclosure. Alternatively, the processing circuit 1901 may also implement any other modules.

[0133] The processing circuit 1901 can receive a first request for multimedia on-demand from a host; and can, in response to the first request, execute an on-demand processing process for the multimedia corresponding to the first request to generate a corresponding on-demand result; wherein the on-demand processing process includes flow control and at least one of the following items: a coding and decoding process and a multiplexing process of the corresponding multimedia; and the on-demand result can be sent to the host.

[0134] It can be understood that the modules in the above-mentioned computing storage device 1900 are used to implement the above-mentioned multimedia on-demand method applied to the computing storage device. The specific implementation process in the exemplary embodiment is roughly the same as the exemplary embodiment in the multimedia on-demand method applied to the computing storage device, and is not repeated here for the sake of brevity. The computing storage device 1900 can be configured as software, hardware, firmware or any combination of the above items to perform specific functions. For example, these modules in the device may correspond to pure software code, or to a dedicated integrated circuit, or to a module combining software and hardware. In addition, one or more functions implemented by these modules in the device can also be uniformly executed by components in a physical entity device (for example, a processor, a client or a server, etc.).

[0135] According to an exemplary embodiment of the present disclosure, a computer-readable storage medium storing instructions may also be provided, wherein when the instructions are executed by at least one computing device, the at least one computing device is prompted to perform the multimedia on-demand method as described above.

[0136] Examples of computer-readable storage media include read-only memory (ROM), random-access programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random-access memory (RAM), dynamic random-access memory (DRAM), static random-access memory (SRAM), flash memory, nonvolatile memory, CD-ROM, CD-R, CD+R, CD-RW, CD+RW, DVD-ROM, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-RAM, BD-ROM, BD-R, BD-R LTH, BD-RE, Blu-ray or optical disk storage, hard disk drive (HDD), solid state drive (SSD), card storage (such as, multimedia card, secure digital (SD) card or extreme digital (XD) card), magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid state disk and any other device, any other device is configured to store computer programs and any associated data, data files and data structures in a non-transitory manner and provide the computer programs and any associated data, data files and data structures to a processor or computer so that the processor or computer can execute the computer program. The computer program in the above-mentioned computer-readable storage medium can be run in an environment deployed in a computer device such as a client, a host, an agent device, a server, etc. In addition, in one example, the computer program and any associated data, data files and data structures are distributed on a networked computer system, so that the computer program and any associated data, data files and data structures are stored, accessed and executed in a distributed manner by one or more processors or computers. It should be noted that the instructions can also be used to execute additional steps in addition to the above steps or to perform more specific processing when executing the above steps. These additional steps and further processing contents have been mentioned in the description of the relevant methods, so they will not be repeated here to avoid repetition.

[0137] It should be noted that the multimedia on-demand system according to the exemplary embodiment of the present disclosure can completely rely on the execution of computer programs or instructions to realize corresponding functions, that is, each unit corresponds to each step in the functional architecture of the computer program, so that the entire system is called through a special software package (e.g., lib library) to realize the corresponding function.

[0138] On the other hand, when the above-mentioned multimedia on-demand system is implemented in software, firmware, middleware or microcode, the program code or code segment for performing the corresponding operation can be stored in a computer-readable medium such as a storage medium, so that at least one processor or at least one computing device can perform the corresponding operation by reading and running the corresponding program code or code segment.

[0139] According to an exemplary embodiment of the present disclosure, the storage device may be integrated with the computing device, for example, a RAM or a flash memory is arranged within an integrated circuit microprocessor, etc. The computing device can read instructions stored in the storage device.

[0140] Another embodiment of the present disclosure relates to a system including at least one computing device and at least one storage device storing instructions, wherein when the instructions are executed by the at least one computing device, the at least one computing device is prompted to execute the above method embodiment.

[0141] According to the multimedia on-demand method, device, system, computing storage device and storage medium disclosed in the present invention, a computing storage device can be used to replace the traditional SSD, and the multimedia on-demand process such as encoding and decoding can be placed in the computing storage device for execution, avoiding the occupation and consumption of the host CPU when encoding and decoding are performed on the host side, and it can also reduce the use and maintenance costs of hardware more than the additional introduction of an acceleration card outside the traditional SSD. Performing data processing inside the computing storage device can still maintain the data transmission path between the host side and the computing storage device, avoiding the delay and bandwidth load caused by the need for an additional transmission path. Taking advantage of the near-storage computing characteristics of the computing storage device and the integration of the processing circuit inside the storage device, it is possible to accelerate data processing with higher bandwidth and lower latency, and design a full-function multimedia on-demand system based on the processing circuit of the computing storage device to achieve the maximum optimization balance between improving the efficiency, transmission efficiency, power consumption and cost of video on-demand services.

[0142] In addition, after replacing the traditional SSD with a computational storage device, the combination of the integrated circuit chip in the computational storage device and the CPU can reduce the hardware usage and maintenance costs more than introducing an additional acceleration card in addition to the traditional SSD.

[0143] The above describes various exemplary embodiments of the present disclosure, and it should be understood that the above description is only exemplary and not exhaustive, and the present disclosure is not limited to the disclosed exemplary embodiments. Without departing from the scope and spirit of the present disclosure, many modifications and changes are obvious to those of ordinary skill in the art. Therefore, the scope of protection of the present disclosure should be based on the scope of the claims.

Claims

1. A multimedia on-demand method, include: Receiving, by the computational storage device, a first request for multimedia on demand from a host; In response to the first request, the computing storage device executes an on-demand processing process for the multimedia corresponding to the first request to generate a corresponding on-demand result; the on-demand processing process includes flow control and at least one of the following items: an encoding and decoding process and a multiplexing process of the multimedia; The on-demand result is sent to the host.

2. The multimedia on-demand method according to claim 1, It is characterized in that The computing storage device includes a processor and an integrated circuit chip; The on-demand processing process includes: The process control is executed by the processor; the process control includes codec control and request control, and the codec control is executed based on the request control; At least one of the following items is performed by the integrated circuit chip: the encoding and decoding process, the multiplexing process.

3. The multimedia on-demand method as claimed in claim 2, It is characterized in that The processor includes a stream controller and a codec controller; Wherein, the integrated circuit chip includes a multiplexer and a codec; The performing of the process control by the processor includes: executing the request control by the flow controller; Performing the codec control by the codec controller; The step of executing the request control by the flow controller includes: receiving the first request; In response to the first request, the following steps are performed: In a case where the request content of the first request is to obtain source data, requesting a controller of the computing storage device to obtain the source data; In the case that the encoding parameters of the source data do not meet the preset encoding parameter requirements, instructing the codec controller to control the codec to transcode the source data through a transcoding request and use the transcoded source data as the on-demand result; In the case that the encoding parameters of the source data meet the preset encoding parameter requirements, instructing the codec controller to control the multiplexer to encapsulate the source data through an encapsulation request and use the encapsulated source data as the on-demand result; In the case where the request content of the first request is to change the resolution or the encapsulation format, instructing the codec controller to control the multiplexer to encapsulate the corresponding multimedia data according to the request content of the first request through an encapsulation request and use the encapsulated multimedia data as the on-demand result; The performing of the codec control by a codec controller includes: controlling the operation of the codec and the multiplexer based on the codec control; Parameters of the codec are set based on the first request.

4. The multimedia on-demand method as claimed in claim 3, It is characterized in that The performing the codec control by the codec controller further comprises: Performing memory management during the encoding and decoding process; Memory access management is performed during data movement between the controller of the computational storage device and the integrated circuit chip.

5. The multimedia on-demand method as claimed in claim 3, It is characterized in that The performing of at least one of the following items by the integrated circuit chip: the encoding and decoding process, the multiplexing process, includes at least one of the following items: performing the multiplexing process by the multiplexer; The encoding and decoding process is performed by the codec.

6. The multimedia on-demand method according to claim 1, It is characterized in that The receiving a first request for multimedia on demand from a host comprises: In a case where multimedia cache data corresponding to the first request is not found in the host, the computational storage device receives the first request from the host.

7. The multimedia on-demand method according to claim 1, It is characterized in that The computing storage device includes a dynamic random access memory DRAM, a flash memory, a controller and a processing circuit, and Wherein, the on-demand processing process is executed by the processing circuit.

8. A multimedia on-demand method, include: The host sends a first request for multimedia on demand to the computing storage device; The first request is used to obtain a corresponding on-demand result generated by an on-demand processing process for multimedia corresponding to the first request executed by the computing storage device in response to the first request; the on-demand processing process includes flow control and at least one of the following items: a coding and decoding process and a multiplexing process of the multimedia; The host receives the on-demand result from the computational storage device.

9. A multimedia on-demand device, It is characterized in that Applied to a computing storage device, the multimedia on-demand device comprises: The request receiving module is configured to: receive a first request for multimedia on demand from a host; The on-demand execution module is configured to: in response to the first request, execute an on-demand processing process for the multimedia corresponding to the first request to generate a corresponding on-demand result; the on-demand processing process includes flow control and at least one of the following items: an encoding and decoding process and a multiplexing process of the multimedia; The result sending module is configured to send the on-demand result to the host.

10. A multimedia on-demand device, It is characterized in that Applied to a host, the multimedia on-demand device comprises: A request sending module is configured to: send a first request for multimedia on-demand to a computing storage device; wherein the first request is used to obtain a corresponding on-demand result generated by an on-demand processing process of the multimedia corresponding to the first request executed by the computing storage device in response to the first request; the on-demand processing process includes flow control and at least one of the following items: a coding and decoding process and a multiplexing process of the multimedia; The result receiving module is configured to receive the on-demand result from the computing storage device.

11. A multimedia on-demand system, It is characterized in that The multimedia on-demand system includes a host and a computing storage device; The host sends a first request for multimedia on demand to the computing storage device; The computing storage device executes, in response to the first request, an on-demand processing process for the multimedia corresponding to the first request to generate the corresponding on-demand result; the on-demand processing process includes flow control and at least one of the following items: an encoding and decoding process and a multiplexing process of the multimedia; The computing storage device sends the on-demand result to the host; The host receives the on-demand result from the computational storage device.

12. A computational storage device, It is characterized in that The computational storage device comprises: The processing circuit is configured to: receiving a first request for multimedia on demand from a host; In response to the first request, executing a video-on-demand processing process for the multimedia corresponding to the first request to generate a corresponding video-on-demand result; the video-on-demand processing process includes flow control and at least one of the following items: a coding and decoding process and a multiplexing process of the multimedia; The on-demand result is sent to the host.

13. A computer-readable storage medium storing instructions, in, When the instructions are executed by at least one computing device, the at least one computing device is prompted to execute the multimedia on-demand method as described in any one of claims 1-8.

14. A system comprising at least one computing device and at least one storage device storing instructions, in, When the instructions are executed by the at least one computing device, the at least one computing device is prompted to execute the multimedia on-demand method as described in any one of claims 1-8.