DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 09/29/2025 has been entered.
Response to Amendment
The Amendment filed 09/29/2025 has been entered. Claims 1-36 are pending in this application.
Claims 1, 3, and 21 have been amended. Claims 2, 4-5, 11- 20, 22- 23, and 28- 30 are cancelled. Claims 31-36 are new.
Response to Arguments
Applicant’s arguments with respect to claims 1, and 21 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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, 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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claims 1, 3, 6- 10, 21, 24- 27, and 31- 36 are rejected under 35 U.S.C. 103 as being unpatentable over Xianglin Wang (WO 2020247577 A1) (hereinafter Wang) further in view of Huanbang Chen (US 20210168355 A1) (hereinafter Chen) in view of Han Huang (US 20200404253 A1) (hereinafter Huang) further in view of Li Zhang (US 20220103828 A1) (hereinafter Zhang):
Regarding Claim 1, Wang teaches a method of decoding a video stream performed at a computing system having memory and control circuitry (“an electronic apparatus includes one or more processing units, memory and a plurality of programs stored in the memory. The programs, when executed by the one or more processing units, cause the electronic apparatus to perform the operations described above for computing motion vector differences for a current block “ [0007]), the method comprising:
receiving a video bitstream (“video decoder 30 receives an encoded video bitstream” [0053], [0099], [0100]) comprising a plurality of blocks, including a current block within a current frame (“video encoder 20 may further partition a coding block of a CU into one or more MxN prediction blocks (PB). A [0065]);
determining, based on one or more syntax elements from the video bitstream (“the decoder receives, from a video bitstream, a first syntax element indicative of a first set of motion vector differences (MVD) resolutions from a plurality of sets of MVD resolutions … a second syntax element indicative of a first MVD resolution value in the first set of MVD resolutions and a third syntax element indicative of an MVD associated with the current block (620).” [0099]-[0100]), whether the current block is encoded using a joint adaptive motion vector difference (MVD) resolution mode, the joint adaptive MVD resolution mode being an inter- prediction mode with a MVD from a first reference frame and a second reference frame jointly signaled with an adaptive MVD pixel resolution ( a first syntax element indicative of a first set of motion vector differences (MVD) resolutions from a plurality of sets of MVD resolutions (610) [0099]-[00100]; the plurality of sets of MVD resolution are signaled at a partition level higher than the predefined partition level (, the plurality of sets of MVD resolution at the SPS or PPS level while the first set of MVD resolution at a slice or tile level) ... the selection of AMVR precision under affine AMVR mode is dependent on the location of a CPMV ... use different AMVR precisions to signal the MVDs of CPMVs at different locations. Specifically, in such method the precisions of two or three CPMVs are jointly signaled depending on whether 4- parameter or 6-parameter affine model is applied [00105]- [00106]);
receiving, from the video bitstream, a signaled MVD for the current block (“receiving, from a video bitstream, a first syntax element indicative of a first set of MVD resolutions … receiving, from the video bitstream, a second syntax element indicative of a first MVD resolution value in the first set of MVD resolutions and a third syntax element indicative of an MVD associated with the current block [0006]); and
when the current block is encoded using the joint adaptive MVD resolution mode (“precisions of two or three CPMVs are jointly signaled” [0106];” each MVD resolution value corresponding to a respective CPMV of the current block (660)” [0107]);
identifying a first reference block within the first reference frame using the first MVP and a second reference block within the second reference frame using the second MVP (“Upon receiving the motion vector for the PU of the current video block, motion compensation unit 44 may locate a predictive block to which the motion vector points in one of the reference frame lists, retrieve the predictive block from DPB 64” [0040]; ”a current block 510 is related to a reference block … by two motion vectors, MVo … and MVi … of the current block 510.” [0073]);
reconstructing the current block using the refined MV (“the luma prediction refinement is added to the luma prediction at sample (i, j), I(i,j ), which is derived from the affine model motion prediction and the final prediction I'(i,j ), is generated as follow: /'(/,j) = /(/,j) + Dl(ί,j) (9)” [0092]-[0093]; ”reconstructing the MVD of the current block.” [0100]- [0101]).
Wang does not explicitly teach the following limitations; however, in an analogous art, Chen teaches obtaining a first motion vector predictor (MVP) and a second MVP for the current block (“The candidate motion vectors of the upper-left vertex and the candidate motion vectors of the upper-right vertex are combined to constitute a candidate motion vector 2-tuple queue of two control point” [0192]; ”An index value representing a location of the 2-tuple in the candidate motion vector 2-tuple queue is encoded into a bitstream” [0196]);
identifying a first prediction block within a first bilateral search area around the first reference block and a second prediction block within a second bilateral search area around the second reference block (“On the encoder side, motion search is performed within a search range by using the motion vector predictors of the two control points as search start points, to obtain the motion vectors of the two control points … On the decoder side, the motion vector differences of the two control points are parsed and added to the motion vector predictors, to obtain the motion vectors of the control points.” [0199]-[0200]) based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block (“An average value of differences between original values and predictors that are of samples in the current coding block is calculated, and motion vectors … corresponding to a minimum difference average are selected” [0196]; and [0265]).
It would have been obvious to one of ordinary skill in the art to have modified the system of Wang by including and a second prediction video block within the second reference frame for the video block, wherein the first prediction video block is a reconstructed forward or backward video block of the video block, and the second prediction video block is a reconstructed forward or backward video block of the video block; locating the first prediction video block and the second prediction video block based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block; based on the located first prediction video block and the located second prediction video block; based on the refined MVD of the video block; as disclosed by Chen to improve the coding efficiency (Chen [0179]) and prediction efficiency (Chen, [0180]).
Chen does not explicitly teach the following limitations; however, in an analogous art, Huang teaches deriving a second refined MVD from the first refined MVD of the first reference frame according to a ratio of a first distance between the first reference frame and the current frame and a second distance between the second reference frame and the current frame (“the video coder may determine a refined L0 motion vector and a refined L1 motion vector by performing a decoder-side motion vector refinement process that refines the L0 base vector and the L1 base vector” [0219] “ the video coder may determine the L1 MVD by scaling an absolute value of the L0 MVD using a scaling factor of N/M, where N indicates a POC distance from the L1 reference picture to the current picture and M indicates a POC distance from the L0 reference picture to the current picture.” [0250])
deriving a motion vector (MV) of the current block using the second refined MVD (“The video coder may form the L1 base vector as the L1 MVD plus a motion vector in the L1 AMVP candidate list indicated by the L1 MVP flag.” [0252]; “ The video decoder may then add the L0 MVD to the selected candidate in the L0 AMVP candidate list and may add the L1 MVD to the selected candidate in the L1 AMVP candidate list.” [0036]).
It would have been obvious to one of ordinary skill in the art to have modified the method and apparatus of computing motion vector differences (MVD) for a current block as disclosed by Wang in view of Chen to further add the symmetric motion vector difference mode as disclosed by Huang to improve the compression quality (Huang [0193]).
Huang does not explicitly teach the following limitations; however, in an analogous art, Zhang teaches deriving a first refined MVD by refining the signaled MVD based on the first prediction block and the second prediction block(“In bi-prediction operation, for the prediction of one block region, two prediction blocks, formed using a motion vector (MV) of list0 and a MV of list1, respectively, are combined to form a single prediction signal” [0359]; “For DMVR in VVC, MVD mirroring between list 0 and list 1 is assumed as shown in FIG. 19 and bilateral matching is performed to refine the MVs, e.g., to find the best MVD among several MVD candidates” [0360]).
It would have been obvious to one of ordinary skill in the art to have modified the method and apparatus of computing motion vector differences (MVD) for a current block as disclosed by Wang in view of Chen and Huang to further add the refinement of the motion vector based on two prediction blocks as disclosed by Zhang to improve the quality of decompressed or decoded digital video or images (Zhang [0055]).
Regarding Claim 3, Wang in view of Chen, Huang, and Zhang teach the method of claim 1. Chen further teaches wherein the second refined MVD of the second reference frame is derived from the first refined MVD of the first reference frame according to refinedmvd1 = (td1/td0) * refinedmvd0, (“The temporal candidate motion information of the current coding block is obtained by scaling an MV of a collocated block in a reference picture based on the reference picture and a picture order count (POC) of a current picture.” [0176]; ” the motion vector is scaled according to formula (10). A scaling coefficient is a ratio of a distance from a current picture to a reference picture versus a distance from the current picture to a reference picture of a neighboring block.” [0238]; Equation 10)
[AltContent: textbox (1)]wherein td0 is a distance between the first reference frame and the current frame, td1 is a distance between the second reference frame and the current frame, and refinedmvd0 and refinedmvd1 are the first refined MVD of the first reference frame, and the second refined MVD of the second reference frame respectively (“The temporal candidate motion information of the current coding block is obtained by scaling an MV of a collocated block in a reference picture based on the reference picture and a picture order count (POC) of a current picture.” [0176];” the motion vector is scaled according to formula (10). A scaling coefficient is a ratio of a distance from a current picture to a reference picture versus a distance from the current picture to a reference picture of a neighboring block.” [0238]).
It would have been obvious to one of ordinary skill in the art to have modified the system of Wang by including and a second prediction video block within the second reference frame for the video block, wherein the first prediction video block is a reconstructed forward or backward video block of the video block, and the second prediction video block is a reconstructed forward or backward video block of the video block; locating the first prediction video block and the second prediction video block based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block; based on the located first prediction video block and the located second prediction video block; based on the refined MVD of the video block; as taught by Chen because the modification would improve the coding efficiency (Chen [0179]) and prediction efficiency (Chen [0180]).
Regarding Claim 6, Wang in view of Chen, Huang, and Zhang teach the method of claim 1. Chen further teaches wherein the cost criterion includes a distortion cost of one or more positions modified by a factor to make the one or more positions more or less preferable during the minimum difference measurement (“A rate-distortion cost is calculated according to formula (1), where J represents a rate-distortion cost RD Cost, SAD represents a sum of absolute differences (SAD)” [0175]; ”The optimal candidate motion information is determined from the two candidate motion information lists according to a minimum rate-distortion cost criterion,” [0265], [0196]-[0199]).
It would have been obvious to one of ordinary skill in the art to have modified the system of Wang by including and a second prediction video block within the second reference frame for the video block, wherein the first prediction video block is a reconstructed forward or backward video block of the video block, and the second prediction video block is a reconstructed forward or backward video block of the video block; locating the first prediction video block and the second prediction video block based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block; based on the located first prediction video block and the located second prediction video block; based on the refined MVD of the video block; as taught by Chen because the modification would improve the coding efficiency (Chen [0179]) and prediction efficiency (Chen [0180]).
Regarding Claim 7, Wang in view of Chen, Huang, and Zhang teach the method of claim 1. Chen further teaches wherein a search area size for the first bilateral search area is based on a precision of the signaled MVD (“motion search is performed within a search range by using the motion vector predictors of the two control points as search start points, to obtain the motion vectors of the two control points. Differences between the motion vectors and the motion vector predictors of the two control points are transferred to the decoder side.” [0199]-[0200]).
It would have been obvious to one of ordinary skill in the art to have modified the system of Wang by including and a second prediction video block within the second reference frame for the video block, wherein the first prediction video block is a reconstructed forward or backward video block of the video block, and the second prediction video block is a reconstructed forward or backward video block of the video block; locating the first prediction video block and the second prediction video block based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block; based on the located first prediction video block and the located second prediction video block; based on the refined MVD of the video block; as taught by Chen because the modification would improve the coding efficiency (Chen [0179]) and prediction efficiency (Chen [0180]).
Regarding Claim 8, Wang in view of Chen, Huang, and Zhang teach the method of claim 1. Wang further teaches wherein refining the signaled MVD of the video block comprises determining a refining granularity of the MVD based on the precision, a magnitude and/or an associated MV class of the MVD (“using higher MVD resolution may not be always optimal in terms of coding efficiency. For example, compared to small resolution video sequences (, VGA and WQVGA), the characteristics of the samples inside one inter block in large resolution video sequences (, HD, 4K or even 8K videos) tend to be more consistent and its corresponding MV(s) usually are much larger. In such a case, it may be not worthy to increase the CPMV resolution of one affine block to 1/16-pel level due to the poor tradeoff in this case.” [0083],”the AMVR allows the MVD of one inter non merge block to be coded in various resolutions.” [0079],[0035]-[0040], [0092]-[0093], [0095]).
Regarding Claim 9, Wang in view of Chen, Huang, and Zhang teach the method of claim 8. Wang further teaches determining the refining granularity of the signaled MVD comprises implementing a fractional precision MVD refinement only when the magnitude of the signaled MVD is equal to or less than a threshold.(“using higher MVD resolution may not be always optimal in terms of coding efficiency. For example, compared to small resolution video sequences (, VGA and WQVGA), the characteristics of the samples inside one inter block in large resolution video sequences (, HD, 4K or even 8K videos) tend to be more consistent and its corresponding MV(s) usually are much larger. In such a case, it may be not worthy to increase the CPMV resolution of one affine block to 1/16-pel level due to the poor tradeoff in this case.” [0083],”the AMVR allows the MVD of one inter non merge block to be coded in various resolutions.” [0079],”in practice, the CPMVs at different locations of one affine block have different physical meanings and importance. … , it may be more beneficial, in terms of the tradeoff between signaling overhead and prediction efficiency, to represent the translational motion in low precision while representing the zoom and rotation motion in higher precision” [0105], [0035]-[0040], [0092]-[0093], [0095]).
Regarding Claim 10, Wang in view of Chen, Huang, and Zhang teach the method of claim 1. Chen further teaches the first prediction block within the first reference frame is identified using a search direction that is based on a direction of the signaled MVD (“Forward prediction means selecting a reference picture from a forward reference picture set, to obtain a reference block for the current coding block…the current coding block needs to try a plurality of reference blocks in the reference picture,” [0171]-[0172]; ”motion estimation performed by using a candidate motion vector predictor … motion search is performed in an MVP-centric neighboring area,” [0175]-[0176], [0169]-[0171], [0196]-[0200], [0265]).
It would have been obvious to one of ordinary skill in the art to have modified the system of Wang by including and a second prediction video block within the second reference frame for the video block, wherein the first prediction video block is a reconstructed forward or backward video block of the video block, and the second prediction video block is a reconstructed forward or backward video block of the video block; locating the first prediction video block and the second prediction video block based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block; based on the located first prediction video block and the located second prediction video block; based on the refined MVD of the video block; as taught by Chen because the modification would improve the coding efficiency (Chen [0179]) and prediction efficiency (Chen [0180]).
Regarding Claim 21, Wang teaches A method of video encoding performed at a computing system having memory and control circuitry (“an electronic apparatus includes one or more processing units, memory and a plurality of programs stored in the memory. The programs, when executed by the one or more processing units, cause the electronic apparatus to perform the operations described above for computing motion vector differences for a current block “[0007]), the method comprising:
receiving video data comprising a plurality of blocks, including a current block within a current frame (“video decoder 30 receives an encoded video bitstream” [0053],” video encoder 20 may further partition a coding block of a CU into one or more MxN prediction blocks (PB)” [0065] [0099], [0100]);
determining whether the current block is to be encoded using a joint adaptive motion vector difference (MVD) resolution mode, the joint adaptive MVD resolution mode being an inter-prediction mode with a MVD from a first reference frame and a second reference frame jointly signaled with an adaptive MVD pixel resolution (. a first syntax element indicative of a first set of motion vector differences (MVD) resolutions from a plurality of sets of MVD resolutions (610) [0099]-[00100]; the plurality of sets of MVD resolution are signaled at a partition level higher than the predefined partition level (, the plurality of sets of MVD resolution at the SPS or PPS level while the first set of MVD resolution at a slice or tile level) ... the selection of AMVR precision under affine AMVR mode is dependent on the location of a CPMV ... use different AMVR precisions to signal the MVDs of CPMVs at different locations. Specifically, in such method the precisions of two or three CPMVs are jointly signaled depending on whether 4- parameter or 6-parameter affine model is applied [00105]- [00106]);
determining an initial MVD for the current block (“computing motion vector differences (MVD) for a current block” [0006]); and
when the current block is to be encoded using the joint adaptive MVD resolution mode (“precisions of two or three CPMVs are jointly signaled” [0106];” each MVD resolution value corresponding to a respective CPMV of the current block (660)” [0107]):
identifying a first reference block within the first reference frame using the first MVP and a second reference block within the second reference frame using the second MVP (“Upon receiving the motion vector for the PU of the current video block, motion compensation unit 44 may locate a predictive block to which the motion vector points in one of the reference frame lists, retrieve the predictive block from DPB 64” [0040]; ”a current block 510 is related to a reference block … by two motion vectors, MVo … and MVi … of the current block 510.” [0073]);
deriving a motion vector (MV) of the current block using the refined MVD (“Given the definition of the motion vector mv(i,j ) above, the motion vector difference Dmv(i,j) of any sample within the current sub-block can be derived by the following equations … the motion vector difference Dmv (i, J) and the spatial gradients gx (i, J) and gy (i, J) of the sub-block luma prediction into equation (4), the pixel value difference, i.e., the luma prediction refinement” [0092]-[0093]; ”Dl(i,j) is an inner product of the pixel value gradient vector and the motion vector difference as a pixel value difference” [0088]); and
encoding the current block using the refined MV (“Entropy encoding unit 56 may also entropy encode the motion vectors and the other syntax elements for the current video frame being coded.” [0047]).
Wang does not explicitly teach the following limitations; however, in an analogous art, Chen teaches obtaining a first motion vector predictor (MVP) and a second MVP for the current block (“The candidate motion vectors of the upper-left vertex and the candidate motion vectors of the upper-right vertex are combined to constitute a candidate motion vector 2-tuple queue of two control point” [0192]; ”An index value representing a location of the 2-tuple in the candidate motion vector 2-tuple queue is encoded into a bitstream” [0196]);
identifying a first prediction block within a first bilateral search area around the first reference block and a second prediction block within a second bilateral search area around the second reference block (“On the encoder side, motion search is performed within a search range by using the motion vector predictors of the two control points as search start points, to obtain the motion vectors of the two control points … On the decoder side, the motion vector differences of the two control points are parsed and added to the motion vector predictors, to obtain the motion vectors of the control points.” [0199]- [0200]) based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block (“An average value of differences between original values and predictors that are of samples in the current coding block is calculated, and motion vectors … corresponding to a minimum difference average are selected” [0196]; and [0265]);
It would have been obvious to one of ordinary skill in the art to have modified the system of Wang by including and a second prediction video block within the second reference frame for the video block, wherein the first prediction video block is a reconstructed forward or backward video block of the video block, and the second prediction video block is a reconstructed forward or backward video block of the video block; locating the first prediction video block and the second prediction video block based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block; based on the located first prediction video block and the located second prediction video block; based on the refined MVD of the video block; as disclosed by Chen to improve the coding efficiency (Chen [0179]) and prediction efficiency (Chen, [0180]).
Chen does not explicitly teach the following limitations; however, in an analogous art, Huang teaches deriving a second refined MVD from the first refined MVD of the first reference frame according to a ratio of a first distance between the first reference frame and the current frame and a second distance between the second reference frame and the current frame (“the video coder may determine a refined L0 motion vector and a refined L1 motion vector by performing a decoder-side motion vector refinement process that refines the L0 base vector and the L1 base vector” [0219] “ the video coder may determine the L1 MVD by scaling an absolute value of the L0 MVD using a scaling factor of N/M, where N indicates a POC distance from the L1 reference picture to the current picture and M indicates a POC distance from the L0 reference picture to the current picture.” [0250])
deriving a motion vector (MV) of the current block using the second refined MVD (“The video coder may form the L1 base vector as the L1 MVD plus a motion vector in the L1 AMVP candidate list indicated by the L1 MVP flag.” [0252]; “The video decoder may then add the L0 MVD to the selected candidate in the L0 AMVP candidate list and may add the L1 MVD to the selected candidate in the L1 AMVP candidate list.” [0036]).
It would have been obvious to one of ordinary skill in the art to have modified the method and apparatus of computing motion vector differences (MVD) for a current block as disclosed by Wang in view of Chen to further add the symmetric motion vector difference mode as disclosed by Huang to improve the compression quality (Huang [0193]).
Huang does not explicitly teach the following limitations; however, in an analogous art, Zhang teaches deriving a first refined MVD by refining the initial MVD based on the first prediction block and the second prediction block(“In bi-prediction operation, for the prediction of one block region, two prediction blocks, formed using a motion vector (MV) of list0 and a MV of list1, respectively, are combined to form a single prediction signal” [0359]; “For DMVR in VVC, MVD mirroring between list 0 and list 1 is assumed as shown in FIG. 19 and bilateral matching is performed to refine the MVs, e.g., to find the best MVD among several MVD candidates” [0360]).
It would have been obvious to one of ordinary skill in the art to have modified the method and apparatus of computing motion vector differences (MVD) for a current block as disclosed by Wang in view of Chen and Huang to further add the refinement of the motion vector based on two prediction blocks as disclosed by Zhang to improve the quality of decompressed or decoded digital video or images (Zhang [0055]).
Regarding Claim 24, Wang in view of Chen, Huang, and Zhang teach the method of claim 21. Chen further teaches wherein the cost criterion includes a distortion cost of one or more positions modified by a factor to make the one or more positions more or less preferable during the minimum difference measurement (“A rate-distortion cost is calculated according to formula (1), where J represents a rate-distortion cost RD Cost, SAD represents a sum of absolute differences (SAD)” [0175]; ”The optimal candidate motion information is determined from the two candidate motion information lists according to a minimum rate-distortion cost criterion,” [0265], [0196]-[0199]).
It would have been obvious to one of ordinary skill in the art to have modified the system of Wang by including and a second prediction video block within the second reference frame for the video block, wherein the first prediction video block is a reconstructed forward or backward video block of the video block, and the second prediction video block is a reconstructed forward or backward video block of the video block; locating the first prediction video block and the second prediction video block based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block; based on the located first prediction video block and the located second prediction video block; based on the refined MVD of the video block; as taught by Chen because the modification would improve the coding efficiency (Chen [0179]) and prediction efficiency (Chen [0180]).
Regarding Claim 25, Wang in view of Chen, Huang, and Zhang teach the method of claim 21. Chen further teaches wherein a search area size for the first bilateral search area is based on a precision of the initial MVD (“motion search is performed within a search range by using the motion vector predictors of the two control points as search start points, to obtain the motion vectors of the two control points. Differences between the motion vectors and the motion vector predictors of the two control points are transferred to the decoder side.” [0199]- [0200]).
It would have been obvious to one of ordinary skill in the art to have modified the system of Wang by including and a second prediction video block within the second reference frame for the video block, wherein the first prediction video block is a reconstructed forward or backward video block of the video block, and the second prediction video block is a reconstructed forward or backward video block of the video block; locating the first prediction video block and the second prediction video block based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block; based on the located first prediction video block and the located second prediction video block; based on the refined MVD of the video block; as taught by Chen because the modification would improve the coding efficiency (Chen [0179]) and prediction efficiency (Chen [0180]).
Regarding Claim 26, Wang in view of Chen, Huang, and Zhang teach the method of claim 21. Wang further teaches wherein refining the initial MVD comprises determining a refining granularity of the initial MVD based on at least one of a precision of the initial MVD, a magnitude of the initial MVD, and an associated MV class of the initial MVD. (“using higher MVD resolution may not be always optimal in terms of coding efficiency. For example, compared to small resolution video sequences (, VGA and WQVGA), the characteristics of the samples inside one inter block in large resolution video sequences (, HD, 4K or even 8K videos) tend to be more consistent and its corresponding MV(s) usually are much larger. In such a case, it may be not worthy to increase the CPMV resolution of one affine block to 1/16-pel level due to the poor tradeoff in this case.” [0083],” the AMVR allows the MVD of one inter non merge block to be coded in various resolutions.” [0079], [0035]- [0040], [0092]- [0093], [0095]).
Regarding Claim 27, Wang in view of Chen, Huang, and Zhang teach the method of claim 21. Chen further teaches the first prediction block within the first reference frame is identified using a search direction that is based on a direction of the initial MVD (“Forward prediction means selecting a reference picture from a forward reference picture set, to obtain a reference block for the current coding block…the current coding block needs to try a plurality of reference blocks in the reference picture,” [0171]-[0172]; ”motion estimation performed by using a candidate motion vector predictor … motion search is performed in an MVP-centric neighboring area,” [0175]-[0176], [0169]-[0171], [0196]-[0200], [0265]).
It would have been obvious to one of ordinary skill in the art to have modified the system of Wang by including and a second prediction video block within the second reference frame for the video block, wherein the first prediction video block is a reconstructed forward or backward video block of the video block, and the second prediction video block is a reconstructed forward or backward video block of the video block; locating the first prediction video block and the second prediction video block based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block; based on the located first prediction video block and the located second prediction video block; based on the refined MVD of the video block; as taught by Chen because the modification would improve the coding efficiency (Chen [0179]) and prediction efficiency (Chen [0180]).
Regarding Claim 31, Wang teaches a non-transitory computer-readable storage medium storing a video bitstream that is generated by a video encoding method, (“The encoded video bitstream is then saved in a computer-readable storage medium” [0004]) the video bitstream comprising:
the video bitstream comprising:
coded information for a plurality of blocks of video data, including a current block within a current frame (“a method of computing motion vector differences (MVD) for a current block in inter prediction mode, the method comprising: receiving, from a video bitstream, a first syntax element indicative of a first set of MVD resolutions from a plurality of sets of MVD resolutions, “[0006]);
an indicator indicating that the current block is encoded using a joint adaptive motion vector difference (MVD) resolution mode ( a first syntax element indicative of a first set of motion vector differences (MVD) resolutions from a plurality of sets of MVD resolutions (610) [0099]-[00100]; the plurality of sets of MVD resolution are signaled at a partition level higher than the predefined partition level (, the plurality of sets of MVD resolution at the SPS or PPS level while the first set of MVD resolution at a slice or tile level) ... the selection of AMVR precision under affine AMVR mode is dependent on the location of a CPMV ... use different AMVR precisions to signal the MVDs of CPMVs at different locations. Specifically, in such method the precisions of two or three CPMVs are jointly signaled depending on whether 4- parameter or 6-parameter affine model is applied [00105]- [00106]);
a signaled MVD jointly signaled with an adaptive MVD pixel resolution ( a first syntax element indicative of a first set of motion vector differences (MVD) resolutions from a plurality of sets of MVD resolutions (610) [0099]-[00100]; the plurality of sets of MVD resolution are signaled at a partition level higher than the predefined partition level (, the plurality of sets of MVD resolution at the SPS or PPS level while the first set of MVD resolution at a slice or tile level) ... the selection of AMVR precision under affine AMVR mode is dependent on the location of a CPMV ... use different AMVR precisions to signal the MVDs of CPMVs at different locations. Specifically, in such method the precisions of two or three CPMVs are jointly signaled depending on whether 4- parameter or 6-parameter affine model is applied [00105]- [00106]); and
wherein the video encoding method comprises, when the current block is encoded using the joint adaptive MVD resolution mode (“precisions of two or three CPMVs are jointly signaled” [0106];” each MVD resolution value corresponding to a respective CPMV of the current block (660)” [0107]);
identifying a first reference block within the first reference frame using the first MVP and a second reference block within the second reference frame using the second MVP (“Upon receiving the motion vector for the PU of the current video block, motion compensation unit 44 may locate a predictive block to which the motion vector points in one of the reference frame lists, retrieve the predictive block from DPB 64” [0040]; ”a current block 510 is related to a reference block … by two motion vectors, MVo … and MVi … of the current block 510.” [0073]);
encoding the current block using the refined MV (“Entropy encoding unit 56 may also entropy encode the motion vectors and the other syntax elements for the current video frame being coded.” [0047]).
Wang does not explicitly teach the following limitations; however, in an analogous art, Chen teaches obtaining a first motion vector predictor (MVP) and a second MVP for the current block (“The candidate motion vectors of the upper-left vertex and the candidate motion vectors of the upper-right vertex are combined to constitute a candidate motion vector 2-tuple queue of two control point” [0192]; ”An index value representing a location of the 2-tuple in the candidate motion vector 2-tuple queue is encoded into a bitstream” [0196]);
identifying a first prediction block within a first bilateral search area around the first reference block and a second prediction block within a second bilateral search area around the second reference block (“On the encoder side, motion search is performed within a search range by using the motion vector predictors of the two control points as search start points, to obtain the motion vectors of the two control points … On the decoder side, the motion vector differences of the two control points are parsed and added to the motion vector predictors, to obtain the motion vectors of the control points.” [0199]- [0200]) based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block (“An average value of differences between original values and predictors that are of samples in the current coding block is calculated, and motion vectors … corresponding to a minimum difference average are selected” [0196]; and [0265]).
It would have been obvious to one of ordinary skill in the art to have modified the system of Wang by including and a second prediction video block within the second reference frame for the video block, wherein the first prediction video block is a reconstructed forward or backward video block of the video block, and the second prediction video block is a reconstructed forward or backward video block of the video block; locating the first prediction video block and the second prediction video block based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block; based on the located first prediction video block and the located second prediction video block; based on the refined MVD of the video block; as disclosed by Chen to improve the coding efficiency (Chen [0179]) and prediction efficiency (Chen, [0180]).
Chen does not explicitly teach the following limitations; however, in an analogous art, Huang teaches deriving a second refined MVD from the first refined MVD of the first reference frame according to a ratio of a first distance between the first reference frame and the current frame and a second distance between the second reference frame and the current frame (“the video coder may determine a refined L0 motion vector and a refined L1 motion vector by performing a decoder-side motion vector refinement process that refines the L0 base vector and the L1 base vector” [0219] “ the video coder may determine the L1 MVD by scaling an absolute value of the L0 MVD using a scaling factor of N/M, where N indicates a POC distance from the L1 reference picture to the current picture and M indicates a POC distance from the L0 reference picture to the current picture.” [0250])
deriving a motion vector (MV) of the current block using the second refined MVD (“The video coder may form the L1 base vector as the L1 MVD plus a motion vector in the L1 AMVP candidate list indicated by the L1 MVP flag.” [0252]; “The video decoder may then add the L0 MVD to the selected candidate in the L0 AMVP candidate list and may add the L1 MVD to the selected candidate in the L1 AMVP candidate list.” [0036]).
It would have been obvious to one of ordinary skill in the art to have modified the method and apparatus of computing motion vector differences (MVD) for a current block as disclosed by Wang in view of Chen to further add the symmetric motion vector difference mode as disclosed by Huang to improve the compression quality (Huang [0193]).
Huang does not explicitly teach the following limitations; however, in an analogous art, Zhang teaches deriving a first refined MVD by refining an initial MVD based on the first prediction block and the second prediction block (“In bi-prediction operation, for the prediction of one block region, two prediction blocks, formed using a motion vector (MV) of list0 and a MV of list1, respectively, are combined to form a single prediction signal” [0359]; “For DMVR in VVC, MVD mirroring between list 0 and list 1 is assumed as shown in FIG. 19 and bilateral matching is performed to refine the MVs, e.g., to find the best MVD among several MVD candidates” [0360]).
It would have been obvious to one of ordinary skill in the art to have modified the method and apparatus of computing motion vector differences (MVD) for a current block as disclosed by Wang in view of Chen and Huang to further add the refinement of the motion vector based on two prediction blocks as disclosed by Zhang to improve the quality of decompressed or decoded digital video or images (Zhang [0055]).
Regarding Claim 32, Wang in view of Chen, Huang, and Zhang teach the non-transitory computer-readable storage medium of claim 31. Chen further teaches wherein the second refined MVD of the second reference frame is derived from the first refined MVD of the first reference frame according to refinedmvd1 = (td1/td0) * refinedmvd0, (“The temporal candidate motion information of the current coding block is obtained by scaling an MV of a collocated block in a reference picture based on the reference picture and a picture order count (POC) of a current picture.” [0176];” the motion vector is scaled according to formula (10). A scaling coefficient is a ratio of a distance from a current picture to a reference picture versus a distance from the current picture to a reference picture of a neighboring block.” [0238]; Equation 10)
[AltContent: textbox (1)]wherein td0 is a distance between the first reference frame and the current frame, td1 is a distance between the second reference frame and the current frame, and refinedmvd0 and refinedmvd1 are the first refined MVD of the first reference frame, and the second refined MVD of the second reference frame respectively (“The temporal candidate motion information of the current coding block is obtained by scaling an MV of a collocated block in a reference picture based on the reference picture and a picture order count (POC) of a current picture.” [0176];” the motion vector is scaled according to formula (10). A scaling coefficient is a ratio of a distance from a current picture to a reference picture versus a distance from the current picture to a reference picture of a neighboring block.” [0238]).
It would have been obvious to one of ordinary skill in the art to have modified the system of Wang by including and a second prediction video block within the second reference frame for the video block, wherein the first prediction video block is a reconstructed forward or backward video block of the video block, and the second prediction video block is a reconstructed forward or backward video block of the video block; locating the first prediction video block and the second prediction video block based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block; based on the located first prediction video block and the located second prediction video block; based on the refined MVD of the video block; as taught by Chen because the modification would improve the coding efficiency (Chen [0179]) and prediction efficiency (Chen [0180]).
Regarding Claim 33, Wang in view of Chen, Huang, and Zhang teach the non-transitory computer-readable storage medium of claim 31. Chen further teaches wherein the cost criterion includes a distortion cost of one or more positions modified by a factor to make the one or more positions more or less preferable during the minimum difference measurement (“A rate-distortion cost is calculated according to formula (1), where J represents a rate-distortion cost RD Cost, SAD represents a sum of absolute differences (SAD)” [0175]; ”The optimal candidate motion information is determined from the two candidate motion information lists according to a minimum rate-distortion cost criterion,” [0265], [0196]-[0199]).
It would have been obvious to one of ordinary skill in the art to have modified the system of Wang by including and a second prediction video block within the second reference frame for the video block, wherein the first prediction video block is a reconstructed forward or backward video block of the video block, and the second prediction video block is a reconstructed forward or backward video block of the video block; locating the first prediction video block and the second prediction video block based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block; based on the located first prediction video block and the located second prediction video block; based on the refined MVD of the video block; as taught by Chen because the modification would improve the coding efficiency (Chen [0179]) and prediction efficiency (Chen [0180]).
Regarding Claim 34, Wang in view of Chen, Huang, and Zhang teach the non-transitory computer-readable storage medium of claim 31. Chen further teaches wherein a search area size for the first bilateral search area is based on a precision of the signaled MVD (“motion search is performed within a search range by using the motion vector predictors of the two control points as search start points, to obtain the motion vectors of the two control points. Differences between the motion vectors and the motion vector predictors of the two control points are transferred to the decoder side.” [0199]- [0200]).
It would have been obvious to one of ordinary skill in the art to have modified the system of Wang by including and a second prediction video block within the second reference frame for the video block, wherein the first prediction video block is a reconstructed forward or backward video block of the video block, and the second prediction video block is a reconstructed forward or backward video block of the video block; locating the first prediction video block and the second prediction video block based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block; based on the located first prediction video block and the located second prediction video block; based on the refined MVD of the video block; as taught by Chen because the modification would improve the coding efficiency (Chen [0179]) and prediction efficiency (Chen [0180]).
Regarding Claim 35, Wang in view of Chen, Huang, and Zhang teach the non-transitory computer-readable storage medium of claim 31. Wang further teaches wherein refining the signaled MVD of the video block comprises determining a refining granularity of the MVD based on the precision, a magnitude and/or an associated MV class of the MVD (“using higher MVD resolution may not be always optimal in terms of coding efficiency. For example, compared to small resolution video sequences (, VGA and WQVGA), the characteristics of the samples inside one inter block in large resolution video sequences (, HD, 4K or even 8K videos) tend to be more consistent and its corresponding MV(s) usually are much larger. In such a case, it may be not worthy to increase the CPMV resolution of one affine block to 1/16-pel level due to the poor tradeoff in this case.” [0083],” the AMVR allows the MVD of one inter non merge block to be coded in various resolutions.” [0079], [0035]- [0040], [0092]- [0093], [0095]).
Regarding Claim 36, Wang in view of Chen, Huang, and Zhang teach the non-transitory computer-readable storage medium of claim 31. Chen further teaches the first prediction block within the first reference frame is identified using a search direction that is based on a direction of the signaled MVD (“Forward prediction means selecting a reference picture from a forward reference picture set, to obtain a reference block for the current coding block…the current coding block needs to try a plurality of reference blocks in the reference picture,” [0171]-[0172]; ”motion estimation performed by using a candidate motion vector predictor … motion search is performed in an MVP-centric neighboring area,” [0175]-[0176], [0169]-[0171], [0196]-[0200], [0265]).
It would have been obvious to one of ordinary skill in the art to have modified the system of Wang by including and a second prediction video block within the second reference frame for the video block, wherein the first prediction video block is a reconstructed forward or backward video block of the video block, and the second prediction video block is a reconstructed forward or backward video block of the video block; locating the first prediction video block and the second prediction video block based on a minimum difference measured by a cost criterion between the first prediction block and the second prediction block; based on the located first prediction video block and the located second prediction video block; based on the refined MVD of the video block; as taught by Chen because the modification would improve the coding efficiency (Chen [0179]) and prediction efficiency (Chen [0180]).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MAHMOUD KAMAL ABOUZAHRA whose telephone number is (703)756-1694. The examiner can normally be reached M-F 7:00 AM to 5:00 PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jamie Atala can be reached at (571) 272-7384. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/MAHMOUD KAMAL ABOUZAHRA/Examiner, Art Unit 2486
/Justin W Rider/Primary Patent Examiner, Art Unit 2486