WO2022142157A1 - 双缓冲编码系统及其控制方法 - Google Patents

双缓冲编码系统及其控制方法 Download PDF

Info

Publication number
WO2022142157A1
WO2022142157A1 PCT/CN2021/099772 CN2021099772W WO2022142157A1 WO 2022142157 A1 WO2022142157 A1 WO 2022142157A1 CN 2021099772 W CN2021099772 W CN 2021099772W WO 2022142157 A1 WO2022142157 A1 WO 2022142157A1
Authority
WO
WIPO (PCT)
Prior art keywords
module
buffer
production
consumption
queue
Prior art date
Application number
PCT/CN2021/099772
Other languages
English (en)
French (fr)
Inventor
刘志杰
龚浩
Original Assignee
稿定(厦门)科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 稿定(厦门)科技有限公司 filed Critical 稿定(厦门)科技有限公司
Publication of WO2022142157A1 publication Critical patent/WO2022142157A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements

Definitions

  • the present invention relates to the technical field of video transcoding, and in particular, to a double-buffered encoding system, a control method of the double-buffered encoding system, a computer-readable storage medium, and a computer device.
  • an object of the present invention is to provide a double buffer encoding system, which can complete video transcoding through the multi-threading without locking, improve video transcoding efficiency, and reduce user waiting time.
  • the second object of the present invention is to provide a control method for a double buffer coding system.
  • a third object of the present invention is to provide a computer-readable storage medium.
  • the fourth object of the present invention is to provide a computer device.
  • the embodiment of the first aspect of the present invention proposes a double-buffered encoding system, including: a production module, a consumption module and two buffer modules, wherein the production module and the consumption module are respectively connected to the two buffer modules one; wherein, when the queue corresponding to the buffer module connected to the production module has reached the threshold, and the queue corresponding to the buffer module connected to the consumption module is empty, the production module and the consumption module exchange their connected buffers module.
  • the double-buffered encoding system includes: a production module, a consumption module and two buffer modules, the production module and the consumption module are respectively connected to one of the two buffer modules; wherein, when the production module is connected When the queue corresponding to the buffer module has reached the threshold, and the queue corresponding to the buffer module connected to the consumption module is empty, the production module and the consumption module exchange their connected buffer modules; thus, the video transfer is completed through multithreading.
  • the process of transcoding there will be no asynchronous problems; at the same time, the efficiency of video transcoding is improved and the waiting time of users is reduced.
  • double buffer coding system proposed according to the above embodiments of the present invention may also have the following additional technical features:
  • the production module is used to perform production to obtain production data, and store the production data in a buffer module connected to it; when the queue corresponding to the buffer module connected to the production module has reached a threshold, the The production module obtains the queue information corresponding to the buffer module connected to the consumption module, and judges whether the queue corresponding to the buffer module connected to the consumption module is empty according to the queue information; if so, the production module and the consumption module The buffer modules connected respectively are exchanged; if not, the production module enters a waiting state until the queue corresponding to the buffer module connected to the consumption module is empty.
  • the consumption module is used to consume the production data stored in the buffer module connected to it; when the queue corresponding to the buffer module connected to the consumption module is empty, the consumption module obtains the production module.
  • the queue information corresponding to the connected buffer module and according to the queue information, it is judged whether the queue corresponding to the buffer module connected to the production module has reached the threshold; if so, the production module and the consumption module exchange their connected buffer module; if not, the consumption module enters a waiting state until the queue corresponding to the buffer module connected to the production module has reached the threshold.
  • the embodiment of the second aspect of the present invention provides a control method for a double-buffered encoding system.
  • the double-buffered encoding system includes: a production module, a consumption module and two buffer modules, the production module and the consumption module. Connecting one of the two buffer modules respectively; the control method includes the following steps: judging whether the queue corresponding to the buffer module connected to the production module has reached a threshold value, and the queue corresponding to the buffer module connected to the consumption module is empty, And when the judgment result is yes, the buffer modules respectively connected to the production module and the consumption module are exchanged.
  • the double-buffered encoding system includes: a production module, a consumption module, and two buffer modules, wherein the production module and the consumption module are respectively connected to one of the two buffer modules;
  • the control method includes the following steps: judging whether the queue corresponding to the buffer module connected to the production module has reached a threshold value, and the queue corresponding to the buffer module connected to the consumption module is empty, and when the judgment result is yes, swap the queues.
  • the production module and the consumption module are respectively connected to the buffer modules; thus, in the process of completing video transcoding through multiple threads, no asynchronous problem occurs; meanwhile, the video transcoding efficiency is improved and the user's waiting time is reduced.
  • control method for the double-buffered coding system proposed according to the above embodiments of the present invention may also have the following additional technical features:
  • the buffer modules connected to each of the consumption modules include: during the encoding process, the production module determines whether the queue corresponding to the buffer module connected to itself has reached the threshold; if not, the production continues and the production data obtained by the production is Store in the buffer module; if so, obtain the queue information corresponding to the buffer module connected to the consumption module, and judge whether the queue corresponding to the buffer module connected to the consumption module is empty according to the queue information; if so, the production The module and the consumption module exchange their connected buffer modules; if not, the production module enters a waiting state until the queue corresponding to the buffer module connected to the consumption module is empty.
  • the buffer modules connected to each of the consumption modules include: during the encoding process, the consumption module judges whether the queue corresponding to the buffer module connected to itself is empty; if not, continues to consume the production data flushed by the buffer module; if yes , then obtain the queue information corresponding to the buffer module connected to the production module, and judge whether the queue corresponding to the buffer module connected to the production module has reached the threshold according to the queue information; if so, the production module and the consumption module are interchanged respectively connected buffer modules; if not, the consumption module enters a waiting state until the queue corresponding to the buffer modules connected to the production module has reached the threshold.
  • an embodiment of the third aspect of the present invention provides a computer-readable storage medium on which a control program of a double-buffered encoding system is stored.
  • the control program of the double-buffered encoding system is executed by a processor, the above-mentioned The control method of the double-buffered coding system.
  • the control method of the double-buffered encoding system as described above is implemented, Therefore, in the process of completing video transcoding through multiple threads, no asynchronous problem occurs; at the same time, the efficiency of video transcoding is improved, and the waiting time of users is reduced.
  • an embodiment of the fourth aspect of the present invention provides a computer device, including a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that the processor executes all When the above program is executed, the control method of the double buffer coding system as described above is realized.
  • the control program of the double-buffered encoding system is stored by the memory, so that when the processor executes the control program of the double-buffered encoding system, the control method of the double-buffered encoding system as described above is implemented, Therefore, in the process of completing video transcoding through multiple threads, no asynchronous problem occurs; at the same time, the efficiency of video transcoding is improved, and the waiting time of users is reduced.
  • FIG. 1 is a schematic block diagram of a double buffer coding system according to an embodiment of the present invention.
  • FIG. 2 is a schematic flowchart of data production performed by a production module according to an embodiment of the present invention
  • FIG. 3 is a schematic flowchart of a consumption module for generating data consumption according to an embodiment of the present invention.
  • the double-buffered encoding system includes: a production module, a consumption module and two buffer modules, the production module and the consumption module are respectively connected to one of the two buffer modules; wherein, When the queue corresponding to the buffer module connected to the production module has reached the threshold, and the queue corresponding to the buffer module connected to the consumption module is empty, the production module and the consumption module exchange their connected buffer modules; In the process of completing video transcoding with multiple threads, there will be no asynchronous problems; at the same time, the efficiency of video transcoding is improved and the waiting time of users is reduced.
  • FIG. 1 is a schematic block diagram of a double-buffered encoding system according to an embodiment of the present invention. As shown in FIG. 1 , the double-buffered encoding system includes a production module 10 , a consumption module 20 and two buffer modules 30 .
  • the production module 10 and the consumption module 20 are respectively connected to one of the two buffer modules 30;
  • the production module 10 and the consumption module 20 exchange their connected buffer modules 30 .
  • the production module 10 and the consumption module 20 are respectively connected to a buffer module 30; the buffer module 30 is connected to the production module 10 to store the production data produced by the production module 10;
  • the queue corresponding to the buffer module 30 connected to the module 10 has reached the threshold, and the queue corresponding to the buffer module 30 connected to the consumption module 20 is empty, the production module 10 and the consumption module 20 exchange their connected buffer modules 30; , the production module 10 can store the production data produced by itself through the empty buffer module 30, and the consumption module 20 can obtain the production data stored in the buffer module 30 connected to itself for consumption. Lock and unlock operations, and there will be no asynchronous problems in the encoding process; it can greatly improve the efficiency of transcoding.
  • the production module 10 is configured to perform production to obtain production data, and store the production data in the buffer module 30 connected to it; when the queue corresponding to the buffer module 30 connected to the production module 10 has reached a threshold, the production module 10. Obtain the queue information corresponding to the buffer module 30 connected to the consumption module 20, and determine whether the queue corresponding to the buffer module 30 connected to the consumption module 20 is empty according to the queue information; if so, the production module 10 and the consumption module 20 exchange their respective The connected buffer module 30; if not, the production module 10 enters a waiting state until the queue corresponding to the buffer module 30 connected to the consumption module 20 is empty.
  • the consumption module 20 is used to consume the production data 10 stored in the buffer module 30 connected to it; when the queue corresponding to the buffer module 30 connected to the consumption module 20 is empty, the consumption module 20 obtains the production module 10.
  • the queue information corresponding to the buffer module 30 connected to 10 and according to the queue information, it is judged whether the queue corresponding to the buffer module 30 connected to the production module 10 has reached the threshold; if so, the production module 10 and the consumption module 20 exchange their connected The buffer module 30; if not, the consumption module 20 enters a waiting state until the queue corresponding to the buffer module 30 connected to the production module 10 has reached the threshold.
  • the threads of the production module 10 and the threads of the consumption module 20 are independent of each other.
  • the production module 10 can be used to determine whether the exchange condition of the buffer module 30 is reached; that is, the consumption module 20 enters the waiting state when its corresponding buffer module 30 is empty; and When the queue corresponding to the buffer module 30 connected to it reaches the threshold, the production module 10 obtains the queue information corresponding to the buffer module 30 connected to the consumer module 20 to determine whether the buffer module 30 is empty; in other words, whether the buffer module can be executed 30 Interchange is entirely at the discretion of the production module 10 .
  • the consumption module 20 can be used to determine whether the interchange condition of the buffer module 30 is reached; that is, the production module 10 enters the Waiting state; and the consumption module 20 only acquires the queue information corresponding to the buffer module 30 connected to the production module 10 when the queue corresponding to the buffer module 30 to which it is connected is empty, so as to judge whether the exchange condition is reached; in other words, whether the buffering can be performed.
  • Module 30 interchange is entirely at the discretion of the consuming module 20 .
  • both threads can judge whether the exchange condition is reached; that is, when the queue corresponding to the buffer module 30 connected to the production module 10 reaches the threshold, it is judged whether the buffer module 30 connected to the consumption module 20 is When the buffer module 30 connected to the consumption module 20 is empty, it is determined whether the queue corresponding to the buffer module 30 connected to the production module 10 has reached the threshold.
  • the threshold value of the queue corresponding to the buffer module 30 connected to the production module 10 may be various ways. For example, has the queue reached a threshold; or, has the amount of data in the queue reached 60%. Wherein, when the buffer module 30 connected to the production module 10 stores an end identifier, it is also deemed that the queue has reached the threshold.
  • the double-buffered encoding system includes: a production module, a consumption module, and two buffer modules, wherein the production module and the consumption module are respectively connected to one of the two buffer modules; wherein, When the queue corresponding to the buffer module connected to the production module has reached the threshold, and the queue corresponding to the buffer module connected to the consumption module is empty, the production module and the consumption module exchange their connected buffer modules; In the process of completing video transcoding with multiple threads, there will be no asynchronous problems; at the same time, the efficiency of video transcoding is improved and the waiting time of users is reduced.
  • the embodiment of the present invention also proposes a control method of a double-buffered encoding system.
  • the double-buffered encoding system includes: a production module, a consumption module and two buffer modules, and the production module and the consumption module are respectively connected to two buffers One of the modules; the control method includes the following steps:
  • the process of producing data by the production module includes:
  • the production module produces data, and stores the production data obtained by production in the connected buffer module.
  • step S102 Determine whether the queue corresponding to the self-connected buffer module has reached the threshold; if not, return to step S101; if yes, execute step S103.
  • step S104 determines whether the queue corresponding to the buffer module connected to the consumption module is empty; if so, go to step S105; if not, go to step S106.
  • step S105 the production module and the consumption module exchange their connected buffer modules; return to step S101 .
  • step S106 the production module enters a waiting state, and executes step S104.
  • the process of consuming production data by the consumption module includes:
  • the consumption module acquires the production data stored in the buffer module connected to itself.
  • step S202 the consumption module judges whether the queue corresponding to the buffer module connected to itself is empty; if not, it returns to step S201; if it is, then executes step S203.
  • S203 Acquire queue information corresponding to the buffer module connected to the production module.
  • step S204 determines whether the queue corresponding to the buffer module connected to the production module has reached the threshold; if yes, go to step S205; if not, go to step S206.
  • step S205 the production module and the consumption module exchange their connected buffer modules, and the process returns to step S201.
  • step S206 the consuming module enters a waiting state, and executes step S204.
  • the double-buffered encoding system includes: a production module, a consumption module, and two buffer modules, and the production module and the consumption module are respectively connected to two buffers One of the modules; the control method includes the following steps: judging whether the queue corresponding to the buffer module connected to the production module has reached a threshold, and the queue corresponding to the buffer module connected to the consumption module is empty, and when the judgment result is It is time to exchange the buffer modules respectively connected to the production module and the consumption module; thus, in the process of completing video transcoding through multi-threading, there will be no asynchronous problems; at the same time, the efficiency of video transcoding is improved and the user's waiting time is reduced time.
  • the embodiments of the present invention provide a computer-readable storage medium on which a control program of a double-buffered encoding system is stored, and when the control program of the double-buffered encoding system is executed by a processor, realizes the above-mentioned double A control method of a buffer coding system.
  • the control method of the double-buffered encoding system as described above is implemented, Therefore, in the process of completing video transcoding through multiple threads, no asynchronous problem occurs; at the same time, the efficiency of video transcoding is improved, and the waiting time of users is reduced.
  • the embodiments of the present invention provide a computer device, including a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that the processor executes the program When , the control method of the double-buffered coding system as described above is realized.
  • the control program of the double-buffered encoding system is stored by the memory, so that when the processor executes the control program of the double-buffered encoding system, the control method of the double-buffered encoding system as described above is implemented, Therefore, in the process of completing video transcoding through multiple threads, no asynchronous problem occurs; at the same time, the efficiency of video transcoding is improved, and the waiting time of users is reduced.
  • embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions
  • the apparatus implements the functions specified in the flow or flow of the flowcharts and/or the block or blocks of the block diagrams.
  • any reference signs placed between parentheses shall not be construed as limiting the claim.
  • the word “comprising” does not exclude the presence of elements or steps not listed in a claim.
  • the word “a” or “an” preceding an element does not preclude the presence of a plurality of such elements.
  • the invention can be implemented by means of hardware comprising several different components and by means of a suitably programmed computer. In a unit claim enumerating several means, several of these means may be embodied by one and the same item of hardware.
  • the use of the words first, second, and third, etc. do not denote any order. These words can be interpreted as names.
  • first and second are only used for description purposes, and cannot be interpreted as indicating or implying relative importance or the number of indicated technical features. Thus, a feature defined as “first” or “second” may expressly or implicitly include one or more of that feature.
  • “plurality” means two or more, unless otherwise expressly and specifically defined.
  • the terms “installed”, “connected”, “connected”, “fixed” and other terms should be understood in a broad sense, for example, it may be a fixed connection or a detachable connection , or integrated; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium, and it can be the internal connection of the two elements or the interaction relationship between the two elements.
  • installed may be a fixed connection or a detachable connection , or integrated; it can be a mechanical connection or an electrical connection; it can be a direct connection or an indirect connection through an intermediate medium, and it can be the internal connection of the two elements or the interaction relationship between the two elements.
  • a first feature "on” or “under” a second feature may be in direct contact between the first and second features, or the first and second features indirectly through an intermediary touch.
  • the first feature being “above”, “over” and “above” the second feature may mean that the first feature is directly above or obliquely above the second feature, or simply means that the first feature is level higher than the second feature.
  • the first feature being “below”, “below” and “below” the second feature may mean that the first feature is directly below or obliquely below the second feature, or simply means that the first feature has a lower level than the second feature.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种双缓冲编码系统及其控制方法、介质和设备,其中,双缓冲编码系统包括:生产模块、消费模块和两个缓冲模块,所述生产模块和所述消费模块分别连接两个缓冲模块中的一个;其中,当生产模块连接的缓冲模块对应的队列已达阈值,且所述消费模块连接的缓冲模块对应的队列为空时,所述生产模块与所述消费模块互换各自连接的缓冲模块;能够在无需加锁的情况下,通过该多线程完成视频的转码,提高视频转码效率,降低用户的等待时间。

Description

双缓冲编码系统及其控制方法 技术领域
本发明涉及视频转码技术领域,特别涉及一种双缓冲编码系统、该双缓冲编码系统的控制方法、一种计算机可读存储介质以及一种计算机设备。
背景技术
在进行视频转码的过程中,为了提高转码效率,往往会采用多线程技术,一个生产线程用于生产未被压缩的帧,一个消费线程用于消费,将生产得到的未压缩的帧压缩到文件中。
相关技术中,两个线程之间仅设有一个缓冲区用于存放两者之间通信的数据。而为了避免多线程通信时造成异步问题,往往会对数据的读和写进行加锁操作,以保证数据的原子性;然而,这种方式不可避免地在每次读取和写入时需要进行加锁或解锁的操作,极为耗费性能,降低了转码的效率,增加了用户的等待时间。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种双缓冲编码系统,能够在无需加锁的情况下,通过该多线程完成视频的转码,提高视频转码效率,降低用户的等待时间。
本发明的第二个目的在于提出一种双缓冲编码系统的控制方法。
本发明的第三个目的在于提出一种计算机可读存储介质。
本发明的第四个目的在于提出一种计算机设备。
为达到上述目的,本发明第一方面实施例提出了一种双缓冲编码系统,包括:生产模块、消费模块和两个缓冲模块,所述生产模块和所述消费模块分别连接两个缓冲模块中的一个;其中,当生产模块连接的缓冲模块对应的队列已达阈值,且所述消费模块连接的缓冲模块对应的队列为空时,所述生产模块与所述消费模块互换各自连接的缓冲模块。
根据本发明实施例的双缓冲编码系统,包括:生产模块、消费模块和两个缓冲模块,所述生产模块和所述消费模块分别连接两个缓冲模块中的一个;其中,当生产模块连接的缓冲模块对应的队列已达阈值,且所述消费模块连接的缓冲模块对应的队列为空时,所述生产模块与所述消费模块互换各自连接的缓冲模块;从而使得通过多线程完成视频转码的过程中,不会出现异步问题;同时,提高视频转码效率,降低用户的等待时间。
另外,根据本发明上述实施例提出的双缓冲编码系统还可以具有如下附加的技术特征:
可选地,所述生产模块用于进行生产得到生产数据,并将所述生产数据存储到与其连接的缓冲模块中;当所述生产模块连接的缓冲模块对应的队列已达阈值时,所述生产模块获取所述消费模块连接的缓冲模块对应的队列信息,并根据该队列信息判断所述消费模块连接的缓冲模块对应的队列是否为空;如果是,则所述生产模块与所述消费模块互换各自连接的缓冲模块;如果否,则所述生产模块进入等待状态,直至所述消费模块连接的缓冲模块对应的队列为空。
可选地,所述消费模块用于对存储于与其连接的缓冲模块中的生产数据进行消费;当所述消费模块连接的缓冲模块对应的队列为空时,所述消费模块获取所述生产模块连接的缓冲模块所对应的队列信息,并根据该队列信息判断所述生产模块连接的缓冲模块对应的队列是否已达阈值;如果是,则所述生产模块与所述消费模块互换各自连接的缓冲模块;如果否,则所述消费模块进入等待状态,直至所述生产模块连接的缓冲模块对应的队列已达阈值。
为达到上述目的,本发明第二方面实施例提出了一种双缓冲编码系统的控制方法,双缓冲编码系统包括:生产模块、消费模块和两个缓冲模块,所述生产模块和所述消费模块分别连接两个缓冲模块中的一个;所述控制方法包括以下步骤:判断是否所述生产模块连接的缓冲模块对应的队列已达阈值,且所述消费模块连接的缓冲模块对应的队列为空,并在判断结果为是时互换所述生产模块与所述消费模块各自连接的缓冲模块。
根据本发明实施例的双缓冲编码系统的控制方法,双缓冲编码系统包括:生产模块、消费模块和两个缓冲模块,所述生产模块和所述消费模块分别连接两个缓冲模块中的一个;所述控制方法包括以下步骤:判断所述生产模块连接的缓冲模块对应的队列是否已达阈值,且所述消费模块连接的缓冲模块对应的队列为空,并在判断结果为是时互换所述生产模块与所述消费模块各自连接的缓冲模块;从而使得通过多线程完成视频转码的过程中,不会出现异步问题;同时,提高视频转码效率,降低用户的等待时间。
另外,根据本发明上述实施例提出的双缓冲编码系统的控制方法还可以具有如下附加的技术特征:
可选地,判断所述生产模块连接的缓冲模块对应的队列是否已达阈值,且所述消费模块连接的缓冲模块对应的队列为空,并在判断结果为是时互换所述生产模块与所述消费模块各自连接的缓冲模块,包括:在编码过程中,所述生产模块判断自身连接的缓冲模块对应的队列是否已达阈值;如果否,则继续进行生产,并将生产得到的生产数据存储到该缓冲模块中;如果是,则获取消费模块连接的缓冲模块所对应的队列信息,并根据该队列信 息判断消费模块连接的缓冲模块对应的队列是否为空;如果是,则所述生产模块与所述消费模块互换各自连接的缓冲模块;如果否,则所述生产模块进入等待状态,直至所述消费模块连接的缓冲模块对应的队列为空。
可选地,判断是否所述生产模块连接的缓冲模块对应的队列已达阈值,且所述消费模块连接的缓冲模块对应的队列为空,并在判断结果为是时互换所述生产模块与所述消费模块各自连接的缓冲模块,包括:在编码过程中,所述消费模块判断自身连接的缓冲模块对应的队列是否为空;如果否,则继续消费该缓冲模块冲的生产数据;如果是,则获取生产模块连接的缓冲模块所对应的队列信息,并根据该队列信息判断生产模块连接的缓冲模块对应的队列是否已达阈值;如果是,则所述生产模块与所述消费模块互换各自连接的缓冲模块;如果否,则所述消费模块进入等待状态,直至所述生产模块连接的缓冲模块对应的队列已达阈值。
为了达到上述目的,本发明第三方面实施例提出了一种计算机可读存储介质,其上存储有双缓冲编码系统的控制程序,该双缓冲编码系统的控制程序被处理器执行时实现如上述的双缓冲编码系统的控制方法。
根据本发明实施例的计算机可读存储介质,通过存储双缓冲编码系统的控制程序,以使得处理器在执行该双缓冲编码系统的控制程序时,实现如上述的双缓冲编码系统的控制方法,从而使得通过多线程完成视频转码的过程中,不会出现异步问题;同时,提高视频转码效率,降低用户的等待时间。
为了达到上述目的,本发明第四方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如上述的双缓冲编码系统的控制方法。
根据本发明实施例的计算机设备,通过存储器对双缓冲编码系统的控制程序进行存储,以使得处理器在执行该双缓冲编码系统的控制程序时,实现如上述的双缓冲编码系统的控制方法,从而使得通过多线程完成视频转码的过程中,不会出现异步问题;同时,提高视频转码效率,降低用户的等待时间。
附图说明
图1为根据本发明实施例的双缓冲编码系统的方框示意图;
图2为根据本发明实施例的生产模块进行数据生产的流程示意图;
图3为根据本发明实施例的消费模块进行生成数据消费的流程示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
相关技术中,在通过多线程进行视频转码的过程中,不可避免地在每次读取和写入时需要进行加锁或解锁的操作,极为耗费性能,降低了转码的效率,增加了用户的等待时间;根据本发明实施例的双缓冲编码系统,包括:生产模块、消费模块和两个缓冲模块,所述生产模块和所述消费模块分别连接两个缓冲模块中的一个;其中,当生产模块连接的缓冲模块对应的队列已达阈值,且所述消费模块连接的缓冲模块对应的队列为空时,所述生产模块与所述消费模块互换各自连接的缓冲模块;从而使得通过多线程完成视频转码的过程中,不会出现异步问题;同时,提高视频转码效率,降低用户的等待时间。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
图1为根据本发明实施例的双缓冲编码系统的方框示意图,如图1所示,该双缓冲编码系统包括生产模块10、消费模块20和两个缓冲模块30。
其中,生产模块10和消费模块20分别连接两个缓冲模块30中的一个;
当生产模块10连接的缓冲模块30对应的队列已达阈值,且消费模块20连接的缓冲模块30对应的队列为空时,生产模块10与消费模块20互换各自连接的缓冲模块30。
也就是说,在转码的过程中,生产模块10和消费模块20分别连接一个缓冲模块30;与生产模块10连接缓冲模块30用于对生产模块10生产得到的生产数据进行存储;而当生产模块10连接的缓冲模块30对应的队列已达阈值,且消费模块20连接的缓冲模块30对应的队列为空时,生产模块10与消费模块20互换各自连接的缓冲模块30;则互换之后,生产模块10可以通过空的缓冲模块30对自身生产得到的生产数据进行存储,而消费模块20可以获取自身连接的缓冲模块30中存储的生产数据进行消费,在该编码过程中,无需进行加锁和解锁的操作,并且编码过程不会出现异步问题;可大大提高转码效率。
在一些实施例中,生产模块10用于进行生产得到生产数据,并将生产数据存储到与其连接的缓冲模块30中;当生产模块10连接的缓冲模块30对应的队列已达阈值时,生产模块10获取消费模块20连接的缓冲模块30对应的队列信息,并根据该队列信息判断消费模 块20连接的缓冲模块30对应的队列是否为空;如果是,则生产模块10与消费模块20互换各自连接的缓冲模块30;如果否,则生产模块10进入等待状态,直至消费模块20连接的缓冲模块30对应的队列为空。
在一些实施例中,消费模块20用于对存储于与其连接的缓冲模块30中的生产数据10进行消费;当消费模块20连接的缓冲模块30对应的队列为空时,消费模块20获取生产模块10连接的缓冲模块30所对应的队列信息,并根据该队列信息判断生产模块10连接的缓冲模块30对应的队列是否已达阈值;如果是,则生产模块10与消费模块20互换各自连接的缓冲模块30;如果否,则消费模块20进入等待状态,直至生产模块10连接的缓冲模块30对应的队列已达阈值。
即言,生产模块10的线程与消费模块20的线程之间是相互独立的关系。
作为一种示例,在编码过程中,可以通过生产模块10来判断缓冲模块30的互换条件是否达到;即言,消费模块20在其对应的缓冲模块30为空时,就进入等待状态;而由生产模块10在其连接的缓冲模块30对应的队列达到阈值时,来获取消费模块20连接的缓冲模块30对应的队列信息,来判断该缓冲模块30是否为空;换言之,是否能够进行缓冲模块30互换完全由生产模块10来判断。
作为另一种示例,在编码过程中,可以通过消费模块20来判断缓冲模块30的互换条件是否达到;即言,生产模块10在其连接的缓冲模块30对应的队列达到阈值时,则进入等待状态;而消费模块20在其连接的缓冲模块30对应队列为空时,才来获取生产模块10连接的缓冲模块30对应的队列信息,以判断互换条件是否达到;换言之,是否能够进行缓冲模块30互换完全由消费模块20来判断。
作为又一种示例,两个线程均可进行互换条件是否达到的判断;即言,生产模块10连接的缓冲模块30对应的队列达到阈值时,即判断消费模块20连接的缓冲模块30是否为空;而消费模块20连接的缓冲模块30为空时,即判断生产模块10连接的缓冲模块30对应的队列是否已达阈值。
需要说明的是,生产模块10连接的缓冲模块30对应的队列的阈值设置方式可以有多种。例如,队列是否已达阈值;或者,队列中的数据数量是否达到60%。其中,当生产模块10连接的缓冲模块30中存储有结束标识时,也视为该队列已达阈值。
综上所述,根据本发明实施例的双缓冲编码系统,包括:生产模块、消费模块和两个缓冲模块,所述生产模块和所述消费模块分别连接两个缓冲模块中的一个;其中,当生产模块连接的缓冲模块对应的队列已达阈值,且所述消费模块连接的缓冲模块对应的队列为空时,所述生产模块与所述消费模块互换各自连接的缓冲模块;从而使得通过多线程完成 视频转码的过程中,不会出现异步问题;同时,提高视频转码效率,降低用户的等待时间。
为了达到上述实施例,本发明实施例还提出了一种双缓冲编码系统的控制方法,双缓冲编码系统包括:生产模块、消费模块和两个缓冲模块,生产模块和消费模块分别连接两个缓冲模块中的一个;控制方法包括以下步骤:
判断是否生产模块连接的缓冲模块对应的队列已达阈值,且消费模块连接的缓冲模块对应的队列为空,并在判断结果为是时互换生产模块与消费模块各自连接的缓冲模块。
在一些实施例中,如图2所示,生产模块进行生产数据的流程包括:
S101,生产模块进行数据的生产,并将生产得到的生产数据存储到连接的缓冲模块中。
S102,判断自身连接的缓冲模块对应的队列是否已达阈值;如果否,则返回步骤S101;如果是,则执行步骤S103。
S103,获取消费模块连接的缓冲模块对应的队列信息。
S104,根据队列信息判断消费模块连接的缓冲模块对应的队列是否为空;如果是,则执行步骤S105;如果否,则执行步骤S106。
S105,生产模块与消费模块互换各自连接的缓冲模块;返回步骤S101。
S106,生产模块进入等待状态,执行步骤S104。
在一些实施例中,如图3所示,消费模块进行生产数据消费的流程包括:
S201,消费模块获取自身连接的缓冲模块中存储的生产数据。
S202,消费模块判断自身连接的缓冲模块对应的队列是否为空;如果否,则返回步骤S201;如果是,则执行步骤S203。
S203,获取生产模块连接的缓冲模块所对应的队列信息。
S204,根据队列信息判断生产模块连接的缓冲模块对应的队列是否已达阈值;如果是,则执行步骤S205;如果否,则执行步骤S206。
S205,生产模块与消费模块互换各自连接的缓冲模块,返回步骤S201。
S206,消费模块进入等待状态,执行步骤S204。
需要说明的是,上述关于图1中双缓冲编码系统的描述同样适用于该双缓冲编码系统的控制方法,在此不做赘述。
综上所述,根据本发明实施例的双缓冲编码系统的控制方法,双缓冲编码系统包括:生产模块、消费模块和两个缓冲模块,所述生产模块和所述消费模块分别连接两个缓冲模块中的一个;所述控制方法包括以下步骤:判断所述生产模块连接的缓冲模块对应的队列是否已达阈值,且所述消费模块连接的缓冲模块对应的队列为空,并在判断结果为是时互换所述生产模块与所述消费模块各自连接的缓冲模块;从而使得通过多线程完成视频转码 的过程中,不会出现异步问题;同时,提高视频转码效率,降低用户的等待时间。
为了实现上述实施例,本发明实施例提出了一种计算机可读存储介质,其上存储有双缓冲编码系统的控制程序,该双缓冲编码系统的控制程序被处理器执行时实现如上述的双缓冲编码系统的控制方法。
根据本发明实施例的计算机可读存储介质,通过存储双缓冲编码系统的控制程序,以使得处理器在执行该双缓冲编码系统的控制程序时,实现如上述的双缓冲编码系统的控制方法,从而使得通过多线程完成视频转码的过程中,不会出现异步问题;同时,提高视频转码效率,降低用户的等待时间。
为了实现上述实施例,本发明实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如上述的双缓冲编码系统的控制方法。
根据本发明实施例的计算机设备,通过存储器对双缓冲编码系统的控制程序进行存储,以使得处理器在执行该双缓冲编码系统的控制程序时,实现如上述的双缓冲编码系统的控制方法,从而使得通过多线程完成视频转码的过程中,不会出现异步问题;同时,提高视频转码效率,降低用户的等待时间。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他 可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、 结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (8)

  1. 一种双缓冲编码系统,其特征在于,包括:生产模块、消费模块和两个缓冲模块,所述生产模块和所述消费模块分别连接两个缓冲模块中的一个;
    其中,当生产模块连接的缓冲模块对应的队列已达阈值,且所述消费模块连接的缓冲模块对应的队列为空时,所述生产模块与所述消费模块互换各自连接的缓冲模块。
  2. 如权利要求1所述的双缓冲编码系统,其特征在于,所述生产模块用于进行生产得到生产数据,并将所述生产数据存储到与其连接的缓冲模块中;
    当所述生产模块连接的缓冲模块对应的队列已达阈值时,所述生产模块获取所述消费模块连接的缓冲模块对应的队列信息,并根据该队列信息判断所述消费模块连接的缓冲模块对应的队列是否为空;
    如果是,则所述生产模块与所述消费模块互换各自连接的缓冲模块;
    如果否,则所述生产模块进入等待状态,直至所述消费模块连接的缓冲模块对应的队列为空。
  3. 如权利要求1所述的双缓冲编码系统,其特征在于,所述消费模块用于对存储于与其连接的缓冲模块中的生产数据进行消费;
    当所述消费模块连接的缓冲模块对应的队列为空时,所述消费模块获取所述生产模块连接的缓冲模块所对应的队列信息,并根据该队列信息判断所述生产模块连接的缓冲模块对应的队列是否已达阈值;
    如果是,则所述生产模块与所述消费模块互换各自连接的缓冲模块;
    如果否,则所述消费模块进入等待状态,直至所述生产模块连接的缓冲模块对应的队列已达阈值。
  4. 一种双缓冲编码系统的控制方法,其特征在于,双缓冲编码系统包括:生产模块、消费模块和两个缓冲模块,所述生产模块和所述消费模块分别连接两个缓冲模块中的一个;所述控制方法包括以下步骤:
    判断所述生产模块连接的缓冲模块对应的队列是否已达阈值,且所述消费模块连接的缓冲模块对应的队列为空,并在判断结果为是时互换所述生产模块与所述消费模块各自连接的缓冲模块。
  5. 如权利要求4所述的双缓冲编码系统的控制方法,其特征在于,判断所述生产模块连接的缓冲模块对应的队列是否已达阈值,且所述消费模块连接的缓冲模块对应的队列为空,并在判断结果为是时互换所述生产模块与所述消费模块各自连接的缓冲模块,包括:
    在编码过程中,所述生产模块判断自身连接的缓冲模块对应的队列是否已达阈值;
    如果否,则继续进行生产,并将生产得到的生产数据存储到该缓冲模块中;
    如果是,则获取消费模块连接的缓冲模块所对应的队列信息,并根据该队列信息判断消费模块连接的缓冲模块对应的队列是否为空;
    如果是,则所述生产模块与所述消费模块互换各自连接的缓冲模块;
    如果否,则所述生产模块进入等待状态,直至所述消费模块连接的缓冲模块对应的队列为空。
  6. 如权利要求4所述的双缓冲编码系统的控制方法,其特征在于,判断是否所述生产模块连接的缓冲模块对应的队列已达阈值,且所述消费模块连接的缓冲模块对应的队列为空,并在判断结果为是时互换所述生产模块与所述消费模块各自连接的缓冲模块,包括:
    在编码过程中,所述消费模块判断自身连接的缓冲模块对应的队列是否为空;
    如果否,则继续消费该缓冲模块冲的生产数据;
    如果是,则获取生产模块连接的缓冲模块所对应的队列信息,并根据该队列信息判断生产模块连接的缓冲模块对应的队列是否已达阈值;
    如果是,则所述生产模块与所述消费模块互换各自连接的缓冲模块;
    如果否,则所述消费模块进入等待状态,直至所述生产模块连接的缓冲模块对应的队列已达阈值。
  7. 一种计算机可读存储介质,其特征在于,其上存储有双缓冲编码系统的控制程序,该双缓冲编码系统的控制程序被处理器执行时实现如权利要求4-6中任一项所述的双缓冲编码系统的控制方法。
  8. 一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时,实现如权利要求4-6中任一项所述的双缓冲编码系统的控制方法。
PCT/CN2021/099772 2020-12-30 2021-06-11 双缓冲编码系统及其控制方法 WO2022142157A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011610557.9A CN112822494A (zh) 2020-12-30 2020-12-30 双缓冲编码系统及其控制方法
CN202011610557.9 2020-12-30

Publications (1)

Publication Number Publication Date
WO2022142157A1 true WO2022142157A1 (zh) 2022-07-07

Family

ID=75854882

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/099772 WO2022142157A1 (zh) 2020-12-30 2021-06-11 双缓冲编码系统及其控制方法

Country Status (2)

Country Link
CN (1) CN112822494A (zh)
WO (1) WO2022142157A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112822494A (zh) * 2020-12-30 2021-05-18 稿定(厦门)科技有限公司 双缓冲编码系统及其控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140237145A1 (en) * 2013-02-20 2014-08-21 International Business Machines Corporation Dual-buffer serialization and consumption of variable-length data records produced by multiple parallel threads
CN105302028A (zh) * 2015-11-19 2016-02-03 海安县申菱电器制造有限公司 实时电机转矩和磁链的数据采集系统
CN108170758A (zh) * 2017-12-22 2018-06-15 福建天泉教育科技有限公司 高并发数据存储方法及计算机可读存储介质
CN109711323A (zh) * 2018-12-25 2019-05-03 武汉烽火众智数字技术有限责任公司 一种实时视频流分析加速方法、装置和设备
CN112822494A (zh) * 2020-12-30 2021-05-18 稿定(厦门)科技有限公司 双缓冲编码系统及其控制方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3700561B2 (ja) * 2000-08-30 2005-09-28 松下電器産業株式会社 バッファ制御装置
US6812929B2 (en) * 2002-03-11 2004-11-02 Sun Microsystems, Inc. System and method for prefetching data from a frame buffer
US8948269B1 (en) * 2011-03-23 2015-02-03 Marvell International Ltd. Processor implemented systems and methods for optimized video decoding using adaptive thread priority adjustment
CN102999537B (zh) * 2011-09-19 2017-01-18 阿里巴巴集团控股有限公司 一种数据迁移系统和方法
CN103309767B (zh) * 2012-03-08 2016-01-13 阿里巴巴集团控股有限公司 一种客户端日志处理方法和装置
US8904068B2 (en) * 2012-05-09 2014-12-02 Nvidia Corporation Virtual memory structure for coprocessors having memory allocation limitations
CN108093292B (zh) * 2016-11-21 2020-09-11 阿里巴巴集团控股有限公司 用于管理缓存的方法、装置及系统
CN107423148A (zh) * 2017-07-26 2017-12-01 广州路派电子科技有限公司 一种适用于多任务调度环境下的双缓冲协议数据分析系统
CN110312156B (zh) * 2018-03-27 2022-04-22 腾讯科技(深圳)有限公司 一种视频缓存方法、装置及可读存储介质
CN108848384A (zh) * 2018-06-19 2018-11-20 复旦大学 一种面向多核平台的高效并行转码方法
CN109040771A (zh) * 2018-07-20 2018-12-18 北京交通大学 基于多缓存服务器间协作的视频缓存方法和系统
CN111124270B (zh) * 2018-10-31 2023-10-27 伊姆西Ip控股有限责任公司 缓存管理的方法、设备和计算机程序产品
CN111225268A (zh) * 2019-12-03 2020-06-02 深圳市道通智能航空技术有限公司 一种视频数据的传输方法及终端
CN111953990A (zh) * 2020-07-07 2020-11-17 西安万像电子科技有限公司 编码方法及装置
CN113836048B (zh) * 2021-09-17 2024-09-06 许昌许继软件技术有限公司 一种基于fpga内存动态分配的数据交换方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140237145A1 (en) * 2013-02-20 2014-08-21 International Business Machines Corporation Dual-buffer serialization and consumption of variable-length data records produced by multiple parallel threads
CN105302028A (zh) * 2015-11-19 2016-02-03 海安县申菱电器制造有限公司 实时电机转矩和磁链的数据采集系统
CN108170758A (zh) * 2017-12-22 2018-06-15 福建天泉教育科技有限公司 高并发数据存储方法及计算机可读存储介质
CN109711323A (zh) * 2018-12-25 2019-05-03 武汉烽火众智数字技术有限责任公司 一种实时视频流分析加速方法、装置和设备
CN112822494A (zh) * 2020-12-30 2021-05-18 稿定(厦门)科技有限公司 双缓冲编码系统及其控制方法

Also Published As

Publication number Publication date
CN112822494A (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
US10241799B2 (en) Out-of-order command execution with sliding windows to maintain completion statuses
TWI423161B (zh) 繪圖處理單元、元命令處理系統以及元命令執行方法
US8713573B2 (en) Synchronization scheduling apparatus and method in real-time multi-core system
US20060112390A1 (en) Systems and methods for performing real-time processing using multiple processors
CN103399856B (zh) 面向scada系统的爆发式数据缓存处理系统及其方法
WO2022142157A1 (zh) 双缓冲编码系统及其控制方法
US8928680B1 (en) Method and system for sharing a buffer between a graphics processing unit and a media encoder
US8918795B2 (en) Handling and reporting of object state transitions on a multiprocess architecture
US20110321049A1 (en) Programmable Integrated Processor Blocks
CN111966511B (zh) 消息队列数据读写处理方法及装置
JP2016517102A (ja) データベースにおいて再実行データを処理するための方法および装置
US7515761B2 (en) Encoding device and method
WO2022160743A1 (zh) 视频文件播放系统、音视频播放流程、存储介质
US20070092008A1 (en) Context-aware frame memory scheme for motion compensation in video decoding
CN111143079A (zh) 一种多读多写无锁队列实现方法
CN102609306B (zh) 多核处理芯片对视频处理任务的处理方法及其系统
US20120297172A1 (en) Multi-Threaded Processes for Opening and Saving Documents
CN110446046A (zh) 一种基于嵌入式平台的批量图像快速解码方法
CN110062278A (zh) 视频数据发布方法、装置、电子设备和存储介质
CN107592543A (zh) 视频解码处理方法及装置
CN102129702B (zh) 一种图像缩略图的制作方法及其系统
US20080022072A1 (en) System, method and medium processing data according to merged multi-threading and out-of-order scheme
CN112559242B (zh) 国产众核处理器计算核内存压缩方法
US20180115495A1 (en) Coordinating Accesses of Shared Resources by Clients in a Computing Device
CN116917980A (zh) 低延迟合成器

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21912916

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21912916

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 21912916

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 12.01.2024)