Patentable/Patents/US-9832478
US-9832478

Video encoding method and apparatus for determining size of parallel motion estimation region based on encoding related information and related video decoding method and apparatus

PublishedNovember 28, 2017
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

One exemplary video encoding method has the following steps: determining a size of a parallel motion estimation region according to encoding related information; and encoding a plurality of pixels by at least performing motion estimation based on the size of the parallel motion estimation region. One exemplary video decoding method has the following steps: decoding a video parameter stream to obtain a decoded size of a parallel motion estimation region; checking validity of the decoded size of the parallel motion estimation region, and accordingly generating a checking result; when the checking result indicates that the decoded size of the parallel motion estimation region is invalid, entering an error handling process to decide a size of the parallel motion estimation; and decoding a plurality of pixels by at least performing motion estimation based on the decided size of the parallel motion estimation region.

Patent Claims
8 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A video encoding method, comprising: determining a size of a parallel motion estimation region according to encoding related information, wherein the encoding related information comprises at least one of an encoding type, information of an encoding application, and external system information; encoding a plurality of pixels by at least performing motion estimation based on the size of the parallel motion estimation region; and encoding the size of the parallel motion estimation region into a video parameter stream; wherein when the encoding related information includes the encoding type, the encoding type includes at least one of a reference type of a frame, a slice type of a slice, and a number of processing cores of a dedicated video encoder; when the reference type is used to determine the size of the parallel motion estimation region, the size of the parallel motion estimation region determined for the frame being a reference frame is smaller than the size of the parallel motion estimation region determined for the frame being a non-reference frame; when the slice type is used to determine the size of the parallel motion estimation region, the size of the parallel motion estimation region determined for the slice being a predicted (P) slice is smaller than the size of the parallel motion estimation region determined for the slice being a bi-directional predicted (B) slice; and when the number of processing cores of the dedicated video encoder is used to determine the size of the parallel motion estimation region, the size of the parallel motion estimation region is positively correlated to the number of processing cores of the dedicated video encoder.

Plain English Translation

A video encoding method determines the size of a parallel motion estimation region based on encoding-related information. This information includes the frame reference type (I, P, or B frame), slice type (P or B slice), or the number of processing cores in a dedicated video encoder. The encoding method then encodes multiple pixels using motion estimation, using the determined region size. The region size is also encoded into a video parameter stream. If the frame is a reference frame, the region size is smaller than if it's a non-reference frame. P slices have smaller region sizes than B slices. The region size increases with the number of processing cores.

Claim 2

Original Legal Text

2. The video encoding method of claim 1 , wherein when the encoding related information includes the information of the encoding application, the information of the encoding application includes at least one of a performance mode, a latency mode, and an encoding scenario; and when the performance mode is used to determine the size of the parallel motion estimation region, the size of the parallel motion estimation region is negatively correlated to a performance degree indicated by the performance mode.

Plain English Translation

The video encoding method of claim 1 further uses information about the encoding application to determine the size of the parallel motion estimation region. This application information includes the performance mode (e.g., high quality, low latency), a latency mode, or the encoding scenario. If a performance mode is used, the region size decreases as the desired performance level increases. So, a high-performance mode will lead to a smaller region size compared to a low-performance mode, enabling faster encoding at the expense of quality.

Claim 3

Original Legal Text

3. The video encoding method of claim 1 , wherein when the encoding related information includes the external system information, the external system information includes at least one of a bandwidth status, a system power status, a system timing, and a number of processing cores of a general purpose processor; when the bandwidth status is used to determine the size of the parallel motion estimation region, the size of the parallel motion estimation region is negatively correlated to a system bandwidth indicated by the bandwidth status; when the system power status is used to determine the size of the parallel motion estimation region, the size of the parallel motion estimation region is negatively correlated to a remaining battery capacity indicated by the system power status; when the system timing is used to determine the size of the parallel motion estimation region, the size of the parallel motion estimation region is negatively correlated to a latency amount indicated by the system timing; and when the number of processing cores of the general purpose processor is used to determine the size of the parallel motion estimation region, the size of the parallel motion estimation region is positively correlated to the number of processing cores of the general purpose processor.

Plain English Translation

The video encoding method of claim 1 further uses external system information to determine the size of the parallel motion estimation region. This external information includes bandwidth status, system power status (battery level), system timing (latency), or the number of processing cores in a general-purpose processor. The region size decreases as bandwidth decreases, or as battery level decreases, or as latency increases. The region size increases with the number of processing cores in the general-purpose processor. This allows the encoder to dynamically adjust the parallel motion estimation region size based on system conditions.

Claim 4

Original Legal Text

4. The video encoding method of claim 1 , wherein the step of determining the size of the parallel motion estimation region comprises: adjusting the size of the parallel motion estimation region at a frame level.

Plain English Translation

The video encoding method of claim 1 determines the size of the parallel motion estimation region by adjusting it at the frame level. Thus, the size of the parallel motion estimation region can change on a per-frame basis, allowing for dynamic adaptation to video content characteristics or changing system conditions.

Claim 5

Original Legal Text

5. The video encoding method of claim 1 , wherein the step of determining the size of the parallel motion estimation region comprises: adjusting the size of the parallel motion estimation region at a sequence level.

Plain English Translation

The video encoding method of claim 1 determines the size of the parallel motion estimation region by adjusting it at the sequence level. Thus, the parallel motion estimation region size is set for an entire sequence of video frames, providing a consistent setting throughout the entire video, rather than changing it on the fly.

Claim 6

Original Legal Text

6. A video decoding method, comprising: decoding a video parameter stream to obtain a decoded size of a parallel motion estimation region and a decoded size of a largest coding unit (LCU) and to further obtain a parity check result associated with the decoded size of the parallel motion estimation region; checking validity of the decoded size of the parallel motion estimation region, and accordingly generating a checking result, wherein the step of checking validity of the decoded size of the parallel motion estimation region comprises: comparing the decoded size of the parallel motion estimation region with the decoded size of the LCU to determine if the decoded size of the parallel motion estimation region contains at least one error bit, wherein when the decoded size of the parallel motion estimation region is larger than the decoded size of the LCU, the checking result indicates that the decoded size of the parallel motion estimation region is invalid due to having the at least one error bit included therein; and checking the parity check result; when the checking result indicates that the decoded size of the parallel motion estimation region fails to pass a parity check but falls within a range having the decoded size of the LCU as an upper bound, ignoring the checking result, and utilizing the decoded size of the parallel motion estimation region as a decided size of the parallel motion estimation region; and decoding a plurality of pixels by at least performing motion compensation based on the decided size of the parallel motion estimation region.

Plain English Translation

A video decoding method first decodes a video parameter stream to obtain the size of a parallel motion estimation region, the size of the largest coding unit (LCU), and a parity check result for the motion estimation region size. It checks if the decoded motion estimation region size is valid. Part of this involves comparing the motion estimation region size to the LCU size; if the motion estimation region size is larger than the LCU, it's considered invalid due to potential errors. If the parity check fails but the motion estimation region size is still smaller than the LCU, the method ignores the parity check failure. The method then decodes pixels using motion compensation based on the decided motion estimation region size.

Claim 7

Original Legal Text

7. A video encoding apparatus, comprising: an encoder parameter setting circuit, arranged to determine a size of a parallel motion estimation region according to encoding related information, wherein the encoding related information comprises at least one of an encoding type, information of an encoding application, and external system information; and a video encoder, arranged to encode a plurality of pixels by at least performing motion estimation based on the size of the parallel motion estimation region, and encode the size of the parallel motion estimation region into a video parameter stream; wherein when the encoding related information includes the encoding type, the encoding type includes at least one of a reference type of a frame, a slice type of a slice, and a number of processing cores of a dedicated video encoder; when the reference type is used to determine the size of the parallel motion estimation region, the size of the parallel motion estimation region determined for the frame being a reference frame is smaller than the size of the parallel motion estimation region determined for the frame being a non-reference frame; when the slice type is used to determine the size of the parallel motion estimation region, the size of the parallel motion estimation region determined for the slice being a predicted (P) slice is smaller than the size of the parallel motion estimation region determined for the slice being a bi-directional predicted (B) slice; and when the number of processing cores of the dedicated video encoder is used to determine the size of the parallel motion estimation region, the size of the parallel motion estimation region is positively correlated to the number of processing cores of the dedicated video encoder.

Plain English Translation

A video encoding apparatus includes an encoder parameter setting circuit and a video encoder. The parameter setting circuit determines the size of a parallel motion estimation region based on encoding-related information. This information includes the frame reference type, slice type, or the number of processing cores in a dedicated video encoder. The video encoder encodes pixels using motion estimation, using the determined region size, and encodes the region size into a video parameter stream. If the frame is a reference frame, the region size is smaller than if it's a non-reference frame. P slices have smaller region sizes than B slices. The region size increases with the number of processing cores.

Claim 8

Original Legal Text

8. A video decoding apparatus, comprising: an input interface circuit, arranged to receive an encoded video bitstream including a video parameter stream; and a video decoder, arranged to decode the video parameter stream to obtain a decoded size of a parallel motion estimation region and a decoded size of a largest coding unit (LCU); obtain a parity check result associated with the decoded size of the parallel motion estimation region; check the parity check result and further check validity of the decoded size of the parallel motion estimation region by at least comparing the decoded size of the parallel motion estimation region with the decoded size of the LCU to determine if the decoded size of the parallel motion estimation region contains at least one error bit, and accordingly generate a checking result, wherein when the decoded size of the parallel motion estimation region is larger than the decoded size of the LCU, the checking result indicates that the decoded size of the parallel motion estimation region is invalid due to having the at least one error bit included therein; ignore the checking result and utilize the decoded size of the parallel motion estimation region as a decided size of the parallel motion estimation region when the checking result indicates that the decoded size of the parallel motion estimation region fails to pass a parity check but falls within a range having the decoded size of the LCU as an upper bound; and decode a plurality of pixels of the encoded video bitstream by at least performing motion compensation based on the decided size of the parallel motion estimation region.

Plain English Translation

A video decoding apparatus includes an input interface circuit and a video decoder. The input interface receives an encoded video bitstream including a video parameter stream. The video decoder decodes the video parameter stream to obtain the size of a parallel motion estimation region, the size of the largest coding unit (LCU), and a parity check result for the motion estimation region size. It checks the parity check and also checks if the decoded motion estimation region size is valid by comparing it to the LCU size; if the motion estimation region size is larger than the LCU, it's considered invalid due to potential errors. If the parity check fails but the motion estimation region size is still smaller than the LCU, the apparatus ignores the parity check failure. Finally, the decoder decodes the bitstream using motion compensation based on the decided motion estimation region size.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

May 6, 2014

Publication Date

November 28, 2017

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Video encoding method and apparatus for determining size of parallel motion estimation region based on encoding related information and related video decoding method and apparatus” (US-9832478). https://patentable.app/patents/US-9832478

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/US-9832478. See llms.txt for full attribution policy.