# US 2014/0192885 A1 · Bitstream constraints and motion vector restriction for inter-view or inter-layer reference pictures

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2014/0192885 A1
- Document ID: US20140192885A1
- Status: Published application
- Kind: A1
- Application number: 14/146,149
- Filed: 2014-01-02
- Published: 2014-07-10
- Earliest claimed: 2013-01-04
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Vadim Seregin; Ying Chen; Li Zhang; Adarsh Krishnan Ramasubramonian
- Web page: https://patentgrep.com/patent/US20140192885A1

## CPC

- H04N 19/55: Motion estimation with spatial constraints, e.g. at image or region borders
- H04N 19/31: in the temporal domain
- H04N 19/52: by predictive encoding
- H04N 19/597: specially adapted for multi-view video sequence encoding
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Techniques are described for motion vector restriction where information in a bitstream ensures that a derived motion vector from a motion vector predictor is compliant with a motion vector restriction. Techniques are also described for indicating the motion vector restriction for parallel decoding.

## Claims

### Claim 1

A method of inter-view or inter-layer video decoding, the method comprising:
receiving a bitstream that includes information for deriving a motion vector for a current block from a motion vector predictor, wherein the motion vector refers to an inter-view or an inter-layer reference picture, wherein the bitstream is constrained such that the information ensures that the derived motion vector is compliant with a motion vector restriction, and wherein the motion vector restriction restricts a range of the motion vector to refer to a sub-portion of the inter-view or inter-layer reference picture;
deriving the motion vector for the current block based on the information in the bitstream; and
inter-view or inter-layer prediction decoding the current block based on the derived motion vector.

### Claim 2 (depends on 1)

The method of claim 1, wherein the information includes syntax elements in the bitstream.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
constructing a list of candidate motion vector predictors; and
determining an index, from the received bitstream, into the list of candidate motion vector predictors that identifies the motion vector predictor used to derive the motion vector,
wherein deriving the motion vector comprises setting the motion vector equal to the motion vector predictor, and
wherein the motion vector predictor is required to be compliant with the motion vector restriction.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
constructing a list of candidate motion vector predictors;
determining an index, from the received bitstream, into the list of candidate motion vector predictors that identifies the motion vector predictor used to derive the motion vector; and
determining a motion vector difference, from the received bitstream, whose value is such that when the motion vector difference is added to the motion vector predictor the resulting motion vector is compliant with the motion vector restriction,
wherein deriving the motion vector comprises adding the motion vector predictor and the motion vector difference.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
determining a flag value, from the received bitstream, that indicates whether a motion vector difference for pictures identified in a reference picture list is zero,
wherein the flag value always indicates that the motion vector difference for the pictures in the reference picture list is not zero.

### Claim 6 (depends on 1)

The method of claim 1, wherein, when the motion vector refers to the inter-layer reference picture, the motion vector restriction indicates that the derived motion vector should equal zero.

### Claim 7 (depends on 1)

The method of claim 1, the further comprising:
determining, from the received bitstream, a vertical motion vector range of the motion vector restriction in units of block size; and
parallel decoding the inter-view or inter-layer reference picture and a current picture that includes the current block based on the vertical motion vector range.

### Claim 8 (depends on 7)

The method of claim 7, wherein the units of block size comprise one of a unit of largest coding unit height and smallest coding unit height.

### Claim 9 (depends on 1)

The method of claim 1, wherein the inter-view or inter-layer reference picture includes a first inter-view or inter-layer reference picture, the method further comprising:
determining, from the received bitstream, an unavailable reference area in any inter-view or any inter-layer reference picture, including the first inter-view or inter-layer reference picture, that cannot be used for inter-view or inter-layer reference by the current block,
wherein deriving the motion vector comprises deriving the motion vector for the current block based on the information in the bitstream such that the motion vector does not refer to the unavailable reference area in any inter-view or any inter-layer reference picture.

### Claim 10 (depends on 9)

The method of claim 9, wherein determining the unavailable reference area comprises determining the unavailable reference area in raster scan order.

### Claim 11

A method of inter-view or inter-layer video encoding, the method comprising:
determining information, which is used for deriving a motion vector for a current block from a motion vector predictor, that ensures that the derived motion vector is compliant with a motion vector restriction, wherein the motion vector refers to an inter-view or an inter-layer reference picture, and wherein the motion vector restriction restricts a range of the motion vector to refer to a sub-portion of the inter-view or inter-layer reference picture;
deriving the motion vector for the current block based on the information;
inter-view or inter-layer prediction encoding the current block based on the derived motion vector; and
generating for output the determined information for deriving the motion vector.

### Claim 12 (depends on 11)

The method of claim 11, wherein the information includes syntax elements that are generated for output.

### Claim 13 (depends on 11)

The method of claim 11, further comprising:
constructing a list of candidate motion vector predictors,
wherein determining information comprises determining an index into the list of candidate motion vector predictors that identifies the motion vector predictor, used to derive the motion vector, whose value is compliant with the motion vector restriction, and
wherein generating for output comprises generating for output the index into the list of candidate motion vector predictors.

### Claim 14 (depends on 11)

The method of claim 11, further comprising:
constructing a list of candidate motion vector predictors,
wherein determining information comprises:
determining an index into the list of candidate motion vector predictors that identifies the motion vector predictor used to derive the motion vector; and
determining a motion vector difference such that when the motion vector difference is added to the motion vector predictor the resulting motion vector is compliant with the motion vector restriction, and
wherein generating for output comprises generating for output the index into the list of candidate motion vector predictors and the motion vector difference.

### Claim 15 (depends on 11)

The method of claim 11, wherein determining information comprises determining that a value of a flag always indicates that a motion vector difference for pictures in a reference picture list is not zero, and wherein generating for output comprises generating for output the value of the flag.

### Claim 16 (depends on 11)

The method of claim 11, wherein, when the motion vector refers to the inter-layer reference picture, the motion vector restriction indicates that the derived motion vector should equal zero.

### Claim 17 (depends on 11)

The method of claim 11, further comprising:
generating for output a vertical motion vector range of the motion vector restriction in units of block size.

### Claim 18 (depends on 17)

The method of claim 17, wherein the units of block size comprise one of a unit of largest coding unit height and smallest coding unit height.

### Claim 19 (depends on 11)

The method of claim 11, wherein the inter-view or inter-layer reference picture includes a first inter-view or inter-layer reference picture, the method further comprising:
determining an unavailable reference area in any inter-view or any inter-layer reference picture, including the first inter-view or inter-layer reference picture, that cannot be used for inter-view or inter-layer reference by the current block,
wherein deriving the motion vector comprises deriving the motion vector for the current block based on the determined unavailable area such that the motion vector does not refer to the unavailable reference area in any inter-view or inter-layer reference picture; and
generating for output information indicating the unavailable reference area.

### Claim 20 (depends on 19)

The method of claim 19, wherein generating for output information indicating the unavailable reference area comprises generating for output information indicating the unavailable reference area in raster scan order.

### Claim 21

A device comprising a video decoder, the video decoder comprising one or more processors and configured to:
receive a bitstream that includes information for deriving a motion vector for a current block from a motion vector predictor, wherein the motion vector refers to an inter-view or an inter-layer reference picture, wherein the bitstream is constrained such that the information ensures that the derived motion vector is compliant with a motion vector restriction, and wherein the motion vector restriction restricts a range of the motion vector to refer to a sub-portion of the inter-view or inter-layer reference picture;
derive the motion vector for the current block based on the information in the bitstream; and
inter-view or inter-layer prediction decode the current block based on the derived motion vector.

### Claim 22 (depends on 21)

The device of claim 21, wherein the information includes syntax elements in the bitstream.

### Claim 23 (depends on 21)

The device of claim 21, wherein the video decoder is configured to:
construct a list of candidate motion vector predictors; and
determine an index, from the received bitstream, into the list of candidate motion vector predictors that identifies the motion vector predictor used to derive the motion vector,
wherein to derive the motion vector, the video decoder is configured to set the motion vector equal to the motion vector predictor, and
wherein the motion vector predictor is required to be compliant with the motion vector restriction.

### Claim 24 (depends on 21)

The device of claim 21, wherein the video decoder is configured to:
construct a list of candidate motion vector predictors;
determine an index, from the received bitstream, into the list of candidate motion vector predictors that identifies the motion vector predictor used to derive the motion vector; and
determine a motion vector difference, from the received bitstream, whose value is such that when the motion vector difference is added to the motion vector predictor the resulting motion vector is compliant with the motion vector restriction,
wherein to derive the motion vector, the video decoder is configured to add the motion vector predictor and the motion vector difference.

### Claim 25 (depends on 21)

The device of claim 21, wherein the video decoder is configured to:
determine a flag value, from the received bitstream, that indicates whether a motion vector difference for pictures identified in a reference picture list is zero,
wherein the flag value always indicates that the motion vector difference for the pictures in the reference picture list is not zero.

### Claim 26 (depends on 21)

The device of claim 21, wherein the video decoder is configured to:
determine, from the received bitstream, a vertical motion vector range of the motion vector restriction in units of block size; and
parallel decode the inter-view or inter-layer reference picture and a current picture that includes the current block based on the vertical motion vector range.

### Claim 27 (depends on 21)

The device of claim 21, wherein the inter-view or inter-layer reference picture includes a first inter-view or inter-layer reference picture, and wherein the video decoder is configured to:
determine, from the received bitstream, an unavailable reference area in any inter-view or any inter-layer reference picture, including the first inter-view or inter-layer reference picture, that cannot be used for inter-view or inter-layer reference by the current block,
wherein to derive the motion vector the video decoder is configured to derive the motion vector for the current block based on the information in the bitstream such that the motion vector does not refer to the unavailable reference area in any inter-view or any inter-layer reference picture.

### Claim 28 (depends on 27)

The device of claim 27, wherein to determine the unavailable reference area the video decoder is configured to determine the unavailable reference area in raster scan order.

### Claim 29 (depends on 21)

The device of claim 21, wherein the device comprises one of:
a wireless communication device;
a microprocessor; and
an integrated circuit.

### Claim 30

A device comprising a video encoder, the video encoder comprising one or more processors and configured to:
determine information, which is used for deriving a motion vector for a current block from a motion vector predictor, that ensures that the derived motion vector is compliant with a motion vector restriction, wherein the motion vector refers to an inter-view or an inter-layer reference picture, and wherein the motion vector restriction restricts a range of the motion vector to refer to a sub-portion of the inter-view or inter-layer reference picture;
derive the motion vector for the current block based on the information;
inter-view or inter-layer prediction encode the current block based on the derived motion vector; and
generate for output the determined information for deriving the motion vector.

### Claim 31 (depends on 30)

The device of claim 30, wherein the information includes syntax elements that are generated for output.

### Claim 32 (depends on 30)

The device of claim 30, wherein the video encoder is configured to:
construct a list of candidate motion vector predictors,
wherein to determine information, the video encoder is configured to determine an index into the list of candidate motion vector predictors that identifies the motion vector predictor, used to derive the motion vector, whose value is compliant with the motion vector restriction, and
wherein to generate for output, the video encoder is configured to generate for output the index into the list of candidate motion vector predictors.

### Claim 33 (depends on 30)

The device of claim 30, wherein the video encoder is configured to:
construct a list of candidate motion vector predictors,
wherein to determine information, the video encoder is configured to:
determine an index into the list of candidate motion vector predictors that identifies the motion vector predictor used to derive the motion vector; and
determine a motion vector difference such that when the motion vector difference is added to the motion vector predictor the resulting motion vector is compliant with the motion vector restriction, and
wherein to generate for output, the video encoder is configured to generate for output the index into the list of candidate motion vector predictors and the motion vector difference.

### Claim 34 (depends on 30)

The device of claim 30, wherein to determine information, the video encoder is configured to determine that a value of a flag always indicates that a motion vector difference for pictures in a reference picture list is not zero, and wherein to generate for output, the video encoder is configured to generate for output the value of the flag.

### Claim 35 (depends on 34)

The device of claim 34, wherein the video encoder is configured to:
generate for output a vertical motion vector range of the motion vector restriction in units of block size.

### Claim 36 (depends on 30)

The device of claim 30, wherein the inter-view or inter-layer reference picture includes a first inter-view or inter-layer reference picture, and wherein the video encoder is configured to:
determine an unavailable reference area in any inter-view or any inter-layer reference picture, including the first inter-view or inter-layer reference picture, that cannot be used for inter-view or inter-layer reference by the current block,
wherein to derive the motion vector the video encoder is configured to derive the motion vector for the current block based on the determined unavailable area such that the motion vector does not refer to the unavailable reference area in any inter-view or inter-layer reference picture; and
generate for output information indicating the unavailable reference area.

### Claim 37 (depends on 36)

The device of claim 36, wherein to generate for output information indicating the unavailable reference area the video encoder is configured to generate for output information indicating the unavailable reference area in raster scan order.

### Claim 38

A computer-readable storage medium having stored thereon instructions that when executed cause one or more processors of a device for decoding video data to:
receive a bitstream that includes information for deriving a motion vector for a current block from a motion vector predictor, wherein the motion vector refers to an inter-view or an inter-layer reference picture, wherein the bitstream is constrained such that the information ensures that the derived motion vector is compliant with a motion vector restriction, and wherein the motion vector restriction restricts a range of the motion vector to refer to a sub-portion of the inter-view or inter-layer reference picture;
derive the motion vector for the current block based on the information in the bitstream; and
inter-view or inter-layer prediction decode the current block based on the derived motion vector.

### Claim 39

A device comprising:
means for receiving a bitstream that includes information for deriving a motion vector for a current block from a motion vector predictor, wherein the motion vector refers to an inter-view or an inter-layer reference picture, wherein the bitstream is constrained such that the information ensures that the derived motion vector is compliant with a motion vector restriction, and wherein the motion vector restriction restricts a range of the motion vector to refer to a sub-portion of the inter-view or inter-layer reference picture;
means for deriving the motion vector for the current block based on the information in the bitstream; and
means for inter-view or inter-layer prediction decoding the current block based on the derived motion vector.
