US20160323604A1 - Video encoding device, video decoding device, video encoding method, video decoding method, and program - Google Patents
Video encoding device, video decoding device, video encoding method, video decoding method, and program Download PDFInfo
- Publication number
- US20160323604A1 US20160323604A1 US15/210,414 US201615210414A US2016323604A1 US 20160323604 A1 US20160323604 A1 US 20160323604A1 US 201615210414 A US201615210414 A US 201615210414A US 2016323604 A1 US2016323604 A1 US 2016323604A1
- Authority
- US
- United States
- Prior art keywords
- pcm
- coding tree
- image
- tree unit
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
-
- 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/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
-
- 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/124—Quantisation
-
- 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/134—Methods 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/146—Data rate or code amount at the encoder output
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Definitions
- the present invention relates to a video encoding device and a video decoding device for automatically splitting a coding tree unit.
- a video coding system based on a system described in Non Patent Literature (NPL) 1 divides each frame of digitized video into coding tree units (CTUs), and each CTU is encoded in raster scan order.
- Each CTU is split into coding units (CUs) in a quadtree structure and encoded.
- Each CU is split into prediction units (PUs) and predicted. Further, a prediction error of each CU is split into transform units (TUs) in a quadtree structure and transformed.
- the CU is a coding unit of intra prediction/inter-frame prediction. Intra prediction and inter-frame prediction will be described below.
- Intra prediction is prediction from a reconstructed image of a frame to be encoded.
- a reconstructed pixel around a block to be encoded is extrapolated to generate an intra prediction signal.
- a CU using intra prediction is referred to as an intra CU.
- the value of pred_mode_flag syntax of the intra CU is 1 in NPL 1.
- an intra CU that does not use intra prediction is referred to as an I_PCM (Intra Pulse Code Modulation) CU.
- I_PCM Intra Pulse Code Modulation
- an image of the CU is transmitted intact instead of transmitting a prediction error of the CU.
- pcm_flag syntax of the I_PCM CU is 1 in NPL 1.
- Inter-frame prediction is prediction based on an image of a reconstructed frame (reference picture) different in display time from a frame to be encoded.
- inter-frame prediction is also referred to as inter prediction.
- FIG. 10 is an explanatory diagram depicting an example of inter-frame prediction.
- an inter prediction signal is generated based on a reconstructed image block of a reference picture (using pixel interpolation if necessary).
- a CU using inter prediction is referred to as an inter CU. Note that the value of pred_mode_flag syntax of the inter CU is 0 in NPL 1.
- An inter CU using inter-frame prediction not to transmit motion vector difference information and a CU prediction error is referred to as a Skip CU.
- NPL 1 the value of skip_flag syntax of the Skip CU is 1.
- a frame encoded with only intra CUs mentioned above is called an I frame (or an I picture).
- a frame encoded including inter CUs as well as intra CUs is called a P frame (or a P picture).
- a frame encoded including inter CUs for which not only one reference picture but two reference pictures are simultaneously used for inter prediction of a block is called a B frame (or a B picture).
- Intra prediction and inter-frame prediction are as described above.
- FIG. 11 the configuration and operation of a typical video encoding device that receives each CU of each frame of digitized video as an input image and outputs a bitstream will be described.
- the video coding device depicted in FIG. 11 includes a transformer/quantizer 102 , an entropy encoder 103 , an inverse transformer/inverse quantizer 104 , a buffer 105 , a predictor 106 , a PCM encoder 107 , a PCM decoder 108 , a multiplexed data selector 109 , a multiplexer 110 , a switch 121 , and a switch 122 .
- FIG. 12 is an explanatory diagram depicting an example of CTU splitting of a frame t and an example of CU splitting of CTU8 in the frame t when the spatial resolution of the frame is CIF (Common Intermediate Format) and the CTU size is 64.
- CIF Common Intermediate Format
- the video encoding device depicted in FIG. 11 encodes LCUs in raster scan order, and encodes CUs constituting each LCU in z-scan order.
- the size of a CU is any one of 64 ⁇ 64, 32 ⁇ 32, 16 ⁇ 16, and 8 ⁇ 8.
- the smallest CU is referred to as a smallest coding unit (SCU).
- the transformer/quantizer 102 frequency-transforms an image (prediction error image) from which a prediction signal is subtracted to obtain a frequency transform coefficient of a prediction error image.
- the transformer/quantizer 102 further quantizes the frequency transform coefficient with a predetermined quantization step size Qs.
- the quantized frequency transform coefficient is referred to as a coefficient quantization value or a quantization level value.
- the entropy encoder 103 entropy-encodes a prediction parameter and the quantization level value.
- the prediction parameter is information related to information on the prediction type (intra prediction or inter prediction) of a CU mentioned above and PUs (Prediction Units) included in the CU.
- the inverse transformer/inverse quantizer 104 inverse-quantizes the quantization level value with the quantization step size Qs.
- the inverse transformer/inverse quantizer 104 further inverse-frequency-transforms the frequency transform coefficient obtained by the inverse quantization.
- the prediction signal is added to a reconstructed prediction error image obtained by the inverse transform, and the reconstructed prediction error image is supplied to the switch 122 .
- the multiplexed data selector 109 monitors the amount of input data of the entropy encoder 103 corresponding to a CU to be encoded.
- the multiplexed data selector 109 selects output data of the entropy encoder 103 , and supplies the output data to the multiplexer 110 through the switch 121 .
- the multiplexed data selector 109 further selects output data of the inverse transformer/inverse quantizer 104 , and supplies the output data to the buffer 105 through the switch 122 .
- the multiplexed data selector 109 selects output data of the PCM encoder 107 , and supplies the output data to the multiplexer 110 through the switch 121 .
- the multiplexed data selector 109 further selects output data obtained by the PCM decoder 108 that PCM-decodes the output data of the PCM encoder 107 , and supplies the output data to the buffer 105 through the switch 122 .
- the buffer 105 stores a reconstructed image supplied through the switch 122 .
- a reconstructed image for one frame is referred to as a reconstructed picture.
- the multiplexer 110 multiplexes output data of the entropy encoder 103 and the PCM encoder 107 , and outputs the multiplexed output data.
- the multiplexer 110 in the video encoding device Based on the above-mentioned operation, the multiplexer 110 in the video encoding device generates a bitstream.
- NPL 1 Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, and Thomas Wiegand, “High Efficiency Video Coding (HEVC) text specification draft 9,” JCTVC-K1003_v10, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Shanghai, CN, 10-19, October 2012.
- HEVC High Efficiency Video Coding
- the block header of a CU is entropy-encoded.
- two processes are required, i.e., a process of outputting non-output symbols of an encoding engine of the entropy encoder 103 (after pcm_flag is entropy-encoded), and a process of resetting the encoding engine.
- the I_PCM mode header is generally made up of CU split information (cu_split_flag syntax), the CU prediction type (skip_flag syntax, pred_mode_flag syntax, and pred_mode syntax, part_mode syntax), and a PCM flag (pcm_flag syntax) for a PU.
- CUs (CU(0), CU(1), CU(2), and CU(3)) of 0, 1, 2, and 3 successive in encoding order in the CTU are I_PCM CUs.
- a corresponding CTU bitstream is made up by interleaving a video bitstream of the I_PCM mode header of each CU, alignment data (pcm_alignment_zero_bit), and PCM data (pcm_sample_luma/pcm_sample_chroma).
- alignment data pcm_alignment_zero_bit
- PCM data pcm_sample_luma/pcm_sample_chroma
- pcm_alignment_zero_bit pcm_sample_luma
- pcm_sample_chroma are syntaxes to be non-entropy encoded.
- a video encoding device includes: transform means for transforming an image block; entropy encoding means for entropy-encoding transformed data on the image block transformed by the transform means; PCM encoding means for PCM-encoding the image block; multiplexed data selection means for selecting, for each image block, either output data of the entropy encoding means or output data of the PCM encoding means; and multiplexing means for multiplexing ctu_pcm_flag syntax indicating whether all image blocks belonging to a coding tree unit as a set of image blocks selected by the multiplexed data selection means are PCM blocks, at the top of the coding tree unit, wherein when all image blocks belonging to the coding tree unit are PCM blocks, the multiplexing means does not multiplex at least cu_split_flag syntax indicative of the splitting pattern of the coding tree unit.
- a video decoding device includes: de-multiplexing means for de-multiplexing a bitstream including ctu_pcm_flag syntax indicating whether all image blocks belonging to a coding tree unit to be decoded are PCM blocks; PCM decoding means for PCM-decoding PCM data on an image block included in the bitstream; entropy decoding means for entropy-decoding transformed data on the image block included in the bitstream; and decoding control means which, when the value of ctu_pcm_flag syntax of the coding tree unit to be decoded is 1, determines cu_split_flag syntax indicative of the splitting pattern of the coding tree unit based on the position of the image block in the coding tree unit, the size of an image frame to be decoded, and the maximum PCM block size.
- a video encoding method includes: transforming an image block; entropy-encoding transformed data on the transformed image block; PCM-encoding the image block; selecting, for each image block, either entropy-encoded data or PCM-encoded data; and multiplexing ctu_pcm_flag syntax indicating whether all image blocks belonging to a coding tree unit as a set of image blocks are PCM blocks, at the top of the coding tree unit, wherein when all image blocks belonging to the coding tree unit are PCM blocks, at least cu_split_flag syntax indicative of the splitting pattern of the coding tree unit is not multiplexed.
- a video decoding method includes: de-multiplexing a bitstream including ctu_pcm_flag syntax indicating whether all image blocks belonging to a coding tree unit to be decoded are PCM blocks; PCM-decoding PCM data on an image block included in the bitstream; entropy-decoding transformed data on the image block included in the bitstream; and when the value of ctu_pcm_flag syntax of the coding tree unit to be decoded is 1, determining cu_split_flag syntax indicative of the splitting pattern of the coding tree unit based on the position of the image block in the coding tree unit, the size of an image frame to be decoded, and the maximum PCM block size.
- a video encoding program causes a computer to execute: a process of transforming an image block; a process of entropy-encoding transformed data on the transformed image block; a process of PCM-encoding the image block; a process of selecting, for each image block, either entropy-encoded data or PCM-encoded data; and a process of multiplexing ctu_pcm_flag syntax indicating whether all image blocks belonging to a coding tree unit as a set of image blocks are PCM blocks, at the top of the coding tree unit, wherein when all image blocks belonging to the coding tree unit are PCM blocks, the computer is caused not to multiplex at least cu_split_flag syntax indicative of the splitting pattern of the coding tree unit.
- a video decoding program causes a computer to execute: a process of de-multiplexing a bitstream including ctu_pcm_flag syntax indicating whether all image blocks belonging to a coding tree unit to be decoded are PCM blocks; a process of PCM-decoding PCM data on an image block included in the bitstream; a process of entropy-decoding transformed data on the image block included in the bitstream; and when the value of ctu_pcm_flag syntax of the coding tree unit to be decoded is 1, a process of determining cu_split_flag syntax indicative of the splitting pattern of the coding tree unit based on the position of the image block in the coding tree unit, the size of an image frame to be decoded, and the maximum PCM block size.
- FIG. 1 It depicts a block diagram depicting a video encoding device of a first exemplary embodiment.
- FIG. 2 It depicts an explanatory diagram of encoding I_PCM CUs.
- FIG. 3 It depicts a flowchart depicting the operation of the video encoding device of the first exemplary embodiment.
- FIG. 4 It depicts a block diagram depicting a video decoding device of a second exemplary embodiment.
- FIG. 5 It depicts a flowchart depicting the operation of the video decoding device of the second exemplary embodiment.
- FIG. 6 It depicts an explanatory diagram of a list representing coding tree unit syntax.
- FIG. 7 It depicts an explanatory diagram of a list representing PCM quadtree syntax.
- FIG. 8 It depicts an explanatory diagram of a list representing PCM sample syntax.
- FIG. 9 It depicts a block diagram depicting an information processing system using a program.
- FIG. 10 It depicts an explanatory diagram depicting an example of inter-frame prediction.
- FIG. 11 It depicts a block diagram depicting a typical video encoding device.
- FIG. 12 It depicts an explanatory diagram depicting an example of CTU splitting of a frame t, and an example of CU splitting of CTU8 in the frame t.
- FIG. 13 It depicts an explanatory diagram of encoding I_PCM CUs.
- FIG. 1 is a block diagram depicting a video encoding device of a first exemplary embodiment.
- the video encoding device of the exemplary embodiment includes a multiplexer 1100 instead of the multiplexer 110 in the video encoding device depicted in FIG. 11 .
- the multiplexer 1100 in the exemplary embodiment includes an PCM determiner 1101 which determines whether all CUs in a CTU to be encoded are I_PCM.
- An example where the PCM determiner 1101 is present in the multiplexer 1100 is depicted in FIG. 1 , but it is not indispensable.
- the PCM determiner 1101 may be provided in a part other than the multiplexer 1100 , or may be provided independently of each unit depicted in FIG. 1 .
- the video encoding device of the exemplary embodiment transmits I_PCM CUs successive in transmission order in each CTU.
- I_PCM CUs successive in transmission order in each CTU.
- FIG. 2 it is also assumed as depicted in (A) of FIG. 2 (like in (A) of FIG. 13 that CU(0), CU(1), CU(2), and CU(3) successive in encoding order are blocks to be PCM-encoded.
- the video encoding device of the exemplary embodiment operates as depicted in the flowchart of FIG. 3 .
- the PCM determiner 1101 determines in step 5101 whether all CUs in a CTU to be encoded are I_PCM. When all the CUs are I_PCM, ctu_pcm_flag syntax is set to 1. Otherwise, ctu_pcm_flag syntax is set to 0.
- the value of ctu_pcm_flag becomes 1.
- the entropy encoder 103 further outputs symbols that have not been output yet.
- step S 105 the multiplexer 1100 non-entropy encodes pcm_alignment_zero_bit of CU(n).
- step S 106 the PCM encoder 107 non-entropy encodes PCM data on CU(n).
- step S 107 the multiplexer 1100 determines whether all CUs in a CTU to be encoded are encoded. When all the CUs in the CTU to be encoded are encoded, the procedure proceeds to step S 108 . Otherwise, the procedure returns to step S 103 to encode CUs to be processed next.
- step S 108 the entropy encoder 103 resets the encoding engine. Then, the procedure proceeds to the process of encoding the next CTU.
- the multiplexer 1100 outputs a bitstream obtained by multiplexing data encoded by the PCM encoder 107 and the entropy encoder 103 .
- the multiplexer 1100 multiplexes ctu_pcm_flag syntax, which indicates whether all image blocks belonging to a coding tree unit corresponding to a set of image blocks selected by the multiplexed data selector 109 are PCM blocks, at the top of the coding tree unit, the multiplexer 1100 does not multiplex at least cu_split_flag syntax indicative of the splitting pattern of the coding tree unit when all the image blocks belonging to the coding tree unit are PCM blocks.
- an I_PCM mode header to be entropy-encoded is not inserted between PCM data on successive I_PCM CUs.
- ctu_pcm_flag 1; pcm_alignment_zero_bit and pcm_sample_luma/pcm_sample_chroma of CU(0); pcm_sample_luma/pcm_sample_chroma of CU(1); pcm_sample_luma/pcm_sample_chroma of CU(2), and pcm_sample_luma/pcm_sample_chroma of CU(3).
- the number of bits of one piece of PCM data is inevitably a multiple of 8 bits.
- the start position of the subsequent I_PCM CU inevitably becomes a multiple of 8 bits.
- the start position of the subsequent I_PCM CU inevitably becomes a byte-aligned address. Therefore, pcm_alignment_zero_bit is not transmitted in CU(1), CU(2), and CU(3).
- the I_PCM mode header to be I_PCM
- the video encoding device of the exemplary embodiment can multiplex PCM data on successive I_PCM CUs into a bitstream efficiently. In other words, the PCM data on the successive I_PCM CUs can be transmitted efficiently.
- FIG. 4 is a block diagram depicting a video decoding device corresponding to the video encoding device of the first exemplary embodiment.
- the video decoding device of the exemplary embodiment includes a de-multiplexer 201 , a decoding controller 202 , a PCM decoder 203 , an entropy decoder 204 , an inverse transformer/inverse quantizer 206 , a predictor 207 , a buffer 208 , and a switch 221 and a switch 222 .
- the de-multiplexer 201 includes an PCM determiner 2011 which determines whether all CUs in a CTU to be decoded are I_PCM.
- the PCM determiner 2011 may be provided in a part other than the de-multiplexer 201 , or may be provided independently of each unit depicted in FIG. 4 .
- the de-multiplexer 201 de-multiplexes an input bitstream and extracts a video bitstream.
- the decoding controller 202 calculates cu_split_flag of a CU to be processed in the CTU to be decoded.
- the size (the width pic_width_in_luma_samples and the height pic_height_in_luma_samples) of an image frame, and the maximum size (Log2MaxIpcmCbSizeY, where Log2MaxIpcmCbSizeY is larger than or equal to the minimum CU size Log2MinCbSizeY) of the I_PCM CU, when any one or more of the following conditions are met, cu_split_flag 1 is set. In other words, the CU to be processed is split.
- the decoding controller 202 reads, from the video bitstream, pcm_alignment_zero_bit syntax of an I_PCM CU to be decoded, and supplies the subsequent PCM data to the PCM decoder 203 without causing the entropy decoder 204 to entropy-decode the CU/PU header of a CU to be currently decoded.
- the PCM decoder 203 reads the PCM data supplied through the switch 221 and PCM decodes the PCM data.
- the decoding controller 202 changes over the switch 222 to supply a reconstructed image supplied from the PCM decoder 203 to the buffer 208 .
- the decoding controller 202 causes the entropy decoder 204 to entropy-decode the CU/PU header of a CU to be currently decoded.
- the decoding controller 202 reads, from the video bitstream, pcm_alignment_zero_bit syntax of the I_PCM CU to be decoded, and supplies the subsequent PCM data to the PCM decoder 203 .
- the PCM decoder 203 reads the PCM data supplied through the switch 221 and PCM-decodes the PCM data.
- the decoding controller 202 changes over the switch 222 to supply a reconstructed image supplied from the PCM decoder 203 to the buffer 208 .
- the entropy decoder 204 entropy-decodes pcm_flag having the value of 0 or when there exists no pcm_flag
- the entropy decoder 204 further entropy-decodes the prediction parameter and the quantization level value of a CU to be decoded, and supplies them to the inverse transformer/inverse quantizer 206 and the predictor 207 .
- the inverse transformer/inverse quantizer 206 inverse-frequency-quantizes the quantization level value, and further inverse-frequency-transforms the frequency transform coefficient obtained by the inverse quantization.
- the predictor 207 After the inverse transform, the predictor 207 generates a prediction signal using the image of a reconstructed picture stored in the buffer 208 based on the entropy-decoded prediction parameter. After the prediction signal is generated, the prediction signal supplied from the predictor 207 is added to a reconstructed prediction error image inverse-frequency-transformed by the inverse transformer/inverse quantizer 206 , and the reconstructed prediction error image is supplied to the switch 222 . After the prediction signal is added, the decoding controller 202 changes over the switch 222 to supply the reconstructed prediction error image, to which the prediction signal is added, to the buffer 208 as a reconstructed image. Then, the procedure proceeds to the process of decoding the next CU.
- step S 201 the PCM determiner 2011 determines whether all CUs in a CTU to be decoded are I_PCM. When all the CUs in the CTU to be decoded are I_PCM, the procedure proceeds to step S 202 . Otherwise, although the processing is ended in the flowchart of FIG. 5 , the video decoding device of the exemplary embodiment decodes each CU in the same manner as the typical video encoding device.
- step S 202 the decoding controller 202 calculates cu_split_flag of CU(n) to be decoded.
- step S 203 the decoding controller 202 determines whether calculated cu_split_flag is 0. When it is 0, the procedure proceeds to step S 204 . Otherwise (when cu_split_flag is 1), the CU to be decoded is split, and the procedure returns to step S 202 .
- step S 204 the decoding controller 202 reads, from a video bitstream, pcm_alignment_zero_bit syntax of CU(n) of I_PCM to be decoded.
- the PCM decoder 203 may also read pcm_alignment_zero_bit syntax to be non-entropy encoded.
- step S 205 the decoding controller 202 reads, from the video bitstream, PCM data on CU(n) of I_PCM to be decoded.
- the PCM decoder 203 non-entropy decodes the PCM data on CU(n). Note that the PCM decoder 203 may also read the PCM data to be non-entropy decoded. Then, as mentioned above, a reconstructed image of CU(n) is determined based on the PCM data.
- step S 206 the decoding controller 202 determines whether all the CUs in the CTU to be decoded are decoded. When all the CUs are decoded, the procedure proceeds to step S 207 . Otherwise, the procedure returns to step S 202 to decode the next CU.
- step S 207 the entropy decoder 204 resets a decoding engine, and then ends the decoding process of the CTU to be decoded.
- the operation of the video decoding device of the exemplary embodiment is as described above.
- the video decoding device of the exemplary embodiment According to the operation of the video decoding device of the exemplary embodiment described above, there is no need to wait for the completion of the process of resetting the decoding engine in order to read, from the bitstream, PCM data on an I_PCM CU subsequent to the first I_PCM CU. Therefore, the video decoding device of the exemplary embodiment can read PCM data on successive I_PCM CUs from the bitstream efficiently. In other words, the PCM data on the successive I_PCM CUs can be received efficiently.
- FIG. 6 The coding tree syntax, the PCM quadtree syntax, and the PCM sample syntax corresponding to each of the aforementioned exemplary embodiments are depicted in FIG. 6 , FIG. 7 , and FIG. 8 , respectively.
- a state of transmitting ctu_pcm_flag syntax is found from FIG. 6 .
- a state of determining cu_split_flag syntax, indicative of the splitting pattern of the coding tree unit, based on the position of an image block of the coding tree unit, the size of an image frame to be decoded, and the maximum PCM block size (Log2MaxIpcmCbSizeY) is found from FIG. 7 .
- a state of encoding pcm_alignment_zero_bit and PCM data (pcm_sample_luma/pcm sample_chroma) is found from FIG. 8 . In other words, it is found that the process of resetting the decoding engine is not required to read PCM data on successive I_PCM CUs from a bitstream.
- Each of the aforementioned exemplary embodiments can be configured in hardware, but it is also possible to implement the exemplary embodiment by a computer program.
- An information processing system depicted in FIG. 9 includes a processor 1001 , a program memory 1002 , a storage medium 1003 for storing video data, and a storage medium 1004 for storing a bitstream.
- the storage medium 1003 and the storage medium 1004 may be separate storage media, or storage areas on the same storage medium.
- a magnetic storage medium such as a hard disk can be used as a storage medium.
- a program for realizing the function of each block depicted respectively in FIG. 1 and FIG. 4 is stored in the program memory 1002 .
- the processor 1001 executes processes according to the program stored in the program memory 1002 to realize the functions of the video encoding device or the video decoding device depicted in FIG. 1 or FIG. 4 , respectively.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Although a video encoding device multiplexes ctu_pcm_flag syntax indicating whether all image blocks belonging to a coding tree unit as a set of image blocks are PCM blocks, at the top of the coding tree unit, when all image blocks belonging to the coding tree unit are PCM blocks, at least cu_split_flag syntax indicative of the splitting pattern of the coding tree unit is not multiplexed to transmit PCM data efficiently.
Description
- The present invention relates to a video encoding device and a video decoding device for automatically splitting a coding tree unit.
- A video coding system based on a system described in Non Patent Literature (NPL) 1 divides each frame of digitized video into coding tree units (CTUs), and each CTU is encoded in raster scan order. Each CTU is split into coding units (CUs) in a quadtree structure and encoded. Each CU is split into prediction units (PUs) and predicted. Further, a prediction error of each CU is split into transform units (TUs) in a quadtree structure and transformed.
- The CU is a coding unit of intra prediction/inter-frame prediction. Intra prediction and inter-frame prediction will be described below.
- Intra prediction is prediction from a reconstructed image of a frame to be encoded. In the system described in
NPL 1, a reconstructed pixel around a block to be encoded is extrapolated to generate an intra prediction signal. Hereinafter, a CU using intra prediction is referred to as an intra CU. Note that the value of pred_mode_flag syntax of the intra CU is 1 inNPL 1. - Further, an intra CU that does not use intra prediction is referred to as an I_PCM (Intra Pulse Code Modulation) CU. In the I_PCM CU, an image of the CU is transmitted intact instead of transmitting a prediction error of the CU. Note that the value of pcm_flag syntax of the I_PCM CU is 1 in
NPL 1. - Inter-frame prediction is prediction based on an image of a reconstructed frame (reference picture) different in display time from a frame to be encoded. Hereinafter, inter-frame prediction is also referred to as inter prediction.
FIG. 10 is an explanatory diagram depicting an example of inter-frame prediction. A motion vector MV=(mvx, mvy) indicates the amount of translation of a reconstructed image block of a reference picture relative to a block to be encoded. In inter prediction, an inter prediction signal is generated based on a reconstructed image block of a reference picture (using pixel interpolation if necessary). Hereinafter, a CU using inter prediction is referred to as an inter CU. Note that the value of pred_mode_flag syntax of the inter CU is 0 inNPL 1. - An inter CU using inter-frame prediction not to transmit motion vector difference information and a CU prediction error is referred to as a Skip CU. In
NPL 1, the value of skip_flag syntax of the Skip CU is 1. - A frame encoded with only intra CUs mentioned above is called an I frame (or an I picture). A frame encoded including inter CUs as well as intra CUs is called a P frame (or a P picture). A frame encoded including inter CUs for which not only one reference picture but two reference pictures are simultaneously used for inter prediction of a block is called a B frame (or a B picture).
- Intra prediction and inter-frame prediction are as described above.
- Referring to
FIG. 11 , the configuration and operation of a typical video encoding device that receives each CU of each frame of digitized video as an input image and outputs a bitstream will be described. - The video coding device depicted in
FIG. 11 includes a transformer/quantizer 102, anentropy encoder 103, an inverse transformer/inverse quantizer 104, abuffer 105, apredictor 106, aPCM encoder 107, aPCM decoder 108, amultiplexed data selector 109, amultiplexer 110, aswitch 121, and aswitch 122. - As depicted in
FIG. 12 , a frame is made up of LCUs (Largest Coding Units). An LCU is made up of CUs (Coding Units).FIG. 12 is an explanatory diagram depicting an example of CTU splitting of a frame t and an example of CU splitting of CTU8 in the frame t when the spatial resolution of the frame is CIF (Common Intermediate Format) and the CTU size is 64. A quadtree structure of CTU8 can be represented by cu_split_flag=1 at CUDepth=0 indicating that a 64×64 region is split, three cu_split_flag=0 at CUDepth=1 indicating that first three 32×32 CUs (CU0, CU1, and CU2) are not split, cu_split_flag=1 at CUDepth=1 indicating that the last 32×32 CU is split, three cu_split_flag=0 at CUDepth=2 indicating that first three 16×16 CUs (CU3, CU4, and CU5) are not split, cu_split_flag=1 at CUDepth=2 indicating that the last 16×16 CU is split, and four cu_split_flag=0 at CUDepth=3 indicating that all 8×8 CUs (CU6, CU7, CU8, and CU9) are not split. - The video encoding device depicted in
FIG. 11 encodes LCUs in raster scan order, and encodes CUs constituting each LCU in z-scan order. The size of a CU is any one of 64×64, 32×32, 16×16, and 8×8. The smallest CU is referred to as a smallest coding unit (SCU). - The transformer/
quantizer 102 frequency-transforms an image (prediction error image) from which a prediction signal is subtracted to obtain a frequency transform coefficient of a prediction error image. - The transformer/
quantizer 102 further quantizes the frequency transform coefficient with a predetermined quantization step size Qs. Hereinafter, the quantized frequency transform coefficient is referred to as a coefficient quantization value or a quantization level value. - The
entropy encoder 103 entropy-encodes a prediction parameter and the quantization level value. The prediction parameter is information related to information on the prediction type (intra prediction or inter prediction) of a CU mentioned above and PUs (Prediction Units) included in the CU. - The inverse transformer/
inverse quantizer 104 inverse-quantizes the quantization level value with the quantization step size Qs. The inverse transformer/inverse quantizer 104 further inverse-frequency-transforms the frequency transform coefficient obtained by the inverse quantization. The prediction signal is added to a reconstructed prediction error image obtained by the inverse transform, and the reconstructed prediction error image is supplied to theswitch 122. - The multiplexed
data selector 109 monitors the amount of input data of theentropy encoder 103 corresponding to a CU to be encoded. When theentropy encoder 103 can entropy-encode the input data within the processing time of the CU, themultiplexed data selector 109 selects output data of theentropy encoder 103, and supplies the output data to themultiplexer 110 through theswitch 121. The multiplexeddata selector 109 further selects output data of the inverse transformer/inverse quantizer 104, and supplies the output data to thebuffer 105 through theswitch 122. - When the
entropy encoder 103 cannot entropy-encode the input data within the processing time of the CU, themultiplexed data selector 109 selects output data of thePCM encoder 107, and supplies the output data to themultiplexer 110 through theswitch 121. The multiplexeddata selector 109 further selects output data obtained by thePCM decoder 108 that PCM-decodes the output data of thePCM encoder 107, and supplies the output data to thebuffer 105 through theswitch 122. - The
buffer 105 stores a reconstructed image supplied through theswitch 122. A reconstructed image for one frame is referred to as a reconstructed picture. - The
multiplexer 110 multiplexes output data of theentropy encoder 103 and thePCM encoder 107, and outputs the multiplexed output data. - Based on the above-mentioned operation, the
multiplexer 110 in the video encoding device generates a bitstream. - NPL 1: Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, and Thomas Wiegand, “High Efficiency Video Coding (HEVC) text specification draft 9,” JCTVC-K1003_v10, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Shanghai, CN, 10-19, October 2012.
- In the video encoding device depicted in
FIG. 11 , the block header of a CU is entropy-encoded. In other words, when the block header (I_PCM mode header) of an I_PCM CU is to be transmitted, two processes are required, i.e., a process of outputting non-output symbols of an encoding engine of the entropy encoder 103 (after pcm_flag is entropy-encoded), and a process of resetting the encoding engine. As apparent from the section 7.3.9.4 Coding quadtree syntax and the section 7.3.9.5 Coding unit syntax inNPL 1, the I_PCM mode header is generally made up of CU split information (cu_split_flag syntax), the CU prediction type (skip_flag syntax, pred_mode_flag syntax, and pred_mode syntax, part_mode syntax), and a PCM flag (pcm_flag syntax) for a PU. - Referring to
FIG. 13 , encoding of I_PCM CUs successive in encoding order in a CUT will be described. - As depicted in (A) of
FIG. 13 , it is assumed that, in a CUT to be encoded, CUs (CU(0), CU(1), CU(2), and CU(3)) of 0, 1, 2, and 3 successive in encoding order in the CTU are I_PCM CUs. A corresponding CTU bitstream is made up by interleaving a video bitstream of the I_PCM mode header of each CU, alignment data (pcm_alignment_zero_bit), and PCM data (pcm_sample_luma/pcm_sample_chroma). In other words, the CTU bitstream depicted in (A) ofFIG. 13 is made up of: cu_split_flag=1, cu_split_flag=0, skip_flag=0, pred_mode_flag=1, part_mode=2N×2N, pcm_flag=1, pcm_alignment_zero_bit, and pcm_sample_luma/pcm_sample_chroma of CU(0); cu_split_flag=0, skip_flag=0, pred_mode_flag=1, part_mode=2N×2N, pcm_flag=1, pcm_alignment_zero_bit, and pcm_sample_luma/pcm_sample_chroma of CU(1); cu_split_flag=0, skip_flag=0, pred_mode_flag=1, part_mode=2N×2N, pcm_flag=1, pcm_alignment_zero_bit, and pcm_sample_luma/pcm_sample_chroma of CU(2); and cu_split_flag=0, skip_flag=0, pred_mode_flag=1, part_mode=2N×2N, pcm_flag=1, pcm_alignment_zero_bit, and pcm_sample_luma/pcm_sample_chroma of CU(3). As apparent from the section 7.3.9.5 Coding unit syntax and the section 7.3.9.7 PCM sample syntax inNPL 1, pcm_alignment_zero_bit, pcm_sample_luma, and pcm_sample_chroma are syntaxes to be non-entropy encoded. - Since the I_PCM mode header of each of CU(0), CU(1), CU(2), and CU(3) of I_PCM successive in encoding order in the CTU is entropy-encoded, the process of outputting non-output symbols of the encoding engine and the process of resetting the encoding engine mentioned above are repeated. Therefore, even though CU(0), CU(1), CU(2), and CU(3) are I_PCM successive in encoding order in the CTU, the CUs have to wait until the completion of the process of outputting non-output symbols of encoding engine and the process of resetting the encoding engine mentioned above executed on each of the I_PCM mode headers before PCM data on each CU are multiplexed. In typical technology, there is a problem that PCM data on I_PCM CUs successive in encoding order in the CTU cannot be multiplexed into a bitstream efficiently, i.e., that PCM data on I_PCM CUs successive in encoding order in the CTU cannot be transmitted efficiently.
- Similarly, as depicted in (B) of
FIG. 13 , there is also the same problem with I_PCM CUs successive in encoding order in an incomplete CTU on the right boundary of the image. In (B) ofFIG. 13 , “Infer” indicates that the value is determined by the decoder without transmitting cu_split_flag based on the position (x0 and y0) and block size (log2CbSize) of a CU to be processed, the size of the image frame (the width pic_width_in_luma_samples and the height pic_height_in_luma_samples), and the minimum CU size (Log2MinCbSizeY) (see the section 7.3.9.5 Coding unit syntax and the section 7.4.9.4 Coding quadtree semantics inNPL 1 for details). Further, in (B) ofFIG. 13 , “N” indicates that no CU exists in the position concerned and hence redundant cu_split_flag is not transmitted. - The CTU bitstream depicted in (B) of
FIG. 13 is made up of: cu_split_flag=0, skip_flag=0, pred_mode_flag=1, part_mode=2N×2N, pcm_flag=1, pcm_alignment_zero_bit, and pcm_sample_luma/pcm_sample_chroma of CU(0); cu_split_flag=0, skip_flag=0, pred_mode_flag=1, part_mode=2N×2N, pcm_flag=1, pcm_alignment_zero_bit, and pcm_sample_luma/pcm_sample_chroma of CU(1); cu_split_flag=0, skip_flag=0, pred_mode_flag=1, part_mode=2N×2N, pcm_flag=1, pcm_alignment_zero_bit, and pcm_sample_luma/pcm_sample_chroma of CU(2); cu_split_flag=0, skip_flag=0, pred_mode_flag=1, part_mode=2N×2N, pcm_flag=1, pcm_alignment_zero_bit, and pcm_sample_luma/pcm_sample_chroma of CU(3); cu_split_flag=0, skip_flag=0, pred_mode_flag=1, part_mode=2N×2N, pcm_flag=1, pcm_alignment_zero_bit, and pcm_sample_luma/pcm_sample_chroma of CU(4); and cu_split_flag=0, skip_flag=0, pred_mode_flag=1, part_mode=2N×2N, pcm_flag=1, pcm_alignment_zero_bit, and pcm_sample_luma/pcm_sample_chroma of CU(5). - It is an object of the present invention to provide a video encoding device, a video decoding device, a video encoding method, a video decoding method, a video encoding program, and a video decoding program capable of transmitting PCM data on I_PCM CUs efficiently even when the I_PCM CUs are generated successively in encoding order in a CTU.
- A video encoding device according to the present invention includes: transform means for transforming an image block; entropy encoding means for entropy-encoding transformed data on the image block transformed by the transform means; PCM encoding means for PCM-encoding the image block; multiplexed data selection means for selecting, for each image block, either output data of the entropy encoding means or output data of the PCM encoding means; and multiplexing means for multiplexing ctu_pcm_flag syntax indicating whether all image blocks belonging to a coding tree unit as a set of image blocks selected by the multiplexed data selection means are PCM blocks, at the top of the coding tree unit, wherein when all image blocks belonging to the coding tree unit are PCM blocks, the multiplexing means does not multiplex at least cu_split_flag syntax indicative of the splitting pattern of the coding tree unit.
- A video decoding device according to the present invention includes: de-multiplexing means for de-multiplexing a bitstream including ctu_pcm_flag syntax indicating whether all image blocks belonging to a coding tree unit to be decoded are PCM blocks; PCM decoding means for PCM-decoding PCM data on an image block included in the bitstream; entropy decoding means for entropy-decoding transformed data on the image block included in the bitstream; and decoding control means which, when the value of ctu_pcm_flag syntax of the coding tree unit to be decoded is 1, determines cu_split_flag syntax indicative of the splitting pattern of the coding tree unit based on the position of the image block in the coding tree unit, the size of an image frame to be decoded, and the maximum PCM block size.
- A video encoding method according to the present invention includes: transforming an image block; entropy-encoding transformed data on the transformed image block; PCM-encoding the image block; selecting, for each image block, either entropy-encoded data or PCM-encoded data; and multiplexing ctu_pcm_flag syntax indicating whether all image blocks belonging to a coding tree unit as a set of image blocks are PCM blocks, at the top of the coding tree unit, wherein when all image blocks belonging to the coding tree unit are PCM blocks, at least cu_split_flag syntax indicative of the splitting pattern of the coding tree unit is not multiplexed.
- A video decoding method according to the present invention includes: de-multiplexing a bitstream including ctu_pcm_flag syntax indicating whether all image blocks belonging to a coding tree unit to be decoded are PCM blocks; PCM-decoding PCM data on an image block included in the bitstream; entropy-decoding transformed data on the image block included in the bitstream; and when the value of ctu_pcm_flag syntax of the coding tree unit to be decoded is 1, determining cu_split_flag syntax indicative of the splitting pattern of the coding tree unit based on the position of the image block in the coding tree unit, the size of an image frame to be decoded, and the maximum PCM block size.
- A video encoding program according to the present invention causes a computer to execute: a process of transforming an image block; a process of entropy-encoding transformed data on the transformed image block; a process of PCM-encoding the image block; a process of selecting, for each image block, either entropy-encoded data or PCM-encoded data; and a process of multiplexing ctu_pcm_flag syntax indicating whether all image blocks belonging to a coding tree unit as a set of image blocks are PCM blocks, at the top of the coding tree unit, wherein when all image blocks belonging to the coding tree unit are PCM blocks, the computer is caused not to multiplex at least cu_split_flag syntax indicative of the splitting pattern of the coding tree unit.
- A video decoding program according to the present invention causes a computer to execute: a process of de-multiplexing a bitstream including ctu_pcm_flag syntax indicating whether all image blocks belonging to a coding tree unit to be decoded are PCM blocks; a process of PCM-decoding PCM data on an image block included in the bitstream; a process of entropy-decoding transformed data on the image block included in the bitstream; and when the value of ctu_pcm_flag syntax of the coding tree unit to be decoded is 1, a process of determining cu_split_flag syntax indicative of the splitting pattern of the coding tree unit based on the position of the image block in the coding tree unit, the size of an image frame to be decoded, and the maximum PCM block size.
- According to the present invention, when all CUs in a CTU are I_PCM, these pieces of PCM data can be transmitted efficiently.
- [
FIG. 1 ] It depicts a block diagram depicting a video encoding device of a first exemplary embodiment. - [
FIG. 2 ] It depicts an explanatory diagram of encoding I_PCM CUs. - [
FIG. 3 ] It depicts a flowchart depicting the operation of the video encoding device of the first exemplary embodiment. - [
FIG. 4 ] It depicts a block diagram depicting a video decoding device of a second exemplary embodiment. - [
FIG. 5 ] It depicts a flowchart depicting the operation of the video decoding device of the second exemplary embodiment. - [
FIG. 6 ] It depicts an explanatory diagram of a list representing coding tree unit syntax. - [
FIG. 7 ] It depicts an explanatory diagram of a list representing PCM quadtree syntax. - [
FIG. 8 ] It depicts an explanatory diagram of a list representing PCM sample syntax. - [
FIG. 9 ] It depicts a block diagram depicting an information processing system using a program. - [
FIG. 10 ] It depicts an explanatory diagram depicting an example of inter-frame prediction. - [
FIG. 11 ] It depicts a block diagram depicting a typical video encoding device. - [
FIG. 12 ] It depicts an explanatory diagram depicting an example of CTU splitting of a frame t, and an example of CU splitting of CTU8 in the frame t. - [
FIG. 13 ] It depicts an explanatory diagram of encoding I_PCM CUs. -
FIG. 1 is a block diagram depicting a video encoding device of a first exemplary embodiment. The video encoding device of the exemplary embodiment includes a multiplexer 1100 instead of themultiplexer 110 in the video encoding device depicted inFIG. 11 . Unlike themultiplexer 110 depicted inFIG. 11 , the multiplexer 1100 in the exemplary embodiment includes anPCM determiner 1101 which determines whether all CUs in a CTU to be encoded are I_PCM. An example where thePCM determiner 1101 is present in the multiplexer 1100 is depicted inFIG. 1 , but it is not indispensable. ThePCM determiner 1101 may be provided in a part other than the multiplexer 1100, or may be provided independently of each unit depicted inFIG. 1 . - It is assumed that the video encoding device of the exemplary embodiment transmits I_PCM CUs successive in transmission order in each CTU. In the exemplary embodiment, it is also assumed as depicted in (A) of
FIG. 2 (like in (A) ofFIG. 13 that CU(0), CU(1), CU(2), and CU(3) successive in encoding order are blocks to be PCM-encoded. - The operation of the video encoding device will be described with reference to a flowchart of
FIG. 3 by taking I_PCM CUs depicted in (A) ofFIG. 2 as an example. - The video encoding device of the exemplary embodiment operates as depicted in the flowchart of
FIG. 3 . In other words, thePCM determiner 1101 determines in step 5101 whether all CUs in a CTU to be encoded are I_PCM. When all the CUs are I_PCM, ctu_pcm_flag syntax is set to 1. Otherwise, ctu_pcm_flag syntax is set to 0. When the example depicted in (A) ofFIG. 2 is used, the value of ctu_pcm_flag becomes 1. In this case, theentropy encoder 103 entropy-encodes ctu_pcm_flag=1 in step S102. Theentropy encoder 103 further outputs symbols that have not been output yet. When the value of ctu_pcm_flag is 0, although the processing is completed in the flowchart ofFIG. 3 , the video encoding device of the exemplary embodiment encodes each CU in the same manner as the typical video encoding device after theentropy encoder 103 entropy-encodes ctu_pcm_flag=0. - Based on the position (x0, y0) and size (log2CbSize) of a CU to be processed, the size (the width pic_width_in_luma_samples and the height pic_height_luma_samples) of an image frame, and the maximum size (Log2MaxIpcmCbSizeY, where Log2MaxIpcmCbSizeY is larger than or equal to the minimum CU size Log2MinCbSizeY) of the I_PCM CU, the multiplexer 1100 calculates in step S103 cu_split_flag of the CU determined by the decoder to be processed. When any one or more of the following conditions are met, the multiplexer 1100 sets cu_split_flag=1. In other words, the CU to be processed is split.
- [Conditions]
- 1. x0+(1<<log2CbSize)>pic_width_in_luma_samples
- 2. y0+(1<<log2CbSize)>pic_height_in_luma_samples
- 3. log2CbSize>Log2MaxIpcmCbSizeY
- When none of the above conditions is met, the multiplexer 1100 sets cu_split_flag=0. In other words, the CU to be processed is not split.
- The multiplexer 1100 determines in step S104 whether cu_split_flag=0. When cu_split_flag=0, the procedure proceeds to step S105. Otherwise, the CU is split and the procedure returns to step S103.
- In step S105, the multiplexer 1100 non-entropy encodes pcm_alignment_zero_bit of CU(n).
- In step S106, the
PCM encoder 107 non-entropy encodes PCM data on CU(n). - In step S107, the multiplexer 1100 determines whether all CUs in a CTU to be encoded are encoded. When all the CUs in the CTU to be encoded are encoded, the procedure proceeds to step S108. Otherwise, the procedure returns to step S103 to encode CUs to be processed next.
- In step S108, the
entropy encoder 103 resets the encoding engine. Then, the procedure proceeds to the process of encoding the next CTU. - The multiplexer 1100 outputs a bitstream obtained by multiplexing data encoded by the
PCM encoder 107 and theentropy encoder 103. - The operation of the video encoding device of the exemplary embodiment is as described above. Note that, although the multiplexer 1100 multiplexes ctu_pcm_flag syntax, which indicates whether all image blocks belonging to a coding tree unit corresponding to a set of image blocks selected by the multiplexed
data selector 109 are PCM blocks, at the top of the coding tree unit, the multiplexer 1100 does not multiplex at least cu_split_flag syntax indicative of the splitting pattern of the coding tree unit when all the image blocks belonging to the coding tree unit are PCM blocks. - According to the above-described operation of the video encoding device of the exemplary embodiment, when all CUs in a CTU to be encoded are I_PCM, an I_PCM mode header to be entropy-encoded is not inserted between PCM data on successive I_PCM CUs. In other words, the CTU bitstream illustrated in (A) of
FIG. 2 is made up of: ctu_pcm_flag=1; pcm_alignment_zero_bit and pcm_sample_luma/pcm_sample_chroma of CU(0); pcm_sample_luma/pcm_sample_chroma of CU(1); pcm_sample_luma/pcm_sample_chroma of CU(2), and pcm_sample_luma/pcm_sample_chroma of CU(3). The number of bits of one piece of PCM data is inevitably a multiple of 8 bits. Therefore, after an I_PCM CU is first transmitted, the start position of the subsequent I_PCM CU inevitably becomes a multiple of 8 bits. In other words, the start position of the subsequent I_PCM CU inevitably becomes a byte-aligned address. Therefore, pcm_alignment_zero_bit is not transmitted in CU(1), CU(2), and CU(3). - Similarly, the CTU bitstream depicted in (B) of
FIG. 2 is made up of: ctu_pcm_flag=1; pcm_alignment_zero_bit and pcm_sample_luma/pcm_sample_chroma of CU(0); pcm_sample_luma/pcm_sample_chroma of CU(1); pcm_sample_luma/pcm_sample_chroma of CU(2); pcm_sample_luma/pcm_sample_chroma of CU(3); pcm_sample_luma/pcm_sample_chroma of CU(4); and pcm_sample_luma/pcm_sample_chroma of CU(5). In other words, when all CUs in a CTU to be encoded are I_PCM, the I_PCM mode header to be entropy-encoded is not inserted between PCM data on successive I_PCM CUs. - Therefore, when PCM data on the I_PCM CU subsequent to the first I_PCM CU is multiplexed into a bitstream, there is no need to wait until the completion of the process of outputting non-output symbols of the encoding engine and the process of resetting the encoding engine mentioned above. Therefore, the video encoding device of the exemplary embodiment can multiplex PCM data on successive I_PCM CUs into a bitstream efficiently. In other words, the PCM data on the successive I_PCM CUs can be transmitted efficiently.
-
FIG. 4 is a block diagram depicting a video decoding device corresponding to the video encoding device of the first exemplary embodiment. The video decoding device of the exemplary embodiment includes a de-multiplexer 201, adecoding controller 202, aPCM decoder 203, anentropy decoder 204, an inverse transformer/inverse quantizer 206, apredictor 207, abuffer 208, and aswitch 221 and aswitch 222. - The de-multiplexer 201 includes an
PCM determiner 2011 which determines whether all CUs in a CTU to be decoded are I_PCM. An example where thePCM determiner 2011 is present in the de-multiplexer 201 is depicted inFIG. 4 , but it is not indispensable. ThePCM determiner 2011 may be provided in a part other than the de-multiplexer 201, or may be provided independently of each unit depicted inFIG. 4 . - The de-multiplexer 201 de-multiplexes an input bitstream and extracts a video bitstream.
- When ctu_pcm_flag obtained by entropy-decoding the video bitstream of a CTU to be decoded is 1 (i.e., when the
PCM determiner 2011 determines that all CUs in the CTU to be decoded are I_PCM), thedecoding controller 202 calculates cu_split_flag of a CU to be processed in the CTU to be decoded. Specifically, based on the position (x0, y0) and size (log2CbSize) of the CU to be processed, the size (the width pic_width_in_luma_samples and the height pic_height_in_luma_samples) of an image frame, and the maximum size (Log2MaxIpcmCbSizeY, where Log2MaxIpcmCbSizeY is larger than or equal to the minimum CU size Log2MinCbSizeY) of the I_PCM CU, when any one or more of the following conditions are met, cu_split_flag=1 is set. In other words, the CU to be processed is split. - [Conditions]
- 1. x0+(1<<log2CbSize)>pic_width_in_luma_samples
- 2. y0+(1<<log2CbSize)>pic_height_in_luma_samples
- 3. log2CbSize >Log2MaxIpcmCbSizeY
- When none of the above conditions is met, the
decoding controller 202 sets cu_split_flag=0. In other words, the CU to be processed is not split. - Further, when cu_split_flag=0, the
decoding controller 202 reads, from the video bitstream, pcm_alignment_zero_bit syntax of an I_PCM CU to be decoded, and supplies the subsequent PCM data to thePCM decoder 203 without causing theentropy decoder 204 to entropy-decode the CU/PU header of a CU to be currently decoded. ThePCM decoder 203 reads the PCM data supplied through theswitch 221 and PCM decodes the PCM data. Thedecoding controller 202 changes over theswitch 222 to supply a reconstructed image supplied from thePCM decoder 203 to thebuffer 208. In the case of cu_split_flag=1, thedecoding controller 202 proceeds to the process of decoding the next CU to be processed in the CTU to be decoded. - When ctu_pcm_flag obtained by entropy-decoding the video bitstream of the CTU to be decoded is 0, the
decoding controller 202 causes theentropy decoder 204 to entropy-decode the CU/PU header of a CU to be currently decoded. When theentropy decoder 204 entropy-decodes pcm_flag having the value of 1, thedecoding controller 202 reads, from the video bitstream, pcm_alignment_zero_bit syntax of the I_PCM CU to be decoded, and supplies the subsequent PCM data to thePCM decoder 203. ThePCM decoder 203 reads the PCM data supplied through theswitch 221 and PCM-decodes the PCM data. Thedecoding controller 202 changes over theswitch 222 to supply a reconstructed image supplied from thePCM decoder 203 to thebuffer 208. When theentropy decoder 204 entropy-decodes pcm_flag having the value of 0 or when there exists no pcm_flag, theentropy decoder 204 further entropy-decodes the prediction parameter and the quantization level value of a CU to be decoded, and supplies them to the inverse transformer/inverse quantizer 206 and thepredictor 207. - The inverse transformer/
inverse quantizer 206 inverse-frequency-quantizes the quantization level value, and further inverse-frequency-transforms the frequency transform coefficient obtained by the inverse quantization. - After the inverse transform, the
predictor 207 generates a prediction signal using the image of a reconstructed picture stored in thebuffer 208 based on the entropy-decoded prediction parameter. After the prediction signal is generated, the prediction signal supplied from thepredictor 207 is added to a reconstructed prediction error image inverse-frequency-transformed by the inverse transformer/inverse quantizer 206, and the reconstructed prediction error image is supplied to theswitch 222. After the prediction signal is added, thedecoding controller 202 changes over theswitch 222 to supply the reconstructed prediction error image, to which the prediction signal is added, to thebuffer 208 as a reconstructed image. Then, the procedure proceeds to the process of decoding the next CU. - The operation of the video decoding device of the exemplary embodiment will be described with reference to a flowchart of
FIG. 5 . - In step S201, the
PCM determiner 2011 determines whether all CUs in a CTU to be decoded are I_PCM. When all the CUs in the CTU to be decoded are I_PCM, the procedure proceeds to step S202. Otherwise, although the processing is ended in the flowchart ofFIG. 5 , the video decoding device of the exemplary embodiment decodes each CU in the same manner as the typical video encoding device. - In step S202, the
decoding controller 202 calculates cu_split_flag of CU(n) to be decoded. - In step S203, the
decoding controller 202 determines whether calculated cu_split_flag is 0. When it is 0, the procedure proceeds to step S204. Otherwise (when cu_split_flag is 1), the CU to be decoded is split, and the procedure returns to step S202. - In step S204, the
decoding controller 202 reads, from a video bitstream, pcm_alignment_zero_bit syntax of CU(n) of I_PCM to be decoded. Note that thePCM decoder 203 may also read pcm_alignment_zero_bit syntax to be non-entropy encoded. - In step S205, the
decoding controller 202 reads, from the video bitstream, PCM data on CU(n) of I_PCM to be decoded. ThePCM decoder 203 non-entropy decodes the PCM data on CU(n). Note that thePCM decoder 203 may also read the PCM data to be non-entropy decoded. Then, as mentioned above, a reconstructed image of CU(n) is determined based on the PCM data. - In step S206, the
decoding controller 202 determines whether all the CUs in the CTU to be decoded are decoded. When all the CUs are decoded, the procedure proceeds to step S207. Otherwise, the procedure returns to step S202 to decode the next CU. - In step S207, the
entropy decoder 204 resets a decoding engine, and then ends the decoding process of the CTU to be decoded. - The operation of the video decoding device of the exemplary embodiment is as described above.
- According to the operation of the video decoding device of the exemplary embodiment described above, there is no need to wait for the completion of the process of resetting the decoding engine in order to read, from the bitstream, PCM data on an I_PCM CU subsequent to the first I_PCM CU. Therefore, the video decoding device of the exemplary embodiment can read PCM data on successive I_PCM CUs from the bitstream efficiently. In other words, the PCM data on the successive I_PCM CUs can be received efficiently.
- The coding tree syntax, the PCM quadtree syntax, and the PCM sample syntax corresponding to each of the aforementioned exemplary embodiments are depicted in
FIG. 6 ,FIG. 7 , andFIG. 8 , respectively. Referring toFIG. 6 ,FIG. 7 , andFIG. 8 , a state of transmitting ctu_pcm_flag syntax is found fromFIG. 6 . A state of determining cu_split_flag syntax, indicative of the splitting pattern of the coding tree unit, based on the position of an image block of the coding tree unit, the size of an image frame to be decoded, and the maximum PCM block size (Log2MaxIpcmCbSizeY) is found fromFIG. 7 . A state of encoding pcm_alignment_zero_bit and PCM data (pcm_sample_luma/pcm sample_chroma) is found fromFIG. 8 . In other words, it is found that the process of resetting the decoding engine is not required to read PCM data on successive I_PCM CUs from a bitstream. - In each of the aforementioned exemplary embodiments, it is assumed that all CUs in a CTU are I_PCM, but the present invention can also be applied to a case where all CUs in a CTU are Skip. For example, the all-PCM determiner which determines whether all CUs in a CTU are I_PCM has only to be replaced by an all-Skip determiner which determines whether all CUs in a CTU are Skip so that, when all the CUs are Skip, ctu_skip syntax will be encoded/decoded like the ctu_pcm syntax. Further, merge_idx described in the section 7.3.9.6 Prediction unit syntax of
NPL 1 has only to be encoded/decoded following the ctu_skip flag. - Each of the aforementioned exemplary embodiments can be configured in hardware, but it is also possible to implement the exemplary embodiment by a computer program.
- An information processing system depicted in
FIG. 9 includes aprocessor 1001, aprogram memory 1002, astorage medium 1003 for storing video data, and astorage medium 1004 for storing a bitstream. Thestorage medium 1003 and thestorage medium 1004 may be separate storage media, or storage areas on the same storage medium. A magnetic storage medium such as a hard disk can be used as a storage medium. - In the information processing system depicted in
FIG. 9 , a program for realizing the function of each block depicted respectively inFIG. 1 andFIG. 4 is stored in theprogram memory 1002. Then, theprocessor 1001 executes processes according to the program stored in theprogram memory 1002 to realize the functions of the video encoding device or the video decoding device depicted inFIG. 1 orFIG. 4 , respectively. - While the present invention has been described with reference to the aforementioned exemplary embodiments and examples, the present invention is not limited to the aforementioned exemplary embodiments and examples. Various changes that can be understood by those skilled in the art within the scope of the present invention can be made to the configurations and details of the present invention.
- This application is based upon and claims the benefit of priority from Japanese patent application No. 2013-000290, filed on Jan. 7, 2013, the disclosure of which is incorporated herein in its entirety by reference.
- 102 transformer/quantizer
- 103 entropy encoder
- 104 inverse transformer/inverse quantizer
- 105 buffer
- 106 predictor
- 107 PCM encoder
- 108 PCM decoder
- 109 multiplexed data selector
- 110, 1100 multiplexer
- 1101 PCM determiner
- 121 switch
- 122 switch
- 201 de-multiplexer
- 2011 PCM determiner
- 202 decoding controller
- 203 PCM decoder
- 204 entropy decoder
- 206 inverse transformer/inverse quantizer
- 207 predictor
- 208 buffer
- 221 switch
- 222 switch
- 1001 processor
- 1002 program memory
- 1003 storage medium
- 1004 storage medium
Claims (7)
1-6. (canceled)
7. A video encoding device comprising:
transform unit which transforms an image block;
entropy encoding unit which entropy-encodes transformed data on the image block transformed by the transform unit;
PCM-encoding unit which PCM-encodes the image block;
multiplexed data selection unit which selects, for each image block, either output data of the entropy encoding unit or output data of the PCM-encoding unit; and
multiplexing unit which multiplexes data indicating whether all image blocks belonging to a coding tree unit as a set of image blocks selected by the multiplexed data selection unit are PCM blocks, at a top of the coding tree unit,
wherein when all image blocks belonging to the coding tree unit are PCM blocks, the multiplexing unit does not multiplex at least data indicative of a splitting pattern of the coding tree unit.
8. A video decoding device comprising:
de-multiplexing unit which de-multiplexes a bitstream including data indicating whether all image blocks belonging to a coding tree unit to be decoded are PCM blocks;
PCM-decoding unit which PCM-decodes PCM data on an image block included in the bitstream;
entropy decoding unit which entropy-decodes transformed data on the image block included in the bitstream; and
decoding control unit which, when all image blocks belonging to the coding tree unit are PCM blocks, determines whether or not to split the coding tree unit based on a size of an image frame to be decoded, a position of the coding tree unit, and a predetermined PCM block size.
9. A video encoding method comprising:
transforming an image block;
entropy-encoding transformed data on the transformed image block;
PCM-encoding the image block;
selecting, for each image block, either entropy-encoded data or PCM-encoded data; and
multiplexing data indicating whether all image blocks belonging to a coding tree unit as a set of image blocks are PCM blocks, at a top of the coding tree unit,
wherein when all image blocks belonging to the coding tree unit are PCM blocks, at least data indicative of a splitting pattern of the coding tree unit is not multiplexed.
10. A video decoding method comprising:
de-multiplexing a bitstream including data indicating whether all image blocks belonging to a coding tree unit to be decoded are PCM blocks;
PCM-decoding PCM data on an image block included in the bitstream;
entropy-decoding transformed data on the image block included in the bitstream; and
when all image blocks belonging to the coding tree unit are PCM block, determining whether or not to split the coding tree unit based on a size of an image frame to be decoded, a position of the coding tree unit, and a predetermined PCM block size.
11. A non-transitory computer readable information recording medium storing a video encoding program, when executed by a processor, performs:
a process of transforming an image block;
a process of entropy-encoding transformed data on the transformed image block;
a process of PCM-encoding the image block;
a process of selecting, for each image block, either entropy-encoded data or PCM-encoded data; and
a process of multiplexing data indicating whether all image blocks belonging to a coding tree unit as a set of image blocks are PCM blocks, at a top of the coding tree unit,
wherein when all image blocks belonging to the coding tree unit are PCM blocks, the computer is caused not to multiplex at least data indicative of a splitting pattern of the coding tree unit.
12. A non-transitory computer readable information recording medium storing a video decoding program, when executed by a processor, performs:
de-multiplexing a bitstream including ctu_pcm_flag syntax indicating whether all image blocks belonging to a coding tree unit to be decoded are PCM blocks;
PCM-decoding PCM data on an image block included in the bitstream;
entropy-decoding transformed data on the image block included in the bitstream; and
when all image blocks belonging to the coding tree unit are PCM block, determining whether or not to split the coding tree unit based on a size of an image frame to be decoded, a position of the coding tree unit, and a predetermined PCM block size.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/210,414 US20160323604A1 (en) | 2013-01-07 | 2016-07-14 | Video encoding device, video decoding device, video encoding method, video decoding method, and program |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013-000290 | 2013-01-07 | ||
JP2013000290 | 2013-01-07 | ||
PCT/JP2013/007276 WO2014106878A1 (en) | 2013-01-07 | 2013-12-11 | Video encoding device, video decoding device, video encoding method, video decoding method, and program |
US201514759469A | 2015-07-07 | 2015-07-07 | |
US15/210,414 US20160323604A1 (en) | 2013-01-07 | 2016-07-14 | Video encoding device, video decoding device, video encoding method, video decoding method, and program |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/007276 Continuation WO2014106878A1 (en) | 2013-01-07 | 2013-12-11 | Video encoding device, video decoding device, video encoding method, video decoding method, and program |
US14/759,469 Continuation US9426485B2 (en) | 2013-01-07 | 2013-12-11 | Video encoding device, video decoding device, video encoding method, video decoding method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160323604A1 true US20160323604A1 (en) | 2016-11-03 |
Family
ID=51062203
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/759,469 Expired - Fee Related US9426485B2 (en) | 2013-01-07 | 2013-12-11 | Video encoding device, video decoding device, video encoding method, video decoding method, and program |
US15/210,414 Abandoned US20160323604A1 (en) | 2013-01-07 | 2016-07-14 | Video encoding device, video decoding device, video encoding method, video decoding method, and program |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/759,469 Expired - Fee Related US9426485B2 (en) | 2013-01-07 | 2013-12-11 | Video encoding device, video decoding device, video encoding method, video decoding method, and program |
Country Status (9)
Country | Link |
---|---|
US (2) | US9426485B2 (en) |
EP (1) | EP2942958B1 (en) |
JP (1) | JP6172162B2 (en) |
CN (1) | CN104904210B (en) |
ES (1) | ES2671972T3 (en) |
PL (1) | PL2942958T3 (en) |
PT (1) | PT2942958T (en) |
TR (1) | TR201808710T4 (en) |
WO (1) | WO2014106878A1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016074147A1 (en) * | 2014-11-11 | 2016-05-19 | Mediatek Singapore Pte. Ltd. | Separated coding tree for luma and chroma |
BR112020000166A2 (en) * | 2017-07-04 | 2020-07-14 | Huawei Technologies Co., Ltd. | apparatus for dividing a portion of the image improving the forced border partition, encoder and decoder comprising the same and corresponding methods |
WO2019189279A1 (en) * | 2018-03-30 | 2019-10-03 | Sharp Kabushiki Kaisha | Systems and methods for partitioning video blocks at a boundary of a picture for video coding |
JP2021518077A (en) * | 2018-04-01 | 2021-07-29 | エルジー エレクトロニクス インコーポレイティド | Video processing method and equipment for this |
WO2020056763A1 (en) * | 2018-09-21 | 2020-03-26 | Alibaba Group Holding Limited | Adaptive coding of video coding units based on coding block type |
BR112021011507A2 (en) * | 2018-12-21 | 2021-08-31 | Sony Group Corporation | IMAGE PROCESSING EQUIPMENT AND METHOD |
CN111279699B (en) * | 2019-04-26 | 2024-06-14 | 深圳市大疆创新科技有限公司 | Video encoding and decoding method and device |
JP7189854B2 (en) * | 2019-09-19 | 2022-12-14 | Kddi株式会社 | Image decoding device, image decoding method and program |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7646319B2 (en) * | 2005-10-05 | 2010-01-12 | Lg Electronics Inc. | Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor |
US7970072B2 (en) * | 2005-10-13 | 2011-06-28 | Lg Electronics Inc. | Method and apparatus for processing a signal |
US8102911B2 (en) * | 2006-06-06 | 2012-01-24 | Panasonic Corporation | Picture coding device |
US8266657B2 (en) * | 2001-03-15 | 2012-09-11 | Sling Media Inc. | Method for effectively implementing a multi-room television system |
US8321210B2 (en) * | 2008-07-17 | 2012-11-27 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoding/decoding scheme having a switchable bypass |
US8737751B2 (en) * | 2011-01-11 | 2014-05-27 | Sony Corporation | Image processing apparatus and method |
US9426418B2 (en) * | 2014-07-29 | 2016-08-23 | Qualcomm Incorporated | Reducing delay in video telephony |
US9591306B2 (en) * | 2011-11-04 | 2017-03-07 | Sun Patent Trust | Simplifications for boundary strength derivation in deblocking |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8203930B2 (en) * | 2005-10-05 | 2012-06-19 | Lg Electronics Inc. | Method of processing a signal and apparatus for processing a signal |
US8194754B2 (en) * | 2005-10-13 | 2012-06-05 | Lg Electronics Inc. | Method for processing a signal and apparatus for processing a signal |
JP2008022383A (en) * | 2006-07-13 | 2008-01-31 | Matsushita Electric Ind Co Ltd | Image encoding apparatus |
JP2010193401A (en) * | 2009-02-20 | 2010-09-02 | Canon Inc | Image encoding method and apparatus |
KR101452713B1 (en) | 2009-10-30 | 2014-10-21 | 삼성전자주식회사 | Method and apparatus for encoding and decoding coding unit of picture boundary |
JP5610539B2 (en) | 2011-06-15 | 2014-10-22 | サミー株式会社 | Bullet ball machine |
-
2013
- 2013-12-11 CN CN201380069590.7A patent/CN104904210B/en active Active
- 2013-12-11 ES ES13870017.4T patent/ES2671972T3/en active Active
- 2013-12-11 WO PCT/JP2013/007276 patent/WO2014106878A1/en active Application Filing
- 2013-12-11 PL PL13870017T patent/PL2942958T3/en unknown
- 2013-12-11 JP JP2014555396A patent/JP6172162B2/en not_active Expired - Fee Related
- 2013-12-11 TR TR2018/08710T patent/TR201808710T4/en unknown
- 2013-12-11 EP EP13870017.4A patent/EP2942958B1/en active Active
- 2013-12-11 US US14/759,469 patent/US9426485B2/en not_active Expired - Fee Related
- 2013-12-11 PT PT138700174T patent/PT2942958T/en unknown
-
2016
- 2016-07-14 US US15/210,414 patent/US20160323604A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8266657B2 (en) * | 2001-03-15 | 2012-09-11 | Sling Media Inc. | Method for effectively implementing a multi-room television system |
US7646319B2 (en) * | 2005-10-05 | 2010-01-12 | Lg Electronics Inc. | Method and apparatus for signal processing and encoding and decoding method, and apparatus therefor |
US7970072B2 (en) * | 2005-10-13 | 2011-06-28 | Lg Electronics Inc. | Method and apparatus for processing a signal |
US8102911B2 (en) * | 2006-06-06 | 2012-01-24 | Panasonic Corporation | Picture coding device |
US8321210B2 (en) * | 2008-07-17 | 2012-11-27 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoding/decoding scheme having a switchable bypass |
US8737751B2 (en) * | 2011-01-11 | 2014-05-27 | Sony Corporation | Image processing apparatus and method |
US9591306B2 (en) * | 2011-11-04 | 2017-03-07 | Sun Patent Trust | Simplifications for boundary strength derivation in deblocking |
US9426418B2 (en) * | 2014-07-29 | 2016-08-23 | Qualcomm Incorporated | Reducing delay in video telephony |
Also Published As
Publication number | Publication date |
---|---|
ES2671972T3 (en) | 2018-06-11 |
EP2942958A4 (en) | 2016-06-22 |
CN104904210A (en) | 2015-09-09 |
TR201808710T4 (en) | 2018-07-23 |
PT2942958T (en) | 2018-06-15 |
WO2014106878A1 (en) | 2014-07-10 |
CN104904210B (en) | 2018-01-30 |
US20150358632A1 (en) | 2015-12-10 |
PL2942958T3 (en) | 2018-08-31 |
JP6172162B2 (en) | 2017-08-02 |
EP2942958A1 (en) | 2015-11-11 |
EP2942958B1 (en) | 2018-03-21 |
JPWO2014106878A1 (en) | 2017-01-19 |
US9426485B2 (en) | 2016-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9426485B2 (en) | Video encoding device, video decoding device, video encoding method, video decoding method, and program | |
EP3205092B1 (en) | Intra block copy prediction restrictions for parallel processing | |
JP6183502B2 (en) | Video decoding apparatus, video decoding method, and program | |
JP2022036088A (en) | Video coding method and transmission method of data to video | |
CN109547790B (en) | Apparatus and method for processing partition mode in high efficiency video codec | |
US11582461B2 (en) | Video encoding device, video decoding device, video encoding method, video decoding method, and program restricts inter-prediction unit partitions based on coding unit depth | |
US20200296366A1 (en) | Video encoding method, video decoding method, video encoding device, video decoding device, and program | |
EP2920971B1 (en) | Devices and methods for processing of non-idr related syntax for high efficiency video coding (hevc) | |
US20190253737A1 (en) | Video encoding method, video decoding method, video encoding device, video decoding device, and program | |
US10542293B2 (en) | Video encoding method, video decoding method, video encoding device, video decoding device, and program | |
US20200068225A1 (en) | Video encoding method, video decoding method, video encoding device, video decoding device, and program | |
US10110892B2 (en) | Video encoding device, video decoding device, video encoding method, video decoding method, and program | |
WO2015151513A1 (en) | Video image encoding apparatus, method, and program, and image decoding apparatus, method, and program | |
US20190320179A1 (en) | Video encoding method, video decoding method, video encoding device, video decoding device, and program | |
KR101643839B1 (en) | Video encoding device, video decoding device, video encoding method, video decoding method, and program | |
KR20220163342A (en) | Encoding device, decoding device and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |