KR101806341B1 - 예측 움직임 벡터 선정에 따른 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치 - Google Patents

예측 움직임 벡터 선정에 따른 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치 Download PDF

Info

Publication number
KR101806341B1
KR101806341B1 KR1020110134891A KR20110134891A KR101806341B1 KR 101806341 B1 KR101806341 B1 KR 101806341B1 KR 1020110134891 A KR1020110134891 A KR 1020110134891A KR 20110134891 A KR20110134891 A KR 20110134891A KR 101806341 B1 KR101806341 B1 KR 101806341B1
Authority
KR
South Korea
Prior art keywords
motion vector
block
unit
priority
motion vectors
Prior art date
Application number
KR1020110134891A
Other languages
English (en)
Other versions
KR20130067874A (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 KR1020110134891A priority Critical patent/KR101806341B1/ko
Publication of KR20130067874A publication Critical patent/KR20130067874A/ko
Application granted granted Critical
Publication of KR101806341B1 publication Critical patent/KR101806341B1/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/134Methods 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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

Abstract

본 발명은 고정된 예측 움직임 벡터 후보 우선 순위를 주변 블록의 움직임 벡터의 특성에 따라 적응적으로 가변시킬 수 있는 예측 움직임 벡터 선정에 따른 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치를 개시하고 있다. 영상 부호화 장치는 현재 예측 유닛의 주변 블록의 움직임 벡터를 통해 상기 현재 예측 유닛의 예측 움직임 벡터를 선정하여 부호화하는 장치에 있어서, 상기 주변 블록의 움직임 벡터들의 방향성의 상관도를 기반으로 상기 주변 블록의 움직임 벡터들을 2개의 군으로 군집화하는 움직임 벡터 군집화부; 상기 군집화된 2개의 군에서 더 많은 수의 움직임 벡터를 포함하고 있는 군을 선별하여 상기 선별된 군에 포함된 움직임 벡터를 토대로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보의 우선 순위를 정하는 순위 결정부; 및 상기 우선 순위를 기반으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터를 선정하고 상기 선정된 상기 현재 예측 유닛의 예측 움직임 벡터를 기반으로 예측 부호화하고 비트 스트림을 생성하여 수신측으로 전송하는 전송부를 포함한다. 따라서, 획일적으로 고정되어 있는 움직임 벡터 예측 우선 순위를 다양한 영상의 특징을 반영하여 가변적으로 바꿔서 부호화함으로써 높은 효율의 압축을 수행한다.

Description

예측 움직임 벡터 선정에 따른 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치{IMAGE ENCODING METHOD AND APPARATUS, AND IMAGE DECODING METHOD AND APPARATUS ACCORDING TO PREDICTION MOTION VECTOR SELECTION}
본 발명은 예측 움직임 벡터 선정에 따른 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치에 관한 것으로, 보다 상세하게는 현재 예측 유닛의 움직임 벡터를 예측함에 있어서 효율적으로 예측 움직임 벡터를 결정하여 부호화하는 방법 및 장치, 및 복호화하는 방법 및 장치에 관한 것이다.
움직임 벡터의 예측은 현재 예측 유닛 주변에 이미 움직임 벡터가 결정된 블록들을 이용하여 주변 블록의 움직임 벡터로 예측 움직임 벡터 후보군을 만들고 그 후보군 가운데서 현재의 예측 유닛의 예측 움직임 벡터를 선택하는 것이다. 그래서 이렇게 구한 예측 움직임 벡터와 현재의 예측 유닛에서 직접 구한 움직임 벡터와의 차이를 구하고 그 차이 값만을 코딩하여 전송하기 때문에 사용되는 비트(bit)의 양을 많이 줄일 수가 있는 장점이 있다. 이 기술은 이전 H.264에서도 사용되던 기술이고, 지금 표준화 작업이 진행중인 HEVC(High Efficieney Video Coding)에서도 사용되고 있다.
하지만, 종래 사용되는 방법은 예측 움직임 벡터의 우선 순위를 고정적으로 설정되어 있다. 이렇게 고정적으로 설정된 우선 순위는 테스트(test)를 통해 실험적으로 구한 값들이다. 따라서, 테스트에서의 환경과 다른 환경에서의 움직임 예측에는 최적화되어 있지 않다. 즉, 적응적으로 주변 블록의 움직임 벡터를 기반으로 현재 예측 유닛의 움직임 벡터를 예측하는데 적합하지 못하다. 하지만, 적응적으로 주변 블록의 움직임 벡터를 현재 예측 유닛의 움직임 벡터로 예측하려면 그만큼 연산량이 늘어나고, 따라서 복잡도가 증가한다는 문제가 발생할 수 있다. 따라서, 연산량을 크게 높이지 않으면서, 적응적으로 주변 블록의 예측 움직임 벡터를 선택하는 기술이 필요하다.
Hiroya Nakamura, Shigeru Fukushima, Masayoshi Nishitani, "Unification of derivation process for merge mode and MVP", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22, JCTVC - F419, July, 2011 Toshiyasu Sugio, Takahiro Nishi, "Parsing Robustness for Merge/AMVP", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22, JCTVC-F470, July, 2011 Chuohao Yeo, Yih Han Tan, Zhengguo Li, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th Meeting: Geneva, CH, 16-23, JCTVC-E101 March, 2011
상술한 문제점을 해결하기 위한 본 발명의 목적은 고정된 예측 움직임 벡터 후보 우선 순위를 주변 블록의 움직임 벡터의 특성에 따라 적응적으로 가변시킬 수 있는 예측 움직임 벡터 선정에 따른 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 주변 블록의 움직임 벡터를 적응적으로 참조하여 보다 효율적인 순서로 예측 움직임 벡터를 선정함에 있어서 연산량을 크게 증가시키지 않기 때문에 부호화 장치의 복잡도를 크게 높이지 않고 움직임 벡터를 예측할 수 있는 예측 움직임 벡터 선정에 따른 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치를 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 영상 부호화 장치는 현재 예측 유닛의 주변 블록의 움직임 벡터를 통해 상기 현재 예측 유닛의 예측 움직임 벡터를 선정하여 부호화하는 장치에 있어서, 상기 주변 블록의 움직임 벡터들의 방향성의 상관도를 기반으로 상기 주변 블록의 움직임 벡터들을 2개의 군으로 군집화하는 움직임 벡터 군집화부; 상기 군집화된 2개의 군에서 더 많은 수의 움직임 벡터를 포함하고 있는 군을 선별하여 상기 선별된 군에 포함된 움직임 벡터를 토대로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보의 우선 순위를 정하는 순위 결정부; 및 상기 우선 순위를 기반으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터를 선정하고 상기 선정된 상기 현재 예측 유닛의 예측 움직임 벡터를 기반으로 예측 부호화하고 비트 스트림을 생성하여 수신측으로 전송하는 전송부를 포함할 수 있다.
상기 주변 블록은 상기 현재 예측 유닛의 상단의 최우측의 제 1 블록, 상기 제 1 블록의 우측에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 좌측 최하단의 제 3 블록, 상기 제 3 블록의 하단에 접해 있는 제 4 블록 및 상기 현재 블록의 좌상단 블록인 제 5 블록을 포함할 수 있다.
상기 순위 결정부는 제 1 우선 순위를 기반으로 우선 순위를 정하되, 상기 제 1 우선 순위는 순차적으로 상기 제 4 블록의 움직임 벡터, 상기 제 3 블록의 움직임 벡터, 상기 제 2 블록의 움직임 벡터, 상기 제 1 블록의 움직임 벡터 및 상기 제 5 블록의 움직임 벡터 순일 수 있다.
상기 순위 결정부는 상기 군집화된 2 개의 군에서 더 많은 움직임 벡터를 포함하고 있는 군을 선별하는 선별부; 상기 선별된 군에 포함된 움직임 벡터 중에서 상기 제 1 우선 순위에 근거하여 최우선 순위의 움직임 벡터를 추출하는 추출부; 및 상기 추출된 최우선 순위의 움직임 벡터를 기반으로 상기 제 1 우선 순위를 일부 변형하여 우선 순위를 재배열하는 우선 순위 재배열부를 포함할 수 있다.
상기 우선 순위 재배열부는 상기 추출된 최우선 순위의 움직임 벡터를 상기 제 1 우선 순위의 첫 번째 순위로 가져옴으로서 우선 순위를 재배열할 수 있다.
상기 움직임 벡터 군집화부는 상기 주변 블록이 상기 현재 예측 유닛의 예측 움직임 벡터 선정을 위한 후보로 이용가능한지 판단하고, 상기 판단 결과를 기반으로 상기 주변 블록의 움직임 벡터 추출하는 움직임 벡터 추출부; 상기 추출된 움직임 벡터의 방향 관련 정보를 추출하는 벡터 방향 추출부; 및 상기 추출된 움직임 벡터의 방향 관련 정보를 기반으로 상기 움직임 벡터의 방향성의 상관도에 근거하여 상기 주변 블록의 움직임 벡터를 2개의 군으로 군집화하는 군집화부를 포함할 수 있다.
상기 군집화부는 K-means 기법을 사용하여 상기 주변 블록의 움직임 벡터를 2개의 군으로 군집화할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 영상 부호화 방법은 현재 예측 유닛의 주변 블록의 움직임 벡터를 통해 상기 현재 예측 유닛의 예측 움직임 벡터를 선정하여 부호화하는 방법에 있어서, 상기 주변 블록의 움직임 벡터들의 방향성의 상관도를 기반으로 상기 주변 블록의 움직임 벡터들을 2개의 군으로 군집화하는 움직임 벡터 군집화 단계; 상기 군집화된 2개의 군에서 더 많은 수의 움직임 벡터를 포함하고 있는 군을 선별하여 상기 선별된 군에 포함된 움직임 벡터를 토대로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보의 우선 순위를 정하는 순위 결정 단계; 및 상기 우선 순위를 기반으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터를 선정하고 상기 선정된 상기 현재 예측 유닛의 예측 움직임 벡터를 기반으로 예측 부호화하고 비트 스트림을 생성하여 수신측으로 전송하는 전송 단계를 포함할 수 있다.
상기 주변 블록은 상기 현재 예측 유닛의 상단의 최우측의 제 1 블록, 상기 제 1 블록의 우측에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 좌측 최하단의 제 3 블록, 상기 제 3 블록의 하단에 접해 있는 제 4 블록 및 상기 현재 블록의 좌상단 블록인 제 5 블록을 포함할 수 있다.
상기 순위 결정 단계는 제 1 우선 순위를 기반으로 우선 순위를 정하는 단계를 포함하되, 상기 제 1 우선 순위는 순차적으로 상기 제 4 블록의 움직임 벡터, 상기 제 3 블록의 움직임 벡터, 상기 제 2 블록의 움직임 벡터, 상기 제 1 블록의 움직임 벡터 및 상기 제 5 블록의 움직임 벡터 순일 수 있다.
상기 순위 결정 단계는 상기 군집화된 2 개의 군에서 더 많은 움직임 벡터를 포함하고 있는 군을 선별하는 선별 단계; 상기 선별된 군에 포함된 움직임 벡터 중에서 상기 제 1 우선 순위에 근거하여 최우선 순위의 움직임 벡터를 추출하는 추출 단계; 및 상기 추출된 최우선 순위의 움직임 벡터를 기반으로 상기 제 1 우선 순위를 일부 변형하여 우선 순위를 재배열하는 우선 순위 재배열 단계를 포함할 수 있다.
상기 우선 순위 재배열 단계는 상기 추출된 최우선 순위의 움직임 벡터를 상기 제 1 우선 순위의 첫 번째 순위로 가져옴으로서 우선 순위를 재배열하는 단계를 포함할 수 있다.
상기 움직임 벡터 군집화 단계는 상기 주변 블록이 상기 현재 예측 유닛의 예측 움직임 벡터 선정을 위한 후보로 이용가능한지 판단하고, 상기 판단 결과를 기반으로 상기 주변 블록의 움직임 벡터 추출하는 움직임 벡터 추출 단계; 상기 추출된 움직임 벡터의 방향 관련 정보를 추출하는 벡터 방향 추출 단계; 및 상기 추출된 움직임 벡터의 방향 관련 정보를 기반으로 상기 움직임 벡터의 방향성의 상관도에 근거하여 상기 주변 블록의 움직임 벡터를 2개의 군으로 군집화하는 군집화 단계를 포함할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 영상 복호화 장치는 주변 블록의 움직임 벡터를 통해 현재 예측 유닛의 예측 움직임 벡터를 선정하여 복호화하는 장치에 있어서, 수신된 비트 스트림을 엔트로피 복호화하고 역양자화 및 역변환하는 역양자화 및 역변환부; 상기 역변환된 비트 스트림을 기반으로 상기 주변 블록의 움직임 벡터들의 방향성의 상관도에 근거하여 상기 주변 블록의 움직임 벡터를 2개의 군으로 군집화하고 상기 군집화된 2개의 군에서 더 많은 수의 움직임 벡터를 포함하고 있는 군에 포함된 움직임 벡터를 토대로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보의 우선 순위를 정하는 순위 결정부; 및 상기 우선 순위를 기반으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터를 선정하고 상기 선정된 상기 현재 예측 유닛의 예측 움직임 벡터를 기반으로 화면간 예측를 수행하여 영상을 복원하는 화면간 예측부를 포함할 수 있다.
상기 주변 블록은 상기 현재 예측 유닛의 상단의 최우측의 제 1 블록, 상기 제 1 블록의 우측에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 좌측 최하단의 제 3 블록, 상기 제 3 블록의 하단에 접해 있는 제 4 블록 및 상기 현재 블록의 좌상단 블록인 제 5 블록을 포함할 수 있다.
상기 순위 결정부는 제 1 우선 순위를 기반으로 우선 순위를 정하되, 상기 제 1 우선 순위는 순차적으로 상기 제 4 블록의 움직임 벡터, 상기 제 3 블록의 움직임 벡터, 상기 제 2 블록의 움직임 벡터, 상기 제 1 블록의 움직임 벡터 및 상기 제 5 블록의 움직임 벡터 순일 수 있다.
상기 순위 결정부는 상기 주변 블록의 움직임 벡터들의 방향성의 상관도를 기반으로 상기 주변 블록의 움직임 벡터들을 2개의 군으로 군집화하는 움직임 벡터 군집화부; 상기 군집화된 2 개의 군에서 더 많은 움직임 벡터를 포함하고 있는 군을 선별하는 선별부; 상기 선별된 군에 포함된 움직임 벡터 중에서 상기 제 1 우선 순위에 근거하여 최우선 순위의 움직임 벡터를 추출하는 추출부; 및 상기 추출된 최우선 순위의 움직임 벡터를 기반으로 상기 제 1 우선 순위를 일부 변형하여 우선 순위를 재배열하는 우선 순위 재배열부를 포함할 수 있다.
상기 우선 순위 재배열부는 상기 추출된 최우선 순위의 움직임 벡터를 상기 제 1 우선 순위의 첫 번째 순위로 가져옴으로서 우선 순위를 재배열할 수 있다.
상기 움직임 벡터 군집화부는 상기 주변 블록이 상기 현재 예측 유닛의 예측 움직임 벡터 선정을 위한 후보로 이용가능한지 판단하고, 상기 판단 결과를 기반으로 상기 주변 블록의 움직임 벡터 추출하는 움직임 벡터 추출부; 상기 추출된 움직임 벡터의 방향 관련 정보를 추출하는 벡터 방향 추출부; 및 상기 추출된 움직임 벡터의 방향 관련 정보를 기반으로 상기 움직임 벡터의 방향성의 상관도에 근거하여 상기 주변 블록의 움직임 벡터를 2개의 군으로 군집화하는 군집화부를 포함할 수 있다.
상기 군집화부는 K-means 기법을 사용하여 상기 주변 블록의 움직임 벡터를 2개의 군으로 군집화할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 영상 복호화 방법은 주변 블록의 움직임 벡터를 통해 현재 예측 유닛의 예측 움직임 벡터를 선정하여 복호화하는 방법에 있어서, 수신된 비트 스트림을 엔트로피 복호화하고 역양자화 및 역변환하는 역양자화 및 역변환 단계; 상기 역변환된 비트 스트림을 기반으로 상기 주변 블록의 움직임 벡터들의 방향성의 상관도에 근거하여 상기 주변 블록의 움직임 벡터를 2개의 군으로 군집화하고 상기 군집화된 2개의 군에서 더 많은 수의 움직임 벡터를 포함하고 있는 군에 포함된 움직임 벡터를 토대로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보의 우선 순위를 정하는 순위 결정 단계; 및 상기 우선 순위를 기반으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터를 선정하고 상기 선정된 상기 현재 예측 유닛의 예측 움직임 벡터를 기반으로 화면간 예측을 수행하여 영상을 복원하는 화면간 예측 단계를 포함할 수 있다.
상기 주변 블록은 상기 현재 예측 유닛의 상단의 최우측의 제 1 블록, 상기 제 1 블록의 우측에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 좌측 최하단의 제 3 블록, 상기 제 3 블록의 하단에 접해 있는 제 4 블록 및 상기 현재 블록의 좌상단 블록인 제 5 블록을 포함할 수 있다.
상기 순위 결정 단계는 제 1 우선 순위를 기반으로 우선 순위를 정하는 단계를 포함하되, 상기 제 1 우선 순위는 순차적으로 상기 제 4 블록의 움직임 벡터, 상기 제 3 블록의 움직임 벡터, 상기 제 2 블록의 움직임 벡터, 상기 제 1 블록의 움직임 벡터 및 상기 제 5 블록의 움직임 벡터 순일 수 있다.
상기 순위 결정 단계는 상기 주변 블록의 움직임 벡터들의 방향성의 상관도를 기반으로 상기 주변 블록의 움직임 벡터들을 2개의 군으로 군집화하는 움직임 벡터 군집화 단계; 상기 군집화된 2 개의 군에서 더 많은 움직임 벡터를 포함하고 있는 군을 선별하는 선별 단계; 상기 선별된 군에 포함된 움직임 벡터 중에서 상기 제 1 우선 순위에 근거하여 최우선 순위의 움직임 벡터를 추출하는 추출 단계; 및 상기 추출된 최우선 순위의 움직임 벡터를 기반으로 상기 제 1 우선 순위를 일부 변형하여 우선 순위를 재배열하는 우선 순위 재배열 단계를 포함할 수 있다.
상기 우선 순위 재배열 단계는 상기 추출된 최우선 순위의 움직임 벡터를 상기 제 1 우선 순위의 첫 번째 순위로 가져옴으로서 우선 순위를 재배열하는 단계를 포함알 수 있다.
본 발명의 예측 움직임 벡터 선정에 따른 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치에 따르면, 획일적으로 고정되어 있는 움직임 벡터 예측 우선 순위를 다양한 영상의 특징을 반영하여 가변적으로 바꿔서 부호화함으로써 높은 효율의 압축을 수행할 수 있는 효과가 있다.
또한, 본 발명의 예측 움직임 벡터 선정에 따른 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치에 따르면, 복호화에 있어서도 주변 블록의 특성을 고려하여 예측 움직임 벡터 선정의 우선 순위를 가변시켜 움직임 벡터를 예측한 후 영상을 복호화하기 때문에 보다 효율적으로 복호화가 되고, 보다 고화질의 복원된 영상을 획득할 수 있는 효과가 있다.
도 1은 주변 블록의 위치를 나타낸 도면,
도 2는 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 장치를 개략적으로 나타낸 블록도,
도 3은 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 장치의 움직임 벡터 군집화부를 구체적으로 나타낸 상세블록도,
도 4는 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 장치의 움직임 벡터 군집화부에서 사용되는 K-means 알고리즘을 나타낸 흐름도,
도 5는 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 장치의 순위 결정부를 구체적으로 나타낸 상세블록도,
도 6은 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 방법을 개략적으로 나타낸 흐름도,
도 7은 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 방법의 움직임 벡터 군집화 단계를 구체적으로 나타낸 상세흐름도,
도 8은 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 방법의 순위 결정 단계를 구체적으로 나타낸 상세흐름도,
도 9는 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 복호화 장치를 개략적으로 나타낸 블록도,
도 10은 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 복호화 장치의 순위 결정부를 구체적으로 나타낸 상세블록도,
도 11은 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 복호화 장치의 움직임 벡터 군집화부를 구체적으로 나타낸 상세블록도,
도 12는 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 복호화 방법을 개략적으로 나타낸 흐름도,
도 13은 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 복호화 장치의 순위 결정 단계를 구체적으로 나타낸 상세흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
현재의 예측 유닛(100)에서의 움직임 벡터를 예측하기 위해서는 주변 블록들의 움직임 벡터를 읽어 오는 과정이 필요하다. 이때 사용되는 주변 블록들은 다음과 같다. 도 1은 주변 블록의 위치를 나타낸 도면이다. 도 1에 도시된 바와 같이, 현재 블록 주위에 주변 블록(101, 102, 103, 104, 105)이 위치하고 있다. 주변 블록은 현재 예측 유닛(100)의 상단의 최우측의 블록(101), 블록(101)의 우측에 접해 있는 블록(102), 현재 예측 유닛(100)의 좌측 최하단의 블록(103), 블록(103)의 하단에 접해 있는 블록(104) 및 현재 예측 유닛(100)의 좌상단 블록(105)을 포함한다.
도 1을 참조하면, 현재 예측 유닛(100)의 상단의 최우측의 블록(101), 블록(101)의 우측에 접해 있는 블록(102), 현재 예측 유닛(100)의 좌측 최하단의 블록(103), 블록(103)의 하단에 접해 있는 블록(104) 및 현재 예측 유닛(100)의 좌상단 블록(105) 및 이전 참조 영상의 현재 예측 유닛과 대응되는 위치에 블록(110), 총 6개의 주변 블록이 현재 예측 유닛(100)의 움직임 벡터를 예측하는데 사용될 수 있다. 즉, 총 6개의 주변 블록의 움직임 벡터가 현재 예측 유닛(100)의 예측 움직임 벡터를 결정하는 예측 움직임 벡터 후보군이 되는 것이다. 경우에 따라 현재 예측 유닛의 움직임 벡터를 예측하는데 이용할 수 없는 주변 블록이 존재하는데 이 경우에는 상기 블록을 사용하지 않는다. 이용할 수 없는 경우는 예컨대, 화면간(inter) 예측이 아닌 경우, 즉 화면내(intra) 예측인 경우 예측 움직임 벡터 값을 갖지 않기 때문에 이용할 수 없고, 사물의 에지(edge)에 존재하여 움직임 벡터 값이 크게 변하는 경우, 현재 예측 유닛(100)의 예측 움직임 벡터의 후보로 사용하기에는 적합하지 않아 이용할 수 없는 경우로 분류한다.
다음으로, 전술한 바와 같이 6 개의 예측 움직임 벡터의 후보군 중에서 사용 가능한 예측 움직임 벡터로 3개의 최종 예측 움직임 벡터 후보를 정하고 이를 기반으로 비트 스트림을 생성한다. 비트 스트림을 생성할 때 각각의 비트와 움직임 벡터와의 대응 관계는 다음의 표를 통해 살펴볼 수 있다.
Figure 112011099539405-pat00001
표 1을 참조하면, 총 3개의 예측 움직임 벡터만 저장할 수 있음을 알 수 있다. 상위 2 개는 주변 블록 A~E 중에서 2개의 예측 움직임 벡터가 들어가고 나머지 한 개는 블록(110)이 들어가게 된다. 그리고 3개의 최종 예측 움직임 벡터는 순서대로 S0, S1, S2의 인덱스(index)가 부여된다. 이렇게 선정된 3개의 예측 움직임 벡터 후보 중에서 현재 예측 유닛(100)의 예측 움직임 벡터를 선택하게 된다.
이때, 후보가 비트(bit)화 되는 표 1을 참조하면, 첫 번째 움직임 벡터의 인덱스는 1 비트(bit)로 정해져 있다. 따라서 우선 순위에 있는 2개의 후보를 최종 예측 움직임 벡터 후보로 선택하고 최우선 순위에 있는 예측 움직임 벡터 후보의 인덱스에 상대적으로 적게 비트가 할당되어 있기 때문에 정해진 우선 순위와 다른 결과가 나올 경우에는 마지막에 보내질 예측 움직임 벡터의 인덱스 코딩(coding)에 많은 비트가 사용되어 전송 효율이 좋지 않을 수 있다. 특히, 고정적인 우선 순위는 평균 발생 빈도를 실험적으로 구한 것일 수 있고, 따라서 부정확한 경우가 많이 발생할 수 있다.
전술한 바와 같이, 가장 선택될 확률이 높은 후보를 우선 확인하여 그 움직임 벡터를 첫 번째 인덱스를 부여하는 것이 데이터 효율 측면에서 중요하다. 이때, 일반적으로 사용될 수 있는 우선 순위를 제 1 우선 순위로 정의할 수 있다. 제 1 우선 순위는 고정되어 있는 우선 순위로서 그 순서를 도 1을 참조하여 설명하면, 블록 D(104)->블록 C(103)->블록 B(102)->블록 A(101)->블록 E(105)의 순이고, 이 순서대로 하나씩 그 블록의 움직임 벡터에 인덱스를 부여한다. 따라서, 전송 효율 측면에서 현재 예측 유닛(100)의 예측 움직임 벡터로 이용 가능성이 높은 움직임 벡터를 포함하고 있는 주변 유닛의 낮은 비트를 사용하는 첫 번째 인덱스를 부여 받는 것이 좋으므로, 상기 우선 순위는 매우 중요하다. 우선 순위에 기재된 움직임 벡터의 순서에 따라서, 현재 예측 유닛(100)의 예측 움직임 벡터 후보의 인덱스가 달라지고, 이를 통해 전송 데이터량이 달라질 수 있기 때문이다. 따라서, 고정된 순서에 가변적인 요소를 삽입하여 영상의 특성에 따라 주변 블록을 참조하는 순서를 유동적으로 바꾸는 방법이 있을 수 있다. 즉, 첫 번째 후보에 주변 블록 중 예측 움직임 벡터로 선택될 확률이 가장 높은 주변 블록이 처음으로 인덱스를 부여받게 되는 블록이 되게 할 수 있다.
영상 부호화 장치
도 2는 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 장치를 개략적으로 나타낸 블록도이다. 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 장치는 움직임 벡터 군집화부(210), 순위 결정부(220) 및 전송부(230)를 포함할 수 있다.
도 2를 참조하면, 움직임 벡터 군집화부(210)는 상기 주변 블록(101, 102, 103, 104, 105)의 움직임 벡터를 군집화하는 기능을 수행한다. 즉, 주변 블록(101, 102, 103, 104, 105)의 움직임 벡터는 5개가 되는데(블록(110)은 temporal 주변 블록이므로 고려하지 않음), 이들을 2개의 군으로 나눈다. 나누는 기준은 움직임 벡터의 방향성만을 고려하는 것이 바람직할 수 있다.
도 3은 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 장치의 움직임 벡터 군집화부(210)를 구체적으로 나타낸 상세블록도이다. 도 3에 도시된 바와 같이, 본 발명의 일 실시예에 따른 움직임 벡터 군집화부(210)는 움직임 벡터 추출부(310), 벡터 방향 추출부(320) 및 군집화부(330)를 포함할 수 있다.
도 3을 참조하면, 움직임 벡터 추출부(310)는 현재 코딩하고자 하는 예측 유닛(100)의 주변 블록의 움직임 벡터를 추출한다. 이때, 주변 블록의 움직임 벡터가 존재하지 않거나, 화면내(intra) 예측로 코딩되어 있는 경우를 제외해야 한다. 즉, 주변 블록의 움직임 벡터의 이용 가능성을 판단한다. 그리고, 이용 가능한 주변 블록의 움직임 벡터만을 추출한다. 이용 가능하지 않은 블록은 화면내 예측을 수행한 경우 또는 사물의 에지 등과 같이 움직임 벡터의 변화가 심한 경우는 고려 대상에서 제외된다. 이때, 탐색 가능한 공간 상의 주변 블록들은 일반적으로 도 1의 주변 블록(101, 102, 103, 104, 105)으로 최대 5개가 될 수 있다. 다른 실시예에 따르면, 주변 블록은 상기 주변 블록(101, 102, 103, 104, 105)과 다른 주변 블록을 참조할 수도 있다. 반드시 이에 국한되는 것은 아니다.
벡터 방향 추출부(320)는 상기 움직임 벡터 추출부(310)에서 추출된 주변 블록(101, 102, 103, 104, 105)의 움직임 벡터에서 방향 관련 정보만을 추출한다. 즉, 주변의 임의의 i 블록에서 얻은 움직임 벡터는 아래와 같이 정의하고, 그에 해당하는 방향도 다음과 같이 정의할 수 있다.
i 블록의 움직임 벡터(MVi) : (xi, yi) for i∈{A,B,C,D,E}
MVi의 방향(θi) : arctan(yi / xi)
상기와 같이 정의하여, 임의의 블록의 움직임 벡터를 정의할 수 있고, 정의된 움직임 벡터의 방향은 가로축과 세로축의 길이를 토대로 탄젠츠(tangent) 연산을 통해 구할 수 있다.
다음으로, 군집화부(330)는 벡터 방향 추출부(320)에서 구한 주변 블록의 움직임 벡터의 방향성에 따라 2개의 군으로 군집화하는 역할을 수행한다. 2개의 군으로 나누기 위한 방법으로는 K-means 군집화 방법을 이용할 수 있다.
도 4는 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 장치의 움직임 벡터 군집화부에서 사용되는 K-means 알고리즘을 나타낸 흐름도이다. 도 4에 도시된 바와 같이, 일반적으로, K-means 알고리즘은 주어진 데이터를 K개의 그룹으로 묶는 알고리즘으로, 각 그룹의 중심값과 데이터 값들의 거리의 차이의 분산을 최소화하는 방식으로 동작한다. 본 발명의 경우에는 2개의 군이므로 K=2인 K-means 군집화 방법을 이용할 수 있다. K-means 군집화 방법은 다음의 수학식을 이용한다.
Figure 112011099539405-pat00002
여기서, Si는 K개의 그룹 중 i번째 후보 움직임 벡터 그룹(본 발명의 경우는 K=2), xj는 j번째 후보 예측 움직임 벡터, ui는 Si의 중심값, S는 K개의 Si들의 중심값과 각 그룹에 속한 xj들의 분산의 합을 최소화하도록 군집화시킨 결과를 의미한다.
도 4를 참조하여 상기 알고리즘을 보다 상세히 살펴보면, 먼저 군집화부(330)는 주변 블록의 예측 움직임 벡터를 추출한다(410). 추출된 주변 블록의 예측 움직임 벡터 xj들 중에서 임의의 2개를 선택하여 초기 중심값을 설정한다(420). 초기 중심값을 주변 블록의 움직임 벡터의 방향 관련 정보를 기반으로 설정할 수 있다. 다음으로, 2개의 중심값에 가까운 움직임 벡터를 결집한다(430). 다음, 결집된 움직임 벡터를 기반으로 2개의 그룹을 생성한다(440). 2개 그룹의 중심값을 다시 설정한다(450). 상기 결집 단계(430)부터 중심값 재설정 단계(450)를 좀더 상세히 살펴보면, 하나의 예측 움직임 벡터 xj와 2개의 그룹의 중심값 ui 사이의 Euclidean distance를 최소화시키는 ui를 찾고 이와 매칭되는 그룹 Si에 xj를 소속시킨다. 이를 수학식으로 표현하면 다음과 같다.
Figure 112011099539405-pat00003
Figure 112011099539405-pat00004
새롭게 바뀐 각 그룹 내의 모든 움직임 벡터들의 평균값으로 각 그룹의 중심값 ui를 다시 찾는다. 이는 다음의 수학식으로 표현할 수 있다.
Figure 112011099539405-pat00005
상기와 같은 과정을 거친 후, 다시 찾은 중심값을 선행 중심값과 비교한다(460). 비교 결과, 선행 중심값과 현행 중심값이 차이가 나면, 현행 중심값을 토대로 하는 2개의 중심값을 기반으로 움직임 벡터 결집 단계(430)로 돌아가서 상기한 과정을 다시 수행한다. 비교 결과, 중심값이 서로 같은 경우, 2개의 후보 움직임 벡터를 기반으로 2개의 후보 움직임 벡터 군을 추출하고, 공간을 분할할 수 있다. 중요한 것은 중심값 설정 및 2개의 그룹으로의 결집이 모두 주변 블록의 예측 움직임 벡터의 방향성에 근거한다는 것이다. 상기한 바와 같이, 반복 과정을 통해 더 이상의 클러스터링 결과가 변하지 않는 시점의 결과를 최적의 그룹화 및 중심값으로 선정하고 다음 단계를 진행한다.
도면에 도시되진 않았지만, K-means 알고리즘 이외에 다른 군집화 알고리즘을 통해 움직임 벡터의 방향성를 기반으로 군집화를 보다 효율적으로 수행할 수 있으면, 다른 방법을 통해 군집화할 수 있다. 반드시 상기 방법만으로 국한되는 것은 아니다.
다시 도 2로 돌아가서, 순위 결정부(220)는 움직임 벡터 군집화부(210)에서 군집화된 주변 블록의 움직임 벡터를 기반으로 우선 순위를 적응적으로 가변시킨다. 즉, 일반적인 우선 순위인 제 1 우선 순위를 기반으로 움직임 벡터가 군집화된 2개의 군 중에서 더 많은 움직임 벡터를 포함하는 군을 선별하여 선별된 군에 포함된 움직임 벡터를 기반으로 제 1 우선 순위를 일부 변형시킨다. 즉, 제 1 우선 순위에 정해져 있는 예측 움직임 벡터의 우선 순위를 변경할지 변경하지 않을지를 결정한다. 움직임 벡터 군집화부(210)를 통해 나온 결과 중 더 많은 구성원을 가진 군이 현재 참조 가능한 주변 블록의 움직임 벡터 중 최우선 순위에 있는 블록의 움직임 벡터를 포함하고 있으면, 제 1 우선 순위의 움직임 벡터의 우선 순위를 따라 간다. 만약, 그렇지 않다면, 해당 군에서 제 1 우선 순위에 대입하였을 때, 가장 우선 순위가 높은 예측 움직임 벡터 후보를 제 1 우선 순위에서 최우선 순위를 가진 예측 움직임 벡터와 우선 순위를 바꿔 주도록 한다.
예컨대, 움직임 벡터 군집화부(210)에서 나온 결과가 {MVC, MVB}, {MVA, MVD, MVE}로 군집화 되었다면, 더 많은 멤버를 가지고 있는 군에 최우선 순위를 가진 D가 있으므로, 제 1 우선 순위 D->C->B->A->E를 유지한다. 하지만, 움직임 벡터 군집화부(210)에서 나온 결과가 {MVC, MVB, MVE}, {MVA, MVD}로 군집화 되었다면 더 많은 멤버를 가진 군에서 가장 최우선 순위에 있는 C를 가장 최우선 순위로 가져옴으로써 C->D->B->A->E 같은 순서로 우선 순위를 변경한다. 순위 결정부(220)는 도 5를 참조하여 보다 상세히 살펴본다.
도 5는 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 장치의 순위 결정부(220)를 구체적으로 나타낸 상세블록도이다. 도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 순위 결정부(220)는 선별부(510), 추출부(520) 및 우선 순위 재배열부(530)를 포함할 수 있다.
도 5를 참조하면, 선별부(510)는 상기 움직임 벡터 군집화부(210)에서 군집화된 2 개의 움직임 벡터 집합에서 더 많은 멤버를 포함하고 있는 움직임 벡터 집합을 선별한다. 예컨대, {MVC, MVB, MVE}, {MVA, MVD}로 군집화 되었다면, 선별부(510)는 {MVC, MVB, MVE} 집합이 {MVA, MVD}보다 더 많은 멤버를 포함하고 있으므로, {MVC, MVB, MVE} 집합을 선별한다.
다음으로, 추출부(520)는 선별부(510)에서 선별한 집합에서 제 1 우선 순위에 대입하였을 때, 최우선 순위를 갖는 움직임 벡터를 추출한다. 즉, 상기와 같은 실시예에서, {MVC, MVB, MVE} 집합에 선별되었고, 추출부(520)는 제 1 우선 순위에 대입하였을 때, 최우선 순위를 갖는 MVC를 추출한다.
우선 순위 재배열부(530)는 추출부(520)에서 추출된 움직임 벡터를 기반으로 제 1 우선 순위를 재배열한다. 재배열하는 방식은 전술한 바와 같이, 추출된 움직임 벡터가 제 1 우선 순위의 최우선 순위를 갖도록 하는 방식이다. 상기와 같은 실시예에서는 MVC가 추출되었는데 이는 제 1 우선 순위의 최우선 순위와 다르므로, 제 1 우선 순위의 최우선 순위의 벡터를 MVC로 일부 변형하여 우선 순위를 재배열한다. 만약, 추출된 움직임 벡터가 MVD인 경우, 움직임 벡터 MVD 제 1 우선 순위에서도 역시 최우선 순위이므로 제 1 우선 순위에 변형을 가하지 않고 그대로 사용한다. 이런 식으로 재배열함으로써 움직임 벡터의 방향성에 근거하여 예측 움직임 벡터의 후보를 선정하고, 이를 통해 화면간 예측을 수행하여 다양한 영상의 특성을 반영하여 부호화를 할 수 있게 된다.
다시 도 2로 돌아가서, 전송부(230)는 순위 결정부(220)에서 결정된 우선 순위에 따라 화면간 예측을 수행하고, 비트 스트림을 생성하여 수신측으로 전송한다. 우선 순위에 따른 화면간 예측은 상기 순위 결정부(220)에서 결정된 우선 순위를 기반으로 예측 움직임 벡터를 선정한다. 이때, 공간적 움직임 벡터 후보를 2개 선정한다. 우선 순위에 앞서 있는 2 개의 움직임 벡터는 상대적으로 현재 예측 유닛(100)의 후보 움직임 벡터로 선정될 확률이 높은 움직임 벡터이므로, 상기한 바와 같이, 낮은 비트로 전송할 수 있으므로, 전송 효율 측면에서 유리할 수 있다. 상기와 같은 방식으로 선정된 2개의 공간적 후보와 1개의 시간적(temporal) 후보를 합하여 총 3개의 후보를 선정하고 선정된 후보의 율-왜곡 비용(R-D cost)을 통해 최적의 예측 움직임 벡터를 선택한다. 율-왜곡 비용은 SAD(Sum of Absolute Difference). SATD(Sum of Absolute Transformed Difference) 또는 SAITD(Sum of Absolute Integer Transformed Difference) 등 다양한 비용을 계산한다. 상기 계산된 율-왜곡 비용을 기반으로 최적의 예측 움직임 벡터를 선정한다.
선정된 예측 움직임 벡터를 기반으로 화면간 예측을 수행하고, 예측에 의해 생성된 움직임 벡터와 참조 픽쳐를 이용하여 움직임 보상을 수행하여 예측 유닛을 생성할 수 있다. 그리고는, DCT(Discrete Cosine Transform) 변환 및 양자화를 수행하고, 엔트로피 부호화하여 양자화된 DCT 계수들과 움직임 벡터, 결정된 예측 유닛 정보, 변환 유닛 정보 등의 헤더 정보를 기반으로 비트 스트림을 생성한다. 그리고는 생성된 비트 스트림을 수신측으로 전송한다.
영상 부호화 방법
도 6은 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 방법을 개략적으로 나타낸 흐름도이다. 도 6에 도시된 바와 같이, 본 발명의 일 실시예에 따른 영상 부호화 방법은 주변 블록의 움직임 벡터들의 방향성의 상관도를 기반으로 주변 유닛의 움직임 벡터들을 개의 군으로 군집화하는 단계(610), 개의 군에서 더 많은 수의 움직임 벡터를 포함하고 있는 군을 선별하고 군에 포함된 움직임 벡터를 토대로 예측 움직임 벡터의 후보의 우선 순위를 결정하는 단계(620) 및 우선 순위를 기반으로 순차적으로 현재 예측 유닛의 예측 움직임 벡터를 선정하여 선정된 움직임 벡터를 기반으로 예측 부호화하고 비트 스트림을 생성하여 수신측으로 전송하는 단계(630)를 포함할 수 있다. 상기 단계들에 대한 설명은 영상 부호화 장치에서의 설명과 중복되므로, 생략하도록 한다.
도 7은 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 방법의 움직임 벡터 군집화 단계(610)를 구체적으로 나타낸 상세흐름도이다. 도 7에 도시된 바와 같이, 본 발명의 일 실시예에 따른 움직임 벡터 군집화 단계(610)는 주변 블록의 움직임 벡터 추출하는 단계(710), 추출된 움직임 벡터의 방향 관련 정보를 추출하는 단계(720) 및 방향 관련 정보를 기반으로 움직임 벡터의 방향성의 상관도에 근거하여 주변 블록의 움직임 벡터를 군집화하는 단계(730)를 포함할 수 있다. 본 단계(610)에 대한 설명도 영상 부호화 장치의 움직임 벡터 군집화부(210)의 설명과 중복되므로, 생략한다.
도 8은 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 부호화 방법의 순위 결정 단계(620)를 구체적으로 나타낸 상세흐름도이다. 도 8에 도시된 바와 같이, 본 발명의 일 실시예에 따른 순위 결정 단계(620)는 군집화된 개의 군에서 더 많은 움직임 벡터를 포함하고 있는 군을 선별하는 단계(810), 선별된 군에 포함된 움직임 벡터 중 기존 우선 순위에 근거하여 최우선 순위의 움직임 벡터를 추출하는 단계(820) 및 추출된 최우선 순위의 움직임 벡터를 기반으로 기존 우선 순위를 일부 변형하여 우선 순위를 재배열하는 단계(830)를 포함할 수 있다. 본 단계(610)에 대한 설명도 영상 부호화 장치의 순위 결정부(220)의 설명과 중복되므로, 생략한다.
영상 복호화 장치
도 9는 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 복호화 장치를 개략적으로 나타낸 블록도이다. 도 9에 도시된 바와 같이, 본 발명에 따른 영상 복호화 장치는 역양자화 및 역변환부(910), 순위 결정부(920) 및 화면간 예측부(930)를 포함할 수 있다.
도 9를 참조하면, 역양자화 및 역변환부(910)는 부호화기로부터 수신된 비트 스트림을 엔트로피 복호화하여 양자화된 계수를 생성한다. 그리고는 양자화된 계수에 대한 역양자화 및 역변환을 수행하여 영상과 관련된 정보들을 복원한다. 엔트로피 복호화된 헤더 정보에는 예측 유닛에 대한 정보가 포함될 수 있다. 여기에는 예측 모드, 움직임 벡터 정보들이 포함될 수 있다.
다음으로, 순위 결정부(920)는 상기 역양자화 및 역변환부(910)에서 역양자화되고 역변환된 비트 스트림을 기반으로 현재 예측 유닛의 움직임 벡터 후보의 우선 순위를 결정하는 기능을 수행한다.
도 10은 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 복호화 장치의 순위 결정부(920)를 구체적으로 나타낸 상세블록도이다. 도 10에 도시된 바와 같이, 본 발명의 일 실시예에 따른 순위 결정부(920)는 움직임 벡터 군집화부(1010), 선별부(1020), 추출부(1030) 및 우선 순위 재배열부(1040)를 포함할 수 있다.
도 10을 참조하면, 움직임 벡터 군집화부(1010)는 도 1의 주변 블록(101, 102, 103, 104, 105)의 움직임 벡터를 군집화하는 기능을 수행한다. 즉, 주변 블록(101, 102, 103, 104, 105)의 움직임 벡터는 5개가 되는데(블록(110)은 temporal 주변 블록이므로 고려하지 않음), 이들을 2개의 군으로 나눈다. 나누는 기준은 움직임 벡터의 방향성만을 고려하는 것이 바람직할 수 있다.
도 11은 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 복호화 장치의 움직임 벡터 군집화부(1010)를 구체적으로 나타낸 상세블록도이다. 도 11에 도시된 바와 같이, 움직임 벡터 군집화부(1010)는 움직임 벡터 추출부(1110), 벡터 방향 추출부(1120) 및 군집화부(1130)를 포함할 수 있다.
도 11을 참조하면, 움직임 벡터 추출부(1110)는 현재 코딩하고자 하는 예측 유닛(100)의 주변 블록의 움직임 벡터를 추출한다. 이때, 주변 블록이 현재 예측 유닛(100)의 움직임 벡터 선정을 위한 후보 블록으로 이용가능한지를 먼저 판단한다. 판단 결과, 주변 블록의 움직임 벡터가 존재하지 않거나, 화면내(intra) 예측로 코딩되어 있는 경우를 제외하고는 탐색 가능한 공간 상의 주변 블록들은 일반적으로 도 1의 주변 블록(101, 102, 103, 104, 105)으로 최대 5개가 될 수 있다. 다른 실시예에 따르면, 주변 블록은 상기 주변 블록(101, 102, 103, 104, 105)과 다른 주변 블록을 참조할 수도 있다. 반드시 이에 국한되는 것은 아니다.
벡터 방향 추출부(1120)는 상기 움직임 벡터 추출부(1110)에서 추출된 주변 블록(101, 102, 103, 104, 105)의 움직임 벡터에서 방향 관련 정보만을 추출한다. 따라서, 임의의 블록의 움직임 벡터를 정의할 수 있고, 정의된 움직임 벡터의 방향은 가로축과 세로축의 길이를 토대로 탄젠츠(tangent) 연산을 통해 구할 수 있다.
다음으로, 군집화부(1130)는 벡터 방향 추출부(1120)에서 구한 주변 블록의 움직임 벡터의 방향성에 따라 2개의 군으로 군집화하는 역할을 수행한다. 2개의 군으로 나누기 위한 방법으로는 K-means 군집화 방법을 이용할 수 있다. 일반적으로, K-means 알고리즘은 주어진 데이터를 K개의 그룹으로 묶는 알고리즘으로, 각 그룹의 중심값과 데이터 값들의 거리의 차이의 분산을 최소화하는 방식으로 동작한다. 본 발명의 경우에는 2개의 군이므로 K=2인 K-means 군집화 방법을 이용할 수 있다. 본 발명에서 K-means 군집화 방법을 이용함에 있어서, 가장 중요한 것은 중심값 설정 및 2개의 그룹으로의 결집이 모두 주변 블록의 예측 움직임 벡터의 방향성에 근거한다는 것이다. K-means 군집화 방법을 적용함에 있어서, 반복 과정을 통해 더 이상의 클러스터링 결과가 변하지 않는 시점의 결과를 최적의 그룹화 및 중심값으로 선정하고 다음 단계를 진행한다.
도면에 도시되진 않았지만, K-means 알고리즘 이외에 다른 군집화 알고리즘을 통해 움직임 벡터의 방향성를 기반으로 군집화를 보다 효율적으로 수행할 수 있으면, 다른 방법을 통해 군집화할 수 있다. 반드시 상기 방법만으로 국한되는 것은 아니다.
다시 도 10으로 돌아가서, 선별부(1020)는 상기 움직임 벡터 군집화부(1010)에서 군집화된 2 개의 움직임 벡터 집합에서 더 많은 멤버를 포함하고 있는 움직임 벡터 집합을 선별한다. 예컨대, {MVC, MVB, MVE}, {MVA, MVD}로 군집화 되었다면, 선별부(510)는 {MVC, MVB, MVE} 집합이 {MVA, MVD}보다 더 많은 멤버를 포함하고 있으므로, {MVC, MVB, MVE} 집합을 선별한다.
다음으로, 추출부(1030)는 선별부(1020)에서 선별한 집합에서 제 1 우선 순위에 대입하였을 때, 최우선 순위를 갖는 움직임 벡터를 추출한다. 즉, 상기와 같은 실시예에서, {MVC, MVB, MVE} 집합에 선별되었고, 추출부(520)는 제 1 우선 순위에 대입하였을 때, 최우선 순위를 갖는 MVC를 추출한다.
우선 순위 재배열부(1040)는 추출부(1030)에서 추출된 움직임 벡터를 기반으로 제 1 우선 순위를 재배열한다. 재배열하는 방식은 전술한 바와 같이, 추출된 움직임 벡터가 제 1 우선 순위의 최우선 순위를 갖도록 하는 방식이다. 상기와 같은 실시예에서는 MVC가 추출되었는데 제 1 우선 순위의 최우선 순위와 다르므로, 제 1 우선 순위의 최우선 순위의 벡터를 MVC로 일부 변형하여 우선 순위를 재배열한다. 만약, 추출된 움직임 벡터가 MVD인 경우, 이는 제 1 우선 순위에서도 역시 최우선 순위이므로 제 1 우선 순위에 변형을 가하지 않고 그대로 사용한다. 이런 식으로 재배열함으로써 움직임 벡터의 방향성에 근거하여 예측 움직임 벡터의 후보를 선정하고, 이를 통해 화면간 예측을 수행하여 다양한 영상의 특성을 반영할 수 있게 된다.
다시 도 9로 돌아가서, 화면간 예측부(930)는 순위 결정부(920)에서 정해진 우선 순위에 따라 화면간 예측을 수행하여 영상을 복원한다. 순위 결정부(920)에서 재배열된 우선 순위에 따른 화면간 예측은 상기 우선 순위를 기반으로 예측 움직임 벡터를 선정한다. 이때, 공간적 움직임 벡터 후보를 2개 선정한다. 우선 순위에 앞서 있는 2 개의 움직임 벡터는 현재 예측 유닛(100)의 예측 움직임 벡터로 사용될 가능성이 높으므로, 낮은 비트로 부호화되도록 하여 전송 효율이 높다.
화면간 예측부(930)는 상기와 같은 방식으로 선정된 2개의 공간적 후보와 1개의 시간적(temporal) 후보를 합하여 총 3개의 후보를 선정하고 선정된 후보의 율-왜곡 비용(R-D cost)을 통해 최적의 예측 움직임 벡터를 선택한다. 율-왜곡 비용은 SAD(Sum of Absolute Difference). SATD(Sum of Absolute Transformed Difference) 또는 SAITD(Sum of Absolute Integer Transformed Difference) 등 다양한 비용을 계산한다. 상기 계산된 율-왜곡 비용을 기반으로 최적의 예측 움직임 벡터를 선정한다.
화면간 예측부(930)는 선정된 예측 움직임 벡터를 기반으로 화면간 예측을 수행하고, 수신된 비트 스트림으로부터 복호화된 헤더 정보를 이용하여 부호화된 예측 유닛의 크기와 동일한 크기의 예측 유닛에 대해 움직임 파라미터를 기반으로 움직임 보상을 수행하여 예측된 예측 유닛을 생성한다. 이후, 생성된 예측 유닛에 대해 잔여값을 더하여 영상을 복원할 수 있다. 복원된 영상은 프레임 버퍼에 저장될 수 있다.
영상 복호화 방법
도 12는 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 복호화 방법을 개략적으로 나타낸 흐름도이다. 도 12에 도시된 바와 같이, 본 발명의 일 실시예에 따른 영상 복호화 방법은 수신된 비트 스트림을 엔트로피 복호화하고 역양자화 및 역변환하는 단계(1210), 역변환된 비트 스트림을 기반으로 주변 블록의 움직임 벡터들의 방향성의 상관도에 근거하여 주변 블록의 움직임 벡터를 개의 군으로 군집화하는 단계(1220), 군집화된 개의 군에서 더 많은 수의 움직임 벡터를 포함하고 있는 군에 포함된 움직임 벡터를 토대로 현재 예측 유닛의 예측 움직임 벡터의 후보의 우선 순위를 결정(1230) 및 우선 순위를 기반으로 순차적으로 현재 예측 유닛의 예측 움직임 벡터를 선정하고 선정된 현재 예측 유닛의 예측 움직임 벡터를 기반으로 화면간 예측을 수행하여 영상을 복원하는 단계(1240)를 포함할 수 있다. 상기 단계들에 대한 설명은 영상 복호화 장치에서의 설명과 중복되므로, 생략하도록 한다.
도 13은 본 발명의 일 실시예에 따른 예측 움직임 벡터 선정에 따른 영상 복호화 장치의 순위 결정 단계(1230)를 구체적으로 나타낸 상세흐름도이다. 도 13에 도시된 바와 같이, 본 발명의 일 실시예에 따른 순위 결정 단계(1230)는 주변 블록의 움직임 벡터들의 방향성의 상관도를 기반으로 주변 블록의 움직임 벡터들을 개의 군으로 군집화하는 단계(1310), 군집화된 개의 군에서 더 많은 움직임 벡터를 포함하고 있는 군을 선별하는 단계(1320), 선별된 군에 포함된 움직임 벡터 중에서 제 우선 순위에 근거하여 최우선 순위의 움직임 벡터를 추출하는 단계(1330) 및 선별된 군에 포함된 움직임 벡터 중에서 제 1 우선 순위에 근거하여 최우선 순위의 움직임 벡터를 추출하는 단계(1340)를 포함할 수 있다. 본 단계(1230)에 대한 설명도 영상 복호화 장치의 순위 결정부(920)의 설명과 중복되므로, 생략한다.
이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (25)

  1. 현재 예측 유닛의 주변 블록의 움직임 벡터를 통해 상기 현재 예측 유닛의 예측 움직임 벡터를 선정하여 부호화하는 장치에 있어서,
    상기 주변 블록의 움직임 벡터의 방향 관련 정보를 추출하고, 상기 주변 블록의 움직임 벡터의 방향 관련 정보에 대한 상관도를 기반으로 상기 주변 블록의 움직임 벡터들을 2개의 군으로 군집화하는 움직임 벡터 군집화부;
    상기 군집화된 2개의 군에서 더 많은 수의 움직임 벡터를 포함하고 있는 군을 선별하여 상기 선별된 군에 포함된 움직임 벡터를 토대로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보의 우선 순위를 정하는 순위 결정부; 및
    상기 우선 순위를 기반으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터를 선정하고 상기 선정된 상기 현재 예측 유닛의 예측 움직임 벡터를 기반으로 예측 부호화하고 비트 스트림을 생성하여 수신측으로 전송하는 전송부를 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 부호화 장치.
  2. 제 1 항에 있어서,
    상기 주변 블록은 상기 현재 예측 유닛의 상단의 최우측의 제 1 블록, 상기 제 1 블록의 우측에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 좌측 최하단의 제 3 블록, 상기 제 3 블록의 하단에 접해 있는 제 4 블록 및 상기 현재 예측 유닛의 좌상단 블록인 제 5 블록을 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 부호화 장치.
  3. 제 2 항에 있어서,
    상기 순위 결정부는 제 1 우선 순위를 기반으로 우선 순위를 정하되,
    상기 제 1 우선 순위는 순차적으로 상기 제 4 블록의 움직임 벡터, 상기 제 3 블록의 움직임 벡터, 상기 제 2 블록의 움직임 벡터, 상기 제 1 블록의 움직임 벡터 및 상기 제 5 블록의 움직임 벡터 순인 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 부호화 장치.
  4. 제 3 항에 있어서, 상기 순위 결정부는
    상기 군집화된 2 개의 군에서 더 많은 움직임 벡터를 포함하고 있는 군을 선별하는 선별부;
    상기 선별된 군에 포함된 움직임 벡터 중에서 상기 제 1 우선 순위에 근거하여 최우선 순위의 움직임 벡터를 추출하는 추출부; 및
    상기 추출된 최우선 순위의 움직임 벡터를 기반으로 상기 제 1 우선 순위를 일부 변형하여 우선 순위를 재배열하는 우선 순위 재배열부를 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 부호화 장치.
  5. 제 4 항에 있어서, 상기 우선 순위 재배열부는
    상기 추출된 최우선 순위의 움직임 벡터를 상기 제 1 우선 순위의 첫 번째 순위로 가져옴으로서 우선 순위를 재배열하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 부호화 장치.
  6. 제 1 항에 있어서, 상기 움직임 벡터 군집화부는
    상기 주변 블록이 상기 현재 예측 유닛의 예측 움직임 벡터 선정을 위한 후보로 이용가능한지 판단하고, 상기 판단 결과를 기반으로 상기 주변 블록의 움직임 벡터 추출하는 움직임 벡터 추출부;
    상기 추출된 움직임 벡터의 방향 관련 정보를 추출하는 벡터 방향 추출부; 및
    상기 추출된 움직임 벡터의 방향 관련 정보를 기반으로 상기 움직임 벡터의 방향성의 상관도에 근거하여 상기 주변 블록의 움직임 벡터를 2개의 군으로 군집화하는 군집화부를 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 부호화 장치.
  7. 제 6 항에 있어서, 상기 군집화부는
    K-means 기법을 사용하여 상기 주변 블록의 움직임 벡터를 2개의 군으로 군집화하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 부호화 장치.
  8. 현재 예측 유닛의 주변 블록의 움직임 벡터를 통해 상기 현재 예측 유닛의 예측 움직임 벡터를 선정하여 부호화하는 방법에 있어서,
    상기 주변 블록의 움직임 벡터의 방향 관련 정보를 추출하고, 상기 주변 블록의 움직임 벡터의 방향 관련 정보에 대한 상관도를 기반으로 상기 주변 블록의 움직임 벡터들을 2개의 군으로 군집화하는 움직임 벡터 군집화 단계;
    상기 군집화된 2개의 군에서 더 많은 수의 움직임 벡터를 포함하고 있는 군을 선별하여 상기 선별된 군에 포함된 움직임 벡터를 토대로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보의 우선 순위를 정하는 순위 결정 단계; 및
    상기 우선 순위를 기반으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터를 선정하고 상기 선정된 상기 현재 예측 유닛의 예측 움직임 벡터를 기반으로 예측 부호화하고 비트 스트림을 생성하여 수신측으로 전송하는 전송 단계를 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 부호화 방법.
  9. 제 8 항에 있어서,
    상기 주변 블록은 상기 현재 예측 유닛의 상단의 최우측의 제 1 블록, 상기 제 1 블록의 우측에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 좌측 최하단의 제 3 블록, 상기 제 3 블록의 하단에 접해 있는 제 4 블록 및 상기 현재 예측 유닛의 좌상단 블록인 제 5 블록을 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 부호화 방법.
  10. 제 9 항에 있어서,
    상기 순위 결정 단계는 제 1 우선 순위를 기반으로 우선 순위를 정하는 단계를 포함하되,
    상기 제 1 우선 순위는 순차적으로 상기 제 4 블록의 움직임 벡터, 상기 제 3 블록의 움직임 벡터, 상기 제 2 블록의 움직임 벡터, 상기 제 1 블록의 움직임 벡터 및 상기 제 5 블록의 움직임 벡터 순인 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 부호화 방법.
  11. 제 10 항에 있어서, 상기 순위 결정 단계는
    상기 군집화된 2 개의 군에서 더 많은 움직임 벡터를 포함하고 있는 군을 선별하는 선별 단계;
    상기 선별된 군에 포함된 움직임 벡터 중에서 상기 제 1 우선 순위에 근거하여 최우선 순위의 움직임 벡터를 추출하는 추출 단계; 및
    상기 추출된 최우선 순위의 움직임 벡터를 기반으로 상기 제 1 우선 순위를 일부 변형하여 우선 순위를 재배열하는 우선 순위 재배열 단계를 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 부호화 방법.
  12. 제 11 항에 있어서, 상기 우선 순위 재배열 단계는
    상기 추출된 최우선 순위의 움직임 벡터를 상기 제 1 우선 순위의 첫 번째 순위로 가져옴으로서 우선 순위를 재배열하는 단계를 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 부호화 방법.
  13. 제 8 항에 있어서, 상기 움직임 벡터 군집화 단계는
    상기 주변 블록이 상기 현재 예측 유닛의 예측 움직임 벡터 선정을 위한 후보로 이용가능한지 판단하고, 상기 판단 결과를 기반으로 상기 주변 블록의 움직임 벡터 추출하는 움직임 벡터 추출 단계;
    상기 추출된 움직임 벡터의 방향 관련 정보를 추출하는 벡터 방향 추출 단계; 및
    상기 추출된 움직임 벡터의 방향 관련 정보를 기반으로 상기 움직임 벡터의 방향성의 상관도에 근거하여 상기 주변 블록의 움직임 벡터를 2개의 군으로 군집화하는 군집화 단계를 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 부호화 방법.
  14. 주변 블록의 움직임 벡터를 통해 현재 예측 유닛의 예측 움직임 벡터를 선정하여 복호화하는 장치에 있어서,
    수신된 비트 스트림을 엔트로피 복호화하고 역양자화 및 역변환하는 역양자화 및 역변환부;
    상기 역변환된 비트 스트림을 기반으로 상기 주변 블록의 움직임 벡터의 방향 관련 정보를 추출하고, 상기 주변 블록의 움직임 벡터의 방향 관련 정보에 대한 상관도를 기반으로 상기 주변 블록의 움직임 벡터를 2개의 군으로 군집화하고 상기 군집화된 2개의 군에서 더 많은 수의 움직임 벡터를 포함하고 있는 군에 포함된 움직임 벡터를 토대로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보의 우선 순위를 정하는 순위 결정부; 및
    상기 우선 순위를 기반으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터를 선정하고 상기 선정된 상기 현재 예측 유닛의 예측 움직임 벡터를 기반으로 화면간 예측를 수행하여 영상을 복원하는 화면간 예측부를 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 복호화 장치.
  15. 제 14 항에 있어서,
    상기 주변 블록은 상기 현재 예측 유닛의 상단의 최우측의 제 1 블록, 상기 제 1 블록의 우측에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 좌측 최하단의 제 3 블록, 상기 제 3 블록의 하단에 접해 있는 제 4 블록 및 상기 현재 예측 유닛의 좌상단 블록인 제 5 블록을 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 복호화 장치.
  16. 제 15 항에 있어서,
    상기 순위 결정부는 제 1 우선 순위를 기반으로 우선 순위를 정하되,
    상기 제 1 우선 순위는 순차적으로 상기 제 4 블록의 움직임 벡터, 상기 제 3 블록의 움직임 벡터, 상기 제 2 블록의 움직임 벡터, 상기 제 1 블록의 움직임 벡터 및 상기 제 5 블록의 움직임 벡터 순인 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 복호화 장치.
  17. 제 16 항에 있어서, 상기 순위 결정부는
    상기 주변 블록의 움직임 벡터들의 방향성의 상관도를 기반으로 상기 주변 블록의 움직임 벡터들을 2개의 군으로 군집화하는 움직임 벡터 군집화부;
    상기 군집화된 2 개의 군에서 더 많은 움직임 벡터를 포함하고 있는 군을 선별하는 선별부;
    상기 선별된 군에 포함된 움직임 벡터 중에서 상기 제 1 우선 순위에 근거하여 최우선 순위의 움직임 벡터를 추출하는 추출부; 및
    상기 추출된 최우선 순위의 움직임 벡터를 기반으로 상기 제 1 우선 순위를 일부 변형하여 우선 순위를 재배열하는 우선 순위 재배열부를 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 복호화 장치.
  18. 제 17 항에 있어서, 상기 우선 순위 재배열부는
    상기 추출된 최우선 순위의 움직임 벡터를 상기 제 1 우선 순위의 첫 번째 순위로 가져옴으로서 우선 순위를 재배열하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 복호화 장치.
  19. 제 17 항에 있어서, 상기 움직임 벡터 군집화부는
    상기 주변 블록이 상기 현재 예측 유닛의 예측 움직임 벡터 선정을 위한 후보로 이용가능한지 판단하고, 상기 판단 결과를 기반으로 상기 주변 블록의 움직임 벡터 추출하는 움직임 벡터 추출부;
    상기 추출된 움직임 벡터의 방향 관련 정보를 추출하는 벡터 방향 추출부; 및
    상기 추출된 움직임 벡터의 방향 관련 정보를 기반으로 상기 움직임 벡터의 방향성의 상관도에 근거하여 상기 주변 블록의 움직임 벡터를 2개의 군으로 군집화하는 군집화부를 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 복호화 장치.
  20. 제 19 항에 있어서, 상기 군집화부는
    K-means 기법을 사용하여 상기 주변 블록의 움직임 벡터를 2개의 군으로 군집화하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 복호화 장치.
  21. 주변 블록의 움직임 벡터를 통해 현재 예측 유닛의 예측 움직임 벡터를 선정하여 복호화하는 방법에 있어서,
    수신된 비트 스트림을 엔트로피 복호화하고 역양자화 및 역변환하는 역양자화 및 역변환 단계;
    상기 역변환된 비트 스트림을 기반으로 상기 주변 블록의 움직임 벡터의 방향 관련 정보를 추출하고, 상기 주변 블록의 움직임 벡터의 방향 관련 정보에 대한 상관도를 기반으로 상기 주변 블록의 움직임 벡터를 2개의 군으로 군집화하고 상기 군집화된 2개의 군에서 더 많은 수의 움직임 벡터를 포함하고 있는 군에 포함된 움직임 벡터를 토대로 상기 현재 예측 유닛의 예측 움직임 벡터의 후보의 우선 순위를 정하는 순위 결정 단계; 및
    상기 우선 순위를 기반으로 순차적으로 상기 현재 예측 유닛의 예측 움직임 벡터를 선정하고 상기 선정된 상기 현재 예측 유닛의 예측 움직임 벡터를 기반으로 화면간 예측을 수행하여 영상을 복원하는 화면간 예측 단계를 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 복호화 방법.
  22. 제 21 항에 있어서,
    상기 주변 블록은 상기 현재 예측 유닛의 상단의 최우측의 제 1 블록, 상기 제 1 블록의 우측에 접해 있는 제 2 블록, 상기 현재 예측 유닛의 좌측 최하단의 제 3 블록, 상기 제 3 블록의 하단에 접해 있는 제 4 블록 및 상기 현재 예측 유닛의 좌상단 블록인 제 5 블록을 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 복호화 방법.
  23. 제 22 항에 있어서,
    상기 순위 결정 단계는 제 1 우선 순위를 기반으로 우선 순위를 정하는 단계를 포함하되,
    상기 제 1 우선 순위는 순차적으로 상기 제 4 블록의 움직임 벡터, 상기 제 3 블록의 움직임 벡터, 상기 제 2 블록의 움직임 벡터, 상기 제 1 블록의 움직임 벡터 및 상기 제 5 블록의 움직임 벡터 순인 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 복호화 방법.
  24. 제 23 항에 있어서, 상기 순위 결정 단계는
    상기 주변 블록의 움직임 벡터들의 방향성의 상관도를 기반으로 상기 주변 블록의 움직임 벡터들을 2개의 군으로 군집화하는 움직임 벡터 군집화 단계;
    상기 군집화된 2 개의 군에서 더 많은 움직임 벡터를 포함하고 있는 군을 선별하는 선별 단계;
    상기 선별된 군에 포함된 움직임 벡터 중에서 상기 제 1 우선 순위에 근거하여 최우선 순위의 움직임 벡터를 추출하는 추출 단계; 및
    상기 추출된 최우선 순위의 움직임 벡터를 기반으로 상기 제 1 우선 순위를 일부 변형하여 우선 순위를 재배열하는 우선 순위 재배열 단계를 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 복호화 방법.
  25. 제 24 항에 있어서, 상기 우선 순위 재배열 단계는
    상기 추출된 최우선 순위의 움직임 벡터를 상기 제 1 우선 순위의 첫 번째 순위로 가져옴으로서 우선 순위를 재배열하는 단계를 포함하는 것을 특징으로 하는 예측 움직임 벡터 선정에 따른 영상 복호화 방법.
KR1020110134891A 2011-12-14 2011-12-14 예측 움직임 벡터 선정에 따른 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치 KR101806341B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110134891A KR101806341B1 (ko) 2011-12-14 2011-12-14 예측 움직임 벡터 선정에 따른 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110134891A KR101806341B1 (ko) 2011-12-14 2011-12-14 예측 움직임 벡터 선정에 따른 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20130067874A KR20130067874A (ko) 2013-06-25
KR101806341B1 true KR101806341B1 (ko) 2017-12-08

Family

ID=48863614

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110134891A KR101806341B1 (ko) 2011-12-14 2011-12-14 예측 움직임 벡터 선정에 따른 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101806341B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102260146B1 (ko) * 2014-03-31 2021-06-03 인텔렉추얼디스커버리 주식회사 시점 간 움직임 병합 후보 유도 방법 및 장치
KR102297479B1 (ko) * 2020-04-10 2021-09-03 삼성전자주식회사 움직임 벡터의 부호화 장치 및 방법, 및 움직임 벡터의 복호화 장치 및 방법

Also Published As

Publication number Publication date
KR20130067874A (ko) 2013-06-25

Similar Documents

Publication Publication Date Title
CN106791834B (zh) 对图像进行解码的方法和设备
KR101459714B1 (ko) 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101449679B1 (ko) 영상 부호화/복호화 장치 및 방법, 및 참조픽처 인덱싱 장치 및 방법
CN104303502A (zh) 用于3d-hevc的视差向量建构方法
KR102037327B1 (ko) 비디오 신호 처리 방법 및 장치
AU2019210545A1 (en) Video prediction encoding device, video prediction encoding method, video prediction encoding program, video prediction decoding device, video prediction decoding method, and video prediction decoding program
CN104602023A (zh) 帧间预测编码方法
KR20110054592A (ko) 후보 예측 움직임 벡터 집합 선택을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
CN103299642A (zh) 编码和解码图像信息的方法和使用该方法的装置
CN103370940A (zh) 帧间预测编码的运动画面的解码方法
CN104768011A (zh) 图像编解码方法和相关装置
KR20110083365A (ko) 움직임 벡터를 부호화, 복호화하는 방법 및 장치
KR20090058954A (ko) 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치
WO2011110039A1 (en) Motion prediction methods
KR20230014876A (ko) 영상 코딩 시스템에서 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
JP6503014B2 (ja) 動画像符号化方法及び動画像復号化方法
KR101806341B1 (ko) 예측 움직임 벡터 선정에 따른 영상 부호화 방법 및 장치, 및 영상 복호화 방법 및 장치
KR101354086B1 (ko) 공통 병합 후보 블록 집합을 이용한 영상 부호화 방법 및 복호화 방법
KR20140105038A (ko) 머지 모드 움직임 정보 복호화 장치
CN103959788A (zh) 通过模式匹配在解码器层面的运动估计
KR20130023444A (ko) 다단계 화면간 예측을 이용한 영상 부호화/복호화 장치 및 방법
KR101543313B1 (ko) 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR101543310B1 (ko) 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
JP6935553B2 (ja) 縮小された予測動きベクトルの候補に基づいて、動きベクトルを符号化/復号化する方法及び装置
KR101543309B1 (ko) 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치

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