CN110418145A - A kind of method for video coding, device, electronic equipment and storage medium - Google Patents

A kind of method for video coding, device, electronic equipment and storage medium Download PDF

Info

Publication number
CN110418145A
CN110418145A CN201910680931.3A CN201910680931A CN110418145A CN 110418145 A CN110418145 A CN 110418145A CN 201910680931 A CN201910680931 A CN 201910680931A CN 110418145 A CN110418145 A CN 110418145A
Authority
CN
China
Prior art keywords
ctu
encoded
coding
video frame
relied
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
Application number
CN201910680931.3A
Other languages
Chinese (zh)
Other versions
CN110418145B (en
Inventor
冯伟伦
林镇安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201910680931.3A priority Critical patent/CN110418145B/en
Publication of CN110418145A publication Critical patent/CN110418145A/en
Application granted granted Critical
Publication of CN110418145B publication Critical patent/CN110418145B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

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

Abstract

The embodiment of the invention provides a kind of method for video coding, device, electronic equipment and storage mediums, wherein this method comprises: selecting CTU to be encoded after the coding tree unit CTU for monitoring video completes coding;Wherein, CTU to be encoded are as follows: be not encoded CTU dependent on the CTU monitored;Check whether the CTU that CTU to be encoded is relied on is fully completed coding;If so, being encoded to CTU to be encoded.It so, it is possible to improve the utilization rate to resource, to improve video coding efficiency.

Description

A kind of method for video coding, device, electronic equipment and storage medium
Technical field
The present invention relates to technical field of video coding, more particularly to a kind of method for video coding, device, electronic equipment and Storage medium.
Background technique
Video encoding standard of new generation H.265/HEVC (High Efficiency Video Coding, high efficiency video Coding) H.264/AVC than previous generation standard the compression ratio of (Advanced Video Coding, advanced video coding) it is high by 50%, But encoder complexity is improved simultaneously, increases the scramble time.In order to promote coding rate, contained in HEVC standard a series of Parallel encoding tool, wavefront parallel processing (Wavefront Parallel Processing, WPP) technology is generation therein Table.
When encoding to video, each frame of video is usually divided into multiple coding tree units (Coding Tree Unit, abbreviation CTU), each CTU is encoded.In order to improve Video coding speed, video coding technique allows to same The different CTU of video frame is encoded simultaneously, to realize parallel encoding.However, being closed due to there is complicated dependence between CTU System, after the CTU that CTU to be encoded is relied on completes coding, CTU to be encoded could start to encode.
In the prior art, CTU is encoded by multiple threads, and exists between thread and CTU to be encoded and fixes Corresponding relationship first encodes CTU1 by thread 1 for example, thread 1 corresponds to CTU1, CTU2, encode and complete to CTU1, And the CTU that is relied on of CTU2 also encoded completion when, CTU2 is encoded by thread 1;Thread 2 corresponds to CTU3, CTU4, i.e., First CTU3 is encoded by thread 2, encodes and completes to CTU3, and the CTU that is relied on of CTU4 also encoded completion when, pass through Thread 2 encodes CTU4, wherein thread 1 and thread 2 are encoded simultaneously.The prior art there may be: thread 1 is complete The coding of pairs of CTU1, still, at this point, coding has not been completed in the CTU that CTU2 is relied on, therefore, thread 1 needs to wait;Together When, the encoded completion of the CTU that CTU4 is relied on, i.e. CTU4 can be encoded, and still, thread 2 does not complete the volume to CTU3 also Code, at this point, CTU4 could be encoded, so be will lead to after CTU4 needs to wait for the completion of thread 2 to the coding of CTU3, part Thread has been completed to encode and has been in idle condition, and some CTU may have been completed coding still because of its CTU relied on But the case where it can not being encoded.At this point, idling-resource will be idle, and these it is that can be encoded be not encoded CTU also without Method is encoded in time, so as to cause waste of resource, keeps video coding efficiency lower.
Summary of the invention
The embodiment of the present invention is designed to provide a kind of method for video coding, device, electronic equipment and storage medium, with The utilization rate to resource is improved, to improve video coding efficiency.Specific technical solution is as follows:
In a first aspect, the embodiment of the invention provides a kind of method for video coding, comprising:
After the coding tree unit CTU for monitoring video completes coding, CTU to be encoded is selected;Wherein, described to be encoded CTU are as follows: be not encoded CTU dependent on the CTU monitored;
Whether the CTU for checking that the CTU to be encoded is relied on is fully completed coding;
If so, being encoded to the CTU to be encoded.
Optionally, each CTU in the video frame arranges in matrix form;
The CTU to be encoded includes: the CTU of same a line next column positioned at the CTU monitored, positioned at what is monitored The CTU of the next line previous column of CTU.
Optionally, the CTU to be encoded further include:
CTU in reference video frame;The reference video frame are as follows: the view dependent on the affiliated video frame of CTU monitored Frequency frame.
Optionally, each CTU in the video frame arranges in matrix form;
The CTU that the CTU to be encoded is relied on, comprising: positioned at same a line previous column of CTU to be encoded CTU, be located to Encode the CTU of the lastrow next column of CTU.
Optionally, the CTU that the CTU to be encoded is relied on, further includes:
The CTU being referenced in video frame;It is described to be referenced video frame are as follows: the affiliated video frame of CTU to be encoded is relied on Video frame.
It is optionally, described that the CTU to be encoded is encoded, comprising:
Thread pool is added in the CTU to be encoded;Select the idle thread in the thread pool;Pass through the idle thread The CTU to be encoded is encoded.
Second aspect, the embodiment of the invention provides a kind of video coding apparatus, comprising:
Selecting module, for selecting CTU to be encoded after the coding tree unit CTU for monitoring video completes coding;Its In, the CTU to be encoded are as follows: be not encoded CTU dependent on the CTU monitored;
Whether detection module, the CTU for checking that the CTU to be encoded is relied on are fully completed coding;
Coding module, if the CTU for checking that the CTU to be encoded is relied on is fully completed coding, to described wait compile Code CTU is encoded.
Optionally, each CTU in the video frame arranges in matrix form;
The CTU to be encoded includes: the CTU of same a line next column positioned at the CTU monitored, positioned at what is monitored The CTU of the next line previous column of CTU.
Optionally, the CTU to be encoded further include:
CTU in reference video frame;The reference video frame are as follows: the view dependent on the affiliated video frame of CTU monitored Frequency frame.
Optionally, each CTU in the video frame arranges in matrix form;
The CTU that the CTU to be encoded is relied on, comprising: positioned at same a line previous column of CTU to be encoded CTU, be located to Encode the CTU of the lastrow next column of CTU.
Optionally, the CTU that the CTU to be encoded is relied on, further includes:
The CTU being referenced in video frame;It is described to be referenced video frame are as follows: the affiliated video frame of CTU to be encoded is relied on Video frame.
Optionally, the coding module is specifically used for the CTU to be encoded thread pool is added;Select the thread pool In idle thread;The CTU to be encoded is encoded by the idle thread.
The third aspect, the embodiment of the invention provides a kind of electronic equipment, including processor, communication interface, memory and Communication bus, wherein the processor, the communication interface, the memory are completed each other by the communication bus Communication;
The memory, for storing computer program;
The processor when for executing the program stored on memory, realizes method and step described in first aspect.
Fourth aspect, the embodiment of the invention provides a kind of computer readable storage mediums, when in the storage medium When instruction is executed by the processor of electronic equipment, so that electronic equipment is able to carry out a kind of method for video coding, first party is realized Method and step described in face.
At the another aspect that the present invention is implemented, the embodiment of the invention also provides a kind of, and the computer program comprising instruction is produced Product, when run on a computer, so that computer executes any of the above-described method for video coding.
Method for video coding, device, electronic equipment and storage medium provided in an embodiment of the present invention can work as and monitor to regard After the coding tree unit CTU of frequency completes coding, CTU to be encoded is selected;Wherein, CTU to be encoded are as follows: dependent on what is monitored CTU's is not encoded CTU;Check whether the CTU that CTU to be encoded is relied on is fully completed coding;If so, to CTU to be encoded It is encoded.In the embodiment of the present invention, when monitoring has CTU to complete coding, selection is to be encoded dependent on monitored CTU's CTU, and when the CTU for checking that CTU to be encoded is relied on is fully completed coding, CTU to be encoded is encoded.It so, it is possible The wasting of resources is reduced, the utilization rate to resource is improved, to improve video coding efficiency.
Detailed description of the invention
In order to more clearly explain the embodiment of the invention or the technical proposal in the existing technology, to embodiment or will show below There is attached drawing needed in technical description to be briefly described.
Fig. 1 is the flow chart of method for video coding provided in an embodiment of the present invention;
Fig. 2 is CTU relation schematic diagram in the embodiment of the present invention;
Fig. 3 is a kind of flow diagram of specific embodiment provided in an embodiment of the present invention;
Fig. 4 is the flow diagram of another specific embodiment provided in an embodiment of the present invention;
Fig. 5 is the structural schematic diagram of video coding apparatus provided in an embodiment of the present invention;
Fig. 6 is the structural schematic diagram of electronic equipment provided in an embodiment of the present invention.
Specific embodiment
Following will be combined with the drawings in the embodiments of the present invention, and technical solution in the embodiment of the present invention is described.
In order to reduce the wasting of resources, video coding efficiency is improved, the embodiment of the invention provides a kind of method for video coding. Method for video coding provided in an embodiment of the present invention is described in detail below.
Method for video coding provided in an embodiment of the present invention can be applied to electronic equipment.Specifically, electronic equipment can be with For processor, encoder, intelligent terminal such as apparatus such as computer.
The embodiment of the invention provides a kind of method for video coding, as shown in Figure 1, may include:
S101 selects CTU to be encoded after the coding tree unit CTU for monitoring video completes coding.
Wherein, CTU to be encoded are as follows: be not encoded CTU dependent on the CTU monitored.
CTU to be encoded may include one or more.
There are dependences between multiple CTU that each video frame of video obtains after dividing, for a certain CTU, if needing The CTU is encoded, the CTU that need to have been relied on the CTU carries out coding completion.Specifically, the dependence between multiple CTU Relationship can be determined when dividing to obtain CTU for video frame.It, can directly really during being encoded to each CTU Dependence between fixed each CTU is directed to each CTU, can determine dependent on the CTU of the CTU and CTU institute according to Bad CTU.
When monitoring have CTU complete coding, then can choose CTU to be encoded, can from respectively be not encoded CTU in select rely on In the CTU of the CTU monitored.
In the embodiment of the present invention, CTU can be encoded by multiple thread parallels, in an encoding process, electronics is set It is standby to monitor whether the CTU that each thread is separately encoded encodes completions respectively, for each thread, when monitoring thread volume After the CTU of code completes coding, then the corresponding CTU to be encoded of CTU of coding is completed in selection.
S102, checks whether the CTU that CTU to be encoded is relied on is fully completed coding.
If thening follow the steps S103 if so, checking that the CTU that CTU to be encoded is relied on is fully completed coding.
After selecting CTU to be encoded, according to the dependence between each CTU, then it can determine that CTU to be encoded is relied on CTU.The CTU that CTU to be encoded is relied on may include one or more.
When the CTU that CTU to be encoded is relied on includes multiple, each CTU that CTU to be encoded is relied on can be successively detected Whether completion encodes.
It in a kind of achievable mode, in CTU cataloged procedure, is completed when being encoded to CTU, can complete to mark with label coding Know.In this way, can detecte indicates that CTU is encoded when whether each CTU that detection CTU to be encoded is relied on completes coding The coding of completion completes mark, if can detecte the corresponding coding of CTU completes mark, can determine that CTU completes coding.
In the achievable mode of another kind, it can directly judge whether detect the corresponding coding result of CTU, if can examine The corresponding coding result of CTU is measured, then can determine that CTU completes coding.
In a kind of optional embodiment of the present invention, judge that CTU to be encoded whether there is;If it exists, then CTU to be encoded is checked Whether the CTU relied on is fully completed coding.Under some cases, the CTU that the coding monitored is completed is located at the side of multiple CTU At boundary, it is possible to there is no relying on to monitor the CTU of the CTU, that is, be possible to that there is no corresponding rely on to monitor the CTU CTU to be encoded.In the embodiment of the present invention, i.e., before whether the CTU that inspection CTU to be encoded is relied on is fully completed coding, First judge that CTU to be encoded whether there is, if the CTU to be encoded exists, checks whether the CTU that CTU to be encoded is relied on is complete Complete coding in portion.
If checking that the CTU that CTU to be encoded is relied on is not fully completed coding, can reselect dependent on being monitored The CTU that coding is completed CTU, that is, reselect CTU to be encoded.
S103 encodes CTU to be encoded.
Specifically CTU to be encoded is encoded, coding strategy can be selected to be encoded according to actual needs, wherein Coding strategy can be any mode that may be implemented to encode CTU, and the embodiment of the present invention is not to specific cataloged procedure It is restricted.
In a kind of optional embodiment, it is fully completed coding in the CTU for checking that CTU to be encoded is relied on, by CTU to be encoded Thread pool is added, selects the idle thread in thread pool;CTU to be encoded is encoded by idle thread.Specifically, thread It may include multiple threads in pond, electronic equipment can call idle thread to encode CTU to be encoded.
In the embodiment of the present invention, when monitoring has CTU to complete coding, selection is to be encoded dependent on monitored CTU's CTU, and when the CTU for checking that CTU to be encoded is relied on is fully completed coding, CTU to be encoded is encoded.It so, it is possible The wasting of resources is reduced, the utilization rate to resource is improved, to improve video coding efficiency.
In a kind of optional embodiment of the present invention, each CTU in video frame arranges in matrix form.
CTU to be encoded may include: the CTU of same a line next column positioned at the CTU monitored, positioned at what is monitored The CTU of the next line previous column of CTU.
Illustratively CTU representation first, such as CTU (P, X, Y), wherein P indicates the frame number of the affiliated video frame of CTU, X indicates CTU row number, and Y indicates CTU line number.
The CTU monitored is CTU (p0, x, y), then may include CTU dependent on the CTU to be encoded of monitored CTU (p0, x+1, y) and CTU (p0, x-1, y+1), as shown in Figure 2.
In another alternative embodiment, CTU to be encoded can also include: the CTU in reference video frame;Reference video frame Are as follows: the video frame dependent on the affiliated video frame of CTU monitored.
There is also complicated dependence between the video frame for including in video, and the dependence between video frame can be with It predefines.In an encoding process, it is directed to each video frame, can be determined according to the dependence between each video frame The video frame relied on dependent on the video frame of the video frame and the video frame, it can according to the dependence between video frame Relationship determines the reference video frame of video frame and is referenced video frame.
As shown in Fig. 2, the CTU monitored is video frame p0 belonging to CTU (p0, x, y), the video frame dependent on p0 includes Video frame pa, it is understood that be the video frame of reference video frame p0.CTU to be encoded can also include the CTU of video frame pa, such as CTU (pa, x-2, y-2).
In a kind of alternative embodiment of the present invention, when CTU (p0, x, y) coding finishes, each CTU to be encoded of triggering is checked Whether the CTU that each CTU to be encoded is relied on is fully completed coding, specifically can with as shown in figure 3, when monitoring CTU (p0, x, Y) coding finishes, and triggering depends on the CTU of CTU (p0, x, y), that is, checks whether the CTU that the CTU is relied on is fully completed coding, CTU (p0, x+1, y), CTU (p0, x-1, y+1), and the video frame of all reference video frame p0 of circulation can specifically be triggered CTU (pa, x-2, y-2) in CTU in pa, such as triggering reference video frame pa.
In a kind of alternative embodiment of the present invention, each CTU in video frame arranges in matrix form.
The CTU that CTU to be encoded is relied on, may include: same a line previous column positioned at CTU to be encoded CTU, be located to Encode the CTU of the lastrow next column of CTU.
As shown in Fig. 2, such as above-mentioned determination CTU to be encoded (pa, x-2, y-2), then the CTU that CTU to be encoded is relied on can be with Including CTU (pa, x-1, y-3) and CTU (pa, x-3, y-2).
The achievable mode of another kind, the CTU that CTU to be encoded is relied on can also include:
The CTU being referenced in video frame;It is referenced video frame are as follows: the video frame that the affiliated video frame of CTU to be encoded is relied on.
Above-mentioned determination CTU to be encoded (pa, x-2, y-2), the CTU that CTU to be encoded is relied on can also include CTU (p0, x, y)。
In a kind of optional embodiment of the present invention, triggering CTU to be encoded may include executing triggering sub-process, trigger subflow Journey checks whether the CTU that CTU to be encoded is relied on is fully completed the process of coding, as shown in Figure 4.
If it is determined that CTU to be encoded is CTU (pa, x, y), whether the CTU for checking that CTU (pa, x, y) is relied on all has been encoded At, be such as examined successively CTU (pa, x-1, y), CTU (pa, x+1, y-1), and the affiliated video frame pa institute of circulation CTU to be encoded according to Bad video frame, it is understood that for the CTU in the reference frame pb of video frame pa, such as CTU (pb, x+2, y+2), until having recycled All CTU in the reference frame pb of video frame pa, and encoded completion, then be put into thread pool for CTU (pa, x, y) and start to compile Code.
In the embodiment of the present invention, when CTU to be encoded can be encoded, CTU to be encoded is encoded at the first time, it can be with The mutual waiting in cataloged procedure between thread is eliminated, can reduce the wasting of resources, the utilization rate to resource is improved, to improve Video coding efficiency.
The present invention provides a specific embodiment, specific as follows:
When CTU (p0, x, y) coding finishes, i.e. coding is completed in monitoring CTU (p0, x, y), and CTU (p0, x, y) is is monitored CTU, select CTU to be encoded, i.e. it may include CTU that selection is not encoded CTU dependent on CTU (p0, x, y) as shown in Figure 2 (p0, x+1, y), CTU (p0, x-1, y+1) and CTU (pa, x-2, y-2).
It checks whether CTU that each CTU to be encoded is relied on is fully completed the process of coding, is CTU with CTU to be encoded It is described in detail for (pa, x-2, y-2).
Determine that the CTU that CTU (pa, x-2, y-2) is relied on is CTU (pa, x-1, y-3), CTU (pa, x-3, y-2) and CTU (p0, x, y).Can successively judge whether all these three CTU relied on complete by coding, if these three CTU are fully completed CTU (pa, x-2, y-2) addition thread pool then is started to encode, can specifically be compiled by the thread in thread pool by coding Code, the idle thread that specifically can choose in thread pool encode CTU (pa, x-2, y-2).
The process of same CTU (pa, x-2, y-2) is carried out for CTU (p0, x+1, y), CTU (p0, x-1, y+1), checks CTU All the CTU that (p0, x+1, y) is relied on whether complete by coding, if CTU all coding completions that CTU (p0, x+1, y) is relied on, Then CTU (p0, x+1, y) addition thread pool is started to encode, specifically can choose idle thread in thread pool to CTU (p0, X+1, y) it is encoded.And check whether the CTU that CTU (p0, x-1, y+1) is relied on all encodes completion, if CTU (p0, x- 1, y+1) CTU relied on all complete by coding, then starts to encode by CTU (p0, x-1, y+1) addition thread pool, specifically may be used To select the idle thread in thread pool to encode CTU (p0, x-1, y+1).
Corresponding to method for video coding provided by the above embodiment, the embodiment of the invention also provides a kind of Video coding dresses It sets, as shown in figure 5, may include:
Selecting module 501, for selecting CTU to be encoded after the coding tree unit CTU for monitoring video completes coding; Wherein, CTU to be encoded are as follows: be not encoded CTU dependent on the CTU monitored;
Detection module 502, for checking whether the CTU that CTU to be encoded is relied on is fully completed coding;
Coding module 503, if for checking that the CTU that CTU to be encoded is relied on is fully completed coding, to CTU to be encoded It is encoded.
In the embodiment of the present invention, when monitoring has CTU to complete coding, selection is to be encoded dependent on monitored CTU's CTU, and when the CTU for checking that CTU to be encoded is relied on is fully completed coding, CTU to be encoded is encoded.It so, it is possible The wasting of resources is reduced, the utilization rate to resource is improved, to improve video coding efficiency.
Optionally, each CTU in video frame arranges in matrix form;
CTU to be encoded includes: the CTU of same a line next column positioned at the CTU monitored, positioned at the CTU monitored Next line previous column CTU.
Optionally, CTU to be encoded further include:
CTU in reference video frame;Reference video frame are as follows: the video frame dependent on the affiliated video frame of CTU monitored.
Optionally, each CTU in video frame arranges in matrix form;
The CTU that CTU to be encoded is relied on, comprising: positioned at the CTU of same a line previous column of CTU to be encoded, positioned to be encoded The CTU of the lastrow next column of CTU.
Optionally, the CTU that CTU to be encoded is relied on, further includes:
The CTU being referenced in video frame;It is referenced video frame are as follows: the video frame that the affiliated video frame of CTU to be encoded is relied on.
Optionally, coding module 503 are specifically used for the CTU to be encoded thread pool is added, by thread pool to be encoded CTU is encoded.
Video coding apparatus provided in an embodiment of the present invention is the device using above-mentioned method for video coding, then above-mentioned video All embodiments of coding method are suitable for the device, and can reach the same or similar beneficial effect.
The embodiment of the invention also provides a kind of electronic equipment, as shown in fig. 6, include processor 601, communication interface 602, Memory 603 and communication bus 604, wherein processor 601, communication interface 602, memory 603 are complete by communication bus 604 At mutual communication.
Memory 603, for storing computer program;
Processor 601 when for executing the program stored on memory 603, realizes video provided by the above embodiment Coding method.
In the embodiment of the present invention, when monitoring has CTU to complete coding, selection is to be encoded dependent on monitored CTU's CTU, and when the CTU for checking that CTU to be encoded is relied on is fully completed coding, CTU to be encoded is encoded.It so, it is possible The wasting of resources is reduced, the utilization rate to resource is improved, to improve video coding efficiency.
The communication bus that above-mentioned electronic equipment is mentioned can be Peripheral Component Interconnect standard (Peripheral Component Interconnect, PCI) bus or expanding the industrial standard structure (Extended Industry Standard Architecture, EISA) bus etc..The communication bus can be divided into address bus, data/address bus, control bus etc..For just It is only indicated with a thick line in expression, figure, it is not intended that an only bus or a type of bus.
Communication interface is for the communication between above-mentioned electronic equipment and other equipment.
Memory may include random access memory (Random Access Memory, RAM), also may include non-easy The property lost memory (Non-Volatile Memory, NVM), for example, at least a magnetic disk storage.Optionally, memory may be used also To be storage device that at least one is located remotely from aforementioned processor.
Above-mentioned processor can be general processor, including central processing unit (Central Processing Unit, CPU), network processing unit (Network Processor, NP) etc.;It can also be digital signal processor (Digital Signal Processing, DSP), it is specific integrated circuit (Application Specific Integrated Circuit, ASIC), existing It is field programmable gate array (Field-Programmable Gate Array, FPGA) or other programmable logic device, discrete Door or transistor logic, discrete hardware components.
In another embodiment provided by the invention, a kind of computer readable storage medium is additionally provided, which can It reads to be stored with instruction in storage medium, when run on a computer, so that computer executes view provided by the above embodiment Frequency coding method.
In the embodiment of the present invention, when monitoring has CTU to complete coding, selection is to be encoded dependent on monitored CTU's CTU, and when the CTU for checking that CTU to be encoded is relied on is fully completed coding, CTU to be encoded is encoded.It so, it is possible The wasting of resources is reduced, the utilization rate to resource is improved, to improve video coding efficiency.
In another embodiment provided by the invention, a kind of computer program product comprising instruction is additionally provided, when it When running on computers, so that computer executes method for video coding provided by the above embodiment.
In the embodiment of the present invention, when monitoring has CTU to complete coding, selection is to be encoded dependent on monitored CTU's CTU, and when the CTU for checking that CTU to be encoded is relied on is fully completed coding, CTU to be encoded is encoded.It so, it is possible The wasting of resources is reduced, the utilization rate to resource is improved, to improve video coding efficiency.
In the above-described embodiments, can come wholly or partly by software, hardware, firmware or any combination thereof real It is existing.When implemented in software, it can entirely or partly realize in the form of a computer program product.The computer program Product includes one or more computer instructions.When loading on computers and executing the computer program instructions, all or It partly generates according to process or function described in the embodiment of the present invention.The computer can be general purpose computer, dedicated meter Calculation machine, computer network or other programmable devices.The computer instruction can store in computer readable storage medium In, or from a computer readable storage medium to the transmission of another computer readable storage medium, for example, the computer Instruction can pass through wired (such as coaxial cable, optical fiber, number from a web-site, computer, server or data center User's line (DSL)) or wireless (such as infrared, wireless, microwave etc.) mode to another web-site, computer, server or Data center is transmitted.The computer readable storage medium can be any usable medium that computer can access or It is comprising data storage devices such as one or more usable mediums integrated server, data centers.The usable medium can be with It is magnetic medium, (for example, floppy disk, hard disk, tape), optical medium (for example, DVD) or semiconductor medium (such as solid state hard disk Solid State Disk (SSD)) etc..
It should be noted that, in this document, relational terms such as first and second and the like are used merely to a reality Body or operation are distinguished with another entity or operation, are deposited without necessarily requiring or implying between these entities or operation In any actual relationship or order or sequence.Moreover, the terms "include", "comprise" or its any other variant are intended to Non-exclusive inclusion, so that the process, method, article or equipment including a series of elements is not only wanted including those Element, but also including other elements that are not explicitly listed, or further include for this process, method, article or equipment Intrinsic element.In the absence of more restrictions, the element limited by sentence "including a ...", it is not excluded that There is also other identical elements in process, method, article or equipment including the element.
Each embodiment in this specification is all made of relevant mode and describes, same and similar portion between each embodiment Dividing may refer to each other, and each embodiment focuses on the differences from other embodiments.Especially for device, For electronic equipment, storage medium and program product embodiment, since it is substantially similar to the method embodiment, so description Fairly simple, the relevent part can refer to the partial explaination of embodiments of method.
The foregoing is merely illustrative of the preferred embodiments of the present invention, is not intended to limit the scope of the present invention.It is all Any modification, equivalent replacement, improvement and so within the spirit and principles in the present invention, are all contained in protection scope of the present invention It is interior.

Claims (14)

1. a kind of method for video coding characterized by comprising
After the coding tree unit CTU for monitoring video completes coding, CTU to be encoded is selected;Wherein, the CTU to be encoded are as follows: It is not encoded CTU dependent on the CTU monitored;
Whether the CTU for checking that the CTU to be encoded is relied on is fully completed coding;
If so, being encoded to the CTU to be encoded.
2. the method according to claim 1, wherein each CTU in the video frame arranges in matrix form;
The CTU to be encoded includes: the CTU of same a line next column positioned at the CTU monitored, positioned at the CTU monitored Next line previous column CTU.
3. the method according to claim 1, wherein the CTU to be encoded further include:
CTU in reference video frame;The reference video frame are as follows: the video frame dependent on the affiliated video frame of CTU monitored.
4. the method according to claim 1, wherein each CTU in the video frame arranges in matrix form;
The CTU that the CTU to be encoded is relied on, comprising: positioned at the CTU of same a line previous column of CTU to be encoded, positioned to be encoded The CTU of the lastrow next column of CTU.
5. the method according to claim 1, wherein the CTU that the CTU to be encoded is relied on, further includes:
The CTU being referenced in video frame;It is described to be referenced video frame are as follows: the view that the affiliated video frame of CTU to be encoded is relied on Frequency frame.
6. method according to any one of claims 1 to 5, which is characterized in that described to be compiled to the CTU to be encoded Code, comprising:
Thread pool is added in the CTU to be encoded;
Select the idle thread in the thread pool;
The CTU to be encoded is encoded by the idle thread.
7. a kind of video coding apparatus characterized by comprising
Selecting module, for selecting CTU to be encoded after the coding tree unit CTU for monitoring video completes coding;Wherein, institute State CTU to be encoded are as follows: be not encoded CTU dependent on the CTU monitored;
Whether detection module, the CTU for checking that the CTU to be encoded is relied on are fully completed coding;
Coding module, if the CTU for checking that the CTU to be encoded is relied on is fully completed coding, to the CTU to be encoded It is encoded.
8. device according to claim 7, which is characterized in that each CTU in the video frame arranges in matrix form;
The CTU to be encoded includes: the CTU of same a line next column positioned at the CTU monitored, positioned at the CTU monitored Next line previous column CTU.
9. device according to claim 7, which is characterized in that the CTU to be encoded further include:
CTU in reference video frame;The reference video frame are as follows: the video frame dependent on the affiliated video frame of CTU monitored.
10. device according to claim 7, which is characterized in that each CTU in the video frame arranges in matrix form;
The CTU that the CTU to be encoded is relied on, comprising: positioned at the CTU of same a line previous column of CTU to be encoded, positioned to be encoded The CTU of the lastrow next column of CTU.
11. device according to claim 7, which is characterized in that the CTU that the CTU to be encoded is relied on, further includes:
The CTU being referenced in video frame;It is described to be referenced video frame are as follows: the view that the affiliated video frame of CTU to be encoded is relied on Frequency frame.
12. according to the described in any item devices of claim 7 to 11, which is characterized in that the coding module is specifically used for institute It states CTU to be encoded and thread pool is added;Select the idle thread in the thread pool;By the idle thread to described to be encoded CTU is encoded.
13. a kind of electronic equipment, which is characterized in that including processor, communication interface, memory and communication bus, wherein described Processor, the communication interface, the memory complete mutual communication by the communication bus;
The memory, for storing computer program;
The processor when for executing the program stored on memory, realizes any method step of claim 1-6 Suddenly.
14. a kind of computer readable storage medium, which is characterized in that when the instruction in the storage medium is by electronic equipment When managing device execution, so that electronic equipment is able to carry out a kind of method for video coding, the side as described in claim 1-6 is any is realized Method step.
CN201910680931.3A 2019-07-26 2019-07-26 Video coding method and device, electronic equipment and storage medium Active CN110418145B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910680931.3A CN110418145B (en) 2019-07-26 2019-07-26 Video coding method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910680931.3A CN110418145B (en) 2019-07-26 2019-07-26 Video coding method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN110418145A true CN110418145A (en) 2019-11-05
CN110418145B CN110418145B (en) 2022-04-22

Family

ID=68363376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910680931.3A Active CN110418145B (en) 2019-07-26 2019-07-26 Video coding method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN110418145B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105992008A (en) * 2016-03-30 2016-10-05 南京邮电大学 Multilevel multitask parallel decoding algorithm on multicore processor platform
US20180084284A1 (en) * 2016-09-22 2018-03-22 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
CN108449603A (en) * 2018-03-22 2018-08-24 南京邮电大学 Based on the multi-level task level of multi-core platform and the parallel HEVC coding/decoding methods of data level
CN108540797A (en) * 2018-03-23 2018-09-14 南京邮电大学 HEVC based on multi-core platform combines WPP coding methods within the frame/frames

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105992008A (en) * 2016-03-30 2016-10-05 南京邮电大学 Multilevel multitask parallel decoding algorithm on multicore processor platform
US20180084284A1 (en) * 2016-09-22 2018-03-22 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
CN108449603A (en) * 2018-03-22 2018-08-24 南京邮电大学 Based on the multi-level task level of multi-core platform and the parallel HEVC coding/decoding methods of data level
CN108540797A (en) * 2018-03-23 2018-09-14 南京邮电大学 HEVC based on multi-core platform combines WPP coding methods within the frame/frames

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHENANLIN: ""Efficient arbitrary ratio downscale transcoding for HEVC"", 《2016 VISUAL COMMUNICATIONS AND IMAGE PROCESSING (VCIP)》 *

Also Published As

Publication number Publication date
CN110418145B (en) 2022-04-22

Similar Documents

Publication Publication Date Title
CN108595157B (en) Block chain data processing method, device, equipment and storage medium
CN103049373B (en) A kind of localization method of collapse and device
CN111897724A (en) Automatic testing method and device suitable for cloud platform
CN112130923A (en) Container management method and device, electronic equipment and computer-readable storage medium
CN103345439A (en) Method and device for monitoring health states of full links in information system
CN107679423A (en) Partition integrity inspection method and device
CN113191114B (en) Method and apparatus for validating a system
CN113468009B (en) Pressure testing method and device, electronic equipment and storage medium
CN110069217A (en) A kind of date storage method and device
CN106502887A (en) A kind of stability test method, test controller and system
CN112487265B (en) Data processing method and device, computer storage medium and electronic equipment
CN103902419A (en) Method and device for testing caches
CN110418145A (en) A kind of method for video coding, device, electronic equipment and storage medium
CN112363883A (en) CPU pressure testing method and device
CN103176941B (en) Communication method between cores and agent apparatus
CN116136950B (en) Chip verification method, device, system, electronic equipment and storage medium
CN102541705B (en) Testing method for computer and tooling plate
CN106961490A (en) A kind of resource monitoring method and system, a kind of home server
CN116702668A (en) Regression testing method and device, electronic equipment and storage medium
CN106250309A (en) A kind of memory pressure change method of testing and device
CN102841836B (en) Testing method and programmable processor
CN114327981A (en) Safety verification system, method and device of function safety mechanism
CN106991024A (en) The detection method and system of a kind of hard disk backboard
CN115389911B (en) Chip scheduler fault judgment method and device, electronic equipment and storage medium
CN112673354B (en) System state detection method, system state device and terminal equipment

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