KR20150112470A - 영상의 부호화 방법 및 이를 이용하는 장치 - Google Patents

영상의 부호화 방법 및 이를 이용하는 장치 Download PDF

Info

Publication number
KR20150112470A
KR20150112470A KR1020140036727A KR20140036727A KR20150112470A KR 20150112470 A KR20150112470 A KR 20150112470A KR 1020140036727 A KR1020140036727 A KR 1020140036727A KR 20140036727 A KR20140036727 A KR 20140036727A KR 20150112470 A KR20150112470 A KR 20150112470A
Authority
KR
South Korea
Prior art keywords
block
motion information
mode
encoding
unit
Prior art date
Application number
KR1020140036727A
Other languages
English (en)
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 KR1020140036727A priority Critical patent/KR20150112470A/ko
Publication of KR20150112470A publication Critical patent/KR20150112470A/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/567Motion estimation based on rate distortion criteria
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

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

Abstract

본 발명에 따른 영상의 부호화 방법은 적어도 하나의 주변 블록의 움직임 정보를 이용하여 현재 블록에 대한 후보 목록을 생성하는 단계와; 상기 후보 목록에 포함된 움직임 정보에 대한 율-왜곡 비용을 연산하는 단계와; 상기 율-왜곡 비용의 연산 결과에 기초하여 상기 현재 블록에 대한 최적의 움직임 정보를 결정하는 단계를 포함하고, 상기 후보 목록을 생성하는 단계는 동일하거나 유사한 움직임 정보를 제거하는 단계를 포함하고, 상기 율-왜곡 비용을 연산하는 단계에서 동일하거나 유사한 움직임 정보에 대한 비용 연산은 생략될 수 있다.

Description

영상의 부호화 방법 및 이를 이용하는 장치{VIDEO ENCODING AND DECODING METHOD AND APPARATUS USING THE SAME}
본 발명은 영상의 부호화 및 복호화 처리에 관한 것으로서, 보다 상세하게는 고속으로 부호화 모드를 결정하는 영상의 부호화 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 해상도(1280x1024 혹은 1920x1080)를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되면서, 이제 많은 사용자들이 고해상도, 고화질의 영상에 많이 익숙해지고 있으며 그에 발맞춰서 많은 기관에서는 차세대 영상기기에 대한 개발에 박차를 가하고 있다. 또한 HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 동영상 표준화 단체들은 보다 높은 해상도, 고화질의 영상에 대한 압축기술의 필요성을 인식하게 되었다.
또한 현재 HDTV, 휴대전화, 블루레이 플레이어에 사용되는 H.264/AVC보다 높은 압축 효율을 통해 동일한 화질을 유지하면서도 주파수 대역이나 저장 측면에서 많은 이득을 얻을 수 있는 새로운 표준이 절실한 실정이다. 현재 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)는 공동으로 차세대 비디오 코덱인 HEVC(High Efficiency Video Coding)를 표준화하고 있으며, UHD 영상까지 포함한 영상을 H.264/AVC 대비 2배의 압축효율로 부호화를 하는 것을 목표로 하고 있다. 이는 HD, UHD 영상뿐만 아니라 3D 방송 및 이동통신망에서도 현재보다 낮은 주파수로 고화질의 영상을 제공할 수 있다.
특히 영상 디스플레이 화면의 대형화와 더불어 고해상도 영상을 고효율로 압축하고자 하는 시장의 요구에 의해 JCT-VC(Joint Collaborative Team on Video Coding)은 기존 AVC/H.264 코덱보다 50% 압축성능 향상을 목표로 HEVC(High Efficiency Video Coding)로 명명한 차세대 코덱 표준화 작업을 2013년에 완료하였다.
HEVC의 압축성능은 향상되었으나 코덱 특히 부호화기의 복잡도는 크게 증가하였다. 또한 4K등의 고해상도 비디오 혹은 프레임 레이트(frame rate)를 높인 대용량 비디오를 HEVC로 부호화하여, 방송 서비스나 VOD(Video on Demand) 서비스에 활용하기 위해서는 고속 HEVC 부호화기가 필수적이다.
본 발명의 일 실시형태는 움직임 후보 목록을 구성하는데 있어서, 주변 블록의 사용 가능 여부를 판단하는 순서를 제공하는 방법 및 이를 이용하는 장치를 제공하는 것을 목적으로 한다.
본 발명의 일 실시형태는 주변의 이미 부호화된 블록들의 움직임 정보를 이용하여 부호화하는 모드를 고속으로 결정하는 방법 및 이를 이용하는 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명의 일 실시형태는 각 부호화 모드의 최적 후보를 결정함에 있어서, 후보에 추가되는 정보들이 서로 동일 혹은 유사 여부에 따라 복잡도가 높은 율-왜곡 비용 과정을 생략하는 방법 및 이를 이용하는 장치를 제공하는 것을 목적으로 한다.
이를 통하여 영상의 부호화 효율을 향상시키고, 부호화기의 속도를 높이는 데 그 목적이 있다.
본 발명의 일 실시예인 영상의 부호화 방법은 적어도 하나의 주변 블록의 움직임 정보를 이용하여 현재 블록에 대한 후보 목록을 생성하는 단계와; 상기 후보 목록에 포함된 움직임 정보에 대한 율-왜곡 비용을 연산하는 단계와; 상기 율-왜곡 비용의 연산 결과에 기초하여 상기 현재 블록에 대한 최적의 움직임 정보를 결정하는 단계를 포함하고, 상기 후보 목록을 생성하는 단계는 동일하거나 유사한 움직임 정보를 제거하는 단계를 포함하고, 상기 율-왜곡 비용을 연산하는 단계에서 동일하거나 유사한 움직임 정보에 대한 비용 연산은 생략될 수 있다.
본 발명의 일 실시예에 따르면, 움직임 후보 목록을 구성하는데 있어서, 주변 블록의 사용 가능 여부를 판단하는 순서를 제공하는 방법 및 이를 이용하는 장치가 제공된다.
본 발명의 일 실시예에 따르면 주변의 이미 부호화된 블록들의 움직임 정보를 이용하여 부호화하는 모드를 고속으로 결정하는 방법 및 이를 이용하는 장치가 제공된다.
또한, 본 발명의 일 실시예에 따르면 각 부호화 모드의 최적 후보를 결정함에 있어서, 후보에 추가되는 정보들이 서로 동일 혹은 유사 여부에 따라 복잡도가 높은 율-왜곡 비용 과정을 생략하는 방법 및 이를 이용하는 장치가 제공된다.
이를 통하여 영상의 부호화 효율이 향상되고, 부호화기의 속도가 높아지는 효과가 있다.
도 1은 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 머지 후보 목록으로 사용되는 현재 블록의 주변 블록들의 일예를 도시한 도면이다.
도 4는 머지 모드를 적용할 후보를 설정하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명에 따른 영상의 부호화 방법을 설명하기 위한 제어 흐름도이다.
이하, 도면을 참조하여 본 발명의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 아울러, 본 발명에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
도 1은 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조영상 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 인트라(intra) 모드 또는 인터(inter) 모드로 부호화를 수행하고 비트스트림(bit stream)을 출력할 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환된다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화할 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터와 참조 영상 버퍼(190)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔여 블록(residual block)을 생성할 수 있다. 변환부(130)는 잔여 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로, 심볼(symbol)을 확률 분포에 따라 엔트로피 부호화하여 비트스트림(bit stream)을 출력할 수 있다. 엔트로피 부호화 방법은 다양한 값을 갖는 심볼을 입력 받아, 통계적 중복성을 제거하면서, 복호 가능한 2진수의 열로 표현하는 방법이다.
여기서, 심볼이란 부호화/복호화 대상 구문 요소(syntax element) 및 부호화 파라미터(coding parameter), 잔여 신호(residual signal)의 값 등을 의미한다. 부호화 파라미터는 부호화 및 복호화에 필요한 매개변수로서, 구문 요소와 같이 부호화 장치에서 부호화되어 복호화 장치로 전달되는 정보뿐만 아니라, 부호화 혹은 복호화 과정에서 유추될 수 있는 정보를 포함할 수 있으며 영상을 부호화하거나 복호화할 때 필요한 정보를 의미한다. 부호화 파라미터는 예를 들어 인트라/인터 예측모드, 이동/움직임 벡터, 참조 영상 색인, 부호화 블록 패턴, 잔여 신호 유무, 변환 계수, 양자화된 변환 계수, 양자화 파라미터, 블록 크기, 블록 분할 정보 등의 값 또는 통계를 포함할 수 있다. 또한 잔여 신호는 원신호와 예측 신호의 차이를 의미할 수 있고, 또한 원신호와 예측 신호의 차이가 변환(transform)된 형태의 신호 또는 원신호와 예측 신호의 차이가 변환되고 양자화된 형태의 신호를 의미할 수도 있다. 잔여 신호는 블록 단위에서는 잔여 블록이라 할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다.
엔트로피 부호화를 위해 지수 골룸(exponential golomb), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법이 사용될 수 있다. 예를 들어, 엔트로피 부호화부(150)에는 가변 길이 부호화(VLC: Variable Lenghth Coding/Code) 테이블과 같은 엔트로피 부호화를 수행하기 위한 테이블이 저장될 수 있고, 엔트로피 부호화부(150)는 저장된 가변 길이 부호화(VLC) 테이블을 사용하여 엔트로피 부호화를 수행할 수 있다. 또한 엔트로피 부호화부(150)는 대상 심볼의 이진화(binarization) 방법 및 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출한 후, 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 부호화를 수행할 수도 있다.
양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환될 수 있다. 역양자화, 역변환된 계수는 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성될 수 있다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장될 수 있다.
도 2는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다. 도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화 장치에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔여 블록(residual block)을 얻고 예측 블록을 생성한 후 복원된 잔여 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 2진수의 열을 입력 받아 각 심볼들을 생성하는 방법이다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.
양자화된 계수는 역양자화부(220)에서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환 된 결과, 복원된 잔여 블록(residual block)이 생성될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 화소값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
복원된 잔여 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거친다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력한다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 화면 간 예측에 사용될 수 있다.
상기 영상 복호화 장치(200)에 포함되어 있는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 및 참조 영상 버퍼(270) 중 영상의 복호화에 직접적으로 관련된 구성요소들, 예컨대, 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 필터부(260) 등을 다른 구성요소와 구분하여 복호화부 또는 디코딩부로 표현할 수 있다.
또한, 영상 복호화 장치(200)는 비트스트림에 포함되어 있는 인코딩된 영상에 관련된 정보를 파싱하는 도시하지 않은 파싱부를 더 포함할 수 있다. 파싱부는 엔트로피 복호화부(210)를 포함할 수도 있고, 엔트로피 복호화부(210)에 포함될 수도 있다. 이러한 파싱부는 또한 디코딩부의 하나의 구성요소로 구현될 수도 있다.
통상적으로 화면간 예측은 현재 픽처의 이전 픽처 또는 이후 픽처 중 적어도 하나를 참조 픽처로 하고, 참조 픽처를 기반으로 현재 블록에 대한 예측을 수행할 수 있다. 현재 블록의 예측에 이용되는 영상을 참조 픽처(reference picture) 또는 참조 프레임(reference frame)이라고 한다.
참조 픽처 내의 영역은 참조 픽처를 지시하는 참조 픽처 인덱스(refIdx) 및 움직임 벡터(motion vector) 등을 이용하여 나타낼 수 있다.
화면간 예측은 참조 픽처 및 참조 픽처 내에서 현재 블록에 대응하는 참조 블록을 선택해서, 현재 블록에 대한 예측 블록을 생성할 수 있다.
화면 간 예측에서 부호화 장치 및 복호화 장치는 현재 블록의 움직임 정보를 도출한 후, 도출된 움직임 정보에 기반하여 화면 간 예측 및/또는 움직임 보상을 수행할 수 있다. 이 때, 부호화 장치 및 복호화 장치는 복원된 주변 블록(neighboring block) 및/또는 이미 복원된 콜(col) 픽쳐(collocated picture) 내에서 현재 블록에 대응되는 콜(col) 블록(collocated block)의 움직임 정보를 이용함으로써, 부호화/복호화 효율을 향상시킬 수 있다.
여기서, 복원된 주변 블록은 이미 부호화 및/또는 복호화되어 복원된 현재 픽쳐 내의 블록으로서, 현재 블록에 인접한 블록 및/또는 현재 블록의 외부 코너에 위치한 블록을 포함할 수 있다. 또한 부호화 장치 및 복호화 장치는, 콜 픽쳐 내에서 현재 블록과 공간적으로 대응되는 위치에 존재하는 블록을 기준으로 소정의 상대적인 위치를 결정할 수 있고, 상기 결정된 소정의 상대적인 위치(상기 현재 블록과 공간적으로 대응되는 위치에 존재하는 블록의 내부 및/또는 외부의 위치)를 기반으로 상기 콜 블록을 도출할 수 있다. 여기서, 일례로 콜 픽쳐는 참조 픽쳐 리스트에 포함된 참조 픽쳐 중에서 하나의 픽쳐에 해당될 수 있다.
화면간 예측은 현재 블록과의 레지듀얼(residual) 신호가 최소화되며 움직임 벡터 크기 역시 최소가 되도록 예측 블록을 생성할 수 있다.
한편, 움직임 정보 도출 방식은 현재 블록의 예측 모드에 따라 달라질 수 있다. 인터 예측을 위해 적용되는 예측 모드에는 AMVP(Advanced Motion Vector Predictor), 머지(merge) 등이 있을 수 있다.
일례로, AMVP(Advanced Motion Vector Predictor)가 적용되는 경우, 부호화 장치 및 복호화 장치는 복원된 주변 블록의 움직임 벡터 및/또는 콜 블록의 움직임 벡터를 이용하여, 예측 움직임 벡터 후보 리스트를 생성할 수 있다. 즉, 복원된 주변 블록의 움직임 벡터 및/또는 콜 블록의 움직임 벡터는 예측 움직임 벡터 후보로 사용될 수 있다. 부호화 장치는 상기 리스트에 포함된 예측 움직임 벡터 후보 중에서 선택된 최적의 예측 움직임 벡터를 지시하는 예측 움직임 벡터 인덱스를 복호화 장치로 전송할 수 있다. 이 때, 복호화 장치는 상기 예측 움직임 벡터 인덱스를 이용하여, 예측 움직임 벡터 후보 리스트에 포함된 예측 움직임 벡터 후보 중에서, 현재 블록의 예측 움직임 벡터를 선택할 수 있다.
부호화 장치는 현재 블록의 움직임 벡터와 예측 움직임 벡터 간의 움직임 벡터 차분(MVD: Motion Vector Difference)을 구할 수 있고, 이를 부호화하여 복호화 장치로 전송할 수 있다. 이 때, 복호화 장치는 수신된 움직임 벡터 차분을 복호화할 수 있고, 복호화된 움직임 벡터 차분과 예측 움직임 벡터의 합을 통해 현재 블록의 움직임 벡터를 도출할 수 있다.
부호화 장치는 또한 참조 픽처를 지시하는 참조 픽처 인덱스 등을 복호화 장치에 전송할 수 있다.
복호화 장치는 주변 블록의 움직임 정보들을 이용하여 현재 블록의 움직임 벡터를 예측하고, 부호화 장치로부터 수신한 레지듀얼을 이용하여 현재 블록에 대한 움직임 벡터를 유도할 수 있다. 복호화 장치는 유도한 움직임 벡터와 부호화 장치로부터 수신한 참조 픽처 인덱스 정보를 기반으로 현재 블록에 대한 예측 블록을 생성할 수 있다.
화면 간 예측에 이용되는 다른 모드 중 하나 인 스킵 모드의 경우에, 주변 블록의 정보를 그대로 현재 블록에 이용할 수 있다. 따라서 스킵 모드의 경우에, 부호화 장치는 현재 블록의 움직임 정보로서 어떤 블록의 움직임 정보를 이용할 것인지를 지시하는 정보 외에 레지듀얼 등과 같은 신택스 정보를 복호화 장치에 전송하지 않는다.
다른 예로, 병합 움직임, 즉 머지(merge) 모드가 적용되는 경우, 부호화 장치 및 복호화 장치는 복원된 주변 블록의 움직임 정보 및/또는 콜 블록의 움직임 정보를 이용하여, 머지 후보 목록(머지 후보 리스트, merge cadidate list)를 생성할 수 있다. 이때 움직임 정보란, 움직임 벡터, 참조 영상에 대한 인덱스 그리고 예측 방향(단방향, 양방향, 등) 중에서 적어도 하나를 포함한다.
머지 모드는 부호화 유닛(Coding Unit: CU, 이하 ‘CU’라 함) 단위의 머지 모드와 예측 유닛(Prediction Unit: PU, 이하 ‘PU’라 함) 단위의 머지 모드가 가능하다. CU 또는 PU(이하, 설명의 편의를 위해 ‘블록’이라 함) 단위로 머지 모드 예측을 수행하는 경우에는, 블록 파티션(partition)별로 병합 움직임을 수행할지에 관한 정보와 현재 블록에 인접한 주변 블록(현재 블록의 좌측 인접 블록, 현재 블록의 상측 인접 블록, 현재 블록의 시간적(temporral) 인접 블록 등) 중 어떤 블록과 머지 할 것인지에 대한 정보를 전송할 필요가 있다.
머지 후보 목록은 움직임 정보들이 저장된 목록을 나타내며, 머지가 수행되기 전에 생성된다. 여기서 머지 후보 목록에 저장되는 움직임 정보는 현재 블록에 인접한 주변 블록의 움직임 정보이거나 참조 영상에서 현재 블록에 대응되는(collocated) 블록의 움직임 정보일 수 있다. 또한 머지 후보 목록에 저장되는 움직임 정보는 이미 머지 후보 목록에 존재하는 움직임 정보들을 조합하여 만든 새로운 움직임 정보일 수 있다.
도 3은 머지 후보 목록으로 사용되는 현재 블록의 주변 블록들의 일예를 도시한 도면이다. 이러한 머지 후보 목록에 사용되는 주변 블록에 대한 움직임 정보는 스킵 모드일 때도 동일하게 적용될 수 있다.
머지 후보 목록은 도 3의 주변 블록(A, B, C, D, E)과 그리고 동일 위치의 후보 블록(H(혹은 M))에 대하여 해당 블록의 움직임 정보가 현재 블록의 병합 움직임에 이용될 수 있는지를 판단하여, 이용 가능한 경우에는 해당 블록의 움직임 정보를 머지 후보 목록에 입력할 수 있다.
시간적 후보 예측 블록으로 사용되는 동일 위치 후보 블록은 현재 블록을 포함하는 픽쳐 내의 픽셀 위치 (xP, yP)를 기초로 현재 블록의 콜 픽쳐(Colocated Picture)에서 (xP+nPSW, yP+nPSH) 위치의 픽셀을 포함하는 예측 블록(H)이거나 (xP+nPSW, yP+nPSH) 위치의 픽셀을 포함하는 예측 블록이 가용하지 않은 경우, (xP+(nPSW>>1), yP+(nPSH>>1)) 위치의 픽셀을 포함하는 예측 블록(M)이 될 수 있다.
각 주변 블록은 서로 동일한 움직임 정보를 가지는지 확인하여 동일한 움직임 정보일 경우, 해당 주변 블록의 움직임 정보는 머지 후보 목록에 포함되지 않는다.
실시 일 예로, 도 3에서 X 블록에 대한 머지 후보 목록을 생성할 때, 주변 블록 A가 사용 가능하여 머지 후보 목록에 포함되면, 주변 블록 B는 주변 블록 A와 동일한 움직임 정보가 아닐 경우에만 머지 후보 목록에 포함될 수 있다. 동일한 방법으로 주변 블록 C는 주변 블록 B와 동일한 움직임 정보가 아닐 경우에만 머지 후보 목록에 포함될 수 있다. 동일한 방법으로 주변 블록 D와 주변 블록 E에 적용될 수 있다.
여기서 동일한 움직임 정보라는 것은 움직임 벡터가 동일하고 동일한 참조 픽쳐를 사용하고 동일한 예측 방향(단방향(정방향, 역방향), 양방향)을 사용함을 의미할 수 있다.
마지막으로 도 3에서 X 블록에 대한 병 머지 후보 목록은 소정의 순서, 예컨대, A→B→C→D→E→H(혹은 M) 블록 순서로 목록에 추가될 수 있다.
본 발명은 비디오를 부호화하는데 있어서 고속으로 부호화 모드를 결정 방법 및 장치을 제공한다. 좀 더 구체적으로는 부호화 모드 중에서 주변의 이미 부호화된 블록들의 움직임 정보를 이용하여 부호화하는 모드를 고속으로 결정하는 방법 및 장치에 관한 것이다.
비디오 부호화기에서는 여러 개의 후보 중에서 가장 부호화 효율이 높은 모드로 현재 블록의 부호화 모드를 결정하게 된다. 여기서 부호화 효율을 결정하는 기준의 예로는 율-왜곡 비용이 있다. 즉 해당 부호화 모드로 부호화를 하였을 때 발생하는 비트량과 화면의 왜곡의 가중합(weighted sum)이 부호화 모드를 결정하는 기준이 된다. 최근 비디오 부호화 기술들은 부호화 효율을 높이기 위해 각 부호화 모드도 다수의 후보 중에서 가장 부호화 효율이 높은 후보로 해당 부호화 모드의 율-왜곡 비용을 계산하도록 하여 가능한 율-왜곡 비용이 작은 모드로 부호화 모드를 결정하도록 한다.
스킵 모드의 경우 다수의 주변 블록이 후보가 되어 이 후보 중에서 스킵 모드로 부호화 되었을 때 가장 부호화 효율이 높은 후보를 스킵 모드의 후보로 정할 수 있다. 이는 머지 모드에도 그대로 적용된다. 비디오 부호화는 일 실시예로 스킵 모드와 머지 모드의 후보를 동일하게 결정한 후 각 모드에 대해서 후보를 정할 수 있다.
도 4는 머지 모드를 적용할 후보를 설정하는 방법을 설명하기 위한 도면이다. 도 4는 머지 모드 후보의 개수를 N으로 하였을 때 적용되는 공간적 후보의 순서를 설명하고 있다.
부호화 과정에서 후보의 대상이 될 공간적 주변 블록을 선택하는 순서는 도 4와 같이 정할 수 있고, 도시된 바와 같이, A1->B1->B0->A0->B2 순으로 공간적 주변 블록 후보는 최대 4개까지 추가될 수 있다.
머지 후보의 개수를 N으로 하였을 때 아래의 과정을 통하여 후보 N개가 채워질 때까지 순차적으로 진행할 수 있다.
1. 공간적으로 가까운 블록의 움직임 정보 최대 4개
2. 시간적으로 가까운 블록의 움직임 정보 최대 1개(도 3의 H)
3. B 슬라이스의 경우 양방향 조합 움직임 정보(combined bi-predictive) 최대 5개와 비조정 양방향 움직임 정보(non-scaled bi-predictive) 최대 1개
4. 제로 (zero) 움직임 정보 최대 2개
부호화기는 상기 순서대로 후보들을 결정할 때 후보의 움직임 정보들의 중복성을 제거하면서 후보를 추가할 수 있다. 이런 경우, 다음과 같은 순으로 중복성 판단이 수행될 수 있다.
가. 공간적 주변 블록으로부터 얻은 움직임 정보 후보가 추가될 때마다 중복성 확인하여 제거
나. 시간적 주변 블록으로부터 얻은 움직임 정보 후보는 1개만 추가되기 때문에 중복성 확인 필요 없음
다. B 슬라이스의 양방향 조합 움직임 정보 후보가 추가될 때 중복성 확인 안함
라. zero 움직임 정보 후보가 추가 될 때 중복성 확인 안함
공간적 주변 블록으로부터 움직임 정보가 추가되는 경우, 도 4에 도시된 바와 같이, A1->B1->B0->A0->B2 순으로 추가될 수 있고, 이 때 중복성 판단이 수행될 수 있다.
일 예에 따르면, A1가 추가된 뒤, B1는 A1와 동일하면 B1는 머지 후보로 추가될 수 없다. B0는 B1와 동일하면 머지 후보로 추가될 수 없다. 또한, A0은 A1와 동일하면 B1는 머지 후보로 추가될 수 없다. B2는 A1와 동일하면 머지 후보로 추가될 수 없다.
머지 후보 목록에 움직임 정보가 추가될 때, 중복성 판단과 동시에 또는 선행하여 움직임 정보에 대한 존재 여부를 포함하는 가용성 여부가 판단될 수 있다.
이러한 중복성 확인 과정에 중, 다 및 라 과정에서 중복성 확인을 하지 않는 경우, 후보 선정이 끝나면 후보 목록에는 같은 움직임 정보가 포함되어 있을 가능성이 존재할 수 있다.
특히 영상의 가장 자리 혹은 슬라이스/타일 등 독립적으로 부호화되는 단위의 가장 자리에 접한 블록의 경우는 공간적으로 가까운 블록이 존재하기 않기 때문에 후보 개수 N개를 채우는 과정에서 중복되는 움직임 정보가 존재할 가능성이 높다. 혹은 동일하지는 않지만 유사한 움직임 정보가 존재할 가능성도 존재한다.
이와 같이 머지 후보 목록에 동일하거나 유사한 움직임 정보가 존재하면 부호화기에서는 각 모드 별 최적 후보를 찾기 위한 복잡도가 높은 비용 계산 과정을 반복하게 되므로 부호화기 속도가 저하된다.
또한, 머지 후보 후보에 유사한 움직임 정보가 많이 존재하면 부호화 효율은 증가하지만, 속도가 많이 저하된다.
본 발명에서는 응용 분야에 따라 부호화기 고속화를 위하여 임계치를 정해 유사성을 판단하고, 유사성 값이 임계치 보다 크면 해당 후보에 대해서는 모드 별 최적 후보를 찾기 위한 과정을 생략할 것을 제안한다.
이렇게 유사한 후보를 제외하는 방법은 머지 모드 또는 스킵 모드에 대하여선택적으로 적용할 수 있다. 유사한 후보를 제외하는 것을 머지 모드에 한정하여 적용할 수도 있고, 머지 모드와 스킵 모드 모두에 적용할 수도 있다.
예를 들어, 머지 모드는 잔차 신호를 구하기 때문에 보정할 수 있는 기회가 있는 반면 스킵 모드는 그대로 주변 블록이 참조하는 블록의 정보를 이용하여 복원되기 때문에 머지 모드에 비해 왜곡이 심해질 가능성이 높은 것을 고려하여 유사한 후보를 제외하는 것을 머지 모드에 한정하여 적용할 수도 있다.
본 발명에서는 스킵 모드와 머지 모드의 후보를 추가하는 단계에서 같은 정보의 후보가 추가되지 않도록 확인하는 과정을 추가하는 방법을 제안하고자 한다.
본 발명의 일 실시예에 따르면, 중복성 판단에 대한 상기 과정에서 B 슬라이스의 양방향 조합 움직임 정보 후보가 추가되고 난 후, 부호화기는 추가된 후보가 가 및 나의 과정에서 추가된 기존의 후보들과 동일한지 여부를 확인하는 중복성을 판단을 수행할 수 있다.
또한, 부호화기는 zero 움직임 정보 후보가 추가된 경우에도, 기존의 가, 나 및 다의 과정을 통하여 추가된 후보들과 동일성 여부를 확인하는 중복성 판단을 수행한다.
본 발명의 다른 실시예에 따르면, 가 내지 라 과정을 모두 거친 후, 즉 공간적 주변 블록으로부터 얻은 움직임 정보 후보, 시간적 주변 블록으로부터 얻은 움직임 정보 후보, B 슬라이스의 양방향 조합 움직임 정보 후보, zero 움직임 정보 후보를 모두 후보 목록에 추가한 후 마지막에 중복되는 후보는 부호화 과정에서 생략할 수 있다. 중복되는 후보는 부호화 과정에 수반되는 율-왜곡 비용을 계산 과정이 생략된다.
정리하면, 본 발명에 따른 부호화기는 복수의 후보들 중 어느 하나를 예측 모드로 선택하여 부호화 하게 된다. 이러한 부호화 과정에는 해당 후보 움직임 정보에 대한 율-왜곡 비용이 계산되고 이러한 계산은 부호화율에 영향을 주게된다.
따라서, 어떠한 움직임 정보를 후보 목록에 추가하는지는 중요한 이슈가 될 수 있고, 본 발명에 따른 부호화기는 선행되는 움직임 정보와 동일하거나 유사한 움직임 정보를 후보에서 제외하거나, 후보 목록에 추가하더라도 부호화 과정에서 제외시킬 수 있다.
이렇게 후보 목록이 구성되면, 중복되는 후보를 N개에서 뺄 수도 있고 빼지 않을 수도 있다.
일 실시예로 최대 후보의 개수에서 중복되는 후보를 제외시키는 경우, 좀 더 다양한 후보들을 부호화기 모드 결정을 위해 후보로 둘 수 있는 장점이 있다. 다만, 이러한 경우 후보의 개수가 N개가 되지 않을 수 있기 때문에 후보의 개수를 복호화기에 전달해 주어야 한다.
또 다른 실시예로 중복되는 후보를 N개에서 제외시키지 않는 경우, 복호화기의 수정 없이 부호화기의 부호화 속도를 증가 시킬 수 있다. 후보의 최대 개수가 N개라는 정보를 부호화기와 복호화기가 공유하게 되면, 부호화기에서 모드 결정 과정을 생략한 중복 후보들은 그대로 후보로 추가되지만 선택되지는 않기 때문에 복호화기에서는 별도의 수정이 필요하지 않게 된다.
도 5는 본 발명에 따른 영상의 부호화 방법을 설명하기 위한 제어 흐름도이다. 도 5를 참조하여 본 발명에 따른 영상 부호화 방법을 정리하면 다음과 같다.
우선, 부호화기는 주변 블록의 움직임 정보를 이용하여 동일한 움직임 정보를 제거하는 방법, 유사한 움직임 정보를 제거하는 방법 및 어떠한 후보도 제거하지 않는 방법 중 어느 하나를 이용하여 현재 블록에 사용될 수 있는 움직임 정보의 후보를 결정한다(S510).
부호화기는 상기 세 가지 방법 중 어느 하나를 이용할 수도 있고, 두 개 이상의 방법을 조합하여 사용할 수도 있다.
움직임 정보에 대한 후보 목록은 인터 예측 중 머지 모드 또는 스킵 모드에 사용될 수 있으며, 후보 목록에 추가될 수 있는 움직임 정보는 공간적 주변 블록으로부터 얻은 움직임 정보, 시간적 주변 블록으로부터 얻은 움직임 정보, B 슬라이스의 양방향 조합 움직임 정보, zero 움직임 정보 일 수 있다.
그런 후, 부호화기는 후보 목록에 포함되어 있는 후보들에 대하여 부호화를위한 최적의 후보를 결정하기 위하여 각 후보에 대한 율- 왜곡 비용에 대한 연산을 수행한다(S520).
즉, 각 후보를 이용하여 인터 예측을 수행하는 부호화 과정을 통하여 율-왜곡 비용에 대한 연산이 수행되며, 이 때 동일한 움직임 정보에 대한 비용 연산을 생략하는 방법과 유사한 움직임 정보에 대한 비용 연산을 생략하는 방법 중 어느 하나가 사용될 수 있다.
물론, 동일한 움직임 정보에 대한 비용 연산을 생략하는 방법와 유사한 움직임 정보에 대한 비용 연산을 생략하는 방법을 조합하여 참조할 움직임 정보를 최종적으로 결정할 수도 있다.
상술한 바와 같이, 본 발명은 비디오를 부호화하는데 있어서 고속으로 부호화 모드를 결정 방법 및 장치에 관한 것으로 부호화 모드 중에서 주변의 이미 부호화된 블록들의 움직임 정보를 이용하여 부호화하는 모드를 고속으로 결정하는 방법 및 장치에 관한 것이다. 본 발명에 따를 경우, 각 부호화 모드의 최적 후보를 결정함에 있어서, 후보에 추가되는 정보들이 서로 동일 혹은 유사 여부에 따라 복잡도가 높은 율-왜곡 비용 과정을 생략함으로써 부호화기의 속도를 높일 수 있는 이점이 있다.
상술한 실시예에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
100 : 영상 부호화 장치 111: 움직임 예측부
112: 움직임 보상부 120 : 인트라 예측부
115 : 스위치 125 : 감산기
130 : 변환부 140 : 양자화부
150 : 엔트로피 부호화부 160 : 역양자화부
170 : 역변환부 180 : 필터부

Claims (1)

  1. 영상의 부호화 방법에 있어서,
    적어도 하나의 주변 블록의 움직임 정보를 이용하여 현재 블록에 대한 후보 목록을 생성하는 단계와;
    상기 후보 목록에 포함된 움직임 정보에 대한 율-왜곡 비용을 연산하는 단계와;
    상기 율-왜곡 비용의 연산 결과에 기초하여 상기 현재 블록에 대한 최적의 움직임 정보를 결정하는 단계를 포함하고,
    상기 후보 목록을 생성하는 단계는 동일하거나 유사한 움직임 정보를 제거하는 단계를 포함하고,
    상기 율-왜곡 비용을 연산하는 단계에서 동일하거나 유사한 움직임 정보에 대한 비용 연산은 생략되는 것을 특징으로 영상 부호화 방법.
KR1020140036727A 2014-03-28 2014-03-28 영상의 부호화 방법 및 이를 이용하는 장치 KR20150112470A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140036727A KR20150112470A (ko) 2014-03-28 2014-03-28 영상의 부호화 방법 및 이를 이용하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140036727A KR20150112470A (ko) 2014-03-28 2014-03-28 영상의 부호화 방법 및 이를 이용하는 장치

Publications (1)

Publication Number Publication Date
KR20150112470A true KR20150112470A (ko) 2015-10-07

Family

ID=54343722

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140036727A KR20150112470A (ko) 2014-03-28 2014-03-28 영상의 부호화 방법 및 이를 이용하는 장치

Country Status (1)

Country Link
KR (1) KR20150112470A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020004879A1 (ko) * 2018-06-25 2020-01-02 엘지전자 주식회사 영상 코딩 시스템에서 복수의 주변 블록들을 사용하는 인터 예측에 따른 영상 디코딩 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020004879A1 (ko) * 2018-06-25 2020-01-02 엘지전자 주식회사 영상 코딩 시스템에서 복수의 주변 블록들을 사용하는 인터 예측에 따른 영상 디코딩 방법 및 장치

Similar Documents

Publication Publication Date Title
US11388393B2 (en) Method for encoding video information and method for decoding video information, and apparatus using same
US11917193B2 (en) Inter prediction method and apparatus for same
KR101595419B1 (ko) 영상 부호화/복호화 방법 및 장치
US20130215968A1 (en) Video information encoding method and decoding method
KR101990423B1 (ko) 인터 예측 방법 및 그 장치
KR20140049472A (ko) 영상의 부호화/복호화 방법 및 이를 이용하는 장치
KR20190089835A (ko) 오차 보상을 이용한 영상 부호화/복호화 방법 및 장치
KR20140095607A (ko) 인터 예측 방법 및 그 장치
KR20160085237A (ko) 머지를 기반으로 한 복호화 방법 및 장치
KR20150112470A (ko) 영상의 부호화 방법 및 이를 이용하는 장치

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination