WO2022078339A1 - 参考像素候选列表构建方法、装置、设备及存储介质 - Google Patents

参考像素候选列表构建方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2022078339A1
WO2022078339A1 PCT/CN2021/123328 CN2021123328W WO2022078339A1 WO 2022078339 A1 WO2022078339 A1 WO 2022078339A1 CN 2021123328 W CN2021123328 W CN 2021123328W WO 2022078339 A1 WO2022078339 A1 WO 2022078339A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
list
information
candidate list
reference pixel
Prior art date
Application number
PCT/CN2021/123328
Other languages
English (en)
French (fr)
Inventor
王英彬
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2022078339A1 publication Critical patent/WO2022078339A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • 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/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/182Methods 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 a pixel
    • 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
    • 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
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy

Definitions

  • the embodiments of the present application relate to the technical field of video coding and decoding, and in particular, to a method, apparatus, device, and storage medium for constructing a reference pixel candidate list.
  • the encoding and decoding method of string prediction is introduced, in which the equivalent string Mode is a type of codec for string prediction.
  • the encoding and decoding method of string prediction is performed by relying on the reference pixel prediction list.
  • the initial reference pixel prediction list of the current codec block is constructed, and then according to the initial reference pixel prediction list Prediction list to perform equivalence string prediction on the current codec block.
  • Embodiments of the present application provide a method, apparatus, device, and storage medium for constructing a reference pixel candidate list, which can expand the selection range of reference pixels in the equivalent string mode, thereby improving the encoding and decoding efficiency of the extended equivalent string mode.
  • the technical solution is as follows:
  • an embodiment of the present application provides a method for constructing a reference pixel candidate list, executed by a computer device, and the method includes:
  • determining spatially adjacent pixels of the current codec block In response to performing video encoding and decoding through the equivalence string mode, determining spatially adjacent pixels of the current codec block, the spatially adjacent pixels being reconstructed pixels with a distance from the current codec block within a specified distance range;
  • a list of adjacent pixels in the spatial domain of the current codec block is constructed; the target reference pixel belongs to the adjacent pixels in the spatial domain of the current codec block;
  • a preselected reference pixel candidate list of the current codec block is constructed; the preselected reference pixel candidate list is used to construct an initial reference pixel candidate list; the initial reference pixel candidate list uses for encoding or decoding the current codec block.
  • an embodiment of the present application provides an apparatus for constructing a reference pixel candidate list, the apparatus comprising:
  • the pixel determination module is configured to determine, in response to performing video encoding and decoding through the equivalence string mode, the adjacent pixels in the spatial domain of the current codec block, where the adjacent pixels in the spatial domain are those already within a specified distance range from the current codec block. reconstructed pixels;
  • an adjacent pixel list construction module configured to construct a spatial adjacent pixel list of the current codec block based on the pixel information of the target reference pixel; the target reference pixel belongs to the spatial adjacent pixel of the current codec block;
  • a reference pixel list construction module configured to construct a preselected reference pixel candidate list of the current codec block based on the spatial neighbor pixel list; the preselected reference pixel candidate list is used to construct an initial reference pixel candidate list; the The initial reference pixel candidate list is used to encode or decode the current codec block.
  • an embodiment of the present application provides a computer device, the computer device includes a processor and a memory, the memory stores at least one computer instruction, and the at least one computer instruction is loaded and executed by the processor In order to realize the above reference pixel candidate list construction method.
  • an embodiment of the present application provides a computer-readable storage medium, where at least one computer instruction is stored in the computer-readable storage medium, and the at least one computer instruction is loaded and executed by a processor to implement the above reference pixel Candidate list construction method.
  • embodiments of the present application provide a computer program product or computer program, where the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above reference pixel candidate list construction method.
  • a pre-selected reference pixel candidate list of the current encoding/decoding block is constructed by using the relevant information of the reconstructed pixels adjacent to the current encoding/decoding block, so that in the In the subsequent encoding/decoding process of the current codec block, the pixels in the adjacent spatial domain are introduced as references to perform equivalent string prediction encoding/decoding, so that the selection range of reference pixels in the equivalent string mode can be expanded, thereby improving the extended equivalent string mode. encoding and decoding efficiency.
  • FIG. 1 is a basic flow chart of a video encoding process exemplarily shown in the present application
  • FIG. 2 is a schematic diagram of an inter-frame prediction mode provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a candidate motion vector provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of an intra-block copy mode provided by an embodiment of the present application.
  • FIG. 5 is a schematic diagram of an intra-frame string replication mode provided by an embodiment of the present application.
  • FIG. 6 is a simplified block diagram of a communication system provided by an embodiment of the present application.
  • FIG. 7 is a schematic diagram of the placement manner of a video encoder and a video decoder in a streaming transmission environment exemplarily shown in the present application;
  • FIG. 8 is a flowchart of a method for constructing a reference pixel candidate list provided by an embodiment of the present application.
  • FIG. 9 is a schematic diagram of the position of adjacent pixels in the spatial domain involved in the embodiment shown in FIG. 8;
  • FIG. 10 is a schematic diagram of numbering of adjacent pixels in the airspace involved in the embodiment shown in FIG. 8;
  • FIG. 11 is a framework diagram of an equivalent string prediction process provided by an embodiment of the present application.
  • FIG. 12 is a block diagram of an apparatus for constructing a reference pixel candidate list provided by an embodiment of the present application.
  • FIG. 13 is a structural block diagram of a computer device provided by an embodiment of the present application.
  • FIG. 1 exemplarily shows a basic flow chart of a video encoding process.
  • a video signal refers to a sequence of images comprising multiple frames.
  • a frame is a representation of the spatial information of a video signal. Taking YUV mode as an example, a frame includes one luma sample matrix (Y) and two chroma sample matrices (Cb and Cr). From the point of view of the acquisition method of video signal, it can be divided into two methods: camera captured and computer generated. Due to different statistical characteristics, the corresponding compression coding methods may also be different.
  • a hybrid coding framework is used to perform the following series of operations and processing on the input original video signal:
  • Block Partition Structure The input image is divided into several non-overlapping processing units, and each processing unit will perform similar compression operations. This processing unit is called CTU (Coding Tree Unit, coding tree unit), or LCU (Large Coding Unit, largest coding unit). Further down the CTU, more finer divisions can be continued to obtain one or more basic coding units, which are called CUs (Coding Unit, coding unit). Each CU is the most basic element in a coding session. Described below are various encoding methods that may be used for each CU.
  • Predictive Coding Including intra-frame prediction and inter-frame prediction. After the original video signal is predicted by the selected reconstructed video signal, a residual video signal is obtained. The encoder needs to decide among many possible predictive coding modes for the current CU, select the most suitable one, and inform the decoder. Among them, intra-frame prediction means that the predicted signal comes from an area that has been coded and reconstructed in the same image. Inter-frame prediction means that the predicted signal comes from other pictures (called reference pictures) that have been encoded and different from the current picture.
  • Transform & Quantization The residual video signal undergoes transformation operations such as DFT (Discrete Fourier Transform, Discrete Fourier Transform), DCT (Discrete Cosine Transform, Discrete Cosine Transform) to convert the signal into the transform domain. are called transform coefficients.
  • the signal in the transform domain is further subjected to a lossy quantization operation, which loses a certain amount of information, so that the quantized signal is conducive to compressed expression.
  • a lossy quantization operation which loses a certain amount of information, so that the quantized signal is conducive to compressed expression.
  • the encoder also needs to select one of the transformations for the current CU and inform the decoder.
  • the fineness of quantization is usually determined by the quantization parameter.
  • QP Quality Parameter, quantization parameter
  • Entropy Coding or Statistical Coding The quantized transform domain signal will undergo statistical compression coding according to the frequency of occurrence of each value, and finally output a binarized (0 or 1) compressed code stream. At the same time, the encoding generates other information, such as the selected mode, motion vector, etc., and entropy encoding is also required to reduce the bit rate.
  • Statistical coding is a lossless coding method that can effectively reduce the code rate required to express the same signal. Common statistical coding methods include Variable Length Coding (VLC) or context-based binary arithmetic coding (Content Adaptive Binary Arithmetic Coding, CABAC).
  • Loop Filtering The decoded image can be reconstructed by performing inverse quantization, inverse transformation, and prediction compensation operations (the inverse operations of 2 to 4 above) for an already encoded image. Compared with the original image, the reconstructed image has some information different from the original image due to the influence of quantization, resulting in distortion. Filtering the reconstructed image, such as deblocking, SAO (Sample Adaptive Offset, sample adaptive offset) or ALF (Adaptive Lattice Filter, adaptive lattice filter) and other filters, can effectively Reduces the amount of distortion produced by quantization. Since these filtered reconstructed images will be used as references for subsequent encoded images to predict future signals, the above filtering operations are also referred to as in-loop filtering and filtering operations within the encoding loop.
  • SAO Sample Adaptive Offset, sample adaptive offset
  • ALF Adaptive Lattice Filter, adaptive lattice filter
  • the decoder first performs entropy decoding to obtain various mode information and quantized transform coefficients. Each coefficient is inversely quantized and inversely transformed to obtain a residual signal.
  • the prediction signal corresponding to the CU can be obtained, and after adding the two, the reconstructed signal can be obtained.
  • the reconstructed value of the decoded image needs to undergo a loop filtering operation to generate the final output signal.
  • a block-based hybrid coding framework is adopted. They divide the original video data into a series of coding blocks, and combine video coding methods such as prediction, transform and entropy coding to realize the compression of video data.
  • motion compensation is a type of prediction method commonly used in video coding. Based on the redundancy characteristics of video content in the temporal or spatial domain, motion compensation derives the prediction value of the current coding block from the coded region.
  • prediction methods include: inter prediction, intra block copy prediction, intra string copy prediction, etc. In specific coding implementations, these prediction methods may be used alone or in combination.
  • the displacement vector may have different names. This article will describe it in the following manner: 1) The displacement vector in the inter prediction mode is called a motion vector. MV for short); 2) The displacement vector in the IBC (Intra Block Copy, intra-frame block copy) prediction mode is called a block vector (Block Vector, BV for short); 3) ISC (Intra String Copy, intra-frame string copy) prediction mode The displacement vector in is called a string vector (String Vector, SV for short). Intra-frame string duplication is also referred to as "string prediction” or "string matching”, among others.
  • MV refers to the displacement vector used in the inter prediction mode, pointing from the current image to the reference image, and its value is the coordinate offset between the current block and the reference block, wherein the current block and the reference block are in two different images.
  • motion vector prediction can be introduced. By predicting the motion vector of the current block, the predicted motion vector corresponding to the current block is obtained, and the difference between the predicted motion vector corresponding to the current block and the actual motion vector is calculated. Compared with directly encoding and transmitting the actual motion vector corresponding to the current block, encoding and transmission is beneficial to save bit overhead.
  • the predicted motion vector refers to the predicted value of the motion vector of the current block obtained through the motion vector prediction technology.
  • BV refers to the displacement vector used for the IBC prediction mode, and its value is the coordinate offset between the current block and the reference block, wherein both the current block and the reference block are in the current image.
  • block vector prediction can be introduced. By predicting the block vector of the current block, the predicted block vector corresponding to the current block is obtained, and the difference between the predicted block vector corresponding to the current block and the actual block vector is encoded. Compared with directly encoding and transmitting the actual block vector corresponding to the current block, it is beneficial to save bit overhead.
  • the predicted block vector refers to the predicted value of the block vector of the current block obtained through the block vector prediction technology.
  • SV refers to the displacement vector used for the ISC prediction mode, and its value is the coordinate offset between the current string and the reference string, wherein both the current string and the reference string are in the current image.
  • string vector prediction can be introduced. By predicting the string vector of the current string, the predicted string vector corresponding to the current string is obtained, and the difference between the predicted string vector corresponding to the current string and the actual string vector is encoded. Compared with directly encoding and transmitting the actual string vector corresponding to the current string, it is beneficial to save bit overhead.
  • the predicted string vector refers to the predicted value of the string vector of the current string obtained through the string vector prediction technology.
  • inter-frame prediction utilizes the correlation in the video temporal domain, and uses the pixels adjacent to the coded image to predict the pixels of the current image, so as to effectively remove the temporal redundancy of the video, which can effectively save the coding residual data.
  • bits P is the current frame
  • Pr is the reference frame
  • B is the current block to be encoded
  • Br is the reference block of B.
  • the coordinates of B' and B in the image are the same, the coordinates of Br are (xr, yr), and the coordinates of B' are (x, y).
  • the displacement between the current block to be coded and its reference block is called a motion vector (MV), that is:
  • MV (xr-x, yr-y).
  • inter-frame prediction includes two MV prediction technologies, Merge and AMVP (Advanced Motion Vector Prediction).
  • Merge mode will build a MV candidate list for the current PU (Prediction Unit, prediction unit), in which there are 5 candidate MVs (and their corresponding reference images). Traverse these five candidate MVs, and select the one with the smallest rate-distortion cost as the optimal MV. If the codec builds the candidate list in the same way, the encoder only needs to transmit the index of the optimal MV in the candidate list.
  • the MV prediction technology of HEVC also has a skip mode, which is a special case of the Merge mode. After the optimal MV is found in the Merge mode, if the current block is basically the same as the reference block, then there is no need to transmit residual data, only the index of the MV and a skip flag need to be transmitted.
  • the MV candidate list established by the Merge mode includes both the spatial domain and the time domain.
  • B Slice B frame image
  • the airspace provides up to 4 candidate MVs, and its establishment is shown in part (a) of Figure 3.
  • the airspace list is established in the order of A1 ⁇ B1 ⁇ B0 ⁇ A0 ⁇ B2, where B2 is a substitute, that is, when one or more of A1, B1, B0, and A0 do not exist, the motion information of B2 needs to be used; time domain Only one candidate MV is provided at most, and its establishment is shown in part (b) of Figure 3, which is obtained by scaling the MV of the co-located PU as follows:
  • curMV td*colMV/tb
  • curMV represents the MV of the current PU
  • colMV represents the MV of the co-located PU
  • td represents the distance between the current image and the reference image
  • tb represents the distance between the co-located image and the reference image.
  • the AMVP mode utilizes the MV correlation of adjacent blocks in the spatial and temporal domains to build an MV candidate list for the current PU.
  • Difference Motion Vector Difference
  • the MV candidate list of the AMVP mode also includes two cases, the spatial domain and the time domain, the difference is that the length of the MV candidate list of the AMVP mode is only 2.
  • MVD needs to be encoded.
  • the resolution of MVD is controlled by use_integer_mv_flag in slice_header.
  • MVD is encoded with 1/4 (brightness) pixel resolution; when the value of this flag is 1, MVD adopts integer (brightness) ) pixel resolution for encoding.
  • a method of Adaptive motion vector resolution is used in VVC. This method allows each CU to adaptively select the resolution of the coded MV. In normal AMVP mode, the selectable resolutions include 1/4, 1/2, 1 and 4 pixel resolution.
  • a flag is first encoded to indicate whether quarter luma sample MVD precision is used for the CU. If this flag is 0, the MVD of the current CU is coded at 1/4 pixel resolution. Otherwise, a second flag needs to be encoded to indicate that 1/2 pixel resolution or other MVD resolution is used by the CU. Otherwise, a third flag is encoded to indicate whether to use 1-pixel resolution or 4-pixel resolution for the CU.
  • IBC is an intra-frame coding tool adopted in the extension of HEVC Screen Content Coding (SCC), which significantly improves the coding efficiency of screen content.
  • SCC Screen Content Coding
  • IBC technology is also adopted to improve the performance of screen content encoding.
  • IBC utilizes the spatial correlation of screen content and video, and uses the encoded image pixels on the current image to predict the pixels of the current block to be encoded, which can effectively save the bits required for encoding pixels.
  • the displacement between the current block and its reference block in IBC is called BV (block vector).
  • H.266/VVC uses a BV prediction technique similar to inter-frame prediction to further save the bits required to encode BV.
  • VVC uses AMVP mode similar to inter prediction to predict BV, and allows encoding BVD using 1 or 4 pixel resolution.
  • ISC technology divides a coded block into a series of pixel strings or unmatched pixels according to a certain scan order (such as raster scan, round-trip scan, Zig-Zag scan, etc.). Similar to IBC, each string looks for a reference string of the same shape in the coded area of the current image, and derives the predicted value of the current string. By encoding the residual between the pixel value of the current string and the predicted value, instead of directly encoding the pixel value, it can effectively Save bits.
  • Figure 5 shows a schematic diagram of intra-frame string replication.
  • the dark gray area is the encoded area
  • the 28 white pixels are string 1
  • the light gray 35 pixels are string 2
  • the black 1 pixel represents an unmatched pixel.
  • the displacement between string 1 and its reference string is the string vector 1 in FIG. 5 ; the displacement between string 2 and its reference string is the string vector 2 in FIG. 5 .
  • the intra-frame string replication technology needs to encode the SV corresponding to each string in the current coding block, the string length, and the flag of whether there is a matching string.
  • SV represents the displacement of the to-be-coded string to its reference string.
  • String length indicates the number of pixels contained in the string.
  • the equivalent string mode is a sub-mode of the intra-frame string replication, similar to the intra-frame string replication.
  • a codec block is divided into a series of pixel strings according to a certain scanning order, which is characterized by all the pixels in the pixel string. Pixels have the same predicted value.
  • the equal-valued string mode requires encoding the length and predicted value of each string in the current codec block.
  • a reference pixel prediction list L0 is constructed, and according to the reuse flag (reuse_flag), the reference pixel candidate list L1 is derived from the list, and the index of the encoded reuse_flag and the encoded prediction value in L1 is derived.
  • the above-mentioned method 3 is currently used to encode the predicted value.
  • Equivalent strings often appear in screen content images, and the pixel values of these equivalent strings have a high frequency of occurrence. According to this feature, through the equivalence string coding technique of string copy intra-frame prediction, when these pixels appear in an LCU row for the first time, the position of these pixels in the current LCU row is recorded and saved, which is called the frequent occurrence position , and the pixels of the equivalent string are also called frequent locus pixels.
  • the frequently occurring position and the pixels of the frequently occurring position will go through the history point vector predictor candidate list (History point vector predictor Candidate List, HpvpCandList, equivalent to the HmvpCandList of inter-frame prediction or the HbvpCandList of IBC, which can put up to 15 point vectors), It is repeatedly taken out and used as a reference pixel.
  • the common location is represented by the coordinates of the origin of the upper left corner of the current LCU row, which is called the Point Vector (PV) of point prediction.
  • PV Point Vector
  • the pixels inside the CU are clustered to obtain K pixel values with high frequency. If one of the pixel values is the same as the pixel value of the common position corresponding to a certain pv placed in a PrevHpvpCandList array or the difference is less than a certain threshold, the pv is directly put into the HpvpCandList of the current CU, and the initial value of the current CU is obtained. HpvpCandList.
  • the HpvpCandList keeps expanding while encoding the evs in the current cu one by one. Whenever a new recurring position appears, the pv of that recurring position is added to the HpvpCandList.
  • PrevHpvpCandList is initially empty. After completing the string copy intra prediction encoding of a current CU, the PrevHpvpCandList needs to be updated:
  • the overlapping part with the current HpvpCandList is deleted from the PrevHpvpCandList, and the pv in the HpvpCandList of the decoded CU is filled into the PrevHpvpCandList from the header.
  • PrevHpvpCandList stores up to 28 pre-pvs, and the excess will be removed.
  • S3 encode the predicted value, if the pixel value of the equivalent string appearing in the encoding is equal to the value of the pixel pointed to by a pv in hpvpCandList, write the index corresponding to the pv into the code stream; otherwise, write the pixel value itself codestream, and use this value to extend the reference pixel candidate list.
  • the decoded index idx if idx is less than the length of HpvpCandList, take pv from HpvpCandList according to idx, and then obtain the value of the pixel from the frequently occurring position specified by pv; otherwise, decode the pixel value from the code stream, and use the Value extends the reference pixel candidate list.
  • Communication system 200 includes a plurality of devices that can communicate with each other via, for example, network 250 .
  • the communication system 200 includes a first device 210 and a second device 220 interconnected by a network 250 .
  • the first device 210 and the second device 220 perform unidirectional data transfer.
  • the first device 210 may encode video data, such as a stream of video pictures captured by the first device 210, for transmission to the second device 220 over the network 250.
  • the encoded video data is transmitted in one or more encoded video streams.
  • the second device 220 may receive encoded video data from the network 250, decode the encoded video data to restore the video data, and display a video picture according to the restored video data.
  • One-way data transfer is common in applications such as media services.
  • the communication system 200 includes a third device 230 and a fourth device 240 that perform bi-directional transmission of encoded video data, which may occur, for example, during a video conference.
  • each of the third device 230 and the fourth device 240 may encode video data (eg, a stream of video pictures captured by the device) for transmission to the third device 230 and the fourth device over the network 250 Another device in 240.
  • Each of third device 230 and fourth device 240 may also receive encoded video data transmitted by the other of third device 230 and fourth device 240, and may decode the encoded video data to restore the video data, and a video picture can be displayed on an accessible display device according to the restored video data.
  • the first device 210 , the second device 220 , the third device 230 and the fourth device 240 may be computer devices such as servers, personal computers and smart phones, but the principles disclosed in this application may not be limited thereto.
  • the embodiments of the present application are applicable to a PC (Personal Computer, personal computer), a mobile phone, a tablet computer, a media player, and/or a dedicated video conference device.
  • Network 250 represents any number of networks that communicate encoded video data between first device 210, second device 220, third device 230, and fourth device 240, including, for example, wired and/or wireless communication networks.
  • Communication network 250 may exchange data in circuit-switched and/or packet-switched channels.
  • the network may include a telecommunications network, a local area network, a wide area network, and/or the Internet.
  • the architecture and topology of network 250 may be immaterial to the operations disclosed herein.
  • Figure 7 shows the placement of video encoders and video decoders in a streaming environment.
  • the subject matter disclosed in this application is equally applicable to other video-enabled applications, including, for example, videoconferencing, digital TV (television), optical disks including CD (Compact Disc), DVD (Digital Versatile Disc), memory stick Compressed video and so on on digital media.
  • videoconferencing digital TV (television)
  • optical disks including CD (Compact Disc), DVD (Digital Versatile Disc), memory stick Compressed video and so on digital media.
  • CD Compact Disc
  • DVD Digital Versatile Disc
  • the streaming system may include a capture subsystem 313, which may include a video source 301, such as a digital camera, that creates a stream 302 of uncompressed video pictures.
  • the video picture stream 302 includes samples captured by a digital camera.
  • video picture stream 302 is depicted as a thick line to emphasize the high data volume of video picture stream 302 that can be processed by electronic device 320, which Electronic device 320 includes video encoder 303 coupled to video source 301 .
  • Video encoder 303 may include hardware, software, or a combination of hardware and software to implement or implement various aspects of the disclosed subject matter as described in greater detail below.
  • encoded video data 304 (or encoded video codestream 304) is depicted as a thin line to emphasize the lower amount of encoded video data 304 (or encoded video codestream) 304), which can be stored on the streaming server 305 for future use.
  • One or more streaming client subsystems such as client subsystem 306 and client subsystem 308 in FIG. 7 , may access streaming server 305 to retrieve copies 307 and 309 of encoded video data 304 .
  • Client subsystem 306 may include, for example, video decoder 310 in electronic device 330 .
  • Video decoder 310 decodes incoming copy 307 of the encoded video data and produces output video picture stream 311 that can be rendered on display 312 (eg, a display screen) or another rendering device (not depicted).
  • encoded video data 304, video data 307, and video data 309 may be encoded according to certain video encoding/compression standards.
  • electronic device 320 and electronic device 330 may include other components (not shown).
  • electronic device 320 may include a video decoder (not shown), and electronic device 330 may also include a video encoder (not shown).
  • the video decoder is used for decoding the received encoded video data; the video encoder is used for encoding the video data.
  • the technical solutions provided by the embodiments of the present application can be applied to the H.266/VVC standard, the H.265/HEVC standard, AVS (such as AVS3), or the next-generation video codec standard. This is not limited.
  • the construction of the reference pixel candidate list only uses the information of the historical codec blocks, while ignoring the correlation between adjacent pixels in the video image. Due to insufficient historical coding block information, efficient reference pixel prediction cannot be achieved, which affects coding efficiency.
  • the solutions shown in the various embodiments of the present application propose a method for constructing a reference pixel candidate list in the equivalent string mode.
  • the method combines the adjacent pixels in the spatial domain to derive a reference pixel candidate list of equivalent strings.
  • the adjacent pixels in the spatial domain are the reconstructed pixels that are within the specified distance from the current codec block; based on the pixel information of the target reference pixel, construct the current A list of adjacent pixels in the spatial domain of the codec block, the target reference pixel belongs to the adjacent pixels in the spatial domain of the current codec block; based on the list of adjacent pixels in the spatial domain, a pre-selected reference pixel candidate list of the current codec block is constructed.
  • the above-mentioned preselected reference pixel candidate list is used to construct an initial reference pixel candidate list; the initial reference pixel candidate list is used to encode or decode the current codec block.
  • the execution subject of each step may be a decoding end device or an encoding end device.
  • the technical solutions provided by the embodiments of the present application may be used to perform image reconstruction.
  • Both the decoding device and the encoding device can be computer devices.
  • the computer devices refer to electronic devices with data computing, processing and storage capabilities, such as PCs, mobile phones, tablet computers, media players, dedicated video conference equipment, servers, etc. .
  • the encoder and decoder based on the method provided in this application may be implemented by one or more processors or one or more integrated circuits.
  • FIG. 8 shows a flowchart of a method for constructing a reference pixel candidate list provided by an embodiment of the present application.
  • the method can include:
  • the above-mentioned adjacent pixels in the spatial domain are reconstructed pixels whose distance from the current codec block is within a specified distance range.
  • the above-mentioned spatially adjacent pixels may be the pixels in the most recent line above the current code block and/or the current code block.
  • the pixel in the last column on the left side of the block; or, the adjacent pixels in the above-mentioned space may be the pixels in the second row on the left above the current coding block and/or the pixels in the second column on the left of the current coding block; or, the adjacent pixels in the above-mentioned space may be are the pixels in the last two rows above the current coding block and/or the pixels in the last two columns to the left of the current coding block.
  • FIG. 9 shows a schematic diagram of the positions of adjacent pixels in the spatial domain involved in the embodiments of the present application.
  • a reconstructed codec block 92 , a reconstructed codec block 93 , and a reconstructed codec block 94 exist above and to the left of the current codec block 91 , respectively.
  • the area formed by the reconstructed codec block 92, the reconstructed codec block 93, and the reconstructed codec block 94 includes the first pixel row 91a and the first pixel row 91a and the first pixel row 91a adjacent to the current codec block 91 in the spatial domain.
  • the area formed by the reconstructed codec block 93 and the reconstructed codec block 94 includes a first pixel column 91c and a second pixel column 91d adjacent to the current codec block 91 in the spatial domain.
  • the first pixel column 91c is The first column of pixels to the left of the current codec block 91
  • the second pixel column 91d is the second column of pixels to the left of the current codec block 91; in the image shown in FIG.
  • the codec can put the first pixel row 91a and each pixel in the first pixel column 91c are determined as the spatially adjacent pixels of the current codec block 91; alternatively, the codec may determine each pixel in the second pixel row 91b and the second pixel column 91d as the current codec The spatially adjacent pixels of the block 91; alternatively, the codec may determine each pixel in the first pixel row 91a, the first pixel column 91c, the second pixel row 91b, and the second pixel column 91d as the spatial domain of the current codec block 91 adjacent pixels.
  • the solution shown in FIG. 9 is described by taking part or all of the pixels in the two rows/columns above and to the left of the current codec block as the adjacent pixels in the spatial domain of the current codec block 91 as an example.
  • the adjacent pixels in the spatial domain of the current codec block 91 may also be more or less, for example, some or all of the pixels in the upper and left three rows/columns of the current codec block are used as Spatially adjacent pixels of the current codec block 91 .
  • the above-mentioned target reference pixels belong to the adjacent pixels in the spatial domain of the current codec block.
  • the pixel information of the target reference pixel includes at least one of position information of the target reference pixel and pixel value information of the target reference pixel;
  • the position information includes the coordinates of the corresponding pixel in the image where the current image block is located;
  • the position information includes the coordinates of the corresponding pixel in the LCU row of the largest coding unit
  • the position information includes the coordinates of the corresponding pixel on the luminance image.
  • the pixel information of the adjacent pixels in the spatial domain includes the position of the pixel, such as the coordinates of the pixel in the image, or the coordinates of the pixel in the LCU row; for the image of YUV420, the pixels of the adjacent pixels in the spatial domain
  • the information can also be the coordinates of the pixel on the luminance image.
  • the pixel information of the adjacent pixels in the spatial domain includes the pixel value of the pixel.
  • the pixel information of the adjacent pixels in the spatial domain includes both the position and the pixel value of the pixel.
  • the target reference pixel is all pixels in the spatial adjacent pixels of the current codec block
  • the target reference pixel is a pixel located at the target position among the adjacent pixels in the spatial domain of the current codec block.
  • the above-mentioned target position includes at least one of the following:
  • the above-mentioned target position may be a pre-specified position in the adjacent pixels in the spatial domain of the current codec block.
  • the above-mentioned pre-specified position may satisfy a pre-set positional relationship with the current codec block, or, the above-mentioned pre-specified position may satisfy a pre-set position condition in the adjacent pixels in the spatial domain (for example, in the adjacent pixels in the spatial domain, position in the middle or at the edge).
  • the location relationship or location condition may be preset by the developer. Alternatively, the location relationship or location condition may also be defined by a protocol.
  • the above-mentioned target position may be a position dynamically determined by the codec in the computer device based on the size of the current codec block.
  • the above-mentioned target position may include both a pre-designated position in the adjacent pixels in the spatial domain of the current codec block, and a position dynamically determined by the codec based on the size of the current codec block.
  • the above-mentioned target reference pixel may come from the following optional positions in the adjacent pixels in the spatial domain:
  • Target reference pixels include reconstructed pixels that are directly adjacent to the current codec block.
  • the W reconstructed pixels in the upper row of the current codec block and the pixel information of the H reconstructed pixels in the left column is added to the list of adjacent pixels in the spatial domain (for example, numbered as list L1).
  • the target reference pixels include reconstructed pixels that are not directly adjacent to the current codec block.
  • the pixel information of the W reconstructed pixels in the second row above the current codec block and the pixel information of the H reconstructed pixels in the second column from the left are added to the list L1.
  • the target reference pixels include partially reconstructed pixels that are directly and/or indirectly adjacent to the current codec block.
  • FIG. 10 shows a schematic diagram of the numbering of adjacent pixels in the spatial domain involved in the embodiment of the present application.
  • the position can be numbered as TL , T[0], T[W/2] (or T[W/2-1]), T[W] (or T[W-1]), and L[0], L[H/2] (Or, L[H/2-1]), L[H] (or L[H-1]) pixel information is added to the spatial neighbor pixel list.
  • the target reference pixel is all or part of the adjacent pixels in the spatial domain determined based on the size (such as height and/or width) of the current codec block.
  • the codec may also select the target reference pixel according to the size of the current codec block.
  • the pixel information of the target reference pixel is Fill in the list of adjacent pixels in this airspace.
  • the codec in the computer device fills the pixel information of the at least two target reference pixels into the spatial neighbor pixel list in a filling order.
  • the codec when constructing the spatial adjacent pixel list L1, the codec may fill the pixel information of each target reference pixel into the list L1 according to a certain priority order.
  • the pixel information of each target reference pixel above the current codec block is filled into the adjacent pixel list in this airspace
  • the pixel information of each target reference pixel located on the left side of the current codec block is filled into the adjacent pixel list in the airspace
  • the pixel information of each target reference pixel located above the current codec block and the pixel information of each target reference pixel located to the left of the current codec block are alternately filled into the airspace adjacent pixel list.
  • the codec may fill the pixel information of each target reference pixel into the list L1 according to the following optional sequence:
  • the codec first fills the pixel information of each target reference pixel above the current codec block into the list L1 in order from left to right, and the pixel information of each target reference pixel above the current codec block is filled. Then, according to the order from top to bottom, the pixel information of each target reference pixel to the left of the current codec block is sequentially filled into the list L1.
  • the codec first fills the pixel information of each target reference pixel to the left of the current codec block into the list L1 in order from top to bottom, and the pixel information of each target reference pixel to the left of the current codec block is After the filling is completed, the pixel information of each target reference pixel above the current codec block is sequentially filled into the list L1 in the order from left to right.
  • the codec can follow L[0], T[0], L[1] , T[1], ..., L[H-1], T[W-1] fill the pixel information of the target reference pixel into the list L1 in sequence.
  • the codec when filling the pixel information of the target reference pixel into the adjacent pixel list in the airspace according to the specified filling order, performs the following operations:
  • the first reference pixel For the first reference pixel, obtain the absolute value of the difference between the first reference pixel and the pixel values of each existing reference pixel in the spatial adjacent pixel list; the first reference pixel is one of at least two target reference pixels. any one of ;
  • the pixel information of the first reference pixel is filled into the airspace adjacent pixel list.
  • the difference between the first reference pixel and the pixel values of each existing reference pixel in the adjacent pixel list in the space includes the difference between the first reference pixel and the existing pixel value in the adjacent pixel list in the air space.
  • the difference between the pixel value of the first reference pixel and the pixel value of each existing reference pixel in the adjacent pixel list in the airspace includes the pixel value of the first reference pixel and each existing reference pixel in the adjacent pixel list in the airspace. difference in components.
  • the codec may execute the following duplicate checking strategy:
  • the pixel value of the nearest available reference pixel of the first reference pixel is used as the pixel value of the first reference pixel;
  • a rule for predicting the extension of reference pixels setting the pixel value of the first reference pixel to the value of the nearest available reference pixel.
  • the pixel value of the first reference pixel is set as a default value.
  • the first reference pixel is skipped.
  • the codec when constructing the preselected reference pixel candidate list of the current codec block based on the spatial neighbor pixel list, the codec may perform the following operations:
  • the spatial adjacent pixel list with the historical reference pixel candidate list to obtain a pre-selected reference pixel candidate list of the current codec block; the historical reference pixel candidate list is based on the reference pixel candidate list of the reconstructed codec block constructed;
  • the historical reference pixel candidate list is arranged based on the spatial neighbor pixel list to obtain a preselected reference pixel candidate list of the current codec block.
  • the codec may derive a preselected reference pixel candidate list of the current codec block based on the above-mentioned spatial neighbor pixel list, such as a list L, where the length of the list L may be set to N, the maximum length of N less than the preset threshold N_T.
  • a codec can export the list L in the following optional ways:
  • the list L is composed of the list L1 and the list L2.
  • the list L2 records the reference pixel information of the equivalent string of the historical decoding block, and the length is N2.
  • the spatial adjacent pixel list and the historical reference pixel candidate list are combined to obtain a pre-selected reference pixel candidate list of the current codec block, including:
  • each pixel information in the airspace adjacent pixel list is sequentially filled into the preselected reference pixel candidate list, until the airspace The filling of each pixel information in the adjacent pixel list is completed, or, until the number of pixel information in the preselected reference pixel candidate list reaches the number threshold.
  • list L consists of list L1 and list L2
  • the codec can derive list L in the following optional ways:
  • the spatial adjacent pixel list and the historical reference pixel candidate list are combined to obtain a pre-selected reference pixel candidate list of the current codec block, including:
  • the first pixel information obtain the absolute value of the difference between the pixel value of the first pixel information and the pixel value of each existing pixel information in the pre-selected reference pixel candidate list; the first pixel information is the airspace any one of the adjacent pixel list and the historical reference pixel candidate list;
  • the pixel information in the process of constructing the list L, when the codec fills a pixel information in the list L1 or the list L2 into the list L, the pixel information can be checked for duplicates through a duplicate checking strategy, that is, the query list Whether there is pixel information corresponding to the same or similar pixel value in the current pixel information in L.
  • the duplication checking strategy in the process of filling the information of a pixel in the list L1 or the list L2 into the list L is similar to the duplication checking strategy when filling the first reference pixel into the list L1, and will not be repeated here.
  • the codec when arranging the historical reference pixel candidate list based on the spatial neighbor pixel list to obtain a pre-selected reference pixel candidate list of the current codec block, the codec may perform the following operations:
  • the second pixel information For the second pixel information, the absolute value of the difference between the pixel value of the second pixel information and the pixel value of each pixel information in the adjacent pixel list in the airspace is obtained; the second pixel information is sequentially obtained from the historical reference pixel. Any pixel information selected in the candidate list;
  • the absolute value of the difference between the pixel value of the fourth pixel information and the pixel value of the fourth pixel information is smaller than the third absolute value threshold, filling the second pixel information into the preselected reference pixel candidate list;
  • the fourth pixel information is any one of the adjacent pixels list in the spatial domain.
  • the codec may filter and sort the list L2 according to the list L1 to obtain the list L3, and the list L may be composed of the list L3.
  • the above process of obtaining the list L3 may be as follows:
  • the length of the list L2 be N2, in the specified order (such as positive order/reverse order), compare the pixel value of each pixel information in the list L2 with the pixel value of each pixel information in the list L1 in turn, if one of the list L2 If the absolute value of the difference between the pixel value of the pixel information and any pixel value of the pixel information in the list L1 is less than or equal to the third absolute value threshold, the pixel information is filled into the list L3.
  • the specified order such as positive order/reverse order
  • the pixel value of a piece of pixel information in the list L2 is sequentially compared with the pixel value of each pixel information in the list L1, the pixel value of the Y, U, and V components in the pixel values of the two pixel information may be compared. For comparison, if the absolute value of the difference between the respective component pixel values of the two pixel information is less than or equal to the third absolute value threshold, the pixel information in the list L2 is filled into the list L3.
  • the Y component pixel value in the pixel values of the two pixel information may be compared, if If the absolute value of the difference between the Y component pixel values of the two pixel information is less than or equal to the third absolute value threshold, the pixel information in the list L2 is filled into the list L3.
  • the codec when arranging the historical reference pixel candidate list based on the spatial neighbor pixel list to obtain a pre-selected reference pixel candidate list of the current codec block, the codec performs the following operations:
  • the absolute value of the difference between the pixel value of the fifth pixel information and the pixel value of each pixel information in the adjacent pixel list in the airspace is obtained; the fifth pixel information is sequentially obtained from the historical reference pixel. Any pixel information selected in the candidate list;
  • the absolute value of the difference between the pixel value of the sixth pixel information and the pixel value of the sixth pixel information is less than or equal to the fourth absolute value threshold, filling the fifth pixel information into the first candidate list;
  • the The sixth pixel information is any one of the adjacent pixel lists in the airspace;
  • the absolute value of the difference with the pixel value of the sixth pixel information is greater than the fourth absolute value threshold, filling the fifth pixel information into the second candidate list;
  • each pixel information in the first candidate list is in the preselected reference pixel
  • the position in the candidate list which is located before the position in the preselected reference pixel candidate list of each pixel information in the second candidate list.
  • the codec may filter and sort the list L2 according to the list L1 to obtain the list L3 and the list L4, and the list L may be composed of the list L3 and the list L4.
  • the above process of obtaining the list L may be as follows:
  • the length of L2 be N2, in the specified order (such as positive order/reverse order), compare the pixel value of each pixel information in the list L2 with the pixel value of each pixel information in the list L1 in turn, if a pixel in the list L2 If the absolute value of the difference between the pixel value of the information and any pixel information in the list L1 is less than or equal to the fourth absolute value threshold, the pixel information is filled into the list L3. If the absolute value of the difference between the pixel value of one pixel information in the list L2 and the pixel value of any one of the pixel information in the list L1 is greater than the fourth absolute value threshold, the pixel information is filled into the list L4. A list L is then formed by the list L3 and the list L4, wherein, in the list L, the pixel information belonging to the list L3 is arranged in front of the pixel information belonging to the list L4.
  • the above-mentioned preselected reference pixel candidate list is equivalent to the above-mentioned PrevHpvpCandList.
  • the codec may encode or decode the current codec block based on the preselected reference pixel candidate list.
  • the above-mentioned preselected reference pixel candidate list is used to construct an initial reference pixel candidate list used for encoding or decoding the current codec block.
  • the method of decoding the current codec block may be as follows:
  • Mode b Decode reuse_flag, and use a subset of list L to derive an initial reference pixel candidate list.
  • the position of the reference pixel is taken out from the reference pixel candidate list, and then the pixel value is derived from the position as the prediction value of the current string.
  • idx is greater than the length of the reference pixel candidate list, the value of the reference pixel is directly decoded from the code stream as the prediction value of the current string, and the reference pixel candidate list is extended using this value.
  • the preselected reference pixels of the current codec block are constructed by using the relevant information of the reconstructed pixels adjacent to the current codec block A candidate list, so that in the subsequent encoding/decoding process of the current codec block, pixels in the adjacent spatial domain are introduced as a reference to perform equivalent string prediction encoding/decoding, so that the selection range of reference pixels in the equivalent string mode can be expanded, thereby improving Encoding and decoding efficiency of extended equistring mode.
  • FIG. 11 shows a flowchart of an iso-string prediction process provided by an embodiment of the present application.
  • a list L1 is constructed based on the positions of the adjacent spatial pixels of the current codec block 1101 in the reconstructed codec block (step S1), Then, the initial reference pixel candidate list of the current codec block 1101 is derived by combining the list L1 and the preselected reference pixel candidate list constructed and updated in the process of encoding and decoding the previous codec block, namely the list L2 (such as PrevHpvpCandList) 1102 (step S2), then based on the reference pixel candidate list 1102, the equivalent string in the current codec block 1101 is encoded and decoded.
  • the list L2 such as PrevHpvpCandList
  • the reference pixel candidate list 1102 can be updated (step S3).
  • the list L2 is updated by referring to the pixel candidate list 1102 .
  • FIG. 12 shows a block diagram of an apparatus for constructing a reference pixel candidate list provided by an embodiment of the present application.
  • the apparatus has the function of implementing the above method example, and the function may be implemented by hardware executing corresponding software.
  • the apparatus may include:
  • the pixel determination module 1201 is used to determine the adjacent pixels in the spatial domain of the current codec block in response to performing video coding and decoding through the equivalent string mode, and the adjacent pixels in the spatial domain are reconstructed pixels whose distance from the current codec block is within a specified distance range;
  • an adjacent pixel list construction module 1202 configured to construct a spatial adjacent pixel list of the current codec block based on the pixel information of the target reference pixel; the target reference pixel belongs to the spatial adjacent pixel of the current codec block;
  • a reference pixel list construction module 1203, configured to construct a preselected reference pixel candidate list of the current codec block based on the spatial neighbor pixel list; the preselected reference pixel candidate list is used to construct an initial reference pixel candidate list; The initial reference pixel candidate list is used for encoding or decoding the current codec block.
  • the target reference pixels are all pixels in the spatially adjacent pixels of the current codec block
  • the target reference pixel is a pixel located at the target position among the adjacent pixels in the spatial domain of the current codec block.
  • the target location includes at least one of the following:
  • the pixel information of the target reference pixel includes at least one of position information of the target reference pixel and pixel value information of the target reference pixel;
  • the position information includes the coordinates of the corresponding pixel in the image where the current image block is located;
  • the position information includes the coordinates of the corresponding pixel in the LCU row of the largest coding unit
  • the position information includes the coordinates of the corresponding pixels on the luminance image.
  • the adjacent pixel list construction module 1202 is configured to, in response to the target reference pixel including at least two pixels, fill in the pixel information of the at least two target reference pixels in a filling order into The airspace is a list of adjacent pixels.
  • the adjacent pixel list construction module 1202 is used to:
  • the pixels of each of the target reference pixels located above the current codec block are Information is filled into the airspace adjacent pixel list;
  • the pixel information of each of the target reference pixels located above the current codec block and the pixel information of each of the target reference pixels located to the left of the current codec block are alternately filled into the space adjacent pixel list .
  • the adjacent pixel list construction module 1202 is used to:
  • the absolute value of the difference between the first reference pixel and the pixel value of each existing reference pixel in the spatial adjacent pixel list is obtained; the first reference pixel is at least two any one of the target reference pixels;
  • the pixel information of the first reference pixel is filled into the spatial neighbor pixel list.
  • the difference between the first reference pixel and the pixel value of each reference pixel existing in the adjacent pixel list in the spatial domain includes the first reference pixel and the adjacent pixel in the spatial domain.
  • the difference between the first reference pixel and the pixel values of each existing reference pixel in the spatial adjacent pixel list includes the first reference pixel and each existing reference pixel in the spatial adjacent pixel list The difference in the luminance component of the pixel value of .
  • the adjacent pixel list building module 1202 is further configured to:
  • the pixel value of the nearest available reference pixel of the first reference pixel is used as the pixel value of the first reference pixel;
  • the first reference pixel is skipped.
  • the reference pixel list construction module 1203 includes: a first list acquisition unit, a second list acquisition unit or a third list acquisition unit,
  • the first list obtaining unit configured to obtain the spatial adjacent pixel list as a preselected reference pixel candidate list of the current codec block
  • the second list acquisition unit is configured to combine the spatial adjacent pixel list and the historical reference pixel candidate list to obtain a pre-selected reference pixel candidate list of the current codec block; the historical reference pixel candidate list is based on constructed from the reference pixel candidate list of the reconstructed codec block;
  • the third list obtaining unit is configured to filter the historical reference pixel candidate list based on the spatial neighbor pixel list to obtain a preselected reference pixel candidate list of the current codec block.
  • the second list obtaining unit is configured to:
  • the second list obtaining unit is configured to:
  • the absolute value of the difference between the pixel value of the first pixel information and the pixel value of each existing pixel information in the preselected reference pixel candidate list is obtained; the first pixel information is any one of the spatial adjacent pixel list and the historical reference pixel candidate list;
  • the third list obtaining unit is configured to:
  • the second pixel information For the second pixel information, the absolute value of the difference between the pixel value of the second pixel information and the pixel value of each pixel information in the adjacent pixel list in the airspace is obtained; the second pixel information is sequentially Any pixel information selected from the historical reference pixel candidate list;
  • the absolute value of the difference between the pixel value of the fourth pixel information and the pixel value of the fourth pixel information is smaller than the third absolute value threshold, filling the second pixel information into the preselected reference pixel A candidate list; the fourth pixel information is any one of the adjacent pixel lists in the spatial domain.
  • the third list obtaining unit is configured to:
  • the absolute value of the difference between the pixel value of the fifth pixel information and the pixel value of each pixel information in the adjacent pixel list in the airspace is obtained; the fifth pixel information is sequentially Any pixel information selected from the historical reference pixel candidate list;
  • the absolute value of the difference between the pixel value of the sixth pixel information and the pixel value of the sixth pixel information is less than or equal to the fourth absolute value threshold, filling the fifth pixel information into the first candidate list ;
  • the sixth pixel information is any one of the adjacent pixel lists in the airspace;
  • the absolute value of the difference between the pixel value of the sixth pixel information and the pixel value of the sixth pixel information is greater than the fourth absolute value threshold, filling the fifth pixel information into the second candidate list ;
  • each pixel information in the first candidate list is in the The position in the preselected reference pixel candidate list is located before the position in the preselected reference pixel candidate list of each pixel information in the second candidate list.
  • the preselected reference pixels of the current codec block are constructed by using the relevant information of the reconstructed pixels adjacent to the current codec block A candidate list, so that in the subsequent encoding/decoding process of the current codec block, pixels in the adjacent spatial domain are introduced as a reference to perform equivalent string prediction encoding/decoding, so that the selection range of reference pixels in the equivalent string mode can be expanded, thereby improving Encoding and decoding efficiency of extended equistring mode.
  • FIG. 13 shows a structural block diagram of a computer device provided by an embodiment of the present application.
  • the computer device may be the encoding end device described above, or the decoding end device described above.
  • the computer device 130 may include: a processor 131 , a memory 132 , a communication interface 133 , an encoder/decoder 134 and a bus 135 .
  • the processor 131 includes one or more processing cores, and the processor 131 executes various functional applications and information processing by running software programs and modules.
  • the memory 132 can be used to store a computer program, and the processor 131 is used to execute the computer program, so as to implement the above-mentioned method for constructing the reference pixel candidate list.
  • the computer program includes at least one computer instruction, and the processor 131 executes the above at least one computer instruction to implement the above-mentioned method for constructing the reference pixel candidate list.
  • the communication interface 133 may be used to communicate with other devices, such as to receive audio and video data.
  • the encoder/decoder 134 may be used to implement encoding and decoding functions, such as encoding and decoding audio and video data.
  • the memory 132 is connected to the processor 131 through the bus 135 .
  • the memory 132 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, and the volatile or non-volatile storage device includes but is not limited to: magnetic disk or optical disk, EEPROM (Electrically Erasable Programmable Read -Only Memory, Electrically Erasable Programmable Read-Only Memory), EPROM (Erasable Programmable Read-Only Memory, Erasable Programmable Read-Only Memory), SRAM (Static Random-Access Memory, Static Access Memory), ROM (Read-Only Memory, read-only memory), magnetic memory, flash memory, PROM (Programmable read-only memory, programmable read-only memory).
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • EPROM Erasable Programmable Read-Only Memory
  • SRAM Static Random-Access Memory, Static Access Memory
  • ROM Read-Only Memory, read-only memory
  • magnetic memory flash memory
  • PROM Programmable read-only memory, programmable read-only memory
  • FIG. 13 does not constitute a limitation on the computer device 130, and may include more or less components than the one shown, or combine some components, or adopt different component arrangements.
  • a computer-readable storage medium is also provided, and at least one computer instruction is stored in the computer-readable storage medium, and the at least one computer instruction, when executed by a processor, implements the above-mentioned reference pixel candidate List building method.
  • a computer program product or computer program comprising computer instructions stored in a computer readable storage medium.
  • the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the above reference pixel candidate list construction method.
  • references herein to "a plurality” means two or more.
  • "And/or" which describes the association relationship of the associated objects, means that there can be three kinds of relationships, for example, A and/or B, which can mean that A exists alone, A and B exist at the same time, and B exists alone.
  • the character “/” generally indicates that the associated objects are an "or" relationship.

Landscapes

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

Abstract

本申请提供了一种参考像素候选列表构建方法、装置、设备及存储介质,涉及视频编解码技术领域。所述方法包括:响应于通过等值串模式进行视频编解码,确定当前编解码块的空域临近像素,所述空域临近像素是与所述当前编解码块的距离处于指定距离范围内的已重建像素;基于目标参考像素的像素信息,构建所述当前编解码块的空域临近像素列表;目标参考像素属于当前编解码块的空域临近像素;基于所述空域临近像素列表,构建所述当前编解码块的预选的参考像素候选列表。上述方案能够扩展等值串模式下的参考像素选择范围,进而提高扩展等值串模式的编解码效率。

Description

参考像素候选列表构建方法、装置、设备及存储介质
本申请要求于2020年10月18日提交的、申请号为202011114074.X、发明名称为“参考像素候选列表构建方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及视频编解码技术领域,特别涉及一种参考像素候选列表构建方法、装置、设备及存储介质。
背景技术
在目前的视频压缩技术中,如VVC(Versatile Video Coding,通用视频编码)和AVS3(Audio Video coding Standard 3,音视频编码标准3)中,引入了串预测的编解码方式,其中,等值串模式是串预测的编解码的一种。
在相关技术中,串预测的编解码方式依赖参考像素预测列表执行。其中,在对当前编解码块进行等值串预测编解码时,首先通过已重建的编解码块的参考像素预测列表,构建当前编解码块初始的参考像素预测列表,然后再根据初始的参考像素预测列表,对当前编解码块进行等值串预测。
发明内容
本申请实施例提供了一种参考像素候选列表构建方法、装置、设备及存储介质,能够扩展等值串模式下的参考像素选择范围,进而提高扩展等值串模式的编解码效率。所述技术方案如下:
第一方面,本申请实施例提供了一种参考像素候选列表构建方法,由计算机设备执行,所述方法包括:
响应于通过等值串模式进行视频编解码,确定当前编解码块的空域临近像素,所述空域临近像素是与所述当前编解码块的距离处于指定距离范围内的已重建像素;
基于目标参考像素的像素信息,构建所述当前编解码块的空域临近像素列表;所述目标参考像素属于所述当前编解码块的空域临近像素;
基于所述空域临近像素列表,构建所述当前编解码块的预选的参考像素候选列表;所述预选的参考像素候选列表用于构建初始的参考像素候选列表;所述初始的参考像素候选列表用于对所述当前编解码块进行编码或者解码。
第二方面,本申请实施例提供了一种参考像素候选列表构建装置,所述装置包括:
像素确定模块,用于响应于通过等值串模式进行视频编解码,确定当前编解码块的空域临近像素,所述空域临近像素是与所述当前编解码块的距离处于指定距离范围内的已重建像素;
临近像素列表构建模块,用于基于目标参考像素的像素信息,构建所述当前编解码块的空域临近像素列表;所述目标参考像素属于所述当前编解码块的空域临近像素;
参考像素列表构建模块,用于基于所述空域临近像素列表,构建所述当前编解码块的预选的参考像素候选列表;所述预选的参考像素候选列表用于构建初始的参考像素候选列表;所述初始的参考像素候选列表用于对所述当前编解码块进行编码或者解码。
第三方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述至少一条计算机指令由所述处理器加载并执 行以实现上述参考像素候选列表构建方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行以实现上述参考像素候选列表构建方法。
第五方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述参考像素候选列表构建方法。
本申请实施例提供的技术方案,在对当前编解码块进行编码/解码之前,通过与当前编码块邻近的已重建像素的相关信息来构建当前编解码块的预选的参考像素候选列表,从而在后续对当前编解码块进行编码/解码过程中,引入邻近空域的像素作为参考进行等值串预测编码/解码,从而能够扩展等值串模式下的参考像素选择范围,进而提高扩展等值串模式的编解码效率。
附图说明
图1是本申请示例性示出的一种视频编码过程的基本流程图;
图2是本申请一个实施例提供的帧间预测模式的示意图;
图3是本申请一个实施例提供的候选运动矢量的示意图;
图4是本申请一个实施例提供的帧内块复制模式的示意图;
图5是本申请一个实施例提供的帧内串复制模式的示意图;
图6是本申请一个实施例提供的通信系统的简化框图;
图7是本申请示例性示出的视频编码器和视频解码器在流式传输环境中的放置方式的示意图;
图8是本申请一个实施例提供的参考像素候选列表构建方法的流程图;
图9是图8所示实施例涉及的空域临近像素位置示意图;
图10是图8所示实施例涉及的空域临近像素的编号示意图;
图11是本申请一个实施例提供的等值串预测流程框架图;
图12是本申请一个实施例提供的参考像素候选列表构建装置的框图;
图13是本申请一个实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例进行介绍说明之前,首先结合图1对视频编码技术进行简单介绍。图1示例性示出了一种视频编码过程的基本流程图。
视频信号是指包括多个帧的图像序列。帧(frame)是视频信号空间信息的表示。以YUV模式为例,一个帧包括一个亮度样本矩阵(Y)和两个色度样本矩阵(Cb和Cr)。从视频信号的获取方式来看,可以分为摄像机拍摄到的以及计算机生成的两种方式。由于统计特性的不同,其对应的压缩编码方式也可能有所区别。
在一些主流的视频编码技术中,如H.265/HEVC(High Efficient Video Coding,高效率视频压缩编码)、H.266/VVC(Versatile Video Coding,通用视频编码)标准、AVS(Audio Video coding Standard,音视频编码标准)(如AVS3)中,采用了混合编码框架,对输入的原始视频信号进行如下一系列的操作和处理:
1、块划分结构(Block Partition Structure):输入图像划分成若干个不重叠的处理单元,每个处理单元将进行类似的压缩操作。这个处理单元被称作CTU(Coding Tree Unit,编码树单元),或者LCU(Large Coding Unit,最大编码单元)。CTU再往下,可以继续进行更加精 细的划分,得到一个或多个基本编码的单元,称之为CU(Coding Unit,编码单元)。每个CU是一个编码环节中最基本的元素。以下描述的是对每一个CU可能采用的各种编码方式。
2、预测编码(Predictive Coding):包括了帧内预测和帧间预测等方式,原始视频信号经过选定的已重建视频信号的预测后,得到残差视频信号。编码端需要为当前CU决定在众多可能的预测编码模式中,选择最适合的一种,并告知解码端。其中,帧内预测是指预测的信号来自于同一图像内已经编码重建过的区域。帧间预测是指预测的信号来自已经编码过的,不同于当前图像的其他图像(称之为参考图像)。
3、变换编码及量化(Transform&Quantization):残差视频信号经过DFT(Discrete Fourier Transform,离散傅里叶变换)、DCT(Discrete Cosine Transform,离散余弦变换)等变换操作,将信号转换到变换域中,称之为变换系数。在变换域中的信号,进一步进行有损的量化操作,丢失掉一定的信息,使得量化后的信号有利于压缩表达。在一些视频编码标准中,可能有多于一种变换方式可以选择,因此,编码端也需要为当前CU选择其中的一种变换,并告知解码端。量化的精细程度通常由量化参数来决定。QP(Quantization Parameter,量化参数)取值较大,表示更大取值范围的系数将被量化为同一个输出,因此通常会带来更大的失真,及较低的码率;相反,QP取值较小,表示较小取值范围的系数将被量化为同一个输出,因此通常会带来较小的失真,同时对应较高的码率。
4、熵编码(Entropy Coding)或统计编码:量化后的变换域信号,将根据各个值出现的频率,进行统计压缩编码,最后输出二值化(0或者1)的压缩码流。同时,编码产生其他信息,例如选择的模式、运动矢量等,也需要进行熵编码以降低码率。统计编码是一种无损编码方式,可以有效的降低表达同样的信号所需要的码率。常见的统计编码方式有变长编码(Variable Length Coding,简称VLC)或者基于上下文的二值化算术编码(Content Adaptive Binary Arithmetic Coding,简称CABAC)。
5、环路滤波(Loop Filtering):已经编码过的图像,经过反量化、反变换及预测补偿的操作(上述2~4的反向操作),可获得重建的解码图像。重建图像与原始图像相比,由于存在量化的影响,部分信息与原始图像有所不同,产生失真(distortion)。对重建图像进行滤波操作,例如去块效应滤波(deblocking),SAO(Sample Adaptive Offset,样本自适应偏移量)或者ALF(Adaptive Lattice Filter,自适应格型滤波器)等滤波器,可以有效的降低量化所产生的失真程度。由于这些经过滤波后的重建图像,将作为后续编码图像的参考,用于对将来的信号进行预测,所以上述的滤波操作也被称为环路滤波,及在编码环路内的滤波操作。
根据上述编码过程可以看出,在解码端,对于每一个CU,解码器获得压缩码流后,先进行熵解码,获得各种模式信息及量化后的变换系数。各个系数经过反量化及反变换,得到残差信号。另一方面,根据已知的编码模式信息,可获得该CU对应的预测信号,两者相加之后,即可得到重建信号。最后,解码图像的重建值,需要经过环路滤波的操作,产生最终的输出信号。
一些主流的视频编码标准中,如HEVC、VVC、AVS3等标准中,均采用基于块的混合编码框架。它们将原始的视频数据分成一系列的编码块,结合预测、变换和熵编码等视频编码方法,实现视频数据的压缩。其中,运动补偿是视频编码常用的一类预测方法,运动补偿基于视频内容在时域或空域的冗余特性,从已编码的区域导出当前编码块的预测值。这类预测方法包括:帧间预测、帧内块复制预测、帧内串复制预测等,在具体的编码实现中,可能单独或组合使用这些预测方法。对于使用了这些预测方法的编码块,通常需要在码流显式或隐式地编码一个或多个二维的位移矢量,指示当前块(或当前块的同位块)相对它的一个或多个参考块的位移。
需要注意的是,在不同的预测模式下及不同的实现,位移矢量可能有不同的名称,本文统一按照以下方式进行描述:1)帧间预测模式中的位移矢量称为运动矢量(Motion Vector, 简称MV);2)IBC(Intra Block Copy,帧内块复制)预测模式中的位移矢量称为块矢量(Block Vector,简称BV);3)ISC(Intra String Copy,帧内串复制)预测模式中的位移矢量称为串矢量(String Vector,简称SV)。帧内串复制也称作“串预测”或“串匹配”等。
MV是指用于帧间预测模式的位移矢量,由当前图像指向参考图像,其值为当前块和参考块之间的坐标偏移量,其中,当前块与参考块在两个不同图像中。在帧间预测模式中,可以引入运动矢量预测,通过对当前块的运动矢量进行预测,得到当前块对应的预测运动矢量,对当前块对应的预测运动矢量与实际运动矢量之间的差值进行编码传输,相较于直接对当前块对应的实际运动矢量进行编码传输,有利于节省比特开销。在本申请实施例中,预测运动矢量是指通过运动矢量预测技术,得到的当前块的运动矢量的预测值。
BV是指用于IBC预测模式的位移矢量,其值为当前块和参考块之间的坐标偏移量,其中,当前块与参考块均在当前图像中。在IBC预测模式中,可以引入块矢量预测,通过对当前块的块矢量进行预测,得到当前块对应的预测块矢量,对当前块对应的预测块矢量与实际块矢量之间的差值进行编码传输,相较于直接对当前块对应的实际块矢量进行编码传输,有利于节省比特开销。在本申请实施例中,预测块矢量是指通过块矢量预测技术,得到的当前块的块矢量的预测值。
SV是指用于ISC预测模式的位移矢量,其值为当前串和参考串之间的坐标偏移量,其中,当前串与参考串均在当前图像中。在ISC预测模式中,可以引入串矢量预测,通过对当前串的串矢量进行预测,得到当前串对应的预测串矢量,对当前串对应的预测串矢量与实际串矢量之间的差值进行编码传输,相较于直接对当前串对应的实际串矢量进行编码传输,有利于节省比特开销。在本申请实施例中,预测串矢量是指通过串矢量预测技术,得到的当前串的串矢量的预测值。
下面对几种不同的预测模式进行介绍:
一、帧间预测模式
如图2所示,帧间预测利用视频时间域的相关性,使用邻近已编码图像的像素预测当前图像的像素,以达到有效去除视频时域冗余的目的,能够有效节省编码残差数据的比特。其中,P为当前帧,Pr为参考帧,B为当前待编码块,Br是B的参考块。B’与B在图像中的坐标位置相同,Br坐标为(xr,yr),B’坐标为(x,y)。当前待编码块与其参考块之间的位移,称为运动矢量(MV),即:
MV=(xr-x,yr-y)。
考虑到时域或空域邻近块具有较强的相关性,可以采用MV预测技术进一步减少编码MV所需要的比特。在H.265/HEVC中,帧间预测包含Merge和AMVP(Advanced Motion Vector Prediction,高级运动向量预测)两种MV预测技术。
Merge模式会为当前PU(Prediction Unit,预测单元)建立一个MV候选列表,其中存在5个候选MV(及其对应的参考图像)。遍历这5个候选MV,选取率失真代价最小的作为最优MV。若编解码器依照相同的方式建立候选列表,则编码器只需要传输最优MV在候选列表中的索引即可。需要注意的是,HEVC的MV预测技术还有一种skip模式,是Merge模式的一种特例。在Merge模式找到最优MV后,如果当前块和参考块基本一样,那么不需要传输残差数据,只需要传送MV的索引和一个skip flag。
Merge模式建立的MV候选列表中包含了空域和时域的两种情形,对于B Slice(B帧图像),还包含组合列表的方式。其中,空域最多提供4个候选MV,它的建立如图3中的(a)部分所示。空域列表按照A1→B1→B0→A0→B2的顺序建立,其中B2为替补,即当A1,B1,B0,A0中有一个或多个不存在时,则需要使用B2的运动信息;时域最多只提供1个候选MV,它的建立如图3中的(b)部分所示,由同位PU的MV按下式伸缩得到:
curMV=td*colMV/tb;
其中,curMV表示当前PU的MV,colMV表示同位PU的MV,td表示当前图像与参考 图像之间的距离,tb表示同位图像与参考图像之间的距离。若同位块上D0位置PU不可用,则用D1位置的同位PU进行替换。对于B Slice中的PU,由于存在两个MV,其MV候选列表也需要提供两个MVP(Motion Vector Predictor,预测运动矢量)。HEVC通过将MV候选列表中的前4个候选MV进行两两组合,产生了用于B Slice的组合列表。
类似的,AMVP模式利用空域和时域邻近块的MV相关性,为当前PU建立MV候选列表。与Merge模式不同,AMVP模式的MV候选列表中选择最优的预测MV,与当前待编码块通过运动搜索得到的最优MV进行差分编码,即编码MVD=MV-MVP,其中MVD为运动矢量残差(Motion Vector Difference);解码端通过建立相同的列表,仅需要MVD与MVP在该列表中的序号即可计算当前解码块的MV。AMVP模式的MV候选列表也包含空域和时域两种情形,不同的是AMVP模式的MV候选列表长度仅为2。
如上所述,在HEVC的AMVP模式中,需要对MVD进行编码。在HEVC中,MVD的分辨率由slice_header中的use_integer_mv_flag控制,当该标志的值为0,MVD以1/4(亮度)像素分辨率进行编码;当该标志的值为1,MVD采用整(亮度)像素分辨率进行编码。VVC中使用了一种自适应运动矢量精度(Adaptive motion vector resolution,简称AMVR)的方法。该方法允许每个CU自适应的选择编码MV的分辨率。在普通的AMVP模式中,可选的分辨率包括1/4,1/2,1和4像素分辨。对于具有至少一个非零MVD分量的CU,首先编码一个标志指示是否将四分之一亮度采样MVD精度用于CU。如果该标志为0,则当前CU的MVD采用1/4像素分辨率进行编码。否则,需要编码第二个标志,以指示CU使用了1/2像素分辨率或其他MVD分辨率。否则,编码第三个标志以指示对于CU是否使用1像素分辨率或4像素分辨率。
二、IBC预测模式
IBC是HEVC屏幕内容编码(Screen Content Coding,简称SCC)扩展中采纳的一种帧内编码工具,它显著的提升了屏幕内容的编码效率。在AVS3和VVC中,也采纳了IBC技术以提升屏幕内容编码的性能。IBC利用屏幕内容视频在空间的相关性,使用当前图像上已编码图像像素预测当前待编码块的像素,能够有效节省编码像素所需的比特。如图4所示,在IBC中当前块与其参考块之间的位移,称为BV(块矢量)。H.266/VVC采用了类似于帧间预测的BV预测技术进一步节省编码BV所需的比特。VVC采用了类似于帧间预测中的AMVP模式对BV进行预测,并允许使用1或4像素分辨率编码BVD。
三、ISC预测模式
ISC技术按照某种扫描顺序(如光栅扫描、往返扫描和Zig-Zag扫描等)将一个编码块分成一系列像素串或未匹配像素。类似于IBC,每个串在当前图像已编码区域中寻找相同形状的参考串,导出当前串的预测值,通过编码当前串像素值与预测值之间残差,代替直接编码像素值,能够有效节省比特。图5给出了帧内串复制的示意图,深灰色的区域为已编码区域,白色的28个像素为串1,浅灰色的35个像素为串2,黑色的1个像素表示未匹配像素。串1与其参考串之间的位移,即为图5中的串矢量1;串2与其参考串之间的位移,即为图5中的串矢量2。
帧内串复制技术需要编码当前编码块中各个串对应的SV、串长度以及是否有匹配串的标志等。其中,SV表示待编码串到其参考串的位移。串长度表示该串所包含的像素数量。
四、等值串模式
等值串模式是帧内串复制的一种子模式,类似于帧内串复制,等值串模式下一个编解码块按照某种扫描顺序划分为一系列的像素串,其特点是像素串中所有像素具有相同的预测值。等值串模式需要对当前编解码块中各个串的长度和预测值进行编码。
预测值的编码方式有以下几种方法:
1)直接对预测值进行编码;
2)构建一个参考像素候选列表L1,编码预测值在L1中的索引;
3)构建一个参考像素预测列表L0,根据重用标志(reuse_flag),由该列表导出参考像素候选列表L1,编码reuse_flag和编码预测值在L1中的索引。
在目前等值串实现方式中,目前采用上述方法3)对预测值进行编码。
目前等值串的实现方式如下:
屏幕内容图像中经常出现等值串,且这些等值串的像素值本身具有较高的出现频率。根据这个特点,通过串复制帧内预测的等值串编码技术,在这些像素第一次在一个LCU行中出现时,记录和保存这些像素在当前LCU行中的位置,称之为常现位置,而等值串的像素则也称为常现位置像素。
常现位置以及常现位置像素后续还会经过历史点矢量预测器候选列表(History point vector predictor Candidate List,HpvpCandList,相当于帧间预测的HmvpCandList或IBC的HbvpCandList,最多可放15个点矢量),被反复取出来作为参考像素使用。常现位置用以当前LCU行左上角位置为原点的坐标来表示,称之为点预测的点矢量(Point Vector,PV)。
在CU开始进行等值串及单位基矢量串子模式的点预测之前,对于CU内部的像素进行聚类,获得K个出现频度较高的像素数值。如果其中某个像素数值与放在一个PrevHpvpCandList数组中的某个pv对应的常现位置的像素值相同或者差异小于一定阈值,则该pv被直接放入当前cu的HpvpCandList中,得到当前CU的初始HpvpCandList。
HpvpCandList在对当前cu中的evs逐个进行编码的过程中不断扩展。每当出现一个新的常现位置时,将该常现位置的pv添加到HpvpCandList中。
PrevHpvpCandList初始为空。在完成一个当前CU的串复制帧内预测编码后,需要更新PrevHpvpCandList:
首先从PrevHpvpCandList中删去其与当前HpvpCandList的重复部分,将已完成解码的CU的HpvpCandList中的pv从表头填充入PrevHpvpCandList。PrevHpvpCandList最多存储28个前pv,超出的部分将被移除。
等值串预测值的编码流程如下:
S1,编码reuse_flag,指示PrevHpvpCandList中的pv是否存在于HpvpCandList;
S2,编码等值串的长度;
S3,编码预测值,如果编码中出现的等值串的像素数值等于hpvpCandList中某个pv所指向的像素的数值时,则将该pv对应的索引写入码流;否则将像素数值本身写入码流,并使用该值扩展参考像素候选列表。
等值串预测值的解码流程如下:
S1,类似编码端的方式,构建PrevHpvpCandList;
S2,根据reuse_flag构建初始HpvpCandList;
S3,解码得到等值串的长度;
S4,解码得到的索引idx,如果idx小于HpvpCandList的长度,根据idx从HpvpCandList中取出pv,然后从pv指定的常现位置上获得像素的数值;否则从码流中解码得到像素值,并使用该值扩展参考像素候选列表。
如图6所示,其示出了本申请一个实施例提供的通信系统的简化框图。通信系统200包括多个设备,所述设备可通过例如网络250彼此通信。举例来说,通信系统200包括通过网络250互连的第一设备210和第二设备220。在图6的实施例中,第一设备210和第二设备220执行单向数据传输。举例来说,第一设备210可对视频数据例如由第一设备210采集的视频图片流进行编码以通过网络250传输到第二设备220。已编码的视频数据以一个或多个已编码视频码流形式传输。第二设备220可从网络250接收已编码视频数据,对已编码视频数据进行解码以恢复视频数据,并根据恢复的视频数据显示视频图片。单向数据传输在媒体服务等应用中是较常见的。
在另一实施例中,通信系统200包括执行已编码视频数据的双向传输的第三设备230和 第四设备240,所述双向传输可例如在视频会议期间发生。对于双向数据传输,第三设备230和第四设备240中的每个设备可对视频数据(例如由设备采集的视频图片流)进行编码,以通过网络250传输到第三设备230和第四设备240中的另一设备。第三设备230和第四设备240中的每个设备还可接收由第三设备230和第四设备240中的另一设备传输的已编码视频数据,且可对所述已编码视频数据进行解码以恢复视频数据,且可根据恢复的视频数据在可访问的显示装置上显示视频图片。
在图6的实施例中,第一设备210、第二设备220、第三设备230和第四设备240可为服务器、个人计算机和智能电话等计算机设备,但本申请公开的原理可不限于此。本申请实施例适用于PC(Personal Computer,个人计算机)、手机、平板电脑、媒体播放器和/或专用视频会议设备。网络250表示在第一设备210、第二设备220、第三设备230和第四设备240之间传送已编码视频数据的任何数目的网络,包括例如有线连线的和/或无线通信网络。通信网络250可在电路交换和/或分组交换信道中交换数据。该网络可包括电信网络、局域网、广域网和/或互联网。出于本申请的目的,除非在下文中有所解释,否则网络250的架构和拓扑对于本申请公开的操作来说可能是无关紧要的。
作为实施例,图7示出视频编码器和视频解码器在流式传输环境中的放置方式。本申请所公开主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV(电视)、在包括CD(Compact Disc,光盘)、DVD(Digital Versatile Disc,数字通用光盘)、存储棒等的数字介质上存储压缩视频等等。
流式传输系统可包括采集子系统313,所述采集子系统可包括数码相机等视频源301,所述视频源创建未压缩的视频图片流302。在实施例中,视频图片流302包括由数码相机拍摄的样本。相较于已编码的视频数据304(或已编码的视频码流),视频图片流302被描绘为粗线以强调高数据量的视频图片流,视频图片流302可由电子装置320处理,所述电子装置320包括耦接到视频源301的视频编码器303。视频编码器303可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于视频图片流302,已编码的视频数据304(或已编码的视频码流304)被描绘为细线以强调较低数据量的已编码的视频数据304(或已编码的视频码流304),其可存储在流式传输服务器305上以供将来使用。一个或多个流式传输客户端子系统,例如图7中的客户端子系统306和客户端子系统308,可访问流式传输服务器305以检索已编码的视频数据304的副本307和副本309。客户端子系统306可包括例如电子装置330中的视频解码器310。视频解码器310对已编码的视频数据的传入副本307进行解码,且产生可在显示器312(例如显示屏)或另一呈现装置(未描绘)上呈现的输出视频图片流311。在一些流式传输系统中,可根据某些视频编码/压缩标准对已编码的视频数据304、视频数据307和视频数据309(例如视频码流)进行编码。
应注意,电子装置320和电子装置330可包括其它组件(未示出)。举例来说,电子装置320可包括视频解码器(未示出),且电子装置330还可包括视频编码器(未示出)。其中,视频解码器用于对接收到的已编码视频数据进行解码;视频编码器用于对视频数据进行编码。
需要说明的一点是,本申请实施例提供的技术方案可以应用于H.266/VVC标准、H.265/HEVC标准、AVS(如AVS3)或者下一代视频编解码标准中,本申请实施例对此不作限定。
在目前的等值串预测中,参考像素候选列表的构建只使用了历史编解码块的信息,而忽略了视频图像中邻近像素之间的相关性。由于历史编码块信息不足,无法实现高效的参考像素预测,影响编码效率。
本申请各个实施例所示的方案,提出了一种等值串模式下的参考像素候选列表的构建方法,该方法结合空域邻近像素导出等值串的参考像素候选列表,也就是,响应于通过等值串模式进行视频编解码,确定当前编解码块的空域临近像素,空域临近像素是与当前编解码块 的距离处于指定距离范围内的已重建像素;基于目标参考像素的像素信息,构建当前编解码块的空域临近像素列表,该目标参考像素属于当前编解码块的空域临近像素;基于空域临近像素列表,构建当前编解码块的预选的参考像素候选列表。其中,上述预选的参考像素候选列表用于构建初始的参考像素候选列表;该初始的参考像素候选列表用于对当前编解码块进行编码或者解码。
通过上述方案,后续基于该预选的参考像素候选列表对等值串的预测值进行编码时,有助于提升编码效率。该方案可以应用到使用了等值串的视频编解码器或视频压缩的产品中。
本申请实施例提供的方法,各步骤的执行主体可以是解码端设备,也可以是编码端设备。在视频解码和视频编码的过程中,都可以采用本申请实施例提供的技术方案,来进行图像重建。解码端设备和编码端设备均可以是计算机设备,该计算机设备是指具备数据计算、处理和存储能力的电子设备,如PC、手机、平板电脑、媒体播放器、专用视频会议设备、服务器等等。
另外,本申请所提供的方法可以单独使用或以任意顺序与其他方法合并使用。基于本申请所提供方法的编码器和解码器,可以由1个或多个处理器或是1个或多个集成电路来实现。
请参考图8,其示出了本申请一个实施例提供的参考像素候选列表构建方法的流程图。为了便于说明,仅以各步骤执行主体为计算机设备进行介绍说明。该方法可以包括:
801,响应于通过等值串模式进行视频编解码,确定当前编解码块的空域临近像素。
其中,上述空域临近像素是与当前编解码块的距离处于指定距离范围内的已重建像素。
比如,以当前编码块上方的编解码块和/或左侧的编解码块是已重建的编解码块为例,上述空域临近像素,可以是当前编码块上方最近一行的像素和/或当前编码块左方最近一列的像素;或者,上述空域临近像素,可以是当前编码块上方左方第二行的像素和/或当前编码块左方第二列的像素;或者,上述空域临近像素,可以是当前编码块上方最近两行的像素和/或当前编码块左方最近两列的像素。
例如,请参考图9,其示出了本申请实施例涉及的空域临近像素位置示意图。如图9所示,当前编解码块91的上方和左方分别存在已重建的编解码块92、已重建的编解码块93以及已重建的编解码块94。其中,已重建的编解码块92、已重建的编解码块93以及已重建的编解码块94所构成的区域中,包含与当前编解码块91在空域上邻近的第一像素行91a和第二像素行91b,第一像素行91a是当前编解码块91上方的第一行像素,第二像素行91b是当前编解码块91上方的第二行像素;已重建的编解码块92、已重建的编解码块93以及已重建的编解码块94所构成的区域中,包含与当前编解码块91在空域上邻近的第一像素列91c和第二像素列91d,第一像素列91c是当前编解码块91左方的第一列像素,第二像素列91d是当前编解码块91左方的第二列像素;在图9所示的图像中,编解码器可以将第一像素行91a和第一像素列91c中的各个像素确定为当前编解码块91的空域临近像素;或者,编解码器可以将第二像素行91b和第二像素列91d中的各个像素确定为当前编解码块91的空域临近像素;或者,编解码器可以将第一像素行91a、第一像素列91c、第二像素行91b和第二像素列91d中的各个像素确定为当前编解码块91的空域临近像素。
其中,上述图9所示的方案仅以将当前编解码块的上方和左方两行/两列像素中的部分或全部像素作为当前编解码块91的空域临近像素为例进行介绍。在其他可能的实现方式中,当前编解码块91的空域临近像素也可以更多或者更少,比如,将当前编解码块的上方和左方三行/三列像素中的部分或全部像素作为当前编解码块91的空域临近像素。
802,基于目标参考像素的像素信息构建空域临近像素列表。
其中,上述目标参考像素属于所述当前编解码块的空域临近像素。
在一种可能的实现方式中,该目标参考像素的像素信息包括该目标参考像素的位置信息,以及该目标参考像素的像素值信息中的至少一种;
该位置信息包括对应的像素在该当前图像块所在的图像中的坐标;
或者,该位置信息包括对应的像素在最大编码单元LCU行中的坐标;
或者,该位置信息包括对应的像素在亮度图像上的坐标。
在本申请实施例中,空域邻近像素的像素信息包括该像素的位置,如该像素在图像中坐标,或者,该像素在LCU行中的坐标;对于YUV420的图像来说,空域邻近像素的像素信息还可以为该像素在亮度图像上的坐标。
或者,上述空域邻近像素的像素信息包括该像素的像素值。
或者,上述空域邻近像素的像素信息同时包括该像素的位置和像素值。
在一种可能的实现方式中,该目标参考像素是该当前编解码块的空域临近像素中的全部像素;
或者,该目标参考像素是该当前编解码块的空域临近像素中,处于目标位置上的像素。
其中,上述目标位置包括以下至少一种:
指定位置;
以及,基于该当前编解码块的大小确定的位置。
其中,上述目标位置可以是当前编解码块的空域临近像素中,预先指定的位置。比如,上述预先指定的位置,可以与当前编解码块之间满足预先设置的位置关系,或者,上述预先指定的位置,可以是空域临近像素中满足预先设置的位置条件(比如空域临近像素中,处于中间或边缘的位置)的位置。其中,该位置关系或位置条件可以由开发人员预先设置。或者,该位置关系或位置条件也可以由协议进行定义。
或者,上述目标位置可以是计算机设备中的编解码器基于当前编解码块的大小动态确定的位置。
或者,上述目标位置可以同时包括当前编解码块的空域临近像素中预先指定的位置,以及编解码器基于当前编解码块的大小动态确定的位置。
在本申请实施例的一个示例性的方案中,上述目标参考像素可以来自于空域临近像素中的以下可选的位置:
1)目标参考像素包括当前编解码块直接相邻的已重建像素。
比如,以当前编解码块的宽为W,高为H为例(即宽度为W个像素,高度为H个像素)为例,将当前编解码块的上方一行的W个已重建像素,以及左方一列的H个已重建像素的像素信息加入空域临近像素列表(例如编号为列表L1)。
2)目标参考像素包括当前编解码块非直接相邻的已重建像素。
比如,将当前编解码块的上方第二行的W个已重建像素,以及左方第二列的H个已重建像素的像素信息加入列表L1。
3)目标参考像素包括当前编解码块直接和/或非直接相邻的部分已重建像素。
比如,请参考图10,其示出了本申请实施例涉及的空域临近像素的编号示意图,以目标参考像素包括当前编解码块直接相邻的部分已重建像素为例,可以将位置编号为TL、T[0]、T[W/2](或者T[W/2-1])、T[W](或者T[W-1])、以及L[0]、L[H/2](或者,L[H/2-1])、L[H](或者L[H-1])的像素信息加入空域临近像素列表。
4)目标参考像素是基于当前编解码块的大小(比如高度和/或宽度)确定的全部或者部分空域临近像素。
在本申请实施例中,编解码器也可以根据当前编解码块的大小,选择目标参考像素。
例如,以图10为例,若当前编解码块的宽度小于32,将像素位置为{T[0],T[1],…,T[W-1]}的W个像素信息加入列表L1,若当前编解码块的高度小于32,则将像素位置为{L[0],L[1],…,L[H-1]}共H个像素信息加入列表L1。
或者,以图10为例,若当前编解码块的宽度小于32,将像素位置为{T[0],T[2],…,T[W-2]}共W/2个像素(假设W为偶数)加入列表L1,若当前编解码块的高度大于32,则 将像素位置为{L[0],L[2],…,L[H-2]}共H/2个像素(假设H为偶数)加入列表L1。
在一种可能的实现方式中,在基于该当前编解码块的空域临近像素中的目标参考像素的像素信息构建该空域临近像素列表时,按照指定的填充顺序,将该目标参考像素的像素信息填充入该空域临近像素列表。
也就是说,响应于目标参考像素包含至少两个像素,计算机设备中的编解码器将至少两个目标参考像素的像素信息按照填充顺序填充入空域临近像素列表。
在本申请实施例中,编解码器在构建空域临近像素列表L1时,可以按照一定的优先级顺序,将各个目标参考像素的像素信息填充入到列表L1中。
在一种可能的实现方式中,编解码器按照指定的填充顺序,将该目标参考像素的像素信息填充入该空域临近像素列表时,可以执行以下操作:
将位于当前编解码块上方的各个目标参考像素的像素信息填充入该空域临近像素列表后,将位于当前编解码块左方的各个目标参考像素的像素信息填充入该空域临近像素列表;
或者,将位于该当前编解码块左方的各个目标参考像素的像素信息填充入该空域临近像素列表后,将位于该当前编解码块上方的各个目标参考像素的像素信息填充入该空域临近像素列表;
或者,将位于该当前编解码块上方的各个目标参考像素的像素信息,以及位于该当前编解码块左方的各个目标参考像素的像素信息,交替填充入该空域临近像素列表。
在本申请实施例中,编解码器可以按照以下可选的顺序,将各个目标参考像素的像素信息填充入列表L1:
1)先填充入当前编解码块上方的目标参考像素,再填充入当前编解码块左方的目标参考像素;
比如,编解码先按照从左到右的顺序,依次将当前编解码块上方的各个目标参考像素的像素信息填充入列表L1,在当前编解码块上方的各个目标参考像素的像素信息都填充完成后,再按照从上到下的顺序,依次将当前编解码块左方的各个目标参考像素的像素信息填充入列表L1。
2)先填充入当前编解码块左方的目标参考像素,再填充入当前编解码块上方的目标参考像素;
比如,编解码先按照从上到下的顺序,依次将当前编解码块左方的各个目标参考像素的像素信息填充入列表L1,在当前编解码块左方的各个目标参考像素的像素信息都填充完成后,再按照从左到右的顺序,依次将当前编解码块上方的各个目标参考像素的像素信息填充入列表L1。
3)交替的填充入当前编解码块左方和当前编解码块上方的目标参考像素,例如,以图10为例,编解码器可以按照L[0]、T[0]、L[1]、T[1]、…、L[H-1]、T[W-1]的顺序依次将目标参考像素的像素信息填充入列表L1。
在一种可能的实现方式中,在按照指定的填充顺序,将该目标参考像素的像素信息填充入该空域临近像素列表时,编解码器执行以下操作:
对于该第一参考像素,获取该第一参考像素与该空域临近像素列表已有的各个参考像素的像素值之间的差值的绝对值;该第一参考像素是至少两个目标参考像素中的任意一个;
响应于该差值的绝对值大于第一绝对值阈值,将该第一参考像素的像素信息填充入该空域临近像素列表。
在一种可能的实现方式中,该第一参考像素与该空域临近像素列表已有的各个参考像素的像素值之间的差值,包括该第一参考像素与该空域临近像素列表已有的各个参考像素的像素值在亮度分量和色度分量上的差值;
或者,该第一参考像素与该空域临近像素列表已有的各个参考像素的像素值之间的差值,包括第一参考像素与该空域临近像素列表已有的各个参考像素的像素值在亮度分量上的差值。
在本申请实施例中,对于各个目标参考像素中的第一参考像素,当按照填充顺序,需要将第一参考像素的像素信息填充至列表L1时,编解码器可以执行以下查重策略:
1)不进行查重,直接将相应的像素信息填充入列表L1;
2)需要与列表L1中已存在的像素的Y、U、V分量像素值进行比较,当第一参考像素与列表中任意像素在各分量上的像素差值的绝对值均大于预设阈值(其中,预设阈值为0时,即表示分量像素值不重复)时,在列表L1中填充入该第一参考像素的像素信息;
3)需要与列表L1中已存在的像素的Y分量像素值进行比较,当第一参考像素与列表中任意像素在Y分量上的像素差值的绝对值大于预设阈值时,在列表L1中填充入该第一参考像素的像素信息。
在一种可能的实现方式中,当该第一参考像素不可用时,将该第一参考像素的最邻近可用参考像素的像素值,作为该第一参考像素的像素值;例如,使用类似帧内预测参考像素扩展的规则,将第一参考像素的像素值设置为最邻近可用参考像素的值。
或者,当第一参考像素不可用时,将该第一参考像素的像素值设置为默认值。
或者,当第一参考像素不可用时,跳过第一参考像素。
803,基于空域临近像素列表,构建当前编解码块的预选的参考像素候选列表。
在一种可能的实现方式中,在基于该空域临近像素列表,构建该当前编解码块的预选的参考像素候选列表时,编解码器可以执行以下操作:
将该空域临近像素列表获取为该当前编解码块的预选的参考像素候选列表;
或者,将该空域临近像素列表与历史参考像素候选列表进行合并,获得该当前编解码块的预选的参考像素候选列表;该历史参考像素候选列表是基于已重建的编解码块的参考像素候选列表构建的;
或者,基于空域临近像素列表对历史参考像素候选列表进行排列,获得当前编解码块的预选的参考像素候选列表。
在本申请实施例中,编解码器可以基于上述空域临近像素列表导出当前编解码块的预选的参考像素候选列表,比如记为列表L,其中列表L的长度可以设置为N,N的最大长度小于预设阈值N_T。编解码器可以通过以下可选方式导出列表L:
1)列表L由L1组成,即N=N1,N1为列表L1的长度;
2)列表L由列表L1与列表L2组成,列表L2记录历史解解码块的等值串参考像素信息,长度为N2。
在一种可能的实现方式中,将该空域临近像素列表与历史参考像素候选列表进行合并,获得该当前编解码块的预选的参考像素候选列表,包括:
将该空域临近像素列表中的各个像素信息依次填充入该预选的参考像素候选列表后,将该历史参考像素候选列表中各个像素信息依次填充入该预选的参考像素候选列表,直至该历史参考像素候选列表中各个像素信息填充完成,或者,直至该预选的参考像素候选列表中的像素信息数量达到数量阈值;
或者,将该历史参考像素候选列表中各个像素信息依次填充入该预选的参考像素候选列表后,将该空域临近像素列表中的各个像素信息依次填充入该预选的参考像素候选列表,直至该空域临近像素列表中的各个像素信息填充完成,或者,直至该预选的参考像素候选列表中的像素信息数量达到数量阈值。
比如,当列表L由列表L1与列表L2组成时,编解码器可以通过以下可选方式导出列表L:
1)在列表L中先填充入列表L1中的各个像素信息,再填充入列表L2中的各个像素信息;如果填充过程中列表L的长度达到N_T,或者,列表L1和列表L2中的像素信息都已填充完成,则结束填充,并导出列表L。
2)在列表L中先填充入列表L2中的各个像素信息,再填充入列表L1中的各个像素信 息;如果填充过程中列表L的长度达到N_T,或者,列表L1和列表L2中的像素信息都已填充完成,则结束填充,并导出列表L。
在一种可能的实现方式中,将该空域临近像素列表与历史参考像素候选列表进行合并,获得该当前编解码块的预选的参考像素候选列表,包括:
对于第一像素信息,获取该第一像素信息的像素值与该预选的参考像素候选列表中已有的各个像素信息的像素值之间的差值的绝对值;该第一像素信息是该空域临近像素列表与该历史参考像素候选列表中的任意一个;
响应于该差值的绝对值大于第二绝对值阈值,将该第一像素信息填充入该预选的参考像素候选列表。
在本申请实施例中,编解码器在构建列表L的过程中,将列表L1或者列表L2中一个像素信息填充入列表L时,可以通过查重策略对该像素信息进行查重,即查询列表L中是否存在于当前像素信息对应相同或相近的像素值的像素信息。
其中,将列表L1或者列表L2中一个像素信息填充入列表L过程中的查重策略,与上述将第一参考像素填充入列表L1时的查重策略类似,此处不再赘述。
在一种可能的实现方式中,在基于该空域临近像素列表对该历史参考像素候选列表进行排列,获得该当前编解码块的预选的参考像素候选列表时,编解码器可以执行以下操作:
对于第二像素信息,获取该第二像素信息的像素值与该空域临近像素列表中的各个像素信息的像素值之间的差值的绝对值;该第二像素信息是依次从该历史参考像素候选列表中选取的任意一个像素信息;
响应于该第二像素信息的像素值,与第四像素信息的像素值之间的差值的绝对值小于第三绝对值阈值,将该第二像素信息填充入该预选的参考像素候选列表;该第四像素信息是该空域临近像素列表中的任意一个。
在本申请实施例中,编解码器可以根据列表L1对列表L2进行筛选排序,得到列表L3,列表L可以由列表L3组成。在一个示例性的方案中,上述获得列表L3的过程可以如下:
设列表L2的长度为N2,按指定顺序(例如正序/逆序),将列表L2中的各像素信息的像素值依次与列表L1中的各个像素信息的像素值进行比较,如果列表L2中一个像素信息的像素值与列表L1中任意一个像素信息的像素值的差值的绝对值小于或者等于第三绝对值阈值,则将该像素信息填充入列表L3。
其中,上述将列表L2中的一个像素信息的像素值依次与列表L1中的各个像素信息的像素值进行比较时,可以是对两个像素信息的像素值中的Y、U、V分量像素值进行比较,如果两个像素信息的各个分量像素值的差值的绝对值都小于或者等于第三绝对值阈值,则将列表L2中的该像素信息填充入列表L3。
或者,上述将列表L2中的一个像素信息的像素值依次与列表L1中的各个像素信息的像素值进行比较时,可以是对两个像素信息的像素值中的Y分量像素值进行比较,如果两个像素信息的Y分量像素值的差值的绝对值小于或者等于第三绝对值阈值,则将列表L2中的该像素信息填充入列表L3。
在一种可能的实现方式中,在基于该空域临近像素列表对该历史参考像素候选列表进行排列,获得该当前编解码块的预选的参考像素候选列表时,编解码器执行以下操作:
对于第五像素信息,获取该第五像素信息的像素值与该空域临近像素列表中的各个像素信息的像素值之间的差值的绝对值;该第五像素信息是依次从该历史参考像素候选列表中选取的任意一个像素信息;
响应于该第五像素信息的像素值,与第六像素信息的像素值之间的差值的绝对值小于或者等于第四绝对值阈值,将该第五像素信息填充入第一候选列表;该第六像素信息是该空域临近像素列表中的任意一个;
响应于该第五像素信息的像素值,与该第六像素信息的像素值之间的差值的绝对值大于 第四绝对值阈值,将该第五像素信息填充入第二候选列表;
将该第一候选列表中的各个像素信息,以及该第二候选列表中的各个像素信息依次填充入该预选的参考像素候选列表;该第一候选列表中的各个像素信息在该预选的参考像素候选列表中的位置,位于该第二候选列表中的各个像素信息在该预选的参考像素候选列表中的位置之前。
在本申请实施例中,编解码器可以根据列表L1对列表L2进行筛选排序,得到列表L3和列表L4,列表L可以由列表L3和列表L4组成。在一个示例性的方案中,上述获得列表L的过程可以如下:
设L2的长度为N2,按指定顺序(例如正序/逆序),将列表L2中的各像素信息的像素值依次与列表L1中的各个像素信息的像素值进行比较,如果列表L2中一个像素信息的像素值与列表L1中任意一个像素信息的像素值的差值的绝对值相比小于或者等于第四绝对值阈值,则将该像素信息填充入列表L3。如果列表L2中一个像素信息的像素值与列表L1中任意一个像素信息的像素值的差值的绝对值相比大于第四绝对值阈值,则将该像素信息填充入列表L4。再通过列表L3和列表L4组成列表L,其中,在列表L中,属于列表L3的像素信息,排在属于列表L4的像素信息的前面。
其中,上述预选的参考像素候选列表,即相当于上述PrevHpvpCandList。
804,基于上述预选的参考像素候选列表,对当前编解码块进行编码/解码。
在本申请实施例中,编解码器构建上述预选的参考像素候选列表之后,即可以基于该预选的参考像素候选列表,对当前编解码块进行编码或者解码。
其中,上述预选的参考像素候选列表,用于构建对当前编解码块进行编码或者解码所使用的初始的参考像素候选列表。
其中,对当前编解码块进行解码的方式可以如下:
1)导出当前编解码块的参考像素候选列表,可以有以下方式:
方式a、无须解码reuse_flag,使用列表L作为初始的参考像素候选列表;
方式b、解码reuse_flag,使用列表L的子集导出初始的参考像素候选列表。
2)解码当前编解码块中的等值串的长度;
3)解码当前编解码块中的等值串的参考像素,解码过程如下:
根据解码得到的索引idx,从参考像素候选列表中取出参考像素的位置,然后从该位置上导出像素数值作为当前串的预测值。
如果idx大于参考像素候选列表的长度,直接从码流中解码得到参考像素的数值作为当前串的预测值,并使用该值扩展参考像素候选列表。
综上所述,本申请实施例所示的方案,在对当前编解码块进行编码/解码之前,通过与当前编码块邻近的已重建像素的相关信息来构建当前编解码块的预选的参考像素候选列表,从而在后续对当前编解码块进行编码/解码过程中,引入邻近空域的像素作为参考进行等值串预测编码/解码,从而能够扩展等值串模式下的参考像素选择范围,进而提高扩展等值串模式的编解码效率。
请参考图11,其示出了本申请一个实施例提供的等值串预测流程框架图。如图11所示,编解码器对当前编解码块1101进行编码/解码之前,基于已重建的编解码块中,对应当前编解码块1101的邻近空域像素的位置构建列表L1(步骤S1),然后结合列表L1,以及在对之前的编解码块进行编解码过程中构建和更新的预选的参考像素候选列表,即列表L2(比如PrevHpvpCandList),导出当前编解码块1101的初始的参考像素候选列表1102(步骤S2),然后基于参考像素候选列表1102,对当前编解码块1101中的等值串进行编解码,在编解码过程中,可以更新参考像素候选列表1102(步骤S3),在对当前编解码块1101编解码结束后,通过参考像素候选列表1102更新列表L2。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图12,其示出了本申请一个实施例提供的参考像素候选列表构建装置的框图。该装置具有实现上述方法示例的功能,所述功能可以由硬件执行相应的软件实现。该装置可以包括:
像素确定模块1201,用于响应于通过等值串模式进行视频编解码,确定当前编解码块的空域临近像素,空域临近像素是与当前编解码块的距离处于指定距离范围内的已重建像素;
临近像素列表构建模块1202,用于基于目标参考像素的像素信息,构建所述当前编解码块的空域临近像素列表;所述目标参考像素属于所述当前编解码块的空域临近像素;
参考像素列表构建模块1203,用于基于所述空域临近像素列表,构建所述当前编解码块的预选的参考像素候选列表;所述预选的参考像素候选列表用于构建初始的参考像素候选列表;所述初始的参考像素候选列表用于对所述当前编解码块进行编码或者解码。
在一种可能的实现方式中,所述目标参考像素是所述当前编解码块的空域临近像素中的全部像素;
或者,目标参考像素是所述当前编解码块的空域临近像素中,处于目标位置上的像素。
在一种可能的实现方式中,所述目标位置包括以下至少一种:
指定位置;
以及,基于所述当前编解码块的大小确定的位置。
在一种可能的实现方式中,所述目标参考像素的像素信息包括所述目标参考像素的位置信息,以及所述目标参考像素的像素值信息中的至少一种;
所述位置信息包括对应的像素在所述当前图像块所在的图像中的坐标;
或者,所述位置信息包括对应的像素在最大编码单元LCU行中的坐标;
或者,所述位置信息包括对应的像素在亮度图像上的坐标。
在一种可能的实现方式中,所述临近像素列表构建模块1202,用于响应于所述目标参考像素包含至少两个像素,将至少两个所述目标参考像素的像素信息按照填充顺序填充入所述空域临近像素列表。
在一种可能的实现方式中,所述临近像素列表构建模块1202,用于,
将位于所述当前编解码块上方的各个所述目标参考像素的像素信息填充入所述空域临近像素列表后,将位于所述当前编解码块左方的各个所述目标参考像素的像素信息填充入所述空域临近像素列表;
或者,将位于所述当前编解码块左方的各个所述目标参考像素的像素信息填充入所述空域临近像素列表后,将位于所述当前编解码块上方的各个所述目标参考像素的像素信息填充入所述空域临近像素列表;
或者,将位于当前编解码块上方的各个所述目标参考像素的像素信息,以及位于所述当前编解码块左方的各个所述目标参考像素的像素信息,交替填充入所述空域临近像素列表。
在一种可能的实现方式中,所述临近像素列表构建模块1202,用于,
对于所述第一参考像素,获取所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值之间的差值的绝对值;所述第一参考像素是至少两个所述目标参考像素中的任意一个;
响应于所述差值的绝对值大于第一绝对值阈值,将所述第一参考像素的像素信息填充入所述空域临近像素列表。
在一种可能的实现方式中,所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值之间的差值,包括所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值在亮度分量和色度分量上的差值;
或者,所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值之间的 差值,包括所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值在亮度分量上的差值。
在一种可能的实现方式中,所述临近像素列表构建模块1202,还用于,
当所述第一参考像素不可用时,将所述第一参考像素的最邻近可用参考像素的像素值,作为所述第一参考像素的像素值;
或者,当所述第一参考像素不可用时,将所述第一参考像素的像素值设置为默认值;
或者,当所述第一参考像素不可用时,跳过所述第一参考像素。
在一种可能的实现方式中,所述参考像素列表构建模块1203,包括:第一列表获取单元、第二列表获取单元或者第三列表获取单元,
所述第一列表获取单元,用于将所述空域临近像素列表获取为所述当前编解码块的预选的参考像素候选列表;
所述第二列表获取单元,用于将所述空域临近像素列表与历史参考像素候选列表进行合并,获得所述当前编解码块的预选的参考像素候选列表;所述历史参考像素候选列表是基于已重建的编解码块的参考像素候选列表构建的;
所述第三列表获取单元,用于基于所述空域临近像素列表对所述历史参考像素候选列表进行筛选,获得所述当前编解码块的预选的参考像素候选列表。
在一种可能的实现方式中,所述第二列表获取单元,用于,
将所述空域临近像素列表中的各个像素信息依次填充入所述预选的参考像素候选列表后,将所述历史参考像素候选列表中各个像素信息依次填充入所述预选的参考像素候选列表,直至所述历史参考像素候选列表中各个像素信息填充完成,或者,直至所述预选的参考像素候选列表中的像素信息数量达到数量阈值;
或者,将所述历史参考像素候选列表中各个像素信息依次填充入所述预选的参考像素候选列表后,将所述空域临近像素列表中的各个像素信息依次填充入所述预选的参考像素候选列表,直至所述空域临近像素列表中的各个像素信息填充完成,或者,直至所述预选的参考像素候选列表中的像素信息数量达到数量阈值。
在一种可能的实现方式中,所述第二列表获取单元,用于,
对于第一像素信息,获取所述第一像素信息的像素值与所述预选的参考像素候选列表中已有的各个像素信息的像素值之间的差值的绝对值;所述第一像素信息是所述空域临近像素列表与所述历史参考像素候选列表中的任意一个;
响应于所述差值的绝对值大于第二绝对值阈值,将所述第一像素信息填充入所述预选的参考像素候选列表。
在一种可能的实现方式中,所述第三列表获取单元,用于,
对于第二像素信息,获取所述第二像素信息的像素值与所述空域临近像素列表中的各个像素信息的像素值之间的差值的绝对值;所述第二像素信息是依次从所述历史参考像素候选列表中选取的任意一个像素信息;
响应于所述第二像素信息的像素值,与第四像素信息的像素值之间的差值的绝对值小于第三绝对值阈值,将所述第二像素信息填充入所述预选的参考像素候选列表;所述第四像素信息是所述空域临近像素列表中的任意一个。
在一种可能的实现方式中,所述第三列表获取单元,用于,
对于第五像素信息,获取所述第五像素信息的像素值与所述空域临近像素列表中的各个像素信息的像素值之间的差值的绝对值;所述第五像素信息是依次从所述历史参考像素候选列表中选取的任意一个像素信息;
响应于所述第五像素信息的像素值,与第六像素信息的像素值之间的差值的绝对值小于或者等于第四绝对值阈值,将所述第五像素信息填充入第一候选列表;所述第六像素信息是所述空域临近像素列表中的任意一个;
响应于所述第五像素信息的像素值,与所述第六像素信息的像素值之间的差值的绝对值大于第四绝对值阈值,将所述第五像素信息填充入第二候选列表;
将所述第一候选列表中的各个像素信息,以及所述第二候选列表中的各个像素信息依次填充入所述预选的参考像素候选列表;所述第一候选列表中的各个像素信息在所述预选的参考像素候选列表中的位置,位于所述第二候选列表中的各个像素信息在所述预选的参考像素候选列表中的位置之前。
综上所述,本申请实施例所示的方案,在对当前编解码块进行编码/解码之前,通过与当前编码块邻近的已重建像素的相关信息来构建当前编解码块的预选的参考像素候选列表,从而在后续对当前编解码块进行编码/解码过程中,引入邻近空域的像素作为参考进行等值串预测编码/解码,从而能够扩展等值串模式下的参考像素选择范围,进而提高扩展等值串模式的编解码效率。
请参考图13,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备可以是上文介绍的编码端设备,也可以是上文介绍的解码端设备。该计算机设备130可以包括:处理器131、存储器132、通信接口133、编码器/解码器134和总线135。
处理器131包括一个或者一个以上处理核心,处理器131通过运行软件程序以及模块,从而执行各种功能应用以及信息处理。
存储器132可用于存储计算机程序,处理器131用于执行该计算机程序,以实现上述参考像素候选列表构建方法。比如,该计算机程序中包含至少一条计算机指令,处理器131执行上述至少一条计算机指令,以实现上述参考像素候选列表构建方法。
通信接口133可用于与其它设备进行通信,如收发音视频数据。
编码器/解码器134可用于实现编码和解码功能,如对音视频数据进行编码和解码。
存储器132通过总线135与处理器131相连。
此外,存储器132可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,易失性或非易失性存储设备包括但不限于:磁盘或光盘,EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦除可编程只读存储器),EPROM(Erasable Programmable Read-Only Memory,可擦除可编程只读存储器),SRAM(Static Random-Access Memory,静态随时存取存储器),ROM(Read-Only Memory,只读存储器),磁存储器,快闪存储器,PROM(Programmable read-only memory,可编程只读存储器)。
本领域技术人员可以理解,图13中示出的结构并不构成对计算机设备130的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条计算机指令在被处理器执行时实现上述参考像素候选列表构建方法。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述参考像素候选列表构建方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (31)

  1. 一种参考像素候选列表构建方法,由计算机设备执行,所述方法包括:
    响应于通过等值串模式进行视频编解码,确定当前编解码块的空域临近像素,所述空域临近像素是与所述当前编解码块的距离处于指定距离范围内的已重建像素;
    基于目标参考像素的像素信息,构建所述当前编解码块的空域临近像素列表;所述目标参考像素属于所述当前编解码块的空域临近像素;
    基于所述空域临近像素列表,构建所述当前编解码块的预选的参考像素候选列表;所述预选的参考像素候选列表用于构建初始的参考像素候选列表;所述初始的参考像素候选列表用于对所述当前编解码块进行编码或者解码。
  2. 根据权利要求1所述的方法,
    所述目标参考像素是所述当前编解码块的空域临近像素中的全部像素;
    或者,所述目标参考像素是所述当前编解码块的空域临近像素中,处于目标位置上的像素。
  3. 根据权利要求2所述的方法,所述目标位置包括以下至少一种:
    指定位置;
    以及,基于所述当前编解码块的大小确定的位置。
  4. 根据权利要求1所述的方法,所述目标参考像素的像素信息包括所述目标参考像素的位置信息,以及所述目标参考像素的像素值信息中的至少一种;
    所述位置信息包括像素在所述当前图像块所在的图像中的坐标;
    或者,所述位置信息包括像素在最大编码单元LCU行中的坐标;
    或者,所述位置信息包括像素在亮度图像上的坐标。
  5. 根据权利要求1所述的方法,所述基于目标参考像素的像素信息构建所述空域临近像素列表,包括:
    响应于所述目标参考像素包含至少两个像素,将至少两个所述目标参考像素的像素信息按照填充顺序填充入所述空域临近像素列表。
  6. 根据权利要求5所述的方法,响应于所述目标参考像素包含至少两个像素,将至少两个所述目标参考像素的像素信息按照填充顺序填充入所述空域临近像素列表,包括:
    将位于所述当前编解码块上方的各个所述目标参考像素的像素信息填充入所述空域临近像素列表后,将位于所述当前编解码块左方的各个所述目标参考像素的像素信息填充入所述空域临近像素列表;
    或者,将位于所述当前编解码块左方的各个所述目标参考像素的像素信息填充入所述空域临近像素列表后,将位于所述当前编解码块上方的各个所述目标参考像素的像素信息填充入所述空域临近像素列表;
    或者,将位于所述当前编解码块上方的各个所述目标参考像素的像素信息,以及位于所述当前编解码块左方的各个所述目标参考像素的像素信息,交替填充入所述空域临近像素列表。
  7. 根据权利要求5所述的方法,所述响应于所述目标参考像素包含至少两个像,将至少两个所述目标参考像素的像素信息按照填充顺序填充入所述空域临近像素列表,包括:
    对于第一参考像素,获取所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值之间的差值的绝对值;所述第一参考像素是至少两个所述目标参考像素中的任意一个;
    响应于所述差值的绝对值大于第一绝对值阈值,将所述第一参考像素的像素信息填充入所述空域临近像素列表。
  8. 根据权利要求7所述的方法,
    所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值之间的差值,包括所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值在亮度分量和色度分量上的差值;
    或者,所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值之间的差值,包括所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值在亮度分量上的差值。
  9. 根据权利要求7所述的方法,所述方法还包括:
    当所述第一参考像素不可用时,将所述第一参考像素的最邻近可用参考像素的像素值,作为所述第一参考像素的像素值;
    或者,当所述第一参考像素不可用时,将所述第一参考像素的像素值设置为默认值;
    或者,当所述第一参考像素不可用时,跳过所述第一参考像素。
  10. 根据权利要求1所述的方法,所述基于所述空域临近像素列表,构建所述当前编解码块的预选的参考像素候选列表,包括:
    将所述空域临近像素列表获取为所述当前编解码块的预选的参考像素候选列表;
    或者,将所述空域临近像素列表与历史参考像素候选列表进行合并,获得所述当前编解码块的预选的参考像素候选列表;所述历史参考像素候选列表是基于已重建的编解码块的参考像素候选列表构建的;
    或者,基于所述空域临近像素列表对所述历史参考像素候选列表进行排列,获得所述当前编解码块的预选的参考像素候选列表。
  11. 根据权利要求10所述的方法,所述将所述空域临近像素列表与历史参考像素候选列表进行合并,获得所述当前编解码块的预选的参考像素候选列表,包括:
    将所述空域临近像素列表中的各个像素信息依次填充入所述预选的参考像素候选列表后,将所述历史参考像素候选列表中各个像素信息依次填充入所述预选的参考像素候选列表,直至所述历史参考像素候选列表中各个像素信息填充完成,或者,直至所述预选的参考像素候选列表中的像素信息数量达到数量阈值;
    或者,
    将所述历史参考像素候选列表中各个像素信息依次填充入所述预选的参考像素候选列表后,将所述空域临近像素列表中的各个像素信息依次填充入所述预选的参考像素候选列表,直至所述空域临近像素列表中的各个像素信息填充完成,或者,直至所述预选的参考像素候选列表中的像素信息数量达到数量阈值。
  12. 根据权利要求11所述的方法,所述将所述空域临近像素列表与历史参考像素候选列表进行合并,获得所述当前编解码块的预选的参考像素候选列表,包括:
    对于第一像素信息,获取所述第一像素信息的像素值与所述预选的参考像素候选列表中已有的各个像素信息的像素值之间的差值的绝对值;所述第一像素信息是所述空域临近像素列表与所述历史参考像素候选列表中的任意一个;
    响应于所述差值的绝对值大于第二绝对值阈值,将所述第一像素信息填充入所述预选的参考像素候选列表。
  13. 根据权利要求10所述的方法,所述基于所述空域临近像素列表对所述历史参考像素候选列表进行排列,获得所述当前编解码块的预选的参考像素候选列表,包括:
    对于第二像素信息,获取所述第二像素信息的像素值与所述空域临近像素列表中的各个像素信息的像素值之间的差值的绝对值;所述第二像素信息是依次从所述历史参考像素候选列表中选取的任意一个像素信息;
    响应于所述第二像素信息的像素值,与第四像素信息的像素值之间的差值的绝对值小于第三绝对值阈值,将所述第二像素信息填充入所述预选的参考像素候选列表;所述第四像素信息是所述空域临近像素列表中的任意一个。
  14. 根据权利要求10所述的方法,所述基于所述空域临近像素列表对所述历史参考像素候选列表进行排列,获得所述当前编解码块的预选的参考像素候选列表,包括:
    对于第五像素信息,获取所述第五像素信息的像素值与所述空域临近像素列表中的各个像素信息的像素值之间的差值的绝对值;所述第五像素信息是依次从所述历史参考像素候选列表中选取的任意一个像素信息;
    响应于所述第五像素信息的像素值,与第六像素信息的像素值之间的差值的绝对值小于或者等于第四绝对值阈值,将所述第五像素信息填充入第一候选列表;所述第六像素信息是所述空域临近像素列表中的任意一个;
    响应于所述第五像素信息的像素值,与所述第六像素信息的像素值之间的差值的绝对值大于第四绝对值阈值,将所述第五像素信息填充入第二候选列表;
    将所述第一候选列表中的各个像素信息,以及所述第二候选列表中的各个像素信息依次填充入所述预选的参考像素候选列表;所述第一候选列表中的各个像素信息在所述预选的参考像素候选列表中的位置,位于所述第二候选列表中的各个像素信息在所述预选的参考像素候选列表中的位置之前。
  15. 一种参考像素候选列表构建装置,所述装置包括:
    像素确定模块,用于响应于通过等值串模式进行视频编解码,确定当前编解码块的空域临近像素,所述空域临近像素是与所述当前编解码块的距离处于指定距离范围内的已重建像素;
    临近像素列表构建模块,用于基于目标参考像素的像素信息,构建所述当前编解码块的空域临近像素列表;所述目标参考像素属于所述当前编解码块的空域临近像素;
    参考像素列表构建模块,用于基于所述空域临近像素列表,构建所述当前编解码块的预选的参考像素候选列表;所述预选的参考像素候选列表用于构建初始的参考像素候选列表;所述初始的参考像素候选列表用于对所述当前编解码块进行编码或者解码。
  16. 根据权利要求15所述的装置,
    所述目标参考像素是所述当前编解码块的空域临近像素中的全部像素;
    或者,所述目标参考像素是所述当前编解码块的空域临近像素中,处于目标位置上的像素。
  17. 根据权利要求16所述的装置,所述目标位置包括以下至少一种:
    指定位置;
    以及,基于所述当前编解码块的大小确定的位置。
  18. 根据权利要求15所述的装置,所述目标参考像素的像素信息包括所述目标参考像素的位置信息,以及所述目标参考像素的像素值信息中的至少一种;
    所述位置信息包括像素在所述当前图像块所在的图像中的坐标;
    或者,所述位置信息包括像素在最大编码单元LCU行中的坐标;
    或者,所述位置信息包括像素在亮度图像上的坐标。
  19. 根据权利要求15所述的装置,所述临近像素列表构建模块,用于响应于所述目标参考像素包含至少两个像素,将至少两个所述目标参考像素的像素信息按照填充顺序填充入所述空域临近像素列表。
  20. 根据权利要求16所述的装置,所述临近像素列表构建模块,用于,
    将位于所述当前编解码块上方的各个所述目标参考像素的像素信息填充入所述空域临近像素列表后,将位于所述当前编解码块左方的各个所述目标参考像素的像素信息填充入所述空域临近像素列表;
    或者,将位于所述当前编解码块左方的各个所述目标参考像素的像素信息填充入所述空域临近像素列表后,将位于所述当前编解码块上方的各个所述目标参考像素的像素信息填充入所述空域临近像素列表;
    或者,将位于所述当前编解码块上方的各个所述目标参考像素的像素信息,以及位于所述当前编解码块左方的各个所述目标参考像素的像素信息,交替填充入所述空域临近像素列表。
  21. 根据权利要求19所述的装置,所述临近像素列表构建模块,用于,
    对于第一参考像素,获取所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值之间的差值的绝对值;所述第一参考像素是至少两个所述目标参考像素中的任意一个;
    响应于所述差值的绝对值大于第一绝对值阈值,将所述第一参考像素的像素信息填充入所述空域临近像素列表。
  22. 根据权利要求21所述的装置,
    所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值之间的差值,包括所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值在亮度分量和色度分量上的差值;
    或者,
    所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值之间的差值,包括所述第一参考像素与所述空域临近像素列表已有的各个参考像素的像素值在亮度分量上的差值。
  23. 根据权利要求21所述的装置,所述临近像素列表构建模块,还用于,
    当所述第一参考像素不可用时,将所述第一参考像素的最邻近可用参考像素的像素值,作为所述第一参考像素的像素值;
    或者,当所述第一参考像素不可用时,将所述第一参考像素的像素值设置为默认值;
    或者,当所述第一参考像素不可用时,跳过所述第一参考像素。
  24. 根据权利要求15所述的装置,所述参考像素列表构建模块,包括:第一列表获取单元、第二列表获取单元或者第三列表获取单元,
    所述第一列表获取单元,用于将所述空域临近像素列表获取为所述当前编解码块的预选的参考像素候选列表;
    所述第二列表获取单元,用于将所述空域临近像素列表与历史参考像素候选列表进行合并,获得所述当前编解码块的预选的参考像素候选列表;所述历史参考像素候选列表是基于已重建的编解码块的参考像素候选列表构建的;
    所述第三列表获取单元,用于基于所述空域临近像素列表对所述历史参考像素候选列表进行排列,获得所述当前编解码块的预选的参考像素候选列表。
  25. 根据权利要求24所述的装置,所述第二列表获取单元,用于,
    将所述空域临近像素列表中的各个像素信息依次填充入所述预选的参考像素候选列表后,将所述历史参考像素候选列表中各个像素信息依次填充入所述预选的参考像素候选列表,直至所述历史参考像素候选列表中各个像素信息填充完成,或者,直至所述预选的参考像素候选列表中的像素信息数量达到数量阈值;
    或者,将所述历史参考像素候选列表中各个像素信息依次填充入所述预选的参考像素候选列表后,将所述空域临近像素列表中的各个像素信息依次填充入所述预选的参考像素候选列表,直至所述空域临近像素列表中的各个像素信息填充完成,或者,直至所述预选的参考像素候选列表中的像素信息数量达到数量阈值。
  26. 根据权利要求25所述的装置,所述第二列表获取单元,用于,
    对于第一像素信息,获取所述第一像素信息的像素值与所述预选的参考像素候选列表中已有的各个像素信息的像素值之间的差值的绝对值;所述第一像素信息是所述空域临近像素列表与所述历史参考像素候选列表中的任意一个;
    响应于所述差值的绝对值大于第二绝对值阈值,将所述第一像素信息填充入所述预选的 参考像素候选列表。
  27. 根据权利要求24所述的装置,所述第三列表获取单元,用于,
    对于第二像素信息,获取所述第二像素信息的像素值与所述空域临近像素列表中的各个像素信息的像素值之间的差值的绝对值;所述第二像素信息是依次从所述历史参考像素候选列表中选取的任意一个像素信息;
    响应于所述第二像素信息的像素值,与第四像素信息的像素值之间的差值的绝对值小于第三绝对值阈值,将所述第二像素信息填充入所述预选的参考像素候选列表;所述第四像素信息是所述空域临近像素列表中的任意一个。
  28. 根据权利要求24所述的装置,所述第三列表获取单元,用于,
    对于第五像素信息,获取所述第五像素信息的像素值与所述空域临近像素列表中的各个像素信息的像素值之间的差值的绝对值;所述第五像素信息是依次从所述历史参考像素候选列表中选取的任意一个像素信息;
    响应于所述第五像素信息的像素值,与第六像素信息的像素值之间的差值的绝对值小于或者等于第四绝对值阈值,将所述第五像素信息填充入第一候选列表;所述第六像素信息是所述空域临近像素列表中的任意一个;
    响应于所述第五像素信息的像素值,与所述第六像素信息的像素值之间的差值的绝对值大于第四绝对值阈值,将所述第五像素信息填充入第二候选列表;
    将所述第一候选列表中的各个像素信息,以及所述第二候选列表中的各个像素信息依次填充入所述预选的参考像素候选列表;所述第一候选列表中的各个像素信息在所述预选的参考像素候选列表中的位置,位于所述第二候选列表中的各个像素信息在所述预选的参考像素候选列表中的位置之前。
  29. 一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述至少一条计算机指令由所述处理器加载并执行以实现如权利要求1至14任一项所述的参考像素候选列表构建方法。
  30. 一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行以实现如权利要求1至14任一项所述的参考像素候选列表构建方法。
  31. 一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令由处理器加载并执行以实现如权利要求1至14任一项所述的参考像素候选列表构建方法。
PCT/CN2021/123328 2020-10-18 2021-10-12 参考像素候选列表构建方法、装置、设备及存储介质 WO2022078339A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011114074.XA CN114390289A (zh) 2020-10-18 2020-10-18 参考像素候选列表构建方法、装置、设备及存储介质
CN202011114074.X 2020-10-18

Publications (1)

Publication Number Publication Date
WO2022078339A1 true WO2022078339A1 (zh) 2022-04-21

Family

ID=81193947

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/123328 WO2022078339A1 (zh) 2020-10-18 2021-10-12 参考像素候选列表构建方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN114390289A (zh)
WO (1) WO2022078339A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024104503A1 (zh) * 2022-11-14 2024-05-23 杭州海康威视数字技术股份有限公司 图像编解码

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104683805A (zh) * 2013-11-30 2015-06-03 同济大学 图像编码、解码方法及装置
WO2017003063A1 (ko) * 2015-06-28 2017-01-05 엘지전자(주) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US20180376160A1 (en) * 2017-06-23 2018-12-27 Qualcomm Incorporated Motion-based priority for the construction of candidate lists in video coding
CN110913222A (zh) * 2013-10-12 2020-03-24 洪学文 一种结合块匹配和串匹配的图像压缩方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110913222A (zh) * 2013-10-12 2020-03-24 洪学文 一种结合块匹配和串匹配的图像压缩方法
CN104683805A (zh) * 2013-11-30 2015-06-03 同济大学 图像编码、解码方法及装置
WO2017003063A1 (ko) * 2015-06-28 2017-01-05 엘지전자(주) 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US20180376160A1 (en) * 2017-06-23 2018-12-27 Qualcomm Incorporated Motion-based priority for the construction of candidate lists in video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
L. ZHAO, K. ZHOU, J. GUO, S. WANG, T. LIN (TONGJI UNIV.): "Universal string matching for ultra high quality and ultra high efficiency SCC", 114. MPEG MEETING; 20160222 - 20160226; SAN DIEGO; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), no. m37961, 16 February 2016 (2016-02-16), XP030268413 *
Y. CHEN,J. XU: "SCCE4: Summary Report on string matching for sample coding", 18. JCT-VC MEETING; 30-6-2014 - 9-7-2014; SAPPORO; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, no. JCTVC-R0034, 30 June 2014 (2014-06-30), XP030116275 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024104503A1 (zh) * 2022-11-14 2024-05-23 杭州海康威视数字技术股份有限公司 图像编解码

Also Published As

Publication number Publication date
CN114390289A (zh) 2022-04-22

Similar Documents

Publication Publication Date Title
WO2022022297A1 (zh) 视频解码方法、视频编码方法、装置、设备及存储介质
JP7233218B2 (ja) ビデオコーディングのためにブロックの複数のクラスのためのフィルタをマージすること
TW201841503A (zh) 視頻寫碼中之內濾波旗標
CN111741299B (zh) 帧内预测模式的选择方法、装置、设备及存储介质
CN111770345B (zh) 编码单元的运动估计方法、装置、设备及存储介质
WO2022116836A1 (zh) 视频解码方法、视频编码方法、装置及设备
WO2022078339A1 (zh) 参考像素候选列表构建方法、装置、设备及存储介质
WO2022022299A1 (zh) 视频编解码中的运动信息列表构建方法、装置及设备
WO2022116824A1 (zh) 视频解码方法、视频编码方法、相关设备及存储介质
JP2023546962A (ja) 成分間のブロック終了フラグの符号化
WO2022037458A1 (zh) 视频编解码中的运动信息列表构建方法、装置及设备
CN111770338B (zh) 编码单元的索引值确定方法、装置、设备及存储介质
WO2022037464A1 (zh) 视频解码方法、视频编码方法、装置、设备及存储介质
WO2022078150A1 (zh) 候选运动信息列表确定方法、装置、电子设备及存储介质
RU2783337C2 (ru) Способ декодирования видео и видеодекодер
US20240089457A1 (en) Coding a merged block that overlaps a reference block in intra block copy mode
WO2023081322A1 (en) Intra prediction modes signaling
WO2023154359A1 (en) Methods and devices for multi-hypothesis-based prediction
CN114079782A (zh) 视频图像重建方法、装置、计算机设备及存储介质
EP4397040A1 (en) Intra prediction modes signaling
WO2023034629A1 (en) Intra prediction modes signaling
CN115996295A (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: 21879383

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

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

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 01/09/2023)

122 Ep: pct application non-entry in european phase

Ref document number: 21879383

Country of ref document: EP

Kind code of ref document: A1