KR101355570B1 - 룩업 테이블 압축 장치 및 방법 - Google Patents

룩업 테이블 압축 장치 및 방법 Download PDF

Info

Publication number
KR101355570B1
KR101355570B1 KR1020120076652A KR20120076652A KR101355570B1 KR 101355570 B1 KR101355570 B1 KR 101355570B1 KR 1020120076652 A KR1020120076652 A KR 1020120076652A KR 20120076652 A KR20120076652 A KR 20120076652A KR 101355570 B1 KR101355570 B1 KR 101355570B1
Authority
KR
South Korea
Prior art keywords
axis
prediction error
data
lookup table
prediction
Prior art date
Application number
KR1020120076652A
Other languages
English (en)
Other versions
KR20140009809A (ko
Inventor
하수영
김관후
Original Assignee
(주)자인미디어
아진산업(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)자인미디어, 아진산업(주) filed Critical (주)자인미디어
Priority to KR1020120076652A priority Critical patent/KR101355570B1/ko
Publication of KR20140009809A publication Critical patent/KR20140009809A/ko
Application granted granted Critical
Publication of KR101355570B1 publication Critical patent/KR101355570B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • G06T3/047Fisheye or wide-angle transformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/608Rotation of whole images or parts thereof by skew deformation, e.g. two-pass or three-pass rotation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

룩업 테이블 압축 장치는 카메라로부터 입력되는 영상의 왜곡을 보정하는 장치에서 사용되는 룩업 테이블을 압축하는 장치로서, 룩업 테이블의 X축 및 Y축 데이터를 예측하고, X축 예측 데이터와 X축 데이터의 오차에 해당하는 X축 예측 오차와 Y축 예측 데이터와 Y축 데이터의 오차에 해당하는 Y축 예측 오차를 계산한 후 X축 예측 오차와 Y축 예측 오차를 부호화하여 압축 데이터를 생성한다.

Description

룩업 테이블 압축 장치 및 방법{APPARATUS AND METHOD FOR COMPRESSING LOOK UP TABLE}
본 발명은 룩업 테이블 압축 장치 및 방법에 관한 것으로, 특히 왜곡 영상 보정 장치에서 사용하는 좌표용 룩업 테이블을 압축하는 장치 및 방법에 관한 것이다.
어안렌즈 혹은 광각렌즈를 사용하는 카메라로부터 입력되는 영상은 주변부가 바깥쪽으로 휘어지는 왜곡 현상이 나타난다. 어안렌즈 혹은 광각렌즈를 사용하는 카메라로부터 입력되는 영상의 왜곡을 실시간으로 보정하며, 일반적으로 좌표용 룩업 테이블을 사용하여 영상의 왜곡을 보정한다. 실시간 왜곡 영상 보정 장치의 예로는 AVM(Around View Monitoring) 시스템이 대표적이다.
즉, 사용하는 렌즈의 왜곡율, 대상까지의 거리와 각도 등을 미리 계산하여 왜곡되지 않은 영상을 얻기 위한 좌표용 룩업 테이블을 미리 계산하여 만들어 놓고, 왜곡 영상 보정 장치는 왜곡 보정 시에 매 입력 영상마다 좌표 값을 적용하여 영상의 왜곡을 보정한다.
이러한 좌표용 룩업 테이블은 다음과 같은 특성을 갖는다.
첫째, 사용하는 렌즈의 왜곡율과 카메라의 미세한 설치 각도 등의 차이에 따라 다른 계산된 값을 갖는다. 둘째, 2차원의 좌표이므로 X축 좌표와 Y축 좌표를 기본으로 포함하며, 응용 시스템에 따라서 다수개의 카메라 채널을 입력으로 받으므로 입력 카메라 채널 정보를 포함하기도 한다. 셋째, 왜곡 보정되는 출력 영상의 픽셀 당 X축 좌표와 Y축 좌표 그리고 채널 정보를 포함하므로 데이터의 양이 크다. 특히 응용 시스템에 따라서는 출력되는 모드에 따라 이러한 좌표용 룩업 테이블을 출력 모드의 수만큼 필요로 하므로, 데이터의 양이 상당히 커진다.
좌표용 룩업 테이블은 출력 영상의 픽셀 당 X축 좌표 및 Y축 좌표 정보, 그리고 응용 시스템에 따라서는 채널 및 부가 정보를 포함하므로 데이터의 양이 상당히 크다. 예를 들어 대표적인 비디오 신호 규격인 SDTV(Standard-Definition Television)의 경우 픽셀 수가 X축으로 720 화소, Y축으로 480 라인을 가지므로 X축 좌표, Y축 좌표 및 부가 정보를 포함하여 픽셀당 4-바이트의 크기를 가진다면 좌표용 룩업 테이블의 데이터는 모두 1,382,400 바이트 (=720 x 480 x 4-바이트)가 되며, 만일 응용 시스템이 16가지의 출력 응용 모드를 갖고 각각의 모드마다 다른 좌표용 룩업 테이블을 사용한다면 좌표용 룩업 테이블의 총 크기는 1,382,400 바이트 x 16 에 해당하는 상당한 양이 된다.
왜곡 영상 보정 장치에서는 이러한 상당한 양의 좌표용 룩업 테이블을 모두 내장하고 있어야 하므로 이를 기본적으로 저장할 비휘발성 메모리(예를 들면, Flash 메모리)와 휘발성 메모리(예를 들면, DDR 메모리)의 공간을 그만큼 많이 차지하게 된다. 또한 실시간 왜곡 보정을 해야 하므로, 출력하는 매 프레임마다 필요한 좌표용 룩업 테이블을 휘발성 메모리에서 읽어야 하므로 휘발성 메모리에서 읽는 좌표용 룩업 데이터의 양 또한 무시하지 못할 양이 된다.
한편 응용 시스템이 구성 예에 따라서는 응용 시스템의 부팅 시마다 좌표용 룩업 테이블을 비휘발성 메모리에서 휘발성 메모리로 복사하여 사용하는 경우가 일반적인데, 이때 상당한 양의 좌표용 룩업 테이블을 비휘발성 메모리에서 휘발성 메모리로 복사하는데 소요되는 시간으로 인해 부팅 시간이 길어지기도 한다. 이러한 이유들로 인해 좌표용 룩업 테이블을 압축할 필요성이 있다. 예를 들어 좌표용 룩업 테이블을 10분의 1로 압축할 수 있다고 하면 응용 시스템의 부팅 시간이 10분의 1로 줄어드는 효과가 있으며, 사용되는 비휘발성 메모리 및 휘발성 메모리의 크기도 10분의 1로 줄어드는 효과가 있을 것이다.
본 발명이 해결하고자 하는 과제는 왜곡 영상 보정 장치에서 룩업 테이블이 저장할 메모리 크기를 줄이고 또한 왜곡 보정 시 읽어오는 룩업 테이블의 데이터 양을 줄일 수 있는 룩업 테이블 압축 장치 및 방법을 제공하는 것이다.
본 발명의 한 실시 예에 따르면, 카메라로부터 입력되는 영상의 왜곡을 보정하는 장치에서 사용되는 룩업 테이블을 압축하는 장치에 있어서, 상기 룩업 테이블에서 (n-2)번째 좌표에 해당하는 데이터와 (n-1)번째 좌표에 해당하는 데이터의 차이를 상기 (n-1)번째 좌표에 해당하는 데이터에 더하여 n번째 좌표의 예측 데이터를 생성하는 예측부, 상기 룩업 테이블의 예측 데이터와 상기 룩업 테이블의 데이터의 오차에 해당하는 예측 오차를 계산하는 예측 오차 계산부, 상기 예측 오차를 부호화하는 예측 오차 부호화부, 그리고 상기 부호화된 예측 오차를 패킷으로 생성하여 저장하는 패킷 생성부를 포함한다.
상기 예측 오차 부호화부는 상기 룩업 테이블의 X축과 Y축 데이터 각각에 대해 구해진 X축 예측 오차와 Y축 예측 오차를 N-비트의 2의 보수로 나타낸 값으로 부호화하고, 상기 N의 값은 상기 영상의 픽셀에 따른 X축과 Y축의 좌표값의 범위에 의해 설정되는 상기 룩업 테이블의 특성에 따라 결정될 수 있다.
삭제
삭제
상기 예측 오차 부호화부는 상기 룩업 테이블의 X축과 Y축 데이터 각각에 대해 구해진 X축 예측 오차와 Y축 예측 오차를 제로 인덱스와 상기 제로 인덱스에 따라서 상기 X축 예측 오차 및 상기 Y축 예측 오차 중 적어도 하나를 N-비트의 2의 보수로 나타낸 값으로 부호화하며, 상기 제로 인덱스는 상기 X축 예측 오차와 상기 Y축 예측 오차의 유무에 따라서 1에서 3 비트의 값으로 결정되고, 상기 N의 값은 상기 영상의 픽셀에 따른 X축과 Y축의 좌표값의 범위에 의해 설정되는 상기 룩업 테이블의 특성에 따라 결정될 수 있다.
상기 패킷 생성부는 연속성이 있는 부호화된 예측 오차를 하나의 패킷으로 생성할 수 있다.
본 발명의 다른 한 실시 예에 따르면, 카메라로부터 입력되는 영상의 왜곡을 보정하는 장치에서 룩업 테이블을 압축하는 방법에 있어서, 상기 룩업 테이블의 (n-1)번째 X축 데이터와 (n-2)번째 X축 데이터의 차이를 상기 (n-1)번째 X축 데이터에 더하여 n번째 X축의 예측 데이터를 생성하는 단계, (n-1)번째 Y축 데이터와 (n-2)번째 Y축 데이터의 차이를 상기 (n-1)번째 Y축 데이터에 더하여 n번째 Y축의 예측 데이터를 생성하는 단계, X축 예측 데이터와 X축 데이터의 오차에 해당하는 X축 예측 오차와 Y축 예측 데이터와 Y축 데이터의 오차에 해당하는 Y축 예측 오차를 계산하는 단계, 상기 X축 예측 오차와 상기 Y축 예측 오차를 부호화하여 압축 데이터를 생성하는 단계, 그리고 상기 압축 데이터를 패킷으로 저장하는 단계를 포함한다.
상기 생성하는 단계는 상기 X축 예측 오차 및 상기 Y축 예측 오차를 N-비트의 2의 보수로 나타낸 값으로 부호화하거나, 상기 X축 예측 오차 및 상기 Y축 예측 오차를 제로 인덱스와 상기 제로 인덱스에 따라서 상기 X축 예측 오차 및 상기 Y축 예측 오차 중 적어도 하나를 N-비트의 2의 보수로 나타낸 값으로 부호화하는 단계를 포함하며, 상기 제로 인덱스는 상기 X축 예측 오차와 상기 Y축 예측 오차의 유무에 따라서 1에서 3 비트의 값으로 결정되고, 상기 N의 값은 상기 영상의 픽셀에 따른 X축과 Y축의 좌표값의 범위에 의해 설정되는 상기 룩업 테이블의 특성에 따라 결정될 수 있다.
삭제
삭제
본 발명의 실시 예에 의하면, 룩업 테이블을 저장할 메모리의 크기를 압축률만큼 줄일 수 있고, 룩업 테이블의 데이터를 압축함으로써 룩업 테이블의 데이터를 읽는 데이터의 양도 압축률만큼 줄일 수 있다.
또한 룩업 테이블을 비휘발성 메모리를 휘발성 메모리로 복사하는 데 소요되는 시간 또한 줄일 수 있어서 응용 시스템의 부팅 시간을 단축시킬 수 있다.
도 1은 본 발명의 실시 예에 따른 왜곡 영상 보정 장치를 개략적으로 나타낸 도면이다.
도 2는 도 1에 도시된 룩업 테이블 압축부를 나타낸 도면이다.
도 3은 도 2에 도시된 룩업 테이블 압축부의 압축 방법을 나타낸 흐름도이다.
도 4 내지 도 8은 각각 본 발명의 제1 내지 제5 실시 예에 따른 예측 오차의 부호화 방법을 나타낸 도면이다.
도 9는 본 발명의 실시 예에 따른 패킷 생성부에서 생성된 패킷의 일 예를 나타낸 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
이제 본 발명의 실시 예에 따른 룩업 테이블 압축 장치 및 방법에 대하여 도면을 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 실시 예에 따른 왜곡 영상 보정 장치를 개략적으로 나타낸 도면이다.
도 1을 참고하면, 왜곡 영상 보정 장치(100)는 룩업 테이블 압축부(110), 룩업 테이블 복원부(120), 메모리부(130) 및 영상 보정부(140)를 포함한다.
룩업 테이블 압축부(110)는 룩업 테이블의 데이터를 예측하고, 예측 데이터와 원 데이터와의 차이에 해당하는 예측 오차를 부호화한다. 룩업 테이블 압축부(110)는 부호화된 비트의 열을 패킷으로 생성하고, 생성한 패킷을 메모리부(120)에 저장한다.
룩업 테이블 복원부(120)는 메모리부(130)에 저장된 패킷을 복호화하고, 복호화된 데이터로부터 예측 오차를 복호화하며, 복호화된 예측 오차로부터 원래의 표 값을 예측함으로써, 룩업 테이블을 복원한다. 룩업 테이블 복원부(120)는 영상 보정부(140)에 제어에 따라서 룩업 테이블을 복원하며, 복원한 룩업 테이블을 영상 보정부(140)로 전달한다.
메모리부(130)는 압축된 룩업 테이블의 데이터를 저장한다. 특히, 메모리부(130)는 압축된 룩업 테이블을 패킷의 형태로 저장할 수 있다.
이러한 메모리부(130)는 비휘발성 메모리 영역(132)과 휘발성 메모리 영역(134)을 포함할 수 있다. 비휘발성 메모리 영역(132)에는 기본적으로 압축된 룩업 테이블의 데이터를 저장하고 있으며, 왜곡 영상 보정 장치(100)의 실행 시에 비휘발성 메모리 영역(132)에 저장되어 있는 압축된 룩업 테이블의 데이터는 휘발성 메모리 영역(134)에 기록된다. 또한 응용 시스템의 부팅 시에도 비휘발성 메모리 영역(132)에 저장되어 있는 압축된 룩업 테이블의 데이터는 휘발성 메모리 영역(134)에 복사될 수 있다. 그리고 복원된 룩업 테이블의 데이터는 휘발성 메모리 영역(134)에 저장될 수 있다.
영상 보정부(140)는 어안렌즈 혹은 광각렌즈를 사용하는 카메라로부터 촬영된 영상을 입력 받고, 좌표용 룩업 테이블(이하, "룩업 테이블"이라 함)의 데이터를 사용하여 입력 받은 영상의 왜곡을 보정한다.
영상 보정부(140)는 카메라로부터 영상이 입력되면, 룩업 테이블 복원부(120)로 룩업 테이블의 복원을 요청하고, 룩업 테이블 복원부(120)에 의해 복원된 룩업 테이블의 데이터를 이용하여 영상의 왜곡을 보정한다.
이와 같이, 메모리부(130)에는 종래와 같이 룩업 테이블의 데이터가 그대로 저장되는 것이 아니라 룩업 테이블의 데이터가 압축되어 패킷의 형태로 저장됨으로써, 룩업 테이블을 저장할 메모리의 크기를 압축된 크기만큼 줄일 수 있고, 룩업 테이블을 읽을 때의 데이터의 양을 줄일 수도 있으며, 이에 따라 룩업 테이블을 비휘발성 메모리 영역(132)에서 휘발성 메모리 영역(134)으로 복사하는데 소요되는 시간을 줄일 수 있어서, 응용 시스템의 부팅 시간을 현격하게 단축시킬 수 있다.
도 2는 도 1에 도시된 룩업 테이블 압축부를 나타낸 도면이고, 도 3은 도 2에 도시된 룩업 테이블 압축부의 압축 방법을 나타낸 흐름도이다.
도 2를 참고하면, 룩업 테이블 압축부(110)는 예측부(112), 예측 오차 계산부(114) 및 예측 오차 부호화부(116)를 포함한다. 또한 룩업 테이블 압축부(110)는 패킷 생성부(118)를 더 포함할 수 있다.
일반적으로 사용하는 렌즈의 왜곡율, 대상까지의 거리와 각도 등을 미리 계산하여 왜곡되지 않은 영상을 얻기 위한 룩업 테이블이 미리 계산된다. 룩업 테이블에는 영상의 픽셀에 따라서 X축 좌표 및 Y 좌표에 해당하는 데이터가 저장되어 있으며, 이러한 데이터에 의해서 왜곡 영상의 해당 픽셀의 영상이 보정된다. 이때 응용 시스템에 따라서 룩업 테이블에는 X축 좌표 및 Y 좌표뿐만 아니라 부가 정보에 해당하는 데이터가 저장되어 있을 수 있다.
도 3을 보면, 예측부(112)는 영상의 각 픽셀에 해당하는 룩업 테이블의 각 데이터를 예측한다(S310). 앞에서 설명한 바와 같이, 룩업 테이블의 데이터는 렌즈의 왜곡률과 상관 관계가 있으며, 렌즈의 왜곡률은 X축 및 Y축으로 각각에 대해 포물선과 같은 2차 함수의 특성을 가진다. 따라서 룩업 테이블의 데이터는 이러한 2차 함수에 의한 예측이 가능하다.
예측부(112)에서는 두 가지의 방법을 이용하여 룩업 테이블의 데이터를 예측할 수 있다.
첫 번째 방법은 1차 함수의 특성으로 룩업 테이블의 데이터를 예측하는 방법으로, 단순하게 구현할 수 있다는 장점이 있다. 두 번째 방법은 2차 함수의 특성으로 룩업 테이블의 데이터를 예측하는 것으로, 1차 함수의 특성으로 예측하였을 경우보다 예측 오차를 줄일 수 있는 장점이 있다.
이러한 예측 방법을 구체적으로 설명하면 다음과 같다.
원래의 룩업 테이블의 값을 X축 좌표와 Y축 좌표에 따라 X(0), X(1), X(2), X(3), …,X(n) 그리고 Y(0), Y(1), Y(2), Y(3), …, Y(n)이라 하고, 예측된 값을 X축 좌표의 값과 Y축 좌표의 값에 따라 각각 EX(2), EX(3), …, EX(n) 및 EY(2), EY(3), …, EY(n) 이라고 하면, 예측부(112)는 수학식 1과 같이 1차 함수의 특성으로 예측할 수 있다.
Figure 112012056184854-pat00001
한편, 수학식 1과 달리 예측부(112)는 수학식 2와 같이 2차 함수의 특성으로 예측할 수도 있다.
Figure 112012056184854-pat00002
수학식 2에서, SecondOrderDiff_X 및 SecondOrderDiff_Y는 수학식 3과 같다.
Figure 112012056184854-pat00003
이때, 룩업 테이블의 X축 좌표 값과 Y축 좌표 값 각각에 대해 제일 처음의 두 개의 좌표 값, 즉 X(0), X(1), Y(0), Y(1)은 예측에 사용할 이전 좌표 값이 없으므로 압축하지 않고 원래의 좌표 값 그대로 사용되며, 세 번째 좌표 값부터는 예측된 값이 사용된다. 다만 2차 함수의 특성으로 예측하는 경우에는 이전의 4개의 값이 모두 필요하므로 처음 두 개의 좌표 값은 원래의 값이 사용되고 세 번째 및 네 번째의 좌표는 1차 함수의 특성으로 예측하고 다섯 번째 값 이후부터 2차 함수의 특성으로 예측할 수 있다.
예측 오차 계산부(114)는 예측부(112)에 의한 예측 데이터와 원 데이터 사이의 예측 오차를 계산한다(S320).
예측 오차 부호화부(116)는 예측 오차 계산부(114)에 의해 계산된 예측 오차를 부호화하여 압축한다(S330).
원래의 좌표 값과 예측된 좌표 값에는 차이가 발생할 수 있다. 이러한 예측 오차는 작은 값이며 이 오차만큼을 부호화하여 압축함으로써, 복원시 원래의 룩업테이블의 값과 완전히 똑같도록 복원할 수 있다. 예측 오차의 부호화 방법은 다음과 같다.
룩업 테이블은 렌즈의 왜곡율, 설치된 카메라의 높이와 각도, 왜곡 보정을 하고자 하는 대상의 화면 내 위치 등에 따라 그 특성이 매우 다양하므로 예측 오차의 부호화 또한 다양한 방법으로 수행되어야 하며, 예측 오차 부호화부(116)는 다양한 부호화 방법 중 높은 압축율을 가지는 부호화 방법을 선택하여 부호화할 수 있다.
도 4 내지 도 8은 각각 본 발명의 제1 내지 제5 실시 예에 따른 예측 오차의 부호화 방법을 나타낸 도면이다.
도 4 내지 도 8에 도시한 바와 같이, 부호화 방법에는 다섯 가지가 있다. 각각의 부호화 방법에 대해 설명하면 다음과 같다.
첫 번째 방법은 도 4에 도시한 바와 같이, X축 및 Y축 예측 오차를 N-비트의 2의 보수(two's complement)로 나타낸 값[dX(N-bits), dY(N-bits)]으로 부호화하는 방법이다. N-비트로 나타내기 때문에 -2n-1에서 2n-1-1 사이의 값을 표현할 수 있다. 여기서, N은 부호화할 때 룩업 테이블의 특성에 따라 결정된다.
두 번째 방법은 도 5에 도시한 바와 같이, X축 및 Y축 예측 오차를 제로 인덱스(ZI1)와 X축 및 Y축 예측 오차를 N-비트의 2의 보수로 나타낸 값[dX(N-bits), dY(N-bits)]으로 부호화하는 방법이다.
제로 인덱스(ZI1)는 X축 및 Y축 예측 오차의 유무를 나타내며, 1비트의 값이다. X축 및 Y축 예측 오차가 모두 0일 경우에 제로 인덱스(ZI1)는 '0'값으로 부호화되며, X축 및 Y축 예측 오차는 부호화할 필요가 없다. X축 및 Y축 예측 오차 중 적어도 하나가 0의 값이 아니면 제로 인덱스(ZI1)는 '1'값으로 부호화되며 추가로 X축 및 Y축 예측 오차의 부호화는 N-비트의 2의 보수의 값으로 표현된다. N-비트로 표현 가능한 오차 값의 범위는 첫 번째 방법과 같이 -2n-1에서 2n-1-1 사이의 값이 될 수 있다.
다음, 세 번째 방법은 도 6에 도시한 바와 같이, X축 및 Y축 예측 오차를 제로 인덱스(ZI2)와 제로 인덱스(ZI2)에 따라서 필요한 예측 오차를 N-비트의 2의 보수로 나타낸 값[dX(N-bits) 또는 dY(N-bits) 또는 {dX(N-bits), dY(N-bits)}]으로 부호화하는 방법이다.
제로 인덱스(ZI2)는 X축 및 Y축 예측 오차의 유무를 나타내며, 2비트의 값일 수 있다. 제로 인덱스(ZI2)는 X축 및 Y축 예측 오차가 모두 0일 경우 '0'으로 부호화되고, X축 예측 오차만이 0일 경우 '1'로 부호화된다. 또한 제로 인덱스(ZI2)는 Y축 예측 오차만이 0일 경우 '2'로 부호화되고, X축 및 Y축 예측 오차가 모두 0이 아닐 경우 '3'으로 부호화된다.
이어서, 추가로 제로 인덱스(ZI2)의 값에 따라서 X축 및 Y축 예측 오차 중 필요한 예측 오차를 N-비트의 2의 보수로 나타낸 값으로 표현함으로써 부호화된다.
제로 인덱스(ZI2)가 0일 경우, X축 및 Y축 예측 오차는 부호화할 필요가 없다. 제로 인덱스(ZI2)가 1일 경우, X축 예측 오차만 N-비트의 2의 보수로 나타낸 값[dX(N-bits)]으로 부호화된다. 제로 인덱스(ZI2)가 2일 경우, Y축 예측 오차만 N-비트의 2의 보수로 나타낸 값[dY(N-bits)]으로 부호화된다. 그리고 제로 인덱스(ZI2)가 3일 경우, X축 및 Y 축 예측 오차를 N-비트의 2의 보수로 나타낸 값[dX(N-bits), dY(N-bits)]으로 부호화된다.
네 번째 방법은 도 7에 도시한 바와 같이, X축 및 Y축 예측 오차를 제로 인덱스(ZI3)와 제로 인덱스(ZI3)에 따라서 필요한 예측 오차를 N-비트의 2의 보수로 나타낸 값[dX(N-bits) 또는 dY(N-bits) 또는 {dX(N-bits), dY(N-bits)}]으로 부호화하는 방법이다.
제로 인덱스(ZI3)는 X축 및 Y축 예측 오차의 유무를 나타내며, 1에서 3비트의 값일 수 있다. 제로 인덱스(ZI3)는 X축 및 Y축 예측 오차가 모두 0일 경우 1-비트의'0'값으로 부호화되고, X축 예측 오차만이 0일 경우 2-비트의 '10(b)'로 부호화된다. 또한 제로 인덱스(ZI3)는 Y축 예측 오차만이 0일 경우 3-비트의'110(b)'로 부호화되고, X축 및 Y축 예측 오차가 모두 0이 아닐 경우 3-비트의'111(b)'로 부호화된다. 즉, 제로 인덱스(ZI3)은 X축 및 Y축의 예측 오차의 유무에 따라서 비트를 서로 다른 값으로 부호화되는 방법이다.
이어서, 추가로 제로 인덱스(ZI3)의 값에 따라서 X축 및 Y축 예측 오차 중 필요한 예측 오차를 N-비트의 2의 보수로 나타낸 값으로 표현함으로써 부호화된다. 이때 부호화되는 방법은 세 번째 부호화 방법과 동일하다.
즉, 제로 인덱스(ZI3)가 0일 경우, X축 및 Y축 예측 오차는 부호화할 필요가 없다. 제로 인덱스(ZI3)가 10(b)일 경우, X축 예측 오차만 N-비트의 2의 보수로 나타낸 값[dX(N-bits)]으로 부호화된다. 제로 인덱스(ZI3)가 110(b)일 경우, Y축 예측 오차만 N-비트의 2의 보수로 나타낸 값[dY(N-bits)]으로 부호화된다. 그리고 제로 인덱스(ZI3)가 111(b)일 경우, X축 및 Y 축 예측 오차를 N-비트의 2의 보수로 나타낸 값[dX(N-bits), dY(N-bits)]으로 부호화된다.
마지막으로, 다섯 번째 방법은 도 8에 도시한 바와 같이, X축 및 Y축 예측 오차를 제로 인덱스(ZI4)와 제로 인덱스(ZI4)에 따라서 필요한 예측 오차를 N-비트의 2의 보수로 나타낸 값[dX(N-bits) 또는 dY(N-bits) 또는 {dX(N-bits), dY(N-bits)}]으로 부호화하는 방법이다.
다섯 번째 부호화 방법은 X축 오차만 0이 아닐 경우의 제로 인덱스(ZI4)와 Y축 예측 오차만 0이 아닐 경우의 제로 인덱스(ZI4)의 값을 제외하고는 도 6의 네 번째 방법과 동일하다.
다섯 번째 부호화 방법에서, 제로 인덱스(ZI4)는 X축 및 Y축 예측 오차가 모두 0일 경우 1-비트의'0'값으로 부호화되고, Y축 예측 오차만이 0일 경우 2-비트의 '10(b)'로 부호화된다. 또한 제로 인덱스(ZI4)는 X축 예측 오차만이 0일 경우 3-비트의'110(b)'로 부호화되고, X축 및 Y축 예측 오차가 모두 0이 아닐 경우 3-비트의'111(b)'로 부호화된다.
즉, X축 오차만 0이 아닐 경우의 제로 인덱스(ZI4)는 Y축 오차만 0이 아닐 경우의 제로 인덱스(ZI3)와 동일하고, Y축 예측 오차만 0이 아닐 경우의 제로 인덱스(ZI4)는 X축 오차만 0이 아닐 경우의 제로 인덱스(ZI3)와 동일하다.
이와 같이, 네 번째 부호화 방법과 다섯 번째 부호화 방법은 유사하지만, X축 예측 오차가 0일 확률이 높은 경우에는 네 번째 부호화 방법이 압축 효율이 높은 반면 Y축 예측 오차가 0일 확률이 높은 경우에는 다섯 번째 부호화 방법이 압축 효율이 높을 수 있다. 따라서, 예측 오차 부호화부(116)는 X축 및 Y축 예측 오차의 확률에 따라서 네 번째 부호화 방법 또는 다섯 번째 부호화 방법을 선택할 수 있다.
그리고 첫 번째 부호화 방법에서부터 다섯 번째 부호화 방법에 이르기까지 모든 부호화 방법에 있어서, N값은 부호화될 때 룩업 테이블의 특성에 따라 결정될 수 있다. 단 X축과 Y축은 각각의 특성에 따라 서로 다른 크기의 비트로 부호화될 수 있다.
첫 번째 부호화 방법과 두 번째 부호화 방법에서 사용하는 예측 오차의 부호화에는 일반적인 2의 보수가 사용되지만, 세 번째 부호화 방법에서 다섯 번째 부호화 방법에서는 변형된 2의 보수가 사용될 수 있으며, 이에 따라서 압축 효율이 높아질 수 있다.
일반적인 2의 보수는 N-비트로 -2n-1에서 2n-1-1 사이의 값을 표현할 수 있기 때문에 2n-1까지 나타내기 위해서는 (N+1)-비트를 사용해야 한다. 이로 인해 불필요하게 1-비트가 추가적으로 사용된다. 반면 세 번째 부호화 방법에서 다섯 번째 부호화 방법의 경우에는 예측 오차가 0인 경우 추가적인 예측 오차를 부호화하지 않기 때문에 N-비트로 -2n-1에서 2n-1 사이의 값을 표현할 수 있다.
일반적인 2의 보수와 변형된 2의 보수를 N-비트가 3-비트인 경우의 예로 나타내면 표 1과 같다.
예측 오차 일반적인 2의 보수 변형된 2의 보수
4 표현 불가 011(b)
3 011(b) 010(b)
2 010(b) 001(b)
1 001(b) 000(b)
0 000(b) 표현 불가
-1 111(b) 111(b)
-2 110(b) 110(b)
-3 101(b) 101(b)
-4 100(b) 100(b)
다시, 도 2 및 도 3을 보면, 패킷 생성부(118)는 예측 오차 부호화부(116)에 의해 부호화된 예측 오차를 패킷으로 생성한다(S340).
도 9는 본 발명의 실시 예에 따른 패킷 생성부에서 생성된 패킷의 일 예를 나타낸 도면이다.
도 9에 도시한 바와 같이, 하나의 패킷은 헤더와 페이로드를 포함하고, 페이로드에는 헤더, 첫 번째 데이터(룩업 테이블의 첫 번째 좌표 값), 두 번째 데이터(룩업 테이블의 두 번째 좌표 값), 그리고 복수의 부호화된 예측 오차 값이 포함된다.
패킷의 헤더는 1차 함수의 특성으로 예측하였는지 2차 함수의 특성으로 예측하였는지를 알려주는 데이터, 복수의 부호화 방법 중에서 어떤 부호화 방법을 사용했는지 알려주는 데이터, X축 예측 오차의 부호화 비트 크기, Y축 예측 오차의 부호화 비트 크기, 그리고 패킷이 포함하고 있는 좌표의 수를 포함한다. 부가적으로는 페킷의 헤더는 채널 정보, 출력될 영상 상에서의 X축 및 Y축 좌표 값 등을 더 포함할 수 있다.
부호화의 과정에서 예측된 값이 원래의 룩업 테이블의 값과 같거나 혹은 예측 오차가 일정한 범위 내의 작은 값일 경우 연속성을 가지고 계속 예측할 수 있지만, 왜곡 보정될 영상의 라인이 바뀌거나 혹은 참조하는 채널이 바뀌거나 혹은 다른 이유로 예측 오차가 커서 연속성이 끊어지는 경우도 발생할 수 있다.
패킷 생성부(118)는 연속성이 있는 좌표 값들을 하나의 그룹으로 묶고 하나의 그룹에 대해 압축된 데이터를 하나의 패킷으로 생성한다. 연속성이 끊어지는 경우 해당 압축된 데이터부터 새로운 패킷으로 생성할 수 있다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다.

Claims (8)

  1. 카메라로부터 입력되는 영상의 왜곡을 보정하는 장치에서 사용되는 룩업 테이블을 압축하는 장치에 있어서,
    상기 룩업 테이블에서 (n-2)번째 좌표에 해당하는 데이터와 (n-1)번째 좌표에 해당하는 데이터의 차이를 상기 (n-1)번째 좌표에 해당하는 데이터에 더하여 n번째 좌표의 예측 데이터를 생성하는 예측부,
    상기 룩업 테이블의 예측 데이터와 상기 룩업 테이블의 데이터의 오차에 해당하는 예측 오차를 계산하는 예측 오차 계산부,
    상기 예측 오차를 부호화하는 예측 오차 부호화부, 그리고
    상기 부호화된 예측 오차를 패킷으로 생성하여 저장하는 패킷 생성부
    를 포함하는 룩업 테이블 압축 장치.
  2. 삭제
  3. 제1항에서,
    상기 예측 오차 부호화부는 상기 룩업 테이블의 X축과 Y축 데이터 각각에 대해 구해진 X축 예측 오차와 Y축 예측 오차를 N-비트의 2의 보수로 나타낸 값으로 부호화하고,
    상기 N의 값은 상기 영상의 픽셀에 따른 X축과 Y축의 좌표값의 범위에 의해 설정되는 상기 룩업 테이블의 특성에 따라 결정되는 룩업 테이블 압축 장치.
  4. 제3항에서,
    상기 예측 오차 부호화부는 상기 룩업 테이블의 X축과 Y축 데이터 각각에 대해 구해진 X축 예측 오차와 Y축 예측 오차를 제로 인덱스와 상기 제로 인덱스에 따라서 상기 X축 예측 오차 및 상기 Y축 예측 오차 중 적어도 하나를 N-비트의 2의 보수로 나타낸 값으로 부호화하며,
    상기 제로 인덱스는 상기 X축 예측 오차와 상기 Y축 예측 오차의 유무에 따라서 1에서 3 비트의 값으로 결정되고,
    상기 N의 값은 상기 영상의 픽셀에 따른 X축과 Y축의 좌표값의 범위에 의해 설정되는 상기 룩업 테이블의 특성에 따라 결정되는 룩업 테이블 압축 장치.
  5. 제1항에서,
    상기 패킷 생성부는 연속성이 있는 부호화된 예측 오차를 하나의 패킷으로 생성하는 룩업 테이블 압축 장치.
  6. 카메라로부터 입력되는 영상의 왜곡을 보정하는 장치에서 룩업 테이블을 압축하는 방법에 있어서,
    상기 룩업 테이블의 (n-1)번째 X축 데이터와 (n-2)번째 X축 데이터의 차이를 상기 (n-1)번째 X축 데이터에 더하여 n번째 X축의 예측 데이터를 생성하는 단계,
    (n-1)번째 Y축 데이터와 (n-2)번째 Y축 데이터의 차이를 상기 (n-1)번째 Y축 데이터에 더하여 n번째 Y축의 예측 데이터를 생성하는 단계,
    X축 예측 데이터와 X축 데이터의 오차에 해당하는 X축 예측 오차와 Y축 예측 데이터와 Y축 데이터의 오차에 해당하는 Y축 예측 오차를 계산하는 단계,
    상기 X축 예측 오차와 상기 Y축 예측 오차를 부호화하여 압축 데이터를 생성하는 단계, 그리고
    상기 압축 데이터를 패킷으로 저장하는 단계
    를 포함하는 룩업 테이블 압축 방법.
  7. 삭제
  8. 제6항에서,
    상기 생성하는 단계는
    상기 X축 예측 오차 및 상기 Y축 예측 오차를 N-비트의 2의 보수로 나타낸 값으로 부호화하거나,
    상기 X축 예측 오차 및 상기 Y축 예측 오차를 제로 인덱스와 상기 제로 인덱스에 따라서 상기 X축 예측 오차 및 상기 Y축 예측 오차 중 적어도 하나를 N-비트의 2의 보수로 나타낸 값으로 부호화하는 단계를 포함하며,
    상기 제로 인덱스는 상기 X축 예측 오차와 상기 Y축 예측 오차의 유무에 따라서 1에서 3 비트의 값으로 결정되고, 상기 N의 값은 상기 영상의 픽셀에 따른 X축과 Y축의 좌표값의 범위에 의해 설정되는 상기 룩업 테이블의 특성에 따라 결정되는 룩업 테이블 압축 방법.
KR1020120076652A 2012-07-13 2012-07-13 룩업 테이블 압축 장치 및 방법 KR101355570B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120076652A KR101355570B1 (ko) 2012-07-13 2012-07-13 룩업 테이블 압축 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120076652A KR101355570B1 (ko) 2012-07-13 2012-07-13 룩업 테이블 압축 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20140009809A KR20140009809A (ko) 2014-01-23
KR101355570B1 true KR101355570B1 (ko) 2014-01-27

Family

ID=50142819

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120076652A KR101355570B1 (ko) 2012-07-13 2012-07-13 룩업 테이블 압축 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101355570B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040041781A (ko) * 2002-11-11 2004-05-20 삼성전자주식회사 메모리를 감소시키는 개선된 룩업 테이블 압축방법 및이를 이용하여 압축된 룩업 테이블을 가지는 비선형 함수발생장치 및 그 발생방법
JP2008278464A (ja) * 2007-04-06 2008-11-13 Canon Inc 多次元データの符号化装置及び復号装置並びにその制御方法
JP2011045059A (ja) * 2009-08-20 2011-03-03 Robert Bosch Gmbh カメラ画像のひずみ補正方法、ならびにカメラ画像のひずみ補正制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040041781A (ko) * 2002-11-11 2004-05-20 삼성전자주식회사 메모리를 감소시키는 개선된 룩업 테이블 압축방법 및이를 이용하여 압축된 룩업 테이블을 가지는 비선형 함수발생장치 및 그 발생방법
JP2008278464A (ja) * 2007-04-06 2008-11-13 Canon Inc 多次元データの符号化装置及び復号装置並びにその制御方法
JP2011045059A (ja) * 2009-08-20 2011-03-03 Robert Bosch Gmbh カメラ画像のひずみ補正方法、ならびにカメラ画像のひずみ補正制御装置

Also Published As

Publication number Publication date
KR20140009809A (ko) 2014-01-23

Similar Documents

Publication Publication Date Title
JP2009273035A (ja) 画像圧縮装置、画像伸張装置及び画像処理装置
KR20200106216A (ko) 이미지/비디오 처리를 위한 선형 인코더
JP5610709B2 (ja) エラー訂正用データの生成装置、及び生成方法
JP4801778B2 (ja) 映像圧縮符号化装置、映像復元装置、映像圧縮プログラム、及び、映像復元プログラム
US20190087945A1 (en) Device for recording information about defective pixels, and defective pixel value correction device and method
US20240048738A1 (en) Methods, apparatuses, computer programs and computer-readable media for processing configuration data
TWI513303B (zh) 用於修正在數位影像資料中之失真的設備和方法
US20190215519A1 (en) Method and apparatus for compressing video data
JP6363181B2 (ja) フレームの処理及び再生
KR101355570B1 (ko) 룩업 테이블 압축 장치 및 방법
US20120195511A1 (en) Lossless image compression and decompression method for high definition image and electronic device using the same
JP6352625B2 (ja) 画像データ圧縮回路、画像データ圧縮方法及び撮像装置
JP5023313B2 (ja) ディストーション補正装置
JP2011109172A (ja) 映像符号化装置、および、そのデータ処理方法
JP2011109364A (ja) 画像処理装置
JP6225137B2 (ja) 車載カメラ画像処理装置
JP2008187306A (ja) データ圧縮装置、データ伸張装置及びデータ通信システム
JP4814826B2 (ja) 画像処理装置及び画像処理方法
JP6486120B2 (ja) 符号化装置、符号化装置の制御方法、及びプログラム
KR102138331B1 (ko) 영상 처리 장치, 영상 처리 방법, 및 촬영 장치
JP5929530B2 (ja) 画像データ圧縮符号化装置、画像データ圧縮符号化方法、及び、画像データ圧縮符号化プログラム
KR101289881B1 (ko) 무손실 영상 압축 장치 및 방법
US9866844B2 (en) Method, system and device for image and video coding
JP2010136279A (ja) 符号化装置、復号装置、生成行列の作成方法及びコンピュータプログラム
JP2006502673A6 (ja) ディジタルイメージセンサデータのインストリームロスレス圧縮

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20181212

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191204

Year of fee payment: 7