WO2015008266A1 - Apparatus, method, and computer product for inter-layer reference picture list construction - Google Patents

Apparatus, method, and computer product for inter-layer reference picture list construction Download PDF

Info

Publication number
WO2015008266A1
WO2015008266A1 PCT/IB2014/063230 IB2014063230W WO2015008266A1 WO 2015008266 A1 WO2015008266 A1 WO 2015008266A1 IB 2014063230 W IB2014063230 W IB 2014063230W WO 2015008266 A1 WO2015008266 A1 WO 2015008266A1
Authority
WO
WIPO (PCT)
Prior art keywords
pictures
interlayer
picture list
reference picture
header
Prior art date
Application number
PCT/IB2014/063230
Other languages
French (fr)
Inventor
Andrey Norkin
Usman HAKEEM
Original Assignee
Telefonaktiebolaget L M Ericsson (Publ)
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 Telefonaktiebolaget L M Ericsson (Publ) filed Critical Telefonaktiebolaget L M Ericsson (Publ)
Publication of WO2015008266A1 publication Critical patent/WO2015008266A1/en

Links

Classifications

    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • 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
    • 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/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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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

Definitions

  • HEVC High Efficiency Video Coding
  • each picture is subdivided into one or multiple slices, and each slice can contain multiple blocks such as block-shaped coding units and prediction units.
  • the pictures available as prediction references for decoding a current slice are placed into picture lists referred to as "reference picture lists.”
  • reference picture lists For "P slices,” at most one reference picture can be used for prediction of a current block. Accordingly, P slices have one reference picture list, called “listO.”
  • listO For "B slices”, at most two reference pictures can be used for prediction of a current block can be used.
  • B slices have two reference picture lists, called “listO” and “listl .”
  • the reference picture used for reconstruction of a particular block can be signaled by reference picture indexes, which is an index into a reference picture list.
  • the reference picture index refers to the picture position in the reference picture list and is used in inter-picture prediction of a block.
  • the reference picture indexes are coded along with other data in the HEVC bit stream as part of coded slice data.
  • the length of a code word used to send a reference picture index depends on the index value itself. For example, small reference picture indexes require shorter code words. Thus, the closer a picture is placed to the front of the reference picture list is placed, the fewer bits that are required to indicate the picture's use in decoding a current picture.
  • inter-layer reference pictures are appended to the reference picture list according to the order of reference layers in an ordered array RefPic Setlnter Layer [ ].
  • the order of reference layers in RefPicSetlnterLayerf ] is fixed according to the layer index i of the reference layers, from small to large values of i.
  • the inter-layer reference pictures in both initial reference picture lists are always inserted with increasing order of the layer index i. This order does not take into account potential similarities or dissimilarities of different layers, and is thus not optimal in terms of compression efficiency.
  • the inter-layer pictures are always inserted at the position in the end of the reference picture list, which is usually not an optimal place for the inter-layer reference pictures.
  • a method performed by a decoder for video decoding includes receiving encoded video data including a current picture to be decoded and a header. The method further includes parsing the header of the received encoded video data. The method further includes deriving, using one or more parameters from the parsed header, a first set of interlayer reference pictures having a first relationship with the current picture to be decoded. The method further includes deriving, using one or more parameters from the parsed header, a second set of interlayer references pictures having a second relationship with the current picture to be decoded.
  • the method further includes deriving a first reference picture list that includes at least pictures of the same layer, the first set of interlayer references pictures, and/or the second set of interlayer reference pictures, wherein the first set of interlayer reference pictures and/or second set of interlayer reference pictures are included in the first reference picture list in accordance with one or more conditions.
  • the method also includes decoding the current picture using at least the first reference picture list.
  • a decoder for video decoding includes a processor.
  • the decoder further includes a computer readable medium coupled to the processor, said computer readable medium containing instructions executable by the processor.
  • the decoder is operative to receive encoded video data including a current picture to be decoded and a header.
  • the decoder is further operative to parse the header of the received encoded video data.
  • the decoder is further operative derive, using one or more parameters from the parsed header, a first set of interlayer reference pictures having a first relationship with the current picture to be decoded.
  • the decoder is further operative to derive, using one or more parameters from the parsed header, a second set of interlayer references pictures having a second
  • the decoder is further operative to derive a first reference picture list that includes at least pictures of the same layer, the first set of interlayer references pictures, and the second set of interlayer reference pictures, wherein the first set of interlayer reference pictures and/or second set of interlayer reference pictures are included in the first reference picture list in accordance with one or more conditions.
  • the decoder is further operative to decode the current picture using at least the first reference picture list.
  • computer product for video decoding comprising a non-transitory computer readable medium storing computer instructions for receiving encoded video data including a current picture to be decoded and a header and parsing the header of the received encoded video data.
  • the medium further includes instructions for deriving, using one or more parameters from the parsed header, a first set of interlayer reference pictures having a first relationship with the current picture to be decoded.
  • the medium further includes instructions for deriving, using one or more parameters from the parsed header, a second set of interlayer references pictures having a second relationship with the current picture to be decoded.
  • the medium further includes instructions for deriving a first reference picture list that includes at least pictures of the same layer, the first set of interlayer references pictures, and the second set of interlayer reference pictures, wherein the first set of interlayer reference pictures and second set of interlayer reference pictures are included in the first reference picture list in accordance with one or more conditions.
  • the medium further includes instructions for decoding the current picture using at least the first reference picture list.
  • FIG. 1 illustrates an exemplary communication system according to some embodiments.
  • Fig. 2 illustrates a slice header according to some embodiments.
  • FIGs. 3-6 illustrate example picture lists according to some embodiments.
  • Fig. 7 is a flow chart illustrating a process according to some embodiments.
  • Fig. 8 is a flow chart illustrating a process according to some embodiments.
  • Fig. 9 is a block diagram of a decoder/encoder according to some embodiments.
  • Embodiments include constructing reference picture lists using inter-layer pictures (i.e., pictures from different cameras, pictures from a different viewing angle, pictures with different image quality, etc.).
  • the ordering of the inter-layer reference pictures within the reference picture lists may be based on criteria such distance between camera positions of reference pictures and the current picture to be decoded.
  • the encoder takes into account the similarity of the inter-layer picture with the current picture and inserts the inter-layer pictures into the reference picture list according to their importance for reference picture prediction.
  • Fig. 1 illustrates an embodiment of a communication system that includes an encoder 102 that reads data from a multimedia source 100.
  • the multimedia source 100 may be a multimedia file including audio/video data.
  • the multimedia source 100 may also be one or more cameras providing a multimedia stream of audio/video data in real-time or near real-time to the encoder 102.
  • each camera may- pro vide frames from a different camera position or different viewing angle.
  • the encoder 102 is configured to encode the multimedia data according to encoding standards known to one of ordinary skill in the art such as HEVC, MV-HEVC, SHVC, 3D-HEVC, etc.
  • the encoder may output encoded data to a computer 104 or network server 106 via network 108.
  • Network 108 may be any type of network known to one of ordinary skill in the art (i.e., IP network) for enabling communication between network devices.
  • the encoder is included within computer 104.
  • the encoder 104 is a device such as a smart phone, tablet, or camera that connects to computer 104.
  • a decoder 1 10 receives the encoded data and decodes the encoded data in accordance with the encoding standard used to encode the data.
  • the encoded data may be received from either encoder 102, computer 104 or network server 106 over network 108.
  • the decoder may output the decoded data for display on a computer 112, smart phone/tablet device 1 14, or television 116.
  • the decoder may be included in any one of the computer 112, smart phone/tablet device 114, or television 116.
  • the encoder 102 and decoder 110 may be the same type of device having both encoder and decoder capabilities.
  • Fig. 2 illustrates an embodiment of encoded data including a slice header.
  • the slice header includes the following fields:
  • Inter_layer_pred_enabled_flag Num inter Jayer refpics minus 1 , Inter_layer_pred_layer_idc[i] , Inter_layer_sample_pred_only_flag, Inter_layer_list0_pos0, Inter_layer_listO_pos 1 ,
  • Inter layer list 1 _pos0 Inter_layer_listl_pos 1. It is understood by one of ordinary skill in the art that a slice header is not limited to these fields.
  • the Intcr_layer_pred_enabled_flag field specifies whether inter-layer prediction is used in decoding of a current picture. For example, the Inter_layer_pred_enabled flag equal to 1 specifies that inter-layer prediction may be used in decoding of the current picture.
  • Inter_layer_pred_enabled_flag 0 specifies that inter-layer prediction is not used in decoding of the current picture.
  • the value of inter_layer_pred_enabled_flag is inferred to be equal to 0.
  • inter_layer_sample_pred_only_flag is equal to 1, only sample values of the reconstructed pictures are used for predictions instead of syntax elements (such as block modes from the bitstream).
  • the num_inter_layer_ref_pics_minusl field may specify the number of inter-layer pictures (minus one) that may be used in decoding the current picture for inter-layer prediction.
  • the inter_layer_pred_layer_idc [i] field specifies a variable representing a layer id of the i-th picture that may be used by the current picture for inter-layer prediction. In some embodiments, when this field is not present in the slice header, the value of
  • inter layer_pred_layer_idc [i] is inferred to be equal to 0.
  • Inter_layer_list0_posl, Inter_layer_listl_pos0, and Inter_layer_listl_posl fields may specify the position of the inter layer pictures in corresponding reference picture lists.
  • the encoder takes into account indications for similarity of reference layers with the current layers for inserting the inter-layer reference pictures into the initial reference picture list according to their importance for reference picture prediction.
  • the encoder may create two reference picture sets called " inter-layer reference picture set before” and " inter-layer reference picture set after,” or alternatively called “inter-layer reference picture set 0" and " inter-layer reference picture set 1," respectively.
  • the inter-layer reference picture set before is referred to as RefPicSetlnterLayerO
  • the inter-layer reference picture set after is referred to as RefPicSetlnterLayer 1.
  • RefPicSetlnterLayerO and RefPicSetlnterLayer 1 are each an array of pictures.
  • These reference picture sets may be filled in the order in which the reference pictures are signaled, for example in the inter_layer_pred_layer_idc[ i ] field. Furthermore, it may also be signaled which pictures fill RefPicSetlnterLayerO, and which pictures fill
  • RefPicSetlnterLayer 1 may include the pictures which correspond to the camera positions which are located on one side of the current picture position. Furthermore, RefPicSetlnterLayer 1 may include the pictures whose locations are on the other side of the camera position corresponding to the current camera. As another example, in case of scalable video coding (SHVC), RefPicSetlnterLayerO may include pictures from the lower layers and RefPicSetlnterLayer 1 can be empty. In some embodiments, pictures from the lower layers have a lower resolution.
  • the two inter-layer reference picture sets are inserted at predefined locations in the initial reference picture list 0 and the initial reference picture list 1.
  • the initial reference picture list 0 is referred to as RefPicListTempO.
  • RefPictListTempO is an array of pictures.
  • RefPicListTempO may be in the order of short-term reference picture set before (RefPicSetStCurrBefore), inter- layer reference picture set before (RefPicSetlnterLayerO), short-term reference picture set after (RefPicSetStCurr After), long-term reference picture set (RefPicSetLtCurr), and inter-layer reference picture set after (RefPicSetlnterLayer 1 ).
  • the initial reference picture list 1 is referred to as RefPicListTempl .
  • RefPictListTemp 1 is an array of pictures.
  • the construction of RefPictListTemp 1 may be in the following order: RefPicSetStCurrAfter, RefPicSetlnterLayer 1 ,
  • RefPicSetStCurrBefore, RefPicSetLtCurr, and RefPicSetlnterLayerO are not limited to these particular reference pictures or ordering of these reference pictures and that any picture suitable for predictive coding may be included in RefPictListTempO and RefPictListTemp 1.
  • the short- term reference picture set before may include pictures that temporally precede the current picture to be decoded and are in the same layer as the current picture to be decoded.
  • the inter-layer reference picture set before may include pictures that are temporally collocated with the current picture to be decoded and are in a different layer, have a different camera position, or lower resolution than the current picture to be decoded.
  • the short-term reference picture set after may include pictures that temporally follow the current picture to be decoded and are in the same layer as the current picture to be decoded.
  • the long-term reference picture set may include pictures in the same layer as the current picture to be decoded and are saved in the memory for prediction.
  • num_inter_layer_ref_pics_l are signaled in the slice header and split the signaled values of the list inter_layer_pred_lay er idc [ i ] into two parts that correspond to the RefPicSetlnterLayerO and RefPicSetlnterLayerl .
  • RefPicListTempO and RefPicListTempl are the reference picture lists before applying reference picture list modification commands.
  • the pictures from RefPicSetlnterLayerO and RefPicSetlnterLayerl may be inserted according to their order in RefPicSetlnterLayerO and RefPicSetlnterLayer 1.
  • the order of pictures in RefPicListTempO may be as specified in Fig. 3 A, which is the following:
  • RefPicSetStCurrBefore RefPicSetlnterLayerO
  • RefPicSetStCurrAfter RefPicSetLtCurr
  • RefPicSetlnterLayerl RefPicSetStCurrBefore, RefPicSetlnterLayerO
  • RefPicSetStCurrAfter RefPicSetLtCurr
  • RefPicSetlnterLayerl RefPicSetStCurrBefore, RefPicSetlnterLayerO
  • RefPicSetStCurrAfter RefPicSetLtCurr
  • RefPicSetlnterLayerl RefPicSetStCurrBefore, RefPicSetlnterLayerO
  • RefPicSetStCurrAfter RefPicSetLtCurr
  • RefPicSetlnterLayerl RefPicSetStCurrBe
  • RefPicListTempl the pictures from RefPicSetlnterLayerO and RefPicSetlnterLayer 1 may be inserted according to their order in RefPicSetlnterLayerO and RefPicSetlnterLayerl .
  • the order of pictures in the RefPicListTemp 1 may be as specified in Fig. 3B, which is the following RefPicSetStCurrAfter, RefPicSetlnterLayer 1 , RefPicSetStCurrBefore, RefPicSetLtCurr,and RefPicSetlnterLayerO.
  • the order of pictures in the RefPicListTempO may be as specified in Fig. 3C, which is the following: RefPicSetStCurrBefore, RefPicSetlnterLayerO,
  • RefPicSetStCurrAfter, RefPicSetlnterLayerl , and RefPicSetLtCurr may be as specified in Fig. 3D, which is the following:
  • the position for RefPicSetlnterLayerO is signaled for RefPicListTempO
  • the position for RefPicSetlnterLayer 1 is signaled for the reference picture RefPicListTemp 1.
  • RefPicSetlnterLayer 1 in RefPicListTempO are inserted at predefined positions.
  • the positions may be signaled in the slice header in accordance with the values specified in the
  • Inter layer listOjpos and Inter layer list 1 jpos fields if the inter-layer reference pictures are not signaled, then the inter-layer reference pictures are inserted at default positions. In some embodiments, the positions of the inter-layer reference pictures are signaled in a parameter set such as the virtual parameter set (VPS), sequence parameter set (SPS), or the picture parameter set (PPS),
  • VPN virtual parameter set
  • SPS sequence parameter set
  • PPS picture parameter set
  • RefPicListTempO the pictures from RefPicSetlnterLayerO and RefPicSetlnterLayer 1 are inserted according to their order in RefPicSetlnterLayerO and RefPicSetlnterLayer 1.
  • the order of pictures in RefPicListTempO may be as specified in Fig. 4 A, which is the following: RefPicSetStCurrBefore, RefPicSetStCurrAfter, RefPicSetLtCurr, and RefPicSetlnterLayer 1.
  • the RefPicSetlnterLayerO is inserted at a specified position in accordance with a signaled position.
  • RefPicListTemp 1 the pictures from RefPicSetlnterLayerO and RefPicSetlnterLayer 1 are inserted according to their order in RefPicSetlnterLayerO and RefPicSetlnterLayer 1.
  • the order of pictures in the RefPicListTemp 1 may be as specified in Fig. 4B, which is the following RefPicSetStCurrAfter, RefPicSetStCurrBefore, RefPicSetLtCurr, and RefPicSetlnterLayerO.
  • the RefPicSetlnterLayerl is inserted at a specified position in accordance with a signaled position.
  • the order of pictures in the RefPicListTempO may be as specified in Fig. 5 A, which is the following RefPicSetStCurrBefore, RefPicSetStCurrAfter,
  • RefPicSetlnterLayer 1 RefPicSetLtCurr.
  • the RefPicSetlnterLayerO is inserted at a specified position in accordance with a signaled position.
  • the order of pictures in the RefPicListTemp 1 may be as specified in Fig. 5B, which is the following: RefPicSetStCurrAfter, RefPicSetStCurrBefore, RefPicSetlnterLayerO, and RefPicSetLtCurr.
  • the RefPicSetlnterLayer 1 is inserted at a specified position in accordance with a signaled position.
  • the two inter-layer reference picture sets are identical to each other.
  • RefPicListTempO and RefPicListTempl The positions for the inter-layer reference picture sets may be signaled in the slice header in accordance with the values specified in the
  • Inter_layer_listO_pos and Inter_layer_listl fields may be signaled as the starting positions of the pictures RefPicSetlnterLayerO and RefPicSetlnterLayer 1. In some
  • the positions if the positions are not signaled (e.g. position 0 is signaled) then the positions take a default position such as the predetermined positions described above.
  • RefPictListTempO the pictures from RefPicSetlnterLayerO and RefPicSetlnterLayerl are inserted according to their order in RefPicSetlnterLayerO and RefPicSetlnterLayerl .
  • the order of pictures in RefPicListTempO may be as specified in Fig. 6A, which is the following: RefPicSetStCurrBefore, RefPicSetStCurr After, and RefPicSefLtCurr.
  • the RefPicSetlnterLayerO and RefPicSetlnterLayer 1 are inserted at specified positions in accordance with corresponding signaled positions.
  • RefPictListTemp 1 the pictures from RefPicSetlnterLayerO and RefPicSetlnterLayerl are inserted according to their order in RefPicSetlnterLayerO and RefPicSetlnterLayerl .
  • the order of pictures in RefPicListTemp 1 may be as specified in Fig. 6B, which is the following: RefPicSetStCurr After, RefPicSetStCurrBefore, and RefPicSetLtCurr.
  • the RefPicSetlnterLayerO and RefPicSetlnterLayer 1 are inserted at specified positions in accordance with corresponding signaled positions.
  • Fig. 7 illustrates an embodiment of an example process performed by a decoder such as decoder 1 10.
  • the process starts step 700 where the decoder receives encoded video data including a current picture to be decoded.
  • the decoder 110 receives the encoded video data illustrated in Fig. 2.
  • the decoder parses the header included in the received encoded video data.
  • step 704 the decoder 1 10 derives, using one or more parameters from the parsed header, a first set of interlayer reference pictures (refpicsetinterlayer O) having a first relationship with the current picture to be decoded.
  • step 706 the decoder derives, using the one or more parameters from the parsed header, a second set of interlayer reference pictures (refpicsinterlayer_ 1 ) having a second relationship with the current picture to be decoded.
  • the first and the second relationships specify pictures that have a different camera position than the current picture, have a different viewing angle than the current picture, have a different size than the current picture, or have a different image quality than the current picture.
  • the first relationship specifies pictures that correspond to a camera position on one side of a picture position of the current picture to be decoded
  • the second relationship specifies pictures that correspond to a camera position on another side of the picture position of the current picture to be decoded.
  • the decoder derives a first reference picture list (list O) that includes at least previously decoded pictures, the first set of interlayer reference pictures, and the second set of interlayer reference pictures, wherein the first set of interlayer reference pictures and the second set of interlayer reference pictures are included in the first reference picture list in accordance with one or more conditions.
  • the one or more conditions specify (i) a first predetermined position for the first set of interlayer reference pictures in the first reference picture list, and (ii) a second predetermined position for the second set of interlayer reference pictures in the first reference picture list.
  • the one or more conditions specify (i) a position of the first set of interlayer reference pictures in the first reference picture list in accordance with a first value (Inter_layer_listO_posO) specified in the header, and (ii) a position of the second set of interlayer reference pictures in the first reference picture list in accordance with a second value (Inter_layer_listl_posl) specified in the header.
  • the decoder decodes the current picture using at least the first reference picture list.
  • Fig. 8 illustrates an embodiment of additional steps performed by the decoder
  • the decoder derives a first reference picture list (list l) that includes at least (previously decoded) pictures from the same layer, the first set of interlayer reference pictures, and the second set of interlayer reference pictures, wherein the first set of interlayer reference pictures and second set of interlayer reference pictures are included in the second reference picture list in accordance with one or more conditions.
  • the predetermined relationship specifies pictures that correspond to a different time moment than the current picture, have a different camera position than the current picture, have a different viewing angle than the current picture, have a different size than the current picture, or have a different image quality than the current picture.
  • the one or more conditions specify (i) a first predetermined position for the first set of interlayer reference pictures in the second reference picture list, and (ii) a second predetermined position for the second set of interlayer reference pictures in the second reference picture list.
  • the one or more conditions specify (i) a position of the first set of interlayer reference pictures in the second reference picture list in accordance with a first value (Inter_layer_list 1 jposO) specified in the header, and (ii) a position of the second set of interlayer reference pictures in the second reference picture list in accordance with a second value (Inter layer list 1 _pos 1 ) specified in the header.
  • the one or more conditions specify (i) a position of the first set of interlayer reference pictures in the first reference picture list in accordance with a first value (Inter_layer_listO_posO) specified in the header, (ii) a predetermined position for the first set of interlayer reference pictures in the second reference picture list, (iii) a position of the second set of interlayer reference pictures in the second reference picture list in accordance with a second value (Interjayer listl jposl) specified in the header, and (iv) a predetermined position for the second set of interlayer reference pictures in the first reference picture list.
  • a first value Inter_layer_listO_posO
  • the decoder decodes the current picture using at least the first reference picture list.
  • the first reference picture list is modified in accordance with one or more modification commands included in the header.
  • the second reference picture list is modified in accordance with one or more modification commands included in the header.
  • Fig. 9 illustrates a block diagram of an embodiment of the encoder 104 and decoder 110 referred to as an encoder/decoder.
  • the encoder/decoder may include or consist of: a computer system (CS) 902, which may include one or more processors 955 (e.g., a general purpose microprocessor) and/or one or more circuits, such as an application specific integrated circuit (ASIC), field-programmable gate arrays (FPGAs), a logic circuit, and the like; a network interface 903 for use in connecting the encoder/decoder to network 108; and a data storage system 906, which may include one or more non-volatile storage devices and/or one or more volatile storage devices (e.g., random access memory (RAM)).
  • CS computer system
  • processors 955 e.g., a general purpose microprocessor
  • ASIC application specific integrated circuit
  • FPGAs field-programmable gate arrays
  • a logic circuit such as an application specific integrated circuit (ASIC), field-
  • CPP 733 includes or is a computer readable medium (CRM) 742 storing a computer program (CP) 743 comprising computer readable instructions (CRI) 744.
  • CRM 742 is a non- transitory computer readable medium, such as, but not limited, to magnetic media (e.g., a hard disk), optical media (e.g., a DVD), solid state devices (e.g., random access memory (RAM), flash memory), and the like.
  • the CRI 744 of computer program 743 is configured such that when executed by computer system 702, the CRI causes the
  • encoder/decoder to perform steps described above (e.g., steps described above with reference to the flow charts and message flows shown in the drawings).
  • the encoder/decoder may be configured to perform steps described herein without the need for a computer program. That is, for example, computer system 702 may consist merely of one or more ASICs.
  • computer system 702 may consist merely of one or more ASICs.
  • the features of the embodiments described herein may be implemented in hardware and/or software.
  • JCT-VC Joint collaborative team on video coding a standardization group formed by ISO/IEC MPEG and ITU-T VCEG
  • JCT-3V Joint collaborative team on 3D video coding extension development a standardization group formed by ISO IEC MPEG and ITU-T VCEG
  • MPEG Moving Picture Experts Group also known as ISO/IEC JTC 1 /SC29 WG11
  • VCEG Video Coding Experts Group also known as ITU-T Q.6/SG 16

Abstract

A method performed by a decoder (110) for video decoding includes receiving encoded video data including a current picture to be decoded and a header. The method further includes parsing the header of the received encoded video data. The method further includes deriving, using one or more parameters from the parsed header, a first set of interlayer reference pictures (refpicsetinterlayer_0) having a first relationship with the current picture to be decoded. The method further includes deriving, using one or more parameters from the parsed header, a second set of interlayer references pictures (refpicsetinterlayer_1) having a second relationship with the current picture to be decoded. The method further includes deriving a first reference picture list (list_0) that includes at least pictures of the same layer, the first set of interlayer references pictures, and/or the second set of interlayer reference pictures, wherein the first set of interlayer reference pictures and/or second set of interlayer reference pictures are included in the first reference picture list in accordance with one or more conditions. The method also includes decoding the current picture using at least the first reference picture list.

Description

APPARATUS, METHOD, AND COMPUTER PRODUCT FOR INTER-LAYER REFERENCE
PICTURE LIST CONSTRUCTION
TECHNICAL FIELD
[001] Disclosed herein are, for example, apparatuses, methods, and computer products for inter-layer reference picture list construction.
BACKGROUND
[002] The High Efficiency Video Coding (HEVC) standard and its extensions rely on predictive coding tools. From the decoder perspective, pixel data is reconstructed using previously decoded pixel data for prediction. In particular, for inter-picture prediction, previously decoded pictures are used for prediction in the reconstruction process of a current picture.
[003] According to the HEVC specification, each picture is subdivided into one or multiple slices, and each slice can contain multiple blocks such as block-shaped coding units and prediction units. The pictures available as prediction references for decoding a current slice are placed into picture lists referred to as "reference picture lists." According to the HEVC specification, for "P slices," at most one reference picture can be used for prediction of a current block. Accordingly, P slices have one reference picture list, called "listO." For "B slices", at most two reference pictures can be used for prediction of a current block can be used.
Accordingly, B slices have two reference picture lists, called "listO" and "listl ."
[004] The reference picture used for reconstruction of a particular block can be signaled by reference picture indexes, which is an index into a reference picture list. The reference picture index refers to the picture position in the reference picture list and is used in inter-picture prediction of a block. The reference picture indexes are coded along with other data in the HEVC bit stream as part of coded slice data.
[005] The length of a code word used to send a reference picture index depends on the index value itself. For example, small reference picture indexes require shorter code words. Thus, the closer a picture is placed to the front of the reference picture list is placed, the fewer bits that are required to indicate the picture's use in decoding a current picture.
[006] While the HEVC core specification uses only temporally neighboring pictures for inter- picture prediction, it is likely that multi-layer HEVC extensions such as scalable and 3D extensions will use pictures from other layers (e.g. scalability layers and/or views) as reference pictures. The current draft SHVC (scalable HEVC), MV-HEVC (multiview HEVC) and 3D- HEVC specifications are using ad-hoc methods for reference picture list construction. There is a need for more efficient methods for reference picture list construction for multi-layer HEVC extensions using reference pictures across layers.
[007] In a reference picture list initialization procedure, inter-layer reference pictures are appended to the reference picture list according to the order of reference layers in an ordered array RefPic Setlnter Layer [ ]. The order of reference layers in RefPicSetlnterLayerf ] is fixed according to the layer index i of the reference layers, from small to large values of i. Thus, the inter-layer reference pictures in both initial reference picture lists are always inserted with increasing order of the layer index i. This order does not take into account potential similarities or dissimilarities of different layers, and is thus not optimal in terms of compression efficiency. When an initial reference picture list is constructed, the inter-layer pictures are always inserted at the position in the end of the reference picture list, which is usually not an optimal place for the inter-layer reference pictures.
SUMMARY
[008] According to some embodiments, a method performed by a decoder for video decoding includes receiving encoded video data including a current picture to be decoded and a header. The method further includes parsing the header of the received encoded video data. The method further includes deriving, using one or more parameters from the parsed header, a first set of interlayer reference pictures having a first relationship with the current picture to be decoded. The method further includes deriving, using one or more parameters from the parsed header, a second set of interlayer references pictures having a second relationship with the current picture to be decoded. The method further includes deriving a first reference picture list that includes at least pictures of the same layer, the first set of interlayer references pictures, and/or the second set of interlayer reference pictures, wherein the first set of interlayer reference pictures and/or second set of interlayer reference pictures are included in the first reference picture list in accordance with one or more conditions. The method also includes decoding the current picture using at least the first reference picture list.
[009] According to exemplary embodiments, a decoder for video decoding includes a processor. The decoder further includes a computer readable medium coupled to the processor, said computer readable medium containing instructions executable by the processor. The decoder is operative to receive encoded video data including a current picture to be decoded and a header. The decoder is further operative to parse the header of the received encoded video data. The decoder is further operative derive, using one or more parameters from the parsed header, a first set of interlayer reference pictures having a first relationship with the current picture to be decoded. The decoder is further operative to derive, using one or more parameters from the parsed header, a second set of interlayer references pictures having a second
relationship with the current picture to be decoded. The decoder is further operative to derive a first reference picture list that includes at least pictures of the same layer, the first set of interlayer references pictures, and the second set of interlayer reference pictures, wherein the first set of interlayer reference pictures and/or second set of interlayer reference pictures are included in the first reference picture list in accordance with one or more conditions. The decoder is further operative to decode the current picture using at least the first reference picture list.
[0010] In some exemplary embodiments, computer product for video decoding, the computer product comprising a non-transitory computer readable medium storing computer instructions for receiving encoded video data including a current picture to be decoded and a header and parsing the header of the received encoded video data. The medium further includes instructions for deriving, using one or more parameters from the parsed header, a first set of interlayer reference pictures having a first relationship with the current picture to be decoded. The medium further includes instructions for deriving, using one or more parameters from the parsed header, a second set of interlayer references pictures having a second relationship with the current picture to be decoded. The medium further includes instructions for deriving a first reference picture list that includes at least pictures of the same layer, the first set of interlayer references pictures, and the second set of interlayer reference pictures, wherein the first set of interlayer reference pictures and second set of interlayer reference pictures are included in the first reference picture list in accordance with one or more conditions. The medium further includes instructions for decoding the current picture using at least the first reference picture list.
BRIEF DESCRIPTION OF THE DRAWINGS [0011] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.
[0012] Fig. 1 illustrates an exemplary communication system according to some embodiments.
[0013] Fig. 2 illustrates a slice header according to some embodiments.
[0014] Figs. 3-6 illustrate example picture lists according to some embodiments.
[0015] Fig. 7 is a flow chart illustrating a process according to some embodiments.
[0016] Fig. 8 is a flow chart illustrating a process according to some embodiments.
[0017] Fig. 9 is a block diagram of a decoder/encoder according to some embodiments.
DETAILED DESCRIPTION
[0018] Embodiments include constructing reference picture lists using inter-layer pictures (i.e., pictures from different cameras, pictures from a different viewing angle, pictures with different image quality, etc.). The ordering of the inter-layer reference pictures within the reference picture lists may be based on criteria such distance between camera positions of reference pictures and the current picture to be decoded. Thus, the encoder takes into account the similarity of the inter-layer picture with the current picture and inserts the inter-layer pictures into the reference picture list according to their importance for reference picture prediction.
[0019] Fig. 1 illustrates an embodiment of a communication system that includes an encoder 102 that reads data from a multimedia source 100. The multimedia source 100 may be a multimedia file including audio/video data. The multimedia source 100 may also be one or more cameras providing a multimedia stream of audio/video data in real-time or near real-time to the encoder 102. When the multimedia source 100 is one or more cameras, each camera may- pro vide frames from a different camera position or different viewing angle. In embodiments, the encoder 102 is configured to encode the multimedia data according to encoding standards known to one of ordinary skill in the art such as HEVC, MV-HEVC, SHVC, 3D-HEVC, etc. The encoder may output encoded data to a computer 104 or network server 106 via network 108. Network 108 may be any type of network known to one of ordinary skill in the art (i.e., IP network) for enabling communication between network devices. In some embodiments, the encoder is included within computer 104. In further embodiments, the encoder 104 is a device such as a smart phone, tablet, or camera that connects to computer 104. [0020] A decoder 1 10 receives the encoded data and decodes the encoded data in accordance with the encoding standard used to encode the data. The encoded data may be received from either encoder 102, computer 104 or network server 106 over network 108. The decoder may output the decoded data for display on a computer 112, smart phone/tablet device 1 14, or television 116. The decoder may be included in any one of the computer 112, smart phone/tablet device 114, or television 116. In some embodiments, the encoder 102 and decoder 110 may be the same type of device having both encoder and decoder capabilities.
[0021 ] Fig. 2 illustrates an embodiment of encoded data including a slice header. In some embodiments, the slice header includes the following fields:
Inter_layer_pred_enabled_flag, Num inter Jayer refpics minus 1 , Inter_layer_pred_layer_idc[i] , Inter_layer_sample_pred_only_flag, Inter_layer_list0_pos0, Inter_layer_listO_pos 1 ,
Inter layer list 1 _pos0 , and Inter_layer_listl_pos 1. It is understood by one of ordinary skill in the art that a slice header is not limited to these fields.
[0022] The Intcr_layer_pred_enabled_flag field specifies whether inter-layer prediction is used in decoding of a current picture. For example, the Inter_layer_pred_enabled flag equal to 1 specifies that inter-layer prediction may be used in decoding of the current picture.
Inter_layer_pred_enabled_flag equal to 0 specifies that inter-layer prediction is not used in decoding of the current picture. In some embodiments, when not present in the slice header, the value of inter_layer_pred_enabled_flag is inferred to be equal to 0. When, the
inter_layer_sample_pred_only_flag is equal to 1, only sample values of the reconstructed pictures are used for predictions instead of syntax elements (such as block modes from the bitstream). The num_inter_layer_ref_pics_minusl field may specify the number of inter-layer pictures (minus one) that may be used in decoding the current picture for inter-layer prediction.
[0023] The inter_layer_pred_layer_idc [i] field specifies a variable representing a layer id of the i-th picture that may be used by the current picture for inter-layer prediction. In some embodiments, when this field is not present in the slice header, the value of
inter layer_pred_layer_idc [i] is inferred to be equal to 0. The Inter_layer_list0_pos0,
Inter_layer_list0_posl, Inter_layer_listl_pos0, and Inter_layer_listl_posl fields may specify the position of the inter layer pictures in corresponding reference picture lists.
[0024] According to some embodiments, the encoder takes into account indications for similarity of reference layers with the current layers for inserting the inter-layer reference pictures into the initial reference picture list according to their importance for reference picture prediction. The encoder may create two reference picture sets called " inter-layer reference picture set before" and " inter-layer reference picture set after," or alternatively called "inter-layer reference picture set 0" and " inter-layer reference picture set 1," respectively. The inter-layer reference picture set before is referred to as RefPicSetlnterLayerO, and the inter-layer reference picture set after is referred to as RefPicSetlnterLayer 1. According to some embodiments, RefPicSetlnterLayerO and RefPicSetlnterLayer 1 are each an array of pictures.
[0025] These reference picture sets (lists) may be filled in the order in which the reference pictures are signaled, for example in the inter_layer_pred_layer_idc[ i ] field. Furthermore, it may also be signaled which pictures fill RefPicSetlnterLayerO, and which pictures fill
RefPicSetlnterLayer 1. As an example, in case of MV-HEVC, RefPicSetlnterLayer 1 may include the pictures which correspond to the camera positions which are located on one side of the current picture position. Furthermore, RefPicSetlnterLayer 1 may include the pictures whose locations are on the other side of the camera position corresponding to the current camera. As another example, in case of scalable video coding (SHVC), RefPicSetlnterLayerO may include pictures from the lower layers and RefPicSetlnterLayer 1 can be empty. In some embodiments, pictures from the lower layers have a lower resolution.
[0026] According to some embodiments, the two inter-layer reference picture sets are inserted at predefined locations in the initial reference picture list 0 and the initial reference picture list 1. The initial reference picture list 0 is referred to as RefPicListTempO. According to some embodiments, RefPictListTempO is an array of pictures. The construction of RefPicListTempO may be in the order of short-term reference picture set before (RefPicSetStCurrBefore), inter- layer reference picture set before (RefPicSetlnterLayerO), short-term reference picture set after (RefPicSetStCurr After), long-term reference picture set (RefPicSetLtCurr), and inter-layer reference picture set after (RefPicSetlnterLayer 1 ).
[0027] The initial reference picture list 1 is referred to as RefPicListTempl . According to some embodiments, RefPictListTemp 1 is an array of pictures. The construction of RefPictListTemp 1 may be in the following order: RefPicSetStCurrAfter, RefPicSetlnterLayer 1 ,
RefPicSetStCurrBefore, RefPicSetLtCurr, and RefPicSetlnterLayerO . It is understood by one of ordinary skill in the art that RefPictListTempO and RefPictListTemp 1 are not limited to these particular reference pictures or ordering of these reference pictures and that any picture suitable for predictive coding may be included in RefPictListTempO and RefPictListTemp 1. The short- term reference picture set before may include pictures that temporally precede the current picture to be decoded and are in the same layer as the current picture to be decoded. The inter-layer reference picture set before may include pictures that are temporally collocated with the current picture to be decoded and are in a different layer, have a different camera position, or lower resolution than the current picture to be decoded. The short-term reference picture set after may include pictures that temporally follow the current picture to be decoded and are in the same layer as the current picture to be decoded. The long-term reference picture set may include pictures in the same layer as the current picture to be decoded and are saved in the memory for prediction.
[0028] In some embodiments, the variables num_inter_layer_ref__pics_0 and
num_inter_layer_ref_pics_l are signaled in the slice header and split the signaled values of the list inter_layer_pred_lay er idc [ i ] into two parts that correspond to the RefPicSetlnterLayerO and RefPicSetlnterLayerl . The order of inter-layer reference pictures in the lists may be determined by their order signaled by the inter_layer_pred_layer_idc [ i ], i =
0... (num_inter_layer_ref_pics_0 + num_inter_layer_ref_pics_ 1 - 1).
[0029] According to some embodiments, RefPicListTempO and RefPicListTempl are the reference picture lists before applying reference picture list modification commands. For RefPicListTempO, the pictures from RefPicSetlnterLayerO and RefPicSetlnterLayerl may be inserted according to their order in RefPicSetlnterLayerO and RefPicSetlnterLayer 1. The order of pictures in RefPicListTempO may be as specified in Fig. 3 A, which is the following:
RefPicSetStCurrBefore, RefPicSetlnterLayerO, RefPicSetStCurrAfter, RefPicSetLtCurr, and RefPicSetlnterLayerl .
[0030] For RefPicListTempl, the pictures from RefPicSetlnterLayerO and RefPicSetlnterLayer 1 may be inserted according to their order in RefPicSetlnterLayerO and RefPicSetlnterLayerl . The order of pictures in the RefPicListTemp 1 may be as specified in Fig. 3B, which is the following RefPicSetStCurrAfter, RefPicSetlnterLayer 1 , RefPicSetStCurrBefore, RefPicSetLtCurr,and RefPicSetlnterLayerO.
[0031] In further embodiments, the order of pictures in the RefPicListTempO may be as specified in Fig. 3C, which is the following: RefPicSetStCurrBefore, RefPicSetlnterLayerO,
RefPicSetStCurrAfter, RefPicSetlnterLayerl , and RefPicSetLtCurr. Additionally, the order of pictures in the RefPicListTemp 1 may be as specified in Fig. 3D, which is the following:
RefPicSetStCurrAfter RefPicSetlnterLayer 1, RefPicSetStCurrBefore, RefPicSetlnterLayerO, and RefPicSetLtCurr.
[0032] According to some embodiments, the position for RefPicSetlnterLayerO is signaled for RefPicListTempO, and the position for RefPicSetlnterLayer 1 is signaled for the reference picture RefPicListTemp 1. The RefPicSetlnterLayerO pictures in RefPicListTemp 1 and the
RefPicSetlnterLayer 1 in RefPicListTempO are inserted at predefined positions. The positions may be signaled in the slice header in accordance with the values specified in the
Inter layer listOjpos and Inter layer list 1 jpos fields. In some embodiments, if the inter-layer reference pictures are not signaled, then the inter-layer reference pictures are inserted at default positions. In some embodiments, the positions of the inter-layer reference pictures are signaled in a parameter set such as the virtual parameter set (VPS), sequence parameter set (SPS), or the picture parameter set (PPS),
[0033] For RefPicListTempO, the pictures from RefPicSetlnterLayerO and RefPicSetlnterLayer 1 are inserted according to their order in RefPicSetlnterLayerO and RefPicSetlnterLayer 1. The order of pictures in RefPicListTempO may be as specified in Fig. 4 A, which is the following: RefPicSetStCurrBefore, RefPicSetStCurrAfter, RefPicSetLtCurr, and RefPicSetlnterLayer 1. As illustrated in Fig. 4 A, the RefPicSetlnterLayerO is inserted at a specified position in accordance with a signaled position.
[0034] For RefPicListTemp 1 , the pictures from RefPicSetlnterLayerO and RefPicSetlnterLayer 1 are inserted according to their order in RefPicSetlnterLayerO and RefPicSetlnterLayer 1. The order of pictures in the RefPicListTemp 1 may be as specified in Fig. 4B, which is the following RefPicSetStCurrAfter, RefPicSetStCurrBefore, RefPicSetLtCurr, and RefPicSetlnterLayerO. As illustrated in Fig. 4B, the RefPicSetlnterLayerl is inserted at a specified position in accordance with a signaled position.
[0035] In further embodiments, the order of pictures in the RefPicListTempO may be as specified in Fig. 5 A, which is the following RefPicSetStCurrBefore, RefPicSetStCurrAfter,
RefPicSetlnterLayer 1 , and RefPicSetLtCurr. As illustrated in Fig. 5 A, the RefPicSetlnterLayerO is inserted at a specified position in accordance with a signaled position. Additionally, the order of pictures in the RefPicListTemp 1 may be as specified in Fig. 5B, which is the following: RefPicSetStCurrAfter, RefPicSetStCurrBefore, RefPicSetlnterLayerO, and RefPicSetLtCurr. As illustrated in Fig. 5B, the RefPicSetlnterLayer 1 is inserted at a specified position in accordance with a signaled position.
[0036] According to some embodiments, the two inter-layer reference picture sets
(RefPicSetlnterLayerO and RefPicSetlnterLayer 1 ) are inserted at signaled positions in
RefPicListTempO and RefPicListTempl . The positions for the inter-layer reference picture sets may be signaled in the slice header in accordance with the values specified in the
Inter_layer_listO_pos and Inter_layer_listl fields. The positions may be signaled as the starting positions of the pictures RefPicSetlnterLayerO and RefPicSetlnterLayer 1. In some
embodiments, if the positions are not signaled (e.g. position 0 is signaled) then the positions take a default position such as the predetermined positions described above.
[0037] For RefPictListTempO, the pictures from RefPicSetlnterLayerO and RefPicSetlnterLayerl are inserted according to their order in RefPicSetlnterLayerO and RefPicSetlnterLayerl . The order of pictures in RefPicListTempO may be as specified in Fig. 6A, which is the following: RefPicSetStCurrBefore, RefPicSetStCurr After, and RefPicSefLtCurr. As illustrated in Fig. 6A, the RefPicSetlnterLayerO and RefPicSetlnterLayer 1 are inserted at specified positions in accordance with corresponding signaled positions.
[0038] For RefPictListTemp 1 , the pictures from RefPicSetlnterLayerO and RefPicSetlnterLayerl are inserted according to their order in RefPicSetlnterLayerO and RefPicSetlnterLayerl . The order of pictures in RefPicListTemp 1 may be as specified in Fig. 6B, which is the following: RefPicSetStCurr After, RefPicSetStCurrBefore, and RefPicSetLtCurr. As illustrated in Fig. 6B, the RefPicSetlnterLayerO and RefPicSetlnterLayer 1 are inserted at specified positions in accordance with corresponding signaled positions.
[0039] Fig. 7 illustrates an embodiment of an example process performed by a decoder such as decoder 1 10. In some embodiments, the process starts step 700 where the decoder receives encoded video data including a current picture to be decoded. As an example, the decoder 110 receives the encoded video data illustrated in Fig. 2. In step 702, the decoder parses the header included in the received encoded video data.
[0040] In step 704, the decoder 1 10 derives, using one or more parameters from the parsed header, a first set of interlayer reference pictures (refpicsetinterlayer O) having a first relationship with the current picture to be decoded. In step 706, the decoder derives, using the one or more parameters from the parsed header, a second set of interlayer reference pictures (refpicsinterlayer_ 1 ) having a second relationship with the current picture to be decoded.
According to some embodiments, the first and the second relationships specify pictures that have a different camera position than the current picture, have a different viewing angle than the current picture, have a different size than the current picture, or have a different image quality than the current picture. In some embodiments, the first relationship specifies pictures that correspond to a camera position on one side of a picture position of the current picture to be decoded, and the second relationship specifies pictures that correspond to a camera position on another side of the picture position of the current picture to be decoded.
[0041] In step 708, the decoder derives a first reference picture list (list O) that includes at least previously decoded pictures, the first set of interlayer reference pictures, and the second set of interlayer reference pictures, wherein the first set of interlayer reference pictures and the second set of interlayer reference pictures are included in the first reference picture list in accordance with one or more conditions. According to some embodiments, the one or more conditions specify (i) a first predetermined position for the first set of interlayer reference pictures in the first reference picture list, and (ii) a second predetermined position for the second set of interlayer reference pictures in the first reference picture list. In some embodiments, the one or more conditions specify (i) a position of the first set of interlayer reference pictures in the first reference picture list in accordance with a first value (Inter_layer_listO_posO) specified in the header, and (ii) a position of the second set of interlayer reference pictures in the first reference picture list in accordance with a second value (Inter_layer_listl_posl) specified in the header. In step 710, the decoder decodes the current picture using at least the first reference picture list.
[0042] Fig. 8 illustrates an embodiment of additional steps performed by the decoder
110. In step 800, the decoder derives a first reference picture list (list l) that includes at least (previously decoded) pictures from the same layer, the first set of interlayer reference pictures, and the second set of interlayer reference pictures, wherein the first set of interlayer reference pictures and second set of interlayer reference pictures are included in the second reference picture list in accordance with one or more conditions. According to some embodiments, the predetermined relationship specifies pictures that correspond to a different time moment than the current picture, have a different camera position than the current picture, have a different viewing angle than the current picture, have a different size than the current picture, or have a different image quality than the current picture.
[0043] According to some embodiments, the one or more conditions specify (i) a first predetermined position for the first set of interlayer reference pictures in the second reference picture list, and (ii) a second predetermined position for the second set of interlayer reference pictures in the second reference picture list. In some embodiments, wherein the one or more conditions specify (i) a position of the first set of interlayer reference pictures in the second reference picture list in accordance with a first value (Inter_layer_list 1 jposO) specified in the header, and (ii) a position of the second set of interlayer reference pictures in the second reference picture list in accordance with a second value (Inter layer list 1 _pos 1 ) specified in the header.
[0044] In some embodiments, the one or more conditions specify (i) a position of the first set of interlayer reference pictures in the first reference picture list in accordance with a first value (Inter_layer_listO_posO) specified in the header, (ii) a predetermined position for the first set of interlayer reference pictures in the second reference picture list, (iii) a position of the second set of interlayer reference pictures in the second reference picture list in accordance with a second value (Interjayer listl jposl) specified in the header, and (iv) a predetermined position for the second set of interlayer reference pictures in the first reference picture list.
[0045] In step 802, the decoder decodes the current picture using at least the first reference picture list. In some embodiments, before decoding the current picture using the first reference picture list, the first reference picture list is modified in accordance with one or more modification commands included in the header. Furthermore, in some embodiments, before decoding the current picture using the second reference picture list, the second reference picture list is modified in accordance with one or more modification commands included in the header.
[0046] Fig. 9 illustrates a block diagram of an embodiment of the encoder 104 and decoder 110 referred to as an encoder/decoder. As shown in Fig. 9, the encoder/decoder may include or consist of: a computer system (CS) 902, which may include one or more processors 955 (e.g., a general purpose microprocessor) and/or one or more circuits, such as an application specific integrated circuit (ASIC), field-programmable gate arrays (FPGAs), a logic circuit, and the like; a network interface 903 for use in connecting the encoder/decoder to network 108; and a data storage system 906, which may include one or more non-volatile storage devices and/or one or more volatile storage devices (e.g., random access memory (RAM)). In embodiments where the encoder/decoder includes a processor 755, a computer program product (CPP) 733 may be provided. CPP 733 includes or is a computer readable medium (CRM) 742 storing a computer program (CP) 743 comprising computer readable instructions (CRI) 744. CRM 742 is a non- transitory computer readable medium, such as, but not limited, to magnetic media (e.g., a hard disk), optical media (e.g., a DVD), solid state devices (e.g., random access memory (RAM), flash memory), and the like. In some embodiments, the CRI 744 of computer program 743 is configured such that when executed by computer system 702, the CRI causes the
encoder/decoder to perform steps described above (e.g., steps described above with reference to the flow charts and message flows shown in the drawings). In other embodiments, the encoder/decoder may be configured to perform steps described herein without the need for a computer program. That is, for example, computer system 702 may consist merely of one or more ASICs. Hence, the features of the embodiments described herein may be implemented in hardware and/or software.
[0047] While various embodiments of the present disclosure are described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present disclosure should not be limited by any of the above-described exemplary embodiments. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.
[0048] Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel.
ABBREVIATIONS
HEVC High Efficiency Video Coding
MV-HEVC Multi-view HEVC
3D-HEVC 3D HEVC
SHVC Scalable HEVC PS Parameter set
SPS Sequence parameter set
PPS Picture parameter set
VPS Video parameter set
SH Slice header
NAL Network abstraction layer
HD high definition
QHD quad HD
SEI Supplementary enhancement information
JCT-VC Joint collaborative team on video coding, a standardization group formed by ISO/IEC MPEG and ITU-T VCEG
JCT-3V Joint collaborative team on 3D video coding extension development, a standardization group formed by ISO IEC MPEG and ITU-T VCEG
MPEG Moving Picture Experts Group, also known as ISO/IEC JTC 1 /SC29 WG11
ISO International Organization for Standardization
IEC International Electrotechnical Commission
ITU-T Telecommunication Sector of the International Telecommunication Union
VCEG Video Coding Experts Group, also known as ITU-T Q.6/SG 16

Claims

Claims
1. A method performed by a decoder (1 10) for video decoding, comprising:
receiving encoded video data including a current picture to be decoded and a header; parsing the header of the received encoded video data;
deriving, using one or more parameters from the parsed header, a first set of interlayer reference pictures (refpicsetinterlayer O) having a first relationship with the current picture to be decoded;
deriving, using one or more parameters from the parsed header, a second set of interlayer references pictures (refpicsetinterlayer l ) having a second relationship with the current picture to be decoded;
deriving a first reference picture list (list O) that includes at least pictures of the same layer, the first set of interlayer references pictures, and/or the second set of interlayer reference pictures, wherein the first set of interlayer reference pictures and/or second set of interlayer reference pictures are included in the first reference picture list in accordance with one or more conditions; and
decoding the current picture using at least the first reference picture list.
2. The method according to claim 1, wherein the first and the second relationships specify pictures that have a different camera position than the current picture, have a different viewing angle than the current picture, have a different size/resolution than the current picture, or have a different image quality than the current picture.
3. The method according to claim 1, wherein the first relationship specifies pictures that correspond to a camera position on one side of a camera position of the current picture to be decoded, and the second relationship specifies pictures that correspond to a camera position on another side of the camera position of the current picture to be decoded.
4. The method according to claim 1, wherein the one or more conditions specify (i) a first predetermined position for the first set of interlayer reference pictures in the first reference picture list, and (ii) a second predetermined position for the second set of interlayer reference pictures in the first reference picture list.
5. The method according to claims 1-4, wherein the one or more conditions specify (i) a position of the first set of interlayer reference pictures in the first reference picture list in accordance with a first value (Inter_layer_listO_posO) specified in the header, and (ii) a position of the second set of interlayer reference pictures in the first reference picture list in accordance with a second value (Inter_layer_listO_pos 1 ) specified in the header.
6. The method according to claims 1-5, further comprising:
deriving a second reference picture list (list_l) that includes at least pictures of the same layer, the first set of interlayer references pictures, and the second set of interlayer reference pictures, wherein
the first set of interlayer reference pictures and second set of interlayer reference pictures are included in the second reference picture list in accordance with one or more conditions; and
decoding the current picture using second reference picture list.
7. The method according to claim 6, wherein the predetermined relationship specifies pictures that have a different camera position than the current picture, have a different viewing angle than the current picture, have a different size/resolution than the current picture, or have a different image quality than the current picture.
8. The method according to claim 6, wherein the one or more conditions specify (i) a first predetermined position for the first set of interlayer reference pictures in the second reference picture list, and (ii) a second predetermined position for the second set of interlayer reference pictures in the second reference picture list.
9. The method according to claim 6, wherein the one or more conditions specify (i) a position of the first set of interlayer reference pictures in the second reference picture list in accordance with a first value (Inter_laycr_list 1 _pos0) specified in the header, and (ii) a position of the second set of interlayer reference pictures in the second reference picture list in accordance with a second value (Inter_layer_listl_posl) specified in the header.
10. The method according to claim 6, wherein the one or more conditions specify (i) a position of the first set of interlayer reference pictures in the first reference picture list in accordance with a first value (Inter_layer_listO_posO) specified in the header, (ii) a
predetermined position for the first set of interlayer reference pictures in the second reference picture list, (iii) a position of the second set of interlayer reference pictures in the second reference picture list in accordance with a second value (Inter layer list 1 _pos 1 ) specified in the header, and (iv) a predetermined position for the second set of interlayer reference pictures in the first reference picture list.
11. The method according to claim 6, wherein before decoding the current picture using the first reference picture list, the first reference picture list is modified in accordance with one or more modification commands included in the header, and
wherein, before decoding the current picture using the second reference picture list, the second reference picture list is modified in accordance with one or more modification commands included in the header.
12. A decoder (110) for video decoding, comprising:
a processor (955); and
a computer readable medium (942) coupled to the processor, said computer readable medium containing instructions (943) executable by the processor, whereby the decoder is operative to:
receive encoded video data including a current picture to be decoded and a header, parse the header of the received encoded video data,
derive, using one or more parameters from the parsed header, a first set of interlayer reference pictures (refpicsetinterlayer_0) having a first relationship with the current picture to be decoded, derive, using one or more parameters from the parsed header, a second set of interlayer references pictures (refpicsetinterlayer l) having a second relationship with the current picture to be decoded,
derive a first reference picture list (list O) that includes at least pictures of the same layer, the first set of interlayer references pictures, and the second set of interlayer reference pictures, wherein the first set of interlayer reference pictures and/or second set of interlayer reference pictures are included in the first reference picture list in accordance with one or more conditions, and
decode the current picture using at least the first reference picture list.
13. The decoder according to claim 12, wherein the first and the second relationships specify pictures that have a different camera position than the current picture, have a different viewing angle than the current picture, have a different size/resolution than the current picture, or have a different image quality than the current picture.
14. The decoder according to claim 12, wherein the first relationship specifies pictures that correspond to a camera position on one side of a camera position of the current picture to be decoded, and the second relationship specifies pictures that correspond to a camera position on another side of the camera position of the current picture to be decoded.
15. The decoder according to claims 12-14, wherein the one or more conditions specify (i) a first predetermined position for the first set of interlayer reference pictures in the first reference picture list, and (ii) a second predetermined position for the first set of interlayer reference pictures in the first reference picture list.
16. The decoder according to claim 12-14, wherein the one or more conditions specify (i) a position of the first set of interlayer reference pictures in the first reference picture list in accordance with a first value (InterJayerJ istOjposO) specified in the header, and (ii) a position of the second set of interlayer reference pictures in the first reference picture list in accordance with a second value (Inter_layer_listO_pos 1 ) specified in the header.
17. The decoder according to claim 12-16, wherein the decoder is further operative to:
derive a second reference picture list (list_l) that includes at least pictures of the same layer, the first set of interlayer references pictures, and the second set of interlayer reference pictures, wherein
the first set of interlayer reference pictures and second set of interlayer reference pictures are included in the second reference picture list in accordance with one or more conditions, and
decode the current picture using second reference picture list.
18. The decoder according to claim 17, wherein the predetermined relationship specifies pictures that have a different camera position than the current picture, have a different viewing angle than the current picture, have a different size/resolution than the current picture, or have a different image quality than the current picture.
19. The decoder according to claim 17, wherein the one or more conditions specify (i) a first predetermined position for the first set of interlayer reference pictures in the second reference picture list, and (ii) a second predetermined position for the first set of interlayer reference pictures in the second reference picture list.
20. The decoder according to claim 17, wherein the one or more conditions specify (i) a position of the first set of interlayer reference pictures in the second reference picture list in accordance with a first value (Inter layer list 1 _pos0) specified in the header, and (ii) a position of the second set of interlayer reference pictures in the second reference picture list in accordance with a second value (Interjayer listljposl) specified in the header.
21. The decoder according to claim 17, wherein the one or more conditions specify (i) a position of the first set of interlayer reference pictures in the first reference picture list in accordance with a first value (Inter layer listOjposO) specified in the header, (ii) a
predetermined position for the first set of interlayer reference pictures in the second reference picture list, (iii) a position of the second set of interlayer reference pictures in the second reference picture list in accordance with a second value (Inter layer list 1 jpos 1 ) specified in the header, and (iv) a predetermined position for the second set of interlayer reference pictures in the first reference picture list.
22. The decoder according to claim 17, wherein before the current picture is decoded using the first reference picture list, the first reference picture list is modified in accordance with one or more modification commands included in the header, and
wherein, before the current picture is decoded using the second reference picture list, the second reference picture list is modified in accordance with one or more modification commands included in the header.
23. A computer product for video decoding, the computer product comprising a non- transitory computer readable medium storing computer instructions for:
receiving encoded video data including a current picture to be decoded and a header; parsing the header of the received encoded video data;
deriving, using one or more parameters from the parsed header, a first set of interlayer reference pictures (refpicsetinterlayer O) having a first relationship with the current picture to be decoded;
deriving, using one or more parameters from the parsed header, a second set of interlayer references pictures (refpicsetinterlayer_l ) having a second relationship with the current picture to be decoded;
deriving a first reference picture list (list O) that includes at least pictures of the same layer, the first set of interlayer references pictures, and the second set of interlayer reference pictures, wherein the first set of interlayer reference pictures and second set of interlayer reference pictures are included in the first reference picture list in accordance with one or more conditions; and
decoding the current picture using at least the first reference picture list.
PCT/IB2014/063230 2013-07-18 2014-07-18 Apparatus, method, and computer product for inter-layer reference picture list construction WO2015008266A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361847800P 2013-07-18 2013-07-18
US61/847,800 2013-07-18

Publications (1)

Publication Number Publication Date
WO2015008266A1 true WO2015008266A1 (en) 2015-01-22

Family

ID=51492989

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2014/063230 WO2015008266A1 (en) 2013-07-18 2014-07-18 Apparatus, method, and computer product for inter-layer reference picture list construction

Country Status (1)

Country Link
WO (1) WO2015008266A1 (en)

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
ANDREY NORKIN ET AL: "MV-HEVC/SHVC HLS: Initial inter-layer reference picture list construction", 5. JCT-3V MEETING; 27-7-2013 - 2-8-2013; VIENNA; (THE JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://PHENIX.INT-EVRY.FR/JCT2/,, no. JCT3V-E0239, 20 July 2013 (2013-07-20), XP030131295 *
CHEN J ET AL: "Editorial improvements on SHVC Draft Text 2", 14. JCT-VC MEETING; 25-7-2013 - 2-8-2013; VIENNA; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-N0242, 16 July 2013 (2013-07-16), XP030114757 *
RICKARD SJOBERG ET AL: "Overview of HEVC High-Level Syntax and Reference Picture Management", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 22, no. 12, 1 December 2012 (2012-12-01), pages 1858 - 1870, XP011487159, ISSN: 1051-8215, DOI: 10.1109/TCSVT.2012.2223052 *
RUSERT T ET AL: "AHG7: MV-HEVC inter-view reference picture list construction based on ViewId", 4. JCT-3V MEETING; 20-4-2013 - 26-4-2013; INCHEON; (THE JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://PHENIX.INT-EVRY.FR/JCT2/,, no. JCT3V-D0220, 14 April 2013 (2013-04-14), XP030130884 *
TECH G ET AL: "MV-HEVC Draft Text 4", 4. JCT-3V MEETING; 20-4-2013 - 26-4-2013; INCHEON; (THE JOINT COLLABORATIVE TEAM ON 3D VIDEO CODING EXTENSION DEVELOPMENT OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://PHENIX.INT-EVRY.FR/JCT2/,, no. JCT3V-D1004, 13 May 2013 (2013-05-13), XP030130982 *
THOMAS RUSERT ET AL: "Description of 3D Video Coding Technology Proposal by Ericsson", 98. MPEG MEETING; 28-11-2011 - 2-12-2011; GENEVA; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11),, no. m22582, 27 November 2011 (2011-11-27), XP030051145 *

Similar Documents

Publication Publication Date Title
AU2017204114B2 (en) Method and apparatus for video coding
KR102224703B1 (en) An apparatus, a method and a computer program for video coding and decoding
US10397610B2 (en) Method and apparatus for video coding
CN107750458B (en) Video encoding method, encoding/decoding device, and medium
CN107211168B (en) Sample entry and operation point signaling design in a layered video file format
EP3058743B1 (en) Support of multi-mode extraction for multi-layer video codecs
EP2984843B1 (en) Parameter set designs for video coding extensions
US8982183B2 (en) Method and apparatus for processing a multiview video signal
JP6057395B2 (en) Video encoding method and apparatus
US10575010B2 (en) Apparatus, a method and a computer program for image sequence coding and decoding
TW201507441A (en) Hypothetical reference decoder model and conformance for cross-layer random access skipped pictures
CN110089126B (en) Method, apparatus and computer readable medium for processing video data
CA2897034C (en) Jctvc-l0226: vps and vps_extension updates
EP2904799A2 (en) File format for video data
US10123039B2 (en) Constructing inter-layer reference picture lists
CN116830573A (en) Cross random access point signaling enhancement
US20230111484A1 (en) Identification of inter-layer reference pictures in coded video
CN115225905A (en) Level information of sub-picture track
WO2015008266A1 (en) Apparatus, method, and computer product for inter-layer reference picture list construction
CN116508322A (en) Decoder configuration information in VVC video codec
CN115918077A (en) Processing of supplemental enhancement information in sub-picture sub-bitstream extraction

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: 14761410

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14761410

Country of ref document: EP

Kind code of ref document: A1