WO2016124154A1 - 图像编码方法和装置及图像解码方法和装置 - Google Patents

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

Info

Publication number
WO2016124154A1
WO2016124154A1 PCT/CN2016/073603 CN2016073603W WO2016124154A1 WO 2016124154 A1 WO2016124154 A1 WO 2016124154A1 CN 2016073603 W CN2016073603 W CN 2016073603W WO 2016124154 A1 WO2016124154 A1 WO 2016124154A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
scan
parameter
scanning
decoding
Prior art date
Application number
PCT/CN2016/073603
Other languages
English (en)
French (fr)
Inventor
林涛
李明
尚国强
吴钊
Original Assignee
同济大学
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN201610079054.0A external-priority patent/CN105872539B/zh
Application filed by 同济大学, 中兴通讯股份有限公司 filed Critical 同济大学
Priority to US15/549,408 priority Critical patent/US10750180B2/en
Priority to EP16746149.0A priority patent/EP3255891A4/en
Priority to KR1020177025369A priority patent/KR102532391B1/ko
Priority to EP22211751.7A priority patent/EP4164226A1/en
Priority to JP2017541640A priority patent/JP6794364B2/ja
Publication of WO2016124154A1 publication Critical patent/WO2016124154A1/zh
Priority to US16/927,093 priority patent/US11431977B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • the present invention relates to the field of communications, and in particular to an image encoding method and apparatus, and an image decoding method and apparatus.
  • the natural form of a digital video signal of an image is a sequence of images.
  • a frame of image is usually a rectangular area composed of several pixels, and a digital video signal is a sequence of video images composed of tens of frames to thousands of frames of images, sometimes simply referred to as a video sequence or sequence.
  • Encoding a digital video signal encodes a frame by frame image. At any one time, the image of the frame being encoded is referred to as the current encoded image.
  • decoding a compressed video stream (also referred to as a bit stream) of a digital video signal is decoding a stream of one frame by one compressed image.
  • the image of the frame being decoded is referred to as the current decoded image.
  • the current encoded image or the currently decoded image is collectively referred to as the current image.
  • one frame of image is divided into blocks of MxM.
  • a sub-image of a pixel called a coding block (from a decoding perspective, that is, a decoding block, collectively referred to as a codec block) or a "Coding Unit (CU), with a CU as a basic coding unit, performs sub-images one by one. coding.
  • 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.
  • 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 frame of image is usually first divided into "Largest Coding Units (LCUs)" having the same size and having NxN pixels, and then each LCU is further divided into a tree structure. Multiple CUs of different sizes are not necessarily the same. Therefore, the LCU is also referred to as a "Coding Tree Unit (CTU)".
  • LCUs Large Coding Units
  • CTU Coding Tree Unit
  • One of the LCUs consists of three 32x32 pixels.
  • the CU is composed of four 16x16 pixel CUs, so that seven CUs in a tree structure constitute one CTU.
  • the other LCU consists of two 32x32 pixel CUs, three 16x16 pixel CUs, and 20 8x8 pixel CUs.
  • Such 25 CUs in a tree structure constitute another CTU.
  • Encoding one frame of image is to sequentially encode one CU in one CTU.
  • LCU is synonymous with CTU.
  • a CU whose size is equal to the CTU is called a CU with a depth of zero.
  • a CU obtained by dividing the CU up and down and left and right by a depth of 0 is called a CU having a depth of 1.
  • a CU with a depth of 1 and a CU divided into four equal parts is called a CU with a depth of 2.
  • a CU obtained by dividing the CU of the depth of 2 into four equal parts is called a CU having a depth of 3.
  • the CU can also be further divided into sub-areas.
  • Sub-regions include, but are not limited to, prediction unit (PU), transform unit (TU), asymmetric partition (AMP) regions.
  • a color pixel usually consists of 3 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 palette index representation format In addition to the 3-component representation format of pixels, another commonly used prior art representation format for pixels is the palette index representation format.
  • the value of a pixel can also be represented by the index of the palette.
  • the palette space stores the value or approximate value of the three components of the 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 representation formats Other commonly used prior art pixel representation formats include CMYK representation formats and grayscale representation formats.
  • the above YUV color format may be subdivided into several seed formats according to whether the chroma component is downsampled: 1 pixel is composed of 1 Y component, 1 U component, 1 V component, YUV4: 4:4 Pixel color format; YUV4:2:2 pixel color format consisting of 2 Y components, 1 U component, and 1 V component; 2 pixels arranged in 2x2 spatial position A YUV 4:2:0 pixel color format consisting of 4 Y components, 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 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 existing image and video compression technologies usually adopt various copying methods, including at least the following copying methods:
  • Intra-frame string copy that is, intra-frame string matching or string matching or string copying or pixel string copying.
  • a current coded block or a current decoded block (referred to as the current block) is divided into several variable-length pixel sample strings.
  • the string here refers to arranging the pixel samples in a two-dimensional area of an arbitrary shape into a string whose length is much larger than the width (for example, a string having a width of 1 pixel sample and a length of 37 pixel samples or a width of 2)
  • a string of pixel samples of length 111 pixels typically but not limited to a length that is an independent encoding or decoding parameter and a width that is a predetermined or derived parameter from other encoding or decoding parameters).
  • the basic operation of string copy encoding or decoding is to copy each reference string from the reconstructed reference pixel sample set to each encoded string or decoded string (referred to as the current string) in the current block, and the value of the reference string Assign to the current string.
  • the copy parameters of the string copy mode include the displacement vector and the copy length of the current string, that is, the copy size, which respectively represent the relative position between the reference string and the current string and the length of the current string, that is, the number of pixel samples.
  • the length of the current string is also the length of the reference string.
  • a current string has a displacement vector and a copy length. How many displacement vectors and how many copy lengths a current block is divided into.
  • Palette index copy is a palette or index copy.
  • the index is further encoded and decoded, including but not limited to: dividing an index of a current block into several index strings of variable length, that is, performing index string copy encoding and decoding.
  • the basic operation of the index string copy encoding or decoding is to copy each reference index string or index decoding string (referred to as the current index string) in the current block, and copy a reference index string from the indexed reconstructed reference pixel sample set.
  • the copy parameter of the index string copy mode includes the displacement vector and the copy length of the current index string, that is, the copy size, respectively indicating the relative position between the reference index string and the current index string and the length of the current index string, that is, the number of corresponding pixel samples.
  • the length of the current index string is also the length of the reference index string.
  • a current index string has a displacement vector and a copy length. How many displacement vectors and how many copy lengths a current index is divided into.
  • Other replication methods include block copy mode, microblock copy mode, strip copy mode, rectangular copy mode, and multiple copy modes.
  • the block in the above block copy mode, the micro block in the micro block copy mode, the strip in the strip copy mode, and the string copy side The string in the formula, the rectangle in the rectangular copy mode, and the pixel index string in the palette index mode are collectively referred to as pixel sample segments, which are referred to as sample segments.
  • the basic constituent elements of a sample segment are pixel or pixel components or pixel indices.
  • a sample segment has a copy parameter that represents the relationship between the current pixel sample segment and the reference pixel sample segment.
  • a copy parameter includes a plurality of copy parameter components, and the copy parameter component includes at least: a displacement vector horizontal component, a displacement vector vertical component, a copy length, a copy width, a copy height, a rectangle width, a rectangle length, and an unmatched pixel (also referred to as no reference pixel, That is, non-replicated pixels that are copied from other places).
  • an optional scanning method in the prior art is generally used in the prior art to scan a complete row (or column) and scan a complete row (or column). ) Then scan the next line (or column). Therefore, in the related encoding/decoding technology, the image can only be scanned by a fixed method, which will greatly affect the image encoding compression efficiency and the image decoding and decompression efficiency.
  • the embodiments of the present invention provide an image encoding method and apparatus, and an image decoding method and apparatus, to at least solve the problem of low efficiency caused by scanning only in a fixed manner in the related encoding/decoding technology in the related art.
  • an image encoding method comprising: determining a scanning mode parameter of a coding block, wherein the scanning mode parameter comprises at least one of: an area for determining a scanning area of the coding block And an indication parameter, a scan indication parameter for determining a scan order of pixels in the scan area in the coding block; determining a prediction value of some or all pixels in the coding block according to the scanning mode parameter; and encoding the coding block according to the prediction value And write the encoded result to the code stream.
  • determining the scanning mode parameter of the coding block includes: extracting a pixel parameter in the coding block and/or a feature parameter of a pixel sample in the adjacent region of the coding block; and determining, according to the feature parameter, the scanning of the coding block. Mode parameter.
  • extracting the feature parameters of the pixel samples in the coding block and/or the pixel samples in the adjacent regions of the coding block includes: extracting pixel samples in the coding block and/or pixel samples in adjacent regions of the coding block.
  • determining the scan mode parameter of the code block according to the feature parameter comprises: determining the scan mode parameter of the code block according to the texture feature.
  • extracting the texture feature of the pixel sample in the coding block and/or the pixel sample in the adjacent region of the coding block includes: selecting a pixel sample in the coding block and/or a pixel in the adjacent region of the coding block. The value is subjected to filtering processing; the texture feature is extracted according to the result of the filtering processing described above.
  • performing filtering processing on the pixel samples in the coding block and/or the pixel samples in the adjacent region of the coding block includes: performing pixel samples in the coding block and/or pixel samples in adjacent regions of the coding block.
  • the value is edge detection filtered.
  • determining, according to the texture feature, the scanning mode parameter of the coding block determining, according to the texture feature, the area indication parameter in the scanning mode parameter, to obtain a scanning area of the coding block, where
  • the scanning area of the code block includes at least one of the above-mentioned coding blocks as one of the above-described scanning areas, and the coding block is divided into a plurality of the scanning areas.
  • determining the area indication parameter in the scanning mode parameter according to the texture feature, and obtaining the scanning area of the coding block comprises: determining whether a texture direction indicated by the texture feature intersects a boundary of the coding block; When the direction intersects the boundary of the coding block, the position of the intersection of the texture direction and the boundary of the coding block is taken as an origin, and the coding block is divided into a plurality of the scanning areas in a horizontal or vertical direction; When the boundary of the above coding block is not intersected, the above coded block is used as one of the above-mentioned scanning areas.
  • the position of the intersection of the texture direction and the boundary of the coding block is taken as an origin
  • dividing the coding block into the plurality of scan areas in a horizontal or vertical direction comprises: in the texture direction and the coding block When the lateral boundaries intersect, the position at which the intersection of the texture direction and the boundary of the coding block is located is taken as an origin, and the coding block is divided into a plurality of the scanning regions in a vertical direction perpendicular to the lateral boundary; or in the above texture
  • the position where the intersection of the texture direction and the boundary of the coding block is located is taken as an origin
  • the coding block is divided into a plurality of scans in a horizontal direction perpendicular to the longitudinal boundary region.
  • determining the scan mode parameter of the coded block according to the texture feature includes: setting the scan indication parameter in the scan mode parameter according to a texture direction indicated by the texture feature, wherein the scan indication parameter indicates the code The scanning order of the pixels in the above scanning area in the block.
  • determining the scan mode parameter of the coded block according to the foregoing feature parameter includes: acquiring a correlation degree of the pixel sample value in the scan area in the code block, where the correlation degree includes at least one of the following: a line correlation degree, Column correlation; comparing the correlation of the pixel samples; and determining the scanning order of the pixels in the scanning area in the coding block according to the result of the comparison.
  • determining, according to the result of the comparing, the scanning order of the pixels in the scanning area in the coding block comprises: setting an order indicated by a maximum correlation degree among the comparison results to the scanning order of pixels in the scanning area.
  • determining the predicted value of the partial or all pixels in the coding block according to the scanning mode parameter includes: determining a reference value of a pixel sample value of some or all of the pixels in the coding block, and using the reference value as the predicted value;
  • the scan mode parameter determines a combination of pixel samples of some or all of the pixels in the code block, and a combination of reference values corresponding to the combination of the pixel samples is used as the predicted value.
  • the scanning area of the coding block indicated by the area indication parameter includes at least one of the following: the coding block is used as one of the scanning areas, and the coding block is divided into a plurality of the scanning areas; the coding block indicated by the scanning indication parameter
  • the scanning sequence of the pixels in the scanning area includes at least one of: horizontal zigzag scanning order, vertical zigzag scanning order, horizontal arc scanning order, vertical arc scanning order, raster scanning order, Zigzag scanning order, zigzag scanning order , diagonal zigzag scanning order, diagonal arcuate scanning order.
  • the writing the encoded coded result to the code stream includes: writing the foregoing encoded result and the scan mode parameter into a data unit in the code stream according to a predetermined format, where the data unit includes at least one of the following: a video Parameter set, A sequence parameter set, an image parameter set, a slice header, a coding tree unit CTU, a coding unit CU, and a data unit in which the above coding block is located.
  • an image decoding method including: parsing a code stream to obtain a decoding parameter of a decoding block; and acquiring a scanning mode parameter according to the decoding parameter, wherein the scanning mode parameter includes: Deriving an area indication parameter of the scan area of the block, and/or a scan indication parameter for determining a scan order of the pixels in the scan area; determining some or all of the pixels in the decoded block according to the area indication parameter and/or the scan indication parameter Refactored value.
  • the acquiring the scan mode parameter according to the foregoing decoding parameter includes: obtaining the area indication parameter and/or the scan indication parameter in the scan mode parameter from the decoding parameter, to obtain a scan area of the decoded block, where the decoding is performed.
  • the scanning area of the block includes at least one of the above-mentioned decoding blocks as one of the scanning areas, and the decoding block is divided into a plurality of the scanning areas.
  • the acquiring the scan mode parameter according to the foregoing decoding parameter includes: extracting a feature parameter of the pixel sample in the adjacent region of the decoded block, wherein the feature parameter includes a texture feature; and determining the scan mode of the decoded block according to the texture feature. parameter.
  • extracting the feature parameters of the adjacent area of the decoding block includes: performing filtering processing on the reconstructed value of the decoded pixel in the adjacent area of the decoding block; and extracting the texture feature according to the result of the filtering process.
  • performing filtering processing on the reconstructed value of the decoded pixel in the adjacent area of the decoding block includes performing edge detection filtering on the reconstructed value of the decoded pixel in the adjacent area of the decoding block.
  • determining, according to the texture feature, the scanning mode parameter of the decoding block includes: determining whether a texture direction indicated by the texture feature intersects a boundary of the decoding block; and when the texture direction intersects a boundary of the decoding block, Taking the position where the intersection of the texture direction and the boundary of the decoding block is located as an origin, dividing the decoding block into a plurality of the scanning areas in a horizontal or vertical direction; when the texture direction does not intersect the boundary of the decoding block, The above decoded block is taken as one of the above scanning areas.
  • determining the scanning mode parameter of the decoding block according to the texture feature includes: setting a scanning order of pixels in the scanning area in the decoding block according to a texture direction indicated by the texture feature.
  • the acquiring the scan mode parameter according to the foregoing decoding parameter includes: acquiring a mode indication parameter for indicating the coding mode according to the foregoing decoding parameter; and acquiring the scan mode parameter from the mode indication parameter.
  • determining the reconstructed value of the partial or all pixels in the decoding block according to the foregoing area indication parameter and/or the foregoing scanning indication parameter includes: acquiring a predicted value of some or all pixels in the decoded block, and using the predicted value as the foregoing Reconstructing the value; or obtaining the predicted value of the partial or all pixels in the decoded block and the corresponding predicted difference, and using the sum or difference of the predicted value and the predicted difference as the reconstructed value.
  • acquiring the predicted value of some or all of the pixels in the decoding block includes: determining part or all of the foregoing decoding block a reference value of the pixel sample of the pixel, using the reference value as the predicted value; determining a combination of pixel sample values of some or all of the pixels in the decoded block according to the scan mode parameter, and using a reference value corresponding to the combination of the sample values The combination is used as the above predicted value.
  • the scanning area of the decoding block indicated by the area indication parameter includes at least one of the following: the decoding block is one of the scanning areas, and the decoding block is divided into a plurality of the scanning areas; the decoding block indicated by the scanning indication parameter
  • the scanning sequence of the pixels in the scanning area includes at least one of: horizontal zigzag scanning order, vertical zigzag scanning order, horizontal arc scanning order, vertical arc scanning order, raster scanning order, Zigzag scanning order, zigzag scanning order , diagonal zigzag scanning order, diagonal arcuate scanning order.
  • the parsing the code stream to obtain the decoding parameter of the decoding block comprises: acquiring the decoding parameter from the data unit in the foregoing code stream, where the data unit comprises at least one of the following: a video parameter set, a sequence parameter set, and an image parameter.
  • the data unit comprises at least one of the following: a video parameter set, a sequence parameter set, and an image parameter.
  • an image encoding apparatus comprising: a first determining unit configured to determine a scanning mode parameter of a coding block, wherein the scanning mode parameter comprises at least one of: for determining the encoding An area indication parameter of the scan area of the block, a scan indication parameter for determining a scan order of pixels in the scan area in the coding block, and a second determining unit configured to determine part or all of the pixels in the coding block according to the scan mode parameter a prediction unit; the encoding unit configured to encode the encoded block according to the predicted value and write the encoded encoded result to the code stream.
  • an image decoding apparatus including: a first acquiring unit configured to parse a decoding parameter of a decoding stream to obtain a decoding block; and a second acquiring unit configured to acquire a scan according to the decoding parameter.
  • a mode parameter where the scan mode parameter includes: an area indication parameter for determining a scan area of the decoded block, and/or a scan indication parameter for determining a scan order of pixels in the scan area; and a determining unit configured to The above-mentioned area indication parameter and/or the above-described scan indication parameter determines a reconstructed value of some or all of the pixels in the above-described decoded block.
  • the scanning mode parameter of the coding block is determined by the present invention, wherein the scanning mode parameter comprises at least one of: an area indication parameter for determining a scanning area of the coding block, for determining a scanning order of pixels in the scanning area in the coding block. Scanning the indication parameter; determining a prediction value of some or all of the pixels in the coding block according to the scanning mode parameter; encoding the coding block according to the predicted value, and writing the encoded coding result into the code stream.
  • the parsing code stream obtains a decoding parameter of the decoding block, and acquires a scanning mode parameter according to the decoding parameter, where the scanning mode parameter includes: an area indication parameter used to determine a scanning area of the decoding block, and/or is used to determine a pixel in the scanning area.
  • the scan order of the scan order indicates a parameter; the reconstructed value of some or all of the pixels in the decoded block is determined according to the area indication parameter and/or the scan indication parameter.
  • the coding technique can only scan the inefficiency caused by the fixed method.
  • FIG. 1 is a schematic diagram of an alternative scanning method in the prior art
  • FIG. 2 is a flow chart of an alternative image encoding method in accordance with an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of an alternative scanning mode according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of another alternative scanning mode in accordance with an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of still another optional scanning mode according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of still another optional scanning mode according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of still another optional scanning mode according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of still another optional scanning mode according to an embodiment of the present invention.
  • FIG. 9 is a schematic diagram of still another optional scanning mode according to an embodiment of the present invention.
  • FIG. 10 is a flowchart of an optional image decoding method according to an embodiment of the present invention.
  • FIG. 11 is a schematic diagram of an alternative image encoding device according to an embodiment of the present invention.
  • FIG. 12 is a schematic diagram of an alternative image decoding apparatus according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of an optional image encoding method according to an embodiment of the present invention. As shown in FIG. 2, the process includes the following steps:
  • S202 Determine a scan mode parameter of the coded block, where the scan mode parameter includes at least one of: an area indication parameter for determining a scan area of the coded block, and a scan indication for determining a scan order of pixels in the scan area in the coded block. parameter;
  • S204 Determine, according to a scan mode parameter, a predicted value of some or all pixels in the coded block.
  • the foregoing image encoding method may be, but is not limited to, applied to a video image encoding process, for example, may be, but not limited to, an image encoding applied to a stacked format, or an image encoding process in a component plane format.
  • the coded block to be encoded is subjected to split scanning according to the indication of the determined scan mode parameter, and the coded block is written into the video code stream. That is to say, one coding block is split into K scanning areas and scanned in the corresponding scanning order to overcome the low efficiency caused by scanning the coding block according to the positive line (or column) in the prior art by using the fixed scanning method.
  • K generally satisfies: 1 ⁇ K ⁇ 16.
  • K>1 indicates multi-split or split scan.
  • the scanning mode parameter of the coding block is determined, where the scanning mode parameter includes at least one of the following: an area indication for determining a scanning area of the coding block. a parameter, a scan indication parameter for determining a scan order of pixels in the scan area in the coded block; determining a predicted value of some or all of the pixels in the coded block according to the determined scan mode parameter; further, encoding the coded block according to the predicted value, and
  • the encoded encoded result is written to the code stream. That is to say, the coded block is scanned and encoded by using a split scan method, and the coded result is written into the video code stream. Thereby, the effect of improving the coding efficiency is achieved by dividing the coding block into smaller scanning areas.
  • pixel sample value pixel value
  • sample value sample value
  • index pixel pixel index
  • pixel one pixel component
  • index pixel or both of them may be explicitly indicated depending on the context. If it is not clear from the context, then it means either of the three.
  • a coded block is an area composed of several pixel values.
  • the shape of the coded block may be, but is not limited to, at least one of the following shapes: a rectangle, a square, a parallelogram, a trapezoid, a polygon, a circle, an ellipse, and the like.
  • the rectangle also includes a rectangle whose width or height is one pixel value which degenerates into a line (ie, a line segment or a line shape).
  • each code block may have a different shape and size.
  • some or all of the coded blocks may have overlapping portions, or all of the coded blocks may not overlap each other.
  • a coding block may be composed of "pixels”, may be composed of “components of pixels”, may also be composed of "index pixels”, or may be composed of a mixture of the three, or may be composed of three of them. Any two kinds of mixed compositions are not limited in this embodiment.
  • a coding block may refer to an area in a frame image that is encoded, for example, may include but is not limited to at least one of the following: a maximum coding unit LCU, a coding tree unit CTU, a coding unit CU, a CU Sub-region, prediction unit PU, and transform unit TU.
  • the scanning order of the pixels in the scanning area includes at least one of the following: a horizontal Z-shaped scanning order, a vertical Z-shaped scanning order, a horizontal arc scanning order, a vertical arc scanning order, a raster scanning order, Zigzag scan order, zigzag scan order, diagonal zigzag scan order, diagonal bow scan order.
  • the foregoing scanning manner may include, but is not limited to, at least one of the following: 2 splitting, 4 splitting, 8 splitting, and 16 splitting.
  • the scanning order of different scanning areas may be the same or different. This embodiment does not limit this.
  • Figure 3 shows the scans indicated by the four selectable scan mode parameters: 1) Horizontally zigzag 2 of the coded block Split scan; 2) horizontal Z-shaped 4-split scan of the coded block; 1) vertical Z-shaped 2-split scan of the coded block; 1) vertical Z-shaped 4-split scan of the coded block.
  • Figures 4-9 illustrate scans indicated by various alternative scan mode parameters resulting from different scan modes combined with different scan orders.
  • determining a scan mode parameter of the coded block includes:
  • the texture feature in the coding block and/or the pixel sample in the adjacent region of the coding block may be extracted, where the feature parameter includes a texture feature,
  • the candidate scanning mode parameter may be, but not limited to, indicating all optional scanning mode parameters, and the coding efficiency of the scanning mode parameters in the encoding process is sequentially compared to achieve optimal coding efficiency.
  • the scan mode parameter is set to the scan mode parameter of the final image coding block. For example, the existing rate-distortion optimization method can be used to determine the maximum coding efficiency.
  • the pixel is used to refer to the smallest display unit of the image, and one pixel position may have one (such as a black-and-white gray image) or three (such as RGB, YUV).
  • the sampled value which is the pixel sample (s).
  • a pixel when describing a position, a pixel can be used; for describing a sampled value at a processing pixel position, a pixel sample can be used.
  • determining a scan mode parameter of the coded block according to the texture feature includes:
  • the scan area of the coding block comprises at least one of the following: the coding block is used as one scan area, and the coding block is divided into multiple scan areas.
  • the encoded scan area may be determined by, but not limited to, determining whether the texture direction indicated by the texture feature intersects with the boundary of the coding block. For example, when intersecting the boundary of the coded block, the coded block is divided into a plurality of scan areas in a direction perpendicular to the boundary.
  • the scanning sequence may include, but is not limited to, at least one of the following:
  • the correlation may include, but is not limited to, at least one of the following: row correlation and column correlation.
  • the scanning order may be, but is not limited to, setting the order indicated by the largest correlation among the comparison results as the scanning order of the pixels in the scanning area.
  • determining a prediction value of a part or all of the pixels in the coding block includes: determining a reference value of a pixel sample value of some or all pixels in the coding block, using the reference value as a prediction value; according to a scanning mode parameter A combination of pixel samples of some or all of the pixels in the coded block is determined, and a combination of reference values corresponding to the combination of pixel samples is used as a predicted value.
  • the writing the encoded result to the code stream includes: writing the encoding result and the scanning mode parameter into the data unit in the code stream according to a predetermined format, where the data unit includes at least one of the following: : a video parameter set, a sequence parameter set, an image parameter set, a slice header, a coding tree unit CTU, a coding unit CU, and a data unit in which the coding block is located.
  • encoding a coding block refers to performing compression coding on a pixel original sample value (also referred to as a pixel value in this embodiment) in a coding block, that is, a pixel original in the coding block.
  • the sampled value ie, pixel value
  • the sampled value is mapped (lossy) as a series of parameters indicating the prediction method employed for the coded block, the construction of the predicted value, and the prediction difference.
  • the coding block since the coding block is coded and scanned by using the split scan mode, information of the split scan mode used for identifying the coded block, that is, the scan mode parameter, needs to be encoded in the code stream.
  • the above reference value may also be referred to as a reference sample.
  • the two-dimensional pixels in the coding block are divided into a plurality of columns, which are arranged in series in the scanning order, and the strings are successively arranged in the scanning order to form two-dimensional pixels in the coding block. arrangement.
  • Each string has its own matching string (ie, the predicted value), and the matching string of each string is continuously arranged in the scanning order to form the predicted value of the two-dimensional pixel in the coding block, and the code stream process is written, that is, a normal decimal representation.
  • the parameter value is converted into a binary symbol string represented by 0 and 1 bit.
  • the binary symbol string can be directly used as a code stream, or the binary symbol string can be mapped to another new binary symbol string by using a method such as arithmetic entropy coding. , the new binary symbol string is used as the code stream. This embodiment does not limit this.
  • the two-dimensional matrix can be arranged into [A B C D E F G H I J K L M N O P], [A E I M B F J N C G K O D H L P], [A B C D H G F E I J K L P O N M], [A E I M N J F B C G K O P L H D] Dimension arrangement. That is to say, the existing fixed scanning method can only be used for scanning according to the above four scanning arrangements.
  • the strings may be composed of any consecutively arranged pixels according to the one-dimensional arrangement order, for example, in one dimension.
  • [A B C D H G F E I J K L P O N M] can be divided into 4 strings, and the positions of the 4 strings in the two-dimensional matrix are as follows: string 1 [A B] (bold), string 2[C D H G F] (underlined), string 3[E I J K] (italic), string 4[L P O N M] (normal format):
  • the matching length pixels can be taken as the matching string of the string starting from the matching position and scanning the string according to the different format in the above matrix. It is stated from the above example that the content in the scan area corresponding to different formats can implement split scan of the coded block in different scan orders.
  • the scanning mode parameter of the coding block is determined according to the feature parameter extracted from the coding block, where the scanning mode parameter includes at least one of the following: An area indication parameter indicating a coding block into one or more scan areas, a scan indication parameter indicating a scan order of scanning the coded block; scanning the coded block in the image according to the determined scan mode parameter, and determining the coded block The predicted value of some or all of the pixels; further, the encoded block is encoded according to the predicted value, and the encoded encoded result is written into the code stream.
  • the coded block is subjected to scan coding by using a split scan method, and the coded result is written into the video code stream.
  • the effect of improving the coding efficiency is achieved by dividing the coding block into smaller scanning areas.
  • the problem of low efficiency caused by scanning in a fixed manner in the coding technique of the prior art is overcome.
  • determining the scanning mode parameters of the encoding block includes:
  • extracting the feature parameters of the pixel samples in the coding block and/or the pixel samples in the adjacent regions of the coding block includes: S12, extracting pixel samples in the coding block and/or adjacent to the coding block.
  • determining a scan mode parameter of the code block according to the feature parameter includes: S22, determining a scan mode parameter of the code block according to the texture feature.
  • determining, according to the texture feature, the scanning mode parameter of the coding block may include, but is not limited to: determining one or more scanning areas of the coding block indicated by the area indication parameter, and scanning the coding block indicated by the indication parameter. The scan order in which the scan is performed.
  • the texture feature is extracted by the image content of the coding block, and the optimal scanning mode parameter is determined by using the texture feature of the image itself, thereby further improving the compression efficiency of encoding the coding block.
  • the levy includes:
  • filtering the pixel samples in the coding block and/or the pixel samples in the adjacent areas of the coding block includes:
  • S12 Perform edge detection filtering on the pixel samples in the coding block and/or the pixel samples in the adjacent areas of the coding block.
  • the foregoing edge detection filtering is only an implementation means, and the implementation means for acquiring the texture feature is not limited in this embodiment. Thereby, it is determined whether to divide the scan area into the coded block according to the edge information. Further, the scanning order of the pixels in the scanning area may also be determined according to the texture features extracted in the detection result.
  • determining scan mode parameters of the coding block according to the texture feature includes:
  • S1 Determine an area indication parameter in the scan mode parameter according to the texture feature, to obtain a scan area of the coding block, where the scan area of the coding block includes at least one of the following: the coding block is used as a scan area, and the coding block is divided into multiple scan areas.
  • the encoded scan area may be determined by, but not limited to, determining whether the texture direction indicated by the texture feature intersects with the boundary of the coding block. For example, when intersecting the boundary of the coded block, the coded block is divided into a plurality of scan areas in a direction perpendicular to the boundary.
  • the area indication parameter in the scan mode parameter is determined according to the texture feature to implement split scan of the coded block, thereby ensuring that different scan areas can be simultaneously performed in the process of scanning and coding the coded block. Split scanning, thereby achieving an effect of improving coding efficiency.
  • determining an area indication parameter in the scan mode parameter according to the texture feature, and obtaining a scan area of the coded block includes:
  • the coding block is used as a scanning area.
  • the position where the intersection of the texture direction and the boundary of the coding block is located is the origin, and dividing the coding block into the plurality of scanning areas in the horizontal or vertical direction includes:
  • the coded block may be split scand in the horizontal or vertical direction.
  • a plurality of scanning areas may be determined, but not limited to, based on the actual texture direction of the image content in the encoding block. That is, a plurality of parallel scanning regions are divided in a direction coinciding with the texture direction.
  • the scan area is determined by determining whether the texture direction indicated by the texture feature intersects with the boundary of the coded block. Not only is the operation simple, but the compression efficiency of the coding block is further ensured.
  • determining scan mode parameters of the coding block according to the texture feature includes:
  • FIGS. 4-9 are schematic diagrams of various hybrid scans obtained by combining different scan modes and different scan orders.
  • the operation of simplifying the scan encoding is further realized by setting the scanning order of the pixels in one or more scanning regions in the encoding block according to the texture direction, thereby ensuring the encoding efficiency.
  • determining the scanning mode parameters of the coding block according to the feature parameters includes:
  • S1 Obtain a correlation degree of pixel samples in a scanning area in the coding block, where the correlation degree includes at least one of the following: a row correlation degree and a column correlation degree;
  • determining, according to the result of the comparison, a scanning order of pixels in the scanning area in the encoding block includes:
  • the order indicated by the largest correlation in the comparison result is set as the scanning order of the pixels in the scan area.
  • the scanning order of the pixels in the scanning area may be determined according to the row correlation degree of the pixels in the scanning area and/or the maximum correlation degree of the column correlation degree.
  • the manner of obtaining the correlation is not limited in this embodiment.
  • determining the predicted values of some or all of the pixels in the coded block according to the scan mode parameters includes:
  • S2 Determine a combination of pixel samples of some or all of the pixels in the coded block according to the scan mode parameter, and use a combination of reference values corresponding to the combination of the pixel samples as the predicted value.
  • the combination of the foregoing pixel samples may be, but is not limited to, formed according to different scanning regions.
  • the above reference values may also be referred to as reference samples.
  • encoding a coding block refers to performing compression coding on a pixel original sample value (also referred to as a pixel value in this embodiment) in a coding block, that is, a pixel original in the coding block.
  • the sampled value ie, pixel value
  • the sampled value is mapped (lossy) as a series of parameters indicating the prediction method employed for the coded block, the construction of the predicted value, and the prediction difference.
  • the coding block since the coding block is coded and scanned by using the split scan mode, information of the split scan mode used for identifying the coded block, that is, the scan mode parameter, needs to be encoded in the code stream.
  • the two-dimensional pixels in the coding block are divided into a plurality of columns, which are arranged in series in the scanning order, and the strings are successively arranged in the scanning order to form two-dimensional pixels in the coding block. arrangement.
  • Each string has its own matching string (ie, the predicted value), and the matching string of each string is continuously arranged in the scanning order to form the predicted value of the two-dimensional pixel in the coding block, and the code stream process is written, that is, a normal decimal representation.
  • the parameter value is converted into a binary symbol string represented by 0 and 1 bit.
  • the binary symbol string can be directly used as a code stream, or the binary symbol string can be mapped to another new binary symbol string by using a method such as arithmetic entropy coding. , the new binary symbol string is used as the code stream. This embodiment does not limit this.
  • the splitting scan is performed on the coded block, and the coded block is split-coded according to the split content, thereby further achieving the effect of improving the compression efficiency in the encoding process.
  • writing the encoded result to the code stream includes:
  • the foregoing encoding may be, but is not limited to, configured by at least one of the following: an encoder configuration, an arrangement of an encoder optimization module, and a configuration directly using a fixed precoding manner in the encoder optimization module.
  • one method that the encoder can adopt is to directly infer the current block when the upper adjacent block uses the split-split scanning mode of the vertical split and the vertical edge in the upper adjacent block intersects the lower boundary of the upper adjacent block. The same split scan mode as the upper neighboring block is used, that is, the precoding process for the current coded block is omitted, thereby saving coding time and improving coding efficiency.
  • 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,
  • the optical disc includes a number of instructions for causing a terminal device (which may be a cell phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
  • FIG. 10 is an optional image solution according to an embodiment of the present invention.
  • a flowchart of the code method, as shown in FIG. 10, the process includes the following steps:
  • S1004 Obtain a scan mode parameter according to the decoding parameter, where the scan mode parameter includes: an area indication parameter used to determine a scan area of the decoded block, and/or a scan indication parameter used to determine a scan order of pixels in the scan area;
  • S1006 Determine, according to the area indication parameter and/or the scan indication parameter, a reconstruction value of some or all pixels in the decoding block.
  • the foregoing image decoding method may be, but is not limited to, applied to a video image decoding process, for example, but may be, but not limited to, image decoding applied to a stack format, or an image decoding process in a component plane format.
  • the split block is scanned by the decoding block to be decoded according to the indication of the determined scan mode parameter. That is to say, one decoding block is split into K scanning areas and scanned in the corresponding scanning order to overcome the low efficiency caused by scanning the decoding block in the positive row (or column) by using the fixed scanning method in the prior art.
  • K generally satisfies: 1 ⁇ K ⁇ 16.
  • K>1 indicates multi-split or split scan.
  • the decoding code when decoding a decoding block to be decoded, acquires a decoding parameter of the decoding block to be decoded, and acquires a scanning mode parameter according to the decoding parameter, where the scanning mode parameter includes: An area indicating a scan area of the decoding block, and/or a scan indication parameter for determining a scan order of pixels in the scan area; determining a reconstructed value of some or all of the pixels in the decoded block according to the area indication parameter and/or the scan indication parameter . That is to say, the decoded block is scanned and decoded by using a split scan method. Thereby, the effect of improving the decoding efficiency is achieved by dividing the decoding block into smaller scanning areas.
  • pixel sample value pixel value
  • sample value sample value
  • index pixel pixel index
  • pixel one pixel component
  • index pixel or both of them may be explicitly indicated depending on the context. If it is not clear from the context, then it means either of the three.
  • the decoded block is an area composed of a number of pixel values.
  • the shape of the decoding block may be, but is not limited to, at least one of the following shapes: a rectangle, a square, a parallelogram, a trapezoid, a polygon, a circle, an ellipse, and the like.
  • the rectangle also includes a rectangle whose width or height is one pixel value which degenerates into a line (ie, a line segment or a line shape).
  • each decoded block may have a different shape and size.
  • some or all of the decoded blocks may have overlapping portions, or all of the decoded blocks may not overlap each other.
  • a decoding block it may be composed of "pixels”, may be composed of “components of pixels”, may also be composed of "index pixels”, or may be composed of a mixture of the three, or may be composed of three of them. Any two kinds of mixed compositions are not limited in this embodiment.
  • a decoding block may refer to an area in a frame image that is decoded, for example, may include but is not limited to at least one of the following: a maximum decoding unit LCU, a decoding tree unit CTU, a decoding unit CU, a CU Sub-region, prediction unit PU, and transform unit TU.
  • the scanning order of the pixels in the scanning area includes at least one of the following: a horizontal Z-shaped scanning order, a vertical Z-shaped scanning order, a horizontal arc scanning order, a vertical arc scanning order, a raster scanning order, Zigzag scan order, zigzag scan order, diagonal zigzag scan order, diagonal bow scan order.
  • the foregoing scanning manner may include, but is not limited to, at least one of the following: 2 splitting, 4 splitting, 8 splitting, and 16 splitting.
  • the scanning order of different scanning areas may be the same or different. This embodiment does not limit this.
  • Figure 3 shows the scans indicated by the four selectable scan mode parameters: 1) horizontal Z-shaped 2 split scan for the decoded block; 2) horizontal Z-shaped 4 split scan for the decoded block; 1) pair decoding The block performs a vertical Z-shaped 2-split scan; 1) performs a vertical Z-shaped 4-split scan on the decoded block.
  • Figures 4-9 illustrate scans indicated by various alternative scan mode parameters resulting from different scan modes combined with different scan orders.
  • the manner of obtaining the scan mode parameter according to the decoding parameter includes at least one of the following:
  • the manner of obtaining the scan mode parameter according to the decoding parameter includes at least one of the following: (1) parsing the code stream to directly obtain the area indication in the scan mode parameter. Parameter and/or scan indication parameter; (2) obtaining the area indication parameter and/or the scan indication parameter in the scan mode parameter by derivation according to the characteristic parameter of the pixel sample in the adjacent area of the decoding block; (3) scanning
  • the mode and the certain coding mode adopt a form of “fixed binding”, that is, a mode indication parameter for indicating an encoding mode is obtained according to the decoding parameter, and when the mode flag is parsed from the mode indication parameter, the area preset for the mode is used. Indicates parameters and/or scan indication parameters.
  • the pixel is used to refer to the smallest display unit of the image, and one pixel position may have one (such as a black-and-white gray image) or three (such as RGB, YUV) effective sampling values. That is, pixel sample (s).
  • a pixel when describing a position, a pixel can be used; for describing a sampled value at a processing pixel position, a pixel sample can be used.
  • the decoded scanning area may be determined by, but not limited to, determining whether the texture direction indicated by the texture feature intersects with the boundary of the decoding block. For example, when intersecting the boundary of the decoded block, the decoded block is divided into a plurality of scan areas in a direction perpendicular to the boundary.
  • the manner of determining the reconstructed value of some or all of the pixels in the decoding block according to the area indication parameter and/or the scan indication parameter includes:
  • determining a prediction value of a part or all of the pixels in the decoding block includes: determining a part of the decoding block Or a reference value of the pixel sample of all pixels, using the reference value as a predicted value; determining a combination of pixel samples of some or all of the pixels in the decoded block according to the scan mode parameter, and using a combination of reference values corresponding to the combination of the sample values as Predictive value.
  • the parsing the code stream to obtain the decoding parameter of the decoding block includes: acquiring the decoding parameter from the data unit in the code stream, where the data unit includes at least one of the following: a video parameter set, a sequence parameter set The image parameter set, the slice header, the coding tree unit CTU, the coding unit CU, and the data unit where the decoding block is located.
  • the decoded block can be divided into different scan areas during the decoding process, and a split scan corresponding to the encoding process is used for each scan area. For example, if the elements in a two-dimensional matrix are arranged into a one-dimensional vector process according to the indication of the scanning mode parameter in the encoding process, the decoding process can be regarded as the inverse process of the encoding, that is, the elements in one one-dimensional vector are arranged into one. Two-dimensional matrix process. The actual code implementation is done by means of read and write address control. For example, the two-dimensional pixels are as follows:
  • the two-dimensional pixel can be converted into a one-dimensional array according to the "arch 4 split scan" indicated by the scan mode parameter corresponding to the scan mode parameter used in the encoding process: [A B C D H G F E I J K L P O N M], the pseudo code implemented can be as follows:
  • the decoding stream obtains the decoding parameter of the decoding block, and acquires the scanning mode parameter according to the decoding parameter, where the scanning mode parameter includes: an area indication parameter for determining a scanning area of the decoding block, and/or And a scan indication parameter for determining a scan order of pixels in the scan area; determining a reconstructed value of some or all of the pixels in the decoded block according to the area indication parameter and/or the scan indication parameter. That is to say, the decoded block is scanned and decoded by using a split scan method. Thereby, the effect of improving the decoding efficiency is achieved by dividing the decoding block into smaller scanning areas. Furthermore, the problem of low efficiency caused by scanning in a fixed manner in the decoding technique in the prior art is overcome.
  • obtaining scan mode parameters according to the decoding parameters includes:
  • S1 Obtain an area indication parameter and/or a scan indication parameter in the scan mode parameter from the decoding parameter, to obtain a scan area of the decoded block, where the scan area of the decoding block includes at least one of the following: the decoding block is used as a scan area, and is decoded. The block is divided into a plurality of scanning areas.
  • the decoded block may be used as a single split scan area, or the decoded block may be divided into multiple split scan areas.
  • the decoded block may be, but is not limited to, determining whether the texture direction indicated by the texture feature included in the feature parameter of the pixel sample in the adjacent region of the decoding block intersects with the boundary of the decoding block to determine the decoded Scan area. For example, when intersecting the boundary of the decoded block, the decoded block is divided into a plurality of scan areas in a direction perpendicular to the boundary.
  • the decoded block is also possible, but not limited to, to determine the division direction of the plurality of scanning regions according to the texture features (ie, the texture direction) of the image content in the decoding block, such as the plurality of scanning regions being consistent with the texture direction.
  • the decoding scanning sequence in the decoding process may be a preset scanning sequence, or may be a scanning sequence indicated by the scanning mode parameter. This embodiment does not limit this.
  • split scan by performing split scan on the decoding block according to the texture feature, it is ensured that in the process of performing scan decoding on the decoded block, split scan can be performed on different scan regions at the same time, thereby improving the decoding efficiency.
  • a diversified scanning order is adopted for the decoding block to ensure the maximum decoding efficiency.
  • obtaining scan mode parameters according to the decoding parameters includes:
  • the texture feature is extracted by decoding the image content of the block, and the optimal scanning mode parameter is determined by using the texture feature of the image itself, thereby further improving the decompression efficiency of decoding the decoded block.
  • extracting characteristic parameters of adjacent regions of the decoded block includes:
  • filtering the reconstructed value of the decoded pixel in the adjacent area of the decoding block includes:
  • S12 Perform edge detection filtering on the reconstructed value of the decoded pixel in the adjacent area of the decoding block.
  • the foregoing edge detection filtering is only an implementation means, and the implementation means for acquiring the texture feature is not limited in this embodiment. Thereby, it is determined whether to divide the scan area into the coded block according to the edge information. Further, the scanning order of the pixels in the scanning area may also be determined according to the texture features extracted in the detection result.
  • determining scan mode parameters of the decoded block according to the texture feature includes:
  • the decoded block is used as a scanning area.
  • the position where the intersection of the texture direction and the boundary of the decoding block is located is the origin, and dividing the decoding block into the plurality of scanning areas in the horizontal or vertical direction includes:
  • the decoding block may be split scan in the horizontal or vertical direction.
  • a plurality of scanning areas may be determined, but not limited to, based on the actual texture direction of the image content in the decoding block. That is, a plurality of parallel scanning regions are divided in a direction coinciding with the texture direction.
  • the scan area is determined by determining whether the texture direction indicated by the texture feature intersects the boundary of the decoded block. Not only is the operation simple, but the decompression efficiency of the decoding block is further ensured.
  • determining scan mode parameters of the decoded block according to the texture feature includes:
  • FIGS. 4-9 are schematic diagrams of various hybrid scans obtained by combining different scan modes and different scan orders.
  • the operation of simplifying the scan decoding is further realized by setting the scanning order of the pixels in one or more scan areas in the decoding block according to the texture direction, thereby ensuring the decoding efficiency.
  • obtaining scan mode parameters according to the decoding parameters includes:
  • S2 Obtain a scan mode parameter from the mode indication parameter.
  • the scanning mode and the certain encoding mode are in a form of “fixed binding”, that is, the mode indicating parameter used to indicate the encoding mode is obtained according to the decoding parameter, and is parsed from the mode indicating parameter.
  • the mode is marked, the area indication parameters and/or scan indication parameters preset for the mode are used.
  • determining, according to the area indication parameter and/or the scan indication parameter, the reconstructed value of some or all of the pixels in the decoding block includes:
  • S2 Obtain a prediction value of a part or all of the pixels in the decoding block and a corresponding prediction difference, and use a sum or a difference between the predicted value and the predicted difference as a reconstructed value.
  • the combination of the pixel samples may be, but is not limited to, a combination of a plurality of pixel samples formed according to different scanning regions.
  • the above reference values may also be referred to as reference samples.
  • obtaining the predicted values of some or all of the pixels in the decoding block includes:
  • the above decoding process can be, but is not limited to, the inverse of the encoding process.
  • the lossy coding mode is adopted. Therefore, in order to ensure the accuracy of the reconstructed value, the foregoing prediction difference may be, but is not limited to, directly obtained after being parsed from the code stream. To.
  • the split decoding is performed on the decoded block, and the decoded block is split and decoded according to the split content, thereby further achieving the effect of improving the decompression efficiency in the decoding process.
  • parsing the code stream to obtain decoding parameters of the decoding block includes:
  • a decoding parameter from a data unit in a code stream, where the data unit includes at least one of the following: a video parameter set, a sequence parameter set, an image parameter set, a slice header, a coding tree unit CTU, a coding unit CU, and a decoding block.
  • the foregoing decoding may be, but is not limited to, being configured by at least one of the following: the decoder configuration, the setting of the decoder optimization module, and the direct pre-decoding mode in the decoder optimization module.
  • one method that the decoder can adopt is to directly infer the current block when the upper adjacent block uses the split-split scanning mode of the vertical split and the vertical edge in the upper adjacent block intersects the lower boundary of the upper adjacent block.
  • the same split scan mode as that of the upper adjacent block is used, that is, the pre-decoding process for the current decoded block is omitted, thereby saving decoding time and improving decoding efficiency.
  • 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,
  • the optical disc includes a number of instructions for causing a terminal device (which may be a cell phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
  • 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. 11 is a schematic diagram of an optional image encoding apparatus according to an embodiment of the present invention. As shown in FIG.
  • the first determining unit 1102 is configured to determine a scanning mode parameter of the coding block, where the scanning mode parameter comprises at least one of: an area indication parameter for determining a scanning area of the coding block, for determining a scanning area in the coding block a scan indication parameter of a scan order of the pixels;
  • a second determining unit 1104 configured to determine a predicted value of some or all pixels in the encoded block according to the scanning mode parameter
  • the encoding unit 1106 is configured to encode the encoded block according to the predicted value and write the encoded encoded result to the code stream.
  • the foregoing image encoding apparatus may be, but is not limited to, applied to a video image encoding process, for example, may be, but not limited to, an image encoding applied to a stacked format, or an image encoding process of a component plane format.
  • the coded block to be encoded is subjected to split scanning according to the indication of the determined scan mode parameter, and the coded block is written into the video code stream. That is to say, one coding block is split into K scanning areas and scanned in the corresponding scanning order to overcome the low efficiency caused by scanning the coding block according to the positive line (or column) in the prior art by using the fixed scanning method.
  • K generally satisfies: 1 ⁇ K ⁇ 16.
  • K>1 indicates multi-split or split scan.
  • the scanning mode parameter of the coding block is determined, where the scanning mode parameter includes at least one of the following: an area indication for determining a scanning area of the coding block. a parameter, a scan indication parameter for determining a scan order of pixels in the scan area in the coded block; determining a predicted value of some or all of the pixels in the coded block according to the determined scan mode parameter; further, encoding the coded block according to the predicted value, and
  • the encoded encoded result is written to the code stream. That is to say, the coded block is scanned and encoded by using a split scan method, and the coded result is written into the video code stream. Thereby, the effect of improving coding efficiency is achieved by dividing the coding block into smaller scan areas.
  • pixel sample value pixel value
  • sample value sample value
  • index pixel pixel index
  • pixel one pixel component
  • index pixel or both of them may be explicitly indicated depending on the context. If it is not clear from the context, then it means either of the three.
  • a coded block is an area composed of several pixel values.
  • the shape of the coded block may be, but is not limited to, at least one of the following shapes: a rectangle, a square, a parallelogram, a trapezoid, a polygon, a circle, an ellipse, and the like.
  • the rectangle also includes a rectangle whose width or height is one pixel value which degenerates into a line (ie, a line segment or a line shape).
  • each code block may have a different shape and size.
  • some or all of the coded blocks may have overlapping portions, or all of the coded blocks may not overlap each other.
  • a code block may be composed of "pixels”, may be composed of “components of pixels”, 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.
  • the composition is not limited in this embodiment.
  • a coding block may refer to an area in a frame image that is encoded, for example, may include but is not limited to at least one of the following: a maximum coding unit LCU, a coding tree unit CTU, a coding unit CU, a CU Sub-region, prediction unit PU, and transform unit TU.
  • the scanning order of the pixels in the scanning area includes at least one of the following: a horizontal Z-shaped scanning order, a vertical Z-shaped scanning order, a horizontal arc scanning order, a vertical arc scanning order, a raster scanning order, Zigzag scan order, zigzag scan order, diagonal zigzag scan order, diagonal bow scan order.
  • the foregoing scanning manner may include, but is not limited to, at least one of the following: 2 splitting, 4 splitting, 8 splitting, and 16 splitting.
  • the scanning order of different scanning areas may be the same or different. This embodiment does not limit this.
  • Figure 3 shows the scans indicated by the four selectable scan mode parameters: 1) horizontal Z-shaped 2-split scan of the coded block; 2) horizontal Z-shaped 4-split scan of the coded block; 1) pair coding The block performs a vertical Z-shaped 2-split scan; 1) a vertical Z-shaped 4-split scan of the coded block.
  • Figures 4-9 illustrate scans indicated by various alternative scan mode parameters resulting from different scan modes combined with different scan orders.
  • determining a scan mode parameter of the coded block includes:
  • the texture feature in the coding block and/or the pixel sample in the adjacent region of the coding block may be extracted, where the feature parameter includes a texture feature,
  • the candidate scanning mode parameter may be, but not limited to, indicating all optional scanning mode parameters, and the coding efficiency of the scanning mode parameters in the encoding process is sequentially compared to achieve optimal coding efficiency.
  • the scan mode parameter is set to the scan mode parameter of the final image coding block. For example, the existing rate-distortion optimization method can be used to determine the maximum coding efficiency.
  • the pixel is used to refer to the smallest display unit of the image, and one pixel position may have one (such as a black-and-white gray image) or three (such as RGB, YUV).
  • the sampled value which is the pixel sample (s).
  • a pixel when describing a position, a pixel can be used; for describing a sampled value at a processing pixel position, a pixel sample can be used.
  • determining a scan mode parameter of the coded block according to the texture feature includes:
  • the scan area of the coding block comprises at least one of the following: the coding block is used as one scan area, and the coding block is divided into multiple scan areas.
  • the encoded scan area may be determined by, but not limited to, determining whether the texture direction indicated by the texture feature intersects with the boundary of the coding block. For example, when intersecting the boundary of the coded block, the coded block is divided into a plurality of scan areas in a direction perpendicular to the boundary.
  • the scanning sequence may include, but is not limited to, at least one of the following:
  • the correlation may include, but is not limited to, at least one of the following: row correlation and column correlation.
  • the scanning order may be, but is not limited to, setting the order indicated by the largest correlation among the comparison results as the scanning order of the pixels in the scanning area.
  • determining a prediction value of a part or all of the pixels in the coding block includes: determining a reference value of a pixel sample value of some or all pixels in the coding block, using the reference value as a prediction value; according to a scanning mode parameter A combination of pixel samples of some or all of the pixels in the coded block is determined, and a combination of reference values corresponding to the combination of pixel samples is used as a predicted value.
  • the writing the encoded result to the code stream includes: writing the encoding result and the scanning mode parameter into the data unit in the code stream according to a predetermined format, where the data unit includes at least one of the following: : a video parameter set, a sequence parameter set, an image parameter set, a slice header, a coding tree unit CTU, a coding unit CU, and a data unit in which the coding block is located.
  • encoding a coding block refers to performing compression coding on a pixel original sample value (also referred to as a pixel value in this embodiment) in a coding block, that is, a pixel original in the coding block.
  • the sampled value ie, pixel value
  • the sampled value is mapped (lossy) as a series of parameters indicating the prediction method employed for the coded block, the construction of the predicted value, and the prediction difference.
  • the coding block since the coding block is coded and scanned by using the split scan mode, information of the split scan mode used for identifying the coded block, that is, the scan mode parameter, needs to be encoded in the code stream.
  • the above reference value may also be referred to as a reference sample.
  • the two-dimensional pixels in the coding block are divided into a plurality of columns, which are arranged in series in the scanning order, and the strings are successively arranged in the scanning order to form two-dimensional pixels in the coding block. arrangement.
  • Each string has its own matching string (ie, the predicted value), and the matching string of each string is continuously arranged in the scanning order to form the predicted value of the two-dimensional pixel in the coding block, and the code stream process is written, that is, a normal decimal representation.
  • the parameter value is converted into a binary symbol string represented by 0 and 1 bit.
  • the binary symbol string can be directly used as a code stream, or the binary symbol string can be mapped to another new binary symbol string by using a method such as arithmetic entropy coding. , the new binary symbol string is used as the code stream. This embodiment does not limit this.
  • the two-dimensional matrix can be arranged into [A B C D E F G H I J K L M N O P], [A E I M B F J N C G K O D H L P], [A B C D H G F E I J K L P O N M], [A E I M N J F B C G K O P L H D] Dimension arrangement. That is to say, the existing fixed scanning method can only be used for scanning according to the above four scanning arrangements.
  • the strings may be composed of any consecutively arranged pixels according to the one-dimensional arrangement order, for example, taking one-dimensional arrangement as [A B C D H G F E I J K L P O N M] as an example.
  • the positions of these 4 strings in the two-dimensional matrix are as follows: string 1 [A B] (bold), string 2 [C D H G F] (underlined), string 3 [ E I J K] (italic), string 4 [L P O N M] (normal format):
  • the matching length pixels can be taken as the matching string of the string starting from the matching position and scanning the string according to the different format in the above matrix. It is stated from the above example that the content in the scan area corresponding to different formats can implement split scan of the coded block in different scan orders.
  • the scanning mode parameter of the coding block is determined according to the feature parameter extracted from the coding block, where the scanning mode parameter includes at least one of the following: An area indication parameter indicating a coding block into one or more scan areas, a scan indication parameter indicating a scan order of scanning the coded block; scanning the coded block in the image according to the determined scan mode parameter, and determining the coded block The predicted value of some or all of the pixels; further, the encoded block is encoded according to the predicted value, and the encoded encoded result is written into the code stream.
  • the coded block is subjected to scan coding by using a split scan method, and the coded result is written into the video code stream.
  • the effect of improving coding efficiency is achieved by dividing the coding block into smaller scan areas.
  • the problem of low efficiency caused by scanning in a fixed manner in the coding technique of the prior art is overcome.
  • the first determining unit includes:
  • an extraction module configured to extract a pixel sample value within the coded block and/or a feature parameter of the pixel sample value in the adjacent region of the code block;
  • the first determining module is configured to determine a scanning mode parameter of the coding block according to the feature parameter.
  • the extracting module includes: an extracting submodule configured to extract a pixel feature within the encoded block and/or a texture feature of the pixel sample in the adjacent region of the encoding block, wherein the feature parameter includes a texture feature
  • the first determining module includes: a first determining sub-module configured to determine a scanning mode parameter of the encoding block according to the texture feature.
  • determining, according to the texture feature, the scanning mode parameter of the coding block may include, but is not limited to: determining one or more scanning regions that are divided into coding blocks indicated by the region indication parameter, and scanning the pair indicating the parameter indication The scan order in which the coded block is scanned.
  • the texture feature including the texture direction is extracted by the image content of the coding block, and the optimal scanning mode parameter is determined by using the texture feature of the image itself, thereby further improving the compression efficiency of encoding the coding block.
  • the extraction sub-module implements the following steps: extracting the texture features of the pixel samples in the coding block and/or the pixel samples in the adjacent regions of the coding block:
  • the extracting sub-module performs filtering processing on the pixel samples in the encoding block and/or the pixel samples in the adjacent regions of the encoding block by the following steps:
  • S12 Perform edge detection filtering on the pixel samples in the coding block and/or the pixel samples in the adjacent areas of the coding block.
  • the foregoing edge detection filtering is only an implementation means, and the implementation means for acquiring the texture feature is not limited in this embodiment. Thereby, it is determined whether to divide the scan area into the coded block according to the edge information. Further, the scanning order of the pixels in the scanning area may also be determined according to the texture features extracted in the detection result.
  • the first determining submodule determines, by using the following steps, determining a scanning mode parameter of the encoding block according to the texture feature:
  • S1 Determine an area indication parameter in the scan mode parameter according to the texture feature, to obtain a scan area of the coding block, where the scan area of the coding block includes at least one of the following: the coding block is used as a scan area, and the coding block is divided into multiple scan areas.
  • the encoded scan area may be determined by, but not limited to, determining whether the texture direction indicated by the texture feature intersects with the boundary of the coding block. For example, when intersecting the boundary of the coded block, the coded block is divided into a plurality of scan areas in a direction perpendicular to the boundary.
  • the area indication parameter in the scan mode parameter is determined according to the texture feature, so as to achieve
  • the split scan of the coded block ensures that in the process of scanning and encoding the coded block, split scans can be performed on different scan areas at the same time, thereby achieving an effect of improving coding efficiency.
  • the first determining sub-module implements the following steps: determining an area indication parameter in the scanning mode parameter according to the texture feature, and obtaining a scanning area of the coding block:
  • the coding block is used as a scanning area.
  • the position where the intersection of the texture direction and the boundary of the coding block is located is the origin, and dividing the coding block into the plurality of scanning areas in the horizontal or vertical direction includes:
  • the coded block may be split scand in the horizontal or vertical direction.
  • a plurality of scanning areas may be determined, but not limited to, based on the actual texture direction of the image content in the encoding block. That is, a plurality of parallel scanning regions are divided in a direction coinciding with the texture direction.
  • the scan area is determined by determining whether the texture direction indicated by the texture feature intersects with the boundary of the coded block. Not only is the operation simple, but the compression efficiency of the coding block is further ensured.
  • the first determining submodule determines, by using the following steps, determining a scanning mode parameter of the encoding block according to the texture feature:
  • FIGS. 4-9 are schematic diagrams of various hybrid scans obtained by combining different scan modes and different scan orders.
  • the operation of simplifying the scan encoding is further realized by setting the scanning order of the pixels in one or more scanning regions in the encoding block according to the texture direction, thereby ensuring the encoding efficiency.
  • the first determining module includes:
  • the correlation degree includes at least one of the following: a row correlation degree and a column correlation degree;
  • the second determining sub-module is configured to determine a scanning order of pixels in the scanning area in the encoding block according to the result of the comparison.
  • the comparing submodule determines, according to the result of the comparison, determining a scanning order of pixels in the scanning area in the encoding block by using the following steps:
  • the order indicated by the largest correlation in the comparison result is set as the scanning order of the pixels in the scan area.
  • the scanning order of the pixels in the scanning area may be determined according to the row correlation degree of the pixels in the scanning area and/or the maximum correlation degree of the column correlation degree.
  • the manner of obtaining the correlation is not limited in this embodiment.
  • the second determining unit includes:
  • a second determining module configured to determine a reference value of a pixel sample value of some or all pixels in the encoding block, and use the reference value as a predicted value
  • the third determining module is configured to determine a combination of pixel samples of some or all of the pixels in the encoding block according to the scanning mode parameter, and use a combination of reference values corresponding to the combination of the pixel samples as the predicted value.
  • the combination of the pixel samples may be, but is not limited to, a combination of a plurality of pixel samples formed according to different scanning regions.
  • the above reference values may also be referred to as reference samples.
  • encoding a coding block refers to performing compression coding on a pixel original sample value (also referred to as a pixel value in this embodiment) in a coding block, that is, a pixel original in the coding block.
  • the sampled value ie, pixel value
  • the sampled value is mapped (lossy) as a series of parameters indicating the prediction method employed for the coded block, the construction of the predicted value, and the prediction difference.
  • the coding block since the coding block is coded and scanned by using the split scan mode, information of the split scan mode used for identifying the coded block, that is, the scan mode parameter, needs to be encoded in the code stream.
  • the two-dimensional pixels in the coding block are divided into a plurality of columns, which are arranged in series in the scanning order, and the strings are successively arranged in the scanning order to form two-dimensional pixels in the coding block. arrangement.
  • Each string has its own matching string (ie, the predicted value), and the matching string of each string is continuously arranged in the scanning order to form the predicted value of the two-dimensional pixel in the coding block, and the code stream process is written, that is, a normal decimal representation.
  • the parameter value is converted into a binary symbol string represented by 0 and 1 bit.
  • the binary symbol string can be directly used as a code stream, or the binary symbol string can be mapped to another new binary symbol string by using a method such as arithmetic entropy coding. , the new binary symbol string is used as the code stream. This embodiment does not limit this.
  • the splitting scan is performed on the coded block, and the coded block is split-coded according to the split content, thereby further achieving the effect of improving the compression efficiency in the encoding process.
  • the coding unit includes:
  • an encoding module configured to write the encoding result and the scanning mode parameter into the data unit in the code stream according to a predetermined format, wherein the data unit comprises at least one of the following: a video parameter set, a sequence parameter set, an image parameter set, and a strip header.
  • the data unit comprises at least one of the following: a video parameter set, a sequence parameter set, an image parameter set, and a strip header.
  • the foregoing encoding may be, but is not limited to, configured by at least one of the following: an encoder configuration, an arrangement of an encoder optimization module, and a configuration directly using a fixed precoding manner in the encoder optimization module.
  • one method that the encoder can adopt is to directly infer the current block when the upper adjacent block uses the split-split scanning mode of the vertical split and the vertical edge in the upper adjacent block intersects the lower boundary of the upper adjacent block. The same split scan mode as the upper neighboring block is used, that is, the precoding process for the current coded block is omitted, thereby saving coding time and improving coding efficiency.
  • 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.
  • an image decoding device is also provided, which is configured to implement the above-mentioned embodiments and preferred embodiments, and has not been described again.
  • the term “module” may implement a combination of software and/or hardware of a predetermined function.
  • the 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. 12 is a schematic diagram of an optional image decoding apparatus according to an embodiment of the present invention. As shown in FIG. 12, the method includes:
  • the first obtaining unit 1202 is configured to parse the code stream to obtain a decoding parameter of the decoding block
  • the second obtaining unit 1204 is configured to acquire a scan mode parameter according to the decoding parameter, wherein the scan mode parameter comprises: an area indication parameter for determining a scan area of the decoded block, and/or a scan for determining a pixel in the scan area. Sequential scan indication parameters;
  • a determining unit 1206, configured to determine a reconstructed value of some or all of the pixels in the decoded block based on the region indication parameter and/or the scan indication parameter.
  • the foregoing image decoding apparatus may be, but is not limited to, applied to a video image decoding process, for example, may be, but not limited to, image decoding applied to a stack format, or an image decoding process of a component plane format.
  • the split block is scanned by the decoding block to be decoded according to the indication of the determined scan mode parameter. That is to say, one decoding block is split into K scanning areas and scanned in the corresponding scanning order to overcome the low efficiency caused by scanning the decoding block in the positive row (or column) by using the fixed scanning method in the prior art.
  • K generally satisfies: 1 ⁇ K ⁇ 16.
  • K>1 indicates multi-split or split scan.
  • the decoding code when decoding a decoding block to be decoded, acquires a decoding parameter of the decoding block to be decoded, and acquires a scanning mode parameter according to the decoding parameter, where the scanning mode parameter includes: An area indicating a scan area of the decoding block, and/or a scan indication parameter for determining a scan order of pixels in the scan area; determining a reconstructed value of some or all of the pixels in the decoded block according to the area indication parameter and/or the scan indication parameter . That is to say, the decoded block is scanned and decoded by using a split scan method. Thereby, the effect of improving the decoding efficiency is achieved by dividing the decoding block into smaller scanning areas.
  • pixel sample value pixel value
  • sample value sample value
  • index pixel pixel index
  • pixel one pixel component
  • index pixel or both of them may be explicitly indicated depending on the context. If it is not clear from the context, then it means either of the three.
  • the decoded block is an area composed of a number of pixel values.
  • the shape of the decoding block may be, but is not limited to, at least one of the following shapes: a rectangle, a square, a parallelogram, a trapezoid, a polygon, a circle, an ellipse, and the like.
  • the rectangle also includes a rectangle whose width or height is one pixel value which degenerates into a line (ie, a line segment or a line shape).
  • each decoded block may have a different shape and size.
  • some or all of the decoded blocks may have overlapping portions, or all of the decoded blocks may not overlap each other.
  • a decoding block it may be composed of "pixels”, may be composed of “components of pixels”, may also be composed of "index pixels”, or may be composed of a mixture of the three, or may be composed of three of them. Any two kinds of mixed compositions are not limited in this embodiment.
  • a decoding block may refer to an area in a frame image that is decoded, for example, may include but is not limited to at least one of the following: a maximum decoding unit LCU, a decoding tree unit CTU, a decoding unit CU, a CU Sub-region, prediction unit PU, and transform unit TU.
  • the scanning order of the pixels in the scanning area includes at least one of the following: a horizontal Z-shaped scanning order, a vertical Z-shaped scanning order, a horizontal arc scanning order, a vertical arc scanning order, a raster scanning order, Zigzag scan order, zigzag scan order, diagonal zigzag scan order, diagonal bow scan order.
  • the foregoing scanning manner may include, but is not limited to, at least one of the following: 2 splitting, 4 splitting, 8 splitting, and 16 splitting.
  • the scanning order of different scanning areas may be the same or different. This embodiment does not limit this.
  • Figure 3 shows the scans indicated by the four selectable scan mode parameters: 1) horizontal Z-shaped 2 split scan for the decoded block; 2) horizontal Z-shaped 4 split scan for the decoded block; 1) pair decoding The block performs a vertical Z-shaped 2-split scan; 1) performs a vertical Z-shaped 4-split scan on the decoded block.
  • Figures 4-9 illustrate scans indicated by various alternative scan mode parameters resulting from different scan modes combined with different scan orders.
  • the manner of obtaining the scan mode parameter according to the decoding parameter includes at least one of the following:
  • the manner of obtaining the scan mode parameter according to the decoding parameter includes at least one of the following: (1) parsing the code stream to directly obtain the area indication in the scan mode parameter. Parameter and/or scan indication parameter; (2) obtaining the area indication parameter and/or the scan indication parameter in the scan mode parameter by derivation according to the characteristic parameter of the pixel sample in the adjacent area of the decoding block; (3) scanning
  • the mode and the certain coding mode adopt a form of “fixed binding”, that is, a mode indication parameter for indicating an encoding mode is obtained according to the decoding parameter, and when the mode flag is parsed from the mode indication parameter, the area preset for the mode is used. Indicates parameters and/or scan indication parameters.
  • the pixel is used to refer to the smallest display unit of the image, and one pixel position may have one (such as a black-and-white gray image) or three (such as RGB, YUV) effective sampling values. That is, pixel sample (s).
  • a pixel when describing a position, a pixel can be used; for describing a sampled value at a processing pixel position, a pixel sample can be used.
  • the decoded scanning area may be determined by, but not limited to, determining whether the texture direction indicated by the texture feature intersects with the boundary of the decoding block. For example, when intersecting the boundary of the decoded block, the decoded block is divided into a plurality of scan areas in a direction perpendicular to the boundary.
  • the manner of determining the reconstructed value of some or all of the pixels in the decoding block according to the area indication parameter and/or the scan indication parameter includes:
  • determining the prediction value of the partial or all pixels in the decoding block includes: determining a reference value of the pixel sample value of some or all of the pixels in the decoding block, using the reference value as a predicted value; according to the scanning mode parameter A combination of pixel samples of some or all of the pixels in the decoded block is determined, and a combination of reference values corresponding to the combination of the samples is taken as a predicted value.
  • the parsing the code stream to obtain the decoding parameter of the decoding block includes: acquiring the decoding parameter from the data unit in the code stream, where the data unit includes at least one of the following: a video parameter set, a sequence parameter set The image parameter set, the slice header, the coding tree unit CTU, the coding unit CU, and the data unit where the decoding block is located.
  • the decoded block can be divided into different scan areas during the decoding process, and a split scan corresponding to the encoding process is used for each scan area. For example, if the elements in a two-dimensional matrix are arranged into a one-dimensional vector process according to the indication of the scanning mode parameter in the encoding process, the decoding process can be regarded as the inverse process of the encoding, that is, the elements in one one-dimensional vector are arranged into one. Two-dimensional matrix process. The actual code implementation is done by means of read and write address control. For example, the two-dimensional pixels are as follows:
  • the two-dimensional pixel can be converted into a one-dimensional array according to the "arch 4 split scan" indicated by the scan mode parameter corresponding to the scan mode parameter used in the encoding process: [A B C D H G F E I J K L P O N M], the pseudo code implemented can be as follows:
  • the decoding stream obtains the decoding parameter of the decoding block, and acquires the scanning mode parameter according to the decoding parameter, where the scanning mode parameter includes: an area indication parameter for determining a scanning area of the decoding block, and/or And a scan indication parameter for determining a scan order of pixels in the scan area; determining a reconstructed value of some or all of the pixels in the decoded block according to the area indication parameter and/or the scan indication parameter. That is to say, the decoded block is scanned and decoded by using a split scan method. Thereby, the effect of improving the decoding efficiency is achieved by dividing the decoding block into smaller scanning areas. Furthermore, the problem of low efficiency caused by scanning in a fixed manner in the decoding technique in the prior art is overcome.
  • the second obtaining unit includes:
  • a first obtaining module configured to acquire the area indication parameter and/or the scan indication parameter in the scan mode parameter from the decoding parameter, to obtain a scan area of the decoded block, where
  • the scan area of the decoded block includes at least one of the following: the decoded block as one of the scan areas, and the decoded block is divided into a plurality of the scan areas.
  • the decoded block may be used as a single split scan area, or the decoded block may be divided into multiple split scan areas.
  • the decoded block may be, but is not limited to, determining whether the texture direction indicated by the texture feature included in the feature parameter of the pixel sample in the adjacent region of the decoding block intersects with the boundary of the decoding block to determine the decoded Scan area. For example, when intersecting the boundary of the decoded block, the decoded block is divided into a plurality of scan areas in a direction perpendicular to the boundary.
  • the decoded block is also possible, but not limited to, to determine the division direction of the plurality of scanning regions according to the texture features (ie, the texture direction) of the image content in the decoding block, such as the plurality of scanning regions being consistent with the texture direction.
  • the decoding scanning sequence in the decoding process may be a preset scanning sequence, or may be a scanning sequence indicated by the scanning mode parameter. This embodiment does not limit this.
  • split scan by performing split scan on the decoding block according to the texture feature, it is ensured that in the process of performing scan decoding on the decoded block, split scan can be performed on different scan regions at the same time, thereby improving the decoding efficiency.
  • a diversified scanning order is adopted for the decoding block to ensure the maximum decoding efficiency.
  • the second obtaining unit includes:
  • an extraction module configured to extract a feature parameter of a pixel sample in a neighboring region of the decoding block, where the feature parameter includes a texture feature
  • the first determining module is configured to determine a scanning mode parameter of the decoding block according to the texture feature.
  • the texture feature is extracted by decoding the image content of the block, and the optimal scanning mode parameter is determined by using the texture feature of the image itself, thereby further improving the decompression efficiency of decoding the decoded block.
  • the extraction module includes:
  • a filtering sub-module configured to filter a reconstructed value of the decoded pixel in a neighboring region of the decoding block
  • the filtering sub-module performs filtering processing on the reconstructed value of the decoded pixel in the adjacent area of the decoding block by the following steps:
  • S1 Perform edge detection filtering on the reconstructed value of the decoded pixel in the adjacent area of the decoding block.
  • the foregoing edge detection filtering is only an implementation means, and the implementation means for acquiring the texture feature is not limited in this embodiment. Thereby, it is determined whether to divide the scan area into the coded block according to the edge information. Further, the scanning order of the pixels in the scanning area may also be determined according to the texture features extracted in the detection result.
  • the first determining module includes:
  • the first dividing sub-module is arranged to divide the decoding block into multiple points in the horizontal or vertical direction when the texture direction intersects the boundary of the decoding block, where the intersection of the texture direction and the boundary of the decoding block is the origin Scanning area;
  • the second dividing sub-module is arranged to treat the decoded block as a scanning area when the texture direction does not intersect the boundary of the decoding block.
  • the first dividing sub-module realizes, by using the following steps, the position where the intersection of the texture direction and the boundary of the decoding block is located, and divides the decoding block into multiple scanning areas in the horizontal or vertical direction.
  • the decoding block may be split scan in the horizontal or vertical direction.
  • a plurality of scanning areas may be determined, but not limited to, based on the actual texture direction of the image content in the decoding block. That is, a plurality of parallel scanning regions are divided in a direction coinciding with the texture direction.
  • the scan area is determined by determining whether the texture direction indicated by the texture feature intersects the boundary of the decoded block. Not only is the operation simple, but the decompression efficiency of the decoding block is further ensured.
  • the first determining module includes:
  • FIGS. 4-9 are schematic diagrams of various hybrid scans obtained by combining different scan modes and different scan orders.
  • the operation of simplifying the scan decoding is further realized by setting the scanning order of the pixels in one or more scan areas in the decoding block according to the texture direction, thereby ensuring the decoding efficiency.
  • the second obtaining unit includes:
  • a second obtaining module configured to acquire a mode indication parameter for indicating an encoding mode according to the decoding parameter
  • the third obtaining module is configured to obtain a scanning mode parameter from the mode indicating parameter.
  • the scanning mode and the certain encoding mode are in a form of “fixed binding”, that is, the mode indicating parameter used to indicate the encoding mode is obtained according to the decoding parameter, and is parsed from the mode indicating parameter.
  • the mode is marked, the area indication parameters and/or scan indication parameters preset for the mode are used.
  • the determining unit comprises:
  • the fourth obtaining module is configured to obtain a predicted value of some or all pixels in the decoding block, and use the predicted value as a reconstructed value;
  • the fifth obtaining module is configured to obtain a prediction value of a part or all of the pixels in the decoding block and a corresponding prediction difference, and use a sum or a difference value between the predicted value and the predicted difference as a reconstructed value.
  • the combination of the pixel samples may be, but is not limited to, a combination of a plurality of pixel samples formed according to different scanning regions.
  • the above reference values may also be referred to as reference samples.
  • the fourth obtaining module includes:
  • a first determining sub-module configured to determine a reference value of a pixel sample value of a part or all of the pixels in the decoding block, and using the reference value as a predicted value
  • a second determining sub-module configured to determine a pixel of some or all of the pixels in the decoding block according to the scanning mode parameter A combination of values, a combination of reference values corresponding to a combination of samples as a predicted value.
  • the above decoding process can be, but is not limited to, the inverse of the encoding process.
  • the lossy coding mode is adopted. Therefore, in order to ensure the accuracy of the reconstructed value, the foregoing prediction difference may be, but is not limited to, directly obtained after being parsed from the code stream. To.
  • the split decoding is performed on the decoded block, and the decoded block is split and decoded according to the split content, thereby further achieving the effect of improving the decompression efficiency in the decoding process.
  • the first obtaining unit includes:
  • a decoding module configured to obtain a decoding parameter from a data unit in a code stream, wherein the data unit comprises at least one of the following: a video parameter set, a sequence parameter set, an image parameter set, a strip header, a coding tree unit CTU, and an encoding.
  • Unit CU the data unit where the decoding block is located.
  • the foregoing decoding may be, but is not limited to, being configured by at least one of the following: the decoder configuration, the setting of the decoder optimization module, and the direct pre-decoding mode in the decoder optimization module.
  • one method that the decoder can adopt is to directly infer the current block when the upper adjacent block uses the split-split scanning mode of the vertical split and the vertical edge in the upper adjacent block intersects the lower boundary of the upper adjacent block.
  • the same split scan mode as that of the upper adjacent block is used, that is, the pre-decoding process for the current decoded block is omitted, thereby saving decoding time and improving decoding efficiency.
  • 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 following steps:
  • S1 Determine a scan mode parameter of the coded block, where the scan mode parameter includes at least one of: an area indication parameter for determining a scan area of the coded block, and a scan indication for determining a scan order of pixels in the scan area in the coded block. parameter;
  • Embodiments of the present invention also provide a storage medium.
  • the foregoing storage medium may be configured to store program code for performing the following steps:
  • S2 acquiring a scan mode parameter according to the decoding parameter, where the scan mode parameter includes: an area indication parameter for determining a scan area of the decoded block, and/or a scan indication parameter for determining a scan order of pixels in the scan area;
  • 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
  • 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.
  • scanning/decoding is performed by using a split scan mode on the edit/decode block, thereby achieving improvement by dividing the edit/decode block into smaller scan areas.
  • the effect of encoding compression efficiency and decoding decompression efficiency overcomes the problem of low efficiency caused by scanning in a fixed manner in the prior art coding technique.

Landscapes

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

Abstract

提供了一种图像编码方法和装置及图像解码方法和装置,其中,该编码方法包括:确定编码块的扫描方式参数,扫描方式参数包括以下至少之一:用于确定编码块的扫描区域的区域指示参数,用于确定编码块中扫描区域中像素的扫描顺序的扫描指示参数;根据扫描方式参数确定编码块中部分或全部像素的预测值;根据预测值对编码块进行编码,并将编码后的编码结果写入码流。其解决了在相关的编码/解码技术中只能通过固定方式扫描所导致的效率较低的问题,进而达到了提高编码压缩效率及解码解压效率的效果。

Description

图像编码方法和装置及图像解码方法和装置 技术领域
本发明涉及通信领域,具体而言,涉及一种图像编码方法和装置及图像解码方法和装置。
背景技术
随着电视机和显示器进入超高清(4K)和特超高清(8K)的分辨率,以及以远程桌面为典型表现形式的新一代云计算与信息处理模式及平台的发展和普及,对视频图像数据压缩的需求也走向更高分辨率和包含摄像机摄取图像和计算机屏幕图像的复合图像。对视频图像进行超高压缩比和极高质量的数据压缩成为必不可少的技术。
充分利用4K/8K图像和计算机屏幕图像的特点,对视频图像进行超高效率的压缩,也是正在制定中的最新国际视频压缩标准(High Efficiency Video Coding,HEVC)和其他若干国际标准、国内标准、行业标准的一个主要目标。
图像的数字视频信号的自然形式是图像的序列。一帧图像通常是由若干像素组成的矩形区域,而数字视频信号就是由几十帧至成千上万帧图像组成的视频图像序列,有时也简称为视频序列或序列。对数字视频信号进行编码就是对一帧一帧图像进行编码。在任一时刻,正在编码中的那一帧图像称为当前编码图像。同样,对数字视频信号的压缩后的视频码流(简称码流也称为比特流)进行解码就是对一帧一帧压缩图像的码流进行解码。在任一时刻,正在解码中的那一帧图像称为当前解码图像。当前编码图像或当前解码图像都统称为当前图像。
在几乎所有视频图像编码的国际标准如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。因此,LCU也称为“编码树单元(Coding Tree Unit简称CTU)”。例如,一帧图像先划分成大小完全相同的64x64像素的LCU(N=64)。其中某个LCU由3个32x32像素的 CU和4个16x16像素的CU构成,这样7个成树状结构的CU构成一个CTU。而另一个LCU由2个32x32像素的CU、3个16x16像素的CU和20个8x8像素的CU构成。这样25个成树状结构的CU构成另一个CTU。对一帧图像进行编码,就是依次对一个一个CTU中的一个一个CU进行编码。在HEVC国际标准中,LCU与CTU是同义词。大小等于CTU的CU称为深度为0的CU。深度为0的CU上下左右四等分得到的CU称为深度为1的CU。深度为1的CU上下左右四等分得到的CU称为深度为2的CU。深度为2的CU上下左右四等分得到的CU称为深度为3的CU。CU也可以再进一步被划分成若干子区域。子区域包括但不限于预测单元(PU),变换单元(TU),不对称划分(AMP)的区域。
现有技术的像素表现格式可以包括以下几种:
1)一个彩色像素通常有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分量表现格式。
2)除了像素的3分量表现格式,像素的另一种常用的现有技术的表现格式是调色板索引表现格式。在调色板索引表现格式中,一个像素的数值也可以用调色板的索引来表现。调色板空间中存储了需要被表现的像素的3个分量的数值或近似数值,调色板的地址被称为这个地址中存储的像素的索引。一个索引可以表现像素的一个分量,一个索引也可以表现像素的3个分量。调色板可以是一个,也可以是多个。在多个调色板的情形,一个完整的索引实际上由调色板编号和该编号的调色板的索引两部分组成。像素的索引表现格式就是用索引来表现这个像素。像素的索引表现格式在现有技术中也被称为像素的索引颜色(indexed color)或仿颜色(pseudo color)表现格式,或者常常被直接称为索引像素(indexed pixel)或仿像素(pseudo pixel)或像素索引或索引。索引有时也被称为指数。把像素用其索引表现格式来表现也称为索引化或指数化。
3)其他的常用的现有技术的像素表现格式包括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像素色彩格式施行色度分量的下采样得到。一个像素分量也称为一个像素样值(pixel sample)或简单地称为一个样值(sample)。
编码或解码时的最基本元素可以是一个像素,也可以是一个像素分量,也可以是一个像素索引(即索引像素)。作为编码或解码的最基本元素的一个像素或一个像素分量或一个索引像素统称为一个像素样值,有时也通称为一个像素值,或简单地称为一个样值。
计算机屏幕图像的一个显著特点是同一帧图像内通常会有很多相似甚至完全相同的像素图样(pixel pattern)。例如,计算机屏幕图像中常出现的中文或外文文字,都是由少数几种基本笔划所构成,同一帧图像内可以找到很多相似或相同的笔划。计算机屏幕图像中常见的菜单、图标等,也具有很多相似或相同的图样。因此,现有的图像和视频压缩技术中通常采用各种复制方式,至少包括下列复制方式:
1)帧内串复制即帧内串匹配或称串匹配或称串复制或称像素串复制。在像素串复制中,把一个当前编码块或一个当前解码块(简称为当前块)分成几个长度可变的像素样值串。这里的串是指把一个任意形状的二维区域内的像素样值排列成一个长度远大于宽度的串(如宽度为1个像素样值而长度为37个像素样值的串或宽度为2个像素样值而长度为111个像素样值的串,通常但不限于长度是一个独立编码或解码参数而宽度是一个预定的或由其他编码或解码参数导出的参数)。串复制编码或解码的基本运算是对当前块中的每一个编码串或解码串(简称为当前串),从重构参考像素样值集内复制一个参考串,并将所述参考串的数值赋值予当前串。串复制方式的复制参数包括当前串的位移矢量和复制长度即复制大小,分别表示参考串与当前串之间的相对位置和当前串的长度即像素样值的数目。当前串的长度也是参考串的长度。一个当前串有一个位移矢量和一个复制长度。一个当前块分成多少个串就有多少个位移矢量和多少个复制长度。
2)调色板索引复制即调色板或称索引复制。在调色板编码和对应的解码方式中,首先构造或获取一个调色板,然后将当前编码块或当前解码块(简称为当前块)的部分或全部像素用调色板的索引来表示,再对索引进行编码和解码,包括但不限于:把一个当前块的索引分成几个长度可变的索引串,即进行索引串复制编码和解码。索引串复制编码或解码的基本运算是对当前块中的每一个索引编码串或索引解码串(简称为当前索引串),从索引化的重构参考像素样值集内复制一个参考索引串,并将所述参考索引串的索引数值赋值予当前索引串。索引串复制方式的复制参数包括当前索引串的位移矢量和复制长度即复制大小,分别表示参考索引串与当前索引串之间的相对位置和当前索引串的长度即对应的像素样值的数目。当前索引串的长度也是参考索引串的长度。一个当前索引串有一个位移矢量和一个复制长度。一个当前块分成多少个索引串就有多少个位移矢量和多少个复制长度。
3)像素串复制与索引复制混合的混合复制方式。对一个当前编码块或当前解码块(简称为当前块)进行编码或解码时,部分或全部像素采用像素串复制方式,部分或全部像素采用索引复制方式。
3)其他的复制方式还包括块复制方式,微块复制方式、条复制方式,矩形复制方式、以及若干种复制方式混合的复制方式等。
其中,上述块复制方式中的块,微块复制方式中的微块,条复制方式中的条,串复制方 式中的串,矩形复制方式中的矩形,调色板索引方式中的像素索引串,统称为像素样值段,简称样值段。样值段的基本组成元素是像素或像素分量或像素索引。一个样值段有一个复制参数,用来表示当前像素样值段与参考像素样值段之间的关系。一个复制参数包括若干复制参数分量,复制参数分量至少包括:位移矢量水平分量、位移矢量垂直分量、复制长度、复制宽度、复制高度、矩形宽度、矩形长度、未匹配像素(又称无参考像素,即不是从其他地方复制过来的非复制像素)。
如图1所示为现有技术中一种可选的扫描方式,目前在现有技术中,扫描时通常都是对一个完整的行(或列)扫描,扫描完一个完整的行(或列)之后再扫描下一行(或列)。因此,在相关的编码/解码技术中目前只能通过固定方式扫描图像,这样将大大影响图像编码压缩效率及图像解码解压效率。
发明内容
本发明实施例提供了一种图像编码方法和装置及图像解码方法和装置,以至少解决相关技术中在相关的编码/解码技术中只能通过固定方式扫描所导致的效率较低的问题。
根据本发明实施例的一个方面,提供了一种图像编码方法,包括:确定编码块的扫描方式参数,其中,上述扫描方式参数包括以下至少之一:用于确定上述编码块的扫描区域的区域指示参数,用于确定上述编码块中扫描区域中像素的扫描顺序的扫描指示参数;根据上述扫描方式参数确定上述编码块中部分或全部像素的预测值;根据上述预测值对上述编码块进行编码,并将编码后的编码结果写入码流。
可选地,确定上述编码块的扫描方式参数包括:提取上述编码块内像素样值和/或上述编码块相邻区域内像素样值的特征参数;根据上述特征参数确定上述编码块的上述扫描方式参数。
可选地,提取上述编码块内像素样值和/或上述编码块相邻区域内像素样值的特征参数包括:提取上述编码块内像素样值和/或上述编码块相邻区域内像素样值的纹理特征,其中,上述特征参数包括上述纹理特征;根据上述特征参数确定上述编码块的上述扫描方式参数包括:根据上述纹理特征确定上述编码块的上述扫描方式参数。
可选地,提取上述编码块内像素样值和/或上述编码块相邻区域内像素样值的纹理特征包括:对上述编码块内像素样值和/或上述编码块相邻区域内像素样值进行滤波处理;根据上述滤波处理的结果提取上述纹理特征。
可选地,对上述编码块内像素样值和/或上述编码块相邻区域内像素样值进行滤波处理包括:对上述编码块内像素样值和/或上述编码块相邻区域内像素样值进行边缘检测滤波。
可选地,根据上述纹理特征确定上述编码块的上述扫描方式参数包括:根据上述纹理特征确定上述扫描方式参数中的上述区域指示参数,得到上述编码块的扫描区域,其中,上述编 码块的扫描区域包括以下至少之一:上述编码块作为一个上述扫描区域,上述编码块分成多个上述扫描区域。
可选地,根据上述纹理特征确定上述扫描方式参数中的上述区域指示参数,得到上述编码块的扫描区域包括:判断上述纹理特征所指示的纹理方向是否与上述编码块的边界相交;在上述纹理方向与上述编码块的边界相交时,以上述纹理方向与上述编码块的边界的交点所处的位置为原点,在水平或垂直方向上将上述编码块分成多个上述扫描区域;在上述纹理方向与上述编码块的边界未相交时,将上述编码块作为一个上述扫描区域。
可选地,以上述纹理方向与上述编码块的边界的交点所处的位置为原点,在水平或垂直方向上将上述编码块分成多个上述扫描区域包括:在上述纹理方向与上述编码块的横向边界相交时,以上述纹理方向与上述编码块的边界的交点所处的位置为原点,在与上述横向边界相垂直的垂直方向上将上述编码块分成多个上述扫描区域;或者在上述纹理方向与上述编码块的纵向边界相交时,以上述纹理方向与上述编码块的边界的交点所处的位置为原点,在与上述纵向边界相垂直的水平方向上将上述编码块分成多个上述扫描区域。
可选地,根据上述纹理特征确定上述编码块的上述扫描方式参数包括:根据上述纹理特征所指示的纹理方向设置上述扫描方式参数中的上述扫描指示参数,其中,上述扫描指示参数指示了上述编码块中上述扫描区域中像素的扫描顺序。
可选地,根据上述特征参数确定上述编码块的上述扫描方式参数包括:获取上述编码块中上述扫描区域中像素样值的相关度,其中,上述相关度包括以下至少之一:行相关度、列相关度;比较上述像素样值的相关度;根据上述比较的结果确定上述编码块中上述扫描区域中像素的扫描顺序。
可选地,根据上述比较的结果确定上述编码块中上述扫描区域中像素的扫描顺序包括:将上述比较的结果中最大的相关度所指示的顺序设置为上述扫描区域中像素的上述扫描顺序。
可选地,根据上述扫描方式参数确定上述编码块中部分或全部像素的预测值包括:确定上述编码块中部分或全部像素的像素样值的参考值,将上述参考值作为上述预测值;根据上述扫描方式参数确定上述编码块中部分或全部像素的像素样值的组合,将与上述像素样值的组合对应的参考值的组合作为上述预测值。
可选地,上述区域指示参数指示的上述编码块的扫描区域包括以下至少之一:上述编码块作为一个上述扫描区域,上述编码块分成多个上述扫描区域;上述扫描指示参数指示的上述编码块中上述扫描区域中像素的上述扫描顺序包括以下至少之一:水平Z形扫描顺序,垂直Z形扫描顺序,水平弓形扫描顺序,垂直弓形扫描顺序,光栅扫描顺序,Zigzag扫描顺序,锯齿形扫描顺序,对角Z形扫描顺序,对角弓形扫描顺序。
可选地,将编码后的编码结果写入码流包括:将上述编码结果及上述扫描方式参数按照预定格式写入上述码流中的数据单元,其中,上述数据单元包括以下至少之一:视频参数集、 序列参数集、图像参数集、条带头、编码树单元CTU、编码单元CU、上述编码块所在的数据单元。
根据本发明实施例的一个方面,提供了一种图像解码方法,包括:解析码流获取解码块的解码参数;根据上述解码参数获取扫描方式参数,其中,上述扫描方式参数包括:用于确定上述解码块的扫描区域的区域指示参数,和/或用于确定上述扫描区域中像素的扫描顺序的扫描指示参数;根据上述区域指示参数和/或上述扫描指示参数确定上述解码块中部分或全部像素的重构值。
可选地,根据上述解码参数获取扫描方式参数包括:从上述解码参数中获取上述扫描方式参数中的上述区域指示参数和/或上述扫描指示参数,得到上述解码块的扫描区域,其中,上述解码块的扫描区域包括以下至少之一:上述解码块作为一个上述扫描区域,上述解码块分成多个上述扫描区域。
可选地,根据上述解码参数获取扫描方式参数包括:提取上述解码块相邻区域中像素样值的特征参数,其中,上述特征参数包括纹理特征;根据上述纹理特征确定上述解码块的上述扫描方式参数。
可选地,提取上述解码块的相邻区域的特征参数包括:对上述解码块相邻区域中已解码像素的重构值进行滤波处理;根据上述滤波处理的结果提取上述纹理特征。
可选地,对上述解码块相邻区域中已解码像素的重构值进行滤波处理包括:对上述解码块相邻区域中已解码像素的重构值进行边缘检测滤波。
可选地,根据上述纹理特征确定上述解码块的上述扫描方式参数包括:判断上述纹理特征所指示的纹理方向是否与上述解码块的边界相交;在上述纹理方向与上述解码块的边界相交时,以上述纹理方向与上述解码块的边界的交点所处的位置为原点,在水平或垂直方向上将上述解码块分成多个上述扫描区域;在上述纹理方向与上述解码块的边界未相交时,将上述解码块作为一个上述扫描区域。
可选地,根据上述纹理特征确定上述解码块的上述扫描方式参数包括:根据上述纹理特征所指示的纹理方向设置上述解码块中上述扫描区域中像素的扫描顺序。
可选地,根据上述解码参数获取扫描方式参数包括:根据上述解码参数获取用于指示编码模式的模式指示参数;从上述模式指示参数中获取上述扫描方式参数。
可选地,根据上述区域指示参数和/或上述扫描指示参数确定上述解码块中部分或全部像素的重构值包括:获取上述解码块中部分或全部像素的预测值,将上述预测值作为上述重构值;或者获取上述解码块中部分或全部像素的预测值及对应的预测差值,将上述预测值与上述预测差值的和值或差值作为上述重构值。
可选地,获取上述解码块中部分或全部像素的预测值包括:确定上述解码块中部分或全部 像素的像素样值的参考值,将上述参考值作为上述预测值;根据上述扫描方式参数确定上述解码块中部分或全部像素的像素样值的组合,将与上述样值的组合对应的参考值的组合作为上述预测值。
可选地,上述区域指示参数指示的上述解码块的扫描区域包括以下至少之一:上述解码块作为一个上述扫描区域,上述解码块分成多个上述扫描区域;上述扫描指示参数指示的上述解码块中上述扫描区域中像素的上述扫描顺序包括以下至少之一:水平Z形扫描顺序,垂直Z形扫描顺序,水平弓形扫描顺序,垂直弓形扫描顺序,光栅扫描顺序,Zigzag扫描顺序,锯齿形扫描顺序,对角Z形扫描顺序,对角弓形扫描顺序。
可选地,解析码流获取解码块的解码参数包括:从上述码流中的数据单元中获取上述解码参数,其中,上述数据单元包括以下至少之一:视频参数集、序列参数集、图像参数集、条带头、编码树单元CTU、编码单元CU、上述解码块所在的数据单元。
根据本发明的又一方面,提供了一种图像编码装置,包括:第一确定单元,设置为确定编码块的扫描方式参数,其中,上述扫描方式参数包括以下至少之一:用于确定上述编码块的扫描区域的区域指示参数,用于确定上述编码块中扫描区域中像素的扫描顺序的扫描指示参数;第二确定单元,设置为根据上述扫描方式参数确定上述编码块中部分或全部像素的预测值;编码单元,设置为根据上述预测值对上述编码块进行编码,并将编码后的编码结果写入码流。
根据本发明实施例的又一方面,提供了一种图像解码装置,包括:第一获取单元,设置为解析码流获取解码块的解码参数;第二获取单元,设置为根据上述解码参数获取扫描方式参数,其中,上述扫描方式参数包括:用于确定上述解码块的扫描区域的区域指示参数,和/或用于确定上述扫描区域中像素的扫描顺序的扫描指示参数;确定单元,设置为根据上述区域指示参数和/或上述扫描指示参数确定上述解码块中部分或全部像素的重构值。
通过本发明,确定编码块的扫描方式参数,其中,扫描方式参数包括以下至少之一:用于确定编码块的扫描区域的区域指示参数,用于确定编码块中扫描区域中像素的扫描顺序的扫描指示参数;根据扫描方式参数确定编码块中部分或全部像素的预测值;根据预测值对编码块进行编码,并将编码后的编码结果写入码流。
此外,解析码流获取解码块的解码参数;根据解码参数获取扫描方式参数,其中,扫描方式参数包括:用于确定解码块的扫描区域的区域指示参数,和/或用于确定扫描区域中像素的扫描顺序的扫描指示参数;根据区域指示参数和/或扫描指示参数确定解码块中部分或全部像素的重构值。
也就是说,通过对编/解码块采用分裂扫描方式进行扫描编/解码,从而实现通过将编/解码块分成更小的扫描区域,以达到提高编码压缩效率及解码解压效率的效果,进而克服现有技术中编码技术中只能通过固定方式扫描所导致的效率较低的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是现有技术中的一种可选的扫描方式的示意图;
图2是根据本发明实施例的一种可选的图像编码方法的流程图;
图3是根据本发明实施例的一种可选的扫描方式的示意图;
图4是根据本发明实施例的另一种可选的扫描方式的示意图;
图5是根据本发明实施例的又一种可选的扫描方式的示意图;
图6是根据本发明实施例的又一种可选的扫描方式的示意图;
图7是根据本发明实施例的又一种可选的扫描方式的示意图;
图8是根据本发明实施例的又一种可选的扫描方式的示意图;
图9是根据本发明实施例的又一种可选的扫描方式的示意图;
图10是根据本发明实施例的一种可选的图像解码方法的流程图;
图11是根据本发明实施例的一种可选的图像编码装置的示意图;以及
图12是根据本发明实施例的一种可选的图像解码装置的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。明的不当限定
实施例1
在本实施例中提供了一种图像编码方法,图2是根据本发明实施例的一种可选的图像编码方法的流程图,如图2所示,该流程包括如下步骤:
S202,确定编码块的扫描方式参数,其中,扫描方式参数包括以下至少之一:用于确定编码块的扫描区域的区域指示参数,用于确定编码块中扫描区域中像素的扫描顺序的扫描指示参数;
S204,根据扫描方式参数确定编码块中部分或全部像素的预测值;
S206,根据预测值对编码块进行编码,并将编码后的编码结果写入码流。
可选地,在本实施例中,上述图像编码方法可以但不限于应用于视频图像编码过程中,例如,可以但不限于应用于叠包格式的图像编码、或者分量平面格式的图像编码过程中。在对视频图像进行编码的过程中,通过将待编码的编码块按照确定的扫描方式参数的指示进行分裂扫描,并将编码块写入视频码流。也就是说,把一个编码块分裂成K个扫描区域并按对应的扫描顺序进行扫描,以克服现有技术中采用固定扫描方式对编码块按照正行(或列)进行扫描所导致的效率较低的问题,从而实现提高图像编码过程中的压缩效率的效果。其中,K通常满足:1≤K≤16。K=1表示1分裂即非分裂或称单分裂。K>1表示多分裂即分裂扫描。
需要说明的是,在本实施例中在对待编码的编码块进行编码时,确定编码块的扫描方式参数,其中,扫描方式参数包括以下至少之一:用于确定编码块的扫描区域的区域指示参数,用于确定编码块中扫描区域中像素的扫描顺序的扫描指示参数;根据确定的扫描方式参数确定编码块中部分或全部像素的预测值;进一步,根据预测值对编码块进行编码,并将编码后的编码结果写入码流。也就是说,通过采用分裂扫描方式对编码块进行扫描编码,并将编码结果写入视频码流。从而实现通过将编码块分成更小的扫描区域,以达到提高编码效率的效果。
在本实施例中需要说明的是,“像素样值”、“像素值”、“样值”、“索引像素”、“像素索引”是同义词。此外,根据上下文可以明确表示“像素”、“一个像素分量”、“索引像素”或者同时表示三者之任一。如果从上下文不能明确,那么就是同时表示三者之任一。
此外,编码块是由若干像素值组成的一个区域。编码块的形状可以但不限于以下至少一种形状:矩形、正方形、平行四边形、梯形、多边形、圆形、椭圆形及其他各种形状。其中,矩形也包括宽度或高度为一个像素值的退化为线(即线段或线形)的矩形。在本实施例的一帧图像中,各个编码块可以具有各不相同的形状和大小。此外,在本实施例的一帧图像中,某些或全部编码块可以有互相重叠部分,也可以所有编码块都互不重叠。进一步,在一个编码块,可以由“像素”组成,也可以由“像素的分量”组成,也可以由“索引像素”组成,也可以由这3者混合组成,也可以由这3者中之任意2种混合组成,本实施例中对此不作任何限定。从视频图像编码角度,编码块可以是指一帧图像中对其施行编码的一个区域,例如,可以包括但不限于以下至少一种:最大编码单元LCU、编码树单元CTU、编码单元CU、CU的子区域、预测单元PU、变换单元TU。
可选地,在本实施例中,上述扫描区域中像素的扫描顺序包括以下至少之一:水平Z形扫描顺序,垂直Z形扫描顺序,水平弓形扫描顺序,垂直弓形扫描顺序,光栅扫描顺序,Zigzag扫描顺序,锯齿形扫描顺序,对角Z形扫描顺序,对角弓形扫描顺序。
可选地,在本实施例中,上述扫描方式可以包括但不限于以下至少之一:2分裂、4分裂、8分裂及16分裂。其中,多分裂过程中,不同扫描区域的扫描顺序可以相同,也可以不同。本实施例中对此不作任何限定。
例如,图3示出了四种可选的扫描方式参数所指示的扫描:1)对编码块进行水平Z形2 分裂扫描;2)对编码块进行水平Z形4分裂扫描;1)对编码块进行垂直Z形2分裂扫描;1)对编码块进行垂直Z形4分裂扫描。又例如,图4-图9示出了不同扫描方式与不同扫描顺序组合得到的多种可选的扫描方式参数所指示的扫描。
可选地,在本实施例中,确定所述编码块的扫描方式参数包括:
1)提取编码块内像素样值和/或编码块相邻区域内像素样值的特征参数;根据特征参数确定编码块的扫描方式参数。
2)将编码块的扫描方式参数设置为编码块的候选扫描方式参数中可使得编码块编码效率最优的扫描方式参数。
可选地,在本实施例中上述方式1)中,可以但不限于提取编码块内像素样值和/或编码块相邻区域内像素样值的纹理特征,其中,特征参数包括纹理特征,以实现根据纹理特征确定扫描方式参数。在本实施例中上述方式2)中,候选扫描方式参数可以但不限于表示所有可选的扫描方式参数,通过依次比较这些扫描方式参数在编码过程中的编码效率,以实现将编码效率最优的扫描方式参数设置为最终图像编码块的扫描方式参数。例如,可使用现有的率失真优化方法确定最大编码效率。
需要说明的是,在本实施例中,上述像素(pixel)用于指图像的最小显示单元,一个像素位置上可以有一个(如黑白的灰度图像)或三个(如RGB、YUV)有效采样值,即像素样值(pixel sample(s))。在本实施例中,用于描述位置时,则可使用像素;用于描述处理像素位置上的采样值,则可使用像素样值。
可选地,在本实施例中,根据纹理特征确定编码块的扫描方式参数包括:
1)根据纹理特征确定扫描方式参数中的区域指示参数,得到编码块的扫描区域,其中,编码块的扫描区域包括以下至少之一:编码块作为一个扫描区域,编码块分成多个扫描区域。
需要说明的是,在本实施例中,可以但不限于判断纹理特征所指示的纹理方向与编码块的边界是否相交来确定编码后的扫描区域。例如,在与编码块的边界相交时,则在与该边界垂直的方向将编码块分成多个扫描区域。这里,也可以但不限于根据编码块中图像内容的纹理特征(即纹理方向)确定多个扫描区域的划分方向,如多个扫描区域与纹理方向一致。
2)根据纹理特征所指示的纹理方向设置扫描方式参数中的扫描指示参数,其中,扫描指示参数指示了编码块中扫描区域中像素的扫描顺序。
可选地,在本实施例中,上述扫描顺序可以包括但不限于以下至少一种:
(1)将纹理方向设置为编码块中扫描区域中像素的扫描顺序;
(2)获取编码块中扫描区域中像素样值的相关度;比较像素样值的相关度;根据比较的结果确定编码块中扫描区域中像素的扫描顺序。
需要说明的是,在本实施例中上述方式2)中,上述相关度可以包括但不限于以下至少之一:行相关度、列相关度。其中,上述扫描顺序可以但不限于将比较的结果中最大的相关度所指示的顺序设置为扫描区域中像素的扫描顺序。
可选地,在本实施例中,确定编码块中部分或全部像素的预测值包括:确定编码块中部分或全部像素的像素样值的参考值,将参考值作为预测值;根据扫描方式参数确定编码块中部分或全部像素的像素样值的组合,将与像素样值的组合对应的参考值的组合作为预测值。
可选地,在本实施例中,将编码后的编码结果写入码流包括:将编码结果及扫描方式参数按照预定格式写入码流中的数据单元,其中,数据单元包括以下至少之一:视频参数集、序列参数集、图像参数集、条带头、编码树单元CTU、编码单元CU、编码块所在的数据单元。
需要说明的是,在本实施例中,对编码块进行编码,指的是对编码块中的像素原始采样值(本实施例中也称像素值)进行压缩编码,即将编码块中的像素原始采样值(即像素值))映射(有损)为一系列参数,这些参数指示了对该编码块所采用的预测方法、预测值的构造方法、以及预测差。在本发明实施例中,由于采用分裂扫描方式对编码块进行编码扫描,因此,需要在码流中编码标识编码块所使用的分裂扫描方式的信息,即扫描方式参数。其中,上述参考值也可以称为参考样值。
也就是说,按照扫描方式参数将编码块内的二维像素分成了一些列的、按照扫描顺序连续排列的像素组成的串,这些串按照扫描顺序连续排列即组成了编码块内的二维像素排列。每个串有自己的匹配串(即预测值),每个串的匹配串按照扫描顺序连续排列即组成了编码块内的二维像素的预测值,写入码流过程,即将一个普通十进制表示的参数数值,转换为0、1比特表示的二进制符号串,该二进制符号串可直接作为码流,也可以对该二进制符号串使用诸如算术熵编码的方法,映射成为另一个新的二进制符号串,将新的二进制符号串作为码流。本实施例中对此不作任何限定。
具体结合以下示例进行说明,图像待编码的编码块中二维矩阵如下:
[A B C D
E F G H
I J K L
M N O P]
需要说明的是,如果按照现有的扫描方式进行扫描,则该二维矩阵可排列成[A B C D E F G H I J K L M N O P]、[A E I M B F J N C G K O D H L P]、[A B C D H G F E I J K L P O N M]、[A E I M N J F B C G K O P L H D]等一维排列。也就是说,采用现有的固定扫描方式只能按照上述四种扫描排列进行扫描。
而在本实施例中,可以按照该一维排列顺序由任意连续排列的像素组成串,例如,以一维 排列为[A B C D H G F E I J K L P O N M]为例,可以分成4个串,这4个串在二维矩阵中的位置如下所示:串1[A B](粗体),串2[C D H G F](加下划线),串3[E I J K](斜体),串4[L P O N M](正常格式):
[
Figure PCTCN2016073603-appb-000001
C D
Figure PCTCN2016073603-appb-000002
F G H
Figure PCTCN2016073603-appb-000003
L
M N O P]
在实际的匹配串表达过程中,只需要依次指出4个[匹配位置1,匹配长度=2]、[匹配位置2,匹配长度=5]、[匹配位置3,匹配长度=4]、[匹配位置4,匹配长度=5]。在使用保形匹配时,可从匹配位置开始,按照上面矩阵中不同格式标注串的扫描方式将匹配长度个像素取出作为该串的匹配串。从上述示例中表述的是,不同格式对应的扫描区域中的内容可以按照不同扫描顺序实现对编码块的分裂扫描。
通过本申请提供的实施例,在对图像中待编码的编码块进行编码时,根据从编码块提取的特征参数确定编码块的扫描方式参数,其中,扫描方式参数包括以下至少之一:用于指示将编码块分成一个或多个扫描区域的区域指示参数,用于指示对编码块进行扫描的扫描顺序的扫描指示参数;根据确定的扫描方式参数扫描图像中的编码块,并确定编码块中部分或全部像素的预测值;进一步,根据预测值对编码块进行编码,并将编码后的编码结果写入码流。也就是说,通过对编码块采用分裂扫描方式进行扫描编码,并将编码结果写入视频码流。从而实现通过将编码块分成更小的扫描区域,以达到提高编码效率的效果。进而克服现有技术中编码技术中只能通过固定方式扫描所导致的效率较低的问题。
作为一种可选的方案,确定编码块的扫描方式参数包括:
S1,提取编码块内像素样值和/或编码块相邻区域内像素样值的特征参数;
S2,根据特征参数确定编码块的扫描方式参数。
可选地,在本实施例中,提取编码块内像素样值和/或编码块相邻区域内像素样值的特征参数包括:S12,提取编码块内像素样值和/或编码块相邻区域内像素样值的纹理特征,其中,特征参数包括纹理特征;根据特征参数确定编码块的扫描方式参数包括:S22,根据纹理特征确定编码块的扫描方式参数。可选地,在本实施例中,根据纹理特征确定编码块的扫描方式参数可以包括但不限于:确定区域指示参数指示的将编码块一个或多个扫描区域,扫描指示参数指示的对编码块进行扫描的扫描顺序。
通过本申请提供的实施例,通过编码块的图像内容提取纹理特征,利用图像自身的纹理特征确定最佳的扫描方式参数,进一步提高了对编码块进行编码的压缩效率。
作为一种可选的方案,提取编码块内像素样值和/或编码块相邻区域内像素样值的纹理特 征包括:
S1,对编码块内像素样值和/或编码块相邻区域内像素样值进行滤波处理;
S2,根据滤波处理的结果提取纹理特征。
可选地,在本实施例中,对编码块内像素样值和/或编码块相邻区域内像素样值进行滤波处理包括:
S12,对编码块内像素样值和/或编码块相邻区域内像素样值进行边缘检测滤波。
可选地,在本实施例中,上述边缘检测滤波仅是一种实现手段,本实施例中对于获取纹理特征的实现手段不作任何限定。从而实现根据边缘信息确定是否对编码块分扫描区域。进一步,还可以根据检测结果中提取的纹理特征确定扫描区域中像素的扫描顺序。
作为一种可选的方案,根据纹理特征确定编码块的扫描方式参数包括:
S1,根据纹理特征确定扫描方式参数中的区域指示参数,得到编码块的扫描区域,其中,编码块的扫描区域包括以下至少之一:编码块作为一个扫描区域,编码块分成多个扫描区域。
需要说明的是,在本实施例中,可以但不限于判断纹理特征所指示的纹理方向与编码块的边界是否相交来确定编码后的扫描区域。例如,在与编码块的边界相交时,则在与该边界垂直的方向将编码块分成多个扫描区域。这里,也可以但不限于根据编码块中图像内容的纹理特征(即纹理方向)确定多个扫描区域的划分方向,如多个扫描区域与纹理方向一致。
通过本申请提供的实施例,根据纹理特征确定扫描方式参数中的区域指示参数,以实现对编码块的分裂扫描,从而保证在对编码块进行扫描编码的过程中,可以同时对不同扫描区域进行分裂扫描,从而实现提高了编码效率的效果。
作为一种可选的方案,根据纹理特征确定扫描方式参数中的区域指示参数,得到编码块的扫描区域包括:
S1,判断纹理特征所指示的纹理方向是否与编码块的边界相交;
S2,在纹理方向与编码块的边界相交时,以纹理方向与编码块的边界的交点所处的位置为原点,在水平或垂直方向上将编码块分成多个扫描区域;
S3,在纹理方向与编码块的边界未相交时,将编码块作为一个扫描区域。
可选地,在本实施例中,以纹理方向与编码块的边界的交点所处的位置为原点,在水平或垂直方向上将编码块分成多个扫描区域包括:
S22,在纹理方向与编码块的横向边界相交时,以纹理方向与编码块的边界的交点所处的位置为原点,在与横向边界相垂直的垂直方向上将编码块分成多个扫描区域;或者
S24,在纹理方向与编码块的纵向边界相交时,以纹理方向与编码块的边界的交点所处的位置为原点,在与纵向边界相垂直的水平方向上将编码块分成多个扫描区域。
需要说明的是,在本实施例中,为了简化操作,可以但不限于在水平或垂直方向对编码块进行分裂扫描。此外,在本实施例中,也可以但不限于根据编码块中图像内容实际的纹理方向,确定多个扫描区域。也就是说,在与纹理方向一致的方向上分多个平行的扫描区域。
通过本申请提供的实施例,通过判断纹理特征所指示的纹理方向与编码块的边界是否相交,来确定扫描区域。不仅操作简便,而且进一步保证了对编码块的压缩效率。
作为一种可选的方案,根据纹理特征确定编码块的扫描方式参数包括:
S1,根据纹理特征所指示的纹理方向设置扫描方式参数中的扫描指示参数,其中,扫描指示参数指示了编码块中扫描区域中像素的扫描顺序。
可选地,在本实施例中,对在多分裂扫描时,对不同扫描区域可以但不限于采用相同的扫描顺序,也可以采用不同的混合扫描顺序。例如,图4-图9为不同扫描方式及不同扫描顺序组合得到的多种混合扫描的示意图。
通过本申请提供的实施例,通过将编码块中一个或多个扫描区域中像素的扫描顺序按照纹理方向设置,进一步实现简化扫描编码的操作,保证了编码效率。
作为一种可选的方案,根据特征参数确定编码块的扫描方式参数包括:
S1,获取编码块中扫描区域中像素样值的相关度,其中,相关度包括以下至少之一:行相关度、列相关度;
S2,比较像素样值的相关度;
S3,根据比较的结果确定编码块中扫描区域中像素的扫描顺序。
可选地,在本实施例中,根据比较的结果确定编码块中扫描区域中像素的扫描顺序包括:
S32,将比较的结果中最大的相关度所指示的顺序设置为扫描区域中像素的扫描顺序。
需要说明的是,可以但不限于根据扫描区域中像素的行相关度和/或列相关度中最大的相关度,确定扫描区域中像素的扫描顺序。这里,对于相关度的获取方式,本实施例中对此不作任何限定。
通过本申请提供的实施例,通过对扫描区域设置对应的扫描顺序,从而实现对编码块采用多样化的扫描顺序,以保证编码效率的最大化。
作为一种可选的方案,根据扫描方式参数确定编码块中部分或全部像素的预测值包括:
S1,确定编码块中部分或全部像素的像素样值的参考值,将参考值作为预测值;
S2,根据扫描方式参数确定编码块中部分或全部像素的像素样值的组合,将与像素样值的组合对应的参考值的组合作为预测值。
可选地,在本实施例中,上述像素样值的组合可以但不限于根据不同的扫描区域形成的 多个像素样值的组合。上述参考值也可以称为参考样值。
需要说明的是,在本实施例中,对编码块进行编码,指的是对编码块中的像素原始采样值(本实施例中也称像素值)进行压缩编码,即将编码块中的像素原始采样值(即像素值)映射(有损)为一系列参数,这些参数指示了对该编码块所采用的预测方法、预测值的构造方法、以及预测差。在本发明实施例中,由于采用分裂扫描方式对编码块进行编码扫描,因此,需要在码流中编码标识编码块所使用的分裂扫描方式的信息,即扫描方式参数。
也就是说,按照扫描方式参数将编码块内的二维像素分成了一些列的、按照扫描顺序连续排列的像素组成的串,这些串按照扫描顺序连续排列即组成了编码块内的二维像素排列。每个串有自己的匹配串(即预测值),每个串的匹配串按照扫描顺序连续排列即组成了编码块内的二维像素的预测值,写入码流过程,即将一个普通十进制表示的参数数值,转换为0、1比特表示的二进制符号串,该二进制符号串可直接作为码流,也可以对该二进制符号串使用诸如算术熵编码的方法,映射成为另一个新的二进制符号串,将新的二进制符号串作为码流。本实施例中对此不作任何限定。
通过本申请提供的实施例,在对编码块进行分裂扫描的同时,对编码块按照分裂内容进行分裂编码,从而进一步达到提高编码过程中的压缩效率的效果。
作为一种可选的方案,将编码后的编码结果写入码流包括:
S1,将编码结果及扫描方式参数按照预定格式写入码流中的数据单元,其中,数据单元包括以下至少之一:视频参数集、序列参数集、图像参数集、条带头、编码树单元CTU、编码单元CU、编码块所在的数据单元。
需要说明的是,上述编码可以但不限于通过以下至少一种方式配置:编码器配置、编码器优化模块的设置进行配置、直接在编码器优化模块中使用固定的预编码方式进行配置。其中,编码器可以采用的一种方法是:当上相邻块使用了垂直分裂的分裂扫描方式、且上相邻块中的垂直边缘与上相邻块的下边界相交时,直接推断当前块使用与上相邻块相同的分裂扫描方式,即省去了对当前编码块的预编码过程,从而节省了编码时间,提高了编码效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中提供了一种图像解码方法,图10是根据本发明实施例的一种可选的图像解 码方法的流程图,如图10所示,该流程包括如下步骤:
S1002,解析码流获取解码块的解码参数;
S1004,根据解码参数获取扫描方式参数,其中,扫描方式参数包括:用于确定解码块的扫描区域的区域指示参数,和/或用于确定扫描区域中像素的扫描顺序的扫描指示参数;
S1006,根据区域指示参数和/或扫描指示参数确定解码块中部分或全部像素的重构值。
可选地,在本实施例中,上述图像解码方法可以但不限于应用于视频图像解码过程中,例如,可以但不限于应用于叠包格式的图像解码、或者分量平面格式的图像解码过程中。在对视频图像进行解码的过程中,通过将待解码的解码块按照确定的扫描方式参数的指示进行分裂扫描。也就是说,把一个解码块分裂成K个扫描区域并按对应的扫描顺序进行扫描,以克服现有技术中采用固定扫描方式对解码块按照正行(或列)进行扫描所导致的效率较低的问题,从而实现提高图像解码过程中的解压效率的效果。其中,K通常满足:1≤K≤16。K=1表示1分裂即非分裂或称单分裂。K>1表示多分裂即分裂扫描。
需要说明的是,在本实施例中在对待解码的解码块进行解码时,解析码流获取待解码的解码块的解码参数根据解码参数获取扫描方式参数,其中,扫描方式参数包括:用于确定解码块的扫描区域的区域指示参数,和/或用于确定扫描区域中像素的扫描顺序的扫描指示参数;根据区域指示参数和/或扫描指示参数确定解码块中部分或全部像素的重构值。也就是说,通过采用分裂扫描方式对解码块进行扫描解码。从而实现通过将解码块分成更小的扫描区域,以达到提高解码效率的效果。
在本实施例中需要说明的是,“像素样值”、“像素值”、“样值”、“索引像素”、“像素索引”是同义词。此外,根据上下文可以明确表示“像素”、“一个像素分量”、“索引像素”或者同时表示三者之任一。如果从上下文不能明确,那么就是同时表示三者之任一。
此外,解码块是由若干像素值组成的一个区域。解码块的形状可以但不限于以下至少一种形状:矩形、正方形、平行四边形、梯形、多边形、圆形、椭圆形及其他各种形状。其中,矩形也包括宽度或高度为一个像素值的退化为线(即线段或线形)的矩形。在本实施例的一帧图像中,各个解码块可以具有各不相同的形状和大小。此外,在本实施例的一帧图像中,某些或全部解码块可以有互相重叠部分,也可以所有解码块都互不重叠。进一步,在一个解码块,可以由“像素”组成,也可以由“像素的分量”组成,也可以由“索引像素”组成,也可以由这3者混合组成,也可以由这3者中之任意2种混合组成,本实施例中对此不作任何限定。从视频图像解码角度,解码块可以是指一帧图像中对其施行解码的一个区域,例如,可以包括但不限于以下至少一种:最大解码单元LCU、解码树单元CTU、解码单元CU、CU的子区域、预测单元PU、变换单元TU。
可选地,在本实施例中,上述扫描区域中像素的扫描顺序包括以下至少之一:水平Z形扫描顺序,垂直Z形扫描顺序,水平弓形扫描顺序,垂直弓形扫描顺序,光栅扫描顺序,Zigzag扫描顺序,锯齿形扫描顺序,对角Z形扫描顺序,对角弓形扫描顺序。
可选地,在本实施例中,上述扫描方式可以包括但不限于以下至少之一:2分裂、4分裂、8分裂及16分裂。其中,多分裂过程中,不同扫描区域的扫描顺序可以相同,也可以不同。本实施例中对此不作任何限定。
例如,图3示出了四种可选的扫描方式参数所指示的扫描:1)对解码块进行水平Z形2分裂扫描;2)对解码块进行水平Z形4分裂扫描;1)对解码块进行垂直Z形2分裂扫描;1)对解码块进行垂直Z形4分裂扫描。又例如,图4-图9示出了不同扫描方式与不同扫描顺序组合得到的多种可选的扫描方式参数所指示的扫描。
可选地,在本实施例中,根据解码参数获取扫描方式参数的方式包括以下至少一种:
1)从解码参数中获取扫描方式参数中的区域指示参数和/或扫描指示参数;
2)提取解码块相邻区域中像素样值的特征参数,其中,特征参数包括纹理特征;根据纹理特征确定解码块的扫描方式参数;
3)根据解码参数获取用于指示编码模式的模式指示参数;从模式指示参数中获取扫描方式参数。
需要说明的是,解析码流获取直接编码在码流里面的解码参数后,根据解码参数获取扫描方式参数的方式包括以下至少之一:(1)解析码流直接获得扫描方式参数中的区域指示参数和/或扫描指示参数;(2)根据解码块相邻区域中像素样值的特征参数,采用推导的方式获得扫描方式参数中的区域指示参数和/或扫描指示参数;(3)将扫描方式与某些编码模式采用“固定绑定”的形式,即根据解码参数获取用于指示编码模式的模式指示参数,当从模式指示参数中解析到模式标记时,使用为该模式预设的区域指示参数和/或扫描指示参数。
此外,在本实施例中,上述像素(pixel)用于指图像的最小显示单元,一个像素位置上可以有一个(如黑白的灰度图像)或三个(如RGB、YUV)有效采样值,即像素样值(pixel sample(s))。在本实施例中,用于描述位置时,则可使用像素;用于描述处理像素位置上的采样值,则可使用像素样值。
进一步,在方式2)中,可以但不限于判断纹理特征所指示的纹理方向与解码块的边界是否相交来确定解码后的扫描区域。例如,在与解码块的边界相交时,则在与该边界垂直的方向将解码块分成多个扫描区域。
可选地,在本实施例中,根据区域指示参数和/或扫描指示参数确定解码块中部分或全部像素的重构值的方式包括:
1)获取解码块中部分或全部像素的预测值,将预测值作为重构值;或者
2)获取解码块中部分或全部像素的预测值及对应的预测差值,将预测值与预测差值的和值或差值作为重构值。
可选地,在本实施例中,确定解码块中部分或全部像素的预测值包括:确定解码块中部分 或全部像素的像素样值的参考值,将参考值作为预测值;根据扫描方式参数确定解码块中部分或全部像素的像素样值的组合,将与样值的组合对应的参考值的组合作为预测值。
可选地,在本实施例中,解析码流获取解码块的解码参数包括:从码流中的数据单元中获取解码参数,其中,数据单元包括以下至少之一:视频参数集、序列参数集、图像参数集、条带头、编码树单元CTU、编码单元CU、解码块所在的数据单元。
具体结合以下示例进行说明,对使用串匹配编码的编码块进行编码的码流,在解码过程中可以将解码块分成不同的扫描区域,为每个扫描区域使用与编码过程相对应的分裂扫描。例如,若编码过程中按照扫描方式参数的指示将一个二维矩阵中的元素排列成一个一维向量过程,则解码过程可以视为编码的逆过程,即将一个一维向量中的元素排列成一个二维矩阵过程。实际代码实现上采用读写地址控制的方法完成。例如,二维像素如下:
[A B C D
E F G H
I J K L
M N O P]
则可以按照与编码过程所用的扫描方式参数对应的扫描方式参数所指示的“弓形4分裂扫描”,将上述二维像素转换为一维排列:[A B C D H G F E I J K L P O N M],实现的伪代码可以如下:
int position[4][4]={0,1,2,3,
7,6,5,4,
8,9,10,11,
15,14,13,12};
for(h=0;h<4;h++)
  for(w=0;w<4;w++)
    1D_array[position[h][w]]=2D_array[h][w];
通过本申请提供的实施例,解析码流获取解码块的解码参数,根据解码参数获取扫描方式参数,其中,扫描方式参数包括:用于确定解码块的扫描区域的区域指示参数,和/或用于确定扫描区域中像素的扫描顺序的扫描指示参数;根据区域指示参数和/或扫描指示参数确定解码块中部分或全部像素的重构值。也就是说,通过采用分裂扫描方式对解码块进行扫描解码。从而实现通过将解码块分成更小的扫描区域,以达到提高解码效率的效果。进而克服现有技术中解码技术中只能通过固定方式扫描所导致的效率较低的问题。
作为一种可选的方案,根据解码参数获取扫描方式参数包括:
S1,从解码参数中获取扫描方式参数中的区域指示参数和/或扫描指示参数,得到解码块的扫描区域,其中,解码块的扫描区域包括以下至少之一:解码块作为一个扫描区域,解码块分成多个扫描区域。
可选地,在本实施例中,可以将解码块作为单分裂扫描区域,也可以将解码块分成多分裂扫描区域。
需要说明的是,在本实施例中,可以但不限于判断从解码块相邻区域中像素样值的特征参数包括的纹理特征所指示的纹理方向与解码块的边界是否相交来确定解码后的扫描区域。例如,在与解码块的边界相交时,则在与该边界垂直的方向将解码块分成多个扫描区域。这里,也可以但不限于根据解码块中图像内容的纹理特征(即纹理方向)确定多个扫描区域的划分方向,如多个扫描区域与纹理方向一致。
可选地,在本实施例中,解码过程中的解码扫描顺序可以为预设的扫描顺序,也可以为扫描方式参数指示的扫描顺序。本实施例中对此不作任何限定。
通过本申请提供的实施例,通过根据纹理特征对解码块的分裂扫描,从而保证在对解码块进行扫描解码的过程中,可以同时对不同扫描区域进行分裂扫描,从而实现提高了解码效率的效果。此外,通过对扫描区域设置对应的扫描顺序,从而实现对解码块采用多样化的扫描顺序,以保证解码效率的最大化。
作为一种可选的方案,根据解码参数获取扫描方式参数包括:
S1,提取解码块相邻区域中像素样值的特征参数,其中,特征参数包括纹理特征;
S2,根据纹理特征确定解码块的扫描方式参数。
通过本申请提供的实施例,通过解码块的图像内容提取纹理特征,利用图像自身的纹理特征确定最佳的扫描方式参数,进一步提高了对解码块进行解码的解压效率。
作为一种可选的方案,提取解码块的相邻区域的特征参数包括:
S1,对解码块相邻区域中已解码像素的重构值进行滤波处理;
S2,根据滤波处理的结果提取纹理特征。
可选地,在本实施例中,对解码块相邻区域中已解码像素的重构值进行滤波处理包括:
S12,对解码块相邻区域中已解码像素的重构值进行边缘检测滤波。
可选地,在本实施例中,上述边缘检测滤波仅是一种实现手段,本实施例中对于获取纹理特征的实现手段不作任何限定。从而实现根据边缘信息确定是否对编码块分扫描区域。进一步,还可以根据检测结果中提取的纹理特征确定扫描区域中像素的扫描顺序。
作为一种可选的方案,根据纹理特征确定解码块的扫描方式参数包括:
S1,判断纹理特征所指示的纹理方向是否与解码块的边界相交;
S2,在纹理方向与解码块的边界相交时,以纹理方向与解码块的边界的交点所处的位置为原点,在水平或垂直方向上将解码块分成多个扫描区域;
S3,在纹理方向与解码块的边界未相交时,将解码块作为一个扫描区域。
可选地,在本实施例中,以纹理方向与解码块的边界的交点所处的位置为原点,在水平或垂直方向上将解码块分成多个扫描区域包括:
S22,在纹理方向与解码块的横向边界相交时,以纹理方向与解码块的边界的交点所处的位置为原点,在与横向边界相垂直的垂直方向上将解码块分成多个扫描区域;或者
S24,在纹理方向与解码块的纵向边界相交时,以纹理方向与解码块的边界的交点所处的位置为原点,在与纵向边界相垂直的水平方向上将解码块分成多个扫描区域。
需要说明的是,在本实施例中,为了简化操作,可以但不限于在水平或垂直方向对解码块进行分裂扫描。此外,在本实施例中,也可以但不限于根据解码块中图像内容实际的纹理方向,确定多个扫描区域。也就是说,在与纹理方向一致的方向上分多个平行的扫描区域。
通过本申请提供的实施例,通过判断纹理特征所指示的纹理方向与解码块的边界是否相交,来确定扫描区域。不仅操作简便,而且进一步保证了对解码块的解压效率。
作为一种可选的方案,根据纹理特征确定解码块的扫描方式参数包括:
S1,根据纹理特征所指示的纹理方向设置解码块中扫描区域中像素的扫描顺序。
可选地,在本实施例中,对在多分裂扫描时,对不同扫描区域可以但不限于采用相同的扫描顺序,也可以采用不同的混合扫描顺序。例如,图4-图9为不同扫描方式及不同扫描顺序组合得到的多种混合扫描的示意图。
通过本申请提供的实施例,通过将解码块中一个或多个扫描区域中像素的扫描顺序按照纹理方向设置,进一步实现简化扫描解码的操作,保证了解码效率。
作为一种可选的方案,根据解码参数获取扫描方式参数包括:
S1,根据解码参数获取用于指示编码模式的模式指示参数;
S2,从模式指示参数中获取扫描方式参数。
可选地,在本实施例中,将扫描方式与某些编码模式采用“固定绑定”的形式,即根据解码参数获取用于指示编码模式的模式指示参数,当从模式指示参数中解析到模式标记时,使用为该模式预设的区域指示参数和/或扫描指示参数。
作为一种可选的方案,根据区域指示参数和/或扫描指示参数确定解码块中部分或全部像素的重构值包括:
S1,获取解码块中部分或全部像素的预测值,将预测值作为重构值;或者
S2,获取解码块中部分或全部像素的预测值及对应的预测差值,将预测值与预测差值的和值或差值作为重构值。
可选地,在本实施例中,上述像素样值的组合可以但不限于根据不同的扫描区域形成的多个像素样值的组合。上述参考值也可以称为参考样值。
可选地,在本实施例中,获取解码块中部分或全部像素的预测值包括:
S12,确定解码块中部分或全部像素的像素样值的参考值,将参考值作为预测值;
S14,根据扫描方式参数确定解码块中部分或全部像素的像素样值的组合,将与样值的组合对应的参考值的组合作为预测值。
也就是说,上述解码过程可以但不限于为编码过程的逆过程。例如,在确定重构值的过程中,可以解析码流获得预测差(码流中可不传输预测差,此时认为预测差为0),重构值=预测值+预测差。
需要说明的是,由于在本实施例中采用的是有损编码方式,因此为了保证重构值的准确性,在本实施例中上述预测差可以但不限于是从码流中解析后直接获取到。
通过本申请提供的实施例,在对解码块进行分裂扫描的同时,对解码块按照分裂内容进行分裂解码,从而进一步达到提高解码过程中的解压效率的效果。
作为一种可选的方案,解析码流获取解码块的解码参数包括:
S1,从码流中的数据单元中获取解码参数,其中,数据单元包括以下至少之一:视频参数集、序列参数集、图像参数集、条带头、编码树单元CTU、编码单元CU、解码块所在的数据单元。
需要说明的是,上述解码可以但不限于通过以下至少一种方式配置:解码器配置、解码器优化模块的设置进行配置、直接在解码器优化模块中使用固定的预解码方式进行配置。其中,解码器可以采用的一种方法是:当上相邻块使用了垂直分裂的分裂扫描方式、且上相邻块中的垂直边缘与上相邻块的下边界相交时,直接推断当前块使用与上相邻块相同的分裂扫描方式,即省去了对当前解码块的预解码过程,从而节省了解码时间,提高了解码效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
在本实施例中还提供了一种图像编码装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在本实施例中提供了一种图像编码装置,图11是根据本发明实施例的一种可选的图像编码装置的示意图,如图11所示,包括:
1)第一确定单元1102,设置为确定编码块的扫描方式参数,其中,扫描方式参数包括以下至少之一:用于确定编码块的扫描区域的区域指示参数,用于确定编码块中扫描区域中像素的扫描顺序的扫描指示参数;
2)第二确定单元1104,设置为根据扫描方式参数确定编码块中部分或全部像素的预测值;
3)编码单元1106,设置为根据预测值对编码块进行编码,并将编码后的编码结果写入码流。
可选地,在本实施例中,上述图像编码装置可以但不限于应用于视频图像编码过程中,例如,可以但不限于应用于叠包格式的图像编码、或者分量平面格式的图像编码过程中。在对视频图像进行编码的过程中,通过将待编码的编码块按照确定的扫描方式参数的指示进行分裂扫描,并将编码块写入视频码流。也就是说,把一个编码块分裂成K个扫描区域并按对应的扫描顺序进行扫描,以克服现有技术中采用固定扫描方式对编码块按照正行(或列)进行扫描所导致的效率较低的问题,从而实现提高图像编码过程中的压缩效率的效果。其中,K通常满足:1≤K≤16。K=1表示1分裂即非分裂或称单分裂。K>1表示多分裂即分裂扫描。
需要说明的是,在本实施例中在对待编码的编码块进行编码时,确定编码块的扫描方式参数,其中,扫描方式参数包括以下至少之一:用于确定编码块的扫描区域的区域指示参数,用于确定编码块中扫描区域中像素的扫描顺序的扫描指示参数;根据确定的扫描方式参数确定编码块中部分或全部像素的预测值;进一步,根据预测值对编码块进行编码,并将编码后的编码结果写入码流。也就是说,通过采用分裂扫描方式对编码块进行扫描编码,并将编码结果写入视频码流。从而实现通过将编码块划分成更小的扫描区域,以达到提高编码效率的效果。
在本实施例中需要说明的是,“像素样值”、“像素值”、“样值”、“索引像素”、“像素索引”是同义词。此外,根据上下文可以明确表示“像素”、“一个像素分量”、“索引像素”或者同时表示三者之任一。如果从上下文不能明确,那么就是同时表示三者之任一。
此外,编码块是由若干像素值组成的一个区域。编码块的形状可以但不限于以下至少一种形状:矩形、正方形、平行四边形、梯形、多边形、圆形、椭圆形及其他各种形状。其中,矩形也包括宽度或高度为一个像素值的退化为线(即线段或线形)的矩形。在本实施例的一帧图像中,各个编码块可以具有各不相同的形状和大小。此外,在本实施例的一帧图像中,某些或全部编码块可以有互相重叠部分,也可以所有编码块都互不重叠。进一步,在一个编 码块,可以由“像素”组成,也可以由“像素的分量”组成,也可以由“索引像素”组成,也可以由这3者混合组成,也可以由这3者中之任意2种混合组成,本实施例中对此不作任何限定。从视频图像编码角度,编码块可以是指一帧图像中对其施行编码的一个区域,例如,可以包括但不限于以下至少一种:最大编码单元LCU、编码树单元CTU、编码单元CU、CU的子区域、预测单元PU、变换单元TU。
可选地,在本实施例中,上述扫描区域中像素的扫描顺序包括以下至少之一:水平Z形扫描顺序,垂直Z形扫描顺序,水平弓形扫描顺序,垂直弓形扫描顺序,光栅扫描顺序,Zigzag扫描顺序,锯齿形扫描顺序,对角Z形扫描顺序,对角弓形扫描顺序。
可选地,在本实施例中,上述扫描方式可以包括但不限于以下至少之一:2分裂、4分裂、8分裂及16分裂。其中,多分裂过程中,不同扫描区域的扫描顺序可以相同,也可以不同。本实施例中对此不作任何限定。
例如,图3示出了四种可选的扫描方式参数所指示的扫描:1)对编码块进行水平Z形2分裂扫描;2)对编码块进行水平Z形4分裂扫描;1)对编码块进行垂直Z形2分裂扫描;1)对编码块进行垂直Z形4分裂扫描。又例如,图4-图9示出了不同扫描方式与不同扫描顺序组合得到的多种可选的扫描方式参数所指示的扫描。
可选地,在本实施例中,确定所述编码块的扫描方式参数包括:
1)提取编码块内像素样值和/或编码块相邻区域内像素样值的特征参数;根据特征参数确定编码块的扫描方式参数。
2)将编码块的扫描方式参数设置为编码块的候选扫描方式参数中可使得编码块编码效率最优的扫描方式参数。
可选地,在本实施例中上述方式1)中,可以但不限于提取编码块内像素样值和/或编码块相邻区域内像素样值的纹理特征,其中,特征参数包括纹理特征,以实现根据纹理特征确定扫描方式参数。在本实施例中上述方式2)中,候选扫描方式参数可以但不限于表示所有可选的扫描方式参数,通过依次比较这些扫描方式参数在编码过程中的编码效率,以实现将编码效率最优的扫描方式参数设置为最终图像编码块的扫描方式参数。例如,可使用现有的率失真优化方法确定最大编码效率。
需要说明的是,在本实施例中,上述像素(pixel)用于指图像的最小显示单元,一个像素位置上可以有一个(如黑白的灰度图像)或三个(如RGB、YUV)有效采样值,即像素样值(pixel sample(s))。在本实施例中,用于描述位置时,则可使用像素;用于描述处理像素位置上的采样值,则可使用像素样值。
可选地,在本实施例中,根据纹理特征确定编码块的扫描方式参数包括:
1)根据纹理特征确定扫描方式参数中的区域指示参数,得到编码块的扫描区域,其中,编码块的扫描区域包括以下至少之一:编码块作为一个扫描区域,编码块分成多个扫描区域。
需要说明的是,在本实施例中,可以但不限于判断纹理特征所指示的纹理方向与编码块的边界是否相交来确定编码后的扫描区域。例如,在与编码块的边界相交时,则在与该边界垂直的方向将编码块分成多个扫描区域。这里,也可以但不限于根据编码块中图像内容的纹理特征(即纹理方向)确定多个扫描区域的划分方向,如多个扫描区域与纹理方向一致。
2)根据纹理特征所指示的纹理方向设置扫描方式参数中的扫描指示参数,其中,扫描指示参数指示了编码块中扫描区域中像素的扫描顺序。
可选地,在本实施例中,上述扫描顺序可以包括但不限于以下至少一种:
(1)将纹理方向设置为编码块中扫描区域中像素的扫描顺序;
(2)获取编码块中扫描区域中像素样值的相关度;比较像素样值的相关度;根据比较的结果确定编码块中扫描区域中像素的扫描顺序。
需要说明的是,在本实施例中上述方式2)中,上述相关度可以包括但不限于以下至少之一:行相关度、列相关度。其中,上述扫描顺序可以但不限于将比较的结果中最大的相关度所指示的顺序设置为扫描区域中像素的扫描顺序。
可选地,在本实施例中,确定编码块中部分或全部像素的预测值包括:确定编码块中部分或全部像素的像素样值的参考值,将参考值作为预测值;根据扫描方式参数确定编码块中部分或全部像素的像素样值的组合,将与像素样值的组合对应的参考值的组合作为预测值。
可选地,在本实施例中,将编码后的编码结果写入码流包括:将编码结果及扫描方式参数按照预定格式写入码流中的数据单元,其中,数据单元包括以下至少之一:视频参数集、序列参数集、图像参数集、条带头、编码树单元CTU、编码单元CU、编码块所在的数据单元。
需要说明的是,在本实施例中,对编码块进行编码,指的是对编码块中的像素原始采样值(本实施例中也称像素值)进行压缩编码,即将编码块中的像素原始采样值(即像素值))映射(有损)为一系列参数,这些参数指示了对该编码块所采用的预测方法、预测值的构造方法、以及预测差。在本发明实施例中,由于采用分裂扫描方式对编码块进行编码扫描,因此,需要在码流中编码标识编码块所使用的分裂扫描方式的信息,即扫描方式参数。其中,上述参考值也可以称为参考样值。
也就是说,按照扫描方式参数将编码块内的二维像素分成了一些列的、按照扫描顺序连续排列的像素组成的串,这些串按照扫描顺序连续排列即组成了编码块内的二维像素排列。每个串有自己的匹配串(即预测值),每个串的匹配串按照扫描顺序连续排列即组成了编码块内的二维像素的预测值,写入码流过程,即将一个普通十进制表示的参数数值,转换为0、1比特表示的二进制符号串,该二进制符号串可直接作为码流,也可以对该二进制符号串使用诸如算术熵编码的方法,映射成为另一个新的二进制符号串,将新的二进制符号串作为码流。本实施例中对此不作任何限定。
具体结合以下示例进行说明,图像待编码的编码块中二维矩阵如下:
[A B C D
E F G H
I J K L
M N O P]
需要说明的是,如果按照现有的扫描方式进行扫描,则该二维矩阵可排列成[A B C D E F G H I J K L M N O P]、[A E I M B F J N C G K O D H L P]、[A B C D H G F E I J K L P O N M]、[A E I M N J F B C G K O P L H D]等一维排列。也就是说,采用现有的固定扫描方式只能按照上述四种扫描排列进行扫描。
而在本实施例中,可以按照该一维排列顺序由任意连续排列的像素组成串,例如,以一维排列为[A B C D H G F E I J K L P O N M]为例,可以分成4个串,这4个串在二维矩阵中的位置如下所示:串1[A B](粗体),串2[C D H G F](加下划线),串3[E I J K](斜体),串4[L P O N M](正常格式):
[
Figure PCTCN2016073603-appb-000004
C D
Figure PCTCN2016073603-appb-000005
F G H
Figure PCTCN2016073603-appb-000006
L
M N O P]
在实际的匹配串表达过程中,只需要依次指出4个[匹配位置1,匹配长度=2]、[匹配位置2,匹配长度=5]、[匹配位置3,匹配长度=4]、[匹配位置4,匹配长度=5]。在使用保形匹配时,可从匹配位置开始,按照上面矩阵中不同格式标注串的扫描方式将匹配长度个像素取出作为该串的匹配串。从上述示例中表述的是,不同格式对应的扫描区域中的内容可以按照不同扫描顺序实现对编码块的分裂扫描。
通过本申请提供的实施例,在对图像中待编码的编码块进行编码时,根据从编码块提取的特征参数确定编码块的扫描方式参数,其中,扫描方式参数包括以下至少之一:用于指示将编码块分成一个或多个扫描区域的区域指示参数,用于指示对编码块进行扫描的扫描顺序的扫描指示参数;根据确定的扫描方式参数扫描图像中的编码块,并确定编码块中部分或全部像素的预测值;进一步,根据预测值对编码块进行编码,并将编码后的编码结果写入码流。也就是说,通过对编码块采用分裂扫描方式进行扫描编码,并将编码结果写入视频码流。从而实现通过将编码块划分成更小的扫描区域,以达到提高编码效率的效果。进而克服现有技术中编码技术中只能通过固定方式扫描所导致的效率较低的问题。
作为一种可选的方案,第一确定单元包括:
1)提取模块,设置为提取编码块内像素样值和/或编码块相邻区域内像素样值的特征参数;
2)第一确定模块,设置为根据特征参数确定编码块的扫描方式参数。
可选地,在本实施例中,提取模块包括:提取子模块,设置为提取编码块内像素样值和/或编码块相邻区域内像素样值的纹理特征,其中,特征参数包括纹理特征;第一确定模块包括:第一确定子模块,设置为根据纹理特征确定编码块的扫描方式参数。
可选地,在本实施例中,根据纹理特征确定编码块的扫描方式参数可以包括但不限于:确定区域指示参数指示的将编码块分成的一个或多个扫描区域,扫描指示参数指示的对编码块进行扫描的扫描顺序。
通过本申请提供的实施例,通过编码块的图像内容提取至少包括纹理方向的纹理特征,利用图像自身的纹理特征确定最佳的扫描方式参数,进一步提高了对编码块进行编码的压缩效率。
作为一种可选的方案,提取子模块通过以下步骤实现提取编码块内像素样值和/或编码块相邻区域内像素样值的纹理特征:
S1,对编码块内像素样值和/或编码块相邻区域内像素样值进行滤波处理;
S2,根据滤波处理的结果提取纹理特征。
可选地,在本实施例中,提取子模块通过以下步骤实现对编码块内像素样值和/或编码块相邻区域内像素样值进行滤波处理:
S12,对编码块内像素样值和/或编码块相邻区域内像素样值进行边缘检测滤波。
可选地,在本实施例中,上述边缘检测滤波仅是一种实现手段,本实施例中对于获取纹理特征的实现手段不作任何限定。从而实现根据边缘信息确定是否对编码块分扫描区域。进一步,还可以根据检测结果中提取的纹理特征确定扫描区域中像素的扫描顺序。
作为一种可选的方案,第一确定子模块通过以下步骤实现根据纹理特征确定编码块的扫描方式参数:
S1,根据纹理特征确定扫描方式参数中的区域指示参数,得到编码块的扫描区域,其中,编码块的扫描区域包括以下至少之一:编码块作为一个扫描区域,编码块分成多个扫描区域。
需要说明的是,在本实施例中,可以但不限于判断纹理特征所指示的纹理方向与编码块的边界是否相交来确定编码后的扫描区域。例如,在与编码块的边界相交时,则在与该边界垂直的方向将编码块分成多个扫描区域。这里,也可以但不限于根据编码块中图像内容的纹理特征(即纹理方向)确定多个扫描区域的划分方向,如多个扫描区域与纹理方向一致。
通过本申请提供的实施例,根据纹理特征确定扫描方式参数中的区域指示参数,以实现对 编码块的分裂扫描,从而保证在对编码块进行扫描编码的过程中,可以同时对不同扫描区域进行分裂扫描,从而实现提高了编码效率的效果。
作为一种可选的方案,第一确定子模块通过以下步骤实现根据纹理特征确定扫描方式参数中的区域指示参数,得到编码块的扫描区域:
S1,判断纹理特征所指示的纹理方向是否与编码块的边界相交;
S2,在纹理方向与编码块的边界相交时,以纹理方向与编码块的边界的交点所处的位置为原点,在水平或垂直方向上将编码块分成多个扫描区域;
S3,在纹理方向与编码块的边界未相交时,将编码块作为一个扫描区域。
可选地,在本实施例中,以纹理方向与编码块的边界的交点所处的位置为原点,在水平或垂直方向上将编码块分成多个扫描区域包括:
S22,在纹理方向与编码块的横向边界相交时,以纹理方向与编码块的边界的交点所处的位置为原点,在与横向边界相垂直的垂直方向上将编码块分成多个扫描区域;或者
S24,在纹理方向与编码块的纵向边界相交时,以纹理方向与编码块的边界的交点所处的位置为原点,在与纵向边界相垂直的水平方向上将编码块分成多个扫描区域。
需要说明的是,在本实施例中,为了简化操作,可以但不限于在水平或垂直方向对编码块进行分裂扫描。此外,在本实施例中,也可以但不限于根据编码块中图像内容实际的纹理方向,确定多个扫描区域。也就是说,在与纹理方向一致的方向上分多个平行的扫描区域。
通过本申请提供的实施例,通过判断纹理特征所指示的纹理方向与编码块的边界是否相交,来确定扫描区域。不仅操作简便,而且进一步保证了对编码块的压缩效率。
作为一种可选的方案,第一确定子模块通过以下步骤实现根据纹理特征确定编码块的扫描方式参数:
S1,根据纹理特征所指示的纹理方向设置扫描方式参数中的扫描指示参数,其中,扫描指示参数指示了编码块中扫描区域中像素的扫描顺序。
可选地,在本实施例中,对在多分裂扫描时,对不同扫描区域可以但不限于采用相同的扫描顺序,也可以采用不同的混合扫描顺序。例如,图4-图9为不同扫描方式及不同扫描顺序组合得到的多种混合扫描的示意图。
通过本申请提供的实施例,通过将编码块中一个或多个扫描区域中像素的扫描顺序按照纹理方向设置,进一步实现简化扫描编码的操作,保证了编码效率。
作为一种可选的方案,第一确定模块包括:
1)获取子模块,设置为获取编码块中扫描区域中像素样值的相关度,其中,相关度包括以下至少之一:行相关度、列相关度;
2)比较子模块,设置为比较像素样值的相关度;
3)第二确定子模块,设置为根据比较的结果确定编码块中扫描区域中像素的扫描顺序。
可选地,在本实施例中,比较子模块通过以下步骤实现根据比较的结果确定编码块中扫描区域中像素的扫描顺序:
S1,将比较的结果中最大的相关度所指示的顺序设置为扫描区域中像素的扫描顺序。
需要说明的是,可以但不限于根据扫描区域中像素的行相关度和/或列相关度中最大的相关度,确定扫描区域中像素的扫描顺序。这里,对于相关度的获取方式,本实施例中对此不作任何限定。
通过本申请提供的实施例,通过对扫描区域设置对应的扫描顺序,从而实现对编码块采用多样化的扫描顺序,以保证编码效率的最大化。
作为一种可选的方案,第二确定单元包括:
1)第二确定模块,设置为确定编码块中部分或全部像素的像素样值的参考值,将参考值作为预测值;
2)第三确定模块,设置为根据扫描方式参数确定编码块中部分或全部像素的像素样值的组合,将与像素样值的组合对应的参考值的组合作为预测值。
可选地,在本实施例中,上述像素样值的组合可以但不限于根据不同的扫描区域形成的多个像素样值的组合。上述参考值也可以称为参考样值。
需要说明的是,在本实施例中,对编码块进行编码,指的是对编码块中的像素原始采样值(本实施例中也称像素值)进行压缩编码,即将编码块中的像素原始采样值(即像素值)映射(有损)为一系列参数,这些参数指示了对该编码块所采用的预测方法、预测值的构造方法、以及预测差。在本发明实施例中,由于采用分裂扫描方式对编码块进行编码扫描,因此,需要在码流中编码标识编码块所使用的分裂扫描方式的信息,即扫描方式参数。
也就是说,按照扫描方式参数将编码块内的二维像素分成了一些列的、按照扫描顺序连续排列的像素组成的串,这些串按照扫描顺序连续排列即组成了编码块内的二维像素排列。每个串有自己的匹配串(即预测值),每个串的匹配串按照扫描顺序连续排列即组成了编码块内的二维像素的预测值,写入码流过程,即将一个普通十进制表示的参数数值,转换为0、1比特表示的二进制符号串,该二进制符号串可直接作为码流,也可以对该二进制符号串使用诸如算术熵编码的方法,映射成为另一个新的二进制符号串,将新的二进制符号串作为码流。本实施例中对此不作任何限定。
通过本申请提供的实施例,在对编码块进行分裂扫描的同时,对编码块按照分裂内容进行分裂编码,从而进一步达到提高编码过程中的压缩效率的效果。
作为一种可选的方案,编码单元包括:
1)编码模块,设置为将编码结果及扫描方式参数按照预定格式写入码流中的数据单元,其中,数据单元包括以下至少之一:视频参数集、序列参数集、图像参数集、条带头、编码树单元CTU、编码单元CU、编码块所在的数据单元。
需要说明的是,上述编码可以但不限于通过以下至少一种方式配置:编码器配置、编码器优化模块的设置进行配置、直接在编码器优化模块中使用固定的预编码方式进行配置。其中,编码器可以采用的一种方法是:当上相邻块使用了垂直分裂的分裂扫描方式、且上相邻块中的垂直边缘与上相邻块的下边界相交时,直接推断当前块使用与上相邻块相同的分裂扫描方式,即省去了对当前编码块的预编码过程,从而节省了编码时间,提高了编码效率。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
实施例4
在本实施例中还提供了一种图像解码装置,该装置设置为实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在本实施例中提供了一种图像解码装置,图12是根据本发明实施例的一种可选的图像解码装置的示意图,如图12所示,包括:
1)第一获取单元1202,设置为解析码流获取解码块的解码参数;
2)第二获取单元1204,设置为根据解码参数获取扫描方式参数,其中,扫描方式参数包括:用于确定解码块的扫描区域的区域指示参数,和/或用于确定扫描区域中像素的扫描顺序的扫描指示参数;
3)确定单元1206,设置为根据区域指示参数和/或扫描指示参数确定解码块中部分或全部像素的重构值。
可选地,在本实施例中,上述图像解码装置可以但不限于应用于视频图像解码过程中,例如,可以但不限于应用于叠包格式的图像解码、或者分量平面格式的图像解码过程中。在对视频图像进行解码的过程中,通过将待解码的解码块按照确定的扫描方式参数的指示进行分裂扫描。也就是说,把一个解码块分裂成K个扫描区域并按对应的扫描顺序进行扫描,以克服现有技术中采用固定扫描方式对解码块按照正行(或列)进行扫描所导致的效率较低的问题,从而实现提高图像解码过程中的解压效率的效果。其中,K通常满足:1≤K≤16。K=1表示1分裂即非分裂或称单分裂。K>1表示多分裂即分裂扫描。
需要说明的是,在本实施例中在对待解码的解码块进行解码时,解析码流获取待解码的解码块的解码参数根据解码参数获取扫描方式参数,其中,扫描方式参数包括:用于确定解码块的扫描区域的区域指示参数,和/或用于确定扫描区域中像素的扫描顺序的扫描指示参数;根据区域指示参数和/或扫描指示参数确定解码块中部分或全部像素的重构值。也就是说,通过采用分裂扫描方式对解码块进行扫描解码。从而实现通过将解码块分成更小的扫描区域,以达到提高解码效率的效果。
在本实施例中需要说明的是,“像素样值”、“像素值”、“样值”、“索引像素”、“像素索引”是同义词。此外,根据上下文可以明确表示“像素”、“一个像素分量”、“索引像素”或者同时表示三者之任一。如果从上下文不能明确,那么就是同时表示三者之任一。
此外,解码块是由若干像素值组成的一个区域。解码块的形状可以但不限于以下至少一种形状:矩形、正方形、平行四边形、梯形、多边形、圆形、椭圆形及其他各种形状。其中,矩形也包括宽度或高度为一个像素值的退化为线(即线段或线形)的矩形。在本实施例的一帧图像中,各个解码块可以具有各不相同的形状和大小。此外,在本实施例的一帧图像中,某些或全部解码块可以有互相重叠部分,也可以所有解码块都互不重叠。进一步,在一个解码块,可以由“像素”组成,也可以由“像素的分量”组成,也可以由“索引像素”组成,也可以由这3者混合组成,也可以由这3者中之任意2种混合组成,本实施例中对此不作任何限定。从视频图像解码角度,解码块可以是指一帧图像中对其施行解码的一个区域,例如,可以包括但不限于以下至少一种:最大解码单元LCU、解码树单元CTU、解码单元CU、CU的子区域、预测单元PU、变换单元TU。
可选地,在本实施例中,上述扫描区域中像素的扫描顺序包括以下至少之一:水平Z形扫描顺序,垂直Z形扫描顺序,水平弓形扫描顺序,垂直弓形扫描顺序,光栅扫描顺序,Zigzag扫描顺序,锯齿形扫描顺序,对角Z形扫描顺序,对角弓形扫描顺序。
可选地,在本实施例中,上述扫描方式可以包括但不限于以下至少之一:2分裂、4分裂、8分裂及16分裂。其中,多分裂过程中,不同扫描区域的扫描顺序可以相同,也可以不同。本实施例中对此不作任何限定。
例如,图3示出了四种可选的扫描方式参数所指示的扫描:1)对解码块进行水平Z形2分裂扫描;2)对解码块进行水平Z形4分裂扫描;1)对解码块进行垂直Z形2分裂扫描;1)对解码块进行垂直Z形4分裂扫描。又例如,图4-图9示出了不同扫描方式与不同扫描顺序组合得到的多种可选的扫描方式参数所指示的扫描。
可选地,在本实施例中,根据解码参数获取扫描方式参数的方式包括以下至少一种:
1)从解码参数中获取扫描方式参数中的区域指示参数和/或扫描指示参数;
2)提取解码块相邻区域中像素样值的特征参数,其中,特征参数包括纹理特征;根据纹理特征确定解码块的扫描方式参数;
3)根据解码参数获取用于指示编码模式的模式指示参数;从模式指示参数中获取扫描方 式参数。
需要说明的是,解析码流获取直接编码在码流里面的解码参数后,根据解码参数获取扫描方式参数的方式包括以下至少之一:(1)解析码流直接获得扫描方式参数中的区域指示参数和/或扫描指示参数;(2)根据解码块相邻区域中像素样值的特征参数,采用推导的方式获得扫描方式参数中的区域指示参数和/或扫描指示参数;(3)将扫描方式与某些编码模式采用“固定绑定”的形式,即根据解码参数获取用于指示编码模式的模式指示参数,当从模式指示参数中解析到模式标记时,使用为该模式预设的区域指示参数和/或扫描指示参数。
此外,在本实施例中,上述像素(pixel)用于指图像的最小显示单元,一个像素位置上可以有一个(如黑白的灰度图像)或三个(如RGB、YUV)有效采样值,即像素样值(pixel sample(s))。在本实施例中,用于描述位置时,则可使用像素;用于描述处理像素位置上的采样值,则可使用像素样值。
进一步,在方式2)中,可以但不限于判断纹理特征所指示的纹理方向与解码块的边界是否相交来确定解码后的扫描区域。例如,在与解码块的边界相交时,则在与该边界垂直的方向将解码块分成多个扫描区域。
可选地,在本实施例中,根据区域指示参数和/或扫描指示参数确定解码块中部分或全部像素的重构值的方式包括:
1)获取解码块中部分或全部像素的预测值,将预测值作为重构值;或者
2)获取解码块中部分或全部像素的预测值及对应的预测差值,将预测值与预测差值的和值或差值作为重构值。
可选地,在本实施例中,确定解码块中部分或全部像素的预测值包括:确定解码块中部分或全部像素的像素样值的参考值,将参考值作为预测值;根据扫描方式参数确定解码块中部分或全部像素的像素样值的组合,将与样值的组合对应的参考值的组合作为预测值。
可选地,在本实施例中,解析码流获取解码块的解码参数包括:从码流中的数据单元中获取解码参数,其中,数据单元包括以下至少之一:视频参数集、序列参数集、图像参数集、条带头、编码树单元CTU、编码单元CU、解码块所在的数据单元。
具体结合以下示例进行说明,对使用串匹配编码的编码块进行编码的码流,在解码过程中可以将解码块分成不同的扫描区域,为每个扫描区域使用与编码过程相对应的分裂扫描。例如,若编码过程中按照扫描方式参数的指示将一个二维矩阵中的元素排列成一个一维向量过程,则解码过程可以视为编码的逆过程,即将一个一维向量中的元素排列成一个二维矩阵过程。实际代码实现上采用读写地址控制的方法完成。例如,二维像素如下:
[A B C D
E F G H
I J K L
M N O P]
则可以按照与编码过程所用的扫描方式参数对应的扫描方式参数所指示的“弓形4分裂扫描”,将上述二维像素转换为一维排列:[A B C D H G F E I J K L P O N M],实现的伪代码可以如下:
int position[4][4]={0,1,2,3,
7,6,5,4,
8,9,10,11,
15,14,13,12};
for(h=0;h<4;h++)
  for(w=0;w<4;w++)
    1D_array[position[h][w]]=2D_array[h][w];
通过本申请提供的实施例,解析码流获取解码块的解码参数,根据解码参数获取扫描方式参数,其中,扫描方式参数包括:用于确定解码块的扫描区域的区域指示参数,和/或用于确定扫描区域中像素的扫描顺序的扫描指示参数;根据区域指示参数和/或扫描指示参数确定解码块中部分或全部像素的重构值。也就是说,通过采用分裂扫描方式对解码块进行扫描解码。从而实现通过将解码块分成更小的扫描区域,以达到提高解码效率的效果。进而克服现有技术中解码技术中只能通过固定方式扫描所导致的效率较低的问题。
作为一种可选的方案,第二获取单元包括:
1)第一获取模块,设置为从所述解码参数中获取所述扫描方式参数中的所述区域指示参数和/或所述扫描指示参数,得到所述解码块的扫描区域,其中,所述解码块的扫描区域包括以下至少之一:所述解码块作为一个所述扫描区域,所述解码块分成多个所述扫描区域。
可选地,在本实施例中,可以将解码块作为单分裂扫描区域,也可以将解码块分成多分裂扫描区域。
需要说明的是,在本实施例中,可以但不限于判断从解码块相邻区域中像素样值的特征参数包括的纹理特征所指示的纹理方向与解码块的边界是否相交来确定解码后的扫描区域。例如,在与解码块的边界相交时,则在与该边界垂直的方向将解码块分成多个扫描区域。这里,也可以但不限于根据解码块中图像内容的纹理特征(即纹理方向)确定多个扫描区域的划分方向,如多个扫描区域与纹理方向一致。
可选地,在本实施例中,解码过程中的解码扫描顺序可以为预设的扫描顺序,也可以为扫描方式参数指示的扫描顺序。本实施例中对此不作任何限定。
通过本申请提供的实施例,通过根据纹理特征对解码块的分裂扫描,从而保证在对解码块进行扫描解码的过程中,可以同时对不同扫描区域进行分裂扫描,从而实现提高了解码效率的效果。此外,通过对扫描区域设置对应的扫描顺序,从而实现对解码块采用多样化的扫描顺序,以保证解码效率的最大化。
作为一种可选的方案,第二获取单元包括:
1)提取模块,设置为提取解码块相邻区域中像素样值的特征参数,其中,特征参数包括纹理特征;
2)第一确定模块,设置为根据纹理特征确定解码块的扫描方式参数。
通过本申请提供的实施例,通过解码块的图像内容提取纹理特征,利用图像自身的纹理特征确定最佳的扫描方式参数,进一步提高了对解码块进行解码的解压效率。
作为一种可选的方案,提取模块包括:
1)滤波子模块,设置为对解码块相邻区域中已解码像素的重构值进行滤波处理;
2)提取子模块,设置为根据滤波处理的结果提取纹理特征。
可选地,在本实施例中,滤波子模块通过以下步骤实现对解码块相邻区域中已解码像素的重构值进行滤波处理:
S1,对解码块相邻区域中已解码像素的重构值进行边缘检测滤波。
可选地,在本实施例中,上述边缘检测滤波仅是一种实现手段,本实施例中对于获取纹理特征的实现手段不作任何限定。从而实现根据边缘信息确定是否对编码块分扫描区域。进一步,还可以根据检测结果中提取的纹理特征确定扫描区域中像素的扫描顺序。
作为一种可选的方案,第一确定模块包括:
1)判断子模块,设置为判断纹理特征所指示的纹理方向是否与解码块的边界相交;
2)第一划分子模块,设置为在纹理方向与解码块的边界相交时,以纹理方向与解码块的边界的交点所处的位置为原点,在水平或垂直方向上将解码块划分成多个扫描区域;
3)第二划分子模块,设置为在纹理方向与解码块的边界未相交时,将解码块作为一个扫描区域。
可选地,在本实施例中,第一划分子模块通过以下步骤实现以纹理方向与解码块的边界的交点所处的位置为原点,在水平或垂直方向上将解码块分成多个扫描区域包括:
S1,在纹理方向与解码块的横向边界相交时,以纹理方向与解码块的边界的交点所处的位置为原点,在与横向边界相垂直的垂直方向上将解码块分成多个扫描区域;或者
S2,在纹理方向与解码块的纵向边界相交时,以纹理方向与解码块的边界的交点所处的 位置为原点,在与纵向边界相垂直的水平方向上将解码块分成多个扫描区域。
需要说明的是,在本实施例中,为了简化操作,可以但不限于在水平或垂直方向对解码块进行分裂扫描。此外,在本实施例中,也可以但不限于根据解码块中图像内容实际的纹理方向,确定多个扫描区域。也就是说,在与纹理方向一致的方向上分多个平行的扫描区域。
通过本申请提供的实施例,通过判断纹理特征所指示的纹理方向与解码块的边界是否相交,来确定扫描区域。不仅操作简便,而且进一步保证了对解码块的解压效率。
作为一种可选的方案,第一确定模块包括:
1)设置子模块,设置为根据纹理特征所指示的纹理方向设置解码块中扫描区域中像素的扫描顺序。
可选地,在本实施例中,对在多分裂扫描时,对不同扫描区域可以但不限于采用相同的扫描顺序,也可以采用不同的混合扫描顺序。例如,图4-图9为不同扫描方式及不同扫描顺序组合得到的多种混合扫描的示意图。
通过本申请提供的实施例,通过将解码块中一个或多个扫描区域中像素的扫描顺序按照纹理方向设置,进一步实现简化扫描解码的操作,保证了解码效率。
作为一种可选的方案,第二获取单元包括:
1)第二获取模块,设置为根据解码参数获取用于指示编码模式的模式指示参数;或者
2)第三获取模块,设置为从模式指示参数中获取扫描方式参数。
可选地,在本实施例中,将扫描方式与某些编码模式采用“固定绑定”的形式,即根据解码参数获取用于指示编码模式的模式指示参数,当从模式指示参数中解析到模式标记时,使用为该模式预设的区域指示参数和/或扫描指示参数。
作为一种可选的方案,确定单元包括:
1)第四获取模块,设置为获取解码块中部分或全部像素的预测值,将预测值作为重构值;
2)第五获取模块,设置为获取解码块中部分或全部像素的预测值及对应的预测差值,将预测值与预测差值的和值或差值作为重构值。
可选地,在本实施例中,上述像素样值的组合可以但不限于根据不同的扫描区域形成的多个像素样值的组合。上述参考值也可以称为参考样值。
可选地,在本实施例中,第四获取模块包括:
(1)第一确定子模块,设置为确定解码块中部分或全部像素的像素样值的参考值,将参考值作为预测值;
(2)第二确定子模块,设置为根据扫描方式参数确定解码块中部分或全部像素的像素样 值的组合,将与样值的组合对应的参考值的组合作为预测值。
也就是说,上述解码过程可以但不限于为编码过程的逆过程。例如,在确定重构值的过程中,可以解析码流获得预测差(码流中可不传输预测差,此时认为预测差为0),重构值=预测值+预测差。
需要说明的是,由于在本实施例中采用的是有损编码方式,因此为了保证重构值的准确性,在本实施例中上述预测差可以但不限于是从码流中解析后直接获取到。
通过本申请提供的实施例,在对解码块进行分裂扫描的同时,对解码块按照分裂内容进行分裂解码,从而进一步达到提高解码过程中的解压效率的效果。
作为一种可选的方案,第一获取单元包括:
1)解码模块,设置为从码流中的数据单元中获取解码参数,其中,数据单元包括以下至少之一:视频参数集、序列参数集、图像参数集、条带头、编码树单元CTU、编码单元CU、解码块所在的数据单元。
需要说明的是,上述解码可以但不限于通过以下至少一种方式配置:解码器配置、解码器优化模块的设置进行配置、直接在解码器优化模块中使用固定的预解码方式进行配置。其中,解码器可以采用的一种方法是:当上相邻块使用了垂直分裂的分裂扫描方式、且上相邻块中的垂直边缘与上相邻块的下边界相交时,直接推断当前块使用与上相邻块相同的分裂扫描方式,即省去了对当前解码块的预解码过程,从而节省了解码时间,提高了解码效率。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
实施例5
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,确定编码块的扫描方式参数,其中,扫描方式参数包括以下至少之一:用于确定编码块的扫描区域的区域指示参数,用于确定编码块中扫描区域中像素的扫描顺序的扫描指示参数;
S2,根据扫描方式参数确定编码块中部分或全部像素的预测值;
S3,根据预测值对编码块进行编码,并将编码后的编码结果写入码流。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,解析码流获取解码块的解码参数;
S2根据解码参数获取扫描方式参数,其中,扫描方式参数包括:用于确定解码块的扫描区域的区域指示参数,和/或用于确定扫描区域中像素的扫描顺序的扫描指示参数;
S3,根据区域指示参数和/或扫描指示参数确定解码块中部分或全部像素的重构值。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
工业实用性
在本发明实施例的图像编码和/或解码的过程中,通过对编/解码块采用分裂扫描方式进行扫描编/解码,从而实现通过将编/解码块分成更小的扫描区域,以达到提高编码压缩效率及解码解压效率的效果,进而克服现有技术中编码技术中只能通过固定方式扫描所导致的效率较低的问题。

Claims (28)

  1. 一种图像编码方法,包括:
    确定编码块的扫描方式参数,其中,所述扫描方式参数包括以下至少之一:用于确定所述编码块的扫描区域的区域指示参数,用于确定所述编码块中扫描区域中像素的扫描顺序的扫描指示参数;
    根据所述扫描方式参数确定所述编码块中部分或全部像素的预测值;
    根据所述预测值对所述编码块进行编码,并将编码后的编码结果写入码流。
  2. 根据权利要求1所述方法,其中,确定所述编码块的扫描方式参数包括:
    提取所述编码块内像素样值和/或所述编码块相邻区域内像素样值的特征参数;
    根据所述特征参数确定所述编码块的所述扫描方式参数。
  3. 根据权利要求2所述方法,其中,
    提取所述编码块内像素样值和/或所述编码块相邻区域内像素样值的特征参数包括:提取所述编码块内像素样值和/或所述编码块相邻区域内像素样值的纹理特征,其中,所述特征参数包括所述纹理特征;
    根据所述特征参数确定所述编码块的所述扫描方式参数包括:根据所述纹理特征确定所述编码块的所述扫描方式参数。
  4. 根据权利要求3所述方法,其中,提取所述编码块内像素样值和/或所述编码块相邻区域内像素样值的纹理特征包括:
    对所述编码块内像素样值和/或所述编码块相邻区域内像素样值进行滤波处理;
    根据所述滤波处理的结果提取所述纹理特征。
  5. 根据权利要求4所述方法,其中,对所述编码块内像素样值和/或所述编码块相邻区域内像素样值进行滤波处理包括:
    对所述编码块内像素样值和/或所述编码块相邻区域内像素样值进行边缘检测滤波。
  6. 根据权利要求3所述方法,其中,根据所述纹理特征确定所述编码块的所述扫描方式参数包括:
    根据所述纹理特征确定所述扫描方式参数中的所述区域指示参数,得到所述编码块的扫描区域,其中,所述编码块的扫描区域包括以下至少之一:所述编码块作为一个所述扫描区域,所述编码块分成多个所述扫描区域。
  7. 根据权利要求6所述方法,其中,根据所述纹理特征确定所述扫描方式参数中的所述区域指示参数,得到所述编码块的扫描区域包括:
    判断所述纹理特征所指示的纹理方向是否与所述编码块的边界相交;
    在所述纹理方向与所述编码块的边界相交时,以所述纹理方向与所述编码块的边界的交点所处的位置为原点,在水平或垂直方向上将所述编码块分成多个所述扫描区域;
    在所述纹理方向与所述编码块的边界未相交时,将所述编码块作为一个所述扫描区域。
  8. 根据权利要求7所述方法,其中,以所述纹理方向与所述编码块的边界的交点所处的位置为原点,在水平或垂直方向上将所述编码块分成多个所述扫描区域包括:
    在所述纹理方向与所述编码块的横向边界相交时,以所述纹理方向与所述编码块的边界的交点所处的位置为原点,在与所述横向边界相垂直的垂直方向上将所述编码块分成多个所述扫描区域;或者
    在所述纹理方向与所述编码块的纵向边界相交时,以所述纹理方向与所述编码块的边界的交点所处的位置为原点,在与所述纵向边界相垂直的水平方向上将所述编码块分成多个所述扫描区域。
  9. 根据权利要求3所述方法,其中,根据所述纹理特征确定所述编码块的所述扫描方式参数包括:
    根据所述纹理特征所指示的纹理方向设置所述扫描方式参数中的所述扫描指示参数,其中,所述扫描指示参数指示了所述编码块中所述扫描区域中像素的扫描顺序。
  10. 根据权利要求2所述方法,其中,根据所述特征参数确定所述编码块的所述扫描方式参数包括:
    获取所述编码块中所述扫描区域中像素样值的相关度,其中,所述相关度包括以下至少之一:行相关度、列相关度;
    比较所述像素样值的相关度;
    根据所述比较的结果确定所述编码块中所述扫描区域中像素的扫描顺序。
  11. 根据权利要求10所述方法,其中,根据所述比较的结果确定所述编码块中所述扫描区域中像素的扫描顺序包括:
    将所述比较的结果中最大的相关度所指示的顺序设置为所述扫描区域中像素的所述扫描顺序。
  12. 根据权利要求1所述方法,其中,根据所述扫描方式参数确定所述编码块中部分或全部像素的预测值包括:
    确定所述编码块中部分或全部像素的像素样值的参考值,将所述参考值作为所述预测值;
    根据所述扫描方式参数确定所述编码块中部分或全部像素的像素样值的组合,将与所述像素样值的组合对应的参考值的组合作为所述预测值。
  13. 根据权利要求1所述方法,其中,所述区域指示参数指示的所述编码块的扫描区域包括以下至少之一:所述编码块作为一个所述扫描区域,所述编码块分成多个所述扫描区域;所述扫描指示参数指示的所述编码块中所述扫描区域中像素的所述扫描顺序包括以下至少之一:水平Z形扫描顺序,垂直Z形扫描顺序,水平弓形扫描顺序,垂直弓形扫描顺序,光栅扫描顺序,Zigzag扫描顺序,锯齿形扫描顺序,对角Z形扫描顺序,对角弓形扫描顺序。
  14. 根据权利要求1所述方法,其中,将编码后的编码结果写入码流包括:
    将所述编码结果及所述扫描方式参数按照预定格式写入所述码流中的数据单元,其中,所述数据单元包括以下至少之一:视频参数集、序列参数集、图像参数集、条带头、编码树单元CTU、编码单元CU、所述编码块所在的数据单元。
  15. 一种图像解码方法,包括:
    解析码流获取解码块的解码参数;
    根据所述解码参数获取扫描方式参数,其中,所述扫描方式参数包括:用于确定所述解码块的扫描区域的区域指示参数,和/或用于确定所述扫描区域中像素的扫描顺序的扫描指示参数;
    根据所述区域指示参数和/或所述扫描指示参数确定所述解码块中部分或全部像素的重构值。
  16. 根据权利要求15所述方法,其中,根据所述解码参数获取扫描方式参数包括:
    从所述解码参数中获取所述扫描方式参数中的所述区域指示参数和/或所述扫描指示参数,得到所述解码块的扫描区域,其中,所述解码块的扫描区域包括以下至少之一:所述解码块作为一个所述扫描区域,所述解码块分成多个所述扫描区域。
  17. 根据权利要求15所述方法,其中,根据所述解码参数获取扫描方式参数包括:
    提取所述解码块相邻区域中像素样值的特征参数,其中,所述特征参数包括纹理特征;
    根据所述纹理特征确定所述解码块的所述扫描方式参数。
  18. 根据权利要求17所述方法,其中,提取所述解码块的相邻区域的特征参数包括:
    对所述解码块相邻区域中已解码像素的重构值进行滤波处理;
    根据所述滤波处理的结果提取所述纹理特征。
  19. 根据权利要求17所述方法,其中,对所述解码块相邻区域中已解码像素的重构值进行滤 波处理包括:
    对所述解码块相邻区域中已解码像素的重构值进行边缘检测滤波。
  20. 根据权利要求17所述方法,其中,根据所述纹理特征确定所述解码块的所述扫描方式参数包括:
    判断所述纹理特征所指示的纹理方向是否与所述解码块的边界相交;
    在所述纹理方向与所述解码块的边界相交时,以所述纹理方向与所述解码块的边界的交点所处的位置为原点,在水平或垂直方向上将所述解码块分成多个所述扫描区域;
    在所述纹理方向与所述解码块的边界未相交时,将所述解码块作为一个所述扫描区域。
  21. 根据权利要求17所述方法,其中,根据所述纹理特征确定所述解码块的所述扫描方式参数包括:
    根据所述纹理特征所指示的纹理方向设置所述解码块中所述扫描区域中像素的扫描顺序。
  22. 根据权利要求15所述方法,其中,根据所述解码参数获取扫描方式参数包括:
    根据所述解码参数获取用于指示编码模式的模式指示参数;
    从所述模式指示参数中获取所述扫描方式参数。
  23. 根据权利要求15所述方法,其中,根据所述区域指示参数和/或所述扫描指示参数确定所述解码块中部分或全部像素的重构值包括:
    获取所述解码块中部分或全部像素的预测值,将所述预测值作为所述重构值;或者
    获取所述解码块中部分或全部像素的预测值及对应的预测差值,将所述预测值与所述预测差值的和值或差值作为所述重构值。
  24. 根据权利要求23所述方法,其中,获取所述解码块中部分或全部像素的预测值包括:
    确定所述解码块中部分或全部像素的像素样值的参考值,将所述参考值作为所述预测值;
    根据所述扫描方式参数确定所述解码块中部分或全部像素的像素样值的组合,将与所述样值的组合对应的参考值的组合作为所述预测值。
  25. 根据权利要求15所述方法,其中,所述区域指示参数指示的所述解码块的扫描区域包括以下至少之一:所述解码块作为一个所述扫描区域,所述解码块分成多个所述扫描区域;所述扫描指示参数指示的所述解码块中所述扫描区域中像素的所述扫描顺序包括以下至少之一:水平Z形扫描顺序,垂直Z形扫描顺序,水平弓形扫描顺序,垂直弓形扫描顺 序,光栅扫描顺序,Zigzag扫描顺序,锯齿形扫描顺序,对角Z形扫描顺序,对角弓形扫描顺序。
  26. 根据权利要求15所述方法,其中,解析码流获取解码块的解码参数包括:
    从所述码流中的数据单元中获取所述解码参数,其中,所述数据单元包括以下至少之一:视频参数集、序列参数集、图像参数集、条带头、编码树单元CTU、编码单元CU、所述解码块所在的数据单元。
  27. 一种图像编码装置,包括:
    第一确定单元,设置为确定编码块的扫描方式参数,其中,所述扫描方式参数包括以下至少之一:用于确定所述编码块的扫描区域的区域指示参数,用于确定所述编码块中扫描区域中像素的扫描顺序的扫描指示参数;
    第二确定单元,设置为根据所述扫描方式参数确定所述编码块中部分或全部像素的预测值;
    编码单元,设置为根据所述预测值对所述编码块进行编码,并将编码后的编码结果写入码流。
  28. 一种图像解码装置,包括:
    第一获取单元,设置为解析码流获取解码块的解码参数;
    第二获取单元,设置为根据所述解码参数获取扫描方式参数,其中,所述扫描方式参数包括:用于确定所述解码块的扫描区域的区域指示参数,和/或用于确定所述扫描区域中像素的扫描顺序的扫描指示参数;
    确定单元,设置为根据所述区域指示参数和/或所述扫描指示参数确定所述解码块中部分或全部像素的重构值。
PCT/CN2016/073603 2015-02-08 2016-02-05 图像编码方法和装置及图像解码方法和装置 WO2016124154A1 (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US15/549,408 US10750180B2 (en) 2015-02-08 2016-02-05 Image coding method and apparatus, and image decoding method and apparatus
EP16746149.0A EP3255891A4 (en) 2015-02-08 2016-02-05 Image coding method and apparatus, and image decoding method and apparatus
KR1020177025369A KR102532391B1 (ko) 2015-02-08 2016-02-05 영상 부호화 방법과 장치 및 영상 복호화 방법과 장치
EP22211751.7A EP4164226A1 (en) 2015-02-08 2016-02-05 Image coding method and apparatus, and image decoding method and apparatus
JP2017541640A JP6794364B2 (ja) 2015-02-08 2016-02-05 画像符号化方法及び装置並びに画像復号方法及び装置
US16/927,093 US11431977B2 (en) 2015-02-08 2020-07-13 Image coding method and apparatus, and image decoding method and apparatus

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201510063069 2015-02-08
CN201510063069.3 2015-02-08
CN201610079054.0A CN105872539B (zh) 2015-02-08 2016-02-03 图像编码方法和装置及图像解码方法和装置
CN201610079054.0 2016-02-03

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/549,408 A-371-Of-International US10750180B2 (en) 2015-02-08 2016-02-05 Image coding method and apparatus, and image decoding method and apparatus
US16/927,093 Division US11431977B2 (en) 2015-02-08 2020-07-13 Image coding method and apparatus, and image decoding method and apparatus

Publications (1)

Publication Number Publication Date
WO2016124154A1 true WO2016124154A1 (zh) 2016-08-11

Family

ID=56563479

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/073603 WO2016124154A1 (zh) 2015-02-08 2016-02-05 图像编码方法和装置及图像解码方法和装置

Country Status (1)

Country Link
WO (1) WO2016124154A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770540A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 融合多种具有不同参考关系的基元的数据压缩方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1665301A (zh) * 2005-03-07 2005-09-07 清华大学 一种视频编解码中的自适应的扫描方法
CN1829329A (zh) * 2002-04-29 2006-09-06 诺基亚有限公司 指示图像内的区域
WO2008020672A1 (en) * 2006-08-17 2008-02-21 Electronics And Telecommunications Research Institute Apparatus for encoding and decoding image using adaptive dct coefficient scanning based on pixel similarity and method therefor
CN101389021A (zh) * 2007-09-14 2009-03-18 华为技术有限公司 视频编解码方法及装置
EP2306732A1 (en) * 2008-06-27 2011-04-06 Fujitsu Limited Image compression device and image restoration device
CN104244007A (zh) * 2013-06-13 2014-12-24 上海天荷电子信息有限公司 基于任意形状匹配的图像压缩方法和装置
GB2521117A (en) * 2013-10-25 2015-06-17 Canon Kk Method of encoding or decoding a video frame

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1829329A (zh) * 2002-04-29 2006-09-06 诺基亚有限公司 指示图像内的区域
CN1665301A (zh) * 2005-03-07 2005-09-07 清华大学 一种视频编解码中的自适应的扫描方法
WO2008020672A1 (en) * 2006-08-17 2008-02-21 Electronics And Telecommunications Research Institute Apparatus for encoding and decoding image using adaptive dct coefficient scanning based on pixel similarity and method therefor
CN101389021A (zh) * 2007-09-14 2009-03-18 华为技术有限公司 视频编解码方法及装置
EP2306732A1 (en) * 2008-06-27 2011-04-06 Fujitsu Limited Image compression device and image restoration device
CN104244007A (zh) * 2013-06-13 2014-12-24 上海天荷电子信息有限公司 基于任意形状匹配的图像压缩方法和装置
GB2521117A (en) * 2013-10-25 2015-06-17 Canon Kk Method of encoding or decoding a video frame

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3255891A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770540A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 融合多种具有不同参考关系的基元的数据压缩方法和装置
CN107770540B (zh) * 2016-08-21 2024-01-09 上海天荷电子信息有限公司 融合多种具有不同参考关系的基元的数据压缩方法和装置

Similar Documents

Publication Publication Date Title
CN105491376B (zh) 图像编码、解码方法及装置
WO2015120823A1 (zh) 使用多种形式的参考像素存储空间的图像压缩方法和装置
CN104754362B (zh) 使用精细划分块匹配的图像压缩方法
US11431977B2 (en) Image coding method and apparatus, and image decoding method and apparatus
KR101946598B1 (ko) 이미지 코딩, 디코딩 방법 및 장치
CN105847842B (zh) 图像编码方法及装置、图像解码方法及装置
US20220417535A1 (en) Image encoding and decoding methods, image processing device, and computer storage medium
US11653019B2 (en) Image coding and decoding methods, image processing device and computer storage medium
EP3310059A1 (en) Image encoding and decoding method, image processing device, and computer storage medium
CN105992003B (zh) 依据排序或频度对调色板颜色编号的图像压缩方法和装置
WO2016202189A1 (zh) 图像编码及解码方法、图像处理设备、计算机存储介质
CN106303535B (zh) 参考像素取自不同程度重构像素的图像压缩方法和装置
CN106303534B (zh) 多种索引串与像素串融合复制方式的图像压缩方法和装置
WO2016124154A1 (zh) 图像编码方法和装置及图像解码方法和装置
WO2016197893A1 (zh) 图像编码及解码方法、图像处理设备、计算机存储介质
WO2016119746A1 (zh) 图像编码方法及装置、图像解码方法及装置
CN105828080B (zh) 图像编解码方法及装置
CN105828079B (zh) 图像处理方法及装置
WO2016119666A1 (zh) 图像编解码方法及装置
CN115190316A (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: 16746149

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017541640

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2016746149

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20177025369

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15549408

Country of ref document: US