WO2016202189A1 - 图像编码及解码方法、图像处理设备、计算机存储介质 - Google Patents

图像编码及解码方法、图像处理设备、计算机存储介质 Download PDF

Info

Publication number
WO2016202189A1
WO2016202189A1 PCT/CN2016/085015 CN2016085015W WO2016202189A1 WO 2016202189 A1 WO2016202189 A1 WO 2016202189A1 CN 2016085015 W CN2016085015 W CN 2016085015W WO 2016202189 A1 WO2016202189 A1 WO 2016202189A1
Authority
WO
WIPO (PCT)
Prior art keywords
dynamic
copy
limit
motion vector
image
Prior art date
Application number
PCT/CN2016/085015
Other languages
English (en)
French (fr)
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
Priority claimed from CN201610364479.6A external-priority patent/CN106254878B/zh
Application filed by 同济大学, 中兴通讯股份有限公司 filed Critical 同济大学
Priority to EP21178252.9A priority Critical patent/EP3896976A1/en
Priority to EP16810930.4A priority patent/EP3310056A1/en
Priority to US15/736,006 priority patent/US11159818B2/en
Publication of WO2016202189A1 publication Critical patent/WO2016202189A1/zh
Priority to US17/482,832 priority patent/US11653019B2/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
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • the present invention relates to digital video encoding and decoding technologies, and in particular, to an image encoding and decoding method, an image processing device, and a computer storage medium.
  • HEVC High Efficiency Video Coding
  • a notable feature of computer screen images is that there are often many similar or even identical pixel patterns (pi ⁇ el pattern) within the same frame image.
  • pixel patterns pi ⁇ el pattern
  • Chinese or foreign text that often appears in computer screen images is composed of a few basic strokes, and many similar or identical strokes can be found in the same frame image.
  • Menus, icons, etc., which are common in computer screen images, also have many similar or identical patterns. Therefore, the existing image and video compression technologies usually adopt various copying methods, including at least the following copying methods:
  • Intra block copying means intraframe block matching or intraframe motion compensation or block matching or block copying.
  • Intra-frame micro-block copying means intra-frame micro-block matching or micro-block matching or micro-block copying.
  • Intra-frame lines are copied, that is, intra-frame matching or strip matching or strip copying.
  • Intra-frame string replication means intra-frame string matching or string matching or string copying or pixel string copying.
  • Palette index string copy is a palette or index string copy.
  • index-pixel string fusion copy mode also called palette-pixel string fusion copy mode or merged pixel string copy palette mode or fusion palette Pixel string copy mode or palette with pixel string copy mode.
  • the most common type of reference pixel sample set is a reference area adjacent to or near the current pixel sample segment.
  • the reference area is finite, so the range of values of the copy position, ie the motion vector, is also limited.
  • the range of the value of the motion vector is not limited, thereby consuming unnecessary bits, which greatly reduces the compression efficiency of the copy mode.
  • the multi-pixel segment copy mode with multiple motion vectors in the codec block such as the microblock copy mode, the strip copy mode, the pixel string copy mode, the palette and the pixel string copy mode, and the compression efficiency.
  • an embodiment of the present invention provides an image encoding and decoding method, an image processing device, and a computer storage medium.
  • the coded bits of the reference area size information and/or the reference area position and the size information and/or the value range information of the motion vector are written into one or more of the video code streams:
  • Video parameter set Video parameter set, sequence parameter set, image parameter set, slice header, coding tree unit (CTU) header, coding unit (CU) header, codec block header.
  • CTU coding tree unit
  • CU coding unit
  • the copy parameter is a motion vector.
  • the dynamic limit of the copy parameter is one of a dynamic upper limit, a dynamic lower limit, a dynamic left limit, and a dynamic right limit of the motion vector, or multiple or all.
  • the method further includes:
  • a truncated k-th order exponential Columbus code binarization and entropy coding having a cutoff value corresponding to the dynamic limit is performed on the copy parameter, where k ⁇ 0.
  • the copy parameters are decoded according to the dynamic limit.
  • the parsing the video code stream to obtain the dynamic limit of the copy parameter of the decoded sample segment includes:
  • Parsing the video code stream and acquiring at least one of the following information: reference area size information, reference area position and size information, and value range information of the motion vector;
  • a dynamic limit of the copy parameter of the decoded sample segment is determined based on the acquired information.
  • the method before decoding the replication parameter according to the dynamic limit, the method further includes:
  • the following one or more corresponding code streams in the video code stream are parsed, and at least one of the following information is obtained: reference area size information, reference area position and size information, and value range information of the motion vector.
  • Video parameter set sequence parameter set, image parameter set, strip header, CTU header, CU header, codec block header.
  • the copy parameter is a motion vector.
  • the dynamic limit of the copy parameter is one of a dynamic upper limit, a dynamic lower limit, a dynamic left limit, and a dynamic right limit of the motion vector, or multiple or all.
  • the method further includes:
  • a truncated k-th order exponential Columbus code binarization and entropy decoding having a truncation value corresponding to the dynamic limit is performed on the copy parameter, where k ⁇ 0.
  • a video code stream including reference area position and size information and copy parameter information is generated.
  • the coded bits of the reference area size information and/or the reference area position and the size information and/or the value range information of the motion vector are written into one or more of the video code streams:
  • Video parameter set sequence parameter set, image parameter set, strip header, CTU header, CU header, codec block header.
  • the copy parameter is a motion vector.
  • the dynamic limit of the copy parameter is one, a plurality, or all of a dynamic upper limit, a dynamic lower limit, a dynamic left limit, and a dynamic right limit of the motion vector.
  • the dynamic position of the reference area is represented by one or more area motion vectors.
  • the reference region when the motion vector of the coded sample segment is encoded according to the dynamic position and size of the reference region, the reference region is composed of K sub-reference regions having the same shape and size as the codec block. Where K ⁇ 1;
  • the dynamic positions of the K sub-reference regions are respectively represented by corresponding K sub-reference region motion vectors, and the motion vector of the current codec segment is decomposed into a main motion vector and a slave motion vector, wherein the master mobile The vector is equal to the sub-reference region motion vector of the sub-reference region in which the reference sample segment is located.
  • the copy parameters of the current decoded sample segment are decoded according to the dynamic position and size of the reference region.
  • the following one or more corresponding code streams in the video code stream are parsed, and at least one of the following information is obtained: reference area size information, reference area position and size information, and value range information of the motion vector. ,include:
  • Video parameter set sequence parameter set, image parameter set, strip header, CTU header, CU header, codec block header.
  • the copy parameter is a motion vector.
  • the dynamic limit of the copy parameter is one of a dynamic upper limit, a dynamic lower limit, a dynamic left limit, and a dynamic right limit of the motion vector, or multiple or all.
  • the dynamic position of the reference area is represented by one or more area motion vectors.
  • the reference region when the motion vector of the current decoded sample segment is decoded according to the dynamic position and size of the reference region, the reference region is composed of K sub-reference regions having the same shape and size as the current codec block; , K ⁇ 1;
  • the dynamic positions of the K sub-reference regions are respectively represented by corresponding K sub-reference region motion vectors, and the motion vector of the current codec segment is decomposed into a main motion vector and a slave motion vector, wherein the master mobile The vector is equal to the sub-reference area motion vector of the sub-reference area in which the current reference sample segment is located.
  • a first acquiring unit configured to acquire a dynamic limit of a copy parameter of the current coded sample segment according to a size of the reference area
  • a coding unit configured to encode the copy parameter according to the dynamic limit
  • a generating unit configured to generate a video code stream including reference area size information and copy parameter information.
  • An parsing unit configured to parse the video code stream to obtain a dynamic limit of a copy parameter of the decoded sample segment
  • a decoding unit configured to decode the copy parameter according to the dynamic limit.
  • a coding unit configured to encode a copy parameter of the coded sample segment according to a dynamic position and size of the reference region
  • a generating unit configured to generate a video code stream including reference area location and size information and copy parameter information.
  • the parsing unit is configured to parse the video code stream, and at least obtain the reference area location and size information and the copy parameter information;
  • the decoding unit is configured to decode the copy parameter of the current decoded sample segment according to the dynamic position and size of the reference region.
  • the computer storage medium provided by the embodiment of the present invention stores a computer program for performing the above image encoding and/or image decoding method.
  • encoding the image includes: acquiring a dynamic limit of the copy parameter of the current coded sample segment according to the size of the reference region; encoding the copy parameter according to the dynamic limit; generating the reference region Video stream of size information and copy parameter information.
  • decoding the image comprises: parsing the video code stream, obtaining a dynamic limit of the copy parameter of the decoded sample segment; and decoding the copy parameter according to the dynamic limit.
  • encoding the image includes: encoding a copy parameter of the encoded sample segment according to a dynamic position and size of the reference region; and generating a video code stream including the reference region position and size information and the copy parameter information.
  • the decoding of the image comprises: parsing the video code stream, acquiring at least the reference area position and size information and the copy parameter information; and decoding the copy parameter of the current decoded sample segment according to the dynamic position and size of the reference area.
  • the range of the value of the motion vector is limited, the number of bits is saved, and the compression efficiency of the copy mode is improved.
  • FIG. 1 is a schematic flowchart 1 of an image encoding method according to an embodiment of the present invention.
  • FIG. 2 is a schematic flowchart 1 of an image decoding method according to an embodiment of the present invention.
  • FIG. 3 is a second schematic flowchart of an image encoding method according to an embodiment of the present invention.
  • FIG. 4 is a second schematic flowchart of an image decoding method according to an embodiment of the present invention.
  • FIG. 5 is a schematic flowchart 3 and a flow chart 4 of an image encoding method according to an embodiment of the present invention
  • FIG. 6 is a diagram showing an example of a size of a reference area, a position of a reference area, and a dynamic limit of a motion vector in an embodiment of the present invention
  • FIG. 7 is a schematic flowchart 3 and a flow diagram 4 of an image decoding method according to an embodiment of the present invention.
  • FIG. 8 is a first schematic structural diagram of an image processing apparatus according to an embodiment of the present invention.
  • FIG. 9 is a second schematic structural diagram of an image processing apparatus according to an embodiment of the present invention.
  • FIG. 10 is a third schematic structural diagram of an image processing apparatus according to an embodiment of the present invention.
  • FIG. 11 is a fourth structural diagram of an image processing apparatus according to an embodiment of the present invention.
  • the natural form of a digital video signal of an image is a sequence of images.
  • a frame of image is usually a rectangular area composed of several pixels, and a digital video signal is a sequence of video images composed of tens of frames to thousands of frames of images, sometimes simply referred to as a video sequence or sequence.
  • Encoding a digital video signal encodes a frame by frame image. At any one time, the image of the frame being encoded is referred to as the current encoded image.
  • decoding a compressed video stream (also referred to as a bit stream) of a digital video signal is decoding a stream of one frame by one compressed image.
  • the image of the frame being decoded is referred to as the current decoded image.
  • the current encoded image or the currently decoded image is collectively referred to as the current image.
  • one frame of image is divided into blocks M.
  • the sub-image of the M pixel is called a coding block (from the perspective of decoding, that is, a decoding block, collectively referred to as a codec block) or a coding unit (CU, Coding Unit), and the sub-image is performed one by one with the CU as a basic coding unit.
  • the size of the commonly used M is 4, 8, 16, 32, 64. Therefore, encoding the video image sequence is to encode one CU for each coding unit of each frame image, that is, CU.
  • the CU being coded is referred to as the current coded CU.
  • decoding the code stream of the video image sequence is also decoding one CU for each CU of each frame image, and finally reconstructing the entire video image sequence.
  • the CU being decoded is referred to as the currently decoded CU.
  • the current coding CU or the current decoding CU is collectively referred to as the current CU.
  • each CU in one frame of image can be different, some are 8 ⁇ 8, some are 64 ⁇ 64, etc. .
  • LCUs Lorgest Coding Units
  • each LCU is further divided into a tree structure. Multiple sizes are not necessarily The same CU. Therefore, the LCU is also called a Coding Tree Unit (CTU).
  • CTU Coding Tree Unit
  • One of the LCUs is composed of three 32 ⁇ 32 pixel CUs and four 16 ⁇ 16 pixel CUs, so that seven CUs in a tree structure constitute one CTU.
  • the other LCU is composed of two 32 ⁇ 32 pixel CUs, three 16 ⁇ 16 pixel CUs, and 20 8 ⁇ 8 pixel CUs.
  • Such 25 CUs in a tree structure constitute another CTU.
  • Encoding one frame of image is to sequentially encode one CU in one CTU.
  • LCU is synonymous with CTU.
  • a CU whose size is equal to the CTU is called a CU with a depth of zero.
  • a CU obtained by dividing the CU up and down and left and right by a depth of 0 is called a CU having a depth of 1.
  • a CU with a depth of 1 and a CU divided into four equal parts is called a CU with a depth of 2.
  • a CU obtained by dividing the CU of the depth of 2 into four equal parts is called a CU having a depth of 3.
  • the CTU being coded is referred to as the current coded CTU.
  • the CTU being decoded is referred to as the current decoded CTU.
  • the current coding CTU or the current decoding CTU is collectively referred to as the current CTU.
  • the CU can also be further divided into sub-areas.
  • Sub-regions include, but are not limited to, prediction unit (PU), transform unit (TU), asymmetric partition (AMP) regions.
  • PU prediction unit
  • TU transform unit
  • AMP asymmetric partition
  • a color pixel usually consists of three components.
  • the two most commonly used pixel color formats are a GBR color format consisting of a green component, a blue component, and a red component, and a luminance (luma) component and two chroma components.
  • YUV color format The color format commonly known as YUV actually includes multiple color formats, such as the YCbCr color format.
  • a CU when encoding a CU, a CU can be divided into three component planes (G plane, B plane, R plane or Y plane, U plane, V plane), and the three component planes are respectively coded;
  • the three component bundles of one pixel are combined into one 3-tuple, and the CUs composed of these 3-tuples are encoded as a whole.
  • the arrangement of the former pixel and its components is called the planar format of the image (and its CU), and the arrangement of the latter pixel and its components is called the stacked format of the image (and its CU). Format).
  • Pixel Both the GBR color format and the YUV color format are pixel 3-component representation formats.
  • the palette index representation format In addition to the 3-component representation format of a pixel, another common representation format for a pixel is the palette index representation format.
  • the value of a pixel can also be represented by the index of the palette.
  • the palette space stores the value or approximate value of the three components of the color of the pixel to be represented, and the address of the palette is referred to as the index of the color of the pixel stored in this address.
  • An index can represent a component of a pixel's color, and an index can also represent three components of a pixel's color.
  • the palette can be one or more. In the case of multiple palettes, a complete index is actually composed of the palette number (which one of the multiple palettes) and the index of the palette of the sequence number.
  • the index representation format of a pixel is to represent this pixel with an index. If the pixels in an image region (such as a coded block or a decoded block) cannot all be represented by the palette color (ie, at least one pixel in the image region, the value of no three components is equal or approximately equal to the pixel)
  • the palette color and its index there is usually a special index called escape color in the palette, which is used to represent pixels that cannot be represented by normal palette colors. Therefore, if the index of one pixel is an index of the escape color, the pixel needs to express its color with another dedicated 3 components.
  • the normal color and escape color in the palette are called palette colors, but the escape color is a virtual color. There is no physical space in the palette to store this color.
  • the index of the escape color is usually the last index of the palette.
  • the index representation format of a pixel is also referred to as the pixel's index color (inde ⁇ ed color) or pseudo color representation format, or is often referred to directly as an index pixel (inde ⁇ ed pi ⁇ el) or pseudo pixel (pseudo) Pi ⁇ el) or pixel index or index. Indexes are sometimes referred to as indices.
  • the representation of a pixel in its index representation format is also referred to as indexing or indexing.
  • CMYK representation formats Other commonly used pixel representation formats include CMYK representation formats and grayscale representation formats.
  • the YUV color format can be subdivided into several seed formats according to whether the chroma component is downsampled: 1 pixel consists of 1 Y component, 1 U component, and 1 V component. YUV4:4:4 Pixel color format; YUV4:2:2 pixel color format consisting of 2 Y components, 1 U component, and 1 V component; 2 left and right adjacent 4 ⁇ 2 spatial positions
  • the pixels are composed of 4 Y components, 1 U component, and 1 V component in a YUV 4:2:0 pixel color format.
  • a component is generally represented by a number of 8 to 16 bits.
  • the YUV4:2:2 pixel color format and the YUV4:2:0 pixel color format are all downsampled for the YUV4:4:4 pixel color format.
  • a pixel component is also referred to as a pixel sample (pi x el sample) or simply as a sample.
  • the most basic element when encoding or decoding can be one pixel, one pixel component, or one pixel index (ie, index pixel).
  • a pixel or a pixel component or an index pixel, which is the most basic element of encoding or decoding, is collectively referred to as a pixel sample, sometimes referred to as a pixel value, or simply as a sample.
  • pixel sample value In the embodiment of the present invention, "pixel sample value”, “pixel value”, “sample value”, “index pixel”, and “pixel index” are synonyms, and depending on the context, whether “pixel” or “one pixel” is clearly indicated The “component” still means “index pixel” or both. If it is not clear from the context, then it means either of the three.
  • a coded block or a decoded block is an area consisting of a number of pixel values.
  • the shape of the codec block may be a rectangle, a square, a parallelogram, a trapezoid, a polygon, a circle, an ellipse, and the like.
  • a rectangle also includes a rectangle whose width or height is one pixel value that degenerates into a line (ie, a line segment or a line shape).
  • each codec block may have a different shape and size.
  • some or all of the codec blocks may overlap each other, or all codec blocks may not overlap each other.
  • a codec block may be composed of "pixels”, or may be composed of “components of pixels”, or may be composed of "index pixels”, or may be composed of a mixture of the three, or any of the three. Mixed composition.
  • a codec block refers to an area in which encoding or decoding is performed in a frame image, including but not limited to at least one of the following: a maximum coding unit LCU, A coding tree unit CTU, a coding unit CU, a sub-region of a CU, a prediction unit PU, and a transform unit TU.
  • a notable feature of computer screen images is that there are often many similar or even identical pixel patterns (pi ⁇ el pattern) within the same frame image.
  • pixel patterns pi ⁇ el pattern
  • Chinese or foreign text that often appears in computer screen images is composed of a few basic strokes, and many similar or identical strokes can be found in the same frame image.
  • Menus, icons, etc., which are common in computer screen images, also have many similar or identical patterns. Therefore, the copying method adopted by image and video compression technology includes at least the following copying methods:
  • Intra block copying means intraframe block matching or intraframe motion compensation or block matching or block copying.
  • the basic operation of block copy coding or decoding is to copy a current code block or a current decoding block (referred to as the current block) from the reconstructed reference pixel sample set by the same size as the current block (the same number of pixel samples).
  • the reference block is referenced and the value of the reference block is assigned to the current block.
  • the copy parameter of the block copy mode includes the displacement vector of the current block, indicating the relative position between the reference block and the current block.
  • a current block has a displacement vector.
  • Intra-frame micro-block copying means intra-frame micro-block matching or micro-block matching or micro-block copying.
  • a current block such as 8 ⁇ 8 pixel samples
  • several microblocks such as microblocks of 4 ⁇ 2 pixel samples or microblocks of 8 ⁇ 2 pixel samples or 2 ⁇ 4 pixels
  • the microblock of the sample or the microblock of the 2 ⁇ 8 pixel sample) the basic operation of the microblock copy encoding or decoding is to encode the microblock or the decoded microblock (referred to as the current microblock) for each of the current block, from A reference microblock is copied within the reconstructed reference pixel sample set, and the value of the reference microblock is assigned to the current microblock.
  • the copy parameter of the microblock copy mode includes a displacement vector of the current microblock, indicating a relative position between the reference microblock and the current microblock.
  • a current microblock has a displacement vector. How many displacement vectors are there in how many microblocks a current block is divided into.
  • Intra-frame lines are copied, that is, intra-frame matching or strip matching or strip copying.
  • a strip is a microblock having a height of 1 or a width of 1, such as a microblock of 4x1 or 8x1 or 1x4 or 1x8 pixel samples.
  • the basic operation of strip copy encoding or decoding is for each encoding strip or decoding strip in the current block. (referred to as the current bar), copy a reference bar from the reconstructed reference pixel sample set, and assign the value of the reference bar to the current bar.
  • strip copying is a special case of microblock copying.
  • the copy parameter of the strip copy mode includes the displacement vector of the current strip, indicating the relative position between the reference strip and the current strip.
  • a current bar has a displacement vector. How many displacement vectors are there in how many bars a current block is divided into.
  • Intra-frame string replication means intra-frame string matching or string matching or string copying or pixel string copying.
  • a current coded block or a current decoded block (referred to as the current block) is divided into several variable-length pixel sample strings.
  • the string here refers to arranging the pixel samples in a two-dimensional area of an arbitrary shape into a string whose length is much larger than the width (for example, a string having a width of 1 pixel sample and a length of 37 pixel samples or a width of 2)
  • a string of pixel samples of length 111 pixels typically but not limited to a length that is an independent encoding or decoding parameter and a width that is a predetermined or derived parameter from other encoding or decoding parameters).
  • the basic operation of string copy encoding or decoding is to copy each reference string from the reconstructed reference pixel sample set to each encoded string or decoded string (referred to as the current string) in the current block, and the value of the reference string Assign to the current string.
  • the copy parameters of the string copy mode include the displacement vector and the copy length of the current string, that is, the copy size, which respectively represent the relative position between the reference string and the current string and the length of the current string, that is, the number of pixel samples.
  • the length of the current string is also the length of the reference string.
  • a current string has a displacement vector and a copy length. How many displacement vectors and how many copy lengths a current block is divided into.
  • the displacement vector is also called the copy position, and its representation forms are: 2D coordinates, linear address, distance, pointer, index, number, mode number, and so on.
  • Palette index string copy is a palette or index string copy.
  • first construct or acquire a palette and then use some or all of the pixels of the current encoding block or the current decoding block (referred to as the current block) with the palette in the palette.
  • the index of the color is expressed, and then the index is encoded and decoded, including but not limited to: dividing the index of a current block into several index strings of variable length, that is, performing index string copy encoding and decoding.
  • Index string copy The basic operation of encoding or decoding is to encode a string or index decoding string (referred to as the current index string) for each index in the current block, and copy a reference index string from the indexed reconstructed reference pixel sample set, and The index value of the reference index string is assigned to the current index string.
  • the copy parameter of the index string copy mode includes the displacement vector and the copy length of the current index string, that is, the copy size, respectively indicating the relative position between the reference index string and the current index string and the length of the current index string, that is, the number of corresponding pixel samples.
  • the length of the current index string is also the length of the reference index string.
  • a current index string has a displacement vector and a copy length.
  • the displacement vector is also called the copy position, and its representation forms are: 2D coordinates, linear address, distance, pointer, index, number, mode number, and so on.
  • the index string is also called a palette color string or a palette pixel string or a palette string
  • the index string copy mode is also called a palette copy mode or a palette mode.
  • strings are also called runs or strokes. Therefore, the index string is also called an index run or index run or simply a run or trip.
  • the palette color of the current block is derived from the pixel color and/or palette color candidate set of the current block, and the palette color candidate set is composed of a portion of the palette color of the codec block that has completed the codec.
  • index-pixel string fusion copy mode also called palette-pixel string fusion copy mode or merged pixel string copy palette mode or fusion palette Pixel string copy mode or palette with pixel string copy mode.
  • index-pixel string fusion copy mode also called palette-pixel string fusion copy mode or merged pixel string copy palette mode or fusion palette Pixel string copy mode or palette with pixel string copy mode.
  • Different fusion schemes may differ in the following aspects: 1) the number of types of strings, 2) the range of values of parameters, 3) the range of values of one or several replicated parameters, and 4) the location of the displacement vector Range of values, 5) current index or current pixel position, 6) position of the current sample segment, 7) position of the reference index or reference pixel, 8) position of the reference sample segment; 9) copy shape.
  • a pixel sample segment referred to as a sample segment.
  • the basic constituent elements of a sample segment are pixel or pixel components or pixel indices.
  • a sample segment has a copy parameter that represents the relationship between the current pixel sample segment and the reference pixel sample segment. Therefore, a sample segment is the smallest unit of a copy operation with the same replication relationship.
  • a copy parameter includes a plurality of copy parameter components, and the copy parameter components include at least: displacement vector horizontal component, displacement vector vertical component, 1 dimensional displacement vector, linear address, relative linear address, index, palette linear address, relative index, toning Board relative linear address, copy length, copy width, copy height, rectangle width, rectangle length, unmatched pixels (also known as no reference pixels, ie non-replicated pixels that are not copied from elsewhere).
  • pixel samples or indexes need to be arranged in a certain order.
  • the arrangement is also called the scanning method.
  • the scanning method can be divided into the following types according to its path shape:
  • A) Horizontal Z-scan mode is also called horizontal raster scan mode.
  • a pixel sample or index of a coded block or a decoded block (collectively referred to as a codec block) is arranged line by line and arranged in the same direction (all left to right or all right to left) in all rows. Rows and rows can be arranged from top to bottom or from bottom to top.
  • Vertical Z-scan mode is also called vertical raster scan mode.
  • a coding block or a decoding block Pixel samples or indexes, called codec blocks, are arranged in columns and columns, and are arranged in the same direction (all from top to bottom or all from bottom to top) in all columns. Columns and columns can be arranged from left to right or from right to left.
  • a pixel sample or index of a coded block or a decoded block (collectively referred to as a codec block), arranged line by line, arranged in one direction (eg, from left to right) in an odd line and in another (opposite) direction in an even line (eg, from right to left). Rows and rows can be arranged from top to bottom or from bottom to top.
  • a pixel sample or index of a coded block or a decoded block (collectively referred to as a codec block), arranged in columns and columns, arranged in one direction (eg, from top to bottom) in an odd column and in another in an even column (opposite ) Directions (eg, from bottom to top). Columns and columns can be arranged from left to right or from right to left.
  • the basic copy shape has the following two types:
  • the current string and the reference string are each a one-dimensional sample string formed in the order of a predetermined scanning manner in each codec block, and have equal lengths, but the two-dimensional regions formed by the two strings are not necessarily the same. Two-dimensional shape.
  • the current strings are arranged in the order of the predetermined scanning mode within the current codec block.
  • the reference string remains exactly the same two-dimensional shape as the current string, with equal length.
  • Each of the above basic replicated shapes can be subdivided into a plurality of replicated shapes according to a specific scanning manner, such as a vertical arcuate one-dimensional linear replica shape, a horizontal Z-shaped two-dimensional conformal replica shape, and the like.
  • copying is an operation of reconstruction and decoding, and the corresponding encoding operation is “matching”. Therefore, various copying methods such as block matching mode, microblock copying mode, line copying mode, pixel string copying mode, and index string copying mode are also called block matching mode, microblock matching mode, line matching mode, and pixel string matching mode. , index string matching method, and so on.
  • reference pixel sample set is a reference area adjacent or near the current pixel sample segment.
  • the reference area is finite, so the range of values of the copy position, ie the motion vector, is also limited.
  • the range of the value of the motion vector is not limited, thereby consuming unnecessary bits, which greatly reduces the compression efficiency of the copy mode.
  • the multi-pixel segment copy mode with multiple motion vectors in one codec block such as the microblock copy mode, the strip copy mode, the pixel string copy mode, the palette and the pixel string copy mode, and the compression efficiency.
  • an embodiment of the present invention provides an image encoding and decoding method and an image processing device. Before encoding and decoding the motion vector, first limit the value range of the motion vector.
  • the size of the reference area of one or more codec blocks is fixed. In the embodiment of the present invention, the size of the reference area of one or more codec blocks is bounded. In the embodiment of the present invention, the size of the reference area of the one or more codec blocks is adaptively restricted, that is, the limitation is by other properties of the codec block (eg, the location of the codec block, or The codec block is determined similarly to the pixels of other regions in the image, etc.). In the embodiment of the present invention, the position of the reference area of one or more codec blocks is fixed.
  • the location of the reference area of the one or more codec blocks is adaptively restricted, that is, the limitation is by other properties of the codec block (eg, the location of the codec block, or The codec block is determined similarly to the pixels of other regions in the image, etc.).
  • the value range of the motion vector of one or more current pixel sample segments is fixed. In the embodiment of the present invention, the range of values of the motion vectors of one or more current pixel sample segments is bounded.
  • the value range of the motion vector of one or more current pixel sample segments is adaptively limited, that is, the limit is determined by other properties of the current pixel sample segment (eg, the current The position of the pixel sample segment, or the position of the current pixel sample segment, or the similarity of the current pixel sample segment to pixels of other regions in the image, etc.).
  • the size and location of the reference area of one codec block are restricted, and the size and location of the reference area of different codec blocks may be limited. It is different and is adaptive and dynamic.
  • the range of values of the motion vector of a current pixel sample segment is limited.
  • the limits of the range of motion vectors of different current pixel sample segments may be different, adaptive and dynamically changing.
  • the reference area is an adaptive and dynamic limited area
  • the value range of the motion vector is an adaptive and dynamic limited value range.
  • the motion vector is subjected to self-limiting coding and decoding, that is, adaptive and dynamic limited coding and decoding.
  • the self-limiting codec includes at least a binarization method and an entropy codec having a truncation value corresponding to the restriction.
  • the self-limiting codec includes at least a truncated k-th order exponential Columbus code binarization method and an entropy codec having a truncation value corresponding to the restriction, where k ⁇ 0.
  • the truncated k-th order exponential Columbus code is a k-th order exponential Columbus code whose prefix and/or its suffix has a cutoff value.
  • the self-limiting codec includes at least decomposing a set of several motion vectors into one main motion vector and several slave motion vectors.
  • the adaptive and dynamic limited area is K (K ⁇ 1) sub-reference areas having the same size and shape as the current codec block, and the self-limiting codec includes at least the current codec.
  • the motion vector of the block is divided into corresponding K groups, and each motion vector of each group is decomposed into a common main motion vector and each slave motion vector.
  • one or several of a video parameter set and/or a sequence parameter set and/or an image parameter set and/or a slice header and/or a CTU header and/or a CU header and/or a codec block header of a video code stream The reference area is specified and restricted with one or several syntax elements.
  • a video parameter set and/or a sequence parameter set and/or an image parameter set and/or a slice header and/or a CTU header and/or a CU header and/or a codec block header of a video code stream Or a number of places with one or several syntax elements to specify and limit the range of values of the motion vector.
  • FIG. 1 is a schematic flowchart 1 of an image encoding method according to an embodiment of the present invention. As shown in FIG. 1 , the image encoding method includes the following steps:
  • Step 101 Obtain a dynamic limit of a copy parameter of the current coded sample segment according to the size of the reference area.
  • Step 102 Encode the copy parameter according to the dynamic limit, and generate a video code stream including reference area size information and copy parameter information.
  • the coded bits of the reference area size information and/or the reference area position and the size information and/or the value range information of the motion vector are written into one or more of the video code streams.
  • Video parameter set sequence parameter set, image parameter set, strip header, CTU header, CU header, codec block header.
  • the video parameter set usually one or several syntax elements of the video parameter set that exist directly or implicitly;
  • Sequence parameter set usually one or several syntax elements that are directly or implicitly derived from a sequence parameter set
  • Image parameter set usually one or several syntax elements of the image parameter set that exist directly or implicitly;
  • Strip head A grammatical element that is usually one or more of the leading or implicit derivation of a strip
  • CTU header A syntax element that is usually one or several directly or implicitly derived from a CTU header
  • CU header usually one or several syntax elements that are directly or implicitly derived from the CU header;
  • Codec block header Usually one or several syntax elements that are directly or implicitly derived from the codec block header.
  • the copy parameter is a motion vector.
  • the dynamic limit of the copy parameter is one of a dynamic upper limit, a dynamic lower limit, a dynamic left limit, and a dynamic right limit of the motion vector, or multiple or all.
  • a truncated k-th order exponential Columbus code binarization and entropy coding having a cutoff value corresponding to the dynamic limit is performed on the copy parameter, where k ⁇ 0.
  • FIG. 2 is a schematic flowchart 1 of an image decoding method according to an embodiment of the present invention. As shown in FIG. 2, the image decoding method includes the following steps:
  • Step 201 Parse the video code stream to obtain a dynamic limit of the copy parameter of the decoded sample segment.
  • Step 202 Decode the replication parameter according to the dynamic limit.
  • the parsing the video code stream to obtain the dynamic limit of the copy parameter of the decoded sample segment includes:
  • Parsing the video code stream and acquiring at least one of the following information: reference area size information, reference area position and size information, and value range information of the motion vector;
  • a dynamic limit of the copy parameter of the decoded sample segment is determined based on the acquired information.
  • the method before decoding the replication parameter according to the dynamic limit, the method further includes:
  • the following one or more corresponding code streams in the video code stream are parsed, and at least one of the following information is obtained: reference area size information, reference area position and size information, and value of the motion vector.
  • Range information including:
  • Video parameter set sequence parameter set, image parameter set, strip header, CTU header, CU header, codec block header.
  • the copy parameter is a motion vector.
  • the dynamic limit of the copy parameter is one of a dynamic upper limit, a dynamic lower limit, a dynamic left limit, and a dynamic right limit of the motion vector, or multiple or all.
  • a truncated k-th order exponential Columbus code binarization and entropy decoding having a cutoff value corresponding to the dynamic limit is performed on the copy parameter, Where k ⁇ 0.
  • FIG. 3 is a schematic flowchart 2 of an image encoding method according to an embodiment of the present invention. As shown in FIG. 3, the image encoding method includes the following steps:
  • Step 301 Encode the copy parameter of the coded sample segment according to the dynamic position and size of the reference region.
  • Step 302 Generate a video code stream including reference area location and size information and copy parameter information.
  • the reference bit size information and/or the reference region position and the coded bits of the size information and/or the value range information of the motion vector are written in the following part of the video code stream or Multiple places:
  • Video parameter set sequence parameter set, image parameter set, strip header, CTU header, CU header, codec block header.
  • the copy parameter is a motion vector.
  • the dynamic limit of the copy parameter is one, a plurality, or all of a dynamic upper limit, a dynamic lower limit, a dynamic left limit, and a dynamic right limit of the motion vector.
  • the dynamic position of the reference area is represented by one or more area motion vectors.
  • the reference region when the motion vector of the coded sample segment is encoded according to the dynamic position and size of the reference region, the reference region is composed of K children of the same shape and size as the codec block.
  • Reference area composition wherein, K ⁇ 1;
  • the dynamic positions of the K sub-reference regions are respectively represented by corresponding K sub-reference region motion vectors, and the motion vector of the current codec segment is decomposed into a main motion vector and a slave motion vector, wherein the master mobile The vector is equal to the sub-reference region motion vector of the sub-reference region in which the reference sample segment is located.
  • FIG. 4 is a second schematic flowchart of an image decoding method according to an embodiment of the present invention, as shown in FIG. 4,
  • the image decoding method includes the following steps:
  • Step 401 Parse the video code stream, and obtain at least reference area location and size information and copy parameter information.
  • Step 402 Decode the copy parameter of the current decoded sample segment according to the dynamic position and size of the reference region.
  • the following one or more corresponding code streams in the video code stream are parsed, and at least one of the following information is obtained: reference area size information, reference area position and size information, and motion vector acquisition.
  • Value range information including:
  • Video parameter set sequence parameter set, image parameter set, strip header, CTU header, CU header, codec block header.
  • the copy parameter is a motion vector.
  • the dynamic limit of the copy parameter is one of a dynamic upper limit, a dynamic lower limit, a dynamic left limit, and a dynamic right limit of the motion vector, or multiple or all.
  • the dynamic position of the reference area is represented by one or more area motion vectors.
  • the reference region when the motion vector of the current decoded sample segment is decoded according to the dynamic position and size of the reference region, the reference region is composed of K sub-reference regions having the same shape and size as the current codec block. Composition; wherein, K ⁇ 1;
  • the dynamic positions of the K sub-reference regions are respectively represented by corresponding K sub-reference region motion vectors, and the motion vector of the current codec segment is decomposed into a main motion vector and a slave motion vector, wherein the master mobile The vector is equal to the sub-reference area motion vector of the sub-reference area in which the current reference sample segment is located.
  • FIG. 5( a ) is a third schematic flowchart of an image encoding method according to an embodiment of the present invention. As shown in the figure, in the process:
  • the video code stream of the area size information and the copy parameter information the dynamic limit of the copy parameter of the current coded sample segment is obtained from the size of the reference area, and the copy parameter is encoded according to the dynamic limit.
  • FIG. 5(b) is a schematic flowchart diagram 4 of an image encoding method according to an embodiment of the present invention. As shown in the figure, in the process:
  • Coding with a copy mode including at least the following functions and operations and generating a video code stream containing at least reference area position and size information and copy parameter information: encoding the copy parameters of the current coded sample segment according to the dynamic position and size of the reference area .
  • the copy parameter is a motion vector.
  • Figure 6 is an example.
  • the reference area is a current CTU and a plurality of adjacent CTUs, such that the reference area size is a current CTU and a size of a plurality of adjacent CTUs.
  • Fig. 6(a) is an example.
  • the dynamic limit of the copy parameter is a dynamic upper limit, a dynamic lower limit, a dynamic left limit, and a dynamic right limit of the motion vector.
  • Fig. 6(a) is an example.
  • the copy parameters are binarized and entropy encoded with a cutoff value corresponding to the dynamic limit based on the dynamic limit.
  • the truncated k-th order exponential Columbus code binarization and entropy coding having a truncation value corresponding to the dynamic limit is performed on the copy parameter according to the dynamic limit, wherein k ⁇ 0.
  • the truncated k-th order exponent Columbus code is a k-th order exponential Columbus code whose prefix and/or its suffix has a cutoff value.
  • the dynamic position of the reference area is represented by one or several area motion vectors.
  • the main motion vector in Fig. 6(b) is an example.
  • the dynamic position of the reference area is represented by one or several area motion vectors, and the size of the reference area is the size of one or several current coding blocks.
  • Fig. 6(b) is an example.
  • the reference area consists of one or several regions of the same shape and size as the current coded block, and the dynamic position of the reference region is represented by a corresponding one or several region motion vectors.
  • Fig. 6(b) is an example.
  • the motion vector of the current coded sample segment when the motion vector of the current coded sample segment is encoded according to the dynamic position and size of the reference region, the motion vector of a group of the current coded sample segments is decomposed into a primary motion vector and a plurality of slaves.
  • Moving vector Fig. 6(b) is an example.
  • the reference region is K (K ⁇ 1) sub-references having the same shape and size as the current coded block.
  • the regional components, and the dynamic positions of the K sub-reference regions are respectively represented by corresponding K (K ⁇ 1) sub-reference region motion vectors, and the motion vector of the current coded sample segment is decomposed into a main motion vector and a slave A motion vector, the primary motion vector being equal to a sub-reference region motion vector of a sub-reference region in which the current reference sample segment is located.
  • Fig. 6(b) is an example.
  • the reference region size information is present in a video parameter set and/or a sequence parameter set and/or an image parameter set and/or a slice header and/or a CTU header and/or a CU header and/or of a video bitstream. Or code one or more places in the block header.
  • the reference region location and size information is present in a video parameter set and/or a sequence parameter set and/or an image parameter set and/or a slice header and/or a CTU header and/or a CU header of the video stream. And/or encode one or more places in the block header.
  • FIG. 7( a ) is a third schematic flowchart of an image decoding method according to an embodiment of the present invention. As shown in the figure, in the process:
  • Parsing the video code stream acquiring at least the reference area size information and the copy parameter information, and decoding by using a copy mode that includes at least the following functions and operations: obtaining a dynamic limit of the copy parameter of the current decoded sample segment from the size of the reference area, according to the The dynamic boundary decodes the copy parameters.
  • FIG. 7(b) is a schematic flowchart diagram 4 of an image decoding method according to an embodiment of the present invention, as shown in the figure. In the process:
  • Parsing the video code stream obtaining at least the reference area position and size information and the copy parameter information, and decoding by using a copy mode including at least the following functions and operations: decoding the copy parameters of the current decoded sample segment according to the dynamic position and size of the reference area .
  • the copy parameter is a motion vector.
  • Figure 6 is an example.
  • the reference area is a current CTU and a plurality of adjacent CTUs, such that the reference area size is a current CTU and a size of a plurality of adjacent CTUs.
  • Fig. 6(a) is an example.
  • the dynamic limit of the copy parameter is a dynamic upper limit, a dynamic lower limit, a dynamic left limit, and a dynamic right limit of the motion vector.
  • Fig. 6(a) is an example.
  • the copying parameter is binarized and entropy decoded with a cutoff value corresponding to the dynamic limit according to the dynamic limit.
  • the truncated k-th order exponential Columbus code binarization and entropy decoding having a truncation value corresponding to the dynamic limit is performed on the copy parameter according to the dynamic limit, wherein k ⁇ 0.
  • the truncated k-th order exponent Columbus code is a k-th order exponential Columbus code whose prefix and/or its suffix has a cutoff value.
  • the dynamic position of the reference area is represented by one or several area motion vectors.
  • the main motion vector in Fig. 6(b) is an example.
  • the dynamic position of the reference region is represented by one or several region motion vectors, and the size of the reference region is the size of one or several current decoded blocks.
  • Fig. 6(b) is an example.
  • the reference area is composed of one or several regions of the same shape and size as the current decoded block, and the dynamic position of the reference region is represented by a corresponding one or several region motion vectors.
  • Fig. 6(b) is an example.
  • the current decoded sample segment is based on the dynamic position and size of the reference region.
  • a set of motion vectors of a plurality of currently decoded sample segments are decomposed into a main motion vector and a plurality of slave motion vectors.
  • Fig. 6(b) is an example.
  • the reference region is composed of K (K ⁇ 1) sub-references of the same shape and size as the current decoded block.
  • the regional components, and the dynamic positions of the K sub-reference regions are respectively represented by corresponding K (K ⁇ 1) sub-reference region motion vectors, and the motion vector of the current decoded sample segment is decomposed into a main motion vector and a slave A motion vector, the primary motion vector being equal to a sub-reference region motion vector of a sub-reference region in which the current reference sample segment is located.
  • Fig. 6(b) is an example.
  • the reference region size information is present in a video parameter set and/or a sequence parameter set and/or an image parameter set and/or a slice header and/or a CTU header and/or a CU header and/or of a video bitstream. Or code one or more places in the block header.
  • the reference region location and size information is present in a video parameter set and/or a sequence parameter set and/or an image parameter set and/or a slice header and/or a CTU header and/or a CU header of the video stream. And/or encode one or more places in the block header.
  • the invention is applicable to the encoding and decoding of images in a stacked format.
  • the invention is equally applicable to the encoding and decoding of component plane format images.
  • FIG. 8 is a first schematic structural diagram of an image processing apparatus according to an embodiment of the present invention.
  • the image processing apparatus can encode an image. As shown in FIG. 8, the image processing apparatus includes:
  • the first obtaining unit 81 is configured to acquire, according to the size of the reference area, a dynamic limit of the copy parameter of the current coded sample segment;
  • the encoding unit 82 is configured to encode the copy parameter according to the dynamic limit
  • the generating unit 83 is configured to generate a video code stream including reference area size information and copy parameter information.
  • each unit in the image processing device may be implemented by a central processing unit (CPU) or a microprocessor (Micro Processor Unit, MPU) located in the image processing device. Or a digital signal processor (DSP), or a Field Programmable Gate Array (FPGA).
  • CPU central processing unit
  • MPU Micro Processor Unit
  • DSP digital signal processor
  • FPGA Field Programmable Gate Array
  • FIG. 9 is a second schematic structural diagram of an image processing apparatus according to an embodiment of the present invention.
  • the image processing apparatus can decode an image. As shown in FIG. 9, the image processing apparatus includes:
  • the parsing unit 91 is configured to parse the video code stream to obtain a dynamic limit of the copy parameter of the decoded sample segment;
  • the decoding unit 92 is configured to decode the copy parameter according to the dynamic limit.
  • each unit in the image processing device may be implemented by a central processing unit (CPU) or a microprocessor (Micro Processor Unit, MPU) located in the image processing device. Or a digital signal processor (DSP), or a Field Programmable Gate Array (FPGA).
  • CPU central processing unit
  • MPU Micro Processor Unit
  • DSP digital signal processor
  • FPGA Field Programmable Gate Array
  • FIG. 10 is a third structural diagram of an image processing apparatus according to an embodiment of the present invention.
  • the image processing apparatus can encode an image. As shown in FIG. 10, the image processing apparatus includes:
  • the encoding unit 1001 is configured to encode the copy parameter of the encoded sample segment according to the dynamic position and size of the reference region;
  • the generating unit 1002 is configured to generate a video code stream including reference area position and size information and copy parameter information.
  • each unit in the image processing device may be implemented by a central processing unit (CPU) or a microprocessor (Micro Processor Unit, MPU) located in the image processing device. Or a digital signal processor (DSP), or a Field Programmable Gate Array (FPGA).
  • CPU central processing unit
  • MPU Micro Processor Unit
  • DSP digital signal processor
  • FPGA Field Programmable Gate Array
  • FIG. 11 is a schematic structural diagram of an image processing apparatus according to an embodiment of the present invention.
  • the image processing apparatus can decode an image. As shown in FIG. 11, the image processing apparatus includes:
  • the parsing unit 1101 is configured to parse the video code stream, and obtain at least reference area location and size information and copy parameter information;
  • the decoding unit 1102 is configured to decode the copy parameters of the current decoded sample segment according to the dynamic position and size of the reference region.
  • each unit in the image processing device may be implemented by a central processing unit (CPU) or a microprocessor (Micro Processor Unit, MPU) located in the image processing device. Or a digital signal processor (DSP), or a Field Programmable Gate Array (FPGA).
  • CPU central processing unit
  • MPU Micro Processor Unit
  • DSP digital signal processor
  • FPGA Field Programmable Gate Array
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention can take the form of a hardware embodiment, a software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) including computer usable program code.
  • Embodiments of the Invention may also be stored in a computer readable storage medium if it is implemented in the form of a software function module and sold or used as a standalone product. Based on such understanding, the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product stored in a storage medium, including a plurality of instructions.
  • a computer device (which may be a personal computer, server, or network device, etc.) is caused to perform all or part of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk.
  • program codes such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk.
  • an embodiment of the present invention further provides a computer storage medium, wherein a computer program for executing an image encoding method and/or an image decoding method according to an embodiment of the present invention is stored.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device. Instructions are provided for implementation The steps of a function specified in a block or blocks of a flow or a flow and/or a block diagram of a flow chart.
  • the dynamic boundary of the copy parameter of the current coded sample segment is obtained according to the size of the reference region; the copy parameter is encoded according to the dynamic limit; and the reference region size information and the copy parameter information are generated.
  • Video stream Parsing the video code stream, obtaining a dynamic limit of the copy parameter of the decoded sample segment; decoding the copy parameter according to the dynamic limit.
  • the copy parameter of the coded sample segment is encoded according to the dynamic position and size of the reference region; and the video code stream including the reference region position and size information and the copy parameter information is generated.
  • Parsing the video code stream obtaining at least the reference area position and size information and the copy parameter information; and decoding the copy parameters of the current decoded sample segment according to the dynamic position and size of the reference area.

Landscapes

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

Abstract

本发明公开了一种图像编码及解码方法、图像处理设备、计算机存储介质,包括:依据参考区域的大小,获取当前编码样值段的复制参数的动态界限;根据动态界限对复制参数进行编码,生成包括参考区域大小信息和复制参数信息的视频码流。解析视频码流,获取解码样值段的复制参数的动态界限;根据动态界限对复制参数进行解码。根据参考区域的动态位置与大小,对编码样值段的复制参数进行编码;生成包括参考区域位置与大小信息和复制参数信息的视频码流。根据参考区域的动态位置与大小,对当前编码样值段的复制参数进行编码;生成包括参考区域位置与大小信息和复制参数信息的视频码流。

Description

图像编码及解码方法、图像处理设备、计算机存储介质 技术领域
本发明涉及数字视频编码及解码技术,尤其涉及一种图像编码及解码方法、图像处理设备、计算机存储介质。
背景技术
随着电视机和显示器进入超高清(4K)和特超高清(8K)的分辨率,以及以远程桌面为典型表现形式的新一代云计算与信息处理模式及平台的发展和普及,对视频图像数据压缩的需求也走向更高分辨率和包含摄像机摄取图像和计算机屏幕图像的复合图像。对视频图像进行超高压缩比和极高质量的数据压缩成为必不可少的技术。
充分利用4K/8K图像和计算机屏幕图像的特点,对视频图像进行超高效率的压缩(HEVC,High Efficiency Video Coding),也是正在制定中的最新国际视频压缩标准和其他若干国际标准、国内标准、行业标准的一个主要目标。
计算机屏幕图像的一个显著特点是同一帧图像内通常会有很多相似甚至完全相同的像素图样(pi×el pattern)。例如,计算机屏幕图像中常出现的中文或外文文字,都是由少数几种基本笔划所构成,同一帧图像内可以找到很多相似或相同的笔划。计算机屏幕图像中常见的菜单、图标等,也具有很多相似或相同的图样。因此,现有的图像和视频压缩技术中通常采用各种复制方式,至少包括下列复制方式:
1)帧内块复制即帧内块匹配或称帧内运动补偿或称块匹配或称块复制。
2)帧内微块复制即帧内微块匹配或称微块匹配或称微块复制。
3)帧内线条(简称条)复制即帧内条匹配或称条匹配或称条复制。
4)帧内串复制即帧内串匹配或称串匹配或称串复制或称像素串复制。
5)调色板索引串复制即调色板或称索引串复制。
6)索引串复制与像素串复制混合的融合复制方式,简称索引-像素串融合复制方式,也称调色板-像素串融合复制方式或融合像素串复制的调色板方式或融合调色板的像素串复制方式或调色板与像素串复制方式。
7)结合多种调色板与像素串复制方式的多重调色板与像素串复制方式。
最常见的一类参考像素样值集是当前像素样值段邻近或附近的一个参考区域。参考区域都是有限的,因此,复制位置即移动矢量的取值范围也是有限。在各种复制方式中,对移动矢量进行编码或解码时,都没有对移动矢量的取值范围进行限制,因而消耗了不必要的比特数,在很大程度上降低了复制方式的压缩效率,特别是在编解码块中具有多个移动矢量的多像素段复制方式,如微块复制方式、条复制方式、像素串复制方式、调色板与像素串复制方式,的压缩效率。
发明内容
为解决上述技术问题,本发明实施例提供了一种图像编码及解码方法、图像处理设备、计算机存储介质。
本发明实施例提供的图像编码方法,包括:
依据参考区域的大小,获取当前编码样值段的复制参数的动态界限;
根据所述动态界限对所述复制参数进行编码,生成包括参考区域大小信息和复制参数信息的视频码流。
本发明实施例中,将参考区域大小信息和/或参考区域位置与大小信息和/或移动矢量的取值范围信息的编码比特写入所述视频码流的以下一处或多处:
视频参数集、序列参数集、图像参数集、条带头、编码树单元(CTU)头、编码单元(CU)头、编解码块头。
本发明实施例中,所述复制参数是移动矢量。
本发明实施例中,所述复制参数的动态界限是移动矢量的动态上限、动态下限、动态左限、动态右限中的一个、或多个或全部。
本发明实施例中,所述方法还包括:
根据所述动态界限,对复制参数进行具有与所述动态界限对应的截断值的截断k阶指数哥伦布码二值化和熵编码,其中,k≥0。
本发明实施例提供的图像解码方法,包括:
解析视频码流,获取解码样值段的复制参数的动态界限;
根据所述动态界限对所述复制参数进行解码。
本发明实施例中,所述解析视频码流,获取解码样值段的复制参数的动态界限,包括:
解析所述视频码流,获取以下信息至少之一:参考区域大小信息、参考区域位置与大小信息、移动矢量的取值范围信息;
根据所获取的信息,确定所述解码样值段的复制参数的动态界限。
本发明实施例中,在根据所述动态界限对所述复制参数进行解码之前,还包括:
解析码流,获取复制参数信息。
本发明实施例中,解析所述视频码流中以下一处或多处对应码流,获得以下信息至少之一:参考区域大小信息、参考区域位置与大小信息、移动矢量的取值范围信息,包括:
视频参数集、序列参数集、图像参数集、条带头、CTU头、CU头、编解码块头。
本发明实施例中,所述复制参数是移动矢量。
本发明实施例中,所述复制参数的动态界限是移动矢量的动态上限、动态下限、动态左限、动态右限中的一个、或多个或全部。
本发明实施例中,所述方法还包括:
根据所述动态界限,对复制参数进行具有与所述动态界限对应的截断值的截断k阶指数哥伦布码二值化和熵解码,其中,k≥0。
本发明另一实施例提供的图像编码方法,包括:
根据参考区域的动态位置与大小,对编码样值段的复制参数进行编码;
生成包括参考区域位置与大小信息和复制参数信息的视频码流。
本发明实施例中,将所述参考区域大小信息和/或参考区域位置与大小信息和/或移动矢量的取值范围信息的编码比特写入所述视频码流的以下一处或多处:
视频参数集、序列参数集、图像参数集、条带头、CTU头、CU头、编解码块头。
本发明实施例中,所述复制参数是移动矢量。
本发明实施例中,所述复制参数的动态界限是移动矢量的动态上限、动态下限、动态左限、动态右限中的一个、多个或全部。
本发明实施例中,所述参考区域的动态位置由一个或多个区域移动矢量表示。
本发明实施例中,根据参考区域的动态位置与大小对所述编码样值段的移动矢量进行编码时,所述参考区域由K个与所述编解码块同样形状和大小的子参考区域组成;其中,K≥1;
K个所述子参考区域的动态位置分别由对应的K个子参考区域移动矢量表示,将当前编解码样值段的移动矢量分解成一个主移动矢量和一个从移动矢量,其中,所述主移动矢量等于所述参考样值段所在子参考区域的子参考区域移动矢量。
本发明另一实施例提供的图像解码方法,包括:
解析视频码流,至少获取参考区域位置及大小信息和复制参数信息;
根据参考区域的动态位置与大小对当前解码样值段的复制参数进行解码。
本发明实施例中,解析所述视频码流中的以下一处或多处对应码流,获得以下信息至少之一:参考区域大小信息、参考区域位置与大小信息、移动矢量的取值范围信息,包括:
视频参数集、序列参数集、图像参数集、条带头、CTU头、CU头、编解码块头。
本发明实施例中,所述复制参数是移动矢量。
本发明实施例中,所述复制参数的动态界限是移动矢量的动态上限、动态下限、动态左限、动态右限中的一个、或多个或全部。
本发明实施例中,所述参考区域的动态位置由一个或多个区域移动矢量表示。
本发明实施例中,根据参考区域的动态位置与大小对当前解码样值段的移动矢量进行解码时,所述参考区域由K个与当前编解码块同样形状和大小的子参考区域组成;其中,K≥1;
K个所述子参考区域的动态位置分别由对应的K个子参考区域移动矢量表示,将当前编解码样值段的移动矢量分解成一个主移动矢量和一个从移动矢量,其中,所述主移动矢量等于当前参考样值段所在子参考区域的子参考区域移动矢量。
本发明实施例提供的图像处理设备,包括:
第一获取单元,配置为依据参考区域的大小,获取当前编码样值段的复制参数的动态界限;
编码单元,配置为根据所述动态界限对所述复制参数进行编码;
生成单元,配置为生成包括参考区域大小信息和复制参数信息的视频码流。
本发明另一实施例提供的图像处理设备,包括:
解析单元,配置为解析视频码流,获取解码样值段的复制参数的动态界限;
解码单元,配置为根据所述动态界限对所述复制参数进行解码。
本发明另一实施例提供的图像处理设备,包括:
编码单元,配置为根据参考区域的动态位置与大小,对编码样值段的复制参数进行编码;
生成单元,配置为生成包括参考区域位置与大小信息和复制参数信息的视频码流。
本发明另一实施例提供的图像处理设备,包括:
解析单元,配置为解析视频码流,至少获取参考区域位置及大小信息和复制参数信息;
解码单元,配置为根据参考区域的动态位置与大小对当前解码样值段的复制参数进行解码。
本发明实施例提供的计算机存储介质存储有计算机程序,该计算机程序用于执行上述图像编码和/或图像解码方法。
本发明实施例的技术方案中,对图像编码包括:依据参考区域的大小,获取当前编码样值段的复制参数的动态界限;根据所述动态界限对所述复制参数进行编码;生成包括参考区域大小信息和复制参数信息的视频码流。相应地,对图像解码包括:解析视频码流,获取解码样值段的复制参数的动态界限;根据所述动态界限对所述复制参数进行解码。此外,对图像编码包括:根据参考区域的动态位置与大小,对编码样值段的复制参数进行编码;生成包括参考区域位置与大小信息和复制参数信息的视频码流。相 应地,对图像解码包括:解析视频码流,至少获取参考区域位置及大小信息和复制参数信息;根据参考区域的动态位置与大小对当前解码样值段的复制参数进行解码。如此,在各种复制方式中,对移动矢量进行编码或解码时,对移动矢量的取值范围进行了限制,节省了比特数,提升了复制方式的压缩效率。
附图说明
在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
图1为本发明实施例的图像编码方法的流程示意图一;
图2为本发明实施例的图像解码方法的流程示意图一;
图3为本发明实施例的图像编码方法的流程示意图二;
图4为本发明实施例的图像解码方法的流程示意图二;
图5为本发明实施例的图像编码方法的流程示意图三和流程示意图四;
图6为本发明实施例中参考区域的大小、参考区域的位置、移动矢量的动态界限的示例图;
图7为本发明实施例的图像解码方法的流程示意图三和流程示意图四;
图8为本发明实施例的图像处理设备的结构组成示意图一;
图9为本发明实施例的图像处理设备的结构组成示意图二;
图10为本发明实施例的图像处理设备的结构组成示意图三;
图11为本发明实施例的图像处理设备的结构组成示意图四。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合 附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。
图像的数字视频信号的自然形式是图像的序列。一帧图像通常是由若干像素组成的矩形区域,而数字视频信号就是由几十帧至成千上万帧图像组成的视频图像序列,有时也简称为视频序列或序列。对数字视频信号进行编码就是对一帧一帧图像进行编码。在任一时刻,正在编码中的那一帧图像称为当前编码图像。同样,对数字视频信号的压缩后的视频码流(简称码流也称为比特流)进行解码就是对一帧一帧压缩图像的码流进行解码。在任一时刻,正在解码中的那一帧图像称为当前解码图像。当前编码图像或当前解码图像都统称为当前图像。
在几乎所有视频图像编码的国际标准如MPEG-1/2/4,H.264/AVC以及HEVC中,对一帧图像进行编码(以及相应的解码)时,把一帧图像划分成若干块M×M像素的子图像,称为编码块(从解码的角度也就是解码块,统称为编解码块)或编码单元(CU,Coding Unit),以CU为基本编码单位,对子图像一块一块进行编码。常用的M的大小是4,8,16,32,64。因此,对视频图像序列进行编码就是对各帧图像的各个编码单元即CU依次一个一个CU进行编码。在任一时刻,正在编码中的CU称为当前编码CU。同样,对视频图像序列的码流进行解码也是对各帧图像的各个CU依次一个一个CU进行解码,最终重构出整个视频图像序列。在任一时刻,正在解码中的CU称为当前解码CU。当前编码CU或当前解码CU统称为当前CU。
为适应一帧图像内各部分图像内容与性质的不同,有针对性地进行最有效的编码,一帧图像内各CU的大小可以是不同的,有的是8×8,有的是64×64,等等。为了使不同大小的CU能够无缝拼接起来,一帧图像通常先划分成大小完全相同具有N×N像素的最大编码单元(LCU,Largest Coding Unit),然后每个LCU再进一步划分成树状结构的多个大小不一定 相同的CU。因此,LCU也称为编码树单元(CTU,Coding Tree Unit)。例如,一帧图像先划分成大小完全相同的64×64像素的LCU(N=64)。其中某个LCU由3个32×32像素的CU和4个16×16像素的CU构成,这样7个成树状结构的CU构成一个CTU。而另一个LCU由2个32×32像素的CU、3个16×16像素的CU和20个8×8像素的CU构成。这样25个成树状结构的CU构成另一个CTU。对一帧图像进行编码,就是依次对一个一个CTU中的一个一个CU进行编码。在HEVC国际标准中,LCU与CTU是同义词。大小等于CTU的CU称为深度为0的CU。深度为0的CU上下左右四等分得到的CU称为深度为1的CU。深度为1的CU上下左右四等分得到的CU称为深度为2的CU。深度为2的CU上下左右四等分得到的CU称为深度为3的CU。在任一时刻,正在编码中的CTU称为当前编码CTU。在任一时刻,正在解码中的CTU称为当前解码CTU。当前编码CTU或当前解码CTU统称为当前CTU。
CU也可以再进一步被划分成若干子区域。子区域包括但不限于预测单元(PU),变换单元(TU),不对称划分(AMP)的区域。
一个彩色像素通常有3个分量(component)组成。最常用的两种像素色彩格式(pi×el color format)是由绿色分量、蓝色分量、红色分量组成的GBR色彩格式和由一个亮度(luma)分量及两个色度(chroma)分量组成的YUV色彩格式。通称为YUV的色彩格式实际包括多种色彩格式,如YCbCr色彩格式。因此,对一个CU进行编码时,可以把一个CU分成3个分量平面(G平面、B平面、R平面或Y平面、U平面、V平面),对3个分量平面分别进行编码;也可以把一个像素的3个分量捆绑组合成一个3元组,对由这些3元组组成的CU整体进行编码。前一种像素及其分量的排列方式称为图像(及其CU)的平面格式(planar format),而后一种像素及其分量的排列方式称为图像(及其CU)的叠包格式(packed format)。像素 的GBR色彩格式和YUV色彩格式都是像素的3分量表现格式。
除了像素的3分量表现格式,像素的另一种常用的表现格式是调色板索引表现格式。在调色板索引表现格式中,一个像素的数值也可以用调色板的索引来表现。调色板空间中存储了需要被表现的像素的颜色的3个分量的数值或近似数值,调色板的地址被称为这个地址中存储的像素的颜色的索引。一个索引可以表现像素的颜色的一个分量,一个索引也可以表现像素的颜色的3个分量。调色板可以是一个,也可以是多个。在多个调色板的情形,一个完整的索引实际上由调色板序号(表示多个调色板中的哪一个)和该序号的调色板的索引两部分组成。像素的索引表现格式就是用索引来表现这个像素。如果一个图像区域(如编码块或解码块)中的像素不能全部都用调色板颜色来表现(即对该图像区域中至少一个像素,没有3个分量的数值与该像素相等或近似相等的调色板颜色及其索引),则调色板中通常有一个特殊的称为逃逸颜色的索引,用来表现不能用正常的调色板颜色来表现的像素。因此,如果一个像素的索引是逃逸颜色的索引,则该像素需要用另外的专用的3个分量来表现其颜色。调色板中的正常颜色和逃逸颜色都称为调色板颜色,但逃逸颜色是一个虚拟颜色,在调色板中并没有一个物理空间来存放这个颜色,只有一个特殊的专门的虚拟的索引。逃逸颜色的索引通常是调色板的最后一个索引。像素的索引表现格式也被称为像素的索引颜色(inde×ed color)或仿颜色(pseudo color)表现格式,或者常常被直接称为索引像素(inde×ed pi×el)或仿像素(pseudo pi×el)或像素索引或索引。索引有时也被称为指数。把像素用其索引表现格式来表现也称为索引化或指数化。
其他的常用的像素表现格式包括CMYK表现格式和灰度表现格式。
YUV色彩格式又可根据是否对色度分量进行下采样再细分成若干种子格式:1个像素由1个Y分量、1个U分量、1个V分量组成的YUV4:4:4 像素色彩格式;左右相邻的2个像素由2个Y分量、1个U分量、1个V分量组成的YUV4:2:2像素色彩格式;左右上下相邻按2×2空间位置排列的4个像素由4个Y分量、1个U分量、1个V分量组成的YUV4:2:0像素色彩格式。一个分量一般用1个8~16比特的数字来表示。YUV4:2:2像素色彩格式和YUV4:2:0像素色彩格式都是对YUV4:4:4像素色彩格式施行色度分量的下采样得到。一个像素分量也称为一个像素样值(pi×el sample)或简单地称为一个样值(sample)。
编码或解码时的最基本元素可以是一个像素,也可以是一个像素分量,也可以是一个像素索引(即索引像素)。作为编码或解码的最基本元素的一个像素或一个像素分量或一个索引像素统称为一个像素样值,有时也通称为一个像素值,或简单地称为一个样值。
在本发明实施例中,“像素样值”、“像素值”、“样值”、“索引像素”、“像素索引”是同义词,根据上下文,可以明确是表示“像素”还是表示“一个像素分量”还是表示“索引像素”或者同时表示三者之任一。如果从上下文不能明确,那么就是同时表示三者之任一。
在本发明实施例中,编码块或解码块(统称为编解码块)是由若干像素值组成的一个区域。编解码块的形状可以是矩形、正方形、平行四边形、梯形、多边形、圆形、椭圆形及其他各种形状。矩形也包括宽度或高度为一个像素值的退化为线(即线段或线形)的矩形。一帧图像中,各个编解码块可以具有各不相同的形状和大小。一帧图像中,某些或全部编解码块可以有互相重叠部分,也可以所有编解码块都互不重叠。一个编解码块,可以由“像素”组成,也可以由“像素的分量”组成,也可以由“索引像素”组成,也可以由这3者混合组成,也可以由这3者中之任意2种混合组成。从视频图像编码或解码的角度,编解码块是指一帧图像中对其施行编码或解码的一个区域,包括但不限于以下至少一种:最大编码单元LCU、 编码树单元CTU、编码单元CU、CU的子区域、预测单元PU、变换单元TU。
计算机屏幕图像的一个显著特点是同一帧图像内通常会有很多相似甚至完全相同的像素图样(pi×el pattern)。例如,计算机屏幕图像中常出现的中文或外文文字,都是由少数几种基本笔划所构成,同一帧图像内可以找到很多相似或相同的笔划。计算机屏幕图像中常见的菜单、图标等,也具有很多相似或相同的图样。因此,图像和视频压缩技术采用的复制方式,至少包括下列复制方式:
1)帧内块复制即帧内块匹配或称帧内运动补偿或称块匹配或称块复制。块复制编码或解码的基本运算是对一个当前编码块或当前解码块(简称为当前块),从重构参考像素样值集内复制一个与当前块同样大小(同样像素样值的数目)的参考块,并将所述参考块的数值赋值予当前块。块复制方式的复制参数包括当前块的位移矢量,表示参考块与当前块之间的相对位置。一个当前块有一个位移矢量。
2)帧内微块复制即帧内微块匹配或称微块匹配或称微块复制。在微块复制中,把一个当前块(如8×8像素样值)分成几个微块(如4×2像素样值的微块或8×2像素样值的微块或2×4像素样值的微块或2×8像素样值的微块),微块复制编码或解码的基本运算是对当前块中的每一个编码微块或解码微块(简称为当前微块),从重构参考像素样值集内复制一个参考微块,并将所述参考微块的数值赋值予当前微块。微块复制方式的复制参数包括当前微块的位移矢量,表示参考微块与当前微块之间的相对位置。一个当前微块有一个位移矢量。一个当前块分成多少个微块就有多少个位移矢量。
3)帧内线条(简称条)复制即帧内条匹配或称条匹配或称条复制。条是高度为1或宽度为1的微块,如4×1或8×1或1×4或1×8像素样值的微块。条复制编码或解码的基本运算是对当前块中的每一个编码条或解码条 (简称为当前条),从重构参考像素样值集内复制一个参考条,并将所述参考条的数值赋值予当前条。显然,条复制是微块复制的一种特殊情况。条复制方式的复制参数包括当前条的位移矢量,表示参考条与当前条之间的相对位置。一个当前条有一个位移矢量。一个当前块分成多少个条就有多少个位移矢量。
4)帧内串复制即帧内串匹配或称串匹配或称串复制或称像素串复制。在像素串复制中,把一个当前编码块或一个当前解码块(简称为当前块)分成几个长度可变的像素样值串。这里的串是指把一个任意形状的二维区域内的像素样值排列成一个长度远大于宽度的串(如宽度为1个像素样值而长度为37个像素样值的串或宽度为2个像素样值而长度为111个像素样值的串,通常但不限于长度是一个独立编码或解码参数而宽度是一个预定的或由其他编码或解码参数导出的参数)。串复制编码或解码的基本运算是对当前块中的每一个编码串或解码串(简称为当前串),从重构参考像素样值集内复制一个参考串,并将所述参考串的数值赋值予当前串。串复制方式的复制参数包括当前串的位移矢量和复制长度即复制大小,分别表示参考串与当前串之间的相对位置和当前串的长度即像素样值的数目。当前串的长度也是参考串的长度。一个当前串有一个位移矢量和一个复制长度。一个当前块分成多少个串就有多少个位移矢量和多少个复制长度。位移矢量也称为复制位置,其表现形式有:2维坐标、线性地址、距离、指针、索引、编号、模式号等。
5)调色板索引串复制即调色板或称索引串复制。在调色板编码和对应的解码方式中,首先构造或获取一个调色板,然后将当前编码块或当前解码块(简称为当前块)的部分或全部像素用调色板中的调色板颜色的索引来表现,再对索引进行编码和解码,包括但不限于:把一个当前块的索引分成几个长度可变的索引串,即进行索引串复制编码和解码。索引串复制 编码或解码的基本运算是对当前块中的每一个索引编码串或索引解码串(简称为当前索引串),从索引化的重构参考像素样值集内复制一个参考索引串,并将所述参考索引串的索引数值赋值予当前索引串。索引串复制方式的复制参数包括当前索引串的位移矢量和复制长度即复制大小,分别表示参考索引串与当前索引串之间的相对位置和当前索引串的长度即对应的像素样值的数目。当前索引串的长度也是参考索引串的长度。一个当前索引串有一个位移矢量和一个复制长度。一个当前块分成多少个索引串就有多少个位移矢量和多少个复制长度。位移矢量也称为复制位置,其表现形式有:2维坐标、线性地址、距离、指针、索引、编号、模式号等。在调色板索引串复制方式中,复制的参考像素取自调色板。所以,索引串也称为调色板颜色串或调色板像素串或调色板串,索引串复制方式也称为调色板复制方式或调色板方式。在调色板方式中,串也称为游程或行程。因此,索引串也称为索引游程或索引行程或简称为游程或行程。当前块的调色板颜色来源于当前块的像素颜色和/或调色板颜色候选集,而调色板颜色候选集由已完成编解码的编解码块的调色板颜色的一部分累积组成。
6)索引串复制与像素串复制混合的融合复制方式,简称索引-像素串融合复制方式,也称调色板-像素串融合复制方式或融合像素串复制的调色板方式或融合调色板的像素串复制方式或调色板与像素串复制方式。对一个当前编码块或当前解码块(简称为当前块)进行编码或解码时,部分或全部像素采用像素串复制方式,部分或全部像素采用索引串复制方式即参考像素取自调色板的调色板方式。
7)结合多种调色板与像素串复制方式的多重调色板与像素串复制方式。采用至少两种不同的调色板与像素串复制方式进行编码和解码。不同的调色板与像素串复制方式采用不同的融合方案来融合调色板复制与像素串复制。在一帧图像中,部分编解码块采用融合方案I的调色板与像素串复 制方式,部分编解码块采用融合方案II的调色板与像素串复制方式,部分编解码块采用融合方案III的调色板与像素串复制方式,等等。不同的融合方案主要在下列方面可能有所不同:1)串的种类的数目,2)参数的取值范围,3)一个或若干复制参数的取值范围,4)复制位置即位移矢量的取值范围,5)当前索引或当前像素的位置,6)当前样值段的位置,7)参考索引或参考像素的位置,8)参考样值段的位置;9)复制形状。
其他的复制方式还包括矩形复制方式、以及若干种复制方式混合的复制方式等。
块复制方式中的块,微块复制方式中的微块,条复制方式中的条,串复制方式中的串,矩形复制方式中的矩形,调色板索引方式中的像素索引串,统称为像素样值段,简称样值段。样值段的基本组成元素是像素或像素分量或像素索引。一个样值段有一个复制参数,用来表示当前像素样值段与参考像素样值段之间的关系。因此,一个样值段是具有同样复制关系的一次复制操作的最小单位。一个复制参数包括若干复制参数分量,复制参数分量至少包括:位移矢量水平分量、位移矢量垂直分量、1维位移矢量、线性地址、相对线性地址、索引、调色板线性地址、相对索引、调色板相对线性地址、复制长度、复制宽度、复制高度、矩形宽度、矩形长度、未匹配像素(又称无参考像素,即不是从其他地方复制过来的非复制像素)。
在各种复制方式中,像素样值或索引需要按照一定顺序排列。排列方式也称为扫描方式。扫描方式根据其路径形状,可分为下列几种:
A)水平Z形扫描方式又称水平光栅扫描方式。一个编码块或解码块(统称为编解码块)的像素样值或索引,一行一行排列,在所有的行内都按照同一方向(全部从左向右或者全部从右向左)排列。行与行之间可以从上向下排列,也可以从下向上排列。
B)垂直Z形扫描方式又称垂直光栅扫描方式。一个编码块或解码块(统 称为编解码块)的像素样值或索引,一列一列排列,在所有的列内都按照同一方向(全部从上向下或者全部从下向上)排列。列与列之间可以从左向右排列,也可以从右向左排列。
C)水平弓形扫描方式。一个编码块或解码块(统称为编解码块)的像素样值或索引,一行一行排列,在奇数行内按照一个方向(如:从左向右)排列而在偶数行内按照另一个(相反)方向(如:从右向左)排列。行与行之间可以从上向下排列,也可以从下向上排列。
D)垂直弓形扫描方式。一个编码块或解码块(统称为编解码块)的像素样值或索引,一列一列排列,在奇数列内按照一个方向(如:从上向下)排列而在偶数列内按照另一个(相反)方向(如:从下向上)排列。列与列之间可以从左向右排列,也可以从右向左排列。
串复制(索引串复制或像素串复制或索引串-像素串融合复制)方式中,基本复制形状有下列2种:
I)一维线性复制形状。当前串和参考串都是在各个编解码块内按照预定的扫描方式的顺序排列形成的一维样值串,具有相等的长度,但这两个串各自形成的二维区域不一定有相同的二维形状。
II)二维保形复制形状。当前串在当前编解码块内按照预定的扫描方式的顺序排列。参考串与当前串保持完全相同的二维形状,具有相等的长度。
以上每种基本复制形状又可根据具体的扫描方式细分为多种复制形状,如垂直弓形一维线性复制形状、水平Z形二维保形复制形状等。
需要说明的是,“复制”是重构和解码的操作,对应的编码操作是“匹配”。因此,各种复制方式如块匹配方式、微块复制方式、线条复制方式、像素串复制方式、索引串复制方式等也称为块匹配方式、微块匹配方式、线条匹配方式、像素串匹配方式、索引串匹配方式等。
一类参考像素样值集是当前像素样值段邻近或附近的一个参考区域。 参考区域都是有限的,因此,复制位置即移动矢量的取值范围也是有限。在各种复制方式中,对移动矢量进行编码或解码时,都没有对移动矢量的取值范围进行限制,因而消耗了不必要的比特数,在很大程度上降低了复制方式的压缩效率,特别是在一个编解码块中具有多个移动矢量的多像素段复制方式,如微块复制方式、条复制方式、像素串复制方式、调色板与像素串复制方式,的压缩效率。
基于此,本发明实施例提供了一种图像编码及解码方法、图像处理设备。在对移动矢量进行编解码之前,首先对移动矢量的取值范围进行限制。
本发明实施例中,一个或多个编解码块的参考区域的大小是固定的。本发明实施例中,一个或多个编解码块的参考区域的大小是有界的。本发明实施例中,一个或多个编解码块的参考区域的大小是自适应受限制的,即所述限制由所述编解码块的其他性质(如,所述编解码块的位置,或所述编解码块与图像中其他区域的像素的相似性,等)所确定。本发明实施例中,一个或多个编解码块的参考区域的位置是固定的。本发明实施例中,一个或多个编解码块的参考区域的位置是自适应受限制的,即所述限制由所述编解码块的其他性质(如,所述编解码块的位置,或所述编解码块与图像中其他区域的像素的相似性,等)所确定。本发明实施例中,一个或多个当前像素样值段的移动矢量的取值范围是固定的。本发明实施例中,一个或多个当前像素样值段的移动矢量的取值范围是有界的。本发明实施例中,一个或多个当前像素样值段的移动矢量的取值范围是自适应受限制的,即所述限制由所述当前像素样值段的其他性质(如,所述当前像素样值段的位置,或所述当前像素样值段的位置,或所述当前像素样值段与图像中其他区域的像素的相似性,等)所确定。
本发明实施例的技术方案中,一个编解码块的参考区域的的大小和位置是受到限制的,不同的编解码块的参考区域的的大小和位置的限制可以 是不同的,是自适应和动态变化的。一个当前像素样值段的移动矢量的取值范围是受到限制的,不同的当前像素样值段的移动矢量的取值范围的限制可以是不同的,是自适应和动态变化的。
本发明实施例的技术方案中,在复制方式特别是多像素段复制方式中,参考区域是自适应和动态受到限制的区域,移动矢量的取值范围是自适应和动态受到限制的取值范围,根据移动矢量的取值范围的所述限制,对移动矢量施行自限编解码即自适应和动态受到限制的编解码。
上述方案中,所述自限编解码至少包括具有与所述限制对应的截断值的二值化方法和熵编解码。
上述方案中,所述自限编解码至少包括具有与所述限制对应的截断值的截断k阶指数哥伦布码二值化方法和熵编解码,其中k≥0。
上述方案中,所述截断k阶指数哥伦布码是其前缀和/或其后缀具有截断值的k阶指数哥伦布码。
上述方案中,所述自限编解码至少包括把一组若干个移动矢量分解成一个主移动矢量和若干个从移动矢量。
上述方案中,所述自适应和动态受到限制的区域是与当前编解码块具有同样大小和形状的K(K≥1)个子参考区域,所述自限编解码至少包括把所述当前编解码块的移动矢量分成对应的K组,把每一组的各个移动矢量都分解成一个共同的主移动矢量和各个从移动矢量。
上述方案中,在视频码流的视频参数集和/或序列参数集和/或图像参数集和/或条带头和/或CTU头和/或CU头和/或编解码块头的一处或若干处用一个或几个语法元素对参考区域进行指定和限制。
本发明实施例中,在视频码流的视频参数集和/或序列参数集和/或图像参数集和/或条带头和/或CTU头和/或CU头和/或编解码块头的一处或若干处用一个或几个语法元素对移动矢量的取值范围进行指定和限制。
图1为本发明实施例的图像编码方法的流程示意图一,如图1所示,所述图像编码方法包括以下步骤:
步骤101:依据参考区域的大小,获取当前编码样值段的复制参数的动态界限。
步骤102:根据所述动态界限对所述复制参数进行编码,生成包括参考区域大小信息和复制参数信息的视频码流。
本发明实施例的上述方案中,将参考区域大小信息和/或参考区域位置与大小信息和/或移动矢量的取值范围信息的编码比特写入所述视频码流的以下一处或多处:
视频参数集、序列参数集、图像参数集、条带头、CTU头、CU头、编解码块头。
其中,视频参数集:通常是视频参数集的一个或几个直接存在或隐含推导的语法元素;
序列参数集:通常是序列参数集的一个或几个直接存在或隐含推导的语法元素;
图像参数集:通常是图像参数集的一个或几个直接存在或隐含推导的语法元素;
条带头:通常是条带头的一个或几个直接存在或隐含推导的语法元素;
CTU头:通常是CTU头的一个或几个直接存在或隐含推导的语法元素;
CU头:通常是CU头的一个或几个直接存在或隐含推导的语法元素;
编解码块头:通常是编解码块头的一个或几个直接存在或隐含推导的语法元素。
本发明实施例的上述方案中,所述复制参数是移动矢量。
本发明实施例的上述方案中,所述复制参数的动态界限是移动矢量的动态上限、动态下限、动态左限、动态右限中的一个、或多个或全部。
本发明实施例的上述方案中,根据所述动态界限,对复制参数进行具有与所述动态界限对应的截断值的截断k阶指数哥伦布码二值化和熵编码,其中,k≥0。
图2为本发明实施例的图像解码方法的流程示意图一,如图2所示,所述图像解码方法包括以下步骤:
步骤201:解析视频码流,获取解码样值段的复制参数的动态界限。
步骤202:根据所述动态界限对所述复制参数进行解码。
本发明实施例的上述方案中,所述解析视频码流,获取解码样值段的复制参数的动态界限,包括:
解析所述视频码流,获取以下信息至少之一:参考区域大小信息、参考区域位置与大小信息、移动矢量的取值范围信息;
根据所获取的信息,确定所述解码样值段的复制参数的动态界限。
本发明实施例的上述方案中,在根据所述动态界限对所述复制参数进行解码之前,还包括:
解析码流,获取复制参数信息。
本发明实施例的上述方案中,解析所述视频码流中以下一处或多处对应码流,获得以下信息至少之一:参考区域大小信息、参考区域位置与大小信息、移动矢量的取值范围信息,包括:
视频参数集、序列参数集、图像参数集、条带头、CTU头、CU头、编解码块头。
本发明实施例的上述方案中,所述复制参数是移动矢量。
本发明实施例的上述方案中,所述复制参数的动态界限是移动矢量的动态上限、动态下限、动态左限、动态右限中的一个、或多个或全部。
本发明实施例的上述方案中,根据所述动态界限,对复制参数进行具有与所述动态界限对应的截断值的截断k阶指数哥伦布码二值化和熵解码, 其中,k≥0。
图3为本发明实施例的图像编码方法的流程示意图二,如图3所示,所述图像编码方法包括以下步骤:
步骤301:根据参考区域的动态位置与大小,对编码样值段的复制参数进行编码。
步骤302:生成包括参考区域位置与大小信息和复制参数信息的视频码流。
本发明实施例的上述方案中,将所述参考区域大小信息和/或参考区域位置与大小信息和/或移动矢量的取值范围信息的编码比特写入所述视频码流的以下一处或多处:
视频参数集、序列参数集、图像参数集、条带头、CTU头、CU头、编解码块头。
本发明实施例的上述方案中,所述复制参数是移动矢量。
本发明实施例的上述方案中,所述复制参数的动态界限是移动矢量的动态上限、动态下限、动态左限、动态右限中的一个、多个或全部。
本发明实施例的上述方案中,所述参考区域的动态位置由一个或多个区域移动矢量表示。
本发明实施例的上述方案中,根据参考区域的动态位置与大小对所述编码样值段的移动矢量进行编码时,所述参考区域由K个与所述编解码块同样形状和大小的子参考区域组成;其中,K≥1;
K个所述子参考区域的动态位置分别由对应的K个子参考区域移动矢量表示,将当前编解码样值段的移动矢量分解成一个主移动矢量和一个从移动矢量,其中,所述主移动矢量等于所述参考样值段所在子参考区域的子参考区域移动矢量。
图4为本发明实施例的图像解码方法的流程示意图二,如图4所示, 所述图像解码方法包括以下步骤:
步骤401:解析视频码流,至少获取参考区域位置及大小信息和复制参数信息。
步骤402:根据参考区域的动态位置与大小对当前解码样值段的复制参数进行解码。
本发明实施例的上述方案中,解析所述视频码流中的以下一处或多处对应码流,获得以下信息至少之一:参考区域大小信息、参考区域位置与大小信息、移动矢量的取值范围信息,包括:
视频参数集、序列参数集、图像参数集、条带头、CTU头、CU头、编解码块头。
本发明实施例的上述方案中,所述复制参数是移动矢量。
本发明实施例的上述方案中,所述复制参数的动态界限是移动矢量的动态上限、动态下限、动态左限、动态右限中的一个、或多个或全部。
本发明实施例的上述方案中,所述参考区域的动态位置由一个或多个区域移动矢量表示。
本发明实施例的上述方案中,根据参考区域的动态位置与大小对当前解码样值段的移动矢量进行解码时,所述参考区域由K个与当前编解码块同样形状和大小的子参考区域组成;其中,K≥1;
K个所述子参考区域的动态位置分别由对应的K个子参考区域移动矢量表示,将当前编解码样值段的移动矢量分解成一个主移动矢量和一个从移动矢量,其中,所述主移动矢量等于当前参考样值段所在子参考区域的子参考区域移动矢量。
图5(a)为本发明实施例的图像编码方法的流程示意图三,如图所示,所述流程中:
采用至少包括下列功能和操作的复制方式进行编码并产生至少含参考 区域大小信息和复制参数信息的视频码流:从参考区域的大小获取当前编码样值段的复制参数的动态界限,根据所述动态界限对所述复制参数进行编码。
图5(b)为本发明实施例的图像编码方法的流程示意图四,如图所示,所述流程中:
采用至少包括下列功能和操作的复制方式进行编码并产生至少含参考区域位置与大小信息和复制参数信息的视频码流:根据参考区域的动态位置与大小对当前编码样值段的复制参数进行编码。
在一实施方式中,所述复制参数是移动矢量。图6是一个例。
在一实施方式中,所述参考区域是当前CTU以及邻近的若干CTU,从而参考区域大小是当前CTU以及邻近的若干CTU的大小。图6(a)是一个例。
在一实施方式中,所述复制参数的动态界限是移动矢量的动态上限、动态下限、动态左限、动态右限。图6(a)是一个例。
在一实施方式中,根据所述动态界限对复制参数进行具有与所述动态界限对应的截断值的二值化和熵编码。
在一实施方式中,根据所述动态界限对复制参数进行具有与所述动态界限对应的截断值的截断k阶指数哥伦布码二值化和熵编码,其中k≥0。
在一实施方式中,所述截断k阶指数哥伦布码是其前缀和/或其后缀具有截断值的k阶指数哥伦布码。
在一实施方式中,所述参考区域的动态位置由一个或几个区域移动矢量来表示。图6(b)中的主移动矢量是一个例。
在一实施方式中,所述参考区域的动态位置由一个或几个区域移动矢量来表示,而所述参考区域的大小是一个或几个当前编码块的大小。图6(b)是一个例。
在一实施方式中,所述参考区域由一个或几个与当前编码块同样形状和大小的区域组成,而所述参考区域的动态位置由对应的一个或几个区域移动矢量来表示。图6(b)是一个例。
在一实施方式中,根据参考区域的动态位置与大小对当前编码样值段的移动矢量进行编码时,把一组若干个当前编码样值段的移动矢量分解成一个主移动矢量和若干个从移动矢量。图6(b)是一个例。
在一实施方式中,根据参考区域的动态位置与大小对当前编码样值段的移动矢量进行编码时,所述参考区域由K(K≥1)个与当前编码块同样形状和大小的子参考区域组成,而K个所述子参考区域的动态位置分别由对应的K(K≥1)个子参考区域移动矢量来表示,将当前编码样值段的移动矢量分解成一个主移动矢量和一个从移动矢量,所述主移动矢量等于当前参考样值段所在子参考区域的子参考区域移动矢量。图6(b)是一个例。
在一实施方式中,所述参考区域大小信息存在于视频码流的视频参数集和/或序列参数集和/或图像参数集和/或条带头和/或CTU头和/或CU头和/或编解码块头的一处或若干处。
在一实施方式中,所述参考区域位置与大小信息存在于视频码流的视频参数集和/或序列参数集和/或图像参数集和/或条带头和/或CTU头和/或CU头和/或编解码块头的一处或若干处。
图7(a)为本发明实施例的图像解码方法的流程示意图三,如图所示,所述流程中:
解析视频码流,至少获取参考区域大小信息和复制参数信息,采用至少包括下列功能和操作的复制方式进行解码:从参考区域的大小获取当前解码样值段的复制参数的动态界限,根据所述动态界限对所述复制参数进行解码。
图7(b)为本发明实施例的图像解码方法的流程示意图四,如图所示, 所述流程中:
解析视频码流,至少获取参考区域位置与大小信息和复制参数信息,采用至少包括下列功能和操作的复制方式进行解码:根据参考区域的动态位置与大小对当前解码样值段的复制参数进行解码。
在一实施方式中,所述复制参数是移动矢量。图6是一个例。
在一实施方式中,所述参考区域是当前CTU以及邻近的若干CTU,从而参考区域大小是当前CTU以及邻近的若干CTU的大小。图6(a)是一个例。
在一实施方式中,所述复制参数的动态界限是移动矢量的动态上限、动态下限、动态左限、动态右限。图6(a)是一个例。
在一实施方式中,根据所述动态界限对复制参数进行具有与所述动态界限对应的截断值的二值化和熵解码。
在一实施方式中,根据所述动态界限对复制参数进行具有与所述动态界限对应的截断值的截断k阶指数哥伦布码二值化和熵解码,其中k≥0。
在一实施方式中,所述截断k阶指数哥伦布码是其前缀和/或其后缀具有截断值的k阶指数哥伦布码。
在一实施方式中,所述参考区域的动态位置由一个或几个区域移动矢量来表示。图6(b)中的主移动矢量是一个例。
在一实施方式中,所述参考区域的动态位置由一个或几个区域移动矢量来表示,而所述参考区域的大小是一个或几个当前解码块的大小。图6(b)是一个例。
在一实施方式中,所述参考区域由一个或几个与当前解码块同样形状和大小的区域组成,而所述参考区域的动态位置由对应的一个或几个区域移动矢量来表示。图6(b)是一个例。
在一实施方式中,根据参考区域的动态位置与大小对当前解码样值段 的移动矢量进行解码时,把一组若干个当前解码样值段的移动矢量分解成一个主移动矢量和若干个从移动矢量。图6(b)是一个例。
在一实施方式中,根据参考区域的动态位置与大小对当前解码样值段的移动矢量进行解码时,所述参考区域由K(K≥1)个与当前解码块同样形状和大小的子参考区域组成,而K个所述子参考区域的动态位置分别由对应的K(K≥1)个子参考区域移动矢量来表示,将当前解码样值段的移动矢量分解成一个主移动矢量和一个从移动矢量,所述主移动矢量等于当前参考样值段所在子参考区域的子参考区域移动矢量。图6(b)是一个例。
在一实施方式中,所述参考区域大小信息存在于视频码流的视频参数集和/或序列参数集和/或图像参数集和/或条带头和/或CTU头和/或CU头和/或编解码块头的一处或若干处。
在一实施方式中,所述参考区域位置与大小信息存在于视频码流的视频参数集和/或序列参数集和/或图像参数集和/或条带头和/或CTU头和/或CU头和/或编解码块头的一处或若干处。
本发明适用于叠包格式图像的编码和解码。本发明也同样适用于分量平面格式图像的编码和解码。
图8为本发明实施例的图像处理设备的结构组成示意图一,所述图像处理设备能够对图像进行编码,如图8所示,所述图像处理设备包括:
第一获取单元81,配置为依据参考区域的大小,获取当前编码样值段的复制参数的动态界限;
编码单元82,配置为根据所述动态界限对所述复制参数进行编码;
生成单元83,配置为生成包括参考区域大小信息和复制参数信息的视频码流。
本领域技术人员应当理解,图8所示的图像处理设备中的各单元的实现功能可参照前述图像编码方法的相关描述而理解。图8所示的图像处理 设备中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
在实际应用中,所述图像处理设备中的各个单元所实现的功能,均可由位于图像处理设备中的中央处理器(Central Processing Unit,CPU)、或微处理器(Micro Processor Unit,MPU)、或数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。
图9为本发明实施例的图像处理设备的结构组成示意图二,所述图像处理设备能够对图像进行解码,如图9所示,所述图像处理设备包括:
解析单元91,配置为解析视频码流,获取解码样值段的复制参数的动态界限;
解码单元92,配置为根据所述动态界限对所述复制参数进行解码。
本领域技术人员应当理解,图9所示的图像处理设备中的各单元的实现功能可参照前述图像解码方法的相关描述而理解。图9所示的图像处理设备中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。
在实际应用中,所述图像处理设备中的各个单元所实现的功能,均可由位于图像处理设备中的中央处理器(Central Processing Unit,CPU)、或微处理器(Micro Processor Unit,MPU)、或数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。
图10为本发明实施例的图像处理设备的结构组成示意图三,所述图像处理设备能够对图像进行编码,如图10所示,所述图像处理设备包括:
编码单元1001,配置为根据参考区域的动态位置与大小,对编码样值段的复制参数进行编码;
生成单元1002,配置为生成包括参考区域位置与大小信息和复制参数信息的视频码流。
在实际应用中,所述图像处理设备中的各个单元所实现的功能,均可由位于图像处理设备中的中央处理器(Central Processing Unit,CPU)、或微处理器(Micro Processor Unit,MPU)、或数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。
图11为本发明实施例的图像处理设备的结构组成示意图四,所述图像处理设备能够对图像进行解码,如图11所示,所述图像处理设备包括:
解析单元1101,配置为解析视频码流,至少获取参考区域位置及大小信息和复制参数信息;
解码单元1102,配置为根据参考区域的动态位置与大小对当前解码样值段的复制参数进行解码。
在实际应用中,所述图像处理设备中的各个单元所实现的功能,均可由位于图像处理设备中的中央处理器(Central Processing Unit,CPU)、或微处理器(Micro Processor Unit,MPU)、或数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明实施例上述图像处理设备如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。 基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
相应地,本发明实施例还提供一种计算机存储介质,其中存储有计算机程序,该计算机程序用于执行本发明实施例的图像编码方法和/或图像解码方法。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现 在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
工业实用性
本发明实施例的技术方案,依据参考区域的大小,获取当前编码样值段的复制参数的动态界限;根据所述动态界限对所述复制参数进行编码;生成包括参考区域大小信息和复制参数信息的视频码流。解析视频码流,获取解码样值段的复制参数的动态界限;根据所述动态界限对所述复制参数进行解码。此外,根据参考区域的动态位置与大小,对编码样值段的复制参数进行编码;生成包括参考区域位置与大小信息和复制参数信息的视频码流。解析视频码流,至少获取参考区域位置及大小信息和复制参数信息;根据参考区域的动态位置与大小对当前解码样值段的复制参数进行解码。如此,在各种复制方式中,对移动矢量进行编码或解码时,对移动矢量的取值范围进行了限制,节省了比特数,提升了复制方式的压缩效率。

Claims (29)

  1. 一种图像编码方法,所述方法包括:
    依据参考区域的大小,获取当前编码样值段的复制参数的动态界限;
    根据所述动态界限对所述复制参数进行编码,生成包括参考区域大小信息和复制参数信息的视频码流。
  2. 根据权利要求1所述的图像编码方法,其中,将参考区域大小信息和/或参考区域位置与大小信息和/或移动矢量的取值范围信息的编码比特写入所述视频码流的以下一处或多处:
    视频参数集、序列参数集、图像参数集、条带头、编码树单元CTU头、编码单元CU头、编解码块头。
  3. 根据权利要求1所述的图像编码方法,其中,所述复制参数是移动矢量。
  4. 根据权利要求1所述的图像编码方法,其中,所述复制参数的动态界限是移动矢量的动态上限、动态下限、动态左限、动态右限中的一个、或多个或全部。
  5. 根据权利要求1所述的图像编码方法,其中,所述方法还包括:
    根据所述动态界限,对复制参数进行具有与所述动态界限对应的截断值的截断k阶指数哥伦布码二值化和熵编码,其中,k≥0。
  6. 一种图像解码方法,所述方法包括:
    解析视频码流,获取解码样值段的复制参数的动态界限;
    根据所述动态界限对所述复制参数进行解码。
  7. 根据权利要求6所述的图像解码方法,其中,所述解析视频码流,获取解码样值段的复制参数的动态界限,包括:
    解析所述视频码流,获取以下信息至少之一:参考区域大小信息、参考区域位置与大小信息、移动矢量的取值范围信息;
    根据所获取的信息,确定所述解码样值段的复制参数的动态界限。
  8. 根据权利要求6所述的图像解码方法,其中,在根据所述动态界限对所述复制参数进行解码之前,还包括:
    解析码流,获取复制参数信息。
  9. 根据权利要求7所述的图像解码方法,其中,解析所述视频码流中以下一处或多处对应码流,获得以下信息至少之一:参考区域大小信息、参考区域位置与大小信息、移动矢量的取值范围信息,包括:
    视频参数集、序列参数集、图像参数集、条带头、CTU头、CU头、编解码块头。
  10. 根据权利要求6所述的图像解码方法,其中,所述复制参数是移动矢量。
  11. 根据权利要求6所述的图像解码方法,其中,所述复制参数的动态界限是移动矢量的动态上限、动态下限、动态左限、动态右限中的一个、或多个或全部。
  12. 根据权利要求6所述的图像解码方法,其中,所述方法还包括:
    根据所述动态界限,对复制参数进行具有与所述动态界限对应的截断值的截断k阶指数哥伦布码二值化和熵解码,其中,k≥0。
  13. 一种图像编码方法,所述方法包括:
    根据参考区域的动态位置与大小,对编码样值段的复制参数进行编码;
    生成包括参考区域位置与大小信息和复制参数信息的视频码流。
  14. 根据权利要求13所述的图像编码方法,其中,将所述参考区域大小信息和/或参考区域位置与大小信息和/或移动矢量的取值范围信息的编码比特写入所述视频码流的以下一处或多处:
    视频参数集、序列参数集、图像参数集、条带头、CTU头、CU头、编解码块头。
  15. 根据权利要求13所述的图像编码方法,其中,所述复制参数是移动矢量。
  16. 根据权利要求13所述的图像编码方法,其中,所述复制参数的动态界限是移动矢量的动态上限、动态下限、动态左限、动态右限中的一个、多个或全部。
  17. 根据权利要求13所述的图像编码方法,其中,所述参考区域的动态位置由一个或多个区域移动矢量表示。
  18. 根据权利要求17所述的图像编码方法,其中,根据参考区域的动态位置与大小对所述编码样值段的移动矢量进行编码时,所述参考区域由K个与所述编解码块同样形状和大小的子参考区域组成;其中,K≥1;
    K个所述子参考区域的动态位置分别由对应的K个子参考区域移动矢量表示,将当前编解码样值段的移动矢量分解成一个主移动矢量和一个从移动矢量,其中,所述主移动矢量等于所述参考样值段所在子参考区域的子参考区域移动矢量。
  19. 一种图像解码方法,所述方法包括:
    解析视频码流,至少获取参考区域位置及大小信息和复制参数信息;
    根据参考区域的动态位置与大小对当前解码样值段的复制参数进行解码。
  20. 根据权利要求19所述的图像解码方法,其中,解析所述视频码流中的以下一处或多处对应码流,获得以下信息至少之一:参考区域大小信息、参考区域位置与大小信息、移动矢量的取值范围信息,包括:
    视频参数集、序列参数集、图像参数集、条带头、CTU头、CU头、编解码块头。
  21. 根据权利要求19所述的图像解码方法,其中,所述复制参数是移动矢量。
  22. 根据权利要求19所述的图像解码方法,其中,所述复制参数的动态界限是移动矢量的动态上限、动态下限、动态左限、动态右限中的一个、或多个或全部。
  23. 根据权利要求19所述的图像解码方法,其中,所述参考区域的动态位置由一个或多个区域移动矢量表示。
  24. 根据权利要求23所述的图像解码方法,其中,根据参考区域的动态位置与大小对当前解码样值段的移动矢量进行解码时,所述参考区域由K个与当前编解码块同样形状和大小的子参考区域组成;其中,K≥1;
    K个所述子参考区域的动态位置分别由对应的K个子参考区域移动矢量表示,将当前编解码样值段的移动矢量分解成一个主移动矢量和一个从移动矢量,其中,所述主移动矢量等于当前参考样值段所在子参考区域的子参考区域移动矢量。
  25. 一种图像处理设备,所述设备包括:
    第一获取单元,配置为依据参考区域的大小,获取当前编码样值段的复制参数的动态界限;
    编码单元,配置为根据所述动态界限对所述复制参数进行编码;
    生成单元,配置为生成包括参考区域大小信息和复制参数信息的视频码流。
  26. 一种图像处理设备,所述设备包括:
    解析单元,配置为解析视频码流,获取解码样值段的复制参数的动态界限;
    解码单元,配置为根据所述动态界限对所述复制参数进行解码。
  27. 一种图像处理设备,所述设备包括:
    编码单元,配置为根据参考区域的动态位置与大小,对编码样值段的复制参数进行编码;
    生成单元,配置为生成包括参考区域位置与大小信息和复制参数信息的视频码流。
  28. 一种图像处理设备,所述设备包括:
    解析单元,配置为解析视频码流,至少获取参考区域位置及大小信息和复制参数信息;
    解码单元,配置为根据参考区域的动态位置与大小对当前解码样值段的复制参数进行解码。
  29. 一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行权利要求1-24任一项所述的图像编码方法和/或图像解码方法。
PCT/CN2016/085015 2015-06-14 2016-06-06 图像编码及解码方法、图像处理设备、计算机存储介质 WO2016202189A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP21178252.9A EP3896976A1 (en) 2015-06-14 2016-06-06 Image coding and decoding methods, image processing device, and computer storage medium
EP16810930.4A EP3310056A1 (en) 2015-06-14 2016-06-06 Image coding and decoding methods, image processing device, and computer storage medium
US15/736,006 US11159818B2 (en) 2015-06-14 2016-06-06 Image coding and decoding methods, image processing device and computer storage medium
US17/482,832 US11653019B2 (en) 2015-06-14 2021-09-23 Image coding and decoding methods, image processing device and computer storage medium

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201510322825 2015-06-14
CN201510322825.X 2015-06-14
CN201610364479.6 2016-05-27
CN201610364479.6A CN106254878B (zh) 2015-06-14 2016-05-27 一种图像编码及解码方法、图像处理设备

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/736,006 A-371-Of-International US11159818B2 (en) 2015-06-14 2016-06-06 Image coding and decoding methods, image processing device and computer storage medium
US17/482,832 Continuation US11653019B2 (en) 2015-06-14 2021-09-23 Image coding and decoding methods, image processing device and computer storage medium

Publications (1)

Publication Number Publication Date
WO2016202189A1 true WO2016202189A1 (zh) 2016-12-22

Family

ID=57544935

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/085015 WO2016202189A1 (zh) 2015-06-14 2016-06-06 图像编码及解码方法、图像处理设备、计算机存储介质

Country Status (1)

Country Link
WO (1) WO2016202189A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110662029A (zh) * 2018-06-30 2020-01-07 上海天荷电子信息有限公司 动态和自适应地限制取值范围的数据压缩方法和装置
CN112532990A (zh) * 2020-11-23 2021-03-19 绍兴文理学院 一种串长度参数编码、解码方法和装置
CN112601086A (zh) * 2020-12-07 2021-04-02 绍兴文理学院 一种串长度参数混合编码、解码方法及装置
CN113452995A (zh) * 2021-03-31 2021-09-28 同济大学 当前串与参考串有不同扫描方向的数据编解码方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040057515A1 (en) * 2002-09-20 2004-03-25 Shinichiro Koto Video encoding method and video decoding method
CN1703097A (zh) * 2004-05-26 2005-11-30 松下电器产业株式会社 编码运动矢量的设备和方法及其程序和介质
CN101094398A (zh) * 2006-06-20 2007-12-26 中兴通讯股份有限公司 一种基于时间分辨率变换的视频转换处理方法
CN101309405A (zh) * 2007-05-14 2008-11-19 华为技术有限公司 参考数据载入的方法及装置
CN101416524A (zh) * 2006-04-07 2009-04-22 微软公司 运动估计搜索范围和扩展的运动矢量范围的动态选择
US20120263231A1 (en) * 2011-04-18 2012-10-18 Minhua Zhou Temporal Motion Data Candidate Derivation in Video Coding
CN102939757A (zh) * 2010-06-04 2013-02-20 索尼公司 图像处理装置和方法
WO2013184949A1 (en) * 2012-06-08 2013-12-12 Qualcomm Incorporated Prediction mode information downsampling in enhancement layer coding
CN103647972A (zh) * 2008-12-03 2014-03-19 株式会社日立制作所 运动图像解码方法和运动图像编码方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040057515A1 (en) * 2002-09-20 2004-03-25 Shinichiro Koto Video encoding method and video decoding method
CN1703097A (zh) * 2004-05-26 2005-11-30 松下电器产业株式会社 编码运动矢量的设备和方法及其程序和介质
CN101416524A (zh) * 2006-04-07 2009-04-22 微软公司 运动估计搜索范围和扩展的运动矢量范围的动态选择
CN101094398A (zh) * 2006-06-20 2007-12-26 中兴通讯股份有限公司 一种基于时间分辨率变换的视频转换处理方法
CN101309405A (zh) * 2007-05-14 2008-11-19 华为技术有限公司 参考数据载入的方法及装置
CN103647972A (zh) * 2008-12-03 2014-03-19 株式会社日立制作所 运动图像解码方法和运动图像编码方法
CN102939757A (zh) * 2010-06-04 2013-02-20 索尼公司 图像处理装置和方法
US20120263231A1 (en) * 2011-04-18 2012-10-18 Minhua Zhou Temporal Motion Data Candidate Derivation in Video Coding
WO2013184949A1 (en) * 2012-06-08 2013-12-12 Qualcomm Incorporated Prediction mode information downsampling in enhancement layer coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHEN, CHUNCHI ET AL.: "Screen Content Coding Using Non-Square Intra Block Copy for HEVC", PROCEEDINGS OF THE 2014 IEEE INTERNATIONAL CONFERENCE ON MU1TIMEDIA AND EXPO, 18 July 2014 (2014-07-18), XP032639288, ISSN: 1945-7871 *
See also references of EP3310056A4 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110662029A (zh) * 2018-06-30 2020-01-07 上海天荷电子信息有限公司 动态和自适应地限制取值范围的数据压缩方法和装置
CN112532990A (zh) * 2020-11-23 2021-03-19 绍兴文理学院 一种串长度参数编码、解码方法和装置
CN112532990B (zh) * 2020-11-23 2024-03-08 绍兴文理学院 一种串长度参数编码、解码方法和装置
CN112601086A (zh) * 2020-12-07 2021-04-02 绍兴文理学院 一种串长度参数混合编码、解码方法及装置
CN113452995A (zh) * 2021-03-31 2021-09-28 同济大学 当前串与参考串有不同扫描方向的数据编解码方法及装置

Similar Documents

Publication Publication Date Title
CN112383780B (zh) 点匹配参考集和索引来回扫描串匹配的编解码方法和装置
US10341651B2 (en) Image coding method, decoding method, coding device and decoding device
CN111800640B (zh) 方向交替变换来回扫描串匹配的图像编码解码方法和装置
CN105491376B (zh) 图像编码、解码方法及装置
US10575022B2 (en) Image encoding and decoding method, image processing device and computer storage medium
CN106254865B (zh) 一种图像编码及解码方法、图像处理设备
CN105847842B (zh) 图像编码方法及装置、图像解码方法及装置
US10178405B2 (en) Enhanced coding and decoding using intra block copy mode
US11653019B2 (en) Image coding and decoding methods, image processing device and computer storage medium
CN104754362B (zh) 使用精细划分块匹配的图像压缩方法
WO2016202189A1 (zh) 图像编码及解码方法、图像处理设备、计算机存储介质
KR102532391B1 (ko) 영상 부호화 방법과 장치 및 영상 복호화 방법과 장치
CN105992003B (zh) 依据排序或频度对调色板颜色编号的图像压缩方法和装置
CN106303534B (zh) 多种索引串与像素串融合复制方式的图像压缩方法和装置
WO2016197893A1 (zh) 图像编码及解码方法、图像处理设备、计算机存储介质
CN106303535B (zh) 参考像素取自不同程度重构像素的图像压缩方法和装置
WO2016119746A1 (zh) 图像编码方法及装置、图像解码方法及装置
US20200252646A1 (en) Method and Device for Image Coding and Method and Device for Image Decoding
WO2016197898A1 (zh) 图像编码及解码方法、图像处理设备、计算机存储介质
WO2016124154A1 (zh) 图像编码方法和装置及图像解码方法和装置
CN105828079B (zh) 图像处理方法及装置
WO2016119666A1 (zh) 图像编解码方法及装置

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15736006

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2016810930

Country of ref document: EP