Restrictions

Resolution Restrictions

Input image resolution::

10*6~8192*8192

When an API is called to implement the VPC function, the resolution requirements of each API may be different. For details, see the description of each API in VPC. When the input image format is YUV440SP or YUV440P, the maximum width of the image is 4096.

Output image resolution:

Model

Resolution Range

Atlas inference product

Atlas training product

10*6~4096*4096

Atlas A3 training product / Atlas A3 inference product

Atlas A2 training product / Atlas A2 inference product

Atlas 200I/500 A2 inference product

10*6~4096*8192

Restrictions on Image Formats, Width and Height Alignment, and Buffers

When the VPC processes images, the acldvppMalloc API needs to be called to allocate the input and output buffers on the device, and the acldvppFree API needs to be called to release the input and output buffers. The lifecycle of the buffers is managed by the user.

For details about the image format, see acldvppPixelFormat. For details about the width stride, height stride, and 8K, see Terminology.

For details about the restrictions on the image formats and width and height alignment, see Table 7 and Table 8. For details about the input image formats supported in the 8K scenario, see Table 9.

Table 1 Atlas A3 training product / Atlas A3 inference product and Atlas A2 training product / Atlas A2 inference product Restrictions on the input image format, width and height alignment, and buffer size

Input formats:

Input Width and Height Alignment

Input Width Stride, Height Stride, and Buffer Size

YUV400 8bit

No alignment requirement.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

YUV420SP NV12 8bit

YUV420SP NV21 8bit

Width: Must be a multiple of 2.

Height: Must be a multiple of 2.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride x Height stride x 3/2

YUV422SP 8bit

YVU422SP 8bit

Width: Must be a multiple of 2.

Height: No alignment requirements.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 2

YUV444SP 8bit

YVU444SP 8bit

No alignment requirement.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 3

YUV422Packed YUYV 8bit

YUV422Packed UYVY 8bit

YUV422Packed YVYU 8bit

YUV422Packed VYUY 8bit

Width: Must be a multiple of 2.

Height: No alignment requirements.

Width stride = Width × 2

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

YUV444Packed 8bit

RGB888

BGR888

No alignment requirement.

Width stride = Width × 3

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

ARGB8888

ABGR8888

RGBA8888

BGRA8888

No alignment requirement.

Width stride=Width x 4.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

YUV440SP 8bit

YVU440SP 8bit

Width: No alignment requirements.

Height: Must be a multiple of 2.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride × Height stride × 2

YVU420Planar

YUV420Planar

Width: Must be a multiple of 2. Height: Must be a multiple of 2.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 3/2

YVU422Planar

YUV422Planar

No alignment requirement.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 2

YVU444Planar

YUV444Planar

No alignment requirement.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 3

YVU444Packed 8bit

No alignment requirement.

Width stride: No alignment requirement. Width stride = Width × 3.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

YUV440Planar

YVU440Planar

Width: No alignment requirement, but the width must be ≤ 4096.

Height: Must be a multiple of 2.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 2

RGB888Planar

BGR888Planar

No alignment requirement.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 3

YUV400 FP32

RGB888 FP32

BGR888 FP32

No alignment requirement.

Width stride: No alignment requirement. Width stride = Width × 3. Height stride: No alignment requirement. The value is the same as height.

Buffer size (in bytes) = Width stride × Height stride

RGB888Planar FP32

BGR888Planar FP32

No alignment requirement.

Width stride: No alignment requirements, but the value must be the same as the width. Height stride: No alignment requirements, but the value must be the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 3

Table 2 Atlas A3 training product / Atlas A3 inference product and Atlas A2 training product / Atlas A2 inference product Restrictions on the output image format, width and height alignment, and buffer size

Output Format

Output Width and Height

Output Width Stride, Height Stride, and Buffer Size

YUV420SP NV12 8bit

YUV420SP NV21 8bit

Width: Must be a multiple of 2.

Height: Must be a multiple of 2.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride x Height stride x 3/2

YUV400 8bit

No alignment requirement.

Width stride: No alignment requirement. The value is the same as width. Height stride: No alignment requirement. The value is the same as height.

Buffer size (in bytes) = Width stride × Height stride

YUV422SP 8bit

YVU422SP 8bit

Width: Must be a multiple of 2.

Height: No alignment requirements.

Width stride: No alignment requirements, but the value must be the same as the width. Height stride: No alignment requirements, but the value must be the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 2

YUV444Packed 8bit

RGB888

BGR888

No alignment requirement.

Width stride = Width x 3. Height stride: No alignment requirement. The value is the same as height.

Buffer size (in bytes) = Width stride × Height stride

ARGB8888

ABGR8888

RGBA8888

BGRA8888

No alignment requirement.

Width stride = Width x 4. Height stride: No alignment requirement. The value is the same as height.

Buffer size (in bytes) = Width stride × Height stride

YVU444Packed

No alignment requirement.

Width stride = Width x 3. Height stride: No alignment requirement. The value is the same as height.

Buffer size (in bytes) = Width stride × Height stride

RGB888Planar

BGR888Planar

No alignment requirement.

Width stride: No alignment requirements, but the value must be the same as the width. Height stride: No alignment requirements, but the value must be the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 3

YUV400 FP32

RGB888 FP32

BGR888 FP32

No alignment requirement.

Width stride: No alignment requirement. Width stride = Width × 3. Height stride: No alignment requirement. The value is the same as height.

Buffer size (in bytes) = Width stride × Height stride

RGB888Planar FP32

BGR888Planar FP32

No alignment requirement.

Width stride: No alignment requirements, but the value must be the same as the width. Height stride: No alignment requirements, but the value must be the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 3

Table 3 Atlas 200I/500 A2 inference product Restrictions on the input image format, width and height alignment, and buffer size

Input formats:

Input Width and Height Alignment

Input Width Stride, Height Stride, and Buffer Size

YUV400 8bit

No alignment requirement.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

YUV420SP NV12 8bit

YUV420SP NV21 8bit

Width: Must be a multiple of 2.

Height: Must be a multiple of 2.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride x Height stride x 3/2

YUV422SP 8bit

YVU422SP 8bit

Width: Must be a multiple of 2.

Height: No alignment requirements.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 2

YUV444SP 8bit

YVU444SP 8bit

No alignment requirement.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 3

YUV422Packed YUYV 8bit

YUV422Packed UYVY 8bit

YUV422Packed YVYU 8bit

YUV422Packed VYUY 8bit

Width: Must be a multiple of 2.

Height: No alignment requirements.

Width stride = Width × 2

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

YUV444Packed 8bit

RGB888

BGR888

No alignment requirement.

Width stride = Width × 3

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

ARGB8888

ABGR8888

RGBA8888

BGRA8888

No alignment requirement.

Width stride=Width x 4.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

YUV440SP 8bit

YVU440SP 8bit

Width: No alignment requirements.

Height: Must be a multiple of 2.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride × Height stride × 2

YVU420Planar

YUV420Planar

Width: Must be a multiple of 2. Height: Must be a multiple of 2.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 3/2

YVU422Planar

YUV422Planar

No alignment requirement.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 2

YVU444Planar

YUV444Planar

No alignment requirement.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 3

YVU444Packed 8bit

No alignment requirement.

Width stride: No alignment requirement. Width stride = Width × 3.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

YUV440Planar

YVU440Planar

Width: No alignment requirement, but the width must be ≤ 4096.

Height: Must be a multiple of 2.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 2

RGB888Planar

BGR888Planar

No alignment requirement.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 3

Table 4 Atlas 200I/500 A2 inference product Restrictions on the output image format, width and height alignment, and buffer size

Output Format

Output Width and Height

Output Width Stride, Height Stride, and Buffer Size

YUV420SP NV12 8bit

YUV420SP NV21 8bit

Width: Must be a multiple of 2.

Height: Must be a multiple of 2.

Width stride: No alignment requirements. The value is the same as the width.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride x Height stride x 3/2

YUV400 8bit

No alignment requirement.

Width stride: No alignment requirement. The value is the same as width. Height stride: No alignment requirement. The value is the same as height.

Buffer size (in bytes) = Width stride × Height stride

YUV422SP 8bit

YVU422SP 8bit

Width: Must be a multiple of 2.

Height: No alignment requirements.

Width stride: No alignment requirements, but the value must be the same as the width. Height stride: No alignment requirements, but the value must be the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 2

YUV444Packed 8bit

RGB888

BGR888

No alignment requirement.

Width stride = Width x 3. Height stride: No alignment requirement. The value is the same as height.

Buffer size (in bytes) = Width stride × Height stride

ARGB8888

ABGR8888

RGBA8888

BGRA8888

No alignment requirement.

Width stride = Width x 4. Height stride: No alignment requirement. The value is the same as height.

Buffer size (in bytes) = Width stride × Height stride

YVU444Packed

No alignment requirement.

Width stride = Width x 3. Height stride: No alignment requirement. The value is the same as height.

Buffer size (in bytes) = Width stride × Height stride

RGB888Planar

BGR888Planar

No alignment requirement.

Width stride: No alignment requirements, but the value must be the same as the width. Height stride: No alignment requirements, but the value must be the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 3

Table 5 Atlas inference product Restrictions on the input image format, width and height alignment, and buffer size

Input formats:

Input Width and Height Alignment

Input Width Stride, Height Stride, and Buffer Size

YUV400 8bit

No alignment requirement.

Width stride: Round up the width to the nearest multiple of 16.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

YUV420SP NV12 8bit

YUV420SP NV21 8bit

Width: Must be a multiple of 2.

Height: Must be a multiple of 2.

Width stride: Round up the width to the nearest multiple of 16.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride x Height stride x 3/2

YUV422SP 8bit

YVU422SP 8bit

Width: Must be a multiple of 2.

Height: No alignment requirements.

Width stride: Round up the width to the nearest multiple of 16.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 2

YUV444SP 8bit

YVU444SP 8bit

No alignment requirement.

Width stride: Round up the width to the nearest multiple of 16.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 3

YUV422Packed YUYV 8bit

YUV422Packed UYVY 8bit

YUV422Packed YVYU 8bit

YUV422Packed VYUY 8bit

Width: Must be a multiple of 2.

Height: No alignment requirements.

Width stride: Round up the width to the nearest multiple of 16 and multiply the result by 2.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

YUV444Packed 8bit

RGB888

BGR888

No alignment requirement.

Width stride: Round up the width to the nearest multiple of 16 and multiply the result by 3.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

ARGB8888

ABGR8888

RGBA8888

BGRA8888

No alignment requirement.

Width stride: Round up the width to the nearest multiple of 16 and multiply the result by 4.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

YUV440SP 8bit

YVU440SP 8bit

Width: No alignment requirements.

Height: Must be a multiple of 2.

Width stride: Round up the width to the nearest multiple of 16.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride × Height stride × 2

Table 6 Atlas inference product Restrictions on the output image format, width and height alignment, and buffer size

Output Format

Output Width and Height

Output Width Stride, Height Stride, and Buffer Size

YUV420SP NV12 8bit

YUV420SP NV21 8bit

Width: Must be a multiple of 2.

Height: Must be a multiple of 2.

Width stride: Round up the width to the nearest multiple of 16.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride x Height stride x 3/2

YUV400 8bit

No alignment requirement.

Width stride: Round up the width to the nearest multiple of 16.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

YUV422SP 8bit

YVU422SP 8bit

Width: Must be a multiple of 2.

Height: No alignment requirements.

Width stride: Round up the width to the nearest multiple of 16.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride × 2

YUV444Packed 8bit

RGB888

BGR888

No alignment requirement.

Width stride: Round up the width to the nearest multiple of 16 and multiply the result by 3.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

ARGB8888

ABGR8888

RGBA8888

BGRA8888

No alignment requirement.

Width stride: Round up the width to the nearest multiple of 16 and multiply the result by 4.

Height stride: No alignment requirements. The value is the same as the height.

Buffer size (in bytes) = Width stride × Height stride

Table 7 Atlas training product Restrictions on the input image format, width and height alignment, and buffer size

Input formats:

Input Width and Height Alignment

Input Width Stride, Height Stride, and Buffer Size

YUV400 8bit

No alignment requirement.

Width stride: Round up the width to the nearest multiple of 16.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride x Height stride x 3/2

YUV420SP NV12 8bit

YUV420SP NV21 8bit

Width: Must be a multiple of 2.

Height: Must be a multiple of 2.

Width stride: Round up the width to the nearest multiple of 16.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride x Height stride x 3/2

YUV422SP 8bit

YVU422SP 8bit

Width: Must be a multiple of 2.

Height: No alignment requirements.

Width stride: Round up the width to the nearest multiple of 16.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride × Height stride × 2

YUV444SP 8bit

YVU444SP 8bit

No alignment requirement.

Width stride: Round up the width to the nearest multiple of 16.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride × Height stride × 3

YUV422Packed YUYV 8bit

YUV422Packed UYVY 8bit

YUV422Packed YVYU 8bit

YUV422Packed VYUY 8bit

Width: Must be a multiple of 2.

Height: No alignment requirements.

Width stride: Round up the width to the nearest multiple of 16 and multiply the result by 2.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride × Height stride

YUV444Packed 8bit

RGB888

BGR888

No alignment requirement.

Width stride: Round up the width to the nearest multiple of 16 and multiply the result by 3.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride × Height stride

ARGB8888

ABGR8888

RGBA8888

BGRA8888

No alignment requirement.

Width stride: Round up the width to the nearest multiple of 16 and multiply the result by 4.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride × Height stride

Table 8 Atlas training product Restrictions on the output image format, width and height alignment, and buffer size

Output Format

Output Width and Height

Output Width Stride, Height Stride, and Buffer Size

YUV420SP NV12 8bit

Width: Must be a multiple of 2.

Height: Must be a multiple of 2.

Width stride: Round up the width to the nearest multiple of 16.

Height stride: Round up the height to the nearest multiple of 2.

Buffer size (in bytes) = Width stride x Height stride x 3/2

YUV420SP NV21 8bit

In the 8K scenario, the input image formats supported by each model are different, as listed in the following table.

Table 9 Input image formats supported by each model in the 8K scenario

Model

Supported Input Image Formats

Atlas training product

YUV420SP NV12 8-bit, YUV420SP NV21 8-bit

Atlas A3 training product / Atlas A3 inference product

Atlas A2 training product / Atlas A2 inference product

Atlas 200I/500 A2 inference product

Atlas inference product

  • YUV400 8bit
  • YUV420SP NV12 8-bit, YUV420SP NV21 8-bit
  • YUV422SP 8-bit, YVU422SP 8-bit
  • YUV444SP 8-bit, YVU444SP 8-bit
  • YUV422P YUYV 8-bit, YUV422P UYVY 8-bit, YUV422P YVYU 8-bit, YUV422P VYUY 8-bit

The minimum or maximum width stride and height stride vary according to product models.

  • The minimum width stride is 10 and the maximum width stride is 16384. (16384=4096 x 4. For a 4096-pixel ARGB image, one pixel occupies four bytes, and a line of pixels occupies 4096 x 4.) The minimum height stride is 6 and the maximum height stride is 16384. The following models are supported:

    Atlas A3 training product / Atlas A3 inference product

    Atlas A2 training product / Atlas A2 inference product

    Atlas 200I/500 A2 inference product

  • The minimum width stride is 32 and the maximum width stride is 16384. (16384=4096 x 4. For a 4096-pixel ARGB image, one pixel occupies four bytes, and a line of pixels occupies 4096 x 4.) The minimum height stride is 6 and the maximum height stride is 16384. The following models are supported:

    Atlas inference product

    Atlas training product

Restrictions on Image Cropping and Pasting

Product Version

Restrictions on Image Cropping and Pasting

Atlas training product

  • The cropping ROI cannot be larger than the input image.
  • The paste ROI must not be larger than the output image. A maximum of 256 paste ROIs are supported.
  • Round up the left offset of the paste ROI to the nearest multiple of 16.
    • The pasted ROI can locate on the leftmost side of the output image, that is, with zero left offset relative to the output image.
    • Round up the output paste ROI width to the nearest multiple of 16. Otherwise, padding is performed to meet the alignment requirement. For details, see Figure 4 and Figure 5. The green box next to the pasting area indicates invalid data.
    • In the proportional resizing scenario, the left offset of the pasted image is 16-pixel aligned. If the acldvppVpcCropResizePasteAsync interface is directly called to implement the resizing function, the pasted image may not be in the center of the output image. In this case, you can use the cropping, resizing, and padding functions together (by calling the acldvppVpcBatchCropResizeMakeBorderAsync interface). Implements proportional scaling.
  • The restrictions on the odd and even numbers of the crop and paste ROIs are as follows:

    Only the output image is in YUV420SP format. The left offset and top offset of the paste ROI must be even numbers, and the right offset and bottom offset must be odd numbers.

  • For image resizing, the aspect ratio ranges of the paste and crop ROIs are [1/32, 16].
  • In the inference scenario, when the VPC output is used as the input for model inference, the width and height of the paste ROI are 16 x 2 aligned. If the width and height of the valid paste ROI are not 16 x 2 aligned, some invalid padding data exists in the paste ROI. To ensure the inference accuracy, you need to use the AIPP to crop the valid ROI and remove the invalid data.

Atlas inference product

  • The cropping ROI cannot be larger than the input image.
  • The paste ROI must not be larger than the output image. A maximum of 256 paste ROIs are supported.
  • Round up the left offset of the paste ROI to the nearest multiple of 16.
    • The pasted ROI can locate on the leftmost side of the output image, that is, with zero left offset relative to the output image.
    • Round up the output paste ROI width to the nearest multiple of 16. Otherwise, padding is performed to meet the alignment requirement. For details, see Figure 4 and Figure 5. The green box next to the pasting area indicates invalid data.
    • In the proportional resizing scenario, the left offset of the pasted image is 16-pixel aligned. If the acldvppVpcCropResizePasteAsync interface is directly called to implement the resizing function, the pasted image may not be in the center of the output image. In this case, you can use the cropping, resizing, and padding functions together (by calling the acldvppVpcBatchCropResizeMakeBorderAsync interface). Implements proportional scaling.
  • The restrictions on the odd and even numbers of the crop and paste ROIs are as follows:

    If the output image is in YUV420SP format, the left offset and top offset of the paste ROI must be even numbers, and the right offset and bottom offset must be odd numbers.

    If the output image is in YUV422SP format, the left offset must be an even number and the right offset must be an odd number.

    For other formats, there are no such limits.

Atlas 200I/500 A2 inference product

  • The cropping ROI cannot be larger than the input image.
  • The paste ROI must not be larger than the output image. A maximum of 256 paste ROIs are supported.
  • The restrictions on the odd and even numbers of the crop and paste ROIs are as follows:

    The cropping start coordinates are not restricted to odd or even numbers.

    When the output image is in YUV420 format, the left offset and top offset of the paste ROI must be even numbers, and the right offset and bottom offset must be odd numbers.

    YUV422: The left offset must be an even number and the right offset an odd number.

Atlas A2 training product / Atlas A2 inference product

  • The cropping ROI cannot be larger than the input image.
  • The paste ROI must not be larger than the output image. A maximum of 256 paste ROIs are supported.
  • The restrictions on the odd and even numbers of the crop and paste ROIs are as follows:

    The cropping start coordinates are not restricted to odd or even numbers.

    If the output image is in YUV420 format, the left offset and top offset of the paste ROI must be even numbers, and the right offset and bottom offset must be odd numbers.

    YUV422: The left offset must be an even number and the right offset an odd number.

Atlas A3 training product / Atlas A3 inference product

  • The cropping ROI cannot be larger than the input image.
  • The paste ROI must not be larger than the output image. A maximum of 256 paste ROIs are supported.
  • The restrictions on the odd and even numbers of the crop and paste ROIs are as follows:

    The cropping start coordinates are not restricted to odd or even numbers.

    If the output image is in YUV420 format, the left offset and top offset of the paste ROI must be even numbers, and the right offset and bottom offset must be odd numbers.

    YUV422: The left offset must be an even number and the right offset an odd number.

Restrictions on Downsampling of YUV Images

VPC converts the input image format to YUV444 or RGB for internal processing based on the input or output image format. YUV444 or RGB output format has no restriction on the odd and even numbers of the width and height, while the YUV420SP or YUV422SP output format, which performs downsampling processing, has such restrictions due to the data format. Therefore, abnormal data may exist on the output image boarders.

Figure 1 Example of abnormal images

The root cause is that during the computation, when the output image is at an odd start point, the image is correct for the YUV444 format. However, when the YUV420SP format is downsampled, the odd and even lines share the same UV. In this case, the Y of the start line and the UV of the previous line form a new pixel and abnormal data is generated.