KR101479137B1 - 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법 - Google Patents

예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법 Download PDF

Info

Publication number
KR101479137B1
KR101479137B1 KR20140027928A KR20140027928A KR101479137B1 KR 101479137 B1 KR101479137 B1 KR 101479137B1 KR 20140027928 A KR20140027928 A KR 20140027928A KR 20140027928 A KR20140027928 A KR 20140027928A KR 101479137 B1 KR101479137 B1 KR 101479137B1
Authority
KR
South Korea
Prior art keywords
motion vector
block
current block
reference frame
current
Prior art date
Application number
KR20140027928A
Other languages
English (en)
Other versions
KR20140057220A (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 KR20140027928A priority Critical patent/KR101479137B1/ko
Publication of KR20140057220A publication Critical patent/KR20140057220A/ko
Application granted granted Critical
Publication of KR101479137B1 publication Critical patent/KR101479137B1/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/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/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

Abstract

예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법이 개시된다. 본 발명의 실시예에 따른 영상 부호화/복호화 장치는, 참조프레임을 이용하여 현재블록에 대한 인터 예측을 수행하는 경우, 참조프레임의 동일장소 블록의 움직임벡터 및 현재블록의 주변에 있는 블록들의 움직임벡터를 기반으로 현재블록의 예측 움직임벡터의 색인정보를 생성하고, 현재블록의 움직임벡터에서 예측 움직임벡터를 차분하여 생성된 차분 움직임벡터와 함께 참조프레임 색인정보, 예측 움직임벡터 색인정보를 포함하는 현재블록의 움직임정보를 생성 및 부호화하는 영상 부호화기; 및 예측 움직임벡터 색인정보에 기초하여 예측 움직임벡터를 복원하며, 복원된 예측 움직임벡터를 차분 움직임벡터와 가산하여 복호하고자 하는 대상블록의 움직임벡터를 복원하고, 복원된 대상블록의 움직임벡터에 기초하여 대상블록을 복원하는 영상 복호화기를 포함하는 것을 특징으로 한다.

Description

예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법{Motion Information Generating Apparatus and Method using Motion Vector Predictor Index Coding, and Image Encoding/Decoding Apparatus and Method using the Same}
본 발명의 실시예는 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법에 관한 것이다.
MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)은 기존의 MPEG-4 Part 2와 H.263 표준안보다 더욱 우수하고 뛰어난 비디오 압축 표준 기술인 H.264/AVC(Advanced Video Coding)를 개발하였고, 2010년부터 본격적으로 HEVC(High Efficiency Video Coding)기술을 개발하고 있다.
HEVC에서 현재 고려중인 테스트모델(TMuC: Test Model Under Consideration)은 기존의 동영상 압축 기술과 유사한 방법으로 영상을 블록으로 분할하여 움직임 예측 혹은 인트라 예측에 의해 잔여 블록을 주파수변환, 양자화하여 엔트로피 부호화하는 방법을 따르고 있다. HEVC의 TMuC은 다중 참조프레임을 사용하여 움직임 예측을 실시하여 참조 프레임 색인과 움직임벡터를 움직임정보로서 부호화하여 비트스트림에 출력한다.
본 발명의 실시예는 움직임 정보를 부호화함에 있어서 압축 성능을 더 향상시키기 위한 것으로, 복수의 예측 움직임벡터 후보들을 선정한 후 그 복수의 후보들 중에서 부호화 효율이 가장 좋은 후보를 현재블록의 예측 움직임벡터로 결정하고, 나아가 복수의 예측 움직임벡터 후보들 중 어떤 후보가 현재블록의 예측 움직임벡터로 사용되었는지를 지시하는 색인 정보를 복호화 장치로 제공할 때, 색인 정보의 부호화에 소요되는 비트율을 최소화할 수 있는 부호화 및 복호화 방법을 제공하는 것을 목적으로 한다.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 부호화/복호화 장치는, 참조프레임을 이용하여 현재블록에 대한 인터 예측을 수행하는 경우, 참조프레임의 동일장소 블록의 움직임벡터 및 현재블록의 주변에 있는 블록들의 움직임벡터를 기반으로 현재블록의 예측 움직임벡터의 색인정보를 생성하고, 현재블록의 움직임벡터에서 예측 움직임벡터를 차분하여 생성된 차분 움직임벡터와 함께 참조프레임 색인정보, 예측 움직임벡터 색인정보를 포함하는 현재블록의 움직임정보를 생성 및 부호화하는 영상 부호화기; 및 예측 움직임벡터 색인정보에 기초하여 예측 움직임벡터를 복원하며, 복원된 예측 움직임벡터를 차분 움직임벡터와 가산하여 복호하고자 하는 대상블록의 움직임벡터를 복원하고, 복원된 대상블록의 움직임벡터에 기초하여 대상블록을 복원하는 영상 복호화기를 포함하는 것을 특징으로 한다.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 부호화 장치는, 부호화하고자 하는 현재블록의 인접 화소를 이용하여 예측 블록을 생성하는 인트라 예측부; 참조프레임의 동일장소 블록의 움직임벡터 및 현재블록의 주변에 있는 블록들의 움직임벡터를 기반으로 현재블록의 예측 움직임벡터의 색인정보를 생성하고, 현재블록의 움직임벡터에서 예측 움직임벡터를 차분하여 생성된 차분 움직임벡터와 함께 참조프레임 색인정보, 예측 움직임벡터 색인정보를 포함하는 현재블록의 움직임정보를 생성하며, 생성된 움직임정보에 기초하여 예측 블록을 생성하는 인터 예측부; 현재블록에서 인트라 예측부 또는 인터 예측부에 의해 생성된 예측블록을 감산하여 잔차 블록을 생성하는 감산부; 잔차 블록을 주파수 계수로 변환하고 양자화하는 변환 및 양자화부; 및 변환 및 양자화부에 의해 변환되고 양자화된 잔차 블록을 부호화하여 비트스트림을 생성하는 부호화부를 포함하는 것을 특징으로 한다.
인터 예측부는, 현재블록의 각각의 참조프레임에 대해 동일장소 블록을 구성하는 움직임벡터 중 현재블록의 위치에 가장 근접하게 연장되는 움직임벡터를 동일장소 블록의 움직임벡터로 선정할 수 있다.
또한, 인터 예측부는, 동일장소 블록의 움직임벡터가 현재블록의 위치에 주어진 임계값 이내로 접근하는 경우, 예측 움직임벡터 색인정보를 구성함에 있어서 동일장소 블록의 움직임벡터에 가장 낮은 색인값을 부여할 수 있다.
동일장소 블록의 움직임벡터가 현재블록의 위치에 주어진 임계값 이내로 접근하는 경우에 대한 판단은, 동일장소 블록의 공간위치가 (Cx,Cy)이고 시간위치가 Ct이며, 동일장소 블록의 움직임벡터가 (MVx,MVy)이고, 동일장소 블록이 참조한 참조프레임의 시간위치가 Rt이면, 다음 식과 같이 산출되는 동일장소 블록의 움직임벡터의 각각의 x, y 성분에 대해 시간에 변화에 따른 직선 Lx, Ly에 기초하여 CURt 시간위치에 있는 현재블록의 위치(cx,cy)에 대한 근접 정도를 계산하여 이루어질 수 있다.
Lx 직선식
x-Cx = MVx/(Ct- Rt)* (t-Ct)
Ly 직선식
y- Cy= MVy/(Ct- Rt)* (t-Ct).
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 움직임정보 생성장치는, 참조프레임을 이용하여 현재블록에 대한 인터 예측을 수행하는 경우, 참조프레임의 동일장소 블록의 움직임벡터를 기반으로 현재블록의 예측 움직임벡터의 색인정보를 생성하는 예측 움직임벡터 색인 생성부; 현재블록의 움직임벡터에서 예측 움직임벡터를 차분하여 차분 움직임벡터를 생성하는 감산부; 및 참조프레임 색인, 예측 움직임벡터 색인, 및 차분 움직임벡터를 포함하는 현재블록의 움직임정보를 구성하는 움직임정보 구성부를 포함하는 것을 특징으로 한다.
예측 움직임벡터 색인 생성부는, 현재블록의 각각의 참조프레임에 대해 동일장소 블록을 구성하는 움직임벡터 중 현재블록의 위치에 가장 근접하게 연장되는 움직임벡터를 동일장소 블록의 움직임벡터로 선정할 수 있다.
또한, 예측 움직임벡터 색인 생성부는, 동일장소 블록의 움직임벡터가 현재블록의 위치에 주어진 임계값 이내로 접근하는 경우, 예측 움직임벡터 색인정보를 구성함에 있어서 동일장소 블록의 움직임벡터에 가장 낮은 색인값을 부여할 수 있다.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 복호화 장치는, 영상 부호화기로부터 수신되는 비트스트림을 복호화하여 양자화 주파수 계수열을 추출하고, 추출된 양자화 주파수 계수열에 기초하여 잔차 블록을 생성하는 복호화부; 잔차 블록을 역양자화 및 역변환하는 역양자화 및 역변환부; 복호화부로부터 수신되는 예측 움직임벡터 색인정보에 기초하여 예측 움직임벡터를 설정하며, 설정된 예측 움직임벡터를 차분 움직임벡터와 가산하여 복호하고자 하는 현재블록의 움직임벡터를 복원하고, 복호화부로부터 수신된 참조프레임 색인정보 및 복원된 현재블록의 움직임벡터에 기초하여 현재블록의 예측블록을 복원하는 인터 예측부; 및 복원된 예측블록과 잔차 블록을 가산하여 현재블록을 복원하는 가산부를 포함하는 것을 특징으로 한다.
인터 예측부는, 현재블록의 참조프레임에 대해 동일장소 블록을 구성하는 움직임벡터 중 현재블록의 위치에 가장 근접하게 연장되는 움직임벡터를 동일장소 블록의 움직임벡터로 선정할 수 있다.
또한, 인터 예측부는, 참조프레임의 동일장소 블록, 현재블록의 인접블록의 움직임벡터로 구성되는 예측 움직임벡터 후보집합을 구성하고, 동일장소 블록의 움직임벡터가 현재블록의 위치에 설정된 임계값 이내로 접근하는 경우에 대한 예측 움직임벡터의 색인 구성에 있어서, 동일장소 블록의 움직임벡터에 가장 낮은 색인값을 부여할 수 있다.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 움직임정보 복원장치는, 비트스트림으로부터 예측 움직임 색인값을 추출하여 예측 움직임벡터를 설정하는 예측 움직임벡터 설정부; 예측 움직임벡터와 비트스트림에서 추출된 차분 움직임벡터를 가산하여 현재블록의 움직임벡터를 설정하는 가산부; 및 현재 움직임벡터와 함께 비트스트림에 포함된 참조프레임 색인정보를 수신하여 움직임정보를 복원하는 움직임정보 구성부를 포함하는 것을 특징으로 한다.
예측 움직임벡터 설정부는, 현재블록의 참조프레임에 대해 동일장소 블록을 구성하는 움직임벡터 중 현재블록의 위치에 가장 근접하게 연장되는 움직임벡터를 동일장소 블록의 움직임벡터로 선정할 수 있다.
또한, 예측 움직임벡터 설정부는, 참조프레임의 동일장소 블록, 현재블록의 인접블록의 움직임벡터로 구성되는 예측 움직임벡터 후보집합을 구성하고, 동일장소 블록의 움직임벡터가 현재블록의 위치에 설정된 임계값 이내로 접근하는 경우에 대한 예측 움직임벡터의 색인 구성에 있어서, 동일장소 블록의 움직임벡터에 가장 낮은 색인값을 부여할 수 있다.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 부호화/복호화 방법은, 참조프레임을 이용하여 현재블록에 대한 인터 예측을 수행하는 경우, 참조프레임의 동일장소 블록의 움직임벡터 및 현재블록의 주변에 있는 블록들의 움직임벡터를 기반으로 현재블록의 예측 움직임벡터의 색인정보를 생성하고, 현재블록의 움직임벡터에서 예측 움직임벡터를 차분하여 생성된 차분 움직임벡터와 함께 참조프레임 색인정보, 예측 움직임벡터 색인정보를 포함하는 현재블록의 움직임정보를 생성 및 부호화하는 영상 부호화 단계; 및 예측 움직임벡터 색인정보에 기초하여 예측 움직임벡터를 복원하며, 복원된 예측 움직임벡터를 차분 움직임벡터와 가산하여 복호하고자 하는 대상블록의 움직임벡터를 복원하고, 복원된 대상블록의 움직임벡터에 기초하여 대상블록을 복원하는 영상 복호화 단계를 포함하는 것을 특징으로 한다.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 부호화 방법은, 참조프레임을 이용하여 현재블록에 대한 인터 예측을 수행하는 경우, 참조프레임의 동일장소 블록의 움직임벡터 및 현재블록의 주변에 있는 블록들의 움직임벡터를 기반으로 현재블록의 예측 움직임벡터의 색인정보를 생성하고, 현재블록의 움직임벡터에서 예측 움직임벡터를 차분하여 생성된 차분 움직임벡터와 함께 참조프레임 색인정보, 예측 움직임벡터 색인정보를 포함하는 현재블록의 움직임정보를 생성하며, 생성된 움직임정보에 기초하여 예측 블록을 생성하는 단계; 현재블록에서 생성된 예측블록을 감산하여 잔차 블록을 생성하는 단계; 잔차 블록을 주파수 계수로 변환하고 양자화하는 단계; 및 변환되고 양자화된 잔차 블록을 부호화하여 비트스트림을 생성하는 단계를 포함하는 것을 특징으로 한다.
예측블록 생성단계는, 현재블록의 각각의 참조프레임에 대해 동일장소 블록을 구성하는 움직임벡터 중 현재블록의 위치에 가장 근접하게 연장되는 움직임벡터를 동일장소 블록의 움직임벡터로 선정할 수 있다.
예측블록 생성단계는, 동일장소 블록의 움직임벡터가 현재블록의 위치에 주어진 임계값 이내로 접근하는 경우, 예측 움직임벡터 색인정보를 구성함에 있어서 동일장소 블록의 움직임벡터에 가장 낮은 색인값을 부여할 수 있다.
동일장소 블록의 움직임벡터가 상기 현재블록의 위치에 주어진 임계값 이내로 접근하는 경우에 대한 판단은, 동일장소 블록의 공간위치가 (Cx,Cy)이고 시간위치가 Ct이며, 동일장소 블록의 움직임벡터가 (MVx,MVy)이고, 동일장소 블록이 참조한 참조프레임의 시간위치가 Rt이면, 다음 식과 같이 산출되는 동일장소 블록의 움직임벡터의 각각의 x, y 성분에 대해 시간에 변화에 따른 직선 Lx, Ly에 기초하여 CURt 시간위치에 있는 현재블록의 위치(cx,cy)에 대한 근접 정도를 계산하여 이루어질 수 있다.
Lx 직선식
x-Cx = MVx/(Ct- Rt)* (t-Ct)
Ly 직선식
y- Cy= MVy/(Ct- Rt)* (t-Ct).
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 움직임정보 생성방법은, 참조프레임을 이용하여 현재블록에 대한 인터 예측을 수행하는 경우, 각각의 참조프레임에 대해 동일장소 블록을 구성하는 블록들의 움직임벡터 중 동일장소 움직임벡터를 선정하고, 현재블록의 인접블록에 기반하여 예측 움직임벡터를 선정하는 단계; 동일장소 블록의 움직임벡터를 기반으로 예측 움직임벡터 색인값을 부여하는 단계; 비트율-왜곡 측면에서 가장 비용이 적은 참조프레임, 현재블록의 움직임벡터, 및 예측 움직임벡터를 선정하는 단계; 및 현재 움직임벡터에서 예측 움직임벡터를 감산한 차분 움직임벡터, 예측 움직임벡터 색인 및 참조 프레임 색인으로 구성된 움직임정보를 구성하는 단계를 포함하는 것을 특징으로 한다.
예측 움직임벡터 선정단계는, 현재블록의 각각의 참조프레임에 대해 동일장소 블록을 구성하는 움직임벡터 중 현재블록의 위치에 가장 근접하게 연장되는 움직임벡터를 동일장소 블록의 움직임벡터로 선정할 수 있다.
예측 움직임벡터 색인값 부여단계는, 동일장소 블록의 움직임벡터가 현재블록의 위치에 주어진 임계값 이내로 접근하는 경우, 예측 움직임벡터 색인정보를 구성함에 있어서 동일장소 블록의 움직임벡터에 가장 낮은 색인값을 부여할 수 있다.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 영상 복호화 방법은, 영상 부호화기로부터 수신되는 비트스트림을 복호화하여 양자화 주파수 계수열을 추출하고, 추출된 양자화 주파수 계수열에 기초하여 잔차 블록을 생성하는 단계; 잔차 블록을 역양자화 및 역변환하는 단계; 복호화부로부터 수신되는 예측 움직임벡터 색인정보에 기초하여 예측 움직임벡터를 설정하며, 설정된 예측 움직임벡터를 차분 움직임벡터와 가산하여 복호하고자 하는 현재블록의 움직임벡터를 복원하고, 복호화부로부터 수신된 참조프레임 색인정보 및 복원된 현재블록의 움직임벡터에 기초하여 현재블록의 예측블록을 복원하는 단계; 및 복원된 예측블록과 잔차 블록을 가산하여 상기 현재블록을 복원하는 단계를 포함하는 것을 특징으로 한다.
예측블록 복원단계는, 현재블록의 참조프레임에 대해 동일장소 블록을 구성하는 움직임벡터 중 현재블록의 위치에 가장 근접하게 연장되는 움직임벡터를 동일장소 블록의 움직임벡터로 선정할 수 있다.
또한, 예측블록 복원단계는, 참조프레임의 동일장소 블록, 현재블록의 인접블록의 움직임벡터로 구성되는 예측 움직임벡터 후보집합을 구성하고, 동일장소 블록의 움직임벡터가 현재블록의 위치에 설정된 임계값 이내로 접근하는 경우에 대한 예측 움직임벡터의 색인 구성에 있어서, 동일장소 블록의 움직임벡터에 가장 낮은 색인값을 부여할 수 있다.
전술한 목적을 달성하기 위한 본 발명의 실시예에 따른 움직임정보 복원방법은, 비트스트림으로부터 예측 움직임 색인값을 추출하여 예측 움직임벡터를 설정하는 단계; 예측 움직임벡터와 비트스트림에서 추출된 차분 움직임벡터를 가산하여 현재블록의 움직임벡터를 복원하는 단계; 및 현재 움직임벡터와 함께 비트스트림에 포함된 참조프레임 색인정보를 수신하여 움직임정보를 복원하는 단계를 포함하는 것을 특징으로 한다.
예측 움직임벡터 설정단계는, 현재블록의 참조프레임에 대해 동일장소 블록을 구성하는 움직임벡터 중 현재블록의 위치에 가장 근접하게 연장되는 움직임벡터를 동일장소 블록의 움직임벡터로 선정할 수 있다.
예측 움직임벡터 설정단계는, 참조프레임의 동일장소 블록, 현재블록의 인접블록의 움직임벡터로 구성되는 예측 움직임벡터 후보집합을 구성하고, 동일장소 블록의 움직임벡터가 현재블록의 위치에 설정된 임계값 이내로 접근하는 경우에 대한 예측 움직임벡터의 색인 구성에 있어서, 동일장소 블록의 움직임벡터에 가장 낮은 색인값을 부여할 수 있다.
본 발명의 실시예에 따르면, 현재블록에 대한 움직임 정보를 효율적으로 부호화/복호화할 수 있다.
즉, 현재블록에 시간적 또는 공간적으로 인접한 주변블록들로부터 복수의 예측 움직임벡터 후보들을 선정하고 그 후보들 중 하나를 현재블록에 대한 예측움직임벡터로 결정함으로써, 현재블록의 움직임벡터에 대한 예측의 정확도를 높일 수 있으므로 차분 움직임벡터를 부호화하는 데에 소요되는 비트량이 줄어든다.
또한, 어떤 후보가 예측 움직임벡터로 사용되었는지를 나타내는 색인 정보를 보다 적은 비트수로 부호화할 수 있다.
도 1은 본 실시예에 따른 움직임정보 부호화 방법을 예를 들어 설명하기 위한 도면이다.
도 2는 본 실시예에 따른 색인 부여 방법의 예를 나타낸 도면이다.
도 3은 본 발명의 실시예에 따른 영상 부호화 장치의 구성을 개략적으로 나타낸 도면이다.
도 4는 본 발명의 실시예에 따른 움직임정보 생성장치의 구성을 개략적으로 나타낸 도면이다.
도 5는 현재 블록과, 현재 블록의 움직임정보를 부호화하기 위해 사용될 수 있는 참조프레임의 동일장소 블록, 및 참조프레임의 동일장소 블록이 참조한 프레임을 예시한 도면이다.
도 6은 시간 축 상에서 움직임벡터와 블록들의 위치를 x 좌표만으로 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 움직임정보 생성방법을 나타낸 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 개략적으로 나타낸 도면이다.
도 9는 본 발명의 실시예에 따른 움직임정보 복원장치(600)를 개략적으로 나타낸 도면이다.
도 10은 본 발명의 실시예에 따른 움직임정보 복원방법을 나타낸 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법을 상세하게 설명한다.
이하에서 설명하는 영상 부호화 장치(Video Encoding Apparatus), 영상 복호화 장치(Video Decoding Apparatus)는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 무선 통신 단말기(Wireless Communication Terminal), 스마트폰(Smart Phone), TV 등과 같은 사용자 단말기이거나 응용 서버와 서비스 서버 등 서버 단말기일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화하거나 부호화 또는 복호화를 위해 인터 또는 인트라 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.
또한, 영상 부호화 장치에 의해 비트스트림(부호화데이터)으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 영상 복호화 장치에서 복호화되어 영상으로 복원되고 재생될 수 있다.
통상적으로 동영상은 일련의 픽처(Picture)로 구성될 수 있으며, 각 픽처들은 프레임 또는 블록(Block)과 같은 소정의 영역으로 분할될 수 있다. 영상의 영역이 블록으로 분할되는 경우에는 분할된 블록은 부호화 방법에 따라 크게 인트라 블록(Intra Block), 인터 블록(Inter Block)으로 분류될 수 있다. 인트라 블록은 인트라 예측 부호화(Intra Prediction Coding) 방식을 사용하여 부호화되는 블록을 뜻하는데, 인트라 예측 부호화란 현재 부호화를 수행하는 현재 픽처 내에서 이전에 부호화되고 복호화되어 복원된 블록들의 화소를 이용하여 현재 블록의 화소를 예측함으로써 예측 블록을 생성하고 현재 블록의 화소와의 차분값을 부호화하는 방식이다. 인터 블록은 인터 예측 부호화(Inter Prediction Coding)를 사용하여 부호화되는 블록을 뜻하는데, 인터 예측 부호화란 하나 이상의 과거 픽처 또는 미래 픽처를 참조하여 현재 픽처 내의 현재 블록을 예측함으로써 예측 블록을 생성하고 현재 블록과의 차분값을 부호화하는 방식이다. 여기서, 현재 픽처를 부호화하거나 복호화하는데 참조되는 프레임을 참조 프레임(Reference Frame)이라고 한다.
본 발명의 실시예는, 현재 부호화하고자 하는 블록의 주변에 있는 블록들의 움직임벡터와 참조프레임에서 같은 위치에 있는 동일장소 블록의 움직임벡터를 예측 움직임벡터 후보 집합으로 구성하며, 예측 움직임벡터 후보 집합에서 비트율-왜곡 비용 측면에서 가장 비용이 작은 후보를 예측 움직임벡터로 결정하고, 예측 움직임벡터에 대한 색인, 현재 움직임벡터와 예측 움직임벡터의 차분 움직임벡터, 참조프레임 색인을 움직임정보로서 부호화한다.
도 1은 본 실시예에 따른 움직임정보 부호화 방법을 예를 들어 설명하기 위한 도면이다. 여기서, A부터 I까지의 값은 현재 블록에 대해 이미 부호화된 이웃블록들을 식별하기 위한 부호이다.
본 실시예에서, 현재 블록에 대한 예측 움직임벡터를 선정하기 위해, 예측 움직임벡터 후보 집합은 왼쪽 움직임벡터, 위쪽 움직임벡터, 구석(Corner) 움직임벡터, 중간값 움직임벡터, 동일장소 움직임벡터의 5개 움직임벡터를 포함할 수 있다. 해당하는 예측 움직임벡터가 없는 경우에는 예측 움직임벡터 후보집합에 포함하지 않는다.
왼쪽 움직임벡터는 현재 블록의 왼쪽에 위치한 블록들(도 1의 F, G, H)을 위에서 아래로 스캔하여 첫 번째로 유효한 움직임벡터로 설정한다. 유효한 움직임벡터는 움직임벡터가 존재하고 현재 블록의 참조프레임과 같은 참조프레임을 사용하는 것으로 판단한다.
위쪽 움직임벡터는 현재 블록의 위쪽에 위치한 블록들(도 1의 B, C, D)을 왼쪽에서 오른쪽으로 스캔하여 첫 번째로 유효한 움직임벡터로 설정한다. 구석 움직임벡터후보는 현재 블록의 오른쪽 위에 위치한 블록(도 1의 E), 현재 블록의 왼쪽 밑에 위치한 블록(도 1의 I), 현재 블록의 왼쪽 위에 위치한 블록(도 1의 A)을 전술한 순서대로 스캔하여 첫 번째로 유효한 움직임벡터로서 설정한다.
중간 움직임벡터는 상기에서 결정된 왼쪽 움직임벡터 후보, 위쪽 움직임벡터후보, 구석 움직임벡터 후보의 X, Y 값 각각에 대해 중간값(median) 연산을 실행하여 그 결과값으로 구성한다.
동일장소 움직임벡터(MV)는 참조프레임에서 현재 블록과 같은 위치에 있는 동일장소 블록의 움직임벡터(MVcol)를 스케일하여 설정한다. 동일장소 블록은 현재 블록과 같은 크기를 사용하며 동일 장소 블록이 여러 블록으로 분할된 경우, 미리 정해진 위치의 블록, 예를 들면 왼쪽 위의 블록의 움직임벡터를 동일장소 블록의 움직임벡터로 설정한다. 이때, 동일장소 블록이 위치한 참조프레임과 동일장소 움직임벡터가 참조한 동일장소 참조프레임의 시간 거리를 t1라 하고, 현재 블록과 동일장소 블록이 위치한 참조프레임들 사이의 시간거리를 t2라고 하면, MV = MVcol * (t2/t1) 으로 스케일하여 설정할 수 있다.
본 실시예는, 예측 움직임벡터 후보 집합의 각 후보들에 대해서 현재 부호화할 블록의 크기와 위치에 따라 예측움직임 벡터 색인을 적응적으로 부여하여 색인값이 적을수록 확률이 높다는 가정에서 엔트로피 부호화한다.
도 2는 본 실시예에 따른 색인 부여 방법의 예를 나타낸 도면이다. 도 2에서 보는 바와 같이, 하나의 2Nx2N 정사각형 블록을 수평 또는 수직으로 분할하여 각각의 블록을 예측 부호화할 수 있다. 여기서, 음영이 칠해진 부분이 현재 부호화하고자 하는 현재 블록이다.
도 2(a)는 2Nx2N 정사각형 블록을 수평으로 분할하여 밑에 있는 블록을 부호화하는 경우로서, 이때 색인 값(괄호안)은 왼쪽 움직임벡터 (0), 중간 움직임벡터(1), 위쪽 움직임벡터(2), 구석 움직임벡터(3), 동일장소 움직임벡터(4)와 같은 순서로 색인 값이 부여될 수 있다.
도 2(b)는 2Nx2N 정사각형 블록을 수직으로 분할하여 왼쪽에 있는 블록을 부호화하는 경우로서, 도 2(a)와 같은 순서로 색인 값이 부여될 수 있다.
도 2(c)는 2Nx2N 정사각형 블록을 수평으로 분할하여 위에 있는 블록을 부호화하는 경우로서, 이때 색인 값(괄호안)은 위쪽 움직임벡터(0), 왼쪽 움직임벡터(1), 중간 움직임벡터(2), 구석 움직임벡터(3), 동일장소 움직임벡터(4)와 같은 순서로 색인 값이 부여될 수 있다.
도 2(d)는 2Nx2N 정사각형 블록을 수직으로 분할하여 오른쪽에 있는 블록을 부호화하는 경우로서, 이때 색인 값(괄호안)은 구석 움직임벡터(0), 왼쪽 움직임벡터(1), 위쪽 움직임벡터(2), 중간 움직임벡터(3), 동일장소 움직임벡터(4)와 같은 순서로 색인 값이 부여될 수 있다.
도 2(e)는 도 2(a) 내지 도 2(d)와 같은 경우를 제외한 경우의 부호화의 예를 나타낸 것으로서, 이 경우 중간 움직임벡터(0), 왼쪽움직임벡터(1), 위쪽 움직임벡터(2), 구석 움직임벡터 (3), 동일장소 움직임벡터(4)와 같은 순서로 색인 값이 부여될 수 있다.
이하에서는, 예측 움직임벡터의 색인 정보에 대한 부호화 효율을 더 향상시키기 위한 방법을 설명한다.
도 3은 본 발명의 일 실시예에 따른 영상 부호화 장치의 구성을 개략적으로 나타낸 도면이다. 도면을 참조하면, 본 발명의 일 실시예에 따른 영상 부호화 장치(300)는 인트라 예측부(310), 인터 예측부(320), 감산부(330), 변환 및 양자화부(340), 부호화부(350), 역양자화 및 역변환부(360), 가산부(370), 프레임 메모리(380)를 포함하여 구성될 수 있다.
부호화하고자 하는 입력 영상은 부호화블록(Coding Block) 단위로 입력이 되는데, 본 발명의 실시예에서, 부호화블록은 M*N 형태이며, M과 N이 동일하거나 다를 수 있다. 또한, 부호화블록은 다양한 크기의 예측단위블록으로 분할될 수 있다.
인트라 예측부(310)는 현재 예측단위블록을 예측하기 위하여 인접 화소를 이용하여 예측 블록을 생성한다. 즉, 인트라 예측부(310)는 이미 부호화 과정을 거치고 복원된, 현재 블록의 인접 화소들을 이용하여 인트라 예측부(310)의 모드에 따라 예측 블록을 생성한다.
인터 예측부(320)는 현재 예측단위 블록을 예측하기 위하여 참조 프레임을 이용하여 예측 블록을 생성하여 출력한다. 즉, 인터 예측부(320)는 이미 부호화 과정을 거치고 복원된 이전 프레임에서 인터 예측부(320)의 모드에 따라 움직임 추정을 통해 움직임 벡터와 참조프레임 색인 등으로 구성되는 움직임 정보를 생성하고 움직임 정보를 이용한 움직임 보상 과정에서 예측 블록을 생성한다. 또한 인터 예측부(320)는 참조 프레임의 동일장소 블록의 움직임정보를 기반으로 현재 블록의 예측움직임벡터의 색인정보를 생성하고 현재블록의 움직임벡터에서 예측움직임벡터를 차분하여 생성된 차분 움직임벡터와 함께 참조프레임 색인, 예측 움직임벡터 색인정보 등으로 구성된 현재블록의 움직임정보를 생성한다. 이를 위해, 인터 예측부(320)는 움직임정보 생성부(도시하지 않음)를 포함할 수 있다. 이때, 움직임정보 생성부는 도 4에 도시한 움직임정보 생성장치(400)와 같이, 독립적인 하드웨어 또는 소프트웨어 모듈로서 존재할 수도 있다. 움직임정보 생성부의 구성 및 동작에 대해서는 후술하는 과정에서 도 4를 통해 상세히 설명한다.
감산부(330)는 현재 블록에서 예측 블록을 감산하여 잔차 블록(Residual Block)을 생성한다. 즉, 감산부(330)는 현재 블록의 화소값과 인트라 예측부(310) 또는 인터 예측부(320)에서 생성된 예측 블록의 화소값을 감산하여 잔차 블록을 생성한다.
변환 및 양자화부(340)는 감산부(330)에서 생성된 잔차 블록을 주파수 계수로 변환하고 양자화한다. 즉, 변환 및 양자화부는(340)는 감산부(330)에 의해 생성된 잔차 블록의 잔차 계수를 주파수 계수를 갖는 잔차 블록을 생성하고 생성된 주파수 계수의 잔차 블록을 양자화하는데, 이때 사용되는 변환 방식으로는 하다마드 변환(Hadamard Transform), 이산 코사인 변환 기반의 정수 변환(Discrete Cosine Transform Based Integer Transform) 등과 같은 공간 영역의 화상 신호를 주파수 영역으로 변환하는 기법이 사용되고, 양자화 방식으로는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization, 이하 'DZUTQ'라 칭함) 또는 양자화 가중치 매트릭스(Quantization Weighted Matrix) 등과 같은 다양한 양자화 기법을 이용할 수 있다.
부호화부(350)는 변환 및 양자화부(340)에 의해 변환되고 양자화된 잔차 블록을 부호화하여 부호화 데이터(비트스트림)를 생성할 수 있다. 이러한 부호화 기술로서는 엔트로피 부호화(Entropy Encoding) 기술이 사용될 수 있으나, 반드시 이에 한정하지 않고 다른 다양한 부호화 기술을 사용할 수 있을 것이다.
또한, 부호화부(350)는 양자화 주파수 계수들을 부호화한 비트열뿐만 아니라 움직임정보 등 부호화된 주파수계수 비트열을 복호화하는 데 필요한 다양한 정보들을 부호화 데이터에 포함시킬 수 있다. 즉, 부호화 데이터는 부호화된 블록 형태(CBP: Coded Block Pattern), 델타 양자화 계수(Delta Quantization Parameter) 및 양자화 주파수 계수가 부호화된 비트열이 포함되는 제 1 필드와 예측에 필요한 정보(예를 들어, 인트라 예측의 경우 인트라 예측 모드 또는 인터 예측의 경우 움직임 정보 등)를 위한 비트가 포함되는 제 2 필드를 포함할 수 있다.
역양자화 및 역변환부(360)는 변환 및 양자화부(340)에 의해 변환 및 양자화된 잔차 블록을 역양자화(Inverse Quantization)하고 역변환(Inverse Transform)하여 잔차 블록을 생성한다. 역양자화와 역변환은 변환 및 양자화부(340)가 수행한 변환 과정과 양자화 과정을 역으로 수행함으로써 이루어질 수 있다. 즉, 역양자화 및 역변환부(360)는 변환 및 양자화부(340)로부터 전달되는 양자화 된 블록을 역양자화하고, 역양자화된 주파수 블록을 다시 역변환하여 잔차 계수를 갖는 잔차 블록을 생성할 수 있다.
가산부(370)는 인트라예측부(310) 또는 인터예측부(320)에서 생성된 예측 블록과 역양자화 및 역변환부(360)에 의해 생성된 잔차 블록을 가산하여 복원된 블록을 생성한다.
프레임 메모리(380)는 가산부(370)에서 복원된 블록을 저장하여 인트라 예측 혹은 인터 예측 수행 시 예측 블록을 생성하기 위해 참조블록으로 사용된다.
도 4는 본 발명의 실시예에 따른 움직임정보 생성장치의 구성을 개략적으로 나타낸 도면이다. 본 발명의 실시예에 따른 움직임정보 생성장치(400)는 예측 움직임벡터 색인 생성부(410), 감산부(420) 및 움직임정보 구성부(430)를 포함할 수 있다.
예측 움직임벡터 색인 생성부(410)는 참조프레임의 동일장소 블록의 움직임정보를 기반으로 현재 블록의 예측 움직임벡터의 색인정보를 생성한다. 여기서, 참조프레임의 동일장소 블록이라 함은, 현재블록에 대한 참조프레임에서 현재블록의 위치와 동일한 장소에 위치한 블록을 말한다. 이를 위해, 예측 움직임벡터 색인 생성부(410)는 먼저 각각의 참조프레임에 대해 동일 장소 블록을 구성하는 움직임벡터 중 부호화하고자 하는 현재 블록의 위치에 가장 근접하게 연장되는 움직임벡터를 동일장소 움직임벡터로 선정한다. 또한, 예측 움직임벡터 색인 생성부(410)는 기존의 HEVC TMuC 방법과 같은 방법을 사용하여 왼쪽, 위쪽, 구석, 중간값 움직임벡터를 선정하여 동일장소 움직임벡터와 함께 예측움직임벡터 후보집합을 구성한다. 다음으로, 예측 움직임벡터 색인 생성부(410)는 동일장소 움직임벡터를 기반으로 예측 움직임벡터에 대해 색인값을 부여한다. 동일장소 움직임벡터가 현재 블록의 위치에 주어진 임계값 이내로 접근하는 경우는 예측 움직임벡터의 색인 구성에 있어서, 동일장소 움직임벡터에 가장 낮은 색인값 0을 부여하여 동일장소 움직임벡터 색인 값을 가장 적은 비트 수로 부호화할 수 있도록 한다.
감산부(420)는 현재 블록의 움직임벡터에서 예측 움직임벡터를 차분하여 차분 움직임벡터를 생성한다.
움직임정보 구성부(430)는 참조프레임 색인, 예측 움직임벡터 색인정보, 차분 움직임벡터 등으로 현재블록의 움직임정보를 구성한다.
도 5는 현재 블록과, 현재 블록의 움직임정보를 부호화하기 위해 사용될 수 있는 참조프레임의 동일장소 블록, 및 참조프레임의 동일장소 블록이 참조한 프레임을 예시한 도면이다.
도 5에 도시한 바와 같이, 참조프레임의 동일장소 블록은 참조프레임에서 현재프레임의 움직임보상에 의해 부호화할 현재 블록과 공간적으로 같은 위치에 있는 동일장소 블록을 나타낸다. 여기서, 참조프레임의 동일장소 블록은 현재 블록의 크기와 다를 수 있다. 본 발명의 실시예에서는 동일장소 블록의 크기는 현재 블록에 대해 수평으로 2배, 수직으로 2배로 예시한다.
동일장소 블록의 크기는 시퀀스, 슬라이스 단위 등으로 부호화하여 비트스트림에 포함할 수 있다. 또한, 동일장소 블록은 여러 개의 블록으로 분할되어 부호화된 경우나 B 압축방법으로 부호화한 경우와 같이, 여러 개의 움직임벡터를 가질 수 있다. 도 5의 예에서 동일장소 블록은 2개의 블록으로 분할되어 부호화되어 있으며, 각각의 블록은 자신의 움직임벡터를 가지고 있다. 도 6은 시간 축 상에서 움직임벡터와 블록들의 위치를 x 좌표만으로 나타낸 도면이다. 도 4의 예측 움직임정보 색인 생성부(410)는 이러한 참조프레임에서 현재 블록과 공간적으로 같은 위치에 있는 동일장소 블록의 움직임정보를 기반으로 현재 블록의 예측 움직임벡터의 색인정보를 생성할 수 있다.
도 7은 본 발명의 일 실시예에 따른 움직임정보 생성방법을 나타낸 흐름도이다.
도 4 및 도 7을 참조하면, 예측 움직임벡터 색인 생성부(410)는 먼저 각각의 참조프레임에 대해 동일 장소 블록을 구성하는 움직임벡터 중 부호화하고자 하는 현재 블록의 위치에 가장 근접하게 연장되는 움직임벡터를 동일장소 움직임벡터로 선정한다. 또한, 예측 움직임벡터 색인 생성부(410)는 기존의 HEVC TMuC 방법과 같은 방법을 사용하여 왼쪽, 위쪽, 구석, 중간값 움직임벡터를 선정하여 동일장소 움직임벡터와 함께 예측움직임벡터 후보집합을 구성한다(S710).
다음으로, 예측 움직임벡터 색인 생성부(410)는 동일장소 움직임벡터를 기반으로 예측 움직임벡터에 대해 색인값을 부여한다(S720). 이때, 비트율-왜곡 측면에서 가장 비용이 적은 참조프레임, 현재 움직임벡터, 예측 움직임벡터가 선정된다(S730).
동일장소 움직임벡터가 현재 블록의 위치에 주어진 임계값 이내로 접근하는 경우는 예측 움직임벡터의 색인 구성에 있어서, 동일장소 움직임벡터에 가장 낮은 색인값 0을 부여하여 동일장소 움직임벡터 색인 값을 가장 적은 비트 수로 부호화할 수 있도록 한다. 실시예로 기존의 TMuC의 색인 부여 방법에서 다른 예측움직임벡터 색인 순서는 유지하고 동일장소 움직임벡터를 가장 낮은 값을 부여할 수 있다. 도 1의 (a)의 경우, 다음과 같이 색인값을 부여할 수 있다.
동일장소 움직임벡터(0). 왼쪽움직임벡터(1), 중간움직임벡터(2), 위쪽 움직임벡터(3), 구석움직임벡터(4),
동일장소 움직임벡터가 현재 블록의 위치에 주어진 임계값 이내로 접근하는 경우에 대한 판단은 다음과 같이 할 수 있다(도 5 및 도 6 참조).
동일장소 블록의 공간위치가 (Cx,Cy)이고 시간위치가 Ct이며, 동일장소 움직임벡터가 (MVx,MVy)이며, 동일장소 블록이 참조한 참조프레임의 시간위치가 Rt이면 CURt 시간위치에 있는 현재 블록 위치(cx,cy)에 대한 근접 정도 (d)는 시간linear extrapolation에 의해 다음과 같이 구할 수 있다. 먼저 동일장소 움직임벡터의 각각의 x, y 성분에 대해 시간에 변화에 따른 직선 Lx, Ly는 다음과 같이 구할 수 있다.
Lx 직선식
x-Cx = MVx/(Ct- Rt)* (t-Ct)
Ly 직선식
y- Cy= MVy/(Ct- Rt)* (t-Ct)
위의 직선식은 현재 프레임의 시간위치인 CURt에서의 연장된 위치 Ex, Ey를 다음과 같이 구할 수 있도록 한다.
Ex = MVx/(Ct- Rt)* (CURt-Ct) + Cx
Ey= MVy/(Ct- Rt)* (CURt-Ct) + Cy
현재 블록 위치(cx,cy)에 대한 근접 정도 d는 연장위치 (Ex, Ey)와 거리에 의해 구할 수 있다. 거리는 유클리디언 거리, 시티 거리 등 다양한 방법 중 하나를 선정하여 구할 수 있다. 본 발명의 실시예로는 시티 거리를 사용한다.
시티거리는 차분의 절대값의 합으로서 다음과 같이 구한다.
d = || cx - Ex|| + ||cy - Ey||
동일장소 움직임벡터가 현재 블록의 위치에 주어진 임계값 이내로 접근하는 가를 판단하는 경우의 임계값(thresh)은 시퀀스, 슬라이스단위 등으로 부호화하여 비트스트림에 포함할 수 있다. 임계값은 실험에 의해 압축율이 가장 좋은 값으로 선정할 수 있다.
감산부(420)는 현재 블록의 움직임벡터에서 예측 움직임벡터를 차분하여 차분 움직임벡터를 생성한다.
움직임정보 구성부(430)는 차분 움직임벡터, 예측 움직임벡터 색인, 참조 프레임 색인으로 구성된 움직임정보를 구성한다(S740).
본 발명의 일 실시예에 따는 움직임 정보는 참조프레임색인, 예측 움직임벡터 색인, 차분 움직임벡터를 포함하여 구성한다. TMuC의 움직임벡터 해상도기술이 사용될때는 이 정보도 포함할 수 있다.
본 발명의 일 실시예로서 동일장소 움직임벡터는 동일장소의 블록들을 블록의 움직임벡터에 따라 부호화할 현재 프레임에 매핑했을 때 부호화하고자 하는 현재 블록을 가장 많이 포함하는 블록의 움직임벡터를 동일장소 움직임벡터로 선정할 수도 있다. 선정된 움직임벡터의 블록의 현재블록을 포함하는 비율이 주어진 임계값 이내로 접근하는 경우는 예측움직임벡터의 색인 구성에 있어서, 동일장소 움직임벡터에 가장 낮은 색인값 0를 부여하여 동일장소 움직임벡터 색인 값을 가장 적은 비트 수로 부호화할 수 있도록 할 수 있다.
도 4 내지 도 7을 통하여 전술한 바와 같은, 움직임정보 생성장치를 이용하면, 영상의 시간적 특성에 따라 움직임정보를 효율적으로 부호화하여 영상의 압축 효율을 향상시킬 수 있다.
도 8은 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 개략적으로 나타낸 도면이다.
본 발명의 일 실시예에 따른 영상 복호화 장치(800)는 복호화부(810), 역양자화 및 역변환부(820), 인트라 예측부(830), 인터 예측부(840), 가산부(850), 프레임 메모리(660)를 포함하여 구성될 수 있다.
복호화부(810)는 부호화 데이터(비트스트림)를 복호화하여 블록 복호화에 필요한 인터예측 모드, 부호 움직임정보, 인트라 예측 모드, 텍스쳐 등의 데이타를 추출한다. 즉, 복호화부(810)는 부호화 데이터를 복호화하여 양자화 주파수 계수열을 추출하고, 양자화 주파수 계수열을 역 지그재그 스캔 등 다양한 역 스캐닝 방식으로 역 스캐닝하여 양자화 주파수 계수를 갖는 잔차 블록을 생성한다. 이때, 복호화부(810)는 부호화 데이터에 포함된 제 1 필드에서 부호화된 잔차 블록을 추출하여 복호화할 수 있고, 부호화 데이터에 포함된 제 2 필드에서 인트라 예측모드, 인터예측 모드, 움직임정보 등 예측에 필요한 정보를 추출할 수 있으며, 추출된 예측에 필요한 정보를 인트라 예측부(830) 또는 인터 예측부(840)로 전달하여, 해당 예측부가 영상 부호화 장치(300)(도 3 참조)의 해당 예측부와 동일한 방식으로 현재 블록을 예측하도록 할 수 있다.
역 양자화 및 역 변환부(820)는 양자화된 잔차 블록을 역 양자화하여 역 양자화된 잔차 블록을 생성하고 생성된 역양자화된 블록을 역 트랜스폼하여 잔차 블록을 생성한다.
인트라 예측부(830)는 복호화부(810)로부터 전달되는 인트라 예측에 필요한 정보를 이용하여 현재 블록에 대한 예측 블록을 생성한다.
인터 예측부(840)는 복호화부(810)로부터 전달되는 인터 예측에 필요한 정보를 이용하여 현재 블록에 대한 예측 블록을 생성한다. 이때, 인터 예측부(840)는 복호화부(810)로부터 움직임정보를 전송받아, 움직임정보에 포함된 예측 움직임정보 색인값에 따라 예측 움직임벡터를 복원하여 움직임정보에 포함된 차분 움직임정보와 가산하여 현재 블록의 움직임정보를 복원하고, 복원된 움직임정보를 이용하여 현재 블록의 예측블록을 생성한다. 인터 예측부(840)는 움직임정보 복원부(도시하지 않음)를 포함할 수 있으며, 움직임정보 복원부는 독립적인 하드웨어 또는 소프트웨어 모듈로서 존재할 수 있으며, 도 9에 도시된 바와 같은 움직임정보 복원장치(900)로 구성될 수 있다. 움직임정보 복원장치(900)의 동작에 대해서는 후술하는 과정에서 도 9를 통해 상세히 설명한다.
가산부(850)는 잔차 블록과 예측 블록을 가산하여 현재 블록을 복원한다. 가산부(850)에 의해 복원된 현재 블록은 프레임 메모리(860)로 전달되어, 예측부(830, 840)에서 다른 블록을 예측하는 데 활용될 수 있다.
프레임 메모리(860)는 복원된 영상을 저장하여 인트라 및 인터 예측 블록 생성을 가능하게 한다.
인터예측부(830)는 복호화부(810)로부터 예측 움직임벡터 색인, 참조프레임 색인, 차분 움직임벡터를 전송받아, 현재 움직임벡터를 복원하여 움직임정보를 구성하는 움직임정보 복원부를 포함할 수 있다. 움직임정보 복원부는 독립적인 하드웨어 또는 소프트웨어 모듈로서 존재할 수 있으며, 도 9에 도시된 바와 같은 움직임정보 복원장치(900)로 구성될 수 있다.
도 9는 본 발명의 실시예에 따른 움직임정보 복원장치(900)를 개략적으로 나타낸 도면이다.
본 발명의 실시예에 따른 움직임정보 복원장치(900)는 복호화부(810)로부터 움직임정보에 포함된 예측 움직임 색인값을 입력받아 예측 움직임벡터를 설정하는 예측움직임벡터 설정부(910), 예측 움직임벡터와 움직임정보에 포함된 차분 움직임벡터를 가산하여 현재 움직임벡터를 설정하는 가산부(920), 및 복원된 움직임벡터와 함께 움직임정보에 포함된 참조프레임색인을 수신하여 움직임정보를 복원하는 움직임정보 구성부(930)를 포함한다.
예측 움직임벡터 설정부(910)에서는 부호화시와 동일하거나 유사한 방법으로 동일장소블록의 움직임벡터들을 검사하여 부호화하고자 하는 현재 블록의 위치에 가장 근접하게 연장되는 움직임벡터를 동일장소 움직임벡터로 선정하고, 동일장소, 왼쪽, 위쪽, 구석, 중간값 움직임벡터로 구성되는 예측움직임벡터 후보집합을 구성한다. 또한, 예측 움직임벡터 설정부(910)는 동일장소 움직임벡터가 현재 블록의 위치에 주어진 임계값 이내로 접근하는 경우에 예측움직임벡터의 색인 구성에 있어서, 동일장소 움직임벡터에 가장 낮은 색인값 0을 부여하여 예측움직임벡터 후보들의 색인을 구성하고, 수신한 색인 값에 해당하는 움직임벡터를 예측움직임벡터로 설정할 수 있다.
도 10은 본 발명의 실시예에 따른 움직임정보 복원방법을 나타낸 흐름도이다.
도면을 참조하면, 본 발명의 실시예에 따른 움직임정보 복원장치(900)는 복호화부(810)로부터 예측 움직임 색인값을 입력받아 예측 움직임벡터를 설정하고(S1010), 예측 움직임벡터와 복호화부(810)으로부터 입력받은 차분 움직임벡터를 가산하여 현재 움직임벡터를 복원하며(S1020), 복원된 움직임벡터와 함께 복호화부로부터 입력받은 참조프레임 색인으로 움직임정보를 구성한다(S1030).
한편, 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치는 도 3의 영상 부호화 장치(300)의 부호화데이터(비트스트림) 출력단을 도 8의 영상 복호화 장치(800)의 부호화 데이터(비트스트림) 입력단에 연결함으로써 구현할 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명의 실시예는, 영상 부호화 및 복호화 분야에서, 현재블록의 움직임 정보를 부호화하는 데에 소요되는 비트량을 최소화함으로써 압축 성능을 향상시킬 수 있는 매우 유용한 발명이다.

Claims (6)

  1. 현재 블록을 인터 예측하는 영상 복호화 장치에 있어서,
    비트스트림으로부터 참조 프레임 색인 정보, 차분 움직임벡터, 및 예측 움직임벡터 색인 정보를 복원하는 복호화부; 및
    상기 현재 블록의 현재 움직임벡터를 예측하기 위한 예측 움직임벡터 후보들을 선정하고, 상기 선정된 예측 움직임벡터 후보들 중에서 상기 예측 움직임벡터 색인 정보에 의해 식별되는 예측 움직임벡터 후보를 상기 현재 블록의 예측 움직임벡터로 결정하며, 상기 결정된 예측 움직임벡터와 상기 차분 움직임벡터를 가산하여 상기 현재 움직임벡터를 복원하고, 상기 참조 프레임 색인 정보에 식별되는 상기 현재 블록의 참조 프레임 및 상기 현재 움직임벡터에 기반하여 상기 현재 블록을 예측하는 인터 예측부를 포함하고,
    상기 인터 예측부는,
    현재 프레임 내에서 상기 현재 블록의 주변에 위치한 주변블록들의 움직임벡터에 기반하여 하나 이상의 예측 움직임벡터 후보를 선정하는 제1모듈, 및
    상기 현재 프레임보다 먼저 복호화된 참조 프레임 내에 위치하는 참조 블록의 움직임벡터에 기반하여 하나의 예측 움직임벡터 후보를 선정하는 제2모듈을 포함하는 것을 특징으로 하는 영상 복호화 장치.
  2. 제1항에 있어서, 상기 제1모듈은,
    상기 현재 블록의 왼쪽에 위치한 주변 블록에 기반하여 제1 예측 움직임벡터 후보를 선정하는 과정 및,
    상기 현재 블록의 위쪽에 위치한 주변 블록에 기반하여 제2 예측 움직임벡터 후보를 선정하는 과정을 수행하는 것을 특징으로 하는 영상 복호화 장치.
  3. 제2항에 있어서, 상기 제1모듈은,
    상기 왼쪽에 위치한 주변 블록이 참조하는 참조 프레임과 상기 현재 블록의 참조 프레임이 동일하면, 상기 왼쪽에 위치한 주변 블록의 움직임벡터를 상기 제1 예측 움직임벡터 후보로 선정하고,
    상기 위쪽에 위치한 주변 블록이 참조하는 참조 프레임과 상기 현재 블록의 참조 프레임이 동일하면, 상기 위쪽에 위치한 주변 블록의 움직임벡터를 상기 제2 예측 움직임벡터 후보로 선정하는 것을 특징으로 하는 영상 복호화 장치.
  4. 제2항에 있어서,
    상기 제1 예측 움직임벡터 후보는 상기 제2 예측 움직임벡터 후보보다 작은 색인 값이 부여되는 것을 특징으로 하는 영상 복호화 장치.
  5. 제1항에 있어서, 상기 제2모듈은,
    상기 현재 프레임 내에서의 상기 현재 블록의 위치에 기반하여, 상기 참조 프레임 내에서 상기 참조 블록의 위치를 결정하는 것을 특징으로 하는 영상 복호화 장치.
  6. 제1항에 있어서, 상기 제2모듈은,
    상기 참조 블록이 위치하는 참조 프레임과 상기 참조 블록의 참조 프레임 간의 시간적 거리, 및 상기 현재 프레임과 상기 현재 블록의 참조 프레임 간의 시간적 거리에 근거하여, 상기 참조 블록의 움직임벡터를 스케일링하는 것을 특징으로 영상 복호화 장치.
KR20140027928A 2014-03-10 2014-03-10 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법 KR101479137B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20140027928A KR101479137B1 (ko) 2014-03-10 2014-03-10 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20140027928A KR101479137B1 (ko) 2014-03-10 2014-03-10 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR20110006248A Division KR101484171B1 (ko) 2011-01-21 2011-01-21 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020140165137A Division KR101676381B1 (ko) 2014-11-25 2014-11-25 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20140057220A KR20140057220A (ko) 2014-05-12
KR101479137B1 true KR101479137B1 (ko) 2015-01-07

Family

ID=50888178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140027928A KR101479137B1 (ko) 2014-03-10 2014-03-10 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101479137B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240000649A (ko) 2015-08-24 2024-01-02 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080064355A (ko) * 2007-01-04 2008-07-09 삼성전자주식회사 영상의 예측 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR20080076870A (ko) * 2008-07-18 2008-08-20 엘지전자 주식회사 모션벡터 결정방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080064355A (ko) * 2007-01-04 2008-07-09 삼성전자주식회사 영상의 예측 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR20080076870A (ko) * 2008-07-18 2008-08-20 엘지전자 주식회사 모션벡터 결정방법

Also Published As

Publication number Publication date
KR20140057220A (ko) 2014-05-12

Similar Documents

Publication Publication Date Title
KR101484171B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR101444675B1 (ko) 영상 부호화 및 복호화 방법과 장치
KR101316060B1 (ko) 인터 예측 부호화된 동영상 복호화 방법
KR101943049B1 (ko) 영상 부호화/복호화 방법 및 장치
US20220394241A1 (en) Image encoding/decoding method and apparatus involving merge candidate list and triangular shape partitions
KR20130085838A (ko) 가중치예측을 이용한 영상 부호화/복호화 방법 및 장치
KR20120009861A (ko) 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
KR101506446B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101377529B1 (ko) 적응적 움직임 벡터 부호화/복호화를 이용한 영상 부호화/복호화 방법 및 장치
KR101479137B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR101510585B1 (ko) 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법
KR101699832B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR101676381B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR20160083832A (ko) 주파수변환단위 분할부호화 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치
KR101567986B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101567961B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101567982B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101527153B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101483688B1 (ko) 움직임정보 병합을 이용한 부호움직임정보생성/움직임정보복원 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR20120010738A (ko) 경쟁 기반 인터리브드 움직임 벡터코딩 방법 및 장치와 이를 이용한 영상 부호화/복호화 방법 및 장치
KR20130065673A (ko) 움직임 벡터를 복호화하는 장치
KR20120041440A (ko) 전역움직임을 기반하여 결정된 부호화구조를 이용한 영상 부호화/복호화 방법 및 장치
KR20120079862A (ko) 움직임벡터 부호화 및 복호화 장치와 방법
KR20180090975A (ko) 영상 부호화/복호화 방법 및 장치

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171204

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181203

Year of fee payment: 5