CN114374848A - Video coding optimization method and system - Google Patents
Video coding optimization method and system Download PDFInfo
- Publication number
- CN114374848A CN114374848A CN202111565742.5A CN202111565742A CN114374848A CN 114374848 A CN114374848 A CN 114374848A CN 202111565742 A CN202111565742 A CN 202111565742A CN 114374848 A CN114374848 A CN 114374848A
- Authority
- CN
- China
- Prior art keywords
- coding
- video
- module
- gop
- kernel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000005457 optimization Methods 0.000 title claims abstract description 23
- 230000015654 memory Effects 0.000 claims abstract description 49
- 238000001514 detection method Methods 0.000 claims description 7
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000003786 synthesis reaction Methods 0.000 claims description 5
- 230000002194 synthesizing effect Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 108091026890 Coding region Proteins 0.000 description 1
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/436—Methods 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 using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/177—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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/423—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The invention relates to a video coding technology, and discloses a video coding optimization method and a system, wherein the video coding optimization method is applied to a NUMA architecture, and the method comprises the following steps: detecting CPU hardware of a server, and acquiring the total number of nodes of the CPU and a logic core included by the nodes of the CPU, wherein the total number of the nodes of the CPU is M; according to the detected total number of the CPU nodes, establishing a coding kernel; encoding the video on an encoder according to the gop id of the current video frame; and for the coded video output video code stream, sequentially splicing the code stream into a complete code stream according to the display sequence of I frames in the code stream from low to high. The invention improves the code parallelism and avoids the remote memory access of the conventional software code. Meanwhile, the coding parallelism is improved, the coding speed is improved, and meanwhile, the coding quality cannot be lost.
Description
Technical Field
The invention relates to a video coding technology, in particular to a video coding optimization method and a video coding optimization system applied to a NUMA (non uniform memory access) architecture.
Background
At present, software encoders for ultra-high-definition videos all adopt a combination of multiple parallel encoding strategies to realize ultra-high-definition real-time transcoding. Common parallel coding strategies are:
(1) intra-frame line-level parallel encoding (multi-line simultaneous encoding within a frame is achieved by using multiple threads);
(2) frame-level parallel encoding (multi-frame simultaneous encoding is realized by utilizing multithreading);
(3) GOP level parallel encoding (multiple GOP simultaneous encoding is achieved with multiple threads).
Through parallel coding based on multiple threads, the computing resources of the multi-core CPU are fully transferred as much as possible. Meanwhile, in order to meet the calculation requirement of the ultra-high-definition video real-time coding, a server of a super multi-core CPU is generally adopted as hardware.
The NUMA architecture, namely 'non-uniform memory access', is commonly adopted by the current multi-core CPU. The NUMA architecture solves the performance bottleneck problem caused by accessing the memory through the traditional north bridge on the multi-core CPU. In NUMA architecture, a server is divided into several nodes (socks), each with a separate CPU and memory. The CPU directly accesses the local address through the memory controller, and the speed and the time delay are high; other node physical addresses are remotely accessed through QPI LINK.
Multithread software running on the CPU of the NUMA architecture should reduce memory remote access as much as possible. Normal multi-thread coding, especially 4K/8K ultra high definition coding, requires much memory to be accessed, wherein the reconstructed frame data and the original frame data are the most occupied parts of the memory.
The original frame is mainly used for calculating image characteristics and coding complexity in a pre-analysis stage so as to determine a quantization parameter and other parameters of coding; the reconstructed frame mainly provides reference pixels for intra-frame and inter-frame prediction. In addition, in the encoding mode selection stage, it is necessary to calculate encoding distortion using the reconstructed image and the original image. Therefore, the memory storing the reconstructed frame and the original frame is undoubtedly the most frequently accessed portion in the encoding.
When 4K/8K ultra-high definition coding is operated on a multi-core CPU of a NUMA architecture, because the coding threads are interdependent and the dependency condition is not always satisfied, the threads often enter a WAIT state, and when the condition is satisfied, the threads enter a RUN state again. The CPU schedules threads to effect a switch in thread state, during which it is possible for a thread to switch from one NUMA node to another NUMA node.
Therefore, the reconstructed frame memory, the original frame memory and the encoding thread accessed by the thread cannot be guaranteed to be in the same node at any time, and a large amount of memory remote access inevitably exists, so that the computing capacity of the multi-core CPU cannot be exerted to the maximum extent.
In video coding standards, three types of coded frames are generally included: i frame, P frame, B frame. GOP (group of picture) is commonly used in video coding to represent a group of pictures between two I frames in a video coding sequence, and the GOP length represents the number of frames in the GOP, which is an important parameter of an encoder.
GOP parallel coding is a common approach for ultra high definition real-time coding. And a Close GOP frame structure is adopted, so that independent coding can be ensured between adjacent GOPs, and the parallelism can be improved by times. And the encoder repacks the GOP code stream according to the GOP sequence to form a final complete code stream. The coding kernel refers to a software module with complete coding capability; the input of the coding kernel is an original video image sequence, and the output is a coded video code stream.
For example, in the prior art, patent application numbers are: CN202011644043.5201910600394.7, respectively; the patent name is, a method and system for real-time coding of 8K ultra high definition video, patent application date: 2020-12-31. On NUMA architecture CPU, it limits the coding task to one node inside, can not exert the computing power of multinode CPU to the maximum extent.
Disclosure of Invention
The invention provides a video coding optimization method and a video coding optimization system aiming at the problem that in the prior art, on a NUMA (non uniform memory access) architecture CPU (central processing unit), coding tasks are limited in a node and the computing capacity of a multi-node CPU (central processing unit) cannot be exerted to the maximum extent.
In order to solve the technical problem, the invention is solved by the following technical scheme:
a video coding optimization method is applied to a NUMA architecture, and comprises the following steps:
detecting a server, namely detecting CPU hardware of the server, and acquiring the total number of nodes of the CPU and a logic core included by the nodes of the CPU, wherein the total number of the nodes of the CPU is M;
establishing an encoder, namely establishing an encoding kernel according to the detected total number of the CPU nodes;
coding a video, namely coding the video on a coder according to the gop id of the current video frame;
and synthesizing the code stream, namely splicing the code stream into a complete code stream in sequence according to the display sequence of the I frames in the code stream from low to high for the coded video output video code stream.
Preferably, the method for creating the encoder includes:
step 2, calling pthread _ detail _ np to set the thread of the encoder to run on the logic core of the node i;
step 3, creating a coding kernel i, wherein the coding kernel is bound on the node i;
step 4, initializing the coding kernel, including the allocation of an original frame memory and a reconstructed frame memory;
and step 5, adding 1 to the node index variable, namely i is i +1, continuing the step 2 when i is less than M, otherwise, completing the creation of the encoder.
Preferably, the video encoding method includes:
acquiring the gop id of the current video frame and updating the gop id, wherein the gop id is initialized to be 0 and the maximum value is M-1;
and for the video frame with the current gop id i, sending the current frame to a coding kernel on the node i, copying the original image to an original frame memory of the coding kernel, and then starting coding.
Preferably, the method for updating the gop id is as follows: after the first frame, every time an I frame or IDR frame is received, the gop id is incremented by 1, and if the gop id is equal to M, the gop id is assigned to 0.
In order to solve the technical problem, the invention also provides a video coding optimization system, which is applied to the NUMA architecture and comprises a server detection module, an encoder creation module, a video coding module and a code stream synthesis module;
the server detection module detects CPU hardware of the server and obtains the total number of nodes of the CPU and a logic core included by the nodes of the CPU, wherein the total number of the nodes of the CPU is M;
the encoder creating module is used for creating an encoding kernel according to the detected total number of the CPU nodes;
the video coding module codes the video on the coder according to the gop id of the current video frame;
and the code stream synthesis module is used for outputting video code streams to the coded video, and sequentially splicing the code streams into complete code streams according to the display sequence of the I frames in the code streams from low to high.
Preferably, the encoder creating module includes: the system comprises a node initialization module, a thread running setting module, a coding kernel creating module, a coding kernel initialization module and an index variable updating module;
the node initialization module is used for initializing a node index variable i to be 0;
the thread running setting module calls a pthread _ detail _ np setting encoder to run on a logic core of the node i;
the code kernel creating module is used for creating a code kernel i and binding the code kernel to the node i;
the coding kernel initialization module initializes the coding kernel, and comprises the allocation of an original frame memory and a reconstructed frame memory;
and an index variable updating module, wherein the node index variable is added with 1, namely i is i + 1.
Preferably, the video encoding module includes:
the video frame acquisition module is used for acquiring the gop id of the current video frame and updating the gop id, wherein the gop id is initialized to be 0, and the maximum value is M-1;
the video frame coding module is used for copying an original frame image to an original frame memory of a coding kernel of the node i for a video frame with the current gop id being i; the encoding kernel on scheduling node i encodes the current video frame.
In order to solve the above technical problem, the present invention also provides an electronic device, including: at least one processor and memory; the memory stores computer-executable instructions; the at least one processor executes computer-executable instructions stored by the memory to cause the at least one processor to perform the method for video coding optimization.
In order to solve the above technical problem, the present invention further provides a computer-readable storage medium, wherein computer-executable instructions are stored in the computer-readable storage medium, and when a processor executes the computer-executable instructions, the computer-readable storage medium is implemented by a video coding optimization method.
Due to the adoption of the technical scheme, the invention has the remarkable technical effects that:
the invention improves the code parallelism and avoids the remote memory access of the conventional software code.
The invention is applied to the HEVC and AVS3 encoders of ArcVideo, the comprehensive improvement range of the transcoding speed of the ultra-high definition videos such as 4K/8K and the like reaches about 10%, and the encoding quality is not lost at all.
Drawings
FIG. 1 is a flow chart of the present invention.
Fig. 2 is a flow chart of the creation of the encoder of the present invention.
Fig. 3 is a schematic diagram of the coding framework of the present invention.
Wherein:
NUMA is short for Non-Uniform Memory Access, namely Non-Uniform Memory Access;
i frame: intra-coded picture Intra-coded image frames;
p frame: predictive-coded picture prediction coding image frame;
b frame: bidirectional predicted picture frames;
GOP: group of pictures, a Group of pictures between two I-frames.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples.
Example 1
A video coding optimization method is applied to a NUMA architecture, and comprises the following steps:
detecting a server, namely detecting CPU hardware of the server, and acquiring the total number of nodes of the CPU and a logic core included by the nodes of the CPU, wherein the total number of the nodes of the CPU is M;
establishing an encoder, namely establishing an encoding kernel according to the detected total number of the CPU nodes;
coding a video, namely coding the video on a coder according to the gop id of the current video frame;
and synthesizing the code stream, namely splicing the code stream into a complete code stream in sequence according to the display sequence of the I frames in the code stream from low to high for the coded video output video code stream.
The method for creating the encoder comprises the following steps:
step 2, calling pthread _ detail _ np to set the thread of the encoder to run on the logic core of the node i;
step 3, creating a coding kernel i, wherein the coding kernel is bound on the node i;
step 4, initializing the coding kernel, including the allocation of an original frame memory and a reconstructed frame memory;
and step 5, adding 1 to the node index variable, namely i is i +1, continuing the step 2 when i is less than M, otherwise, completing the creation of the encoder.
The video coding method includes:
acquiring the gop id of the current video frame and updating the gop id, wherein the gop id is initialized to be 0 and the maximum value is M-1;
and for the video frame with the current gop id i, sending the current frame to a coding kernel on the node i, copying the original image to an original frame memory of the coding kernel, and then starting coding.
The method for updating the gop id is as follows: after the first frame, every time an I frame or IDR frame is received, the gop id is incremented by 1, and if the gop id is equal to M, the gop id is assigned to 0.
Example 2
On the basis of embodiment 1, for the detection of the hardware condition of the server CPU, for example, in the Linux system, information in the/proc/cpuinfo file is read, and the keywords "processor" and "physical id" are filtered, so that CPU id and physical id information can be obtained. The cpu id is the id of the logical processor, and the physical id is the NUMA node where the logical processor is located. For example, in an Intel (R) Xeon (R) Gold 6258R CPU, there are 112 logical processors and 2 nodes. Wherein the node 0(physical id 0) includes logical processors (0-27, 56-83), and the node 1(physical id 1) includes logical processors (28-55, 84-111).
For the creation of the encoder, for the Linux system and the dual-node intel (R) xeon (R) Gold 6258R CPU (M ═ 2), the pthread _ detail _ np function is used to set the affinity of the logical processors, and then the subsequent software code will only run on these set logical processors. Calling pthread _ setup _ np to set subsequent software codes to run on all logic processors of the node 0, then creating the coding kernel 0, and calling an initialization function of the coding kernel 0 to complete initialization. Because the coding kernel is a module with a complete coding function, the allocation of other memories including an original frame memory, a reconstructed frame memory and the coding kernel is completed in an initialization function, so that the coding kernel 0 is ensured to be operated only on the node 0, and the memories of the original frame, the reconstructed frame and the like accessed by the coding kernel are also in the physical address of the node 0. Similarly, calling pthread _ setup _ np sets the subsequent software code to run on all the logical processors of the node 1, creating the coding kernel 1, and calling the initialization function of the coding kernel 1 to complete initialization.
When a new frame is coded, firstly, acquiring the current gop id; the gop id is initialized to be 0, and the maximum value is M-1(M is the number of CPU nodes); the gop id update strategy is as follows: after the first frame, every time an I frame or IDR frame is received, the gop id is incremented by 1, and if the gop id is equal to M, the gop id is assigned to 0. And if the gop id of the current frame is equal to i, the current frame is sent to a coding kernel i on the node i, and the coding kernel copies the original image into an original frame memory of the coding kernel and then normally codes the original image.
Example 3
On the basis of the above embodiments, this embodiment provides a video coding optimization system, which is applied to a NUMA architecture, and includes a server detection module, an encoder creation module, a video coding module, and a stream composition module;
the server detection module detects CPU hardware of the server and obtains the total number of nodes of the CPU and a logic core included by the nodes of the CPU, wherein the total number of the nodes of the CPU is M;
the encoder creating module is used for creating an encoding kernel according to the detected total number of the CPU nodes;
the video coding module codes the video on the coder according to the gop id of the current video frame;
and the code stream synthesis module is used for outputting video code streams to the coded video, and sequentially splicing the code streams into complete code streams according to the display sequence of the I frames in the code streams from low to high.
The encoder creation module includes: the system comprises a node initialization module, a thread running setting module, a coding kernel creating module, a coding kernel initialization module and an index variable updating module;
the node initialization module is used for initializing a node index variable i to be 0;
the thread running setting module calls a pthread _ detail _ np setting encoder to run on a logic core of the node i;
the code kernel creating module is used for creating a code kernel i and binding the code kernel to the node i;
the coding kernel initialization module initializes the coding kernel, and comprises the allocation of an original frame memory and a reconstructed frame memory;
and an index variable updating module, wherein the node index variable is added with 1, namely i is i + 1.
The video encoding module includes:
the video frame acquisition module is used for acquiring the gop id of the current video frame and updating the gop id, wherein the gop id is initialized to be 0, and the maximum value is M-1;
the video frame coding module is used for copying an original frame image to an original frame memory of a coding kernel of the node i for a video frame with the current gop id being i; the encoding kernel on scheduling node i encodes the current video frame.
Example 4
On the basis of the above embodiment, the present embodiment provides an electronic device, which includes: at least one processor and memory;
the memory stores computer-executable instructions; the at least one processor executes computer-executable instructions stored by the memory to cause the at least one processor to perform the method for video coding optimization.
Example 5
On the basis of the above embodiments, the present embodiment provides a computer-readable storage medium, in which computer-executable instructions are stored, and when a processor executes the computer-executable instructions, the implementation is performed by a video coding optimization method.
Claims (9)
1. A video coding optimization method is applied to a NUMA architecture, and is characterized by comprising the following steps:
detecting a server, namely detecting CPU hardware of the server, and acquiring the total number of nodes of the CPU and a logic core included by the nodes of the CPU, wherein the total number of the nodes of the CPU is M;
establishing an encoder, namely establishing an encoding kernel according to the detected total number of the CPU nodes;
coding a video, namely coding the video on a coder according to the gop id of the current video frame;
and synthesizing the code stream, namely splicing the code stream into a complete code stream in sequence according to the display sequence of the I frames in the code stream from low to high for the coded video output video code stream.
2. The method of claim 1, wherein the encoder is created by a method comprising:
step 1, initializing a node index variable i to be 0;
step 2, calling pthread _ detail _ np to set the thread of the encoder to run on the logic core of the node i;
step 3, creating a coding kernel i, wherein the coding kernel is bound on the node i;
step 4, initializing the coding kernel, including the allocation of an original frame memory and a reconstructed frame memory;
and step 5, adding 1 to the node index variable, namely i is i +1, continuing the step 2 when i is less than M, otherwise, completing the creation of the encoder.
3. The method of claim 1, wherein the video coding method comprises:
acquiring the gop id of the current video frame and updating the gop id, wherein the gop id is initialized to be 0 and the maximum value is M-1;
and for the video frame with the current gop id i, sending the current frame to a coding kernel on the node i, copying the original image to an original frame memory of the coding kernel, and then starting coding.
4. The video coding optimization method of claim 3, wherein the gop id update mode is as follows: after the first frame, every time an I frame or IDR frame is received, the gop id is incremented by 1, and if the gop id is equal to M, the gop id is assigned to 0.
5. A video coding optimization system is applied to a NUMA architecture, and is characterized in that: the system comprises a server detection module, an encoder creation module, a video coding module and a code stream synthesis module;
the server detection module detects CPU hardware of the server and obtains the total number of nodes of the CPU and a logic core included by the nodes of the CPU, wherein the total number of the nodes of the CPU is M;
the encoder creating module is used for creating an encoding kernel according to the detected total number of the CPU nodes;
the video coding module codes the video on the coder according to the gop id of the current video frame;
and the code stream synthesis module is used for splicing the code streams into complete code streams in sequence according to the display sequence of the I frames in the code streams from low to high for the coded output video code streams.
6. The video coding optimization system of claim 5, wherein the encoder creation module comprises: the system comprises a node initialization module, a thread running setting module, a coding kernel creating module, a coding kernel initialization module and an index variable updating module;
the node initialization module is used for initializing a node index variable i to be 0;
the thread running setting module calls a pthread _ detail _ np setting encoder to run on a logic core of the node i;
the coding kernel creating module is used for creating a coding kernel i, and the coding kernel is bound on the node i at the moment;
the coding kernel initialization module initializes the coding kernel, and comprises the allocation of an original frame memory and a reconstructed frame memory;
and an index variable updating module, wherein the node index variable is added with 1, namely i is i + 1.
7. The video coding optimization system of claim 5, wherein the video coding module comprises:
the video frame acquisition module is used for acquiring the gop id of the current video frame and updating the gop id, wherein the gop id is initialized to be 0, and the maximum value is M-1;
the video frame coding module is used for copying an original frame image to an original frame memory of a coding kernel of the node i for a video frame with the current gop id being i; the encoding kernel on scheduling node i encodes the current video frame.
8. An electronic device, comprising: at least one processor and memory; the memory stores computer-executable instructions; the at least one processor executing computer-executable instructions stored by the memory causes the at least one processor to perform a method of video coding optimization as claimed in any one of claims 1 to 4.
9. A computer-readable storage medium having computer-executable instructions stored thereon which, when executed by a processor, implement a video coding optimization method as claimed in any one of claims 1 to 4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111565742.5A CN114374848B (en) | 2021-12-20 | 2021-12-20 | Video coding optimization method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111565742.5A CN114374848B (en) | 2021-12-20 | 2021-12-20 | Video coding optimization method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114374848A true CN114374848A (en) | 2022-04-19 |
CN114374848B CN114374848B (en) | 2024-03-19 |
Family
ID=81139384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111565742.5A Active CN114374848B (en) | 2021-12-20 | 2021-12-20 | Video coding optimization method and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114374848B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117440166A (en) * | 2023-09-19 | 2024-01-23 | 北京麟卓信息科技有限公司 | Video coding and decoding mode detection method based on memory access characteristic analysis |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915292A (en) * | 2011-08-02 | 2013-02-06 | 北京大学 | Communication method based on multi-core processor and detection method and control method thereof |
US20140002617A1 (en) * | 2012-06-27 | 2014-01-02 | The Board Of Trustees Of The University Of Illinois | Particle tracking system and method |
CN106599259A (en) * | 2016-12-21 | 2017-04-26 | 江苏省连云港工贸高等职业技术学校 | System for quickly accessing SQL database |
CN106993190A (en) * | 2017-03-31 | 2017-07-28 | 武汉斗鱼网络科技有限公司 | Software-hardware synergism coding method and system |
US20190156178A1 (en) * | 2017-11-22 | 2019-05-23 | Massachusetts Institute Of Technology | Systems and methods for optimization of a data model network architecture for target deployment |
CN110612514A (en) * | 2017-05-23 | 2019-12-24 | 科磊股份有限公司 | Scalable and flexible job distribution architecture for semiconductor inspection and metrology systems |
CN110650345A (en) * | 2019-09-25 | 2020-01-03 | 杭州当虹科技股份有限公司 | Master-slave multi-node coding method for 8K ultra-high definition |
CN110933457A (en) * | 2019-12-02 | 2020-03-27 | 杭州当虹科技股份有限公司 | Multi-node low-delay parallel coding method for 8K ultra-high definition |
CN113012023A (en) * | 2021-02-22 | 2021-06-22 | 中国科学技术大学 | Video analysis acceleration method and system based on many-core processor |
-
2021
- 2021-12-20 CN CN202111565742.5A patent/CN114374848B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915292A (en) * | 2011-08-02 | 2013-02-06 | 北京大学 | Communication method based on multi-core processor and detection method and control method thereof |
US20140002617A1 (en) * | 2012-06-27 | 2014-01-02 | The Board Of Trustees Of The University Of Illinois | Particle tracking system and method |
CN106599259A (en) * | 2016-12-21 | 2017-04-26 | 江苏省连云港工贸高等职业技术学校 | System for quickly accessing SQL database |
CN106993190A (en) * | 2017-03-31 | 2017-07-28 | 武汉斗鱼网络科技有限公司 | Software-hardware synergism coding method and system |
CN110612514A (en) * | 2017-05-23 | 2019-12-24 | 科磊股份有限公司 | Scalable and flexible job distribution architecture for semiconductor inspection and metrology systems |
US20190156178A1 (en) * | 2017-11-22 | 2019-05-23 | Massachusetts Institute Of Technology | Systems and methods for optimization of a data model network architecture for target deployment |
CN110650345A (en) * | 2019-09-25 | 2020-01-03 | 杭州当虹科技股份有限公司 | Master-slave multi-node coding method for 8K ultra-high definition |
CN110933457A (en) * | 2019-12-02 | 2020-03-27 | 杭州当虹科技股份有限公司 | Multi-node low-delay parallel coding method for 8K ultra-high definition |
CN113012023A (en) * | 2021-02-22 | 2021-06-22 | 中国科学技术大学 | Video analysis acceleration method and system based on many-core processor |
Non-Patent Citations (3)
Title |
---|
GRZEGORZ PASTUSZAK ET AL.: "Algorithm and architecture design of the H.265/HEVC intra encoder", 《IEEE TRAMSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 * |
刘腾达等: "FPGA加速深度学习综述", 《计算机科学与探索》 * |
吴辉: "基于EFG法的二维不可压缩层流问题的多核CPU并行计算研究", 《万方》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117440166A (en) * | 2023-09-19 | 2024-01-23 | 北京麟卓信息科技有限公司 | Video coding and decoding mode detection method based on memory access characteristic analysis |
CN117440166B (en) * | 2023-09-19 | 2024-04-26 | 北京麟卓信息科技有限公司 | Video coding and decoding mode detection method based on memory access characteristic analysis |
Also Published As
Publication number | Publication date |
---|---|
CN114374848B (en) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wieckowski et al. | Towards a live software decoder implementation for the upcoming versatile video coding (VVC) codec | |
JP7098805B2 (en) | Codec using neural network | |
US9131240B2 (en) | Video decoding method and apparatus which uses double buffering | |
US9148670B2 (en) | Multi-core decompression of block coded video data | |
US8902994B1 (en) | Deblocking filtering | |
US8532196B2 (en) | Decoding device, recording medium, and decoding method for coded data | |
CN101243690B (en) | Method video encoding and decoding preserving cache localities | |
US10931964B2 (en) | Video data processing system | |
US20160191935A1 (en) | Method and system with data reuse in inter-frame level parallel decoding | |
CN113874916A (en) | AI-assisted programmable hardware video codec | |
CN114374848B (en) | Video coding optimization method and system | |
US10757430B2 (en) | Method of operating decoder using multiple channels to reduce memory usage and method of operating application processor including the decoder | |
Radicke et al. | A multi-threaded full-feature HEVC encoder based on wavefront parallel processing | |
CN112911306B (en) | Video processing method and device, electronic equipment and storage medium | |
WO2018171445A1 (en) | High-efficiency video coding method and apparatus, and computer readable storage medium | |
US20130148717A1 (en) | Video processing system and method for parallel processing of video data | |
KR20090020460A (en) | Method and apparatus for video decoding | |
CN114374844A (en) | Video coding optimization method and system | |
CN113660496B (en) | Video stream decoding method and device based on multi-core parallelism | |
CN113709574B (en) | Video screenshot method and device, electronic equipment and computer readable storage medium | |
JP2009130599A (en) | Moving picture decoder | |
CN113542763B (en) | Efficient video decoding method and decoder | |
Han et al. | A real-time ultra-high definition video decoder of AVS3 on heterogeneous systems | |
US9307267B2 (en) | Techniques for scalable dynamic data encoding and decoding | |
US20090201989A1 (en) | Systems and Methods to Optimize Entropy Decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |