WO2019146811A1 - Video decoder and controlling method thereof - Google Patents
Video decoder and controlling method thereof Download PDFInfo
- Publication number
- WO2019146811A1 WO2019146811A1 PCT/KR2018/001112 KR2018001112W WO2019146811A1 WO 2019146811 A1 WO2019146811 A1 WO 2019146811A1 KR 2018001112 W KR2018001112 W KR 2018001112W WO 2019146811 A1 WO2019146811 A1 WO 2019146811A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block
- signal
- size
- transform
- subblock
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
Definitions
- the present invention relates to a video decoder, and more particularly, to a video decoder and controlling method thereof.
- the present invention is suitable for a wide scope of applications, it is particularly suitable for reducing an operation quantity by selecting prescribed subblocks from a transform block only and then decoding the selected subblocks only.
- HEVC high efficiency video coding
- the present invention is directed to a video decoder and controlling method thereof that substantially obviate one or more of the problems due to limitations and disadvantages of the related art.
- An object of the present invention is to provide a video decoder and controlling method thereof, which can reduce an operation quantity by decoding a specific partial block only instead of a whole block in performing video decoding.
- Another object of the present invention is to provide a video decoder and controlling method thereof, which can reduce an operation quantity, if the number of coefficients within a subblock is equal to or greater than a preset reference value in performing video decoding, by decoding the corresponding subblock only.
- Further object of the present invention is to provide a video decoder and controlling method thereof, which can reduce an operation quantity, if a location value of a quantization coefficient in a current subblock is equal to or smaller than a half of a current transform block size, by performing dequantization on the current subblock.
- Another further object of the present invention is to provide a video decoder and controlling method thereof, which can reduce an operation quantity, if a current transform block size is equal to or greater than a first block size, by performing inverse transform based on a corresponding subblock to be decoded in a current block and then performing linear interpolation on the inverse-transformed corresponding subblock.
- a video decoder includes a reconstruction signal selecting unit selecting a signal to be reconstructed for a bitstream, an entropy decoding unit obtaining a quantization coefficient of at least one block unit by entropy-decoding the selected signal to be reconstructed, a dequantization unit obtaining a transform coefficient through dequantization performed on the obtained quantization coefficient of the at least one block unit, an inverse transform unit obtaining a residual signal through inverse transform using a specific transform base suitable for a block size of the obtained transform coefficient, an intra picture prediction unit obtaining a predicted signal by referring to reference samples for a current block to be decoded, a residual signal compensating unit scaling a block of the obtained residual signal based on a block size of the predicted signal, and an adding-up unit generating a reconstructed signal by adding the scaled residual signal and the predicted signal together.
- a method of decoding a video in a device includes selecting a signal to be reconstructed for a bitstream, obtaining a quantization coefficient of at least one block unit by entropy-decoding the selected signal to be reconstructed, if a preset condition is met, dequantizing specific partial blocks, and outputting a decoded video based on a result from dequantizing the partial block, wherein the preset condition is determined according to at least one selected from the group consisting of a chroma signal, a size of a transform block, and a location value of a coefficient.
- an operation quantity can be reduced and a video decoding execution speed can be improved, whereby user convenience is enhanced.
- Decoding used in the present specification may be performed in order reverse to that of an encoding process.
- an operation quantity can be reduced by decoding the corresponding subblock only and a video decoding execution speed can be improved, whereby user convenience can be enhanced.
- a location value of a quantization coefficient in a current subblock is equal to or smaller than a half of a current transform block size
- an operation quantity can be reduced by performing dequantization on the current subblock and a video decoding execution speed can be improved, whereby user convenience can be enhanced.
- an operation quantity can be reduced by performing inverse transform based on a corresponding subblock to be decoded in a current block and then performing linear interpolation on the inverse-transformed corresponding subblock and a video decoding execution speed can be improved, whereby user convenience can be enhanced.
- FIG. 1 is a schematic diagram showing an overall configuration of a device according to one embodiment of the present invention
- FIG. 2 is a diagram showing details of prescribed components shown in FIG. 1 according to one embodiment of the present invention.
- FIG. 3 is a flowchart for a method of controlling a video decoder according to one embodiment of the present invention
- FIG. 4 is a diagram showing an embodiment of a method for selecting a signal to be reconstructed in a reconstruction signal selecting unit 210 shown in FIG. 2;
- FIG. 5 is an emphasized diagram showing a partial block of a signal processed by an entropy decoding unit 220, a dequantization unit 230 and an inverse transform unit 240 according to one embodiment of the present invention
- FIG. 6 is a diagram to describe a transform base processed by an inverse transform unit 240 according to one embodiment of the present invention.
- FIG. 7 is a diagram to describe a scaling process of a residual signal compensating unit 260 according to one embodiment of the present invention.
- FIG. 8 is a flowchart for selectively performing dequantization according to one embodiment of the present invention.
- FIG. 9 is a diagram showing an example of 8 x 8 subblock according to one embodiment of the present invention.
- FIG. 10 is a diagram showing an example of 4 x 4 transform block in HEVC standard according to one embodiment of the present invention.
- FIG. 11 is a detailed flowchart of a process of an inverse transform unit 240 according to one embodiment of the present invention.
- Terminologies including ordinal numbers such as first, second and the like may be used to describe various components, by which the components may be non-limited. And, the terminologies are used for the purpose of discriminating one component from other components only.
- the former component may be connected to accesses the latter component in direct. Yet, it is understood that a different component may be present in-between. On the other hand, if one component is mentioned as ‘directly connected to’ or ‘directly accessing’ another component, it is understood that a different component may is not present in-between.
- Singular expression may include plural expressions unless having a clear meaning in the context.
- FIG. 1 is a schematic diagram showing an overall configuration of a device according to one embodiment of the present invention.
- a device 1000 shown in FIG. 1 may include any device capable of performing video decoding and refer to a video thumbnail extractor in pursuit of study if focused on functions in the present specification.
- the device 1000 may include a thumbnail selecting unit 100, a decoding unit 200, a downsampling unit 300 and a filtering unit 400.
- the thumbnail selecting unit 100 selects an image to be outputted as a thumbnail in a whole video from an input bitstream 10.
- the decoding unit 200 decodes the image selected by the thumbnail selecting unit 100.
- the downsampling unit 300 reduces a size of the decoded image into a size of a thumbnail to be used.
- the filtering unit 400 filters the reduced image for image quality enhancement and outputs the filtered image as a thumbnail 20.
- FIG. 2 is a diagram showing details of prescribed components shown in FIG. 1 according to one embodiment of the present invention. Particularly, although the functions performed by the decoding unit 200 shown in FIG. 1 are illustrated as the respective modules in FIG. 2, merging to design prescribed modules into a single module pertains to the scope of a right of the present invention.
- the decoding unit 200 includes a reconstruction signal selecting unit 210, an entropy decoding unit 220, a dequantization unit 230, an inverse transform unit 240, an intra picture prediction unit 250, a residual signal compensating unit 260, an adding-up unit 270 and the like.
- the reconstruction signal selecting unit 210 determines a signal to be reconstructed through a size ratio of an image size of an inputted bitstream 10 to a size of a thumbnail to be generated, a signal to be reconstructed, an amount of information of the signal to be reconstructed, and a block size of the signal to be reconstructed.
- the entropy decoding unit 220 outputs at least one of a syntax element and a quantized coefficient to be reconstructed by decoding a signal to be determined as the signal to be reconstructed in an inputted bitstream 10.
- the outputted information may be named decoding information.
- the entropy decoding unit 220 is designed to vary a block size of the quantization coefficient obtained according to a transform block size of the selected signal to be reconstructed.
- a transform block size of a signal to be reconstructed is 16 x 16 block
- a block size of the quantization coefficient to be obtained may become 8 x 8 block.
- a transform block size of a signal to be reconstructed is 32 x 32 block
- a block size of the quantization coefficient to be obtained may become 16 x 16 block.
- the dequantization unit 230 receives the partially quantized coefficient to be reconstructed from the entropy decoding unit 220, performs dequantization, and outputs a transform coefficient.
- the inverse transform unit 240 outputs the residual signal as a result from receiving the partially transform coefficient to be reconstructed and then performing inverse transform using a portion of a transform base only.
- the intra picture prediction unit 250 generates a predicted signal by performing spatial prediction based on a pixel value of a previously decoded neighbor block adjacent to a current block to be decoded, i.e., a reference sample.
- a reference sample means a previously encoded or decoded sample within a current frame.
- the residual signal compensating unit 260 scales the block size of the residual signal based on the block size of the predicted signal. Namely, the residual signal compensating unit 260 scales the block size of the residual signal so that the block size of the residual signal and the block size of the predicted signal are made to become equal to each other.
- the adding-up unit 270 generates a reconstructed signal by a block unit in a manner of adding the predicted signal and the scaled residual signal together.
- the reconstructed signal contains a reconstructed image.
- a block size of a predicted signal is 16 x 16 block and a block size of a residual signal is 8 x 8 block
- a block of the residual signal is scaled into 16 x 16 block based on the block size of the predicted signal and the adding-up unit 270 generates a reconstructed signal by 16 x 16 block unit in a manner of adding the predicted signal and the scaled residual signal together.
- FIG. 1 the elements described in Figures 1 and 2 are included in a video processor, a CPU (central processing unit), graphics processor or any controller.
- FIG. 3 is a flowchart for a method of controlling a video decoder according to one embodiment of the present invention.
- the reconstruction signal selecting unit 210 selects a signal to be reconstructed for a bitstream [S310].
- the entropy decoding unit 220 obtains a quantization coefficient of a block unit by entropy-decoding the selected signal to be reconstructed [S320].
- the dequantization unit 230 obtains a transform coefficient by performing dequantization on the obtained quantization coefficients of the block unit [S330].
- the inverse transform unit 240 obtains a residual signal through an inverse transform process using a specific transform base suitable for a block size of the obtained transform coefficient [S340].
- the intra picture prediction unit 250 obtains a predicted signal by referring to reference samples for a current block to be decoded [S350].
- the residual signal compensating unit 260 scales a block of the obtained residual signal to become equal to a block size of the predicted signal based on the block size of the predicted signal [S360].
- the adding-up unit 270 generates a reconstructed signal by block unit in a manner of adding the scaled residual signal and the predicted signal together [S370].
- the technical feature of one embodiment of the present invention includes a method of reducing or reinforcing a decoding step selectively within a minimum error range.
- prescribed subblocks among the 64 subblocks can be selectively decoded according to priority only.
- 16 subblocks close to a DC value among the 64 subblocks can be decoded only.
- Dequantization and inverse transform may be performed on prescribed subblocks in two ways as follows.
- the random value may include 0. Yet, the random value may be limited to other numerical values, which pertains to the scope of the right of the present invention.
- an output image decoded in the inverse transform process can become a reconstructed block in 32 x 32 size after experiencing inverse transform by 32 x 32 unit that is a size the preset transform block.
- 16 prescribed subblocks in 32 x 32 transform block can be dequantized and inverse-transformed.
- a decoded output image can become a reconstructed block in 16 x 16 size configured with the 16 prescribed subblocks. Therefore, since it is not necessary to maintain a memory for the whole 32 x 32 block, it is efficient in aspects of memory and calculation amount.
- FIG. 4 is a diagram showing an embodiment of a method for selecting a signal to be reconstructed in the reconstruction signal selecting unit 210 shown in FIG. 2.
- an image size 400 of an inputted bitstream is 1920 x 1080, and a size 410 of a thumbnail to be created is 480 x 270.
- a ratio of the two images is 16:1, and a relative ratio of a block size of a reconstructed signal to a block size of an input signal can be determined as 1:4 for the thumbnail creation.
- a relative ratio of a block size of a reconstructed signal to a block size of an input signal can be determined as 1:4, a 4 x 4 quantization coefficient block 430 including DC frequency information and low frequency information in an inputted 8 x 8 quantization coefficient block 420 is decoded and reconstructed. Furthermore, the DC frequency information and the low frequency information are assumed as containing important substance of image information required for a video decoding process for example.
- FIG. 5 is an emphasized diagram showing a partial block of a signal processed by the entropy decoding unit 220, the dequantization unit 230 and the inverse transform unit 240 according to one embodiment of the present invention.
- a prescribed block of a signal used by the entropy decoding unit 220, the dequantization unit 230 and the inverse transform unit 240 is a block 510 including DC frequency information and low frequency information in N x M size corresponding to a portion of a transform coefficient block 500.
- N and M are 4 and 4, respectively, if the transform coefficient block 500 is 8 x 8 block, a prescribed block of a signal may become 4 x 4 block.
- FIG. 6 is a diagram to describe a transform base processed by the inverse transform unit 240 according to one embodiment of the present invention.
- a transform base used by the inverse transform unit 240 is a transform base required for reconstructing a portion of a signal used by the entropy decoding unit 220, the dequantization unit 230 and the inverse transform unit 240, and is a block 410 including a DC frequency base and a low frequency base as a K x L transform base block 610, which corresponds to a partial block of a transform base block 600 required for reconstructing all transform coefficient signals.
- the transform base partial block 610 may become 4 x 4 block.
- FIG. 7 is a diagram to describe a scaling process of a residual signal compensating unit 260 according to one embodiment of the present invention.
- the residual signal compensating unit 260 outputs a scaled residual signal 720 by scaling the received residual signal 700 by linear interpolation.
- the residual signal compensating unit 260 scales the block size of the residual signal 700 to twice in width and twice in length by linear interpolation.
- the block size of the residual signal 720 is scaled to be equal to that of the predicted signal 710 and then outputted.
- FIG. 8 is a flowchart for selectively performing dequantization according to one embodiment of the present invention.
- a method of selectively performing dequantization may be performed based on various embodiments and conditions as follows.
- the method can selectively apply for a random block size.
- the method applies to 32 x 32 block size only or is applicable to sizes smaller or greater than the 32 x 32 block size.
- the method is applicable to at least one of a luminance signal and a chroma signal Cb and Cr. According to further embodiment of the present invention, the method is applicable to at least one of red (R), green (G) and blue (B) signals.
- a method newly proposed by the present invention may be selectively applicable deepening on depth of a coding block (CB).
- source code in ffmpeg (https://www.ffmpeg.org/), which is media framework open source, can be implemented by being modified as follows.
- a process for the entropy decoding unit 220 to select a block to be decoded from random block unit quantization coefficients can be implemented by modifying a ‘ff_hevc_hls_residual_coding’ function within “libavcodec/hevc_cabac.c” source as follows.
- the specific conditions correspond to a case 1) of a chroma signal, a case 2) that a transform block size is equal to or smaller than 8 x 8, and a case 3) that a location value of a current coefficient is equal to or smaller than a half of a current transform block size.
- a current subblock contains high priority information of a whole block and that a sufficiently identifiable image can be reconstructed by dequantizing the current subblock.
- a chroma signal means a signal having chroma information only without having information on brightness and also means a signal excluding luminance signal (Y) information from each color signal (R, G, B).
- a luminance signal means a signal that represents video image brightness as voltage waveform.
- a chroma signal Compared to a luminance signal, a chroma signal has a relatively small information size. Although the present invention applies to a chroma signal, an effect of reducing an operation quantity is insignificant. Hence, dequantization is applied to a chroma signal like the existing method.
- the second condition i.e., transform block size
- the second condition is described as follows. First of all, if a size of a transform block is equal to or smaller than 8 x 8, since high priority information is contained, dequantization is applied like the existing method. On the other hand, if a size of a transform block is greater than 8 x 8, prescribed subblocks are dequantized through the third condition (i.e., coefficient value) only.
- the third condition i.e., coefficient value
- the third condition shall be described in detail with reference to FIG. 9 later.
- the dequantization unit 230 performs dequantization on the current subblock [S820].
- the dequantization unit 230 substitutes 0 for a dequantization coefficient of the current subblock [S830].
- the routine goes to the step S810 of checking whether the specific condition is met.
- FIG. 9 is a diagram showing an example of 8 x 8 subblock according to one embodiment of the present invention.
- the present invention has the technical effect on a method of decoding a prescribed subblock only. And, a method of selecting a subblock to decode is described as follows.
- 8 x 8 block includes 4 4 x 4 subblocks.
- the 8 x 8 block 900 includes a first subblock 910, a second subblock 920, a third subblock 930 and a fourth subblock 940.
- the number of coefficients within each subblock is equal to or greater than or smaller than a preset reference value, it is able to decode the corresponding subblock.
- Subblocks failing to meet the corresponding condition may be substituted with a random value without being decoded.
- the random value may include 0.
- the number of coefficients of the first subblock 910 is 4, the number of coefficients of the second subblock 920 is 1, the number of coefficients of the third subblock 930 is 0, and the number of coefficients of the fourth subblock 940 is 2. If a preset reference value is 3, the first subblock 910 meets the corresponding condition only, whereas the second to fourth subblocks 920, 930 and 940 fail to meet the corresponding condition.
- the entropy decoding unit 220 decodes the first subblock 910 only and substitutes the rest of the subblocks, i.e., the second to fourth subblocks 920, 930 and 940 with 0 without decoding the second to fourth subblocks 920, 930 and 940.
- the number of coefficients within each subblock can be inferred.
- the current transform block 900 is 8 x 8 block that includes the first to fourth subblocks 910, 920, 930 and 940.
- a location value 950 of a current quantization coefficient is (2, 3) in x-y coordinates
- the location value 950 of the current quantization coefficient is included in 4 x 4 block corresponding to a half of 8 x 8 block corresponding to a current transform block size.
- ‘1’ means that a coefficient exists.
- a current subblock becomes the first subblock 910.
- the dequantization unit 230 selects the first subblock 910 only, performs dequantization on the first subblock 910, and substitutes the rest of the subblocks, i.e., the second to fourth subblocks 920, 930 and 940 with 0 instead of performing dequantization thereon.
- FIG. 10 is a diagram showing an example of 4 x 4 transform block in HEVC standard according to one embodiment of the present invention.
- a 4x4 transform block 1010 includes coefficients of 9, -1, -5, 3, and 1.
- the number of coefficients is 5.
- a significant_coeff_flag value 1020 is checked, since the number of 1 is 5, it can be observed that the number of coefficients is 5.
- ‘1’ indicates that a coefficient exists. If a coefficient exists, a significant_coeff_flag value becomes 1. If a coefficient does not exist, a significant_coeff_flag value becomes 0.
- the entropy decoding unit 220 can decode a corresponding subblock.
- Subblocks failing to meet the corresponding condition can be substituted with a random value instead of being decoded.
- the random value may include 0.
- 4 x 4 transform block 1010 includes coefficients of 9, -1, -5, 3, and 1. If a reference value is 2, regarding 9, -5, and 3 among the coefficients, an absolute value of a corresponding coefficient becomes equal to or greater than the reference value. And, the entropy decoding unit 220 can decode the 4 x 4 transform block 1010.
- coeff_abs_level_greater1_flag the number of coefficients greater than 1 in coeff_abs_level_greater1_flag is 3.
- a single coeff_abs_level_greater2_flag exists per subblock to the maximum.
- coeff_abs_level_greater2_flag means a diagonal scan in FIG. 10.
- it is able to know a location of a coefficient greater than 2 that appears first.
- coeff_abs_level_greater1_flag and coeff_abs_level_greater2_flag it is able to derive a basic value (3, 2, 2) of coefficients greater than 1.
- (3, 5, 9) can be derived by adding the basic value (3, 2, 2) of the coefficients greater than 1 derived through coeff_abs_level_greater1_flag and coeff_abs_level_greater2_flag and the coeff_abs_level_remaining value (0, 3, 7) together.
- the absolute value of coefficients in each subblock can be inferred as 9, 5, 3.
- a diagonal scan is performed from a right side to a left side or from a top right end to a bottom left end.
- xy coordinates of a coefficient value is found.
- the coordinates become (0, 0).
- the coordinates become (3, 0).
- the coordinates become (0, 1).
- the coordinates become (0, 2).
- the coordinates become (1, 2).
- last_sig_coeff_x becomes 3 and last_sig_coeff_y becomes 0, ‘-1’ corresponding to (3, 0) becomes a last coefficient in a transform block.
- a location of a last coefficient exists at a randomly determined section, e.g., locations of 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 in the diagonal scan order shown in FIG. 10, it is able to decode a corresponding subblock.
- FIG. 11 is a detailed flowchart of a process of the inverse transform unit 240 according to one embodiment of the present invention.
- a process for obtaining a residual signal in a manner of obtaining a transform coefficient by dequantizing a selected random block unit quantization coefficient in the dequantization unit 230 and performing inverse transform using a specific transform base suitable for a block size of the obtained transform block size in the inverse transform unit 240 can be implemented by modifying the ‘ff_hevc_hls_residual_coding’ function within the “libavcodec/hevc_cabac.c” source as follows.
- the ‘ff_hevcdsp_init_neon’ function within the “libavcodec/arm/hevcdsp_init_neon.c” source can be implemented by being modified as follows.
- the “libavcodec/hevcdsp.c” source can be implemented by being modified as follows.
- the “libavcodec/hevcdsp_template.c” source can be implemented by being modified as follows.
- the source code control logic is described as follows.
- the proposed method is selectively applicable depending on a size of a transform block.
- inverse transform can be performed by block units of 4 x 4, 8 x 8, 16 x 16, and 32 x 32.
- the proposed method is applicable to a block on which inverse transform of a block unit of 16 x 16 or 32 x 32 among 4 x 4, 8 x 8, 16 x 16, and 32 x 32 is performed only. In case of a block unit of 4 x 4 or 8 x 8, all blocks can be decoded.
- the reconstruction signal selecting unit 210 checks whether a transform block size is 4 x 4 [S1110].
- the inverse transform unit 240 executes 4 x 4 inverse transform [S1112].
- the adding-up unit 270 reconstructs 4 x 4 block [S1114].
- the reconstruction signal selecting unit 210 checks whether a transform block size is 8 x 8 [S1120].
- the inverse transform unit 240 executes 8 x 8 inverse transform [S1122].
- the adding-up unit 270 reconstructs 8 x 8 block [S1124].
- the reconstruction signal selecting unit 210 checks whether a transform block size is 16 x 16 [S1130].
- the reconstructing signal selecting unit 210 selects 8 x 8 partial block only according to a priority in the 16 x 16 transform block.
- the inverse transform unit 240 performs 8 x 8 inverse transform on the partial block [S1132]. As the priority is described in detail with reference to FIG. 8, its details are omitted.
- the residual signal compensating unit 260 performs linear interpolation, i.e., scaling on the 8 x 8 block [S1134].
- the residual signal compensating unit 260 reconstructs the 8 x 8 block into 16 x 16 block [S1136].
- the reconstruction signal selecting unit 210 checks whether a transform block size is 32 x 32 [S1140].
- the reconstruction signal selecting unit 210 selects 16 x 16 partial block only according to a priority in the 32 x 32 transform block.
- the inverse transform unit 240 performs 16 x 16 inverse transform on the partial block [S1142].
- the residual signal compensating unit 260 performs linear interpolation, i.e., scaling on the 16 x 16 block [S1144].
- the residual signal compensating unit 260 reconstructs the 16 x 16 block into 32 x 32 block [S1146].
- 32 x 32 transform block is divided into 4 subblocks of 16 x 16 unit.
- a random one of the 4 subblocks can be selectively decoded according to a priority.
- a single subblock close to a DC value among the 4 subblocks can be decoded only.
- a prescribed subblock in the 32 x 32 transform block is decoded only, it means that the prescribed subblock is dequantized only and that the rest of subblocks are substituted with a random value instead of performing inverse quantization.
- the random value may include 0.
- an output image decoded in the inverse transform process may become a reconstructed block in 32 x 32 size corresponding to a value resulting from performing inverse transform by 32 x 32 unit.
- a prescribed subblock in the 32 x 32 transform block is decoded only, it means that the prescribed subblock is dequantized and inverse-transformed.
- a size of a decoded output image may become a size of the prescribed subblock.
- a decoded output image may include a reconstructed block in 16 x 16 size configured with 4 prescribed subblocks.
- a system need not maintain a memory for the whole 32 x 32 block, it is efficient in aspects of memory and operation quantity.
- an inverse transform process for a prescribed subblock may need to be redesigned.
- a transform block size is 16 x 16 or 32 x 32
- a prescribed block is selected.
- inverse transform of a block unit can be performed on the selected prescribed block only.
- the present invention has an industrial applicability, because the present invention can be applied to any digital device (ex : smart TV, mobile device and so on) including a video decoder.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
The present invention relates to a video decoder and controlling method thereof. Particularly, the present invention is characterized in dividing a block into subblocks of a prescribed unit, selecting prescribed subblocks according to a priority, and decoding the selected prescribed subblocks.
Description
The present invention relates to a video decoder, and more particularly, to a video decoder and controlling method thereof. Although the present invention is suitable for a wide scope of applications, it is particularly suitable for reducing an operation quantity by selecting prescribed subblocks from a transform block only and then decoding the selected subblocks only.
Recently, owing to the appearance of various smart devices, the market’s demands for high-resolution video and high-definition video are rapidly increasing. Complexity of decoding for high-resolution video and high-definition video is considerably higher than that of decoding for low-resolution video and low-definition video. Although many studies have been made to reduce complexity, they failed to propose an innovative solution so far.
According to a related art, when a thumbnail image is extracted from a video bit stream, a method of extracting a DC value only is used.
As a method for efficiently coding a UHD video content efficiently, HEVC (high efficiency video coding) video codec is popularly used.
However, if resolution is very high like UHD image, errors generated from extracting DC values are accumulated gradually. Thus, the following problems are caused. First of all, an image is distorted at an end portion of the image so as not to be distinguished by a user. Secondly, decoding cannot be performed normally.
Accordingly, the present invention is directed to a video decoder and controlling method thereof that substantially obviate one or more of the problems due to limitations and disadvantages of the related art.
An object of the present invention is to provide a video decoder and controlling method thereof, which can reduce an operation quantity by decoding a specific partial block only instead of a whole block in performing video decoding.
Another object of the present invention is to provide a video decoder and controlling method thereof, which can reduce an operation quantity, if the number of coefficients within a subblock is equal to or greater than a preset reference value in performing video decoding, by decoding the corresponding subblock only.
Further object of the present invention is to provide a video decoder and controlling method thereof, which can reduce an operation quantity, if a location value of a quantization coefficient in a current subblock is equal to or smaller than a half of a current transform block size, by performing dequantization on the current subblock.
Another further object of the present invention is to provide a video decoder and controlling method thereof, which can reduce an operation quantity, if a current transform block size is equal to or greater than a first block size, by performing inverse transform based on a corresponding subblock to be decoded in a current block and then performing linear interpolation on the inverse-transformed corresponding subblock.
Technical tasks obtainable from the present invention are non-limited by the above-mentioned technical tasks. And, other unmentioned technical tasks can be clearly understood from the following description by those having ordinary skill in the technical field to which the present invention pertains.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention will be realized and attained by the structure particularly pointed out in the written description and claims thereof as well as the appended drawings.
To achieve these and other advantages and in accordance with the purpose of the present invention, as embodied and broadly described, a video decoder according to one embodiment of the present invention includes a reconstruction signal selecting unit selecting a signal to be reconstructed for a bitstream, an entropy decoding unit obtaining a quantization coefficient of at least one block unit by entropy-decoding the selected signal to be reconstructed, a dequantization unit obtaining a transform coefficient through dequantization performed on the obtained quantization coefficient of the at least one block unit, an inverse transform unit obtaining a residual signal through inverse transform using a specific transform base suitable for a block size of the obtained transform coefficient, an intra picture prediction unit obtaining a predicted signal by referring to reference samples for a current block to be decoded, a residual signal compensating unit scaling a block of the obtained residual signal based on a block size of the predicted signal, and an adding-up unit generating a reconstructed signal by adding the scaled residual signal and the predicted signal together.
To further achieve these and other advantages and in accordance with the purpose of the present invention, as embodied and broadly described, a method of decoding a video in a device according to another embodiment of the present invention includes selecting a signal to be reconstructed for a bitstream, obtaining a quantization coefficient of at least one block unit by entropy-decoding the selected signal to be reconstructed, if a preset condition is met, dequantizing specific partial blocks, and outputting a decoded video based on a result from dequantizing the partial block, wherein the preset condition is determined according to at least one selected from the group consisting of a chroma signal, a size of a transform block, and a location value of a coefficient.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed.
According to one embodiment of the present invention, by decoding specific partial blocks only instead of a whole block in performing video decoding, an operation quantity can be reduced and a video decoding execution speed can be improved, whereby user convenience is enhanced. Decoding used in the present specification may be performed in order reverse to that of an encoding process.
According to another embodiment of the present invention, if the number of coefficients within a subblock is equal to or greater than a preset reference value in performing video decoding, an operation quantity can be reduced by decoding the corresponding subblock only and a video decoding execution speed can be improved, whereby user convenience can be enhanced.
According to further embodiment of the present invention, if a location value of a quantization coefficient in a current subblock is equal to or smaller than a half of a current transform block size, an operation quantity can be reduced by performing dequantization on the current subblock and a video decoding execution speed can be improved, whereby user convenience can be enhanced.
According to another further embodiment of the present invention, if a current transform block size is equal to or greater than a first block size, an operation quantity can be reduced by performing inverse transform based on a corresponding subblock to be decoded in a current block and then performing linear interpolation on the inverse-transformed corresponding subblock and a video decoding execution speed can be improved, whereby user convenience can be enhanced.
Effects obtainable from the present invention may be non-limited by the above mentioned effect. And, other unmentioned effects can be clearly understood from the following description by those having ordinary skill in the technical field to which the present invention pertains.
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the principles of the invention.
In the drawings:
FIG. 1 is a schematic diagram showing an overall configuration of a device according to one embodiment of the present invention;
FIG. 2 is a diagram showing details of prescribed components shown in FIG. 1 according to one embodiment of the present invention;
FIG. 3 is a flowchart for a method of controlling a video decoder according to one embodiment of the present invention;
FIG. 4 is a diagram showing an embodiment of a method for selecting a signal to be reconstructed in a reconstruction signal selecting unit 210 shown in FIG. 2;
FIG. 5 is an emphasized diagram showing a partial block of a signal processed by an entropy decoding unit 220, a dequantization unit 230 and an inverse transform unit 240 according to one embodiment of the present invention;
FIG. 6 is a diagram to describe a transform base processed by an inverse transform unit 240 according to one embodiment of the present invention;
FIG. 7 is a diagram to describe a scaling process of a residual signal compensating unit 260 according to one embodiment of the present invention;
FIG. 8 is a flowchart for selectively performing dequantization according to one embodiment of the present invention;
FIG. 9 is a diagram showing an example of 8 x 8 subblock according to one embodiment of the present invention;
FIG. 10 is a diagram showing an example of 4 x 4 transform block in HEVC standard according to one embodiment of the present invention; and
FIG. 11 is a detailed flowchart of a process of an inverse transform unit 240 according to one embodiment of the present invention.
Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings, to facilitate those having ordinary skill in the art to implement the invention. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. Terminologies ‘module’ and ‘unit’ for components used in the following description are interchangeably usable in consideration of the facilitation for the specification writing but do not have distinctive meanings or roles.
In describing embodiments disclosed in the present specification, if the details of the related art are determined as obscuring the gist of the embodiments disclosed in the present specification, the corresponding detailed description shall be omitted.
The accompanying drawings are included to provide a further understanding of the invention, are incorporated in and constitute a part of this specification, and illustrate embodiments of the invention and together with the description serve to explain the principles of the invention. And, the accompanying drawings should be understood as including various modifications and variations of the invention that come within the scope of the appended claims and their equivalents.
Terminologies including ordinal numbers such as first, second and the like may be used to describe various components, by which the components may be non-limited. And, the terminologies are used for the purpose of discriminating one component from other components only.
If one component is mentioned as ‘connected to’ or ‘accessing’ another component, the former component may be connected to accesses the latter component in direct. Yet, it is understood that a different component may be present in-between. On the other hand, if one component is mentioned as ‘directly connected to’ or ‘directly accessing’ another component, it is understood that a different component may is not present in-between.
Singular expression may include plural expressions unless having a clear meaning in the context.
In the present application, such a terminology as ‘include’, ‘have’ and the like intends to designate that a feature, a number, a step, an operation, a component, a part or a combination thereof disclosed in the specification exists and should be understood as not excluding possibility of existence or addition of at least one or more features, numbers, steps, operations, components, parts or combinations thereof.
FIG. 1 is a schematic diagram showing an overall configuration of a device according to one embodiment of the present invention.
A device 1000 shown in FIG. 1 may include any device capable of performing video decoding and refer to a video thumbnail extractor in pursuit of study if focused on functions in the present specification.
Referring to FIG. 1, the device 1000 may include a thumbnail selecting unit 100, a decoding unit 200, a downsampling unit 300 and a filtering unit 400.
The thumbnail selecting unit 100 selects an image to be outputted as a thumbnail in a whole video from an input bitstream 10.
The decoding unit 200 decodes the image selected by the thumbnail selecting unit 100.
The downsampling unit 300 reduces a size of the decoded image into a size of a thumbnail to be used.
And, the filtering unit 400 filters the reduced image for image quality enhancement and outputs the filtered image as a thumbnail 20.
FIG. 2 is a diagram showing details of prescribed components shown in FIG. 1 according to one embodiment of the present invention. Particularly, although the functions performed by the decoding unit 200 shown in FIG. 1 are illustrated as the respective modules in FIG. 2, merging to design prescribed modules into a single module pertains to the scope of a right of the present invention.
Referring to FIG. 2, the decoding unit 200 includes a reconstruction signal selecting unit 210, an entropy decoding unit 220, a dequantization unit 230, an inverse transform unit 240, an intra picture prediction unit 250, a residual signal compensating unit 260, an adding-up unit 270 and the like.
The reconstruction signal selecting unit 210 determines a signal to be reconstructed through a size ratio of an image size of an inputted bitstream 10 to a size of a thumbnail to be generated, a signal to be reconstructed, an amount of information of the signal to be reconstructed, and a block size of the signal to be reconstructed.
The entropy decoding unit 220 outputs at least one of a syntax element and a quantized coefficient to be reconstructed by decoding a signal to be determined as the signal to be reconstructed in an inputted bitstream 10. The outputted information may be named decoding information.
The entropy decoding unit 220 is designed to vary a block size of the quantization coefficient obtained according to a transform block size of the selected signal to be reconstructed.
For example, if a transform block size of a signal to be reconstructed is 16 x 16 block, a block size of the quantization coefficient to be obtained may become 8 x 8 block. Moreover, if a transform block size of a signal to be reconstructed is 32 x 32 block, a block size of the quantization coefficient to be obtained may become 16 x 16 block. Of course, the scope of the right of the present invention is not determined by the above numerical values only. And, changing the numerical values in part to meet the necessity of those skilled in the art pertains to the scope of the right of the present invention.
The dequantization unit 230 receives the partially quantized coefficient to be reconstructed from the entropy decoding unit 220, performs dequantization, and outputs a transform coefficient.
The inverse transform unit 240 outputs the residual signal as a result from receiving the partially transform coefficient to be reconstructed and then performing inverse transform using a portion of a transform base only.
The intra picture prediction unit 250 generates a predicted signal by performing spatial prediction based on a pixel value of a previously decoded neighbor block adjacent to a current block to be decoded, i.e., a reference sample. Here, the reference sample means a previously encoded or decoded sample within a current frame. Furthermore, those skilled in the art, to which the present embodiment pertains, can understand that an image, a frame, a picture and the like has the same or equivalent meaning in the present specification.
Since there is a difference between a block size of a residual signal and a block size of a predicted signal, the residual signal compensating unit 260 scales the block size of the residual signal based on the block size of the predicted signal. Namely, the residual signal compensating unit 260 scales the block size of the residual signal so that the block size of the residual signal and the block size of the predicted signal are made to become equal to each other.
The adding-up unit 270 generates a reconstructed signal by a block unit in a manner of adding the predicted signal and the scaled residual signal together. The reconstructed signal contains a reconstructed image.
For example, if a block size of a predicted signal is 16 x 16 block and a block size of a residual signal is 8 x 8 block, a block of the residual signal is scaled into 16 x 16 block based on the block size of the predicted signal and the adding-up unit 270 generates a reconstructed signal by 16 x 16 block unit in a manner of adding the predicted signal and the scaled residual signal together.
Furthermore, the elements described in Figures 1 and 2 are included in a video processor, a CPU (central processing unit), graphics processor or any controller.
FIG. 3 is a flowchart for a method of controlling a video decoder according to one embodiment of the present invention.
Referring to FIG. 3, first of all, the reconstruction signal selecting unit 210 selects a signal to be reconstructed for a bitstream [S310].
The entropy decoding unit 220 obtains a quantization coefficient of a block unit by entropy-decoding the selected signal to be reconstructed [S320].
Subsequently, the dequantization unit 230 obtains a transform coefficient by performing dequantization on the obtained quantization coefficients of the block unit [S330].
The inverse transform unit 240 obtains a residual signal through an inverse transform process using a specific transform base suitable for a block size of the obtained transform coefficient [S340].
The intra picture prediction unit 250 obtains a predicted signal by referring to reference samples for a current block to be decoded [S350].
The residual signal compensating unit 260 scales a block of the obtained residual signal to become equal to a block size of the predicted signal based on the block size of the predicted signal [S360].
And, the adding-up unit 270 generates a reconstructed signal by block unit in a manner of adding the scaled residual signal and the predicted signal together [S370].
In summary, the technical feature of one embodiment of the present invention includes a method of reducing or reinforcing a decoding step selectively within a minimum error range.
For one example, after dividing 32 x 32 transform block into 64 subblocks of 4 x 4 unit, prescribed subblocks among the 64 subblocks can be selectively decoded according to priority only. For another example, 16 subblocks close to a DC value among the 64 subblocks can be decoded only.
Dequantization and inverse transform may be performed on prescribed subblocks in two ways as follows.
Firstly, if prescribed subblocks in 32 x 32 transform block are decoded, it means that the prescribed subblocks are dequantized only and that a random value is substituted without performing dequantization on the rest of subblocks. Here, the random value may include 0. Yet, the random value may be limited to other numerical values, which pertains to the scope of the right of the present invention.
Therefore, although the prescribed subblocks are dequantized only, an output image decoded in the inverse transform process can become a reconstructed block in 32 x 32 size after experiencing inverse transform by 32 x 32 unit that is a size the preset transform block.
Secondly, if prescribed subblocks in 32 x 32 transform block are decoded, it means that the prescribed subblocks are dequantized and inverse-transformed only. Therefore, since the prescribed subblocks are dequantized and inverse-transformed only, a size of a decoded output image can become a size of the prescribed blocks.
For example, 16 prescribed subblocks in 32 x 32 transform block can be dequantized and inverse-transformed. In this case, a decoded output image can become a reconstructed block in 16 x 16 size configured with the 16 prescribed subblocks. Therefore, since it is not necessary to maintain a memory for the whole 32 x 32 block, it is efficient in aspects of memory and calculation amount.
FIG. 4 is a diagram showing an embodiment of a method for selecting a signal to be reconstructed in the reconstruction signal selecting unit 210 shown in FIG. 2.
Referring to FIG. 4, an image size 400 of an inputted bitstream is 1920 x 1080, and a size 410 of a thumbnail to be created is 480 x 270.
A ratio of the two images is 16:1, and a relative ratio of a block size of a reconstructed signal to a block size of an input signal can be determined as 1:4 for the thumbnail creation.
For another embodiment, if a relative ratio of a block size of a reconstructed signal to a block size of an input signal can be determined as 1:4, a 4 x 4 quantization coefficient block 430 including DC frequency information and low frequency information in an inputted 8 x 8 quantization coefficient block 420 is decoded and reconstructed. Furthermore, the DC frequency information and the low frequency information are assumed as containing important substance of image information required for a video decoding process for example.
FIG. 5 is an emphasized diagram showing a partial block of a signal processed by the entropy decoding unit 220, the dequantization unit 230 and the inverse transform unit 240 according to one embodiment of the present invention.
Referring to FIG. 5, a prescribed block of a signal used by the entropy decoding unit 220, the dequantization unit 230 and the inverse transform unit 240 is a block 510 including DC frequency information and low frequency information in N x M size corresponding to a portion of a transform coefficient block 500.
For example, when N and M are 4 and 4, respectively, if the transform coefficient block 500 is 8 x 8 block, a prescribed block of a signal may become 4 x 4 block.
FIG. 6 is a diagram to describe a transform base processed by the inverse transform unit 240 according to one embodiment of the present invention.
Referring to FIG. 6, a transform base used by the inverse transform unit 240 is a transform base required for reconstructing a portion of a signal used by the entropy decoding unit 220, the dequantization unit 230 and the inverse transform unit 240, and is a block 410 including a DC frequency base and a low frequency base as a K x L transform base block 610, which corresponds to a partial block of a transform base block 600 required for reconstructing all transform coefficient signals.
For example, when K and L are 4 and 4, respectively, if the transform base block 600 is 8 x 8 block, the transform base partial block 610 may become 4 x 4 block.
FIG. 7 is a diagram to describe a scaling process of a residual signal compensating unit 260 according to one embodiment of the present invention.
Referring to FIG. 7, in order to make a block size of a residual signal 700 become equal to a block size of a predicted signal 710, the residual signal compensating unit 260 outputs a scaled residual signal 720 by scaling the received residual signal 700 by linear interpolation.
For example, if a block size of the received residual signal 700 is 4 x 4 and a block size of the predicted signal 710 is 8 x 8, the residual signal compensating unit 260 scales the block size of the residual signal 700 to twice in width and twice in length by linear interpolation. The block size of the residual signal 720 is scaled to be equal to that of the predicted signal 710 and then outputted.
FIG. 8 is a flowchart for selectively performing dequantization according to one embodiment of the present invention.
Referring to FIG. 8, a method of selectively performing dequantization may be performed based on various embodiments and conditions as follows.
First of all, according to one embodiment of the present invention, the method can selectively apply for a random block size. In particular, for example, the method applies to 32 x 32 block size only or is applicable to sizes smaller or greater than the 32 x 32 block size.
Secondly, according to another embodiment of the present invention, the method is applicable to at least one of a luminance signal and a chroma signal Cb and Cr. According to further embodiment of the present invention, the method is applicable to at least one of red (R), green (G) and blue (B) signals.
Finally, a method newly proposed by the present invention may be selectively applicable deepening on depth of a coding block (CB).
According to one embodiment of the present invention, source code in ffmpeg (https://www.ffmpeg.org/), which is media framework open source, can be implemented by being modified as follows. First of all, a process for the entropy decoding unit 220 to select a block to be decoded from random block unit quantization coefficients can be implemented by modifying a ‘ff_hevc_hls_residual_coding’ function within “libavcodec/hevc_cabac.c” source as follows.
The above source code control logic is described as follows.
Referring to FIG. 8, it is checked whether specific conditions are met [S810]. If any one of the specific conditions is met, it is determined as Yes. Here, the specific conditions correspond to a case 1) of a chroma signal, a case 2) that a transform block size is equal to or smaller than 8 x 8, and a case 3) that a location value of a current coefficient is equal to or smaller than a half of a current transform block size.
If specific conditions are met, it means that a current subblock contains high priority information of a whole block and that a sufficiently identifiable image can be reconstructed by dequantizing the current subblock.
The first condition (i.e., chroma signal) is described as follows. First of all, a chroma signal means a signal having chroma information only without having information on brightness and also means a signal excluding luminance signal (Y) information from each color signal (R, G, B). Here, a luminance signal means a signal that represents video image brightness as voltage waveform.
Compared to a luminance signal, a chroma signal has a relatively small information size. Although the present invention applies to a chroma signal, an effect of reducing an operation quantity is insignificant. Hence, dequantization is applied to a chroma signal like the existing method.
The second condition (i.e., transform block size) is described as follows. First of all, if a size of a transform block is equal to or smaller than 8 x 8, since high priority information is contained, dequantization is applied like the existing method. On the other hand, if a size of a transform block is greater than 8 x 8, prescribed subblocks are dequantized through the third condition (i.e., coefficient value) only.
The third condition (i.e., coefficient value) shall be described in detail with reference to FIG. 9 later.
If one of the above 3 conditions is met, the dequantization unit 230 performs dequantization on the current subblock [S820].
If the specific condition is not met, the dequantization unit 230 substitutes 0 for a dequantization coefficient of the current subblock [S830].
It is checked whether the current subblock is a last subblock [S840].
If the current subblock is the last subblock, a dequantization coefficient for each subblock is obtained [S850].
If the current subblock is not the last subblock, the routine goes to the step S810 of checking whether the specific condition is met.
FIG. 9 is a diagram showing an example of 8 x 8 subblock according to one embodiment of the present invention.
The present invention has the technical effect on a method of decoding a prescribed subblock only. And, a method of selecting a subblock to decode is described as follows.
First of all, 8 x 8 block includes 4 4 x 4 subblocks. The 8 x 8 block 900 includes a first subblock 910, a second subblock 920, a third subblock 930 and a fourth subblock 940.
If the number of coefficients within each subblock is equal to or greater than or smaller than a preset reference value, it is able to decode the corresponding subblock. Subblocks failing to meet the corresponding condition may be substituted with a random value without being decoded. For example, the random value may include 0.
For example, referring to FIG. 9, the number of coefficients of the first subblock 910 is 4, the number of coefficients of the second subblock 920 is 1, the number of coefficients of the third subblock 930 is 0, and the number of coefficients of the fourth subblock 940 is 2. If a preset reference value is 3, the first subblock 910 meets the corresponding condition only, whereas the second to fourth subblocks 920, 930 and 940 fail to meet the corresponding condition.
Therefore, the entropy decoding unit 220 decodes the first subblock 910 only and substitutes the rest of the subblocks, i.e., the second to fourth subblocks 920, 930 and 940 with 0 without decoding the second to fourth subblocks 920, 930 and 940.
Moreover, through a significant_coeff_flag value in HEVC standard, the number of coefficients within each subblock can be inferred.
In the following, described in detail is the third specific condition shown in FIG. 8, i.e., a case that a location value of a current coefficient is equal to or smaller than a half of a current transform block size.
Referring to FIG. 9, the current transform block 900 is 8 x 8 block that includes the first to fourth subblocks 910, 920, 930 and 940.
For example, if a location value 950 of a current quantization coefficient is (2, 3) in x-y coordinates, the location value 950 of the current quantization coefficient is included in 4 x 4 block corresponding to a half of 8 x 8 block corresponding to a current transform block size. Here, ‘1’ means that a coefficient exists.
Namely, a current subblock becomes the first subblock 910. Hence, the dequantization unit 230 selects the first subblock 910 only, performs dequantization on the first subblock 910, and substitutes the rest of the subblocks, i.e., the second to fourth subblocks 920, 930 and 940 with 0 instead of performing dequantization thereon.
FIG. 10 is a diagram showing an example of 4 x 4 transform block in HEVC standard according to one embodiment of the present invention.
Referring to FIG. 10, a 4x4 transform block 1010 includes coefficients of 9, -1, -5, 3, and 1. Here, the number of coefficients is 5.
If a significant_coeff_flag value 1020 is checked, since the number of 1 is 5, it can be observed that the number of coefficients is 5. Here, ‘1’ indicates that a coefficient exists. If a coefficient exists, a significant_coeff_flag value becomes 1. If a coefficient does not exist, a significant_coeff_flag value becomes 0.
If at least one absolute value among values of coefficients in each subblock is equal to or greater than or equal to or smaller than a preset reference value, the entropy decoding unit 220 can decode a corresponding subblock.
Subblocks failing to meet the corresponding condition can be substituted with a random value instead of being decoded. Here, the random value may include 0.
For example, referring to FIG. 10, 4 x 4 transform block 1010 includes coefficients of 9, -1, -5, 3, and 1. If a reference value is 2, regarding 9, -5, and 3 among the coefficients, an absolute value of a corresponding coefficient becomes equal to or greater than the reference value. And, the entropy decoding unit 220 can decode the 4 x 4 transform block 1010.
Moreover, in HEVC standard, through values of coeff_abs_level_greater1_flag, oeff_abs_level_greater2_flag, and coeff_abs_level_remaining, it is able to infer the value of coefficients in each subblock.
For example, it can be observed that the number of coefficients greater than 1 in coeff_abs_level_greater1_flag is 3. Moreover, a single coeff_abs_level_greater2_flag exists per subblock to the maximum. In scan order, coeff_abs_level_greater2_flag means a diagonal scan in FIG. 10. And, it is able to know a location of a coefficient greater than 2 that appears first. Hence, through coeff_abs_level_greater1_flag and coeff_abs_level_greater2_flag, it is able to derive a basic value (3, 2, 2) of coefficients greater than 1. And, it can be observed that (3, 5, 9) can be derived by adding the basic value (3, 2, 2) of the coefficients greater than 1 derived through coeff_abs_level_greater1_flag and coeff_abs_level_greater2_flag and the coeff_abs_level_remaining value (0, 3, 7) together.
Hence, if a reference value is 2, the absolute value of coefficients in each subblock can be inferred as 9, 5, 3.
Subsequently, through a case that a location of a last coefficient within a transform block including subblocks exists in a section randomly determined according to a scan order shown in FIG. 10, it is able to determine whether each subblock is decoded.
According to one embodiment of the present invention, through values of “last_sig_coeff_x” and “last_sig_coeff_y” in HEVC standard, it is able to check a location of a last coefficient within a transform block.
Referring to FIG. 10, for example, if a diagonal scan order is checked, a diagonal scan is performed from a right side to a left side or from a top right end to a bottom left end.
From 4x4 transform block 1010, xy coordinates of a coefficient value is found. In case of ‘9’, the coordinates become (0, 0). In case of ‘-1’, the coordinates become (3, 0). In case of ‘-5’, the coordinates become (0, 1). In case of ‘3’, the coordinates become (0, 2). In case of ‘1’, the coordinates become (1, 2).
When the diagonal scan is performed, the firstly scanned coordinates become (3, 0) corresponding to -1. And, the last scanned coordinates become (0, 0) corresponding to 9.
Hence, through values of last_sig_coeff_x and last_sig_coeff_y, when a location of a last coefficient value within a transform block is checked, the firstly scanned coordinates become a reference.
Hence, since last_sig_coeff_x becomes 3 and last_sig_coeff_y becomes 0, ‘-1’ corresponding to (3, 0) becomes a last coefficient in a transform block. And, if a location of a last coefficient exists at a randomly determined section, e.g., locations of 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 in the diagonal scan order shown in FIG. 10, it is able to decode a corresponding subblock.
FIG. 11 is a detailed flowchart of a process of the inverse transform unit 240 according to one embodiment of the present invention.
Referring to FIG. 11, a process for obtaining a residual signal in a manner of obtaining a transform coefficient by dequantizing a selected random block unit quantization coefficient in the dequantization unit 230 and performing inverse transform using a specific transform base suitable for a block size of the obtained transform block size in the inverse transform unit 240 can be implemented by modifying the ‘ff_hevc_hls_residual_coding’ function within the “libavcodec/hevc_cabac.c” source as follows.
The ‘ff_hevcdsp_init_neon’ function within the “libavcodec/arm/hevcdsp_init_neon.c” source can be implemented by being modified as follows.
The “libavcodec/hevcdsp.c” source can be implemented by being modified as follows.
The “libavcodec/hevcdsp_template.c” source can be implemented by being modified as follows.
The source code control logic is described as follows.
The proposed method is selectively applicable depending on a size of a transform block. For example, in HEVC, inverse transform can be performed by block units of 4 x 4, 8 x 8, 16 x 16, and 32 x 32. The proposed method is applicable to a block on which inverse transform of a block unit of 16 x 16 or 32 x 32 among 4 x 4, 8 x 8, 16 x 16, and 32 x 32 is performed only. In case of a block unit of 4 x 4 or 8 x 8, all blocks can be decoded.
Referring to FIG. 11, the reconstruction signal selecting unit 210 checks whether a transform block size is 4 x 4 [S1110].
If the transform block size is 4 x 4, the inverse transform unit 240 executes 4 x 4 inverse transform [S1112]. The adding-up unit 270 reconstructs 4 x 4 block [S1114].
If the transform block size is not 4 x 4, the reconstruction signal selecting unit 210 checks whether a transform block size is 8 x 8 [S1120].
If the transform block size is 8 x 8, the inverse transform unit 240 executes 8 x 8 inverse transform [S1122]. The adding-up unit 270 reconstructs 8 x 8 block [S1124].
Namely, if a size of a transform block is 4 x 4 or 8 x 8 block unit, all blocks are decoded.
If the transform block size is not 8 x 8, the reconstruction signal selecting unit 210 checks whether a transform block size is 16 x 16 [S1130].
If the transform block size is 16 x 16, the reconstructing signal selecting unit 210 selects 8 x 8 partial block only according to a priority in the 16 x 16 transform block. The inverse transform unit 240 performs 8 x 8 inverse transform on the partial block [S1132]. As the priority is described in detail with reference to FIG. 8, its details are omitted.
The residual signal compensating unit 260 performs linear interpolation, i.e., scaling on the 8 x 8 block [S1134].
The residual signal compensating unit 260 reconstructs the 8 x 8 block into 16 x 16 block [S1136].
If the transform block size is not 16 x 16, the reconstruction signal selecting unit 210 checks whether a transform block size is 32 x 32 [S1140].
If the transform block size is 32 x 32, the reconstruction signal selecting unit 210 selects 16 x 16 partial block only according to a priority in the 32 x 32 transform block. The inverse transform unit 240 performs 16 x 16 inverse transform on the partial block [S1142].
The residual signal compensating unit 260 performs linear interpolation, i.e., scaling on the 16 x 16 block [S1144].
The residual signal compensating unit 260 reconstructs the 16 x 16 block into 32 x 32 block [S1146].
For example, in HEVC, 32 x 32 transform block is divided into 4 subblocks of 16 x 16 unit. A random one of the 4 subblocks can be selectively decoded according to a priority.
For another example, a single subblock close to a DC value among the 4 subblocks can be decoded only.
In this case, if a prescribed subblock in the 32 x 32 transform block is decoded only, it means that the prescribed subblock is dequantized only and that the rest of subblocks are substituted with a random value instead of performing inverse quantization. Here, the random value may include 0.
Hence, although a prescribed subblock is dequantized only, an output image decoded in the inverse transform process may become a reconstructed block in 32 x 32 size corresponding to a value resulting from performing inverse transform by 32 x 32 unit.
In this case, if a prescribed subblock in the 32 x 32 transform block is decoded only, it means that the prescribed subblock is dequantized and inverse-transformed. Hence, since the prescribed subblock is dequantized and inverse-transformed only, a size of a decoded output image may become a size of the prescribed subblock.
For example, only 4 subblocks in 32 x 32 transform block can be dequantized and inverse-transformed. In this case, a decoded output image may include a reconstructed block in 16 x 16 size configured with 4 prescribed subblocks. Hence, since a system need not maintain a memory for the whole 32 x 32 block, it is efficient in aspects of memory and operation quantity. Yet, an inverse transform process for a prescribed subblock may need to be redesigned.
According to the present invention, only if a transform block size is 16 x 16 or 32 x 32, a prescribed block is selected. And, inverse transform of a block unit can be performed on the selected prescribed block only.
While the present invention has been described and illustrated herein with reference to the preferred embodiments thereof, it will be apparent to those skilled in the art that various modifications and variations can be made therein without departing from the spirit and scope of the invention. Thus, it is intended that the present invention covers the modifications and variations of this invention that come within the scope of the appended claims and their equivalents.
The various modes for the present invention are fully explained in the previous Best Mode.
The present invention has an industrial applicability, because the present invention can be applied to any digital device (ex : smart TV, mobile device and so on) including a video decoder.
Claims (11)
- A video decoder, comprising;a reconstruction signal selector configured to select a signal to be reconstructed for a bitstream;an entropy decoder configured to determine a quantization coefficient of at least one block unit by entropy-decoding the selected signal to be reconstructed;a dequantizer configured to determine a transform coefficient through dequantization performed on the obtained quantization coefficient of the at least one block unit;an inverse transformer configured to determine a residual signal through inverse transform using a specific transform base suitable for a block size of the obtained transform coefficient;an intra picture predictor configured to determine a predicted signal by referring to reference samples for a current block to be decoded;a residual signal compensator configured to scale a block of the obtained residual signal based on a block size of the predicted signal; andan adder configured to generate a reconstructed signal by adding the scaled residual signal and the predicted signal together.
- The video decoder of claim 1, wherein the reconstruction signal selector is further configured to select the signal to be reconstructed based on a ratio of an image size of the bitstream to a size of a thumbnail to be created.
- The video decoder of claim 1, wherein when a number of coefficients within a subblock is equal to or greater than a preset reference value, the entropy decoder is configured to decode the corresponding subblock.
- The video decoder of claim 1, wherein when at least one coefficient value within a subblock is equal to or greater than a preset reference value, the entropy decoder is configured to decode the corresponding subblock.
- The video decoder of claim 1, wherein the entropy decoder is further configured to vary a block size of the obtained quantization coefficient according to a transform block size of the selected signal to be reconstructed.
- The video decoder of claim 1, wherein when a location value of a current quantization coefficient is equal to or smaller than a half of a current transform block size, the dequantizer is configured to perform dequantization on a current subblock.
- The video decoder of claim 6, wherein when a current subblock is a last subblock, the dequantizer is configured to determine a dequantization coefficient for each subblock.
- The video decoder of claim 1, wherein:when a size of a current transform block is smaller than a first block size, the inverse transformer is configured to perform the inverse transform based on the size of the current transform block; andwhen the size of the current transform block is greater than or equal to the first block size, the inverse transformer is configured to perform the inverse transform of a second block size less than or equal to the size of the current transform block and performs linear interpolation based on the second block size and the size of the current transform block.
- The video decoder of claim 1, wherein the residual signal compensator is configured to scale the block of the obtained residual signal to be equal to the block size of the predicted signal.
- The video decoder of claim 1, wherein the adder is further configured to generate the reconstructed signal by a block unit in a manner of adding the predicted signal and the scaled residual signal.
- A method of decoding a video in a device, comprising;selecting a signal to be reconstructed for a bitstream;determining a quantization coefficient of at least one block unit by entropy-decoding the selected signal to be reconstructed;dequantizing a partial block when a preset condition is met; andoutputting a decoded video based on a result from dequantizing the partial block,wherein the preset condition relates to at least one of a chroma signal, a size of a transform block, or a location value of a coefficient.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2018/001112 WO2019146811A1 (en) | 2018-01-25 | 2018-01-25 | Video decoder and controlling method thereof |
EP18901916.9A EP3744093A4 (en) | 2018-01-25 | 2018-01-25 | VIDEO DECODER AND RELATED CONTROL METHOD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2018/001112 WO2019146811A1 (en) | 2018-01-25 | 2018-01-25 | Video decoder and controlling method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019146811A1 true WO2019146811A1 (en) | 2019-08-01 |
Family
ID=67396160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2018/001112 WO2019146811A1 (en) | 2018-01-25 | 2018-01-25 | Video decoder and controlling method thereof |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP3744093A4 (en) |
WO (1) | WO2019146811A1 (en) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005093661A2 (en) | 2004-03-09 | 2005-10-06 | Thomson Research Funding Corporation | Reduced resolution update mode for advanced video coding |
WO2005099276A2 (en) | 2004-04-02 | 2005-10-20 | Thomson Licensing | Complexity scalable video encoding |
US20110134999A1 (en) * | 2009-12-09 | 2011-06-09 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
US20130016774A1 (en) * | 2010-07-31 | 2013-01-17 | Soo-Mi Oh | Intra prediction decoding apparatus |
WO2013152401A1 (en) | 2012-04-13 | 2013-10-17 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a subset of transform units of encoded video data |
US20140140410A1 (en) * | 2012-06-29 | 2014-05-22 | Wenhao Zhang | Systems, methods, and computer program products for scalable video coding based on coefficient sampling |
US20140152767A1 (en) * | 2012-12-04 | 2014-06-05 | Samsung Electronics Co., Ltd. | Method and apparatus for processing video data |
US20160142716A1 (en) * | 2014-11-17 | 2016-05-19 | Vixs Systems, Inc. | Video coder with simplified rate distortion optimization and methods for use therewith |
US20170006299A1 (en) | 2015-07-01 | 2017-01-05 | Mediatek Inc. | Residual up-sampling apparatus for performing transform block up-sampling and residual down-sampling apparatus for performing transform block down-sampling |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5262854A (en) * | 1992-02-21 | 1993-11-16 | Rca Thomson Licensing Corporation | Lower resolution HDTV receivers |
JP2002164790A (en) * | 2000-11-28 | 2002-06-07 | Canon Inc | Device and method for decoding compressed stream and storage medium |
US8781238B2 (en) * | 2011-09-08 | 2014-07-15 | Dolby Laboratories Licensing Corporation | Efficient decoding and post-processing of high dynamic range images |
-
2018
- 2018-01-25 WO PCT/KR2018/001112 patent/WO2019146811A1/en unknown
- 2018-01-25 EP EP18901916.9A patent/EP3744093A4/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005093661A2 (en) | 2004-03-09 | 2005-10-06 | Thomson Research Funding Corporation | Reduced resolution update mode for advanced video coding |
WO2005099276A2 (en) | 2004-04-02 | 2005-10-20 | Thomson Licensing | Complexity scalable video encoding |
US20110134999A1 (en) * | 2009-12-09 | 2011-06-09 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding video, and method and apparatus for decoding video |
US20130016774A1 (en) * | 2010-07-31 | 2013-01-17 | Soo-Mi Oh | Intra prediction decoding apparatus |
WO2013152401A1 (en) | 2012-04-13 | 2013-10-17 | Canon Kabushiki Kaisha | Method, apparatus and system for encoding and decoding a subset of transform units of encoded video data |
US20140140410A1 (en) * | 2012-06-29 | 2014-05-22 | Wenhao Zhang | Systems, methods, and computer program products for scalable video coding based on coefficient sampling |
US20140152767A1 (en) * | 2012-12-04 | 2014-06-05 | Samsung Electronics Co., Ltd. | Method and apparatus for processing video data |
US20160142716A1 (en) * | 2014-11-17 | 2016-05-19 | Vixs Systems, Inc. | Video coder with simplified rate distortion optimization and methods for use therewith |
US20170006299A1 (en) | 2015-07-01 | 2017-01-05 | Mediatek Inc. | Residual up-sampling apparatus for performing transform block up-sampling and residual down-sampling apparatus for performing transform block down-sampling |
Non-Patent Citations (1)
Title |
---|
See also references of EP3744093A4 |
Also Published As
Publication number | Publication date |
---|---|
EP3744093A4 (en) | 2022-01-26 |
EP3744093A1 (en) | 2020-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011034372A2 (en) | Methods and apparatuses for encoding and decoding mode information | |
WO2017057953A1 (en) | Method and device for coding residual signal in video coding system | |
WO2017052118A1 (en) | Intra prediction method and device in image coding system | |
WO2012148138A2 (en) | Intra-prediction method, and encoder and decoder using same | |
WO2014098456A2 (en) | Method for encoding/decoding image, and device using same | |
WO2012023763A2 (en) | Inter prediction encoding method | |
WO2011087323A2 (en) | Method and apparatus for encoding and decoding image by using large transform unit | |
WO2015012600A1 (en) | Method and apparatus for encoding/decoding image | |
WO2019240448A1 (en) | Video signal processing method and device on basis of reference between components | |
WO2018212569A1 (en) | Image processing method on basis of intra prediction mode and apparatus therefor | |
WO2016137166A1 (en) | Method for processing image on basis of intra prediction mode and device therefor | |
WO2013162249A1 (en) | Video-encoding method, video-decoding method, and apparatus implementing same | |
WO2021015537A1 (en) | Image encoding/decoding method and device for signaling chroma component prediction information according to whether palette mode is applicable, and method for transmitting bitstream | |
WO2019143103A1 (en) | Method and device for video coding using various transform techniques | |
WO2011126274A2 (en) | Methods and apparatuses for encoding and decoding image based on segments | |
WO2021118265A1 (en) | Video or image coding employing adaptive loop filter | |
WO2021118297A1 (en) | Apparatus and method for coding image on basis of signaling of information for filtering | |
WO2021118261A1 (en) | Method and device for signaling image information | |
WO2021118296A1 (en) | Image coding device and method for controlling loop filtering | |
WO2020185027A1 (en) | Method and device for efficiently applying transform skip mode to data block | |
WO2019146811A1 (en) | Video decoder and controlling method thereof | |
WO2014007514A1 (en) | Method for decoding image and apparatus using same | |
WO2017065490A1 (en) | Method for encoding/decoding image, and apparatus therefor | |
WO2017078450A1 (en) | Image decoding method and apparatus in image coding system | |
WO2018222020A1 (en) | Method and apparatus for processing video signal through target area modification |
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: 18901916 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2018901916 Country of ref document: EP Effective date: 20200825 |