KR20050084442A - 세그먼트 기반 움직임 추정 - Google Patents
세그먼트 기반 움직임 추정 Download PDFInfo
- Publication number
- KR20050084442A KR20050084442A KR1020057011568A KR20057011568A KR20050084442A KR 20050084442 A KR20050084442 A KR 20050084442A KR 1020057011568 A KR1020057011568 A KR 1020057011568A KR 20057011568 A KR20057011568 A KR 20057011568A KR 20050084442 A KR20050084442 A KR 20050084442A
- Authority
- KR
- South Korea
- Prior art keywords
- motion vectors
- segments
- image
- blocks
- segment
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- 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/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
세그먼트된 이미지(100)의 각각의 세그먼트들(S11-S14)에 대하여 움직임 벡터들을 결정하기 위한 방법은, 각각의 세그먼트들(S11-S14)에 대한 후보 움직임 벡터들의 세트들을 생성하는 단계; 세그먼트된 이미지(100)를 픽셀들의 블럭들(b11-b88)의 그리드로 분할하는 단계; 세그먼트된 이미지(100) 내의 세그먼트들 (S11-S14)과 블럭들(b11-b88)의 위치들에 기초하여, 후보 움직임 벡터들 중 어느 것이 블럭들(b11-b88)에 속하는 지를 픽셀들의 블럭들(b11-b88)에 대해 결정하는 단계; 결정된 후보 움직임 벡터들과 다른 이미지(102)의 픽셀값들에 기초하여 블럭들(b11-b88)에 대한 부분적인 매칭 에러들을 계산하는 단계; 부분적인 매칭 에러들을 세그먼트 당 다수의 매칭 에러들로 조합하는 단계; 매칭 에러들에 기초하여 각각의 후보 움직임 벡터들을 후보 움직임 벡터들의 세트들의 각각에 대해 선택하는 단계; 및 선택된 후보 움직임 벡터들을 각각의 세그먼트들(S11-S14)에 대한 움직임 벡터들로서 할당하는 단계를 포함한다.
Description
본 발명은 세그먼트된 이미지의 각각의 세그먼트들에 대한 움직임 벡터를 결정하기 위한 세그먼트 기반 움직임 추정 방법에 관한 것이다.
본 발명은 또한 세그먼트된 이미지의 각각의 세그먼트들에 대한 움직임 벡터들을 추정하는 움직임 추정 유닛에 관한 것이다.
본 발명은 또한,
-입력 이미지를 세그먼트된 이미지로 세그먼트하는 세그먼테이션 유닛과;
-세그먼트된 이미지의 각각의 세그먼트들에 대하여 움직임 벡터들을 추정하는 이러한 움직임 추정 유닛을 포함하는 이미지 처리 장치에 관한 것이다.
세그먼트 기반 움직임 추정은, 예를 들어, 2D에서 3D로의 콘텐트 변환, 비디오 코딩, 스캔 비율 변환, 보안 목적들을 위한 개체들의 트래킹 및 화상 품질 개선의 다수의 비디오 처리 알고리즘들에 있어서 중요한 처리 단계이다. 반면에, 현재의 움직임 추정 알고리즘들은 대부분 블럭 기반이므로, 세그먼트 기반 움직임 추정은 움직임 벡터들이 픽셀 단위의 정확성으로 계산될 수 있기 때문에 보다 높은 정확성에 대하여 잠재성을 갖는다. 주어진 이미지의 세그먼테이션, 예를 들어, 비디오 프레임에 대하여, 세그먼트 기반 움직임 추정의 대략(sketch)은 다음과 같다: 각 세그먼트에 대한 후보 움직임 벡터들을 선택하고, 각각의 매칭 에러들을 계산하는 것에 의해 세그먼트 당 후보 움직임 벡터들의 각각을 평가하고, 평가에 기초하여 세그먼트 당 최적 매칭 후보 움직임 벡터들을 선택한다.
세그먼트들이 임의의 형태과 크기일 수 있으므로, 이 알고리즘의 직접적인 구현은 메모리 대역폭의 비효율적인 사용을 초래할 것이다. 일반적으로, 고려되는 세그먼트의 경계 박스의 픽셀값들이 메모리로부터 액세스된다. 이는 경계 박스 내의 모든 픽셀들이 고려되는 세그먼트의 부분이 아니기 때문에 메모리 대역폭의 비효율적인 사용을 가져온다.
도 1은 두개의 연속적인 세그먼트된 이미지들을 개략적으로 도시하는 도면.
도 2는 도 1을 상세히 도시하는 도면.
도 3은 본 발명에 따른 움직임 추정 유닛의 실시예를 개략적으로 도시하는 도면.
도 4는 도 1의 세그먼트된 이미지들 중 하나와 그 세그먼트된 이미지를 형성하는 4개의 서브 이미지들을 개략적으로 도시하는 도면.
도 5는 본 발명에 따른 이미지 처리 장치를 개략적으로 도시하는 도면.
본 발명의 목적은 상대적으로 효율적인 메모리 대역폭 사용에 기초하는, 시작 문단에서 설명된 종류의 방법을 제공하는 것이다.
본 발명의 이러한 목적은 본 방법이,
-각각의 세그먼트들에 대한 후보 움직임 벡터들의 세트들을 생성하는 단계;
-세그먼트된 이미지를 픽셀들의 블럭들의 그리드로 분할하는 단계;
-세그먼트된 이미지 내의 세그먼트들과 블럭들의 위치들에 기초하여, 후보 움직임 벡터들 중 어느 것이 블럭들에 속하는 지를 픽셀들의 블럭들에 대해 결정하는 단계;
-결정된 후보 움직임 벡터들과 다른 이미지의 픽셀값들에 기초하여 블럭들에 대한 부분적인 매칭 에러들을 계산하는 단계;
-부분적인 매칭 에러들을 세그먼트 당 다수의 매칭 에러들로 조합하는 단계;
-매칭 에러들에 기초하여 각각의 후보 움직임 벡터들을 후보 움직임 벡터들의 세트들의 각각에 대해 선택하는 단계; 및
-선택된 후보 움직임 벡터들을 각각의 세그먼트들에 대한 움직임 벡터들로서 할당하는 단계를 포함하는 것으로 이루어진다.
본 발명의 중요한 양상은 세그먼트된 이미지 상의 블럭들의 그리드의 겹침과 블럭 당 효율적인 움직임 추정을 행하는 것이다. 블럭 당 움직임 추정들이 수행된 후에, 세그먼트 당 결과들이 블럭 당 결과들의 누적에 의해 계산된다. 따라서, 부분적인 매칭 에러들의 메모리 액세스 및 계산은 블럭 기반이다. 이들 특징들은 세그먼트 기반 움직임 추정 알고리즘의 쉬운 구현을 가능하게 한다. 본 발명에 따른 방법의 다른 장점은, 세그먼트된 이미지가 몇 개의 블럭들의 그룹들로 분할될 수 있기 때문에, 다양한 그룹들의 블럭들을 병렬로 처리하여, 대용량의 병렬성(parallelism)이 달성될 수 있다. 는 것이 가능하다는 것이다. 이러한 특징은 방법에 대하여 많은 병렬 해법들(VLIW들, ASIC들)을 인도할(steer) 수 있다.
본 발명에 따른 방법의 실시예는 또한 다음,
-세그먼트된 이미지 내의 세그먼트들과 블럭들의 위치들에 기초하여 블럭들의 부분의 각 블럭을 각각의 픽셀들의 그룹들로 분할하는 단계로서, 블럭들의 부분의 각 블럭은 많은 세그먼트들과 오버랩하는, 상기 분할 단계;
-세그먼트된 이미지 내의 세그먼트들과 픽셀들의 그룹들의 위치들에 기초하여, 후보 움직임 벡터들 중 어느 것이 픽셀들의 그룹들에 속하는 지를 픽셀들의 그룹들에 대해 결정하는 단계;
-결정된 후보 움직임 벡터들과 다른 이미지의 픽셀값들에 기초하여 픽셀들의 그룹들에 대한 다른 부분적인 매칭 에러들을 계산하는 단계; 및
-부분적인 매칭 에러들 및 다른 부분적인 매칭 에러들을 세그먼트 당 다수의 매칭 에러들로 조합하는 단계를 더 포함한다.
블럭이 많은 세그먼트들과 오버랩되면, 이후 블럭은 다수의 픽셀들의 그룹들로 분할되고, 그룹들의 수는 블럭이 오버랩하는 세그먼트들의 수와 동일해진다. 블럭의 그룹들의 각각에 대하여 부분적인 매칭 에러가 계산된다. 이는 예를 들어, 블럭이 4개의 세그먼트들과 오버랩하면, 이후 픽셀들의 4개의 그룹들이 성립된다는 것을 의미한다. 4개의 그룹들의 각각에 대하여 대응하는 후보 움직임 벡터들이 평가된다. 그래서, 4개의 부분적인 매칭 에러들이 그 블럭에 대하여 계산된다. 결국, 이들 4개의 부분적인 매칭 에러들은 각각의 세그먼트들에 속하는 부분적인 매칭 에러들에 누적된다. 본 발명에 따른 이 실시예의 장점은 평가 결과들의 정확성이다.
본 발명에 따른 방법의 다른 실시예에서, 후보 움직임 벡터들 중 어느 것이 블럭들에 속하는 지를 픽셀들의 블럭들에 대해 결정하는 단계는 세그먼트된 이미지 내의 세그먼트들과 블럭들 사이의 오버랩의 양에 기초한다. 본 발명에 따른 이러한 실시예에서, 블럭에 대한 평가된 후보 움직임 벡터들의 수는 오버랩하는 세그먼트들의 수에 선형적으로 관계있는 것이 아니다. 예를 들어, 블럭이 두개의 세그먼트들과 오버랩하고 이들 세그먼트들의 각각에 대하여 5개의 후보 움직임 벡터들이 있다고 가정하면, 10개의 후보 움직임 벡터들의 최대가 그 블럭에 대해 평가될 수 있다. 그러나, 세그먼트들의 중 하나와의 오버랩 양이 상대적으로 작으면, 예를 들어, 블럭의 픽셀들의 10%보다 작으면, 이후 그 세그먼트에 대한 후보 움직임 벡터들의 평가는 그 블럭에 대해 스킵될 수 있다. 이는 상대적으로 큰 양의 오버랩을 갖는 다른 세그먼트의 후보 움직임 벡터들, 본 예에서는 5개 만이 평가될 수 있다는 것을 의미한다. 이 평가에 대하여 2가지의 상이한 접근법들이 적용될 수 있다. 먼저, 후보 움직임 벡터들이 다른 세그먼트에 속하는 픽셀들을 포함하는 블럭의 모든 픽셀들에 대해 평가된다. 두번째로, 후보 움직임 벡터들이 다른 세그먼트에 속하는 픽셀들을 제외하는 블럭의 픽셀들에 의해 포함된 픽셀들의 그룹에 대해서만 평가된다. 본 발명에 따른 이러한 실시예의 장점은 계산들의 수가 위에서 설명된 바와 같이 다른 실시예와 비교하여 제한된다는 것이다.
본 발명에 따른 방법의 실시예에서, 부분적 매칭 에러들 중 제 1 에러는 세그먼트된 이미지의 픽셀값들과 다른 이미지의 다른 픽셀값들 사이의 차이들의 합에 대응한다. 바람직하게 부분적인 매칭 에러는 절대 차이의 합(SAD)에 대응한다. 픽셀값들은 휘도 값 또는 컬러 표현을 의미한다. 매칭 에러의 이러한 타입의 장점은 이것이 강하다는 것이며, 매칭 에러를 계산하는 계산들의 수가 상대적으로 작다.
바람직하게, 픽셀들의 블럭은 8*8 또는 16*16 픽셀들을 포함한다. 이러한 포맷은 자주 사용된 포맷이다. 장점은 기성(off-the-self) 하드웨어와의 호환성이다.
본 발명에 따른 방법의 실시예는 또한,
-세그먼트들 중 제 1 세그먼트에 할당되는 움직임 벡터들 중 제 1 벡터에 기초하여 그리고 다른 세그먼트된 이미지의 다른 세그먼트에 할당되는 특정 움직임 벡터에 기초하여, 마지막 움직임 벡터를 결정하는 단계로서, 세그먼트된 이미지 및 다른 세그먼트된 이미지는 모두 단일 확장된 이미지의 부분이고, 세그먼트들 중 제 1 세그먼트와 다른 세그먼트는 모두 세그먼트된 이미지와 다른 세그먼트된 이미지를 통해 확장하는 단일 세그먼트의 부분인, 상기 결정 단계와;
-마지막 움직임 벡터를 세그먼트들의 제 1 세그먼트에 할당하는 단계를 포함한다.
바꾸어 말하면, 본 발명의 따른 이러한 실시예는 다수의 서브 이미지들 즉, 확장된 이미지의 부분들의 결과들을 조합하기 위한 전처리의 종류를 수행한다. 여기서 보여지는 다른 방법은 서브 세그먼트들을 위한 중간 움직임 벡터들을 찾기 위하여 확장된 이미지가 다수의 블럭들의 줄무늬들(stripes) 또는 블럭들의 타일들(tiles)에서 처리되고, 결국 이러한 중간 움직임 벡터들이 확장된 이미지의 각각의 세그먼트들에 대한 적절한 움직임 벡터들을 결정하는데 사용된다는 것이다. 이러한 실시예의 장점은 메모리 대역폭 사용의 더욱 효율적인 증가이다.
바람직하게, 움직임 벡터들 중 제 1 벡터는 세그먼트들 중 제 1 세그먼트의 제 1 크기가 다른 세그먼트의 제 2 크기보다 크면 마지막 움직임 벡터로서 할당되고, 특정 움직임 벡터는 제 2 크기가 제 1 크기보다 크면 마지막 움직임 벡터로서 할당된다는 것이다. 대안적으로, 마지막 움직임 벡터는 두개의 움직임 벡터들, 즉 움직임 벡터들 중 제 1 움직임 벡터와 특정 움직임 벡터의 평균을 계산하는 것에 의해 결정된다. 바람직하게, 이는 제 1 및 제 2 크기에 기초하여 가중된 평균이다.
본 발명의 다른 목적은 상대적으로 효율적인 메모리 대역폭 사용에 기초하는 처음 문단에서 설명된 종류의 움직임 추정 유닛을 제공하는 것이다.
본 발명의 목적은 움직임 추정 유닛이,
-각각의 세그먼트들에 대한 후보 움직임 벡터들의 세트들을 생성하는 생성 수단;
-세그먼트된 이미지를 픽셀들의 블럭들의 그리드로 분할하는 분할 수단;
-세그먼트된 이미지 내의 세그먼트들과 블럭들의 위치들에 기초하여, 후보 움직임 벡터들 중 어느 것이 블럭들에 속하는 지를 픽셀들의 블럭들에 대해 결정하는 결정 수단;
-결정된 후보 움직임 벡터들과 다른 이미지의 픽셀값들에 기초하여 블럭들에 대한 부분적인 매칭 에러들을 계산하는 계산 수단;
-부분적인 매칭 에러들을 세그먼트 당 다수의 매칭 에러들로 조합하는 조합 수단;
-매칭 에러들에 기초하여 각각의 후보 움직임 벡터들을 후보 움직임 벡터들의 세트들의 각각에 대해 선택하는 선택 수단; 및
-선택된 후보 움직임 벡터들을 각각의 세그먼트들에 대한 움직임 벡터들로서 할당하는 할당 수단을 포함하는 것에 의해 이루어진다.
본 발명의 다른 목적은 상대적으로 효율적인 메모리 대역폭 사용에 기초하는 움직임 추정 유닛을 포함하는 처음 문단에서 설명된 종류의 이미지 처리 장치를 제공하는 것이다.
본 발명의 이러한 목적은 움직임 추정 유닛이 청구항 1항에 청구된 바와 같은 방법을 수행하도록 배열되는 것에 의해 이루어진다. 본 발명에 따른 이미지 처리 장치의 실시예는 움직임 벡터들에 기초하여 제어되는 처리 수단을 포함한다. 처리 수단은 하나 또는 그 이상의 다음과 같은 이미지 처리의 타입들을 공급할 수 있다:
-비디오 압축, 즉 예를 들어, MPEG 표준에 따른 인코딩 또는 디코딩.
-인터레이싱 해제(De-interacing) : 인터레이싱은 홀수 또는 짝수 넘버링된 이미지 라인들을 교번적으로 전송하기 위한 공통적인 비디오 방송 절차이다. 인터레이싱 해제는 전제적인 수직 해상도를 재저장하도록 시도한다. 즉, 각 이미지에 대하여 홀수 및 짝수 라인들이 동시에 사용가능하게 만든다.
-이미지 비율 변환 : 원 입력 이미지들의 시리즈로부터 출력 이미지들의 보다 큰 시리즈가 계산된다. 출력 이미지들은 원 입력 이미지들 사이에 일시적으로 위치된다.
-일시적인 소음 감소. 이는 또한 공간적-시간적 소음 감소를 야기하는 공간적인 처리를 포함할 수 있다.
이미지 처리 장치는 출력 이미지들을 디스플레이하기 위한 디스플레이 디바이스를 선택적으로 포함한다. 이미지 처리 장치는 예를 들면, TV, 셋탑 박스, VCR(비디오 카세트 레코더) 재생기, 위성 튜너, DVD(디지털 다용도 디스크) 재생기 또는 레코더일 수 있다.
본 방법의 변경들 및 변화들은 설명된 움직임 추정 유닛의 변경들 및 변화들에 대응할 것이다.
본 발명에 대응하는 본 방법의, 움직임 추정 유닛들의, 이미지 처리 장치의 이러한 및 다른 양상들은 첨부한 도면들을 참조하여 이하로 설명된 구현들 및 실시예들로부터 명백해질 것이며 명료해질 것이다.
동일한 참조 번호들은 도면들에 걸쳐 유사한 부분들을 나타내는데 사용된다.
도 1은 두개의 연속적인 세그먼트된 이미지들(100 및 102)을 개략적으로 도시한다. 제 1 이미지(100)는 4개이 세그먼트들(S11, S12, S13 및 S14)을 포함한다. 제 2 이미지(102)는 또한 4개이 세그먼트들(S21, S22, S23 및 S24)을 포함한다. 제 1 이미지(100)의 세그먼트(S11)는 제 2 이미지(102)의 세그먼트(S21)에 대응한다. 제 1 이미지(100)의 세그먼트(S12)는 제 2 이미지(102)의 세그먼트(S22)에 대응한다. 제 1 이미지(100)의 세그먼트(S13)는 제 2 이미지(102)의 세그먼트(S23)에 대응한다. 제 1 이미지(100)의 세그먼트(S14)는 제 2 이미지(102)의 세그먼트(S24)에 대응한다. 움직임, 예를 들어, 이미지가 되는 장면에서 개체들에 대한 카메라의 움직임 때문에, 다양한 세그먼트들이 이미지 좌표 시스템에 대하여 쉬프트된다. 이러한 쉬프트들은 움직임 추정에 의해 추정될 수 있다. 이는 세그먼트들(S11,S12,S13 및 S14)과 세그먼트들(S21,S22,S23 및 S24)사이에서의 각각의 관계들을 나타내는 움직임 벡터들(MV(1),MV(2),MV(3), 및 MV(4))이 추정된다는 것을 의미한다. 움직임 추정은 세그먼트들(CMV(s,c))의 각각에 대한 후보 움직임 벡터들의 평가에 기초하며, 여기서 s는 세그먼트들을 나타내고 c는 세그먼트 당 후보들을 나타낸다. 세그먼트들의 후보 움직임 벡터들(CMV(s,c))의 각각에 대하여, 매칭 에러(ME(s,c))가 계산된다. 세그먼트 당 후보 움직임 벡터가 가장 낮은 매칭 에러로 선택된다. 이러한 선택된 후보 움직임 벡터는 대응하는 세그먼트에 대하여 움직임 벡터(MV(s))로서 할당된다.
본 발명에 따른 매칭 에러들(ME(s,c))의 계산은 다수의 부분적인 매칭 에러들(ME(s,c,b))의 계산에 기초한다. 세그먼트된 이미지는 상호 동일한 크기들을 갖는 다수의 블럭들로 분할된다. 이러한 블럭들의 각각에 대하여 이미지의 세그먼트들 중 어떤 것이 오버랩되는지가 체크된다. 오버랩에 기초하여, 적절한 후보 움직임 벡터들이 선택된다. 후보 움직임 벡터들 및 블럭들의 좌표들에 기초하여 제 2 이미지(102)의 대응하는 픽셀값들이 블럭의 픽셀값과 비교되어 액세스된다. 블럭 당 이러한 방법에서, 예를 들면, 로우 스캐닝 스킴 또는 컬럼 스캐닝 스킴에서, 부분적인 매칭 에러들(ME(s,c,b))이 계산된다. 선택적으로, 많은 부분적인 매칭 에러들(ME(s,c,b))을 동시에 계산하는데 수평 처리가 응용될 수 있다. 부분적인 매칭 에러들(ME(s,c,b))은 식 1에 규정된 바와 같이 세그먼트 당 누적된다:
(1)
블럭들의 일부는 세그먼트들 중 하나에 의해 완전하게 포함되고, 예를 들면, 블럭들(b11,b12,b13,b21,b22,b23,b31,b32,b33 및 b41)이 세그먼트(S11)에 의해 포함된다. 이러한 경우에 이러한 블럭들의 부분적인 매칭 에러들(ME(s,c,b))이 세그먼트(S11)로 기여한다는 것이 명백해질 것이다. 그러나, 많은 세그먼트들에 대응하는 블럭들이 또한 존재한다. 예를 들어, 블럭(b14)은 내부 세그먼트(S11)에 부분적으로 위치하고 내부 세그먼트(S12)에 부분적으로 위치한다. 이들은 이러한 타입의 블럭들을 처리하기 위한 다수의 접근법들이다. 이러한 접근법들은 이하로 예들로 설명될 것이다.
제 1 접근법은 많은 세그먼트들과 오버랩하는 블럭들의 각각을 다수의 픽셀들의 그룹으로 분할하는 것에 기초한다. 도 2는 도 1을 상세히 개략적으로 도시한다. 특히, 블럭(b24)이 설명된다. 이러한 블럭(b24)이 세그먼트(S11)에 대응하는 픽셀들의 제 1 그룹(202)과 세그먼트(S12)에 대응하는 픽셀들의 제 2 그룹(204)을 포함한다는 것이 도시된다. 픽셀들의 제 1 그룹(202)에 대하여 세그먼트(S11)의 후보 움직임들 벡터들이 평가되어야 하며 픽셀들의 제 2 그룹(204)에 대하여 세그먼트(S12)의 후보 움직임들 벡터들이 평가되어야 한다. 세그먼트(S11)의 후보 움직임 벡터들의 일부는 세그먼트(S12)의 후보 움직임 벡터들의 일부와 동등해질 수 있다는 것이 주의된다. 그러나, 후보 움직임 벡터들의 세트들의 사이에 차이들이 또한 존재할 확률이 높다. 따라서, 픽셀들의 제 1 그룹(202)에 대하여 다수의 부분적인 매칭 에러들(ME(S11,c,b24(1)))이 계산되고 픽셀들의 제 2 그룹(204)에 대하여 다수의 부분적인 매칭 에러들(ME(S12,c,b24(2)))이 계산된다. 이러한 경우에 블럭(b24)의 픽셀들의 제 1 그룹(202)은 b24(1)로 나타내고 블럭(b24)의 픽셀들의 제 1 그룹(204)은 b24(2)로 나타낸다. 세그먼트(S11)의 다양한 후보 움직임 벡터들의 매칭 에러들이 세그먼트(S11)에 의해 부분적으로 또는 완전하게 포함되는 부분적인 매칭 에러들의 누적에 의해 계산된다.
ME(S11,c)=
ME(S11,c,b11)+ME(S11,c,b12)+ME(S11,c,b13)+ME(S11,c,b14(1))+
ME(S11,c,b21)+ME(S11,c,b22)+ME(S11,c,b23)+ME(S11,c,b24(1))+
ME(S11,c,b31)+ME(S11,c,b32)+ME(S11,c,b33)+ME(S11,c,b34(1))+ (2)
ME(S11,c,b41)+ME(S11,c,b42)+ME(S11,c,b43)+ME(S11,c,b44(1))+
ME(S11,c,b51(1))+ME(S11,c,b52(1))
부분적인 매칭 에러들의 누적 후에, 후보 움직임 벡터들의 각각에 대하여 대응 매칭 에러가 알려진다. 가장 낮은 매칭 에러를 갖는 후보 움직임 벡터(ME(S11,c))가 세그먼트(S11)에 대한 움직임 벡터(ME(S11))로 선택된다.
제 2 접근법은 또한 다수의 세그먼트들과 오버랩하는 각각의 블럭들을 다수의 픽셀들의 그룹들로 분할하는 것에 기초한다. 그러나, 그룹의 픽셀들의 수가 미리 결정된 임계 이하이면, 어떤 부분적인 움직임 벡터도 그 픽셀들의 그룹에 대하여 계산되지 않는다. 임계는 예를 들어, 블럭의 픽셀들의 수의 1/2 또는 1/4이다. 예를 들어, 도 1에 도시된 예에서, 그것은 세그먼트 S1의 후보 움직임 벡터들의 매칭 에러의 계산을 위하여, 임계가 블럭의 픽셀들의 수의 1/4과 동일하면, 블럭들(b44 및 b52)의 기여들이 없다는 것을 의미한다. 미리 결정된 임계보다 더 많은 픽셀들을 포함하는 픽셀들의 그룹들에 대하여, 부분적인 움직임 벡터들은 위에 기술된 바와 같이 계산되고 누적된다.
제 3 접근법에서, 후보 움직임 벡터들 중 어떤 것이 블럭들에 속하는 지를 결정하는 단계는 세그먼트된 이미지 내의 세그먼트들과 블럭들 사이의 오버랩 양에 기초한다. 이는 특별한 블럭이 많은 세그먼트들에 의해 오버랩되면 특별한 매칭 에러들이 그 특별한 블럭의 모든 픽셀들과 특별한 블럭과 가장 크게 오버랩되는 세그먼트의 후보 움직임 벡터들에 기초하여 계산된다는 것을 의미한다. 예를 들어, 도 1에 도시된 예에서는 세그먼트(S1)의 후보 움직임 벡터들의 매칭 에러들의 계산에 대하여 다음 블럭들(b14,b24 및 b34)이 전체적으로 세그먼트들(S1)로 기여한다는 것을 의미한다. 선택적으로, 가장 큰 오버랩이 미리정해진 임계치보다 큰 지가 테스트된다. 이는 특히 블럭이 두개의 세그먼트들 보다 많이 오버랩되는 경우에 관련있다. 가장 큰 오버랩이 미리정해진 임계치보다 작으면 그 블럭에 대해 부분적 매칭 에러들이 계산되지 않는다.
제 4 접근법에서, 부분적인 매칭 에러들이 많은 세그먼트들과 오버랩하는 이러한 블럭들에 대하여 전혀 계산되지 않는다. 다시 말하면, 이러한 블럭들로부터 후보 움직임 벡터 평가에 대한 기여들이 전혀 없다. 예를 들어, 도 1에 도시된 바와 같은 예에서 세그먼트(S1)의 후보 움직임 벡터들의 매칭 에러들의 계산에 대하여 단지 다음 블럭들(b11,b12,b13,b21,b22,b23,b31,b32,b33 및 b41)만이 기여한다는 것을 의미한다.
도 1은 두개의 세그먼트된 이미지들(100 및 102)을 도시하지만, 사실 하나의 세그먼테이션만이 필요하다는 것이 인지되어야 한다. 이는 다른 이미지가 세그먼트되지 않아야 한다는 것을 의미한다. 이는 본 발명에 따른 방법의 장점이다. 실질적인 계산들이 블럭 기반이기 때문에 그룹들로의 블럭들의 선택적인 분할은 하나의 세그먼트된 이미지의 세그먼트들에만 기초한다.
도 3은 본 발명에 따른 움직임 추정 유닛(300)의 실시예를 개략적으로 도시한다. 움직임 추정 유닛(300)에 이미지들이 제공되는데, 즉 입력 연결기(316)에 픽셀값들이 제공되며, 입력 연결기(318)에 세그먼테이션 데이터, 예를 들어, 이미지 당 마스크 또는 이미지 당 세그먼트들을 포함하는 칸토어들의 묘사가 제공된다. 움직임 추정 유닛(300)은 출력 연결기(320)에서 세그먼트 당 움직임 벡터를 제공한다. 움직임 추정 유닛(300)은 도 1과 연관하여 설명되는 바와 같은 움직임 벡터들을 추정하도록 배열된다. 움직임 추정 유닛(300)은 다음,
-세그먼트된 이미지의 각각의 세그먼트들에 대한 후보 움직임 벡터들의 세트들을 생성하는 생성 유닛(314);
-세그먼트된 이미지를 픽셀들의 블럭들의 그리드로 분할하는 분할 유닛(304). 분할 유닛(304)은 메모리 디바이스(302)로부터 고려되는 픽셀들의 블럭에 속하는 것으로 이러한 픽셀값들을 액세스하도록 배열된다. 대안적으로, 분할 유닛(304)은 좌표들을 결정하도록 배열되고, 좌표들에 기초하여 픽셀값들의 액세스를 움직임 추정 유닛(300)의 다른 유닛들로 보낸다. 메모리 디바이스(302)는 움직임 추정 유닛(300)의 부분이 될 수 있지만, 또한 이미지 처리 장치의 다른 유닛들 또는 모듈들, 예를 들어, 움직임 추정 유닛(300)에 의해 제어되는 세그먼테이션 유닛(502) 또는 이미지 처리 유닛(504)과 공유될 수 있다;
-세그먼트된 이미지 내의 세그먼트들과 블럭들의 위치들에 기초하여, 후보 움직임 벡터들 중 어느 것이 블럭들에 속하는 지를 픽셀들의 블럭들에 대해 결정하는 결정 유닛(306);
-결정된 후보 움직임 벡터들과 다른 이미지의 픽셀값들에 기초하여 블럭들에 대한 부분적인 매칭 에러들을 계산하는 계산 유닛(308);
-부분적인 매칭 에러들을 세그먼트 당 다수의 매칭 에러들로 조합하는 조합 유닛(310); 및
-매칭 에러들에 기초하여 각각의 후보 움직임 벡터들을 후보 움직임 벡터들의 세트들의 각각에 대해 선택하고 선택된 후보 움직임 벡터들을 각각의 세그먼트들에 대한 움직임 벡터들로서 할당하는 선택 유닛(312)을 포함한다.
움직임 추정 유닛(300)의 작동은 다음과 같다. 또한 도 1을 참조한다. 이미지(100)는 4개의 세그먼트들(S11-S14)로 세그먼트되고 세그먼트들의 각각에 대해 최초로 단지 하나의 후보 움직임 벡터가 있다고 가정된다. 이러한 후보 움직임 벡터들(CMV(*,*))은 생성 유닛(314)에 의해 생성되고 결정 유닛(306)으로 제공된다.
분할 유닛(304)은 메모리 디바이스에 액세스하도록 배열되어 이미지(100)의 픽셀값들이 좌측 상부에서 우측 하부로, 즉 블럭(b11)에서 블럭(b88)으로 스캐닝 스킴으로 블럭마다 액세스된다. 분할 유닛(304)은 각 블럭 예를 들어, b11에 대하여 대응하는 (x,y) 좌표들을 결정 유닛(306)으로 제공한다. 결정 유닛(306)은 좌표들과 세그먼트들의 위치들에 기초하여 후보 움직임 벡터들 중 어느 것이 블럭들에 속하는 지를 픽셀들의 블럭들의 각각에 대하여 결정하도록 배열된다.
제 1 블럭(b11)은 제 1 세그먼트(S11)에 의해 완전히 오버랩된다. 그래서, 세그먼트(S1)의 후보 움직임 벡터(CMV(S11,C1))만이 계산 유닛(308)으로 제공된다. 후보 움직임 벡터(CMV(S11,C1))와 블럭(b11)의 좌표들에 기초하여 계산 유닛이 다른 이미지(102)의 픽셀값들을 액세스하도록 배열된다. 이어서 블럭에 대한 부분적인 매칭 에러(ME(S11,C1,b11))가 계산되고 조합 유닛(310)으로 제공된다. 블럭들(b12 및 b13)에 대하여 부분적인 매칭 에러들(ME(S11,C1,b12) 및 ME(S11,C1,b13))을 각각 야기하는 유사한 처리 단계들이 수행된다.
제 4 블럭(b14)은 제 1 세그먼트(S11)에 의해 부분적으로 오버랩되고 제 2 세그먼트(S12)에 의해 부분적으로 오버랩된다. 따라서, 두개의 후보 움직임 (CMV(S11,C1) 및 CMV(S12,C1))이 계산 유닛(308)으로 제공된다. 계산 유닛(308)은,
-후보 움직임 벡터들(CMV(S11,C1) 및 CMV(S12,C1));
-세그먼테이션 데이터;
-블럭(b11)의 좌표들에 기초하여 다른 이미지(102)의 픽셀값들을 액세스하도록 배열된다. 그 후에 블럭(b14)의 픽셀들의 두개의 그룹들(b14(1) 및 b14(2))에 대한 두개의 부분적인 매칭 에러들(ME(S11,C1,b14(1)) 및 ME(S12,C1,b14(2)))이 계산되고 조합 유닛(310)으로 제공된다.
상술된 처리 단계들은 모든 블럭들에 대하여 유사한 방법으로 수행된다. 모든 부분적인 매칭 에러들이 계산된 후에, 세그먼트 당 매칭 에러들이 수립될 수 있다. 부분적인 매칭 에러들의 계산 및 누적이 함께 수행될 수 있다는 것이 명백할 것이다.
이후 세그먼트들의 각각에 대하여 새로운 후보 움직임 벡터가 생성된다. 바람직하게, 이러한 새로운 후보 움직임 벡터들은 다른 세그먼트들의 후보들의 세트들로부터 파생된다. 이러한 새로운 후보들에 대하여 또한 대응하는 매칭 에러들이 계산된다. 후보 움직임 벡터들의 이러한 매칭 에러들이 계산된 후, 선택 유닛(312)이 세그먼트 당 가장 낮은 매칭 에러를 갖는 후보 움직임 벡터를 선택한다.
위에서 후보 움직임 벡터들의 생성 및 평가는 교번적으로 수행된다는 것이 설명되었다. 대안적으로, 생성 및 평가는 연속적으로 수행되고, 즉, 제 1 의 모든 후보 움직임 벡터들이 생성되고 이후 평가된다. 대안적으로, 후보 움직임 벡터들의 제 1 부분이 생성되고 평가되고, 이후 후보 움직임 벡터들의 제 2 부분이 생성되고 평가된다.
위에서 특별한 블럭에 대하여 단지 오버랩하는 세그먼트 당 하나의 후보 움직임 벡터가 평가된다는 것이 설명되었다. 이후 다음 블럭이 처리된다. 대안적으로, 특별한 블럭에 대한 모든 사용가능한 후보 움직임 벡터들이 평가되고 연속적으로 다음 블럭에 대한 모든 사용가능한 후보 움직임 벡터들이 평가된다.
생성 유닛(314), 분할 유닛(304), 결정 유닛(306), 계산 유닛(308), 조합 유닛(310) 및 선택 유닛(312)이 하나의 프로세서를 사용하여 수행될 수 있다. 보통, 이러한 기능들은 소프트웨어 프로그램 제품의 제어 하에서 수행된다. 실행동안, 보통 소프트웨어 프로그램 제품이 RAM과 같은 메모리로 로드되고 그로부터 실행된다. 프로그램은 ROM, 하드 디스크, 또는 자기적으로 및/또는 광학적인 저장 장치와 같은 백그라운드 메모리로부터 로드될 수 있으며, 또는 인터넷과 같은 네트워크를 통해 로드될 수 있다. 선택적으로 어플리케이션 규정된 집적 회로가 논의된 기능성을 제공한다.
위에서 처리가 스캐닝 스킴에서 로우마다 수행된다는 것이 설명되었다. 대안적으로 처리는 다수의 로우들에 대하여 병렬로 동시에 처리된다. 이미지를 통한 제 1 반복 후에, 전형적으로 반복들의 부가적인 수가 이미지를 통해 수행될 것이다. 바람직하게, 스캐닝 스킴은 다음 반복들에 대하여 상이하며, 예를 들어, 로우마다, 컬럼마다, 지그재그 등이다. 처리는 미리정해진 수의 반복들 후에 또는 커버전스가 이루어질 때 정지한다.
전체적인 이미지를 통한 반복들이 적절한 결과들을 생성하지만, 메모리 대역폭 사용 관점에서 각각의 세그먼트들에 대한 움직임 벡터들의 평가 처리를 서브 세그먼트들에 대한 중간 움직임 벡터들의 평가의 서브 처리들로 서브 처리들의 결과들을 조합하는 전처리 단계에 후속하여 분할하는 것이 바람직하다. 도 4는 도 1의 세그먼트된 이미지들 중 하나(100)와 그 세그먼트된 이미지(100)를 형성하는 4개의 서브 이미지들(401-404)을 개략적으로 도시한다. 제 1 서브 이미지(401)는 블럭들(b11-b28)에 대응한다. 제 2 서브 이미지(402)는 블럭들(b31-b48)에 대응한다. 제 3 서브 이미지(403)는 블럭들(b51-b68)에 대응한다. 제 4 서브 이미지(404)는 블럭들(b71-b88)에 대응한다. 제 1 서브 이미지(401)는 제 1 부분, 즉 도 1에 도시된 바와 같은 세그먼트(S11)의 서브 세그먼트(S111)와 오버랩하고, 제 1 서브 이미지(401)는 제 2 부분, 즉 도 1에 도시된 바와 같은 세그먼트(S12)의 서브 세그먼트(S121)와 오버랩한다. 제 1 서브 이미지(402)는 제 1 부분, 즉 세그먼트(S11)의 서브 세그먼트(S112)와 오버랩하고, 제 2 부분, 즉 세그먼트(S12)의 서브 세그먼트(S122)와 오버랩하며, 제 3 부분, 즉 세그먼트(S13)의 서브 세그먼트(132)와 오버랩하고, 제 4 부분, 즉 세그먼트(S14)의 서브 세그먼트(S142)와 오버랩한다. 제 3 서브 이미지(403)는 제 1 부분, 즉 세그먼트(S13)의 서브 세그먼트(S133)와 오버랩하고, 제 2 부분, 즉 세그먼트(S14)의 서브 세그먼트(S143)와 오버랩한다. 제 4 서브 이미지(404)는 제 1 부분, 즉 세그먼트(S13)의 서브 세그먼트(S134)와 오버랩하고, 제 2 부분, 즉 세그먼트(S14)의 서브 세그먼트(S144)와 오버랩한다.
제 1 초기 움직임 벡터들(MV(S111)-MV(S144))은 서브 세그먼트들(S111-S144)로부터 각각 평가된다. 이는 비록 규정된 서브 이미지들의 콘텍스트에서이긴 하지만, 도들 1-3과 관련하여 설명된 바와 같이 유사하게 수행된다. 초기 움직임 벡터들(MV(S111)-MV(S144))의 평가는 연속적으로, 즉 서브 이미지 다음 서브 이미지로 수행될 수 있다. 그러나, 바람직하게, 초기 움직임 벡터들(MV(S111)-MV(S144))의 평가는 병렬로 수행된다. 초기 움직임 벡터들(MV(S111)-MV(S144))이 결정된 후에 세그먼트된 이미지(100)의 각각의 세그먼트들(S11-S14)에 대한 최종 움직임 벡터들(MV(S11)-MV(S14))이 수립된다. 예를 들어, 세그먼트(S12)에 대한 최종 움직임 벡터(MV(S12))는 서브 세그먼트(S121)에 대해 결정되는 제 1 움직임 벡터들(MV(S121))과 서브 세그먼트(S122)에 대해 결정되는 제 2 움직임 벡터들(MV(S122))에 기초하여 결정된다. 많은 경우들에서, 제 1 움직임 벡터(MV(S121))와 제 2 움직임 벡터(MV(S122))가 상호 동등하다는 것이 나타난다. 세그먼트(S12)에 대한 최종 움직임 벡터의 수립은 즉, 하나 또는 다른 것을 선택하는 것보다 상대적으로 쉽다. 제 1 움직임 벡터(MV(S121))와 제 2 움직임 벡터(MV(S122)) 사이의 불일치의 경우에, 세그먼트(S12)와 가장 큰 오버랩을 갖는 초기 움직임 벡터를 선택하는 것이 바람직하다. 이러한 경우에, 제 1 서브 세그먼트(S121)의 제 1 크기가 서브 세그먼트(S122)의 제 2 크기보다 크기 때문에 제 1 움직임 벡터(MV(S121))는 세그먼트(S12)에 대해 최종 움직임 벡터(MV(S12))로서 할당된다.
다음, 3개의 서브 세그먼트들(S132,S133 및 S134)과 오버랩하는 세그먼트(S13)에 대응하는 최종 움직임 벡터(MV(S13))를 수립하는 다른 예가 논의된다. 상이한 서브 세그먼트들(S132,S133 및 S134)의 세그먼트(S13)와의 제 1 오버랩 양들이 결정된다. 이는 칸토어를 교차하는 세그먼트(S13)와 서브 이미지들(402,403 및 404)의 가장자리들을 나타내는 칸토어의 각각의 부분들 내에 위치되는 픽셀들의 각각의 수를 카운트하는 것에 의해 수행된다. 이러한 경우에, 서브 세그먼트(S132)의 제 1 크기가 상대적으로 낮다. 이러한 이유로, 세그먼트(S13)의 최종 움직임 벡터(MV(S13))의 계산에 대하여 대응하는 초기 움직임 벡터(MV(S132))가 고려되지 않는다. 세그먼트(S13)의 최종 움직임 벡터(MV(S13))는 서브 세그먼트들(S133 및 S134)의 각각에 대하여 결정되는 초기 움직임 벡터들(MV(S133) 및 MV(S134))의 가중된 평균에 기초한다. 가중된 계수들은 서브 세그먼트들(S133 및 S134)의 오버랩의 상대적인 양들에 기초한다.
도 5는 본 발명에 따른 이미지 처리 장치를 개략적으로 도시하며,
-입력 이미지들을 세그먼트된 이미지들로 세그먼트하는 세그먼테이션 유닛(502). 세그먼테이션 유닛(502)은 입력 이미지들을 나타내는 신호를 수신하도록 배열된다. 신호는 안테나 또는 케이블을 통해 수신된 방송 신호일 수 있으며 또는 VCR(비디오 카세트 레코더)이나 디지털 다용도 디스크(DVD)와 같은 저장 디바이스로부터의 신호일 수 있다. 신호는 입력 연결기(510)에서 제공된다;
-도 3과 관련하여 설명된 바와 같은 세그먼트 기방 움직임 추정 유닛(508);
-움직임 추정 유닛(508)에 의해 제어되는 이미지 처리 유닛(504). 이미지 처리 유닛(504)은 다음 타입들의 이미지 처리의 하나 또는 그 이상의 공급할 것이다:비디오 압축, 인터레이싱 해제, 이미지 비율 변환, 또는 순간적인 소음 감소.
-이미지 처리 유닛(504)의 출력 이미지들을 디스플레이하기 위한 디스플레이 디바이스(506)를 포함한다.
이미지 처리 장치(500)는 예를 들어, TV일 수 있다. 대안적으로 이미지 처리 장치(500)는 선택적인 디스플레이 디바이스(506)를 포함하지 않지만 출력 이미지들을 디스플레이 디바이스(506)를 포함하는 장치로 제공한다. 이후 이미지 처리 장치(500)는 예를 들어, 셋탑 박스, 위성 튜너, VCR 재생기, DVD 재생기 또는 레코더일 수 있다. 선택적으로 이미지 처리 장치(500)는 하드 디스크와 같은 저장 수단 또는 이동식 미디어 상의 저장을 위한 수단, 예를 들어, 광디스크들을 포함할 수 있다. 이미지 처리 장치(500)는 또한 영화 스튜디오 또는 방송국에서 응용되는 시스템일 수 있다.
상술된 실시예들은 본 발명의 제한하기 보다 설명한다는 것과 당업자가 첨부된 청구항들의 범위로부터 벗어남이 없이 대안의 실시예들을 설계할 수 있다는 것이 인지되어야 한다. 청구항들에서, 괄호들 사이에 위치된 임의의 참조 기호들은 청구항을 제한하는 것으로 해석되어서는 안된다. '포함하다'라는 단어는 청구항에 나열되지 않은 요소들 또는 단계들의 존재를 배제하지 않는다. 요소 앞의 "하나"라는 단어는 이러한 요소들의 복수의 존재를 배제하지 않는다. 본 발명은 몇몇 개별적인 요소들을 포함하는 하드웨어와 적절하게 프로그램된 컴퓨터에 의해 구현될 수 있다. 몇몇 수단을 열거하는 장치 청구항들에서, 이들 수단의 몇몇은 하드웨어 및 이와 동일한 아이템에 의해 구현될 수 있다.
Claims (14)
- 세그먼트된 이미지(100)의 각각의 세그먼트들(S11-S14)에 대하여 움직임 벡터들을 결정하기 위한 세그먼트 기반 움직임 추정 방법에 있어서,-상기 각각의 세그먼트들(S11-S14)에 대한 후보 움직임 벡터들의 세트들을 생성하는 단계;-상기 세그먼트된 이미지(100)를 픽셀들의 블럭들(b11-b88)의 그리드로 분할하는 단계;-상기 세그먼트된 이미지(100) 내의 상기 세그먼트들(S11-S14)과 상기 블럭들(b11-b88)의 위치들에 기초하여, 상기 후보 움직임 벡터들 중 어느 것이 상기 블럭들(b11-b88)에 속하는 지를 상기 픽셀들의 블럭들(b11-b88)에 대해 결정하는 단계;-상기 결정된 후보 움직임 벡터들과 다른 이미지(102)의 픽셀값들에 기초하여 상기 블럭들(b11-b88)에 대한 부분적인 매칭 에러들을 계산하는 단계;-상기 부분적인 매칭 에러들을 세그먼트 당 다수의 매칭 에러들로 조합하는 단계;-상기 매칭 에러들에 기초하여 각각의 후보 움직임 벡터들을 상기 후보 움직임 벡터들의 세트들의 각각에 대해 선택하는 단계; 및-상기 선택된 후보 움직임 벡터들을 상기 각각의 세그먼트들(S11-S14)에 대한 상기 움직임 벡터들로서 할당하는 단계를 포함하는, 세그먼트 기반 움직임 추정 방법.
- 제 1 항에 있어서,-상기 세그먼트된 이미지(100) 내의 상기 세그먼트들(S11-S14)과 상기 블럭들(b11-b88)의 상기 위치들에 기초하여 상기 블럭들(b11-b88)의 부분의 각 블럭을 픽셀들의 각각의 그룹들로 분할하는 단계로서, 상기 블럭들(b11-b88)의 부분의 각 블럭은 다수의 세그먼트들(S11-S14)과 오버랩하는, 상기 분할 단계;-상기 세그먼트된 이미지(100) 내의 상기 세그먼트들(S11-S14)과 상기 픽셀들의 그룹들의 위치들에 기초하여, 상기 후보 움직임 벡터들 중 어느 것이 상기 픽셀들의 그룹들에 속하는 지를 상기 픽셀들의 그룹들에 대해 결정하는 단계;-상기 결정된 후보 움직임 벡터들과 상기 다른 이미지(102)의 픽셀값들에 기초하여 상기 픽셀들의 그룹들에 대한 다른 부분적인 매칭 에러들을 계산하는 단계; 및-상기 부분적인 매칭 에러들 및 상기 다른 부분적인 매칭 에러들을 세그먼트 당 다수의 매칭 에러들로 조합하는 단계를 더 포함하는, 세그먼트 기반 움직임 추정 방법.
- 제 1 항에 있어서, 상기 후보 움직임 벡터들 중 어느 것이 상기 블럭들(b11-b88)에 속하는 지를 상기 픽셀들의 블럭들(b11-b88)에 대해 결정하는 단계는, 상기 세그먼트된 이미지(100) 내의 세그먼트들(S11-S14)과 상기 블럭들(b11-b88) 사이의 오버랩의 양에 기초하는, 세그먼트 기반 움직임 추정 방법.
- 제 1 항에 있어서, 상기 부분적 매칭 에러들 중 제 1 에러는 상기 세그먼트된 이미지(100)의 픽셀값들과 상기 다른 이미지(102)의 다른 픽셀값들 사이의 차이들의 합에 대응하는, 세그먼트 기반 움직임 추정 방법.
- 제 1 항에 있어서, 상기 픽셀들의 블럭들(b11-b88) 중 제 1 블럭은 8*8 또는 16*16 픽셀들을 포함하는, 세그먼트 기반 움직임 추정 방법.
- 제 1 항에 있어서,-상기 세그먼트들 중 제 1 세그먼트에 할당되는 상기 움직임 벡터들 중 제 1 벡터에 기초하여 그리고, 다른 세그먼트된 이미지의 다른 세그먼트에 할당되는 특정 움직임 벡터에 기초하여, 마지막 움직임 벡터를 결정하는 단계로서, 상기 세그먼트된 이미지 및 상기 다른 세그먼트된 이미지는 모두 단일 확장된 이미지의 부분이고, 상기 세그먼트들 중 상기 제 1 세그먼트와 상기 다른 세그먼트는 모두 상기 세그먼트된 이미지와 상기 다른 세그먼트된 이미지 상에서 확장하는 단일 세그먼트의 부분인, 상기 결정 단계와;-상기 마지막 움직임 벡터를 상기 세그먼트들의 상기 제 1 세그먼트에 할당하는 단계를 더 포함하는, 세그먼트 기반 움직임 추정 방법.
- 제 6 항에 있어서, 상기 움직임 벡터들 중 상기 제 1 벡터는 상기 세그먼트들 중 제 1 세그먼트의 제 1 크기가 상기 다른 세그먼트의 제 2 크기보다 크면 상기 마지막 움직임 벡터로서 할당되고, 상기 특정 움직임 벡터는 상기 제 2 크기가 상기 제 1 크기보다 크면 상기 마지막 움직임 벡터로서 할당되는, 세그먼트 기반 움직임 추정 방법.
- 세그먼트된 이미지(100)의 각각의 세그먼트들(S11-S14)에 대하여 움직임 벡터들을 추정하기 위한 움직임 추정 유닛(300)에 있어서,-상기 각각의 세그먼트들(S11-S14)에 대한 후보 움직임 벡터들의 세트들을 생성하는 생성 수단(314);-상기 세그먼트된 이미지(100)를 픽셀들의 블럭들(b11-b88)의 그리드로 분할하는 분할 수단(304);-상기 세그먼트된 이미지(100) 내의 상기 세그먼트들(S11-S14)과 상기 블럭들(b11-b88)의 위치들에 기초하여, 상기 후보 움직임 벡터들 중 어느 것이 상기 블럭들(b11-b88)에 속하는 지를 상기 픽셀들의 블럭들(b11-b88)에 대해 결정하는 결정 수단(306);-상기 결정된 후보 움직임 벡터들과 다른 이미지(102)의 픽셀값들에 기초하여 상기 블럭들(b11-b88)에 대한 부분적인 매칭 에러들을 계산하는 계산 수단(308);-상기 부분적인 매칭 에러들을 세그먼트 당 다수의 매칭 에러들로 조합하는 조합 수단(310);-상기 매칭 에러들에 기초하여 각각의 후보 움직임 벡터들을 상기 후보 움직임 벡터들의 세트들의 각각에 대해 선택하는 선택 수단(312); 및-상기 선택된 후보 움직임 벡터들을 상기 각각의 세그먼트들(S11-S14)에 대한 상기 움직임 벡터들로서 할당하는 할당 수단을 포함하는, 움직임 추정 유닛.
- 이미지 처리 장치(500)에 있어서,-입력 이미지를 세그먼트된 이미지(100)로 세그먼트하는 세그먼테이션 유닛(502); 및-제 6 항에 청구된 바와 같이, 상기 세그먼트된 이미지(100)의 각각의 세그먼트들(S11-S14)에 대하여 움직임 벡터들을 추정하는 움직임 추정 유닛(508)을 포함하는, 이미지 처리 장치.
- 제 9 항에 있어서, 상기 움직임 벡터들에 기초하여 제어되는 처리 수단(504)을 더 포함하는 것을 특징으로 하는, 이미지 처리 장치.
- 제 10 항에 있어서, 상기 처리 수단(504)은 비디오 압축을 수행하도록 배열되는 것을 특징으로 하는, 이미지 처리 장치.
- 제 10 항에 있어서, 상기 처리 수단(504)은 인터레이싱 해제(de-interacing)를 수행하도록 배열되는 것을 특징으로 하는, 이미지 처리 장치.
- 제 10 항에 있어서, 상기 처리 수단(504)은 이미지 비율 변환을 수행하도록 배열되는 것을 특징으로 하는, 이미지 처리 장치.
- 제 9 항에 있어서, 상기 이미지 처리 장치는 TV인 것을 특징으로 하는, 이미지 처리 장치.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP02080533.9 | 2002-12-20 | ||
EP02080533 | 2002-12-20 | ||
EP03102487 | 2003-08-08 | ||
EP03102487.0 | 2003-08-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050084442A true KR20050084442A (ko) | 2005-08-26 |
Family
ID=32683816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057011568A KR20050084442A (ko) | 2002-12-20 | 2003-11-20 | 세그먼트 기반 움직임 추정 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20060098737A1 (ko) |
EP (1) | EP1579311A2 (ko) |
JP (1) | JP2006512029A (ko) |
KR (1) | KR20050084442A (ko) |
CN (1) | CN100342401C (ko) |
AU (1) | AU2003280207A1 (ko) |
WO (1) | WO2004057460A2 (ko) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7953152B1 (en) | 2004-06-28 | 2011-05-31 | Google Inc. | Video compression and encoding method |
US8780957B2 (en) | 2005-01-14 | 2014-07-15 | Qualcomm Incorporated | Optimal weights for MMSE space-time equalizer of multicode CDMA system |
EP1867173A2 (en) | 2005-03-10 | 2007-12-19 | QUALCOMM Incorporated | Content adaptive multimedia processing |
US8879635B2 (en) * | 2005-09-27 | 2014-11-04 | Qualcomm Incorporated | Methods and device for data alignment with time domain boundary |
US8948260B2 (en) | 2005-10-17 | 2015-02-03 | Qualcomm Incorporated | Adaptive GOP structure in video streaming |
US8654848B2 (en) | 2005-10-17 | 2014-02-18 | Qualcomm Incorporated | Method and apparatus for shot detection in video streaming |
US7813526B1 (en) | 2006-01-26 | 2010-10-12 | Adobe Systems Incorporated | Normalizing detected objects |
US7716157B1 (en) | 2006-01-26 | 2010-05-11 | Adobe Systems Incorporated | Searching images with extracted objects |
US7694885B1 (en) | 2006-01-26 | 2010-04-13 | Adobe Systems Incorporated | Indicating a tag with visual data |
US7319421B2 (en) * | 2006-01-26 | 2008-01-15 | Emerson Process Management | Foldback free capacitance-to-digital modulator |
US8259995B1 (en) | 2006-01-26 | 2012-09-04 | Adobe Systems Incorporated | Designating a tag icon |
US7720258B1 (en) * | 2006-01-26 | 2010-05-18 | Adobe Systems Incorporated | Structured comparison of objects from similar images |
US7813557B1 (en) | 2006-01-26 | 2010-10-12 | Adobe Systems Incorporated | Tagging detected objects |
US7978936B1 (en) | 2006-01-26 | 2011-07-12 | Adobe Systems Incorporated | Indicating a correspondence between an image and an object |
US7706577B1 (en) | 2006-01-26 | 2010-04-27 | Adobe Systems Incorporated | Exporting extracted faces |
US7636450B1 (en) | 2006-01-26 | 2009-12-22 | Adobe Systems Incorporated | Displaying detected objects to indicate grouping |
US9131164B2 (en) | 2006-04-04 | 2015-09-08 | Qualcomm Incorporated | Preprocessor method and apparatus |
US8085849B1 (en) * | 2006-11-03 | 2011-12-27 | Keystream Corporation | Automated method and apparatus for estimating motion of an image segment using motion vectors from overlapping macroblocks |
US7840031B2 (en) * | 2007-01-12 | 2010-11-23 | International Business Machines Corporation | Tracking a range of body movement based on 3D captured image streams of a user |
US8269834B2 (en) | 2007-01-12 | 2012-09-18 | International Business Machines Corporation | Warning a user about adverse behaviors of others within an environment based on a 3D captured image stream |
US8588464B2 (en) | 2007-01-12 | 2013-11-19 | International Business Machines Corporation | Assisting a vision-impaired user with navigation based on a 3D captured image stream |
US7877706B2 (en) * | 2007-01-12 | 2011-01-25 | International Business Machines Corporation | Controlling a document based on user behavioral signals detected from a 3D captured image stream |
US8295542B2 (en) | 2007-01-12 | 2012-10-23 | International Business Machines Corporation | Adjusting a consumer experience based on a 3D captured image stream of a consumer response |
US7971156B2 (en) * | 2007-01-12 | 2011-06-28 | International Business Machines Corporation | Controlling resource access based on user gesturing in a 3D captured image stream of the user |
WO2008118886A1 (en) | 2007-03-23 | 2008-10-02 | Bioimagene, Inc. | Digital microscope slide scanning system and methods |
KR101339785B1 (ko) * | 2007-10-29 | 2013-12-11 | 삼성전자주식회사 | 분할 영상 처리 장치 및 방법 그리고 제어 인자 계산 장치 |
KR100939917B1 (ko) | 2008-03-07 | 2010-02-03 | 에스케이 텔레콤주식회사 | 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법 |
US8311111B2 (en) | 2008-09-11 | 2012-11-13 | Google Inc. | System and method for decoding using parallel processing |
US8326075B2 (en) | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video encoding using adaptive loop filter |
US8325796B2 (en) | 2008-09-11 | 2012-12-04 | Google Inc. | System and method for video coding using adaptive segmentation |
KR101279573B1 (ko) * | 2008-10-31 | 2013-06-27 | 에스케이텔레콤 주식회사 | 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
JP2010122934A (ja) * | 2008-11-20 | 2010-06-03 | Sony Corp | 画像処理装置、および画像処理方法、並びにプログラム |
US8537181B2 (en) * | 2009-03-09 | 2013-09-17 | Ventana Medical Systems, Inc. | Modes and interfaces for observation, and manipulation of digital images on computer screen in support of pathologist's workflow |
US20100226926A1 (en) * | 2009-03-09 | 2010-09-09 | Bioimagene, Inc | Method of Detection of Fluorescence-Labeled Probes Attached to Diseased Solid Tissue |
KR101441905B1 (ko) * | 2009-11-18 | 2014-09-24 | 에스케이텔레콤 주식회사 | 후보 예측 움직임 벡터 집합 선택을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
JP5746766B2 (ja) * | 2010-08-02 | 2015-07-08 | ペキン ユニバーシティ | 効果的なビデオの分類および検索のための典型的モーションフローの抽出 |
US9300976B2 (en) * | 2011-01-14 | 2016-03-29 | Cisco Technology, Inc. | Video encoder/decoder, method and computer program product that process tiles of video data |
CN102884794B (zh) * | 2011-03-07 | 2016-08-10 | 松下知识产权经营株式会社 | 运动补偿装置、运动图像编码装置、运动图像解码装置、运动补偿方法、以及集成电路 |
US8780996B2 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method for encoding and decoding video data |
US8780971B1 (en) | 2011-04-07 | 2014-07-15 | Google, Inc. | System and method of encoding using selectable loop filters |
US9154799B2 (en) | 2011-04-07 | 2015-10-06 | Google Inc. | Encoding and decoding motion via image segmentation |
US8781004B1 (en) | 2011-04-07 | 2014-07-15 | Google Inc. | System and method for encoding video using variable loop filter |
US8885706B2 (en) | 2011-09-16 | 2014-11-11 | Google Inc. | Apparatus and methodology for a video codec system with noise reduction capability |
US9100657B1 (en) | 2011-12-07 | 2015-08-04 | Google Inc. | Encoding time management in parallel real-time video encoding |
US9262670B2 (en) | 2012-02-10 | 2016-02-16 | Google Inc. | Adaptive region of interest |
US9131073B1 (en) | 2012-03-02 | 2015-09-08 | Google Inc. | Motion estimation aided noise reduction |
US9344729B1 (en) | 2012-07-11 | 2016-05-17 | Google Inc. | Selective prediction signal filtering |
US11425395B2 (en) | 2013-08-20 | 2022-08-23 | Google Llc | Encoding and decoding using tiling |
US9392272B1 (en) | 2014-06-02 | 2016-07-12 | Google Inc. | Video coding using adaptive source variance based partitioning |
US9578324B1 (en) | 2014-06-27 | 2017-02-21 | Google Inc. | Video coding using statistical-based spatially differentiated partitioning |
US10102613B2 (en) | 2014-09-25 | 2018-10-16 | Google Llc | Frequency-domain denoising |
US9794574B2 (en) | 2016-01-11 | 2017-10-17 | Google Inc. | Adaptive tile data size coding for video and image compression |
US10542258B2 (en) | 2016-01-25 | 2020-01-21 | Google Llc | Tile copying for video compression |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2870415B2 (ja) * | 1994-08-22 | 1999-03-17 | 日本電気株式会社 | 領域分割方法および装置 |
FR2743247B1 (fr) * | 1995-12-29 | 1998-01-23 | Thomson Multimedia Sa | Dispositif d'estimation de mouvement par appariement de blocs |
CN1163540A (zh) * | 1996-01-11 | 1997-10-29 | 三星电子株式会社 | 推断精细运动的方法和装置 |
US6249548B1 (en) * | 1998-07-10 | 2001-06-19 | U.S. Phillips Corporation | Motion vector processing |
US7120277B2 (en) * | 2001-05-17 | 2006-10-10 | Koninklijke Philips Electronics N.V. | Segmentation unit for and method of determining a second segment and image processing apparatus |
-
2003
- 2003-11-20 EP EP03772574A patent/EP1579311A2/en not_active Withdrawn
- 2003-11-20 AU AU2003280207A patent/AU2003280207A1/en not_active Abandoned
- 2003-11-20 CN CNB2003801071235A patent/CN100342401C/zh not_active Expired - Fee Related
- 2003-11-20 JP JP2005502596A patent/JP2006512029A/ja not_active Withdrawn
- 2003-11-20 WO PCT/IB2003/005474 patent/WO2004057460A2/en not_active Application Discontinuation
- 2003-11-20 KR KR1020057011568A patent/KR20050084442A/ko not_active Application Discontinuation
- 2003-11-20 US US10/539,898 patent/US20060098737A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
AU2003280207A1 (en) | 2004-07-14 |
JP2006512029A (ja) | 2006-04-06 |
US20060098737A1 (en) | 2006-05-11 |
CN100342401C (zh) | 2007-10-10 |
EP1579311A2 (en) | 2005-09-28 |
CN1729486A (zh) | 2006-02-01 |
AU2003280207A8 (en) | 2004-07-14 |
WO2004057460A2 (en) | 2004-07-08 |
WO2004057460A3 (en) | 2004-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20050084442A (ko) | 세그먼트 기반 움직임 추정 | |
US6380986B1 (en) | Motion vector search method and apparatus | |
KR100973429B1 (ko) | 배경 움직임 벡터 선택기, 업-변환 유닛, 이미지 처리 장치, 배경 움직임 벡터 선택 방법 및 컴퓨터 판독 가능한 기록 매체 | |
JP3621152B2 (ja) | 特徴点の特定装置及びその方法 | |
EP1587032B1 (en) | Image processing apparatus and method, recording medium, and program | |
KR101217627B1 (ko) | 블록 기반의 움직임 추정 방법 및 장치 | |
JP2000134585A (ja) | 動きベクトル決定方法、画像信号のフレーム数変換方法および回路 | |
KR20030008150A (ko) | 단일 텔레비전 신호 필드들에서 병렬로 발생하는 필름 및비디오 오브젝트들의 인식 | |
US20030161400A1 (en) | Method and system for improved diamond motion search | |
US20050180506A1 (en) | Unit for and method of estimating a current motion vector | |
CN1706189A (zh) | 带有降质的图像处理单元 | |
US7295711B1 (en) | Method and apparatus for merging related image segments | |
KR20040105866A (ko) | 움직임 추정 유닛 및 움직임 벡터 추정 방법 | |
US20050226462A1 (en) | Unit for and method of estimating a motion vector | |
JP2009533887A (ja) | 動きベクトル場修正装置及び方法 | |
US20090060041A1 (en) | System and method for motion vector collection for motion compensated interpolation of digital video | |
US20050163355A1 (en) | Method and unit for estimating a motion vector of a group of pixels | |
KR20060010776A (ko) | 비디오 데이터 처리 방법 및 데이터 프레임의 제 1 블럭에대한 움직임 벡터 생성 방법 | |
US8102915B2 (en) | Motion vector fields refinement to track small fast moving objects | |
JP3175914B2 (ja) | 画像符号化方法および画像符号化装置 | |
KR20060029283A (ko) | 모션-보상된 영상 신호 보간 | |
US20070036466A1 (en) | Estimating an edge orientation | |
JPH08242454A (ja) | グローバル動きパラメタ検出方法 | |
US20060257029A1 (en) | Estimating an edge orientation | |
JPH0946711A (ja) | 動きベクトル推定方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |