WO2016045581A1 - 编码方法、解码方法、装置及电子设备 - Google Patents

编码方法、解码方法、装置及电子设备 Download PDF

Info

Publication number
WO2016045581A1
WO2016045581A1 PCT/CN2015/090297 CN2015090297W WO2016045581A1 WO 2016045581 A1 WO2016045581 A1 WO 2016045581A1 CN 2015090297 W CN2015090297 W CN 2015090297W WO 2016045581 A1 WO2016045581 A1 WO 2016045581A1
Authority
WO
WIPO (PCT)
Prior art keywords
block unit
block
filtering
local
reconstruction
Prior art date
Application number
PCT/CN2015/090297
Other languages
English (en)
French (fr)
Inventor
李明
吴平
尚国强
谢玉堂
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to US15/513,495 priority Critical patent/US20170302958A1/en
Priority to EP15845163.3A priority patent/EP3200459B1/en
Publication of WO2016045581A1 publication Critical patent/WO2016045581A1/zh
Priority to US17/531,518 priority patent/US20220078479A1/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/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Definitions

  • the present invention relates to the field of communications, and in particular to an encoding method, a decoding method, an apparatus, and an electronic device.
  • Intra Block Copying (IBC) mode is adopted in the Screen Content Coding (SCC) standard based on the H.265/High Efficiency Video Coding (HEVC) standard extension. .
  • SCC Screen Content Coding
  • HEVC High Efficiency Video Coding
  • the IBC allows the use of one two-dimensional pixel block that has been recovered within the current image as the prediction block for the current block, while The IBC uses the relative offset between the prediction block and the current block to locate the prediction reference block, which is called a Block Copying Vector (BV).
  • BV Block Copying Vector
  • the pixel sample values in the prediction block pointed to by the BV are not subjected to Deblocking Filtering (DF) processing.
  • DF Deblocking Filtering
  • the loop filtering process (including Deblocking Filter (DF) and Sample Adaptive Offset Filter (SAO)) is in units of images.
  • the filtering process is performed after the image is reconstructed and placed in the Decoded Picture Buffer (DPB).
  • DPB Decoded Picture Buffer
  • loop filtering is usually performed at the block level, ie without waiting for the entire image to complete reconstruction. In this way, the data processing efficiency of the encoder and the decoder including the loop filtering module can be improved by rationally arranging the processing flow at the block layer.
  • DF if the pixel points included in the current block are not used as neighboring block intra prediction reference pixels, and adjacent block pixels are available, DF can be used for the current block; for SAO When the pixel points included in the current block are not used as adjacent block intra prediction reference pixels, the SAO can be used for the current block. Since the SAO is a filter connected in series after the DF, the judgment condition of the DF can be uniformly used as a judgment condition for using the loop filter for the current block. Since the block division mode of the intra prediction is relatively regular and the reference pixel position used is fixed, in the encoder and the decoder, the loop filtering processing pipeline can delay a fixed number of coding unit blocks after the block reconstruction pipeline. The operation of the block layer loop filtering is implemented in a manner of re-executing (guaranteeing the DF condition).
  • the IBC constructs the prediction block of the current block by using the pixels in the current image that have been recovered but not processed by the loop filtering. Therefore, in addition to the judgment conditions of the foregoing layer DF and SAO, the loop filter pipeline must also determine the pixel points in the target block. The pixel points in the target block can be loop filtered when they are no longer used as construction prediction blocks by other IBC mode blocks in the current image.
  • the IBC uses the BV indication to predict the reference block, which makes the pixel in any target block in the current image possible as any subsequent IBC.
  • the prediction reference block of the block does not have a simple method of judging and performing block layer loop filtering by delay loop filtering water flow as in the aforementioned intra prediction mode.
  • the encoder since it is impossible to determine whether the pixel point in the current coding block is used as an IBC reference of the subsequent coding block, the encoder needs to determine the loop filtering parameter and perform the reconstructed image after completing the entire image block reconstruction.
  • Loop filtering adds the filtered output image to the DPB, adding an image delay to the data processing flow.
  • one way is to wait for the image reconstruction and then perform the loop filtering operation, which will add an image delay to the data processing flow; the other way is to analyze the code stream in advance to determine each IBC block.
  • the BV points to the position of the reference block, and then arranges the loop filter pipeline to perform the block layer loop filtering operation, but this method disturbs the structure between the code stream parsing pipeline and the block layer reconstruction pipeline, and because the BV size is different. Loop logic filtering is not performed at regular timing intervals, which increases the complexity of the decoder.
  • the loop The filtering pipeline needs to wait for the entire image to be reconstructed before executing, that is, waiting for an image delay between the block layer reconstruction and the loop filtering, which greatly reduces the data processing efficiency of the encoder (or decoder). .
  • the above problem also occurs in the SCC string matching method (String Matching).
  • the string matching method can be regarded as an IBC whose prediction block partition size is Nx1 or 1xN, where N is the width or height of the prediction block.
  • the embodiments of the present invention provide an encoding method, a decoding method, a device, and an electronic device, so as to at least solve the problem that the BV range cannot be determined after referring to the IBC in the related art, so that the data processing efficiency is reduced.
  • an encoding method comprising: determining restriction range information of a block copy vector BV of an intra block copy IBC mode; and writing the restriction range information to a code stream.
  • the method before or after the limiting range information is written into the code stream, the method further includes: performing loop filtering on the reconstructed block according to the limited range information.
  • determining the limit range information of the block copy vector BV of the intra block copy IBC mode includes at least one of: determining a first limit range of the BV according to the profile profile, the level tier, and the level level used; a tile tile of the image, a slice slice boundary, determining a second limit range of the BV; determining a third limit range of the BV according to a negotiation with the decoder capability; and the first limit range, the second limit range, and The intersection of the third limit range is the fourth limit range of the BV of the IBC mode used in the encoding process.
  • the writing of the restriction range information into the code stream includes: writing information of the first restriction range of the BV into at least one of the following data units: a grade, a level, a level information in the video parameter set VPS, and a sequence parameter.
  • performing loop filtering on the reconstructed block according to the limited range information includes: determining a waiting duration between the block layer reconstruction process and the loop filtering process according to the restricted range information.
  • the traditional intra prediction mode directly uses the adjacent pixel of the current coding block as a reference pixel to construct a prediction block, where the position of the adjacent pixel of the traditional intra prediction mode is preset. , does not use position offset vector indication.
  • the method further includes: limiting the ninth range to the tile where the first block unit is located according to the tile division information of the current image and/or the starting location of the slice where the first block unit is located And / or within the scope of the slice.
  • performing loop filtering on the reconstructed block according to the restricted range information includes: determining, according to the restricted range information, whether a loop filtering process can be performed on the existing local reconstructed block.
  • determining, according to the limitation range information, whether the existing local reconstruction block can be subjected to the loop filtering process comprises: determining that the current block unit has been reconstructed and not performed according to the coding order after performing local reconstruction on the current block unit.
  • Condition 1 The right boundary and the lower boundary pixel of the local reconstructed block unit to be determined have not been used as the intra prediction reference of the pixel in the block unit after the current local reconstructed block unit
  • Condition 2 the lower boundary pixel in the right boundary neighboring block unit of the local reconstructed block unit to be determined is not used as the intra prediction reference of the pixel point in the block unit of the block unit after the current local reconstructed block unit
  • Condition 3 The right boundary pixel in the lower boundary neighboring block unit of the determined local reconstructed block unit is not used as an intra prediction reference for the pixel point in the block unit after the current local reconstructed block unit; according to the local reconstructed block unit pair to be determined
  • the loop filtering process is performed when the conditions are satisfied.
  • performing loop filtering processing according to the condition that the condition is satisfied by the local reconstruction block unit to be determined includes at least one of the following: when the condition one, the condition two, and the condition three are simultaneously satisfied, The local reconstruction block unit to be determined completes the DF processing in the horizontal direction and/or the vertical direction that is not performed, and marks the position of the boundary of the localized reconstruction block of the local reconstruction block unit and the filtering thereof The attribute of the operation; the local reconstruction block outputted by the DF processing is filtered by the sampling point adaptive additive offset filter SAO; when the condition 1 and the condition 2 are satisfied, the local reconstruction block unit to be determined is The pixel to be filtered in the horizontal direction DF is not in the loop filter The DF module in the wave module performs horizontal DF on it, marks the position of the boundary where the filter has been filtered, and the attributes of the filtering operation; determines whether the local reconstruction block output by the DF processing has been subjected to DF filtering in both the vertical direction and the horizontal direction.
  • the filtering process is performed by using the SAO; when the condition 1 and the condition 3 are satisfied, the pixel to be filtered in the vertical reconstruction DF in the local reconstruction block unit to be determined is in the loop filtering module.
  • the DF module performs vertical direction DF on it, marks the position of the boundary where the filter has been filtered, and the attributes of the filtering operation; determines whether the local reconstruction block output by the DF processing has been subjected to DF filtering in both the vertical direction and the horizontal direction, and if so, The filtering process is performed using the SAO; otherwise, the local reconstruction block unit to be determined is not subjected to filtering processing using DF and SAO.
  • the loop is performed on the current local reconstruction block unit. Filter processing.
  • M is the number of minimum block units included between the current local reconstructed block unit and the corresponding block unit.
  • performing the loop filtering process on the current local reconstruction block unit includes: performing DF processing in the horizontal direction and/or the vertical direction that is not performed on the local reconstruction block unit, where the local reconstruction block unit is The local reconstruction block of the adjacent coding block marks the position of the boundary where the filtering has been performed and the attribute of the filtering operation; the local reconstruction block outputted by the DF processing is subjected to filtering processing using the SAO.
  • determining, according to the limitation range information, a waiting duration for performing loop filtering on the current local reconstruction block unit includes: when the current local reconstruction block unit satisfies the following condition 1 and condition 2, the current local reconstruction block unit and the corresponding The number of block units eM included between the block units, when the current local reconstructed block unit satisfies the following condition 1 and condition 3, the number of block units included between the current local reconstructed block unit and the corresponding block unit vM, wherein Condition 1: The right and lower boundary pixels of the local reconstructed block unit to be determined have not been used as the intra prediction reference of the pixel in the block unit after the current local reconstructed block unit; Condition 2: The local reconstructed block unit to be determined The lower boundary pixel in the right boundary neighboring block unit is not used as the intra prediction reference of the pixel point in the block unit after the current local reconstructed block unit; Condition 3: the lower boundary adjacent block unit of the local reconstructed block unit to be determined The right boundary pixel in the frame is not used as
  • performing loop filtering processing on the current local reconstruction block unit according to the relationship between the eM and the vM includes at least one of the following cases: Case 1: The value of the eM is equal to vM; in this case, at the current local state.
  • the local reconstruction block outputted by the DF processing is filtered by using the SAO Case 2:
  • the value of eM is less than vM; in this case, after the current local reconstruction of the block unit, in accordance with the coding order, after waiting for outputting the pixel point local reconstruction value covered by the eM block unit, the current The local reconstruction block unit performs DF filtering in the vertical direction, and marks the vertical direction filtering of the DF, and continues to wait for the local reconstruction module to output the pixel point reconstruction values covered by the vM-eM block units, and
  • the method further includes: performing loop filtering on the reconstruction block according to the limitation range.
  • performing loop filtering on the reconstructed block according to the limited range information includes: determining a waiting duration between the block layer reconstruction process and the loop filtering process according to the restricted range information.
  • the method further includes: after the block layer reconstruction process starts to execute, after the waiting duration, the loop filtering The process begins execution.
  • determining, according to the restriction range information, a last block unit in which an IBC block in which a pixel point in a current first block unit is used as a reference is used as a second block unit; determining the first according to a decoding order a block unit and a second block unit and a block unit therebetween as a fourth range; a union of the fourth range and a block unit range used in a conventional intra prediction mode as a fifth range; The number of block units included between one unit and the last block unit of the fifth range as the waiting time.
  • the method further includes: limiting the fifth range to the tile where the first block unit is located according to the tile partitioning information of the current image and/or the starting location of the fragment where the first block unit is located And / or within the scope of the slice.
  • the block unit range used in the traditional intra prediction mode includes a union of at least one of the following ranges or at least two of the following ranges: according to the decoding order of the block unit, according to the size of the block unit and the intra prediction
  • the maximum number of adjacent reference pixel points that need to be used in the process determining the block unit range using the right and lower boundary pixel points of the block unit as the intra prediction reference as the first range; determining to perform the block unit
  • the neighboring block unit used by the block filtering DF determines, for the right adjacent block unit, a block unit range whose pixel point on the lower boundary is used as an intra prediction reference.
  • the second range for the lower adjacent block unit, the pixel unit on the right boundary thereof is determined to serve as the block unit range of the intra prediction reference as the third range.
  • performing loop filtering on the reconstructed block according to the restricted range information includes: determining, according to the restricted range information, whether a loop filtering process can be performed on the existing local reconstructed block.
  • determining, according to the limitation range information, whether the existing local reconstruction block can be subjected to loop filtering processing includes: determining, after decoding the current block unit, the current block unit has been reconstructed and not performed according to the decoding order. Whether the block unit processed by the loop filtering satisfies the following condition: Condition 1: The right boundary and the lower boundary pixel of the local reconstructed block unit to be determined have not been used as the intra prediction reference of the pixel in the block unit after the current local reconstructed block unit Condition 2: the lower boundary pixel in the right boundary neighboring block unit of the local reconstructed block unit to be determined is not used as the intra prediction reference of the pixel point in the block unit of the block unit after the current local reconstructed block unit; Condition 3: The right boundary pixel in the lower boundary neighboring block unit of the determined local reconstructed block unit is not used as an intra prediction reference for the pixel point in the block unit after the current local reconstructed block unit; according to the local reconstructed block unit pair to be determined.
  • performing loop filtering processing according to the condition that the condition is satisfied by the local reconstruction block unit to be determined includes at least one of the following: when the condition one, the condition two, and the condition three are simultaneously satisfied, The local reconstruction block unit to be determined completes the DF processing in the horizontal direction and/or the vertical direction that is not performed, and marks the position of the boundary of the local reconstruction block of the adjacent reconstruction block of the local reconstruction block unit and the filtering
  • the location and the properties of the filtering operation determining whether the local reconstruction block output by the DF processing has been subjected to DF filtering in both the vertical direction and the horizontal direction, and if so, using SAO for filtering processing; otherwise, the local reconstruction to be determined is not performed.
  • the block unit uses DF and SAO for filtering processing.
  • performing loop filtering on the reconstructed block according to the restricted range information includes: determining, according to the restricted range information, a waiting duration for performing loop filtering on the current local reconstructed block unit.
  • determining, according to the limitation range information, a waiting duration for performing loop filtering on the current local reconstruction block unit includes: determining that the current local reconstruction block unit satisfies the following condition simultaneously: Condition 1: Local reconstruction block unit to be determined The right and lower boundary pixels have not been used as the intra prediction reference for the pixel points in the block unit after the current local reconstruction block unit; Condition 2: the lower boundary in the right boundary adjacent block unit of the local reconstruction block unit to be determined The pixel point is not used as an intra prediction reference for a pixel point in a block unit after the current local reconstruction block unit; Condition 3: the right boundary pixel point in the lower boundary adjacent block unit of the local reconstruction block unit to be determined is not used as the current local reconstruction An intra prediction reference for a pixel in a block unit following a block unit.
  • M is the number of minimum block units included between the current local reconstructed block unit and the corresponding block unit.
  • performing the loop filtering process on the current local reconstruction block unit includes: performing DF processing in the horizontal direction and/or the vertical direction that is not performed on the local reconstruction block unit, where the local reconstruction block unit is The local reconstruction block of the adjacent decoding block marks the position of the boundary where the filtering has been performed and the attribute of the filtering operation; the local reconstruction block outputted by the DF processing uses the SAO for filtering processing.
  • determining, according to the limitation range information, a waiting duration for performing loop filtering on the current local reconstruction block unit includes: when the current local reconstruction block unit satisfies both the condition 1 and the condition 2, the current local reconstruction block unit and the corresponding block The number of block units eM included between the units, the number of block units included between the current local reconstructed block unit and the corresponding block unit when the current local reconstructed block unit satisfies both the condition 1 and the condition 3, wherein: the condition a: the right boundary and the lower boundary pixel of the local reconstructed block unit to be determined have not been used as the intra prediction reference of the pixel in the block unit after the current local reconstructed block unit; Condition 2: the right of the local reconstructed block unit to be determined The lower boundary pixel in the boundary neighboring block unit is not used as the intra prediction reference of the pixel point in the block unit after the current local reconstructed block unit; Condition 3: in the lower boundary adjacent block unit of the local reconstructed block unit to be determined The right boundary pixel
  • performing loop filtering processing on the current local reconstruction block unit according to the relationship between the eM and the vM includes at least one of the following cases: Case 1: The value of the eM is equal to vM; in this case, at the current local state. After reconstructing the block unit, after waiting for outputting the pixel point local reconstruction value covered by the eM or vM block unit according to the decoding order, performing loop filtering processing on the current local reconstruction block unit;
  • the local reconstruction block outputted by the DF processing is filtered by the SAO;
  • Case 2 the value of the eM is less than vM; in this case, after the current local reconstruction of the block unit, the eM is outputted in accordance with the decoding order.
  • the current local reconstruction block unit is subjected to DF filtering in the horizontal direction, and the horizontal direction filtering of the DF has been marked, and the local reconstruction module continues to wait for the output of the vM-eM block unit.
  • the current local reconstruction block unit After the covered pixel point reconstruction value, the current local reconstruction block unit is subjected to DF filtering in the vertical direction, and the vertical direction filtering of the DF is marked; the local reconstruction block outputted by the DF processing is filtered by the SAO; : The value of eM is greater than vM; in this case, after the current local reconstruction of the block unit, in the decoding order, waiting for the input After the pixel local reconstruction value covered by the vM block unit, the current local reconstruction block unit is subjected to vertical DF filtering, and the vertical direction filtering of the DF is marked, and the local reconstruction module continues to wait for the output of the eM–vM After the pixel point local reconstruction value covered by the block unit, the current local reconstruction block unit is subjected to DF filtering in the horizontal direction, and the horizontal direction filtering of the DF is marked; and the local reconstruction block outputted by the DF processing is filtered by using the SAO. .
  • an encoding apparatus including: a first determining module configured to determine limit range information of a block copy vector BV of an intra block copy IBC mode; and a write module configured to The limit range information is written to the code stream.
  • the apparatus includes: a first loop filtering module, configured to perform loop filtering on the reconstructed block according to the limited range information.
  • a decoding apparatus comprising: an obtaining module, configured to acquire, from a code stream, restriction range information of an intra block copy IBC mode block copy vector BV; and a second determining module, It is set to determine a limit range of the BV of the IBC mode according to the limit range information.
  • the apparatus further includes: a second loop filtering module, configured to perform loop filtering on the reconstructed block according to the limit range.
  • an electronic device comprising the above encoding device, and/or comprising the above decoding device.
  • the electronic device includes: a related code stream generating device and/or a receiving and playing device in a video communication application.
  • the electronic device includes: a mobile phone, a computer, a server, a set top box, a portable mobile terminal, a digital camera, and a television broadcast system device.
  • the limitation range information of the block copy vector of the intra block copy mode is determined; and the limitation range information is written into the code stream, and the BV range cannot be determined after referring to the IBC in the related art, so that the data is
  • the problem of reduced processing efficiency can improve the efficiency of data processing, and at the same time ensure the smooth implementation of the encoding or decoding process.
  • FIG. 1 is a flow chart of an encoding method in accordance with an embodiment of the present invention.
  • FIG. 2 is a block diagram showing the structure of an encoding apparatus according to an embodiment of the present invention.
  • FIG. 3 is a flow chart of a decoding method in accordance with an embodiment of the present invention.
  • FIG. 4 is a block diagram showing the structure of a decoding apparatus according to an embodiment of the present invention.
  • FIG. 1 is a flowchart of an encoding method according to an embodiment of the present invention. As shown in FIG. 1, the method includes the following steps:
  • Step S102 determining limit range information of a block copy vector (BV) of an intra block copy (IBC) mode
  • the limitation range information of the BV is written into the code stream in the encoding process, so that other devices can obtain the limitation range information of the BV from the code stream, thereby determining the limitation range of the BV, so that the impact of the IBC. It has been effectively controlled, and solves the problem that the BV range cannot be determined after referring to the IBC in the related art, which makes the data processing efficiency lower, can improve the data processing efficiency, and can also ensure the smooth implementation of the encoding or decoding process.
  • determining the restriction range information of the block copy vector BV of the intra block copy IBC mode may include at least one of: determining a BV according to a profile, a tier, and a level used thereof. a first limit range; determining a second limit range of the BV according to a tile (Tile) and a slice boundary of the image; determining a third limit range of the BV according to a negotiation with the decoder capability; An intersection of a limit range, the second limit range, and the third limit range as a fourth limit range of the BV of the IBC mode used in the encoding process.
  • performing loop filtering on the reconstructed block according to the restricted range information includes: determining a waiting duration between the block layer reconstruction process and the loop filtering process according to the restricted range information.
  • the last block unit where the IBC block in the current first block unit is used as the reference is determined as the second block unit according to the limitation range information; and the first block is determined according to the coding order.
  • a unit and a second block unit and a block unit therebetween as an eighth range
  • a union of the eighth range and a block unit range used in a conventional intra prediction mode as a ninth range
  • the number of block units included between the block unit and the last block unit of the ninth range as the waiting time.
  • the loop filtering process may be executed after the execution of the block layer reconstruction process, after the waiting time.
  • the conventional intra prediction mode is to construct a prediction block by directly using adjacent pixel points of the current coding block as reference pixel points. Wherein, the position of the adjacent pixel point of the traditional intra prediction mode is preset, and the position offset vector indication is not used.
  • the block unit mentioned herein may include at least one of the following: a Coding Unit (CU), a minimum CU, a Maximum Transform Unit (TU), a minimum TU, and the like.
  • the current coding block may refer to a CU, a PU, and a TU
  • the prediction block of the traditional intra prediction mode is a prediction block constructed for the TU.
  • the ninth range may be limited to the Tile and/or the part where the first block unit is located according to the tile division information of the current image and/or the starting position of the slice where the first block unit is located. Within the scope of the film.
  • the block unit range used in the above-mentioned conventional intra prediction mode may include a union of two or more ranges in at least one of the following ranges or ranges: according to the coding order of the block unit, according to the size and frame of the block unit The maximum number of adjacent reference pixel points that need to be used in the intra prediction process, determining the block unit range using the right and lower boundary pixel points that may use the block unit as the intra prediction reference as the fifth range; determining the pair of block units A neighboring block unit used for deblocking filtering (DF) is performed, and for right neighboring block units, a block unit range whose pixel point on the lower boundary is used as an intra prediction reference is determined as the sixth range; The adjacent block unit determines the block unit range whose pixel on the right border is used as the intra prediction reference as the seventh range.
  • DF deblocking filtering
  • performing loop filtering on the reconstructed block according to the restricted range information includes: determining, according to the restricted range information, whether a loop filtering process can be performed on the existing local reconstructed block. Specifically, after performing local reconstruction on the current block unit, it is determined according to the coding order whether the block unit that has been reconstructed before the current block unit and is not subjected to loop filtering processing satisfies the following conditions:
  • Condition one the right boundary and the lower boundary pixel of the local reconstruction block unit to be determined have not been used as the intra prediction reference of the pixel point in the block unit after the current local reconstruction block unit;
  • Condition 2 the lower boundary pixel in the right boundary neighboring block unit of the local reconstructed block unit to be determined is not used as the intra prediction reference of the pixel point in the block unit of the block unit after the current local reconstructed block unit;
  • Condition three the lower boundary pixel in the lower boundary adjacent block unit of the local reconstructed block unit to be determined is not used as the intra prediction reference of the pixel point in the block unit after the current local reconstructed block unit;
  • performing loop filtering processing according to the condition that the condition is satisfied by the local reconstruction block unit to be determined includes at least one of the following:
  • the DF module in the loop filtering module performs the horizontal direction DF on the pixel to be filtered in the horizontal reconstruction DF in the local reconstruction block unit to be determined.
  • the DF module in the loop filtering module performs vertical direction DF on the pixel to be filtered in the local reconstruction block unit to be determined.
  • the local reconstruction block unit to be determined is not used for filtering processing using DF and SAO.
  • performing loop filtering on the reconstructed block according to the restricted range information may include: determining, according to the restricted range information, a waiting duration for performing loop filtering on the current local reconstructed block unit. Specifically, it is determined that the current local reconstruction block unit satisfies the following conditions simultaneously:
  • Condition one the right boundary and the lower boundary pixel of the local reconstruction block unit to be determined have not been used as the intra prediction reference of the pixel point in the block unit after the current local reconstruction block unit;
  • Condition 2 the lower boundary pixel in the right boundary adjacent block unit of the local reconstructed block unit to be determined is not used as the intra prediction reference of the pixel point in the block unit after the current local reconstructed block unit;
  • Condition 3 The lower boundary pixel in the lower boundary adjacent block unit of the local reconstructed block unit to be determined is not used as the intra prediction reference of the pixel point in the block unit after the current local reconstructed block unit.
  • the current local reconstruction block unit after the current local reconstruction block unit, according to the coding sequence, after the local reconstruction module outputs the pixel point reconstruction value covered by the M block units, the current local reconstruction block unit is subjected to loop filtering processing.
  • M may be the number of smallest block units included between the current local reconstructed block unit and the corresponding block unit.
  • the performing a loop filtering process on the current local reconstructed block unit may include performing unfinished horizontal and/or vertical DF processing on the local reconstructed block unit, and performing adjacent coding on the local reconstructed block unit.
  • the local reconstruction block of the block marks the position of the boundary where it has been filtered and the properties of the filtering operation; the local reconstruction block outputted by the DF processing is filtered using SAO.
  • Condition 2 the lower boundary pixel in the right boundary adjacent block unit of the local reconstructed block unit to be determined is not used as the intra prediction reference of the pixel point in the block unit after the current local reconstructed block unit;
  • the current local reconstruction block unit is subjected to loop filtering processing.
  • performing loop filtering processing on the current local reconstruction block unit may include at least one of the following situations:
  • the current local reconstruction block unit after waiting for outputting the pixel point local reconstruction value covered by the eM or vM block unit according to the coding order, the current local reconstruction block unit is subjected to loop filtering processing. ;
  • the local reconstruction block outputted by the DF processing is subjected to filtering processing using SAO;
  • the local reconstruction block output to the DF processing is subjected to filtering processing using SAO.
  • FIG. 2 is a structural block diagram of an encoding apparatus according to an embodiment of the present invention. As shown in FIG. 2, the apparatus includes a first determining module 22 and a writing module 24. The following describes each module in detail:
  • the first loop filtering module may be further included in the embodiment, and is connected to the writing module 24, and is configured to perform loop filtering on the reconstructed block according to the limited range information.
  • FIG. 3 is a flowchart of a decoding method according to an embodiment of the present invention. As shown in FIG. 3, the method includes the following steps:
  • Step S302 acquiring limit range information of a block copy vector (BV) of an intra block copy (IBC) mode from the code stream;
  • BV block copy vector
  • IBC intra block copy
  • the BV limit range information is obtained from the code stream in the decoding process, and then the BV limit range is determined, so that the influence of the IBC is effectively controlled, and the BV range cannot be determined after referring to the IBC in the related art.
  • the problem of reducing the efficiency of data processing can improve the efficiency of data processing, and at the same time ensure the smooth implementation of the encoding or decoding process.
  • performing block layer loop filtering on the reconstructed block according to the restricted range information includes: determining a waiting duration between the block layer reconstruction process and the loop filtering process according to the restricted range information. Specifically, the last block unit in which the IBC block in the current first block unit is used as the reference is determined as the second block unit according to the limitation range information; and the first block is determined according to the decoding order. a unit and a second block unit and a block unit therebetween as a fourth range; a union of the fourth range and a block unit range used in a conventional intra prediction mode as a fifth range; The number of block units included between the block unit and the last block unit of the fifth range as the waiting time.
  • the traditional intra prediction mode directly uses a neighboring pixel of the current decoding block as a reference pixel to construct a prediction block, where the position of the adjacent pixel of the conventional intra prediction mode is preset, and the location is not used. Offset vector indication.
  • the loop filtering process may be executed after the execution of the block layer reconstruction process, after the waiting time.
  • Condition one the right boundary and the lower boundary pixel of the local reconstruction block unit to be determined have not been used as the intra prediction reference of the pixel point in the block unit after the current local reconstruction block unit;
  • the loop filtering process may include at least one of the following: according to the condition that the condition is satisfied by the local reconstruction block unit to be determined:
  • the DF module in the loop filtering module performs vertical direction DF on the pixel to be filtered in the local reconstruction block unit to be determined.
  • the local reconstruction block unit to be determined is not used for filtering processing using DF and SAO.
  • performing loop filtering on the reconstructed block according to the restricted range information further includes: determining, according to the restricted range information, a waiting duration for performing loop filtering on the current local reconstructed block unit. Specifically, it is determined that the current local reconstruction block unit satisfies the following conditions simultaneously:
  • Condition one the right boundary and the lower boundary pixel of the local reconstruction block unit to be determined have not been used as the intra prediction reference of the pixel point in the block unit after the current local reconstruction block unit;
  • Condition 2 the lower boundary pixel in the right boundary adjacent block unit of the local reconstructed block unit to be determined is not used as the intra prediction reference of the pixel point in the block unit after the current local reconstructed block unit;
  • Condition 3 The lower boundary pixel in the lower boundary adjacent block unit of the local reconstructed block unit to be determined is not used as the intra prediction reference of the pixel point in the block unit after the current local reconstructed block unit.
  • the current local reconstruction block unit after the current local reconstruction block unit, according to the decoding order, after the local reconstruction module outputs the pixel point reconstruction value covered by the M block units, the current local reconstruction block unit is subjected to loop filtering processing.
  • M may be the number of smallest block units included between the current local reconstructed block unit and the corresponding block unit.
  • determining, according to the limitation range information, a waiting duration for performing loop filtering on the current local reconstruction block unit may further include:
  • the number eM of the block units included between the current local reconstruction block unit and the corresponding block unit when the current local reconstruction block unit satisfies the condition 1 and the condition 3 at the same time, the number of block units vM contained between the current local reconstruction block unit and the corresponding block unit, where:
  • Condition one the right boundary and the lower boundary pixel of the local reconstruction block unit to be determined have not been used as the intra prediction reference of the pixel point in the block unit after the current local reconstruction block unit;
  • Condition 2 the lower boundary pixel in the right boundary adjacent block unit of the local reconstructed block unit to be determined is not used as the intra prediction reference of the pixel point in the block unit after the current local reconstructed block unit;
  • Condition three the lower boundary pixel in the lower boundary adjacent block unit of the local reconstructed block unit to be determined is not used as the intra prediction reference of the pixel point in the block unit after the current local reconstructed block unit;
  • the current local reconstruction block unit is subjected to loop filtering processing.
  • the performing loop filtering processing on the current local reconstruction block unit may include at least one of the following situations: according to the relationship between the eM and the vM:
  • the current local reconstruction block unit after waiting for outputting the pixel point local reconstruction value covered by the eM or vM block unit according to the decoding order, the current local reconstruction block unit is subjected to loop filtering processing. ;
  • the local reconstruction block outputted by the DF processing is subjected to filtering processing using SAO;
  • the local reconstruction block outputted by the DF processing is subjected to filtering processing using SAO;
  • the local reconstruction block output to the DF processing is subjected to filtering processing using SAO.
  • the obtaining the restriction range information of the BV of the IBC mode from the code stream may include: acquiring information of the first restriction range of the BV from at least one of the following data units: a level in a video parameter set (VPS) , level, level information, grade, level, level in the sequence parameter set (SPS); and/or data units other than the grade, level, and level information in the VPS, except for the grade, level, and level information in the SPS Data unit, image parameter set (PPS), slice segment header (Slice Segment Header), supplemental enhancement information (SEI), user-defined data unit.
  • VPS video parameter set
  • SPS sequence parameter set
  • SEI Supplemental Enhancement Information
  • a decoding device is also provided in the embodiment, and the device 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. 4 is a structural block diagram of a decoding apparatus according to an embodiment of the present invention. As shown in FIG. 4, the apparatus includes an obtaining module 42 and a second determining module 44. The following describes each module in detail:
  • the obtaining module 42 is configured to obtain the limit range information of the block copy vector (BV) of the intra block copy (IBC) mode from the code stream; the second determining module 44 is connected to the obtaining module 42 and configured to be according to the limit range. The information determines the limits of the BV of the IBC mode.
  • BV block copy vector
  • IBC intra block copy
  • the apparatus may further include a second loop filtering module, and is connected to the second determining module 44, and is configured to perform loop filtering on the reconstructed block according to the restricted range information.
  • FIG. 5 is a structural block diagram of an electronic device according to an embodiment of the present invention. As shown in FIG. 5, the electronic device includes the encoding device 20 as described in FIG. / or, including the decoding device 40 as described in FIG.
  • the electronic device may include: a related code stream generating device and/or a receiving playing device in the video communication application.
  • the electronic device may be: a mobile phone, a computer, a server, a set top box, a portable mobile terminal, a digital video camera, a television broadcast system device, or the like.
  • the limitation and application range of the BV is applied to the codec field as an example, and a codec method, apparatus, and device using loop filtering in the video codec field are provided.
  • the encoding method includes: determining a limit range of the block copy vector BV of the intra block copy IBC mode; writing the limit range information of the BV into the code stream; performing a block layer loop on the reconstructed block according to the limit range of the BV Filtering.
  • the range information of the offset vector between the current block and the predicted reference block is written into the code stream.
  • the decoding method includes: parsing a code stream, obtaining a limit range of a block copy vector BV of an intra block copy IBC mode; and performing block layer loop filtering on the reconstructed block according to the BV limit range. That is, the code stream is parsed, and the range information of the offset vector between the current block and the predicted reference block is obtained; and the loop filtering operation is performed on the block in the decoded image according to the range information of the offset vector.
  • the preferred embodiment provides a decoding method using a loop filter for a decoding process or decoder using an IBC mode.
  • the method for dividing the prediction block of the IBC is not limited in the method of the embodiment, that is, it may be a conventional rectangular or square block division manner, or may be a Nx1 or 1 ⁇ N string division.
  • the String Matching method is a special case when the IBC uses the Nx1 or 1xN string division method.
  • the decoding method using loop filtering of this embodiment is as follows.
  • Step S702 the decoder parses the video code stream to obtain range information of the block copy vector BV in the IBC mode.
  • the decoder may obtain the range information of the BV from the code stream by parsing at least one of the units described below, including:
  • SPS Sequence Parameter Set
  • SEI Supplemental Enhancement Information
  • Step S704 the decoder determines the waiting time between the block level reconstruction process and the loop filtering process according to the BV range information.
  • the loop filtering process includes two filters: a deblocking filter DF and a sample point adaptive additive offset filter SAO. Since the prediction reference block needs to be constructed using the restored value of the pixel sample value that has not undergone the loop filtering process in the intra prediction block decoding process, the decoder needs to wait for all the pixel points in the to-be-processed block not to be used as the subsequent decoding block. After the intra prediction reference, the loop filtering process is performed.
  • the decoder needs to wait for the pixel of the current block and the adjacent block to be used as the intra prediction reference, and then execute the DF.
  • the decoder performs SAO after the DF. At the same time, SAO uses only the recovered pixels within the current processing block. Therefore, the decoder can execute the SAO as long as it waits until the DF is executed.
  • the decoder parses the parameter set code stream, obtains the relevant block unit size in the decoding process, and determines that after the block reconstruction module is executed, the loop filtering module performs Need to wait before The length of time to stay.
  • the block units include at least one of: a maximum coding unit (CU), a minimum CU, a maximum transform unit (TU), and a minimum TU.
  • the waiting duration is equal to N means that a loop filtering operation is performed on the reconstructed block after delaying N block units.
  • the right and lower boundary pixel points in the current processing block may be used as intra prediction references for subsequent decoded blocks according to the block decoding order.
  • the case of using the largest CU will be described as an example, and the case of using other block units is similar.
  • the traditional intra prediction mode directly constructs a prediction block by using adjacent pixel points of the current decoding block as reference pixel points.
  • the position of the adjacent pixel point of the conventional intra prediction mode is preset, and the position offset vector indication is not used.
  • the maximum CU range (ie, range 2) at which the pixel point on the lower boundary is used as the intra prediction reference is determined; for the next adjacent largest CU, the pixel point on the right border is determined to be used as the pixel
  • the maximum CU range of the intra prediction reference (ie, range 3).
  • the decoder determines the position of the last largest CU where the IBC block using the pixel in the largest CU (denoted as "the first CU” is used as a reference according to the BV range information (denoted as " Two CU”). In accordance with the maximum CU decoding order, the first CU and the second CU and the largest CU between them are in the range 4 (including the second CU).
  • the decoder sets the union of the range 1, the range 2, the range 3, and the range 4 to the range 5, and limits the range 5 according to the tile division information of the current image and the starting position of the fragment where the largest CU is located. Within the range of tiles and fragments where the largest CU is located.
  • the decoder uses the maximum CU to the maximum CU included between the last largest CU of the range 5 (excluding the maximum CU but including the last largest CU in the range 5) as the block layer reconstruction process and the loop filtering process The waiting time between them is recorded as M.
  • Step S706 after obtaining the decoded block reconstruction block, the decoder passes the reconstruction block to the loop filtering module for DF and SAO after waiting for the duration.
  • step S704 Taking the largest CU in step S704 as a block unit as an example, the case of using other block units is similar.
  • the decoder hands over the reconstruction data of the first largest CU after completing the reconstruction of the subsequent M largest CUs according to the decoding order.
  • the loop filtering module performs DF and SAO processing in sequence.
  • the block reconstruction module in the decoder starts reconstruction from the first largest CU in the slice or image, and writes the reconstructed maximum CU data into the buffer.
  • the loop filtering module starts to reconstruct the maximum CU data sequentially from the first largest CU in the slice or image in the decoding order. Perform loop filtering processing.
  • the loop filtering module performs DF processing on the horizontal direction filtering and/or vertical direction filtering that is not performed on the maximum CU, and for the reconstructed block of the first largest CU adjacent decoding block, the DF module marks the position of the boundary on which the filtering has been performed and The properties of the filtering operation (including: horizontal filtering, vertical filtering).
  • the decoder determines the maximum waiting time counted by the selected number of block units in a selected block unit.
  • the loop filtering module starts loop filtering processing on the reconstructed block after the maximum waiting time elapses.
  • the embodiment provides a decoding method capable of dynamically performing block layer loop filtering for using a decoding process or a decoder of an IBC mode. It should be noted that the method for dividing the prediction block of the IBC is not limited in the method of the embodiment, that is, it may be a conventional rectangular or square block division manner, or may be a Nx1 or 1 ⁇ N string division.
  • the String Matching method is a special case when the IBC uses the Nx1 or 1xN string division method.
  • Step S802 is exactly the same as step S702.
  • Step S804 the decoder determines, according to the BV range information, whether the instruction information of the loop filtering process can be performed on the decoded block.
  • the decoder records the CU partitioning in each Coding Tree Unit (CTU) during the execution of the reconstruction module.
  • the decoder can record the CU partitioning in the CTU by directly storing the values of the split_cu_flag in the CTU and the CU.
  • the value of split_cu_flag can be obtained by directly parsing the block layer code stream.
  • the decoder After the decoder completes the reconstruction of the current CU, it is determined that, according to the decoding order, for the CU that has been reconstructed before the current CU and has not undergone the loop filtering process, the following conditions are determined:
  • Condition 2 the lower boundary pixel in the right border adjacent CU of the reconstructed CU to be determined is not used as the intra prediction reference of the pixel in the CU after the current reconstructed CU (in decoding order);
  • Condition 3 The lower boundary pixel in the lower boundary adjacent CU of the reconstructed CU to be determined is not used as the intra prediction reference of the pixel in the CU after the current reconstructed CU (in decoding order).
  • the decoder marks the reconstructed CU to be determined as "loopable filter processing"; when condition 1 and condition 2 are satisfied, the decoder marks the reconstructed CU to be determined as " The DF" in the horizontal direction can be performed; when the condition 1 and the condition 3 are satisfied, the decoder marks the reconstructed CU to be determined as "DF in the vertical direction”. In other conditions than this, the decoder marks the reconstructed CU to be determined as "non-loop filtering processing".
  • the loop filtering module When the flag information of the reconstructed CU is "loop filtering processing", the loop filtering module performs DF processing in the horizontal direction and/or the vertical direction that is not performed on the CU, and for the reconstructed block of the adjacent decoding block of the CU, The DF module marks the position of the boundary on which it has been filtered and the properties of the filtering operation (including: horizontal direction filtering, vertical direction filtering).
  • the loop filtering module uses the SAO for filtering processing on the filtered reconstructed block outputted by the DF module, and writes the SAO module output data into the decoded image buffer.
  • the loop filtering module filters the reconstructed CU using the SAO, and writes the SAO module output data into the decoded image buffer. Otherwise, the loop filtering module does not filter the reconstructed CU by using the SAO, and temporarily stores the reconstructed CU in the buffer, waiting for further operation instructions related to the DF, and the operation instruction related to the DF includes one of the following: Loop filtering processing, "DF in the vertical direction", "DF in the horizontal direction”.
  • the decoder determines whether the previously reconstructed CU can perform loop filtering processing, and filters the CU that can perform all or part of the loop filtering processing.
  • This embodiment provides a decoding method for directly setting a loop filter flag for a current reconstructed CU, which is used for a decoding process or a decoder using an IBC mode.
  • the method for dividing the prediction block of the IBC is not limited in the method of the embodiment, that is, it may be a conventional rectangular or square block division manner, or may be a Nx1 or 1 ⁇ N string division.
  • the String Matching method is a special case when the IBC uses the Nx1 or 1xN string division method.
  • Step S902 is exactly the same as step S702.
  • Step S904 the decoder determines, according to the BV range information, a waiting time parameter for performing loop filtering on the currently reconstructed CU.
  • the decoder records the CU partitioning in each Coding Tree Unit (CTU) during the execution of the reconstruction module.
  • the decoder can record the CU partitioning in the CTU by directly storing the values of the split_cu_flag in the CTU and the CU.
  • the value of split_cu_flag can be obtained by directly parsing the block layer code stream.
  • Condition 1 The right and lower boundary pixel points of the reconstructed CU to be determined have not been used as the intra prediction reference of the pixel points in the CU after the current reconstructed CU (in the decoding order);
  • Condition 2 the lower boundary pixel in the right border adjacent CU of the reconstructed CU to be determined is not used as the intra prediction reference of the pixel in the CU after the current reconstructed CU (in decoding order);
  • Step S906 after the current CU is reconstructed, the loop filtering module performs loop filtering processing on the current reconstructed CU after waiting for the reconstruction module to output the pixel point reconstruction values covered by the M minimum CUs according to the decoding order.
  • the loop filtering module performs DF processing in the horizontal direction and/or the vertical direction that is not performed on the CU.
  • the DF module marks the position of the boundary where the filtering has been performed and the attribute of the filtering operation ( Including: horizontal direction filtering, vertical direction filtering).
  • the loop filtering module uses the SAO for filtering processing on the filtered reconstructed block outputted by the DF module, and writes the SAO module output data into the decoded image buffer.
  • Embodiment 3 provides a decoding method for directly setting a loop filter flag for a current reconstructed CU, which is used for a decoding process or a decoder using an IBC mode.
  • the method for dividing the prediction block of the IBC is not limited in the method of the embodiment, that is, it may be a conventional rectangular or square block division manner, or may be a Nx1 or 1 ⁇ N string division.
  • the String Matching method is a special case when the IBC uses the Nx1 or 1xN string division method.
  • Step S1002 is exactly the same as step S702.
  • Step S1004 The decoder determines, according to the BV range information, a waiting time parameter for performing loop filtering on the currently reconstructed CU.
  • the decoder records the CU partitioning in each Coding Tree Unit (CTU) during the execution of the reconstruction module.
  • the decoder can record the CU partitioning in the CTU by directly storing the values of the split_cu_flag in the CTU and the CU.
  • the value of split_cu_flag can be obtained by directly parsing the block layer code stream.
  • the decoder determines the number eM of minimum CUs included between the current CU and the corresponding CU when the currently reconstructed CU satisfies the following conditions 1 and 2 at the same time.
  • the decoder determines the number of minimum CUs vM included between the current CU and the corresponding CU when the currently reconstructed CU satisfies the following conditions 1 and 3 at the same time.
  • Conditions include:
  • Condition 1 The right and lower boundary pixel points of the reconstructed CU to be determined have not been used as the intra prediction reference of the pixel points in the CU after the current reconstructed CU (in the decoding order);
  • Condition 2 the lower boundary pixel in the right border adjacent CU of the reconstructed CU to be determined is not used as the intra prediction reference of the pixel in the CU after the current reconstructed CU (in decoding order);
  • Condition 3 The lower boundary pixel in the lower boundary adjacent CU of the reconstructed CU to be determined is not used as the intra prediction reference of the pixel in the CU after the current reconstructed CU (in decoding order).
  • the loop reconstruction module waits for the reconstruction module to output the pixel point reconstruction values covered by the eM (or vM) minimum CUs in the decoding order, and then performs loop on the current reconstructed CU. Road filtering processing.
  • the loop filtering module performs DF processing in the horizontal direction and/or the vertical direction that is not performed on the CU.
  • the DF module marks the position of the boundary where the filtering has been performed and the attribute of the filtering operation ( Including: horizontal direction filtering, vertical direction filtering).
  • the loop filtering module uses the SAO for filtering processing on the filtered reconstructed block outputted by the DF module, and writes the SAO module output data into the decoded image buffer.
  • the loop filtering module waits for the reconstruction module to output the pixel point reconstruction values covered by the eM minimum CUs in the decoding order, and then performs vertical DF filtering on the current reconstructed CU. And mark (including adjacent blocks) that the vertical direction filtering of the DF has been performed.
  • the loop filtering module continues to wait for the reconstructed module output (vM - eM) pixel point reconstruction values covered by the minimum CU, the DF filtering in the horizontal direction is performed on the current reconstructed CU, and the mark (including the adjacent block) has been subjected to DF Horizontal direction filtering.
  • the loop filtering module uses the SAO for filtering processing on the filtered reconstructed block outputted by the DF module, and writes the SAO module output data into the decoded image buffer.
  • the loop filtering module waits for the reconstruction module to output the pixel reconstruction values covered by the vM minimum CUs according to the decoding order, and then performs horizontal DF filtering on the current reconstructed CU. And mark (including adjacent blocks) that the horizontal direction filtering of the DF has been performed.
  • the loop filtering module continues to wait for the reconstructed module output (eM–vM) pixel point reconstruction values covered by the minimum CU, the DF filtering is performed on the current reconstructed CU in the vertical direction, and the mark (including the adjacent block) has been subjected to DF. Vertical filtering.
  • the present embodiment provides an encoding method using loop filtering for an encoding process or an encoder using an IBC mode.
  • the encoding process or encoder may generate the code stream of the aforementioned decoding processes of Embodiments 1 to 4 or the decoder may correctly perform the decoding process.
  • step S1102 the encoder determines the range information of the block copy vector BV in the IBC mode.
  • the encoder determines the range information of the BV based on the profile, tier, and level used, which is the range 1.
  • the encoder determines the maximum range of the BV based on the partitioning of the tiles and slices of the image, that is, the range 2.
  • the encoder determines the range of the BV based on the negotiation with the decoder capabilities (such as the decoder's memory access limit, pipeline design, etc.), which is the range 3.
  • step S1104 the encoder writes the BV range information into the code stream.
  • the encoder writes range 1 information to the following data unit:
  • the encoder writes the range information of the BV to the code stream, and writes the range 4 information to at least one of the units described below, including:
  • SEI Supplemental Enhancement Information
  • Step S1106 the encoder encodes the input video image, and performs local reconstruction on the encoded block to obtain a local reconstruction block.
  • the encoder will ensure that the size of the BV used by the IBC mode is within the range 4. That is, when searching for the prediction reference block of the IBC mode, pixels other than the range 4 are not used as the prediction reference.
  • Step S1108 the encoder determines a waiting time between the block level local reconstruction process and the loop filtering process according to the BV range information.
  • the loop filtering process includes two filters: a deblocking filter DF and a sample point adaptive additive offset filter SAO. Since the intra prediction block decoding process needs to use the recovery value of the pixel sample value that has not undergone loop filtering processing The prediction reference block is constructed. Therefore, the encoder needs to wait for the intra prediction reference of all the pixels in the block to be processed to be used as the subsequent coding block, and then perform the loop filtering process.
  • the encoder needs to wait for the pixel of the current block and the adjacent block to be used as the intra prediction reference, and then execute the DF.
  • the encoder performs SAO after the DF. At the same time, SAO uses only the recovered pixels within the current processing block. Therefore, the encoder can execute the SAO as long as it waits until the DF is executed.
  • the encoder determines the length of time to wait after the local block reconstruction module executes and before the loop filtering module executes, according to the associated block unit size.
  • the block units include at least one of: a maximum coding unit (CU), a minimum CU, a maximum transform unit (TU), and a minimum TU.
  • the waiting duration is equal to N means: performing a loop filtering operation on the local reconstructed block after delaying N block units.
  • the traditional intra prediction mode directly constructs a prediction block by using adjacent pixel points of the current coding block as reference pixel points.
  • the position of the adjacent pixel point of the conventional intra prediction mode is preset, and the position offset vector indication is not used.
  • the encoder determines to use the right and lower boundary pixel points that may use the largest CU as the intraframe according to the size of the largest CU and the maximum number of adjacent reference pixel points that need to be used in the intra prediction process.
  • the range of the largest CU that is predicted to be referenced ie, range 5).
  • the encoder determines the neighboring largest CU used for the DF of the largest CU.
  • the maximum CU range (ie, range 6) at which the pixel on the lower boundary is used as the intra prediction reference is determined; for the next largest CU, the pixel on the right boundary is determined to be used as the pixel
  • the maximum CU range of the intra prediction reference (ie, range 7).
  • the decoder sets the union of the range 5, the range 6, the range 7 and the range 8 to the range 9, and limits the range 9 according to the tile division information of the current image and the actual position of the slice where the largest CU is located.
  • the maximum CU is located within the tile and fragment range.
  • the decoder uses the maximum CU to the maximum CU included in the last largest CU of the range 9 (excluding the largest CU but including the last largest CU in the range 5) as the block layer reconstruction process and the loop filtering process The waiting time between them is recorded as M.
  • Step S1110 After obtaining the coded block local reconstruction block, the encoder passes the local reconstruction block to the loop filtering module for DF and SAO after waiting for the duration.
  • step S1108 Taking the largest CU in step S1108 as a block unit as an example, the case of using other block units is similar.
  • the encoder hands over the reconstruction data of the first largest CU to the reconstruction of the subsequent M largest CUs according to the coding order.
  • the loop filtering module sequentially performs DF and SAO processing to determine loop filtering parameters.
  • the local block reconstruction module in the encoder performs reconstruction from the first largest CU in the slice or image, and writes the reconstructed maximum CU data into the buffer.
  • the loop filtering module starts to locally localize the largest CUs from the first largest CU in the slice or image in the coding order. The data is reconstructed for loop filtering to determine loop filtering parameters.
  • the loop filtering module performs DF processing on the horizontal direction filtering and/or vertical direction filtering that is not performed on the maximum CU, and for the reconstructed block of the first largest CU adjacent decoding block, the DF module marks the position of the boundary on which the filtering has been performed and The properties of the filtering operation (including: horizontal filtering, vertical filtering).
  • the loop filtering module performs filtering processing on the filtered local reconstruction block outputted by the DF module using the SAO, and writes the SAO module output data into the local decoded image buffer.
  • Step S1202 is exactly the same as step S1102.
  • Step S1204 is exactly the same as step S1104.
  • Step S1206 is exactly the same as step S1106.
  • the encoder can record the CU partitioning in the CTU by directly recording the values of the split_cu_flag in the CTU and the CU.
  • the encoder determines that the following conditions are determined for the CU that has been reconstructed and not subjected to loop filtering processing in the current CU according to the coding order:
  • Condition 1 The right and lower boundary pixel points of the local reconstruction CU to be determined have not been used as the intra prediction reference of the pixel points in the CU after the current local reconstruction CU (in coding order);
  • Condition 3 The lower boundary pixel in the lower boundary adjacent CU of the locally reconstructed CU to be determined is not used as the intra prediction reference of the pixel in the CU after the current local reconstruction CU (in coding order).
  • the encoder marks the local reconstruction CU to be determined as "loopable filtering processing"; when the condition 1 and the condition 2 are satisfied, the encoder marks the local reconstruction CU to be determined. It is "DF in the horizontal direction”; when Condition 1 and Condition 3 are satisfied, the encoder marks the local reconstruction CU to be determined as "DF in the vertical direction”. Under other conditions, the encoder marks the local reconstruction CU to be determined as "non-loop filtering processing".
  • step S1210 the loop filtering module performs loop filtering processing according to the marking information of the CU.
  • the loop filtering module When the flag information of the locally reconstructed CU is "loop filtering processing", the loop filtering module performs DF processing in the horizontal direction and/or the vertical direction that is not performed on the CU, and local reconstruction of the adjacent coding block of the CU The block, the DF module marks the position of the boundary on which it has been filtered and the properties of the filtering operation (including: horizontal direction filtering, vertical direction filtering).
  • the loop filtering module performs filtering processing on the filtered local reconstruction block outputted by the DF module using the SAO, and writes the SAO module output data into the local decoded image buffer.
  • the loop filtering is performed on the pixel to be filtered in the CU that is not in the vertical direction DF or the horizontal direction DF.
  • the DF module in the module performs vertical direction DF or horizontal direction DF, marking the position of the boundary where the filter has been filtered and the properties of the filtering operation (including: horizontal direction filtering, vertical direction filtering).
  • the loop filtering module filters the reconstructed CU using the SAO, and writes the SAO module output data into the local decoded image buffer. Otherwise, the loop filtering module does not filter the reconstructed CU by using the SAO, temporarily storing the locally reconstructed CU in the buffer, and waiting for further operation instructions related to the DF, the operation instruction related to the DF includes one of the following: Perform loop filtering processing", "DF in the vertical direction” and "DF in the horizontal direction”.
  • the loop filtering module does not perform filtering processing on the local reconstruction CU using DF and SAO.
  • the encoder determines whether the previously reconstructed CU can perform loop filtering processing, and filters the CU that can perform all or part of the loop filtering processing.
  • This embodiment provides a direct An encoding method for setting a loop filter flag for the current reconstructed CU for an encoding process or encoder using the IBC mode.
  • the method for dividing the prediction block of the IBC is not limited in the method of the embodiment, that is, it may be a conventional rectangular or square block division manner, or may be a Nx1 or 1 ⁇ N string division.
  • the String Matching method is a special case when the IBC uses the Nx1 or 1xN string division method.
  • Step S1302 is exactly the same as step S1102.
  • Step S1304 is exactly the same as step S1104.
  • Step S1308 The encoder determines, according to the BV range 4 information, a waiting time parameter for performing loop filtering on the current local reconstructed CU.
  • the encoder can record the CU partitioning in the CTU by directly storing the values of the split_cu_flag in the CTU and the CU.
  • the encoder determines the number M of minimum CUs included between the current CU and the corresponding CU while the current local CU is reconstructed while satisfying the following conditions.
  • Conditions include:
  • Condition 1 The right and lower boundary pixel points of the local reconstruction CU to be determined have not been used as the intra prediction reference of the pixel points in the CU after the current local reconstruction CU (in coding order);
  • Condition 2 the lower boundary pixel in the right border adjacent CU of the local reconstruction CU to be determined is not used as the intra prediction reference of the pixel in the CU after the current local reconstruction CU (in coding order);
  • Condition 3 The lower boundary pixel in the lower boundary adjacent CU of the locally reconstructed CU to be determined is not used as the intra prediction reference of the pixel in the CU after the current local reconstruction CU (in coding order).
  • Step S1310 After the current local reconstruction CU, the loop filtering module waits for the local reconstruction module to output the pixel reconstruction values covered by the M minimum CUs according to the coding sequence, and performs loop filtering processing on the current local reconstruction CU.
  • the loop filtering module performs DF processing in the horizontal direction and/or the vertical direction that is not performed on the CU.
  • the DF module of the encoder marks the position of the filtered boundary and the filtering.
  • the properties of the operation including: horizontal direction filtering, vertical direction filtering).
  • the loop filtering module performs filtering processing on the filtered local reconstruction block outputted by the DF module using the SAO, and writes the SAO module output data into the local decoded image buffer.
  • Embodiment 7 provides an encoding method for directly setting a loop filter flag to a currently reconstructed CU, which is used for an encoding process or an encoder using an IBC mode. It should be noted that the method of the embodiment does not limit the prediction block division manner of the IBC, that is, In the conventional rectangular and square block division manner, it may also be Nx1 or 1xN string division. The String Matching method is a special case when the IBC uses the Nx1 or 1xN string division method.
  • Step S1402 is exactly the same as step S1102.
  • Step S1404 is identical to step S1104.
  • Step S1406 is identical to step S1106.
  • Step S1408 The encoder determines, according to the BV range 4 information, a waiting time parameter for performing loop filtering on the current local reconstructed CU.
  • the encoder can record the CU partitioning in the CTU by directly storing the values of the split_cu_flag in the CTU and the CU.
  • the encoder determines the number eM of minimum CUs included between the current CU and the corresponding CU when the current local reconstruction CU satisfies the following conditions 1 and 2.
  • the encoder determines the number of minimum CUs vM included between the current CU and the corresponding CU when the current CU is locally reconstructed while satisfying the following conditions 1 and 3.
  • Conditions include:
  • Condition 1 The right and lower boundary pixel points of the local reconstruction CU to be determined have not been used as the intra prediction reference of the pixel points in the CU after the current local reconstruction CU (in coding order);
  • Condition 2 the lower boundary pixel in the right border adjacent CU of the local reconstruction CU to be determined is not used as the intra prediction reference of the pixel in the CU after the current local reconstruction CU (in coding order);
  • Condition 3 The lower boundary pixel in the lower boundary adjacent CU of the locally reconstructed CU to be determined is not used as the intra prediction reference of the pixel in the CU after the current local reconstruction CU (in coding order).
  • step S1410 the loop filtering module performs loop filtering processing according to the marking information of the CU.
  • the loop filtering module waits for the local reconstruction module to output the pixel local reconstruction values covered by the eM (or vM) minimum CUs according to the coding order, and then the current local The CU is reconstructed for loop filtering processing.
  • the loop filtering module performs DF processing in the horizontal direction and/or the vertical direction that is not performed on the CU.
  • the DF module marks the position of the boundary where the filtering has been performed and the attribute of the filtering operation. (Includes: horizontal direction filtering, vertical direction filtering).
  • the loop filtering module performs filtering processing on the filtered local reconstruction block outputted by the DF module using the SAO, and writes the SAO module output data into the local decoded image buffer.
  • the loop filtering module waits for the local reconstruction module to output the pixel local reconstruction values covered by the eM minimum CUs according to the coding order, and then performs vertical alignment on the current local reconstruction CU.
  • Square The DF is filtered and marked (including adjacent blocks) for vertical filtering of the DF.
  • the loop filtering module continues to wait for the pixel reconstruction value covered by the local reconstruction module (vM - eM) minimum CUs, the DF filtering in the horizontal direction of the current reconstructed CU, and marking (including adjacent blocks) has been performed. Horizontal direction filtering of the DF.
  • the loop filtering module performs filtering processing on the filtered local reconstruction block outputted by the DF module using the SAO, and writes the SAO module output data into the local decoded image buffer.
  • the loop filtering module waits for the local reconstruction module to output the pixel local reconstruction values covered by the vM minimum CUs according to the coding order, and then performs the level on the current local reconstruction CU.
  • Directional DF filtering, and marking (including adjacent blocks) has been horizontally filtered by DF.
  • the loop filtering module continues to wait for the local reconstruction value output by the local reconstruction module (eM - vM) minimum CU, the DF filtering of the current reconstructed CU is performed in the vertical direction, and the mark (including the adjacent block) has been marked. Perform vertical filtering of the DF.
  • the loop filtering module performs filtering processing on the filtered local reconstruction block outputted by the DF module using the SAO, and writes the SAO module output data into the local decoded image buffer.
  • This embodiment provides an embodiment of an electronic device, including an encoder and/or a decoder.
  • the encoder generates a video bitstream using the implementation of the encoder of any of the foregoing embodiments 5 through 8.
  • the decoder decodes the video code stream using the implementation method of any of the foregoing embodiments 1 through 4.
  • the electronic device of this embodiment may be a related code stream generating device and a receiving playing device in a video communication application, such as a mobile phone, a computer, a server, a set top box, a portable mobile terminal, a digital video camera, a television broadcasting system device, and the like.
  • a video communication application such as a mobile phone, a computer, a server, a set top box, a portable mobile terminal, a digital video camera, a television broadcasting system device, and the like.
  • a software is provided that is configured to perform the technical solutions described in the above embodiments and preferred embodiments.
  • a storage medium in which the above software is stored, including but not limited to an optical disk, a floppy disk, a hard disk, an erasable memory, and the like.
  • an encoding method, a decoding method, an apparatus, and an electronic device provided by an embodiment of the present invention have the following beneficial effects: using restriction range information of a block copy vector for determining an intra block copy mode; and the restriction range information
  • the method of writing the code stream solves the problem that the BV range cannot be determined after referring to the IBC in the related art, so that the data processing efficiency is reduced, the data processing efficiency can be improved, and the smooth implementation of the encoding or decoding process can be ensured.

Landscapes

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

Abstract

本发明公开了一种编码方法、解码方法、装置及电子设备,其中,该编码方法包括:确定帧内块复制模式的块复制矢量的限制范围信息;将所述限制范围信息写入码流。通过本发明,解决了相关技术中引用IBC后无法确定BV范围,使得数据处理效率降低的问题,能够提升数据处理效率,同时也能够保证编码或解码过程的顺利实施。

Description

编码方法、解码方法、装置及电子设备 技术领域
本发明涉及通信领域,具体而言,涉及一种编码方法、解码方法、装置及电子设备。
背景技术
正在制定的基于高性能视频编码(H.265/High Efficiency Video Coding,HEVC)标准扩展的屏幕内容编码(Screen Content Coding,SCC)标准中,采用了帧内块复制(Intra Block Copying,IBC)模式。与传统的使用当前图像内当前块边界处相邻块已恢复像素预测当前块内像素值的方法不同,IBC允许使用当前图像内已经恢复出的一个二维像素块作为当前块的预测块,同时,IBC使用预测块与当前块之间的相对偏移量来定位预测参考块,该偏移量称之为块复制矢量(Block copying Vector,BV)。与传统的帧内预测模式相同,BV指向的预测块中的像素点采样值没有经过去方块滤波(Deblocking Filtering,DF)处理。
在H.265/HEVC标准中,环路滤波过程(包含去方块滤波器(Deblocking Filter,DF)和采样点自适应加性偏移量滤波器(Sample Adaptive Offset,SAO))是以图像为单位进行滤波处理的,即环路滤波过程是在图像完成重建后、放置进入解码图像缓冲区(Decoded Picture Buffer,DPB)之前执行的。尽管如此,在实际的产品实现上,通常在块层即执行环路滤波而无需等待整幅图像完成重建后再执行环路滤波操作。这样,可以通过在块层合理安排处理流水的方法,提高包含环路滤波模块的编码器和解码器的数据处理效率。例如,对于DF,在当前块中包含的像素点不用作相邻块帧内预测参考像素点、且相邻块像素点已可用(Available)的情况下,即可对当前块使用DF;对于SAO,在当前块中包含的像素点不用作相邻块帧内预测参考像素点时,即可对当前块使用SAO。由于SAO是串联在DF之后的滤波器,因此,可以统一使用DF的判断条件作为对当前块使用环路滤波的判断条件。由于帧内预测的块划分方式相对规则、并且所使用的参考像素点位置固定,因此,在编码器和解码器中,可通过环路滤波处理流水在块重建流水之后延迟固定数量个编码单元块(保证满足DF条件)再执行的方式,实现块层环路滤波的操作。
作为H.265/HEVC标准的扩展,SCC沿用了H.265/HEVC标准中的环路滤波器,同时引入了IBC等新的编码工具提高了针对屏幕内容视频的编码效率。尽管如此,IBC的引入使得块层环路滤波的设计和实施变得困难。SCC现有结构存在的主要问题如下所述:
IBC采用当前图像中已经恢复但未经环路滤波处理的像素点构造当前块的预测块,因此,除前述块层DF和SAO的判断条件外,环路滤波流水还必须确定目标块内像素点不再被当前图像中其他IBC模式块用作构造预测块时才能对目标块内像素点进行环路滤波。IBC使用BV指示预测参考块,这就使得当前图像中任何一个目标块中的像素点可能作为后续任何一个IBC 块的预测参考块,没有像前述帧内预测模式那样可以通过延迟环路滤波流水这样的简单方法判断、执行块层环路滤波。
具体而言,对于编码器,由于无法确定当前编码块中的像素点是否用作后续编码块的IBC参考,编码器需要在完成整个图像块重建后,在确定环路滤波参数,对重建图像进行环路滤波,将滤波输出图像放入DPB,在数据处理流程上增加了一幅图像的延迟。对于解码器,一种方式是等待图像重建后再执行环路滤波操作,这就将在数据处理流程上增加一幅图像的延迟;另一种方式是事先对码流进行分析,确定各IBC块BV指向参考块的位置,然后再安排环路滤波流水执行块层环路滤波操作,但这种方式打乱了码流解析流水与块层重建流水之间的结构,并且由于BV大小不一而使得环路滤波流水不能按照固定的时序间隔执行,这都增加了解码器的复杂度。
最坏情况下,按照编码顺序(或解码顺序),当图像中最后一个编码块(或解码块)的IBC预测参考块包含第一个编码块(或解码块)中的像素点时,环路滤波流水需要等待整幅图像完成重建后再执行,即在块层重建和环路滤波两个处理流水之间需要等待一个图像的延迟,极大降低了编码器(或解码器)的数据处理效率。
上述问题同样出现在SCC的串匹配方法(String Matching)。串匹配方法可以视为预测块划分大小为Nx1或1xN的IBC,其中,N为预测块的宽度或高度。
针对相关技术中引用IBC后无法确定BV范围,使得数据处理效率降低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种编码方法、解码方法、装置及电子设备,以至少解决相关技术中引用IBC后无法确定BV范围,使得数据处理效率降低的问题。
根据本发明的一个实施例,提供了一种编码方法,包括:确定帧内块复制IBC模式的块复制矢量BV的限制范围信息;将所述限制范围信息写入码流。
本实施例中,在将所述限制范围信息写入码流之前或之后,还包括:根据所述限制范围信息对重建块进行环路滤波。
本实施例中,确定帧内块复制IBC模式的块复制矢量BV的限制范围信息包括以下至少之一:根据其所使用的档次Profile、等级tier、级别level确定BV的第一限制范围;根据对图像的瓦片Tile、分片Slice边界,确定BV的第二限制范围;根据与解码器能力协商情况,确定BV的第三限制范围;将所述第一限制范围、所述第二限制范围和所述第三限制范围的交集,作为编码过程中使用的IBC模式的BV的第四限制范围。
本实施例中,将所述限制范围信息写入码流包括:将BV的第一限制范围的信息写入以下数据单元至少之一:视频参数集VPS中的档次、等级、级别信息,序列参数集SPS中的档次、等级、级别;和/或,将BV的第四限制范围的信息写入以下数据单元至少之一:VPS中除档次、等级、级别信息之外的数据单元,SPS中除档次、等级、级别信息之外的数据单元,图像参数集PPS,分片划分头信息Slice Segment Header,补充增强信息SEI,用户自定义数据单元。
本实施例中,根据所述限制范围信息对重建块进行环路滤波,包括:根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。
本实施例中,在根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长之后,还包括:在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
本实施例中,根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;按照编码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第八范围;将所述第八范围与传统帧内预测模式中使用的块单元范围的并集作为第九范围;将所述第一块单元至第九范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。
本实施例中,所述传统帧内预测模式直接使用当前编码块的相邻像素点作为参考像素点构造预测块,其中,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
本实施例中,还包括:根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第九范围限制在所述第一块单元所在的Tile和/或分片范围内。
本实施例中,所述传统帧内预测模式中使用的块单元范围包括以下范围至少之一或以下范围至少之二的并集:按照块单元的编码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第五范围;确定对块单元进行去方块滤波DF所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围,作为第六范围;对于下相邻的块单元,确定其右边界上的像素点用作帧内预测参考的块单元范围,作为第七范围。
本实施例中,根据所述限制范围信息对重建块进行环路滤波,包括:根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理。
本实施例中,根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理包括:在对当前块单元完成本地重建后,按照编码顺序判断当前块单元之前已重建、未进行环路滤波处理的块单元是否满足如下条件:条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后块单元的块单元中像素点的帧内预测参考;条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理。
本实施例中,根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理包括以下至少之一:当所述条件一、条件二和条件三同时满足时,对所述待判定的本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,并对于所述本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用采样点自适应加性偏移量滤波器SAO进行滤波处理;当满足所述条件一和条件二时,对所述待判定的本地重建块单元中的未进行水平方向DF的待滤波像素点,环路滤 波模块中的DF模块对其进行水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;当满足所述条件一和条件三时,对所述待判定的本地重建块单元中的未进行垂直方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;否则,不对所述待判定的本地重建块单元使用DF和SAO进行滤波处理。
本实施例中,根据所述限制范围信息对重建块进行块层环路滤波,包括:根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长。
本实施例中,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长,包括:确定在当前本地重建块单元同时满足下述条件:条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考。
本实施例中,还包括:在当前本地重建块单元之后,按照编码顺序,等待本地重建模块输出了M个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行环路滤波处理。
本实施例中,M为当前本地重建块单元与对应块单元之间所包含的最小块单元的数量。
本实施例中,对所述当前本地重建块单元进行环路滤波处理包括:对所述本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用SAO进行滤波处理。
本实施例中,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:在当前本地重建块单元同时满足以下条件一和条件二时,当前本地重建块单元与对应块单元之间所包含的块单元的数量eM,在当前本地重建块单元同时满足以下条件一和条件三时,当前本地重建块单元与对应块单元之间所包含的块单元的数量vM,其中:条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理。
本实施例中,根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理包括以下情况至少之一:情况一:eM的值等于vM;在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了eM或vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行环路滤波处理;对所述当前本地重建块单元完成未进行的水平方向和/或垂 直方向的DF处理,对于所述当前本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用SAO进行滤波处理;情况二:eM的值小于vM;在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了eM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波,继续等待本地重建模块输出vM–eM个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波;对DF处理输出的本地重建块使用SAO进行滤波处理;情况三:eM的值大于vM;在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波,继续等待本地重建模块输出eM–vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波;对DF处理输出的本地重建块使用SAO进行滤波处理。
根据本发明的另一实施例,提供了一种解码方法,包括:从码流中获取帧内块复制IBC模式的块复制矢量BV的限制范围信息;根据所述限制范围信息确定IBC模式的BV的限制范围。
本实施例中,在根据所述限制范围信息确定IBC模式的BV的限制范围之后,还包括:根据所述限制范围对重建块进行环路滤波。
本实施例中,根据所述限制范围信息对重建块进行环路滤波,包括:根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。
本实施例中,在根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长之后,还包括:在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
本实施例中,根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;按照解码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第四范围;将所述第四范围与传统帧内预测模式中使用的块单元范围的并集作为第五范围;将所述第一块单元至第五范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。
本实施例中,所述传统帧内预测模式直接使用当前解码块的相邻像素点作为参考像素点构造预测块,其中,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
本实施例中,还包括:根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第五范围限制在所述第一块单元所在的Tile和/或分片范围内。
本实施例中,所述传统帧内预测模式中使用的块单元范围包括以下范围至少之一或以下范围至少之二的并集:按照块单元的解码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第一范围;确定对块单元进行去方块滤波DF所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围, 作为第二范围;对于下相邻的块单元,确定其右边界上的像素点用作帧内预测参考的块单元范围,作为第三范围。
本实施例中,根据所述限制范围信息对重建块进行环路滤波包括:根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理。
本实施例中,根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理包括:在对当前块单元完成本地重建后,按照解码顺序判断当前块单元之前已重建、未进行环路滤波处理的块单元是否满足如下条件:条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后块单元的块单元中像素点的帧内预测参考;条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理。
本实施例中,根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理包括以下至少之一:当所述条件一、条件二和条件三同时满足时,对所述待判定的本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,并对于所述本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用采样点自适应加性偏移量滤波器SAO进行滤波处理;当满足所述条件一和条件二时,对所述待判定的本地重建块单元中的未进行水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;当满足所述条件一和条件三时,对所述待判定的本地重建块单元中的未进行垂直方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;否则,不对所述待判定的本地重建块单元使用DF和SAO进行滤波处理。
本实施例中,根据所述限制范围信息对重建块进行环路滤波包括:根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长。
本实施例中,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:确定在当前本地重建块单元同时满足下述条件:条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考。
本实施例中,还包括:在当前本地重建块单元之后,按照解码顺序,等待本地重建模块输出了M个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行环路滤波处理。
本实施例中,M为当前本地重建块单元与对应块单元之间所包含的最小块单元的数量。
本实施例中,对所述当前本地重建块单元进行环路滤波处理包括:对所述本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用SAO进行滤波处理。
本实施例中,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:在当前本地重建块单元同时满足条件一和条件二时,当前本地重建块单元与对应块单元之间所包含的块单元的数量eM,在当前本地重建块单元同时满足条件一和条件三时,当前本地重建块单元与对应块单元之间所包含的块单元的数量vM,其中:条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理。
本实施例中,根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理包括以下情况至少之一:情况一:eM的值等于vM;在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了eM或vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行环路滤波处理;
对所述当前本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述当前本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用SAO进行滤波处理;情况二:eM的值小于vM;在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了eM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波,继续等待本地重建模块输出vM–eM个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波;对DF处理输出的本地重建块使用SAO进行滤波处理;情况三:eM的值大于vM;在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波,继续等待本地重建模块输出eM–vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波;对DF处理输出的本地重建块使用SAO进行滤波处理。
本实施例中,从码流中获取IBC模式的BV的限制范围信息,包括:从以下数据单元至少之一中获取所述BV的第一限制范围的信息:视频参数集VPS中的档次、等级、级别信息,序列参数集SPS中的档次、等级、级别;和/或,VPS中除档次、等级、级别信息之外的数据单元,SPS中除档次、等级、级别信息之外的数据单元,图像参数集PPS,分片划分头信息Slice Segment Header,补充增强信息SEI,用户自定义数据单元。
根据本发明的再一实施例,提供了一种编码装置,包括:第一确定模块,设置为确定帧内块复制IBC模式的块复制矢量BV的限制范围信息;写入模块,设置为将所述限制范围信息写入码流。
本实施例中,所述装置包括:第一环路滤波模块,设置为根据所述限制范围信息对重建块进行环路滤波。
根据本发明的再一实施例,还提供了一种解码装置,包括:获取模块,设置为从码流中获取帧内块复制IBC模式的块复制矢量BV的限制范围信息;第二确定模块,设置为根据所述限制范围信息确定IBC模式的BV的限制范围。
本实施例中,所述装置还包括:第二环路滤波模块,设置为根据所述限制范围对重建块进行环路滤波。
根据本发明的还一实施例,提供了一种电子设备,包括上述编码装置,和/或,包括上述解码装置。
本实施例中,所述电子设备包括:视频通信应用中相关码流生成设备和/或接收播放设备。
本实施例中,所述电子设备包括:手机、计算机、服务器、机顶盒、便携式移动终端、数字摄像机,电视广播系统设备。
通过本发明实施例,采用确定帧内块复制模式的块复制矢量的限制范围信息;将所述限制范围信息写入码流的方式,解决了相关技术中引用IBC后无法确定BV范围,使得数据处理效率降低的问题,能够提升数据处理效率,同时也能够保证编码或解码过程的顺利实施。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的编码方法的流程图;
图2是根据本发明实施例的编码装置的结构框图;
图3是根据本发明实施例的解码方法的流程图;
图4是根据本发明实施例的解码装置的结构框图;
图5是根据本发明实施例的电子设备的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
考虑到引入IBC之后的影响,在本实施例中,提供了一种编码方法,图1是根据本发明实施例的编码方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,确定帧内块复制(IBC)模式的块复制矢量(BV)的限制范围信息;
步骤S104,将所述限制范围信息写入码流。
本实施例通过上述步骤,在编码过程中将BV的限制范围信息写入码流,从而使得其他设备能够从码流中获取到BV的限制范围信息,进而确定BV的限制范围,使得IBC的影响得到有效控制,解决了相关技术中引用IBC后无法确定BV范围,使得数据处理效率降低的问题,能够提升数据处理效率,同时也能够保证编码或解码过程的顺利实施。
在本实施例中还可以根据所述限制范围信息对重建块进行环路滤波。其中本文中的环路滤波的实施方式可以是块层环路滤波。对于编码器的写码流操作而言,可以在确定BV的限制范围信息之后即写入码流,也可以在对图像编码之后再将BV的限制范围信息一次性写入码流。
本实施例中,确定帧内块复制IBC模式的块复制矢量BV的限制范围信息可以包括以下至少之一:根据其所使用的档次(Profile)、等级(tier)、级别(level)确定BV的第一限制范围;根据对图像的瓦片(Tile)、分片(Slice)边界,确定BV的第二限制范围;根据与解码器能力协商情况,确定BV的第三限制范围;将所述第一限制范围、所述第二限制范围和所述第三限制范围的交集,作为编码过程中使用的IBC模式的BV的第四限制范围。
其中,将所述限制范围信息写入码流可以包括:将BV的第一限制范围的信息写入以下数据单元至少之一:视频参数集(VPS)中的档次、等级、级别信息,序列参数集(SPS)中的档次、等级、级别;和/或,将BV的第四限制范围的信息写入以下数据单元至少之一:VPS中除档次、等级、级别信息之外的数据单元,SPS中除档次、等级、级别信息之外的数据单元,图像参数集(PPS),分片划分头信息(Slice Segment Header),补充增强信息(SEI),用户自定义数据单元。
本实施例中,根据所述限制范围信息对重建块进行环路滤波包括:根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。具体地,可以根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;按照编码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第八范围;将所述第八范围与传统帧内预测模式中使用的块单元范围的并集作为第九范围;将所述第一块单元至第九范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。此外,在确定出等待时长后,可以在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
其中,所述传统帧内预测模式是直接使用当前编码块的相邻像素点作为参考像素点构造预测块。其中,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
需要说明的是,在本文中所提到的块单元,可以包括以下至少之一:最大编码单元(Coding Unit,CU),最小CU,最大变换单元(Transform Unit,TU),最小TU等。而上述执行过程中,当前编码块可以指CU、PU、TU,传统帧内预测模式的预测块是针对TU构造的预测块。
其中,还可以根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第九范围限制在所述第一块单元所在的Tile和/或分片范围内。
其中,上述的传统帧内预测模式中使用的块单元范围可以包括以下范围至少之一或者以下范围中两个或以上个范围的并集:按照块单元的编码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第五范围;确定对块单元进行去方块滤波(DF)所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围,作为第六范围;对于下相邻的块单元,确定其右边界上的像素点用作帧内预测参考的块单元范围,作为第七范围。
本实施例中,根据所述限制范围信息对重建块进行环路滤波包括:根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理。具体地,在对当前块单元完成本地重建后,按照编码顺序判断当前块单元之前已重建、未进行环路滤波处理的块单元是否满足如下条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后块单元的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理。
具体地,根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理包括以下至少之一:
当所述条件一、条件二和条件三同时满足时,对所述待判定的本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,并对于所述本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用采样点自适应加性偏移量滤波器(SAO)进行滤波处理;
当满足所述条件一和条件二时,对所述待判定的本地重建块单元中的未进行水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
当满足所述条件一和条件三时,对所述待判定的本地重建块单元中的未进行垂直方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
否则,不对所述待判定的本地重建块单元使用DF和SAO进行滤波处理。
本实施例中,根据所述限制范围信息对重建块进行环路滤波可以包括:根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长。具体地,确定在当前本地重建块单元同时满足下述条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考。
本实施例中,在当前本地重建块单元之后,按照编码顺序,等待本地重建模块输出了M个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行环路滤波处理。其中,M可以为当前本地重建块单元与对应块单元之间所包含的最小块单元的数量。
其中,对所述当前本地重建块单元进行环路滤波处理可以包括:对所述本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用SAO进行滤波处理。
具体地,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长还可以包括:在当前本地重建块单元同时满足以下条件一和条件二时,当前本地重建块单元与对应块单元之间所包含的块单元的数量eM,在当前本地重建块单元同时满足以下条件一和条件三时,当前本地重建块单元与对应块单元之间所包含的块单元的数量vM,其中:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理。
具体地,根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理可以包括以下情况至少之一:
情况一:eM的值等于vM;
在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了eM或vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行环路滤波处理;
对所述当前本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述当前本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;
对DF处理输出的本地重建块使用SAO进行滤波处理;
情况二:eM的值小于vM;
在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了eM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波,继续等待本地重建模块输出vM–eM个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波;
对DF处理输出的本地重建块使用SAO进行滤波处理;
情况三:eM的值大于vM;
在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波,继续等待本地重建模块输出eM–vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波;
对DF处理输出的本地重建块使用SAO进行滤波处理。
对应于上述编码方法,在本实施例中还提供了一种编码装置,该装置设置为实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明实施例的编码装置的结构框图,如图2所示,该装置包括第一确定模块22和写入模块24,下面对各个模块进行详细说明:
第一确定模块22,设置为确定帧内块复制IBC模式的块复制矢量BV的限制范围信息;写入模块24,与第一确定模块22相连,设置为将所述限制范围信息写入码流。
本实施例中还可以包括第一环路滤波模块,与写入模块24相连,设置为根据所述限制范围信息对重建块进行环路滤波。
在本实施例中,还提供了一种解码方法,图3是根据本发明实施例的解码方法的流程图,如图3所示,该方法包括如下步骤:
步骤S302,从码流中获取帧内块复制(IBC)模式的块复制矢量(BV)的限制范围信息;
步骤S304,根据所述限制范围信息确定IBC模式的BV的限制范围。其中,码流中的BV范围与最终确认的BV范围可能不同,例如码流中给出多个限制范围(Profile/Level给出一个 上限范围,其他字段给出一个实际使用的范围),最终使用的可能是多个限制范围的交集或并集。
本实施例通过上述步骤,在解码过程中从码流中获取到BV的限制范围信息,进而确定BV的限制范围,使得IBC的影响得到有效控制,解决了相关技术中引用IBC后无法确定BV范围,使得数据处理效率降低的问题,能够提升数据处理效率,同时也能够保证编码或解码过程的顺利实施。
在本实施例中,还可以根据所述限制范围信息对重建块进行环路滤波。其中本文中的环路滤波的实施方式可以是块层环路滤波。
本实施例中,根据所述限制范围信息对重建块进行块层环路滤波包括:根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。具体地,可以根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;按照解码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第四范围;将所述第四范围与传统帧内预测模式中使用的块单元范围的并集作为第五范围;将所述第一块单元至第五范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。
其中,所述传统帧内预测模式直接使用当前解码块的相邻像素点作为参考像素点构造预测块,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
此外,在确定出等待时长后,可以在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
其中,还可以根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第五范围限制在所述第一块单元所在的Tile和/或分片范围内。
其中,所述传统帧内预测模式中使用的块单元范围可以包括以下范围至少之一或者以下两个或者以上的范围的并集:按照块单元的解码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第一范围;确定对块单元进行去方块滤波(DF)所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围,作为第二范围;对于下相邻的块单元,确定其右边界上的像素点用作帧内预测参考的块单元范围,作为第三范围。
本实施例中,根据所述限制范围信息对重建块进行环路滤波包括:根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理。具体地,在对当前块单元完成本地重建后,按照解码顺序判断当前块单元之前已重建、未进行环路滤波处理的块单元是否满足如下条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后块单元的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理。
其中,根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理可以包括以下至少之一:
当所述条件一、条件二和条件三同时满足时,对所述待判定的本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,并对于所述本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用采样点自适应加性偏移量滤波器(SAO)进行滤波处理;
当满足所述条件一和条件二时,对所述待判定的本地重建块单元中的未进行水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
当满足所述条件一和条件三时,对所述待判定的本地重建块单元中的未进行垂直方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
否则,不对所述待判定的本地重建块单元使用DF和SAO进行滤波处理。
本实施例中,根据所述限制范围信息对重建块进行环路滤波还包括:根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长。具体地,确定在当前本地重建块单元同时满足下述条件:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考。
本实施例中,在当前本地重建块单元之后,按照解码顺序,等待本地重建模块输出了M个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行环路滤波处理。其中,M可以为当前本地重建块单元与对应块单元之间所包含的最小块单元的数量。
其中,对所述当前本地重建块单元进行环路滤波处理可以包括:对所述本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用SAO进行滤波处理。
具体地,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长还可以包括:
在当前本地重建块单元同时满足条件一和条件二时,当前本地重建块单元与对应块单元之间所包含的块单元的数量eM,在当前本地重建块单元同时满足条件一和条件三时,当前本地重建块单元与对应块单元之间所包含的块单元的数量vM,其中:
条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理。
其中,根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理可以包括以下情况至少之一:
情况一:eM的值等于vM;
在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了eM或vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行环路滤波处理;
对所述当前本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述当前本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;
对DF处理输出的本地重建块使用SAO进行滤波处理;
情况二:eM的值小于vM;
在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了eM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波,继续等待本地重建模块输出vM–eM个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波;
对DF处理输出的本地重建块使用SAO进行滤波处理;
情况三:eM的值大于vM;
在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波,继续等待本地重建模块输出eM–vM个块单元所覆盖的像素点本 地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波;
对DF处理输出的本地重建块使用SAO进行滤波处理。
本实施例中,从码流中获取IBC模式的BV的限制范围信息可以包括:从以下数据单元至少之一中获取所述BV的第一限制范围的信息:视频参数集(VPS)中的档次、等级、级别信息,序列参数集(SPS)中的档次、等级、级别;和/或,VPS中除档次、等级、级别信息之外的数据单元,SPS中除档次、等级、级别信息之外的数据单元,图像参数集(PPS),分片划分头信息(Slice Segment Header),补充增强信息(SEI),用户自定义数据单元。
对应于上述解码方法,在本实施例中还提供了一种解码装置,该装置设置为实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的解码装置的结构框图,如图4所示,该装置包括获取模块42和第二确定模块44,下面对各个模块进行详细说明:
获取模块42,设置为从码流中获取帧内块复制(IBC)模式的块复制矢量(BV)的限制范围信息;第二确定模块44,与获取模块42相连,设置为根据所述限制范围信息确定IBC模式的BV的限制范围。
本实施例中,所述装置还可以包括第二环路滤波模块,与第二确定模块44相连,设置为根据所述限制范围信息对重建块进行环路滤波。
在本实施例中,还提供了一种电子设备,图5是根据本发明实施例的电子设备的结构框图,如图5所示,该电子设备包括如图2所述的编码装置20,和/或,包括如如图4所述的解码装置40。
本实施例中,所述电子设备可以包括:视频通信应用中相关码流生成设备和/或接收播放设备。具体地,所述电子设备可以为:手机、计算机、服务器、机顶盒、便携式移动终端、数字摄像机,电视广播系统设备等。
下面结合优选实施例进行说明,以下优选实施例结合了上述实施例及其优选实施方式。
在以下优选实施例中,以将BV的限制范围应用于编解码领域为例进行说明,提供了一种视频编解码领域的使用环路滤波的编解码方法和装置及设备。
所述编码方法包括:确定帧内块复制IBC模式的块复制矢量BV的限制范围;将所述BV的限制范围信息写入码流;根据所述BV的限制范围对重建块进行块层环路滤波。即将当前块与预测参考块之间偏移矢量的范围信息写入码流。
所述解码方法包括:解析码流,获得帧内块复制IBC模式的块复制矢量BV的限制范围;根据所述BV的限制范围对重建块进行块层环路滤波。即解析码流,获得当前块与预测参考块之间偏移矢量的范围信息;根据所述偏移矢量的范围信息,对解码图像中的块执行环路滤波操作。
实施例1:
本优选实施例提供一种使用环路滤波器的解码方法,用于使用IBC模式的解码过程或解码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nx1或1xN的串划分。串匹配(String Matching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
本实施例的使用环路滤波的解码方法如下所述。
步骤S702,解码器解析视频码流,获得IBC模式中块复制矢量BV的范围信息。
块复制矢量BV设置为指示使用IBC模式的解码块与其预测参考块之间的相对偏移。
解码器可通过解析以下所述单元的至少之一,从码流中获取BV的范围信息,包括:
视频参数集(Video Parameter Set,VPS)中的档次(Profile)、等级(tier)、级别(level)信息;
VPS中除档次、等级、级别信息之外的数据单元;
序列参数集(Sequence Parameter Set,SPS)中的档次(Profile)、等级(tier)、级别(level)信息;
SPS中档次、等级、级别信息之外的数据单元;
图像参数集(Picture Parameter Set,PPS);
分片划分头信息(Slice Segment Header);
补充增强信息(Supplemental Enhancement Information,SEI);
用户自定义数据单元。
步骤S704,解码器根据BV范围信息,确定块层(block level)重建过程与环路滤波过程之间的等待时长。
环路滤波过程中包含两个滤波器:去方块滤波器DF和采样点自适应加性偏移量滤波器SAO。由于帧内预测块解码过程中需要使用未经过环路滤波处理的像素点采样值的恢复值来构造预测参考块,因此,解码器需要等待待处理块中所有像素点均不用作后续解码块的帧内预测参考后,再执行环路滤波过程。
对于DF,除需要使用当前处理块内的像素点,还需要使用相邻块的恢复像素点。因此,解码器需要等待当前块和相邻块的像素点均不用作帧内预测参考后,再执行DF。
解码器在DF之后才执行SAO。同时,SAO仅使用当前处理块内的恢复像素点。因此,解码器只要等待至DF执行之后,即可执行SAO。
对于传统的使用相邻像素点作为预测参考的帧内预测模式而言,解码器解析参数集码流,获得解码过程中相关的块单元大小,确定在块重建模块执行后、环路滤波模块执行前需要等 待的时长。这些块单元包括以下至少之一:最大编码单元(Coding Unit,CU),最小CU,最大变换单元(Transform Unit,TU),最小TU。这里,等待时长等于N表示:延迟N个块单元后对该重建块执行环路滤波操作。
具体地,对于传统帧内预测模式,根据块解码顺序,当前处理块中的右边界和下边界像素点可能用作后续解码块的帧内预测参考。以下,以使用最大CU为例进行说明,使用其他块单元的情况与此类似。
其中,所述传统帧内预测模式直接使用当前解码块的相邻像素点作为参考像素点构造预测块。所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
按照最大CU的解码顺序,解码器根据最大CU的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用最大CU的右边界和下边界像素点作为帧内预测参考的最大CU的范围(即范围1)。同时,解码器确定对最大CU进行DF所使用的相邻最大CU。对于左相邻的最大CU,确定其下边界上的像素点用作帧内预测参考的最大CU范围(即范围2);对于下相邻的最大CU,确定其右边界上的像素点用作帧内预测参考的最大CU范围(即范围3)。
对于IBC模式,解码器根据BV范围信息,按照解码顺序,确定使用该最大CU(记为“第一CU”)中像素点作为参考的IBC块所在的最后一个最大CU的位置(记为“第二CU”)。按照最大CU解码顺序,第一CU和第二CU及二者之间的最大CU作为范围4(包含第二CU)。
解码器将范围1、范围2、范围3和范围4的并集设置为范围5,并根据当前图像的瓦片(Tile)划分信息和该最大CU所在分片的起始位置,将范围5限制在该最大CU所在的Tile和分片范围内。解码器将该最大CU至范围5最后一个最大CU之间包含的最大CU的数量(不包含该最大CU、但包含范围5中的最后一个最大CU)作为块层重建过程与环路滤波过程之间的等待时长,记为M。
步骤S706,解码器在获得解码块重建块后,在等待时长后,将重建块交给环路滤波模块进行DF和SAO。
以步骤S704中的最大CU作为块单位为例,使用其他块单元的情况与此类似。
优选地,解码器在完成当前最大CU(这里标记为“第一最大CU”)的重建之后,按照解码顺序,在完成后续M个最大CU的重建之后,将第一最大CU的重建数据交给环路滤波模块,依次进行DF和SAO处理。
优选地,按照解码顺序,解码器中的块重建模块从分片或图像中的第一个最大CU开始进行重建,将重建的最大CU数据写入缓存。当重建模块开始处理分片或图像中的第M+2个最大CU时,环路滤波模块开始按照解码顺序从该分片或图像中的第一个最大CU开始依次对各最大CU的重建数据进行环路滤波处理。
环路滤波模块在对最大CU完成未进行的水平方向滤波和/或垂直方向滤波的DF处理,对于第一最大CU相邻解码块的重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的重建块使用SAO进行滤波处理,并将SAO模块输出数据写入解码图像缓存。
实施例2:
实施例1中,解码器以选定的某个块单元,确定以该选定的块单元数量来计数的最大等待时长。环路滤波模块是在经过最大等待时长后开始对重建块进行环路滤波处理。本实施例提供一种可动态进行块层环路滤波的解码方法,用于使用IBC模式的解码过程或解码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nx1或1xN的串划分。串匹配(String Matching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S802,与步骤S702完全相同。
步骤S804,解码器根据BV范围信息,确定是否可对已解码块进行环路滤波处理的指示信息。
解码器记录重建模块执行过程中,各编码树块(Coding Tree Unit,CTU)中的CU划分情况。解码器可以通过直接保存CTU和CU中的split_cu_flag的取值的方法,记录CTU中的CU划分情况。其中,split_cu_flag的取值可通过直接解析块层码流获得。
解码器在对当前CU完成重建后,判断:按照解码顺序,对当前CU之前已重建、未进行环路滤波处理的CU,判定如下条件:
条件1:待判定的重建CU的右边界和下边界像素点已经不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考;
条件2:待判定的重建CU的右边界相邻CU中的下边界像素点不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考;
条件3:待判定的重建CU的下边界相邻CU中的右边界像素点不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考。
当上述三个条件同时满足时,解码器对该待判定的重建CU标记为“可进行环路滤波处理”;当满足条件1和条件2时,解码器对该待判定的重建CU标记为“可进行水平方向的DF”;当满足条件1和条件3时,解码器对该待判定的重建CU标记为“可进行垂直方向的DF”。除此之外的其他条件下,解码器对该待判定的重建CU标记为“不可进行环路滤波处理”。
步骤S806,环路滤波模块根据CU的标记信息,对其进行环路滤波处理。
情况1:
当重建CU的标记信息是“可进行环路滤波处理”时,环路滤波模块对该CU完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻解码块的重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的重建块使用SAO进行滤波处理,并将SAO模块输出数据写入解码图像缓存。
情况2:
当重建CU的标记信息是“可进行垂直方向的DF”或“可进行水平方向的DF”时,对于该CU中的未进行垂直方向DF或水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF或水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
若该重建CU中垂直方向和水平方向均已经了DF滤波,则环路滤波模块对该重建CU使用SAO进行滤波,并将SAO模块输出数据写入解码图像缓存。否则,环路滤波模块不对该重建CU使用SAO进行滤波,将该重建CU暂存在缓存中,等待进一步的与DF相关的操作指令,所述与DF相关的操作指令包括以下之一:“可进行环路滤波处理”,“可进行垂直方向的DF”,“可进行水平方向的DF”。
情况3:
当重建CU的标记信息是“不可进行环路滤波处理”时,环路滤波模块不对该重建CU使用DF和SAO进行滤波处理。
实施例3:
实施例2所述方法中,解码器在重建当前CU后判断是否可以对之前已重建的CU进行环路滤波处理,并对可以进行全部或部分环路滤波处理的CU进行滤波。本实施例提供一种直接对当前重建CU设置环路滤波标记的解码方法,用于使用IBC模式的解码过程或解码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nx1或1xN的串划分。串匹配(String Matching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S902,与步骤S702完全相同。
步骤S904,解码器根据BV范围信息,确定对当前重建CU进行环路滤波的等待时长参数。
解码器记录重建模块执行过程中,各编码树块(Coding Tree Unit,CTU)中的CU划分情况。解码器可以通过直接保存CTU和CU中的split_cu_flag的取值的方法,记录CTU中的CU划分情况。其中,split_cu_flag的取值可通过直接解析块层码流获得。
以最小CU为单位,按照解码顺序,解码器确定在当前重建CU同时满足下述条件,当前CU与对应CU之间所包含的最小CU的数量M。条件包括:
条件1:待判定的重建CU的右边界和下边界像素点已经不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考;
条件2:待判定的重建CU的右边界相邻CU中的下边界像素点不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考;
条件3:待判定的重建CU的下边界相邻CU中的右边界像素点不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考。
步骤S906,环路滤波模块在当前重建CU之后,按照解码顺序,等待重建模块输出了M个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行环路滤波处理。
环路滤波模块对该CU完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻解码块的重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的重建块使用SAO进行滤波处理,并将SAO模块输出数据写入解码图像缓存。
实施例4:
在实施例3的基础上,使用更加灵活的等待时长,以更加充分地利用解码器处理资源。本实施例提供一种直接对当前重建CU设置环路滤波标记的解码方法,用于使用IBC模式的解码过程或解码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nx1或1xN的串划分。串匹配(String Matching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S1002,与步骤S702完全相同。
步骤S1004,解码器根据BV范围信息,确定对当前重建CU进行环路滤波的等待时长参数。
解码器记录重建模块执行过程中,各编码树块(Coding Tree Unit,CTU)中的CU划分情况。解码器可以通过直接保存CTU和CU中的split_cu_flag的取值的方法,记录CTU中的CU划分情况。其中,split_cu_flag的取值可通过直接解析块层码流获得。
以最小CU为单位,按照解码顺序,解码器确定在当前重建CU同时满足下述条件1和2时,当前CU与对应CU之间所包含的最小CU的数量eM。解码器确定在当前重建CU同时满足下述条件1和3时,当前CU与对应CU之间所包含的最小CU的数量vM。条件包括:
条件1:待判定的重建CU的右边界和下边界像素点已经不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考;
条件2:待判定的重建CU的右边界相邻CU中的下边界像素点不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考;
条件3:待判定的重建CU的下边界相邻CU中的右边界像素点不用作当前重建CU之后(按照解码顺序)的CU中像素点的帧内预测参考。
步骤S1006,环路滤波模块根据CU的标记信息,对其进行环路滤波处理。
情况1:eM的值等于vM
在这种情况下,环路滤波模块在当前重建CU之后,按照解码顺序,等待重建模块输出了eM(或vM)个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行环路滤波处理。
环路滤波模块对该CU完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻解码块的重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的重建块使用SAO进行滤波处理,并将SAO模块输出数据写入解码图像缓存。
情况2:eM的值小于vM
在这种情况下,环路滤波模块在当前重建CU之后,按照解码顺序,等待重建模块输出了eM个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行垂直方向的DF滤波,并标记(包括相邻块)已进行DF的垂直方向滤波。环路滤波模块继续等待重建模块输出(vM–eM)个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行水平方向的DF滤波,并标记(包括相邻块)已进行DF的水平方向滤波。
环路滤波模块对DF模块输出的经滤波处理的重建块使用SAO进行滤波处理,并将SAO模块输出数据写入解码图像缓存。
情况3:eM的值大于vM
在这种情况下,环路滤波模块在当前重建CU之后,按照解码顺序,等待重建模块输出了vM个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行水平方向的DF滤波,并标记(包括相邻块)已进行DF的水平方向滤波。环路滤波模块继续等待重建模块输出(eM–vM)个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行垂直方向的DF滤波,并标记(包括相邻块)已进行DF的垂直方向滤波。
环路滤波模块对DF模块输出的经滤波处理的重建块使用SAO进行滤波处理,并将SAO模块输出数据写入解码图像缓存。
实施例5:
本实施例提供一种使用环路滤波的编码方法,用于使用IBC模式的编码过程或编码器。该编码过程或编码器可产生前述实施例1至实施例4的解码过程或解码器可正确进行解码处理的码流。
步骤S1102,编码器确定IBC模式中块复制矢量BV的范围信息。
若适用,编码器根据其所使用的档次(Profile)、等级(tier)、级别(level)确定BV的范围信息,即为范围1。
若适用,编码器根据对图像的瓦片(Tile)、分片(Slice)的划分边界,确定BV的最大范围,即为范围2。
若适用,编码器根据与解码器能力协商情况(如解码器的内存访问限制、流水线设计等),确定BV的范围,即为范围3。
编码器将范围1、范围2和范围3的交集,作为编码过程中使用的IBC模式的BV范围,即为范围4。
步骤S1104,编码器将BV范围信息写入码流。
若适用,编码器将范围1信息写入以下数据单元:
视频参数集(Video Parameter Set,VPS)中的档次(Profile)、等级(tier)、级别(level)信息;和/或
序列参数集(Sequence Parameter Set,SPS)中的档次(Profile)、等级(tier)、级别(level)。
若适用,编码器将BV的范围信息写入码流,将范围4信息写入以下所述单元的至少之一,包括:
VPS中除档次、等级、级别信息之外的数据单元;
SPS中档次、等级、级别信息之外的数据单元;
图像参数集(Picture Parameter Set,PPS);
分片划分头信息(Slice Segment Header);
补充增强信息(Supplemental Enhancement Information,SEI);
用户自定义数据单元。
步骤S1106,编码器对输入的视频图像进行编码,并对编码后的块进行本地重建,得到本地重建块。
编码器在使用IBC模式对编码块进行编码的过程中,将保证IBC模式所使用的BV的大小在范围4之内。即:在搜索IBC模式的预测参考块时,不使用范围4之外的像素点作为预测参考。
步骤S1108,编码器根据BV范围信息,确定块层(block level)本地重建过程与环路滤波过程之间的等待时长。
环路滤波过程中包含两个滤波器:去方块滤波器DF和采样点自适应加性偏移量滤波器SAO。由于帧内预测块解码过程中需要使用未经过环路滤波处理的像素点采样值的恢复值来 构造预测参考块,因此,编码器需要等待待处理块中所有像素点均不用作后续编码块的帧内预测参考后,再执行环路滤波过程。
对于DF,除需要使用当前处理块内的像素点,还需要使用相邻块的恢复像素点。因此,编码器需要等待当前块和相邻块的像素点均不用作帧内预测参考后,再执行DF。
编码器在DF之后才执行SAO。同时,SAO仅使用当前处理块内的恢复像素点。因此,编码器只要等待至DF执行之后,即可执行SAO。
对于传统的使用相邻像素点作为预测参考的帧内预测模式而言,编码器根据相关的块单元大小,确定在本地块重建模块执行后、环路滤波模块执行前需要等待的时长。这些块单元包括以下至少之一:最大编码单元(Coding Unit,CU),最小CU,最大变换单元(Transform Unit,TU),最小TU。这里,等待时长等于N表示:延迟N个块单元后对该本地重建块执行环路滤波操作。
具体地,对于传统帧内预测模式,根据块编码顺序,当前处理块中的右边界和下边界像素点可能用作后续编码块的帧内预测参考。以下,以使用最大CU为例进行说明,使用其他块单元的情况与此类似。
其中,所述传统帧内预测模式直接使用当前编码块的相邻像素点作为参考像素点构造预测块。所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
按照最大CU的编码顺序,编码器根据最大CU的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用最大CU的右边界和下边界像素点作为帧内预测参考的最大CU的范围(即范围5)。同时,编码器确定对最大CU进行DF所使用的相邻最大CU。对于左相邻的最大CU,确定其下边界上的像素点用作帧内预测参考的最大CU范围(即范围6);对于下相邻的最大CU,确定其右边界上的像素点用作帧内预测参考的最大CU范围(即范围7)。
对于IBC模式,编码器根据BV范围信息,按照编码顺序,确定使用该最大CU(记为“第一CU”)中像素点作为参考的IBC块所在的最后一个最大CU的位置(记为“第二CU”)。按照最大CU编码顺序,第一CU和第二CU及二者之间的最大CU作为范围8(包含第二CU)。
解码器将范围5、范围6、范围7和范围8的并集设置为范围9,并根据当前图像的瓦片(Tile)划分信息和该最大CU所在分片的其实位置,将范围9限制在该最大CU所在的Tile和分片范围内。解码器将该最大CU至范围9最后一个最大CU之间包含的最大CU的数量(不包含该最大CU、但包含范围5中的最后一个最大CU)作为块层重建过程与环路滤波过程之间的等待时长,记为M。
步骤S1110,编码器在获得编码块本地重建块后,在等待时长后,将本地重建块交给环路滤波模块进行DF和SAO。
以步骤S1108中的最大CU作为块单位为例,使用其他块单元的情况与此类似。
优选地,编码器在完成当前最大CU(这里标记为“第一最大CU”)的重建之后,按照编码顺序,在完成后续M个最大CU的重建之后,将第一最大CU的重建数据交给环路滤波模块,依次进行DF和SAO处理,确定环路滤波参数。
优选地,按照编码顺序,编码器中的本地块重建模块从分片或图像中的第一个最大CU开始进行重建,将重建的最大CU数据写入缓存。当本地重建模块开始处理分片或图像中的第M+2个最大CU时,环路滤波模块开始按照编码顺序从该分片或图像中的第一个最大CU开始依次对各最大CU的本地重建数据进行环路滤波处理,确定环路滤波参数。
环路滤波模块在对最大CU完成未进行的水平方向滤波和/或垂直方向滤波的DF处理,对于第一最大CU相邻解码块的重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SAO进行滤波处理,并将SAO模块输出数据写入本地解码图像缓存。
实施例6:
实施例5中,编码器以选定的某个块单元,确定以该选定的块单元数量来计数的最大等待时长。环路滤波模块是在经过最大等待时长后开始对本地重建块进行环路滤波处理。本实施例提供一种可动态进行块层环路滤波的编码方法,用于使用IBC模式的编码过程或编码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nx1或1xN的串划分。串匹配(String Matching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S1202,与步骤S1102完全相同。
步骤S1204,与步骤S1104完全相同。
步骤S1206,与步骤S1106完全相同。
步骤S1208,编码器根据BV范围4信息,确定是否可对已有本地重建块进行环路滤波处理的指示信息。
编码器记录编码过程中,各编码树块(Coding Tree Unit,CTU)中的CU划分情况。编码器可以通过直接记录CTU和CU中的split_cu_flag的取值的方法,记录CTU中的CU划分情况。
编码器在对当前CU完成本地重建后,判断:按照编码顺序,对当前CU之前已重建、未进行环路滤波处理的CU,判定如下条件:
条件1:待判定的本地重建CU的右边界和下边界像素点已经不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
条件2:待判定的本地重建CU的右边界相邻CU中的下边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
条件3:待判定的本地重建CU的下边界相邻CU中的右边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考。
当上述三个条件同时满足时,编码器对该待判定的本地重建CU标记为“可进行环路滤波处理”;当满足条件1和条件2时,编码器对该待判定的本地重建CU标记为“可进行水平方向的DF”;当满足条件1和条件3时,编码器对该待判定的本地重建CU标记为“可进行垂直方向的DF”。除此之外的其他条件下,编码器对该待判定的本地重建CU标记为“不可进行环路滤波处理”。
步骤S1210,环路滤波模块根据CU的标记信息,对其进行环路滤波处理。
情况1:
当本地重建CU的标记信息是“可进行环路滤波处理”时,环路滤波模块对该CU完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻编码块的本地重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SAO进行滤波处理,并将SAO模块输出数据写入本地解码图像缓存。
情况2:
当本地重建CU的标记信息是“可进行垂直方向的DF”或“可进行水平方向的DF”时,对于该CU中的未进行垂直方向DF或水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF或水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
若该本地重建CU中垂直方向和水平方向均已经了DF滤波,则环路滤波模块对该重建CU使用SAO进行滤波,并将SAO模块输出数据写入本地解码图像缓存。否则,环路滤波模块不对该重建CU使用SAO进行滤波,将该本地重建CU暂存在缓存中,等待进一步的与DF相关的操作指令,所述与DF相关的操作指令包括以下之一:“可进行环路滤波处理”,“可进行垂直方向的DF”,“可进行水平方向的DF”。
情况3:
当本地重建CU的标记信息是“不可进行环路滤波处理”时,环路滤波模块不对该本地重建CU使用DF和SAO进行滤波处理。
实施例7:
实施例6所述方法中,编码器在重建当前CU后判断是否可以对之前已重建的CU进行环路滤波处理,并对可以进行全部或部分环路滤波处理的CU进行滤波。本实施例提供一种直接 对当前重建CU设置环路滤波标记的编码方法,用于使用IBC模式的编码过程或编码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可以是传统的矩形、正方形块划分方式,也可以是Nx1或1xN的串划分。串匹配(String Matching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S1302,与步骤S1102完全相同。
步骤S1304,与步骤S1104完全相同。
步骤S1306,与步骤S1106完全相同。
步骤S1308,编码器根据BV范围4信息,确定对当前本地重建CU进行环路滤波的等待时长参数。
编码器记录编码过程中,各编码树块(Coding Tree Unit,CTU)中的CU划分情况。编码器可以通过直接保存CTU和CU中的split_cu_flag的取值的方法,记录CTU中的CU划分情况。
以最小CU为单位,按照编码顺序,编码器确定在当前本地重建CU同时满足下述条件,当前CU与对应CU之间所包含的最小CU的数量M。条件包括:
条件1:待判定的本地重建CU的右边界和下边界像素点已经不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
条件2:待判定的本地重建CU的右边界相邻CU中的下边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
条件3:待判定的本地重建CU的下边界相邻CU中的右边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考。
步骤S1310,环路滤波模块在当前本地重建CU之后,按照编码顺序,等待本地重建模块输出了M个最小CU所覆盖的像素点重建值后,对所述当前本地重建CU进行环路滤波处理。
环路滤波模块对该CU完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻编码块的本地重建块,编码器的DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SAO进行滤波处理,并将SAO模块输出数据写入本地解码图像缓存。
实施例8:
在实施例7的基础上,使用更加灵活的等待时长,以更加充分地利用编码器处理资源。本实施例提供一种直接对当前重建CU设置环路滤波标记的编码方法,用于使用IBC模式的编码过程或编码器。需要说明的是,本实施例方法对IBC的预测块划分方式没有限定,即可 以是传统的矩形、正方形块划分方式,也可以是Nx1或1xN的串划分。串匹配(String Matching)方法是IBC使用Nx1或1xN的串划分方式时的一个特例。
步骤S1402,与步骤S1102完全相同。
步骤S1404,与步骤S1104完全相同。
步骤S1406,与步骤S1106完全相同。
步骤S1408,编码器根据BV范围4信息,确定对当前本地重建CU进行环路滤波的等待时长参数。
编码器记录编码过程中,各编码树块(Coding Tree Unit,CTU)中的CU划分情况。编码器可以通过直接保存CTU和CU中的split_cu_flag的取值的方法,记录CTU中的CU划分情况。
以最小CU为单位,按照编码顺序,编码器确定在当前本地重建CU同时满足下述条件1和2时,当前CU与对应CU之间所包含的最小CU的数量eM。编码器确定在当前本地重建CU同时满足下述条件1和3时,当前CU与对应CU之间所包含的最小CU的数量vM。条件包括:
条件1:待判定的本地重建CU的右边界和下边界像素点已经不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
条件2:待判定的本地重建CU的右边界相邻CU中的下边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考;
条件3:待判定的本地重建CU的下边界相邻CU中的右边界像素点不用作当前本地重建CU之后(按照编码顺序)的CU中像素点的帧内预测参考。
步骤S1410,环路滤波模块根据CU的标记信息,对其进行环路滤波处理。
情况1:eM的值等于vM;
在这种情况下,环路滤波模块在当前本地重建CU之后,按照编码顺序,等待本地重建模块输出了eM(或vM)个最小CU所覆盖的像素点本地重建值后,对所述当前本地重建CU进行环路滤波处理。
环路滤波模块对该CU完成未进行的水平方向和/或垂直方向的DF处理,对于该CU相邻编码块的本地重建块,DF模块标记其已经进行滤波的边界的位置以及滤波操作的属性(包括:水平方向滤波,垂直方向滤波)。
环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SAO进行滤波处理,并将SAO模块输出数据写入本地解码图像缓存。
情况2:eM的值小于vM;
在这种情况下,环路滤波模块在当前本地重建CU之后,按照编码顺序,等待本地重建模块输出了eM个最小CU所覆盖的像素点本地重建值后,对所述当前本地重建CU进行垂直方 向的DF滤波,并标记(包括相邻块)已进行DF的垂直方向滤波。环路滤波模块继续等待本地重建模块输出(vM–eM)个最小CU所覆盖的像素点重建值后,对所述当前重建CU进行水平方向的DF滤波,并标记(包括相邻块)已进行DF的水平方向滤波。
环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SAO进行滤波处理,并将SAO模块输出数据写入本地解码图像缓存。
情况3:eM的值大于vM;
在这种情况下,环路滤波模块在当前本地重建CU之后,按照编码顺序,等待本地重建模块输出了vM个最小CU所覆盖的像素点本地重建值后,对所述当前本地重建CU进行水平方向的DF滤波,并标记(包括相邻块)已进行DF的水平方向滤波。环路滤波模块继续等待本地重建模块输出(eM–vM)个最小CU所覆盖的像素点本地重建值后,对所述当前重建CU进行垂直方向的DF滤波,并标记(包括相邻块)已进行DF的垂直方向滤波。
环路滤波模块对DF模块输出的经滤波处理的本地重建块使用SAO进行滤波处理,并将SAO模块输出数据写入本地解码图像缓存。
实施例9:
本实施例提供一种电子设备实施例,包括编码器和/或解码器。
所述编码器使用前述实施例5至实施例8中任何一种编码器的实施方法,产生视频码流。
所述解码器使用前述实施例1至实施例4中任何一种解码器的实施方法,解码视频码流。
本实施例的电子设备可以是视频通信应用中相关码流生成设备和接收播放设备,例如,手机、计算机、服务器、机顶盒、便携式移动终端、数字摄像机,电视广播系统设备等。
在另外一个实施例中,还提供了一种软件,该软件设置为执行上述实施例及优选实施例中描述的技术方案。
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于光盘、软盘、硬盘、可擦写存储器等。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
工业实用性
如上所述,本发明实施例提供的一种编码方法、解码方法、装置及电子设备,具有以下有益效果:采用确定帧内块复制模式的块复制矢量的限制范围信息;将所述限制范围信息写入码流的方式,解决了相关技术中引用IBC后无法确定BV范围,使得数据处理效率降低的问题,能够提升数据处理效率,同时也能够保证编码或解码过程的顺利实施。

Claims (46)

  1. 一种编码方法,包括:
    确定帧内块复制IBC模式的块复制矢量BV的限制范围信息;
    将所述限制范围信息写入码流。
  2. 根据权利要求1所述的方法,其中,在将所述限制范围信息写入码流之前或之后,还包括:
    根据所述限制范围信息对重建块进行环路滤波。
  3. 根据权利要求1所述的方法,其中,确定帧内块复制IBC模式的块复制矢量BV的限制范围信息包括以下至少之一:
    根据其所使用的档次Profile、等级tier、级别level确定BV的第一限制范围;
    根据对图像的瓦片Tile、分片Slice边界,确定BV的第二限制范围;
    根据与解码器能力协商情况,确定BV的第三限制范围;
    将所述第一限制范围、所述第二限制范围和所述第三限制范围的交集,作为编码过程中使用的IBC模式的BV的第四限制范围。
  4. 根据权利要求3所述的方法,其中,将所述限制范围信息写入码流包括:
    将BV的第一限制范围的信息写入以下数据单元至少之一:视频参数集VPS中的档次、等级、级别信息,序列参数集SPS中的档次、等级、级别;和/或,
    将BV的第四限制范围的信息写入以下数据单元至少之一:VPS中除档次、等级、级别信息之外的数据单元,SPS中除档次、等级、级别信息之外的数据单元,图像参数集PPS,分片划分头信息Slice Segment Header,补充增强信息SEI,用户自定义数据单元。
  5. 根据权利要求2所述的方法,其中,根据所述限制范围信息对重建块进行环路滤波,包括:
    根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。
  6. 根据权利要求5所述方法,其中,在根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长之后,还包括:
    在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
  7. 根据权利要求5所述的方法,其中,
    根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;
    按照编码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第八范围;
    将所述第八范围与传统帧内预测模式中使用的块单元范围的并集作为第九范围;
    将所述第一块单元至第九范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。
  8. 根据权利要求7所述方法,其中,
    所述传统帧内预测模式直接使用当前编码块的相邻像素点作为参考像素点构造预测块,其中,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
  9. 根据权利要求7所述的方法,其中,还包括:
    根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第九范围限制在所述第一块单元所在的Tile和/或分片范围内。
  10. 根据权利要求7所述的方法,其中,所述传统帧内预测模式中使用的块单元范围包括以下范围至少之一或以下范围至少之二的并集:
    按照块单元的编码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第五范围;
    确定对块单元进行去方块滤波DF所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围,作为第六范围;对于下相邻的块单元,确定其右边界上的像素点用作帧内预测参考的块单元范围,作为第七范围。
  11. 根据权利要求2所述的方法,其中,根据所述限制范围信息对重建块进行环路滤波,包括:
    根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理。
  12. 根据权利要求11所述的方法,其中,根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理包括:
    在对当前块单元完成本地重建后,按照编码顺序判断当前块单元之前已重建、未进行环路滤波处理的块单元是否满足如下条件:
    条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
    条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后块单元的块单元中像素点的帧内预测参考;
    条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
    根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理。
  13. 根据权利要求12所述的方法,其中,根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理包括以下至少之一:
    当所述条件一、条件二和条件三同时满足时,对所述待判定的本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,并对于所述本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用采样点自适应加性偏移量滤波器SAO进行滤波处理;
    当满足所述条件一和条件二时,对所述待判定的本地重建块单元中的未进行水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行水平方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
    当满足所述条件一和条件三时,对所述待判定的本地重建块单元中的未进行垂直方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
    否则,不对所述待判定的本地重建块单元使用DF和SAO进行滤波处理。
  14. 根据权利要求2所述的方法,其中,根据所述限制范围信息对重建块进行块层环路滤波,包括:
    根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长。
  15. 根据权利要求14所述的方法,其中,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长,包括:
    确定在当前本地重建块单元同时满足下述条件:
    条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
    条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
    条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考。
  16. 根据权利要求15所述的方法,其中,还包括:
    在当前本地重建块单元之后,按照编码顺序,等待本地重建模块输出了M个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行环路滤波处理。
  17. 根据权利要求16所述的方法,其中,
    M为当前本地重建块单元与对应块单元之间所包含的最小块单元的数量。
  18. 根据权利要求16所述的方法,其中,对所述当前本地重建块单元进行环路滤波处理包括:
    对所述本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;
    对DF处理输出的本地重建块使用SAO进行滤波处理。
  19. 根据权利要求14所述的方法,其中,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:
    在当前本地重建块单元同时满足以下条件一和条件二时,当前本地重建块单元与对应块单元之间所包含的块单元的数量eM,在当前本地重建块单元同时满足以下条件一和条件三时,当前本地重建块单元与对应块单元之间所包含的块单元的数量vM,其中:
    条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
    条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
    条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
    根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理。
  20. 根据权利要求19所述的方法,其中,根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理包括以下情况至少之一:
    情况一:eM的值等于vM;
    在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了eM或vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行环路滤波处理;
    对所述当前本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述当前本地重建块单元相邻编码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;
    对DF处理输出的本地重建块使用SAO进行滤波处理;
    情况二:eM的值小于vM;
    在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了eM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波,继续等待本地重建模块输出vM–eM个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波;
    对DF处理输出的本地重建块使用SAO进行滤波处理;
    情况三:eM的值大于vM;
    在这种情况下,在当前本地重建块单元之后,按照编码顺序,等待输出了vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波,继续等待本地重建模块输出eM–vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波;
    对DF处理输出的本地重建块使用SAO进行滤波处理。
  21. 一种解码方法,包括:
    从码流中获取帧内块复制IBC模式的块复制矢量BV的限制范围信息;
    根据所述限制范围信息确定IBC模式的BV的限制范围。
  22. 根据权利要求21所述的方法,其中,在根据所述限制范围信息确定IBC模式的BV的限制范围之后,还包括:
    根据所述限制范围对重建块进行环路滤波。
  23. 根据权利要求22所述的方法,其中,根据所述限制范围信息对重建块进行环路滤波,包括:
    根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长。
  24. 根据权利要求23所述的方法,其中,在根据所述限制范围信息确定块层重建过程与环路滤波过程之间的等待时长之后,还包括:
    在块层重建过程开始执行后,经过所述等待时长,环路滤波过程开始执行。
  25. 根据权利要求23所述的方法,其中,
    根据所述限制范围信息,确定使用当前的第一块单元中像素点作为参考的IBC块所在的最后一个块单元,作为第二块单元;
    按照解码顺序,确定所述第一块单元与第二块单元及二者之间的块单元作为第四范围;
    将所述第四范围与传统帧内预测模式中使用的块单元范围的并集作为第五范围;
    将所述第一块单元至第五范围的最后一个块单元之间包含的块单元的数量,作为所述等待时长。
  26. 根据权利要求25所述的方法,其中,
    所述传统帧内预测模式直接使用当前解码块的相邻像素点作为参考像素点构造预测块,其中,所述传统帧内预测模式的相邻像素点的位置是预先设定的,不使用位置偏移矢量指示。
  27. 根据权利要求25所述的方法,其中,还包括:
    根据当前图像的瓦片划分信息和/或所述第一块单元所在分片的起始位置,将所述第五范围限制在所述第一块单元所在的Tile和/或分片范围内。
  28. 根据权利要求25所述的方法,其中,所述传统帧内预测模式中使用的块单元范围包括以下范围至少之一或以下范围至少之二的并集:
    按照块单元的解码顺序,根据块单元的大小和帧内预测过程中所需要使用的相邻参考像素点的最大数量,确定使用可能使用块单元的右边界和下边界像素点作为帧内预测参考的块单元范围,作为第一范围;
    确定对块单元进行去方块滤波DF所使用的相邻块单元,对于右相邻的块单元,确定其下边界上的像素点用作帧内预测参考的块单元范围,作为第二范围;对于下相邻的块单元,确定其右边界上的像素点用作帧内预测参考的块单元范围,作为第三范围。
  29. 根据权利要求22所述的方法,其中,根据所述限制范围信息对重建块进行环路滤波包括:
    根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理。
  30. 根据权利要求29所述的方法,其中,根据所述限制范围信息确定是否可对已有本地重建块进行环路滤波处理包括:
    在对当前块单元完成本地重建后,按照解码顺序判断当前块单元之前已重建、未进行环路滤波处理的块单元是否满足如下条件:
    条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
    条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后块单元的块单元中像素点的帧内预测参考;
    条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
    根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理。
  31. 根据权利要求30所述的方法,其中,根据待判定的本地重建块单元对所述条件的满足情况,进行环路滤波处理包括以下至少之一:
    当所述条件一、条件二和条件三同时满足时,对所述待判定的本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,并对于所述本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;对DF处理输出的本地重建块使用采样点自适应加性偏移量滤波器SAO进行滤波处理;
    当满足所述条件一和条件二时,对所述待判定的本地重建块单元中的未进行水平方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行水平方向DF,标记其已经 进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
    当满足所述条件一和条件三时,对所述待判定的本地重建块单元中的未进行垂直方向DF的待滤波像素点,环路滤波模块中的DF模块对其进行垂直方向DF,标记其已经进行滤波的边界的位置以及滤波操作的属性;判断DF处理输出的本地重建块是否在垂直方向和水平方向均已进行了DF滤波,如果是,则使用SAO进行滤波处理;
    否则,不对所述待判定的本地重建块单元使用DF和SAO进行滤波处理。
  32. 根据权利要求22所述的方法,其中,根据所述限制范围信息对重建块进行环路滤波包括:
    根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长。
  33. 根据权利要求32所述的方法,其中,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:
    确定在当前本地重建块单元同时满足下述条件:
    条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
    条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
    条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考。
  34. 根据权利要求33所述的方法,其中,还包括:
    在当前本地重建块单元之后,按照解码顺序,等待本地重建模块输出了M个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行环路滤波处理。
  35. 根据权利要求34所述的方法,其中,
    M为当前本地重建块单元与对应块单元之间所包含的最小块单元的数量。
  36. 根据权利要求34所述的方法,其中,对所述当前本地重建块单元进行环路滤波处理包括:
    对所述本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;
    对DF处理输出的本地重建块使用SAO进行滤波处理。
  37. 根据权利要求32所述的方法,其中,根据所述限制范围信息确定对当前本地重建块单元进行环路滤波的等待时长包括:
    在当前本地重建块单元同时满足条件一和条件二时,当前本地重建块单元与对应块单元之间所包含的块单元的数量eM,在当前本地重建块单元同时满足条件一和条件三时,当前本地重建块单元与对应块单元之间所包含的块单元的数量vM,其中:
    条件一:待判定的本地重建块单元的右边界和下边界像素点已经不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
    条件二:待判定的本地重建块单元的右边界相邻块单元中的下边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
    条件三:待判定的本地重建块单元的下边界相邻块单元中的右边界像素点不用作当前本地重建块单元之后的块单元中像素点的帧内预测参考;
    根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理。
  38. 根据权利要求37所述的方法,其中,根据eM与vM的关系,对所述当前本地重建块单元进行环路滤波处理包括以下情况至少之一:
    情况一:eM的值等于vM;
    在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了eM或vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行环路滤波处理;
    对所述当前本地重建块单元完成未进行的水平方向和/或垂直方向的DF处理,对于所述当前本地重建块单元相邻解码块的本地重建块,标记其已经进行滤波的边界的位置以及滤波操作的属性;
    对DF处理输出的本地重建块使用SAO进行滤波处理;
    情况二:eM的值小于vM;
    在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了eM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波,继续等待本地重建模块输出vM–eM个块单元所覆盖的像素点重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波;
    对DF处理输出的本地重建块使用SAO进行滤波处理;
    情况三:eM的值大于vM;
    在这种情况下,在当前本地重建块单元之后,按照解码顺序,等待输出了vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行垂直方向的DF滤波,并标记已进行DF的垂直方向滤波,继续等待本地重建模块输出eM–vM个块单元所覆盖的像素点本地重建值后,对所述当前本地重建块单元进行水平方向的DF滤波,并标记已进行DF的水平方向滤波;
    对DF处理输出的本地重建块使用SAO进行滤波处理。
  39. 根据权利要求21所述的方法,其中,从码流中获取IBC模式的BV的限制范围信息,包括:
    从以下数据单元至少之一中获取所述BV的第一限制范围的信息:视频参数集VPS中的档次、等级、级别信息,序列参数集SPS中的档次、等级、级别;和/或,VPS中除档次、等级、级别信息之外的数据单元,SPS中除档次、等级、级别信息之外的数据单元,图像参数集PPS,分片划分头信息Slice Segment Header,补充增强信息SEI,用户自定义数据单元。
  40. 一种编码装置,包括:
    第一确定模块,设置为确定帧内块复制IBC模式的块复制矢量BV的限制范围信息;
    写入模块,设置为将所述限制范围信息写入码流。
  41. 根据权利要求40所述装置,其中,还包括:
    第一环路滤波模块,设置为根据所述限制范围信息对重建块进行环路滤波。
  42. 一种解码装置,包括:
    获取模块,设置为从码流中获取帧内块复制IBC模式的块复制矢量BV的限制范围信息;
    第二确定模块,设置为根据所述限制范围信息确定IBC模式的BV的限制范围。
  43. 根据权利要求42所述的装置,其中,还包括:
    第二环路滤波模块,设置为根据所述限制范围对重建块进行环路滤波。
  44. 一种电子设备,包括如权利要求40或41所述的编码装置,和/或,包括如权利要求42或43所述的解码装置。
  45. 根据权利要求44所述的电子设备,其中,所述电子设备包括:视频通信应用中相关码流生成设备和/或接收播放设备。
  46. 根据权利要求44所述的电子设备,其中,所述电子设备包括:手机、计算机、服务器、机顶盒、便携式移动终端、数字摄像机,电视广播系统设备。
PCT/CN2015/090297 2014-09-22 2015-09-22 编码方法、解码方法、装置及电子设备 WO2016045581A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/513,495 US20170302958A1 (en) 2014-09-22 2015-09-22 Method, device and electronic equipment for coding/decoding
EP15845163.3A EP3200459B1 (en) 2014-09-22 2015-09-22 Encoding and decoding methods, encoding and decoding apparatuses
US17/531,518 US20220078479A1 (en) 2014-09-22 2021-11-19 Method, device and electronic equipment for coding/decoding based on restricting range of bv

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410486021.9A CN105430417B (zh) 2014-09-22 2014-09-22 编码方法、解码方法、装置及电子设备
CN201410486021.9 2014-09-22

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/513,495 A-371-Of-International US20170302958A1 (en) 2014-09-22 2015-09-22 Method, device and electronic equipment for coding/decoding
US17/531,518 Division US20220078479A1 (en) 2014-09-22 2021-11-19 Method, device and electronic equipment for coding/decoding based on restricting range of bv

Publications (1)

Publication Number Publication Date
WO2016045581A1 true WO2016045581A1 (zh) 2016-03-31

Family

ID=55508302

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/090297 WO2016045581A1 (zh) 2014-09-22 2015-09-22 编码方法、解码方法、装置及电子设备

Country Status (4)

Country Link
US (2) US20170302958A1 (zh)
EP (1) EP3200459B1 (zh)
CN (1) CN105430417B (zh)
WO (1) WO2016045581A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109257608B (zh) * 2017-07-13 2021-11-30 华为技术有限公司 图像处理方法、设备及系统
CN108259905A (zh) * 2018-01-15 2018-07-06 北京数码视讯科技股份有限公司 Avs2视频编码方法、装置及电子设备
US11310523B2 (en) * 2019-01-15 2022-04-19 Tencent America LLC Method and apparatus for block vector prediction with integer offsets in intra picture block compensation
WO2020227892A1 (en) * 2019-05-13 2020-11-19 Alibaba Group Holding Limited Non-local intra block copy and parallel coding for motion prediction
US11616962B2 (en) * 2019-07-15 2023-03-28 Tencent America LLC Method and apparatus for video coding
CN110798683B (zh) * 2019-08-26 2022-05-27 腾讯科技(深圳)有限公司 数据解码方法、装置和数据编码方法、装置
US11979560B2 (en) * 2021-08-25 2024-05-07 Tencent America LLC Intra block copy with an adaptive local reference range

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140226721A1 (en) * 2012-07-11 2014-08-14 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
CN103997650A (zh) * 2014-05-30 2014-08-20 华为技术有限公司 一种视频解码的方法和视频解码器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100677083B1 (ko) * 2000-01-27 2007-02-01 삼성전자주식회사 디지털 영상 데이터 통신 시스템에서의 오류 전파 억제를위한 송수신 데이터의 처리 방법 및 이를 위한 기록 매체
US20070030894A1 (en) * 2005-08-03 2007-02-08 Nokia Corporation Method, device, and module for improved encoding mode control in video encoding
US7991236B2 (en) * 2006-10-16 2011-08-02 Nokia Corporation Discardable lower layer adaptations in scalable video coding
ES2826798T3 (es) * 2010-05-25 2021-05-19 Lg Electronics Inc Nuevo modo de predicción plano
GB2492329B (en) * 2011-06-24 2018-02-28 Skype Video coding
EP2769550A4 (en) * 2011-10-14 2016-03-09 Mediatek Inc METHOD AND APPARATUS FOR LOOP FILTRATION
US20150016516A1 (en) * 2013-07-15 2015-01-15 Samsung Electronics Co., Ltd. Method for intra prediction improvements for oblique modes in video coding
US10009629B2 (en) * 2013-10-11 2018-06-26 Sony Corporation Video coding system with search range and method of operation thereof
US10327002B2 (en) * 2014-06-19 2019-06-18 Qualcomm Incorporated Systems and methods for intra-block copy

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140226721A1 (en) * 2012-07-11 2014-08-14 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
CN103997650A (zh) * 2014-05-30 2014-08-20 华为技术有限公司 一种视频解码的方法和视频解码器

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
CHANG, C.Y. ET AL.: "A Two Level Mode Decision Algorithm for H. 264 High Profile Intra Encoding", CIRCUITS AND SYSTEMS (ISCAS), 2012 IEEE INTERNATIONAL SYSMPOSIUM., 31 May 2012 (2012-05-31), XP055370048 *
HE, YUWEN ET AL.: "Non-SCCE1: Improvedintra block copy coding with block vector derivation", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 18TH MEETING, 30 June 2014 (2014-06-30), Sapporo, JP, XP030116449 *
LAROCHE, G. ET AL.: "AHG5: Motion prediction for Intra Block Copy", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 15TH MEETING, 23 October 2014 (2014-10-23), Geneva, CH, XP030115401 *
PANG, CHAO ET AL.: "Block vector prediction method for Intra block copy", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 17TH MEETING, 27 March 2014 (2014-03-27), Valencia, ES, XP030116035 *
PANG, CHAO ET AL.: "Non-RCE3: Block vector signaling for intra block copy", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 16TH MEETING, 9 January 2014 (2014-01-09), San Jose, US, XP030115663 *
PANG, CHAO ET AL.: "Non-SCCE1: Combination of JCTVC-R0185 and JCTVC-R0203", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 18TH MEETING, 30 June 2014 (2014-06-30), Sapporo, JP, XP030116625 *
PANG, CHAO ET AL.: "SCCE1 Test 3. 1-Block vector prediction method for Intra block copy", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 18TH MEETING, 30 June 2014 (2014-06-30), Sapporo, JP, XP030116474 *
XU, XIAOZHONG ET AL.: "SCCE1 Test 3.4: IntraBC BV prediction", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 18TH MEETING, 30 June 2014 (2014-06-30), Sapporo, JP, XP030116305 *
ZHU, LIHUA ET AL.: "Initialization of block vector predictor for intra block copy", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 16TH MEETING, 9 January 2014 (2014-01-09), San José, US, XP030115758 *

Also Published As

Publication number Publication date
EP3200459B1 (en) 2020-04-22
EP3200459A1 (en) 2017-08-02
CN105430417B (zh) 2020-02-07
US20170302958A1 (en) 2017-10-19
CN105430417A (zh) 2016-03-23
EP3200459A4 (en) 2017-10-11
US20220078479A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
WO2016045581A1 (zh) 编码方法、解码方法、装置及电子设备
KR101992764B1 (ko) 예측 코딩/디코딩 방법 및 상응한 코더/디코더와 전자 설비
KR102109510B1 (ko) 비디오 코딩 방법, 장치, 디바이스 및 기억 매체
RU2745021C1 (ru) Способ и устройства для конфигурирования преобразования для сжатия видео
US8724694B2 (en) On-the spot deblocker in a decoding pipeline
RU2018117534A (ru) Устройство и способ обработки изображений
US11272176B2 (en) Encoding processing method and device, decoding processing method and device, encoder, and decoder
US11922599B2 (en) Video super-resolution processing method and apparatus
TW201713116A (zh) 在區塊內複製模式中之參考圖像清單結構
TW201233188A (en) Image processing device and image processing method
CN106464886B (zh) 视频中的画面的鲁棒编码和解码
WO2013000437A1 (zh) 一种基于帧内预测的解码方法和解码装置
WO2023065891A1 (zh) 多媒体数据处理方法、装置、设备、计算机可读存储介质及计算机程序产品
US20180302636A1 (en) Method of mixing video bitstreams and apparatus performing the method
US20160134882A1 (en) Continuous Generation of Non-Displayed Reference Frame in Video Encoding and Decoding
CN107484004B (zh) 一种视频处理方法及装置
ES2966509T3 (es) Método y dispositivo de partición de imagen
US20100091878A1 (en) A second deblocker in a decoding pipeline
CN104219529B (zh) 图像缩放方法、系统及装置
JP2022546898A (ja) ビデオ画像処理方法、装置、および記憶媒体
US11991399B2 (en) Apparatus and method for de-blocking filtering
KR101299245B1 (ko) 관심영역을 복호화하는 영상재생장치 및 그 방법
US20240155137A1 (en) Multimedia data processing method and apparatus, computer device, computer-readable storage medium, and computer program product
KR20200004348A (ko) 타겟 영역 수정을 통해 비디오 신호를 처리하는 방법 및 장치
WO2024109790A1 (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: 15845163

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 15513495

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2015845163

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015845163

Country of ref document: EP