KR102500265B1 - 블록의 모션 벡터에 기초한 이미지의 블록의 분산 결정 - Google Patents
블록의 모션 벡터에 기초한 이미지의 블록의 분산 결정 Download PDFInfo
- Publication number
- KR102500265B1 KR102500265B1 KR1020197008906A KR20197008906A KR102500265B1 KR 102500265 B1 KR102500265 B1 KR 102500265B1 KR 1020197008906 A KR1020197008906 A KR 1020197008906A KR 20197008906 A KR20197008906 A KR 20197008906A KR 102500265 B1 KR102500265 B1 KR 102500265B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- determining
- cost
- variance
- pixels
- Prior art date
Links
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
- H04N19/513—Processing of motion vectors
- H04N19/521—Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
-
- 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/513—Processing of motion vectors
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/182—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
-
- 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
- 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/567—Motion estimation based on rate distortion criteria
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Analysis (AREA)
Abstract
본 개시는 예를 들어, 픽셀 블록의 픽셀 값에 기초하여 분산을 직접 계산하는 대신에, 비디오의 기준 프레임에서의 픽셀 블록의 분산에 기초하여 비디오의 프레임에서 픽셀 블록의 분산을 결정하는 기술에 관한 것이다. 이 기술들은 현재 프레임에서 픽셀 블록의 모션 벡터를 식별하는 단계를 포함하고, 모션 벡터는 기준 프레임의 픽셀 블록을 가리킨다. 이 기술은 또한 모션 벡터와 관련된 비용을 결정하는 단계와, 비용을 제 1 및 제 2 임계 값과 비교하는 단계를 포함한다. 이 기술은 제 1 및 제 2 임계 값에 대한 비용의 비교에 기초하여, 그리고, 기준 프레임의 픽셀 블록의 분산에 기초하여, 현재 프레임의 픽셀 블록에 대한 분산을 결정하는 단계를 포함한다.
Description
관련 출원의 상호 참조
본 출원은 2016 년 10 월 13 일자로 출원된 미국 특허 출원 제 15/292,757 호의 이익을 주장하며, 그 내용은 본 명세서에 완전히 기재된 것처럼 참고 문헌으로 포함된다.
분산 맵 - 이미지의 픽셀 블록에 대해 결정된 분산의 맵 - 은 이미지 및 비디오 처리에서 많은 용도를 갖는다. 이러한 사용에는 예를 들어 이미지 또는 비디오 크기 조정, 압축 등이 포함된다. 그러나 분산을 결정하는 것은 일반적으로 연산 집약적인 작업이다. 이 사실은 일반적으로 분산을 결정할 필요가 있는 분석이 상대적으로 느리다는 것을 의미한다.
첨부된 도면과 관련하여 예로서 주어지는 다음의 설명으로부터 더 상세한 이해가 이루어질 수 있다:
도 1은 본 발명의 실시형태들이 구현되는 예시적인 장치의 블록도이다.
도 2는 일례에 따른 이미지를 도시하는 다이어그램이다.
도 3은 일례에 따른, 블록 내의 픽셀들을 도시하는 다이어그램이다.
도 4는 일례에 따라, 이미지의 현재 프레임의 하나 이상의 블록들에 대한 분산을 결정하기 위해, 비디오의 이미지들에 적용되는 모션 벡터 기술을 도시한다.
도 5는 회귀 분석의 일례를 도시하는 그래프이다. 그리고,
도 6은 일례에 따라 "비용"(기준 프레임의 블록들에 대한 유사성)에 기초하여 분산 값들을 결정하는 방법의 흐름도이다.
도 1은 본 발명의 실시형태들이 구현되는 예시적인 장치의 블록도이다.
도 2는 일례에 따른 이미지를 도시하는 다이어그램이다.
도 3은 일례에 따른, 블록 내의 픽셀들을 도시하는 다이어그램이다.
도 4는 일례에 따라, 이미지의 현재 프레임의 하나 이상의 블록들에 대한 분산을 결정하기 위해, 비디오의 이미지들에 적용되는 모션 벡터 기술을 도시한다.
도 5는 회귀 분석의 일례를 도시하는 그래프이다. 그리고,
도 6은 일례에 따라 "비용"(기준 프레임의 블록들에 대한 유사성)에 기초하여 분산 값들을 결정하는 방법의 흐름도이다.
본 개시는 직접적으로, 예를 들어, 픽셀 블록의 픽셀 값에 기초하여 분산을 계산하는 것 대신에, 비디오의 기준 프레임 내의 픽셀 블록의 분산에 기초하여 비디오의 프레임에서 픽셀 블록의 분산을 결정하는 기술에 관한 것이다. 이 기술들은 현재 프레임 내 픽셀 블록의 모션 벡터의 식별을 포함하며, 모션 벡터는 기준 프레임의 픽셀 블록을 가리킨다. 일 실시예에서, 모션 벡터는 이미(이미지 압축, 비디오 프로세서 등과 같은) 분산을 결정하는 것 이외의 목적을 위해 결정된 모션 벡터를 이미 포함하는 이전에 사용된 영상 처리 데이터로부터 식별된다. 다른 예에서, 모션 벡터는 여기서 기술된 기술들을 통해 직접 식별된다. 본 기술은 모션 벡터와 관련된 비용을 결정하고 제 1 및 제 2 임계 값과 비용을 비교하는 것을 포함한다. 비용이 제 1 임계 값 미만이면, 현재 프레임의 픽셀 블록이 모션 벡터에 의해 가리켜지는 기준 프레임 내 픽셀 블록과 충분히 유사하다고 간주되며, (이미 결정된) 기준 프레임의 픽셀 블록의 분산은 현재 프레임의 픽셀 블록에 대한 분산으로 사용된다.
비용이 제 1 및 제 2 임계치 사이에 있으면, 상관 함수에 의해 수정된 기준 프레임의 픽셀 블록의 분산이 현재 프레임의 픽셀 블록에 대한 분산으로서 사용된다. 현재 프레임의 픽셀 블록의 비용이 제 2 임계 값 이상이면, 기준 프레임의 픽셀 블록의 분산을 사용하는 것이 신뢰할 수 없다고 간주되며("추정된 분산"은 신뢰할 만하지 않은 것으로 간주됨), 현재 프레임의 픽셀 블록은 (예를 들어, 여기에 제공된 분산을 계산하기 위한 식을 통해) 직접 결정된다. 전술한 기술은 현재 프레임의 모든 픽셀 블록에 대해 사용된다. 신뢰할 수 없는 추정된 분산을 갖는 현재 프레임의 픽셀 블록의 수가 제 3의 임계치를 초과하면, 분산 추정 기술은 (예를 들어, 장면 변화가 비디오에서 발생했기 때문에) 너무 신뢰할 수 없는 것으로 간주되고, 현재 프레임의 각 블록의 분산은 대신에 현재 프레임의 각 블록 내의 픽셀의 픽셀 값으로부터 직접 결정된다.
도 1은 본 발명의 실시형태들이 구현되는 예시적인 장치(100)의 블록도이다. 장치(100)는 예를 들어 컴퓨터, 게임 장치, 핸드 헬드 장치, 셋탑 박스, 텔레비전, 이동 전화 또는 태블릿 컴퓨터를 포함한다. 장치(100)는 프로세서(102), 메모리(104), 저장 장치(106), 하나 이상의 입력 장치(108), 및 하나 이상의 출력 장치(110)를 포함한다. 장치(100)는 선택적으로 입력 드라이버(112) 및 출력 드라이버(114)를 포함한다. 장치(100)는 선택적으로도 1에 도시되지 않은 부가적인 구성 요소들을 포함한다는 것을 이해해야 한다.
프로세서(102)는 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 동일한 다이 상에 위치한 CPU 및 GPU, 또는 하나 이상의 프로세서 코어 중 하나 이상을 포함하며, 각 프로세서 코어는 CPU 또는 GPU 이다. 메모리(104)는 프로세서(102)와 동일한 다이 상에 또는 프로세서(102)와 별도로 배치된다. 메모리(104)는 예를 들어 랜덤 액세스 메모리(RAM), 동적 RAM 또는 캐시와 같은 휘발성 또는 비휘발성 메모리를 포함한다.
저장 장치(106)는 예를 들어, 하드 디스크 드라이브, 솔리드 스테이트 드라이브, 광 디스크 또는 플래시 드라이브와 같은 고정식 또는 착탈식 저장 장치를 포함한다. 입력 장치(108)는 키보드, 키패드, 터치 스크린, 터치 패드, 검출기, 마이크로폰, 가속도계, 자이로스코프 또는 생체 인식 스캐너 중 하나 이상을 포함한다. 출력 장치(110)는 디스플레이, 스피커, 프린터, 햅틱 피드백 장치, 하나 이상의 조명, 또는 안테나 중 하나 이상을 포함한다.
입력 드라이버(112)는 프로세서(102) 및 입력 장치(108)와 통신하며, 프로세서(102)가 입력 장치(108)로부터 입력을 수신하게 한다. 출력 드라이버(114)는 프로세서(102) 및 출력 장치(110)와 통신하고, 프로세서(102)가 출력을 출력 장치(110)로 보내게 한다.
네트워크 인터페이스 카드(NIC)(118)는 컴퓨터 네트워크를 통해 다른 장치에 대한 인터페이스를 제공한다. NIC(118)는 이더넷, wi-fi, InfiniBand 또는 다른 프로토콜과 같은 네트워킹 프로토콜을 통해 외부 장치와 통신하도록 구성된다. 가속기(116)는 처리 작업을 수용하고 실행하도록 구성된 하나 이상의 장치를 포함한다. 이들 장치는 그래픽 처리 유닛("GPU"), 필드 프로그래머블 게이트 어레이("FPGA"), 프로세싱-인-메모리 칩("PIM"), 주문형 집적 회로("ASIC") 또는 다른 장치 중 하나 이상을 포함한다.
이미지 프로세서(120)는 2 개의 상이한 형태로 도시된다. 제 1 형태에서, 이미지 프로세서(120)는, 도시된 바와 같이, 메모리(104)에 저장되고 프로세서(102) 상에서 실행되는 소프트웨어이다. 제 2 형태에서, 이미지 프로세서는 출력 드라이버(114)에 상주하는 하드웨어 그래픽 엔진의 적어도 일부이다. 다른 형태에서, 이미지 프로세서(120)는 소프트웨어 및 하드웨어 요소들의 조합이고, 하드웨어는 예를 들어, 출력 드라이버(114)에 상주하고, 소프트웨어는 예를 들어, 프로세서(102)상에서 실행된다.
이미지 프로세서(120)는 분석을 위해 입력 이미지를 수용하고, 이미지를 분석하여, 출력 이미지를 포함할 수 있는 분석 결과를 생성한다. 이미지 프로세서(120)가 수행하는 작업은 입력 이미지 내의 일련의 블록들 각각에 대한 분산 값들을 결정하는 것이다. 개념적으로 분산은 블록의 픽셀들이 서로 얼마나 유사한지를 나타낸다. 단색 블록의 픽셀은 매우 낮은 분산을 가지며 상이한 픽셀 색상의 모자이크는 매우 높은 분산을 가진다. 분산 값은 이미지 프로세서(120) 또는 장치(100)의 다른 부분에 의해 수행되는 다수의 상이한 이미지 프로세싱 기술에서 사용될 수 있다. 따라서, 이미지 프로세서(120)는 하나 이상의 이미지 프로세싱 기술을 수행하기 위해 분산을 사용할 수 있다.
도 2는 일례에 따른 이미지(200)를 도시하는 다이어그램이다. 이미지(200)는(예를 들어, 출력 장치(110)에 포함될 수 있는) 분석 및/또는 스크린 상의 디스플레이를 위한 이미지 데이터이다. 이미지(200)는 이미지(200)의 분산을 결정하기 위해 이미지 프로세서(120)에 의한 프로세싱을 위한 이미지이다. 도 2에 도시된 이미지(200)는 도시된 바와 같이 격자로 배열된 일련의 픽셀 블록(202)을 포함한다. 각각의 픽셀 블록(202)은 동일한 크기이고, 동일한 수의 픽셀을 포함한다. 여기에 설명된 분산을 결정하기 위한 기술은 도 2의 이미지(200)와 같은 이미지에서 블록(202) 각각에 대한 분산 값을 결정한다.
도 3은 일례에 따른, 블록(202) 내의 픽셀(302)을 도시하는 다이어그램이다. 도 3에 도시된 블록(202)은 X 픽셀의 폭과 Y 픽셀의 높이를 가지며, 따라서 N = X×Y 픽셀을 갖는다. 일례에서, 블록(202)에 대한 분산은 다음과 같이 결정된다:
위의 표현에서, "μ"라는 용어는 블록 내의 모든 픽셀의 산술 평균이다. "pixeli"라는 용어는 각 픽셀의 대표 색상 값 또는 밝기 값이다. 예를 들어, 픽셀이 YUV 색상 공간으로 표현되면, 사용된 픽셀 값은 Y(밝기) 값이다. 픽셀이 RGB 색상 공간에서 표현되는 경우, R, G 또는 B 성분 중 임의의 성분을 "pixeli"로 사용할 수 있다. 따라서 블록의 분산은 평균 픽셀 값으로부터 각 픽셀의 차의 합을 제곱한 후, 픽셀 수(N) 빼기 1로 나눈 값이다. 분산을 직접 결정하는 것은 제곱근 연산 및 제산 연산을 포함하므로 수학적으로 집약적이다. 따라서, 분산의 직접 계산을 필요로하지 않는 프레임의 하나 이상의 블록들(202)에 대한 분산을 결정하기 위한 기술들이 여기에 제공된다. 구체적으로, 이들 기술들은 "기준 프레임"에서 블록들의 분산에 기초하여 특정 프레임에서의 블록들(202)에 대한 분산을 추정하기 위해 모션 벡터 기술을 사용하는데, 여기서 기준 프레임은 바로 이전 프레임과 같은 임의의 다른 프레임일 수 있다.
도 4는 일례에 따라, 이미지의 현재 프레임의 하나 이상의 블록들(202)에 대한 분산을 결정하기 위해, 비디오의 이미지들에 적용되는 모션 벡터 기술을 도시한다. 일 예시에서, 이미지 프로세서(120)는이 모션 벡터 기술을 사용하여 분산 결정을 위한 모션 벡터를 결정할 수 있다. 대안으로, 이미지 프로세서(120)는 이미지 압축, 비디오 분석 등과 같은 상이한 목적을 위해 이미 결정된 모션 벡터를 획득한다.
모션 벡터 기술은 현재 프레임(즉, 피분석 프레임)에서 각 블록(202)에 대한 "모션 벡터"(407)를 결정하는 것을 포함한다. 모션 벡터(407)는 픽셀의 특정 블록(202)이 비디오의 두 프레임 사이에서 이동한 "거리"를 나타낸다. 특히, 모션 벡터(407)는 현재 프레임에서 블록의 픽셀이 이동된 기준 프레임 내의 블록을 나타낸다. 기준 프레임은 현재 프레임과 다른 프레임이며, 예를 들어, 직전 프레임 또는 현재 프레임 이전의 다른 프레임 일 수 있다. 일부 예에서, 미래의 프레임은 기준 프레임이다.
일 예시에서, 블록은 하늘과 잔디 사이의 에지를 나타내는 픽셀을 포함한다. 이전 프레임("기준 프레임")에서, 그 에지의 픽셀은 좌표 7, 9를 갖는 블록에 있었다. 현재 프레임에서, 그 에지의 픽셀은 좌표 8, 10을 갖는 블록에 있다. 모션 벡터 현재 프레임에서 좌표 8, 10을 갖는 블록에 있다. 현재 프레임 내 좌표 8, 10을 갖는 블록의 모션 벡터는 -1, -1이며, 이는 좌표 8, 10을 가진 블록으로부터 좌표 7, 9를 가진 블록을 가리킨다. 모션 벡터 기술이 통상적으로 블록의 분산 결정에 직접 관련없는 용도로 사용되지만, 블록의 분산을 결정하기 위해 모션 벡터(407)를 사용하는 새로운 기술이 여기에 제안된다.
도 4에서, 현재 프레임 및 기준 프레임의 오버레이(400)가 도시된다. 오버레이(400)는 2 개의 프레임으로부터의 블록들이 오버레이(400)에 표시된다는 의미에서 오버레이이다. 이들 2 개의 프레임은 현재 프레임 및 기준 프레임이다. 현재 프레임에 대한 유일한 블록은 현재 블록(402)이다. 다른 모든 블록들(202)은 기준 프레임으로부터의 블록들이다.
현재 블록(402)에 대한 모션 벡터(407)의 결정은 복수의 후보 모션 벡터(406) 각각에 대한 비용을 결정하는 것을 포함한다. 각 후보 모션 벡터(406)에 대한 비용이 결정되면, 현재 블록(402)에 대한 모션 벡터(407)의 결정은 결정된 모든 비용 중에서 최저 비용의 식별을 포함한다. 검사된 모든 후보 모션 벡터들(406) 중에서 최저 비용을 갖는 후보 모션 벡터(406)가 현재 블록(402)에 대한 모션 벡터로 고려된다. 다시 말해, 그 후보 모션 벡터(406)는 현재 블록의 픽셀들이 기준 프레임과 현재 프레임 사이에서 이동된 거리를 나타낸다고 일컬어진다. 그 모션 벡터와 관련된 비용은 현재 블록(402)에 대한 비용으로 고려된다. 후보 모션 벡터(406)와 같은 모션 벡터는 (픽셀 단위(302)보다는) 블록(202) 단위로 정의된다. 따라서, (1,1)로 표시되는 모션 벡터는 현재 블록(402)으로부터 한 블록(202) 우측 및 한 블록(202) 위인 블록(202)을 나타낸다. (위 또는 아래와 같은 방향성과, + 또는 - 와 같은 부호의 상관관계는 임의적인 것으로서 임의의 상관관계가 사용될 수 있다).
몇몇 후보 모션 벡터(406)가 도 4의 탐색 영역(404) 내에 도시되어있다. 탐색 영역(404)은 이미지 프로세서(120)가 최저 비용으로 후보 모션 벡터(406)를 탐색하는 이미지의 일부이다. "비용"은 현재 블록(402)과 특정 후보 모션 벡터(406)에 의해 지시된 블록(202) 사이의 "유사도"의 척도로서 생각될 수 있다. 이미지 프로세서(120)는 탐색 영역(404) 내의 각각의 상이한 블록(202)을 지시하는 후보 모션 벡터들(406) 각각에 대한 비용을 결정하고, 최저 비용을 갖는 후보 모션 벡터(406)를 식별한다. 일 예시에서, 탐색 영역(404)은 수직 블록 범위 및 수평 블록 범위에 의해 정의된다. 이 예에서, 탐색 영역(404)은 현재 블록(402)으로부터의 수평 블록까지의 수평 거리 내에 있고 현재 블록(402)으로부터 수직 블록 범위와 동일한 수직 거리 내에 있는 모든 블록(202)을 포함하는 것으로 정의된다.
도 4에는 오직 2 개의 후보 모션 벡터들(406)만이 도시되어 있지만, 이는 명확성을 위해서일 뿐이다. 동작시, 이미지 프로세서(120)는 탐색 영역(404) 및 기준 프레임 내의 모든 블록들(202)에 대한 후보 모션 벡터들(406)을 식별하고, 각각의 후보 모션 벡터(406)에 대한 비용들을 식별하고, 최저 비용을 갖는 기준 프레임 내 블록(202)을 발견함으로써 현재 블록(402)에 대한 모션 벡터(407)를 식별할 것이다. 그 블록(202)을 가리키는 후보 모션 벡터(406)는 현재 블록(402)에 대한 모션 벡터(407)가 될 것이다. 또한, 비용(분석되는 모든 비용 중 "최저 비용")은 현재 블록(402)에 할당된 비용이 될 것이다. 현재 블록(402)에 대한 이러한 비용은 현재 블록(402)의 픽셀들이 탐색 영역(404) 내의 기준 프레임의 가장 유사한 블록(202)의 픽셀들과 얼마나 유사한지를 나타낼 것이다. 또한, 현재 블록(402)과 동일한 위치이지만, 기준 프레임 내의 블록을 가리키는 후보 모션 벡터(406)가, 현재 블록(402)에 대한 모션 벡터(407)를 결정함에 있어서 또한 탐색됨에 주목해야 한다. 이러한 후보 모션 벡터(406)는 기준 프레임 및 현재 프레임 사이의 현재 블록(402)의 픽셀들의 어떤 모션과도 관련성이 없을 것이다.
블록(202)의 비용을 결정하는데 사용될 수 있는 많은 기술들이 있다. 일례는 평균 절대 차 기술이다. 평균 절대 차 기법을 사용하면 비용은 다음 식에 따라 결정된다.
여기서Cij는 블록 내의 위치 i, j에서 현재 블록(402)의 픽셀이고 Rij는 비용이 결정되는 블록(202)에서의 대응하는 픽셀이다.
또 다른 예는 평균 제곱 오류이다. 평균 제곱 오류 기법을 사용하면, 비용은 다음 식에 따라 결정된다.
평균 절대 차 기술과 마찬가지로, Cij는 해당 블록 내의 위치 i, j에서의 현재 블록(402)의 픽셀이고 Rij는 비용이 결정되는 블록(202)에서의 대응하는 픽셀이다. 직접 분산 결정을 위한 "pixeli" 항목과 마찬가지로, Cij 또는 Rij 값은 픽셀이 YUV 색상 공간에서 표현될 경우 밝기 값일 수 있고, 픽셀이 RGB 색상 공간에서 표현될 경우 적색, 녹색 또는 청색 성분 중 하나일 수 있다. 블록(202)의 비용을 결정하기 위한 임의의 다른 기술적 실현가능한 기술이 대안으로 사용될 수 있다.
현재 블록(402)에 대한 비용 및 모션 벡터(407) 결정 후, 이미지 프로세서(120)는 이 항목들을 처리하여 현재 블록(402)에 대한 분산을 획득한다. 보다 구체적으로, 이미지 프로세서(120)는 비용을 분석하여 3개의 연산 중 어느 것이 현재 블록(402)에 대한 분산을 획득하기 위해 사용되는지를 결정한다. 제 1 연산은 비용이 제 1 임계 값 미만인 경우에 발생한다. 제 1 연산은 현재 블록(402)에 대한 분산으로서 현재 블록(402)에 대한 모션 벡터(407)에 의해 지시된 블록(202)의 분산을 사용하는 것이다. 개념적으로, 이는 다음 방식으로 생각될 수 있다. 현재 블록(402)의 비용이 충분히 낮은 경우, 모션 벡터(407)에 의해 지시된 블록(202)은 현재 블록(402)과 매우 유사하다고 간주된다. 따라서, 현재 블록(402)의 분산은 모션 벡터(407)에 의해 지시된 블록(202)의 분산과 동일하다고 간주될 수 있다. 이것이 발생할 때의 한가지 상황은 이미지에 움직임이 전혀 없을 때이다. 이러한 상황에서, 현재 블록(402)은 모션 벡터에 의해 지시된 블록(202)과 동일하고 비용은 0이거나 0에 가깝다.
현재 블록(402)의 비용에 기초하여 분산을 결정하는 제 2 연산은 비용이 제 1 임계 값보다 크지만 제 2 임계 값보다 낮을 때 발생한다. 이 예에서, 이미지 프로세서(120)는 모션 벡터(407)에 의해 지시된 블록(202)의 분산의 배수로서 분산을 결정한다. 배수의 범위는 0에서 1까지다. 일부 예에서, 배수는 상관 함수에 의해 결정되는 비용에 따라 변한다. 상관 함수를 결정하는 기술은 아래에 설명되어 있다.
현재 블록(402)의 비용에 기초하여 분산을 결정하는 제 3 연산은 비용이 제 2 임계 값 이상인 경우에 발생한다. 이 경우에, 현재 블록(402) 및 모션 벡터(407)에 의해 지시된 블록(202)은 너무 유사하지 않은 것으로 간주되고, 현재 블록(402)은 "신뢰할 수 없는 예측 분산"을 갖는 것으로 간주된다. 본 예에서, 이미지 프로세서(120)는 기준 이미지의 다른 블록(202)에 기초하기보다는 현재 블록(402)의 픽셀 값으로부터 직접 현재 블록(402)의 분산을 결정한다. 일 예시에서, 이미지 프로세서(202)는 도 3과 관련하여 제공된 식을 사용하여 직접적으로 분산을 결정한다:
이미지 프로세서(120)는 전술한 모션 벡터 기술을 사용하여 현재 프레임의 각 블록에 대한 모션 벡터(407) 및 비용을 결정한다. 신뢰할 수 없는 예측 분산을 갖는 현재 프레임의 블록 수가 제 3 임계 값 이상인 경우, 이미지 프로세서(120)는 장면 변경이 발생했다고 결정한다(즉, 현재 프레임의 너무 많은 블록이 기준 프레임 내의 임의의 다른 블록(202)과 매우 상이하다면, 이미지 프로세서(120)는 장면 변경이 발생했다고 결정한다). 장면 변경이 발생한 경우, 이미지 프로세서(120)는 현재 프레임의 블록들에 대한 분산을 기준 프레임 내의 블록(202)의 분산에 기초하는 대신, 현재 프레임의 모든 블록에 대한 분산을 직접 계산한다. 이미지 프로세서(120)가 현재 프레임의 모든 블록들에 대한 분산을 직접 계산하는 이유는 장면 변경 경계에서의 분산의 오류 전파를 피하기 위해서이다.
일부 예에서, 상관 함수, 제 1 임계 값, 제 2 임계 값 및 제 3 임계 값은 이미지 프로세서(120)에 교정 데이터(calibrationdata)로 하드 코딩(hard-coded)된다. 다른 예에서, 교정 데이터의 일부 또는 전부는 교정 과정에서 교정 시스템에 의해 결정된다. 일 예시에서, 교정 시스템은 기계 학습 기술을 통해 교정 데이터를 결정한다. 일 예시에서, 교정 시스템은 프로세서에 의한 실행을 위한 명령어를 저장하는 메모리 및 프로세서를 포함하는 컴퓨터와 같은 표준 컴퓨터 상에서 실행되는 소프트웨어이며, 상기 명령어는 교정 시스템의 동작을 프로세서로 하여금 수행하게 한다. 다른 예에서, 교정 시스템은 주문형 집적 회로(applicationspecificintegratedcircuit)로서 구현되거나, 또는, 여기에 설명된 동작들을 수행하기 위한 다른 기술적으로 실현 가능한 시스템일 수 있다.
기계 학습 기술의 한 예가 회귀 분석이다. 도 5는 회귀 분석의 예를 도시하는 그래프(500)이다. 회귀 분석을 적용하여 교정 데이터의 상관 함수를 찾기 위해 교정 시스템은 입력 데이터로 하나 이상의 훈련 비디오(trainingvideo)를 허용한다. 교정 시스템은 (예를 들어, 도 3과 관련하여 설명된 수식에 따라) 각각의 훈련 비디오의 각 프레임 내의 모든 블록에 대한 분산을 직접 결정한다. 교정 시스템은 각 비디오의 각 프레임에 대해 어떤 기준 프레임을 사용해야 하는지 결정한다(한 예에서 모든 프레임의 기준 프레임은 바로 이전 프레임이다). 교정 시스템은 각 프레임의 블록 각각에 대한 비용을 결정한다. 전술한 바와 같이, 임의의 특정 프레임의 임의의 특정 블록에 대한 비용은 기준 프레임과 관련된다. 그런 다음 교정 시스템은 각 블록에 대한 "분산 승수"(variancemultipliers) 세트를 생성하고, 비용에 대한 분산 승수를 플롯으로 나타낸다. x 축에 플롯된 분산 승수는 일 프레임에서 블록의 실제 분산과, 비용이 계산되는 기준 프레임에서의 대응 블록의 실제 분산 간의 곱한 관계이다. 그래프(500)는 분산 승수 대 비용의 예시 플롯이며, 각 데이터 포인트는 단일 블록에 대응하며, 단일 블록에 대한 분산 배수 및 비용에 의해 정의된다.
이 데이터가 플롯으로 그려진 후에 교정 시스템은 플롯된 데이터에 곡선을 맞춘다. 결과 곡선은 상관 함수로 작용한다. 환언하면, 데이터에 적합한 곡선은 상관 함수로서 이미지 프로세서(120)에 의해 사용된다. 곡선을 플롯된 데이터에 맞추기 위한 기술적으로 실현 가능한 임의의 기술이 사용될 수 있다(예: 데이터에 곡선을 맞추기 위한 임의의 비선형 회귀 기술). 분산 승수와 비용을 상관시키기 위한 다른 기술적으로 실현 가능한 기계 학습 기술이 사용될 수 있다.
제 1 임계 값(502)은 전술한 바와 같이 그 이하에서 분산 승수가 1로 설정되는 임계 값이다. 제 2 임계 값(504)은 그보다 높을 때, 이미지 프로세서(120)가 예측된 분산이 신뢰할 수 없는 예측된 분산이 될 것이라고 결정하는 임계치이다. (이 임계 값은 위에서 설명한 첫 번째 및 두 번째 임계 값이다). 이러한 임계값 각각은 이미지 프로세서(120)의 연산시 오류 정도를 제한하도록 설정될 수 있다. 보다 구체적으로, 상관 함수가 결정된 후, 교정 시스템은 제 1 임계 값(502) 및 제 2 임계 값(504)을 임의의 값으로 설정하고, 앞서 설명한 분산 연산 기술을 테스트 데이터에 적용하여 예측된 분산 값을 얻으며, 예측된 분산 값과 실제 분산 값(예를 들어, 도 3과 관련하여 기술된 수식에서처럼 직접 계산을 통해, 결정됨) 사이의 오류를 결정한다. 이 오류가 바람직하지 않은 오류율 이상이면, 교정 시스템은 제 1 임계 값(502)을 낮게 설정하거나 제 2 임계 값(504)을 높게 설정하거나, 또는 제 1 임계 값(502)을 낮게 설정하고 제 2 임계 값(504)을 높게 설정한다. 교정 시스템은 오류가 원하는 비율 이하가 될 때까지 이 과정을 반복한다. 유사하게, 일부 예에서, 제 3 임계 값은 하나 이상의 비디오에 위에 제공된 분산 계산 기술을 적용하고, 오류율을 검출하고, 만족스러운 오류율이 달성될 때까지 제 3 임계치를 변경함으로써 결정된다.
일부 예에서, 이미지 프로세서(120)는 교정 데이터의 다수의 세트를 저장하고, 여기서 각각의 세트는 비디오의 상이한 유형의 비디오에 대해 저장되며, 여기서 "유형"은 비디오의 콘텐트 유형을 나타낸다. 일부 비디오 유형은 자연 비디오, 액션 영화, 뉴스 비디오, 토크쇼 비디오 등을 포함한다. 일부 예에서, 각각의 비디오는 이미지 프로세서(120)가 어떤 교정 데이터 세트를 사용할지를 결정할 수 있게 하는 유형 식별자로 태그된다.
몇몇 예들에서, 상관 함수는 사용되지 않는다. 대신에, 모션 벡터에 의해 지시된 블록(202)의 분산이, 현재 블록(402)의 비용에 기초하여 사용되거나 사용되지 않는다. 달리 말하면, 제 1 임계 값은 제 2 임계 값과 동일하여, 상관 함수가 사용되는 구간의 비용 값의 범위가 붕괴되어 존재하지 않는다. 비용이 제 1임계 값 및 제 2 임계 값 미만이고, 이 경우, 모션 벡터에 의해 지시된 블록(202)의 분산이 사용되거나, 또는, 비용이 제 1 임계 값 및 제 2 임계 값을 초과하며, 이 경우, 이미지 프로세서(120)가 현재 블록(402)의 분산을 직접 결정한다.
도 6은 일례에 따라, "비용"(기준 프레임의 블록들에 대한 유사성)에 기초하여 분산 값들을 결정하는 방법(600)의 흐름도이다. 도 1 내지 도 5와 관련하여 도시되고 기술된 시스템과 관련하여 설명되었지만, 기술적으로 실현 가능한 순서로 본 방법을 수행하도록 구성된 임의의 시스템이 본 개시의 범위 내에 있다는 것이 이해되어야 한다.
방법(600)은 단계(602)에서 시작하고, 여기서 이미지 프로세서(120)는 현재 블록에 대한 모션 벡터 및 비용을 결정한다. 일 예에서, 이미지 프로세서(120)는 상술한 모션 벡터 기술을 사용하는 것과 같이, 모션 벡터를 직접 결정한다. 보다 구체적으로, 이미지 프로세서(120)는 탐색 영역을 식별하고, 탐색 영역 내의 기준 프레임 내의 모든 블록을 식별하고, 탐색 영역 내의 기준 프레임 내의 모든 블록에 대한 비용을 결정하고, 최저로 결정된 비용을 식별함으로써, 현재 블록에 대한 모션 벡터 및 비용을 직접 결정한다. 최저로 결정된 비용은 현재 블록에 대한 비용이고, 최저로 결정된 비용과 연관된 모션 벡터는 현재 블록에 대한 모션 벡터이다. 모션 벡터를 결정하는 다른 예에서, 이미지 프로세서(120)는 이미지 압축, 비디오 분석 등과 같은 다른 목적을 위해 이미 결정된 모션 벡터를 획득한다.
단계(604)에서, 이미지 프로세서(120)는 블록에 대한 비용이 제 1 임계 값 미만인지 여부를 결정한다. 제 1 임계 값은 그 이하에서, 모션 벡터와 관련된 블록이 현재 블록과 충분히 유사하여 그 블록에 대한 분산이 현재 블록에 대한 분산으로 사용될 수 있다고 결정되는 레벨을 나타낸다. 따라서, 비용이 제 1 임계 값 미만이면, 방법(600)은 단계(606)으로 진행하며, 여기서 이미지 프로세서(120)는 결정된 모션 벡터와 연관된 블록의 분산을 현재 블록에 대한 분산으로 사용한다. 단계(606) 후에, 방법(600)은 단계(608)로 진행한다.
단계(604)에서, 비용이 제 1 임계 값 이상이라고 이미지 프로세서(120)가 결정하면, 방법(600)은 단계(610)로 진행한다. 단계(610)에서, 이미지 프로세서(120)는 비용이 제 1 임계 값보다 높고 제 2 임계 값 미만인지 여부를 결정한다. 제 2 임계 값은 그보다 높을 때, 예상 분산이 신뢰할 수 없는 것으로 간주되는 레벨이다(비용이 너무 높으므로 비용과 관련된 블록이 현재 블록과 너무 상이함). 비용이 제 1 임계 값보다 크지만 제 2 임계 값 아래인 경우, 방법(600)은 단계(612)로 진행하고, 여기서, 이미지 프로세서(120)는 상기 상관 함수를 모션 벡터에 의해 지시된 블록의 분산에 적용하여, 현재 블록에 대한 분산을 얻는다. 단계(612) 후에, 방법(600)은 단계(608)로 진행한다.
단계(610)에서, 이미지 프로세서(120)가 비용이 제 1 임계 값보다 크지만 제 2 임계 값보다 낮다고 결정하지 않으면, 비용은 제 2 임계 값 이상이고 방법은 단계(614)로 진행한다. 단계(614)에서, 이미지 프로세서(120)는 현재 블록에 대한 예측된 분산이 신뢰할 수 없다고 결정하고, 이미지 프로세서(120)는 가령, 도 3과 관련하여 위에서 제공된 수식을 통해, 직접적으로 현재 블록에 대한 분산을 결정한다. 단계(614) 후에, 방법은 단계(608)로 진행한다.
단계(608)에서, 이미지 프로세서(120)는 현재 프레임에서 분석할 다른 블록이 있는지를 결정한다. 다른 블록이 존재하면, 방법(600)은 단계(602)로 되돌아 가고, 다른 블록이 없다면, 방법(600)은 단계(616)으로 진행한다. 단계(616)에서, 현재 프레임의 모든 블록이 분석되고, 방법(600)은 신뢰할 수 없는 예측된 분산을 갖는 블록의 수가 제 3 임계 값보다 큰지 여부를 결정한다. 신뢰할 수 없는 예측 분산을 갖는 블록의 수가 제 3 임계 값보다 큰 경우, 방법(600)은 단계(620)으로 진행하고, 신뢰할 수 없는 예측 분산을 갖는 블록의 수가 제 3 임계 값 미만인 경우, 방법(600)은 단계(618)로 진행하여, 방법(600)이 종료된다. 단계(620)에서, 이미지 프로세서(120)는 단계(606) 또는 단계(612)에서 결정된 분산 대신에, 현재 프레임의 모든 블록에 대해 직접 결정된 분산을 사용한다. 단계(620) 이후, 방법은 단계(618)로 진행한다.
블록들에 대해 결정되는 분산에 대한 많은 가능한 용도들이 존재한다. 한 가지 예가 비디오 안정화이다. 비디오 안정화의 목적은 비디오에서 원하지 않는 카메라 움직임을 제거하는 것이다. (예를 들어, 이미지 프로세서(120)의 일부인) 비디오 안정기(videostabilizer)는 비디오 내의 블록(202)에 대한 모션 벡터를 식별함으로써 비디오에서 원치 않는 모션이 발생하는 방식을 식별한다. 특히, 비디오 안정화가 수행될 임의의 프레임에 대해, 이미지 프로세서(120)는 프레임 내의 다양한 블록에 대한 모션 벡터를 결정한다. 모션 벡터는 기준 프레임에 대한 카메라의 추정된 모션을 나타낸다. 이미지 프로세서(120)는 기준 프레임에 대한 카메라의 추정된 모션에 기초하여 현재 프레임을 수정함으로써 현재 프레임을 정정할 수 있다. 카메라의 추정된 모션을 결정할 때, 이미지 프로세서(120)는 특정 모션 벡터를 사용하지만, 다른 모션 벡터는 피한다. 보다 상세하게는, 분산이 낮은 블록(202)은 부정확한 모션 벡터를 갖게 되는데, 그 이유는 이러한 블록의 변화가 일반적으로 노이즈에 의해 지배되기 때문이다. 이러한 이유로, 이미지 프로세서(120)는 어느 모션 벡터를 무시할지를 결정하기 위해 블록(202)에 대해 결정된 분산을 사용한다. 이미지 프로세서(120)는 임의의 기술적으로 실행 가능한 방식으로(예를 들어, 수동으로) 설정할 수 있는 특정 임계치 미만의 분산을 갖는 블록(202)에 대한 모션 벡터를 무시한다.
또 다른 예는 비디오 또는 이미지 크기 조정(resizing)이다. 이미지 크기 조정을 위한 한 가지 기술은 심 카빙(seamcarving)이다(예: "SeamCarvingforContent-AwareImageResizing" 참조). 심 카빙(Seamcarving)은 중요하지 않은 것으로 여겨지는 이미지의 부분을 제거한다. 일부 예에서, 블록은 블록의 분산에 기초하여 중요하지 않은 것으로 결정된다. 분산이 낮은 블록은 중요하지 않은 것으로 간주된다. 분산을 사용할 수 있는 또 다른 예는 손실이 있는 비디오 압축이다. 손실이 있는 비디오 압축에서는 분산이 낮은 블록을 더 큰 정도 또는 손실이 많은 방식으로 압축할 수 있고, 이 경우 더 높은 분산을 가진 블록이 더 작은 정도 또는 비손실 방식으로 압축된다.
분산이 사용될 수 있는 방식에 대해 설명된 동작의 일부 또는 전부 뿐만 아니라 이미지의 블록에 대한 분산을 결정하기 위한 본원에서 설명된 동작 중 일부 또는 전부는 이미지 프로세서(120)에 의해 수행된다.
여기에 기술된 기술들은 비디오의 프레임들에 대한 분산을 결정하기 위한 유리한 기술을 제공한다. 특히, 이 기술들은 모션 벡터에 의해 지시된 기준 프레임 내의 블록의 분산을 사용하거나 또는 그 분산의 수정된 버전을 사용하여, 모션 벡터에 기초한 분산을 결정한다. 기존재하는 분산을 사용하면 분산을 결정하는 데 필요한 계산량이 줄어들어, 분산을 결정하는 데 필요한 시간이 단축된다.
픽셀 블록에 대한 분산을 결정하기 위한 예시적인 방법이 제공된다. 상기 방법은 상기 픽셀 블록에 대한 모션 벡터를 식별하는 단계를 포함하며, 상기 모션 벡터는 기준 프레임의 제 2 픽셀 블록과 관련된다. 상기 방법은 또한 상기 픽셀 블록에 대한 비용을 결정하는 단계를 포함하며, 상기 비용은 상기 픽셀 블록과 상기 제 2 픽셀 블록 간의 유사도를 나타낸다. 이 방법은 비용에 기초하여 픽셀 블록에 대한 분산을 결정하는 단계를 더 포함한다.
일 실시예에서, 비용에 기초하여 픽셀 블록에 대한 분산을 결정하는 단계는 비용이 제 1 임계 값 이하임을 결정하는 단계와, 비용이 제 1 임계 값 아래라고 결정하는 것에 응답하여, 픽셀 블록에 대한 분산을 기준 프레임의 제 2 픽셀 블록의 분산과 동일하다고 결정하는 단계를 포함한다. 일 실시예에서, 비용에 기초하여 픽셀 블록에 대한 분산을 결정하는 단계는 비용이 제 1 임계 값보다 크지만 제 2 임계 값 아래인 것으로 결정하고 비용이 제 1 임계 값보다 크지만 제 2 임계 값보다 낮다고 결정하는 것에 응답하여, 상기 픽셀 블록의 분산을, 상기 상관 인자를 곱한 상기 기준 프레임의 상기 제 2 픽셀 블록의 분산과 동일한 것으로 정의하는 단계를 포함한다.
일 실시예에서, 상관 인자는 비디오 훈련 데이터에 기초한 상관 함수에 기초한다. 일 실시예에서, 비용에 기초하여 픽셀 블록에 대한 분산을 결정하는 단계는 비용이 제 1 임계 값 및 제 2 임계 값을 초과 하는지를 결정하는 단계를 포함하고, 비용이 제 1 임계 값 및 제 2 임계 값보다 위에 있다고 결정한 것에 응답하여, 픽셀 블록의 픽셀에 기초하여 직접적으로 픽셀 블록에 대한 분산을 결정하는 단계를 포함한다.
일 실시예에서, 분산을 결정하는 단계는, 픽셀 블록이 존재하는 현재 프레임 내 블록들의 임계 개수에 대한 비용이 모두 제 1 임계 값 및 제 2 임계 값보다 높다고 결정하는 단계와, 임계 개수의 블록에 대한 비용이 상기 제 1 임계 값 및 상기 제 2 임계 값보다 높다고 결정함에 응답하여, 각각의 각 픽셀 블록의 픽셀 값에 기초하여 상기 현재 프레임의 모든 픽셀 블록에 대한 분산을 직접 결정하는 단계를 포함한다.
일 실시예에서, 픽셀 블록에 대한 모션 벡터를 식별하는 단계는 탐색 영역 내의 기준 프레임의 픽셀 블록들을 지시하는 후보 모션 벡터들의 세트를 식별하는 단계와, 탐색 영역 내 상기 기준 프레임의 픽셀 블록들 각각에 대한 비용을 결정하는 단계와, 결정된 비용의 최저 비용을 식별하는 단계와, 결정된 비용의 최저 비용과 연관된 후보 모션 벡터를 픽셀 블록에 대한 모션 벡터로서 식별하는 단계를 포함한다. 일 예시에서, 각각의 픽셀 블록에 대한 비용을 결정하는 것은 평균 절대 차 기술 또는 평균 제곱 오류 기법을 픽셀 블록들의 픽셀에 적용하는 것을 포함한다. 일 예시에서, 기준 프레임은 픽셀 블록이 존재하는 현재 프레임 이전 또는 이후의 프레임을 포함한다.
픽셀 블록에 대한 분산을 결정하기 위한 예시적인 컴퓨터 시스템이 제공된다. 상기 컴퓨터 시스템은 프로세서 및 상기 프로세서에 의해 실행될 때 상기 프로세서로 하여금 단계들을 수행하게 하는 명령어들을 저장하는 메모리를 포함한다. 상기 단계들은 상기 픽셀 블록에 대한 모션 벡터를 식별하는 단계를 포함하며, 상기 모션 벡터는 기준 프레임의 제 2 픽셀 블록과 관련된다. 상기 단계들은 또한 상기 픽셀 블록에 대한 비용을 결정하는 단계를 포함하며, 상기 비용은 상기 픽셀 블록과 상기 제 2 픽셀 블록 사이의 유사성의 정도를 나타낸다. 이 단계들은 또한 비용에 기초하여 픽셀 블록에 대한 분산을 결정하는 단계를 포함한다.
일 실시예에서, 상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계는, 상기 비용이 제 1 임계 값 미만임을 결정하는 단계; 및 상기 비용이 상기 제 1 임계 값 미만임을 결정하는 것에 응답하여, 상기 픽셀 블록에 대한 분산을 상기 기준 프레임의 상기 제 2 픽셀 블록의 분산과 동일한 것으로 결정하는 단계를 포함한다. 일 예시에서, 상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계는, 상기 비용이 제 1 임계 값보다 높지만 제 2 임계 값보다 낮다고 결정하는 단계; 및 상기 비용이 상기 제 1 임계 값보다 높지만 상기 제 2 임계 값보다 낮다고 결정하는 것에 응답하여, 상기 픽셀 블록에 대한 분산을, 상관 인자와 곱한 상기 기준 프레임의 제 2 픽셀 블록의 분산과 동일한 것으로 결정하는 단계를 포함한다.
일 예시에서, 상기 상관 인자는 비디오 훈련 데이터에 기초한 상관 함수에 기초한다. 일 예시에서, 상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계는, 상기 비용이 제 1 임계 값 및 제 2 임계 값보다 높음을 결정하는 단계; 및 상기 비용이 상기 제 1 임계 값 및 상기 제 2 임계 값보다 높다고 결정하는 것에 응답하여, 상기 픽셀 블록의 픽셀에 기초하여 상기 픽셀 블록에 대한 분산을 직접 결정하는 단계를 포함한다.
일 예시에서, 상기 분산을 결정하는 단계는, 상기 픽셀 블록이 존재하는 현재 프레임에서의 임계 개수의 블록들에 대한 비용들이 모두 제 1 임계 값 및 제 2 임계 값보다 높은 것으로 결정하는 단계; 및 상기 임계 개수의 블록에 대한 비용이 상기 제 1 임계 값 및 상기 제 2 임계 값보다 높다고 결정한 것에 응답하여, 각각의 개별 픽셀 블록의 픽셀 값에 기초하여 상기 현재 프레임의 모든 픽셀 블록에 대한 분산을 직접 결정하는 단계를 포함한다.
일 예시에서, 상기 픽셀 블록에 대한 상기 모션 벡터를 식별하는 단계는, 탐색 영역 내에서 상기 기준 프레임의 픽셀 블록들을 지시하는 후보 모션 벡터들의 세트를 식별하는 단계; 상기 탐색 영역 내에서 상기 기준 프레임의 각 픽셀 블록에 대한 비용을 결정하는 단계; 결정된 비용의 최저 비용을 식별하는 단계; 및 상기 픽셀 블록에 대한 모션 벡터로서, 상기 결정된 비용의 최저 비용과 관련된 후보 모션 벡터를 식별하는 단계를 포함한다. 일 예시에서, 상기 픽셀 블록들 각각에 대한 비용을 결정하는 단계는, 픽셀 블록들의 픽셀들에 대해 평균 절대 차 기법 또는 평균 제곱 오류 기법을 적용하는 단계를 포함한다. 일 예시에서, 상기 기준 프레임은 상기 픽셀 블록이 존재하는 현재 프레임 전 또는 후의 프레임을 포함한다.
프로세서에 의해 실행될 때, 픽셀 블록에 대한 분산을 결정하기 위한 방법을 프로세서로 하여금 실행하게 하는 명령어를 저장한 비-일시적 컴퓨터-판독가능 매체가 제공된다. 상기 방법은, 상기 픽셀 블록에 대한 모션 벡터를 식별하는 단계 - 상기 모션 벡터는 기준 프레임의 제 2 픽셀 블록과 관련됨; 를 포함한다. 상기 방법은 상기 픽셀 블록과 상기 제 2 픽셀 블록 사이의 유사도를 나타내는 비용을 상기 픽셀 블록에 대해 결정하는 단계를 또한 포함한다. 상기 방법은, 상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계를 더 포함한다.
일 예시에서, 상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계는, 상기 비용이 제 1 임계 값 미만임을 결정하는 단계; 및 상기 비용이 상기 제 1 임계 값 미만이라고 결정하는 것에 응답하여, 상기 픽셀 블록에 대한 분산을 상기 기준 프레임의 상기 제 2 픽셀 블록의 분산과 동일한 것으로 결정하는 단계를 포함한다. 일 예시에서, 상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계는, 상기 비용이 제 1 임계 값보다 높지만 제 2 임계 값보다 낮다고 결정하는 단계; 및 상기 비용이 상기 제 1 임계 값보다 높지만 상기 제 2 임계 값보다 낮다고 결정하는 것에 응답하여, 상기 픽셀 블록에 대한 분산을, 상관 인자와 곱한 상기 기준 프레임의 제 2 픽셀 블록의 분산과 동일한 것으로 결정하는 단계를 포함한다.
일 예시에서, 상기 상관 인자는 비디오 훈련 데이터에 기초한 상관 함수에 기초한다. 일 예시에서, 상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계는, 상기 비용이 제 1 임계 값 및 제 2 임계 값보다 높음을 결정하는 단계; 및 상기 비용이 상기 제 1 임계 값 및 상기 제 2 임계 값보다 높다고 결정하는 것에 응답하여, 상기 픽셀 블록의 픽셀에 기초하여 상기 픽셀 블록에 대한 분산을 직접 결정하는 단계를 포함한다.
일 예시에서, 상기 분산을 결정하는 단계는, 상기 픽셀 블록이 존재하는 현재 프레임에서의 임계 개수의 블록들에 대한 비용들이 모두 제 1 임계 값 및 제 2 임계 값보다 높은 것으로 결정하는 단계; 및 상기 임계 개수의 블록에 대한 비용이 상기 제 1 임계 값 및 상기 제 2 임계 값보다 높다고 결정한 것에 응답하여, 각각의 개별 픽셀 블록의 픽셀 값에 기초하여 상기 현재 프레임의 모든 픽셀 블록에 대한 분산을 직접 결정하는 단계를 포함한다.
일 예시에서, 상기 픽셀 블록에 대한 상기 모션 벡터를 식별하는 단계는, 탐색 영역 내에서 상기 기준 프레임의 픽셀 블록들을 지시하는 후보 모션 벡터들의 세트를 식별하는 단계; 상기 탐색 영역 내에서 상기 기준 프레임의 각 픽셀 블록에 대한 비용을 결정하는 단계; 결정된 비용의 최저 비용을 식별하는 단계; 및 상기 픽셀 블록에 대한 모션 벡터로서, 상기 결정된 비용의 최저 비용과 관련된 후보 모션 벡터를 식별하는 단계를 포함한다. 일 예시에서, 상기 픽셀 블록들 각각에 대한 비용을 결정하는 단계는, 픽셀 블록들의 픽셀들에 대해 평균 절대 차 기법 또는 평균 제곱 오류 기법을 적용하는 단계를 포함한다. 일 예시에서, 상기 기준 프레임은 상기 픽셀 블록이 존재하는 현재 프레임 전 또는 후의 프레임을 포함한다.
본 명세서의 개시에 기초하여 많은 변형이 가능하다는 것을 이해해야 한다. 특징 및 요소가 특정 조합으로 상술되었지만, 각 특징 또는 요소는 다른 특징 및 요소없이 단독으로 또는 다른 특징 및 요소와 함께 또는 다양한 조합으로 사용될 수 있다.
제공된 방법은 범용 컴퓨터, 프로세서 또는 프로세서 코어에서 구현될 수 있다. 적합한 프로세서는 예를 들어 범용 프로세서, 특수 목적 프로세서, 종래 프로세서, 디지털 신호 프로세서(DSP), 복수의 마이크로 프로세서, DSP 코어와 관련된 하나 이상의 마이크로프로세서, 제어기, 마이크로컨트롤러, ASIC(ApplicationSpecificIntegratedCircuits),FPGA(FieldProgrammableGateArrays)회로, 임의의 다른 유형의 집적 회로(IC) 및/또는 상태 머신을 포함한다. 이러한 프로세서는 처리된 하드웨어 설명 언어(HDL) 명령어 및 넷리스트(컴퓨터 판독 가능 매체에 저장될 수 있는 명령어)를 포함하는 다른 중간 데이터의 결과를 사용하여 제조 프로세스를 구성함으로써 제조될 수 있다. 그러한 처리의 결과는 실시예의 실시형태를 구현하는 프로세서를 제조하기 위해 반도체 제조 공정에서 사용되는 마스크작업 일 수 있다.
여기에 제공된 방법 또는 흐름도는 범용 컴퓨터 또는 프로세서에 의한 실행을 위해 비 일시적 컴퓨터 판독 가능 저장 매체에 통합된 컴퓨터 프로그램, 소프트웨어 또는 펌웨어로 구현될 수 있다. 비 일시적 컴퓨터 판독 가능 저장 매체의 예로는 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 레지스터, 캐시 메모리, 반도체 메모리 장치, 내부 하드 디스크 및 이동식 디스크와 같은 자기 매체, 자기 광학 매체, 광학 매체, 가령, CD-ROM 디스크 및 DVD(digitalversatiledisk)가 포함된다.
Claims (20)
- 픽셀 블록에 대한 분산을 결정하기 위한 방법으로서,
상기 픽셀 블록에 대한 모션 벡터를 식별하는 단계 - 상기 모션 벡터는 기준 프레임의 제 2 픽셀 블록과 관련됨 - 와;
상기 픽셀 블록과 상기 제 2 픽셀 블록 사이의 유사도를 나타내는 비용을 상기 픽셀 블록에 대해 획득하는 단계 - 상기 비용은 상기 모션 벡터의 식별에 의해 사전에 결정됨 - 와; 그리고
상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계를 포함하고,
상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계는,
상기 비용이 제 1 임계 값보다 높지만 제 2 임계 값보다 낮다고 결정하는 단계; 및
상기 비용이 상기 제 1 임계 값보다 높지만 상기 제 2 임계 값보다 낮다고 결정하는 것에 응답하여, 상기 픽셀 블록에 대한 분산을, 상관 인자와 곱한 상기 기준 프레임의 제 2 픽셀 블록의 분산과 동일한 것으로 결정하는 단계를 포함하는, 방법. - 제 1 항에 있어서, 상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계는,
상기 비용이 상기 제 1 임계 값 미만임을 결정하는 단계; 및
상기 비용이 상기 제 1 임계 값 미만임을 결정하는 것에 응답하여, 상기 픽셀 블록에 대한 분산을 상기 기준 프레임의 상기 제 2 픽셀 블록의 분산과 동일한 것으로 결정하는 단계를 포함하는, 방법. - 삭제
- 제 1 항에 있어서,
상기 상관 인자는 비디오 훈련 데이터에 기초한 상관 함수에 기초하는, 방법. - 제 1 항에 있어서, 상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계는,
상기 비용이 상기 제 1 임계 값 및 상기 제 2 임계 값보다 높음을 결정하는 단계; 및
상기 비용이 상기 제 1 임계 값 및 상기 제 2 임계 값보다 높다고 결정하는 것에 응답하여, 상기 픽셀 블록의 픽셀에 기초하여 상기 픽셀 블록에 대한 분산을 직접 결정하는 단계를 포함하는, 방법. - 제 1 항에 있어서, 상기 분산을 결정하는 단계는,
상기 픽셀 블록이 존재하는 현재 프레임에서의 임계 개수의 블록들에 대한 비용들이 모두 상기 제 1 임계 값 및 상기 제 2 임계 값보다 높은 것으로 결정하는 단계; 및
상기 임계 개수의 블록에 대한 비용이 상기 제 1 임계 값 및 상기 제 2 임계 값보다 높다고 결정한 것에 응답하여, 각각의 개별 픽셀 블록의 픽셀 값에 기초하여 상기 현재 프레임의 모든 픽셀 블록에 대한 분산을 직접 결정하는 단계를 포함하는, 방법. - 제 1 항에 있어서, 상기 픽셀 블록에 대한 상기 모션 벡터를 식별하는 단계는,
탐색 영역 내에서 상기 기준 프레임의 픽셀 블록들을 지시하는 후보 모션 벡터들의 세트를 식별하는 단계;
상기 탐색 영역 내에서 상기 기준 프레임의 각 픽셀 블록에 대한 비용을 결정하는 단계;
결정된 비용의 최저 비용을 식별하는 단계; 및
상기 픽셀 블록에 대한 모션 벡터로서, 상기 결정된 비용의 최저 비용과 관련된 후보 모션 벡터를 식별하는 단계를 포함하는, 방법. - 제 7 항에 있어서, 상기 픽셀 블록들 각각에 대한 비용을 결정하는 단계는,
픽셀 블록들의 픽셀들에 대해 평균 절대 차 기법 또는 평균 제곱 오류 기법을 적용하는 단계를 포함하는, 방법. - 제 1 항에 있어서, 상기 기준 프레임은 상기 픽셀 블록이 존재하는 현재 프레임 전 또는 후의 프레임을 포함하는, 방법.
- 픽셀 블록에 대한 분산을 결정하기 위한 컴퓨터 시스템에 있어서,
프로세서; 및
상기 프로세서에 의한 실행을 위한 명령어들을 저장하는 메모리를 포함하고, 상기 명령어들은 상기 프로세서로 하여금:
기준 프레임의 제 2 픽셀 블록과 연관된 모션 벡터를 상기 픽셀 블록에 대해 식별하는 단계와;
상기 픽셀 블록과 상기 제 2 픽셀 블록 사이의 유사도를 나타내는 비용을 상기 픽셀 블록에 대해 획득하는 단계 - 상기 비용은 상기 모션 벡터의 식별에 의해 사전에 결정됨 - 와; 그리고
상기 비용에 기초하여 픽셀 블록에 대한 분산을 결정하는 단계를 수행하게 하고,
상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계는,
상기 비용이 제 1 임계 값보다 높지만 제 2 임계 값보다 낮다고 결정하는 단계; 및
상기 비용이 상기 제 1 임계 값보다 높지만 상기 제 2 임계 값보다 낮다고 결정하는 것에 응답하여, 상기 픽셀 블록에 대한 분산을, 상관 인자와 곱한 상기 기준 프레임의 제 2 픽셀 블록의 분산과 동일한 것으로 결정하는 단계를 포함하는, 컴퓨터 시스템. - 제 10 항에 있어서, 상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계는,
상기 비용이 상기 제 1 임계 값 미만임을 결정하는 단계; 및
상기 비용이 상기 제 1 임계 값 미만이라고 결정하는 것에 응답하여, 상기 픽셀 블록에 대한 분산을 상기 기준 프레임의 상기 제 2 픽셀 블록의 분산과 동일한 것으로 결정하는 단계를 포함하는, 컴퓨터 시스템. - 삭제
- 제 10 항에 있어서,
상관 인자는 비디오 훈련 데이터에 기초한 상관 함수에 기초하는, 컴퓨터 시스템. - 제 10 항에 있어서, 상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계는,
상기 비용이 상기 제 1 임계 값 및 상기 제 2 임계 값보다 높음을 결정하는 단계; 및
상기 비용이 상기 제 1 임계 값 및 상기 제 2 임계 값보다 높다고 결정하는 것에 응답하여, 상기 픽셀 블록의 픽셀에 기초하여 상기 픽셀 블록에 대한 분산을 직접 결정하는 단계를 포함하는, 컴퓨터 시스템. - 제 10 항에 있어서, 상기 분산을 결정하는 단계는,
상기 픽셀 블록이 존재하는 현재 프레임에서의 임계 개수의 블록들에 대한 비용들이 모두 상기 제 1 임계 값 및 상기 제 2 임계 값보다 높은 것으로 결정하는 단계; 및
상기 임계 개수의 블록에 대한 비용이 상기 제 1 임계 값 및 상기 제 2 임계 값보다 높다고 결정한 것에 응답하여, 각각의 개별 픽셀 블록의 픽셀 값에 기초하여 상기 현재 프레임의 모든 픽셀 블록에 대한 분산을 직접 결정하는 단계를 포함하는, 컴퓨터 시스템. - 제 10 항에 있어서, 상기 픽셀 블록에 대한 모션 벡터를 식별하는 단계는,
탐색 영역 내에서 상기 기준 프레임의 픽셀 블록들을 지시하는 후보 모션 벡터들의 세트를 식별하는 단계;
상기 탐색 영역 내에서 상기 기준 프레임의 각 픽셀 블록에 대한 비용을 결정하는 단계;
결정된 비용 중 최저 비용을 식별하는 단계; 및
상기 픽셀 블록에 대한 모션 벡터로서, 상기 결정된 비용 중 최저 비용과 관련된 후보 모션 벡터를 식별하는 단계를 포함하는, 컴퓨터 시스템. - 제 16 항에 있어서, 상기 픽셀 블록들 각각에 대한 비용을 결정하는 단계는,
픽셀 블록들의 픽셀들에 대해 평균 절대 차 기법 또는 평균 제곱 오류 기법을 적용하는 단계를 포함하는, 컴퓨터 시스템. - 제 10 항에 있어서, 상기 기준 프레임은 상기 픽셀 블록이 존재하는 현재 프레임 이전 또는 이후의 프레임을 포함하는 컴퓨터 시스템.
- 프로세서에 의해 실행될 때, 픽셀 블록에 대한 분산을 결정하기 위한 방법을 프로세서로 하여금 실행하게 하는 명령어를 저장한 비-일시적 컴퓨터-판독가능 매체에 있어서, 상기 방법은,
상기 픽셀 블록에 대한 모션 벡터를 식별하는 단계 - 상기 모션 벡터는 기준 프레임의 제 2 픽셀 블록과 관련됨 - 와;
상기 픽셀 블록과 상기 제 2 픽셀 블록 사이의 유사도를 나타내는 비용을 상기 픽셀 블록에 대해 획득하는 단계 - 상기 비용은 상기 모션 벡터의 식별에 의해 사전에 결정됨 - 와; 그리고
상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계를 포함하고,
상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계는,
상기 비용이 제 1 임계 값보다 높지만 제 2 임계 값보다 낮다고 결정하는 단계; 및
상기 비용이 상기 제 1 임계 값보다 높지만 상기 제 2 임계 값보다 낮다고 결정하는 것에 응답하여, 상기 픽셀 블록에 대한 분산을, 상관 인자와 곱한 상기 기준 프레임의 제 2 픽셀 블록의 분산과 동일한 것으로 결정하는 단계를 포함하는, 비-일시적 컴퓨터-판독가능 매체. - 제 19 항에 있어서, 상기 비용에 기초하여 상기 픽셀 블록에 대한 분산을 결정하는 단계는,
상기 비용이 상기 제 1 임계 값 미만임을 결정하는 단계; 및
상기 비용이 상기 제 1 임계 값 미만이라고 결정하는 것에 응답하여, 상기 픽셀 블록에 대한 분산을 상기 기준 프레임의 상기 제 2 픽셀 블록의 분산과 동일한 것으로 결정하는 단계를 포함하는, 비-일시적 컴퓨터-판독가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/292,757 | 2016-10-13 | ||
US15/292,757 US10291931B2 (en) | 2016-10-13 | 2016-10-13 | Determining variance of a block of an image based on a motion vector for the block |
PCT/CA2017/051103 WO2018068129A1 (en) | 2016-10-13 | 2017-09-19 | Determining variance of a block of an image based on a motion vector for the block |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190060774A KR20190060774A (ko) | 2019-06-03 |
KR102500265B1 true KR102500265B1 (ko) | 2023-02-15 |
Family
ID=61904265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020197008906A KR102500265B1 (ko) | 2016-10-13 | 2017-09-19 | 블록의 모션 벡터에 기초한 이미지의 블록의 분산 결정 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10291931B2 (ko) |
EP (1) | EP3526767A4 (ko) |
JP (1) | JP7150706B2 (ko) |
KR (1) | KR102500265B1 (ko) |
CN (1) | CN109791695B (ko) |
WO (1) | WO2018068129A1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10992938B2 (en) * | 2018-09-28 | 2021-04-27 | Ati Technologies Ulc | Spatial block-level pixel activity extraction optimization leveraging motion vectors |
US11368692B2 (en) | 2018-10-31 | 2022-06-21 | Ati Technologies Ulc | Content adaptive quantization strength and bitrate modeling |
US10924739B2 (en) | 2018-10-31 | 2021-02-16 | Ati Technologies Ulc | Efficient quantization parameter prediction method for low latency video coding |
US11234004B2 (en) | 2018-12-03 | 2022-01-25 | Ati Technologies Ulc | Block type prediction leveraging block-based pixel activities |
US10972752B2 (en) | 2018-12-05 | 2021-04-06 | Advanced Micro Devices, Inc. | Stereoscopic interleaved compression |
US10951892B2 (en) | 2019-01-31 | 2021-03-16 | Advanced Micro Devices, Inc. | Block level rate control |
US11100889B2 (en) | 2019-02-28 | 2021-08-24 | Ati Technologies Ulc | Reducing 3D lookup table interpolation error while minimizing on-chip storage |
US11106039B2 (en) | 2019-08-26 | 2021-08-31 | Ati Technologies Ulc | Single-stream foveal display transport |
US11307655B2 (en) | 2019-09-19 | 2022-04-19 | Ati Technologies Ulc | Multi-stream foveal display transport |
US11875516B2 (en) | 2020-12-28 | 2024-01-16 | Waymo Llc | Systems, apparatus, and methods for retrieving image data of image frames |
WO2024018166A1 (en) * | 2022-07-22 | 2024-01-25 | Blackbird Plc | Computer-implemented methods of blurring a digital image; computer terminals and computer program products |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050047504A1 (en) * | 2003-09-03 | 2005-03-03 | Sung Chih-Ta Star | Data stream encoding method and apparatus for digital video compression |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0825778A3 (en) * | 1996-08-22 | 1998-06-10 | Cirrus Logic, Inc. | Method for motion estimation |
FI103003B1 (fi) * | 1997-06-13 | 1999-03-31 | Nokia Mobile Phones Ltd | Suodatusmenetelmä, suodatin ja matkaviestinpääte |
US6591015B1 (en) | 1998-07-29 | 2003-07-08 | Matsushita Electric Industrial Co., Ltd. | Video coding method and apparatus with motion compensation and motion vector estimator |
US6529634B1 (en) | 1999-11-08 | 2003-03-04 | Qualcomm, Inc. | Contrast sensitive variance based adaptive block size DCT image compression |
CN1181691C (zh) * | 2003-01-24 | 2004-12-22 | 杭州国芯科技有限公司 | 视频运动估计方法 |
KR100621005B1 (ko) * | 2003-12-24 | 2006-09-08 | 엘지전자 주식회사 | 영상 오류 복구장치 및 방법 |
JP2007228519A (ja) | 2006-02-27 | 2007-09-06 | Renesas Technology Corp | 画像符号化装置及び画像符号化方法 |
JP5045320B2 (ja) * | 2007-09-05 | 2012-10-10 | ソニー株式会社 | 画像処理装置、および画像処理方法、並びにコンピュータ・プログラム |
KR101540138B1 (ko) * | 2007-12-20 | 2015-07-28 | 퀄컴 인코포레이티드 | 적응적 조사영역을 갖는 모션추정 장치 및 방법 |
JP5251637B2 (ja) * | 2009-03-16 | 2013-07-31 | 株式会社リコー | ノイズ低減装置、ノイズ低減方法、ノイズ低減プログラム、記録媒体 |
US8411750B2 (en) | 2009-10-30 | 2013-04-02 | Qualcomm Incorporated | Global motion parameter estimation using block-based motion vectors |
CN102215386B (zh) * | 2010-04-09 | 2013-03-27 | 华为技术有限公司 | 视频图像块处理方法及装置 |
US20110289128A1 (en) * | 2010-05-24 | 2011-11-24 | Chih-Ta Star Sung | Method of performing discrete cosine transform |
CN106454379B (zh) * | 2010-09-30 | 2019-06-28 | 三菱电机株式会社 | 运动图像编码装置及其方法、运动图像解码装置及其方法 |
WO2014058796A1 (en) * | 2012-10-08 | 2014-04-17 | Google Inc | Method and apparatus for video coding using reference motion vectors |
US9426475B2 (en) * | 2013-06-25 | 2016-08-23 | VIXS Sytems Inc. | Scene change detection using sum of variance and estimated picture encoding cost |
CN105450973A (zh) * | 2014-09-29 | 2016-03-30 | 华为技术有限公司 | 一种视频图像的获取方法及装置 |
-
2016
- 2016-10-13 US US15/292,757 patent/US10291931B2/en active Active
-
2017
- 2017-09-19 KR KR1020197008906A patent/KR102500265B1/ko active IP Right Grant
- 2017-09-19 JP JP2019517385A patent/JP7150706B2/ja active Active
- 2017-09-19 CN CN201780060571.6A patent/CN109791695B/zh active Active
- 2017-09-19 EP EP17860279.3A patent/EP3526767A4/en active Pending
- 2017-09-19 WO PCT/CA2017/051103 patent/WO2018068129A1/en unknown
-
2019
- 2019-04-08 US US16/377,524 patent/US11445214B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050047504A1 (en) * | 2003-09-03 | 2005-03-03 | Sung Chih-Ta Star | Data stream encoding method and apparatus for digital video compression |
Non-Patent Citations (1)
Title |
---|
Chih-Hung Kuo, et. al., "Fast motion search with efficient inter-prediction mode decision for H.264", Journal of Visual communication and Image Representation Volume 17, Issue 2, April 2006, Pages 217* |
Also Published As
Publication number | Publication date |
---|---|
CN109791695A (zh) | 2019-05-21 |
EP3526767A4 (en) | 2020-06-17 |
US11445214B2 (en) | 2022-09-13 |
CN109791695B (zh) | 2023-06-20 |
US20190238884A1 (en) | 2019-08-01 |
JP7150706B2 (ja) | 2022-10-11 |
JP2020500448A (ja) | 2020-01-09 |
WO2018068129A1 (en) | 2018-04-19 |
US10291931B2 (en) | 2019-05-14 |
US20180109804A1 (en) | 2018-04-19 |
KR20190060774A (ko) | 2019-06-03 |
EP3526767A1 (en) | 2019-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102500265B1 (ko) | 블록의 모션 벡터에 기초한 이미지의 블록의 분산 결정 | |
US10438361B2 (en) | Image processing apparatus and image processing method for finding background regions in an image | |
US11113795B2 (en) | Image edge processing method, electronic device, and computer readable storage medium | |
RU2603529C2 (ru) | Уменьшение шума в последовательностях изображений | |
KR102094506B1 (ko) | 피사체 추적 기법을 이용한 카메라와 피사체 사이의 거리 변화 측정방법 상기 방법을 기록한 컴퓨터 판독 가능 저장매체 및 거리 변화 측정 장치. | |
US10650779B2 (en) | Image processing apparatus and recording medium | |
US20150269739A1 (en) | Apparatus and method for foreground object segmentation | |
US20150213582A1 (en) | Image processing apparatus and method thereof | |
KR102274320B1 (ko) | 영상 처리 방법 및 장치 | |
US20170068840A1 (en) | Predicting accuracy of object recognition in a stitched image | |
US10115206B2 (en) | Detection system, detection method, and program storage medium | |
US20150187051A1 (en) | Method and apparatus for estimating image noise | |
JP6415689B2 (ja) | 映像解析装置 | |
US20160035106A1 (en) | Image processing apparatus, image processing method and medium storing image processing program | |
KR101592087B1 (ko) | 배경 영상의 위치를 이용한 관심맵 생성 방법 및 이를 기록한 기록 매체 | |
KR102413043B1 (ko) | 영상 컨텐츠의 샷 분할 방법 및 장치 | |
US20190050966A1 (en) | Method and apparatus for detecting noise of satellite image and restoring image | |
JP5699856B2 (ja) | 動画像処理装置、動画像処理方法及び動画像処理用コンピュータプログラム | |
WO2014060248A2 (en) | Layered (segmented) block match for motion or disparity (3d) estimation | |
JPWO2014174799A1 (ja) | 画像内領域重要度評価装置、方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |