KR20140120397A - 움직임 복잡도를 이용한 예측 유닛 모드 결정 방법 - Google Patents

움직임 복잡도를 이용한 예측 유닛 모드 결정 방법 Download PDF

Info

Publication number
KR20140120397A
KR20140120397A KR1020130034743A KR20130034743A KR20140120397A KR 20140120397 A KR20140120397 A KR 20140120397A KR 1020130034743 A KR1020130034743 A KR 1020130034743A KR 20130034743 A KR20130034743 A KR 20130034743A KR 20140120397 A KR20140120397 A KR 20140120397A
Authority
KR
South Korea
Prior art keywords
block
unit
mode
prediction
coding
Prior art date
Application number
KR1020130034743A
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 KR1020130034743A priority Critical patent/KR20140120397A/ko
Publication of KR20140120397A publication Critical patent/KR20140120397A/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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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

본 발명은 움직임 복잡도를 이용한 예측 유닛 모드 결정 방법 및 이를 이용한 장치에 대한 것으로, 예측 유닛 모드 결정 방법은 현재 블록과 주변 블록 간의 코딩 유닛 모드의 상관성(Correlation)을 계산하는 단계와, 상기 현재 블록과 시간적 상관성을 갖는 주변 블록 간의 시간적 거리에 따라 상기 주변 블록에 대한 동적 가중치를 설정하는 단계와, 상기 주변 블록의 상기 상관성 및 상기 동적 가중치에 따른 블록 모드 복잡도(Block Mode Complexity, BMC)를 계산하는 단계와, 상기 주변 블록의 상기 블록 모드 복잡도를 이용하여 상기 주변 블록의 화면간 부호화 과정을 수행할 블록 모드를 결정하는 단계를 포함할 수 있다. 이에 의해, 움직임 복잡도를 이용하여 예측 유닛 모드를 신속하게 결정할 수 있는 영상의 부호화 방법 및 부호화 장치가 제공된다.

Description

움직임 복잡도를 이용한 예측 유닛 모드 결정 방법{Prediction unit mode determining method using Block Mode Complexity}
본 발명은 영상 부호화 방법 및 이를 이용한 장치에 관한 것으로서, 더 구체적으로는 움직임 복잡도를 이용한 PU 모드 결정 방법 및 이를 이용한 장치에 관한 것이다.
최근 HD(High Definition) 영상 및 UHD(Ultra High Definition) 영상과 같은 고해상도, 고품질의 영상에 대한 수요가 다양한 응용 분야에서 증가하고 있다. 영상 데이터가 고해상도, 고품질이 될수록 기존의 영상 데이터에 비해 상대적으로 데이터량이 증가하기 때문에 기존의 유무선 광대역 회선과 같은 매체를 이용하여 영상 데이터를 전송하거나 기존의 저장 매체를 이용해 저장하는 경우, 전송 비용과 저장 비용이 증가하게 된다. 영상 데이터가 고해상도, 고품질화 됨에 따라 발생하는 이러한 문제들을 해결하기 위해서는 고효율의 영상 압축 기술들이 활용될 수 있다.
영상 압축 기술로 현재 픽쳐의 이전 또는 이후 픽쳐로부터 현재 픽쳐에 포함된 화소값을 예측하는 화면 간 예측 기술, 현재 픽쳐 내의 화소 정보를 이용하여 현재 픽쳐에 포함된 화소값을 예측하는 화면 내 예측 기술, 출현 빈도가 높은 값에 짧은 부호를 할당하고 출현 빈도가 낮은 값에 긴 부호를 할당하는 엔트로피 부호화 기술 등 다양한 기술이 존재하고 이러한 영상 압축 기술을 이용해 영상 데이터를 효과적으로 압축하여 전송 또는 저장할 수 있다.
본 발명의 일 실시예는 예측 유닛 모드를 신속하게 결정할 수 있는 영상의 부호화 방법을 제공하는 것을 목적으로 한다.
본 발명의 일 실시예는 움직임 복잡도를 이용하여 예측 유닛 모드를 결정할 수 있는 영상의 부호화 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명의 일 실시예는 예측 유닛 모드 결정 시 연산량을 감소시킬 수 있는 영상의 부호화 방법을 제공하는 것을 목적으로 한다.
또한, 본 발명의 일 실시예는 불필요한 예측 모드 계산을 감소시킬 수 있는 영상의 부호화 방법을 제공하는 것을 목적으로 한다.
본 발명의 일 실시형태는 예측 유닛 모드 결정 방법은 현재 블록과 주변 블록 간의 코딩 유닛 모드의 상관성(Correlation)을 계산하는 단계와, 상기 현재 블록과 시간적 상관성을 갖는 주변 블록 간의 시간적 거리에 따라 상기 주변 블록에 대한 동적 가중치를 설정하는 단계와, 상기 주변 블록의 상기 상관성 및 상기 동적 가중치에 따른 블록 모드 복잡도(Block Mode Complexity, BMC)를 계산하는 단계와, 상기 주변 블록의 상기 블록 모드 복잡도를 이용하여 상기 주변 블록의 화면간 부호화 과정을 수행할 블록 모드를 결정하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 예측 유닛 모드를 신속하게 결정할 수 있는 영상의 부호화 방법이 제공된다. 이로써, 복잡도를 감소시킬 수 있다.
본 발명의 일 실시예에 따르면 움직임 복잡도를 이용하여 예측 유닛 모드를 신속하게 결정할 수 있는 영상의 부호화 방법이 제공된다.
또한, 본 발명의 일 실시예에 따르면 예측 유닛 모드 결정 시 연산량을 감소시킬 수 있는 영상의 부호화 방법이 제공된다.
또한, 본 발명의 일 실시예에 따르면 불필요한 예측 모드 계산을 감소시킬 수 있는 영상의 부호화 방법이 제공된다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 영상 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 하나의 유닛이 복수의 하위 유닛으로 분할되는 실시예를 개략적으로 나타내는 개념도이다.
도 4는 본 발명에 따라 코딩 유닛이 포함할 수 있는 예측 유닛의 형태를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따라 영상의 부호화 과정에서 예측 유닛 모드를결정하는 방법을 설명하기 위한 제어 흐름도이다.
도 6는 본 발명의 일 실시예에 따라 현재 블록과 관련성이 높은 주변 블록을 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따라 현재 블록에서 적용될 예측 유닛 모드의 결정 방법을 설명하기 위한 제어 흐름도이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 구체적으로 설명한다. 본 명세서의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 해당 설명을 생략할 수도 있다.
본 명세서에서 어떤 구성 요소가 다른 구성 요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있는 것을 의미할 수도 있고, 중간에 다른 구성 요소가 존재하는 것을 의미할 수도 있다. 아울러, 본 명세서에서 특정 구성을 “포함”한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 발명의 실시 또는 본 발명의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1, 제2 등의 용어는 다양한 구성들을 설명하는데 사용될 수 있지만, 상기 구성들은 상기 용어에 의해 한정되지 않는다. 상기 용어들은 하나의 구성을 다른 구성으로부터 구별하는 목적으로 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성은 제2 구성으로 명명될 수 있고, 유사하게 제2 구성도 제1 구성으로 명명될 수 있다.
또한 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성 단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 하나의 구성부를 이루거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있다. 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리 범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
우선, 설명의 편의를 도모하고 발명을 이해를 돕기 위해, 본 명세서에서 사용되는 용어들에 대하여 간략하게 설명한다.
유닛(unit)은 영상 부호화 및 복호화의 단위를 의미한다. 다시 말하면, 영상 부호화/복호화에 있어서 부호화 단위 혹은 복호화 단위라 함은, 하나의 영상을 세분화된 유닛으로 분할하여 부호화 혹은 복호화 할 때 그 분할된 단위를 말한다. 블록(block), 매크로 블록, 부호화 유닛(coding unit) 또는 예측 유닛(prediction unit) 또는 변환 유닛(transform unit) 또는 부호화 블록(coding block) 또는 예측 블록(prediction block) 또는 변환 블록(transform block) 등으로 부를 수 있다. 하나의 유닛은 크기가 더 작은 하위 유닛으로 분할될 수 있다.
변환 유닛(transform unit)은 변환, 역변환, 양자화, 역양자화, 변환 계수 부호화/복호화와 같이 잔차 블록(residual block)의 부호화/복호화를 수행함에 있어 기본 유닛 혹은 단위 유닛이며, 하나의 변환 유닛은 분할되어 크기가 다수의 작은 변환 유닛으로 분할될 수 있다. 또한, 변환 블록과 동일한 의미로 사용될 수 있으며, 휘도와 색차 신호에 대한 변환 블록에 관련된 구문 요소(syntax element)가 포함된 형태를 변환 유닛이라 지칭할 수도 있다.
양자화 행렬(quantization matrix)은 영상의 주관적 화질 혹은 객관적 화질을 향상시키기 위해서 양자화 혹은 역양자화 과정에서 이용되는 행렬을 의미한다. 양자화 행렬은 스케일링 리스트(scaling list)라고도 불린다.
양자화/역양자화에 사용되는 양자화 행렬은 비트스트림(bitstream)으로 전송될 수도 있고, 영상 부호화 장치 및/혹은 영상 복호화 장치가 이미 보유한 기본 행렬(default matrix)이 사용될 수도 있다. 전송되는 양자화 행렬의 정보는 시퀀스 파라미터 세트(SPS: sequence parameter set) 또는 픽처 파라미터 세트(PPS: picture parameter set)을 통해 양자화 행렬의 크기 혹은 양자화 행렬이 적용되는 변환 블록 크기 별로 일괄 전송될 수 있다. 예컨대, 예컨대, 4x4 변환 블록을 위한 4x4 양자화 행렬들이 전송되고, 8x8 변환 블록을 위한 8x8 행렬들이 전송되고, 16x16 변환 블록을 위한 16x16 행렬들이 전송되고, 32x32 변환 블록을 위한 32x32 행렬들이 전송될 수 있다.
현재 블록에 적용되는 양자화 행렬은 (1) 동일한 크기의 양자화 행렬을 복사하여 획득될 수도 있고, (2) 양자화 행렬 내 이전 행렬 계수(matrix coefficient)로부터 예측에 의해 생성될 수도 있다. 동일한 크기의 행렬은 이전에 부호화 혹은 복호화 혹은 사용된 양자화 행렬일 수도 있고, 참조 양자화 행렬일 수도 있으며 기본 양자화 행렬일 수도 있다. 혹은 이전에 부호화 혹은 복호화 혹은 사용된 양자화 행렬, 참조 양자화 행렬, 기본 양자화 행렬 중 적어도 둘을 포함하는 조합으로부터 선택적으로 결정될 수도 있다.
파라미터 세트(parameter set)는 비트스트림 내의 구조 중 헤더 정보에 해당하며, 시퀀스 파라미터 세트, 픽처 파라미터 세트, 적응 파라미터 세트(adaptation parameter set) 등을 통칭하는 의미를 가진다.
양자화 매개변수(quantization parameter)는 양자화 및 역양자화에서 사용되는 값으로서, 양자화 매개변수는 양자화 스텝 크기(step size)에 매핑된 값일 수 있다.
기본 행렬은 영상 부호화 장치 및/혹은 영상 복호화 장치에서 미리 정의되어 있는 소정의 양자화 행렬을 의미할 수 있으며, 본 명세서에서 후술될 기본 양자화 행렬은 기본 행렬과 동일한 의미로 사용될 수 있다. 비-기본 행렬(non-default matrix)은 영상 부호화 장치 및/혹은 영상 복호화 장치에서 미리 정의되지 않고, 영상 부호화 장치에서 영상 복호화 장치로 전송되는 즉, 사용자에 의해서 전송/수신되는 양자화 행렬을 의미할 수 있으며, 본 명세서에서 후술될 비-기본 양자화 행렬은 비-기본 행렬과 동일한 의미로 사용될 수 있다.
도 1은 본 발명이 적용되는 영상 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 1을 참조하면, 상기 영상 부호화 장치(100)는 움직임 예측부(111), 움직임 보상부(112), 화면내 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 영상 버퍼(190)를 포함한다.
영상 부호화 장치(100)는 입력 영상에 대해 화면내(intra) 모드 또는 화면간(inter) 모드로 부호화를 수행하고 비트스트림을 출력할 수 있다. 화면내 모드인 경우 스위치(115)가 화면내 예측부(120)로 전환되고, 화면간 모드인 경우 스위치(115)가 움직임 보상부(111)로 전환될 수 있다. 영상 부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성한 후, 입력 블록과 예측 블록의 차분을 부호화할 수 있다. 이때, 입력 영상은 원 영상(original picture)를 의미할 수 있다.
화면내 모드인 경우, 화면내 예측부(120)는 현재 블록 주변의 이미 부호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다.
화면간 모드인 경우, 움직임 보상부(111)는, 움직임 예측 과정에서 참조 영상 버퍼(190)에 저장되어 있는 참조 영상에서 입력 블록과 가장 매치가 잘 되는 영역을 찾아 움직임 벡터를 구할 수 있다. 움직임 보상부(112)는 움직임 벡터를 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기서, 움직임 벡터는 화면간 예측에 사용되는 2차원 벡터이며, 현재 블록과 참조 영상 내 블록 사이의 오프셋을 나타낼 수 있다.
감산기(125)는 입력 블록과 생성된 예측 블록의 차분에 의해 잔차 블록을 생성할 수 있다. 변환부(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의 실시예에 따른 영상 부호화 장치(100)는 화면간 예측 부호화, 즉 화면 간 예측 부호화를 수행하므로, 현재 부호화된 영상은 참조 영상으로 사용되기 위해 복호화되어 저장될 필요가 있다. 따라서 양자화된 계수는 역양자화부(160)에서 역양자화되고 역변환부(170)에서 역변환된다. 역양자화 및 역변환된 계수는 복원된 잔차 블록이 되어 가산기(175)를 통해 예측 블록과 더해지고 복원 블록이 생성된다.
복원 블록은 필터부(180)를 거치고, 필터부(180)는 디블록킹 필터(deblocking filter), SAO(Sample Adaptive Offset), ALF(Adaptive Loop Filter) 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(180)는 인루프(in-loop) 필터로 불릴 수도 있다. 디블록킹 필터는 블록 간의 경계에 생긴 블록 왜곡을 제거할 수 있다. 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)에서 역변환되며, 양자화된 계수가 역양자화/역변환된 결과, 복원된 잔차 블록이 생성될 수 있다.
역양자화에 사용되는 양자화 행렬은 스케일링 리스트라고도 불린다. 역양자화부(220)는 양자화된 계수에 양자화 행렬을 적용하여 역양자화된 계수를 생성할 수 있다.
이때 역양자화부(220)는 영상 부호화 장치에서 적용된 양자화에 대응하여 역양자화를 수행할 수 있다. 예컨대, 역양자화부(220)는 영상 부호화 장치에서 적용된 양자화 행렬을 양자화된 계수에 역으로 적용하여 역양자화를 수행할 수 있다.
영상 복호화 장치(200)에서 역양자화에 사용되는 양자화 행렬은 비트스트림으로부터 수신될 수도 있고, 영상 부호화 장치 및/혹은 영상 복호화 장치가 이미 보유한 기본 행렬이 사용될 수도 있다. 전송되는 양자화 행렬의 정보는 시퀀스 파라미터 세트 또는 픽처 파라미터 세트를 통해 양자화 행렬 크기 혹은 양자화 행렬이 적용되는 변환 블록 크기 별로 일괄 수신될 수 있다. 예컨대, 4x4 변환 블록을 위한 4x4 양자화 행렬들이 수신되고, 8x8 변환 블록을 위한 8x8 행렬들이 수신되고, 16x16 변환 블록을 위한 16x16 행렬들이 수신되고, 32x32 변환 블록을 위한 32x32 행렬들이 수신될 수 있다.
화면내 모드인 경우, 화면내 예측부(240)는 현재 블록 주변의 이미 복호화된 블록의 픽셀값을 이용하여 공간적 예측을 수행하여 예측 블록을 생성할 수 있다. 화면간 모드인 경우, 움직임 보상부(250)는 움직임 벡터 및 참조 영상 버퍼(270)에 저장되어 있는 참조 영상을 이용하여 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다.
복원된 잔차 블록과 예측 블록은 가산기(255)를 통해 더해지고, 더해진 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO, ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽처에 적용할 수 있다. 필터부(260)는 재구성된 영상, 즉 복원 영상을 출력할 수 있다. 복원 영상은 참조 영상 버퍼(270)에 저장되어 화면간 예측에 사용될 수 있다.
도 3은 하나의 유닛이 복수의 하위 유닛으로 분할되는 실시예를 개략적으로 나타내는 개념도이다. 본 도면에서는 설명의 편의 상 영상의 처리 단위에 대하여 코딩 유닛(CU)을 일 예로 들어 설명한다.
코딩 유닛이란 상기에서 설명한 비디오 신호의 처리 과정, 예를 들어 화면내(intra)/화면간(inter) 예측, 변환(transform), 양자화(quantization) 및/또는 엔트로피 코딩(entropy coding) 등의 과정에서 영상을 처리하기 위한 기본 단위를 의미한다. 하나의 영상을 코딩하는 데 있어서 사용되는 코딩 유닛의 크기는 일정하지 않을 수 있다.
코딩 유닛은 사각형 형태를 가질 수 있고, 하나의 코딩 유닛은 다시 여러 개의 코딩 유닛으로 분할 가능하다. 예를 들어, 2N x 2N 크기를 가지는 하나의 코딩 유닛은 다시 네 개의 NxN 크기를 가지는 코딩 유닛으로 분할될 수 있다. 이러한 코딩 유닛의 분할은 재귀적으로 이루어질 수 있으며, 모든 코딩 유닛들이 동일한 형태로 분할 될 필요는 없다. 다만 코딩 및 처리과정에서의 편의를 위하여 코딩 유닛의 최대 크기 또는 최소 크기에 대한 제한이 있을 수 있다. 코딩 유닛의 최대 크기가 정해졌다면 그것을 최대 코딩 유닛 크기라고 하며, 최소 크기가 정해졌다면 그것을 최소 코딩 유닛 크기라고 한다.
하나의 코딩 유닛에 대하여, 해당 코딩 유닛이 분할 되는지 여부를 나타내는 정보를 지정할 수 있다. 예를 들어, 분할 여부를 나타내는 플래그 값이 1이면 해당 노드에 대응하는 블록은 다시 4개의 블록으로 나누어지고, 0이면 더 이상 나누어지지 않고 해당 코딩 유닛에 대한 처리 프로세스가 수행될 수 있다.
상기에서 설명한 코딩 유닛의 구조는 재귀적인 트리 구조를 이용하여 나타낼 수 있다. 즉, 하나의 영상 또는 최대 크기 코딩 유닛을 루트(root)로 하여, 다른 코딩 유닛으로 분할 되는 코딩 유닛은 분할된 코딩 유닛의 개수만큼의 자식(child) 노드를 가지게 된다. 따라서, 더 이상 분할되지 않는 코딩 유닛이 리프(leaf) 노드가 된다. 하나의 코딩 유닛에 대하여 정방형 분할만이 가능하다고 가정할 때, 하나의 코딩 유닛은 최대 4개의 다른 코딩 유닛으로 분할 될 수 있으므로 코딩 유닛 구조를 나타내는 트리는 쿼드 트리(Quard tree) 형태가 될 것이다. 편의상 이후 본 문서에서는, 최대 코딩 유닛 크기를 가지는 코딩 유닛을 최대 코딩 유닛(LCU)라고 하며 최소 코딩 유닛 크기를 가지는 코딩 유닛을 최소 코딩 유닛(SCU)라고 한다.
인코더에서는 비디오 영상의 특성(예를 들어, 해상도)에 따라서 혹은 코딩의 효율을 고려하여 최대 및 최소 코딩 유닛 크기를 결정하고 이에 대한 정보 또는 이를 유도할 수 있는 정보가 비트스트림에 포함될 수 있다. 또한, 트리 구조를 갖는 코딩 유닛은 깊이 정보를 가지고 계층적으로 분할될 수 있다. 각각의 분할된 하위 유닛은 깊이 정보를 가질 수 있다. 상기 깊이 정보는 유닛이 분할된 회수 및/또는 정도를 나타내므로, 상기 하위 유닛의 크기에 관한 정보를 포함할 수도 있다.
예컨대, 최대 코딩 유닛 의 크기 및 트리의 최대 깊이가 정의되었을 때, 정방형 분할을 한다면, 코딩 유닛의 높이 및 너비는 부모 노드의 코딩 유닛의 높이 및 너비의 반이 되므로, 상기와 같은 정보를 이용하면 최소 코딩 유닛 크기를 구할 수 있다. 혹은 역으로, 최소 코딩 유닛 크기 및 트리의 최대 깊이를 미리 정의하여 이용하고, 이를 이용하여 필요할 경우에 최대 코딩 유닛의 크기를 유도하여 이용할 수 있다. 정방형 분할에서 유닛의 크기는 2의 배수 형태로 변화하기 때문에, 실제 코딩 유닛의 크기는 2를 밑으로 하는 로그 값으로 나타내어 전송 효율을 높일 수 있다.
디코더에서는 현재 코딩 유닛이 분할 되었는지를 나타내는 정보를 획득할 수 있다. 이러한 정보는 특정 조건 하에만 획득하게(전송되게) 하면 효율을 높일 수 있다. 예를 들어 현재 코딩 유닛이 SCU라면 더 이상 작은 코딩 유닛으로 분할되지 않으므로, 이러한 경우에는 분할되었는지 나타내는 정보를 획득할 필요가 없다.
만약 상기 정보가 코딩 유닛이 분할되었음을 나타내는 경우, 분할된 코딩 유닛의 크기는 현재 코딩 유닛의 반이 되고, 현재 처리 위치를 기준으로 4개의 정방형 코딩 유닛으로 분할된다. 각 분할된 코딩 유닛들에 대해서 상기와 같은 처리를 반복할 수 있다.
도 3의 310을 참조하면, 가장 상위 노드는 루트 노드(root node)로 불릴 수 있고, 가장 작은 깊이 값을 가질 수 있다. 이 때, 가장 상위 노드는 레벨 0의 깊이를 가질 수 있으며, 분할되지 않은 최초의 유닛을 나타낼 수 있다.
레벨 1의 깊이를 갖는 하위 노드는 최초 유닛이 한 번 분할된 유닛을 나타낼 수 있으며, 레벨 2의 깊이를 갖는 하위 노드는 최초의 유닛이 두 번 분할된 유닛을 나타낼 수 있다. 예를 들어, 도 3의 320에서 노드 a에 대응하는 유닛 a는 최초 유닛에서 한 번 분할된 유닛이고, 레벨 1의 깊이를 가질 수 있다.
레벨 3의 리프 노드(leaf node)는 최초 유닛이 3번 분할된 유닛을 나타낼 수 있다. 예를 들어, 도3의 320에서 노드 d에 대응하는 유닛 d는 최초 유닛에서 세 번 분할된 유닛이고, 레벨 3의 깊이를 가질 수 있다. 따라서, 가장 하위 노드인 레벨 3의 리프 노드는 가장 깊은 깊이를 가질 수 있다.
도 4는 본 발명에 따라 코딩 유닛이 포함할 수 있는 예측 유닛의 형태를 도시한 도면이다.
코딩을 위한 영상 예측은 더 이상 나누어지지 않는 코딩 유닛(즉 코딩 유닛 트리의 리프 노드)를 대상으로 이루어질 수 있다. 현재 코딩 유닛은 하나 이상의 예측 유닛(prediction unit:PU) 또는 예측 블록(prediction block) 또는 파티션(partition)으로 나뉘어지며 이 행위 자체 역시 파티션(partition)이라고 일컫는다. 예측 유닛은 예측을 수행하는 기본 단위로써, 가능한 예측 블록의 형태는 화면내 코딩 유닛과 화면간 코딩 유닛에서 각기 다르다.
(a)는 화면 내 예측을 수행하는 코딩 유닛에 대한 예측 유닛을 도시한 것이다. 도시된 바와 같이, 화면내 예측을 수행하는 코딩 유닛(2Nx2N)은 코딩 유닛과 동일한 크기를 갖는 2Nx2N의 예측 유닛과 2Nx2N 단위의 코딩 유닛을 NxN으로 분할한 예측으로 분할할 수 있다.
(b)는 화면 간 예측을 수행하는 코딩 유닛에 대한 예측 유닛을 도시한 것이다. 도시된 바와 같이, 화면 간 예측을 수행하는 코딩 유닛(2Nx2N)은 코딩 유닛과 동일한 크기를 사용하는 2Nx2N, 2NxN으로 분할한 예측 유닛, Nx2N으로 분할한 예측 유닛, NxN으로 분할한 예측 유닛, nLx2N으로 분할한 예측 유닛, nRx2N으로 분할한 예측 유닛, 2NxnU으로 분할한 예측 유닛, 2NxnD으로 분할한 예측 유닛 등으로 분할하여 사용할 수 있다.
현재 JCT-VC에서 차세대 비디오 표준으로 HEVC(High Efficiency Video Coding) 기술에 대한 표준을 진행하고 있다. HEVC는 기존에 최고의 압축률을 제공하는 H.264/AVC 대비 약 50% 이상의 압축효율을 목표로 하고 있으며, 이를 위해 많은 부호화 Tools이 새롭게 제안되었다. 기존의 비디오 코덱들은 매크로블럭(16x16)단위로 부호화를 수행한 반면, HEVC에서는 고해상도 비디오에 대해 최적의 압축효율을 높이기 위해 CU (Coding Unit), PU (Prediction Unit), TU (Transform Unit)별 최적의 블록사이즈로 압축할 수 있게 디자인 되었다.
한편, HEVC에 따른 영상 부호화 방식은 화면간 부호화 모드 계산에 많은 연산량을 요구하고 있다. 이는 H.264/AVC 대비 현재 화면간 부호화 과정은 최대 11가지의 예측 블록을 수행하고 있으며, 이 과정을 블록(CU)의 사이즈 마다 수행하기 때문이다.
CU는 최대 크기 64x64 (LCU: Largest Coding Unit)부터 32x32, 16x16, 8x8 크기의 블록으로 분할되고, 각각의 CU들은 최적의 PU와 TU의 최적 블록사이즈를 계산한다. 따라서 하나의 CU 사이즈에 (2Nx2N) SKIP, Inter_2Nx2N, Inter_2NxN, Inter_Nx2N, Inter_2NxnU, Inter_2NxnD, Inter_nRx2N, Inter_nLx2N, Intra_PCM 모드를 지원하고 있다.
만약 현재 CU 사이즈가 8x8인 경우에는 Inter_NxN, Intra_NxN 모드에 대해서도 율-왜곡 최적화 (RDO: Rate-Distortion Optimization)을 수행하여 하나의 CU 사이즈에서 가장 최적의 블록 모드를 결정하고 있다. 즉, 하나의 코딩 유닛에서 가장 최적의 예측 유닛 모드를 결정하고 있다.
실제 P 또는 B 슬라이스에서 대부분의 영상에서 화면내 부호화 (Intra Prediction) 모드 보다 화면간 부호화 (Inter Prediction) 모드가 결정될 확률은 상대적으로 높고, 화면간 부호화 자체가 가지는 복잡도가 상당히 크기 때문에 효율적으로 화면간 부호화 모드를 조기 종결 할 수 있는 방법이 요구된다.
따라서, 본 발명은 비디오 부호화 시, P 또는 B 슬라이스에서 코딩 유닛에서 화면간 예측을 수행하는 예측 유닛 모드에 대해 조기에 결정하여 부호화기의 복잡도를 줄이는 방법 및 이를 이용한 장치를 제공한다.
이러한 조기 종결 방법을 적용하기 위하여 주변 부호화 블록과 현재 부호화 하고자 하는 블록간의 시공간, 깊이 상관성과 움직임에 따른 예측 블록 분포를 분석하여 화면간 예측에서 현재 부호화 되는 블록에 대한 조기 종결하는 방법이 제안될 수 있다.
또한, 본 발명은 임의의 블록에 대한 부호화 과정 시, 주변에 이미 부호화가 완료된 블록에 대한 시공간 및 깊이 상관성을 이용하여 현재 코딩 유닛에 대한 예측 유닛 모드의 수를 최소화하여, 화면간 부호화 과정의 많은 연산량을 줄일 수 있는 방법 및 이를 이용한 장치를 제공한다.
도 5는 본 발명의 일 실시예에 따라 영상의 부호화 과정에서 예측 유닛 모드를결정하는 방법을 설명하기 위한 제어 흐름도이다.
우선, 부호화가 완료된 주변 블록 간의 코딩 유닛 모드(CU 모드)의 상관성(Correlation)을 계산한다(S501). 코딩 유닛 모드는 코딩 유닛에서 판단된 예측 유닛에 대한 모드, 즉 상술한 블록 모드를 포함할 수 있다. 본 단계에서는 부호화가 완료된 주변 블록의 예측 유닛 모드 정보를 파악하여 코딩 유닛 모드 간의 상관성을 연산한다. 예를 들어, 현재 부호화하려는 현재 블록과 주변 블록이 같은 예측 유닛 모드를 가질 확률 등을 고려하여 상관성을 고려할 수 있다.
도 6는 본 실시예에 따라 현재 블록과 관련성이 높은 주변 블록을 도시한 도면이다.
현재 프레임(600)에서 현재 부호화하려는 블록에 해당하는 현재 CU(601)의 주변에는 이미 부호화가 완료된 주변 블록이 존재한다. 주변 블록은 현재 CU(601)의 좌측에 위치하는 CU3(604), 상측에 위치하는 CU2(603) 및 좌상단에 위치하는 CU1(602)을 포함할 수 있다.
또한, 이전 프레임(610)에서 현재 CU(601)에 대응하는 CU4(611) 및 이후 프레임(620)에서 현재 CU(601)에 대응하는 CU5(621) 역시 현재 CU(601)와 관련성이 존재하는 주변 블록이 될 수 있다.
현재 CU(601)가 최대 코딩 유닛 또는 상위의 코딩 유닛으로부터 분할된 하위 블록이라면, 최대 코딩 유닛 또는 상위의 코딩 유닛으로부터 분할된 상이한 깊이 정보를 갖는 블록 CU6(631) 및 CU7(632) 역시 현재 CU(601)와 깊이 상관성을 갖는 주변 블록이 될 수 있다.
영상의 부호화 시 주변 블록과 현재 부호화 하려는 블록(현재 CU)은 강한 공간적, 시간적 및 깊이 상관성을 가지기 때문에 주변 블록이 가지는 최적의 블록 모드가 현재 블록의 최적의 블록 모드로 결정될 확률이 높다.
따라서 현재 부호화하는 블록의 인접한 블록 중에서 공간적 상관성(Spatial Correlation)을 가지는 CU1(602), CU2(603) 및 CU3(604)와 시간적 상관성(Temporal Correlation)을 가지는 CU4(611) 및 CU5(621), 그리고 깊이 상관성을 가지는 CU6(631) 및 CU7(632)의 모드 정보를 사용하여 코딩 유닛 모드(CU 모드)의 상관성을 계산한다.
다음으로, 부호화가 완료된 시간적 상관성을 갖는 주변 블록 간의 시간적 거리에 따라 부호화가 완료된 주변 블록에 대한 동적 가중치를 설정한다(S502).
동적 가중치를 설정하기 위하여, 우선 단계 S501에서 계산된 정보를 통하여 현재 부호화하려는 블록의 주변 블록의 모드 상관성에 따라 주변 블록(CU1 내지 CU7)에 대하여 각각 블록마다 정규화를 위한 가중치를 설정한다. 각 블록에 설정된 가중치를 표현하면 수식 1과 같다.
<수식 1>
Figure pat00001
표 1은 각 블록의 정규화를 위한 가중치에 대한 일 례를 나타낸 것이다. 이는 임의적으로 설정될 수 있고, 블록 간의 상관성을 고려하여 변경될 수도 있다.
CU의 인덱스(i) 1 2 3 4 5 6 7
wi 0.2 0.2 0.2 0.05 0.05 0.2 0.1
그 중에서, 특히 시간성 상관성을 갖는 CU4(611) 및 CU5(621)는 계층적 구조로 프레임 간의 시간적 거리에 상관성 또한 존재한다. 따라서, 시간적 거리 l(Temporal level)을 고려하여 주변 블록에 동적 가중치를 적용한다.
수식 2는 최종 비용 함수를 나타낸 것으로, 수식 2는 인접한 블록(CUi)에 대한 비용함수(W(i,l), 수식 3)와 주변 블록들에 대한 정보의 사용 여부를 나타내는 변수(ki)를 사용하여 표현할 수 있다.
<수식 2>
Figure pat00002
<수식 3>
Figure pat00003
수식 3에 표현된 인접한 블록(CUi)에 대한 비용함수(W(i,l))는 가중치(wi)와 시간적 거리에 따른 동적 가중치 조절 함수(f)로 구성될 수 있다.
시간적 거리에 따른 동적 가중치 조절 함수(f)는 수식 4로 표현될 수 있다.
<수식 4>
Figure pat00004
여기서, Tlevel은 l에 대한 0~0.1 정규화 상수로 0.02로 설정될 수 있다. Tki는 인접한 주변 블록(CU) 중 공간적, 시간적 주변 블록(CU)에 대한 가중치 조절 상수를 의미하며, 시간적 상관성을 갖는 CU4와 CU5에 대하여 1, CU6에 대하여는 -2, 나머지 주변 블록(CU1, CU2, CU3, CU7)에 대해선 0으로 설정될 수 있다.
Tht는 최종 가중치 변화 제어 상수로 0.5로 설정하여 가중치에 대하여 0.05의 가중치를 변화시킬 수 있다.
이러한 상수를 적용하여 수식 4를 계산하고, 이를 수식 3에 적용하여 변경된 가중치(wi)는 표 2과 같다.
CU의 인덱스(i) 1 2 3 4 5 6 7
wi 0.2 0.2 0.2 0.1 0.1 0.1 0.1
현재 CU(601)과 주변 블록 간의 상관성이 계산되고, 동적 가중치가 설정되면, 부호화가 완료된 주변 블록의 정보, 현재 블록와 주변 블록 간의 상관성에 대한 정보 및 움직임 가중치(동적 가중치)에 따른 블록 모드 복잡도(Block Mode Complexity, BMC)가 계산된다(S303).
예측 모드는 블록의 움직임 활동과도 높은 상관성을 가지고 있다. 블록의 움직임이 적을 경우, 움직임이 없는 동종 영역(Homogeneous region)으로 스킵(SKIP) 모드가 발생할 확률이 높고, 느릴수록 Inter 2Nx2N 모드가 될 가능성이 높다.
그리고, 움직임이 복잡하고 빠를 경우 작은 크기의 모드들, 예를 들면 Inter
_2NxN, Inter_Nx2N, Inter_NxnU, Inter_2NxnD, Inter_nRx2N, Inter_nLx2N 모드가 발생할 확률이 높다.
블록의 움직임 활동을 고려하여 움직임이 없는 경우부터 빠른 움직임까지 예측 모드의 크기에 따라 분류 하고, 각각의 클래스마다 모드에 대한 가중치
Figure pat00005
를 적용한다.
표 3은 각 클래스 별 모드에 대한 움직임 정도와 가중치(
Figure pat00006
)를 예시적으로 나타낸 것이다.
Class Mode Motion activity Weighting fator for mode
1 SKIP Homogeneous region with motionless 0
2 Inter_2NxN slow motion 1
3 Inter_2NxN, Nx2N medium motion 2
4 Inter_NxnU, 2NxnD, Rx2N, nLx2N fast motion 3
그런 후, 단계 S502에서 도출한 수식 2의 비용 함수와 상기 분류에 따른 가중치를 적용하여 수식 5과 같은 움직임 활동에 따른 블록의 모드 복잡도(Block Mode Complexity) 함수를 계산한다.
<수식 5>
Figure pat00007
상기 블록의 모드 복잡도까지 연산되면, 연산된 주변 블록 정보를 이용하여 현재 부호화 하려는 블록의 화면간 부호화 과정에서 수행할 모드를 결정한다(S504). 다시 말해, 현재 부호화 하려는 현재 블록의 예측 모드 결정은 먼저 주변 블록의 상관성 정보를 이용한 BMC 함수를 통하여 현재 부호화하는 블록의 움직임을 결정하고 최적의 예측 모드를 추정함으로써 수행될 수 있다.
기존의 경우, 하나의 코딩 유닛에 대한 최적의 블록 모드를 결정하기 위하여 각 코딩 유닛 마다 모든 블록 모드에 대한 율-왜곡 최적화(RDO: Rate-Distortion Optimization)를 수행한 후 이를 기초로 최적의 블록 모드를 결정한다. 이는 많은 계산량을 요구하며 부호화의 복잡도를 증가시키는 단점이 있다.
본 발명의 따른 부호화 방법의 경우, 어떠한 부호화 모드를 사용하여, 즉 어떠한 블록 모드를 사용하여 예측을 수행할 것인가를 판단하기 위하여 주변 블록의 상관성 정보 및 이에 기초한 블록 모드 복잡도를 이용함으로서 모든 블록 모드가 아닌 한정된 범위의 블록 모드에서만 율-왜곡 최적화를 수행할 수 있다. 이를 통하여 현재 블록에 대한 예측 블록의 수를 최소화하여 화면 간 부호화 과정의 많은 연산량을 줄일 수 있다.
도 7은 본 발명의 일 실시예에 따라 현재 블록에서 적용될 예측 유닛 모드의 결정 방법을 설명하기 위한 제어 흐름도이다. 도 7을 참조하여 도 5의 단계 S504를 구체적으로 설명하면 다음과 같다.
우선, 움직임을 분류하기 위하여 느린 움직임(Slow motion)을 추정하기 위한 임계값 1과 빠른 움직임(Fast motion)을 추정하기 위한 임계값 2을 설정한다(S701).
BMC 함수를 통하여 현재 부호화 블록에 따라 느린 움직임, 중간 움직임, 빠른 움직임을 구분하고 움직임에 따라 모드를 그룹화하여 해당하는 모드만 수행하기 위하여 임계값 1과 임계값 2를 설정한다.
만약, BMC가 임계값 1보다 작은 경우(S702), 현재 부호화하는 블록을 느린 움직임을 가진 블록으로 추정한다(S703).
현재 부호화하는 블록이 느린 블록으로 추정되면, 현재 블록에 대한 블록 모드는 SKIP 모드나 큰 사이즈의 블록인 Inter 2Nx2N이 발생 할 확률이 높다.
따라서, 현재 부호화하는 블록의 움직임이 BMC를 통하여 느린 움직임을 가질 때, 현재 블록에 대하여 SKIP 모드와 Inter 2Nx2N의 모드에 대한 율-왜곡 최적화를 수행하여 최적의 블록 모드를 결정한다(S704).
만약, BMC가 임계값 1보다 작지 않고(S702), 임계값 1 보다 크거나 같고, 임계값 2 보다 작은 경우(S705), 현재 부호화하는 블록을 중간 움직임(medium motion)을 갖는 블록으로 추정한다(S706).
현재 부호화하려는 블록이 중간 움직임을 작는 블록으로 추정됐을 때, 현재 부호화하는 블록은 SKIP 모드, Inter_2Nx2N, Inter_2NxN, Inter_Nx2N와 같은 블록 모드를 가질 가능성이 높으므로, 이들에 대한 율-왜곡 최적화를 수행하여 최적의 블록 모드를 결정한다(S707).
한편, BMC가 임계값 1 보다 크거나 같고, 임계값 2 보다 작은 경우가 아닌 겨우, 즉, 임계값 2보다 큰 경우(S705)에는 현재 부호화하는 블록을 빠른 움직임을 갖는 블록으로 추정한다(S708).
현재 블록이 BMC를 통하여 빠른 움직임을 갖는 블록으로 추정됐을 때, 현재 부호화하는 블록은 존재하는 모든 예측 모드에 대하여 율-왜곡 최적화를 수행하여 최적의 블록 모드를 결정한다(S709).
이와 같이, 상기 3가지 움직임 정도에 따른 블록 모드의 조기 결정 과정은 BMC를 통하여 현재 부호화하는 블록의 움직임을 추정하고, 추정된 움직임에 따라 예측 모드를 그룹화를 통하여 모드 추정 연산량을 효과적으로 감소시킬 수 있다.
또한, 임의의 블록에 대한 부호화 과정 시, 주변에 이미 부호화가 완료된 블록에 대한 시공간 및 깊이 상관성을 이용하여 현재 블록에 대한 예측 블록의 수를 최소화하여, 화면간 부호화 과정의 많은 연산량을 줄일 수 있다.
이는 영상 부호화 시 불필요한 화면간 부호화 모드 계산을 줄임으로써 비디오 부호화기의 복잡도를 줄일 수 있는 효과적인 방법이 될 수 있다.
또한, 상기 최적의 블록 모드를 결정하는 방법은 설명의 편의상 부호화 과정에 대한 것으로 기술되었지만 이는 동일한 방식으로 영상의 복호화 방법에도 적용될 수 있다.
상술한 예시적인 시스템에서, 방법들은 일련의 단계 또는 블록으로써 순서도를 기초로 설명되고 있지만, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 상술한 실시예들은 다양한 양태의 예시들을 포함한다. 예컨대, 각 실시예의 조합 역시 본 발명의 일 실시예로서 이해되어야 할 것이다.
100 : 영상 부호화 장치 111: 움직임 예측부
112: 움직임 보상부 120 : 인트라 예측부
115 : 스위치 125 : 감산기
130 : 변환부 140 : 양자화부
150 : 엔트로피 부호화부 160 : 역양자화부
170 : 역변환부 180 : 필터부

Claims (1)

  1. 현재 블록과 주변 블록 간의 코딩 유닛 모드의 상관성(Correlation)을 계산하는 단계와;
    상기 현재 블록과 시간적 상관성을 갖는 주변 블록 간의 시간적 거리에 따라 상기 주변 블록에 대한 동적 가중치를 설정하는 단계와;
    상기 주변 블록의 상기 상관성 및 상기 동적 가중치에 따른 블록 모드 복잡도(Block Mode Complexity, BMC)를 계산하는 단계와;
    상기 주변 블록의 상기 블록 모드 복잡도를 이용하여 상기 주변 블록의 화면간 부호화 과정을 수행할 블록 모드를 결정하는 단계를 포함하는 것을 특징으로 하는 예측 유닛 모드 결정 방법.
KR1020130034743A 2013-03-29 2013-03-29 움직임 복잡도를 이용한 예측 유닛 모드 결정 방법 KR20140120397A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130034743A KR20140120397A (ko) 2013-03-29 2013-03-29 움직임 복잡도를 이용한 예측 유닛 모드 결정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130034743A KR20140120397A (ko) 2013-03-29 2013-03-29 움직임 복잡도를 이용한 예측 유닛 모드 결정 방법

Publications (1)

Publication Number Publication Date
KR20140120397A true KR20140120397A (ko) 2014-10-14

Family

ID=51992269

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130034743A KR20140120397A (ko) 2013-03-29 2013-03-29 움직임 복잡도를 이용한 예측 유닛 모드 결정 방법

Country Status (1)

Country Link
KR (1) KR20140120397A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113965747A (zh) * 2016-07-05 2022-01-21 株式会社Kt 对视频进行解码或编码的方法和计算机可读介质
US11477484B2 (en) 2015-06-22 2022-10-18 Qualcomm Incorporated Video intra prediction using hybrid recursive filters

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11477484B2 (en) 2015-06-22 2022-10-18 Qualcomm Incorporated Video intra prediction using hybrid recursive filters
US11778234B2 (en) 2015-06-22 2023-10-03 Qualcomm Incorporated Video intra prediction using hybrid recursive filters
CN113965747A (zh) * 2016-07-05 2022-01-21 株式会社Kt 对视频进行解码或编码的方法和计算机可读介质

Similar Documents

Publication Publication Date Title
KR102487618B1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR101316060B1 (ko) 인터 예측 부호화된 동영상 복호화 방법
KR20230113257A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한기록 매체
KR102467487B1 (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR102323427B1 (ko) 영상 부호화 방법 및 장치
EP3593531A1 (en) Intra filtering flag in video coding
WO2019141012A1 (en) Video processing methods and apparatuses for processing video data coded in large size coding units
US20100074338A1 (en) Video encoding method and apparatus, and video decoding apparatus
KR20190038371A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20180065013A (ko) 계층적 데이터 단위의 양자화 파라메터 예측을 포함하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
JP2019530345A (ja) 映像コーディングシステムにおける照度補償基盤インター予測方法及び装置
CN112969073A (zh) 图像编码/解码方法和非暂时性计算机可读记录介质
JP7297918B2 (ja) ビデオ符号化のための色変換
KR20150086793A (ko) 변환 깊이 기반 dct 사이즈 결정 장치 및 방법
KR20130067280A (ko) 인터 예측 부호화된 동영상 복호화 방법
KR20140127385A (ko) 부호화 유닛 분할 결정 방법
KR101768173B1 (ko) 영상 부호화에서의 화면 내 예측 생략 방법 및 장치
KR20140120397A (ko) 움직임 복잡도를 이용한 예측 유닛 모드 결정 방법
JP6030989B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、それらのプログラム並びにプログラムを記録した記録媒体
KR102107080B1 (ko) 영상의 고속 부호화를 위한 방법
KR20150093969A (ko) 영상의 고속 부호화를 위한 방법 및 이를 이용한 장치
KR20140120396A (ko) 영상의 고속 부호화를 위한 방법
KR20170124076A (ko) 영상 신호 그룹의 부호화 및 복호화 방법과 장치

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application