The present invention pertains generally to the field of image processing, and more precisely to the coding and to the decoding of digital images and of sequences of digital images. The invention can thus, especially, be applied to the video coding implemented in current video coders (MPEG, H.264, etc) or forthcoming video coders (ITU-T/VCEG) (H.265) or ISO/MPEG (HVC).
Current video coders (MPEG, H264, etc.) use a block-wise representation of the video sequence. The images are cut up into macro-blocks, each macro-block is itself cut up into blocks and each block, or macro-block, is coded by intra-image or inter-image prediction. Thus, certain images are coded by spatial prediction (intra prediction), while other images are coded by temporal prediction (inter prediction) with respect to one or more coded-decoded reference images, with the aid of a motion compensation known by the person skilled in the art. Moreover, for each block can be coded a residual block corresponding to the original block decreased by a prediction. The coefficients of this block are quantized after optional transformation, and then coded by an entropy coder.
Intra prediction and inter prediction require that certain blocks which have been previously coded and decoded are available, so as to be used, either at the decoder or at the coder, to predict the current block. A schematic example of such a predictive coding is represented in
Of more particular interest here is the entropy coder. The entropy coder encodes the information in its order of arrival. Typically a row-by-row traversal of the blocks is carried out, of “raster-scan” type, as illustrated in
An effective arithmetical coder of reasonable complexity is already known, called “CABAC” (“Context Adaptive Binary Arithmetic Coder”), introduced into the AVC compression standard (also known as ISO-MPEG4 part 10 and ITU-T H.264).
This entropy coder implements various concepts;
Thus, this entropy coder implements, for each context used, a system for learning probabilities on the fly with respect to the previously coded symbols for the context considered. This learning is based on the order of coding of these symbols. Typically, the image is traversed according to an order of “raster-scan” type, described hereinabove.
During the coding of a given symbol b that may equal 0 or 1, the learning of the probability Pi of occurrence of this symbol is updated for a current block MBi in the following manner:
where α is a predetermined value, for example 0.95 and Pi−1 is the probability of symbol occurrence calculated during the last occurrence of this symbol.
A schematic example of such an entropy coding is represented in
The drawback of such a type of entropy coding resides in the fact that during the coding of a symbol situated at the start of a row, the probabilities used correspond mainly to those observed for the symbols situated at the end of the previous row, having regard to the “raster scan” traversal of the blocks. Now, on account of the possible spatial variation of the probabilities of the symbols (for example for a symbol related to an item of motion information, the motion situated in the right part of an image may be different from that observed in the left part and therefore likewise for the local probabilities stemming therefrom), a lack of local appropriateness of the probabilities may be observed, with the risk of causing a loss of effectiveness during coding.
The document “Annex A: CDCM Video Codec Decoder Specification” available at the Internet address http://wftp3.itu.int/av-arch/jctvc-site/2010-04_A_Dresden/JCTVC-A114-AnnexA.doc (on 8 Feb. 2011) describes a coding method which alleviates the drawback mentioned above. The coding method described in the above document comprises, as illustrated in
The advantage of such an entropy coding is that it exploits the probabilities arising from the immediate environment of the current block, thereby making it possible to achieve higher coding performance. Furthermore, the coding technique used makes it possible to code in parallel a predetermined number of pairwise neighboring subsets of blocks. In the example represented in
A drawback of this parallel coding technique is that, to allow access to a probability of symbol occurrence calculated for the block situated immediately above the current block, it is necessary to store a quantity of probabilities associated with a row of blocks. If the second row of blocks SE2 is considered for example in
One of the aims of the invention is to remedy drawbacks of the aforementioned prior art.
For this purpose, a subject of the present invention relates to a method of coding at least one image comprising the steps of:
The method according to the invention is noteworthy in that:
Such an arrangement makes it possible to store in the buffer memory of the coder a much smaller quantity of probabilities of occurrence of symbols, since the entropy coding of a current block other than the first block of a subset of blocks no longer necessarily requires the use of the probabilities of symbol occurrence calculated for a previously coded and decoded block which is situated above a current block in another subset.
Such an arrangement furthermore makes it possible to maintain the existing compression performance, since the entropy coding of a current block uses probabilities of symbol occurrence calculated for another previously coded and decoded block of the subset to which the current block belongs, and that consequently a learning has already been carried out through the updating of the probabilities so that the latter are in accordance with the statistics of the video signal.
The main advantage of using the probabilities of symbol occurrence calculated for the first block of said other subset during the entropy coding of the first current block of a considered subset of blocks is that of economizing on the coders buffer memory by storing in the latter just the update of said probabilities of occurrence of symbols, without taking into account the symbol occurrence probabilities learned by the other consecutive blocks of said other subset.
The main advantage of using the symbol occurrence probabilities calculated for a block of said other subset, other than the first block, for example the second block, during the entropy coding of the first current block of a considered subset of blocks is that of obtaining more precise and therefore better learning of the probabilities of occurrence of symbols, thereby giving rise to better video compression performance.
In a particular embodiment, the coded and decoded block belonging to the same subset as the current block to be coded other than the first block of the subset is that which is the nearest neighbor of the current block to be coded.
Such an arrangement thus makes it possible to store just the symbol occurrence probabilities learned during the entropy coding of a first block of a subset considered, since in this particular case, account is taken only of the symbol occurrence probability calculated for the block situated above the first current block and belonging to another subset. This results in optimization of the reduction in the size of the coder's memory resources.
In another particular embodiment, in the case where the predictive coding of a block of a subset considered is intended to be performed with respect to a predetermined number of previously coded and decoded blocks of a subset other than said subset considered, the parallel coding of the blocks of said subset considered is performed with a shift by said predetermined number of blocks with respect to the subset of blocks immediately preceding in the order in which the parallel coding is performed.
Such an arrangement allows the achieving, for a current subset of blocks to be coded, a synchronization of the progress of processing of the blocks of the subset of blocks preceding the current subset in the order in which the parallel coding is performed, thereby making it possible to guarantee the availability of the block or blocks of the preceding subset which are used for the coding of a current block. In this manner, the step of verifying the availability of this or these blocks of the preceding subset, such as are implemented in parallel coders of the prior art, can advantageously be omitted, thereby allowing an acceleration of the processing time required to process the blocks in the coder according to the invention.
Correlatively, the invention further relates to a device for coding at least one image comprising:
Such a coding device is noteworthy in that:
In a corresponding manner, the invention also relates to a method of decoding a stream representative of at least one coded image, comprising the steps of:
Such a decoding method is noteworthy in that:
In a particular embodiment, the decoded block belonging to the same subset as the current block to be decoded other than the first block of the subset is that which is the nearest neighbor of the current block to be decoded.
In another particular embodiment, in the case where the predictive decoding of a block of a subset considered is intended to be performed with respect to a predetermined number of previously coded and decoded blocks of a subset other than the subset considered, the parallel decoding of the blocks of the subset considered is performed with a shift by the predetermined number of blocks with respect to the subset of blocks immediately preceding in the order in which the parallel decoding is performed.
Correlatively, the invention further relates to a device for decoding a stream representative of at least one coded image, comprising:
Such a decoding device is noteworthy in that:
The invention is also aimed at a computer program comprising instructions for the execution of the steps of the coding or decoding method hereinabove, when the program is executed by a computer.
Such a program can use any programming language, and be in the form of source code, object code, or of code intermediate between source code and object code, such as in a partially compiled form, or in any other desirable form.
Yet another subject of the invention is also aimed at a recording medium readable by a computer, and comprising computer program instructions such as mentioned hereinabove.
The recording medium can be any entity or device capable of storing the program. For example, such a medium can comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a diskette (floppy disk) or a hard disk.
Moreover, such a recording medium can be a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention can be in particular downloaded on a network of Internet type.
Alternatively, such a recording medium can be an integrated circuit into which the program is incorporated, the circuit being adapted for executing the method in question or to be used in the execution of the latter.
The coding device, the decoding method, the decoding device and the computer programs aforementioned present at least the same advantages as those conferred by the coding method according to the present invention.
Other characteristics and advantages will become apparent on reading two preferred embodiments described with reference to the figures in which:
An embodiment of the invention will now be described, in which the coding method according to the invention is used to code a sequence of images according to a binary stream close to that obtained by a coding according to the H.264/MPEG-4 AVC standard. In this embodiment, the coding method according to the invention is for example implemented in a software or hardware manner by modifications of a coder initially in accordance with the H.264/MPEG-4 AVC standard. The coding method according to the invention is represented in the form of an algorithm comprising steps C1 to C5, represented in
According to the embodiment of the invention, the coding method according to the invention is implemented in a coding device CO represented in
With reference to
Each block or macroblock can moreover itself be divided into sub-blocks which are themselves subdividable.
Such a cutting is performed by a partitioning module PCO represented in
With reference to
Such a grouping is performed by a calculation module GRCO represented in
With reference to
Such a coding in parallel is implemented by a number R of coding units UCk (1≤k≤R) with R=4 as represented in
As represented in greater detail in
The predictive coding sub-unit SUCPk is able to perform a predictive coding of the current block, according to the conventional prediction techniques, such as for example in Intra and/or Inter mode.
The entropy coding sub-unit SUCEk is for its part of CABAC type, but modified according to the present invention, as will be described further on in the description.
As a variant, the entropy coding sub-unit SUCEk could be a Huffman coder known as such.
In the examples represented in
Other types of traversal than that which has just been described hereinabove are of course possible. Thus, it is possible to cut the image IE into several sub-images and to independently apply a cutting of this type to each sub-image. It is also possible for each coding unit to process not nested rows, as explained hereinabove, but nested columns. It is also possible to traverse the rows or columns in either direction.
With reference to
With reference to
Thus, as will be described in detail further on in the description, the decoder according to the invention is able to isolate the sub-streams Fk within the global stream F and to assign them to each component decoding unit of the decoder. It will be noted that such a decomposition of the sub-streams into global stream is independent of the choice of the use of several coding units operating in parallel, and that it is possible with this approach to have just the coder or just the decoder which comprises units operating in parallel.
Such a construction of the global stream F is implemented in a stream construction module CF, such as represented in
The various specific sub-steps of the invention, such as are implemented during the aforementioned parallel coding step C3, in a coding unit UCk, will now be described with reference to
In the course of a step C31, the coding unit UCk selects as current block tie first block to be coded of a current row SEk represented in
In the course of a step C32, the unit UCk tests whether the current block is the first block (situated at the top and on the left) of the image IE which has been cut up into blocks in the aforementioned step C1.
If such is the case, in the course of a step C33, the coding probabilities are initialized to values Pinit previously defined in the coder CO of
If such is not the case, there is undertaken, in the course of a step C40 which will be described later in the subsequent description, the determination of the availability of the necessary previously coded and decoded blocks.
In the course of a step C34, there is undertaken the coding of the first current block MB1 of the first row SE1 represented in
In the course of a first sub-step C341, there is undertaken the predictive coding of the current block MB1 by known techniques of intra and/or inter prediction, in the course of which the block MB1 is predicted with respect to at least one previously coded and decoded block.
It goes without saying that other modes of intra prediction such as proposed in the H.264 standard are possible.
The current block MB1 can also be subjected to a predictive coding in inter mode, in the course of which the current block is predicted with respect to a block arising from a previously coded and decoded image. Other types of prediction are of course conceivable. Among the possible predictions for a current block, the optimal prediction is chosen according to a rate distortion criterion well known to the person skilled in the art.
Said aforementioned predictive coding step makes it possible to construct a predicted block MBp1 which is an approximation of the current block MB1. The information relating to this predictive coding will subsequently be written into the stream F transmitted to the decoder DO. Such information comprises especially the type of prediction (inter or intra), and if appropriate, the mode of intra prediction, the type of partitioning of a block or macroblock if the latter has been subdivided, the reference image index and the displacement vector used in the inter prediction mode. This information is compressed by the coder CO.
In the course of a following sub-step C342, there is undertaken the subtraction of the predicted block MBp1 from the current block MB1 to produce a residual block MBr1.
In the course of a following sub-step C343, there is undertaken the transformation of the residual block MBr1 according to a conventional operation of direct transformation such as for example a discrete cosine transformation of DCT type, to produce a transformed block MBt1.
In the course of a following sub-step C344, there is undertaken the quantization of the transformed block MBt1 according to a conventional quantization operation, such as for example a scalar quantization. A block of quantized coefficients MBq1 is then obtained.
In the course of a following sub-step C345, there is undertaken the entropy coding of the block of quantized coefficients MBq1. In the preferred embodiment, this entails a CABAC entropy coding.
In the course of a following sub-step C346, there is undertaken the dequantization of the block MBq1 according to a conventional dequantization operation, which is the operation inverse to the quantization performed in step C344. A block of dequantized coefficients MBDq1 is then obtained.
In the course of a following sub-step C347, there is undertaken the inverse transformation of the block of dequantized coefficients MBDq1 which is the operation inverse to the direct transformation performed in step C343 hereinabove. A decoded residual block MBDr1 is then obtained.
In the course of a following sub-step C348, there is undertaken the construction of the decoded block MBD1 by adding to predicted block MBp1 the decoded residual block MBDr1. It should be noted that the latter block is the same as the decoded block obtained on completion of the method of decoding the image IE which will be described further on in the description. The decoded block MBD1 is thus rendered available to be used by the coding unit UC1 or any other coding unit forming part of the predetermined number R of coding units.
On completion of the aforementioned coding step C34, the entropy coding sub-unit SUCEk such as represented in
Subsequent to the aforementioned coding step C34, a test is performed, in the course of a step C35, to determine whether the current block is the jth block of this same row, were j is a known predetermined value of the coder CO which is at least equal to 1.
If such is the case, in the course of a step C36, the set of probabilities calculated for the jth block is stored in the buffer memory MT of the coder CO such as represented in
In the course of a step C37, the unit UCk tests whether the current block of the row SEk which has just been coded is the last block of the image IE.
If such is the case, in the course of a step C38, the coding method is ended.
If such is not the case, there is undertaken, in the course of step C39, the selection of the following block MBi to be coded in accordance with the order of traversal represented by the arrow PS in
If in the course of step C35, the current block is not the jth block of the row SEk considered, then step C37 hereinabove is undertaken.
In the course of a step C40, there is undertaken the determination of the availability of previously coded and decoded blocks which are necessary for coding the current block MBi. Having regard to the fact that this entails a parallel coding of the blocks of the image IE by different coding units UCk, it may be that these blocks were not coded and decoded by the coding unit assigned to the coding of these blocks and that they are therefore not yet available. Said determining step consists in verifying whether a predetermined number N′ of blocks situated in the previous row SEk−1, for example the two blocks situated respectively above and above to the right of the current block, are available for the coding of the current block, that is to say if they have already been coded and then decoded by the coding unit UCk−1 assigned to their coding. Said determining step also consists in verifying the availability of at least one block situated to the left of the current block to be coded MBi. However, having regard to the order of traversal PS chosen in the embodiment represented in
This test step being liable to slow the coding method, in an alternative manner in accordance with the invention, a clock CLK represented in
In the course of a step C41, a test is performed to determine whether the current block is the first block of the row SEk considered.
If such is the case, in the course of a step C42, there is undertaken the reading in the buffer memory MT solely of the symbol occurrence probabilities calculated during the coding of the jth block of the previous row SEk−1.
According to a first variant represented in
According to a second variant of the aforementioned step C42 which is illustrated in
Subsequent to step C42, the current block is coded and then decoded by iteration of steps C34 to C38 described above.
If subsequent to the aforementioned step C41, the current block is not the first block of the row SEk considered, there is advantageously not undertaken the reading of the probabilities arising from the previously coded and decoded block which is situated in the same row SEk, that is to say the coded and decoded block situated immediately to the left of the current block, in the example represented. Indeed, having regard to the sequential traversal of reading PS of the blocks situated in the same row, as represented in
Consequently, in the course of a step C43, there is undertaken the learning of the probabilities of symbol occurrence for the entropy coding of said current block, which correspond solely to those which were calculated for said preceding block in the same row, as is represented by the double solid arrows in
Subsequent to step C43, the current block is coded and then decoded by iteration of steps C34 to C38 described above.
An embodiment of the decoding method according to the invention will now be described, in which the decoding method is implemented in a software or hardware manner by modifications of a decoder initially in accordance with the H.264/MPEG-4 AVC standard.
The decoding method according to the invention is represented in the form of an algorithm comprising steps D1 to D4, represented in
According to the embodiment of the invention, the decoding method according to the invention is implemented in a decoding device D0 represented in
With reference to
Each block or macroblock can moreover itself be divided into sub-blocks which are themselves subdividable.
Such an identification is performed by a stream extraction module EXDO such as represented in
In the example represented in
With reference to
Such a decoding in parallel is implemented by a number R of decoding units UDk (1≤k≤R) with R=4 as represented in
As represented in greater detail in
The predictive decoding sub-unit SUDPk is able to perform a predictive decoding of the current block, according to the conventional prediction techniques, such as for example in Intra and/or Inter mode.
The entropy decoding sub-unit SUDEk is for its part of CABAL type, but modified according to the present invention, as will be described further on in the description.
As a variant, the entropy decoding sub-unit SUDEk could be a Huffman decoder known as such.
In the example represented in
Other types of traversal than that which has just been described hereinabove are of course possible. For example, each decoding unit could process not nested rows, as explained hereinabove, but nested columns. It is also possible to traverse the rows or columns in either direction.
With reference to
In the course of a fourth decoding step D4 represented in
The various specific sub-steps of the invention, such as are implemented during the aforementioned parallel decoding step D2, in a decoding unit UDk, will now be described with reference to
In the course of a step D21, the decoding unit UDk selects as current block the first block to be decoded of the current row SEk represented in
In the course of a step D22, the unit UDk tests whether the current block is the first block of the decoded image, in this instance the first block of the sub-stream F1.
If such is the case, in the course of a step D23, the decoding probabilities are initialized to values Pinit previously defined in the decoder DO of
If such is not the case, there is undertaken, in the course of a step D30 which will be described later in the subsequent description, the determination of the availability of the necessary previously decoded blocks.
In the course of a step D24, there is undertaken the decoding of the first current block MB1 of the first row SE1 represented in
In the course of a first sub-step D241, there is undertaken the entropy decoding of the syntax elements related to the current block. More precisely, the syntax elements related to the current block are decoded by the CABAC entropy decoding sub-unit SUDE1 such as represented in
In the course of a following sub-step D242, there is undertaken the predictive decoding of the current block MB1 by known techniques of intra and/or inter prediction, in the course of which the block MB1 is predicted with respect to at least one previously decoded block.
It goes without saying that other modes of intra prediction such as proposed in the H.264 standard are possible.
In the course of this step, the predictive decoding is performed with the aid of the syntax elements decoded in the previous step and comprising especially the type of prediction (inter or intra), and if appropriate, the mode of intra prediction, the type of partitioning of a block or macroblock if the latter has been subdivided, the reference image index and the displacement vector used in the inter prediction mode.
Said aforementioned predictive decoding step makes it possible to construct a predicted block MBp1,
In the course of a following sub-step D243, there is undertaken the construction of a quantized residual block MBq1 with the aid of the previously decoded syntax elements,
In the course of a following sub-step D244, there is undertaken the dequantization of the quantized residual block MBq1 according to a conventional dequantization operation which is the operation inverse to the quantization performed in the aforementioned step C344, to produce a decoded dequantized block MBDt1.
In the course of a following sub-step D245, there is undertaken the inverse transformation of the dequantized block MBDt1 which is the operation inverse to the direct transformation performed in step C343 hereinabove. A decoded residual block MBDr1 is then obtained.
In the course of a following sub-step D246, there is undertaken the construction of the decoded block MBD1 by adding to predicted block MBp1 the decoded residual block MBDr1. The decoded block MBD1 is thus rendered available to be used by the decoding unit UD1 or any other decoding unit forming part of the predetermined number N of decoding units.
On completion of the aforementioned decoding step D246, the entropy decoding sub-unit SUDE1 such as represented in
Subsequent to the aforementioned decoding step D24, a test is performed, in the course of a step D25, to determine whether the current block is the jth block of this same row, where j is a known predetermined value of the decoder DO which is at least equal to 1.
If such is the case, in the course of a step D26, the set of probabilities calculated for the jth block is stored in the buffer memory MT of the decoder DO such as represented in
In the course of a step D27, the unit UDk tests whether the current block which has just been decoded is the last block of the last sub-stream.
If such is the case, in the course of a step D28, the decoding method is ended.
If such is not the case, there is undertaken, in the course of step D29, the selection of the following block MBi to be decoded in accordance with the order of traversal represented by the arrow PS in
If in the course of the aforementioned step D25, the current block is not the jth block of the row SEDk considered, step D27 hereinabove is undertaken.
In the course of a step D30 which follows the aforementioned step D29, there is undertaken the determination of the availability of previously decoded blocks which are necessary for decoding the current block MBi. Having regard to the fact that this entails a parallel decoding of the blocks by different decoding units UDk, it may be that these blocks were not decoded by the decoding unit assigned to the decoding of these blocks and that they are therefore not yet available. Said determining step consists in verifying whether a predetermined number N′ of blocks situated in the previous row SEk−1, for example the two blocks situated respectively above and above to the right of the current block, are available for the decoding of the current block, that is to say if they have already been decoded by the decoding unit UDk−1 assigned to their decoding. Said determining step also consists in verifying the availability of at least one block situated to the left of the current block to be decoded MBi. However, having regard to the order of traversal PS chosen in the embodiment represented in
This test step being liable to slow the decoding method, in an alternative manner in accordance with the invention, a clock CLK represented in
In the course of a step D31, a test is performed to determine whether the current block is the first block of the row SEk considered.
If such is the case, in the course of a step D32, there is undertaken the reading in the buffer memory MT solely of the symbol occurrence probabilities calculated during the decoding of the jth block of the previous row SEk−1.
According to a first variant represented in
According to a second variant of the aforementioned step D32 which is illustrated in
Subsequent to step D32, the current block is decoded by iteration of steps D24 to D28 described above.
If subsequent to the aforementioned step D31, the current block is not the first block of the row SEk considered, there is advantageously not undertaken the reading of the probabilities arising from the previously decoded block which is situated in the same row SEk, that is to say the decoded block situated immediately to the left of the current block, in the example represented. Indeed, having regard to the sequential traversal of reading PS of the blocks situated in the same row, as represented in
Consequently, in the course of a step D33, there is undertaken the learning of the probabilities of symbol occurrence for the entropy decoding of said current block, which probabilities correspond solely to those which were calculated for said preceding block in the same row, as represented by the double solid arrows in
Subsequent to step D33, the current block is decoded by iteration of steps D24 to D28 described above.
Number | Date | Country | Kind |
---|---|---|---|
1151849 | Mar 2011 | FR | national |
This application is a continuation of U.S. application Ser. No. 17/750,735, filed May 23, 2022, which is a continuation of U.S. application Ser. No. 16/895,192, filed Jun. 8, 2020, now U.S. Pat. No. 11,343,535, which is a continuation of U.S. application Ser. No. 16/418,343, filed May 21, 2019, now U.S. Pat. No. 10,681,376, which is a continuation of U.S. application Ser. No. 15/419,870, filed Jan. 30, 2017, now U.S. Pat. No. 10,382,784, which is a continuation of U.S. application Ser. No. 15/003,148 filed Jan. 21, 2016, now U.S. Pat. No. 9,628,818, which is a continuation of U.S. application Ser. No. 14/492,546, filed Sep. 22, 2014, now U.S. Pat. No. 9,271,012, which is a continuation of U.S. application Ser. No. 14/003,014, filed Sep. 4, 2013, now U.S. Pat. No. 9,560,380, which is the U.S. national phase of International Patent Application No. PCT/FR2012/050380, filed Feb. 23, 2012, which claims the benefit of French Application No. 1151849, filed Mar. 7, 2011. The entire contents each of the foregoing are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
6480537 | Agarwal et al. | Nov 2002 | B1 |
6900748 | Marpe et al. | May 2005 | B2 |
7221483 | Yagishita et al. | May 2007 | B2 |
7463781 | Pearson et al. | Dec 2008 | B2 |
8319672 | Kim et al. | Nov 2012 | B2 |
8520740 | Flachs et al. | Aug 2013 | B2 |
8824813 | Sasaki | Sep 2014 | B2 |
8953692 | Tanaka et al. | Feb 2015 | B2 |
9042457 | Hayashi | May 2015 | B2 |
9271012 | Henry et al. | Feb 2016 | B2 |
9319692 | Henry et al. | Apr 2016 | B2 |
9319693 | Henry et al. | Apr 2016 | B2 |
9319694 | Henry et al. | Apr 2016 | B2 |
9338469 | Amon | May 2016 | B2 |
9380308 | Henry et al. | Jun 2016 | B2 |
9560380 | Henry et al. | Jan 2017 | B2 |
9628818 | Henry et al. | Apr 2017 | B2 |
9648325 | Baeza | May 2017 | B2 |
9654783 | Henry et al. | May 2017 | B2 |
9661335 | Henry et al. | May 2017 | B2 |
9848196 | Henry et al. | Dec 2017 | B2 |
10033999 | Henry et al. | Jul 2018 | B2 |
10362311 | Henry et al. | Jul 2019 | B2 |
10382784 | Henry et al. | Aug 2019 | B2 |
10681376 | Henry et al. | Jun 2020 | B2 |
10694186 | Henry et al. | Jun 2020 | B2 |
11343535 | Henry et al. | May 2022 | B2 |
11736723 | Henry et al. | Aug 2023 | B2 |
20020021234 | Yanagiya et al. | Feb 2002 | A1 |
20030081850 | Karczewicz | May 2003 | A1 |
20040066852 | MacInnis | Apr 2004 | A1 |
20040179601 | Kobayashi et al. | Sep 2004 | A1 |
20050008079 | Boon et al. | Jan 2005 | A1 |
20050038837 | Marpe et al. | Feb 2005 | A1 |
20050123207 | Marpe | Jun 2005 | A1 |
20050232505 | Pearson et al. | Oct 2005 | A1 |
20060008079 | Daemen et al. | Jan 2006 | A1 |
20060092271 | Banno et al. | May 2006 | A1 |
20060233239 | Sethi et al. | Oct 2006 | A1 |
20070201559 | He | Aug 2007 | A1 |
20070280345 | Tu et al. | Dec 2007 | A1 |
20080056347 | Chiu et al. | Mar 2008 | A1 |
20080219349 | Huang et al. | Sep 2008 | A1 |
20080240242 | Lainema et al. | Oct 2008 | A1 |
20080246637 | Chen et al. | Oct 2008 | A1 |
20080279182 | Hafeez et al. | Nov 2008 | A1 |
20080310504 | Ye et al. | Dec 2008 | A1 |
20090135886 | Robertson et al. | May 2009 | A1 |
20090168868 | Jahanghir | Jul 2009 | A1 |
20090175331 | Kobayashi et al. | Jul 2009 | A1 |
20090180536 | Shimofure | Jul 2009 | A1 |
20090201949 | Sunahara | Aug 2009 | A1 |
20090225234 | Ward et al. | Sep 2009 | A1 |
20090245349 | Zhao | Oct 2009 | A1 |
20090245392 | Leung et al. | Oct 2009 | A1 |
20090279613 | Suzymura | Nov 2009 | A1 |
20100052956 | Choo et al. | Mar 2010 | A1 |
20100098155 | Demircin et al. | Apr 2010 | A1 |
20100135416 | Huang | Jun 2010 | A1 |
20100215030 | Agrawal et al. | Aug 2010 | A1 |
20100238998 | Nanbu et al. | Sep 2010 | A1 |
20100322317 | Yoshimatsu et al. | Dec 2010 | A1 |
20100328503 | Shintani et al. | Dec 2010 | A1 |
20110069899 | Reese | Mar 2011 | A1 |
20110243226 | Choi et al. | Oct 2011 | A1 |
20110317769 | Tanaka et al. | Dec 2011 | A1 |
20120014429 | Zhao et al. | Jan 2012 | A1 |
20120014433 | Karczewicz et al. | Jan 2012 | A1 |
20120039393 | Borg et al. | Feb 2012 | A1 |
20120082215 | Sze et al. | Apr 2012 | A1 |
20120163448 | Zheng et al. | Jun 2012 | A1 |
20120163452 | Horowitz et al. | Jun 2012 | A1 |
20120183074 | Fuldseth | Jul 2012 | A1 |
20120207213 | Amon | Aug 2012 | A1 |
20120219066 | Amonou et al. | Aug 2012 | A1 |
20120263232 | Pateux et al. | Oct 2012 | A1 |
20120293343 | Lee et al. | Nov 2012 | A1 |
20120314944 | Ninan et al. | Dec 2012 | A1 |
20130016771 | Misra | Jan 2013 | A1 |
20130021350 | Schmit et al. | Jan 2013 | A1 |
20130114000 | Atkins | May 2013 | A1 |
20130187798 | Marpe et al. | Jul 2013 | A1 |
20130279606 | Vanam et al. | Oct 2013 | A1 |
20140010312 | Song | Jan 2014 | A1 |
20140016700 | Henry et al. | Jan 2014 | A1 |
20140254665 | Henry et al. | Sep 2014 | A1 |
20140334557 | Schierl et al. | Nov 2014 | A1 |
20150010088 | Henry et al. | Jan 2015 | A1 |
20150016524 | Henry et al. | Jan 2015 | A1 |
20150195537 | Henry et al. | Jul 2015 | A1 |
20150195538 | Henry et al. | Jul 2015 | A1 |
20160142720 | Henry et al. | May 2016 | A1 |
20160142733 | Henry et al. | May 2016 | A1 |
20160150250 | Henry et al. | May 2016 | A1 |
20160234512 | Henry et al. | Aug 2016 | A1 |
20170142441 | Henry et al. | May 2017 | A1 |
20170223353 | Henry et al. | Aug 2017 | A1 |
20180302632 | Henry et al. | Oct 2018 | A1 |
20190273947 | Henry et al. | Sep 2019 | A1 |
20190297323 | Henry et al. | Sep 2019 | A1 |
20200322609 | Henry et al. | Oct 2020 | A1 |
20210021867 | Henry et al. | Jan 2021 | A1 |
20220360817 | Henry et al. | Nov 2022 | A1 |
20230353740 | Henry et al. | Nov 2023 | A1 |
Number | Date | Country |
---|---|---|
1299560 | Jun 2001 | CN |
1489391 | Apr 2004 | CN |
1527610 | Sep 2004 | CN |
1547854 | Nov 2004 | CN |
1703089 | Nov 2005 | CN |
1717050 | Jan 2006 | CN |
1926769 | Mar 2007 | CN |
101068359 | Nov 2007 | CN |
101198051 | Jun 2008 | CN |
101411197 | Apr 2009 | CN |
101490968 | Jul 2009 | CN |
101491097 | Jul 2009 | CN |
101543071 | Sep 2009 | CN |
101653003 | Feb 2010 | CN |
101682771 | Mar 2010 | CN |
101836454 | Sep 2010 | CN |
101841700 | Sep 2010 | CN |
101977327 | Feb 2011 | CN |
101981934 | Feb 2011 | CN |
H0723397 | Jan 1995 | JP |
H08116534 | May 1996 | JP |
2005033336 | Feb 2005 | JP |
2005223533 | Aug 2005 | JP |
2006101406 | Apr 2006 | JP |
2006141037 | Jun 2006 | JP |
2006279574 | Oct 2006 | JP |
2007020002 | Jan 2007 | JP |
2007504757 | Mar 2007 | JP |
2007142637 | Jun 2007 | JP |
2007166192 | Jun 2007 | JP |
2007520912 | Jul 2007 | JP |
2007300455 | Nov 2007 | JP |
2008011204 | Jan 2008 | JP |
2008067026 | Mar 2008 | JP |
2008537373 | Sep 2008 | JP |
2009111605 | May 2009 | JP |
200927306 | Nov 2009 | JP |
2010050911 | Mar 2010 | JP |
2010278519 | Dec 2010 | JP |
2011066677 | Mar 2011 | JP |
2014525187 | Sep 2014 | JP |
2015516747 | Jun 2015 | JP |
2016197823 | Nov 2016 | JP |
1020140131926 | Nov 2014 | KR |
10-1705940 | Feb 2017 | KR |
10-2027741 | Oct 2019 | KR |
10-2081922 | Feb 2020 | KR |
10-2240333 | Apr 2021 | KR |
2330325 | Jul 2008 | RU |
2371881 | Oct 2009 | RU |
200822760 | May 2008 | TW |
WO2008036237 | Mar 2008 | WO |
WO2009119888 | Oct 2009 | WO |
WO2010063184 | Jun 2010 | WO |
WO2010146782 | Dec 2010 | WO |
WO2011042645 | Apr 2011 | WO |
WO2011045339 | Apr 2011 | WO |
WO2011046339 | Apr 2011 | WO |
WO2011052142 | May 2011 | WO |
WO2011004577 | Dec 2012 | WO |
WO2012175870 | Dec 2012 | WO |
WO2013153226 | Oct 2013 | WO |
WO2013010997 | Jan 2016 | WO |
Entry |
---|
Huang et al. “Ordered Entropy Slices for Parallel CODEC”, Jul. 5, 2009 (Jul. 5, 2009), Video Coding Experts Group of ITU-T SG.16, 38th VCEG Meeting; Jul. 2009. |
Okubo, “Impress Standard Textbook Series-3rd Revision of H.264/AVC Textbook,” 1st Edition, Jan. 1, 2009, Impress R&D, Japan, pp. 86-87, (8 pages with Machine Translation). |
Bossen, “Common Test Conditions and Software Reference Configurations,” 5th JCT-VC Meeting, Geneva, Mar. 2011 (JCTVC-E700), 11 pages. |
Clare et al., “Wavefront and Cabac Flush: Different Degrees of Parallelism Without Transcoding,” Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, Jul. 14-22, 2011, [JCTVC-F275], ITU-T, Jul. 1, 2011, JCTVC-F275 (version 1), pp. 1-11. |
Clare et al., “Wavefront Parallel Processing for HEVC Encoding and Decoding,” JCT-VC Meeting, 97, MPEG Meeting, Jul. 14, 2011-Jul. 22, 2011; Torino; (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16 No. JCTVC-F274, (Jul. 1, 2011) , 16 pages, XP030009297. |
EP Extended European Search Report in European Application No. 20155879.8, dated Jul. 28, 2020, 13 pages. |
EP Extended European Search Report in European Application No. 20175631.9, dated Jul. 10, 2020, 20 pages (with Machine Translation). |
Fuldseth et al., “Tiles,” 5th JCT-VC Meeting, Geneva, Mar. 2011 (JCTVC-E408), 14 pages. |
Henry and Pateux, “Wavefront Parallel Processing,” 5th JCT-VC Meeting, Geneva, Mar. 2011 (JCTVC-E196), 9 pages. |
Hirashima et al., “The Effect of FMO for a QoE-based Video Output Scheme on QoE in Audio-Video IP Transmission,” EICE Tech. Rep., Jul. 2009, vol. 109, No. 121, pp. 7-12 (English Abstract only). |
Huang et al., “Ordered Entropy Slices for Parallel CODEC,” 38. VCEG Meeting; 89. MPEG Meeting; Jul. 1-8, 2009; London, UK & Geneva, CH; (Video Coding Experts Group of ITU-T SG. 16), No. VCEG-AL25, Jul. 5, 2009 (Jul. 5, 2009), XP030003706. |
Huang et al., “Ordered Entropy Slices for Parallel Codec,” ITU-T SG 16 Q.6 Video Coding Experts Group 38th Meeting. VCEG-AL25 rev.1, Jul. 5, 2009, pp. 1-10. |
International Preliminary Report on Patentability issued in PCT/FR2012/051391, on Dec. 23, 2013, 7 pages (in French). |
International Preliminary Report on Patentability issued in PCT/FR2012/050380 on Sep. 13, 2013, 6 pages (in French). |
International Search Report and Written Opinion dated Aug. 1, 2012 for corresponding International Application No. PCT/FR2012/051391, filed Jun. 20, 2012. |
International Search Report issued in PCT/FR2012/050380 on May 8, 2012, with English translation, 7 pages. |
International Search Report issued in PCT/FR2012/051391, on Aug. 9, 2012, with English translation, 7 pages. |
International Search Report issued in PCT/JP2009-056778, 4 pages. |
ISO/IEC JTC1/SC29 WG1, JPEG 2000, “Coding of Still Pictures: JPEG 2000 Part 1 020719 (Final Publication Draft),” Project 1.29.15444 (JPEG 2000), ITU-T Rec. T.800 (2002), N2678, Jul. 19, 2002, 245 pages. |
JP Decision on Opposition in JP Appln. No. 2018-145539, dated Jul. 1, 2022, 139 pages (with Machine Translation). |
JP Opposition in JP Appln. No. 2018-145539, dated Nov. 19, 2021, 160 pages (with Machine Translation). |
Kato et al., “VLSI Architecture of Multi-Symbol CABAC Decoder for H.264/AVC High Profile,” IEICE technical report, vol. 107, No. 289, The Institute of Electronics, Information and Communication Engineers, Oct. 18, 2007, pp. 65-70, ISSN:0913-5685. |
Lee, et al., “High-Efficiency Video Compression Framework Based on Flexible Unit Representation,” Proceedings of the second APSIPA Annual Summit and Conference, Dec. 17, 2010, pp. 6523-6631. |
Li, “Image Compression—The Mechanics of the JPEG 2000,” retrieved from URL<http://research.microsoft.com/en-us/um/people/jinl/papers_2002/ms . . . , >, 20 pages. |
Marpe et al., “Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard,” IEEE Transactions on Circuits and Systems for Video Technology, IEEE Service Center, Piscataway, NJ, USA, vol. 13, No. 7, Jul. 1, 2003, pp. 620-636. |
Marpe et al., “Improved CABAC,” 15. VCEG Meeting; 58; MPEG Meeting; Dec. 4-6, 2011; Pattaya, Th; (Video Coding Experts Group of ITU-T SG.16), No. VCEG-018, Nov. 28, 2001, pp. 1-6, XP030003351. |
Marpe et al., “Context-based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard,” IEEE Trans. on CSVT, Jul. 2003, vol. 13, No. 7, pp. 620-636. |
Misra and Segall, “Periodic Initialization for Wavefront Coding Functionality,” 4th JCT-VC Meeting, Daegu, Jan. 2011 (JCTVC-D073), 7 pages. |
Misra et al., “Entropy Slices for Parallel Entropy Coding,” JCTVC-C256, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 3rd Meeting: Guangzhou, CN, Oct. 7-15, 2010, 6 pages. |
Misra et al., “Lightweight slicing for entropy coding,” 4th JCT-VC Meeting, Daegu, Jan. 2011 (JCTVC-D070), 7 pages. |
Moccagatta, “Arbitrary Slice Order and Flexible Macroblock Order Impact of AVC Compliance and Implementation Complexity,” Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6) 4th Meeting: Klagenfurt, Austria, Jul. 22-26, 2002, [JVT-D115], ITU-T, Jan. 17, 2005, pp. 1-9. |
NTT Docomo, Inc. et al., “Annex A Cdcm Video Codec: Decoder Specification,” Joint Collaborative Team on Video Coding (JCT-VG) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 1st Meeting: Dresden, DE, Apr. 15-23, 2010, pp. 1-107 (Apr. 2010). |
Okubo et al., “Impress Standard Textbook Series Revised Third Edition H.264, AVC Subject,” Book, 1st Edition, Jan. 1, 2009, Impress R & D Co., Ltd., pp. 153-162 (English Abstract only). |
Rissanen et al.“Universal Modeling and Coding”, IEEE Transactions on Information Theory, vol. IT-27, No. 1, Jan. 1981, pp. 12-23. |
Saito et al., “HD-SDI H.264 Super-Low Delay Encoder/Decoder ‘EHH-1000E/D’ and its application,” Eizo Joho Industrial, No. Feb. 2009 (vol. 41, No. 2), Sangyo Kaihatsukiko Inc., Feb. 1, 2009, pp. 15 to 20, ISSN: 1346-1362. |
Schwarz et al., “CABAC and Slices” 4. JVT Meeting; Jul. 22-26, 2002; Klagenfurt, Austria; (Joint Video Team of ISO/IEC MPEG & ITO/T VCEG—ISO/IEC JTC1/SC29/WG11 and ITU-T SG. 16 0.6), No. JVT-D020rl Jul. 22, 2002 (Jul. 22, 2002), pp. 1-17, XP002671680. |
Segall et al., “Video coding technology proposal by Sharp,” JCT-VC Meeting; Apr. 15, 2010-Apr. 23, 2010, Dresden; (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-TSG.16) No. JCTVC-A105, Apr. 22, 2010 XP030007535, pp. 25-28. |
Sekiguchi , “Next Generation Video Coding (HEVC) Standardization Trends,” Journal of the Institute of Image Information and Television Engineers, Mar. 1, 2011, 65th vol. No. 3, 302-308, (with Machine Translation). |
Sharp, “Entropy slices for parallel entropy decoding,” ITU-T SG16 Meeting, Apr. 22, 2008-May 2, 2008, Geneva, pp. 1-9 (Apr. 14, 2008). |
Sze and Budagavi, “Analysis of entropy slice approaches,” 4th JCT-VC Meeting, Daegu, Jan. 2011, (JCTVC-D243), 6 pages. |
Sze et al., “Massively Parallel CABAC,” 38th VCEG Meeting, 89 MPEG Meeting, Jul. 1, 2009-Jul. 8, 2009, London, Geneva (Video Coding Experts Group of ITU-T SG. 16), pp. 1-10 (Jul. 3, 2009). |
Wiegand et al., “Overview of the H.264/AVC Video Coding Standard,” IEEE Transactions on Circuits and Systems for Video Technology, Jul. 2003, 13(7):560-576. |
Wikipedia.com [online], “Lempel-Ziv-Welch,” available on or before Aug. 10, 2009, via Internet Archive: Wayback Machine URL<https://web.archive.org/web/20090810074931/https://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch>, 7 pages. |
Written Opinion issued in PCT/FR2012/051391, on Aug. 9, 2012, with English Translation, 14 pages. |
Written Opinion of the International Searching Authority issued in PCT/FR2012/050380 on May 8, 2012, with English translation, 11 pages. |
Zhao et al., “New Results using Entropy Slices for Parallel Decoding”, [online], Jul. 18, 2008, ITU—Telecommunications Standardization Sector Study Group 16 Question 6 Video Coding Experts Group (VCEG), Document: VCEG-AI32. |
Zhao et al., “Parallel entropy decoding for high-resolution video coding,” Proc. SPIE 7257, Visual Communications and Image Processing, Jan. 18, 2009, 11 pages. |
U.S. Appl. No. 14/003,014, filed Sep. 4, 2013, Henry et al. |
U.S. Appl. No. 14/492,546, filed Sep. 22, 2014, Henry et al. |
U.S. Appl. No. 15/003,148, filed Jan. 21, 2016, Henry et al. |
U.S. Appl. No. 15/419,870, filed Jan. 30, 2017, Henry et al. |
U.S. Appl. No. 16/418,343, filed May 21, 2019, Henry et al. |
U.S. Appl. No. 16/895,192, filed Jun. 8, 2020, Henry et al. |
U.S. Appl. No. 17/750,735, filed May 23, 2022, Henry et al. |
U.S. Appl. No. 14/128,949, filed Apr. 21, 2014, Henry et al. |
U.S. Appl. No. 14/492,750, filed Sep. 22, 2014, Henry et al. |
U.S. Appl. No. 14/662,395, filed Mar. 19, 2015, Henry et al. |
U.S. Appl. No. 14/662,463, filed Mar. 19, 2015, Henry et al. |
U.S. Appl. No. 15/008,785, filed Jan. 28, 2016, Henry et al. |
U.S. Appl. No. 15/008,614, filed Jan. 28, 2016, Henry et al. |
U.S. Appl. No. 15/132,062, filed Apr. 18, 2016, Henry et al. |
U.S. Appl. No. 15/486,660, filed Apr. 13, 2017, Henry et al. |
U.S. Appl. No. 16/012,658, filed Jun. 19, 2018, Henry et al. |
U.S. Appl. No. 16/435,317, filed Jun. 7, 2019, Henry et al. |
U.S. Appl. No. 16/907,561, filed Jun. 22, 2020, Henry et al. |
U.S. Appl. No. 18/218,521, filed Jul. 5, 2023, Henry et al. |
Number | Date | Country | |
---|---|---|---|
20230353781 A1 | Nov 2023 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17750735 | May 2022 | US |
Child | 18219036 | US | |
Parent | 16895192 | Jun 2020 | US |
Child | 17750735 | US | |
Parent | 16418343 | May 2019 | US |
Child | 16895192 | US | |
Parent | 15419870 | Jan 2017 | US |
Child | 16418343 | US | |
Parent | 15003148 | Jan 2016 | US |
Child | 15419870 | US | |
Parent | 14492546 | Sep 2014 | US |
Child | 15003148 | US | |
Parent | 14003014 | US | |
Child | 14492546 | US |