# US 2019/0246135 A1 · Frame boundary artifacts removal

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

- Number: US 2019/0246135 A1
- Document ID: US20190246135A1
- Status: Published application
- Kind: A1
- Application number: 16/222,254
- Filed: 2018-12-17
- Published: 2019-08-08
- Earliest claimed: 2018-02-08
- Assignees: Apple Inc.
- Applicants: Apple Inc.
- Inventors: Xiang FU; Xiaohua YANG; Linfeng GUO; Francesco IACOPINO; Felix CHOU; Ying Jian HE
- Web page: https://patentgrep.com/patent/US20190246135A1

## CPC

- H04N 19/52: by predictive encoding
- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/167: Position within a video image, e.g. region of interest [ROI]
- H04N 19/172: the region being a picture, frame or field
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/182: the unit being a pixel
- H04N 19/55: Motion estimation with spatial constraints, e.g. at image or region borders
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Techniques for encoding video with reduced frame-boundary artifacts are presented. The techniques include a video encoding method, where, when skip mode is selected as a motion prediction coding mode for a pixel block predicted from a reference block of a reference frame, estimating an amount of the reference block that extends beyond the edge of the reference frame. If the amount beyond the edge does not exceed a threshold, the prediction may be coded with skip mode. If the amount beyond the edge exceeds a threshold, the pixel block may be partitioned, and the partitioned blocks may be coded with motion prediction.

## Claims

### Claim 1

A video encoding method, comprising:
when skip mode prediction is selected as a coding mode for an input pixel block of a frame to be coded by motion prediction:
estimating a portion of a reference frame to be used as a prediction reference for the input pixel block according to a motion vector interpolated according to the skip mode;
determining an amount of the portion that extends beyond an edge of the reference frame;
when the amount does not exceed a threshold, coding the input pixel block according to the skip mode; and
when the amount exceeds the threshold:
partitioning the input pixel block into a plurality of smaller pixel blocks; and;
coding the plurality of smaller pixel blocks with motion prediction.

### Claim 2 (depends on 1)

The method of claim 1, wherein at least one of the plurality of smaller pixel blocks is coded with a bias in the selection of a motion prediction coding mode toward a non-skip mode.

### Claim 3 (depends on 2)

The method of claim 2, wherein the bias toward a motion prediction coding mode that includes coded residual data is one of:
a bias toward inter prediction mode;
a bias toward intra prediction mode;
a bias toward a prediction mode that includes encoding prediction residual data;
a bias away from skip mode; or
a rule precluding use of skip mode.

### Claim 4 (depends on 2)

The method of claim 2, wherein the plurality of smaller pixel blocks includes at least one smaller pixel block that is at a frame edge and at least one smaller pixel block that does not include the frame edge.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
encoding the at least one smaller pixel block at the frame edge without a motion prediction coding mode bias.

### Claim 6 (depends on 4)

The method of claim 4, further comprising:
encoding the at least one smaller pixel block not at the frame edge in skip mode.

### Claim 7

A motion-compensation predictor for video data, comprising:
a predictor operable according to a plurality of coding modes including a skip mode,
a pixel block coder having an input for pixel blocks of video data, and pixel blocks of reference pictures selected by the predictor, and
a controller for controlling the predictor when the predictor selects skip mode prediction as a coding mode for an input pixel block of a frame to be coded by motion prediction, by:
estimating a portion of a reference frame to be used as a prediction reference for the input pixel block according to an motion vector interpolated according to the skip mode;
determining an amount of the portion that extends beyond an edge of the reference frame;
when the amount does not exceed a threshold, coding the input pixel block according to the skip mode; and
when the amount exceeds the threshold, partitioning the input pixel block into a plurality of smaller pixel blocks, and coding the plurality of smaller pixel blocks with motion prediction.

### Claim 8 (depends on 7)

The system of claim 7, wherein at least one of the plurality of smaller pixel blocks is coded with a bias in the selection of a motion prediction coding mode toward a non-skip mode.

### Claim 9 (depends on 8)

The system of claim 8, wherein the bias toward a motion prediction coding mode that includes coded residual data is one of:
a bias toward inter prediction mode;
a bias toward intra prediction mode;
a bias toward a prediction mode that includes encoding prediction residual data;
a bias away from skip mode; or
a rule precluding use of skip mode.

### Claim 10 (depends on 8)

The system of claim 8, wherein the plurality of smaller pixel blocks includes at least one smaller pixel block that is at a frame edge and at least one smaller pixel block that does not include the frame edge.

### Claim 11 (depends on 10)

The system of claim 10, wherein:
the at least one smaller pixel block at the frame edge is coded without a motion prediction coding mode bias.

### Claim 12 (depends on 10)

The system of claim 10, wherein:
the at least one smaller pixel block not at the frame edge is coded in skip mode.

### Claim 13 (depends on 7)

The system of claim 7, wherein each of the plurality of smaller pixel blocks are coded with a bias in the selection of a motion prediction coding mode.

### Claim 14

A non-transitory computer readable medium including instructions that, when executed by a processor, cause:
when skip mode prediction is selected as a coding mode for an input pixel block of a frame to be coded by motion prediction:
estimating a portion of a reference frame to be used as a prediction reference for the input pixel block according to a motion vector interpolated according to the skip mode;
determining an amount of the portion that extends beyond an edge of the reference frame;
when the amount does not exceed a threshold, coding the input pixel block according to the skip mode; and
when the amount exceeds the threshold:
partitioning the input pixel block into a plurality of smaller pixel blocks; and;
coding the plurality of smaller pixel blocks with motion prediction.

### Claim 15 (depends on 14)

The medium of claim 14, wherein at least one of the plurality of smaller pixel blocks is coded with a bias in the selection of a motion prediction coding mode toward a non-skip mode.

### Claim 16 (depends on 15)

The medium of claim 15, wherein the bias toward a motion prediction coding mode that includes coded residual data is one of:
a bias toward inter prediction mode;
a bias toward intra prediction mode;
a bias toward a prediction mode that includes encoding prediction residual data;
a bias away from skip mode; or
a rule precluding use of skip mode.

### Claim 17 (depends on 15)

The medium of claim 15, wherein the plurality of smaller pixel blocks includes at least one smaller pixel block that is at a frame edge and at least one smaller pixel block that does not include the frame edge.

### Claim 18 (depends on 17)

The medium of claim 17, wherein the instructions further cause:
encoding the at least one smaller pixel block at the frame edge without a motion prediction coding mode bias.

### Claim 19 (depends on 17)

The method of claim 17, wherein the instructions further cause:
encoding the at least one smaller pixel block not at the frame edge in skip mode.

### Claim 20 (depends on 13)

The system of claim 13, wherein each of the plurality of smaller pixel blocks are coded with a bias in the selection of a motion prediction coding mode.
