KR102126855B1 - 부호화 모드 결정 방법 및 장치 - Google Patents

부호화 모드 결정 방법 및 장치 Download PDF

Info

Publication number
KR102126855B1
KR102126855B1 KR1020130016448A KR20130016448A KR102126855B1 KR 102126855 B1 KR102126855 B1 KR 102126855B1 KR 1020130016448 A KR1020130016448 A KR 1020130016448A KR 20130016448 A KR20130016448 A KR 20130016448A KR 102126855 B1 KR102126855 B1 KR 102126855B1
Authority
KR
South Korea
Prior art keywords
mode
encoding
block
distortion
coding
Prior art date
Application number
KR1020130016448A
Other languages
English (en)
Other versions
KR20140104064A (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 KR1020130016448A priority Critical patent/KR102126855B1/ko
Publication of KR20140104064A publication Critical patent/KR20140104064A/ko
Application granted granted Critical
Publication of KR102126855B1 publication Critical patent/KR102126855B1/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
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to 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/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/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

부호화 모드 결정 방법 및 장치가 개시된다. 상기 부호화 모드 결정 방법은 현재 부호화 블록(Coding Block; CB)에 후보 부호화 모드로 부호화 시 발생하는 왜곡(distortion)값과 비트량을 예측하여 추정된 추정 율-왜곡(Rate-Distortion; RD) 비용(cost)을 도출하는 단계, 상기 현재 부호화 블록으로부터 도출된 최소 율-왜곡 비용과 상기 추정 율-왜곡 비용을 비교하여, 상기 후보 부호화 모드에 대한 부호화 연산을 생략할지 여부를 판단하는 단계 및 상기 최소 율-왜곡 비용을 기초로 상기 현재 부호화 블록에 대한 최종 부호화 모드를 결정하는 단계를 포함한다.

Description

부호화 모드 결정 방법 및 장치{METHOD AND APPARATUS FOR CODING MODE DECISION}
본 발명은 영상 부호화 및 복호화 기술에 관한 것으로, 보다 구체적으로는 부호화 모드 결정 방법 및 장치에 관한 것이다.
최근 HD(High Definition) 해상도를 가지는 방송 서비스가 국내뿐만 아니라 세계적으로 확대되고 있다. 이에 따라서, 많은 사용자들이 고해상도, 고화질의 영상에 익숙해지고 있으며, 많은 기관들이 차세대 영상기기의 개발에 박차를 가하고 있다. 또한, HDTV와 더불어 HDTV의 4배 이상의 해상도를 갖는 UHD(Ultra High Definition)에 대한 관심이 증대되면서 보다 높은 해상도, 고화질의 영상에 대한 압축 기술이 요구되고 있다.
영상 압축을 위해, 현재 픽처의 픽셀 정보를 예측에 의해 부호화할 수 있다. 예컨대, 시간적으로 이전 및/또는 이후의 픽처로부터 현재 픽처에 포함된 픽셀값을 예측하는 인터(inter) 예측 기술, 현재 픽처 내의 픽셀 정보를 이용하여 현재 픽처에 포함된 픽셀값을 예측하는 인트라(intra) 예측 기술이 적용될 수 있다.
또한, 출현 빈도가 높은 심볼(symbol)에 짧은 부호를 할당하고 출현 빈도가 낮은 심볼에 긴 부호를 할당하는 엔트로피 부호화 기술을 적용하여, 부호화 효율을 높이고 전송되는 정보량을 줄일 수 있다.
본 발명은 영상 부호화 및 복호화 효율을 향상시킬 수 있는 영상 부호화 및복호화 방법 및 장치를 제공한다.
본 발명은 영상의 부호화 및 복호화 효율을 향상시킬 수 있는 부호화 모드 결정 방법 및 장치를 제공한다.
본 발명의 일 양태에 따르면, 부호화 모드 결정 방법이 제공된다. 상기 방법은 현재 부호화 블록(Coding Block; CB)에 후보 부호화 모드로 부호화 시 발생하는 왜곡(distortion)값과 비트량을 예측하여 추정된 추정 율-왜곡(Rate-Distortion; RD) 비용(cost)을 도출하는 단계, 상기 현재 부호화 블록으로부터 도출된 최소 율-왜곡 비용과 상기 추정 율-왜곡 비용을 비교하여, 상기 후보 부호화 모드에 대한 부호화 연산을 생략할지 여부를 판단하는 단계 및 상기 최소 율-왜곡 비용을 기초로 상기 현재 부호화 블록에 대한 최종 부호화 모드를 결정하는 단계를 포함한다.
상기 후보 부호화 모드는 상기 현재 부호화 블록이 가질 수 있는 부호화 모드 중 하나이며, 상기 최소 율-왜곡 비용은 상기 현재 부호화 블록이 가질 수 있는 부호화 모드 중 적어도 하나를 기반으로 상기 현재 부호화 블록의 부호화 시 발생된 최소의 율-왜곡 비용이다.
부호화 블록에서 부호화 모드로 부호화 시 발생하는 왜곡값과 비트량을 예측하여 고속으로 부호화 블록의 최적 부호화 모드를 결정함으로써, 부호화 성능의 손실을 크게 발생시키지 않고 부호화 시간을 단축시킬 수 있다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타낸 블록도이다.
도 3은 쿼드트리(Quadtree) 구조로 분할된 CB(Coding Block)의 일예를 나타내는 도면이다.
도 4는 CB(Coding Block)에 적용되는 부호화 모드의 일예를 나타내는 도면이다.
도 5는 최소의 율-왜곡 비용을 갖는 쿼드트리 기반의 부호화 과정을 개략적으로 나타내는 흐름도이다.
도 6은 CTB에서 최소의 율-왜곡 비용을 갖는 쿼드트리 구조의 일예를 나타내는 도면이다.
도 7은 현재 부호화 대상 CTB, 주변 CTB 및 부호화된 프레임에서 현재 부호화 대상 CTB와 동일한 위치에 있는 CTB를 나타내는 도면이다.
도 8은 본 발명의 실시예에 따른 최적의 부호화 모드를 결정하는 방법을 개략적으로 나타낸 순서도이다.
도 9는 본 발명의 실시예에 따른 최적의 부호화 모드를 결정하는 방법의 일예를 나타낸 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 해당 설명을 생략할 수도 있다.
본 명세서에서 어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있는 것을 의미할 수도 있고, 중간에 다른 구성 요소가 존재하는 것을 의미할 수도 있다. 아울러, 본 명세서에서 특정 구성을 "포함" 한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제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) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 인트라 예측은 화면 내 예측, 인터 예측은 화면 간 예측을 의미한다. 인트라 모드인 경우 스위치(115)가 인트라로 전환되고, 인터 모드인 경우 스위치(115)가 인터로 전환될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분(residual)을 부호화할 수 있다. 이때, 입력 영상은 원 영상(original picture)를 의미할 수 있다.
인트라 모드인 경우, 인트라 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
인터 모드인 경우, 움직임 예측부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터이며, 현재 블록과 참조 영상 내 블록 사이의 오프셋을 나타낼 수 있다.
도 1의 실시예에서, 움직임 예측부(111), 움직임 보상부(112) 및 인트라 예측부(120)는 각각 별개의 구성으로 도시되어 있으나, 본 발명이 이에 한정되는 것은 아니다. 예컨대, 움직임 예측부(111) 및 움직임 보상부(112)는 하나의 인터 예측부를 구성할 수도 있으며, 움직임 예측부(111), 움직임 보상부(112) 및 인트라 예측부(120)는 하나의 예측부를 구성할 수도 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록(residual block)을 생성할 수 있다. 변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수(transform coefficient)를 출력할 수 있다. 그리고 양자화부(140)는 입력된 변환 계수를 양자화 파라미터에 따라 양자화하여 양자화된 계수(quantized coefficient)를 출력할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 또는 부호화 과정에서 산출된 부호화 파라미터 값 등을 기초로 엔트로피 부호화를 수행하여 비트스트림(bit stream)을 출력할 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼(symbol)에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 부호화 대상 심볼들에 대한 비트열의 크기가 감소될 수 있다. 따라서 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 높아질 수 있다. 엔트로피 부호화부(150)는 엔트로피 부호화를 위해 지수-골롬 코드(Exponential-Golomb Code), CAVLC(Context-Adaptive Variable Length Coding), CABAC(Context-Adaptive Binary Arithmetic Coding)과 같은 부호화 방법을 사용할 수 있다.
도 1의 실시예에 따른 영상 부호화 장치는 인터 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화 및 역변환된 계수는 복원된 잔차 블록이 되어 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(180)는 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡 및/또는 블록킹 아티팩트(blocking artifact)를 제거할 수 있다. SAO는 코딩 에러를 보상하기 위해 픽셀값에 적정 오프셋(offset) 값을 더해줄 수 있다. ALF는 복원된 영상과 원래의 영상을 비교한 값을 기초로 필터링을 수행할 수 있다. 필터부(180)를 거친 복원 블록은 참조 영상 버퍼(190)에 저장될 수 있다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타낸 블록도이다.
도 2를 참조하면, 상기 영상 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 움직임 보상부(250), 가산기(255), 필터부(260) 및 참조 영상 버퍼(270)를 포함한다.
영상 복호화 장치(200)는 부호화기에서 출력된 비트스트림을 입력 받아 인트라 모드 또는 인터 모드로 복호화를 수행하고 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 인트라 모드인 경우 스위치가 인트라로 전환되고, 인터 모드인 경우 스위치가 인터로 전환될 수 있다. 영상 복호화 장치(200)는 입력 받은 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 얻고 예측 블록을 생성한 후 복원된 잔차 블록과 예측 블록을 더하여 재구성된 블록, 즉 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는, 입력된 비트스트림을 확률 분포에 따라 엔트로피 복호화하여, 양자화된 계수(quantized coefficient) 형태의 심볼을 포함한 심볼들을 생성할 수 있다. 엔트로피 복호화 방법은 상술한 엔트로피 부호화 방법과 유사하다.
엔트로피 복호화 방법이 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당되고 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당되어 심볼이 표현됨으로써, 각 심볼들에 대한 비트열의 크기가 감소될 수 있다.
양자화된 계수는 역양자화부(220)에서 양자화 파라미터를 이용해서 역양자화되고 역변환부(230)에서 역변환되며, 양자화된 계수가 역양자화/역변환된 결과, 복원된 잔차 블록이 생성될 수 있다.
인트라 모드인 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 복호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 인터 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
도 2의 실시예에서, 인트라 예측부(240) 및 움직임 보상부(250)는 각각 별개의 구성으로 도시되어 있으나, 본 발명이 이에 한정되는 것은 아니다. 예컨대, 인트라 예측부(240) 및 움직임 보상부(250)는 하나의 예측부를 구성할 수도 있다.
복원된 잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.
이하, 블록은 부호화 및 복호화의 단위를 의미한다. 부호화 및/또는 복호화 과정에서, 영상은 소정의 크기로 분할되어 부호화 및/또는 복호화된다. 따라서, 블록은 매크로 블록(MB; Macro Block), 부호화 유닛(CU; Coding Unit), 예측 유닛(PU; Prediction Unit), 변환 유닛(TU; Transform Unit) 등으로 불릴 수도 있으며, 하나의 블록은 더 작은 크기의 하위 블록으로 분할될 수도 있다.
한편, 국제 비디오 압축 표준화 단체인 JCT-VC(Joint Collaborative Team on Video Coding)에서는 AVC/H.264 대비 동일한 화질에서 2배 이상의 부호화 효율 달성을 목표로 HEVC(High Efficiency Video Coding) 비디오 부호화 표준 기술 개발을 진행하고 있다.
HEVC 기술에서는 높은 부호화 성능을 달성하기 위해서 많은 기술들이 추가되었고, 이로 인해 부호화기의 복잡도가 크게 증가하였다. 따라서, HEVC 기술이 시장에서 활용되기 위해서는 부호화기의 복잡도를 감소시키고, 이에 따른 부호화 속도 개선이 필요하다.
전통적인 비디오 부호화기에서는 16x16 크기의 픽셀로 이루어진 매크로 블록을 기반으로 부호화가 이루어졌지만, HEVC 부호화기에서는 CTB(Coding Tree Block)를 기반으로 부호화가 이루어진다. CTB는 64x64, 32x32, 16x16의 크기를 가질 수 있으며, 일반적으로 64x64 크기를 많이 사용하고 있다. 이러한 CTB를 기반으로 쿼드트리 부호화(Quadtree Coding)가 이루어지게 되며, CTB 내에서 쿼드트리 형태로 나누어진 각 블록에 해당하는 CB(Coding Block)를 기반으로 예측 및 변환 부호화가 이루어진다. CB는 64x64, 32x32, 16x16, 8x8의 크기를 가질 수 있으며, CTB 내에서 쿼드트리 구조를 가지면서 율-왜곡(Rate-Distortion; RD) 비용을 최소화시킬 수 있는 형태로 구성된다.
도 3은 쿼드트리(Quadtree) 구조로 분할된 CB(Coding Block)의 일예를 나타내는 도면이다.
CTB를 기반으로 부호화가 이루어질 경우, 최소의 율-왜곡 비용을 갖는 부호화 구조를 찾기 위해서 CTB는 쿼드트리 구조를 기반으로 분할될 수 있다. 쿼드트리 구조는 재귀적인(recursive) 트리 구조로, 하나의 CTB를 루트 노드로 하여 4개의 자식 노드로 분할되며, 분할된 4개의 자식 노드를 부모 노드로 하여 각 부모 노드에 대해 다시 4개의 자식 노드로 분할이 이루어질 수 있다.
예를 들어, YUV 4:2:0 포맷(format)을 가지는 64x64 크기의 CTB에서 Y 성분에 대해 최적의 부호화 구조를 찾는 경우, 도 3에 도시된 바와 같이 64x64 크기의 CTB는 쿼드트리 구조로 분할되어 1개 64x64 크기의 CB(310), 4개 32x32 크기의 CB(320), 16개 16x16 크기의 CB(330), 64개 8x8 크기의 CB(340)로 이루어질 수 있다. 이때, 각 크기의 CB에 대해, CB가 가질 수 있는 부호화 모드로 부호화를 수행하여 최소의 율-왜곡 비용을 갖는 부호화 구조를 찾을 수 있다.
한편, HEVC 기술에서 사용되는 부호화 모드로는 화면간 예측을 수행하는 인터 모드(inter mode)와 화면내 예측을 수행하는 인트라 모드(intra mode)가 있다.
인터 모드에는, 화면간 예측에서 모션 벡터(Motion Vector; MV)와 참조 픽처(reference picture) 값에 대한 후보 인덱스 정보를 부호화 하는 모드인 스킵 모드(skip mode), 화면간 예측에서 모션 벡터와 참조 픽처 값에 대한 후보 인덱스 정보와 잔차(residual) 정보를 부호화 하는 모드인 머지 모드(merge mode)가 있다. 또한, 스킵 모드와 머지 모드 이외에, 화면간 예측에서 모션 벡터와 참조 픽처 값에 대한 정보와 잔차 정보를 부호화하거나, 머지 모드와의 조합으로 구성되는 인터 모드가 있다.
도 4는 CB(Coding Block)에 적용되는 부호화 모드의 일예를 나타내는 도면이다.
도 3에서 상술한 바와 같이, CTB는 쿼드트리 구조로 분할되어 예컨대, 64x64, 32x32, 16x16, 8x8의 크기를 가지는 CB로 구성될 수 있으며, 상기 각 크기의 CB는 스킵(skip) 모드, 머지(merge) 모드, 인터(inter) 모드, 인트라(intra) 모드 중에서 최소의 율-왜곡 비용을 갖는 모드로 부호화될 수 있다. 이때, 상기 각 크기의 CB는 부호화 모드에 따라 파티션(partition)된 블록 모양으로 부호화될 수 있다.
도 4에 도시된 바와 같이, 스킵 모드 또는 머지 모드의 경우, CB는 파티션된 블록 모양 없이 해당 크기에 대해서 스킵 모드 또는 머지 모드로 부호화될 수 있다. 인터 모드의 경우, CB는 최대 8가지의 파티션된 블록 모양으로 부호화될 수 있다. 인트라 모드의 경우, CB는 최대 2가지의 파티션된 블록 모양으로 부호화될 수 있다.
예컨대, 2Nx2N 크기를 갖는 하나의 CB에 대해 최소의 율-왜곡 비용을 갖는 최적의 부호화 모드를 결정하기 위해서는, 2Nx2N 블록 모양의 스킵 모드 또는 머지 모드(410), 2Nx2N 블록 모양의 인터 모드(420), 2NxN 블록 모양의 인터 모드(421), Nx2N 블록 모양의 인터 모드(422), NxN 블록 모양의 인터 모드(423), 2NxnU 블록 모양의 인터 모드(424), 2NxnD 블록 모양의 인터 모드(425), nLx2N 블록 모양의 인터 모드(426), nRx2N 블록 모양의 인터 모드(427), 2Nx2N 블록 모양의 인트라 모드(430), NxN 블록 모양의 인트라 모드(431) 등의 부호화 모드를 적용할 수 있다.
도 5는 최소의 율-왜곡 비용을 갖는 쿼드트리 기반의 부호화 과정을 개략적으로 나타내는 흐름도이다.
CTB 및 CB은 부호화 과정이 진행되면서 CTB 및 CB에 대응하는 신택스(syntax)가 더해지게 되며, CTB에 해당 신택스가 더해진 것을 CTU(Coding Tree Unit)라 하고, CB에 해당 신택스가 더해진 것을 CU(Coding Unit)라 한다.
도 5를 참조하면, 부호화기는 입력 영상에 대해 CTB 기반으로 부호화할 수 있다(S510). 예컨대, 입력 영상은 64x64, 32x32, 16x16의 크기를 가지는 CTB로 분할되어 각 CTB에 대해 최소의 율-왜곡 비용을 갖는 쿼드트리 구조를 찾을 수 있다.
부호화기는 CTB(예를 들어, 64x64 크기의 CTB)를 기반으로 쿼드트리 구조로 분할을 수행하여 예컨대, 도 3에 도시된 바와 같은 64x64, 32x32, 16x16, 8x8의 크기를 가지는 CB를 생성할 수 있다(S520).
부호화기는 CB에 대해 머지 모드, 스킵 모드, 인터 모드 및 인트라 모드를 적용하여 부호화를 수행하고, 각 부호화 모드에서의 율-왜곡 비용을 계산할 수 있다(S530).
예컨대, 도 4에서 상술한 바와 같이, 2Nx2N 크기를 갖는 하나의 CB(또는 CU)에 대해 2Nx2N 블록 모양의 스킵 모드 또는 머지 모드, 2Nx2N 블록 모양의 인터 모드, 2NxN 블록 모양의 인터 모드, Nx2N 블록 모양의 인터 모드, NxN 블록 모양의 인터 모드, 2NxnU 블록 모양의 인터 모드, 2NxnD 블록 모양의 인터 모드, nLx2N 블록 모양의 인터 모드, nRx2N 블록 모양의 인터 모드, 2Nx2N 블록 모양의 인트라 모드, NxN 블록 모양의 인트라 모드를 모두 적용하여 부호화를 수행할 수 있다. 이때, 각 부호화 모드에서의 율-왜곡 비용을 계산하고, 계산된 율-왜곡 비용 값 중 최소값을 갖는 파티션된 블록 모양과 부호화 모드를 해당 CB(또는 CU)의 최적 부호화 모드로 결정할 수 있다.
여기서, 율-왜곡 비용(J)은 아래 수학식 1과 같이 계산될 수 있다.
Figure 112013013843917-pat00001
여기서, D는 원영상과 복원영상 간의 차이에 대한 SSE(Sum of Square Error) 값이고, λ는 라그랑지안(Lagrangian) 상수이고, B는 부호화 시 발생한 비트량을 나타낸다. 라그랑지안 상수 값은 QPI, 슬라이스 타입(slice type), GOP 구조 등의 변수에 의해서 결정될 수 있다.
부호화기는 CB(또는 CU)가 쿼드트리 구조로 분할된 최소 크기의 CB(또는 CU)인지 판단할 수 있다(S540). 예컨대, 상술한 바와 같이, CTB가 쿼드트리 구조로 분할되어 64x64, 32x32, 16x16, 8x8의 크기를 가진 CB로 구성될 수 있으므로, 부호화기는 CB(또는 CU)가 최소 크기인 8x8 CB(또는 CU)인지를 판단할 수 있다.
만일, CB(또는 CU)가 최소 크기의 CB(또는 CU)가 아닌 경우, 부호화기는 해당 CB(또는 CU)에 대해 재귀적으로 쿼드트리 구조로 분할을 수행하고, 각 분할된 CB(또는 CU)를 단계 S530과 같은 방법으로 부호화할 수 있다(S550).
도 6은 CTB에서 최소의 율-왜곡 비용을 갖는 쿼드트리 구조의 일예를 나타내는 도면이다.
예를 들어, 64x64 크기의 CTB가 도 5에서 상술한 바와 같은 쿼드트리 기반의 부호화 과정을 수행하면, 도 6에 도시된 바와 같이 64x64 크기의 CTB 내에서 쿼드트리 구조를 가지면서 율-왜곡 비용을 최소화시킬 수 있는 형태로 도출될 수 있다.
상기와 같이 CTB를 기반으로 최소의 율-왜곡 비용을 갖는 쿼드트리 구조를 찾는 과정은 매우 복잡하며, 이로 인해 부호화기의 복잡도에 상당한 영향을 미치게 된다. 따라서, 이를 해결하기 위해서 다양한 방법들이 제안되고 있다.
도 4에서 상술한 바와 같이, CB에 적용되는 부호화 모드들 중에서 최소의 율-왜곡 비용을 갖는 최적의 부호화 모드를 빨리 찾기 위해서 제안된 방법으로는 HEVC 참조 소프트웨어에 적용되어 있는 JCTVC-F045와 JCTVC-G543가 있다.
JCTVC-F045에서는 CB의 최적 부호화 모드를 결정하기 위한 과정 중에서 인터 예측(inter prediction)이 이루어질 때, Y, U, V의 CBF(Coded Block Flag) 값이 모두 0이면 인터 모드 내 나머지 파티션된 블록 모양에 대한 율-왜곡 비용 계산을 생략하는 방법을 제안하였다. JCTVC-G543에서는 CB의 최적 부호화 모드를 결정하기 위한 과정에 있어서, CB의 크기로 인터 예측 모드(2Nx2N 블록 모양의 인터 모드)를 먼저 수행한 후에 DMV(Differential Motion Vector) 및 CBF가 모두 0이면 다른 모드에 대한 연산은 생략하는 방법을 제안하였다.
이외에도 전통적으로 많이 사용하는 방법으로 율-왜곡 비용 값의 시·공간적 연관성을 이용한 부호화 모드의 조기 결정 방법이 있다. 하지만, 비디오 코딩을 위한 기본 단위가 매크로 블록에서 CTB로 변화되면서 문제가 발생하게 된다.
도 7은 현재 부호화 대상 CTB, 주변 CTB 및 부호화된 프레임에서 현재 부호화 대상 CTB와 동일한 위치에 있는 CTB를 나타내는 도면이다.
도 7을 참조하면, 64x64의 크기를 가지는 현재 부호화 대상 CTB(710)(이하, '현재 CTB'라 함) 내에서 좌상단에 위치한 32x32 크기의 CB(711)의 최적 부호화 모드를 결정하기 위해서, 현재 CTB(710)의 주변에 위치한 주변 CTB(720)를 이용하여 예측하는 경우, 이미 부호화된 주변 CTB(720) 내 좌상단에 위치한 CU의 크기가 32x32 크기가 아닐 가능성이 존재할 수 있다. 또는, 이전에 부호화된 프레임(730) 내에서 현재 CTB(710)와 동일한 위치에 있는 CTB(731)를 이용하여 예측하는 경우에도, 상기 CTB(731) 내 좌상단에 위치한 CU의 크기가 32x32 크기가 아닐 가능성이 존재할 수 있다.
따라서, 최적의 부호화 모드를 결정하기 위해서는 64x64, 32x32, 16x16, 8x8의 크기를 가지는 CB에 대해 모두 부호화를 해보아야 하므로, 이미 부호화가 완료된 64x64 크기의 CTB의 율-왜곡 비용을 이용하여 적절하게 스케일링해서 예측에 사용하는 것이 한가지 방법이 될 수 있다. 하지만, 이로 인해 예측의 정확도를 떨어뜨리게 되고, 결과적으로 BD-bitrate의 손실을 가져오게 된다.
상기와 같은 문제점들을 해결하기 위해서, 본 발명에서는 CTB를 기반으로 최소의 율-왜곡 비용을 갖는 최적의 부호화 모드를 조기에 결정하는 방법을 제공한다.
도 8은 본 발명의 실시예에 따른 최적의 부호화 모드를 결정하는 방법을 개략적으로 나타낸 순서도이다.
도 8을 참조하면, 부호화기는 현재 부호화 블록(Coding Block; CB)에 대한 후보 부호화 모드로 부호화 시 발생하는 왜곡(distortion)값과 비트량을 예측한다(S810). 예컨대, 64x64 크기의 CTB를 부호화하는 경우, 도 3에서 상술한 바와 같이 64x64 크기의 CTB가 쿼드트리 구조로 분할되어 1개 64x64 크기의 CB, 4개 32x32 크기의 CB, 16개 16x16 크기의 CB, 64개 8x8 크기의 CB로 이루어질 수 있다. 이때, 각 CB에 대해 최소의 율-왜곡 비용을 갖는 부호화 모드를 결정하며, 이를 위해 각 CB에 대해 단계 S810 ~ 단계 S840까지 수행될 수 있다.
후보 부호화 모드는 현재 부호화 블록이 가질 수 있는 부호화 모드 중 하나이며, 현재 부호화 블록이 가질 수 있는 부호화 모드는 스킵 모드, 머지 모드, 인터 모드 및 인트라 모드 중 적어도 하나일 수 있다. 예컨대, 도 4에서 상술한 바와 같이, 2Nx2N 블록 모양의 스킵 모드 또는 머지 모드, 2Nx2N 블록 모양의 인터 모드, 2NxN 블록 모양의 인터 모드, Nx2N 블록 모양의 인터 모드, NxN 블록 모양의 인터 모드, 2NxnU 블록 모양의 인터 모드, 2NxnD 블록 모양의 인터 모드, nLx2N 블록 모양의 인터 모드, nRx2N 블록 모양의 인터 모드, 2Nx2N 블록 모양의 인트라 모드, NxN 블록 모양의 인트라 모드 중 적어도 하나일 수 있다.
현재 부호화 블록에 대한 후보 부호화 모드로 부호화될 때 예측되는 왜곡값(Dpred)은 아래 수학식 2와 같이 도출될 수 있다.
Figure 112013013843917-pat00002
여기서, D-1은 직전에 부호화된 화면에서 현재 부호화 블록이 포함된 CTU와 동일한 위치에 존재하는 CTU의 왜곡값이다.
상기 수학식 2에 따르면, 현재 부호화 블록의 왜곡값(Dpred)은 직전에 부호화된 화면에서 현재 부호화 블록과 대응되는 CTU가 가지는 왜곡값(D-1)을 현재 부호화 블록의 크기를 고려하여 스케일링하는 방법으로 예측될 수 있다.
현재 부호화 블록에 대한 후보 부호화 모드로 부호화될 때 예측되는 비트량(Bpred)은 통계적으로 추정된 값을 사용할 수 있다. 예를 들어, 416x240 해상도의 RaceHorses 영상 9장을 부호화하여 QPI와 CU의 크기별로 발생한 비트량에 대한 통계를 이용할 수 있다. 표 1은 416x240 해상도의 RaceHorses 영상에 대해 인터 모드 및 머지 모드로 부호화한 경우 발생한 비트량에 대한 통계를 나타낸 것이고, 표 2는 416x240 해상도의 RaceHorses 영상에 대해 인트라 모드로 부호화한 경우 발생한 비트량에 대한 통계를 나타낸 것이다. 아래 표 1 및 표 2를 참조하면, 거의 99% 이상 5비트 이상의 비트량이 발생되었다. 따라서, 현재 부호화 블록에 대한 후보 부호화 모드로 부호화될 때 예측되는 비트량(Bpred)은 5비트 이상의 값을 사용할 수 있다.
Figure 112013013843917-pat00003
Figure 112013013843917-pat00004
부호화기는 현재 부호화 블록이 후보 부호화 모드로 부호화될 때 예측된 왜곡값과 비트량을 기반으로 추정 율-왜곡 비용을 도출한다(S820). 추정 율-왜곡 비용(Jpred)은 아래 수학식 3과 같이 도출될 수 있다.
Figure 112013013843917-pat00005
여기서, Dpred는 현재 부호화 블록이 후보 부호화 모드로 부호화될 때 예측된 왜곡값이고, Bpred는 현재 부호화 블록이 후보 부호화 모드로 부호화될 때 예측된 비트량이고, λ는 현재 부호화 블록이 가지는 라그랑지안(Lagrangian) 상수이다. 라그랑지안 상수 값은 QPI, 슬라이스 타입, GOP 구조 등의 변수에 의해서 결정될 수 있다.
부호화기는 현재 부호화 블록으로부터 현재까지 도출된 최소 율-왜곡 비용과 추정 율-왜곡 비용을 비교하고, 비교 결과에 따라 후보 부호화 모드에 대한 부호화 연산을 생략할지 여부를 판단한다(S830). 최소 율-왜곡 비용은 현재 부호화 블록이 가질 수 있는 부호화 모드 중 현재까지 후보 부호화 모드로 선택된 적어도 하나의 모드로부터 도출된 최소의 율-왜곡 비용 값일 수 있다.
예를 들어, 추정 율-왜곡 비용이 현재까지 도출된 최소 율-왜곡 비용을 초과하는 경우, 해당 후보 부호화 모드에 대한 부호화 연산을 생략할 수 있다. 그렇지 않은 경우, 해당 후보 부호화 모드로 부호화될 때 발생되는 율-왜곡 비용을 도출할 수 있다. 이때, 율-왜곡 비용은 상술한 수학식 1과 같은 방법으로 도출될 수 있다. 그리고 상기 도출된 율-왜곡 비용을 현재까지 도출된 최소 율-왜곡 비용과 비교하여, 그 비교 결과에 따라 최소 율-왜곡 비용을 갱신할 수도 있다.
부호화기는 최소 율-왜곡 비용을 근거로 현재 부호화 블록에 대한 최종 부호화 모드를 결정한다(S840). 즉, 부호화기는 현재 부호화 블록이 가질 수 있는 부호화 모드에 대해 차례로 후보 부호화 모드로 선택하여 단계 S810 ~ 단계 S830까지 수행하여 도출된 최종 율-왜곡 비용을 기반으로 현재 부호화 블록에 대한 최적의 부호화 모드를 결정할 수 있다.
아래 표 3은 상기 표 1 및 표 2의 통계 결과를 활용하여, 상술한 본 발명에 따른 왜곡값(Dpred)과 비트량(Bpred)을 예측하여 고속으로 부호화 모드를 결정한 경우에 대한 실험 결과를 나타낸다.
Figure 112013013843917-pat00006
표 3을 참조하면, Class B 및 Class C는 HEVC 표준화에서 사용되는 테스트 영상으로, Class B는 1920x1080 해상도를 가지는 영상 5개로 구성되어 있고 Class C는 832x480 해상도를 가지는 영상 4개로 구성되어 있다. 상기 표 3에 도시된 실험 결과는 Random Access main configuration으로 100 프레임을 부호화 했을 경우를 나타낸다. Bpred는 현재 부호화 블록에서의 QP, CB의 크기, 예측 모드, GOP 구조 등을 고려하여 적절하게 조정하여 사용될 수 있다. △Enc T는 아래 수학식 4로 계산되는 값일 수 있다.
Figure 112013013843917-pat00007
여기서, T1은 상술한 본 발명의 실시예에 따른 최적의 부호화 모드를 결정하는 방법에 따라 부호화한 경우 소요된 시간이고, T2는 상술한 본 발명의 실시예에 따른 최적의 부호화 모드를 결정하는 방법을 사용하지 않고 기존의 방법을 사용하여 부호화한 경우 소요된 시간이다. 예를 들어, 기존 방법은 참조 소프트웨어의 기본 환경 설정(configuration)일 수 있으며, 이를 사용하여 부호화 하는데 소요된 시간을 T2로 결정할 수 있다.
상기 표 3에 도시된 실험 결과로 확인할 수 있듯이, 본 발명에 따른 최적의 부호화 모드 결정 방법을 사용하면 부호화기의 부호화 성능 손실이 크게 발생하지 않으며, 부호화 시간을 상당히 단축시킬 수 있다.
아래 표 4는 기존의 최적 부호화 모드 결정 방법(JCTVC-F045와 JCTVC-G543)에 대한 실험 결과를 나타낸다.
Figure 112013013843917-pat00008
상기 표 3과 상기 표 4를 비교해 보면, 본 발명에서 제안된 최적 부호화 모드 결정 방법이 부호화 성능 저하가 적으면서도 부호화 속도는 더 빠르다는 것을 확인할 수 있다.
도 9는 본 발명의 실시예에 따른 최적의 부호화 모드를 결정하는 방법의 일예를 나타낸 도면이다.
현재 부호화 블록(Coding Block; CB)이 가질 수 있는 부호화 모드가 도 4에서 상술한 바와 같이, 2Nx2N 블록 모양의 스킵 모드, 2Nx2N 블록 모양의 머지 모드, 2Nx2N 블록 모양의 인터 모드, 2NxN 블록 모양의 인터 모드, Nx2N 블록 모양의 인터 모드, NxN 블록 모양의 인터 모드, 2NxnU 블록 모양의 인터 모드, 2NxnD 블록 모양의 인터 모드, nLx2N 블록 모양의 인터 모드, nRx2N 블록 모양의 인터 모드, 2Nx2N 블록 모양의 인트라 모드, NxN 블록 모양의 인트라 모드라고 가정한다.
도 9를 참조하면, 부호화기는 현재 부호화 블록이 가질 수 있는 부호화 모드 중 하나를 선택한다(S910). 상기 선택된 부호화 모드를 후보 부호화 모드라 한다.
여기서, x는 현재 부호화 블록이 가질 수 있는 부호화 모드에 대한 인덱스 값일 수 있고, M(x)는 상기 인덱스 값에 해당하는 부호화 모드를 의미할 수 있다. 각 인덱스 값에 따른 부호화 모드는 아래와 같을 수 있다.
x가 1일 경우, 부호화 모드는 2Nx2N 블록 모양의 스킵 모드일 수 있다.
x가 2일 경우, 부호화 모드는 2Nx2N 블록 모양의 머지 모드일 수 있다.
x가 3일 경우, 부호화 모드는 2Nx2N 블록 모양의 인터 모드일 수 있다.
x가 4일 경우, 부호화 모드는 2NxN 블록 모양의 인터 모드일 수 있다.
x가 5일 경우, 부호화 모드는 Nx2N 블록 모양의 인터 모드일 수 있다.
x가 6일 경우, 부호화 모드는 NxN 블록 모양의 인터 모드일 수 있다.
x가 7일 경우, 부호화 모드는 2NxnU 블록 모양의 인터 모드일 수 있다.
x가 8일 경우, 부호화 모드는 2NxnD 블록 모양의 인터 모드일 수 있다.
x가 9일 경우, 부호화 모드는 nLx2N 블록 모양의 인터 모드일 수 있다.
x가 10일 경우, 부호화 모드는 nRx2N 블록 모양의 인터 모드일 수 있다.
x가 11일 경우, 부호화 모드는 2Nx2N 블록 모양의 인트라 모드일 수 있다.
x가 12일 경우, 부호화 모드는 NxN 블록 모양의 인트라 모드일 수 있다.
예컨대, 부호화기는 먼저 현재 부호화 블록이 가질 수 있는 부호화 모드 중인덱스 값(x)이 1인 부호화 모드부터 후보 부호화 모드로 선택할 수 있다.
부호화기는 선택된 후보 부호화 모드로 현재 부호화 블록에 대한 부호화를 수행하여 율-왜곡 비용을 계산한다(S920).
이때, 부호화기는 현재 부호화 블록이 가질 수 있는 부호화 모드에 대한 인덱스 값(x)이 1인지를 판단하고(S930), 상기 인덱스 값(x)이 1이면 인덱스 값(x)이 1인 부호화 모드로 부호화 되었을 때 발생한 율-왜곡 비용(J(x))을 최소 율-왜곡 비용(Jbest)로 결정할 수 있다(S940). 이러한 과정은 최소 율-왜곡 비용의 초기값을 설정하는 과정일 수 있다.
상기 인덱스 값(x)이 1이 아니면 단계 S920에서 계산된 후보 부호화 모드에 대한 율-왜곡 비용(J(x))과 최소 율-왜곡 비용(Jbest)을 비교한다(S950). 즉, 이전에 선택된 후보 부호화 모드를 기반으로 도출된 최소 율-왜곡 비용(Jbest)과 현재 후보 부호화 모드로부터 도출된 율-왜곡 비용(J(x))을 비교한다.
만일, 후보 부호화 모드에 대한 율-왜곡 비용(J(x))이 현재까지 도출된 최소 율-왜곡 비용(Jbest)보다 작으면, 최소 율-왜곡 비용(Jbest)을 상기 후보 부호화 모드에 대한 율-왜곡 비용(J(x))으로 갱신한다(S940). 그렇지 않으면, 다음 단계를 수행한다.
부호화기는 현재 부호화 블록이 가질 수 있는 부호화 모드에 대한 부호화 연산을 모두 수행하였는지 여부를 판단한다(S960).
만일, 현재 부호화 블록이 가질 수 있는 부호화 모드에 대한 부호화 연산을 모두 수행하지 않은 경우, 현재 부호화 블록이 가질 수 있는 부호화 모드 중 현재까지 후보 부호화 모드로 선택되지 않은 부호화 모드를 하나 선택한다(S970). 상기 단계 S970에서 선택된 부호화 모드를 후보 부호화 모드로 재설정할 수 있다.
이때, 부호화기는 단계 S970에 의해 선택된 후보 부호화 모드로 현재 부호화 블록을 부호화할 때 발생하는 왜곡값(Dpred(x))과 비트량(Bpred(x))을 예측하여 추정 율-왜곡 비용을 도출하고, 도출된 추정 율-왜곡 비용과 최소 율-왜곡 비용(Jbest)을 비교한다(S980).
여기서, 현재 부호화 블록에 대해 후보 부호화 모드로 부호화될 때 예측되는 왜곡값(Dpred(x))은 상술한 수학식 2와 같이 추정될 수 있고, 현재 부호화 블록에 대해 후보 부호화 모드로 부호화될 때 예측되는 비트량(Bpred(x))은 상술한 바와 같이 통계적으로 추정된 값을 사용할 수 있다. 추정 율-왜곡 비용은 상술한 수학식 3과 같이 계산될 수 있다.
만일, 추정 율-왜곡 비용이 최소 율-왜곡 비용(Jbest)보다 큰 경우, 단계 S970에 의해 선택된 후보 부호화 모드에 대한 부호화 연산을 생략할 수 있으며, 단계 S960을 수행할 수 있다.
반면, 추정 율-왜곡 비용이 최소 율-왜곡 비용(Jbest)보다 작거나 같은 경우, 후보 부호화 모드에 대한 부호화 연산을 수행하는 과정(단계 S920 ~ 단계 S980)을 반복 수행한다.
한편, 현재 부호화 블록이 가질 수 있는 부호화 모드에 대한 부호화 연산을 모두 수행한 경우, 부호화기는 최소 율-왜곡 비용을 기초로 현재 부호화 블록에 대한 최종 부호화 모드를 도출하고 상기 과정을 종료한다.
상술한 실시예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호범위는 특허청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (10)

  1. 현재 부호화 블록(Coding Block; CB)에 후보 부호화 모드로 부호화 시 발생하는 왜곡(distortion)값과 비트량을 예측하여 추정된 추정 율-왜곡(Rate-Distortion; RD) 비용(cost)을 도출하는 단계;
    상기 현재 부호화 블록으로부터 도출된 최소 율-왜곡 비용과 상기 추정 율-왜곡 비용을 비교하여, 상기 후보 부호화 모드에 대한 부호화 연산을 생략할지 여부를 판단하는 단계; 및
    상기 최소 율-왜곡 비용을 기초로 상기 현재 부호화 블록에 대한 최종 부호화 모드를 결정하는 단계를 포함하며,
    상기 후보 부호화 모드는 상기 현재 부호화 블록이 가질 수 있는 부호화 모드 중 하나이며, 상기 최소 율-왜곡 비용은 상기 후보 부호화 모드를 이용하여 상기 현재 부호화 블록의 부호화를 수행함으로써 계산된 현재까지의 율-왜곡 비용 중 최소값인 것을 특징으로 하는 부호화 모드 결정 방법.
  2. 제1항에 있어서,
    상기 현재 부호화 블록이 가질 수 있는 부호화 모드는,
    스킵 모드, 머지 모드, 인터 모드 및 인트라 모드 중 적어도 하나인 것을 특징으로 하는 부호화 모드 결정 방법.
  3. 제1항에 있어서,
    상기 왜곡값은, 현재 부호화 블록의 이전에 부호화된 화면에서 현재 부호화 블록에 대응되는 부호화 트리 유닛(Coding Tree Unit; CTU)이 가지는 왜곡값을 현재 부호화 블록의 크기를 고려하여 스케일링 함으로써 예측되는 것을 특징으로 하는 부호화 모드 결정 방법.
  4. 제1항에 있어서,
    상기 비트량은, QPI 값 및 부호화 유닛(Coding Unit, CU) 크기 중 적어도 하나에 기초하여 유도되는 것을 특징으로 하는 부호화 모드 결정 방법.
  5. 제1항에 있어서,
    상기 후보 부호화 모드에 대한 부호화 연산을 생략할지 여부를 판단하는 단계는,
    상기 추정 율-왜곡 비용이 상기 최소 율-왜곡 비용보다 크면 상기 후보 부호화 모드에 대한 부호화 연산을 생략하는 단계; 및
    상기 추정 율-왜곡 비용이 상기 최소 율-왜곡 비용보다 작으면 상기 후보 부호화 모드에 대한 부호화 연산을 수행하는 단계를 포함하는 부호화 모드 결정 방법.
  6. 부호화 모드 결정 장치에 있어서,
    상기 부호화 모드 결정 장치는,
    현재 부호화 블록(Coding Block; CB)에 후보 부호화 모드로 부호화 시 발생하는 왜곡(distortion)값과 비트량을 예측하여 추정된 추정 율-왜곡(Rate-Distortion; RD) 비용(cost)을 도출하고, 상기 현재 부호화 블록으로부터 도출된 최소 율-왜곡 비용과 상기 추정 율-왜곡 비용을 비교하여, 상기 후보 부호화 모드에 대한 부호화 연산을 생략할지 여부를 판단하고, 상기 최소 율-왜곡 비용을 기초로 상기 현재 부호화 블록에 대한 최종 부호화 모드를 결정하며,
    상기 후보 부호화 모드는 상기 현재 부호화 블록이 가질 수 있는 부호화 모드 중 하나이며, 상기 최소 율-왜곡 비용은 상기 후보 부호화 모드를 이용하여 상기 현재 부호화 블록의 부호화를 수행함으로써 계산된 현재까지의 율-왜곡 비용 중 최소값인 것을 특징으로 하는 부호화 모드 결정 장치.
  7. 제6항에 있어서,
    상기 현재 부호화 블록이 가질 수 있는 부호화 모드는,
    스킵 모드, 머지 모드, 인터 모드 및 인트라 모드 중 적어도 하나인 것을 특징으로 하는 부호화 모드 결정 장치.
  8. 제6항에 있어서,
    상기 왜곡값은, 현재 부호화 블록의 이전에 부호화된 화면에서 현재 부호화 블록에 대응되는 부호화 트리 유닛(Coding Tree Unit; CTU)이 가지는 왜곡값을 현재 부호화 블록의 크기를 고려하여 스케일링 함으로써 예측되는 것을 특징으로 하는 부호화 모드 결정 장치.
  9. 제6항에 있어서,
    상기 비트량은, QPI 값 및 부호화 유닛(Coding Unit, CU) 크기 중 적어도 하나에 기초하여 유도되는 것을 특징으로 하는 부호화 모드 결정 장치.
  10. 제6항에 있어서,
    상기 부호화 모드 결정 장치는,
    상기 추정 율-왜곡 비용이 상기 최소 율-왜곡 비용보다 크면 상기 후보 부호화 모드에 대한 부호화 연산을 생략하고, 상기 추정 율-왜곡 비용이 상기 최소 율-왜곡 비용보다 작으면 상기 후보 부호화 모드에 대한 부호화 연산을 수행하는, 부호화 모드 결정 장치.
KR1020130016448A 2013-02-15 2013-02-15 부호화 모드 결정 방법 및 장치 KR102126855B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130016448A KR102126855B1 (ko) 2013-02-15 2013-02-15 부호화 모드 결정 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130016448A KR102126855B1 (ko) 2013-02-15 2013-02-15 부호화 모드 결정 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20140104064A KR20140104064A (ko) 2014-08-28
KR102126855B1 true KR102126855B1 (ko) 2020-06-26

Family

ID=51748031

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130016448A KR102126855B1 (ko) 2013-02-15 2013-02-15 부호화 모드 결정 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102126855B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101517182B1 (ko) * 2013-10-30 2015-05-04 인하대학교 산학협력단 고효율 비디오 코딩에서 인터 예측을 위한 흥미도 기반 바이패스 코딩 방법
KR101790671B1 (ko) * 2016-01-05 2017-11-20 한국전자통신연구원 하다마드-양자화 비용에 기반하여 율-왜곡 최적화를 수행하는 장치 및 방법
KR102285739B1 (ko) 2017-11-09 2021-08-04 삼성전자주식회사 움직임 벡터 해상도에 기초하여 영상을 부호화하는 장치 및 방법, 및 복호화 장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101166732B1 (ko) * 2007-05-04 2012-07-19 퀄컴 인코포레이티드 추정된 코딩 비용을 이용하는 비디오 코딩 모드 선택
KR101359496B1 (ko) * 2008-08-06 2014-02-11 에스케이 텔레콤주식회사 부호화 모드 결정 방법 및 장치와 그를 이용한 영상 부호화장치
KR101831311B1 (ko) * 2010-12-31 2018-02-23 한국전자통신연구원 영상 정보 부호화 방법 및 복호화 방법과 이를 이용한 장치

Also Published As

Publication number Publication date
KR20140104064A (ko) 2014-08-28

Similar Documents

Publication Publication Date Title
KR102288286B1 (ko) 인트라 예측 방법 및 그 장치
US11683475B2 (en) Method and apparatus for image encoding/decoding
US11107253B2 (en) Image processing method, and image decoding and encoding method using same
KR102424418B1 (ko) 비디오 신호 처리 방법 및 장치
US12101470B2 (en) Method and apparatus for image encoding/decoding
KR101530782B1 (ko) 영상 부호화 및 복호화 방법, 장치 및 시스템
KR20230114253A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한기록 매체
KR102412934B1 (ko) 인트라 예측 방법 및 그 장치
KR101530774B1 (ko) 영상 부호화 및 복호화 방법, 장치 및 시스템
US20220345703A1 (en) Image encoding method/device, image decoding method/device and recording medium having bitstream stored therein
KR20200039591A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20150048637A (ko) 색 성분 간 예측 방법 및 장치
KR102378803B1 (ko) 비디오 신호의 복호화 방법 및 이의 장치
KR20210035062A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR102126855B1 (ko) 부호화 모드 결정 방법 및 장치
CN111052741A (zh) 基于有效传送的差分量化参数的影像编码/解码方法及装置
KR20230161389A (ko) 디블록킹 필터링의 경계 필터링 강도 결정 방법 및 장치
KR20170132038A (ko) 영상 처리를 위한 블록 기반 적응적 루프 필터링 방법, 그를 이용한 영상 부호화 및 복호화 방법
KR20140005098A (ko) 영상 부호화/복호화 방법 및 장치
KR102718160B1 (ko) 화면내 예측 모드 부호화/복호화 방법 및 장치
US20230328250A1 (en) Method for processing image providing improved arithmetic encoding, method for decoding and encoding image using same, and apparatus for same
KR20150093969A (ko) 영상의 고속 부호화를 위한 방법 및 이를 이용한 장치
KR20160110589A (ko) Hevc 고속 부호화 모드 결정을 위한 적응적 부호화 모드 순서 정렬 방법 및 장치
KR102183366B1 (ko) 부호화 모드 결정 방법 및 그 장치
KR20170021677A (ko) 영상 부호화 장치 및 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right