KR20140097997A - 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법 - Google Patents

움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법 Download PDF

Info

Publication number
KR20140097997A
KR20140097997A KR1020140009680A KR20140009680A KR20140097997A KR 20140097997 A KR20140097997 A KR 20140097997A KR 1020140009680 A KR1020140009680 A KR 1020140009680A KR 20140009680 A KR20140009680 A KR 20140009680A KR 20140097997 A KR20140097997 A KR 20140097997A
Authority
KR
South Korea
Prior art keywords
motion vector
candidates
information
current block
encoding
Prior art date
Application number
KR1020140009680A
Other languages
English (en)
Other versions
KR101510585B1 (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 세종대학교산학협력단
Publication of KR20140097997A publication Critical patent/KR20140097997A/ko
Application granted granted Critical
Publication of KR101510585B1 publication Critical patent/KR101510585B1/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
    • 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
    • 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

Landscapes

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

Abstract

영상의 현재 블록마다 생성된 움직임 벡터를 부호화하기 위해 사용되는 예측 움직임 벡터를 부호화 및 복호화하는 방법 및 장치에 관한 기술을 개시한다. 움직임 예측 방법은 현재 블록의 공간적인 이웃 블록들의 움직임 벡터들 또는 현재 블록의 시간적 이웃 블록들의 움직임 벡터들을 이용하여 적어도 하나의 예측 움직임 벡터의 후보들을 생성하는 단계와, 적어도 하나의 예측 움직임 벡터의 후보들로부터 예측 움직임 벡터들을 선택하는 단계를 포함한다

Description

움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법{DEVICE AND METHOD FOR ENCODING/DECODING MOTION INFORMATION}
본 발명은 움직임 정보 부호화 및 복호화 장치에 관한 것으로서, 보다 상세하게는, 영상의 현재 블록마다 생성된 움직임 벡터를 부호화하기 위해 사용되는 예측 움직임 벡터를 부호화 및 복호화하는 방법 및 장치에 관한 것이다.
H. 264/AVC은 현재까지 표준화된 비디오 코덱(Video Coder and Decoder)들 중 가장 압축률이 뛰어난 비디오 코덱에 대한 표준으로서, H.264/AVC 표준에서는 압축 효율을 높이기 위하여 방향성을 고려한 인트라 예측(Intra Prediction), 4×4 화소 단위의 정수 변환(Integer Transform), 16×16 화소 크기부터 4×4 화소 크기까지의 다양한 크기를 가지는 블록 모드(Block Mode), 디블록킹 필터(Deblocking Filter) 등을 이용하여 영상을 예측 부호화하고, 더욱 정확한 움직임 벡터를 찾기 위하여 1/2 화소 단위와 1/4 화소 단위까지 영상을 보간하여 움직임 추정을 수행한다.
한편, 최근에 표준화 논의가 진행 중인 HEVC(High Efficiency Video Coding)를 이용하면 종래의 H.264/AVC를 통한 부호화보다 더욱 효율적인 부호화를 수행할 수 있는데, HEVC에 의하면 변환기가 RQT(Residual Quadtree Transform) 방식으로 변환 동작을 수행할 수 있고, 예측기는 다양한 방향성을 고려한 인트라 예측을 수행할 수 있으며, 필터기는 역 양자화기 및 역 변환기로부터 복원된 잔차 영상에 대하여 종래의 디블록킹 필터링(De-blocking filtering) 뿐만 아니라 SAO(Sample Adaptive Offset) 방식을 통해 필터링 동작을 수행할 수 있다.
비디오 코덱에서 움직임 벡터를 부호화하는 과정 및 방법을 그림으로 표현하면 도 1과 같다. 도 1에 도시된 움직임 정보 부호화 장치(120)는 움직임 벡터를 부호화함에 있어서, 수학식 1처럼 현재 사용하는 움직임 벡터(MV, Motion Vector)와 예측 움직임 벡터(MVP, Motion Vector Predictor)를 이용하여 계산된 차분 움직임 벡터(MVD, Motion Vector Difference)에 대하여 VLC나 CABAC 등을 적용하는 엔트로피 부호화를 통해 움직임 벡터를 부호화할 수 있고, 특히 VLC를 적용하는 경우 Exponential Golomb-Code를 사용하게 된다.
Figure pat00001
수학식 1처럼 움직임 벡터와 예측 움직임 벡터 사이의 차이 벡터를 부호화하는 경우, 움직임 벡터와 예측 움직임 벡터 사이에 상관성이 높을수록 차분 움직임 벡터의 크기가 작아지고, 이때 더 적은 비트로 움직임 정보를 표현할 수 있다.
따라서 움직임 벡터를 부호화할 때, 움직임 벡터와 매우 닮은 (상관성이 높은) 예측 움직임 벡터를 사용하는 것이 압축효율을 높이기 위해 필요하다.
H.264/AVC에서는 현재 부호화되는 블록의 주변 블록들의 움직임 벡터들로부터 1개의 예측 움직임 벡터를 만든 후, 이를 사용한다. 이 때 단 1개의 예측 움직임 벡터를 사용하고, 이를 만드는 방법은 부호화기와 복호화기 간에 약속된 방법을 사용하기 때문에 예측 움직임 벡터에 대한 정보를 부호화하지 않는다.
그러나 하나 이상의 예측 움직임 벡터를 사용할 수 있으며, 이러한 경우 부호화 및 복호화의 효율을 보다 향상시키는 것이 필요하다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 현재 블록의 움직임 벡터를 부호화하기 위한 복수 개의 예측 움직임 벡터들을 사용할 때, 송신단에서 관련 정보를 전송하지 않아도 수신단이 알 수 있을 경우에는 해당 정보를 부호화하지 않고 skip함으로써, 보다 효율적으로 영상에 대해 부호화/복호화 동작을 수행할 수 있는 움직임 벡터 부호화/복호화 장치 및 움직임 벡터를 부호화/복호화하는 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 움직임 벡터 부호화 방법은, 현재 블록의 공간적인 이웃 블록들의 움직임 벡터들 또는 현재 블록의 시간적 이웃 블록들의 움직임 벡터들을 이용하여 적어도 하나의 예측 움직임 벡터의 후보들을 생성하는 단계와, 적어도 하나의 예측 움직임 벡터의 후보들로부터 예측 움직임 벡터를 선택하는 단계를 포함한다.
여기에서, 상기 적어도 하나의 예측 움직임 벡터의 후보들을 생성하는 단계는, 중복되는 예측 움직임 벡터의 후보들을 제거하는 단계와, 이미 설정된 개수보다 적은 예측 움직임 벡터의 후보들만 존재하는 경우, 모자라는 예측 움직임 벡터를 (0,0)으로 추가하는 단계를 포함할 수 있다.
여기에서, 상기 적어도 하나의 예측 움직임 벡터의 후보들을 생성하는 단계는, 스케일링(scaling) 과정을 거쳐 생성될 수 있다.
여기에서, 선택된 상기 예측 움직임 벡터와 현재 블록의 움직임 벡터 간의 차분 움직임 벡터를 계산하여 부호화하는 단계를 더 포함할 수 있다.
여기에서, 상기 차분 움직임 벡터를 계산하여 부호화하는 단계는, 적어도 하나의 예측 움직임 벡터의 후보들 중 어느 것을 이용하여 현재 블록에 대한 움직임 벡터를 부호화할 지 결정하는 단계와, 선택된 예측 움직임 벡터와 현재 블록의 움직임 벡터 간의 차분 움직임 벡터를 계산하는 단계와, 선택된 예측 움직임 벡터에 대한 정보를 부호화하는 단계와, 차분 움직임 벡터를 부호화하는 단계를 포함할 수 있다.
여기에서, 상기 적어도 하나의 예측 움직임 벡터의 후보들 모두가 같은 경우 또는 적어도 하나의 예측 움직임 벡터의 후보들이 서로 같지는 않지만 어느 예측 움직임 벡터가 사용되었는지를 복호화기에서 알고 있는 경우, 부호화시 사용을 위해 선택된 예측 움직임 벡터에 대한 정보를 부호화하는 과정을 스킵(skip)할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 움직임 벡터 복호화 방법은, 현재 블록의 공간적인 이웃 블록들의 움직임 벡터들 또는 현재 블록의 시간적 이웃 블록들의 움직임 벡터들을 이용하여 적어도 하나의 예측 움직임 벡터의 후보들을 생성하는 단계와, 적어도 하나의 예측 움직임 벡터의 후보들 중에 어느 예측 움직임 벡터가 사용되었는지에 대한 정보인 예측 움직임 벡터에 대한 정보를 비트스트림으로부터 복원하는 단계와, 비트스트림으로부터 차분 움직임 벡터 정보를 복원하는 단계와, 복원된 예측 움직임 벡터에 대한 정보와 차분 움직임 벡터 정보를 이용하여 현재 블록의 움직임 벡터를 복원하는 단계를 포함한다.
여기에서, 상기 적어도 하나의 예측 움직임 벡터의 후보들 중에서 어느 예측 움직임 벡터가 사용되었는지를 비트스트림을 복호하지 않아도 복호화기에서 알 수 있는 경우, 비트스트림으로부터 예측 움직임 벡터에 대한 정보를 복호화하는 과정을 스킵(skip)하고, 비트스트림으로부터 차분 움직임 벡터 정보를 복호화하는 단계와, 차분 움직임 벡터 정보를 이용하여 현재 블록의 움직임 벡터를 복원하는 단계를 포함할 수 있다.
전술한 본 발명의 과제 해결 수단에 의하면, 움직임 벡터 부호화 장치는 예측 움직임 벡터 관련 정보를 부호화하지 않아도 될 경우를 판단하여 부호화하지 않음으로써, 종래의 방식보다 높은 효율의 부호화 동작을 수행할 수 있다는 장점이 있다.
또한, 전술한 본 발명의 과제 해결 수단에 의하면, 움직임 벡터 부호화 장치와 상응하여 동작하는 움직임 벡터 복호화 장치의 효율도 높일 수 있다는 장점이 있다.
나아가, 전술한 본 발명의 과제 해결 수단에 의하면, 고효율의 움직임 벡터 부호화/복호화 장치를 이용할 수 있어 전체적인 영상에 대해서도 기존에 비해 월등한 부호화/복호화 동작을 수행하여 결과를 얻을 수 있다는 장점도 있다.
도 1은 영상 부호화 장치를 간략하게 나타낸 블록도이다.
도 2는 현재 부호화되는 PU 블록과 후보 MVP들을 구성하기 위해 고려되는 공간적인 이웃 PU 블록들의 위치를 설명하기 위한 개념도이다.
도 3은 현재 부호화되는 PU 블록과 후보 MVP들을 구성하기 위해 고려되는 시간적인 이웃 PU 블록들의 위치를 설명하기 위한 개념도이다.
도 4는 SMVP 과정과 TMVP 과정을 통해 얻어진 복수개의 MVP 후보들 중에서 최종적으로 사용되는 2개의 MVP를 선정하는 과정을 설명하는 순서도이다.
도 5는 영상 복호화 장치를 간략하게 나타낸 블록도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하에서 후술할 영상 부호화 장치(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)로 구성될 수 있으며, 각 픽처들은 슬라이스(Slice) 또는 타일(Tile)로 구분될 수 있고, 슬라이스 또는 타일은 코딩 트리 유닛(CTU: Coding Tree Block)로 분할될 수 있다. 또한, CTU는 코딩 유닛(CU: Coding Unit)로 분할될 수 있다. 여기서, 코딩 유닛은 기존은 매크로블록(Macroblock)과 유사하나 가변적으로 크기를 조절하면서 부호화/복호화를 수행할 수 있도록 한다. 따라서 본 발명에 있어, 코딩 유닛은 기존의 블록(Block)과 동등한 의미로 이해될 수 있다.
또한, 현재 블록 또는 현재 화소를 부호화하거나 복호화하는데 참조되는 블록 또는 화소를 참조 블록(Reference Block) 또는 참조 화소(Reference Pixel)라고 한다.
또한, 이하에 기재된 "픽처(picture)"이라는 용어는 영상(image), 프레임(frame) 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 사용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있다. 또한, 영상은 일반적인 자연 영상 뿐만 아니라 컨텐츠를 담고 있는 스크린 영상을 포함하는 것으로 특별히 제한되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 현재 부호화되는 PU 블록과 후보 MVP들을 구성하기 위해 고려되는 공간적인 이웃 PU 블록들의 위치를 설명하기 위한 개념도이고, 도 3은 현재 부호화되는 PU 블록과 후보 MVP들을 구성하기 위해 고려되는 시간적인 이웃 PU 블록들의 위치를 설명하기 위한 개념도이다.
도 2 및 도 3을 참조하면, 현재 코딩되는 블록(현재 블록)의 주변 부호화 블록들 또는 현재 블록이 참조하면 참조 영상에서 현재 블록에 상응한 위치에 있는 코로케이트 블록(co-located block)의 움직임 벡터들을 사용하여 여러 개의 예측 움직임 벡터 후보들을 만들 수 있다.
여기서, 예측 움직임 벡터는 MVP로 표현하고, 예측 움직임 벡터 후보들을 MVP candidate로 표현할 수 있다. 이 여러 개의 MVP Candidate들 중에서 최종적으로 2개의 MVP를 결정한 후, 이 2개의 MVP를 이용하여 현재 블록의 움직임 벡터를 부호화할 수 있다.
2개의 MVP들 중에서 어느 예측 움직임 벡터(MVP)를 사용하는 것이 압축률을 향상시키는데 유리한지를 판단한 후, 선택된 MVP를 이용하여 MVD를 계산하고 이 MVD를 부호화할 수 있으며, 이를 AMVP(Advanced Motion Vector Prediction)라고 명명할 수 있다.
이때 사용할 수 있는 MVP가 2개이기 때문에, 최종적으로 2개 중에 어느 MVP를 사용해서 MVD를 만들었는지에 대한 정보를 부호화해야 한다.
AMVP(Advanced Motion Vector Prediction)에서 후보 예측 움직임 벡터(MVP Candidate)들을 만드는 방법은 다음과 같다.
현재 부호화 하려는 PU(Prediction Unit)의 주변 PU들의 움직임 벡터들을 예측 움직임 벡터의 후보들로 고려할 수 있다.
이러한 경우, 후보 예측 움직임 벡터들은 SMVP(Spatial Motion Vector Prediction) 과정과 TMVP(Temporal Motion Vector Prediction) 과정을 통하여 탐색할 수 있다.
SMVP 과정을 통하여 후보 MVP를 결정하는 방법을 도 2를 참조하여 설명한다.
도 2는 MVP 후보 리스트를 구성하기 위한 주변 PU들의 위치를 나타낸다. 왼쪽 후보는 A0와 A1에 위치한 PU들의 움직임 벡터의 존재 여부를 순서대로 판단하여 가장 먼저 존재하는 움직임 벡터를 MVP후보 리스트에 추가하게 된다. 즉, SMVP 과정에서는 공간적인 이웃 블록(A0, A1, B0, B1, B2)의 움직임 벡터를 활용한다.
여기서 '존재한다'의 의미는 현재 PU와 동일한 참조 방향(과거, 미래, 양방향 참조 방향)과 동일한 참조영상 인덱스(참조 영상 번호)를 갖는 움직임 벡터가 존재한다는 것을 의미한다.
만약 A0와 A1에 위치한 PU들의 모든 움직임 벡터의 참조 영상이 현재 PU의 참조영상 방향과 참조영상 인덱스가 다르다면 A0 또는 A1의 움직임 벡터를 scaling을 하여 크기가 조절한 후 움직임 벡터를 만든 후, 이 벡터를 MVP 후보 리스트에 추가할 수 있다.
또한, 만약 A0와 A1에 위치한 모든 PU들이 Intra mode로 부호화되어 있기 때문에 참조할 움직임 벡터가 존재하지 않으면 왼쪽 후보는 사용하지 않을 수 있다.
도 2에서 위쪽 후보는 B0, B1, B2에 위치한 PU들의 움직임 벡터의 존재 여부를 순서대로 판단하여 가장 먼저 존재하는 움직임 벡터를 MVP 후보 리스트에 추가하게 된다.
여기서도 왼쪽 후보를 고려하는 과정과 마찬가지로, B0, B1, B2에 위치한 PU의 움직임 벡터의 참조영상이 현재 PU의 참조 영상 리스트와 참조 영상 인덱스가 다르다면 scaling을 하여 후보 리스트에 추가할 수 있다.
하지만 왼쪽 후보를 정할 때 scaling을 했다면 위쪽 후보에서는 scaling을 하지 않고 위쪽 PU들의 움직임 벡터들을 참조하지 않을 수 있다.
만약 B0, B1, B2 위치의 PU들이 모두 움직임 벡터들을 가지고 있지 않다면 위쪽 블록들은 MVP 후보들을 구성하는데 사용되지 않을 수 있다.
도 3은 TMVP를 이용하여 AMVP의 MVP 후보 리스트를 구성하기 위한 주변 PU들의 위치를 나타낸다.
TMVP에서는 현재 PU의 참조 영상에서 현재 PU와 같은 공간적 위치(Co-located)에 존재하는 PU의 움직임 벡터를 MVP의 후보로 고려할 수 있다. 즉, TMVP 과정에서는 시간적인 이웃 블록(Col, Right Bottom)의 움직임 벡터를 활용한다.
도 3에서 Col은 현재 부호화되는 PU의 참조 영상 내에서 현재 PU와 공간적으로 같은 위치에 있는 PU를 의미한다.
TMVP과정에서는 Col 뿐만 아니라 Col의 우측 하단에 Right Bottom이라고 표시된 PU의 움직임 벡터도 MVP의 후보로 고려할 수 있다. 즉, 먼저 Col을 고려한 후, Right Bottom를 고려하는 순서로 참조 영상 내에 있는 PU들의 움직임 벡터의 존재 여부를 판단한다. 움직임 벡터가 존재하면 현재 영상의 POC(Picture Order Count), 현재 PU의 참조 영상 POC, Col의 POC, Col의 참조 영상 POC등을 이용하여 scaling 비율을 계산한 후, 이 scaling 값(scaling factor)으로 움직임 벡터들을 scaling 한 뒤 MVP의 후보 리스트에 추가할 수 있다.
도 4는 SMVP 과정과 TMVP 과정을 통해 얻어진 복수개의 MVP 후보들 중에서 최종적으로 사용되는 2개의 MVP를 선정하는 과정을 설명하는 순서도이다.
도 4를 참조하여, SMVP 과정과 TMVP 과정을 통해 만들어진 MVP 후보들로부터 최종적으로 사용할 2개의 MVP를 구성하는 과정을 설명한다.
SMVP 과정을 통해 만들어진 최대 5개의 Spatial MVP 후보들 가운데 2개를 선택할 수 있다(S511). 이 때 한 개는 왼쪽 PU에서 선택하고 나머지 한 개는 위쪽 PU에서 선택할 수 있고, 주변에 움직임 벡터를 가지고 있지 않은 PU들이 많으면 2개를 선택하지 못하고 1개만 만들 수도 있고 1개도 만들지 못할 수도 있다.
또한, TMVP 과정을 통해 시간적인 이웃 PU 들로부터 만들어진 MVP 후보들 중에서 1개를 선택할 수 있다(S513). 이 때도 시간적으로 이웃된 PU 들이 움직임 벡터를 가지고 있지 않을 경우에는 MVP 후보 1개도 못 만드는 경우도 있을 수 있다.
이와 같이 SMVP 과정과 TMVP 과정에 의해 선택된 후보들 중 중복되는 후보는 제거할 수 있다(520).
한편, 만약 최종적으로 결정된 후보가 2개 미만일 경우에는 총 개수가 2개가 될 때까지 (0, 0)벡터를 MVP에 추가할 수 있다(S530).
그리고 MVP후보군이 2개보다 많을 경우는 3번째 MVP후보 이후 것들을 제외시킬 수 있으며(S540), 이를 통하여 최종적으로 2개의 MVP가 결정할 수 있다(S550).
이렇게 결정된 2개의 MVP를 이용하여, 현재 PU의 움직임 벡터를 부호화할 때, 어느 MVP를 이용하는 것이 현재 PU를 부호화하는데 유리한지를 비교한 후, 유리한 MVP를 선택하여 사용할 수 있다.
AMVP로 부호화 된 PU의 움직임 벡터 정보를 부호화하기 위해서, 참조 영상 인덱스(몇 번째 참조 영상을 이용했는지의 정보), MVP 인덱스(2개의 MVP 중 어느 것을 사용했는지의 정보), MVD를 부호화할 수 있다.
앞에서 설명한 SMVP 과정과 TMVP 과정 모두에서 MVP 후보를 하나도 만들지 못했다면, 2개의MVP는 모두 (0, 0)벡터로 정해질 수 있다.
2개의 MVP가 모두 (0, 0)벡터일 때에도 어느 MVP가 사용되었는지 정보를 부호화할 수 있다. 그러나, 이렇게 2개의 MVP가 모두 (0, 0)벡터인 경우에는 인코더가 관련된 정보를 부호화하지 않아도 디코더도 이 사실을 알 수 있기 때문에, 현재 PU의 움직임 벡터를 부호화할 때, 2개의 MVP 중에서 어느 것을 사용했는지에 대한 정보를 보낼 필요가 없다.
따라서, MVP에 대한 정보를 부호화할 필요가 없는 경우에는, 어느 MVP를 사용했는지에 대한 정보를 부호화하지 않고, 스킵(skip)할 수 있다.
상세하게는, 모든 MVP가 (0,0) 일 경우, 어느 MVP를 사용했는지에 대한 정보를 부호화하지 않고 스킵할 수 있다.
또한, 모든 MVP가 같을 경우, 어느 MVP를 사용했는지에 대한 정보를 부호화하지 않고 스킵할 수 있다.
더 나아가, MVP가 다양한 값을 가질 경우도, 송신기(부호화기)가 별도의 정보를 전송하지 않아도 복호기에서 이 MVP들을 알 수 있거나, 부호화기가 어느 MVP를 사용했는지를 복호화기가 알 수 있는 경우, 사용된 MVP에 대한 정보를 부호화하는 과정을 스킵할 수 있다.
다시 도 1을 참조하면, 영상 부호화 장치는 입력 영상(Input Image)을 부호화하여 비트 스트림(Bit-stream)을 출력하는 장치로서, 크게는 영상 부호화부(110)와 움직임 정보 부호화부(120)를 포함하여 구성되고, 영상 부호화부(110)와 움직임 정보 부호화부(120)는 서로 정보를 송/수신할 수 있다.
영상 부호화부(110)는 입력 영상과 예측 영상을 이용하여 잔차 영상을 생성하는 감산기(Subtracter), 잔차 영상에 대하여 변환 및 양자화 동작을 수행하는 변환기(Transformer) 및 양자화기(Quantizer), 양자화된 변환 영상에 대하여 부호화 동작을 수행하는 엔트로피 부호화기(Entropy Encoder, CAVLC, VLC, CABAC 등), 양자화된 변환 영상에 대하여 역 양자화 및 역 변환 동작을 수행하는 역 양자화기(Inverse Quantizer) 및 역 변환기(Inverse Transformer), 예측 영상과 복원된 잔차 영상을 이용하여 영상을 복원하는 가산기(Adder), 복원된 잔차 영상에 대하여 필터링 동작을 수행하는 필터기(Filter) 등을 포함하여 구성될 수 있다.
움직임 정보 부호화부(120)는 입력 영상에 대하여 인트라 예측(Intra Prediction) 또는 인터 예측(Inter Prediction)을 수행하는 예측기(Predictor), 필요에 따라 예측기로 복원된 영상을 전달하는 참조 픽처 메모리(Reference Picture Memory) 등을 포함하여 구성될 수 있다.
상술한 영상 부호화부(110)의 구성 중 일부가 움직임 정보 부호화부(120)에 포함되어 있을 수 있고, 그 반대로 포함 관계를 이루고 있을 수도 있으며, 하나의 구성이 다른 구성에서 수행하는 일부 동작을 함께 수행할 수도 있다.
상세하게는, 본 발명의 실시예에 따른 영상 부호화부(110)는, SMVP 과정과 TMVP 과정을 통해 만들어진 MVP 후보들로부터 최종적으로 사용할 2개의 MVP를 구성하는 과정을 수행할 수 있다.
또한, 움직임 정보 부호화부(120)는 영상 부호화부(120)에 의해 수행되는 움직임 예측의 결과에 따라, MVP에 대한 정보를 부호화할 필요가 없는 경우에는 어느 MVP를 사용했는지에 대한 정보를 부호화하지 않고 스킵(skip)할 수 있다.
예를 들어, 움직임 정보 부호화부(120)는 모든 MVP가 (0,0) 일 경우, 어느 MVP를 사용했는지에 대한 정보를 부호화하지 않고 스킵하거나, 모든 MVP가 같을 경우, 어느 MVP를 사용했는지에 대한 정보를 부호화하지 않고 스킵할 수 있다.
더 나아가, MVP가 다양한 값을 가질 경우도, 송신기(부호화기)가 별도의 정보를 전송하지 않아도 복호기에서 이 MVP들을 알 수 있거나, 부호화기가 어느 MVP를 사용했는지를 복호화기가 알 수 있는 경우, 사용된 MVP에 대한 정보를 부호화하는 과정을 스킵할 수 있다.
도 5는 영상 복호화 장치를 간략하게 나타낸 블록 구성도이다.
도 5에 따른 영상 부호화 장치에서, 영상 복호화부(510)는 비트스트림으로부터 양자화된 변환 영상 등을 복원하는 복호화기(Decoder), 역 양자화기(Inverse Quantizer), 역 변환기(Inverse Transformer), 가산기(Adder) 등을 포함하여 구성될 수 있다.
움직임 정보 복호화부(520)는 움직임 벡터를 복원하는 움직임 벡터 복원기, 예측기(Predictor), 필터기(Filter), 참조 픽처 메모리(Reference Picture Memory) 등을 포함하여 구성될 수 있다.
상술한 영상 복호화부(510)의 구성 중 일부가 움직임 정보 복호화부(520)에 포함되어 있을 수 있고, 그 반대로 포함 관계를 이루고 있을 수도 있으며, 하나의 구성이 다른 구성에서 수행하는 일부 동작을 함께 수행할 수도 있다.
본 발명의 실시예에 따른 영상 복호화부(510)는, SMVP 과정과 TMVP 과정을 통해 만들어진 MVP 후보들로부터 최종적으로 사용할 2개의 MVP를 구성하는 과정을 수행할 수 있다.
또한, 움직임 정보 복호화부(520)는 영상 복호화부(510)에 의해 수행되는 움직임 예측의 결과에 따라, MVP에 대한 정보를 복호화할 필요가 없는 경우에는 어느 MVP를 사용했는지에 대한 정보를 복호화하지 않고 스킵(skip)할 수 있다.
예를 들어, 움직임 정보 복호화부(520)는 모든 MVP가 (0,0) 일 경우, 어느 MVP를 사용했는지에 대한 정보를 복호화하지 않고 스킵하거나, 모든 MVP가 같을 경우, 어느 MVP를 사용했는지에 대한 정보를 복호화하지 않고 스킵할 수 있다.
더 나아가, MVP가 다양한 값을 가질 경우도, 송신기(부호화기)가 별도의 정보를 전송하지 않아도 복호기에서 이 MVP들을 알 수 있거나, 부호화기가 어느 MVP를 사용했는지를 복호화기가 알 수 있는 경우, 사용된 MVP에 대한 정보를 복호화하는 과정을 스킵할 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110: 영상 부호화부 120: 움직임 정보 부호화부
510: 영상 복호화부 520: 움직임 정보 복호화부

Claims (8)

  1. 영상 부호화를 위한 움직임 예측에 있어서,
    현재 블록의 공간적인 이웃 블록들의 움직임 벡터들 또는 상기 현재 블록의 시간적 이웃 블록들의 움직임 벡터들을 이용하여 적어도 하나의 예측 움직임 벡터의 후보들을 생성하는 단계;
    상기 적어도 하나의 예측 움직임 벡터의 후보들로부터 예측 움직임 벡터를 선택하는 단계를 포함하는 움직임 벡터 부호화 방법.
  2. 청구항 1에 있어서,
    상기 적어도 하나의 예측 움직임 벡터의 후보들을 생성하는 단계는,
    중복되는 예측 움직임 벡터의 후보들을 제거하는 단계; 및
    이미 설정된 개수보다 적은 예측 움직임 벡터의 후보들만 존재하는 경우, 모자라는 예측 움직임 벡터를 (0,0)으로 추가하는 단계를 포함하는 것을 특징으로 하는 움직임 벡터 부호화 방법.
  3. 청구항 1에 있어서,
    상기 적어도 하나의 예측 움직임 벡터의 후보들을 생성하는 단계는,
    스케일링(scaling) 과정을 거쳐 생성되는 것을 특징으로 하는 움직임 벡터 부호화 방법.
  4. 청구항 1에 있어서,
    선택된 상기 예측 움직임 벡터와 상기 현재 블록의 움직임 벡터 간의 차분 움직임 벡터를 계산하여 부호화하는 단계를 더 포함하는 움직임 벡터 부호화 방법.
  5. 상기 차분 움직임 벡터를 계산하여 부호화하는 단계는,
    상기 적어도 하나의 예측 움직임 벡터의 후보들 중 어느 것을 이용하여 상기 현재 블록에 대한 움직임 벡터를 부호화할 지 결정하는 단계;
    선택된 상기 예측 움직임 벡터와 상기 현재 블록의 움직임 벡터 간의 차분 움직임 벡터를 계산하는 단계;
    선택된 상기 예측 움직임 벡터에 대한 정보를 부호화하는 단계; 및
    상기 차분 움직임 벡터를 부호화하는 단계를 포함하는 움직임 벡터 부호화 방법.
  6. 청구항 5에 있어서,
    상기 적어도 하나의 예측 움직임 벡터의 후보들 모두가 같은 경우
    또는 상기 적어도 하나의 예측 움직임 벡터의 후보들이 서로 같지는 않지만 어느 예측 움직임 벡터가 사용되었는지를 복호화기에서 알고 있는 경우, 부호화시 사용을 위해 선택된 상기 예측 움직임 벡터에 대한 정보를 부호화하는 과정을 스킵(skip)하는 것을 특징으로 하는 움직임 벡터 부호화 방법.
  7. 영상 복호화를 위한 움직임 예측에 있어서,
    현재 블록의 공간적인 이웃 블록들의 움직임 벡터들 또는 상기 현재 블록의 시간적 이웃 블록들의 움직임 벡터들을 이용하여 적어도 하나의 예측 움직임 벡터의 후보들을 생성하는 단계;
    상기 적어도 하나의 예측 움직임 벡터의 후보들 중에 어느 예측 움직임 벡터가 사용되었는지에 대한 정보인 예측 움직임 벡터에 대한 정보를 비트스트림으로부터 복원하는 단계; 및
    상기 비트스트림으로부터 차분 움직임 벡터 정보를 복원하는 단계; 및
    복원된 상기 예측 움직임 벡터에 대한 정보와 상기 차분 움직임 벡터 정보를 이용하여 상기 현재 블록의 움직임 벡터를 복원하는 단계를 포함하는 움직임 벡터 복호화 방법.
  8. 청구항 7에 있어서,
    상기 적어도 하나의 예측 움직임 벡터의 후보들 중에서 어느 예측 움직임 벡터가 사용되었는지를 비트스트림을 복호하지 않아도 복호화기에서 알 수 있는 경우,
    상기 비트스트림으로부터 상기 예측 움직임 벡터에 대한 정보를 복호화하는 과정을 스킵(skip)하고, 상기 비트스트림으로부터 상기 차분 움직임 벡터 정보를 복호화하는 단계; 및
    상기 차분 움직임 벡터 정보를 이용하여 상기 현재 블록의 움직임 벡터를 복원하는 단계를 포함하는 움직임 벡터 복호화 방법.
KR20140009680A 2013-01-29 2014-01-27 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법 KR101510585B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130009857 2013-01-29
KR1020130009857 2013-01-29

Publications (2)

Publication Number Publication Date
KR20140097997A true KR20140097997A (ko) 2014-08-07
KR101510585B1 KR101510585B1 (ko) 2015-04-08

Family

ID=51745051

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140009680A KR101510585B1 (ko) 2013-01-29 2014-01-27 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법

Country Status (1)

Country Link
KR (1) KR101510585B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016175549A1 (ko) * 2015-04-27 2016-11-03 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
WO2018074616A1 (ko) * 2016-10-17 2018-04-26 디지털인사이트주식회사 블록 분할에 따른 skip 후보 리스트를 사용하는 비디오 코딩 방법 및 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101348613B1 (ko) * 2009-12-23 2014-01-10 한국전자통신연구원 영상의 부호화/복호화 장치 및 그 방법
CN105025298B (zh) * 2010-01-19 2019-04-16 三星电子株式会社 对图像进行编码/解码的方法和设备
CN107105280B (zh) * 2010-12-14 2020-01-03 M&K控股株式会社 用于编码运动画面的设备
KR101422058B1 (ko) * 2012-10-05 2014-07-29 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016175549A1 (ko) * 2015-04-27 2016-11-03 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
CN107534767A (zh) * 2015-04-27 2018-01-02 Lg电子株式会社 用于处理视频信号的方法及其装置
WO2018074616A1 (ko) * 2016-10-17 2018-04-26 디지털인사이트주식회사 블록 분할에 따른 skip 후보 리스트를 사용하는 비디오 코딩 방법 및 장치

Also Published As

Publication number Publication date
KR101510585B1 (ko) 2015-04-08

Similar Documents

Publication Publication Date Title
US11388393B2 (en) Method for encoding video information and method for decoding video information, and apparatus using same
US9781481B2 (en) Apparatus and method for generating/recovering motion information based on predictive motion vector index encoding, and apparatus and method for image encoding/decoding using same
CN113141783B (zh) 一种视频编解码方法及电子装置
CN107454424B (zh) 视频解码设备和视频解码方法
CN111164973A (zh) 译码用于视频译码的仿射预测运动信息
CN118450142A (zh) 一种视频编码/解码方法及装置
US20140044181A1 (en) Method and a system for video signal encoding and decoding with motion estimation
KR101377528B1 (ko) 움직임 벡터 부호화/복호화 방법 및 장치
KR20150105372A (ko) 향상 계층에서의 모션 예측을 위한 적응된 모션 벡터 후보 리스트들을 발생시키는 스케일러블 hevc 디바이스 및 방법
KR20130051384A (ko) 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
CN117499638A (zh) 对图像进行编码/解码的方法和发送比特流的方法
CN111699688B (zh) 帧间预测的方法和装置
KR101377529B1 (ko) 적응적 움직임 벡터 부호화/복호화를 이용한 영상 부호화/복호화 방법 및 장치
KR101510585B1 (ko) 움직임 정보 부호화/복호화 장치 및 움직임 정보를 부호화/복호화하는 방법
JP6032367B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像復号装置ならびに動画像復号方法
KR101479137B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
US20240305806A1 (en) Methods and devices for candidate derivation for affine merge mode in video coding
KR101699832B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
KR101676381B1 (ko) 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
EP4424019A1 (en) Candidate derivation for affine merge mode in video coding
WO2023133160A1 (en) Methods and devices for candidate derivation for affine merge mode in video coding
KR20140098042A (ko) 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
KR20140098041A (ko) 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
KR20170126817A (ko) 고속 영상 부호화 방법 및 장치

Legal Events

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

Payment date: 20190329

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20200219

Year of fee payment: 6