KR20160041387A - 영상 부호화 방법 및 장치 - Google Patents

영상 부호화 방법 및 장치 Download PDF

Info

Publication number
KR20160041387A
KR20160041387A KR1020140135139A KR20140135139A KR20160041387A KR 20160041387 A KR20160041387 A KR 20160041387A KR 1020140135139 A KR1020140135139 A KR 1020140135139A KR 20140135139 A KR20140135139 A KR 20140135139A KR 20160041387 A KR20160041387 A KR 20160041387A
Authority
KR
South Korea
Prior art keywords
motion vector
motion
block
difference
predictive
Prior art date
Application number
KR1020140135139A
Other languages
English (en)
Other versions
KR101647484B1 (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 KR1020140135139A priority Critical patent/KR101647484B1/ko
Publication of KR20160041387A publication Critical patent/KR20160041387A/ko
Application granted granted Critical
Publication of KR101647484B1 publication Critical patent/KR101647484B1/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
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/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/182Methods 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

영상 부호화 방법 및 장치가 개시된다. 영상 부호화 장치는 다중예측움직임 벡터 및 움직임 추정/보상부를 포함한다. 다중예측움직임벡터는 다중 예측 움직임 벡터를 입력 받고, 다중 예측 움직임 벡터의 예측 블록들 간의 화소 값 차이를 계산하며, 화소 값 차이에 따라 상기 다중 예측 움직임 벡터의 사용 여부를 결정한다. 움직임 추정/보상부는, 화소 값 차이가 소정의 기준 값보다 작은 경우, 다중 예측 움직임 벡터 중 하나의 예측 움직임 벡터를 사용하여 움직임을 추정 또는 보상한다.

Description

영상 부호화 방법 및 장치{METHOD AND APPARATUS FOR ENCODING VIDEO}
본 발명은 영상 부호화 방법 및 장치에 관한 것이다.
동영상 압축 코덱의 발전은 비디오 데이터를 획기적으로 압축함으로써, 멀티미디어 서비스 발전에 크게 기여하였다. 동영상 압축 코덱은 H.261, MPEG-1과 같은 초기 압축 코덱부터 HEVC 및 H264와 같은 최신 압축 코덱까지 지속적으로 압축 성능을 개선하였다.
동영상 압축 코덱들 중 HEVC 코덱은 기존 H.264 코덱에 비해 약 30% ~ 50% 절감된 비트량으로 동일한 화질의 영상을 제공할 수 있을 정도로 압축률이 뛰어나다.
본 발명이 해결하고자 하는 과제는 동영상 압축코덱의 압축율을 더욱 향상시키는 영상 부호화 방법 및 장치를 제공하는 것이다.
본 발명의 실시예에 따르면, 영상 부호화 장치가 제공된다. 상기 영상 부호화 장치는, 다중 예측 움직임 벡터를 입력 받고, 상기 다중 예측 움직임 벡터의 예측 블록들 간의 화소 값 차이를 계산하며, 상기 화소 값 차이에 따라 상기 다중 예측 움직임 벡터의 사용 여부를 결정하는 다중예측움직임벡터 사용여부 결정부, 그리고 상기 화소 값 차이가 소정의 기준 값보다 작은 경우, 상기 다중 예측 움직임 벡터 중 하나의 예측 움직임 벡터를 사용하여 움직임을 추정 또는 보상하는 움직임 추정/보상부를 포함할 수 있다.
상기 움직임 추정/보상부는 상기 화소 값 차이가 상기 기준 값보다 같거나 큰 경우, 상기 다중 예측 움직임 벡터를 사용하여 움직임을 추정 또는 보상할 수 있다.
상기 다중예측움직임벡터 사용여부 결정부는, 상기 예측 블록들 간의 화소 값 차이인 차분 블록을 계산하는 차분블록 생성부, 그리고 상기 차분 블록에 대해서 정수여현변환하여 변환 블록을 생성하는 변환부를 포함할 수 있다.
상기 다중예측움직임벡터 사용여부 결정부는, 상기 변환 블록에 대해서 양자화를 수행하여, 유효 계수를 생성하는 양자화부, 그리고 상기 유효 계수의 존재 유무에 따라 상기 다중 예측 움직임 벡터의 사용 여부를 결정하는 결정부를 더 포함할 수 있다.
상기 움직임 추정/보상부는, 상기 유효 계수가 존재하는 경우, 상기 하나의 예측 움직임 벡터를 사용하여 움직을 추정 또는 보상할 수 있으며, 상기 유효 계수가 존재하지 않는 경우, 상기 다중 예측 움직임 벡터를 사용하여 움직임을 추정 또는 보상할 수 있다.
상기 움직임 추정/보상부는 상기 화소 값 차이가 상기 기준 값보다 작은 경우, 상기 하나의 예측 움직임 벡터에 대한 인덱스만을 부호화할 수 있다.
상기 변환부는, 움직임을 추정 또는 보상하려는 현재 블록에 따라 정수여현변환 블록의 크기를 결정할 수 있다.
본 발명의 다른 실시예에 따르면, 동영상을 압축하여 부호화하는 영상 부호화 장치가 동영상의 움직임을 추정/보상하는 방법이 제공된다. 상기 방법은, 제1 및 제2 예측 움직임 벡터를 선택하는 단계, 상기 제1 예측 움직임 벡터의 예측 블록에 대한 화소 값과 상기 제2 예측 움직임 벡터의 예측 블록에 대한 화소 값 간의 차이인 차이 값을 계산하는 단계, 그리고 상기 차이 값이 소정의 기준 값보다 작은 경우, 상기 제1 및 제2 예측 움직임 벡터 중 하나의 예측 움직임 벡터를 사용하여, 움직임을 추정 또는 보상하는 단계를 포함할 수 있다.
상기 방법은, 상기 차이 값이 상기 기준 값과 같거나 큰 경우, 상기 제1 및 제2 예측 움직임 벡터를 사용하여, 움직임을 추정 또는 보상하는 단계를 더 포함할 수 있다.
상기 방법은, 상기 차이 값에 대해서 정수여현변환하여 변환 블록을 생성하는 단계, 그리고 상기 변환 블록을 양자화하여, 유효 계수를 생성하는 단계를 더 포함할 수 있다.
상기 추정 또는 보상하는 단계는, 상기 유효 계수가 존재하지 않는 경우, 상기 하나의 움직임 벡터를 사용하여, 움직임을 추정 또는 보상하는 단계를 포함할 수 있다.
상기 추정 또는 보상하는 단계는, 상기 유효 계수가 존재하는 경우, 상기 제1 및 제2 예측 움직임 벡터를 사용하여, 움직임을 추정 또는 보상하는 단계를 포함할 수 있다.
상기 방법은, 상기 차이 값이 상기 기준 값보다 작은 경우, 상기 하나의 예측 움직임 벡터에 대한 인덱스만을 부호화하는 단계를 더 포함할 수 있다.
상기 선택하는 단계는, 움직임을 추정 또는 보상하려는 현재 블록과 인접한 블록들의 움직임 벡터, 참조 프레임에서 상기 현재 블록과 동일한 위치 블록의 움직임 벡터, 그리고 제로 벡터 중에서, 상기 제1 및 제2 예측 움직임 벡터를 선택하는 단계를 포함할 수 있다.
본 발명의 실시예에 따르면, 다중 움직임 추정/보상시 다중 예측 움직임 벡터 사용 여부를 결정함으로써, 예측 움직임 벡터 인덱스에 대한 부호화 비트를 절감할 수 있다. 이를 통해 동영상 코덱에서의 압축율을 더욱 개선할 수 있다.
도 1은 본 발명의 제1 실시예에 따른 움직임 추정/보상 방법을 나타내는 도면이다.
도 2는 예측 블록의 화소 값이 차이가 있는 경우를 나타내는 도면이다.
도 3은 예측 블록의 화소 값이 차이가 없는 경우를 나타내는 도면이다.
도 4는 본 발명의 제2 실시예에 따른 영상 부호화 장치(400)를 나타내는 도면이다.
도 5는 다중움직임벡터 사용여부 결정부(410)의 구체적인 구성을 나타내는 도면이다.
도 6은 4x4 기본 벡터를 수직(Vertical) 및 수평(Horizontal)으로 적용한 기본 함수(Basis fuction)를 나타낸다.
도 7은 본 발명의 제2 실시예에 따른 영상 부호화 장치의 움직임 추정/보상 방법을 나타내는 도면이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
본 발명의 실시예에 따른 영상 부호화 방법 및 장치는 다중 예측 움직임 벡터를 이용하여 움직임을 추정/보상할 시에, 예측 움직임 벡터의 인덱스에 대한 부호화에 필요한 피트를 절감한다. 이를 통해 본 발명의 실시예는 동영상 압축 코덱에서 압축율을 더욱 개선할 수 있다. 이러한 본 발명의 실시예에 따른 영상 부호화 방법 및 장치에 대해서 아래에서 상세히 설명한다.
도 1은 본 발명의 제1 실시예에 따른 움직임 추정/보상 방법을 나타내는 도면이다.
동영상 압축 코덱에서, 움직임 추정/보상은 연속된 화면 간의 시간적 중복 데이터를 제거하여 압축율을 높여준다. 도 1은 다중 예측 움직임 벡터를 이용한 움직임 추정/보상 방법을 나타내며, 2개의 예측 움직임 벡터는 예측 움직임 벡터 1 및 예측 움직임 벡터 2로 나타내었다.
한편, 도 1에서, 예측 블록은 움직임 벡터가 가리키는 블록을 의미한다. 움직임 벡터는 예측 움직임 벡터와 차분 움직임 벡터의 합으로서, 아래의 수학식 1과 같다.
Figure pat00001
수학식 1에서, MV는 움직임 벡터이고, MVP는 예측 움직임 벡터이며, MVD는 차분 움직임 벡터를 의미한다. 수학식 1에서, 예측 움직임 벡터의 값에 따라 움직임 벡터의 값이 달라짐을 알 수 있다. 그리고 움직임 벡터의 값에 따라 실제 부호화 시 참조하는 예측 블록의 값이 달라지게 되고, 이를 통해 압축율에 영향을 주므로 예측 움직임 벡터를 정확하게 결정하는 것이 중요하다.
HEVC 코덱에서는 예측 움직임 벡터를 보다 정확하게 결정하기 위해, 공간적으로 현재 블록 주변에 존재하는 여러 블록들에 대한 움직임 벡터들, 참조 프레임에 속한 동일 위치 블록들(현재 블록과 동일한 위치의 블록)에 대한 움직임 벡터들, 그리고 (0,0) 벡터가 예측 후보 움직임 벡터들이 된다. 이와 같은 다수의 예측 후보 움직임 벡터 들 중 2개의 벡터가 예측 움직임 벡터로 선택된다. 예측 후보 움직임 벡터 들 중 2개의 예측 움직임 벡터가 결정되는 방법은 아래와 같다.
먼저, 첫 번째 단계로, 현재 블록과 공간적으로 인접한 두 개의 블록(예를 들면, 좌측 블록, 상위 블록)의 움직임 벡터가 서로 다른 값을 가지는 경우, 이 두 개의 블록의 움직임 벡터가 각각 예측 움직임 벡터 1 및 예측 움직임 벡터 2로 선택된다.
두 번째 단계로, 현재 블록과 공간적으로 인접한 두 개의 블록(예를 들면, 좌측 블록, 상위 블록)의 움직임 벡터가 서로 같은 값을 가지는 경우, 해당 움직임 벡터(이 두 개의 블록 중 임의의 움직임 벡터)가 예측 움직인 벡터 1로 선택된다. 그리고, 참조 프레임의 동일 위치 블록의 움직임 벡터가 예측 움직임 벡터 1과 다른 경우, 해당 참조 프레임의 동일 위치 블록에 대한 움직임 벡터가 예측 움직임 벡터 2로 선택된다.
상기 두 번째 단계에서, 참조 프레임의 동일 위치 블록에 대한 움직임 벡터가 예측 움직임 벡터 1과 같은 값을 가지는 경우, zero vector(0.0)가 예측 움직임 벡터 2로 선택된다.
상기와 같이 과정으로 선택된 2개의 예측 움직임 벡터 중 하나의 예측 움직임 벡터가 선택되고, 이 선택된 예측 움직임 벡터가 실제 부호화 또는 복호화 시 사용된다. 일반적으로 율-왜곡 비용(Rate-Distortion Cost)이 적은 예측 움직임 벡터가 선택되며, 이 예측 움직임 벡터가 실제 부호화 또는 복호화 시 사용된다. 여기서, 율-왜곡 비용(RD Cost)은 아래의 수학식 2와 같이 결정된다.
Figure pat00002
수학식 2에서, Distortion은 원본 영상과 복원 영상의 차이를 SSE(Sum of Squared Error)로 계산한 값이다. Rates는 실제 부호화 시 소용되는 비트수를 의미며,
Figure pat00003
는 양자화계수(Quantization Parameter)에 의해 결정되는 상수이다.
상기에서 설명한 방법에 의해, 다수의 예측 후보 움직임 벡터 중 최적의 예측 움직임 벡터를 선택할 수 있으며, 이를 통해 압축율을 더욱 개선할 수 있다.
한편, 본 발명의 제1 실시예 따른 다중 예측 움직임 벡터를 이용한 움직임 추정/보상은 두 개의 예측 움직임 벡터 중 하나의 예측 움직임 벡터를 선택하는데, 이에 대해서 도 2 및 도 3를 참조하여 보다 상세하게 설명한다.
도 2는 예측 블록의 화소 값이 차이가 있는 경우를 나타내는 도면이다. 즉, 도 2는 예측 움직임 벡터 1의 예측 블록에 대한 화소 값과 예측 움직임 벡터 2의 예측 블록에 대한 화소 값이 차이가 있는 경우를 나타낸다. 도 2와 같이, 예측 블록 화소의 값이 차이가 있는 경우, 현재 블록의 화소 값과 가장 유사한 예측 블록 화소 값을 가지는 예측 움직임 벡터가 선택된다. 도 2에서는 현재 블록의 화소 값과 가장 유사한 예측 움직임 벡터 1이 선택된다. 이와 같은 방법을 통해, 프레임간의 시간적 중복 데이터를 더욱 효과적으로 제거하여 압축율이 향상될 수 있다.
도 3은 예측 블록의 화소 값이 차이가 없는 경우를 나타내는 도면이다. 즉, 도 3은 예측 움직임 벡터 1의 예측 블록에 대한 화소 값이 예측 움직임 벡터 2의 예측 블록에 대한 화소 값과 동일한 경우를 나타낸다. 도 3와 같이, 예측 블록의 화소 값이 동일한 경우, 어떠한 예측 움직임 벡터가 선택되어도 동일한 값으로 구성된 예측 블록이 획득된다. 따라서, 이러한 경우에는 다중 예측 움직임 벡터를 이용한 움직임 추정/보상의 효과가 없게 된다.
일반적으로 HEVC 코덱에서는 도 3과 같은 경우에도 움직임 추정/보정 시 어떠한 예측 움직임 벡터가 사용되었는지를 알려주기 위해, 예측 움직임 벡터 인덱스(mvp_10_flag)가 부호화 된다.
따라서, 본 발명의 제2 실시예에 따른 움직임 추정/보상 방법은 다중 예측 움직임 벡터들의 예측 블록 화소 값이 같은 경우 또는 어느 정도 이상으로 유사한 값을 가지는 경우에는 다중 예측 움직임 벡터를 사용하지 않고 1개의 예측 움직임 벡터만을 사용한다. 즉, 본 발명의 제2 실시예에 따른 움직임 추정/보상 방법은 다중 예측 움직임 벡터들의 예측 블록 화소 값이 같은 경우 또는 어느 정도 이상으로 유사한 값을 가지는 경우, 다중 예측 움직임 벡터 사용에 효과가 없으므로, 1개의 예측 움직임 벡터만을 사용한다. 이와 같이 1개의 예측 움직임 벡터(예를 들면, 예측 움직임 벡터 1)만을 사용함으로써, 예측 움직임 벡터의 인덱터에 대한 부호화에 필요한 비트 수를 절감할 수 있으며, 이를 통해 압축율을 더욱 향상시킬 수 있다. 이러한 본 발명의 제2 실시예에 따른 움직임 추정/보상 방법에 대해서, 도 4 내지 도 6을 참조하여 설명한다.
도 4는 본 발명의 제2 실시예에 따른 영상 부호화 장치(400)를 나타내는 도면이다.
도 4에 나타낸 바와 같이, 본 발명의 제2 실시예에 따른 영상 부호화 장치(400)는 다중예측움직임벡터 사용여부 결정부(410) 및 움직임 추정/보상부(420)를 포함한다.
다중예측움직임벡터 사용여부 결정부(410)는 입력되는 다중 예측 움직임 벡터(예측 움직임 벡터 1, 예측 움직인 벡터 2)를 이용하여, 다중 예측 움직임 벡터에 대한 사용여부를 결정한다. 다중 예측 움직임 벡터는 상기 본 발명의 제1 실시예에서 설명한 방법에 의해 결정되며, 결정된 다중 예측 움직임 벡터(예측 움직임 벡터 1, 예측 움직임 벡터 2)는 다중예측움직임벡터 사용여부 결정부(410)로 입력된다. 다중예측움직임벡터 사용여부 결정부(410)는 입력되는 다중 예측 움직임 벡터를 사용할지 아니면 단일(1개의) 예측 움직임 벡터만을 사용할지를 결정한다. 다중예측움직임 벡터 사용여부 결정부(410)의 구체적인 동작에 대해서는 도 5 및 6을 참조하여 상세하게 설명한다.
움직임 추정/보상부(420)는 다중예측움직임벡터 사용여부 결정부(410)에 의해 결정된 결과에 따라, 다중 예측 움직임 벡터를 사용하여 움직임을 추정 또는 보상하거나 단일 예측 움직임 벡터만을 사용하여 움직임을 추정 또는 보상한다.
도 5는 다중움직임벡터 사용여부 결정부(410)의 구체적인 구성을 나타내는 도면이다.
도 5에 나타낸 바와 같이 다중움직임벡터 사용여부 결정부(410)는 차분블록 생성부(411), 변환부(412), 양자화부(413) 및 결정부(414)를 포함한다.
차분블록 생성부(411)는 다중 예측 움직임 벡터 각각의 예측 블록에 대한 화소 값의 차이를 계산한다.
상기에서 설명한 바와 같이, 다중 예측 움직임 벡터를 이용하여 움직임 추정/보상의 효과가 있기 위해서는 예측 움직인 벡터들의 예측 블록의 화소 값이 서로 차이가 있어야 한다. 현재 블록의 화소 값을 cur(y,x)이고 예측 움직임 벡터 1에 의한 예측블록의 화소 값을 pred1(y,x)로 가정하면, 예측 움직임 벡터 1에 의한 잔차 신호(residual signal) residual1(y,x)은 아래의 수학식 3과 같이 나타낼 수 있다.
Figure pat00004
또한, 예측 움직임 벡터 2에 의한 예측블록의 화소 값을 pred2(y,x)로 가정하면, 예측 움직임 벡터 2에 의한 잔차 신호 residual2(y,x)는 아래의 수학식 4와 같이 나타낼 수 있다.
Figure pat00005
수학식 3 및 4에서 확인할 수 있듯이, 비디오 코덱에서 실제 부호화하는 잔차 신호는 예측 움직임 벡터에 의한 예측 블록 값에 따라 달라진다. 예측 움직임 벡터의 예측 블록 값인 pred1(y,x)와 pred2(y,x)가 서로 동일한 값을 가지는 경우에는, 잔차 신호인 residual1(y,x)와 residual2(y,x)도 동일한 값을 가진다. 그리고 예측 블록 값인 pred1(y,x)와 pred2(y,x)가 서로 유사한 값을 가지는 경우에는, 잔차 신호인 residual1(y,x)와 residual2(y,x)도 유사한 값을 가진다. 따라서, 본 발명의 제2 실시예에 따른 영상 부호화 장치는 다중 예측 움직 벡터들의 예측 블록의 화소 값을 확인하여, 다중 예측 움직임 벡터를 이용한 움직임 추정 또는 보상의 효과가 있는지를 판단할 수 있다. 즉, 본 발명의 제2 실시예에 따른 차분블록 생성부(411)는 다중 예측 움직임 벡터의 예측 블록에 대한 화소 값의 차이를 계산한다.
차분블록 생성부(411)가 예측 블록들간의 화소 값 차이인 pred1(y, x)와 pred2(y,x) 간의 차분 블록은 아래의 수학식 5와 같이 나타낼 수 있다. 수학식 5에서, 차분 블록은 diff(y,x)로 나타내었다.
Figure pat00006
한편, 본 발명의 제2 실시예에서는 상기 수학식 5와 같이 차분 블록을 생성한 후, 차분 블록을 변환 및 양자화(Quantization) 하여 유효 계수가 있는지를 확인한다. 유효 계수가 존재하는 경우에는 예측 블록의 화소 값인 pred1(y,x)와 pred2(y,x)의 차이가 크다고 판단하여, 다중 예측 움직임 벡터를 사용한 움직임 추정/보상이 수행된다. 그리고, 유효 계수가 존재하지 않는 경우에는 예측 블록의 화소 값인 pred1(y,x)와 pred2(y,x)이 유사하다고 판단하여, 다중 예측 움직임 벡터를 사용한 움직임 추정/보상이 수행되지 않고 단일 예측 움직임 벡터를 사용한 움직인 추정/보상이 수행된다. 여기서, 차분 블록에 대한 변환은 변환부(412)에 의해 수행되며, 양자화는 양자화부(413)에 의해 수행된다.
변환부(412)에 의한 변환 및 양자화부(413)에 의한 양자화는 HEVC 코덱에서 도입한 정수여현변환(Integer Cosine Transform)과 양자화가 적용될 수 있다.
HEVC 코덱에서는 4x4, 8x8, 16x16, 32x32 블록 크기의 정수여현변환이 지원되며, 4x4 정수여현변환의 기본 벡터(basis vector)는 수학식 6과 같다.
Figure pat00007
도 6은 4x4 기본 벡터를 수직(Vertical) 및 수평(Horizontal)으로 적용한 기본 함수(Basis fuction)를 나타낸다. 도 6에서, 빗금치지 않은 부분은 (+)부호를 나타내고, 빗금친 부분은 (-)부호를 나타내며, 위치별 가중치는 고려되지 않았다.
한편, 본 발명의 제2 실시예에 따른 변환부(412)는 현재 블록의 크기에 따라 정수여현변환 블록의 크기를 결정할 수 있다. 예를 들면, 현재 블록의 크기가 8x8 크기인 경우, 8x8 크기의 정수여현변환이 적용된다. 또한, 현재의 블록의 크기가 8x16인 경우에는 두 개의 8x8로 구성되므로, 각 8x8 블록에 8x8 크기의 정수여현변환이 적용된다. 도 6에 나타낸 바와 같이, 변환부(412)에 의한 변환 후, DC(0,0) 위치에는 변환 전 블록의 계수 합(또는 평균)과 비례하는 값이 생성되고, 나머지 위치에는 변환 전 블록 계수들의 경계(edge) 정보 값이 생성된다.
변환부(412)는 차분 블록에 대해서 정수여현변환하여 변환하고, 변환한 블록을 양자화부(413)로 전달한다. 양자화부(413)는 변환부(412)로부터 전달된 변환 블록을 양자화하여 유효 계수를 계산한다. 양자화부(413)가 양자화하는 방법은 본 발명이 속하는 기술 분야의 통상의 지식을 가지 자라면 알 수 있으므로 구체적인 설명은 생략한다.
예측 블록의 화소 값들인 pred(y,x)와 pred(y,x)가 모두 같은 값을 가지는 경우, 차분블록 diff(y,x)의 모든 값이 0이 된다. 그리고 변환과 양자화를 적용한 후의 계수 값(즉, 유효 계수 값)도 모두 0이 된다. 또한 예측 블록의 화소 값들인 pred(y,x)와 pred(y,x)가 모두 같은 값이 아니지만 유사한 값을 가지 경우에 차분 블록 값도 0에 근접한 값(즉, 소정의 기준값보다 작은 값)을 가진다. 이때, 변환과 양자화를 적용한 후의 계수 값도 모두 0이 된다. 즉, 양자화한 후에 모든 계수 값이 0되는 경우에는 움직임 추정/보상에 사용되는 예측 블록들의 화소 값들이 모두 같은 값을 가지거나 유사한 값을 가져 그 차이가 양자화에 의해 제거될 정도로 작은 값을 가지는 것을 의미한다. 따라서, 본 발명의 제2 실시예에서는 이러한 경우에는 다중 예측 움직임 벡터를 이용하여 움직임을 추정/보상의 효과가 없다고 판단하여 단일 예측 움직임 벡터를 이용하여 움직임을 추정/보상한다.
따라서, 결정부(414)는 양자화부(413)로부터 유효 계수를 전달 받으며, 전달 받은 유효 계수의 존재 유무에 따라 다중 예측 움직임 벡터 사용 여부를 결정한다. 결정부(414)는 유효 계수가 0인 경우에는 단일의 예측 움직임 벡터만을 사용할 것을 결정한다. 그리고 결정부(414)는 유효 계수가 존재하는 경우(0 이외의 값)인 경우에는 다중의 예측 움직임 벡터(예측 움직임 벡터 1 및 예측 움직임 벡터2)를 사용할 것을 결정한다. 결정부(414)에 의해 결정된 정보는 움직임 추정/보상부(420)로 전송된다.
도 7은 본 발명의 제2 실시예에 따른 영상 부호화 장치의 움직임 추정/보상 방법을 나타내는 도면이다.
먼저, 영상 부호화 장치는 다중 예측 움직임 벡터 즉, 예측 움직임 벡터 1 및 예측 움직임 벡터 2를 선택한다(S710). 상기에서 본 발명의 제1 실시예에서 설명한 바와 같이, 공간적으로 현재 블록 주변에 존재하는 여러 블록들에 대한 움직임 벡터들, 참조 프레임(이전 프레임들)에 속한 동일 위치 블록들(현재 블록과 동일한 위치의 블록)에 대한 움직임 벡터들, 그리고 (0,0) 벡터가 예측 후보 움직임 벡터들이 된다. 그리고 다수의 예측 후보 움직임 벡터 들 중 2개의 벡터가 예측 움직임 벡터로 선택된다.
다음으로, 영상 부호화 장치의 차분블록 생성부(411)는 다중 예측 움직 벡터의 예측 블록에 대한 차분 블록을 생성한다(S720). 즉, 차분 블록 생성부(411)는 수학식 5를 적용하여 예측 블록들 간의 화소 값 차이를 계산하여, 차분 블록을 생성한다.
영상 부호화 장치의 변환부(412)는 차분블록 생성부(411)에 의해 생성된 차분 블록에 대해서 정수여현변환을 수행하여 변환 블록을 생성한다(S730). 여기서, 4x4, 8x8, 16x16, 32x32 블록 크기의 정수여현변환이 수행될 수 있다.
영상 부호 장치의 양자화부(413)는 변환부(412)에 생성된 변환 블록을 양자화하여 유효 계수를 계산한다(S740).
영상 부호화 장치의 결정부(414)는 양자화부(413)로부터 유효 계수를 전달 받으며, 전달 받은 유효 계수의 존재 유무에 따라 다중 예측 움직임 벡터 사용 여부를 결정한다(S750).
유효 계수가 존재하지 않는 경우(즉, 모든 계수 = 0), 움직임 추정/보상부(420)는 단일 예측 움직임 벡터를 이용하여 움직임 추정/보상을 수행한다(S760).
그리고 유효 계수가 존재하는 경우(즉, 0이 아닌 계수가 존재하는 경우), 움직임 추정/보상부(420)는 다중 예측 움직임 벡터(예측 움직임 벡터 1, 예측 움직임 벡터 2)를 이용하여 움직임 추정/보상을 수행한다(S760).
이와 같이 본 발명의 실시예에 따르면, 다중 움직임 추정/보상시 예측 움직임 벡터 인덱스에 대한 부호화 비트를 절감할 수 있으며, 이를 통해 동영상 코덱에서의 압축율을 더욱 개선할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (14)

  1. 다중 예측 움직임 벡터를 입력 받고, 상기 다중 예측 움직임 벡터의 예측 블록들 간의 화소 값 차이를 계산하며, 상기 화소 값 차이에 따라 상기 다중 예측 움직임 벡터의 사용 여부를 결정하는 다중예측움직임벡터 사용여부 결정부, 그리고
    상기 화소 값 차이가 소정의 기준 값보다 작은 경우, 상기 다중 예측 움직임 벡터 중 하나의 예측 움직임 벡터를 사용하여 움직임을 추정 또는 보상하는 움직임 추정/보상부를 포함하는 영상 부호화 장치.
  2. 제1항에 있어서,
    상기 움직임 추정/보상부는 상기 화소 값 차이가 상기 기준 값보다 같거나 큰 경우, 상기 다중 예측 움직임 벡터를 사용하여 움직임을 추정 또는 보상하는 영상 부호화 장치.
  3. 제1항에 있어서,
    상기 다중예측움직임벡터 사용여부 결정부는,
    상기 예측 블록들 간의 화소 값 차이인 차분 블록을 계산하는 차분블록 생성부, 그리고
    상기 차분 블록에 대해서 정수여현변환하여 변환 블록을 생성하는 변환부를 포함하는 영상 부호화 장치.
  4. 제3항에 있어서,
    상기 다중예측움직임벡터 사용여부 결정부는,
    상기 변환 블록에 대해서 양자화를 수행하여, 유효 계수를 생성하는 양자화부, 그리고
    상기 유효 계수의 존재 유무에 따라 상기 다중 예측 움직임 벡터의 사용 여부를 결정하는 결정부를 더 포함하는 영상 부호화 장치.
  5. 제4항에 있어서,
    상기 움직임 추정/보상부는,
    상기 유효 계수가 존재하는 경우, 상기 하나의 예측 움직임 벡터를 사용하여 움직을 추정 또는 보상하며,
    상기 유효 계수가 존재하지 않는 경우, 상기 다중 예측 움직임 벡터를 사용하여 움직임을 추정 또는 보상하는 영상 부호화 장치.
  6. 제1항에 있어서,
    상기 움직임 추정/보상부는 상기 화소 값 차이가 상기 기준 값보다 작은 경우, 상기 하나의 예측 움직임 벡터에 대한 인덱스만을 부호화하는 영상 부호화 장치.
  7. 제3항에 있어서,
    상기 변환부는, 움직임을 추정 또는 보상하려는 현재 블록에 따라 정수여현변환 블록의 크기를 결정하는 영상 부호화 장치.
  8. 동영상을 압축하여 부호화하는 영상 부호화 장치가 동영상의 움직임을 추정/보상하는 방법으로서,
    제1 및 제2 예측 움직임 벡터를 선택하는 단계,
    상기 제1 예측 움직임 벡터의 예측 블록에 대한 화소 값과 상기 제2 예측 움직임 벡터의 예측 블록에 대한 화소 값 간의 차이인 차이 값을 계산하는 단계, 그리고
    상기 차이 값이 소정의 기준 값보다 작은 경우, 상기 제1 및 제2 예측 움직임 벡터 중 하나의 예측 움직임 벡터를 사용하여, 움직임을 추정 또는 보상하는 단계를 포함하는 방법.
  9. 제8항에 있어서,
    상기 차이 값이 상기 기준 값과 같거나 큰 경우, 상기 제1 및 제2 예측 움직임 벡터를 사용하여, 움직임을 추정 또는 보상하는 단계를 더 포함하는 방법.
  10. 제8항 또는 제9항에 있어서,
    상기 차이 값에 대해서 정수여현변환하여 변환 블록을 생성하는 단계, 그리고
    상기 변환 블록을 양자화하여, 유효 계수를 생성하는 단계를 더 포함하는 방법.
  11. 제10항에 있어서,
    상기 추정 또는 보상하는 단계는,
    상기 유효 계수가 존재하지 않는 경우, 상기 하나의 움직임 벡터를 사용하여, 움직임을 추정 또는 보상하는 단계를 포함하는 방법.
  12. 제10항에 있어서,
    상기 추정 또는 보상하는 단계는,
    상기 유효 계수가 존재하는 경우, 상기 제1 및 제2 예측 움직임 벡터를 사용하여, 움직임을 추정 또는 보상하는 단계를 포함하는 방법.
  13. 제8항에 있어서,
    상기 차이 값이 상기 기준 값보다 작은 경우, 상기 하나의 예측 움직임 벡터에 대한 인덱스만을 부호화하는 단계를 더 포함하는 방법.
  14. 제8항에 있어서,
    상기 선택하는 단계는,
    움직임을 추정 또는 보상하려는 현재 블록과 인접한 블록들의 움직임 벡터, 참조 프레임에서 상기 현재 블록과 동일한 위치 블록의 움직임 벡터, 그리고 제로 벡터 중에서, 상기 제1 및 제2 예측 움직임 벡터를 선택하는 단계를 포함하는 방법.
KR1020140135139A 2014-10-07 2014-10-07 영상 부호화 방법 및 장치 KR101647484B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140135139A KR101647484B1 (ko) 2014-10-07 2014-10-07 영상 부호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140135139A KR101647484B1 (ko) 2014-10-07 2014-10-07 영상 부호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20160041387A true KR20160041387A (ko) 2016-04-18
KR101647484B1 KR101647484B1 (ko) 2016-08-10

Family

ID=55916510

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140135139A KR101647484B1 (ko) 2014-10-07 2014-10-07 영상 부호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101647484B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110074260A (ko) * 2009-12-24 2011-06-30 한양대학교 산학협력단 고속 모션 추정 방법 및 장치, 이를 이용한 비디오 인코딩 장치
JP2013110575A (ja) * 2011-11-21 2013-06-06 Jvc Kenwood Corp 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110074260A (ko) * 2009-12-24 2011-06-30 한양대학교 산학협력단 고속 모션 추정 방법 및 장치, 이를 이용한 비디오 인코딩 장치
JP2013110575A (ja) * 2011-11-21 2013-06-06 Jvc Kenwood Corp 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム

Also Published As

Publication number Publication date
KR101647484B1 (ko) 2016-08-10

Similar Documents

Publication Publication Date Title
KR100856411B1 (ko) 조도 보상 방법 및 그 장치와 그 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체
KR101971909B1 (ko) 이산 여현 변환/이산 정현 변환을 선택적으로 이용하는 부호화/복호화 장치 및 방법
JP6698077B2 (ja) モデルベースの映像符号化用の知覚的最適化
US8553779B2 (en) Method and apparatus for encoding/decoding motion vector information
JP5061179B2 (ja) 照明変化補償動き予測符号化および復号化方法とその装置
KR101244917B1 (ko) 조도 보상 방법 및 장치, 이를 이용한 영상의 부호화,복호화 방법 및 장치
US8155193B2 (en) Moving picture encoding apparatus, moving picture decoding apparatus, moving picture encoding method, moving picture decoding method, moving picture encoding program, and moving picture decoding program
KR101524394B1 (ko) 인코딩 방법 및 장치, 디코딩 방법 및 장치 및 컴퓨터 판독가능한 저장 매체
US8503532B2 (en) Method and apparatus for inter prediction encoding/decoding an image using sub-pixel motion estimation
US20160073111A1 (en) Perceptual optimization for model-based video encoding
US20090238283A1 (en) Method and apparatus for encoding and decoding image
KR20080064009A (ko) 전역 움직임 벡터를 사용해서 움직임 벡터를 추정하기 위한방법, 장치, 인코더, 디코더 및 복호화 방법
KR20080064355A (ko) 영상의 예측 부호화 방법 및 장치, 그 복호화 방법 및 장치
EP2036358A1 (en) Image encoding/decoding method and apparatus
KR20090095012A (ko) 연속적인 움직임 추정을 이용한 영상 부호화, 복호화 방법및 장치
WO2011124157A1 (zh) 一种局部亮度补偿的视频编解码方法及装置
KR20070077313A (ko) 직교 변환 및 벡터 양자화에 기반한 동영상 부호화 및복호화 방법과 이를 이용한 장치
US20110243227A1 (en) Moving picture decoding method and device, and moving picture encoding method and device
US20160277767A1 (en) Methods, systems and apparatus for determining prediction adjustment factors
KR101364532B1 (ko) 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법
KR101187580B1 (ko) 조도 보상 방법 및 그 장치와 이를 이용한 동영상 부호화방법 및 그 장치
KR20050095648A (ko) 비디오 데이터 스트림을 인코딩하는 장치
KR101647484B1 (ko) 영상 부호화 방법 및 장치
KR101319916B1 (ko) 움직임 추정방법 및 장치, 및 이를 이용한 영상 부호화방법및 장치
WO2023186040A1 (en) Bilateral template with multipass decoder side motion vector refinement

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190801

Year of fee payment: 4