WO2016054985A1 - 图像编码、解码方法及装置 - Google Patents

图像编码、解码方法及装置 Download PDF

Info

Publication number
WO2016054985A1
WO2016054985A1 PCT/CN2015/091124 CN2015091124W WO2016054985A1 WO 2016054985 A1 WO2016054985 A1 WO 2016054985A1 CN 2015091124 W CN2015091124 W CN 2015091124W WO 2016054985 A1 WO2016054985 A1 WO 2016054985A1
Authority
WO
WIPO (PCT)
Prior art keywords
copy
decoding
coding
pixel
code stream
Prior art date
Application number
PCT/CN2015/091124
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
Application filed by 同济大学, 中兴通讯股份有限公司 filed Critical 同济大学
Publication of WO2016054985A1 publication Critical patent/WO2016054985A1/zh

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

Definitions

  • the present invention relates to a digital video compression coding and decoding system, and in particular to an image coding and decoding method and apparatus.
  • the natural form of a digital video signal of a screen image is a sequence of images.
  • 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 code stream (a bit stream, also referred to as a bit stream) of a digital video signal is decoding a code stream of one frame by one frame of image. At any one time, 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.
  • coding unit In almost all international standards for video image coding, such as MPEG-1/2/4, H.264/AVC, and HEVC, when encoding one frame of image, one frame of image is divided into sub-images of several blocks of MxM pixels. It is a "Coding Unit (CU)", and the sub-pictures are coded one by one with CU as the basic coding unit.
  • the size of the commonly used M is 4, 8, 16, 32, 64. Therefore, encoding a video image sequence is to encode one CU for each coding unit of each frame image, that is, CU. At any one time, the CU being coded is referred to as the current coded CU.
  • decoding the code stream of a 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 8x8, some are 64x64, and so on.
  • LCUs Large Coding Units
  • One of the LCUs consists of three 32x32 pixel CUs and four 16x16 pixel CUs.
  • the other LCU consists of two 32x32 pixel CUs, three 16x16 pixel CUs, and 20 8x8 pixel CUs. Since each CU in an LCU has a tree structure, another name of the LCU is a Coding Tree Unit (CTU). In the HEVC international standard, the LCU is synonymous with the CTU.
  • CTU Coding Tree Unit
  • the CU can also be further divided into sub-areas.
  • Sub-regions include, but are not limited to, prediction units (PUs), transform units (TUs), asymmetric partitions (AMPs).
  • PUs prediction units
  • TUs transform units
  • AMPs asymmetric partitions
  • a CU i.e., a coding unit
  • HEVC HEVC
  • the other meaning is an area in one frame of image.
  • a coding block or a decoding block refers to an area in which a frame image is encoded or decoded.
  • a color pixel usually consists of three components.
  • the two most commonly used pixel color formats are the GBR color format consisting of a green component, a blue component, and a red component, and a YUV color consisting of a luma component and two chroma components. format.
  • the color format commonly known as YUV actually includes multiple color formats, such as the YCbCr color format. Therefore, 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).
  • the GBR color format and the YUV color format of the pixel are both 3-component representation formats of the pixel.
  • 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 pixel that needs to be represented.
  • the address of the palette is called the index of the pixel stored in this address.
  • An index can represent one component of a pixel, and an index can also represent three components of a pixel.
  • the palette can be one or more. In the case of multiple palettes, a complete index is actually composed of the palette number and the index of the numbered palette.
  • the index representation format of a pixel is to represent this pixel with an index.
  • the index representation format of a pixel is also referred to as an indexed color or a pseudo color representation format of a pixel in the prior art, or is often referred to directly as an indexed pixel or a pseudo pixel (pseudo). Pixel) 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 presentation formats Other commonly used prior art pixel representation formats include CMYK presentation formats and grayscale representation formats.
  • the YUV color format can be subdivided into several seed formats according to whether the chroma component is downsampled: a YUV 4:4:4 pixel color format consisting of 1 Y component, 1 U component, and 1 V component.
  • the left and right adjacent pixels are composed of two Y components, one U component, and one V component in a YUV 4:2:2 pixel color format; four pixels arranged in a left and right adjacent position by 2x2 spatial position are composed of four pixels.
  • YUV4: 2:0 pixel color format consisting of Y component, 1 U component, and 1 V component.
  • 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 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.
  • a CU is an area composed of a plurality of pixel values.
  • the shape of the CU 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 CU may have a different shape and size.
  • some or all of the CUs may overlap each other, or all CUs may not overlap each other.
  • a CU 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 may be mixed by any two of the three. composition.
  • a notable feature of computer screen images is that there are often many similar or even identical pixel patterns within the same frame of image.
  • 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 coding methods commonly used in existing image and video compression technologies include:
  • Intra block copying is intra-frame block matching or intra-frame motion compensation or block copy or block matching
  • Intra-frame micro-block copying means intra-frame micro-block matching or micro-block copying or micro-block matching
  • the intra-frame lines (referred to as strips) copy that is, intra-frame matching or strip copying or strip matching;
  • Intraframe string replication means intraframe string matching or string copying or string matching.
  • the string here refers to arranging pixel samples in a 2-dimensional region of an arbitrary shape into a string whose length is much larger than the width (for example, a width of 1 pixel sample and a length of 37)
  • a string or string of pixel samples having a length of 2 pixel samples and a length of 111 pixel samples, usually but not limited to length is an independent encoding or decoding parameter and width is a parameter derived from other encoding or decoding parameters) ;
  • index copy first a pixel in a CU with a palette and its index to represent, and then copy and encode the index.
  • screen images usually have regions of various natures, some have relatively large or regular shapes that are similar or identical to each other, while others have small or irregularly shaped patterns that are similar or identical to each other.
  • Each of the above coding methods is applicable only to an image region of a certain nature, and is not suitable for a screen image of a mixture of image regions of various natures, and it is also impossible to find matching of various sizes and shapes. Therefore, new coding tools must be sought to fully exploit and utilize the similar or identical patterns of various properties in computer screen images to greatly improve compression.
  • the invention provides an image encoding and decoding method and device, so as to at least solve the problem that the screen image compression efficiency of the image region mixing in the related art is not good.
  • an image encoding method comprising:
  • a part of the pixels in the coded block are coded by using a first type of copy coding manner, and the first type of coded result and code stream data are generated, and the coded block is generated in the coded block.
  • Another portion of the pixels are encoded using a second type and/or a third type of copy encoding to generate the second type and/or the third type of encoding result and code stream data;
  • the first type of code stream data and the second type and/or the third type of code stream data are mixed to form part or all of the code stream data of the coded block.
  • the first type of copy coding mode is a string copy coding mode
  • the second type of copy coding mode is a rectangular copy coding mode
  • the third type of copy coding mode is a point copy coding mode.
  • the first reference buffer is always used as the reference pixel; when the second type of copy coding is used, the first reference is always used.
  • the cached pixel is used as a reference pixel; when the third type of copy coding is used, the second reference buffer pixel is always used as the reference pixel, wherein the first reference buffer is composed of part or all of the reconstructed reference pixels.
  • the samples are constructed; the second reference buffer is constructed from some or all of the reference pixel samples.
  • the coding unit CU the prediction unit, the maximum coding unit LCU, and the coding tree unit CTU.
  • an image encoding method including:
  • a part of the pixels in the coded block adopts a pixel of the first reference buffer as a reference pixel, and another part of the pixels in the coded block adopts a pixel of the second reference buffer as a reference pixel;
  • the first reference buffer is constructed from some or all of the reconstructed reference pixel samples;
  • the second reference cache is partially or completely absent Constructed with reference to pixel samples.
  • the coding block includes at least one of the following:
  • a coding unit CU a prediction unit, a maximum coding unit LCU, and a coding tree unit CTU.
  • an image decoding method including:
  • Parsing the code stream data of a decoding block and obtaining parameters related to decoding; according to the parameter, decoding a part of the code stream data of the decoding block by using a first type of copy decoding mode, and performing another decoding of the decoding block
  • a part of the code stream data is decoded by the second type and/or the third type of copy decoding.
  • the first type of copy decoding mode is a string copy decoding mode
  • the second type of copy decoding mode is a rectangular copy decoding mode
  • the third type of copy decoding mode is a point copy decoding mode.
  • the pixel of the first reference buffer is always used as the reference pixel; when the second type of copy decoding mode is adopted, the first reference is always used.
  • the buffered pixels are used as reference pixels; when the third type of copy decoding is used, the pixels of the second reference buffer are always used as reference pixels, and the first reference buffer is composed of some or all of the reconstructed reference pixel samples. Constructed; the second reference cache is constructed from some or all of the reference pixel samples.
  • the decoding block includes at least one of the following:
  • a coding unit CU a prediction unit, a maximum coding unit LCU, and a coding tree unit CTU.
  • an image decoding method including:
  • Decoding a code stream data of a decoding block and acquiring parameters related to decoding; and decoding, according to the parameter, a part of the code stream data of the decoding block by using a pixel of the first reference buffer as a reference pixel, and decoding the block
  • Another part of the code stream data is decoded by using the pixels of the second reference buffer as reference pixels; the first reference buffer is constructed by part or all of the reconstructed reference pixel samples; and the second reference buffer is partially or All are constructed without reference pixel samples.
  • the decoding block includes at least one of the following:
  • a coding unit CU a prediction unit, a maximum coding unit LCU, and a coding tree unit CTU.
  • an image encoding apparatus comprising:
  • Searching and copying the encoding module reconstructing the reference pixel sample set module, the second reference cache module, and the module for encoding, reconstructing, and generating the video stream data; wherein the mixing of the search and copy encoding modules comprises at least one of the following: String copy, rectangle copy, and point copy;
  • Part or all of the reconstructed reference pixel sample set module constructs a first reference cache unit
  • the first reference cache unit searches for an optimal reference string and/or an optimal reference rectangle in the first reference cache
  • the second reference cache module searches for an optimal reference point in the second reference cache, and generates a copy parameter of the reference string, a copy parameter of the reference rectangle, a copy parameter of the reference point, and/or no reference pixel sample.
  • an image encoding apparatus comprising:
  • Parsing the code stream obtaining a copy parameter, and a module without reference pixel samples, a copy decoding module of string copy, rectangular copy, and point copy mixing, reconstructing a reference pixel sample set module, and a second reference cache module;
  • Part or all of the reconstructed reference pixel sample set module constructs a first reference cache unit; the copy-decode module of the string copy decodes a pixel using a first reference cache as a reference pixel, and the rectangular copy copy decoding module
  • the pixel using the first reference buffer is decoded as a reference pixel, and the copy decoding module of the point copy decodes the pixel using the second reference buffer as a reference pixel.
  • an image encoding method including:
  • Encoding a coded block Encoding the pixels in the coded block by using multiple types of coding modes, and generating multiple types of coding results and code stream data;
  • the plurality of types of code stream data are mixed to form part or all of the code stream data of the coded block.
  • the multiple types of coding modes include at least two of the following replication coding modes:
  • Line copy coding mode Line copy coding mode, string copy coding mode, rectangular copy coding mode, point copy coding mode, index copy coding mode.
  • multiple types of coding modes include:
  • the plurality of types of encoding methods encode the encoded block using pixel samples in the specified one or more buffers as reference pixel samples.
  • the pixel samples in the cache include: some or all of the reconstructed reference pixel samples, or some or all of the reference pixel samples;
  • the reconstructed reference pixel sample is a reconstructed value of a pixel sample obtained by encoding a code stream before the encoding block; the non-reference pixel sample is according to the reconstructed reference pixel sample and / or the set of pixel samples constructed by the copy coding method.
  • the coding block includes at least one of the following:
  • a coding unit CU a prediction unit, a maximum coding unit LCU, and a coding tree unit CTU.
  • an image decoding method including:
  • a code stream of a different portion of the decoded block is decoded using a plurality of decoding methods in accordance with the decoding parameters.
  • decoding the code stream of different parts of the decoding block by using multiple decoding modes includes:
  • the partial code stream is decoded using the pixel samples in the specified one or more buffers as reference pixel samples.
  • the pixel samples in the cache include: some or all of the reconstructed reference pixel samples, or some or all of the reference pixel samples.
  • the reconstructed reference pixel sample is a reconstructed value of a pixel sample obtained by decoding a code stream before the decoded block code stream; the non-reference pixel sample is according to the reconstructed reference pixel sample A value and/or a set of pixel samples constructed by the decoding parameters.
  • the multiple decoding modes include two or more of the following decoding modes: a line copy decoding mode, a string copy decoding mode, a rectangular copy decoding mode, a point copy decoding mode, and an index copy decoding mode.
  • the decoding block includes at least one of the following:
  • a coding unit CU a prediction unit, a maximum coding unit LCU, and a coding tree unit CTU.
  • an image encoding apparatus comprising:
  • the encoding module is configured to encode one coding block, and encode the pixels in the coding block by using multiple types of coding modes to generate multiple types of coding results and code stream data;
  • a mixing module is arranged to mix the plurality of types of code stream data into part or all of the code stream data of the coded block.
  • an image decoding apparatus including:
  • Obtaining a module configured to parse the code stream, and obtain a decoding parameter of the decoded block
  • the decoding module is configured to decode the code streams of different portions of the decoded block using a plurality of decoding methods according to the decoding parameters.
  • one coding block is coded, and pixels in the coding block are encoded by using multiple types of copy coding methods to generate multiple types of coding results and code stream data; and the plurality of types of codes are used.
  • the stream data is mixed to form part or all of the code stream data of the coded block; or, the code stream is parsed to obtain a decoding parameter of the decoded block of the code stream; and the decoding is performed by using multiple decoding modes according to the decoding parameter.
  • the code stream of different parts of the block is decoded, which solves the problem that the image image compression efficiency of the image area is not good, and the compression effect is improved.
  • FIG. 1 is a flowchart 1 of an image encoding method according to an embodiment of the present invention.
  • FIG. 2 is a second flowchart of an image encoding method according to an embodiment of the present invention.
  • FIG. 3 is a block diagram 1 of an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 4 is a block diagram 2 of an image encoding apparatus according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of mixing multiple types of copying modes in one coding block or decoding block using first and second reference buffers according to a preferred embodiment of the present invention
  • FIG. 6 is a flow chart showing a first encoding method in accordance with a preferred embodiment of the present invention.
  • FIG. 7 is a flow chart showing a second encoding method in accordance with a preferred embodiment of the present invention.
  • FIG. 8 is a flow chart showing a first decoding method according to a preferred embodiment of the present invention.
  • FIG. 9 is a flow chart showing a second decoding method according to a preferred embodiment of the present invention.
  • Figure 10 is a first schematic diagram of an encoding apparatus in accordance with a preferred embodiment of the present invention.
  • Figure 11 is a second schematic diagram of an encoding device in accordance with a preferred embodiment of the present invention.
  • FIG. 1 is a flowchart 1 of an image coding method according to an embodiment of the present invention. As shown in FIG. 1, the process includes the following steps:
  • Step S102 encoding a coding block, and encoding the pixels in the coding block by using multiple types of coding modes to generate multiple types of coding results and code stream data;
  • Step S104 mixing the plurality of types of code stream data to form part or all of the code stream data of the coded block.
  • a coding block is coded, and pixels in the coding block are encoded by using multiple types of coding modes to generate multiple types of coding results and code stream data; and the plurality of types of code stream data are mixed.
  • Part or all of the code stream data constituting the code block solves the problem that the screen image compression efficiency of the image area is not good, and the compression effect is improved.
  • the multiple types of coding modes include at least two of the following methods of copy coding:
  • Line copy coding mode Line copy coding mode, string copy coding mode, rectangular copy coding mode, point copy coding mode, index copy coding mode.
  • the multiple types of coding modes include:
  • the plurality of types of encoding methods use the pixel samples in the specified one or more buffers as reference pixel samples.
  • the coding block is encoded.
  • the pixel samples in the buffer include: some or all of the reconstructed reference pixel samples, or some or all of the reference pixel samples;
  • the reconstructed reference pixel sample is a reconstructed value of a pixel sample obtained by encoding a code stream before the encoding block; the non-reference pixel sample is based on the reconstructed reference pixel sample and/or the copy A set of pixel samples constructed by encoding.
  • the coding block includes at least one of the following:
  • a coding unit CU a prediction unit, a maximum coding unit LCU, and a coding tree unit CTU.
  • FIG. 2 is a second flowchart of an image encoding method according to an embodiment of the present invention. As shown in FIG. 2, the flow includes the following steps:
  • Step S202 parsing the code stream, and obtaining decoding parameters of the decoded block
  • Step S204 decoding the code stream of different parts of the decoding block by using multiple decoding modes.
  • the code stream is decoded, and the code stream of different parts of the decoding block is decoded by using multiple types of decoding modes, which solves the problem that the image image compression efficiency of the image area is not good, and the compression effect is improved. .
  • decoding the code stream of different parts of the decoding block by using multiple decoding modes includes:
  • the partial code stream is decoded using the pixel samples in the specified one or more buffers as reference pixel samples.
  • the pixel samples in the cache include: some or all of the reconstructed reference pixel samples, or some or all of the reference pixel samples.
  • the reconstructed reference pixel sample is a reconstructed value of a pixel sample obtained by decoding a code stream before the decoded block code stream; the non-reference pixel sample is based on the reconstructed reference pixel sample and/or The set of pixel samples constructed by the decoding parameters.
  • the multiple decoding modes include two or more of the following decoding modes: a line copy decoding mode, a string copy decoding mode, a rectangular copy decoding mode, a point copy decoding mode, and an index copy decoding mode.
  • the decoding block includes at least one of the following:
  • a coding unit CU a prediction unit, a maximum coding unit LCU, and a coding tree unit CTU.
  • module may implement a combination of software and/or hardware of a predetermined function.
  • apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
  • FIG. 3 is a block diagram showing the structure of an image encoding apparatus according to an embodiment of the present invention. As shown in FIG. 3, the apparatus includes:
  • the encoding module 32 is configured to encode one coding block, and encode the pixels in the coding block by using multiple types of coding modes to generate multiple types of coding results and code stream data;
  • the mixing module 34 is coupled to the encoding module 32 and is arranged to mix the plurality of types of code stream data into part or all of the code stream data of the coded block.
  • the encoding module 32 encodes one coding block, and encodes pixels in the coding block by using multiple types of coding modes to generate multiple types of coding results and code stream data
  • the mixing module 34 is configured to A plurality of types of code stream data are mixed to form part or all of the code stream data of the code block, which solves the problem that the screen image compression efficiency of the image area is not good, and the compression effect is improved.
  • decoding the code stream of different parts of the decoding block by using multiple decoding modes includes:
  • the partial code stream is decoded using the pixel samples in the specified one or more buffers as reference pixel samples.
  • the pixel samples in the cache include: some or all of the reconstructed reference pixel samples, or some or all of the reference pixel samples.
  • the reconstructed reference pixel sample is a reconstructed value of a pixel sample obtained by decoding a code stream before the decoded block code stream; the non-reference pixel sample is based on the reconstructed reference pixel sample and/or The set of pixel samples constructed by the decoding parameters.
  • the multiple decoding modes include two or more of the following decoding modes: a line copy decoding mode, a string copy decoding mode, a rectangular copy decoding mode, a point copy decoding mode, and an index copy decoding mode.
  • the decoding block includes at least one of the following:
  • a coding unit CU a prediction unit, a maximum coding unit LCU, and a coding tree unit CTU.
  • FIG. 4 is a second structural block diagram of an image decoding apparatus according to an embodiment of the present invention. As shown in FIG. 4, the apparatus includes:
  • the obtaining module 42 is configured to parse the code stream to obtain decoding parameters of the decoded block.
  • the decoding module 44 is coupled to the acquisition module 42 and is configured to decode the code streams of different portions of the decoded block using a plurality of decoding methods according to the decoding parameters.
  • the obtaining module 42 parses the code stream to obtain decoding parameters of the decoding block, and the decoding module 44 is configured to use the decoding parameters obtained by the obtaining module 42 to use different decoding methods to code streams of different parts of the decoding block.
  • the decoding is performed to solve the problem that the screen image compression efficiency of the image area is not good, and the compression effect is improved.
  • a preferred embodiment of the present invention provides a method of mixing multiple copy encoding or decoding modes (including but in one CU (ie, one encoding block or decoding block).
  • a method and apparatus for image encoding and decoding that are not limited to any one or more of point copying, string copying, and rectangular copying.
  • FIG. 5 is a schematic diagram of mixing multiple types of copying modes in one coding block or decoding block using first and second reference buffers, as shown in FIG. 5, a main embodiment of a preferred embodiment of the present invention, in accordance with a preferred embodiment of the present invention.
  • a technical feature is that a plurality of copy coding (or corresponding decoding) modes can be mixed in one CU (ie, a coding block or a decoding block).
  • These replication methods include, but are not limited to, point copying, string copying, and rectangular copying.
  • Another main technical feature of the present invention is that there are at least two references Save: use the first reference buffer constructed with some or all of the reconstructed reference pixel samples and use some or all of the reference pixel samples (the reference pixel values are not found, ie the reconstructed reference pixel samples have been generated)
  • a second reference buffer constructed from a pixel sample of pixel samples whose error is within a predetermined range is not found in the set.
  • the first reference cache and the second reference cache are collectively referred to as a reference cache.
  • the most basic feature of the encoding method and apparatus of the present invention is that when encoding the current encoding block, the first reference buffer is searched for one or more optimal copy reference strings (referred to as reference strings) or copied.
  • Reference rectangle (referred to as reference rectangle), or only to search for one or more optimal reference strings or to search for one or more optimal reference rectangles.
  • the search results in one or more The optimal copy reference point (referred to as the reference point).
  • a reference point contains only one pixel sample or only one pixel sample pair consisting of 2 pixel samples or only one pixel sample group consisting of 4 pixel samples.
  • a reference string contains one or more pixel samples.
  • a reference rectangle contains one or more pixel samples.
  • the reference point, the reference string, and the reference rectangle are all represented by one or more copy parameters (or matching parameters) related to point copy decoding, string copy decoding, and rectangular copy decoding. Parameters required for decoding, including but not limited to copy parameters, are placed into the code stream.
  • a most basic feature of the decoding method and apparatus of an embodiment of the present invention is that when decoding the current decoded block, the acquisition of the point copy decoding and/or the string copy decoding and/or the rectangular copy decoding is performed from the code stream.
  • Copying parameters, obtaining reference strings and/or reference rectangles from the first reference cache according to part or all of the copy parameters, and directly or indirectly assigning them to the current decoded string (referred to as the current string) and/or the current decoding rectangle (referred to as short The current rectangle), and/or the reference point is obtained from the second reference buffer and assigned directly or indirectly to the current decoding point (referred to as the current point).
  • a reference string contains one or more pixel samples.
  • a reference rectangle contains one or more pixel samples.
  • a reference point contains a pixel sample.
  • Another preferred way of referring to a point is to have a pair of pixel samples consisting of 2 pixel samples.
  • a further preferred method of reference points is to include a set of pixel samples consisting of 4 pixel samples.
  • Some or all of the reconstructed reference pixel samples are progressively constructed with a first reference buffer in the order in which they were generated during encoding or decoding. Some or all of the no reference pixel samples are selected based on the number of times they are referenced in subsequent encoding or decoding to construct a second reference buffer.
  • replication parameters include, but are not limited to, copy locations and/or copy sizes.
  • replication parameters include, but are not limited to, copy locations and/or copy sizes and/or preferred categories (ie, one pixel sample or one pixel sample pair or one pixel sample group).
  • the copy size includes, but is not limited to, the copy length.
  • the copy size includes, but is not limited to, two copy parameter components of copy width and copy length or two copy parameter components of copy height and copy length or two copy parameter components of copy width and copy height.
  • the copy size includes, but is not limited to, the number of copies.
  • the copy position is the first pixel sample of the reference string and/or reference rectangle in the first reference buffer and the first pixel of the current string and/or current rectangle in the current CU A linear (1D) distance or a plane (2D) distance between values, in units of samples or samples.
  • the copy position is sometimes referred to as an intra motion vector.
  • the copy size is the size of the reference string and/or reference rectangle, and the unit is also the sample or if Dry sample value. Obviously, the size of the reference string and/or reference rectangle is also the size of the current string and/or the current rectangle.
  • the copy location is the location in the second reference cache, sometimes referred to as an address or metric or index, in units of sample or sample pairs or sample groups.
  • the copy size includes, but is not limited to, the number of copies, that is, the number of repetitions of the current point of the same reference point at the current encoding or decoding position.
  • reference points preferred categories are preferred ways of reference points, including but not limited to single samples, sample pairs, or groups of samples.
  • the pixel values of the first reference buffer and/or the second reference buffer may be equivalent to reconstructed samples, or may be various variants of reconstructed samples, such as pixel clustering, color quantization, numerical quantization, vector quantization. Samples processed by denoising, filtering, feature extraction, or samples undergoing color format conversion, permutation conversion, frequency domain conversion, spatial domain mapping, DPCM, first-order or higher-order difference operations, indexing, etc. Multi-processing and transforming pixel value variants, when the reference sample value is not equal to the reconstructed sample value, the reference sample value can be generated once and then temporarily stored for later use when needed, or can be generated immediately when needed. It can also be a combination of the two production methods.
  • reconstructed samples and “reference samples” are sometimes collectively referred to as “reconstructed reference pixel samples.”
  • reconstructed reference pixel samples means either “reconstructed samples” or “reference samples” or both. If it is not clear from the context, then it means either of them.
  • the "reconstructed reference sample set” and the “reconstructed reference pixel sample set” are synonymous, and are sometimes referred to simply as “sample set” without causing confusion.
  • the first reference cache and/or the current CU there are at least four basic copy path shape patterns from the path shape of the reference string and/or the current string.
  • the basic copy path shape mode 1 is a copy path shape pattern of the vertical path 1-dimensional string copy.
  • the first reference buffer and/or the current CU are first arranged in the order of LCU number or CU number, and in an LCU or CU, the samples are arranged column by column, and the samples in each column are vertically scanned from Arranged from top to bottom.
  • the first reference cache is also arranged into a one-dimensional sample string.
  • the basic copy path shape mode 2 is a copy path shape pattern of the horizontal path one-dimensional string copy.
  • the basic copy path shape mode 2 is the dual mode of the above-described basic copy path shape mode 1. Replace “vertical” in the basic copy path shape pattern 1 with “horizontal”, “column” with “row”, and “top-down” with “left to right”, which is the basic copy path shape pattern 2.
  • the basic copy path shape pattern 3 is a copy path shape pattern of the two-dimensional conformal copy of the vertical path.
  • the first reference buffer retains the 2-dimensional arrangement inherent to the original image plane, and in the current CU, the samples are arranged column by column in a vertical scan manner and are arranged from top to bottom in one column.
  • searching or copying the reference string among the first reference buffers in the current CU, the current samples are moved from top to bottom in a vertical scanning manner, and after one column of scanning and copying is completed, the adjacent column on the right side is scanned and copied.
  • the reference string found in the first reference buffer must be the current string in the current CU Maintain a consistent 2-dimensional shape and scan path.
  • the basic copy path shape pattern 4 is a copy path shape pattern of the horizontal path 2-dimensional conformal copy.
  • the basic copy path shape pattern 4 is the dual mode of the above-described basic copy path shape pattern 3.
  • the first reference cache retains the 2-dimensional arrangement inherent to the original image plane, while in the current CU, the samples are arranged line by line in a horizontal scan manner and arranged from left to right within one line.
  • searching or copying the reference string among the first reference buffers in the current CU, the current samples are moved from left to right in a horizontal scanning manner, and after one line of scanning and copying is completed, then the next line adjacent to the next side is scanned and copied.
  • the reference string found in the first reference buffer must be completely consistent with the current string in the current CU in the 2-dimensional shape and the path of the scan mode.
  • the basic copy path shape pattern 4 is basically the same but the scan path is alternately changed, that is, the scan mode is that the even lines move from left to right and the odd lines move from right to left.
  • a further technical feature of the decoding method and apparatus of the present invention is that, when decoding the code stream data of the current decoding block, the sequence or the copy path shape pattern adopted by the image or the CU is first parsed from the code stream data (eg, And copying, by the code stream data, one copy of the reference string and/or the reference rectangle and/or the reference point, that is, the copy position of the reference string and/or the reference rectangle, and/or The copy size and/or copy point location and/or copy size and/or preferred category of the reference point. After obtaining a copy parameter, the decoding work calculates the first sample of the reference string and/or the reference rectangle in the first reference buffer from the position of the current decoded sample and the copy parameter according to the copy path shape pattern.
  • the code stream data eg, And copying, by the code stream data, one copy of the reference string and/or the reference rectangle and/or the reference point, that is, the copy position of the reference string and/or the reference rectangle, and/or The copy size and/or copy
  • part or all of the reference string and/or the reference rectangle and/or the reference point may be copied from the reference buffer, and the value of the sample value is assigned to the current string. And/or the current rectangle and/or the current point, restoring the current string and/or the current rectangle and/or the current point.
  • all CUs can use the same copy path shape mode.
  • the decoder only needs to parse out the copy path shape pattern of the image from the corresponding image parameter set or header information of one frame of image, without requiring each CU to parse which copy path the CU uses.
  • Shape mode The encoder also only needs to write the copy path shape mode directly or indirectly in the corresponding image parameter set or header information of one frame of image. In a video sequence, the same copy path shape mode can be used for all images and all CUs.
  • the decoder only needs to parse out the copy sequence shape pattern of the sequence from the corresponding sequence parameter set or header information of a sequence, without requiring each image and each CU to parse the image, the CU.
  • the encoder also only needs to write the copy path shape pattern directly or indirectly in the corresponding sequence parameter set or header information of a sequence.
  • Some CUs can also be subdivided into several sub-areas, each of which uses a different copy path shape pattern.
  • a copy parameter of the reference string In the code stream data of a sub-area of a CU or a CU, there are three types of copy parameters: a copy parameter of the reference string, a copy parameter of the reference rectangle, a copy parameter of the reference point, and one or more of the code stream data.
  • Each copy parameter has an identification code directly (including but not limited to being present in the code stream) or indirectly (including but not limited to other information obtained from the encoding or decoding process) for directly or indirectly indicating the back
  • the copy parameter followed is the copy parameter of the reference string or the copy parameter of the reference rectangle or the copy parameter of the reference point.
  • copy parameters In the code stream data of a sub-area of a CU or a CU, there are two types of copy parameters: a copy parameter of the reference string, a copy parameter of the reference rectangle, and one or more copy parameters in the code stream data.
  • An identification code that is directly (including but not limited to being present in the code stream) or indirectly (including but not limited to other information obtained from the encoding or decoding process) is used to directly or indirectly indicate that the following replication parameters are references.
  • the copy parameter of the string is also the copy parameter of the reference rectangle.
  • copy parameters In the code stream data of a sub-area of a CU or a CU, there are two types of copy parameters: a copy parameter of the reference string, a copy parameter of the reference point, and one or more copy parameters in the code stream data.
  • An identification code that is directly (including but not limited to being present in the code stream) or indirectly (including but not limited to other information obtained from the encoding or decoding process) is used to directly or indirectly indicate that the following replication parameters are references.
  • the copy parameter of the string is also the copy parameter of the reference point.
  • a copy parameter of the reference rectangle In the code stream data of a sub-area of a CU or a CU, there are two types of copy parameters: a copy parameter of the reference rectangle, a copy parameter of the reference point, and one or more copy parameters in the code stream data.
  • An identification code that is directly (including but not limited to being present in the code stream) or indirectly (including but not limited to other information obtained from the encoding or decoding process) is used to directly or indirectly indicate that the following replication parameters are references.
  • the copy parameter of the rectangle is also the copy parameter of the reference point.
  • Class 1 mixed with three types of copy parameters: copy parameters of the reference string, copy parameters of the reference rectangle, reference point The sub-region of the CU or CU that replicates the parameters;
  • Class 2 mixed with two types of copy parameters: the copy parameter of the reference string, the sub-region of the CU or CU of the copy parameter of the reference rectangle;
  • Class 3 mixed with two types of replication parameters: the replication parameters of the reference string, the CU of the reference point, or the sub-region of the CU;
  • Class 4 mixed with two types of copy parameters: the copy parameter of the reference rectangle, the sub-region of the CU or CU of the copy parameter of the reference point;
  • a direct or indirect identification code is used to directly or indirectly indicate one of the following situations including but not limited to:
  • Case 1 the sub-areas of the above four types of CUs or CUs exist in the current picture and its code stream data: sub-areas of the first class, the second class, the third class, the fourth class CU or the CU;
  • Case 2 the current image and its code stream data have sub-regions of three types of CU or CU in the above four categories: Class 1, Class 2, Class 3 CU or sub-region of CU;
  • Case 3 the current image and its code stream data have sub-regions of three types of CU or CU in the above four categories: Class 1, Class 2, Class 4 CU or sub-region of CU;
  • Case 4 the current image and its code stream data have sub-regions of three types of CU or CU in the above four categories: Class 1, Class 3, Class 4 CU or sub-region of CU;
  • Case 6 in the current image and its code stream data, there are sub-regions of two or more types of CUs or CUs in the above four categories, such as sub-areas of CUs or CUs of Class 1 and Class 3, such as Class 2 and Class 3 a sub-region of a CU or CU of the class;
  • Case 7 in the current image and its code stream data, there are sub-regions of a certain type of CU or CU in the above four categories, such as a sub-region of a CU or CU of the first class, such as a sub-region of a CU or CU of the second class , for example, a sub-area of a CU or CU of class 3, such as a sub-area of a CU or CU of class 4;
  • a direct or indirect identification code is used to directly or indirectly indicate one of the following situations including but not limited to:
  • Case 8 the sub-areas of the above four types of CUs or CUs exist in the sequence and its code stream data: sub-areas of the first class, the second class, the third class, the fourth class CU or the CU;
  • Case 9 the sequence and its code stream data exist in the sub-areas of the three types of CU or CU of the above four categories: Class 1, Class 2, Class 3 CU or sub-region of CU;
  • Case 10 there are sub-areas of three types of CU or CU in the above four categories in the sequence and its code stream data: Class 1, 2 Class, sub-region of class 4 CU or CU;
  • the sequence and its code stream data have sub-areas of three types of CUs or CUs in the above four categories: Class 1, Class 3, Class 4 CU or sub-region of CU;
  • the sequence and its code stream data have sub-areas of two types of CUs or CUs in the above four categories, such as sub-areas of CUs or CUs of Class 1 and Class 3, such as Class 2 and Class 3 Sub-area of the CU or CU;
  • Case 14 the sub-region of a certain type of CU or CU of the above four types exists in the sequence and its code stream data, for example, a sub-area of the CU or CU of the first type, for example, a sub-area of the CU or CU of the second type, For example, a sub-area of a CU or CU of class 3, such as a sub-area of a CU or CU of class 4;
  • the terms used in the patent application of the present invention may also be represented by other terms derived from physics or mathematics.
  • the copy position may also use one of the following aliases: matching position, position, distance, relative distance, displacement amount, displacement vector, movement Volume, motion vector, offset, offset vector, block vector, string vector, compensation amount, compensation, linear address, address, 2D coordinates, 1D coordinates, coordinates, index, index, and so on.
  • the copy length can also be referred to as one of the following aliases: copy stroke, copy number, copy count, copy run, match stroke, match number, match count, match run, length, stroke, number, count, run, etc. Wait.
  • String copying is also known as string matching
  • rectangular copying is also called rectangular matching
  • point copying is also called point matching.
  • FIG. 6 is a schematic flow chart of a first encoding method according to a preferred embodiment of the present invention. As shown in FIG. 6, the first encoding method of the present invention includes all or part of the following steps:
  • the remaining steps of encoding, reconstructing and generating video stream data performing the remaining encoding and reconstruction operations of the coding block, performing various common techniques on the input pixels, various parameters and variables, such as intra prediction, interframe Prediction, block copying, microblock copying, strip copying, palette indexing, transforming, quantization, inverse transform, inverse quantization, compensation corresponding to prediction residuals and replica residuals (ie, inverse operations of residual operations), prediction And the residual, DPCM, first and higher order difference, mapping, run, index, deblocking filtering, sample adaptive offset (Sample Adaptive Offset), encoding and reconstruction operations and entropy coding operations;
  • the output is a reconstructed pixel (including fully reconstructed pixels and partially reconstructed pixels of varying degrees) and a video stream containing copy-encoded results of the cross-copy and/or rectangular copy and/or dot-copy mix and other encoded results;
  • the video code stream is an output of the present coding method, and includes all syntax elements required for
  • FIG. 7 is a schematic flow chart of a second encoding method according to a preferred embodiment of the present invention. As shown in FIG. 7, the second encoding method of the present invention includes all or part of the following steps:
  • the reference sample value when the reference sample value is not equivalent to the reconstructed sample value, the reference sample value can be generated once and then temporarily stored for later need When used multiple times, it can be generated immediately when needed, or it can be a combination of the two production methods;
  • FIG. 8 is a schematic flowchart diagram of a first decoding method according to a preferred embodiment of the present invention. As shown in FIG. 8, the first decoding method of the present invention includes all or part of the following steps:
  • FIG. 9 is a schematic flow chart of a second decoding method according to a preferred embodiment of the present invention. As shown in FIG. 9, the second decoding method of the present invention includes all or part of the following steps:
  • a sample value or a pixel value variant that undergoes multiple processing and transformation When the reference sample value is not equal to the reconstructed sample value, the reference sample value may be generated once and then temporarily stored for later use, or may be used each time. Instantly generated, or a combination of the two methods of production;
  • FIG. 10 is a first schematic diagram of an encoding apparatus according to a preferred embodiment of the present invention. As shown in FIG. 10, the entire encoding apparatus is composed of all or part of the following modules:
  • Search and copy coding module for serial copy and/or rectangular copy and/or dot copy mixing: performing copy copying of input pixel samples and/or rectangular copy and/or dot copy mixing, in the first reference cache Searching for an optimal reference string and/or an optimal reference rectangle, searching for an optimal reference point in the second reference buffer, and generating a copy parameter of the reference string and/or a copy parameter of the reference rectangle and/or a copy parameter of the reference point And/or no reference pixel samples;
  • Reconstructing the reference pixel sample set module for temporarily storing the reconstructed pixel samples, and constructing the first reference cache unit by using part or all of the reconstructed reference pixel sample set module, as a subsequent various coding modes , including but not limited to block copy coding, microblock copy coding, strip copy coding, string copy coding, rectangular copy coding, multiple types of copy mode hybrid copy coding, palette copy coding, palette coding, pixel index coding a reference pixel sample for predictive coding, search, encoding, and reconstruction; the input of the reconstructed reference pixel sample set is a reconstructed sample and the output of the first reference cache unit is a reference sample, reference Sample values can be equivalent to reconstructed samples, or can be various variants of reconstructed samples, such as samples processed by pixel clustering, color quantization, numerical quantization, vector quantization, denoising, filtering, feature extraction, etc.
  • the reference sample value when the reference sample value is not equal to the reconstructed sample value, the reference sample value may be generated once and then temporarily stored for later use when needed, or may be generated immediately when needed, or both. a combination of production methods;
  • the second reference cache module constructed by some or all of the reference pixel samples; mainly used for point copy coding reference pixels, but can also be used for other copy coded reference pixels;
  • the remaining modules for encoding, reconstructing, and generating video stream data performing the remaining encoding and reconstruction operations, performing various common techniques on input pixels, various parameters, and variables, such as intra prediction, inter prediction, and block. Copy, microblock copy, strip copy, palette index, transform, quantization, inverse transform, inverse quantization, compensation corresponding to prediction residual and replica residual (ie, inverse operation of residual operation), prediction and disability Difference, DPCM, first and higher order difference, mapping, run, index, deblocking filtering, sample adaptive offset (Sample Adaptive Offset), encoding and reconstruction operations, and entropy encoding operations; the output of this step is already Reconstructing pixels (including fully reconstructed pixels and partially reconstructed pixels of varying degrees) and with string copying And/or rectangular copy and/or dot copy mixed copy coding result, various other copy coding mode coding results and other coded video code streams; the video code stream is an output of the coding method, and includes corresponding The decoding method performs all the syntax elements required for decoding
  • FIG. 11 is a second schematic diagram of an encoding apparatus according to a preferred embodiment of the present invention. As shown in FIG. 11, the entire decoding apparatus is composed of all or part of the following modules:
  • string copy / rectangular copy / point copy mixed copy decoding module the function of this module is the copy parameters of the reference string obtained from the code stream and / or copy parameters of the reference rectangle and / or copy parameters of the reference point, And/or without reference pixel samples, performing a copy and decode operation of a string copy and/or a rectangular copy and/or a point copy, that is, in accordance with a known copy path shape pattern, in the case of a reference string and/or a reference rectangle, a reference string and/or a reference rectangle in a position specified by a copy parameter of a reference string and/or a copy parameter of a reference rectangle (including but not limited to a copy position) in the first reference buffer unit, the size of which is also determined by the copy parameter of the reference string And/or the value of the pixel sample specified by the copy parameters of the reference rectangle (including but not limited to the copy size) is directly or indirectly assigned to the current string and/or the current rectangle, and in the case of the reference point, the second reference is used.
  • the value of the pixel value of the reference point at the position specified by the copy parameter of the reference point (including but not limited to the copy position) in the cache module is directly or indirectly assigned to one or several current solutions.
  • the code point, the number of repetitions is specified by the copy parameters of the reference point (including but not limited to the copy size);
  • Reconstructing the reference pixel sample set module for temporarily storing the reconstructed pixel samples, and constructing the first reference cache unit by using part or all of the reconstructed reference pixel sample set module, as a subsequent various decoding modes , including but not limited to block copy decoding, microblock copy decoding, strip copy decoding, string copy decoding, rectangular copy decoding, multiple types of copy mode hybrid copy decoding, palette copy decoding, palette decoding, pixel index decoding a reference pixel sample at the time of decoding and reconstruction of the prediction decoding; the input of the reconstructed reference pixel sample set is a reconstructed sample and the output of the first reference buffer unit is a reference sample, a reference sample It can be equivalent to reconstructing samples, or it can be various variants of reconstructed samples, such as samples or processes after pixel clustering, color quantization, numerical quantization, vector quantization, denoising, filtering, feature extraction, etc.
  • sample values of color format conversion, permutation conversion, frequency domain conversion, spatial domain mapping, DPCM, first-order or higher-order difference operations, indexing, etc., or multi-processed and transformed pixel values Body when the reference sample value is not equal to the reconstructed sample value, the reference sample value can be generated once and then temporarily stored for later use when needed, or can be generated immediately when needed, or both of them can be generated.
  • the second reference cache module is constructed by using some or all of the reference pixel samples; it is mainly used for point copy coding reference pixels, but can also be used for other copy coded reference pixels.
  • the invention is applicable to the encoding and decoding of images in a stacked format.
  • the pixels of the current CU and the pixels of the first and second reference buffers and the reconstructed reference pixel sample set are all arranged in a stack format.
  • Reference block, reference microblock, reference strip, reference string, reference rectangle, reference point and current block, current microblock, current strip, current string, current rectangle, current point are arranged in a stack format. That is, in a single pixel formed by a single cross-stacking of three component samples, a sample set of three component samples and a single cross-arrangement is formed. Searching or copying reference blocks, reference microblocks, reference strips, reference strings, reference rectangles, reference points, etc. among such first and second reference buffers and reconstructed reference pixel sample sets.
  • the invention is equally applicable to the encoding and decoding of component plane format images.
  • the pixels of the current CU and the pixels of the first and second reference buffers and the reconstructed reference pixel sample set are all decomposed into three component planes, and one component of all pixels forms a plane.
  • Reference block, reference microblock, reference strip, reference string, reference rectangle, reference point and current block, current microblock, current strip, current string, current rectangle, current point are all decomposed into 3 component planes, one component of all pixels Form a plane.
  • a reference block, reference microblock, reference strip, reference string, reference rectangle, reference point and current block, current microblock, current strip, current string, current rectangle, current point contain only samples of one component.
  • Block copying, microblock copying, strip copying, string copying, rectangular copying, and point copying are all performed in three planes. However, in order to reduce the copy parameters, and because the three planes have great correlation, the same copy parameters can be shared by the three planes.
  • the invention is equally applicable to the encoding or decoding of coded blocks or decoded blocks of indexed pixels.
  • the pixels of the two reference buffers of the first and second reference buffers may have different component arrangement formats, color formats, and pixel sample arrangement patterns.
  • the pixels of the two reference buffers of the first and second reference buffers may also be completely reconstructed pixels or phased reconstructed pixels of respective unique reconstruction stages of mutually different degrees.
  • the second reference buffer is a non-reference pixel with a high reference frequency or a high probability of being copied.
  • the update of the second reference cache includes, but is not limited to, one of the following situations:
  • the content (reference sample value) in the second reference buffer is updated according to a predetermined policy (such as the frequency of occurrence of the sample in the historical reconstructed image),
  • a predetermined policy such as the frequency of occurrence of the sample in the historical reconstructed image
  • the number of reference samples in the second reference buffer also varies according to a predetermined strategy; the coded block or decoded block of the code stream or the PU or CU or CTU or LCU part of the code stream segment directly or indirectly contains but is not limited to loading All or part of the syntax elements of the following parameters or their variants:
  • srb_update_flag When srb_update_flag takes a value, it indicates that the second reference cache needs to be updated. When srb_update_flag takes another value, it indicates that the second reference cache does not need to be updated; when it is not necessary to update the second reference cache, srb_update_num does not exist in the code stream segment when needed. When updating the second reference cache, srb_update_num specifies the number of samples of the second reference cache that need to be updated.
  • a copy parameter of a reference string a copy parameter of a reference rectangle
  • a copy parameter of a reference point a copy parameter of a reference point
  • a copy parameter of a reference string In a coded block or a decoded block or a code stream data of a PU or CU or a CTU or an LCU, there are two types of copy parameters: a copy parameter of a reference string, a copy parameter of a reference point, and a hybrid type of copying. Encoding or decoding: string copy, point copy.
  • Copy parameter 1 Copy parameter 2, copy parameter 3, ..., copy parameter i, copy parameter i+1, ...
  • the replication parameters consist of a number of domains that replicate sub-parameters, including but not limited to:
  • Copy sub-parameter field 1 copy type, indicating whether the copy mode is a string copy or a rectangle copy or a point copy; if it is a string copy or a rectangle copy, the reference pixel is taken from the first reference cache; otherwise, the reference pixel is taken from the second reference cache;
  • Copy sub-parameter field 2 copy location, indicating the location of the reference pixel in the first reference cache or the second reference cache;
  • Copy sub-parameter field 3 copy size, indicating the number of pixels of the current string or current rectangle or current point;
  • the number of pixels of the reference string is equal to the number of pixels of the current string
  • the number of pixels of the reference rectangle is equal to the number of pixels of the current rectangle
  • the number of pixels of the reference point is always equal to 1, and thus the number of pixels of the current point is the number of repetitions of the reference point and its value at the current encoding or decoding position;
  • Copy sub-parameter field 4 no reference pixels, indicating the value of no reference pixels
  • some of the replicated sub-parameter fields can be null.
  • Code stream data includes, but is not limited to, direct representation or indirect representation (example of indirect representation: after first or higher order differential coding and/or predictive coding and/or matched coding and/or mapping coding and/or transform coding and/or quantization
  • example of indirect representation after first or higher order differential coding and/or predictive coding and/or matched coding and/or mapping coding and/or transform coding and/or quantization
  • the following copying sub-parameter domain syntax elements are encoded and/or index encoded and/or run-length encoded and/or binarized encoded and/or entropy encoded:
  • Ti, Pi, Si, Ni are respectively the copy type of the copy parameter i, the copy position, the copy size, and no reference pixels; the order of the syntax elements of the copy sub-parameter field in the code stream is not unique. Any predetermined reasonable order may be employed; a syntax element may also be split into several parts, which may be placed in the same place in the code stream, or may be placed in different places in the code stream; Syntax elements can also be combined into one syntax element; some syntax elements may not exist in the code stream data of a copy parameter; a syntax element may also not exist directly in the code stream data but from other encoding or decoding. Exported in a parameter or variable; multiple syntax elements that represent the same type of copy sub-parameter can be placed in the same place in the code stream, such as:
  • T1, T2 Ti..., P1, P2, ..., ..., S1, S2, ..., Si..., N1, N2, ... Ni...
  • the replica sub-parameter domain is a single-component sub-parameter domain or a two-component sub-parameter domain or a three-component sub-parameter domain
  • the copy position Pi or its variant is a single-component sub-parameter domain or a two-component sub-parameter domain or a three-component sub-parameter domain;
  • the syntax elements in the code stream corresponding to the copy location Pi or its variant have, but are not limited to, the following forms One:
  • the syntax element of the copy position Pi of a reference string or its variant: d (a component such as a positional linear address or index)
  • the copy position Pi or its variant is a single-component sub-parameter domain or a two-component sub-parameter domain or a three-component sub-parameter domain;
  • the syntax elements in the code stream corresponding to the copy location Pi or its variant have, but are not limited to, the following forms One:
  • the copy size Si or its variant is a single-component sub-parameter domain or a two-component sub-parameter domain or a three-component sub-parameter domain;
  • the syntax elements in the code stream corresponding to the replica size Si or its variant have, but are not limited to, the following forms One:
  • the copy size of a reference string Si or its variant corresponds to the syntax element: r (one component)
  • the copy size of a reference string Si or its variant corresponds to the syntax element: r[0], r[1] (two components)
  • the copy size of a reference string or its variant corresponds to the syntax elements: r[0], r[1], r[2] (three components)
  • the copy size Si or its variant is a single-component sub-parameter domain or a two-component sub-parameter domain or a three-component sub-parameter domain;
  • the syntax elements in the code stream corresponding to the replica size Si or its variant have, but are not limited to, the following forms One:
  • the copy size of a reference rectangle or its variant corresponds to the syntax element: r (one component)
  • the copy size of a reference rectangle or its variant corresponds to the syntax element: r[0], r[1] (two components)
  • the copy size of a reference rectangle or its variant corresponds to the syntax elements: r[0], r[1], r[2] (three components)
  • the non-reference pixel Ni or its variant is a single-component sub-parameter domain or a two-component sub-parameter domain or a three-component sub-parameter domain; the syntax elements in the code stream corresponding to the non-reference pixel Ni or its variant have, but are not limited to, the following One of the forms:
  • the coded block or decoded block of the codestream or the PU or CU or CTU or LCU partial codestream segment contains, but is not limited to, all or part of the syntax elements loaded with the following parameters or variants thereof:
  • the first type of mode (such as codec mode)
  • the second type of mode (such as copy path shape mode)
  • the third type of mode (such as pixel sample arrangement),
  • the fourth type of mode (such as 2-4 different parameter coding modes, different parameter binarization and/or entropy coding modes),
  • Copy flag bit 1 sample set number 1 or empty, (copy position 1, copy size 1) or no reference value 1 or empty,
  • Copy mark 2 sample set number 2 or empty, (copy position 2, copy size 2) or no reference value 2 or empty,
  • More copy mark bits sample set number or empty, (copy position, copy size) or no reference value or empty,
  • any one of the syntax elements may also be split into several parts, and the parts may be placed in a centralized manner.
  • the same place in the code stream can also be placed in different places in the code stream; any number of syntax elements can also be combined into one syntax element; any syntax element may not exist in a coding block or decoding block or PU or CU or In the code stream segment of the CTU or LCU;
  • the copy position, copy size, no reference pixel sample and other parameters in the code stream segment may be these parameters themselves, or they may be predictive coding, matched coding, transform coding, quantization coding, DPCM, first order and high order. Variants of various common techniques such as differential coding, mapping coding, run length coding, and index coding;
  • the copy position, the copy size, and the no reference pixels may have only one component, or two components, or may be further divided into three components or even more components.
  • the sample set number can be part of the copy location, or there is only one set of samples, in which case the sample set number is empty.
  • the reconstructed reference pixel sample set has, but is not limited to, the following component arrangement format, color format, and pixel sample arrangement:
  • Stack format YUV or GBR color format, vertical scanning 1D string arrangement in LCU or CU, or
  • Stack format YUV or GBR color format, LCU or CU horizontal scanning 1D string arrangement, or
  • Stacking format YUV or GBR color format, 2D arrangement inherent to the image, or
  • Reference string and its copy position and copy length example (copy left, copy upper side)
  • the reference string and the current string may have mutually overlapping sample positions, that is, the copy position D and the copy length L of the reference string satisfy the following relationship: D ⁇ L; at this time, the L samples of the current string are the first of the reference strings.
  • the repetition of the D samples between the sample and the first sample of the current string that is, the D samples before the first sample of the current string, that is:
  • the sample P before the current string is the first sample of the current string (ie, the current sample) is repeated L times: PPP...PP, that is, the L samples of the current string are all P; this case is equivalent to repeating L+1 times with the sample P before the current sample; if P is in the second reference buffer, its copy position in the second reference buffer is D2, then this P can be
  • the current string is the two samples P1P2 before the current sample repeat L/2 times: P1P2P1P2...P1P2, that is, the L samples of the current string are all repetitions of P1P2;
  • the current string is the two samples before the current sample.
  • P1P2 is repeated (L-1)/2 times and then P1: P1P2P1P2...P1P2P1, that is, the L of the current string.
  • Each sample value is a repetition of P1P2, and finally P1;
  • the current string is the repetition of the three samples P1P2P3 before the current sample until the length reaches L;
  • the current string is the repetition of the four samples P1P2P3P4 before the current sample until the length reaches L;
  • the matching current string is the D samples P1P2...PD-1PD before the current sample until the length reaches L;
  • the reference pixel sample is an example of a variant of the reconstructed pixel sample.
  • the reference pixel sample is a sample of the reconstructed pixel sample subjected to numerical quantization and inverse quantization; or
  • the reference pixel sample is a sample of the reconstructed pixel sample subjected to numerical quantization and inverse quantization operation, and is not changed after being calculated once; or
  • the reference pixel sample is a sample of the reconstructed pixel sample subjected to numerical quantization and inverse quantization operations, which are calculated using encoded or decoded quantization parameters; or
  • the reference pixel samples are samples of the reconstructed pixel samples subjected to numerical quantization and inverse quantization operations, which are calculated using the encoded or decoded quantization parameters of the CU in which the reference pixel samples are located; or
  • the reference pixel sample is a sample of the reconstructed pixel sample subjected to numerical quantization and inverse quantization operations, and the numerical quantization and inverse quantization operations are calculated using the encoding or decoding quantization parameter of the CU in which the reference pixel sample is located, and after calculation once, Change again; or
  • the reference pixel samples are samples of the reconstructed pixel samples subjected to numerical quantization and inverse quantization operations, which are calculated using the encoding or decoding quantization parameters of the current CU; or
  • the reference pixel sample is a sample of the reconstructed pixel sample subjected to numerical quantization and inverse quantization operations, which are calculated using the encoding or decoding quantization parameter of the current CU, and each encoding or decoding of a CU is to be re Calculated once; or
  • the reference pixel sample is a color quantized sample of the reconstructed pixel sample
  • the reference pixel sample is a color quantized sample of the reconstructed pixel sample, the color quantization being calculated using a palette obtained by color-based pixel clustering; or
  • the reference pixel sample is a color quantized sample of the reconstructed pixel sample, the color quantization using a color-based pixel cluster associated with the coded block or decoded block or PU or CU or CTU or LCU of the reference pixel sample. Get the palette to calculate; or
  • the reference pixel sample is a color quantized sample of the reconstructed pixel sample, the color quantization using a reference pixel
  • the sample is calculated by the color block obtained by the coding block or the decoded block or the PU or CU or the color-based pixel cluster associated with the CTU or the LCU, and is not changed after the calculation once; or
  • the reference pixel sample is a color quantized sample of the reconstructed pixel sample, the color quantization using a color-based pixel cluster associated with the coded block or decoded block or PU or CU or CTU or LCU of the reference pixel sample.
  • the obtained dynamic update part of the content of the palette is calculated, after calculation once, no longer changes; or
  • the reference pixel samples are color-quantized samples of reconstructed pixel samples that are color-coded using a color-based pixel cluster associated with the current coded block or decoded block or PU or CU or CTU or LCU. Board to calculate; or
  • the reference pixel samples are color-quantized samples of reconstructed pixel samples that are color-coded using a color-based pixel cluster associated with the current coded block or decoded block or PU or CU or CTU or LCU.
  • the board calculates, each encoding or decoding a code block or decoding block or PU or CU or CTU or LCU, to be recalculated; or
  • the reference pixel samples are color quantized samples of reconstructed pixel samples that are computed using a palette of global color-based pixel clustering.
  • Copy position variants (differential, etc.) and format (1D or 2D, etc.)
  • the reconstructed reference pixel sample set and/or the first reference buffer sample and the current CU sample are arranged into a one-dimensional array in a predetermined manner, and each sample in the array has a linear address, the current string a copy position is a linear address of a first sample of the corresponding reference string minus a linear address of the first sample of the current string; the corresponding syntax element of the copy position in the compressed data bitstream is Copying the entropy-encoded syntax element; the copy location is usually a univariate parameter, ie only 1 component; or
  • the reconstructed reference pixel sample set and/or the first reference buffer sample and the current CU sample are arranged into a one-dimensional array in a predetermined manner, and each sample in the array has a linear address, the current string a copy position is a linear address of a first sample of the corresponding reference string minus a linear address of the first sample of the current string; the corresponding syntax element of the copy position in the compressed data bitstream is A syntax element that is entropy encoded after the copy position and other copy positions are subjected to permutation conversion and/or mapping operations and/or string matching encoding and/or first or higher order prediction and difference operations; the copy position is usually a single The variable parameter has only 1 component; or
  • Reconstructing the reference pixel sample set and/or the sample of the first reference buffer and the sample of the current CU are arranged into a 2-dimensional array in a predetermined manner, and each sample in the array has a plane coordinate, the current string
  • the copy position is the plane coordinate of the first sample of the corresponding reference string minus the plane coordinate of the first sample of the current string;
  • the corresponding syntax element of the copy position in the compressed data bit stream is Copying the entropy-encoded syntax element;
  • the copy location is usually a bivariate parameter with 2 components; or
  • Reconstructing the reference pixel sample set and/or the sample of the first reference buffer and the sample of the current CU are arranged into a 2-dimensional array in a predetermined manner, and each sample in the array has a plane coordinate, the current string
  • the copy position is the plane coordinate of the first sample of the corresponding reference string minus the plane coordinate of the first sample of the current string
  • the corresponding syntax element of the copy position in the compressed data bit stream is Copy location and other copy locations are arranged and/or mapped Encoding and/or string matching encoding and/or first or higher order prediction and difference operations followed by entropy encoding syntax elements
  • the copy position is usually a bivariate parameter having 2 components; or
  • Reconstructing the reference pixel sample set and/or the sample of the first reference buffer and the sample of the current CU are first divided into several regions according to a predetermined manner, and the samples in each region are further arranged into a 2-dimensional array.
  • Each sample in the region and the array has an area number and a plane coordinate.
  • the copy position of the current string is the area number of the first sample of the corresponding reference string and the plane coordinate minus the first of the current string.
  • An area number and a plane coordinate of the sample; the corresponding syntax element in the compressed data bit stream is an entropy-encoded syntax element of the copy position; the copy position is usually a three-variable parameter having 3 components ;or
  • Reconstructing the reference pixel sample set and/or the sample of the first reference buffer and the sample of the current CU are first divided into several regions according to a predetermined manner, and the samples in each region are further arranged into a 2-dimensional array. Each sample in the region and the array has an area number and a plane coordinate.
  • the copy position of the current string is the area number of the first sample of the corresponding reference string and the plane coordinate minus the first of the current string.
  • the corresponding syntax element of the copy position in the compressed data bit stream is that the copy position and other copy positions are subjected to an arrangement conversion and/or a mapping operation and/or a string matching code and/or a first-order or higher-order prediction and difference operation followed by entropy-encoded syntax elements;
  • the copy position is usually a three-variable parameter that has three components;
  • Reconstructing the reference pixel sample set and/or the sample of the first reference buffer and the sample of the current CU are first divided into several regions according to a predetermined manner, and the samples in each region are further arranged into a one-dimensional array.
  • Each sample in the region and array has an area number and a linear address.
  • the copy position of the current string is the area number and linear address of the first sample of the corresponding reference string minus the first of the current string.
  • An area number and a linear address of the sample; the corresponding syntax element in the compressed data bitstream is an entropy encoded syntax element of the copy position; the copy position is usually a bivariate parameter having 2 components ;or
  • Reconstructing the reference pixel sample set and/or the sample of the first reference buffer and the sample of the current CU are first divided into several regions according to a predetermined manner, and the samples in each region are further arranged into a one-dimensional array. Each sample in the region and array has an area number and a linear address.
  • the copy position of the current string is the area number and linear address of the first sample of the corresponding reference string minus the first of the current string.
  • An area number and a linear address of the sample; the corresponding syntax element of the copy position in the compressed data bit stream is that the copy position and other copy positions are subjected to an arrangement conversion and/or a mapping operation and/or a string matching code and/or First-order or higher-order prediction and difference operations followed by entropy-encoded syntax elements; the copy position is usually a bivariate parameter with 2 components.
  • Copy length variants (differential, etc.) and format (univariate or bivariate, etc.)
  • the copy length L of the current string is a univariate parameter; the corresponding syntax element in the compressed data bitstream is a syntax element of the copy length univariate parameter entropy encoded; or
  • the copy length L of the current string is a univariate parameter; the corresponding syntax element in the compressed data bit stream is a univariate parameter of the copy length and a univariate parameter of other copy lengths are arranged and/or converted Entropy encoded syntax elements after mapping operations and/or string matching encoding and/or first or higher order prediction and difference operations; or
  • the variable parameters are entropy encoded syntax elements after permutation and/or mapping operations and/or string matching encoding and/or first or higher order prediction and difference operations; or
  • the corresponding syntax element in the compressed data bitstream is the syntax element of the non-reference pixel entropy encoded
  • the corresponding syntax elements in the compressed data bitstream are the non-reference pixels and the other non-reference pixels are subjected to permutation and/or mapping operations and/or string matching encoding and/or first or higher order prediction and difference.
  • the corresponding syntax element in the compressed data bitstream is a syntax element that is entropy encoded after the non-reference pixel is quantized;
  • the corresponding syntax elements in the compressed data bitstream are the non-reference pixels and the other non-reference pixels are subjected to permutation and/or mapping operations and/or string matching encoding and/or first or higher order prediction and difference.
  • the quantized operation is followed by the entropy-encoded syntax element.
  • the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware, but in many cases, the former is A better implementation.
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk, CD-ROM, including a number of instructions to make a terminal device (can be a mobile phone, a computer, The server, or network device, etc.) performs the methods described in various embodiments of the present invention.
  • each of the above modules may be implemented by software or hardware.
  • the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the modules are located in multiple In the processor.
  • Embodiments of the present invention also provide a storage medium.
  • the foregoing storage medium may be configured to store program code for performing the steps of the above method:
  • the storage medium is further arranged to store program code for performing the method steps described above:
  • the foregoing storage medium may include, but not limited to, a USB flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, and a magnetic memory.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • a mobile hard disk e.g., a hard disk
  • magnetic memory e.g., a hard disk
  • the processor performs the above method steps according to the stored program code in the storage medium.
  • modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
  • the invention is not limited to any specific combination of hardware and software.
  • a coding block is coded, and pixels in the coding block are coded by using multiple types of copy coding modes to generate multiple types of coding results and code stream data;
  • the plurality of types of code stream data are mixed to form part or all of the code stream data of the coded block; or, the code stream is parsed to obtain a decoding parameter of the decoded block of the code stream; and the use of the decoding parameter is used according to the decoding parameter.
  • the decoding method decodes the code stream of different parts of the decoding block, solves the problem that the screen image compression efficiency of the image area is not good, and improves the compression effect.

Landscapes

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

Abstract

一种图像编码、解码方法及装置,其中,对一个编码块进行编码,对所述编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;将所述多种类型的码流数据混合组成所述编码块的码流数据的部分或全部;或者,解析码流,获得解码块的解码参数;根据所述解码参数,使用多种解码方式对所述解码块的不同部分的码流进行解码,解决了图像区域混合的屏幕图像压缩效率效果不好的问题,提高了压缩效果。

Description

图像编码、解码方法及装置 技术领域
本发明涉及一种数字视频压缩编码及解码系统,具体而言,涉及一种图像编码、解码方法及装置。
背景技术
随着以远程桌面为典型表现形式的新一代云计算与信息处理模式及平台的发展和普及,多台计算机之间、计算机主机与智能电视、智能手机、平板电脑等其他数字设备之间及各种各类数字设备之间的互联已经成为现实并日趋成为一种主流趋势。这使得服务器端(云)到用户端的实时屏幕传输成为当前的迫切需求。由于需要传输的屏幕视频数据量很大,以平板电脑2048x1536像素分辨率且60帧/秒刷新率的24位真彩色屏幕图像为例,需要传输的数据达每秒2048x1536x60x24=4320兆比特,如此多的数据要想在现实的网络条件下实现实时传输是不可能的,因此对于计算机屏幕图像的有效的数据压缩必不可少。
充分利用计算机屏幕图像的特点,对计算机屏幕图像进行超高效率的压缩,也是正在制定中的最新国际视频压缩标准HEVC(High Efficiency Video Coding)和其他若干国际标准、国内标准、行业标准的一个主要目标。
屏幕图像的数字视频信号的自然形式是图像的序列。一帧图像通常是由若干像素组成的矩形区域,如果一个数字视频信号每秒有50帧图像,那么一段30分钟的数字视频信号就是一个由30x60x50=90000帧图像组成的视频图像序列,有时也简称为视频序列或序列。对数字视频信号进行编码就是对一帧一帧图像进行编码。在任一时刻,正在编码中的那一帧图像称为当前编码图像。同样,对数字视频信号的码流(码流也称为比特流)进行解码就是对一帧一帧图像的码流进行解码。在任一时刻,正在解码中的那一帧图像称为当前解码图像。当前编码图像或当前解码图像都统称为当前图像。
在几乎所有视频图像编码的国际标准如MPEG-1/2/4,H.264/AVC以及HEVC中,对一帧图像进行编码时,把一帧图像划分成若干块MxM像素的子图像,称为“编码单元(Coding Unit简称CU)”,以CU为基本编码单位,对子图像一块一块进行编码。常用的M的大小是4,8,16,32,64。因此,对一个视频图像序列进行编码就是对各帧图像的各个编码单元即CU依次一个一个CU进行编码。在任一时刻,正在编码中的CU称为当前编码CU。同样,对一个视频图像序列的码流进行解码也是对各帧图像的各个CU依次一个一个CU进行解码,最终重构出整个视频图像序列。在任一时刻,正在解码中的CU称为当前解码CU。当前编码CU或当前解码CU统称为当前CU。
为适应一帧图像内各部分图像内容与性质的不同,有针对性地进行最有效的编码,一帧图像内各CU的大小可以是不同的,有的是8x8,有的是64x64,等等。为了使不同大小的CU 能够无缝拼接起来,一帧图像通常先划分成大小完全相同具有NxN像素的“最大编码单元(Largest Coding Unit简称LCU)”,然后每个LCU再进一步划分成多个大小不一定相同的CU。例如,一帧图像先划分成大小完全相同的64x64像素的LCU(N=64)。其中某个LCU由3个32x32像素的CU和4个16x16像素的CU构成。而另一个LCU由2个32x32像素的CU、3个16x16像素的CU和20个8x8像素的CU构成。由于一个LCU内的各个CU呈树状结构,LCU的另一个名称是编码树单元(Coding Tree Unit简称CTU)”。在HEVC国际标准中,LCU与CTU是同义词。
CU也可以再进一步被划分成若干子区域。子区域包括但不限于预测单元(PU),变换单元(TU),不对称划分(AMP)。
在本发明和本发明专利申请中,CU(即编码单元)有两种含义,一种含义是HEVC定义的含义,另一种含义是一帧图像中的一个区域。根据上下文,可以明确“CU”是哪种含义,如果从上下文不能明确,那么就是同时表示两者之任一。
在本发明和本发明专利申请中,编码块或解码块是指一帧图像中对其施行编码或解码的一个区域。
因此,在本发明和本发明专利申请中,对于编码来说,“CU”的另一种含义与“编码块”是同义词,对于解码来说,“CU”的另一种含义与“解码块”是同义词,根据上下文,可以明确“CU”是表示“编码块”还是表示“解码块”,如果从上下文不能明确,那么就是同时表示两者之任一。
一个彩色像素通常有3个分量(component)组成。最常用的两种像素色彩格式(pixel 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个分量。调色板可以是一个,也可以是多个。在多个调色板的情形,一个完整的索引实际上由调色板编号和该编号的调色板的索引两部分组成。像素的索引表现格式就是用索引来表现这个像素。像素的索引表现格式在现有技术中也被称为像素的索引颜色(indexed color)或仿颜色(pseudo color)表现格式,或者常常被直接称为索引像素(indexed pixel)或仿像素(pseudo  pixel)或像素索引或索引。索引有时也被称为指数。把像素用其索引表现格式来表现也称为索引化或指数化。
其他的常用的现有技术的像素表现格式包括CMYK表现格式和灰度表现格式。
YUV色彩格式又可根据是否对色度分量进行下采样再细分成若干种子格式:1个像素由1个Y分量、1个U分量、1个V分量组成的YUV4:4:4像素色彩格式;左右相邻的2个像素由2个Y分量、1个U分量、1个V分量组成的YUV4:2:2像素色彩格式;左右上下相邻按2x2空间位置排列的4个像素由4个Y分量、1个U分量、1个V分量组成的YUV4:2:0像素色彩格式。一个分量一般用1个8~16比特的数字来表示。YUV4:2:2像素色彩格式和YUV4:2:0像素色彩格式都是对YUV4:4:4像素色彩格式施行色度分量的下采样得到。一个像素分量也称为一个像素样值或简单地称为一个样值。
编码或解码时的最基本元素可以是一个像素,也可以是一个像素分量,也可以是一个像素索引(即索引像素)。作为编码或解码的最基本元素的一个像素或一个像素分量或一个索引像素统称为一个像素样值,有时也通称为一个像素值,或简单地称为一个样值。
在本发明和本发明专利申请中,“像素样值”、“像素值”、“样值”、“索引像素”、“像素索引”是同义词,根据上下文,可以明确是表示“像素”还是表示“一个像素分量”还是表示“索引像素”或者同时表示三者之任一。如果从上下文不能明确,那么就是同时表示三者之任一。
在本发明和本发明专利申请中,CU是由若干像素值组成的一个区域。CU的形状可以是矩形、正方形、平行四边形、梯形、多边形、圆形、椭圆形及其他各种形状。矩形也包括宽度或高度为一个像素值的退化为线(即线段或线形)的矩形。一帧图像中,各个CU可以具有各不相同的形状和大小。一帧图像中,某些或全部CU可以有互相重叠部分,也可以所有CU都互不重叠。一个CU,可以由“像素”组成,也可以由“像素的分量”组成,也可以由“索引像素”组成,也可以由这3者混合组成,也可以由这3者中之任意2种混合组成。
计算机屏幕图像的一个显著特点是同一帧图像内通常会有很多相似甚至完全相同的像素图样(pixel pattern)。例如,计算机屏幕图像中常出现的中文或外文文字,都是由少数几种基本笔划所构成,同一帧图像内可以找到很多相似或相同的笔划。计算机屏幕图像中常见的菜单、图标等,也具有很多相似或相同的图样。因此,现有的图像和视频压缩技术中通常采用的编码方式包括:
1、帧内块复制即帧内块匹配或称帧内运动补偿或称块复制或称块匹配;
2、帧内微块复制即帧内微块匹配或称微块复制或称微块匹配;
3、帧内线条(简称条)复制即帧内条匹配或称条复制或称条匹配;
4、帧内串复制即帧内串匹配或称串复制或称串匹配。这里的串是指把一个任意形状的2维区域内的像素样值排列成一个长度远大于宽度的串(如宽度为1个像素样值而长度为37个 像素样值的串或宽度为2个像素样值而长度为111个像素样值的串,通常但不限于长度是一个独立编码或解码参数而宽度是一个由其他编码或解码参数导出的参数);
5、调色板索引复制(简称索引复制),首先把一个CU内的像素用调色板及其索引来表示,然后对索引进行复制编码。
由于屏幕图像通常有各种不同性质的区域,有的具有比较大的或形状较规则的互相相似或相同的图样,而有的则具有很小的或形状不规则的互相相似或相同的图样,上述编码方式的每一种,都仅适用于某一性质的图像区域,不适用于各种性质的图像区域混合的屏幕图像,也不可能找到各种不同大小和形状的匹配。因此,必须寻求新的编码工具来充分发掘和利用计算机屏幕图像中存在着各种不同性质的相似或相同图样的特性,以大幅度提高压缩效果。
针对相关技术中,图像区域混合的屏幕图像压缩效率效果不好的问题,目前还没有有效的解决方案。
发明内容
本发明提供了一种图像编码、解码方法及装置,以至少解决相关技术中图像区域混合的屏幕图像压缩效率效果不好的问题。
根据本发明的一个方面,提供了一种图像编码方法,包括:
对一个编码块进行编码时,对所述编码块内的一部分像素采用第一种类型的复制编码方式进行编码,产生所述第一种类型的编码结果和码流数据,对所述编码块内的另一部分像素则采用第二种类型和/或第三种类型的复制编码方式进行编码,产生所述第二种类型和/或所述第三种类型的编码结果和码流数据;所述第一种类型的码流数据以及所述第二种类型和/或所述第三种类型的码流数据混合组成所述编码块的码流数据的部分或全部。
进一步地,所述第一种类型的复制编码方式是串复制编码方式,所述第二种类型的复制编码方式是矩形复制编码方式,所述第三种类型的复制编码方式是点复制编码方式。
进一步地,采用所述第一种类型的复制编码方式时,总是采用第一参考缓存的像素作为参考像素;采用所述第二种类型的复制编码方式时,总是采用所述第一参考缓存的像素作为参考像素;采用所述第三种类型的复制编码方式时,总是采用第二参考缓存的像素作为参考像素,其中,所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
进一步地,编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
根据本发明的另一个方面,还提供了一种图像编码方法,包括:
对一个编码块进行编码时,所述编码块内的一部分像素采用第一参考缓存的像素作为参考像素,所述编码块内的另一部分像素则采用第二参考缓存的像素作为参考像素;所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无 参考像素样值构造而成。
进一步地,所述编码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
根据本发明的另一个方面,还提供了一种图像解码方法,包括:
解析一个解码块的码流数据,获取与解码有关的参数;根据所述参数,对所述解码块的一部分码流数据采用第一种类型的复制解码方式进行解码,对所述解码块的另一部分码流数据则采用第二种类型和/或第三种类型的复制解码方式进行解码。
进一步地,所述第一种类型的复制解码方式是串复制解码方式,所述第二种类型的复制解码方式是矩形复制解码方式,所述第三种类型的复制解码方式是点复制解码方式。
进一步地,采用所述第一种类型的复制解码方式时,总是采用第一参考缓存的像素作为参考像素;采用所述第二种类型的复制解码方式时,总是采用所述第一参考缓存的像素作为参考像素;采用所述第三种类型的复制解码方式时,总是采用第二参考缓存的像素作为参考像素,所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
进一步地,所述解码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
根据本发明的另一个方面,还提供了一种图像解码方法,包括:
解析一个解码块的码流数据,获取与解码有关的参数;根据所述参数,对所述解码块的一部分码流数据采用第一参考缓存的像素作为参考像素进行解码,对所述解码块的另一部分码流数据则采用第二参考缓存的像素作为参考像素进行解码;所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
进一步地,所述解码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
根据本发明的另一个方面,还提供了一种图像编码装置,包括:
搜索和复制编码模块,重构参考像素样值集模块,第二参考缓存模块,以及编码、重构及产生视频码流数据的模块;其中,搜索和复制编码模块的混合包括以下至少之一:串复制,矩形复制以及点复制;
所述重构参考像素样值集模块的部分或全部构造出第一参考缓存单元;
所述第一参考缓存单元在第一参考缓存中搜索最优参考串和/或最优参考矩形;
所述第二参考缓存模块在第二参考缓存中搜索最优参考点,并产生出参考串的复制参数,参考矩形的复制参数,参考点的复制参数和/或无参考像素样值。
根据本发明的另一个方面,还提供了一种图像编码装置,包括:
解析码流,获取复制参数、以及无参考像素样值的模块,串复制、矩形复制、以及点复制混合的复制解码模块,重构参考像素样值集模块,以及第二参考缓存模块;
所述重构参考像素样值集模块的部分或全部构造出第一参考缓存单元;所述串复制的复制解码模块解码采用第一参考缓存的像素作为参考像素,所述矩形复制的复制解码模块解码采用第一参考缓存的像素作为参考像素,所述点复制的复制解码模块解码采用第二参考缓存的像素作为参考像素。
根据本发明的另一个方面,还提供了一种图像编码方法,包括:
对一个编码块进行编码,对所述编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;
将所述多种类型的码流数据混合组成所述编码块的码流数据的部分或全部。
进一步地,所述多种类型的编码方式包括以下复制编码方式的至少两种:
行复制编码方式,串复制编码方式,矩形复制编码方式,点复制编码方式,索引复制编码方式。
进一步地,所述多种类型的编码方式包括:
所述多种类型的编码方式使用指定的一个或多个缓存中的像素样值作为参考像素样值对所述编码块进行编码。
进一步地,所述缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值;
其中,所述已重构参考像素样值是编码所述编码块之前的码流获得的像素样值的重构值;所述无参考像素样值是根据所述已重构参考像素样值和/或所述复制编码方式构造的像素样值集。
进一步地,所述编码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
根据本发明的另一个方面,还提供了一种图像解码方法,包括:
解析码流,获得解码块的解码参数;
根据所述解码参数,使用多种解码方式对所述解码块的不同部分的码流进行解码。
进一步地,使用多种解码方式对所述解码块的不同部分的码流进行解码包括:
使用指定的一个或多个缓存中的像素样值作为参考像素样值对所述部分码流进行解码。
进一步地,所述缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值。
其中,所述已重构参考像素样值是解码所述解码块码流之前的码流获得的像素样值的重构值;所述无参考像素样值是根据所述已重构参考像素样值和/或所述解码参数构造的像素样值集。
进一步地,所述多种解码方式包括如下所述解码方式中的两种或多种:行复制解码方式,串复制解码方式,矩形复制解码方式,点复制解码方式,索引复制解码方式。
进一步地,所述解码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
根据本发明的另一个方面,还提供了一种图像编码装置,包括:
编码模块,设置为对一个编码块进行编码,对所述编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;
混合模块,设置为将所述多种类型的码流数据混合组成所述编码块的码流数据的部分或全部。
根据本发明的另一个方面,还提供了一种图像解码装置,包括:
获取模块,设置为解析码流,获得解码块的解码参数;
解码模块,设置为根据所述解码参数,使用多种解码方式对所述解码块的不同部分的码流进行解码。
通过本发明,对一个编码块进行编码,对所述编码块内的像素采用多种类型的复制编码方式进行编码,产生多种类型的编码结果和码流数据;将所述多种类型的码流数据混合组成所述编码块的码流数据的部分或全部;或者,解析码流,获得所述码流的解码块的解码参数;根据所述解码参数,使用多种解码方式对所述解码块的不同部分的码流进行解码,解决了图像区域混合的屏幕图像压缩效率效果不好的问题,提高了压缩效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种图像编码方法的流程图一;
图2是根据本发明实施例的一种图像编码方法的流程图二;
图3是根据本发明实施例的一种图像编码装置的结构框图一;
图4是根据本发明实施例的一种图像编码装置的结构框图二;
图5是根据本发明优选实施例的使用第一、第二参考缓存在一个编码块或解码块内混合多种类型复制方式的示意图;
图6是根据本发明优选实施例的第一种编码方法的流程示意图;
图7是根据本发明优选实施例的第二种编码方法的流程示意图;
图8是根据本发明优选实施例的第一种解码方法的流程示意图;
图9是根据本发明优选实施例的第二种解码方法的流程示意图;
图10是根据本发明优选实施例的编码装置的示意图一;
图11是根据本发明优选实施例的编码装置的示意图二。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种图像编码方法,图1是根据本发明实施例的一种图像编码方法的流程图一,如图1所示,该流程包括如下步骤:
步骤S102,对一个编码块进行编码,对该编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;
步骤S104,将该多种类型的码流数据混合组成该编码块的码流数据的部分或全部。
通过上述步骤,对一个编码块进行编码,对该编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;将该多种类型的码流数据混合组成该编码块的码流数据的部分或全部,解决了图像区域混合的屏幕图像压缩效率效果不好的问题,提高了压缩效果。
在本实施例中,该多种类型的编码方式包括以下复制编码方式至少两种:
行复制编码方式,串复制编码方式,矩形复制编码方式,点复制编码方式,索引复制编码方式。
在本实施例中,该多种类型的编码方式包括:
该多种类型的编码方式使用指定的一个或多个缓存中的像素样值作为参考像素样值对该 编码块进行编码。
在本实施例中,该缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值;
其中,该已重构参考像素样值是编码该编码块之前的码流获得的像素样值的重构值;该无参考像素样值是根据该已重构参考像素样值和/或该复制编码方式构造的像素样值集。
在本实施例中,该编码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
在本实施例中提供了一种图像编码方法,图2是根据本发明实施例的一种图像编码方法的流程图二,如图2所示,该流程包括如下步骤:
步骤S202,解析码流,获得解码块的解码参数;
步骤S204,根据该解码参数,使用多种解码方式对该解码块的不同部分的码流进行解码。
通过上述步骤,对码流进行解码,对该解码块的不同部分的码流采用多种类型的解码方式进行解码,解决了图像区域混合的屏幕图像压缩效率效果不好的问题,提高了压缩效果。
在本实施例中,使用多种解码方式对该解码块的不同部分的码流进行解码包括:
使用指定的一个或多个缓存中的像素样值作为参考像素样值对该部分码流进行解码。
在本实施例中,该缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值。
其中,该已重构参考像素样值是解码该解码块码流之前的码流获得的像素样值的重构值;该无参考像素样值是根据该已重构参考像素样值和/或该解码参数构造的像素样值集。
在本实施例中,该多种解码方式包括如下该解码方式中的两种或多种:行复制解码方式,串复制解码方式,矩形复制解码方式,点复制解码方式,索引复制解码方式。
在本实施例中,该解码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
在本实施例中还提供了一种图像编码装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的一种图像编码装置的结构框图一,如图3所示,该装置包括:
编码模块32,设置为对一个编码块进行编码,对该编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;
混合模块34与编码模块32连接,设置为将该多种类型的码流数据混合组成该编码块的码流数据的部分或全部。
通过上述装置,编码模块32对一个编码块进行编码,对该编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据,混合模块34设置为将该多种类型的码流数据混合组成该编码块的码流数据的部分或全部,解决了图像区域混合的屏幕图像压缩效率效果不好的问题,提高了压缩效果。
在本实施例中,使用多种解码方式对该解码块的不同部分的码流进行解码包括:
使用指定的一个或多个缓存中的像素样值作为参考像素样值对该部分码流进行解码。
在本实施例中,该缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值。
其中,该已重构参考像素样值是解码该解码块码流之前的码流获得的像素样值的重构值;该无参考像素样值是根据该已重构参考像素样值和/或该解码参数构造的像素样值集。
在本实施例中,该多种解码方式包括如下该解码方式中的两种或多种:行复制解码方式,串复制解码方式,矩形复制解码方式,点复制解码方式,索引复制解码方式。
在本实施例中,该解码块包括以下至少之一:
编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
图4是根据本发明实施例的一种图像解码装置的结构框图二,如图4所示,该装置包括:
获取模块42,设置为解析码流,获得解码块的解码参数;
解码模块44与该获取模块42连接,设置为根据该解码参数,使用多种解码方式对该解码块的不同部分的码流进行解码。
通过上述装置,获取模块42对码流进行解析,获得解码块的解码参数,解码模块44设置为将根据获取模块42得到的解码参数,使用多种解码方式对该解码块的不同部分的码流进行解码,解决了图像区域混合的屏幕图像压缩效率效果不好的问题,提高了压缩效果。
下面结合优选实施例和实施方式对本发明进行详细说明。
为了解决图像视频编码和解码的现有技术中的这一问题,本发明优选实施例提供了一种在一个CU(即一个编码块或解码块)内混合多种复制编码或解码方式(包括但不限于点复制,串复制,矩形复制中的任意一种或多种)的图像编码与解码的方法和装置。
图5是根据本发明优选实施例的使用第一、第二参考缓存在一个编码块或解码块内混合多种类型复制方式的示意图,如图5所示,本发明的优选实施例的一个主要技术特征是在一个CU(即编码块或解码块)中可混合多种复制编码(或对应的解码)方式。这些复制方式包括但不限于点复制,串复制和矩形复制。本发明的另一个主要技术特征是至少有两个参考缓 存:使用部分或全部已重构参考像素样值构造的第一参考缓存和使用部分或全部无参考像素样值(未找到参考的像素样值,即在已产生的已重构参考像素样值集之中找不到误差在预先规定的范围内的像素样值的像素样值)构造的第二参考缓存。
第一参考缓存和第二参考缓存通称为参考缓存。
本发明的编码方法和装置的最基本的特有技术特征是在对当前编码块进行编码时,在第一参考缓存中,搜索得到一个或多个最优的复制参考串(简称参考串)或复制参考矩形(简称参考矩形),或仅限于搜索得到一个或多个最优的参考串或仅限于搜索得到一个或多个最优的参考矩形,在第二参考缓存中,搜索得到一个或多个最优的复制参考点(简称参考点)。一个参考点仅含有一个像素样值或仅含有由2个像素样值组成的一个像素样值对或仅含有由4个以内像素样值组成的一个像素样值组。一个参考串含有一个或多个像素样值。一个参考矩形含有一个或多个像素样值。参考点、参考串、参考矩形都用一个或多个与点复制解码、串复制解码、矩形复制解码有关的复制参数(或称匹配参数)来表示。包括但不限于复制参数等解码所需要的参数被放入码流。
本发明的实施例的解码方法和装置的最基本的特有技术特征是在对当前解码块进行解码时,从码流中获取与点复制解码和/或串复制解码和/或矩形复制解码有关的复制参数,根据复制参数的部分或全部,从第一参考缓存中获取参考串和/或参考矩形,并将其直接或间接赋值予当前解码串(简称当前串)和/或当前解码矩形(简称当前矩形),以及/或者从第二参考缓存中获取参考点,并将其直接或间接赋值予当前解码点(简称当前点)。一个参考串含有一个或多个像素样值。一个参考矩形含有一个或多个像素样值。一个参考点含有一个像素样值。
参考点的另一种优选方式是含有由2个像素样值组成的一个像素样值对。
参考点的还有一种优选方式是含有由4个以内像素样值组成的一个像素样值组。
部分或全部已重构参考像素样值按照其在编码或解码过程中的产生顺序逐步构造出第一参考缓存。部分或全部无参考像素样值则根据其在后续编码或解码中被参考的次数被挑选出来构造出第二参考缓存。
对参考串和/或参考矩形,复制参数包括但不限于复制位置和/或复制大小。对参考点,复制参数包括但不限于复制位置和/或复制大小和/或优选类别(即一个像素样值或一个像素样值对或一个像素样值组)。对参考串,复制大小包括但不限于复制长度。对参考矩形,复制大小包括但不限于复制宽度和复制长度这两个复制参数分量或者复制高度和复制长度这两个复制参数分量或者复制宽度和复制高度这两个复制参数分量。对参考点,复制大小包括但不限于复制次数。
对参考串和/或参考矩形,复制位置是在第一参考缓存中的参考串和/或参考矩形的第一个像素样值与当前CU中当前串和/或当前矩形的第一个像素样值之间的线性(1维)距离或平面(2维)距离,其单位是样值或若干样值。复制位置有时也称为帧内运动矢量。
对参考串和/或参考矩形,复制大小是参考串和/或参考矩形的大小,其单位也是样值或若 干样值。显然,参考串和/或参考矩形的大小也是当前串和/或当前矩形的大小。
对参考点,复制位置是在第二参考缓存中的位置,有时也称为地址或指标或索引,其单位是样值或样值对或样值组。
对参考点,复制大小包括但不限于复制次数,即同一个参考点在当前编码或解码位置上的当前点的重复的数目。
对参考点,优选类别是参考点的优选方式,包括但不限于单个样值,样值对,或者样值组。
第一参考缓存和/或第二参考缓存的像素样值可以等同于重构样值,也可以是重构样值的各种变体,如经过像素聚类、颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合。
在本发明专利申请中,“重构样值”和“参考样值”有时被统称为“重构参考像素样值”。根据上下文,可以明确“重构参考像素样值”是表示“重构样值”还是“参考样值”还是同时表示两者之任一。如果从上下文不能明确,那么就是同时表示两者之任一。
在本发明专利申请中,“重构参考样值集”和“重构参考像素样值集”是同义词,在不引起混淆的情况下,有时也被简称为“样值集”。
对第一参考缓存和/或当前CU来说,从参考串和/或当前串的路径形状来分,至少有4种基本复制路径形状模式。
基本复制路径形状模式1是垂直路径1维串形复制的复制路径形状模式。在本复制路径形状模式中,第一参考缓存和/或当前CU先以LCU序号或CU序号的顺序排列,而在一个LCU或CU内,样值逐列排列,每列中样值垂直扫描自上而下排列。这样,第一参考缓存也被排列成一个一维的样值串。
基本复制路径形状模式2是水平路径1维串形复制的复制路径形状模式。基本复制路径形状模式2是上述基本复制路径形状模式1的对偶模式。把基本复制路径形状模式1中的“垂直”置换成“水平”,“列”置换成“行”,“自上而下”置换成“从左向右”,就是基本复制路径形状模式2。
基本复制路径形状模式3是垂直路径2维保形复制的复制路径形状模式。在本复制路径形状模式中,第一参考缓存保留原始图像平面固有的2维排列方式,而在当前CU内,样值则以垂直扫描方式逐列排列并且在1列内自上而下排列。在第一参考缓存之中搜索或复制参考串时,在当前CU内,当前样值以垂直扫描方式自上而下移动,一列扫描和复制完了之后,接着扫描和复制右边相邻的一列。在第一参考缓存之中找到的参考串必须与当前CU中的当前串 保持完全一致的2维形状和扫描方式的路径走向。
基本复制路径形状模式4是水平路径2维保形复制的复制路径形状模式。基本复制路径形状模式4是上述基本复制路径形状模式3的对偶模式。在本复制路径形状模式中,第一参考缓存保留原始图像平面固有的2维排列方式,而在当前CU内,样值则以水平扫描方式逐行排列并且在1行内从左向右排列。在第一参考缓存之中搜索或复制参考串时,在当前CU内,当前样值以水平扫描方式从左向右移动,一行扫描和复制完了之后,接着扫描和复制下边相邻的一行。在第一参考缓存之中找到的参考串必须与当前CU中的当前串保持完全一致的2维形状和扫描方式的路径走向。
从以上4种基本复制路径形状模式还可以衍生出其他各种复制路径形状模式,包括但不限于:
1、宽度为2、3、…、W个样值的复制路径形状模式;
2、与基本复制路径形状模式1基本相同但扫描路径走向交替变换,即扫描方式是奇数列自上而下移动而偶数列自下而上移动;
3、与基本复制路径形状模式1基本相同但扫描路径走向交替变换,即扫描方式是偶数列自上而下移动而奇数列自下而上移动;
4、与基本复制路径形状模式2基本相同但扫描路径走向交替变换,即扫描方式是奇数行从左向右移动而偶数行从右向左移动;
5、与基本复制路径形状模式2基本相同但扫描路径走向交替变换,即扫描方式是偶数行从左向右移动而奇数行从右向左移动;
6、与基本复制路径形状模式3基本相同但扫描路径走向交替变换,即扫描方式是奇数列自上而下移动而偶数列自下而上移动;
7、与基本复制路径形状模式3基本相同但扫描路径走向交替变换,即扫描方式是偶数列自上而下移动而奇数列自下而上移动;
8、与基本复制路径形状模式4基本相同但扫描路径走向交替变换,即扫描方式是奇数行从左向右移动而偶数行从右向左移动;
9、与基本复制路径形状模式4基本相同但扫描路径走向交替变换,即扫描方式是偶数行从左向右移动而奇数行从右向左移动。
本发明的解码方法和装置的进一步技术特征就是在对当前解码块的码流数据进行解码时,首先从码流数据中解析出该序列或该图像或该CU采用的复制路径形状模式(如以上所述复制路径形状模式之一),然后从码流数据中依次获取一个一个参考串和/或参考矩形和/或参考点的复制参数,即参考串和/或参考矩形的复制位置和/或复制大小和/或参考点的复制位置和/或复制大小和/或优选类别。在得到了一个复制参数之后,解码工作就是根据复制路径形状模式,从当前解码样值的位置和复制参数计算出第一参考缓存中的参考串和/或参考矩形的第一个样 值的位置和/或第二参考缓存中的参考点的位置。然后,再根据复制路径形状模式和复制参数,就可以从参考缓存中复制参考串和/或参考矩形和/或参考点的部分或全部样值,并将所述样值的数值赋值予当前串和/或当前矩形和/或当前点,复原出当前串和/或当前矩形和/或当前点。
一帧图像中,可以所有CU都使用同一种复制路径形状模式。这样解码器就仅需要从一帧图像的对应的图像参数集或头信息中解析出该图像采用哪一种复制路径形状模式,而不需要每个CU都解析出该CU采用哪一种复制路径形状模式。编码器也仅需要在一帧图像的对应的图像参数集或头信息中直接或间接写入复制路径形状模式。一个视频序列中,可以所有图像和所有CU都使用同一种复制路径形状模式。这样解码器就仅需要从一个序列的对应的序列参数集或头信息中解析出该序列采用哪一种复制路径形状模式,而不需要每个图像、每个CU都解析出该图像、该CU采用哪一种复制路径形状模式。编码器也仅需要在一个序列的对应的序列参数集或头信息中直接或间接写入复制路径形状模式。有些CU也可以再划分成若干个子区域,各个子区域采用不同的复制路径形状模式。
在一个CU或一个CU的子区域的码流数据中,混合存在三种类型的复制参数:参考串的复制参数、参考矩形的复制参数、参考点的复制参数;码流数据中的一个或多个复制参数前都有一个直接(包括但不限于存在于码流中)或间接(包括但不限于从编码或解码过程中的其他信息获取)的标识码,用来直接或间接地载明后面跟着的复制参数是参考串的复制参数还是参考矩形的复制参数还是参考点的复制参数。
在一个CU或一个CU的子区域的码流数据中,混合存在两种类型的复制参数:参考串的复制参数、参考矩形的复制参数;码流数据中的一个或多个复制参数前都有一个直接(包括但不限于存在于码流中)或间接(包括但不限于从编码或解码过程中的其他信息获取)的标识码,用来直接或间接地载明后面跟着的复制参数是参考串的复制参数还是参考矩形的复制参数。
在一个CU或一个CU的子区域的码流数据中,混合存在两种类型的复制参数:参考串的复制参数、参考点的复制参数;码流数据中的一个或多个复制参数前都有一个直接(包括但不限于存在于码流中)或间接(包括但不限于从编码或解码过程中的其他信息获取)的标识码,用来直接或间接地载明后面跟着的复制参数是参考串的复制参数还是参考点的复制参数。
在一个CU或一个CU的子区域的码流数据中,混合存在两种类型的复制参数:参考矩形的复制参数、参考点的复制参数;码流数据中的一个或多个复制参数前都有一个直接(包括但不限于存在于码流中)或间接(包括但不限于从编码或解码过程中的其他信息获取)的标识码,用来直接或间接地载明后面跟着的复制参数是参考矩形的复制参数还是参考点的复制参数。
在一帧图像的码流数据中,存在着包括但不限于下列4类CU或CU的子区域的某一类或某两类或某三楼或全部四类:
第1类,混有三种类型的复制参数:参考串的复制参数、参考矩形的复制参数、参考点 的复制参数的CU或CU的子区域;
第2类,混有两种类型的复制参数:参考串的复制参数、参考矩形的复制参数的CU或CU的子区域;
第3类,混有两种类型的复制参数:参考串的复制参数、参考点的复制参数的CU或CU的子区域;
第4类,混有两种类型的复制参数:参考矩形的复制参数、参考点的复制参数的CU或CU的子区域;
在一帧图像及其码流数据的对应的图像参数集或图像头信息中,使用直接或间接的标识码来直接或间接地载明包括但不限于下列情形之一:
情形1,当前图像及其码流数据中存在着以上4类CU或CU的子区域:第1类,第2类,第3类,第4类的CU或CU的子区域;
情形2,当前图像及其码流数据中存在着以上4类中三类CU或CU的子区域:第1类,第2类,第3类的CU或CU的子区域;
情形3,当前图像及其码流数据中存在着以上4类中三类CU或CU的子区域:第1类,第2类,第4类的CU或CU的子区域;
情形4,当前图像及其码流数据中存在着以上4类中三类CU或CU的子区域:第1类,第3类,第4类的CU或CU的子区域;
情形5,当前图像及其码流数据中存在着以上4类中三类CU或CU的子区域:第2类,第3类,第4类的CU或CU的子区域;
情形6,当前图像及其码流数据中存在着以上4类中某两类CU或CU的子区域,例如第1类和第3类的CU或CU的子区域,例如第2类和第3类的CU或CU的子区域;
情形7,当前图像及其码流数据中存在着以上4类中某一类CU或CU的子区域,例如第1类的CU或CU的子区域,例如第2类的CU或CU的子区域,例如第3类的CU或CU的子区域,例如第4类的CU或CU的子区域;
在一个序列及其码流数据的对应的序列参数集或序列头信息中,使用直接或间接的标识码来直接或间接地载明包括但不限于下列情形之一:
情形8,序列及其码流数据中存在着以上4类CU或CU的子区域:第1类,第2类,第3类,第4类的CU或CU的子区域;
情形9,序列及其码流数据中存在着以上4类中三类CU或CU的子区域:第1类,第2类,第3类的CU或CU的子区域;
情形10,序列及其码流数据中存在着以上4类中三类CU或CU的子区域:第1类,第2 类,第4类的CU或CU的子区域;
情形11,序列及其码流数据中存在着以上4类中三类CU或CU的子区域:第1类,第3类,第4类的CU或CU的子区域;
情形12,序列及其码流数据中存在着以上4类中三类CU或CU的子区域:第2类,第3类,第4类的CU或CU的子区域;
情形13,序列及其码流数据中存在着以上4类中某两类CU或CU的子区域,例如第1类和第3类的CU或CU的子区域,例如第2类和第3类的CU或CU的子区域;
情形14,序列及其码流数据中存在着以上4类中某一类CU或CU的子区域,例如第1类的CU或CU的子区域,例如第2类的CU或CU的子区域,例如第3类的CU或CU的子区域,例如第4类的CU或CU的子区域;
以上通过若干特定的具体实例说明本发明的技术特征。本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在不背离本发明的精神下进行各种修饰或改变。
本发明专利申请中使用的术语也可以用其他来自物理学或数学的名词来表示,如复制位置也可以使用以下别名之一:匹配位置,位置,距离,相对距离,位移量,位移矢量,移动量,移动矢量,偏移量,偏移矢量,块矢量,串矢量,补偿量,补偿,线性地址,地址,2维坐标,1维坐标,坐标,索引,指数,等等。复制长度也可以被称为以下别名之一:复制行程,复制个数,复制计数,复制游程,匹配行程,匹配个数,匹配计数,匹配游程,长度,行程,个数,计数,游程,等等。串复制也称为串匹配,矩形复制也称为矩形匹配,点复制也称为点匹配等等。
图6是根据本发明优选实施例的第一种编码方法的流程示意图,如图6所示,本发明的第一种编码方法包括如下步骤的全部或部分:
1、对一个编码块的像素进行串复制和/或矩形复制和/或点复制混合的复制编码,产生出参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数和/或无参考像素样值;
2、其余编码、重构及产生视频码流数据的步骤,进行编码块的其余编码和重构运算,对输入的像素、各种参数和变量进行各种常用技术,如帧内预测、帧间预测、块复制、微块复制、条复制、调色板索引、变换、量化、逆变换、反量化、对应于预测残差和复制残差的补偿(即取残差运算的逆运算)、预测并求残差、DPCM、一阶和高阶差分、映射、游程、索引、去块效应滤波、样值自适应补偿(Sample Adaptive Offset),的编码和重构运算以及熵编码运算;本步骤的输出是已重构像素(包括完全重构像素和不同阶段程度的部分重构像素)和含串复制和/或矩形复制和/或点复制混合的复制编码结果和其他编码结果的视频码流;所述视频码流是本编码方法的输出,包含了对应的解码方法进行解码和重构所需要的全部语法元素,包括但不限于串复制和/或矩形复制和/或点复制混合的复制编码的参考串的复制参数和/或参 考矩形的复制参数和/或参考点的复制参数的语法元素和/或无参考像素样值的语法元素。
图7是根据本发明优选实施例的第二种编码方法的流程示意图,如图7所示,本发明的的第二种编码方法包括如下步骤的全部或部分:
1、对一个编码块的像素进行预测编码和/或复制编码,产生出编码参数和/或无参考像素样值;将部分或全部无参考像素样值放入第二参考缓存;
2、其余编码、重构及产生视频码流数据的步骤,进行编码块的其余编码和重构运算,对输入的像素、各种参数和变量进行各种常用技术,如调色板索引、变换、量化、逆变换、反量化、对应于预测残差和复制残差的补偿(即取残差运算的逆运算)、预测并求残差、DPCM、一阶和高阶差分、映射、游程、索引、去块效应滤波、样值自适应补偿(Sample Adaptive Offset),的编码和重构运算以及熵编码运算;本步骤的输出是已重构像素(包括完全重构像素和不同阶段程度的部分重构像素)和含预测编码和/或复制编码的编码结果和其他编码结果的视频码流;所述已重构像素放入重构参考像素样值集之中,用作后续预测编码和/或复制编码(包括但不限于块复制编码、微块复制编码、条复制编码、串复制编码、矩形复制编码、多种类型复制方式混合的复制编码、调色板索引复制编码)运算、其余各种编码和重构运算步骤所需要的参考像素;所述视频码流是本编码方法的输出,包含了对应的解码方法进行解码和重构所需要的全部语法元素,包括但不限于编码参数和/或无参考像素样值的语法元素;所述重构参考像素样值集的部分或全部构造出第一参考缓存;所述重构参考像素样值集的输入是已重构样值而所述第一参考缓存的输出是参考样值,参考样值可以等同于重构样值,也可以是重构样值的各种变体,如经过像素聚类、颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合;
图8是根据本发明优选实施例的第一种解码方法的流程示意图,如图8所示,本发明的第一种解码方法包括如下步骤的全部或部分:
1、解析码流,获取包括但不限于参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数和/或无参考像素样值的解码参数和变量;
2、使用获取的参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数和/或无参考像素样值,进行串复制和/或矩形复制和/或点复制混合的复制解码;
图9是根据本发明优选实施例的第二种解码方法的流程示意图,如图9所示,本发明的第二种解码方法包括如下步骤的全部或部分:
1、解析码流,获取包括但不限于复制参数和/或无参考像素样值的解码参数和变量;
2、使用获取的复制参数和/或无参考像素样值,进行预测解码和/或复制解码;产生出预测解码和/或复制解码的已重构像素和/或无参考像素样值;将部分或全部无参考像素样值放入 第二参考缓存;将所述预测解码和/或复制解码的已重构像素和/或其他已重构像素放入重构参考像素样值集之中,用作后续预测解码和/或复制解码(包括但不限于块复制解码、微块复制解码、条复制解码、串复制解码、矩形复制解码、多种类型复制方式混合的复制解码、调色板索引复制解码)运算、其余各种解码和重构运算步骤所需要的参考像素;所述重构参考像素样值集的部分或全部构造出第一参考缓存;所述重构参考像素样值集的输入是已重构样值而所述第一参考缓存的输出是参考样值,参考样值可以等同于重构样值,也可以是重构样值的各种变体,如经过像素聚类、颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合;
图10是根据本发明优选实施例的编码装置的示意图一,如图10所示,整个编码装置由以下模块的全部或部分组成:
1、串复制和/或矩形复制和/或点复制混合的搜索和复制编码模块:对输入像素样值施行串复制和/或矩形复制和/或点复制混合的复制编码,在第一参考缓存中搜索最优参考串和/或最优参考矩形、在第二参考缓存中搜索最优参考点,并产生出参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数和/或无参考像素样值;
2、重构参考像素样值集模块:用来暂存重构像素样值,所述重构参考像素样值集模块的部分或全部构造出第一参考缓存单元,用作后续各种编码方式,包括但不限于块复制编码、微块复制编码、条复制编码、串复制编码、矩形复制编码、多种类型复制方式混合的复制编码、调色板复制编码、调色板编码、像素索引编码、预测编码,的搜索、编码、重构时的参考像素样值;所述重构参考像素样值集的输入是重构样值而所述第一参考缓存单元的输出是参考样值,参考样值可以等同于重构样值,也可以是重构样值的各种变体,如经过像素聚类、颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合;
3、第二参考缓存模块:由部分或全部无参考像素样值构造而成;主要用于点复制编码的参考像素,但也可以用于其他复制编码的参考像素;
4、其余编码、重构及产生视频码流数据的模块:施行其余编码和重构运算,对输入的像素、各种参数和变量进行各种常用技术,如帧内预测、帧间预测、块复制、微块复制、条复制、调色板索引、变换、量化、逆变换、反量化、对应于预测残差和复制残差的补偿(即取残差运算的逆运算)、预测并求残差、DPCM、一阶和高阶差分、映射、游程、索引、去块效应滤波、样值自适应补偿(Sample Adaptive Offset),的编码和重构运算以及熵编码运算;本步骤的输出是已重构像素(包括完全重构像素和不同阶段程度的部分重构像素)和含串复制 和/或矩形复制和/或点复制混合的复制编码结果、各种其他复制编码方式的编码结果和其他编码结果的视频码流;所述视频码流是本编码方法的输出,包含了对应的解码方法进行解码和重构所需要的全部语法元素,包括但不限于串复制和/或矩形复制和/或点复制混合的复制编码的参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数的语法元素和/或无参考像素样值的语法元素和/或其他复制参数的语法元素和/或其他编码参数的语法元素。
图11是根据本发明优选实施例的编码装置的示意图二,如图11所示,整个解码装置由以下模块的全部或部分组成:
1、解析码流,获取复制参数、无参考像素样值等的模块:对输入码流数据施行码流解析,获取解码参数和变量,包括但不限于:参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数,和/或无参考像素样值,和/或其他复制解码方式的复制参数,和/或其他解码参数和变量;
2、串复制/矩形复制/点复制混合的复制解码模块:本模块的功能是对从码流中获取的参考串的复制参数和/或参考矩形的复制参数和/或参考点的复制参数,和/或无参考像素样值,施行串复制和/或矩形复制和/或点复制混合的复制解码运算,即按照已知的复制路径形状模式,在参考串和/或参考矩形的情形,将第一参考缓存单元中由参考串的复制参数和/或参考矩形的复制参数(包括但不限于复制位置)指定的位置上的参考串和/或参考矩形,其大小也由参考串的复制参数和/或参考矩形的复制参数(包括但不限于复制大小)所指定,的像素样值的数值直接或间接赋值予当前串和/或当前矩形,而在参考点的情形,则将第二参考缓存模块中由参考点的复制参数(包括但不限于复制位置)指定的位置上的参考点的像素样值的数值直接或间接重复赋值予一个或数个当前解码点,重复的数目由参考点的复制参数(包括但不限于复制大小)所指定;
3、重构参考像素样值集模块:用来暂存重构像素样值,所述重构参考像素样值集模块的部分或全部构造出第一参考缓存单元,用作后续各种解码方式,包括但不限于块复制解码、微块复制解码、条复制解码、串复制解码、矩形复制解码、多种类型复制方式混合的复制解码、调色板复制解码、调色板解码、像素索引解码、预测解码,的解码和重构时的参考像素样值;所述重构参考像素样值集的输入是重构样值而所述第一参考缓存单元的输出是参考样值,参考样值可以等同于重构样值,也可以是重构样值的各种变体,如经过像素聚类、颜色量化、数值量化、向量量化、去噪音、滤波、特征抽取等处理的样值或经过色彩格式转换、排列方式转换、频率域转换、空间域映射、DPCM、一阶或高阶差分运算、索引化等变换的样值或经过多重处理与变换的像素值变体,当参考样值不等同于重构样值时,参考样值可以一次性产生后暂存供以后需要时多次使用,也可以每次需要时即时产生,也可以是这两种产生方法的组合;
4、第二参考缓存模块:由部分或全部无参考像素样值构造而成;主要用于点复制编码的参考像素,但也可以用于其他复制编码的参考像素。
以上所提供的图示仅以示意方式说明本发明的基本构想,图示中仅显示与本发明直接有 关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
以下是本发明的更多的实施细节和变体。
本发明适用于叠包格式图像的编码和解码。当前CU的像素和第一、第二参考缓存以及重构参考像素样值集的像素都以叠包格式排列。参考块,参考微块,参考条,参考串,参考矩形,参考点和当前块,当前微块,当前条,当前串,当前矩形,当前点都以叠包格式排列。即以由3个分量样值单个交叉叠在一起形成的单个像素为单位排列,形成3个分量样值单个交叉排列的样值集。在这样的第一、第二参考缓存以及重构参考像素样值集之中搜索或复制参考块,参考微块,参考条,参考串,参考矩形,参考点等。
本发明也同样适用于分量平面格式图像的编码和解码。当前CU的像素和第一、第二参考缓存以及重构参考像素样值集的像素都分解成3个分量平面,所有像素的一个分量形成一个平面。参考块,参考微块,参考条,参考串,参考矩形,参考点和当前块,当前微块,当前条,当前串,当前矩形,当前点都分解成3个分量平面,所有像素的一个分量形成一个平面。一个参考块,参考微块,参考条,参考串,参考矩形,参考点和当前块,当前微块,当前条,当前串,当前矩形,当前点都仅包含一个分量的样值。块复制,微块复制,条复制,串复制,矩形复制,点复制都在3个平面内分别进行。但为了减少复制参数,同时由于3个平面有很大相关性,故也可以3个平面共享同样的复制参数。
本发明也同样适用于索引像素的编码块或解码块的编码或解码。
本发明的分量平面格式图像的固定宽度可变长度串匹配编码和解码,如果应用于YUV4:2:2像素色彩格式和YUV4:2:0像素色彩格式等对色度分量U和V进行下采样的情形,那么Y平面的复制参数应用到U平面和V平面时,要根据下采样的比例对复制参数进行相应的变换和调整。
第一、第二参考缓存这2个参考缓存的像素可以具有互不相同的分量排列格式、色彩格式和像素样值排列方式。
第一、第二参考缓存这2个参考缓存的像素也可以处于互不相同程度的各自特有的重构阶段的完全重构像素或阶段性重构像素。
第二参考缓存是被参考频度较高或被复制概率较大的无参考像素
第二参考缓存的更新和样值数目变化
编码或解码一个当前编码块或当前解码块时,第二参考缓存的更新包括但不限于下列情形之一:
不更新,
或者
更新部分内容;
或者
更新全部内容;
编码或解码一个当前编码块或当前解码块时,第二参考缓存内的内容(参考样值)按照预先规定的策略(如根据样值在历史重构图像中出现的频度)来更新,第二参考缓存内的参考样值的数目也按照预先规定的策略而变化;在码流的编码块或解码块或PU或CU或CTU或LCU部分码流段直接或间接含有但不限于载入了下列参数或其变体的语法元素的全部或部分:
是否需要更新点匹配参考集的标记位:srb_update_flag
需要更新的点匹配参考集的样值的数目:srb_update_num
当srb_update_flag取一个值时表示需要更新第二参考缓存,当srb_update_flag取另一个值时表示不需要更新第二参考缓存;当不需要更新第二参考缓存时,码流段中不存在srb_update_num,当需要更新第二参考缓存时,srb_update_num指定了需要更新的第二参考缓存的样值的数目。
多种类型复制方式混合的优选实施方式1
在一个编码块或解码块或PU或CU或CTU或LCU的码流数据中,混合存在三种类型的复制参数:参考串的复制参数、参考矩形的复制参数、参考点的复制参数;混合进行三种类型复制方式的编码或解码:串复制、矩形复制、点复制。
多种类型复制方式混合的优选实施方式2
在一个编码块或解码块或PU或CU或CTU或LCU的码流数据中,混合存在两种类型的复制参数:参考串的复制参数、参考点的复制参数;混合进行两种类型复制方式的编码或解码:串复制、点复制。
复制参数的语法元素在码流中的放置顺序的一种优选实施方式
记述复制参数的语法元素(语法元素用粗体字表示)在码流中的放置顺序是:
复制参数1,复制参数2,复制参数3,……,复制参数i,复制参数i+1,……
复制参数的组成域的一种优选实施方式
复制参数由若干复制子参数的域组成,复制子参数域包括但不限于:
复制子参数域1:复制类型,表示复制方式是串复制还是矩形复制还是点复制;如果是串复制或矩形复制,参考像素取自第一参考缓存,否则,参考像素取自第二参考缓存;
复制子参数域2:复制位置,表示参考像素在第一参考缓存或第二参考缓存内的位置;
复制子参数域3:复制大小,表示当前串或当前矩形或当前点的像素数目;另一方面,参考串的像素数目等于当前串的像素数目,参考矩形的像素数目等于当前矩形的像素数目,参考点的像素数目总是等于1,因而当前点的像素数目就是参考点及其数值在当前编码或解码位置的重复次数;
复制子参数域4:无参考像素,表示无参考像素的数值;
在一个复制参数中,某些复制子参数域可以取值为空。
复制参数的组成域在码流中的语法元素的表述格式的一种优选方案
码流数据包括但不限于直接表述或间接表述(间接表述的例:经过一阶或高阶差分编码和/或预测编码和/或匹配编码和/或映射编码和/或变换编码和/或量化编码和/或索引编码和/或游程编码和/或二值化编码和/或熵编码后再表述)下列复制子参数域的语法元素:
T1,P1,S1,N1,T2,P2,S2,N2,……,Ti,Pi,Si,Ni,……
其中Ti,Pi,Si,Ni,分别是复制参数i的复制类型,复制位置,复制大小,无参考像素;所述复制子参数域的语法元素在码流中的放置排列顺序并不是唯一的,可采用任意一种预先确定的合理的顺序;一个语法元素也可以被拆成几部分,所述几部分可以集中放置在码流中同一地方,也可以分别放置在码流中不同的地方;若干语法元素也可以合并成一个语法元素;某些语法元素也可以不存在于某个复制参数的码流数据中;某个语法元素也可以不直接存在于码流数据中而是从其他编码或解码参数或者变量中导出;表述同一种复制子参数域的多个语法元素可以集中放置在码流中同一地方,如:
T1,T2……Ti……,P1,P2……Pi……,S1,S2……Si……,N1,N2……Ni……
也可以分别放置在码流中不同的地方,如:
T1,P1,S1,N1,T2,P2,S2,N2,……,Ti,Pi,Si,Ni,……
也可以是这两种放置方式的组合,如
T1,S1,T2,S2……Ti,Si……,P1,P2……Pi……,N1,N2……,Ni……
也可以是以上各种放置方式的混合。
复制子参数域是单分量子参数域或双分量子参数域或三分量子参数域
复制位置Pi或其变体是单分量子参数域或双分量子参数域或三分量子参数域;所述复制位置Pi或其变体对应的码流中的语法元素具有但不限于下列形式之一:
一个参考串的复制位置Pi或其变体对应的语法元素:d(一个分量,如位置线性地址或索引)
或者
一个参考串的复制位置Pi或其变体对应的语法元素:d[0],d[1](两个分量,如位置水平分量,位置垂直分量或重构参考像素样值集的CTU序号,位置线性地址)
或者
一个参考串的复制位置Pi或其变体对应的语法元素:d[0],d[1],d[2](三个分量,如重构参考像素样值集的CTU序号,位置水平分量,位置垂直分量)
复制位置Pi或其变体是单分量子参数域或双分量子参数域或三分量子参数域;所述复制位置Pi或其变体对应的码流中的语法元素具有但不限于下列形式之一:
一个参考矩形的复制位置Pi或其变体对应的语法元素:d(一个分量,如位置线性地址或索引)
或者
一个参考矩形的复制位置Pi或其变体对应的语法元素:d[0],d[1](两个分量,如位置水平分量,位置垂直分量或重构参考像素样值集的CTU序号,位置线性地址)
或者
一个参考矩形的复制位置Pi或其变体对应的语法元素:d[0],d[1],d[2](三个分量,如重构参考像素样值集的CTU序号,位置水平分量,位置垂直分量)
复制大小Si或其变体是单分量子参数域或双分量子参数域或三分量子参数域;所述复制大小Si或其变体对应的码流中的语法元素具有但不限于下列形式之一:
一个参考串的复制大小Si或其变体对应的语法元素:r(一个分量)
或者
一个参考串的复制大小Si或其变体对应的语法元素:r[0],r[1](两个分量)
或者
一个参考串的复制大小Si或其变体对应的语法元素:r[0],r[1],r[2](三个分量)
复制大小Si或其变体是单分量子参数域或双分量子参数域或三分量子参数域;所述复制大小Si或其变体对应的码流中的语法元素具有但不限于下列形式之一:
一个参考矩形的复制大小Si或其变体对应的语法元素:r(一个分量)
或者
一个参考矩形的复制大小Si或其变体对应的语法元素:r[0],r[1](两个分量)
或者
一个参考矩形的复制大小Si或其变体对应的语法元素:r[0],r[1],r[2](三个分量)
无参考像素Ni或其变体是单分量子参数域或双分量子参数域或三分量子参数域;所述无参考像素Ni或其变体对应的码流中的语法元素具有但不限于下列形式之一:
无参考像素Ni或其变体对应的语法元素:p(一个分量)
或者
无参考像素Ni或其变体对应的语法元素:p[0],p[1](两个分量)
或者
无参考像素Ni或其变体对应的语法元素:p[0],p[1],p[2](三个分量)。
码流含有的语法元素
码流的编码块或解码块或PU或CU或CTU或LCU部分码流段含有但不限于载入了下列参数或其变体的语法元素的全部或部分:
第一类模式(如编解码模式),
第二类模式(如复制路径形状模式),
第三类模式(如像素样值排列方式),
第四类模式(如2-4种不同的参数编码模式,不同的参数2值化和/或熵编码模式),
复制标记位1,样值集编号1或空,(复制位置1,复制大小1)或无参考样值1或空,
复制标记位2,样值集编号2或空,(复制位置2,复制大小2)或无参考样值2或空,
…………
更多的复制标记位,样值集编号或空,(复制位置,复制大小)或无参考样值或空,
…………
复制标记位N,样值集编号N或空,(复制位置N,复制大小N)或无参考样值N或空,
复制残差或空;
所有所述语法元素在码流中的放置排列顺序并不是唯一的,可采用任意一种预先确定的合理的顺序;任何一个语法元素也可以被拆成几部分,所述几部分可以集中放置在码流中同一地方,也可以分别放置在码流中不同的地方;任何若干语法元素也可以合并成一个语法元素;任何语法元素也可以不存在于某个编码块或解码块或PU或CU或CTU或LCU的码流段中;
码流段中的复制位置,复制大小,无参考像素样值等参数,可以是这些参数本身,也可以是这些参数经过预测编码、匹配编码、变换编码、量化编码、DPCM、一阶和高阶差分编码、映射编码、游程编码、索引编码等各种常用技术编码后的变体;
所述复制位置,复制大小,无参考像素分别可以仅有一个分量,也可以有两个分量,或者进一步划分成三个分量甚至更多分量
所述样值集编号可以是复制位置的一部分,或者只有一个样值集,这时,样值集编号为空。
重构参考像素样值集的分量排列格式、色彩格式和像素样值排列方式
重构参考像素样值集有但不限于下列分量排列格式、色彩格式、像素样值排列方式:
叠包格式、YUV或GBR色彩格式、LCU或CU内垂直扫描1维串形排列方式,或者
叠包格式、YUV或GBR色彩格式、LCU或CU内水平扫描1维串形排列方式,或者
叠包格式、YUV或GBR色彩格式、图像固有的2维排列方式,或者
平面格式、YUV或GBR色彩格式、LCU或CU内垂直扫描1维串形排列方式,或者
平面格式、YUV或GBR色彩格式、LCU或CU内水平扫描1维串形排列方式,或者
平面格式、YUV或GBR色彩格式、图像固有的2维排列方式,或者
空集。
参考串和其复制位置及复制长度的例(复制左边,复制上边)
参考串和当前串可以有互相重叠的样值位置,即参考串的复制位置D和复制长度L满足下列关系:D<L;这时,当前串的L个样值是参考串的第一个样值与当前串的第一个样值之间的D个样值(即当前串的第一个样值之前的D个样值)的重复,也就是:
当D=1<L时,当前串是当前串的第一个样值(即当前样值)之前的那个样值P重复L次:PPP……PP,即当前串的L个样值都是P;这种情况等同与当前样值之前的那个样值P重复L+1次;如果P在第二参考缓存中,其在第二参考缓存中的复制位置是D2,那么这个P就可以与当前串合并,用复制位置=D2,复制大小=L+1的点复制的参考点来表示;
当D=2<L而L是偶数时,当前串是当前样值之前的两个样值P1P2重复L/2次:P1P2P1P2……P1P2,即当前串的L个样值都是P1P2的重复;
当D=2<L而L是奇数时,当前串是当前样值之前的两个样值P1P2重复(L-1)/2次后再加上P1:P1P2P1P2……P1P2P1,即当前串的L个样值都是P1P2的重复,最后再加上P1;
当D=3<L时,当前串是当前样值之前的三个样值P1P2P3的重复一直到长度达到L为止;
当D=4<L时,当前串是当前样值之前的四个样值P1P2P3P4的重复一直到长度达到L为止;
当D<L时,匹配当前串是当前样值之前的D个样值P1P2……PD-1PD的重复一直到长度达到L为止;
或者
在一个水平(或垂直)方向的总样值数为X的CU内,参考串在当前串的相邻正上方(或正左边),即参考串的复制位置D=X;当这种情况出现的频度很高时,D=X用一个特殊的较短的码放入码流;
或者
在一个水平(或垂直)方向的总样值数为X的CU内,匹配参考串在匹配当前串的正上方(或正左边)但并不一定相邻,即匹配串的复制位置D满足下列关系:D=nX;当这种情况出现的频度很高时,D=nX用若干特殊的较短的码来表示n并放入码流。
参考像素样值是重构像素样值的变体的例
参考像素样值是重构像素样值经过数值量化和反量化运算的样值;或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,计算一次之后,不再变动;或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,所述数值量化和反量化运算使用编码或解码量化参数来计算;或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,所述数值量化和反量化运算使用参考像素样值所在CU的编码或解码量化参数来计算;或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,所述数值量化和反量化运算使用参考像素样值所在CU的编码或解码量化参数来计算,计算一次之后,不再变动;或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,所述数值量化和反量化运算使用当前CU的编码或解码量化参数来计算;或者
参考像素样值是重构像素样值经过数值量化和反量化运算的样值,所述数值量化和反量化运算使用当前CU的编码或解码量化参数来计算,每编码或解码一个CU,要重新计算一次;或者
参考像素样值是重构像素样值经过颜色量化的样值;或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用基于颜色的像素聚类获得的一个调色板来计算;或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用一个与参考像素样值所在编码块或解码块或PU或CU或CTU或LCU关联的基于颜色的像素聚类获得的调色板来计算;或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用一个与参考像素 样值所在编码块或解码块或PU或CU或CTU或LCU关联的基于颜色的像素聚类获得的调色板来计算,计算一次之后,不再变动;或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用一个与参考像素样值所在编码块或解码块或PU或CU或CTU或LCU关联的基于颜色的像素聚类获得的动态更新部分内容的调色板来计算,计算一次之后,不再变动;或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用一个与当前编码块或解码块或PU或CU或CTU或LCU关联的基于颜色的像素聚类获得的调色板来计算;或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用一个与当前编码块或解码块或PU或CU或CTU或LCU关联的基于颜色的像素聚类获得的调色板来计算,每编码或解码一个编码块或解码块或PU或CU或CTU或LCU,要重新计算一次;或者
参考像素样值是重构像素样值经过颜色量化的样值,所述颜色量化采用一个全局的基于颜色的像素聚类获得的调色板来计算。
复制位置的变体(差分等)和格式(1维或2维等)
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式排列成一个1维的数组,数组中每个样值都有一个线性地址,当前串的复制位置是对应的参考串的第一个样值的线性地址减去所述当前串的第一个样值的线性地址;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置经过熵编码的语法元素;所述复制位置通常是一个单变量参数即只有1个分量;或者
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式排列成一个1维的数组,数组中每个样值都有一个线性地址,当前串的复制位置是对应的参考串的第一个样值的线性地址减去所述当前串的第一个样值的线性地址;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置与其他复制位置经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;所述复制位置通常是一个单变量参数即只有1个分量;或者
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式排列成一个2维的数组,数组中每个样值都有一个平面坐标,当前串的复制位置是对应的参考串的第一个样值的平面坐标减去所述当前串的第一个样值的平面坐标;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置经过熵编码的语法元素;所述复制位置通常是一个双变量参数即有2个分量;或者
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式排列成一个2维的数组,数组中每个样值都有一个平面坐标,当前串的复制位置是对应的参考串的第一个样值的平面坐标减去所述当前串的第一个样值的平面坐标;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置与其他复制位置经过排列方式转换和/或映射运 算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;所述复制位置通常是一个双变量参数即有2个分量;或者
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式先划分成若干区域,每个区域内的样值再排列成一个2维的数组,区域和数组中每个样值都有一个区域编号和一个平面坐标,当前串的复制位置是对应的参考串的第一个样值的区域编号和平面坐标减去所述当前串的第一个样值的区域编号和平面坐标;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置经过熵编码的语法元素;所述复制位置通常是一个三变量参数即有3个分量;或者
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式先划分成若干区域,每个区域内的样值再排列成一个2维的数组,区域和数组中每个样值都有一个区域编号和一个平面坐标,当前串的复制位置是对应的参考串的第一个样值的区域编号和平面坐标减去所述当前串的第一个样值的区域编号和平面坐标;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置与其他复制位置经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;所述复制位置通常是一个三变量参数即有3个分量;或者
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式先划分成若干区域,每个区域内的样值再排列成一个1维的数组,区域和数组中每个样值都有一个区域编号和一个线性地址,当前串的复制位置是对应的参考串的第一个样值的区域编号和线性地址减去所述当前串的第一个样值的区域编号和线性地址;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置经过熵编码的语法元素;所述复制位置通常是一个双变量参数即有2个分量;或者
重构参考像素样值集和/或第一参考缓存的样值和当前CU的样值按照预先规定的方式先划分成若干区域,每个区域内的样值再排列成一个1维的数组,区域和数组中每个样值都有一个区域编号和一个线性地址,当前串的复制位置是对应的参考串的第一个样值的区域编号和线性地址减去所述当前串的第一个样值的区域编号和线性地址;所述复制位置在压缩数据比特流中对应的语法元素是所述复制位置与其他复制位置经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;所述复制位置通常是一个双变量参数即有2个分量。
复制长度的变体(差分等)和格式(单变量或双变量等)
当前串的复制长度L是一个单变量参数;所述复制长度在压缩数据比特流中对应的语法元素是所述复制长度的单变量参数经过熵编码的语法元素;或者
当前串的复制长度L是一个单变量参数;所述复制长度在压缩数据比特流中对应的语法元素是所述复制长度的单变量参数与其他复制长度的单变量参数经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;或者
在一个水平(或垂直)方向的总样值数为X的CU内,当前串的复制长度L被分解成一对双变量参数(k,LL),其中k是满足(k-1)X+1≤L≤kX的一个正整数,而LL=L-(k-1)X;所述复制长度在压缩数据比特流中对应的语法元素是所述复制长度的双变量参数经过熵编码的语法元素;或者
在一个水平(或垂直)方向的总样值数为X的CU内,当前串的复制长度L被分解成一对双变量参数(k,LL),其中k是满足(k-1)X+1≤L≤kX的一个正整数,而LL=L-(k-1)X;所述复制长度在压缩数据比特流中对应的语法元素是所述复制长度的双变量参数与其他复制长度的双变量参数经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;或者
其第一个像素样值与当前CU的右边界(或下边界)之间的水平(或垂直)距离为X的当前串的复制长度L被分解成一对双变量参数(k,LL),其中k是满足(k-1)X+1≤L≤kX的一个正整数,而LL=L-(k-1)X;所述复制长度在压缩数据比特流中对应的语法元素是所述复制长度的双变量参数经过熵编码的语法元素;或者
其第一个像素样值与当前CU的右边界(或下边界)之间的水平(或垂直)距离为X的当前串的复制长度L被分解成一对双变量参数(k,LL),其中k是满足(k-1)X+1≤L≤kX的一个正整数,而LL=L-(k-1)X;所述复制长度在压缩数据比特流中对应的语法元素是所述复制长度的双变量参数与其他复制长度的双变量参数经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素。
无参考像素的变体(差分等)
无参考像素在压缩数据比特流中对应的语法元素是所述无参考像素经过熵编码的语法元素;或者
无参考像素在压缩数据比特流中对应的语法元素是所述无参考像素与其他无参考像素经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过熵编码的语法元素;或者
无参考像素在压缩数据比特流中对应的语法元素是所述无参考像素经过量化运算后再经过熵编码的语法元素;或者
无参考像素在压缩数据比特流中对应的语法元素是所述无参考像素与其他无参考像素经过排列方式转换和/或映射运算和/或串匹配编码和/或一阶或高阶预测和差分运算后再经过量化运算后再经过熵编码的语法元素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机, 服务器,或者网络设备等)执行本发明各个实施例所述的方法。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行上述方法的步骤的程序代码:
可选地,存储介质还被设置为存储用于执行上述方法步骤的程序代码:
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述方法步骤。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
工业实用性
基于本发明实施例提供的上述技术方案,对一个编码块进行编码,对所述编码块内的像素采用多种类型的复制编码方式进行编码,产生多种类型的编码结果和码流数据;将所述多种类型的码流数据混合组成所述编码块的码流数据的部分或全部;或者,解析码流,获得所述码流的解码块的解码参数;根据所述解码参数,使用多种解码方式对所述解码块的不同部分的码流进行解码,解决了图像区域混合的屏幕图像压缩效率效果不好的问题,提高了压缩效果。

Claims (26)

  1. 一种图像编码方法,包括:
    对一个编码块进行编码时,对所述编码块内的一部分像素采用第一种类型的复制编码方式进行编码,产生所述第一种类型的编码结果和码流数据,对所述编码块内的另一部分像素则采用第二种类型和/或第三种类型的复制编码方式进行编码,产生所述第二种类型和/或所述第三种类型的编码结果和码流数据;所述第一种类型的码流数据以及所述第二种类型和/或所述第三种类型的码流数据混合组成所述编码块的码流数据的部分或全部。
  2. 根据权利要求1所述的方法,其中,
    所述第一种类型的复制编码方式是串复制编码方式,所述第二种类型的复制编码方式是矩形复制编码方式,所述第三种类型的复制编码方式是点复制编码方式。
  3. 根据权利要求1所述的方法,其中,
    采用所述第一种类型的复制编码方式时,总是采用第一参考缓存的像素作为参考像素;采用所述第二种类型的复制编码方式时,总是采用所述第一参考缓存的像素作为参考像素;采用所述第三种类型的复制编码方式时,总是采用第二参考缓存的像素作为参考像素,其中,所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
  4. 根据权利要求1至3任一项所述的方法,其中,所述编码块包括以下至少之一:
    编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
  5. 一种图像编码方法,包括:
    对一个编码块进行编码时,所述编码块内的一部分像素采用第一参考缓存的像素作为参考像素,所述编码块内的另一部分像素则采用第二参考缓存的像素作为参考像素;所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
  6. 根据权利要求5所述的方法,其中,所述编码块包括以下至少之一:
    编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
  7. 一种图像解码方法,括:
    解析一个解码块的码流数据,获取与解码有关的参数;根据所述参数,对所述解码块的一部分码流数据采用第一种类型的复制解码方式进行解码,对所述解码块的另一部分码流数据则采用第二种类型和/或第三种类型的复制解码方式进行解码。
  8. 根据权利要求7所述的方法,其中,
    所述第一种类型的复制解码方式是串复制解码方式,所述第二种类型的复制解码方 式是矩形复制解码方式,所述第三种类型的复制解码方式是点复制解码方式。
  9. 根据权利要求8所述的方法,其中,
    采用所述第一种类型的复制解码方式时,总是采用第一参考缓存的像素作为参考像素;采用所述第二种类型的复制解码方式时,总是采用所述第一参考缓存的像素作为参考像素;采用所述第三种类型的复制解码方式时,总是采用第二参考缓存的像素作为参考像素,所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
  10. 根据权利要求7至9任一项所述的方法,其中,所述解码块包括以下至少之一:
    编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
  11. 一种图像解码方法,包括:
    解析一个解码块的码流数据,获取与解码有关的参数;根据所述参数,对所述解码块的一部分码流数据采用第一参考缓存的像素作为参考像素进行解码,对所述解码块的另一部分码流数据则采用第二参考缓存的像素作为参考像素进行解码;所述第一参考缓存由部分或全部已重构参考像素样值构造而成;所述第二参考缓存则由部分或全部无参考像素样值构造而成。
  12. 根据权利要求11所述的方法,其中,所述解码块包括以下至少之一:
    编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
  13. 一种图像编码装置,包括:
    搜索和复制编码模块,重构参考像素样值集模块,第二参考缓存模块,以及编码、重构及产生视频码流数据的模块;其中,搜索和复制编码模块的混合包括以下至少之一:串复制,矩形复制以及点复制;
    所述重构参考像素样值集模块的部分或全部构造出第一参考缓存单元;
    所述第一参考缓存单元在第一参考缓存中搜索最优参考串和/或最优参考矩形;
    所述第二参考缓存模块在第二参考缓存中搜索最优参考点,并产生出参考串的复制参数,参考矩形的复制参数,参考点的复制参数和/或无参考像素样值。
  14. 一种图像编码装置,包括:
    解析码流,获取复制参数、以及无参考像素样值的模块,串复制、矩形复制、以及点复制混合的复制解码模块,重构参考像素样值集模块,以及第二参考缓存模块;
    所述重构参考像素样值集模块的部分或全部构造出第一参考缓存单元;所述串复制的复制解码模块解码采用第一参考缓存的像素作为参考像素,所述矩形复制的复制解码模块解码采用第一参考缓存的像素作为参考像素,所述点复制的复制解码模块解码采用 第二参考缓存的像素作为参考像素。
  15. 一种图像编码方法,包括:
    对一个编码块进行编码,对所述编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;
    将所述多种类型的码流数据混合组成所述编码块的码流数据的部分或全部。
  16. 根据权利要求15所述的方法,其中,所述多种类型的编码方式包括以下复制编码方式的至少两种:
    行复制编码方式,串复制编码方式,矩形复制编码方式,点复制编码方式,索引复制编码方式。
  17. 根据权利要求15所述的方法,其中,所述多种类型的编码方式包括:
    所述多种类型的编码方式使用指定的一个或多个缓存中的像素样值作为参考像素样值对所述编码块进行编码。
  18. 根据权利要求17所述的方法,其中,
    所述缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部无参考像素样值;
    其中,所述已重构参考像素样值是编码所述编码块之前的码流获得的像素样值的重构值;所述无参考像素样值是根据所述已重构参考像素样值和/或所述复制编码方式构造的像素样值集。
  19. 根据权利要求15至18任一项所述的方法,其中,所述编码块包括以下至少之一:
    编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
  20. 一种图像解码方法,包括:
    解析码流,获得解码块的解码参数;
    根据所述解码参数,使用多种解码方式对所述解码块的不同部分的码流进行解码。
  21. 根据权利要求20所述的方法,其中,使用多种解码方式对所述解码块的不同部分的码流进行解码包括:
    使用指定的一个或多个缓存中的像素样值作为参考像素样值对所述部分码流进行解码。
  22. 根据权利要求21所述的方法,其中,
    所述缓存中的像素样值包括:部分或全部已重构参考像素样值,或者,部分或全部 无参考像素样值。
    其中,所述已重构参考像素样值是解码所述解码块码流之前的码流获得的像素样值的重构值;所述无参考像素样值是根据所述已重构参考像素样值和/或所述解码参数构造的像素样值集。
  23. 根据权利要求20所述的方法,其中,
    所述多种解码方式包括如下所述解码方式中的两种或多种:行复制解码方式,串复制解码方式,矩形复制解码方式,点复制解码方式,索引复制解码方式。
  24. 根据权利要求20至23任一项所述的方法,其中,所述解码块包括以下至少之一:
    编码单元CU,预测单元,最大编码单元LCU,以及编码树单元CTU。
  25. 一种图像编码装置,包括:
    编码模块,设置为对一个编码块进行编码,对所述编码块内的像素采用多种类型的编码方式进行编码,产生多种类型的编码结果和码流数据;
    混合模块,设置为将所述多种类型的码流数据混合组成所述编码块的码流数据的部分或全部。
  26. 一种图像解码装置,包括:
    获取模块,设置为解析码流,获得解码块的解码参数;
    解码模块,设置为根据所述解码参数,使用多种解码方式对所述解码块的不同部分的码流进行解码。
PCT/CN2015/091124 2014-10-06 2015-09-29 图像编码、解码方法及装置 WO2016054985A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201410519008.9 2014-10-06
CN201410519008 2014-10-06
CN201510623173.3 2015-09-25
CN201510623173.3A CN105491376B (zh) 2014-10-06 2015-09-25 图像编码、解码方法及装置

Publications (1)

Publication Number Publication Date
WO2016054985A1 true WO2016054985A1 (zh) 2016-04-14

Family

ID=55652581

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/091124 WO2016054985A1 (zh) 2014-10-06 2015-09-29 图像编码、解码方法及装置

Country Status (2)

Country Link
CN (1) CN105491376B (zh)
WO (1) WO2016054985A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770553A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 采用多类匹配参数及参数存储地址的数据压缩方法和装置
CN107770544A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 采用多类匹配参数及前参数缓冲区的数据压缩方法和装置
WO2020156547A1 (en) * 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Buffer resetting for intra block copy in video coding
US11228775B2 (en) 2019-02-02 2022-01-18 Beijing Bytedance Network Technology Co., Ltd. Data storage in buffers for intra block copy in video coding
US11523107B2 (en) 2019-07-11 2022-12-06 Beijing Bytedance Network Technology Co., Ltd. Bitstream conformance constraints for intra block copy in video coding
US11528476B2 (en) 2019-07-10 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Sample identification for intra block copy in video coding
US11546581B2 (en) 2019-03-04 2023-01-03 Beijing Bytedance Network Technology Co., Ltd. Implementation aspects in intra block copy in video coding
US11575888B2 (en) 2019-07-06 2023-02-07 Beijing Bytedance Network Technology Co., Ltd. Virtual prediction buffer for intra block copy in video coding
US11882287B2 (en) 2019-03-01 2024-01-23 Beijing Bytedance Network Technology Co., Ltd Direction-based prediction for intra block copy in video coding

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770542A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 采用编码参数基值的数据压缩方法和装置
CN108668130A (zh) * 2017-03-31 2018-10-16 晨星半导体股份有限公司 重组影像文件的方法
CN110087090B (zh) * 2019-05-20 2021-04-06 绍兴文理学院 采用混合串匹配和帧内预测的数据编码、解码方法
CN113853790A (zh) * 2019-09-04 2021-12-28 深圳市大疆创新科技有限公司 编码方法、解码方法以及编码装置和解码装置
CN113727108B (zh) * 2020-05-26 2024-03-01 腾讯科技(深圳)有限公司 视频解码方法、视频编码方法及相关设备
CN116489369B (zh) * 2023-06-26 2023-09-08 深圳市美力高集团有限公司 一种行车数字录像压缩处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07240922A (ja) * 1994-02-28 1995-09-12 Kyocera Corp 画像符号化・復号化装置
CN101002477A (zh) * 2004-08-13 2007-07-18 皇家飞利浦电子股份有限公司 用于压缩混合的图形和视频源的系统和方法
CN101217668A (zh) * 2008-01-14 2008-07-09 浙江大学 基于块分类的混合图像压缩方法
CN102611885A (zh) * 2011-01-20 2012-07-25 华为技术有限公司 一种编解码方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101540912B (zh) * 2004-06-27 2011-05-18 苹果公司 对编码视频数据选择编码类型和预测模式
US8265136B2 (en) * 2007-02-20 2012-09-11 Vixs Systems, Inc. Motion refinement engine for use in video encoding in accordance with a plurality of sub-pixel resolutions and methods for use therewith

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07240922A (ja) * 1994-02-28 1995-09-12 Kyocera Corp 画像符号化・復号化装置
CN101002477A (zh) * 2004-08-13 2007-07-18 皇家飞利浦电子股份有限公司 用于压缩混合的图形和视频源的系统和方法
CN101217668A (zh) * 2008-01-14 2008-07-09 浙江大学 基于块分类的混合图像压缩方法
CN102611885A (zh) * 2011-01-20 2012-07-25 华为技术有限公司 一种编解码方法和装置

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770553B (zh) * 2016-08-21 2023-06-27 上海天荷电子信息有限公司 采用多类匹配参数及参数存储地址的数据压缩方法和装置
CN107770544A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 采用多类匹配参数及前参数缓冲区的数据压缩方法和装置
CN107770553A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 采用多类匹配参数及参数存储地址的数据压缩方法和装置
CN107770544B (zh) * 2016-08-21 2023-12-08 上海天荷电子信息有限公司 采用多类匹配参数及前参数缓冲区的数据压缩方法和装置
WO2020156547A1 (en) * 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Buffer resetting for intra block copy in video coding
US11228775B2 (en) 2019-02-02 2022-01-18 Beijing Bytedance Network Technology Co., Ltd. Data storage in buffers for intra block copy in video coding
US11375217B2 (en) 2019-02-02 2022-06-28 Beijing Bytedance Network Technology Co., Ltd. Buffer management for intra block copy in video coding
US11438613B2 (en) 2019-02-02 2022-09-06 Beijing Bytedance Network Technology Co., Ltd. Buffer initialization for intra block copy in video coding
US11882287B2 (en) 2019-03-01 2024-01-23 Beijing Bytedance Network Technology Co., Ltd Direction-based prediction for intra block copy in video coding
US11956438B2 (en) 2019-03-01 2024-04-09 Beijing Bytedance Network Technology Co., Ltd. Direction-based prediction for intra block copy in video coding
US11546581B2 (en) 2019-03-04 2023-01-03 Beijing Bytedance Network Technology Co., Ltd. Implementation aspects in intra block copy in video coding
US11985308B2 (en) 2019-03-04 2024-05-14 Beijing Bytedance Network Technology Co., Ltd Implementation aspects in intra block copy in video coding
US11575888B2 (en) 2019-07-06 2023-02-07 Beijing Bytedance Network Technology Co., Ltd. Virtual prediction buffer for intra block copy in video coding
US11528476B2 (en) 2019-07-10 2022-12-13 Beijing Bytedance Network Technology Co., Ltd. Sample identification for intra block copy in video coding
US11936852B2 (en) 2019-07-10 2024-03-19 Beijing Bytedance Network Technology Co., Ltd. Sample identification for intra block copy in video coding
US11523107B2 (en) 2019-07-11 2022-12-06 Beijing Bytedance Network Technology Co., Ltd. Bitstream conformance constraints for intra block copy in video coding

Also Published As

Publication number Publication date
CN105491376B (zh) 2020-01-07
CN105491376A (zh) 2016-04-13

Similar Documents

Publication Publication Date Title
WO2016054985A1 (zh) 图像编码、解码方法及装置
US10341651B2 (en) Image coding method, decoding method, coding device and decoding device
CN112383780B (zh) 点匹配参考集和索引来回扫描串匹配的编解码方法和装置
US11394970B2 (en) Image encoding and decoding method and device
CN111800641B (zh) 同模式采用不同种类重构像素的图像编码解码方法和装置
CN107071450B (zh) 数据压缩的编码、解码方法及装置
WO2015120823A1 (zh) 使用多种形式的参考像素存储空间的图像压缩方法和装置
WO2015120818A1 (zh) 图像编码、解码方法及装置
US10575022B2 (en) Image encoding and decoding method, image processing device and computer storage medium
CN104754362B (zh) 使用精细划分块匹配的图像压缩方法
KR101946598B1 (ko) 이미지 코딩, 디코딩 방법 및 장치
CN105847842B (zh) 图像编码方法及装置、图像解码方法及装置
EP3306931A1 (en) Image encoding and decoding method, image processing device, and computer storage medium
WO2016202189A1 (zh) 图像编码及解码方法、图像处理设备、计算机存储介质
CN106254878B (zh) 一种图像编码及解码方法、图像处理设备
JP2022546898A (ja) ビデオ画像処理方法、装置、および記憶媒体
WO2016119746A1 (zh) 图像编码方法及装置、图像解码方法及装置
WO2016197893A1 (zh) 图像编码及解码方法、图像处理设备、计算机存储介质
CN110944174B (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: 15848675

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15848675

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 15848675

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 11/10/2017)

122 Ep: pct application non-entry in european phase

Ref document number: 15848675

Country of ref document: EP

Kind code of ref document: A1