# US 2019/0246124 A1 · Data rate control method, computer system, and device

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

- Number: US 2019/0246124 A1
- Document ID: US20190246124A1
- Status: Published application
- Kind: A1
- Application number: 16/381,927
- Filed: 2019-04-11
- Published: 2019-08-08
- Earliest claimed: 2016-10-12
- Assignees: Sz Dji Technology Co., Ltd.
- Applicants: Sz Dji Technology Co., Ltd.
- Inventors: Wenjun ZHAO; Wei CHEN; Xiaozhen ZHENG
- Web page: https://patentgrep.com/patent/US20190246124A1

## CPC

- H04N 19/196: being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters (processing of motion vectors H04N19/513)
- H04N 19/115: Selection of the code volume for a coding unit prior to coding
- H04N 19/124: Quantisation
- H04N 19/15: by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
- H04N 19/174: the region being a slice, e.g. a line of blocks or a group of blocks
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A data rate control method includes determining an adjustment value of a first encoding parameter for encoding a first strip based on a quota of the first strip included in a frame that has not been encoded and based on a quota of at least one already encoded strip included in the frame. At least one of the quota of the first strip and the quota of the at least one already encoded strip relates to a number of shares of bits used for encoding a strip. The data rate control method also includes determining the first encoding parameter based on the adjustment value.

## Claims

### Claim 1

A data rate control method, comprising:
determining an adjustment value of a first encoding parameter for encoding a first strip based on a quota of the first strip included in a frame that has not been encoded and based on a quota of at least one already encoded strip included in the frame, at least one of the quota of the first strip and the quota of the at least one already encoded strip relating to a number of shares of bits used for encoding a strip; and
determining the first encoding parameter based on the adjustment value.

### Claim 2 (depends on 1)

The data rate control method of claim 1, wherein determining the adjustment value comprises determining the adjustment value based on the quota of the first strip and a quota of at least one already encoded strip located adjacent to the first strip in the frame.

### Claim 3 (depends on 2)

The data rate control method of claim 2, wherein determining the adjustment value based on the quota of the first strip and the quota of the at least one already encoded strip located adjacent to the first strip in the frame comprises:
based on a determination that at least one of a strip located to the left of the first strip and a strip located above the first strip satisfies a first condition, determining the adjustment value based on the quota of the first strip and a quota of at least one of the strip located to the left of the first strip and the strip located above the first strip,
wherein the strip located to the left of the first strip satisfying the first condition indicates that the first strip is not a number one strip in a strip row in which the first strip is located, and
wherein the strip located above the first strip satisfying the first condition indicates that the strip row in which the first strip is located is not the number one strip row in the frame, and when the first strip is a non-noise strip, a strip row located above the first strip is a non-noise strip row, or when the first strip is a noise strip, the strip row located above the first strip is a noise strip row.

### Claim 4 (depends on 3)

The data rate control method of claim 3, wherein determining the adjustment value based on the quota of the first strip and the quota of the at least one of the strip located to the left of the first strip and the strip located above the first strip comprises:
based on a determination that the quota of the first strip is zero, and that a quota of the strip located to the left of the first strip and a quota of the strip located above the first strip are not zero, determining the adjustment value to be a first predetermined value, wherein when a number of bits used by already encoded strips in the frame is greater than a number of bits allocated to the already encoded strips in the frame, the first predetermined value is greater than zero, and wherein when the number of bits used by the already encoded strips in the frame is not greater than the number of bits allocated to the already encoded strips in the frame, the first predetermined value is not greater than zero; or
based on a determination that the quota of the first strip is not zero, and that the quota of the strip located to the left of the first strip and the quota of the strip located above the first strip are both zero, determining the adjustment value to be a second predetermined value, wherein when the number of bits used by the already encoded strips in the frame is greater than the number of bits allocated to the already encoded strips in the frame, the second predetermined value is greater than zero, and wherein when the number of bits used by the already encoded strips in the frame is not greater than the number of bits allocated to the already encoded strips in the frame, the second predetermined value is not greater than zero; or
based on a determination that the quota of the first strip is not zero, and that at least one of the quota of the strip located to the left of the first strip and the quota of the strip located above the first strip is not zero, determining the adjustment value based on the quota of the first strip, a number of bits used by the at least one of the strip located to the left of the first strip and the strip located above the first strip having a non-zero quota, and the non-zero quota; or
based on a determination that the quota of the first strip is zero, and the quota of at least one of the strip located to the left of the first strip and the strip located above the first strip is zero, determining the adjustment value based on a number of bits used by the at least one of the strip located to the left of the first strip and the strip located above the first strip, which has a zero quota.

### Claim 5 (depends on 4)

The data rate control method of claim 4, wherein determining the adjustment value based on the quota of the first strip, the number of bits used by the at least one of the strip located to the left of the first strip and the strip located above the first strip having a non-zero quota, and the non-zero quota comprises:
based on a determination that the quotas of the strip located to the left of the first strip and the strip located above the first strip are not zero, and based on the quota of the first strip, a number of bits usable by the first strip, quotas of the strip located to the left of the first strip and the strip located above the first strip, numbers of bits used by the strip located to the left of the first strip and the strip located above the first strip, and an encoding parameter for encoding the strip located to the left of the first strip and the strip located above the first strip, determining an encoding parameter predicted value; or
based on a determination that the quota of the strip located to the left of the first strip is not zero, and that the quota of the strip located above the first strip is zero, and based on the quota of the first strip, a number of bits usable by the first strip, the quota of the strip located to the left of the first strip, a number of bits used by the strip located to the left of the first strip, and an encoding parameter for encoding the strip located to the left of the first strip, determining the encoding parameter predicted value; or
based on a determination that the quota of the strip located above the first strip is not zero, and that the quota of the strip located to the left of the first strip is zero, and based on the quota of the first strip, the number of bits that usable by the first strip, the quota of the strip located above the first strip, a number of bits used by the strip located above the first strip, and an encoding parameter for encoding the strip located above the first strip, determining the encoding parameter predicted value; and
determining the adjustment value based on the encoding parameter predicted value and a second encoding parameter for encoding a second strip, the second strip being a last strip in already encoded strips included in the frame.

### Claim 6 (depends on 4)

The data rate control method of claim 4, wherein determining the adjustment value based on the number of bits used by the at least one of the strip located to the left of the first strip and the strip located above the first strip, which has the zero quota, comprises:
based on a determination that quotas of both of the strip located to the left of the first strip and the strip located above the first strip are zero, and based on a number of bits usable by the first strip, numbers of bits used by the strip located to the left of the first strip and the strip located above the first strip, and encoding parameters for encoding the strip located to the left of the first strip and the strip located above the first strip, determining an encoding parameter predicted value; or
based on a determination that the quota of the strip located to the left of the first strip is zero, the quota of the strip located above the first strip is not zero, and based on the number of bits usable by the first strip, a number of bits used by the strip located to the left of the first strip, and an encoding parameter for encoding the strip located to the left of the first strip, determining the encoding parameter predicted value; or
based on a determination that the quota of the strip located above the first strip is zero, the quota of the strip located to the left of the first strip is not zero, and based on the number of bits usable by the first strip, a number of bits used by the strip located above the first strip, and an encoding parameter for encoding the strip located above the first strip, determining the encoding parameter predicted value; and
determining the adjustment value based on the encoding parameter predicted value and a second encoding parameter for encoding a second strip, the second strip being a last strip in already encoded strips included in the frame.

### Claim 7 (depends on 1)

The data rate control method of claim 1, wherein determining the first encoding parameter based on the adjustment value comprises:
determining the first encoding parameter based on the adjustment value and a second encoding parameter, wherein the second encoding parameter is an encoding parameter for encoding a second strip, and wherein the second strip is a last strip in already encoded strips included in the frame.

### Claim 8 (depends on 7)

The data rate control method of claim 7,
wherein the first encoding parameter is a sum of the second encoding parameter and the adjustment value, and
wherein if a number of strips having not been encoded in the frame is not greater than a third predetermined value, and if a number of bits used by already encoded strips in the frame is greater than an allocated number of bits assigned to the already encoded strips in the frame, then the first encoding parameter is determined as a sum of the second encoding parameter, the adjustment value, and a fourth predetermined value that is greater than zero.

### Claim 9 (depends on 7)

The data rate control method of claim 7, further comprising:
based on a determination that the first encoding parameter falls out of a predetermined range of values for the first encoding parameter, limiting the first encoding parameter to be within the predetermined range of values.

### Claim 10 (depends on 9)

The data rate control method of claim 9, wherein before determining the first encoding parameter, the method further comprises adjusting the predetermined range of values for the first encoding parameter based on a result of encoding.

### Claim 11 (depends on 10)

The data rate control method of claim 10, wherein adjusting the predetermined range of values for the first encoding parameter comprises:
during an encoding process of the frame, based on a determination that there is a continuous occurrence of a situation where the number of bits used by already encoded strips is smaller than a number of bits allocated to already encoded strips in the frame, reducing a lower limit of the predetermined range of values for the first encoding parameter by a fifth predetermined value; or
during the encoding process of the frame, based on a determination that there is a continuous occurrence of a situation where the number of bits used by already encoded strips is greater than the number of bits allocated to already encoded strips in the frame, increasing an upper limit of the predetermined range of values by a seventh predetermined value.

### Claim 12 (depends on 1)

The data rate control method of claim 1, further comprising:
determining a quota for each strip included in the frame.

### Claim 13 (depends on 12)

The data rate control method of claim 12, wherein determining the quota for each strip included in the frame comprises:
determining the quota for each strip of the frame based on characteristics of data of each strip of the frame; or
determining the quota for each strip of the frame based on a location of each strip in the frame or pre-configured information.

### Claim 14 (depends on 12)

The data rate control method of claim 12, further comprising:
determining a number of bits corresponding to each quota.

### Claim 15 (depends on 14)

The data rate control method of claim 14,
wherein when the frame includes noise strips:
determining the number of bits corresponding to each quota of each noise strip included in the frame based on a number of bits usable for encoding all of the noise strips included in the frame in an allocated number of bits assigned to the frame, a sum of quotas of all of the noise strips included in the frame, and a number of noise strips in the frame having zero quotas; and
determining the number of bits corresponding to each quota of each non-noise strip included in the frame based on a number of bits usable for encoding all of non-noise strips in the frame in an allocated number of bits assigned to the frame, a sum of the quotas of all of the non-noise strips in the frame, and a number of non-noise strips in the frame having zero quotas,
wherein when the frame does not include a noise strip:
determining the number of bits corresponding to each quota based on a number of bits allocated to the frame, a sum of quotas of all of the non-noise strips included in the frame, and the number of non-noise strips in the frame having zero quotas, and
wherein when the frame does not include a non-noise strip;
determining a number of bits for encoding each zero strip included in a zero strip row in the frame to be a tenth predetermined value; and
determining the number of bits corresponding to each quota based on the number of bits allocated to the frame, a number of bits used for encoding zero strips of all zero strip rows in the frame, a number of zero strips in all of the zero strip rows of the frame, a sum of quotas of all of the non-noise strips in the frame, and a number of non-noise strips in the frame having zero quotas.

### Claim 16 (depends on 1)

The data rate control method of claim 1, further comprising:
determining an initial encoding parameter.

### Claim 17 (depends on 1)

The data rate control method of claim 1, further comprising:
determining a range of values for an initial encoding parameter.

### Claim 18 (depends on 1)

The data rate control method of claim 1, further comprising:
based on a determination that a strip located to the left of a third strip that has not been encoded in the frame and a strip located above the third strip both satisfy a second condition, determining a third encoding parameter used for encoding the third strip to be an initial encoding parameter,
wherein the strip to the left of the third strip satisfying the second condition indicates that the third strip is a number one strip in a strip row in which the third strip is located, and
wherein the strip located above the third strip satisfying the second condition indicates that the strip row in which the third strip is located is a number one strip row in the frame, or when the third strip is a non-noise strip, a strip row located above the third strip is a noise strip row, or when the third strip is a noise strip, the strip row located above the third strip is a non-noise strip row.

### Claim 19 (depends on 1)

The data rate control method of claim 1,
wherein based on a determination that an average value of complexities of strips included in a first strip row of the frame is greater than a fifteenth predetermined value, and that a number of strips included in the first strip row that have complexities greater than a sixteenth predetermined value is greater than a seventeenth predetermined value, the first strip row is a noise strip row, and strips included in the noise strip row are noise strips;
based on a determination that the average value of the complexities of strips included in the first strip row is not greater than the fifteenth predetermined value, or that the number of strips included in the first strip row that have complexities greater than the sixteenth predetermined value is not greater than the seventeenth predetermined value, or that the average value of the complexities is not greater than the fifteenth predetermined value and that the number of strips included in the first strip row that have complexities greater than the sixteenth predetermined value is not greater than the seventeenth predetermined value, then the first strip row is a non-noise strip row, and strips included in the non-noise strip row are non-noise strips;
based on a determination that a complexity of a fourth strip in the non-noise strip row is greater than an eighteenth predetermined value, the eighteenth predetermined value not smaller than the sixteenth predetermined value, then the fourth strip is a non-noise strip including regular high-frequency components; and
based on a determination that a complexity of each strip in the non-noise strip row is zero, then the non-noise strip row is a zero strip row, and strips included in the zero strip row are zero strips.

### Claim 20

A computer system, comprising:
a storage device configured to store computer-executable instructions; and
a processor configured to access the storage device and to execute the computer-executable instructions to perform a plurality of operations, the operations comprising:
determining an adjustment value of a first encoding parameter for encoding a first strip based on a quota of the first strip included in a frame that has not been encoded and a quota of at least one already encoded strip included in the frame, at least one of the quota of the first strip and the quota of the at least one already encoded strip relating to a number of shares of bits used for encoding a strip; and
determining the first encoding parameter based on the adjustment value.
