WO2016188447A1 - Method and apparatus for using a current picture as a reference picture - Google Patents

Method and apparatus for using a current picture as a reference picture Download PDF

Info

Publication number
WO2016188447A1
WO2016188447A1 PCT/CN2016/083449 CN2016083449W WO2016188447A1 WO 2016188447 A1 WO2016188447 A1 WO 2016188447A1 CN 2016083449 W CN2016083449 W CN 2016083449W WO 2016188447 A1 WO2016188447 A1 WO 2016188447A1
Authority
WO
WIPO (PCT)
Prior art keywords
picture
current
current picture
flag
dpb
Prior art date
Application number
PCT/CN2016/083449
Other languages
French (fr)
Inventor
Shan Liu
Xiaozhong Xu
Chenghao Liu
Original Assignee
Hfi Innovation Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hfi Innovation Inc. filed Critical Hfi Innovation Inc.
Priority to AU2016269362A priority Critical patent/AU2016269362A1/en
Priority to CN201680031020.2A priority patent/CN107615763B/en
Priority to US15/574,253 priority patent/US10045038B2/en
Priority to CN202010791294.XA priority patent/CN112087639B/en
Priority to EP16799334.4A priority patent/EP3284258A4/en
Publication of WO2016188447A1 publication Critical patent/WO2016188447A1/en
Priority to AU2019222914A priority patent/AU2019222914B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/66Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission for reducing bandwidth of signals; for improving efficiency of transmission

Definitions

  • the present invention relates to video coding that allows using a current picture as a reference picture.
  • the present invention relates to techniques of signalling the use of current picture as a reference picture and determining the number of versions of reconstructed pictures to be stored.
  • High Efficiency Video Coding is a new coding standard that has been developed in recent years.
  • the fixed-size macroblock of H. 264/AVC is replaced by a flexible block, named coding unit (CU) .
  • Pixels in the CU share the same coding parameters to improve coding efficiency.
  • a CU may begin with a largest CU (LCU) , which is also referred as coded tree unit (CTU) in HEVC.
  • CTU coded tree unit
  • prediction unit PU
  • Intra prediction is performed using prediction based on reconstructed pixels from neighbouring blocks. Intra prediction may select an Intra Mode from a set of Intra Modes, which include a vertical mode, horizontal mode and various angular prediction modes.
  • Intra-block copy a new coding mode, named Intra-block copy (IntraBC) has been used.
  • Intra-block copy uses reconstructed samples in the current picture before in-loop filter as a reference picture for prediction. This un-filtered picture needs to be stored in addition to the filtered picture after in-loop filter. To store the reconstructed samples before in-loop filter, additional memory and the memory bandwidth may be required for reading and writing, respectively. In the case that all reconstructed samples before in-loop filter may be used as the reference for IntraBC prediction, the whole reconstructed picture before in-loop filter needs to be stored. Hence, both the reconstructed current pictures before in-loop filter and after in-loop filter may need to be stored for IntraBC prediction and for temporal prediction respectively. Therefore, Intra block copy memory access causes increased memory bandwidth. In addition, it also causes additional decoding picture buffer (DPB) .
  • DPB decoding picture buffer
  • Section 8 general decoding process of High Efficiency Video Coding (HEVC) Screen Content Coding (SCC) : Draft 3 (Joshi, et al., HEVC Screen Content Coding Draft Text 3, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 20th Meeting: Geneva, CH, 10–18 Feb. 2015, Document: JCTVC-T1005) is modified so that a picture storage buffer in the decoded picture buffer (DPB) is allocated for the current picture.
  • DPB decoded picture buffer
  • the reconstructed current picture is marked as "used for long-term reference” in case that curr_pic_as_ref_enabled_flag is equal to 1.
  • curr_pic_as_ref_enabled_flag is equal to 1
  • the decoded sample values of the reconstructed current picture before in-loop filtering are stored into the picture storage buffer allocated for the current picture.
  • the entire current decoded picture after in-loop filter is stored in the picture storage buffer allocated for the current picture and is marked as "used for short-term reference” .
  • HEVC High Efficiency Video Coding
  • SCC Screen Content Coding
  • JCT-VC Joint Collaborative Team on Video Coding
  • a picture may be included in a reference picture list of the picture and used as a reference picture in the IntraBC prediction mode.
  • curr_pic_as_ref_enabled_flag is signalled in the SPS (sequence parameter set) extension (i.e., sps_scc_extension) as a part of SPS.
  • the Intra-block copy (IntraBC) mode is signalled reusing Inter mode signalling as disclosed in JCTVC-S0302 (Pang, et al., Non-CE2: Intra block copy and Inter signaling unification, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 19th Meeting: France, FR, 17–24 Oct. 2014, Document: JCTVC-S0302) .
  • JCTVC-VC Joint Collaborative Team on Video Coding
  • a reference index can be checked to determine if it is equal to the current picture. If the reference index is the current picture, it means that the current prediction is the IntraBC mode.
  • curr_pic_as_ref_enabled_flag 1 specifies a picture referring to the SPS may be included in a reference picture list of the picture itself.
  • curr_pic_as_ref_enabled_flag 0 specifies that a picture referring to the SPS is never included in any reference picture list of the picture itself.
  • the value of curr_pic_as_ref_enabled_flag is inferred to be equal to 0.
  • the curr_pic_as_ref_enabled_flag present in the SPS extension of screen content coding is used as a flag to indicate whether the current picture used for IntraBC prediction is inserted in the reference picture list 0.
  • the curr_pic_as_ref_enabled_flag present in the SPS extension of screen content coding can be used to an entire coded video sequence (CVS) . Whether to apply the flag is based on the whole sequence instead of individual pictures. Hence, it is not possible to indicate whether the current picture is included in a reference picture list of the picture for individual pictures within a sequence when curr_pic_as_ref_enabled_flag equal to 1 as specified in HEVC SCC: Draft 3.
  • JCTVC-S0145 Renishaw, et al., Bandwidth reduction method for intra block copy, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 19th Meeting: France, FR, 17–24 Oct. 2014, Document: JCTVC-S0145
  • a method is disclosed to reduce average bandwidth when Intra-block copy (IntraBC) mode is used for prediction. The method is based on the observation that not all previously unfiltered decoded samples of the current picture are used for prediction in IntraBC mode.
  • JCTVC-S0145 discloses a method to indicate which of the previously decoded coding tree blocks (CTBs) are used for IntraBC prediction. Accordingly, only the IntraBC coded CTBs in the current picture need to be stored. Therefore, the average bandwidth can be reduced.
  • CTBs coding tree blocks
  • curr_pic_as_ref_enabled_flag present in the SPS extension of screen content coding is used to indicate whether the current picture is inserted in a reference picture list and used for reference picture.
  • a method to signal a CTU level flag to indicate whether CTB is used for IntraBC prediction is disclosed in JCTVC-T0051 (Laroche, et al., AHG10: On IntraBC memory reduction, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 20th Meeting: Geneva, CH, 10–18 Feb.
  • JCTVC-T0051 JCTVC-T0051
  • JCTVC-T0045 Lainema, et al., AHG10: Memory bandwidth reduction for intra block copy, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 20th Meeting: Geneva, CH, 10–18 Feb. 2015, Document: JCTVC-T0045
  • CTBs before in-loop filter or after in-loop filter are stored to avoid additional storage when curr_pic_as_ref_enabled_flag is equal to one.
  • curr_pic_as_ref_enabled_flag is signalled in the SPS extension of screen content coding.
  • the encoder may want to change the flag of using current picture as reference picture upon detection of the scene changes between natural sequence and screen content sequence.
  • IntraBC may be more effective.
  • the sequence based flag according to HEVC SCC: Draft 3 won’t allow changing the flag of using current picture at picture level. It is desirable to indicate whether to insert the current picture in a reference picture list (i.e., using IntraBC mode) in a lower level, such as the picture level.
  • the reference picture list RefPicList0 for P slices and, both reference picture lists RefPicList0 and RefPicList1 for B slices are derived as follows:
  • curr_pic_as_ref_enabled_flag 1 specifies a picture referring to the SPS (sequence parameter set) may be included in a reference picture list of the picture itself.
  • curr_pic_as_ref_enabled_flag 0 specifies that a picture referring to the SPS is never included in any reference picture list of the picture itself.
  • the value of curr_pic_as_ref_enabled_flag is inferred to be equal to 0.
  • the reference picture list RefPicList0 is constructed as shown in the following table:
  • the current picture may not be included in the active reference picture list.
  • DPB Decoded Picture Buffer
  • the reconstructed portion of current picture may be used as a reference picture to predict current picture.
  • This reference picture for IntraBC is referred as “the unfiltered version of current picture” .
  • the version of current picture that will eventually go through filtering operations such as deblocking and SAO (Sample Adaptive Offset) is referred to the filtered version of current picture.
  • a reference picture has to be in Decoded Picture Buffer (DPB) in order to be used by a current picture.
  • DPB Decoded Picture Buffer
  • the size of DPB is constrained to be MaxDpbSize, which is derived as shown in Table 3.
  • MaxLumaPs is the maximum luma picture size and maxDpbPicBuf is the maximum DPB size, such as 6.
  • DPB size such as 6.
  • Methods and apparatus of managing decoded picture buffer for a video coding system are disclosed, where the video coding system uses coding modes including a conventional (or temporal) inter prediction mode (as in HEVC version 1 and AVC) and a new Inter prediction mode adopted by HEVC SCC, a. k. a. Intra Block Copy (IntraBC) mode.
  • a current-picture-usage flag in a picture level or slice level is determined.
  • the current-picture-usage flag indicates whether a current picture is allowed to be used as a reference picture for predicting and coding itself. Equivalently, the current-picture-usage flag also (at the same time) indicates whether IntraBC mode is enabled (or, may be utilized) for coding a current picture.
  • the current-picture-usage flag indicates that the current picture is not allowed to be used as the reference picture for the current picture, only one picture buffer is allocated in a DPB (decoded picture buffer) for the current picture and a reconstructed current picture after or before in-loop filtering is stored in the picture buffer in the DPB, depending on whether the in-loop filters are enabled. If the current-picture-usage flag indicates that the current picture is allowed to be used as the reference picture for the current picture, up to two picture buffers for the current picture are allowed to be allocated in the DPB.
  • DPB decoded picture buffer
  • both the reconstructed current picture after the in-loop filtering and the reconstructed current picture before the in-loop filtering are stored in the up to two picture buffers in the DPB.
  • the current-picture-usage flag in the picture level or slice level can be used to replace a corresponding current-picture-usage flag in a sequence level.
  • the current-picture-usage flag in the picture level or slice level can be used in addition to a corresponding current-picture-usage flag in a sequence level.
  • the method determines whether in-loop filters, such as deblocking filter and SAO filter (sample adaptive offset filter) , are used for an entire part of a current picture. If both the deblocking filter and the SAO filter are disabled for the entire part of the current picture, only one picture buffer in a DPB is allocated for both temporal inter prediction and the Intra Block Copy (IntraBC) prediction of the current picture and only an unfiltered version of reconstructed current picture is stored in the picture buffer.
  • the method may further determines a current-picture-usage flag in a sequence level, picture level or slice level, where the current-picture-usage flag indicates whether a current picture is allowed to be used as a reference picture for the current picture.
  • the current-picture-usage flag indicates that the current picture is not allowed to be used as the reference picture for the current picture
  • only one picture buffer is allocated in the DPB for the temporal inter prediction mode of the current picture and only one version (filtered or unfiltered, depending on whether in-loop filters are enabled) of the reconstructed current picture is stored in the only one picture buffer.
  • the SAO filter is disabled if any of following conditions is true: a) a sequence level SAO enable flag is false; b) the sequence level SAO enable flag is true, there is only one slice in the current picture, and a slice level SAO flag is false for all colour components; and c) the sequence level SAO enable flag is true, there are more than one slice in the current picture, and the slice level SAO flag is false for all colour components and for all slices.
  • the deblocking filter is disabled if any of following conditions is true: a) there is only one slice in the current picture, and a slice-level deblocking-filter-disable flag is present and is true; b) there is only one slice in the current picture, the slice-level deblocking-filter-disable flag is not present, and a picture-level deblocking-filter-disable flag is true; and c) there are more than one slice in the current picture, the slice-level deblocking-filter-disable flag is true for all slices when present or when not present, the picture-level deblocking-filter-disable flag is true.
  • Fig. 1 illustrates a flowchart of an exemplary coding system using coding modes including conventional (or temporal) inter prediction mode (as in HEVC version 1 and AVC) and a new Inter prediction mode adopted by HEVC SCC, a. k. a. Intra Block Copy (IntraBC) mode according to an embodiment of the present invention, where a current-picture-usage flag in a picture level or slice level is used to indicate whether a current picture is allowed to be used as a reference picture for the current picture.
  • conventional inter prediction mode as in HEVC version 1 and AVC
  • a new Inter prediction mode adopted by HEVC SCC a. k.
  • Intra Block Copy (IntraBC) mode Intra Block Copy (IntraBC) mode
  • Fig. 2 illustrates a flowchart of an exemplary coding system using coding modes including conventional (or temporal) Inter prediction mode (as in HEVC version 1 and AVC) and a new inter prediction mode adopted by HEVC SCC, a. k. a. Intra Block Copy (IntraBC) mode according to an embodiment of the present invention, where if deblocking filter and SAO filter (sample adaptive offset filter) are disabled for entire current picture, only one picture buffer is allocated to store an unfiltered version of reconstructed current picture.
  • conventional (or temporal) Inter prediction mode as in HEVC version 1 and AVC
  • SAO filter sample adaptive offset filter
  • indication of inserting current picture in a reference picture list can be used to provide refreshing functionality.
  • the current picture is not included in a reference picture list in most access points, which are not targeted for refreshing.
  • the access points are targeted for refreshing to stop temporal error propagation and avoid wasting bits in Intra coding.
  • the IntraBC mode will be more effective for a screen content picture than the Intra mode. For that it is required to provide a picture level of indication of inserting the current picture in a reference picture list of the picture itself.
  • indication of inserting current picture in a reference picture list on slice level can be used to provide slice based refreshing functionality.
  • current picture is not included in a reference picture list for most slices of one or multiple access points, which are not targeted for refreshing.
  • the slices are targeted for refreshing to stop temporal error propagation and avoid wasting bits in Intra coding. In this case, it is required to provide a slice-level indication of inserting the current picture in a reference picture list of the current picture.
  • the flag present in the PPS can be used by an entire coded picture as determined by a syntax element found in each slice segment header as the definition of the PPS.
  • the flag present in slice segment header may be applied to a picture that includes the slice or applied to a slice segment.
  • the flag of indicating inserting the current picture in a reference picture list of the current picture is only present in SPS, but not in PPS nor in slice segment header.
  • the present invention discloses a method of indicating whether a current picture is included in a reference picture list in a lower level such as PPS or/and slice segment header.
  • syntax elements sps_scc_extension and pps_scc_extension are modified in a way that curr_pic_as_ref_enabled_flag is removed from sps_scc_extension and a syntax element named curr_pic_in_ref_list_flag is added in the PPS extension of screen content coding, which is a part of PPS as follows.
  • all modifications are based on the HEVC SCC: Draft 3.
  • the text enclosed by an asterisk pair within a bracket pair i.e., “ [*deleted text*] ”
  • indicates deletion and text in Italic indicates insertion.
  • curr_pic_in_ref_list_flag in pps_scc_extension is modified as compared to curr_pic_as_ref_enabled_flag previously present in sps_scc_extension as follows:
  • curr_pic_as_ref_enabled_flag* curr_pic_in_ref_list_flag 1 specifies IntraBC is enabled for a picture referring to this PPS [*SPS*] .
  • the current picture is [*may be*] regarded as a reference picture and included in a reference picture list of slice (s) in the picture itself.
  • IntraBC blocks in the current picture can be compensated in a similar way as motion compensation but using the reconstructed samples of the same picture.
  • curr_pic_in_ref_list_flag 0 specifies that IntraBC is not enabled for a picture referring to this PPS [*SPS*] .
  • the current picture is not included in any reference picture list of slice (s) in the picture itself.
  • the value of [*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag is inferred to be equal to 0.
  • the syntax element slice_segment_header is modified in a way that a syntax element named curr_pic_in_ref_list_flag is added if the curr_pic_as_ref_enabled_flag present in the referred SPS is equal to 1as follows.
  • text in Italic indicates insertion.
  • the semantics of curr_pic_in_ref_list_flag in slice_segment_header is modified as compared to curr_pic_as_ref_enabled_flag previously present in sps_scc_extension as follows.
  • curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag 1 specifies [*a*] IntraBC is enabled for the current picture. [*referring to the SPS may be*] .
  • the current picture is regard as a reference picture and included in a reference picture list of slice (s) in the current picture itself.
  • IntraBC is enabled, blocks in the current picture can be compensated in a similar way of motion compensation but using the reconstructed samples of the same picture.
  • curr_pic_in_ref_list_flag [*curr_pic_as_ref_enabled_flag*] equal to 0 specifies that [*a*] IntraBC is not enabled for the current picture [*referring to the SPS*] .
  • the current picture is not [*never*] included in any reference picture list of slice (s) in the current picture itself.
  • the value of [*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag is inferred to be equal to 0.
  • curr_pic_as_ref_enabled_flag* curr_pic_in_ref_list_flag present in slice segment headers of a coded picture shall be an identical value either 0 or 1 for all the slice segment headers of a coded picture.
  • curr_pic_in_ref_list_flag in slice_segment_header is modified as compared to curr_pic_as_ref_enabled_flag previously present in sps_scc_extension as follows.
  • curr_pic_in_ref_list_flag 1 specifies IntraBC is enabled for [*a*] the current picture [referring to the SPS may be] .
  • the current picture is regarded as a reference picture and is included in a reference picture list of slice (s) in the current picture itself.
  • [*curr_pic_as_ref_enabled_flag*] When IntraBC is enabled, blocks in the current picture can be compensated in a similar way of motion compensation but using the reconstructed samples of the same picture.
  • curr_pic_in_ref_list_flag 0 specifies that [*a*] IntraBC is not enabled for the current picture [*referring to the SPS*] .
  • the current picture is not [*never*] included in any reference picture list of slice (s) in the current picture itself.
  • the value of [*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag is inferred to be equal to 0.
  • the syntax of slice_segment_header is modified in a way that a syntax element named curr_pic_in_ref_list_flag is added if the curr_pic_as_ref_enabled_flag present in the referred PPS is equal to 1 as shown in Table 7.
  • the syntax of sps_scc_extension and pps_scc_extension are modified in a way that curr_pic_as_ref_enabled_flag is removed from sps_scc_extension to pps_scc_extension as a part of PPS as shown in Table 8 and Table 9.
  • syntax element curr_pic_as_ref_enabled_flag is removed from the syntax table of SPS SCC extension.
  • Table 9 illustrate syntax element curr_pic_as_ref_enabled_flag is added to the syntax table of PPS SCC extension.
  • Table 8 and Table 9 illustrates one embodiment of the method of indicating whether a current picture is included in a reference picture list for the all slice (s) in the current picture by moving the syntax element curr_pic_as_ref_enabled_flag from SPS SCC extension to PPS SCC extension.
  • the syntax element curr_pic_as_ref_enabled_flag can be added to PPS SCC extension in addition to the syntax element curr_pic_as_ref_enabled_flag in SPS SCC extension.
  • An example to add the syntax element curr_pic_as_ref_enabled_flag to PPS SCC extension in addition to SPS SCC extension is shown in Table 10 and Table 11.
  • curr_pic_in_ref_list_flag in slice_segment_header is modified as compared to curr_pic_as_ref_enabled_flag previously present in sps_scc_extension as follows:
  • curr_pic_in_ref_list_flag 1 specifies IntraBC is enabled for the current picture. [*a*] the current picture [*referring to the SPS may be*] is regarded as a reference picture and included in a reference picture list of this slice in the current picture itself. [*curr_pic_as_ref_enabled_flag*] When IntraBC is enabled, blocks in the current picture can be compensated in a similar way of motion compensation but using the reconstructed samples of the same picture.
  • curr_pic_in_ref_list_flag 0 specifies that IntraBC is enabled for the current picture. [*a*] the current picture [*referring to the SPS*] is not [*never*] included in any reference picture list of this slice in the current picture itself. When not present, the value of [*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag is inferred to be equal to 0.
  • curr_pic_in_ref_list_flag In the semantics of the curr_pic_in_ref_list_flag, the additional constraint may be applied in addition to the above semantic that the [*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag present in slice segment headers of a coded picture shall be an identical value either 0 or 1 for all the slice segment headers of a coded picture.
  • curr_pic_as_ref_enabled_flag in pps_scc_extension is modified as compared to curr_pic_as_ref_enabled_flag previously present in sps_scc_extension as follows.
  • curr_pic_as_ref_enabled_flag 1 specifies IntraBC is enabled for a picture referring to the PPS [*SPS*] .
  • the current picture is regarded as a reference picture and may be included in a reference picture list of slice (s) in the picture itself.
  • IntraBC When IntraBC is enabled, blocks in the current picture can be compensated in a similar way of motion compensation but using the reconstructed samples of the same picture.
  • curr_pic_as_ref_enabled_flag 0 specifies that IntraBC is not enabled for a picture referring to the PPS [*SPS*] .
  • the current picture is never included in any reference picture list of slice (s) in the picture itself.
  • the value of curr_pic_as_ref_enabled_flag is inferred to be equal to 0.
  • decoding process for reference picture lists construction is modified in a way that curr_pic_in_ref_list_flag present in PPS or/and slice segment header, respectively, is served as a flag of indicating whether or not IntraBC is enabled for current picture or slice, and whether or not the current picture is included in a reference picture list of slice (s) in the picture itself.
  • IntraBC is enabled, blocks in the current picture can be compensated in a similar way of motion compensation but using the reconstructed samples of the same picture.
  • An example of decoding process for reference picture list construction as defined in JCTVC-T1005 can be modified to incorporate an embodiment of the present invention as shown in the following table. This process is invoked at the beginning of the decoding process for each P or B slice.
  • RefPicList0 shall contain one or more entries that refer to the current picture only.
  • reference picture list modification semantics is modified in a way that curr_pic_in_ref_list_flag present in PPS or slice segment header, respectively, is served as a flag of indicating whether or not NumPicTotalCurr is incremented by one to count the current picture as a reference picture as follows.
  • Reference picture list (i.e., RefPicListTemp0 array) construction initialization process
  • the process is modified such that the current picture (before loop filtering) is used as reference, and is put in the N-th position of the reference picture list (i.e., index N-1 in the list) .
  • the list can be either list 0 or list 1.
  • the following example is provided for list 0.
  • N can be an integer number in the range of (1, num_ref_idx_l0_active_minus1 + 1) , inclusively.
  • N can be equal to 1 (i.e., the second position in the list, after one temporal reference picture) or N can be equal to num_ref_idx_l0_active_minus1 + 1 (i.e., the last position of the list) .
  • currPic refers to the current picture before in-loop filtering.
  • the sequence/picture/slice level flag signals that current unfiltered picture is used as a reference picture
  • currPic refers to the current picture before loop filtering.
  • the list RefPicList0 is constructed as follows:
  • RefPicList0 [rIdx ] ref_pic_list_modification_flag_l0 ?
  • RefPicListTemp0 [list_entry_l0 [rIdx ] ] : RefPicListTemp0 [rIdx ]
  • the time to put the up to two pictures into DPB can be indicated by the instance that the process occurs instantaneously at the CPB removal time of access unit n (of current picture) , CpbRemovalTime [n ] .
  • the current decoded picture (unfiltered) is stored in the DPB in an empty picture storage buffer, the DPB fullness is increased by one, and the current picture (unfiltered) is marked as "used for long-term reference" .
  • the current decoded picture (filtered) is stored in the DPB in an empty picture storage buffer, the DPB fullness is increased by one, and the current picture (filtered) is marked as "used for short-term reference" .
  • the time to remove the unfiltered version of past picture can be indicated by the instance of the removal of this picture from the DPB, which occurs any time after the decoding of current picture, but has to be before decoding of the next current picture (can be after parsing the slice header of the first slice of the next current picture) .
  • One example of the removal time is immediately after decoding of the current picture, at the CPB removal time of the last decoding unit of access unit n (containing the current picture) .
  • the DPB fullness is decreased by one.
  • the filtered version and unfiltered version of current picture are the same if it is known that the loop filters (deblocking and SAO) are disabled for the entire picture.
  • the operations related to the unfiltered version of current picture such as putting it into DPB and incrementing DPB fullness by one, and removing it from DPB and decrementing DPB fullness by one is not necessary.
  • curr_pic_as_ref_enabled_flag When curr_pic_as_ref_enabled_flag is equal to 1, the filtered version of current picture is put in the DPB in an empty picture storage buffer before starting the decoding process of current picture. While the unfiltered version of current picture may be put in an empty picture storage buffer that is not counted as part of DPB. When curr_pic_as_ref_enabled_flag is equal to 0, the unfiltered version of current picture will not be put in an empty picture storage buffer that is not counted as part of DPB.
  • curr_pic_as_ref_enabled_flag When curr_pic_as_ref_enabled_flag is equal to 0, the unfiltered version of current picture will not be put in an empty picture storage buffer that is not counted as part of DPB.
  • the time to put the filtered version of current picture into DPB can be indicated by the instance that the process occurs instantaneously at the CPB removal time of access unit n (of current picture) , CpbRemovalTime [n ] .
  • the time to put the unfiltered version of current picture into an empty picture storage buffer can be indicated by: this process happens instantaneously at the CPB removal time of access unit n (of current picture) , CpbRemovalTime [n ] .
  • the DPB fullness remains unchanged, and the current picture (unfiltered) is marked as "used for long-term reference" .
  • the current decoded picture (filtered) is stored in the DPB in an empty picture storage buffer, the DPB fullness is increased by one, and the current picture (filtered) is marked as "used for short-term reference" .
  • the unfiltered version of current picture (if present) will be removed from the picture storage buffer (not in DPB) , while the filtered version of current picture will remain in the DPB.
  • the unfiltered version of current picture is referred as the unfiltered version of past picture.
  • the filtered version of current picture is referred as the filtered version of past picture.
  • the next to be decoded picture is referred as the next current picture.
  • the time to remove the unfiltered version of past picture can be indicated by the instance of the removal of this picture from the picture storage buffer (not in DPB) , which occurs any time after the decoding of current picture, but has to be before decoding of the next current picture (can be after parsing the slice header of the first slice of the next current picture) .
  • One example of the removal time is immediately after decoding of the current picture, at the CPB removal time of the last decoding unit of access unit n (containing the current picture)
  • curr_pic_as_ref_enabled_flag When curr_pic_as_ref_enabled_flag is equal to 1, the unfiltered version of the current picture may be placed in an empty picture storage buffer in the DPB, before starting the decoding process of current picture. While the filtered version of current picture is placed in an empty picture storage buffer that is not counted as part of DPB. When curr_pic_as_ref_enabled_flag is equal to 0, the unfiltered version of the current picture will not be placed in an empty picture storage buffer in the DPB.
  • curr_pic_as_ref_enabled_flag When curr_pic_as_ref_enabled_flag is equal to 0, the unfiltered version of the current picture will not be placed in an empty picture storage buffer in the DPB.
  • the time to put the unfiltered version of current picture into DPB can be indicated by the instance that the process occurs instantaneously at the CPB removal time of access unit n (of current picture) , CpbRemovalTime [n ] .
  • the current decoded picture (unfiltered) is stored in the DPB in an empty picture storage buffer, the DPB fullness is increased by one, and the current picture (unfiltered) is marked as "used for long-term reference" .
  • the current decoded picture (filtered) is in an empty picture storage buffer (not stored in the DPB) , the DPB fullness remains unchanged, and the current picture (filtered) is marked as "used for short-term reference" .
  • the time to remove the unfiltered version of past picture can be indicated by the instance of the removal of this picture from DPB, which occurs any time after the decoding of current picture, but has to be before decoding of the next current picture (can be after parsing the slice header of the first slice of the next current picture) .
  • One example of the removal time is immediately after decoding of the current picture, at the CPB removal time of the last decoding unit of access unit n (containing the current picture) .
  • the filtered version of current picture is put into DPB, in the position of the unfiltered version of current picture, to replace it.
  • the time to move the unfiltered version of past picture into DPB can be indicated by: it can happen any time after the decoding of current picture, but has to be before decoding of the next current picture (can be after parsing the slice header of the first slice of the next current picture) .
  • One example of the replace time is immediately after decoding of the current picture, at the CPB removal time of the last decoding unit of access unit n (containing the current picture) .
  • the filtered version and unfiltered version of current picture are the same if it is known that the in-loop filters (e.g., deblocking and SAO filters) are disabled for the entire picture.
  • the operations related to the unfiltered version of current picture such as, putting it into DPB and incrementing DPB fullness by one, and removing it from DPB and decrementing DPB fullness by one, is not necessary.
  • the operations for the filtered version of current picture can be the same as specified in the third embodiment, or the operations for the filtered version of current picture is not necessary since it is the same as the unfiltered version in this case.
  • the flag curr_pic_as_ref_enabled_flag can be a sequence level, picture level or slice level flag, indicating that for a whole sequence/picture/slice, the current picture may be used as reference picture.
  • the SAO filter is not used for the current picture, if one of the three cases is true:
  • Case 3 when sequence level SAO enable flag sample_adaptive_offset_enabled_flag is true, there are more than once slice in the picture, and the slice header flag (s) slice_sao_luma_flag and slice_sao_chroma_flag (if chroma components exist) for all slices are false.
  • the deblocking filter is not used for the current picture, if one of the three cases is true:
  • the DPB size (maxDpbPicBuf) is kept unchanged.
  • the filtered version of current picture is placed into the DPB before the decoding of current picture while the other hand, the unfiltered picture is not placed into DPB.
  • the unfiltered version of current picture can be placed into the DPB before the decoding of current picture while the filtered picture is not put into DPB.
  • the maxDpbPicBuf is modified as maxDpbPicBuf –curr_pic_as_ref_enabled_flag. If curr_pic_as_ref_enabled_flag is equal to 1, one buffer is reserved for the one version that is not in DPB.
  • the curr_pic_as_ref_enabled_flag part is also conditioned by the identification of the use of in-loop filters in the current picture.
  • the process can be represented by the following statements:
  • DPB size is maxDpbPicBuf
  • DPB size maxDpbPicBuf –1
  • DPB size maxDpbPicBuf
  • the flag curr_pic_as_ref_enabled_flag can be incorporated in a sequence level, picture level or slice level flag indicating that the current picture may be used as reference picture for a whole corresponding sequence/picture/slice.
  • the filtered version of current picture is placed into the DPB before the decoding of current picture while the unfiltered picture is not put into DPB.
  • the unfiltered version of current picture can be placed into the DPB before the decoding of current picture while the filtered picture is not put into DPB.
  • the maxDpbPicBuf is modified as maxDpbPicBuf –1.
  • One buffer is reserved for the one version that is not in DPB.
  • Fig. 1 illustrates a flowchart of an exemplary coding system using coding modes including IntraBC mode (Intra-block copy mode) and Inter prediction mode according to an embodiment of the present invention.
  • the system determines a current-picture-usage flag in a picture level or slice level in step 110, where the current-picture-usage flag indicates whether IntraBC mode is enabled for a current picture and the current picture is allowed to be used as a reference picture for the current picture. Whether the current-picture-usage flag indicates that the IntraBC mode is not enabled for the current picture and the current picture is not allowed to be used as the reference picture for the current picture is checked in step 120. If the result is “Yes” , steps 130 and 140 are performed.
  • steps 150 and 160 are performed.
  • step 130 only one picture buffer in a DPB (decoded picture buffer) is allocated for the current picture.
  • step 140 a reconstructed current picture after in-loop filtering or the reconstructed current picture before the in-loop filtering is stored in said one picture buffer in the DPB.
  • step 150 up to two picture buffers in the DPB are allowed to be allocated for the current picture.
  • step 160 the reconstructed current picture after the in-loop filtering and the reconstructed current picture before the in-loop filtering are allowed to be stored in said up to two picture buffers in the DPB.
  • Fig. 2 illustrates a flowchart of an exemplary coding system using coding modes including IntraBC mode (Intra-block copy mode) and Inter prediction mode according to another embodiment of the present invention.
  • the system determines whether all of one or more in-loop filters are disabled for an entire part of a current picture in step 210, wherein said one or more in-loop filters can be deblocking filter and SAO filter (sample adaptive offset filter) . If the result is “Yes” , steps 220 and 230 are performed. If the result is “No” , steps 220 and 230 are bypassed.
  • IntraBC mode Intra-block copy mode
  • SAO filter sample adaptive offset filter
  • step 220 only one picture buffer in a DPB (decoded picture buffer) is allocated for both the Inter prediction mode and the Intra Block Copy (IntraBC) mode of the current picture.
  • step 230 only an unfiltered version of reconstructed current picture is stored in said only one picture buffer.
  • the flowcharts shown above are intended to illustrate examples of buffer management for coding system using coding modes including IntraBC mode (Intra-block copy mode) and Inter prediction mode according to the present invention.
  • IntraBC mode Intra-block copy mode
  • Inter prediction mode Inter prediction mode
  • a person skilled in the art may modify each step, re-arranges the steps, split a step, or combine steps to practice the present invention without departing from the spirit of the present invention.
  • specific syntax and semantics have been used to illustrate examples to implement embodiments of the present invention.
  • a skilled person may practice the present invention by substituting the syntax and semantics with equivalent syntax and semantics without departing from the spirit of the present invention.
  • Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both.
  • an embodiment of the present invention can be one or more electronic circuits integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein.
  • An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein.
  • DSP Digital Signal Processor
  • the invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA) .
  • These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention.
  • the software code or firmware code may be developed in different programming languages and different formats or styles.
  • the software code may also be compiled for different target platforms.
  • different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Methods and apparatus of managing decoded picture buffer for a video coding system are disclosed for a system using an Inter prediction mode and an Intra Block Copy mode. According to one method, a current-picture-usage flag in a picture or slice level is determined. If the current-picture-usage flag indicates that the current picture is not allowed to be used as the reference picture for the current picture, only one picture buffer is allocated in a DPB (decoded picture buffer) for the current picture and a reconstructed current picture after in-loop filtering is stored in the picture buffer in the DPB. According to another method, the system allocates only one picture buffer in the DPB for both the Inter prediction mode and the Intra Block Copy mode of the current picture if all of one or more in-loop filters are disabled for the entire part of the current picture.

Description

Method and Apparatus for Using a Current Picture as a Reference Picture
CROSS REFERENCE TO RELATED APPLICATIONS
The present invention claims priority to U.S. Provisional Patent Application, Serial No. 62/167,474, filed on May 28, 2015 and U.S. Provisional Patent Application, Serial No. 62/183,799, filed on June 24, 2015. The U.S. Provisional Patent Applications are hereby incorporated by reference in their entireties.
FIELD OF THE INVENTION
The present invention relates to video coding that allows using a current picture as a reference picture. In particular, the present invention relates to techniques of signalling the use of current picture as a reference picture and determining the number of versions of reconstructed pictures to be stored.
BACKGROUND AND RELATED ART
High Efficiency Video Coding (HEVC) is a new coding standard that has been developed in recent years. In the High Efficiency Video Coding (HEVC) system, the fixed-size macroblock of H. 264/AVC is replaced by a flexible block, named coding unit (CU) . Pixels in the CU share the same coding parameters to improve coding efficiency. A CU may begin with a largest CU (LCU) , which is also referred as coded tree unit (CTU) in HEVC. In addition to the concept of coding unit, the concept of prediction unit (PU) is also introduced in HEVC. Once the splitting of CU hierarchical tree is done, each leaf CU is further split into one or more prediction units (PUs) according to prediction type and PU partition.
In the current development of screen content coding for High Efficiency Video Coding (HEVC) standard, some tools have been adopted due to their improvements in coding  efficiency for screen contents. For Intra blocks, Intra prediction according to the conventional approach is performed using prediction based on reconstructed pixels from neighbouring blocks. Intra prediction may select an Intra Mode from a set of Intra Modes, which include a vertical mode, horizontal mode and various angular prediction modes. For HEVC screen content coding, a new coding mode, named Intra-block copy (IntraBC) has been used.
Intra-block copy (IntraBC) uses reconstructed samples in the current picture before in-loop filter as a reference picture for prediction. This un-filtered picture needs to be stored in addition to the filtered picture after in-loop filter. To store the reconstructed samples before in-loop filter, additional memory and the memory bandwidth may be required for reading and writing, respectively. In the case that all reconstructed samples before in-loop filter may be used as the reference for IntraBC prediction, the whole reconstructed picture before in-loop filter needs to be stored. Hence, both the reconstructed current pictures before in-loop filter and after in-loop filter may need to be stored for IntraBC prediction and for temporal prediction respectively. Therefore, Intra block copy memory access causes increased memory bandwidth. In addition, it also causes additional decoding picture buffer (DPB) .
In order to store the additional reconstructed samples before in-loop filter, Section 8:general decoding process of High Efficiency Video Coding (HEVC) Screen Content Coding (SCC) : Draft 3 (Joshi, et al., HEVC Screen Content Coding Draft Text 3, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 20th Meeting: Geneva, CH, 10–18 Feb. 2015, Document: JCTVC-T1005) is modified so that a picture storage buffer in the decoded picture buffer (DPB) is allocated for the current picture. In HEVC SCC: Draft 3, the reconstructed current picture is marked as "used for long-term reference" in case that curr_pic_as_ref_enabled_flag is equal to 1. When curr_pic_as_ref_enabled_flag is equal to 1, the decoded sample values of the reconstructed current picture before in-loop filtering are stored into the picture storage buffer allocated for the current picture. After completing the decoding of all slices, the entire current decoded picture after in-loop filter is stored in the picture storage buffer allocated for the current picture and is marked as "used for short-term reference" .
In the High Efficiency Video Coding (HEVC) Screen Content Coding (SCC) : Draft 3 (Joshi, et al., HEVC Screen Content Coding Draft Text 3, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 20th Meeting: Geneva, CH, 10–18 Feb. 2015, Document: JCTVC-T1005) , a picture may be included in a reference picture list of the picture and used as a reference picture in the IntraBC prediction mode. To indicate whether or not a picture may be included in a reference picture list of the picture itself, a flag named curr_pic_as_ref_enabled_flag is signalled in the SPS (sequence parameter set) extension (i.e., sps_scc_extension) as a part of SPS.
By including current picture in a reference picture, the Intra-block copy (IntraBC) mode is signalled reusing Inter mode signalling as disclosed in JCTVC-S0302 (Pang, et al., Non-CE2: Intra block copy and Inter signaling unification, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 19th Meeting: Strasbourg, FR, 17–24 Oct. 2014, Document: JCTVC-S0302) . To differentiate whether it is a conventional Inter mode (as in HEVC version 1 and AVC) or IntraBC mode, a reference index can be checked to determine if it is equal to the current picture. If the reference index is the current picture, it means that the current prediction is the IntraBC mode.
Specifically, the sequence parameter set (SPS) extension of the HEVC SCC: Draft 3 specifies the following semantics for curr_pic_as_ref_enabled_flag as follows:
curr_pic_as_ref_enabled_flag equal to 1 specifies a picture referring to the SPS may be included in a reference picture list of the picture itself. curr_pic_as_ref_enabled_flag equal to 0 specifies that a picture referring to the SPS is never included in any reference picture list of the picture itself. When not present, the value of curr_pic_as_ref_enabled_flag is inferred to be equal to 0.
In the decoding process for reference picture lists construction as specified in the HEVC SCC: Draft 3, the curr_pic_as_ref_enabled_flag present in the SPS extension of screen content coding is used as a flag to indicate whether the current picture used for IntraBC prediction is inserted in the reference picture list 0.
According to the HEVC SCC: Draft 3 specification, the curr_pic_as_ref_enabled_flag present in the SPS extension of screen content coding can be used to an entire coded video sequence (CVS) . Whether to apply the flag is based on the whole sequence instead of individual pictures. Hence, it is not possible to indicate whether the current picture is included in a reference picture list of the picture for individual pictures within a sequence when curr_pic_as_ref_enabled_flag equal to 1 as specified in HEVC SCC: Draft 3.
In JCTVC-S0145 (Rapaka, et al., Bandwidth reduction method for intra block copy, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 19th Meeting: Strasbourg, FR, 17–24 Oct. 2014, Document: JCTVC-S0145) , a method is disclosed to reduce average bandwidth when Intra-block copy (IntraBC) mode is used for prediction. The method is based on the observation that not all previously unfiltered decoded samples of the current picture are used for prediction in IntraBC mode. JCTVC-S0145 discloses a method to indicate which of the previously decoded coding tree blocks (CTBs) are used for IntraBC prediction. Accordingly, only the IntraBC coded CTBs in the current picture need to be stored. Therefore, the average bandwidth can be reduced.
However, it is required to know how many CTBs in a slice and to send the flags in advance. Furthermore, curr_pic_as_ref_enabled_flag present in the SPS extension of screen content coding is used to indicate whether the current picture is inserted in a reference picture list and used for reference picture. To address these issues, a method to signal a CTU level flag to indicate whether CTB is used for IntraBC prediction is disclosed in JCTVC-T0051 (Laroche, et al., AHG10: On IntraBC memory reduction, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 20th Meeting: Geneva, CH, 10–18 Feb. 2015, Document: JCTVC-T0051) and JCTVC-T0045 (Lainema, et al., AHG10: Memory bandwidth reduction for intra block copy, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 20th Meeting: Geneva, CH, 10–18 Feb. 2015, Document: JCTVC-T0045) . Therefore, either CTBs before in-loop filter or after in-loop filter are stored to avoid additional storage when curr_pic_as_ref_enabled_flag is equal to one.
Problems with Existing Methods
ccording to HEVC SCC: Draft 3, curr_pic_as_ref_enabled_flag is signalled in the SPS extension of screen content coding. In a scenario of scene changes, such as scene changes between screen content and natural video content, the encoder may want to change the flag of using current picture as reference picture upon detection of the scene changes between natural sequence and screen content sequence. For screen content pictures, IntraBC may be more effective. However, the sequence based flag according to HEVC SCC: Draft 3 won’t allow changing the flag of using current picture at picture level. It is desirable to indicate whether to insert the current picture in a reference picture list (i.e., using IntraBC mode) in a lower level, such as the picture level.
In High Level Syntax, the current picture is placed after all short term reference pictures and all other long term reference pictures during the initialization of reference picture list construction. The related descriptions are listed below for List 0. Similar process can be applied for List 1.
At the beginning of the decoding process for each slice, the reference picture list RefPicList0 for P slices and, both reference picture lists RefPicList0 and RefPicList1 for B slices are derived as follows:
Table 1
Figure PCTCN2016083449-appb-000001
Figure PCTCN2016083449-appb-000002
In Table 1, curr_pic_as_ref_enabled_flag equal to 1 specifies a picture referring to the SPS (sequence parameter set) may be included in a reference picture list of the picture itself. curr_pic_as_ref_enabled_flag equal to 0 specifies that a picture referring to the SPS is never included in any reference picture list of the picture itself. When not present, the value of curr_pic_as_ref_enabled_flag is inferred to be equal to 0.
After the initialization, the reference picture list RefPicList0 is constructed as shown in the following table:
Table 2
Figure PCTCN2016083449-appb-000003
However, when the number of active reference pictures (i.e., num_ref_idx_l0_active_minus1+1) is smaller than the number of reference pictures in the list (NumRpsCurrTempList0) associated with the RefPicListTemp0 array storing the current picture, the current picture may not be included in the active reference picture list.
In a coding system based on the existing HEVC, there is an issue associated with Decoded Picture Buffer (DPB) management for IntraBC. When IntraBC is used, the reconstructed portion of current picture may be used as a reference picture to predict current picture. This reference picture for IntraBC is referred as “the unfiltered version of current picture” . On the other hand, the version of current picture that will eventually go through  filtering operations such as deblocking and SAO (Sample Adaptive Offset) is referred to the filtered version of current picture.
A reference picture has to be in Decoded Picture Buffer (DPB) in order to be used by a current picture. The size of DPB is constrained to be MaxDpbSize, which is derived as shown in Table 3.
Table 3
Figure PCTCN2016083449-appb-000004
In Table 3, MaxLumaPs is the maximum luma picture size and maxDpbPicBuf is the maximum DPB size, such as 6. However, there are some issues in the current DPB management operations when IntraBC is used.
BRIEF SUMMARY OF THE INVENTION
Methods and apparatus of managing decoded picture buffer for a video coding system are disclosed, where the video coding system uses coding modes including a conventional (or temporal) inter prediction mode (as in HEVC version 1 and AVC) and a new Inter prediction mode adopted by HEVC SCC, a. k. a. Intra Block Copy (IntraBC) mode. According to this method, a current-picture-usage flag in a picture level or slice level is determined. The current-picture-usage flag indicates whether a current picture is allowed to be used as a reference picture for predicting and coding itself. Equivalently, the current-picture-usage flag also (at the same time) indicates whether IntraBC mode is enabled (or, may be utilized) for coding a current picture. If the current-picture-usage flag indicates that  the current picture is not allowed to be used as the reference picture for the current picture, only one picture buffer is allocated in a DPB (decoded picture buffer) for the current picture and a reconstructed current picture after or before in-loop filtering is stored in the picture buffer in the DPB, depending on whether the in-loop filters are enabled. If the current-picture-usage flag indicates that the current picture is allowed to be used as the reference picture for the current picture, up to two picture buffers for the current picture are allowed to be allocated in the DPB. If in-loop filters are enabled, both the reconstructed current picture after the in-loop filtering and the reconstructed current picture before the in-loop filtering are stored in the up to two picture buffers in the DPB. The current-picture-usage flag in the picture level or slice level can be used to replace a corresponding current-picture-usage flag in a sequence level. Alternatively, the current-picture-usage flag in the picture level or slice level can be used in addition to a corresponding current-picture-usage flag in a sequence level.
Another methods and Apparatus of managing decoded picture buffer are disclosed. The method determines whether in-loop filters, such as deblocking filter and SAO filter (sample adaptive offset filter) , are used for an entire part of a current picture. If both the deblocking filter and the SAO filter are disabled for the entire part of the current picture, only one picture buffer in a DPB is allocated for both temporal inter prediction and the Intra Block Copy (IntraBC) prediction of the current picture and only an unfiltered version of reconstructed current picture is stored in the picture buffer. The method may further determines a current-picture-usage flag in a sequence level, picture level or slice level, where the current-picture-usage flag indicates whether a current picture is allowed to be used as a reference picture for the current picture. If the current-picture-usage flag indicates that the current picture is not allowed to be used as the reference picture for the current picture, only one picture buffer is allocated in the DPB for the temporal inter prediction mode of the current picture and only one version (filtered or unfiltered, depending on whether in-loop filters are enabled) of the reconstructed current picture is stored in the only one picture buffer. The SAO filter is disabled if any of following conditions is true: a) a sequence level SAO enable flag is false; b) the sequence level SAO enable flag is true, there is only one slice in the current  picture, and a slice level SAO flag is false for all colour components; and c) the sequence level SAO enable flag is true, there are more than one slice in the current picture, and the slice level SAO flag is false for all colour components and for all slices. The deblocking filter is disabled if any of following conditions is true: a) there is only one slice in the current picture, and a slice-level deblocking-filter-disable flag is present and is true; b) there is only one slice in the current picture, the slice-level deblocking-filter-disable flag is not present, and a picture-level deblocking-filter-disable flag is true; and c) there are more than one slice in the current picture, the slice-level deblocking-filter-disable flag is true for all slices when present or when not present, the picture-level deblocking-filter-disable flag is true.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 illustrates a flowchart of an exemplary coding system using coding modes including conventional (or temporal) inter prediction mode (as in HEVC version 1 and AVC) and a new Inter prediction mode adopted by HEVC SCC, a. k. a. Intra Block Copy (IntraBC) mode according to an embodiment of the present invention, where a current-picture-usage flag in a picture level or slice level is used to indicate whether a current picture is allowed to be used as a reference picture for the current picture.
Fig. 2 illustrates a flowchart of an exemplary coding system using coding modes including conventional (or temporal) Inter prediction mode (as in HEVC version 1 and AVC) and a new inter prediction mode adopted by HEVC SCC, a. k. a. Intra Block Copy (IntraBC) mode according to an embodiment of the present invention, where if deblocking filter and SAO filter (sample adaptive offset filter) are disabled for entire current picture, only one picture buffer is allocated to store an unfiltered version of reconstructed current picture.
DETAILED DESCRIPTION OF THE INVENTION
The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the  invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims.
As mentioned above, there are various issues associated with the signalling curr_pic_as_ref_enabled_flag in SPS level. First, in occurrence of a new scene, it is more effective to send a picture parameter set (PPS) to update the parameters than an SPS. Second, it wastes valuable bits to indicate the changed curr_pic_as_ref_enabled_flag in SPS level.
In video coding application with picture refreshing error resilient, indication of inserting current picture in a reference picture list can be used to provide refreshing functionality. In the progressive refresh based error control, the current picture is not included in a reference picture list in most access points, which are not targeted for refreshing. On the other hand, if the current picture is included in a reference picture list in the access points, the access points are targeted for refreshing to stop temporal error propagation and avoid wasting bits in Intra coding. The IntraBC mode will be more effective for a screen content picture than the Intra mode. For that it is required to provide a picture level of indication of inserting the current picture in a reference picture list of the picture itself.
Similarly, in video coding application with progressive slice refreshing error resilient, indication of inserting current picture in a reference picture list on slice level can be used to provide slice based refreshing functionality. In the progressive slice refresh based error control, current picture is not included in a reference picture list for most slices of one or multiple access points, which are not targeted for refreshing. On the other hand, if the current picture is included in a reference picture list for the slices of one or multiple access points, the slices are targeted for refreshing to stop temporal error propagation and avoid wasting bits in Intra coding. In this case, it is required to provide a slice-level indication of inserting the current picture in a reference picture list of the current picture.
If the flag of indicating inserting the current picture in a reference picture list of the current picture is present in PPS, then the flag present in the PPS can be used by an entire coded picture as determined by a syntax element found in each slice segment header as the definition  of the PPS. Alternatively, if the flag indicating inserting the current picture in the reference list of the current picture is present in a slice segment header, then the flag present in slice segment header may be applied to a picture that includes the slice or applied to a slice segment. However, in the prior art, the flag of indicating inserting the current picture in a reference picture list of the current picture is only present in SPS, but not in PPS nor in slice segment header.
To cope with the limitations that curr_pic_as_ref_enabled_flag only presents in the SPS extension in HEVC SCC: Draft 3, the present invention discloses a method of indicating whether a current picture is included in a reference picture list in a lower level such as PPS or/and slice segment header.
In the first embodiment, syntax elements sps_scc_extension and pps_scc_extension are modified in a way that curr_pic_as_ref_enabled_flag is removed from sps_scc_extension and a syntax element named curr_pic_in_ref_list_flag is added in the PPS extension of screen content coding, which is a part of PPS as follows. In following, all modifications are based on the HEVC SCC: Draft 3. In the following tables and semantics, the text enclosed by an asterisk pair within a bracket pair (i.e., “ [*deleted text*] ” ) indicates deletion and text in Italic indicates insertion.
Table 4
Figure PCTCN2016083449-appb-000005
Table 5
Figure PCTCN2016083449-appb-000006
In the first embodiment, the semantics of curr_pic_in_ref_list_flag in pps_scc_extension is modified as compared to curr_pic_as_ref_enabled_flag previously present in sps_scc_extension as follows:
[*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag equal to 1 specifies IntraBC is enabled for a picture referring to this PPS [*SPS*] . The current picture is [*may be*] regarded as a reference picture and included in a reference picture list of slice (s) in the picture itself. When IntraBC is enabled, blocks in the current picture can be compensated in a similar way as motion compensation but using the reconstructed samples of the same picture. [*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag equal to 0 specifies that IntraBC is not enabled for a picture referring to this PPS [*SPS*] . The current picture is not included in any reference picture list of slice (s) in the picture itself. When not present, the value of [*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag is inferred to be equal to 0.
In the second embodiment, the syntax element slice_segment_header is modified in a way that a syntax element named curr_pic_in_ref_list_flag is added if the curr_pic_as_ref_enabled_flag present in the referred SPS is equal to 1as follows. In the following table, text in Italic indicates insertion.
Table 6
Figure PCTCN2016083449-appb-000007
In one modification of the second embodiment, the semantics of curr_pic_in_ref_list_flag in slice_segment_header is modified as compared to curr_pic_as_ref_enabled_flag previously present in sps_scc_extension as follows.
[*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag equal to 1 specifies [*a*] IntraBC is enabled for the current picture. [*referring to the SPS may be*] . The current picture is regard as a reference picture and included in a reference picture list of slice (s) in the current picture itself. When IntraBC is enabled, blocks in the current picture can be compensated in a similar way of motion compensation but using the reconstructed samples of the same picture. curr_pic_in_ref_list_flag [*curr_pic_as_ref_enabled_flag*] equal to 0 specifies that [*a*] IntraBC is not enabled for the current picture [*referring to the SPS*] . The current picture is not [*never*] included in any reference picture list of slice (s) in the current picture itself. When not present, the value of [*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag is inferred to be equal to 0. The [*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag present in slice segment headers of a coded picture shall be an identical value either 0 or 1 for all the slice segment headers of a coded picture.
In another modification of the second embodiment, the semantics of curr_pic_in_ref_list_flag in slice_segment_header is modified as compared to curr_pic_as_ref_enabled_flag previously present in sps_scc_extension as follows.
[*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag equal to 1 specifies IntraBC is enabled for [*a*] the current picture [referring to the SPS may be] . The current picture is regarded as a reference picture and is included in a reference picture list of slice (s) in the current picture itself. [*curr_pic_as_ref_enabled_flag*] When IntraBC is enabled, blocks in the current picture can be compensated in a similar way of motion compensation but using the reconstructed samples of the same picture.
curr_pic_in_ref_list_flag equal to 0 specifies that [*a*] IntraBC is not enabled for the current picture [*referring to the SPS*] . The current picture is not [*never*] included  in any reference picture list of slice (s) in the current picture itself. When not present, the value of [*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag is inferred to be equal to 0.
In one more modification of the second embodiment, the syntax of slice_segment_header is modified in a way that a syntax element named curr_pic_in_ref_list_flag is added if the curr_pic_as_ref_enabled_flag present in the referred PPS is equal to 1 as shown in Table 7. The syntax of sps_scc_extension and pps_scc_extension are modified in a way that curr_pic_as_ref_enabled_flag is removed from sps_scc_extension to pps_scc_extension as a part of PPS as shown in Table 8 and Table 9. As shown in Table 8, syntax element curr_pic_as_ref_enabled_flag is removed from the syntax table of SPS SCC extension. On the other hand, Table 9 illustrate syntax element curr_pic_as_ref_enabled_flag is added to the syntax table of PPS SCC extension.
Table 7
Figure PCTCN2016083449-appb-000008
Table 8
Figure PCTCN2016083449-appb-000009
Table 9
Figure PCTCN2016083449-appb-000010
The example in Table 8 and Table 9 illustrates one embodiment of the method of indicating whether a current picture is included in a reference picture list for the all slice (s) in the current picture by moving the syntax element curr_pic_as_ref_enabled_flag from SPS SCC extension to PPS SCC extension. However, in another embodiment, the syntax element curr_pic_as_ref_enabled_flag can be added to PPS SCC extension in addition to the syntax element curr_pic_as_ref_enabled_flag in SPS SCC extension. An example to add the syntax element curr_pic_as_ref_enabled_flag to PPS SCC extension in addition to SPS SCC extension is shown in Table 10 and Table 11.
Table 10
Figure PCTCN2016083449-appb-000011
Table 11
Figure PCTCN2016083449-appb-000012
In the one more modification of the second embodiment, the semantics of curr_pic_in_ref_list_flag in slice_segment_header is modified as compared to curr_pic_as_ref_enabled_flag previously present in sps_scc_extension as follows:
[*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag equal to 1 specifies IntraBC is enabled for the current picture. [*a*] the current picture [*referring to the  SPS may be*] is regarded as a reference picture and included in a reference picture list of this slice in the current picture itself. [*curr_pic_as_ref_enabled_flag*] When IntraBC is enabled, blocks in the current picture can be compensated in a similar way of motion compensation but using the reconstructed samples of the same picture.
curr_pic_in_ref_list_flag equal to 0 specifies that IntraBC is enabled for the current picture. [*a*] the current picture [*referring to the SPS*] is not [*never*] included in any reference picture list of this slice in the current picture itself. When not present, the value of [*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag is inferred to be equal to 0.
In the semantics of the curr_pic_in_ref_list_flag, the additional constraint may be applied in addition to the above semantic that the [*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag present in slice segment headers of a coded picture shall be an identical value either 0 or 1 for all the slice segment headers of a coded picture.
In the one more modification of the second embodiment, the semantics of curr_pic_as_ref_enabled_flag in pps_scc_extension is modified as compared to curr_pic_as_ref_enabled_flag previously present in sps_scc_extension as follows.
curr_pic_as_ref_enabled_flag equal to 1 specifies IntraBC is enabled for a picture referring to the PPS [*SPS*] . The current picture is regarded as a reference picture and may be included in a reference picture list of slice (s) in the picture itself. When IntraBC is enabled, blocks in the current picture can be compensated in a similar way of motion compensation but using the reconstructed samples of the same picture.
curr_pic_as_ref_enabled_flag equal to 0 specifies that IntraBC is not enabled for a picture referring to the PPS [*SPS*] . The current picture is never included in any reference picture list of slice (s) in the picture itself. When not present, the value of curr_pic_as_ref_enabled_flag is inferred to be equal to 0.
In the embodiments 1 and 2, decoding process for reference picture lists  construction is modified in a way that curr_pic_in_ref_list_flag present in PPS or/and slice segment header, respectively, is served as a flag of indicating whether or not IntraBC is enabled for current picture or slice, and whether or not the current picture is included in a reference picture list of slice (s) in the picture itself. When IntraBC is enabled, blocks in the current picture can be compensated in a similar way of motion compensation but using the reconstructed samples of the same picture. An example of decoding process for reference picture list construction as defined in JCTVC-T1005 can be modified to incorporate an embodiment of the present invention as shown in the following table. This process is invoked at the beginning of the decoding process for each P or B slice.
Table 12
Figure PCTCN2016083449-appb-000013
It is a requirement of bitstream conformance that when nal_unit_type has a value in the range of BLA_W_LP to RSV_IRAP_VCL23, inclusive (i.e. the picture is an IRAP picture) and [*curr_pic_as_ref_enabled_flag*] curr_pic_in_ref_list_flag is equal to 1, RefPicList0 shall contain one or more entries that refer to the current picture only.
In the embodiments 1 and 2, reference picture list modification semantics is  modified in a way that curr_pic_in_ref_list_flag present in PPS or slice segment header, respectively, is served as a flag of indicating whether or not NumPicTotalCurr is incremented by one to count the current picture as a reference picture as follows.
An example of reference picture list as defined in JCTVC-T1005 can be modified to incorporate an embodiment of the present invention as shown in the following table. The variable NumPicTotalCurr is derived as follows:
Table 13
Figure PCTCN2016083449-appb-000014
Reference picture list (i.e., RefPicListTemp0 array) construction initialization process
In one embodiment, the process is modified such that the current picture (before loop filtering) is used as reference, and is put in the N-th position of the reference picture list (i.e., index N-1 in the list) . The list can be either list 0 or list 1. The following example is provided for list 0. N can be an integer number in the range of (1, num_ref_idx_l0_active_minus1 + 1) , inclusively. For example, N can be equal to 1 (i.e., the second position in the list, after one temporal reference picture) or N can be equal to num_ref_idx_l0_active_minus1 + 1 (i.e., the last position of the list) .
An exemplary process is shown in the following table, where currPic refers to the current picture before in-loop filtering.
Table 14
Figure PCTCN2016083449-appb-000015
In another embodiment, the unfiltered (Deblocking and SAO filters) version of current picture is used as a possible reference picture for current slice, and it is placed at the last position of reference picture list X (X = 0 or 1) , when one or both of the following condition is true:
–The sequence/picture/slice level flag signals that current unfiltered picture is used as a reference picture,
–The reference list modification for this list is not used.
An exemplary process is shown in the following table, where currPic refers to the current picture before loop filtering.
Table 15
Figure PCTCN2016083449-appb-000016
The list RefPicList0 is constructed as follows:
for (rIdx = 0; rIdx <= num_ref_idx_l0_active_minus1; rIdx++)
RefPicList0 [rIdx ] = ref_pic_list_modification_flag_l0 ?
RefPicListTemp0 [list_entry_l0 [rIdx ] ] : RefPicListTemp0 [rIdx ]
if(curr_pic_as_ref_enabled_flag &&! ref_pic_list_modification_flag_l0)
RefPicList0 [num_ref_idx_l0_active_minus1] = currPic
DPB management for the unfiltered version of current picture used as a reference picture
First Embodiment. In the reference picture list construction initialization process disclosed above, when curr_pic_as_ref_enabled_flag is equal to 1, both filtered and unfiltered versions of current picture may be placed in the DPB before starting the decoding process of current picture. When curr_pic_as_ref_enabled_flag is equal to 0, the unfiltered version of current picture will not be put in the DPB. The following aspects are addressed:
–The time to put the up to two pictures into DPB can be indicated by the instance that the process occurs instantaneously at the CPB removal time of access unit n (of current picture) , CpbRemovalTime [n ] .
–The current decoded picture (unfiltered) is stored in the DPB in an empty picture storage buffer, the DPB fullness is increased by one, and the current picture (unfiltered) is marked as "used for long-term reference" .
–The current decoded picture (filtered) is stored in the DPB in an empty picture storage buffer, the DPB fullness is increased by one, and the current picture (filtered) is marked as "used for short-term reference" .
After decoding of current picture (filtered) , when curr_pic_as_ref_enabled_flag is equal to 1, the unfiltered version of current picture (if present) will be removed from the DPB, while the filtered version of current picture will remain in the DPB. After the current picture is processed the filtered/unfiltered version of current picture is referred as the filtered/unfiltered version of past picture respectively. The next to be decoded picture is referred as the next current picture. The following aspects are addressed:
–The time to remove the unfiltered version of past picture can be indicated by the instance of the removal of this picture from the DPB, which occurs any time after the decoding of current picture, but has to be before decoding of the next current picture (can be after parsing the slice header of the first slice of the next current  picture) . One example of the removal time is immediately after decoding of the current picture, at the CPB removal time of the last decoding unit of access unit n (containing the current picture) .
–When the unfiltered version of past picture is removed from DPB, the DPB fullness is decreased by one.
–The filtered version of past picture remains in the DPB.
In a variation of the first embodiment, before decoding the current picture (but after parsing the slice header of the first slice of the current picture) , the filtered version and unfiltered version of current picture are the same if it is known that the loop filters (deblocking and SAO) are disabled for the entire picture. The operations related to the unfiltered version of current picture such as putting it into DPB and incrementing DPB fullness by one, and removing it from DPB and decrementing DPB fullness by one is not necessary.
Second Embodiment. When curr_pic_as_ref_enabled_flag is equal to 1, the filtered version of current picture is put in the DPB in an empty picture storage buffer before starting the decoding process of current picture. While the unfiltered version of current picture may be put in an empty picture storage buffer that is not counted as part of DPB. When curr_pic_as_ref_enabled_flag is equal to 0, the unfiltered version of current picture will not be put in an empty picture storage buffer that is not counted as part of DPB. The following aspects are addressed:
–The time to put the filtered version of current picture into DPB can be indicated by the instance that the process occurs instantaneously at the CPB removal time of access unit n (of current picture) , CpbRemovalTime [n ] .
–The time to put the unfiltered version of current picture into an empty picture storage buffer (not stored in the DPB) can be indicated by: this process happens instantaneously at the CPB removal time of access unit n (of current picture) , CpbRemovalTime [n ] . The DPB fullness remains unchanged, and the current picture (unfiltered) is marked as "used for long-term reference" .
–The current decoded picture (filtered) is stored in the DPB in an empty picture storage buffer, the DPB fullness is increased by one, and the current picture (filtered) is marked as "used for short-term reference" .
After decoding of current picture (filtered) , when curr_pic_as_ref_enabled_flag is equal to 1, the unfiltered version of current picture (if present) will be removed from the picture storage buffer (not in DPB) , while the filtered version of current picture will remain in the DPB. When the process moves to the next picture, the unfiltered version of current picture is referred as the unfiltered version of past picture. Similarly, the filtered version of current picture is referred as the filtered version of past picture. The next to be decoded picture is referred as the next current picture. The following aspects are addressed:
–The time to remove the unfiltered version of past picture can be indicated by the instance of the removal of this picture from the picture storage buffer (not in DPB) , which occurs any time after the decoding of current picture, but has to be before decoding of the next current picture (can be after parsing the slice header of the first slice of the next current picture) . One example of the removal time is immediately after decoding of the current picture, at the CPB removal time of the last decoding unit of access unit n (containing the current picture) 
–When the unfiltered version of past picture is removed from the picture storage buffer (not in DPB) , the DPB fullness remains unchanged
Third Embodiment. When curr_pic_as_ref_enabled_flag is equal to 1, the unfiltered version of the current picture may be placed in an empty picture storage buffer in the DPB, before starting the decoding process of current picture. While the filtered version of current picture is placed in an empty picture storage buffer that is not counted as part of DPB. When curr_pic_as_ref_enabled_flag is equal to 0, the unfiltered version of the current picture will not be placed in an empty picture storage buffer in the DPB. The following aspects are addressed:
–The time to put the unfiltered version of current picture into DPB can be indicated by the instance that the process occurs instantaneously at the CPB removal time of access unit n (of current picture) , CpbRemovalTime [n ] .
–The current decoded picture (unfiltered) is stored in the DPB in an empty picture storage buffer, the DPB fullness is increased by one, and the current picture (unfiltered) is marked as "used for long-term reference" .
–The current decoded picture (filtered) is in an empty picture storage buffer (not  stored in the DPB) , the DPB fullness remains unchanged, and the current picture (filtered) is marked as "used for short-term reference" .
After decoding of current picture (both filtered an unfiltered) , when curr_pic_as_ref_enabled_flag is equal to 1, the unfiltered version of current picture (if present) will be removed from the DPB. While the filtered version of current picture will be put in the DPB. After the current picture is processed, the filtered/unfiltered version of current picture is referred as the filtered/unfiltered version of past picture respectively. The next to be decoded picture is referred as the next current picture. The following aspects are addressed in two approaches:
Approach A:
–The time to remove the unfiltered version of past picture can be indicated by the instance of the removal of this picture from DPB, which occurs any time after the decoding of current picture, but has to be before decoding of the next current picture (can be after parsing the slice header of the first slice of the next current picture) . One example of the removal time is immediately after decoding of the current picture, at the CPB removal time of the last decoding unit of access unit n (containing the current picture) .
–When the unfiltered version of past picture is removed from DPB, the DPB fullness is decremented by one.
–Right after the unfiltered version of past picture is removed from DPB, the filtered version of past picture is put into DPB, the DPB fullness is incremented by one.
Approach B:
–The filtered version of current picture is put into DPB, in the position of the unfiltered version of current picture, to replace it.
–The time to move the unfiltered version of past picture into DPB can be indicated by: it can happen any time after the decoding of current picture, but has to be before decoding of the next current picture (can be after parsing the slice header of the first slice of the next current picture) . One example of the replace time is immediately after decoding of the current picture, at the CPB removal time of the last decoding unit of access unit n (containing the current picture) .
–The DPB fullness remains unchanged.
In a variation to the third embodiment, before decoding the current picture (but after parsing the slice header of the first slice of the current picture) , the filtered version and unfiltered version of current picture are the same if it is known that the in-loop filters (e.g., deblocking and SAO filters) are disabled for the entire picture. The operations related to the unfiltered version of current picture such as, putting it into DPB and incrementing DPB fullness by one, and removing it from DPB and decrementing DPB fullness by one, is not necessary. In this case, the operations for the filtered version of current picture, can be the same as specified in the third embodiment, or the operations for the filtered version of current picture is not necessary since it is the same as the unfiltered version in this case.
In the three embodiments mentioned above, the flag curr_pic_as_ref_enabled_flag can be a sequence level, picture level or slice level flag, indicating that for a whole sequence/picture/slice, the current picture may be used as reference picture.
The identification of the situation that no in-loop filters are used for the entire picture (deblocking and SAO are disabled for the picture) can be represented in the following conditions:
The SAO filter is not used for the current picture, if one of the three cases is true:
Case 1: when sequence level SAO enable flag sample_adaptive_offset_enabled_flag is false.
Case 2: when sequence level SAO enable flag sample_adaptive_offset_enabled_flag is true, there is only once slice in the picture, and the slice header flag (s) slice_sao_luma_flag and slice_sao_chroma_flag (if chroma components exist) is (are) false.
Case 3: when sequence level SAO enable flag sample_adaptive_offset_enabled_flag is true, there are more than once slice in the picture, and the slice header flag (s) slice_sao_luma_flag and slice_sao_chroma_flag (if chroma  components exist) for all slices are false.
The deblocking filter is not used for the current picture, if one of the three cases is true:
Case 1: There is only one slice in the picture, and the slice header flag slice_deblocking_filter_disabled_flag is present and is true.
Case 2: There is only one slice in the picture, the slice header flag slice_deblocking_filter_disabled_flag is not present, and the picture level pps_deblocking_filter_disabled_flag is true.
Case 3: There is more than one slice in the picture, all the slice header flag slice_deblocking_filter_disabled_flag are true when present; or when not present, the picture level pps_deblocking_filter_disabled_flag is true.
DPB size management when IntraBC is enabled
In the first embodiment, when both filtered and unfiltered versions of current picture are placed into the DPB before the decoding of current picture, the DPB size (maxDpbPicBuf) is kept unchanged.
In the second embodiment, the filtered version of current picture is placed into the DPB before the decoding of current picture while the other hand, the unfiltered picture is not placed into DPB. Alternatively, the unfiltered version of current picture can be placed into the DPB before the decoding of current picture while the filtered picture is not put into DPB. In both cases, the maxDpbPicBuf is modified as maxDpbPicBuf –curr_pic_as_ref_enabled_flag. If curr_pic_as_ref_enabled_flag is equal to 1, one buffer is reserved for the one version that is not in DPB.
In a variation to the second embodiment, during calculating the DPB size using maxDpbPicBuf –curr_pic_as_ref_enabled_flag, the curr_pic_as_ref_enabled_flag part is also conditioned by the identification of the use of in-loop filters in the current picture. The process  can be represented by the following statements:
–if no filter is used for current picture, DPB size is maxDpbPicBuf;
–otherwise, if curr_pic_as_ref_enabled_flag is true, DPB size is maxDpbPicBuf –1
–otherwise, DPB size is maxDpbPicBuf
The flag curr_pic_as_ref_enabled_flag can be incorporated in a sequence level, picture level or slice level flag indicating that the current picture may be used as reference picture for a whole corresponding sequence/picture/slice.
In the third embodiment, the filtered version of current picture is placed into the DPB before the decoding of current picture while the unfiltered picture is not put into DPB. Alternatively, the unfiltered version of current picture can be placed into the DPB before the decoding of current picture while the filtered picture is not put into DPB. In both cases the maxDpbPicBuf is modified as maxDpbPicBuf –1. One buffer is reserved for the one version that is not in DPB.
Fig. 1 illustrates a flowchart of an exemplary coding system using coding modes including IntraBC mode (Intra-block copy mode) and Inter prediction mode according to an embodiment of the present invention. The system determines a current-picture-usage flag in a picture level or slice level in step 110, where the current-picture-usage flag indicates whether IntraBC mode is enabled for a current picture and the current picture is allowed to be used as a reference picture for the current picture. Whether the current-picture-usage flag indicates that the IntraBC mode is not enabled for the current picture and the current picture is not allowed to be used as the reference picture for the current picture is checked in step 120. If the result is “Yes” , steps 130 and 140 are performed. If the result is “No” , steps 150 and 160 are performed. In step 130, only one picture buffer in a DPB (decoded picture buffer) is allocated for the current picture. In step 140, a reconstructed current picture after in-loop filtering or the reconstructed current picture before the in-loop filtering is stored in said one picture buffer in the DPB. In step 150, up to two picture buffers in the DPB are allowed to be allocated for the current picture. In step 160, the reconstructed current picture after the in-loop filtering and the  reconstructed current picture before the in-loop filtering are allowed to be stored in said up to two picture buffers in the DPB.
Fig. 2 illustrates a flowchart of an exemplary coding system using coding modes including IntraBC mode (Intra-block copy mode) and Inter prediction mode according to another embodiment of the present invention. The system determines whether all of one or more in-loop filters are disabled for an entire part of a current picture in step 210, wherein said one or more in-loop filters can be deblocking filter and SAO filter (sample adaptive offset filter) . If the result is “Yes” , steps 220 and 230 are performed. If the result is “No” , steps 220 and 230 are bypassed. In step 220, only one picture buffer in a DPB (decoded picture buffer) is allocated for both the Inter prediction mode and the Intra Block Copy (IntraBC) mode of the current picture. In step 230, only an unfiltered version of reconstructed current picture is stored in said only one picture buffer.
The flowcharts shown above are intended to illustrate examples of buffer management for coding system using coding modes including IntraBC mode (Intra-block copy mode) and Inter prediction mode according to the present invention. A person skilled in the art may modify each step, re-arranges the steps, split a step, or combine steps to practice the present invention without departing from the spirit of the present invention. In the disclosure, specific syntax and semantics have been used to illustrate examples to implement embodiments of the present invention. A skilled person may practice the present invention by substituting the syntax and semantics with equivalent syntax and semantics without departing from the spirit of the present invention.
The above description is presented to enable a person of ordinary skill in the art to practice the present invention as provided in the context of a particular application and its requirement. Various modifications to the described embodiments will be apparent to those with skill in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but is to be accorded the widest scope consistent with the  principles and novel features herein disclosed. In the above detailed description, various specific details are illustrated in order to provide a thorough understanding of the present invention. Nevertheless, it will be understood by those skilled in the art that the present invention may be practiced.
Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be one or more electronic circuits integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA) . These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware code may be developed in different programming languages and different formats or styles. The software code may also be compiled for different target platforms. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims (11)

  1. A method of managing a DPB (decoded picture buffer) for a video coding system, wherein the video coding system uses coding modes including an Inter prediction mode and an Intra Block Copy (IntraBC) mode, comprising:
    determining a current-picture-usage flag in a picture level or slice level, wherein the current-picture-usage flag indicates whether the IntraBC mode is enabled for a current picture and the current picture is allowed to be used as a reference picture for the current picture;
    if the current-picture-usage flag indicates that the IntraBC mode is not enabled and the current picture is not allowed to be used as the reference picture for the current picture:
    allocating only one picture buffer in the DPB (decoded picture buffer) for the current picture; and
    storing a reconstructed current picture after in-loop filtering or the reconstructed current picture before the in-loop filtering in said one picture buffer in the DPB; and
    if the current-picture-usage flag indicates that the IntraBC mode is enabled for the current picture and the current picture is allowed to be used as the reference picture for the current picture:
    allowing to allocate up to two picture buffers in the DPB for the current picture; and
    allowing to store both the reconstructed current picture after the in-loop filtering and the reconstructed current picture before the in-loop filtering in said up to two picture buffers in the DPB.
  2. The method of Claim 1, wherein the current-picture-usage flag in the picture level or slice level is used to replace a corresponding current-picture-usage flag in a sequence level.
  3. The method of Claim 1, wherein the current-picture-usage flag in the picture level is used in addition to a corresponding current-picture-usage flag in a sequence level.
  4. The method of Claim 1, wherein the current-picture-usage flag in the slice level is used in addition to a corresponding current-picture-usage flag in a sequence level.
  5. A method of managing a DPB (decoded picture buffer) for a video coding system, wherein the video coding system uses coding modes including an Inter prediction mode and an Intra Block Copy (IntraBC) mode, comprising:
    determining whether one or more in-loop filters are used for an entire part of a current picture; and
    if all of said one or more in-loop filters are disabled for the entire part of the current picture:
    allocating only one picture buffer in the DPB (decoded picture buffer) for both the Inter prediction mode and the Intra Block Copy (IntraBC) mode of the current picture; and
    storing only an unfiltered version of a reconstructed current picture in said one picture buffer.
  6. The method of Claim 5, further comprising:
    determining a current-picture-usage flag in a sequence level, picture level or slice level, wherein the current-picture-usage flag indicates whether the IntraBC mode is enabled for the current picture and the current picture is allowed to be used as a reference picture for the current picture; and
    if the current-picture-usage flag indicates that the IntraBC mode is not enabled and the current picture is not allowed to be used as the reference picture for the current picture, allocating only one picture buffer in the DPB for the Inter prediction mode of the current picture and storing only a filtered version of the reconstructed current picture in said one picture buffer.
  7. The method of Claim 5, wherein said one or more in-loop filters comprise deblocking  filter and SAO filter (sample adaptive offset filter) .
  8. The method of Claim 7, wherein the SAO filter is disabled if any of following conditions is true:
    a) a sequence level SAO enable flag is false;
    b) the sequence level SAO enable flag is true, there is only one slice in the current picture, and a slice level SAO flag is false for all colour components; and
    c) the sequence level SAO enable flag is true, there are more than one slice in the current picture, and the slice level SAO flag is false for all colour components and for all slices.
  9. The method of Claim 7, wherein the deblocking filter is disabled if any of following conditions is true:
    a) there is only one slice in the current picture, and a slice-level deblocking-filter-disable flag is present and is true;
    b) there is only one slice in the current picture, the slice-level deblocking-filter-disable flag is not present, and a picture-level deblocking-filter-disable flag is true; and
    c) there are more than one slice in the current picture, the slice-level deblocking-filter-disable flag is true for all slices when present or when not present, the picture-level deblocking-filter-disable flag is true.
  10. An apparatus for managing a DPB (decoded picture buffer) for a video coding system, wherein the video coding system uses coding modes including an Inter prediction mode and an Intra Block Copy (IntraBC) mode, comprising one or more electronic circuits arranged to:
    determine a current-picture-usage flag in a picture level or slice level, wherein the current-picture-usage flag indicates whether the IntraBC mode is enabled for a current picture and the current picture is allowed to be used as a reference picture for the current picture;
    if the current-picture-usage flag indicates that the IntraBC mode is not enabled and the  current picture is not allowed to be used as the reference picture for the current picture:
    allocate only one picture buffer in the DPB (decoded picture buffer) for the current picture; and
    store a reconstructed current picture after in-loop filtering or the reconstructed current picture before the in-loop filtering in said one picture buffer in the DPB; and
    if the current-picture-usage flag indicates that the IntraBC mode is enabled for the current picture and the current picture is allowed to be used as the reference picture for the current picture:
    allow to allocate up to two picture buffers in the DPB for the current picture; and
    allow to store the reconstructed current picture after the in-loop filtering and the reconstructed current picture before the in-loop filtering in said up to two picture buffers in the DPB.
  11. An apparatus for managing a DPB (decoded picture buffer) for a video coding system, wherein the video coding system uses coding modes including an Inter prediction mode and an Intra Block Copy (IntraBC) mode, comprising one or more electronic circuits arranged to:
    determine whether one or more in-loop filters are used for an entire part of a current picture; and
    if all of said one or more in-loop filters are disabled for the entire part of the current picture:
    allocate only one picture buffer in the DPB (decoded picture buffer) for both the Inter prediction mode and the Intra Block Copy (IntraBC) mode of the current picture; and
    store only an unfiltered version of a reconstructed current picture in said one picture buffer.
PCT/CN2016/083449 2015-05-28 2016-05-26 Method and apparatus for using a current picture as a reference picture WO2016188447A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
AU2016269362A AU2016269362A1 (en) 2015-05-28 2016-05-26 Method and apparatus for using a current picture as a reference picture
CN201680031020.2A CN107615763B (en) 2015-05-28 2016-05-26 Method and device for managing decoding image buffer
US15/574,253 US10045038B2 (en) 2015-05-28 2016-05-26 Method and apparatus for using a current picture as a reference picture
CN202010791294.XA CN112087639B (en) 2015-05-28 2016-05-26 Method and device for managing decoding image buffer
EP16799334.4A EP3284258A4 (en) 2015-05-28 2016-05-26 Method and apparatus for using a current picture as a reference picture
AU2019222914A AU2019222914B2 (en) 2015-05-28 2019-08-29 Method and apparatus for using a current picture as a reference picture

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562167474P 2015-05-28 2015-05-28
US62/167,474 2015-05-28
US201562183799P 2015-06-24 2015-06-24
US62/183,799 2015-06-24

Publications (1)

Publication Number Publication Date
WO2016188447A1 true WO2016188447A1 (en) 2016-12-01

Family

ID=57392560

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/083449 WO2016188447A1 (en) 2015-05-28 2016-05-26 Method and apparatus for using a current picture as a reference picture

Country Status (5)

Country Link
US (1) US10045038B2 (en)
EP (1) EP3284258A4 (en)
CN (2) CN107615763B (en)
AU (2) AU2016269362A1 (en)
WO (1) WO2016188447A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112956206A (en) * 2018-08-29 2021-06-11 夏普株式会社 Moving image decoding device and moving image encoding device
EP3788779A4 (en) * 2018-10-23 2022-03-02 Tencent America LLC Method and apparatus for video coding
US11509919B2 (en) * 2018-10-17 2022-11-22 Tencent America Reference sample memory size restrictions for intra block copy

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10448026B1 (en) * 2018-07-09 2019-10-15 Tencent America LLC Method and apparatus for block vector signaling and derivation in intra picture block compensation
CN109089124B (en) * 2018-09-03 2021-10-19 山东师范大学 Inter-frame data reuse method and device for motion estimation
JP6997339B2 (en) 2018-10-22 2022-01-17 日本放送協会 Coding device, decoding device, and program
CN111385570B (en) * 2018-12-28 2021-11-02 杭州海康威视数字技术股份有限公司 Encoding method, decoding method and device
KR102653088B1 (en) 2019-02-02 2024-04-01 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Buffer initialization for intra block copy in video coding
WO2020156546A1 (en) 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Prediction using extra-buffer samples for intra block copy in video coding
WO2020177660A1 (en) * 2019-03-01 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Block vector representation for intra block copy in video coding
JP7405861B2 (en) 2019-03-01 2023-12-26 北京字節跳動網絡技術有限公司 Direction-based prediction for intra block copy in video coding
CN117640927A (en) 2019-03-04 2024-03-01 北京字节跳动网络技术有限公司 Implementation aspects in intra block replication in video codec
CN117294841A (en) 2019-07-06 2023-12-26 北京字节跳动网络技术有限公司 Virtual prediction buffering for intra block copying in video codec
CN114175633B (en) 2019-07-10 2023-12-29 北京字节跳动网络技术有限公司 Sample identification for intra block copying in video codec
JP2022539887A (en) 2019-07-11 2022-09-13 北京字節跳動網絡技術有限公司 Bitstream Conformance Constraints for Intra-Block Copies in Video Coding
CN115567713B (en) * 2019-09-17 2023-07-07 华为技术有限公司 Decoding method and decoding device based on sub-images and device for storing code stream
KR20220085819A (en) * 2019-11-27 2022-06-22 엘지전자 주식회사 Video decoding method and apparatus
US11432016B2 (en) * 2019-12-05 2022-08-30 Hfi Innovation Inc. Methods and apparatuses of syntax signaling constraint for cross-component adaptive loop filter in video coding system
WO2021237165A1 (en) * 2020-05-21 2021-11-25 Alibaba Group Holding Limited Method for reference picture processing in video coding
US11503336B2 (en) 2020-12-07 2022-11-15 Tencent America LLC Method and apparatus for video coding

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130077697A1 (en) * 2011-09-27 2013-03-28 Broadcom Corporation Adaptive loop filtering in accordance with video coding
US20140037017A1 (en) * 2012-08-03 2014-02-06 Mediatek Inc. Video processing system with shared/configurable in-loop filter data buffer architecture and related video processing method thereof
US20140169459A1 (en) * 2012-12-13 2014-06-19 Media Tek Singapore Pte. Ltd. Method and apparatus of reference picture management for video coding
WO2015031806A1 (en) 2013-08-30 2015-03-05 Qualcomm Incorporated Constrained intra prediction in video coding
US20150103884A1 (en) * 2013-10-10 2015-04-16 Qualcomm Incorporated Signaling for sub-decoded picture buffer (sub-dpb) based dpb operations in video coding
WO2016196043A1 (en) 2015-05-29 2016-12-08 Qualcomm Incorporated Slice level intra block copy and other video coding improvements

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9961372B2 (en) * 2006-12-08 2018-05-01 Nxp Usa, Inc. Adaptive disabling of deblock filtering based on a content characteristic of video information
US9525884B2 (en) * 2010-11-02 2016-12-20 Hfi Innovation Inc. Method and apparatus of slice boundary filtering for high efficiency video coding
KR20120140181A (en) * 2011-06-20 2012-12-28 한국전자통신연구원 Method and apparatus for encoding and decoding using filtering for prediction block boundary
CN102857746B (en) * 2011-06-28 2017-03-29 中兴通讯股份有限公司 Loop filtering decoding method and device
MX351585B (en) * 2012-01-31 2017-10-20 Vid Scale Inc Reference picture set (rps) signaling for scalable high efficiency video coding (hevc).
US10021414B2 (en) * 2013-01-04 2018-07-10 Qualcomm Incorporated Bitstream constraints and motion vector restriction for inter-view or inter-layer reference pictures
US11323747B2 (en) * 2013-06-05 2022-05-03 Qualcomm Incorporated Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans
US20160080753A1 (en) * 2013-07-07 2016-03-17 Wilus Institute Of Standards And Technology Inc. Method and apparatus for processing video signal
US9507468B2 (en) * 2013-08-30 2016-11-29 Novasentis, Inc. Electromechanical polymer-based sensor
AU2013228045A1 (en) * 2013-09-13 2015-04-02 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
US9554141B2 (en) * 2013-11-18 2017-01-24 Arris Enterprises, Inc. Intra block copy for intra slices in high efficiency video coding (HEVC)
US10477232B2 (en) * 2014-03-21 2019-11-12 Qualcomm Incorporated Search region determination for intra block copy in video coding
KR102413529B1 (en) * 2014-06-19 2022-06-24 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Unified intra block copy and inter prediction modes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130077697A1 (en) * 2011-09-27 2013-03-28 Broadcom Corporation Adaptive loop filtering in accordance with video coding
US20140037017A1 (en) * 2012-08-03 2014-02-06 Mediatek Inc. Video processing system with shared/configurable in-loop filter data buffer architecture and related video processing method thereof
US20140169459A1 (en) * 2012-12-13 2014-06-19 Media Tek Singapore Pte. Ltd. Method and apparatus of reference picture management for video coding
WO2015031806A1 (en) 2013-08-30 2015-03-05 Qualcomm Incorporated Constrained intra prediction in video coding
US20150103884A1 (en) * 2013-10-10 2015-04-16 Qualcomm Incorporated Signaling for sub-decoded picture buffer (sub-dpb) based dpb operations in video coding
WO2016196043A1 (en) 2015-05-29 2016-12-08 Qualcomm Incorporated Slice level intra block copy and other video coding improvements

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
LIM W ET AL.: "Non-CE2 : Slice-level Intra block copy enabling", 19. JCT-VC MEETING; 17- 10-2014 - 24-10-2014; STRASBBOURG; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16, 9 October 2014 (2014-10-09), Retrieved from the Internet <URL:HTTP://WFTP3.ITU.INT/AVARCH/JCTVC-SITE>
LIU C ET AL.: "On indication of the use of current reference picture", 21. JCT-VC MEETING; 19-6-2015 - 26-6-2015; WARSAW; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16, 10 June 2015 (2015-06-10), Retrieved from the Internet <URL:HTTP://WFTP3.ITU.INT/AVARCH/JCTVC-SITE>
See also references of EP3284258A4
XU X ET AL.: "DPB considerations when current picture is a reference picture", 22. JCT-VC MEETING; 15-10-2015 - 21-10-2015; GENEVA; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16, 14 October 2015 (2015-10-14), Retrieved from the Internet <URL:HTTP://WFTP3.ITU.INT/AVARCH/JCTVC-SITE>
XU X ET AL.: "On storage of filtered an unfiltered current decoded pictures", 21. JCT-VC MEETING; 19-6-2015 - 26-6-2015; WARSAW; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16, 23 June 2015 (2015-06-23), Retrieved from the Internet <URL:HTTP://WFTP3.ITU.INT/AVARCH/JCTVC-SITE>

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112956206A (en) * 2018-08-29 2021-06-11 夏普株式会社 Moving image decoding device and moving image encoding device
US11889092B2 (en) 2018-08-29 2024-01-30 Sharp Kabushiki Kaisha Video decoding apparatus and video coding apparatus
US11509919B2 (en) * 2018-10-17 2022-11-22 Tencent America Reference sample memory size restrictions for intra block copy
EP3788779A4 (en) * 2018-10-23 2022-03-02 Tencent America LLC Method and apparatus for video coding
US11758164B2 (en) 2018-10-23 2023-09-12 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
CN112087639B (en) 2022-05-31
AU2016269362A1 (en) 2017-12-07
EP3284258A1 (en) 2018-02-21
CN107615763A (en) 2018-01-19
CN112087639A (en) 2020-12-15
US20180139461A1 (en) 2018-05-17
AU2019222914B2 (en) 2021-09-09
CN107615763B (en) 2020-09-11
EP3284258A4 (en) 2019-04-17
AU2019222914A1 (en) 2019-09-19
US10045038B2 (en) 2018-08-07

Similar Documents

Publication Publication Date Title
AU2019222914B2 (en) Method and apparatus for using a current picture as a reference picture
US10587881B2 (en) Method of decoded picture buffer management for intra block copy mode
US11122276B2 (en) Method and system of decoded picture buffer for intra block copy mode
AU2016299036B2 (en) Method of system for video coding using intra block copy mode
US10575013B2 (en) Method and apparatus for decoded picture buffer management in video coding system using intra block copy
EP3085090B1 (en) Method for palette table prediction

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16799334

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15574253

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2016269362

Country of ref document: AU

Date of ref document: 20160526

Kind code of ref document: A