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 .
Status of the Application
Claims 2, 10, and 15 have been cancelled. Claims 1, 3-9, 11-14, 16, and 17 are currently pending in this application.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 06/17/2026 was filed after the mailing date of the non-final rejection on 03/23/2026. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
Response to Arguments
Applicant's arguments filed 06/22/2026 have been fully considered but they are not persuasive.
On pages 8-16 of the Applicant’s Remarks, the Applicant argues that the double patenting rejections should be withdrawn due to the removal of a limitation and the addition of a limitation to the independent claims 1, 8, and 13.
In regards to the double patent rejection over U.S. Patent No. 11,813,816, the Examiner agrees that the double patenting rejection should be withdrawn in view of the amended claim limitations.
However, the Examiner respectfully disagrees with the Applicant’s Remarks in regards to the U.S. Patents 12,267,490 and 12,425,582. Firstly, the independent claims 1, 8, and 13 have removed the claim limitation: “excluding a collocated motion vector from the motion vector predictor candidate list when the collocated motion vector points outside of the sub-picture and when a flag is set to indicate the sub-picture is treated as a picture, wherein the collocated motion vector is included in a collocated block from a collocated picture”. The removal of the claim limitation would not render the double patenting rejection moot. As stated below in the current rejection, some of the differences in the claim limitations in the U.S. Patent are narrower than the instant application, and thus, it would have been obvious to make the make limitations in the instant application broader by removing the specific language found in the U.S. Patent.
Secondly, the independent claims 1, 8, and 13 have added the claim limitation, “wherein the second flag is denoted as a loop_filter_across_subpic_enabled_flag, and wherein the loop_filter_across_subpic_enabled_flag is obtained from a sequence parameter set (SPS) in the bitstream.” The U.S. Patents 12,267,490 and 12,425,582 both disclose the flag loop_filter_across_subpic_enabled_flag in claim 2.
KIM et al. (Hereafter, “Kim”) [US 2021/0185330 A1] discloses that the determination of whether to apply an in-loop filter at the boundary of a division unit [See Kim, 0102], wherein the division unit can be a subpicture [See Kim]. Further, Kim discloses that the encoding/decoding setting information and/or syntax elements can be included in the sequence parameter set (SPS) in the bitstream [See Kim, 0064].
It would have been obvious to one of ordinary skill in the art at the time of the invention to modify the invention with the known in-loop filter flags for division units (i.e., subpicture) to be included in the SPS in the bitstream as taught by Kim in order to improve image compression efficiency [See Kim].
Double Patenting
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 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); 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 nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b).
The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.
Claims 1, 3-9, 11-14, 16, and 17 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 8-19 of U.S. Patent No. 12,267,490 in view of KIM et al. (Hereafter, “Kim”) [US 2021/0185330 A1]. Although the claims at issue are not identical, they are not patentably distinct from each other because they cover mutually associated subject matter. Thus, a terminal disclaimer is required. An analysis of the claims can be seen in Table 1 below.
Table 1: Instant Application No. 19/060,280 vs. U.S. Patent No. 12,267,490
Instant Application No. 19/060,280 Claims (Difference Emphasis Added)
U.S. Patent No. 12,267,490 Claims (Difference Emphasis Added)
1. A non-transitory computer-readable medium storing computer instructions for decoding a bitstream, that when executed by one or more processors, cause the one or more processors to perform steps of:
receive a bitstream comprising a first flag, a second flag, and a picture including a tile with a tile boundary and a sub-picture with a sub-picture boundary; derive a motion vector predictor candidate list for a current block; decode the tile and the sub-picture based on the motion vector predictor candidate list; enable filtering operations across the tile boundary when the first flag is set to a first value; disable the filtering operations across the tile boundary when the first flag is set to a second value; enable filtering operations across the sub-picture boundary when the second flag is set to a third value; and disable the filtering operations across the sub-picture boundary when the second flag is set to a fourth value, wherein the first flag is denoted as a loop_filter_across_tiles_enabled_flag, and wherein the loop_filter_across_tiles_enabled_flag is obtained from a picture parameter set (PPS) in the bitstream, wherein the second flag is denoted as loop_filter_across_subpic_enabled_flag, and wherein loop_filter_across_subpic_enabled_flag is obtained from a sequence parameter set (SPS) in the bitstream.
13. A decoder comprising: a receiver configured to receive a bitstream comprising a first flag, a second flag, and a picture including a tile with a tile boundary and a sub-picture with a sub-picture boundary; and a processor coupled to the receiver and configured to: derive a motion vector predictor candidate list for a current block by excluding a collocated motion vector from the motion vector predictor candidate list when the collocated motion vector points outside of the sub-picture and when a flag is set to indicate the sub-picture is treated as a picture, wherein the collocated motion vector is included in a collocated block from a collocated picture; decode the tile and the sub-picture based on the motion vector predictor candidate list; enable filtering operations across the tile boundary when the first flag is set to a first value; disable the filtering operations across the tile boundary when the first flag is set to a second value; enable filtering operations across the sub-picture boundary when the second flag is set to a third value; and disable the filtering operations across the sub-picture boundary when the second flag is set to a fourth value, wherein the first flag is denoted as a loop_filter_across_tiles_enabled_flag, and wherein the loop_filter_across_tiles_enabled_flag is obtained from a picture parameter set (PPS) in the bitstream.
14. The decoder of claim 13, wherein the second flag is denoted as loop_filter_across_subpic_enabled_flag.
3. The non-transitory computer readable medium of claim 1, wherein the loop_filter_across_tiles_enabled_flag is set to one when specifying the filtering operations are enabled across tile boundaries in pictures referring to the PPS, and wherein the loop_filter_across_tiles_ enabled_flag is set to zero when specifying the filtering operations are disabled across tile boundaries in pictures referring to the PPS.
15. The decoder of claim 13, wherein the loop_filter_across_tiles_enabled_flag is set to one when specifying the filtering operations are enabled across tile boundaries in pictures referring to the PPS, and wherein the loop_filter_across_tiles_enabled_flag is set to zero when specifying the filtering operations are disabled across tile boundaries in pictures referring to the PPS.
4. The non-transitory computer readable medium of claim 1, wherein the filtering operations include an adaptive loop filter (ALF).
16. The decoder of claim 13, wherein the filtering operations include an adaptive loop filter (ALF).
5. The non-transitory computer readable medium of claim 1, wherein the filtering operations include a sample adaptive offset (SAO) filter.
17. The decoder of claim 13, wherein the filtering operations include a sample adaptive offset (SAO) filter.
6. The non-transitory computer readable medium of claim 1, wherein the filtering operations include a deblocking filter.
18. The decoder of claim 13, wherein the filtering operations include a deblocking filter.
7. The non-transitory computer readable medium of claim 1, wherein the tile boundary includes one or more edges of the tile.
19. The decoder of claim 13, wherein the tile boundary includes one or more edges of the tile.
8. An encoder comprising: one or more processors configured to: partition a picture into a tile with a tile boundary and a sub-picture with a sub-picture boundary; set a first flag in a bitstream to indicate whether filtering operations are performed across the tile boundary; derive a motion vector predictor candidate list for a current block; encode the tile and the sub-picture in the bitstream based on the motion vector predictor candidate list; and set a second flag in the bitstream to indicate whether filtering operations are performed across the sub-picture boundary; and a memory coupled to the one or more processors and configured to store the bitstream, wherein the first flag is denoted as a loop_filter_across_tiles_enabled_flag, and wherein the loop_filter_across_tiles_enabled_flag is set in a picture parameter set (PPS) in the bitstream, wherein the second flag is denoted as a loop_filter_across_subpic_enabled_flag, and wherein the loop_filter_across_subpic_enabled_flag is obtained from a sequence parameter set (SPS) in the bitstream.
8. A method implemented in an encoder, the method comprising: partitioning a picture into a tile with a tile boundary and a sub-picture with a sub-picture boundary; setting a first flag in a bitstream to indicate whether filtering operations are performed across the tile boundary; deriving a motion vector predictor candidate list for a current block by excluding a collocated motion vector from the motion vector predictor candidate list when the collocated motion vector points outside of the sub-picture and when a flag is set to indicate the sub-picture is treated as a picture, wherein the collocated motion vector is included in a collocated block from a collocated picture; encoding the tile and the sub-picture in the bitstream based on the motion vector predictor candidate list; setting a second flag in the bitstream to indicate whether filtering operations are performed across the sub-picture boundary; and storing the bitstream for communication toward a decoder, wherein the first flag is denoted as a loop_filter_across_tiles_enabled_flag, and wherein the loop_filter_across_tiles_enabled_flag is set in a picture parameter set (PPS) in the bitstream.
10. The method of claim 9, wherein the second flag is denoted as loop_filter_across_subpic_enabled_flag.
9. The encoder of claim 8, wherein the one or more processors are further configured to: decode the tile and the sub-picture for use in a reference picture; perform the filtering operations across the tile boundary when the first flag is set to a first value; omit the filtering operations across the tile boundary when the first flag is set to a second value; perform the filtering operations across the sub-picture boundary when the second flag is set to a third value; and omit the filtering operations across the sub-picture boundary when the second flag is set to a fourth value.
9. The method of claim 8, further comprising: decoding the tile and the sub-picture for use in a reference picture; performing the filtering operations across the tile boundary when the first flag is set to a first value; omitting the filtering operations across the tile boundary when the first flag is set to a second value; performing the filtering operations across the sub-picture boundary when the second flag is set to a third value; and omitting the filtering operations across the sub-picture boundary when the second flag is set to a fourth value.
11. The encoder of claim 8, wherein the loop_filter_across_tiles_enabled_flag is set to one when specifying the filtering operations can be performed across tile boundaries in pictures referring to the PPS, and wherein the loop_filter_across_tiles_enabled_flag is set to zero when specifying the filtering operations are not performed across tile boundaries in pictures referring to the PPS.
11. The method of claim 8, wherein the loop_filter_across_tiles_enabled_flag is set to one when specifying the filtering operations can be performed across tile boundaries in pictures referring to the PPS, and wherein the loop_filter_across_tiles_enabled_flag is set to zero when specifying the filtering operations are not performed across tile boundaries in pictures referring to the PPS.
12. The encoder of claim 8, wherein the filtering operations include application of an adaptive loop filter (ALF), a sample adaptive offset (SAO) filter, a deblocking filter, or combinations thereof.
12. The method of claim 8, wherein the filtering operations include application of an adaptive loop filter (ALF), a sample adaptive offset (SAO) filter, a deblocking filter, or combinations thereof.
Claim 13 is the same as claim 8 in non-transitory computer-readable storage medium form.
Claim 8 is in method of encoding form.
Claim 10 is in method of encoding form.
Claim 14 is the same as claim 9 in non-transitory computer-readable storage medium form.
Claim 9 is in method of encoding form.
Claim 16 is the same as claim 11 in non-transitory computer-readable storage medium form.
Claim 11 is in method of encoding form.
Claim 17 is the same as claim 12 in non-transitory computer-readable storage medium form.
Claim 12 is in method of encoding form.
Some of the differences in the claim limitations in the U.S. Patent are narrower than the instant application, and thus, it would have been obvious to make the make limitations in the instant application broader by removing the specific language found in the U.S. Patent.
The U.S. Patent fails to explicitly disclose a non-transitory computer-readable medium storing computer instructions for decoding a bitstream, that when executed by one or more processors, cause the one or more processors to perform steps of; a memory coupled to the one or more processors, wherein the loop_filter_across_subpic_enabled_flag is obtained from a sequence parameter set (SPS) in the bitstream.
Kim discloses a non-transitory computer-readable medium storing computer instructions for decoding a bitstream, that when executed by one or more processors, cause the one or more processors to perform steps of; a memory coupled to the one or more processors ([0320] Referring to FIG. 16, the image encoding/decoding apparatus 200 according to an embodiment of the present invention may include at least one processor 210 and the memory 220 storing instructions instructing at least one processor 210 to perform at least one step. [0503] The instructions that can be executed by various computer means and recorded on a computer readable medium. Computer-readable media may include, alone or in combination with program instructions, data files, data structures, and the like. The program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention, or may be known and available to those skilled in computer software.), wherein the loop_filter_across_subpic_enabled_flag is obtained from a sequence parameter set (SPS) in the bitstream ([0064] Setting information or syntax elements required in an image encoding process may be determined at the unit level of a video, sequence, picture, slice, tile, block, and the like, these may be included in a bitstream and transmitted to a decoder in a unit such as a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), a slice header, a tile header, a block header, and the like. etc., and in the decoder, the setting information transmitted from an encoder by parsing in the same level unit may be restored and used in an image decoding process. [0102] when a block boundary corresponds to a boundary of a division unit, it is determined whether to apply an in-loop filter at the boundary of the division unit [0143] division units (tile, subpicture, etc.)).
It would have been obvious to one of ordinary skill in the art at the time of the invention to modify the invention with the known in-loop filter flags for division units (i.e., subpicture) to be included in the SPS in the bitstream as taught by Kim in order to improve image compression efficiency [See Kim].
Claims 1, 3-9, 11-14, 16, and 17 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-13 of U.S. Patent No. 12,425,582 in view of KIM et al. (Hereafter, “Kim”) [US 2021/0185330 A1] in further view of OH (Hereafter, “Oh”) [US 2016/0080753 A1]. Although the claims at issue are not identical, they are not patentably distinct from each other because they cover mutually associated subject matter. Thus, a terminal disclaimer is required. An analysis of the claims can be seen in Table 2 below.
Table 2: Instant Application No. 19/060,280 vs. U.S. Patent No. 12,425,582
Instant Application No. 19/060,280 Claims (Difference Emphasis Added)
U.S. Patent No. 12,425,582 Claims (Difference Emphasis Added)
1. A non-transitory computer-readable medium storing computer instructions for decoding a bitstream, that when executed by one or more processors, cause the one or more processors to perform steps of:
receive a bitstream comprising a first flag, a second flag, and a picture including a tile with a tile boundary and a sub-picture with a sub-picture boundary; derive a motion vector predictor candidate list for a current block; decode the tile and the sub-picture based on the motion vector predictor candidate list; enable filtering operations across the tile boundary when the first flag is set to a first value; disable the filtering operations across the tile boundary when the first flag is set to a second value; enable filtering operations across the sub-picture boundary when the second flag is set to a third value; and disable the filtering operations across the sub-picture boundary when the second flag is set to a fourth value, wherein the first flag is denoted as a loop_filter_across_tiles_enabled_flag, and wherein the loop_filter_across_tiles_enabled_flag is obtained from a picture parameter set (PPS) in the bitstream, wherein the second flag is denoted as loop_filter_across_subpic_enabled_flag, and wherein the loop_filter_across_subpic_enabled_flag is obtained from a sequence parameter set (SPS) in the bitstream.
1. A method implemented by a decoder, the method comprising: receiving a bitstream comprising a sequence parameter set (SPS), a flag, and a picture partitioned into a sub-picture with a sub-picture boundary, wherein the sub-picture is a rectangular region capable of containing a plurality of slices within the picture, wherein the flag is included in the SPS to apply to a coded video sequence (CVS), wherein the SPS further comprises a subpic_treated_as_pic_flag[i], wherein i is an index of the sub-picture, and wherein the subpic_treated_as_pic_flag [i] is set equal to one to specify that an i-th sub-picture of each coded picture in the CVS is treated as a picture in a decoding process exclusive of in-loop filtering operations; deriving a motion vector predictor candidate list for a current block by excluding a collocated motion vector when the collocated motion vector points outside of the sub-picture and when the subpic_treated_as_pic_flag[i] is set to indicate the sub-picture is treated as a picture, wherein the collocated motion vector is included in a collocated block from a collocated picture; determining a current motion vector for the current block from the motion vector predictor candidate list; decoding the sub-picture based on the current motion vector; enabling filtering operations across the sub-picture boundary when the flag is set to a first value; and disabling the filtering operations across the sub-picture boundary when the flag is set to a second value.
2. The method of claim 1, wherein the flag is denoted as a loop_filter_across_subpic_enabled_flag.
3. The non-transitory computer readable medium of claim 1, wherein the loop_filter_across_tiles_enabled_flag is set to one when specifying the filtering operations are enabled across tile boundaries in pictures referring to the PPS, and wherein the loop_filter_across_tiles_ enabled_flag is set to zero when specifying the filtering operations are disabled across tile boundaries in pictures referring to the PPS.
3. The method of claim 2, wherein the loop_filter_across_subpic_enabled_flag is set to one when specifying that in-loop filtering operations are enabled across boundaries of the sub-picture, and wherein the loop_filter_across_subpic_enabled_flag is set to zero when specifying that the in-loop filtering operations are disabled across boundaries of the sub-picture.
4. The non-transitory computer readable medium of claim 1, wherein the filtering operations include an adaptive loop filter (ALF).
5. The method of claim 1, wherein the filtering operations include application of an adaptive loop filter (ALF).
5. The non-transitory computer readable medium of claim 1, wherein the filtering operations include a sample adaptive offset (SAO) filter.
6. The method of claim 1, wherein the filtering operations include application of a sample adaptive offset (SAO) filter.
6. The non-transitory computer readable medium of claim 1, wherein the filtering operations include a deblocking filter.
4. The method of claim 1, wherein the filtering operations include application of a deblocking filter.
7. The non-transitory computer readable medium of claim 1, wherein the tile boundary includes one or more edges of the tile.
7. The method of claim 1, wherein the sub-picture boundary includes one or more edges of the sub-picture.
8. An encoder comprising: one or more processors configured to: partition a picture into a tile with a tile boundary and a sub-picture with a sub-picture boundary; set a first flag in a bitstream to indicate whether filtering operations are performed across the tile boundary; derive a motion vector predictor candidate list for a current block by excluding a collocated motion vector from the motion vector predictor candidate list when the collocated motion vector points outside of the sub-picture and when a flag is set to indicate the sub-picture is treated as a picture, wherein the collocated motion vector is included in a collocated block from a collocated picture; encode the tile and the sub-picture in the bitstream based on the motion vector predictor candidate list; and set a second flag in the bitstream to indicate whether filtering operations are performed across the sub-picture boundary; and a memory coupled to the one or more processors and configured to store the bitstream, wherein the first flag is denoted as a loop_filter_across_tiles_enabled_flag, and wherein the loop_filter_across_tiles_enabled_flag is set in a picture parameter set (PPS) in the bitstream, wherein the second flag is denoted as loop_filter_across_subpic_enabled_flag, and wherein the loop_filter_across_subpic_enabled_flag is obtained from a sequence parameter set (SPS) in the bitstream.
8. A method implemented in an encoder, the method comprising: partitioning a picture into a sub-picture with a sub-picture boundary, wherein the sub-picture is a rectangular region capable of containing a plurality of slices within the picture; setting a flag in a sequence parameter set (SPS) in a bitstream to indicate whether filtering operations are performed across the sub-picture boundary, wherein the flag is included in the SPS to apply to a coded video sequence (CVS); encoding a subpic_treated_as_pic_flag[i] into the SPS, wherein i is an index of the sub-picture, and wherein the subpic_treated_as_pic_flag[i] is set equal to one to specify that an i-th sub-picture of each coded picture in the CVS is treated as a picture in a decoding process exclusive of in-loop filtering operations; deriving a motion vector predictor candidate list for a current block by excluding a collocated motion vector when the collocated motion vector points outside of the sub-picture and when the subpic_treated_as_pic_flag[i] is set to indicate the sub-picture is treated as a picture, wherein the collocated motion vector is included in a collocated block from a collocated picture; determining a current motion vector for the current block from the motion vector predictor candidate list; encoding the sub-picture in the bitstream based on the current motion vector; and storing the bitstream for communication toward a decoder.
10. The method of claim 8, wherein the flag is denoted as a loop_filter_across_subpic_enabled_flag,
9. The encoder of claim 8, wherein the one or more processors are further configured to: decode the tile and the sub-picture for use in a reference picture; perform the filtering operations across the tile boundary when the first flag is set to a first value; omit the filtering operations across the tile boundary when the first flag is set to a second value; perform the filtering operations across the sub-picture boundary when the second flag is set to a third value; and omit the filtering operations across the sub-picture boundary when the second flag is set to a fourth value.
9. The method of claim 8, further comprising: decoding the sub-picture for use in a reference picture; performing the filtering operations across the sub-picture boundary when the flag is set to a first value; and omitting the filtering operations across the sub-picture boundary when the flag is set to a second value.
11. The encoder of claim 8, wherein the loop_filter_across_tiles_enabled_flag is set to one when specifying the filtering operations can be performed across tile boundaries in pictures referring to the PPS, and wherein the loop_filter_across_tiles_enabled_flag is set to zero when specifying the filtering operations are not performed across tile boundaries in pictures referring to the PPS.
10. The method of claim 8, wherein the flag is denoted as a loop_filter_across_subpic_enabled_flag, wherein the loop_filter_across_subpic_enabled_flag is set to one when specifying that in-loop filtering operations can be performed across boundaries of the sub-picture, and wherein the loop_filter_across_subpic_enabled_flag is set to zero when specifying the in-loop filtering operations are not performed across the boundaries of the sub-picture.
12. The encoder of claim 8, wherein the filtering operations include application of an adaptive loop filter (ALF), a sample adaptive offset (SAO) filter, a deblocking filter, or combinations thereof.
11. The method of claim 8, wherein the filtering operations include application of a deblocking filter.
12. The method of claim 8, wherein the filtering operations include application of an adaptive loop filter (ALF).
13. The method of claim 8, wherein the filtering operations include application of a sample adaptive offset (SAO) filter.
Claim 13 is the same as claim 8 in non-transitory computer-readable storage medium form.
Claim 8 is in method of encoding form.
Claim 10 is in method of encoding form.
Claim 14 is the same as claim 9 in non-transitory computer-readable storage medium form.
Claim 9 is in method of encoding form.
Claim 16 is the same as claim 11 in non-transitory computer-readable storage medium form.
Claim 10 is in method of encoding form.
Claim 17 is the same as claim 12 in non-transitory computer-readable storage medium form.
Claims 11-13 are in method of encoding form.
Some of the differences in the claim limitations in the U.S. Patent are narrower than the instant application, and thus it would have been obvious to make the claim limitations in the instant application broader by removing the specific language found in the U.S. Patent.
The U.S. Patent fails to explicitly disclose a non-transitory computer-readable medium storing computer instructions for decoding a bitstream, that when executed by one or more processors, cause the one or more processors to perform steps of: receive a bitstream comprising a first flag, a second flag, and a picture including a tile with a tile boundary and a sub-picture with a sub-picture boundary; decode the tile and the sub-picture; disable the filtering operations across the tile boundary when the first flag is set to a second value; enable filtering operations across the sub-picture boundary when the second flag is set to a third value; and disable the filtering operations across the sub-picture boundary when the second flag is set to a fourth value, wherein the first flag is denoted as a loop_filter_across_tiles_enabled_flag, and wherein the loop_filter_across_tiles_enabled_flag is obtained from a picture parameter set (PPS) in the bitstream, and wherein the loop_filter_across_subpic_enabled_flag is obtained from a sequence parameter set (SPS) in the bitstream; wherein the loop_filter_across_tiles_enabled_flag is set to one when specifying the filtering operations are enabled across tile boundaries in pictures referring to the PPS, and wherein the loop_filter_across_tiles_ enabled_flag is set to zero when specifying the filtering operations are disabled across tile boundaries in pictures referring to the PPS; wherein the tile boundary includes one or more edges of the tile; one or more processors configured to: partition a picture into a tile with a tile boundary and a sub-picture with a sub-picture boundary; set a first flag in a bitstream to indicate whether filtering operations are performed across the tile boundary; encode the tile and the sub-picture in the bitstream; and set a second flag in the bitstream to indicate whether filtering operations are performed across the sub-picture boundary; and a memory coupled to the one or more processors and configured to store the bitstream, wherein the first flag is denoted as a loop_filter_across_tiles_enabled_flag, and wherein the loop_filter_across_tiles_enabled_flag is set in a picture parameter set (PPS) in the bitstream; wherein the one or more processors are further configured to: decode the tile and the sub-picture for use in a reference picture; perform the filtering operations across the tile boundary when the first flag is set to a first value; omit the filtering operations across the tile boundary when the first flag is set to a second value; perform the filtering operations across the sub-picture boundary when the second flag is set to a third value; and omit the filtering operations across the sub-picture boundary when the second flag is set to a fourth value; wherein the second flag is denoted as loop_filter_across_subpic_enabled_flag; wherein the loop_filter_across_tiles_enabled_flag is set to one when specifying the filtering operations can be performed across tile boundaries in pictures referring to the PPS, and wherein the loop_filter_across_tiles_enabled_flag is set to zero when specifying the filtering operations are not performed across tile boundaries in pictures referring to the PPS.
Kim discloses a non-transitory computer-readable medium storing computer instructions for decoding a bitstream, that when executed by one or more processors ([0320] Referring to FIG. 16, the image encoding/decoding apparatus 200 according to an embodiment of the present invention may include at least one processor 210 and the memory 220 storing instructions instructing at least one processor 210 to perform at least one step. [0503] The instructions that can be executed by various computer means and recorded on a computer readable medium. Computer-readable media may include, alone or in combination with program instructions, data files, data structures, and the like. The program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention, or may be known and available to those skilled in computer software.), cause the one or more processors to perform steps of: receive a bitstream comprising a first flag, a second flag, and a picture including a tile with a tile boundary and a sub-picture with a sub-picture boundary ([0064] Setting information or syntax elements required in an image encoding process may be determined at the unit level of a video, sequence, picture, slice, tile, block, and the like, these may be included in a bitstream and transmitted to a decoder in a unit such as a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), a slice header, a tile header, a block header, and the like. etc., and in the decoder, the setting information transmitted from an encoder by parsing in the same level unit may be restored and used in an image decoding process. In addition, related information may be transmitted in a bitstream, parsed, and used in the form of Supplement Enhancement Information (SEI), Metadata, or the like. [0141] The image encoding/decoding apparatus according to FIG. 2 or FIG. 3 may further include a division unit, and the division unit may include a picture division unit, wherein the picture division unit may partition a picture into a subpicture, tile, etc. [0263] an in-loop filter application flag at a boundary of a division unit such as loop_filter_across_enabled_flag [0271] The related setting information may be implicitly or explicitly processed according to an encoding/decoding setting. The unit thereof may include a video, a sequence, a picture, a subpicture, a slice, a tile, and the like.); decode the tile and the sub-picture ([0002] image decoding using a division unit [0143] division units (tile, subpicture, etc.)); disable the filtering operations across the tile boundary when the first flag is set to a second value; enable filtering operations across the sub-picture boundary when the second flag is set to a third value; and disable the filtering operations across the sub-picture boundary when the second flag is set to a fourth value ([0141] The image encoding/decoding apparatus according to FIG. 2 or FIG. 3 may further include a division unit, and the division unit may include a picture division unit, wherein the picture division unit may partition a picture into a subpicture, tile, etc. [0143] division units (tile, subpicture, etc.) [0263] When removing the additional area and storing in a memory (for tiles in this example), the in-loop filter may or may not be explicitly applied, according to an in-loop filter application flag at a boundary of a division unit such as loop_filter_across_enabled_flag (In detail, of the initial state). [0264] Alternatively, whether a flag for applying an in-loop filter is not supported at a boundary of a division unit, and whether filtering is applied and a filtering setting may be implicitly determined as in the following example. [0268] In addition, whether to apply the in-loop filter may be determined based on a flag indicating whether to apply the in-loop filter (In detail, additional to that boundary). When the flag is activated, filtering may be applied according to the in-loop filter setting, condition, etc. applied inside a division unit, or filtering whose in-loop filter setting, condition, etc. (in detail, additional unlike an in-loop filter setting, condition, etc., if not the boundary of the division unit) applied to a boundary of the division unit are differently defined may be applied.), wherein the first flag is denoted as a loop_filter_across_tiles_enabled_flag, and wherein the loop_filter_across_tiles_enabled_flag is obtained from a picture parameter set (PPS) in the bitstream ([0141] The image encoding/decoding apparatus according to FIG. 2 or FIG. 3 may further include a division unit, and the division unit may include a picture division unit, wherein the picture division unit may partition a picture into a subpicture, tile, etc. [0143] division units (tile, subpicture, etc.) [0263] When removing the additional area and storing in a memory (for tiles in this example), the in-loop filter may or may not be explicitly applied, according to an in-loop filter application flag at a boundary of a division unit such as loop_filter_across_enabled_flag (In detail, of the initial state). [0264] Alternatively, whether a flag for applying an in-loop filter is not supported at a boundary of a division unit, and whether filtering is applied and a filtering setting may be implicitly determined as in the following example. [0268] In addition, whether to apply the in-loop filter may be determined based on a flag indicating whether to apply the in-loop filter (In detail, additional to that boundary). When the flag is activated, filtering may be applied according to the in-loop filter setting, condition, etc. applied inside a division unit, or filtering whose in-loop filter setting, condition, etc. (in detail, additional unlike an in-loop filter setting, condition, etc., if not the boundary of the division unit) applied to a boundary of the division unit are differently defined may be applied.), and wherein the loop_filter_across_subpic_enabled_flag is obtained from a sequence parameter set (SPS) in the bitstream ([0064] Setting information or syntax elements required in an image encoding process may be determined at the unit level of a video, sequence, picture, slice, tile, block, and the like, these may be included in a bitstream and transmitted to a decoder in a unit such as a video parameter set (VPS), a sequence parameter set (SPS), a picture parameter set (PPS), a slice header, a tile header, a block header, and the like. etc., and in the decoder, the setting information transmitted from an encoder by parsing in the same level unit may be restored and used in an image decoding process. [0102] when a block boundary corresponds to a boundary of a division unit, it is determined whether to apply an in-loop filter at the boundary of the division unit [0143] division units (tile, subpicture, etc.)); one or more processors configured to: partition a picture into a tile with a tile boundary and a sub-picture with a sub-picture boundary ([0141] The image encoding/decoding apparatus according to FIG. 2 or FIG. 3 may further include a division unit, and the division unit may include a picture division unit, wherein the picture division unit may partition a picture into a subpicture, tile, etc. [0263] an in-loop filter application flag at a boundary of a division unit such as loop_filter_across_enabled_flag [0271] The related setting information may be implicitly or explicitly processed according to an encoding/decoding setting. The unit thereof may include a video, a sequence, a picture, a subpicture, a slice, a tile, and the like.); set a first flag in a bitstream to indicate whether filtering operations are performed across the tile boundary; encode the tile and the sub-picture in the bitstream ([0141] The image encoding/decoding apparatus according to FIG. 2 or FIG. 3 may further include a division unit, and the division unit may include a picture division unit, wherein the picture division unit may partition a picture into a subpicture, tile, etc. [0143] division units (tile, subpicture, etc.) [0263] When removing the additional area and storing in a memory (for tiles in this example), the in-loop filter may or may not be explicitly applied, according to an in-loop filter application flag at a boundary of a division unit such as loop_filter_across_enabled_flag (In detail, of the initial state). [0264] Alternatively, whether a flag for applying an in-loop filter is not supported at a boundary of a division unit, and whether filtering is applied and a filtering setting may be implicitly determined as in the following example. [0268] In addition, whether to apply the in-loop filter may be determined based on a flag indicating whether to apply the in-loop filter (In detail, additional to that boundary). When the flag is activated, filtering may be applied according to the in-loop filter setting, condition, etc. applied inside a division unit, or filtering whose in-loop filter setting, condition, etc. (in detail, additional unlike an in-loop filter setting, condition, etc., if not the boundary of the division unit) applied to a boundary of the division unit are differently defined may be applied.); and set a second flag in the bitstream to indicate whether filtering operations are performed across the sub-picture boundary ([0141] The image encoding/decoding apparatus according to FIG. 2 or FIG. 3 may further include a division unit, and the division unit may include a picture division unit, wherein the picture division unit may partition a picture into a subpicture, tile, etc. [0143] division units (tile, subpicture, etc.) [0263] When removing the additional area and storing in a memory (for tiles in this example), the in-loop filter may or may not be explicitly applied, according to an in-loop filter application flag at a boundary of a division unit such as loop_filter_across_enabled_flag (In detail, of the initial state). [0264] Alternatively, whether a flag for applying an in-loop filter is not supported at a boundary of a division unit, and whether filtering is applied and a filtering setting may be implicitly determined as in the following example. [0268] In addition, whether to apply the in-loop filter may be determined based on a flag indicating whether to apply the in-loop filter (In detail, additional to that boundary). When the flag is activated, filtering may be applied according to the in-loop filter setting, condition, etc. applied inside a division unit, or filtering whose in-loop filter setting, condition, etc. (in detail, additional unlike an in-loop filter setting, condition, etc., if not the boundary of the division unit) applied to a boundary of the division unit are differently defined may be applied.); and a memory coupled to the one or more processors and configured to store the bitstream ([0320] Referring to FIG. 16, the image encoding/decoding apparatus 200 according to an embodiment of the present invention may include at least one processor 210 and the memory 220 storing instructions instructing at least one processor 210 to perform at least one step. [0503] The instructions that can be executed by various computer means and recorded on a computer readable medium. Computer-readable media may include, alone or in combination with program instructions, data files, data structures, and the like. The program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention, or may be known and available to those skilled in computer software.), wherein the first flag is denoted as a loop_filter_across_tiles_enabled_flag, and wherein the loop_filter_across_tiles_enabled_flag is set in a picture parameter set (PPS) in the bitstream ([0141] The image encoding/decoding apparatus according to FIG. 2 or FIG. 3 may further include a division unit, and the division unit may include a picture division unit, wherein the picture division unit may partition a picture into a subpicture, tile, etc. [0143] division units (tile, subpicture, etc.) [0263] When removing the additional area and storing in a memory (for tiles in this example), the in-loop filter may or may not be explicitly applied, according to an in-loop filter application flag at a boundary of a division unit such as loop_filter_across_enabled_flag (In detail, of the initial state). [0264] Alternatively, whether a flag for applying an in-loop filter is not supported at a boundary of a division unit, and whether filtering is applied and a filtering setting may be implicitly determined as in the following example. [0268] In addition, whether to apply the in-loop filter may be determined based on a flag indicating whether to apply the in-loop filter (In detail, additional to that boundary). When the flag is activated, filtering may be applied according to the in-loop filter setting, condition, etc. applied inside a division unit, or filtering whose in-loop filter setting, condition, etc. (in detail, additional unlike an in-loop filter setting, condition, etc., if not the boundary of the division unit) applied to a boundary of the division unit are differently defined may be applied.); wherein the one or more processors are further configured to: decode the tile and the sub-picture for use in a reference picture; perform the filtering operations across the tile boundary when the first flag is set to a first value; omit the filtering operations across the tile boundary when the first flag is set to a second value; perform the filtering operations across the sub-picture boundary when the second flag is set to a third value; and omit the filtering operations across the sub-picture boundary when the second flag is set to a fourth value ([0141] The image encoding/decoding apparatus according to FIG. 2 or FIG. 3 may further include a division unit, and the division unit may include a picture division unit, wherein the picture division unit may partition a picture into a subpicture, tile, etc. [0143] division units (tile, subpicture, etc.) [0263] When removing the additional area and storing in a memory (for tiles in this example), the in-loop filter may or may not be explicitly applied, according to an in-loop filter application flag at a boundary of a division unit such as loop_filter_across_enabled_flag (In detail, of the initial state). [0264] Alternatively, whether a flag for applying an in-loop filter is not supported at a boundary of a division unit, and whether filtering is applied and a filtering setting may be implicitly determined as in the following example. [0268] In addition, whether to apply the in-loop filter may be determined based on a flag indicating whether to apply the in-loop filter (In detail, additional to that boundary). When the flag is activated, filtering may be applied according to the in-loop filter setting, condition, etc. applied inside a division unit, or filtering whose in-loop filter setting, condition, etc. (in detail, additional unlike an in-loop filter setting, condition, etc., if not the boundary of the division unit) applied to a boundary of the division unit are differently defined may be applied.); wherein the second flag is denoted as loop_filter_across_subpic_enabled_flag ([0141] The image encoding/decoding apparatus according to FIG. 2 or FIG. 3 may further include a division unit, and the division unit may include a picture division unit, wherein the picture division unit may partition a picture into a subpicture, tile, etc. [0143] division units (tile, subpicture, etc.) [0263] When removing the additional area and storing in a memory (for tiles in this example), the in-loop filter may or may not be explicitly applied, according to an in-loop filter application flag at a boundary of a division unit such as loop_filter_across_enabled_flag (In detail, of the initial state). [0264] Alternatively, whether a flag for applying an in-loop filter is not supported at a boundary of a division unit, and whether filtering is applied and a filtering setting may be implicitly determined as in the following example. [0268] In addition, whether to apply the in-loop filter may be determined based on a flag indicating whether to apply the in-loop filter (In detail, additional to that boundary). When the flag is activated, filtering may be applied according to the in-loop filter setting, condition, etc. applied inside a division unit, or filtering whose in-loop filter setting, condition, etc. (in detail, additional unlike an in-loop filter setting, condition, etc., if not the boundary of the division unit) applied to a boundary of the division unit are differently defined may be applied.).
It would have been obvious to one of ordinary skill in the art at the time of the invention to modify the invention with the exemplary features for the systems and methods of Kim in order to improve image compression efficiency [See Kim].
Oh discloses wherein the loop_filter_across_tiles_enabled_flag is set to one when specifying the filtering operations are enabled across tile boundaries in pictures referring to the PPS, and wherein the loop_filter_across_tiles_enabled_flag is set to zero when specifying the filtering operations are disabled across tile boundaries in pictures referring to the PPS ([0085] When ‘loop_filter_across_tiles_enabled_flag’ is included in the PPS level, the flag may indicate whether the in-loop filtering across the tile boundary may be performed in pictures referring to the corresponding PPS. When the flag value is 1, the in-loop filtering across the tile boundary may be performed in the pictures referring to the corresponding PPS. However, when the flag value is 0, the in-loop filtering across the tile boundary may not be performed in the pictures referring to the corresponding PPS.); wherein the tile boundary includes one or more edges of the tile ([0056] Next, FIG. 7 illustrates an exemplary embodiment in which one picture is partitioned into a plurality of tiles (tile 0 and tile 1). In FIG. 7, a thick line represents a tile boundary and a dotted line represents the slice segment boundary.); wherein the loop_filter_across_tiles_enabled_flag is set to one when specifying the filtering operations can be performed across tile boundaries in pictures referring to the PPS, and wherein the loop_filter_across_tiles_enabled_flag is set to zero when specifying the filtering operations are not performed across tile boundaries in pictures referring to the PPS ([0085] When ‘loop_filter_across_tiles_enabled_flag’ is included in the PPS level, the flag may indicate whether the in-loop filtering across the tile boundary may be performed in pictures referring to the corresponding PPS. When the flag value is 1, the in-loop filtering across the tile boundary may be performed in the pictures referring to the corresponding PPS. However, when the flag value is 0, the in-loop filtering across the tile boundary may not be performed in the pictures referring to the corresponding PPS.).
It would have been obvious to one of ordinary skill in the art at the time of the invention to modify the invention with the exemplary features for the systems and methods of Oh. The motivation behind this modification would have been to increase the coding efficiency of the video signal [See Oh].
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Kaitlin A Retallick whose telephone number is (571)270-3841. The examiner can normally be reached Monday-Friday 8am-5pm.
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, Chris Kelley can be reached at (571) 272-7331. 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.
/KAITLIN A RETALLICK/Primary Examiner, Art Unit 2482