KR100659704B1 - 비디오 이미지 데이터의 제 1 및 제 2 프레임 사이의 움직임 벡터를 얻기 위한 방법, 장치, 및 시스템, 및 컴퓨터-판독가능 매체 - Google Patents
비디오 이미지 데이터의 제 1 및 제 2 프레임 사이의 움직임 벡터를 얻기 위한 방법, 장치, 및 시스템, 및 컴퓨터-판독가능 매체 Download PDFInfo
- Publication number
- KR100659704B1 KR100659704B1 KR1020007013875A KR20007013875A KR100659704B1 KR 100659704 B1 KR100659704 B1 KR 100659704B1 KR 1020007013875 A KR1020007013875 A KR 1020007013875A KR 20007013875 A KR20007013875 A KR 20007013875A KR 100659704 B1 KR100659704 B1 KR 100659704B1
- Authority
- KR
- South Korea
- Prior art keywords
- macroblock
- candidate
- super
- current
- macroblocks
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 101
- 239000013598 vector Substances 0.000 title claims abstract description 84
- 238000006073 displacement reaction Methods 0.000 claims description 81
- 238000004364 calculation method Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000007906 compression Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 229940034880 tencon Drugs 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/533—Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/56—Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
- Ultra Sonic Daignosis Equipment (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Picture Signal Circuits (AREA)
Abstract
비디오 영상 데이터의 두 프레임 사이의 동작 벡터(motion vector)를 얻기 위한 방법 및 시스템이 개시된다. 구체적으로, 본 발명의 방법 및 시스템은 다단계 작동에서 참조 프레임에 대해 현재의 프레임의 각 매크로블록(macroblock)에 대한 동작 벡터를 추정하기 위해 이용될 수 있다. 제 1 단계에서, 본 발명의 프로세스를 구현하는 애플리케이션은 현재의 프레임의 수퍼 매크로블록(supermacroblock)과 가장 근사한 후보(candidate) 수퍼 매크로블록을 얻기 위하여 참조 프레임의 제 1 탐색 영역을 대강으로(coarsely) 탐색한다(312). 제 2 단계에서, 이 수퍼매크로 블록은 복수의 매크로블록으로 분할된다(314). 각 매크로블록은 탐색 영역을 구성하는데 이용되는데, 그후 이 탐색 영역은 현재 프레임의 매크로블록을 최상으로 충당(appropriates)하는 후보 매크로블록을 얻기 위해 탐색된다(322). 추가 단계들은 상기 매크로블록에 대한 근사를 한 층 더 세밀하게 조절(fine-tune)하기 위하여 이용될 수 있다. 본 발명의 방법 및 시스템은 디지털 비디오 인코더, 디코더와, 비디오 포맷 컨버터를 최적화하는데 이용될 수 있다.
Description
본 발명은 일반적으로 비디오 영상 프로세싱을 위한 동작 추정 방법 및 장치에 관련되는데, 특히, 블록 매칭 및 인테그럴 프로젝션 데이터를 이용하는 계층적 동작 추정 기술을 이용하여 비디오 영상 프레임사이의 동작 벡터를 결정하기 위한 개선된 방법 및 장치에 관한 것이다.
디지털 기술의 진보는 다수의 디지털 비디오 애플리케이션을 생산해 냈다. 디지털 비디오는 현재 디지털 및 고화질 TV, 화상 회의, 컴퓨터 영상 처리, 그리고 고화질 비디오 테이프 리코더에 이용된다. 압축되지 않은 디지털 비디오 신호는 거대한 양의 데이터를 구성하므로, 저장하고 송신하기 위하여 큰 용량의 대역폭과 메모리를 요구한다. 그러므로, 많은 디지털 비디오 시스템은 특정 애플리케이션을 위해 최적화되는 데이터 압축 기술을 채용함으로써 디지털 비디오 데이터의 양을 감소시킨다. 디지털 압축 디바이스는 일반적으로 "인코더"로 언급되고, 압축 풀기를 수행하는 디바이스들은 "디코더"로 언급된다. 인코딩과 디코딩을 모두 수행하는 디바이스들은 "코덱"으로 언급된다.
동화상 비디오 압축에 대한 방법을 표준화하기 위해, 동화상 전문가 그룹 (MPEG)은 디지털 비디오 프로세싱에 대한 다수의 표준을 발표했다. MPEG-1은 디지털 오디오 및 비디오 코딩을 다루는데, 중간 데이터 속도를 필요로 하는 비디오 디바이스에 의해 일반적으로 사용된다. MPEG-2는 직접 방송 위성 시스템과 같은 더 높은 데이터 속도를 사용하는 디바이스에 이용된다.
동화상 비디오 시퀀스는, 연속 동작인 듯한 착각(illusion)을 일으키기 위하여 연속적으로 디스플레이되는, 일련의 정지 화상들이나 "프레임"들로 구성된다. 각 프레임은 화상 요소, 즉 "픽셀"의 2차원 배열로서 기술될 수 있다. 각 픽셀은 밝기(brightness)와 색조(hue)로 화상의 특정 포인트를 기술한다. 픽셀 정보는 디지털 형태로 나타내거나 인코딩될 수 있고, 디지털로 송신될 수 있다.
비디오 데이터를 압축하기 위한 한 방법은 비디오 시퀀스의 인접한 프레임들 사이의 중복(redundancy)을 이용하는 것이다. 인접한 프레임들은 유사한 정보를 포함하는 경향 때문에, 프레임들간의 차이를 묘사하는 것은 통상적으로 새 프레임을 묘사하는 것보다 더 적은 데이터를 요구한다. 예를 들어, 프레임들간에 변화(motion)가 없다면, 프레임 간 차이{0(zero)}를 코딩하는 것은 전체 프레임을 다시 코딩하는 것 보다 더 적은 데이터를 요구한다.
동작 추정은 인접한 프레임간의 변위(displacement)를 추정하는 프로세스이다. 변위는 현재의 프레임의 특정 영역과 이전 또는 다음 참조 프레임의 대응 변위 영역간에 최상의 매칭을 제공하는 동작 벡터로 묘사된다. 현재의 프레임의 특정 영역과 참조 프레임의 대응 변위 영역간 차이를 "레저듀(residue)"라 한다.
일반적으로, 동작 벡터를 추정하는데 이용되는 알려진 2가지 형태의 동작 추정 방법이 있는데, 픽셀 반복(pixel-recursive) 알고리즘과 블록 매칭(block-matching) 알고리즘이 있다. 픽셀 반복 기술은 인접한 프레임의 대응 픽셀로부터 각 픽셀의 변위를 반복적으로 예측한다. 다른 한편으로 블록 매칭 알고리즘은 매 블록 기반(block-by-block basis)으로 프레임 간 변위를 추정하고 상기 차이를 최소화하는 벡터를 선택한다.
종래의 블록 매칭 프로세스에서, 인코딩될 현재의 영상은 동일한 크기의 픽셀 정보 블록으로 분할된다. 예를 들어, MPEG-1 및 MPEG-2 비디오 압축 표준에서, 상기 픽셀들은 두 개의 색차 성분 각각에 대한 샘플의 하나의 8 ×8 블록과 함께 휘도 샘플의 16 ×16 샘플 배열로 구성된 "매크로블록"들로 묶여진다(grouped). 상기 휘도 샘플의 16 ×16 배열은 통상적으로 압축 모델에 대한 입력 블록으로서 사용되는 4개의 8 ×8 블록을 더 포함한다.
도 1 은 종래의 블록 매칭 프로세스의 한 반복(iteration)을 도시한다. 현재의 프레임(120)이 블록들로 분할되어 도시된다. 그러나 각 블록은 MPEG 디바이스에서 임의의 크기가 될 수 있는데, 예를 들어, 현재의 프레임(120)은 통상적으로 16 ×16 크기의 매크로블록들로 분할될 수 있다. 현재의 프레임(120)을 코딩하기 위하여, 현재의 프레임(120)의 각 블록은 이전 프레임(110) 또는 다음 프레임(130)에 있는 블록과의 그 차이에 의해 코딩된다. 블록 매칭 프로세스의 각 반복에 있어서, 현재의 블록(100)은 이전 프레임(110)의 탐색 범위(115) 또는 다음 프레임(130)의 탐색 범위(135)내의 비슷한 크기의 "후보" 블록들과 비교된다. 현재의 블록(100)에 대해 가장 작은 차이를 갖도록 결정되는 이전 혹은 다음 프레임의 후보 블록은 참조 블록(150)으로 도 1에 도시된, 참조 블록으로서 선택된다. 참조 블록(150)과 현재의 블록(100)간의 동작 벡터 및 레저듀는 계산되고 코딩된다. 현재의 프레임(120)은 현재의 프레임(120)의 각 블록에 대한 동작 벡터 및 레저듀뿐 아니라 참조 프레임(110)의 각 블록에 대한 코딩을 이용하여 압축 풀기를 하는 동안 복구될 수 있다.
블록들 간 차이는 알려진 몇몇 기준 가운데 임의의 하나를 이용하여 계산될 수 있지만, 대부분 방법들은 일반적으로 에러를 최소화하거나 상관 관계 (correlation)를 최대화한다. 대부분의 상관 기술들이 계산 집약적이기 때문에, 오차 계산 방법이 좀 더 일반적으로 사용된다. 오차 계산 측정의 예는 평균 제곱 오차(MSE : mean square error), 평균 절대 왜곡(MAD : mean absolute distortion) 및 절대 왜곡의 합(SAD : sum of absolute distortions)을 포함한다. 이들 기준은 조안 엘. 미첼(Joan L. Mitchell) 등의 MPEG 비디오 압축 표준(MPEG Video Compression Standard), 인터내셔널 톰슨 퍼블리싱(1997), 284쪽부터 286쪽에 설명되어 있다. SAD는 일반적으로 사용되는 매칭 기준(matching criterion)이다.
SAD는 다음과 같이 정의된다.
이 식에서, 블록 크기는 M ×N이고, r(x,y)은 현재의 블록, 그리고 s(x+i, y+j)는 참조 프레임의 탐색 영역(115)내의 후보 블록이다. 동작 벡터는 SAD(i,j)이 최소값이 되는 값(i,j)이다.
현재의 블록을 탐색 범위내의 모든 후보 블록과 비교하는 블록 매칭 알고리즘은 "전체 탐색(full search)"으로 불린다. 대체로, 더 큰 탐색 영역들은 일반적으로 좀 더 정확한 변위 벡터를 생성하지만, 전체 탐색의 계산 복잡도(computational complexity)가 탐색 영역의 크기에 비례하여, 일부 애플리케이션에 대해서는 너무 느리다. 1 픽셀 정확도(one pixel accuracy)를 갖는 ±N 픽셀의 탐색 범위에 16 ×16 픽셀 크기의 매크로블록(macroblock of size 16 ×16 pixels)에 적용된 전체 탐색 블록 매칭 알고리즘은 예컨대 (2 ×N + 1)2번의 블록 비교(block comparisons)를 요구한다. N=16일 때, 1089번의 16 ×16 블록 비교가 요구된다. 각 블록 비교는 16 ×16, 즉 256 번의 계산을 요구하기 때문에, 이 방법은 계산 집약적(computationally intensive)이고 매우 천천히 작동한다. 그러나, 단순히 탐색 영역의 크기를 감소시키는 기술은 최적 매칭 블록을 발견하는데 실패할 위험이 더 크다.
그러므로, 넓은 탐색 범위 내에서 매칭 블록을 발견하기 위한 빠른 알고리즘의 생성에 많은 중점을 둬왔다. 몇몇 이들 기술이 미첼 등의 책, 301쪽에서 311쪽에 설명되어 있다. 대부분의 빠른 탐색 기술은 단지 전체 탐색 영역의 희소 샘플링(sparse sampling)에 대해서만 변위를 계산함으로써 속도가 빨라진다. 예를 들어, 2-D 대수 탐색(logarithmic search)은 최소 왜곡 방향으로 움직이는 연속적인 블록에 대한 MSE를 계산함으로써 계산 횟수를 감소시킨다. 결합 방향 탐색(conjugate direction search)에 있어, 상기 알고리즘은 최소 왜곡이 발견될 때까지 수평 방향으로 탐색한다. 그 다음에, 그 포인트로부터 진행(proceeding)하여, 상기 알고리즘은 최소 왜곡이 발견될 때까지 수직 방향으로 탐색한다. 이 두 방법은 전체 탐색보다 더 빠르지만, 최적 매칭 블록을 알아내는데 종종 실패한다.
전체 탐색에서 계산량을 감소시키기 위한 다른 방법은 공간 도메인 픽셀 정보를 직접 이용하는 것보다는 인테그럴 프로젝션 데이터(integral projection data)를 이용하여 블록들간의 변위를 계산하는 것이다. 픽셀 정보의 인테그럴 프로젝션은 수평 혹은 수직 방향으로 영상 픽셀 값들의 합에 대한 1차원 배열이다. 블록 매칭 알고리즘에서 픽셀 정보의 2 차원 배열보다 2개의 1 차원(1-D) 수평 및 수직 프로젝션 배열을 이용하면 각 블록 매칭의 계산 횟수를 현저하게 감소시킨다. 이 기술은, I.H. LEE와 R.H. PARK에 의한 "인테그럴 프로젝션을 이용하는 빠른 블록 매칭 알고리즘(Fast Block Matching Algorithms Using Integral Projections)"이란 제목의 논문, Proc. Tencon '87 Conf. 1987. 590쪽 내지 594쪽에 설명되어 있다.
빠른 동작 추정 기술은 하나의 디지털 비디오 포맷에서 다른 포맷으로 전환할 때 특히 유용하다. 디지털 비디오는 인코딩되고 압축된 형태로 저장된다. 기존 디바이스를 이용하여 하나의 포맷에서 다른 포맷으로 변환할 때, 상기 디지털 비디오는 먼저 압축을 풀고 자신의 원래 픽셀 형태로 디코딩된 다음, 새로운 포맷으로 저장하거나 송신하기 위해 연속해서 인코딩되고 압축되어야 한다. 디지털 비디오가 완전히 디코딩 되도록 요구하는 변환 기술은 매우 시간 소비적(time-consuming)이다.
전체 탐색에 대한 단점(disadvantages)을 극복하기 위한 다른 방법은 계층적 탐색 기술을 채용했다. 예를 들어, 제 1 단계에서, 거친 탐색(coarse search)이 합리적으로 큰 영역(reasonably large area)에서 이뤄진다. 기존의 계층적 탐색의 연속하는 단계에서, 상기 탐색 영역의 크기는 감소된다. 3 단계 계층 탐색의 한 예는, H.M. Jong 등의 "3 단계 계층적 탐색 블록 매칭 알고리즘에 대한 병렬 구조(parallel Architectures for 3-step Hierarchical Search Block-Matching Algorithm)", 비디오 기술용 회로 및 시스템(IEEE Trans. On Circuits and Systems for Video Technology)에 대한 IEEE Trans., Vol. 4, 1994년 8월, 407쪽 내지 416쪽에 기술되어 있다. Jong 등의 논문에 기술된 계층적 탐색은, 거친 탐색이 모든 픽셀 정보를 이용하지 않고 따라서 더 세밀한 탐색을 위한 부정확한 시작 포인트를 형성할 수 있기 때문에 일부 애플리케이션에 부적절하다.
본 발명은 동작 벡터의 질(quality)을 유지시키면서 블록 비교 횟수를 최소화하는 빠른 계층 탐색을 수행함으로써, 동작 추정 프로세스를 위한 개선된 방법과 장치를 제공한다. 더불어, 본 발명은 상기 작동 횟수를 한층 더 최소화하기 위하여 인테그럴 프로젝션과 본 발명의 계층 탐색 프로세스를 이용하여 동작 추정을 위한 방법과 장치를 제공한다. 본 발명은 또한, 픽셀 데이터에 대한 전체적인 감소(full reduction)없이 한 포맷에서 제 2 포맷으로 디지털 비디오 데이터 변환을 가능하게 하여 이에 의해 데이터 포맷 변환에 요구되는 시간을 크게 감소시키는 인테그럴 프로젝션을 이용하여 계층적 동작 추정을 위한 방법 및 장치를 제공한다.
본 발명에 따른 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 방법은, (a) 픽셀 정보의 2차원 배열을 포함하는 제 1 프레임의 현재의 매크로블록을 결정하는 단계와, (b) 현재의 매크로블록과 복수의 인접 매크로블록을 포함하는 상기 제 1 프레임의 현재의 수퍼 매크로블록을 결정하는 단계와, (c) 현재의 수퍼 매크로블록과 제 1 탐색 범위에 기초하여 제 2 프레임의 제 1 탐색 영역을 선택하는 단계와, (d) 변위 기준 및 현재의 수퍼 매크로블록에 기초하여 제 1 탐색 영역의 최상(best) 후보 수퍼 매크로블록을 결정하는 단계와, (e) 상기 최상의 후보 수퍼 매크로블록을 복수의 후보 매크로블록으로 분할하는 단계와, (f) 상기 복수의 후보 매크로블록과 제 2 탐색 범위에 기초하여 상기 제 2 프레임에 대한 복수의 제 2 탐색 영역을 선택하는 단계와, (g) 상기 변위 기준과 상기 현재의 매크로블록에 기초하여 상기 제 2 탐색 영역의 제 1 최상 후보 매크로블록을 결정하는 단계와, 그리고 (h) 상기 현재의 매크로블록과 상기 제 1 최상 후보 매크로블록 사이의 거리(distance)를 나타내는 제 1 동작 벡터를 결정하는 단계를 포함한다.
비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 장치는, 프로그램 명령들을 갖는 메모리와 프로그램 명령들을 이용하도록 구성된 프로세서를 포함하는데, 상기 프로세서는 (a) 픽셀 정보의 2 차원 배열을 포함하는 제 1 프레임의 현재의 매크로블록을 결정하는 단계와, (b) 상기 현재의 매크로블록과 복수의 인접 매크로블록을 포함하는 상기 제 1 프레임의 현재의 수퍼 매크로블록을 결정하는 단계와, (c) 상기 현재의 수퍼 매크로블록과 제 1 탐색 범위에 기초하여 상기 제 2 프레임의 제 1 탐색 영역을 선택하는 단계와, (d) 변위 기준과 상기 현재의 수퍼 매크로블록에 기초하여 상기 제 1 탐색 영역의 최상의 후보 수퍼 매크로블록을 결정하는 단계와, (e) 상기 최상의 후보 수퍼 매크로블록을 복수의 후보 매크로블록으로 분할하는 단계와, (f) 복수의 후보 매크로블록과 제 2 탐색 범위에 기초하여 상기 제 2 프레임에 대한 복수의 제 2 탐색 영역을 선택하는 단계와, (g) 상기 변위 기준과 상기 현재의 매크로블록에 기초한 상기 제 2 탐색 영역의 제 1 최상 후보 매크로블록을 결정하는 단계, 그리고 (h) 상기 현재의 매크로블록과 상기 제 1 최상 후보 매크로블록 사이의 거리를 나타내는 제 1 동작 벡터를 결정하는 단계를 수행하기 위해 상기 프로그램 명령들을 이용하도록 구성된다.
본 발명의 다른 측면에 따라, 컴퓨터 프로그램 제품은 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위하여 그 내에 수록된 컴퓨터 판독 가능한 코드를 갖는 컴퓨터 사용 가능한 매체를 포함하는데, 상기 컴퓨터 사용 가능한 매체는, (a) 픽셀 정보의 2 차원 배열을 포함하는 상기 제 1 프레임의 현재의 매크로블록을 결정하도록 구성된(configured) 성분과, (b) 상기 현재의 매크로블록과 복수의 인접 매크로블록을 포함하는 상기 제 1 프레임의 현재의 수퍼 매크로블록을 결정하도록 구성된 성분과, (c) 상기 현재의 수퍼 매크로블록과 제 1 탐색 범위에 기초하여 상기 제 2 프레임의 제 1 탐색 영역을 선택하도록 구성된 성분과, (d) 변위 기준과 상기 현재의 수퍼 매크로블록에 기초하여 상기 제 1 탐색 영역의 최상의 후보 수퍼 매크로블록을 결정하도록 구성된 성분과, (e) 상기 최상의 후보 수퍼매크로블록을 복수의 후보 매크로블록으로 분할하도록 구성된 성분과, (f) 복수의 후보 매크로블록과 제 2 탐색 범위에 기초하여 상기 제 2 프레임에 대한 상기 복수의 제 2 탐색 영역을 선택하도록 구성된 성분과, (g) 상기 변위 기준과 상기 현재의 매크로블록에 기초하여 상기 제 2 탐색 영역의 제 1 최상 후보 매크로블록을 결정하도록 구성된 성분과, (h) 상기 현재의 매크로블록과 상기 제 1 최상 후보 매크로블록 사이의 거리를 나타내는 제 1 동작 벡터를 결정하도록 구성된 성분을 포함한다.
또한, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 시스템은, (a) 픽셀 정보의 2차원 배열을 포함하는 상기 제 1 프레임의 현재의 매크로블록을 결정하는 수단과, (b) 상기 현재의 매크로블록과 복수의 인접 매크로블록을 포함하는 상기 제 1 프레임의 현재의 수퍼 매크로블록을 결정하는 수단과, (c) 상기 현재의 수퍼매크로블록과 제 1 탐색 범위에 기초하여 상기 제 2 프레임의 제 1 탐색 영역을 선택하는 수단과, (d) 변위 기준과 상기 현재의 수퍼 매크로블록에 기초하여 상기 제 1 탐색 영역의 최상의 후보 수퍼 매크로블록을 결정하는 수단과, (e) 상기 최상의 후보 수퍼매크로블록을 복수의 후보 매크로블록으로 분할하는 수단과, (f) 복수의 후보 매크로블록과 제 2 탐색 범위에 기초하여 상기 제 2 프레임에 대한 상기 복수의 제 2 탐색 영역을 선택하는 수단과, (g) 상기 변위 기준과 상기 현재의 매크로블록에 기초하여 상기 제 2 탐색 영역의 제 1 최상 후보 매크로블록을 결정하는 수단과, (h) 상기 현재의 매크로블록과 상기 제 1 최상 후보 매크로블록 사이의 거리를 나타내는 제 1 동작 벡터를 결정하는 수단을 포함한다.
본 명세서에 병합되고 일부분을 구성하는 첨부된 도면은 본 발명을 예시하는 것이며 상세한 설명과 함께 본 발명의 원리들을 설명하는데 기여한다.
도 1은 기존의 블록 매칭 기술을 설명하는 다이어그램.
도 2는 본 발명에 따라 블록 매칭 탐색을 위한 탐색 영역을 선택하는 단계를 설명하는 다이어그램.
도 3a 및 도 3b는 본 발명에 따른 계층적 탐색을 수행하기 위한 방법을 설명하는 흐름도.
도 4a는 픽셀 정보의 8 ×8 배열을 위한 수직 인테그럴 프로젝션을 계산하는 방법을 도시하는 다이어그램.
도 4b는 픽셀 정보의 8 ×8 배열을 위한 수평 인테그럴 프로젝션을 계산하는 방법을 도시하는 다이어그램.
도 5는 본 발명에 따른 블록 매칭 프로세스의 한 단계를 도시하는 다이어그램.
도 6은 본 발명에 따른 블록 매칭 프로세스의 한 단계를 도시하는 다이어그램.
도 7은 본 발명에 따른 시스템의 다이어그램.
도 8은 본 발명에 따른 프로세서의 다이어그램
이제 첨부 도면에 예시되어 있는 본 발명에 따른 바람직한 구현이 자세히 참조된다.
A. 계층적 탐색 프로세스
동작 추정 기술은 각 프레임 전체를 인코딩하기보다는 인접 프레임과의 차이에 의해 하나의 프레임을 인코딩함으로써 디지털 비디오 시퀀스를 나타내는데 필요한 양의 데이터를 압축한다. 시퀀스가 재생될 때, 디코더는 참조 프레임과 동작 벡터를 이용하여 현재의 프레임을 재구성한다.
본 발명에 따른 방법에 있어, 동작 벡터는 다단계 작동에서 참조 프레임에 대해 현재의 프레임의 각 블록에 대해 추정된다. 제 1 단계에서, 본 발명의 프로세스를 구현하는 애플리케이션은 현재의 수퍼 매크로블록과 가장 근사한 후보 수퍼 매크로블록을 얻기 위하여 참조 프레임의 제 1 탐색 영역을 대강(coarsely) 탐색한다. 제 2 단계에서, 수퍼 매크로블록은 복수의 매크로블록 성분으로 분할된다. 이 복수의 매크로블록 성분은 후보 매크로블록을 얻기 위해 탐색되는 탐색 영역을 구성하기 위해 이용된다. 추가 단계들은 현재의 매크로블록에 대한 근사를 좀 더 세밀하게 조정하기 위하여 이용될 수 있다.
도 2는 이전 프레임이나 다음 프레임일 수 있는 현재의 프레임(220)과 참조 프레임(210)을 도시한다. 현재의 프레임(220)은 복수의 매크로블록(225)으로 분할되어 도시되는데, 각 매크로블록은 M ×N 픽셀을 포함한다. M 및 N은 1 보다 큰 임의 정수값을 나타낼 수 있지만, 다음의 예제에서, MPEG-1/2 비디오 압축 표준에서 매크로블록의 표준 크기인, M=N=16이다. 현재의 프레임(220)을 나타내기 위하여, 현재의 프레임(220)의 각 매크로블록(225)은 현재의 프레임의 매크로블록과 참조프레임의 매크로블록 사이의 레저듀(residue)로 나타내어진다.
도 3a 및 도 3b는 본 발명에 따른 계층적 탐색 방법을 이용하여 하나의 매크로블록에 대한 동작 벡터를 추정하기 위한 방법을 설명하는 흐름도를 포함한다. 먼저, 프로세스는 도 2에 도시된 현재의 프레임(220)의 현재의 매크로블록(230)을 선택한다{단계(302)}. 현재의 매크로블록(230)은 M ×N 픽셀 크기(size M ×N pixels)로 나타낸다. M 및 N은 1 보다 큰 임의 정수값을 나타낼 수 있지만, 다음의 예에서, M=N=16이다.
다음으로, 현재의 수퍼 매크로블록(235)은 현재의 매크로블록(230)을 이용하여 결정된다{단계(304)}. 현재의 수퍼 매크로블록(235)은 현재의 매크로블록(230)과 동일한 일반적인 크기 및 형태의 몇 개의 인접 매크로블록들과 현재의 매크로블록(230)으로 구성된다. 예를 들어, 도 2에서, 현재의 수퍼 매크로블록(235)은 현재의 매크로블록(230)이 좌상귀(upper left hand corner)에 있도록 하기 위해 구성된 현재의 프레임(220)의 4개의 매크로블록으로 구성된다.
다시 도 3a를 참고하면, 그 다음 단계는 참조 프레임(210)의 탐색 영역(215)을 선택하는 것이다{단계(306)}. 도 2의 탐색 영역(215)은 탐색 범위(±p
1 ,±q
1 )로 한정되고, 현재의 프레임(220)에 있는 현재의 수퍼 매크로블록(235)의 위치에 기초한다. 탐색 범위 값(p
1 , q
1 )은 미리 설정될 수 있거나, 또는 동적으로 정해질 수 있다. 탐색 범위 값(p
1 , q
1 )은 프레임 크기보다 적고 0 보다 큰 임의의 값이 될 수 있다. 더 큰 탐색 크기는 일반적으로 더 정확한 동작 벡터를 생성하지만, 탐색의 작동 복잡도가 탐색 범위와 비례하여 커질 수 있기 때문에 전체 프레임 크기보다 작도록 탐색 범위 값(p
1 , q
1 )을 선택하는 것이 권장된다. 단지 설명하기 위한 목적으로, 다음의 예는 탐색 범위(±p
1 ,±q
1 )가 (±32,±24)로 한정되어 잇는 것으로 가정한다. 도 2에서, (m, n)로 표시된 포인트는 현재의 프레임(220)에 있는 현재의 수퍼 매크로블록(235)의 좌상귀 픽셀(m, n)에 대응하는 위치에서 참조 프레임(210)에 있는 포인트를 언급한다. 탐색 범위를 (±32,±24)로 가정하면, 탐색 영역(215)은 도 2에 도시된 바와 같이 (m-32, n-24), (m+32, n-24), (m+32, n+24) 및 (m-32, n+24)로 경계 지워지는 영역이다. 탐색 영역(215)은 참조 프레임(210)에 있는 모든 가능한 후보 수퍼 매크로블록의 좌상귀들을 국한한다.
본 발명에 따른 계층적 동작 추정 프로세스의 제 1 단계에서, 탐색 영역(215)에 있는 후보 수퍼 매크로블록들은 탐색 영역(215)에서 "최상"의 후보 수퍼 매크로블록을 찾기 위하여 현재의 수퍼 매크로블록(235)과 비교된다. "최상"의 후보 수퍼 매크로블록은 임의의 알려진 오차 계산 또는 상관 결정 방법을 이용하여 현재의 수퍼 매크로블록(235)과 비교될 때 최소 오차 또는 최대의 상관 관계를 생성하는 수퍼 매크로블록으로 정의된다.
단계(308)에서, 프로세스는 제 1 단계 탐색 프로세스를 선택한다. 후보 수퍼 매크로블록은 기존의 전체 탐색 같은 임의의 공개적으로(publicly) 이용 가능한 블록 매칭 탐색 방법을 이용하여 선택될 수 있거나, 또는 탐색 영역내의 어떤 미리 설정된 픽셀 탐색 간격에서 수퍼 매크로블록들을 비교함으로써 선택될 수 있다. 본 발명의 일 실시예에서, "최상"의 후보 수퍼 매크로블록은, 1998년 5월 20일에 출원된, "희소 블록 매칭 및 인테그럴 프로젝션을 이용하는 동작 추정 프로세스 및 시스템(Motion Estimation Process and System Using Sparse Block-Matching and Integral Projection)"으로 명명된, Chang 등의 미국 특허 출원 번호 09/081,279에 기술된 동작 추정 방법을 이용하여 선택되는데, 본 출원의 내용은 본 명세서에서 참고 문헌으로 명시적으로 병합된다.
기존의 전체 탐색과 Chang 등의 출원 명세서에 기술된 탐색을 포함하는 많은 이용 가능한 탐색 방법들은 다양한 픽셀 이동 간격으로 실행될 수 있다. 예를 들어, 1 픽셀의 픽셀 이동 간격(K1)에 의해 정밀한 탐색이 되는데, 이것에 의해 모든 픽셀(every one pixel)마다 블록 비교가 이뤄진다. 그러나 1 픽셀 간격으로 전체 탐색하는 것은 계산 집약적이기 때문에, 현재의 단계에서 더 큰 픽셀 이동 간격이 권장된다. 4 픽셀의 픽셀 이동 간격(K1)은 매 4개 픽셀마다 비교하는 다소 좀 더 거친 탐색이 된다. 픽셀 이동 간격은 수평 방향 및 수직 방향에서 다를 수 있다. 설명의 편의를 위하여, 우리는 양 방향에 대하여 동일한 픽셀 이동 간격을 사용한다.
그 다음에, 프로세스는 제 1 탐색 범위에서 최상의 후보를 찾기 위하여 현재의 수퍼 매크로블록(235)과 탐색 영역(215)의 후보 수퍼 매크로블록을 비교하기 위하여 선택된 탐색 프로세스와 지정된 매칭 기준을 이용한다{단계(312)}. 매칭 기준으로서 픽셀 값들의 절대 왜곡의 합(SAD)을 이용하면, 각 수퍼 매크로블록 비교는 다음과 같이 정의될 수 있다.
-p 1 <= i <= +p 1 및 -q 1 <= j <= +q 1 에 대하여
이 수학식에서 r 은 현재의 32 ×32 픽셀 수퍼 매크로블록(235)이고, s 는 32 ×32 픽셀 후보 수퍼 매크로블록이다.
SAD(i, j)에 대한 최소값을 생성하는 (i, j)쌍은 현재의 수퍼 매크로블록(235)의 동작 벡터를 정의한다. 예를 들어, (1, 1)의 동작 벡터는, 수평으로 한 픽셀 오른쪽으로 이동되고, 수직으로 한 픽셀 아래로 이동된 참조 프레임의 수퍼 매크로블록이 현재의 수퍼 매크로블록(235)과 매우 비슷하다(resemble)는 것을 의미한다.
위에서 기술된 바와 같은 각 수퍼 매크로블록 계산은 32 ×32번의 계산을 요구할 것이다. 그러나, 계산 횟수는 32 ×32 =1024 픽셀의 선택된 서브셋(subset)에 대해서만 SAD를 계산함으로써 감소될 수 있다. 계산 횟수는 또한 픽셀 도메인 정보보다는 인테그럴 프로젝션 정보를 이용한 블록 비교를 수행함으로써 또한 감소될 수 있다. 픽셀 정보의 인테그럴 프로젝션은 특정 수평 및 수직 방향을 따른 일부 영상 픽셀 값들의 합이다. 도 4a는 수직 인테그럴 프로젝션을 도시하고, 도 4b는 수평 인테그럴 프로젝션을 도시한다.
인테그럴 프로젝션 정보는 픽셀 정보로부터 1차원 인테그럴 프로젝션 배열을 계산하거나, 또는 예를 들어 디지털 비디오 디코더로부터의 이산 코사인 변환(DCT) 계수 데이터로부터 인테그럴 프로젝션 정보를 계산함으로써 얻을 수 있다. 특히, 본 발명은, 예를 들어 디지털 비디오(DV) 포맷에서 MPEG 포맷으로 변환하는 것 같이 하나의 디지털 비디오 포맷에서 다른 포맷으로 변환하는데 필요한 계산을 감소시키기 위해 이용될 수 있고, 그러므로 이에 필요한 계산 시간을 줄이는데 사용될 수 있다.
DCT는 다음과 같이 수학적으로 설명될 수 있다.
h=0,1,...7 및 v=0,1,...7에 대하여,
, 그리고
이다. P(x, y)는 픽셀 데이터의 8 ×8 블록이고, Q(h, v)는 DCT 계수의 8 ×8 블록이다. 수학적으로, DCT 계수의 8 ×8 블록이 1 차원 수평 역 이산 코사인 변환(IDCT)으로의 입력으로서 이용된다면, 그 결과는, 제 1 행이 상수로 곱한 픽셀 정보의 각 열의 합을 포함하는 8 ×8 배열로 될 것이다. 그러므로, 제 1 행은 픽셀 정보의 그 8 ×8 블록에 대한 1차원 수직 프로젝션과 동일하다. 이와 비슷하게, DCT 계수의 동일한 8 ×8 블록이 1 차원 수직 IDCT에 대한 입력이면, 그 결과값의 제 1 열은 픽셀 정보의 기초적인(underlying) 8 ×8 블록에 대한 1 차원 수평 프로젝션과 동일하게 될 것이다. 수직 및 수평 인테그럴 프로젝션은 동작 벡터를 추정하는데 이용될 수 있다.
이다. P(x, y)는 픽셀 데이터의 8 ×8 블록이고, Q(h, v)는 DCT 계수의 8 ×8 블록이다. 수학적으로, DCT 계수의 8 ×8 블록이 1 차원 수평 역 이산 코사인 변환(IDCT)으로의 입력으로서 이용된다면, 그 결과는, 제 1 행이 상수로 곱한 픽셀 정보의 각 열의 합을 포함하는 8 ×8 배열로 될 것이다. 그러므로, 제 1 행은 픽셀 정보의 그 8 ×8 블록에 대한 1차원 수직 프로젝션과 동일하다. 이와 비슷하게, DCT 계수의 동일한 8 ×8 블록이 1 차원 수직 IDCT에 대한 입력이면, 그 결과값의 제 1 열은 픽셀 정보의 기초적인(underlying) 8 ×8 블록에 대한 1 차원 수평 프로젝션과 동일하게 될 것이다. 수직 및 수평 인테그럴 프로젝션은 동작 벡터를 추정하는데 이용될 수 있다.
본 예제에서, 각 수퍼 매크로블록은 4개의 인접하는 매크로블록과 동일하고, 각 매크로블록은 4개의 인접하는 8 ×8 블록으로 구성된다. 그러므로, 각 수퍼 매크로블록은 16개의 8 ×8 블록을 포함한다. 각 수퍼매크로블록 비교에 요구되는 계산 횟수는 수직 또는 수평 인테그럴 프로젝션 정보를 이용함으로써 감소될 수 있다. 각 8 ×8 블록 당 두 개의 수직(또는 수평) 프로젝션은 예를 들어, 8 ×8 블록의 1 내지 4 열(또는 행)들의 32 픽셀들과 8 ×8 블록의 5 내지 8 열(또는 행)들의 32 픽셀들을 더함으로써 계산될 수 있다. DCT 도메인 정보가 이용 가능하다면, 두 개의 인테그럴 프로젝션은 모든 2차원 8 ×8 DCT 블록의 1 열(또는 행)중 가장 낮은 두개의 계수에 1 차원 2 포인트 IDCT(one-dimensional 2-point IDCT)를 수행함으로써 얻어질 수 있다. 이후 각 수퍼 매크로블록은 2*16 = 32 수직(또는 수평) 인테그럴 프로젝션으로 나타낼 수 있다. 이것에 의해 각 수퍼 매크로블록 비교는 인테그럴 프로젝션을 얻기 위해 필요한 계산과 32번의 계산을 더한 것으로 감소될 것이다.
당업자라면, 인테그럴 프로젝션이, 예를 들어, 4개의 인테그럴 프로젝션을 얻기 위하여 8 ×8 픽셀 블록의 매 두 번째 열(또는 행)을 더함으로써, 또는 8개의 인테그럴 프로젝션을 얻기 위하여 개개의 열(또는 행)을 더함으로써, 또한 계산될 수 있다는 것을 알 것이다. 이와 비슷하게, 인테그럴 프로젝션 배열은 DCT 블록의 계수들에 1차원 4 포인트 또는 8 포인트 IDCT를 수행함으로써 DCT 도메인 정보로부터 얻을 수 있다. 이들 방법은 위에서 사용된 2 포인트 인테그럴 프로젝션 배열보다는 더 많은 계산이 이뤄질 것이지만, 픽셀 정보를 이용하는 동일한 방법보다는 더 적은 계산이 이뤄진다.
도 5는 제 1 탐색 프로세스의 결과인 최상의 수퍼 매크로블록(510)을 도시한다. 최상 매크로블록(510)의 좌상귀는 (u, v)로 표시되고, 제 1 탐색 프로세스의 현재의 수퍼 매크로블록에 대한 동작 벡터이다. 도 5에 도시된 바와 같이, 수퍼 매크로블록(510)은 이후, 본 발명의 계층적 탐색 프로세스의 제 2 단계를 시작하기 위하여 복수의 후보 매크로블록들(1, 2, 3 및 4)로 나눠진다{단계(314)}. 이 프로세스는 제 2 단계에 대한 탐색 범위(±p
2 , ±q
2 )를 결정한다{단계(316)}. 각 후보 매크로블록(1, 2, 3 및 4)에 대하여, 탐색 영역은 후보 매크로블록과 탐색 범위(±p
2 , ±q
2 )에 기초하여 결정된다. 예를 들면, 도 6은 후보 매크로블록(1)과 탐색 범위(±p
2 , ±q
2 )에 의해 정의된 탐색 영역(610)을 도시한다. 탐색 범위(±p
2 , ±q
2 )는 미리 설정되거나 동적으로 결정될 수 있다. 탐색 범위 값(p
2 ,
q
2 )은 모든 프레임에 동일하거나 현재의 프레임과 참조 프레임간의 시간 차이에 따라 달라질 수 있다. 또한, 탐색 범위 값(p
2 ,
q
2 )은 프레임 크기보다 적고 0 보다 큰 임의의 정수값일 수 있지만, p1보다 작은 p2와 q1보다 작은 q2값의 탐색 값을 선택함으로써 도 2의 제 1 탐색 영역(215)보다 작은 제 2 탐색 영역(610)이 된다. 일반적으로, 탐색 영역이 더 작다면, 탐색 영역은 제 1 단계의 결과로 발견된 동작 벡터를 한층 더 세밀(refine)하도록 더욱 자세히(finer detail) 탐색될 수 있다.
그 다음, 프로세스는 제 2 단계 탐색 프로세스를 선택하고{단계(318)}, 픽셀 이동 간격(K2)을 선택한다{단계(320)}. 최상의 후보 매크로블록은 기존의 전체 탐색 같이 임의의 공개적으로 이용 가능한 블록 매칭 탐색 방법을 이용하여 선택될 수 있거나, 또는 탐색 영역내의 일부 미리 설정된 픽셀 탐색 간격에서 매크로블록들을 비교함으로써 선택될 수 있다. 본 발명의 일 실시예에서, "최상"의 후보 매크로블록은 앞에서 언급된 Chang 등의 미국 특허 출원 번호 09/081,279에 기술된 동작 추정 방법을 이용하여 선택된다. K2는 0보다 크고 탐색 범위 값보다 작은 임의의 값이 될 수 있다. 예를 들어, K2=1을 선택하는 것은, 1 픽셀 간격에서 비교를 하는 전체 탐색을 수행하는 것과 동일하다.
각 후보 매크로블록들(1, 2, 3 및 4)에 대하여, 프로세스는 지정된 탐색 영역의 선택된 탐색 프로세스를 이용하여 탐색을 수행한다{단계(322)}. 매칭 기준으로서 픽셀 값들에 대한 절대 왜곡들의 합(SAD)을 이용하면, 각 매크로블록 비교는 다음과 같은 정의될 수 있다.
u-p 2 <= i <= u+p 2 와 u-q 2 <= j <= u+q 2 에 대하여,
여기서, r은 현재의 16 ×16 픽셀 매크로블록(230)이고, s는 탐색 영역(610)의 16 ×16 픽셀 후보 매크로블록이다.
본 예제에서, 각 매크로블록은 4개의 인접하는 8 ×8 블록과 같다. 각 매크로블록 비교에 요구되는 계산 횟수는 수직 또는 수평 인테그럴 프로젝션 정보를 이용함으로써 감소될 수 있다. 각 8 ×8 블록당 2개의 수직(또는 수평) 프로젝션은, 예를 들어 8 ×8 블록의 1 내지 4열(또는 행)의 32 픽셀들과 8 ×8 블록의 5내지 8열(또는 행)의 32 픽셀들을 더함으로써 계산될 수 있다. DCT 도메인 정보가 이용 가능하다면, 2개의 인테그럴 프로젝션은 모든 2차원 8 ×8 DCT 블록의 1 열(또는 행)중 가장 낮은 두 개의 계수들에 1 차원 2-포인트 IDCT를 수행함으로써 얻어질 수 있다. 이후 각 매크로블록은 2*4 =8 수직(또는 수평) 인테그럴 프로젝션으로 나타낼 수 있다. 이것에 의해 각 매크로블록 비교는 인테그럴 프로젝션을 얻기 위해 필요한 계산과 8번의 계산을 더한 것으로 감소될 것이다.
인테그럴 프로젝션은, 예를 들어, 4개의 인테그럴 프로젝션을 얻기 위하여 8 ×8 픽셀 블록의 매 두 번째 열(또는 행)을 더함으로써, 또는 8개의 인테그럴 프로젝션을 얻기 위하여 개개의 열(또는 행)을 더함으로써, 또한 계산될 수 있다. 이와 비슷하게, 인테그럴 프로젝션 배열은 DCT 블록의 계수들에 1차원 4-포인트 또는 8-포인트 IDCT를 수행함으로써 DCT 도메인 정보로부터 얻을 수 있다. 이들 방법은 위에서 사용된 2 포인트 인테그럴 프로젝션 배열보다는 더 많은 계산이 이뤄질 것이지만, 픽셀 정보를 이용하는 동일한 방법보다는 더 적은 계산이 이뤄질 것이다.
현재의 매크로블록에 대한 동작 벡터는 제 3 계층 탐색에 의해 한층 더 세밀해 질 수 있다{단계(324)}. 제 3 탐색 영역은 탐색 범위(±p
3 , ±q
3 )와 제 2 계층 탐색 단계의 최상 후보 매크로블록에 기초하여 결정된다. 탐색 범위(±p
3 , ±q
3 )는 미리 설정되거나 동적으로 결정될 수 있다. 탐색 범위 값(p
3 ,
q
3 )은 모든 프레임에 동일하거나 현재의 프레임과 참조 프레임간의 시간 차이에 따라 달라질 수 있다. 또한, 탐색 범위 값(p
3 ,
q
3 )이 프레임 크기보다 작고 0 보다 큰 임의의 정수값일 수 있지만, p2보다 작은 p3과, q2보다 작은 q3값의 탐색 값을 선택함으로써 결국 도 5의 제 2 탐색 영역(510)보다 작은 제 3 탐색 영역이 된다. 그러나, 계층 탐색의 이 단계에서, (±1, ±1)의 탐색 범위가 권장된다.
이후, 프로세스는 제 3 단계 탐색 프로세스와 픽셀 이동 간격(K3)을 선택한다. K3 는 탐색 범위 값보다 작고 0 보다 큰 임의의 값이 될 수 있다. 그러나, 계층 탐색의 이 단계에서, 픽셀 이동 간격 K3 = 1이 권장된다. 예를 들어, K3 = 1을 선택하는 것은, 1 픽셀 간격에서 시작하는 비교를 수행하여, 전체 탐색을 수행하는 것과 동일하다.
현재의 매크로블록에 대한 동작 벡터는 제 4 계층 탐색으로 한층 더 세밀해 진다{단계(326)}. 제 4 탐색 영역은 탐색 범위(±p4, ±q4)와 제 3 계층 탐색 단계의 최상 후보 매크로블록에 기초하여 결정된다. 탐색 범위(±p4, ±q4)는 미리 설정되거나 동적으로 결정될 수 있다. 탐색 범위 값(p
4 ,
q
4 )은 모든 프레임에 동일하거나 현재의 프레임과 참조 프레임간의 시간 차이에 따라 달라질 수 있다. 또한, 탐색 범위 값(p
4 ,
q
4 )이 프레임 크기보다 작고 0 보다 큰 임의의 정수값일 수 있지만, p3보다 작은 p4와, q3보다 작은 q4값의 탐색 값을 선택함으로써 제 3 탐색 영역보다 작은 제 4 탐색 영역이 된다. 그러나, 계층 탐색의 이 단계에서, (±0.5, ±0.5)의 탐색 범위가 권장된다.
이후, 프로세스는 제 4 단계 탐색 프로세스와 픽셀 이동 간격(K4)을 선택한다. K4 는 탐색 범위 값보다 작고 0 보다 큰 임의의 값이 될 수 있다. 그러나, 계층 탐색의 이 단계에서, 픽셀 이동 간격 K4 = 0.5가 권장된다. 예를 들어, K4 = 1을 선택하는 것은, 당업자에 의해 잘 이해되는 바와 같이, 1/2 픽셀 탐색을 수행하는 것과 동일하다.
제 4 계층 탐색 단계가 완료되면, 제 4 탐색 단계에서 SAD(i, j)에 대하여 최소값을 생성하는 (i, j) 쌍은 현재의 매크로블록(230)의 동작 벡터를 한정한다. 예를 들어, (1, 1)의 동작 벡터는, 수평으로 한 픽셀 오른쪽으로 이동되고, 수직으로 한 픽셀 아래로 이동된 참조 프레임의 매크로블록은 현재의 매크로블록(230)과 매우 비슷하다(resemble)는 것을 의미한다. 동작 벡터는 기록되고, 픽셀 차이의 배열은 그 현재의 매크로블록과 후보 매크로블록에 대한 레저듀로서 기록된다 {단계(328)}.
제 3 탐색 단계{단계(324)} 및/또는 제 4 탐색 단계{단계(326)}는 동작의 추가 감소가 요구되는 일부 구현에서 생략될 수 있다.
B. 시스템
도 7은 본 발명에 따른 시스템(705)을 도시한다. 도 7에 도시된 바와 같이, 프로세서(710)는 적절한 임의의 데이터 접속을 통하여 적어도 하나의 입력/출력(I/O) 디바이스(720)에 접속된다. I/O 디바이스(720)는 프로세서(710)에 정보를 전달하거나, 상기 프로세서로부터 데이터를 수신할 수 있는 임의의 디바이스일 수 있다. 단지 예로서, I/O 디바이스(720)는 IEEE 1394 인터페이스를 통해 접속된 디지털 캠코더일 수 있다. 프로세서(710)는 예를 들어, 펜티엄 같은 일반적으로 사용 가능한 임의의 디지털 프로세서일 수 있다. 프로세서(710)는 단일 프로세서이거나 복수의 프로세서일 수 있다. 그러나 더 빠른 프로세서는 본 발명에 따른 실행 시간을 감소시킬 것이다.
본 발명의 시스템은, 프로세서(710)에 의해 처리된 데이터와 I/O 디바이스(720)로 전송하거나 상기 디바이스로부터 수신된 데이터를 저장 할 수 있는 메모리(730)를 또한 포함한다. 시스템(705)은 정보를 디스플레이하는 음극선관 (CRT) 같은 디스플레이(740)에 접속될 수 있다. 프로세서(710), I/O 디바이스(720), 메모리(730) 및 디스플레이(740)는 표준 시스템 버스(760)를 통해 접속된다. 도 7은 각 하드웨어 성분이 기존의 상업적으로 이용 가능한 컴퓨터 시스템 성분에 의해 구현될 수 있는 예시적인 네트워크를 도시한다.
도 8은 본 발명에 따른 프로세서를 도시한다. 프로세서(710)는 하나 이상의 메모리 관리 유닛(MMU)(810)과, 하나 이상의 프로세서 요소 배열(820), 그리고 하나 이상의 어큐뮬레이터 유닛(830)을 포함할 수 있다. 프로세서 요소 배열(820)은 도시되지 않은, 프로세서 요소의 배열을 포함할 수 있다. 예를 들어, 프로세서 요소는 블록들 간의 SAD를 계산하기 위한 감산 및 가산기 유닛을 포함할 수 있다. MMU(810)는 프로세서 요소 배열(820)을 위한 데이터를 버퍼링하기 위해 사용될 수 있다. 예를 들어, 어큐뮬레이터 유닛(830)은 프로세서 요소 배열(820)로부터의 출력을 더하는 가산기 유닛일 수 있다.
다시 도 7을 참고하면, 프로세서(710)는 메모리(730)에 포함된 하나 이상의 명령들의 하나 이상의 시퀀스를 실행한다. 이러한 명령들은 입력/출력 디바이스 (720)를 통해 컴퓨터 판독가능 매체로부터 메모리(730)로 읽어들일 수 있다. 메모리(730)에 포함된 명령 시퀀스의 실행은 프로세서(710)가 본 명세서에 기술된 프로세스 단계들을 수행하도록 한다. 대안 구현에서, 하드와이어(hard-wired) 회로부는 본 발명을 구현하기 위하여 소프트웨어 명령들을 대신하거나 이 명령들과 조합하여 사용될 수 있다. 따라서 본 발명의 구현은 하드웨어 회로부와 소프트웨어의 임의의 특정 조합에 국한되지 않는다.
본 명세서에서 사용된 "컴퓨터 판독 가능 매체"란 용어는 실행을 위한 프로세서(710)에 명령들을 제공하는데 관여하는 임의의 매체를 언급한다. 이런 매체는 비 휘발성 매체, 휘발성 매체, 그리고 전송 매체를 포함하는, 그러나 이에 국한되지 않은 많은 형태를 취할 수 있다. 예를 들어, 비 휘발성 매체는 광디스크 또는 자기 디스크를 포함한다. 휘발성 매체는 메모리(730)같은 동적 메모리를 포함한다. 전송 매체는 시스템 버스(760)를 포함하는 와이어들을 포함하는, 동축케이블, 구리선, 그리고 광섬유를 포함한다. 전송 매체는 또한, 무선파(radio-wave)와 적외선 데이터 통신 중 생성되는 것들과 같은, 음향파(acoustic wave) 또는 광파(light wave)의 형태를 취할 수 있다.
컴퓨터 판독 가능 매체의 공통적인 형태는, 예를 들어, 플로피 디스크, 플렉시블 디스크, 하드디스크, 자기 테이프, 또는 임의 다른 자기 매체, CD-ROM, 임의 다른 광학 매체, 펀치 카드, 종이 테이프, 천공 형태의 임의 다른 물리 매체, RAM, PROM, EPROM, FLASH-EPROM, 임의 다른 메모리 칩이나 카트리지, 이후에 설명될 반송파, 또는 컴퓨터가 판독 가능한 임의 다른 매체를 포함한다. 시스템 버스(760)를 통해 시스템(705)에 또는 상기 시스템으로부터 디지털 데이터와 어쩌면 프로그램 코드를 운반하는 네트워크 신호는 정보를 운반하는 반송파의 예시적인 형태이다. 본 발명에 따라, 시스템(705)에 의해 수신된 프로그램 코드는, 상기 코드가 수신되거나, 그리고/또는 메모리(730)나 또는 나중에 실행하기 위해 다른 비 휘발성 저장매체에 저장된 대로, 프로세서(710)에 의해 실행될 수 있다.
다양한 변경과 수정이 본 발명의 정신과 범주로부터 벗어남 없이 본 발명과 관련된 방법과 시스템에 만들어 질 수 있다는 것이 당업자에게 명백한 것이다. 본 발명의 진정한 범위는 첨부된 청구항에 의해 한정된다.
Claims (32)
- 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 방법으로서,(a) 픽셀 정보의 2차원 배열을 포함하는 상기 제 1 프레임의 현재의 매크로블록을 결정하는 단계(302)와,(b) 상기 현재의 매크로블록과 복수의 매크로블록을 포함하는 상기 제 1 프레임의 현재의 수퍼 매크로블록을 결정하는 단계(304)와,(c) 상기 현재의 수퍼 매크로블록과 제 1 탐색 범위에 기초하여 상기 제 2 프레임의 제 1 탐색 영역을 선택하는 단계(306)와,(d) 변위 기준 및 상기 현재의 수퍼 매크로블록에 기초하여 상기 제 1 탐색 영역의 최상(best) 후보 수퍼 매크로블록을 결정하는 단계(312)와,(e) 상기 최상 후보 수퍼 매크로블록을 복수의 후보 매크로블록으로 분할하는 단계(314)와,(f) 상기 복수의 후보 매크로블록과 제 2 탐색 범위에 기초하여 상기 제 2 프레임에 대한 복수의 제 2 탐색 영역을 선택하는 단계(316)와,(g) 상기 변위 기준과 상기 현재의 매크로블록에 기초하여 복수의 제 2 탐색 영역 중 하나 내의 제 1 최상 후보 매크로블록을 결정하는 단계(322)와,(h) 상기 현재의 매크로블록과 상기 제 1 최상 후보 매크로블록 사이의 거리(distance)를 나타내는 제 1 동작 벡터를 결정하는 단계(328)를 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 방법.
- 제 1 항에 있어서,(i) 상기 제 1 최상 후보 매크로블록과 제 3 탐색 범위에 기초하여 상기 제 2 프레임의 제 3 탐색 영역을 선택하는 단계(324)와,(j) 상기 변위 기준과 상기 현재의 매크로블록에 기초하여 상기 제 3 탐색 영역의 제 2 최상 후보 매크로블록을 결정하는 단계(324)와,(k) 상기 현재의 매크로블록과 상기 제 2 최상 후보 매크로블록 사이의 거리를 나타내는 제 2 동작 벡터를 결정하는 단계(328)를 더 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 방법.
- 제 2 항에 있어서,(l) 상기 제 2 최상 후보 매크로블록과 제 4 탐색 범위에 기초하여 상기 제 2 프레임의 제 4 탐색 영역을 선택하는 단계(326)와,(m) 상기 미리 설정된 변위 기준과 상기 현재의 수퍼 매크로블록에 기초하여 상기 제 4 탐색 영역의 제 3 최상 후보 매크로블록을 결정하는 단계(326)와,(n) 상기 현재의 수퍼 매크로블록과 상기 제 2 최상 후보 매크로블록사이의 거리를 나타내는 제 3 동작 벡터를 결정하는 단계(328)를 더 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 방법.
- 제 1 항에 있어서, 최상 후보 수퍼 매크로블록을 결정하는 상기 단계는,(a) 상기 현재의 수퍼 매크로블록과 상기 변위 기준에 기초하여 픽셀 정보의 각 스트립(strip)에서 적어도 하나의 후보 수퍼 매크로블록을 선택함으로써 제 1 세트의 후보 수퍼 매크로블록을 결정하는 단계와,(b) 상기 현재의 수퍼 매크로블록과 상기 변위 기준에 기초하여 적어도 하나의 제 2 탐색 영역 각각에서 적어도 하나의 후보 매크로블록을 선택함으로써 제 2 세트의 후보 매크로블록을 결정하는 단계로서, 상기 적어도 하나의 제 2 탐색 영역 각각은 상기 제 1 세트의 후보 수퍼 매크로블록에 기초하는, 제 2 세트의 후보 매크로블록을 결정하는 단계와,(c) 상기 변위 기준에 기초하여 상기 제 2 세트의 후보 수퍼 매크로블록으로부터 최상 후보 수퍼 매크로블록을 얻는 단계를 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 방법.
- 제 1 항에 있어서, 제 1 최상 후보 매크로블록을 결정하는 상기 단계는,(a) 상기 현재의 수퍼 매크로블록과 상기 변위 기준에 기초하여 픽셀 정보의 각 스트립에서 적어도 하나의 후보 수퍼 매크로블록을 선택함으로써 제 1 세트의 후보 수퍼 매크로블록을 결정하는 단계와,(b) 상기 현재의 수퍼 매크로블록과 상기 변위 기준에 기초하여 적어도 하나의 제 2 탐색 영역 각각에서 적어도 하나의 후보 매크로블록을 선택함으로써 제 2 세트의 후보 매크로블록을 결정하는 단계로서, 상기 적어도 하나의 제 2 탐색 영역 각각은 상기 제 1 세트의 후보 수퍼 매크로블록에 기초하는, 제 2 세트의 후보 매크로블록을 결정하는 단계와,(c) 상기 변위 기준에 기초하여 상기 제 2 세트의 후보 수퍼 매크로블록으로부터 최상 후보 수퍼 매크로블록을 얻는 단계를 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 방법.
- 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 방법으로서,(a) 픽셀 정보의 2 차원 배열을 포함하는 제 1 프레임의 현재의 매크로블록을 결정하는 단계와,(b) 상기 현재의 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열을 얻는 단계와,(c) 상기 현재의 매크로블록과 복수의 매크로블록을 포함하는 상기 제 1 프레임의 현재의 수퍼 매크로블록을 결정하는 단계와,(d) 상기 현재의 수퍼 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열을 얻는 단계와,(e) 상기 현재의 수퍼 매크로블록과 제 1 탐색 범위에 기초하여 상기 제 2 프레임의 제 1 탐색 영역을 선택하는 단계와,(f) 상기 현재의 수퍼 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열과 변위 기준에 기초하여 상기 제 1 탐색 영역의 최상 후보 수퍼 매크로블록을 결정하는 단계와,(g) 상기 최상 후보 수퍼 매크로블록을 복수의 후보 매크로블록으로 분할하는 단계와,(h) 상기 복수의 후보 매크로블록과 제 2 탐색 범위에 기초하여 상기 제 2 프레임에 대한 복수의 제 2 탐색 영역을 선택하는 단계와,(i) 상기 현재의 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열과 상기 변위 기준에 기초하여 복수의 제 2 탐색 영역 중 하나 내의 제 1 최상 후보 매크로블록을 결정하는 단계와,(j) 상기 현재의 매크로블록과 상기 제 1 최상 후보 매크로블록 사이의 거리를 나타내는 제 1 동작 벡터를 결정하는 단계를 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 방법.
- 제 6 항에 있어서,(k) 상기 제 1 최상 후보 매크로블록과 제 3 탐색 범위에 기초하여 상기 제 2 프레임의 제 3 탐색 영역을 선택하는 단계와,(l) 상기 변위 기준과 상기 현재의 매크로블록에 기초하여 상기 제 3 탐색 영역의 제 2 최상 후보 매크로블록을 결정하는 단계와,(m) 상기 현재의 매크로블록과 상기 제 2 최상 후보 매크로블록 사이의 거리를 나타내는 제 2 동작 벡터를 결정하는 단계를 더 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 방법.
- 제 7 항에 있어서,(n) 상기 제 2 최상 후보 매크로블록과 제 4 탐색 범위에 기초하여 상기 제 2 프레임의 제 4 탐색 영역을 선택하는 단계와,(o) 상기 미리 설정된 변위 기준과 상기 현재의 수퍼 매크로블록에 기초하여 상기 제 4 탐색 영역의 제 3 최상 후보 매크로블록을 결정하는 단계와,(p) 상기 현재의 수퍼 매크로블록과 상기 제 2 최상 후보 매크로블록사이의 거리를 나타내는 제 3 동작 벡터를 결정하는 단계를 더 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 방법.
- 제 6 항에 있어서, 최상 후보 수퍼 매크로블록을 결정하는 상기 단계는,(a) 상기 변위 기준과 상기 현재의 수퍼 매크로블록을 나타내는 상기 인테그럴 프로젝션 배열에 기초하여 픽셀 정보의 각 스트립에서 적어도 하나의 후보 수퍼 매크로블록을 선택함으로써 제 1 세트의 후보 수퍼 매크로블록을 결정하는 단계와,(b) 상기 변위 기준과 상기 현재의 수퍼 매크로블록을 나타내는 상기 인테그럴 프로젝션 배열에 기초하여 적어도 하나의 제 2 탐색 영역 각각에서 적어도 하나의 후보 매크로블록을 선택함으로써 제 2 세트의 후보 매크로블록을 결정하는 단계로서, 상기 적어도 하나의 제 2 탐색 영역 각각은 상기 제 1 세트의 후보 수퍼 매크로블록에 기초하는, 제 2 세트의 후보 매크로블록을 결정하는 단계와,(c) 상기 변위 기준에 기초하여 상기 제 2 세트의 후보 수퍼 매크로블록으로부터 최상 후보 수퍼 매크로블록을 얻는 단계를 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 방법.
- 제 6 항에 있어서, 제 1 최상 후보 매크로블록을 결정하는 상기 단계는,(a) 상기 변위 기준과 상기 현재의 수퍼 매크로블록을 나타내는 상기 인테그럴 프로젝션 배열에 기초하여 픽셀 정보의 각 스트립에서 적어도 하나의 후보 수퍼 매크로블록을 선택함으로써 제 1 세트의 후보 수퍼 매크로블록을 결정하는 단계와,(b) 상기 변위 기준과 상기 현재의 수퍼 매크로블록을 나타내는 상기 인테그럴 프로젝션 배열에 기초하여 적어도 하나의 제 2 탐색 영역 각각에서 적어도 하나의 후보 매크로블록을 선택함으로써 제 2 세트의 후보 매크로블록을 결정하는 단계로서, 상기 적어도 하나의 제 2 탐색 영역 각각은 상기 제 1 세트의 후보 수퍼 매크로블록에 기초하는, 제 2 세트의 후보 매크로블록을 결정하는 단계와,(c) 상기 변위 기준에 기초하여 상기 제 2 세트의 후보 수퍼 매크로블록으로부터 최상 후보 수퍼 매크로블록을 얻는 단계를 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 방법.
- 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 장치로서,프로그램 명령들을 갖는 메모리(730)와;상기 프로그램 명령을 사용하도록 구성된 프로세서(710)를 포함하며,상기 프로세서는,(a) 픽셀 정보의 2차원 배열을 포함하는 제 1 프레임의 현재의 매크로블록을 결정하는 단계와,(b) 상기 현재의 매크로블록과 복수의 매크로블록을 포함하는 상기 제 1 프레임의 현재의 수퍼 매크로블록을 결정하는 단계와,(c) 상기 현재의 수퍼 매크로블록과 제 1 탐색 범위에 기초하여 제 2 프레임의 제 1 탐색 영역을 선택하는 단계와,(d) 변위 기준 및 상기 현재의 수퍼 매크로블록에 기초하여 상기 제 1 탐색 영역의 최상 후보 수퍼 매크로블록을 결정하는 단계와,(e) 상기 최상 후보 수퍼 매크로블록을 복수의 후보 매크로블록으로 분할하는 단계와,(f) 상기 복수의 후보 매크로블록과 제 2 탐색 범위에 기초하여 상기 제 2 프레임에 대한 복수의 제 2 탐색 영역을 선택하는 단계와,(g) 상기 변위 기준과 상기 현재의 매크로블록에 기초하여 복수의 제 2 탐색 영역 중 하나 내의 제 1 최상 후보 매크로블록을 결정하는 단계와,(h) 상기 현재의 매크로블록과 상기 제 1 최상 후보 매크로블록 사이의 거리를 나타내는 제 1 동작 벡터를 결정하는 단계를수행하기 위하여, 상기 프로그램 명령들을 이용하도록 구성된, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 장치.
- 제 11 항에 있어서, 상기 프로세서는,(i) 상기 제 1 최상 후보 매크로블록과 제 3 탐색 범위에 기초하여 상기 제 2 프레임의 제 3 탐색 영역을 선택하는 단계와,(j) 상기 변위 기준과 상기 현재의 매크로블록에 기초하여 상기 제 3 탐색 영역의 제 2 최상 후보 매크로블록을 결정하는 단계와,(k) 상기 현재의 매크로블록과 상기 제 2 최상 후보 매크로블록 사이의 거리를 나타내는 제 2 동작 벡터를 결정하는 단계를수행하기 위하여 프로그램 명령들을 사용하도록 구성된, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 장치.
- 제 12 항에 있어서, 상기 프로세서는,(l) 상기 제 2 최상 후보 매크로블록과 제 4 탐색 범위에 기초하여 상기 제 2 프레임의 제 4 탐색 영역을 선택하는 단계와,(m) 상기 변위 기준과 상기 현재의 수퍼 매크로블록에 기초하여 상기 제 4 탐색 영역의 제 3 최상 후보 매크로블록을 결정하는 단계와,(n) 상기 현재의 수퍼 매크로블록과 상기 제 2 최상 후보 매크로블록사이의 거리를 나타내는 제 3 동작 벡터를 결정하는 단계를 수행하기 위하여 프로그램 명령들을 사용하도록 구성된, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 장치.
- 제 11 항에 있어서, 최상 후보 수퍼 매크로블록을 결정하는 상기 단계는,(a) 상기 현재의 수퍼 매크로블록과 상기 변위 기준에 기초하여 픽셀 정보의 각 스트립에서 적어도 하나의 후보 수퍼 매크로블록을 선택함으로써 제 1 세트의 후보 수퍼 매크로블록을 결정하는 단계와,(b) 상기 현재의 수퍼 매크로블록과 상기 변위 기준에 기초하여 적어도 하나의 제 2 탐색 영역 각각에서 적어도 하나의 후보 매크로블록을 선택함으로써 제 2 세트의 후보 매크로블록을 결정하는 단계로서, 상기 적어도 하나의 제 2 탐색 영역 각각은 상기 제 1 세트의 후보 수퍼 매크로블록에 기초하는, 제 2 세트의 후보 매크로블록을 결정하는 단계와,(c) 상기 변위 기준에 기초하여 상기 제 2 세트의 후보 수퍼 매크로블록으로부터 최상 후보 수퍼 매크로블록을 얻는 단계를 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 장치.
- 제 11 항에 있어서, 제 1 최상 후보 매크로블록을 결정하는 상기 단계는,(a) 상기 현재의 수퍼 매크로블록과 상기 변위 기준에 기초하여 픽셀 정보의 각 스트립에서 적어도 하나의 후보 수퍼 매크로블록을 선택함으로써 제 1 세트의 후보 수퍼 매크로블록을 결정하는 단계와,(b) 상기 현재의 수퍼 매크로블록과 상기 변위 기준에 기초하여 적어도 하나의 제 2 탐색 영역 각각에서 적어도 하나의 후보 매크로블록을 선택함으로써 제 2 세트의 후보 매크로블록을 결정하는 단계로서, 상기 적어도 하나의 제 2 탐색 영역 각각은 상기 제 1 세트의 후보 수퍼 매크로블록에 기초하는, 제 2 세트의 후보 매크로블록을 결정하는 단계와,(c) 상기 변위 기준에 기초하여 상기 제 2 세트의 후보 수퍼 매크로블록으로부터 최상 후보 수퍼 매크로블록을 얻는 단계를 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 장치.
- 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 장치로서,프로그램 명령들을 갖는 메모리와;상기 프로그램 명령을 사용하도록 구성된 프로세서를 포함하며,상기 프로세서는,(a) 픽셀 정보의 2 차원 배열을 포함하는 제 1 프레임의 현재의 매크로블록을 결정하는 단계와,(b) 상기 현재의 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열을 얻는 단계와,(c) 상기 현재의 매크로블록과 복수의 매크로블록을 포함하는 상기 제 1 프레임의 현재의 수퍼 매크로블록을 결정하는 단계와,(d) 상기 현재의 수퍼 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열을 얻는 단계와,(e) 상기 현재의 수퍼 매크로블록과 제 1 탐색 범위에 기초하여 상기 제 2 프레임의 제 1 탐색 영역을 선택하는 단계와,(f) 상기 현재의 수퍼 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열과 변위 기준에 기초하여 상기 제 1 탐색 영역의 최상 후보 수퍼 매크로블록을 결정하는 단계와,(g) 상기 최상 후보 수퍼 매크로블록을 복수의 후보 매크로블록으로 분할하는 단계와,(h) 상기 복수의 후보 매크로블록과 제 2 탐색 범위에 기초하여 상기 제 2 프레임에 대한 복수의 제 2 탐색 영역을 선택하는 단계와,(i) 상기 현재의 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열과 상기 변위 기준에 기초하여 복수의 제 2 탐색 영역 중 하나 내의 제 1 최상 후보 매크로블록을 결정하는 단계와,(j) 상기 현재의 매크로블록과 상기 제 1 최상 후보 매크로블록 사이의 거리를 나타내는 제 1 동작 벡터를 결정하는 단계를수행하기 위하여, 상기 프로그램 명령들을 사용하도록 구성된, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 장치.
- 제 16 항에 있어서, 상기 프로세서는,(k) 상기 제 1 최상 후보 매크로블록과 제 3 탐색 범위에 기초하여 상기 제 2 프레임의 제 3 탐색 영역을 선택하는 단계와,(l) 상기 변위 기준과 상기 현재의 매크로블록에 기초하여 상기 제 3 탐색 영역의 제 2 최상 후보 매크로블록을 결정하는 단계와,(m) 상기 현재의 매크로블록과 상기 제 2 최상 후보 매크로블록 사이의 거리를 나타내는 제 2 동작 벡터를 결정하는 단계를 수행하기 위하여, 프로그램 명령들을 사용하도록 구성된, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 장치.
- 제 17 항에 있어서, 상기 프로세서는,(n) 상기 제 2 최상 후보 매크로블록과 제 4 탐색 범위에 기초하여 상기 제 2 프레임의 제 4 탐색 영역을 선택하는 단계와,(o) 상기 변위 기준과 상기 현재의 수퍼 매크로블록에 기초하여 상기 제 4 탐색 영역의 제 3 최상 후보 매크로블록을 결정하는 단계와,(p) 상기 현재의 수퍼 매크로블록과 상기 제 2 최상 후보 매크로블록사이의 거리를 나타내는 제 3 동작 벡터를 결정하는 단계를 수행하기 위하여, 프로그램 명령들을 사용하도록 구성된, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 장치.
- 제 16 항에 있어서, 최상 후보 수퍼 매크로블록을 결정하는 상기 단계는,(a) 상기 변위 기준과 상기 현재의 수퍼 매크로블록을 나타내는 상기 인테그럴 프로젝션 배열에 기초하여 픽셀 정보의 각 스트립에서 적어도 하나의 후보 수퍼 매크로블록을 선택함으로써 제 1 세트의 후보 수퍼 매크로블록을 결정하는 단계와,(b) 상기 변위 기준과 상기 현재의 수퍼 매크로블록을 나타내는 상기 인테그럴 프로젝션 배열에 기초하여 적어도 하나의 제 2 탐색 영역 각각에서 적어도 하나의 후보 매크로블록을 선택함으로써 제 2 세트의 후보 매크로블록을 결정하는 단계로서, 상기 적어도 하나의 제 2 탐색 영역은 상기 제 1 세트의 후보 수퍼 매크로블록에 기초하는 제 2 세트의 후보 매크로블록을 결정하는 단계와,(c) 상기 변위 기준에 기초하여 상기 제 2 세트의 후보 수퍼 매크로블록으로부터 최상 후보 수퍼 매크로블록을 얻는 단계를 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 장치.
- 제 16 항에 있어서, 제 1 최상 후보 매크로블록을 결정하는 상기 단계는,(a) 상기 변위 기준과 상기 현재의 수퍼 매크로블록을 나타내는 상기 인테그럴 프로젝션 배열에 기초하여 픽셀 정보의 각 스트립에서 적어도 하나의 후보 수퍼 매크로블록을 선택함으로써 제 1 세트의 후보 수퍼 매크로블록을 결정하는 단계와,(b) 상기 변위 기준과 상기 현재의 수퍼 매크로블록을 나타내는 상기 인테그럴 프로젝션 배열에 기초하여 적어도 하나의 제 2 탐색 영역 각각에서 적어도 하나의 후보 매크로블록을 선택함으로써 제 2 세트의 후보 매크로블록을 결정하는 단계로서, 상기 적어도 하나의 제 2 탐색 영역 각각은 상기 제 1 세트의 후보 수퍼 매크로블록에 기초하는, 제 2 세트의 후보 매크로블록을 결정하는 단계와,(c) 상기 변위 기준에 기초하여 상기 제 2 세트의 후보 수퍼 매크로블록으로부터 최상 후보 수퍼 매크로블록을 얻는 단계를 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 장치.
- 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위하여 안에 수록된(embodied) 컴퓨터 판독 가능 코드를 갖는 컴퓨터-판독가능 매체로서,(a) 픽셀 정보의 2차원 배열을 포함하는 제 1 프레임의 현재의 매크로블록을 결정하도록 구성된 성분과,(b) 상기 현재의 매크로블록과 복수의 매크로블록을 포함하는 상기 제 1 프레임의 현재의 수퍼 매크로블록을 결정하도록 구성된 성분과,(c) 상기 현재의 수퍼 매크로블록과 제 1 탐색 범위에 기초하여 제 2 프레임의 제 1 탐색 영역을 선택하도록 구성된 성분과,(d) 변위 기준 및 상기 현재의 수퍼 매크로블록에 기초하여 상기 제 1 탐색 영역의 최상 후보 수퍼 매크로블록을 결정하도록 구성된 성분과,(e) 상기 최상 후보 수퍼 매크로블록을 복수의 후보 매크로블록으로 분할하도록 구성된 성분과,(f) 상기 복수의 후보 매크로블록과 제 2 탐색 범위에 기초하여 상기 제 2 프레임에 대한 복수의 제 2 탐색 영역을 선택하도록 구성된 성분과,(g) 상기 변위 기준과 상기 현재의 매크로블록에 기초하여 복수의 제 2 탐색 영역 중 하나 내의 제 1 최상 후보 매크로블록을 결정하도록 구성된 성분과,(h) 상기 현재의 매크로블록과 상기 제 1 최상 후보 매크로블록 사이의 거리를 나타내는 제 1 동작 벡터를 결정하도록 구성된 성분을 포함하는, 컴퓨터-판독가능 매체.
- 제 21 항에 있어서,(i) 상기 제 1 최상 후보 매크로블록과 제 3 탐색 범위에 기초하여 상기 제 2 프레임의 제 3 탐색 영역을 선택하도록 구성된 성분과,(j) 상기 변위 기준과 상기 현재의 매크로블록에 기초하여 상기 제 3 탐색 영역의 제 2 최상 후보 매크로블록을 결정하도록 구성된 성분과,(k) 상기 현재의 매크로블록과 상기 제 2 최상 후보 매크로블록 사이의 거리를 나타내는 제 2 동작 벡터를 결정하도록 구성된 성분을 더 포함하는, 컴퓨터-판독가능 매체.
- 제 22 항에 있어서,(l) 상기 제 2 최상 후보 매크로블록과 제 4 탐색 범위에 기초하여 상기 제 2 프레임의 제 4 탐색 영역을 선택하도록 구성된 성분과,(m) 상기 변위 기준과 상기 현재의 수퍼 매크로블록에 기초하여 상기 제 4 탐색 영역의 제 3 최상 후보 매크로블록을 결정하도록 구성된 성분과,(n) 상기 현재의 수퍼 매크로블록과 상기 제 2 최상 후보 매크로블록사이의 거리를 나타내는 제 3 동작 벡터를 결정하도록 구성된 성분을 더 포함하는, 컴퓨터-판독가능 매체.
- 제 21 항에 있어서, 최상 후보 수퍼 매크로블록을 결정하도록 구성된 성분 단계는,(a) 상기 현재의 수퍼 매크로블록과 상기 변위 기준에 기초하여 픽셀 정보의 각 스트립에서 적어도 하나의 후보 수퍼 매크로블록을 선택함으로써 제 1 세트의 후보 수퍼 매크로블록을 결정하도록 구성된 성분 단계와,(b) 상기 현재의 수퍼 매크로블록과 상기 변위 기준에 기초하여 적어도 하나의 제 2 탐색 영역 각각에서 적어도 하나의 후보 매크로블록을 선택함으로써 제 2 세트의 후보 매크로블록을 결정하도록 구성된 성분 단계로서, 상기 적어도 하나의 제 2 탐색 영역 각각은 상기 제 1 세트의 후보 수퍼 매크로블록에 기초하는, 제 2 세트의 후보 매크로블록을 결정하도록 구성된 성분 단계와,(c) 상기 변위 기준에 기초하여 상기 제 2 세트의 후보 수퍼 매크로블록으로부터 최상 후보 수퍼 매크로블록을 얻도록 구성된 성분 단계를 포함하는, 컴퓨터-판독가능 매체.
- 제 21 항에 있어서, 제 1 최상 후보 매크로블록을 결정하도록 구성된 성분 단계는,(a) 상기 현재의 수퍼 매크로블록과 상기 변위 기준에 기초하여 픽셀 정보의 각 스트립에서 적어도 하나의 후보 수퍼 매크로블록을 선택함으로써 제 1 세트의 후보 수퍼 매크로블록을 결정하도록 구성된 성분 단계와,(b) 상기 현재의 수퍼 매크로블록과 상기 변위 기준에 기초하여 적어도 하나의 제 2 탐색 영역 각각에서 적어도 하나의 후보 매크로블록을 선택함으로써 제 2 세트의 후보 매크로블록을 결정하도록 구성된 성분 단계로서, 상기 적어도 하나의 제 2 탐색 영역 각각은 상기 제 1 세트의 후보 수퍼 매크로블록에 기초하는, 제 2 세트의 후보 매크로블록을 결정하도록 구성된 성분 단계와,(c) 상기 변위 기준에 기초하여 상기 제 2 세트의 후보 수퍼 매크로블록으로부터 최상 후보 수퍼 매크로블록을 얻도록 구성된 성분 단계를 포함하는, 컴퓨터-판독가능 매체.
- 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위하여 안에 수록된(embodied) 컴퓨터 판독 가능 코드를 갖는 컴퓨터-판독가능 매체로서,(a) 픽셀 정보의 2 차원 배열을 포함하는 제 1 프레임의 현재의 매크로블록을 결정하도록 구성된 성분과,(b) 상기 현재의 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열을 얻도록 구성된 성분과,(c) 상기 현재의 매크로블록과 복수의 매크로블록을 포함하는 상기 제 1 프레임의 현재의 수퍼 매크로블록을 결정하도록 구성된 성분과,(d) 상기 현재의 수퍼 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열을 얻도록 구성된 성분과,(e) 상기 현재의 수퍼 매크로블록과 제 1 탐색 범위에 기초하여 상기 제 2 프레임의 제 1 탐색 영역을 선택하도록 구성된 성분과,(f) 상기 현재의 수퍼 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열과 변위 기준에 기초하여 상기 제 1 탐색 영역의 최상 후보 수퍼 매크로블록을 결정하도록 구성된 성분과,(g) 상기 최상 후보 수퍼 매크로블록을 복수의 후보 매크로블록으로 분할하도록 구성된 성분과,(h) 상기 복수의 후보 매크로블록과 제 2 탐색 범위에 기초하여 상기 제 2 프레임에 대한 복수의 제 2 탐색 영역을 선택하도록 구성된 성분과,(i) 상기 현재의 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열과 상기 변위 기준에 기초하여 복수의 제 2 탐색 영역 중 하나 내의 제 1 최상 후보 매크로블록을 결정하도록 구성된 성분과,(j) 상기 현재의 매크로블록과 상기 제 1 최상 후보 매크로블록 사이의 거리를 나타내는 제 1 동작 벡터를 결정하도록 구성된 성분을 포함하는, 컴퓨터-판독가능 매체.
- 제 26 항에 있어서,(k) 상기 제 1 최상 후보 매크로블록과 제 3 탐색 범위에 기초하여 상기 제 2 프레임의 제 3 탐색 영역을 선택하도록 구성된 성분과,(l) 상기 변위 기준과 상기 현재의 매크로블록에 기초하여 상기 제 3 탐색 영역의 제 2 최상 후보 매크로블록을 결정하도록 구성된 성분과,(m) 상기 현재의 매크로블록과 상기 제 2 최상 후보 매크로블록 사이의 거리를 나타내는 제 2 동작 벡터를 결정하도록 구성된 성분을 더 포함하는, 컴퓨터-판독가능 매체.
- 제 27 항에 있어서,(n) 상기 제 2 최상 후보 매크로블록과 제 4 탐색 범위에 기초하여 상기 제 2 프레임의 제 4 탐색 영역을 선택하도록 구성된 성분과,(o) 상기 변위 기준과 상기 현재의 수퍼 매크로블록에 기초하여 상기 제 4 탐색 영역의 제 3 최상 후보 매크로블록을 결정하도록 구성된 성분과,(p) 상기 현재의 수퍼 매크로블록과 상기 제 2 최상 후보 매크로블록사이의 거리를 나타내는 제 3 동작 벡터를 결정하도록 구성된 성분을 더 포함하는, 컴퓨터-판독가능 매체.
- 제 26 항에 있어서, 최상 후보 수퍼 매크로블록을 결정하도록 구성된 상기 성분은,(a) 상기 변위 기준과 상기 현재의 수퍼 매크로블록을 나타내는 상기 인테그럴 프로젝션 배열에 기초하여 픽셀 정보의 각 스트립에서 적어도 하나의 후보 수퍼 매크로블록을 선택함으로써 제 1 세트의 후보 수퍼 매크로블록을 결정하도록 구성된 성분 단계와,(b) 상기 변위 기준과 상기 현재의 수퍼 매크로블록을 나타내는 상기 인테그럴 프로젝션 배열에 기초하여 적어도 하나의 제 2 탐색 영역 각각에서 적어도 하나의 후보 매크로블록을 선택함으로써 제 2 세트의 후보 매크로블록을 결정하도록 구성된 성분 단계로서, 상기 적어도 하나의 제 2 탐색 영역 각각은 상기 제 1 세트의 후보 수퍼 매크로블록에 기초하는, 제 2 세트의 후보 매크로블록을 결정하도록 구성된 성분 단계와,(c) 상기 변위 기준에 기초하여 상기 제 2 세트의 후보 수퍼 매크로블록으로부터 최상 후보 수퍼 매크로블록을 얻도록 구성된 성분 단계를 포함하는, 컴퓨터-판독가능 매체.
- 제 26 항에 있어서, 제 1 최상 후보 매크로블록을 결정하도록 구성된 상기 성분은,(a) 상기 변위 기준과 상기 현재의 수퍼 매크로블록을 나타내는 상기 인테그럴 프로젝션 배열에 기초하여 픽셀 정보의 각 스트립에서 적어도 하나의 후보 수퍼 매크로블록을 선택함으로써 제 1 세트의 후보 수퍼 매크로블록을 결정하도록 구성된 성분 단계와,(b) 상기 변위 기준과 상기 현재의 수퍼 매크로블록을 나타내는 상기 인테그럴 프로젝션 배열에 기초하여 적어도 하나의 제 2 탐색 영역 각각에서 적어도 하나의 후보 매크로블록을 선택함으로써 제 2 세트의 후보 매크로블록을 결정하도록 구성된 성분 단계로서, 상기 적어도 하나의 제 2 탐색 영역 각각은 상기 제 1 세트의 후보 수퍼 매크로블록에 기초하는, 제 2 세트의 후보 매크로블록을 결정하도록 구성된 성분 단계와,(c) 상기 변위 기준에 기초하여 상기 제 2 세트의 후보 수퍼 매크로블록으로부터 최상 후보 수퍼 매크로블록을 얻도록 구성된 성분 단계를 포함하는, 컴퓨터-판독가능 매체.
- 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 시스템으로서,(a) 픽셀 정보의 2차원 배열을 포함하는 제 1 프레임의 현재의 매크로블록을 결정하는 수단과,(b) 상기 현재의 매크로블록과 복수의 매크로블록을 포함하는 상기 제 1 프레임의 현재의 수퍼 매크로블록을 결정하는 수단과,(c) 상기 현재의 수퍼 매크로블록과 제 1 탐색 범위에 기초하여 제 2 프레임의 제 1 탐색 영역을 선택하는 수단과,(d) 변위 기준 및 상기 현재의 수퍼 매크로블록에 기초하여 상기 제 1 탐색 영역의 최상 후보 수퍼 매크로블록을 결정하는 수단과,(e) 상기 최상 후보 수퍼 매크로블록을 복수의 후보 매크로블록으로 분할하는 수단과,(f) 상기 복수의 후보 매크로블록과 제 2 탐색 범위에 기초하여 상기 제 2 프레임에 대한 복수의 제 2 탐색 영역을 선택하는 수단과,(g) 상기 변위 기준과 상기 현재의 매크로블록에 기초하여 복수의 제 2 탐색 영역 중 하나 내의 제 1 최상 후보 매크로블록을 결정하는 수단과,(h) 상기 현재의 매크로블록과 상기 제 1 최상 후보 매크로블록 사이의 거리를 나타내는 제 1 동작 벡터를 결정하는 수단을 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 시스템.
- 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 시스템으로서,(a) 픽셀 정보의 2 차원 배열을 포함하는 제 1 프레임의 현재의 매크로블록을 결정하는 수단과,(b) 상기 현재의 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열을 얻는 수단과,(c) 상기 현재의 매크로블록과 복수의 매크로블록을 포함하는 상기 제 1 프레임의 현재의 수퍼 매크로블록을 결정하는 수단과,(d) 상기 현재의 수퍼 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열을 얻는 수단과,(e) 상기 현재의 수퍼 매크로블록과 제 1 탐색 범위에 기초하여 상기 제 2 프레임의 제 1 탐색 영역을 선택하는 수단과,(f) 상기 현재의 수퍼 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열과 변위 기준에 기초하여 상기 제 1 탐색 영역의 최상 후보 수퍼 매크로블록을 결정하는 수단과,(g) 상기 최상 후보 수퍼 매크로블록을 복수의 후보 매크로블록으로 분할하는 수단과,(h) 상기 복수의 후보 매크로블록과 제 2 탐색 범위에 기초하여 상기 제 2 프레임에 대한 복수의 제 2 탐색 영역을 선택하는 수단과,(i) 상기 현재의 매크로블록을 나타내는 적어도 하나의 인테그럴 프로젝션 배열과 상기 변위 기준에 기초하여 복수의 제 2 탐색 영역 중 하나 내의 제 1 최상 후보 매크로블록을 결정하는 수단과,(j) 상기 현재의 매크로블록과 상기 제 1 최상 후보 매크로블록 사이의 거리를 나타내는 제 1 동작 벡터를 결정하는 수단을 포함하는, 비디오 영상 데이터의 제 1 및 제 2 프레임 사이의 동작 벡터를 얻기 위한 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/093,307 | 1998-06-09 | ||
US09/093,307 US6130912A (en) | 1998-06-09 | 1998-06-09 | Hierarchical motion estimation process and system using block-matching and integral projection |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010052644A KR20010052644A (ko) | 2001-06-25 |
KR100659704B1 true KR100659704B1 (ko) | 2006-12-21 |
Family
ID=22238229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020007013875A KR100659704B1 (ko) | 1998-06-09 | 1999-06-02 | 비디오 이미지 데이터의 제 1 및 제 2 프레임 사이의 움직임 벡터를 얻기 위한 방법, 장치, 및 시스템, 및 컴퓨터-판독가능 매체 |
Country Status (7)
Country | Link |
---|---|
US (1) | US6130912A (ko) |
EP (1) | EP1086580B1 (ko) |
JP (1) | JP4528441B2 (ko) |
KR (1) | KR100659704B1 (ko) |
AT (1) | ATE537660T1 (ko) |
AU (1) | AU4225199A (ko) |
WO (1) | WO1999065232A1 (ko) |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100301833B1 (ko) * | 1998-08-20 | 2001-09-06 | 구자홍 | 오류은폐방법 |
US6735249B1 (en) | 1999-08-11 | 2004-05-11 | Nokia Corporation | Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding |
KR100601618B1 (ko) * | 1999-08-27 | 2006-07-14 | 삼성전자주식회사 | 계층적 움직임 추정기를 위한 최적의 데이터 공급장치 및 그방법 |
US6442203B1 (en) * | 1999-11-05 | 2002-08-27 | Demografx | System and method for motion compensation and frame rate conversion |
US6690728B1 (en) * | 1999-12-28 | 2004-02-10 | Sony Corporation | Methods and apparatus for motion estimation in compressed domain |
US6876703B2 (en) * | 2000-05-11 | 2005-04-05 | Ub Video Inc. | Method and apparatus for video coding |
MXPA03001270A (es) * | 2000-08-11 | 2003-06-09 | Nokia Corp | Metodo y aparato para transferir imagen de video en un sistema de telecomunicacion. |
WO2002035854A1 (en) * | 2000-10-24 | 2002-05-02 | Eyeball Networks Inc. | Dct-based scalable video compression |
US6796733B2 (en) | 2000-10-31 | 2004-09-28 | International Imaging Materials Inc. | Thermal transfer ribbon with frosting ink layer |
US7327787B1 (en) * | 2000-11-20 | 2008-02-05 | Intel Corporation | Method and apparatus for motion estimation |
WO2004006587A1 (en) * | 2000-12-06 | 2004-01-15 | Realnetworks, Inc. | Intra coding video data methods and apparatuses |
US6765964B1 (en) | 2000-12-06 | 2004-07-20 | Realnetworks, Inc. | System and method for intracoding video data |
KR100778468B1 (ko) * | 2000-12-12 | 2007-11-21 | 엘지전자 주식회사 | 움직임 추정 최적화 방법 및 장치 |
US20020131500A1 (en) * | 2001-02-01 | 2002-09-19 | Gandhi Bhavan R. | Method for determining a motion vector for a video signal |
TWI241536B (en) * | 2001-03-07 | 2005-10-11 | Pts Corp | Method and apparatus for estimating motion of image region |
US6782052B2 (en) | 2001-03-16 | 2004-08-24 | Sharp Laboratories Of America, Inc. | Reference frame prediction and block mode prediction for fast motion searching in advanced video coding |
US20030059089A1 (en) * | 2001-09-25 | 2003-03-27 | Quinlan James E. | Block matching at the fractional pixel level for motion estimation |
AU2003223639A1 (en) * | 2002-04-15 | 2003-11-03 | The Trustees Of Columbia University In The City Of New York | Methods for selecting a subsequence of video frames from a sequence of video frames |
US7386048B2 (en) * | 2002-05-28 | 2008-06-10 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode organization |
US7489727B2 (en) * | 2002-06-07 | 2009-02-10 | The Trustees Of Columbia University In The City Of New York | Method and device for online dynamic semantic video compression and video indexing |
US7020201B2 (en) * | 2002-11-20 | 2006-03-28 | National Chiao Tung University | Method and apparatus for motion estimation with all binary representation |
US7170934B2 (en) * | 2002-12-20 | 2007-01-30 | Lsi Logic Corporation | Method and/or apparatus for motion estimation using a hierarchical search followed by a computation split for different block sizes |
US8131095B2 (en) * | 2003-02-03 | 2012-03-06 | Actimagine | Process and device for the compression of portions of images |
FR2850827B1 (fr) * | 2003-02-03 | 2005-11-04 | Pagnac Andre | Procede et dispositif de compression de parties d'images |
KR100601935B1 (ko) * | 2003-12-02 | 2006-07-14 | 삼성전자주식회사 | 디지탈 동영상 처리 방법 및 장치 |
CN100385955C (zh) * | 2004-08-06 | 2008-04-30 | 瑞昱半导体股份有限公司 | 区块式位移预测方法 |
US7496736B2 (en) * | 2004-08-27 | 2009-02-24 | Siamack Haghighi | Method of efficient digital processing of multi-dimensional data |
TWI254571B (en) * | 2004-12-07 | 2006-05-01 | Sunplus Technology Co Ltd | Method for fast multiple reference frame motion estimation |
US7773115B2 (en) * | 2004-12-15 | 2010-08-10 | Texas Instruments Incorporated | Method and system for deblurring digital camera images using reference image and motion estimation |
CN100471280C (zh) * | 2005-01-07 | 2009-03-18 | 株式会社Ntt都科摩 | 运动图像编码及译码装置、方法 |
US7983341B2 (en) * | 2005-02-24 | 2011-07-19 | Ericsson Television Inc. | Statistical content block matching scheme for pre-processing in encoding and transcoding |
US20060198441A1 (en) * | 2005-03-02 | 2006-09-07 | Hua-Chang Chi | Motion detection method for detecting motion objects in video frames generated from a video surveillance system |
US20060215755A1 (en) * | 2005-03-24 | 2006-09-28 | Mediatek Incorporation | Video encoding methods and systems for battery-powered apparatus |
US20060256864A1 (en) * | 2005-05-13 | 2006-11-16 | Mediatek Incorporation | Motion estimation methods and systems in video encoding for battery-powered appliances |
US7755667B2 (en) | 2005-05-17 | 2010-07-13 | Eastman Kodak Company | Image sequence stabilization method and camera having dual path image sequence stabilization |
US8284842B2 (en) | 2005-07-08 | 2012-10-09 | Activevideo Networks, Inc. | Video game system using pre-encoded macro-blocks and a reference grid |
US8118676B2 (en) | 2005-07-08 | 2012-02-21 | Activevideo Networks, Inc. | Video game system using pre-encoded macro-blocks |
US8270439B2 (en) | 2005-07-08 | 2012-09-18 | Activevideo Networks, Inc. | Video game system using pre-encoded digital audio mixing |
US9061206B2 (en) * | 2005-07-08 | 2015-06-23 | Activevideo Networks, Inc. | Video game system using pre-generated motion vectors |
US20070237514A1 (en) * | 2006-04-06 | 2007-10-11 | Eastman Kodak Company | Varying camera self-determination based on subject motion |
US7903168B2 (en) * | 2006-04-06 | 2011-03-08 | Eastman Kodak Company | Camera and method with additional evaluation image capture based on scene brightness changes |
US20070248330A1 (en) * | 2006-04-06 | 2007-10-25 | Pillman Bruce H | Varying camera self-determination based on subject motion |
WO2007148428A1 (ja) * | 2006-06-20 | 2007-12-27 | Nikon Corporation | 画像処理方法、画像処理装置、及び画像処理プログラム |
US20080018788A1 (en) * | 2006-07-20 | 2008-01-24 | Samsung Electronics Co., Ltd. | Methods and systems of deinterlacing using super resolution technology |
WO2008088741A2 (en) | 2007-01-12 | 2008-07-24 | Ictv, Inc. | Interactive encoded content system including object models for viewing on a remote device |
US9826197B2 (en) | 2007-01-12 | 2017-11-21 | Activevideo Networks, Inc. | Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device |
US8488676B2 (en) * | 2007-05-14 | 2013-07-16 | Himax Technologies Limited | Motion estimation method |
US8600189B2 (en) * | 2007-11-12 | 2013-12-03 | Qualcomm Incorporated | Block-based image stabilization |
KR101540138B1 (ko) * | 2007-12-20 | 2015-07-28 | 퀄컴 인코포레이티드 | 적응적 조사영역을 갖는 모션추정 장치 및 방법 |
WO2009085205A1 (en) * | 2007-12-20 | 2009-07-09 | Integrated Device Technology, Inc. | Image interpolation with halo reduction |
US20090207915A1 (en) * | 2008-02-15 | 2009-08-20 | Freescale Semiconductor, Inc. | Scalable motion search ranges in multiple resolution motion estimation for video compression |
US20110135005A1 (en) | 2008-07-20 | 2011-06-09 | Dolby Laboratories Licensing Corporation | Encoder Optimization of Stereoscopic Video Delivery Systems |
US9654792B2 (en) | 2009-07-03 | 2017-05-16 | Intel Corporation | Methods and systems for motion vector derivation at a video decoder |
US8194862B2 (en) | 2009-07-31 | 2012-06-05 | Activevideo Networks, Inc. | Video game system with mixing of independent pre-encoded digital audio bitstreams |
US20110249889A1 (en) * | 2010-04-08 | 2011-10-13 | Sreenivas Kothandaraman | Stereoscopic image pair alignment apparatus, systems and methods |
US8537283B2 (en) | 2010-04-15 | 2013-09-17 | Qualcomm Incorporated | High definition frame rate conversion |
AU2011315950B2 (en) | 2010-10-14 | 2015-09-03 | Activevideo Networks, Inc. | Streaming digital video between video devices using a cable television system |
EP2695388B1 (en) | 2011-04-07 | 2017-06-07 | ActiveVideo Networks, Inc. | Reduction of latency in video distribution networks using adaptive bit rates |
WO2013030435A1 (en) * | 2011-08-29 | 2013-03-07 | Nokia Corporation | Method and apparatus for feature computation and object detection utilizing temporal redundancy between video frames |
US10409445B2 (en) | 2012-01-09 | 2019-09-10 | Activevideo Networks, Inc. | Rendering of an interactive lean-backward user interface on a television |
US9800945B2 (en) | 2012-04-03 | 2017-10-24 | Activevideo Networks, Inc. | Class-based intelligent multiplexing over unmanaged networks |
US9123084B2 (en) | 2012-04-12 | 2015-09-01 | Activevideo Networks, Inc. | Graphical application integration with MPEG objects |
KR101932916B1 (ko) | 2012-06-28 | 2018-12-27 | 삼성전자 주식회사 | 모션 추정 시스템 및 그 방법, 디스플레이 컨트롤러, 및 전자 장치 |
US10275128B2 (en) | 2013-03-15 | 2019-04-30 | Activevideo Networks, Inc. | Multiple-mode system and method for providing user selectable video content |
WO2014146983A2 (en) * | 2013-03-18 | 2014-09-25 | Fotonation Limited | A method and apparatus for motion estimation |
EP3005712A1 (en) | 2013-06-06 | 2016-04-13 | ActiveVideo Networks, Inc. | Overlay rendering of user interface onto source video |
US9219922B2 (en) | 2013-06-06 | 2015-12-22 | Activevideo Networks, Inc. | System and method for exploiting scene graph information in construction of an encoded video sequence |
US9294785B2 (en) | 2013-06-06 | 2016-03-22 | Activevideo Networks, Inc. | System and method for exploiting scene graph information in construction of an encoded video sequence |
US9788029B2 (en) | 2014-04-25 | 2017-10-10 | Activevideo Networks, Inc. | Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks |
WO2017054941A1 (en) | 2015-09-30 | 2017-04-06 | Fotonation Limited | A method and system for tracking an object |
US9756248B1 (en) | 2016-03-02 | 2017-09-05 | Conduent Business Services, Llc | Methods and systems for camera drift correction |
US20170332094A1 (en) * | 2016-05-16 | 2017-11-16 | Google Inc. | Super-wide area motion estimation for video coding |
US10511846B1 (en) | 2016-09-01 | 2019-12-17 | Google Llc | Real-time adaptive video denoiser with moving object detection |
US10097757B1 (en) | 2017-03-24 | 2018-10-09 | Fotonation Limited | Method for determining bias in an inertial measurement unit of an image acquisition device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5710603A (en) * | 1992-10-07 | 1998-01-20 | Daewoo Electronics Co., Ltd. | Method for detecting motion vectors |
US5715017A (en) * | 1995-07-07 | 1998-02-03 | Nec Corporation | Motion estimating system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0123077B1 (ko) * | 1992-10-07 | 1997-11-17 | 배순훈 | 국부 최소치를 이용한 이동량 측정 방법 및 장치 |
JP3277418B2 (ja) * | 1993-09-09 | 2002-04-22 | ソニー株式会社 | 動きベクトル検出装置および方法 |
DE4342305A1 (de) * | 1993-12-11 | 1995-06-29 | Thomson Brandt Gmbh | Verfahren zur hierarchischen Bewegungsschätzung in einem Fernsehsignal |
US5706059A (en) * | 1994-11-30 | 1998-01-06 | National Semiconductor Corp. | Motion estimation using a hierarchical search |
JPH08223578A (ja) * | 1995-02-13 | 1996-08-30 | Nippon Telegr & Teleph Corp <Ntt> | 動きベクトル探索方法および装置 |
US5699129A (en) * | 1995-10-17 | 1997-12-16 | Zapex Technologies, Inc. | Method and apparatus for motion vector determination range expansion |
JPH09224249A (ja) * | 1996-02-15 | 1997-08-26 | Nippon Hoso Kyokai <Nhk> | 動きベクトル検出装置 |
US5719642A (en) * | 1996-05-07 | 1998-02-17 | National Science Council Of R.O.C. | Full-search block matching motion estimation processor |
US5721595A (en) * | 1996-06-19 | 1998-02-24 | United Microelectronics Corporation | Motion estimation block matching process and apparatus for video image processing |
JPH10191347A (ja) * | 1996-12-27 | 1998-07-21 | Casio Comput Co Ltd | 動き検出装置、動き検出方法、及び、記憶媒体 |
-
1998
- 1998-06-09 US US09/093,307 patent/US6130912A/en not_active Expired - Lifetime
-
1999
- 1999-06-02 WO PCT/US1999/012083 patent/WO1999065232A1/en active IP Right Grant
- 1999-06-02 JP JP2000554131A patent/JP4528441B2/ja not_active Expired - Fee Related
- 1999-06-02 EP EP99926091A patent/EP1086580B1/en not_active Expired - Lifetime
- 1999-06-02 AT AT99926091T patent/ATE537660T1/de active
- 1999-06-02 KR KR1020007013875A patent/KR100659704B1/ko not_active IP Right Cessation
- 1999-06-02 AU AU42251/99A patent/AU4225199A/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5710603A (en) * | 1992-10-07 | 1998-01-20 | Daewoo Electronics Co., Ltd. | Method for detecting motion vectors |
US5715017A (en) * | 1995-07-07 | 1998-02-03 | Nec Corporation | Motion estimating system |
Also Published As
Publication number | Publication date |
---|---|
KR20010052644A (ko) | 2001-06-25 |
EP1086580B1 (en) | 2011-12-14 |
AU4225199A (en) | 1999-12-30 |
JP2002518897A (ja) | 2002-06-25 |
WO1999065232A1 (en) | 1999-12-16 |
US6130912A (en) | 2000-10-10 |
ATE537660T1 (de) | 2011-12-15 |
EP1086580A4 (en) | 2008-10-22 |
EP1086580A1 (en) | 2001-03-28 |
JP4528441B2 (ja) | 2010-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100659704B1 (ko) | 비디오 이미지 데이터의 제 1 및 제 2 프레임 사이의 움직임 벡터를 얻기 위한 방법, 장치, 및 시스템, 및 컴퓨터-판독가능 매체 | |
US6671319B1 (en) | Methods and apparatus for motion estimation using neighboring macroblocks | |
US6483876B1 (en) | Methods and apparatus for reduction of prediction modes in motion estimation | |
KR100648596B1 (ko) | 움직임 벡터를 획득하기 위한 방법 및 움직임 추정 시스템과, 컴퓨터-판독가능 매체와, 디지털 비디오 데이터 프레임을 변환하기 위한 방법 및 시스템 | |
US7362808B2 (en) | Device for and method of estimating motion in video encoder | |
US6690728B1 (en) | Methods and apparatus for motion estimation in compressed domain | |
EP0652678B1 (en) | Method, apparatus and circuit for improving motion compensation in digital video coding | |
KR950009699B1 (ko) | 움직임벡터 검출방법 및 장치 | |
US6081209A (en) | Search system for use in compression | |
JP4444252B2 (ja) | 広域−局所ブロック動き推定用の方法及び装置 | |
JP3655651B2 (ja) | データ処理装置 | |
US6430223B1 (en) | Motion prediction apparatus and method | |
KR20010071705A (ko) | 디지털 비디오를 위한 이동 추정 방법 및 장치 | |
JPH09179987A (ja) | 動きベクトル検出方法及び動きベクトル検出装置 | |
WO2002071741A2 (en) | A device and method for performing half-pixel accuracy fast search in video coding | |
US20050123039A1 (en) | Motion estimation method for motion picture encoding and recording medium having program recorded thereon to implement the motion estimation method | |
EP1472881B1 (en) | Unit for and method of estimating a current motion vector | |
EP1420595B1 (en) | Motion vector selection in a video motion estimator based on a preferred reference point | |
KR20000018311A (ko) | 영상 시스템의 움직임 추정방법 및 장치 |
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: 20121127 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20131126 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20141125 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |