Method and apparatus for bi-prediction of illumination compensation
A method and apparatus for deriving aligned inter-view prediction for uni-prediction and bi-prediction in three-dimensional and multi-view coding with illumination compensation enabled are disclosed. When the illumination compensation is enabled, the derivation process for a single reference block in reference list_0 or reference list_1 in the case of uni-prediction is aligned with the derivation process for a reference block in reference list_0 and a reference block in reference list_1 in the case of bi-prediction. The reconstruction process generates the reference block based on a temporal reference block when Inter prediction is used and based on an inter-view reference block when inter-view prediction is used. For the uni-prediction and bi-prediction, the same clipping process can be included in the reconstruction process, the illumination compensation process, or both.
1. A method of predictive coding in three-dimensional (3D) and multi-view coding systems, the method comprising:
receiving input data associated with a current texture block in a dependent view;
when illumination compensation is enabled and uni-prediction is selected for the current texture block,
generating a single reference block in reference list_0 or reference list_1 by invoking a selected reconstruction process for the current texture block, wherein the selected reconstruction process generates the single reference block based on a single temporal reference block when Inter prediction is used for the current texture block, and based on a single inter-view reference block when inter-view prediction is used for the current texture block; and
generating a single illumination compensated reference block by applying a selected illumination compensation process to the single reference block, wherein the single illumination compensated reference block is used as a final reference block;
when the illumination compensation is enabled and bi-prediction is selected for the current texture block,
generating a first reference block in the reference list_0 by invoking the selected reconstruction process for the current texture block;
generating a second reference block in the reference list_1 by invoking the selected reconstruction process for the current texture block;
generating a first illumination compensated reference block by applying the selected illumination compensation process to the first reference block;
generating a second illumination compensated reference block by applying the selected illumination compensation process to the second reference block; and
deriving the final reference block from an average of the first illumination compensated reference block and the second illumination compensated reference block; and
encoding or decoding the current texture block using the final reference block as a predictor,
wherein a unified clipping process is applied for uni-prediction and bi-prediction.
2. The method of claim 1 , wherein the unified clipping process comprises a first clipping process on first output from the selected reconstruction process, wherein the first clipping process on the first output from the selected reconstruction process is invoked by each of said generating the single reference block, said generating the first reference block and said generating the second reference block, wherein the first clipping process clips the first output to a first valid range.
3. The method of claim 2 , wherein the unified clipping process further comprises a second clipping process on second output from the selected illumination compensation process, wherein the second clipping process on the second output from the selected illumination compensation process is invoked by each of said generating the single illumination compensated reference block, said generating the first illumination compensated reference block and said generating the second illumination compensated reference block.
4. The method of claim 1 , wherein the unified clipping process comprises a first clipping process on second output from the selected illumination compensation process, wherein the first clipping process on the second output from the selected illumination compensation process is invoked by each of said generating the single illumination compensated reference block, said generating the first illumination compensated reference block and said generating the second illumination compensated reference block.
5. The method of claim 1 , when the illumination compensation is enabled and the bi-prediction is selected for the current texture block, the bi-prediction is converted to the uni-prediction if motion information associated with the bi-prediction refers to a same reference block in the reference list_0 and the reference list_1.
6. The method of claim 1 , when the illumination compensation is enabled and the bi-prediction is selected for the current texture block, motion information associated with the reference list_0 or the reference list_1 is modified if the motion information associated with the bi-prediction refers to a same reference block in the reference list_0 and the reference list_1.
7. The method of claim 6 , when the motion information associated with the reference list_0 or the reference list_1 is modified by adding an offset vector (m,n) if the motion information associated with the bi-prediction refers to a same reference block in the reference list_0 and the reference list_1, wherein m and n are integers.
8. The method of claim 6 , when the motion information associated with the reference list_0 or the reference list_1 is modified by changing a corresponding reference index to a smallest reference index in a corresponding reference list if the motion information associated with the bi-prediction refers to a same reference block in the reference list_0 and the reference list_1, wherein the motion information modified uses a modified motion vector scaled according to picture order count distance related to the corresponding reference index and the smallest reference index.
9. The method of claim 1 , when the illumination compensation is enabled and the bi-prediction is selected for the current texture block, the first reference block or the second reference block is generated using another reconstruction process if motion information associated with the bi-prediction refers to a same reference block in the reference list_0 and the reference list_1, wherein said another reconstruction process includes an interpolation filter different from the selected reconstruction process.
10. An apparatus for predictive coding in three-dimensional (3D) and multi-view coding systems, the apparatus comprising one or more electronic circuits, wherein said one or more electronic circuits are configured to:
receive input data associated with a current texture block in a dependent view;
when illumination compensation is enabled and uni-prediction is selected for the current texture block,
generate a single reference block in reference list_0 or reference list_1 by invoking a selected reconstruction process for the current texture block, wherein the selected reconstruction process generates the single reference block based on a single temporal reference block when Inter prediction is used for the current texture block, and based on a single inter-view reference block when inter-view prediction is used for the current texture block; and
generate a single illumination compensated reference block by applying a selected illumination compensation process to the single reference block, wherein the single illumination compensated reference block is used as a final reference block;
when the illumination compensation is enabled and bi-prediction is selected for the current texture block,
generate a first reference block in the reference list_0 by invoking the selected reconstruction process for the current texture block;
generate a second reference block in the reference list_1 by invoking the selected reconstruction process for the current texture block;
generate a first illumination compensated reference block by applying the selected illumination compensation process to the first reference block;
generate a second illumination compensated reference block by applying the selected illumination compensation process to the second reference block; and
derive the final reference block from an average of the first illumination compensated reference block and the second illumination compensated reference block; and
encode or decode the current texture block using the final reference block as a predictor, wherein a unified clipping process is applied for uni-prediction and bi-prediction.
11. The apparatus of claim 10 , when the illumination compensation is enabled and the bi-prediction is selected for the current texture block, the bi-prediction is converted to the uni-prediction if motion information associated with the bi-prediction refers to a same reference block in the reference list_0 and the reference list_1.
12. The apparatus of claim 10 , when the illumination compensation is enabled and the bi-prediction is selected for the current texture block, motion information associated with the reference list_0 or the reference list_1 is modified if the motion information associated with the bi-prediction refers to a same reference block in the reference list_0 and the reference list_1.