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 PDFInfo
- 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
Links
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/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
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/90—Methods 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/96—Tree 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
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.
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)
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 |
-
2019
- 2019-07-26 CN CN201910680931.3A patent/CN110418145B/en active Active
Patent Citations (4)
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)
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 |