KR20190142748A - 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 - Google Patents

영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 Download PDF

Info

Publication number
KR20190142748A
KR20190142748A KR1020190072349A KR20190072349A KR20190142748A KR 20190142748 A KR20190142748 A KR 20190142748A KR 1020190072349 A KR1020190072349 A KR 1020190072349A KR 20190072349 A KR20190072349 A KR 20190072349A KR 20190142748 A KR20190142748 A KR 20190142748A
Authority
KR
South Korea
Prior art keywords
motion vector
information
vector difference
mode
code
Prior art date
Application number
KR1020190072349A
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 세종대학교산학협력단
Publication of KR20190142748A publication Critical patent/KR20190142748A/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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

본 발명은 영상 부호화/복호화 방법 및 장치에 관한 것이다. 본 발명에 따른 영상 복호화 방법은, 현재 블록에 대한 초기 움직임 벡터를 유도하는 단계, 상기 초기 움직임 벡터에 대한 움직임 벡터 차분 정보를 복호화하는 단계, 상기 움직임 벡터 차분 정보를 이용하여 상기 움직임 벡터에 대한 움직임 벡터 차분을 유도하는 단계 및 상기 초기 움직임 벡터에 상기 움직임 벡터 차분을 더하여, 현재 블록에 대한 최종 움직임 벡터를 유도하는 단계를 포함하되, 상기 움직임 벡터 차분 정보는 상기 움직임 벡터 차분에 대한 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트에 대한 정보를 포함할 수 있다.

Description

영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체{METHOD AND APPARATUS FOR ENCODING/DECODING IMAGE, RECORDING MEDIUM FOR STROING BITSTREAM}
본 발명은 영상의 부호화/복호화 방법 및 장치에 관한 것으로, 보다 상세하게는 현재 블록 주변의 복원 영역 정보를 기반으로 영상을 부호화/복호화하는 방법, 장치 및 비트스트림에 관한 것이다.
최근, 인터넷에서는 동영상과 같은 멀티미디어 데이터의 수요가 급격히 증가하고 있다. 하지만 채널(Channel)의 대역폭(Bandwidth)이 발전하는 속도는 급격히 증가하고 있는 멀티미디어 데이터의 양을 따라가기 힘든 상황이다. 이에 따라, 국제 표준화 기구인 ITU-T의 VCEG(Video Coding Expert Group)과 ISO/IEC의 MPEG(Moving Picture Expert Group)은 2014년 2월, 동영상 압축 표준인 HEVC(High Efficiency Video Coding) 버전1을 제정하였다.
HEVC에서는 화면 내 예측(또는 인트라 예측), 화면 간 예측(또는 인터 예측), 변환, 양자화, 엔트로피 부호화 및 인-루프 필터 등의 기술을 정의하고 있다.
본 발명은 복원 영역을 이용한 부호화 정보의 효율적인 부호화/복호화 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명은 움직임 벡터 차분 정보의 효율적인 부호화/복호화 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 일 실시예에 따른 영상 복호화 방법은, 현재 블록에 대한 초기 움직임 벡터를 유도하는 단계, 상기 초기 움직임 벡터에 대한 움직임 벡터 차분 정보를 복호화하는 단계, 상기 움직임 벡터 차분 정보를 이용하여 상기 움직임 벡터에 대한 움직임 벡터 차분을 유도하는 단계 및 상기 초기 움직임 벡터에 상기 움직임 벡터 차분을 더하여, 현재 블록에 대한 최종 움직임 벡터를 유도하는 단계를 포함하되, 상기 움직임 벡터 차분 정보는 상기 움직임 벡터 차분에 대한 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트에 대한 정보를 포함할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 움직임 벡터 차분 정보는, 상기 움직임 벡터 차분에 대한 X 성분 절대값 정보 또는 상기 움직임 벡터 차분에 대한 Y 성분 절대값 정보 중 적어도 하나를 포함할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 부호 세트에 대한 정보는 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트들 중 하나를 지시할 수 있다.
상기 영상 복호화 방법에 있어서, 상기 부호 세트들은 부호 세트 별로 이진 정보가 할당될 수 있다.
상기 영상 복호화 방법에 있어서, 상기 부호 세트에 대한 정보는 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트들 중 하나를 지시하는 인덱스 일 수 있다.
상기 영상 복호화 방법에 있어서, 상기 초기 움직임 벡터는 상기 현재 블록에 대한 머지 후보 리스트를 이용하여 유도될 수 있다.
본 발명의 일 실시예에 따른 영상 부호화 방법은, 현재 블록에 대한 최종 움직임 벡터를 결정하는 단계, 상기 최종 움직임 벡터에 대한 움직임 벡터 차분을 결정하는 단계 및 상기 움직임 벡터 차분에 대한 움직임 벡터 차분 정보를 부호화 하는 단계를 포함하되, 상기 움직임 벡터 차분은 상기 현재 블록에 대한 초기 움직임 벡터와 더해져 상기 최종 움직임 벡터를 유도하기 위해 이용되고, 상기 움직임 벡터 차분 정보는 상기 움직임 벡터 차분에 대한 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트에 대한 정보를 포함할 수 있다.
상기 영상 부호화 방법에 있어서, 상기 움직임 벡터 차분 정보는, 상기 움직임 벡터 차분에 대한 X 성분 절대값 정보 또는 상기 움직임 벡터 차분에 대한 Y 성분 절대값 정보 중 적어도 하나를 포함할 수 있다.
상기 영상 부호화 방법에 있어서, 상기 부호 세트에 대한 정보는 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트들 중 하나를 지시할 수 있다.
상기 영상 부호화 방법에 있어서, 상기 부호 세트들은 부호 세트 별로 이진 정보가 할당될 수 있다.
상기 영상 부호화 방법에 있어서, 상기 부호 세트에 대한 정보는 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트들 중 하나를 지시하는 인덱스 일 수 있다.
상기 영상 부호화 방법에 있어서, 상기 초기 움직임 벡터는 상기 현재 블록에 대한 머지 후보 리스트를 이용하여 유도될 수 있다.
본 발명의 일시예에 따른 컴퓨터 판독가능한 기록매체는, 영상 복호화 장치에 수신되고 영상에 포함된 현재 블록을 복원하는데 이용되는 비트스트림을 저장하고, 상기 비트스트림은 상기 현재 블록에 대한 초기 움직임 벡터 정보 및 상기 초기 움직임 벡터에 대한 움직임 벡터 차분 정보를 포함하고, 상기 초기 움직임 벡터 정보는 상기 현재 블록의 초기 움직임 벡터를 유도하기 위해 이용되고, 상기 움직임 벡터 차분 정보는 상기 현재 블록에 대한 움직임 벡터 차분을 유도하기 위해 이용되고, 상기 현재 블록에 대한 최종 움직임 벡터는 상기 초기 움직임 벡터와 상기 움직임 벡터 차분을 더하여 유도되고, 상기 움직임 벡터 차분 정보는 상기 움직임 벡터 차분에 대한 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트에 대한 정보를 포함할 수 있다.
본 발명에 따르면, 압축 효율이 향상된 영상 부호화/복호화 방법, 장치 및 본 발명의 영상 부호화 방법/장치에 의해 생성된 비트스트림을 저장한 기록 매체가 제공될 수 있다.
또한, 본 발명에 따르면, 템플릿 매칭 기술을 이용하여 해당 이진 정보를 효율적으로 할당하는 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체가 제공될 수 있다.
또한, 본 발명에 따르면, 움직임 벡터 차분 정보를 효율적으로 부호화/ 복호화하는 방법, 장치 및 비트스트림을 저장한 기록매체가 제공될 수 있다.
도 1은 영상 부호화 장치를 나타내는 흐름도이다.
도 2는 영상 부호화 장치의 예측부를 설명하기 위한 도면이다.
도 3은 예측 정보를 부호화하는 방법을 나타내는 흐름도이다.
도 4는 영상 복호화 장치를 나타내는 흐름도이다.
도 5는 영상 복호화 장치의 예측부를 설명하기 위한 도면이다.
도 6은 예측 정보를 복호화하는 방법을 나타낸 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 영상 부호화 장치의 예측부를 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 영상 복호화 장치의 예측부를 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 코딩 정보들의 부호화 방법을 나타낸 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 코딩 정보들의 복호화 방법을 나타낸 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 움직임 벡터 차분 정보의 부호화/복호화 방법을 나타낸 흐름도이다.
도 12는 본 발명의 일 실시예에 따른 움직임 벡터 차분 정보 부호화 시, 템플릿 매칭 비용값을 이용하여 이진 정보를 결정하는 방법을 나타낸 표이다.
도 13은 본 발명의 일 실시예에 따른 움직임 벡터 차분 정보의 이진 정보 결정 시, 템플릿 매칭 기술을 설명하기 위한 도면이다.
도 14는 본 발명의 일 실시예에 따른 DIMD 모드를 위한 템플릿 매칭 기술의 템플릿 매칭 비용값을 이용하여 MPM 후보 모드 리스트의 후보 별 이진 정보 할당 방법, Chroma 후보 모드의 이진 정보 할당 방법을 설명하기 위한 도면이다.
도 15는 본 발명의 일 실시예에 따른 DIMD 모드의 템플릿 매칭 기술을 설명하기 위한 도면이다.
도 16은 본 발명의 일 실시예에 따른 지역 밝기 보상 기술 수행 시, 현재 블록 주변 복원 영역 내에서 템플릿 사용 여부에 따른 예측 블록 주변 복원 영역 내에서 템플릿 사용 여부를 결정하는 방법을 설명하기 위한 도면이다.
도 17은 본 발명의 일 실시예에 따른 영상 부호화 장치의 변환부이다.
도 18은 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치의 역 변환부이다.
도 19는 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치의 변환부/역 변환부에서 변환 타입의 이진 정보를 결정하기 위해서 템플릿 매칭 기술을 이용하는 방법을 설명하기 위한 도면이다.
도 20은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 21은 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
본 명세서에 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 전기적으로 연결되어 있는 경우도 포함한다.
또한, 본 명세서 전체에서 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
또한, 본 명세서에서 설명되는 장치 및 방법에 관한 실시예에 있어서, 장치의 구성 일부 또는 방법의 단계 일부는 생략될 수 있다. 또한 장치의 구성 일부 또는 방법의 단계 일부의 순서가 변경될 수 있다. 또한 장치의 구성 일부 또는 방법의 단계 일부에 다른 구성 또는 다른 단계가 삽입될 수 있다.
또한, 본 발명의 제1 실시예의 일부 구성 또는 일부 단계는 본 발명의 제2 실시예에 부가되거나, 제2 실시예의 일부 구성 또는 일부 단계를 대체할 수 있다.
덧붙여, 본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 기술되고, 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있다. 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리 범위에 포함된다.
먼저, 본 출원에서 사용되는 용어를 간략히 설명하면 다음과 같다.
이하에서 후술할 복호화 장치(Video Decoding Apparatus)는 민간 보안 카메라, 민간 보안 시스템, 군용 보안 카메라, 군용 보안 시스템, 개인용 컴퓨터(PC, Personal Computer), 노트북 컴퓨터, 휴대형 멀티미디어 플레이어(PMP, Portable Multimedia Player), 무선 통신 단말기(Wireless Communication Terminal), 스마트 폰(Smart Phone), TV 응용 서버와 서비스 서버 등 서버 단말기에 포함된 장치일 수 있으며, 각종 기기 등과 같은 사용자 단말기, 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 복호화하거나 복호화를 위해 화면 간 또는 화면 내 예측하기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다.
또한, 부호화기에 의해 비트스트림(bitstream)으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB, Universal Serial Bus)등과 같은 다양한 통신 인터페이스를 통해 영상 복호화 장치로 전송되어 복호화되어 영상으로 복원되고 재생될 수 있다. 또는 부호화기에 의해 생성된 비트스트림은 메모리에 저장될 수 있다. 상기 메모리는 휘발성 메모리와 비휘발성 메모리를 모두 포함할 수 있다. 본 명세서에서 메모리는 비트스트림을 저장한 기록 매체로 표현될 수 있다.
통상적으로 동영상은 일련의 픽쳐(Picture)들로 구성될 수 있으며, 각 픽쳐들은 블록(Block)과 같은 코딩 유닛(coding unit)으로 분할될 수 있다. 또한, 이하에 기재된 픽쳐라는 용어는 영상(Image), 프레임(Frame) 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 사용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있을 것이다. 그리고 코딩 유닛이라는 용어는 단위 블록, 블록 등과 같은 동등한 의미를 갖는 다른 용어로 대치되어 사용될 수 있음을 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 이해할 수 있을 것이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 실시예들을 상세하게 설명한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 영상 부호화 장치를 나타내는 흐름도이다.
도 1을 참조하면, 영상 부호화 장치는 영상을 부호화하는 장치로써 블록 분할부(101), 예측부(102), 변환부(103), 양자화부(104), 엔트로피 부호화부(105), 역 양자화부(106), 역 변환부(107), 가산부(108), 인루프 필터부(109), 메모리부(110) 및 감산부(111)를 포함할 수 있다.
도 1에 나타난 각 구성부들은 영상 부호화 장치에서 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시한 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
블록 분할부(101)은 입력된 영상을 적어도 하나의 블록으로 분할할 수 있다. 이 때, 입력된 영상은 픽처, 슬라이스, 타일, 브릭, 세그먼트 등 다양한 형태와 크기를 가질 수 있다. 블록은 부호화 단위(CU), 예측 단위(PU) 또는 변환 단위(TU)를 의미할 수 있다. 상기 분할은 쿼드 트리(Quadtree), 이진 트리(Biniary tree) 및 3분할 트리(ternary tree) 중 적어도 하나에 기반하여 수행될 수 있다.
쿼드 트리는 현재 부호화 블록을 정확히 사분하는 분할이다. 이진 트리는 부호화 블록을 가로 방향 혹은 세로 방향으로 정확히 이분하는 분할이다. 3분할 트리는 상위 블록을 3개의 하위 블록으로 분할하는 방식이다. 예컨대, 상기 3개의 하위 블록은 상기 상위 블록의 너비 또는 높이를 1:2:1의 비율로 분할함으로써 획득될 수 있다. 전술한 바이너리 트리 기반의 분할을 통해, 블록은 정방형뿐만 아니라 비정방형의 형태를 가질 수 있다. 또한, 여러 분할 방법들을 동시에 고려하여 분할해 나가는 방법도 가능하다.
예측부(102)는 현재 원본 블록에서 현재 예측하고자 하는 블록(이하, 예측 블록이라 칭함)의 주변 화소나 이전에 이미 부호화/복호화가 끝난 참조 픽쳐 내 화소들을 이용하여 예측 블록을 생성할 수 있다.
예측 블록은 부호화 블록 내에서 1개 혹은 그 이상의 예측 블록들이 생성될 수 있다. 부호화 블록 내 예측 블록이 1개일 경우, 예측 블록은 부호화 블록과 동일한 형태이다.
동영상 신호의 예측 기술에는 화면 내 예측과 화면 간 예측이 있다.
화면 내 예측은 현재 블록의 주변 화소들을 이용하여 예측 블록을 생성하는 방식이다.
화면 간 예측은 이전에 이미 부호화/복호화가 끝난 참조 픽쳐에서 현재 블록과 가장 유사한 블록을 찾아서 예측 블록을 생성하는 방식이다.
한편, 예측부(102)는 예측 블록 생성 후, 원본 블록과 예측 블록을 뺀 잔차 블록을 율-왜곡 최적화(RDO: Rate-Distortion Optimization) 등 다양한 기법을 이용하여 예측 블록의 최적 예측 모드를 결정할 수 있다. RDO 비용 계산식은 수학식 1과 같다.
[수학식 1]
Figure pat00001
D, R, J는 각각 양자화에 의한 열화, 압축 스트림의 레이트, RD 비용이고, Φ는 부호화 모드, λ는 라그랑지안 승수(Lagrangian multiplier)로 에러의 양과 비트량 간의 단위를 일치시키기 위한 스케일 보정용 계수로 사용한다. 부호화 과정에서 최적의 부호화 모드로 선택되기 위해서는 해당 모드를 적용했을 때의 J 즉, RD-비용값이 다른 모드를 적용했을 때보다 작아야 하는데, RD-비용값을 구하는 식에는 비트율과 에러를 동시에 고려하여 계산할 수 있다.
도 2는 영상 부호화 장치의 예측부를 설명하기 위한 도면이다.
원본 정보와 복원 정보를 이용하여 화면 내 예측을 수행(201)하는 경우, 각 예측 모드 별로 최적 화면 내 예측 모드를 RD-비용값을 이용하여 결정(202)하고, 예측 블록을 생성할 수 있다.
원본 정보와 복원 정보를 이용하여 화면 간 예측을 수행(203)하는 경우, SKIP 모드, MERGE 모드, AMVP 모드에 대해서 RD-비용값을 계산한다.
MERGE 후보 탐색부(204)에서는 SKIP 모드와, MERGE 모드를 위한 후보 움직임 정보 세트를 구성할 수 있다. 그리고, 해당 후보 움직임 정보 세트 중, 최적 움직임 정보를 RD-비용값을 이용하여 결정(205)할 수 있다.
AMVP 후보 탐색부(206)에서는 AMVP 모드를 위한 후보 움직임 정보 세트를 구성할 수 있다. 그리고, 해당 후보 움직임 정보 세트들을 이용하여 움직임 추정을 수행(207)하고, 최적 움직임 정보를 결정할 수 있다.
각 모드들에서 결정된 최적 움직임 정보를 이용하여 움직임보상을 수행(208)하여 예측 블록을 생성될 수 있다.
전술한 화면 간 예측은 3가지 모드(SKIP 모드, MERGE 모드, AMVP 모드)로 구성되어 있을 수 있다. 각 예측 모드에 따라 움직임 정보(예측 방향 정보, 참조 픽쳐 정보, 움직임 벡터)는 부호화될 수 있다.
SKIP 모드는 이미 복원된 영역의 움직임 정보를 이용하여 최적 예측 정보를 결정할 수 있다. SKIP 모드에서는 복원된 영역 내에서 움직임 정보 후보군을 구성하고, 해당 후보군 중, RD-비용값이 최소인 후보를 예측 정보로 사용하여 예측 블록을 생성할 수 있다. 여기서 움직임 정보 후보군을 구성하는 방법은 하기 설명할 MERGE 모드의 움직임 정보 후보군을 구성하는 방법과 동일하므로, 본 설명에서는 생략한다.
MERGE 모드는 이미 복원된 영역의 움직임 정보를 이용하여 최적 예측 정보를 결정한다는 점에서 SKIP 모드와 동일하다. 그러나 SKIP 모드는 예측 에러가 0이 되도록 하는 움직임 정보를 움직임 정보 후보군에서 탐색하고, MERGE 모드는 예측 에러가 0이 아닌 움직임 정보를 움직임 정보 후보군에서 탐색한다는 점에서 차이점이 있다. SKIP 모드와 마찬가지로, 복원된 영역 내에서 움직임 정보 후보군을 구성하여 해당 후보군 중, RD-비용값이 최소인 후보를 예측 정보로 사용하여 예측 블록을 생성할 수 있다.
AMVP 모드는 예측 방향에 따른 참조 픽쳐 별로 움직임 추정을 거쳐 최적 움직임 정보를 결정할 수 있다. 여기서, 예측 방향은 과거/미래 중 한 방향만을 사용하는 단방향 일수도 있고, 과거와 미래 방향 모두를 사용하는 양방향 일수도 있다. 움직임 추정을 통해 결정된 최적 움직임 정보를 이용하여 움직임 보상을 수행하여 예측 블록이 생성될 수 있다. 여기서, 예측 방향에 따른 참조 픽쳐마다 움직임 추정을 위한 움직임 정보 후보군이 유도될 수 있다. 해당 움직임 정보 후보군은 움직임 추정의 시작 지점으로 사용될 수 있다.
화면 내 예측은 최적 화면 내 예측 모드의 효율적인 부호화/복호화를 위하여 MPM(Most Probable Mode) 모드가 이용될 수 있다. MPM 모드란 현재 블록 주변의 복원된 화면 내 예측 모드를 이용하여 MPM 후보 리스트를 구성하되, 현재 블록의 최적 화면 내 예측 모드가 MPM 후보 리스트에 있는 화면 내 예측 모드들 중 하나라면, MPM 후보 색인 정보만을 전송하여 화면 내 예측 모드를 부호화 하는 방법이다. 여기서 MPM 후보 리스트는 최적의 휘도 화면 내 예측 모드를 부호화하기 위해 사용될 수 있다. 반면 색차 화면 내 예측 모드를 부호화할 때는, 휘도 화면 내 예측 모드를 이용하여 색차 후보 리스트를 구성할 수 있다. 구성된 색차 후보 리스트의 모드들 중, RD-비용값 계산을 통해 최적 색차 화면 내 예측 모드에 대한 예측 블록이 생성될 수 있다.
변환부(103)는 원본 블록과 예측 블록의 차이인 잔차 블록을 변환하여 변환 블록을 생성한다. 변환 블록은 변환 및 양자화 과정을 위해 사용되는 가장 작은 단위이다. 변환부(103)는 잔차 신호를 주파수 영역으로 변환하여 변환 계수를 가지는 변환 블록을 생성한다. 여기서 잔차 신호를 주파수 영역으로 변환하는 방법으로는 이산 코사인 변환(DCT: Discrete Cosine Transform)기반 변환, 이산 사인 변환(DST: Discrete Sine Transform), KLT(Karhunen Loeve Transform) 등 다양한 변환 기법이 이용될 수 있으며, 이를 이용하여 잔차 신호가 주파수 영역으로 변환되어 변환 계수가 생성될 수 있다. 변환 기법을 편하게 사용하기 위해 기저벡터(basis vector)를 이용하여 행렬 연산을 하게 되는데 예측 블록이 어떤 예측 모드로 부호화 되었는지에 따라서 행렬 연산 시 변환 기법들을 다양하게 섞어 사용할 수 있다. 예를 들어, 화면 내 예측 시 예측 모드에 따라 가로 방향으로는 이산 코사인 변환이 사용되고 세로 방향으로는 이산 사인 변환이 사용될 수 있다.
양자화부(104)는 변환 블록을 양자화 하여 양자화된 변환 블록을 생성한다. 즉, 양자화부(104)는 변환부(103)로부터 생성되는 변환 블록의 변환 계수들을 양자화 하여 양자화된 변환 계수를 가지는 양자화된 변환 블록(Quantized Transform Coefficient)을 생성할 수 있다. 양자화 방법으로는 데드존 균일 경계 양자화(DZUTQ: Dead Zone Uniform Threshold Quantization) 또는 양자화 가중치 행렬 (Quantization Weighted Matrix) 등이 이용될 수 있지만, 이를 개량한 양자화 등 다양한 양자화 방법이 이용될 수 있다.
한편, 이상에서는 영상 부호화 장치가 변환부(103) 및 양자화부(104)를 포함하는 것을 도시하고 설명했지만, 변환부 및 양자화부는 선택적으로 영상 부호화 장치에 포함될 수 있다. 즉, 영상 부호화 장치는 잔차 블록을 변환하여 변환 블록을 생성하고 양자화 과정은 수행하지 않을 수 있으며, 잔차 블록을 주파수 계수로 변환하지 않고 양자화 과정만을 수행할 수 있을 뿐만 아니라, 심지어는 변환과 양자화 과정을 모두 수행하지 않을 수 있다. 영상 부호화 장치에서 변환부와 양자화부 중 일부 과정이 수행되지 않거나, 모든 과정이 수행되지 않더라도 엔트로피 부호화부의 입력으로 들어가는 블록을 통상적으로 '양자화된 변환 블록'이라 일컫는다.
엔트로피 부호화부(105)는 양자화된 변환 블록을 부호화하여 비트스트림을 출력한다. 즉, 엔트로피 부호화부(105)는 양자화부(104)로부터 출력되는 양자화된 변환 블록의 계수들을 엔트로피 부호화(Entropy Encoding) 등 다양한 부호화 기법을 이용하여 부호화하고, 후술하는 영상 복호화 장치에서 해당 블록을 복호화 하는데 필요한 부가적인 정보들(예를 들면, 예측 모드에 대한 정보(예측 모드에 대한 정보란 예측부에서 결정된 움직임 정보 혹은 화면 내 예측 모드 정보 등이 포함될 수 있음), 양자화 계수 등)을 포함하는 비트스트림을 생성하고 출력할 수 있다.
역 양자화부(106)는 양자화된 변환 블록에 대하여 양자화 시에 사용한 양자화 기법을 역으로 수행하여 역 양자화 변환 블록을 복원한다.
역 변환부(107)는 변환 시에 사용한 방법과 동일한 방법을 이용하여 역 양자화 변환 블록을 역 변환하여 잔차 블록을 복원하는데, 변환부에서 이용한 변환 기법을 역으로 수행하여 역 변환한다.
한편, 이상에서는 역 양자화부와 역 변환부는 양자화부와 변환부에서 사용한 양자화 방식과 변환 방식을 역으로 사용하여 역 양자화 및 역 변환할 수 있다. 또한 변환부와 양자화부에서 양자화만을 수행하고 변환을 수행하지 않은 경우에는 역 양자화만을 수행하고 역 변환을 수행하지 않을 수 있다. 만약, 변환 및 양자화를 모두 수행하지 않은 경우, 역 양자화부와 역 변환부도 역 변환 및 역 양자화를 모두 수행하지 않거나 영상 부호화 장치에 포함되지 않고 생략될 수 있다.
가산부(108)는 역 변환부에서 생성된 잔차 신호와, 예측을 통하여 생성된 예측 블록을 가산하여 현재 블록을 복원한다.
필터부(109)는 현재 픽쳐 내 모든 블록들이 복원된 이후, 픽쳐 전체에 걸쳐서 추가적으로 필터링 해주는 과정으로 디블로킹 필터링, SAO(Sample Adaptive Offset) 등이 있다. 디블로킹 필터링이란 영상을 블록 단위로 부호화하면서 발생하는 블록 왜곡을 감소시키는 작업을 말하며, SAO(Sample Adaptive Offset)란 복원 화소에 특정 값을 감산하거나 가산함으로써, 복원 영상과 원본 영상간 차이를 최소화 시키는 작업을 말한다.
메모리(110)는 역 변환부에서 생성된 잔차 신호와, 예측을 통하여 생성된 예측 블록을 가산한 후, 인루프 필터부에서 추가적인 필터링을 거친 복원된 현재 블록을 저장하며, 다음 블록 또는 다음 사진 등을 예측하는데 활용될 수 있다.
감산부(111)는 현재 원본 블록에서 예측 블록을 감산하여 잔차 블록을 생성할 수 있다.
도 3은 예측 정보를 부호화하는 방법을 나타내는 흐름도이다.
도 3을 참고하면, S301 단계에서는 SKIP 모드의 동작 정보를 부호화한다. S302 단계에서는 SKIP 모드의 동작 여부를 판단한다. S302 단계에서 SKIP 모드가 동작한다면 S307 단계에서 SKIP 모드를 위한 MERGE 후보 색인 정보를 부호화한 후, 본 흐름도를 종료한다.
S302 단계에서 SKIP 모드가 동작하지 않는다면 S303 단계에서 예측 모드를 부호화한다. S303 단계에서는 예측 모드가 화면 간 예측인지 화면 내 예측 모드인지를 판단한다. S304 단계에서 예측 모드가 화면 간 예측 모드였다면, S305 단계에서 MERGE 모드의 동작 정보를 부호화한다.
S306 단계에서는 MERGE 모드의 동작 여부를 판단한다. S306 단계에서 MERGE 모드가 동작한다면 S307 단계로 넘어가서 MERGE 모드를 위한 MERGE 후보 색인 정보를 부호화한 후, 본 흐름도를 종료한다. S306 단계에서 MERGE 모드가 동작하지 않는다면 S308 단계에서 예측 방향을 부호화한다. 여기서 예측 방향은 과거 방향, 미래 방향, 양방향 중 하나일 수 있다.
S309 단계에서는 예측 방향이 미래방향인지 아닌지를 판단한다. S309 단계에서 예측 방향이 미래 방향이 아니었다면 S310 단계에서 과거 방향의 참조 픽쳐 색인 정보를 부호화한다.
S311 단계에서는 과거 방향의 MVD(Motion Vector Difference) 정보를 부호화한다. S312 단계에서는 과거 방향의 MVP(Motion Vector Predictor) 정보를 부호화한다.
S309 단계에서 예측 방향이 미래 방향 혹은 양방향이거나 S312 단계가 끝나면 S313 단계에서 예측 방향이 과거 방향인지 아닌지를 판단한다. S313 단계에서 예측 방향이 과거 방향이 아니었다면 S314 단계에서 미래 방향 참조 픽쳐 색인 정보를 부호화한다.
S315 단계에서는 미래 방향의 MVD 정보를 부호화한다. S316 단계에서는 미래 방향의 MVP 정보를 부호화한 후, 본 흐름도를 종료한다.
S304 단계에서 예측 모드가 화면 내 예측 모드였다면, S317 단계에서 MPM(Most Probable Mode) 모드 동작 정보를 부호화한다. MPM 모드란, 현재 블록 주변의 복원된 화면 내 예측 모드 등을 이용하여 MPM 후보 화면 내 예측 모드를 구성한 후, 영상 부호화 장치에서 결정된 현재 블록의 최적 화면 내 예측 모드 정보가 MPM 후보 화면 내 예측 모드 내에 존재한다면, MPM 후보 화면 내 예측 모드 색인 정보를 전송하는 방법을 말한다.
S318 단계에서 MPM 모드의 동작 여부를 판단한다. S318 단계에서 MPM 모드 동작이 참이라면 S319 단계에서 MPM 후보 화면 내 예측 모드의 색인 정보를 부호화한다. S318 단계에서 MPM 모드 동작이 거짓이라면 S320 단계에서 MPM 후보 화면 내 예측 모드를 제외한 나머지 화면 내 예측 모드들 중 Luma의 최적 화면 내 예측 모드 정보를 부호화한다.
S319, S320 단계가 종료된 후, S321 단계에서는 Chroma의 최적 화면 내 예측 모드 정보를 부호화한 후, 본 흐름도를 종료할 수 있다. 여기서 S308 단계 내지 S316 단계를 수행하는 부를 움직임정보 부호화부(31)라 칭한다. 또한, S317 단계 내지 S320 단계를 수행하는 부를 휘도 화면 내 예측 모드 부호화부(32)라 칭한다.
도 4는 영상 복호화 장치를 나타내는 흐름도이다.
도 4를 참조하면, 영상 복호화 장치는 영상을 복호화하는 장치로써 엔트로피 복호화부(401), 역 양자화부(402), 역 변환부(403), 예측부(404), 가산부(405), 인루프 필터부(406) 및 메모리부(407)를 포함할 수 있다.
도 4에 나타난 각 구성부들은 영상 복호화 장치에서 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시한 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시예 및 분리된 실시예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리범위에 포함된다.
또한, 일부의 구성 요소는 본 발명에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 발명은 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 발명의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 발명의 권리범위에 포함된다.
영상 부호화 장치에서 부호화 블록은 영상 복호화 장치에서 복호화 블록 또는 그대로 부호화 블록이라 칭해질 수 있다.
엔트로피 복호화부(401)는 영상 부호화 장치로부터 전송받은 비트스트림을 해석하여 해당 블록을 복호화 하는데 필요한 여러 정보들과 양자화된 변환 계수를 읽어 들일 수 있다.
역 양자화부(402)는 엔트로피 복호화부에서 복호화한 양자화 계수에 대하여 양자화 시에 사용한 양자화 기법을 역으로 수행하여 역 양자화된 계수를 가지는 역 양자화되 블록을 복원할 수 있다.
역 변환부(403)는 변환 시에 사용한 방법과 동일한 방법을 이용하여 역 양자화 변환 블록을 역 변환하여 차분 신호를 가지는 잔차 블록을 복원하는데, 변환부에서 이용한 변환 기법을 역으로 수행하여 역 변환할 수 있다.
예측부(404)는 엔트로피 복호화부에서 복호화한 예측 모드 정보를 이용하여 예측 블록을 생성하는데, 이는 영상 부호화 장치의 예측부에서 수행했던 예측 방식과 동일한 방식이 이용될 수 있다.
가산부(405)는 역 변환부에서 복원된 잔차 신호와, 예측을 통하여 생성된 예측 블록을 가산하여 현재 블록을 복원할 수 있다.
필터부(406)는 현재 픽쳐 내 모든 블록을 복원한 이후, 픽쳐 전체에 걸쳐서 추가적인 필터링은 하는 과정으로 디블로킹 필터링, SAO(Sample Adaptive Offset) 등이 있으며, 상세한 내용은 기 전술한 영상 부호화 장치의 인루프 필터부에서 설명한 바와 동일하다.
메모리(407)는 역 변환부에서 생성된 잔차 신호와, 예측을 통하여 생성된 예측 블록을 가산한 후, 인루프 필터부에서 추가적인 필터링을 거친 복원된 현재 블록을 저장하며, 다음 블록 또는 다음 사진 등을 예측하는데 활용될 수 있다.
도 5는 영상 복호화 장치의 예측부를 설명하기 위한 도면이다.
도 5을 참고하면, 예측 모드가 화면 내 예측이라면, 최적 화면 내 예측 모드 정보를 결정(501)하고, 화면 내 예측을 수행(502)하여 예측 블록을 생성할 수 있다.
예측 모드가 화면 간 예측이라면, SKIP, MERGE, AMVP 모드 중 최적 예측 모드를 결정(503)한다. 그리고, SKIP 모드 혹은 MERGE 모드로 복호화할 경우, MERGE 후보 탐색부(504)에서 SKIP 모드와, MERGE 모드를 위한 후보 움직임 정보 세트를 구성할 수 있다. 해당 후보 움직임 정보 세트 중, 최적 움직임 정보를 결정(505)할 수 있다.
AMVP 모드로 복호화할 경우, AMVP 후보 탐색부(506)에서는 AMVP 모드를 위한 후보 움직임 정보 세트를 구성할 수 있다. 해당 후보 움직임 정보 후보들 중, 전송된 MVP 정보를 이용하여 최적 움직임 정보를 결정(507)할 수 있다. 이후, 각 모드들에서 결정된 최적 움직임 정보를 이용하여 움직임 보상을 수행(508)하여 예측 블록을 생성할 수 있다.
도 6은 예측 정보를 복호화하는 방법을 나타낸 흐름도이다.
도 6을 참고하면, S601 단계에서는 SKIP 모드의 동작 정보를 복호화한다. S602 단계에서는 SKIP 모드의 동작 여부를 판단한다. S602 단계에서 SKIP 모드가 동작한다면 S607 단계에서 SKIP 모드를 위한 MERGE 후보 색인 정보를 복호화한 후, 본 흐름도를 종료한다.
S602 단계에서 SKIP 모드가 동작하지 않는다면 S603 단계에서 예측 모드를 복호화한다. S603 단계에서는 예측 모드가 화면 간 예측인지 화면 내 예측 모드인지를 판단한다. S604 단계에서 예측 모드가 화면 간 예측 모드였다면, S605 단계에서 MERGE 모드의 동작 정보를 복호화한다.
S606 단계에서는 MERGE 모드의 동작 여부를 판단한다. S606 단계에서 MERGE 모드가 동작한다면 S607 단계로 넘어가서 MERGE 모드를 위한 MERGE 후보 색인 정보를 복호화한 후, 본 흐름도를 종료할 수 있다. S606 단계에서 MERGE 모드가 동작하지 않는다면 S608 단계에서 예측 방향을 복호화한다. 여기서 예측 방향은 과거 방향, 미래 방향, 양방향 중 하나일 수 있다. S609 단계에서는 예측 방향이 미래방향인지 아닌지를 판단한다. S609 단계에서 예측 방향이 미래 방향이 아니었다면 S610 단계에서 과거 방향의 참조 픽쳐 색인 정보를 복호화한다.
S611 단계에서는 과거 방향의 MVD(Motion Vector Difference) 정보를 복호화한다. S612 단계에서는 과거 방향의 MVP(Motion Vector Predictor) 정보를 복호화한다.
S609 단계에서 예측 방향이 미래 방향 혹은 양방향이거나 S612 단계가 끝나면 S613 단계에서 예측 방향이 과거 방향인지 아닌지를 판단한다. S613 단계에서 예측 방향이 과거 방향이 아니었다면 S614 단계에서 미래 방향 참조 픽쳐 색인 정보를 복호화한다.
S615 단계에서는 미래 방향의 MVD 정보를 복호화한다. S616 단계에서는 미래 방향의 MVP 정보를 복호화한 후, 본 흐름도를 종료한다.
S604 단계에서 예측 모드가 화면 내 예측 모드였다면, S617 단계에서 MPM 모드 동작 정보를 복호화한다. S618 단계에서 MPM 모드의 동작 여부를 판단한다. S618 단계에서 MPM 모드 동작이 참이라면 S619 단계에서 MPM 후보 화면 내 예측 모드의 색인 정보를 복호화한다. S618 단계에서 MPM 모드 동작이 거짓이라면 S620 단계에서 MPM 후보 화면 내 예측 모드를 제외한 나머지 화면 내 예측 모드들 중 Luma의 최적 화면 내 예측 모드 정보를 복호화한다.
S619, S620 단계가 종료된 후, S621 단계에서는 Chroma의 최적 화면 내 예측 모드 정보를 복호화한 후, 본 흐름도를 종료할 수 있다. 여기서 S608 단계 내지 S616 단계를 수행하는 부를 움직임정보 부호화부(61)라 칭한다. 또한, S617 단계 내지 S620 단계를 수행하는 부를 Luma 화면 내 예측 모드 부호화부(62)라 칭한다.
이하, 본 발명의 다양한 실시예들을 도면들을 참조하면서 보다 상세하게 설명한다.
도 7은 본 발명의 일 실시예에 따른 영상 부호화 장치의 예측부를 설명하기 위한 도면이다.
원본 정보와 복원 정보를 이용하여 화면 내 예측을 수행(701)하는 경우, DIMD(Decoder side Intra prediction Mode Derivation) 모드를 이용하여 화면 내 예측 모드를 결정할지 말지를 RD-비용값으로 판단될 수 있다. DIMD 모드를 이용하지 않을 경우, Luma 화면 내 예측 모드를 결정(702)한다. 이때, 화면 내 예측 모드들 중 RD-비용값이 최소가 되는 화면 내 예측 모드가 결정될 수 있다.
반면, DIMD 모드를 이용할 경우, 화면 내 예측 모드 정보가 전송되지 않고, 영상 복호화 장치와 동일한 예측 방법을 이용하여 Luma의 화면 내 예측 모드가 결정될 수 있다. DIMD 예측 방법에 대해서는 도 15를 이용하여 상세히 설명한다.
이후, Luma 화면 내 예측 모드를 이용하여 Chroma 화면 내 예측 모드를 위한 후보 모드를 결정하고, 해당 후보 모드들 중 RD-비용값이 최소가 되는 화면 내 예측 모드를 Chroma 화면 내 예측 모드로 결정(704)할 수 있다. 영상 부호화 장치 예측부(700)는 결정된 Luma, Chroma 화면 내 예측 모드를 이용하여 현재 블록의 화면 내 예측 블록이 생성할 수 있다.
원본 정보와 복원 정보를 이용하여 화면 간 예측이 수행(705)되는 경우, SKIP 모드, MERGE 모드, AMVP 모드에 대해서 RD-비용값이 계산될 수 있다.
MERGE 후보 탐색부(706)에서는 SKIP 모드와, MERGE 모드를 위한 후보 움직임정보 세트가 구성(706)될 수 있다. 여기서 구성된 후보 움직임정보 세트 중, 최적 움직임정보가 RD-비용값을 이용하여 결정(707)될 수 있다.
AMVP 후보 탐색부(708)에서는 AMVP 모드를 위한 후보 움직임정보 세트가 구성(708)될 수 있다. 여기서 구성된 후보 움직임정보 세트들을 이용하여 움직임 추정이 수행(709)될 수 있고, 최적 움직임정보가 결정될 수 있다.
SKIP, MERGE, AMVP 모드의 최적 움직임정보가 결정된 이후, 지역 밝기 보상 적용 여부가 결정(710)될 수 있다. SKIP, MERGE 모드에서는 최적 후보 움직임정보로 복원된 예측 블록의 지역 밝기 보상 여부를 그대로 적용하여 결정될 수 있고, 지역 밝기 보상을 적용한 RD-비용값과 적용하지 않은 RD-비용값을 비교하여 결정될 수도 있다. AMVP 모드에서는 지역 밝기 보상을 적용한 RD-비용값과 적용하지 않은 RD-비용값을 비교하여 지역 밝기 보상 여부가 결정될 수 있다.
최적 움직임정보(움직임벡터 정밀도 포함), 지역 밝기 보상 적용 여부가 결정된 이후 결정된 정보들을 이용하여 움직임 보상이 수행(711)될 수 있다. 영상 부호화 장치의 예측부(700)은 움직임 보상(711)을 통해 화면 간 예측 블록을 생성한다.
도 8은 본 발명의 일 실시예에 따른 영상 복호화 장치의 예측부를 설명하기 위한 도면이다.
복원 정보를 이용하여 화면 내 예측을 수행(801)하는 경우, DIMD(Decoder side Intra prediction Mode Derivation) 모드를 이용하여 화면 내 예측 모드를 결정할지 여부가 결정될 수 있다.
이때, DIMD 모드를 이용하지 않을 경우, 복원 정보를 통해 Luma 화면 내 예측 모드가 결정(802)될 수 있다. DIMD 모드를 사용하는 경우, 복원 정보를 통해 영상 부호화 장치와 동일한 예측 방법을 이용하여 Luma의 화면 내 예측 모드가 결정될 수 있다.
이후, 복원 정보를 통해 Chroma 화면 내 예측 모드가 결정(804)될 수 있다. 영상 복호화 장치의 예측부(800)는 결정된 Luma, Chroma 화면 내 예측 모드를 이용하여 현재 블록의 화면 내 예측 블록을 생성할 수 있다.
복원 정보를 이용하여 화면 간 예측을 수행(805)하는 경우, 화면 간 예측 모드 중 현재 예측 모드가 SKIP 모드, MERGE 모드, AMVP 모드인지를 결정되어야 한다.
현재 예측 모드가 SKIP, MERGE 모드 중 하나라면, MERGE 후보 탐색부(806)는 SKIP 모드와, MERGE 모드를 위한 후보 움직임정보 세트를 구성할 수 있다. 복원 정보를 통해 해당 후보 움직임정보 세트 중, 최적 움직임정보가 결정(807)될 수 있다.
AMVP 후보 탐색부(808)는 AMVP 모드를 위한 후보 움직임정보 세트를 구성할 수 있다. 복원 정보를 통해 해당 후보 움직임정보 세트 중 최적 후보를 선택하고, 복원된 움직임 정보를 통해 최적 움직임정보를 결정(809)될 수 있다.
SKIP, MERGE, AMVP 모드의 최적 움직임정보가 결정된 후, 지역 밝기 보상 적용 여부가 복원 정보를 통해 결정(810)될 수 있다. 최적 움직임정보(움직임벡터 정밀도 포함), 지역 밝기 보상 적용 여부가 결정된 이후, 결정된 정보들을 이용하여 움직임 보상이 수행(811)될 수 있다. 영상 복호화 장치의 예측부(800)는 움직임 보상을 통해 화면 간 예측 블록을 생성할 수 있다.
도 9는 본 발명의 일 실시예에 따른 코딩 정보들의 부호화 방법을 나타낸 흐름도이다.
도 9를 참고하여, 본 특허의 일 실시예에 따른 영상 부호화 장치의 엔트로피 부호화부에서 각 코딩 정보들을 부호화하는 방법에 대해서 설명한다. 도 9의 S901 ~ S907 단계의 설명은 도 3의 S301 ~ S307 단계의 설명과 동일할 수 있다.
S906 단계에서 MERGE 모드 동작이 거짓이거나 S907 단계가 끝난 후, S908 단계에서 지역 밝기 보상 동작 정보가 부호화될 수 있다. 단, 예측 모드가 SKIP, MERGE 모드이면서 최적 후보 움직임정보로 복원된 예측 블록의 지역 밝기 보상 여부를 그대로 따라갈 경우, 본 단계는 생략될 수 있다.
S908 단계가 종료된 후, 움직임정보 부호화부(31) (도 3의 S308 ~ S316 단계)를 통해 움직임정보가 부호화될 수 있다.
S904 단계에서 예측 모드가 화면 간 예측 모드가 아닌 화면 내 예측 모드였다면 S909 단계에서 DIMD 모드 동작 정보가 부호화될 수 있다. S910 단계에서는 DIMD 모드 동작 여부를 판단한다. DIMD 모드 동작이 참이라면, 추가적인 화면 내 예측 모드 정보는 부호화되지 않을 수 있다. DIMD 모드 동작이 거짓이라면 Luma 화면 내 예측 모드 부호화부(32)(도 3의 S317 ~ S320 단계)를 통해 Luma의 최적 화면 내 예측 모드가 부호화될 수 있다.
S911 단계에서 Chroma의 최적 화면 내 예측 모드를 부호화될 수 있다. 이후, S912 단계에서 변환 타입의 고정적 적용 여부 정보가 부호화될 수 있다.
S913 단계에서는 변환 타입이 고정적인지 아닌지 여부가 판단될 수 있다. 변환 타입이 고정적으로 사용될 경우 본 흐름도를 종료될 수 있고, 변환 타입이 적응적으로 결정될 경우 변환 방향 별 변환 타입 정보를 부호화한 후, 본 흐름도를 종료될 수 있다.
도 10은 본 발명의 일 실시예에 따른 코딩 정보들의 복호화 방법을 나타낸 흐름도이다.
도 10을 참고하여, 본 특허의 일 실시예에 따른 영상 복호화 장치의 엔트로피 복호화부에서 각 코딩 정보들을 복호화하는 방법에 대해서 설명한다. S1001 ~ S1007 단계의 설명은 도 6의 S601 ~ S607 단계의 설명과 동일할 수 있다.
S1006 단계에서 MERGE 모드 동작이 거짓이거나 S1007 단계가 끝난 후, S1008 단계에서 지역 밝기 보상 동작 정보가 복호화될 수 있다. 단, 예측 모드가 SKIP, MERGE 모드이면서 최적 후보 움직임정보로 복원된 예측 블록의 지역 밝기 보상 여부를 그대로 따라갈 경우, 본 단계는 생략될 수 있다.
S1008 단계가 종료된 후, 움직임정보 복호화부(61)(도 6의 S608 ~ S616 단계)을 통해 움직임정보가 복호화될 수 있다. S1004 단계에서 예측 모드가 화면 내 예측 모드라면 S1009 단계에서 DIMD 모드 동작 정보가 복호화될 수 있다.
S1010 단계에서는 DIMD 모드 동작 여부가 판단될 수 있다. DIMD 모드 동작이 참이라면, 추가적인 화면 내 예측 모드 정보는 복호화되지 않을 수 있다. DIMD 모드 동작이 거짓이라면 Luma 화면 내 예측 모드 부호화부(62)(도 6의 S617 ~ S620 단계)를 통해 최적 Luma 화면 내 예측 모드가 복호화될 수 있다.
S1011 단계에서 최적 Chroma 화면 내 예측 모드가 복호화될 수 있다. 이후, S1012 단계에서 변환 타입의 고정적 적용 여부 정보가 복호화될 수 있다.
S1013 단계에서는 변환 타입이 고정적인지 아닌지를 여부가 판단될 수 있다. 변환 타입이 고정적으로 사용되는 경우 본 흐름도가 종료될 수 있고, 변환 타입이 적응적으로 결정되는 경우 변환 방향 별 변환 타입 정보를 복호화한 후, 본 흐름도가 종료될 수 있다.
이하에서는, 화면 간 예측 모드에서 움직임 벡터 차분(MVD : Motion Vector Difference)을 움직임 벡터 차분 정보를 이용하여 부호화/복호화하는 방법에 대해서 설명한다.
이하에서, 움직임 벡터 차분이란 최종 움직임 벡터를 유도하기 위해 사용되는 벡터 값을 의미할 수 있다. 예컨대, 현재 블록에 대한 움직임 벡터 차분은 현재 블록에 대한 초기 움직임 벡터와 더해져 현재 블록에 대한 최종 움직임 벡터를 유도하기 위해 사용될 수 있다.
움직임 벡터 차분 정보는 현재 블록에 대한 움직임 벡터 차분을 유도하기 위해 사용되는 정보일 수 있다. 영상 복호화 장치는 현재 블록에 대한 움직임 벡터 차분을 유도하기 위해 움직임 벡터 차분 정보를 복호화할 수 있다.
본 실시예에 따른 화면 간 예측 모드는 MERGE 모드, AMVP 모드, SKIP 모드 중 하나일 수 있다.
일예로, 현재 블록의 화면간 예측모드가 AMVP 모드인 경우, 움직임 벡터 차분은 MVP와 더해져, 현재 블록에 대한 최종 움직임 벡터를 유도할 수 있다.
다른 예로, 현재 블록의 화면간 예측 모드가 MERGE 모드인 경우, 움직임 벡터 차분은 MERGE 모드를 통해 유도된 초기 움직임 벡터와 더해져, 현재 블록에 대한 최종 움직임 벡터를 유도할 수 있다. 즉, 움직임 벡터 차분은 Merge 모드를 통해 유도된 초기 움직임 벡터를 보정하기 위해 사용되는 벡터 값일 수 있다. 예컨대, 움직임 벡터 차분은 초기 움직임 벡터에 대한 정밀도 정보를 지칭하는 것일 수 있다. MERGE 모드에서의 초기 움직임 벡터는 현재 블록에 대한 머지 후보 리스트를 이용하여 유도될 수 있다.
도 11은 화면 간 예측 모드에서 움직임 벡터 차분 정보를 부호화/복호화하는 방법에 대해서 설명한 흐름도이다.
도 11의 1101 방법 및 1102 방법은 각각 움직임정보 부호화부(31), 움직임정보 복호화부(61)에서 움직임 벡터 차분 정보를 부호화(S311, S315 단계)/복호화(S611, S615 단계)하는 방법을 상세히 나타낸 것일 수 있다.
다른 예로, 도 11의 1101 방법 및 1102 방법은 각각 MERGE 모드 동작 정보 부호화(S305 단계)/MERGE 모드 동작 정보 복호화(S605 단계)에서의 동작을 상세히 나타낸 것일 수 있다.
일예로, 움직임 벡터 차분 정보는 현재 블록에 움직임 대한 움직임 벡터 차분이 존재하는지 여부를 지시하는 정보를 포함할 수 있다. 움직임 벡터 차분이 존재하는지 여부에 대한 정보는 flag 값으로 표현될 수 있다.
일예로, 움직임 벡터 차분 정보는 움직임 벡터 차분에 대한 X 성분 절대값 정보 또는 Y 성분 절대값 정보 중 적어도 하나를 포함할 수 있다.
S1103 단계에서, 영상 부호화 장치는 움직임 벡터 차분에 대한 X 성분의 절대값 정보를 부호화하고, S1104 단계에서는 Y 성분의 절대값 정보를 부호화할 수 있다. 다른 예로, 영상 부호화 장치는 움직임 벡터 차분에 대한 Y 성분의 절대값 정보를 먼저 부호화하고, 움직임 벡터 차분에 대한 X 성분 절대값 정보를 부호화할 수 있다.
반면, S1107 단계에서, 영상 복호화 장치는 움직임 벡터 차분에 대한 X 성분의 절대값 정보를 복호화하고, S1108 단계에서는 Y 성분의 절대값 정보를 복호화할 수 있다. 다른 예로, 영상 복호화 장치는 움직임 벡터 차분에 대한 Y 성분의 절대값 정보를 먼저 복호화하고, 움직임 벡터 차분에 대한 X 성분 절대값 정보를 복호화할 수 있다.
다른 예로, 영상 부호화 장치/복호화 장치는 움직임 벡터 차분에 대한 X 성분 및 Y 성분 절대값 정보를 동시에 부호화/복호화할 수 있다. 움직임 벡터 차분에 대한 X 성분 및 Y 성분을 동시에 부호화/복호화하기 위해, 움직임 벡터 차분 정보는 X 성분 절대값 또는 Y 성분 절대값 정보 중 적어도 하나로 구성되는 움직임 벡터 절대값 세트 정보를 포함할 수 있다.
한편, 움직임 벡터 차분 정보는 움직임 벡터 차분에 대한 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트에 대한 정보를 포함할 수 있다. 예컨대, 부호 세트에 대한 정보는 움직임 벡터 차분에 대한 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트들 중 하나를 지시하는 정보 일 수 있다. 이때, 부호 세트들은 부호 세트 별로 이진 정보가 할당될 수 있으며, 부호 세트에 대한 정보는 이러한 부호 세트들 중 하나를 지시하는 인덱스(index)로 표현될 수 있다.
일예로, 부호 세트에 대한 정보는 다음의 표 1에 따라 정의되는 부호 세트 중 하나를 지시하는 인덱스일 수 있다.
[표 1]
Figure pat00002
S1105 단계에서 부호화 장치는 움직임 벡터 차분의 부호 세트 별로 템플릿 매칭 비용값을 계산하여 움직임 벡터 차분의 부호 세트 별로 이진 정보 혹은 인덱스를 할당할 수 있다.
도 12는 본 발명의 일 실시예에 따른 움직임 벡터 차분 정보 부호화 시, 템플릿 매칭 비용값을 이용하여 이진 정보를 결정하는 방법을 나타낸 표이다.
일예로, 움직임 벡터 차분의 X, Y 성분이 모두 절대값이 0이 아니었다면 도 12의 1201에 따라 움직임 벡터 차분 부호 세트의 이진 정보가 할당될 수 있다. 이때, 각 움직임 벡터 차분 부호 세트 별로, 템플릿 매칭 비용값이 계산될 수 있다.
다른 예로, 움직임 벡터 차분의 X, Y 성분 중 하나의 절대값이 0이라면 1202, 1203에 따라 움직임 벡터 차분 부호 세트의 이진 정보가 할당될 수 있다. 1202는 움직임 벡터 차분의 X 성분의 절대값이 0인 경우이고, 1203은 움직임 벡터 차분의 Y 성분의 절대값이 0인 경우일 수 있다. 이 경우, 2가지 부호 세트에 대해서만 템플릿 매칭 비용값이 계산될 수 있다.
영상 부호화 장치는 각 경우(1201, 1202, 1203)에 대해, 계산된 템플릿 매칭 비용값이 낮은 순으로 각 부호 세트에 할당되는 이진 정보를 효율적으로 결정함으로써, 코딩 효율을 높일 수 있다. 1202, 1203과 같은 경우에는 할당 이진 정보의 이진수는 각 움직임 벡터 차분 부호 세트 별로 1자리 이지만, 엔트로피 부호화부, 엔트로피 복호화부에서 각 이진정보에 해당하는 CABAC 확률 정보를 템플릿 매칭 비용값이 낮은 이진 정보의 확률을 높임으로써 코딩 효율을 높일 수 있다.
도 12의 템플릿 매칭 비용값과 할당 이진 정보는 예시에 해당하는 것으로, 비용값은 당연히 달라질 수 있으며 이진 정보를 할당하는 방법 역시 달라질 수 있다.
도 13은 본 발명의 일 실시예에 따른 움직임 벡터 차분 정보의 이진 정보 결정 시, 템플릿 매칭 기술을 설명하기 위한 도면이다.
도 13을 참고하여, 전술한 템플릿 매칭 기술에 대해 설명한다. 현재 픽쳐 내 현재 블록의 복원된 영역 내에서 템플릿 영역이 결정될 수 있다. 템플릿 영역은 도 13에서처럼 현재 블록의 좌측(Lh x Lw, Lh, Lw는 0보다 큰 정수), 상단(Aw x Ah, Aw, Ah는 0보다 큰 정수) 영역에서 결정될 수도 있다. 이때 템플릿 영역의 모양, 위치 및 크기는 다양하게 결정될 수도 있다.
참조 픽쳐 내 움직임 추정 탐색 영역 내에서 현재 픽쳐의 템플릿과 가장 유사한 영역이 참조 픽쳐의 템플릿 영역으로 탐색될 수 있다. 이때, 현재 블록 주변의 템플릿 영역들과 움직임추정 탐색 영역 내의 템플릿 영역 간 에러의 양이 템플릿 매칭 비용값으로 결정될 수 있다. 여기서 에러의 양은 SAD(Sum of Absolute Difference), SSD(Sum of Square Difference) 등의 계산 방법을 통해서 유도될 수 있다. 아래의 수학식 2 및 3은 각각 SAD, SSD의 계산 방법을 나타낸 수학식이다.
[수학식 2]
Figure pat00003
[수학식 3]
Figure pat00004
여기서, i, j는 화소의 위치 Template(i, j)는 템플릿 블록의 화소를 의미하고, PredBlk(i, j)는 예측 블록의 화소를 의미한다.
이후, S1106 단계 및 S1110에서는 결정된 움직임 벡터 차분의 부호 세트의 이진 정보 혹은 인덱스가 부호화/복호화 될 수 있다.
이하에서는, 화면 내 예측 모드에서 최적 Luma Chroma 화면 내 예측 모드를 부호화/복호화하는 경우, 템플릿 매칭 기술을 이용하여 이진 정보를 결정하는 방법에 대해서 설명한다.
도 14는 본 발명의 일 실시예에 따른 DIMD 모드를 위한 템플릿 매칭 기술의 템플릿 매칭 비용값을 이용하여 MPM 후보 모드 리스트의 후보 별 이진 정보 할당 방법, Chroma 후보 모드의 이진 정보 할당 방법을 설명하기 위한 도면이다.
도 14는 도 3의 Luma 화면 내 예측 모드를 부호화부, 도 6의 Luma 화면 내 예측 모드 복호화부에서 MPM 모드 동작이 참일 때, MPM 색인 정보를 부호화(S319), MPM 색인 정보를 복호화(S619)시에, 색인 정보의 이진 정보를 템플릿 매칭 비용값을 바탕으로 결정하는 방법을 나타낸 예시이다. 화면 내 예측 모드에서의 템플릿 매칭 기술은 화면 간 예측 모드에서의 템플릿 매칭 기술과 상이할 수 있다.
도 15는 본 발명의 일 실시예에 따른 DIMD 모드의 템플릿 매칭 기술을 설명하기 위한 도면이다.
도 15를 참고하여, 화면 내 예측 모드에서 현재 블록 주변의 복원 영역에서 템플릿 영역을 이용한 템플릿 매칭 기술을 설명한다. 도 15에 따르면, 현재 블록 주변의 복원 영역에서 템플릿 영역이 결정될 수 있다.
여기서, 템플릿 영역의 크기는 다양하게 결정될 수 있다. 이후, 템플릿 영역의 주변에서 템플릿 영역의 참조 영역이 결정될 수 있다. 이 참조 영역의 복원 화소들을 이용하여 템플릿 영역을 화면 내 예측하고, 예측된 값과 템플릿 영역의 복원값 간 차이, 즉 예측 에러의 양이 템플릿 매칭 비용값으로 결정될 수 있다. 예측 에러의 양 계산 방법은 전술한 SAD, SSD 등 다양한 방법이 사용될 수 있다.
도 14의 1401에서는 최적 Luma 화면 내 예측 모드를 부호화되는 경우, MPM 후보 리스트에 포함되어 있는 화면 내 예측 모드에 대한 템플릿 매칭 비용값이 먼저 계산될 수 있다.
이후, 템플릿 매칭 비용값이 작은 순으로 화면 내 예측 모드에 이진 정보가 더 적게 할당될 수 있다.
예를 들어 1401의 표에서처럼 MPM 후보 리스트에 수직(Ver) 모드, DC 모드, Planar 모드, 수평(Hor) 모드, Angular 20번 모드가 포함되고, 각 화면 내 예측 모드 별로 템플릿 매칭 비용값이 100, 120, 80, 140, 150인 경우, 템플릿 매칭 비용값이 작은 순으로 할당 이진 정보가 0, 10, 110, 1110, 1111로 결정될 수 있다. 1401 표에서의 템플릿 매칭 비용값과 할당 이진 정보는 예시에 해당하는 것으로, 비용값은 달라질 수 있으며 이진 정보를 할당하는 방법 역시 달라질 수 있다.
도 14의 1402에서는 최적 Chroma 화면 내 예측 모드를 부호화되는 경우, Chroma 후보 모드 리스트에 있는 화면 내 예측 모드에 대한 템플릿 매칭 비용값이 먼저 계산될 수 있다.
이후, 템플릿 매칭 비용값이 작은 순으로 Chroma 화면 내 예측 모드에 이진 정보가 더 작게 할당될 수 있다.
Chroma 후보 모드 리스트의 화면 내 예측 모드들로 Luma 블록에서 복원된 화면 내 예측 모드들이 이용될 수 있다. 4:2:0 포맷의 영상에서는 Chroma 블록은 Luma 블록의 1/4 크기이다. 또한, Intra only 픽쳐에서는 Luma 블록과 Chroma 블록의 블록 분할이 독립적으로 이루어 질 수 있기 때문에, 1402의 그림 예시처럼, Luma 블록과 Chroma 블록의 블록 분할은 상이할 수 있다.
Chroma 후보 모드 리스트 구성 시, Luma 블록의 서로 다른 5개 블록(A1, A2, A3, A4, A5)에서 복원된 화면 내 예측 모드를 이용하여 Chroma 후보 모드 리스트가 구성될 수 있다. 구성된 Chroma 후보 모드 리스트에서 A1, A2, A3, A4, A5 블록에 있는 화면 내 예측 모드의 템플릿 매칭 비용값을 계산하고, 해당 비용값이 작은 순으로 1402의 표에서처럼 할당 이진 정보의 양이 작게 할당될 수 있다. 1402의 표에서의 템플릿 매칭 비용값과 할당 이진 정보는 예시에 해당하는 것으로, 비용값은 달라질 수 있으며 이진 정보를 할당하는 방법 역시 달라질 수 있다.
이하에서는, 화면 간 예측 모드에서 지역적 밝기 보상을 과정을 수행될 때, 현재 블록 주변 복원 영역에서 템플릿 영역을 이용하는 방법에 대해서 설명한다.
도 16은 본 발명의 일 실시예에 따른 지역 밝기 보상 기술 수행 시, 현재 블록 주변 복원 영역 내에서 템플릿 사용 여부에 따른 예측 블록 주변 복원 영역 내에서 템플릿 사용 여부를 결정하는 방법을 설명하기 위한 도면이다.
지역적 밝기 보상 수행되는 경우, 최적 움직임정보가 가리키는 예측 블록 주변 복원 영역의 템플릿 영역과 현재 블록의 주변 복원 영역 템플릿 영역의 차이가 최소가 되게 하는 보상 과정이 수행될 수 있다. 이 보상 과정은 선형 회귀 분석을 통해 직선의 최소제곱합이 최소가 되게 하는 파라미터 α, β를 유도하는 과정일 수 있다. α, β를 이용한 지역적 밝기 보상은 수학식 4를 통해 수행될 수 있다.
[수학식 4]
FinalPred = α x CurPred + β
α, β를 유도하는 경우, 현재 블록 주변 복원 영역의 템플릿 영역이 도 16에 도시되어 있는 것처럼 제한될 수 있다. 이러한 제한은 영상의 효율적인 병렬처리 구조 설계를 위한 것 일 수 있다.
현재 블록 주변 복원 영역의 템플릿 영역의 이용 여부를 결정할 때, 현재 블록이 포함된 최대 부호화 블록을 벗어나는 영역은 템플릿 영역으로 이용되지 않을 수 있다. 또한, 임의 크기의 윈도우(KxL)를 설정하여 해당 윈도우를 벗어나는 템플릿 영역은 이용되지 않을 수도 있다. 이 윈도우의 크기는 상위 헤더(비디오 파라미터 단, 시퀀스 파라미터 단, 픽쳐 파라미터 단, 슬라이스 단 등)를 통해 전송될 수 있으며, 영상 부호화/복호화 장치에서 기 설정된 크기를 동일하게 사용할 수도 있다.
또한, 템플릿 영역의 이용여부는 슬라이스 및 타일과 같은 분할 경계를 침범하여 결정할 수는 없다.
예측 블록 주변 복원 영역의 템플릿 영역에서도 현재 블록 주변에서 이용 가능한 템플릿 영역의 위치만을 동일하게 이용할 수 있다.
도 16은 본 발명의 일 실시예에 따른 지역 밝기 보상 기술 수행 시, 현재 블록 주변 복원 영역 내에서 템플릿 사용 여부에 따른 예측 블록 주변 복원 영역 내에서 템플릿 사용 여부를 결정하는 방법을 설명하기 위한 도면이다.
도 16의 1601은, 현재 블록 주변 복원 영역의 상단 영역이 템플릿 영역으로 사용 불가능하므로, 예측 블록 상단 영역의 템플릿 영역도 사용이 불가능함을 나타내는 예시이다. 도 16의 1602는 현재 블록 주변 복원 영역에서 좌측 영역이 템플릿 영역으로 사용 불가능하므로, 예측 블록 좌측 영역의 템플릿 영역도 사용이 불가능함을 나타내는 예시이다. 도 16의 1603은 현재 블록 주변 복원 영역에서 상단, 좌측 영역이 템플릿 영역으로 모두 이용 불가능하므로, 예측 블록 상단, 좌측 영역의 템플릿 영역도 모두 이용이 불가능함을 나타내는 예시이다.
1603 예시의 경우에는 지역적 밝기 보상 과정이 수행되지 않을 수 있다. 이 경우 도 9의 S908 단계에서 지역 밝기 보상 동작 정보가 부호화 되지 않고, 도 10의 S1008 단계에서도 지역 밝기 보상 동작 정보가 복호화 되지 않을 수 있다. 이때 지역적 밝기 보상 과정 동작 정보는 거짓(false)으로 결정될 수 있다.
이하에서는, 영상의 블록 단위 변환을 위하여 변환 타입을 부호화/복호화하는 경우, 템플릿 매칭 기술을 이용하여 변환 타입의 이진 정보를 결정하는 방법에 대해서 설명한다.
도 17은 본 발명의 일 실시예에 따른 영상 부호화 장치의 변환부이다.
영상 부호화 장치의 변환부(1700)는 잔차 정보를 주파수 도메인으로 변환하여 변환 계수를 유도할 수 있다. 잔차 정보 변환 시, 변환 타입은 고정적으로 결정(1701)되거나 적응적으로 결정(1702)될 수 있다.
변환 타입이 고정되어 있는 경우, 고정된 변환 타입으로 잔차 정보를 가로 방향으로 변환(1704) 후, 세로 방향으로 변환(1705)하여 변환 계수가 얻어질 수 있다. 이 때, 변환 타입은 DCT-2 타입 등 다양한 변환 타입 중 하나가 고정적으로 사용될 수 있다.
반면, 변환 타입이 적응적으로 결정되는 경우, 변환 타입은 여러 변환 타입들 중에서 적응적으로 결정될 수 있다. 예를 들어 DCT-2, DCT-5, DCT-8, DST-1, DST-7 타입 중 하나의 변환 타입이 적응적으로 결정될 수 있다. 이때, 각 변환 방향 별로 변환 타입이 결정(1703)될 수 있다. 결정된 변환 방향 별 변환 타입을 이용하여 가로 방향 변환(1704) 및 세로 방향 변환(1705)이 수행되어 변환 계수가 유도될 수 있다. 이 때, 방향 별 변환 타입은 블록 단위에서 전송될 수도 있고, 변환 블록의 크기나 모양 등을 고려하여 상위 헤더에서 기 설정되어 사용될 수도 있다.
도 18은 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치의 역 변환부이다.
영상 부호화/복호화 장치의 역 변환부(1800)에서는 역 양자화된 계수를 픽셀 도메인으로 변환하여 복원된 잔차 계수가 유도될 수 있다. 역 양자화된 계수를 역 변환 시, 역 변환 타입을 고정적으로 결정되거나(1801), 적응적으로 결정(1802)될 수 있다.
영상 부호화 장치의 변환부(1700)에서 변환 타입을 고정하여 변환하였다면, 영상 부호화/복호화 장치의 역 변환부(1800)에서도 역 변환 타입을 고정하여 역 변환이 수행될 수 있다. 역 변환 타입은 변환부에서 결정된 변환 타입의 세로 방향 역 변환(1804) 및 가로 방향 역 변환(1805)이 수행되어 복원된 잔차 계수가 유도될 수 있다.
역 변환 타입이 적응적으로 결정될 경우, 역 변환 타입은 변환부에서 결정된 변환 방향 별 변환 타입의 세로 방향 역 변환(1804), 가로 방향 역 변환(1805)이 수행되어 복원된 잔차 계수가 유도될 수 있다.
도 19는 본 발명의 일 실시예에 따른 영상 부호화/복호화 장치의 변환부/역 변환부에서 변환 타입의 이진 정보를 결정하기 위해서 템플릿 매칭 기술을 이용하는 방법을 설명하기 위한 도면이다.
도 19를 참고하여, 변환부에서 변환 방향 별 변환 타입이 적응적으로 결정되는 경우 변환 방향 별 변환 타입 정보를 부호화/복호화할 때, 이진 정보를 결정하는 방법과 이진 정보를 결정할 때 템플릿 매칭 기술 적용 시 현재 블록 주변 복원 영역에서 템플릿 영역의 이용 여부를 결정하는 방법에 대해서 설명한다.
1904의 예시에 따르면, 변환 타입 세트가 5개가 정의되어 있고, 각 변환 타입 세트 별로 가로/세로 변환 타입이 결정되어 있다. 이 때, 각 변환 세트 별로 템플릿 매칭 기술을 이용하여 템플릿 매칭 비용값이 계산될 수 있다.
변환부에서의 템플릿 매칭 기술에서 템플릿 매칭 비용값을 계산하기 위해서는 현재 블록 주변 복원 영역에서의 템플릿 영역만이 필요할 수 있다. 1901~1903의 예시에서, 각 변환 타입 세트를 이용하여 현재 블록의 좌측, 상단 1줄에 대해서 복원 화소값이 계산될 수 있다. 복원 영역에 해당하는 잔차값들을 변환/양자화 한 후, 역 양자화/역 변환한 뒤 예측값을 더하면 복원 영역의 복원 화소값이 얻어질 수 있다. 템플릿 매칭 비용값은 복원 영역과 템플릿 영역을 이용하여 아래의 수학식 5 를 이용하여 계산될 수 있다.
[수학식 5]
Figure pat00005
수학식 5에서 TempDist는 템플릿 매칭 비용값을 의미한다. i는 좌측 템플릿 영역의 좌표를 의미하고, j는 상단 템플릿 영역의 좌표를 의미한다. Width, Height는 현재 블록의 가로, 세로 길이를 의미한다.
수학식 5를 통해서 변환 타입 세트 별로 템플릿 매칭 비용값을 계산하고, 해당 비용값이 작은순으로 이진 정보의 양이 작게 할당될 수 있다. 1904 표에서의 가로/세로 변환의 변환 타입, 템플릿 매칭 비용값과 할당 이진 정보는 예시에 해당하는 것으로, 변환 타입은 다양한 조합으로 바뀔 수 있고 비용값은 달라질 수 있으며 이진 정보를 할당하는 방법 역시 달라질 수 있다.
템플릿 매칭 비용값 계산 시, 현재 블록 주변 복원 영역의 템플릿 영역이 1901, 1902, 1903의 예시처럼 제한될 수 있다. 현재 블록이 포함된 최대 부호화 블록을 벗어나는 영역은 템플릿 영역으로 사용되지 않을 수 있다. 또한, 임의 크기의 윈도우(KxL)를 설정하여 해당 윈도우를 벗어나는 템플릿 영역을 이용되지 않을 수도 있다. 이 윈도우의 크기는 상위 헤더에서 전송될 수도 있으며, 영상 부호화/복호화 장치에서 기 설정된 크기가 동일하게 사용될 수도 있다.
또한, 슬라이스 및 타일과 같은 상위 헤더에서 결정되는 분할 경계를 침범하여 결정할 수는 없다.
도 19의 1901은 현재 블록 주변 복원 영역에서 상단 영역이 템플릿 영역으로 사용 불가능한 경우를 예시한다. 1902는 현재 블록 주변 복원 영역에서 좌측 영역이 템플릿 영역으로 사용 불가능한 경우를 예시한다. 1903은 현재 블록 주변 복원 영역에서 상단, 좌측 영역이 템플릿 영역으로 모두 이용 불가능한 경우를 예시한다.
1903 예시의 예시에서는, 변환 타입이 고정적으로 사용될 수 있다. 그러므로 도 9의 S912 단계에서 변환 타입의 고정적 적용 여부 정보가 부호화 되지 않고, 변환 타입이 고정적으로 사용될 수 있다. 도 10의 S1012 단계에서도 변환 타입의 고정적 적용 여부 정보를 복호화되지 않고, 변환 타입이 고정적으로 사용될 수 있다.
도 20은 본 발명의 일 실시예에 따른 영상 복호화 방법을 설명하기 위한 흐름도이다.
도 20을 참고하면, 영상 복호화 장치는 현재 블록에 대한 초기 움직임 벡터를 유도할 수 있다(S2001).
여기서, 초기 움직임 벡터는 현재 블록에 대한 머지 후보 리스트를 이용하여 유도될 수 있다. 예컨대, 초기 움직임 벡터는 Merge 모드를 통해 유도되는 후보 움직임 정보를 통해 유도될 수 있다. 머지 후보 리스트는 현재 블록의 공간적 후보 블록들의 움직임 정보 및 시간적 후보 블록의 움직임 정보 중 적어도 하나를 이용하여 유도될 수 있다.
그리고, 영상 복호화 장치는 S2001에서 유도된 초기 움직임 벡터에 대한 움직임 벡터 차분 정보를 복호화하고(S2002), 복호화된 움직임 벡터 차분 정보를 이용하여 초기 움직임 벡터에 대한 움직임 벡터 차분을 유도할 수 있다(S2003). 그리고, 영상 복호화 장치는 S2001에서 유도된 초기 움직임 벡터에 S2003에서 유도된 움직임 벡터 차분을 더하여, 현재 블록에 대한 최종 움직임 벡터를 유도할 수 있다(S2004).
여기서, 움직임 벡터 차분 정보는 움직임 벡터 차분에 대한 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트에 대한 정보를 포함할 수 있다. 또한 움직임 벡터 차분 정보는 움직임 벡터 차분에 대한 X 성분 절대값 정보 또는 Y 성분 절대값 정보 중 적어도 하나를 포함할 수 있다.
이때 부호 세트에 대한 정보는 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트들 중 하나를 지시할 수 있으며, 이는 인덱스의 형태로 표현될 수 있다.
도 21은 본 발명의 일 실시예에 따른 영상 부호화 방법을 설명하기 위한 흐름도이다.
도 21을 참고하면, 영상 부호화 장치는 현재 블록에 대한 최종 움직임 벡터를 결정할 수 있다(S2101).
이때 영상 부호화 장치는 RD-cost 비교 등을 통해 현재 블록에 대한 최종 움직임 벡터를 유도할 수 있다.
그리고, 영상 부호화 장치는 S2101에서 결정된 최종 움직임 벡터에 대한 움직임 벡터 차분을 결정할 수 있다(S2102). 영상 부호화 장치는 S2101에서 결정된 움직임 벡터 차분에 대한 움직임 벡터 차분 정보를 부호화할 수 있다.
여기서, 움직임 벡터 차분은 영상 복호화 장치에서 현재 블록에 대한 초기 움직임 벡터와 더해져 S2101에서 결정된 최종 움직임 벡터를 유도하기 위해 이용될 수 있다.
여기서, 움직임 벡터 차분 정보는 움직임 벡터 차분에 대한 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트에 대한 정보를 포함할 수 있다. 또한 움직임 벡터 차분 정보는 움직임 벡터 차분에 대한 X 성분 절대값 정보 또는 Y 성분 절대값 정보 중 적어도 하나를 포함할 수 있다.
이때 부호 세트에 대한 정보는 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트들 중 하나를 지시할 수 있으며, 이는 인덱스의 형태로 표현될 수 있다.
도 21의 영상 부호화 방법에 의해 생성된 비트스트림(또는 부호화 데이터)은 컴퓨터 판독가능한 기록매체에 저장될 수 있다. 또한, 비트스트림은 초기 움직임 벡터 정보 및 초기 움직임 벡터에 대한 움직임 벡터 차분 정보를 더 포함할 수 있다.
상술한 실시예들은 영상 부호화 장치 및 영상 복호화 장치에서 동일한 방법 혹은 대응되는 방법으로 수행될 수 있다.
상기 실시예들 중 적어도 하나 혹은 적어도 하나의 조합을 이용해서 영상을 부호화/복호화할 수 있다.
상기 실시예를 적용하는 순서는 영상 부호화 장치와 영상 복호화 장치에서 상이할 수 있고, 상기 실시예를 적용하는 순서는 영상 부호화 장치와 영상 복호화 장치에서 동일할 수 있다.
휘도 및 색차 신호 각각에 대하여 상기 실시예를 수행할 수 있고, 휘도 및 색차 신호에 대한 상기 실시예를 동일하게 수행할 수 있다.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.

Claims (13)

  1. 현재 블록에 대한 초기 움직임 벡터를 유도하는 단계;
    상기 초기 움직임 벡터에 대한 움직임 벡터 차분 정보를 복호화하는 단계;
    상기 움직임 벡터 차분 정보를 이용하여 상기 움직임 벡터에 대한 움직임 벡터 차분을 유도하는 단계; 및
    상기 초기 움직임 벡터에 상기 움직임 벡터 차분을 더하여, 현재 블록에 대한 최종 움직임 벡터를 유도하는 단계를 포함하되,
    상기 움직임 벡터 차분 정보는 상기 움직임 벡터 차분에 대한 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트에 대한 정보를 포함하는, 영상 복호화 방법.
  2. 제 1항에 있어서,
    상기 움직임 벡터 차분 정보는, 상기 움직임 벡터 차분에 대한 X 성분 절대값 정보 또는 상기 움직임 벡터 차분에 대한 Y 성분 절대값 정보 중 적어도 하나를 포함하는, 영상 복호화 방법.
  3. 제 1항에 있어서,
    상기 부호 세트에 대한 정보는 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트들 중 하나를 지시하는, 영상 복호화 방법.
  4. 제 3항에 있어서,
    상기 부호 세트들은 부호 세트 별로 이진 정보가 할당되는, 영상 복호화 방법.
  5. 제 1항에 있어서,
    상기 부호 세트에 대한 정보는 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트들 중 하나를 지시하는 인덱스 인 것을 특징으로 하는, 영상 복호화 방법.
  6. 제 1항에 있어서,
    상기 초기 움직임 벡터는 상기 현재 블록에 대한 머지 후보 리스트를 이용하여 유도되는, 영상 복호화 방법.
  7. 현재 블록에 대한 최종 움직임 벡터를 결정하는 단계;
    상기 최종 움직임 벡터에 대한 움직임 벡터 차분을 결정하는 단계; 및
    상기 움직임 벡터 차분에 대한 움직임 벡터 차분 정보를 부호화 하는 단계를 포함하되,
    상기 움직임 벡터 차분은 상기 현재 블록에 대한 초기 움직임 벡터와 더해져 상기 최종 움직임 벡터를 유도하기 위해 이용되고,
    상기 움직임 벡터 차분 정보는 상기 움직임 벡터 차분에 대한 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트에 대한 정보를 포함하는, 영상 부호화 방법.
  8. 제 7항에 있어서,
    상기 움직임 벡터 차분 정보는, 상기 움직임 벡터 차분에 대한 X 성분 절대값 정보 또는 상기 움직임 벡터 차분에 대한 Y 성분 절대값 정보 중 적어도 하나를 포함하는, 영상 부호화 방법.
  9. 제 7항에 있어서,
    상기 부호 세트에 대한 정보는 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트들 중 하나를 지시하는, 영상 부호화 방법.
  10. 제 9항에 있어서,
    상기 부호 세트들은 부호 세트 별로 이진 정보가 할당되는, 영상 부호화 방법.
  11. 제 8항에 있어서,
    상기 부호 세트에 대한 정보는 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트들 중 하나를 지시하는 인덱스 인 것을 특징으로 하는, 영상 부호화 방법.
  12. 제 7항에 있어서,
    상기 초기 움직임 벡터는 상기 현재 블록에 대한 머지 후보 리스트를 이용하여 유도되는, 영상 복호화 방법.
  13. 영상 복호화 장치에 수신되고 영상에 포함된 현재 블록을 복원하는데 이용되는 비트스트림을 저장한 컴퓨터 판독가능한 기록매체로서,
    상기 비트스트림은 상기 현재 블록에 대한 초기 움직임 벡터 정보 및 상기 초기 움직임 벡터에 대한 움직임 벡터 차분 정보를 포함하고,
    상기 초기 움직임 벡터 정보는 상기 현재 블록의 초기 움직임 벡터를 유도하기 위해 이용되고,
    상기 움직임 벡터 차분 정보는 상기 현재 블록에 대한 움직임 벡터 차분을 유도하기 위해 이용되고,
    상기 현재 블록에 대한 최종 움직임 벡터는 상기 초기 움직임 벡터와 상기 움직임 벡터 차분을 더하여 유도되고,
    상기 움직임 벡터 차분 정보는 상기 움직임 벡터 차분에 대한 X 성분 부호 및 Y 성분 부호 중 어느 하나로 구성되는 부호 세트에 대한 정보를 포함하는, 컴퓨터 판독가능한 기록매체.
KR1020190072349A 2018-06-18 2019-06-18 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체 KR20190142748A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180069605 2018-06-18
KR1020180069605 2018-06-18

Publications (1)

Publication Number Publication Date
KR20190142748A true KR20190142748A (ko) 2019-12-27

Family

ID=69062462

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190072349A KR20190142748A (ko) 2018-06-18 2019-06-18 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Country Status (1)

Country Link
KR (1) KR20190142748A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022260341A1 (ko) * 2021-06-11 2022-12-15 현대자동차주식회사 비디오 부호화/복호화 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022260341A1 (ko) * 2021-06-11 2022-12-15 현대자동차주식회사 비디오 부호화/복호화 방법 및 장치

Similar Documents

Publication Publication Date Title
KR102541425B1 (ko) 히스토리 기반 움직임 벡터에 기반한 인터 예측 방법 및 그 장치
US20210160508A1 (en) Method and apparatus for encoding and decoding video using skip mode
JP7271683B2 (ja) エンコーダ、デコーダ、および対応するイントラ予測方法
US11647222B2 (en) Method and apparatus for encoding/decoding image
KR102030136B1 (ko) 인트라 예측 방법과 이를 이용한 부호화 장치 및 복호화 장치
KR102033106B1 (ko) 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
US20230269367A1 (en) Method and apparatus for encoding/decoding an image signal
KR20090058954A (ko) 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치
KR102616714B1 (ko) 광학 흐름 정제를 위한 조기 종료
EP2497271A2 (en) Hybrid video coding
KR20130004173A (ko) 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치
CN113508592A (zh) 编码器、解码器及相应的帧间预测方法
CN113615194B (zh) 使用抽取预测块的dmvr
CN112335243A (zh) 影像编码/解码方法及装置
CN113632466A (zh) 视频数据的帧间-帧内预测模式
KR102660120B1 (ko) 이중 예측 옵티컬 플로 계산 및 이중 예측 보정에서 블록 레벨 경계 샘플 그레이디언트 계산을 위한 정수 그리드 참조 샘플의 위치를 계산하는 방법
KR20190115426A (ko) 영상 부호화/복호화 방법 및 장치
KR20220137935A (ko) 레지듀얼 코딩에 대한 영상 디코딩 방법 및 그 장치
CN114402620A (zh) 用于视频编解码的交叉分量自适应环路滤波的比特移位
KR20160091392A (ko) 이미지를 인코딩하고 디코딩하기 위한 방법, 이미지를 인코딩하고 디코딩하기 위한 디바이스 및 상응하는 컴퓨터 프로그램
CN112889280B (zh) 用于数字图像/视频材料的编码和解码的方法和装置
KR20190142750A (ko) 영상 부호화/복호화 방법 및 장치
CN110536133B (zh) 视频数据解码方法及装置
CN113170141A (zh) 帧间预测方法和相关装置
KR20190142748A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체