KR101083399B1 - Fast mode-decision encoding for interframes - Google Patents

Fast mode-decision encoding for interframes Download PDF

Info

Publication number
KR101083399B1
KR101083399B1 KR1020057024749A KR20057024749A KR101083399B1 KR 101083399 B1 KR101083399 B1 KR 101083399B1 KR 1020057024749 A KR1020057024749 A KR 1020057024749A KR 20057024749 A KR20057024749 A KR 20057024749A KR 101083399 B1 KR101083399 B1 KR 101083399B1
Authority
KR
South Korea
Prior art keywords
mode
macroblock
check
delete delete
intra
Prior art date
Application number
KR1020057024749A
Other languages
Korean (ko)
Other versions
KR20060027813A (en
Inventor
펑 인
아렉산드로스 미카엘 투라피스
질 맥도날드 보이스
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20060027813A publication Critical patent/KR20060027813A/en
Application granted granted Critical
Publication of KR101083399B1 publication Critical patent/KR101083399B1/en

Links

Images

Abstract

A video encoder 100 and a corresponding method 400, 500 for selecting a mode of a current macroblock of an inter coded frame, comprising: checking a first mode for a subset of macroblock modes and Selectively checking another mode in response to the motion vector information of the first mode, and selecting a mode for the current macroblock in response to the checked mode; Checking a macroblock mode of at least one adjacent macroblock, and selecting a mode for the current macroblock in response to the macroblock mode of the at least one checked adjacent macroblock; Checking the cost of the subset of macroblock modes, further checking only the intra coded mode if this checked cost meets a preset criterion, and selecting a mode for the current macroblock in response to the checked mode Wow; Adjust the early-stopping threshold in response to the checked macroblock mode, and select the mode for the current macroblock in response to the checked macroblock mode if this adjusted early stop threshold is met. A video encoder and its corresponding method are provided, comprising one or more of the steps.

Description

FAST MODE-DECISION ENCODING FOR INTERFRAMES}

This application is incorporated by reference in U.S. Patent Application No. 25, 2003 entitled "METHOD AND APPARATUS FOR FAST MODE DECISION FOR INTERFRAMES," the contents of which are hereby incorporated by reference in their entirety. Claim the benefit of Provisional Patent Application Serial No. 60 / 482,331 (Overseas Agent Control Number PU030164).

The present invention relates to video encoders and decoders, and more particularly to encoders for making inter frame mode determination.

In the JVT video compression standard, both inter and intra coding can be used between inter frames. The encoder needs to make a mode decision for each macroblock in consideration of coding efficiency and subjective quality. Inter mode determination is related to motion estimation, various block sizes, and selection of a plurality of reference pictures. Intra-mode determination involves the selection of various block types and a plurality of spatial predictions. Thus, mode determination for inter frames places a heavy burden on the encoder. Therefore, there is a need for a new structure that can reduce encoding decision complexity while maintaining coding efficiency.

These and other disadvantages of the prior art are solved by an apparatus and method for fast mode decision encoding between inter frames.

A video encoder and a corresponding method for selecting a mode of a current macroblock of an inter coded frame, the method comprising: checking a first mode for a subset of macroblock modes and responding to motion vector information of the checked first mode Selectively checking another mode, and selecting a mode for the current macroblock in response to the checked mode; Checking a macroblock mode of at least one adjacent macroblock, and selecting a mode for the current macroblock in response to the macroblock mode of the at least one checked adjacent macroblock; Checking the cost of the subset of macroblock modes, further checking only the intra coded mode if this checked cost meets a preset criterion, and selecting a mode for the current macroblock in response to the checked mode Wow; Adjust the early-stopping threshold in response to the checked macroblock mode, and select the mode for the current macroblock in response to the checked macroblock mode if this adjusted early stop threshold is met. A video encoder and its corresponding method are provided, comprising one or more of the steps.

These and other aspects, features, and advantages of the present invention will become more apparent from the following detailed description of exemplary embodiments to be read in conjunction with the accompanying drawings.

The invention will be better understood with reference to the following exemplary drawings.

1 is a block diagram of a video encoder for fast mode decision encoding in accordance with an embodiment of the present invention.

2 is a block diagram of a video decoder.

3 is a flow diagram for an exemplary motion vector encoding determination process in accordance with an embodiment of the present invention.

4 is a flow diagram for an exemplary mixed inter and intra encoding determination process in accordance with an embodiment of the present invention.

Inter and intra coding methods are used to encode interframes according to video compression standards, respectively. In general, the encoder makes inter or intra coding decisions for each macroblock in consideration of coding efficiency and subjective quality. In the JVT video compression standard, inter coding consists of several blocks of 16x16 macroblocks (especially 16x16, 16x8, 8x16, 8x8, and 8x8, 8x4, 4x8, 4x4 for one 8x8 sub macroblock). Not only allow division, but also a plurality of reference images. Furthermore, JVT also supports skip mode and intra mode. Intra modes include two types: INTRA 4x4 and INTRA 16x16, where INTRA 4x4 supports nine modes and INTRA 16x16 supports four modes. Both of these options make the mode decision very complicated. Embodiments of the present invention simplify mode determination by reducing the number of potential candidate modes that need to be investigated.

Both inter coding and intra coding are used between inter frames (P and B frames) of JVT (also known as H.264 and MPEG AVC). Each individual macroblock is coded as intra using only spatial correlation or as inter using coded temporal correlation from a previously coded frame. In general, the encoder makes inter / intra coding decisions for each macroblock in consideration of coding efficiency and subjective quality. Inter coding is generally used for macroblocks that are well predicted from previous pictures, and intra coding is generally used for macroblocks that are not well predicted from previous pictures or macroblocks having low spatial activity.

The JVT standard uses hierarchical macroblock partitions with a tree structure. An inter coded 16x16 pixel macroblock may be divided into macroblock segments of size 16x8, 8x16, or 8x8 pixels. The macroblock segment of 8x8 pixels is also known as a sub-macroblock. The sub macroblock may be further divided into sub macroblock sections of sizes 8x4, 4x8, and 4x4 pixels. The encoder can choose how to divide the macroblock into partitions and sub-macroblock partitions based on the characteristics of the particular macroblock to maximize compression efficiency and subjective quality.

The plurality of reference pictures may be used for inter prediction with a coded reference picture index to indicate which reference picture of the plurality of reference pictures is used. In a P picture (or P slice), only one direction prediction is used, and an acceptable reference picture is managed in list 0. Two lists of reference images, namely, list 0 and list 1, are managed in the B picture (or B slice). For B pictures (or B slices), unidirectional prediction is allowed using either List 0 or List 1, and bidirectional prediction is allowed using both List 0 and List 1. When bi-prediction is used, the predictors in list 0 and list 1 are averaged together to form the final predictor.

Each macroblock partition may have an independent reference picture index, a prediction type (list 0, list 1, bidirectional prediction) and an independent motion vector. Each submacroblock partition may have independent motion vectors, but all submacroblock partitions in the same submacroblock use the same reference picture index and prediction type.

For inter coded macroblocks, P frames also support SKIP mode, while B frames support both SKIP mode and DIRECT mode. In the SKIP mode, motion and residual information is not encoded. The motion information for the SKIP macroblock is the same as the motion vector predictor specified by the picture / slice type (P or B) and other information such as sequence and slice level parameters. Motion information is also related to the location of other macroblocks and their own macroblocks within this slice that are temporally or spatially adjacent. On the other hand, in the DIRECT mode, the motion information is not encoded, but the prediction residual part is encoded. Both macroblocks and sub-macroblocks support the DIRECT mode.

For intra coded macroblocks, two block types are supported, 4x4 and 16x16. INTRA 4x4 has nine prediction modes: vertical prediction, horizontal prediction, DC prediction, diagonal down-left prediction, diagonal down-right prediction, vertical left prediction, horizontal down prediction, vertical right Prediction, and horizontal up prediction. INTRA 16x16 supports four prediction modes: vertical prediction, horizontal prediction, DC prediction, and plane prediction.

For mode determination, the inter picture needs to support both inter mode and intra mode. Intra modes include INTRA 4x4 and INTRA 16x16. For P pictures, the inter mode includes SKIP and 16x16, 16x8, 8x16 and sub macroblock 8x8 partitions. 8x8 further supports 8x8, 8x4, 4x8, and 4x4 partitions. For B pictures, considerations of both List 0 and List 1 and the DIRECT mode are also considered for both macroblocks and submacroblocks.

In JVT reference software, a rate-distortion optimization (RDO) structure is used for mode determination. Motion estimation in inter mode is considered separately from mode determination. After motion estimation is first performed for all block types of the inter mode, the mode decision is made by comparing the cost of each inter mode and intra mode. The mode with the lowest cost is selected as the best mode.

The procedure for encoding one macroblock ( s ) in a P picture or B picture is summarized as follows: Last decoded picture, Lagrangian multiplier λ MODE , λ MOTION and macroblock quantizer ( QP ) Is given,

Step 1: Perform motion estimation and selection of the reference picture by minimizing the following equation 1 for the motion vector and each reference picture in the possible macroblock mode:

[Equation 1]

Figure 112005075699724-pct00001

In Equation 1 above, s is an original video signal, c is a coded video signal, m is a current motion vector under consideration, REF represents a reference picture, p is a motion vector used for prediction during motion vector coding, R ( m - p ) represents the bits used for the coding motion vector, and R (REF) is the bits for coding the reference picture. SA (T) D is a sum of absolute (transformed) differences between the reference signal predicted by the motion vector and the original signal.

Step 2: By When changing the MODE using the given QP and λ MODE minimizes the following equation (2) to select a macroblock prediction mode:

[Equation 2]

Figure 112005075699724-pct00002

The SSD represents the sum of square differences between the original signal and the reconstructed signal. R (s, c, MODE) is the number of bits associated with the selection of MODE , including the macroblock header, motion and bits for all DCT coefficients. MODE represents one of the following set of potential macroblock modes:

Figure 112005075699724-pct00003

INTRA 4x4 has the following modes

Figure 112005075699724-pct00004

Including;

INTRA 16x16 includes the following modes: MODE ∈ { vertical, horizontal, DC, plane }.

This detailed description illustrates the principles of the invention. Thus, one of ordinary skill in the art, although not explicitly described or shown herein, may embody the principles of the present invention and devise various arrangements that fall within the spirit and scope of the present invention. I can understand.

All examples and conditional language mentioned in this specification are intended for teaching purposes only to help the reader understand the principles and concepts of the present invention that have contributed to the inventor's advancement of the prior art. It should not be construed as limited to the terms and conditions.

Furthermore, all statements in this specification listing the principles, aspects, and embodiments of the present invention as well as the specific examples of the present invention are intended to include equivalents in the structure and function of the present invention. In addition, such equivalents are intended to include not only currently known equivalents, but also future developed equivalents, ie, any element developed to perform the same function regardless of structure.

Thus, for example, those skilled in the art will understand that the block diagrams presented herein represent conceptual diagrams of exemplary circuitry for implementing the principles of the present invention. Similarly, any flow chart, flowchart, state transition diagram, pseudocode, etc. may be provided on a substantially computer readable medium, whether or not the computer or processor is explicitly shown. It will be understood that I represent several processes that can be executed by a processor.

The functions of the various elements shown in this figure may be provided using dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, this functionality may be provided by one dedicated processor, one shared processor, or a plurality of individual processors that may share some. Furthermore, the explicit use of the term "processor" or "controller" shall not be construed as exclusively referring to hardware capable of executing software, which is implicitly referred to as digital signal processor ("DSP") hardware. Read-only memory ("ROM"), random access memory ("RAM"), and non-volatile storage means for storing software.

Other hardware, conventional and / or custom hardware may also be included. Similarly, any switch shown in this figure is merely conceptual. The function can be performed through the operation of a program logic circuit, through dedicated logic circuits, through the interaction of program control and dedicated logic circuits, or even manually, and certain techniques are understood in greater detail from that context. It may be selected according to the implementer.

In the claims of the present invention, any element represented as a means for performing a particular function is, for example, a) a combination of circuit elements that perform the function or b) executing software for performing the function. It is intended to include any way of performing a particular function, including any form of software including firmware, microcode, etc., combined with appropriate circuitry. The invention as defined by the claims resides in the fact that the functions provided by the various mentioned means are combined and connected in a manner required by the claims. Applicant thus regards any means that can provide such functionality as equivalent to that shown herein.

As shown in FIG. 1, the video encoder is indicated generally by the reference numeral 100. An input to the encoder 100 is connected in signal communication with a non-inverting input of a summing junction 110. The output of the summing point 110 is connected to the block converter 120 so as to be capable of signal transmission. The block converter 120 is connected in signal communication with the quantizer 130. An output of the quantizer 130 is connected in signal communication with a variable length coder ("VLC") 140, which is an externally available output of the encoder 100.

An output of the quantizer 130 is further connected to the inverse quantizer 150 so as to be capable of signal transmission. The inverse quantizer 150 is signal communicatively coupled with the block inverse transformer 160, and the inverse block transformer 160 is signal communicatively coupled with the reference image storage means 170. A first output of the reference picture storage means 170 is connected in signal communication with a first input of the motion estimator 180. An input to the encoder 100 is further coupled to be capable of signaling a second input of this motion estimator 180. An output of this motion estimator 180 is connected in signal communication with a first input of a motion compensator 190. A second output of the reference picture storage means 170 is connected in signal communication with a second input of the motion compensator 190. An output of the motion compensator 190 is connected in signal transmission with an inverting input of the summing point 110.

2, a video decoder is generally indicated at 200. Video decoder 200 includes a variable length decoder (“VLD”) 210 that is communicatively coupled with inverse quantizer 220. Inverse quantizer is coupled to inverse transform function 230. This inverse transform function is connected in signal communication with a first input terminal of an adder or summing point 240, the output of which adds an output of the video decoder 200. The output of the summing point 240 is connected to the reference image storage means 250 so as to be capable of signal transmission. The reference image storing means 250 is connected to the motion compensator 260 in a signal transmission manner, and the motion compensator 260 is communicatively connected to a second input terminal of the sum point 240.

As shown in FIG. 3, an exemplary process for motion vector decision encoding for a macroblock in a P picture is indicated generally at 400. Similar processes can be applied to B pictures. This process includes a start block 410 that transfers control to a function block 420. The function block 420 checks the SKIP and 16x16 modes and passes control to a decision block 422. The decision block 422 determines whether the function J as in equation 2 of the SKIP mode is less than the function J of the 16x16 mode and whether the 16x16 mode does not have a residual. Forward to function block 426. If this condition holds, control passes to decision block 424. The decision block 424 checks whether the SKIP mode has the same motion information as the 16x16 mode, and passes control to the function block 426 if not. If yes, block 424 transfers control to the preceding functional block 438 to skip checking of other inter modes.

Function block 426 performs an 8x8 mode check and passes control to decision block 428, which determines if the 8x8 mode has the same motion information as the 16x16 mode, and if so, controls Is passed to the function block 432. If not, this block 428 transfers control to the function block 430 which checks 16x8 and 8x16 modes and passes control to the function block 432. In turn, function block 432 checks the 4x4 mode and passes control to decision block 434. The decision block 434 determines whether the 4x4 mode has the same motion information as the 8x8 mode, and if so passes control to the function block 438. If not, function block 434 transfers control to function block 436, which checks 8x4 and 4x8 modes and passes control to function block 438. Function block 438 checks the intra mode and passes control to function block 440, which selects the best mode. The function block 440 transfers control to the final block 450.

Referring to FIG. 4, an exemplary process for mixed inter and intra decision encoding for a macroblock is indicated generally at 500. This process includes a start block 510 that passes control to a function block 520. This function block 520 checks the SKIP and 16x16 modes and passes control to decision block 560. This decision block checks whether the minimum value MC2 is greater than the threshold T1 between the function J evaluated for the SKIP mode and the function J evaluated for the 16x16 mode. If so, then control is passed to a preceding functional block 570, if not, control is passed to a decision block 562.

Block 562 checks from block 560 if value MC2 is greater than threshold T2 for comparison. If not, block 562 transfers control to the preceding functional block 568, but if so block 562 transfers control to the functional block 564. This function block 564 checks the intra 4x4 DC mode and passes control to a decision block 566. Decision block 566 determines whether function J evaluated for intra 4x4 DC mode is smaller than multiplying value MC2 by a value b plus value b, otherwise control passes to function block 568. , But if so, then control is passed to a function block 570. The function block 568 checks for another inter mode and passes control to a function block 570. Function block 570 in turn checks the other intra modes and passes control to function block 572, which selects the best mode and passes control to final block 580.

Thus, in a preferred embodiment of the present invention, a new algorithm is provided that can reduce the complexity of mode determination for inter frames by reducing the number of potential modes. This mode is divided into two categories, inter mode and intra mode, where inter mode is different from the SKIP (and DIRECT for B pictures) mode and other block types (especially 16x16, 16x8, 8x16, 8x8, 8x4, 4x8, 4x4), and the intra mode includes INTRA 4x4 and INTRA 16x16. P picture is used for detailed description. The same concept can be extended to B pictures. For the B picture, in the algorithm of such an exemplary embodiment, the SKIP mode and the DIRECT mode are processed in the same way and in the sub macroblock partition the DIRECT mode is also considered to select the best mode for the sub macroblock.

The examples provide four technical categories that can be applied jointly or independently:

One category is for motion vector decisions. In this category, we will first check the quadratic mode, ie SKIP, 16x16, 8x8, 4x4. That is, the "square mode" is a specific subset of the modes to be checked, which square mode is four modes, SKIP, 16x16, 8x8, 4x4. Whether to check for other non-square modes is based on the motion vector information (including the motion itself, the motion vector predictor and the criteria) of this square mode. The determination of this category is based on the assumption that it is more effective to choose the largest block size that contains one object than the smaller block size that divides one object. We first write as SKIP and, and check the 16x16 mode, and if J (SKIP) <J (16x16 ) {, we function (J) for J (MODE) as in the equation (2) evaluated for MODE for simplicity }, And if 16x16 has no residual, we check whether SKIP has the same motion vector information as 16x16. If so, SKIP is selected and there is no need to check another inter mode. If not, we check 16x16 and 8x8. If they have the same motion vector information, i.e. if four 8x8 motion vectors have the same information as one 16x16, we will not check 16x8, 8x16, otherwise we will use the formulas for 16x8 and 8x16 respectively. As described above in 1, the selection of the motion vector and the reference will be performed first. If 16x8 has the same motion information as 16x16, RDO calculation is not required because J (16x8) is considered to be larger than J (16x16).

Also, although not necessarily necessary, one can consider the motion vector predictor within such a decision, since J (16x16) may be smaller if the motion vector predictor is the same. The same procedure can be done for 8x16. After that we check 4x4. For each sub-partition in the 8x8 block, if each of the four 4x4 block motion vectors has the same value as the 8x8 block, there is no need to check 4x8 and 8x4. Otherwise, we will first perform the selection of motion vectors and criteria for 4x8 and 8x4 respectively. If two 8x4 blocks have the same motion value as the 8x8 block, then J (8x4) is considered larger than J (8x8), so no RDO calculation is required. The same procedure can be done for 4x8. 3 shows an example for motion vector determination. This process can also be performed immediately after integer motion prediction. If the integer motion vectors of the previously mentioned modes are the same, we can also completely avoid performing the subpixel improvement, thus reducing the complexity even further.

Another category is for neighborhood decisions. H.264 uses a block coding scheme and its objects often tend to cross block boundaries. In this category, we can use neighboring information to make the mode decision faster.

If the mode of the upper macroblock is 16x16 and the mode of the left macroblock is 16x8, it is likely that the mode of the current macroblock is 16x8. This may be further improved if necessary by considering the mode of another adjacent macroblock, such as in the upper right, or even the co-located macroblock in the previous or reference picture. In this case, only SKIP, 16x16, and 16x8 need to be checked, while other inter modes can be completely ignored. Similar considerations need to be made for 8x16, in particular only SKIP, 16x16, and 8x16 need to be checked if the mode of the left macroblock is 16x16 and the mode of the upper macroblock is 8x16. This same criterion may be used for sub macroblock mode determination. That is, when the mode of the upper 8x8 block is 8x8 and the mode on the left is 8x4, only 8x4 needs to be checked; If the mode of the upper 8x8 is 4x8 and the mode on the left is 8x8, only 4x8 needs to be checked. If the mode of the upper macroblock and the left macroblock is an intra mode, only SKIP, 16x16, and intra mode need to be checked.

Relatively similar decisions may also be applied using temporally contiguous macroblocks (ie co-located macroblocks). In particular, after investigating a particular mode (i.e. 16x16), if the best mode and its associated motion information are the same as those of the temporally contiguous macroblock, we will terminate the mode decision immediately and avoid investigating any other mode. Can be. This process can be further enhanced through consideration of related distortions (eg, of co-located or linear / nonlinear combinations of macroblock distortions in which the distortions of the current macroblocks are different temporally and / or even spatially adjacent. If smaller, the probability that termination is correct is much higher).

Another category is for mixed inter and intra mode decisions. In general, all inter modes are checked before intra mode. In this category, we introduce a technique to mix the check order of inter mode and intra mode. Two thresholds T1 and T2, where T1> T2, are set. We check SKIP and 16x16 first. If these two minimum costs, denoted as MC2, are greater than T1, we keep checking the intra mode and the other inter mode is not checked. If MC2 is greater than T2, we first check the INTRA 4x4 DC mode. If the cost is smaller than axMC2 + b (where a and b can be given as weight / offset parameters), only intra mode is checked, otherwise both inter mode and intra mode are checked. 4 shows an example for mixed inter-intra mode determination.

An additional category is for early stopping decisions. In a preferred embodiment of the present invention instead of checking all possible modes, we use early stopping criteria to make fast mode decisions. These stop criteria are based on an adaptive threshold adjustment mechanism. If one threshold is met for one particular mode, we stop checking the other left mode. An example of a method of selecting a threshold T for one mode T (mode) is described in the present invention by Equation 4. In Equation 4, α (mode) and β (mode) are scalars for one mode. COST may be J, SAD, or SSD in Equations 1 and 2. COST i represents the cost for the i th contiguous block.

[Equation 4]

Figure 112005075699724-pct00005

here

Figure 112005075699724-pct00006

These and other features and advantages of the present invention will be readily apparent to those of ordinary skill in the art based on the teachings herein. It will be appreciated that the principles of the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or a combination thereof.

More preferably, the principles of the present invention are implemented in a combination of hardware and software. Furthermore, the software is preferably implemented as an application program tangibly embodied in a program storage device. This application can be uploaded to and executed by a machine containing any suitable structure. Preferably, the machine is implemented on a computer platform having hardware such as one or more central processing units ("CPUs"), random access memory ("RAM"), and input / output ("I / O") interfaces. do. The computer platform may also include an operating system and microinstruction code. The various processes and functions described herein may be part of microinstruction code or part of an application program or any combination thereof, which may be executed by a CPU. Further, various other peripheral devices such as additional data storage devices and print devices may be connected to the computer platform.

Since some of the components and methods of the configuration system shown in the accompanying drawings are preferably implemented in software, it is further understood that the actual connection between the components of the system or the functional blocks of the process may vary depending on how the invention is programmed. Could be. In accordance with the teachings herein, one of ordinary skill in the pertinent art will be able to contemplate these or similar implementations or configurations of the present invention.

Although exemplary embodiments have been described herein with reference to the accompanying drawings, the invention is not limited to these specific precise embodiments, and various changes and modifications will be apparent to those skilled in the art without departing from the scope or spirit of the invention. It can be understood that it can be done by those who have knowledge of God. All such changes and modifications are intended to be included within the scope of the present invention as set forth in the appended claims.

As mentioned above, the present invention is available for determining inter-frame mode at an encoder.

Claims (37)

A video encoding method for selecting a mode of a current macroblock of an inter-coded frame in H.264 / MPEG AVC video encoding, wherein the mode of the macroblock is, for P frame and B frame,
Figure 112011016726233-pct00011
In mode, and INTRA 4x4 mode
Figure 112011016726233-pct00012
In mode, The INTRA 16x16 mode includes a mode of MODE ∈ { vertical, horizontal, DC, plane }, wherein the video encoding method includes: For a SKIP mode and a 16x16 mode with a given quantization parameter QP, checking if the value of the function J for the SKIP mode is less than the value of the function J for the 16x16 mode and the 16x16 mode has no residuals (420). (422), the function J is the sum of square differences between the original signal and the reconstructed signal, and the Lagrangian multiplier λ MODE is set to the macroblock header, motion, and bits for all DCT coefficients. A check step (420, 422) comprising a summation of a result value multiplied by the number R of bits required in connection with the current mode; If the result of the check step is FALSE, proceed to check 426 of 8x8 mode; if the result of the check step is TRUE, whether the SKIP mode has the same motion information as the 16x16 mode; Check (424), If it is not the same, proceed to check 426 of the 8x8 mode, If so, proceed to check 438 of intra mode, A first progression step; A first determining step 426 of checking the 8x8 mode and determining whether the 8x8 mode has the same motion information as the 16x16 mode; If the result of the first decision step is true, proceed to check 432 in 4x4 mode; if the result of the first decision step is false, check 16x8 and 8x16 modes (430), and 16x8 and 8x16 modes. If the mode has the same motion information as the 16x16 mode, proceeding to check 432 of the 4x4 mode; A second determination step of checking (432) the 4x4 mode and determining (434) whether the 4x4 mode has the same motion information as the 8x8 mode; And If the result of the second decision step is true, proceed to check 438 of the intra mode; if the result of the second decision step is false, check 436 and 8x4 and 4x8 modes; If the mode has the same motion information as the 8x8 mode, then proceeding to check 438 of the intra mode; Each macroblock mode has a coding cost threshold, and selects (440) the current checked mode for the current macroblock if it satisfies a corresponding threshold regarding the coding cost of the currently checked mode. To stop checking for unchecked modes, Video encoding method.
The method of claim 1, wherein the coding cost threshold value T (mode),
Figure 112011016726233-pct00013
,
Figure 112011016726233-pct00019
,
Where α (mode) and β (mode) are scalar values for one mode, and COST i is the coding cost for the i th adjacent block, Video encoding method.
The method of claim 1, used to determine a mode in which spatially or temporally adjacent macroblock and block partition information need to be checked. Video encoding method. The method of claim 1, wherein the process for selecting a mode is terminated when a spatially or temporally adjacent macroblock has a constant association with motion information of a current macroblock after examining a particular mode. Video encoding method. delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete delete A digital video disc encoded with signal data comprising macroblocks of inter-coded frames in H.264 / MPEG AVC video encoding. The mode of the macroblock is P frame and B frame.
Figure 112011016726233-pct00015
In mode, and INTRA 4x4 mode
Figure 112011016726233-pct00016
In mode, The INTRA 16x16 mode includes a mode of MODE ∈ { vertical, horizontal, DC, plane }, wherein the macroblock includes: For a SKIP mode and a 16x16 mode with a given quantization parameter QP, checking if the value of the function J for the SKIP mode is less than the value of the function J for the 16x16 mode and the 16x16 mode has no residuals (420). (422), the function J is the sum of square differences between the original signal and the reconstructed signal, and the Lagrangian multiplier λ MODE is set to the macroblock header, motion, and bits for all DCT coefficients. A check step (420, 422) comprising a summation of a result value multiplied by the number R of bits required in connection with the current mode; If the result of the check step is FALSE, proceed to check 426 of 8x8 mode; if the result of the check step is TRUE, whether the SKIP mode has the same motion information as the 16x16 mode; Check (424), If it is not the same, proceed to check 426 of the 8x8 mode, If so, proceed to check 438 of intra mode, A first progression step; A first determining step 426 of checking the 8x8 mode and determining whether the 8x8 mode has the same motion information as the 16x16 mode; If the result of the first decision step is true, proceed to check 432 in 4x4 mode; if the result of the first decision step is false, check 16x8 and 8x16 modes (430), and 16x8 and 8x16 If the mode has the same motion information as the 16x16 mode, proceeding to check 432 of the 4x4 mode; A second determination step of checking (432) the 4x4 mode and determining (434) whether the 4x4 mode has the same motion information as the 8x8 mode; And If the result of the second decision step is true, proceed to check 438 of the intra mode; if the result of the second decision step is false, check 436 and 8x4 and 4x8 modes; If the mode has the same motion information as the 8x8 mode, then proceed to check 438 of the intra mode; Each macroblock mode has a coding cost threshold and selects (440) the current checked mode for the current macroblock if it satisfies the corresponding threshold for the coding cost of the currently checked mode. To stop checking for unchecked modes, Selected by the macroblock selection method, Digital video disc.
The method of claim 25, wherein the coding cost threshold T (mode) is
Figure 112011016726233-pct00017
,
Figure 112011016726233-pct00020
,
Where α (mode) and β (mode) are scalar values for one mode, and COST i is the coding cost for the i th adjacent block, Digital video disc.
26. The method of claim 25, used to determine a mode in which spatially or temporally adjacent macroblock and block partition information need to be checked. Digital video disc. 27. The method of claim 25, wherein the process for selecting a mode ends when a spatially or temporally adjacent macroblock has a constant association with motion information of the current macroblock after examining a particular mode. Digital video disc. delete delete delete delete delete delete delete delete delete
KR1020057024749A 2003-06-25 2004-06-17 Fast mode-decision encoding for interframes KR101083399B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48233103P 2003-06-25 2003-06-25
US60/482,331 2003-06-25

Publications (2)

Publication Number Publication Date
KR20060027813A KR20060027813A (en) 2006-03-28
KR101083399B1 true KR101083399B1 (en) 2011-11-14

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020196854A1 (en) 2001-06-15 2002-12-26 Jongil Kim Fast video encoder using adaptive hierarchical video processing in a down-sampled domain
US20030099292A1 (en) 2001-11-27 2003-05-29 Limin Wang Macroblock level adaptive frame/field coding for digital video content
US20030161402A1 (en) 2001-12-21 2003-08-28 Michael Horowitz Motion wake identification and control mechanism

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020196854A1 (en) 2001-06-15 2002-12-26 Jongil Kim Fast video encoder using adaptive hierarchical video processing in a down-sampled domain
US20030099292A1 (en) 2001-11-27 2003-05-29 Limin Wang Macroblock level adaptive frame/field coding for digital video content
US20030161402A1 (en) 2001-12-21 2003-08-28 Michael Horowitz Motion wake identification and control mechanism

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Bojun Meng, Oscar C. Au, "Fast Intra-Prediction Mode Selection for 4*4 Blocks in H.264", ICASSP 2003, April 6, 2003, vol.3, pages 389-392

Similar Documents

Publication Publication Date Title
US9210441B2 (en) Fast mode-decision encoding for interframes
US8155191B2 (en) Method and apparatus for fast mode decision of B-frames in a video encoder
US8385416B2 (en) Method and apparatus for fast mode decision for interframes
EP1582063B1 (en) Mixed inter/intra video coding of macroblock partitions
US8571100B2 (en) Fast intra mode prediction for a video encoder
KR101406156B1 (en) Method and apparatus for adaptive weight selection for motion compensated prediction
KR100984517B1 (en) Fast mode decision making for interframe encoding
WO2007100221A1 (en) Method of and apparatus for video intraprediction encoding/decoding
EP2514206A1 (en) Method and apparatus for bi-directional prediction within p-slices
KR101083399B1 (en) Fast mode-decision encoding for interframes
KR101668851B1 (en) Method and apparatus of adaptive coding mode ordering for early mode decision of hevc
WO2015015404A2 (en) A method and system for determining intra mode decision in h.264 video coding
KR100701129B1 (en) High speed block mode decision method