VisualApplets 구현

VisualApplets 예제 디자인에는 기하학적 변환(geometric transformation), 기하학적 변환 및 Distortion Correction의 결합, 그리고 이미지 모멘트(image moments)로 제어되는 기하학적 변환을 수행하는 구현이 포함되어 있습니다. 기하학적 변환은 타겟-투-소스 매핑(target-to-source mapping), 즉 역방향 매핑으로 구현됩니다. 이 방법은 PC로 전송되는 타겟 이미지에 누락된 픽셀이 없도록 보장하는 데 필수적입니다 [Bur06]. 당사는 연산자 FrameBufferRandomRead를 기반으로 하는 역기하학적 변환과, 대체 방안으로 연산자 PixelReplicator를 기반으로 하는 역기하학적 변환을 구현했습니다. 차이점에 대해서는 이어지는 하위 섹션에서 설명합니다. 이 하위 섹션에서는 예제 디자인에 대해 자세히 소개합니다.

FrameBufferRandomRead를 이용한 기하학적 변환(Geometric Transformation)
간략한 설명

파일: \examples\Processing\Geometry\GeometricTransformation\GeometricTransformation_ FrameBufferRandomRead.va

Default Platform: mE5-MA-VCL

간단한 설명

기하학적 변환(Geometric Transformation): 연산자 FrameBufferRandomRead를 사용한 회전, 이동, Scaling

VA 디자인 "Geometric Transformation_FrameBufferRandomRead.va"에서는 타겟-투-소스 매핑 방식으로 기하학적 변환이 구현됩니다. 이 방법은 PC로 전송되는 타겟 이미지에 누락된 픽셀이 없음을 보장하는 데 필수적입니다 [Bur06]. 소스 이미지의 좌표는 모든 타겟 좌표에 대한 역기하학적 변환으로 계산됩니다 . 좌표의 위치에서 소스 이미지의 픽셀 값은 Parallelism 1로 연산자를 통해 읽어옵니다 FrameBufferRandomRead . 이 연산자는 각 픽셀을 개별적으로 DRAM에 저장하고 픽셀을 순차적으로 읽습니다. 계산된 소스 이미지 좌표가 소스 이미지의 픽셀 좌표와 일치하지 않을 때, 선형 보간법(linear interpolation)은 PC로 출력되는 이미지의 픽셀 값을 보정하는 데 도움을 줍니다. 그림 297 에서 기본 디자인 구조를 확인할 수 있습니다.

VA 디자인 "GeometricTransformation_FrameBufferRandomRead.va"의 기본 디자인 구조

그림 297. VA 디자인 "GeometricTransformation_FrameBufferRandomRead.va"의 기본 디자인 구조


이 디자인은 Camera Link Base 구성의 카메라 인터페이스(BaseGrayCamera_Camera)와, 획득한 이미지의 Scaling, 회전 및 이동이 수행되는 HierarchicalBox Geometric Transformation으로 구성됩니다. 연산자 ImageBuffer_Buffer는 이미지를 저장할 수 있는 기능을 제공합니다. DMA(연산자 DmaToPC_DMA0)를 통해 이미지가 PC로 전송됩니다.

298에서 HierarchicalBox GeometricTransformation의 내용을 확인할 수 있습니다. 매개변수 IntParamTranslator, FloatParamReference 및 IntParamReference를 사용하면 기하학적 변환의 관련 매개변수(Scaling, 회전, 이동 값 및 이미지 치수)를 매우 편리하게 설정할 수 있습니다. Property는

HierarchicalBox "GeometricTransformation"의 내용

그림 298. HierarchicalBox "GeometricTransformation"의 내용


이 SourceImage 는 버퍼에 선형적으로 기록됩니다 FrameBufferRandomRead. 각 픽셀과 함께 다음 인접 픽셀들이 2x2 커널(HierarchicalBox NextNeighbours)에 저장됩니다. 타겟 이미지의 좌표 (식 21) operator로 생성됩니다. CreateBlankImage, CoordinateX 및 CoordinateY HierarchicalBox 내의 OutputImage (HierarchicalBox에 포함됨 CoordinateTransformation) (그림참조. 299 및 300).

HierarchicalBox CoordinateTransformation의 콘텐츠

그림 299. HierarchicalBox CoordinateTransformation의 콘텐츠


HierarchicalBox OutputImage의 콘텐츠

그림 300. HierarchicalBox OutputImage의 콘텐츠


좌표 는 방정식에 따라 역방향으로 회전, 이동 및/또는 Scaling될 수 있습니다. 21. 회전 각도 및 이동과 Scaling을 위한 파라미터 및 는 앞서 설명한 대로 전송 파라미터를 통해 해당 상수를 설정하여 선택할 수 있습니다. 그림에서 301 에서 방정식의 VA 구현을 확인할 수 있습니다. 21 추가 Scaling 가능.

HierarchicalBox InverseTransformation의 콘텐츠

그림 301. HierarchicalBox InverseTransformation의 콘텐츠


역변환의 결과 좌표는 소스 좌표입니다 및 (식 21). HierarchicalBox에서 SplitFractionalAndIntegerBit (그림 298) 이러한 좌표의 정수부와 소수부 비트가 분리됩니다. 소스 이미지의 픽셀 위치에 해당하는 정수부 비트는 operator의 좌표 입력입니다. FrameBufferRandomRead x 및 y 방향으로 (그림 298참조). 이 오퍼레이터는 소스 이미지의 해당 좌표에서 다음 이웃 픽셀(위 참조)과 함께 픽셀 값 정보(Parallelism = 1)를 읽습니다. 소스 좌표의 소수점 비트 부분은 및 소스 이미지의 픽셀 간 위치에 해당합니다. 이러한 정보와 소스 이미지의 이웃 픽셀에서 가져온 픽셀 값 정보를 바탕으로 타겟 이미지의 실제 픽셀 값이 HierarchicalBox에서 쌍선형(bilinear)으로 보간됩니다 보간. 보간 프로세스에 대한 자세한 설명은 [Bur06].

그림 302 및 303에서 기하학적 변환의 예시로 소스 이미지와 타겟 이미지를 확인할 수 있습니다. x 및 y 방향으로 100픽셀 이동하고 45° 회전이 수행됩니다.

소스 이미지

그림 302. 소스 이미지 [Ope16a]


회전 및 이동된 타겟 이미지

그림 303. 회전 및 이동된 타겟 이미지


Image Moments를 사용한 기하학적 변환
간략한 설명

파일: \examples\Processing\Geometry\GeometricTransformation\GeometricTransformation_ImageMoments.va

Default Platform: mE5-MA-VCL

간단한 설명

기하학적 변환: 이미지 모멘트를 사용하여 객체를 이미지 중심로 회전 및 이동

이 예시 디자인에서는 이미지 모멘트를 사용하여 RGB 이미지 내 객체의 위치와 회전 각도를 결정합니다. 수평 방향으로의 회전과 이미지 중심로의 이동이 수행됩니다. 기본값으로 입력 이미지 크기는 640x240픽셀이고 출력 이미지 크기는 256x128픽셀입니다. 그림 304에서 기본 설계 구조를 확인할 수 있습니다.

VA 디자인 "GeometricTransformation_ImageMoments.va"의 기본 설계 구조

그림 304. VA 디자인 "GeometricTransformation_ImageMoments.va"의 기본 설계 구조


이 디자인은 Camera Link Base 구성의 RGB 카메라 인터페이스(BaseRgbCamera_Camera)와 획득한 이미지의 회전 및 이동이 수행되는 HierarchicalBox Geometric Transformation으로 구성됩니다. "속성(Properties)"에서 마우스 우클릭을 통해 입력 및 출력 이미지 크기와 이진화 임계값을 설정할 수 있습니다. 이 임계값은 아래에 설명된 대로 이미지 모멘트 계산에 관련됩니다. 기하학적 변환은 타겟-투-소스 매핑(소개 섹션의 참조)을 사용하여 수행됩니다. DMA(오퍼레이터 DmaToPC_DMA0)를 통해 이미지가 PC로 전송됩니다. 그림 305에서 Geometric Transformation의 내용을 확인할 수 있습니다.

HierarchicalBox GeometricTransformation의 내용

그림 305. HierarchicalBox GeometricTransformation의 내용


수평 위치를 기준으로 한 회전 각도와 객체의 무게 중심 위치는 이진화된 이미지(HierarchicalBox Binarization)에서 계산된 HierarchicalBox ImageMoments 내의 이미지 모멘트를 사용하여 결정됩니다. ImageMoments의 내용은 객체 편심률 계산을 제외하고 VA 예시 "ImageMoments.va"의 상자 ImageMoments(섹션 의 그림 325 참조)와 동일합니다. HierarchicalBox ImageMoments의 출력 링크(위에서 아래로)는 x 및 y 방향의 무게 중심 위치와 회전 각도입니다. 이러한 매개변수를 기반으로 한 소스 좌표 계산(식 21에 따름)은 HierarchicalBox CoordinateTransformation의 내용입니다. 306에서 이 상자의 내용을 확인할 수 있습니다.

HierarchicalBox CoordinateTransformation의 콘텐츠

그림 306. HierarchicalBox CoordinateTransformation의 내용


HierarchicalBox에서 동기화 x 및 y 방향의 무게 중심과 회전의 단일 픽셀 값들은 다음에 정의된 출력 이미지 크기로 확장됩니다. OutputImage. 이 상자의 출력 링크는 대상 이미지 좌표를 나타냅니다. . HierarchicalBox 내에서 InverseTransformation 소스 좌표는 및 방정식에 따라 계산됩니다. 21. 그림 307 에서 이 상자의 내용을 확인할 수 있습니다.

HierarchicalBox InverseTransformation의 콘텐츠

그림 307. HierarchicalBox InverseTransformation의 내용


이 상자의 디자인 구조는 예제 "GeometricTransformation_FrameBufferRandomRead.va" 및 "GeometricTransformation_PixelReplicator.va"의 역변환 구현과 유사합니다. 차이점은 x 및 y 방향의 평행 이동 파라미터가 x 및 y 방향의 무게 중심과 이미지 중심 간의 차이에 의해 결정된다는 점입니다(상자 내용 참조 Translation_x 및 Translation_y). 회전 각도(상자 내용 Phi)는 이미지 모멘트 계산 결과에 따라 정의됩니다. 그림의 기본 디자인 구조로 돌아가서 304. 계산된 소스 이미지 좌표는 및 상자의 출력 링크를 나타냅니다 CoordinateTransformation. 상자 GeometricTransformation (그림 308)에서 연산자를 사용한 기하학적 변환 FrameBufferRandomRead 및 올바른 대상 픽셀 값의 쌍선형 보호는 "GeometricTransformation_FrameBufferRandomRead.va" 예제와 유사하게 수행됩니다(그림 참조 298 섹션 ).

Content of HierarchicalBox GeometricTransformation

그림 308. HierarchicalBox GeometricTransformation의 내용


그림 309의 예시 객체에 대해, 방위와 위치가 보정된 대상 이미지는 그림 310에서 확인할 수 있습니다.

소스 이미지 (크기: 640x240 픽셀)

그림 309. 소스 이미지(해상도: 640x240 픽셀)


위치 및 방위가 보정된 대상 이미지 (크기: 256x128 픽셀)

그림 310. 위치 및 방향이 보정된 대상 이미지(해상도: 256x128 픽셀)


PixelReplicator를 사용한 기하학적 변환
간략한 설명

파일: \examples\Processing\Geometry\GeometricTransformation\GeometricTransformation_PixelReplicator.va

Default Platform: mE5-MA-VCL

간단한 설명

PixelReplicator 연산자를 사용한 기하학적 변환(회전, 이동, Scaling)

VisualApplets 디자인 예시 "GeometricTransformation_PixelReplicator.va"는 "GeometricTransformation_FrameBufferRandomRead.va" 예시와 동일한 기하학적 변환을 수행하지만 성능이 더 뛰어납니다. 앞서 설명한 바와 같이 FrameBufferRandomRead 연산자는 각 픽셀을 개별적으로 DRAM에 저장하고 차례대로 읽어옵니다. 이 예시에서는 일정량의 픽셀 블록이 하나의 DRAM 셀에 저장됩니다. 이 예시 디자인은 읽을 픽셀이 이전 픽셀과 동일한 셀에 있지 않은 경우에만 DRAM에서 읽어옵니다. 그림 311의 예시(DRAM 셀당 8픽셀)는 성능 향상이 어떻게 이루어지는지 보여줍니다.

예시: 8개의 픽셀이 하나의 DRAM 셀에 저장됨

그림 311. 예시: 8개의 픽셀이 하나의 DRAM 셀에 저장됨


DRAM 블록은 녹색으로 표시되어 있습니다. a부터 i까지 9개의 픽셀을 읽으려면 9사이가 아닌 3개의 DRAM 사이클이 필요합니다. 여기서는 3의 유효한 Parallelism을 달성합니다. 하나의 RAM 셀에 저장할 수 있는 8비트 픽셀의 최대 개수는 32개입니다(marathon VCL 데이터 너비: 256비트). RAM 셀 블록의 ROI 형태는 기하학적 변환의 회전 각도에 의해 정의됩니다. 기본값으로 이 예시에서는 9x3 픽셀의 RAM 셀 형상이 선택됩니다. 기본 디자인 구조는 그림 297의 디자인 구조와 동일하지만 PARALLELdn_To1 연산자가 없습니다. HierarchicalBox GeometricTransformation의 콘텐츠는 "GeometricTransformation_FrameBufferRandomRead.va" 예시의 해당 상자(그림 298)와도 동일합니다. 차이점은 FrameBufferRandomRead 연산자가 HierarchicalBox FrameBufferRandomRead_Par8로 대체되었다는 점입니다. 그림 312에서 그 콘텐츠를 확인할 수 있습니다.

HierarchicalBox FrameBufferRandomRead_Par8의 콘텐츠

그림 312. HierarchicalBox FrameBufferRandomRead_Par8의 콘텐츠


상자 CollectNeighbors 소스 이미지는 각 RAM 셀의 크기를 정의하는 하위 ROI로 분할됩니다. 여기서는 9x3의 RAM 셀 크기가 선택됩니다. HierarchicalBoxes에서 SplitAdressX 및 SplitAdressY 역기하학적 변환의 결과로서 소스 좌표의 정수 비트 부분(섹션 및 참조)은 두 개의 구성 요소로 분할됩니다. 상위 비트 부분( 의 상위 출력 링크)은 DRAM 셀의 위치를 나타내고, 하위 비트 부분은 DRAM 셀 내의 픽셀 위치를 나타냅니다. DRAM 셀은 HierarchicalBox 내의 DRAM 셀 좌표에서 읽혀집니다 SplitAdressX 및 SplitAdressY)는 DRAM 셀의 위치를 나타내며, 하위 비트 부분은 DRAM 셀 내의 픽셀 위치를 나타냅니다. DRAM 셀은 HierarchicalBox 내의 DRAM 셀 좌표에서 읽혀집니다. Buffer (연산자 포함 FrameBufferRandomRead) HerarchicalBox에서 결정되지 않은 경우 RepeatDecider이전 DRAM 셀을 재사용합니다. 이전 셀을 재사용하기로 결정한 경우, DRAM 셀의 픽셀 값을 복제해야 합니다. 이는 다음에서 수행됩니다. HierarchicalBox ReplicateValues 연산자와 함께 PixelReplicator. 상자 ExtractSubKernel 필요한 픽셀 값은 다음 이웃과 함께 출력으로 픽셀 좌표를 사용하여 DRAM 셀에서 추출됩니다. SplitAdressX 및 SplitAdressY (하단 출력 링크). 올바른 대상 픽셀 값의 쌍선형 보간(bilinear interpolation)은 다음 예제와 동일하게 수행됩니다. .

기하학적 변환 및 Distortion Correction
간략한 설명

File: \examples\Processing\Geometry\GeometricTransformation\GeometricTransformation_ DistortionCorrection.va

Default Platform: mE5-MA-VCL

간단한 설명

연산자 PixelReplicator를 사용한 기하학적 변환: 회전, 이동, Scaling, 왜곡 및 키스톤 보정

VA 예제 "GeometricTransformation_DistortionCorrection.va"는 "GeometricTransformation_PixelReplicator.va" 디자인의 확장입니다. 또한 이 디자인에는 왜곡 및 키스톤 보정(식 22 및 식 23에 따름)이 구현되어 있습니다. 아래에서는 "GeometricTransformation_PixelReplicator.va"와 비교하여 다른 부분만 설명합니다. 그림 313에서 기본 설계 구조를 확인할 수 있습니다.

VA 디자인 "GeometricTransformation_DistortionCorrection.va"의 기본 설계 구조

그림 313. VA 디자인 "GeometricTransformation_DistortionCorrection.va"의 기본 설계 구조


CameraLink 베이스 구성의 카메라 인터페이스에서 가져온 그레이스케일 이미지(최대 해상도: 4096x4096 픽셀) (BaseGrayCamera_Camera)는 HierarchicalBox GeoTransAndDistCorr에서 변환되고 DMA를 통해 PC로 전송됩니다 (DmaToPC_DMA0). 이 구조는 "GeometricTransformation_FrameBufferRandomRead" 및 "GeometricTransformation_PixelReplicator" 디자인과 동일합니다. GeoTransAndDistCorr의 구조는 동일한 두 디자인의 박스 GeometricTransformation와 동일합니다 (그림 298 참조). 여기서는 역변환 및 추가적으로 왜곡 및 키스톤 보정이 수행됩니다. 박스 CoordinateTransformation의 내용(박스 GeometricTransformation 내)은 그림 314에 나와 있습니다.

HierarchicalBox CoordinateTransformation의 콘텐츠

그림 314. HierarchicalBox CoordinateTransformation의 내용


"GeometricTransformation_FrameBufferRandomRead" 및 "GeometricTransformation_PixelReplicator" 디자인(섹션 및 )과 마찬가지로 대상 좌표는 식에 따라 역변환됩니다. 21 추가 Scaling 포함(섹션도 참조 ). 역변환으로 얻은 좌표를 사용하여 HierarchicalBox에서 역 키스톤 및 왜곡 보정을 수행합니다. KeystoneCorrrection 및 DistortionCorrection. 이러한 박스의 내용은 그림에 표시되어 있습니다. 315 및 그림 314.

HierarchicalBox KeystoneCorrection의 내용

그림 315. HierarchicalBox KeystoneCorrection의 내용


HierarchicalBox DistortionCorrection의 콘텐츠

그림 316. HierarchicalBox DistortionCorrection의 콘텐츠


이 박스들에는 식 22 및 식 23 이 구현되어 있습니다. 박스 내의 매트릭스 요소 m1부터 m9까지 Z_x, Z_y 및 N (그림 315)은 OpenCV 라이브러리 [Ope16b]의 도움을 받아 계산할 수 있습니다. 예시 이미지 "Example.tif" (\examples\Processing\Geometry\GeometricTransformation 경로 아래)에 대한 예시 매트릭스 값은 동일한 위치의 텍스트 파일 "MatrixValues.txt"에서 확인할 수 있습니다. 그림 314 의 Distortion Correction을 위해 먼저 광학 중심(CoordinateTransformation_x 및 CoordinateTransformation_y)에 상대적인 좌표계로 좌표가 변환되며, 이는 대부분의 경우 이미지 중심입니다. HierarchicalBox DistortionCoefficient 에서 거리 (식 23 참조)가 광학 중심으로부터 계산됩니다. 모든 에 대해 왜곡 보정 파라미터가 룩업 테이블에 존재합니다(그림 317 참조). 룩업 테이블은 외부에서 Matlab 모듈을 사용하여 생성되며, 해당 모듈은 \examples\Processing\Geometry\GeometricTransformation \LUTDistortionCorrection.m 경로와 왜곡 파라미터에서 찾을 수 있습니다. 및 OpenCV 라이브러리로 생성됨 [Ope16b]. "LUTDistortionCorrection.m"에서 보정 매개변수의 예를 확인할 수 있습니다. 및 예제 이미지 "Example.tif"(\examples\Processing\Geometry\GeometricTransformation 경로) [Ope16a]. 그런 다음 계수 와(과) 좌표 및 (그림 314)가 곱해집니다. 결과적으로 왜곡된 좌표는 "왼쪽 상단 이미지 모서리"(상자 CoordinateTransformation_x 및 CoordinateTransformation_y 참조)를 기준으로 하는 좌표계로 다시 변환됩니다. 그 결과 소스 이미지 좌표 및 이(가) 생성됩니다. HierarchicalBox의 내용 LimitCoordinateValues (그림 314)은 변환된 이미지 좌표에 대한 경계 조건을 설정합니다. 정수 비트 부분과 소수 비트 부분을 분리한 후 (상자 SplitFractionalAndIntegerBit 그림 298 참조) 계산된 해당 정수 소스 이미지 좌표의 픽셀 값이 소스 이미지에서 읽혀집니다. 소스 이미지의 픽셀 간 위치로 인해 출력 이미지의 픽셀 값을 보정하기 위해 [ 보간]에 따라 소수 비트 부분이 이중 선형 보간법(bilinear interpolation, 그림Bur06)에 사용됩니다. DMA를 통해 신호가 PC로 전송됩니다. 시연 목적으로 그림 318, 319 및 320 에서 왜곡된 소스 이미지, 키스톤 및 왜곡이 보정된 타겟 이미지, 그리고 회전 및 왜곡이 보정된 타겟 이미지를 확인할 수 있습니다.

HierarchicalBox DistortionCoefficient의 내용

그림 317. HierarchicalBox DistortionCoefficient의 내용


예제 소스 이미지

그림 318. 예제 소스 이미지 [Ope16a]


왜곡 및 키스톤이 보정된 타겟 이미지

그림 319. 왜곡 및 키스톤이 보정된 타겟 이미지


회전, 왜곡 및 키스톤이 보정된 타겟 이미지

그림 320. 회전되고 왜곡 및 키스톤이 보정된 타겟 이미지


Distortion Correction
간략한 설명

파일: \examples\Processing\Geometry\GeometricTransformation\DistortionCorrection.va

Default Platform: mE5-MA-VCL

간단한 설명

이 예제 디자인에서는 Distortion Correction이 구현되어 있습니다.

"DistortionCorrection.va" 디자인에서는 22식에 따른 Distortion Correction이 구현되어 있습니다. 이는 "GeometricTransformation_DistortionCorrection.va" 디자인의 내용과 유사하지만 기하학적 변환 및 키스톤 보정이 수행되지 않는다는 점이 다릅니다. 그림 321에서 기본 디자인 구조를 확인할 수 있습니다.

VA 디자인 "DistortionCorrection.va"의 기본 설계 구조

그림 321. VA 디자인 "DistortionCorrection.va"의 기본 디자인 구조


이 디자인은 Camera Link 기반 구성의 흑백 카메라 인터페이스, 버퍼 모듈, HierachicalBox DistortionCorrection 및 DmaToPC로 구성됩니다. 흑백 이미지의 Distortion Correction은 DistortionCorrection에서 수행됩니다. 그 내용은 그림 322에서 확인할 수 있습니다.

HierarchicalBox DistortionCorrection의 콘텐츠

그림 322. HierarchicalBox DistortionCorrection의 내용


이 구조는 다음 HierarchicalBox의 내용과 유사합니다. GeometricTransformation (참조: 그림 298) 절의 "GeometricTransformation_PixelReplicator.va" 디자인 . 연산자 FrameBufferRandomRead 은 "GeometricTransformation_PixelReplicator.va" 및 "GeometricTransformation_DistorationCorrection.va"에서와 마찬가지로 HierarchicalBox FrameBufferRandomRd_Par8 (참조 절 )로 대체됩니다. 및 소스 이미지는 버퍼링 요소에 선형으로 기록됩니다 FrameBufferRandomRd_Par8. 이 모듈에서는 각 픽셀과 함께 세 개의 인접 픽셀도 저장됩니다(박스 참조 CollectNeighbors 박스 내 FrameBufferRandomRd_Par8). 박스에서 CoordinateTransformation/ OutputImage 타겟 이미지 좌표 는 연산자를 사용하여 생성됩니다 CreateBlankImage, CoordinateX 및 CoordinateY. 이러한 좌표는 방정식에 따라 변환됩니다. 22 소스 이미지 좌표로 HierarchicalBox 내의 InverseCorrection (박스 참조 CoordinateTransformation). 그림에서 내용을 확인할 수 있습니다. 323.

HierarchicalBox InverseCorrection의 내용

그림 323. HierarchicalBox InverseCorrection의 내용


이는 다음 박스의 구현과 동일합니다. DistortionCorrection "GeometricTransformation_DistortionCorrection.va" (그림 316참조). 각 대상 이미지 반경에 대해 이미지 중심을 기준으로 룩업 테이블 값이 C_r HierarchicalBox에서 선택되며 DistortionCoefficient. C_r 대상 이미지 좌표와 곱해집니다 식에 따라 22 그리고 첫 번째 픽셀 기준 좌표계로 다시 변환됩니다( CoordinateTransformation_x_1 및 CoordinateTransformation_y_1참조). 그림에 322 나와 있듯이 결과 소스 좌표는 박스 내에서 정수부와 소수부로 분할됩니다 SplitFractionalAndIntegerBit. 정수부는 해당 소스 이미지 좌표에서 소스 이미지의 픽셀을 읽는 데 사용되고, 소수부는 최종 결과의 양선형 보간(bilinear interpolation)에 사용됩니다. 왜곡이 보정된 이미지는 DMA를 통해 PC로 전송됩니다.