JVET VVC: Ticket #344: spatial merge candidate derivation process with wrong prunings
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344
<p>
The pruning process is dependent on the enabling of triangular prediction mode which is not aligned with the SW.
</p>
<p>
<strong>8.5.2.3 Derivation process for spatial merging candidates</strong>
…
</p>
<p>
For the derivation of availableFlagB0, refIdxLXB0, predFlagLXB0 and mvLXB0 the following applies:
– …
– The variables availableFlagB0, refIdxLXB0, predFlagLXB0 and mvLXB0 are derived as follows:
– If one or more of the following conditions are true, availableFlagB0 is set equal to 0, both components of mvLXB0 are set equal to 0, refIdxLXB0 is set equal to −1 and predFlagLXB0 is set equal to 0, with X being 0 or 1, and bcwIdxB0 is set equal to 0:
– availableB0 is equal to FALSE.
– availableB1 is equal to TRUE and the luma locations ( xNbB1, yNbB1 ) and ( xNbB0, yNbB0 ) have the same motion vectors and the same reference indices.
– <strong> <del>availableA1 is equal to TRUE, the luma locations ( xNbA1, yNbA1 ) and ( xNbB0, yNbB0 ) have the same motion vectors and the same reference indices and MergeTriangleFlag[ xCb ][ yCb ] is equal to 1. </del></strong>
– Otherwise, availableFlagB0 is set equal to 1 and the following assignments are made:
…
</p>
<p>
For the derivation of availableFlagA0, refIdxLXA0, predFlagLXA0 and mvLXA0 the following applies:
– …
– The variables availableFlagA0, refIdxLXA0, predFlagLXA0 and mvLXA0 are derived as follows:
– If one or more of the following conditions are true, availableFlagA0 is set equal to 0, both components of mvLXA0 are set equal to 0, refIdxLXA0 is set equal to −1 and predFlagLXA0 is set equal to 0, with X being 0 or 1, and bcwIdxA0 is set equal to 0:
– availableA0 is equal to FALSE.
– availableA1 is equal to TRUE and the luma locations ( xNbA1, yNbA1 ) and ( xNbA0, yNbA0 ) have the same motion vectors and the same reference indices.
– <strong> <del>availableB1 is equal to TRUE, the luma locations ( xNbB1, yNbB1 ) and ( xNbA0, yNbA0 ) have the same motion vectors and the same reference indices and MergeTriangleFlag[ xCb ][ yCb ] is equal to 1. </del></strong>
– <strong> <del>availableB0 is equal to TRUE, the luma locations ( xNbB0, yNbB0 ) and ( xNbA0, yNbA0 ) have the same motion vectors and the same reference indices and MergeTriangleFlag[ xCb ][ yCb ] is equal to 1. </del></strong>
– Otherwise, availableFlagA0 is set equal to 1 and the following assignments are made:
…
</p>
<p>
For the derivation of availableFlagB2, refIdxLXB2, predFlagLXB2 and mvLXB2 the following applies:
– …
– The variables availableFlagB2, refIdxLXB2, predFlagLXB2 and mvLXB2 are derived as follows:
– If one or more of the following conditions are true, availableFlagB2 is set equal to 0, both components of mvLXB2 are set equal to 0, refIdxLXB2 is set equal to −1 and predFlagLXB2 is set equal to 0, with X being 0 or 1, and bcwIdxB2 is set equal to 0:
– availableB2 is equal to FALSE.
– availableA1 is equal to TRUE and the luma locations ( xNbA1, yNbA1 ) and ( xNbB2, yNbB2 ) have the same motion vectors and the same reference indices.
– availableB1 is equal to TRUE and the luma locations ( xNbB1, yNbB1 ) and ( xNbB2, yNbB2 ) have the same motion vectors and the same reference indices.
– <strong> <del>availableB0 is equal to TRUE, the luma locations ( xNbB0, yNbB0 ) and ( xNbB2, yNbB2 ) have the same motion vectors and the same reference indices and MergeTriangleFlag[ xCb ][ yCb ] is equal to 1. </del></strong>
– <strong> <del>availableA0 is equal to TRUE, the luma locations ( xNbA0, yNbA0 ) and ( xNbB2, yNbB2 ) have the same motion vectors and the same reference indices and MergeTriangleFlag[ xCb ][ yCb ] is equal to 1. </del></strong>
– <strong> <del>availableFlagA0 + availableFlagA1 + availableFlagB0 + availableFlagB1 is equal to 4 and MergeTriangleFlag[ xCb ][ yCb ] is equal to 0. </del></strong>
– Otherwise, availableFlagB2 is set equal to 1 and the following assignments are made:
…
</p>
en-usTrac 1.0.18bbrossTue, 02 Jul 2019 16:40:16 GMTversion changed
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344#comment:1
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344#comment:1
<ul>
<li><strong>version</strong>
changed from <em>VVC D5 v9</em> to <em>VVC D5 v10</em>
</li>
</ul>
TicketbbrossWed, 24 Jul 2019 16:12:06 GMT
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344#comment:2
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344#comment:2
<p>
Does that issue still exists in VTM-6.0 and D6?
If so should the draft be modified to match VTM or vice-versa?
</p>
TicketbbrossMon, 29 Jul 2019 15:21:44 GMTversion changed
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344#comment:3
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344#comment:3
<ul>
<li><strong>version</strong>
changed from <em>VVC D5 v10</em> to <em>VVC D6 vD</em>
</li>
</ul>
TicketbbrossMon, 29 Jul 2019 18:05:21 GMT
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344#comment:4
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344#comment:4
<p>
I would fix it by aligning the spec to VTM if no one objects.
</p>
TicketbbrossWed, 31 Jul 2019 06:01:11 GMTversion changed
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344#comment:5
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344#comment:5
<ul>
<li><strong>version</strong>
changed from <em>VVC D6 vD</em> to <em>VVC D6 vE</em>
</li>
</ul>
TicketbbrossThu, 26 Sep 2019 15:56:57 GMT
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344#comment:6
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344#comment:6
<p>
Ticket <a class="closed ticket" href="https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/547" title="defect: Uncorrect pruning in derivation of spatial merging candidate (closed: duplicate)">#547</a> has been marked as a duplicate of this ticket.
</p>
TicketjlchenWed, 06 Nov 2019 20:46:22 GMTstatus changed; resolution set
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344#comment:7
https://jvet.hhi.fraunhofer.de/trac/vvc/ticket/344#comment:7
<ul>
<li><strong>status</strong>
changed from <em>new</em> to <em>closed</em>
</li>
<li><strong>resolution</strong>
set to <em>fixed</em>
</li>
</ul>
<p>
Fixed in D7 vC to match the software.
</p>
Ticket