KR101786921B1 - 고속 움직임 추정을 위한 장치 및 방법 - Google Patents

고속 움직임 추정을 위한 장치 및 방법 Download PDF

Info

Publication number
KR101786921B1
KR101786921B1 KR1020160142457A KR20160142457A KR101786921B1 KR 101786921 B1 KR101786921 B1 KR 101786921B1 KR 1020160142457 A KR1020160142457 A KR 1020160142457A KR 20160142457 A KR20160142457 A KR 20160142457A KR 101786921 B1 KR101786921 B1 KR 101786921B1
Authority
KR
South Korea
Prior art keywords
image
current
integral
block
order
Prior art date
Application number
KR1020160142457A
Other languages
English (en)
Other versions
KR20160130351A (ko
Inventor
배태면
Original Assignee
에스케이플래닛 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to KR1020160142457A priority Critical patent/KR101786921B1/ko
Publication of KR20160130351A publication Critical patent/KR20160130351A/ko
Application granted granted Critical
Publication of KR101786921B1 publication Critical patent/KR101786921B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/223Analysis of motion using block-matching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation

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)

Abstract

본 발명은 고속 움직임 추정을 위한 장치 및 방법에 관한 것으로서, n차원의 현재영상과 기준영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 현재 n차 영상과 기준 n차 영상을 각각 생성하는 n차 영상 생성부, 상기 현재 n차 영상들의 면적에 의한 현재 n차 integral 영상을 생성하고, 상기 기준 n차 영상들의 면적에 의한 기준 n차 integral 영상을 생성하는 n차 integral 영상 생성부, 상기 현재 n차 integral 영상을 이용하여 현재영상의 특정 블록에 대한 n차 모멘텀을 구하고, 상기 기준 n차 integral 영상을 이용하여 기준영상의 특정 블록에 대한 n차 모멘텀을 구하는 n차 모멘텀 계산부, 상기 현재영상의 특정 블록에 대한 n차 모멘텀과 상기 기준영상의 특정블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하고, 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 움직임 벡터 추정부를 포함한다.
따라서, 본 발명에 따르면, 현재영상의 각 블록(block)에 대해 n차 integral 영상을 한 번 계산하여 찾으면 모든 후보 움직임 벡터에 대해 동일하게 사용할 수 있으므로 NxN 크기의 블록 비교시 연산시간을 감소시켜 속도를 향상시킬 수 있다.

Description

고속 움직임 추정을 위한 장치 및 방법{Apparatus and Method for fast motion estimation}
본 발명은 고속 움직임 추정을 위한 장치 및 방법에 관한 것으로, 더욱 상세하게는 n차원의 현재(current)영상과 기준(reference)영상에 대한 n차 영상을 각각 생성하고, 그 n차 영상들의 면적에 의한 n차 integral 영상을 생성한 후, 상기 n차 integral 영상을 이용하여 현재영상 및 기준영상의 특정 블록에 대한 n차 모멘텀을 각각 구하고, 상기 현재영상과 기준영상의 특정 블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하고, 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 고속 움직임 추정을 위한 장치 및 방법에 관한 것이다.
*멀티미디어를 지원해주는 핵심 요소로는 디지털화와 더불어 영상 압축 기술이 있다. 최근 들어 정보의 디지탈화가 급속도로 발전하고 있으며, 이에 따라 영상 압축 기술이 매우 중요하게 부각되고 있다.
일반적으로, PC나 HDTV, 모바일 디바이스 등의 디지털 영상장치는 MPEG(Moving Picture Experts Group)-2, MPEG-4, H.264와 같은 영상 압축 방식으로 압축된 영상 신호를 MPEG기반 영상 코덱으로 인코딩하여 표시한다.
이러한 영상 코덱은 블록 정합(Block matching) 방식을 기반으로 시간적인 중복성을 제거한다. 블록 정합 방식은 영상을 작은 블록으로 나누고, 현재 인코딩/디코딩되는 영상의 블록과 유사한 부분을 시간적으로 이전 프레임 또는 이전에 인코딩/디코딩된 영상에서 찾아서 활용하고 그 차이값을 전송하는 방법으로 압축하게 된다.
이를 위해 이전 프레임과 현재 프레임 사이에서 가장 비슷한 블록을 찾는 작업이 필요한데, 이를 움직임 추정(Motion Estimation, ME)이라 하며 블록이 얼마만큼 움직였는가 하는 변위를 나타내는 것을 움직임 벡터(Motion Vector, MV)라고 한다.
영상 신호 압축을 위한 움직임 추정(motion estimation)시에는 현재영상을 매크로블록으로 분할하고, 시간적으로 이전 영상과 SAD(Sum of Absolute Difference)또는 SSD(Sum of Square Difference)와 같은 오차값이 최소가 되는 영역과의 좌표 차를 움직임 벡터로 사용한다.
H.264의 경우 SAD 또는 SSD와 함께 움직임 벡터를 전송하는 데 요구되는 데이터량을 함께 고려한 값을 cost로 하여 cost가 가장 낮은 값을 보이는 움직임 벡터를 움직임 예측에 사용한다.
여기서, 움직임 벡터를 찾기 위해서는 SAD 또는 SSD를 움직임 탐색 영역의 모든 픽셀에 대해 모두 계산하고, 그 중 최소값을 가지는 위치를 찾아야 한다. 예컨대, 블록의 크기가 N x N 픽셀이고 움직임 탐색 영역이 32x32라면 1024*(2NxN-1)번의 덧셈/뺄셈 연산이 필요하며, 영상의 크기가 100Nx80N정도라면 8192000*(2NxN-1)*(NxN)의 연산이 필요하다. 이는 영상 인코딩 시 최대 50%까지의 연산을 차지할 정도로 많은 연산량으로, 시스템 부하를 유발하고 처리 속도를 지연시키는 문제점이 있다.
한국공개특허 제2004-0049214호(2004.06.11), 발명의 명칭: 고속 모션벡터 추정장치 및 방법
본 발명은 상기한 문제점을 해결하기 위하여 안출한 것으로, 본 발명의 목적은 블록 정합(block matching)을 통해 최소의 SAD 또는 SSD를 찾고, 그 SAD 또는 SSD를 이용하여 움직임 벡터를 추정하여 움직임 추정 시 소요되는 연산량을 줄이고, 고속의 영상 인코딩을 가능하게 하는 고속 움직임 추정을 위한 장치 및 방법을 제공하는데 있다.
본 발명의 다른 목적은 현재영상의 각 블록(block)에 대해 n차 integral 영상을 한 번 계산하여 찾으면 모든 후보 움직임 벡터에 대해 동일하게 사용할 수 있으므로 NxN 크기의 블록 비교시 연산시간을 감소시켜 속도를 향상시킬 수 있는 고속 움직임 추정을 위한 장치 및 방법을 제공하는데 있다.
상기 목적들을 달성하기 위하여 본 발명의 일 측면에 따르면, n차원의 현재영상과 기준영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 현재 n차 영상과 기준 n차 영상을 각각 생성하는 n차 영상 생성부, 상기 현재 n차 영상들의 면적에 의한 현재 n차 integral 영상을 생성하고, 상기 기준 n차 영상들의 면적에 의한 기준 n차 integral 영상을 생성하는 n차 integral 영상 생성부, 상기 현재 n차 integral 영상을 이용하여 현재영상의 특정 블록에 대한 n차 모멘텀을 구하고, 상기 기준 n차 integral 영상을 이용하여 기준영상의 특정 블록에 대한 n차 모멘텀을 구하는 n차 모멘텀 계산부, 상기 현재영상의 특정 블록에 대한 n차 모멘텀과 상기 기준영상의 특정블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하고, 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 움직임 벡터 추정부를 포함하는 움직임 추정 장치가 제공된다.
상기 n차 영상 생성부는,
[수학식]
Figure 112016105586095-pat00001
을 이용하여 n차 영상을 생성하되, 여기서, i(x,y)은 현재영상 또는 기준영상을 나타낸 원영상이고, On(x,y)는 n차 영상, (x,y)는 픽셀 좌표를 나타낸다.
상기 n차 integral 영상 생성부는
[수학식]
Figure 112016105586095-pat00002
을 이용하여 현재 n차 integral 영상과 기준 n차 integral 영상을 각각 생성하되, (x,y)는 픽셀좌표, In(x,y)는 integral 영상, On(x,y)는 n차 영상을 나타낸다.
상기 n차 모멘텀 계산부는 현재영상과 기준영상의 특정 블록 4개 좌표의 n차 integral 영상에 의한 다음의 수학식을 이용하여 상기 특정 블록의 면적을 구하되, 상기 특정 블록의 면적이 상기 현재영상 또는 기준영상의 특정 블록에 대한 n차 모멘텀(Mn)을 의미한다.
[수학식]
Figure 112016105586095-pat00003
여기서, 상기 In(xe, ye)는 (xe, ye)좌표에서의 n차 integral 영상, In(xe-1, ye-1)는 (xe-1, ye-1)좌표에서의 n차 integral 영상, In(xe-1, ye)는 (xe-1, ye)좌표에서의 n차 integral 영상, In(xe, ye-1)는 (xe, ye-1) 좌표에서의 n차 integral 영상을 나타낸다.
상기 움직임 벡터 추정부는 상기 블록 정합 오차를 다음의 수학식을 이용하여 SAD 및 SSD 중 적어도 어느 하나의 값으로 산출한다.
[수학식]
Figure 112016105586095-pat00004
Figure 112016105586095-pat00005
여기서 Mn,ref는 기준영상의 특정블록의 n차 모멘텀, Mn,curr는 현재영상의 특정블록의 n차 모멘텀, αn 및 ßn 는 n차 모멘텀에 대한 가중치, γ는 scale 상수를 나타낸다.
본 발명의 다른 측면에 따르면,n차원의 현재(current)영상과 기준(reference)영상에 대한 n차 영상을 각각 생성하고, 그 n차 영상들의 면적에 의한 n차 integral 영상을 생성한 후, 상기 n차 integral 영상들을 이용하여 현재영상 및 기준영상의 특정 블록에 대한 n차 모멘텀을 각각 구하고, 상기 현재영상과 기준영상의 특정 블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하고, 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 움직임 추정부, 상기 추정된 움직임 벡터를 이용하여 상기 기준영상으로부터 상기 현재영상에 대한 예측영상을 생성하는 움직임 보상부, 상기 현재영상으로부터 상기 생성된 예측 영상을 감산함으로써 상기 현재 영상과 상기 예측 영상의 차이를 생성하는 감산부, 상기 생성된 현재 영상과 예측 영상의 차이를 부호화하는 부호화부를 포함하는 고속 움직임 추정을 위한 영상 부호화 장치가 제공된다.
본 발명의 또 다른 측면에 따르면, n차원의 현재영상과 기준영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 현재 n차 영상과 기준 n차 영상을 각각 생성하는 단계, 상기 현재 n차 영상들의 면적에 의한 현재 n차 integral 영상을 생성하고, 상기 기준 n차 영상들의 면적에 의한 기준 n차 integral 영상을 생성하는 단계, 상기 현재 n차 integral 영상을 이용하여 현재영상의 특정 블록에 대한 n차 모멘텀을 구하고, 상기 기준 n차 integral 영상을 이용하여 기준영상의 특정 블록에 대한 n차 모멘텀을 구하는 단계, 상기 현재영상의 특정 블록에 대한 n차 모멘텀과 상기 기준영상의 특정블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하는 단계, 상기 구해진 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 단계를 포함하는 고속 움직임 추정 방법이 제공된다.
상술한 바와 같이 본 발명에 따르면, 블록 정합(block matching)을 통해 최소의 SAD 또는 SSD를 찾아서 움직임 벡터를 추정하므로, 움직임 추정 시 소요되는 연산량을 줄이고, 고속의 영상 인코딩을 가능하게 할 수 있다.
또한, 현재영상의 각 블록(block)에 대해 n차 integral 영상을 한 번 계산하여 찾으면 모든 후보 움직임 벡터에 대해 동일하게 사용할 수 있으므로 NxN 크기의 블록 비교시 연산시간을 감소시켜 속도를 향상시킬 수 있다.
도 1은 본 발명에 따른 고속 움직임 추정이 가능한 영상 부호화 장치의 구성을 나타낸 도면.
도 2는 본 발명에 따른 고속 움직임 추정을 위한 움직인 추정 장치의 구성을 나타낸 도면.
도 3은 본 발명에 따른 움직임 추정 장치가 고속 움직임을 추정하는 방법을 나타낸 흐름도.
도 4는 본 발명에 따른 n차 모멘텀을 구하는 방법을 설명하기 위한 도면.
본 발명의 전술한 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하 상세한 설명에 의해 보다 명확하게 이해될 것이다.
도 1은 본 발명에 따른 고속 움직임 추정이 가능한 영상 부호화 장치의 구성을 나타낸 도면이다.
도 1을 참조하면, 고속 움직임 추정이 가능한 영상 부호화 장치(100)는 움직임 추정부(110), 움직임 보상부(120), 감산기(130), 주파수 공간 변환부(140), 양자화부(150), 엔트로피 부호화부(160), 역양자화부(170), 주파수 공간 역변환부(180), 가산기(190)를 포함한다.
상기 움직임 추정부(110)는 현재(current)영상의 블록 단위로 현재영상의 블록과 가장 잘 일치하는 기준(reference)영상의 블록간의 변위에 해당하는 움직임 벡터를 산출한다. 상기 기준영상은 현재영상보다 시간적으로 이전의 영상, 혹은, 인코딩/디코딩 순서에서 이 전에 처리된 영상을 말한다.
즉, 상기 움직임 추정부(110)는 n차원의 현재(current)영상과 기준(reference)영상에 대한 n차 영상을 각각 생성하고, 그 n차 영상들의 면적에 의한 n차 integral 영상을 생성한다. 그런 다음 상기 움직임 추정부(110)는 상기 n차 integral 영상들을 이용하여 현재영상 및 기준영상의 특정 블록에 대한 n차 모멘텀(momentum)을 각각 구하고, 상기 현재영상과 기준영상의 특정 블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구한 후, 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정한다.
상기와 같은 역할을 수행하는 움직임 추정부(110)에 대한 상세한 설명은 도 2를 참조하기로 한다. 도 2에서는 움직임 추정부(110)를 움직임을 추정하는 움직임 추정 장치로 하여 설명하기로 한다.
상기 움직임 보상부(120)는 현재영상의 블록 단위로 움직임 추정부(110)에 의해 움직임 벡터를 사용하여 기준영상으로부터 현재영상에 대한 예측영상을 생성한다.
상기 감산기(130)는 현재영상으로부터 움직임 보상부(120)에 의해 생성된 예측 영상을 감산함으로써 현재 영상과 예측영상의 차이를 생성한다.
상기 주파수 공간 변환부(140)는 감산기(130)에 의해 생성된 현재 영상과 예측 영상의 차이를 색 공간으로부터 주파수 공간으로 변환한다. 색 공간으로부터 주파수 공간으로 변환하는 방식의 예로는 DHT(Discrete Hadamard Transformation), DCT(Discrete Cosine Transformation) 기반의 정수 변환 등을 들 수 있다.
상기 양자화부(150)는 주파수 공간 변환부(140)에 의해 변환된 값들을 양자화한다. 즉, 양자화부(150)는 주파수 공간 변환부(140)에 의해 변환된 주파수 성분 값들을 양자화 파라미터로 나누고, 그 결과를 정수 값들로 근사화한다.
상기 엔트로피 부호화부(160)는 양자화부(150)에 의해 양자화된 값들을 엔트로피 부호화함으로서 비트 스트림을 생성하고, 이것을 출력한다. 엔트로피 부호화 방식의 예로는 CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context -Adaptive Binary Arithmetic Coding) 등을 들 수 있다.
상기 역양자화부(170)는 양자화부(150)에 의해 양자화된 값들을 역양자화한다. 즉, 역양자화부(170)는 양자화부(150)에 의해 근사화된 정수 값들에 양자화 파라미터를 곱함으로서 주파수 성분 값들을 복원한다.
상기 주파수 공간 역변환부(180)는 역양자화부(170)에 의해 복원된 주파수 성분 값들을 주파수 공간으로부터 색 공간으로 변환함으로서 현재영상과 예측 영상의 차이를 복원한다.
상기 가산기(190)는 움직임 보상부(120)에 의해 생성된 예측 영상에 주파수 공간 역변환부(180)에 복원된 현재 영상과 예측 영상의 차이를 가산함으로써 복원 영상을 생성한다.
도 2는 본 발명에 따른 고속 움직임 추정을 위한 움직인 추정 장치의 구성을 나타낸 도면이다.
도 2를 참조하면, 고속 움직임 추정을 위한 움직인 추정 장치(200)는 n차 영상 생성부(210), n차 integral 영상 생성부(220), n차 모멘텀 계산부(230), 움직임 벡터 추정부(240)를 포함한다.
상기 n차 영상 생성부(210)는 n차원의 현재영상과 기준영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 현재 n차 영상과 기준 n차 영상을 각각 생성한다. 여기서, 상기 n차원이라는 것은 1차원, 2차원, 3차원 등의 차원을 말한다.
즉, 상기 n차 영상 생성부(210)는 수학식 1을 이용하여 n차 영상을 생성한다.
Figure 112016105586095-pat00006
여기서, i(x,y)은 현재영상 또는 기준영상을 나타낸 원영상이고, On(x,y)는 n차 영상, (x,y)는 픽셀 좌표를 나타낸다.
상기 n차 영상 생성부(210)는 현재영상과 기준영상이 입력되면, 상기 현재영상과 기준영상을 일정 개수의 블록으로 나눈다. 이때, 상기 블록은 N x N 크기의 블록으로, 예를들면, 16 x 16 크기의 블록, 8 x 8 크기의 블록, 4 x 4 크기의 블록 중 어떠한 크기의 블록도 될 수 있다.
그런 다음 상기 n차 영상 생성부(210)는 n차원의 현재영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 n차 영상을 생성하고, n차원의 기준영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 n차 영상을 생성한다. 상기 n차원의 현재영상, n차원의 기준영상이라는 말은 1차원 영상, 2차원 영상. 3차원 영상 등을 말한다. 따라서, 상기 n차 영상 생성부(210)는 현재영상 및 기준영상이 3차원인 경우 각 픽셀값을 3번 곱한 값을 픽셀값으로 하는 현재 3차 영상과 기준 3차 영상을 각각 생성한다.
또한, 현재영상 및 기준영상이 2차원인 경우, 상기 n차 영상 생성부(210)는 현재영상 및 기준영상에서 각 픽셀값을 2번 곱한 값을 픽셀값으로 하는 현재 2차 영상과 기준 2차 영상을 각각 생성한다.
이때, 현재영상 및 기준영상의 블록크기가 N*N인 경우, 상기 n차 영상 생성부(210)는 상기 현재영상 및 기준영상의 블록크기에 해당하는 N개의 현재 n차 영상과 N개의 기준 n차 영상을 각각 생성한다.
상기 n차 integral 영상 생성부(220)는 상기 현재 n차 영상들의 면적을 구하여 현재 n차 integral 영상을 생성하고, 상기 기준 n차 영상들의 면적을 구하여 기준 n차 integral 영상을 생성한다. 이때, 상기 n차 integral 영상 생성부(220)는 N개의 n차 영상들에 대해 integral 영상을 각각 생성하여 N개의 n차 integral 영상을 생성한다
즉, 상기 n차 integral 영상 생성부(220)는 수학식 2를 이용하여 현재 n차 integral 영상과 기준 n차 integral 영상을 각각 생성한다.
Figure 112016105586095-pat00007
여기서, (x,y)는 픽셀좌표, In(x,y)는 n차 integral 영상, On(x,y)는 n차 영상을 나타낸다.
상기 n차 integral 영상 생성부(220)가 n차 integral 영상을 생성하는 이유는 영상내 특정 rectangular 영역에 대한 n차 모멘텀을 고속으로 계산하기 위해서이다
상기 n차 모멘텀 계산부(230)는 상기 현재 n차 integral 영상을 이용하여 현재영상의 특정 블록에 대한 n차 모멘텀을 구하고, 상기 기준 n차 integral 영상을 이용하여 기준영상의 특정 블록에 대한 n차 모멘텀을 구한다.
즉, 상기 n차 모멘텀 계산부(230)는 수학식 3을 이용하여 현재영상 또는 기준영상의 특정 블록에 대한 n차 모멘텀(Mn)을 각각 구한다.
Figure 112016105586095-pat00008
여기서, 상기 x는 특정 영역에 포함되는 픽셀(pixel)값, E[xn]은 특정영역의 n차 모멘텀, In(xe, ye)는 (xe, ye) 픽셀 좌표에서의 n차 integral 영상, In(xe-1, ye-1)는 (xe-1, ye-1) 픽셀 좌표에서의 n차 integral 영상, In(xe-1, ye)는 (xe-1, ye) 픽셀 좌표에서의 n차 integral 영상, In(xe, ye-1)는 (xe, ye-1) 픽셀 좌표에서의 n차 integral 영상을 말한다.
상기 수학식 3을 살펴보면, 상기 n차 모멘텀 계산부(230)는 현재영상과 기준영상의 특정 블록 4개 좌표에 대한 n차 integral 영상을 이용하여 상기 특정 블록의 면적을 구한다. 이때, 상기 특정 블록의 면적이 상기 현재영상 또는 기준영상의 특정 블록에 대한 n차 모멘텀(Mn)일 수 있다.
상기 움직임 벡터 추정부(240)는 상기 현재영상의 특정 블록에 대한 n차 모멘텀과 상기 기준영상의 특정블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하고, 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정한다.
즉, 상기 움직임 벡터 추정부(240)는 상기 블록 정합 오차를 수학식 4에 의한 SAD 또는 수학식 5에 의한 SSD 중 적어도 어느 하나의 값으로 산출한다.
Figure 112016105586095-pat00009
Figure 112016105586095-pat00010
여기서 Mn,ref는 기준영상의 특정블록의 n차 모멘텀, Mn,curr는 현재영상의 특정블록의 αn, ßn 는 n차 모멘텀에 대한 가중치, γ는 scale 상수를 말한다.
상기 움직임 벡터 추정부(240)가 SAD와 SSD에 대응되는 블록 정합 오차를 계산시 1차에서 K차까지의 모멘텀(momentum)을 고려할 수 있으며, 이때 K는 시스템의 연산량을 고려하여 조절이 가능하다. 즉 K가 클수록 계산의 정확도와 연산량이 커지고, K가 작을수록 정확도와 연산량이 작아진다.
도 3은 본 발명에 따른 움직임 추정 장치가 고속 움직임을 추정하는 방법을 나타낸 흐름도, 도 4는 본 발명에 따른 n차 모멘텀을 구하는 방법을 설명하기 위한 도면이다.
도 3을 참조하면, n차원의 현재영상과 n차원의 기준영상이 입력되면(S302), 움직임 추정 장치는 상기 n차원의 현재영상과 n차원의 기준영상을 각각 일정 개수의 블록으로 나눈다(S304). 이때, 상기 블록들은 N*N크기를 갖는다.
상기 S304가 수행되면, 상기 움직임 추정 장치는 상기 n차원의 현재영상과 기준영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 현재 n차 영상과 기준 n차 영상을 각각 생성한다(S306). 즉, 상기 움직임 추정 장치는 수학식 1을 이용하여 n차 영상을 생성한다. 이때, 각 pixel값을 나타내는 변수를 x라고 하면 1차 영상은 x로 구성된 영상이고, 2차 영상은 x2으로 구성된 영상이다. 또한, 상기 움직임 추정 장치는 영상의 블록크기에 해당하는 N개의 n차 영상을 생성한다.
상기 S306의 수행 후, 상기 움직임 추정 장치는 상기 현재 n차 영상들의 면적에 의한 현재 n차 integral 영상과 상기 기준 n차 영상들의 면적에 의한 기준 n차 integral 영상을 생성한다(S308). 즉, 상기 움직임 추정 장치는 수학식 2를 이용하여 N개의 n차 integral 영상을 생성한다.
그런 다음 상기 움직임 추정 장치는 상기 현재 n차 integral 영상을 이용하여 현재영상의 특정 블록에 대한 n차 모멘텀을 구하고, 상기 기준 n차 integral 영상을 이용하여 기준영상의 특정 블록에 대한 n차 모멘텀을 구한다(S310). 즉, 상기 움직인 추정 장치는 수학식 3을 이용하여 n차 모멘텀을 구한다.
상기 움직임 추정 장치가 n차 모멘텀을 구하는 방법에 대해 도 4를 참조하면, (a)는 기준영상의 특정 블록(A')이 현재영상의 특정 블록(A)으로 움직였음을 나타낸다. 상기 움직임 추정 장치는 n차 모멘텀을 구하기 위하여 (b)와 같은 특정 블록에 대한 4개의 픽셀 좌표 즉, (xe, ye), (xe-1, ye-1), (xe-1, ye), (xe, ye-1)에서의 n차 integral 영상을 이용하여 블록 A에 대한 면적을 구한다.
즉, 상기 움직임 추정장치는 블록 A의 면적을 구하기 위하여 수학식 3과 같이 (xe, ye)에서의 n차 integral 영상에서 (xe-1, ye-1)에서의 n차 integral 영상을 더하고, (xe-1, ye)와 (xe, ye-1)에서의 n차 integral 영상을 빼서 상기 블록 A에 대한 면적을 구한다. 상기 구해진 면적이 n차 모멘텀 일 수 있다.
상기 S310의 수행 후, 상기 움직임 추정 장치는 상기 현재영상의 특정 블록에 대한 n차 모멘텀과 상기 기준영상의 특정블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하고(S312), 상기 구해진 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정한다(S314).
상기와 같이 움직임 추정 장치는 현재영상의 각 블록에 대해 n차 integral 영상을 한 번 계산하여 찾으면 모든 후보 움직임 벡터에 대해 동일하게 사용할 수 있으므로 NxN 크기의 블록비교시 (2NxN-1)번의 연산이 5*K-1로 감소하여 연산시간의 감소를 가져올 수 있다. 즉, 일반적으로 N이 8이므로, 기존 127번의 연산이 K가 2인 경우 9번, K가 3인 경우 14번으로 감소하므로 약 9배에서 14배정도의 속도 향상을 가져올 수 있다.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
이상과 같이 본 발명의 고속 움직임 추정을 위한 장치 및 방법은 블록 정합(block matching)을 통해 최소의 SAD 또는 SSD를 찾고, 그 SAD 또는 SSD를 이용하여 움직임 벡터를 추정하여 움직임 추정 시 소요되는 연산량을 줄이고, 고속의 영상 인코딩을 가능하게 하는 경우에 적합하다.
100 : 영상 부호화 장치 110 : 움직임 추정부
120 : 움직임 보상부 130 : 감산기
140 : 주파수 공간 변환부 150 : 양자화부
160 : 엔트로피 부호화부 170 : 역양자화부
180 : 주파수 공간 역변환부 190 : 가산기
200 : 움직임 추정 장치 210 : n차 영상 생성부
220 : n차 integral 영상 생성부 230 : n차 모멘텀 계산부
240 : 움직임 벡터 추정부

Claims (1)

  1. n차원의 현재영상과 기준영상에서 각 픽셀값을 n번 곱한 값을 픽셀값으로 하는 현재 n차 영상과 기준 n차 영상을 각각 생성하고,
    상기 현재 n차 영상들의 면적을 구하여 현재 n차 integral 영상을 생성하고, 상기 기준 n차 영상들의 면적을 구하여 기준 n차 integral 영상을 생성하며,
    상기 현재 n차 integral 영상을 이용하여 현재영상의 특정 블록에 대한 n차 모멘텀을 구하고, 상기 기준 n차 integral 영상을 이용하여 기준영상의 특정 블록에 대한 n차 모멘텀을 구하고, 상기 현재영상의 특정 블록에 대한 n차 모멘텀과 상기 기준영상의 특정블록에 대한 n차 모멘텀 간의 차를 이용하여 블록 정합 오차를 구하고, 블록 정합 오차가 최소인 블록들의 좌표 차를 움직임 벡터로 추정하는 움직임 추정부;
    상기 추정된 움직임 벡터를 이용하여 상기 기준영상으로부터 상기 현재영상에 대한 예측영상을 생성하는 움직임 보상부;
    상기 현재영상으로부터 상기 생성된 예측 영상을 감산함으로써 상기 현재 영상과 상기 예측 영상의 차이를 생성하는 감산부; 및
    상기 생성된 현재 영상과 예측 영상의 차이를 부호화하는 부호화부;
    를 포함하는 고속 움직임 추정을 위한 영상 부호화 장치.
KR1020160142457A 2016-10-28 2016-10-28 고속 움직임 추정을 위한 장치 및 방법 KR101786921B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160142457A KR101786921B1 (ko) 2016-10-28 2016-10-28 고속 움직임 추정을 위한 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160142457A KR101786921B1 (ko) 2016-10-28 2016-10-28 고속 움직임 추정을 위한 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020110072892A Division KR101786957B1 (ko) 2011-07-06 2011-07-22 고속 움직임 추정을 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160130351A KR20160130351A (ko) 2016-11-11
KR101786921B1 true KR101786921B1 (ko) 2017-10-18

Family

ID=57527797

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160142457A KR101786921B1 (ko) 2016-10-28 2016-10-28 고속 움직임 추정을 위한 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101786921B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040049214A (ko) 2002-12-05 2004-06-11 삼성전자주식회사 고속 모션벡터 추정장치 및 방법

Also Published As

Publication number Publication date
KR20160130351A (ko) 2016-11-11

Similar Documents

Publication Publication Date Title
JP5669278B2 (ja) 画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法
JP5277257B2 (ja) 動画像復号化方法および動画像符号化方法
KR100803611B1 (ko) 영상의 부호화, 복호화 방법 및 장치
US8761254B2 (en) Image prediction encoding device, image prediction decoding device, image prediction encoding method, image prediction decoding method, image prediction encoding program, and image prediction decoding program
JP6033725B2 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
US20180115787A1 (en) Method for encoding and decoding video signal, and apparatus therefor
JP4993676B2 (ja) 画像符号化装置及び画像符号化方法
JP5613319B2 (ja) 映像符号化装置、映像符号化方法および映像符号化プログラム
JP6042001B2 (ja) 動画像符号化装置及び動画像符号化方法
KR20040062257A (ko) 움직임 보상에 기반한 개선된 노이즈 예측 방법 및 그장치와 이를 사용한 동영상 부호화 방법 및 그 장치
US8792549B2 (en) Decoder-derived geometric transformations for motion compensated inter prediction
JP6259272B2 (ja) 映像符号化装置及び映像符号化プログラム
JP5832263B2 (ja) 画像符号化装置及び画像符号化方法
KR101786921B1 (ko) 고속 움직임 추정을 위한 장치 및 방법
JP6564315B2 (ja) 符号化装置、復号装置、及びプログラム
KR101786957B1 (ko) 고속 움직임 추정을 위한 장치 및 방법
JP2007228371A (ja) 画像符号化装置
KR20160128972A (ko) 프로파일 정보 기반 움직임 추정장치 및 방법
JP5358485B2 (ja) 画像符号化装置
JP6004852B2 (ja) ピクセルブロックを符号化及び再構成する方法と装置
JP2006074520A (ja) 動きベクトル検出装置
KR101895822B1 (ko) 프로파일 정보 기반 움직임 추정장치 및 방법
WO2013002219A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム及び動画像復号プログラム
US10051268B2 (en) Method for encoding, decoding video signal and device therefor
JP2022171424A (ja) 符号化装置、プログラム、及びモデル生成方法

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant