DETAILED ACTION
1. The Office Action is in response to Application 19193343 filed on 04/29/2025. Claims 1-20 are pending.
Notice of Pre-AIA or AIA Status
2. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Information Disclosure Statement
3. The information disclosure statements (IDS) submitted on 07/29/2025, 07/07/2026 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements are being considered by the examiner.
Double Patenting
5. The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory obviousness-type double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); and In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969).
A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on a nonstatutory double patenting ground provided the conflicting application or patent either is shown to be commonly owned with this application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement.
Effective January 1, 1994, a registered attorney or agent of record may sign a terminal disclaimer. A terminal disclaimer signed by the assignee must fully comply with 37 CFR 3.73(b).
6. Claim 1-10 are rejected on the ground of non-statutory obviousness-type double patenting as being unpatentable over claim 1-9 of US Patent US 12368883 and in view of Bae et al. (US 20220086451) indicated below.
For Claim 1-10, although the conflicting claims are not identical, they both are dealing with method of encoding or decoding video data. As clearly indicated in the table below, each claimed limitations of claim 1-10 of the current application are anticipated by the corresponding limitations of claim 1-9 of the reference patent except for wherein encoding or decoding, utilizing the second set of one or more contexts, the MVD comprises decoding, utilizing the second set of one or more contexts, the MVD, the method further comprising: determining the motion vector for the second block based on the MVD; determining a prediction block based on the motion vector; receiving residual information indicative of a difference between the prediction block and the second block; and reconstructing the second block based on the residual information and the prediction block.
.
Current Application
US 12368883
Claim 1:
A method of encoding or decoding video data, the method comprising:
determining that a block vector difference (BVD) for a first block of the video data is non-zero,
wherein the BVD is based on a difference between a block vector for the first block and a block vector predictor,
and wherein the block vector points to a reference block based on samples in a same first picture as the first block;
encoding or decoding the BVD utilizing a first set of one or more contexts;
and encoding or decoding, utilizing a second set of one or more contexts, a motion vector difference (MVD) for a motion vector for a second block in a second picture,
wherein the motion vector for the second block identifies a block in a picture different than the second picture, and wherein the MVD is indicative of a difference between the motion vector and a motion vector predictor,
wherein one or more contexts in the first set of contexts and the second set of contexts are different.
claim 2’s limitation:
wherein determining that the BVD for the first block is non-zero comprises determining that at least one of: a BVD horizontal component value of the BVD is non-zero; or a BVD vertical component value of the BVD is non-zero.
Claim 3’s limitation:
encoding or decoding a first value for the BVD horizontal component value utilizing the first set of one or more contexts, wherein the first value is equal to an absolute value of the BVD horizontal component value minus one, the method further comprising encoding or decoding a second value for the BVD vertical component value utilizing a third set of one or more contexts, wherein the second value is equal to an absolute value of the BVD vertical component value minus one, and wherein one or more contexts in the first set of contexts, the second set of contexts, and the third set of contexts are different
claim 4’s limitation:
wherein a value indicative of a component value for the BVD is represented as a codeword, wherein encoding or decoding the BVD comprises context-based encoding or decoding the codeword
claim 5’s limitation:
wherein context-based encoding or decoding the codeword comprises context-based encoding or decoding a first N bins of the codeword and bypass encoding or decoding remaining bins of the codeword
claim 6’s limitation:
wherein the first N bins comprise a first 5 bins of the codeword.
claim 7’s limitation:
wherein the codeword is an Exponential-Golomb codeword
claim 8’s limitation:
wherein determining that the BVD for the first block is non-zero comprises parsing a first flag, and wherein encoding or decoding the BVD comprises decoding the BVD without parsing a second flag indicating whether an absolute value of a component value of the BVD is greater than one
claim 9’s limitation:
wherein encoding or decoding the BVD comprises decoding the BVD, the method further comprising: determining the block vector for the first block based on the BVD; determining a prediction block based on the block vector; receiving residual information indicative of a difference between the prediction block and the first block; and reconstructing the first block based on the residual information and the prediction block
claim 10’s limitation:
wherein encoding or decoding, utilizing the second set of one or more contexts, the MVD comprises decoding, utilizing the second set of one or more contexts, the MVD, the method further comprising: determining the motion vector for the second block based on the MVD; determining a prediction block based on the motion vector; receiving residual information indicative of a difference between the prediction block and the second block; and reconstructing the second block based on the residual information and the prediction block
Claim 1
A method of encoding or decoding video data, the method comprising:
determining that a block vector difference (BVD) horizontal component value of a BVD is non-zero;
determining that a BVD vertical component value of the BVD is non-zero,
wherein the BVD horizontal component value and the BVD vertical component value are indicative of a difference between a block vector for a current block of the video data and a block vector predictor,
and wherein the block vector points to a reference block based on samples in a same picture as the current block;
encoding or decoding a first value for the BVD horizontal component value utilizing a first set of one or more contexts;
and encoding or decoding a second value for the BVD vertical component value utilizing a second set of one or more contexts,
wherein the one or more contexts in the first set of contexts and the second set of contexts are different
claim 8’s limitation:
encoding or decoding, utilizing a third set of one or more contexts, a motion vector difference (MVD) for a motion vector for a second block in a second picture,
wherein the motion vector for the second block identifies a block in a picture different than the second picture, and wherein the MVD is indicative of a difference between the motion vector and a motion vector predictor,
wherein one or more contexts in the third set of contexts and at least one of the first set of contexts or the second set of contexts are different
claim 1’s limitation:
determining that a block vector difference (BVD) horizontal component value of a BVD is non-zero;
determining that a BVD vertical component value of the BVD is non-zero,
claim 2’s limitation:
wherein the first value is equal to an absolute value of the BVD horizontal component value minus one, and wherein the second value is equal to an absolute value of the BVD vertical component value minus one
claim 1’s limitation:
wherein the one or more contexts in the first set of contexts and the second set of contexts are different
claim 8’s limitation:
wherein one or more contexts in the third set of contexts and at least one of the first set of contexts or the second set of contexts are different
claim 3’s limitation:
wherein the first value is represented as a codeword, wherein encoding or decoding the first value comprises context-based encoding or decoding the codeword.
claim 4’s limitation:
wherein context-based encoding or decoding the codeword comprises context-based encoding or decoding a first N bins of the codeword and bypass encoding or decoding remaining bins of the codeword
claim 5’s limitation:
wherein the first N bins comprise the first 5 bins of the codeword.
claim 6’s limitation:
wherein the codeword is an Exponential-Golomb codeword
claim 7’s limitation:
wherein determining that the BVD horizontal component value is non-zero comprises parsing a first flag, and wherein encoding or decoding the first value comprises decoding the first value without parsing a second flag indicating whether an absolute value of the BVD horizontal component value is greater than one
claim 9’s limitation:
wherein encoding or decoding the first value comprises decoding the first value, the method further comprising: determining the block vector for the current block based on the first value; determining a prediction block based on the block vector; receiving residual information indicative of a difference between the prediction block and the current block; and reconstructing the current block based on the residual information and the prediction block
Claim 1-9 of US Patent US 12368883 does not disclose explicitly wherein encoding or decoding, utilizing the second set of one or more contexts, the MVD comprises decoding, utilizing the second set of one or more contexts, the MVD, the method further comprising: determining the motion vector for the second block based on the MVD; determining a prediction block based on the motion vector; receiving residual information indicative of a difference between the prediction block and the second block; and reconstructing the second block based on the residual information and the prediction block.
Bae discloses wherein encoding or decoding, utilizing the second set of one or more contexts, the MVD comprises decoding, utilizing the second set of one or more contexts, the MVD (paragraph 0107, …the encoder may signal, in a bitstream, an indication of the selected MVP and a motion vector difference (MVD)…. A decoder, such as decoder 300 in FIG. 3, may decode the motion vector by adding the MVD to the MVP indicated in the bitstream), the method further comprising:
determining the motion vector for the second block based on the MVD (paragraph 0107, …decode the motion vector by adding the MVD to the MVP indicated in the bitstream); determining a prediction block based on the motion vector (fig. 13A, in which, 1310 is a prediction block based on motion vector); receiving residual information indicative of a difference between the prediction block and the second block; and reconstructing the second block based on the residual information and the prediction block (fig. 1; paragraph 0039, ….The block determined during the search (also referred to as a prediction block) may then be used to predict the block being encoded. For spatial prediction, encoder 114 may form a prediction block based on data from reconstructed neighboring samples of the block to be encoded within the same picture of video sequence 108. A reconstructed sample refers to a sample that was encoded and then decoded. Encoder 114 may determine a prediction error (also referred to as a residual) based on the difference between a block being encoded and a prediction block).
It would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to incorporate the technology the wherein encoding or decoding, utilizing the second set of one or more contexts, the MVD comprises decoding, utilizing the second set of one or more contexts, the MVD, the method further comprising: determining the motion vector for the second block based on the MVD; determining a prediction block based on the motion vector; receiving residual information indicative of a difference between the prediction block and the second block; and reconstructing the second block based on the residual information and the prediction block as a modification to the claim 1-9 of US Patent US 112368883 for the benefit of that achieves high efficiency video coding (see paragraph 0039).
7. Claim 11-19 are rejected on the ground of non-statutory obviousness-type double patenting as being unpatentable over claim 10-16, 8-9 of US Patent US 12368883 and in view of Bae et al. (US 20220086451) indicated below.
For Claim 11-19, although the conflicting claims are not identical, they both are dealing with device of encoding or decoding video data. As clearly indicated in the table below, each claimed limitations of claim 11-19 of the current application are anticipated by the corresponding limitations of claim 10-16, 8-9 of the reference patent except for Determine the motion vector for the second block based on the MVD; determining a second prediction block based on the motion vector; receiving second residual information indicative of a difference between the second prediction block and the second block; and reconstructing the second block based on the second residual information and the second prediction block.
.
Current Application
US 12368883
Claim 11:
A device for encoding or decoding video data, the device comprising:
memory configured to store video data;
and processing circuitry configured to:
determine that a block vector difference (BVD) for a first block of the video data is non-zero,
wherein the BVD is based on a difference between a block vector for the first block and a block vector predictor,
and wherein the block vector points to a reference block based on samples in a same first picture as the first block;
encode or decode the BVD utilizing a first set of one or more contexts;
and encode or decode, utilizing a second set of one or more contexts, a motion vector difference (MVD) for a motion vector for a second block in a second picture,
wherein the motion vector for the second block identifies a block in a picture different than the second picture,
and wherein the MVD is indicative of a difference between the motion vector and a motion vector predictor,
wherein one or more contexts in the first set of contexts and the second set of contexts are different.
claim 12’s limitation:
determining that at least one of: a BVD horizontal component value of the BVD is non-zero; or a BVD vertical component value of the BVD is non-zero.
Claim 13’s limitation:
encoding or decoding a first value for the BVD horizontal component value utilizing the first set of one or more contexts, wherein the first value is equal to an absolute value of the BVD horizontal component value minus one, the method further comprising encoding or decoding a second value for the BVD vertical component value utilizing a third set of one or more contexts, wherein the second value is equal to an absolute value of the BVD vertical component value minus one, and wherein one or more contexts in the first set of contexts, the second set of contexts, and the third set of contexts are different
claim 14’s limitation:
context-based encoding or decoding the codeword
claim 15’s limitation:
context-based encoding or decoding a first N bins of the codeword and bypass encoding or decoding remaining bins of the codeword
claim 16’s limitation:
wherein the first N bins comprise a first 5 bins of the codeword.
claim 17’s limitation:
wherein the codeword is an Exponential-Golomb codeword
claim 18’s limitation:
wherein determining that the BVD for the first block is non-zero comprises parsing a first flag, and wherein encoding or decoding the BVD comprises decoding the BVD without parsing a second flag indicating whether an absolute value of a component value of the BVD is greater than one
claim 19’s limitation:
determining the block vector for the first block based on the BVD; determining a prediction block based on the block vector; receiving residual information indicative of a difference between the prediction block and the first block; and reconstructing the first block based on the residual information and the prediction block
:
Determine the motion vector for the second block based on the MVD; determining a second prediction block based on the motion vector; receiving second residual information indicative of a difference between the second prediction block and the second block; and reconstructing the second block based on the second residual information and the second prediction block
Claim 10
A device for encoding or decoding video data, the device comprising:
memory configured to store video data;
and processing circuitry configured to:
determine that a block vector difference (BVD) horizontal component value of a BVD is non-zero; determine that a BVD vertical component value of the BVD is non-zero,
wherein the BVD horizontal component value and the BVD vertical component value are indicative of a difference between a block vector for a current block of the video data and a block vector predictor,
and wherein the block vector points to a reference block based on samples in a same picture as the current block;
encode or decode a first value for the BVD horizontal component value utilizing a first set of one or more contexts;
and encode or decode a second value for the BVD vertical component value utilizing a second set of one or more contexts, wherein the one or more contexts in the first set of contexts and the second set of contexts are different
claim 8’s limitation:
encoding or decoding, utilizing a third set of one or more contexts, a motion vector difference (MVD) for a motion vector for a second block in a second picture,
wherein the motion vector for the second block identifies a block in a picture different than the second picture, and wherein the MVD is indicative of a difference between the motion vector and a motion vector predictor,
wherein one or more contexts in the third set of contexts and at least one of the first set of contexts or the second set of contexts are different
claim 10’s limitation:
determining that a block vector difference (BVD) horizontal component value of a BVD is non-zero;
determining that a BVD vertical component value of the BVD is non-zero,
claim 11’s limitation:
wherein the first value is equal to an absolute value of the BVD horizontal component value minus one, and wherein the second value is equal to an absolute value of the BVD vertical component value minus one
claim 10’s limitation:
wherein the one or more contexts in the first set of contexts and the second set of contexts are different
claim 8’s limitation:
wherein one or more contexts in the third set of contexts and at least one of the first set of contexts or the second set of contexts are different
claim 12’s limitation:
wherein the first value is represented as a codeword, wherein encoding or decoding the first value comprises context-based encoding or decoding the codeword.
claim 13’s limitation:
wherein context-based encoding or decoding the codeword comprises context-based encoding or decoding a first N bins of the codeword and bypass encoding or decoding remaining bins of the codeword
claim 14’s limitation:
wherein the first N bins comprise the first 5 bins of the codeword.
claim 15’s limitation:
wherein the codeword is an Exponential-Golomb codeword
claim 16’s limitation:
parsing a first flag, and wherein encoding or decoding the first value comprises decoding the first value without parsing a second flag indicating whether an absolute value of the BVD horizontal component value is greater than one
claim 9’s limitation:
wherein encoding or decoding the first value comprises decoding the first value, the method further comprising: determining the block vector for the current block based on the first value; determining a prediction block based on the block vector; receiving residual information indicative of a difference between the prediction block and the current block; and reconstructing the current block based on the residual information and the prediction block
Claim 10-16, 8-9 of US Patent US 12368883 does not disclose explicitly wherein Determine the motion vector for the second block based on the MVD; determining a second prediction block based on the motion vector; receiving second residual information indicative of a difference between the second prediction block and the second block; and reconstructing the second block based on the second residual information and the second prediction block.
Bae discloses determining the motion vector for the second block based on the MVD (paragraph 0107, …decode the motion vector by adding the MVD to the MVP indicated in the bitstream); determining a second prediction block based on the motion vector (fig. 13A, in which, 1310 is a prediction block based on motion vector); receiving second residual information indicative of a difference between the second prediction block and the second block; and reconstructing the second block based on the second residual information and the second prediction block (fig. 1; paragraph 0039, ….The block determined during the search (also referred to as a prediction block) may then be used to predict the block being encoded. For spatial prediction, encoder 114 may form a prediction block based on data from reconstructed neighboring samples of the block to be encoded within the same picture of video sequence 108. A reconstructed sample refers to a sample that was encoded and then decoded. Encoder 114 may determine a prediction error (also referred to as a residual) based on the difference between a block being encoded and a prediction block).
It would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to incorporate the technology Determine the motion vector for the second block based on the MVD; determining a second prediction block based on the motion vector; receiving second residual information indicative of a difference between the second prediction block and the second block; and reconstructing the second block based on the second residual information and the second prediction block.as a modification to the claim 10-16, 8-9 of US Patent US 112368883 for the benefit of that achieves high efficiency video coding (see paragraph 0039).
8. Claim 20 is rejected on the ground of non-statutory obviousness-type double patenting as being unpatentable over claim 18, 8 of US Patent US 12368883 indicated below.
For Claim 20, although the conflicting claims are not identical, they both are dealing with non-transitory computer-readable storage medium storing instructions/device of encoding or decoding video data. As clearly indicated in the table below, each claimed limitations of claim 20 of the current application are anticipated by the corresponding limitations of claim 18, 8 of the reference patent.
.
Current Application
US 12368883
Claim 20:
One or more non-transitory computer-readable storage media comprising instructions that when executed cause one or more processors to:
determine that a block vector difference (BVD) for a first block of the video data is non-zero,
wherein the BVD is based on a difference between a block vector for the first block and a block vector predictor,
and wherein the block vector points to a reference block based on samples in a same first picture as the first block;
encode or decode the BVD utilizing a first set of one or more contexts;
and encode or decode, utilizing a second set of one or more contexts, a motion vector difference (MVD) for a motion vector for a second block in a second picture,
wherein the motion vector for the second block identifies a block in a picture different than the second picture,
and wherein the MVD is indicative of a difference between the motion vector and a motion vector predictor,
wherein one or more contexts in the first set of contexts and the second set of contexts are different.
Claim 18
A non-transitory computer-readable storage medium storing instructions thereon that when executed cause one or more processors to:
determine that a block vector difference (BVD) horizontal component value of a BVD is non-zero; determine that a BVD vertical component value of the BVD is non-zero,
wherein the BVD horizontal component value and the BVD vertical component value are indicative of a difference between a block vector for a current block of the video data and a block vector predictor,
and wherein the block vector points to a reference block based on samples in a same picture as the current block;
encode or decode a first value for the BVD horizontal component value utilizing a first set of one or more contexts;
and encode or decode a second value for the BVD vertical component value utilizing a second set of one or more contexts, wherein the one or more contexts in the first set of contexts and the second set of contexts are different
claim 8’s limitation:
encoding or decoding, utilizing a third set of one or more contexts, a motion vector difference (MVD) for a motion vector for a second block in a second picture,
wherein the motion vector for the second block identifies a block in a picture different than the second picture, and wherein the MVD is indicative of a difference between the motion vector and a motion vector predictor,
wherein one or more contexts in the third set of contexts and at least one of the first set of contexts or the second set of contexts are different
Claim Rejections - 35 USC § 112
9. The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
10. Claim 1 and its dependent claims 2-10 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention.
For claim 1, it recites limitations of “a block vector for the first block” in “determining that a block vector difference (BVD) for a first block of the video data is non-zero, wherein the BVD is based on a difference between a block vector for the first block and a block vector predictor” first, then it recites that: “the block vector points to a reference block” in “and wherein the block vector points to a reference block based on samples in a same first picture as the first block”; However, it is not clear what is the relationship among the “samples in a same first picture as the first block” and “the reference block” and “the first block”, since “samples in a same first picture as the first block” can be the first block or other part of the first picture; and where is reference block?
it recites limitations of “the motion vector for the second block identifies a block in a picture different than the second picture” first, the it recites that: “the MVD is indicative of a difference between the motion vector and a motion vector predictor”; However, it is not clear which block the motion vector predictor is for? Is it in a block in in a picture different than the second picture or the second picture or any picture is OK?
Thus the scope of the claim and its dependent claim 2-10 are unclear.
11. Claim 11 and its dependent claims 12-19 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention for the similar reason as for claim 1 and its dependent claims 2-10.
12. Claim 20 is rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor, or for pre-AIA the applicant regards as the invention for the similar reason as for claim 1 and its dependent claims 2-10.
Claim Rejections - 35 USC § 103
13. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
14. Claims 1-2, 4, 8-12, 14, 18-20 are rejected are rejected under 35 U.S.C. 103 as being unpatentable over Bae et al. (US 20220086451) and in view of XU et al. (CN 107079162).
Regarding claim 1, Bae teaches a method for encoding or decoding video data (fig. 1), the method comprising:
determining that a block vector difference (BVD) for a first block of the video data is non-zero (paragraph 0131, …, it can be shown that BVD.sub.x is less than or equal to zero and therefore has a negative sign when the following two conditions are respectively satisfied by BV.sub.y and BVP.sub.x ) wherein the BVD is based on a difference between a block vector for the first block and a block vector predictor, and wherein the block vector points to a reference block based on samples in a same first picture as the first block (as shown in fig. 17A-fig. 17C; paragraph 0117, … The BVD may be calculated based on the difference between the BV of the current block and the selected BVP. For example, for a BV represented by a horizontal component (BV.sub.x) and a vertical component (BV.sub.y) relative to the position of the current block being coded, the BVD may represented by two components calculated as follows);
signal the BVD utilizing a first set of one or more contexts (paragraph 0128, … The encoder may signal, in a bit stream, an indication of the selected BVP (e.g., via an index pointing into the list of candidate BVPs) and the BVD given by equations (12) and (13). A decoder may decode BV 1708 by adding the BVD to the BVP indicated in the bitstream);
and encoding or decoding, utilizing a second set of one or more contexts, a motion vector difference (MVD) for a motion vector for a second block in a second picture (paragraph 0107, … the encoder may signal, in a bitstream, an indication of the selected MVP and a motion vector difference (MVD). The encoder may indicate the selected MVP in the bitstream by an index pointing into the list of candidate MVPs. The MVD may be calculated based on the difference between the motion vector of the current block and the selected MVP);
wherein the motion vector for the second block identifies a block in a picture different than the second picture (as shown in fig. 13A/13B/14; motion vector for the second block identifies a block in a picture (1306) different than the second picture (1302));
and wherein the MVD is indicative of a difference between the motion vector and a motion vector predictor (as in paragraph 0107, equation (10)(11) in which, MVP is a motion vector predictor);
wherein one or more contexts in the first set of contexts and the second set of contexts are different (they are complete different things, the first one is block vector difference and the second one is motion vector difference; therefore, their values are different).
It is noticed that Bae does not disclose explicitly of encode or decode a value for the BVD value.
XU discloses of encode or decode a value for the BVD value, (page 6, … when the block vector difference is not zero, the third bit code index Columbus coding (tential-Golomb) is used to coding the residual absolute level of the block vector difference (the absolute level). A symbol is used to encode a block vector difference value. According to another method, no prediction is used, and using the index Columbus code of block vector difference in the efficient video coding, block vector is encoded; in which, when the block vector difference is not zero, absolute value of the BVD value is greater than one and no signaling or parsing syntax information is used but just use Columbus coding ).
It would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to incorporate the technology that encode or decode a value for the BVD value, one as a modification to the method for the benefit of that reduce overhead of transmission (page 6).
Regarding claim 11, Bae teaches a device for encoding or decoding video data (fig. 1), the device comprising:
memory configured to store video data (fig. 1, 104; paragraph 0042, … transmission medium 104 may comprise one or more wires, cables, air interfaces, optical discs, flash memory, and/or magnetic memory);
and processing circuitry (fig. 1, 114, 120) configured to:
determining that a block vector difference (BVD) for a first block of the video data is non-zero (paragraph 0131, …, it can be shown that BVD.sub.x is less than or equal to zero and therefore has a negative sign when the following two conditions are respectively satisfied by BV.sub.y and BVP.sub.x ) wherein the BVD is based on a difference between a block vector for the first block and a block vector predictor, and wherein the block vector points to a reference block based on samples in a same first picture as the first block (as shown in fig. 17A-fig. 17C; paragraph 0117, … The BVD may be calculated based on the difference between the BV of the current block and the selected BVP. For example, for a BV represented by a horizontal component (BV.sub.x) and a vertical component (BV.sub.y) relative to the position of the current block being coded, the BVD may represented by two components calculated as follows);
signal the BVD utilizing a first set of one or more contexts (paragraph 0128, … The encoder may signal, in a bit stream, an indication of the selected BVP (e.g., via an index pointing into the list of candidate BVPs) and the BVD given by equations (12) and (13). A decoder may decode BV 1708 by adding the BVD to the BVP indicated in the bitstream);
and encoding or decoding, utilizing a second set of one or more contexts, a motion vector difference (MVD) for a motion vector for a second block in a second picture (paragraph 0107, … the encoder may signal, in a bitstream, an indication of the selected MVP and a motion vector difference (MVD). The encoder may indicate the selected MVP in the bitstream by an index pointing into the list of candidate MVPs. The MVD may be calculated based on the difference between the motion vector of the current block and the selected MVP);
wherein the motion vector for the second block identifies a block in a picture different than the second picture (as shown in fig. 13A/13B/14; motion vector for the second block identifies a block in a picture (1306) different than the second picture (1302));
and wherein the MVD is indicative of a difference between the motion vector and a motion vector predictor (as in paragraph 0107, equation (10)(11) in which, MVP is a motion vector predictor);
wherein one or more contexts in the first set of contexts and the second set of contexts are different (they are complete different things, the first one is block vector difference and the second one is motion vector difference; therefore, their values are different).
It is noticed that Bae does not disclose explicitly of encode or decode a value for the BVD value.
XU discloses of encode or decode a value for the BVD value, (page 6, … when the block vector difference is not zero, the third bit code index Columbus coding (tential-Golomb) is used to coding the residual absolute level of the block vector difference (the absolute level). A symbol is used to encode a block vector difference value. According to another method, no prediction is used, and using the index Columbus code of block vector difference in the efficient video coding, block vector is encoded; in which, when the block vector difference is not zero, absolute value of the BVD value is greater than one and no signaling or parsing syntax information is used but just use Columbus coding ).
It would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to incorporate the technology that encode or decode a value for the BVD value, one as a modification to the device for the benefit of that reduce overhead of transmission (page 6).
Regarding claim 20, Bae teaches One or more non-transitory computer-readable storage media comprising instructions that when executed cause one or more processors to (paragraph 0033, … embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks (e.g., a computer-program product) may be stored in a computer-readable or machine-readable medium. A processor(s) may perform the necessary tasks) to:
determining that a block vector difference (BVD) for a first block of the video data is non-zero (paragraph 0131, …, it can be shown that BVD.sub.x is less than or equal to zero and therefore has a negative sign when the following two conditions are respectively satisfied by BV.sub.y and BVP.sub.x ) wherein the BVD is based on a difference between a block vector for the first block and a block vector predictor, and wherein the block vector points to a reference block based on samples in a same first picture as the first block (as shown in fig. 17A-fig. 17C; paragraph 0117, … The BVD may be calculated based on the difference between the BV of the current block and the selected BVP. For example, for a BV represented by a horizontal component (BV.sub.x) and a vertical component (BV.sub.y) relative to the position of the current block being coded, the BVD may represented by two components calculated as follows);
signal the BVD utilizing a first set of one or more contexts (paragraph 0128, … The encoder may signal, in a bit stream, an indication of the selected BVP (e.g., via an index pointing into the list of candidate BVPs) and the BVD given by equations (12) and (13). A decoder may decode BV 1708 by adding the BVD to the BVP indicated in the bitstream);
and encoding or decoding, utilizing a second set of one or more contexts, a motion vector difference (MVD) for a motion vector for a second block in a second picture (paragraph 0107, … he encoder may signal, in a bitstream, an indication of the selected MVP and a motion vector difference (MVD). The encoder may indicate the selected MVP in the bitstream by an index pointing into the list of candidate MVPs. The MVD may be calculated based on the difference between the motion vector of the current block and the selected MVP);
wherein the motion vector for the second block identifies a block in a picture different than the second picture (as shown in fig. 13A/13B/14; motion vector for the second block identifies a block in a picture (1306) different than the second picture (1302));
and wherein the MVD is indicative of a difference between the motion vector and a motion vector predictor (as in paragraph 0107, equation (10)(11) in which, MVP is a motion vector predictor);
wherein one or more contexts in the first set of contexts and the second set of contexts are different (they are complete different things, the first one is block vector difference and the second one is motion vector difference; therefore, their values are different).
It is noticed that Bae does not disclose explicitly of encode or decode a value for the BVD value.
XU discloses of encode or decode a value for the BVD value, (page 6, … when the block vector difference is not zero, the third bit code index Columbus coding (tential-Golomb) is used to coding the residual absolute level of the block vector difference (the absolute level). A symbol is used to encode a block vector difference value. According to another method, no prediction is used, and using the index Columbus code of block vector difference in the efficient video coding, block vector is encoded; in which, when the block vector difference is not zero, absolute value of the BVD value is greater than one and no signaling or parsing syntax information is used but just use Columbus coding ).
It would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to incorporate the technology that encode or decode a value for the BVD value, one as a modification to the non-transitory computer-readable storage media for the benefit of that reduce overhead of transmission (page 6).
Regarding claim 2, the combination of Bae and XU teaches the limitations recited in claim 1 as discussed above. In addition, Bae further discloses that determining that at least one of: a BVD horizontal component value of the BVD is non-zero; or a BVD vertical component value of the BVD is non-zero (as shown in fig. 17A/17B/17C, at least one of: a BVD horizontal component value of the BVD is non-zero; or a BVD vertical component value of the BVD is non-zero; paragraph 0131, …, it can be shown that BVD.sub.x is less than or equal to zero).
Regarding claim 12, the combination of Bae and XU teaches the limitations recited in claim 11 as discussed above. In addition, Bae further discloses that determining that at least one of: a BVD horizontal component value of the BVD is non-zero; or a BVD vertical component value of the BVD is non-zero (as shown in fig. 17A/17B/17C, at least one of:a BVD horizontal component value of the BVD is non-zero; or a BVD vertical component value of the BVD is non-zero; paragraph 0131, …, it can be shown that BVD.sub.x is less than or equal to zero).
Regarding claim 4, the combination of Bae and XU teaches the limitations recited in claim 1 as discussed above. In addition, Bae further discloses that a value indicative of a component value for the BVD is represented as a codeword (paragraph 0117, … the BVD may be calculated based on the difference between the BV of the current block and the selected BVP. For example, for a BV represented by a horizontal component (BV.sub.x) and a vertical component (BV.sub.y) relative to the position of the current block being coded), wherein encoding or decoding the value comprises context-based encoding or decoding the codeword (paragraph 0053, … entropy coding unit 218 may apply context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), and syntax-based context-based binary arithmetic coding (SBAC)).
Regarding claim 14, the combination of Bae and XU teaches the limitations recited in claim 11 as discussed above. In addition, Bae further discloses that a value indicative of a component value for the BVD is represented as a codeword (paragraph 0117, … the BVD may be calculated based on the difference between the BV of the current block and the selected BVP. For example, for a BV represented by a horizontal component (BV.sub.x) and a vertical component (BV.sub.y) relative to the position of the current block being coded), wherein encoding or decoding the value comprises context-based encoding or decoding the codeword (paragraph 0053, … entropy coding unit 218 may apply context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), and syntax-based context-based binary arithmetic coding (SBAC)).
Regarding claim 8, the combination of Bae and XU teaches the limitations recited in claim 1 as discussed above. In addition, Bae further discloses that wherein determining that the BVD for the first block is non-zero comprises parsing a first flag (paragraph 0128, … The encoder may signal, in a bit stream, an indication of the selected BVP (e.g., via an index pointing into the list of candidate BVPs) and the BVD given by equations (12) and (13). A decoder may decode BV 1708 by adding the BVD to the BVP indicated in the bitstream);
XU further discloses that decoding the BVD without parsing a second flag indicating whether an absolute value of a component value of the BVD is greater than one (page 6, … when the block vector difference is not zero, the third bit code index Columbus coding (tential-Golomb) is used to coding the residual absolute level of the block vector difference (the absolute level). A symbol is used to encode a block vector difference value. According to another method, no prediction is used, and using the index Columbus code of block vector difference in the efficient video coding, block vector is encoded; in which, when the block vector difference is not zero, absolute value of the BVD value is greater than one and no signaling or parsing syntax information is used but just use Columbus coding ).
The motivation of combination is the same as in claim 1’s rejection.
Regarding claim 18, the combination of Bae and XU teaches the limitations recited in claim 11 as discussed above. In addition, Bae further discloses that wherein determining that the BVD for the first block is non-zero comprises parsing a first flag (paragraph 0128, … The encoder may signal, in a bit stream, an indication of the selected BVP (e.g., via an index pointing into the list of candidate BVPs) and the BVD given by equations (12) and (13). A decoder may decode BV 1708 by adding the BVD to the BVP indicated in the bitstream);
XU further discloses that decoding the BVD without parsing a second flag indicating whether an absolute value of a component value of the BVD is greater than one (page 6, … when the block vector difference is not zero, the third bit code index Columbus coding (tential-Golomb) is used to coding the residual absolute level of the block vector difference (the absolute level). A symbol is used to encode a block vector difference value. According to another method, no prediction is used, and using the index Columbus code of block vector difference in the efficient video coding, block vector is encoded; in which, when the block vector difference is not zero, absolute value of the BVD value is greater than one and no signaling or parsing syntax information is used but just use Columbus coding ).
The motivation of combination is the same as in claim 1’s rejection.
Regarding claim 9, the combination of Bae and XU teaches the limitations recited in claim 1 as discussed above. In addition, Bae further discloses that encoding or decoding the BVD comprises decoding the BVD (fig. 1, decoder 120), the method further comprising:
determining the block vector for the first block based on the BVD (paragraph 0117, … A decoder, such as decoder 300 in FIG. 3, may decode the BV by adding the BVD to the BVP indicated in the bitstream);
determining a prediction block based on the block vector (fig. 17A, 1710);
receiving residual information indicative of a difference between the prediction block and the current block(fig. 17A; paragraph 0117, … the BVD may be calculated based on the difference between the BV of the current block and the selected BVP);
and reconstructing the current block based on the residual information and the prediction block(fig. 20, step 2008; paragraph 0154, … At step 2008, the block may be decoded based on the intra block compensated prediction of the block and a prediction residual of the block).
Regarding claim 10, the combination of Bae and XU teaches the limitations recited in claim 1 as discussed above. In addition, Bae further discloses that encoding or decoding, utilizing the second set of one or more contexts, the MVD comprises decoding, utilizing the second set of one or more contexts, the MVD (paragraph 0107, …decode the motion vector by adding the MVD to the MVP indicated in the bitstream);
the method further comprising:
determining the motion vector for the second block based on the MVD (paragraph 0107, …decode the motion vector by adding the MVD to the MVP indicated in the bitstream); determining a prediction block based on the motion vector (fig. 13A, in which, 1310 is a prediction block based on motion vector); receiving residual information indicative of a difference between the prediction block and the second block; and reconstructing the second block based on the residual information and the prediction block (fig. 1; paragraph 0039, ….The block determined during the search (also referred to as a prediction block) may then be used to predict the block being encoded. For spatial prediction, encoder 114 may form a prediction block based on data from reconstructed neighboring samples of the block to be encoded within the same picture of video sequence 108. A reconstructed sample refers to a sample that was encoded and then decoded. Encoder 114 may determine a prediction error (also referred to as a residual) based on the difference between a block being encoded and a prediction block).
Regarding claim 19, the combination of Bae and XU teaches the limitations recited in claim 11 as discussed above. In addition, Bae further discloses decode the BVD (fig. 1, decoder 120),
wherein to encode or decode, utilizing the second set of one or more contexts, the MVD, the processing circuitry is configured to decode the MVD (paragraph 0107, …decode the motion vector by adding the MVD to the MVP indicated in the bitstream);
the method further comprising:
determining the block vector for the first block based on the BVD (paragraph 0117, … A decoder, such as decoder 300 in FIG. 3, may decode the BV by adding the BVD to the BVP indicated in the bitstream);
determining a first prediction block based on the block vector (fig. 17A, 1710);
receiving first residual information indicative of a difference between the first prediction block and the first block(fig. 17A; paragraph 0117, … the BVD may be calculated based on the difference between the BV of the current block and the selected BVP);
and reconstructing the first block based on the first residual information and the first prediction block(fig. 20, step 2008; paragraph 0154, … At step 2008, the block may be decoded based on the intra block compensated prediction of the block and a prediction residual of the block);
determining the motion vector for the second block based on the MVD (paragraph 0107, …decode the motion vector by adding the MVD to the MVP indicated in the bitstream);
determining a second prediction block based on the motion vector (fig. 13A, in which, 1310 is a prediction block based on motion vector); \
receiving second residual information indicative of a difference between the second prediction block and the second block;
and reconstructing the second block based on the second residual information and the second prediction block (fig. 1; paragraph 0039, ….The block determined during the search (also referred to as a prediction block) may then be used to predict the block being encoded. For spatial prediction, encoder 114 may form a prediction block based on data from reconstructed neighboring samples of the block to be encoded within the same picture of video sequence 108. A reconstructed sample refers to a sample that was encoded and then decoded. Encoder 114 may determine a prediction error (also referred to as a residual) based on the difference between a block being encoded and a prediction block).
15. Claims 5-7, 15-17 are rejected are rejected under 35 U.S.C. 103 as being unpatentable over Bae et al. (US 20220086451) and in view of XU et al. (CN 107079162) and further in view of Rapaka et al. (US 20150382010).
Regarding claim 5, the combination of Bae and XU teaches the limitations recited in claim 4 as discussed above.
It is noticed that Bae does not disclose explicitly of wherein context-based encoding or decoding the codeword comprises context-based encoding or decoding a first N bins of the codeword and bypass encoding or decoding remaining bins of the codeword.
Rapaka discloses of wherein context-based encoding or decoding the codeword comprises context-based encoding or decoding a first N bins of the codeword and bypass encoding or decoding remaining bins of the codeword (fig. 4; paragraph 0123, … the binarizer 201 sends each of the bins b.sub.0 to b.sub.n to either the context model 203 or the bypass coder 207. Bins that are sent via the upper path to the context model 203 may be encoded using CABAC with a context. Bins that are sent via the lower path to the bypass coder 207 may bypass the CABAC to be coded without a context).
It would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to incorporate the technology that wherein context-based encoding or decoding the codeword comprises context-based encoding or decoding a first N bins of the codeword and bypass encoding or decoding remaining bins of the codeword as a modification to the method for the benefit of that increasing coding efficiency (paragraph 0123).
Regarding claim 15, the combination of Bae and XU teaches the limitations recited in claim 14 as discussed above.
It is noticed that Bae does not disclose explicitly of wherein context-based encoding or decoding the codeword comprises context-based encoding or decoding a first N bins of the codeword and bypass encoding or decoding remaining bins of the codeword.
Rapaka discloses of wherein context-based encoding or decoding the codeword comprises context-based encoding or decoding a first N bins of the codeword and bypass encoding or decoding remaining bins of the codeword (fig. 4; paragraph 0123, … the binarizer 201 sends each of the bins b.sub.0 to b.sub.n to either the context model 203 or the bypass coder 207. Bins that are sent via the upper path to the context model 203 may be encoded using CABAC with a context. Bins that are sent via the lower path to the bypass coder 207 may bypass the CABAC to be coded without a context).
It would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to incorporate the technology that wherein context-based encoding or decoding the codeword comprises context-based encoding or decoding a first N bins of the codeword and bypass encoding or decoding remaining bins of the codeword as a modification to the device for the benefit of that increasing coding efficiency (paragraph 0123).
Regarding claim 6, the combination of Bae, XU and Rapaka teaches the limitations recited in claim 5 as discussed above.
The combination of Bae, XU and Rapaka does not disclose expressly the first N bins comprise the first 5 bins of the codeword.
At the time of the invention, it would have been obvious to a person of ordinary skill in the art to have the first N bins comprise the first 5 bins of the codeword. Applicant has not disclosed that the first N bins comprise the first 5 bins of the codeword provides an advantage, is used for a particular purpose or solves a stated problem. One of ordinary skill in the art, furthermore, would have expected Applicant’s invention to perform equally well with the disclose of the combination of Bae, XU and Rapaka.
Therefore, it would have been obvious to combine to one of ordinary skill in this art to modify the disclose of the combination of Bae, XU and Rapaka with to obtain the invention as specified in claim 5.
Regarding claim 16, the combination of Bae, XU and Rapaka teaches the limitations recited in claim 15 as discussed above.
The combination of Bae, XU and Rapaka does not disclose expressly the first N bins comprise the first 5 bins of the codeword.
At the time of the invention, it would have been obvious to a person of ordinary skill in the art to have the first N bins comprise the first 5 bins of the codeword. Applicant has not disclosed that the first N bins comprise the first 5 bins of the codeword provides an advantage, is used for a particular purpose or solves a stated problem. One of ordinary skill in the art, furthermore, would have expected Applicant’s invention to perform equally well with the disclose of the combination of Bae, XU and Rapaka.
Therefore, it would have been obvious to combine to one of ordinary skill in this art to modify the disclose of the combination of Bae, XU and Rapaka with to obtain the invention as specified in claim 15.
Regarding claim 7, the combination of Bae and XU teaches the limitations recited in claim 4 as discussed above.
It is noticed that Bae does not disclose explicitly of the codeword is an Exponential-Golomb codeword.
Rapaka discloses of the codeword is an Exponential-Golomb codeword (paragraph 0117, … a remaining absolute value of the BVD may be coded using bypass Exponential Golomb coding).
It would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to incorporate the technology that the codeword is an Exponential-Golomb codeword as a modification to the method for the benefit of that increasing coding efficiency (paragraph 0123).
Regarding claim 17, the combination of Bae and XU teaches the limitations recited in claim 14 as discussed above.
It is noticed that Bae does not disclose explicitly of the codeword is an Exponential-Golomb codeword.
Rapaka discloses of the codeword is an Exponential-Golomb codeword (paragraph 0117, … a remaining absolute value of the BVD may be coded using bypass Exponential Golomb coding).
It would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to incorporate the technology that the codeword is an Exponential-Golomb codewordas a modification to the device for the benefit of that increasing coding efficiency (paragraph 0123).
16. Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. See form 892.
17. Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ZAIHAN JIANG whose telephone number is (571)272-1399. The examiner can normally be reached on flexible.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Sath Perungavoor can be reached on (571)272-7455. The fax phone number for the organization where this application or proceeding is assigned is 571-270-0655.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/ZAIHAN JIANG/Primary Examiner, Art Unit 2488