WO2020135256A1 - 用于帧内编码的方法、装置、帧编码器、帧编码系统 - Google Patents

用于帧内编码的方法、装置、帧编码器、帧编码系统 Download PDF

Info

Publication number
WO2020135256A1
WO2020135256A1 PCT/CN2019/126988 CN2019126988W WO2020135256A1 WO 2020135256 A1 WO2020135256 A1 WO 2020135256A1 CN 2019126988 W CN2019126988 W CN 2019126988W WO 2020135256 A1 WO2020135256 A1 WO 2020135256A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
mode
intra
prediction mode
video block
Prior art date
Application number
PCT/CN2019/126988
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 WO2020135256A1 publication Critical patent/WO2020135256A1/zh
Priority to US17/330,409 priority Critical patent/US11582444B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes

Definitions

  • the present application relates to frame encoding, and more particularly, to a method, device, frame encoder, frame encoding system, and computer-readable storage medium for intra-frame encoding.
  • Digital video capabilities can be incorporated into a wide variety of devices, such as digital TVs, digital live broadcast systems, wireless broadcast systems, personal digital assistants (PDAs), laptop or desktop computers, tablet computers, e-readers, digital cameras , Digital recording devices, digital media players, video game devices, video game consoles, cellular or satellite wireless phones, smart phones, video teleconferencing devices, video streaming devices, and other similar devices.
  • Devices with digital video capabilities implement video compression techniques, such as the standards defined by MPEG-2, MPEG-4, ITU-TH.263, ITU-TH.264, MPEG-4 Part 10 Advanced Video Coding (AVC), and high efficiency The techniques described in the Video Coding (HEVC) standard and extensions to these standards.
  • Devices with digital video capabilities can implement these video compression techniques to more efficiently send, receive, encode, decode, and/or store digital video information.
  • Video compression techniques perform spatial (intra) prediction and/or temporal (inter) prediction to reduce or remove redundancy inherent in the video sequence.
  • a video slice ie, a video frame or a portion of a video frame
  • video blocks which may also be referred to as tree blocks, coding units (CU), and/or coding nodes. All video blocks in a slice of intra-type encoding (I) of each video frame are encoded using spatial prediction relative to reference samples in adjacent video blocks in the same video frame, ie each video block is Intra prediction mode coding is referred to herein as intra coding.
  • the video blocks in a slice of inter-type encoding (P or B) of each video frame may use spatial prediction relative to reference samples in adjacent video blocks in the same video frame (ie, encode in an intra-prediction mode, This is called intra-coding) or temporal prediction relative to reference samples in other reference video frames (ie, using motion vector coding, referred to herein as inter-coding).
  • Frames can also be called pictures, and reference frames can be called reference pictures.
  • the prediction block to be coded is obtained through spatial or temporal prediction.
  • the residual data represents the pixel difference between the original video block to be encoded and the predicted video block.
  • An inter-coded block is coded according to a motion vector pointing to a block of reference samples forming a prediction block and residual data indicating the difference between the coded block and the prediction block.
  • the intra-coded block is coded according to the intra-coded mode and residual data. .
  • Real embodiments of the present invention provide a method, apparatus, frame encoder, frame encoding system, and computer-readable storage medium for intra-frame encoding.
  • the embodiments provide a method for determining the intra prediction mode of the current video block, which includes: in the image area where the current video block to be encoded is located, the plurality of second video blocks of the determined prediction mode
  • the intra prediction mode is determined as the reference mode of the current video block, the image area is located in the video frame or slice to which the current video block belongs, the adjacent coding unit and the parent of the coding unit corresponding to the current video block Within the area defined by the coding unit; determining a set of candidate prediction modes from a preset intra prediction mode, the set of candidate prediction modes including a plurality of candidate prediction modes, including the reference mode; In the set of candidate prediction modes, the prediction mode with the best intra prediction encoding performance on the current video block is determined as the intra prediction mode of the current video block.
  • Each embodiment also provides an apparatus for determining an intra prediction mode of a current video block, including a reference acquirer, which is used to determine a plurality of second prediction modes in the image area where the current video block to be encoded is located
  • the plurality of intra prediction modes of the video block is determined as the reference mode of the current video block, the image area is located in the video frame or slice to which the current video block belongs, and the phase of the coding unit corresponding to the current video block Within the area defined by the neighboring coding unit and the parent coding unit;
  • the mode determiner is used to determine a set of candidate prediction modes from a preset intra prediction mode, the set of candidate prediction modes including a plurality of candidate predictions Mode, including the reference mode; in the set of candidate prediction modes, the prediction mode with the best intra-frame prediction encoding performance on the current video block is determined as the intra prediction mode of the current video block.
  • Various embodiments also provide an apparatus for determining an intra prediction mode of a current video block, including: a processor; and a memory configured to store computer-executable instructions thereon, the instructions being stored in the processor When executed in, the method described in the first aspect above is implemented.
  • Various embodiments also provide a frame encoder, including the device described in the second or third aspect above.
  • Various embodiments also provide a frame codec system, including the frame encoder as described in the third aspect above.
  • Various embodiments also provide a computer-readable storage medium, characterized in that instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium runs on a computer, the computer realizes the above The method described in one aspect.
  • Embodiments of the present invention provide a low-complexity and accelerated video compression encoding method without reducing compression performance, and can reduce frames without reducing the compression performance of the intra-frame predictor/encoder/video encoding and decoding system
  • the complexity of the intra-predictor/encoder/video encoding and decoding system thereby accelerating the encoding speed, thereby achieving the purpose of cost saving.
  • the embodiments of the present invention are helpful for live broadcast scenarios, or high-resolution encoding.
  • FIG. 1 illustrates a block diagram of an exemplary video encoding and decoding system according to an embodiment of the present invention.
  • FIG. 2A illustrates a block diagram of an exemplary video encoder according to an embodiment of the present invention.
  • FIG. 2B illustrates a block diagram of an intra predictor according to an embodiment of the present invention.
  • FIG. 2C illustrates a flowchart of an intra-coding method according to an embodiment of the present invention.
  • FIG. 3 illustrates a block diagram of an intra predictor according to an embodiment of the present invention.
  • FIG. 4 illustrates the intra prediction mode used in the HEVC standard.
  • FIG. 5 shows the mapping of the number and angle of the direction prediction mode of the intra prediction mode used in the HEVC standard.
  • FIG. 6 illustrates a flowchart of an intra-coding method according to an embodiment of the present invention.
  • FIG. 7 illustrates the association of a method and a specific application according to an embodiment of the present invention.
  • FIG. 8 illustrates a hardware environment diagram according to an embodiment of the present invention.
  • the determination of the intra-prediction mode used for intra-prediction coding may involve calculations for all intra-prediction modes, which is inefficient and wastes computing resources, especially for coding standards with many intra-prediction modes. If any intra-prediction mode that needs to be calculated is arbitrarily selected, it may affect the accuracy of intra-prediction and increase image compression loss.
  • FIG. 1 illustrates a block diagram of an exemplary video encoding and decoding system 100 according to an embodiment of the present invention.
  • the system 100 includes a source device 10 that generates encoded video for subsequent decoding by the destination device 20.
  • the source device 10 and the destination device 20 may include any one of a wide variety of devices, such as digital TV, digital live broadcast system, wireless broadcasting system, personal digital assistant (PDA), laptop or desktop computer, tablet computer, Electronic readers, digital cameras, digital recording devices, digital media players, video game devices, video game consoles, cellular or satellite wireless phones, smart phones, video teleconferencing devices, video streaming devices, and other similar devices .
  • source device 10 and destination device 20 may be configured for wireless communication.
  • system 10 may be configured to support one-way or two-way video transmission to support applications such as video streaming, video playback, video broadcasting, and/or video telephony.
  • the destination device 20 may receive the encoded video data to be decoded via the link 12.
  • Link 12 may include any type of media or device capable of moving encoded video data from source device 10 to destination device 20.
  • the link 12 may include communication media to enable the source device 10 to send the encoded video data directly to the destination device 20 in real time.
  • the encoded video data may be modulated according to a communication standard such as a wireless communication protocol, and sent to the destination device 20.
  • the communication medium may include any wireless or wired communication medium, such as a radio frequency (RF) spectrum or one or more physical transmission lines.
  • the communication medium may form part of a packet-based network, such as a local area network, a wide area network, the Internet, or the like.
  • the communication medium may include a router, a switch, a base station, or any other equipment that facilitates communication from the source device 10 to the destination device 20.
  • the encoded video data can be sent from the output interface 103 to the storage device 30.
  • the encoded video data can be read from the storage device 30 through the input interface 203.
  • the storage device 30 may include any of a variety of distributed or locally read data storage media, such as a hard drive, Blu-ray disc, DVD, CD-ROM, flash memory, volatile or non-volatile memory, or any Other suitable digital storage media for storing encoded video data.
  • the storage device 30 may correspond to a file server or other similar intermediate storage device, which may hold the encoded video data generated by the source device 10.
  • the destination device 20 may read the stored encoded video data from the storage device 30 by streaming, downloading, or a combination of both.
  • the file server may be any type of server capable of storing encoded video data and transmitting the encoded video data to the destination device 20.
  • Example file servers include web servers, FTP servers, network attached storage (NAS) devices, or local disk drives.
  • the destination device 20 can read the encoded video data through any standard data connection (including Internet connection). This may include a wireless channel (eg, Wi-Fi connection) suitable for reading the encoded video data stored on the file server, a wired connection (eg, DSL, cable modem, etc.) or a combination of both.
  • the source device 10 includes a video source 101, a video encoder 102 and an output interface 103.
  • the output interface 103 may include a modulator/demodulator (modem) and/or a transmitter.
  • the video source 101 may include a source such as a video capture device such as a camera, a video file containing pre-captured video, a video content provider or other devices in the network (including cloud Storage device) a video input interface that receives video, and/or a computer graphics system for generating computer graphics as source video, and/or a combination of these sources.
  • the video source 101 is a video camera
  • the source device 10 and the destination device 20 may be configured as video phone devices.
  • the captured, pre-captured, received, or computer-generated video may be encoded by the video encoder 102.
  • the encoded video data may be directly sent to the destination device 20 via the output interface 103 of the source device 10.
  • the encoded video data may also be stored on the storage device 30 for subsequent reading by the destination device 20 or other devices for decoding and/or playback.
  • the destination device 20 includes an input interface 203, a video decoder 202, and a display device 201.
  • the input interface 203 may include a receiver and/or a modem.
  • the input interface 203 of the destination device 20 receives the encoded video data via the link 12.
  • the encoded video data transmitted via the link 12 or provided on the storage device 30 may contain various syntax elements generated by the video encoder 102 for use by a video decoder such as the video decoder 202 to decode the encoded video data . These syntax elements can be transmitted on the communication medium along with the encoded video data, stored in the storage medium or stored in the file server, and so on.
  • the display device 201 may be integrated with the destination device 20 (shown in FIG. 1) or external to the destination device 20 (not shown).
  • the target device 20 includes an integrated display device, and/or is configured to be coupled with an external display device.
  • the destination device 20 may be a display device.
  • the display device 201 displays decoded video data to the user, and may include any of a variety of display devices, such as a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or other types of display devices .
  • LCD liquid crystal display
  • OLED organic light emitting diode
  • Video encoder 102 and video decoder 202 can each be implemented as any of a variety of suitable encoding and decoder circuits, such as one or more microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASICs) ), field programmable gate array (FPGA), discrete logic devices, software, hardware, firmware, or any combination thereof.
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • FPGA field programmable gate array
  • the corresponding video encoder 102 and video decoder 202 may store the instructions for the software in a suitable non-transitory computer-readable medium and use one or more The processor executes instructions in hardware to perform the techniques of the present invention.
  • Each of the video encoder 102 and the video decoder 202 may be included in one or more other encoders or decoders, either of which may be integrated as a combined codec (CODEC) in the corresponding device Part.
  • CDEC combined codec
  • the video encoder 102 and the video decoder 202 may operate based on a video compression standard such as a high efficiency video coding (HEVC) standard.
  • HEVC high efficiency video coding
  • the technology of the present invention is not limited to any particular coding standard.
  • Other examples include the ITU-T H.264 standard (or MPEG-4 Part 10 Advanced Video Coding (AVC)), MPEG-2 and ITU-T H.263.
  • the video encoder 102 and the video decoder 202 may each be integrated with an audio encoder and decoder, and may include an appropriate multiplexer—demultiplexer (MUX-DEMUX) or other hardware and software to handle the encoding of both audio and video in the same data stream or separate data streams. If applicable, MUX-DEMUX can conform to the ITU H.223 multiplexer protocol, or other protocols such as User Datagram Protocol (UDP).
  • UDP User Datagram Protocol
  • HEVC inherits the classic block-based hybrid coding model since H.261.
  • HEVC has proposed three more flexible video content representation units, including: CU (Coding Unit, Coding Unit), PU (Prediction Unit, Prediction Unit) and TU ( Transform Unit).
  • CU is similar to the concept of macroblocks in H.264.
  • each frame of image is divided into non-overlapping CTU (Coding Tree Unit), CTU will be divided into CU, the largest CU is called LCU (Largest Coding Unit, the largest coding unit), its size is 64x64 , Its depth is defined as 0.
  • Each CTU is divided into four sub-CUs in a quadtree recursive manner. Each time the division is performed, the depth is increased by 1 until the size of the sub-CU reaches 8x8, that is, the division is not continued when the depth is 3.
  • the same size PU (8x8 PU has 8x8 and 4x4 two kinds of PU) is used for intra coding.
  • HEVC supports a total of 5 sizes of PU: 4x4, 8x8, 16x16, 32x32 and 64x64.
  • Each size of PU has 35 prediction modes, including 33 directional prediction modes, a DC prediction mode and a Planar prediction mode. Planar mode solves the gradual smooth texture area.
  • the Planar mode uses two linear filters in the horizontal and vertical directions, and uses the average value of the two as the predicted value of the current block pixel.
  • DC mode is suitable for large flat areas, and its approach is basically the same as H.264/AVC, that is, the current block prediction value can be obtained from the average value of the reference pixels on the left and above (note that the upper left corner, upper left, and upper right are not included) .
  • the best prediction mode is selected from 35 prediction modes. After traversing all CUs of different depths, the best division mode and intra prediction mode of the CU are determined according to the rate-distortion value obtained by RDO (Rate Distortion Optimization).
  • the rate distortion value may be the rate distortion cost RdCost:
  • is the daily number of Lagrangian
  • b is the number of codewords to be consumed for encoding in the current mode
  • D represents the distortion function, which has many forms, such as sum of squared differences (SSD), sum of absolute conversion differences (SATD), Sum of Absolute Difference (SAD), where SSD corresponds to the largest complexity, but also the most accurate, followed by SATD.
  • SSD sum of squared differences
  • SATD Sum of Absolute Difference
  • the technology of the present invention can be applied to devices that generally conform to the above-mentioned HEVC standard. Generally, the technology of the present invention can also be similarly applied to other block-based encoding and decoding technologies. Of course, the invention is not intended to be limited to this, but is intended to be applicable to any suitable encoding and decoding technology.
  • NxN and “N by N” may be used interchangeably to refer to the pixel size of a video block in terms of vertical and horizontal dimensions, such as 16x16 pixels or 16 by 16 pixels.
  • FIG. 1 only shows an example system according to the present invention.
  • the present invention is not limited to the system shown in FIG. 1, but may include any suitable, additional, and/or reduced components thereof. Possible variants.
  • the video encoder 102 may perform intra-coding and inter-coding of video blocks within video slices.
  • Intra coding relies on spatial prediction to reduce or remove spatial redundancy in the video within a given video frame or picture.
  • Inter-coding relies on temporal prediction to reduce or remove temporal redundancy in video within adjacent frames or pictures of a video sequence.
  • Intra-frame coded frames (I frames) and inter-frame coded frames (P frames, B frames, or GBP frames) all have intra-coded blocks, that is, blocks that are intra-coded.
  • inter-frame coded frames The existence of intra-coded blocks in inter-frame coded frames is mainly to avoid the accumulation of errors in B, P, and GBP frames, but also to meet the needs of scene switching. Because in inter-frame coding, the reference pixels for inter-frame prediction are based on the reconstructed data of intra-frame coding, therefore, the image quality of the intra-frame coding block is very important. If the image quality is poor, the quality of the referenced video block will be worse The error will become larger and larger, and the phenomenon will be that the code stream compiled under the same quality will be much larger, or the image quality will be much worse under the same code stream.
  • the video encoder 102 includes a divider 1021, an inter predictor 1022 including a motion estimator 10221 and a motion compensator 10222, an intra predictor 1023, a reference frame memory 1024, a first summer 1025 , A transformer 1026, a quantizer 1027, and an entropy encoder 1028.
  • the video encoder 102 further includes an inverse quantizer 1029, an inverse transformer 1030, and a second summer 1031.
  • One or more loop filters in-loop or post-loop
  • DB DeBlocking
  • SAO Sample Adaptive Offset
  • the video encoder 102 receives video data, and the divider 1021 divides the data into video blocks.
  • This partitioning may also include partitioning into slices or other larger units, and video block partitioning, for example, partitioning into 4x4, 8x8, 16x16, 32x32, and 64x64 video blocks according to the quadtree structure of the CTU.
  • Both the inter predictor 1022 and the intra predictor 1023 can select one of multiple possible inter prediction modes or intra prediction modes for the current video block based on the error results (for example, encoding rate and distortion related parameters). Species.
  • the intra-predictor 1023 is configured to perform the first step prediction according to the method of the embodiment of the present invention, filter out the first intra-prediction mode that is more likely, and then based on these intra-prediction modes Mode to determine the second intra prediction mode as the intra prediction mode of the current video block.
  • the output of the inter predictor 1022 or the intra predictor 1023 can be provided to the first summer 1025, which is combined with the output of the video block to generate residual block data, and the output of the inter predictor 1022 or the intra predictor 1023 can also be Provided to the second summer 1031 to reconstruct the video block to be used as a reference frame.
  • the intra predictor 1023 may perform intra coding of the current video block relative to one or more adjacent video blocks in the same frame or slice as the current video block to be encoded to provide spatial compression.
  • the motion estimator 10221 and the motion compensator 10222 within the inter predictor 1022 perform inter coding of the current video block relative to one or more prediction blocks in one or more reference frames to provide temporal compression.
  • motion estimator 10221 may be configured to determine the inter prediction mode of the video slice according to the predetermined mode of the video sequence.
  • the predetermined pattern can specify the video slices in the sequence as P slices, B slices, or GPB slices.
  • the motion estimator 10221 and the motion compensator 10222 can be highly integrated, and are described separately for conceptual purposes herein.
  • the motion estimation performed by the motion estimator 10221 is a process of generating motion vectors that estimate the motion of video blocks.
  • the motion vector may indicate the displacement of the PU of the video block within the current video frame relative to the prediction block within the reference picture.
  • the prediction block is a block that closely matches the PU of the video block to be encoded in terms of pixel differences, which can be determined by sum of absolute differences (SAD), sum of square differences (SSD), or other difference measures.
  • the video encoder 102 may calculate the value of the pixel position of an integer fraction of the reference picture stored in the reference frame memory 1024. For example, the video encoder 102 may interpolate values of quarter pixel positions, eighth pixel positions, or other fractional pixel positions of the reference picture. Therefore, the motion estimator 10221 may perform motion search with respect to the full pixel position and the fractional pixel position, and output a motion vector with fractional pixel accuracy.
  • the motion estimator 10221 calculates the motion vector of the PU of the video block in the inter-coded slice by comparing the position of the PU with the position of the prediction block of the reference picture.
  • the motion estimator 10221 sends the calculated motion vector to the entropy encoder 1028 and the motion compensator 10222.
  • the motion compensation performed by the motion compensator 10222 may involve acquiring or generating a prediction block based on the motion vector determined by motion estimation, possibly performing interpolation to achieve sub-pixel accuracy. After receiving the motion vector of the PU of the current video block, the motion compensator 10222 may immediately determine the prediction block to which the motion vector points.
  • the video encoder 102 forms a residual video block by subtracting the pixel value of the prediction block from the pixel value of the current video block being encoded to form a pixel difference value.
  • the first summer 1025 represents the component that performs this subtraction operation.
  • the intra predictor 1023 is configured to perform intra prediction on the current video block as an alternative to the inter prediction performed by the motion estimator 10221 and the motion compensator 10222 as described above. Specifically, the intra predictor 1023 is configured to determine the intra prediction mode to be used to encode the current video block.
  • the intra prediction mode is usually an intra prediction mode with the best coding rate and/or distortion performance determined after analysis of the coding rate and/or distortion. Further description of the intra predictor 1023 will be given in detail below in conjunction with FIG. 3.
  • the video encoder 102 forms a residual block by subtracting the prediction block from the current video block.
  • the residual video data in the residual block may be included in one or more TUs and applied to the transformer 1026.
  • Transformer 1026 transforms the residual video data into residual transform coefficients using, for example, discrete cosine transform (DCT) or a conceptually similar transform.
  • the transformer 1026 is configured to convert the residual video data from the pixel domain to the transform domain, for example, the frequency domain.
  • the transformer 1026 is configured to send the resulting transform coefficient to the quantizer 1027.
  • the quantizer 1027 quantizes the transform coefficient to further reduce the bit rate.
  • the quantization process may produce bit depths associated with some or all of the coefficients.
  • the degree of quantization can be modified by adjusting the quantization parameter.
  • the quantizer 1027 may then perform a scan of the matrix containing the quantized transform coefficients.
  • the entropy encoder 1028 may perform scanning.
  • the entropy encoder 1028 After quantization, the entropy encoder 1028 entropy encodes the quantized transform coefficients. For example, the entropy encoder 1028 may perform context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), syntax-based context adaptive binary arithmetic coding (SBAC), and probability interval segmentation entropy (PIPE ) Coding or another entropy coding method or technique. It also encodes the syntax elements from the intra predictor and inter predictor together so that the video decoder 202 decodes correctly. After the entropy encoding by the entropy encoder 1028, the encoded bit stream is sent to the video decoder 202, or the storage device 30. The entropy encoder 1028 is also configured to entropy encode the motion vector and the like of the current video slice being encoded.
  • CAVLC context adaptive variable length coding
  • CABAC context adaptive binary arithmetic coding
  • SBAC
  • the inverse quantizer 1029 and the inverse transformer 1030 respectively apply inverse quantization and inverse transform to the output of the quantizer 1027 to reconstruct the residual block in the pixel domain for use as a reference block for a reference picture later.
  • the motion compensator 10222 may calculate the reference block by adding the residual block to the prediction block of one of the reference pictures in one of the reference picture lists. Motion compensator 10222 may also apply one or more interpolation filters to the reconstructed residual block to calculate sub-integer pixel values for motion estimation.
  • Summer 62 adds the reconstructed residual block to the motion compensated prediction block generated by motion compensator 10222 to generate a reference block for storage in reference frame memory 1024.
  • the reference block may be used as a reference block by the motion estimator 10221 and the motion compensator 10222 to inter-predict blocks in subsequent video frames or pictures.
  • FIG. 2A only shows an example video encoder according to the present invention, however, the present invention is not limited to the video encoder shown in FIG. 2A, but may include any of them with additional and/or reduced components. Suitable, possible variants.
  • the intra predictor 1023 includes a reference acquirer 11 and a mode determiner 12.
  • the reference acquirer 11 may determine the reference mode of the current video block to be encoded.
  • the mode determiner 12 may determine the intra prediction mode of the current video block according to the reference mode determined by the reference acquisition 11.
  • the specific processing method with reference to the acquirer 11 and the mode determiner 12 is as follows.
  • FIG. 2C illustrates a flowchart of an intra-coding method according to an embodiment of the present invention. As shown in FIG. 2C, the method 30 may include the following steps.
  • Step 31 In the image area where the current video block to be encoded is located, the plurality of intra prediction modes of the plurality of second video blocks in the determined prediction mode are determined as the reference mode of the current video block.
  • Step 32 Determine the candidate prediction mode set from the preset intra prediction modes.
  • the candidate prediction mode set includes a plurality of candidate prediction modes, including the reference mode;
  • Step 33 In the set of candidate prediction modes, determine the prediction mode with the best intra-frame prediction encoding performance on the current video block as the intra prediction mode of the current video block.
  • the performance of intra prediction coding may include at least one of the following: coding rate and distortion.
  • the coding rate or distortion may be used as the performance evaluation index.
  • the prediction mode with the highest encoding rate or the best distortion performance may be determined as the intra prediction mode of the current video block.
  • the coding rate and distortion (in a preset manner) may be combined as a performance evaluation index.
  • a combination algorithm preset according to requirements may be used to perform weighted combination on the encoding rate performance and distortion performance, and determine the prediction mode with the best performance index after the combination as the intra prediction mode of the current video block.
  • the current video block is an image block as a video coding unit obtained by dividing a video image according to the adopted video coding standard.
  • the video block may be the CU of any node in the CTU, or the PU, TU, etc. in a certain CU.
  • the image area is located in the video frame or slice to which the current video block belongs, within the area defined by the adjacent coding unit and the parent coding unit of the coding unit corresponding to the current video block.
  • the adjacent coding unit of the coding unit refers to other coding units adjacent to the coding unit in the video image.
  • only a part of adjacent coding units may be included in the image area. For example, when the coding order is from left to right and from top to bottom, only the adjacent coding units on the left, top left, and above of the coding unit corresponding to the current video block may be included in the image area, that is, the above The image area may not include adjacent coding units on the right, bottom right, and below that have obviously not been coded.
  • the parent coding unit of the coding unit refers to a coding unit of a higher level and larger area to which the coding unit belongs when the image frame is divided step by step, for example, in the CTU, the parent CU of the CU corresponding to the current video block.
  • the plurality of second video blocks may include at least one of the following:
  • the parent coding unit of the coding unit corresponding to the current video block
  • the sub-coding unit in the coding unit corresponding to the current video block
  • the prediction unit adjacent to the coding unit corresponding to the current video block.
  • the reference mode may be directly used as a set of candidate prediction modes.
  • other prediction modes whose prediction direction is close to the prediction direction of the reference mode may also be added to the set of candidate prediction modes. That is, from the set of prediction directions corresponding to the preset intra prediction modes, one or a plurality of direction intervals within which the prediction direction of the reference mode falls may be determined, and the frame corresponding to the one or the plurality of direction intervals may be determined. The intra prediction mode is added to the set of candidate prediction modes.
  • one or a plurality of preset direction intervals in which the prediction direction of the reference mode falls may be determined as the one or a plurality of direction intervals.
  • This example needs to set a plurality of direction intervals in advance.
  • these preset direction intervals may allow overlap with each other.
  • one or more preset direction intervals in which all reference modes fall and the total number of prediction modes are the smallest may be used as the direction intervals to be tried. , Add its corresponding prediction mode to the reference mode set.
  • these preset direction intervals may not overlap with each other, that is, a plurality of preset prediction directions may be divided into N subsets, and the N subsets may be used as the plurality of preset directions Interval.
  • Each subset is composed of a plurality of adjacent prediction directions, and N is a positive integer greater than 1 and less than the number of prediction modes in the direction.
  • the adjacent prediction directions refer to a plurality of consecutive prediction directions when the preset prediction directions are arranged according to the angle size.
  • the N subsets may be divided by vertical, horizontal, and diagonal directions.
  • one or a plurality of continuous direction intervals composed of a prediction direction of the reference mode and a prediction direction adjacent to the prediction direction may be determined as the one or a plurality of direction intervals.
  • the continuous direction interval refers to an interval formed by a plurality of consecutive prediction directions when the preset prediction directions are arranged according to the angle size.
  • the above-mentioned direction interval may be determined according to the distribution of the prediction direction of the reference mode. For example, all prediction directions between the prediction direction with the smallest angle and the prediction direction with the largest angle in the reference mode are used as the attempt range of the prediction direction.
  • the preset number of prediction directions adjacent to each side of the prediction direction of each reference mode may also be included in the trial range.
  • the attempt range of the prediction direction may be divided into a plurality of direction intervals according to a preset threshold. For example, when the preset threshold value is 3, when the prediction directions of the trial range are arranged according to the angle size, there are a number of predictions exceeding the threshold between the two prediction directions in the adjacent rank (for example, 20 and 25 in FIG. 4).
  • the prediction direction is set (as shown in Figure 4, there are 4 preset prediction directions 21-24 between 20 and 25), these two prediction directions can be divided into two different direction intervals. The boundary between is between these two prediction directions.
  • the non-directional prediction mode is also a prediction mode with a higher probability. Therefore, in some embodiments, when the reference mode does not include a preset non-directional prediction mode, the non-directional prediction mode is added to the reference mode.
  • the determined intra prediction mode in the image area may only include the non-directional mode, that is, the reference mode does not include the directional prediction mode.
  • an intra prediction mode corresponding to a preset number of prediction directions uniformly selected from the preset prediction directions may be added to the reference mode.
  • the direction prediction modes corresponding to the vertical direction, the horizontal direction, and the diagonal direction may be selected.
  • step 33 may be divided into two steps of rough selection and fine selection.
  • a first prediction mode not greater than the preset threshold number may be selected from the candidate prediction mode set as a rough selection step Try the prediction mode.
  • a second prediction mode with the best intra-frame prediction encoding performance for the current video block in the first prediction mode can be used for fine selection.
  • the intra prediction mode of the current video block may be determined in the set of candidate prediction modes according to the second prediction mode.
  • the second prediction mode when the second prediction mode is a non-directional prediction mode, the second prediction mode may be determined as the intra prediction mode of the current video block.
  • the current video block When the second prediction mode is a directional prediction mode, the current video block may be intra-prediction encoded in the second prediction mode and the prediction mode adjacent to the prediction direction of the second prediction mode The prediction mode with the best performance is determined as the intra prediction mode of the current video block.
  • FIG. 3 illustrates a block diagram of an intra predictor according to an embodiment of the present invention.
  • the intra predictor 1023 includes a divider 10231, a reference acquirer 10232, a first selector 10233, and a second selector 10234.
  • the divider 10231, the reference acquirer 10232, the first selector 10233, and the second selector 10234 each or any combination thereof can be implemented as any of a variety of suitable circuits, such as one or more microprocessors, digital Signal processor (DSP), application specific integrated circuit (ASIC), field programmable gate array (FPGA), discrete logic device, software, hardware, firmware, or any combination thereof.
  • DSP digital Signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • the instructions for the software may be stored in memory (which includes a suitable non-transitory computer-readable storage medium or media) and use one or more processes
  • the processor executes the instructions in the above-mentioned memory to perform the techniques of the present invention.
  • These components can also be included in one or more other encoder components or integrated in a codec (CODEC).
  • CDEC codec
  • the divider 10231 is configured to divide the directional prediction mode of the intra prediction mode into several subsets.
  • the division takes into account the consistency of the frame texture, and the basis of the division may be the adjacent relationship between the directions, so that the direction prediction mode is divided into N subsets according to the division of N consecutive intervals where all directions are located, where N is A positive integer greater than 1 and less than the number of prediction modes in the direction.
  • N is A positive integer greater than 1 and less than the number of prediction modes in the direction.
  • the 33 directions follow the vertical direction 26, the horizontal direction 10, and the diagonal directions 2, 18, and 34.
  • the direction is bounded into 4 consecutive intervals, so 33 direction prediction modes are divided into 4 subsets, of which the direction prediction modes corresponding to directions 2-10 are divided into the first subset, and the direction prediction modes corresponding to directions 11-18 are divided To the second subset, the direction prediction modes corresponding to directions 19-26 are divided into the third subset, and the direction prediction modes corresponding to directions 27-34 are divided into the fourth subset. It can be seen that the division of these four consecutive intervals has a general symmetry.
  • approximate symmetry is not necessary, that is, the angle spanned by each direction interval can be adjusted between adjacent direction intervals of the example, for example, in the above example of HEVC, Adjust several directions with larger numbers in the direction interval corresponding to the first subset (such as directions 7-10) into the direction interval corresponding to the adjacent second subset, or vice versa, you can change the second subset Several smaller numbered directions (for example, directions 11-14) in the corresponding direction section are adjusted into the direction section corresponding to the first subset.
  • the average number of directions in the interval depends on the requirements for granularity.
  • the average number of directions in the interval is about 8.
  • such divisions can be made similarly.
  • the reference acquirer 10232 is configured to obtain the reference mode of the intra prediction mode for the current video block.
  • the reference mode includes the determined intra prediction mode in the video encoder, and there may be one, in most cases, multiple, and the determined intra prediction mode is associated with the current video block or associated with the current video block
  • the associated video blocks may include the following categories, for example.
  • the first type is the determined intra prediction mode of adjacent coding units, to be precise, the coding units adjacent to the coding unit corresponding to the current video block.
  • the positional relationship between this adjacent view coding unit and the current video block depends on the scanning order. According to the scanning order of the HEVC protocol, it is basically "Z" shaped, so its adjacent coding unit can be selected from the adjacent left coding unit, the adjacent upper coding unit and the upper left coding unit (if any), corresponding to the frame
  • the prediction modes are recorded as intra_mode_left, intra_mode_lefttop, and intra_mode_top.
  • the adjacent coding unit here is not limited to the same CTU, it may be a coding unit adjacent to the current video block in the adjacent CTU.
  • the second type is the determined intra prediction mode of the parent coding unit of the current video block. There is only one parent coding unit, and the intra prediction mode of the parent coding unit is recorded as intra_mode_father.
  • the third type is the determined intra-prediction mode of the sub-block coding unit of the current video block. There may be multiple sub-block coding units (for example, 4), which are recorded as intra_mode_child_0, intra_mode_child_1...intra_mode_child_n (n is a positive integer) . In the division of coding blocks, the calculation of the intra prediction mode of the parent coding unit or the child coding unit will be involved.
  • the intra prediction mode of the parent block is calculated first, and then the intra prediction mode of the current block is calculated, or the child coding unit is calculated first Then calculate the intra prediction mode of the current block, which depends on the frame type.
  • the above second and third types are not determined before the current video block, so the second and third types in the reference mode are at most one choice existing.
  • the second and third types are determined before the intra prediction mode of the current video block, or appear after the intra frame of the current video block The situation where the prediction mode is determined.
  • the fourth type is the most probable prediction mode (Most Probable Mode, MPM) of the current video block.
  • MPM_mode There can be one, denoted as MPM_mode, or multiple, denoted as MPM_mode_0, MPM_mode_1,... MPM_mode_n.
  • MPM is described in protocols such as H.264 and HEVC.
  • H.264 supports an MPM. Since HEVC supports more modes, a single most probable mode similar to H.264 is not efficient in HEVC.
  • HEVC defines three most probable modes for each PU size, and its choice depends on The mode selected by the adjacent PU. At the same time, since the probability distribution of modes other than the most probable mode is close to average, it is also possible to specify a mode from the remaining 32 modes by a structure represented by a fixed-length code without CABAC.
  • the selection of the most likely mode of the current video block is determined according to the intra prediction modes of the adjacent prediction units on the left and above of the current video block. In one embodiment, suppose the intra prediction modes of the adjacent prediction units on the left and above are A and B, respectively. If A ⁇ B, then the two modes MPM_mode_0 and MPM_mode_1 in MPM are set to A and B, respectively.
  • MPM_mode_2 For the determination of the third mode MPM_mode_2 in MPM, the following principles need to be followed: (1) If neither A nor B are in plane mode, then MPM_mode_1 is set to plane mode; (2) Otherwise, if neither A nor B is in DC mode, then MPM_mode_1 is set to DC mode; (3) Otherwise (that is, there is one plane and one DC mode in AB), MPM_mode_1 is set to mode 26, which is the vertical mode.
  • MPM_mode_0 is set to A/B
  • MPM_mode_1 and MPM_mode_2 select the adjacent mode of A, the formula is as follows:
  • MPM_mode_2 2+((A-2+1)%32) (3).
  • the reference mode intra_mode_ref includes ⁇ intra_mode_father, intra_mode_left, intra_mode_lefttop, intra_mode_top, MPM_mode_0, MPM_mode_1, MPM_mode_2 ⁇ or a subset thereof.
  • the reference mode intra_mode_ref_mode_child_mode_child_tra_mode_in_mode_child_tra_mode_child_mode_in_mode , intra_mode_left, intra_mode_lefttop, intra_mode_top, MPM_mode_0, MPM_mode_1, MPM_mode_2 ⁇ or a subset thereof.
  • the MPM is defined as an intra prediction mode including neighboring prediction units that have been determined, and either one is unavailable (for example, has not been determined) or does not exist (for example, the current block is in the video The edge of the frame), it will not be included in the MPM.
  • the intra prediction modes of the left and upper prediction units (if any) will be determined first.
  • the MPM defined in this way includes 0 or There are two maximum possible modes, and its subset has three cases of 0, 1, or 2 maximum possible modes. At this time, the value of MPM may overlap with the intra prediction mode of the adjacent coding unit.
  • the reference mode intra_mode_ref includes ⁇ intra_mode_father, intra_mode_left, intra_mode_lefttop, intra_mode_top, MPM_mode_0, MPM_mode_1 ⁇ or a subset thereof.
  • the reference mode intra_mode_ref includes ⁇ intra_mode_child_0_in_tra_mode_child_1,intra_mode_child_1 , intra_mode_lefttop, intra_mode_top, MPM_mode_0, MPM_mode_1 ⁇ or a subset thereof.
  • the actual embodiment of the present invention shown in FIG. 3 is applicable to intra-frame coding, including intra-frame type coding, and intra-frame coding in inter-frame type coding.
  • the above-mentioned first, second and third coding units all use intra coding, and their intra prediction modes and MPM of the current video frame can be determined as long as the intra prediction mode of the current video block is determined It is used as a reference mode, and in the case where there are multiple intra prediction modes in any type available, all or part of the multiple intra prediction modes may be selected to be added to the reference mode. For example, when 4 intra prediction modes corresponding to 4 sub-block coding units using intra coding are available, any 0-4 intra prediction modes of the 4 intra prediction modes may be selected to be added to the reference mode.
  • the parent, child, or adjacent coding unit does not use intra coding, it means that its intra prediction mode is not available.
  • the first selector 10233 is configured to select the first intra prediction mode from all (ie, all possible) intra prediction modes based on the relationship between the reference mode determined by the reference acquirer 10232 and the subset divided by the divider 10231 , So that the second selector 10234 determines the second intra prediction mode of the current video block as the intra prediction mode of the current video block based on the first intra prediction mode.
  • the determined reference mode includes only non-directional prediction modes, that is, for example, the HEVC standard Planar mode and/or DC mode
  • the first intra prediction mode includes all non-prediction modes in the intra prediction mode.
  • the directional prediction mode and one or more of the following directional prediction modes the directional prediction modes corresponding to vertical (direction 26), horizontal (direction 10), and diagonal directions (directions 2, 18, and 34) in the intra prediction mode.
  • the first intra prediction mode includes, for example, seven kinds of directional prediction modes corresponding to the Planar mode of the HEVC standard, DC mode, directions 26, 10, 2, 18, and 24.
  • the first intra prediction mode includes all of the intra prediction modes The non-directional prediction mode and the directional prediction modes corresponding to all directions in the same continuous interval.
  • the first intra prediction mode includes, for example, the Planar mode of the HEVC standard, the DC mode, and the aforementioned directional prediction modes corresponding to the directions 2-10 in the first subset.
  • the first intra prediction mode is determined It includes all non-directional prediction modes in the intra prediction mode and directional prediction modes corresponding to all directions in the two adjacent consecutive intervals.
  • the first intra prediction mode includes, for example, 19 kinds of directional prediction modes corresponding to the HEVC standard Planar mode, DC mode, the aforementioned first subset and the second subset direction 2-18.
  • the determined reference mode does not belong to any of the above cases, that is, there is no direction consistency, there is no reference value, and the first intra prediction mode needs to be determined as Including all 35 intra prediction modes such as the HEVC standard.
  • the fourth case in response to determining that the reference pattern is included in more than In a plurality of adjacent consecutive intervals in each direction, it is determined that the first intra prediction mode includes all the intra prediction modes.
  • the second selector 10234 is configured to determine the second intra prediction mode based on the first intra prediction mode based on the distortion-related parameters as the intra prediction mode of the current video block to intra-code the current video block. In this way, when the accuracy of the intra prediction is guaranteed, the range of the intra prediction mode targeted for the calculation of the distortion-related parameters is reduced, and the coding efficiency is improved.
  • the distortion-related parameter is the rate-distortion cost.
  • the calculation method of the rate-distortion cost has been given in the description in conjunction with FIG. 1 and will not be repeated here. Of course, this upward reference does not mean any restriction on the execution body of the calculation of the rate-distortion cost.
  • a distortion-related parameter (e.g., rate-distortion cost) is calculated for each first intra-prediction mode, and the intra-prediction mode in which the distortion-related parameter is the smallest is determined as the second intra-prediction mode for the current video block Intraframe encoding.
  • the third intra prediction mode may be determined. In an example, this may include: performing the prediction order of all directions in the first intra prediction mode in the order of prediction direction Sampling, using all non-directional prediction modes together with the sampling result as the third intra prediction mode, so as to determine the second intra prediction mode as the intra prediction mode of the current video block based on it to intra-code the current video block.
  • the prediction mode so as to further determine the second intra prediction mode as the intra prediction mode of the current video block based on which to intra-code the current video block.
  • One way to determine the second intra prediction mode from the third intra prediction mode is to calculate the distortion related parameters of all the third intra prediction modes and determine the intra prediction mode with the smallest distortion related parameter among the third intra prediction modes When it is determined that the intra prediction mode with the smallest distortion-related parameter in the third intra prediction mode is the non-directional prediction mode, it is determined that the non-directional prediction mode is the second intra prediction mode to perform intra coding of the current video block.
  • the minimum distortion-related parameter is selected from the directional prediction mode and the directional prediction modes corresponding to the two directions adjacent to its corresponding direction number
  • the direction prediction mode of the current video and determine it as the second intra prediction mode as the intra prediction mode of the current video block to perform intra coding of the current video block.
  • the direction prediction modes corresponding to the direction 3 and 5 adjacent to it are calculated
  • the distortion-related parameters are compared with the direction 4 and the direction prediction mode in which the distortion-related parameters are the smallest is selected as the second intra prediction mode as the intra-coded intra prediction mode.
  • This method can further reduce the range of the intra-prediction mode targeted for the calculation of the distortion-related parameters while ensuring the accuracy of the intra-prediction, and further reduce the coding complexity, thereby further improving the coding efficiency.
  • Another way to determine the second intra prediction mode from the third intra prediction mode is to calculate the distortion related parameters of all the third intra prediction modes and determine the intra prediction with the smallest distortion related parameter in the third intra prediction mode
  • the mode is the second intra prediction mode, which serves as the intra prediction mode for intra coding.
  • this approach also further reduces coding complexity and further improves coding efficiency.
  • FIG. 4 illustrates the intra prediction mode used in the HEVC standard
  • arrows generally indicate prediction directions
  • numbers indicate direction numbers.
  • the numbers and corresponding angles of 33 directions are given in Figure 5.
  • the video encoder 102 when the video encoder 102 encodes a video block according to a standard such as HEVC with multiple intra-directional encoding modes, the video encoder 102 may include more than the total number of intra-prediction modes (such as HEVC Medium is 35) Select the second intra prediction mode from the first intra prediction mode as the intra prediction mode of the current video block to perform intra coding on the current video block. This greatly reduces the complexity of intra-frame coding and improves coding efficiency. At the same time, although the number of first intra-prediction modes is reduced, the accuracy of intra-prediction is still guaranteed due to the direction consistency.
  • a standard such as HEVC with multiple intra-directional encoding modes
  • FIG. 6 illustrates a flowchart of an intra-coding method according to an embodiment of the present invention.
  • the method of FIG. 6 may be described with respect to FIGS. 1-3, but other suitable types of video encoding and decoding systems, video encoders, and intra-predictors may also implement the method.
  • the intra coding method starts at step 601, in which the direction prediction mode in the intra prediction mode is divided into N subsets according to the division of N consecutive intervals in which the direction is located, where N is greater than 1 And a positive integer less than the number of prediction modes in the direction.
  • N is greater than 1
  • the division method please refer to the relevant description in the above description of FIG. 3, especially the description of the divider 10231, which will not be repeated here.
  • the upward reference to this division method does not mean that the step The execution subject divided in 601 must be the divider 10231 of FIG. 3, and may be any suitable subject, which is not limited in this method step.
  • the reference mode of the intra prediction mode is obtained for the current video block.
  • the reference mode includes an already determined intra prediction mode, wherein the determined intra prediction mode is associated with the current video block or a video block associated with the current video block.
  • the upward reference to this division does not mean that the execution subject for acquiring the reference mode in step 602 must be the reference acquirer 10232 of FIG. 3, but may be any suitable subject, which is not limited in this method step.
  • the execution order of the above step 601 and step 602 is not limited herein, and can be executed in any order or simultaneously.
  • one or more first intra prediction modes are determined from all (that is, all possible) intra prediction modes. ), so as to determine a second intra prediction mode based on the first intra prediction mode as the intra prediction mode of the current video block (shown as 61 in FIG. 6).
  • the specific steps will be described below in the context of HEVC. Of course, those skilled in the art understand that the method is not limited to this standard, but can be similarly applied to other compression coding standards, which is not limited by the present invention.
  • the reference mode includes only non-directional prediction modes, that is, for example, the Planar mode and/or DC mode of the HEVC standard
  • the first intra prediction mode includes For example, all non-directional prediction modes in the intra prediction mode of the HEVC standard and one or more of the following directional prediction modes: vertical (direction 26), horizontal (direction 10), and diagonal directions (directions 2, 18, and 34) ) Corresponding direction prediction mode.
  • the first intra prediction mode includes, for example, seven kinds of directional prediction modes corresponding to the Planar mode of the HEVC standard, DC mode, directions 26, 10, 2, 18, and 24.
  • the reference mode includes only the direction prediction mode corresponding to the direction belonging to the same continuous interval
  • the first intra prediction mode includes the intra prediction mode. All non-directional prediction modes and directional prediction modes corresponding to all directions in the same continuous interval.
  • the first intra prediction mode includes, for example, 11 types of HEVC standard Planar mode, DC mode, and direction prediction modes corresponding to directions 2-10.
  • the reference mode includes only the direction prediction mode corresponding to the direction of the intra prediction mode belonging to two consecutive intervals
  • the first frame is determined.
  • the intra prediction mode includes all non-directional prediction modes in the intra prediction mode and directional prediction modes corresponding to all directions in the two adjacent consecutive intervals.
  • the first intra prediction mode includes, for example, 19 types of HEVC standard Planar mode, DC mode, and direction prediction modes corresponding to directions 2-18.
  • the first intra prediction mode is determined to include all For example, 35 types of intra prediction modes of the HEVC standard.
  • the fourth case in response to determining that the reference pattern is included in more than In a plurality of adjacent consecutive intervals in each direction, it is determined that the first intra prediction mode includes all the intra prediction modes.
  • the distortion-related parameters are calculated for the currently selected intra prediction mode, that is, the first intra prediction mode.
  • the distortion-related parameter is the rate-distortion cost.
  • the calculation method of the rate-distortion cost has been given in the description in conjunction with FIG. 1 and will not be repeated here. Of course, this upward reference does not mean any restriction on the execution body of the calculation of the rate-distortion cost.
  • the intra prediction mode in which the distortion-related parameter is the smallest is determined, and in step 616, it is determined as the second intra prediction mode to perform intra coding of the current video block. This method can further reduce the range of the intra-prediction mode targeted for the calculation of the distortion-related parameters while ensuring the accuracy of the intra-prediction, and further reduce the coding complexity, thereby further improving the coding efficiency.
  • the third intra prediction mode may be determined in step 611.
  • this step may include: predicting all directions in the first intra prediction mode Sampling is performed, and all non-directional prediction modes of the intra prediction mode together with the sampling result are used as the third intra prediction mode, so as to determine the second intra prediction mode based on it as the intra prediction mode of the current video block.
  • the first intra prediction mode includes, for example, the Planar mode of the HEVC standard, the DC mode, and the directional prediction modes corresponding to the directions 2-18.
  • n 2 pairs of adjacent (i.e., HEVC) Consecutively numbered) direction 2-18 corresponding to the direction prediction mode sampling, to obtain the direction prediction mode corresponding to directions 2, 4, 6, ... 18, together with Planar mode and DC mode, a total of 11 kinds as the third frame
  • the prediction mode in order to determine the second intra prediction mode as the intra prediction mode of the current video block based on which to intra-code the current video block.
  • step 612 the distortion-related parameters are calculated for the currently selected intra prediction mode, that is, the third intra prediction mode.
  • the intra prediction mode with the smallest distortion related parameter in the third intra prediction mode is obtained.
  • step 616 the non-directional prediction mode is determined as the second intra prediction mode to perform intra coding of the current video block.
  • step 613 When it is determined in step 613 that the intra prediction mode with the smallest distortion-related parameter in the third intra prediction mode is the directional prediction mode, then in step 614, the distortion of the directional prediction mode corresponding to the two directions adjacent to the corresponding direction number is additionally calculated Relevant parameters, and in step 615, determine the direction prediction mode which is the smallest among the distortion-related parameters obtained in step 613 and step 614, and determine it as the second intra prediction mode in step 616, as the current video block’s Intra prediction mode.
  • step 614 when it is determined in step 613 that the direction prediction mode corresponding to direction 4 has the smallest distortion-related parameters among all 11 third intra prediction modes, then in step 614, the direction 3 adjacent to it is additionally calculated
  • the distortion-related parameters of the directional prediction mode corresponding to 5 are compared with those of direction 4 in step 615, and the directional prediction mode in which the distortion-related parameters are the smallest is selected and used as the second intra prediction mode in step 616, as Intra prediction mode for intra coding.
  • This method can further reduce the range of the intra-prediction mode targeted for the calculation of the distortion-related parameters while ensuring the accuracy of the intra-prediction, and further reduce the coding complexity, thereby further improving the coding efficiency.
  • Another way to determine the second intra prediction mode from the third intra prediction mode is to calculate the distortion related parameters of all the third intra prediction modes in step 612, and then determine the third intra prediction mode in step 615 Intra-prediction mode with the smallest distortion related parameter, and use it as the second intra-prediction mode in step 616 to be used as the intra-prediction mode for intra-coding.
  • this approach also further reduces coding complexity and further improves coding efficiency.
  • FIG. 7 illustrates the association between the method of the embodiment of the present invention and a specific application.
  • the video block labeled 1 in FIG. 7 includes only the water surface, and the water surface texture is consistent. It can be considered that only one direction prediction is needed, corresponding to the second case in this article, that is, the determined reference mode includes only the same The direction prediction mode corresponding to the direction of the continuous interval.
  • the video block labeled 2 in Figure 7 includes water and land, including the boundary between different objects. It can be considered that two directions of prediction are needed, corresponding to the third case in this article, that is, the determined reference mode includes the adjacent The direction prediction mode corresponding to the direction of two consecutive intervals.
  • the video block labeled 3 in FIG. 7 includes branches with different shapes and no individual reference directions with reference value, corresponding to the fourth case in this article, that is, without direction consistency, the first intra prediction mode needs to be It is determined to include all, for example, 35 kinds of intra prediction modes.
  • the embodiment of the present invention provides a low-complexity and accelerated video compression encoding method without reducing the compression performance, and can reduce the intra-frame while ensuring that the compression performance of the intra-frame predictor/encoder/video encoding and decoding system does not decrease.
  • the embodiments of the present invention are helpful for live broadcast scenarios, or high-resolution encoding.
  • the video encoding and decoding system 100, the video encoder 102, and/or the intra-frame predictor 1023 are collectively referred to as an apparatus 800 therein, and they may all include a processor 804, including hardware originals 810.
  • the processor 804 includes, for example, one or more digital signal processors (DSPs), general-purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits.
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • FPGAs field programmable logic arrays
  • the functionality described herein may be provided within dedicated hardware and/or software modules configured for encoding and decoding, or incorporated in a combined code Decoder.
  • the techniques can be fully implemented in one or more circuits or logic elements.
  • Various elements e.g., "devices" are described in this disclosure to emphasize the functional aspects of devices configured to perform the disclosed technology, but do not necessarily need to be implemented by different hardware units. Rather, as described above, various units may be combined in a codec hardware unit or provided by a collection of interoperable hardware units (including one or more processors as described above) in combination with appropriate software and/or firmware.
  • the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored as one or more instructions or code on or transmitted via computer-readable medium 806 and executed by a hardware-based processor.
  • such computer-readable storage media may include RAM, ROM, EEPROM, CD_ROM, or other optical disks, magnetic disk storage, or other magnetic storage, flash memory, or may be used to store desired programs in the form of instructions or data structures Code and any other memory 812 that can be read by a computer.
  • the video encoding and decoding system 100, the video encoder 102, and/or the intra predictor 1023 also include an I/O interface for transmitting data, and other functions 814.
  • the video encoding and decoding system 100, the video encoder 102, and/or the intra predictor 1023 may be included in different devices. Only the computer 816, the mobile device 818, and the television 820 are shown in the figure, and each of these configurations includes The devices may have generally different configurations and capabilities, and thus the video encoding and decoding system 100, the video encoder 102, and/or the intra predictor 1023 may be configured according to one or more of different device categories.
  • the technology of the present invention can be implemented in whole or in part on a "cloud" 822 by using a distributed system, such as through a platform 824.

Landscapes

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

Abstract

本公开提供了一种用于确定当前视频块的帧内预测模式的方法、装置、帧编码器、帧编解码系统。将待编码的当前视频块所在的图像区域中,已确定预测模式的复数个第二视频块的复数个帧内预测模式确定为当前视频块的参考模式。该图像区域位于当前视频块所属的视频帧或切片中、由当前视频块对应的编码单元的相邻编码单元和父编码单元所限定的区域之内。从预设的帧内预测模式中确定备选预测模式集合,备选预测模式集合包括复数个备选的预测模式,其中包括上述参考模式。在备选预测模式集合中,将对当前视频块进行帧内预测编码性能最佳的预测模式确定为当前视频块的帧内预测模式。

Description

用于帧内编码的方法、装置、帧编码器、帧编码系统
本申请要求于2018年12月29日提交中国专利局、申请号为201811638336.5、名称为“用于帧内编码的方法、装置、帧编码器、帧编码系统以及计算机可读存储媒体”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及帧编码,更具体地,涉及一种用于帧内编码的方法、装置、帧编码器、帧编码系统以及计算机可读存储媒体。
发明背景
数字视频能力可并入到广泛多样的装置中,例如数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电话、智能电话、视频电话会议装置、视频流式传输装置,以及其它类似的装置。具有数字视频能力的装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264、MPEG-4第10部分高级视频编码(AVC)界定的标准、高效视频编码(HEVC)标准以及这些标准的扩展中描述的那些技术。具有数字视频能力的装置可通过实施这些视频压缩技术来更为有效地发送、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(帧内)预测和/或时间(帧间)预测以减少或去除视频序列中固有的冗余。对于基于块的视频编码,可将视频切片(即,视频帧或视频帧的一部分)分割为若干视频块,所述视频块也可称为树块、编码单元(CU)和/或编码节点。每一视频帧的帧内类型的编码 (I)的切片中的所有视频块均使用相对于同一视频帧中的相邻视频块中的参考样本的空间预测来编码,即每个视频块都采用帧内预测模式编码,本文中称为帧内编码。每一视频帧的帧间类型的编码(P或B)的切片中的视频块可使用相对于同一视频帧中的相邻视频块中的参考样本的空间预测(即采用帧内预测模式编码,本文中称为帧内编码)或相对于其它参考视频帧中的参考样本的时间预测(即采用运动向量编码,本文中称为帧间编码)来编码。帧也可称为图片,参考帧可称为参考图片。
经过空间或时间预测得到待编码的预测块。残余数据表示待编码的原始视频块与预测视频块之间的像素差。帧间编码块是根据指向形成预测块的参考样本的块的运动向量以及指示编码块与预测块之间的差的残余数据来编码。帧内编码块是根据帧内编码模式和残余数据来编码。。
发明内容
本发明实的实施例提供了一种用于帧内编码的方法、装置、帧编码器、帧编码系统以及计算机可读存储媒体。
各实施例提供了一种用于确定当前视频块的帧内预测模式的方法,包括:将待编码的当前视频块所在的图像区域中,已确定预测模式的复数个第二视频块的复数个帧内预测模式确定为所述当前视频块的参考模式,所述图像区域位于所述当前视频块所属的视频帧或切片中、由所述当前视频块对应的编码单元的相邻编码单元和父编码单元所限定的区域之内;从预设的帧内预测模式中确定备选预测模式集合,所述备选预测模式集合包括复数个备选的预测模式,其中包括所述参考模式;在所述备选预测模式集合中,将对所述当前视频块进行帧内预测编码性能最佳的预测模式确定为所述当前视频块的帧内预测模式。
各实施例还提供一种用于确定当前视频块的帧内预测模式的装置, 包括参考获取器,用于将待编码的当前视频块所在的图像区域中,已确定预测模式的复数个第二视频块的复数个帧内预测模式确定为所述当前视频块的参考模式,所述图像区域位于所述当前视频块所属的视频帧或切片中、由所述当前视频块对应的编码单元的相邻编码单元和父编码单元所限定的区域之内;模式确定器,用于从预设的帧内预测模式中确定备选预测模式集合,所述备选预测模式集合包括复数个备选的预测模式,其中包括所述参考模式;在所述备选预测模式集合中,将对所述当前视频块进行帧内预测编码性能最佳的预测模式确定为所述当前视频块的帧内预测模式。
各实施例还提供一种用于确定当前视频块的帧内预测模式的装置,包括:处理器;以及存储器,配置为在其上存储有计算机可执行指令,所述指令当在所述处理器中执行时使得实现上面第一方面所述的方法。
各实施例还提供一种帧编码器,包括如上面第二方面或第三方面所述的装置。
各实施例还提供一种帧编解码系统,包括如上面第三方面所述的帧编码器。
各实施例还提供一种计算机可读存储媒体,其特征在于,所述计算机可读存储媒体中存储有指令,当所述计算机可读存储媒体在计算机上运行时,使得所述计算机实现上面第一方面所述的方法。
本发明的实施例,提供低复杂度、加快的视频压缩编码方法,而不降低压缩性能,能够在保证帧内预测器/编码器/视频编码和解码系统的压缩性能不下降情况下,减少帧内预测器/编码器/视频编码和解码系统的复杂度,从而加快编码速度,进而达到节省成本的目的。特别地,本发明实施例有助于直播场景,或者高分辨率下的编码。
附图简要说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1图示了根据本发明实施例的示例性视频编码和解码系统的框图。
图2A图示了根据本发明实施例的示例性视频编码器的框图。
图2B图示了根据本发明实施例的帧内预测器的框图。
图2C图示了根据本发明实施例的帧内编码方法的流程图。
图3图示了根据本发明实施例的帧内预测器的框图。
图4图示了HEVC标准中使用的帧内预测模式。
图5示出了HEVC标准中使用的帧内预测模式的方向预测模式的编号和角度的映射。
图6图示了根据本发明实施例的帧内编码方法的流程图。
图7图示了根据本发明实施例的方法与具体应用的关联。
图8图示了根据本发明实施例的硬件环境图。
实施本发明的方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
现有技术中,用于帧内预测编码的帧内预测模式的确定可能涉及针对所有帧内预测模式的计算,这样不够高效,且浪费计算资源,尤其对于帧内预测模式较多的编码标准。而如果任意筛选需要计算的帧内预测模式,可能会影响帧内预测的准确性,增加了图像压缩损失。
图1图示了根据本发明实施例的示例性视频编码和解码系统100的框图。如图1所示,系统100包含源装置10,所述源装置10产生经编码的视频,以由目的装置20在其后进行解码。源装置10和目的装置20可包括广泛多样的装置中的任一种,例如数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电话、智能电话、视频电话会议装置、视频流式传输装置,以及其它类似的装置。在一些情况下,源装置10和目的装置20可针对无线通信而配置。在一些示例中,系统10可经配置以支持单向或双向视频发送来支持例如视频流式传输、视频重放、视频广播和/或视频电话等应用。
目的装置20可经由链路12接收待解码的编码视频数据。链路12可包括能够将编码视频数据从源装置10移动到目的装置20的任一类型的媒体或装置。在一个示例中,链路12可包括通信媒体以使得源装置10能够实时地将编码视频数据直接发送到目的装置20。编码视频数据可根据例如无线通信协议等通信标准而调制,且发送到目的装置20。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或者一种或多种物理传输线。通信媒体可形成基于分组的网络的部分,所述网络例如为局域网、广域网或因特网等。通信媒体可包含路由器、交换机、基站或有助于从源装置10到目的装置20的通信的任何其它设备。
替代地或可选地,编码视频数据可从输出接口103发送到存储装置30。类似地,编码视频数据可通过输入接口203从存储装置30读取。存储装置30可包含多种分布式或本地读取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器,或任何其它合适的用于存储编码视频数据的数字存储媒体。 在又一示例中,存储装置30可对应于文件服务器或其它类似的中间存储装置,其可保存由源装置10产生的编码视频数据。目的装置20可通过流式传输、下载或二者结合的方式从存储装置30读取所存储的编码视频数据。文件服务器可以是能够存储编码视频数据且将所述编码视频数据传输到目的装置20的任一类型的服务器。示例的文件服务器包含网络服务器、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的装置20可通过任何标准数据连接(包含因特网连接)读取编码视频数据。这可包含适于读取存储在文件服务器上的编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等等)或两者的结合。
在图1的示例中,源装置10包含视频源101、视频编码器102和输出接口103。在一些情况下,输出接口103可包含调制器/解调器(调制解调器)和/或发送器。在源装置10中,视频源101可包含例如以下各项的源:例如摄像机等视频捕获装置、含有预先捕获的视频的视频文件、用以从视频内容提供者或者网络中的其他设备(包括云存储设备)接收视频的视频输入接口,和/或用于产生计算机图形作为源视频的计算机图形系统,和/或这些源的组合。作为一个示例,如果视频源101是摄像机,则源装置10和目的装置20可配置成视频电话装置。
所捕获、预先捕获、接收或计算机产生的视频可由视频编码器102编码。编码视频数据可经由源装置10的输出接口103直接发送到目的装置20。编码视频数据也可存储到存储装置30上供目的装置20或其它装置随后读取,以解码和/或重放。
目的装置20包含输入接口203、视频解码器202和显示装置201。在一些情况下,输入接口203可包含接收器和/或调制解调器。目的装置20的输入接口203经由链路12接收编码视频数据。经由链路12传送或 在存储装置30上提供的编码视频数据可包含由视频编码器102产生的多种语法元素,其供诸如视频解码器202之类的视频解码器用于对编码视频数据进行解码。这些语法元素可与编码视频数据一起在通信媒体上传送、存储到存储媒体中或存储到文件服务器中等等。
显示装置201可与目的装置20集成(如图1所示)或在目的装置20的外部(未图示)。换言之,目的装置20包括集成的显示装置,及/或经配置而与外部显示装置耦接。在另一些示例中,目的装置20可以是显示装置。大体上,显示装置201向用户显示解码视频数据,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器,或其它类型的显示装置。
视频编码器102和视频解码器202各自可实施为多种合适的编码、解码器电路中的任一者,例如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑器件、软件、硬件、固件或其任一组合。当所述技术部分地以软件实施时,对应的视频编码器102和视频解码器202可将用于所述软件的指令存储在合适的非暂时性计算机可读媒体中,且使用一个或多个处理器执行硬件中的指令以执行本发明实的技术。视频编码器102和视频解码器202中的每一个可包含于一个或多个其它的编码器或解码器中,其中任一者可集成为相应装置中的组合式的编解码器(CODEC)的一部分。
视频编码器102和视频解码器202可基于例如高效视频编码(HEVC)标准等视频压缩标准来操作。然而本发明实的技术不限于任何特定编码标准。其它示例包含ITU-T H.264标准(或称MPEG-4第10部分高级视频编码(AVC))、MPEG-2和ITU-T H.263。虽然图1中未图示,但在一些方面中,视频编码器102和视频解码器202可各自与音频编码器和解码器集成,且可包含适当的多路复用器—多路分用器(MUX-DEMUX)或 其它硬件和软件,以处理同一数据流或单独数据流中的音频和视频二者的编码。如果适用,MUX-DEMUX可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
以HEVC为例,HEVC继承了自H.261以来经典的基于块的混合编码模型。为了对高分辨率的视频进行更有效的压缩,HEVC提出了三种更具有灵活性的视频内容表示单元,包括:CU(Coding Unit,编码单元)、PU(Prediction Unit,预测单元)和TU(Transform Unit,变换单元)。CU类似于H.264中宏块的概念。在HEVC中,每一帧图像都被分割成互不重叠的CTU(Coding Tree Unit),CTU会划分成CU,其中尺寸最大的CU叫LCU(Largest Coding Unit,最大编码单元),其尺寸为64x64,其深度定义为0。每一个CTU按四叉树递归的方式划分成4个子CU,每划分一次,深度加1,直到子CU的尺寸达到8x8,即深度为3时不再继续划分。在每个深度的CU中,用相同尺寸的PU(8x8的PU有8x8和4x4这两种PU)进行帧内编码,HEVC总共支持5种大小的PU:4x4、8x8、16x16、32x32和64x64。每一种大小的PU都有35种预测模式,其中包括33种方向预测模式,一个DC预测模式和一个Planar预测模式。Planar模式解决渐变式的平滑纹理区域,它是由H.264/AVC中的Plane模式发展而来的,适用于图像值缓慢变化的区域。Planar模式使用水平和垂直方向的两个线性滤波器,并将二者的平均值作为当前块像素的预测值。DC模式适用于大面积平坦区域,其做法与H.264/AVC基本相同,即当前块预测值可由其左侧和上方(注意不包含左上角、左上方和右上方)参考像素的平均值得到。针对每一个PU,从35种预测模式中选取最佳预测模式。在遍历完所有不同深度的CU之后,根据RDO(Rate Distortion Optimization,率失真优化)得到的率失真值来确定CU的最佳划分方式和帧内预测模式。该率失真值可以是率失真代价RdCost:
RdCost=D+λ*b    (1)
其中λ为拉格朗日常数,b为当前模式下编码所要消耗的码字个数,而D表示失真函数,有多种形式,例如平方差和(SSD)、绝对转换差和(SATD)、绝对差和(SAD),其中SSD对应的复杂度最大,但也最准确,SATD次之。
本发明的技术可适用于大体上符合上述HEVC标准的装置,一般地,本发明的技术还可以类似地适用于其它基于块的编码解码技术。当然,本发明并不旨在限于此,而是意在适用于任何合适的编码解码技术。
在本公开中,“NxN”和“N乘N”可以互换地使用,以指代视频块在垂直和水平尺寸方面的像素尺寸,例如16x16像素或16乘16像素。大体上,16x16块将在垂直方向上具有16个像素(y=16)且在水平方向上具有16个像素(x=16)。
应理解,图1仅仅示出了根据本发明的一个示例系统,然而,本发明并不限于图1所示的系统,而是可以在增加和/或减少部件的情况下包括其任何合适的、可能的变体。
图2A图示了根据本发明实施例的示例性视频编码器102的框图。视频编码器102可执行视频切片内的视频块的帧内编码和帧间编码。帧内编码依赖于空间预测来减少或去除给定视频帧或图片内的视频中的空间冗余。帧间编码依赖于时间预测来减少或去除视频序列的相邻帧或图片内的视频中的时间冗余。帧内类型的编码帧(I帧)和帧间类型的编码帧(P帧、B帧或GBP帧)等都存在帧内编码块,即进行帧内编码的块。帧内编码块在帧间类型的编码帧中的存在,主要是为了避免B、P、GBP帧的误差累计,同时也为了满足场景切换的需求。因为在帧间编码时,帧间预测的参考像素都基于帧内编码的重构数据,因此,帧内编码块的图像质量至关重要,如果图像质量差,被参考的视频块质量会更差,误 差会越来越大,所带来的现象就是,同等质量下编出的码流会大很多,或者同等码流下图像质量会差很多。
在图2A的示例中,视频编码器102包含分割器1021、包括运动估计器10221和运动补偿器10222的帧间预测器1022、帧内预测器1023、参考帧存储器1024、第一求和器1025、变换器1026、量化器1027以及熵编码器1028。对于视频块重构,视频编码器102还包含逆量化器1029、逆变换器1030和第二求和器1031。还可包含例如去块(DeBlocking,DB)滤波器1032、样本自适应偏移(Sample Adaptive Offset,SAO)滤波器1033等一个或多个环路滤波器(环路内或环路后)以对经重构视频块进行滤波。这一个或多个环路滤波器将通常对第二求和器1031的输出进行滤波。也可使用其它的环路滤波器(环路内或环路后)。
如图2A所示,视频编码器102接收视频数据,且分割器1021将数据分割为视频块。此分割也可包含分割为切片或其它较大单元,以及视频块分割,例如根据CTU的四叉树结构,分割成4x4、8x8、16x16、32x32和64x64的视频块。其中帧间预测器1022和帧内预测器1023均可基于误差结果(例如,编码速率和失真相关参数)为当前视频块各自选择多个可能的帧间内预测模式或帧内预测模式中的一种。作为选择帧内预测模式的部分,帧内预测器1023配置来根据本发明实施例的方法先进行第一步预测,筛选出可能性较大的第一帧内预测模式,而后基于这些帧内预测模式,确定第二帧内预测模式,作为当前视频块的帧内预测模式。帧间预测器1022或帧内预测器1023的输出可以提供到第一求和器1025,与视频块的输出结合以产生残余块数据,帧间预测器1022或帧内预测器1023的输出也可以提供到第二求和器1031,以重构视频块以用作参考帧。
帧内预测器1023可相对于与待编码当前视频块相同的帧或切片中 的一个或多个相邻视频块执行当前视频块的帧内编码以提供空间压缩。帧间预测器1022内的运动估计器10221和运动补偿器10222相对于一个或多个参考帧中的一个或多个预测块执行当前视频块的帧间编码以提供时间压缩。
当为当前视频块选择帧间预测,则运动估计器10221可经配置以根据视频序列的预定模式来确定视频切片的帧间预测模式。预定模式可将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计器10221和运动补偿器10222可高度集成,本文中为了概念目的而分开说明。由运动估计器10221执行的运动估计是产生估计视频块的运动的运动向量的过程。举例来说,运动向量可指示当前视频帧内的视频块的PU相对于参考图片内的预测块的位移。
预测块为在像素差方面紧密匹配于待编码视频块的PU的块,所述像素差可通过绝对差和(SAD)、平方差和(SSD)或其它差量度来确定。在一些示例中,视频编码器102可计算存储在参考帧存储器1024中的参考图片的整数分之一的像素位置的值。举例来说,视频编码器102可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计器10221可执行相对于全像素位置和分数像素位置的运动搜索,且输出具有分数像素精度的运动向量。
运动估计器10221通过将PU的位置与参考图片的预测块的位置进行比较来计算经帧间编码切片中的视频块的PU的运动向量。运动估计器10221将所计算的运动向量发送到熵编码器1028和运动补偿器10222。
由运动补偿器10222执行的运动补偿可涉及基于由运动估计确定的运动向量来获取或产生预测块,可能执行达到子像素精度的内插。在接收到当前视频块的PU的运动向量后,运动补偿器10222可立刻确定运 动向量指向的预测块。视频编码器102通过从正编码的当前视频块的像素值减去预测块的像素值而形成像素差值,来形成残余视频块。第一求和器1025表示执行此减法运算的组件。
帧内预测器1023配置来对当前视频块进行帧内预测,作为对如上所述由运动估计器10221和运动补偿器10222执行的帧间预测的替代。具体来说,帧内预测器1023配置来确定将用以对当前视频块进行编码的帧内预测模式。该帧内预测模式通常是经过编码速率和/或失真分析后而确定的具有最佳编码速率和/或失真性能的帧内预测模式。关于帧内预测器1023的进一步描述,将结合图3在下面详细给出。
在帧间预测器1022或帧间预测器1023产生当前视频块的预测块之后,视频编码器102通过从当前视频块减去预测块而形成残余块。残余块中的残余视频数据可包含在一个或多个TU中且应用于变换器1026。变换器1026使用例如离散余弦变换(DCT)或概念上类似的变换将残余视频数据变换为残余变换系数。变换器1026配置来将残余视频数据从像素域转换到变换域,例如频域。
变换器1026配置来将所得变换系数发送到量化器1027。量化器1027量化变换系数以进一步减小位速率。量化过程可产生与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些示例中,量化器1027可随后执行对包含经量化变换系数的矩阵的扫描。或者,熵编码器1028可执行扫描。
在量化后,熵编码器1028对经量化的变换系数进行熵编码。举例来说,熵编码器1028可执行上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、基于语法的上下文自适应二进制算术编码(SBAC)、概率区间分割熵(PIPE)编码或另一熵编码方法或技术。其还将来自帧内预测器和帧间预测器的语法元素一同编码以便视频解码 器202正确地解码。在熵编码器1028的熵编码之后,经编码的比特流发送到视频解码器202,或存储装置30。熵编码器1028还配置来对正编码的当前视频切片的运动向量等进行熵编码。
逆量化器1029和逆变换器1030分别对量化器1027的输出先后应用逆量化和逆变换以重构像素域中的残余块,用于稍后用作参考图片的参考块。运动补偿器10222可通过将残余块加到参考图片列表中的一者内的参考图片中的一者的预测块来计算参考块。运动补偿器10222还可将一个或多个内插滤波器应用于经重构残余块以计算子整数像素值以用于运动估计。求和器62将经重构残余块加到由运动补偿器10222产生的经运动补偿预测块以产生参考块以存储在参考帧存储器1024中。参考块可由运动估计器10221和运动补偿器10222用作参考块以对后续视频帧或图片中的块进行帧间预测。
显然,图2A仅示出了根据本发明的一个示例视频编码器,然而,本发明并不限于图2A所示的视频编码器,而是可以在增加和/或减少部件的情况下包括其任何合适的、可能的变体。
图2B示出根据本发明实施例的帧内预测器的框图。该实施例中,帧内预测器1023包括参考获取器11和模式确定器12。参考获取器11可以确定待编码的当前视频块的参考模式。模式确定器12可以根据参考获取11确定的参考模式确定当前视频块的帧内预测模式。参考获取器11和模式确定器12的具体处理方法如下所述。
图2C图示了根据本发明实施例的帧内编码方法的流程图。如图2C所示,该方法30可以包括以下步骤。
步骤31,将待编码的当前视频块所在的图像区域中,已确定预测模式的复数个第二视频块的复数个帧内预测模式确定为所述当前视频块 的参考模式。
步骤32,从预设的帧内预测模式中确定备选预测模式集合。
所述备选预测模式集合包括复数个备选的预测模式,其中包括所述参考模式;
步骤33,在所述备选预测模式集合中,将对所述当前视频块进行帧内预测编码性能最佳的预测模式确定为所述当前视频块的帧内预测模式。
其中,帧内预测编码的性能可以包括以下中的至少一个:编码速率、失真。一些实施例中,可以将编码速率或失真作为性能的评价指标。例如,可以将编码速率最高、或者失真性能最佳的预测模式确定为所述当前视频块的帧内预测模式。另一些实施例中,可以将编码速率和失真(通过预设的方式)合并起来作为性能的评价指标。例如,可以利用根据需要预先设置的合并算法,对编码速率性能和失真性能进行加权合并,将合并后的性能指标最佳的预测模式确定为所述当前视频块的帧内预测模式。
当前视频块是根据采用的视频编码标准对视频图像进行区域划分所得到的作为视频编码单位的图像块。例如,视频块可以是CTU中任一节点的CU,或是某个CU中的PU、TU,等。
其中,图像区域位于当前视频块所属的视频帧或切片中、由所述当前视频块对应的编码单元的相邻编码单元和父编码单元所限定的区域之内。
编码单元的相邻编码单元是指在视频图像中,与编码单元邻接的其它编码单元。一些实施例中,根据所采用的视频块的编码顺序,可以仅将一部分相邻编码单元纳入所述图像区域。例如,当编码顺序为从左至右、从上至下时,可以仅将当前视频块对应的编码单元的左侧、左上、 和上方的相邻编码单元纳入所述图像区域,也即,上述图像区域可以不包括显然尚未经过编码的右侧、右下和下方的相邻编码单元。
编码单元的父编码单元,是指对图像帧进行逐级分割时,该编码单元所属的上一级、面积更大的编码单元,例如,CTU中,当前视频块对应的CU的父CU。
从上可知,一些实施例中,上述复数个第二视频块可以至少包括以下之一:
所述视频帧或切片中,与当前视频块对应的编码单元相邻的至少一个编码单元;
当前视频块对应的编码单元的父编码单元;
当前视频块对应的编码单元中的子编码单元;
所述视频帧或切片中,与当前视频块对应的编码单元相邻的预测单元。
在当前视频块所在的图像区域中,搜索已经确定的其它视频块的帧内预测模式,将这些已采用的帧内预测模式作为参考,用于当前视频块的帧内预测模式的确定,可以利用图像数据中邻近区域可能存在的内容相似性来提高确定帧内预测模式的效率。
一些实施例中,在步骤32,可以直接将参考模式作为备选预测模式集合。另一些实施例中,还可以将预测方向与参考模式的预测方向接近的其它一些预测模式也加入备选预测模式集合。也即,可以从预设的帧内预测模式对应的预测方向的集合中,确定所述参考模式的预测方向落入的一个或复数个方向区间,将所述一个或复数个方向区间对应的帧内预测模式加入所述备选预测模式集合。
例如,可以在复数个预设方向区间中,将所述参考模式的预测方向 落入的一个或复数个预设方向区间确定为所述一个或复数个方向区间。这个例子需要预先设置复数个方向区间。一些例子中,这些预设方向区间可以允许相互之间存在重叠,此时,可以将所有参考模式落入、且预测模式的总数最少的一个或复数个预设方向区间作为所需要尝试的方向区间,将其对应的预测模式加入参考模式集合。另一些例子中,这些预设方向区间可以相互之间不存在重叠,也即,可以将复数个预设的预测方向划分为N个子集,将所述N个子集作为所述复数个预设方向区间。每个子集由复数个相邻的预测方向组成,N为大于1且小于所述方向预测模式个数的正整数。其中,相邻的预测方向是指,将预设的各预测方向按角度大小排列时,排位连续的复数个预测方向。一些实施例中,N个子集可以以垂直方向、水平方向和对角方向为界来划分。
又例如,可以将所述参考模式的预测方向和与所述预测方向相邻的预测方向组成的一个或复数个连续方向区间确定为所述一个或复数个方向区间。其中,连续方向区间是指,将预设的各预测方向按角度大小排列时,排位连续的复数个预测方向所组成的区间。可以根据参考模式的预测方向的分布情况来确定上述方向区间。例如,将参考模式中角度最小的预测方向和角度最大的预测方向之间的所有预测方向作为预测方向的尝试范围。又例如,也可以将每个参考模式的预测方向两侧相邻的预设数目个预测方向也纳入尝试范围。例如,预设数目为2时,可以将每个参考模式的预测方向两侧各2个预测方向,也即每个参考模式对应相邻的4的预测方向,纳入尝试范围。可以根据尝试范围中预测方向的分布情况确定最终的方向区间。一些实施例中,可以将尝试范围中最小的预测方向和最大的预测方向之间的方向区间整体作为待尝试的方向区间。另一些实施例中,可以根据预设的阈值,将预测方向的尝试范围划分为复数个方向区间。例如,预设的阈值为3时,当尝试范围的预 测方向按角度大小排列时,相邻排位的两个预测方向(如,图4中的20和25)之间存在超过阈值数目个预设的预测方向(如图4中20和25之间存在21-24共4个预设预测方向)时,可以将这两个预测方向划入两个不同的方向区间,这两个方向区间之间的边界在这两个预测方向之间。
各实施例中,非方向预测模式也是具有较高可能性的预测模式。因此,一些实施例中,当所述参考模式不包括预设的非方向预测模式时,将所述非方向预测模式加入所述参考模式。
一些实施例中,图像区域中已确定的帧内预测模式可能仅包括非方向模式,也即参考模式不包括方向预测模式。此时,可以将从预设的预测方向中均匀选取的预设数目个预测方向对应的帧内预测模式加入所述参考模式。一些实施例中,可以选取垂直方向、水平方向和对角方向对应的方向预测模式。
各实施例中,如果备选预测模式集合中的预测模式数量较多,为了提高效率,可以将步骤33的处理分为粗选和细选两个步骤。当所述备选预测模式集合中的预测模式的总数大于预设阈值时,可以从所述备选预测模式集合中选取不大于所述预设阈值数目个第一预测模式,作为粗选步骤中尝试的预测模式。通过粗选,可以在所述第一预测模式中对所述当前视频块进行帧内预测编码性能最佳的第二预测模式,用于细选。细选步骤中,可以根据所述第二预测模式在所述备选预测模式集合中确定所述当前视频块的帧内预测模式。细选时,当所述第二预测模式为非方向预测模式时,可以将所述第二预测模式确定为所述当前视频块的帧内预测模式。当所述第二预测模式为方向预测模式时,可以在所述第二预测模式以及与所述第二预测模式的预测方向相邻的预测模式中,对所述当前视频块进行帧内预测编码性能最佳的预测模式确定为所述当前 视频块的帧内预测模式。
下面以预先设置复数个方向区间,选取其中一个或复数个区间,将其中的预测方向对应的预测模式作为备选预测模式的方式为例,对本申请的方案进行说明。图3图示了根据本发明实施例的帧内预测器的框图。帧内预测器1023包括划分器10231、参考获取器10232、第一选择器10233和第二选择器10234。划分器10231、参考获取器10232、第一选择器10233和第二选择器10234各自或者其任意的组合可实施为多种合适的电路中的任一者,例如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑器件、软件、硬件、固件或其任一组合。当这些部件部分或全部地以软件实施时,用于所述软件的指令可以存储在存储器(其包括合适的一个或多个非暂时性计算机可读存储介质)中,且使用一个或多个处理器执行上述存储器中的指令以执行本发明实的技术。这些部件还可以包含于一个或多个其它的编码器的部件中,或者集成在编解码器(CODEC)中。
划分器10231配置来将帧内预测模式的方向预测模式划分为若干子集。所述划分考虑到帧纹理的一致性,划分的依据可以是方向之间的相邻关系,从而依全部方向所在的N个连续区间的划分而将方向预测模式划分为N个子集,其中N为大于1且小于所述方向预测模式个数的正整数。在参考图4所示意的HEVC所支持的帧内预测模式中的33个方向预测模式的一个示例中,33个方向按照垂直方向26、水平方向10和对角方向2、18和34这5个方向为界划分为4个连续区间,从而将33个方向预测模式分到了4个子集中,其中方向2-10对应的方向预测模式划分到第一子集,方向11-18对应的方向预测模式划分到第二子集,方向19-26对应的方向预测模式划分到第三子集,方向27-34对应的方向预测模式划分到第四子集。可以看出这4个连续区间的划分具有大致的对称 性。
替代地或可选地,大致的对称性也不是必须的,即,每个方向区间所跨的角度可以在示例的相邻的方向区间之间做出调整,例如在上述HEVC的示例中,可以将第一子集对应的方向区间中较大编号的几个方向(例如方向7-10)调整入相邻的第二子集对应的的方向区间中,或者反过来,可以将第二子集对应的的方向区间中的较小编号的几个方向(例如方向11-14)调整入第一子集对应的的方向区间中。
替代地或可选地,区间中方向的平均数目取决于对粒度的要求,在上面的示例中区间中方向的平均数目约为8,在其他示例中还可以是其它合理的数字,例如约为4、5、6等等,显然不会是33,否则就没有意义,当然,也不会超过33。在根据其它标准,例如H.264所支持的方向预测模式的示例中,可以类似地做出此类划分。
参考获取器10232配置来为当前的视频块获取帧内预测模式的参考模式。参考模式包括视频编码器中已确定的帧内预测模式,可以有一个,大多数情况下有多个,且该已经确定的帧内预测模式与当前视频块相关联,或关联于与当前视频块相关联的视频块,例如可以包括以下几类。
第一类是已确定的相邻编码单元的帧内预测模式,准确地说,是当前视频块对应的编码单元相邻的编码单元。在一个示例中,此相邻视编码单元与当前视频块的位置关系取决于扫描顺序。根据HEVC协议的扫描顺序,基本呈“Z”字形,因此其相邻编码单元可以从相邻左边编码单元、相邻上边编码单元和左上角编码单元中选(如果有的话),对应的帧内预测模式分别记为intra_mode_left、intra_mode_lefttop、intra_mode_top。注意这里的相邻编码单元不限于同一个CTU,它可以是相邻CTU里与当前视频块相邻的编码单元。
第二类是当前视频块的父编码单元的已确定的帧内预测模式,父编 码单元只有一个,父编码单元的帧内预测模式记为intra_mode_father。第三类是当前视频块的子块编码单元的已确定的帧内预测模式,子块编码单元可以有多个(例如4个),分别记为intra_mode_child_0、intra_mode_child_1……intra_mode_child_n(n为正整数)。在编码块的划分中,会涉及父编码单元或子编码单元的帧内预测模式的计算,先计算父块的帧内预测模式,再计算当前块的帧内预测模式,还是先计算子编码单元再计算当前块的帧内预测模式,这取决于帧的类型。在现有帧的类型中,例如I、B和P类型,上述第二类和第三类不会均先于当前视频块而确定,因此参考模式中第二类和第三类最多是择一存在的。然而,不排除在今后可能出现的新的类型的帧中,出现第二类和第三类均先于当前视频块的帧内预测模式确定的情况,或者出现均后于当前视频块的帧内预测模式确定的情况。
第四类是当前视频块的最可能预测模式(Most Probable Mode,MPM),可以有一个,记为MPM_mode,也可以有多个,分别记为MPM_mode_0、MPM_mode_1、……MPM_mode_n。MPM在诸如H.264和HEVC等之类的协议中均有描述。H.264支持一种MPM,由于HEVC支持的模式更多,类似于H.264的单一最可能模式在HEVC中效率不高,HEVC针对每种PU大小定义了三个最可能模式,其选择依赖于相邻PU所选的模式。同时,由于最可能模式之外的模式的概率分布接近平均,这样也可以由一个不经过CABAC的定长编码表示的结构来从剩余32个模式中指定一个模式。
当前视频块的最可能模式的选择根据当前视频块的左侧和上方的相邻预测单元的帧内预测模式确定。在一个实施例中,设左侧和上方相邻预测单元的帧内预测模式分别为A和B,如果A≠B,那么MPM中的两个模式MPM_mode_0和MPM_mode_1分别设为A和B。对于MPM 中的第三个模式MPM_mode_2的确定需要遵循以下原则:(1)如果A和B都不是平面模式,那么MPM_mode_1设为平面模式;(2)否则,若A和B都不是DC模式,那么MPM_mode_1设为DC模式;(3)否则(即AB中有一个平面一个DC模式),MPM_mode_1设为模式26,即垂直模式。如果A=B,那么确定MPM的方法如下:(1)如果A和B都不是方向预测模式,那么MPM分别设定为平面、DC和垂直模式;(2)否则,MPM_mode_0设为A/B,MPM_mode_1和MPM_mode_2选择A的相邻模式,公式如下:
MPM_mode_1=2+((A-2-1+32)%32)      (2)
MPM_mode_2=2+((A-2+1)%32)       (3)。
据此,在一个示例中,参考模式intra_mode_ref包括{intra_mode_father,intra_mode_left,intra_mode_lefttop,intra_mode_top,MPM_mode_0,MPM_mode_1,MPM_mode_2}或者其子集,在另一个示例中,参考模式intra_mode_ref包括{intra_mode_child_0,intra_mode_child_1,intra_mode_child_2,intra_mode_child_3,intra_mode_left,intra_mode_lefttop,intra_mode_top,MPM_mode_0,MPM_mode_1,MPM_mode_2}或者其子集。
替代地或可选地,在另一个实施例中,MPM定义为包括已经确定的相邻预测单元的帧内预测模式,并且任一个不可用(例如尚未确定)或者不存在(例如当前块在视频帧的边缘),则将不被包括在MPM中,例如按照HEVC的扫描顺序,会先确定左边和上边预测单元的帧内预测模式(如果有的话),这样定义的MPM则包括0个或2个最大可能模式,其子集则有0个、1个或2个最大可能模式三种情况。此时MPM的取值可能会和相邻编码单元的帧内预测模式存在重叠。
据此,在一个示例中,参考模式intra_mode_ref包括 {intra_mode_father,intra_mode_left,intra_mode_lefttop,intra_mode_top,MPM_mode_0,MPM_mode_1}或者其子集,在另一个示例中,参考模式intra_mode_ref包括{intra_mode_child_0,intra_mode_child_1,intra_mode_child_2,intra_mode_child_3,intra_mode_left,intra_mode_lefttop,intra_mode_top,MPM_mode_0,MPM_mode_1}或者其子集。
图3所示的本发明实的实施例适用于帧内编码,包括帧内类型的编码,以及帧间类型的编码中的帧内编码。上述第一类、第二类和第三类编码单元均采用帧内编码,并且其帧内预测模式以及当前视频帧的MPM只要在当前视频块的帧内预测模式确定之前已经确定了,均可以拿来作为参考模式,且在可用的任一类型下的帧内预测模式为多个的情况下,可以选择该多个帧内预测模式中的全部或部分加入参考模式中。例如,当采用帧内编码的4个子块编码单元的对应4个帧内预测模式可用,则可以选择该4个帧内预测模式中的任意0-4个帧内预测模式加入参考模式中。当然,如果父、子或相邻编码单元没有采用帧内编码,则意味着其帧内预测模式不可用。
第一选择器10233配置来基于参考获取器10232确定的参考模式与划分器10231划分出的子集的关系,从所有的(即全部可能的)帧内预测模式中选择出第一帧内预测模式,以便第二选择器10234基于所述第一帧内预测模式来确定当前视频块的第二帧内预测模式,作为当前视频块的帧内预测模式。
下面以HEVC为背景,举例说明第一选择器10233的功能。当第一种情况下,即确定的参考模式中仅包括非方向预测模式,即例如HEVC标准的Planar模式和/或DC模式,则确定第一帧内预测模式包括帧内预测模式中的所有非方向预测模式以及以下方向预测模式中的一个或多 个:该帧内预测模式中垂直(方向26)、水平(方向10)和对角方向(方向2、18和34)对应的方向预测模式。在一个示例中,确定第一帧内预测模式包括例如HEVC标准的Planar模式、DC模式、方向26、10、2、18和24对应的方向预测模式这7种。
替代地或可选地,当第二种情况下,即确定的参考模式中仅包括属于同一连续区间的方向对应的方向预测模式,则确定第一帧内预测模式包括帧内预测模式中的所有非方向预测模式以及所述同一连续区间中所有方向对应的方向预测模式。在一个示例中,第一帧内预测模式包括例如HEVC标准的Planar模式、DC模式、前述的第一子集中方向2-10对应的方向预测模式这11种。
替代地或可选地,当第三种情况下,即确定的参考模式仅包括属于相邻的两个连续区间的帧内预测模式的方向对应的方向预测模式,则确定第一帧内预测模式包括该帧内预测模式中的所有非方向预测模式以及该相邻的两个连续区间中所有方向对应的方向预测模式。在一个示例中,第一帧内预测模式包括例如HEVC标准的Planar模式、DC模式、前述的第一子集和第二子集中方向2-18对应的方向预测模式这19种。
替代地或可选地,当第四种情况下,即确定的参考模式不属于上述任一种情况,也即不具有方向一致性,则没有参考价值,需要将第一帧内预测模式确定为包括所有的例如HEVC标准的35种的帧内预测模式。
对第三种情况进行一般化,响应于确定所述参考模式包含于共具有不多于
Figure PCTCN2019126988-appb-000001
个方向的相邻的多个连续区间,确定所述第一帧内预测模式包括所述帧内预测模式的所有非方向预测模式以及所述相邻的多个连续区间中所述帧内预测模式的所有方向对应的方向预测模式,其中M为所述帧内预测模式中所有方向预测模式的个数。
对第四种情况一般化,响应于确定所述参考模式包含于共具有多于
Figure PCTCN2019126988-appb-000002
个方向的相邻的多个连续区间,确定所述第一帧内预测模式包括所有的所述帧内预测模式。
注意本文中
Figure PCTCN2019126988-appb-000003
是一种数学表达式,即对
Figure PCTCN2019126988-appb-000004
向上取整,例如,如果
Figure PCTCN2019126988-appb-000005
的值为16.5,则
Figure PCTCN2019126988-appb-000006
的值为17。
第二选择器10234配置来基于失真相关参数,基于第一帧内预测模式确定第二帧内预测模式,作为当前视频块的帧内预测模式,以对所述当前视频块进行帧内编码。通过这种方式,在帧内预测准确性有所保证的情况下,对失真相关参数的计算所针对的帧内预测模式的范围进行了缩减,提高了编码效率。在一个示例中,失真相关参数是率失真代价。关于率失真代价的计算方式已在结合图1的描述中给出,在此不再赘述。当然,该向上引用并不意味着对率失真代价的计算的执行主体进行任何的限制。
在一个实施例中,针对每一个第一帧内预测模式计算失真相关参数(例如率失真代价),将其中失真相关参数最小的帧内预测模式确定为第二帧内预测模式以进行当前视频块的帧内编码。
在另一个实施例中,当第一帧内预测模式包括很多(例如4个或更多)相邻的(例如HEVC中连续编号的)预测方向对应的方向预测模式,诸如在上述第二种、第三种和/或第四种情况下,则可以确定第三帧内预测模式,在一个示例中这可以包括:对第一帧内预测模式中的所有方向预测模式依预测方向的编号顺序进行采样,将所有非方向预测模式连同采样结果作为第三帧内预测模式,以便基于其确定第二帧内预测模式作 为当前视频块的帧内预测模式以对所述当前视频块进行帧内编码。在一个示例中,第一帧内预测模式包括例如HEVC标准的Planar模式、DC模式、方向2-18对应的方向预测模式这19种,此时以间隔n=2对相邻的(例如HEVC中连续编号的)方向2-18对应的方向预测模式进行采样,得到方向2、4、6......18对应的方向预测模式,连同Planar模式和DC模式共计11种作为第三帧内预测模式以便基于其进一步确定第二帧内预测模式作为当前视频块的帧内预测模式以对所述当前视频块进行帧内编码。
从第三帧内预测模式中确定第二帧内预测模式的一个方式是:计算所有第三帧内预测模式的失真相关参数,确定第三帧内预测模式中失真相关参数最小的帧内预测模式,当确定所述第三帧内预测模式中失真相关参数最小的帧内预测模式是非方向预测模式,确定非方向预测模式为第二帧内预测模式以进行所述当前视频块的帧内编码。当确定第三帧内预测模式中失真相关参数最小的帧内预测模式是方向预测模式,从该方向预测模式及与其对应方向编号相邻的两个方向对应的方向预测模式中选择失真相关参数最小的方向预测模式,并将其确定为第二帧内预测模式,作为当前视频块的帧内预测模式以进行所述当前视频块的帧内编码。在上一段的示例中,当确定方向4对应的方向预测模式具有全部11种第三帧内预测模式中最小的失真相关参数,则补充计算与其相邻的方向3和5对应的方向预测模式的失真相关参数,与方向4的进行比较,选出其中失真相关参数最小的方向预测模式确定为第二帧内预测模式,作为帧内编码的帧内预测模式。该方式可以在保证帧内预测准确性的情况下对失真相关参数的计算所针对的帧内预测模式的范围进行了进一步的缩减,进一步降低编码复杂度,从而进一步提高编码效率。
从第三帧内预测模式中确定第二帧内预测模式的另一个方式是:计 算所有第三帧内预测模式的失真相关参数,确定第三帧内预测模式中失真相关参数最小的帧内预测模式为第二帧内预测模式,作为帧内编码的帧内预测模式。类似地,该方式也进一步降低了编码复杂度,进一步提高了编码效率。
图4图示了HEVC标准中使用的帧内预测模式,箭头大体上表示预测方向,且数字表示方向编号。其中33个方向的编号和对应角度在图5中给出。虽然以HEVC为背景描述了上述实施例的技术,然而应理解,本发明实不限于上述实施例,而是可以类似地适用于其它适当的视频编码标准,例如H.264等。
根据本发明实的技术,当视频编码器102根据具有多种帧内方向编码模式的例如HEVC的标准对视频块进行编码时,视频编码器102可从包含比全部帧内预测模式数目(例如HEVC中是35)少的第一帧内预测模式中选择第二帧内预测模式,作为当前视频块的帧内预测模式,以对当前视频块进行帧内编码。这大大减少了帧内编码的复杂度,提高了编码效率。与此同时,虽然第一帧内预测模式数目减少了,但由于考虑到了方向一致性,帧内预测的准确性依然有所保证。
图6图示了根据本发明实施例的帧内编码方法的流程图。为了示例目的,可能关于图1-3描述图6的方法,但其它合适类型的视频编码和解码系统、视频编码器和帧内预测器也可实施所述方法。
根据本发明实施例的帧内编码方法开始于步骤601,在其中将帧内预测模式中的方向预测模式依其方向所在的N个连续区间的划分而划分为N个子集,其中N为大于1且小于所述方向预测模式个数的正整数。关于划分的方式的具体描述参见上文关于图3的描述中的相关描述,特别是参见对划分器10231的描述,在此不再赘述,当然,该划分方式的向上参见并不意味着在步骤601中划分的执行主体一定是图3的划分器 10231,而可以是任何合适的主体,本方法步骤对此不做限定。在步骤602,为当前的视频块获取帧内预测模式的参考模式。所述参考模式包括已经确定的帧内预测模式,其中所述已经确定的帧内预测模式与所述当前视频块相关联,或关联于与所述当前视频块相关联的视频块。关于参考模式的构成详见上文关于图3的描述中的相关描述,特别是参见对参考获取器10232的描述,在此不再赘述。当然,该划分方式的向上参见并不意味着在步骤602中获取参考模式的执行主体一定是图3的参考获取器10232,而可以是任何合适的主体,本方法步骤对此不做限定。上述步骤601和步骤602的执行顺序在本文中不做限定,可以以任意顺序先后或同时执行。
接下来需要基于获取的参考模式与划分出的N个子集的关系,从所有的(即全部可能的)帧内预测模式中确定一个或多个第一帧内预测模式(图6中示为60),以便基于所述第一帧内预测模式确定第二帧内预测模式,作为当前视频块的帧内预测模式(图6中示为61)。具体步骤将在下面以HEVC为背景进行描述,当然本领域技术人员理解该方法不限于该标准,而可以类似地适用于其他压缩编码标准,本发明对此不做限定。
当第一种情况下,即在步骤602中确定了参考模式中仅包括非方向预测模式,即例如HEVC标准的Planar模式和/或DC模式,则在步骤604中确定第一帧内预测模式包括例如HEVC标准的帧内预测模式中的所有非方向预测模式以及例如以下方向预测模式中的一个或多个:垂直(方向26)、水平(方向10)和对角方向(方向2、18和34)对应的方向预测模式。在一个示例中,确定第一帧内预测模式包括例如HEVC标准的Planar模式、DC模式、方向26、10、2、18和24对应的方向预测模式这7种。
当第二种情况下,即在步骤605中确定了参考模式中仅包括属于同一连续区间的方向对应的方向预测模式,则在步骤606中确定第一帧内预测模式包括帧内预测模式中的所有非方向预测模式以及所述同一连续区间中所有方向对应的方向预测模式。在一个示例中,第一帧内预测模式包括例如HEVC标准的Planar模式、DC模式、方向2-10对应的方向预测模式这11种。
当第三种情况下,即在步骤607中确定了参考模式仅包括属于相邻的两个连续区间的所述帧内预测模式的方向对应的方向预测模式,则在步骤608中确定第一帧内预测模式包括帧内预测模式中的所有非方向预测模式以及该相邻的两个连续区间中所有方向对应的方向预测模式。在一个示例中,第一帧内预测模式包括例如HEVC标准的Planar模式、DC模式、方向2-18对应的方向预测模式这19种。
当第四种情况下,即确定的参考模式不属于上述任一种情况,也即不具有方向一致性,则没有参考价值,则在步骤609中将第一帧内预测模式确定为包括所有的例如HEVC标准的35种的帧内预测模式。
对第三种情况进行一般化,响应于确定所述参考模式包含于共具有不多于
Figure PCTCN2019126988-appb-000007
个方向的相邻的多个连续区间,确定所述第一帧内预测模式包括所述帧内预测模式的所有非方向预测模式以及所述相邻的多个连续区间中所述帧内预测模式的所有方向对应的方向预测模式,其中M为所述帧内预测模式中所有方向预测模式的个数。
对第四种情况一般化,响应于确定所述参考模式包含于共具有多于
Figure PCTCN2019126988-appb-000008
个方向的相邻的多个连续区间,确定所述第一帧内预测模式包括所有的所述帧内预测模式。
在步骤612中,针对当前选择出的帧内预测模式,即第一帧内预测模式,计算失真相关参数。在一个示例中,失真相关参数是率失真代价。关于率失真代价的计算方式已在结合图1的描述中给出,在此不再赘述。当然,该向上引用并不意味着对率失真代价的计算的执行主体进行任何的限制。而后在步骤615中,确定其中失真相关参数最小的帧内预测模式,并在步骤616中将其确定为第二帧内预测模式以进行当前视频块的帧内编码。该方式可以在保证帧内预测准确性的情况下对失真相关参数的计算所针对的帧内预测模式的范围进行了进一步的缩减,进一步降低编码复杂度,从而进一步提高编码效率。
在另一个实施例中,当第一帧内预测模式包括很多(例如4个或更多)相邻的(例如HEVC中连续编号的)预测方向对应的方向预测模式,诸如在上述第二种、第三种和/或第四种情况下,则可以在步骤611中确定第三帧内预测模式,在一个实施例中该步骤可以包括:以对第一帧内预测模式中的所有方向预测模式进行采样,将帧内预测模式的所有非方向预测模式连同采样结果作为第三帧内预测模式,以便基于其确定第二帧内预测模式,作为当前视频块的帧内预测模式。在一个示例中,第一帧内预测模式包括例如HEVC标准的Planar模式、DC模式、方向2-18对应的方向预测模式这19种,此时以间隔n=2对相邻的(即HEVC中连续编号)的方向2-18对应的方向预测模式进行采样,得到方向2、4、6......18对应的方向预测模式,连同Planar模式和DC模式共计11种作为第三帧内预测模式以便基于其确定第二帧内预测模式作为当前视频块的帧内预测模式以对所述当前视频块进行帧内编码。
从第三帧内预测模式中确定第二帧内预测模式的一个方式是:在步骤612中,针对当前选择出的帧内预测模式,即第三帧内预测模式,计算失真相关参数。由此得到了第三帧内预测模式中失真相关参数最小的 帧内预测模式,当在步骤613中确定第三帧内预测模式中失真相关参数最小的帧内预测模式是非方向预测模式,则在步骤616中将该非方向预测模式确定为第二帧内预测模式以进行所述当前视频块的帧内编码。当在步骤613中确定第三帧内预测模式中失真相关参数最小的帧内预测模式是方向预测模式,则在步骤614补充计算与对应方向编号相邻的两个方向对应的方向预测模式的失真相关参数,并在步骤615中确定步骤613中和步骤614中得到的失真相关参数中最小的那个方向预测模式,并在步骤616中将其确定为第二帧内预测模式,作为当前视频块的帧内预测模式。在上一段的示例中,当在步骤613中确定方向4对应的方向预测模式具有全部11种第三帧内预测模式中最小的失真相关参数,则在步骤614中补充计算与其相邻的方向3和5对应的方向预测模式的失真相关参数,在步骤615中与方向4的进行比较,选出其中失真相关参数最小的方向预测模式并在步骤616中将其作为第二帧内预测模式,作为帧内编码的帧内预测模式。该方式可以在保证帧内预测准确性的情况下对失真相关参数的计算所针对的帧内预测模式的范围进行了进一步的缩减,进一步降低编码复杂度,从而进一步提高编码效率。
从第三帧内预测模式中确定第二帧内预测模式的另一个方式是:在步骤612中计算所有第三帧内预测模式的失真相关参数,而后在步骤615中确定第三帧内预测模式中失真相关参数最小的帧内预测模式,并在步骤616中将其作为第二帧内预测模式,以作为帧内编码的帧内预测模式。类似地,该方式也进一步降低了编码复杂度,进一步提高了编码效率。
图7图示了本发明实施例的方法与具体应用的关联。在图7中标号为1的视频块仅包括水面,水面纹理具有一致性,可以认为只需要进行一个方向的预测即可,对应本文中第二种情况,即确定的参考模式中仅包括属于同一连续区间的方向对应的方向预测模式。在图7中标号为2 的视频块包括水面和陆地,包括不同物体交界的地方,可以认为需要进行两个方向的预测,对应本文中第三种情况,即确定的参考模式中包括属于相邻两个连续区间的方向对应的方向预测模式。在图7中标号为3的视频块包括形状各异的树枝,没有具有参考价值的个别参考方向,对应本文中第四种情况,也即不具有方向一致性,需要将第一帧内预测模式确定为包括所有的例如35种的帧内预测模式。
本发明实施例,提供低复杂度、加快的视频压缩编码方法,而不降低压缩性能,能够在保证帧内预测器/编码器/视频编码和解码系统的压缩性能不下降情况下,减少帧内预测器/编码器/视频编码和解码系统的复杂度,从而加快编码速度,进而达到节省成本的目的。特别地,本发明实施例有助于直播场景,或者高分辨率下的编码。
需要说明,本公开中出现的“第一”、“第二”、“第三”等表述不代表指示重要性或步骤的先后,仅是用于区分。方法步骤的描述先后不代表他们的执行先后,所描述的方法步骤可以以可能的、合理的顺序执行。
参见图8,在本发明实的实施方式中,视频编码和解码系统100、视频编码器102和/或帧内预测器1023在其中统称装置800,它们均可以包括处理器804,其中包括硬件原件810。处理器804例如包括一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或多个处理器。如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性,例如参考图6所述的方法,可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或多个电路或逻辑元件中。本公开中描述各种元件(例如“器”)以强调经配置以执行所公开的技术的装 置的功能方面,但不一定需要通过不同硬件单元来实现。而是,如上所述,各种单元可在编解码器硬件单元中组合或由互操作硬件单元(包含如上所述的一个或多个处理器)的集合结合合适软件和/或固件来提供。
在一个或多个示例中,所描述的功能可以硬件、软件、固件或其任一组合来实施。如果以软件实施,那么功能可作为一个或多个指令或代码存储在计算机可读媒体上或经由计算机可读媒体806传输,且由基于硬件的处理器执行。
举例来说且并非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD_ROM或其它光盘等存储器、磁盘存储器或其它磁性存储器、闪存或可用来以指令或数据结构的形式存储所要程序代码且可由计算机读取的任何其它存储器812。
视频编码和解码系统100、视频编码器102和/或帧内预测器1023还包括用于传输数据的I/O接口、以及其他功能814。视频编码和解码系统100、视频编码器102和/或帧内预测器1023可以包括在不同的装置中,图中仅示出了计算机816、移动装置818和电视820,这些配置中的每一个包括可以具有一般不同的构造和能力的设备,并且因此可以根据不同设备类别中的一个或多个配置视频编码和解码系统100、视频编码器102和/或帧内预测器1023。此外本发明实的技术还可以通过使用分布式系统、诸如通过平台824在“云”822上全部或部分地实现。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (19)

  1. 一种用于确定当前视频块的帧内预测模式的方法,包括:
    将待编码的当前视频块所在的图像区域中,已确定预测模式的复数个第二视频块的复数个帧内预测模式确定为所述当前视频块的参考模式,所述图像区域位于所述当前视频块所属的视频帧或切片中、由所述当前视频块对应的编码单元的相邻编码单元和父编码单元所限定的区域之内;
    从预设的帧内预测模式中确定备选预测模式集合,所述备选预测模式集合包括复数个备选的预测模式,其中包括所述参考模式;
    在所述备选预测模式集合中,将对所述当前视频块进行帧内预测编码性能最佳的预测模式确定为所述当前视频块的帧内预测模式。
  2. 如权利要求1所述的方法,其中,从所述预设的帧内预测模式中确定所述备选预测模式集合包括:
    从所述预设的帧内预测模式对应的预测方向的集合中,确定所述参考模式的预测方向落入的一个或复数个方向区间,将所述一个或复数个方向区间对应的帧内预测模式加入所述备选预测模式集合。
  3. 如权利要求2所述的方法,其中,确定所述参考模式的预测方向落入的一个或复数个方向区间包括:
    在复数个预设方向区间中,将所述参考模式的预测方向落入的一个或复数个预设方向区间确定为所述一个或复数个方向区间。
  4. 如权利要求2所述的方法,其中,确定所述参考模式的预测方向落入的一个或复数个方向区间包括:
    将所述参考模式的预测方向和与所述预测方向相邻的预测方向组成的一个或复数个连续方向区间确定为所述一个或复数个方向区间;其 中,所述连续方向区间为,将预设的各预测方向按角度大小排列时,排位连续的复数个预测方向所组成的区间。
  5. 如权利要求3所述的方法,进一步包括:
    将复数个预设的预测方向划分为N个子集,每个子集由复数个相邻的预测方向组成,N为大于1且小于所述方向预测模式个数的正整数,其中,所述相邻的预测方向为将预设的各预测方向按角度大小排列时,排位连续的复数个预测方向;
    将所述N个子集作为所述复数个预设方向区间。
  6. 如权利要求5所述的方法,其中,所述N个子集以垂直方向、水平方向和对角方向为界来划分。
  7. 如权利要求1所述的方法,其中,所述复数个第二视频块至少包括以下之一:
    所述视频帧或切片中,与所述当前视频块对应的编码单元相邻的至少一个编码单元;
    所述当前视频块对应的编码单元的父编码单元;
    所述当前视频块对应的编码单元中的子编码单元;
    所述视频帧或切片中,与所述当前视频块对应的编码单元相邻的预测单元。
  8. 如权利要求1所述的方法,进一步包括:
    当所述参考模式不包括预设的非方向预测模式时,将所述非方向预测模式加入所述参考模式。
  9. 如权利要求1所述的方法,进一步包括:
    当所述参考模式不包括方向预测模式时,将从预设的预测方向中均匀选取的预设数目个预测方向对应的帧内预测模式加入所述参考模式。
  10. 如权利要求9所述的方法,其中,所述选取的预设数目个帧内 预测方向对应的帧内预测模式包括:
    垂直方向、水平方向和对角方向对应的方向预测模式。
  11. 如权利要求1、8、9中的任一权利要求所述的方法,其中,将对所述当前视频块进行帧内预测编码性能最佳的预测模式确定为所述当前视频块的帧内预测模式,包括:
    当所述备选预测模式集合中的预测模式的总数大于预设阈值时,从所述备选预测模式集合中选取不大于所述预设阈值数目个第一预测模式;
    确定所述第一预测模式中对所述当前视频块进行帧内预测编码性能最佳的第二预测模式;
    根据所述第二预测模式在所述备选预测模式集合中确定所述当前视频块的帧内预测模式。
  12. 如权利要求11所述的方法,其中,根据所述第二预测模式在所述备选预测模式集合中确定所述当前视频块的帧内预测模式,包括:
    当所述第二预测模式为非方向预测模式时,将所述第二预测模式确定为所述当前视频块的帧内预测模式。
  13. 如权利要求11所述的方法,其中,根据所述第二预测模式在所述备选预测模式集合中确定所述当前视频块的帧内预测模式,包括:
    当所述第二预测模式为方向预测模式时,在所述第二预测模式以及与所述第二预测模式的预测方向相邻的预测模式中,对所述当前视频块进行帧内预测编码性能最佳的预测模式确定为所述当前视频块的帧内预测模式。
  14. 如权利要求1所述的方法,所述性能包括以下中的至少一个:编码速率、失真。
  15. 一种用于确定当前视频块的帧内预测模式的装置,包括:
    参考获取器,用于将待编码的当前视频块所在的图像区域中,已确定预测模式的复数个第二视频块的复数个帧内预测模式确定为所述当前视频块的参考模式,所述图像区域位于所述当前视频块所属的视频帧或切片中、由所述当前视频块对应的编码单元的相邻编码单元和父编码单元所限定的区域之内;
    模式确定器,用于从预设的帧内预测模式中确定备选预测模式集合,所述备选预测模式集合包括复数个备选的预测模式,其中包括所述参考模式;在所述备选预测模式集合中,将对所述当前视频块进行帧内预测编码性能最佳的预测模式确定为所述当前视频块的帧内预测模式。
  16. 一种用于确定当前视频块的帧内预测模式的装置,包括:
    处理器;以及
    存储器,配置为在其上存储有计算机可执行指令,所述指令当在所述处理器中执行时使得实现如权利要求1-14中任一项所述的方法。
  17. 一种帧编码器,包括如权利要求15或16所述的装置。
  18. 一种帧编解码系统,包括如权利要求17所述的帧编码器。
  19. 一种计算机可读存储介质,存储有计算机可读指令,所述指令可以由一个或多个处理器中执行以实现如权利要求1-14中任一项所述的方法。
PCT/CN2019/126988 2018-12-29 2019-12-20 用于帧内编码的方法、装置、帧编码器、帧编码系统 WO2020135256A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/330,409 US11582444B2 (en) 2018-12-29 2021-05-26 Intra-frame coding method and apparatus, frame coder, and frame coding system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811638336.5 2018-12-29
CN201811638336.5A CN110213594A (zh) 2018-12-29 2018-12-29 用于帧内编码的方法、装置、帧编码器、帧编码系统以及计算机可读存储媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/330,409 Continuation US11582444B2 (en) 2018-12-29 2021-05-26 Intra-frame coding method and apparatus, frame coder, and frame coding system

Publications (1)

Publication Number Publication Date
WO2020135256A1 true WO2020135256A1 (zh) 2020-07-02

Family

ID=67784961

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/126988 WO2020135256A1 (zh) 2018-12-29 2019-12-20 用于帧内编码的方法、装置、帧编码器、帧编码系统

Country Status (3)

Country Link
US (1) US11582444B2 (zh)
CN (1) CN110213594A (zh)
WO (1) WO2020135256A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110213594A (zh) 2018-12-29 2019-09-06 腾讯科技(深圳)有限公司 用于帧内编码的方法、装置、帧编码器、帧编码系统以及计算机可读存储媒体
CN109889827B (zh) * 2019-04-11 2021-01-29 腾讯科技(深圳)有限公司 帧内预测编码方法、装置、电子设备及计算机存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102665078A (zh) * 2012-05-08 2012-09-12 北方工业大学 用于hevc的基于方向矢量的帧内预测模式决策
CN103220506A (zh) * 2012-01-19 2013-07-24 华为技术有限公司 一种编解码方法和设备
CN103299622A (zh) * 2011-01-07 2013-09-11 联发科技(新加坡)私人有限公司 改进型帧内亮度预测模式编码方法及装置
CN104168480A (zh) * 2014-09-09 2014-11-26 西安电子科技大学 基于hevc标准的帧内预测编码模式快速选择方法
CN104796701A (zh) * 2015-03-27 2015-07-22 北京君正集成电路股份有限公司 基于hevc的预测模式确定方法及装置
CN104883565A (zh) * 2014-12-31 2015-09-02 乐视网信息技术(北京)股份有限公司 一种高效视频编码的帧内预测模式决策方法及装置
CN104954788A (zh) * 2014-03-27 2015-09-30 浙江大华技术股份有限公司 Hevc帧内预测模式选择方法及装置
CN107454403A (zh) * 2016-05-31 2017-12-08 谷歌公司 块尺寸可调整的方向性帧内预测
CN108366256A (zh) * 2018-01-25 2018-08-03 西安电子科技大学 一种hevc帧内预测模式快速选择系统及方法
CN110213594A (zh) * 2018-12-29 2019-09-06 腾讯科技(深圳)有限公司 用于帧内编码的方法、装置、帧编码器、帧编码系统以及计算机可读存储媒体

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8902978B2 (en) * 2010-05-30 2014-12-02 Lg Electronics Inc. Enhanced intra prediction mode signaling
JP5798556B2 (ja) 2010-07-15 2015-10-21 シャープ株式会社 復号装置、符号化装置
KR20170058837A (ko) * 2015-11-19 2017-05-29 한국전자통신연구원 화면내 예측모드 부호화/복호화 방법 및 장치
CN105657420B (zh) * 2015-12-30 2018-03-20 邦彦技术股份有限公司 一种面向hevc的快速帧内预测模式判决方法和装置
CN116916003A (zh) * 2016-04-29 2023-10-20 世宗大学校产学协力团 视频信号编码/解码方法和设备
KR20180040319A (ko) 2016-10-12 2018-04-20 가온미디어 주식회사 영상 처리 방법, 그를 이용한 영상 복호화 및 부호화 방법
WO2018119740A1 (zh) * 2016-12-28 2018-07-05 华为技术有限公司 色度预测的方法及装置
CN110546957A (zh) * 2017-06-22 2019-12-06 华为技术有限公司 一种帧内预测的方法及装置
CN117354512A (zh) * 2017-07-28 2024-01-05 韩国电子通信研究院 图像编码方法和图像解码方法以及计算机可读记录介质
CN107623848B (zh) * 2017-09-04 2019-11-19 浙江大华技术股份有限公司 一种视频编码方法及装置
US10785479B2 (en) * 2018-03-30 2020-09-22 Hulu, LLC Intra prediction mode signaling for video coding
US11303929B2 (en) * 2018-04-02 2022-04-12 Lg Electronics Inc. Image coding method using lookup table for intra prediction mode and apparatus therefor
CN112806003B (zh) * 2018-09-06 2024-02-13 Lg 电子株式会社 使用mpm列表的基于帧内预测的图像编码方法及其装置
JP7005755B2 (ja) * 2018-10-05 2022-01-24 エルジー エレクトロニクス インコーポレイティド Mpmリストを使用するイントラ予測基盤画像コーディング方法及びその装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103299622A (zh) * 2011-01-07 2013-09-11 联发科技(新加坡)私人有限公司 改进型帧内亮度预测模式编码方法及装置
CN103220506A (zh) * 2012-01-19 2013-07-24 华为技术有限公司 一种编解码方法和设备
CN102665078A (zh) * 2012-05-08 2012-09-12 北方工业大学 用于hevc的基于方向矢量的帧内预测模式决策
CN104954788A (zh) * 2014-03-27 2015-09-30 浙江大华技术股份有限公司 Hevc帧内预测模式选择方法及装置
CN104168480A (zh) * 2014-09-09 2014-11-26 西安电子科技大学 基于hevc标准的帧内预测编码模式快速选择方法
CN104883565A (zh) * 2014-12-31 2015-09-02 乐视网信息技术(北京)股份有限公司 一种高效视频编码的帧内预测模式决策方法及装置
CN104796701A (zh) * 2015-03-27 2015-07-22 北京君正集成电路股份有限公司 基于hevc的预测模式确定方法及装置
CN107454403A (zh) * 2016-05-31 2017-12-08 谷歌公司 块尺寸可调整的方向性帧内预测
CN108366256A (zh) * 2018-01-25 2018-08-03 西安电子科技大学 一种hevc帧内预测模式快速选择系统及方法
CN110213594A (zh) * 2018-12-29 2019-09-06 腾讯科技(深圳)有限公司 用于帧内编码的方法、装置、帧编码器、帧编码系统以及计算机可读存储媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A. SAXENA, F. C. A. FERNANDES (SAMSUNG): "Jointly optimal intra prediction and adaptive primary transform", 3. JCT-VC MEETING; 94. MPEG MEETING; 7-10-2010 - 15-10-2010;GUANGZHOU; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IECJTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/, no. JCTVC-C108, 2 October 2010 (2010-10-02), XP030007815 *

Also Published As

Publication number Publication date
CN110213594A (zh) 2019-09-06
US20210281836A1 (en) 2021-09-09
US11582444B2 (en) 2023-02-14

Similar Documents

Publication Publication Date Title
CN108605128B (zh) 滤波视频数据的经解码块的方法和装置以及存储介质
KR101525370B1 (ko) 사이즈 및 인트라 모드에 기초한 또는 에지 검출에 기초한 인트라 블록들 코딩을 위한 적응적 주파수 변환들
KR101569259B1 (ko) 비디오 코딩을 위한 변환 계수들의 적응적 스캐닝
KR101752989B1 (ko) 인트라 예측을 위한 모드 결정 단순화
RU2556465C2 (ru) Статистическое кодирование коэффициентов, используя объединенную контекстную модель
RU2580066C2 (ru) Эффективное по памяти моделирование контекста
KR101632776B1 (ko) 비디오 코딩에 대한 구문 엘리먼트들의 공동 코딩
TW201742458A (zh) 二值化二次轉換指數
JP6151434B2 (ja) 絶対値変換差分和に基づくビデオ符号化のためのイントラレート制御
RU2580082C2 (ru) Сигнализация элементов синтаксиса для коэффициентов преобразования для поднаборов единицы кодирования на уровне листьев
CN110800300A (zh) 用于不可分开转换的存储器减少
US20110317757A1 (en) Intra prediction mode signaling for finer spatial prediction directions
WO2019062544A1 (zh) 视频图像的帧间预测方法、装置及编解码器
KR20130086375A (ko) 비디오 코딩에서의 병렬 콘텍스트 계산
JP5937205B2 (ja) ビデオコーディングのためのランモードベース係数コーディング
KR20140030326A (ko) 비디오 코딩을 위한 다수 구역 스캐닝 순서
CN111200735B (zh) 一种帧间预测的方法及装置
WO2020135256A1 (zh) 用于帧内编码的方法、装置、帧编码器、帧编码系统
KR101781300B1 (ko) 시간 상관도에 기반한 고속 영상 부호화 방법
CN118101967A (zh) 用于视频编解码的位置相关空间变化变换
CN110876057B (zh) 一种帧间预测的方法及装置
TW202304201A (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: 19902122

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19902122

Country of ref document: EP

Kind code of ref document: A1