WO2022193830A1 - 树形编码块的样点自适应补偿模式确定方法、装置 - Google Patents
树形编码块的样点自适应补偿模式确定方法、装置 Download PDFInfo
- Publication number
- WO2022193830A1 WO2022193830A1 PCT/CN2022/072844 CN2022072844W WO2022193830A1 WO 2022193830 A1 WO2022193830 A1 WO 2022193830A1 CN 2022072844 W CN2022072844 W CN 2022072844W WO 2022193830 A1 WO2022193830 A1 WO 2022193830A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- tree
- coding block
- adaptive compensation
- sample
- shaped
- Prior art date
Links
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 238
- 238000000034 method Methods 0.000 title claims abstract description 54
- 239000013598 vector Substances 0.000 claims abstract description 104
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000005070 sampling Methods 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 239000000523 sample Substances 0.000 description 169
- 238000012545 processing Methods 0.000 description 14
- 101150006264 ctb-1 gene Proteins 0.000 description 12
- 101150114958 CTB2 gene Proteins 0.000 description 11
- 101150114515 CTBS gene Proteins 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 101150047495 CTB5 gene Proteins 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- 101150111465 CTB6 gene Proteins 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 101150056486 CTB3 gene Proteins 0.000 description 4
- 101150106015 CTB4 gene Proteins 0.000 description 4
- 241000023320 Luma <angiosperm> Species 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 4
- 101150098832 CTB8 gene Proteins 0.000 description 3
- 102100037641 Kelch-like protein 42 Human genes 0.000 description 3
- 101710173078 Kelch-like protein 42 Proteins 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 101150038022 CTB7 gene Proteins 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 102100036467 Protein delta homolog 1 Human genes 0.000 description 1
- 101710119301 Protein delta homolog 1 Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000013074 reference sample Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- 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
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/1883—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/55—Motion estimation with spatial constraints, e.g. at image or region borders
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/567—Motion estimation based on rate distortion criteria
Definitions
- the present application relates to the technical field of video image coding, and in particular, to a method and apparatus for determining a sample point adaptive compensation mode of a tree-shaped coding block.
- HEVC High Efficiency Video Coding
- SAO Sample Adaptive Offset, sample adaptive compensation
- the pixel compensation will be realized through the EO (Edge Offset, boundary compensation) mode or the BO (Band Offset, side band compensation) mode.
- the BO information of each Coding Tree Block (CTB) needs to be counted
- the horizontal direction of each CTB in EO mode needs to be counted (EOO) information, vertical direction (EO1) information, 135° direction (E02) information, and 45° direction (E03) information.
- BO and EO algorithms are both pixel-level processing.
- Each EO algorithm (EO0, EO1, EO2, and EO3) has 4 types to be processed, so the EO algorithm has a total of 16 pixel-level processing.
- the BO algorithm and the EO algorithm have a total of 17 pixel-level processing, which takes a lot of time in the encoder.
- a method, device, computer equipment, and computer-readable storage medium for determining a sample point adaptive compensation mode of a tree-shaped coding block are provided, so as to solve the problem that the existing SAO technology needs to perform 17 times of pixel compensation when compensating pixels. stage processing, resulting in the problem of requiring a lot of time in the encoder.
- the present application provides a method for determining a sample point adaptive compensation mode for a tree-shaped coding block, including:
- attribute information of the first tree-shaped coding block where the attribute information includes the abscissa and ordinate of the first tree-shaped coding block and the video frame corresponding to the first tree-shaped coding block belongs to at least one of the hierarchical information;
- the judging whether the attribute information meets a preset condition includes:
- the method further includes:
- all sample adaptive compensation modes are used as the sample adaptive compensation modes of the first tree coding block;
- sample adaptive compensation modes of all the second tree-shaped coding blocks are unreliable, then all sample adaptive compensation modes are used as the first tree-shaped coding block The sample point adaptive compensation mode.
- using the acquired sample adaptive compensation modes of all types as the sample adaptive compensation modes of the first tree-shaped coding block includes:
- the method further includes:
- the sample adaptive compensation mode of the third tree-shaped coding block at a preset position of the first tree-shaped coding block, wherein the preset position includes at least one of the left, upper, upper left, and upper right corners A sort of;
- the motion vector includes an abscissa x value and an ordinate y value, and determining whether the motion vector is greater than the threshold according to a preset rule includes:
- a is a preset constant.
- the determining, according to the motion vector, all referenced second tree coding blocks of the first tree coding block in the reference frame includes:
- a tree-shaped coding block that overlaps with the reference region among the tree-shaped coding blocks of the reference frame is used as the second tree-shaped coding block.
- the present application also provides a device for determining a sample point adaptive compensation mode for a tree-shaped coding block, including:
- an acquisition module configured to acquire the motion vector of at least one prediction unit included in the first tree-shaped coding block currently to be processed, and obtain the reference frame of the video frame corresponding to the first tree-shaped coding block;
- a judgment module configured to obtain the video resolution and video frame rate of the video, calculate a threshold value according to the video resolution and the video frame rate, and judge whether the motion vector is greater than the threshold value according to a preset rule;
- a first determining module configured to determine, according to the motion vector, all referenced second tree coding blocks of the first tree coding block in the reference frame if it is determined that the motion vector is not greater than the threshold piece;
- the calculation module is configured to sequentially calculate the first probability that the sample point adaptive compensation mode is turned on for all the tree coding blocks in the preset directions of the second tree coding, and calculate the pre-set probability of the first tree coding block. Set the second probability of opening the sample adaptive compensation mode for all tree-shaped coding blocks in the direction;
- a second determining module configured to determine whether the sample adaptive compensation modes of all the second tree-shaped coding blocks are credible according to each of the first probabilities and the second probabilities;
- a module is added for acquiring, if credible, the sample adaptive compensation modes of all the second tree-shaped coding blocks, and using the acquired sample adaptive compensation modes of all types as the first tree-shaped coding block
- the sample point adaptive compensation mode as a module, it is used to use all the sample point adaptive compensation modes included in the sample point adaptive compensation mode list as the sample point adaptive compensation of the first tree-shaped coding block. model.
- the present application also provides a computer device comprising a memory, a processor, and computer-readable instructions stored on the memory and executable on the processor, the processor executing the computer
- a computer device comprising a memory, a processor, and computer-readable instructions stored on the memory and executable on the processor, the processor executing the computer
- the steps of the above method are implemented when the instructions are readable.
- the present application also provides a computer-readable storage medium on which computer-readable instructions are stored, and when the computer-readable instructions are executed by a processor, implement the steps of the above method.
- the motion vector of at least one prediction unit included in the first tree-shaped coding block to be processed is obtained, and the reference frame of the video frame corresponding to the first tree-shaped coding block is obtained;
- Video resolution and video frame rate calculate the threshold according to the video resolution and the video frame rate, and judge whether the motion vector is greater than the threshold according to the preset rule; if it is judged that the motion vector is not greater than the the threshold value, then determine all referenced second tree coding blocks of the first tree coding block in the reference frame according to the motion vector; sequentially calculate all the second tree coding preset directions of all the second tree coding blocks.
- the first probability that the tree-shaped coding block turns on the sample point adaptive compensation mode, and the second probability that the sample point adaptive compensation mode is turned on for all tree-shaped coding blocks in the preset direction of the first tree-shaped coding block is calculated; according to each The first probability and the second probability determine whether the sample adaptive compensation modes of all the second tree coding blocks are credible; if they are credible, obtain the sample adaptive compensation modes of all the second tree coding blocks , and use the acquired sample adaptive compensation modes of all types as the sample adaptive compensation modes of the first tree-shaped coding block.
- the sample adaptive compensation modes of all referenced second tree-shaped coding blocks in the reference frame of the first tree-shaped coding block determined by the motion vector are used as the first tree
- the sample adaptive compensation mode of the shape coding block can be extracted and eliminated, so that the BO mode or some EO modes can be extracted, thereby reducing the number of pixel-level processing, thereby reducing the time consumed by the coding process.
- FIG. 1 is an environmental schematic diagram of a method for determining a sample point adaptive compensation mode of a tree coding block according to an embodiment of the present application
- FIG. 2 is a flowchart of an embodiment of a method for determining a sample point adaptive compensation mode of a tree coding block described in the present application;
- FIG. 3 is a schematic flowchart of a refinement of the steps of determining all referenced second tree coding blocks of the first tree coding block in the reference frame according to the motion vector according to an embodiment of the present application;
- FIG. 4 is a schematic diagram of a video frame being divided into a plurality of tree-shaped coding blocks
- FIG. 5 is a schematic flowchart of a refinement of the steps of using all types of acquired sample adaptive compensation modes as the sample adaptive compensation modes of the first tree-shaped coding block in an embodiment of the present application;
- FIG. 6 is a flowchart of another embodiment of the method for determining a sample point adaptive compensation mode of a tree coding block described in the present application;
- FIG. 7 is a program block diagram of an embodiment of the device for determining a sample point adaptive compensation mode of a tree-shaped coding block according to the present application
- FIG. 8 is a schematic diagram of a hardware structure of a computer device for performing a method for determining a sample adaptive compensation mode of a tree-shaped coding block according to an embodiment of the present application.
- first, second, third, etc. may be used in this disclosure to describe various pieces of information, such information should not be limited by these terms. These terms are only used to distinguish the same type of information from each other.
- first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information, without departing from the scope of the present disclosure.
- word "if” as used herein can be interpreted as "at the time of” or "when” or "in response to determining.”
- FIG. 1 schematically shows a schematic framework diagram of a method for determining a sample point adaptive compensation mode for a tree coding block according to an embodiment of the present application.
- the system of the application environment may include a computer device 10 and a server 20 .
- the computer device 10 forms a wireless or wired connection with the server 20 .
- the computer device 10 may be a mobile phone, an iPAD, a tablet computer, a server, or the like.
- the server 20 may be a rack-type server, a blade-type server, a tower-type server or a cabinet-type server (including an independent server, or a server cluster composed of multiple servers) and the like.
- FIG. 2 it is a schematic flowchart of a method for determining a sample point adaptive compensation mode of a tree coding block according to an embodiment of the present application. It should be understood that the flowchart in this embodiment of the method is not used to limit the sequence of executing steps. The following is an exemplary description with a computer device as the execution body. As can be seen from the figure, the method for determining the sample point adaptive compensation mode of the tree coding block provided in this embodiment includes:
- Step S20 Acquire a motion vector of at least one prediction unit included in the first tree-shaped coding block currently to be processed, and obtain a reference frame of a video frame corresponding to the first tree-shaped coding block.
- the tree coding block may be the luminance CTB included in the tree coding unit (Coding Tree Unit, CTU) in the sample adaptive compensation technology (Sample Adaptive Offset, SAO) in HEVC Or Chroma CTB.
- a tree-shaped coding block consists of multiple reconstructed pixel points, such as 16*16, 32*32 and 64*64 multiple pixel points. It should be noted that the reconstructed pixel points refer to the pixel points obtained by restoring each pixel point in the original image.
- a tree-shaped coding block can be adaptively divided into multiple coding blocks (Coding Blocks, CB) according to the image content in the tree-shaped coding block, wherein the rule for dividing CBs is: relatively flat areas use large-sized CBs , while areas with more detail use smaller sized CBs.
- CB Coding Blocks
- the shape of the CB is square
- the size of the luma component CB can be from 8x8 to the size of the luma CTB
- the size of the chroma CB can be from 4x4 to the size of the chroma CTB (that is, the size of the luma CTB is The largest supported size of the luma CB; the size of the chroma CTB is the largest supported size of the chroma CB).
- a CB can be further divided into a prediction unit (PU) and a transform unit (TU), where each PU has a set of motion parameters, including motion vector MV, reference frame index and reference table flag.
- PU prediction unit
- TU transform unit
- the motion vector of at least one prediction unit included in the first tree-shaped coding block can be directly searched from various saved parameters, so as to acquire the motion vector therefrom.
- only the motion vector of one prediction unit included in the first tree-shaped coding block may be obtained, or the motion vectors of all prediction units included in the first tree-shaped coding block may be obtained. , or obtain operation vectors of some of the prediction units included in the first tree-shaped coding block.
- the first tree-shaped coding block includes 8 prediction units, which are PU1, PU2, PU3, PU4, PU5, PU6, PU7, and PU8, respectively. Then when acquiring the motion vector, only the motion vector of PU1 can be acquired, the motion vector of PU1, PU2, PU3 can also be acquired, or the motion vector of PU1, PU2, PU3, PU4, PU5, PU6, PU7, PU8, etc. can be acquired.
- the video frame is divided into several non-overlapping CTBs to represent independent regions in the video frame.
- the size of the luminance CTB can be 16*16/32*32/64*64, and the size of the chrominance CTB can be 8*8/16*16/32*32. The larger the size, the better the compression effect.
- GOP Group Of Pictures
- Open GOP Open GOP
- Type strip type, one of I, B, P;
- POC the display order of the images in the GOP, the value range is 1-GOPSize
- QPOffset Quantization parameter offset, used to calculate the actual quantization parameter of this frame
- QPFactor weights for rate-distortion optimization
- tcOffsetDiv2 the offset of the loop filter parameters
- betaOffsetDiv2 the offset of the loop filter parameters
- temporal_id the serial number of the temporal sublayer where the current frame is located
- num_ref_pics_active the size of the reference picture lists (reference picture lists) L0 and L1; indicates how many reference frames are used in the encoding process;
- num_ref_pics The number of reference frames held by the current frame, including the reference frames used by the current frame and future frames;
- reference pictures Save the POC of the reference frame relative to the current frame POC, and the number is specified by num_ref_pics.
- deltaRIdx-1 the difference between the current RPS index and the predicted RPS index -1;
- deltaRPS The difference between the predicted RPS and the POC of the current RPS
- num_ref_idcs the number of ref_idcs encoding the current RPS
- reference_idcs Specifies the ref_idcs for inter-RPS prediction.
- the reference frames of the video frame A when acquiring the reference frame of the first tree-shaped coding block, it will first find out which video frame the first tree-shaped coding block belongs to, for example, if it belongs to video frame A, then after determining the current After a tree coding block belongs to the video frame A, the reference frames of the video frame A will be found from the reference pictures parameter in the GOP configuration parameter.
- the reference frames are the video frame B and the video frame C.
- Step S21 Obtain the video resolution and video frame rate of the video, calculate a threshold according to the video resolution and the video frame rate, and determine whether the motion vector is greater than the threshold according to a preset rule.
- the threshold Th video resolution Re/video frame rate Fr.
- the motion vector MV includes the abscissa x value and the ordinate y value, for example, a motion vector (x, y) is (32, 32).
- the preset rule is a preset rule for determining whether the motion vector MV is greater than the threshold Th.
- the determining whether the motion vector is greater than the threshold according to a preset rule may include:
- a is a preset constant.
- >Th when a*
- the specific value of a is preferably 1.
- " is a symbol for finding an absolute value.
- all motion vectors can also satisfy a*
- Step S22 if it is determined that the motion vector is not greater than the threshold, determine all referenced second tree coding blocks of the first tree coding block in the reference frame according to the motion vector.
- all second tree-shaped coding blocks to which the first tree-shaped coding block is referenced in the reference frame are determined according to the motion vector.
- the motion vector MV includes MV1 and MV2
- the reference frame includes reference frame 1 and reference frame 2
- All referenced CTB2 in reference frame 2 all referenced CTB2 of CTB1 in reference frame 1 are determined according to MV2, and all referenced CTB2 of CTB1 in reference frame 2 are determined according to MV2.
- the determining according to the motion vector all the referenced second tree coding blocks of the first tree coding block in the reference frame may include step S30- S31, where:
- Step S30 Determine a reference area of the first tree-shaped coding block in the reference frame according to the motion vector and the size of the first tree-shaped coding block.
- a reference region needs to be determined according to each motion vector and the size of the first tree-shaped coding block, that is, how many motion vectors exist, How many reference areas need to be determined.
- the coordinate of the motion vector is taken as the center, and the size is taken as the side length to spread to the surrounding to obtain a square reference area.
- the reference area is as shown in Figure 4 shaded areas A and B.
- Step S31 taking the tree-shaped coding block that overlaps with the reference region in the tree-shaped coding block of the reference frame as the second tree-shaped coding block.
- the tree coding blocks CTB1 , CTB5 , CTB6 , CTB8 , and CTB9 in FIG. 4 may be used as the second tree coding blocks.
- all sample adaptive compensation modes may be used as the sample adaptive compensation modes of the first tree-shaped coding block.
- all sampling point adaptive compensation modes refer to BO mode and EO mode in SAO, wherein EO mode includes EOO mode, EO1 mode, EO2 mode and EO3 mode. That is, all sampling point adaptive compensation modes include BO mode, EOO mode, EO1 mode, EO2 mode and EO3 mode.
- Step S23 Calculate the first probability that the sample point adaptive compensation mode is turned on for all tree coding blocks in the preset direction of the second tree coding in turn, and calculate the preset direction of the first tree coding block The second probability that the sample adaptive compensation mode is turned on for all tree-coded blocks.
- the preset direction is a preset direction, and the direction can be set and adjusted according to the actual situation.
- the preset direction is preferably an upper-left direction, wherein all the tree-shaped coding blocks in the upper-left direction refer to the tree-shaped coding blocks located on the left and upper sides of the second tree coding.
- the tree coding blocks in the upper left direction of the second tree coding block CTB5 include CTB1, CTB2, CTB3, CTB4, etc.; the tree coding blocks in the upper left direction of the second tree coding block CTB6 include CTB1, CTB2, CTB3, CTB4, CTB5, etc.; the second tree coding block CTB8 includes CTB1, CTB2, CTB3, CTB4, CTB5, CTB6, CTB7, etc.; the second tree coding block CTB9 includes CTB1, CTB2, CTB3, CTB4, CTB5, CTB6, CTB7, CTB8, etc. .
- turning on the sample point adaptive compensation mode means that the tree coding block selects any one of the BO mode, EOO mode, EO1 mode, EO2 mode and EO3 mode to perform pixel compensation; the sample point adaptive compensation mode is not turned on. It means that the tree coding block does not select any one of BO mode, EOO mode, EO1 mode, EO2 mode and EO3 mode to perform pixel compensation.
- Step S24 Determine whether the sample adaptive compensation modes of all the second tree-shaped coding blocks are credible according to each of the first probabilities and the second probabilities.
- the sample adaptive compensation mode of all the second tree coding blocks is: believable.
- all samples can be adaptively compensated. mode as the sample adaptive compensation mode of the first tree coding block.
- all sampling point adaptive compensation modes refer to BO mode and EO mode in SAO, wherein EO mode includes EOO mode, EO1 mode, EO2 mode and EO3 mode. That is, all sampling point adaptive compensation modes include BO mode, EOO mode, EO1 mode, EO2 mode and EO3 mode.
- Step S25 if it is credible, obtain all the sample adaptive compensation modes of the second tree-shaped coding block, and use the obtained sample adaptive compensation modes of all types as the samples of the first tree-shaped coding block. Point adaptive compensation mode.
- sample adaptive compensation modes refer to different modes of sample adaptive compensation modes.
- Credible refers to whether all the sample adaptive compensation modes of the second tree coding block can be used as the sample adaptive compensation modes of the first tree coding block.
- the samples of all the second tree coding blocks can be found from various parameters saved in advance adaptive compensation mode, and then use all types of acquired sample adaptive compensation modes as the sample adaptive compensation modes of the first tree-shaped coding block.
- the acquired sampling point adaptive compensation modes are BO mode, EOO mode, EO0 mode, EO3 mode respectively mode, the BO mode, the EOO mode, and the EO3 mode can be used as the sample adaptive compensation modes of the first tree-shaped coding block.
- the sampling adaptive compensation modes of all types obtained as the sample adaptive compensation modes of the first tree-shaped coding block may include steps S50-S51, in:
- Step S50 adding the acquired sample point adaptive compensation modes of all the second tree-shaped coding blocks to the sample point adaptive compensation mode list.
- a sample point adaptive compensation mode list SAO_LIST may be declared in advance for storing the sample point adaptive compensation modes.
- the initial value of SAO_LIST is empty. After the sample point adaptive compensation modes of all the second tree coding blocks are obtained, these sample point adaptive compensation modes can be added to the SAO_LIST.
- Step S51 delete the repeated sampling point adaptive compensation mode included in the sampling point adaptive compensation mode list from the sampling point adaptive compensation mode list, and adjust the remaining sample point adaptive compensation mode after deletion processing.
- the compensation mode is used as a sample adaptive compensation mode of the first tree coding block.
- the acquired sample adaptive compensation modes of all the second tree coding blocks are BO mode, EOO mode, EO0 mode, and EO3 mode in sequence. Since there are two EOO modes in SAO_LIST, one can be The EOO mode is deleted from the SAO_LIST, and the sample adaptive compensation mode remaining in the SAO_LIST is used as the sample adaptive compensation mode of the first tree coding block, that is, the BO mode, the EOO mode, and the EO3 mode are used as the Sample adaptive compensation mode for the first tree-coded block.
- the sample adaptive compensation mode of the second tree-shaped coding block is obtained, it is stored in the list first, so that it is convenient to delete the repeated sample adaptive compensation mode in the future. .
- the motion vector of at least one prediction unit included in the first tree-shaped coding block to be processed is obtained, and the reference frame of the video frame corresponding to the first tree-shaped coding block is obtained;
- Video resolution and video frame rate calculate the threshold according to the video resolution and the video frame rate, and judge whether the motion vector is greater than the threshold according to the preset rule; if it is judged that the motion vector is not greater than the the threshold value, then determine all referenced second tree coding blocks of the first tree coding block in the reference frame according to the motion vector; sequentially calculate all the second tree coding preset directions of all the second tree coding blocks.
- the first probability that the tree-shaped coding block turns on the sample point adaptive compensation mode, and the second probability that the sample point adaptive compensation mode is turned on for all tree-shaped coding blocks in the preset direction of the first tree-shaped coding block is calculated; according to each The first probability and the second probability determine whether the sample adaptive compensation modes of all the second tree coding blocks are credible; if they are credible, obtain the sample adaptive compensation modes of all the second tree coding blocks , and use the acquired sample adaptive compensation modes of all types as the sample adaptive compensation modes of the first tree-shaped coding block.
- the sample adaptive compensation modes of all referenced second tree-shaped coding blocks in the reference frame of the first tree-shaped coding block determined by the motion vector are used as the first tree
- the sample adaptive compensation mode of the shape coding block can be extracted and eliminated, so that the BO mode or some EO modes can be extracted, thereby reducing the number of pixel-level processing, thereby reducing the time consumed by the coding process.
- the method for determining the sample adaptive compensation mode of the tree-shaped coding block includes:
- Step S60 Obtain attribute information of the first tree-shaped coding block, where the attribute information includes the abscissa and ordinate of the first tree-shaped coding block and the video frame corresponding to the first tree-shaped coding block belongs to. At least one of the hierarchical information.
- a video frame is divided into several non-overlapping CTBs, and a coordinate system is established to facilitate determining the position of each CTB in the video frame.
- a coordinate system as shown in FIG. 7 can be established.
- the abscissa or ordinate of the first coding block needs to be acquired, it can be determined according to the coordinate system.
- the abscissa and the ordinate of the first tree-shaped coding block respectively refer to the abscissa and the ordinate of the upper left vertex of the first tree-shaped coding block.
- the abscissa of the first tree-shaped coding block CTB1 is 0, and the ordinate is also 0.
- the layer information to which the video frame corresponding to the first tree-shaped coding block belongs refers to the serial number of the temporal sublayer where the video frame corresponding to the first tree-shaped coding block is located, which can be obtained from the video
- Step S61 judging whether the attribute information meets a preset condition.
- the preset condition is a preset condition for determining whether it is necessary to perform the step of acquiring the motion vector of at least one prediction unit included in the first tree-shaped coding block currently to be processed.
- whether the attribute information meets a preset condition may include:
- the first preset value and the second preset value may be set and adjusted according to the actual situation, and the first preset value may be the same as or different from the second preset value.
- the preset level can also be set and adjusted according to the actual situation.
- the first preset value is 32
- the second preset value is also 32
- the preset layers are the 0th layer and the 1st layer
- the abscissa is less than 32
- the ordinate is is less than 32
- the layer information is the 0th layer or the first layer
- the attribute information conforms to or not by judging whether the abscissa is smaller than the first preset value, and whether the ordinate is also smaller than the second preset value.
- the preset condition is not limited in this embodiment.
- all sample adaptive compensation modes are used as the sample adaptive compensation modes of the first tree-shaped coding block.
- all sampling point adaptive compensation modes refer to BO mode and EO mode in SAO, wherein EO mode includes EOO mode, EO1 mode, EO2 mode and EO3 mode. That is, all sampling point adaptive compensation modes include BO mode, EOO mode, EO1 mode, EO2 mode and EO3 mode.
- Step S62 if the attribute information does not meet the preset conditions, obtain the motion vector of at least one prediction unit included in the first tree-shaped coding block currently to be processed, and obtain the corresponding first tree-shaped coding block.
- Step S63 acquiring the video resolution and video frame rate of the video, calculating a threshold according to the video resolution and the video frame rate, and determining whether the motion vector is greater than the threshold according to a preset rule;
- Step S64 if it is determined that the motion vector is not greater than the threshold, then determine all referenced second tree coding blocks of the first tree coding block in the reference frame according to the motion vector;
- Step S65 successively calculating the first probability of enabling the sample point adaptive compensation mode for all tree coding blocks in the preset directions of the second tree coding, and calculating the preset directions of the first tree coding blocks The second probability that the sample adaptive compensation mode is turned on for all tree-shaped coding blocks;
- Step S66 according to each first probability and the second probability, determine whether the sample adaptive compensation mode of all the second tree coding blocks is credible;
- Step S67 if it is credible, acquire the sample adaptive compensation modes of all the second tree-shaped coding blocks, and use the acquired sample adaptive compensation modes of all types as the samples of the first tree-shaped coding block. Point adaptive compensation mode.
- steps S62-S67 are similar to the steps S20-S25 in the foregoing embodiment, and are not repeated in this embodiment.
- the sample adaptive compensation modes of all referenced second tree-shaped coding blocks in the reference frame of the first tree-shaped coding block determined by the motion vector are used as the first tree-shaped coding block.
- the samples of the coding block are adaptively compensated, so that the BO mode or some EO modes can be extracted and eliminated, thereby reducing the number of pixel-level processing, thereby reducing the time consumed by the coding process.
- the method for determining the sample adaptive compensation mode of the tree coding block may further include:
- the sample adaptive compensation mode of the third tree-shaped coding block at a preset position of the first tree-shaped coding block, wherein the preset position includes at least one of the left, upper, upper left, and upper right corners A sort of;
- the sample adaptive compensation mode of the third tree-shaped coding block when acquiring the sample adaptive compensation mode of the third tree-shaped coding block, only the third tree located at one of the left, upper, upper-left, and upper-right corners of the first tree-shaped coding block may be acquired.
- the sample point adaptive compensation mode of the tree-shaped coding block, or only the sample points of the third tree-shaped coding block located at two positions of the left, upper, upper left, and upper right corners of the first tree-shaped coding block can be obtained.
- the adaptive compensation mode or only the sample adaptive compensation mode of the third tree-shaped coding block located at three positions of the left, upper, upper left, and upper right corners of the first tree-shaped coding block can be obtained;
- the sample adaptive compensation mode of the third tree-shaped coding block at all positions of the left, upper, upper left, and upper right corners of the first tree-shaped coding block is not limited in this embodiment.
- sample adaptive compensation mode of the third tree coding block After the sample adaptive compensation mode of the third tree coding block is obtained, it can be added to the sample adaptive compensation mode list as a reference sample adaptive compensation mode of the first tree coding block.
- left, upper, upper left, and upper right corners in this embodiment only refer to the positions of the left, upper, upper left, and upper right corners closest to the first tree-shaped coding block.
- the sampling point adaptive compensation mode is determined as the sampling point adaptive compensation mode of the first tree-shaped coding block by combining the time domain and the spatial domain, and the BO mode or some EO modes can be eliminated in advance, reducing the The number of pixel-level processing, thereby reducing the time consumed by the encoding process.
- FIG. 7 it is a program block diagram of an embodiment of a sample point adaptive compensation mode determination device 70 for a tree coding block of the present application.
- the sample point adaptive compensation mode determining device 70 of the tree-shaped coding block includes a series of computer-readable instructions stored in the memory.
- the present invention can be implemented.
- the sample adaptive compensation mode determination function of the tree-shaped coding block of each embodiment of the application is applied.
- the sample point adaptive compensation mode determination device 70 of the tree-shaped coding block can be divided into one or more modules, and the specific modules can be divided into as follows:
- an obtaining module 71 configured to obtain the motion vector of at least one prediction unit contained in the first tree-shaped coding block currently to be processed, and obtain the reference frame of the video frame corresponding to the first tree-shaped coding block;
- Judgment module 72 is used to obtain the video resolution and video frame rate of video, calculates a threshold value according to the video resolution and the video frame rate, and judges whether the motion vector is greater than the threshold value according to a preset rule;
- the first determining module 73 is configured to determine, according to the motion vector, all referenced second trees of the first tree-shaped coding block in the reference frame if it is determined that the motion vector is not greater than the threshold coding block;
- the calculation module 74 is configured to sequentially calculate the first probability that the sample point adaptive compensation mode is turned on for all the tree coding blocks in the preset directions of the second tree coding, and calculate the first probability of the first tree coding block.
- a second determining module 75 configured to determine whether the sample adaptive compensation modes of all the second tree-shaped coding blocks are credible according to each first probability and the second probability;
- the apparatus 70 for determining the sample adaptive compensation mode of the tree-shaped coding block further includes an attribute information acquisition module, a preset condition judgment module and an execution module.
- the attribute information acquisition module is configured to acquire attribute information of the first tree-shaped coding block, where the attribute information includes the abscissa and ordinate of the first tree-shaped coding block and the first tree-shaped coding block at least one of the hierarchical information to which the corresponding video frame belongs;
- the preset condition judgment module configured to judge whether the attribute information meets the preset condition
- the executing module is configured to execute the obtaining of the motion vector of at least one prediction unit included in the first tree-shaped coding block currently to be processed, and obtain the motion vector if the attribute information does not meet the preset condition The step of encoding the reference frame of the video frame corresponding to the first tree-shaped block.
- the preset condition determination module is further configured to determine whether the abscissa is less than a first preset value; or to determine whether the abscissa is less than a second preset value; or It is used to judge whether the level information is a preset level.
- the acting module 76 is further configured to use all sample adaptive compensation modes as the first tree coding block if the attribute information meets the preset condition. a sample adaptive compensation mode; or used to use all sample adaptive compensation modes as the sample adaptive compensation mode of the first tree coding block if it is determined that the motion vector is greater than the threshold; or If it is determined according to each first probability and the second probability that the sample point adaptive compensation modes of all the second tree-shaped coding blocks are unreliable, all the sample point adaptive compensation modes are used as the first tree shape. Sample adaptive compensation mode for coding blocks.
- the module 76 is further configured to add the acquired sample adaptive compensation modes of all the second tree coding blocks to the sample adaptive compensation mode list; and The repeated sample point adaptive compensation modes included in the sample point adaptive compensation mode list are deleted from the sample point adaptive compensation mode list, and the remaining sample point adaptive compensation modes after the deletion process are used as all the sample point adaptive compensation modes.
- the sample adaptive compensation mode of the first tree coding block is described.
- the apparatus 70 for determining the sample adaptive compensation mode of the tree-shaped coding block further includes an adding module.
- the obtaining module 71 is further configured to obtain the sample adaptive compensation mode of the third tree-shaped coding block at the preset position of the first tree-shaped coding block, wherein the preset position includes the left side and the upper side. , at least one of the upper left corner and the upper right corner.
- the adding module is configured to add the sample point adaptive compensation mode of the third tree coding block to the sample point adaptive compensation mode list.
- the motion vector includes an abscissa x value and an ordinate y value
- the judging module 72 is further configured to judge whether a*
- the first determining module 73 is further configured to determine, according to the motion vector and the size of the first tree-shaped coding block, the size of the first tree-shaped coding block in the reference frame.
- the reference region in the reference frame; the tree coding block that overlaps with the reference region in the tree coding block of the reference frame is used as the second tree coding block.
- the motion vector of at least one prediction unit included in the first tree-shaped coding block to be processed is obtained, and the reference frame of the video frame corresponding to the first tree-shaped coding block is obtained;
- Video resolution and video frame rate calculate the threshold according to the video resolution and the video frame rate, and judge whether the motion vector is greater than the threshold according to the preset rule; if it is judged that the motion vector is not greater than the the threshold value, then determine all referenced second tree coding blocks of the first tree coding block in the reference frame according to the motion vector; sequentially calculate all the second tree coding preset directions of all the second tree coding blocks.
- the first probability that the tree-shaped coding block turns on the sample point adaptive compensation mode, and the second probability that the sample point adaptive compensation mode is turned on for all tree-shaped coding blocks in the preset direction of the first tree-shaped coding block is calculated; according to each The first probability and the second probability determine whether the sample adaptive compensation modes of all the second tree coding blocks are credible; if they are credible, obtain the sample adaptive compensation modes of all the second tree coding blocks , and use the acquired sample adaptive compensation modes of all types as the sample adaptive compensation modes of the first tree-shaped coding block.
- the sample adaptive compensation modes of all referenced second tree-shaped coding blocks in the reference frame of the first tree-shaped coding block determined by the motion vector are used as the first tree
- the sample adaptive compensation mode of the shape coding block can be extracted and eliminated, so that the BO mode or some EO modes can be extracted, thereby reducing the number of pixel-level processing, thereby reducing the time consumed by the coding process.
- Fig. 8 schematically shows a schematic diagram of the hardware architecture of a computer device 10 suitable for implementing a method for determining a sample point adaptive compensation mode of a tree-shaped coding block according to an embodiment of the present application.
- the computer device 10 is a device that can automatically perform numerical calculation and/or information processing according to pre-set or stored instructions.
- it can be a tablet computer, a notebook computer, a desktop computer, a rack server, a blade server, a tower server or a cabinet server (including an independent server, or a server cluster composed of multiple servers) and the like.
- the computer device 10 at least includes but is not limited to: a memory 120 , a processor 121 , and a network interface 122 that can communicate with each other through a system bus. in:
- the memory 120 includes at least one type of computer-readable storage medium, which may be volatile or non-volatile.
- the readable storage medium includes flash memory, hard disk, multimedia card, Card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), programmable Read only memory (PROM), magnetic memory, magnetic disk, optical disk, etc.
- the memory 120 may be an internal storage module of the computer device 10 , such as a hard disk or memory of the computer device 10 .
- the memory 120 may also be an external storage device of the computer device 10, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC for short), a secure digital (Secure) Digital, referred to as SD) card, flash memory card (Flash Card) and so on.
- the memory 120 may also include both an internal storage module of the computer device 10 and an external storage device thereof.
- the memory 120 is generally used to store the operating system installed in the computer device 10 and various application software, such as program codes of the method for determining the sampling point adaptive compensation mode of the tree-shaped coding block.
- the memory 120 may also be used to temporarily store various types of data that have been output or will be output.
- the processor 121 may be a central processing unit (Central Processing Unit, CPU for short), a controller, a microcontroller, a microprocessor, or a sample point adaptive compensation mode determination chip of other tree-shaped coding blocks.
- the processor 121 is generally used to control the overall operation of the computer device 10 , such as performing control and processing related to data interaction or communication with the computer device 10 .
- the processor 121 is configured to execute program codes or process data stored in the memory 120 .
- Network interface 122 which may include a wireless network interface or a wired network interface, is typically used to establish communication links between computer device 10 and other computer devices.
- the network interface 122 is used to connect the computer device 10 with an external terminal through a network, and establish a data transmission channel and a communication link between the computer device 10 and the external terminal.
- the network can be Intranet, Internet, Global System of Mobile communication (GSM for short), Wideband Code Division Multiple Access (WCDMA for short), 4G network , 5G network, Bluetooth (Bluetooth), Wi-Fi and other wireless or wired networks.
- FIG. 8 only shows a computer device having components 120-122, but it should be understood that implementation of all of the shown components is not required, and more or less components may be implemented instead.
- the method for determining the sample adaptive compensation mode of the tree-shaped coding block stored in the memory 120 may be divided into one or more program modules, and executed by one or more processors (in this embodiment, the processing 121) to complete the application.
- Embodiments of the present application provide a computer-readable storage medium, where computer-readable instructions are stored on the computer-readable storage medium, and when the computer-readable instructions are executed by a processor, the sampling points of the tree-shaped coding blocks in the embodiments are implemented automatically.
- the steps of the adaptive compensation mode determination method are described below.
- the computer-readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read-Only Memory (PROM), magnetic memory, magnetic disk, optical disk, etc.
- the computer-readable storage medium may be an internal storage unit of a computer device, such as a hard disk or memory of the computer device.
- the computer-readable storage medium may also be an external storage device of a computer device, such as a plug-in hard disk equipped on the computer device, a smart memory card (Smart Media Card, SMC for short), a secure digital ( Secure Digital, referred to as SD) card, flash memory card (Flash Card) and so on.
- the computer-readable storage medium may also include both an internal storage unit of a computer device and an external storage device thereof.
- the computer-readable storage medium is generally used to store the operating system and various application software installed in the computer device, for example, the program code of the method for determining the sampling point adaptive compensation mode of the tree-shaped coding block in the embodiment.
- the computer-readable storage medium can also be used to temporarily store various types of data that have been output or will be output.
- the device embodiments described above are only illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place , or distributed over at least two network elements. Some or all of the modules may be screened out according to actual needs to achieve the purpose of the solutions of the embodiments of the present application. Those of ordinary skill in the art can understand and implement it without creative effort.
- each embodiment can be implemented by means of software plus a general hardware platform, and certainly can also be implemented by hardware.
- Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing relevant hardware through computer-readable instructions, and the program can be stored in a computer-readable storage medium. When the program is executed, it may include the flow of the embodiments of the above-mentioned methods.
- the storage medium may be a magnetic disk, an optical disk, a read-only memory (Read-Only Memory, ROM), or a random access memory (Random Access Memory, RAM) or the like.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种样点自适应补偿模式的确定方法、装置。该方法包括:获取第一树形编码块中包含的运动矢量,以及获取第一树形编码块的视频帧的参考帧;获取视频分辨率与帧率,根据视频分辨率与帧率计算阈值,并根据预设的规则判断运动矢量是否大于阈值;若不大于阈值,则根据运动矢量确定第二树形编码块;依次计算所有的第二树形编码块的预设方向的编码块开启样点自适应补偿模式的第一概率,以及计算第一树形编码块的预设方向的所有编码块开启补偿模式的第二概率;根据各个第一概率与第二概率确定补偿模式是否可信;若可信,则获取所有的第二树形编码块的补偿模式,并将获取到的所有类型的补偿模式作为第一树形编码块的补偿模式。本申请可减少编码过程消耗的时间。
Description
本申请要求于2021年3月17日提交中国专利局、申请号为202110283711.4,发明名称为“树形编码块的样点自适应补偿模式确定方法、装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及视频图像编码技术领域,尤其涉及一种树形编码块的样点自适应补偿模式确定方法、装置。
HEVC(High Efficiency Video Coding)是一种视频压缩标准,在采用HEVC对视频进行压缩后,为了减小重构图像与原图像的失真,会通过SAO(Sample Adaptive Offset,样点自适应补偿)技术对重构图像进行像素补偿。
在采用SAO技术对像素进行补偿时,会通过EO(Edge Offset,边界补偿)模式或者通过BO(Band Offset,边带补偿)模式实现像素补偿。其中,在BO模式实现像素补偿时,需要统计每一个树形编码块(Coding Tree Block,CTB)的BO信息;在通过EO模式实现像素补偿时,需要统计每一个CTB在EO模式下的水平方向(EOO)信息、垂直方向(EO1)信息、135°方向(E02)信息和45°方向(E03)信息。
然而,发明人发现,上述统计方式在目前标准的实现中,BO和EO算法都是像素级处理。每个EO算法(EO0、EO1、EO2和EO3),各自都有4个种类需要处理,所以,EO算法一共有16次像素级处理。BO算法和EO算法一共有17次像素级处理,在编码器中需要耗费大量的时间。
发明内容
有鉴于此,现提供一种树形编码块的样点自适应补偿模式确定方法、装置、计算机设备及计算机可读存储介质,以解决现有的SAO技术对像素进行补偿时需要进行17次像素级处理,导致在编码器中需要耗费大量的时间的问题。
本申请提供了一种树形编码块的样点自适应补偿模式确定方法,包括:
获取当前待处理的第一树形编码块中包含的至少一个预测单元的运动矢量,以及获取所述第一树形编码块对应的视频帧的参考帧;
获取视频的视频分辨率与视频帧率,根据所述视频分辨率与所述视频帧率计算阈值,并根据预设的规则判断所述运动矢量是否大于所述阈值;
若判断出所述运动矢量不大于所述阈值,则根据所述运动矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块;
依次计算所有的第二树形编码的预设方向的所有树形编码块开启样点自适应补偿模式的第一概率,以及计算所述第一树形编码块的所述预设方向的所有树形编码块开启样点自适应补偿模式的第二概率;
根据各个第一概率与所述第二概率确定所有的第二树形编码块的样点自适应补偿模式是否可信;
若可信,则获取所有的第二树形编码块的样点自适应补偿模式,并将获取到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
可选地,获取所述第一树形编码块的属性信息,所述属性信息包括所述第一树形编码块的横坐标、纵坐标及所述第一树形编码块对应的视频帧所属的层次信息中的至少一种;
判断所述属性信息是否符合预设条件;
若所述属性信息不符合所述预设条件,则执行所述获取当前待处理的第一树形编码块中包含的至少一个预测单元的运动矢量,以及获取所述第一树形编码块对应的视频帧的参考帧的步骤。
可选地,所述判断所述属性信息是否符合预设条件包括:
判断所述横坐标是否小于第一预设值;或
判断所述横坐标是否小于第二预设值;或
判断所述层次信息是否为预设的层次。
可选地,所述方法还包括:
若所述属性信息符合所述预设条件,则将所有的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式;或
若判断出所述运动矢量大于所述阈值,则将所有的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式;或
若根据各个第一概率与所述第二概率确定所有的第二树形编码块的样点自适应补偿模式不可信,则将所有的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
可选地,所述将获取到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式包括:
将获取到的所有的第二树形编码块的样点自适应补偿模式添加至样点自适应补偿模式列表中;
将所述样点自适应补偿模式列表中包含的重复的样点自适应补偿模式从所述样点自适应补偿模式列表中删除,并将经过删除处理后剩下的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
可选地,所述方法还包括:
获取处于所述第一树形编码块的预设位置处的第三树形编码块的样点自适应补偿模式,其中,所述预设位置包括左边、上边、左上角、右上角中的至少一种;
将所述第三树形编码块的样点自适应补偿模式添加至所述样点自适应补偿模式列表中。
可选地,所述运动矢量包括横坐标x值与纵坐标y值,所述根据预设的规则判断所述运动矢量是否大于所述阈值包括:
判断a*|x|是否大于所述阈值;或
判断a*|y|是否大于所述阈值;或
其中,a为预设的常量。
可选地,所述根据所述运动矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块包括:
根据所述运动矢量与所述第一树形编码块的尺寸确定所述第一树形编码块在所述参考帧中的参考区域;
将所述参考帧的树形编码块中与所述参考区域存在重叠的树形编码块作为所述第二树形编码块。
本申请还提供了一种树形编码块的样点自适应补偿模式确定装置,包括:
获取模块,用于获取当前待处理的第一树形编码块中包含的至少一个预测单元的运动矢量,以及获取所述第一树形编码块对应的视频帧的参考帧;
判断模块,用于获取视频的视频分辨率与视频帧率,根据所述视频分辨率与所述视频帧率计算阈值,并根据预设的规则判断所述运动矢量是否大于所述阈值;
第一确定模块,用于若判断出所述运动矢量不大于所述阈值,则根据所述运动矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块;
计算模块,用于依次计算所有的第二树形编码的预设方向的所有树形编码块开启样点自适应补偿模式的第一概率,以及计算所述第一树形编码块的所述预设方向的所有树形编码块开启样点自适应补偿模式的第二概率;
第二确定模块,用于根据各个第一概率与所述第二概率确定所有的第二树形编码块的样点自适应补偿模式是否可信;
添加模块,用于若可信,则获取所有的第二树形编码块的样点自适应补偿模式,并将获取到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式;作为模块,用于将所述样点自适应补偿模式列表中的包含的所有的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
本申请还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述方法的步骤。
上述技术方案的有益效果:
本申请实施例中,通过获取当前待处理的第一树形编码块中包含的至少一个预测单元的运动矢量,以及获取所述第一树形编码块对应的视频帧的参考帧;获取视频的视频分辨率与视频帧率,根据所述视频分辨率与所述视频帧率计算阈值,并根据预设的规则判断所述运动矢量是否大于所述阈值;若判断出所述运动矢量不大于所述阈值,则根据所述运动矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块;依次计算所有的第二树形编码的预设方向的所有树形编码块开启样点自适应补偿模式的第一概率,以及计算所述第一树形编码块的预设方向的所有树形编码块开启样点自适应补偿模式的第二概率;根据各个第一概率与所述第二概率确定所有的第二树形编码块的样点自适应补偿模式是否可信;若可信,则获取所有的第二树形编码块的样点自适应补偿模式,并将获取到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。在本申请实施例中,通过使用时域相关性,将运动矢量确定的第一树形编码块在参考帧中所有被参考的第二树形编码块的样点自适应补偿模式作为第一树形编码块的样点自适应补偿模式,以便可以提取剔除BO模式或者某些EO模式,从而减少像素级处理的次数,进而减少编码过程消耗的时间。
图1为本申请实施例的树形编码块的样点自适应补偿模式确定方法的环境示意图;
图2为本申请所述的树形编码块的样点自适应补偿模式确定方法的一种实施例的流程图;
图3为本申请一实施方式中根据所述运动矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块的步骤细化流程示意图;
图4为视频帧划分为多个树形编码块的示意图;
图5为本申请一实施方式中将获取到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式的步骤细化流程示意图;
图6为本申请所述的树形编码块的样点自适应补偿模式确定方法的另一种实施例的流程图;
图7为本申请所述的树形编码块的样点自适应补偿模式确定装置的一种实施例的程序模块图;
图8为本申请实施例提供的执行树形编码块的样点自适应补偿模式确定方法的计算机设备的硬件结构示意图。
以下结合附图与具体实施例进一步阐述本申请的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
图1示意性示出了根据本申请实施例的树形编码块的样点自适应补偿模式确定方法的框架示意图。在示例性的实施例中,该应用环境的系统可包括计算机设备10、服务器20。 其中,计算机设备10与服务器20形成无线或有线连接。计算机设备10可以为手机、iPAD,平板电脑、服务器等。服务器20可以为机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。
参阅图2,其为本申请一实施例的树形编码块的样点自适应补偿模式确定方法的流程示意图。本可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备为执行主体进行示例性描述,从图中可以看出,本实施例中所提供的树形编码块的样点自适应补偿模式确定方法包括:
步骤S20、获取当前待处理的第一树形编码块中包含的至少一个预测单元的运动矢量,以及获取所述第一树形编码块对应的视频帧的参考帧。
具体地,树形编码块(Coding Tree Block,CTB)可以为HEVC中的样点自适应补偿技术(Sample Adaptive Offset,SAO)中的树形编码单元(Coding Tree Unit,CTU)所包含的亮度CTB或者色度CTB。一个树形编码块由多个重构像素点组成,比如由16*16、32*32和64*64个多重像素点组成。需要说明的是,重构像素点指的是对原始图像中的各个像素点进行还原后得到的像素点。
其中,一个树形编码块可以根据树形编码块中的图像内容而自适应划分为多个编码块(Coding Blocks,CB),其中划分CB的规则为:相对比较平坦的区域采用大尺寸的CB,而细节多的区域则采用较小尺寸的CB。通常情况下,CB的形状是正方形,亮度分量CB的尺寸可以由8x8大小到亮度CTB的大小,色度CB的尺寸可以由4x4大小到色度CTB的大小(也就是说,亮度CTB的尺寸是亮度CB的最大可支持的尺寸;色度CTB的尺寸是色度CB的最大可支持的尺寸)。
一个CB可以进一步分割成一个预测单元(PU)和变换单元(TU),其中,每一个PU都有一套运动参数,包括运动矢量MV、参考帧索引和参考表标志。
在本实施例中,由于在对图像进行样点自适应补偿(Sample Adaptive Offset,SAO)时,已经对原始图像进行重建,生成了重建图像,并且,在生成重建图像的过程中,会对生成重建图像时所使用的各种参数进行保存。因此,在本实施例中,在获取运动矢量时,可以直接从保存的各种参数中查找所述第一树形编码块中包含的至少一个预测单元的运动矢量,从而从中获取到运动矢量。
在一实施方式中,在获取运动矢量时,可以只获取第一树形编码块中包含的其中一个预测单元的运动矢量,也可以获取第一树形编码块中包含的所有预测单元的运动矢量,或者获取第一树形编码块中包含的部分预测单元的运算矢量。
作为示例,假设第一树形编码块包含有8个预测单元,分别为PU1、PU2、PU3、PU4、 PU5、PU6、PU7、PU8。则在获取运动矢量时,可以仅仅只获取PU1的运动矢量,也可以获取PU1、PU2、PU3的运动矢量,或者获取PU1、PU2、PU3、PU4、PU5、PU6、PU7、PU8的运动矢量等。
在HEVC中,视频帧会被分割为若干个互不重叠的CTB,用来表示视频帧中相互独立的区域。亮度CTB的尺寸可以是16*16/32*32/64*64,色度CTB的尺寸可以是8*8/16*16/32*32,尺寸越大,压缩效果越好。
此外,在HEVC中,在对视频进行处理时,会将视频包含的所有视频帧分割为若干个小的图像组(Group Of Pictures,GOP),每一个图像组包含有若干张按照时间顺序进行排列的视频帧。在HEVC的视频编码中,存在两种GOP类型:封闭式GOP(Closed GOP)和开放式GOP(Open GOP)。每一个GOP包括如下配置参数:
Type:条带类型,为I,B,P之一;
POC:GOP内图像的显示顺序,取值范围为1-GOPSize;
QPOffset:量化参数偏移量,用于计算本帧的实际量化参数;
QPFactor:用于率失真优化的权值;
tcOffsetDiv2:环路滤波器参数的偏移量;
betaOffsetDiv2:环路滤波器参数的偏移量;
temporal_id:当前帧所在的时域子层的序号;
num_ref_pics_active:参考图像列表(reference picture lists)L0和L1的大小;表明在编码过程中使用了多少个参考帧;
num_ref_pics:当前帧所保有的参考帧数,包括当前帧以及未来帧所用到的参考帧;
reference pictures:保存相对于当前帧POC的参考帧的POC,数量又num_ref_pics指定。
predict:定义inter_ref_pic_set_prediction_flag的值。0表示编码RPS不需要RPS预测,并忽略后面的deltaRIdx-1,deltaRPS等参数;1表示需要RPS预测,使用deltaRIdx-1,deltaRPS,num ref idcs和Reference idcs;2表示需要RPS预测,但仅使用deltaRIdx-1;
deltaRIdx-1:当前RPS索引同预测RPS索引的差值-1;
deltaRPS:预测RPS同当前RPS的POC之差;
num_ref_idcs:编码当前RPS的ref_idcs的数量;
reference_idcs:指定RPS间预测的ref_idcs。
在本实施例中,在获取所述第一树形编码块的参考帧时,会先查找所述第一树形编码块属于哪一个视频帧,比如,属于视频帧A,则在确定当前第一树形编码块属于视频帧A 后,会从GOP配置参数中的reference pictures参数中找到视频帧A的参考帧,比如,参考帧为视频帧B及视频帧C。
步骤S21,获取视频的视频分辨率与视频帧率,根据所述视频分辨率与所述视频帧率计算阈值,并根据预设的规则判断所述运动矢量是否大于所述阈值。
具体地,阈值Th=视频分辨率Re/视频帧率Fr。
作为示例,假设视频分辨率为720P,视频帧率为60FPS(Frames per Second,每秒显示帧数),则Th=720/60=12。
其中,运动矢量MV包括横坐标x值与与纵坐标y值,比如一个运动矢量(x,y)为(32,32)。
所述预设的规则为预先设定的用于判定运动矢量MV是否大于阈值Th的规则。
在一示例性的实施方式中,所述根据预设的规则判断所述运动矢量是否大于所述阈值可以包括:
判断a*|x|是否大于所述阈值;或
判断a*|y|是否大于所述阈值;或
其中,a为预设的常量。
具体地,当a*|x|>Th,或a*|y|>Th,或
时,可以判定所述运动矢量大于所述阈值。其中,a为预设的常量,其具体值可以根据实际情况进行设定与调整,比如a=1,或者a=0.8等,在本实施例中,a的具体值优选为1。
需要说明的是,符号“||”为求绝对值的符号。当获取到的运动矢量存在多个时,则只要存在其中一个运动矢量满足a*|x|>Th,或a*|y|>Th,或
时,即可以判定所述运动矢量大于所述阈值。当然,也可以为所有的运动矢量都满足a*|x|>Th,或a*|y|>Th,或
时,才可以判定所述运动矢量大于所述阈值。
可以理解的是,在其他实施方式中,也可以通过判断a*|x+y|是否大于所述阈值的方式来判定所述运动矢量是否大于所述阈值,在本实施例中不作限定。
步骤S22,若判断出所述运动矢量不大于所述阈值,则根据所述运动矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块。
具体地,在判断出所述运动矢量小于或者等于所述阈值时,则根据所述运动矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块。
在本实施例中,当运动矢量存在多个时,则需要根据每一个运动矢量确定第一树形编码块CTB1在参考帧中所有被参考的第二树形编码块CTB2。同理,当参考帧存在多帧时, 也需要依次根据确定每一个运动矢量确定CTB1在不同的参考帧中所有被参考的CTB2。
作为示例,假设运动矢量MV包括MV1与MV2,参考帧包括参考帧1与参考帧2,则在确定CTB2时,需要依次根据MV1确定CTB1在参考帧1中所有被参考的CTB2、根据MV1确定CTB1在参考帧2中所有被参考的CTB2,根据MV2确定CTB1在参考帧1中所有被参考的CTB2、根据MV2确定CTB1在参考帧2中所有被参考的CTB2。
在一示例性的实施方式中,参照图3,所述根据所述运动矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块可以包括步骤S30-S31,其中:
步骤S30,根据所述运动矢量与所述第一树形编码块的尺寸确定所述第一树形编码块在所述参考帧中的参考区域。
具体地,当运动矢量存在多个时,则在确定参考区域时,需要根据每一个运动矢量与所述第一树形编码块的尺寸确定一个参考区域,也就是说,存在多少个运动矢量,就需要确定多少个参考区域。
在本实施例中,在确定参考区域时,是以运动矢量的坐标作为中心,以尺寸作为边长向四周进行扩散得到一个正方形的参考区域。
作为示例,假设存在多个运动矢量MV,分别为MV1=(32,32),MV2=(128,128)第一树形编码块的尺寸为64*64,则参考区域为如图4所示的阴影区域A和B。
步骤S31,将所述参考帧的树形编码块中与所述参考区域存在重叠的树形编码块作为所述第二树形编码块。
作为示例,当参考区域如图4所示,则可以将图4中的树形编码块CTB1、CTB5、CTB6、CTB8、CTB9作为所述第二树形编码块。
在示例性的实施方式中,若判断出所述运动矢量大于所述阈值,则可以将所有的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
具体地,所有的样点自适应补偿模式指的是SAO中的BO模式、EO模式,其中EO模式包括EOO模式、EO1模式、EO2模式和EO3模式。也就是说,所有的样点自适应补偿模式包括BO模式、EOO模式、EO1模式、EO2模式和EO3模式。
步骤S23,依次计算所有的第二树形编码的预设方向的所有树形编码块开启样点自适应补偿模式的第一概率,以及计算所述第一树形编码块的所述预设方向的所有树形编码块开启样点自适应补偿模式的第二概率。
具体地,所述预设方向为预先设定的方向,该方向可以根据实际情况进行设定和调整。所述预设方向优选为左上方向,其中,左上方向的所有树形编码块指的是位于第二树形编码的左边和上边的树形编码块。
作为示例,第二树形编码块CTB5左上方向的树形编码块包括CTB1、CTB2、CTB3、CTB4等;第二树形编码块CTB6左上方向的树形编码块包括CTB1、CTB2、CTB3、CTB4、CTB5等;第二树形编码块CTB8包括CTB1、CTB2、CTB3、CTB4、CTB5、CTB6、CTB7等;第二树形编码块CTB9包括CTB1、CTB2、CTB3、CTB4、CTB5、CTB6、CTB7、CTB8等。
其中,开启样点自适应补偿模式指的是树形编码块选择了BO模式、EOO模式、EO1模式、EO2模式和EO3模式中的任意一种模式进行像素补偿;不开启样点自适应补偿模式指的是树形编码块没有选择BO模式、EOO模式、EO1模式、EO2模式和EO3模式中的任意一种模式进行像素补偿。
作为示例,参照图4,假设第二树形编码块CTB5的预设方向上总共有10个CTB,其中,有6个开启了样点自适应补偿模式,则第一概率pref1=6/10;第二树形编码块CTB6的预设方向上总共有11个CTB,其中,有6个开启了样点自适应补偿模式,则第一概率pref2=6/11;第二树形编码块CTB8的预设方向上总共有20个CTB,其中,有13个开启了样点自适应补偿模式,则第一概率pref3=13/20;第二树形编码块CTB9的预设方向上总共有21个CTB,其中,有14个开启了样点自适应补偿模式,则第一概率pref4=14/21。
同理,假设第一树形编码块的的预设方向上总共有10个CTB,其中,有5个开启了样点自适应补偿模式,则第二概率pcurr=5/10。
步骤S24,根据各个第一概率与所述第二概率确定所有的第二树形编码块的样点自适应补偿模式是否可信。
在一实施方式中,当所有的第一概率pref都大于所述第二概率pcurr时,即当所有的pref>pcurr时,可以确定所有的第二树形编码块的样点自适应补偿模式是可信的。
在另一实施方式中,当所有的第一概率pref中存在一个第一概率pref大于所述第二概率时pcurr,即当其中一个pref>pcurr时,就可以确定所有的第二树形编码块的样点自适应补偿模式是可信的。
在一示例性的实施方式中,若根据各个第一概率与所述第二概率确定所有的第二树形编码块的样点自适应补偿模式不可信,则可以将所有的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
具体地,所有的样点自适应补偿模式指的是SAO中的BO模式、EO模式,其中EO模式包括EOO模式、EO1模式、EO2模式和EO3模式。也就是说,所有的样点自适应补偿模式包括BO模式、EOO模式、EO1模式、EO2模式和EO3模式。
步骤S25,若可信,则获取所有的第二树形编码块的样点自适应补偿模式,并将获取 到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
具体地,所有类型的样点自适应补偿模式指的是不同模式的样点自适应补偿模式。可信指的是是否可以将所有的第二树形编码块的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
在本实施例中,若确定所有的第二树形编码块的样点自适应补偿模式是可信的,则可以从预先保存的各种参数中找到所有的第二树形编码块的样点自适应补偿模式,然后,将获取到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
作为示例,假设存在4个第二树形编码块,分别为CTB a、CTB b、CTB c及CTB d,且获取到的样点自适应补偿模式分别为BO模式、EOO模式、EO0模式、EO3模式,则可以将BO模式、EOO模式、及EO3模式作为所述第一树形编码块的样点自适应补偿模式。
在示例性的实施方式中,参照图5,所述将获取到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式可以包括步骤S50-S51,其中:
步骤S50,将获取到的所有的第二树形编码块的样点自适应补偿模式添加至样点自适应补偿模式列表中。
具体地,可以预先声明一个样点自适应补偿模式列表SAO_LIST,用于存储样点自适应补偿模式。在本实施例中,SAO_LIST的初始值为空。当获取到所有的第二树形编码块的样点自适应补偿模式后,即可以将这些样点自适应补偿模式添加至SAO_LIST中。
步骤S51,将所述样点自适应补偿模式列表中包含的重复的样点自适应补偿模式从所述样点自适应补偿模式列表中删除,并将经过删除处理后剩下的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
作为示例,假设获取到的所有的第二树形编码块的样点自适应补偿模式依次为BO模式、EOO模式、EO0模式、EO3模式,则由于SAO_LIST中存在两个EOO模式,则可以将一个EOO模式从SAO_LIST中删除,并将SAO_LIST中剩下的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式,即将BO模式、EOO模式、及EO3模式作为所述第一树形编码块的样点自适应补偿模式。
本实施例中,通过在获取到有的第二树形编码块的样点自适应补偿模式后,先将其存入至列表中,从而可以方便后续对重复的样点自适应补偿模式进行删除。
本申请实施例中,通过获取当前待处理的第一树形编码块中包含的至少一个预测单元的运动矢量,以及获取所述第一树形编码块对应的视频帧的参考帧;获取视频的视频分辨率与视频帧率,根据所述视频分辨率与所述视频帧率计算阈值,并根据预设的规则判断所述运动矢量是否大于所述阈值;若判断出所述运动矢量不大于所述阈值,则根据所述运动 矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块;依次计算所有的第二树形编码的预设方向的所有树形编码块开启样点自适应补偿模式的第一概率,以及计算所述第一树形编码块的预设方向的所有树形编码块开启样点自适应补偿模式的第二概率;根据各个第一概率与所述第二概率确定所有的第二树形编码块的样点自适应补偿模式是否可信;若可信,则获取所有的第二树形编码块的样点自适应补偿模式,并将获取到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。在本申请实施例中,通过使用时域相关性,将运动矢量确定的第一树形编码块在参考帧中所有被参考的第二树形编码块的样点自适应补偿模式作为第一树形编码块的样点自适应补偿模式,以便可以提取剔除BO模式或者某些EO模式,从而减少像素级处理的次数,进而减少编码过程消耗的时间。在另一示例性的实施方式中,参照图6,所述树形编码块的样点自适应补偿模式确定方法包括:
步骤S60,获取所述第一树形编码块的属性信息,所述属性信息包括所述第一树形编码块的横坐标、纵坐标及所述第一树形编码块对应的视频帧所属的层次信息中的至少一种。
具体地,在HEVC中,视频帧会被分割为若干个互不重叠的CTB,并会建立一个坐标系用于方便确定每一个CTB在视频帧中的位置。在一具体场景中,可以建立如图7所示的坐标系。当需要获取第一编码块的横坐标或纵坐标时,即可以根据该坐标系进行确定。
需要说明的是,在本实施例中,第一树形编码块的横坐标、纵坐标分别是指的第一树形编码块的左上顶点的横坐标和纵坐标。参照图4所示,则第一树形编码块CTB1的横坐标即为0,纵坐标也为0。
在本实施例中,所述第一树形编码块对应的视频帧所属的层次信息指的是所述第一树形编码块对应的视频帧所在的时域子层的序号,其可以从视频帧所在的GOP的temporal_id参数中获取,比如,temporal_id=0,则表示所述第一树形编码块对应的视频帧所属的层次信息为第0层。
步骤S61,判断所述属性信息是否符合预设条件。
具体地,所述预设条件为预先设定的用于判定是否需要执行获取当前待处理的第一树形编码块中包含的至少一个预测单元的运动矢量的步骤条件。
在一示例性的实施方式中,所述属性信息是否符合预设条件可以包括:
判断所述横坐标是否小于第一预设值;或
判断所述横坐标是否小于第二预设值;或
判断所述层次信息是否为预设的层次。
具体地,所述第一预设值与所述第二预设值可以根据实际情况进行设定与调整,该第 一预设值可以和第二预设值相同,也可以不相同。所述预设的层次也可以根据实际情况进行设定与调整。
作为示例,若所述第一预设值为32,所述第二预设值也为32,所述预设的层次为第0层与第1层,则在横坐标小于32,或者纵坐标小于32,或者所述层次信息为第第0层或者第1层时,可以判定出所述属性信息符合所述预设条件。
可以理解的是,在其他实施方式中,也可以通过判断所述横坐标是否小于第一预设值,且所述纵坐标是否也小于第二预设值的方式来判定所述属性信息是否符合预设条件,在本实施例中不作限定。
在一示例性的实施方式中,若所述属性信息符合所述预设条件,则将所有的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
具体地,所有的样点自适应补偿模式指的是SAO中的BO模式、EO模式,其中EO模式包括EOO模式、EO1模式、EO2模式和EO3模式。也就是说,所有的样点自适应补偿模式包括BO模式、EOO模式、EO1模式、EO2模式和EO3模式。
步骤S62,若所述属性信息不符合所述预设条件,则获取当前待处理的第一树形编码块中包含的至少一个预测单元的运动矢量,以及获取所述第一树形编码块对应的视频帧的参考帧。
步骤S63,获取视频的视频分辨率与视频帧率,根据所述视频分辨率与所述视频帧率计算阈值,并根据预设的规则判断所述运动矢量是否大于所述阈值;
步骤S64,若判断出所述运动矢量不大于所述阈值,则根据所述运动矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块;
步骤S65,依次计算所有的第二树形编码的预设方向的所有树形编码块开启样点自适应补偿模式的第一概率,以及计算所述第一树形编码块的所述预设方向的所有树形编码块开启样点自适应补偿模式的第二概率;
步骤S66,根据各个第一概率与所述第二概率确定所有的第二树形编码块的样点自适应补偿模式是否可信;
步骤S67,若可信,则获取所有的第二树形编码块的样点自适应补偿模式,并将获取到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
具体地,上述步骤S62-S67与上述实施例中的步骤S20-S25类似,在本实施例中不在赘述。
本申请实施例中,通过使用时域相关性,将运动矢量确定的第一树形编码块在参考帧中所有被参考的第二树形编码块的样点自适应补偿模式作为第一树形编码块的样点自适应 补偿模式,以便可以提取剔除BO模式或者某些EO模式,从而减少像素级处理的次数,进而减少编码过程消耗的时间。
在一示例性的实施方式中,所述树形编码块的样点自适应补偿模式确定方法还可以包括:
获取处于所述第一树形编码块的预设位置处的第三树形编码块的样点自适应补偿模式,其中,所述预设位置包括左边、上边、左上角、右上角中的至少一种;
将所述第三树形编码块的样点自适应补偿模式添加至所述样点自适应补偿模式列表中。
具体地,在获取第三树形编码块的样点自适应补偿模式时,可以只获取位于第一树形编码块的左边、上边、左上角、右上角中的其中一处位置的第三树形编码块的样点自适应补偿模式,或者也可以只获取位于第一树形编码块的左边、上边、左上角、右上角中的其中两处位置的第三树形编码块的样点自适应补偿模式,或者也可以只获取位于第一树形编码块的左边、上边、左上角、右上角中的其中三处位置的第三树形编码块的样点自适应补偿模式;或者获取位于第一树形编码块的左边、上边、左上角、右上角中所有位置的第三树形编码块的样点自适应补偿模式,在本实施例中不作限定。
在获取到第三树形编码块的样点自适应补偿模式,即可以将其添加至所述样点自适应补偿模式列表中,作为第一树形编码块的参考样点自适应补偿模式。
需要说明的是,本实施例中的左边、上边、左上角、右上角仅仅指的是与第一树形编码块最近的左边、上边、左上角、右上角的位置。
本实施例中,通过时域和空域相结合的方式来确定出样点自适应补偿模式作为第一树形编码块的样点自适应补偿模式,可以提前剔除BO模式或者某些EO模式,减少像素级处理的次数,进而减少编码过程消耗的时间。
参阅图7所示,是本申请树形编码块的样点自适应补偿模式确定装置70一实施例的程序模块图。
本实施例中,所述树形编码块的样点自适应补偿模式确定装置70包括一系列的存储于存储器上的计算机可读指令,当该计算机可读指令被处理器执行时,可以实现本申请各实施例的树形编码块的样点自适应补偿模式确定功能。在一些实施例中,基于该计算机可读指令各部分所实现的特定的操作,树形编码块的样点自适应补偿模式确定装置70可以被划分为一个或多个模块,具体可以划分的模块如下:
获取模块71,用于获取当前待处理的第一树形编码块中包含的至少一个预测单元的运动矢量,以及获取所述第一树形编码块对应的视频帧的参考帧;
判断模块72,用于获取视频的视频分辨率与视频帧率,根据所述视频分辨率与所述视 频帧率计算阈值,并根据预设的规则判断所述运动矢量是否大于所述阈值;
第一确定模块73,用于若判断出所述运动矢量不大于所述阈值,则根据所述运动矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块;
计算模块74,用于依次计算所有的第二树形编码的预设方向的所有树形编码块开启样点自适应补偿模式的第一概率,以及计算所述第一树形编码块的所述预设方向的所有树形编码块开启样点自适应补偿模式的第二概率;
第二确定模块75,用于根据各个第一概率与所述第二概率确定所有的第二树形编码块的样点自适应补偿模式是否可信;
作为模块76,用于若可信,则获取所有的第二树形编码块的样点自适应补偿模式,并将获取到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
在一示例性的实施方式中,所述树形编码块的样点自适应补偿模式确定装置70还包括属性信息获取模块、预设条件判断模块及执行模块。
所述属性信息获取模块,用于获取所述第一树形编码块的属性信息,所述属性信息包括所述第一树形编码块的横坐标、纵坐标及所述第一树形编码块对应的视频帧所属的层次信息中的至少一种;
所述预设条件判断模块,用于判断所述属性信息是否符合预设条件;
所述执行模块,用于若所述属性信息不符合所述预设条件,则执行所述获取当前待处理的第一树形编码块中包含的至少一个预测单元的运动矢量,以及获取所述第一树形编码块对应的视频帧的参考帧的步骤。
在一示例性的实施方式中,所述预设条件判断模块,还用于判断所述横坐标是否小于第一预设值;或用于判断所述横坐标是否小于第二预设值;或用于判断所述层次信息是否为预设的层次。
在一示例性的实施方式中,所述作为模块76,还用于若所述属性信息符合所述预设条件,则将所有的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式;或用于若判断出所述运动矢量大于所述阈值,则将所有的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式;或用于若根据各个第一概率与所述第二概率确定所有的第二树形编码块的样点自适应补偿模式不可信,则将所有的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
在一示例性的实施方式中,所述作为模块76,还用于将获取到的所有的第二树形编码块的样点自适应补偿模式添加至样点自适应补偿模式列表中;及将所述样点自适应补偿模 式列表中包含的重复的样点自适应补偿模式从所述样点自适应补偿模式列表中删除,并将经过删除处理后剩下的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
在一示例性的实施方式中,所述树形编码块的样点自适应补偿模式确定装置70还包括添加模块。
所述获取模块71,还用于获取处于所述第一树形编码块的预设位置处的第三树形编码块的样点自适应补偿模式,其中,所述预设位置包括左边、上边、左上角、右上角中的至少一种。
所述添加模块,用于将所述第三树形编码块的样点自适应补偿模式添加至所述样点自适应补偿模式列表中。
在一示例性的实施方式中,所述运动矢量包括横坐标x值与纵坐标y值,所述判断模块72,还用于判断a*|x|是否大于所述阈值;或用于判断a*|y|是否大于所述阈值;或用于判断
是否大于所述阈值;其中,a为预设的常量。
在一示例性的实施方式中,所述第一确定模块73,还用于根据所述运动矢量与所述第一树形编码块的尺寸确定所述第一树形编码块在所述参考帧中的参考区域;将所述参考帧的树形编码块中与所述参考区域存在重叠的树形编码块作为所述第二树形编码块。
本申请实施例中,通过获取当前待处理的第一树形编码块中包含的至少一个预测单元的运动矢量,以及获取所述第一树形编码块对应的视频帧的参考帧;获取视频的视频分辨率与视频帧率,根据所述视频分辨率与所述视频帧率计算阈值,并根据预设的规则判断所述运动矢量是否大于所述阈值;若判断出所述运动矢量不大于所述阈值,则根据所述运动矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块;依次计算所有的第二树形编码的预设方向的所有树形编码块开启样点自适应补偿模式的第一概率,以及计算所述第一树形编码块的预设方向的所有树形编码块开启样点自适应补偿模式的第二概率;根据各个第一概率与所述第二概率确定所有的第二树形编码块的样点自适应补偿模式是否可信;若可信,则获取所有的第二树形编码块的样点自适应补偿模式,并将获取到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。在本申请实施例中,通过使用时域相关性,将运动矢量确定的第一树形编码块在参考帧中所有被参考的第二树形编码块的样点自适应补偿模式作为第一树形编码块的样点自适应补偿模式,以便可以提取剔除BO模式或者某些EO模式,从而减少像素级处理的次数,进而减少编码过程消耗的时间。
图8示意性示出了根据本申请实施例的适于实现树形编码块的样点自适应补偿模式确 定方法的计算机设备10的硬件架构示意图。本实施例中,计算机设备10是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图8所示,计算机设备10至少包括但不限于:可通过系统总线相互通信链接存储器120、处理器121、网络接口122。其中:
存储器120至少包括一种类型的计算机可读存储介质,该可读存储介质可以是易失性的,也可以是非易失性的,具体而言,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器120可以是计算机设备10的内部存储模块,例如该计算机设备10的硬盘或内存。在另一些实施例中,存储器120也可以是计算机设备10的外部存储设备,例如该计算机设备10上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器120还可以既包括计算机设备10的内部存储模块也包括其外部存储设备。本实施例中,存储器120通常用于存储安装于计算机设备10的操作系统和各类应用软件,例如树形编码块的样点自适应补偿模式确定方法的程序代码等。此外,存储器120还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器121在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其它树形编码块的样点自适应补偿模式确定芯片。该处理器121通常用于控制计算机设备10的总体操作,例如执行与计算机设备10进行数据交互或者通信相关的控制和处理等。本实施例中,处理器121用于运行存储器120中存储的程序代码或者处理数据。
网络接口122可包括无线网络接口或有线网络接口,该网络接口122通常用于在计算机设备10与其它计算机设备之间建立通信链接。例如,网络接口122用于通过网络将计算机设备10与外部终端相连,在计算机设备10与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件120~122的计算机设备,但是应理解的是,并 不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器120中的树形编码块的样点自适应补偿模式确定方法可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器121)所执行,以完成本申请。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质其上存储有计算机可读指令,计算机可读指令被处理器执行时实现实施例中的树形编码块的样点自适应补偿模式确定方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的树形编码块的样点自适应补偿模式确定方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要筛选出其中的部分或者全部模块来实现本申请实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机可读指令来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管 参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (11)
- 一种树形编码块的样点自适应补偿模式确定方法,包括:获取当前待处理的第一树形编码块中包含的至少一个预测单元的运动矢量,以及获取所述第一树形编码块对应的视频帧的参考帧;获取视频的视频分辨率与视频帧率,根据所述视频分辨率与所述视频帧率计算阈值,并根据预设的规则判断所述运动矢量是否大于所述阈值;若判断出所述运动矢量不大于所述阈值,则根据所述运动矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块;依次计算所有的第二树形编码的预设方向的所有树形编码块开启样点自适应补偿模式的第一概率,以及计算所述第一树形编码块的所述预设方向的所有树形编码块开启样点自适应补偿模式的第二概率;根据各个第一概率与所述第二概率确定所有的第二树形编码块的样点自适应补偿模式是否可信;若可信,则获取所有的第二树形编码块的样点自适应补偿模式,并将获取到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
- 根据权利要求1所述的树形编码块的样点自适应补偿模式确定方法,所述方法还包括:获取所述第一树形编码块的属性信息,所述属性信息包括所述第一树形编码块的横坐标、纵坐标及所述第一树形编码块对应的视频帧所属的层次信息中的至少一种;判断所述属性信息是否符合预设条件;若所述属性信息不符合所述预设条件,则执行所述获取当前待处理的第一树形编码块中包含的至少一个预测单元的运动矢量,以及获取所述第一树形编码块对应的视频帧的参考帧的步骤。
- 根据权利要求2所述的树形编码块的样点自适应补偿模式确定方法,所述判断所述属性信息是否符合预设条件包括:判断所述横坐标是否小于第一预设值;或判断所述横坐标是否小于第二预设值;或判断所述层次信息是否为预设的层次。
- 根据权利要求2所述的树形编码块的样点自适应补偿模式确定方法,所述方法还包括:若所述属性信息符合所述预设条件,则将所有的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式;或若判断出所述运动矢量大于所述阈值,则将所有的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式;或若根据各个第一概率与所述第二概率确定所有的第二树形编码块的样点自适应补偿模式不可信,则将所有的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
- 根据权利要求1至4任一项所述的树形编码块的样点自适应补偿模式确定方法,所述将获取到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式包括:将获取到的所有的第二树形编码块的样点自适应补偿模式添加至样点自适应补偿模式列表中;将所述样点自适应补偿模式列表中包含的重复的样点自适应补偿模式从所述样点自适应补偿模式列表中删除,并将经过删除处理后剩下的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
- 根据权利要求5所述的树形编码块的样点自适应补偿模式确定方法,所述方法还包括:获取处于所述第一树形编码块的预设位置处的第三树形编码块的样点自适应补偿模式,其中,所述预设位置包括左边、上边、左上角、右上角中的至少一种;将所述第三树形编码块的样点自适应补偿模式添加至所述样点自适应补偿模式列表中。
- 根据权利要求1所述的树形编码块的样点自适应补偿模式确定方法,所述根据所述运动矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块包括:根据所述运动矢量与所述第一树形编码块的尺寸确定所述第一树形编码块在所述参考帧中的参考区域;将所述参考帧的树形编码块中与所述参考区域存在重叠的树形编码块作为所述第二树形编码块。
- 一种树形编码块的样点自适应补偿模式确定装置,包括:获取模块,用于获取当前待处理的第一树形编码块中包含的至少一个预测单元的运动矢量,以及获取所述第一树形编码块对应的视频帧的参考帧;判断模块,用于获取视频的视频分辨率与视频帧率,根据所述视频分辨率与所述视频帧率计算阈值,并根据预设的规则判断所述运动矢量是否大于所述阈值;第一确定模块,用于若判断出所述运动矢量不大于所述阈值,则根据所述运动矢量确定所述第一树形编码块在所述参考帧中所有被参考的第二树形编码块;计算模块,用于依次计算所有的第二树形编码的预设方向的所有树形编码块开启样点自适应补偿模式的第一概率,以及计算所述第一树形编码块的所述预设方向的所有树形编码块开启样点自适应补偿模式的第二概率;第二确定模块,用于根据各个第一概率与所述第二概率确定所有的第二树形编码块的样点自适应补偿模式是否可信;作为模块,用于若可信,则获取所有的第二树形编码块的样点自适应补偿模式,并将获取到的所有类型的样点自适应补偿模式作为所述第一树形编码块的样点自适应补偿模式。
- 一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现权利要求1至8任一项所述的树形编码块的样点自适应补偿模式确定方法的步骤。
- 一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现权利要求1至8任一项所述的树形编码块的样点自适应补偿模式确定方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22770190.1A EP4250743A4 (en) | 2021-03-17 | 2022-01-20 | METHOD AND DEVICE FOR DETERMINING THE SAMPLE-ADAPTIVE OFFSET MODE OF A CODING TREE BLOCK |
US18/209,715 US20230328253A1 (en) | 2021-03-17 | 2023-06-14 | Determination of Sample Adaptive Offset Mode of Coding Tree Block |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110283711.4A CN113068050B (zh) | 2021-03-17 | 2021-03-17 | 树形编码块的样点自适应补偿模式确定方法、装置 |
CN202110283711.4 | 2021-03-17 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/209,715 Continuation US20230328253A1 (en) | 2021-03-17 | 2023-06-14 | Determination of Sample Adaptive Offset Mode of Coding Tree Block |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022193830A1 true WO2022193830A1 (zh) | 2022-09-22 |
Family
ID=76560764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/072844 WO2022193830A1 (zh) | 2021-03-17 | 2022-01-20 | 树形编码块的样点自适应补偿模式确定方法、装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230328253A1 (zh) |
EP (1) | EP4250743A4 (zh) |
CN (1) | CN113068050B (zh) |
WO (1) | WO2022193830A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113068050B (zh) * | 2021-03-17 | 2022-08-23 | 上海哔哩哔哩科技有限公司 | 树形编码块的样点自适应补偿模式确定方法、装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107343199A (zh) * | 2017-06-29 | 2017-11-10 | 武汉大学 | 用于hevc中样点的快速自适应补偿方法 |
WO2018092982A2 (ko) * | 2016-11-18 | 2018-05-24 | 전자부품연구원 | 적응적 샘플 오프셋 파라미터 예측 방법 및 이를 위한 장치 |
US20190089954A1 (en) * | 2017-09-19 | 2019-03-21 | Fujitsu Limited | Information processing apparatus, information processing method, and information processing program |
WO2021025597A1 (en) * | 2019-08-07 | 2021-02-11 | Huawei Technologies Co., Ltd. | Method and apparatus of sample adaptive offset in-loop filter with application region size constraint |
CN113068050A (zh) * | 2021-03-17 | 2021-07-02 | 上海哔哩哔哩科技有限公司 | 树形编码块的样点自适应补偿模式确定方法、装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9912942B2 (en) * | 2012-12-28 | 2018-03-06 | Qualcomm Incorporated | High-frequency-pass sample adaptive offset in video coding |
GB2533905A (en) * | 2014-10-06 | 2016-07-13 | Canon Kk | Method and apparatus for video coding and decoding |
CN106131554B (zh) * | 2016-07-07 | 2019-07-26 | 杭州电子科技大学 | 基于主要边缘方向的hevc快速样点自适应补偿方法 |
CN109756736B (zh) * | 2017-11-01 | 2021-02-12 | 北京金山云网络技术有限公司 | Sao模式决策方法、装置、电子设备及可读存储介质 |
US11070816B2 (en) * | 2019-06-18 | 2021-07-20 | Tencent America LLC | Conversion of decoded block vector for intra picture block compensation |
-
2021
- 2021-03-17 CN CN202110283711.4A patent/CN113068050B/zh active Active
-
2022
- 2022-01-20 WO PCT/CN2022/072844 patent/WO2022193830A1/zh unknown
- 2022-01-20 EP EP22770190.1A patent/EP4250743A4/en active Pending
-
2023
- 2023-06-14 US US18/209,715 patent/US20230328253A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018092982A2 (ko) * | 2016-11-18 | 2018-05-24 | 전자부품연구원 | 적응적 샘플 오프셋 파라미터 예측 방법 및 이를 위한 장치 |
CN107343199A (zh) * | 2017-06-29 | 2017-11-10 | 武汉大学 | 用于hevc中样点的快速自适应补偿方法 |
US20190089954A1 (en) * | 2017-09-19 | 2019-03-21 | Fujitsu Limited | Information processing apparatus, information processing method, and information processing program |
WO2021025597A1 (en) * | 2019-08-07 | 2021-02-11 | Huawei Technologies Co., Ltd. | Method and apparatus of sample adaptive offset in-loop filter with application region size constraint |
CN113068050A (zh) * | 2021-03-17 | 2021-07-02 | 上海哔哩哔哩科技有限公司 | 树形编码块的样点自适应补偿模式确定方法、装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP4250743A4 |
Also Published As
Publication number | Publication date |
---|---|
EP4250743A4 (en) | 2024-05-15 |
US20230328253A1 (en) | 2023-10-12 |
CN113068050B (zh) | 2022-08-23 |
CN113068050A (zh) | 2021-07-02 |
EP4250743A1 (en) | 2023-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Park et al. | Fast multi-type tree partitioning for versatile video coding using a lightweight neural network | |
EP3389276B1 (en) | Hash-based encoder decisions for video coding | |
US10536692B2 (en) | Picture prediction method and related apparatus | |
KR102271765B1 (ko) | 인트라프레임 예측 방법과 장치, 비디오 인코딩 장치 및 저장 매체 | |
US20220159292A1 (en) | Filtering method for removing blocking artifact and apparatus | |
EP3890321A1 (en) | Image reconstruction method and device | |
US20090296816A1 (en) | Method and System for Using Motion Vector Confidence to Determine a Fine Motion Estimation Patch Priority List for a Scalable Coder | |
US11470344B2 (en) | Frame-rate up conversion with low complexity | |
CN112672149B (zh) | 一种视频处理方法、装置、存储介质及服务器 | |
US12126792B2 (en) | Displacement vector prediction method and apparatus in video encoding and decoding and device | |
US20220101492A1 (en) | Method and apparatus for block-wise neural image compression with post filtering | |
US20230328253A1 (en) | Determination of Sample Adaptive Offset Mode of Coding Tree Block | |
WO2019191714A1 (en) | Template based adaptive weighted bi-prediction for video coding | |
US20230396780A1 (en) | Illumination compensation method, encoder, and decoder | |
Zheng‐Jie et al. | Fast intra partition and mode prediction for equirectangular projection 360‐degree video coding | |
CN109951706B (zh) | 一种视频编码方法、装置及编码器 | |
US12114006B2 (en) | Method and apparatus for constructing motion information list in video encoding and decoding and device | |
CN115665424A (zh) | 图像处理方法、装置、设备、存储介质及程序产品 | |
US11659170B2 (en) | Systems and methods for intra prediction | |
CN114697650B (zh) | 基于下采样的帧内划分方法、相关装置设备及介质 | |
CN112804525B (zh) | Ibc模式帧内块拷贝预测方法、装置、介质及设备 | |
CN108933945B (zh) | 一种gif图片的压缩方法、装置及存储介质 | |
CN115190305A (zh) | 在视频编码装置中进行图像处理的方法、装置、介质及系统 | |
CN116760983B (zh) | 用于视频编码的环路滤波方法及装置 | |
Lee | Novel skip motion estimation for efficient inter coding in HEVC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22770190 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2022770190 Country of ref document: EP Effective date: 20230622 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |