Region Motion Vector for Moving Image Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In moving image encoding, the current techniques often result in encoding errors and subjective image quality deterioration due to the recognition of slice boundaries, especially when inter prediction encoding is performed across slice boundaries, leading to visually noticeable artifacts.
Innovation Solution
A moving image encoding device that calculates a region motion vector representing the motion of a region including blocks in one slice when an encoding object block is positioned near a slice boundary, using this vector as a prediction vector to encode the difference between the motion vector of the encoding object block and a second prediction vector obtained from surrounding encoded blocks, thereby minimizing encoding errors and improving image quality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If inter prediction encoding is performed across slice boundaries using conventional block matching, then encoding speed is maintained, but encoding errors increase and subjective image quality deteriorates due to slice boundary artifacts
Solution Approach 1:
The patent introduces a region motion vector as an intermediary element that spans across slice boundaries. This region motion vector acts as a mediator that captures the actual motion trend of the region, allowing the encoder to reference motion information from adjacent slices without directly violating slice boundary constraints. The region motion vector serves as a bridge between slices, enabling accurate inter-picture prediction while avoiding the artifacts caused by conventional block-matching methods that respect slice boundaries.
2Device complexity
If slice boundaries are strictly enforced during inter prediction encoding, then encoding complexity is reduced and processing is simplified, but visual artifacts become noticeable and image quality deteriorates
Solution Approach 1:
The patent segments the motion representation into two levels: region motion vectors that span across slice boundaries and block motion vectors that operate within slices. This segmentation allows the system to maintain simple slice-based processing while incorporating cross-slice motion information through the region motion vector. The region motion vector provides a coarse-grained motion description that can be derived once per region, reducing the overall encoding complexity compared to performing block-matching across all slice boundaries.
3Ease of operation
If conventional block matching is used for motion estimation near slice boundaries, then processing simplicity is maintained, but encoding errors increase due to inability to capture actual motion trends
Solution Approach 1:
The patent performs preliminary calculation of region motion vectors that represent the actual motion trends of regions spanning multiple slices. This preliminary action occurs before the detailed block-matching process, providing a head start for motion estimation near slice boundaries. By pre-establishing the region motion vector that captures the true motion behavior, the subsequent encoding process can reference this reliable motion information, significantly improving encoding reliability without adding complex processing steps during the main encoding loop.
Data Source
AI summary
A moving image encoding device includes a processor; and a memory which stores a plurality of instructions, which when executed by the processor, cause the processor to execute, obtaining a region motion vector that represents a motion of a region including a block in a first slice, in a case where an encoding object block is included in a block line in a second slice, the block line contacting with a boundary between the first slice and the second slice in an encoding object picture, the encoding object picture being divided into a plurality of slices each of which includes a plurality of blocks; obtaining a motion vector of the encoding object block by using the region motion vector as a first prediction vector of the encoding object block; obtaining a second prediction vector from a motion vector of one or more encoded blocks; and obtaining an encoding result.


