WO2020078327A1 - Encoding/decoding method and device - Google Patents

Encoding/decoding method and device Download PDF

Info

Publication number
WO2020078327A1
WO2020078327A1 PCT/CN2019/111076 CN2019111076W WO2020078327A1 WO 2020078327 A1 WO2020078327 A1 WO 2020078327A1 CN 2019111076 W CN2019111076 W CN 2019111076W WO 2020078327 A1 WO2020078327 A1 WO 2020078327A1
Authority
WO
WIPO (PCT)
Prior art keywords
encoding
information
block
sub
mode
Prior art date
Application number
PCT/CN2019/111076
Other languages
French (fr)
Chinese (zh)
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 WO2020078327A1 publication Critical patent/WO2020078327A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods 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/176Methods 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

Definitions

  • the present application relates to the field of communications, and more specifically, to a method and device for encoding and decoding.
  • the Joint Video Expert Group (joint video exploration team, JVET) is developing a new generation of video encoding compression standard H.266 / universal video encoding (VVC).
  • Audio and video coding standard 3 (audio video coding standard 3, AVS3) is developing a new generation of standards AVS3 is generally based on this framework structure.
  • multiple coding tools are adopted, distributed in each module of prediction, transformation, quantization, loop filtering and entropy coding.
  • the skip and direct encoding methods in AVS3 are not developed, and motion search is not performed, and only the motion vector (MV) is exported through the encoded surrounding blocks, among which skip encoding
  • the residual information is not transmitted, and the residual information needs to be transmitted in the direct coding, and the skip coding and direct coding are only for the 2N ⁇ 2N mode, and the coding gain is low.
  • the present application provides a codec method and device, with a view to improving coding gain.
  • a coding method includes: an encoding device derives a derivative block according to an encoding block to be encoded; the encoding device uses a first encoding mode to encode the derivative block to obtain a first
  • the first encoding mode of the encoding information includes a skip encoding mode or a direct encoding mode; the encoding device determines a code stream according to the first encoding information, and the code stream includes indication information, and the indication information is used to indicate the
  • the first encoding information is obtained by encoding the derivative block or the sub-blocks of the derivative block using the skip encoding mode or the direct encoding mode.
  • the encoding device uses the first encoding mode to encode the derived block to obtain first encoding information, including:
  • the first encoding mode is adopted to encode the derivative block to obtain the first encoding information.
  • the preset condition may be one or more of the following:
  • the encoding device may encode the derivative block or its sub-blocks using the skip encoding mode or the direct encoding mode to obtain first encoding information, the derivative block and each of the derivative blocks The sub-blocks share the first encoded information.
  • the derived block when the size of the derived block is greater than the third value, the derived block is encoded in skip coding mode or direct encoding mode; when the size of the derived block is less than the fourth value, the A sub-block is coded in skip coding mode or direct coding mode; when the size of the derived block is smaller than the fifth value, the second sub-block is coded in skip coding mode or direct coding mode; wherein, the derived block includes The first sub-block and the second sub-block.
  • the derived block or sub-block derived from the encoded block is encoded in the skip encoding mode or the direct encoding mode. Since the skip encoding mode or the direct encoding mode does not perform the motion search process, it can be At lower complexity, better coding gain and good quality are obtained.
  • the derivative block is composed of multiple sub-blocks
  • the encoding device encodes the derivative block to obtain first encoding information, including: the encoding device uses In the first encoding mode, each of the plurality of sub-blocks is encoded separately to obtain a plurality of encoding information; the encoding device determines the first encoding information from the plurality of encoding information.
  • the encoding device determining the first encoding information from the plurality of encoding information includes: the encoding device determining the cost of the plurality of encoding information; the The encoding device determines the first encoded information according to the cost of the multiple encoded information.
  • the cost calculation method includes but is not limited to RDO, SAD, or SATD.
  • the first encoding information is the lowest-cost encoding information among the plurality of encoding information.
  • the skip coding mode or the direct coding mode to encode each sub-block in the derivative block derived from the coding block, and selecting the least expensive coding information therefrom, it can be at a lower complexity, Get better coding gain and good quality.
  • the first encoded information is any one of the encoded information.
  • the first encoded information is the plurality of encoded information.
  • the indication information is also used to indicate that the encoding information of each sub-block in the plurality of sub-blocks is the same or different.
  • the encoding device may encode each sub-block, or may encode a part of the sub-blocks in the derived block.
  • the derivative block is composed of multiple sub-blocks
  • the encoding device encodes the derivative block to obtain first encoding information, including: the encoding device uses The first encoding mode encodes the derived block to obtain second encoding information; the encoding device uses the first encoding mode to encode each of the multiple sub-blocks separately to obtain multiple encoding information; The encoding device determines the first encoding information based on the second encoding information and the plurality of encoding information.
  • the derivative block derived from the encoding block and each sub-block in the derivative block are encoded in skip encoding mode or direct encoding mode, respectively, and the one with the lower cost is determined as the first encoding Information, you can get better coding gain and good quality at lower complexity.
  • the encoding device determines the first encoding information according to the second encoding information and the third encoding information, including: the encoding device determines the second The cost of coding information and the cost of the plurality of coding information; the coding device determines the first coding information according to the cost of the second coding information and the cost of the plurality of coding information.
  • the indication information is further used to indicate that the first encoding information is the second encoding information or the plurality of encoding information.
  • the first encoded information is the second encoded information
  • the cost of the second encoded information is greater than the multiple The cost of encoding information
  • the first encoding information is the plurality of encoding information
  • a decoding method includes: a decoding device determining instruction information from a code stream, where the instruction information is used to instruct a derivative block to be encoded using a first encoding mode to obtain encoding information; The instruction information uses the first coding mode to decode the derived block.
  • the first coding mode includes a skip coding mode or a direct coding mode.
  • the derivative block is derived from the encoding block in the derivative mode.
  • the indication information is used to indicate that the encoding information is obtained by encoding the first sub-block using the first encoding mode
  • An encoding mode for decoding the derived block includes: the decoding device uses the first encoding mode to decode the first sub-block.
  • the derived block is composed of multiple sub-blocks, and the indication information is further used to indicate that the first coding mode is adopted for each of the multiple sub-blocks.
  • the obtained encoding information is the same, and the decoding device decodes the derived block using the first encoding mode, including: the decoding device uses the first encoding mode to decode the second sub-block, and the second sub-block is the Any one of multiple sub-blocks.
  • the derived block is composed of multiple sub-blocks, and the indication information is further used to indicate that the first coding mode is adopted for each of the multiple sub-blocks.
  • the obtained coding information is different.
  • the decoding device uses the first coding mode to decode the derived block, including: the decoding device uses the first coding mode to decode each of the plurality of sub-blocks separately.
  • an encoding device including a module for performing the method in the first aspect or any implementation manner of the first aspect.
  • an encoding device including a module for executing the method in the second aspect or any implementation manner of the second aspect.
  • a decoding apparatus including: a nonvolatile memory and a processor coupled to each other, the processor calling program code stored in the memory to perform the first aspect or any of the first aspect Part or all of the steps of the method in an implementation.
  • a decoding apparatus including: a non-volatile memory and a processor coupled to each other, the processor calling program code stored in the memory to perform the second aspect or any of the second aspect Part or all of the steps of the method in an implementation.
  • a computer-readable storage medium stores program code, wherein the program code includes any one of the implementation manners for executing the first aspect or the second aspect Instructions for some or all steps of the method.
  • a computer program product that, when the computer program product runs on a computer, causes the computer to perform part or all of the steps of the method in any implementation manner of the first aspect or the second aspect Instructions.
  • Figure 1 is a schematic diagram of the image encoding process.
  • FIG. 2 is a schematic diagram of a block division manner.
  • FIG. 3 is a schematic diagram of another block division manner.
  • FIG. 4 is a schematic diagram of the spatial position relationship of block E and its neighboring blocks.
  • FIG. 5 is a schematic flowchart of an encoding method provided by an embodiment of the present application.
  • FIG. 6 is a schematic diagram of another block division manner.
  • FIG. 7 is a schematic diagram of another block division manner.
  • FIG. 8 is a schematic flowchart of another encoding method provided by an embodiment of the present application.
  • FIG. 9 is a schematic flowchart of another encoding method provided by an embodiment of the present application.
  • FIG. 10 is a schematic flowchart of a decoding method provided by an embodiment of the present application.
  • FIG. 11 is a schematic block diagram of an encoding device provided by an embodiment of the present application.
  • FIG. 12 is a schematic block diagram of a decoding device provided by an embodiment of the present application.
  • FIG. 13 is a schematic diagram of a video codec device according to an embodiment of the present application.
  • FIG. 14 is a schematic block diagram of a video codec system according to an embodiment of the present application.
  • Figure 1 is a schematic diagram of the image encoding process, which mainly includes intra prediction (inter prediction), inter prediction (transform), transform (quantization), entropy encoding (entropy encoding), in-loop filtering (in-loop filtering) and other links.
  • the image is divided into blocks, and intra-frame and inter-frame prediction are performed. After the residual is obtained, transform and quantization are performed. Finally, entropy coding is performed and the code stream is output.
  • the block is an M ⁇ N array composed of pixels (M is not necessarily equal to N), and the pixel value of each pixel position is known.
  • Intra prediction uses the pixel values of pixels in the reconstructed area in the current image to predict the pixel values of pixels in the current block according to the corresponding intra prediction mode.
  • Inter prediction is to find a matching reference block for the current coding block in the current image in the reconstructed image, and use the pixel value of the pixel in the reference block as the prediction information or prediction of the pixel value of the pixel in the current coding block Value (the information and value are no longer distinguished below) (this process is called motion estimation (ME)) (as shown in Figure 1), and the motion vector (motion vector (MV) (motion vector) pointing to the reference block needs to be transmitted
  • ME motion estimation
  • MV motion vector
  • the information indicates that the position of the reference block is shifted from that of the current block), and the indication information of the image where the reference block is located.
  • the motion estimation process needs to try multiple reference blocks in the reference image for the current block, and which one or several reference blocks are ultimately used for prediction is determined using rate-distortion optimization (RDO) or other methods.
  • RDO rate-distortion optimization
  • the pixel values of the pixels in the current coding block are subtracted from the corresponding prediction information to obtain residual information, and then discrete cosine transform (discrete cosine transformation (DCT) and discrete sine transform ( discrete discrete transform (DST) and other methods to transform the residual information, and then use quantized entropy coding to get the code stream.
  • DCT discrete cosine transformation
  • DST discrete sine transform
  • a further filtering operation is required to obtain a reconstructed signal, which is used as a reference signal for subsequent encoding.
  • Decoding is equivalent to the reverse process of encoding. As shown in FIG. 1, first, entropy decoding, inverse quantization and inverse transformation are used to obtain residual information, and the decoded code stream determines whether the current block uses intra-frame or inter-frame prediction.
  • the pixel values of pixels in the surrounding reconstructed area are used to construct prediction information according to the intra-prediction method used.
  • the reconstruction information can be obtained after filtering operations using the prediction information plus the residual information.
  • Derivation mode A new type of block division method, which can be derived into multiple sub-blocks according to a block, where the derived block is a subdivision method, and the derived sub-blocks are merged according to the subdivision method.
  • FIG. 2 shows a schematic diagram of a block division method.
  • block 100 may be divided into block 101, block 102, or block 103 according to different division methods, where block 101 may be derived into derivative block 1011 1018, each derivative block may be composed of two or more sub-blocks, each sub-block may be derived from three horizontal lines; block 102 may be derived into derivative blocks 1021-1028, and each derivative block may be derived from Two or more sub-blocks, each sub-block can be derived from three vertical lines; block 103 can be derived into derivative blocks 1031-1038, each derived block can be derived from two or more sub-blocks Block composition, each sub-block can be obtained from four sub-strips horizontally and vertically.
  • FIG. 2 illustrates the derivation of blocks as an example, and non-blocks can also be derived.
  • FIG. 3 shows a schematic diagram of another block division method. As shown in FIG. 3, a non-square block 200 and a non-square block 300 can also be derived horizontally and vertically, where block 200 can be derived into derivative blocks 201-204, each derivative block can be composed of two or more sub-blocks, and each sub-block can be derived based on horizontal; The block 200 may also be derived into derivative blocks 205-208, and each derivative block may be composed of two or more sub-blocks, and each sub-block may be derived according to a vertical derivative.
  • Block 300 can be derived into derivative blocks 301-304, each derived block can be composed of two or more sub-blocks, and each sub-block can be derived according to level; block 300 can also be derived into derived blocks 305-308 Each derivative block may be composed of two or more sub-blocks, and each sub-block may be derived according to vertical derivation.
  • the surrounding blocks (or, may also be called adjacent blocks): the adjacent block A of block E is the block where the samples (x 0 -1, y 0 ) are located, and the adjacent block B of block E is the sample (x 0 , y 0 -1) where the block is, the adjacent block C of block E is the block where the sample (x 1 +1, y 0 -1) is located, and the adjacent block D of block E is the sample (x 0 -1, y 0- 1)
  • the block where block E is adjacent to block F is the block where the sample (x 0 -1, y 1 ) is located, and block E is adjacent block G is the block where the sample (x 1 , y 0 -1) is located.
  • the surrounding block X (X is A, B, C, D, F, or G) "exists" means that the block should be within the image and that the block should belong to the same band as the block E; otherwise, the adjacent block "does not exist".
  • FIG. 4 is only schematic, and it will be different as the standard develops, for example, there may be adjacent blocks below the F block.
  • BlockDistanceCurCol BlockDistanceCurCol
  • BlockDistanceColRef BlockDistanceColRef
  • BlockDistanceColRef is equal to 1
  • BlockDistanceCurCol (DistanceIndexCur-DistanceIndexCol + 512)% 512;
  • BlockDistanceCurCol (DistanceIndexCur-DistanceIndexCol + 512)% 512
  • BlockDistanceColRef (DistanceIndexCol-DistanceIndexColRef + 512)% 512.
  • PicCur is the image where the current prediction unit is located
  • DistanceIndexCur is the distance index of PicCur
  • PicCol is the reference image marked as 0 in the reference image queue
  • DistanceIndexCol is the distance index of PicCol
  • MvSuCol is the brightness sample in PicCol and the upper left corner of the current prediction unit
  • the motion information storage unit where the luminance sample corresponding to the location is located DistanceIndexColRef is the distance index of the forward or first reference image PicColRef of MvSuCol; then the motion vector of the current prediction unit is derived as follows:
  • step (4) If the condition of step (4) is not satisfied, derive mvE (mvE_x, mvE_y) as follows:
  • mvE_x Clip3 (-32768, 32767, (BlockDistanceCurCol ⁇ mvcol_x ⁇ (16384 / BlockDistanceColRef) +8192) >> 14);
  • mvE_y Clip3 (-32768, 32767, ((BlockDistanceCurCol ⁇ (mvcol_y + delta1) ⁇ (16384 / BlockDistanceColRef) +8192) >> 14) -delta2).
  • mvcol (mvcol_x, mvcol_y) is the forward motion vector of MvSuCol, and the derivation mode constant of delta1 and delta2, then mvE is the forward motion vector of the current prediction unit.
  • the MV export of the B frame has a similar situation.
  • different standard skip encoding modes or direct encoding modes have different MV export methods.
  • the prediction value of the skip coding mode is the value of the reference frame block pointed to by mv.
  • the value of the reference frame block pointed to by mv and the value of the current block need to be predicted, transformed, quantized, and finally the residual Need to be passed into the code stream.
  • the skip or direct coding mode in AVS3 is not developed. Motion search is not performed, and the MV is only exported through the surrounding blocks that have been coded. In the skip coding process, the residual is not transmitted. Residual information needs to be transmitted during the encoding process, and skip or direct coding is only for 2Nx2N mode. For the block division method in the derivative mode, insufficient consideration has been taken into consideration, which affects the utilization rate of the derivative mode. At the same time, skip or direct coding is only for the current The divided blocks are performed without further consideration of the divided sub-blocks, and the coding gain is low.
  • the embodiments of the present application provide a coding method. By performing skip or direct coding on a derivative block or a sub-block in the derivative block, a good coding gain can be achieved with lower complexity.
  • FIG. 5 shows a schematic flowchart of an encoding method 400 provided by an embodiment of the present application.
  • the method 400 may be executed by an encoding device. As shown in FIG. 5, the method 400 includes:
  • Derivative block is derived according to the encoding block to be encoded.
  • the derivative block is composed of one or more sub-blocks.
  • the process of deriving the coding block in the embodiment of the present application may be as shown in FIG. 2, and the coding block to be coded may be block 100 in FIG. 2, or may be block 200 and block 300 in FIG. 3, and It can be a coding block of other shapes, which is not limited in this embodiment of the present application.
  • the first coding mode may include a skip coding mode or a direct coding mode.
  • the coded block to be coded may be divided and then derived to obtain a derivative block, wherein the derived derivative block may be composed of multiple sub-blocks, and the encoding device may use the jump Encode in the over-encoding mode or direct-encoding mode to obtain the first encoding information.
  • the first encoding information includes MV information.
  • the encoding device may only use the skip encoding mode or the direct encoding mode to encode the derivative block, or may use the skip encoding mode or the direct encoding mode to encode only the sub-blocks of the derivative block , You can also encode derivative blocks and sub-blocks of derivative blocks.
  • the derivative block is composed of a plurality of sub-blocks.
  • the encoding device encodes the sub-blocks of the derivative block in the skip encoding mode or the direct encoding mode, it may adopt the skip encoding mode for each sub-block in the derivative block
  • the direct encoding mode may be used for encoding, and a part of the sub-blocks of the derived block may also be encoded using the skip encoding mode or the direct encoding mode.
  • the derived block or its sub-blocks are encoded in the skip encoding mode or the direct encoding mode, and may also be understood as the skipped encoding or the direct encoding of the derived block or its sub-blocks.
  • FIG. 6 shows a schematic diagram of another block division method.
  • block 501 can be derived into derivative block 5011, derivative block 5012 and derivative block 5013, and block 502 can be derived into derivative block 5021 and derivative block 5022.
  • derivative block 5023 Skip or direct encode the derivative blocks 5011, 5012, 5013, 5021, 5022, or 5023.
  • Specific encoding methods such as skip and direct encoding of the derivative block 5011, acquisition of encoding information, such as acquisition of mv vector, can be encoded according to the entire derivative block 5011 to obtain the encoding information, or according to 5011 neutron block To obtain the coding information, the coding information may also be obtained according to the sub-block 2.
  • the first encoding mode is used to encode the derivative block to obtain first encoding information, including:
  • the first encoding mode is used to encode the derivative block to obtain first encoding information.
  • the preset condition includes but is not limited to one or more of the following:
  • the length and width of the derived block is greater than or equal to M;
  • the length and width of the derived block is less than or equal to N, and M is less than or equal to N;
  • the area of the derivative block is less than or equal to Q, and P is less than or equal to Q;
  • two 32 ⁇ 8 and one 32 ⁇ 16 non-square sub-blocks are derived according to the 1: 2: 1 level, when the encoding device determines that the length and width of the sub-block is greater than or equal to 16 If the skip coding mode or the direct coding mode is used for coding, the derivative block and / or the 32 ⁇ 16 sub-block can be coded.
  • the first encoding information may be encoding using the skip encoding mode or the direct encoding mode for the entire derivative block.
  • the preset condition includes but is not limited to one or more of the following:
  • the length and width of the sub-block is greater than or equal to K;
  • the area of the sub-block is less than or equal to Y, and W is less than or equal to Y;
  • the derived block includes sub-block 1 and sub-block 2.
  • the first coding information may be to adopt a skip coding mode for sub-block 1 or Direct encoding mode is obtained by encoding.
  • the encoding device determines that the sub-block is L-shaped, skip or directly encode, as shown in FIG. 2, when the block 103 is derived into the derivative block 1037, the derivative block 1037 and / or its sub-blocks may be encoded .
  • the entire derivative block may share the first encoding information.
  • the first coding information is obtained by using the skip coding mode or the direct coding mode for the sub-block 1 of the derivative block 5011, and the sub-block 2 may share the first coding information, that is, the coding information of the sub-block 1 It is the same as the coding information of sub-block 2.
  • S430 Determine a code stream according to the first encoding information, where the code stream includes indication information, where the indication information is used to indicate that the first encoding information is obtained by using the first encoding mode for the derived block.
  • the encoding device obtains the first encoding information, and the code stream is obtained after the processes of prediction, transformation, quantization, and entropy encoding.
  • the encoding device may write instruction information in the code stream, and the instruction information indicates the encoding device obtained
  • the encoding information is obtained by encoding the derivative block or the sub-blocks in the derivative block, so that the decoding device determines to perform the analysis of skip encoding or direct encoding information after analyzing the code stream.
  • the derived block or sub-block derived from the encoded block is encoded using the skip encoding mode or the direct encoding mode. Since skip encoding or direct encoding does not perform a motion search process, it can be lower Under complexity, a better coding gain and good quality are obtained.
  • FIG. 8 shows another schematic flowchart of an encoding method 400 according to an embodiment of the present application. As shown in FIG. 8, the method 400 includes:
  • S411 Derivatively obtain a derivative block according to the encoding block to be encoded.
  • S411 is the same as the above-mentioned S410, and for the sake of brevity, no further description is provided here.
  • S421 Use the first encoding mode for encoding, and encode each sub-block in the derived block separately to obtain multiple encoding information.
  • the first coding mode may include a skip coding mode or a direct coding mode.
  • the derivative block may be composed of multiple sub-blocks, and the encoding device may separately encode each of the multiple sub-blocks to obtain coding information corresponding to each sub-block.
  • the encoding apparatus may respectively encode the sub-block 1 and the sub-block 2 using the skip coding mode or the direct coding mode to obtain two coding information.
  • S422 Determine the first encoded information according to the multiple encoded information.
  • the determining the first encoding information according to the plurality of encoding information includes:
  • the first encoded information is determined.
  • the first encoding information is the least cost encoding information among the plurality of encoding information.
  • the method for calculating the cost is not specifically limited, and the method for calculating the cost may be rate-distortion optimization (RDO) decision, sum of absolute values (sum of of absolute differences, SAD) ) Algorithms or sum-of-absolute transformed (SATD) algorithms after transformation.
  • RDO rate-distortion optimization
  • SAD sum of absolute values
  • SAD sum of absolute differences
  • SATD sum-of-absolute transformed
  • the derivative block 5011 is composed of sub-block 1 and sub-block 2
  • the encoding device may encode sub-block 1 to obtain coding information 1, encode sub-block 2 to obtain coding information 2, and calculate coding information 1 respectively And the cost of the coding information 2, after determining that the cost of the coding information 1 is less than the cost of the coding information 2, determine the coding information 1 as the first coding information.
  • the first encoding information is determined from the plurality of encoding information, and the first encoding information corresponds to the first sub-block.
  • the identification information of the first sub-block is written into the code stream, and is used to indicate that the first encoding information is obtained by encoding the first sub-block using the first encoding mode.
  • the first encoded information is any one of the encoded information.
  • the encoding device may determine any one of the encoding information as the first encoding information.
  • the indication information is also used to indicate that the encoding information of each sub-block in the plurality of sub-blocks is the same.
  • the encoding information when the plurality of encoding information are the same, the encoding information may be written only once, or the encoding information may not be written.
  • the indication information in the code stream is read indicating multiple sub-blocks If the encoding information is the same, you can only read the encoding information once, or do not read the encoding information. If the encoding information is written, the decoding end can directly use the encoding information of any one of the multiple subblocks to derive or decode the encoding information. The first encoding information.
  • the first encoded information is the plurality of encoded information.
  • the encoding device may determine the plurality of encoding information as the first encoding information.
  • the indication information is also used to indicate that the encoding information of each sub-block in the plurality of sub-blocks is different.
  • the plurality of encoding information when the plurality of encoding information is different, the plurality of encoding information may be written, and the decoding end may use the encoding information of each sub-block in the plurality of sub-blocks to derive or decode the first encoding information.
  • a part of the plurality of sub-blocks may also be encoded using the first encoding mode.
  • the derivative block includes 5 sub-blocks, and the encoding device may select 3 sub-blocks for encoding. 3 encoded information, and the first encoded information is determined from the 3 encoded information.
  • FIG. 9 shows another schematic flowchart of the encoding method 400 according to an embodiment of the present application. As shown in FIG. 9, the method 400 includes:
  • Derivative block is derived according to the encoding block to be encoded.
  • S424 Use the first coding mode to code each sub-block in the derived block to obtain multiple coding information.
  • the first encoding mode includes the skip encoding mode or direct encoding mode.
  • the encoding device may encode the derivative block and each sub-block in the derivative block in the skip encoding mode or the direct encoding mode.
  • S425 Determine the first encoding information according to the second encoding information and the plurality of encoding information.
  • the determining the first encoding information according to the second encoding information and the plurality of encoding information includes:
  • the first encoding information is determined according to the cost of the second encoding information and the costs of the plurality of encoding information.
  • the first encoding information is the encoding information with the smallest cost among the second encoding information and the plurality of encoding information.
  • the first encoding information is the second encoding information, or the first encoding information is the plurality of encoding information.
  • the encoding device may encode the derivative block 5011 to obtain second encoding information, or may encode the sub-block 1 in the derivative block 5011 to obtain third encoding information, and may also derive the derivative block 5011
  • the sub-block 2 in is encoded to obtain fourth encoding information
  • the third encoding information and the fourth encoding information constitute the plurality of encoding information
  • the encoding device may calculate the cost of the second encoding information and the plurality of encoding information After determining that the cost of the plurality of encoded information is less than the cost of the second encoded information, determine the plurality of encoded information as the first encoded information.
  • the method for calculating the cost is not specifically limited, and the method for calculating the cost may be RDO decision, SAD algorithm, or SATD algorithm.
  • part of the plurality of sub-blocks may also be encoded in S424, for example, the derivative block includes 5 sub-blocks, and the encoding device may select 3 sub-blocks to encode to obtain 3 encoding information, and The first encoding information is determined among the three encoding information.
  • S432. Determine a code stream according to the first encoding information, where the code stream includes indication information that is used to indicate that the first encoding information is obtained by encoding the derivative block using the first encoding mode, Or, the indication information is used to indicate that the first encoding information is obtained by encoding each sub-block using the first encoding mode.
  • the indication information may indicate that the first encoding information is obtained by encoding each sub-block.
  • the derivative block derived from the encoding block and each sub-block in the derivative block are encoded in skip encoding mode or direct encoding mode, respectively, and the one with the lower cost is determined as the first encoding Information, you can get better coding gain and good quality at lower complexity.
  • FIG. 10 shows a schematic flowchart of a decoding method 600 according to an embodiment of the present application. As shown in FIG. 10, the method 600 may be executed by a decoding device. The method 600 includes:
  • S610 Obtain indication information from the code stream, where the indication information is used to instruct the derived block to adopt the first encoding mode to obtain encoding information, where the first encoding mode includes a skip encoding mode or a direct encoding mode;
  • S620 Decode the derived block using the first encoding mode according to the instruction information.
  • the decoding device may parse the code stream to obtain the instruction information, and the instruction information indicates that the encoding information obtained by the encoding device is to encode the derivative block or the sub-blocks in the derivative block using the skip encoding mode or the direct encoding mode As a result, the encoding device decodes the derivative block or the sub-block of the derivative block in the skip encoding mode or the direct encoding mode according to the instruction information.
  • the derived block is composed of multiple sub-blocks, the multiple sub-blocks include the first sub-block, and the skipped coding mode or the direct coding mode is used to decode the derived block or the sub-blocks of the derived block, include:
  • the first sub-block is decoded using the skip coding mode or the direct coding mode.
  • the encoding device performs skip encoding and direct encoding on the sub-block 1 in the derivative block 5011 to obtain encoding information.
  • the encoding device writes the instruction information into the code stream.
  • the instruction information indicates that the encoding information is
  • the decoding device can parse the sub-block 1 by decoding or directly decoding the instruction information after parsing the indication information from the code stream.
  • the indication information is used to indicate that the encoding information obtained by the encoding device is obtained by using the first encoding mode for the derived block, and the first encoding mode is used to decode the derived block, including:
  • the derived block is decoded.
  • the encoding device performs skip encoding and direct encoding on the derivative block 5011 to obtain encoding information, and the encoding device writes instruction information into the code stream.
  • the instruction information indicates that the encoding information is to encode the derivative block 5011 Obtained, after decoding the instruction information from the code stream, the decoding device may perform skip decoding or direct decoding on the derivative block 5011.
  • the derived block is composed of multiple sub-blocks, and the indication information is also used to indicate that the coding information obtained by applying the first coding mode to each of the multiple sub-blocks is the same, and the first coding mode is adopted To decode the derived block, including:
  • the second sub-block is decoded, and the second sub-block is any one of the plurality of sub-blocks.
  • the derivative block is composed of multiple sub-blocks, and the indication information is also used to indicate that the coding information obtained by using the first coding mode for each of the multiple sub-blocks is different, and the first coding mode is adopted, Decode the derived block, including:
  • each of the plurality of sub-blocks is decoded separately.
  • the decoding device when the decoding device decodes that the block division mode is a derivative mode, it indicates that it is possible to perform skip encoding or direct encoding in the mode, and the decoding device obtains that the encoding device skips or derives the derived block or its sub-blocks In direct encoding, the entire block can share one encoding information, and continue to derive or decode skip or direct encoding information through a fixed block in each sub-block. It is also possible to determine which block in each sub-block is used to derive or decode skip or direct mode coding information by continuing to decode the identification information.
  • the decoding device when the decoding device decodes that the block division mode is the derivative mode, it indicates that skip or direct encoding is possible in the mode, and the decoding device decodes that the sub-blocks in the derivative block are skipped or encoded by the encoding device.
  • direct coding continue to determine skip or direct coding information export or decoding through the information of each sub-block. It is also possible to determine whether the information of each sub-block is the same by decoding the identification bit, so as to derive or decode skip or direct encoded information only by the information of a certain sub-block.
  • the decoding device when the decoding device decodes that the block division mode is a derivative mode, it indicates that it is possible to perform skip or direct encoding in the mode, and the decoding device obtains the skip or direct encoding of the derived block or its sub-blocks.
  • the parity bit of the code stream is parsed to obtain the derived or decoded derivative or decoded information of the derived block, or the derived or decoded skip or direct decoded information of each sub-block.
  • FIG. 11 shows a schematic block diagram of an encoding device 700 according to an embodiment of the present application. As shown in FIG. 11, the encoding device 700 includes:
  • the first processing module 710 is configured to derive derivative blocks according to the encoding blocks to be encoded
  • the second processing module 720 is configured to encode the derived block using a first encoding mode to obtain first encoding information.
  • the first encoding mode includes a skip encoding mode or a direct encoding mode;
  • the third processing module 730 is configured to determine a code stream according to the first encoding information, where the code stream includes indication information, and the indication information is used to indicate that the first encoding information is to use the first encoding on the derived block
  • the pattern is obtained by encoding.
  • the derived block is composed of multiple sub-blocks
  • the second processing module 720 is specifically configured to:
  • the first encoding information is determined from the plurality of encoding information.
  • the second processing module 720 is specifically used to:
  • the first encoded information is determined.
  • the first encoded information is any one of the encoded information.
  • the first encoded information is the plurality of encoded information.
  • the indication information is also used to indicate that the encoding information of each sub-block in the plurality of sub-blocks is the same or different.
  • the derived block is composed of multiple sub-blocks
  • the second processing module 720 is specifically configured to:
  • the first encoding information is determined.
  • the second processing module 720 is specifically used to:
  • the first coding information is determined according to the cost of the second coding information and the costs of the plurality of coding information.
  • the indication information is also used to indicate that the first encoding information is the second encoding information or the third encoding information.
  • FIG. 12 shows a schematic block diagram of a decoding device 800 according to an embodiment of the present application. As shown in FIG. 12, the decoding device 800 includes:
  • the obtaining module 810 is used to obtain indication information from the code stream, and the indication information is used to instruct the derivative block to adopt the first encoding mode to obtain encoding information.
  • Modes include skip coding mode or direct coding mode;
  • the fifth processing module 820 is configured to decode the derived block using the first encoding mode according to the instruction information.
  • the derivative block includes a first sub-block
  • the fifth processing module 820 is specifically configured to:
  • the first sub-block is decoded.
  • the indication information is used to indicate that the encoding information obtained by the encoding end is obtained by using the first encoding mode for the first sub-block
  • the fifth processing module 820 is specifically configured to:
  • the first sub-block is decoded.
  • the derivative block is composed of multiple sub-blocks
  • the indication information is also used to indicate that the coding information obtained by using the first coding mode for each of the multiple sub-blocks is the same
  • the fifth processing module 820 specifically uses to:
  • the second sub-block is decoded, and the second sub-block is any one of the plurality of sub-blocks.
  • the derivative block is composed of multiple sub-blocks
  • the indication information is also used to indicate that the coding information obtained by using the first coding mode for each of the multiple sub-blocks is different
  • the fifth processing module 820 specifically uses to:
  • each of the plurality of sub-blocks is decoded separately.
  • the codec device and the codec system composed of the codec device will be described in detail below with reference to FIGS. 13 and 14. It should be understood that the codec device and the codec system shown in FIGS. 13 and 14 can execute the codec method of the embodiment of the present application.
  • the video codec device 50 may be a device specifically used for encoding and / or decoding video images, or may be an electronic device with a video codec function. Further, the codec device 50 may be a mobile of a wireless communication system Terminal or user equipment.
  • the codec device 50 may include the following modules or units: a controller 56, a codec 54, a radio interface 52, an antenna 44, a smart card 46, a card reader 48, a keypad 34, a memory 58, an infrared port 42, and a display 32.
  • the codec device 50 may also include a microphone or any suitable audio input module, which may be a digital or analog signal input, and the codec device 50 may also include an audio output Module, the audio output module can be headphones, speakers or analog audio or digital audio output connection.
  • the codec device 50 may also include a battery, which may be a solar cell, a fuel cell, or the like.
  • the codec apparatus 50 may also include an infrared port for short-range line-of-sight communication with other devices.
  • the codec apparatus 50 may also use any suitable short-range communication method to communicate with other devices, for example, Bluetooth wireless connection, USB / FireWire wired connection.
  • the memory 58 may store data in the form of images and audio data, and may also store instructions for execution on the controller 56.
  • the codec 54 can realize the encoding and decoding of audio and / or video data or the auxiliary encoding and decoding of audio and / or video data under the control of the controller 56.
  • the smart card 46 and the card reader 48 can provide user information, and can also provide network authentication and authentication information for authorized users.
  • the specific implementation forms of the smart card 46 and the card reader 48 may be an integrated circuit card (universal integrated circuit (UICC) and a UICC reader.
  • UICC universal integrated circuit
  • the radio interface circuit 52 may generate a wireless communication signal, which may be a communication signal generated during a cellular communication network, a wireless communication system, or a wireless local area network communication.
  • the antenna 44 is used to transmit the radio frequency signal generated in the radio interface circuit 52 to other devices (the number of devices may be one or more), and may also be used from other devices (the number of devices may be one or more) A) Receive radio frequency signals.
  • the codec apparatus 50 may receive video image data to be processed from another device before transmission and / or storage. In other embodiments of the present application, the codec device 50 may receive images through a wireless or wired connection and encode / decode the received images.
  • FIG. 14 is a schematic block diagram of a video codec system 7000 according to an embodiment of the present application.
  • the video codec system 7000 includes a source device 4000 and a destination device 5000.
  • the source device 4000 generates encoded video data.
  • the source device 4000 may also be called a video encoding device or a video encoding device.
  • the destination device 5000 may decode the encoded video data generated by the source device 4000.
  • the destination device 5000 can also be called a video decoding device or a video decoding device.
  • the specific implementation form of the source device 4000 and the destination device 5000 may be any one of the following devices: desktop computer, mobile computing device, notebook (eg, laptop) computer, tablet computer, set-top box, smart phone, handset, TVs, cameras, display devices, digital media players, video game consoles, in-vehicle computers, or other similar devices.
  • the destination device 5000 can receive the encoded video data from the source device 4000 via the channel 6000.
  • Channel 6000 may include one or more media and / or devices capable of moving encoded video data from source device 4000 to destination device 5000.
  • the channel 6000 may include one or more communication media that enable the source device 4000 to directly transmit the encoded video data to the destination device 5000 in real time.
  • the source device 4000 may be based on the communication standard ( For example, wireless communication protocol) to modulate the encoded video data, and can transmit the modulated video data to the destination device 5000.
  • the one or more communication media may include wireless and / or wired communication media, such as a radio frequency (RF) spectrum or one or more physical transmission lines.
  • RF radio frequency
  • the one or more communication media described above may form part of a packet-based network (eg, local area network, wide area network, or global network (eg, Internet)).
  • the one or more communication media may include routers, switches, base stations, or other devices that enable communication from the source device 4000 to the destination device 5000.
  • the channel 6000 may include a storage medium that stores the encoded video data generated by the source device 4000.
  • the destination device 5000 can access the storage medium via disk access or card access.
  • Storage media can include a variety of locally accessible data storage media, such as Blu-ray discs, high-density digital video discs (digital video discs, DVDs), compact disc read-only memories (CD-ROMs), flash memories , Or other suitable digital storage media for storing encoded video data.
  • the channel 6000 may include a file server or another intermediate storage device that stores the encoded video data generated by the source device 4000.
  • the destination device 5000 can access the encoded video data stored at the file server or other intermediate storage device via streaming or download.
  • the file server may be a server type capable of storing the encoded video data and transmitting the encoded video data to the destination device 5000.
  • the file server may include a world wide web (web) server (for example, for a website), a file transfer protocol (FTP) server, a network attached storage (NAS) device, and a local disk driver.
  • web world wide web
  • FTP file transfer protocol
  • NAS network attached storage
  • the destination device 5000 can access the encoded video data via a standard data connection (eg, Internet connection).
  • a standard data connection eg, Internet connection.
  • Example types of data connections include wireless channels suitable for accessing encoded video data stored on file servers, wired connections (eg, cable modems, etc.), or a combination of both.
  • the transmission of the encoded video data from the file server may be streaming transmission, download transmission, or a combination of both.
  • the codec method of the present application is not limited to wireless application scenarios.
  • the codec method of the present application can be applied to video codec supporting various multimedia applications such as the following applications: aerial TV broadcasting, cable TV transmission, satellite TV transmission, Streaming video transmission (eg, via the Internet), encoding of video data stored on data storage media, decoding of video data stored on data storage media, or other applications.
  • the video codec system 7000 may be configured to support one-way or two-way video transmission to support applications such as video streaming, video playback, video broadcasting, and / or video telephony.
  • the source device 4000 includes a video source 4001, a video encoder 4002, and an output interface 4003.
  • output interface 4003 may include a modulator / demodulator (modem) and / or a transmitter.
  • the video source 4001 may include a video capture device (eg, a video camera), a video archive containing previously captured video data, a video input interface to receive video data from a video content provider, and / or a computer for generating video data Graphic system, or a combination of the above video data sources.
  • Video encoder 4002 may encode video data from video source 4001.
  • the source device 4000 directly transmits the encoded video data to the destination device 5000 via the output interface 4003.
  • the encoded video data may also be stored on a storage medium or file server for later access by the destination device 5000 for decoding and / or playback.
  • the destination device 5000 includes an input interface 5003, a video decoder 5002, and a display device 5001.
  • input interface 5003 includes a receiver and / or a modem.
  • the input interface 5003 can receive the encoded video data via the channel 6000.
  • the display device 5001 may be integrated with the destination device 5000 or may be external to the destination device 5000. Generally, the display device 5001 displays decoded video data.
  • the display device 5001 may include various display devices, such as a liquid crystal display, a plasma display, an organic light emitting diode display, or other types of display devices.
  • the video encoder 4002 and the video decoder 5002 can operate according to the video compression standard (for example, the high-efficiency video codec H.265 standard), and can comply with the high-efficiency video coding (HEVC) test model (HM ).
  • HEVC high-efficiency video coding
  • HM high-efficiency video coding
  • ITU-TH.265 (V3) (04/2015) was released on April 29, 2015, and can be downloaded from http://handle.itu.int/11.1002/7000/12455. The entire contents of the document are incorporated by reference.
  • system and “network” are often used interchangeably herein.
  • the term “and / or” in this article is just an association relationship that describes an associated object, indicating that there can be three relationships, for example, A and / or B, which can mean: A exists alone, A and B exist at the same time, exist alone B these three cases.
  • the character “/” in this article generally indicates that the related objects before and after are in an “or” relationship.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the units is only a division of logical functions.
  • there may be other divisions for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
  • the function is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a computer-readable storage medium.
  • the technical solution of the present application essentially or part of the contribution to the existing technology or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to enable a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in the embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program codes .

Landscapes

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

Abstract

The present application provides an encoding/decoding method and device. The encoding/decoding method comprises: an encoding device performs derivation on an encoding block to be encoded to obtain a derivative block; the encoding device encodes the derivative block using a skip encoding mode or a direct encoding mode to obtain first encoding information; the encoding device determines a code stream according to the first encoding information, wherein the code stream comprises indication information, and the indication information is used for indicating that the first encoding information is obtained by encoding the derivative block using the skip encoding mode or the direct encoding mode; a decoding device parses the code stream to obtain the indication information; the decoding device decodes the derivative block using the skip encoding mode or the direct encoding mode. The encoding/decoding method of the embodiments of the present application facilitates increasing encoding gain.

Description

一种编解码的方法和装置Encoding and decoding method and device
本申请要求于2018年10月15日提交中国专利局、申请号为201811198705.3、申请名称为“一种编解码的方法和装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application requires the priority of the Chinese patent application filed on October 15, 2018 with the Chinese Patent Office, the application number is 201811198705.3, and the application name is "a codec method and device", the entire content of which is incorporated by reference in this application in.
技术领域Technical field
本申请涉及通信领域,并且更具体地,涉及一种编解码的方法和装置。The present application relates to the field of communications, and more specifically, to a method and device for encoding and decoding.
背景技术Background technique
联合视频专家组(joint video exploration team,JVET)正在制定新一代视频编码压缩标准H.266/通用视频编码(versatile video coding,VVC)。音视频编码标准3(audio video coding standard 3,AVS3)正在制定新一代的标准AVS3大体都是基于此框架结构。正在研制的最新视频编码标准H.266/VVC标准草案2.0和AVS3标准草案中,采纳了多个编码工具,分布在预测,变换,量化,环路滤波和熵编码各个模块中。The Joint Video Expert Group (joint video exploration team, JVET) is developing a new generation of video encoding compression standard H.266 / universal video encoding (VVC). Audio and video coding standard 3 (audio video coding standard 3, AVS3) is developing a new generation of standards AVS3 is generally based on this framework structure. In the latest video coding standard H.266 / VVC draft standard 2.0 and AVS3 standard draft being developed, multiple coding tools are adopted, distributed in each module of prediction, transformation, quantization, loop filtering and entropy coding.
目前正在制定AVS3中的跳过(skip)和直接(direct)编码方式都是不进行运动搜索,只在通过已编码的周围块中进行运动矢量(motion vector,MV)的导出,其中skip编码中不传残差信息,direct编码中需要传残差信息,并且skip编码和direct的编码只针对2N×2N模式,编码增益较低。At present, the skip and direct encoding methods in AVS3 are not developed, and motion search is not performed, and only the motion vector (MV) is exported through the encoded surrounding blocks, among which skip encoding The residual information is not transmitted, and the residual information needs to be transmitted in the direct coding, and the skip coding and direct coding are only for the 2N × 2N mode, and the coding gain is low.
发明内容Summary of the invention
有鉴于此,本申请提供一种编解码的方法和装置,以期提高编码增益。In view of this, the present application provides a codec method and device, with a view to improving coding gain.
第一方面,提供了一种编码方法,该方法包括:编码装置根据待编码的编码块,衍生获得衍生块;该编码装置采用第一编码模式,对所述衍生块进行编码,以得到第一编码信息所述第一编码模式包括跳过编码模式或者直接编码模式;该编码装置根据所述第一编码信息,确定码流,所述码流包括指示信息,所述指示信息用于指示所述第一编码信息是对所述衍生块或者所述衍生块的子块采用所述跳过编码模式或所述直接编码模式进行编码获得的。In a first aspect, a coding method is provided. The method includes: an encoding device derives a derivative block according to an encoding block to be encoded; the encoding device uses a first encoding mode to encode the derivative block to obtain a first The first encoding mode of the encoding information includes a skip encoding mode or a direct encoding mode; the encoding device determines a code stream according to the first encoding information, and the code stream includes indication information, and the indication information is used to indicate the The first encoding information is obtained by encoding the derivative block or the sub-blocks of the derivative block using the skip encoding mode or the direct encoding mode.
在一些可能的实现方式中,该编码装置采用该第一编码模式,对衍生块进行编码,以得到第一编码信息,包括:In some possible implementations, the encoding device uses the first encoding mode to encode the derived block to obtain first encoding information, including:
在满足预设条件的情况下,对采用该第一编码模式,对该衍生块进行编码,以得到该第一编码信息。When the preset condition is satisfied, the first encoding mode is adopted to encode the derivative block to obtain the first encoding information.
具体地,本申请实施例中,该预设条件可以为以下一种或者多种:Specifically, in the embodiment of the present application, the preset condition may be one or more of the following:
(1)当衍生块或者其子块的长和宽小于或者等于第一数值;(1) When the length and width of the derived block or its sub-blocks are less than or equal to the first value;
(2)当衍生块或者其子块的长和宽大于或者等于第二数值;(2) When the length and width of the derived block or its sub-blocks are greater than or equal to the second value;
(3)在衍生模式下得到一些特定的块。(3) Get some specific blocks in derivative mode.
在一些可能的实现方式中,该编码装置可以对该衍生块或者其子块采用该跳过编码模式或者该直接编码模式进行编码后得到第一编码信息,该衍生块以及衍生块中的每一个子块共享该第一编码信息。In some possible implementation manners, the encoding device may encode the derivative block or its sub-blocks using the skip encoding mode or the direct encoding mode to obtain first encoding information, the derivative block and each of the derivative blocks The sub-blocks share the first encoded information.
在一些可能的实现方式中,当该衍生块的大小大于第三数值时,对该衍生块采用跳过编码模式或者直接编码模式进行编码;当该衍生块的大小小于第四数值时,对第一子块采用跳过编码模式或者直接编码模式进行编码;当该衍生块的大小小于第五数值时,对第二子块采用跳过编码模式或者直接编码模式进行编码;其中,该衍生块包括该第一子块和该第二子块。In some possible implementations, when the size of the derived block is greater than the third value, the derived block is encoded in skip coding mode or direct encoding mode; when the size of the derived block is less than the fourth value, the A sub-block is coded in skip coding mode or direct coding mode; when the size of the derived block is smaller than the fifth value, the second sub-block is coded in skip coding mode or direct coding mode; wherein, the derived block includes The first sub-block and the second sub-block.
本申请实施例的编码方法,通过对编码块衍生得到的衍生块或者子块采用跳过编码模式或者直接编码模式进行编码,由于skip编码模式或者direct编码模式中不进行运动搜索过程,因此可以在较低复杂度下,得到较好的编码增益以及好的质量。In the encoding method of the embodiment of the present application, the derived block or sub-block derived from the encoded block is encoded in the skip encoding mode or the direct encoding mode. Since the skip encoding mode or the direct encoding mode does not perform the motion search process, it can be At lower complexity, better coding gain and good quality are obtained.
结合第一方面,在第一方面的某些可能的实现方式中,该衍生块由多个子块组成,该编码装置对该衍生块进行编码,以得到第一编码信息,包括:该编码装置采用该第一编码模式,对该多个子块中的每个子块分别进行编码,以得到多个编码信息;该编码装置从该多个编码信息中确定该第一编码信息。With reference to the first aspect, in some possible implementation manners of the first aspect, the derivative block is composed of multiple sub-blocks, and the encoding device encodes the derivative block to obtain first encoding information, including: the encoding device uses In the first encoding mode, each of the plurality of sub-blocks is encoded separately to obtain a plurality of encoding information; the encoding device determines the first encoding information from the plurality of encoding information.
结合第一方面,在第一方面的某些可能的实现方式中,该编码装置从该多个编码信息中确定该第一编码信息,包括:该编码装置确定该多个编码信息的代价;该编码装置根据该多个编码信息的代价,确定该第一编码信息。With reference to the first aspect, in some possible implementation manners of the first aspect, the encoding device determining the first encoding information from the plurality of encoding information includes: the encoding device determining the cost of the plurality of encoding information; the The encoding device determines the first encoded information according to the cost of the multiple encoded information.
在一些可能的实现方式中,该计算代价的方法包括但不限于RDO、SAD或者SATD。In some possible implementations, the cost calculation method includes but is not limited to RDO, SAD, or SATD.
在一些可能的实现方式中,该第一编码信息为该多个编码信息中代价最低的编码信息。In some possible implementation manners, the first encoding information is the lowest-cost encoding information among the plurality of encoding information.
本申请实施例的编码方法,通过对编码块衍生得到的衍生块中每个子块采用跳过编码模式或者直接编码模式进行编码,并从中选择代价最小的编码信息,可以在较低复杂度下,得到较好的编码增益以及好的质量。In the coding method of the embodiment of the present application, by using the skip coding mode or the direct coding mode to encode each sub-block in the derivative block derived from the coding block, and selecting the least expensive coding information therefrom, it can be at a lower complexity, Get better coding gain and good quality.
结合第一方面,在第一方面的某些可能的实现方式中,在该多个编码信息相同的情况下,该第一编码信息为该多个编码信息中的任意一个编码信息。With reference to the first aspect, in some possible implementation manners of the first aspect, when the plurality of encoded information are the same, the first encoded information is any one of the encoded information.
结合第一方面,在第一方面的某些可能的实现方式中,在该多个编码信息不同的情况下,该第一编码信息为该多个编码信息。With reference to the first aspect, in some possible implementation manners of the first aspect, when the plurality of encoded information are different, the first encoded information is the plurality of encoded information.
结合第一方面,在第一方面的某些可能的实现方式中,该指示信息还用于指示该多个子块中每个子块的编码信息相同或者不同。With reference to the first aspect, in some possible implementation manners of the first aspect, the indication information is also used to indicate that the encoding information of each sub-block in the plurality of sub-blocks is the same or different.
应理解,本申请实施例中,该编码装置可以对每个子块都进行编码,也可以对衍生块中的一部分子块进行编码。It should be understood that in the embodiment of the present application, the encoding device may encode each sub-block, or may encode a part of the sub-blocks in the derived block.
结合第一方面,在第一方面的某些可能的实现方式中,该衍生块由多个子块组成,该编码装置对该衍生块进行编码,以得到第一编码信息,包括:该编码装置采用该第一编码模式,对该衍生块进行编码,以得到第二编码信息;该编码装置采用该第一编码模式,对该多个子块中每个子块分别进行编码,以得到多个编码信息;该编码装置根据该第二编码信息和该多个编码信息,确定该第一编码信息。With reference to the first aspect, in some possible implementation manners of the first aspect, the derivative block is composed of multiple sub-blocks, and the encoding device encodes the derivative block to obtain first encoding information, including: the encoding device uses The first encoding mode encodes the derived block to obtain second encoding information; the encoding device uses the first encoding mode to encode each of the multiple sub-blocks separately to obtain multiple encoding information; The encoding device determines the first encoding information based on the second encoding information and the plurality of encoding information.
本申请实施例的编码方法,通过对编码块衍生得到的衍生块以及衍生块中的每一个子块分别采用跳过编码模式或者直接编码模式进行编码,将其中代价较小者确定为第一编码 信息,可以在较低复杂度下,得到较好的编码增益以及好的质量。In the encoding method of the embodiment of the present application, the derivative block derived from the encoding block and each sub-block in the derivative block are encoded in skip encoding mode or direct encoding mode, respectively, and the one with the lower cost is determined as the first encoding Information, you can get better coding gain and good quality at lower complexity.
结合第一方面,在第一方面的某些可能的实现方式中,该编码装置根据该第二编码信息和该第三编码信息,确定该第一编码信息,包括:该编码装置确定该第二编码信息的代价和该多个编码信息的代价;该编码装置根据该第二编码信息的代价和该多个编码信息的代价,确定该第一编码信息。With reference to the first aspect, in some possible implementation manners of the first aspect, the encoding device determines the first encoding information according to the second encoding information and the third encoding information, including: the encoding device determines the second The cost of coding information and the cost of the plurality of coding information; the coding device determines the first coding information according to the cost of the second coding information and the cost of the plurality of coding information.
结合第一方面,在第一方面的某些可能的实现方式中,该指示信息还用于指示该第一编码信息为该第二编码信息或者该多个编码信息。With reference to the first aspect, in some possible implementation manners of the first aspect, the indication information is further used to indicate that the first encoding information is the second encoding information or the plurality of encoding information.
在一些可能的实现方式中,若该第二编码信息的代价小于该多个编码信息的代价,则该第一编码信息为该第二编码信息,若该第二编码信息的代价大于该多个编码信息的代价,则该第一编码信息为该多个编码信息。In some possible implementations, if the cost of the second encoded information is less than the cost of the plurality of encoded information, the first encoded information is the second encoded information, if the cost of the second encoded information is greater than the multiple The cost of encoding information, then the first encoding information is the plurality of encoding information.
第二方面,提供了一种解码方法,该方法包括:解码装置从码流中确定指示信息,该指示信息用于指示对衍生块采用第一编码模式进行编码以获得编码信息;该解码装置根据该指示信息,采用该第一编码模式,对该衍生块进行解码。In a second aspect, a decoding method is provided. The method includes: a decoding device determining instruction information from a code stream, where the instruction information is used to instruct a derivative block to be encoded using a first encoding mode to obtain encoding information; The instruction information uses the first coding mode to decode the derived block.
在一些可能的实现方式中,该第一编码模式包括跳过编码模式或者直接编码模式。In some possible implementation manners, the first coding mode includes a skip coding mode or a direct coding mode.
在一些可能的实现方式中,该衍生块由编码块在衍生模式下衍生得到。In some possible implementations, the derivative block is derived from the encoding block in the derivative mode.
结合第二方面,在第二方面的某些可能的实现方式中,该指示信息用于指示该编码信息是对第一子块采用该第一编码模式进行编码获得的,该解码装置采用该第一编码模式,对该衍生块进行解码,包括:该解码装置采用该第一编码模式,对该第一子块进行解码。With reference to the second aspect, in some possible implementation manners of the second aspect, the indication information is used to indicate that the encoding information is obtained by encoding the first sub-block using the first encoding mode, and the decoding device uses the first An encoding mode for decoding the derived block includes: the decoding device uses the first encoding mode to decode the first sub-block.
结合第二方面,在第二方面的某些可能的实现方式中,该衍生块由多个子块组成,该指示信息还用于指示对该多个子块中每个子块采用该第一编码模式而获得的编码信息相同,该解码装置对采用该第一编码模式,该衍生块进行解码,包括:该解码装置采用该第一编码模式,对第二子块进行解码,该第二子块为该多个子块中的任意一个子块。With reference to the second aspect, in some possible implementation manners of the second aspect, the derived block is composed of multiple sub-blocks, and the indication information is further used to indicate that the first coding mode is adopted for each of the multiple sub-blocks. The obtained encoding information is the same, and the decoding device decodes the derived block using the first encoding mode, including: the decoding device uses the first encoding mode to decode the second sub-block, and the second sub-block is the Any one of multiple sub-blocks.
结合第二方面,在第二方面的某些可能的实现方式中,该衍生块由多个子块组成,该指示信息还用于指示对该多个子块中每个子块采用该第一编码模式而获得的编码信息不同,该解码装置采用该第一编码模式,对该衍生块进行解码,包括:该解码装置采用该第一编码模式,对该多个子块中的每个子块分别进行解码。With reference to the second aspect, in some possible implementation manners of the second aspect, the derived block is composed of multiple sub-blocks, and the indication information is further used to indicate that the first coding mode is adopted for each of the multiple sub-blocks. The obtained coding information is different. The decoding device uses the first coding mode to decode the derived block, including: the decoding device uses the first coding mode to decode each of the plurality of sub-blocks separately.
第三方面,提供一种编码装置,该装置包含用于执行上述第一方面或者第一方面中的任意一种实现方式中的方法的模块。According to a third aspect, there is provided an encoding device including a module for performing the method in the first aspect or any implementation manner of the first aspect.
第四方面,提供一种编码装置,该装置包含用于执行上述第二方面或者第二方面中的任意一种实现方式中的方法的模块。According to a fourth aspect, there is provided an encoding device including a module for executing the method in the second aspect or any implementation manner of the second aspect.
第五方面,提供一种解码装置,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行第一方面或者第一方面中的任意一种实现方式中的方法的部分或全部步骤。According to a fifth aspect, a decoding apparatus is provided, including: a nonvolatile memory and a processor coupled to each other, the processor calling program code stored in the memory to perform the first aspect or any of the first aspect Part or all of the steps of the method in an implementation.
第六方面,提供一种解码装置,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行第二方面或者第二方面中的任意一种实现方式中的方法的部分或全部步骤。According to a sixth aspect, a decoding apparatus is provided, including: a non-volatile memory and a processor coupled to each other, the processor calling program code stored in the memory to perform the second aspect or any of the second aspect Part or all of the steps of the method in an implementation.
第七方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储了程序代码,其中,所述程序代码包括用于执行第一方面或者第二方面中的任意一种实现方式中的方法的部分或全部步骤的指令。According to a seventh aspect, a computer-readable storage medium is provided. The computer-readable storage medium stores program code, wherein the program code includes any one of the implementation manners for executing the first aspect or the second aspect Instructions for some or all steps of the method.
第八方面,提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第一方面或者第二方面中的任意一种实现方式中的方法的部分或全部步骤的指令。According to an eighth aspect, a computer program product is provided that, when the computer program product runs on a computer, causes the computer to perform part or all of the steps of the method in any implementation manner of the first aspect or the second aspect Instructions.
附图说明BRIEF DESCRIPTION
图1是图像编码过程的示意图。Figure 1 is a schematic diagram of the image encoding process.
图2是一种块划分的方式的示意图。FIG. 2 is a schematic diagram of a block division manner.
图3是另一种块划分的方式的示意图。FIG. 3 is a schematic diagram of another block division manner.
图4是块E和它的相邻块的空间位置关系的示意图。FIG. 4 is a schematic diagram of the spatial position relationship of block E and its neighboring blocks.
图5是本申请实施例提供的编码方法的示意性流程图。FIG. 5 is a schematic flowchart of an encoding method provided by an embodiment of the present application.
图6是另一种块划分的方式的示意图。FIG. 6 is a schematic diagram of another block division manner.
图7是另一种块划分的方式的示意图。7 is a schematic diagram of another block division manner.
图8是本申请实施例提供的另一编码方法的示意性流程图。FIG. 8 is a schematic flowchart of another encoding method provided by an embodiment of the present application.
图9是本申请实施例提供的另一编码方法的示意性流程图。9 is a schematic flowchart of another encoding method provided by an embodiment of the present application.
图10是本申请实施例提供的解码方法的示意性流程图。10 is a schematic flowchart of a decoding method provided by an embodiment of the present application.
图11是本申请实施例提供的编码装置的示意性框图。11 is a schematic block diagram of an encoding device provided by an embodiment of the present application.
图12是本申请实施例提供的解码装置的示意性框图。12 is a schematic block diagram of a decoding device provided by an embodiment of the present application.
图13是本申请实施例的视频编解码装置的示意性图。13 is a schematic diagram of a video codec device according to an embodiment of the present application.
图14是本申请实施例的视频编解码系统的示意性框图。14 is a schematic block diagram of a video codec system according to an embodiment of the present application.
具体实施方式detailed description
下面将结合附图,对本申请中的技术方案进行描述。The technical solutions in this application will be described below with reference to the drawings.
为了更好地理解本申请实施例的技术方案,下面首先介绍一下本申请实施例涉及的图像编码过程。In order to better understand the technical solutions of the embodiments of the present application, the following first introduces the image encoding process involved in the embodiments of the present application.
图1是图像编码过程的示意图,该过程主要包括帧内预测(intra prediction)、帧间预测(inter prediction)、变换(transform)、量化(quantization)、熵编码(entropy encode)、环路内滤波(in-loop filtering)等环节。Figure 1 is a schematic diagram of the image encoding process, which mainly includes intra prediction (inter prediction), inter prediction (transform), transform (quantization), entropy encoding (entropy encoding), in-loop filtering (in-loop filtering) and other links.
首先将图像划分为块之后进行帧内和帧间预测,在得到残差之后进行变换量化,最终进行熵编码并输出码流。这里块为像素点组成的M×N大小的阵列(M不一定等于N),并且已知各个像素点位置的像素值。First, the image is divided into blocks, and intra-frame and inter-frame prediction are performed. After the residual is obtained, transform and quantization are performed. Finally, entropy coding is performed and the code stream is output. Here, the block is an M × N array composed of pixels (M is not necessarily equal to N), and the pixel value of each pixel position is known.
帧内预测利用当前图像内已重建区域内像素点的像素值根据相应的帧内预测模式对当前块内像素点的像素值进行预测。Intra prediction uses the pixel values of pixels in the reconstructed area in the current image to predict the pixel values of pixels in the current block according to the corresponding intra prediction mode.
帧间预测是在已重建的图像中,为当前图像中的当前编码块寻找匹配的参考块,将参考块中的像素点的像素值作为当前编码块中像素点的像素值的预测信息或者预测值(以下不再区分信息和值)(此过程称为运动估计(motion estimation,ME))(如图1所示),并需要传输指向参考块的运动矢量(motion vector,MV)(运动矢量信息表示参考块位置相比于当前块位置的位置偏移),以及参考块所在图像的指示信息等。Inter prediction is to find a matching reference block for the current coding block in the current image in the reconstructed image, and use the pixel value of the pixel in the reference block as the prediction information or prediction of the pixel value of the pixel in the current coding block Value (the information and value are no longer distinguished below) (this process is called motion estimation (ME)) (as shown in Figure 1), and the motion vector (motion vector (MV) (motion vector) pointing to the reference block needs to be transmitted The information indicates that the position of the reference block is shifted from that of the current block), and the indication information of the image where the reference block is located.
运动估计过程需要为当前块在参考图像中尝试多个参考块,最终使用哪一个或者哪几个参考块用作预测则使用率失真优化(rate-distortion optimization,RDO)或者其他方法确 定。The motion estimation process needs to try multiple reference blocks in the reference image for the current block, and which one or several reference blocks are ultimately used for prediction is determined using rate-distortion optimization (RDO) or other methods.
利用帧内或者帧间预测得到预测信息之后,当前编码块内像素点的像素值减去对应的预测信息便得到残差信息,然后利用离散余弦变换(discrete cosine transformation,DCT)和离散正弦变换(discrete sine transform,DST)等方法对残差信息进行变换,再使用量化熵编码得到码流。预测信号加上重建残差信号之后需进一步进行滤波操作,进而得到重建信号,并将其作为后续编码的参考信号。After obtaining prediction information using intra or inter prediction, the pixel values of the pixels in the current coding block are subtracted from the corresponding prediction information to obtain residual information, and then discrete cosine transform (discrete cosine transformation (DCT) and discrete sine transform ( discrete discrete transform (DST) and other methods to transform the residual information, and then use quantized entropy coding to get the code stream. After the prediction signal plus the reconstructed residual signal, a further filtering operation is required to obtain a reconstructed signal, which is used as a reference signal for subsequent encoding.
解码则相当于编码的逆过程。如图1所示,首先利用熵解码反量化反变换得到残差信息,解码码流确定当前块使用的是帧内还是帧间预测。Decoding is equivalent to the reverse process of encoding. As shown in FIG. 1, first, entropy decoding, inverse quantization and inverse transformation are used to obtain residual information, and the decoded code stream determines whether the current block uses intra-frame or inter-frame prediction.
如果是帧内编码,则利用周围已重建区域内像素点的像素值按照所使用的帧内预测方法构建预测信息。In the case of intra-coding, the pixel values of pixels in the surrounding reconstructed area are used to construct prediction information according to the intra-prediction method used.
如果是帧间编码,则需要解析出运动信息,并使用所解析出的运动信息在已重建的图像中确定参考块,并将块内像素点的像素值作为预测信息(此过程称为运动补偿(motion compensation,MC))。使用预测信息加上残差信息经过滤波操作之后便可以得到重建信息。If it is inter-frame coding, you need to parse out the motion information, and use the parsed motion information to determine the reference block in the reconstructed image, and use the pixel values of the pixels in the block as prediction information (this process is called motion compensation (motion, compensation, MC)). The reconstruction information can be obtained after filtering operations using the prediction information plus the residual information.
应理解,以上仅为对一般图像编解码器的解释,实际中可能有所不同。It should be understood that the above is only an explanation for a general image codec, and may be different in practice.
还应理解,本申请实施例的技术方案主要应用于图像编码器的预测之前的跳过(skip)编码或者直接(direct)编码中,或者,应用于图像解码器的反预测之后跳过(skip)解码或者直接(direct)解码中,存在于大部分图像编解码器中,例如H.263、H.264、H.265、H.266的编码过程中,如图1所示。It should also be understood that the technical solutions of the embodiments of the present application are mainly applied to skip encoding or direct encoding before prediction by the image encoder, or to skip after the inverse prediction of the image decoder. ) Decoding or direct decoding exists in most image codecs, such as H.263, H.264, H.265, H.266 during the encoding process, as shown in Figure 1.
下面介绍与本申请实施例相关的几个概念。Several concepts related to the embodiments of the present application are introduced below.
衍生模式:一种新型的块划分方式,它可以根据一个块衍生为多个子块,其中衍生块是一种细分方式,衍生出来的子块根据细分方式进行合并得来的。Derivation mode: A new type of block division method, which can be derived into multiple sub-blocks according to a block, where the derived block is a subdivision method, and the derived sub-blocks are merged according to the subdivision method.
图2示出了一种块划分的方式的示意图,如图2所示,块100可以根据不同的划分方式划分为块101、块102或者块103,其中,块101可以衍生为衍生块1011-1018,每个衍生块可以由两个或者两个以上的子块构成,每个子块可以是根据水平的三根线衍生得到的;块102可以衍生为衍生块1021-1028,每个衍生块可以由两个或者两个以上的子块构成,每个子块可以是根据垂直的三个线衍生得到;块103可以衍生为衍生块1031-1038,每个衍生块可以由两个或者两个以上的子块构成,每个子块可以是根据水平和垂直的四个子条得到。FIG. 2 shows a schematic diagram of a block division method. As shown in FIG. 2, block 100 may be divided into block 101, block 102, or block 103 according to different division methods, where block 101 may be derived into derivative block 1011 1018, each derivative block may be composed of two or more sub-blocks, each sub-block may be derived from three horizontal lines; block 102 may be derived into derivative blocks 1021-1028, and each derivative block may be derived from Two or more sub-blocks, each sub-block can be derived from three vertical lines; block 103 can be derived into derivative blocks 1031-1038, each derived block can be derived from two or more sub-blocks Block composition, each sub-block can be obtained from four sub-strips horizontally and vertically.
图2是以方块进行衍生为例进行了说明,还可以对非方块进行衍生,图3示出了另一种块划分的方式的示意图,如图3所示,非方形块200和非方形块300也可以进行水平和垂直衍生,其中,块200可以衍生为衍生块201-204,每个衍生块可以由两个或者两个以上的子块构成,每个子块可以是根据水平衍生得到的;块200还可以衍生为衍生块205-208,每个衍生块可以由两个或者两个以上的子块构成,每个子块可以是根据垂直衍生得到的。FIG. 2 illustrates the derivation of blocks as an example, and non-blocks can also be derived. FIG. 3 shows a schematic diagram of another block division method. As shown in FIG. 3, a non-square block 200 and a non-square block 300 can also be derived horizontally and vertically, where block 200 can be derived into derivative blocks 201-204, each derivative block can be composed of two or more sub-blocks, and each sub-block can be derived based on horizontal; The block 200 may also be derived into derivative blocks 205-208, and each derivative block may be composed of two or more sub-blocks, and each sub-block may be derived according to a vertical derivative.
块300可以衍生为衍生块301-304,每个衍生块可以由两个或者两个以上的子块构成,每个子块可以是根据水平衍生得到的;块300还可以衍生为衍生块305-308,每个衍生块可以由两个或者两个以上的子块构成,每个子块可以是根据垂直衍生得到的。Block 300 can be derived into derivative blocks 301-304, each derived block can be composed of two or more sub-blocks, and each sub-block can be derived according to level; block 300 can also be derived into derived blocks 305-308 Each derivative block may be composed of two or more sub-blocks, and each sub-block may be derived according to vertical derivation.
应理解,图2和图3中对块的划分以及衍生仅仅是示意性的,本申请实施例中并不对块的划分和衍生方式进行具体限定。It should be understood that the division and derivation of blocks in FIGS. 2 and 3 are only schematic, and the manner of division and derivation of blocks is not specifically limited in the embodiments of the present application.
周围块(或者,还可以称为相邻块):块E的相邻块A是样本(x 0-1,y 0)所在的块,块E的相邻块B是样本(x 0,y 0-1)所在的块,块E的相邻块C是样本(x 1+1,y 0-1)所在的块,块E的相邻块D是样本(x 0-1,y 0-1)所在的块,块E的相邻块F是样本(x 0-1,y 1)所在的块,块E的相邻块G是样本(x 1,y 0-1)所在的块。其中(x 0,y 0)是块E左上角样本在图像中的坐标,(x 1,y 0)是块E右上角样本在图像中的坐标,(x 0,y 1)是块E左下角样本在图像中的坐标。块E和它的相邻块A、B、C和D的空间位置关系见图4。 The surrounding blocks (or, may also be called adjacent blocks): the adjacent block A of block E is the block where the samples (x 0 -1, y 0 ) are located, and the adjacent block B of block E is the sample (x 0 , y 0 -1) where the block is, the adjacent block C of block E is the block where the sample (x 1 +1, y 0 -1) is located, and the adjacent block D of block E is the sample (x 0 -1, y 0- 1) The block where block E is adjacent to block F is the block where the sample (x 0 -1, y 1 ) is located, and block E is adjacent block G is the block where the sample (x 1 , y 0 -1) is located. Where (x 0 , y 0 ) is the coordinates of the sample in the upper left corner of the block E in the image, (x 1 , y 0 ) is the coordinates of the sample in the upper right corner of the block E in the image, (x 0 , y 1 ) is the lower left of the block E The coordinates of the corner sample in the image. The spatial positional relationship between block E and its neighbors A, B, C and D is shown in Figure 4.
周围块X(X为A、B、C、D、F或G)“存在”指该块应在图像内并且该块应与块E属于同一条带;否则相邻块“不存在”。The surrounding block X (X is A, B, C, D, F, or G) "exists" means that the block should be within the image and that the block should belong to the same band as the block E; otherwise, the adjacent block "does not exist".
如果块“不存在”或者尚未解码,则此块“不可用”;否则此块“可用”。如果图像样本所在的块“不存在”或者此样本尚未解码,则此样本“不可用”;否则此样本“可用”。If the block "does not exist" or has not been decoded, the block is "unavailable"; otherwise the block is "available". If the block where the image sample is located "does not exist" or this sample has not been decoded, this sample is "unavailable"; otherwise this sample is "available".
应理解,图4仅仅是示意性的,随着标准的发展,会有所不同,比如F块下方可能还有相邻块。It should be understood that FIG. 4 is only schematic, and it will be different as the standard develops, for example, there may be adjacent blocks below the F block.
下面介绍跳过(skip)编码模式或者直接(direct)编码模式中MV的导出方式:The following introduces the export method of MV in skip encoding mode or direct encoding mode:
首先计算PicCur到PicCol的BlockDistance(记作BlockDistanceCurCol)和PicCol到PicColRef的BlockDistance(记作BlockDistanceColRef):First calculate the BlockDistance from PicCur to PicCol (denoted as BlockDistanceCurCol) and the BlockDistance from PicCol to PicColRef (denoted as BlockDistanceColRef):
(1)如果当前图像的SceneReferenceEnableFlag值为1且RefPicNum值为1,则BlockDistanceCurCol和BlockDistanceColRef均为1;(1) If the SceneReferenceEnableFlag value of the current image is 1 and the RefPicNum value is 1, then BlockDistanceCurCol and BlockDistanceColRef are both 1;
(2)否则,如果MvSuCol中存储的参考图像索引值为-1,则BlockDistanceColRef等于1,BlockDistanceCurCol=(DistanceIndexCur-DistanceIndexCol+512)%512;(2) Otherwise, if the reference image index value stored in MvSuCol is -1, then BlockDistanceColRef is equal to 1, BlockDistanceCurCol = (DistanceIndexCur-DistanceIndexCol + 512)% 512;
(3)否则,BlockDistanceCurCol=(DistanceIndexCur-DistanceIndexCol+512)%512,BlockDistanceColRef=(DistanceIndexCol-DistanceIndexColRef+512)%512。(3) Otherwise, BlockDistanceCurCol = (DistanceIndexCur-DistanceIndexCol + 512)% 512, BlockDistanceColRef = (DistanceIndexCol-DistanceIndexColRef + 512)% 512.
其中,PicCur是当前预测单元所在的图像,DistanceIndexCur是PicCur的距离索引,PicCol是参考图像队列中标记为0的参考图像,DistanceIndexCol是PicCol的距离索引,MvSuCol是PicCol中与当前预测单元左上角亮度样本位置对应的亮度样本所在的运动信息存储单元,DistanceIndexColRef是MvSuCol的前向或第一参考图像PicColRef的距离索引;然后按以下方法导出当前预测单元的运动矢量:Among them, PicCur is the image where the current prediction unit is located, DistanceIndexCur is the distance index of PicCur, PicCol is the reference image marked as 0 in the reference image queue, DistanceIndexCol is the distance index of PicCol, MvSuCol is the brightness sample in PicCol and the upper left corner of the current prediction unit The motion information storage unit where the luminance sample corresponding to the location is located, DistanceIndexColRef is the distance index of the forward or first reference image PicColRef of MvSuCol; then the motion vector of the current prediction unit is derived as follows:
(4)如果MvSuCol中存储的参考图像索引值为-1,则mvE是零矢量;(4) If the reference image index value stored in MvSuCol is -1, then mvE is a zero vector;
(5)如果步骤(4)的条件不满足,按以下方法导出mvE(mvE_x,mvE_y):(5) If the condition of step (4) is not satisfied, derive mvE (mvE_x, mvE_y) as follows:
mvE_x=Clip3(-32768,32767,(BlockDistanceCurCol×mvcol_x×(16384/BlockDistanceColRef)+8192)>>14);mvE_x = Clip3 (-32768, 32767, (BlockDistanceCurCol × mvcol_x × (16384 / BlockDistanceColRef) +8192) >> 14);
mvE_y=Clip3(-32768,32767,((BlockDistanceCurCol×(mvcol_y+delta1)×(16384/BlockDistanceColRef)+8192)>>14)-delta2)。mvE_y = Clip3 (-32768, 32767, ((BlockDistanceCurCol × (mvcol_y + delta1) × (16384 / BlockDistanceColRef) +8192) >> 14) -delta2).
其中,mvcol(mvcol_x,mvcol_y)是MvSuCol的前向运动矢量,delta1、delta2的导出方式常量,则mvE是当前预测单元的前向运动矢量。Among them, mvcol (mvcol_x, mvcol_y) is the forward motion vector of MvSuCol, and the derivation mode constant of delta1 and delta2, then mvE is the forward motion vector of the current prediction unit.
B帧的MV导出有类似的情况,当然,不同的标准skip编码模式或者direct编码模式的MV导出方式不一样。确定MV之后,skip编码模式的预测值就是mv指向的参考帧块的值,direct编码模式中需要把mv指向的参考帧块的值和当前块的值进行预测,变换,量化,最后的残差需要传入码流之中。The MV export of the B frame has a similar situation. Of course, different standard skip encoding modes or direct encoding modes have different MV export methods. After determining the MV, the prediction value of the skip coding mode is the value of the reference frame block pointed to by mv. In the direct coding mode, the value of the reference frame block pointed to by mv and the value of the current block need to be predicted, transformed, quantized, and finally the residual Need to be passed into the code stream.
目前正在制定AVS3中的跳过(skip)或者直接(direct)编码模式都是不进行运动搜索,只在通过已编码的周围块中进行MV的导出,其中skip编码过程中不传残差,direct编码过程中需要传残差信息,并且skip或者direct编码只针对2Nx2N模式,对于衍生模式中的块划分方式,没有充分考虑进去,影响衍生模式的利用率,同时,skip或者direct编码只针对当前不划分的块进行,对于划分的子块没有进一步考虑进行,编码增益较低。At present, the skip or direct coding mode in AVS3 is not developed. Motion search is not performed, and the MV is only exported through the surrounding blocks that have been coded. In the skip coding process, the residual is not transmitted. Residual information needs to be transmitted during the encoding process, and skip or direct coding is only for 2Nx2N mode. For the block division method in the derivative mode, insufficient consideration has been taken into consideration, which affects the utilization rate of the derivative mode. At the same time, skip or direct coding is only for the current The divided blocks are performed without further consideration of the divided sub-blocks, and the coding gain is low.
本申请实施例提供了一种编码方法,通过对衍生块或者衍生块中的子块进行skip或者direct编码,可以实现在较低复杂度下,得到好的编码增益。The embodiments of the present application provide a coding method. By performing skip or direct coding on a derivative block or a sub-block in the derivative block, a good coding gain can be achieved with lower complexity.
图5示出了本申请实施例提供的编码方法400的示意性流程图,该方法400可以由编码装置执行,如图5所示,该方法400包括:FIG. 5 shows a schematic flowchart of an encoding method 400 provided by an embodiment of the present application. The method 400 may be executed by an encoding device. As shown in FIG. 5, the method 400 includes:
S410,根据待编码的编码块,衍生获得衍生块。S410. Derivative block is derived according to the encoding block to be encoded.
可选地,该衍生块由一个或者多个子块组成。Optionally, the derivative block is composed of one or more sub-blocks.
应理解,本申请实施例对编码块进行衍生的过程可以如图2所示,该待编码的编码块可以为图2中的块100,也可以为图3中的块200和块300,还可以为其他形状的编码块,本申请实施例对此并不作任何限定。It should be understood that the process of deriving the coding block in the embodiment of the present application may be as shown in FIG. 2, and the coding block to be coded may be block 100 in FIG. 2, or may be block 200 and block 300 in FIG. 3, and It can be a coding block of other shapes, which is not limited in this embodiment of the present application.
420,采用第一编码模式,对该衍生块进行编码,以得到第一编码信息。420. Use the first encoding mode to encode the derived block to obtain first encoding information.
可选地,该第一编码模式可以包括跳过编码模式或者直接编码模式。Optionally, the first coding mode may include a skip coding mode or a direct coding mode.
具体而言,可以对待编码的编码块进行划分后,进行衍生得到衍生块,其中衍生得到的衍生块可以由多个子块组成,编码装置可以对衍生块和/或衍生块中的子块采用跳过编码模式或者直接编码模式进行编码,得到第一编码信息。Specifically, the coded block to be coded may be divided and then derived to obtain a derivative block, wherein the derived derivative block may be composed of multiple sub-blocks, and the encoding device may use the jump Encode in the over-encoding mode or direct-encoding mode to obtain the first encoding information.
可选地,该第一编码信息包括MV的信息。Optionally, the first encoding information includes MV information.
可选地,本申请实施例中,该编码装置可以只对衍生块采用跳过编码模式或者直接编码模式进行编码,也可以只对衍生块的子块采用跳过编码模式或者直接编码模式进行编码,还可以对衍生块和衍生块的子块进行编码。Optionally, in the embodiment of the present application, the encoding device may only use the skip encoding mode or the direct encoding mode to encode the derivative block, or may use the skip encoding mode or the direct encoding mode to encode only the sub-blocks of the derivative block , You can also encode derivative blocks and sub-blocks of derivative blocks.
可选地,该衍生块由多个子块组成,当编码装置对衍生块的子块采用跳过编码模式或者直接编码模式进行编码时,可以对衍生块中的每一个子块采用跳过编码模式或者直接编码模式进行编码,也可以对衍生块的一部分子块采用跳过编码模式或者直接编码模式进行编码。Optionally, the derivative block is composed of a plurality of sub-blocks. When the encoding device encodes the sub-blocks of the derivative block in the skip encoding mode or the direct encoding mode, it may adopt the skip encoding mode for each sub-block in the derivative block Alternatively, the direct encoding mode may be used for encoding, and a part of the sub-blocks of the derived block may also be encoded using the skip encoding mode or the direct encoding mode.
应理解,本申请实施例中,对衍生块或者其子块采用跳过编码模式或者直接编码模式进行编码,也可以理解为对该衍生块或者其子块进行跳过编码或者直接编码。It should be understood that, in the embodiments of the present application, the derived block or its sub-blocks are encoded in the skip encoding mode or the direct encoding mode, and may also be understood as the skipped encoding or the direct encoding of the derived block or its sub-blocks.
图6示出了另一种块划分的方式的示意图,如图6所示,块501可以衍生为衍生块5011,衍生块5012和衍生块5013,块502可以衍生为衍生块5021,衍生块5022和衍生块5023。对衍生块5011、5012、5013、5021、5022或者5023进行skip或者direct编码。具体的编码方式,如对衍生块5011进行skip和direct编码,编码信息的获取,如mv的矢量的获取,可以根据衍生块5011的整体进行编码获得该编码信息,也可以根据5011中子块1进行编码信息的获取,也可以根据子块2进行编码信息的获取。FIG. 6 shows a schematic diagram of another block division method. As shown in FIG. 6, block 501 can be derived into derivative block 5011, derivative block 5012 and derivative block 5013, and block 502 can be derived into derivative block 5021 and derivative block 5022. And derivative block 5023. Skip or direct encode the derivative blocks 5011, 5012, 5013, 5021, 5022, or 5023. Specific encoding methods, such as skip and direct encoding of the derivative block 5011, acquisition of encoding information, such as acquisition of mv vector, can be encoded according to the entire derivative block 5011 to obtain the encoding information, or according to 5011 neutron block To obtain the coding information, the coding information may also be obtained according to the sub-block 2.
应理解,以上图6所示的衍生块的衍生模式并不局限于以上几种,也可能是如图7所示的各种衍生块的衍生模式。It should be understood that the derivative modes of the derivative block shown in FIG. 6 above are not limited to the above types, and may also be derivative models of various derivative blocks shown in FIG. 7.
可选地,采用第一编码模式,对该衍生块进行编码,,以得到第一编码信息,包括:Optionally, the first encoding mode is used to encode the derivative block to obtain first encoding information, including:
在确定预设条件发生的情况下,采用该第一编码模式,对该衍生块进行编码,以得到 第一编码信息。When it is determined that the preset condition occurs, the first encoding mode is used to encode the derivative block to obtain first encoding information.
可选地,在确定是否对该衍生块进行编码时,该预设条件包括但不限于以下的一种或者多种:Optionally, when determining whether to encode the derivative block, the preset condition includes but is not limited to one or more of the following:
(1)衍生块的长和宽大于或者等于M;(1) The length and width of the derived block is greater than or equal to M;
(2)衍生块的长和宽小于或者等于N,M小于或者等于N;(2) The length and width of the derived block is less than or equal to N, and M is less than or equal to N;
(3)衍生块的面积大于或者等于P;(3) The area of the derivative block is greater than or equal to P;
(4)该衍生块的面积小于或者等于Q,P小于或者等于Q;(4) The area of the derivative block is less than or equal to Q, and P is less than or equal to Q;
(5)衍生模式下得到了特定的衍生块。(5) A specific derivative block is obtained in the derivative mode.
例如,对于32×32的方形块,按照1:2:1水平衍生出2个32×8和一个32×16的非方形子块,当编码装置确定子块的长和宽大于或者等于16时采用跳过编码模式或者直接编码模式进行编码,则可以对该衍生块和/或32×16的子块进行编码。For example, for a 32 × 32 square block, two 32 × 8 and one 32 × 16 non-square sub-blocks are derived according to the 1: 2: 1 level, when the encoding device determines that the length and width of the sub-block is greater than or equal to 16 If the skip coding mode or the direct coding mode is used for coding, the derivative block and / or the 32 × 16 sub-block can be coded.
又例如,当衍生块的面积大于或者等于P时,该第一编码信息可以是对整个衍生块采用跳过编码模式或者直接编码模式进行编码。For another example, when the area of the derivative block is greater than or equal to P, the first encoding information may be encoding using the skip encoding mode or the direct encoding mode for the entire derivative block.
可选地,在确定是否对子块进行编码时,该预设条件包括但不限于以下的一种或者多种:Optionally, when determining whether to encode the sub-block, the preset condition includes but is not limited to one or more of the following:
(1)子块的长和宽大于或者等于K;(1) The length and width of the sub-block is greater than or equal to K;
(2)子块的长和宽小于或者等于L,K小于或者等于L;(2) The length and width of the sub-block are less than or equal to L, and K is less than or equal to L;
(3)子块的面积大于或者等于W;(3) The area of the sub-block is greater than or equal to W;
(4)子块的面积小于或者等于Y,W小于或者等于Y;(4) The area of the sub-block is less than or equal to Y, and W is less than or equal to Y;
(5)衍生模式下得到了特定的子块。(5) A specific sub-block is obtained in the derivative mode.
例如,衍生块包括子块1和子块2,当子块1的面积大于或者等于W,且子块2的面积小于W时,该第一编码信息可以是对子块1采用跳过编码模式或者直接编码模式进行编码获得的。For example, the derived block includes sub-block 1 and sub-block 2. When the area of sub-block 1 is greater than or equal to W, and the area of sub-block 2 is smaller than W, the first coding information may be to adopt a skip coding mode for sub-block 1 or Direct encoding mode is obtained by encoding.
又例如,当编码装置确定子块为L型时进行跳过或者直接编码,如图2所示,当块103衍生为衍生块1037时,可以对该衍生块1037和/或其子块进行编码。For another example, when the encoding device determines that the sub-block is L-shaped, skip or directly encode, as shown in FIG. 2, when the block 103 is derived into the derivative block 1037, the derivative block 1037 and / or its sub-blocks may be encoded .
可选地,当该第一编码信息确定后,整个衍生块可以共享该第一编码信息。Optionally, after the first encoding information is determined, the entire derivative block may share the first encoding information.
例如,如图6所示,对衍生块5011的子块1采用跳过编码模式或者直接编码模式得到该第一编码信息,子块2可以共享该第一编码信息,即子块1的编码信息和子块2的编码信息相同。For example, as shown in FIG. 6, the first coding information is obtained by using the skip coding mode or the direct coding mode for the sub-block 1 of the derivative block 5011, and the sub-block 2 may share the first coding information, that is, the coding information of the sub-block 1 It is the same as the coding information of sub-block 2.
S430,根据该第一编码信息,确定码流,该码流包括指示信息,该指示信息用于指示该第一编码信息是对该衍生块采用该第一编码模式获得的。S430: Determine a code stream according to the first encoding information, where the code stream includes indication information, where the indication information is used to indicate that the first encoding information is obtained by using the first encoding mode for the derived block.
具体而言,编码装置获得该第一编码信息,经过预测、变换、量化和熵编码等过程后获得码流,该编码装置可以在码流中写入指示信息,指示信息指示了编码装置获得的编码信息为对衍生块或者衍生块中的子块进行编码得到的,以便于解码装置在解析码流后,判断进行skip编码或者direct编码信息的解析。Specifically, the encoding device obtains the first encoding information, and the code stream is obtained after the processes of prediction, transformation, quantization, and entropy encoding. The encoding device may write instruction information in the code stream, and the instruction information indicates the encoding device obtained The encoding information is obtained by encoding the derivative block or the sub-blocks in the derivative block, so that the decoding device determines to perform the analysis of skip encoding or direct encoding information after analyzing the code stream.
本申请实施例的编码方法,通过对编码块衍生得到的衍生块或者子块采用跳过编码模式或者直接编码模式进行编码,由于skip编码或者direct编码中不进行运动搜索过程,因此可以在较低复杂度下,得到较好的编码增益以及好的质量。In the encoding method of the embodiment of the present application, the derived block or sub-block derived from the encoded block is encoded using the skip encoding mode or the direct encoding mode. Since skip encoding or direct encoding does not perform a motion search process, it can be lower Under complexity, a better coding gain and good quality are obtained.
图8示出了本申请实施例的编码方法400的另一示意性流程图,如图8所示,该方法 400包括:FIG. 8 shows another schematic flowchart of an encoding method 400 according to an embodiment of the present application. As shown in FIG. 8, the method 400 includes:
S411,根据待编码的编码块,衍生获得衍生块。S411: Derivatively obtain a derivative block according to the encoding block to be encoded.
应理解,S411与上述S410相同,为了简洁,在此不再赘述。It should be understood that S411 is the same as the above-mentioned S410, and for the sake of brevity, no further description is provided here.
S421,采用第一编码模式进行编码,对该衍生块中的每一个子块分别进行编码,以得到多个编码信息。S421: Use the first encoding mode for encoding, and encode each sub-block in the derived block separately to obtain multiple encoding information.
可选地,该第一编码模式可以包括跳过编码模式或者直接编码模式。Optionally, the first coding mode may include a skip coding mode or a direct coding mode.
具体而言,该衍生块可以由多个子块组成,编码装置可以对多个子块中的每一个子块分别进行编码,得到每一个子块对应的编码信息。Specifically, the derivative block may be composed of multiple sub-blocks, and the encoding device may separately encode each of the multiple sub-blocks to obtain coding information corresponding to each sub-block.
例如,对于图6所示的衍生块5011,编码装置可以分别对子块1和子块2分别采用跳过编码模式或者直接编码模式进行编码,得到两个编码信息。For example, for the derivative block 5011 shown in FIG. 6, the encoding apparatus may respectively encode the sub-block 1 and the sub-block 2 using the skip coding mode or the direct coding mode to obtain two coding information.
S422,根据该多个编码信息,确定该第一编码信息。S422: Determine the first encoded information according to the multiple encoded information.
可选地,该根据该多个编码信息,确定该第一编码信息,包括:Optionally, the determining the first encoding information according to the plurality of encoding information includes:
计算该多个编码信息中每一个编码信息的代价;Calculate the cost of each encoded information in the multiple encoded information;
根据每一个编码信息的代价,确定该第一编码信息。According to the cost of each encoded information, the first encoded information is determined.
可选地,该第一编码信息为该多个编码信息中代价最小的编码信息。Optionally, the first encoding information is the least cost encoding information among the plurality of encoding information.
可选地,本申请实施例中,并不对计算代价的方式进行具体限定,该计算代价的方式可以为率失真(rate-distortion optimization,RDO)决策、绝对值之和(sum of absolute differences,SAD)算法或者变换后再绝对值求和(sum of absolute transformed difference,SATD)算法等。Optionally, in the embodiment of the present application, the method for calculating the cost is not specifically limited, and the method for calculating the cost may be rate-distortion optimization (RDO) decision, sum of absolute values (sum of of absolute differences, SAD) ) Algorithms or sum-of-absolute transformed (SATD) algorithms after transformation.
例如,如图6所示,该衍生块5011由子块1和子块2组成,编码装置可以对子块1进行编码得到编码信息1,对子块2进行编码得到编码信息2,分别计算编码信息1的代价和编码信息2的代价,在确定编码信息1的代价小于编码信息2的代价后,将该编码信息1确定为该第一编码信息。For example, as shown in FIG. 6, the derivative block 5011 is composed of sub-block 1 and sub-block 2, the encoding device may encode sub-block 1 to obtain coding information 1, encode sub-block 2 to obtain coding information 2, and calculate coding information 1 respectively And the cost of the coding information 2, after determining that the cost of the coding information 1 is less than the cost of the coding information 2, determine the coding information 1 as the first coding information.
S431,根据所述第一编码信息,确定码流,该码流包括指示信息,该指示信息用于指示所述第一编码信息是对该衍生块采用该第一编码模式进行编码获得的。S431. Determine a code stream according to the first encoding information, where the code stream includes indication information that is used to indicate that the first encoding information is obtained by encoding the derivative block using the first encoding mode.
具体而言,该编码装置对多个子块中每个子块分别进行编码后,从多个编码信息中确定出该第一编码信息,该第一编码信息对应第一子块,该编码装置可以将该第一子块的标识信息写入码流,用于指示该第一编码信息是对该第一子块采用该第一编码模式进行编码获得的。Specifically, after the encoding device encodes each of the plurality of sub-blocks separately, the first encoding information is determined from the plurality of encoding information, and the first encoding information corresponds to the first sub-block. The identification information of the first sub-block is written into the code stream, and is used to indicate that the first encoding information is obtained by encoding the first sub-block using the first encoding mode.
可选地,该多个编码信息相同的情况下,该第一编码信息为该多个编码信息中的任意一个编码信息。Optionally, when the plurality of encoded information are the same, the first encoded information is any one of the encoded information.
具体而言,当编码装置对该多个子块进行编码得到的编码信息相同时,该编码装置可以将其中任意一个编码信息确定为该第一编码信息。Specifically, when the encoding information obtained by encoding the plurality of sub-blocks by the encoding device is the same, the encoding device may determine any one of the encoding information as the first encoding information.
可选地,该指示信息还用于指示该多个子块中每个子块的编码信息相同。Optionally, the indication information is also used to indicate that the encoding information of each sub-block in the plurality of sub-blocks is the same.
应理解,本申请实施例中,当该多个编码信息相同时,可以只写入一次编码信息,或者不写入编码信息,在解码端,如果读到码流中的指示信息指示多个子块的编码信息相同,则可以只读入一次编码信息,或者,不读入编码信息,如果写入了编码信息,解码端可以直接用多个子块中任意一个子块的编码信息推导或者解码得到该第一编码信息。It should be understood that, in the embodiments of the present application, when the plurality of encoding information are the same, the encoding information may be written only once, or the encoding information may not be written. At the decoding end, if the indication information in the code stream is read indicating multiple sub-blocks If the encoding information is the same, you can only read the encoding information once, or do not read the encoding information. If the encoding information is written, the decoding end can directly use the encoding information of any one of the multiple subblocks to derive or decode the encoding information. The first encoding information.
可选地,该多个编码信息不同的情况下,该第一编码信息为该多个编码信息。Optionally, when the plurality of encoded information are different, the first encoded information is the plurality of encoded information.
具体而言,当编码装置对该多个子块中每一个子块进行编码得到的编码信息不同时,该编码装置可以将该多个编码信息确定为该第一编码信息。Specifically, when the encoding information obtained by encoding each of the plurality of sub-blocks by the encoding device is different, the encoding device may determine the plurality of encoding information as the first encoding information.
可选地,该指示信息还用于指示该多个子块中每个子块的编码信息不同。Optionally, the indication information is also used to indicate that the encoding information of each sub-block in the plurality of sub-blocks is different.
应理解,本申请实施例中,当该多个编码信息不同时,可以写入该多个编码信息,解码端可以用多个子块中每一个子块的编码信息推导或者解码得到该第一编码信息。It should be understood that, in the embodiments of the present application, when the plurality of encoding information is different, the plurality of encoding information may be written, and the decoding end may use the encoding information of each sub-block in the plurality of sub-blocks to derive or decode the first encoding information.
还应理解,本申请实施例中,S421中还可以对该多个子块中一部分采用该第一编码模式进行编码,例如,衍生块包括5个子块,编码装置可以选择其中3个子块进行编码得到3个编码信息,并从该3个编码信息中确定该第一编码信息。It should also be understood that in the embodiment of the present application, in S421, a part of the plurality of sub-blocks may also be encoded using the first encoding mode. For example, the derivative block includes 5 sub-blocks, and the encoding device may select 3 sub-blocks for encoding. 3 encoded information, and the first encoded information is determined from the 3 encoded information.
本申请实施例的编码方法,通过对编码块衍生得到的衍生块中的子块分别采用跳过编码模式或者直接编码模式进行编码,可以在较低复杂度下,得到较好的编码增益以及好的质量。In the encoding method of the embodiment of the present application, by using the skip encoding mode or the direct encoding mode to encode the sub-blocks in the derivative block derived from the encoding block, better coding gain and better coding can be obtained with lower complexity the quality of.
图9示出了本申请实施例的编码方法400的另一示意性流程图,如图9所示,该方法400包括:FIG. 9 shows another schematic flowchart of the encoding method 400 according to an embodiment of the present application. As shown in FIG. 9, the method 400 includes:
S412,根据待编码的编码块,衍生获得衍生块。S412: Derivative block is derived according to the encoding block to be encoded.
应理解,S412与上述S410相同,为了简洁,在此不再赘述。It should be understood that S412 is the same as the above S410, and for the sake of brevity, it will not be repeated here.
S423,采用第一编码模式,对该衍生块进行编码,以得到第二编码信息;S423, adopting the first encoding mode to encode the derived block to obtain second encoding information;
S424,采用第一编码模式,对该衍生块中的每一个子块进行编码,以得到多个编码信息。S424: Use the first coding mode to code each sub-block in the derived block to obtain multiple coding information.
可选地,该第一编码模式包括该跳过编码模式或者直接编码模式。Optionally, the first encoding mode includes the skip encoding mode or direct encoding mode.
具体而言,编码装置可以对衍生块以及衍生块中的每一个子块都采用跳过编码模式或者直接编码模式进行编码。Specifically, the encoding device may encode the derivative block and each sub-block in the derivative block in the skip encoding mode or the direct encoding mode.
应理解,S423和S424之间并没有实际的先后顺序。It should be understood that there is no actual sequence between S423 and S424.
S425,根据该第二编码信息和该多个编码信息,确定该第一编码信息。S425: Determine the first encoding information according to the second encoding information and the plurality of encoding information.
可选地,该根据该第二编码信息和该多个编码信息,确定该第一编码信息,包括:Optionally, the determining the first encoding information according to the second encoding information and the plurality of encoding information includes:
确定该第二编码信息的代价和该多个编码信息的代价;Determine the cost of the second encoded information and the cost of the multiple encoded information;
根据该第二编码信息的代价和该多个编码信息的代价,确定所述第一编码信息。The first encoding information is determined according to the cost of the second encoding information and the costs of the plurality of encoding information.
可选地,该第一编码信息为该第二编码信息和该多个编码信息中代价最小的编码信息。Optionally, the first encoding information is the encoding information with the smallest cost among the second encoding information and the plurality of encoding information.
可选地,该第一编码信息为该第二编码信息,或者,该第一编码信息为该多个编码信息。Optionally, the first encoding information is the second encoding information, or the first encoding information is the plurality of encoding information.
例如,如图6所示,编码装置可以对衍生块5011进行编码,得到第二编码信息,也可以对衍生块5011中的子块1进行编码,得到第三编码信息,还可以对衍生块5011中的子块2进行编码,得到第四编码信息,该第三编码信息和该第四编码信息组成该多个编码信息,该编码装置可以计算该第二编码信息的代价和该多个编码信息的代价,在确定该多个编码信息的代价小于该第二编码信息的代价后,将该多个编码信息确定为该第一编码信息。For example, as shown in FIG. 6, the encoding device may encode the derivative block 5011 to obtain second encoding information, or may encode the sub-block 1 in the derivative block 5011 to obtain third encoding information, and may also derive the derivative block 5011 The sub-block 2 in is encoded to obtain fourth encoding information, the third encoding information and the fourth encoding information constitute the plurality of encoding information, and the encoding device may calculate the cost of the second encoding information and the plurality of encoding information After determining that the cost of the plurality of encoded information is less than the cost of the second encoded information, determine the plurality of encoded information as the first encoded information.
可选地,本申请实施例中,并不对计算代价的方式进行具体限定,该计算代价的方式可以为RDO决策、SAD算法或者SATD算法等。Optionally, in the embodiment of the present application, the method for calculating the cost is not specifically limited, and the method for calculating the cost may be RDO decision, SAD algorithm, or SATD algorithm.
应理解,本申请实施例中,S424中还可以对该多个子块中一部分进行编码,例如, 衍生块包括5个子块,编码装置可以选择其中3个子块进行编码得到3个编码信息,并从该3个编码信息中确定该第一编码信息。It should be understood that in the embodiment of the present application, part of the plurality of sub-blocks may also be encoded in S424, for example, the derivative block includes 5 sub-blocks, and the encoding device may select 3 sub-blocks to encode to obtain 3 encoding information, and The first encoding information is determined among the three encoding information.
S432,根据所述第一编码信息,确定码流,所述码流包括指示信息,该指示信息用于指示该第一编码信息是对该衍生块采用该第一编码模式进行过编码获得的,或者,该指示信息用于指示该第一编码信息是对该每一个子块采用该第一编码模式进行编码获得的。S432. Determine a code stream according to the first encoding information, where the code stream includes indication information that is used to indicate that the first encoding information is obtained by encoding the derivative block using the first encoding mode, Or, the indication information is used to indicate that the first encoding information is obtained by encoding each sub-block using the first encoding mode.
例如,若S425中该编码装置将该多个编码信息确定为该第一编码信息,则该指示信息可以指示该第一编码信息是对该每一个子块进行编码获得的。For example, if the encoding device determines the plurality of encoding information as the first encoding information in S425, the indication information may indicate that the first encoding information is obtained by encoding each sub-block.
本申请实施例的编码方法,通过对编码块衍生得到的衍生块以及衍生块中的每一个子块分别采用跳过编码模式或者直接编码模式进行编码,将其中代价较小者确定为第一编码信息,可以在较低复杂度下,得到较好的编码增益以及好的质量。In the encoding method of the embodiment of the present application, the derivative block derived from the encoding block and each sub-block in the derivative block are encoded in skip encoding mode or direct encoding mode, respectively, and the one with the lower cost is determined as the first encoding Information, you can get better coding gain and good quality at lower complexity.
上面结合图5至图9,详细得描述了根据本申请实施例的图像编码方法,下面结合图10,详细得描述根据本申请实施例的图像解码方法。The image encoding method according to an embodiment of the present application has been described in detail above with reference to FIGS. 5 to 9, and the image decoding method according to an embodiment of the present application will be described in detail below with reference to FIG.
图10示出了根据本申请实施例的解码方法600的示意性流程图,如图10所示,该方法600可以由解码装置执行,该方法600包括:FIG. 10 shows a schematic flowchart of a decoding method 600 according to an embodiment of the present application. As shown in FIG. 10, the method 600 may be executed by a decoding device. The method 600 includes:
S610,从码流中获得指示信息,该指示信息用于指示对衍生块采用第一编码模式以获得编码信息,该第一编码模式包括跳过编码模式或者直接编码模式;S610: Obtain indication information from the code stream, where the indication information is used to instruct the derived block to adopt the first encoding mode to obtain encoding information, where the first encoding mode includes a skip encoding mode or a direct encoding mode;
S620,根据该指示信息,采用该第一编码模式,对该衍生块进行解码。S620: Decode the derived block using the first encoding mode according to the instruction information.
具体而言,解码装置可以对码流进行解析已获得指示信息,该指示信息指示了编码装置获得的编码信息是对衍生块或者衍生块中的子块采用跳过编码模式或者直接编码模式进行编码得到的,该编码装置根据该指示信息对该衍生块或者该衍生块的子块采用跳过编码模式或该直接编码模式进行解码。Specifically, the decoding device may parse the code stream to obtain the instruction information, and the instruction information indicates that the encoding information obtained by the encoding device is to encode the derivative block or the sub-blocks in the derivative block using the skip encoding mode or the direct encoding mode As a result, the encoding device decodes the derivative block or the sub-block of the derivative block in the skip encoding mode or the direct encoding mode according to the instruction information.
可选地,该衍生块由多个子块组成,该多个子块包括该第一子块,该对该衍生块或者该衍生块的子块采用该跳过编码模式或该直接编码模式进行解码,包括:Optionally, the derived block is composed of multiple sub-blocks, the multiple sub-blocks include the first sub-block, and the skipped coding mode or the direct coding mode is used to decode the derived block or the sub-blocks of the derived block, include:
对该第一子块采用该跳过编码模式或该直接编码模式进行解码。The first sub-block is decoded using the skip coding mode or the direct coding mode.
如图6所示,编码装置对衍生块5011中的子块1进行跳过编码和直接编码,得到编码信息,编码装置将指示信息写入码流,该指示信息指示了该编码信息是对该子块1进行编码获得的,该解码装置从码流中解析出该指示信息后,可以对该子块1进行跳过解码或者直接解码。As shown in FIG. 6, the encoding device performs skip encoding and direct encoding on the sub-block 1 in the derivative block 5011 to obtain encoding information. The encoding device writes the instruction information into the code stream. The instruction information indicates that the encoding information is After the sub-block 1 is coded, the decoding device can parse the sub-block 1 by decoding or directly decoding the instruction information after parsing the indication information from the code stream.
可选地,该指示信息用于指示编码装置获得的编码信息是对该衍生块采用该第一编码模式得到的,该采用该第一编码模式,对该衍生块进行解码,包括:Optionally, the indication information is used to indicate that the encoding information obtained by the encoding device is obtained by using the first encoding mode for the derived block, and the first encoding mode is used to decode the derived block, including:
采用该第一编码模式,对该衍生块进行解码。Using the first encoding mode, the derived block is decoded.
如图6所示,编码装置对衍生块5011进行跳过编码和直接编码,得到编码信息,编码装置将指示信息写入码流,该指示信息指示了该编码信息是对该衍生块5011进行编码获得的,该解码装置从码流中解析出该指示信息后,可以对该衍生块5011进行跳过解码或者直接解码。As shown in FIG. 6, the encoding device performs skip encoding and direct encoding on the derivative block 5011 to obtain encoding information, and the encoding device writes instruction information into the code stream. The instruction information indicates that the encoding information is to encode the derivative block 5011 Obtained, after decoding the instruction information from the code stream, the decoding device may perform skip decoding or direct decoding on the derivative block 5011.
可选地,该衍生块由多个子块组成,该指示信息还用于指示对所述多个子块中每个子块采用该第一编码模式而获得的编码信息相同,该采用该第一编码模式,对该衍生块进行解码,包括:Optionally, the derived block is composed of multiple sub-blocks, and the indication information is also used to indicate that the coding information obtained by applying the first coding mode to each of the multiple sub-blocks is the same, and the first coding mode is adopted To decode the derived block, including:
采用该第一编码模式,对第二子块进行解码,该第二子块为所述多个子块中的任意一 个子块。Using the first coding mode, the second sub-block is decoded, and the second sub-block is any one of the plurality of sub-blocks.
可选地,该衍生块由多个子块组成,该指示信息还用于指示对该多个子块中每个子块采用该第一编码模式而获得的编码信息不同,该采用该第一编码模式,对该衍生块进行解码,包括:Optionally, the derivative block is composed of multiple sub-blocks, and the indication information is also used to indicate that the coding information obtained by using the first coding mode for each of the multiple sub-blocks is different, and the first coding mode is adopted, Decode the derived block, including:
采用该第一编码模式,对该多个子块中的每个子块分别进行解码。Using the first coding mode, each of the plurality of sub-blocks is decoded separately.
在一个实施例中,当解码装置解码得出块划分方式为衍生模式时,表明在该模式下有可能进行skip编码或者direct编码,解码得出编码装置对该衍生块或者其子块进行skip或者direct编码时,整个块可以共享一个编码信息,继续通过各个子块中的固定某一个块进行skip或者direct编码信息的导出或解码。也可以通过继续解码标识信息,来确定通过各个子块中的哪一个块进行skip或者direct模式编码信息的导出或解码。In one embodiment, when the decoding device decodes that the block division mode is a derivative mode, it indicates that it is possible to perform skip encoding or direct encoding in the mode, and the decoding device obtains that the encoding device skips or derives the derived block or its sub-blocks In direct encoding, the entire block can share one encoding information, and continue to derive or decode skip or direct encoding information through a fixed block in each sub-block. It is also possible to determine which block in each sub-block is used to derive or decode skip or direct mode coding information by continuing to decode the identification information.
在一个实施例中,当解码装置解码得出块划分方式为衍生模式时,表明在该模式下有可能进行skip或者direct编码,解码得出编码装置对该衍生块中的各个子块进行skip或者direct编码时,继续通过各个子块的信息来确定skip或者direct编码信息导出或解码。也可以通过解码标识位,来确定各个子块的信息是否相同,从而只要通过某一个子块的信息来进行skip或者direct编码信息的导出或解码。In one embodiment, when the decoding device decodes that the block division mode is the derivative mode, it indicates that skip or direct encoding is possible in the mode, and the decoding device decodes that the sub-blocks in the derivative block are skipped or encoded by the encoding device. In direct coding, continue to determine skip or direct coding information export or decoding through the information of each sub-block. It is also possible to determine whether the information of each sub-block is the same by decoding the identification bit, so as to derive or decode skip or direct encoded information only by the information of a certain sub-block.
在一个实施例中,当解码装置解码得出块划分方式为衍生模式时,表明在该模式下有可能进行skip或者direct编码,解码得出编码装置对该衍生块或者其子块进行skip或者direct编码时,通过解析码流标识位,来获得是通过对衍生块进行skip或者direct编码信息的导出或解码,或者,是对每一个子块进行skip或者direct编码信息的导出或解码。In one embodiment, when the decoding device decodes that the block division mode is a derivative mode, it indicates that it is possible to perform skip or direct encoding in the mode, and the decoding device obtains the skip or direct encoding of the derived block or its sub-blocks. When encoding, the parity bit of the code stream is parsed to obtain the derived or decoded derivative or decoded information of the derived block, or the derived or decoded skip or direct decoded information of each sub-block.
上文结合图5至图10,详细得描述了根据本申请实施例的编解码方法,下文结合图11至14,详细描述根据本申请实施例的编解码装置。The codec method according to an embodiment of the present application has been described in detail above with reference to FIGS. 5 to 10, and the codec device according to an embodiment of the present application is described in detail below with reference to FIGS. 11 to 14.
图11示出了根据本申请实施例的编码装置700的示意性框图,如图11所示,该编码装置700包括:FIG. 11 shows a schematic block diagram of an encoding device 700 according to an embodiment of the present application. As shown in FIG. 11, the encoding device 700 includes:
第一处理模块710,用于根据待编码的编码块,衍生获得衍生块;The first processing module 710 is configured to derive derivative blocks according to the encoding blocks to be encoded;
第二处理模块720,用于采用第一编码模式,对该衍生块进行编码,以得到第一编码信息,该第一编码模式包括跳过编码模式或者直接编码模式;The second processing module 720 is configured to encode the derived block using a first encoding mode to obtain first encoding information. The first encoding mode includes a skip encoding mode or a direct encoding mode;
第三处理模块730,用于根据所述第一编码信息,确定码流,该码流包括指示信息,该指示信息用于指示所述第一编码信息是对该衍生块采用所述第一编码模式进行编码获得的。The third processing module 730 is configured to determine a code stream according to the first encoding information, where the code stream includes indication information, and the indication information is used to indicate that the first encoding information is to use the first encoding on the derived block The pattern is obtained by encoding.
可选地,该衍生块由多个子块组成,该第二处理模块720具体用于:Optionally, the derived block is composed of multiple sub-blocks, and the second processing module 720 is specifically configured to:
采用该第一编码模式,对该多个子块中的每个子块分别进行编码,以得到多个编码信息;Adopting the first coding mode to separately encode each of the multiple sub-blocks to obtain multiple coding information;
从该多个编码信息中确定该第一编码信息。The first encoding information is determined from the plurality of encoding information.
可选地,该第二处理模块720具体用于:Optionally, the second processing module 720 is specifically used to:
确定该多个编码信息的代价;Determine the cost of the multiple encoded information;
根据该多个编码信息的代价,确定该第一编码信息。According to the cost of the plurality of encoded information, the first encoded information is determined.
可选地,在该多个编码信息相同的情况下,该第一编码信息为该多个编码信息中的任意一个编码信息。Optionally, in the case where the plurality of encoded information are the same, the first encoded information is any one of the encoded information.
可选地,在该多个编码信息不同的情况下,该第一编码信息为该多个编码信息。Optionally, in a case where the plurality of encoded information are different, the first encoded information is the plurality of encoded information.
可选地,该指示信息还用于指示该多个子块中每个子块的编码信息相同或者不同。Optionally, the indication information is also used to indicate that the encoding information of each sub-block in the plurality of sub-blocks is the same or different.
可选地,该衍生块由多个子块组成,该第二处理模块720具体用于:Optionally, the derived block is composed of multiple sub-blocks, and the second processing module 720 is specifically configured to:
采用该第一编码模式,对该衍生块进行编码,以得到第二编码信息;Adopt the first encoding mode to encode the derived block to obtain second encoded information;
采用该跳过编码模式或该直接编码模式,对该多个子块中每个子块分别进行编码,以得到多个编码信息;Adopt the skip coding mode or the direct coding mode to separately encode each of the multiple sub-blocks to obtain multiple coding information;
根据该第二编码信息和该多个编码信息,确定该第一编码信息。Based on the second encoding information and the plurality of encoding information, the first encoding information is determined.
可选地,该第二处理模块720具体用于:Optionally, the second processing module 720 is specifically used to:
确定该第二编码信息的代价和该多个编码信息的代价;Determine the cost of the second encoded information and the cost of the multiple encoded information;
根据该第二编码信息的代价和该多个编码信息的代价,确定该第一编码信息。The first coding information is determined according to the cost of the second coding information and the costs of the plurality of coding information.
可选地,该指示信息还用于指示该第一编码信息为该第二编码信息或者该第三编码信息。Optionally, the indication information is also used to indicate that the first encoding information is the second encoding information or the third encoding information.
图12示出了根据本申请实施例的解码装置800的示意性框图,如图12所示,该解码装置800包括:FIG. 12 shows a schematic block diagram of a decoding device 800 according to an embodiment of the present application. As shown in FIG. 12, the decoding device 800 includes:
获取模块810,用于从码流中获得指示信息,该指示信息用于指示对衍生块采用第一编码模式以获得编码信息,该衍生块由编码块在衍生模式下衍生得到,该第一编码模式包括跳过编码模式或者直接编码模式;The obtaining module 810 is used to obtain indication information from the code stream, and the indication information is used to instruct the derivative block to adopt the first encoding mode to obtain encoding information. Modes include skip coding mode or direct coding mode;
第五处理模块820,用于根据该指示信息,采用该第一编码模式,对该衍生块进行解码。The fifth processing module 820 is configured to decode the derived block using the first encoding mode according to the instruction information.
可选地,该衍生块包括第一子块,该第五处理模块820具体用于:Optionally, the derivative block includes a first sub-block, and the fifth processing module 820 is specifically configured to:
采用该第一编码模式,对该第一子块进行解码。Using the first coding mode, the first sub-block is decoded.
可选地,该指示信息用于指示编码端获得的编码信息是对第一子块采用该第一编码模式得到的,该第五处理模块820具体用于:Optionally, the indication information is used to indicate that the encoding information obtained by the encoding end is obtained by using the first encoding mode for the first sub-block, and the fifth processing module 820 is specifically configured to:
采用该第一编码模式,对该第一子块进行解码。Using the first coding mode, the first sub-block is decoded.
可选地,该衍生块由多个子块组成,该指示信息还用于指示对该多个子块中每个子块采用该第一编码模式而获得的编码信息相同,该第五处理模块820具体用于:Optionally, the derivative block is composed of multiple sub-blocks, and the indication information is also used to indicate that the coding information obtained by using the first coding mode for each of the multiple sub-blocks is the same, and the fifth processing module 820 specifically uses to:
采用该第一编码模式,对第二子块进行解码,该第二子块为该多个子块中的任意一个子块。Using the first coding mode, the second sub-block is decoded, and the second sub-block is any one of the plurality of sub-blocks.
可选地,该衍生块由多个子块组成,该指示信息还用于指示对该多个子块中每个子块采用该第一编码模式而获得的编码信息不同,该第五处理模块820具体用于:Optionally, the derivative block is composed of multiple sub-blocks, and the indication information is also used to indicate that the coding information obtained by using the first coding mode for each of the multiple sub-blocks is different, and the fifth processing module 820 specifically uses to:
采用该第一编码模式,对该多个子块中的每个子块分别进行解码。Using the first coding mode, each of the plurality of sub-blocks is decoded separately.
下面结合图13和图14对编解码装置和编解码装置组成的编解码系统进行详细的介绍。应理解,图13和图14中所示的编解码装置和编解码系统能够执行本申请实施例的编解码的方法。The codec device and the codec system composed of the codec device will be described in detail below with reference to FIGS. 13 and 14. It should be understood that the codec device and the codec system shown in FIGS. 13 and 14 can execute the codec method of the embodiment of the present application.
图13是本申请实施例的视频编解码装置的示意性图。该视频编解码装置50可以是专门用于对视频图像进行编码和/或解码的装置,也可以是具有视频编解码功能的电子设备,进一步地,该编解码装置50可以是无线通信系统的移动终端或者用户设备。13 is a schematic diagram of a video codec device according to an embodiment of the present application. The video codec device 50 may be a device specifically used for encoding and / or decoding video images, or may be an electronic device with a video codec function. Further, the codec device 50 may be a mobile of a wireless communication system Terminal or user equipment.
编解码装置50可以包括下列模块或者单元:控制器56、编解码器54、无线电接口52、天线44、智能卡46、读卡器48、小键盘34、存储器58、红外线端口42、显示器32。除了图25中所示的模块和单元之外,编解码装置50还可以包括麦克风或者任何适当的音 频输入模块,该音频输入模块可以是数字或者模拟信号输入,编解码装置50还可以包括音频输出模块,该音频输出模块可以是耳机、扬声器或者模拟音频或者数字音频输出连接。编解码装置50也可以包括电池,该电池可以是太阳能电池、燃料电池等等。编解码装置50还可以包括用于与其它设备进行近程视线通信的红外线端口,该编解码装置50还可以采用包括任何适当的近程通信方式与其它设备进行通信,例如,蓝牙无线连接、USB/火线有线连接。The codec device 50 may include the following modules or units: a controller 56, a codec 54, a radio interface 52, an antenna 44, a smart card 46, a card reader 48, a keypad 34, a memory 58, an infrared port 42, and a display 32. In addition to the modules and units shown in FIG. 25, the codec device 50 may also include a microphone or any suitable audio input module, which may be a digital or analog signal input, and the codec device 50 may also include an audio output Module, the audio output module can be headphones, speakers or analog audio or digital audio output connection. The codec device 50 may also include a battery, which may be a solar cell, a fuel cell, or the like. The codec apparatus 50 may also include an infrared port for short-range line-of-sight communication with other devices. The codec apparatus 50 may also use any suitable short-range communication method to communicate with other devices, for example, Bluetooth wireless connection, USB / FireWire wired connection.
存储器58可以存储形式为图像的数据和音频的数据,也可以存储用于在控制器56上执行的指令。The memory 58 may store data in the form of images and audio data, and may also store instructions for execution on the controller 56.
编解码器54可以实现对音频和/或视频数据的编码和解码或者在控制器56的控制下实现对音频和/或视频数据的辅助编码和辅助解码。The codec 54 can realize the encoding and decoding of audio and / or video data or the auxiliary encoding and decoding of audio and / or video data under the control of the controller 56.
智能卡46和读卡器48可以提供用户信息,也可以提供网络认证和授权用户的认证信息。智能卡46和读卡器48的具体实现形式可以是集成电路卡(universal integrated circuit card,UICC)和UICC读取器。The smart card 46 and the card reader 48 can provide user information, and can also provide network authentication and authentication information for authorized users. The specific implementation forms of the smart card 46 and the card reader 48 may be an integrated circuit card (universal integrated circuit (UICC) and a UICC reader.
无线电接口电路52可以生成无线通信信号,该无线通信信号可以是在进行蜂窝通信网络、无线通信系统或者无线局域网通信产生的通信信号。The radio interface circuit 52 may generate a wireless communication signal, which may be a communication signal generated during a cellular communication network, a wireless communication system, or a wireless local area network communication.
天线44用于向其它装置(装置的数目可以为一个也可以为多个)发送在无线电接口电路52生成的射频信号,并且还可以用于从其它装置(装置的数目可以为一个也可以为多个)接收射频信号。The antenna 44 is used to transmit the radio frequency signal generated in the radio interface circuit 52 to other devices (the number of devices may be one or more), and may also be used from other devices (the number of devices may be one or more) A) Receive radio frequency signals.
在本申请的一些实施例中,编解码装置50可以在传输和/或存储之前从另一设备接收待处理的视频图像数据。在本申请的另一些实施例中,编解码装置50可以通过无线或者有线连接接收图像并对接收到的图像进行编码/解码。In some embodiments of the present application, the codec apparatus 50 may receive video image data to be processed from another device before transmission and / or storage. In other embodiments of the present application, the codec device 50 may receive images through a wireless or wired connection and encode / decode the received images.
图14是本申请实施例的视频编解码系统7000的示意性框图。14 is a schematic block diagram of a video codec system 7000 according to an embodiment of the present application.
如图14所示,视频编解码系统7000包含源装置4000及目的地装置5000。源装置4000产生经过编码后的视频数据,源装置4000也可以被称为视频编码装置或视频编码设备,目的地装置5000可以对源装置4000产生的经过编码后的视频数据进行解码,目的地装置5000也可以被称为视频解码装置或视频解码设备。As shown in FIG. 14, the video codec system 7000 includes a source device 4000 and a destination device 5000. The source device 4000 generates encoded video data. The source device 4000 may also be called a video encoding device or a video encoding device. The destination device 5000 may decode the encoded video data generated by the source device 4000. The destination device 5000 can also be called a video decoding device or a video decoding device.
源装置4000和目的地装置5000的具体实现形式可以是如下设备中的任意一种:台式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、智能电话、手持机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机,或者其它类似的设备。The specific implementation form of the source device 4000 and the destination device 5000 may be any one of the following devices: desktop computer, mobile computing device, notebook (eg, laptop) computer, tablet computer, set-top box, smart phone, handset, TVs, cameras, display devices, digital media players, video game consoles, in-vehicle computers, or other similar devices.
目的地装置5000可以经由信道6000接收来自源装置4000编码后的视频数据。信道6000可包括能够将编码后的视频数据从源装置4000移动到目的地装置5000的一个或多个媒体及/或装置。在一个实例中,信道6000可以包括使源装置4000能够实时地将编码后的视频数据直接发射到目的地装置5000的一个或多个通信媒体,在此实例中,源装置4000可以根据通信标准(例如,无线通信协议)来调制编码后的视频数据,并且可以将调制后的视频数据发射到目的地装置5000。上述一个或多个通信媒体可以包含无线及/或有线通信媒体,例如射频(radio frequency,RF)频谱或一根或多根物理传输线。上述一个或多个通信媒体可以形成基于包的网络(例如,局域网、广域网或全球网络(例如,因特网))的部分。上述一个或多个通信媒体可以包含路由器、交换器、基站,或者实现从源装 置4000到目的地装置5000的通信的其它设备。The destination device 5000 can receive the encoded video data from the source device 4000 via the channel 6000. Channel 6000 may include one or more media and / or devices capable of moving encoded video data from source device 4000 to destination device 5000. In one example, the channel 6000 may include one or more communication media that enable the source device 4000 to directly transmit the encoded video data to the destination device 5000 in real time. In this example, the source device 4000 may be based on the communication standard ( For example, wireless communication protocol) to modulate the encoded video data, and can transmit the modulated video data to the destination device 5000. The one or more communication media may include wireless and / or wired communication media, such as a radio frequency (RF) spectrum or one or more physical transmission lines. The one or more communication media described above may form part of a packet-based network (eg, local area network, wide area network, or global network (eg, Internet)). The one or more communication media may include routers, switches, base stations, or other devices that enable communication from the source device 4000 to the destination device 5000.
在另一实例中,信道6000可包含存储由源装置4000产生的编码后的视频数据的存储媒体。在此实例中,目的地装置5000可经由磁盘存取或卡存取来存取存储媒体。存储媒体可包含多种本地存取式数据存储媒体,例如蓝光光盘、高密度数字视频光盘(digital video disc,DVD)、只读光盘(compact disc read-only memory,CD-ROM)、快闪存储器,或用于存储经编码视频数据的其它合适数字存储媒体。In another example, the channel 6000 may include a storage medium that stores the encoded video data generated by the source device 4000. In this example, the destination device 5000 can access the storage medium via disk access or card access. Storage media can include a variety of locally accessible data storage media, such as Blu-ray discs, high-density digital video discs (digital video discs, DVDs), compact disc read-only memories (CD-ROMs), flash memories , Or other suitable digital storage media for storing encoded video data.
在另一实例中,信道6000可包含文件服务器或存储由源装置4000产生的编码后的视频数据的另一中间存储装置。在此实例中,目的地装置5000可经由流式传输或下载来存取存储于文件服务器或其它中间存储装置处的编码后的视频数据。文件服务器可以是能够存储编码后的视频数据且将所述编码后的视频数据发射到目的地装置5000的服务器类型。例如,文件服务器可以包含全球广域网(world wide web,web)服务器(例如,用于网站)、文件传送协议(file transfer protocol,FTP)服务器、网络附加存储(network attached storage,NAS)装置以及本地磁盘驱动器。In another example, the channel 6000 may include a file server or another intermediate storage device that stores the encoded video data generated by the source device 4000. In this example, the destination device 5000 can access the encoded video data stored at the file server or other intermediate storage device via streaming or download. The file server may be a server type capable of storing the encoded video data and transmitting the encoded video data to the destination device 5000. For example, the file server may include a world wide web (web) server (for example, for a website), a file transfer protocol (FTP) server, a network attached storage (NAS) device, and a local disk driver.
目的地装置5000可经由标准数据连接(例如,因特网连接)来存取编码后的视频数据。数据连接的实例类型包含适合于存取存储于文件服务器上的编码后的视频数据的无线信道、有线连接(例如,缆线调制解调器等),或两者的组合。编码后的视频数据从文件服务器的发射可为流式传输、下载传输或两者的组合。The destination device 5000 can access the encoded video data via a standard data connection (eg, Internet connection). Example types of data connections include wireless channels suitable for accessing encoded video data stored on file servers, wired connections (eg, cable modems, etc.), or a combination of both. The transmission of the encoded video data from the file server may be streaming transmission, download transmission, or a combination of both.
本申请的编解码方法不限于无线应用场景,示例性的,本申请的编解码方法可以应用于支持以下应用等多种多媒体应用的视频编解码:空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射(例如,经由因特网)、存储于数据存储媒体上的视频数据的编码、存储于数据存储媒体上的视频数据的解码,或其它应用。在一些实例中,视频编解码系统7000可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频播放、视频广播及/或视频电话等应用。The codec method of the present application is not limited to wireless application scenarios. Exemplarily, the codec method of the present application can be applied to video codec supporting various multimedia applications such as the following applications: aerial TV broadcasting, cable TV transmission, satellite TV transmission, Streaming video transmission (eg, via the Internet), encoding of video data stored on data storage media, decoding of video data stored on data storage media, or other applications. In some examples, the video codec system 7000 may be configured to support one-way or two-way video transmission to support applications such as video streaming, video playback, video broadcasting, and / or video telephony.
在图14中,源装置4000包含视频源4001、视频编码器4002及输出接口4003。在一些实例中,输出接口4003可包含调制器/解调器(调制解调器)及/或发射器。视频源4001可包含视频俘获装置(例如,视频相机)、含有先前俘获的视频数据的视频存档、用以从视频内容提供者接收视频数据的视频输入接口,及/或用于产生视频数据的计算机图形系统,或上述视频数据源的组合。In FIG. 14, the source device 4000 includes a video source 4001, a video encoder 4002, and an output interface 4003. In some examples, output interface 4003 may include a modulator / demodulator (modem) and / or a transmitter. The video source 4001 may include a video capture device (eg, a video camera), a video archive containing previously captured video data, a video input interface to receive video data from a video content provider, and / or a computer for generating video data Graphic system, or a combination of the above video data sources.
视频编码器4002可编码来自视频源4001的视频数据。在一些实例中,源装置4000经由输出接口4003将编码后的视频数据直接发射到目的地装置5000。编码后的视频数据还可存储于存储媒体或文件服务器上以供目的地装置5000稍后存取以用于解码及/或播放。Video encoder 4002 may encode video data from video source 4001. In some examples, the source device 4000 directly transmits the encoded video data to the destination device 5000 via the output interface 4003. The encoded video data may also be stored on a storage medium or file server for later access by the destination device 5000 for decoding and / or playback.
在图14的实例中,目的地装置5000包含输入接口5003、视频解码器5002及显示装置5001。在一些实例中,输入接口5003包含接收器及/或调制解调器。输入接口5003可经由信道6000接收编码后的视频数据。显示装置5001可与目的地装置5000整合或可在目的地装置5000外部。一般来说,显示装置5001显示解码后的视频数据。显示装置5001可包括多种显示装置,例如液晶显示器、等离子体显示器、有机发光二极管显示器或其它类型的显示装置。In the example of FIG. 14, the destination device 5000 includes an input interface 5003, a video decoder 5002, and a display device 5001. In some examples, input interface 5003 includes a receiver and / or a modem. The input interface 5003 can receive the encoded video data via the channel 6000. The display device 5001 may be integrated with the destination device 5000 or may be external to the destination device 5000. Generally, the display device 5001 displays decoded video data. The display device 5001 may include various display devices, such as a liquid crystal display, a plasma display, an organic light emitting diode display, or other types of display devices.
视频编码器4002及视频解码器5002可根据视频压缩标准(例如,高效率视频编解码 H.265标准))而操作,并且可以可遵照高效视频编码(high efficiency video coding,HEVC)测试模型(HM)。H.265标准的文本描述ITU-TH.265(V3)(04/2015)于2015年4月29号发布,可从http://handle.itu.int/11.1002/7000/12455下载,所述文件的全部内容以引用的方式并入本文中。The video encoder 4002 and the video decoder 5002 can operate according to the video compression standard (for example, the high-efficiency video codec H.265 standard), and can comply with the high-efficiency video coding (HEVC) test model (HM ). The text description of the H.265 standard ITU-TH.265 (V3) (04/2015) was released on April 29, 2015, and can be downloaded from http://handle.itu.int/11.1002/7000/12455. The entire contents of the document are incorporated by reference.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art may realize that the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in hardware or software depends on the specific application of the technical solution and design constraints. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的一个或多个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。It should be understood that “one embodiment” or “one embodiment” mentioned throughout the specification means that a specific feature, structure, or characteristic related to the embodiment is included in one or more embodiments of the present application. Therefore, “in one embodiment” or “in one embodiment” appearing throughout the specification does not necessarily refer to the same embodiment. In addition, these specific features, structures, or characteristics may be combined in one or more embodiments in any suitable manner. It should be understood that in various embodiments of the present application, the size of the sequence numbers of the above processes does not mean that the execution order is sequential, and the execution order of each process should be determined by its function and inherent logic, and should not be applied to the embodiments of the present application The implementation process constitutes no limitation.
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。In addition, the terms "system" and "network" are often used interchangeably herein. The term "and / or" in this article is just an association relationship that describes an associated object, indicating that there can be three relationships, for example, A and / or B, which can mean: A exists alone, A and B exist at the same time, exist alone B these three cases. In addition, the character “/” in this article generally indicates that the related objects before and after are in an “or” relationship.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that for the convenience and conciseness of the description, the specific working process of the system, device and unit described above can refer to the corresponding process in the foregoing method embodiments, which will not be repeated here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed system, device, and method may be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a division of logical functions. In actual implementation, there may be other divisions, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented. In addition, the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的 介质。If the function is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the present application essentially or part of the contribution to the existing technology or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to enable a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in the embodiments of the present application. The aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program codes .
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。The above is only the specific implementation of this application, but the scope of protection of this application is not limited to this, any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in this application. It should be covered by the scope of protection of this application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (24)

  1. 一种编码方法,其特征在于,包括:An encoding method, characterized in that it includes:
    根据待编码的编码块,衍生获得衍生块;Derivative block is derived according to the encoding block to be encoded;
    采用第一编码模式,对所述衍生块进行编码,以得到第一编码信息,所述第一编码模式包括跳过编码模式或者直接编码模式;Adopting a first encoding mode to encode the derived block to obtain first encoding information, where the first encoding mode includes a skip encoding mode or a direct encoding mode;
    根据所述第一编码信息,确定码流,所述码流包括指示信息,所述指示信息用于指示所述第一编码信息是对所述衍生块采用所述第一编码模式进行编码获得的。A code stream is determined according to the first encoding information, and the code stream includes indication information used to indicate that the first encoding information is obtained by encoding the derivative block using the first encoding mode .
  2. 根据权利要求1所述的方法,其特征在于,所述衍生块由多个子块组成,所述对所述衍生块进行编码,以得到第一编码信息,包括:The method according to claim 1, wherein the derivative block is composed of a plurality of sub-blocks, and encoding the derivative block to obtain first encoding information includes:
    采用所述第一编码模式,对所述多个子块中的每个子块分别进行编码,以得到多个编码信息;Adopting the first coding mode to separately encode each of the plurality of sub-blocks to obtain a plurality of coding information;
    从所述多个编码信息中确定所述第一编码信息。The first encoding information is determined from the plurality of encoding information.
  3. 根据权利要求2所述的方法,其特征在于,所述从所述多个编码信息中确定所述第一编码信息,包括:The method according to claim 2, wherein the determining the first encoding information from the plurality of encoding information includes:
    确定所述多个编码信息的代价;Determine the cost of the multiple encoded information;
    根据所述多个编码信息的代价,确定所述第一编码信息。According to the cost of the plurality of encoded information, the first encoded information is determined.
  4. 根据权利要求2所述的方法,其特征在于,在所述多个编码信息相同的情况下,所述第一编码信息为所述多个编码信息中的任意一个编码信息。The method according to claim 2, characterized in that, in the case where the plurality of coding information are the same, the first coding information is any one of the plurality of coding information.
  5. 根据权利要求2所述的方法,其特征在于,在所述多个编码信息不同的情况下,所述第一编码信息为所述多个编码信息。The method according to claim 2, characterized in that, when the plurality of encoded information are different, the first encoded information is the plurality of encoded information.
  6. 根据权利要求2至5中任一项所述的方法,其特征在于,所述指示信息还用于指示所述多个子块中每个子块的编码信息相同或者不同。The method according to any one of claims 2 to 5, wherein the indication information is further used to indicate that the encoding information of each sub-block in the plurality of sub-blocks is the same or different.
  7. 根据权利要求1所述的方法,其特征在于,所述衍生块由多个子块组成,所述对所述衍生块进行编码,以得到第一编码信息,包括:The method according to claim 1, wherein the derivative block is composed of a plurality of sub-blocks, and encoding the derivative block to obtain first encoding information includes:
    采用所述第一编码模式,对所述衍生块进行编码,以得到第二编码信息;Adopting the first encoding mode to encode the derived block to obtain second encoding information;
    采用所述第一编码模式,对所述多个子块中每个子块分别进行编码,以得到多个编码信息;Adopting the first coding mode to separately encode each of the plurality of sub-blocks to obtain a plurality of coding information;
    根据所述第二编码信息和所述多个编码信息,确定所述第一编码信息。The first encoding information is determined according to the second encoding information and the plurality of encoding information.
  8. 根据权利要求7所述的方法,其特征在于,所述根据所述第二编码信息和所述多个编码信息,确定所述第一编码信息,包括:The method according to claim 7, wherein the determining the first encoding information according to the second encoding information and the plurality of encoding information includes:
    确定所述第二编码信息的代价和所述多个编码信息的代价;Determine the cost of the second encoded information and the cost of the plurality of encoded information;
    根据所述第二编码信息的代价和所述多个编码信息的代价,确定所述第一编码信息。The first encoding information is determined according to the cost of the second encoding information and the costs of the plurality of encoding information.
  9. 一种解码方法,其特征在于,包括:A decoding method, characterized in that it includes:
    从码流中获得指示信息,所述指示信息用于指示对衍生块采用第一编码模式以获得编码信息,所述衍生块由编码块在衍生模式下衍生得到,所述第一编码模式包括跳过编码模式或者直接编码模式;Obtain indication information from the code stream, where the indication information is used to instruct the derivative block to adopt the first encoding mode to obtain encoding information, the derivative block is derived from the encoding block in the derivative mode, and the first encoding mode includes Over coding mode or direct coding mode;
    根据所述指示信息,采用所述第一编码模式,对所述衍生块进行解码。According to the instruction information, the first encoding mode is used to decode the derived block.
  10. 根据权利要求9所述的方法,其特征在于,所述衍生块的子块包括第一子块,所述采用所述第一编码模式,对所述衍生块进行解码,包括:The method according to claim 9, wherein the sub-block of the derived block includes a first sub-block, and the decoding of the derived block using the first encoding mode includes:
    采用所述第一编码模式,对所述第一子块进行解码。Using the first encoding mode, decode the first sub-block.
  11. 根据权利要求9所述的方法,其特征在于,所述衍生块由多个子块组成,所述指示信息还用于指示对所述多个子块中每个子块采用所述第一编码模式而获得的编码信息相同,所述采用所述第一编码模式,对所述衍生块进行解码,包括:The method according to claim 9, wherein the derived block is composed of a plurality of sub-blocks, and the indication information is further used to indicate that each sub-block in the plurality of sub-blocks is obtained by using the first coding mode Encoding information is the same, and using the first encoding mode to decode the derived block includes:
    采用所述第一编码模式,对第二子块进行解码,所述第二子块为所述多个子块中的任意一个子块。Using the first encoding mode, the second sub-block is decoded, and the second sub-block is any one of the plurality of sub-blocks.
  12. 根据权利要求9所述的方法,其特征在于,所述衍生块由多个子块组成,所述指示信息还用于指示对所述多个子块中每个子块采用所述第一编码模式而获得的编码信息不同,所述采用所述第一编码模式,对所述衍生块进行解码,包括:The method according to claim 9, wherein the derived block is composed of a plurality of sub-blocks, and the indication information is further used to indicate that each sub-block in the plurality of sub-blocks is obtained by using the first coding mode The encoding information is different, and using the first encoding mode to decode the derived block includes:
    采用所述第一编码模式,对所述多个子块中的每个子块分别进行解码。Using the first coding mode, each of the plurality of sub-blocks is decoded separately.
  13. 一种编码装置,其特征在于,包括:An encoding device, characterized in that it includes:
    第一处理模块,用于根据待编码的编码块,衍生获得衍生块;The first processing module is used to derive derivative blocks according to the encoding blocks to be encoded;
    第二处理模块,用于采用第一编码模式,对所述衍生块进行编码,以得到第一编码信息;A second processing module, configured to encode the derived block in a first encoding mode to obtain first encoded information;
    第三处理模块,用于根据所述第一编码信息,确定码流,所述码流包括指示信息,所述指示信息用于指示所述第一编码信息是对所述衍生块或者所述衍生块的子块采用所述跳过编码模式或所述直接编码模式进行编码获得的。A third processing module, configured to determine a code stream according to the first encoding information, where the code stream includes indication information, and the indication information is used to indicate that the first encoding information is for the derivative block or the derivative The sub-blocks of the block are obtained by coding using the skip coding mode or the direct coding mode.
  14. 根据权利要求13所述的装置,其特征在于,所述衍生块由多个子块组成,所述第二处理模块用于:The apparatus according to claim 13, wherein the derived block is composed of multiple sub-blocks, and the second processing module is used to:
    采用所述第一编码模式,对所述多个子块中的每个子块分别进行编码,以得到多个编码信息;Adopting the first coding mode to separately encode each of the plurality of sub-blocks to obtain a plurality of coding information;
    从所述多个编码信息中确定所述第一编码信息。The first encoding information is determined from the plurality of encoding information.
  15. 根据权利要求14所述的装置,其特征在于,所述第二处理模块用于:The apparatus according to claim 14, wherein the second processing module is used to:
    确定所述多个编码信息的代价;Determine the cost of the multiple encoded information;
    根据所述多个编码信息的代价,确定所述第一编码信息。According to the cost of the plurality of encoded information, the first encoded information is determined.
  16. 根据权利要求14所述的装置,其特征在于,在所述多个编码信息相同的情况下,所述第一编码信息为所述多个编码信息中的任意一个编码信息。The apparatus according to claim 14, characterized in that, in a case where the plurality of coding information are the same, the first coding information is any one of the plurality of coding information.
  17. 根据权利要求14所述的装置,其特征在于,在所述多个编码信息不同的情况下,所述第一编码信息为所述多个编码信息。The apparatus according to claim 14, wherein the first encoding information is the plurality of encoding information when the plurality of encoding information is different.
  18. 根据权利要求14至17中任一项所述的装置,其特征在于,所述指示信息还用于指示所述多个子块中每个子块的编码信息相同或者不同。The apparatus according to any one of claims 14 to 17, wherein the indication information is further used to indicate that the encoding information of each sub-block in the plurality of sub-blocks is the same or different.
  19. 根据权利要求13所述的装置,其特征在于,所述衍生块由多个子块组成,所述第二处理模块用于:The apparatus according to claim 13, wherein the derived block is composed of multiple sub-blocks, and the second processing module is used to:
    采用所述第一编码模式,对所述衍生块进行编码,以得到第二编码信息;Adopting the first encoding mode to encode the derived block to obtain second encoding information;
    采用所述跳过编码模式或所述直接编码模式,对所述多个子块中每个子块分别进行编码,以得到多个编码信息;Adopting the skip coding mode or the direct coding mode to separately encode each of the multiple sub-blocks to obtain multiple coding information;
    根据所述第二编码信息和所述多个编码信息,确定所述第一编码信息。The first encoding information is determined according to the second encoding information and the plurality of encoding information.
  20. 根据权利要求19所述的装置,其特征在于,所述第二处理模块用于:The apparatus according to claim 19, wherein the second processing module is configured to:
    确定所述第二编码信息的代价和所述多个编码信息的代价;Determine the cost of the second encoded information and the cost of the plurality of encoded information;
    根据所述第二编码信息的代价和所述多个编码信息的代价,确定所述第一编码信息。The first encoding information is determined according to the cost of the second encoding information and the costs of the plurality of encoding information.
  21. 一种解码装置,其特征在于,包括:A decoding device is characterized by comprising:
    获取模块,用于从码流中获得指示信息,所述指示信息用于指示对衍生块采用第一编码模式以获得编码信息,所述衍生块由编码块在衍生模式下衍生得到,所述第一编码模式包括跳过编码模式或者直接编码模式;The obtaining module is used to obtain indication information from the code stream, and the indication information is used to instruct the derivative block to adopt the first encoding mode to obtain encoding information. The derivative block is derived from the encoding block in the derivative mode. A coding mode includes skip coding mode or direct coding mode;
    第五处理模块,用于根据所述指示信息,采用所述第一编码模式,对所述衍生块进行解码。The fifth processing module is configured to decode the derived block using the first encoding mode according to the instruction information.
  22. 根据权利要求21所述的装置,其特征在于,所述衍生块的子块包括第一子块,所述第五处理模块用于:The apparatus according to claim 21, wherein the sub-block of the derived block includes a first sub-block, and the fifth processing module is configured to:
    采用所述第一编码模式,对所述第一子块进行解码。Using the first encoding mode, decode the first sub-block.
  23. 根据权利要求21所述的装置,其特征在于,所述衍生块由多个子块组成,所述指示信息还用于指示对所述多个子块中每个子块采用所述第一编码模式而获得的编码信息相同,所述第五处理模块用于:The apparatus according to claim 21, wherein the derived block is composed of a plurality of sub-blocks, and the indication information is further used to indicate that each of the plurality of sub-blocks is obtained by using the first coding mode Encoding information is the same, the fifth processing module is used to:
    采用所述第一编码模式,对第二子块进行解码,所述第二子块为所述多个子块中的任意一个子块。Using the first encoding mode, the second sub-block is decoded, and the second sub-block is any one of the plurality of sub-blocks.
  24. 根据权利要求21所述的装置,其特征在于,所述衍生块由多个子块组成,所述指示信息还用于指示对所述多个子块中每个子块采用所述第一编码模式而获得的编码信息不同,所述第五处理模块用于:The apparatus according to claim 21, wherein the derived block is composed of a plurality of sub-blocks, and the indication information is further used to indicate that each sub-block in the plurality of sub-blocks is obtained by using the first coding mode Encoding information is different, the fifth processing module is used to:
    采用所述第一编码模式,对所述多个子块中的每个子块分别进行解码。Using the first coding mode, each of the plurality of sub-blocks is decoded separately.
PCT/CN2019/111076 2018-10-15 2019-10-14 Encoding/decoding method and device WO2020078327A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811198705.3A CN111050164B (en) 2018-10-15 2018-10-15 Method and device for encoding and decoding
CN201811198705.3 2018-10-15

Publications (1)

Publication Number Publication Date
WO2020078327A1 true WO2020078327A1 (en) 2020-04-23

Family

ID=70230264

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/111076 WO2020078327A1 (en) 2018-10-15 2019-10-14 Encoding/decoding method and device

Country Status (2)

Country Link
CN (1) CN111050164B (en)
WO (1) WO2020078327A1 (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080048044A1 (en) * 2006-08-25 2008-02-28 Microsoft Corporation Barcode Encoding and Decoding
CN101466036A (en) * 2007-12-21 2009-06-24 北京中电华大电子设计有限责任公司 Parallel design method for movable vector forecasting flowing water based on AVS
CN101563928A (en) * 2006-12-22 2009-10-21 高通股份有限公司 Coding mode selection using information of other coding modes
CN101998120A (en) * 2006-05-24 2011-03-30 松下电器产业株式会社 Image coding device, image coding method, and image coding integrated circuit
CN102447902A (en) * 2011-09-30 2012-05-09 曾志华 Method for selecting reference field and acquiring time-domain motion vector
CN102811346A (en) * 2011-05-31 2012-12-05 富士通株式会社 Encoding mode selection method and system
US8379728B2 (en) * 2009-04-17 2013-02-19 Texas Instruments Incorporated Adaptive real-time video prediction mode method and computer-readable medium and processor for storage and execution thereof
CN103533325A (en) * 2012-07-06 2014-01-22 乐金电子(中国)研究开发中心有限公司 Depth image intra-frame encoding and decoding methods, devices and encoder and decoder
CN104025592A (en) * 2011-10-28 2014-09-03 佳能株式会社 Method and device for determining encoding or decoding of an image of a video sequence

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012504925A (en) * 2008-10-06 2012-02-23 エルジー エレクトロニクス インコーポレイティド Video signal processing method and apparatus
US8837592B2 (en) * 2010-04-14 2014-09-16 Mediatek Inc. Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus
US10271064B2 (en) * 2015-06-11 2019-04-23 Qualcomm Incorporated Sub-prediction unit motion vector prediction using spatial and/or temporal motion information
US9769499B2 (en) * 2015-08-11 2017-09-19 Google Inc. Super-transform video coding

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101998120A (en) * 2006-05-24 2011-03-30 松下电器产业株式会社 Image coding device, image coding method, and image coding integrated circuit
US20080048044A1 (en) * 2006-08-25 2008-02-28 Microsoft Corporation Barcode Encoding and Decoding
CN101563928A (en) * 2006-12-22 2009-10-21 高通股份有限公司 Coding mode selection using information of other coding modes
CN101466036A (en) * 2007-12-21 2009-06-24 北京中电华大电子设计有限责任公司 Parallel design method for movable vector forecasting flowing water based on AVS
US8379728B2 (en) * 2009-04-17 2013-02-19 Texas Instruments Incorporated Adaptive real-time video prediction mode method and computer-readable medium and processor for storage and execution thereof
CN102811346A (en) * 2011-05-31 2012-12-05 富士通株式会社 Encoding mode selection method and system
CN102447902A (en) * 2011-09-30 2012-05-09 曾志华 Method for selecting reference field and acquiring time-domain motion vector
CN104025592A (en) * 2011-10-28 2014-09-03 佳能株式会社 Method and device for determining encoding or decoding of an image of a video sequence
CN103533325A (en) * 2012-07-06 2014-01-22 乐金电子(中国)研究开发中心有限公司 Depth image intra-frame encoding and decoding methods, devices and encoder and decoder

Also Published As

Publication number Publication date
CN111050164B (en) 2022-05-17
CN111050164A (en) 2020-04-21

Similar Documents

Publication Publication Date Title
RU2715010C1 (en) Method and device for encoding and decoding image using interframe prediction
AU2023200956B2 (en) Video data inter prediction method and apparatus
US11528507B2 (en) Image encoding and decoding method, apparatus, and system, and storage medium to determine a transform core pair to effectively reduce encoding complexity
US20190313092A1 (en) Chrominance Prediction Method and Apparatus
WO2019128716A1 (en) Image prediction method, apparatus, and codec
WO2019183906A1 (en) Inter-frame prediction method and device
US20240121421A1 (en) Motion vector obtaining method and apparatus
CN109756739B (en) Image prediction method and device
CN109891882B (en) Encoding and decoding method and device based on template matching
US20230030845A1 (en) Picture Encoding and Decoding Method and Apparatus for Video Sequence
JP7036893B2 (en) Video coding method, video decoding method, and terminal
WO2020078327A1 (en) Encoding/decoding method and device
CN110677645B (en) Image prediction method and device

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: 19874266

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19874266

Country of ref document: EP

Kind code of ref document: A1