KR101798010B1 - 디지털 이미지 안정화를 위해 최적화된 회전되고 보간된 픽셀들의 래스터 출력 - Google Patents

디지털 이미지 안정화를 위해 최적화된 회전되고 보간된 픽셀들의 래스터 출력 Download PDF

Info

Publication number
KR101798010B1
KR101798010B1 KR1020110141581A KR20110141581A KR101798010B1 KR 101798010 B1 KR101798010 B1 KR 101798010B1 KR 1020110141581 A KR1020110141581 A KR 1020110141581A KR 20110141581 A KR20110141581 A KR 20110141581A KR 101798010 B1 KR101798010 B1 KR 101798010B1
Authority
KR
South Korea
Prior art keywords
frame
row
meta
pixels
target frame
Prior art date
Application number
KR1020110141581A
Other languages
English (en)
Other versions
KR20120072354A (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 삼성전자주식회사
Publication of KR20120072354A publication Critical patent/KR20120072354A/ko
Application granted granted Critical
Publication of KR101798010B1 publication Critical patent/KR101798010B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/207Analysis of motion for motion estimation over a hierarchy of resolutions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • G06T7/238Analysis of motion using block-matching using non-full search, e.g. three-step search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/68Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
    • H04N23/681Motion detection
    • H04N23/6811Motion detection based on the image signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20016Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Adjustment Of Camera Lenses (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

디지털 이미지 안정화 장치 및 방법은 회전 움직임 성분을 포함하는 주요 변환을 소스 프레임에 적용하고 래스터 순서에 따라 목표 프레임의 전체 행의 각각의 픽셀의 이미지 데이터를 보간하고 출력한다. 제1 단계는 주요 변환 계수들에 기초하여, 목표 프레임의 전체의 행의 픽셀들에 대응하는 소스 프레임 데이터의 대각선방향으로 지향된 메타-행들을 식별하는 단계이다. 제2 단계는 멀티-라인 버퍼와 같은 메모리 버퍼의 하나의 행 안으로 소스 프레임 데이터의 각각의 메타-행을 저장함으로써 목표 프레임의 전체의 행의 픽셀들에 대응하는 메타-행들의 소스 프레임 데이터를 수평화하는 단계이다. 그 후, 움직이는-윈도우 보간 단계는 주요 변환 계수들에 기초하여 순차적으로 보간하고 래스터 순서에 따라 목표 프레임의 전체의 행의 이미지 데이터를 출력한다.

Description

디지털 이미지 안정화를 위해 최적화된 회전되고 보간된 픽셀들의 래스터 출력{Raster output of rotated interpolated pixels optimized for digital image stabilization}
본 발명의 개념에 따른 실시 예는 디지털 이미지-안정화(digital image- stabilization(DIS)), 특히, 목표 메타-프레임(destination meta-frame)의 수평 행의 픽셀들의 윈도우잉 보간(windowing interpolation)에 기초한 소스 프레임 (source frame)의 목표 프레임 부분(destination frame portion)을 회전하는 방법과 래스터 순서(raster order)에 따라 상기 목표 프레임의 보간된 픽셀들을 출력하는 방법에 관한 것이다.
카메라 캡쳐(camera capture)를 포함하는 디지털 카메라, 디지털 비디오 카메라, 및 휴대용 장치(hand-held device)는, 상기 카메라가 사람에 의해 작동되는 도중에, 종종 이미지나 비디오를 캡쳐하는데 사용된다.
따라서, 상기 비디오 카메라는, 상기 이미지나 상기 비디오를 캡쳐하는 도중에, 작동시키는 사람의 손에서 흔들리거나(shaking) 또는 떨릴(jittering) 수 있다. 떨림(jitter)은 수평 성분, 수직 성분, 및 회전 성분을 포함할 수 있다. 떨림은 보는 사람에게 산만하게 하거나 또는 혼란스럽게 할 수 있다. 따라서, 같은 장면의 비디오 프레임들의 시퀀스(sequence)로부터 카메라 궤적(즉, 연속하는 프레임들의 각각의 쌍 사이의 흔들림)을 디지털 방식으로 측정하고, 흔들림을 제거하는 디지털 회로의 사용을 필요로 한다.
안정된 또는 정지된 카메라 또는 움직이는 비디오 카메라에 의해 생성된 비디오는 캡처된 비디오에서 순조로운 움직임, 변형(translation) 또는 회전 (rotation)을 주로 포함한다. 한편, 불안전한 비디오 카메라는 비디오 이미지들을 통해 고주파 지터(예컨대, 변형된 및/또는 회전된)를 갖는 비디오를 생성한다.
디지털 이미지 안정화(DIS) 시스템은 이미지 시퀀스에서 우선 원하지 않는 또는 의도하지 않은 동작을 추정하고 상기 이미지 시퀀스의 프레임들 각각에 수정 또는 보상을 적용한다. 안정화된 비디오의 시각적 효과는 카메라 궤적 추정의 질에 상당히 의존한다.
카메라 및/또는 장면의 전반적인 움직임은 의도된 전반적인 움직임, 예컨대 패닝(panning), 즉 움직이는 물체의 속도나 진행 방향에 맞춰 카메라를 이동시키면서 촬영하는 기법과 의도되지 않은 전반적인 움직임, 예컨대 흔들림을 구별하기 위해 분석된다.
수학에서, 아핀 기하학(affine geometry)은 아핀 변환, 즉, 비-특이(non-singular) 선형 변환과 변형에 의해 변하지 않은 채로 남아있는 기하학적 성질에 관한 연구이다. 아핀 매트릭스(Affine matrix)라 불리는 수와 관련된 계수들에 의해 정의된 방정식들의 수학적 시스템은 연속적인 프레임들의 각 쌍들 사이에서 또는 그것의 부분들, 예컨대 프레임 안에서 움직이는 물체들 사이에서 감지된 움직임의 수평 성분, 수직 성분, 회전 성분, 및 스칼라(scalar), 예컨대, 줌 인(zoom in) 또는 줌 아웃(zoom out)을 특징짓도록 발전되어 왔다. 아핀 변환은 다음과 같다.
x' = sx*x + ry*y + tx
y' = rx*x + sy*y + ty
여기서, (x,y)는 목표 프레임 픽셀 위치이고,
(x', y')은 아핀 변환 후에 계산된 소스 프레임 픽셀 위치이다.
sx, ry, rx, sy, tx 및 ty는 아핀 변환 계수들이다.
상기 그룹의 수학적 표현은 장면(scene)의 선형 변위(linear displacement), 회전 각도, 척도(scale) 등을 포함할 수 있다.
카메라 지터(camera jitter)는, 장면에서 어떤 실제로 정지된 물체들, 예컨대 바위, 테이블(table), 주차된 차, 산, 태양과 관련된 아핀 변환 매트릭스 P(n) (주요 변환(principal transform) P(n), 또는 글로벌 변환(global transform)이라고도 불림)에 의해 특징지어질 수 있다. 반면에, 상기 프레임 안에서 어떤 움직이는 물체들, 예컨대 새, 사람, 공, 움직이는 차, 지나가는 기차는 추가적인 아핀 매트릭스 Ti(n)에 의해 특징지어질 수 있다.
따라서, 주요 변환 P(n)은 프레임 안에서 배경의 움직임의 조밀한 묘사 (compact description)로서 제공할 수 있다. 작은 움직임을 갖는 변환들은 주요 변환 P(n)에 가깝다.
일단 주요 변환 P(n)이 얻어지면, 그것은 캡쳐된 이미지 데이터의 소스 프레임에 적용되고, 수정된 목표 프레임이 얻어진다. 주요 변환 P(n)이 회전 성분을 포함할 때, 목표 프레임의 같은 행 안의 소스 프레임 데이터는 소스 프레임의 많은 다른 라인들로부터 비롯될 수 있다.
특정 목표 프레임 픽셀 위치에 부합하도록 확인된 소스 프레임 픽셀 위치는 상기 소스 프레임에 존재하는 픽셀의 중앙에 정확히 일치하지 않을 수 있다. 특정 목표 프레임 픽셀 위치에 부합하도록 확인된 상기 소스 프레임 픽셀 위치는 상기 소스 프레임의 두 개 또는 네 개의 인접 픽셀들 사이에서 등거리로 위치할 수 있다.
따라서, 이들 인접한 픽셀들 중 어느 것도 개별적으로 목표 프레임 픽셀에 대응하는 것처럼 동일한 밝기와 컬러를 갖지 않을 것이다. 그러나, 그들의 평균은 가질 것이다. 회전 동작이 제공되었을 때, 많은 혹은 대부분의 목표 프레임의 픽셀들은 소스 프레임에서 전체의 픽셀들과 정확히 일치하지는 않을 것이다.
그러한 경우에, 소스 프레임의 복수의 인접 픽셀들의 이미지 데이터 Dsf로부터 목표 프레임 이미지 데이터 Ddf를 보간(interpolate)하는 것이 필요하다. 이러한 보간은 복수의 아핀 변환 계수 sx, ry, rx, sy, tx, 및 ty에 기초한 아핀 변환 매트릭스를 사용하여 수행된다. 그러나, 상기 소스 프레임에 관련된 목표 프레임의 회전 각도 때문에, 목표 프레임의 어느 주어진 행 Rd 안에서 픽셀들의 소스 프레임 데이터는 목표 프레임의 다른 행들로부터 비롯될 수 있다.
예컨대, 만약 회전 각도가 ±45°일 때, 목표 프레임의 중간 행 Rd 내의 픽셀들의 소스 프레임 데이터는 소스 프레임의 대부분의 수직 차원을 넓게 퍼뜨리는 (spanning) 소스 프레임 행들의 범위로부터 비롯될 수 있다. 따라서, 목표 프레임을 출력하기 위한 접근 방법은 소스 프레임을 복수의 타일(tile)(또는 복수의 블록 (block))로 나누고, 복수의 타이(또는 복수의 블록) 각각으로부터 각각의 목표 프레임(또는 행 Rd)의 부분을 보간한다.
다양한 데이터 포맷(data format)은 이미지의 각각의 픽셀의 밝기와 컬러를 인코딩(encoding)하기 위해 사용될 수 있다. 하나의 시스템은 그레이스케일 (grayscale) 데이터인데, 여기에 루마(luma)(Y) 값 데이터는 픽셀마다 저장된다.
다른 시스템은 8-비트 4:2:2 데이터 포맷인데, 여기에 4개의 픽셀의 4개의 루마(Y) 값과 2개의 크로마(chroma)(Cb 및 Cr) 값이 4:2:2의 비율로 저장되는데, 인간의 눈은 컬러의 변화보다 빛의 밝기에 더 민감하기 때문이다.
따라서, 소스 프레임으로부터 목표 프레임의 픽셀을 보간할 때, 루마 데이터 값과 크로마 데이터 값을 위해 서로 다른 크기의 보간 영역을 사용하는 것이 최적이다. 예컨대, 소스 프레임으로부터 루마(Y) 데이터의 4×8 영역과, 크로마(Cb 및 Cr) 데이터의 4×4 영역은 8-비트 4:2:2 데이터 포맷에서 각각의 목표 프레임을 보간하기 위해 사용될 수 있다.
메모리 관리 스킴(schemes)의 타일링(tiling) 또는 블록 형태는 블록 형태에서 인접한 타일들 사이의 소스 프레임 데이터를 오버래핑(overlapping)하고 목표 프레임 데이터를 출력하는데 액세스(access)하기 위한 오버헤드(overhead)를 갖는다. 이미지 처리의 후단이 래스터 순서(예를 들어, 좌측에서 우측으로 복수의 픽셀의 전체 행)에 따라 목표 프레임 이미지 데이터를 필요로 할 때, 보간된 목표 프레임 데이터의 이러한 블록들을 연결하고 래스터 순서에 따라 각각의 행 Rd의 픽셀들을 독출하는 것에 대한 오버헤드는 더 많은 버스 대역폭(bus bandwidth)을 요구하고 달성하기 위한 멀티플 라인 버퍼(multiple line buffer)를 필요로 한다.
본 발명은 인접한 타일들 사이에서 소스 프레임 액세스(source frame access)를 오버래핑(overlapping)하지 않고 이미지 회전을 수행할 수 있는 픽셀 보간 방법을 제공하는 것이다.
상기 방법은 래스터 순서 목표 데이터(raster order destination data)를 발생하기 위한 추가적인 계산이나 메모리 오버헤드를 필요로 하지 않는다.
본 발명은 비디오 프레임의 장면에서 정지된 물체 및/배경 물체를 표현하는 주요 변환(principle transform) P(n)을 적용할 수 있는 디지털 이미지 안정화 방법을 제공하는 것이다.
본 발명은 인접한 타일들 사이에서 소스 프레임 액세스(source frame access)를 오버래핑(overlapping)하지 않고 이미지 회전을 수행할 수 있는 픽셀 보간 방법을 제공하는 것이다.
상기 방법은 래스터 순서 목표 데이터(raster order destination data)를 발생하기 위한 추가적인 계산이나 메모리 오버헤드를 필요로 하지 않는다.
본 발명은 비디오 프레임의 장면에서 정지된 물체 및/배경 물체를 표현하는 주요 변환(principle transform) P(n)을 적용할 수 있는 디지털 이미지 안정화 방법을 제공하는 것이다.
본 발명의 실시 예에 따르면, 아핀 변형(affine transform)은 소스 프레임의 요구되는 픽셀 데이터의 대응하는 물리적 메모리 주소들을 생성하기 위해 수신된 아핀 계수들 sx, sy, rx, ry, tx, 및, ty 에 기초하고, 계산된 목표 프레임 좌표들(target destination frame coordinates)에 기초한 보상 유닛의 제1아핀 변형 엔진에서 수행된다. 어떤 컬러 데이터 시스템들에서는, 목표 프레임의 각 픽셀의 보간 동작을 수행하기 위해 소스 프레임으로부터 데이터(예컨대, 8열씩 4행들)의 보간 영역이 요구된다. 소스 프레임 영역으로부터 회전 이미지 변형을 위해 요구되는 데이터에 억세스(access)하기 위해, 상기 방법은 상기 목표 프레임의 행과 대응하는 대각선으로 처리된(disposed) 메타-행들에서 상기 소스 프레임의 픽셀들을 패치(fetch)하고, 이러한 데이터 픽셀들을 수평으로 복수의 라인 버퍼들로 재배치(re-position)한다. 상기 복수의 라인 버퍼들에 저장된 내용(content)에 데이터는 상기 목표 프레임에서 픽셀들의 하나 또는 그 이상의 전체 행들과 대응한다. 그러므로, 보간은 래스터 순서로 상기 목표 프레임의 하나 또는 그 이상의 전체 행들에 대해 진행할 수 있다.
본 발명의 실시 예는 변형(translation), 스케일링(scaling), 및 회전과 함계 아핀 변형(이미지 보간)을 수행한다. 현재 행 Rd 목표 프레임의 보간된 픽셀들을 생성하기 위해 필요한 모든 소스 프레임 데이터는 메타-프레임 버퍼의 복수의 라인 버퍼들 내에서 정렬된다. 수평-무빙 윈도우 동작(a horizontally-moving window operation)은 래스터 순서로 상기 목표 프레임의 생성을 위해 소스 프레임 데이터 보간 과정 중 사용된다. 만약 상기 라인 버퍼에 상기 소스 프레임 데이터가 상기 소스 프레임의 다른 행들로부터 올 때, 상기 목표 프레임의 각 픽셀의 보간을 위해 소스 프레임의 요구되는(예컨대, 4x8) 메모리 윈도우 영역의 모양은 이동될 것이다.
본 발명의 실시 예에 따른 이미지 처리 회로는 본래 이미지 프레임의 목표 메타-행 부분에서 각 메타-행의 시작과 종료를 나타내는 수평 위치들의 하나의 세트를 생성하기 위해 구현되는 제1아핀 변환 엔진, 목표 프레임으로부터 픽셀들의 각 메타-행을 독출하고 수평화된 픽셀들의 각각 메타-행을 복수의 라인 버퍼들 중 어느 하나로 기록하기 위해 구현되는 직접 메모리 억세스 컨트롤러, 및 상기 목표 프레임의 각 픽셀을 보간하고 회전하기 위해 그리고 래스터 순서로 상기 회전된 픽셀들을 출력하기 위해 구현되는 제2 아핀 변환 엔진을 포함한다.
상기 방법은 상기 소스 프레임에서 대각선 메타-행들 내에 대각선으로 분배된 이미지 데이터의 위치들을 계산하고 ±45°까지 이미지 회전 각을 지원하기 위해 라인 버퍼 메모리 관리 일들(line buffer memory management tasks)을 수행한다.
본 발명의 실시 예에 따른 이미지 처리 회로는 본래 이미지 프레임의 회전된 목표 프레임 부분에서 픽셀들의 각 메타-행의 시작과 종료를 나타내는 수평 위치들의 세트를 생성하기 위해 구현되는 제1아핀 변환 엔진, 목표 프레임으로부터 픽셀들의 각 메타-행을 독출하고 각 행을 복수의 라인 버퍼들 중 어느 하나로 기록하기 위해 구현되는 직접 메모리 억세스 컨트롤러, 및 상기 회전된 목표 프레임의 각 픽셀을 보간하고 래스터 순서로 상기 픽셀들을 출력하기 위해 구현된 제2아핀 변환 엔진을 포함한다.
상기 윈도우 보간 무빙 윈도우 과정은 래스터 순서로 상기 목표 프레임 데이터를 생성한다. 상기 보간 윈도우 센터 위치(x',y')는 회전 방정식에 기초하여, 예컨대, 아핀 변환 방정식 계수들(affine transform equation coefficients)을 이용하여, 계산될 것이다. 보간 윈도우 모양과 위치는 라인 버퍼들에 상기 소스 데이터가 저장된 상기 센터 y' 위치와 상기 수직 위치에 따라 조정될 것이다.
본 발명의 다른 실시 예에 따른 아핀 변환 계수들에 따라 본래 프레임의 목표 프레임 부분 회전 방법은 상기 아핀 변환 계수들에 기초하여 상기 목표 프레임의 상기 제1행의 상기 픽셀들에 대응하는 상기 데이터를 복수의 라인-버퍼들 중에서 제1라인 버퍼로 복사하는 단계; 상기 아핀 변환 계수들에 기초하여 상기 목표 프레임의 상기 제2행의 상기 픽셀들에 대응하는 상기 데이터를 상기 복수의 라인-버퍼들 중에서 제2라인 버퍼로 복사하는 단계; 상기 복수의 라인 버퍼들에 저장된 상기 데이터에 기초하여 상기 목표 프레임의 제1행에서 연속적으로 각 픽셀을 회전하고 래스터 순서로 상기 목표 프레임의 상기 제1행의 상기 보간된 픽셀들을 출력하는 단계; 및 그리고나서 상기 복수의 라인 버퍼들에 저장된 상기 데이터에 기초하여 상기 목표 프레임의 상기 제2행에서 연속적으로 각 픽셀을 회전하고 래스터 순서로 상기 목표 프레임의 상기 제2행의 상기 보간된 픽셀들을 출력하는 단계를 포함한다.
본 발명의 다른 실시 예에 따른 방법은 비디오 프레임의 장면에서 정지/배경 객체를 나타내는 주요 변환 P(n)을 적용하는 방법을 제공한다.
본 발명의 다른 실시 예에 따른 아핀 변환 계수들에 따른 소스 프레임의 목표 프레임 부분 회전 방법은 상기 아핀 변환 계수들에 기초하여 상기 목표 프레임의 상기 제1행의 상기 픽셀들에 대응하는 제1메타-행에 소스 프레임의 픽셀들의 상기 이미지 데이터를 제1라인 버퍼로 복사하는 단계; 상기 아핀 변환 계수들에 기초하여 상기 목표 프레임의 상기 제1행의 상기 픽셀들에 대응하는 제2메타 행에 상기 소스 프레임의 픽셀들의 상기 이미지 데이터를 제2라인 버퍼로 복사하는 단계; 및 상기 제1 및 제2라인 버퍼들에 저장된 상기 이미지 데이터에 기초하여 상기 목표 프레임의 상기 제1행의 각 픽셀들 순차적으로 보간하고 래스터 순서로 상기 목표 프레임의 상기 제1행의 상기 보간된 픽셀들을 출력하는 단계를 포함한다.
상기 방법은 상기 아핀 변환 계수들에 기초하여 상기 목표 프레임의 상기 제1행의 상기 픽셀들에 대응하는 제3메타-행에 상기 소스 프레임의 픽셀들의 상기 이미지 데이터를 제3라인-버퍼로 복사하는 단계; 상기 아핀 변환 계수들에 기초하여 상기 목표 프레임의 상기 제1행의 상기 픽셀들에 대응하는 제4메타-행에 상기 소스 프레임의 픽셀들의 상기 이미지 데이터를 제4라인 버퍼로 복사하는 단계; 및 상기 제1, 제2, 제3, 및 제4 라인 버퍼들에 저장된 상기 이미지 데이터에 기초하여 상기 목표 프레임의 상기 제1행의 각 픽셀들 순차적으로 보간하고 래스터 순서로 상기 목표 프레임의 상기 제1행의 상기 보간된 픽셀들을 출력하는 단계를 더 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 발명은 임의의 회전 각도(예컨대, ±45°까지) 이내에서 변환(translational)과 회전 모션(rotational motion)을 포함하는 어핀 변형들을 처리한다. 본 발명의 다른 다양한 실시 예는 4:2:2 데이터 포멧(format)과 더 작은 회전 각도 이내에서 변환(translational)과 회전 모션(rotational motion)을 포함하는 어핀 변형들을 처리하는데 최적화된다.
상기 목표 프레임의 상기 같은 행 Rd 이내에서 픽셀들의 상기 소스 프레임 데이터는 소스 프레임의 다른 라인들로부터 오기 때문에, 제1단계는 상기 목표 프레임의 회전 각에 따라 상기 소스 프레임 데이터를 수평화된 메타-행들로 재정렬하는 단계이다. 상기 제1단계는 상기 소스 프레임 데이터 Dsf의 수평화된 메타-행들을 저장하는 복수의 수평 라인 버퍼들 내에서 목표 프레임의 전체 행 Rd에 대응하는 모든 요구되는 소스 프레임 데이터를 정렬하는 단계이다. 우선적으로, 상기 버퍼 메모리의 모든 라인은 상기 보간 과정 중 동시에 독출될 수 있고, 상기 보간 과정에 연관되지 않은 상기 버퍼 메모리의 라인들은 상기 다음에 요구되는 소스 프레임 데이터와 함께 동시에 기록될 수 있다. 그러므로, 우선적으로, 상기 버퍼 메모리의 각 행은 독립적으로 접근될 수 있는 라인 버퍼로 구현된다.
상기 요구되는 소스 프레임 데이터가 상기 버퍼 메모리에서 이용가능할 때, 간단하고 매끄러운 수평적인 무빙-윈도우 보간 동작(a simple and smooth horizontally moving-window interpolation operation)은 상기 목표 프레임의 각 행 Rd에서 각 픽셀의 상기 목표 프레임 데이터 Ddf를 래스터 순서로 생성하기 위해 수행된다.
소스 프레임 데이터 Dsf의 상기 수평화된 메타-행들을 저장하기 위해 필요한 상기 메타-프레임 버퍼의 사이즈는 상기 목표 프레임의 하나 또는 그 이상의 행들 Rd과 대응하는 상기 목표 프레임 데이터 Ddf를 일시적으로 저장하기 위해, k-라인 버퍼를 재사용함으로써, k는 정수, 다양한 실시 예에서 감소된다. 만약 상기 수평화된 무빙-윈도우가 4x4 픽셀들 또는 4x8 픽셀들의 정상적인 면적을 가질 때, 상기 라인 버퍼의 4개 라인들만이 상기 목표 프레임의 상기 회전 각이 0(예컨대, 도 14 참조)일 때, 상기 목표 프레임의 하나 또는 그 이상의 행들 Rd과 대응하는 목표 프레임 데이터 Ddf를 저장하기 위해 필요하다. 하지만, 만약 상기 무빙-윈도우가 4x4 픽셀들의 정상적인 면적을 가질 때, 그리고 상기 목표 프레임의 상기 회전각이 ±45°일때, 상기 라인 버퍼의 7개 라인들만이 상기 목표 프레임의 단지 하나의 행 Rd과 대응하는 상기 목표 프레임 데이터 Ddf를 저장하기 위해 필요하다. 그러므로, 상기 소스 프레임 데이터 Dsf의 7개의 수평화된 메타-행들을 저장하는 7-라인 버퍼는, 상기 목표 프레임의 상기 회전각에 의존하여, 상기 목표 프레임의 적어도 하나 및 4개의 전체 행들 Rd을 4x4 보간하기 위해 충분한 데이터를 포함한다. 만약 상기 보간-윈도우가 4x8 픽셀들의 정상적인 면적을 가질 때, 7-라인 버퍼는 22.5도까지의 회전각을 처리할 수 있다. 만약 상기 목표 프레임의 회전각이 ±45°일때, 버퍼의 7라인들보다 더 많은 버퍼가 상기 목표 프레임의 하나 행 Rd에 대응하는 상기 목표 프레임 데이터 Ddf를 저장하기 위해 필요하다.
상기 보간 단계의 상기 수평 무빙-윈도우의 나누어진 모양은 상기 목표 프레임의 상기 회전각에 의존하여 변할 수 있고, 낮은 각들에서, 파단선에 의해 나누어지지 않는지, 하나의 파단선에 의해 나누어지는지, 혹은 복수의 파단선들에 의해 나누어지는지에 의존하여 변할 수 있다. 어떤 실시 예에서, 상기 회전 각은 상기 보간 단계의 각 무빙-윈도우가 적어도 단 하나의 파단선(예컨대, 도 15 참조)에 의해 나누어지도록 제한된다.
본 발명은 여기서 서술된 DIS 방법을 수행하기 위해 구현되는 디지털 이미지 안정화 회로를 제공한다. 비디오 프레임들로부터 카메라의 궤적에 의해 유발되는 떨림을 걸러내기 위해 구현된 상기 회로는 비디오 카메라 그 자체 내에 포함될 수 있고, 상기 캡쳐된(captured) 비디오 프레임들의 저장 이전에 실시간으로 상기 떨림을 제거하기 위해 활성화될 수 있다. 실시 예에 따라 연속적인 비디오 프레임들 사이에서 카메라 궤적을 추정하고 저장된 비디오 프레임들로부터 상기 떨림을 걸러내기 위해 구현된 상기 DIS 회로는 디지털 이미지 안정화(digital image stabilization; DIS) 방법을 구체화하는 소프트웨어에 의해 제어되는 일반적인 목적의 마이크로컴퓨터일 수 있다. 또한, 상기 DIS 회로는 디지털 이미지 안정화(digital image stabilization; DIS) 방법을 수행하기 위해 최적화된 ASIC( application specific integrated circuit)에서 구현되는 MEPG 비디오 인코더(video encoder)와 같은, 전용 하드웨어(dedicated hardware)일 수 있다.
본 발명의 실시 예에 따른 이미지 처리 회로는 소스 프레임에서 픽셀들의 각 메타-행의 시작을 나타내고 목표 프레임의 행들에서 픽셀들에 대응하는 수평 위치 데이터의 세트를 생성하기 위해 구현되는 제1아핀 변환 엔진, 목표 프레임으로부터 픽셀들의 각 메타-행을 독출하고 수평화된 픽셀들의 각각 메타-행을 복수의 라인 버퍼들 중 어느 하나로 기록하기 위해 수평 위치 데이터에 기초하여 제어되는 메모리 억세스 컨트롤러, 및 복수의 라인 버퍼들에 저장된 상기 소스 프레임의 픽셀들의 복수의 수평화된 메타-행들로부터 래스터 순서로 상기 목표 프레임의 픽셀들의 각 행에서 각 픽셀을 보간하고 출력하기 위해 구현된 제2 아핀 변환 엔진을 포함한다.
상기 목표 프레임은 아핀 변환 계수들(affine transform coefficients)의 수신된 세트에 따라 상기 목표 프레임의 상기 픽셀들의 상기 보간 동안 회전된다.
상기 제1아핀 변환 엔진은 아핀 변환 계수들의 수신된 세트에 기초하고 상기 소스 프레임과 관련된 상기 목표 프레임의 위치 및 크기 정보에 기초하여 상기 소스 프레임에서 픽셀들의 각 메타-행의 상기 시작을 나타내는 수평 위치 데이터의 상기 세트를 생성한다.
상기 복수의 라인 버퍼들은 적어도 5개의 라인 버퍼들을 포함한다.
실시 예에 따라 상기 복수의 라인 버퍼들은 적어도 7개의 라인 버퍼들을 포함한다.
실시 예에 따라 상기 복수의 라인 버퍼들은 적어도 11개의 라인 버퍼들을 포함한다.
상기 제2아핀 변환 엔진은 상기 11개의 라인 버퍼들의 각각을 포함하는 4x8 픽셀 보간 윈도우(pixel interpolation window)의 이용으로부터 래스터 순서로 상기 목표 프레임의 픽셀들의 각 행에 각 픽셀을 보간하고 출력한다.
본 발명의 실시 예에 따른 회전을 포함하는 아핀 변환 좌표들(affine transform coordinates)에 따라 소스 프레임의 복수의 행들에 픽셀들로부터 목표 프레임 보간 방법에 있어서 상기 아핀 변환 좌표들에 기초하여, 수평화된 상기 목표 프레임의 제1행의 상기 픽셀들에 대응하는 상기 모든 소스 프레임 데이터를 복수의 라인 버퍼들로 복사하는 단계, 및 상기 복수의 라인 버퍼들에 저장된 상기 소스 프레임 데이터로부터 상기 목표 프레임의 상기 제1행의 각 픽셀들을 보간하고 래스터 순서로 상기 목표 프레임의 상기 제1행의 상기 보간된 픽셀들을 출력하는 단계를 포함한다.
상기 복수의 라인 버퍼들은 적어도 5개의 라인 버퍼들을 포함한다.
실시 예에 따라 상기 복수의 라인 버퍼들은 적어도 11개의 라인 버퍼들을 포함한다.
실시 예에 따라 상기 목표 프레임 보간 방법은 상기 아핀 변환 좌표들에 기초하여, 수평화된 상기 목표 프레임의 제2행의 상기 픽셀들에 대응하는 모든 상기 소스 프레임 데이터를 상기 복수의 라인-버퍼들로 복사하는 단계, 및 상기 복수의 라인-버퍼들에 저장된 상기 소스 프레임 데이터로부터 상기 목표 프레임의 상기 제2행의 각 픽셀들을 보간하고 래스터 순서로 상기 목표 프레임의 상기 제2행의 상기 보간된 픽셀들을 출력하는 단계를 더 포함할 수 있다.
상기 목표 프레임의 상기 제1 행 및 제2 행의 상기 픽셀들에 대응하는 상기 모든 소스 프레임 데이터를 복사하는 상기 단계들은 상기 복수의 라인-버퍼들에 저장된 상기 소스 프레임 데이터로부터 상기 목표 프레임의 상기 제1행 및 제2행의 각 픽셀을 보간하는 상기 단계들의 시작 이전에 완료된다.
실시 예에 따라 상기 목표 프레임 보간 방법은 상기 아핀 변환 좌표들에 기초하여, 수평화된 상기 목표 프레임의 제3 및 제4 행들의 상기 픽셀들에 대응하는 모든 상기 소스 프레임 데이터를 상기 복수의 라인-버퍼들로 복사하는 단계, 및 상기 복수의 라인-버퍼들에 저장된 상기 소스 프레임 데이터로부터 상기 목표 프레임의 상기 제3 및 제4행들의 각 픽셀을 보간하고 래스터 순서로 상기 목표 프레임의 상기 제3 및 제4 행들의 상기 보간된 픽셀들을 출력하는 단계를 더 포함할 수 있다.
상기 목표 프레임의 상기 제1, 제2, 제3, 및 제4 행들의 상기 픽셀들에 대응하는 상기 모든 소스 프레임 데이터를 복사하는 상기 단계들은 상기 복수의 라인-버퍼들에 저장된 상기 소스 프레임 데이터로부터 상기 목표 프레임의 상기 제1, 제2, 제3, 및 제4 행들의 각각의 픽셀을 보간하는 상기 단계들의 시작 이전에 완료된다.
상기 목표 프레임의 상기 제2 행의 상기 픽셀들에 대응하는 상기 모든 소스 프레임 데이터를 복사하는 상기 단계는 상기 목표 프레임의 상기 제1 행의 각각의 픽셀을 보간하는 상기 단계를 수행하는 동안 수행된다.
상기 목표 프레임의 상기 제2 행의 상기픽셀들에 대응하는 상기 모든 소스 프레임 데이터를 복사하는 상기 단계는 상기 목표 프레임의 상기 제1 행의 각각의 픽셀을 보간하는 상기 단계의 완성에 앞서 완성된다.
소스 프레임의 목표 프레임 부분 회전 방법을 수행하기 위해 구현되는 이미지 처리 유닛을 포함하며, 상기 방법은 무빙 윈도우 보간 처리(moving window interpolation process)를 이용하는 목표 프레임의 픽셀들을 보간하기 위해 복수의 라인 버퍼들 내에서 소스 프레임 데이터의 정렬을 유지하는 동안, 아핀 변환 계수들에 기초한 파단선 수평 위치 정보의 세트에 기초하여 수평화된 상기 목표 프레임 부분에 대응하는 상기 소스 프레임 데이터를 복수의 라인 버퍼들로 복사하는 단계를 포함한다.
상기 모든 소스 프레임 데이터를 복사하는 상기 단계는 상기 소스 프레임 데이터의 모든 행과 함께 이용하기 위해 수평 데이터 정렬 정보의 하나의 세트만에 기초하여 상기 소스 프레임 데이터를 복수의 라인 버퍼들로 정렬하는 단계를 포함한다.
본 발명의 실시 예에 따른 이미지 처리 회로는 원래 이미지 프레임의 회전된 목표 프레임 부분에 픽셀들의 각 메타-행의 시작과 끝을 나타내는 수평 위치들의 세트를 생성하기 위해 구현되는 제1변환 엔진, 목표 프레임 부분에서 픽셀들의 각 메타-행을 독출하고 복수의 라인 버퍼들중 어느 하나로 각 행을 기록하기 위해 구현되는 다이렉트 메모리 억세스 컨트롤러, 및 상기 회전된 목표 프레임의 각 픽셀을 보간하고 래스터 순서로 상기 픽셀들을 출력하기 위해 구현되는 제2변환 엔진을 포함한다.
본 발명의 실시 예에 따른 아핀 변환 계수들에 따라 소스 프레임의 목표 프레임 부분 회전 방법에 있어서, 상기 아핀 변환 계수들에 기초하여 상기 목표 프레임의 제1행의 상기 픽셀들에 대응하는 제1메타-행에 소스 프레임의 픽셀들의 이미지 데이터를 제1라인 버퍼로 복사하는 단계, 상기 아핀 변환 계수들에 기초하여 상기 목표 프레임의 상기 제1행의 상기 픽셀들에 대응하는 제2 메타-행에 상기 소스 프레임의 픽셀들의 상기 이미지 데이터를 제2라인 버퍼로 복사하는 단계, 및 상기 제1 및 제2 라인 버퍼들에 저장된 상기 이미지 데이터에 기초하여 상기 목표 프레임의 상기 제1행의 각 픽셀을 순차적으로 보간하고 래스터 순서로 상기 목표 프레임의 상기 제1행의 상기 보간된 픽셀들을 출력하는 단계를 포함한다.
실시 예에 따라 상기 목표 프레임 부분 회전 방법은 상기 아핀 변환 계수들에 기초하여 상기 목표 프레임의 상기 제1행의 상기 픽셀들에 대응하는 제3메타-행에 상기 소스 프레임의 픽셀들의 상기 이미지 데이터를 제3라인 버퍼로 복사하는 단계, 상기 아핀 변환 계수들에 기초하여 상기 목표 프레임의 상기 제1행의 상기 픽셀들에 대응하는 제4메타-행에 상기 소스 프레임의 픽셀들의 상기 이미지 데이터를 제4라인 버퍼로 복사하는 단계, 및 상기 제1, 제2, 제3, 및 제4 라인 버퍼들에 저장된 상기 이미지 데이터에 기초하여 상기 목표 프레임의 상기 제1행의 각 픽셀을 순차적으로 보간하고 래스터 순서로 상기 목표 프레임의 상기 제1행의 상기 보간된 픽셀들을 출력하는 단계를 더 포함할 수 있다.
본 발명의 실시 예는 이하 첨부된 도면과 함께 좀 더 상세히 설명될 것이다. 그러나 본 발명의 사상은 다른 형태로 구현될 수 있고, 여기에 구현된 실시 예에 한정되어서는 안된다. 오히려 이 실시 예는 발명의 개시가 철저히 그리고 완전히 구현될 수 있도록 제공되고, 기술 분야에서 숙련된 사람들에게 발명의 사상이 완전히 전달될 수 있도록 제공되는 것이다.
본 발명은 소스 프레임 데이터 억세스(source frame data access)의 오버헤드(overhead)를 줄이고, 출력 목표 프레임 데이터의 래스터 순서 스캔 타입(raster order scan type)을 생성한다. 출력 목표 프레임 데이터의 래스터 스캔 순서는 대각선으로 분배된 소스 프레임 데이터를 복수의 라인 버퍼들로의 재배열(re-alignment arrangement)에 의해 구현(facilitated)된다.
본 발명의 개념의 실시 예의 이용은 오버헤드(overhead)를 줄일 수 있다. 왜냐하면 타일링(tiling) 방법에 있어서 소스 프레임 데이터의 중복 독출(overlapping reading)에 비하면 본 발명의 소스 프레임 데이터는 단지 한번 독출되기 때문이다. 또한 추가적인 계산이나 메모리 오버헤드 없이 래스터 순서 목표 프레임 데이터 출력 시퀀스(raster order destination frame data output sequence)를 매끄럽게 생성할 수 있다.
도 1은 발명의 실시 예에 따른 디지털 이미지 안정화 방법을 실행할 수 있는 디지털 이미지 안정화 회로의 블록도이다.
도 2는 래스터 순서에 따라, 목표 프레임의 안정화된 비디오 데이터 Ddf를 보간하고 출력하기 위해 보상 변환 P(n)을 캡쳐된 소스 프레임 이미지 데이터 Dsf로 적용하기 위해 적당한 도 1의 디지털 이미지 안정화 회로 내의 DIS 보상 유닛의 블록도이다.
도 3은 본 발명의 실시 예에 따른 소스 프레임 이미지 데이터 Dsf의 부분 집합(subset)을 포함하는 복수의 대각선 방향의 메타-행들(meata-rows)을 포함하는 목표 메타-프레임의 실시 예를 포함하고 목표 메타-프레임의 메타-행들에 포함된 소스 프레임 이미지 데이터 Dsf를 보간함으로써 얻어지는 목표 프레임의 상대적인 위치를 나타내는 캡쳐된(captured) 소스 프레임의 다이어그램이다.
도 4는 본 발명의 실시 예에 따라 루마(luma) Y 메타-프레임 버퍼와 목표 프레임의 3개의 픽셀들의 보간 윈도우에 저장된 것과 같은 도 3에 나타난 목표 메타-프레임의 수평화되 메타-행들의 부분의 다이어그램이다.
도 5는 목표 메타-프레임의 14개의 대각선 방향의(diagonally step-oriented) 메타-행들을 나타내고 목표 메타-프레임에서 복수의 나누어진/이동된/스텝된 열 그룹들(split/shifted/stepped column groups)을 정의하는 복수의 규칙적으로 배치된 수직 파단선들(break lines)을 나타내는 다이어그램이다.
도 6은 발명의 실시 예에 따라 루마 Y 메타-프레임 버퍼에 저장된 수평화된 메타-행들을 나타내는 다이어그램이다.
도 7A는 발명의 실시 예에 따라 소스 프레임 이미지에서 목표 메타-프레임의 대각선 방향의(diagonally step-oriented) 메타-행들을 순차적으로 수평화하는 방법 및 수평화된 이미지 데이터 Dsf를 픽셀들의 무빙-윈도우 보간(moving-window interpolation)을 위한 메타-프레임의 행들로 래스터 순서로 기록하는 방법에 관한 흐름도이다.
도 7B는 발명의 실시 예에 따라 소스 프레임 이미지에서 목표 메타-프레임의 k+1 대각선 방향의(k+1 diagonally step-oriented) 메타-행들 각 그룹을 순차적으로 수평화하는 방법 및 수평화된 이미지 데이터의 k+1행들을 픽셀들의 무빙-윈도우 보간을 위한 (k+1)-라인 메타-프레임으로 래스터 순서로 기록하는 방법에 관한 흐름도이다.
도 8은 발명의 실시 예에 따라 목표 메타-프레임의 수평화된 메타-행들 안의 이미지 데이터로부터 무빙-윈도우 보간에 의해 목표 프레임의 각각의 행의 각각의 픽셀을 순차적으로 보간하는 방법에 관한 흐름도이다.
도 9는 보간을 위한 소스 프레임 데이터 Dsf 정렬(alignment) 및 시작 지점들을 나타내는 루마 Y 메타-프레임 버퍼의 실시 예에 관한 블록 다이어그램이다.
도 10은 발명의 실시 예에 따라 메타-행들의 무빙-윈도우 보간의 수평한 시작 지점에서 루마 Y 메타-프레임 버퍼와 그 변형들의 실시 예에 관한 다이어그램이다.
도 11은 발명의 실시 예에 따라 메타-행들의 무빙-윈도우 보간의 수직 시작 지점(winyshift)에서의 변화들을 나타내는 루마 Y 메타-프레임 버퍼의 라인-버퍼 실시 예를 나타내는 블록 다이어그램이다.
도 12는 수직의 단선된 라인 위치의 지점을 나타내는 비트들(bits)을 저장하기 위한 라인 버퍼를 포함하는 루마 Y 및 크로마 (Cb 및 CR) 소스 프레임 데이터의 저장의 예(exemplary mode)를 나타내는 다이어그램이다.
도 13은 하나의 수직의 단선된 라인에 의한 목표 프레임의 시계 방향 회전 때문에 나누어진(split) 4x8 픽셀 보간 윈도우의 형태를 나타내는 다이어그램이다.
도 14 (a)에서 (b)는 발명의 실시 예에 따라 소스 프레임 데이터의 회전되지 않은 목표 프레임의 다른 행들 안에서 픽셀들을 보간하기 위한 나누어지지 않은(non-split) 4x8 픽셀 무빙-윈도우들의 모양 및 수직의 위치들의 실시 예를 나타낸다.
도 15 (a)에서 (e)는 발명의 실시 예에 따라 소스 프레임 데이터로부터 제1 시계-방향 회전된 목표 프레임의 다른 픽셀들을 보간하기 위한 나누어진(split) 4x8 픽셀 무빙-윈도우들의 모양 및 수직의 위치들의 실시 예를 나타내는 다이어그램이다.
도 15 (f)에서 (j)는 발명의 실시 예에 따라 소스 프레임 데이터로부터 제2 시계-방향 회전된 목표 프레임의 다른 픽셀들을 보간하기 위한 나누어진(split) 4x8 픽셀 무빙-윈도우들의 모양 및 수직의 위치들을 나타내는 다이어그램이다.
도 1은 발명의 실시 예에 따른 디지털 이미지 안정화 방법을 실행할 수 있는 디지털 이미지 안정화 회로의 블록도이다.
상기 DIS 회로는 소스 프레임(source frame)의 갑자기 움직이는 비디오 데이터(jerky video data) Dsf를 분석하고 인터-프레임 변환들(inter-frame transforms) Ti(n)을 출력하는 검출 유닛(DU; 2000), 인터-프레임 변환들 Ti(n) 중에서 선택된 주요/보상 변환 P(n)을 출력하는 궤적 유닛(trajectory unit(TU); 4000), 및 선택된 주요/보상 변환 P(n)에 기초하여 갑자기 움직이는 비디오 데이터를 수정함으로서 목표 프레임의 안정화된 비디오 데이터 Ddf를 출력하는 DIS 보상 유닛(CU; 6000)을 포함한다.
검출 유닛(DU)이 인터-프레임 변환들 Ti(n)을 추정한 후, 궤적 유닛(TU)은 인터-프레임 변환들 Ti(n) 중의 하나를 주요 변환(principal transform) P(n)으로서 선택한다. 만약, 주요 변환 P(n)이 회전 동작 성분을 포함하면, DIS 보상 유닛(CU)은 래스터 순서(raster order)(예컨대, 맨 위의 로우의 좌측으로부터 시작하여 상기 로우의 우측으로 로우 (row) 단위로)에 따라 목표 프레임의 복수의 픽셀들의 안정화된 비디오 데이터 Ddf를 회전하고, 보간하고, 및 출력한다.
도 2는 래스터 순서에 따라, 목표 프레임의 안정화된 비디오 데이터 Ddf를 보간하고 출력하기 위해 보상 변환 P(n)을 캡쳐된 소스 프레임 이미지 데이터 Dsf로 적용하기 위해 적당한 도 1의 디지털 이미지 안정화 회로 내의 DIS 보상 유닛의 블록도이다.
DIS 보상 유닛(6000)은 수평 위치 정보(예컨대, 독출 어드레스)를 생성하고 단선 라인 공간(break line spacing)을 계산하기 위한 제1변환 엔진(6220), DMA(direct memory access) 컨트롤러/독출 마스터(6232), 및 래스터 순서에 따라 목표 프레임의 픽셀들을 보간(예컨대, 회전, 변환, 및/또는 스케일링)하기 위한 제2변환 엔진(6250)을 포함한다.
변환 엔진들(6220 및 6250)을 유사 변환(similarly transform), 아핀 변환 (affine transform) 또는 이와 유사한 것과 같은 기하학적 변환들 중의 하나일 수 있다. 상기 아핀 변환은 본 발명의 개념을 설명하기 위한 예로서 선택되나 다른 비슷한 기하학적 변환들이 본 발명의 개념을 범위를 벗어나지 않는 범위 내에서 사용될 수 있다.
병렬 데이터 출력 인터페이스(6252)는 이미지 데이터(4:2:2)를 출력하고, 복수의 이미지 프레임 동기 신호들과 배압 실속(출력 버퍼) 메커니즘(back pressure stall (output buffer) mechanism)을 제공한다. DMA 컨트롤러/독출 마스터(6232)는 소스 프레임 버퍼(6230)에 저장된 소스 프레임 데이터(Dsf)의 선택된 부분들을 독출하고, 수평화된 메타-프레임 버퍼(horizontalized meta-frame buffer; 6240)의 적절한 각각의 라인-버퍼(line-buffer)에 소스 프레임 데이터(Dsf)를 기록한다.
각각의 목표 소스 프레임 데이터 액세스 메모리 주소(target source frame data access memory address)는 주요 변환 P(n) 계수(sx, ry, rx, sy, tx, 및 ty)에 기초하여 아핀 변환 방정식으로부터 제1아핀 변환 엔진(6220)에 의해 계산된다.
DIS 보상 유닛(6000)은 주요 변환 P(n) 상수(sx, ry, rx, sy, tx, 및 ty)를 수신하고 저장하는 복수의 환경 설정 레지스터들(configuration registers; 6210)을 더 포함하고, 주요 변환 P(n) 상수(sx, ry, rx, sy, tx, 및 ty)를 제1아핀 변환 엔진 (6220)과 제2아핀 변환 엔진(6250) 각각으로 전송한다.
AXI 버스 상의 DMA컨트롤러/독출 마스터(6232)는 APB 인터페이스(6212)와 환경 설정 레지스터(6212)를 통하여 APB 버스로부터 수신된 이미지 위치와 회전 정보 P(n)에 기초하여, 제1아핀 변환 엔진(6220)으로부터 명령(목표 소스 프레임 데이터 억세스 메모리 주소들)을 수신한다.
도 3은 본 발명의 실시 예에 따른 목표 메타-프레임(destination meta-frame)을 포함하는 캡쳐된 소스 프레임(source frame)의 다이어그램이다. 상기 목표 메타-프레임은 복수의 비스듬히 단계적인(diagonally step-oriented) 메타-행들 Xd을 포함한다. 상기 메타-행들 Xd 각각은 상기 소스 프레임 이미지 데이터 Dsf의 부분집합(subset) 및 상기 목표 메타-프레임의 메타-행들 Xd에 포함된 상기 소스 프레임 이미지 데이터 Dsf를 보간함으로서 얻어지는 목표 프레임의 상대적인 위치를 포함한다. 복수의(예를 들어, 4개) 인접한 복수의 비스듬히 단계적인(diagonally step-oriented) 메타-행들 Xd은 상기 목표 프레임의 각 행 Rd를 보간하기 위해 요구되는 이미지 데이터 Dsf를 포함한다.
상기 목표 프레임의 4개의 코너들(corners) (0, 0), (0, dst_w), (dst_h, 0) 및 (dst_h, dst_w)와 아핀 계수들(affine coefficients) P(n) (sx, sy, rx, ry, tx, ty)은 대응하는 소스 프레임 데이터 위치들을 계산하기 위해 제1아핀 변환 엔진(6220)으로 보내진다. 아핀 계수들을 스케일링하는 것은 상기 소스 프레임 데이터가 상기 목표 프레임을 보간하기 위해 이용 가능하다는 것을 보장한다.
도 3의 직사각형 소스 프레임은 직사각형 목표 프레임(점선들로 회전하여 보여짐) 픽셀의 수평 행 Rd와 대응되는 메타 행 Xd에서 픽셀들의 각 파단선의 시작과 종료 위치들을 확인하는 것을 나타낸다. 한 세트의 수평 위치들 X'[1]의 한 세트는 본래 소스 프레임의 픽셀들의 각 행에서 상위 파단선(upper breaking line)의 교차점을 나타낸다. 수평 위치들 Xs[0][n]의 세트는 원래의 소스 프레임의 픽셀들의 각각의 행에서 남은 파단선(left breaking line)의 교차점에서 목표 메타-프레임의 MxN 픽셀들 중에서 각 메타-행의 "시작"을 나타낸다. 한 세트의 수평한 위치들 Xs[M][n]은 원래의 소스 프레임의 픽셀들의 각 행에서 남은 파단선의 교차점에서 목표 메타-프레임의 픽셀들의 각 메타-행의 "종료"를 나타낸다.
도 4는 크로마 메타 프레임 버퍼(6241-C)와 목표 프레임의 3개의 예시적인 픽셀들의 보간 윈도우들(interpolation windows)의 블록도를 나타낸다. 크로마 메타 프레임 버퍼(6241-C)는 도 2의 DIS 보상 유닛(6000)의 크로마 C 메타-프레임 버퍼(6241-C)에 저장된 도 3에 나타난 예시적인 목표 메타-프레임의 7개의 수평화된 메타-행들의 부분을 보여준다. 상기 보간 윈도우들 중 2개는 본 발명의 실시 예에 따라 수직 파단선(vertical break line)에 의해 나누어진/이동된/스텝된(being split/shifted/stepped) 것이다.
도 4에 나타난 것은 도 2의 DIS 보상 유닛(6000)의 크로마 C 메타-프레임 버퍼(6241-C)의 7개의 라인 버퍼들(LB0~LB6)에 저장된 도 3에 나타난 예시적인 목표 메타-프레임의 7개의 수평화된 메타-행들의 부분이다. 또한, 도 4는 상기 목표 프레임의 3개의 예시적인 픽셀들의 보간 윈도우들을 나타낸다. 상기 보간 윈도우들 중 2개는 수직 파단선에 의해 나누어진/이동된/스텝된(being split/shifted/stepped) 것이다. 각 보간 윈도우는 보간 윈도우를 통해 수직으로 지나는 각 파단선에 의해 나누어지거나/이동되거나, 만약 어떤 파단선도 보간 윈도우를 통해 수직으로 지나지 않는다면, 파단선에 의해 나눠지거나/이동되지 않는다. 실선 모서리들(solid-line corners)과 점선의 측면 라인들(dotted side lines)을 포함하는 4x4 보간 윈도우는 파단선에 의해서도 나눠지지 않고, 이것은 완전한 정사각형(intact square)이다. 실선 모서리들과 점선의 측면 라인들을 포함하는 4x4 보간 윈도우는 열(column) 그룹(scg0)만의 데이터 및 소스 프레임의 4개의 행들 Rs (x'-1, x, x'+1, x'+2)의 데이터를 포함한다.
점선을 갖는 4x4 보간 윈도우는 보간 윈도우의 3번째와 4번째 열들 사이에서 하나의 파단선에 의해 나누어지고(split), 따라서 상기 파단선에 의해 나누어지고이동(shift)된다. 따라서 4x4 보간 윈도우의 왼쪽 3x4 부분은 점선을 가진다. 상기 왼쪽 3x4 부분은 열 그룹(scg0)의 데이터 및 열 그룹(scg1)의 데이터를 포함한다. 상기 보간 윈도우의 오른쪽 부분 1x4은 열 그룹(scg1)의 데이터를 포함하고, 상기 보간 윈도우의 왼쪽 부분 3x4는 파단선에 의해 나누어진 열 그룹(scg0)의 데이터를 포함한다. 상기 점선을 갖는 4x4 보간 윈도우는 상기 소스 프레임의 4개의 행들 Rs (x'-1, x', x'+1 및 x'+2)만의 데이터를 포함하는 반면, 상기 점선을 갖는 4x4 보간 윈도우는 5개의 라인 버퍼들(LB1, LB2, LB3, LB4 및 LB5)을 포함한다. 왜냐하면 이는 상기 라인 버퍼들에서 상기 목표 메타-프레임의 4x4 보간 윈도우의 수평화 때문이다.
쇄선(dashed line)을 갖는 4x4 보간 윈도우는 4x4 보간 윈도우의 첫 번째와 두 번째 열들 사이의 같은 파단선에 의해 나누어지고, 따라서 같은 파단선에 의해 나누어지고 이동된다. 따라서 쇄선을 갖는 상기 4x4 보간 윈도우의 오른쪽 3x4 부분은 열 그룹 (scg1)의 데이터를 포함하나, 상기 4x4 보간 윈도우의 왼쪽 1x4 부분은 파단선에 의해 나누어진 열 그룹(scg0)의 데이터를 포함한다. 쇄선을 갖는 상기 4x4 보간 윈도우는 소스 프레임의 4개의 행들 Rs (x'-2, x'-1, x' 및 x'+1)의 데이터만을 포함하나, 쇄선을 갖는 상기 4x4 보간 윈도우는 5개의 라인 버퍼들(LB0, LB1, LB2, LB3 및 LB4)을 포함한다.
도 5는 도 3에서 보여진 예시적인 목표 메타-프레임의 14개의 대각선 방향의 메타 행들 Xd의 부분의 상세한 다이어그램이다. 상기 14개의 대각선 방향의 메타 행들 Xd의 부분은 목표 메타-프레임 내의 복수의 나누어진/이동된/스텝된 열 그룹들(scg)을 정의하는 복수의 규칙적으로 배치된 수직 파단선을 나타내는 도 2의 소스 프레임 버퍼(6230)에 저장된다.
도 3 및 도 5를 참조하면, 각 대각선 방향의 메타-행 Xd는 회전하지 않거나 아주 약간 회전한 경우에 0개의 파단선부터 ±45°회전의 경우에 하나의 픽셀 폭(width) 마다 하나의 파단선까지의 범위를 가지는 복수의 수직 파단선들에 의해 나누어진다. 주어진 목표 메타-프레임의 모든 메타-행들 Xd는 같은 수평 정도(horizontal extent)를 갖기 때문에, 그리고 복수의 파단선들은 (각각의 스텝된 열 그룹의 폭(width)에서, 예컨대, scg0) 규칙적으로 배치되어 있기 때문에, 상기 목표 메타-프레임의 모든 메타-행들 Xd은 상기 목표 프레임의 수평 이동(horizontal shifting), 회전 각, 및 수평 사이즈(horizontal size)에 의해 ±1의 변화로 대략 같은 수의 파단선들을 갖는다. 작은 회전 각도에 대해, 상기 목표 메타-프레임의 각 메타-행 Xd은 0, 1, 또는 2개의 파단선들을 가질 것이다. 하나 또는 그 이상의 파단선들을 포함하는 모든 메타-행들은 대각선으로 분배된 소스 프레임 데이터 Dsf를 필수적으로 가질 것이다. 상기 소스 프레임 데이터 Dsf 는 소스 프레임(예컨대, 소스 프레임 열들 x', x'-1, x'-2 및 x'-3 등 내에서)의 복수의 행들 Rs로 나눠진다(예컨대, 소스 프레임 열들 x', x'-1, x'-2 및 x'-3 등 내에서).
도 6은 도 3에 나타난 예시적인 목표 메타-프레임의 9개의 수평화된 메타-행들의 부분의 상세한 다이어그램이다. 상기 9개의 수평화된 메타-행들의 부분은 루마(luma) Y 메타-프레임 버퍼(6241-1-Y; 본 발명의 제1실시 예에 따른 도 2의 보상 유닛(6000)의 도면 번호 6241-Y의 실시 예)에 저장된다. 8-비트 4:2:2 (단일 평면(single plane), 인터리브 포맷(interleave format)에서 YC 데이터) 데이터 포맷은 ±45°까지의 회전 각을 가지는 이 실시 예에 의해 완전히 지원된다.
도 4 및 도 6을 참조하면, 상기 목표 메타-프레임의 하나의 메타-행 Rd의 소스 프레임 데이터 Dsf가 하나의 라인-버퍼로 복사(copy)되었을 때, 소스 프레임의 2 또는 그 이상의 다른 행들 Rs (예를 들어, x', x'-1, x'-2, x'-3 등으로부터)의 소스 프레임 데이터 Dsf는 상기 목표 메타-프레임의 상기 하나의 메타-행 Xd의 수평화된 소스 프레임 데이터 Dsf를 저장하기 위해 선택된 라인-버퍼로 복사된다.
도 5 및 도 6은 대각선 방향의 메타-행들을 수평화하는 방법의 결과를 나타낸다. 도 5에서, 목표 프레임의 메타-프레임의 14개의 메타-행들 Xd내에서 상기 소스 프레임 이미지 데이터 Dsf의 부분만이 도시된다. 도 5에 도시된 각의 메타-행들 Xd는 Xd[9][ ], Xd[18][ ], Xd[27][ ]에서 같은 한 세트의 파단선들(예컨대, 9개의 픽셀 폭(widths)에 의해 분리된)에 의해 나누어진다. 따라서, 도 5에 도시된 각 메타-행들 Xd의 부분은 소스 프레임의 4개의 행들 Rs (예컨대, 제1메타 행에서 x'+3, x'+2, x'+1, 및 x)의 소스 프레임 이미지 데이터 Dsf를 포함한다. 목표 프레임의 메타-프레임 내에서 보간된 목표 프레임의 경계(border)가 나타난다. 도 5에 대각선으로 배치된 것처럼 보여진 7개의 같은 메타-열들 Xd는 도 6에서 7개의 라인 버퍼들(LB0, LB1, LB2, LB3, LB4, LB5, 및 LB6)에서 수평화된 것으로 나타난다. 도 6에 나타난 바와 같이, 각 열 그룹 세그먼트(each column group segment; 예컨대, scg0, scg1 등)안에 배치된 주어진 메타-행 Xd의 세그먼트(segment)는 같은 라인 버퍼로 복사된다. 이것이 수평화 단계이다. 예를 들어, 도 5에서, 제1메타-행 Xd는 목표 프레임의 scg0와 행 x'+3 내에서 제1세그먼트와, 목표 프레임의 scg1과 행 x'+2 내에서 제2세그먼트를 포함하고, 목표 프레임의 scg2와 행 x'+1 내에서 제3세그먼트와, 목표 프레임의 scg3와 행 x' 내에서 제4세그먼트를 포함한다. 도 6에서, 목표 메타-프레임에서 제1 메타-행 Xd의 제1세그먼트, 제2세그먼트, 제3세그먼트, 및 제4세그먼트가 메타-프레임 버퍼 메모리(6241-1-Y)의 제1라인 버퍼(LB0)로 모두 복사(copy)되는 것이 도시된다. 도 2의 DMA 컨트롤러/리드 마스터(read master; 6232)는 제1아핀 변환 엔진(the first affine transform engine; 6220)의 제어 하에, 상기 목표 메타-프레임의 각 메타-행 Xd에 대해 순차적으로 선택적인 카피-앤드-페이스트(copy-and-paste) 동작을 수행한다. 도 6의 수평화된 메타-프레임 버퍼(horizontalized meta frame buffer; 6240)에서 루마 Y 메타-프레임 버퍼 (luma Y meta frame buffer; 6241-Y)의 실시 예 6241-1-Y는 목표 프레임의 전체의 메타-프레임의 루마 Y 데이터를 저장한다. 따라서, 도 2의 DMA 컨트롤러/리드 마스터(6232)는 전체의 목표-메타 프레임의 요구되는 소스 이미지 데이터를 도 6의 루마 메타-프레임 버퍼(6241-1-Y)로 카피-앤드-페이스트 할 수 있다. 다양한 다른 실시 예에서, 도 2의 DMA 컨트롤러/리드 마스터(6232)는 목표 메타-프레임의 각각의 전체의 열 그룹 일부분에 대해 순차적으로 카피-앤드-페이스트 동작을 수행하고, 라인 버퍼들에서 메타-프레임의 모든 메타-행들이 수평화되어 저장될 때까지 각 열 그룹(예를 들어, scg0, 다음에 scg1, 등등)을 라인 버퍼들로 순차적으로 기록(write)한다. 도 7B, 9, 10, 및 11의 다른 실시 예에서, 도 2의 DMA 컨트롤러/리드 마스터(6232)는 목표 메타-프레임의 7개의 메타-행들에 대해 전체의 목표 프레임의 보간을 위해 재사용된 7개의 라인-버퍼들 (LB0~LB6)를 갖는 버퍼로 카피-앤드-페이스트 동작을 수행한다.
도 2, 3, 및 4를 참조하면, 이하 상술할 것과 같이, DMA 컨트롤러(6232)는 소`스 프레임의 복수의 행들 Rs로부터 목표 프레임의 행들 Rd과 관련된 메타-행들 에서 대각선으로 분배된(diagonally distributed) 소스 프레임 이미지 데이터 Dsf를 독출(read)한 뒤, 메타-프레임 버퍼(6241-Y)의 루마(Y) 라인-버퍼들 및 메타-프레임 버퍼(6241-C)의 크로마(chroma; C) 라인-버퍼들로 수평화된 이미지 데이터 Dsf를 기록한다. 다음에, 제2아핀 변환 엔진(the second affine transform engine; 6250)은 (회전된) 목표 프레임의 각 하나의 보간된 픽셀을 생성하기 위한 라인 버퍼들 에 저장된 수평화된 루마 및 크로마 소스 데이터(예를 들어, 4:2:2의 경우에, 루마 Y 데이터의 4x8 픽셀들 및 크로마 C 데이터의 4x4 픽셀들)의 보간 윈도우(예컨대, 4x4 또는 4x8 픽셀 영역들)를 독출하고, 래스터 순서(raster order)에 따라 (회전된) 목표 프레임의 각 행의 보간된 픽셀들을 출력한다.
목표(target) 소스 프레임 데이터 억세스(access) 메모리 주소는 아핀 변환 방정식(affine transform equation)과 수신된 P(n)의 아핀 변환 계수들을 이용함으로써 계산된다. 독출 DMA 채널들은 128-비트 데이터 버스 폭을 갖는 AXI 버스 마스터 인터페이스를 통하여 버퍼(6230) (또는 외부 DRAM)에서 소스 프레임을 억세스(access)한다.
도 7A는 도 2의 DIS 보상 유닛(6000)의 소스 프레임 버퍼(6230)에 저장된 소스 프레임 이미지에서 목표 메타-프레임의 복수의 대각선 방향의(diagonally step-oriented) 메타-행들을 순차적으로 수평화하는 방법에 관한 제1 실시 예의 흐름도이다. 이 방법은 래스터 순서에 따라 픽셀들의 무빙-윈도우 보간(moving-window interpolation)을 위하여 모든 수평화된 이미지 데이터 Dsf를 메타-프레임 버퍼(6240)의 모든 행들로 기록한다. 이 단계는 도 2의 DIS 보상 유닛(6000)의 제2아핀 변환 엔진(6250)에 의해 수행된다.
S6110 단계에서, 계수 인자(scaling factor)를 포함하는 아핀 변환 계수(affine transform coefficients)는 목표 프레임 면적(dimensions) MxN을 설정하여 목표 프레임 데이터 Ddf를 보간하기 위해 필요한 모든 프레임 데이터 Dsf가 소스 프레임 영역에서 이용 가능하도록 소스 프레임 차원 M'xN'에 기초하여 설정된다.
S6112 단계에서, 루프 인덱스(loop index)는 목표 메타-프레임의 제1 메타-행 Xd=0이 선택될 수 있도록 초기화된다. S6120-A 단계에서, 소스 이미지에서 목표 메타-프레임의 현재의 메타-행 Xd의 수평 및 수직 위치의 시작 주소는 제1아핀 변환 엔진(6220)에 의해 계산된다. S6130-A 단계에서, DMA 컨트롤러(6232)는 선택된 메타-행 Xd에서 소스 이미지 데이터를 소스 프레임 버퍼(6230)에서 수평화된 메타-프레임 버퍼(6240)의 라인 버퍼들 중 어느 하나로 복사한다. S6142 단계에서, 목표 이미지의 행 Rd는 수평화된 메타-프레임 버퍼(6240)의 라인 버퍼들로 복사되고 수평화된 메타-행 Xd에 기초한 보간을 위하여 선택된다.
S6150 단계에서, 만일 목표-프레임의 선택된 행 Rd에 대응하는 메타-행 Xd의 모두 요구되는 소스-이미지 데이터 Dsf가 수평화된 메타-프레임 버퍼(6240)에 저장될 때, 목표-프레임의 선택된 행 Rd의 모든 픽셀들의 보간 방법(도 8의 단계 6230)이 실행되고 선택된 행 Rd의 보간된 목표 프레임 데이터 Ddf는 래스터 순서에 따라 출력된다.
dS6180 단계에서, 목표 프레임의 모든 행들 Rd가 보간되었는지 여부가 체크(check)된다. 만약 결정 단계 dS6180에서 목표 프레임의 모든 행들 Rd가 보간되지 않을 때(dS6180의 NO 가지(branch)), 메타-행 인덱스 숫자(meta row index number)는 증가하고(S6182-A 단계) 상기 방법은 루프의 다음 실행 시작점에서 S6120-A 단계를 반복한다. 만약 결정 단계 dS6180에서 목표 프레임의 모든 행들 Rd가 보간되었을 때(dS6180의 YES 가지), 현재의 소스 프레임의 목표 프레임을 보간하는 방법이 완료된다.
실제로, 목표-프레임의 선택된 행 Rd의 픽셀들을 보간하는 단계(도 8의 S6230 단계)는 라인 버퍼들의 제1 세트를 이용하여 수행됨과 동시에(병렬 경로(parallel path)) S6130-A 동안 라인 버퍼들의 제2세트로 소스 프레임 데이터가 복사되고, 선택된 행 Rd의 보간된 목표 프레임 데이터 Ddf는 래스터 순서로 출력된다. 따라서, 상기 방법의 병렬-경로 구현에 있어서, 목표 프레임의 행들 Rd을 보간하는 단계(도 8의 S6230)는 루프(loop)에서 메타-행 복사 단계(S6130-A)의 진행 바로 뒤에서 병렬적으로 진행될 수 있다. 이 실시 예는 풀 사이즈 수평화된 메타-프레임 버퍼(full sized horizontalized meta-frame buffer; 6240)을 제공함에 따라 구현될 수 있다. 수평화된 메타-프레임 버퍼(6240)에서 전체 목표 프레임을 보간하는데 필요한 모든 소스 프레임 데이터 Dsf가 복사되고 저장된다. 다른 다양한 실시 예에서, 수평화된 메타-프레임 버퍼(6240)에서 복수의 라인 버퍼들은 다른 시점에서(different times) 목표 프레임의 다른 메타-행들의 소스 프레임 데이터 Dsf를 저장하기 위한 라인-버퍼들을 재사용함으로써 감소될 수 있다. 예컨대, 만약 보간 윈도우가 4x8 이고, 바람직한 최대 회전각이 ±45°일 때, 수평화된 소스 프레임 데이터로 채워진 11개까지의 라인 버퍼들이 목표 프레임의 하나의 행 Rd의 픽셀들을 보간하기 위해 필요하다. 따라서, 11개의 라인 버퍼들을 필수적으로 포함하는 수평화된 메타-프레임 버퍼(6240)는 ±45°의 회전 각도로 래스터 순서로 목표 프레임의 모든 행들 Rd의 모든 픽셀들을 4x8 보간하기 위해 최소한 충분하다. 11개 보다 적은 라인 버퍼들을 제공하는 것은 4x8 보간할 수 있는 회전 각을 효과적으로 줄일 수 있다. 반면에, 11개보다 많은 라인 버퍼들을 제공하는 것은 행들 Rd의 순서의 4x8 보간을 위해, 예컨대, 어떤 보간 윈도우들을 나누는(splitting) 수평 파단선의 맵핑(mapping)에 기초하여, 라인 버퍼들의 라운드-로빈(round-robin) 재사용을 가능하게 한다.
도 7B는 도 2의 DIS 보상 유닛(6000)의 소스 프레임 버퍼(6230)에 저장된 소스 프레임 이미지에서 목표 메타-프레임의 복수의 대각선 방향의(diagonally step-oriented) k+1 메타-행들의 각 그룹을 순차적으로 수평화하는 방법에 관한 제2실시 예의 흐름도이다.
이 방법은 목표 메타-프레임의 k+1 행들로부터 메타-프레임 버퍼(6241-2-Y)의 (k+1)-라인 버퍼들로 수평화된 이미지 데이터 Dsf를 기록한다. 메타-프레임 버퍼 (6241-2-Y)의 (k+1)-라인 버퍼들에서 수평화된 이미지 데이터 Dsf는 도 2의 DIS 보상 유닛(6000)의 제2아핀 변환 엔진(6250)에 의해 래스터 순서로 목표 프레임의 하나 또는 그 이상의 행들 Rd에서 픽셀들의 무빙-윈도우 보간(moving-window interpolation)을 위해 다음에 위해 사용된다. (k+1)-라인 버퍼들에서 모든 수평화된 이미지 데이터 Dsf가 보간을 위해 사용된 후, 이 방법은 루프 백(loop back)하고 목표 메타-프레임의 k 행들로부터 메타-프레임 버퍼(6241-2-Y)의 (k+1)-라인 버퍼들로 수평화된 이미지 데이터 Dsf의 다음 k 행들을 기록한다.
S6110 단계에서, 계수 인자(scaling factor)를 포함하는 아핀 변환 계수들 (affine transform coefficients)은 목표 프레임 면적(dimensions) MxN을 설정하여 목표 프레임 데이터 Ddf를 보간하기 위해 필요한 모든 프레임 데이터 Dsf가 소스 프레임 영역 내에서 이용 가능하도록 소스 프레임 차원 M'xN'에 기초하여 설정된다.
S6112 단계에서, 루프 인덱스(loop index)는 목표 메타-프레임의 제1 메타-행 Xd=0이 선택될 수 있도록, 그리고 수평화된 메타-프레임 버퍼(6240)에서 사용된 라인 버퍼들(k+1)의 개수가 결정되도록 초기화된다.
S6120-B 단계에서, 소스 이미지에서 목표 메타-프레임의 Xd부터 Xd +k까지 선택된 메타-행들의 수평 및 수직 위치 소스 프레임 데이터 Dsf의 시작 주소는 제1아핀 변환 엔진(6220)에 의해 계산된다. S6130-B 단계에서, DMA 컨트롤러(6232)는 목표 메타-프레임의 Xd부터 Xd +k까지 선택된 메타-행들의 소스 프레임 데이터 Dsf를 수평화된 소스 프레임 버퍼(6230)로부터 수평화된 메타-프레임 버퍼(6240)의 k+1 라인 버퍼들로 복사한다.
S6140 단계에서, 수평화된 메타-프레임 버퍼(6240)의 k+1 라인 버퍼들에 저장된 Xd부터 Xd +k 까지 메타-행들의 소스 프레임 데이터 Dsf에 기초한 모든 가능한 목표 프레임 픽셀 보간들이 실행된다.
보조단계 sS6142에서, 목표 이미지의 행 Rd는 수평화된 메타-프레임 버퍼 (6240)의 라인 버퍼들로 수평화되어 복사된 Xd부터 Xd +k 까지 메타-행들에 기초하여 보간을 수행하기 위해 (목표 행 인덱스를 설정함으로써) 선택된다.
보조단계 sS6150에서, 목표-프레임의 선택된 행 Rd에 대응되는 메타-행들 Xd의 요구되는 소스-이미지 데이터 Dsf는 수평화된 메타-프레임 버퍼(6240)에 저장되고, 목표-프레임의 선택된 행 Rd의 모든 픽셀들의 보간 방법(도 8의 S6230 단계)은 실행되고 선택된 행 Rd의 보간된 목표 프레임 데이터 Ddf는 래스터 순서로 출력된다.
결정 단계 dS6180에서, 수평화된 메타-프레임 버퍼(6240)의 라인 버퍼들로 수평화되어 복사된 Xd부터 Xd +k 까지 메타-행들로부터 보간될 수 있는 목표 프레임의 모든 행들 Rd가 보간되었는지 여부가 체크(check)된다. 만약 결정 단계 dS6150에서 목표 프레임의 모든 보간 가능한 행들 Rd가 보간되지 않을 때(dS6150의 NO 가지), 메타-행 인덱스 숫자는 증가되고 상기 방법은 루프의 다음 실행의 시작점에서 S6120-A 단계를 반복한다. 따라서, 보조단계 sS6146에서, 목표 프레임 행 Rd의 인덱스는 증가되고, 보조단계 sS6150는 다음 목표 프레임 행 Rd +1을 위해 반복된다.
만약 결정 단계 dS6180에서 목표 프레임의 모든 보간 가능한 행들 Rd가 보간될 때(dS6150의 YES 가지), 보간된 메타-프레임 버퍼(6240)의 라인 버퍼들에서 수평화되어 복사된 메타-행들 Xd에 기초하여 보간될 수 있는 열들 Rd의 보간이 완료된다.
결정 단계 dS6180에서 목표 프레임의 모든 행들 Rd가 보간되었는지 여부가 체크(check)된다. 만약 결정 단계 dS6180에서 목표 프레임의 모든 행들 Rd이 보간되지 않을 때 (dS6180의 NO 가지), 메타-행 인덱스 숫자는 증가되고 (예컨대, S6182-B 단계에서 k-1까지) 상기 방법은 루프의 다음 시작점에서 S6120-B 단계를 반복한다. 만약 결정 단계 dS6180에서 목표 프레임의 모든 행들 Rd가 보간될 때(dS6180의 YES 가지), 현재의 소스 프레임의 목표 프레임을 보간하는 방법이 완료된다.
목표 프레임의 선택된 행 Rd의 픽셀들을 보간하는 단계(도 8의 S6230 단계)는 k+1 라인 버퍼들에 저장된 수평화된 이미지 데이터 Dsf를 이용하여 수행된다. 회전 각에 따라, 목표-프레임의 추가적인 행들 Rd의 보간은 k+1 라인 버퍼들에 저장된 수평화된 이미지 데이터를 이용하여 수행될 수 있다. 예컨대, 만약 k가 11이라면 (12 라인 버퍼들), 목표-프레임의 2개의 행들 Rd는 ±45°의 회전각으로 4x8 보간될 수 있다. 유사하게, 만약 k가 11이라면 (12 라인 버퍼들), 목표-프레임의 5개의 행들 Rd는 ±45°의 회전각으로 4x4 보간될 수 있다.
이런 실시 예에 있어서, 수평화된 메타-프레임 버퍼(6240)에서 복수의 라인 버퍼들은 다른 시점에서(different times) 목표 프레임의 다른 메타-행들의 소스 프레임 데이터 Dsf를 저장하기 위한 라인-버퍼들을 재사용함으로써 감소된다. 예컨대, 만약 보간 윈도우가 4x8 이고, 바람직한 최대 회전각이 ±45°일 때, 수평화된 소스 프레임 데이터로 채워진 11개 라인 버퍼들이 목표 프레임의 하나의 행 Rd의 픽셀들을 보간하기 위해 필요하다. 따라서, 11개의 라인 버퍼들을 필수적으로 포함하는 수평화된 메타-프레임 버퍼(6240)는 ±45°까지의 회전 각도로 래스터 순서로 목표 프레임의 모든 행들 Rd의 모든 픽셀들을 4x8 보간하기 위해 최소한 충분하다. 11개보다 적은 라인 버퍼들을 제공하는 것은 4x8 보간할 수 있는 회전 각을 효과적으로 줄일 수 있다. 반면에, 11개보다 많은 라인 버퍼들을 제공하는 것은 행들 Rd의 순서의 4x8 보간을 위해, 예컨대, 어떤 보간 윈도우들을 나누는(splitting) 수평 파단선의 맵핑(mapping)에 기초하여, 라인 버퍼들의 라운드-로빈(round-robin) 재사용을 가능하게 한다.
도 8은 도 2의 메타-프레임 버퍼(6240)에 저장된 목표 메타-프레임의 수평화된 메타-행들에 이미지 데이터 Dsf로부터 무빙-윈도우 보간(moving-window interpolation)에 의해 목표 프레임의 각 행 Rd의 각 픽셀을 순차적으로 보간하는 방법의 실시 예에 관한 흐름도이다.
결정 단계 dS6210에서, 현재 선택된 목표 프레임 행 Rd의 보간을 진행하기 위해, 수평화된 메타-프레임 버퍼(6240)에서 충분한 수평화된 소스 프레임 데이터 Dsf가 이용 가능한지 여부가 결정된다.
만약 충분한 수평화된 소스 프레임 데이터 Dsf가 이용 가능할 때 (결정 단계 dS6210의 YES 가지), 목표 프레임의 현재 선택된 행 Rd의 보간은 수평화된 메타-프레임 버퍼(6240)의 라인 버퍼들에 위치한 요구되는 소스 프레임 데이터 Dsf의 수직 위치 및 수평 위치를 확인하는 것부터 시작한다. 현재의 행 Rd의 보간을 위한 수직 시작 위치는 회전 각에 의존하고 S6220 단계에서 계산된다. 유사하게, 목표 프레임의 현재 행 Rd에서 제1픽셀 (제1열 Cd=0)의 보간을 위한 수평 시작 위치는 회전각에 의존하고 S6220 단계에서 계산된다.
S6230 단계에서 목표-프레임의 현재 선택된 행 Rd의 모든 픽셀들의 보간 방법은 수행되고 선택된 행 Rd의 보간된 목표 프레임 데이터 Ddf는 래스터 순서로 출력된다. 보조 단계 sS6232에서, 목표 프레임의 열 Cd 및 행 Rd에서의 픽셀은 라인 버퍼들(예컨대, 4x4 또는 4x8 보간 윈도우를 사용)에 저장된 수평화된 이미지 데이터 Dsf로부터 보간된다. 결정 단계 dS6234에서, 목표 프레임의 현재 선택된 행 Rd의 마지막 열 (Cd=M)에서의 픽셀이 보간되었는지 여부가 결정된다. 만약 현재 선택된 행 Rd의 마지막 픽셀 (Cd=M)이 보간되지 않을 때(결정 단계 dS6234의 NO 가지), 열(column) 인덱스는 증가하고(Rd=Rd+1), 보간 보조 단계 sS6232는 목표 프레임의 현재 선택된 행 Rd에 다음 픽셀에 대해 반복된다. 만약 현재 선택된 행 Rd의 마지막 픽셀 (Cd=M)이 보간될 때(결정 단계 dS6234의 YES 가지), 결정 단계 dS6250은 목표 프레임의 마지막 행 (Rd=N)이 보간되었는지 여부를 판단하기 위해 다음에 수행된다.
만약 목표 프레임의 마지막 행 (Rd=N)이 보간되지 않을 때(결정 단계 dS6234의 NO 가지), 행 인덱스는 증가하고 (Rd=Rd+1), 결정 단계 dS6210의 실행은 목표 프레임의 다음 행 Rd를 위해 반복된다. 만약 목표 프레임의 마지막 행 (Rd=N)이 보간될 때(결정 단계 dS6234의 YES 가지), 목표 프레임은 전부 보간되고 모든 목표 프레임 데이터 Ddf는 래스터 순서로 출력된다.
도 9는 도 2의 수평화된 메타-프레임 버퍼(6240)에 루마 Y 메타-프레임 버퍼(6241-Y)의 실시 예 6241-2-Y의 메모리 맵(memory map)이다. 상기 메모리 맵은 보간을 위해 소스 프레임 데이터 Dsf의 정렬(alignment)과 시작 위치를 보여준다. 이 실시 예에서 7-라인 버퍼(6241-Y)는 도 8B의 방법의 단계를 수행하기 위해 제공된다. 싱글 포트(single port) SRAM이 각 라인 버퍼(LB0~LB6)를 위해 사용될 수 있다. 7개의 라인 버퍼들은 목표 프레임 행 Rd의 보간 과정 중에 동시에 독출할 수 있다. 상기 7개의 라인 버퍼들이 동시에 독출되는 동안에 하나 또는 그 이상의 추가적인 라인-버퍼들(미도시)이 다음 목표 프레임 행 Rd +1의 보간을 위해 요구되는 소스 프레임 데이터 Dsf로 기록될 수 있다. 소스 프레임 데이터 Dsf의 4x8/4x4 윈도우 영역은 목표 프레임의 각 픽셀의 보간 동작을 위해 요구된다. 회전 특징 때문에, 하나의 목표 프레임 행 Rd를 보간하기 위해 필요한 상기 요구되는 소스 프레임 데이터 Dsf는 상기 소스 프레임 데이터(도 4의 4x4 픽셀 보간 윈도우의 다이어그램 및 도 13 및 14의 4x8 보간 윈도우 영역의 다이어그램 참조)를 포함하는 4 이상의 라인 버퍼들을 포함할 수 있다. 따라서 복수의 (예컨대, 7개의) 라인 버퍼들이 보간 윈도우 동작을 지원하기 위해 제공될 수 있다. 8-비트 4:2:2 (단일 평면, 인터리브(interleave) 포맷에서 YC 데이터) 데이터 포맷은 ±22.5°까지의 회전각을 가지는 실시 예에 의해 지원된다. 상기 회전각은 DIS 보상을 위해 충분한 각 범위일 수 있다. 다른 실시 예에서, 4:2:2 크로마 서브샘플링(chroma subsampling)의 경우에 ±45°까지의 회전각을 지원하기 위해, 11-라인 버퍼(6241-Y) 및 7-라인 버퍼 (6241-C)가 제공된다.
DMA 컨트롤러(6232)는 소스 프레임 데이터 Dsf를 독출하고, 상기 소스 프레임 데이터 Dsf를 7개의 루마 Y 라인-버퍼들 6241-Y (6241-2-Y 참조) 및 7개의 크로마 (C) 라인-버퍼들 6241-C에 기록한다. 다음, 제2아핀 변환 엔진(6250)은 보간된 (예컨대, 회전된) 목표 프레임의 각 하나의 픽셀을 생성하기 위해 라인 버퍼들로부터 소스 프레임 루마 Y 데이터의 4x8 픽셀 윈도우 영역 (그리고, 4:2:2 크로마 서브 샘플링의 경우에, 소스 프레임의 소스 프레임 크로마 데이터의 4x4 픽셀 윈도우 영역)을 독출하고, 래스터 순서로 회전된 이미지(목표 프레임)의 픽셀들을 출력한다.
도 2를 다시 참조하면, 도 9의 실시 예 6241-2-Y에 따라, 16개의 1152x17 내부 SRAMs (루마 Y 버퍼 6241-Y를 위한 8개 그리고 크로마 C 버퍼 6241-C를 위한 8개)은 ±22.5°의 회전각까지로 목표 출력 이미지의 HD 해상도(1920x1080)를 지원하는 적당한 보간 윈도우 데이터를 제공하기 위해 메타-프레임 버퍼(6240)의 복수의 라인 버퍼들로서 사용될 수 있다. 더 큰 수평 이미지 사이즈는 수평 라인 버퍼 면적(dimension)을 증가시킴으로서 지원될 수 있다.
도 8B의 방법을 실행함에 있어, 제1아핀 변환 엔진(6220)은 루마 Y 메타-프레임 버퍼(6241-2-Y)의 처음 7개의 라인 버퍼(the first seven line buffers)들을 채우는 DMA(direct memory access) 컨트롤러/리드 마스터(6232)를 제어하기 위한 수평 위치 정보(예컨대, 독출 주소)를 생성한다. 상기 수평 위치 정보는 파단선 위치 정보(예컨대, 1 비트)를 더 포함한다. 상기 파단선 위치 정보는 래스터 순서로 목표 프레임의 픽셀들을 보간(회전(rotating), 스케일링)하는 동안 사용을 위해 제2아핀 변환 엔진(6250)으로 전송된다.
목표 메타-프레임의 각 메타-행 Xd의 왼쪽 끝의 위치가 상기 목표 메타-프레임의 각 메타-행 Xd의 왼쪽 끝의 위치와 대응되는 라인 버퍼(예컨대, LB0~LB5)내에서 복사될 때, 상기 수평 위치 정보는 상기 목표 메타-프레임의 각 메타-행 Xd의 왼쪽 끝의 위치에 기초한 수평 시작 위치 정보(예컨대, LB0-LB5)를 더 포함한다. 예컨대, 라인 버퍼들 LB0-LB5에 수평화되어 저장된 목표 메타-프레임의 메타-행들 Xd의 각 좌측 끝은 LB0-LB5 중에서 각각의 라인 버퍼의 좌측 끝으로부터 8 픽셀들에 위치할 수 있다. 도 9의 두꺼운 어두운 선들의 직사각형은 라인 버퍼들 LB0-LB5에 수평화되어 저장된 목표 메타-프레임의 6x15 픽셀 영역을 나타내고 있으며, 상기 직사각형은 라인 버퍼들 LB0-LB5의 좌측 끝으로부터 수평 시작 지점(예컨대, HstartLB0-5) 8 픽셀들에 위치한다. 라인 버퍼 LB6에 저장된 메타-행 Xd의 이미지 데이터는 라인 버퍼들 LB0-LB5에 저장된 메타-행들 Xd의 이미지 데이터와 정렬되지 않는다. 따라서, 라인 버퍼 LB6에 저장된 메타-행 Xd의 이미지 데이터는 다른 수평 라인 버퍼 메모리 주소에서 시작한다.
각 목표(target) 소스 프레임 데이터 억세스(access) 메모리 주소는 APB 버스를 통하여 수신된 주요 변환(principal transform) P(n) 의 아핀 계수들에 기초한 아핀 변환 방정식(affine transform equation)에 의해 계산된다. 독출 DMA 채널들은 AXI 버스 마스터 인터페이스(bus master interface)를 통하여 소스 프레임 버퍼(6230) (또는 외부 DRAM)를 억세스(access)한다. 상기 AXI 버스 마스터 인터페이스는 128-비트 데이터 버스 폭일 수 있다. AXI 버스에서 DMA/독출 마스터(6232)는 APB I/F(6212) 및 하나 또는 그 이상의 환경 설정 레지스터(6210)를 통하여 APB 버스로부터 수신된 이미지 위치 및 회전 정보 P(n)에 기초한 제1아핀 변환 엔진(6220; first affine transform engine)으로부터 명령들(목표 소스 프레임 데이터 억세스 메모리 주소들)을 수신한다.
제1 아핀 변환 엔진(6220)은 대응하는 물리적 메모리 위치들을 생성하기 위한 아핀 파라미터들(affine parameters) sx, sy, rx, ry, tx, 및 ty에 기초하여 도 9의 6241-2-Y의 처음 7개의 라인 버퍼들(the first seven line buffers) LB0-LB6을 채우기 위해 필요한 소스 프레임 데이터 Dsf의 소스 프레임 버퍼(6230)에서 위치들을 확인한다. 도 3에 도시된 목표 프레임 (0, 0), (0, dst_w), (dst_h, 0) 및 (dst_h, dst_w)의 4개의 코너들(corners) 및 아핀 파라미터 (sx, sy, rx, ry, tx, ty)는 관련된 소스 프레임 데이터 위치들(주소들)을 계산하기 위해 제1아핀 변환 엔진(6220)에 의해 사용된다. 파단선들의 분배(distribution) 때문에, 요구되는 소스 프레임 데이터의 각 메타-행 Xd은 목표 메타 프레임 좌표 Xd[0][y]에서 각 메타-행의 제1픽셀의 위치에 기초하여 계산된 복수의 수평 시작 위치들을 포함할 수 있다. 상기 y는 메타-행들의 인덱스(index)이고 0부터 시작하여 목표 메타-프레임의 마지막 수직 위치 [N]까지 증가한다.
제1아핀 변환 엔진(6241)은 다음과 같은 아핀(회전) 방정식으로부터 파단선 위치 정보를 계산한다.
Figure 112011102972456-pat00001
Figure 112011102972456-pat00002
여기서 Yd=C(상수); Xd[m]은 Xd[0]=Xdi (최소)으로부터의 값; Xd[m]=Xde.(상수); Xd[m+1]=Xd[m]+1; 모든 Xs[m][C] 및 Ys[m][C]는 정수 위치로 반올림된다. X'[I]는 Ys[m][C]≠Ys[m-1][C]일때만 Xs[m][C]로 설정된다.
각 요구되는 소스 프레임 데이터는 시작 수평 위치(Xs[0][n])로부터 종료 수평 위치(Xs[M][n])까지 억세스(access)된다. 여기서 Yd는 0부터 M(목표 프레임의 최대 값)까지이고 Tx는 수평 오프셋이다.(도 3) 아핀 변환과 각 소스 수직 위치 계산(source vertical location calculation)을 위해, 목표 수직 위치는 하나 이상의 소스 프레임 행 진행(advance)할 수 있다. 이 경우 DMA 컨트롤러(6232)는 이전 (n-1)번째 행과 현재 (n+1)번째 행 사이의 (n)번째 행에서 소스 수직 위치를 설정하고 나서, (n+1)번째 행을 다음 소스 프레임 데이터 수직 시작 억세스 위치(next source frmae data vertical starting access location)로서 설정한다.
DMA 컨트롤러(6232)는 파단선 정보(소스 프레임 수직 라인 위치들)의 세트를 이용함으로써 메타-행마다 요구되는 소스 프레임 데이터 Dsf를 독출한다.
상기 파단선 정보의 세트는 상기 목표 메타-프레임 수평 좌표들 Xd[x][0]에 기초하여 계산된다. 여기서 x는 메타-행들에서 픽셀들의 열 위치의 인덱스이고 0부터 시작하여 목표 프레임의 행의 마지막 수평 픽셀 [M]까지 증가한다. DMA 컨트롤러(6232)에 의해 독출된 각 메타-행은 도 9의 루마 Y 메타-프레임 버퍼(6241-2-Y)의 하나의 라인-버퍼로 복사된다. 소스 프레임에서 파단선의 수평 위치들은 역시 모든 라인 버퍼들에서 수직으로 정렬되어 있기 때문에, 상기 파단선 정보는 역시 (도 12에서 하나의 비트 데이터로서 도시된 바와 같이)저장될 것이고 제2아핀 변환 엔진(6250)에 의해 수행되는 보간 과정 동안 보간 윈도우 모양을 정의하기 위해 사용될 것이다. X'[I]는 변화된 수직 위치를 나타낸다(증가 또는 감소는 회전 방향에 의존한다). DMA 컨트롤러(6232)는 목표 프레임의 수평 행에 맞추어 정렬된 라인 버퍼에서 요구되는 소스 프레임 데이터를 억세스(access)하고 저장하는 동안 다음 위치(주소) 정보는 소스 프레임 독출 과정 동안 저장되고 제2아핀 변환 엔진(6250)에 이용 가능하도록 만들어진다:
수평 시작 위치;
수직 시작 위치;
AXI 독출 처리 시작 및 종료 위치.
현재의 실시 예에서 AXI 데이터 버스의 선호되는(preferred) 데이터 버스 폭(data bus width)은 128 비트들이다(RDATA=WDATA=128 비트들). 따라서 각 AXI 독출 요구 처리는 올바른 모양 보간 윈도우 데이터(right shape interpolation window data)를 선택하기 위한 뿐만 아니라 만약 AXI 독출 데이터의 시작 또는 종료 위치가 128-비트로 정렬된 것이 아닐 때 여분의 데이터(redundant data)를 버리기 위해 제2보간 엔진(6250)이 알고 저장될 필요가 있는 파단선 위치 정보를 나타낸다. 우선적으로 하나의 AXI 독출 처리 내에서 각 유효한 요구되는 소스 프레임 데이터는 보간 동안 파단선 위치 사이의 같은 수평 위치에서 크로마 Cb, Cr 데이터 의 불일치를 방지하기 위해 루마 Y 데이터의 짝수 번째 픽셀 위치부터 시작한다.
요구되는 AXI 독출 처리 기준은 다음 조건에 의존한다:
파단선 조건과 픽셀 거리를 처리하는 아핀 변환(affine transform)은 각 라인의 첫번째 요구를 제외하고 마지막 파단선 위치로부터 7픽셀보다 많다;
이전 라인과 관련하여 정렬된 단선 위치(breaking location); 및
연속적으로 요구되는 소스 프레임 데이터 카운트(count)는 상기 2개의 조건들의 과정 동안 최대 AXI 버스트 처리 길이(AXI burst transaction length)에 이른다.
도 10은 도 8B의 방법의 단계들을 수행하기 위해 메타-프레임 라인-버퍼 6241-2-Y에 저장된 메타-행들의 무빙-윈도우 보간(moving-window interpolation)의 수평 시작 위치에서의 변화를 도시하는 도 9의 실시 예 6241-2-Y의 메모리 맵(memory map)이다.
도 8B의 방법의 실행에 있어, 제1아핀 변환 엔진(6220)은 루마 Y 메타-프레임 버퍼(6241-2-Y)의 처음 7개 라인 버퍼들 LB0-LB6을 채우기 위한 DMA(direct memory access) 컨트롤러/독출 마스터(6232)를 제어하기 위해 수평 위치 정보(예컨대, 독출 주소들)를 생성한다. 목표 메타-프레임의 각 메타-행 Xd의 왼쪽 끝의 위치가 상기 목표 메타-프레임의 각 메타-행 Xd의 왼쪽 끝의 위치와 대응되는 라인 버퍼(예컨대, LB0~LB5)내에서 복사될 때, 상기 수평 위치 정보는 상기 목표 메타-프레임의 각 메타-행 Xd의 왼쪽 끝의 위치에 기초한 수평 시작 위치 정보(예컨대, HstartLB0-5)를 포함한다. 예컨대, 라인 버퍼들 LB0-LB5에 수평화되어 저장된 목표 메타-프레임의 메타-행들 Xd의 각 좌측 끝은 LB0-LB5 중에서 각각의 라인 버퍼의 왼쪽 끝으로부터 16 픽셀들(HstartLB0~5-16)에 위치할 수 있다. 반면, 라인 버퍼 LB6에 수평화되고 저장된 목표 메타-프레임의 메타-행 Xd의 왼쪽 끝은 라인 버퍼 LB6의 왼쪽 끝으로부터 8 픽셀들(HstartLB6=8)에 위치한다. 라인 버퍼들 LB0~LB5에 저장된 이미지 데이터는 먼저 패치(fetch)된다. 수평 주소 포인터(horizontal address pointer)는 라인 버퍼들 LB0~LB5에 대해 8이고, 수평 주소 포인터는 라인 버퍼 LB6에 대해서는 0이지만, 소스 이미지 데이터의 같은 수평 위치를 가리킨다.
따라서, 라인 버퍼 LB6에 저장된 메타-행 Xd의 이미지 데이터는 다른 수평 라인 버퍼 메모리 주소에서 시작한다.
도 11은 메타-프레임 라인-버퍼(6241-2-Y)에 저장된 메타-행들의 무빙-윈도우 보간의 수직 시작 위치 위니쉬프트(winyshift)에서의 변화를 도시하는 도9의 라인-버퍼의 실시 예 6241-2-Y의 다이어그램이다. 목표 프레임의 각 행 Rd의 무빙 윈도우 보간 과정(moving window interpolation process) 동안 보간의 수직 위치를 나타내기 위한 도 8B의 방법을 수행하는 도 1의 DIS 회로의 도 2의 DIS 보상 유닛(6000)의 실시 예에서 2 비트 내부 신호들이 있다. 보간 윈도우 (x', y')의 라인 버퍼 위치의 센터는 파단선 지시자(breaking line indicator)에 의존하여 변한다.
표 1은 2 비트 내부 신호들의 의미를 보여준다.
표 1 라인 버퍼 수직 윈도우 범위 선택 명령(위니쉬프트)
WINYSHIFT[1:0]
00 라인 버퍼 위치의 센터는 처리(process) 위치와 같다
01 라인 버퍼 위치의 센터는 처리 위치의 하나 보다 크다
10 라인 버퍼 위치의 센터는 처리 위치의 하나 보다 작다
11 라인 버퍼 위치의 센터는 처리 위치의 둘 보다 작다
도 11에서 화살표가 제거된 라인들(arrow-terminated lines)에 의해 도시된 바와 같이, 라인 버퍼 LB0-LB6의 다른 세트들은 4개의 다른 위니쉬프트 명령들(four different winyshift commands)에 대응한다.
다음 센터 라인 위치(next center line location)를 나타내기 위해 3가지 타입의 라인 버퍼 수직 방향 행동(line buffer vertical direction action)이 있다. 만약 현재 센터 라인(current center line)이 n일 때,
1. 증가 - 다음 수직 소스 프레임 라인으로 진행 (n+1)
2 라인 반복 - 같은 수직 소스 프레임 라인에서 머뭄 (n)
3. 스킵 라인 - 2개의 수직 소스 프레임 라인으로 진행(n+2)
표 2는 라인 버퍼들에서 보간 윈도우 센터(interpolation window center)의 수직 방향 움직임(vertical direction movement)에 관련된 행동을 특징짓는다.
행동 상태
라인 반복 탑 라인 버퍼(top line buffer)가 사용되고 확인을 위해 상기 탑 라인 버퍼가 다시 사용되지 않을 때
스킵 라인 위니쉬프트 = 2'b11 일 때
증가 위의 두 상태들과 다른 경우
도 12는 수직 파단선 장소들(locations)의 위치(positions)를 나타내는 비트들을 저장하기 위한 라인 버퍼들을 포함하는 도 2의 메타-프레임 라인-버퍼(6240)에 저장된 루마 Y 및 크로마 (CB 및 CR) 소스 프레임 데이터의 저장의 예시적인 모드(mode)의 다이어그램이다. 소스 이미지 데이터 (루마 Y 데이터 및 크로마 Cb, Cr 데이터) 및 파단선 정보 비트들은 도 12에 도시된 라인 버퍼들에 저장된다. 수직 파단선 장소들(locations)의 위치들(positions)을 나타내는 비트들은 수평 위치마다 1 비트를 포함하고, 상기 1 비트는 파단선의 존재 또는 부존재를 나타낸다.
도 13은 도 2의 수평화된 메타-프레임 버퍼(6240)에 하나의 수직 파단선에 의해 (소스 프레임에 대해 목적 프레임의 시계방향 회전에 기인하여) 나누어진 예시적인 4x8 픽셀 보간 윈도우의 모양을 나타내는 다이어그램이다. 원(circle)은 수평화에 이전에 4x8 픽셀 보간 윈도우의 수학적 중심(mathematical center)과, 보간되어야 할 목표 프레임의 픽셀의 대략의 위치를 나타낸다.
도 14(a) 및 14(b)는 목표 프레임의 다른 행들 Rd에서 픽셀들을 보간하기 위해 나누어지지-않은(non-split) 예시적인 4x8 픽셀 보간 윈도우들의 규칙적인 직사각형 모양과 수직 위치들을 도시하는 다이어그램이다. 도 14(a) 및 14(b)는 7-라인 수평화된 메타-프레임 라인-버퍼에 저장된 메타-행들의 무빙-윈도우 보간의 수직 시작 위치 위니쉬프트(vertical starting position winyshift)의 다른 값들을 나타낸다. 목표 프레임 픽셀들은 도 2의 수평화된 메타-프레임 버퍼(6240)에서 4개의 라인 버퍼들에 저장된 목표 메타-프레임의 4개의 수평의 메타-행들에 포함된 소스 프레임 데이터 Dsf로부터 보간된다. 각 수직 시작 위치 위니쉬프트(each vertical starting position winyshift)의 값 또한 나타낸다.
도 15(a)~15(e)는 도 2의 수평화된 메타-프레임 버퍼(6240)에 저장된 목표-메타 프레임의 수평 메타-행들에 포함된 소스 프레임 데이터 Dsf로부터 제1시계방향으로-회전된 목표 프레임의 다른 픽셀들을 보간하기 위해 나누어진(split) 예시적인 4x8 픽셀 무빙-윈도우들(moving-windows)의 모양 및 위치들을 나타내는 다이어그램이다. 도 15(a)~15(e)는 도 2의 수평화된 메타-프레임 버퍼(6240)에 하나의 수직 파단선에 의해 소스 프레임에 대한 목표 프레임의 시계 방향 회전에 기인하여 나누어진(split) 예시적인 4x8 픽셀 보간 윈도우의 모양을 나타내는 다이어그램이다. 각 수직 시작 위치 위니쉬프트(vertical starting position winyshift)의 값 역시 나타낸다.
도 15(f)~15(j)는 도 2의 수평화된 메타-프레임 버퍼(6240)에 저장된 목표 메타-프레임의 수평 메타-행들에 포함된 소스 프레임 데이터 Dsf로부터 제2반시계방향으로 회전된 목표 프레임의 다른 픽셀들을 보간하기 위해 나누어진 예시적인 4x8 픽셀 무빙-윈도우들의 모양 및 위치들을 나타내는 다이어그램이다. 도 15(f)~15(j)는 도 2의 수평화된 메타-프레임 버퍼(6240)에 하나의 수직 파단선에 의해 소스 프레임에 대해 목표 프레임의 반시계방향 회전에 기인하여 나누어진(split) 예시적인 4x8 픽셀 보간 윈도우의 모양을 나타내는 다이어그램이다.
도 14(a)~14(d) 및 도 15(a)~15(j) 각각에 있어서, 각 4x8 보간 윈도우 영역 내에는 적어도 하나의 파단선이 있다. 단지 하나의 파단선이 4x8 보간 윈도우 영역 내에서 발생할 것이기 때문에, 디자인 선택으로서의 이 제한은 구현 복잡성(implementation complexity)을 줄일 수 있지만, 보간될 수 있는 회전각의 범위를 줄인다. 적절한(correct) 소스 프레임 데이터는 파단선 마킹 점들(breaking line marking points)에 기초하여 수집되어야 한다. 보간 소스 프레임 데이터(interpolation source frame data)의 각 행은 같은 소스 프레임 라인으로부터 와야한다. 제2아핀 변환 엔진은 출력 좌표 정보를 제1아핀 변환 엔진에 의해 계산되고 어떤 내부 FIFOs 및 라인 버퍼들에 저장된 좌표 정보와 비교함으로써 보간 윈도우 위치(모양)를 결정한다.
본 발명은 소스 프레임 데이터 억세스(source frame data access)의 오버헤드(overhead)를 줄이고, 출력 목표 프레임 데이터의 래스터 순서 스캔 타입(raster order scan type)을 생성한다. 출력 목표 프레임 데이터의 래스터 스캔 순서는 대각선으로 분배된 소스 프레임 데이터를 복수의 라인 버퍼들로의 재배열(re-alignment arrangement)에 의해 구현(facilitated)된다.
본 발명의 개념의 실시 예의 이용은 오버헤드(overhead)를 줄일 수 있다. 왜냐하면 타일링(tiling) 방법에 있어서 소스 프레임 데이터의 중복 독출(overlapping reading)에 비하면 본 발명의 소스 프레임 데이터는 단지 한번 독출되기 때문이다. 또한 추가적인 계산이나 메모리 오버헤드 없이 래스터 순서 목표 프레임 데이터 출력 시퀀스(raster order destination frame data output sequence)를 매끄럽게 생성할 수 있다.
앞서 개시된 발명들은 실시 예로서 고려된 것이므로, 제한되어 해석되어서는 안되고, 첨부된 청구항들은 발명의 사상에 따라 변형, 첨가, 및 다른 실시 예까지 포함하는 것으로 이해되어야 한다. 따라서, 뒤따르는 청구항 및 그 균등물의 최대한의 해석에 의해 발명의 보호 범위는 법에 의해 허용되는 최대의 내용까지 결정되어야 하며, 앞서 말한 상세한 설명에 의해 제한 해석되어서는 안된다.
2000; 검출 유닛
4000; 궤적 유닛
6000; 보상 유닛

Claims (21)

  1. 소스 프레임에서 픽셀들의 각 메타-행의 시작을 나타내고 목표 프레임의 행들에서 픽셀들에 대응하는 수평 위치 데이터의 세트를 생성하기 위해 구현되는 제1아핀 변환 엔진(affine tranform engine);
    목표 프레임으로부터 픽셀들의 각 메타-행을 독출하고 수평화된 픽셀들의 각각 메타-행을 복수의 라인 버퍼들 중 어느 하나로 기록하기 위해 수평 위치 데이터에 기초하여 제어되는 메모리 억세스 컨트롤러(memory access controller); 및
    복수의 라인 버퍼들에 저장된 상기 소스 프레임의 픽셀들의 복수의 수평화된 메타-행들로부터 래스터 순서로 상기 목표 프레임의 픽셀들의 각 행에서 각 픽셀을 보간하고 출력하기 위해 구현된 제2 아핀 변환 엔진을 포함하는 이미지 처리 회로.
  2. 제1항에 있어서, 상기 목표 프레임은,
    아핀 변환 계수들(affine transform coefficinets)의 수신된 세트에 따라 상기 목표 프레임의 상기 픽셀들의 상기 보간 동안 회전되는 이미지 처리 회로.
  3. 제1항에 있어서, 상기 제1아핀 변환 엔진은,
    아핀 변환 계수들의 수신된 세트에 기초하고 상기 소스 프레임과 관련된 상기 목표 프레임의 위치 및 크기 정보에 기초하여 상기 소스 프레임에서 픽셀들의 각 메타-행의 상기 시작을 나타내는 수평 위치 데이터의 상기 세트를 생성하는 이미지 처리 회로.
  4. 회전을 포함하는 아핀 변환 좌표들(affine transform coordinates)에 따라 소스 프레임의 복수의 행들에 픽셀들로부터 목표 프레임 보간 방법에 있어서,
    상기 아핀 변환 좌표들에 기초하여, 수평화된 상기 목표 프레임의 제1행의 픽셀들에 대응하는 모든 소스 프레임 데이터를 복수의 라인 버퍼들로 복사하는 단계; 및
    상기 복수의 라인 버퍼들에 저장된 상기 소스 프레임 데이터로부터 상기 목표 프레임의 상기 제1행의 각 픽셀들을 보간하고 래스터 순서로 상기 목표 프레임의 상기 제1행의 상기 보간된 픽셀들을 출력하는 단계를 포함하는 목표 프레임 보간 방법.
  5. 제4항에 있어서, 상기 목표 프레임 보간 방법은,
    상기 아핀 변환 좌표들에 기초하여, 수평화된 상기 목표 프레임의 제2행의 픽셀들에 대응하는 모든 소스 프레임 데이터를 상기 복수의 라인-버퍼들로 복사하는 단계; 및
    상기 복수의 라인-버퍼들에 저장된 상기 소스 프레임 데이터로부터 상기 목표 프레임의 상기 제2행의 각 픽셀들을 보간하고 래스터 순서로 상기 목표 프레임의 상기 제2행의 상기 보간된 픽셀들을 출력하는 단계를 더 포함하는 목표 프레임 보간 방법.
  6. 제5항에 있어서, 상기 목표 프레임의 상기 제1 행 및 제2 행의 상기 픽셀들에 대응하는 상기 모든 소스 프레임 데이터를 복사하는 상기 단계들은,
    상기 복수의 라인-버퍼들에 저장된 상기 소스 프레임 데이터로부터 상기 목표 프레임의 상기 제1행 및 제2행의 각 픽셀을 보간하는 상기 단계들의 시작 이전에 완료되는 목표 프레임 보간 방법.
  7. 제5항에 있어서, 상기 목표 프레임 보간 방법은,
    상기 아핀 변환 좌표들에 기초하여, 수평화된 상기 목표 프레임의 제3 및 제4 행들의 픽셀들에 대응하는 모든 소스 프레임 데이터를 상기 복수의 라인-버퍼들로 복사하는 단계; 및
    상기 복수의 라인-버퍼들에 저장된 상기 소스 프레임 데이터로부터 상기 목표 프레임의 상기 제3 및 제4행들의 각 픽셀을 보간하고 래스터 순서로 상기 목표 프레임의 상기 제3 및 제4 행들의 상기 보간된 픽셀들을 출력하는 단계를 더 포함하는 목표 프레임 보간 방법.
  8. 소스 프레임의 목표 프레임 부분 회전 방법을 수행하기 위해 구현되는 이미지 처리 유닛을 포함하며, 상기 방법은,
    무빙 윈도우 보간 처리(moving window interpolation process)를 이용하는 목표 프레임의 픽셀들을 보간하기 위해 복수의 라인 버퍼들 내에서 소스 프레임 데이터의 정렬을 유지하는 동안, 아핀 변환 계수들에 기초한 파단선 수평 위치 정보의 세트에 기초하여 수평화된 상기 목표 프레임 부분에 대응하는 상기 소스 프레임 데이터를 복수의 라인 버퍼들로 복사하는 단계를 포함하는 목표 프레임 부분 회전 방법.
  9. 제8항에 있어서, 상기 소스 프레임 데이터를 복사하는 상기 단계는,
    상기 소스 프레임 데이터의 모든 행과 함께 이용하기 위해 수평 데이터 정렬 정보의 하나의 세트만에 기초하여 상기 소스 프레임 데이터를 복수의 라인 버퍼들로 정렬하는 단계를 포함하는 목표 프레임 부분 회전 방법.
  10. 아핀 변환 계수들에 따라 소스 프레임의 목표 프레임 부분 회전 방법에 있어서,
    상기 아핀 변환 계수들에 기초하여 상기 목표 프레임의 제1행의 픽셀들에 대응하는 제1메타-행에 소스 프레임의 픽셀들의 이미지 데이터를 제1라인 버퍼로 복사하는 단계;
    상기 아핀 변환 계수들에 기초하여 상기 목표 프레임의 상기 제1행의 픽셀들에 대응하는 제2 메타-행에 상기 소스 프레임의 픽셀들의 상기 이미지 데이터를 제2라인 버퍼로 복사하는 단계; 및
    상기 제1 및 제2 라인 버퍼들에 저장된 상기 이미지 데이터에 기초하여 상기 목표 프레임의 상기 제1행의 각 픽셀을 순차적으로 보간하고 래스터 순서로 상기 목표 프레임의 상기 제1행의 상기 보간된 픽셀들을 출력하는 단계를 포함하는 목표 프레임 부분 회전 방법.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
KR1020110141581A 2010-12-23 2011-12-23 디지털 이미지 안정화를 위해 최적화된 회전되고 보간된 픽셀들의 래스터 출력 KR101798010B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201061426970P 2010-12-23 2010-12-23
US201061426975P 2010-12-23 2010-12-23
US61/426,975 2010-12-23
US61/426,970 2010-12-23

Publications (2)

Publication Number Publication Date
KR20120072354A KR20120072354A (ko) 2012-07-03
KR101798010B1 true KR101798010B1 (ko) 2017-12-12

Family

ID=46316237

Family Applications (7)

Application Number Title Priority Date Filing Date
KR1020110141580A KR101830889B1 (ko) 2010-12-23 2011-12-23 디지털 이미지 안정화 장치 및 그 방법
KR1020110141579A KR101830804B1 (ko) 2010-12-23 2011-12-23 적응 필터링을 이용한 디지털 이미지 안정화 방법
KR1020110141564A KR20120072348A (ko) 2010-12-23 2011-12-23 디지털 이미지 안정화 장치
KR1020110141565A KR101861770B1 (ko) 2010-12-23 2011-12-23 이미지 프로세싱 회로 및 이미지 프로세싱 방법
KR1020110141581A KR101798010B1 (ko) 2010-12-23 2011-12-23 디지털 이미지 안정화를 위해 최적화된 회전되고 보간된 픽셀들의 래스터 출력
KR1020110141566A KR101861771B1 (ko) 2010-12-23 2011-12-23 디지털 이미지 안정화 장치
KR1020110141578A KR101861722B1 (ko) 2010-12-23 2011-12-23 비디오 데이터를 처리하는 방법과 이미지 처리 회로

Family Applications Before (4)

Application Number Title Priority Date Filing Date
KR1020110141580A KR101830889B1 (ko) 2010-12-23 2011-12-23 디지털 이미지 안정화 장치 및 그 방법
KR1020110141579A KR101830804B1 (ko) 2010-12-23 2011-12-23 적응 필터링을 이용한 디지털 이미지 안정화 방법
KR1020110141564A KR20120072348A (ko) 2010-12-23 2011-12-23 디지털 이미지 안정화 장치
KR1020110141565A KR101861770B1 (ko) 2010-12-23 2011-12-23 이미지 프로세싱 회로 및 이미지 프로세싱 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020110141566A KR101861771B1 (ko) 2010-12-23 2011-12-23 디지털 이미지 안정화 장치
KR1020110141578A KR101861722B1 (ko) 2010-12-23 2011-12-23 비디오 데이터를 처리하는 방법과 이미지 처리 회로

Country Status (5)

Country Link
US (7) US9041817B2 (ko)
JP (7) JP5967926B2 (ko)
KR (7) KR101830889B1 (ko)
CN (5) CN102547120B (ko)
DE (6) DE102011056983A1 (ko)

Families Citing this family (138)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8896715B2 (en) * 2010-02-11 2014-11-25 Microsoft Corporation Generic platform video image stabilization
US9041817B2 (en) 2010-12-23 2015-05-26 Samsung Electronics Co., Ltd. Method and apparatus for raster output of rotated interpolated pixels optimized for digital image stabilization
US8384787B2 (en) * 2011-02-24 2013-02-26 Eastman Kodak Company Method for providing a stabilized video sequence
US8724854B2 (en) 2011-04-08 2014-05-13 Adobe Systems Incorporated Methods and apparatus for robust video stabilization
JP2012234258A (ja) * 2011-04-28 2012-11-29 Sony Corp 画像処理装置と画像処理方法およびプログラム
CN102789642B (zh) * 2011-05-16 2017-08-25 索尼公司 消失方向确定方法和装置、摄像机自标定方法和装置
GB2492529B (en) * 2011-05-31 2018-01-10 Skype Video stabilisation
US20130050560A1 (en) * 2011-08-23 2013-02-28 Bae Systems Information And Electronic Systems Integration Inc. Electronic selection of a field of view from a larger field of regard
GB201116566D0 (en) 2011-09-26 2011-11-09 Skype Ltd Video stabilisation
GB2497507B (en) 2011-10-14 2014-10-22 Skype Received video stabilisation
US8810666B2 (en) * 2012-01-16 2014-08-19 Google Inc. Methods and systems for processing a video for stabilization using dynamic crop
JP2013187726A (ja) * 2012-03-08 2013-09-19 Casio Comput Co Ltd 画像解析装置、画像処理装置、画像解析方法及びプログラム
KR101939628B1 (ko) * 2012-05-30 2019-01-17 삼성전자주식회사 모션 검출 방법 및 모션 검출기
US8957973B2 (en) 2012-06-11 2015-02-17 Omnivision Technologies, Inc. Shutter release using secondary camera
US8928730B2 (en) 2012-07-03 2015-01-06 DigitalOptics Corporation Europe Limited Method and system for correcting a distorted input image
US9242602B2 (en) 2012-08-27 2016-01-26 Fotonation Limited Rearview imaging systems for vehicle
JP6007682B2 (ja) * 2012-08-31 2016-10-12 富士通株式会社 画像処理装置、画像処理方法及びプログラム
US9912847B1 (en) 2012-09-25 2018-03-06 Amazon Technologies, Inc. Image capture guidance to reduce specular reflection effects
KR101640527B1 (ko) * 2012-10-09 2016-07-18 에스케이 텔레콤주식회사 단일객체의 크기를 추정하는 영상 감시장치 및 방법
KR101618814B1 (ko) 2012-10-09 2016-05-09 에스케이텔레콤 주식회사 단일객체에 대한 기울기를 추정하는 영상을 감시하는 장치 및 방법
BR112015010384A2 (pt) 2012-11-12 2017-07-11 Behavioral Recognition Sys Inc técnicas de estabilização de imagem para sistemas de vigilância por vídeo
JP6091172B2 (ja) * 2012-11-15 2017-03-08 オリンパス株式会社 特徴点検出装置およびプログラム
CN103837170B (zh) * 2012-11-28 2016-08-10 常州大学 频率输出类传感器自动频率补偿电路及方法
KR101783990B1 (ko) 2012-12-21 2017-10-10 한화테크윈 주식회사 디지털 영상 처리 장치 및 영상의 대표 움직임 예측 방법
US9244694B2 (en) * 2012-12-27 2016-01-26 Intel Corporation Executing a command within a transport mechanism based on a get and set architecture
US9235260B2 (en) 2012-12-27 2016-01-12 Intel Corporation Camera command set host command translation
JP5988879B2 (ja) * 2013-01-09 2016-09-07 オリンパス株式会社 特徴点検出装置およびプログラム
US9712818B2 (en) * 2013-01-11 2017-07-18 Sony Corporation Method for stabilizing a first sequence of digital image frames and image stabilization unit
US9177245B2 (en) 2013-02-08 2015-11-03 Qualcomm Technologies Inc. Spiking network apparatus and method with bimodal spike-timing dependent plasticity
KR102121558B1 (ko) * 2013-03-15 2020-06-10 삼성전자주식회사 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더
US9307148B1 (en) * 2013-05-15 2016-04-05 Amazon Technologies, Inc. Video enhancement techniques
US9445061B2 (en) * 2013-07-08 2016-09-13 Semiconductor Components Industries, Llc Image sensors with pixel array sub-sampling capabilities
KR102069269B1 (ko) * 2014-01-21 2020-01-22 한화테크윈 주식회사 영상 안정화 장치 및 방법
US10136063B2 (en) 2013-07-12 2018-11-20 Hanwha Aerospace Co., Ltd Image stabilizing method and apparatus
US20150022677A1 (en) * 2013-07-16 2015-01-22 Qualcomm Incorporated System and method for efficient post-processing video stabilization with camera path linearization
JP5822411B2 (ja) * 2013-08-12 2015-11-24 株式会社アポロジャパン 画像情報のコード変換装置、画像情報のコード変換方法、画像コードを用いた画像関連情報提供システム、画像情報のコード変換プログラム、及びそのプログラムを記録した記録媒体
JP6230345B2 (ja) * 2013-09-06 2017-11-15 キヤノン株式会社 画像処理方法、画像処理装置、及びプログラム
JP6206804B2 (ja) * 2013-09-27 2017-10-04 パナソニックIpマネジメント株式会社 移動体追跡装置、移動体追跡システムおよび移動体追跡方法
US10051274B2 (en) * 2013-10-25 2018-08-14 Canon Kabushiki Kaisha Image processing apparatus, method of calculating information according to motion of frame, and storage medium
KR20150049535A (ko) * 2013-10-30 2015-05-08 삼성전자주식회사 전자장치 및 그 이용방법
JP6147172B2 (ja) * 2013-11-20 2017-06-14 キヤノン株式会社 撮像装置、画像処理装置、画像処理方法、及びプログラム
US9813730B2 (en) * 2013-12-06 2017-11-07 Mediatek Inc. Method and apparatus for fine-grained motion boundary processing
CN103841296B (zh) * 2013-12-24 2017-01-18 哈尔滨工业大学 一种具有大范围旋转及平移运动估计的实时电子稳像方法
CN103731658B (zh) * 2013-12-25 2015-09-30 深圳市墨克瑞光电子研究院 双目摄像机复位方法和双目摄像机复位装置
US11080865B2 (en) * 2014-01-02 2021-08-03 Hanwha Techwin Co., Ltd. Heatmap providing apparatus and method
KR102150705B1 (ko) 2014-01-22 2020-09-01 한화테크윈 주식회사 영상 처리 장치 및 방법
JP6305806B2 (ja) * 2014-03-28 2018-04-04 日本コントロールシステム株式会社 情報処理装置、情報処理方法、およびプログラム
US9713982B2 (en) 2014-05-22 2017-07-25 Brain Corporation Apparatus and methods for robotic operation using video imagery
US10194163B2 (en) * 2014-05-22 2019-01-29 Brain Corporation Apparatus and methods for real time estimation of differential motion in live video
US9939253B2 (en) 2014-05-22 2018-04-10 Brain Corporation Apparatus and methods for distance estimation using multiple image sensors
GB2521491B (en) * 2014-06-17 2016-10-19 Imagination Tech Ltd Motion estimation
CN104077099B (zh) * 2014-06-18 2017-09-29 浙江德景电子科技有限公司 一种智能终端平台支持更高分辨率的方法
US9848112B2 (en) 2014-07-01 2017-12-19 Brain Corporation Optical detection apparatus and methods
US10057593B2 (en) 2014-07-08 2018-08-21 Brain Corporation Apparatus and methods for distance estimation using stereo imagery
US9386234B2 (en) 2014-07-31 2016-07-05 Apple Inc. Auto filter extent management
JP6395506B2 (ja) * 2014-08-22 2018-09-26 キヤノン株式会社 画像処理装置および方法、プログラム、並びに撮像装置
CN104243819B (zh) * 2014-08-29 2018-02-23 小米科技有限责任公司 照片获取方法及装置
JP6234349B2 (ja) * 2014-09-16 2017-11-22 株式会社東芝 移動体位置推定装置、移動体位置推定方法及び移動体位置推定プログラム
EP3195590A4 (en) * 2014-09-19 2018-04-25 Intel Corporation Trajectory planning for video stabilization
US9870617B2 (en) 2014-09-19 2018-01-16 Brain Corporation Apparatus and methods for saliency detection based on color occurrence analysis
DE102014220423A1 (de) * 2014-10-08 2016-04-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung zum Erzeugen eines Videoausgangsdatenstroms, Videoquelle, Videosystem und Verfahren zum Erzeugen eines Videoausgangsdatenstroms bzw. eines Videoquellendatenstroms
KR102281184B1 (ko) * 2014-11-20 2021-07-23 삼성전자주식회사 영상 보정 방법 및 장치
US9626733B2 (en) * 2014-11-24 2017-04-18 Industrial Technology Research Institute Data-processing apparatus and operation method thereof
EP3034000A1 (en) * 2014-12-16 2016-06-22 Agfa Healthcare Motion correction method in dual energy radiography
US10284794B1 (en) 2015-01-07 2019-05-07 Car360 Inc. Three-dimensional stabilized 360-degree composite image capture
US9998663B1 (en) 2015-01-07 2018-06-12 Car360 Inc. Surround image capture and processing
US10163000B2 (en) * 2015-01-14 2018-12-25 Samsung Electronics Co., Ltd. Method and apparatus for determining type of movement of object in video
US10013735B2 (en) * 2015-01-28 2018-07-03 Qualcomm Incorporated Graphics processing unit with bayer mapping
KR102305118B1 (ko) 2015-02-11 2021-09-27 삼성전자주식회사 이미지 안정화 방법 및 그 전자 장치
JP2016164709A (ja) * 2015-03-06 2016-09-08 キヤノン株式会社 画像処理装置、撮像装置および画像処理プログラム
US9336582B1 (en) 2015-04-17 2016-05-10 Google Inc. Convolutional color correction
US9794540B2 (en) * 2015-04-17 2017-10-17 Google Inc. Hardware-based convolutional color correction in digital images
US9342873B1 (en) * 2015-05-23 2016-05-17 Google Inc. Tile-based optical flow
US9736366B1 (en) 2015-05-23 2017-08-15 Google Inc. Tile-based digital image correspondence
CN106294905B (zh) * 2015-06-01 2021-07-06 鸿富锦精密电子(郑州)有限公司 印刷电路板布线系统及方法
JP6579807B2 (ja) * 2015-06-08 2019-09-25 キヤノン株式会社 撮像制御装置、撮像装置および撮像制御プログラム
US10197664B2 (en) 2015-07-20 2019-02-05 Brain Corporation Apparatus and methods for detection of objects using broadband signals
KR102368625B1 (ko) * 2015-07-23 2022-03-02 삼성전자주식회사 디지털 촬영 장치 및 그 방법
KR102457617B1 (ko) * 2015-09-16 2022-10-21 한화테크윈 주식회사 영상 움직임 추정 방법 및 장치, 영상 안정화 방법 및 장치, 및 컴퓨터 기록매체
JP6332212B2 (ja) * 2015-09-18 2018-05-30 カシオ計算機株式会社 姿勢推定装置、姿勢推定方法及びプログラム
JP6602141B2 (ja) * 2015-10-05 2019-11-06 キヤノン株式会社 画像処理装置および方法
KR101936919B1 (ko) 2015-11-05 2019-04-09 구글 엘엘씨 에지-인식 양방향 이미지 프로세싱
CN105491023B (zh) * 2015-11-24 2020-10-27 国网智能电网研究院 一种面向电力物联网的数据隔离交换和安全过滤方法
CN105681663B (zh) * 2016-02-26 2018-06-22 北京理工大学 一种基于帧间运动几何平滑性的视频抖动检测方法
US9756248B1 (en) 2016-03-02 2017-09-05 Conduent Business Services, Llc Methods and systems for camera drift correction
US9984305B2 (en) 2016-04-19 2018-05-29 Texas Instruments Incorporated Efficient SIMD implementation of 3x3 non maxima suppression of sparse 2D image feature points
US9756249B1 (en) * 2016-04-27 2017-09-05 Gopro, Inc. Electronic image stabilization frequency estimator
CN109561816B (zh) * 2016-07-19 2021-11-12 奥林巴斯株式会社 图像处理装置、内窥镜系统、信息存储装置和图像处理方法
US20180070089A1 (en) * 2016-09-08 2018-03-08 Qualcomm Incorporated Systems and methods for digital image stabilization
US20180150703A1 (en) * 2016-11-29 2018-05-31 Autoequips Tech Co., Ltd. Vehicle image processing method and system thereof
US10600290B2 (en) * 2016-12-14 2020-03-24 Immersion Corporation Automatic haptic generation based on visual odometry
CN107063228B (zh) * 2016-12-21 2020-09-04 上海交通大学 基于双目视觉的目标姿态解算方法
GB2574559B (en) * 2017-02-24 2021-12-01 Synaptive Medical Inc Video stabilization system and method
US10255891B2 (en) * 2017-04-12 2019-04-09 Microsoft Technology Licensing, Llc No miss cache structure for real-time image transformations with multiple LSR processing engines
US10430983B2 (en) * 2017-06-05 2019-10-01 Microsoft Technology Licensing, Llc Vertex pixel buffer
US10764499B2 (en) 2017-06-16 2020-09-01 Microsoft Technology Licensing, Llc Motion blur detection
US10289791B1 (en) * 2017-06-23 2019-05-14 Cadence Design Systems, Inc. Anchor-point based hierarchical electronic design process
US10453187B2 (en) * 2017-07-21 2019-10-22 The Boeing Company Suppression of background clutter in video imagery
CN107360377B (zh) * 2017-09-04 2020-09-25 云南电网有限责任公司电力科学研究院 一种车载视频稳像方法
CN107766021B (zh) * 2017-09-27 2020-12-25 芯启源(上海)半导体科技有限公司 图像处理方法、设备、显示系统及存储介质
CN107808388B (zh) * 2017-10-19 2021-10-12 中科创达软件股份有限公司 包含运动目标的图像处理方法、装置及电子设备
US11080864B2 (en) * 2018-01-08 2021-08-03 Intel Corporation Feature detection, sorting, and tracking in images using a circular buffer
JP6886622B2 (ja) * 2018-01-22 2021-06-16 京セラドキュメントソリューションズ株式会社 画像処理装置
US10726522B2 (en) 2018-01-24 2020-07-28 Fotonation Limited Method and system for correcting a distorted input image
CN110300239A (zh) * 2018-03-22 2019-10-01 精工爱普生株式会社 图像处理装置、图像处理方法以及显示装置
WO2019211741A1 (en) 2018-05-02 2019-11-07 Augmedics Ltd. Registration of a fiducial marker for an augmented reality system
US10497173B2 (en) * 2018-05-07 2019-12-03 Intel Corporation Apparatus and method for hierarchical adaptive tessellation
CN110557522A (zh) * 2018-05-31 2019-12-10 阿里巴巴集团控股有限公司 一种去除视频抖动的方法及装置
CN110708458B (zh) * 2018-07-10 2021-03-23 杭州海康微影传感科技有限公司 一种图像帧补偿方法、摄像机和热成像摄像机
KR20200016443A (ko) * 2018-08-07 2020-02-17 주식회사 마크애니 콘텐츠의 영상 데이터 복원방법 및 장치
CN112956203A (zh) * 2018-08-29 2021-06-11 英特尔公司 用于使用帧间预测的特征点跟踪的设备和方法
CN110771144B (zh) * 2018-08-29 2021-11-16 深圳市大疆创新科技有限公司 电子设备的控制方法、装置、电子设备及存储介质
CN109272041B (zh) * 2018-09-21 2021-10-22 联想(北京)有限公司 特征点的选取方法及装置
WO2020102976A1 (zh) * 2018-11-20 2020-05-28 深圳市大疆创新科技有限公司 云台调整方法、云台调整设备、移动平台及介质
US11766296B2 (en) 2018-11-26 2023-09-26 Augmedics Ltd. Tracking system for image-guided surgery
MX2021006306A (es) * 2018-11-29 2021-08-11 Interdigital Vc Holdings Inc Ordenamiento de candidatos de predictor de vector de movimiento en lista de fusion.
EP3672228A1 (en) 2018-12-20 2020-06-24 Axis AB Method and system for adjusting an image pipeline setting
WO2020141914A1 (ko) * 2019-01-01 2020-07-09 엘지전자 주식회사 히스토리 기반 모션 벡터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
CN109977775B (zh) * 2019-02-25 2023-07-28 腾讯科技(深圳)有限公司 关键点检测方法、装置、设备及可读存储介质
US11543514B2 (en) * 2019-03-29 2023-01-03 Elemenf Hope, Inc. Activity detection in sand environment
CN113728633B (zh) 2019-04-01 2022-12-20 北京字节跳动网络技术有限公司 对基于历史的运动矢量预测使用插值滤波器
CN114097219A (zh) * 2019-07-04 2022-02-25 北京字节跳动网络技术有限公司 基于历史的运动矢量预测表中的运动信息的存储
US11176386B2 (en) * 2019-07-08 2021-11-16 Nxp Usa, Inc. System and method for continuous operation of vision/radar systems in presence of bit errors
US11980506B2 (en) 2019-07-29 2024-05-14 Augmedics Ltd. Fiducial marker
JP7359942B2 (ja) 2019-08-20 2023-10-11 北京字節跳動網絡技術有限公司 映像処理における代替の補間フィルタの選択的使用
CN111061729B (zh) * 2019-11-29 2021-04-16 武汉大学 顾及粒度的矢量瓦片组织方法
KR20210079467A (ko) 2019-12-19 2021-06-30 삼성디스플레이 주식회사 광 제어 패널 및 이를 포함하는 표시 장치
US11748844B2 (en) 2020-01-08 2023-09-05 Carvana, LLC Systems and methods for generating a virtual display of an item
US11356604B2 (en) * 2020-02-14 2022-06-07 Pixelworks, Inc. Methods and systems for image processing with multiple image sources
KR20210155284A (ko) 2020-06-15 2021-12-22 한화테크윈 주식회사 영상처리장치
CN111974081A (zh) * 2020-07-31 2020-11-24 湖北三江航天红阳机电有限公司 一种气凝胶胶液回收装置、方法、系统、设备和存储介质
US20220046200A1 (en) * 2020-08-10 2022-02-10 Micron Technology, Inc. Methods and apparatus for integrated image signal processing
WO2023177799A1 (en) * 2022-03-16 2023-09-21 Beijing Dajia Internet Information Technology Co., Ltd. Adaptive picture modifications for video coding
WO2023203522A2 (en) * 2022-04-21 2023-10-26 Augmedics Ltd. Reduction of jitter in virtual presentation
DE102022112743B4 (de) 2022-05-20 2024-02-01 Audi Aktiengesellschaft Verfahren zur Verbesserung der Qualität einer Audio- und/oder Videoaufzeichnung sowie Steuervorrichtung für ein mobiles Endgerät
US20240005518A1 (en) * 2022-06-29 2024-01-04 Qualcomm Incorporated Scale image resolution for motion estimation
CN115174817A (zh) * 2022-09-05 2022-10-11 深圳深知未来智能有限公司 一种基于深度学习的混合防抖方法及系统
CN115601688B (zh) * 2022-12-15 2023-02-21 中译文娱科技(青岛)有限公司 基于深度学习的视频主体内容检测方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005009883A (ja) 2003-06-16 2005-01-13 Calsonic Kansei Corp ステレオカメラ装置

Family Cites Families (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2679778B2 (ja) * 1990-05-16 1997-11-19 松下電器産業株式会社 画像の動き検出装置
US5446501A (en) 1992-10-22 1995-08-29 Accom, Incorporated Three-dimensional median and recursive filtering apparatus and method for video image enhancement
US5748947A (en) * 1993-02-25 1998-05-05 Ricoh Company, Ltd. Information processing system for switchably processing data associated with straight line vectors
US5608458A (en) 1994-10-13 1997-03-04 Lucent Technologies Inc. Method and apparatus for a region-based approach to coding a sequence of video images
KR0181063B1 (ko) * 1995-04-29 1999-05-01 배순훈 특징점을 이용한 움직임 보상에서의 그리드 형성방법 및 장치
DE59509450D1 (de) * 1995-08-12 2001-08-30 Micronas Gmbh Equalizer für digitalisierte Signale
US6025840A (en) * 1995-09-27 2000-02-15 Cirrus Logic, Inc. Circuits, systems and methods for memory mapping and display control systems using the same
JP3332202B2 (ja) * 1996-10-04 2002-10-07 日本電信電話株式会社 カメラワーク算出方法及び装置
JP3104868B2 (ja) * 1997-11-25 2000-10-30 富士ゼロックス株式会社 画像処理装置
EP0954180B1 (en) * 1998-04-28 2006-02-08 Sanyo Electric Co., Ltd. Serial data transfer device
JP4004653B2 (ja) 1998-08-03 2007-11-07 カスタム・テクノロジー株式会社 動きベクトル検出方法および装置、記録媒体
DE59901416D1 (de) 1998-08-18 2002-06-13 Siemens Ag Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes mit anwendung eines gesamtbewegungsvektors
US7136110B2 (en) * 2000-06-14 2006-11-14 Canon Kabushiki Kaisha Image signal processing apparatus
GB2401703B (en) 2000-06-30 2005-01-19 Royal Mail Group Plc Image processing
JP3659157B2 (ja) 2000-10-17 2005-06-15 日本電気株式会社 映像内容に重み付けをする画像圧縮方式
US6940557B2 (en) 2001-02-08 2005-09-06 Micronas Semiconductors, Inc. Adaptive interlace-to-progressive scan conversion algorithm
JP3636672B2 (ja) * 2001-04-06 2005-04-06 松下電器産業株式会社 表示処理装置
US7043058B2 (en) * 2001-04-20 2006-05-09 Avid Technology, Inc. Correcting motion vector maps for image processing
JP3578735B2 (ja) * 2001-08-02 2004-10-20 松下電器産業株式会社 情報処理装置及び情報処理方法
US6765622B2 (en) 2001-10-26 2004-07-20 Koninklijke Philips Electronics N.V. Line-buffer reuse in vertical pixel-processing arrangement
KR100492127B1 (ko) 2002-02-23 2005-06-01 삼성전자주식회사 적응형 움직임 추정장치 및 추정 방법
JP2003331292A (ja) * 2002-05-09 2003-11-21 Sony Corp 画像処理装置および方法、記録媒体、並びにプログラム
EP1377040A1 (en) * 2002-06-19 2004-01-02 STMicroelectronics S.r.l. Method of stabilizing an image sequence
US6950473B2 (en) * 2002-06-21 2005-09-27 Seiko Epson Corporation Hybrid technique for reducing blocking and ringing artifacts in low-bit-rate coding
JP4198550B2 (ja) 2002-09-10 2008-12-17 株式会社東芝 フレーム補間方法およびこのフレーム補間方法を用いた装置
US20040076333A1 (en) 2002-10-22 2004-04-22 Huipin Zhang Adaptive interpolation filter system for motion compensated predictive video coding
GB0229096D0 (en) * 2002-12-13 2003-01-15 Qinetiq Ltd Image stabilisation system and method
JP3925415B2 (ja) * 2003-01-22 2007-06-06 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
US7525557B2 (en) * 2003-02-14 2009-04-28 Mitsubishi Denki Kabushiki Kaisha Moving image composition device, moving image composition method, and information terminal with moving image composition function
JP4182801B2 (ja) * 2003-04-24 2008-11-19 日本電気株式会社 マルチプロセサシステム
JP2004343483A (ja) * 2003-05-16 2004-12-02 Acutelogic Corp 手振れ補正装置および方法、手振れ検出装置
US7503049B2 (en) * 2003-05-29 2009-03-10 Panasonic Corporation Information processing apparatus operable to switch operating systems
KR100541953B1 (ko) * 2003-06-16 2006-01-10 삼성전자주식회사 움직임 보상을 위한 화소값 선택 장치 및 방법
KR100579542B1 (ko) 2003-07-29 2006-05-15 삼성전자주식회사 블럭 간의 상관성을 고려한 움직임 추정 장치 및 방법
JP4263976B2 (ja) * 2003-09-24 2009-05-13 株式会社東芝 オンチップマルチコア型耐タンパプロセッサ
US7295616B2 (en) 2003-11-17 2007-11-13 Eastman Kodak Company Method and system for video filtering with joint motion and noise estimation
US7457438B2 (en) * 2003-12-23 2008-11-25 Genesis Microchip Inc. Robust camera pan vector estimation using iterative center of mass
US7433497B2 (en) * 2004-01-23 2008-10-07 Hewlett-Packard Development Company, L.P. Stabilizing a sequence of image frames
US7880769B2 (en) * 2004-02-13 2011-02-01 Qualcomm Incorporated Adaptive image stabilization
WO2006002322A2 (en) 2004-06-22 2006-01-05 Sarnoff Corporation Method and apparatus for visual odometry
JP4404822B2 (ja) * 2004-08-31 2010-01-27 三洋電機株式会社 手ぶれ補正装置および撮像機器
US20060050976A1 (en) * 2004-09-09 2006-03-09 Stephen Molloy Caching method and apparatus for video motion compensation
US7447337B2 (en) * 2004-10-25 2008-11-04 Hewlett-Packard Development Company, L.P. Video content understanding through real time video motion analysis
CN100489818C (zh) 2004-11-26 2009-05-20 松下电器产业株式会社 处理器和安全处理系统
CN100487522C (zh) * 2005-01-13 2009-05-13 奥林巴斯映像株式会社 模糊校正方法及摄像装置
JP4755490B2 (ja) * 2005-01-13 2011-08-24 オリンパスイメージング株式会社 ブレ補正方法および撮像装置
FR2882160B1 (fr) 2005-02-17 2007-06-15 St Microelectronics Sa Procede de capture d'images comprenant une mesure de mouvements locaux
JP4321472B2 (ja) * 2005-03-28 2009-08-26 トヨタ自動車株式会社 制御装置
KR100732683B1 (ko) * 2005-05-06 2007-06-27 삼성전자주식회사 움직임 보상을 수행하는 영상변환장치 및 움직임 보상방법
JP5006568B2 (ja) * 2005-05-06 2012-08-22 キヤノン株式会社 レジスタ設定制御装置、レジスタ設定制御方法、プログラム及びデジタルカメラ
JP2006338272A (ja) * 2005-06-01 2006-12-14 Nissan Motor Co Ltd 車両挙動検出装置、および車両挙動検出方法
DE102005025634A1 (de) 2005-06-03 2006-12-07 Micronas Gmbh Verfahren und Vorrichtung zur Ermittlung von Bewegungsvektoren
FR2888349A1 (fr) * 2005-07-06 2007-01-12 St Microelectronics Sa Adaptation de debit binaire dans un flot de traitement de donnees
JP4640068B2 (ja) * 2005-09-16 2011-03-02 ソニー株式会社 撮像方法および撮像装置
US20070076796A1 (en) * 2005-09-27 2007-04-05 Fang Shi Frame interpolation using more accurate motion information
JP4334533B2 (ja) 2005-11-24 2009-09-30 株式会社東芝 動画像符号化/復号化方法および装置
JP4695972B2 (ja) * 2005-12-14 2011-06-08 キヤノン株式会社 画像処理装置、撮像装置および画像処理方法
CN100440933C (zh) * 2005-12-31 2008-12-03 北京中星微电子有限公司 一种用于手持数码摄像设备的防抖方法及装置
JP4981325B2 (ja) * 2006-02-13 2012-07-18 キヤノン株式会社 カメラシステム
JP4595834B2 (ja) * 2006-03-03 2010-12-08 日本ビクター株式会社 動きベクトル検出方法及び装置
JP4961850B2 (ja) 2006-06-15 2012-06-27 ソニー株式会社 動き検出方法、動き検出方法のプログラム、動き検出方法のプログラムを記録した記録媒体及び動き検出装置
EP2052553A4 (en) * 2006-07-26 2010-08-25 Human Monitoring Ltd IMAGE STABILIZER
US20080144124A1 (en) 2006-10-13 2008-06-19 Ramin Samadani Auxiliary information for reconstructing digital images processed through print-scan channels
JP4823179B2 (ja) * 2006-10-24 2011-11-24 三洋電機株式会社 撮像装置及び撮影制御方法
US8060716B2 (en) * 2006-12-22 2011-11-15 Panasonic Corporation Information processing device for securely processing data that needs to be protected using a secure memory
US8090022B2 (en) 2007-01-05 2012-01-03 Sony Corporation Video coding system
US8565337B2 (en) * 2007-02-07 2013-10-22 Valens Semiconductor Ltd. Devices for transmitting digital video and data over the same wires
JP2008203992A (ja) * 2007-02-16 2008-09-04 Omron Corp 検出装置および方法、並びに、プログラム
JP4212109B2 (ja) * 2007-03-20 2009-01-21 パナソニック株式会社 撮影装置および撮影方法
US8144170B2 (en) * 2007-03-28 2012-03-27 Himax Technologies Limited Apparatus for scaling image and line buffer thereof
JP4958610B2 (ja) 2007-04-06 2012-06-20 キヤノン株式会社 画像防振装置、撮像装置及び画像防振方法
JP4798055B2 (ja) * 2007-04-25 2011-10-19 ソニー株式会社 画像処理装置およびカメラシステム
EP1988505B1 (en) 2007-05-03 2020-05-06 Sony Deutschland Gmbh Method and system for initializing templates of moving objects
JP4893471B2 (ja) * 2007-05-24 2012-03-07 カシオ計算機株式会社 画像処理装置及びプログラム
JP2009002496A (ja) * 2007-06-20 2009-01-08 Tomoyasu Yutaka 簡易高圧用シャフトシール
JP4377932B2 (ja) * 2007-07-26 2009-12-02 株式会社モルフォ パノラマ画像生成装置およびプログラム
JP4389981B2 (ja) * 2007-08-06 2009-12-24 ソニー株式会社 固体撮像装置、固体撮像装置のアナログ−デジタル変換方法および撮像装置
EP2048886A1 (en) 2007-10-11 2009-04-15 Panasonic Corporation Coding of adaptive interpolation filter coefficients
KR101496324B1 (ko) 2007-10-17 2015-02-26 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
JP4438099B2 (ja) * 2007-11-22 2010-03-24 カシオ計算機株式会社 撮像装置及びそのプログラム
JP4876065B2 (ja) * 2007-12-14 2012-02-15 キヤノン株式会社 動きベクトル検出装置及び動きベクトル検出方法及び撮像装置及びプログラム
EP3272395B1 (en) * 2007-12-23 2019-07-17 Carl Zeiss Meditec, Inc. Devices for detecting, controlling, and predicting radiation delivery
JP5133734B2 (ja) * 2008-02-26 2013-01-30 セイコーインスツル株式会社 イメージセンサ
CN101237581B (zh) * 2008-02-29 2010-11-17 上海大学 基于运动特征的h.264压缩域实时视频对象分割方法
JP4491488B2 (ja) * 2008-03-03 2010-06-30 シャープ株式会社 画像処理装置、画像読取装置、画像データ出力処理装置、および画像処理方法
JP4534172B2 (ja) * 2008-04-03 2010-09-01 ソニー株式会社 画像処理装置、画像処理方法、及びプログラム
WO2009147849A1 (ja) * 2008-06-05 2009-12-10 パナソニック株式会社 信号処理装置、信号処理方法、信号処理用集積回路、及びテレビ受像機
US8204336B2 (en) 2008-07-16 2012-06-19 Panasonic Corporation Removing noise by adding the input image to a reference image
JP4964852B2 (ja) 2008-09-24 2012-07-04 富士フイルム株式会社 画像処理装置、方法及びプログラム
JP5213613B2 (ja) * 2008-09-26 2013-06-19 キヤノン株式会社 画像処理装置及び画像処理方法及び撮像装置及びプログラム
JP5284048B2 (ja) 2008-11-12 2013-09-11 キヤノン株式会社 画像処理装置、撮像装置及び画像処理方法
JP5328307B2 (ja) * 2008-11-14 2013-10-30 キヤノン株式会社 振れ補正機能を有する撮影装置及びその制御方法
JP4631966B2 (ja) 2008-12-22 2011-02-16 ソニー株式会社 画像処理装置、および画像処理方法、並びにプログラム
TWI463878B (zh) * 2009-02-19 2014-12-01 Sony Corp Image processing apparatus and method
JP4915424B2 (ja) 2009-02-19 2012-04-11 ソニー株式会社 画像処理装置、カメラモーション成分算出方法、画像処理プログラム及び記録媒体
JP5182178B2 (ja) * 2009-03-18 2013-04-10 ソニー株式会社 情報処理装置及び情報処理方法
CN101511024A (zh) * 2009-04-01 2009-08-19 北京航空航天大学 实时电子稳像中基于运动状态识别的运动补偿方法
JP5374220B2 (ja) * 2009-04-23 2013-12-25 キヤノン株式会社 動きベクトル検出装置およびその制御方法、ならびに撮像装置
JP5226600B2 (ja) * 2009-04-28 2013-07-03 富士フイルム株式会社 画像変形装置およびその動作制御方法
JP2011008316A (ja) * 2009-06-23 2011-01-13 Seiko Epson Corp 情報処理装置、画像表示装置及び情報処理方法
TWI399094B (zh) 2009-06-30 2013-06-11 Silicon Integrated Sys Corp 自適應移動補償內插法與其裝置
KR20110022133A (ko) * 2009-08-27 2011-03-07 삼성전자주식회사 영상의 움직임 추정방법 및 영상처리장치
JP2011050001A (ja) * 2009-08-28 2011-03-10 Sony Corp 画像処理装置および方法
EP2489180A1 (en) * 2009-10-14 2012-08-22 CSR Technology Inc. Method and apparatus for image stabilization
JP5717055B2 (ja) 2010-01-08 2015-05-13 日本電気株式会社 類似度算出装置、類似度算出方法、及びプログラム
JP2011199716A (ja) 2010-03-23 2011-10-06 Sony Corp 画像処理装置、および画像処理方法、並びにプログラム
WO2011126309A2 (ko) * 2010-04-06 2011-10-13 삼성전자 주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
WO2011135759A1 (ja) * 2010-04-30 2011-11-03 日本電気株式会社 情報処理装置及びタスク切り替え方法
JP2011259272A (ja) * 2010-06-10 2011-12-22 On Semiconductor Trading Ltd デジタルフィルタ
WO2012063467A1 (ja) * 2010-11-11 2012-05-18 パナソニック株式会社 画像処理装置、画像処理方法、プログラム及び撮影装置
US9041817B2 (en) 2010-12-23 2015-05-26 Samsung Electronics Co., Ltd. Method and apparatus for raster output of rotated interpolated pixels optimized for digital image stabilization
JP2012142827A (ja) 2011-01-05 2012-07-26 Sony Corp 画像処理装置および画像処理方法
KR101782818B1 (ko) * 2011-01-21 2017-09-29 삼성디스플레이 주식회사 데이터 처리 방법, 데이터 구동 회로 및 이를 포함하는 표시 장치
US8768069B2 (en) * 2011-02-24 2014-07-01 Sony Corporation Image enhancement apparatus and method
US8724854B2 (en) * 2011-04-08 2014-05-13 Adobe Systems Incorporated Methods and apparatus for robust video stabilization
US9824426B2 (en) 2011-08-01 2017-11-21 Microsoft Technology Licensing, Llc Reduced latency video stabilization
US9883203B2 (en) * 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
KR101861723B1 (ko) * 2011-12-20 2018-05-30 삼성전자주식회사 티어링과 플리커를 방지하기 위한 동기 신호를 조절하는 장치들과 그 방법
KR101350737B1 (ko) * 2012-02-20 2014-01-14 엘지디스플레이 주식회사 타이밍 컨트롤러 및 이를 포함하는 액정 표시 장치
KR101969565B1 (ko) * 2012-04-30 2019-04-17 삼성디스플레이 주식회사 업-스케일링 기능을 갖는 데이터 드라이버 및 그것을 포함하는 표시 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005009883A (ja) 2003-06-16 2005-01-13 Calsonic Kansei Corp ステレオカメラ装置

Also Published As

Publication number Publication date
KR101861771B1 (ko) 2018-05-28
KR101830804B1 (ko) 2018-02-21
US20120162460A1 (en) 2012-06-28
KR20120072352A (ko) 2012-07-03
US8797414B2 (en) 2014-08-05
US8988536B2 (en) 2015-03-24
JP2012138906A (ja) 2012-07-19
CN102572278B (zh) 2016-08-31
JP2012165365A (ja) 2012-08-30
KR20120072354A (ko) 2012-07-03
CN102572278A (zh) 2012-07-11
KR20120072348A (ko) 2012-07-03
DE102011056972A1 (de) 2012-09-06
DE102011056977A1 (de) 2012-06-28
DE102011056983A1 (de) 2012-06-28
US8849054B2 (en) 2014-09-30
KR101861770B1 (ko) 2018-05-28
JP2012165364A (ja) 2012-08-30
CN102547120A (zh) 2012-07-04
US9041817B2 (en) 2015-05-26
JP5933970B2 (ja) 2016-06-15
CN102547118A (zh) 2012-07-04
CN102572277A (zh) 2012-07-11
KR20120072349A (ko) 2012-07-03
KR20120072351A (ko) 2012-07-03
JP2012164302A (ja) 2012-08-30
US20120162452A1 (en) 2012-06-28
CN102665041A (zh) 2012-09-12
KR101861722B1 (ko) 2018-05-29
CN102665041B (zh) 2017-03-15
US20120162475A1 (en) 2012-06-28
JP2012164303A (ja) 2012-08-30
DE102011056982A1 (de) 2012-06-28
CN102547120B (zh) 2017-07-28
JP2012138905A (ja) 2012-07-19
KR101830889B1 (ko) 2018-02-21
CN102547119A (zh) 2012-07-04
JP5855445B2 (ja) 2016-02-09
US9083845B2 (en) 2015-07-14
CN102572279A (zh) 2012-07-11
KR20120072350A (ko) 2012-07-03
US20120162449A1 (en) 2012-06-28
DE102011056975A1 (de) 2012-06-28
JP5967926B2 (ja) 2016-08-10
US9036031B2 (en) 2015-05-19
CN102572279B (zh) 2017-03-01
US20120162454A1 (en) 2012-06-28
US20120162451A1 (en) 2012-06-28
KR20120072353A (ko) 2012-07-03
US20120162450A1 (en) 2012-06-28
JP2012165363A (ja) 2012-08-30
DE102011056970A1 (de) 2012-06-28

Similar Documents

Publication Publication Date Title
KR101798010B1 (ko) 디지털 이미지 안정화를 위해 최적화된 회전되고 보간된 픽셀들의 래스터 출력
US9262807B2 (en) Method and system for correcting a distorted input image
EP1650705B1 (en) Image processing apparatus, image processing method, and distortion correcting method
US9280810B2 (en) Method and system for correcting a distorted input image
US20090073277A1 (en) Image processing apparatus, image processing method and image pickup apparatus
US20060140498A1 (en) Apparatus and method for processing an image
CN108536405B (zh) 用于数据处理系统的显示控制器及其操作方法
US11593913B2 (en) Method and system for correcting a distorted input image
WO2004019607A1 (ja) 画像処理装置と画像処理システム及び画像処理方法
US8861846B2 (en) Image processing apparatus, image processing method, and program for performing superimposition on raw image or full color image
JP2008118306A (ja) 歪曲収差補正処理装置、撮像装置及び撮像システム
JP2009105533A (ja) 画像処理装置、撮像装置、画像処理方法および撮像画像処理方法
JP4020093B2 (ja) 縁検出方法及び装置及びプログラム及び記憶媒体及び枠検出方法及び装置及びプログラム及び記憶媒体
CN105427235B (zh) 一种图像浏览方法及系统
US7894529B2 (en) Method and device for determining motion vectors
JP4970378B2 (ja) メモリコントローラおよび画像処理装置
JP2009116763A (ja) 画像処理装置および画像データのメモリアクセス方法
JPH08307760A (ja) 画像メモリ機能付き映像装置
US6670965B1 (en) Single-pass warping engine
JP4888306B2 (ja) 画像処理装置および画像処理方法
US9270900B2 (en) Movie processing apparatus and control method therefor
JP6440465B2 (ja) 画像処理装置、画像処理方法及びプログラム
GB2561170A (en) Image processing
JP2017017672A (ja) 画像処理装置、画像処理方法および画像処理プログラム
CN108770374B (zh) 图像处理装置及图像处理方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant